[发明专利]一种基于过程任务事务处理机制的实现方法有效
申请号: | 201811618006.X | 申请日: | 2018-12-28 |
公开(公告)号: | CN109783203B | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 李勇;乐天 | 申请(专利权)人: | 深圳竹云科技股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京市浩天知识产权代理事务所(普通合伙) 11276 | 代理人: | 石志娟 |
地址: | 518000 广东省深圳市南山区西丽*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 过程 任务 事务处理 机制 实现 方法 | ||
本发明涉及一种基于过程任务事务处理机制的实现方法,本发明步骤为:事件执行器在事务层或者非事务层拦截业务对象的CUD等操作;事件执行器根据事件标识产生过程任务;过程执行器监听过程任务队列,判断任务的执行条件执行过程任务;每一个过程任务的运行均完成特定的微事务处理,并根据任务执行结果,自动判断是否触发依赖过程任务的创建和执行。本发明简化事务逻辑,化整为零避免传统事务锁的产生。
技术领域
本发明涉及一种事务处理机制的实现方法,更具体地说,涉及一种基于过程任务事务处理机制的实现方法。
背景技术
随着互联网的发展,云应用、微服务架构的出现,传统事务的处理方式在处理能力和可用性上都暴露出了瓶颈,柔性事务的概念被提出。柔性事务与传统事务最大的区别在于:传统事务通过锁机制,要求并保证数据的原子性、一致性、隔离性和持久性;柔性事务则采用无锁设计,实现并保证数据的基本可用、柔性状态及最终一致性。在技术上,传统事务通常由关系数据库的事务机制实现,而柔性事务还处于探索阶段,目前没有统一的技术手段,但统大多数通常采用消息机制实现,主要由生产者、消息中间件和消费者组成。
数据库的事务机制,当一个事务被提交给数据库管理系统时,则数据库需要确保该事务中的所有操作均成功完成且结果被永久保存在数据库中,如果事务中任何一个操作没有成功完成,则事务中的所有操作都被回滚,回到事务执行前的状态。在现实情况下,往往数据库事务的执行过程中,很可能出现某个操作失败,导致整个事务回滚而无法完成,且无法解决互联网时代,分布式系统中跨平台、跨系统、跨应用、跨存储事务的一致性,通常只能用于单个应用内。另外,数据库事务如果应用不当,数据库的行锁和表锁往往会严重影响数据库执行效率,并且事务一旦定义,很难变更。
消息机制,消息队列是分布式系统中的重要组成部分,主要解决应用耦合、异常消息、流量削锋等问题,从而实现高性能、高可用、可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件。消息机制采用F IFO先进先出的原则,缺乏优先级机制,容易造成消息堆积;且消息之间相互独立,没有依赖处理机制,无法实现保证某一条消息处理之后,根据依赖关系和处理结果触发生成新的消息;消息队列中的消息一旦被消费后,无法回退消息。
发明内容
本发明要解决的技术问题在于,针对现有技术中的缺陷,提供一种基于过程任务事务处理机制的实现方法。
本发明解决其技术问题所采用的技术方案是:构造一种基于过程任务事务处理机制的实现方法,将事务化整为零,根据业务逻辑的复杂度、关联性和优先级,以任务方式将大事务拆分成零散的微事务,即每一个过程任务为一个微事务,而一个完整的过程链才是一个完整的事务,做到分布式柔性事务的可跟踪、可回溯和可动态变更,从而有效解决跨业务、跨系统、跨平台的业务数据事务一致性的问题。
在本发明所述的基于过程任务事务处理机制的实现方法中,所述基于过程任务事务处理机制的实现方法步骤为:
S1.事件执行器在事务层或者非事务层拦截业务对象的CUD等操作,包括新增、修改、删除通用操作,以及禁用、启用等自定义操作,识别并转换为与之对应的事件;
S2.事件执行器根据事件标识,根据过程定义并结合匹配规则产生过程任务,将合适的过程任务写入队列,并根据过程定义标记其执行优先级、执行顺序和依赖关系;
S3.过程执行器监听过程任务队列,判断任务的执行条件,按预先定义的规则分布式异步执行过程任务;
S4.每一个过程任务的运行均完成特定的微事务处理,并根据任务执行结果,自动判断是否触发依赖过程任务的创建和执行。
实施本发明的一种基于过程任务事务处理机制的实现方法,具有以下有益效果:本发明简化事务逻辑,化整为零避免传统事务锁的产生;有效提高分布式数据的一致性,做到柔性事务结果可跟踪、可回溯;提高系统的灵活性,在业务不中断的情况下可根据业务发展随时调整事务。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳竹云科技股份有限公司,未经深圳竹云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811618006.X/2.html,转载请声明来源钻瓜专利网。