基于配置约束的手机充值系统优化分析
2019-07-11王丽丽
刘 静 王丽丽
(安徽理工大学数学与大数据学院 安徽淮南 232001)
随着互联网时代的快速发展,各个领域对市场的需求也变得越来越复杂。现有的业务流程建模优化方法已经不能满足企业以及用户的需求,故通过对现有的业务流程Petri网加以配置约束来进行优化变得日益重要。
配置约束在业务流程建模领域扮演着重要的角色。目前,关于这方面也有了相当多的研究,文献[1]提出了一种形式化的基础,可以逐步个性化可配置的过程模型,同时在语法和行为语义方面保持了正确性,并得出了可配置的过程模型在行为上是合理的则个性化过程模型也是合理的。文献[2]考虑到输入的不确定性,提出了一种软件支持的方法,在不确定情况下改进产生的模型,从声明性规范自动创建可配置的业务流程模型。文献[3]使用基于SWRL的业务规则实现基于服务的业务流程自动配置的框架,设计并实现了一种变点本体,该变点本体采用SWRL规则给出变点准则,总结了一组特定于领域的业务规则并使用这些规则来获得满足用户需求所需的特定规则,然后使用配置算法根据所获得的引用结果来配置可配置的业务流程。文献[4]提出了一种将过程模型合并为可配置过程模型的新算法并验证了其有效性。可配置流程模型提供了一系列业务流程的统一视图,它通过向分析人员提供一个通用的建模工件来派生单个流程模型,从而促进了经过验证的实践的重用。不幸的是,用于可配置流程建模的现有标记的范围受到限制,从而妨碍了它们的适用性。具体地说,这些标记集中于捕获任务和控制流依赖项,而忽略了同样重要的业务流程成分,如数据和资源。文献[5]通过提出一种可配置的流程建模表示法来填补这一空白,该表示法包含用于捕获资源、数据和任务执行中涉及的物理对象的特性。该建议已经在一个工具集中实现,该工具集在配置阶段帮助分析人员,并确保生成的流程模型的正确性。
本文以Petri网行为轮廓为基础,对基于配置约束的手机充值流程进行优化分析。首先建立了手机充值流程的Petri网源模型,在对原模型进行配置优化时,考虑到实际手机充值业务流程中星级客户和普通客户享受的优惠价格不同,并以此作为约束条件通过添加相应的阻塞变迁和隐藏变迁以达到优化的目的。最后得到手机充值流程的优化模型,并对有关配置约束方向的问题进行总结和展望。
一、基本概念
定义1[6](流程模型Petri 网)流程模型Petri 网PN=(P,T,F,C)是一个四元组满足以下条件:
(1)P⋃ T ≠Φ;
(2)P⋂T=Φ;
(3)F ⊆ (P×T)⋃ (T×P);
(4)dom(F)={ }x ∈ P ⋃T/∃y ∈ P ⋃T:(x,y ∈ F) ;
(5)cod(F)={ }x ∈ P ⋃T/∃y ∈ P ⋃T:(y,x ∈ F) ;
可见,网PN=(P,T,F,C)的基本元素集合是P和T,在Petri网中,一般分别使用圆圈和方框表示。
定义2[7](变迁发生规则)设N=(P,T;F,M)称作为Petri网,则:
(1)对于N=(P,T,F,M),∀t T,如 果 ∀p ∈ P:p ∈•t:M(p)≥1,则称t在M使能,记为M[t>。
(2)在标识M下使能的变迁t发生后,得到一个新的标识M'(记为M[t>M'),则有
在Petri网PN中存在一种弱序关系,即包含T×T的所有的变迁对 (x,y)中存在一个发生序列δ=t1t2…tn,当时,i< j ≤n有ti=x且tj=y,x→y,依据这种弱序关系定义了行为轮廓。
定义3[8](行为轮廓)设( N,M0)是一个网,初始标识为M0,将所有关系的集合称为网系统的行为轮廓,记作BP=对任给的变迁对(t1,t2)∈(T × T)满足下面关系:
(1)若t1≻t2,且t2≯t1,则称严格序关系,记作t1→t2;
(2)若t1≯t2,且t2≻t1,则称严格逆序关系,记作t1→-1t2;
(3)若t1≯t2,且t2≯t1,则称排他序关系,记作t1+t2;
(4)若t1≻t2,且t2≻t1,则称交叉序关系,记作
图1 严格序
图2 排他序
图3 交叉序
定义4[1](Petri网配置)PN是一个Petri网,CN∈ T → {allow,hide,block}是网 N 的一个配置,其中PN=(P,T,F),定义如下:
二、基于配置约束的手机充值系统优化分析
(一)业务流程模型的配置。在配置流程模型Petri网时可以根据用户或者企业的需求添加隐藏变迁或者阻塞变迁来约束流程模型中的某一部分,从而实现配置优化。[9-10]如果一个变迁在日志中能够被记录,但在模型中被执行时可以被跳过而直接执行下一活动,则该变迁称为隐藏变迁,如果一个变迁存在于流程模型中,但是在某些子流程模型中不允许被执行,则该变迁称为阻塞变迁。下面用简单的流程模型Petri网来说明什么是隐藏变迁和阻塞变迁。如图4所示,由于变迁c被隐藏了,所以变迁b发生后直接跳过c取发生变迁d,图5 中可以看到变迁d 被阻塞了,因此当变迁c 发生过后只能发生变迁e,而变迁d不会发生。
图4 具有隐藏变迁的流程模型Petri网
图5 具有阻塞变迁的流程模型Petri网
在商场顾客购物支付的业务流程中,商家为了刺激消费从中赚取更多的利润,会采取会员制的优惠政策,即办理会员卡的顾客支付时能享受折扣价,而没有会员卡的顾客只能采取原价支付。这种情形就可以通过上述提到的添加阻塞变迁来阻塞业务流程中的一部分,从而达到配置优化的目的,如下图6所示。
图6 有会员卡的顾客支付流程
(二)基于配置约束的手机充值系统优化分析的算法。由于业务流程模型中存在着一定条件的约束,那么流程中的行为在执行的过程中可能存在一定的行为约束,针对行为约束这方面的问题,我们可以采用配置优化的方法来对其进行相应的优化。
在实际的手机充值业务流程中,星级客户和普通客户支付金额可能不同,新用户和老用户登录方式可能不同等称之为约束条件。对于这类带有约束条件的业务流程模型,可以通过添加配置信息对模型进行优化分析。在此基础上,提出了基于配置约束的手机充值系统优化分析的算法,具体的算法如下:
算法1:导出优化模型
输入:手机充值源模型PN0=(P,T,F)
输出:手机充值优化模型PN1
1.先将手机充值源模型PN0=(P,T,F)转换成Petri网结构图,然后进入步骤2。
2.根据客户和企业的要求,把全部的行为约束条件分别列出,并记作C1,C2,C3…Cn,接着进入步骤3。
3.在步骤 2 全部约束条件C1,C2,C3…Cn的约束下,通过对源模型PN0=(P,T,F)的Petri网结构图增添相应的隐藏或阻塞变迁来进行优化分析。具体的操作方法根据步骤4来执行。
4.根据步骤2 和步骤3,找到满足约束条件的阻塞变迁t ∈T,并阻塞此变迁t,在旁边标注上block,表明此条路径不能正常执行。找到满足约束条件的需要跳过去不执行的隐藏变迁t ∈T,并隐藏此变迁t,然后在旁边标注上hide,表明此变迁可以不执行。接着进入步骤5。
5.根据步骤4,不存在约束条件的其他变迁t ∈T在手机充值源模型PN0=(P,T,F)中不发生任何变化,依旧保留在手机充值源模型PN0中,并输出优化模型PN1,算法结束。
(三)结合实例分析。在给手机充值的过程中,用户先通过注册、登录用户中心查询话费余额,如果余额充足则取消充值,如果余额不足则先验证充值日期,然后选定充值金额开始充值,充值方式有两种,一种是以默认的价格进行充值,另一种是折扣价格充值,用户确认充值后先付款给支付中心,然后收到支付中心发出的付款成功的消息,同时支付中心向充值中心发出消息提醒充值中心给该用户充值,接着充值中心完成充值并向客户发送充值成功话费到账的消息。整个业务流程中,用户中心、支付中心和充值中心三方共同运行,手机充值系统的源模型如图7所示。
图7 手机充值源模型Petri网结构图
图8 手机充值模型优化Petri网结构图
从图7 中的手机充值源模型的Petri 网结构图中可以发现下列问题,现实生活中的手机充值流程与上述的手机充值流程之间仍然有不同程度的差别,即前面提到的约束条件。在上述的手机充值流程中存在下面几个问题:(1)老用户在手机充值时不需要重新注册,只需直接登录,这与充值流程中所有用户都需要通过注册再登录产生矛盾。(2)对于星级用户而言,通常含有积分比较多,就可以采用积分来抵扣部分金额的方式从而能够享受一个优惠价格,而对普通用户来说,一般积分含有比较少,则无法享用这种折扣价格,故只能原价支付。而在充值流程中没有对这种情形加以区分,因此在实际执行过程中业务流程模型与实际情况产生矛盾。(3)在手机充值源模型中所有用户都需要被充值中心查验信息,这与现实生活充值中星级用户不需要执行查验信息这一步骤不符。
通过对源模型分析而得到的一些问题,可以采用在源模型中添加某些配置约束来对其进行优化,详细的优化方法如下:
对于问题(1),可以采取把活动变迁T1 给与隐藏,使得老用户在进行手机充值时能够跳过注册这一步骤直接登录。对于问题(2),可以采取阻塞活动变迁T11的方式,从而阻止了活动变迁T11以后的变迁不能正常发生,即阻止了星级用户采用默认金额进行充值这条路径。对于问题(3),通过隐藏活动变迁T23进而使得星级用户在执行到活动变迁T22时可以直接跳过去直接去执行变迁T24,从而达到星级用户在充值时可以不用执行查验信息这一步骤的目的。此种通过添加配置信息来优化的方法实现了手机充值系统与实际充值流程之间的高度吻合,表明该优化方法是可行的。
四、结语
手机充值中心为了促进通讯行业的发展,采取积分抵扣的方式从而刺激广大手机用户提高消费额度,然而在实际生活中的手机充值流程与目标中的手机充值流程仍然有某种程度的差异。本文中为了满足星级用户和充值中心的要求,通过在手机充值流程模型中添加相关的阻塞变迁和隐藏变迁进而达到模型优化的目标。但是,本文给出的配置优化方法只针对了一个比较简单的案例进行分析,而没有探究对复杂的模型经过配置优化后得到的模型是否合理,例如会不会出现死锁、无界等情况。因此未来有关业务流程配置优化还有很多问题有待研究和解决。如何找到一种复杂业务流程模型最优的配置方法来保证优化后的复杂业务流程模型的合理性。