非时间相关的数据库同步制造技术

技术编号:2862187 阅读:209 留言:0更新日期:2012-04-11 18:40
同步第一数据库与第二数据库,其中第一数据库位于一个移动终端中。为了避免发生错误的同步结果,如果移动终端的一个时钟相对于第二数据库的一个时钟改变时,无论何时检测到移动终端中的时钟已经被回拨,就设置一个指示器来表明应该执行一次完全同步。然后,当同步发生时,如果设置了该指示器,在第一数据库和第二数据库间执行完全同步。否则,可以使用变更日志执行一次快速同步。该指示器可以是数据库标识符变更的形式。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

技术介绍
本专利技术一般涉及通信系统,更具体地涉及提供用于数据库同步的技术,例如一个包括电话簿的数据库,该电话簿存储在蜂窝式无线通信系统移动终端的用户识别模块(SIM)中,和个人电脑(PC)中相应数据库之间的同步。在美国以及世界其它地方,蜂窝式电话工业在商业运营中获得了显著的发展。在主要大都市地区的增长远远超出预期,并迅速超出了系统的容量。如果这种趋势持续下去,该工业增长的影响不久将延伸到甚至是最小的市场。需要创新的解决方案来顺应这种增加容量的需求,并保持高质量服务以及避免价格增加。一种公认的趋势是以个人电脑发展为象征的所谓信息工业与以移动电话发展为象征的所谓通信工业的趋同化。两类设备都具有的特征是性能(硬件)迅速提高和应用(软件)能力的增长。在不久的将来,移动电话更直接地与其它信息设备进行通信从而交换信息是可能的,如与个人电脑PC交换信息。许多无线服务的用户也拥有个人电脑,并且,当每种设备在数据处理能力上更加完善时,这些用户就希望在各设备间交换数据,例如在存储于各设备中的数据库(如电话号码簿)之间交换数据。考虑FIG.1中描述的实例。其中,PC 10与移动电话20通过通信链路30连接在一起。通信链路30既可以是有线的也可以是无线(如,红外线)的链路。本领域的一般技术人员应该明白,虽然PC和移动电话被作为两个设备之间实现数据库同步的实例时,本专利技术不局限于这两类设备,事实上可以应用于任何两类设备之间进行数据库同步,例如电子记事簿,寻呼机等。该PC 10包括数据库40,例如,包括电话纪录或日历,移动电话20包括一个相应的数据库,它存储在用户识别模块(SIM)卡50中。在无线通信领域的一般技术人员应当知道,SIM卡50是一种可拆卸的智能卡,它为GSM无线通信标准而制造,是一种以可拆卸方式来便利地组合、存储相关移动用户信息要素的机制,此卡可以插入或从移动电话中拆卸。“同步”这个术语,用在这里是指两个或多个设备相关的数据库操作,它的意思是改变一个数据库的内容使它匹配或“镜像”另一个数据库的内容。依据惯例,为了同步数据库40和存储在SIM卡50中的数据库,逐条比较每个数据库的每条纪录是必要的。例如,存储在SIM卡50中的电话簿纪录数据库能通过链路30传输给PC10。然后,比较和更新每个数据库中的纪录,这样两个数据库就相互镜像。例如,数据库40中已有相关纪录的变更,但从移动电话20传输到PC10的这个版本数据库中没有,该变更就能够被替换回移动电话20中,以更新存储在SIM卡50中的数据库。这个同步过程(有时可选地称为“完全同步”或“慢速同步”)是复杂和耗时的。例如,仅仅识别SIM卡的数据库发生了什么变更通常就要求PC 10比较最近接收到的版本和以前存储的版本。为了解决这个问题,如附图2中所示在该设备中添加一个变更日志。此变更日志包括彼此间同步之后每一方数据库中操作的相关纪录的信息。此变更日志也纪录了两个数据库之间最近一次执行同步操作的时间,因此上一次更新以前的变更就能够被忽略。例如,变更日志可以在一部分内存中实现,为每次变更记录一个事件(如添加、删除或修改),事件发生的数据库记录的标识以及指示事件发生的时间标记。例如,如果PC 10的数据库40与移动电话20的SIM 50同步之后向PC 10的数据库40中添加一个电话纪录,然后这样一个标记就被添加到变更日志200中。同样地,如果移动电话20(和SIM卡50)的用户删除他或她的电话簿中的一条纪录,那么这个变更就会反映到变更日志210中。而且,如果变更日志为空,那么PC 10的数据库40就无需进行变更。在同步期间,使用变更日志200和210是具有优势的,只有从最近的上次同步更新以来的这些被修改、添加或删除的纪录(正如变更日志中纪录的一样)需要在设备之间传输。这样,此同步过程可以执行的更迅速,因此这个过程被称为“快速同步”。然而,在特定的环境下,甚至当变更日志以实现为能快速同步时,还是需要执行两个设备相应数据库的完全(如,慢速)同步。例如,如果用户复位或清除他或她的移动电话日历数据库,这种行为指定在两个数据库之间执行一次完全同步,这就是说,在这种情况下大量变更对于使用变更日志200和210来完成同步没有特别的益处。当快速同步可用时,由于,例如,通过随机地或递增地改变作为同步过程的一部分在两个设备之间传输的数据库标识符(DID)值,而完成调用两个数据库的完全同步。DID值的变更作为一个信号,告诉执行数据库同步的设备使用完全同步替代快速同步。接收设备(如,PC)比较从其它设备(如,移动电话)接收到的DID和以前存储的DID。如果它们相同,那么将使用快速同步。如果它们不同,就执行完全同步。令人遗憾,尽管它可以加速同步过程,增加变更日志引入另一个问题。更具体地,快速同步依赖于变更日志200、210中每个条目的时间标志的使用。时间标志表明一个具体的变更所发生的时间。当一个数据库的变更日志(如,SIM 50的变更日志210)被提供给另一个设备(如,PC 10),当修改一个数据库中某一条目同时另一个数据库的同一个条目发生不同的修改时,在另一个设备中的同步引擎(未显示)使用时间标志解决潜在的会发生的冲突。在这种情况下,规则是假设最近发生的变更是正确的。例如,考虑这种情况当每个设备中的数据库已经相互同步时,两个设备(表示为“设备1”和“设备2”)中都存在“A”记录。在同步之后,假设设备1中A记录在12:34被删除,然而设备2中的相同记录在12:40被修改。设备1和2进行下一次相互同步时,同步程序将检测到同一个记录在一方被删除,同时在另一方被修改。采用规则最近的修改是正确的,设备2中执行的对A记录的修改将通过把它拷贝到设备1中的方式保留下来。现在两个设备又同步了。可以看出,由于时间标志在同步过程中扮演如此重要的角色,设备的定时器必须非常精确、相互校准并且无变化。在移动设备中并不总是这种情况。移动设备的用户旅行到另一个时区因而改变设备时钟的时间,这是非常普遍的。但是,这会引发同步的问题,因为如果用户的定时器向前或向后调整,可能数据库最近的一次变更会不正确地表现为在上次同步操作以前已经发生了。其结果,这次变更将在同步工作中被忽略,实际上丢失了这次变更。图3和4解释由于改变设备时钟,当执行随后的数据库同步操作时,会导致错误结果发生的一些情况。首先参照附图3,这个时序图显示两个设备每一方的时钟和事件,表示为“设备1”和“设备2”。在时间T1,两个设备的时钟都读取为“下午1:00”,这时执行完一次快速数据库同步操作。如前面所述,这使这次同步的时间与其它事情一起被记录到变更日志200中。稍晚些时候,在表示为T2的时间,设备1的时钟被回拨,因而它现在读取为下午12:00(如,比下午1:00以前的一个时间)。例如,这可能是由于旅行通过一个或几个时区而发生的。在时间T2,设备1数据库中的记录“A”被改变。这个变更以及表示变更发生时间的时间标志=下午12:00一起被记录到变更日志200中。在随后的晚些时间,表示为时间T3,设备1的时钟显示为下午8:00,同时设备2的时钟显示为下午9:00。在T3这个时间,在设备1和设备2的各自数据库之间,另一次快速数据库同步操作被执行。作为这次同步操作的一部分,同步引本文档来自技高网...

【技术保护点】
一种同步第一数据库和第二数据库的方法,其中第一个数据库位于一个移动终端中,此方法包括:设置一个指示器来表明应该执行一次完全同步,以响应检测到该移动终端的一个定时器被回拨;以及如果设置了该指示器,就执行一次第一数据库和第二数据 库之间的完全同步。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:J比尔克勒L诺瓦克
申请(专利权)人:艾利森电话股份有限公司
类型:发明
国别省市:SE[瑞典]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1