CN1326571A - 变更记录处理的优化 - Google Patents
变更记录处理的优化 Download PDFInfo
- Publication number
- CN1326571A CN1326571A CN99813340A CN99813340A CN1326571A CN 1326571 A CN1326571 A CN 1326571A CN 99813340 A CN99813340 A CN 99813340A CN 99813340 A CN99813340 A CN 99813340A CN 1326571 A CN1326571 A CN 1326571A
- Authority
- CN
- China
- Prior art keywords
- change
- database
- subclauses
- clauses
- record
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
- Telephonic Communication Services (AREA)
- Debugging And Monitoring (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Handling Of Cut Paper (AREA)
- Multi-Process Working Machines And Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种信息同步方法和装置在第一个数据库(230)中储存有一个有关的变更计数器的一个变更记录(240),根据来自第二个数据库(200)的数据和更新命令,更新第一个数据库(230)中的变更计数器,并根据第一个数据库(230)中数据库更新命令的处理状况,将更新过的变更计数器值返回第二个数据库(200)。发生中断或者差错的时候,这个信息同步协议(220)能够保证第二个数据库(200)保存着用于随后的同步过程的最新的变更计数器值,从而通过让第二个数据库(200)只处理更新过的变更计数器值以后第一个数据库(230)中的那些变更,提高信息同步的效率。
Description
相关申请
本专利申请要求享受1998年11月17日提交的专利序列号为60/108902,以及1998年12月1日提交的专利序列号为60/110485的共同未决美国临时申请的优先权,这里将它们的内容全部引入作为参考。本专利申请的主题还涉及__提交的专利序列号为__的共同未决美国非临时专利申请(代理人文号34650-00402)。
发明背景
技术领域
总的来说,本发明涉及通信领域,具体地说,涉及采用变更记录来提高有关装置之间信息同步效率的同步程序的优化。
相关技术
手持式管理器,比如个人数字助理,在我们的现代信息社会里已经变得越来越普及。这些小型便携式装置使得用户能够很方便地储存和维护象联系人、电话簿、日历、任务列表这种信息,并使用户能够将储存的信息跟类似的手持式管理器中的信息保持同步,或者跟模仿适当的硬件或者软件协议的另外一种计算装置中的信息保持同步。这一同步过程使得用户能够在第一个装置中增加、修改或者删除信息,并将增加、修改或者删除了的信息跟第二个装置里的信息同步,从而使两个装置都包含同样的信息。随着最近将手持式装置或者至少它们的功能结合进无线通信装置,比方说结合进移动电话和寻呼机,以及在传统的手持式管理器上增加无线接口,通过让用户通过无线接口将储存在有关装置中的信息进行同步,这一同步过程已经变得更加简单、更加方便。
通过采用变更记录处理,信息同步的方便性和效率已经得到了进一步增强和提高。变更记录通常是一个寄存器或者一组记录,其中储存着对有关数据库之一进行的变更的一个记录。例如,跟第一个数据库有关的变更记录储存和维护着跟第一个数据库的记录的变更有关的信息。在同步过程中,变更记录被同步装置用于只处理包括在变更记录中的那些变更。因此,通过避免比较第一个数据库中包括的每一条记录跟包括在第二个数据库中每一条对应的记录,以便在这两个数据库之间保持一个一一对应的关系,变更记录明显地提高了信息同步的效率。
这种方法的一个明显问题是变更记录是在第一个数据库中储存和维护的,这就使得同步装置必须在启动同步程序以后请求将整个变更记录传输过来。因为同步装置必须按照第一个数据库中变更的顺序变更第二个数据库,同步装置必须读出整个变更记录,以确认变更记录中最旧的条目(例如一个数据库中最旧的变更)。随着变更记录的多少不同,这一过程可能会非常费时。
另一个明显的问题是现有的方法没有说明将变更记录传输给同步装置的最好方法,也没有说明同步装置处理变更记录的最优顺序,更没有说明在传输变更记录的过程中发生中断的时候同步装置应该如何处理。例如,典型的传输是从变更记录的第一个字节开始的,在变更记录的最后一个字节结束。如果在传输过程中发生了中断,这个同步装置就不会收到变更记录中最旧的条目,它就不能在第二个数据库中开始处理变更记录中的条目。因此,变更记录传输的中断会迫使同步装置跟第一个数据库的连接恢复以后,请求重新传输整个变更记录。这一过程进一步地降低了信息同步的效率。
因此,考虑到现有方法的缺陷,需要一种方法和装置,这种方法和装置能够优化采用变更记录的同步过程,从而提高信息同步的效率。
发明简述
现有技术中的这些缺陷是用本发明的方法和系统来弥补的。例如,如同迄今为止还没有认识到的一样,通过提高变更记录的处理效率,对优化第一个装置和第二个装置之间的信息同步是有好处的。例如,根据本发明的一个方面,第二个装置储存一个变更计数器值,这个值跟储存在第一个装置中的变更记录的最后那个同步条目有关。包括提交了变更计数器值以后出现的条目的一部分变更记录,最好是按照预先确定的次序从第一个装置传输给第二个装置,从而避免在变更记录的传输过程中发生中断的时候需要重新启动同步过程。还有,储存在第二个装置中的变更计数器值,最好在第二个装置处理完传输过的变更记录的每一个条目之后并响应于第一个装置中进行的数据库更新来进行更新。
在第一个实施方案中,当前的变更计数器储存在第一个装置中,并在第一个装置中响应第二个装置的数据库更新命令进行更新。根据第一个装置中数据库的更新命令的处理状况,第一个装置随后将更新过的变更计数器值返回给第二个装置。更新过的变更计数器可以包括在例如给第二个装置的一则确认消息中。这则确认消息可以将当前变更计数器值、第一个装置中记录的唯一标识(UID)和数据库更新命令的状态告诉第二个装置。第二个装置可以随后将返回的变更计数器的值储存起来,供以后的同步过程使用,或者在发生中断或者其它差错的情况下使用,而没有必要读出整个变更记录。
在第二个实施方案中,第二个装置在启动同步程序的时候将储存的变更计数器提交给第一个装置,第一个装置向第二个装置传输在提交了变更计数器以后变更记录里的条目。变更记录里的条目最好是用相反的顺序传输给第二个装置(例如变更记录中最旧的条目最先传输)。第二个装置最好首先处理变更记录中最旧的条目,在每个条目处理过以后更新储存在第二个装置中的变更计数器。结果,第二个装置在发生中断的时候能够避免重新启动同步程序,能够按照收到的变更记录的条目开始更新,即使只是收到传输过来的一部分变更记录。
本发明的技术优点包括,但不限于,以下示例性的技术优点。应当明白,这些实施方案可以不涉及以下示例性的技术优点。
本发明的一个重要技术优点是,通过保证第二个装置维护好当前的变更计数器,它能够提高变更记录处理的效率。
本发明另外一个重要的技术优点是,它使得第二个装置能够处理变更记录条目,而不管变更记录的传输是否发生了中断。
本发明再一个重要的技术优点是,它使得第二个装置能够开始处理变更记录,即使实际上只收到一部分变更记录。
本发明还有一个重要的技术优点,那就是它通过优化变更记录处理使用变更记录,能够提高同步过程的效率。
本发明上面描述的特征和其它特征将参考附图中示例性的实例更加详细地加以说明。本领域里的技术人员会明白描述的这些实施方案是为了进行说明和帮助理解,从它们可以想出各种等价的实施方案。
附图简述
通过阅读以下详细说明并参考附图,会更好地理解本发明的方法和系统,其中:
图1是将储存在第一个装置里的信息跟储存在多个有关装置里的信息进行同步的无线系统的一个示例性框图;
图2是能够用于同步不同数据库的同步装置的一个示例性功能框图;和
图3A、3B、3C和3D用流程图的形式说明实践本发明的原理的示例性方法。
附图详述
在以下说明中,为了进行说明而不是进行限制,给出了具体细节,比方说特定的电路、逻辑模块(例如用软件、硬件、固件、它们的某种组合实现的)、技术等,以帮助全面地理解本发明。但是,对于本领域里的技术人员而言,本发明显然可以用不同于这些具体细节的其它实施方案来实践。在其它情形中,省去了对众所周知的方法、装置、逻辑模块(例如:硬件、软件、固件等等)的详细描述,以免喧宾夺主。
通过参考附图1~3D,能够很好地理解本发明的优选实施方案和它的优点,附图中相似的数字用于说明相似和对应的部件。应当强调,虽然以下说明描述本发明的特定方面的时候针对的是在有关的无线装置之间通过无线接口进行信息同步,但是本发明并不局限于这样的装置或者接口。相反,本发明的原理同样可以应用于通过例如电或者电子机械连接器在其它类型的装置之间进行信息同步。因此,以下描述只是为了进行说明而不是进行限制。
参考图1,用10说明将储存在第一个装置中的信息跟储存在多个有关装置中的信息进行同步的无线系统的一个示例性框图。这个示例性无线系统包括第一个装置,比如无线手机100,它能够跟一个或者多个有关的装置通信,例如跟另外一个无线手机110、一台个人计算机(PC)120、一个个人数字助理(PDA)125、一个寻呼机130和一个车载电话支架150通信。除了跟第一个装置100通信以外,这些有关装置110、120、125、130和150中的每一个,都能够跟一个或者多个装置通信。例如,个人计算机120可以跟寻呼机120通信,寻呼机120还可以跟另外一个寻呼机140通信。图1中描述的装置最好是利用例如红外收发信机或者近距离无线电收发信机通过无线接口160互相通信。
每个装置100、110、120、125、130、140和150还包括对应的一个数据库(图1中没有画出),它们储存着信息,比如电话簿、日历、任务列表等。通过采用适当的同步协议同步这些不同的数据库,可以同步储存在每个装置里的信息,从而使每个装置都包括相同的信息(例如变更一个数据库中的条目或者记录的时候,也对其它数据库进行变更)。
参考图2,能够用于同步不同数据库的一种同步装置的示例性功能框图笼统地用20说明。这个示例性的装置包括一个同步(sync)引擎210,跟某个(同步引擎)数据库200连接和相关。例如,这个同步引擎数据库200可以是跟图1所示无线手机100有关或者包括在其中作为一部分的一个数据库。在这种情况下,“同步引擎”最好是实现数据库同步功能的软件。但是,实现同步引擎功能的装置也可以被看作同步引擎210的一部分。第二个装置数据库230要跟同步引擎数据库200实现同步。例如,装置数据库230可以跟PDA 125相关或者包括在其中作为一部分。值得注意,这一同步过程可以在两个方向进行。例如,PDA125也可以包括一个同步引擎210,从而允许将跟无线手机100有关的装置数据库230和跟PDA125有关的同步引擎数据库实现同步。
同步协议220用于规范数据库的同步过程。最好有一个变更记录240跟装置数据库230有关,最好是一个记录或者寄存器,其中临时贮存着对装置数据库230的变更。例如,变更记录240的大小可以是固定的,增加新的变更的时候,旧的变更被推出变更记录240。这样,变更记录240中的每一个条目都跟对装置数据库230进行的特定操作(例如增加、删除或者修改)、时间标记(或者变更计数器值)和一个唯一的标识符(UID)有关。UID是分配给数据库中每一个新条目的一个编号。这些UID编号是唯一的指的是在同样的数据库中不会重复使用它们。最好是为每一次变更将变更计数器值储存在变更记录240中,并且在完成同步程序以后也储存在同步引擎210中。
在同步引擎数据库200和装置数据库230之间同步信息的时候,同步协议220通常进行“慢”同步或者“快”同步。进行第一次同步尝试的时候,如果两个数据库200、230中至少有一个包括信息,就进行慢同步过程。慢同步是这样一个过程,其中一个数据库中的所有条目都要跟有关数据库中的所有条目进行比较。随后一个条目一个条目的增加、修改或者删除,从而在两个数据库上200、230之间保持一种一一对应的关系。进行这种慢同步过程的时候,创建一个UID分辨表(resolutiontable)(例如通过同步引擎软件)。这个UID分辨表中的条目反映了已经同步了的两个数据库中条目之间的关系。例如,如果装置数据库230中一个条目有一个UID,这个UID分辨表就提供装置数据库230中这个条目的UID和同步引擎数据库200中同一个条目的UID。相反,如果在上一次同步完成以后变更记录240包括所有的数据库变更信息,就进行快同步过程(例如变更记录240中还没有任何条目被推出去)。进行这种快同步过程的时候,在装置数据库230和同步引擎210之间只对受到影响的数据库中没有同步的那些变更进行比较和传输。因此,快同步比慢同步要快得多。
同步装置20碰到的一个问题是同步引擎210可能不知道变更计数器的当前值,因为变更计数器和跟数据库记录有关的UID都是在装置数据库230中创建的,而不是在同步引擎210中创建的。例如,当同步引擎210更新装置数据库230的时候,同步引擎210并不知道变更计数器的当前值。可以采用的一种技术是在每一个条目增加到装置数据库230中以后返回每一个条目的UID作为装置数据库230已经收到并处理过新条目的确认。而变更计数器值则不返回。这一技术的缺点是在全面同步以后,同步引擎210必须读出整个变更记录240,以便确定变更计数器的当前值。随着变更记录240大小的不同,这一过程有可能是非常耗时的。
从装置数据和230向同步引擎210传输变更记录240的过程中发生中断的时候会出现另外一个问题。例如,典型的传输从变更记录240的开头开始,在变更记录240的最后一个字节结束。结果,如果在传输过程中发生中断,同步引擎210将不会收到变更记录中的最后一个条目,因此,不能收到变更记录中最旧的条目。所以,同步引擎210不能开始处理变更记录240,或者请求获得数据库记录,直到恢复连接以后,同步引进210将变更记录240全部重新读取过来。这样降低了变更记录处理的效率。
参考图3A、3B、3C和3D,用30以流程图的形式说明能够实践本发明的原理的一种示例性方法。应当注意,这里描述的示例性方法是用例如图2描述的示例性同步装置和/或图1描述的示例性系统来实现的。为了进行说明而不是进行限制,下面针对同步引擎数据库200和装置数据库230之间的数据和同步描述这一示例性的方法。这些数据库200、230可以包括在图1所示的一个或者多个装置中,或者跟它们有关。但是这一示例性的方法并不局限于这些具体装置。相反,技术人员会认识到这一示例性方法也能同样用于不同于这里描述的具体细节的其它实施方案。还应当强调这一方法可以在两个方向上进行(例如,装置数据库230可以包括一个同步引擎210,它按照跟同步引擎数据库200有关的变更记录240,同步装置数据库230和同步引擎数据库200之间的信息)。
参考图3A,这一示例性的方法从步骤300开始,同步引擎210向跟它通信的装置数据库230请求获得一个序列号。这一请求可以被例如从装置数据库230收到寻呼信号或者应答信号所启动。响应这一序列号请求,装置数据库230在步骤310中将有关的序列号返回给同步引擎210。这一有关的序列号最好唯一地说明装置数据库230,而且能够包括例如一个蓝牙ID或者跟另外一个通信协议有关的一个标识。同步引擎210随后在步骤320中将收到的序列号跟储存的已知装置的清单进行比较,以判断这个装置是不是一个新装置,以此说明需要第一次同步。
如果同步引擎210认为这个装置是一个新装置(例如需要第一次同步),这一过程就进入步骤A,在那里进行慢同步。参考图3B,同步引擎210在步骤330中通过首先从装置数据库230请求获得变更计数器(CC)的当前值来进行慢同步过程。响应这一请求,装置数据库230返回变更计数器的当前值,同步引擎210在步骤340中暂时贮存返回过来的变更计数器值。同步引擎210随后在步骤350中请求获得装置数据库230上的所有数据记录,装置数据库230在步骤360中将它所有的记录返回给同步引擎210。同步引擎210随后在步骤370中通过将来自装置数据库230中的所有记录跟储存在同步引擎数据库200中的记录进行比较来进行慢同步过程。这一比较步骤是一个字段一个字段地进行的,从而在装置数据库230和同步引擎数据库200之间维持一种一一对应关系。在慢同步过程完成以后,同步引擎210在步骤380中储存变更计数器的当前值,然后将它用于随后的同步过程,下面将对此详细说明。
现在回到图3A中的步骤320,如果同步引擎210认为这个装置不是新装置(例如已经进行过第一次同步),这一过程就进入步骤B,在那里同步引擎210启动快同步程序,如图3C所示。在这一快同步过程中,同步引擎210将它储存的变更计数器值提交给装置数据库230,并在步骤390中请求装置数据库230提供提交了变更计数器值以后变更了变更记录240的条目。如果装置数据库230在步骤400中认为没有同步过的所有变更都在变更记录240中(例如在提交了变更计数器值以后变更记录240中所有的条目没有一个被推出去),装置数据库230就在步骤410中返回提交了变更计数器值以后发生的变更记录240的所有条目。装置数据库230最好以相反的顺序返回这些条目(例如最旧的条目最先返回),这样,如果在变更记录240的条目传输过程中发生了中断,同步引擎210就至少能够对已经收到的条目开始处理变更记录240。否则,传输中断会迫使同步引擎210在重新建立起连接以后重新读整个变更记录240,这样才能收到变更记录240中最旧的未同步条目。
在步骤400中,如果装置数据库230认为不是所有的未同步变更都在变更记录240中(例如提交了变更计数器值以后变更记录240中的一些条目已经被推出去),装置数据库230就在步骤415中返回给同步引擎210一个“太多的变更”信号,比如一个“*”。这个“太多的变更”信号告诉同步引擎210采用快同步过程是不行的,必须采用另外一个程序。因此,同步引擎210在步骤420中查看返回过来的变更记录,以确定是否所有的条目都在。如果是这样,同步引擎210就在步骤430中判断返回的变更记录是不是空的(例如自从上次同步以后装置数据库230中没有任何变更)。如果返回的变更记录是空的,这一过程就进入图3D所示的步骤C。否则,同步引擎210就在步骤440中根据返回的变更记录中包括的条目,向装置数据库230请求获得数据库记录。装置数据库230在步骤450中返回被请求获得的记录。同步引擎210根据变更记录的每一个返回条目和每一个返回记录对同步引擎数据库200进行数据库更新,正在返回的变更记录的每一个条目被处理完以后在步骤460中将储存的变更计数器的值加1。同步引擎210为返回的变更记录中包括的每一个条目重复步骤440~460,直到同步引擎210在步骤470中认为所有的变更都已经处理完。然后这一过程进入图3D所示的步骤C。
应当指出,在本发明的一个优选实施方案中,同步引擎210以相反顺序处理返回过来的变更记录(例如变更记录中最旧的条目最先处理),并在处理完返回的变更记录中的每一个条目之后,更新同步引擎210中储存的变更计数器的值或者将它加1。这样就使得同步引擎210能够跟踪变更计数器的当前值,如果变更记录240传输过程中发生中断或者发生其它差错,同步引擎210就能够按照最后一次更新的变更计数器值开始处理变更记录。因此,同步引擎210可以避免从头开始重新启动同步过程。此外,如果装置数据库230在步骤410中首先传输最旧的条目,同步引擎就总是能够收到信息的有效部分,并能够开始处理返回的条目,即使这一传输被中断,只收到一部分条目。
返回到图3C的步骤420,如果同步引擎210发现有“太多的变更”,同步引擎210就进行一种“半慢(semi-slow)”同步过程。这一过程从同步引擎210在步骤480中向装置数据库230请求获得的所有数据库记录开始。装置数据库230随后在步骤490中将它所有的数据库记录(最好是首先提供最旧的记录)返回给同步引擎210。在步骤500中,同步引擎210将返回记录的UID跟储存在同步引擎210中的UID分辨表进行比较,以便处理装置数据库230和同步引擎数据库200之间的差别。这一过程比慢同步过程要有效得多。同步引擎210随后在步骤510中向装置数据库请求获得变更记录240,并在步骤520中按照返回的变更记录240中最新的条目更新同步引擎210中储存的变更计数器值。这一过程随后进入图3D所示的步骤C。
在步骤C中,将同步引擎数据库200中的变更,如果有的话,跟装置数据库230同步。因此,同步引擎210在步骤530中判断同步引擎数据库200是否有任何变更。如果没有,这一过程就已经完成,同步过程结束。如果有变更,同步引擎210就在步骤540中将变更“放(put)”到装置数据库230中去。这一步骤涉及到同步引擎210发出一个数据库更新命令(例如一个“放”命令)给装置数据库230,让装置数据库230对它的数据库记录进行某些变更,比如增加新的记录。在成功地执行完数据库更新命令以后,装置数据库230通过在步骤550中采取有关的数据库行动(例如增加、修改、删除),有关数据库记录的UID和更新过的(或者加过1的)变更计数器,来更新变更记录240。在步骤560中,装置数据库230返回一则确认消息,它包括例如数据库更新命令(例如正常或者有差错),有关的数据库记录的UID和变更计数器更新以后的值的状态。同步引擎210随后在步骤570中按照返回的变更计数器值更新它储存的变更计数器值。应当指出装置数据库230最好返回变更计数器的当前值,而不管数据库更新命令是否被成功地执行。返回的变更计数器的值使得同步引擎210保持最新的变更计数器值,用于随后的同步过程或者在处理变更记录的过程中发生了差错的情况。同步引擎210按照判断步骤580中的肯定/对/确定分支所说明的,未同步引擎数据库200的每一变更重复步骤540~570。一旦处理完所有变更,同步过程就已经完成,这一过程结束。
虽然已经在附图和前面的详细说明中描述了本发明的方法和系统的优选实施方案,但是应当明白,本发明并不局限于这里公开的实施方案,而是能够有许多调整、修改和替换,而不会偏离前面给出,后面的权利要求说明的本发明的实质和范围。
Claims (27)
1.优化变更记录处理的一种方法,该方法包括以下步骤:
在第一个装置中储存一个变更计数器值;
根据来自第二个装置的数据库更新命令,更新第一个装置中的变更计数器;和
根据第一个装置中数据库更新命令的处理状况,将更新过的变更计数器值返回第二个装置。
2.权利要求1中优化变更记录处理的方法,其中的返回步骤包括在给第二个装置的确认消息中返回更新过的变更计数器值。
3.权利要求2中优化变更记录处理的方法,其中的确认消息还包括第一个装置数据库记录的一个唯一标识符(UID)和数据库更新命令的状态。
4.权利要求1中优化变更记录处理的方法,其中的处理状况包括成功地完成数据库更新命令和终止数据库更新命令中的至少一个。
5.权利要求1中优化变更记录处理的方法,还包括根据从第一个装置返回的更新过的变更计数器值,更新储存在第二个装置中的第二个变更计数器的步骤。
6.权利要求5中优化变更记录处理的方法,还包括以下步骤:
第二个装置响应同步过程的启动,将第二个变更计数器提交给第一个装置;和
第一个装置将提交了的第二个变更计数器以后变更记录里的条目传输给第二个装置,变更计数器里的条目传输给第二个装置的时候,最旧的条目最先传输。
7.权利要求6中优化变更记录处理的方法,还包括以下步骤:
第二个装置处理传输过来的变更记录的条目的时候,最先处理最旧的条目;和
处理完传输过来的变更记录中的每一个条目以后,第二个装置更新第二个变更计数器。
8.权利要求7中优化变更记录处理的方法,还包括以下步骤:
如果在变更记录条目的传输过程中发生了中断,第二个装置就将第二个变更计数器的值重新提交给第一个装置;和
第一个装置传输重新提交第二个变更计数器以后变更记录的条目。
9.权利要求1中优化变更记录处理的方法,其中的第一个装置包括一个装置数据库,第二个装置包括一个软件同步引擎。
10.权利要求1中优化变更记录处理的方法,其中第一个装置包括无线手机、计算机、个人数字助理(PDA)、寻呼机和汽车电话支架中的至少一个。
11.权利要求1中优化变更记录处理的方法,其中的第二个装置包括无线手机、计算机、个人数字助理(PDA)、寻呼机和汽车电话支架中的至少一个。
12.一种方法,用于提高在第一个装置和第二个装置直接同步信息的效率,该方法包括以下步骤:
在第一个装置中储存第一个变更计数器;
从第二个装置收到数据库更新命令的时候,在第一个装置中更新第一个变更计数器;
根据第一个处理器中数据库更新命令的处理状况,将更新过的第一个变更计数器返回给第二个装置;
根据返回过来的更新过的第一个变更计数器,更新储存在第二个装置中的第二个变更计数器;
在启动同步程序的时候,第二个装置将更新过的第二个变更计数器提交给第一个装置;
第一个装置向第二个装置传输变更记录的一部分,这一部分变更记录包括在提交过的第二个变更计数器以后跟第一个装置有关的数据库的变更记录,这一部分变更记录传输给第二个装置的时候,最旧的条目最先传输;
第二个装置处理这一部分变更记录的时候,最先处理最旧的条目;和
在这一部分变更记录中的每一个条目都被处理完以后,第二个装置更新储存的第二个变更计数器。
13.权利要求12中提高第一个装置和第二个装置之间信息同步效率的方法,其中的返回步骤包括在给第二个装置的确认消息中返回更新过的第一个变更计数器。
14.权利要求13中提高在第一个装置和第二个装置之间信息同步效率的方法,其中的确认消息还包括跟数据库记录有关的一个唯一标识符(CID)和数据库更新命令的状态。
15.权利要求12中提高第一个装置和第二个装置之间信息同步效率的方法,还包括以下步骤:
如果在传输那一部分变更记录的时候发生了中断,第二个装置就重新将第二个变更计数器提交给第一个装置;和
第一个装置将重新提交完第二个变更计数器以后的那一部分变更记录传输过去。
16.权利要求12中优化变更记录处理的方法,其中的第二个装置包括一个软件同步引擎。
17.优化第一个装置和第二个装置之间信息同步的一种系统,这个系统包括:
第一个数据库,它有一个变更记录,这个变更记录包括跟第一个数据库进行的每一变更有关的一个变更计数器;
第二个数据库,跟第一个数据库有关;和
跟第二个数据库有关的一个同步引擎,用于同步第一个数据库和第二个数据库之间的信息,这个同步引擎用于向第一个数据库发出数据库更新命令,以处理第二个数据库的变更,这个同步引擎根据第一个数据库中数据库更新命令的处理状况,从第一个数据库接收更新过的变更计数器。
18.权利要求17中优化第一个装置和第二个装置之间信息同步的系统,其中更新过的变更计数器是从来自第一个数据库的确认消息中收到的。
19.权利要求18中优化第一个装置和第二个装置之间信息同步的系统,其中的确认消息还包括第一个数据库一条记录的一个唯一标识符(UID)和数据库更新命令的状态。
20.权利要求17中优化第一个装置和第二个装置之间信息同步的系统,其中的处理状况包括成功地完成数据库更新命令和数据库更新命令结束这两个中的一个。
21.权利要求17中优化第一个装置和第二个装置之间信息同步的系统,其中的同步引擎根据从第一个数据库收到的更新过的变更计数器,更新储存在同步引擎中的第二个变更计数器。
22.权利要求21中优化第一个装置和第二个装置之间信息同步的系统,其中的同步引擎在启动同步过程的时候将第二个变更计数器提交给第一个数据库,其中的第一个数据库将提交过第二个计数器以后变更记录中的条目传输给同步引擎,将变更记录的条目传输给同步引擎的时候,最旧的条目最先传输。
23.权利要求22中优化第一个装置和第二个装置之间信息同步的系统,其中的同步引擎处理传输过来的变更记录的条目的时候,最先处理最旧的条目,在每一条目都处理完了以后同步引擎更新第二个变更计数器。
24.权利要求17中优化第一个装置和第二个装置之间信息同步的系统,其中的同步引擎包括用于完成数据库同步功能的一个软件模块。
25.优化变更记录处理的一种方法,用于第一个装置和第二个装置之间的信息同步,这个方法包括以下步骤:
在启动同步程序的时候,向第一个装置提交储存在第二个装置中的变更计数器;
第一个装置返回储存在第一个装置中的变更记录的条目,这些条目有一个大于提交的变更的计数器值的变更计数器值,第一个装置以变更计数器增大的顺序返回变更记录的条目;和
第二个装置以变更计数器增大的顺序处理返回的变更记录的条目。
26.权利要求25中用于第一个装置和第二个装置之间信息同步,优化变更记录处理的方法,还包括在返回来的变更记录中的每一个条目都被处理完以后,更新储存在第二个装置中变更计数器值的步骤。
27.权利要求26中用于第一个装置和第二个装置之间信息同步,优化变更记录处理的方法,还包括以下步骤:
在第二个装置检测到差错状况的时候,向第一个装置提交更新过的变更计数器值;和
第一个装置将变更计数器的值大于提交过的更新过的变更计数器的变更记录条目返回过去,第一个装置以变更计数器增大的顺序返回变更记录中的条目。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10890298P | 1998-11-17 | 1998-11-17 | |
US60/108,902 | 1998-11-17 | ||
US11048598P | 1998-12-01 | 1998-12-01 | |
US60/110,485 | 1998-12-01 | ||
US09/427,910 US6516314B1 (en) | 1998-11-17 | 1999-10-27 | Optimization of change log handling |
US09/427,910 | 1999-10-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1326571A true CN1326571A (zh) | 2001-12-12 |
CN1118773C CN1118773C (zh) | 2003-08-20 |
Family
ID=27380563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN99813340A Expired - Lifetime CN1118773C (zh) | 1998-11-17 | 1999-11-05 | 变更记录处理的优化 |
Country Status (10)
Country | Link |
---|---|
US (1) | US6516314B1 (zh) |
EP (1) | EP1131757B1 (zh) |
JP (1) | JP2002530751A (zh) |
CN (1) | CN1118773C (zh) |
AT (1) | ATE295576T1 (zh) |
AU (1) | AU1590500A (zh) |
BR (1) | BR9915382A (zh) |
DE (1) | DE69925302T2 (zh) |
MY (1) | MY125440A (zh) |
WO (1) | WO2000029998A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111448560A (zh) * | 2017-12-14 | 2020-07-24 | 谷歌有限责任公司 | 数据库同步 |
Families Citing this family (180)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6516314B1 (en) | 1998-11-17 | 2003-02-04 | Telefonaktiebolaget L M Ericsson (Publ) | Optimization of change log handling |
ATE360937T1 (de) * | 1999-06-10 | 2007-05-15 | Alcatel Internetworking Inc | System und verfahren zur selektiven ldap- datenbank synchronisierung |
US7032022B1 (en) | 1999-06-10 | 2006-04-18 | Alcatel | Statistics aggregation for policy-based network |
US6671757B1 (en) | 2000-01-26 | 2003-12-30 | Fusionone, Inc. | Data transfer and synchronization system |
US8620286B2 (en) | 2004-02-27 | 2013-12-31 | Synchronoss Technologies, Inc. | Method and system for promoting and transferring licensed content and applications |
US8156074B1 (en) * | 2000-01-26 | 2012-04-10 | Synchronoss Technologies, Inc. | Data transfer and synchronization system |
GB2359386B (en) * | 2000-02-16 | 2004-08-04 | Data Connection Ltd | Replicated control block handles for fault-tolerant computer systems |
US6654908B1 (en) * | 2000-04-29 | 2003-11-25 | Hewlett-Packard Development Company, L.P. | Method for and system producing shared usage of intercommunication fabric error logging registers in a multiprocessor environment |
US8073954B1 (en) | 2000-07-19 | 2011-12-06 | Synchronoss Technologies, Inc. | Method and apparatus for a secure remote access system |
JP3877504B2 (ja) * | 2000-07-28 | 2007-02-07 | シャープ株式会社 | 無線探索装置 |
JP3750504B2 (ja) * | 2000-08-09 | 2006-03-01 | セイコーエプソン株式会社 | データ更新方法および情報処理装置 |
US6925476B1 (en) * | 2000-08-17 | 2005-08-02 | Fusionone, Inc. | Updating application data including adding first change log to aggreagate change log comprising summary of changes |
JP4532699B2 (ja) * | 2000-08-22 | 2010-08-25 | キヤノン株式会社 | 情報処理システム、情報中継装置、その制御方法及び記憶媒体 |
GB2368233B (en) * | 2000-08-31 | 2002-10-16 | F Secure Oyj | Maintaining virus detection software |
US6801921B2 (en) * | 2000-09-08 | 2004-10-05 | Hitachi, Ltd. | Method and system for managing multiple database storage units |
IL139628A0 (en) * | 2000-11-12 | 2002-02-10 | Eci Telecom Ltd | Data mirroring restoration in a distributed system |
US8615566B1 (en) | 2001-03-23 | 2013-12-24 | Synchronoss Technologies, Inc. | Apparatus and method for operational support of remote network systems |
JP3744375B2 (ja) | 2001-04-03 | 2006-02-08 | オムロン株式会社 | クレードル、セキュリティシステム、携帯電話機、および監視方法 |
US6839564B2 (en) * | 2001-04-25 | 2005-01-04 | Nokia Corporation | Synchronization of database data |
US7155521B2 (en) * | 2001-10-09 | 2006-12-26 | Nokia Corporation | Starting a session in a synchronization system |
GB0128243D0 (en) * | 2001-11-26 | 2002-01-16 | Cognima Ltd | Cognima patent |
US7346616B2 (en) * | 2002-03-20 | 2008-03-18 | Extended System, Inc. | Synchronizing data shared between two devices independent of any other devices that may also share the data |
US20030212819A1 (en) * | 2002-05-09 | 2003-11-13 | Russell Ryan S. | Transferring data wirelessly between digital devices |
US20040044799A1 (en) * | 2002-09-03 | 2004-03-04 | Nokia Corporation | Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process |
US6976038B2 (en) * | 2002-10-17 | 2005-12-13 | International Business Machines Corporation | Method and apparatus for real time creation and modification of a change log for multi-server synchronization |
US8645471B2 (en) | 2003-07-21 | 2014-02-04 | Synchronoss Technologies, Inc. | Device message management system |
US20050181790A1 (en) * | 2004-02-10 | 2005-08-18 | Yach David P. | Apparatus, and associated method, for facilitating efficient communication of data communicated pursuant to a syncrhonization session |
KR100547896B1 (ko) * | 2004-03-05 | 2006-01-31 | 삼성전자주식회사 | 데이터 동기화 시스템 및 서버와 클라이언트의 데이터동기화 방법 |
US7346751B2 (en) | 2004-04-30 | 2008-03-18 | Commvault Systems, Inc. | Systems and methods for generating a storage-related metric |
US8266406B2 (en) | 2004-04-30 | 2012-09-11 | Commvault Systems, Inc. | System and method for allocation of organizational resources |
US9542076B1 (en) | 2004-05-12 | 2017-01-10 | Synchronoss Technologies, Inc. | System for and method of updating a personal profile |
EP1759521B1 (en) | 2004-05-12 | 2016-06-29 | Synchronoss Technologies, Inc. | Advanced contact identification system |
US7363327B2 (en) * | 2004-05-28 | 2008-04-22 | International Business Machines Corporation | Change log handler for synchronizing data sources |
JP2006018895A (ja) * | 2004-06-30 | 2006-01-19 | Sony Corp | コンテンツ転送システム、コンテンツ記憶システム、コンテンツ記憶装置及びコンテンツ記憶方法 |
US8090691B2 (en) | 2004-08-13 | 2012-01-03 | Computer Associates Think, Inc. | System and method for variable block logging with log-ahead buffers |
EP1828932A4 (en) * | 2004-12-10 | 2008-03-05 | Seven Networks Internat Oy | DATABASE SYNCHRONIZATION |
US7634519B2 (en) | 2004-12-17 | 2009-12-15 | International Business Machines Corporation | Bypassing an intermediate synchronization server of a three tiered synchronization system |
FI120165B (fi) * | 2004-12-29 | 2009-07-15 | Seven Networks Internat Oy | Tietokannan synkronointi matkaviestinverkon kautta |
US7657550B2 (en) | 2005-11-28 | 2010-02-02 | Commvault Systems, Inc. | User interfaces and methods for managing data in a metabase |
US20110010518A1 (en) | 2005-12-19 | 2011-01-13 | Srinivas Kavuri | Systems and Methods for Migrating Components in a Hierarchical Storage Network |
US7606844B2 (en) | 2005-12-19 | 2009-10-20 | Commvault Systems, Inc. | System and method for performing replication copy storage operations |
US20200257596A1 (en) | 2005-12-19 | 2020-08-13 | Commvault Systems, Inc. | Systems and methods of unified reconstruction in storage systems |
US8572330B2 (en) * | 2005-12-19 | 2013-10-29 | Commvault Systems, Inc. | Systems and methods for granular resource management in a storage network |
CA2632935C (en) | 2005-12-19 | 2014-02-04 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US8930496B2 (en) * | 2005-12-19 | 2015-01-06 | Commvault Systems, Inc. | Systems and methods of unified reconstruction in storage systems |
US7651593B2 (en) | 2005-12-19 | 2010-01-26 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US8661216B2 (en) | 2005-12-19 | 2014-02-25 | Commvault Systems, Inc. | Systems and methods for migrating components in a hierarchical storage network |
EP1832988A1 (de) * | 2006-03-06 | 2007-09-12 | Siemens Schweiz AG | Verfahren zur Nachführung von Daten für eine mobile Anwendung |
US7882064B2 (en) * | 2006-07-06 | 2011-02-01 | Emc Corporation | File system replication |
US8726242B2 (en) | 2006-07-27 | 2014-05-13 | Commvault Systems, Inc. | Systems and methods for continuous data replication |
US7882077B2 (en) | 2006-10-17 | 2011-02-01 | Commvault Systems, Inc. | Method and system for offline indexing of content and classifying stored data |
US8370442B2 (en) * | 2008-08-29 | 2013-02-05 | Commvault Systems, Inc. | Method and system for leveraging identified changes to a mail server |
US20080147878A1 (en) * | 2006-12-15 | 2008-06-19 | Rajiv Kottomtharayil | System and methods for granular resource management in a storage network |
US8677091B2 (en) * | 2006-12-18 | 2014-03-18 | Commvault Systems, Inc. | Writing data and storage system specific metadata to network attached storage device |
US20080228771A1 (en) | 2006-12-22 | 2008-09-18 | Commvault Systems, Inc. | Method and system for searching stored data |
US7721003B2 (en) * | 2007-02-02 | 2010-05-18 | International Business Machines Corporation | System and method to synchronize OSGi bundle inventories between an OSGi bundle server and a client |
EP2210194B1 (en) * | 2007-11-06 | 2013-04-03 | Telefonaktiebolaget LM Ericsson (publ) | Lightweight directory access protocol (ldap) collision detection mechanism and method |
US8181111B1 (en) | 2007-12-31 | 2012-05-15 | Synchronoss Technologies, Inc. | System and method for providing social context to digital activity |
US8135670B2 (en) * | 2008-07-22 | 2012-03-13 | International Business Machines Corporation | Embedded change logging for data synchronization |
JP4612715B2 (ja) * | 2008-09-05 | 2011-01-12 | 株式会社日立製作所 | 情報処理システム、データ更新方法およびデータ更新プログラム |
US9178842B2 (en) * | 2008-11-05 | 2015-11-03 | Commvault Systems, Inc. | Systems and methods for monitoring messaging applications for compliance with a policy |
US8204859B2 (en) | 2008-12-10 | 2012-06-19 | Commvault Systems, Inc. | Systems and methods for managing replicated database data |
US9495382B2 (en) | 2008-12-10 | 2016-11-15 | Commvault Systems, Inc. | Systems and methods for performing discrete data replication |
US8255006B1 (en) | 2009-11-10 | 2012-08-28 | Fusionone, Inc. | Event dependent notification system and method |
US8442983B2 (en) * | 2009-12-31 | 2013-05-14 | Commvault Systems, Inc. | Asynchronous methods of data classification using change journals and other data structures |
US8504517B2 (en) * | 2010-03-29 | 2013-08-06 | Commvault Systems, Inc. | Systems and methods for selective data replication |
US8504515B2 (en) | 2010-03-30 | 2013-08-06 | Commvault Systems, Inc. | Stubbing systems and methods in a data replication environment |
US8725698B2 (en) | 2010-03-30 | 2014-05-13 | Commvault Systems, Inc. | Stub file prioritization in a data replication system |
WO2011150391A1 (en) | 2010-05-28 | 2011-12-01 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US8943428B2 (en) | 2010-11-01 | 2015-01-27 | Synchronoss Technologies, Inc. | System for and method of field mapping |
KR101697979B1 (ko) | 2010-11-23 | 2017-01-19 | 삼성전자주식회사 | 네트워크로 연결 가능한 기기에서 데이터를 동기화하기 위한 장치 및 방법 |
US8719264B2 (en) | 2011-03-31 | 2014-05-06 | Commvault Systems, Inc. | Creating secondary copies of data based on searches for content |
US8543540B1 (en) | 2012-05-09 | 2013-09-24 | Bertec Corporation | System and method for the merging of databases |
US9043278B1 (en) | 2012-05-09 | 2015-05-26 | Bertec Corporation | System and method for the merging of databases |
US8700569B1 (en) | 2012-05-09 | 2014-04-15 | Bertec Corporation | System and method for the merging of databases |
US8892523B2 (en) | 2012-06-08 | 2014-11-18 | Commvault Systems, Inc. | Auto summarization of content |
US10379988B2 (en) | 2012-12-21 | 2019-08-13 | Commvault Systems, Inc. | Systems and methods for performance monitoring |
US9141495B2 (en) * | 2013-03-12 | 2015-09-22 | Dell Products, Lp | Automatic failure recovery using snapshots and replicas |
US9098444B2 (en) | 2013-03-12 | 2015-08-04 | Dell Products, Lp | Cooperative data recovery in a storage stack |
US20160292295A1 (en) * | 2015-03-30 | 2016-10-06 | International Business Machines Corporation | Change tracking for structured languages |
US10275320B2 (en) | 2015-06-26 | 2019-04-30 | Commvault Systems, Inc. | Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation |
US10176036B2 (en) | 2015-10-29 | 2019-01-08 | Commvault Systems, Inc. | Monitoring, diagnosing, and repairing a management database in a data storage management system |
US20170255663A1 (en) * | 2016-03-07 | 2017-09-07 | Researchgate Gmbh | Propagation of data changes in a distributed system |
US20220164840A1 (en) | 2016-04-01 | 2022-05-26 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US11244367B2 (en) | 2016-04-01 | 2022-02-08 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US11625502B2 (en) | 2016-06-10 | 2023-04-11 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US10678945B2 (en) | 2016-06-10 | 2020-06-09 | OneTrust, LLC | Consent receipt management systems and related methods |
US12118121B2 (en) | 2016-06-10 | 2024-10-15 | OneTrust, LLC | Data subject access request processing systems and related methods |
US11210420B2 (en) | 2016-06-10 | 2021-12-28 | OneTrust, LLC | Data subject access request processing systems and related methods |
US10282559B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US11675929B2 (en) | 2016-06-10 | 2023-06-13 | OneTrust, LLC | Data processing consent sharing systems and related methods |
US11651104B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US11562097B2 (en) | 2016-06-10 | 2023-01-24 | OneTrust, LLC | Data processing systems for central consent repository and related methods |
US11481710B2 (en) | 2016-06-10 | 2022-10-25 | OneTrust, LLC | Privacy management systems and methods |
US11438386B2 (en) | 2016-06-10 | 2022-09-06 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11295316B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems for identity validation for consumer rights requests and related methods |
US11392720B2 (en) | 2016-06-10 | 2022-07-19 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US12052289B2 (en) | 2016-06-10 | 2024-07-30 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10685140B2 (en) | 2016-06-10 | 2020-06-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US12045266B2 (en) | 2016-06-10 | 2024-07-23 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11520928B2 (en) | 2016-06-10 | 2022-12-06 | OneTrust, LLC | Data processing systems for generating personal data receipts and related methods |
US11544667B2 (en) | 2016-06-10 | 2023-01-03 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11200341B2 (en) | 2016-06-10 | 2021-12-14 | OneTrust, LLC | Consent receipt management systems and related methods |
US11416109B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Automated data processing systems and methods for automatically processing data subject access requests using a chatbot |
US11238390B2 (en) | 2016-06-10 | 2022-02-01 | OneTrust, LLC | Privacy management systems and methods |
US10896394B2 (en) | 2016-06-10 | 2021-01-19 | OneTrust, LLC | Privacy management systems and methods |
US11416798B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for providing training in a vendor procurement process |
US11228620B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10510031B2 (en) | 2016-06-10 | 2019-12-17 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US11328092B2 (en) | 2016-06-10 | 2022-05-10 | OneTrust, LLC | Data processing systems for processing and managing data subject access in a distributed environment |
US10846433B2 (en) | 2016-06-10 | 2020-11-24 | OneTrust, LLC | Data processing consent management systems and related methods |
US11636171B2 (en) | 2016-06-10 | 2023-04-25 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US10878127B2 (en) | 2016-06-10 | 2020-12-29 | OneTrust, LLC | Data subject access request processing systems and related methods |
US10606916B2 (en) | 2016-06-10 | 2020-03-31 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US11301796B2 (en) | 2016-06-10 | 2022-04-12 | OneTrust, LLC | Data processing systems and methods for customizing privacy training |
US10592648B2 (en) | 2016-06-10 | 2020-03-17 | OneTrust, LLC | Consent receipt management systems and related methods |
US11222142B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for validating authorization for personal data collection, storage, and processing |
US10467432B2 (en) | 2016-06-10 | 2019-11-05 | OneTrust, LLC | Data processing systems for use in automatically generating, populating, and submitting data subject access requests |
US11416589B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11366909B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11366786B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US10997318B2 (en) | 2016-06-10 | 2021-05-04 | OneTrust, LLC | Data processing systems for generating and populating a data inventory for processing data access requests |
US11188615B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Data processing consent capture systems and related methods |
US10740487B2 (en) | 2016-06-10 | 2020-08-11 | OneTrust, LLC | Data processing systems and methods for populating and maintaining a centralized database of personal data |
US11475136B2 (en) | 2016-06-10 | 2022-10-18 | OneTrust, LLC | Data processing systems for data transfer risk identification and related methods |
US10284604B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing and scanning systems for generating and populating a data inventory |
US11403377B2 (en) | 2016-06-10 | 2022-08-02 | OneTrust, LLC | Privacy management systems and methods |
US11336697B2 (en) | 2016-06-10 | 2022-05-17 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11354435B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for data testing to confirm data deletion and related methods |
US11294939B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US11418492B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for using a data model to select a target data asset in a data migration |
US11461500B2 (en) | 2016-06-10 | 2022-10-04 | OneTrust, LLC | Data processing systems for cookie compliance testing with website scanning and related methods |
US10909488B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Data processing systems for assessing readiness for responding to privacy-related incidents |
US11651106B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10318761B2 (en) | 2016-06-10 | 2019-06-11 | OneTrust, LLC | Data processing systems and methods for auditing data request compliance |
US11586700B2 (en) | 2016-06-10 | 2023-02-21 | OneTrust, LLC | Data processing systems and methods for automatically blocking the use of tracking tools |
US10949565B2 (en) | 2016-06-10 | 2021-03-16 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10909265B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Application privacy scanning systems and related methods |
US11222139B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems and methods for automatic discovery and assessment of mobile software development kits |
US11354434B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US11343284B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US11134086B2 (en) | 2016-06-10 | 2021-09-28 | OneTrust, LLC | Consent conversion optimization systems and related methods |
US11416590B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11341447B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Privacy management systems and methods |
US11222309B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11227247B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems and methods for bundled privacy policies |
US11277448B2 (en) * | 2016-06-10 | 2022-03-15 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11727141B2 (en) | 2016-06-10 | 2023-08-15 | OneTrust, LLC | Data processing systems and methods for synching privacy-related user consent across multiple computing devices |
US11188862B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Privacy management systems and methods |
US10540516B2 (en) | 2016-10-13 | 2020-01-21 | Commvault Systems, Inc. | Data protection within an unsecured storage environment |
US11341100B2 (en) * | 2016-12-12 | 2022-05-24 | Egnyte, Inc. | System and method for eliminating full rescan synchronizations on service restarts |
US10984041B2 (en) | 2017-05-11 | 2021-04-20 | Commvault Systems, Inc. | Natural language processing integrated with database and data storage management |
US10013577B1 (en) | 2017-06-16 | 2018-07-03 | OneTrust, LLC | Data processing systems for identifying whether cookies contain personally identifying information |
US10831591B2 (en) | 2018-01-11 | 2020-11-10 | Commvault Systems, Inc. | Remedial action based on maintaining process awareness in data storage management |
US11334599B2 (en) * | 2018-01-23 | 2022-05-17 | Computer Projects of Illinois, Inc. | Systems and methods for electronic data record synchronization |
US20190251204A1 (en) | 2018-02-14 | 2019-08-15 | Commvault Systems, Inc. | Targeted search of backup data using calendar event data |
US10642886B2 (en) | 2018-02-14 | 2020-05-05 | Commvault Systems, Inc. | Targeted search of backup data using facial recognition |
US10803202B2 (en) | 2018-09-07 | 2020-10-13 | OneTrust, LLC | Data processing systems for orphaned data identification and deletion and related methods |
US11544409B2 (en) | 2018-09-07 | 2023-01-03 | OneTrust, LLC | Data processing systems and methods for automatically protecting sensitive data within privacy management systems |
US11159469B2 (en) | 2018-09-12 | 2021-10-26 | Commvault Systems, Inc. | Using machine learning to modify presentation of mailbox objects |
US20200192572A1 (en) | 2018-12-14 | 2020-06-18 | Commvault Systems, Inc. | Disk usage growth prediction system |
US11042318B2 (en) | 2019-07-29 | 2021-06-22 | Commvault Systems, Inc. | Block-level data replication |
US11797528B2 (en) | 2020-07-08 | 2023-10-24 | OneTrust, LLC | Systems and methods for targeted data discovery |
WO2022026564A1 (en) | 2020-07-28 | 2022-02-03 | OneTrust, LLC | Systems and methods for automatically blocking the use of tracking tools |
WO2022032072A1 (en) | 2020-08-06 | 2022-02-10 | OneTrust, LLC | Data processing systems and methods for automatically redacting unstructured data from a data subject access request |
US11494417B2 (en) | 2020-08-07 | 2022-11-08 | Commvault Systems, Inc. | Automated email classification in an information management system |
US11436373B2 (en) | 2020-09-15 | 2022-09-06 | OneTrust, LLC | Data processing systems and methods for detecting tools for the automatic blocking of consent requests |
WO2022061270A1 (en) | 2020-09-21 | 2022-03-24 | OneTrust, LLC | Data processing systems and methods for automatically detecting target data transfers and target data processing |
US11397819B2 (en) | 2020-11-06 | 2022-07-26 | OneTrust, LLC | Systems and methods for identifying data processing activities based on data discovery results |
US11687528B2 (en) | 2021-01-25 | 2023-06-27 | OneTrust, LLC | Systems and methods for discovery, classification, and indexing of data in a native computing system |
WO2022170047A1 (en) | 2021-02-04 | 2022-08-11 | OneTrust, LLC | Managing custom attributes for domain objects defined within microservices |
US11494515B2 (en) | 2021-02-08 | 2022-11-08 | OneTrust, LLC | Data processing systems and methods for anonymizing data samples in classification analysis |
US20240098109A1 (en) | 2021-02-10 | 2024-03-21 | OneTrust, LLC | Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system |
WO2022178089A1 (en) | 2021-02-17 | 2022-08-25 | OneTrust, LLC | Managing custom workflows for domain objects defined within microservices |
WO2022178219A1 (en) | 2021-02-18 | 2022-08-25 | OneTrust, LLC | Selective redaction of media content |
US11533315B2 (en) | 2021-03-08 | 2022-12-20 | OneTrust, LLC | Data transfer discovery and analysis systems and related methods |
US11562078B2 (en) | 2021-04-16 | 2023-01-24 | OneTrust, LLC | Assessing and managing computational risk involved with integrating third party computing functionality within a computing system |
US11809285B2 (en) | 2022-02-09 | 2023-11-07 | Commvault Systems, Inc. | Protecting a management database of a data storage management system to meet a recovery point objective (RPO) |
US11620142B1 (en) | 2022-06-03 | 2023-04-04 | OneTrust, LLC | Generating and customizing user interfaces for demonstrating functions of interactive user environments |
US12056018B2 (en) | 2022-06-17 | 2024-08-06 | Commvault Systems, Inc. | Systems and methods for enforcing a recovery point objective (RPO) for a production database without generating secondary copies of the production database |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0528021A (ja) * | 1991-07-19 | 1993-02-05 | Fujitsu Ltd | 二元配置データの管理方法 |
US5247684A (en) | 1991-10-03 | 1993-09-21 | The United States Of America As Represented By The Secretary Of The Navy | Light update notification mechanism for shared data structures |
US5307487A (en) | 1991-10-03 | 1994-04-26 | The United States Of America As Represented By The Secretary Of The Navy | Method of database synchronization with consistency determined by entry and exit counters used on both update and retrieval |
JPH06290098A (ja) * | 1993-03-31 | 1994-10-18 | Hitachi Software Eng Co Ltd | 分散データベース処理方法 |
US5613113A (en) | 1993-10-08 | 1997-03-18 | International Business Machines Corporation | Consistent recreation of events from activity logs |
US5666514A (en) | 1994-07-01 | 1997-09-09 | Board Of Trustees Of The Leland Stanford Junior University | Cache memory containing extra status bits to indicate memory regions where logging of data should occur |
US5737600A (en) | 1994-09-12 | 1998-04-07 | International Business Machines Corporation | Method and system for log management in a coupled data processing system |
US5706509A (en) | 1995-04-28 | 1998-01-06 | Intel Corporation | Application independent record level synchronization |
US5966714A (en) | 1995-04-28 | 1999-10-12 | Intel Corporation | Method and apparatus for scaling large electronic mail databases for devices with limited storage |
JP3702314B2 (ja) * | 1995-05-23 | 2005-10-05 | 三菱電機株式会社 | データファイル等価処理方法 |
JPH09128280A (ja) * | 1995-10-27 | 1997-05-16 | Toshiba Corp | データ管理装置及びデータ管理方法 |
JP2904100B2 (ja) * | 1996-01-26 | 1999-06-14 | 日本電気株式会社 | 複数のデータベース間の整合方式 |
US5832508A (en) | 1996-09-18 | 1998-11-03 | Sybase, Inc. | Method for deallocating a log in database systems |
US6516314B1 (en) | 1998-11-17 | 2003-02-04 | Telefonaktiebolaget L M Ericsson (Publ) | Optimization of change log handling |
US6393419B1 (en) * | 1999-02-08 | 2002-05-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Multipoint database synchronization protocol to avoid data corruption |
US6401104B1 (en) * | 1999-07-03 | 2002-06-04 | Starfish Software, Inc. | System and methods for synchronizing datasets using cooperation among multiple synchronization engines |
-
1999
- 1999-10-27 US US09/427,910 patent/US6516314B1/en not_active Expired - Lifetime
- 1999-11-05 AT AT99958565T patent/ATE295576T1/de not_active IP Right Cessation
- 1999-11-05 AU AU15905/00A patent/AU1590500A/en not_active Abandoned
- 1999-11-05 CN CN99813340A patent/CN1118773C/zh not_active Expired - Lifetime
- 1999-11-05 WO PCT/SE1999/002004 patent/WO2000029998A2/en active IP Right Grant
- 1999-11-05 BR BR9915382-3A patent/BR9915382A/pt not_active Application Discontinuation
- 1999-11-05 DE DE69925302T patent/DE69925302T2/de not_active Expired - Lifetime
- 1999-11-05 JP JP2000582937A patent/JP2002530751A/ja active Pending
- 1999-11-05 EP EP99958565A patent/EP1131757B1/en not_active Expired - Lifetime
- 1999-11-15 MY MYPI99004965A patent/MY125440A/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111448560A (zh) * | 2017-12-14 | 2020-07-24 | 谷歌有限责任公司 | 数据库同步 |
Also Published As
Publication number | Publication date |
---|---|
EP1131757A2 (en) | 2001-09-12 |
DE69925302D1 (de) | 2005-06-16 |
ATE295576T1 (de) | 2005-05-15 |
EP1131757B1 (en) | 2005-05-11 |
MY125440A (en) | 2006-08-30 |
WO2000029998A3 (en) | 2000-08-10 |
AU1590500A (en) | 2000-06-05 |
WO2000029998A2 (en) | 2000-05-25 |
JP2002530751A (ja) | 2002-09-17 |
US6516314B1 (en) | 2003-02-04 |
CN1118773C (zh) | 2003-08-20 |
BR9915382A (pt) | 2001-08-14 |
DE69925302T2 (de) | 2005-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1118773C (zh) | 变更记录处理的优化 | |
US7134041B2 (en) | Systems and methods for data backup over a network | |
CN110083374B (zh) | 一种升级回滚方法、系统及终端设备 | |
CN1141641C (zh) | 安装被许可应用程序的方法及装置 | |
CN1564990A (zh) | 数据库数据的同步 | |
CN1211734C (zh) | 计算机上自动安装和配置软件的方法和设备 | |
CN1252951C (zh) | 节点b单板软件下载及升级方法 | |
CN1210656C (zh) | 用于客户和自适应同步和转换服务器的方法、装置 | |
CN100392588C (zh) | 自动更新照相机固件的方法和系统 | |
US7287068B1 (en) | System and method for updating devices that execute an operating system or application program directly from nonvolatile storage | |
CN100535857C (zh) | 用于更新网络化环境中的安装组件的系统和方法 | |
CN1545252A (zh) | 一种网管系统中实现对前台数据配置的方法 | |
CN1930551A (zh) | 固件升级中的自动备份存储 | |
CN101436138A (zh) | 一种用于软件升级且动态回滚的控制装置以及控制方法 | |
CN1694070A (zh) | Pos终端设备的升级方法 | |
JP2009246983A (ja) | アクションリストとバージョニングとを用いて、無線デバイス上でアクションを実行する方法、ソフトウェア、及び装置 | |
EP3812890B1 (en) | Software update agent apparatus and patch method using same | |
CN1126054C (zh) | 对一个移动通信系统中的并行处理器进行同步的协议 | |
JP2000188769A (ja) | 無線基地局のプログラムダウンロード方式 | |
JPH09292980A (ja) | ファイル配布システム | |
CN1296220A (zh) | 安装和/或升级自助金融交易终端的软件的方法和系统 | |
JP2881628B2 (ja) | 排他制御システムおよび端末装置 | |
CN1277437C (zh) | 实现在手机中使用电子黄页的方法及系统 | |
CN115202692A (zh) | 一种车辆hud的ota升级方法及装置 | |
CN118466995A (zh) | 一种嵌入式固件的升级方法 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1079128 Country of ref document: HK |
|
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20030820 |