欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向分布式工作流的數(shù)據(jù)流調(diào)度方法和系統(tǒng)的制作方法

文檔序號(hào):6431940閱讀:169來源:國(guó)知局
專利名稱:一種面向分布式工作流的數(shù)據(jù)流調(diào)度方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于信息處理領(lǐng)域,更具體地,涉及業(yè)務(wù)流程管理領(lǐng)域。
背景技術(shù)
業(yè)務(wù)協(xié)作是驅(qū)動(dòng)企業(yè)業(yè)務(wù)增長(zhǎng)的重要力量。來自于不同企業(yè)的資源、觀點(diǎn)以及其他互補(bǔ)力量的聚合,將會(huì)創(chuàng)造出強(qiáng)有力的聯(lián)盟來應(yīng)對(duì)日益激烈的市場(chǎng)競(jìng)爭(zhēng)。企業(yè)應(yīng)用集成是解決業(yè)務(wù)協(xié)作中信息交互和共享問題的方法和技術(shù)。目前,隨著我國(guó)企業(yè)信息化程度的不斷提高,幾乎每個(gè)企業(yè)中都迫切需要一個(gè)集成框架來解決企業(yè)內(nèi)部不同系統(tǒng)之間的交互問題。該集成框架作為一個(gè)開放的框架,使現(xiàn)有的系統(tǒng)根據(jù)企業(yè)業(yè)務(wù)的需要實(shí)現(xiàn)集成,并且能快速地添加新的系統(tǒng),使企業(yè)既可以保護(hù)已有的投資又可以根據(jù)市場(chǎng)和業(yè)務(wù)的需求重新整合原有的系統(tǒng)產(chǎn)生新的競(jìng)爭(zhēng)力。隨著過程代理技術(shù)的提出,業(yè)務(wù)流程管理成了企業(yè)應(yīng)用集成的核心內(nèi)容。隨著Web服務(wù)的出現(xiàn),面向服務(wù)的架構(gòu)給業(yè)務(wù)流程管理帶來了新的發(fā)展。在這種架構(gòu)下,業(yè)務(wù)流程只需要通過組合服務(wù)來實(shí)現(xiàn),由此帶來的松散耦合非常適合動(dòng)態(tài)、多變的市場(chǎng)需求和日益激烈的市場(chǎng)競(jìng)爭(zhēng),大大增強(qiáng)了企業(yè)的競(jìng)爭(zhēng)力。企業(yè)中經(jīng)常存在地理分布的異構(gòu)型計(jì)算資源通過復(fù)雜的交互才能完成的業(yè)務(wù)流程,例如供應(yīng)鏈管理,在線購(gòu)物,城市應(yīng)急等。當(dāng)前的集中式工作流引擎不適合處理上述業(yè)務(wù)流程。分布式的工作流系統(tǒng)使用戶能夠透明地應(yīng)用由不同機(jī)型、不同運(yùn)行平臺(tái)組成的異構(gòu)型計(jì)算資源,借助信息共享的分布式技術(shù)完成一個(gè)業(yè)務(wù)流程。這種分布式的執(zhí)行架構(gòu),分布式工作流系統(tǒng)天然地適合多個(gè)組織參與的大規(guī)模流程的環(huán)境。基于事件的分布式引擎是分布式工作流系統(tǒng)的一個(gè)代表,例如瑞士的蘇黎世大學(xué)的事件驅(qū)動(dòng)的分布式工作流執(zhí)行引擎EVE(EVent Engine);在面向服務(wù)的架構(gòu)下,加拿大的多倫多大學(xué)的面向服務(wù)架構(gòu)的分布式的業(yè)務(wù)流程執(zhí)行引擎是一個(gè)典型工作。在工作流中,存在控制流和數(shù)據(jù)流兩種流程。其中,控制流是指控制業(yè)務(wù)活動(dòng)執(zhí)行順序的邏輯,數(shù)據(jù)流為業(yè)務(wù)活動(dòng)的執(zhí)行提供數(shù)據(jù),它是隨著業(yè)務(wù)過程的推進(jìn)產(chǎn)生的。數(shù)據(jù)流的調(diào)度是指對(duì)數(shù)據(jù)交互的協(xié)調(diào)和控制,把正確的數(shù)據(jù)有效地傳遞給正確的業(yè)務(wù)活動(dòng)?,F(xiàn)有的分布式工作流引擎往往只重視控制流的調(diào)度,而忽視數(shù)據(jù)流的調(diào)度,使得它們?cè)谔幚淼乩矸植嫉臉I(yè)務(wù)流程中的數(shù)據(jù)流時(shí)存在數(shù)據(jù)流轉(zhuǎn)時(shí)間長(zhǎng)的缺點(diǎn)。每次運(yùn)行業(yè)務(wù)流程實(shí)例時(shí), 地理分布的業(yè)務(wù)流程之間都需要通過互聯(lián)網(wǎng)在數(shù)據(jù)集存放庫(kù)之間進(jìn)行數(shù)據(jù)流轉(zhuǎn),特別在多個(gè)業(yè)務(wù)流程實(shí)例同時(shí)運(yùn)行的情況下,每個(gè)業(yè)務(wù)流程實(shí)例都需要重復(fù)地進(jìn)行數(shù)據(jù)流轉(zhuǎn),導(dǎo)致工作流引擎需要很長(zhǎng)的數(shù)據(jù)流轉(zhuǎn)時(shí)間。

發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有地理分布的業(yè)務(wù)流程在協(xié)作時(shí),通過互聯(lián)網(wǎng)進(jìn)行數(shù)據(jù)流轉(zhuǎn)存在的時(shí)間長(zhǎng)、效率低的缺陷,從而提供一種面向分布式工作流的數(shù)據(jù)流調(diào)度方法和系統(tǒng)。
根據(jù)本發(fā)明一個(gè)方面,提供了一種面向分布式工作流的數(shù)據(jù)流的調(diào)度方法,包括10)對(duì)于運(yùn)行時(shí)新產(chǎn)生數(shù)據(jù)是可移動(dòng)數(shù)據(jù)的情況,確定新產(chǎn)生數(shù)據(jù)和現(xiàn)有數(shù)據(jù)集的協(xié)作關(guān)系的緊密程度;20)根據(jù)新產(chǎn)生數(shù)據(jù)和現(xiàn)有數(shù)據(jù)集的協(xié)作關(guān)系的緊密程度,確定新產(chǎn)生數(shù)據(jù)和任一數(shù)據(jù)集存放庫(kù)的協(xié)作關(guān)系的緊密程度;30)將新產(chǎn)生數(shù)據(jù)存儲(chǔ)在與之關(guān)系最緊密的數(shù)據(jù)集存放庫(kù)中。2.根據(jù)權(quán)利要求1所述的調(diào)度方法,其特征在于,還包括40)計(jì)算活動(dòng)到節(jié)點(diǎn)的預(yù)測(cè)數(shù)據(jù)流轉(zhuǎn)時(shí)間,將活動(dòng)調(diào)度到預(yù)測(cè)數(shù)據(jù)流轉(zhuǎn)時(shí)間最短的節(jié)點(diǎn)。優(yōu)選地,上述方法在所述步驟10)前還包括00)在運(yùn)行前,對(duì)數(shù)據(jù)流進(jìn)行初始調(diào)度。根據(jù)本發(fā)明另一方面,還提供了一種面向分布式工作流的數(shù)據(jù)流的調(diào)度系統(tǒng),包括新數(shù)據(jù)和數(shù)據(jù)集協(xié)作關(guān)系確定模塊,用于對(duì)于運(yùn)行時(shí)新產(chǎn)生數(shù)據(jù)是可移動(dòng)數(shù)據(jù)的情況,確定新產(chǎn)生數(shù)據(jù)和現(xiàn)有數(shù)據(jù)集的協(xié)作關(guān)系的緊密程度;新數(shù)據(jù)和數(shù)據(jù)集存放庫(kù)協(xié)作關(guān)系確定模塊,用于根據(jù)新產(chǎn)生數(shù)據(jù)和現(xiàn)有數(shù)據(jù)集的協(xié)作關(guān)系的緊密程度,確定新產(chǎn)生數(shù)據(jù)和任一數(shù)據(jù)集存放庫(kù)的協(xié)作關(guān)系的緊密程度;存儲(chǔ)模塊,用于將新產(chǎn)生數(shù)據(jù)存儲(chǔ)在與之關(guān)系最緊密的數(shù)據(jù)集存放庫(kù)中。優(yōu)選地,上述系統(tǒng)還包括活動(dòng)調(diào)度模塊,用于計(jì)算活動(dòng)到節(jié)點(diǎn)的預(yù)測(cè)數(shù)據(jù)流轉(zhuǎn)時(shí)間,將活動(dòng)調(diào)度到預(yù)測(cè)數(shù)據(jù)流轉(zhuǎn)時(shí)間最短的節(jié)點(diǎn)。優(yōu)選地,上述系統(tǒng)還包括初始調(diào)度模塊,用于在運(yùn)行前,對(duì)數(shù)據(jù)流進(jìn)行初始調(diào)度。本發(fā)明上述方法和系統(tǒng)的優(yōu)點(diǎn)在于不僅可以有效減少地理分布的業(yè)務(wù)流程之間數(shù)據(jù)流轉(zhuǎn)的時(shí)間,還可以減少由于網(wǎng)絡(luò)中斷導(dǎo)致工作流引擎無法運(yùn)行的次數(shù)。


圖1為根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)流初始調(diào)度的流程圖;圖2為根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)和活動(dòng)依賴關(guān)系的示意圖;圖3為根據(jù)圖1所示的數(shù)據(jù)和活動(dòng)依賴關(guān)系的數(shù)據(jù)之間協(xié)作關(guān)系的示意圖;圖如和圖4b分別為根據(jù)本發(fā)明一個(gè)實(shí)施例的轉(zhuǎn)換前后的數(shù)據(jù)協(xié)作關(guān)系矩陣的示意圖;圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的待分塊矩陣的示意圖;圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的分塊后矩陣示意圖;圖7為根據(jù)圖6的分塊后矩陣確定的數(shù)據(jù)集和數(shù)據(jù)集存放庫(kù)的存放關(guān)系示意圖;圖8為根據(jù)本發(fā)明一個(gè)實(shí)施例的工作流管理流程圖;圖9為根據(jù)本發(fā)明一個(gè)實(shí)施例的運(yùn)行時(shí)數(shù)據(jù)調(diào)度示意圖;圖10為根據(jù)本發(fā)明一個(gè)實(shí)施例的運(yùn)行時(shí)活動(dòng)調(diào)度示意圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖,對(duì)根據(jù)本發(fā)明一個(gè)實(shí)施例的一種面向分布式工作流的數(shù)據(jù)流調(diào)度方法和系統(tǒng)進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。在本發(fā)明中,通過對(duì)分布式流程中的數(shù)據(jù)進(jìn)行關(guān)聯(lián)分析,根據(jù)分析的結(jié)果對(duì)數(shù)據(jù)進(jìn)行調(diào)度,從而減少活動(dòng)調(diào)度到節(jié)點(diǎn)后等待數(shù)據(jù)的流轉(zhuǎn)時(shí)間。在對(duì)本發(fā)明的具體實(shí)施例進(jìn)行詳細(xì)說明之前,首先對(duì)本發(fā)明中所涉及的相關(guān)概念進(jìn)行統(tǒng)一說明,以方便理解。業(yè)務(wù)流程共同完成一個(gè)業(yè)務(wù)目標(biāo)或者政策目標(biāo)的一組關(guān)聯(lián)的程序或者活動(dòng)的集
I=I O活動(dòng)業(yè)務(wù)流程中的執(zhí)行單元,其可以是數(shù)據(jù)庫(kù)事務(wù)或者任何訪問數(shù)據(jù)的操作。 在本發(fā)明中,所述的活動(dòng)可以包括人工活動(dòng)和自動(dòng)執(zhí)行的活動(dòng),自動(dòng)執(zhí)行的活動(dòng)可以包括 Java類和Web服務(wù)業(yè)務(wù)流程實(shí)例一個(gè)流程及其關(guān)聯(lián)數(shù)據(jù)的一次配置的表示。每個(gè)實(shí)例表示流程的一次獨(dú)立的執(zhí)行,它可以被獨(dú)立控制,有自己內(nèi)部的狀態(tài)和外部可視化的實(shí)體。其中,這些實(shí)體可以被看作句柄。例如,記錄和查找與每個(gè)流程實(shí)例相關(guān)的審計(jì)數(shù)據(jù)。狀態(tài)轉(zhuǎn)移工作流從一個(gè)流程狀態(tài)到另一個(gè)流程狀態(tài)的一次轉(zhuǎn)移,反應(yīng)工作流狀態(tài)的變化。例如,初始化一個(gè)特定的活動(dòng)。數(shù)據(jù)業(yè)務(wù)流程中活動(dòng)執(zhí)行依賴的數(shù)據(jù),主要是相關(guān)數(shù)據(jù)和文件。這些在工作流管理系統(tǒng)中使用的相關(guān)數(shù)據(jù)用來判斷一個(gè)工作流實(shí)例的狀態(tài)轉(zhuǎn)移。例如,前置和后置條件,轉(zhuǎn)移條件或者工作流參與者任務(wù)。數(shù)據(jù)和活動(dòng)依賴關(guān)系活動(dòng)完成業(yè)務(wù)流程狀態(tài)轉(zhuǎn)移所需要的數(shù)據(jù)。數(shù)據(jù)之間的協(xié)作關(guān)系參與活動(dòng)執(zhí)行,實(shí)現(xiàn)從業(yè)務(wù)流程的一個(gè)狀態(tài)變遷到另一個(gè)狀態(tài)的數(shù)據(jù)之間建立的關(guān)系。數(shù)據(jù)集一組具有協(xié)作關(guān)系的數(shù)據(jù)的集合。數(shù)據(jù)集存放庫(kù)存放數(shù)據(jù)集的數(shù)據(jù)庫(kù),當(dāng)然,也可以使用文件存放數(shù)據(jù)集,則該文件也稱為數(shù)據(jù)集存放庫(kù)。節(jié)點(diǎn)分布在不同地理位置共同執(zhí)行一個(gè)業(yè)務(wù)流程實(shí)例的機(jī)器,每個(gè)機(jī)器都有一個(gè)數(shù)據(jù)集存放庫(kù)。數(shù)據(jù)和數(shù)據(jù)集存放庫(kù)之間的存放關(guān)系數(shù)據(jù)和存放該數(shù)據(jù)的數(shù)據(jù)集存放庫(kù)之間建立的關(guān)系。關(guān)聯(lián)分析對(duì)上述所有關(guān)系進(jìn)行計(jì)算的過程統(tǒng)稱為關(guān)聯(lián)分析。以上是對(duì)本發(fā)明中所涉及的一些常用概念的說明,下面在這些概念的基礎(chǔ)上結(jié)合附圖對(duì)工作流管理過程進(jìn)行說明。工作流引擎要完成數(shù)據(jù)調(diào)度,實(shí)際上是要將相互間具有協(xié)作關(guān)系的數(shù)據(jù)按照協(xié)作關(guān)系的緊密程度放在一起,以形成數(shù)據(jù)集。業(yè)務(wù)流程在運(yùn)行過程中,會(huì)產(chǎn)生一些數(shù)據(jù),考察這些數(shù)據(jù)的類型,可以分為二個(gè)類型,一類是可移動(dòng)數(shù)據(jù),一類是不可移動(dòng)數(shù)據(jù),其中后者包括必須用專門設(shè)備處理的數(shù)據(jù),太大而無法有效移動(dòng)的數(shù)據(jù),隱私保護(hù)的數(shù)據(jù)。上述兩種類型的數(shù)據(jù)處理過程有很大的差異,因此在下文中將分別加以說明。
遵循“數(shù)據(jù)流轉(zhuǎn)的代價(jià)遠(yuǎn)遠(yuǎn)大于調(diào)度活動(dòng)的代價(jià)”基本原理,初始化數(shù)據(jù)調(diào)度主要是把活動(dòng)依賴的數(shù)據(jù)調(diào)度到與它協(xié)作關(guān)系程度最高的數(shù)據(jù)集中,以便將活動(dòng)調(diào)度到存放該數(shù)據(jù)集的數(shù)據(jù)集存放庫(kù)中,從而減少數(shù)據(jù)流轉(zhuǎn)時(shí)間。業(yè)務(wù)流程包含很多活動(dòng)和數(shù)據(jù),它們構(gòu)成了復(fù)雜的多對(duì)多的關(guān)系,一個(gè)活動(dòng)或者需要多個(gè)數(shù)據(jù),一個(gè)數(shù)據(jù)或者被多個(gè)活動(dòng)使用,不僅如此,在業(yè)務(wù)流程運(yùn)行時(shí),新的數(shù)據(jù)可能產(chǎn)生,活動(dòng)產(chǎn)生的數(shù)據(jù)可能被隨后的活動(dòng)或者其他業(yè)務(wù)流程的活動(dòng)所使用,因此初始化數(shù)據(jù)調(diào)度應(yīng)該建立在這些活動(dòng)和數(shù)據(jù)之間依賴關(guān)系基礎(chǔ)上。下面將根據(jù)圖1詳細(xì)描述數(shù)據(jù)流調(diào)度的過程。a、數(shù)據(jù)和活動(dòng)依賴關(guān)系的津立圖2為數(shù)據(jù)和活動(dòng)依賴關(guān)系的示意圖,如圖2所示,對(duì)于活動(dòng)Al,它在數(shù)據(jù)上依賴 dl和d2。用符號(hào)D表示數(shù)據(jù)集合,用符號(hào)A表示活動(dòng)集合。為了表示活動(dòng)和數(shù)據(jù)之間的依賴關(guān)系,對(duì)每個(gè)數(shù)據(jù)di e D,定義一個(gè)活動(dòng)集合和數(shù)據(jù)大小<SAi,si>,稱為數(shù)據(jù)和活動(dòng)依賴關(guān)系。其中,SAiQA,表示依賴數(shù)據(jù)di的活動(dòng)的集合,并且任意活動(dòng)每使用數(shù)據(jù)di —次則該集合中包括一個(gè)該活動(dòng),例如,活動(dòng)Al使用數(shù)據(jù)d2兩次,則SA2中包括兩個(gè)等于Al的元素;si表示di的大小?;跀?shù)據(jù)和活動(dòng)依賴關(guān)系,可以計(jì)算出數(shù)據(jù)之間協(xié)作關(guān)系的緊密程度。如圖2所示,假設(shè)本文中用到的數(shù)據(jù)大小都是1Mbyte,則dl = < {Al},1Mbyte〉,d2 = <{A1},1Mbyte〉。b、數(shù)據(jù)之間協(xié)作關(guān)系的津立在業(yè)務(wù)協(xié)作過程中,很多業(yè)務(wù)流程實(shí)例同時(shí)運(yùn)行,它們中每一個(gè)都有復(fù)雜的結(jié)構(gòu), 其中的活動(dòng)將會(huì)使用大量數(shù)據(jù)并且產(chǎn)生大量的數(shù)據(jù)。為了執(zhí)行活動(dòng),所有需要的數(shù)據(jù)必須調(diào)度到一起,這需要花費(fèi)大量的數(shù)據(jù)流轉(zhuǎn)時(shí)間。如果兩個(gè)數(shù)據(jù)經(jīng)常被同一個(gè)活動(dòng)所使用, 那么為了減少數(shù)據(jù)流轉(zhuǎn)的次數(shù),在初始化時(shí),它們應(yīng)該被調(diào)度到一起,把這樣的數(shù)據(jù)之間的關(guān)系稱為數(shù)據(jù)之間的協(xié)作關(guān)系。換句話說,兩個(gè)數(shù)據(jù)被認(rèn)為有協(xié)作關(guān)系當(dāng)且僅當(dāng)它們被相同活動(dòng)所使用。同時(shí),使用這兩個(gè)數(shù)據(jù)的活動(dòng)越多,這些數(shù)據(jù)之間的協(xié)作關(guān)系越緊密。使用符號(hào)Cij表示數(shù)據(jù)di和數(shù)據(jù)dj之間的協(xié)作關(guān)系的緊密程度。如果存在依賴數(shù)據(jù)di 和dj 二者的活動(dòng),那么認(rèn)為數(shù)據(jù)di和數(shù)據(jù)dj存在協(xié)作關(guān)系。根據(jù)本發(fā)明一個(gè)實(shí)施例, 將di和dj協(xié)作關(guān)系的緊密程度Cij表示為使用di和dj 二者的活動(dòng)個(gè)數(shù),表示為Cij = Count (SAi Π SAj)。圖3示出了根據(jù)圖1所示的數(shù)據(jù)和活動(dòng)依賴關(guān)系的數(shù)據(jù)之間協(xié)作關(guān)系, 活動(dòng)Al同時(shí)使用數(shù)據(jù)dl和數(shù)據(jù)d2,那么C12 = 1。根據(jù)所有數(shù)據(jù)之間的協(xié)作關(guān)系,生成數(shù)據(jù)之間的協(xié)作關(guān)系矩陣,其中矩陣中的每個(gè)元素Cij表示對(duì)應(yīng)數(shù)據(jù)di和dj協(xié)作關(guān)系,即使用di和dj 二者的活動(dòng)個(gè)數(shù)。然后,對(duì)協(xié)作關(guān)系矩陣進(jìn)行轉(zhuǎn)換,進(jìn)一步而言,進(jìn)行協(xié)作關(guān)系矩陣的行列轉(zhuǎn)換以使相近的行和列之間相互關(guān)系較高,來最終獲得到具有全局最優(yōu)協(xié)作關(guān)系的數(shù)據(jù)分布。具體地,對(duì)協(xié)作關(guān)系矩陣進(jìn)行轉(zhuǎn)換包括如下步驟步驟1 首先從原始協(xié)作關(guān)系矩陣中任意選兩個(gè)行向量Mi和Mj,放置到一個(gè)與原始協(xié)作關(guān)系矩陣具有相同行列的新矩陣的前兩行。步驟2 從原始協(xié)作關(guān)系矩陣剩余的行向量中任意選取一個(gè)行向量Mk,依次插入新矩陣中現(xiàn)有t個(gè)行向量的兩側(cè)相鄰位子,共有t+Ι個(gè)位子,根據(jù)相鄰的三個(gè)行向量的位置關(guān)系利用公式計(jì)算相關(guān)系數(shù)cont。以Mk插在Mi和Mj之間為例,則利用如下公式1計(jì)算相關(guān)系數(shù)cont cont (Mi,Mk,Mj) = 2C (Mi,Mk) +2C (Mk,Mj) -2C (Mi,Mj)1其中C(Mi,Mj)為向量Mi和Mj的點(diǎn)積,C(Mi, Mk)和C(Mk,Mj)與之類似。步驟3 選擇cont值最高的t+Ι個(gè)向量的組合,并按照該組合中向量的順序重新將上述t+Ι個(gè)向量放到新矩陣的前t+Ι行。步驟4 重復(fù)上述步驟2和3,直到t+Ι等于矩陣的行數(shù)。步驟5 根據(jù)原始協(xié)作關(guān)系矩陣的上述行轉(zhuǎn)換進(jìn)行相應(yīng)列轉(zhuǎn)換,生成轉(zhuǎn)換后矩陣。根據(jù)上述優(yōu)選實(shí)施例,C(Mi,Mj)為向量Mi和Mj的點(diǎn)積,當(dāng)然,也可以采用其他表征向量Mi和Mj之間關(guān)系的參數(shù)。例如
ηC(Mi,Mj)=ZC//x cJl ,其中,η是協(xié)作關(guān)系矩陣的行數(shù),Cil和Cjl分別為向
‘Z=I
量Mi和Mj的第1個(gè)元素。C(Mi, Mk)和C(Mk,Mj)與之類似。圖如和圖4b分別示出了根據(jù)本發(fā)明一個(gè)實(shí)施例進(jìn)行數(shù)據(jù)協(xié)作關(guān)系矩陣轉(zhuǎn)換前后的協(xié)作關(guān)系矩陣。完成上述對(duì)數(shù)據(jù)協(xié)作關(guān)系矩陣的轉(zhuǎn)換后,對(duì)轉(zhuǎn)換后矩陣進(jìn)行分塊,使共同被任意活動(dòng)使用的數(shù)據(jù)共存于一個(gè)子塊,其中該活動(dòng)可以是1個(gè)或多個(gè)。圖5示出了根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的轉(zhuǎn)換后矩陣,其中在該矩陣的對(duì)角線上找到一個(gè)點(diǎn)X用于分塊,該X滿足CLX⑶-CI2最大。其中,以點(diǎn)X為交點(diǎn)做一橫線和縱線, 將矩陣分為左上、左下、右上和右下四部分。CL表示只使用分塊后矩陣的左上部分對(duì)應(yīng)數(shù)據(jù)的活動(dòng)使用左上部分對(duì)應(yīng)數(shù)據(jù)的次數(shù),對(duì)于圖5中所示轉(zhuǎn)換后矩陣,即SAl和SA3中只使用 dl和d3中的一個(gè)或二者的活動(dòng)個(gè)數(shù)。具體地,包括只使用dl的活動(dòng)、只使用d3的活動(dòng)和只使用dl和d3的活動(dòng)的總個(gè)數(shù)。類似地,CU表示只使用分塊后矩陣的右下部分對(duì)應(yīng)數(shù)據(jù)的活動(dòng)使用右下部分對(duì)應(yīng)數(shù)據(jù)的次數(shù),對(duì)于圖5中所示轉(zhuǎn)換后矩陣,即SA2、SA4和SA5中只使用d2、d4和d5中一個(gè)或多個(gè)數(shù)據(jù)的活動(dòng)的個(gè)數(shù)。CI表示即使用分塊矩陣的左上部分?jǐn)?shù)據(jù)同時(shí)又使用右下部分?jǐn)?shù)據(jù)的活動(dòng)同時(shí)使用左上部分?jǐn)?shù)據(jù)和右下部分?jǐn)?shù)據(jù)的次數(shù)加即使用分塊矩陣的右上部分?jǐn)?shù)據(jù)同時(shí)又使用左下部分?jǐn)?shù)據(jù)的活動(dòng)同時(shí)使用右上部分?jǐn)?shù)據(jù)和左下部分?jǐn)?shù)據(jù)的次數(shù)。具體地,分塊過程包括如下步驟步驟1 確定分塊數(shù)。步驟2 在當(dāng)前協(xié)作關(guān)系矩陣下,選擇使得CLX⑶-CI2最大的χ點(diǎn),并且把該點(diǎn)下 CLX⑶-CI2的值設(shè)置為閾值。循環(huán)執(zhí)行η-1次步驟3到步驟5,η是協(xié)作關(guān)系矩陣的行數(shù)。步驟3 把協(xié)作關(guān)系矩陣的最左邊的列移動(dòng)到最右邊,同時(shí)最上邊的行移動(dòng)到最下邊。步驟4 在當(dāng)前協(xié)作關(guān)系矩陣下,選擇使CLX⑶-CI2最大的χ點(diǎn)。步驟5 如果χ點(diǎn)對(duì)應(yīng)的CLX⑶-CI2大于當(dāng)前設(shè)置的閾值,則就將該點(diǎn)下 CLX⑶-CI2的值設(shè)置為閾值。步驟6 根據(jù)當(dāng)前閾值對(duì)應(yīng)的χ點(diǎn)把協(xié)作關(guān)系矩陣分為左上和右下兩個(gè)子塊。步驟7 對(duì)每個(gè)子塊依次重復(fù)步驟2到步驟6,直到滿足劃分塊等于用戶指定的分塊數(shù)目。本領(lǐng)域普通技術(shù)人員可以理解,上面提供了一種根據(jù)本發(fā)明優(yōu)選實(shí)施例的分塊方 式,但是還可以有其他分塊方法,只要盡可能使共同被任意活動(dòng)使用的數(shù)據(jù)共存于ー個(gè)子 塊中即可,例如,可以根據(jù)活動(dòng)與數(shù)據(jù)的依賴關(guān)系來人工分塊。另外,在上面的優(yōu)選實(shí)施例 中,通過接收用戶設(shè)置的分塊數(shù)來設(shè)定分塊操作的邊界條件,當(dāng)然也可以采用其他邊界條 件,例如可以通過對(duì)CLX⑶-CI2設(shè)置閾值來控制分塊操作的結(jié)束。圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的分塊后矩陣,其中的方框表示生成的子塊, 每個(gè)子塊對(duì)應(yīng)的數(shù)據(jù)組成一個(gè)數(shù)據(jù)集。具體地,數(shù)據(jù)dl和數(shù)據(jù)d3組成一個(gè)數(shù)據(jù)集,數(shù)據(jù) d2和數(shù)據(jù)d4組成一個(gè)數(shù)據(jù)集,數(shù)據(jù)d5組成一個(gè)數(shù)據(jù)集。這里用P表示數(shù)據(jù)集,例如Pl = {dl, d3}。c.數(shù)據(jù)集和數(shù)據(jù)集存放庫(kù)的存放關(guān)系的建立用符號(hào)R表示數(shù)據(jù)集存放庫(kù)集合,其中數(shù)據(jù)集存放庫(kù)Ri G R,且假設(shè)數(shù)據(jù)集存放庫(kù) 的容量足夠大。用符號(hào)B表示帶寬,Bij表示數(shù)據(jù)集存放庫(kù)Ri和數(shù)據(jù)集存放庫(kù)Rj之間的 帝寬。如果數(shù)據(jù)集Pk中包含不可移動(dòng)數(shù)據(jù)di,那么把數(shù)據(jù)集Pk調(diào)度到數(shù)據(jù)di所在節(jié)點(diǎn) 的數(shù)據(jù)集存放庫(kù)中。如果數(shù)據(jù)集Pk只包含可移動(dòng)數(shù)據(jù),那么根據(jù)公式2計(jì)算數(shù)據(jù)集Pk調(diào)度到哪個(gè)節(jié)點(diǎn) 可以使得預(yù)測(cè)數(shù)據(jù)流轉(zhuǎn)時(shí)間T最少,其中預(yù)測(cè)數(shù)據(jù)流轉(zhuǎn)時(shí)間T是指將數(shù)據(jù)集Pk中所有數(shù)據(jù) 調(diào)度到該節(jié)點(diǎn)所需要的數(shù)據(jù)流轉(zhuǎn)時(shí)間總和。
權(quán)利要求
1.一種面向分布式工作流的數(shù)據(jù)流的調(diào)度方法,包括10)對(duì)于運(yùn)行時(shí)新產(chǎn)生數(shù)據(jù)是可移動(dòng)數(shù)據(jù)的情況,確定新產(chǎn)生數(shù)據(jù)和現(xiàn)有數(shù)據(jù)集的協(xié)作關(guān)系的緊密程度;20)根據(jù)新產(chǎn)生數(shù)據(jù)和現(xiàn)有數(shù)據(jù)集的協(xié)作關(guān)系的緊密程度,確定新產(chǎn)生數(shù)據(jù)和任一數(shù)據(jù)集存放庫(kù)的協(xié)作關(guān)系的緊密程度;30)將新產(chǎn)生數(shù)據(jù)存儲(chǔ)在與之關(guān)系最緊密的數(shù)據(jù)集存放庫(kù)中。
2.根據(jù)權(quán)利要求1所述的調(diào)度方法,其特征在于,還包括40)計(jì)算活動(dòng)到節(jié)點(diǎn)的預(yù)測(cè)數(shù)據(jù)流轉(zhuǎn)時(shí)間,將活動(dòng)調(diào)度到預(yù)測(cè)數(shù)據(jù)流轉(zhuǎn)時(shí)間最短的節(jié)點(diǎn)ο
3.根據(jù)權(quán)利要求1或2所述的調(diào)度方法,其特征在于,所述10)進(jìn)一步包括根據(jù)如下公式確定新產(chǎn)生數(shù)據(jù)和現(xiàn)有數(shù)據(jù)集的協(xié)作關(guān)系的緊密程度CPej= Z Cei,diePj其中,di為數(shù)據(jù),Pj為任意現(xiàn)有數(shù)據(jù)集,C6i = CountiSA6 Π SAi},SA6為依賴新產(chǎn)生數(shù)據(jù)的活動(dòng)的集合,SAi為依賴數(shù)據(jù)di的活動(dòng)的集合,Count表示集合中元素的個(gè)數(shù)。
4.根據(jù)權(quán)利要求3所述的調(diào)度方法,其特征在于,所述20)進(jìn)一步包括根據(jù)如下公式確定新產(chǎn)生數(shù)據(jù)和任一數(shù)據(jù)集存放庫(kù)的協(xié)作關(guān)系的緊密程度kCRet = max (CPej)/=1,0 上其中,Pj為數(shù)據(jù)集,Rt為任一數(shù)據(jù)集存放庫(kù),k為Rt中數(shù)據(jù)集的個(gè)數(shù)。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的調(diào)度方法,其特征在于,所述步驟10)前還包括00)在運(yùn)行前,對(duì)數(shù)據(jù)流進(jìn)行初始調(diào)度。
6.根據(jù)權(quán)利要求5所述的調(diào)度方法,其特征在于,所述步驟00)進(jìn)一步包括01)根據(jù)活動(dòng)使用數(shù)據(jù)的次數(shù)確定活動(dòng)和數(shù)據(jù)的依賴關(guān)系;02)對(duì)于任意兩個(gè)數(shù)據(jù),根據(jù)活動(dòng)和數(shù)據(jù)的依賴關(guān)系確定依賴該兩個(gè)數(shù)據(jù)的活動(dòng)的個(gè)數(shù);03)以依賴任意兩個(gè)數(shù)據(jù)的活動(dòng)的個(gè)數(shù)為元素建立協(xié)作關(guān)系矩陣,進(jìn)行協(xié)作關(guān)系矩陣的行列轉(zhuǎn)換以使相近的行列之間相互關(guān)系緊密;04)將轉(zhuǎn)換后的協(xié)作關(guān)系矩陣分塊,使共同被任意活動(dòng)使用的數(shù)據(jù)共存于一個(gè)子塊,將每個(gè)子塊對(duì)應(yīng)的數(shù)據(jù)組成一個(gè)數(shù)據(jù)集;05)將只包含可移動(dòng)數(shù)據(jù)的數(shù)據(jù)集調(diào)度到使該數(shù)據(jù)集所需要的流轉(zhuǎn)時(shí)間最短的數(shù)據(jù)集存放庫(kù)。
7.一種面向分布式工作流的數(shù)據(jù)流的調(diào)度系統(tǒng),包括新數(shù)據(jù)和數(shù)據(jù)集協(xié)作關(guān)系確定模塊,用于對(duì)于運(yùn)行時(shí)新產(chǎn)生數(shù)據(jù)是可移動(dòng)數(shù)據(jù)的情況,確定新產(chǎn)生數(shù)據(jù)和現(xiàn)有數(shù)據(jù)集的協(xié)作關(guān)系的緊密程度;新數(shù)據(jù)和數(shù)據(jù)集存放庫(kù)協(xié)作關(guān)系確定模塊,用于根據(jù)新產(chǎn)生數(shù)據(jù)和現(xiàn)有數(shù)據(jù)集的協(xié)作關(guān)系的緊密程度,確定新產(chǎn)生數(shù)據(jù)和任一數(shù)據(jù)集存放庫(kù)的協(xié)作關(guān)系的緊密程度; 存儲(chǔ)模塊,用于將新產(chǎn)生數(shù)據(jù)存儲(chǔ)在與之關(guān)系最緊密的數(shù)據(jù)集存放庫(kù)中。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,還包括活動(dòng)調(diào)度模塊,用于計(jì)算活動(dòng)到節(jié)點(diǎn)的預(yù)測(cè)數(shù)據(jù)流轉(zhuǎn)時(shí)間,將活動(dòng)調(diào)度到預(yù)測(cè)數(shù)據(jù)流轉(zhuǎn)時(shí)間最短的節(jié)點(diǎn)。
9.根據(jù)權(quán)利要求7或8所述的系統(tǒng),其特征在于,還包括 初始調(diào)度模塊,用于在運(yùn)行前,對(duì)數(shù)據(jù)流進(jìn)行初始調(diào)度。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述初始調(diào)度模塊進(jìn)一步包括活動(dòng)和數(shù)據(jù)依賴關(guān)系確定模塊,用于根據(jù)活動(dòng)使用數(shù)據(jù)的次數(shù)確定活動(dòng)和數(shù)據(jù)的依賴關(guān)系;公共活動(dòng)確定模塊,用于對(duì)于任意兩個(gè)數(shù)據(jù),根據(jù)活動(dòng)和數(shù)據(jù)的依賴關(guān)系確定依賴該兩個(gè)數(shù)據(jù)的活動(dòng)的個(gè)數(shù);協(xié)作關(guān)系矩陣建立和轉(zhuǎn)換模塊,用于以依賴任意兩個(gè)數(shù)據(jù)的活動(dòng)的個(gè)數(shù)為元素建立協(xié)作關(guān)系矩陣,進(jìn)行協(xié)作關(guān)系矩陣的行列轉(zhuǎn)換以使相近的行列之間相互關(guān)系緊密;協(xié)作關(guān)系矩陣分塊模塊,用于將轉(zhuǎn)換后的協(xié)作關(guān)系矩陣分塊,使共同被任意活動(dòng)使用的數(shù)據(jù)共存于一個(gè)子塊,將每個(gè)子塊對(duì)應(yīng)的數(shù)據(jù)組成一個(gè)數(shù)據(jù)集;數(shù)據(jù)集裝載模塊,用于將只包含可移動(dòng)數(shù)據(jù)的數(shù)據(jù)集調(diào)度到使該數(shù)據(jù)集所需要的流轉(zhuǎn)時(shí)間最短的數(shù)據(jù)集存放庫(kù)。
全文摘要
本發(fā)明提供一種面向分布式工作流的數(shù)據(jù)流的調(diào)度方法和系統(tǒng),該方法包括10)對(duì)于運(yùn)行時(shí)新產(chǎn)生數(shù)據(jù)是可移動(dòng)數(shù)據(jù)的情況,確定新產(chǎn)生數(shù)據(jù)和現(xiàn)有數(shù)據(jù)集的協(xié)作關(guān)系的緊密程度;20)根據(jù)新產(chǎn)生數(shù)據(jù)和現(xiàn)有數(shù)據(jù)集的協(xié)作關(guān)系的緊密程度,確定新產(chǎn)生數(shù)據(jù)和任一數(shù)據(jù)集存放庫(kù)的協(xié)作關(guān)系的緊密程度;30)將新產(chǎn)生數(shù)據(jù)存儲(chǔ)在與之關(guān)系最緊密的數(shù)據(jù)集存放庫(kù)中。本發(fā)明上述方法和系統(tǒng)的優(yōu)點(diǎn)在于不僅可以有效減少地理分布的業(yè)務(wù)流程之間數(shù)據(jù)流轉(zhuǎn)的時(shí)間,還可以減少由于網(wǎng)絡(luò)中斷導(dǎo)致工作流引擎無法運(yùn)行的次數(shù)。
文檔編號(hào)G06Q10/00GK102289747SQ20111025354
公開日2011年12月21日 申請(qǐng)日期2011年8月30日 優(yōu)先權(quán)日2011年8月30日
發(fā)明者劉晨, 季光, 張鵬, 徐學(xué)輝, 王桂玲, 韓燕波 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
宣城市| 岳西县| 兴和县| 阿拉善左旗| 连州市| 镇原县| 闸北区| 赤水市| 阜新| 丁青县| 宜良县| 绍兴市| 南召县| 宾阳县| 吴堡县| 富川| 红桥区| 伊金霍洛旗| 巴林左旗| 大丰市| 苏尼特右旗| 鸡泽县| 读书| 淳化县| 雷山县| 伊吾县| 大悟县| 文安县| 盐亭县| 安平县| 正定县| 阳谷县| 青川县| 临澧县| 比如县| 清水县| 四川省| 胶南市| 容城县| 周宁县| 安庆市|