一种以Artifact为中心的多业务流程协同监控方法
2022-04-01刘海滨柴朝华
刘海滨,柴朝华,李 晖,,王 颖
(1.河北科技师范学院 工商管理学院,河北 秦皇岛 066004;2.燕山大学 信息科学与工程学院,河北 秦皇岛 066004)
0 引言
云计算、大数据、人工智能、工业4.0及电子商务等技术的不断发展,从根本上彻底改变了当今世界企业的运营方式,企业全球化时代的到来促使未来企业必将走向合作共赢、融合发展的管理模式。在此背景下,业务流程管理(business process management, BPM)研究领域也在由传统的企业内部向跨企业业务流程转变。多业务流程协同[1]是BPM技术新的热点问题之一。所谓多流程协同是指多个企业的业务协同工作共同完成一个业务目标。企业业务在协同工作中,不仅要考虑自身,更要考虑合作伙伴企业的利益。为了确保信誉,企业必须能实时监控业务环境,保证服务质量,必须能够灵活地应对变化的业务需求。因此,相关研究学者提出了多业务流程协同监控技术[2-3],旨在通过对多流程业务合作伙伴行为进行监控,进而快速适应业务需求的变更,降低由于业务需求改变而带来的损失,最大化企业自身的利益。
目前,在BPM领域,NGAMAKEUR等人从多业务流程协同建模角度开展了深入研究,CORRADINI 提出了基于OMG标准的多业务流程协同建模方法,文献[4]构建了在开发服务环境下进行业务流程协同的系统,文献[5]针对动态协作环境建立了以Artifact为中心的业务流程执行框架。XIONG等人则针对多业务流程协同中出现的数据流错误检测[6]、协同模式的分析与提取[7]等问题进行了研究,未考虑对协同执行进行系统的监控。文献[8-10]分别从以Artifact驱动的流程协同监控、智能设备的应用、物联网的应用及区块链的应用等方面为切入点深入研究了多业务流程监控体系构建的问题,但其监控方法都是自顶向下的设计,在协同监控过程中只注重过程,而忽略了核心业务数据自身的重要性。文献[11-12]提出了基于实时数据采集的监控模型,但研究重点仍是一个从监控需求到监控模型再自动转换为监控系统的自顶向下的体系,未强调数据的重要性。
因此,本文提出一种自底向上,以Artifact为中心的多流程协同监控方法。首先,给出了以Artifact为中心的业务流程协同模型及其运行后产生的Artifact协同快照实例定义。其次,采用快照日志挖掘获得候选的以Artifact为中心的业务流程协同模型,然后,根据蚁群优化算法在候选流程模型中获取最优流程服务协同路径。最后,通过实例分析验证了方法的可行性。
1 相关定义
已有的多流程协同模型主要从管理模型和业务模型两个方面对多流程协同进行了描述,即着重在过程和控制流,忽略了业务流程之间的核心业务数据的交互,导致不能很好满足业务流程协同的合规性、灵活性和自治性三方面需求[13-14]。以Artifact为中心的业务流程在建模过程中,充分考虑业务流程的核心业务数据及其更新情况,是以数据为中心业务流程建模思想的典型代表[15]。本文在以Artifact为中心建模基础上进行扩展,提出以Artifact为中心的业务流程协同模型。该协同模型强调6个核心要素: Artifacts、流程服务、协同角色、Artifacts提供流程服务的监控信息及Artifacts之间的服务协同的监控信息。
定义1以Artifact为中心的业务流程协同模型(Artifact-centric Collaboration Model, ACCM ):以Artifact为中心的业务流程协同模型Π定义为一个多元组(A,V,R,C,F,B),其中:
1)A为Artifact类型集合,一个Artifact类定义为一个四元组(D,T,S,Sf),其中D表示名称-值对的数据属性集合,T表示与数据属性集合D相对应的数据类型集合,S表示数据属性赋值状态集合,并且Sf⊆S{Sinit},Sinit为初始数据属性赋值状态,Sf表示数据属性赋值完成状态;
2)V为流程服务集合;
3)R为业务协同中的组织角色集合;
4)C是集合A与集合R的笛卡尔积的子集,即A×R={(x,y)|x∈A∧y∈R},蕴含了流程协同模型中各个R包含的Artifact类型信息;
5)F是集合A与集合V的笛卡尔积的子集,即A×V={(x,y)|x∈A∧y∈V},蕴含了对Artifact类提供的各个流程服务的监控信息;
6)B是集合A、集合V及另一个集合A的笛卡尔积的子集,即A×V×A={(x,y,z)|x∈A∧y∈V∧z∈A},蕴含了各个Artifact类的生命周期过程中影响到其状态变化的流程服务及该流程服务隶属的Artifact实例信息。本定义重点介绍了ACCM在后续流程协同监控中涉及到的要素,其余要素在本文后续研究中涉及到,故从略。
Artifact实例间的协同快照反映了协同流程的相关监控信息,比如ACCM模型中各个组织角色、各个Artifact实例及其流程服务的总服务次数、服务成功率、平均服务成本及平均服务满意度等。这些监控信息可以客观地反映出当前各个组织角色在某一服务方面的服务能力、服务成本、服务质量等,从而对ACCM的监控质量和可利用性提供更科学的支持。
定义2Artifact实例协同快照:给定与Artifact类A相关的流程协同模型ACCMA,该模型下的Artifact类A的一个实例协同快照H可定义为多元组(ID,Al,Sb,Sa,G,P,H,M,E,L,Z,I,Q,K),其中:
1) ID为Artifact实例协同快照唯一标识符;
2)Al为本Artifact类A的实例名称;
3)Sb为流程协同前Artifact类A的属性赋值状态;
4)Sa为流程协同后Artifact类A的属性赋值状态;
5)G为流程协同类型,协同类型用于说明该快照代表的协同过程中本Artifact实例是协同中服务的供给方还是需求方;
6)P为流程协同中的流程服务信息;
7)H为流程协同相关的Artifact实例信息;
8)M为流程协同发生的时间;
9)E为流程协同凭证信息;
10)L为流程协同所需流程服务成本信息;
11)Z为流程服务的运行次数;
12)I为流程协同的结果信息;
13)Q为流程协同的满意度信息;
14)K为流程协同过程中的其他相关信息。
2 以Artifact为中心的多流程协同监控
2.1 ACCM协同监控模型挖掘
如何从Artifact实例协同快照中找到各个组织角色、各个Artifact实例及其服务的相关监控信息,获得候选ACCM协同模型是一个关键问题。
为此,本文提出了ACCM监控模型的挖掘算法。ACCM监控模型挖掘的主要过程就是对Artifact实例协同流程快照集合进行遍历。针对每一个快照H,取出Al(主体Artifact实例)、P(协同流程服务)、G(流程协同类型)、H(服务相关Artifact实例)、L(流程协同的所需成本)、Z(流程服务的运行次数)、I(流程协同的结果)及Q(流程协同的满意度)等信息,根据G的值确定出流程服务提供方Artifact实例Ap、流程服务接受方Artifact实例Ar。从ACCM的F集中寻找(Ap,P)元素,如果找不到,则新建(Ap,P)元素添加到ACCM的F集中。然后,根据本快照当中的L、Z、I、Q信息重新计算(Ap,P)元素的服务总次数、成功服务次数、平均服务成本、服务平均满意度等指标并记录更新。从ACCM的B集中寻找(Ar,P,Ap)元素,如果找不到,则新建(Ar,P,Ap)元素并添加到ACCM的B集中。然后,根据本快照当中的L、Z、I、Q信息重新计算 (Ar,P,Ap)元素的服务总次数、成功服务次数、平均服务成本、服务平均满意度等指标并记录更新。重复执行以上操作,直到遍历所有快照后算法结束。
算法中F及B集合中元素的服务总次数Ctotal的计算方法是通过将当前快照的Z值累计到Ctotal中去即可;成功服务次数Csuccess的计算需要先判断该快照的I值,如果I值为“成功”,则将Z的值累积到Csuccess中,否则不累计。而F、B集合中元素的平均服务成本Ccostavg、服务平均满意度Dsatisfaction的计算稍复杂,令F或B集合中元素的原本服务总次数、平均服务成本,服务平均满意度记为Coriginal、Ccostoriginal和Doriginal,则Ccostavg、Dsatisfaction的计算公式为
(1)
(2)
下面是ACCM协同监控模型挖掘算法的伪代码描述:
算法1ACCM协同监控模型挖掘算法
Input: 协同流程快照集合SH,ACCM中各Artifact实例可提供的流程服务集合F、各Artifact实例生命周期中涉及到的由相关Artifact实例提供的流程服务集合B
Output: ACCM中的F、B集合
Begin
1. 定义变量i=1,标记SH={H1,H2,…,HN};
2. 从SH中获取Hi的Al、P、G、H、L、Z、I及Q等属性;
3. 如果G的值为“供给”,则流程服务提供方Artifact实例Ap=Al,流程服务接受方Artifact实例Ar=H,否则Ap=H,Ar=Al;
4. 定义变量Coriginal、Ccostoriginal、Doriginal,如果元素(AP,P)∈F,则取出(AP,P)元素的Ctotal、Ccostavg、Dsatisfaction属性的值赋值分别给Coriginal、Ccostoriginal、Doriginal,否则将(AP,P)元素并入F,并给(AP,P)元素的Ctotal、Csuccess、Ccostavg、Dsutisfaction属性赋初值0,变量Coriginal、Ccostoriginal、Doriginal也赋值为0;
5. 根据式(1)、(2)计算出(AP,P)元素新的Ccostavg、Dsatisfaction属性值更新到F集合中;
6. 如果快照Hi的I属性值为“成功”,则元素(AP,P)的属性Csuccess=Csuccess+Z,并更新到F集合中;
7. 元素(AP,P)的属性Ctotal=Ctotal+Z,并更新到F集合中;
8. 如果元素(Ar,P,Ap)∈B,则取出B中(Ar,P,Ap)元素的Ctotal、Ccostavg、Dsatisfaction属性的值分别记入变量Coriginal、Ccostoriginal、Doriginal,否则将(Ar,P,Ap)元素并入B,并给(Ar,P,Ap)元素的Ctotal、Csuccess、Ccostavg、Dsatisfaction属性赋初值0,变量Coriginal、Ccostoriginal、Doriginal也赋值为0;
9. 根据式(1)、(2)计算出(Ar,P,Ap)元素新的Ccostavg、Dsatisfaction属性值并更新到B集合中;
10. 如果快照Hi的I属性值为“成功”,则元素(Ar,P,Ap)的属性Csuccess=Csuccess+Z,并更新到B集合中;
11. 元素(Ar,P,Ap)的属性Ctotal=Ctotal+Z,并更新到B集合中;
12. 如果i 13. 返回F、B集合; End 以上算法中,主要的操作集中在对SH、F、B集合的遍历上。令集合F、B的基数为U、W,随着对SH的遍历,U、W从0开始逐渐增加,最极端的情况下,U、W最多增加到N,实际情况下U、W要远小于N;而在对SH的每一步遍历中,F、B集合的当时基数不超过i,且i 根据算法1,挖掘得到ACCM的协同监控模型图。该协同监控模型图中主要有Artifact实例、流程服务两类节点,而边包括Artifact实例与流程服务之间的边和流程服务之间的边两类。Artifact实例与流程服务之间为有向边,由Artifact实例指向流程服务的边代表了该Artifact实例提供了此流程服务。反之,由流程服务指向Artifact实例的边代表该流程服务给Artifact实例提供了服务,并更新了Artifact数据属性赋值状态。从算法1可知,监控模型的各个边上还包含服务总次数、成功服务次数、平均服务成本、平均服务满意度4个监控质量信息属性。 ACCM的协同监控模型图各个边上的监控质量信息属性值的差异给ACCM优化提供了客观、可靠的依据。ACCM监控协同模型优化的目的是给某个组织角色的某一服务寻找最优的合作伙伴,而在ACCM监控模型中,待优化的服务具体表现为某Artifact实例,每个指向Artifact实例的边代表了其曾经使用的服务,边上的相关质量信息属性则可以作为这些服务进行比较的依据。针对ACCM优化的需求,本文提出监控ACCM模型中各流程服务的4个评价指标,分别是支持度、可信度、平均服务成本及平均服务满意度。 流程服务的支持度是指在当前协同流程快照集中该流程服务发生的频繁度。针对各流程服务,设定一个支持度阈值,支持度超过该阈值的流程服务才进入ACCM优化的选择范围。下面给出支持度的计算公式: (3) 其中,|SH|代表本次协同流程快照集的基数,Ctotal(V)代表流程服务V发生的总次数。 流程服务的可信度是指该流程服务发生过的次数中,成功结束的次数占比。该可信度将作为协同流程优化的一个重要评价指标,下面给出可信度的计算公式: (4) 其中,Csuccess(V)代表流程服务V成功的次数,Ctotal(V)代表流程服务V发生的总次数。 流程服务的平均服务成本和平均服务满意度指标则直接使用监控模型中各个流程服务的平均服务成本和平均服务满意度属性即可。 ACCM监控协同模型优化的下一步工作是从ACCM监控协同模型图中寻找一条最优流程服务协同路径。以某Artifact实例为根节点(Aroot),从ACCM监控模型图中逐层找出该Artifact实例需要的流程服务及提供这些流程服务的Artifact实例,找到的相关流程服务及Artifact实例即为实现目标Artifact实例的一个路径。从图结构来看,该路径是ACCM监控模型的一个子图。显然,在ACCM监控模型图中,一个Artifact实例存在多个流程服务协同路径。假设目标Artifact实例为Aroot,G(Aroot)为该Artifact实例的流程协同路径集,ACCM优化的最终目的就是要从针对Aroot的流程服务协同路径集G(Aroot)中找出最优路径Gopt(Aroot)。 G(Aroot)是ACCM监控模型的子图,其元素包括Artifact实例、流程服务两类结点及连接这两类结点的边,其实质是完成Aroot需要调用的所有下层流程服务的集合,这里每一个下层服务P可以表示为该服务的接受Artifact实例Ar、提供Artifact实例Ap及其本身的组合(Ar,P,Ap),故G(Aroot)可以表示为ACCM监控模型中B集合的子集。 ACCM监控模型中的流程服务已经建立了四类评价指标:支持度、可信度、平均服务成本及平均服务满意度。根据G(Aroot)中包含的各流程服务的指标值可以计算出G(Aroot)的支持度、可信度、平均服务成本及平均满意度。已知G(Aroot)可表示为ACCM监控模型中B集的一个子集B′,令G(Aroot)=B′={b1,b2,…,bn},bi代表路径G(Aroot)中的某一服务(Ar,P,Ap)。下面给出G(Aroot)各评价指标值的计算公式: (5) (6) (7) (8) 上述评价指标对从G(Aroot)中选择Gopt(Aroot)提供了依据。支持度指标反映了某一协同路径的利用价值,若该指标偏低,则说明该路径其余指标不具备较强的信息质量,通常设定一个阈值来判断某路径是否具备可利用性。其余三个指标均可作为评价最可信路径、最低成本路径及最大满意度路径的评价标准。综合上述指标,可找出综合性价比最优路径,下面给出G(Aroot)综合评价的计算公式: Fevaluation(G(Aroot))= (9) 在ACCM监控模型、目标服务即Artifact实例及评价函数(最大可信度、最低成本、最大满意度或综合性价比最优)明确的情况下,Gopt(Aroot)也是确定的,可以算法找出Gopt(Aroot)。ACCM监控模型具备图结构,ACCM优化无论采用什么评价指标,最终都可以转化为图优化问题中的最短路问题,故该问题是一个NP问题。下面给出一种基于蚁群算法的启发式ACCM优化算法。 蚁群算法是一种模拟蚁群搜寻食物行为模式的启发式优化算法。单个蚂蚁的行为模式表现为在其经过的路径上释放一种“信息素”的物质,而其又可以感知该“信息素”并沿着“信息素”浓度较高的路径行走,“信息素”的浓度会随着时间的推移变小。这种单个蚂蚁的行为模式随着时间推移会在蚁群中形成了一种正反馈机制,一段时间以后,整个蚁群就会沿最短路径在食物与巢穴之间往返。用蚂蚁走过的路径作为优化问题的可行解,那么所有蚂蚁的走过的路径集合即为优化问题的解空间。把针对各个路径的评估函数值作为“信息素”,随着时间的推移,最优路径上的“信息素”浓度会越来越高,最终整个蚁群在正反馈机制的作用下会逐渐集中在最优路径上,此时就找到了优化问题的最优解。 下面是ACCM蚁群优化算法的伪代码描述: 算法2ACCM蚁群优化算法 Input:目标Artifact实例Aroot、各Artifact实例生命周期中涉及到的由相关Artifact实例提供的流程服务集合B、由单个蚂蚁ant组成的蚁群ANT、迭代次数N Output:Gopt Begin 1. 定义变量n=0,Fopt=0,初始化Gopt=Ø 2. while:n 3. for all ant∈ANT循环 4. 定义路径G=Ø 5. 调用蚂蚁寻路算法(算法3),输入Aroot、B、ant,返回路径存入G 6. 计算Fevoluation(G) 7. 计算路径G上各b元素“信息素”值的改变量 8. 如果Gopt=Ø或者Fevoluation(G)>Fopt,那么Fopt=Fevoluation(G),Gopt=G 9. 结束for循环 10. 保存ACCM监控模型中B集合中各b元素更新的“信息素”值 11.n=n+1 12. 结束while循环 13. 返回Gopt End 算法3蚂蚁寻路算法 Input:目标Artifact实例Aroot、各Artifact实例生命周期中涉及到的由相关Artifact实例提供的流程服务集合B、蚂蚁ant Output:路径G Begin 1. 定义变量G=Ø,Gcur=Ø 2. for allb∈B循环 3. 读取b元素(Ar,P,Ap)的Ar, 如果Ar=Aroot,Gcur=Gcur∪{b} 4. 结束for循环 6. 将Gcur中的b元素根据P值的不同进行分类,从每一类的b元素中按照“信息素”分布选择一个b元素并入G 7. 如果G=Ø,返回G 8. for allb∈G循环 9. 定义路径G′=Ø 10. 调用蚂蚁寻路算法,输入b、B、ant,返回路径存入G′ 11.G=G∪G′ 12. 结束 for 循环 13. 返回G End 算法2中变量N代表着蚁群寻路的总迭代次数,这个次数对应着蚁群寻路原理中的一段时间,N越大,表示等待正反馈机制生效的时间越长,算法优化的效果越好,实际应用中要根据算法运行效率和优化效果的平衡来选取N的值。算法3中第6行提到按照“信息素”分布从一类具有相同的接受Artifact实例Ar和流程服务P的b元素中选择一个b元素,令该具有相同的接受Artifact实例Ar和流程服务P的b元素集为GP={b1,b2,…,bn},当前蚁群寻路的迭代轮次为m,则其中各b元素的选取概率计算公式为 (10) 式中,τm代表各个路径G上各b元素在当前迭代的“信息素”浓度值。从公式可以看出“信息素”浓度越高的b元素被选取的概率越大。在第0轮迭代时,整个ACCM监控模型中的B集合中所有b元素的“信息素”值初始化为一个相同的值,一般设为0。算法2中的第7行提到了路径G上b元素的“信息素”改变量的计算,下面说明其计算方法。路径G上的b元素上的“信息素”的改变量就采用评价函数Fevaluation(G)的值,蚁群ANT中蚂蚁ant走完其路径时,ACCM监控模型中整个B集合中的b元素的“信息素”改变量的计算公式为 Ψant(bi)=Fevaluation(Gant)·Flogical(bi∈Gant), (11) 式中,Flogical(A)表示逻辑取值函数,逻辑表达式A为真则函数值取1,逻辑表达式A为假则函数值取0。令当前迭代轮次为m,蚁群ANT中所有蚂蚁走完其路径后,ACCM监控模型中整个B集合中的b元素的总“信息素”改变量的计算公式为 (12) ACCM蚁群优化算法的主要操作集中在对B集合和蚁群的遍历及蚁群寻路的迭代。令蚁群寻路的迭代次数为X,B集合的基数为U,蚁群的基数为W,每个蚂蚁寻路的过程是递归的,但其路径中b元素最多不超过U,故其总体操作的时间复杂度为O(UU)。那么整个ACCM蚁群优化算法的时间复杂度为O(XWUU),该算法的时间复杂度主要取决于ACCM监控模型中B集合的基数U大小,若U偏大时,还可以通过冗余法降低蚂蚁寻路算法单次调用的时间复杂度,从而使整体优化算法的时间复杂度降低到O(XWUlogU)。 本文以某一站式旅游服务平台为例进行实例分析。该旅游服务平台能提供满足旅游者所有旅游相关的产品的流程服务,包括吃、住、行、游、购、娱等方面。在该平台的服务过程中,不同组织角色的流程服务相互协同,给旅游者提供了一站式旅游服务。表1给出在业务流程协同模型ACCM中的流程服务集V。 该ACCM模型下产生的流程服务协同快照数约为20 000个(随机选取其中的20%作为测试集),流程协同快照实例下所示: 表1 流程服务表Tab.1 Table of process services 已知ACCM协同模型及其协同快照集合,利用算法2挖掘ACCM监控模型,算法运行过程中,根据式(1)、(2)分别计算出Ccostavg、Dsatisfaction的值,Ctotal、Csuccess的值由Z属性挖掘获得,最终挖掘出的部分B集结果如表2所示。 表2 B集表Tab.2 Table of B sets 已知ACCM监控模型的B集,根据算法3得到最优路径如图1所示。图中,a1为算法中的Aroot,即一站式旅游服务平台Artifact实例,v1至v7表示完成a1所需的流程服务,各流程服务由其下连接的各Artifact实例提供,Artifact实例a41需要流程服务v1和v2,v1和v2由各自连接的Artifact实例提供。Artifact实例a42、a52所需流程服务过程与a41类似。最终,最优流程服务路径为图中加粗显示的路径。最优路径中各b元素相关指标及Fevalution(Aroot)的值如表3所示。 图1 ACCM监控模型优化路径图Fig.1 The optimal path chart of ACCM 表3 最优路径评价指标表Tab.3 Table of the optimal path evolution 命中率(Hit Rate)、查准率(Precision)、查全率(Recall)和F1(Recall, Precision)是衡量优化、推荐方法质量的4个重要指标。命中率是指流程服务伙伴协同路径实际命中次数与其被推荐次数的比例。查全率是指推荐流程服务伙伴路径命中个数与测试集中相关实际流程服务伙伴路径数的比值。查准率是指推荐流程服务伙伴协同路径命中个数与流程服务伙伴协同路径推荐数的比值。F1则是综合查全率与查准率的一个指标值,其具体值为查全率与查准率之积除以查全率与查准率之和的商的2倍。在训练数据中挖掘出流程服务协同最优路径后,使用测试数据分析该最优路径的命中率、查准率、查全率和F1指标,结果如图2所示。从图中可以看出,随着每次推荐时最大推荐数的增加,监控效果大幅上升,较高的查准率说明通过本文监控模型得到的推荐结果的准确性,相对较低的查全率其实反映着实际存在的盲目购买行为。本文提出的ACCM监控模型通过挖掘到的B集及其评价指标,较好地呈现出各个流程服务Artifact实例评价指标的差异性,为业务流程协同过程中选择最优流程服务伙伴提供了可靠的数据,并在此数据基础上实现了ACCM流程协同监控的优化。实例分析结果表明,以数据为中心的多流程协同监控优化方法是可行的。 图2 监控效果评价指标图Fig.2 The evaluation index of monitoring effect 本文主要研究了以Artifact为中心的多流程协同监控方法。该方法给出了以Artifact为中心的多流程协同模型ACCM,在ACCM模型上通过蚁群优化算法,提取了流程服务的支持度、可信度、满意度和服务成本等指标,获得了最优服务伙伴协同路径,解决了传统多流程协同监控技术忽略业务流程数据交互的重要性问题,大大提高了流程协同监控的质量和可利用率。 实际上,流程协同监控指标不仅局限于流程服务本身,也可以扩展到组织角色等其他元素。本文下一步的研究重点即在协同快照日志中挖掘更高质量的监控指标。2.2 ACCM监控协同模型优化
3 实例分析
4 结论