首页> 中国专利> 通过比较代表信息的有效数据库同步

通过比较代表信息的有效数据库同步

摘要

一种使包括第一数据记录的第一数据库与包括第二数据记录的第二数据库同步的方法,所述方法包括:接收代表所述第二数据记录的信息;以及在与所述第二数据库的所述第二数据记录的单向同步中,修改所述第一数据库的所述第一数据记录,所述修改包括删除所述第一数据库中出现的所述第一数据记录中的一些第一数据记录,针对所述一些第一数据记录,在所述第二数据库中没有与之相对应的第二数据记录出现。

著录项

  • 公开/公告号CN101317164A

    专利类型发明专利

  • 公开/公告日2008-12-03

    原文格式PDF

  • 申请/专利权人 捷讯研究有限公司;

    申请/专利号CN200680044444.9

  • 申请日2006-06-15

  • 分类号G06F13/00;G06F17/30;

  • 代理机构中科专利商标代理有限责任公司;

  • 代理人王玮

  • 地址 加拿大安大略省

  • 入库时间 2023-12-17 21:10:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-09-07

    授权

    授权

  • 2009-01-28

    实质审查的生效

    实质审查的生效

  • 2008-12-03

    公开

    公开

说明书

技术领域

本发明一般地涉及便携式电子设备,更具体地,涉及将便携式电子设备处的数据与在通信网络具体化的数据同步。

背景技术

诸如无线个人数字助理(PDA)、智能电话以及具有无线能力的膝上型计算机之类的便携式电子设备获得了用于各种功能的广泛应用。这种设备通常用于通信目的,包括数据传输、以及在从诸如Mobitex和DataTAC之类的纯数据网络到诸如GSM/GPRS、CDMA、EDGE、UMTS和W-CDMA网络之类的复杂语音和数据网络的广泛的多种网络上运行。

这些便携式电子设备通常包括用于存储设备用户可选择性检索的数据的数据库。数据形成一系列数据记录,每个数据记录包括一个或多个字段。在设备操作期间,数据被检索和显示,或对用户可用。设备用户可以修改、添加或删除数据。

数据存储的进步伴随着便携设备的进步,来提供存储在电子设备处的数据的备份。通过对设备进行备份,可以在电子设备数据丢失的情况下恢复数据。可以通过电子设备与诸如桌上型电脑之类的计算站点之间的固定(有线)连接通信,对各种电子设备进行备份。一旦数据存储在计算站点处的数据库中,在计算站点处的用户可以修改、添加或删除所存储的数据。

其它便携式电子设备通过使用例如上述列出的网络的无线电接口,给计算站点提供其上存储的数据的备份。因而,通过无线电通信系统的无线电通信信道发送数据,从而形成便携式电子设备和远程站点(不通过有线通信连接的站点)之间的通信链路。此外,一旦数据存储在计算站点处的数据库中,可以在计算站点处修改、添加或删除所存储的数据。因而,当存储在便携式电子设备的数据库中的数据备份至计算站点时,数据也从计算站点传输到该便携式电子设备,以使便携式电子设备的数据库与计算站点的数据库同步。当计算站点上的数据记录不存在于便携式电子设备上时,或当计算站点的数据记录的内容(数据记录的字段)不同于便携式电子设备的数据记录的内容时,将附加数据记录或不同的数据记录传输到便携式电子设备。类似地,当便携式电子设备上的数据记录不存在于计算站点上时,或当便携式电子设备的数据记录的内容不同于计算站点的数据记录的内容时,将附加数据记录或不同的数据记录传输到计算站点。

由于可以将数据远程地传输很远的距离,所以通过无线电通信信道的数据同步明显地有优势。然而,通过无线电通信信道的数据同步的传统方式却有着缺点。这种数据同步的带宽消耗是最高的。如果传输许多记录,则需要大量的传输时间,意味着通信信道开启很长时间来传输数据记录,这样成本很高。

当从便携式电子设备删除数据时,从便携式电子设备将删除数据记录指示发送到计算站点,从而在计算站点处删除相应的数据记录。当在便携式电子设备操作期间删除许多记录时,便携式电子设备传输多个删除数据记录指示(一个数据记录删除指示针对便携式电子设备上删除的每个数据记录),需要其它传输时间和带宽。因而,虽然删除数据记录不需要传输完全的数据记录,但是必须针对每个删除的记录发送删除数据记录指示。

因而期望通过无线接口连接的数据库同步的改进。

发明内容

根据本申请的一个方面,提供一种方法,用于使包括第一数据记录的第一数据库与包括第二数据记录的第二数据库同步,所述方法包括接收代表第二数据记录的信息,以及在与第二数据库的第二数据记录的单向同步中,修改第一数据库的第一数据记录,所述修改包括删除第一数据库中出现的第一数据记录中的一些第一数据记录,针对所述一些第一数据记录,在第二数据库中没有与之相对应的第二数据记录出现。

根据本申请的另一方面,提供一种设备,用于使包括第一数据记录的第一数据库与包括第二数据记录的第二数据库同步。所述设备包括存储器设备,用于在第一数据库中存储第一数据记录;以及处理器,可操作地与存储器设备和传输和接收设备相耦合,用于接收代表第二数据记录的信息,以及用于在与第二数据库的第二数据记录的单向同步中,修改第一数据库的第一数据记录,所述修改包括删除第一数据库中出现的第一数据记录的一些第一数据记录,针对所述一些第一数据记录,在第二数据库中没有与之相对应的第二数据记录出现。

根据本申请的另一方面,提供一种计算机可读介质,所述介质具有在其中具体化的处理器执行的计算机可读代码,用于接收代表第二数据记录的信息,以及用于在与第二数据库的第二数据记录的单向同步中,修改第一数据库的第一数据记录,所述修改包括删除第一数据库中出现的第一数据记录的一些第一数据记录,针对所述一些第一数据记录,在第二数据库中没有与之相对应的第二数据记录出现。

附图说明

参照如下描述和附图,将更好地理解通过无线接口连接的数据库同步的方法和设备。其中:

图1是无线电通信系统和便携式电子设备的功能框图。

图2是便携式电子设备内特定内部组件的框图。

图3是同步服务器内特定内部组件的框图。

图4是在无线接口连接的数据库同步期间,示出了便携式电子设备和通信系统执行的功能的序列图。

图5A和5B是在数据库更新期间,示出了便携式电子设备和通信系统执行的功能的序列图。

图6是当从便携式电子设备删除数据记录时,示出了便携式电子设备和通信系统执行的功能的序列图。

图7是在无线接口连接的数据库的特定同步期间,示出了便携式电子设备和通信系统执行的功能的序列图。

图8是当从通信系统删除数据记录时,示出了通信系统和便携式电子设备执行的功能的序列图。

图9是在无线接口连接的数据库的第二特定同步期间,示出了通信系统和便携式电子设备执行的功能的序列图。

具体实施方式

首先参照图1,示出了通常由数字20指示的无线电通信系统和便携式电子设备22的功能框图。无线电通信系统20提供了与包括示例性便携式电子设备22的便携式电子设备(如图所示)的通信。便携式电子设备22和无线电通信系统20可操作用于实现通过其间无线电通信信道的通信。将在便携式电子设备22处起始的数据通过无线电通信信道传送到无线电通信系统20。类似地,将在通信系统20处起始的数据从无线电通信系统20通过无线电通信信道传送到便携式电子设备22,从而给便携式电子设备22提供数据。

为了说明,在图1中功能性地表示该通信系统,并且示出单个基站24。基站24限定了覆盖区域、或小区26,其中可以实现基站24和便携式电子设备22之间的通信。可以理解,便携式电子设备22在小区26中可以移动,并且可以移至本示例中未示出的其它小区限定的覆盖区域。通信系统20包括与基站24和同步服务器30相连接的中继设备28。可以理解,中继设备28和同步服务器30提供的功能可以体现在同一设备中。同步服务器30与管理服务器32相连(如图所示)。管理服务器32给通信系统20提供管理服务,以及,例如,通过同步服务器30提供管理控制。

同步服务器30功能性地与数据库耦合,其中,三个示例性数据库类型包括第一数据库34、第二数据库36和第三数据库38(如图所示)。本示例的数据库是诸如可扩展标记语言(XML)格式的文本格式。保持在第一、第二和第三数据库34、36、38中的数据包括多个数据类型,每个数据记录包含多个填充了数据的字段。填充了数据的每个数据记录的字段的特定一些是足以唯一识别在其中包含了数据记录的关键字段。

为了本说明书的目的,在图1中只示出了特定功能部分的便携式电子设备22,包括分别与通信系统20的第一、第二和第三数据库34、36、38相对应的多个数据库40、42、44。可以不对称的方式选择地改变数据库34、36、38和数据库40、42、44,从而通信系统20的数据库34、36、38与便携式电子设备22的数据库40、42、44不匹配。换言之,可以通过添加记录、删除记录以及通过添加、删除或修改填充这些字段的数据以修改记录的字段,来修改数据库34、36、38、40、42、44的任一或全部。

现参照图2,示出了便携式电子设备22内特定内部组件的框图。便携式电子设备22基于包括与只读存储器(ROM)48相连接的处理器46的微型计算机,所述只读存储器48包含处理器46可执行的多个应用程序来使便携式电子设备22能够执行包括与通信系统20同步的特定功能。处理器46也与负责便携式电子设备22的各种非易失性存储功能、并且在其中保持了数据库40、42、44的随机存取存储器单元(RAM)50和永久存储设备52相连接。处理器46从诸如键盘的输入设备54接收输入。处理器46向诸如LCD显示器的输出设备56输出。处理器46也与内部时钟58和无线电设备60相连接,所述无线电设备60与天线61相连接。无线电设备60和天线61一起用于通过无线电通信信道与无线电通信系统20相连接。因而,便携式电子设备22可操作用于接收和传输包含通过无线电设备60和天线61传送到通信系统20以及从通信系统20传送的数据的通信信号。

可以理解,可以以任何适合的方式执行于此描述的功能。在本示例中,在同步应用中,通过处理器46可执行的算法执行这些功能。例如,便携式电子设备22的处理器46通过从永久存储设备52的数据库40、42、44中的一个或多个检索数据以及产生散列,可操作用于执行散列函数,从而放置短摘要形式的被访问数据。例如,处理器46执行的散列函数包括校验和的计算以及其它散列函数计算。处理器46还可操作用于给无线电设备60提供所产生的散列,以通过无线电通信信道从便携式电子设备22传输到无线电通信系统20。具体地,处理器46可操作用于产生包括代表数据库40、42、44信息的数据库散列。通过检测便携式电子设备22处的事件、通过来自输入设备54的输入或通过从通信系统20接收的信号,触发产生数据库散列。

便携式电子设备22的微型计算机可操作用于从通信系统20接收通信。例如,微型计算机可操作用于接收针对记录散列信息的请求,以及作为响应,通过从数据库40、42、44中的一个或多个检索数据、针对数据执行散列函数来提供记录散列信息,从而产生记录散列,并将记录散列传输到通信系统20。微型计算机还可操作用于接收针对数据记录的请求,响应这样的请求,从数据库40、42、44的一个或多个检索数据记录并将其传输到通信系统20。此外,微型计算机可操作用于接收从通信系统20传输的数据,并通过将数据添加到数据库40、42、44的一个或多个、或在数据库40、42、44的一个或多个上重写数据来写入数据,保持在永久存储设备52上。例如,响应对来自通信系统20的用户输入或指示的接收,微型计算机也可操作用于从数据库40、42、44的一个或多个处删除数据。微型计算机还可操作用于根据例如从用户输入接收到的删除数据记录命令,来确定用于删除的数据记录数量,并且将该数量与阈值数量相比较。基于该比较的结果,微型计算机可操作用于针对要删除的每个数据记录,将各个删除数据记录命令发送到通信系统20,或触发如下描述的特定同步。

现参照图3,示出了同步服务器30内特定内部组件的框图。类似于便携式电子设备22,同步服务器30包括与只读存储器(ROM)64相连接的处理器62,所述只读存储器64包括处理器62可执行的应用程序,来使同步服务器30能够执行包括与便携式电子设备22同步的特定功能。处理器62也与负责同步服务器30的各种非易失性存储功能的随机存取存储器单元(RAM)66和永久存储设备68相连接。处理器62与数据库34、36、38和中继设备28相连接,该中继设备与站点24连接,用于通过无线电通信信道与便携式电子设备22相连。因而,同步服务器30可操作用于接收和传输包含通过中继设备28和站点24传送到便携式电子设备22以及通过中继设备28和站点24从便携式电子设备22传送的数据的通信信号。

此外,可以理解,可以以任何适合的方式执行此处描述的功能。在本示例中,通过处理器62可执行的算法执行这些功能。例如,同步服务器30的处理器62可操作用于通过从数据库34、36、38的一个或多个检索数据并产生散列,来执行散列函数,从而放置短摘要形式的被访问数据。具体地,处理器62可操作用于产生包括代表数据库34、36、38的信息的数据库散列。

同步服务器30可操作用于接收与同步相关的便携式电子设备22所产生的通信。例如,同步服务器30可操作用于接收便携式电子设备22产生的数据库散列,并且作为响应,将来自该数据库散列的数据库散列信息与同步服务器30产生的、来自本地产生的数据库散列的数据库散列信息比较。同步服务器30也可操作用于基于和响应来自便携式电子设备22产生的数据库散列的数据库散列信息与来自本地产生的数据库散列的数据库散列信息比较的结果,从便携式电子设备22请求记录散列信息。将针对记录散列信息的请求提供给中继器28,并且通过基站24传输给便携式电子设备22。同步服务器30可操作用于接收便携式电子设备22产生的记录散列信息,并且作为响应,将记录散列信息与同步服务器30产生的来自本地产生的记录散列的记录散列信息相比较。

同步服务器30也可操作用于基于和响应来自便携式电子设备22产生的记录散列的记录散列信息与来自本地产生的记录散列的记录散列信息比较的结果,从便携式电子设备22请求数据记录。将针对数据记录的请求提供给中继器28,并且通过基站24传输给便携式电子设备22。此外,同步服务器30可操作用于接收从便携式电子设备22传输的数据(通过基站24和中继设备28),并且通过将数据添加至数据库34、36、38的一个或多个、或通过重写在数据库34、36、38的一个或多个上的数据,来写入数据。响应例如来自便携式电子设备22的输入或指示的接收,同步服务器30也可操作用于从数据库34、36、38的一个或多个中删除数据。同步服务器30还可操作用于根据例如从输入设备接收到的删除数据记录命令,来确定用于删除的数据记录数量,并且将该数量与阈值数量相比较。基于该比较的结果,同步服务器30可操作用于针对要删除的每个数据记录,将各个删除数据记录命令发送到便携式电子设备22,或触发如下描述的第二特定同步。

此外,同步服务器30在永久存储设备68中存储同步历史数据,从而保持针对与同步服务器30相连的数据库34、36、38和便携式电子设备22的数据库40、42、44做出的改变列表。同步服务器30在同步操作期间访问同步历史数据,从而在随后的同步中,通过确定先前同步的数据,来减少通信系统20和便携式电子设备22之间传送的数据。

现参照图4,示出了说明根据本发明的一个实施例,在通过无线接口连接的数据库同步期间,在便携式电子设备22和通信系统20处执行的功能的序列图。用于执行这些步骤的软件编码在本领域技术人员的所知范围之内。首先,便携式电子设备22从例如输入设备54上的用户输入接收同步触发(100)。可选地,便携式电子设备22从通信系统20处接收同步触发。响应同步触发的接收,在步骤102处,从数据库40、42、44中检索数据,并且在步骤104处,处理器46针对每个数据库40、42、44产生数据库散列。在每个数据库散列产生之后,在步骤106处,通过无线电通信信道将每个数据库散列和初始化命令一起传输到通信系统20。初始化命令在同步服务器30处触发同步过程。

在步骤108处,通信系统20通过在基站24处的接收来接收初始化命令和每个数据库散列,并将数据库散列转发至同步服务器30。响应来自便携式电子设备22的每个数据库散列的接收,在步骤110处,从数据库34、36、38检索数据,并且在步骤112处,同步服务器30的处理器62产生针对每个相应的数据库的数据库散列(在此称为本地产生的数据库散列)。在每个本地产生的数据库散列产生之后,在步骤114处,将从便携式电子设备22接收到的每个数据库散列的散列信息与相应的本地产生的数据库散列的散列信息相比较。如果散列信息的比较指示便携式电子设备22的数据库40、42、44与通信系统20的相应的数据库34、36、38相匹配,则同步处理过程在步骤116处结束。然而,如果散列信息的比较指示便携式电子设备22的数据库40、42、44的任何一个与通信系统20的相应的数据库34、36、38不匹配,则要更新数据库中的至少一个,并且在步骤118处通过同步服务器30产生针对记录散列信息的请求。针对记录散列信息的请求是针对与数据记录相关联的记录散列信息的请求。针对确定与通信系统20的相应数据库不匹配的便携式电子设备22的特定数据库的每个数据记录,请求记录散列信息。在针对记录散列信息的请求产生之后,在步骤120处将请求传输到便携式电子设备22。

一旦在步骤122处在便携式电子设备22处接收到针对记录散列信息的请求,则根据针对记录散列信息的请求,在步骤124处从数据库40、42、44的一个或多个中检索数据。然后在步骤126处针对相应数据库的数据记录的每个产生记录散列,并且在步骤128处,通过无线电通信信道将每个记录散列传输到通信系统20。

在步骤130处,在通信系统20处接收到记录散列信息,并将其传送到同步服务器30。响应所请求记录散列信息的接收,在步骤132处,从相应的数据库34、36、38的一个或多个中检索数据,并在步骤134中,针对相应数据库的相应数据记录的每个产生记录散列(称为本地产生的记录散列)。在每个本地产生的记录散列产生之后,在步骤136处,将从便携式电子设备22接收到的记录散列信息与从每个本地产生的记录散列处接收到的记录散列信息相比较,并且确定记录散列信息代表的数据是否改变。如果确定该数据没有改变,则在步骤138处,针对该数据没有改变的特定数据记录,同步过程结束。然而,如果确定该数据改变,则在步骤136处该比较还确定在便携式电子设备22处没有反映在通信系统20处的什么附加或改变数据(如果有),以及在通信系统20处没有反映在便携式电子设备20处的什么附加或改变数据(如果有)。因而,如果在步骤136处确定该数据已经改变,则通过更新通信系统20处或便携式电子设备22处的数据库、或确定不匹配的通信系统20和便携式电子设备22处的数据库,使数据库同步。随着不匹配的确定,运行冲突解决策略,从而确定如何更新不匹配的记录(即是否利用同步服务器30的数据库记录更新便携式电子设备22上的数据库记录,是否利用便携式电子设备22上的数据库记录更新同步服务器30的数据库记录,或两者都更新)。

现在参照图5A,示出了在更新通信系统20的数据库34、36、38期间,在便携式电子设备22和通信系统20处执行的功能的序列图。再次,用于执行这些步骤的软件编码也在本领域技术人员的所知范围之内。如果在步骤136处确定在通信系统20处没有反映便携式电子设备20处的附加数据记录或数据记录的变化,则如步骤140A处所示,同步服务器30产生获取请求。在获取请求产生之后,在步骤142处将获取请求传输到便携式电子设备22,从而请求在便携式电子设备22上添加并改变在同步服务器30上没有更新的数据记录。

然后在步骤144处,在便携式电子设备22处接收获取请求,并作为响应,在步骤146处从数据库40、42、44中检索请求的数据记录。在检索数据记录之后,在步骤148处,将所检索的数据记录传输到通信系统20。

然后在步骤150处在通信系统20处接收所请求的数据记录,并将其传送到同步服务器30。响应所请求数据记录的接收,通过在相应的数据库34、36、38中写入新的数据记录或重写以更新先前存储的数据记录,更新通信系统20的数据库34、36、38中的相应一些。可以理解,将从便携式电子设备20的一个数据库中检索并传输到通信设备20的数据记录写入或重写至通信系统20的相应数据库。

现参照图5B,示出了在更新便携式电子设备22处的数据库40、42、44期间,在便携式电子设备22和通信系统20处执行的功能的序列图。此外,用于执行这些步骤的软件编码在本领域技术人员的所知范围之内。

如果在步骤136处确定在便携式电子设备22处没有反映通信系统20处的附加数据记录或针对数据记录的改变,则在140B处检索在便携式电子设备22上还没有更新的、在同步服务器30上添加或改变的数据记录。然后在步骤154处将这些数据记录传输到便携式电子设备22。

在步骤156处便携式电子设备22接收数据记录,并在步骤158处通过在相应数据库40、42、44中写入新的数据记录或重写来更新先前存储的数据记录,更新数据记录。此外,可以理解,在便携式电子设备22的相应数据库上,写入或重写从通信系统20的一个数据库检索并传输到便携式电子设备22的数据记录。

从上述描述可以理解,在步骤154处将确定出现在通信系统20的数据库34、36、38中的、未出现在便携式电子设备22处的数据库40、42、44中的数据记录传输到便携式电子设备,并将其存储在便携式电子设备22的相应的数据库中。类似地,在步骤148处,将确定出现在便携式电子设备22的数据库40、42、44中的、未出现在通信系统20的数据库34、36、38中的数据记录传输到通信系统20,并在步骤152处将其存储在通信系统20的相应数据库34、36、38中。

现参照图6,示出了当从便携式电子设备22删除数据记录时,便携式电子设备22和通信系统20执行的功能的序列图。用于执行这些步骤的软件编码在本领域技术人员的所知范围之内。首先,便携式电子设备22在步骤160处接收来自输入设备54上的用户输入的删除数据记录命令。在接收删除数据记录命令之后,在步骤162处,处理器46确定与删除数据记录命令相关的数据记录的数量。换言之,处理器46确定要删除的数据记录的数量。接下来,在步骤164处,处理器46将与删除数据记录命令相关的数据记录的数量与预定阈值相比较。如果与删除数据记录命令相关的数据记录的数量小于阈值,则在步骤166处从数据记录所属的数据库(或多个数据库)40、42、44中删除与命令相关的数据记录,并且在步骤168处针对所删除的每个数据记录,将删除数据记录指示传输到通信系统20。因而,针对每个从数据库40、42、44中删除的数据记录,将相应的删除数据记录指示传输到通信系统20。

通信系统20在步骤170处接收删除数据记录指示,并在步骤172处从数据库34、36、38中删除相应的数据记录。

在另一个方面,如果与删除数据记录命令相关的数据记录的数量大于阈值,则在步骤174处从数据记录所属的数据库(或多个数据库)40、42、44中删除与删除数据记录命令相关的数据记录,并在步骤176处便携式电子设备22触发特定同步过程,其中更新通信系统20的数据库34、36、38来镜像便携式电子设备22的数据库40、42、44。

现参照图7,描述在无线接口连接的数据库特定同步期间,在便携式电子设备22和通信系统20处执行的功能。可以理解,所描述的与图7的特定同步相关的许多步骤和所描述的与图4的同步相关的步骤类似。因而,在可能的地方,给描述图4的步骤中所使用的参考号增加100来指代图5的特定同步步骤中所执行的类似步骤。再次,用于执行图7所示以及于此所描述的步骤的软件代码在本领域技术人员所知范围之内。

首先,便携式电子设备22在200处接收特定同步触发。响应特定同步触发的接收,在步骤202处从数据库40、42、44中检索数据,并且处理器46在步骤204处针对每个数据库40、42、44产生数据库散列。在每个数据库散列产生之后,在步骤206处,通过无线电通信信道将每个数据库散列和初始化命令一起传输到通信系统20。初始化命令在同步服务器30处触发特定同步过程。

在步骤208处,通信系统20通过基站24的接收来接收初始化命令和每个数据库散列,并将数据库散列转发至同步服务器30。响应来自便携式电子设备22的每个数据库散列的接收,在步骤210处从数据库34、36、38检索数据,并且在步骤212处,同步服务器30的处理器62产生针对每个相应的数据库的数据库散列(在此称为本地产生的数据库散列)。在每个本地产生的数据库散列产生之后,在步骤214处,将从便携式电子设备22接收到的每个数据库散列的散列信息与相应的本地产生的数据库散列的散列信息相比较。如果散列信息的比较指示便携式电子设备22的数据库40、42、44与通信系统20的相应的数据库34、36、38相匹配,则同步处理过程在步骤216处结束。然而,如上所示,作为在便携式电子设备22处针对数据库40、42、44的一个或多个的巨大变化的结果,触发特定同步。具体地,作为在便携式电子设备22处删除大量数据记录的结果,触发特定同步。因而,在这种情况下,在步骤214处的散列信息的比较导致便携式电子设备22的数据库40、42、44的至少一个和通信系统20的数据库34、36、38之间的不匹配的确定。接下来,在步骤218处通过同步服务器30产生针对记录散列信息的请求。针对记录散列信息的请求是针对与数据记录相关联的散列信息的请求。针对确定与通信系统20的相应数据库不匹配的便携式电子设备22的特定数据库的每个数据记录,请求记录散列信息。在针对记录散列信息的请求产生之后,在步骤220处将请求传输到便携式电子设备22。

一旦在步骤222处在便携式电子设备22处接收到针对记录散列信息的请求,则根据针对记录散列信息的请求,在步骤224处从数据库40、42、44的一个或多个中检索数据。然后在步骤226处针对相应数据库的数据记录的每个产生记录散列,并且在步骤228处,通过无线电通信信道将每个记录散列传输到通信系统20。

在步骤230处,在通信系统20处接收到记录散列信息,并将其传送到同步服务器30。响应所请求记录散列信息的接收,在步骤232处,从相应的数据库34、36、38的一个或多个中检索数据,并在步骤234中,针对相应数据库的相应数据记录的每个产生记录散列(称为本地产生的记录散列)。在每个本地产生的记录散列产生之后,在步骤236处,将从便携式电子设备22接收到的记录散列信息与从每个本地产生的记录散列处接收到的记录散列信息相比较,并且确定针对记录散列信息代表的数据是否改变。因而,将从便携式电子设备的数据库40、42、44中的一个的数据记录产生的记录散列信息与通信系统20的相应数据库34、36、38的数据记录产生的相应记录散列信息相比较。如果确定自从最后一个同步针对特定数据记录没有做出改变,则在步骤238处,针对其数据没有改变的特定数据记录,同步过程结束。

因而,在步骤236处处理器62确定什么数据记录改变了以及通信系统20处的什么数据记录不存在于便携式电子设备22处(如果有)。在步骤236处的比较导致在便携式电子设备22处删除而仍然在通信系统20存在的数据记录的确定。处理器62根据在步骤236处的比较还确定在便携式电子设备20处的什么附加或改变数据没有反映在通信系统20处(如果有)。如果确定在步骤236处该数据已经改变,则通过更新仅确定为不匹配的、在通信系统20处的数据库34、36、38,来使数据库同步。因而,更新通信系统20处的数据库34、36、38来与便携式电子设备22处的数据库40、42、44相匹配。

为了更新数据库34、36、38,在步骤239处删除确定在数据库34、36、38的任何一个出现、而未在便携式电子设备22的数据库40、42、44中出现的数据记录。因而,从数据库34、36、38中删除从便携式电子设备22删除、导致了触发特定同步的所有记录。可以理解,该特定同步不同于如上参照图4、5A和5B所描述的正常同步,其中不将出现在通信系统20侧的数据库34、36、38中、而没有出现在便携式电子设备22的数据库40、42、44中的记录传输到便携式电子设备22。相反,从通信系统的相应数据库删除这些数据记录。

如果在步骤236处确定在通信系统20处没有反映便携式电子设备20处的附加数据记录或数据记录的变化,则如步骤240所示,通过同步服务器30产生获取请求。在获取请求产生之后,在步骤242处将获取请求传输到便携式电子设备22,从而请求在同步服务器30上没有更新的、在便携式电子设备22上添加并改变了的数据记录。

然后在步骤244处,在便携式电子设备22处接收获取请求,并作为响应,在步骤246处从数据库40、42、44中检索请求的数据记录。在检索数据记录之后,在步骤248处,将所检索的数据记录传输到通信系统20。

然后在步骤250处,在通信系统20处接收所请求的数据记录,并将其传送到同步服务器30。响应所请求数据记录的接收,在步骤252处,通过在相应的数据库34、36、38中写入新的数据记录或重写以更新先前存储的数据记录,更新通信系统20的数据库34、36、38中的相应一些。可以理解,将从便携式电子设备20的一个数据库检索并传输到通信设备20的数据记录写入或重写至通信系统20的相应数据库。再次,该特定同步不同于如上参照图4、5A和5B所描述的正常同步,其中,在通信系统20上的数据库34、36、38中更新数据记录来反映便携式电子设备22的数据库40、42、44中的数据记录。然而,便携式电子设备22的数据记录没有改变。在完全比较了确定不匹配的每个数据库的每个数据记录之后,特定同步结束。

现参照图8,示出了当从通信系统删除数据记录时,在通信系统20和便携式电子设备22处执行的功能的序列图。用于执行这些步骤的软件编码在本领域技术人员的所知范围之内。首先,通信系统20在步骤280处接收删除数据记录命令。在接收删除数据记录命令之后,在步骤282处,处理器62确定与删除数据记录命令相关的数据记录的数量。换言之,处理器62确定要删除的数据记录的数量。接下来,在步骤284处,处理器62将与删除数据记录命令相关的数据记录的数量与预定阈值相比较。如果与删除数据记录命令相关的数据记录的数量小于阈值,则在步骤286处从数据记录所属的数据库(或多个数据库)34、36、38中删除与命令相关的数据记录,并且在步骤288处针对所删除的每个数据记录,将删除数据记录指示传输到便携式电子设备22。因而,针对每个从数据库34、36、38中删除的数据记录,将相应的删除数据记录指示传输到便携式电子设备22。

便携式电子设备在步骤290处接收删除数据记录指示,并在步骤292处从数据库40、42、44中删除相应的数据记录。

在另一个方面,如果与删除数据记录命令相关的数据记录的数量大于阈值,则在步骤294处从数据记录所属的数据库(或多个数据库)34、36、38中删除与删除数据记录命令相关的数据记录,并在步骤296处,通信系统20触发第二特定同步过程,其中更新便携式电子设备22的数据库40、42、44来镜像通信系统20的数据库34、36、38。在步骤298处,通信系统20将第二特定同步触发传输到便携式电子设备22。

现参照图9,描述在无线接口连接的数据库的第二特定同步期间,在通信系统20和便携式电子设备22处执行的功能。可以理解,所描述的与图9的特定同步相关的许多步骤和所描述的与图7的特定同步相关的步骤类似。因而,在可能的地方,给描述图7的步骤中所使用的参考号增加100来指代图9的第二特定同步步骤中所执行的类似步骤。再次,用于执行图9所示以及于此所描述的步骤的软件代码在本领域技术人员所知范围之内。

首先,便携式电子设备22在300处接收第二特定同步触发。响应第二特定同步触发的接收,在步骤302处从数据库40、42、44中检索数据,并且处理器46在步骤204处针对每个数据库40、42、44产生数据库散列。在每个数据库散列产生之后,在步骤306处,通过无线电通信信道将每个数据库散列传输到通信系统20。

通信系统20在步骤308处通过基站24的接收接收每个数据库散列,并将数据库散列转发至同步服务器30。响应接收来自便携式电子设备22的每个数据库散列,在步骤310处从数据库34、36、38中检索数据,并且在步骤312处,同步服务器30的处理器62产生针对每个相应的数据库的数据库散列(在此称为本地产生的数据库散列)。在每个本地产生的数据库散列产生之后,在步骤314处,将从便携式电子设备22接收到的每个数据库散列的散列信息与相应的本地产生的数据库散列的散列信息相比较。如果散列信息的比较指示便携式电子设备22的数据库40、42、44与通信系统20的相应的数据库34、36、38相匹配,则同步处理过程在步骤316处结束。然而,如上所示,作为针对通信系统20的数据库34、36、38的一个或多个的巨大变化的结果,触发第二特定同步。具体地,作为从数据库34、36、38中的至少一个删除大量数据记录的结果,触发特定同步。因而,在这种情况下,在步骤314处的散列信息的比较导致便携式电子设备22的数据库40、42、44中的至少一个和通信系统20的数据库34、36、38之间的不匹配的确定。接下来,在步骤318处通过同步服务器30产生针对记录散列信息的请求。针对记录散列信息的请求是针对与数据记录相关联的散列信息的请求。针对确定与通信系统20的相应数据库不匹配的便携式电子设备22的特定数据库的每个数据记录,请求记录散列信息。在针对记录散列信息的请求产生之后,在步骤320处将请求传输到便携式电子设备22。

一旦在步骤322处在便携式电子设备22处接收到针对记录散列信息的请求,则根据针对记录散列信息的请求,在步骤224处从数据库40、42、44的一个或多个中检索数据。然后在步骤326处针对相应数据库的数据记录的每个产生记录散列,并且在步骤328处,通过无线电通信信道将每个记录散列传输到通信系统20。

在步骤330处,在通信系统20处接收到记录散列信息,并将其传送到同步服务器30。响应所请求记录散列信息的接收,在步骤332处,从相应的数据库34、36、38的一个或多个中检索数据,并在步骤334中,针对相应数据库的每个数据记录产生记录散列(称为本地产生的记录散列)。在每个本地产生的记录散列产生之后,在步骤336处,将从便携式电子设备22接收到的记录散列信息与来自每个本地产生的记录散列的记录散列信息相比较,并且确定针对记录散列信息代表的数据是否改变。因而,将从便携式电子设备的数据库40、42、44中的一个的数据记录产生的记录散列信息与通信系统20的相应数据库34、36、38的数据记录产生的相应记录散列信息相比较。如果确定自从最后一个同步针对特定数据记录没有做出改变,则在步骤338处,针对其数据没有改变的特定数据记录,同步过程结束。

因而,在步骤236处,处理器62确定改变了什么数据记录、以及便携式电子设备22处的什么数据记录不存在于通信系统20处(如果有)。在步骤336处的比较导致在便携式电子设备22处删除而仍然在通信系统20存在的数据记录的确定。处理器62根据在步骤336处的比较还确定在通信系统20处的什么附加或改变数据没有反映在便携式电子设备20处(如果有)。如果确定在步骤336处该数据已经改变,则通过只更新便携式电子设备22的数据库40、42、44,来使数据库同步。因而,更新便携式电子设备22处的数据库40、42、44来与通信系统20处的数据库34、36、38相匹配。

为了更新数据库40、42、44,针对确定在数据库40、42、44的任何一个中出现、而未在通信系统20的数据库34、36、38中出现的每个数据记录,在步骤337A处将记录标识符传输到便携式电子设备。该记录标识符在第二特定同步期间用作给便携式电子设备的信号,以删除相关联的数据记录。

便携式电子设备22在步骤337B处接收记录标识符,并在步骤339处删除接收了其记录标识符的相应数据记录。因而,从便携式电子设备22的相应数据库40、42、44中删除从通信系统的数据库34、36、38中删除、导致了触发特定同步的所有记录。可以理解,该第二特定同步不同于如上参照图4、5A和5B所描述的正常同步,其中不将出现在便携式电子设备22的数据库40、42、44中、而没有出现在通信系统20的数据库34、36、38中的记录从便携式电子设备22传输到通信系统20。相反,从便携式电子设备22的相应数据库中删除这些数据记录。

如果在步骤336处确定在便携式电子设备20处没有反映通信系统20处的附加数据记录或针对数据记录的改变,则在步骤340处检索在便携式电子设备22上还没有更新的、在通信系统20上添加或改变了的数据记录。然后在步骤354处将这些数据记录传输到便携式电子设备22。

在步骤356处,便携式电子设备22接收数据记录,并在步骤358处通过在相应数据库40、42、44中写入新的数据记录或重写来更新先前存储的数据记录,更新数据记录。再次,可以理解,在便携式电子设备22的相应数据库上,写入或重写从通信系统20的一个数据库检索并传输到便携式电子设备22的数据记录。在确定不匹配并进行更新的每个数据库的每个数据记录的完全比较之后,特定同步结束。

有利地,触发单向同步过程,其中仅改变通信系统的数据库来对便携式电子设备的数据库进行镜像,而不是当从便携式电子设备删除大量数据记录时,从便携式电子设备将大量删除数据记录指示发送到通信系统。在单向同步期间,删除在通信系统的数据库中出现、而没有在便携式电子设备的数据库中出现的数据记录。因而,没有必要发送大量的删除数据记录指示。相反,用于比较的目的,从便携式电子设备传输散列值,从而节省传输时间和带宽。

类似地,触发第二单向同步过程,其中仅改变便携式电子设备处的数据库来对通信系统的数据库进行镜像,而不是当从通信系统删除大量数据记录时,从通信系统将大量删除数据记录指示发送到便携式电子设备。在第二单向同步期间,删除在便携式电子设备的数据库中出现、而没有在通信系统的数据库中出现的数据记录。因而,没有必要发送大量的删除数据记录指示。相反,用于比较的目的,从通信系统传输散列值,并响应该比较,仅将要删除的记录的标识符传输到便携式电子设备,从而节省传输时间和带宽。

尽管当超出与删除数据记录命令相关的数据记录的阈值数量时,将特定同步描述为被触发,但是特定同步并不限于通过删除数据记录事件而触发。而是其中改变了便携式电子设备22的数据库40、42、44的至少一个中的数据记录的其它事件可以触发如参照图7所描述的特定同步。例如,正如本领域技术人员所理解的,可以通过将便携式电子设备22与例如台式计算机的计算设备进行串联,来修改便携式电子设备22的数据库40、42、44的数据记录,以与计算设备的相应数据库进行串行同步。因而,通过在便携式电子设备22上添加数据记录,修改数据记录和恢复数据记录,对数据库40、42、44的数据记录做出修改,来反映在计算设备的相应数据库中的数据记录。在串行同步过程期间,不将对便携式电子设备22上的数据记录做出的改变传输到通信系统20。因而,串行同步过程一完成,在通信系统20的数据记录中不反映对便携式电子设备22的数据记录做出的改变。为了使便携式电子设备22的数据库40、42、44与通信系统的数据库34、36、38同步,当终结(断开)便携式电子设备22和计算设备之间的串行连接时,触发如参照图7所描述的特定慢同步。从而在通信系统20的数据库34、36、38中更新数据记录来反映便携式电子设备22的数据库40、42、44中的数据记录。然而,在特定同步期间不改变便携式电子设备22的数据记录。

尽管在此描述的实施例提出了用于使通过无线接口连接的数据库同步的方法和设备的特定实施方式,但是可以理解针对该实施例的修改和改变在本申请的领域和范围之内。例如,其它事件可以触发特定同步。便携式电子设备22上的数据记录的任何改变可以触发特定同步,其中期望通过仅改变通信系统20上的数据库来镜像便携式电子设备22的数据库,使便携式电子设备22的数据库40、42、44与通信系统20的数据库34、36、38同步。类似地,通信系统的数据记录的任何改变可以触发第二特定同步,其中期望通过改变仅便携式电子设备20上的数据库来镜像通信系统22的数据库,使通信系统20的数据库34、36、38与便携式电子设备22的数据库40、42、44同步。

其它的修改和改变也是可能的。可以理解,由于任何适合数量的数据库是可能的,所以便携式电子设备不限于三个数据库。类似地,通信系统可以包括任何适合数量的数据库。尽管如上描述的特定同步包括:通信系统的数据库中所添加或改变的记录的更新,以反映便携式电子设备的数据库中所添加或修改的记录,但是可以理解,特定同步可以仅包括通信系统的数据库中的、而未出现在便携式电子设备的数据库中的记录的删除。类似地,第二特定同步可以仅包括便携式电子设备的数据库中的、而未出现在通信系统的数据库中的记录的删除。

本领域的技术人员可以做出许多其它的修改和变化。所有的这些修改和变化相信都在本领域技术人员的领域和范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号