数据同步方法和数据同步系统技术方案

技术编号:12585475 阅读:79 留言:0更新日期:2015-12-24 01:59
本发明专利技术实施例提出一种数据同步方法和数据同步系统,用于将原始数据库中的数据同步至目标数据库,所述原始数据库包括至少一个存储数据,每一个所述存储数据包括内容位,所述数据同步方法包括:在所述原始数据库中设置标记数据;在修改其中一个存储数据的一个内容位时,在对应的所述标记数据中设置标记位;以及扫描所述标记数据,当扫描出该标记位时,根据该标记位将对应的该内容位的内容写入所述目标数据库。本发明专利技术的数据同步方法和同步系统,对修改后的存储数据进行标记,方法简单,提高了跨数据库的数据同步的效率,同时标记位所占的内存小,实现了数据同步的实时性和一致性,性价比高,同时具有减少数据同步量、提高同步效率的优点。

【技术实现步骤摘要】

本专利技术涉及数据库领域,具体涉及一种数据同步方法和数据同步系统
技术介绍
现如今,跨数据库之间的数据同步目前存在两种问题:I)依赖其他中间系统,使得同步系统过于复杂,导致系统不稳定。系统出现bug的时候,系统的调试工程量大,时间效率低;2)依赖较为复杂的技术保证数据的实时性和一致性。技术过于复杂,难以优化编译生成高效目标代码。程序执行效率低,代码重构时间成本高,整个程序设计方案并不是经济有效的。因此,本领域需要提出一种简单高效的数据同步方法,保证数据同步的实时性和一致性,同时也一定程度上减少了数据的同步量。
技术实现思路
本专利技术提出一种数据同步方法,用于将原始数据库中的数据同步至目标数据库,所述原始数据库包括至少一个存储数据,每一个所述存储数据包括内容位,其特征在于,所述数据同步方法包括:在所述原始数据库中设置标记数据;当其中一个存储数据的一个内容位被修改时,在对应的所述标记数据中设置标记位;以及扫描所述标记数据,当扫描出该标记位时,根据该标记位将对应的该内容位的内容写入所述目标数据库。在一实施例中,所述标记数据与所述存储数据具有相同的格式,当其中一个存储数据的一个内容位被修改时,在对应的所述标记数据中设置标记位的步骤进一步包括:根据所修改的内容位所在的地址,在所述对应的标记数据的相同地址中设置标记位。在一实施例中,所述地址为根据所述内容位的行位和列位确定的数据位置。在一实施例中,所述原始数据库包括数据表格,所述存储数据为存储列族,在所述原始数据库中设置标记数据的步骤包括:在每个数据表格中新建标记列族。在一实施例中,当其中一个存储数据的一个内容位被修改时,在对应的所述标记数据中设置标记位的步骤包括:针对所述内容位所在的存储列族的行和列,在所述标记列族的相同行及相同列中设置标记位,以标记所述内容位是否改动。在一实施例中,根据该标记位将对应的该内容位的内容写入所述目标数据库的步骤之后,还包括:删除所述内容位对应的标记位。在一实施例中,所述原始数据库为HBase数据库,所述目标数据库为MongoDB数据库。在一实施例中,所述标记位为写入标记位和/或删除标记位。本专利技术一实施例还提出一种数据同步系统,用于将原始数据库中的数据同步至目标数据库,所述原始数据库包括至少一个存储数据,每一个所述存储数据包括内容位,所述数据同步系统包括:内存分配单元,用于在所述原始数据库中设置用以存储标记数据的内存;写入单元:用于当其中一个存储数据的一个内容位被修改时,在对应的所述标记数据中写入标记位;扫描发送单元:用于扫描该内存中是否存在标记位,并在扫描出所述标记位时,根据该标记位将对应的该内容位的内容写入所述目标数据库。在一实施例中,还包括:删除单元,用于将同步成功后的内容位对应的标记位删除。在一实施例中,所述标记数据与所述存储数据具有相同的格式,所述写入单元根据所修改的内容位所在的地址,在所述对应的标记数据的相同地址中设置所述标记位。在一实施例中,所述存储数据为存储列族,所述内存分配单元在所述原始数据库中的一个数据表格中新建一个标记列族;所述写入单元还针对所述存储列族的每行和每列,在所述标记列族的相同行及相同列中设置所述标记位,以标记所述内容位是否改动。在一实施例中,所述标记位为写入标记位和/或删除标记位。本专利技术一实施例还提出一种数据同步系统,用于将原始数据库中的数据同步至目标数据库,所述原始数据库包括至少一个存储数据,每一个所述存储数据包括内容位,一内存分配单元用于在所述原始数据库中设置用以存储标记数据的内存;一写入单元用于当其中一个存储数据的一个内容位被修改时,在对应的所述标记数据中写入标记位,其特征在于,该数据同步系统包括:扫描发送单元:用于扫描该内存中是否存在标记位,并在扫描出所述标记位时,根据该标记位将对应的该内容位的内容写入所述目标数据库;以及删除单元,用于将同步成功后的内容位对应的标记位删除。通过上述描述可知,相比于现有技术,本专利技术至少具有如下优点:I)使用标记位对数据库中修改后的存储数据进行标记,方法简单,替代了比较复杂的技术方案,提高了数据同步的效率。2)标记位所占内存可以忽略不计,以极小的内存换取数据同步的实时性和一致性,性价比高。3)由于在数据库中每个修改操作的标记位可以只维护一份,同时对相同内容位的进行多次修改时,以最后一次修改操作为准而对数据进行一次同步,减少了数据同步量,提高了同步效率。4)当标记位对应的内容位的数据成功同步到目标数据库时,删除该标记位;当同步失败时,对该标记位不做任何处理,直至数据同步成功才将该标记位删除。此方法提高了系统同步准确率。5)不依赖其他中间系统,适用范围更广。【附图说明】图1所示为本专利技术一实施例的数据同步方法的流程图。图2所示为本专利技术一实施例的原始数据库中存储的至少一个存储数据的数据格式图。图3所示为对应于图2的存储数据的标记数据的数据格式图。图4所示为本专利技术一实施例的数据同步方法的步骤流程图。图5所示为本专利技术一实施例的数据同步系统的模块图。【具体实施方式】这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的设备和方法的部分例子。图1所示为本专利技术一实施例的数据同步方法的示意图。本专利技术所要解决的问题是跨数据库的数据同步问题,具体说来,在原始数据库和目标数据库之间建立同步的途径。这一方法不仅简单高效,不仅能够保证数据同步的实时性和一致性,同时也一定程度上减少了数据的同步量。本专利技术一实施例提出的数据同步方法用于将原始数据库中的数据同步到目标数据库,其中该原始数据库包括至少一个存储数据,每一个存储数据包括内容位,该同步方法包括如下流程:步骤I,在原始数据库中设置标记数据;步骤2,当其中一个存储数据的一个内容位被修改时,在对应的所述标记数据中设置标记位;以及步骤3,扫描所述标记数据,根据该标记位将对应的该内容位的内容写入所述目标数据库。对应地,本专利技术一实施例提出一种数据同步系统,用于将原始数据库中的数据同步至目标数据库,所述原始数据库包括至少一个存储数据,每一个所述存储数据包括内容位,所述数据同步系统包括:内存分配单元,用于在所述原始数据库中设置用以存储标记数据的内存;写入单元:用于当其中一个存储数据的一个内容位被修改时,在对应的所述标记数据中写入标记位;扫描发送单元:用于扫描该内存中是否存在标记位,并在扫描出所述标记位时,根据该标记位将对应的该内容位的内容写入所述目标数据库。以下结合附图和具体实施例,对本专利技术的方案进行具体说明。图2所示为本专利技术一实施例的原当前第1页1 2 3 本文档来自技高网...

【技术保护点】
一种数据同步方法,用于将原始数据库中的数据同步至目标数据库,所述原始数据库包括至少一个存储数据,每一个所述存储数据包括内容位,其特征在于,所述数据同步方法包括:在所述原始数据库中设置标记数据;当其中一个存储数据的一个内容位被修改时,在对应的所述标记数据中设置标记位;以及扫描所述标记数据,当扫描出该标记位时,根据该标记位将对应的该内容位的内容写入所述目标数据库。

【技术特征摘要】

【专利技术属性】
技术研发人员:谭建南郑程李雄锋王天兴武绍龙
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1