[发明专利]事务处理方法及相关产品有效
申请号: | 202110726140.7 | 申请日: | 2021-06-29 |
公开(公告)号: | CN113360299B | 公开(公告)日: | 2022-11-29 |
发明(设计)人: | 李海兵 | 申请(专利权)人: | 深圳市商汤科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06Q30/06 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;董文俊 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务处理 方法 相关 产品 | ||
本申请实施例提供一种事务处理方法及相关产品,该事务处理方法包括:服务端创建第一微服务;若所述第一微服务对应至少两个事务,所述至少两个事务包括第一事务和第二事务,并且所述第一事务对应的第一数据源和所述第二事务对应的第二数据源不同,则创建链式事务管理器;通过所述链式事务管理器对所述第一数据源对应的事务和所述第二数据源对应的事务进行处理。本申请实施例可以保证微服务涉及的事务的数据一致性。
技术领域
本申请涉及互联网技术领域,具体涉及一种事务处理方法及相关产品。
背景技术
在微服务化开发的电商平台以及其他微服务化开发的产品中,业务拆分使得各个微服务独立部署和运行,同一个微服务涉及的事务可能对应不同的数据源的数据更新操作。如何保证微服务涉及的事务的数据一致性是亟需解决的问题。
发明内容
本申请实施例提供一种事务处理方法及相关产品。
本申请实施例的第一方面提供了一种事务处理方法,包括:
创建第一微服务;
若所述第一微服务对应至少两个事务,所述至少两个事务包括第一事务和第二事务,并且所述第一事务对应的第一数据源和所述第二事务对应的第二数据源不同,则创建链式事务管理器;
通过所述链式事务管理器对所述第一数据源对应的事务和所述第二数据源对应的事务进行处理。
可选的,所述方法还包括:
若所述第一微服务对应至少一个事务,并且所述至少一个事务对应相同的目标数据源,则创建单数据源事务管理器;
通过所述单数据源事务管理器对所述至少一个事务进行处理。
可选的,所述创建单数据源事务管理器,包括:
若所述目标数据源是默认数据源,通过注解的方式配置默认事务管理器,所述默认事务管理器实现所述默认数据源的事务支持,所述单数据源事务管理器包括所述默认事务管理器。
可选的,所述创建链式事务管理器,包括:
创建事务管理器,通过注解的方式设置所述事务管理器的属性为链式事务管理器。
可选的,所述创建第一微服务之前,所述方法还包括:
接收用户端发起的业务请求;
确定所述业务请求涉及的至少一个微服务,所述至少一个微服务包括所述第一微服务。
可选的,所述至少一个微服务还包括第二微服务,所述方法还包括:
创建所述第二微服务,创建第一消息表或第一消息集合;
将与所述业务请求相关的第一消息投递到第一消息队列,所述第二微服务用于从所述第一消息队列获得所述第一消息;
根据所述第一消息的标识符判断所述第一消息表或第一消息集合中是否存在与所述第一消息的标识符相同的消息;
若不存在,通过所述第二微服务处理所述第一消息;
可选的,所述处理所述第一消息之后,所述方法还包括:
若所述第一消息队列没有接收到所述第二微服务返回的针对所述第一消息的消息处理成功确认消息,则通过所述第一消息队列采用最大努力通知策略通知所述第二微服务。
可选的,所述处理所述第一消息之后,所述方法还包括:
在所述第一消息处理成功后,将所述第一消息持久化到所述第一消息表或第一消息集合中。
可选的,若所述第一消息表或第一消息集合中存在与所述第一消息的标识符相同的消息,丢弃所述第一消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市商汤科技有限公司,未经深圳市商汤科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110726140.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电动牙刷
- 下一篇:一种基于放电等离子体辅助冷烧结制备ZnO陶瓷的方法