基于子事务的事务执行方法、装置、终端设备和存储介质制造方法及图纸

技术编号:39305306 阅读:10 留言:0更新日期:2023-11-12 15:54
本发明专利技术公开了一种基于子事务的事务执行方法、装置、终端设备和存储介质,包括:通过功能链的配置界面,使得用户可以根据具体的需求排布好各个功能节点的执行顺序以及划分子事务,生成一待执行的功能链;在通过主事务来执行该功能链的过程中,可以通过判断当前功能节点是否属于子事务的功能节点来实现整个功能链的执行,在所述目标主事务中的功能节点均已执行完毕时,提交主事务中所有的执行结果。本发明专利技术无需等待主事务所有的功能节点顺利执行完后才输出全部的执行结果,而是使得子事务的执行结果可以得到及时的输出,而且通过本发明专利技术还可以尽量避免在具有多功能节点的主事务的执行过程中发生阻塞等情况,在一定程度上减少了进程资源开销的浪费。了进程资源开销的浪费。了进程资源开销的浪费。

【技术实现步骤摘要】
基于子事务的事务执行方法、装置、终端设备和存储介质


[0001]本专利技术涉及事务处理
,尤其涉及一种基于子事务的事务执行方法、装置、终端设备和存储介质。

技术介绍

[0002]目前系统中的业务操作链路中所有功能节点需要共用一个主事务,当业务操作所有的功能节点均返回结果后,才一并提交所有功能节点的事务完成结果,以完成主事务的执行。当需要执行具有较长链路的功能链时,若采用一个主事务来逐一执行功能链中各个功能节点,则需要等该主事务所有的功能节点顺利执行完后才输出全部的执行结果,则采用现有技术的方案会导致各个功能节点对应的执行结果不能及时输出,以及可能会使得具有多功能节点的主事务在执行过程中发生阻塞、死锁或锁竞争的问题,从而导致执行进程的资源浪费。

技术实现思路

[0003]本专利技术实施例提供一种基于子事务的事务执行方法、装置、终端设备和存储介质,能有效解决现有技术中会导致各个功能节点对应的执行结果不能及时输出,以及可能会使得具有多功能节点的主事务在执行过程中发生阻塞、死锁或锁竞争的问题,从而导致执行进程的资源浪费的问题。
[0004]本专利技术一实施例提供一种基于子事务的事务执行方法,包括:
[0005]生成一用于指示事务执行时所对应的功能链的配置界面;所述配置界面包括:功能节点选定区域以及功能链编辑界面;所述功能节点选定区域设置有若干功能节点;所述功能链编辑界面中设置有用于指示一可独立执行的子事务的子事务画布容器;
[0006]响应用户在所述功能节点选定区域的功能节点选定操作,获取各已选定功能节点;
[0007]响应用户在所述功能链编辑界面中的节点编辑操作,生成对应的功能链;其中,所述节点编辑操作,包括:从已选定功能节点中选取若干功能节点拖拽进入子事务画布容器中,以及将各个功能节点进行连接;
[0008]对所述功能链进行解析,生成解析结果;
[0009]根据所述解析结果建立主事务,继而逐一执行所述功能链中的各个功能节点,在判断当前功能节点不属于子事务的功能节点且不指示完成业务操作的执行时,则在执行完当前功能节点后将对应的执行结果反馈至主事务中,继续获取下一个功能节点;在判断当前功能节点属于子事务的功能节点时,若判断当前功能节点不用于指示完成业务操作的执行,则直接执行当前功能节点并继续获取下一个功能节点,若判断当前功能节点用于指示完成业务操作的执行时,则在执行完当前功能节点后提交子事务对应的执行结果且将子事务对应的执行结果反馈至主事务中,继续获取下一个功能节点;
[0010]在检测到所有功能节点都已执行完毕时,提交主事务中所有的执行结果。
[0011]优选的,所述对所述功能链进行解析,生成解析结果,包括:
[0012]对所述功能链进行解析,得到所述功能链的流转方向以及所述功能链中每个功能节点的运行参数;
[0013]根据所述功能链的流转方向以及所述功能链中每个功能节点的运行参数,生成所述功能链对应的解析结果。
[0014]优选的,所述功能节点,包括:
[0015]用于指示开始执行业务操作的开始节点、用于指示结束业务操作的执行的结束节点以及用于指示业务操作的业务节点。
[0016]优选的,所述从已选定功能节点中选取若干功能节点拖拽进入子事务画布容器中,包括:
[0017]从已选定功能节点中,至少选取一开始节点、一结束节点以及一业务节点,拖拽进入子事务画布容器中。
[0018]优选的,所述在判断当前功能节点属于子事务的功能节点时,若判断当前功能节点不用于指示完成业务操作的执行,则直接执行当前功能节点并继续获取下一个功能节点,若判断当前功能节点用于指示完成业务操作的执行时,则在执行完当前功能节点后提交子事务对应的执行结果且将子事务对应的执行结果反馈至主事务中,继续获取下一个功能节点,包括:
[0019]在判断当前功能节点属于子事务的功能节点时,继而判断所述当前功能节点是否为开始节点、结束节点或业务节点;
[0020]若判断当前功能节点是用于指示开始执行业务操作的开始节点时,则获取主事务中的当前上下文信息,并在执行完当前功能节点后,继而获取下一功能节点,并将所述主事务中的当前上下文信息传输至下一功能节点;
[0021]若判断当前功能节点是用于指示业务操作的业务节点时,则直接执行所述业务节点对应的业务操作,继而获取下一功能节点;
[0022]若判断当前功能节点是用于指示完成业务操作的执行的结束节点时,则在执行完当前功能节点后提交子事务对应的执行结果,同时将子事务的执行结果以及所述子事务对应的当前上下文信息反馈至主事务中,继而获取下一个功能节点。
[0023]优选的,所述在检测到所有功能节点已执行完毕时,提交主事务中所有的执行结果,包括:
[0024]在检测到当前功能节点不属于子事务的功能节点,且为结束节点时,则认为功能链的所有功能节点已执行完毕,提交主事务中所有的执行结果。
[0025]优选的,还包括:
[0026]在检测到当前功能节点不属于子事务的功能节点且为业务节点时,若当前功能节点在执行过程发生中断,则中断主事务的本次执行过程;
[0027]将已执行完的子事务对应的执行结果作为所述主事务的本次执行的结果。
[0028]在上述的方法实施例的基础上,本专利技术对应提供了装置项实施例。
[0029]本专利技术一实施例提供了一种基于子事务的事务执行装置,包括:功能链生成模块、功能链解析模块、功能链执行模块以及执行结果提交模块;
[0030]所述功能链生成模块,用于生成一用于指示事务执行时所对应的功能链的配置界
面;所述配置界面包括:功能节点选定区域以及功能链编辑界面;所述功能节点选定区域设置有若干功能节点;所述功能链编辑界面中设置有用于指示一可独立执行的子事务的子事务画布容器;响应用户在所述功能节点选定区域的功能节点选定操作,获取各已选定功能节点;响应用户在所述功能链编辑界面中的节点编辑操作,生成对应的功能链;其中,所述节点编辑操作,包括:从已选定功能节点中选取若干功能节点拖拽进入子事务画布容器中,以及将各个功能节点进行连接;
[0031]所述功能链解析模块,用于对所述功能链进行解析,生成解析结果;
[0032]所述功能链执行模块,用于根据所述解析结果建立主事务,继而逐一执行所述功能链中的各个功能节点,在判断当前功能节点不属于子事务的功能节点且不指示完成业务操作的执行时,则在执行完当前功能节点后将对应的执行结果反馈至主事务中,继续获取下一个功能节点;在判断当前功能节点属于子事务的功能节点时,若判断当前功能节点不用于指示完成业务操作的执行,则直接执行当前功能节点并继续获取下一个功能节点,若判断当前功能节点用于指示完成业务操作的执行时,则在执行完当前功能节点后提交子事务对应的执行结果且将子事务对应的执行结果反馈至主事务中,继续获取下一个功能节点;
[0033]所述执行结果提交模块,用于在检测到所有功能节点都已执行完毕时,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于子事务的事务执行方法,其特征在于,包括:生成一用于指示事务执行时所对应的功能链的配置界面;所述配置界面包括:功能节点选定区域以及功能链编辑界面;所述功能节点选定区域设置有若干功能节点;所述功能链编辑界面中设置有用于指示一可独立执行的子事务的子事务画布容器;响应用户在所述功能节点选定区域的功能节点选定操作,获取各已选定功能节点;响应用户在所述功能链编辑界面中的节点编辑操作,生成对应的功能链;其中,所述节点编辑操作,包括:从已选定功能节点中选取若干功能节点拖拽进入子事务画布容器中,以及将各个功能节点进行连接;对所述功能链进行解析,生成解析结果;根据所述解析结果建立主事务,继而逐一执行所述功能链中的各个功能节点,在判断当前功能节点不属于子事务的功能节点且不指示完成业务操作的执行时,则在执行完当前功能节点后将对应的执行结果反馈至主事务中,继续获取下一个功能节点;在判断当前功能节点属于子事务的功能节点时,若判断当前功能节点不用于指示完成业务操作的执行,则直接执行当前功能节点并继续获取下一个功能节点,若判断当前功能节点用于指示完成业务操作的执行时,则在执行完当前功能节点后提交子事务对应的执行结果且将子事务对应的执行结果反馈至主事务中,继续获取下一个功能节点;在检测到所有功能节点都已执行完毕时,提交主事务中所有的执行结果。2.如权利要求1所述的一种基于子事务的事务执行方法,其特征在于,所述对所述功能链进行解析,生成解析结果,包括:对所述功能链进行解析,得到所述功能链的流转方向以及所述功能链中每个功能节点的运行参数;根据所述功能链的流转方向以及所述功能链中每个功能节点的运行参数,生成所述功能链对应的解析结果。3.如权利要求1所述的一种基于子事务的事务执行方法,其特征在于,所述功能节点,包括:用于指示开始执行业务操作的开始节点、用于指示结束业务操作的执行的结束节点以及用于指示业务操作的业务节点。4.如权利要求3所述的一种基于子事务的事务执行方法,其特征在于,所述从已选定功能节点中选取若干功能节点拖拽进入子事务画布容器中,包括:从已选定功能节点中,至少选取一开始节点、一结束节点以及一业务节点,拖拽进入子事务画布容器中。5.如权利要求4所述的一种基于子事务的事务执行方法,其特征在于,所述在判断当前功能节点属于子事务的功能节点时,若判断当前功能节点不用于指示完成业务操作的执行,则直接执行当前功能节点并继续获取下一个功能节点,若判断当前功能节点用于指示完成业务操作的执行时,则在执行完当前功能节点后提交子事务对应的执行结果且将子事务对应的执行结果反馈至主事务中,继续获取下一个功能节点,包括:在判断当前功能节点属于子事务的功能节点时,继而判断所述当前功能节点是否为开始节点、结束节点或业务节点;若判断当前功能节点是用于指示开始执行业务操作的开始节点时,则获取主事务中的
当前上下文信息,并在执行完当前功能节点后,继而获取下一功能节点,并将所述主事务中的当前上下文信息传输至下一功能节点;若判断当前功能节点...

【专利技术属性】
技术研发人员:叶青温凌敏叶剑峰
申请(专利权)人:浩云科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1