- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
服务流程层次化距离度量方法
服务流程层次化距离度量方法摘要:本文阐述了基于结构化流程树模型来度量两个服务流程距离的算法,该算法可以层次化的对服务流程进行比较,以便对流程进行层次化的归类和检索
关键词:服务流程 差别 层次
一、背景
服务流程在企业中得到了大规模的应用,服务流程模型被存储在模型数据库中,另外企业业务流程的修改,服务流程也被修改或重建。服务流程数据库中的流程越来越多,完成相同任务的服务流程的版本也不断增加,面对庞大的服务流程模型库,对服务流程进行分类存储势在必行。如何对服务流程进行精确查找,如何清除重复的服务流程模型以及如何融合相似的服务流程都是服务流程领域新的挑战。面临这些新的挑战,必须具备的基本技术就是如何度量两个服务流程间的距离。在此基础上,服务流程可以按照距离的大小进行分类,有条理的存储起来,便于管理;在检索服务流程的时候,能提供一个可靠的标准,此外众多服务流程模型中基于服务流程的距离进行数据挖掘能为服务流程模型定义专家提供企业或者用户的需求变化动态,定制更加合理的服务流程。好的衡量服务流程模型的差别的算法在服务流程走向大规模应用的历程上有着深远的意义
本文将基于结构化的流程树,提供在不同颗粒度下比较服务流程的算法。能够在不同颗粒度上计算出从一个服务流程到另一个服务流程的修改路径,计算出来的修改路径就是我们衡量两个服务流程的差别的依据
二、结构化的流程树模型
为了使本文定义的距离是在一个层次化的高度,并具有宏观的语义操作,本章要引入结构化的流程树
任何一个正确的流程可以唯一的被分解成一颗结构化的流程树(Process Structured Tree,简称PST)[1]。在PST中,任何两个节点不会存在相互重叠的关系,只可能有属于或者隶属于的关系,它很好的将流程模型分解成结构化的块,对于流程相同部分的查找和比较提供了很好的视角
定义一 结构块
结构块分成四种类型:
(A)顺序块:若干个块按照一定的顺序链接而成的块,一般来说,这些块在服务流程图中是以AND_AND节点1连接起来的,通常一个单独的活动是一个最简单的顺序块
(B)并行块:由多个需要同时执行的块组成的块。一般这些块都是从同一个-AND节点开始并且从同一个AND-节点结束的(表示可以是AND,也可以是OR)
(C)多选块:由多个块组成,但是在执行的时候只会选择某个满足特定条件的块执行。一般这些块都是从同一个-OR节点开始并且从同一个OR-节点结束的(表示可以是AND,也可以是OR)
(D)循环块:循环执行,直到满足某个条件的时候才终止的块。一般这个块由OR-AND节点开始并且在一个AND-OR节点处结束,在这个块中既有从第一个节点到第二个节点的有向通路,又有从第二个节点到底一个节点的有向通路
三、相关节点
本文希望能根据不同的颗粒度计算两个服务流程的差别,故将根据PST树一层一层的发现两个流程的不同。在每一层都有一些相关的节点,也就是说从这一层的角度看,这两节点是相同的,但子节点并不是完全相同的,故从更小的颗粒度来看,这两个节点是不一样的。本章先给出如何查找两个流程模型中的相关节点。由于流程与结构树转换是唯一的,故可通过匹配结构块来匹配流程
寻找相同节点通过递归算法,可找出服务流程模型中完全相同的部分,但有些部分在修改时做了一些改变,它们在修改前后大多数的活动还是一样的,但在上面的算法中并不能将它们匹配,有些活动在修改前属于同一个结构块,但在修改后分布到了多个结构块,也有可能将修改前几个结构块的活动合并,或选择性合并到一个结构块中,这样修改前后有关系的结构块就成一个多对多关系,对这些块做完全的删除再插入所有的节点,没有变动的节点就经历两次操作:先删除再插入,显然不能得到最短的路径,为了得到最短的路径,应该将最相似的两个结构块进行匹配,再修改它们不同的地方。在这用相似度来衡量两个结构块的相关程度
定义二 相似度
根据上面的定义,我们容易得到相似度的两个性质:
S(P1, P2) = S(P2, P1);
S(P1, P1) = 1;
前两种情况是很容易处理的,关键是第三种情况。规定同一个父节点下两个相似度最大的节点是匹配的,首先应计算出所有结构块对的相似度,然后找出相似度最大的一对,再从队列中去除含有这两个节点的结构块对,再找出剩下的里面相似度最大的,以此类推,直到队列为空或队列中的结构块对的相似度都为零为止。P1,P2子节点并集的个数就是P1,P2子节点的个数之和减去匹配的子节点对数。对根节点实行相似度的算法,就可找出两棵树中可认为前后相同节点和其相似度了
四、修改路径
通过流程间修改路径来描述两个流程的不同。所谓修改路径就是指一个流程是通过另一个流程修改得到
文档评论(0)