CN102272751B - 在数据库环境通过背景同步的数据完整性 - Google Patents

在数据库环境通过背景同步的数据完整性 Download PDF

Info

Publication number
CN102272751B
CN102272751B CN200980153521.8A CN200980153521A CN102272751B CN 102272751 B CN102272751 B CN 102272751B CN 200980153521 A CN200980153521 A CN 200980153521A CN 102272751 B CN102272751 B CN 102272751B
Authority
CN
China
Prior art keywords
synchronous
row
teledata
integrated data
data base
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.)
Active
Application number
CN200980153521.8A
Other languages
English (en)
Other versions
CN102272751A (zh
Inventor
麦克·索德
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.)
iAnywhere Solutions Inc
Original Assignee
iAnywhere Solutions Inc
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 iAnywhere Solutions Inc filed Critical iAnywhere Solutions Inc
Publication of CN102272751A publication Critical patent/CN102272751A/zh
Application granted granted Critical
Publication of CN102272751B publication Critical patent/CN102272751B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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

在数据库环境通过背景同步的数据完整性
技术领域
本发明涉及在数据库环境中保持数据的完整性,特别是在数据库环境中通过背景同步保持数据的完整性。
背景技术
在当今不断扩展的计算环境中,许多企业员工使用便携式、移动计算装置如个人笔记本电脑、平板电脑、个人数码助理、智能电话和其它类似装置来执行工作。这些远程系统通常运行采取“始终可用”或“偶然连接”的架构的移动商务应用程序。在这种方式下,远程系统在本地存储数据,使自己的数据应用程序在网络是否可用时都可以继续使用。尽管有本地数据存储,为商务应用程序使用的数据的最终来源不是远程系统,而是公司服务器上的综合数据库。每隔一段时间,在流动员工中被利用和更新的数据需要通过有线或无线网络连接与综合数据库的中央数据存储同步,以确保数据的完整性。
虽然数据同步显然是必要的,以保持移动计算环境中的数据一致,但是从移动装置移动数据到综合服务器并从综合服务器移动数据到移动装置的同步操作会需要大量的计算机和网络资源,往往需要很长时间才能完成。这些操作包括追踪移动装置和服务器上的数据变化、传输正确的变化、确保数据的唯一键值被保留并确定和解决冲突的发生。通常情况下,数据同步进程的必要控制要求在同步进程发生时远程系统中的数据访问受到限制,以最多只允许数据的唯读访问。然而,当同步操作进行其间缺少对远程数据库的同时事务访问的支持会降低性能和效率。
因此,在远程数据库环境中通过在数据修改操作的背景运行的同步以确保数据完整性的方法是有需要的。本发明解决这样的需要。
发明内容
本发明涉及数据库环境中保持数据完整性的系统、方法和计算机程序产品。
在一个实施例中,本发明在远程数据系统开始一个进程以同步来自远程数据库系统的远程数据与综合数据库的综合数据,并在同步进程发生时利用远程数据的每一行元数据以允许事务访问。
本发明的更多特征、优点、以及各实施方式的结构和运作将连同参照附图在以下详细描述。需注意本文描述的具体实施方式只示意作说明用途,而本发明并不局限于此。本发明所教导内容使相关领域技术人员显而易见地联想到更多的实施方式。
附图说明
纳入本说明并构成本文一部分的附图,描绘了本发明的实施方式。附图及其描述进一步说明了本发明的原理,并容许相关领域技术人员制作及使用本发明。
图1展示了本发明一个实施例中实现背景同步的计算环境例子的框图。
图2说明了本发明一个实施例中在数据库环境下确保数据完整性的同步进程的整体流程的框图。
图3说明了本发明一个实施例中保持同步进程的元数据的整体流程的框图。
图4说明了本发明一个实施例中确定元数据的上传状态值部分的整体流程的框图。
图5说明了本发明一个实施例中解释上载状态值影响同步进程的整体流程的框图。
图6说明了一个实施本发明的有用计算机的例子。
当结合附图和以下的详细描述,本发明的特点和优势将更加明显。在附图中,参考编号通常指相同、功能相似和/或结构相似的组件。一般来说,参考编号最左方的数字指出该参考编号最初出现的附图的号码。
具体实施方式
在移动环境中,特别是手持式计算机系统,本地数据库应用的利用必须支持本地数据库与网络服务器上的综合数据库的数据同步的需要。一个已知的数据库应用在名称为数据库系统和从便携式装置访问数据库的方法并专利权已转让给受让人的美国专利6341288中描述了,其在多个装置之间更具便携性,该多个装置包括具有有限计算能力的装置。随着计算能力、存储装置、和移动系统的其它系统组件已在近年来有所改善以支持多线程处理,相应地,在当今快速节奏和移动办公环境中,有必要增加一个不仅可以保持数据的完整性,而且还可以作为背景运作以允许大量连续的事务访问并改善效率和性能的同步工序。
图1展示了本发明一个实施例中实现背景同步的移动计算环境102的框图。其中包括中央系统104和一个或多个远程系统106如便携式、手持移动计算装置,例如笔记本电脑装置、个人数码助理、手机和相类似的。中央系统104和远程系统106之间通过通信网络108的任何已知手段(例如互联网,但不限于互联网)来通信。
中央系统104包括同步系统110和综合数据库系统112。综合数据库系统112作为数据库管理器和数据库来运作,其中数据库可以进一步包括索引和表数据,而数据库管理器可以是任何数据库管理系统(DBMS)的形式,并可以包括但不限于拥有处理器和内存以执行和储存指令的装置。在一个不是为了限制本发明例子,综合数据库系统112可包括软件、固件和硬件或它们的组合,数据库管理器可以是如SYBASE Adaptive Sever Enterprise的DBMS。该软件可以包含一个或多个应用程序和操作系统。硬件可以包括但不限于处理器、内存和用户界面显示屏。自选的输入装置如键盘、鼠标、手写笔或任何其它指示装置也可以使用。数据库管理器可以存储和操作在数据库中的数据。数据库管理器可直接被系统用户作为软件包的组件来使用,或可用于提供各种服务到独立的软件包。
每个远程系统106优选地包含远程数据库系统114。远程数据库系统114可进一步包含在综合数据库系统的数据库中的数据子集,该数据子集包括数据库索引和表数据。远程系统106可以包括但不限于拥有处理器和内存以执行和储存指令的装置。在一个不是为了限制本发明的例子,远程数据库系统114可被提供作为SYBASESQL Anywhere UltraLite并可以包括软件、固件和硬件或它们的组合。该软件可以包含一个或多个应用程序和操作系统。硬件可以包括但不限于处理器、内存和用户界面的显示屏。自选的输入装置如键盘、手写笔或任何其它指示装置也可以使用。
在综合数据库系统112的数据库和在远程数据库系统114的该数据库的子集可以是根据本领域中已知的不同逻辑数据模型或存储的数据的视图来管理和操作的数据集合。在目前的数据库市场,逻辑数据模型的例子包括采用行业标准SQL查询语言的关系模型。数据库表对本领域的技术人员来说是已知的,数据库表可以进一步包括几个记录,每个记录由几个列组成。
作为一个例子,在关系架构系统中操作数据包括对存在于数据库中的表、共享列和索引的操作。例如,在远程数据库系统114,行映图存储结构可以维持从行标识符到行状态(行状态在下文进一步说明)和行处理的映射。该行标识符可以被添加到列目录的末尾以作为提供列和行标识符的有序目录的索引键的一部份。行处理可以包含存储结构中的行数据的坐标。从概念上讲,行映图是线性阵列并被行标识符索引。通过分配该阵列的数据段到存储页并用内部寻址节把数据段连接一起到树的方法来存储数组,其在树的深度相当于该行映图的大小。与已知的B-树结构相似,树的叶子包含实际的数组。根和内部节点用来确定拥有最少输入/输出成本的阵列。
同步系统110运行以确保综合数据库系统的112的数据库与在远程数据库系统114中该数据库的子集之间数据完整性。在一个不是为了限制的本发明例子中,同步系统110可提供作为SYBASESQL Anywhere MobiLink也可以包括软件、固件和硬件或它们的组合。通过通信数据的变更,远程系统106和中央系统104之间可实现高效数据同步。
在一个优选的实施例,移动计算环境102的背景同步进程在及时知道甚么数据变更应上传到中央系统104和什么数据变更应该被忽略时通过创建远程数据库系统114的数据“快照”来实现。该快照以多类型位值的形式使用元数据,包括上载值以作为每数据行的行状态。此元数据必须负责追踪仅仅超过一个简单单一位的行情况以表示插入或删除行,因为在背景正被同步的行也可能在前景被改变。因此,即使一背景同步被处理以确保下一背景同步进程的任何修改被捕获,本发明的元数据也可以追踪和识别数据库操作过程中被修改的行。
现在参考图2,本发明一个实施例中在数据库环境下确保数据完整性的同步进程的整体流程的框图被展示了。正如将要描述的,在同步过程中会有一些不同的信息交换,从而限制了协议的“聊天”。当通信可能会比较慢和具有较高的延迟时,这可能是有利的,例如当使用电话线路或公共无线网络连接,本领域的技术人员非常理解。
通常,当用户选择执行数据同步(框块200),远程系统106和中央系统104之间通过通信网络108建立了连接,同步进程开始发生了。要同步的数据在上载流中从远程系统106传送到中央系统104(框块202)。在一个优选的实施例,上载流的建设依赖于使用行状态元数据以确定哪些行传送到中央系统104和这些行的情况。通过使用行状态元数据,同步功能可发生而无需使用在本领域中共知的且更复杂和费时的典型日志事务追踪和联合。
当接收到上载流,中央系统104把上载流应用到综合数据库系统112(框块204),并在综合数据库系统112(框块206)执行上载流的变更。随着执行数据变更以完成同步进程的上传阶段,中央系统通过发送回复到远程系统106以表明在中央系统106(框块210)的上载流已经完成执行以启动下载阶段。中央系统104然后建立并传送下载流到远程系统106(框块210)。远程系统106调整已成功上载的行(框块212)的行元数据状态并应用于接收到下载流(框块214)。基于来自下载流的数据,进行必要的调整到行状态以执行来自远程数据库系统114(框块216)的数据并完成同步过程。
现在参考图3,根据本发明的一个实施例,图3展示了维持元数据来实现图2中同步进程的整体步骤。当远程系统106的用户实行数据库操作(框块300)如删除、更新或添加操作,该进程启动了。根据操作的发生,行状态的元数据用来反映任何变化。如下面的列表所示,在一个优选的实施例,元数据包括四个一起提供行状态的值:
插入类型(正常,插入,后影像);
删除类型(无,删除,移除);
执行状态(插入执行,插入没有执行,或许);及
上载状态(没有计算,包括,除外)。
为了让每个值的三个情况得到允许,8位(每个值2位)可以用来提供元数据。
作为例子,在一个行初步插入的数据库操作,插入类型值=插入、删除类型值=无、执行状态值=插入没有执行以及上载状态值=没有计算。在行的更新,新版本的行被标记为删除类型值=无、执行状态值=插入没有执行以及上载状态值=没有计算。对于行更新的插入类型值,如果行的旧版本拥有删除类型值不等于删除和插入类型值是后影像或删除类型值不等于移除并且执行状态值等于或许或者插入执行,后影像值的情况会被使用。当行变更“可能“已上载,但因为还没有收到确认而产生不确定性时,“或许”这个词会被使用。否则,插入类型值=插入。无论新行的插入类型值是后影像或插入,已更新的行的旧版本会被更改为删除类型=删除。
在行删除上,通常删除类型值=删除。然而,在一个实施例中,停止同步设置可能被用来允许某些数据不进行同步进程。该功能的目的是减少每个远程系统106持有来自综合数据库114的行子集。也就是说,在综合数据库114看来,删除并没有真正从中删除了,所以他们不应该被上传。删除类型的移除值用于反映这一点。
在实行数据库操作后,进程可以通过执行数据库操作(框块302)来继续。数据库的操作执行取决于是否存在受影响的行的在先同步。对于删除,如果该行从来没有被同步,那么它会被删除。如果该行已被同步,那么它不会被删除,因为删除操作需要首先同步到综合数据库。当更新行的事务被执行,受该事务影响的所有行状态会被修改,以反映该执行。当更新被同步了,行的新老版本都需要允许冲突检测和解决。然后,旧行从数据库中删除,而新行就变成一个普通的行。行的新增使该行被标记为已执行。
对于每个数据库操作(插入、更新和删除),在同步(框块306)其间,当对同步进程的检测是肯定的(框块304),额外的标记通过更新行状态元数据的上载状态值情况来进行。如果没有同步进程正在进行(框块304是否定的),远程数据库系统忽略行状态的上载状态值部分,并继续数据库事务(框块300)的标准处理。
如上面的目录所示,在一个优选的实施例,上载状态值情况包括:没有计算,包括和除外,其中没有计算值是用来表示行没有发生执行同步的上载开始了,包括值是用来表示行应该是同步的一部分,而除外值是用来表示行不是同步的一部分。这些行状态元数据的上载状态值使得上载开始的一刻同步操作与数据库的执行状态的快照一起作业。有了这个快照,数据库中的变改不会影响上载的数据,并且上载数据的完整性得到保证因为远程系统106会继续处理数据库事务。
图4的框块流程图展示了确定行状态元数据的上传状态值部分的进程。上载状态值的初步检测发生以确定实际上其是否需要设置(框块400)。一般来说,当同步其间行的执行发生,行状态的上载状态值会被设置为包括或除外,而同步完成时,行状态的上载状态值会被改回没有计算。
因此,如果上载状态值已设置为包括或除外,则没有需要对上载状态值做变更,因为已设置的上载状态值表明自从上载开始后这不是第一次在该行执行。此外,如果行状态的执行状态值情况是或许,那么该行已经被上传但尚未被确定为成功完成,并且没有需要对该行的上载状态值部分做变更。在这种情况下,维持上载状态值(框块402)并完成该进程。
如果上载状态值确实需要设置(框块400是肯定的),即执行状态值情况不等于或许以及上载状态值情况等于没有计算,则做出测定以判定如果该行在还没执行的状态时(框块404)如何处理该行。如果确定系统将上载该行(框块404是肯定的),那么上载值设置为包括(框块406)。否则,上载值设置为除外(框块408)。
在一个优选的实施例中,对于拥有行状态为插入类型=正常、执行状态=插入执行以及删除类型=没有或删除的行,不需要对其进行上载并把其上载状态情况设置为除外。如果删除类型值情况等于删除和插入类型值情况等于正常,或者删除类型值情况等于移除和插入类型值情况不等于正常,该行需要被上载而上载状态值情况设置为包括。
图5说明了本发明一个实施例中解释上载状态值影响同步进程的整体流程的框图。在本发明的一个实施例,在上载其间确定每一行如何上载的进程利用以下方法:识别四个状态指标中之其一:表明该行没有得到上载的零状态;表明该行会被上载并作为插入的插入状态;表明该行会被上载并作为删除的删除状态;或表明该行会被上载并作为遗失插入的遗失插入状态。遗失插入与插入非常相似,但其帮助解释附有移除设置的行作为删除类型以作为停止同步设置的结果。在一般情况下,同步系统110不会下载刚刚上载的行。也就是说,如果综合数据库系统112确定遗失插入行应该被下载到远程系统106,同步系统110通常会优化下载以省略下载该行,因为同步系统110知道远程数据库系统106已包含该行。然而,通过使用遗失插入状态,该行会被同步系统110识别为正在从远程数据库中删除。这禁用了正常的优化,并允许该行被下载到远程系统106。
在假设正被考虑的行不在′正常′状态的情况下,进程开始实施,因为在一个优选的实施例,行上的迭代映射会跳过′正常′行,即拥有插入类型=正常、删除类型=无、执行状态值=插入执行以及上载状态值=没有计算的行。对于不在′正常′状态的行,进程判断行状态是否等同于′移除′状态(框块500)。′删除′状态通常指插入类型=正常、删除类型=移除、执行状态值=插入执行以及上载状态值=没有计算。当行在′移除′状态时,不需要考虑其的上载(框块502)并且其会标示为零状态。
如果行不在′正常′状态或′移除′状态,进程会继续进行并确定行状态值是否=或许(框块504)。如果是这样,该行在正在进行的同步进程中已经被上载,并不需要考虑再次上载。因此,会显示零状态(框块502)。该检查确保上载发生为两阶段的进程,例如,第一阶段上载插入和更新,第二阶段上载删除,而每个阶段使用映射迭代来实施。
当行执行状态值不是或许,进程会继续进行并检测行的上载状态值。如果上载状态值=除外(框块506),那么不需要上载该行并标示其状态为零(框块502)。如果上载状态值=包括(框块508),那么标示其状态为删除(框块510),因为上载开始后的插入执行不会被上载,因此上载状态值不会是插入。
为了说明行已经被修改但还没有执行(即上载状态值=没有计算),进程会继续进行并确定该行是否还没执行(框块512)和插入(框块514)。如果是这样,那么该行被跳过,因为还没执行的插入不上载,并且状态显示为零(框块502)。如果不是,该行是还没执行的删除,并且插入类型会被检查(框块516)。如果插入类型是正常,该行不需要包括在同步里而其状态会标示为零(框块502)。对于除了正常之外的插入类型,其状态会标示为插入(框块518)。
如果这些情况没有找到,那么该行是在上载之前已执行的行。删除类型值情况是用来确定状态标识(框块520)。对于删除类型=无,进程会返回插入标识(框块518)。对于删除类型=移除,该进程会返回遗失插入标识(框块522)。而对于删除类型=删除,该进程会返回删除标识(框块510)。
在这种方式下,同步进程发生并保证即每行的元数据正确反映准确的行状态。正如所述,加入上载值情况允许当同步正在进行时对远程数据库的同时访问,而不需要只允许只读模式的访问或提高试图修改远程数据库所产生的错误。因此,对远程数据库的有效和无缝利用产生了,尤其有利于移动数据库环境。
示范计算机系统实施例
在本发明的一个实施例中,这里所述的实施例中的系统和组件是使公知的计算器来实施,如图6所示的例子计算器602。例如,中央系统104或远程系统106可以用计算机602来实现。
计算机602可以是任何商业可用的和众所周知的并有能力执行这里所述的功能的计算机,如IBM、Apple、Sun、HP、Dell、Compaq、Digital、Cray等可用的计算器。
计算机602包括一个或多个处理器(也称为中央处理单元,或CPU),如处理器606。该处理器606连接到通信总线604。
计算机602还包括主内存608,如随机存取存储器(RAM)。主内存608已储存控制逻辑625A(电脑软件)和数据在其中。
计算机602还包括一个或多个辅助存储装置610。辅助存储装置610包括如硬盘驱动器612和/或可移除的存储装置或驱动器614以及其它类型的存储装置如存储卡和记忆棒。可移除的存储驱动器614代表了软盘驱动器、磁带驱动器、光盘驱动器、光存储装置、磁带备份等。
可移除的存储驱动器614与可移除的存储单元616互动。可移除的存储单元616包括电脑可用或可读的存储媒介624,存储媒介624中存储有计算机软件628B(控制逻辑)和/或数据。可移除的存储单元616代表软盘、磁带、光盘、DVD、光存储盘或任何其它计算机数据存储装置。可移除的存储驱动器614以公知的方式读取来自和/或写入到可移除的存储单元616。
计算机602还包括输入/输出/显示装置622,如显示器、键盘、指示装置等。
计算机602还包括通讯或网络接口618。网络接口618使计算机602可以和远程装置进行通信。例如,网络接口618允许计算机602通过通信网络或媒介624B(代表计算机可用或可读媒介的形式)如局域网、广域网、互联网等进行通信。网络接口618可通过有线或无线连接与远程站点通信。
通过通信媒介624B,计算机602可以传送或接收控制逻辑628C。更具体地说,计算机602可以通过通信媒介624B来接收和传送与控制逻辑630调制的载波(电磁信号)。
这里所述的任何包括存储有控制逻辑(软件)的计算器可用或可读的介质的仪器或产品都统称为计算机程序产品或程序存储装置。这包括但不限于计算器602、主内存608、辅助存储装置610、可移除的存储单元616和与控制逻辑630调制的载波。这种计算机程序产品包含当一个或多个数据处理装置被执行时可引致数据处理装置如这里所述般运作的控制逻辑,并代表了本发明实施例。
除了本文所述的,本发明可以用其它软件、硬件和/或操作系统来实现。任何适合用于执行本文所述的功能的软件、硬件和操作系统都可以使用。
虽然本发明以移动计算环境来描述,本发明的背景同步可以应用到移动计算环境或可从本文所述的功能得益,但这只是作为说明性的,而不是限制本发明的使用环境。

Claims (19)

1.一种确保在数据库环境中数据完整性的方法,该方法包括:
在远程数据系统开始一个进程以同步来自远程数据库系统的远程数据与综合数据库的综合数据;
生成一个快照,所述快照包括待上载至所述综合数据库的所述远程数据和针对所述远程数据的每一行指示所述每一行是否包含在所述同步中的相应的元数据;以及
其中所述同步基于所述快照且在所述同步发生时允许对包含在所述同步中的所述远程数据的事务访问和更新,其中所述更新不包含在所述快照中,其中在所述同步完成时所述综合数据库包括与所述快照的远程数据同步了的所述综合数据,
其中,所述元数据包括一个或多个值,所述一个或多个值用于指示在同步过程中每一相应的行是否被插入或被移除、被包括或被除外还是被执行或未被执行。
2.如权利要求1所述的方法,其中所述元数据包括最少一上载情况值以表示同步其间行处理的情况。
3.如权利要求2所述的方法,其中第一上载情况值表示在同步开始之后没有事务执行发生。
4.如权利要求3所述的方法,其中第二上载情况值表示行需要同步。
5.如权利要求4所述的方法,其中第三上载情况值表示行不需要同步。
6.如权利要求2所述的方法还包括在同步其间当行执行发生时最少设置所述的上载情况值,并当同步完成时最少清除上载情况值。
7.如权利要求1所述的方法,其中所述元数据包括另一个值,以用于指示所述行的远程数据是否已经从远程设备上载至所述综合数据库但所述从远程设备上载至所述综合数据库的动作还没有被确认为已执行。
8.一种确保在数据库环境中数据完整性的系统,该系统包括:
通信网络;
连接到所述通信网路并包括综合数据库的第一系统;
最少一连接到所述通信网路并包括远程数据库的第二系统,
所述第二系统开始一个进程以同步来自远程数据库的远程数据与综合数据库的综合数据;
所述第一系统生成一个快照,所述快照包括待上载至所述综合数据库的所述远程数据和针对所述远程数据的每一行指示所述每一行是否包含在所述同步中的相应的元数据;以及
其中所述同步基于所述快照且在所述同步发生时允许对包含在所述同步中的所述远程数据的事务访问和更新,其中所述更新不包含在所述快照中,其中在所述同步完成时所述综合数据库包括与所述快照的远程数据同步了的所述综合数据,
其中,所述元数据包括一个或多个值,所述一个或多个值用于指示在同步过程中每一相应的行是否被插入或被移除、被包括或被除外还是被执行或未被执行。
9.如权利要求8所述的系统,其中所述第一系统还包括连接到综合数据库的同步系统。
10.如权利要求8所述的系统,其中所述最少一第二系统通过使用远程数据的每行上载情况值来利用元数据以表示每一行是包括在或不包括在同步进程之内。
11.如权利要求8所述的系统,其中所述最少一第二系统当数据库事务发生在远程数据库时识别什么时候同步进程被启动,并在行执行发生时确定最少一上载值情况以表示同步其间行处理的情况。
12.如权利要求11所述的系统,其中第一上载情况值表示在同步开始之后没有事务执行发生,其中第二上载情况值表示行需要同步,其中第三上载情况值表示行不需要同步。
13.如权利要求8所述的系统,其中所述最少一第二系统包括移动计算装置。
14.一种计算器实现的方法,该方法由包括记录有计算器程序逻辑的计算器可用媒介以使处理器能够确定数据库环境中数据完整性的计算器实现,所述计算器实现的方法包括:
开始来自远程数据库系统的远程数据与综合数据库的综合数据的同步;
生成一个快照,所述快照包括待上载至所述综合数据库的所述远程数据和针对所述远程数据的每一行指示所述每一行是否包含在所述同步中的相应的元数据;以及
其中所述同步基于所述快照且在所述同步发生时允许对包含在所述同步中的所述远程数据的事务访问和更新,其中所述更新不包含在所述快照中,其中在所述同步完成时所述综合数据库包括与所述快照的远程数据同步了的所述综合数据,
其中,所述元数据包括一个或多个值,所述一个或多个值用于指示在同步过程中每一相应的行是否被插入或被移除、被包括或被除外还是被执行或未被执行。
15.如权利要求14所述的计算器实现的方法,其中所述计算器实现的方法还包括:
维持在所述远程数据库系统中的所述远程数据的每一行的元数据。
16.如权利要求15所述的计算器实现的方法,其中所述维持步骤包括:
确定上载情况值以表示同步其间行处理的情况。
17.如权利要求16所述的计算器实现的方法,还包括在同步其间当行执行发生时最少设置所述的上载情况值并当同步完成时最少清除上载情况值。
18.如权利要求16所述的计算器实现的方法,还包括表示在同步开始之后没有事务执行发生时的第一上载情况值、行需要同步的第二上载情况值、以及行不需要同步的第三上载情况值。
19.如权利要求14所述的计算器实现的方法,还包括利用远程数据的每一行元数据的上载情况值来表示每一行是否包括在或排除在同步进程。
CN200980153521.8A 2008-12-17 2009-12-03 在数据库环境通过背景同步的数据完整性 Active CN102272751B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/336,693 US8380663B2 (en) 2008-12-17 2008-12-17 Data integrity in a database environment through background synchronization
US12/336,693 2008-12-17
PCT/US2009/066538 WO2010077549A2 (en) 2008-12-17 2009-12-03 Data integrity in a database environment through background synchronization

Publications (2)

Publication Number Publication Date
CN102272751A CN102272751A (zh) 2011-12-07
CN102272751B true CN102272751B (zh) 2015-07-22

Family

ID=42241743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980153521.8A Active CN102272751B (zh) 2008-12-17 2009-12-03 在数据库环境通过背景同步的数据完整性

Country Status (4)

Country Link
US (1) US8380663B2 (zh)
EP (1) EP2380090B1 (zh)
CN (1) CN102272751B (zh)
WO (1) WO2010077549A2 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101622604B1 (ko) * 2009-05-19 2016-05-31 엘지전자 주식회사 이동단말기 및 그의 프로세스 처리방법
US11308490B2 (en) * 2010-07-28 2022-04-19 Cox Communications, Inc. Security system and method that allows users to securely setup and maintain system security for all business systems
CN102629365B (zh) * 2012-03-09 2015-11-25 北京思特奇信息技术股份有限公司 一种移动ngcrm系统中跨库业务的数据库处理方法及系统
US10795910B2 (en) 2013-12-31 2020-10-06 Sybase, Inc. Robust communication system for guaranteed message sequencing with the detection of duplicate senders
US9405788B2 (en) 2014-01-24 2016-08-02 International Business Machines Corporation Mass delete restriction in a database
US10397319B2 (en) 2015-11-24 2019-08-27 Dropbox, Inc. Server-side selective synchronization
CA3007479A1 (en) * 2015-12-18 2017-06-22 Walmart Apollo, Llc Systems and methods for resolving data discrepancy
CN110059135A (zh) * 2019-04-12 2019-07-26 阿里巴巴集团控股有限公司 一种数据同步方法和装置
US11829334B2 (en) 2020-06-12 2023-11-28 International Business Machines Corporation Per row database resynchronization
CN112800136A (zh) * 2021-01-30 2021-05-14 上海宝旗信息科技有限公司 一种数据选择性级联同步工具及其同步方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1842789A (zh) * 2004-03-29 2006-10-04 微软公司 用于在数据库恢复期间快照查询的系统和方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US6341288B1 (en) 1998-07-29 2002-01-22 Sybase, Inc. Database system with methodology for accessing a database from portable devices
US6499039B1 (en) * 1999-09-23 2002-12-24 Emc Corporation Reorganization of striped data during file system expansion in a data storage system
US6748447B1 (en) * 2000-04-07 2004-06-08 Network Appliance, Inc. Method and apparatus for scalable distribution of information in a distributed network
US6631386B1 (en) * 2000-04-22 2003-10-07 Oracle Corp. Database version control subsystem and method for use with database management system
US7113963B1 (en) * 2000-11-10 2006-09-26 Palmsource, Inc. Optimized database technique to enable faster data synchronization
US20030023759A1 (en) * 2000-11-30 2003-01-30 Jack Littleton System and method for provisioning telephony services via a personal digital assistant
US6704745B2 (en) * 2000-12-11 2004-03-09 Microsoft Corporation Transforming data between first organization in a data store and hierarchical organization in a dataset
CN1591412A (zh) * 2001-11-09 2005-03-09 无锡永中科技有限公司 集成数据处理系统
US7769722B1 (en) * 2006-12-08 2010-08-03 Emc Corporation Replication and restoration of multiple data storage object types in a data network
US7890091B2 (en) * 2003-05-08 2011-02-15 Good Technology, Inc. Collaborative data and intelligent synchronization for mobile devices
US7398285B2 (en) * 2003-07-30 2008-07-08 International Business Machines Corporation Apparatus and system for asynchronous replication of a hierarchically-indexed data store
US7555531B2 (en) 2004-04-15 2009-06-30 Microsoft Corporation Efficient algorithm and protocol for remote differential compression
US7774319B2 (en) * 2004-08-11 2010-08-10 Sap Ag System and method for an optimistic database access
CA2484694A1 (en) * 2004-10-14 2006-04-14 Alcatel Database ram cache
US7415487B2 (en) * 2004-12-17 2008-08-19 Amazon Technologies, Inc. Apparatus and method for data warehousing
US20070190978A1 (en) * 2005-01-13 2007-08-16 Ianywhere Solutions, Inc. System and Methodology for Extending Enterprise Messaging Systems to Mobile Devices
US7930346B2 (en) 2005-08-24 2011-04-19 Microsoft Corporation Security in peer to peer synchronization applications
JP5563220B2 (ja) 2005-10-12 2014-07-30 データキャッスル・コーポレーション データ・バックアップのための方法およびシステム
US7653664B2 (en) * 2006-11-03 2010-01-26 Microsoft Corporation Anchor for database synchronization excluding uncommitted transaction modifications
US8572027B2 (en) * 2007-09-21 2013-10-29 International Business Machines Corporation Performing synchronization among relational database tables with minimal contention
US7941399B2 (en) * 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1842789A (zh) * 2004-03-29 2006-10-04 微软公司 用于在数据库恢复期间快照查询的系统和方法

Also Published As

Publication number Publication date
US20100153346A1 (en) 2010-06-17
EP2380090A2 (en) 2011-10-26
WO2010077549A2 (en) 2010-07-08
US8380663B2 (en) 2013-02-19
EP2380090B1 (en) 2019-04-10
CN102272751A (zh) 2011-12-07
WO2010077549A3 (en) 2010-10-14
EP2380090A4 (en) 2014-01-15

Similar Documents

Publication Publication Date Title
CN102272751B (zh) 在数据库环境通过背景同步的数据完整性
CN109254733B (zh) 用于存储数据的方法、装置和系统
US10579608B2 (en) Index maintenance based on a comparison of rebuild vs. update
CN110799960B (zh) 数据库租户迁移的系统和方法
CN109906448B (zh) 用于促进可插拔数据库上的操作的方法、设备和介质
WO2022126974A1 (zh) 基于Kafka的增量数据同步方法、装置、设备及介质
US7730071B2 (en) Data management system and data management method
CN102402596B (zh) 一种主从分离数据库的读写方法和系统
US9606748B2 (en) Importing pre-existing data of a prior storage solution into a storage pool for use with a new storage solution
US9558203B2 (en) Data mover discovery of object extent
WO2017028514A1 (zh) 一种数据存储、读取方法及装置
KR20090096554A (ko) 동기화 방법 및 시스템
CN103597440A (zh) 用于创建克隆文件的方法以及采用该方法的文件系统
WO2022095366A1 (zh) 基于Redis的数据读取方法、装置、设备及可读存储介质
KR20110110329A (ko) 동기화 방법 및 시스템
US20130325932A1 (en) Electronic device and method for storing distributed documents
US20040078370A1 (en) Method and apparatus for real time creation and modification of a change log for multi-server synchronization
US6735765B1 (en) Sharing data between operating systems
CN115858488A (zh) 基于数据治理的平行迁移方法、装置及可读介质
WO2007099636A1 (ja) ファイルシステム移行方法、ファイルシステム移行プログラム及びファイルシステム移行装置
JP4854973B2 (ja) 記憶制御プログラム、記憶制御方法、記憶制御装置および記憶制御システム
JP2012155634A (ja) 情報処理プログラム、情報処理装置および情報処理方法
JP6967010B2 (ja) 異種ストレージシステム間の複製
JP2002222107A (ja) データ同期装置
JP4390618B2 (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
C14 Grant of patent or utility model
GR01 Patent grant