一种高并发数据和数据库同步的方法及其系统技术方案

技术编号:25637059 阅读:18 留言:0更新日期:2020-09-15 21:29
本发明专利技术的提供的一种高并发数据和数据库同步的方法及其系统,源端oracle同步软件获取源端高并发数据库生成的拷贝备用文件;将拷贝备用文件发送至目的端oracle同步软件,目的端oracle同步软件还原得到基准高并发数据库和活动日志;获取拷贝备用完成时间节点源端高并发数据库所对应的最大日志记录的序列号;读取源端高并发数据库的日志文件中日志记录的序列号大于最大日志记录的序列号的操作记录日志,目的端oracle同步软件依据基准高并发数据库、活动日志以及操作记录日志进行高并发数据同步。本发明专利技术能够实现持久化策略,保证数据的一致性,同时拆分和缓冲的方式明显的增强了高并发下数据同步的处理能力,使系统实现针对集中大量数据低延迟的同步。

【技术实现步骤摘要】
一种高并发数据和数据库同步的方法及其系统
本专利技术涉及数据同步
,特别是涉及一种高并发数据和数据库同步的方法及其系统。
技术介绍
目前随着互联网的发展,通讯、购物、金融等服务行业公司的数据在每年呈现几何倍数增长,数据同步是内部一个非常重要的流程,网上服务行业对数据一致性及时效性要求极高,要求数据零丢失、且低时延。现有技术中的任何分布式系统在一致性、可用性、分区容错性方面,不能兼得。而服务行业每天平台服务期间大量的交易数据信息在短时间内聚集,数据同步的时效性成为瓶颈,这个问题在业务高峰期间尤为突出。目前在网上服务行业中存在的数据同步产品仍存在高并发下性能瓶颈的问题。
技术实现思路
针对上述技术问题,本专利技术提供一种高并发数据和数据库同步的方法及其系统,保证数据一致性,并且减少数据同步延迟。针对上述技术目的,本专利技术的具体技术方案为:本专利技术提供一种高并发数据同步的方法,包括以下步骤:源端oracle同步软件获取源端高并发数据库生成的拷贝备用文件;将所述的拷贝备用文件发送至目的端oracle同步软件,以使所述的目的端oracle同步软件依据所述的拷贝备用文件还原得到基准高并发数据库和活动日志;获取拷贝备用完成时间节点所述的源端高并发数据库所对应的最大日志记录的序列号;读取所述的源端高并发数据库的日志文件中日志记录的序列号大于所述的最大日志记录的序列号的操作记录日志,同时将所述的操作记录日志发送至所述的目的端oracle同步软件,以使所述的目的端oracle同步软件依据所述的基准高并发数据库、所述的活动日志以及所述的操作记录日志在目的端高并发数据库上进行高并发数据同步。所述的源端oracle同步软件获取源端高并发数据库生成的拷贝备用文件包括:源端oracle同步软件获取源端高并发数据库从拷贝备用开始时间节点到拷贝备用完成时间节点所对应的事务处理日志,其中,所述的事务处理日志包括活动日志以及已提交的事务处理日志;将所述的事务处理日志追加到所述的高并发数据文件之后形成拷贝备用文件。进一步的,所述的高并发数据同步的方法还包括:获取所述的源端高并发数据库的日志文件中所有操作记录日志所对应的日志记录的序列号;判断确定是否存在日志记录的序列号小于所述的最大日志记录的序列号的操作记录日志;如果存在,则将所述的源端高并发数据库的日志文件中日志记录的序列号大于所述的最大日志记录的序列号的操作记录日志发送至所述的目的端oracle同步软件;如果不存在,则重新获取拷贝备用文件。本专利技术还提供一种高并发数据库同步的方法,包括以下步骤:目的端oracle同步软件接收来自源端oracle同步软件所发送的拷贝备用文件,同时依据所述的拷贝备用文件获取基准高并发数据库和活动日志;获取拷贝备用完成时间节点所述的源端高并发数据库所对应的最大日志记录的序列号;接收来自源端oracle同步软件所发送的操作记录日志,其中,所述的操作记录日志的日志记录的序列号大于所述的最大日志记录的序列号;依据所述的基准高并发数据库、所述的活动日志及所述的操作记录日志在目的端高并发数据库上进行高并发数据同步。优选的,所述的依据所述的基准高并发数据库、所述的活动日志及所述的操作记录日志在目的端高并发数据库上进行高并发数据同步包括:获取所述的活动日志所对应的处理事务的标识码;获取所述的操作记录日志所对应的处理事务的标识码;判断确定所述的操作记录日志所对应的处理事务的标识码与所述的活动日志所对应的处理事务标识码是否相匹配;如果相匹配,则将所述的操作记录日志与所述的活动日志进行关联,直至所述的目的端oracle同步软件接收到处理事务提交的日志记录后,提交所述的活动处理事务以更新所述的基准高并发数据库,从而实现高并发数据同步;如果不相匹配,则表示所述的操作记录日志为拷贝备用完成之后开始的新处理事务,所述的目的端oracle同步软件将所述的操作记录日志转换为相应的结构化查询语言语句,同时在所述的目的端高并发数据库上执行,从而实现高并发数据同步。进一步的,依据所述的基准高并发数据库、所述的活动日志及所述的操作记录日志在目的端高并发数据库上进行高并发数据同步包括:获取所述的操作记录日志所对应的处理事务的起始日志记录的序列号;判断确定所述的操作记录日志所对应的处理事务的起始日志记录的序列号是否小于所述的最大日志记录的序列号;如果所述的操作记录日志所对应的处理事务的起始日志记录的序列号小于所述的最大日志记录的序列号,则表明所述的操作记录日志所对应的处理事务为源端高并发数据库拷贝备用完成之前启动而拷贝备用完成之后没有提交的处理事务;依据所述的操作记录日志所对应的处理事务的标识码与所述的活动日志所对应的处理事务标识码将所述的活动日志和所述的操作记录日志进行关联以进行高并发数据同步。优选的,所述的依据所述的基准高并发数据库、所述的活动日志及所述的操作记录日志进行高并发数据同步还包括:如果所述的操作记录日志所对应的处理事务的起始日志记录的序列号大于所述的最大日志记录的序列号,则表明所述的操作记录日志所对应的处理事务为源端高并发数据库拷贝备用完成之后开始的处理事务;对所述的操作记录日志进行解析还原为相应的结构化查询语言结构化语句,同时依据所述的基准高并发数据库进行高并发数据同步。进一步的,所述的拷贝备用文件包括高并发数据文件以及所述的源端高并发数据库在拷贝备用开始时间节点到拷贝备用完成时间节点所对应的事务处理日志,其中,所述的事务处理日志包括活动日志和已提交的事务处理日志;所述的目的端oracle同步软件接收来自源端oracle同步软件所发送的拷贝备用文件,同时依据所述的拷贝备用文件获取基准高并发数据库和活动日志包括:接收来自源端oracle同步软件所发送的拷贝备用文件;对所述的拷贝备用文件进行解析获取高并发数据文件、已提交的事务处理日志和活动日志;依据所述的已提交的事务处理日志更新所述的高并发数据文件得到基准高并发数据库。所述的获取拷贝备用完成时间节点所述的源端高并发数据库所对应的最大日志记录的序列号包括:对所述的事务处理日志进行解析,获取所述的事务处理日志中最大的日志记录的序列号,将所述的最大的日志记录的序列号标记为拷贝备用完成时间节点所述的源端高并发数据库所对应的最大日志记录的序列号。本专利技术还提供一种高并发数据同步系统,包括一个或多个CPU,还包括与所述的CPU通信一一对应连接的存储模块;所述的存储模块存储有可被所述的CPU执行的指令,所述的指令被设置为执行上述的高并发数据同步的方法,或者所述的指令被设置为执行上述的高并发数据库同步的方法。与现有技术相比,本专利技术的提供的一种高并发数据和数据库同步的方法及其系统,能够实现持久化策略,保证数据的一致性,同时拆分和缓冲的方式明显的增强本文档来自技高网...

【技术保护点】
1.一种高并发数据同步的方法,其特征在于,包括以下步骤:/n源端oracle同步软件获取源端高并发数据库生成的拷贝备用文件;/n将所述的拷贝备用文件发送至目的端oracle同步软件,以使所述的目的端oracle同步软件依据所述的拷贝备用文件还原得到基准高并发数据库和活动日志;/n获取拷贝备用完成时间节点所述的源端高并发数据库所对应的最大日志记录的序列号;/n读取所述的源端高并发数据库的日志文件中日志记录的序列号大于所述的最大日志记录的序列号的操作记录日志,同时将所述的操作记录日志发送至所述的目的端oracle同步软件,以使所述的目的端oracle同步软件依据所述的基准高并发数据库、所述的活动日志以及所述的操作记录日志在目的端高并发数据库上进行高并发数据同步。/n

【技术特征摘要】
1.一种高并发数据同步的方法,其特征在于,包括以下步骤:
源端oracle同步软件获取源端高并发数据库生成的拷贝备用文件;
将所述的拷贝备用文件发送至目的端oracle同步软件,以使所述的目的端oracle同步软件依据所述的拷贝备用文件还原得到基准高并发数据库和活动日志;
获取拷贝备用完成时间节点所述的源端高并发数据库所对应的最大日志记录的序列号;
读取所述的源端高并发数据库的日志文件中日志记录的序列号大于所述的最大日志记录的序列号的操作记录日志,同时将所述的操作记录日志发送至所述的目的端oracle同步软件,以使所述的目的端oracle同步软件依据所述的基准高并发数据库、所述的活动日志以及所述的操作记录日志在目的端高并发数据库上进行高并发数据同步。


2.根据权利要求1所述的一种高并发数据同步的方法,其特征在于,所述的源端oracle同步软件获取源端高并发数据库生成的拷贝备用文件包括:
源端oracle同步软件获取源端高并发数据库从拷贝备用开始时间节点到拷贝备用完成时间节点所对应的事务处理日志,其中,所述的事务处理日志包括活动日志以及已提交的事务处理日志;
将所述的事务处理日志追加到所述的高并发数据文件之后形成拷贝备用文件。


3.根据权利要求1所述的一种高并发数据同步的方法,其特征在于,所述的高并发数据同步的方法还包括:
获取所述的源端高并发数据库的日志文件中所有操作记录日志所对应的日志记录的序列号;
判断确定是否存在日志记录的序列号小于所述的最大日志记录的序列号的操作记录日志;
如果存在,则将所述的源端高并发数据库的日志文件中日志记录的序列号大于所述的最大日志记录的序列号的操作记录日志发送至所述的目的端oracle同步软件;
如果不存在,则重新获取拷贝备用文件。


4.一种高并发数据库同步的方法,其特征在于,包括以下步骤:
目的端oracle同步软件接收来自源端oracle同步软件所发送的拷贝备用文件,同时依据所述的拷贝备用文件获取基准高并发数据库和活动日志;
获取拷贝备用完成时间节点所述的源端高并发数据库所对应的最大日志记录的序列号;
接收来自源端oracle同步软件所发送的操作记录日志,其中,所述的操作记录日志的日志记录的序列号大于所述的最大日志记录的序列号;
依据所述的基准高并发数据库、所述的活动日志及所述的操作记录日志在目的端高并发数据库上进行高并发数据同步。


5.根据权利要求4所述的高并发数据库同步的方法,其特征在于,所述的依据所述的基准高并发数据库、所述的活动日志及所述的操作记录日志在目的端高并发数据库上进行高并发数据同步包括:
获取所述的活动日志所对应的处理事务的标识码;
获取所述的操作记录日志所对应的处理事务的标识码;
判断确定所述的操作记录日志所对应的处理事务的标识码与所述的活动日志所对应的处理事务标识码是否相匹配;
如果相匹配,则将所述的操作记录日志与所述的活动日志进行关联,直至所述的目的端oracle同步软件接收到处理事务提交的日志记录后,提交所述的活动处理事务以更新所述的基准高并发数据库,从而实现高并发数据同步;
如果不相...

【专利技术属性】
技术研发人员:朱海锋
申请(专利权)人:无锡网科信息技术有限公司
类型:发明
国别省市:江苏;32

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

1