一种适用于地基增强网运维场景的工作流引擎方法及系统与流程

文档序号:11729932阅读:312来源:国知局
一种适用于地基增强网运维场景的工作流引擎方法及系统与流程

本发明涉及一种工作流处理系统,尤其涉及一种适用于地基增强网运维场景的工作流引擎方法及系统。



背景技术:

地基增强网是北斗卫星定位系统提供稳定定位服务必不可少的基础设施,由全球各地分布着的各种各样的地基基站组成,其特点是分布广,数量庞大,维护成本高,运维难度大,当规模达到一定程度时,就像一张网一样。

工作流是对企业中业务的各操作步骤之间的业务规则的抽象以及概括描述。在详细一点的话工作流则是将工作流程中的操作步骤的逻辑和规则,在计算机中以恰当的模型表达出来,并供公司人员使用的一套软件系统或解决方案。工作流要解决的主要问题是:为实现某个业务目标或业务场景,利用计算机在多个参与者(即和业务有关的人员)之间按某种预定规则自动传递文档、信息或者任务,以达到业务的规范化,高效化,以及可追溯化。

而工作流引擎负责定义工作流中的节点,以及流程实例的创建,以及实现将任务分发给执行者,并根据任务执行的返回结果决定下一步的任务,控制并协调各种复杂工作流程的执行,实现对业务流程整个运行生命周期的控制。工作流引擎是工作流系统最核心的模块,它将工作流底层的节点跳转,派发任务处理等逻辑与最上层的业务逻辑实现了分离。

工作流节点是工作流中对各个业务场景的每个操作步骤或环节,比如在维修基站流程的工作流中运维人员首先先要填写基站的故障单,然后提交给上级领导审批是否可维修,如果审批通过的话则通知相关技术人员进行维修工作,维修人维修好后通知运维人员此基站可以使用,这时候的工作流节点有四个:

运维人员填写维修单->上级领导审批->通知技术员进行维修工作->通知运维人员基站可用

随着大地增强网基站的分布越来越广,数量也越来越大,运维业务的复杂度就会越来越高,这时就必须使用工作流系统来高效,有序的处理运维中产生的业务需求。但实际中却存在这样的一个问题,运维业务针对不同的区域或场景在不同的时间点会有n种不同的工作流(比如有可能一个负责两个区域(或省)的运维人员在三个月内会对应好几个工作流,这三个月过了后被调到了另外的区域,这时候又会有不同业务的需求了),但企业中通过现有的大部分工作流引擎开发工作流的速度却非常缓慢,导致了很多业务场景只能使用excel,写邮件或人为的形式处理业务。目前主流的工作流引擎,其缺点如下:

1、主流工作流引擎学习成本较大,配置项较多,且受制于某种平台的限制,基本上需要在其限制的平台上进行二次开发才能使用。

2、每个流程的每个节点所对应的前端任务页面依旧需要开发人员从零开始开发,开发时间非常漫长。

3、无法满足大规模基站运维人员随时提出的大量的工作流程需求。

4、大规模运维人员流动性较大,一个通过现有流程引擎制定出的流程无法及时的更新节点所对应的任务执行人。



技术实现要素:

针对上述问题,本发明提出一种适用于地基增强网运维场景的工作流引擎系统,包括工作流模板,工作流实例,接口层,属性控件库;工作流模板可对工作流、工作流节点以及工作流节点属性进行定义,工作流模板可将信息复制至工作流实例;工作流实例包括工作流实例节点和工作流实例节点属性;接口层用于取得工作流实例节点字段信息和实例节点属性字段信息;属性控件库用于存储控件,控件用于动态渲染节点任务页面。

工作流节点包含一个以上工作流节点属性,工作流实例节点包含一个以上工作流实例节点属性;工作流模板通过显示设备和输入设备提供可视化界面编辑;工作流模板可以保存于工作流模板数据库;工作流实例可以保存于工作流实例数据库。

工作流节点的字段信息包括上一节点、下一节点、是否当前节点、是否开始节点、是否结束节点、处理人。工作流节点属性的字段信息包括距离浏览器左边距离、距离浏览器上边距离、控件高度、控件款单,控件名;控件名与属性控件库中控件唯一对应。

一种适用于地基增强网运维场景的工作流引擎方法:发起一个工作流实例;工作流节点字段信息复制到工作流实例节点,工作流节点属性字段信息复制到实例节点属性;接口层取得工作流实例节点字段信息和实例节点属性字段信息;节点任务页面从接口层获取工作流实例节点字段信息和实例节点属性字段信息;节点任务页面从属性控件库中调取相对应的控件,控件动态渲染出节点任务页面;

节点任务页面的“同意”操作,若当前工作流实例节点存在下一节点,那么下一节点将被置为当前节点,同时根据工作流实例节点下一节点的处理人字段信息给处理人分配一条任务,当前节点不存在下一节点,工作流实例结束;

点击节点任务页面“拒绝”操作,若当前工作流实例节点存在上一节点且不是起始节点,那么工作流实例节点上一节点将被置为当前节点,且给工作流实例节点上一节点的处理人分配一条任务,若所属当前工作流实例节点节点的上一节点是起始节点,则流程被驳回至工作流实例节申请人节点。

工作流引擎具有加签功能,是指在当前节点与当前节点的下一节点间增加一个节点的操作,且可实现无限增加节点的操作。

本发明技术方案实现的有益效果:

本工作流引擎可以动态的渲染出前端的任务表单页面,无需再需要前端开发人员对每个节点的任务页面进行定制开发,节省了大量的时间;由于制定流程的速度非常迅速,可满足大规模基站运维人员随时提出的大量工作流程的开发需求,故非常适合在大规模地基增强网运维场景中使用;实例在运行时与工作流的定义分离,相互独立,即使流程管理员修改模板时也不会影响到实例的运转。

附图说明

图1是本发明一种适用于地基增强网运维场景的工作流引擎的示意图。

图2是本发明工作流模板模块间的关系图。

图3是本发明工作流实例模块间的关系图。

图4是本发明加签功能示意图。

具体实施方式

下面结合附图和具体实施例,进一步阐述本发明,本发明实施例仅用以说明本发明的技术方案而非限制本发明的保护范围。

如图1、图2、图3所示,本发明提出一种适用于地基增强网运维场景的工作流引擎系统,包括工作流模板,工作流实例,接口层,属性控件库;工作流模板可对工作流、工作流节点以及工作流节点属性进行定义,工作流模板可将信息复制至工作流实例;工作流实例包括工作流实例节点和工作流实例节点属性;接口层用于取得工作流实例节点字段信息和实例节点属性字段信息;属性控件库用于存储控件,控件用于动态渲染节点任务页面。

工作流节点包含一个以上工作流节点属性,工作流实例节点包含一个以上工作流实例节点属性;工作流模板通过显示设备和输入设备提供可视化界面编辑;工作流模板可以保存于工作流模板数据库;工作流实例可以保存于工作流实例数据库。

工作流节点的字段信息包括上一节点、下一节点、是否当前节点、是否开始节点、是否结束节点、处理人。工作流节点属性的字段信息包括距离浏览器左边距离、距离浏览器上边距离、控件高度、控件款单,控件名;控件名与属性控件库中控件唯一对应。

一种适用于地基增强网运维场景的工作流引擎方法:发起一个工作流实例;工作流节点字段信息复制到工作流实例节点,工作流节点属性字段信息复制到实例节点属性;接口层取得工作流实例节点字段信息和实例节点属性字段信息;节点任务页面从接口层获取工作流实例节点字段信息和实例节点属性字段信息;节点任务页面从属性控件库中调取相对应的控件,控件动态渲染出节点任务页面;

节点任务页面的“同意”操作,若当前工作流实例节点存在下一节点,那么下一节点将被置为当前节点,同时根据工作流实例节点下一节点的处理人字段信息给处理人分配一条任务,当前节点不存在下一节点,工作流实例结束;

点击节点任务页面“拒绝”操作,若当前工作流实例节点存在上一节点且不是起始节点,那么工作流实例节点上一节点将被置为当前节点,且给工作流实例节点上一节点的处理人分配一条任务,若所属当前工作流实例节点节点的上一节点是起始节点,则流程被驳回至工作流实例节申请人节点。

工作流引擎具有加签功能,是指在当前节点与当前节点的下一节点间增加一个节点的操作,且可实现无限增加节点的操作,如图4所示。具体操作如下:根据当前节点生成一个新的节点,再将当前节点的节点属性信息也复制到新生成的节点里。接着将当前节点的下一节点的“上一节点”的字段指向新节点,再将当前节点的“下一节点”指向新节点。

当发起实例时,根据所选的工作流模板,将会把工作流模板节点以及工作流节点属性等数据复制到工作流实例当中。在本引擎的设计当中,“工作流节点定义”表中的字段会存在“上一节点”,“下一节点”,“是否当前节点”,“是否开始节点”,“是否结束节点”,“处理人”这几个字段,所以,在可视化编辑工作流的时候,流程的跳转逻辑在工作流节点定义中已经实现了。处理人点击“同意”操作时,若当前节点存在下一节点,那么下一节点将被置为当前节点,同时,根据下一节点的“处理人”字段给该处理人分配一条任务,若当前节点不存在下一节点,该流程实例结束。处理人点击了“拒绝”操作时,若当前节点存在上一节点且不是起始节点,那么上一节点将被置为当前节点,且给上一节点的处理人分配一条任务。若当前节点的上一节点是起始节点,则流程被驳回至申请人节点。

工作流节点属性的字段有left(距离浏览器左边距离),top(距离浏览器上边距离),height(控件高度),width(控件款单),widget(控件名),这些字段是生成前端节点任务页面的关键字段,原理是前端页面的属性渲染区域是绝对定位的,前端页面根据任务id从后端获取对应工作流实例的当前节点的节点属性信息,前端语言动态的渲染出这些属性所对应的控件在浏览器中的位置,长度以及宽度,要注意的是widget控件字段仅仅表示的是属性控件库中控件的唯一名称,比如属性控件库中输入框在html语言中就是<input>标签,那么后端该字段的值就是“input”,也就是说,后端记录的控件字段与属性控件库所有的控件是一一对应的,且属性控件库中不仅仅存放的是html中的常用的标签名称,也可以是其他的模块化的前端框架所开发出来的独立的控件的唯一名称,其他的字段则描述的是这个控件的在屏幕中的x,y值(即控件中的left字段和top字段)和长宽高值。在前端页面开发的时候只需要根据这些控件写一个统一的获取输入值的接口,即可在提交的时候将这些值获取传进后端数据库进行保存。

将工作流模板中的节点定义以及节点属性定义复制到工作流实例中的实例节点和实例属性节点,作用有两个:

一,因为对于大地增强网的运维人员而言,在实际流程的运转过程当中,会发生许多的突发状况,例如运维人员正好出差在其他的区域又或者单子的处理者对这块区域的业务不熟悉需要其他人来解决,这时流程引擎应该提供一种机制,让当前节点的任务处理人可以在下一节点的中间临时增加一个节点,然后将这个单子转给这个新增节点的处理者,在这里,我们把这个过程定义为“加签”。

二,如果流程实例引用的是流程模板节点定义信息,那么当前节点加签后,那么流程模板节点的定义信息就会被修改,过了一段时间,下一个流程发起者再发起这个单子的时候,流程节点的处理人却已经不再是原来的流程节点指定的处理人了。这显然不是我们想要的结果,我们想要的结果仅仅是,当前节点与下一个节点之间再增加一个节点(加签),是仅仅对这个工作流实例而言的,所以在发起流程实例的时候,将流程模板的模板节点以及模板节点属性中的字段值的大部分信息都复制到流程实例中所对应的实例节点以及实例节点属性中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1