【技术实现步骤摘要】
一种面向服务编排的基于AST生成工作流服务的方法
[0001]本专利技术涉及计算机后端开发
,特别提供一种面向服务编排、基于AST的、职责明确的工作流生成方法。
技术介绍
[0002]随着计算机技术的不断发展,其在各个领域的应用范围越来越广。因此,技术人员需要根据不同的业务需求编写不同的业务代码。
[0003]传统的模式中,服务上线的流程繁琐,周期长,代码复用性差。在服务编排模式中,相关服务被分解成为单一功能的原子服务,每个服务都可以单独部署使用,通过不同的组织编排方式完成所需功能,以达到业务快速上线的目的。
[0004]目前市面上大多数服务编排的方案只能将流程转换为状态机节点集合并解释执行,对服务器配置要求高,花费时间长。如何实现资源占用小,适用场景广泛等问题是本领域技术人员关注的重点问题。
技术实现思路
[0005]本专利技术的目的在于提供一种面向服务编排的基于AST生成工作流服务的方法。
[0006]本专利技术技术方案如下:
[0007]管理人员通过系统中台以拖拽的方式组合原子服务,形成业务流程的状态语言节点;
[0008]后端分析所述状态语言节点中的数据和逻辑,合并形成所需语言的AST树;
[0009]向AST树中添加固定的输入、输出逻辑;
[0010]将AST树转化为对应语言的可读代码,通过该语言的通用编辑解释器将可读代码生成可执行流程服务;
[0011]以HTTP服务的形式对外提供服务。
[0012]进一步的,所 ...
【技术保护点】
【技术特征摘要】
1.一种面向服务编排的基于AST生成工作流服务的方法,其特征在于,包括:管理人员通过系统中台以拖拽的方式组合原子服务,形成业务流程的状态语言节点;后端分析所述状态语言节点中的数据和逻辑,合并形成所需语言的AST树;向AST树中添加固定的输入、输出逻辑;将AST树转化为对应语言的可读代码,通过该语言的通用编辑解释器将可读代码生成可执行流程服务;以HTTP服务的形式对外提供服务。2.根据权利要求1所述的一种面向服务编排的基于AST生成工作流服务的方法,其特征在于系统中台以拖拽的方式组合原子服务,原子服务可根据需求进行组合,该组合过程可视化,且业务流程的状态语言节点在拖拽完成后实时显示,管理人员可直接查看。3.根据权利要求1或2所述的一种面向服务编排的基于AST生成工作流服务的方法,其特征在于原子服务是整套业务流程中最小的服务单位,其不可继续拆分,所述原子服务可独立完成某一项特定功能。4.根据权利要求3所述的一种面向服务编排的基于AST生成工作流服务的方法,其特征在于状态语言节点包含顺序节点和分支节点,顺序节点能够调用相应的原子服务;所述的顺序节点是标记与任务顺序的任务节点。5.根据权利要求4所述的一种面向服务编排的基于AST生成工作流服务的方法,其特征在于分析数据和逻辑的实现包含:资源管理、依赖分析、变量分析、代码填充;所述资源管理表示每个资源ID对应标识一个原子服务,能与现有的已标识和管理的原子服务资源对接;所述依赖分析包括:导入分析、初始化工作;所述变量分析包括:路径分析、类型分析、分支分析;所述代码填充通过遍历所述导入分析和所述初始化工作中生成的树,并添加至相关字段中以完成函数定义和数据定义,并通过所述分支分析中的分支进行遍历构建handler函数的主体。6.根据权利要求5所述的一种面向服务编排的基于AST生成工作流服务的方法,其特征在于所述依赖分析:根据状态语言节点中所包含的信息名称集合到节点集合的映射关系Name
→
Node,即映射关系I,遍历所有任务节点下的Resource对象,进行依赖分析F
Dep
‑
Analysis
,并按照DepPkgPath字段和需要的类型名称DepTypeName生成对应节点InitNodes(公式1),完成依赖分析,最终得到Import树DepInfo,其中包含InitNodes和ImportSpecs(公式2);DepInfo=DepPkgPath+DepTypeName
ꢀꢀꢀꢀ
(1)DepInfo=F
Dep
‑
Analysis
(I)
→
<DepID,<InitNodes,ImportSpecs>>
ꢀꢀꢀ
(2)。7.根据权利要求5或6所述的一种面向服务编排的基于AST生成工作流服务的方法,其特征在于所述的路径分析:根据映射关系I,对每个状态节点按路径深入遍历,提取指示输入输出状态的路径字符串,按“.”字符进行分割,形成层次并按照层次合并,完成路径分析F
Path
‑
Analysis
,得到路径信息PathInfo,完成路径分析(公式3);PathInfo=F
Path
‑
Analysis
(I)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
根据映射关系I,对任务节点进行类型判断,从类型服务根据资源ID得到类型中包含的字段和类型信息,完成对每个路径字符串所指示的路径的类型分析操作F
Type
‑
Analysis
,确认输入输出类型TypeInfo,完成类型分析:TypeInfo=F
Type
‑
Analysis
(I)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)根据得到的路径信息PathInfo与类型信息TypeInfo,进行树合并操作F
Tree
‑
...
【专利技术属性】
技术研发人员:汤文垚,吕秋云,宋梁亮,黄鹏飞,曹雨豪,沈喆,陈菲尔,
申请(专利权)人:杭州电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。