【技术实现步骤摘要】
一种基于云函数和BPMN规范的云资源编排方法
本专利技术涉及云计算领域,尤其涉及一种基于云函数和BPMN规范的云资源编排方法。
技术介绍
云资源的类型包括有IAAS、PAAS、SAAS及应用层,不同CPU架构、不同虚拟化架构的云资源的调度方式是有所区别的,对云资源交付的编排控制,具有编排对象多样性高、扩展性强、编排过程复杂性强的特点。BPMN(BusinessProcessModelandNotation)是一套用以业务流程模型定义的可视化图形描述方法。由于BPMN是业界非常成熟的业务流程控制规范,使用BPMN规范可以解决云资源编排过程复杂性的问题。通过流程编排云资源部署的先后顺序,以及各类并发、等待、串行、汇聚等,解决部署过程的流程控制问题。流程中节点的业务逻辑的实现,业界通用的方案是通过BPMN规范中定义的各类Task进行逻辑实现的,例如Java服务任务,脚本任务,或者实现创建虚拟机的服务任务类和创建存储卷的服务任务类,当流程引擎解析到创建虚拟机的服务任务类时,会调用对应的实现类,进行逻辑执行,达到创建虚拟机的目的。但是随着云资源的不断增加,需要增加更多的实现类,对于新增云资源编排对象的需求响应成本高,且速度慢;通过服务类实现执行逻辑的方案会将大量的业务逻辑集中到引擎服务端,导致引擎服务端越来越臃肿,严重影响研发管理和运维支撑,也导致整个程序架构是一个集中式的架构,不能进行分布式部署,对于大量的部署请求无法扩展其响应能力,集中的执行逻辑,限定了程序运行时的部署架构单一化,在特定场景,例如跨arm和x86场 ...
【技术保护点】
1.一种基于云函数和BPMN规范的云资源编排方法,其特征在于,包括以下步骤:/nS1:BPMN流程引擎解析任务信息,并向云消息服务发布;/nS2:云消息服务依据任务信息触发启动Lambda云函数服务,选取对应的Lambda函数集;/nS3:所述Lambda云函数服务将所述Lambda函数集调度到云函数引擎,所述云函数引擎执行云函数以使所述Lambda云函数服务完成任务事件;/nS4:所述Lambda云函数服务通过所述云消息服务向所述BPMN流程引擎发布所述完成任务事件;/nS5:所述BPMN流程引擎解析下一任务信息。/n
【技术特征摘要】
1.一种基于云函数和BPMN规范的云资源编排方法,其特征在于,包括以下步骤:
S1:BPMN流程引擎解析任务信息,并向云消息服务发布;
S2:云消息服务依据任务信息触发启动Lambda云函数服务,选取对应的Lambda函数集;
S3:所述Lambda云函数服务将所述Lambda函数集调度到云函数引擎,所述云函数引擎执行云函数以使所述Lambda云函数服务完成任务事件;
S4:所述Lambda云函数服务通过所述云消息服务向所述BPMN流程引擎发布所述完成任务事件;
S5:所述BPMN流程引擎解析下一任务信息。
2.如权利要求1的基于云函数和BPMN规范的云资源编排方法,其特征在于:发布任务信息的通讯格式包括有queue队列编号和method触发云函数的方法。
3.如权利要求2的基于云函数和BPMN规范的云资源编排方法,其特征在于,步骤S2还包括有:
根据所述queue队列编号和method触发云函数的方法,选取对应的Lambda函数集。
4.如权利要求1的基于云函数和BPMN规范的云资源编排方法,其特征在于:所述编排方法定义了当编排失败时触发编排回滚的过程,包括以下步骤:
1)云函数服务执行任务失败,通过云消息服务向BPMN流程引擎发布失败状态的事件;
2)所述BPMN流程引擎接收到失败事件后,按流程调度顺序逆向选择上一个任务事件,并将选中任务事件发布到云消息服务。其中,发布任务信息的通讯格式包括有queue队列编号和method触发云函数的方法;method指定为rollback;
云消息服务依据任务信息触发启动Lambda云函数服务,根据所述queue队列编号和method触发云函数的rollback方法,选取对应的回滚Lambda函数集;
3)所述Lambda云函数服务将所述Lambda函数集调度到云函数引擎,所述云函数引擎执行云函数以使所述Lambda云函数服务完成任务事件,云平台释放Lambda实例的计算资源;不同CPU架构,不同虚拟化架构的云资源调度由对应的云函数引擎来执行云函数;
所述Lambda云函数服务通过所述云消息服务向所述BPMN流程引擎发布所述完成任务事件;
4)所述BPMN流程引擎驱动流程逆向解析上一个任务事件,直到完成所有任务事件的回滚驱动。
5.如权利要求1的基于云函数和BPMN规范的云资源编排方法,其特征在于:所述编排方法定义了以编排为单位对编排资源进行删除的过程,包括以下步骤:
S1:BPMN编排引擎接收到删除事件,选择目标流程,逆向解析所述流程的任务事件,并将选中任务事件发布到云消息服务;其中,发布任务信息的通讯格式包括有queue队列编号和method触发云函数的方法;method指定为delete;
S2:云消息服务依据任务信息触发启动Lambda云函数服务,根据所述queue队列编号和method触发云函数的delete方法,选取对应的删除Lambda函数集;
S3:所述Lambda云函数服务将所述Lambda函数集调度到云函数引擎,所述云函数引擎执行云函数以使所述Lambda云函数服务完成任务事件,云平台释放Lambda实例的计算资源;不同CPU架构,不同虚拟化架构的云资源调度由对应的云函数引擎来执行云函数;
S4:所述Lambda云函数服务通过所述云消息服务向所述BPMN流程引擎发布所述完成任务事件;
S5:所述BPMN流程引擎驱动流程逆向解析上一个任务事件,直到完成所有任务事件的删除驱动。
6.如权利要求1的基于云函数和BPMN规范的云资源编排方法,其特征在于:所述编排方法定义了取消正在运行中的流程过程,包括以下步骤:
S1:BPMN编排引擎接收到...
【专利技术属性】
技术研发人员:刘忻,黄继承,
申请(专利权)人:广州市品高软件股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。