[发明专利]一种基于RocketMq消息中间件并行同步数据的方法在审

专利信息
申请号: 201910485111.9 申请日: 2019-06-05
公开(公告)号: CN110209740A 公开(公告)日: 2019-09-06
发明(设计)人: 刘亚坤;张亚飞 申请(专利权)人: 浪潮软件股份有限公司
主分类号: G06F16/27 分类号: G06F16/27
代理公司: 济南信达专利事务所有限公司 37100 代理人: 姜明
地址: 250100 山东*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 消息中间件 同步数据 数据传输 并行 多个数据库 消息主题 数据库 标签 消息处理机制 单一数据库 数据提供端 捕获数据 程序执行 传输过程 传输异常 记录数据 数据使用 消息机制 业务数据 异常处理 异常信息 日志 补救 删除 传输 共享 保证
【权利要求书】:

1.一种基于RocketMq消息中间件并行同步数据的方法,其特征在于:用于单一数据库同时与多个数据库之间的数据传输,利用Mq消息处理机制,在数据提供端定义生产者类,在数据使用端定义消费者类,根据不同业务定义不同消息主题及标签,并记录数据传输中的程序执行日志,建立异常处理机制,确保数据传输中的数据及时性、数据完整性及数据准确性;

具体包括以下三部分:

(1)数据传输并发性

定义不同的消息主题及标签,通过Rocket Mq消息机制增加或删除不同数据库的业务数据,最终实现多个数据库数据同时向某一数据库进行数据传输;

(2)数据传输过程监控

通过数据传输的日志表记录数据传输中出现的异常数据,对传输异常情况进行监控分析;

(3)数据传输补救

对于数据传输过程中出现错误的情况进行手工补救,以确保数据的完整性。

2.根据权利要求1所述的基于RocketMq消息中间件并行同步数据的方法,其特征在于:在所述数据提供端定义Mq生产者类,将Mq生产者类放在数据提供端的应用程序下,Mq生产者类继承父类Rocket Mq的Base Producer,在所述数据使用端定义Mq消费者类,将Mq消费者类放在数据使用端的应用程序下。

3.根据权利要求2所述的基于RocketMq消息中间件并行同步数据的方法,其特征在于:所述数据提供端的应用程序每天零点使用定时器调用Mq生产者类,在Mq生产者类中对每张表都使用先删除后插入的方式逐一进行处理,并记录上传日志。

4.根据权利要求3所述的基于RocketMq消息中间件并行同步数据的方法,其特征在于:所述数据提供端的应用程序在Mq生产者类中对每张表逐一进行处理,包括以下几种调用方法:

(1)调用父类方法addMsgs,将该表开始上传的消息放入待发送;

(2)调用父类方法addMsgs,将删除该表上传范围内数据sql的消息放入待发送;

(3)调用父类方法addMsgs,将该表上传范围内数据的消息放入待发送;

(4)调用父类方法addMsgs,将该表结束上传的消息放入待发送;

(5)调用父类方法startSendMsgs,将待发送的消息放入Mq队列,在发送时将同一张表的所有消息放到Mq的同一队列中;在startSendMsgs方法中将每个表以及每天的数据上传情况记录到Mq数据传输日志表中。

5.根据权利要求2所述的基于RocketMq消息中间件并行同步数据的方法,其特征在于:所述数据使用端的应用程序中Mq消费者类接收消息,一次性接收一个长度为100的msgList,声明临时数据列表dataList,循环msgList。

6.根据权利要求3或5所述的基于RocketMq消息中间件并行同步数据的方法,其特征在于:定义Mq消息参数,包括TOPIC,Mq_KEY,QUERY_ID,开始消息的TAGS,删除消息的TAGS,上传数据消息的TAG和结束消息的TAGS;其中,TOPIC为CMR_PCOM_DATA,Mq_KEY为数据提供端标准编码+‘_’+表名,QUERY_ID为随机数,开始消息的TAGS为TART_+表名,删除消息的TAGS为DELETE_+表名,上传数据消息的TAGS为表名,结束消息的TAGS为END_+表名。

7.根据权利要求6所述的基于RocketMq消息中间件并行同步数据的方法,其特征在于:当消息的TAGS以DELETE_开头时,执行删除数据的sql;当消息的TAGS以START_开头时,插入数据接收日志表SCMR_RECEIVE_LOG一条记录;当消息的TAGS以END_开头时,更新数据接收日志表END_TIME和IS_SUCCESS,循环取出dataList中数据然后批量插入,在插入出现异常时更新数据接收日志表IS_EXCEPTION字段为1;批量插入数据后重新初始化dataList;当消息的TAGS为其他情况时,将消息中数据放入dataList。

8.根据权利要求7所述的基于RocketMq消息中间件并行同步数据的方法,其特征在于:在循环处理完msgList后,如果dataList长度大于0,循环取出dataList中数据,然后批量插入。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件股份有限公司,未经浪潮软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910485111.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top