数据库同步的制作方法_2

文档序号:8516057阅读:来源:国知局
示出根据本发明的实施例的修改主版本号时的主数据库和从数据库之间的消息的交换的流程图。
【具体实施方式】
[0058]参考图1,其中示出了根据本发明的优选实施例的无绳终端2的示意图。
[0059]终端2包括例如根据DECT标准通过低速率无线电链路8连接的基站4和手持送受话机6。
[0060]基站4还通过诸如因特网的网络12链接到诸如操作者服务器的远程服务器10。
[0061]基站4包括用于存储主数据库16和日记18的主存储器14。其还包括主组织器20和通知模块22,主组织器20用于通过根据主数据库16的项在所述数据库中的进入顺序,对所述数据库的这些项进行排序,将主数据库的数据组织为项的FIFO列表,使得最新的项在列表的末尾,而最老的项在列表的开头。
[0062]主数据库16的数据例如包括电话簿、呼叫列表、诸如SMS(短消息服务,ShortMessage Service)的消息等。
[0063]日记18的数据包括对主数据库16的项进行的改变的至少一部分的历史。
[0064]手持送受话机6包括用于存储从数据库26的从存储器24。其还包括从组织器28、接收器模块30和同步模块32,从组织器28用于通过根据从数据库16的项在所述数据库中的进入顺序,对所述数据库的这些项进行排序,将从数据库的数据组织为项的FIFO列表,使得最新的项在列表的末尾,而最老的项在列表的开头,接收器模块30用于接收主数据库16中的改变的通知,同步模块32用于将通知的改变应用到从数据库26。
[0065]图2示出了数据库16、26的状态的示例,其中,这些数据库是同步的,并且两者用同一版本号表示,即,从数据库26具有等于主数据库16的主版本号Vbi的从版本号。
[0066]主数据库16包括分别用标识符ID1' ID2, ID3, 104和版本号v P v2、V2,力表示的项EMpEM2、EM3、EM4。项EMpEMpEMpEi^根据其在主数据库16中的进入顺序进行排序。因此,EM1是最老的项,EM4是最新的项。因此,称为第一主标识符的主数据库16的第一个标识符等于1,而称为最后的主标识符的主数据库16的最后的标识符等于4。
[0067]从数据库26包括项ESp ES2, ES3, ES4?因为从数据库26与主数据库16同步,因此它们具有相同的项。因此,ESpES^ESpES4分别用标识符ID ^ ID2, ID3.104和版本号v Pv2、v2, V1表示。项ES P ES2, ES3, ES4根据其在从数据库26中的进入顺序进行排序。因此,ES1是最老的项,并且ES4是最新的项。因此,称为第一从标识符的从数据库26的第一个标识符等于1,而称为最后的从标识符的从数据库16的最后的标识符等于4。
[0068]优选地,在项本身有改变时,递增项的版本号。例如,在包括联系人的列表的电话簿的情况下,在对应于项的联系人的号码和/或姓名和/或地址发生了改变时,递增版本号。
[0069]在这里呈现的示例中,具有版本号V1的项EMjP EM4自从它们被创建起未发生改变,而项EMjP EM 3改变了一次。
[0070]更具体地,以包括行的表的形式排列存储在日记18中的历史,每一行至少包含主版本号、改变后的相关项的标识符和改变的性质。优选地,为了具有较小大小的历史,在历史中仅登记项的更新或移除。
[0071]被分割为图3A、3B和3C的图3示出了当由手持送受话机6发起所述数据库中的变化时数据库16、26的演变。
[0072]图3A的流程图示出了在从数据库26中添加新的项情况。根据FIFO原则,将该项添加在项的列表的末尾。项ES5首先被初始化为具有两者都等于零的标识符和版本号。
[0073]当在步骤100向基站4告知ES5的添加时,例如在手持送受话机6锁定到基站4时,根据FIFO原则,在主数据库16中在项的列表的末尾创建新的项EM5。新的项EM5具有标识符105和版本号V i,它们由基站4分配并且在步骤102发送到手持送受话机6,以更新特征,它然后变为ID 5和V i。
[0074]图3B的流程图示出了在从数据库26中更新已有项情况。ES2的版本号首先由手持送受话机6固定为零。
[0075]当在步骤104向基站4告知ES2的更新时,例如在手持送受话机6锁定到基站4时,其使EM2的版本号递增,其然后变为V 3。在步骤106,将该新的版本号发送到手持送受话机6,以更新版本号,其然后变为V 30
[0076]图3C的流程图示出了在从数据库26中移除已有项情况。
[0077]当在步骤108向基站4告知移除时,例如在手持送受话机6锁定到基站4时,其删除EM3,并且在SllO通知手持送受话机6。
[0078]图4示出了在基站4的层级向主数据库16的新项添加的步骤。
[0079]在步骤120,向基站4告知例如由终端2的用户做出的添加新项的请求。其检查该新的项是否已经在主数据库16中存在。如果其已经存在,则更新结束并且告知用户。
[0080]如果该项不存在,则在步骤122,基站4使主版本号递增,其然后变为VB2。
[0081]然后,在步骤124,主组织器20根据FIFO原则,在主数据库16中的最后的位置添加该新的项。在步骤126,通知模块22向手持送受话机6告知主版本号的改变。
[0082]然后,执行相应地更新从数据库26的同步步骤。这些步骤将在下面参考图7和8进行描述。
[0083]图5示出了在基站4的层级从主数据库16中的项移除的步骤。
[0084]在步骤130,向基站4告知例如由终端2的用户做出的删除项的请求。
[0085]然后,在步骤132,基站4使主版本号递增,然后其变为VB2。
[0086]然后,在步骤134,主组织器20删除该项,并且检查所述项是否是主数据库16的第一项,即所述项是否位于第一位置。
[0087]如果所述项是第一项,则在步骤136,主组织器20从历史表中删除与具有比主数据库16的新的第一标识符小的标识符的项相关的所有行,即其删除与比所删除的项更老的项相关的所有事件。
[0088]如果所述项不是第一项,则在步骤138,主组织器20在历史表中添加登记与新的主版本号相关联的所删除的项的移除的行。
[0089]在步骤140,通知模块22向手持送受话机6告知主版本号的改变。
[0090]然后,执行相应地更新从数据库26的同步步骤。这些步骤将在下面参考图7和8进行描述。
[0091]图6示出了在基站4的层级主数据库16中的项更新的步骤。
[0092]在步骤150,向基站4告知例如由终端2的用户做出的更新项的请求。
[0093]然后,在步骤152,基站4使主版本号递增,然后其变为VB2。
[0094]然后,在步骤154,主组织器20通过使项版本号递增,来更新该项版本号。
[0095]在步骤156,主组织器20从历史表中删除与所更新的项相关的,即其中存在所述项的标识符的所有行。
[0096]在步骤158,主组织器20在历史表中添加登记与新主版本号相关联的该项的更新的行。
[0097]在步骤160,通知模块22向手持送受话机6告知主版本号的改变。
[0098]然后,执行相应地更新从数据库26的同步步骤。这些步骤将在下面参考图7和8进行描述。
[0099]图7示出了在接收器模块30接收到主版本号改变的通知之后,由手持送受话机6执行的步骤。
[0100]在步骤180,手持送受话机6的同步模块32向基站4发送获得主数据库16发生的改变的列表的请求。其在该请求中包含第一从标识符、最后的从标识符和从版本号。
[0101]在接收到该请求之后,基站4将第一从标识符与第一主标识符进行比较。
[0102]如果第一从标识符大于第一主标识符,则在步骤181 (图8),基站4指示手持送受话机6删除具有小于第一主标识符的标识符的项。然后,在步骤182,同步模块32在从数据库26中删除所述具有比第一主标识符更小的标识符的项。
[0103]如果第一从标识符等于第一主标识符,则存在几种情况。
[0104]如果最后的主标
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1