[發(fā)明專利]一種云環(huán)境下的工作流調(diào)度與數(shù)據(jù)分配方法有效
| 申請(qǐng)?zhí)枺?/td> | 201711468801.0 | 申請(qǐng)日: | 2017-12-28 |
| 公開(公告)號(hào): | CN108182109B | 公開(公告)日: | 2021-08-31 |
| 發(fā)明(設(shè)計(jì))人: | 陳羽中;黃啟成;郭文忠 | 申請(qǐng)(專利權(quán))人: | 福州大學(xué) |
| 主分類號(hào): | G06F9/48 | 分類號(hào): | G06F9/48;G06F9/50;H04L29/08 |
| 代理公司: | 福州元?jiǎng)?chuàng)專利商標(biāo)代理有限公司 35100 | 代理人: | 蔡學(xué)俊 |
| 地址: | 350108 福建省福州市*** | 國(guó)省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 環(huán)境 工作流 調(diào)度 數(shù)據(jù) 分配 方法 | ||
1.一種云環(huán)境下的工作流調(diào)度與數(shù)據(jù)分配方法,其特征在于,包括如下步驟:
步驟A:獲取云平臺(tái)當(dāng)前的工作流;
步驟B:根據(jù)調(diào)度模型計(jì)算工作流中每個(gè)任務(wù)的高度,并按照高度升序排列任務(wù);
步驟C:使用粒子群優(yōu)化算法,每個(gè)粒子表示一種工作流調(diào)度與數(shù)據(jù)分配方案,以工作流的執(zhí)行時(shí)間以及執(zhí)行成本為優(yōu)化目標(biāo),獲得全局最優(yōu)的粒子編碼;
步驟D:將全局最優(yōu)的粒子編碼解碼成工作流調(diào)度與數(shù)據(jù)分配方案并輸出;
所述步驟B中,計(jì)算工作流中每個(gè)任務(wù)的高度并按照高度升序排列任務(wù),包括以下步驟:
步驟B1:構(gòu)造工作流的有向無(wú)環(huán)圖G,方法為:
工作流由n個(gè)相互依賴的任務(wù)T={T1,T2,…,Tn}構(gòu)成,采用有向無(wú)環(huán)圖G=(V,E)表示,其中V表示節(jié)點(diǎn)集合,V=T,E表示邊集合,E={eij|Ti∈T∧Tj∈T∧Ti∈pred(Tj)};其中任務(wù)Tj的直接前驅(qū)任務(wù)的集合表示為pred(Tj),直接后續(xù)任務(wù)的集合表示為succ(Tj),只有當(dāng)pred(Tj)中的任務(wù)全部執(zhí)行完成并且數(shù)據(jù)傳輸?shù)饺蝿?wù)Tj所在的虛擬機(jī)時(shí),任務(wù)Tj才開始執(zhí)行,沒有前驅(qū)任務(wù)的任務(wù)節(jié)點(diǎn)稱為開始任務(wù)Tentry,沒有后繼任務(wù)的任務(wù)節(jié)點(diǎn)稱為結(jié)束任務(wù)Texit;Ti∈pred(Tj)表示任務(wù)Ti是任務(wù)Tj的直接前驅(qū)任務(wù),即任務(wù)Tj是任務(wù)Ti的直接后繼任務(wù),任務(wù)Tj依賴于任務(wù)Ti;eij表示任務(wù)Ti和任務(wù)Tj間的邊,eij的值代表任務(wù)Ti需傳輸給任務(wù)Tj的數(shù)據(jù)量大小;
步驟B2:從工作流的開始任務(wù)Tentry出發(fā),遍歷工作流的有向無(wú)環(huán)圖G,計(jì)算每個(gè)任務(wù)Ti的初始高度Heightinit(Ti);其中,任務(wù)Ti的初始高度Heightinit(Ti)的計(jì)算方法如下:
步驟B3:從工作流的結(jié)束任務(wù)Texit出發(fā),遍歷工作流的有向無(wú)環(huán)圖G,計(jì)算每個(gè)任務(wù)Ti的高度Height(Ti);其中,任務(wù)Ti的高度Height(Ti)的計(jì)算方法如下:
其中,表示產(chǎn)生位于區(qū)間范圍內(nèi)的隨機(jī)整數(shù);
通過(guò)計(jì)算工作流中每個(gè)任務(wù)Ti的高度Height(Ti),從而確定任務(wù)Ti執(zhí)行的順序,然后根據(jù)任務(wù)的高度升序排列,構(gòu)成任務(wù)的拓?fù)漤樞颍擁樞蚴潜3秩蝿?wù)之間優(yōu)先級(jí)約束的線性順序;
步驟B4:根據(jù)每個(gè)任務(wù)Ti的高度Height(Ti),按照高度升序排列任務(wù),構(gòu)成任務(wù)的拓?fù)漤樞颍?/p>
所述步驟C中,使用粒子群優(yōu)化算法,以工作流的執(zhí)行時(shí)間以及執(zhí)行成本為優(yōu)化目標(biāo),獲得全局最優(yōu)的粒子編碼,包括以下步驟:
步驟C1:初始化粒子群,設(shè)置粒子群算法參數(shù),包括粒子數(shù)量、慣性因子、認(rèn)知能力因子、社會(huì)學(xué)習(xí)因子、迭代次數(shù)、種群規(guī)模、粒子維數(shù)、粒子速度控制范圍;其中,初始化粒子群,粒子的編碼方式如下:
Xi={xi,1,xi,2,…,xi,N}是粒子群X中的第i個(gè)粒子,表示工作流調(diào)度問(wèn)題的第i個(gè)調(diào)度方案,N是工作流所包含的元素?cái)?shù)量,工作流元素包括構(gòu)成工作流的任務(wù)和數(shù)據(jù),Xi的每一維表示工作流元素與服務(wù)節(jié)點(diǎn)的映射關(guān)系,xi,j的值表示該工作流元素所在的虛擬機(jī)的序號(hào),即將工作流的第j個(gè)元素分配到序號(hào)為xi,j的虛擬機(jī),虛擬機(jī)的序號(hào)的取值范圍為[1,m],m為云平臺(tái)中的虛擬機(jī)節(jié)點(diǎn)數(shù);
步驟C2:計(jì)算粒子群中每個(gè)粒子的適應(yīng)度值,根據(jù)粒子的適應(yīng)度值,記錄個(gè)體歷史最優(yōu)粒子和種群最優(yōu)粒子;其中,粒子群中粒子的適應(yīng)度值的計(jì)算方法如下:
fitness=α.Ttotal+β.Ctotal
其中,α、β表示權(quán)重系數(shù),Ttotal表示工作流執(zhí)行的時(shí)間代價(jià),Ctotal表示工作流執(zhí)行的成本代價(jià),具體定義如下:
Ctotal=Costexe(G)+Costtx(G)
其中,工作流執(zhí)行的時(shí)間代價(jià)Ttotal定位為從用戶提交一個(gè)工作流到獲得執(zhí)行結(jié)果的總時(shí)間,即結(jié)束任務(wù)Texit的完成時(shí)間工作流執(zhí)行的成本代價(jià)Ctotal包括工作流的任務(wù)處理代價(jià)Costexe(G)和數(shù)據(jù)傳輸代價(jià)Costtx(G);
工作流執(zhí)行的時(shí)間代價(jià)Ttotal的計(jì)算方法如下:
首先定義工作流中的任務(wù)Ti的任務(wù)開始時(shí)間和任務(wù)完成時(shí)間分別為STi和FTi,則STi定義如下:
其中VM(Ti)表示任務(wù)Ti所分配的虛擬機(jī)的序號(hào),表示和任務(wù)Ti分配到同一個(gè)虛擬機(jī)(即VM(Tk)=VM(Ti))且是最晚先于任務(wù)Ti被虛擬機(jī)調(diào)度執(zhí)行的任務(wù)Tk(即Tk→Tj)的任務(wù)完成時(shí)間;表示傳輸任務(wù)Ti所需的全部數(shù)據(jù)所需的時(shí)間;TRTji為任務(wù)Tj存在任務(wù)Ti所需的數(shù)據(jù)Dji時(shí)的數(shù)據(jù)傳輸時(shí)間,定義如下:
其中,VM(Tj)表示任務(wù)Tj所分配的虛擬機(jī)的序號(hào),VM(Dji)表示數(shù)據(jù)Dji所放置的虛擬機(jī)的序號(hào),表示任務(wù)Tj所分配的虛擬機(jī)與數(shù)據(jù)Dji所放置的虛擬機(jī)之間的鏈路帶寬;表示數(shù)據(jù)Dji所放置的虛擬機(jī)與任務(wù)Ti所分配的虛擬機(jī)之間的鏈路帶寬;
根據(jù)STi的定義,F(xiàn)Ti定義為:
其中為任務(wù)Ti在虛擬機(jī)vmj上被調(diào)度執(zhí)行后的執(zhí)行時(shí)間;
根據(jù)上述定義,當(dāng)一個(gè)工作流的任務(wù)被調(diào)度之后,工作流的執(zhí)行時(shí)間就等于結(jié)束任務(wù)Texit的完成時(shí)間,即:
工作流的任務(wù)處理代價(jià)Costexe(G)的計(jì)算方法如下:
其中,VM(Ti)表示任務(wù)Ti分配的虛擬機(jī)的序號(hào),表示任務(wù)Ti在分配的虛擬機(jī)VM(Ti)上的處理代價(jià),工作流的任務(wù)處理代價(jià)Costexe(G)即為構(gòu)成工作流的各個(gè)任務(wù)的處理代價(jià)之和;的具體定義如下:
假定VM(Ti)=j(luò),則
其中,DSi表示任務(wù)Ti的數(shù)據(jù)大小,PSj表示虛擬機(jī)vmj的處理能力,RCj表示虛擬機(jī)vmj的租賃費(fèi)用;
工作流執(zhí)行過(guò)程中各個(gè)任務(wù)間的數(shù)據(jù)傳輸代價(jià)Costtx(G)的計(jì)算方法如下:
其中VM(Ti)表示任務(wù)Ti分配的虛擬機(jī)的序號(hào),VM(Dij)表示數(shù)據(jù)Dij所放置的虛擬機(jī)的序號(hào),Dij是任務(wù)間的數(shù)據(jù)傳輸矩陣D中的元素,表示任務(wù)Ti和任務(wù)Tj之間需要傳輸?shù)臄?shù)據(jù)的大小,單位為MB,數(shù)據(jù)傳輸矩陣D定義如下:
表示任務(wù)Ti所分配的虛擬機(jī)節(jié)點(diǎn)與數(shù)據(jù)Dij所放置的虛擬機(jī)節(jié)點(diǎn)之間的數(shù)據(jù)鏈路的租賃價(jià)格,單位是$/MB;表示數(shù)據(jù)Dij所放置的虛擬機(jī)節(jié)點(diǎn)與任務(wù)Tj所分配的虛擬機(jī)節(jié)點(diǎn)之間的數(shù)據(jù)鏈路的租賃價(jià)格;
步驟C3:根據(jù)更新策略,更新每個(gè)粒子的速度和位置,并計(jì)算更新后的粒子適應(yīng)度值;其中,粒子位置的更新方法如下:
對(duì)于任務(wù)和虛擬機(jī)的分配問(wèn)題,需要把粒子的位置轉(zhuǎn)化為虛擬機(jī)節(jié)點(diǎn)的序號(hào),因此在對(duì)粒子的位置進(jìn)行更新時(shí),采用取整的方法對(duì)粒子的位置進(jìn)行離散值的轉(zhuǎn)換:
其中,表示對(duì)實(shí)數(shù)xij向下取整;
步驟C4:判斷是否滿足最大迭代次數(shù),是則輸出全局最優(yōu)粒子編碼,結(jié)束迭代,否則返回步驟C2,繼續(xù)迭代。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于福州大學(xué),未經(jīng)福州大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711468801.0/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 環(huán)境服務(wù)系統(tǒng)以及環(huán)境服務(wù)事業(yè)
- 環(huán)境控制裝置、環(huán)境控制方法、環(huán)境控制程序及環(huán)境控制系統(tǒng)
- 環(huán)境檢測(cè)終端和環(huán)境檢測(cè)系統(tǒng)
- 環(huán)境調(diào)整系統(tǒng)、環(huán)境調(diào)整方法及環(huán)境調(diào)整程序
- 環(huán)境估計(jì)裝置和環(huán)境估計(jì)方法
- 用于環(huán)境艙的環(huán)境控制系統(tǒng)及環(huán)境艙
- 車輛環(huán)境的環(huán)境數(shù)據(jù)處理
- 環(huán)境取樣動(dòng)力頭、環(huán)境取樣方法
- 環(huán)境艙環(huán)境控制系統(tǒng)
- 環(huán)境檢測(cè)儀(環(huán)境貓)
- 旅游車輛調(diào)度監(jiān)控方法及其系統(tǒng)
- 一種用戶隊(duì)列調(diào)度的方法和裝置
- 一種資源調(diào)度的方法、裝置和過(guò)濾式調(diào)度器
- 一種調(diào)度方法和裝置
- 一種調(diào)度終端動(dòng)態(tài)切換調(diào)度組歸屬關(guān)系的方法及裝置
- 用戶調(diào)度方法、裝置、基站和存儲(chǔ)介質(zhì)
- 一種食材的調(diào)度系統(tǒng)和方法
- 一種資源調(diào)度的方法、裝置和過(guò)濾式調(diào)度器
- 任務(wù)調(diào)度方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種自動(dòng)化調(diào)度系統(tǒng)和調(diào)度方法
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





