[发明专利]基于消息队列和数据库的分布式事务处理方法及系统有效
申请号: | 202010840396.6 | 申请日: | 2020-08-20 |
公开(公告)号: | CN111708619B | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 顾凌云;郭志攀;王伟;刘畅 | 申请(专利权)人: | 上海冰鉴信息科技有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/48;G06F16/174 |
代理公司: | 成都顶峰专利事务所(普通合伙) 51224 | 代理人: | 匡睿 |
地址: | 200000 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 消息 队列 数据库 分布式 事务处理 方法 系统 | ||
本发明提供了一种基于消息队列和数据库的分布式事务处理方法及系统。在该方法中,组件封装服务器根据获取到的业务请求服务器的第一配置信息以及业务执行服务器的第二配置信息生成目标压缩包,并将目标压缩包分别发送至业务请求服务器和业务执行服务器,能够使得业务请求服务器和业务执行服务器基于目标压缩包进行解压配置,从而实现对事务处理组件和消息传输路径的部署。这样能够使得不同的业务请求服务器和业务执行服务器基于消息队列进行分布式事务的处理,从而提高基于消息队列和数据库的分布式事务处理方案的易用性以及方案部署效率。
技术领域
本发明涉及事务处理技术领域,具体而言,涉及一种基于消息队列和数据库的分布式事务处理方法及系统。
背景技术
事务是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作。分布式事务指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。但是由于Java数据库连接(Java DatabaseConnectivity,JDBC)只能保证同一个数据库在同一个系统的代码中事务有效,不能保证不同数据库或不同系统之间的事务一致性。
相关技术如XA二阶段提交方案、TCC方案、最大努力通知方案和可靠消息最终一致性方案虽然能够解决上述的事务一致性问题,然是这些技术会存在一定的问题:XA二阶段提交方案的性能差;TCC方案的代码逻辑实现繁杂;最大努力通知方案的使用场景单一,只能适用于对最终一致性时间敏感度低的业务;可靠消息最终一致性方案需要使用RocketMq这种特定的消息队列,会限制消息队列的选择。
因此,基于消息队列的最终一致性方案广泛用于解决事务一致性问题,但是基于消息队列的最终一致性方案易用性差,难以快速地部署到不同的分布式系统中。
发明内容
为了改善上述问题,本发明提供了一种基于消息队列和数据库的分布式事务处理方法及系统,能够根据不同的业务请求服务器和业务执行服务器的配置信息生成用于对分布式事务处理组件进行部署的目标压缩包,这样能够使得业务请求服务器和业务执行服务器分别基于目标压缩包进行分布式事务处理组件和相关功能的部署,从而提高基于消息队列和数据库的分布式事务处理方案的易用性以及方案部署效率。
本发明实施例的第一方面,提供了一种基于消息队列和数据库的分布式事务处理方法,应用于分布式事务处理系统,所述分布式事务处理系统包括组件封装服务器、业务请求服务器以及业务执行服务器,所述业务请求服务器和所述业务执行服务器通过消息队列通信,所述组件封装服务器分别与所述业务请求服务器以及所述业务执行服务器通信,所述方法包括:
所述组件封装服务器获取所述业务请求服务器的第一配置信息以及所述业务执行服务器的第二配置信息;其中,所述第一配置信息包括所述业务请求服务器的数据源信息以及所述业务请求服务器中的事务管理器的第一参数信息,所述第二配置信息包括所述业务执行服务器中的事务处理器的第二参数信息;
所述组件封装服务器根据所述第一配置信息和所述第二配置信息生成目标压缩包,将所述目标压缩包分别发送至所述业务请求服务器和所述业务执行服务器;
所述业务请求服务器对所述目标压缩包进行解压配置,生成事务处理组件,将预存的用户信息导入所述事务处理组件中;
所述业务执行服务器对所述目标压缩包进行解压配置,建立所述事务处理器与所述消息队列的消息传输路径;
所述业务请求服务器根据接收到的用户请求在所述事务处理组件中创建用户记录,并根据所述用户记录生成事务消息,将所述事务消息发送给所述消息队列;其中,所述事务处理组件中包括用于存储用户记录的数据库;
所述业务执行服务器通过所述消息传输路径从所述消息队列中抽取所述事务消息并通过所述事务管理器对所述事务消息进行处理。
可选地,所述组件封装服务器根据所述第一配置信息和所述第二配置信息生成目标压缩包,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海冰鉴信息科技有限公司,未经上海冰鉴信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010840396.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:纽甜中粘性物质的去除方法
- 下一篇:一种半导体封装件及其制备方法