发明内容
本发明的目的是提供基于Openstack架构云平台工作流的自服务系统,为不同的用户提供差异化的服务,本发明包括自定义业务流程管理模块、业务申请与审批模块;
所述自定义业务流程管理模块用于制定能够调整的流程,通过此模块能够查看、编辑、重新定义各种业务流程及其规则;
所述业务申请与审批模块用于对计算资源、资源扩容、计算资源回收、云硬盘、VDC(Virtual Date Center虚拟数据中心)、VDC配额修改、VPC(Virtual Private Cloud虚拟专用网络)、虚拟网络、浮动IP、容器进行申请和审批操作。
自定义业务流程管理模块管理的工作流程包括计算资源申请流程、资源扩容流程、计算资源回收流程、云硬盘申请流程、VDC申请流程、VDC配额修改流程、VPC申请流程、虚拟网络申请流程、浮动IP申请流程、容器申请流程。
自定义业务流程管理模块管理的工作流程是由一系列的相关过程组成的集合,过程与过程之间相互独立,或者存在着数据或控制的关联,工作流表示为WF=(P1,P2,P3,…,Pn,R(s)),n≥1,其中,P={P1,P2,P3,…,Pn}为工作流过程的集合,Pn表示第n个工作流;R(s)=(R1,R2,…,Rm)是工作流过程之间关联规则集合,m≥1,Rm表示第m个关联规则。
系统的工作流过程是一个由一系列工作流的活动组成的有序集合,一个工作流过程包含了过程运行中涉及到的所有数据和相关规则,工作流过程表示为:P=(A1,A2,…,Ak,R),k≥1,其中A1,A2,…,Ak是组成该过程的工作流活动集合,Ak表示第k个工作流活动,R代表组成该过程的活动之间的关联规则集合。
系统的工作流活动表示为一个三元组Activity=(A_taskId,A_properties,A_userId),其中A_taskId表示活动任务号;A_properties表示本级活动的结果以及所要传递的下一级,是一个多元组,随着工作流程传入的参数类型不同而变化;A_userId表示活动的角色。
业务申请与审批模块执行如下步骤:
步骤1,提交申请单:用户登录系统,填写申请表单;
步骤2,云管理员审批:云管理员审批用户申请信息,如果同意,由组织管理员进行下一步的审批,如果拒绝则流程结束;此过程能够通过自服务系统自定义审批人员;
步骤3,组织管理员审批:组织管理员审批用户申请,若同意申请,由云平台(例如华为云,阿里云等)创建分配资源,若拒绝申请,用户申请流程结束;此过程能够通过自服务系统自定义审批的组织管理员以及需要审批的级数(管理员审核的次数),最大可以达到九级;
步骤4,进度查询:用户申请完成之后,能够查看当前申请流程的进度以及当前进度的状态;
步骤5,历史流程查看:用户能够查看自己参与过的历史流程,并按照状态进行筛选。
业务申请与审批模块执行的步骤1~步骤5分别对应于WF=(P1,P2,P3,P4,P5,R(s))中的P1,P2,P3,P4,P5,P1对应步骤1提交申请单,P2对应步骤2云管理员审批,P3对应步骤3组织管理员审批,P4对应步骤4进度查询,P5对应步骤5历史流程查看,其中P3还可自定义灵活可调整,增缩级数。
所述业务申请与审批模块中的各个流程遵循工作流的模型,工作流模型包括过程和活动,依据工作流模型能够创建一个具有动态修改和自适应能力的工作流的实例,工作流模型能够在定义阶段表示不确定的过程或活动。
所述工作流模型包括过程定义工具、工作流执行服务、工作流管理和监视工具、工作流客户应用、工作流引擎、接口1、接口2、接口3、接口4和接口5;
其中,所述过程定义工具负责给出工作流程的定义,并以一定的数据格式(比如xml)提供给工作流引擎解释;
工作流执行服务提供了过程实例执行的运行环境,工作流执行服务借助于一个或两个以上工作流引擎,激活并解释工作流流程定义,并同外部的应用程序进行交互,完成工作流过程实例的创建执行与管理职能;
工作流管理和监视工具负责监控工作流的执行,对工作流管理中过程实例的状态进行监控与管理;
工作流客户应用提供执行者访问工作流的界面,活动参与者通过这样的应用程序参加工作流活动,获取自己的任务;
工作流引擎是过程定义的解释器;
接口1是工作流执行服务和工作流建模工具间的接口(工作流建模工具是自服务系统里面的一个模块,可以采用现有技术中成熟的工作流建模工具,比如Hotent BPM全开源流程平台);
接口2是工作流服务和客户应用之间的接口,它约定所有客户方应用于工作流服务之间的功能操作方法;
接口3是工作流引擎和直接调用的应用程序之间的直接接口;
接口4是工作流管理系统之间的互操作接口;
接口5是工作流服务和工作流管理和监视工具之间的接口。
有益效果:本系统通过自服务流程,实现流程可视化的建模编辑,并灵活适应流程节点的变化需要,达到云平台业务流程与工作流引擎管理器用户和权限数据的同步及流程节点配置的无缝集成,实现系统数据审核流程用户级灵活自定制,有效提高系统的可用性与灵活性。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
本发明提供了基于Openstack架构云平台工作流的自服务系统,包括自定义业务流程管理模块、业务申请与审批模块。
所述自定义业务流程管理模块用于制定灵活可调整的业务流程,通过此功能可对各种业务流程及其规则进行查看、编辑、重新定义。自定义业务流程管理有十大流程具体包括计算资源申请流程、资源扩容流程、计算资源回收流程、云硬盘申请流程、VDC申请流程、VDC配额修改流程、VPC申请流程、虚拟网络申请流程、浮动IP申请流程、容器申请流程。
所述业务申请与审批模块用于对计算资源、资源扩容、计算资源回收、云硬盘、VDC、VDC配额修改、VPC、虚拟网络、浮动IP、容器进行申请和审批操作。
所述业务申请与审批模块中的各个流程遵循工作流的模型,如图1所示,工作流模型主要由过程和活动构成,依据模型可以创建一个具有动态修改和自适应能力的工作流的实例。工作流模型能够在定义阶段表示不确定的过程或活动。
工作流是由一系列的相关过程组成的集合,过程与过程之间可能是相互独立,也可能存在着数据或控制的关联。工作流可表示为WF=(P1,P2,P3,…,Pn,R(s))(n≥1)。其中,P={P1,P2,P3,…,Pn}(n≥1)为工作流过程的集合;R(s)=(R1,R2,…,Rm)(m≥1)是工作流过程之间关联规则集合。
工作流过程是一个由一系列工作流的活动组成的有序集合。一个工作流过程包含了过程运行中涉及到的所有数据和相关规则。工作流过程可表示为:P=(A1,A2,…,Ak,R)(k≥1),其中A1,A2,…,Ak是组成该过程的活动集合,R代表组成该过程的活动之间的关联规则集合。
工作流活动可以表示为一个三元组Activity=(A_taskId,A_properties,A_userId),其中A_taskId表示活动任务号;A_properties表示本级活动的结果以及所要传递的下一级,是一个多元组,随着十大流程传入的参数类型不同而变化;A_userId表示活动的角色。
自服务管理包括流程的自定义创建和维护。自服务管理是为了让云平台更好的为用户提供服务,包含给云管理员、组织管理员和普通用户提供不同的服务,其中工作流模型包括若干个基本部件和5个基本接口,如图5所示,模型中的基本部件解释如下:
(1)过程定义:负责给出工作流程的定义,并以一定的数据格式提供给工作流引擎解释。
(2)工作流执行服务:工作流管理系统的核心,提供了过程实例执行的运行环境。工作流执行服务借助于一个或多个工作流引擎,激活并解释工作流流程定义,并同外部的应用程序进行交互,完成工作流过程实例的创建执行与管理职能。
(3)管理和监视工具:负责监控工作流的执行,对工作流管理系统中过程实例的状态进行监控与管理,如用户管理、角色管理、审计管理、资源管理等。
(4)工作流客户应用:执行者访问工作流的界面,活动参与者通过这样的应用程序参加工作流活动,获取自己的任务。
(5)工作流引擎:过程定义的解释器,它是工作流执行服务的核心。
(6)被调应用程序:工作流执行服务在过程实例的运行过程中,调用的、用以对应用数据进行处理的程序。
(7)其他工作流执行服务:在大型的工作流管理系统中,工作流可能需要多个工作流引擎共同完成,甚至需要其他异质的工作流执行服务来辅助完成,这涉及到工作流管理系统之间的互联。
(8)接口1:工作流服务和工作流建模工具间的接口,包括工作流模型的解释和读写操作。
(9)接口2:工作流服务和客户应用之间的接口,这是最主要的接口规范,它约定所有客户方应用于工作流服务之间的功能操作方法。
(10)接口3:工作流引擎和直接调用的应用程序之间的直接接口。
(11)接口4:工作流管理系统之间的互操作接口。
(12)接口5:工作流服务和工作流管理工具之间的接口。
所述业务申请与审批模块执行如下步骤:
步骤1,申请:用户登录系统,填写申请表单,;
步骤2,云管理员审批:云管理员审批用户申请信息,同意后可以由组织管理员进行下一步的审批,拒绝后流程结束。此过程可通过工作流自服务系统自定义审批人员;
步骤3,组织管理员审批:组织管理员审批用户申请,若同意申请,由云平台创建分配资源,若拒绝申请,用户申请流程结束。此过程可通过工作流自服务系统自定义审批的组织管理员以及需要审批的级数(管理员审核的次数),最大可以达到九级,参考图3所示;
步骤4,进度查询:用户申请完成之后,可以查看当前申请流程的进度以及当前进度的状态;
步骤5,历史流程查看:用户可以查看自己参与过的历史流程,并安装状态进行筛选。
云计算平台以VDC为粒度来隔离虚拟的计算、存储、网络资源,用户与租户关联,才可对资源进行操控和访问。admin租户为云管理员划分的租户,对系统内所有的计算、存储、网络资源都具有操作和访问权限;普通租户为每个组织(部门)而配置的VDC(租户或项目),并为其划分配额,可在配额范围内对计算、存储、网络资源进行操控和访问,普通租户无法操控模板、计算节点、租户等资源。云管理员对应admin租户,系统的超级管理员,拥有最高、最全的访问权限,负责整个云平台的管理,进行全局资源配置,划分租户和配额,分配组织管理员及普通用户,统一监控全局资源的使用、分配情况、运行状态等;组织管理员对应普通租户,组织(部门)的管理员,在租户配额范围内对计算、存储、网络资源进行操控和管理,并可对资源申请、扩容申请进行审批;普通用户对应普通租户,只能访问本组织(部门)下的资源,无法创建、删除资源,可通过“自服务管理”进行资源申请或者直接由组织管理员为其分配,可查看资源状态和负载情况。用户及租户结构图参考图2。
实施例1
业务申请与审批模块中的计算资源申请与审批执行如下步骤,流程图参考图4:
步骤1,申请虚拟机:用户登录系统,填写申请虚拟机表单,表单的内容包括CPU核数、内存大小、磁盘大小、操作系统类型、网卡数目、虚拟机数目、理由,然后发起申请流程;
步骤2,云管理员审批:云管理员审批用户的虚拟机申请信息,同意后可以由组织管理员进行下一步的审批,拒绝后流程结束。此过程可由计算资源申请工作流程自定义审批人员;
步骤3,组织管理员审批:组织管理员审批用户申请,同意申请之后,如果有满足条件的虚拟机则选择分配,若没有相应条件的虚拟机则创建对应规格的虚拟机,然后分配;拒绝申请之后,用户申请流程结束。此过程由计算资源申请工作流程自定义审批的组织管理员以及需要审批的级数(管理员审核的次数),最大可以达到九级;
步骤4,进度查询:用户申请完成之后,可以查看当前申请流程的进度以及当前进度的状态;
步骤5,虚拟机使用:虚拟机分配完成后,用户可以查看自己申请的虚拟机并使用;
步骤6,历史流程查看:用户可以查看自己参与过的历史流程,并安装状态进行筛选。
计算资源申请与审批流程的工作流活动规则是一个三元组Activity=(A_taskId,A_properties,A_userId),A_taskId表示活动任务号;A_userId表示活动的角色;A_properties是一个十二元组,A_properties=(apply,name,memory,cpu,disk,osType,osVersion,nicNum,applyNum,applyTime,applyReason,software)。
实施例2
业务申请与审批模块中的云硬盘申请与审批执行如下步骤:
步骤1,申请云硬盘:用户登录系统,填写云硬盘申请表单,表单的内容包括所属VDC、存储类型、云硬盘名称、大小、申请理由,然后发起申请流程;
步骤2,云管理员审批:云管理员审批用户的云硬盘申请信息,同意后由组织管理员进行下一步审批,若被云管理员拒绝,则流程结束。此过程可由云硬盘申请工作流程自定义审批人员
步骤3,组织管理员审批:组织管理员审批用户申请,同意申请之后,云平台分配云硬盘资源,若拒绝申请后,用户申请流程结束
步骤4,进度查询:用户申请完成之后,可以查看当前申请流程的进度以及当前进度的状态;
步骤5,云硬盘使用:云硬盘分配完成后,用户可以查看自己申请的云硬盘并使用;
步骤6,历史流程查看:用户可以查看自己参与过的历史流程,并安装状态进行筛选。
云硬盘申请与审批流程的工作流活动规则是一个三元组Activity=(A_taskId,A_properties,A_userId),A_taskId表示活动任务号;A_userId表示活动的角色;A_properties是一个七元组,A_properties=(type,name,size,description,applyResult,applyTime,applyReason)。
实施例3
业务申请与审批模块中的虚拟网络申请与审批执行如下步骤:
步骤1,申请虚拟网络:用户登录系统,填写虚拟网络申请表单,表单的内容包括VPC名称、网络名称、段ID、子网信息、IP资源池,然后发起申请流程;
步骤2,云管理员审批:云管理员审批用户的虚拟网络申请信息,同意后由组织管理员进行下一步审批,若被云管理员拒绝,则流程结束。此过程可由虚拟网络申请工作流程自定义审批人员
步骤3,组织管理员审批:组织管理员审批用户申请,同意申请之后,云平台分配虚拟网络资源,若拒绝申请后,用户申请流程结束
步骤4,进度查询:用户申请完成之后,可以查看当前申请流程的进度以及当前进度的状态;
步骤5,虚拟网络使用:虚拟网络创建完成后,用户可以查看自己申请的虚拟网络并使用;
步骤6,历史流程查看:用户可以查看自己参与过的历史流程,并安装状态进行筛选。
本发明提供了基于Openstack架构云平台工作流的自服务系统,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。