999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

服務(wù)流程的層次化距離度量方法

2011-12-31 00:00:00萬(wàn)群
大觀周刊 2011年9期

摘要:本文闡述了基于結(jié)構(gòu)化流程樹模型來(lái)度量?jī)蓚€(gè)服務(wù)流程距離的算法,該算法可以層次化的對(duì)服務(wù)流程進(jìn)行比較,以便對(duì)流程進(jìn)行層次化的歸類和檢索。

關(guān)鍵詞:服務(wù)流程 差別 層次

一、背景

服務(wù)流程在企業(yè)中得到了大規(guī)模的應(yīng)用,服務(wù)流程模型被存儲(chǔ)在模型數(shù)據(jù)庫(kù)中,另外企業(yè)業(yè)務(wù)流程的修改,服務(wù)流程也被修改或重建。服務(wù)流程數(shù)據(jù)庫(kù)中的流程越來(lái)越多,完成相同任務(wù)的服務(wù)流程的版本也不斷增加,面對(duì)龐大的服務(wù)流程模型庫(kù),對(duì)服務(wù)流程進(jìn)行分類存儲(chǔ)勢(shì)在必行。如何對(duì)服務(wù)流程進(jìn)行精確查找,如何清除重復(fù)的服務(wù)流程模型以及如何融合相似的服務(wù)流程都是服務(wù)流程領(lǐng)域新的挑戰(zhàn)。面臨這些新的挑戰(zhàn),必須具備的基本技術(shù)就是如何度量?jī)蓚€(gè)服務(wù)流程間的距離。在此基礎(chǔ)上,服務(wù)流程可以按照距離的大小進(jìn)行分類,有條理的存儲(chǔ)起來(lái),便于管理;在檢索服務(wù)流程的時(shí)候,能提供一個(gè)可靠的標(biāo)準(zhǔn),此外眾多服務(wù)流程模型中基于服務(wù)流程的距離進(jìn)行數(shù)據(jù)挖掘能為服務(wù)流程模型定義專家提供企業(yè)或者用戶的需求變化動(dòng)態(tài),定制更加合理的服務(wù)流程。好的衡量服務(wù)流程模型的差別的算法在服務(wù)流程走向大規(guī)模應(yīng)用的歷程上有著深遠(yuǎn)的意義。

本文將基于結(jié)構(gòu)化的流程樹,提供在不同顆粒度下比較服務(wù)流程的算法。能夠在不同顆粒度上計(jì)算出從一個(gè)服務(wù)流程到另一個(gè)服務(wù)流程的修改路徑,計(jì)算出來(lái)的修改路徑就是我們衡量?jī)蓚€(gè)服務(wù)流程的差別的依據(jù)。

二、結(jié)構(gòu)化的流程樹模型

為了使本文定義的距離是在一個(gè)層次化的高度,并具有宏觀的語(yǔ)義操作,本章要引入結(jié)構(gòu)化的流程樹。

任何一個(gè)正確的流程可以唯一的被分解成一顆結(jié)構(gòu)化的流程樹(Process Structured Tree,簡(jiǎn)稱PST)[1]。在PST中,任何兩個(gè)節(jié)點(diǎn)不會(huì)存在相互重疊的關(guān)系,只可能有屬于或者隸屬于的關(guān)系,它很好的將流程模型分解成結(jié)構(gòu)化的塊,對(duì)于流程相同部分的查找和比較提供了很好的視角。

定義一 結(jié)構(gòu)塊

結(jié)構(gòu)塊分成四種類型:

(A)順序塊:若干個(gè)塊按照一定的順序鏈接而成的塊,一般來(lái)說(shuō),這些塊在服務(wù)流程圖中是以AND_AND節(jié)點(diǎn)1連接起來(lái)的,通常一個(gè)單獨(dú)的活動(dòng)是一個(gè)最簡(jiǎn)單的順序塊。

(B)并行塊:由多個(gè)需要同時(shí)執(zhí)行的塊組成的塊。一般這些塊都是從同一個(gè)-AND節(jié)點(diǎn)開始并且從同一個(gè)AND-節(jié)點(diǎn)結(jié)束的(表示可以是AND,也可以是OR)。

(C)多選塊:由多個(gè)塊組成,但是在執(zhí)行的時(shí)候只會(huì)選擇某個(gè)滿足特定條件的塊執(zhí)行。一般這些塊都是從同一個(gè)-OR節(jié)點(diǎn)開始并且從同一個(gè)OR-節(jié)點(diǎn)結(jié)束的(表示可以是AND,也可以是OR)。

(D)循環(huán)塊:循環(huán)執(zhí)行,直到滿足某個(gè)條件的時(shí)候才終止的塊。一般這個(gè)塊由OR-AND節(jié)點(diǎn)開始并且在一個(gè)AND-OR節(jié)點(diǎn)處結(jié)束,在這個(gè)塊中既有從第一個(gè)節(jié)點(diǎn)到第二個(gè)節(jié)點(diǎn)的有向通路,又有從第二個(gè)節(jié)點(diǎn)到底一個(gè)節(jié)點(diǎn)的有向通路。

三、相關(guān)節(jié)點(diǎn)

本文希望能根據(jù)不同的顆粒度計(jì)算兩個(gè)服務(wù)流程的差別,故將根據(jù)PST樹一層一層的發(fā)現(xiàn)兩個(gè)流程的不同。在每一層都有一些相關(guān)的節(jié)點(diǎn),也就是說(shuō)從這一層的角度看,這兩節(jié)點(diǎn)是相同的,但子節(jié)點(diǎn)并不是完全相同的,故從更小的顆粒度來(lái)看,這兩個(gè)節(jié)點(diǎn)是不一樣的。本章先給出如何查找兩個(gè)流程模型中的相關(guān)節(jié)點(diǎn)。由于流程與結(jié)構(gòu)樹轉(zhuǎn)換是唯一的,故可通過匹配結(jié)構(gòu)塊來(lái)匹配流程。

尋找相同節(jié)點(diǎn)通過遞歸算法,可找出服務(wù)流程模型中完全相同的部分,但有些部分在修改時(shí)做了一些改變,它們?cè)谛薷那昂蟠蠖鄶?shù)的活動(dòng)還是一樣的,但在上面的算法中并不能將它們匹配,有些活動(dòng)在修改前屬于同一個(gè)結(jié)構(gòu)塊,但在修改后分布到了多個(gè)結(jié)構(gòu)塊,也有可能將修改前幾個(gè)結(jié)構(gòu)塊的活動(dòng)合并,或選擇性合并到一個(gè)結(jié)構(gòu)塊中,這樣修改前后有關(guān)系的結(jié)構(gòu)塊就成一個(gè)多對(duì)多關(guān)系,對(duì)這些塊做完全的刪除再插入所有的節(jié)點(diǎn),沒有變動(dòng)的節(jié)點(diǎn)就經(jīng)歷兩次操作:先刪除再插入,顯然不能得到最短的路徑,為了得到最短的路徑,應(yīng)該將最相似的兩個(gè)結(jié)構(gòu)塊進(jìn)行匹配,再修改它們不同的地方。在這用相似度來(lái)衡量?jī)蓚€(gè)結(jié)構(gòu)塊的相關(guān)程度。

定義二 相似度

根據(jù)上面的定義,我們?nèi)菀椎玫较嗨贫鹊膬蓚€(gè)性質(zhì):

S(P1, P2) = S(P2, P1);

S(P1, P1) = 1;

前兩種情況是很容易處理的,關(guān)鍵是第三種情況。規(guī)定同一個(gè)父節(jié)點(diǎn)下兩個(gè)相似度最大的節(jié)點(diǎn)是匹配的,首先應(yīng)計(jì)算出所有結(jié)構(gòu)塊對(duì)的相似度,然后找出相似度最大的一對(duì),再?gòu)年?duì)列中去除含有這兩個(gè)節(jié)點(diǎn)的結(jié)構(gòu)塊對(duì),再找出剩下的里面相似度最大的,以此類推,直到隊(duì)列為空或隊(duì)列中的結(jié)構(gòu)塊對(duì)的相似度都為零為止。P1,P2子節(jié)點(diǎn)并集的個(gè)數(shù)就是P1,P2子節(jié)點(diǎn)的個(gè)數(shù)之和減去匹配的子節(jié)點(diǎn)對(duì)數(shù)。對(duì)根節(jié)點(diǎn)實(shí)行相似度的算法,就可找出兩棵樹中可認(rèn)為前后相同節(jié)點(diǎn)和其相似度了。

四、修改路徑

通過流程間修改路徑來(lái)描述兩個(gè)流程的不同。所謂修改路徑就是指一個(gè)流程是通過另一個(gè)流程修改得到的。本章將具體介紹如何根據(jù)相關(guān)節(jié)點(diǎn)的標(biāo)記來(lái)計(jì)算修改路徑。

經(jīng)過上面的匹配,能得到這樣的幾種結(jié)果:

在P1中的塊在P2中沒有與之匹配的,定義刪除操作Parent. Delete(block name)。

在P2中的塊在P1中沒有與之匹配的,定義插入操作:Parent. Insert(block type/activity name, activity before, activity after)。

在P1中的塊在P2中有與之匹配并且相似度為1的,無(wú)任何操作。

在P1中的塊在P2中有與之匹配但是相似度小于1的,定義修改操作:

Parent. update(child)表示需要對(duì)他的子孫節(jié)點(diǎn)進(jìn)行操作。

除了這些還應(yīng)考慮到在順序塊中,串行塊的執(zhí)行順序是很重要的,對(duì)于一個(gè)順序塊的節(jié)點(diǎn),還需要檢查它的子節(jié)點(diǎn)的順序是不是一樣,需要定義移動(dòng)操作,Parent. Move(to be moved block, before, after)這里假設(shè)移動(dòng)操作只能在同一個(gè)父節(jié)點(diǎn)下進(jìn)行。在Chen Li等已經(jīng)找出了如何尋找最少的move動(dòng)作的方法[4],在這使用他們提出的方法來(lái)完成move操作的查找。

有時(shí)并行的功能模塊可能都變成并行的,類似的修改,需要改變節(jié)點(diǎn)的類型,于是定義操作:Self.changetype (block type).

最后對(duì)于選擇塊和循環(huán)塊,有時(shí)選擇分支的條件需要改變,故還需要定義操作:Parent.setCondition(child name, condition),表示在parent塊下到child分支的條件變?yōu)閏ondition。

五、差別的定義和證明

定義兩個(gè)流程的差別為他們修改路徑中的有效操作步數(shù)。修改路徑中update操作并無(wú)實(shí)際的進(jìn)行,在計(jì)算距離的時(shí)不計(jì)入。由于修改路徑也是一個(gè)樹,且節(jié)點(diǎn)與服務(wù)流程的結(jié)構(gòu)樹有相同的層次,因此可在不同的顆粒度上對(duì)兩個(gè)服務(wù)流程進(jìn)行比較。當(dāng)從較高層次比較時(shí),忽略底層的改動(dòng),這樣他們的差別就比較小,如果更深層次的比較,就可能得到更細(xì)微的差別。

對(duì)于兩個(gè)相同的流程,無(wú)論深度是多少,他們的差別應(yīng)該是0,也就是D(P, P, n)=0。通過上面的查找步驟,對(duì)于兩顆相同的樹來(lái)說(shuō),他們所有節(jié)點(diǎn)都是匹配的,而且相似度都是1,所以在查找的時(shí)候不需要對(duì)任何一個(gè)節(jié)點(diǎn)采取任何操作。這樣得到的最短路徑的操作步數(shù)是0(無(wú)論比較深度是多少),也就是說(shuō)D(P, P, n)=0成立。

距離的交換性;也就是說(shuō)D(P1, P2, n)=D(P2, P1, n)。插入和刪除是互為你動(dòng)作的,從P1到P2進(jìn)行插入一個(gè)塊的操作(可插入多個(gè)子塊),從P2到P1就執(zhí)行刪除相應(yīng)塊的操作;而如果在P1到P2執(zhí)行了move,那么在P2到P1時(shí)順序也是不同,這時(shí)執(zhí)行相反的move操作,move步數(shù)是相同的;如果在P1到P2執(zhí)行改變類型或者設(shè)置條件的操作,那么在P2到P1的時(shí)就要把類型或條件改變回來(lái),也執(zhí)行相反的操作,故在從P1到P2、和P2到P1的過程中,所需要執(zhí)行的操作步數(shù)是相同的,因此D(P1, P2, n)=D(P2, P1, n)成立。

D(P1, P2, n)+D(P2, P3, n) ≥ D(P1, P3, n);在上面的算法中得到的修改操作樹中,每一個(gè)動(dòng)作的執(zhí)行都會(huì)產(chǎn)生一顆新的樹,這些樹是在從P1到P3的過程中必須的。在不等式中,如果P2是P1到P3變換的時(shí)候產(chǎn)生的這些中間樹種的一顆,那么D(P1, P2, n)+D(P2, P3, n)=D(P1, P3, n),這是顯而易見的。如果P2不是P1到P3的過程中產(chǎn)生的任何一顆中間樹,那么P2必然含有這樣的節(jié)點(diǎn)p,在變化的過程中,從P1到P2的時(shí)候需要插入這個(gè)節(jié)點(diǎn),然后在P2到P3的時(shí)候需要?jiǎng)h除這個(gè)節(jié)點(diǎn),顯然是大于直接從P1到P3的變化的,故上面的不等式成立。

六、應(yīng)用與前景

本文提供的算法可實(shí)現(xiàn)服務(wù)流程管理和檢索。

任意兩個(gè)服務(wù)流程進(jìn)行0深度的比較,是無(wú)差別的,所有的服務(wù)流程都可被歸結(jié)成一類,再進(jìn)行更深層次的比較,不同的服務(wù)流程將漸漸被發(fā)現(xiàn),將在某一個(gè)深度比較沒有區(qū)別的服務(wù)流程歸為一類,這樣越往深層次比較,將會(huì)發(fā)現(xiàn)越來(lái)越多的子樹,當(dāng)把數(shù)據(jù)庫(kù)中的所有服務(wù)流程進(jìn)行了不同層次的分類后,所有流程便構(gòu)成一顆樹,這顆樹只有一個(gè)根節(jié)點(diǎn)(服務(wù)流程),每一個(gè)非葉子節(jié)點(diǎn)的子節(jié)點(diǎn)間都因在這個(gè)深度所表現(xiàn)出來(lái)的不同而被分到兩個(gè)類別中去,根據(jù)每一類別下流程的共同點(diǎn),可為此節(jié)點(diǎn)進(jìn)行標(biāo)注,數(shù)據(jù)庫(kù)中的服務(wù)流程就更加有條理得被管理起來(lái)。

基于服務(wù)流程分類,服務(wù)流程的檢索將會(huì)變得更加迅速和精確,根據(jù)用戶的需求,可迅速的定位到某一類流程,再把這一類流程返回給用戶。在整個(gè)檢索過程中僅僅只需進(jìn)行一次樹的查找,提高了用戶體驗(yàn)。

在一個(gè)新的服務(wù)流程被創(chuàng)建并加入到分類樹中的時(shí),系統(tǒng)可提供被添加的服務(wù)流程通過與他相似的流程修改得到的修改路徑,這樣可清晰的看見用戶對(duì)服務(wù)流程需求的變化,以了解市場(chǎng)和需求的動(dòng)態(tài)。

參考文獻(xiàn):

[1]. Jussi Vanhatalo, Hagen Volzer and Jana Koehler. The Refined Process Structure Tree.

[2]. Jochen M. Küster, et al., et al. Detecting and Resolving Process Model Differences in the absence of a change log.

[3]. Boudewijn van Dongen, Remco Dijkman and Jan Mendling. Measuring Similarity between Business Process Models.

[4]. Chen Li, Manfred Reichert and Andreas Wombacher. On Measuring Process Model Similarity based on High-level Change Operations. 2008.

[5]. W.M.P. van der Aalst, A.K. Alves de Medeiros and A.J.M.M. Weijters. Process Equivalence: Comparing Two Process. 2008

主站蜘蛛池模板: 亚洲Av激情网五月天| 久久综合婷婷| 亚洲aaa视频| 天堂网国产| 日韩欧美国产成人| 久久青草免费91观看| 国产综合色在线视频播放线视| 操国产美女| 久久久黄色片| 99人体免费视频| 国产精品浪潮Av| 久久久噜噜噜| 无码电影在线观看| 欧美综合成人| 国产97视频在线| 久久黄色免费电影| 色天堂无毒不卡| 日韩精品中文字幕一区三区| 国内精品手机在线观看视频| 亚洲91在线精品| 无码高潮喷水在线观看| 精品国产电影久久九九| 国产亚洲精| 欧美日韩精品一区二区在线线| 久久女人网| 亚洲一区第一页| 亚洲中文字幕精品| 成人一级免费视频| 97综合久久| 国产精鲁鲁网在线视频| 丁香婷婷在线视频| 久久国产精品夜色| 爆操波多野结衣| 91探花在线观看国产最新| 国产黄网永久免费| 91在线国内在线播放老师| 色男人的天堂久久综合| a毛片在线播放| 中文字幕亚洲另类天堂| 综合社区亚洲熟妇p| 日韩美毛片| 亚洲精品第一页不卡| 国产69精品久久久久妇女| 国产自在线拍| 国产亚洲精品在天天在线麻豆| 国产av一码二码三码无码| 99视频精品全国免费品| 97成人在线视频| 高清视频一区| 国产美女丝袜高潮| 国产熟睡乱子伦视频网站| 国产尤物jk自慰制服喷水| 国产亚洲精品无码专| 欧美一级爱操视频| 欧美在线视频不卡第一页| 国产精品美女网站| 欧美不卡视频一区发布| 熟女视频91| 超碰aⅴ人人做人人爽欧美| 一级不卡毛片| 54pao国产成人免费视频| 国产成人艳妇AA视频在线| 亚洲天堂成人在线观看| 国产国模一区二区三区四区| 国产伦片中文免费观看| 手机永久AV在线播放| 亚洲国产成人无码AV在线影院L| 欧美成人综合视频| 天堂网国产| 日本不卡在线视频| 欧美成人午夜在线全部免费| 2020久久国产综合精品swag| 日韩国产黄色网站| 茄子视频毛片免费观看| 国产尹人香蕉综合在线电影| 一区二区三区四区在线| 久久午夜影院| 色九九视频| 免费高清毛片| 久久久精品久久久久三级| 真实国产乱子伦视频| 日韩毛片在线视频|