CN108595557A - 一种用于灵活流程的工作流执行方法 - Google Patents
一种用于灵活流程的工作流执行方法 Download PDFInfo
- Publication number
- CN108595557A CN108595557A CN201810323017.9A CN201810323017A CN108595557A CN 108595557 A CN108595557 A CN 108595557A CN 201810323017 A CN201810323017 A CN 201810323017A CN 108595557 A CN108595557 A CN 108595557A
- Authority
- CN
- China
- Prior art keywords
- flow
- result
- manual intervention
- business
- process action
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种用于灵活流程的工作流执行方法,包括:检测流程业务数据库中的标志性数据,如果存在标识性数据则基于流程模型创建流程实例;解析流程模型和流程实例,创建描述流程活动执行结果和人工干预结果的对象集合;对流程业务数据库中的流程业务数据进行清洗,去除冗余和不相关的流程业务数据;加载流程执行规范,基于流程业务数据判断流程活动执行结果和人工干预结果,并将结果记录在对象集合中;加载人工干预配置,基于流程活动执行结果和已知人工干预结果,触发人工干预,人工干预结果保存至流程业务数据库中;直至流程结束。本发明提供的工作流执行方法,不干扰人员正常参与流程,同时引入人员对流程的干预机制,使工作流适用更灵活。
Description
技术领域
本发明涉及工作流技术领域,具体涉及一种用于灵活流程的工作流执行方法。
背景技术
工作流技术起源于20世纪70年代的工业生产和办公领域,其目的在于通过将工作分解为定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高工作效率、降低生产成本、提高过程质量的目标。
经过数十年的发展,工作流技术在传统业务流程取得了极大的成功,并被广泛地应用于工业生产、无纸化自动办公等领域。工作流技术对于描述完全指定的业务流程支持地越来越好,但现实世界中的业务工作需要不断根据各种异常情况、外部环境变化以及技术进步、组织变动等因素进行调整,业务流程中灵活性需求开始受到越来越多的关注,如何为灵活流程提供满足要求的工作流支持日益受到学术和企业界的重视。
灵活流程的灵活性来源是多方面的,常见的来源主要包括:(1)流程依赖于流程参与人员所具备的知识技能和业务经验,流程参与人员根据流程上下文内容主导制定合适的流程执行顺序;(2)流程中存在各种异常情况或是外部环境变化,导致流程参与人员完成流程活动的方式难以被准确预知或设计;(3)业务知识的变化迅速,要求流程参与人员不断地提升个人技能水平,改进业务方案。
现有的工作流执行方法是参照流程模型的定义,根据流程的执行情况分发流程活动给不同流程参与人员,要求他们按规范完成活动,并自动完成将流程相关的文档、信息或是任务在不同的执行者之间进行传递。采用这样的方式为灵活流程提供工作流技术支持,会存在如下问题:
(1)灵活流程在执行时,流程参与人员主导制定合适的流程执行顺序,而且流程中异常情况丰富,外部环境复杂,因此,流程具体的执行路径很难被准确预知或设计。在这样的情况下,现有工作流技术实时地参照流程模型的定义分发流程活动给不同的流程参与人员,跟踪流程执行情况的方式容易出现分发内容与当前需求不一致的问题,干扰流程参与人员正常执行流程业务。
(2)灵活流程依赖于流程参与人员所具备的知识技能和业务经验,而现有的计算机系统还不具备超越人类的智能。因此在灵活流程的执行过程中,需要适当地引入人工干预,将人类的决策和判断结果引入到工作流中,而现有的工作流技术只能单向地分发任务或活动给流程参与人员,难以记录人工干预结果,表达人工干预对流程执行的影响。
(3)灵活流程在执行过程中,容易因流程参与人员的人为失误导致流程没有被准确地完成。在航空和医疗领域中,管理人员要求流程参与人员适时地回顾流程执行情况,并排查其中是否包含异常,而现有的工作流技术只能记录流程活动是否被完成,无法判断和记录具体的执行结果。
发明内容
本发明提供了一种用于灵活流程的工作流执行方法,用于解决现有工作流技术在为灵活流程提供支持时,容易干扰流程参与人员正常执行流程业务,不能引入流程参与人员对流程的干预意见,只能记录流程是否完成而无法判断和记录具体执行结果的问题。
一种用于灵活流程的工作流执行方法,包括:
步骤1,检测流程业务数据库中的标志性数据,如果存在标识性数据则基于流程模型创建流程实例;
步骤2,解析流程模型和流程实例,创建描述流程活动执行结果和人工干预结果的对象集合,对象集合中每个对象对应一个流程实例中的流程活动;
步骤3,对流程业务数据库中的流程业务数据进行清洗,去除冗余和不相关的流程业务数据;
步骤4,加载流程执行规范,基于流程业务数据判断流程活动执行结果和人工干预结果,并将结果记录在步骤2中的对象集合中;
步骤5,加载人工干预配置,基于流程活动执行结果和已知的人工干预结果,参照所述人工干预配置触发人工干预,人工干预结果保存至流程业务数据库中;
步骤6,重复步骤2~步骤5,直至所有的流程活动和人工干预皆被完成,流程活动执行结果和人工干预结果的状态不再变化,流程结束。
所述工作流执行方法在流程业务数据库中出现标志性数据时发起,所述标志性数据根据流程业务的特点进行预设和调整。
流程参与人员使用各种业务系统完成流程业务。流程参与人员正常执行流程业务时,业务行为和具体的执行结果记载在所述流程业务数据库中,通过调用数据集成工具,检测判断流程业务数据库是否存在流程相关的标志性数据,如果存在,则基于流程模型为业务对象创建流程实例。
所述流程业务数据库中至少包括流程参与人员正常执行流程业务时生成的数据和人工干预结果。
作为优选,步骤2中,解析流程模型和流程实例包括:
解析流程模型中流程活动的定义ID、流程活动的活动名称、流程活动关联的子流程ID、流程活动间的父子关系以及多个流程之间的嵌套关系;解析流程实例中流程活动的执行ID和执行状态。
步骤2中,所述对象集合采用森林数据结构存储解析结果,森林中每一棵树状结构对象描述一个流程,树的每一个节点对应一个流程活动,流程活动间的父子关系由树节点的父子关系进行表达,流程间的嵌套关系由一棵树的特定叶节点指向集合内另一棵树的根节点进行表达。
对象集合中每个节点至少包括如下信息:节点对应的流程活动的定义ID、流程活动的活动名称、流程活动关联的子流程ID、流程活动的执行ID、流程活动的执行状态、流程活动执行结果和人工干预结果。
流程活动的定义ID、流程活动的活动名称和流程活动关联的子流程ID,通过解析流程模型,将流程模型中对应的值映射到此处进行赋值。
流程活动的执行ID和流程活动的执行状态通过监测并解析流程实例,将流程实例中对应的值映射到此处进行赋值。
流程活动执行结果和人工干预结果由获取的流程业务数据和人工干预执行结果基于规则进行逻辑判断得到,初始情况下,流程活动的执行结果和人工干预结果均为“无”。流程活动执行结果和人工干预结果可作为流程上下文,影响了灵活流程的执行。
所述步骤3基于规则对流程业务进行数据清洗,目的在于,消除冗余或干扰数据对判断流程执行情况的影响,经过数据清洗后的流程业务数据才可以执行后续步骤。
优选地,步骤3中,对流程业务数据库中的流程业务数据进行清洗包括:
a、基于正则表达式归类相似名称的流程业务数据;
b、基于数据的唯一标识符去掉重复的流程业务数据;
c、基于规则判断流程业务数据名称是否满足业务领域的内容需求;
d、基于规则判断流程业务数据的时间戳是否满足业务领域的时空约束;
e、基于规则进行逻辑推理,将不同类型的流程业务数据对流程的影响结果统一使用具有唯一标识符的布尔值进行表达。
作为优选,步骤4中基于流程业务数据判断流程活动执行结果具体操作如下:
将流程活动划分为若干业务行为,判断每一业务行为的执行结果,根据所有业务行为的执行结果,计算得到流程活动的执行结果;
业务行为的执行结果包括:已完成、缺失、可能异常、需人工判断。
步骤4中,流程执行规范描述流程活动执行时的时间约束条件和内容约束条件,当业务数据的时间戳满足时间约束,且名称等其他数据属性满足内容约束条件时,视为满足流程执行规范,反之视为不满足。
步骤4中基于流程业务数据判断流程活动执行结果具体操作如下:
首先,基于规则进行逻辑判断,得到当前业务环境下指定流程活动包含哪些具体业务行为;
其次,根据可否判断执行结果、描述业务行为执行结果的业务数据是否为空、业务数据是否满足业务行为的时空规则、业务数据是否满足流程执行规范进行判断,设置业务行为执行情况的判断结果;
最后,取得所有业务行为执行情况的判断结果后,按判断结果的计算规则计算对应的流程活动执行结果。
基于规则逻辑判断流程活动执行结果,规则形式主要包括以下两种:
(1)规则前件包含要推理的流程活动的唯一标识符和若干由业务数据组成描述的约束条件,规则后件描述在该约束条件下指定流程活动应包含哪些业务行为。每个业务行为至少包括由唯一标识符、行为名称、流程活动执行结果(系统判断结果)和人工干预结果组成的对象;
(2)规则前件包含若干规范情况下应具备的业务行为的行为日志、应具备的代表执行结果的业务数据、应满足的业务行为时空约束,规则后件为设置业务行为的系统判断结果。后件中描述流程执行情况的系统判断结果至少包括“已完成”、“缺失”、“可能异常”、“需人工判断”。
基于上述两种规则形式和系统判断结果设置,实现判断流程活动执行结果主要包括:
按能否进行判断、业务数据是否存在、时空约束是否满足、数据结果是否规范进行逻辑判断,设置业务行为的系统判断结果,依据子级业务行为的系统判断结果计算父级流程活动的系统判断结果(即流程活动执行结果)。
作为优选,步骤4中基于流程业务数据判断人工干预执行结果具体操作如下:
将流程活动划分为若干业务行为,判断每一业务行为的人工干预结果,根据所有业务行为的人工干预结果,计算得到流程活动的人工干预结果;
业务行为的人工干预结果包括:确认完成、确认已矫正、确认跳过。
根据具体的人工干预方式以及人工判断意见设置进行逻辑判断得到人工干预结果的规则,然后基于规则得到业务行为的人工干预结果,在取得所有业务行为执行情况的人工干预结果后,按判断结果的计算规则计算流程活动的人工干预结果。
判断各个流程活动的人工干预结果也基于规则进行逻辑判断实现,其过程与流程活动执行结果相似,同样需要先基于业务数据等判断业务行为的人工干预结果,然后依据子级业务行为的人工干预结果计算出父级流程活动的人工干预结果。
所述步骤5为基于流程活动执行结果和人工干预结果,参照人工干预配置,触发人工干预。
所述人工干预配置描述灵活流程中有必要进行人工干预的具体时机,表现为在指定流程活动处于指定状态时,执行特定的人工干预工作。
作为优选,人工干预配置包括活动锚、状态锚、人工干预活动名称和类型,步骤5中,根据活动锚查询流程活动的执行情况,若执行情况与状态锚相匹配,则触发人工干预,人工干预结果保存至流程业务数据库中。
人工干预工作执行后,记录在流程业务数据库,已经完成的人工干预工作不再重复进行。
本发明与现有技术相比,有益技术效果如下:
(1)针对流程业务数据,基于规则进行逻辑判断得到流程业务执行情况的方式执行流程实例,着重关注活动的执行结果,能更好地适应灵活流程执行过程中,因复杂多变的异常情况或外部环境变化带来的流程活动执行方式的变化,例如,活动包含的业务行为的调整、活动执行顺序的更换等,避免工作流技术提供的内容与流程参与人员需求不一致,导致干扰流程业务执行的问题。
(2)在流程业务中适当的节点触发人工干预,提供基于流程执行规范给出的系统判断结果(即流程业务执行结果),并由流程参与人员回顾流程执行情况、排查异常,可适应灵活流程在执行过程中,容易因流程参与人员的人为失误导致流程没有被准确完成的特点,进一步提高灵活流程的过程质量。
(3)使用系统判断结果和人工干预结果联合描述流程活动,可描述灵活流程中流程活动更加复杂的执行状态,同时引入流程参与人员的决策干预意见,解决现有的工作流技术只能记录流程活动是否被完成,无法记录具体执行情况的问题,适应灵活流程依赖于流程参与人员所具备的知识技能和业务经验的特点。
综上所述,本发明提供的用于灵活流程的工作流执行方法,基于流程业务数据和流程执行规范监控流程的执行,根据流程管理方法在必要的流程节点触发人工干预,然后由流程参与人员进行人工干预的方式执行灵活工作流程,可实现在不干扰流程参与人员正常执行流程业务的前提下,帮助流程参与人员及时发现、纠正流程中的异常,及时干预流程执行,从而确保灵活流程被正确完成,帮助提高灵活流程的过程质量,为灵活流程的管理提供技术支持。
附图说明
图1为本发明用于灵活流程的工作流执行方法的总体流程图;
图2为本发明根据预设的流程模型、人工干预配置和流程执行规范,判断流程执行情况,触发人工干预的总体流程图;
图3为本发明解析流程模型和流程实例,创建对象集合存储解析结果的流程图;
图4为实现本发明用于灵活流程的工作流执行方法的网络结构图;
图5为本发明在获取业务数据后,基于规则进行数据清洗的流程图;
图6为本发明判断流程执行情况和人工干预结果的流程图;
图7为本发明基于流程业务数据,判断流程活动子级业务行为的流程业务执行结果的详细流程图;
图8为本发明基于人工判断意见,判断流程活动子级业务行为的人工干预结果的详细流程图;
图9为本发明基于流程执行情况,触发人工干预并返回结果的流程图;
图10为实现本发明用于灵活流程的工作流执行方法的系统结构图。
具体实施方式
下面结合附图,对本发明用于灵活流程的工作流执行方法做详细描述。
如图1所示,用于灵活流程的工作流执行方法,包括如下步骤:
步骤S101,系统通过数据集成工具获取指定业务对象的数据,检测所获取的结果中是否包含与当前所服务流程相关的标志性数据,如果存在,则进行步骤S102。
步骤S102,为标志性数据指向的业务对象启动流程,基于流程模型创建流程实例。
步骤S103,流程参与人员进行正常业务流程,流程参与人员的业务行为和结果被负责具体业务的系统记录下来。
步骤S104,系统通过数据集成工具,从负责具体业务的系统中获取业务数据,并基于规则对业务数据进行清洗,然后基于清洗后的数据判断流程执行情况,触发为流程所设置的人工干预。
图2为步骤S104的详细步骤。
步骤S201,加载并解析流程模型,最终得到一组森林数据结构的,描述流程模型中活动层级结构的对象集合,该对象集合将用于存储流程活动对应的系统判断结果,人工干预结果和完成该活动进行的业务行为。
步骤S201的详细流程如图3所示,包括:
步骤S301,解析目标流程实例,并查找到该流程实例对应的流程模型;
步骤S302,解析流程模型中所有流程活动,包括定义ID、活动名称、关联子流程ID和从流程实例中查询到的执行ID、执行状态;
步骤S303,创建森林数据结构的对象集合描述解析结果,将步骤S302中解析所得值赋值到数据对象;
步骤S304,解析流程活动间的父子关系;
步骤S305,在步骤S302所创建的数据对象集合中,使用树节点的父子关系表达流程活动间的父子关系;
步骤S306,解析多个流程之间嵌套关系;
步骤S307,使用由一棵树的叶节点指向另一棵树根节点的方式表达流程间的嵌套关系。
步骤S202,由系统调用数据集成工具,取得业务数据和人工干预执行结果。为执行该步骤,本系统所需网络结构如图4所示。
S401为系统所服务的流程中完成流程业务的业务系统,S402为数据集成工具,S403为本发明灵活流程工作流执行系统,S404为实现流程中所需的人工干预工作的业务系统。在运行系统时,将S402与S401和S404连接,集成分散在各个业务系统的数据,完成异构数据同构化和去除冗余数据;S403和S402连接,作为实现步骤S202获取数据的基础;S403和S404连接,由S404接受S403给出的被触发的人工干预,并进行实现。
在取得数据后,系统执行步骤S203基于规则对数据进行清洗和处理,详细流程如图5所示。
步骤S501,基于正则表达式匹配流程业务数据的名称,将匹配上同一表达式的业务数据合并到一个集合中,一个集合中的数据视为同一种数据。
步骤S502,查找一个集合中所有数据的统一标识符,如果多个数据具有相同的统一标识符,则只保留多个数据中的一个,通过这种方式去除重复数据。
步骤S503,设置业务领域的时空规则,判断业务数据的时间戳是否满足业务领域的时空要求,若判断为满足,则保留数据,否则剔除该数据。
步骤S504,设置业务领域的业务需求规则,判断业务数据的名称是否在业务需求的字符串集合中,如果是,则保留数据,否则剔除该数据。
步骤S505,使用规则模拟人对业务数据进行的数据计算或是逻辑推理,最终得到一系列具有唯一标识符的布尔值,每一个布尔值描述一组相关的数据对流程的影响,例如流程活动的执行结果、人工干预对流程的影响等。步骤S505具体包括以下两种情况:
(1)设置业务领域内的数据计算规则,其形式为选取若干业务数据,从中提取计算目标需要的数值型数据,判断所需数值型数据均存在时,按公式进行计算,得到结果并存储在内存中;
(2)设置业务领域内数据影响流程的业务执行规则,其形式为选取若干业务数据、人工干预结果、数值计算结果、流程执行情况或是其他规则产生的布尔值结果,将数据与规则的前件进行匹配,如果匹配成功,则执行规则后件输出一个布尔值结果,该布尔值结果代表当前获取的数据满足业务执行规则的前件要求这一事实。
步骤S505输出的布尔值结果具有唯一标识符,其他步骤通过该唯一标识符可以直接查询到该布尔值并用于进行逻辑判断。例如具有唯一标识符“AdverseCode001”,值为“true”的布尔值代表一个处于手术工作流程中的病人,其生理检验数据满足“执行造影剂肾病预防或处置”所列要求中的1个或多个。通过读取该布尔值,可提示医疗工作人员进行对应的处置工作;或是结合业务数据,监控该处置工作有无被准确执行。
步骤S204,加载流程执行规范,流程执行规范定义当前所服务的流程应如何被正确地执行。
步骤S205,系统基于规则进行逻辑推理,判断流程的执行情况,详细流程如图6所示。
步骤S601,系统执行基于流程模型生成的流程实例,获取当前激活的流程活动列表,其形式为一组至少包含活动名称或内容的对象。激活流程活动的条件使用规则进行描述,其规则形式为前件由必要的前置流程活动、已知的流程活动的系统判断结果和人工干预结果,以及表达业务数据对流程影响的布尔值组成,后件为激活指定的流程活动。
步骤S602,系统推理判断各个激活的流程活动应包含的业务行为,其规则形式为规则前件包含要推理的流程活动的唯一标识符、表达业务数据对流程影响的布尔值、若干由业务数据或已知的流程活动的系统判断结果和人工干预结果组成描述的约束条件,规则后件描述在该约束条件下指定流程活动应包含哪些业务行为。每个业务行为至少包括唯一标识符、行为名称、系统判断结果和人工干预结果的对象。
步骤S603,系统推理判断各个流程活动所包含的业务行为的执行结果,其规则形式为规则前件包含若干规范情况下应具备的业务行为的行为日志、应具备的代表执行结果的业务数据、应满足的业务行为时空约束,规则后件为设置业务行为的系统判断结果,详细流程如图7所示。
图7一共由10个步骤组成,其中S701,S703,S704,S707和S709为设置系统判断结果需要进行的判断,步骤S702,S705,S706,S708,S710为设置系统判断结果。
步骤S701,判断系统能否获取到业务行为对应的行为日志或代表执行结果的业务数据,从而得出是否可以判断执行结果;
步骤S703,判断业务行为对应的行为日志或代表执行结果的业务数据是否为空;
步骤S704和步骤S707为判断业务行为相关的行为日志或业务数据的时间戳是否满足业务行为时空约束,包括可接受的最早完成时间和最晚完成时间,时间戳在最早完成时间和最晚完成时间之内的,判断为满足时空约束;
步骤S709,判断业务行为相关的行为日志或业务数据是否满足规范要求,包括数值型数据是否相等、字符型数据是否相似和布尔型数据是否相同,只有所有数据都与规范相匹配时,认为满足业务规范。
当步骤S701判断结果为“否”时,执行步骤S702,此时系统不能判断业务行为的执行结果,假设业务行为被完成,设置判断结果“Manual”,要求人工进行干预判断。
当步骤S701判断结果为“是”,步骤S703判断结果为“是”,步骤S704判断结果为“否”,执行步骤S705,系统假设业务行为被流程参与人员忘记完成,设置判断结果“Missed”。
当步骤S701判断结果为“是”,S703判断结果为“是”,S704判断结果为“是”,执行步骤S706,系统判断认为业务行为尚未被完成,需要等待流程参与人员完成业务行为。
当步骤S701判断结果为“是”,S703判断结果为“否”,S707判断结果为“否”,或者步骤S701判断结果为“是”,S703判断结果为“否”,S707判断结果为“是”,S709判断结果为“否”,执行步骤S708。系统假设业务行为被完成,但可能存在问题,设置判断结果“Questionable”。
当步骤S701判断结果为“是”,S703为判断结果为“否”,S707判断结果为“是”,S709判断结果为“是”,执行步骤S710。系统假设业务行为被完成,设置判断结果“Coincident”。
在给出各业务行为的判断结果后,执行步骤S604基于各个业务行为的执行结果计算得出各个流程活动的执行结果,系统判断结果状态值及计算规则如表1所示。
表1
步骤S605,系统基于规则推理判断各业务行为的人工干预结果,其规则形式为规则前件包含若干业务行为的行为日志、应具备的代表执行结果的业务数据、指定的业务行为的系统判断结果,规则后件为设置业务行为的人工干预结果。详细流程如图8所示。
步骤S801,获取指定业务行为的系统判断结果。
当判断结果为Manual或Coincident时,执行步骤S802。判断人工意见需依照具体的人工干预方式进行设计,例如在安全检查中,如果流程参与人员勾选确认某个安全检查条目,则系统判定为条目对应的人工判断业务行为已经确认。当人工判断认为业务行为已经被流程参与人员完成,则执行步骤S803,设置人工干预结果为“Done”,表示业务行为确实已经被完成且满足实际业务的要求;当人工判断认为业务行为确实没有被完成时,则执行步骤S804设置人工干预结果为“Skipped”,表示实际业务流程中流程参与人员跳过执行对应的业务行为。
当判断结果为Missed或Questionable时,执行步骤S805。此时如果人工判断意见认为业务行为已经被流程参与人员完成,则表明流程参与人员针对系统给出的判断结果,进行了必要的矫正异常的措施或否决了系统给出的判断结果,此时设置人工干预结果“Corrected”以与“Done”进行区别。如果人工判断意见为业务行为确实没有被完成时,则设置结果为“Skipped”表示跳过执行对应的业务行为。
在给出各业务行为的人工干预结果后,执行步骤S606计算出各流程活动的人工干预结果,人工干预结果状态值及其计算规则如表2所示。
表2
在完成所有流程活动执行情况的判断后,执行步骤S607重新获取激活的流程活动列表,并基于唯一标识符与上一次的结果进行比较,判断两次结果有无不同。如果有变化,则重复执行步骤S602到步骤S606直到不发生变化为止,然后执行步骤S608,结束判断流程执行情况。
完成上述步骤后,执行步骤S206,加载当前流程所对应的人工干预配置,解析得到流程中进行人工干预的时机及对应工作项。人工干预节点的配置中描述的内容至少包括:活动锚、状态锚、人工干预活动类型、活动内容、活动名称和必要的解释说明,示例如表3所示。当活动锚所描述的活动的执行状态与状态锚所描述的状态相匹配时,触发当前人工干预节点。
表3
步骤S207,由系统基于步骤S205得到的流程执行情况和步骤S206加载的人工干预配置,触发人工干预,详细流程如图9所示。
步骤S901,获取所有的人工干预节点的活动锚。
步骤S902,系统查询各个活动锚对应的活动具体的执行结果,判断是否与状态锚匹配。如果匹配,则执行步骤S903,触发该人工干预。
步骤S904,判断该人工干预是否已被流程参与人员完成,其形式为系统访问S404获取人工干预工作的执行结果,检查是否已有同名人工干预的执行记录,如果没有,则执行步骤S905,返回人工干预活动类型、内容、名称和解释,传递给S404进行解析和实现。
上述步骤完成后,进行步骤S105,由流程参与人员执行流程要求的人工干预工作,并由S404记录执行结果。之后执行步骤S106,由系统S403获取当前激活的流程活动列表,判断流程是否结束。当获取到的激活的流程活动列表长度为0时,执行步骤S107,结束流程。
图10为基于上述实施方式设计的系统结构图。
根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式进行适当的变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对本发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。
Claims (6)
1.一种用于灵活流程的工作流执行方法,其特征在于,包括:
步骤1,检测流程业务数据库中的标志性数据,如果存在标识性数据则基于流程模型创建流程实例;
步骤2,解析流程模型和流程实例,创建描述流程活动执行结果和人工干预结果的对象集合,对象集合中每个对象对应一个流程实例中的流程活动;
步骤3,对流程业务数据库中的流程业务数据进行清洗,去除冗余和不相关的流程业务数据;
步骤4,加载流程执行规范,基于流程业务数据判断流程活动执行结果和人工干预结果,并将结果记录在步骤2中的对象集合中;
步骤5,加载人工干预配置,基于流程活动执行结果和已知的人工干预结果,参照所述人工干预配置触发人工干预,人工干预结果保存至流程业务数据库中;
步骤6,重复步骤2~步骤5,直至所有的流程活动和人工干预皆被完成,流程活动执行结果和人工干预结果的状态不再变化,流程结束。
2.如权利要求1所述的用于灵活流程的工作流执行方法,其特征在于,步骤2中,解析流程模型和流程实例包括:
解析流程模型中流程活动的定义ID、流程活动的活动名称、流程活动关联的子流程ID、流程活动间的父子关系以及多个流程之间的嵌套关系;解析流程实例中流程活动的执行ID和执行状态。
3.如权利要求1所述的用于灵活流程的工作流执行方法,其特征在于,步骤3中,对流程业务数据库中的流程业务数据进行清洗包括:
a、基于正则表达式归类相似名称的流程业务数据;
b、基于数据的唯一标识符去掉重复的流程业务数据;
c、基于规则判断流程业务数据名称是否满足业务领域的内容需求;
d、基于规则判断流程业务数据的时间戳是否满足业务领域的时空约束;
e、基于规则进行逻辑推理,将不同类型的流程业务数据对流程的影响结果统一使用具有唯一标识符的布尔值进行表达。
4.如权利要求1所述的用于灵活流程的工作流执行方法,其特征在于,步骤4中基于流程业务数据判断流程活动执行结果具体操作如下:
将流程活动划分为若干业务行为,判断每一业务行为的执行结果,根据所有业务行为的执行结果,计算得到流程活动的执行结果;
业务行为的执行结果包括:已完成、缺失、可能异常、需人工判断。
5.如权利要求1所述的用于灵活流程的工作流执行方法,其特征在于,步骤4中基于流程业务数据判断人工干预执行结果具体操作如下:
将流程活动划分为若干业务行为,判断每一业务行为的人工干预结果,根据所有业务行为的人工干预结果,计算得到流程活动的人工干预结果;
业务行为的人工干预结果包括:确认完成、确认已矫正、确认跳过。
6.如权利要求1所述的用于灵活流程的工作流执行方法,其特征在于,人工干预配置包括:活动锚、状态锚、人工干预活动名称和类型,步骤5中,根据活动锚查询流程活动的执行情况,若执行情况与状态锚相匹配,则触发人工干预,人工干预结果保存至流程业务数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810323017.9A CN108595557A (zh) | 2018-04-11 | 2018-04-11 | 一种用于灵活流程的工作流执行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810323017.9A CN108595557A (zh) | 2018-04-11 | 2018-04-11 | 一种用于灵活流程的工作流执行方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108595557A true CN108595557A (zh) | 2018-09-28 |
Family
ID=63622049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810323017.9A Pending CN108595557A (zh) | 2018-04-11 | 2018-04-11 | 一种用于灵活流程的工作流执行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108595557A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2393372A1 (en) * | 2001-07-19 | 2003-01-19 | Oce-Technologies B.V. | Method for creating a workflow |
CN101286215A (zh) * | 2008-02-22 | 2008-10-15 | 山东中创软件工程股份有限公司 | 同时支持人工流和自动流的工作流引擎 |
CN101714231A (zh) * | 2009-11-20 | 2010-05-26 | 广东金宇恒科技有限公司 | 一种不基于过程模型的自由工作流管理方法及系统 |
CN102043625A (zh) * | 2010-12-22 | 2011-05-04 | 中国农业银行股份有限公司 | 一种工作流运行方法及系统 |
CN106648944A (zh) * | 2016-09-26 | 2017-05-10 | 东软集团股份有限公司 | 处理异常的方法及装置 |
-
2018
- 2018-04-11 CN CN201810323017.9A patent/CN108595557A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2393372A1 (en) * | 2001-07-19 | 2003-01-19 | Oce-Technologies B.V. | Method for creating a workflow |
CN101286215A (zh) * | 2008-02-22 | 2008-10-15 | 山东中创软件工程股份有限公司 | 同时支持人工流和自动流的工作流引擎 |
CN101714231A (zh) * | 2009-11-20 | 2010-05-26 | 广东金宇恒科技有限公司 | 一种不基于过程模型的自由工作流管理方法及系统 |
CN102043625A (zh) * | 2010-12-22 | 2011-05-04 | 中国农业银行股份有限公司 | 一种工作流运行方法及系统 |
CN106648944A (zh) * | 2016-09-26 | 2017-05-10 | 东软集团股份有限公司 | 处理异常的方法及装置 |
Non-Patent Citations (1)
Title |
---|
王辉等: "工作流系统异常处理框架的研究与实现", 《计算机系统应用》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Watson | Interpretive structural modeling—A useful tool for technology assessment? | |
US8195709B2 (en) | Comparison of models of a complex system | |
Price et al. | A semiotic information quality framework | |
CN104866599B (zh) | 可视化报表的生产方法和系统 | |
JP3860866B2 (ja) | 営業ナビゲーション装置 | |
Musa et al. | A study of the impact of information and communications technology (ICT) on the quality of quantity surveying services in Nigeria | |
CN108536718A (zh) | 一种基于输入输出语义化实现的管理信息化的方法和系统 | |
CN109936479A (zh) | 基于差分检测的控制平面故障诊断系统及其实现方法 | |
Burge | Software engineering using design RATionale | |
CN109308258A (zh) | 测试数据的构造方法、装置、计算机设备和存储介质 | |
CN115170048B (zh) | 基于模型和规则的工作流实现方法、系统和介质 | |
Yang et al. | A multiple attribute group decision making approach for solving problems with the assessment of preference relations | |
Chen et al. | A rough set approach to multiple criteria ABC analysis | |
Harding et al. | Applications of QFD within a concurrent engineering environment | |
CN103020035A (zh) | Faq制作辅助系统 | |
Murah et al. | Kacang Cerdik: A Conceptual Design of an Idea Management System. | |
CN108595557A (zh) | 一种用于灵活流程的工作流执行方法 | |
CN115564373A (zh) | 项目信息数据处理方法、系统、设备及介质 | |
Roubtsova et al. | KPIs and their properties defined with the EXTREME method | |
CN115063101A (zh) | 基于案例库的结构数据生成方法、系统、装置及存储介质 | |
Lima et al. | Fuzzy modeling for function points analysis | |
CN112506957A (zh) | 工作流依赖关系的确定方法及装置 | |
Blair et al. | A comparative study of methodologies for designing IDSSs | |
García et al. | Integrated measurement for the evaluation and improvement of software processes | |
Ward et al. | Requirements capture for medical device design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180928 |
|
WD01 | Invention patent application deemed withdrawn after publication |