分布式程序执行方法、装置、电子设备及存储介质制造方法及图纸

技术编号:36031238 阅读:11 留言:0更新日期:2022-12-21 10:32
本申请提供一种分布式程序执行方法、装置、电子设备及存储介质,通过获取流程描述文件,流程描述文件用于表征目标程序的目标工作流程,目标工作流程包括至少两个有序的工作步骤;解析流程描述文件,得到目标工作流程中工作步骤的执行信息,执行信息表征工作步骤的执行逻辑;调用目标工作流程中工作步骤对应的流程引擎,执行工作步骤对应的执行信息,得到目标程序的执行结果,其中,工作步骤与计算节点一一对应,目标工作步骤对应的流程引擎部署于目标工作步骤对应的计算节点内。避免了各工作步骤通过同一个流程引擎来进行处理时导致的单点性能瓶颈问题,提高云计算资源利用效率,有效降低网络资源开销和网络延迟。有效降低网络资源开销和网络延迟。有效降低网络资源开销和网络延迟。

【技术实现步骤摘要】
分布式程序执行方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种分布式程序执行方法、装置、电子设备及存储介质。

技术介绍

[0002]当前,对于分布式应用程序,一种方式是使用无服务器架构(Serverless)工作流模式来实现任务和数据的处理。无服务器架构工作流能够方便应用快速构建复杂业务逻辑,简化应用开发和运行业务流程所需要的任务协调、状态管理及错误处理等繁琐工作,让应用聚焦业务逻辑开发。
[0003]现有技术中,在基于无服务器架构工作流模式实现分布式应用程序时,通常使用中心式工作流引擎来处理工作流任务,然而,基于中心式工作流引擎实现的无服务器架构工作流,存在云计算资源利用效率低、网络资源开销大和网络延迟高的问题。

技术实现思路

[0004]本申请提供一种分布式程序执行方法、装置、电子设备及存储介质,用以解决无服务器架构工作流模式下,云计算资源利用效率低、网络资源开销大和网络延迟高的问题。
[0005]第一方面,本申请提供了一种分布式程序执行方法,应用于分布式系统,所述分布式系统中包括至少两个计算节点,包括:
[0006]获取流程描述文件,所述流程描述文件用于表征目标程序的目标工作流程,所述目标工作流程包括至少两个有序的工作步骤;解析所述流程描述文件,得到所述目标工作流程中所述工作步骤的执行信息,所述执行信息表征所述工作步骤的执行逻辑;调用所述目标工作流程中所述工作步骤对应的流程引擎,执行所述工作步骤对应的执行信息,得到所述目标程序的执行结果,其中,所述工作步骤与所述计算节点一一对应,目标工作步骤对应的流程引擎部署于所述目标工作步骤对应的计算节点内。
[0007]在一种可能的实现方式中,所述目标工作流程中包括初始工作步骤和至少一个终止工作步骤;所述调用所述目标工作流程中所述工作步骤对应的流程引擎,执行所述工作步骤对应的执行信息,得到所述目标程序的执行结果,包括:自所述初始工作步骤开始,循环执行以下步骤,直至达到预设条件:确定当前工作步骤,并获得所述当前工作步骤对应的目标输入数据;调用所述当前工作步骤对应的目标流程引擎,基于所述目标输入数据,执行所述当前工作步骤对应的执行信息,得到所述当前工作步骤的目标输出数据;若所述当前工作步骤不为所述终止工作步骤,则基于所述目标输出数据生成下一工作步骤的目标输入数据,并将所述当前工作步骤更新为所述下一工作步骤,其中,所述下一工作步骤为所述目标工作流程中所述当前工作步骤的下游相邻工作步骤;若所述当前工作步骤为所述终止工作步骤,则基于所述目标输出数据,生成所述目标程序的执行结果,并结束循环。
[0008]在一种可能的实现方式中,所述目标流程引擎包括流程解析器和函数触发器,所述调用所述当前工作步骤对应的目标流程引擎,基于所述目标输入数据,执行所述当前工
作步骤对应的执行信息,得到所述当前工作步骤的目标输出数据,包括:通过所述流程解析器,解析所述执行信息,得到控制流程信息,所述控制流程信息表征实现所述当前工作步骤所需的函数即服务函数,以及各所述函数即服务函数之间的调用次序;通过所述函数触发器,以所述目标输入数据为输入参数,基于所述控制流程信息执行对应的函数即服务函数,得到所述当前工作步骤的目标输出数据。
[0009]在一种可能的实现方式中,所述执行信息中包括逻辑结构字段和函数字段,所述通过所述流程解析器,解析所述执行信息,得到控制流程信息,所述控制流程信息表征实现所述当前工作步骤所需的函数即服务函数,以及各所述函数即服务函数之间的调用次序,包括:根据所述函数字段,确定所述当前工作步骤所需的函数即服务函数;根据所述逻辑结构字段,确定各所述函数即服务函数之间的调用次序。
[0010]在一种可能的实现方式中,所述基于所述目标输出数据生成下一工作步骤的目标输入数据,包括:获取预设的共享缓存区;将所述当前工作步骤的标识和对应的目标输出数据对应存储至所述共享缓存区,形成键值对数据;基于所述键值对数据,生成下一工作步骤的目标输入数据。
[0011]在一种可能的实现方式中,在基于所述目标输出数据生成下一工作步骤的目标输入数据之前,还包括:解析所述流程描述文件,得到跳转信息,所述跳转信息表征所述目标工作流程中各工作步骤之间的跳转逻辑;基于所述跳转信息和所述当前工作步骤,确定所述下一工作步骤。
[0012]在一种可能的实现方式中,在所述调用所述目标工作流程中所述工作步骤对应的流程引擎,执行所述工作步骤对应的执行信息,得到所述目标程序的执行结果之前,还包括:获取所述目标程序的程序级别,所述程序级别用于表征运行应用程序所需的计算资源;根据所述目标程序的程序级别,创建对应的共享缓存区,其中,所述共享缓存区用于为各所述计算节点提供执行所述流程引擎的共享缓存。
[0013]第二方面,本申请提供了一种分布式程序执行装置,应用于分布式系统,所述分布式系统中包括至少两个计算节点,所述装置包括:
[0014]获取模块,用于获取流程描述文件,所述流程描述文件用于表征目标程序的目标工作流程,所述目标工作流程包括至少两个有序的工作步骤;
[0015]解析模块,用于解析所述流程描述文件,得到所述目标工作流程中所述工作步骤的执行信息,所述执行信息表征所述工作步骤的执行逻辑;
[0016]调用模块,用于调用所述目标工作流程中所述工作步骤对应的流程引擎,执行所述工作步骤对应的执行信息,得到所述目标程序的执行结果,其中,所述工作步骤与所述计算节点一一对应,目标工作步骤对应的流程引擎部署于所述目标工作步骤对应的计算节点内。
[0017]在一种可能的实现方式中,所述目标工作流程中包括初始工作步骤和至少一个终止工作步骤;所述调用模块,具体用于:自所述初始工作步骤开始,循环执行以下步骤,直至达到预设条件:确定当前工作步骤,并获得所述当前工作步骤对应的目标输入数据;调用所述当前工作步骤对应的目标流程引擎,基于所述目标输入数据,执行所述当前工作步骤对应的执行信息,得到所述当前工作步骤的目标输出数据;若所述当前工作步骤不为所述终止工作步骤,则基于所述目标输出数据生成下一工作步骤的目标输入数据,并将所述当前
工作步骤更新为所述下一工作步骤,其中,所述下一工作步骤为所述目标工作流程中所述当前工作步骤的下游相邻工作步骤;若所述当前工作步骤为所述终止工作步骤,则基于所述目标输出数据,生成所述目标程序的执行结果,并结束循环。
[0018]在一种可能的实现方式中,所述目标流程引擎包括流程解析器和函数触发器,所述调用模块在调用所述当前工作步骤对应的目标流程引擎,基于所述目标输入数据,执行所述当前工作步骤对应的执行信息,得到所述当前工作步骤的目标输出数据时,具体用于:通过所述流程解析器,解析所述执行信息,得到控制流程信息,所述控制流程信息表征实现所述当前工作步骤所需的函数即服务函数,以及各所述函数即服务函数之间的调用次序;通过所述函数触发器,以所述目标输入数据为输入参数,基于所述控制流程信息执行对应的函数即服务函数,得到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式程序执行方法,其特征在于,应用于分布式系统,所述分布式系统中包括至少两个计算节点,所述方法包括:获取流程描述文件,所述流程描述文件用于表征目标程序的目标工作流程,所述目标工作流程包括至少两个有序的工作步骤;解析所述流程描述文件,得到所述目标工作流程中所述工作步骤的执行信息,所述执行信息表征所述工作步骤的执行逻辑;调用所述目标工作流程中所述工作步骤对应的流程引擎,执行所述工作步骤对应的执行信息,得到所述目标程序的执行结果,其中,所述工作步骤与所述计算节点一一对应,目标工作步骤对应的流程引擎部署于所述目标工作步骤对应的计算节点内。2.根据权利要求1所述的方法,其特征在于,所述目标工作流程中包括初始工作步骤和至少一个终止工作步骤;所述调用所述目标工作流程中所述工作步骤对应的流程引擎,执行所述工作步骤对应的执行信息,得到所述目标程序的执行结果,包括:自所述初始工作步骤开始,循环执行以下步骤,直至达到预设条件:确定当前工作步骤,并获得所述当前工作步骤对应的目标输入数据;调用所述当前工作步骤对应的目标流程引擎,基于所述目标输入数据,执行所述当前工作步骤对应的执行信息,得到所述当前工作步骤的目标输出数据;若所述当前工作步骤不为所述终止工作步骤,则基于所述目标输出数据生成下一工作步骤的目标输入数据,并将所述当前工作步骤更新为所述下一工作步骤,其中,所述下一工作步骤为所述目标工作流程中所述当前工作步骤的下游相邻工作步骤;若所述当前工作步骤为所述终止工作步骤,则基于所述目标输出数据,生成所述目标程序的执行结果,并结束循环。3.根据权利要求2所述的方法,其特征在于,所述目标流程引擎包括流程解析器和函数触发器,所述调用所述当前工作步骤对应的目标流程引擎,基于所述目标输入数据,执行所述当前工作步骤对应的执行信息,得到所述当前工作步骤的目标输出数据,包括:通过所述流程解析器,解析所述执行信息,得到控制流程信息,所述控制流程信息表征实现所述当前工作步骤所需的函数即服务函数,以及各所述函数即服务函数之间的调用次序;通过所述函数触发器,以所述目标输入数据为输入参数,基于所述控制流程信息执行对应的函数即服务函数,得到所述当前工作步骤的目标输出数据。4.根据权利要求3所述的方法,其特征在于,所述执行信息中包括逻辑结构字段和函数字段,所述通过所述流程解析器,解析所述执行信息,得到控制流程信息,所述控制流程信息表征实现所述当前工作步骤所需的函数即服务函数,...

【专利技术属性】
技术研发人员:应俊
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

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

1