[发明专利]一种基于消息队列的分布式事务处理方法及系统在审
申请号: | 201911404579.7 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111158933A | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 王海峰 | 申请(专利权)人: | 易票联支付有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 谭英强;黎扬鹏 |
地址: | 510000 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 消息 队列 分布式 事务处理 方法 系统 | ||
1.一种基于消息队列的分布式事务处理方法,其特征在于:包括以下步骤:
对发送的消息进行顺序编号;
将发送的消息及其顺序编号写入发送日志;
发送消息给服务端,使所述服务端获取所述消息的顺序编号并与第一数据库中存储的顺序编号进行比较,当二者的顺序编号不连续则确定缺漏的起始顺序编号和结束顺序编号,当二者的顺序编号连续则将所述消息发送给消息队列;
根据所述起始顺序编号和所述结束顺序编号从所述发送日志中获取缺漏数据,并将所述缺漏数据发送给所述服务端;
其中,所述第一数据库为非关系型数据库。
2.根据权利要求1所述的一种基于消息队列的分布式事务处理方法,其特征在于:所述将发送的消息及其顺序编号写入发送日志这一步骤,具体为:
在发送日志中写入发送时间、顺序编号、发送端标识、消息的散列值和消息内容。
3.根据权利要求1所述的一种基于消息队列的分布式事务处理方法,其特征在于:所述根据所述起始顺序编号和所述结束顺序编号从所述发送日志中获取缺漏数据,并将所述缺漏数据发送给所述服务端这一步骤,具体包括:
将所述起始顺序编号和所述结束顺序编号加入数据缺漏任务处理列表并发送给数据修复线程;
通过所述数据修复线程根据所述起始顺序编号和所述结束顺序编号解析所述发送日志,获取缺漏数据;
将所述缺漏数据重新发送给所述服务端。
4.一种基于消息队列的分布式事务处理方法,其特征在于:包括以下步骤:
接收发送端发送的消息;
获取所述消息的顺序编号作为当前编号;
从第一数据库中获取存储的所述发送端的顺序编号作为上一次编号;
确定所述当前编号与所述上一次编号为不连续的编号,将缺漏的起始顺序编号和结束顺序编号返回给发送端,使发送端根据所述起始顺序编号和所述结束顺序编号从所述消息的发送日志中获取缺漏数据后重新发送给服务端;
确定所述当前编号与所述上一次编号为连续的编号,将所述消息发送给消息队列;
其中,所述第一数据库为非关系型数据库。
5.根据权利要求4所述的一种基于消息队列的分布式事务处理方法,其特征在于:所述确定所述当前编号与所述上一次编号为不连续的编号,将缺漏的起始顺序编号和结束顺序编号返回给发送端,使发送端根据所述起始顺序编号和所述结束顺序编号从所述消息的发送日志中获取缺漏数据后重新发送给服务端这一步骤,具体包括:
确定所述当前编号与所述上一次编号为不连续的编号,获取缺漏的起始顺序编号和结束顺序编号,并生成数据填补任务登记在第一数据库中;
将发送端发送不成功的消息、所述起始顺序编号和所述结束顺序编号返回给发送端。
6.根据权利要求5所述的一种基于消息队列的分布式事务处理方法,其特征在于:所述确定所述当前编号与所述上一次编号为不连续的编号,将缺漏的起始顺序编号和结束顺序编号返回给发送端,使发送端根据所述起始顺序编号和所述结束顺序编号从所述消息的发送日志中获取缺漏数据后重新发送给服务端这一步骤,还具体包括:
将所述当前编号赋值給所述上一次编号并更新所述第一数据库;
接收发送端重新发送的携带有所述起始顺序编号和所述结束顺序编号的缺漏数据;
清除所述第一数据库的所述数据填补任务记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于易票联支付有限公司,未经易票联支付有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911404579.7/1.html,转载请声明来源钻瓜专利网。