[发明专利]消息处理方法以及消息处理装置在审

专利信息
申请号: 201610903595.0 申请日: 2016-10-18
公开(公告)号: CN107957910A 公开(公告)日: 2018-04-24
发明(设计)人: 方琪 申请(专利权)人: 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司
主分类号: G06F9/54 分类号: G06F9/54
代理公司: 中原信达知识产权代理有限责任公司11219 代理人: 张一军,姜劲
地址: 100195 北京市海淀区杏石口路6*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 消息 处理 方法 以及 装置
【说明书】:

技术领域

发明涉及计算机及其软件技术领域,特别地涉及一种消息处理方法以及消息处理装置。

背景技术

在互联网和软件领域,数据库是非常重要的。现实场景中,经常需要进行数据迁移工作。通过消息队列技术来实现数据迁移,已经是业内较为常用的办法。

消息队列技术是一种异步的消息订阅/生产/消费的通讯方法。现有的消息队列技术比较多,如rocketMQ,kafka,zeroMQ等。

通过消息队列来进行数据迁移的具体过程是:服务端通过消息队列,把源库的插入(insert)操作、更新(update)操作或删除(delete)操作封装成特定格式的消息生产出来,客户端程序获取这些消息,然后消费消息,即把消息还原成对应的sql语句执行,以达到数据迁移的目的。

现有技术的缺点在于:由于消息队列的生产消息和客户端消费消息都是并行、多线程进行的,因此很多消息队列无法保证消息的严格时序性。比如说,同一条记录的update消息和insert消息,可能update消息比insert消息先到达客户端,这样给目标库和源库的一致性造成了极大的困扰。

发明内容

有鉴于此,本发明提供一种稳定可靠、时序性好的消息处理方法以及消息处理装置。

为实现上述目的,根据本发明的一个方面,提供了一种消息处理方法,包括:判断接收到的当前消息所属的类型,该类型包括更新类型、插入类型和删除类型;若判断所述当前消息属于更新类型,则在所述当前消息中加入时间限制条件以得到修饰后的当前消息,所述时间限制条件为数据库最近操作时间戳小于当前消息时间戳;执行所述修饰后的当前消息;若执行所述修饰后的当前消息失败,则生成与所述当前消息对应的插入类型的衍生消息;执行所述插入类型的衍生消息;若执行所述插入类型的衍生消息失败,则重新执行所述修饰后的当前消息。

可选地,所述生成与所述当前消息对应的插入类型的衍生消息的步骤包括:将所述当前消息中的java对象的操作属性重新赋值为插入属性,以得到所述插入类型的衍生消息。

可选地,在所述判断接收到的当前消息所属的类型的步骤之后,还包括:若判断所述当前消息属于插入类型,则执行所述当前消息。

可选地,在所述判断接收到的当前消息所属的类型的步骤之后,还包括:若判断所述当前消息属于删除类型,则执行所述当前消息。

根据本发明的另一方面,提供了一种消息处理装置,包括:判断模块,用于判断接收到的当前消息所属的类型,该类型包括更新类型、插入类型和删除类型;第一处理模块,用于在所述判断模块判断所述当前消息属于更新类型的情况下,在所述当前消息中加入时间限制条件以得到修饰后的当前消息,所述时间限制条件为数据库最近操作时间戳小于当前消息时间戳;第一执行模块,用于执行所述修饰后的当前消息;第二处理模块,用于在所述第一执行模块执行失败的情况下,生成与所述当前消息对应的插入类型的衍生消息;第二执行模块,用于执行所述插入类型的衍生消息;第三执行模块,用于在所述第二执行模块执行失败的情况下,重新执行所述修饰后的当前消息。

可选地,所述第二处理模块还用于,将所述当前消息中的java对象的操作属性重新赋值为插入属性,以得到所述插入类型的衍生消息。

可选地,还包括:第四执行模块,用于在所述判断模块判断所述当前消息属于插入类型的情况下,执行所述当前消息。

可选地,还包括:第五执行模块,用于在所述判断模块判断所述当前消息属于删除类型的情况下,执行所述当前消息。

根据本发明的技术方案,针对接收到的更新消息加上了“数据库最近操作时间戳小于当前消息时间戳”的限制条件,因此能够保证各条更新消息之间的执行顺序正确。同时,在更新消息首次执行失败后重新包装为插入消息,这样可以保证同一条记录的插入消息和更新消息的执行顺序正确。因此本发明的技术方案具有稳定可靠、时序性好等优点。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是根据本发明实施方式的消息处理方法的主要步骤的示意图;

图2是根据本发明实施方式的消息处理装置的主要模块的示意图;

图3是根据本发明实施方式的消息处理方法的工作原理示意图。

具体实施方式

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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