[发明专利]分布式事务处理方法有效
申请号: | 201710043404.2 | 申请日: | 2017-01-21 |
公开(公告)号: | CN106874076B | 公开(公告)日: | 2019-08-30 |
发明(设计)人: | 张元康 | 申请(专利权)人: | 浙江沛宏网络科技有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F16/23 |
代理公司: | 北京维正专利代理有限公司 11508 | 代理人: | 林乐飞 |
地址: | 310012 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 事务处理 方法 | ||
1.一种分布式事务处理方法,其特征是,包括:
多个事务处理节点中的其中一个事务处理节点接收事务启动请求,并将与所述事务启动请求对应的事务划分为若干子事务;
所述其中一个事务处理节点执行预定的其中一个子事务,并将其余的子事务写入到本地数据库;
所述其中一个事务处理节点在执行完子事务后,查询本地数据库中的子事务,并将本地数据库中的子事务发布至消息队列,并在发布后从本地数据库中删除相应的子事务;
所述消息队列向其余的事务处理节点推送子事务,并在从其余的事务处理节点接收到成功标识后,从队列中删除相应的子事务;
所述其余的事务处理节点在接收到相应的子事务后,将子事务写入各自的本地数据库;
所述其余的事务处理节点从各自的本地数据库中获取并执行相应的子事务,并在执行完成后,从本地数据库中删除相应的子事务。
2.根据权利要求1所述的服务器业务处理方法,其特征是,所述消息队列采用RabbitMQ消息队列。
3.根据权利要求1所述的服务器业务处理方法,其特征是,所述其中一个事务处理节点在成功执行相应的子事务后,向消息队列发送确认消息;消息队列接收到确认消息后,消息队列向其余的事务处理节点推送子事务;所述其中一个事务处理节点在未成功执行相应的子事务时,向消息队列发送取消消息;消息队列接收到取消消息后,消息队列不向其余的事务处理节点推送子事务。
4.根据权利要求3所述的服务器业务处理方法,其特征是,还包括:消息状态确认服务器查询消息队列中的子事务,若存在未确认或被取消的子事务,则查询所述其中一个事务处理节点中对应子事务的消息状态,若对应的消息状态已被确认,则向消息队列发送确认消息。
5.根据权利要求1所述的服务器业务处理方法,其特征是,还包括:
所述其余事务处理节点在处理完相应的子事务后,将该子事务写入到各自的事务状态表;
当所述其余事务处理节点从消息队列接收到子事务时,查询该事务状态表,若已存在,则不将接收到的子事务写入到本地数据库;若不存在,则写入到本地数据库以待处理。
6.根据权利要求1所述的服务器业务处理方法,其特征是,还包括:
所述其中一个事务处理节点在对事务进行划分时,从标识处理服务器获取包含有若干唯一标识的唯一标识串,并将其中的唯一标识一一对应地添加至每一子事务;当相应的事务处理节点在执行完相应的子事务后,将该唯一标识发送至标识处理服务器;
该标识处理服务器在发出唯一标识串的预定时间后,查询相应的唯一标识的接收状态;若存在至少一个唯一标识未被接收,则查询相应的事务处理节点,并根据查询结果进行相应的处理。
7.根据权利要求6所述的服务器业务处理方法,其特征是,所述标识处理服务器记录查询结果,当在同一事务处理节点查询到唯一标识的次数超过预设值时,则将该事务处理节点的信息发送至监视服务器;所述监视服务器在接收到相应的信息后,从备用的事务处理节点库中调取相应的事务处理节点进行替换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江沛宏网络科技有限公司,未经浙江沛宏网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710043404.2/1.html,转载请声明来源钻瓜专利网。