基于关系数据库的工作流在管理信息系统的应用

2013-12-12 09:21:06 电力信息化  点击量: 评论 (0)
摘要:通过对关键业务的实际开发需求的分析,提出了一个适用于关键业务开发的基于关系结构的工作流引擎的框架结构。系统提供对企业整体协作流程的控制、分析、对部门运作状态的实时记录等功能;并可以高效地完成
的任务,COMPLETION_FLAG表示相应任务的结束标记。
 
3.3.2引擎控制器
 
引擎控制器是工作流引擎在运行时的控制中心,图3给出了引擎控制器的控制结构图。
 
调度中心
调度中心接受从外部接口发送过来有关流程控制的请求(如业务初始化、获取任务以及结束任务等),然后根据不同的请求类型调用相应的处理模块完成与本次请求相关的操作并将结果返回。由于是在DBMS内部实现工作流引擎的控制模型,因此有关请求的并发处理等问题完全可以交给数据库管理系统来完成,也不需要诸如请求队列等形式的数据结构。因此,事实上可以将调度中心看成一个多线程的并发服务器,它可以对多个外部请求提供并发服务。对外部请求的处理过程中肯定会涉及到对内部数据结构(即工作流引擎的数据模型)中有关数据的读写和更改操作,这些数据的完整性和互斥操作则可以通过DBMS提供的各种加锁机制来实现,从而实现了多个外部请求之间的独立性。
任务管理
任务管理主要根据调度中心的指示完成诸如任务创建、任务状态的转换以及相关数据的维护等工作。每次“结束任务”的外部请求将触发调度中心调用“任务管理”为后继活动(如果存在的话)创建新的实例,其状态为“Pending”;同时,其他不同的外部请求也将触发“任务管理”实施任务状态的切换。
 
任务指派
任务指派处理只是针对常规交互活动,通常情况下,在任务状态由“Pending”切换到“Waiting”过程中完成任务的指派工作,即处于就绪状态的任务在通常情况下都确定了其执行者(FCFA除外)。任务指派过程首先根据任务指派基准确定可以执行此任务的群体人员,通常情况下这是一个包含多个人员的集合;然后根据任务指派方法确定由这个群体中的哪些个体来执行任务,执行任务的个体标识记录在相应任务记录的STAFF_ID字段中。这里有两点需要特别强调:
1)如果任务指派方法是“ALL”的话,将对当前的任务记录进行拷贝,即保证每一执行任务的个体在TO_DO_TASK_LIST中都有一条对应的记录;
2)如果任务指派方法是“FCFA”的话,事实上在任务指派阶段不不作任何工作,即相应任务记录的STAFF_ID字段为空。此时任务指派工作自动隐含在获取任务的请求中,即谁先发出获取任务的请求,就自动将此类型的任务分配给谁。
依赖检查
依赖检查指的是活动的前依赖规则的检查,调度中心在将任务切换到就绪状态之前将进行相关的前依赖规则检查,只有满足检查条件的任务才可以进行状态的切换。
大云网官方微信售电那点事儿

责任编辑:和硕涵

免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
我要收藏
个赞