非关系型数据库同步系统及双写同步方法技术方案

技术编号:8704175 阅读:667 留言:0更新日期:2013-05-16 17:56
本发明专利技术提供一种非关系型数据库同步系统及双写同步方法,通过所述本地同步管理器将所述远程非关系型数据库的数据同步到所述本地非关系型数据库中,通过所述远程同步管理器将所述本地非关系型数据库的数据同步到所述远程非关系型数据库中,实现了在远程网络环境中本地非关系型数据库和远程非关系型数据库的双写同步操作;进一步的,通过所述本地数据过滤模块和远程数据过滤模块避免了同步时大量重复日志的产生,节约了存储资源;通过本地数据重放模块和远程数据重放模块避免了数据同步的遗漏。

【技术实现步骤摘要】
非关系型数据库同步系统及双写同步方法
本专利技术涉及数据库同步领域,尤其涉及一种非关系型数据库同步系统及双写同步方法。
技术介绍
互联网web2.0网站的兴起,对数据库提出了更高的需求,例如:对数据库高并发读写的需求(Highperformance);对海量数据的高效率存储和访问的需求(HugeStorage);对数据库的高可扩展性和高可用性的需求(HighScalability&HighAvailability)。而传统的关系数据库已经不能满足互联网web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站的这些需求。非关系型数据库是泛指不同于关系型传统数据库的一类数据库,在此类数据库中存储的数据没有固定的模式,通常没有联合(join)操作,可以满足上述web2.0网站对数据库的新需求,现在成了一个极其热门的新领域。但同时也存在很多新的设计的难点,例如:1.由于远程间网络的不稳定性,需要在远程网络两端同时安装两套非关系型数据库系统;2.如何对非关系型数据库系统进行远程双写同步以保持数据一致性成为一个很重要的问题,双写同步是指在对两个或多个数据库同时进行插入和修改数据时,保持多个数据库的数据一致,而传统的非关系型数据库系统的同步机制,包括主从同步和副本集技术,已不能再满足需要。因此,需要一种非关系型数据库同步系统及方法,以解决在远程网络环境中非关系型数据库无法进行双写同步的问题。
技术实现思路
本专利技术的目的在于提供一种非关系型数据库同步系统及双写同步方法,以解决在远程网络环境中非关系型数据库无法进行双写同步的问题。为解决上述问题,本专利技术提供一种非关系型数据库同步系统,包括:本地非关系型数据库,用于保存本地业务所需数据以及产生本地数据日志;远程非关系型数据库,用于保存远程业务所需数据以及产生远程数据日志;本地同步管理器,用于抽取所述远程数据日志并产生本地数字签名,以及将抽取的远程数据日志与本地数据日志对比以对本地非关系型数据库的数据进行更新;远程同步管理器,用于抽取所述本地数据日志并产生远程数字签名,以及将抽取的本地数据日志与远程数据日志对比以对远程非关系型数据库的数据进行更新。进一步的,所述非关系型数据库同步系统还包括:本地同步数据库,用于保存所述本地非关系型数据库产生的本地数据日志、本地同步管理器所抽取的远程数据日志以及其本地数字签名;远程同步数据库,用于保存所述远程非关系型数据库产生的远程数据日志、远程同步管理器所抽取的本地数据日志以及其远程数字签名。进一步的,所述本地非关系型数据库的本地数据日志为按时间阶段依次产生的本地阶段性日志;所述远程非关系型数据库的远程数据日志为与所述本地阶段性日志所在的相同时间阶段产生的远程阶段性日志。进一步的,所述本地同步管理器包括:本地数据抽取模块,用于抽取所述远程非关系型数据库产生的远程数据日志;本地数据处理模块,用于为抽取出的远程数据日志产生本地数字签名,并将所述抽取出的远程数据日志及其本地数字签名存入所述本地同步数据库;本地数据同步模块,用于对比所述抽取出的远程数据日志与所述本地数据日志,将所述远程非关系型数据库的数据同步到本地非关系型数据库中,并生成本地同步执行记录。进一步的,所述本地数据处理模块还用于在完成所述远程非关系型数据库到所述本地非关系型数据库的数据同步后,清理所述本地同步数据库中存储的本地数据日志、远程数据日志及其本地数字签名。进一步的,所述本地同步管理器还包括:本地数据过滤模块,用于对所述本地同步数据库中存储的远程数据日志进行识别,过滤掉重复的远程数据日志,以减少所述本地数据同步模块的重复数据同步操作;本地数据重放模块,用于查询所述本地同步数据库中存储的远程数据日志是否已经被执行,若是,则跳过此条远程数据日志;若否,则重新执行该条远程数据日志,并记录到所述本地同步执行记录中。进一步的,所述远程同步管理器包括:远程数据抽取模块,用于抽取所述本地非关系型数据库产生的本地数据日志;远程数据处理模块,用于为抽取出的本地数据日志产生远程数字签名,并将所述抽取出的本地数据日志及其远程数字签名存入所述远程同步数据库;远程数据同步模块,用于对比所述抽取出的本地数据日志与所述远程数据日志,将所述本地非关系型数据库的数据同步到远程非关系型数据库中,并生成远程同步执行记录。进一步的,所述远程数据处理模块还用于在完成所述本地非关系型数据库到所述远程非关系型数据库的数据同步后,清理所述远程同步数据库中存储的远程数据日志、本地数据日志及其远程数字签名。进一步的,所述远程同步管理器还包括:远程数据过滤模块,用于对所述远程同步数据库中存储的本地数据日志进行识别,过滤掉重复的本地数据日志,以减少所述远程数据同步模块的重复数据同步操作;远程数据重放模块,用于查询所述远程同步数据库中存储的本地数据日志是否已经被执行,若是,则跳过此条本地数据日志;若否,则重新执行该条本地数据日志,并记录到所述远程同步执行记录中。相应的,本专利技术还提供一种应用上述非关系型数据库同步系统的双写同步方法,包括:所述本地非关系型数据库保存本地业务所需数据以及产生本地数据日志;所述远程非关系型数据库保存远程业务所需数据以及产生远程数据日志;所述本地同步管理器抽取所述远程数据日志并产生本地数字签名,将抽取的远程数据日志与本地数据日志对比,同步所述远程非关系型数据库的数据到所述本地非关系型数据库中,所述本地非关系型数据库产生新的本地数据日志;所述远程同步管理器抽取所述本地数据日志并产生远程数字签名,将抽取的本地数据日志与远程数据日志对比,同步所述本地非关系型数据库的数据到所述远程非关系型数据库中,所述远程非关系型数据库产生新的远程数据日志。进一步的,保存所述本地非关系型数据库产生的本地数据日志、本地同步管理器所抽取的远程数据日志及其本地数字签名到一本地同步数据库中;保存所述远程非关系型数据库产生的远程数据日志、远程同步管理器所抽取的本地数据日志其远程数字签名到一远程同步数据库。与现有技术相比,本专利技术提供的非关系型数据库同步系统及双写同步方法,通过所述本地同步管理器将所述远程非关系型数据库的数据同步到所述本地非关系型数据库中,通过所述远程同步管理器将所述本地非关系型数据库的数据同步到所述远程非关系型数据库中,实现了在远程网络环境中本地非关系型数据库和远程非关系型数据库的双写同步操作;进一步的,通过所述本地数据过滤模块和远程数据过滤模块避免了同步时大量重复日志的产生,节约了存储资源;通过本地数据重放模块和远程数据重放模块避免了数据同步的遗漏。附图说明图1是本专利技术实施例一的非关系型数据库同步系统的架构示意图;图2是本专利技术实施例一的本地同步管理器的具体结构及其与本地同步数据库的连接示意图;图3是本专利技术实施例一的远程同步管理器的具体结构及其与远程同步数据库的连接示意图;图4是本专利技术实施例二的基于非关系型数据库同步系统的双写同步方法流程图;图5是本专利技术实施例二的非关系型数据库同步系统在双写同步时的日志示意图。具体实施方式以下结合附图和具体实施例对本专利技术提出的非关系型数据库同步系统及双写同步方法作进一步详细说明。实施例一如图1所示,本实施例提供一种非关系型数据库同步系统,包括:本地非关系型数据库1本文档来自技高网...
非关系型数据库同步系统及双写同步方法

【技术保护点】
一种非关系型数据库同步系统,其特征在于,包括:本地非关系型数据库,用于保存本地业务所需数据以及产生本地数据日志;远程非关系型数据库,用于保存远程业务所需数据以及产生远程数据日志;本地同步管理器,用于抽取所述远程数据日志并产生本地数字签名,以及将抽取的远程数据日志与本地数据日志对比以对所述本地非关系型数据库的数据进行更新;远程同步管理器,用于抽取所述本地数据日志并产生远程数字签名,以及将抽取的本地数据日志与远程数据日志对比以对所述远程非关系型数据库的数据进行更新。

【技术特征摘要】
1.一种非关系型数据库同步系统,其特征在于,包括:本地非关系型数据库,用于保存本地业务所需数据以及产生本地数据日志;远程非关系型数据库,用于保存远程业务所需数据以及产生远程数据日志;本地同步管理器,用于抽取所述远程数据日志并产生本地数字签名,以及将抽取的远程数据日志与本地数据日志对比以对所述本地非关系型数据库的数据进行更新;远程同步管理器,用于抽取所述本地数据日志并产生远程数字签名,以及将抽取的本地数据日志与远程数据日志对比以对所述远程非关系型数据库的数据进行更新。2.如权利要求1所述的非关系型数据库同步系统,其特征在于,所述非关系型数据库同步系统还包括:本地同步数据库,用于保存所述本地非关系型数据库产生的本地数据日志、本地同步管理器所抽取的远程数据日志以及其本地数字签名;远程同步数据库,用于保存所述远程非关系型数据库产生的远程数据日志、远程同步管理器所抽取的本地数据日志以及其远程数字签名。3.如权利要求1或2所述的非关系型数据库同步系统,其特征在于,所述本地非关系型数据库的本地数据日志为按时间阶段依次产生的本地阶段性日志;所述远程非关系型数据库的远程数据日志为与所述本地阶段性日志所在的相同时间阶段产生的远程阶段性日志。4.如权利要求1所述的非关系型数据库同步系统,其特征在于,所述本地同步管理器包括:本地数据抽取模块,用于抽取所述远程非关系型数据库产生的远程数据日志;本地数据处理模块,用于为抽取出的远程数据日志产生本地数字签名,并将所述抽取出的远程数据日志及其本地数字签名存入所述本地同步数据库;本地数据同步模块,用于对比所述抽取出的远程数据日志与所述本地数据日志,将所述远程非关系型数据库的数据同步到本地非关系型数据库中,并生成本地同步执行记录。5.如权利要求4所述的非关系型数据库同步系统,其特征在于,所述本地数据处理模块还用于在完成所述远程非关系型数据库到所述本地非关系型数据库的数据同步后,清理所述本地同步数据库中存储的本地数据日志、远程数据日志及其本地数字签名。6.如权利要求4所述的非关系型数据库同步系统,其特征在于,所述本地同步管理器还包括:本地数据过滤模块,用于对所述本地同步数据库中存储的远程数据日志进行识别,过滤掉重复的远程数据日志,以减少所述本地数据...

【专利技术属性】
技术研发人员:段如冰郭理靖袁岳峰
申请(专利权)人:上海盛霄云计算技术有限公司
类型:发明
国别省市:上海;31

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

1