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

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

Info

Publication number
CN101317164A
CN101317164A CNA2006800444449A CN200680044444A CN101317164A CN 101317164 A CN101317164 A CN 101317164A CN A2006800444449 A CNA2006800444449 A CN A2006800444449A CN 200680044444 A CN200680044444 A CN 200680044444A CN 101317164 A CN101317164 A CN 101317164A
Authority
CN
China
Prior art keywords
data recording
database
data
portable electric
electric appts
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006800444449A
Other languages
English (en)
Other versions
CN101317164B (zh
Inventor
彼得·K·泰索斯基
迈克尔·T·哈迪
巴里·林克尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN101317164A publication Critical patent/CN101317164A/zh
Application granted granted Critical
Publication of CN101317164B publication Critical patent/CN101317164B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation

Abstract

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

Description

通过比较代表信息的有效数据库同步
技术领域
本发明一般地涉及便携式电子设备,更具体地,涉及将便携式电子设备处的数据与在通信网络具体化的数据同步。
背景技术
诸如无线个人数字助理(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同步。
其它的修改和改变也是可能的。可以理解,由于任何适合数量的数据库是可能的,所以便携式电子设备不限于三个数据库。类似地,通信系统可以包括任何适合数量的数据库。尽管如上描述的特定同步包括:通信系统的数据库中所添加或改变的记录的更新,以反映便携式电子设备的数据库中所添加或修改的记录,但是可以理解,特定同步可以仅包括通信系统的数据库中的、而未出现在便携式电子设备的数据库中的记录的删除。类似地,第二特定同步可以仅包括便携式电子设备的数据库中的、而未出现在通信系统的数据库中的记录的删除。
本领域的技术人员可以做出许多其它的修改和变化。所有的这些修改和变化相信都在本领域技术人员的领域和范围之内。

Claims (17)

1.一种使包括第一数据记录的第一数据库与包括第二数据记录的第二数据库同步的方法,所述方法包括:
接收代表所述第二数据记录的信息;以及
在与所述第二数据库的所述第二数据记录的单向同步中,修改所述第一数据库的所述第一数据记录,所述修改包括删除所述第一数据库中出现的所述第一数据记录中的一些第一数据记录,针对所述一些第一数据记录,在所述第二数据库中没有与之相对应的第二数据记录出现。
2、如权利要求1所述的方法,包括接收同步触发以及代表所述第二数据记录的所述信息。
3、如权利要求1所述的方法,其中修改所述第一数据库的所述第一数据记录还包括:将与所述第二数据库中出现的第二数据记录相对应的其它数据记录写入第一数据库,其中针对所述第二数据库中出现的第二数据记录,在所述第一数据库中没有与之相对应的第一数据记录出现。
4.如权利要求3所述的方法,其中修改所述第一数据库的第一数据记录还包括:针对不同于所述第二数据记录中的相应一些第二数据记录的那些第一数据记录,重写所述第一数据库的那些第一数据记录,以反映所述第二数据记录中的相应一些第二数据记录。
5.如权利要求1所述的方法,包括:
将代表所述第一数据库的第一数据记录的信息与代表所述第二数据记录的所述信息进行比较;以及
在修改所述第一数据记录之前,确定所述第二数据记录和所述第一数据记录之间的差异。
6.如权利要求5所述的方法,其中确定差异包括:在删除所述第一数据记录的所述一些第一数据记录之前,确定针对第一数据库中的每个第一数据记录,在所述第二数据库中是否出现相应的第二数据记录。
7.如权利要求5或6所述的方法,其中所述确定差异包括:确定是否在所述第一数据库中不存在与第二数据库的第二数据记录中的一些第二数据记录相对应的第一数据记录,以及如果不存在,则请求第二数据记录中的所述一些第二数据记录的传输。
8.如权利要求5至7之一所述的方法,其中所述确定差异包括:确定其它第一数据记录是否不同于第二数据记录中的相应其它一些第二数据记录,以及如果不同,则请求第二数据记录中的所述其它一些第二数据记录的传输。
9.如权利要求7所述的方法,包括接收第二数据记录中的所述一些第二数据记录,并写入第一数据库。
10.如权利要求8所述的方法,包括接收第二数据记录中的所述其它一些第二数据记录,并在所述其它第一数据记录中的一些第一数据记录上进行重写。
11.如权利要求6所述的方法,其中所述接收代表第二数据记录的信息包括:接收代表所述第二数据记录的散列信息。
12.如权利要求11所述的方法,其中所述比较包括:将代表第二数据记录的所述散列信息与代表第一数据记录的相应散列信息进行比较。
13.如权利要求2所述的方法,其中所述同步触发包括:接收删除数据记录命令,以删除第二数据记录中的一些第二数据记录。
14.如权利要求2所述的方法,其中所述同步触发包括:接收删除数据记录命令,以删除第二数据记录中的一些第二数据记录;将第二数据记录中的一些第二数据记录的数量与阈值数量进行比较;以及确定第二数据记录中的所述一些第二数据记录超过所述阈值数量。
15.如权利要求2所述的方法,其中所述同步触发包括:接收初始化命令以及代表所述第二数据记录的信息。
16.一种用于使包括第一数据记录的第一数据库与包括第二数据记录的第二数据库同步的设备,所述设备包括:
存储器设备,用于在第一数据库中存储第一数据记录;
处理器,可操作地与所述存储器设备和传输和接收设备相耦合,用于接收代表第二数据记录的信息,以及用于在与第二数据库的第二数据记录的单向同步中,修改第一数据库的第一数据记录,所述修改包括删除第一数据库中出现的第一数据记录的一些第一数据记录,针对所述一些第一数据记录,在第二数据库中没有与之相对应的第二数据记录出现。
17.一种计算机可读介质,所述介质具有在其中具体化的处理器执行的计算机可读代码,用于:
接收代表第二数据记录的信息;以及
在与第二数据库的第二数据记录的单向同步中,修改第一数据库的第一数据记录,所述修改包括删除第一数据库中出现的第一数据记录的一些第一数据记录,针对所述一些第一数据记录,在第二数据库中没有与之相对应的第二数据记录出现。
CN2006800444449A 2005-09-29 2006-06-15 通过比较代表信息的有效数据库同步 Active CN101317164B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US72153405P 2005-09-29 2005-09-29
US60/721,534 2005-09-29
PCT/CA2006/000983 WO2007036015A1 (en) 2005-09-29 2006-06-15 Efficient database synchronization by comparing representative information

Publications (2)

Publication Number Publication Date
CN101317164A true CN101317164A (zh) 2008-12-03
CN101317164B CN101317164B (zh) 2011-09-07

Family

ID=37899300

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800444449A Active CN101317164B (zh) 2005-09-29 2006-06-15 通过比较代表信息的有效数据库同步

Country Status (8)

Country Link
US (1) US20070073787A1 (zh)
EP (1) EP1938198A4 (zh)
JP (2) JP4778061B2 (zh)
KR (1) KR100986108B1 (zh)
CN (1) CN101317164B (zh)
AU (1) AU2006297023B2 (zh)
CA (1) CA2623837A1 (zh)
WO (1) WO2007036015A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010145277A1 (zh) * 2009-10-23 2010-12-23 中兴通讯股份有限公司 源数据库和目的数据库之间数据同步的方法、装置及系统

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792792B2 (en) * 2006-05-22 2010-09-07 Microsoft Corporation Synchronizing structured web site contents
US8103272B2 (en) * 2007-01-07 2012-01-24 Apple Inc. Techniques for database updates
WO2008101777A1 (en) * 2007-02-21 2008-08-28 Bang & Olufsen A/S A system and a method for providing information to a user
US8019721B2 (en) * 2007-12-07 2011-09-13 Roche Diagnostics Operations, Inc. Method and system for enhanced data transfer
CN102263798B (zh) * 2010-05-25 2013-11-20 中国移动通信集团甘肃有限公司 通信系统的数据同步方法、装置及系统
US8640212B2 (en) * 2010-05-27 2014-01-28 Red Hat, Inc. Securing passwords with CAPTCHA based hash when used over the web
US8886766B2 (en) 2010-10-25 2014-11-11 Salesforce.Com, Inc. Systems and methods for tracking responses on an online social network
US20120101985A1 (en) 2010-10-25 2012-04-26 Salesforce.Com, Inc. Triggering actions in an information feed system
EP2668751B1 (en) 2011-01-28 2016-08-24 Nec Corporation Communication system, forwarding node, control device, communication control method, and program
WO2012101690A1 (en) 2011-01-28 2012-08-02 Nec Corporation Communication system, control device, forwarding node, communication control method, and program
WO2012164958A1 (en) 2011-06-02 2012-12-06 Nec Corporation Communication system, control device, forwarding node, and control method and program for communication system
US10091249B2 (en) * 2013-11-22 2018-10-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for synchronization of two databases in a lawful interception network by comparing checksum values
CN116206744A (zh) 2015-06-25 2023-06-02 甘布罗伦迪亚股份公司 具有分布式数据库的医疗装置系统和方法
CN110795507A (zh) * 2019-10-30 2020-02-14 北京永亚普信科技有限责任公司 基于单向传输协议的数据库同步系统和方法
CN114416703A (zh) * 2020-10-28 2022-04-29 北京中祥英科技有限公司 数据完整性自动监控方法、装置、设备及介质
JP7481244B2 (ja) 2020-12-02 2024-05-10 株式会社日立製作所 データ同期システム、データ同期装置及びデータ同期方法
KR102604266B1 (ko) 2021-03-19 2023-11-21 주식회사 토닥 데이터 동기화 장치 및 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666530A (en) * 1992-12-02 1997-09-09 Compaq Computer Corporation System for automatic synchronization of common file between portable computer and host computer via communication channel selected from a plurality of usable channels there between
US5970502A (en) * 1996-04-23 1999-10-19 Nortel Networks Corporation Method and apparatus for synchronizing multiple copies of a database
US5870759A (en) * 1996-10-09 1999-02-09 Oracle Corporation System for synchronizing data between computers using a before-image of data
US6141664A (en) * 1996-11-13 2000-10-31 Puma Technology, Inc. Synchronization of databases with date range
US6044381A (en) * 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
US7051277B2 (en) * 1998-04-17 2006-05-23 International Business Machines Corporation Automated assistant for organizing electronic documents
US6167408A (en) * 1998-08-31 2000-12-26 International Business Machines Corporation Comparative updates tracking to synchronize local operating parameters with centrally maintained reference parameters in a multiprocessing system
US6131096A (en) * 1998-10-05 2000-10-10 Visto Corporation System and method for updating a remote database in a network
CN1262481A (zh) * 1999-01-27 2000-08-09 电话通有限公司 多个数据库的同步方法及装置
US6266677B1 (en) * 1999-02-08 2001-07-24 Hewlett Packard Company System and method for ensuring the integrity of stored data
US20020129047A1 (en) * 1999-12-13 2002-09-12 Cane David A. Multiple copy capability for network backup systems
US6643669B1 (en) * 2000-03-14 2003-11-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for optimization of synchronization between a client's database and a server database
US6470329B1 (en) * 2000-07-11 2002-10-22 Sun Microsystems, Inc. One-way hash functions for distributed data synchronization
US7363325B2 (en) * 2000-08-10 2008-04-22 Nec Laboratories America, Inc. Synchronizable transactional database method and system
US6529917B1 (en) * 2000-08-14 2003-03-04 Divine Technology Ventures System and method of synchronizing replicated data
AU2003303878A1 (en) * 2003-02-06 2004-08-30 Research In Motion Limited Apparatus and method for synchronizing databases by comparing hash values
EP1862923A1 (en) * 2004-02-10 2007-12-05 Research In Motion Limited Apparatus and associated method for synchronizing databases by comparing hash values
US7330997B1 (en) * 2004-06-03 2008-02-12 Gary Odom Selective reciprocal backup

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010145277A1 (zh) * 2009-10-23 2010-12-23 中兴通讯股份有限公司 源数据库和目的数据库之间数据同步的方法、装置及系统
US8655836B2 (en) 2009-10-23 2014-02-18 Zte Corporation Method, device and system for implementing data synchronization between source database and target database

Also Published As

Publication number Publication date
WO2007036015A1 (en) 2007-04-05
KR100986108B1 (ko) 2010-10-08
AU2006297023A1 (en) 2007-04-05
CA2623837A1 (en) 2007-04-05
US20070073787A1 (en) 2007-03-29
JP4778061B2 (ja) 2011-09-21
EP1938198A1 (en) 2008-07-02
JP5130386B2 (ja) 2013-01-30
CN101317164B (zh) 2011-09-07
JP2011198385A (ja) 2011-10-06
EP1938198A4 (en) 2009-07-29
KR20080066737A (ko) 2008-07-16
AU2006297023B2 (en) 2010-09-09
JP2009510566A (ja) 2009-03-12

Similar Documents

Publication Publication Date Title
CN101317164B (zh) 通过比较代表信息的有效数据库同步
US7730028B2 (en) Schema updating for synchronizing databases connected by wireless interface
US7890467B2 (en) Method for verifying data consistency of backup system, program and storage medium
US7613739B2 (en) Method and apparatus for synchronizing databases connected by wireless interface
US8694463B2 (en) Method and apparatus for synchronizing databases connected by wireless interface
US20090138526A1 (en) Method and apparatus for synchronizing of databases
US8275741B2 (en) Method and apparatus for memory management in an electronic device
US7747566B2 (en) Method and apparatus for synchronizing databases connected by wireless interface
US7334085B2 (en) Method and apparatus for full and partial storage of data records in an electronic device
US7478118B2 (en) Method and apparatus for synchronizing of databases connected by wireless interface
CA2568286C (en) Method and apparatus for memory management in an electronic device
CA2568284C (en) Method and apparatus for synchronizing databases connected by wireless interface
CA2568285C (en) Method and apparatus for synchronizing databases connected by wireless interface
CA2592813A1 (en) Method and apparatus for synchronizing of databases connected by wireless interface
CA2615561C (en) Method and apparatus for synchronizing databases connected by wireless interface
CA2603468C (en) Schema updating for synchronizing databases connected by wireless interface
EP1862915A1 (en) Method and Apparatus for Synchronizing of Databases
EP1940123B1 (en) Method and apparatus for memory management in an electronic device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant