CN101142573A - 全局数据同步的系统和方法 - Google Patents
全局数据同步的系统和方法 Download PDFInfo
- Publication number
- CN101142573A CN101142573A CNA2005800443121A CN200580044312A CN101142573A CN 101142573 A CN101142573 A CN 101142573A CN A2005800443121 A CNA2005800443121 A CN A2005800443121A CN 200580044312 A CN200580044312 A CN 200580044312A CN 101142573 A CN101142573 A CN 101142573A
- Authority
- CN
- China
- Prior art keywords
- database
- record
- server
- sync
- synchronization module
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明披露了一种在两个或更多个通过网络相互连接的装置之间同步数据的系统和方法。所述的装置执行存储数据的基本上相同的应用实例。在每个装置上执行同步模块。所述同步模块可以监视对数据库的访问,并维护数据库更改的同步数据库。随后同步所述装置的同步数据库。根据默认协议和用户配置协议来解决数据库的更改重复。在解决冲突前可以在装置间传输冲突处理协议。
Description
优先权要求
[0001]本专利申请要求享受2004年10月25日提交的临时专利申请No.60/622,044和2005年10月25日通过U.S.Express Mail No.EV 509172810 US提交的美国专利申请(案卷号EMPR-1-1009)的优先权。
技术领域
[0002]概括地说,本发明涉及便携式数字助理,具体地说,本发明涉及存储在便携式数字助理中的数据库同步方法的系统。
背景技术
[0003]在过去的几年里,因特网的访问变得越来越普遍和便捷。消费者可以在办公室、家中、酒店以及像图书馆和咖啡厅这样的很多公共场所访问因特网。无线网络也已经成熟。在主要城市中均提供了GPRS网络,并且价格合理。通过无线访问点、GPRS移动装置等访问因特网使用户能够在任何时间与地点自由地获取信息。
[0004]个人电子装置已经变得越来越普遍,并且功能越来越强大。蜂窝电话、个人数字助理(PDA)、笔记本计算机、以及诸如便携式音乐播放器之类的其他便携式装置以及智能电子产品使得信息和计算功能在任何时间任何地点均是可用的。这类装置经常通过执行个人信息管理软件来管理像通讯录、备忘录、日历和日程安排表这类的信息。其它用这类装置处理的数据有相册、音频和视频播放列表及内容、文件、报告、电子表格等。用户的大量重要数据可能同时保存于桌上型计算机和便携式装置中。这种数据的同步是以下的过程:诸如PDA和桌上型计算机之类的每一存储装置可以交换存储在每一个装置上的个人信息,从而在每个系统中构成包括相同PIM数据的较大的信息“同步”数据库。
[0005]在现有的系统中,同步涉及PDA和笔记本计算机。在这种系统中,整个数据库被传输到一个装置,该装置往回传输已更新的数据库。这样的系统有个缺点,就是不论对数据库更改的程度有多少,都需要较大的数据传输容量以及较长的时间以实现同步。
[0006]现有的系统还局限于在一台PDA与一台计算机之间实现同步。其无法实现PDA与多台其他计算机或其他装置之间的协调同步。典型情况下,一个人可能有一台家用计算机、一台工作计算机和一台膝上型计算机。典型情况下,一个人还可能使用各种其它计算机以访问因特网。因此,用户尝试单独地同步每台计算机可能会引起数据混乱和丢失。
[0007]某些现有的系统同步诸如桌上型计算机之间的PIM数据库之类的数据库。然而,这样的系统通过在计算机之间传输整个数据库来实现同步。这样的系统没有提供一种对待协调的数据库的多个实例进行增加、修改和删除,且不会因数据库的实例的重写而造成数据丢失的方法。
[0008]如上所述,提供一个对存储在明确的和潜在的多个数据库中的数据进行协调同步的同步系统在本领域中是一个进步。这样的系统将减少同步时对网络带宽的需求并避免数据丢失。
发明内容
[0009]本发明包括一个系统,所述系统包括两个或更多个经由网络相互连接的装置。所述装置可以包括PDA、工作站、笔记本型计算机、服务器、智能电话等。这些装置执行基本上完全相同的应用实例,存储诸如PIM数据之类的数据到数据库中。第一装置(例如服务器)存储维持与存储在装置上的数据库同步的数据库。这些装置还可以相互间同步其相应的数据库。
[0010]可以在每个装置上执行同步模块。此同步模块可以监控对数据库的访问和维持与更改的数据库同步的数据库。装置的所述同步数据库随后被同步以提供每个装置的已更新的数据库。在一个实施例中,第一装置可以与第二装置同步。第一或者第二装置随后可以与诸如服务器之类第三装置同步。第一或者第二装置可以随后再次同步以实现系统中的三个部件存储相同的数据库。
[0011]数据库可以存储记录,每条记录存储在一个装置的数据库中,对应于另一条记录存储在另一个装置的数据库中。同步模块可以识别对应记录被更改的实例,并能处理冲突。在一个实施例中,将比其他记录更高的优先级分配给其中一条记录,高优先级记录中的更改被写入同步数据库中。
[0012]优先级可以通过由同步模块存储的默认协议来建立。在某些实施例中,默认协议被用户输入协议所取代以解决冲突。用户可以根据哪一个记录最后被更改、做更改的用户的标识和被更改的记录所在的装置等来指定待决定的冲突记录的优先级。在某些实施例中,优先级是根据在同步时接收到的用户输入而确定的,用户输入指示了哪个单独记录或者记录中的数据与对应记录相比具有优先级。在一个实施例中,用于解决冲突的用户协议先于解决冲突而在装置之间传输以建立解决冲突的共享标准。
[0013]由于安全、版权等原因,可以限制数据库中某些数据的传输。在一个实施例中,同步模块避免传输受限制的数据。在某些实施中,限制可以被体现为,对数据通过同步被传输的次数的限制。然而在上述的同步过程中,与受限数据有关的元数据仍然可以被同步。
[0014]从上文中可以了解到,本发明提供了一种在多个装置之间同步数据库的高效方式。本发明也提供了解决数据库的更改冲突以及使用户可配置地解决冲突的可预测的方法。
附图说明
[0015]下面将结合附图详细地描述本发明的优选实施例和替代实施例。
[0016]图1是适用于本发明实施例的计算装置网络配置的示意图;
[0017]图2是根据本发明实施例的同步系统部件的示意性框图;
[0018]图3是根据本发明实施例的表示数据流的示意性框图;
[0019]图4A是根据本发明实施例的用于同步PDA、工作站和服务器的方法的流程图;
[0020]图4B是根据本发明实施例的由工组站发起同步的方法的流程图;
[0021]图5A-5D是根据本发明实施例的说明同步步骤的流程图。
具体实施方式
[0022]如图1所示,在本发明的一个实施例中,同步系统10包括便携式数字助理(PDA)12、工作站14、远程工作站16和服务器18。在某些实施例中,一个或多个智能电话20可以连接到工作站14、服务器18或PDA 12。这里描述的具体装置仅仅是本发明可以使用的装置的例子而已,本发明可以使用多种固定或便携的计算装置。PDA12、工作站14、远程工作站16、服务器18和智能电话20a、20b均可以包括:能够执行编程指令的中央处理单元CPU,以及可操作地连接到所述CPU并能够存储编程指令和数据的可操作存储器或RAM。PDA 12、工作站14和远程工作站16还可以包括非易失性第二存储装置,如硬盘驱动器、闪速存储器等。PDA 12、工作站14和远程工作站16可以通过诸如因特网之类的网络22连接到服务器18。另外,PDA 12还可以直接连接到工作站14和远程工作站16。
[0023]PDA 12、工作站14、远程工作站16、服务器18可以通过诸如以太网线缆或光纤线缆之类的线缆连接到网络22。或者系统10的部件可以通过基于诸如IEEE 802.11b或802.11g、通用分组无线电业务(GPRS)和蓝牙之类的网络协议的无线装置连接。
[0024]如图2所示,并参照图1,PDA 12的存储器30、工作站14的存储器32、远程工作站16的存储器34可以存储一个或多个信息管理应用,如个人信息管理(PIM)应用36。PIM应用36可以包括存储PIM信息的PIM数据库38。在某些实施例中,PIM应用36在创建、显示和存储基本完全相同格式的记录方面基本上是完全一致的,因此,由某个PIM应用36创建的记录可以被另外一个应用36读取或复制。应用36在底层目标代码和低级逻辑上可能有区别,这与本发明的预期也是一致的。可以注意到本发明在PIM上下文环境中非常有用。但是,使用本发明的方法,其它的应用及其相关数据库仍然可以很方便地被同步。
[0025]存储器32、34和36也可以存储Web浏览器40,用于与存储在服务器存储器44中的Web服务器42进行交互。智能电话20也可以存储有PIM应用36和浏览器40。
[0026]PDA 12、工作站14、远程工作站16、服务器18和智能电话20可以存储具有同步数据库52的同步模块50。同步模块50可以监视对PIM数据库38的更改,以及对存储在PDA 12、工作站14、远程工作站16、服务器18和智能电话20上的PIM数据库38进行协调同步。服务器18可以在用户数据库54中存储PIM数据库38的副本。因此,单个用户可以经由网络22与服务器18同步PDA 12、工作站14、远程工作站16和智能电话20上的PIM数据库38。
[0027]服务器18可以具有Web服务器42,所述Web服务器42向其同步模块50和存储于其上的用户数据库54提供基于浏览器的接口。Web服务器42提供Web站点,从而向用户给出用户数据库50的接口,这样用户可以创建、修改、删除和浏览包括PIM信息的数据,如通讯录信息、日程表、事件、备忘录、任务、开销记录、数字相片、数字音乐、电子邮箱、Web内容等。用户可以通过浏览器40来访问服务器18。浏览器40可以与PDA 12、工作站14、远程工作站16和智能电话20上的同步模块50配合,以从服务器18接收更新到本地同步数据库50中。
[0028]Web服务器42为包括系统10的装置提供了连接到服务器18的端口。服务器18的同步模块50可以监视端口以检测何时另外的装置尝试连接到服务器18。在某些实施例中,服务器18不发起同步。然而,在其他实施例中,用户可以使服务器18发起与其它装置的同步。
[0029]如图3所示,在一个实施例中,同步模块监视与PIM数据库38相关的PIM应用36的活动,并更新同步数据库52,以指示某些信息,如哪些记录被修改、增加或删除;修改、增加或删除的时间;被删除的具体记录内的域等。
[0030]装置的同步模块50构成了系统10,如PDA 12和PC 16可以随后与它们相应的同步数据库52同步。同步模块50还可以连接PIM应用36,通过修改PIM数据库38以反映发生在第二装置中的更改。在服务器18中,同步模块50在用户数据库52中更新PIM数据库38。在某些实施例中,PDA 12、工作站14、远程工作站16、服务器18和智能电话20的同步模块50直接访问PIM数据库38以反映从其它装置接收到更改。
[0031]再次参照图1和图2,同步数据库52可以将存储于其中的记录分为用户定义标识符记录64和装置产生标识符记录66。记录64、66可以包括诸如唯一标识符70、历史72和数据域74之类的信息。
[0032]标识符70可以是分配给记录64、66的唯一数字或其它数据。或者,标识符70可以是存储在记录64、66中用于表征记录64、66的数据。例如,与诸如地址和电话号码之类的通讯录信息有关的记录64、66可以表征联系人名称。
[0033]历史72可以指示:哪些域74被更改;更改是否为修改、增加或删除;更改发生的时间;更改最初发生的装置;介入装置的标识(ID),通过所述介入装置,更改从初始装置被传输到具有同步数据库50的装置;引起更改的用户的标识等等。域74可以包括存储在记录64、66中的实际数据。在本发明的一个实施例中,在同步过程中,只有被更改的域74中的数据被存储到同步模块并被传输。在其他的实施例中,域74标识PIM数据库(DB)38中的数据已被更改,但是并不存储实际的数据。在一个实施例中,同步模块与用户数据库54集成到一起。因此,历史70可以与用户数据库54中的每一条记录一起被存储。同步模块50可以通过检查历史70来评估在同步时数据库26中的哪些记录64、66被增加、修改或删除。同步数据库可以通过要求只发送被更改的数据而不是整个数据库来减小同步数据库所需的网络容量。
[0034]在某些实施例中,记录64、66包括安全数据76。安全数据可以被同步模块50所使用以限制将内容同步到不同方或装置。该功能在个人或者团体希望将敏感信息限制在有限数量或类型的装置中的情况下非常有用。例如,用户可能不希望将所有的个人联系人从家用计算机同步到办公室计算机中。安全数据76还可以保护具有版权和许可证的材料,以防止其被复制。一些内容的提供者可能需要限制通过同步复制的数量。例如,用户可能希望在多个装置之间同步播放列表,并复制包括在播放列表中的音乐或视频。然而某些内容可能具有限定,来限制其被复制的次数。因此同步模块50可以在历史72中记录同步装置的数量,以包括具有表示限定的安全数据76的数据。同步时,可以抑制同步模块50将这种数据传输到被版权法和许可协议禁止的装置中。在某些实施例中,与受限制内容相关的元数据,如标识符、内容概要、播放列表等,可以与其它装置同步,但是其内容不与其它装置同步。
[0035]用户定义标识符记录64可以被实例化为,由用户指明的记录,其应该是属于特定数据分类的数据的指定存储位置。装置产生标识符记录66可以被实例化为存储在系统中的信息,但是其没有被指定为属于特定的数据分类。
[0036]举例来说,PIM软件可以存储关于具体个人的信息,如电话号码、地址等。包括该信息并被实例化为用户定义的标识符记录36的记录可以作为存储所述个人电话号码、地址等的位置。因此,如果在运行中用户尝试输入与个人姓名或该记录相关的其他标识符相对应的电话号码,则该用户的记录中的电话号码将被更改。另外,如果记录被实例化为装置产生标识符记录38,则输入电话号码和个人姓名将导致创建具有唯一的装置产生标识符的单独记录。
[0037]被删除的记录64、66可以存储在同步数据库52中,直到同步发生或者由记录64、66代表为止,所述记录64、66表明被删除记录的标识符68,以及记录64、66已被删除的事实。
[0038]同步模块50还可以包括冲突模块80。冲突模块80可以解决源自系统10的不同部件的相同数据的增加、删除和修改之间的冲突。冲突处理模块80可以根据默认协议82来解决冲突。然而,同步模块50可以使用用户协议84代替默认协议来解决冲突。在本发明的一个实施例中,默认协议82根据表1来解决冲突。
动作 | 同步之后的记录最终状态 | ||
第1方 | 第2方 | 用户定义唯一标识 | 装置产生唯一标识 |
增加 | 增加 | 两个装置中具有相同记录的一个实例 | 两个装置中具有每个记录的一个实例 |
增加 | 修改 | 无相关场景 | 无相关场景 |
增加 | 删除 | 无相关场景 | 无相关场景 |
增加 | 无 | 两个装置中具有相同记录的一个实例 | 两个装置中具有相同记录的一个实例 |
修改 | 增加 | 无相关场景 | 无相关场景 |
修改 | 修改 | 如果每个记录中的相同域被修改,则该域中的数据作为第1方。否则被合并。 | 如果每个记录中的相同域被修改,则该域中的数据作为第1方。否则被合并。 |
修改 | 删除 | 经修改的数据在两个数据库中被反映 | 经修改的数据在两个数据库中被反映 |
修改 | 无 | 经修改的数据在两个数据库中被反映 | 经修改的数据在两个数据库中被反映 |
删除 | 增加 | 无相关场景 | 无相关场景 |
删除 | 修改 | 记录被删除 | 记录被删除 |
删除 | 删除 | 记录被删除 | 记录被删除 |
删除 | 无 | 记录被删除 | 记录被删除 |
无 | 增加 | 两个装置中具有相同记录的一个实例 | 两个装置中具有相同记录的一个实例 |
无 | 修改 | 经修改的数据在两个数据库中被反映 | 经修改的数据在两个数据库中被反映 |
无 | 删除 | 记录被删除 | 记录被删除 |
无 | 无 | 无更改,两个记录是相同的 | 无更改,两个记录是相同的 |
表1冲突处理协议
[0039]表1总结了当多方尝试修改诸如PIM信息之类的信息数据库时协议的冲突处理。多方可以包括单独访问服务器18上特定用户数据库54的不同的个体,或从不同装置访问服务器18上用户数据库54的相同的个体。在所示的实施例中,第1方和第2方具有不同的优先级。优先级可以基于单独的标识而定义。然而,在本发明的一个实施例中,优先级是根据组成系统10的装置而定义的,用户从该装置访问服务器18中的数据库26。在其它实施例中,优先级是基于更改发生的时间而定义的。优先级也可以是由用户配置的。在某些实施例中,用户可以配置冲突模块80以向用户告知冲突以及接收用户输入,从而确定两个冲突更改中的哪一个将成为数据库54的一部分。在这些实施例中,当通知用户冲突更改时冲突模块80可以指示,根据默认协议82或用户定义协议或这两个协议,哪个冲突更改具有优先级。
[0040]在本发明的一个实施例中,存储在同步模块50中的用户协议可以先于同步装置的相应同步数据库52的同步而在所述同步装置之间被传递。这样的步骤是非常有用的,以确保所有方均包括冲突仲裁的相同规则。某些实施例还可以包括与单独记录或记录中单独的域相关的默认协议82和用户协议84。这样的协议可以先于记录或记录中的域的同步而在装置之间被传输。默认协议82和用户协议84可以包括通用的默认规则或用户配置规则,以确定哪一个装置的默认协议82和用户协议84将控制冲突的处理。
[0041]如图4A所示,在本发明的一个实施例中,系统10执行方法100,以通过网络22同步PDA 12、工作站14和服务器18。方法100可以通过如图1所示的PDA 12、工作站14和服务器18的连接而执行。在方法100的一个实施例中,PDA 12可以评估其是否通过网络22连接到或者可连接到服务器18(102)。如果是的话,则PDA12可以随后评估其是否连接到工作站14(104)。如果是的话,则PDA12与上述的工作站14同步(106),这包括同步相应的同步数据库50和根据冲突模块80的操作而处理冲突。方法100随后可以包括,以类似的方式通过网络22将PDA 12与服务器18同步(108)。PDA 12随后可以再次与工作站14同步(110),以传输从服务器18到工作站14的任何更新。如果在步骤104中未发现工作站连接,则PDA 12随后可以通过网络22与服务器18同步(112)。同步步骤的精确顺序是可以变化的,这取决于诸如系统效率、用户选择或装置的可用性之类的因素。例如,步骤106至110的顺序可以变化。在替换实施例中,对一个或多个装置的同步也可以同时或并行地发生。
[0042]如果在步骤102中未发现到服务器18的连接,则方法100可以包括,评估PDA 12是否连接到工作站14(114)。如果是的话,则PDA 12被同步(116)。如果PDA 12没有连接到工作站14,则出错消息将被显示在PDA 12或工作站14或者这两者上(118)。
[0043]如图4B所示,系统10可以执行方法122,以在工作站14发起同步时,将工作站14与PDA 12同步。方法122可以包括,评估工组站14是否通过网络22连接到服务器18(124)。如果是的话,则方法122可以包括,评估是否存在到PDA 12的连接(126)。如果是的话,则PDA将与PDA同步(128),并与服务器18同步(130)。已更新的工作站14将随后与PDA 12同步(132)。如果在步骤126中未发现与PDA 12的连接,则工作站14将与服务器18同步(134)。同步步骤的精确顺序是可以变化的,这取决于诸如系统效率、用户选择或装置的可用性之类的因素。例如,步骤128至132的顺序可以变化。在替换实施例中,对一个或多个装置的同步也可以同时或并行地发生。
[0044]如果在步骤124中未发现到服务器18的连接,则方法100可以包括,评估是否发现了到PDA 12的连接(136)。如果是的话,则工作站14与PDA 12同步(138)。如果未发现到服务器18或PDA12的连接,则出错消息将被显示在PDA 12或工作站14或者这两者上(140)。
[0045]如图5A-5D所示,如上所述,本发明涵盖了形成系统10的装置之间的同步的各种顺序。方法100和122可以为如图5A所示的那样。步骤144包括同步装置146a和装置146b。步骤148包括同步装置146b和146C。步骤150可以包括,同步装置146c和146a,或者再次同步装置146b和装置146a,这样,所有三个装置146a-146c相互间均是同步的。在步骤150中使用的装置146c、146b可以基于哪一个具有将装置146c、146b连接到装置146a的最快连接速度来选择。
[0046]当超过三个装置被同步时,同步的过程可以如图5B-5D中的流程图所示。在图5B的实施例中,装置146a与装置146b被同步(152)。装置146c与装置146d被同步(154)。同步152和同步154可以同时发生,或均先于装置146d和装置146a的同步(156)而发生。在同步156之后,装置146a和146b再次被同步(158),装置146c和146d再次被同步(160)。
[0047]在图5C所示的实施例中,装置146a和146d被同步(162),接着装置146a与146c被同步(164)。装置146a和146b随后被同步(166),接着是装置146c和146a再次被同步(168),随后装置146a和146d再次被同步(170)。
[0048]在图5D所示的实施例中,装置146a和146b被同步(172),装置146c和146d被同步(174)。步骤172和174可以基本上同时发生,只要它们不涉及共同的装置。随后,装置146a和146d被同步(176),装置146b和146c被同步(178)。步骤176和178可以基本上同时执行,只要它们不涉及共同的装置。
[0049]如图5B和5D所示的这些顺序可用将点对点同步的次数减小到两次或三次,如图所示。在每一同步步骤之后,装置包括来自两个装置的所有之前同步的装置的信息,从而使图5D所示的顺序只有两次同步。
[0050]以上描述和说明了本发明的优选实施例,在不偏离本发明的精神和范围的前提下可以对其进行各种各样的修改。因此,本发明的范围不局限于优选实施例中所述的内容。
Claims (39)
1.一种数据同步的方法,所述方法包括:
提供存储第一应用实例的第一计算装置以及存储由所述第一应用实例访问的数据的第一数据库,所述第一计算装置是便携式计算装置;
提供存储第二应用实例的第二计算装置以及存储由所述第二应用实例访问的数据的第二数据库;
提供存储第三数据库的第三计算装置;
提供连接所述第一、第二和第三计算装置的网络;
监视所述第一应用实例对所述第一数据库的访问;
在第一同步数据库中记录对所述第一数据库的更改;
监视所述第二应用实例对所述第二数据库的访问;
在第二同步数据库中记录对工作站数据库的更改;以及
根据所述第一和第二同步数据库,同步所述第一、第二和第三数据库。
2.如权利要求1所述的方法,其中,同步所述第一、第二和第三数据库包括:
首先,同步所述第一同步数据库和第二同步数据库;
随后,将所述第一和第二同步数据库中的至少一个数据库与存储在所述第三计算装置上的第三同步数据库进行同步;以及
最后,同步所述第一同步数据库和第二同步数据库。
3.如权利要求2所述方法,其中,所述第一同步数据库包括具有多个第一标识符的记录,以及其中,所述第二和第三同步数据库各自存储分别具有多个第二和第三标识符的记录,所述第二和第三标识符中的每一个均对应于所述第一标识符之一,以及其中,同步所述第一、第二和第三同步数据库包括:对所述第一、第二和第三同步数据库中具有相同第一、第二和第三标识符的记录进行同步。
4.如权利要求3所述方法,其中,同步记录还包括:
识别对各个记录的更改冲突,以及
根据默认协议和分配给所述更改的优先级来解决冲突。
5.如权利要求4所述方法,其中,根据所述第一和第二同步数据库中的哪一个在同步之前存储了更改,来为所述更改分配所述优先级。
6.如权利要求5所述方法,还包括所述优先级的用户配置。
7.如权利要求6所述方法,其中,所述优先级的用户配置包括:
接收用户选择,所述用户选择所指明的优先级是根据所述更改发生的日期、发起所述更改的装置和在同步过程中接收到的用户输入中的至少一项而定义的。
8.如权利要求4所述方法,还包括:
根据用户定义的协议来解决更改冲突,其中,所述用户定义的协议优先于所述默认协议。
9.如权利要求8所述方法,还包括:
在解决冲突之前,在所述便携式计算装置、工作站和服务器之间传输用户定义协议的至少一个实例。
10.如权利要求1所述方法,还包括:
识别受限制的数据,以及
避免对存储在所述第一、第二和第三数据库中至少一个数据库内的受限制的数据进行同步。
11.一种数据同步的方法,所述方法包括:
提供存储第一应用实例的便携式计算装置以及存储由所述第一应用实例访问的数据的便携式计算机装置数据库;
提供用于存储与所述第一应用实例基本上相同的第二应用实例的计算机工作站以及存储由所述第二应用实例访问的数据的工作站数据库;
提供存储服务器数据库的服务器;
提供连接所述便携式计算装置、工作站和服务器的网络;
监视所述第一应用实例对所述便携式计算装置数据库的访问;
在便携式计算装置同步数据库中记录对所述便携式计算装置数据库的更改;
监视所述第二应用实例对所述工作站数据库的访问;
在工作站同步数据库中记录对所述工作站数据库的更改;以及
根据所述便携式计算装置同步数据库和工作站同步数据库,同步所述便携式计算装置数据库、工作站数据库和服务器数据库。
12.如权利要求11所述的方法,其中,同步所述便携式计算装置数据库、工作站数据库和服务器数据库包括:
首先,同步所述便携式计算装置同步数据库和工作站同步数据库;
随后,将所述服务器同步数据库与所述便携式计算装置同步数据库和工作站同步数据库中的至少一个数据库进行同步;以及
最后,同步所述便携式计算装置同步数据库和工作站同步数据库。
13.如权利要求12所述方法,其中,所述便携式计算装置同步数据库包括具有多个第一标识符的记录,以及其中,所述工作站同步数据库和服务器同步数据库各自存储分别具有多个第二和第三标识符的记录,所述第二和第三标识符中的每一个均对应于所述第一标识符之一,以及其中,同步所述便携式计算装置同步数据库、工作站同步数据库和服务器同步数据库包括:对所述便携式计算装置、工作站和服务器同步数据库中具有相同第一、第二和第三标识符的记录进行同步。
14.如权利要求13所述方法,其中,同步记录还包括:
识别对各个记录的更改冲突,以及
根据默认协议和分配给所述更改的优先级来解决冲突。
15.如权利要求14所述方法,其中,根据所述便携式计算装置同步数据库和工作站同步数据库中的哪一个在同步之前存储了更改,来为所述更改分配所述优先级。
16.如权利要求15所述方法,还包括所述优先级的用户配置。
17.如权利要求16所述方法,其中,所述优先级的用户配置包括:
接收用户选择,所述用户选择所指明的优先级是根据所述更改发生的日期、发起所述更改的装置和在同步过程中接收到的用户输入中的至少一项而定义的。
18.如权利要求14所述方法,还包括:
根据用户定义的协议来解决更改冲突,其中,用户定义协议优先于所述默认协议。
19.如权利要求18所述方法,还包括:
在解决冲突之前,在所述便携式计算装置、工作站和服务器之间传输用户定义协议的至少一个实例。
20.如权利要求11所述方法,还包括:
识别受限制的数据,以及
避免对存储在所述便携式计算装置数据库、工作站数据库和服务器数据库中至少一个数据库内的受限制的数据进行同步。
21.一种产品,包括:
一种计算机可读介质,用于存储具有可执行和可操作数据结构的同步模块,所述同步模块监视第一应用实例对便携式计算装置数据库的访问;
在便携式计算装置同步数据库中记录对所述便携式计算装置数据库的更改;
根据所述便携式计算装置同步数据库和包括工作站数据库更改记录的工作站同步数据库,来同步所述便携式计算装置数据库、工作站数据库和服务器数据库,其中,根据与所述第一应用实例基本上相同的第二应用实例和包括服务器数据库更改记录的服务器同步数据库,来对工作站数据库进行所记录的更改。
22.如权利要求21所述的产品,其中,所述同步模块用于:
首先,将所述便携式计算装置与所述工作站同步数据库进行同步;
随后,将所述便携式计算装置与服务器同步数据库进行同步;以及
最后,与工作站同步数据库进行同步。
23.如权利要求21所述的产品,其中,所述同步模块用于:
首先,将所述便携式计算装置与所述服务器同步数据库进行同步;
随后,将所述便携式计算装置与工作站同步数据库进行同步。
24.如权利要求21所述的产品,其中,所述便携式计算装置同步数据库包括具有第一标识符的便携式计算装置记录,所述同步模块用于与具有第二标识符的工作站记录和具有第三标识符的服务器记录进行同步,所述同步模块将各个便携式计算装置记录与分别具有相同的第二和第三标识的工作站记录与服务器记录进行同步。
25.如权利要求24所述的产品,其中,所述同步模块还用于识别分别具有相同的第一、第二和第三标识符的所述便携式计算装置记录、工作站记录和服务器记录之间的冲突记录,所述同步模块根据预分配的协议和分配给所述便携式计算装置记录、工作站记录和服务器记录中每一个的优先级,来同步冲突的便携式计算装置记录、工作站记录和服务器记录。
26.如权利要求25所述的产品,其中,所述同步模块根据所述冲突记录是便携式计算装置记录、工作站记录还是服务器记录来分配优先级。
27.如权利要求25所述的产品,其中,所述同步模块根据用户输入便携式计算装置用户协议来确定所述优先级。
28.如权利要求27所述的产品,其中,所述同步模块接收用户选择,所述用户选择所指明的优先级是根据所述更改发生的日期、发起更改的装置的类型和在同步过程中接收到的用户输入中的至少一项而定义的。
29.如权利要求28所述的产品,其中,所述同步模块从所述工作站接收工作站用户协议,所述同步模块根据所述便携式计算装置用户协议和工作站用户协议来对冲突记录进行同步。
30.如权利要求21所述的方法,其中,所述同步模块识别所述便携式计算装置记录中受限制的数据,所述同步模块避免将受限制的数据与所述工作站同步数据库和所述服务器同步数据库中的至少一个数据库进行同步。
31.一种在多个装置之间同步数据的系统,所述系统包括:
第一和第二计算装置,所述第一和第二计算装置均具有用于处理可操作和可执行数据结构的处理器以及用于存储可操作和可执行数据结构的存储器,所述第一和第二计算装置的存储器分别存储第一和第二应用实例以及第一和第二应用数据库,所述第一和第二应用实例基本上相同;
存储服务器数据库的服务器;
有选择地使所述第一和第二计算装置以及所述服务器在相互间进行数据通信的网络;
其中,第一和第二计算装置执行客户端同步模块,所述第一和第二计算装置的同步模块用于:
监视所述第一和第二应用实例对相应的所述第一和第二应用数据库的访问;
在第一和第二同步数据库中记录对相应的所述第一和第二数据库的更改;
其中,执行服务器同步模块的所述服务器用于监视所述服务器数据库的更改,以及在服务器同步数据库中存储更改记录;
其中,所述客户端同步模块和服务器同步模块用于同步所述第一同步数据库、第二同步数据库和所述服务器同步数据库。
32.如权利要求31所述的系统,其中,
所述客户端同步模块用于接收使所述客户端同步模块同步第一同步数据库和第二同步数据库的输入;
所述第一和第二装置的客户端同步模块中的至少一个用于在所述第一和第二装置之间的同步之后发起与所述服务器同步模块的同步;以及
所述第一和第二客户端同步模块用于同步所述第一和第二同步数据库。
33.如权利要求31所述的系统,其中,
所述第一和第二同步数据库分别包括具有第一和第二标识符的记录;
所述服务器同步数据库包括具有第三标识符的记录,其中,每一单个的第二和第三标识符均对应于相同的单个第一标识符;以及
所述客户端同步模块和服务器同步模块中的至少一个用于将具有第一标识符的每一记录与具有相同第二标识符的记录和具有相同的第三标识符的记录进行同步。
34.如权利要求33所述的系统,其中,所述同步模块用于识别具有第一标识符的记录和具有与所述第一标识符相同的第二和第三标识符的记录之间的更改冲突,所述同步模块根据预设定的协议和分配给所述更改的优先级来解决冲突。
35.如权利要求34所述的系统,其中,根据所述第一装置、第二装置和服务器中的哪一个在同步之前存储了记录,来为所述记录分配所述优先级。
36.如权利要求35所述的系统,其中,所述第一客户端同步模块、第二客户端同步模块和服务器同步模块根据用户选择的优先级输入来分配优先级。
37.如权利要求36所述的系统,其中,所述第一客户端同步模块、第二客户端同步模块和服务器同步模块根据记录创建的日期、创建所述记录的装置和在同步过程中接收到的用户输入中的至少一项来分配优先级。
38.如权利要求36所述的系统,其中,所述第一客户端同步模块、第二客户端同步模块和服务器同步模块存储所述用户选择的优先级输入,并在同步期间传输所述用户选择的优先级输入。
39.如权利要求31所述的系统,其中,部分所述记录包括受限制的数据,所述第一客户端同步模块、第二客户端同步模块和服务器同步模块用于限制受限制数据的传输。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62204404P | 2004-10-25 | 2004-10-25 | |
US60/622,044 | 2004-10-25 | ||
US11/258,723 | 2005-10-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101142573A true CN101142573A (zh) | 2008-03-12 |
Family
ID=39193603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005800443121A Pending CN101142573A (zh) | 2004-10-25 | 2005-10-25 | 全局数据同步的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101142573A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101489079B (zh) * | 2008-01-15 | 2011-05-18 | 索尼株式会社 | 成像装置、图像管理方法和程序 |
CN101489080B (zh) * | 2008-01-15 | 2011-05-18 | 索尼株式会社 | 成像装置、图像管理方法和程序 |
CN102073915A (zh) * | 2009-11-19 | 2011-05-25 | 北汽福田汽车股份有限公司 | 办公自动化系统和办公自动化系统的实现方法 |
CN102132270A (zh) * | 2008-08-26 | 2011-07-20 | 微软公司 | 用于设备和web服务的多主控方离线和协作所需要的最小扩展 |
CN103092702A (zh) * | 2011-11-01 | 2013-05-08 | 宏碁股份有限公司 | 数据同步方法及应用该方法的数据同步系统 |
WO2013131448A1 (zh) * | 2012-03-09 | 2013-09-12 | 华为技术有限公司 | 数据同步方法、系统及数据访问装置 |
CN104272649A (zh) * | 2011-11-04 | 2015-01-07 | 达索系统加拿大软件股份有限公司 | 用于通过网络进行数据同步的系统和方法 |
CN104838379A (zh) * | 2012-12-04 | 2015-08-12 | 汤姆逊许可公司 | 数据库同步 |
-
2005
- 2005-10-25 CN CNA2005800443121A patent/CN101142573A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101489079B (zh) * | 2008-01-15 | 2011-05-18 | 索尼株式会社 | 成像装置、图像管理方法和程序 |
CN101489080B (zh) * | 2008-01-15 | 2011-05-18 | 索尼株式会社 | 成像装置、图像管理方法和程序 |
CN102132270A (zh) * | 2008-08-26 | 2011-07-20 | 微软公司 | 用于设备和web服务的多主控方离线和协作所需要的最小扩展 |
CN102132270B (zh) * | 2008-08-26 | 2014-03-12 | 微软公司 | 用于设备和web服务的多主控方离线和协作所需要的最小扩展 |
US9009108B2 (en) | 2008-08-26 | 2015-04-14 | Microsoft Technology Licensing, Llc | Minimal extensions required for multi-master offline and collaboration for devices and web services |
CN102073915A (zh) * | 2009-11-19 | 2011-05-25 | 北汽福田汽车股份有限公司 | 办公自动化系统和办公自动化系统的实现方法 |
CN103092702A (zh) * | 2011-11-01 | 2013-05-08 | 宏碁股份有限公司 | 数据同步方法及应用该方法的数据同步系统 |
CN104272649A (zh) * | 2011-11-04 | 2015-01-07 | 达索系统加拿大软件股份有限公司 | 用于通过网络进行数据同步的系统和方法 |
WO2013131448A1 (zh) * | 2012-03-09 | 2013-09-12 | 华为技术有限公司 | 数据同步方法、系统及数据访问装置 |
CN104838379A (zh) * | 2012-12-04 | 2015-08-12 | 汤姆逊许可公司 | 数据库同步 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102214205B (zh) | 用于经聚类的数据库系统中的逻辑复制的系统和方法 | |
US8555018B1 (en) | Techniques for storing data | |
JP6731783B2 (ja) | 改ざん検知システム、及び改ざん検知方法 | |
CN105144159B (zh) | Hive表链接 | |
US20060106881A1 (en) | System and method for global data synchronization | |
CN104040481B (zh) | 用于融合、存储和检索增量式备份数据的方法和系统 | |
CN101142573A (zh) | 全局数据同步的系统和方法 | |
CN101410836B (zh) | 向应用提供对存储在数据库中的数据的访问的方法 | |
CN101426026B (zh) | 一种多服务器间数据同步的方法及系统 | |
CN100555279C (zh) | 不用快照的项同步系统和方法 | |
CN103080926A (zh) | 多租户环境中的个人和社会信息的可移植性 | |
US9128768B2 (en) | Cloud based master data management | |
US20060004686A1 (en) | Real-time reporting, such as real-time reporting of extrinsic attribute values | |
CN100458790C (zh) | 访问数据库的方法和系统 | |
CN108090225A (zh) | 数据库实例的运行方法、装置、系统及计算机可读存储介质 | |
CA2348887A1 (en) | Method and apparatus for data management using an event transition network | |
JP2003511796A (ja) | 統合型データベース結合システム | |
JP2007193537A (ja) | タグ情報管理プログラム、タグ情報管理方法およびタグ情報管理装置 | |
CN102246141A (zh) | 软件组件的多层存储和管理 | |
US20090234902A1 (en) | System, method and apparatus for making content available over multiple devices | |
CN102097015B (zh) | 一种作业指导书处理系统及方法 | |
CN112860777B (zh) | 数据处理方法、装置及设备 | |
US20060271384A1 (en) | Reference data aggregate service population | |
US20180219737A1 (en) | Management of cloud-based shared content using predictive cost modeling | |
JP2009146350A (ja) | サービス管理装置及びデータアクセス制御装置及びデータ検索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |