[发明专利]分布式事务处理方法有效
申请号: | 201710043404.2 | 申请日: | 2017-01-21 |
公开(公告)号: | CN106874076B | 公开(公告)日: | 2019-08-30 |
发明(设计)人: | 张元康 | 申请(专利权)人: | 浙江沛宏网络科技有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F16/23 |
代理公司: | 北京维正专利代理有限公司 11508 | 代理人: | 林乐飞 |
地址: | 310012 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 事务处理 方法 | ||
技术领域
本发明涉及数据处理技术,更具体地说,它涉及分布式事务处理方法。
背景技术
SaaS平台是运营saas软件的平台。SaaS提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房、招聘IT人员,即可通过互联网使用信息系统。SaaS是一种软件布局模型,其应用专为网络交付而设计,便于用户通过互联网托管、部署及接入。
针对saas平台业务量大,需要把底层服务分别部署在多台服务器上,但是由于多台服务器之间并不会进行沟通,因此,又会产生事务的不一致性问题。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种分布式事务处理方法,能够对事务进行快速处理,并且能够保证事务的一致性。
为实现上述目的,本发明提供了如下技术方案:
一种分布式事务处理方法,包括:
多个事务处理节点中的其中一个事务处理节点接收事务启动请求,并将与所述事务启动请求对应的事务划分为若干子事务;
所述其中一个事务处理节点执行预定的其中一个子事务,并将其余的子事务写入到本地数据库;
所述其中一个事务处理节点在执行完子事务后,查询本地数据库中的子事务,并将本地数据库中的子事务发布至消息队列,并在发布后从本地数据库中删除相应的子事务;
所述消息队列向其余的事务处理节点推送子事务,并在从其余的事务处理节点接收到成功标识后,从队列中删除相应的子事务;
所述其余的事务处理节点在接收到相应的子事务后,将子事务写入各自的本地数据库;
所述其余的事务处理节点从各自的本地数据库中获取并执行相应的子事务,并在执行完成后,从本地数据库中删除相应的子事务。
优选地,所述消息队列采用RabbitMQ消息队列。
优选地,所述其中一个事务处理节点在成功执行相应的子事务后,向消息队列发送确认消息;消息队列接收到确认消息后,消息队列向其余的事务处理节点推送子事务;所述其中一个事务处理节点在未成功执行相应的子事务时,向消息队列发送取消消息;消息队列接收到取消消息后,消息队列不向其余的事务处理节点推送子事务。
优选地,还包括:消息状态确认服务器查询消息队列中的子事务,若存在未确认或被取消的子事务,则查询所述其中一个事务处理节点中对应子事务的消息状态,若对应的消息状态已被确认,则向消息队列发送确认消息。
优选地,还包括:
所述其余事务处理节点在处理完相应的子事务后,将该子事务写入到各自的事务状态表;
当所述其余事务处理节点从消息队列接收到子事务时,查询该事务状态表,若已存在,则不将接收到的子事务写入到本地数据库;若不存在,则写入到本地数据库以待处理。
优选地,还包括:
所述其中一个事务处理节点在对事务进行划分时,从标识处理服务器获取包含有若干唯一标识的唯一标识串,并将其中的唯一标识一一对应地添加至每一子事务;当相应的事务处理节点在执行完相应的子事务后,将该唯一标识发送至标识处理服务器;
该标识处理服务器在发出唯一标识串的预定时间后,查询相应的唯一标识的接收状态;若存在至少一个唯一标识未被接收,则查询相应的事务处理节点,并根据查询结果进行相应的处理。
优选地,所述标识处理服务器记录查询结果,当在同一事务处理节点查询到唯一标识的次数超过预设值时,则将该事务处理节点的信息发送至监视服务器;所述监视服务器在接收到相应的信息后,从备用的事务处理节点库中调取相应的事务处理节点进行替换。
与现有技术相比,本发明的优点是:
1、每一事务处理节点仅在成功处理完相应的子事务后,再删除该事务,从而保证整个事务的一致性;
2、通过消息队列将各个子事务推送至相应的事务处理节点,一方面处理速度快,另一方面,能够保证各个事务处理节点能够准确地接收到子事务;
3、具有监视功能,通过监视服务器与标识处理服务器之间的配合,实现对各个事务处理节点的处理能力的监视,当某个事务处理节点频繁出现处理迟缓或失败的问题时,则从库中调取相应的事务处理节点进行替换,以保证事务处理的顺畅。
附图说明
图1为实施例1中分布式事务处理系统的系统框图;
图2为实施例2中分布式事务处理系统的系统框图;
图3为实施例3中分布式事务处理系统的系统框图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江沛宏网络科技有限公司,未经浙江沛宏网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710043404.2/2.html,转载请声明来源钻瓜专利网。