《用于支持无线通信装置间的群组通信的改进型数据库架构.pdf》由会员分享,可在线阅读,更多相关《用于支持无线通信装置间的群组通信的改进型数据库架构.pdf(17页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102067641A43申请公布日20110518CN102067641ACN102067641A21申请号200980122697722申请日2009060912/140,98120080617USH04W8/18200601G06F17/3020060171申请人高通股份有限公司地址美国加利福尼亚州72发明人拉申古普塔吉德亨德朗塞拉穆图74专利代理机构北京律盟知识产权代理有限责任公司11287代理人宋献涛54发明名称用于支持无线通信装置间的群组通信的改进型数据库架构57摘要本发明提供一种用于持续更新由多个应用程序线程进行存取的大的且实质上持续改变的数据集的系统及方法,所述。
2、数据集例如为无线通信装置的通信群组中的成员的群组身份数据库。第一服务器保持所述群组身份数据库,且随着所述第一服务器上的应用程序线程对所述数据库进行存取以建立群组通信,第二服务器发送新群组身份数据以更新所述数据库,其中所述新数据作为离散的有序块而到达。用所述新数据块的排序信息对第一服务器驻留数据索引表进行更新,且第一服务器驻留检查点设置线程将所述新数据块的所述排序信息放置到检查点设置高速缓冲存储器中,且随着所述新数据块被更新到所述群组身份数据库中而对所述排序信息进行检查点设置,且对照所述数据索引表验证所述数据的所述排序或版本。30优先权数据85PCT申请进入国家阶段日2010121686PCT申。
3、请的申请数据PCT/US2009/0466732009060987PCT申请的公布数据WO2009/155162EN2009122351INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书8页附图5页CN102067651A1/3页21一种用于持续更新由多个应用程序线程进行存取的较大的且实质上持续改变的数据集的系统,其包含第一服务器,其经配置以选择性地控制实质上持续改变的第一数据集,所述第一服务器包括驻留在其上的多个应用程序线程,包括检查点设置线程,所述第一服务器进一步包括检查点设置高速缓冲存储器及数据索引表,其中所述第一数据集实质上一致地至少由驻留在所述第一服务器上。
4、的所述应用程序线程进行存取;以及第二服务器,其经配置以选择性地将新数据从第二数据集发送到所述第一服务器以包含到所述第一数据集中,所述新数据由离散的有序块组成,其中所述数据索引表进一步含有保持在所述第二数据集内的数据块的排序信息,且随着在所述第一服务器处接收到来自所述第二服务器的新数据块而更新所述数据索引表,且其中,随着在所述第一服务器处接收到来自所述第二服务器的新数据块,至少将所述数据块的所述排序信息放置到所述检查点设置高速缓冲存储器中,且接着针对待包括在所述第一数据集中的新数据的每一块,所述检查点设置线程将所述数据索引表中的所述数据块的所述排序信息与所述检查点设置高速缓冲存储器中的所述数据块。
5、的所述排序信息进行比较,且在比较指示待包括在所述第一数据集中的所述数据块的排序的正确的排序信息时,所述检查点设置线程将所述数据块包括到所述第一数据集中,否则,在所述比较指示待包括在所述第一数据集中的所述数据块的不正确的排序信息时,所述检查点设置线程舍弃所述数据块且等待来自所述检查点设置高速缓冲存储器的正确排序的所述数据块。2根据权利要求1所述的系统,其中所述检查点设置线程进一步将具有正确的排序信息的所述数据块放置到所述第一服务器的存储器中。3根据权利要求1所述的系统,其中所述第一服务器进一步经配置以选择性地向所述第二服务器请求新数据。4根据权利要求1所述的系统,其中在所述比较指示待包括在所述第。
6、一数据集中的所述数据块的不正确的排序信息时,所述检查点设置线程进一步向所述第二服务器请求正确排序的所述数据块。5根据权利要求1所述的系统,其中所述第一数据集为用于无线通信装置的通信群组的群组身份数据库。6根据权利要求5所述的系统,其中所述第一服务器为用于无线通信装置的通信群组的群组通信服务器。7根据权利要求5所述的系统,其中所述应用程序线程对所述第一数据集进行存取以建立用于无线通信装置的通信群组的群组通信。8一种用于持续更新由多个应用程序线程进行存取的大的且实质上持续改变的数据集的方法,其包含在第一服务器处接收由离散的有序块组成的新数据,所述第一服务器经配置以选择性地控制实质上持续改变的第一数。
7、据集,所述新数据来自第二数据集,且所述第一服务器包括驻留在其上的多个应用程序线程,包括检查点设置线程,所述第一服务器进一步包括检查点设置高速缓冲存储器及数据索引表,其中所述第一数据集实质上连续地至少由驻留在权利要求书CN102067641ACN102067651A2/3页3所述第一服务器上的所述应用程序线程进行存取;随着在所述第一服务器处接收到来自的新数据块而更新所述数据索引表,所述数据索引表含有保持在所述第二数据集内的数据块的排序信息;将所述数据块的所述排序信息放置到所述检查点设置高速缓冲存储器中;针对待包括在所述第一数据集中的新数据的每一块,所述检查点设置线程将所述数据索引表中的所述数据块。
8、的所述排序信息与所述检查点设置高速缓冲存储器中的所述数据块的所述排序信息进行比较,且在所述比较指示待包括在所述第一数据集中的所述数据块的排序的正确的排序信息时,所述检查点设置线程将所述数据块包括到所述第一数据集中,且否则,在所述比较指示待包括在所述第一数据集中的所述数据块的不正确的排序信息时,所述检查点设置线程舍弃所述数据块且等待来自所述检查点设置高速缓冲存储器的正确排序的所述数据块。9根据权利要求8所述的方法,其进一步包含所述检查点设置线程将具有正确的排序信息的所述数据块放置到所述第一服务器的存储器中。10根据权利要求8所述的方法,其进一步包含所述第一服务器选择性地向第二服务器处的所述第二数。
9、据集请求新数据。11根据权利要求10所述的方法,其进一步包含在所述比较指示待包括在所述第一数据集中的所述数据块的不正确的排序信息时,所述检查点设置线程向所述第二服务器请求正确排序的所述数据块。12根据权利要求8所述的方法,其中所述第一数据集为用于无线通信装置的通信群组的群组身份数据库,且所述方法进一步包含由一个或一个以上应用程序线程对所述第一数据集进行存取以建立用于无线通信装置的通信群组的群组通信。13一种服务器,其经配置以选择性地控制实质上持续更新且改变的驻留的数据集,所述服务器包含驻留在其上的多个应用程序线程,包括检查点设置线程、检查点设置高速缓冲存储器;数据索引表,第一数据集,其实质上连。
10、续地至少由驻留在所述第一服务器上的所述应用程序线程进行存取,所述第一数据集用来自第二数据集的数据块至少周期性地更新,所述第二数据集由离散的有序块组成;其中所述数据索引表随着在所述服务器处接收到来自所述第二数据集的新数据块而更新,所述数据索引表含有保持在所述第二数据集内的数据块的排序信息;其中,随着在所述服务器处接收到新数据块,至少将所述数据块的所述排序信息放置到所述检查点设置高速缓冲存储器中,且接着针对待包括在所述第一数据集中的新数据的每一块,所述检查点设置线程将所述数据索引表中的所述数据块的所述排序信息与所述检查点设置高速缓冲存储器中的所述数据块的所述排序信息进行比较,且在所述比较指示待包括。
11、在所述第一数据集中的所述数据块的排序的正确的排序信息时,所述检查点设置线程将所述数据块包括到所述第一数据集中,否则,在所述比较指示待包括在所述第一数据集中的所述数据块的不正确的排序信息权利要求书CN102067641ACN102067651A3/3页4时,所述检查点设置线程舍弃所述数据块且等待来自所述检查点设置高速缓冲存储器的正确排序的所述数据块。14根据权利要求13所述的服务器,其中所述检查点设置线程进一步将具有正确的排序信息的所述数据块放置到所述服务器的存储器中。15根据权利要求13所述的服务器,其中所述服务器进一步经配置以选择性地向第二服务器请求新数据。16根据权利要求15所述的服务器,。
12、其中在所述比较指示待包括在所述第一数据集中的所述数据块的不正确的排序信息时,所述检查点设置线程进一步向所述第二服务器请求正确排序的所述数据块。17根据权利要求13所述的服务器,其中所述第一数据集为用于无线通信装置的通信群组的群组身份数据库。18根据权利要求13所述的服务器,其中所述第一服务器为用于无线通信装置的通信群组的群组通信服务器。19根据权利要求17所述的服务器,其中所述应用程序线程对所述第一数据集进行存取以建立用于无线通信装置的通信群组的群组通信。20一种服务器,其经配置以选择性地控制实质上持续更新且改变的数据集,所述服务器包含用于控制驻留在其上的多个驻留的应用程序线程的装置,用于存储。
13、检查点设置数据的装置;用于存储数据索引的装置;用于存储第一数据集的装置,所述第一数据集实质上一致地至少由所述用于控制所述应用程序线程的装置进行存取,用于用来自第二数据集的数据块至少周期性地更新所述第一数据集的装置;其中所述用于存储数据索引的装置随着在所述服务器处接收到新数据块而进一步更新所述数据索引,所述数据索引含有保持在所述第二数据集内的数据块的排序信息;其中所述用于存储检查点设置数据的装置进一步存储来自所述第二数据集的所述数据块的所述排序信息;用于将所述用于存储数据索引的装置中的所述数据块的所述排序信息与所述用于存储检查点设置数据的装置中的所述数据块的所述排序信息进行比较的装置,且其中,针。
14、对待包括在所述第一数据集中的新数据的每一块,在所述比较指示待包括在所述第一数据集中的所述数据块的排序的正确的排序信息时,所述用于更新的装置接着用所述数据块更新所述第一数据集,否则,在所述比较指示待包括在所述第一数据集中的所述数据块的不正确的排序信息时,所述用于更新的装置接着舍弃所述数据块且等待来自所述用于存储检查点设置数据的装置的正确排序的所述数据块。权利要求书CN102067641ACN102067651A1/8页5用于支持无线通信装置间的群组通信的改进型数据库架构技术领域0001本发明涉及计算机数据库结构。更明确地说,本发明涉及一种可缩放且多线程的数据库架构,其格外容错且有利于在无线通信装。
15、置的通信群组间的群组通信控制中使用。背景技术0002存在一种无线电信服务,其提供快速的一对一或一对多的通信,所述通信一般被称为“即按即说”PTT能力。用于通信的无线装置的接收者装置的特定PTT群组通常由运营商建立,且保持于可由建立且控制群组通信的服务器进行存取的数据库上。通常由无线装置上的激活讲话者与群组的每一成员装置之间的半双工链路的单个按钮推动来启始PTT通信连接,且一旦释放所述按钮,所述装置便可接收在释放所述按钮后传入的PTT发射。在一些布置中,PTT讲话者将具有在所述讲话者讲话时其它群组成员不能讲话的“发言权”,且取决于通信服务器来确定哪个装置具有所述发言权。一旦所述讲话者释放所述PT。
16、T按钮,所述群组中的任何其它个别成员便可按下其PTT按钮且其将具有发言权。0003当数据库例如,保持PTT群组的群组信息的数据库需要用新信息来持续更新时发生问题,例如,在运营商处正在添加新PTT群组,但由于发生新群组通信,所以仍对所述新PTT群组进行存取。因此,运营商或其它服务器需要将新群组数据发射到通常可由群组通信服务器进行存取的数据库,使得所述群组通信服务器可在存储器中按序更新其记录,且还可按序对其数据库中的数据执行检查点设置,例如,对由运营商或其它实体提供的正确的群组信息进行匹配。0004此更新通常在运营商服务器在多个包中发送新数据时发生,其中每一包具有按序存储的多个记录。群组通信服务器。
17、或其它接收服务器产生用于每一传入的包的新线程,且接着更新服务器的存储器且对其执行检查点设置使其进入数据库。随着较大量的记录及在更新数据库时对数据库的几乎持续的存取,失效的更新的可能性增加。而且,如果在按序发送新数据时发生崩溃或失效的发射使得需要重启接收服务器,那么所述接收服务器只能从检查点设置读取那些按序存储的记录,且否则将需要请求运营商服务器用来自其从检查点设置按序读取的最后的记录的数据来再次更新接收服务器,这在最坏的情况下是从开端重新开始数据发射。0005需要持续更新及存取的数据库的此问题的常见解决方案是使用用于传入包的队列,且接着选择用于按序更新的特定包。一旦应用程序线程按序控制包,包排。
18、序就将在高速缓冲存储器中更新且还将形成用于确定更新已进行到什么程度的检查点设置。然而,如果在为了更新过程而定位正确排序的包之前填充队列,那么在例如因特网或其它TCP/IP交换网络等包网络中常见的包的排序接收中的错误将导致存储失效。0006因此,提供改进的数据库架构将是有利的,所述数据库架构将在没有重大的失效风险及无需重新发送整个新数据发射的情况下,可靠地允许新的有序数据的接收及用新数据的正确排序更新数据库。对数据库内的数据进行的更新不应干扰其它应用程序对正在更新的数据库进行的存取。因此,本发明主要针对提供此类改进的数据库架构。说明书CN102067641ACN102067651A2/8页6发明。
19、内容0007简要地来说,本发明是针对允许对由多个应用程序线程进行存取的较大的且实质上持续改变的数据集的持续更新的架构,所述数据集例如无线通信装置的通信群组中的成员的群组身份数据库。第一服务器对群组身份数据库进行存取,且随着应用程序线程对数据库进行存取以在成员无线通信装置间建立群组通信,第二服务器例如运营商服务器发送新群组身份数据以更新数据库,其中新数据作为离散的有序块而到达。用新数据块的排序信息对第一服务器处的数据索引表进行更新,且第一服务器上的检查点设置线程将新数据块的排序信息放置到检查点设置高速缓冲存储器中,且随着新数据块被更新到群组身份数据库中而对排序信息执行检查点设置,以进而随着从检查。
20、点设置高速缓冲存储器中取出数据以更新存储器中的数据集来对照数据索引表检验数据的排序或版本。以此方式,本架构并不依赖于使用单个高速缓冲存储器、缓冲器或队列来接收传入的数据块且还对插入存储器中的块执行检查点设置。0008在一个实施例中,用于持续更新由多个应用程序线程进行存取的较大的且实质上持续改变的数据集的系统包括第一服务器,所述第一服务器经配置以选择性地控制实质上持续改变的第一数据集例如通信群组身份数据库,其中所述第一服务器包括驻留在其上的多个应用程序线程,包括检查点设置线程,且所述第一服务器进一步包括检查点设置高速缓冲存储器及数据索引表,其中第一数据集实质上一致地至少由驻留在第一服务器上的应用。
21、程序线程进行存取。所述系统具有第二服务器,其经配置以选择性地将新数据例如新群组识别信息,所述新数据由离散的有序块组成从第二数据集发送到第一服务器以包含在第一数据集中。当接收到新数据时,更新数据索引表且至少将数据块的排序信息放置到检查点设置高速缓冲存储器中。针对待包括在或更新到第一数据集中的新数据的每一块,检查点设置线程将数据索引表中的数据块的排序信息与检查点设置高速缓冲存储器中的数据块的排序信息进行比较,且在比较指示待包括在第一数据集中的数据块的排序的正确的排序信息时,检查点设置线程将所述数据块包括到第一数据集中;否则,在所述比较指示待包括在第一数据集中的数据块的不正确的排序信息时,检查点设置。
22、线程舍弃所述数据块且等待来自检查点设置高速缓冲存储器的正确排序的数据块。或者,检查点设置线程可向第二服务器请求遗漏的数据块。0009在一个实施例中,用于持续更新由多个应用程序线程进行存取的较大的且实质上持续改变的数据集的方法包括在第一服务器处接收新数据的步骤,所述新数据由离散的有序块组成,所述第一服务器经配置以选择性地控制实质上持续改变的第一数据集,所述新数据来自第二数据集,且所述第一服务器包括驻留在其上的多个应用程序线程,包括检查点设置线程,且所述第一服务器进一步包括检查点设置高速缓冲存储器及数据索引表,其中第一数据集实质上连续地至少由驻留在第一服务器上的应用程序线程进行存取。接着,随着在第。
23、一服务器处接收到来自的新数据块而更新数据索引表,其中数据索引表含有保持在第二数据集内的数据块的排序信息,且将数据块的排序信息放置到检查点设置高速缓冲存储器中。接着,针对待包括在第一数据集中的新数据的每一块,检查点设置线程将数据索引表中的数据块的排序信息与检查点设置高速缓冲存储器中的数据块的排序信息进行比较,且在所述比较指示待包括在第一数据集中的数据块的排序的正确的排序信息时,检查说明书CN102067641ACN102067651A3/8页7点设置线程将所述数据块包括到第一数据集中;否则,在所述比较指示待包括在第一数据集中的数据块的不正确的排序信息时,检查点设置线程舍弃所述数据块且等待来自检查。
24、点设置高速缓冲存储器的正确排序的数据块。0010在一个实施例中,提供经配置以选择性地控制实质上持续更新且改变的驻留的数据集的服务器,其中所述服务器包括多个驻留的应用程序线程,包括检查点设置线程、检查点设置高速缓冲存储器、数据索引表,及实质上连续地至少由驻留在第一服务器上的应用程序线程进行存取的第一数据集。用来自第二数据集的数据块来至少周期性地更新第一数据集,其中第二数据集由离散的有序块组成。在服务器上,随着接收到来自第二数据集的新数据块而更新数据索引表,其中所述数据索引表含有保持在第二数据集内的数据块的排序信息。因此,随着在服务器处接收到新数据块,至少将数据块的排序信息放置到检查点设置高速缓冲。
25、存储器中或者,可将数据的整个块放置于其中,且接着针对待包括在第一数据集中的新数据的每一块,检查点设置线程将数据索引表中的数据块的排序信息与检查点设置高速缓冲存储器中的数据块的排序信息进行比较,且在所述比较指示待包括在第一数据集中的数据块的排序的正确的排序信息时,检查点设置线程将所述数据块包括到第一数据集中。否则,在所述比较指示待包括在第一数据集中的数据块的不正确的排序信息时,检查点设置线程舍弃所述数据块或致使所述块不被写入且等待来自检查点设置高速缓冲存储器的正确排序的数据块。0011因此,本架构及对应的系统、方法及组件是有利的,因为其允许新的有序数据的接收及用新数据的正确的排序对数据集的更新,。
26、因此使失效的风险及重新发送整个新数据发射的需要最小化。在添加正确排序的新数据时,仍可由其它应用程序对数据集数据库进行存取。而且,用本发明架构可容易地缩放数据集。0012在审阅附图说明、具体实施方式及权利要求书之后,本发明的其它目的、特征及优点将变得显而易见。附图说明0013图1为无线网络的代表图,其中无线电信装置的指定的PTT群组与群组通信服务器通信,且运营商服务器将更新的群组记录发送到群组通信服务器。0014图2为处于共同蜂窝式电信配置中的无线网络的一个实施例的代表图,其具有控制PTT群组成员的无线电信装置之间的通信的群组通信服务器。0015图3为说明群组通信服务器或区域群组权力机构从运营商。
27、服务器检索新群组数据且更新局部存储的群组信息的代表图。0016图4为用于在群组通信服务器处更新群组身份数据库的过程的一个实施例的流程图。0017图5为用于使群组通信服务器处置传入的包及用所述传入的包更新驻留的高速缓冲存储器的过程的一个实施例的代表图。0018图6A为用于使群组通信服务器随着包从检查点设置高速缓冲存储器取出以写入到存储器而对包执行检查点设置的过程且如果包无序的一个实施例的代表图。0019图6B为用于使群组通信服务器随着包从检查点设置高速缓冲存储器取出以写入到存储器而对包执行检查点设置且如果包有序则将包更新到存储器的过程的一个实施例说明书CN102067641ACN10206765。
28、1A4/8页8的代表图。具体实施方式0020在此描述中,术语“通信装置”、“无线装置”、“无线通信装置”、“PTT通信装置”、“手持式装置”、“移动装置”及“手持机”可互换地使用。术语“呼叫”及“通信”也可互换地使用。在本文中使用术语“应用程序”意在涵盖可执行及不可执行的软件文件、原始数据、聚合数据、修补程序及其它码段。术语“示范性”意味着所揭示的元件或实施例仅为一实例,且不指示用户的任何偏好。另外,相同的数字在所有若干视图中指代相同的元件,且除非在描述中另有指定,否则冠词“一”及“所述”包含复数参考。0021参看各图其中相同数字始终表示相同元件,图1说明用于提供用于PTT群组12中的无线电信。
29、装置例如无线电话14、智能寻呼机16及个人数字助理PDA18的群组身份数据库的更新及存取的改进的架构的系统10的一个实施例,其中其它无线电信装置在无线网络20上。在系统10中,每一无线电信装置14、16、18能够在无线通信网络20上选择性地与多组中的一目标组的一个或一个以上其它无线电信装置直接或间接通信。举例来说,移动电话14的目标组可为通信群组12中的所有装置或其子组,例如寻呼机16及PDA18。0022通常,无线电信装置例如移动电话14通知此处展示为群组通信服务器32的在无线网络20上存在于服务器侧LAN30上的群组通信计算机装置所述无线装置存在于即,为可存取的无线网络20上。群组通信计算。
30、机装置可保持无线网络20上的群组成员装置上的信息或与由第一无线电信装置指定的所述组目标无线电信装置共享此信息,或还可与驻留在服务器侧LAN30上或可在无线网络20上进行存取的其它计算机装置共享此信息。群组通信服务器32可具有附接的或可存取的群组身份数据库34以存储无线装置的群组识别数据。此处,存在于服务器侧LAN30上的或对于群组通信服务器32为可以电子方式存取的运营商服务器36将把群组身份信息发送到群组通信服务器32以用于对服务器负责代管的群组成员信息进行更新。应了解,驻留在服务器侧LAN30上或在无线网络20上或通常在因特网上的计算机组件的数目不受限制。0023可经由通信的无线电信装置14。
31、、16、18与目标组的一个或一个以上其它无线电信装置之间的半双工信道来建立例如PTT语音通信等群组通信。而且,群组通信计算机装置32可能试图桥接与目标组的所请求的直接通信而不知晓目标组的实际上接收所发送的PTT通信的无线电信装置。或者,群组通信计算机装置32可告知PTT发射无线电信装置14、16、18不能桥接到目标组12的直接通信。此外,虽然此处将群组通信计算机装置32展示为具有群组识别数据的附接数据库34,但其它计算机装置可具有驻留在其上的群组身份数据,且执行本文中所描述的所有存储功能。举例来说,群组通信服务器32可为区域群组权力机构,其仅专用于管理向其它服务器控制通信群组请求的群组信息。因。
32、此,当前系统10为用于在PTT环境中的两个服务器之间发射数据的可缩放的多线程且容错的架构。0024图2为常见蜂窝式电信配置中的无线网络的一个实施例的代表图,其具有控制PTT系统中的所设置的群组成员装置70、72、74、76的无线通信装置之间的通信的一系列群组通信计算机装置群组通信服务器32。所述无线网络仅是示范性的,且可包含远程模块借以在彼此间及/或在无线网络20的组件包含但不限于无线网络运营商及/或服说明书CN102067641ACN102067651A5/8页9务器间以空中方式通信的任何系统。一系列群组通信服务器32连接到群组通信服务器LAN50。无线通信装置14、16、18可使用数据服务。
33、选项例如EVDO或CDMA2000标准中的信号向群组通信服务器32请求包数据会话。0025群组通信服务器32连接到无线服务提供商的包数据服务节点PDSN,例如PSDN52,其在此处展示为驻留在运营商网络54上。每一PSDN52可经由包控制功能PCF62而与基站60的基站控制器64介接。PCF62通常位于基站60中。运营商网络54控制发送到消息接发服务控制器“MSC”58的消息一般呈数据包的形式。运营商网络54通过网络、因特网及/或POTS“普通常规电话系统”与MSC58通信。通常,运营商网络54与MSC58之间的网络或因特网连接传送数据,且POTS传送语音信息。MSC58可连接到一个或一个以上。
34、基站60。MSC58通常以类似于运营商网络的方式通过用于数据传送的网络及/或因特网及用于语音信息的POTS两者连接到分支到来源BRANCHTOSOURCE,BTS66。BTS66最终通过短消息接发服务“SMS”或此项技术中已知的其它空中方法无线地将消息广播到无线装置例如,蜂窝式电话70、72、74、76及从所述无线装置接收消息。还应注意,运营商边界及/或PTT经营商网络边界不抑制或禁止本文中所描述的对数据的共享。0026图3为说明区域群组权力机构RGA100或者群组通信服务器从运营商服务器102检索新群组数据且在群组身份数据库108上更新局部存储的群组信息的代表图。RGA100此处为一个或一个。
35、以上服务器经配置以在群组身份数据库108中选择性地控制实质上持续改变的第一数据集。RGA100包括驻留在其上的多个应用程序线程例如,线程112、114、116,且还包含检查点设置线程118。RGA100具有检查点设置高速缓冲存储器104及数据索引表106,其中群组身份数据库108至少由应用程序线程例如驻留在RGA100上的数据库存取线程38实质上且一致地进行存取尽管不必持续地存取,这在此处将建立群组通信。0027运营商服务器102或服务器或其它计算机装置选择性地将新数据以新通信群组记录的形式发送到RGA100从而使其包含到群组身份数据库108或其它数据集中。新群组数据由离散的有序块组成,其中随。
36、着在RGA100处接收新数据块,将更新数据索引表106以反映新数据块的排序信息。随着在RGA100处从运营商服务器102接收到新数据块,至少将数据块的排序信息且优选地数据块放置到检查点设置高速缓冲存储器104中。针对待包括在群组身份数据库108中的新数据的每一块,检查点设置线程118将数据索引表106中的数据块的排序信息与检查点设置高速缓冲存储器104中的数据块的排序信息进行比较,且在比较指示待包括在群组身份数据库108中的数据块的排序的正确的排序信息时,检查点设置线程118将所述数据块包括到群组身份数据库108中。否则,在所述比较指示待包括在群组身份数据库108中的数据块的不正确的排序信息时。
37、,检查点设置线程118舍弃所述数据块且等待来自检查点设置高速缓冲存储器104的正确排序的数据块。0028在一个实施例中,检查点设置线程118进一步将具有正确的排序信息的数据块放置到RGA100的群组身份数据库108中。RGA100可进一步经配置以选择性地例如经由请求线程110向运营商服务器102请求新数据。此处运营商服务器102还展示为与次级经营商数据库120联系,所述次级经营商数据库120向运营商服务器102提供新记录。而且,在所述比较指示待包括在群组身份数据库108中的数据块的不正确的排序信息时,检查点设置线程118可进一步向运营商服务器102请求正确排序的数据块。说明书CN1020676。
38、41ACN102067651A6/8页100029在操作中,对RGA100的存储器的更新可以任何次序执行,但必须追踪最后更新的版本号或作为数据项的“最后更新的版本号”的属性以检验群组身份数据库108为正确的且为最新的。还要求此操作使得如果更新超时,可向运营商服务器102作出请求以获得来自更新过程停止处的精确的记录数字。0030在一个实施例中,应用程序线程112、114、116一直等待来自运营商服务器102的数据包,且一旦包到达,任何线程就可对其进行处理,而与包是否有序无关。在包中包括有全局计数器“最后更新的版本号”以及具有作为开始记录数字,结束记录数字的键,值对的散列图HASHMAP。因此,当。
39、线程接收到“更新群组DEFREQ”包时,即当新数据传入时,检查点设置线程118首先检查记录数字且将此与“最后更新的版本号”匹配。如果其匹配,那么检查点设置线程118更新此包的最后更新的版本号结束记录数字。如果其并不匹配,那么检查点设置线程118将其添加到散列表。在对此包的处理结束之后,线程在散列表处进行快速的查找O1以查找其期望的下一包由于某一其它线程可能在此线程之前已更新所述包。如果线程发现所述包,那么线程用在散列表中找到的记录的结束版本号来更新最后更新的版本号且将记录从散列表中移除。因此,我们已在数据索引表106中针对“最后更新的版本号”维持了严格的排序。0031对对存储器或群组身份数据库。
40、108的更新进行检查点设置在RGA100失效之后必须严格地有序,所述过程可从检查点读取最后更新的版本号且接着向运营商服务器102要求剩余的版本号。在一个实施例中,将有两个表存储于“MYSQL”数据库中数据索引表106表高速缓冲存储器,其将含有运营商服务器102的记录的当前版本中存在的所有数据;以及检查点设置高速缓冲存储器104,其可为“经检查点设置的最后版本号”的表。检查点设置高速缓冲存储器104此处为表不同于用于更新RGA100的一般存储器高速缓冲存储器的表。经检查点设置的最后版本号中的版本号表示在群组身份数据库108中由检查点设置线程118按序进行检查点设置的最后的操作,且在此之前从检查点。
41、读取是安全的而不丢失任何信息。0032当检查点设置线程118从检查点设置队列104读取消息时,其首先查看属性“在存储器中经检查点设置的最后版本号”这与群组身份数据库108中的“经检查点设置的最后版本号”相同且确定所述消息为有序还是无序的。如果消息为无序的,那么检查点设置线程118将开始版本号及结束版本号作为键,值对存储于图中。图中优选地存在额外的字段,如果检查点设置线程118当前正进行检查点设置,那么检查点设置线程118将其设置为0,且如果检查点设置线程118已完成检查点设置,那么检查点设置线程118将其设置为1。当检查点设置线程118最终得到有序包通过查看经检查点设置的最后版本号时,所述检查。
42、点设置线程118对包进行检查点设置且以递归的方式查看数据索引表106以获得下一开始版本号且最终对此进行检查点设置使其到群组身份数据库108表“经检查点设置的最后版本号”。因此,在记录数字“经检查点设置的最后版本号”之下的每一记录与群组身份数据库108中一样被进行检查点设置。0033因此,在群组身份数据库108的更新期间的此检查点设置过程的一个实施例经展示于图4的流程图中。如步骤130处所示,接收传入的数据块或包,且接着将数据块放置到存储器高速缓冲存储器中如步骤132处所示,这通过工作线程WORKERTHREAD112、114来完成。在存储器图例如数据索引表106中如步骤134处所示更新数据块的。
43、说明书CN102067641ACN102067651A7/8页11版本,且接着由检查点设置线程118检索数据块以用于更新到群组身份数据库108中,如步骤134处所示。0034首先作出关于版本号对于数据块来说是否正确的确定如决策136处所示,且如果不正确,那么舍弃所述数据块如步骤140处所示,且可向运营商服务器102请求下一版本号或正确的版本如步骤142处所示,且所述过程在步骤136处返回以检索下一数据块。否则,如果版本号在决策138处为正确的,那么作出关于检查点设置高速缓冲存储器104中的检查点设置数字对于存储器中待更新的此块来说是否正确的确定,如决策144所示。0035如果在决策144处检查。
44、点设置数字不正确,例如如果所述块已被取出待写入或所述块遗漏,那么检查点设置线程118检查检查点设置队列或者检查点设置高速缓冲存储器104以获得正确的块如步骤146处所示,且接着在决策148处作出正确的检查点设置的确定。如果发现正确的经检查点设置的数据块,那么在数据集或此处为群组身份数据库108中更新数据块如步骤150处所示,更新检查点设置队列中的检查点且所述过程返回以检索用于更新的下一数据块步骤136处。否则,如果在决策148处未发现正确地经检查点设置的数据块,那么在步骤142处所述过程将向运营商服务器102请求所要数据块的正确的版本号,且接着返回以检索用于更新的下一数据块步骤136处。003。
45、6如果在决策144处存在经正确地检查点设置的数据块,那么更新所述数据块如步骤150处所示,且在检查点设置队列中更新检查点如步骤152处所示,且过程返回以检索用于更新的下一数据块步骤136处。由于新群组记录几乎持续地到达RGA100,所以当前过程在大多数例子中将为连续的,但所述过程可在不存在用于更新的数据块时结束,且在接收到新数据块时重新开始。0037图5为用于使群组通信服务器处置传入的包及用所述传入的包更新驻留的高速缓冲存储器的过程的时间线的一个实施例的代表图。此处,存在未决线程队列160,其保持传入的消息例如数据块或包,且工作线程112、114利用工作线程队列162,且工作线程更新群组高速缓。
46、冲存储器164,确定线程是否可将所述消息放置到存储器图中,且如果可以,那么向运营商服务器102确认接收,且在存储器图166中寻找下一开始数字,且接着在存储器168例如数据索引表106中更新最后版本号。因为数据索引表106为当前的,所以工作线程接着对记录进行处理且将所述消息添加到检查点设置队列170。0038图6A为用于使群组通信服务器或RGA随着消息被从检查点设置队列180取出以写入到群组身份数据库108而对消息进行检查点设置的过程的一个实施例的代表图。此处,检查点设置线程182从检查点设置队列180中拾取消息或数据块、包等,且所述检查点设置线程182从存储器186得到最后版本号以确定包是否有。
47、序,即是否为当前的。如果消息为无序的,那么更新存储器图184,此处通过将脏位值设置为零,从而指示检查点设置线程182具有的版本号为不正确的且将舍弃所述消息。在此实施例中,检查点设置线程182接着还检验消息的不正确的版本并未写入在群组身份数据库188中,或可另外确定正确的更新需要什么新数据。0039图6B为在图6A中正确的版本匹配之后的过程的一个实施例的代表图。因此,在检查点设置线程182已从检查点设置队列180中拾取消息或数据块、包等且检查点设置线程182从存储器186得到最后版本号以确定包是否有序之后,检查点设置线程182接说明书CN102067641ACN102067651A8/8页12着。
48、在存储器184中的现用图中确定下一开始版本号,且接着在存储器186中更新最后版本号这在此处也将会更新检查点设置队列180,且接着会将实际数据更新到群组身份数据库188中。应了解,来自对群组身份数据库188功能的更新的单个存储器更新可同时更新数据索引表106及检查点设置队列或高速缓冲存储器104。0040鉴于所述方法可在计算机平台上执行,因此可通过驻留在计算机可读媒体上的程序来执行这些步骤,其中所述程序引导一个或一个以上具有计算机平台的计算机装置来执行本文中所陈述的步骤。所述计算机可读媒体可为服务器的存储器,或可呈连接性数据库的形式。另外,所述计算机可读媒体可呈可加载到无线通信装置计算机平台上的。
49、次级存储媒体的形式,例如磁盘或磁带、光盘、硬盘、快闪存储器或此项技术中已知的其它存储媒体。0041在一个或一个以上示范性实施例中,所描述的功能可实施于硬件、软件、固件或其任一组合中。如果实施于软件中,那么可将所述功能作为一个或一个以上指令或代码而存储在计算机可读媒体上或经由计算机可读媒体发射。计算机可读媒体包括计算机存储媒体和通信媒体两者,通信媒体包括促进计算机程序从一处传送到另一处的任何媒体。存储媒体可为可由计算机存取的任何可用媒体。借助实例且并非限制,此类计算机可读媒体可包含RAM、ROM、EEPROM、CDROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令。
50、或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。并且,恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线DSL或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源发射软件,那么同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术包括于媒体的定义中。如本文中所使用,磁盘DISK及光盘DISC包括紧密光盘CD、激光光盘、光学光盘、数字多功能光盘DVD、软磁盘及蓝光光盘,其中磁盘通常利用磁性再生数据,而光盘使用激光光学地再生数据。以上内容的组合也应包括在计算机可读媒体的范围内。0042虽然已参考本发明的优选实施例特定。