專利名稱:一種控制網(wǎng)格任務(wù)執(zhí)行的方法
技術(shù)領(lǐng)域:
本發(fā)明是一種在網(wǎng)格計算環(huán)境中,任務(wù)正確、高效執(zhí)行的解決方案。主要用于解決
網(wǎng)格任務(wù)的安全調(diào)度問題,屬于網(wǎng)格計算和分布式計算交叉技術(shù)應(yīng)用領(lǐng)域。
背景技術(shù):
網(wǎng)格計算是近年來國際信息技術(shù)領(lǐng)域的研究熱點,是以互聯(lián)網(wǎng)和高性能計算為基 礎(chǔ)的一門新興技術(shù)。網(wǎng)格計算是指通過高速網(wǎng)絡(luò)將地理上廣泛分布、系統(tǒng)異構(gòu)的各種硬件、 軟件、信息資源(如高性能計算機、大型數(shù)據(jù)庫、傳感器、遠程設(shè)備等)連結(jié)成一個巨大的整 體,使得人們能夠利用這些資源完成各種大規(guī)模的、復(fù)雜的計算和數(shù)據(jù)處理的任務(wù),從而實 現(xiàn)高性能資源的共享和協(xié)同工作。作為未來計算的新模式,越來越多的人員和機構(gòu)開發(fā)和 研究網(wǎng)格計算。 任務(wù)方式是使用網(wǎng)格資源的一種形式,它根據(jù)用戶確定的流程,為用戶提供使用 資源的功能。網(wǎng)格任務(wù)執(zhí)行是網(wǎng)格的最主要的功能之一,主要涉及到網(wǎng)格計算環(huán)境下任務(wù) 的提交、調(diào)度和分配,資源的審核,任務(wù)的執(zhí)行等問題。網(wǎng)格任務(wù)一般都在遠端節(jié)點上運行, 任務(wù)提交者對遠端設(shè)備的控制能力是非常有限的,為了有效控制任務(wù)的運行,需要網(wǎng)格任 務(wù)控制機制,控制整個任務(wù)的執(zhí)行過程。研究并實現(xiàn)有效的資源與任務(wù)控制模型以及任務(wù) 調(diào)度機制,保證合理的資源共享和非平凡的服務(wù)質(zhì)量已成為一個急待解決的研究熱點和技 術(shù)難點。 代理或智能代理是指模擬人類行為與關(guān)系、具有一定智能并能夠自主運行和提供 相應(yīng)服務(wù)的程序。與其他軟件實體相比,代理的粒度即實體的大小更大、智能化程度更高。 廣義上它是指具有智能的任何實體,包括人類、智能硬件(如機器人、智能嵌入式設(shè)備和計 算機等)和智能軟件。它的典型的定義為代理是駐留于環(huán)境中的實體,它可以解釋從環(huán)境 中獲得的、反映環(huán)境中所發(fā)生事件的數(shù)據(jù),并執(zhí)行對環(huán)境產(chǎn)生影響的行為。代理被看作是一 種在環(huán)境中"生存"的實體,它既可以是硬件(如機器人),也可以是軟件。隨著網(wǎng)絡(luò)的發(fā) 展,特別是信息搜索、分布式計算以及電子商務(wù)的蓬勃發(fā)展,人們不滿足于僅僅在本地計算 機上找到所需的服務(wù),而希望在整個網(wǎng)絡(luò)范圍內(nèi)找到最佳的服務(wù),希望將整個網(wǎng)絡(luò)虛擬成 為一個整體,使代理在整個網(wǎng)絡(luò)中自由的移動,這便產(chǎn)生了移動代理。移動代理的提出,進 一步擴展了代理處理的功能。移動代理,簡單的說就是具有移動性的智能代理。它指的是 能夠自行決定在網(wǎng)絡(luò)的各個節(jié)點之間移動,代表其它實體(人或其他代理)進行工作的一 種軟件實體。它能自行選擇運行地點和時機,根據(jù)具體情況,中斷當(dāng)前自身的執(zhí)行,移動至 另一設(shè)備上恢復(fù)運行,并及時將有關(guān)的結(jié)果返回。移動的目的是使程序的執(zhí)行盡可能靠近 數(shù)據(jù)源,降低網(wǎng)絡(luò)通信開銷,節(jié)省帶寬,平衡負(fù)載,加快任務(wù)的執(zhí)行,從而提高分布式系統(tǒng)的 處理效率?;谝苿哟淼南到y(tǒng)具有生存、計算、安全、通信、遷移機制。生存機制指的是移 動代理的產(chǎn)生、銷毀、啟動、掛起、停止等服務(wù);計算機制指的是移動代理及其運行環(huán)境所具 備的計算推理能力,包括數(shù)據(jù)操作和線程控制原語;安全機制描述移動代理訪問其它移動 代理和網(wǎng)絡(luò)資源的方式;通信機制定義移動代理間及其和其它實體間的通訊方式;而遷移
4機制負(fù)責(zé)組織移動代理代碼及其執(zhí)行時的中間狀態(tài),以讓它在不同位置間移動。
在網(wǎng)格計算中引用移動代理技術(shù)將會有以下優(yōu)點 1.在地域上分布的異構(gòu)網(wǎng)格計算環(huán)境中能自主地將計算任務(wù)從一計節(jié)點遷移到
另一節(jié)點,并可與其它代理或資源交互以實現(xiàn)任務(wù)和資源的控制和自適應(yīng)。 2.移動代理可以遷移到網(wǎng)格計算環(huán)境的各級客戶服務(wù)器或中央服務(wù)器上,與之進
行本地高速通信,它不再占用網(wǎng)絡(luò)資源,從而大大降低了網(wǎng)格的通訊量,并提高了網(wǎng)絡(luò)資源
的利用效率。 3.移動代理通過在局域網(wǎng)服務(wù)器之間雙向移動來傳遞對應(yīng)的資源信息、負(fù)載信 息、通訊量和任務(wù)執(zhí)行序列等信息。這些信息作為資源控制、負(fù)載平衡、通訊調(diào)整、任務(wù)調(diào)度 等的參考依據(jù),移動代理根據(jù)這些數(shù)據(jù)智能的判斷控制的情況并做出相應(yīng)處理。這將大大 改善系統(tǒng)的性能和智能化水平,提高網(wǎng)格計算的可靠性和執(zhí)行效率。 4.移動代理通過將服務(wù)器請求代理動態(tài)遷移到其它服務(wù)端執(zhí)行,使得此代理較小 依賴網(wǎng)絡(luò)傳輸環(huán)節(jié)而直接面對要訪問的服務(wù)器資源,從而避免了大量數(shù)據(jù)間的網(wǎng)絡(luò)傳送, 降低了系統(tǒng)對網(wǎng)絡(luò)帶寬的依賴。 5.在網(wǎng)格計算中,移動代理不需要統(tǒng)一的調(diào)度。由用戶創(chuàng)建的代理可以異步在不 同計算節(jié)點運行,等任務(wù)完成再將結(jié)果傳送給用戶。同一用戶或同一計算節(jié)點可創(chuàng)建多種 代理,同時在一個或多個節(jié)點運行,形成并行求解的能力。 6.移動代理由于具有協(xié)作性和可移動性,并且具有面向?qū)ο蟮奶卣?,在考慮實現(xiàn) 安全措施的時候就會有更多的彈性。 信任是對一個實體身份和行為的可信度的評估,與這個實體的可靠性、誠信和性 能有關(guān),信任是一個主觀概念,取決于經(jīng)驗,通常用信任值來表示信任等級的高低,信任值 隨實體的行為而動態(tài)變化。感性信任某個實體是指相信它不會有惡意的行為,理性信任某 個實體是指相信它能抵抗任意惡意的攻擊。將信任引入到網(wǎng)格任務(wù)執(zhí)行過程中,可以提高 網(wǎng)格任務(wù)執(zhí)行的效率和正確性。
發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的是提供一種運用移動代理和信任機制,控制網(wǎng)格任務(wù)執(zhí) 行的方法,實現(xiàn)對網(wǎng)格中可用資源的安全動態(tài)性查找和任務(wù)執(zhí)行的自適應(yīng)性。降低網(wǎng)格的 通信量,提高網(wǎng)絡(luò)的利用率,形成任務(wù)的并行求解,從而提高網(wǎng)格資源的利用效率和網(wǎng)格計 算的執(zhí)行效率。
技術(shù)方案本發(fā)明是一種策略性控制方案。通過網(wǎng)格任務(wù)的分配算法,安全、高效 的完成網(wǎng)格任務(wù)。首先介紹幾個相關(guān)的網(wǎng)格計算概念。
1.虛擬組織(Virtual Organization) 所謂虛擬組織,它是由遵守資源共享規(guī)則的一組個體、機構(gòu)組成,虛擬組織的典型 例子有應(yīng)用服務(wù)提供商、存儲服務(wù)提供商、企業(yè)及企業(yè)所采用的應(yīng)用所構(gòu)成的系統(tǒng)等。虛 擬組織的動態(tài)性是指組織結(jié)構(gòu)、對外交互、控制模式及業(yè)務(wù)模式等是隨時間變化的;虛擬組 織的異構(gòu)性是指各組織在目標(biāo)、結(jié)構(gòu)、規(guī)模、控制、運行模式等方面是不同的。
2.自治域(Autonomy Domain) 加入網(wǎng)格環(huán)境的內(nèi)部具有一致安全體系的個體、組織、部門和團體等。
3.資源(Resource) 在網(wǎng)格中的資源包括各類計算設(shè)備、存儲設(shè)各、I/0設(shè)備、通信系統(tǒng)、文件、數(shù)據(jù)庫、 程序、信息、知識、儀器等,并具有面向用戶和透明性的特點,用戶可以在不考慮資源物理位 置的情況下,方便的使用資源。此外,資源也具有動態(tài)變化的特性。資源節(jié)點是指在網(wǎng)格服 務(wù)提供域中的能夠?qū)ν馓峁┵Y源服務(wù)的最小單位成員。 網(wǎng)格計算體系模型如圖l所示,以服務(wù)為中心是網(wǎng)格的核心,不同的虛擬組織/自 治域組成整個網(wǎng)格計算環(huán)境,而每個虛擬組織/自治域中的資源節(jié)點則能夠協(xié)作完成不同 的服務(wù)。網(wǎng)格向用戶提供一個接口 ,通過該接口接收來自用戶的請求,發(fā)送來自網(wǎng)格的信 息。用戶可以將所使用的網(wǎng)格看作是一個黑盒子,不必知道其內(nèi)部如何實現(xiàn)用戶請求的服 務(wù)。若網(wǎng)格用戶所提交的任務(wù)在一個虛擬組織/自治域內(nèi)不能完成時,則該虛擬組織/自 治域的網(wǎng)格服務(wù)器就請求其他的虛擬組織/自治域的資源節(jié)點協(xié)作完成。網(wǎng)格為用戶提供 計算能力,但用戶并不關(guān)心計算所需的資源是哪個虛擬組織提供的。通過具體的安全和通 信技術(shù),構(gòu)成信任聯(lián)盟的虛擬組織之間可以共享資源。網(wǎng)格體系結(jié)構(gòu)中不再考慮互聯(lián)網(wǎng)完 成的功能。以網(wǎng)格數(shù)據(jù)為例,網(wǎng)格需要考慮到是數(shù)據(jù)表示形式、數(shù)據(jù)的傳輸方式、數(shù)據(jù)存儲 和副本控制,但對具體的數(shù)據(jù)傳輸格式和傳輸過程則不再考慮,因為這些是互聯(lián)網(wǎng)解決的問題。 我們將移動代理引入網(wǎng)格計算體系中,利用移動代理提供服務(wù)來實現(xiàn)網(wǎng)格構(gòu)造。 網(wǎng)格任務(wù)執(zhí)行得到基于移動代理的網(wǎng)格計算體系支持,關(guān)于任務(wù)控制的邏輯視圖如圖2所 示,自下而上包括三層基于移動代理的網(wǎng)格基礎(chǔ)設(shè)施、虛擬組織/自治域控制層、網(wǎng)格應(yīng)用層。 其中網(wǎng)格應(yīng)用層提供給網(wǎng)格用戶服務(wù),網(wǎng)格用戶通過用戶界面實現(xiàn)與網(wǎng)格之間的 信息交互,實現(xiàn)諸如用戶任務(wù)提交、結(jié)果返回等輸入輸出功能;虛擬組織/自治域控制層主 要實現(xiàn)網(wǎng)格體系的控制、協(xié)調(diào)功能,此體系主要用來實現(xiàn)網(wǎng)格計算的任務(wù)控制;底層為使用 移動代理平臺的網(wǎng)格基礎(chǔ)設(shè)施,提供移動代理的運行環(huán)境,該運行環(huán)境已經(jīng)包括了必要的 安全、通訊、注冊、目錄等功能,上層服務(wù)可以調(diào)用移動代理平臺的功能并擴展這些功能來 實現(xiàn)。 控制網(wǎng)格任務(wù)執(zhí)行的方法是運用移動代理和信任機制實現(xiàn)控制過程的,具體如 下 —、移動代理的創(chuàng)建方案 系統(tǒng)中移動代理根據(jù)功能的不同分為兩種工作代理和控制代理。工作代理負(fù)責(zé) 任務(wù)的執(zhí)行,而控制代理負(fù)責(zé)對網(wǎng)格系統(tǒng)進行控制,通過控制代理實現(xiàn)任務(wù)監(jiān)控。駐留控制 代理的叫控制機,駐留工作代理的叫工作機,提交任務(wù)的計算機叫客戶機;在虛擬組織/自 治域內(nèi)部,通過移動代理來實現(xiàn)任務(wù)分解,并攜帶子任務(wù)遷移到各個資源節(jié)點執(zhí)行任務(wù);資 源運行任務(wù)失敗時,通過移動代理實現(xiàn)本域或者跨域的協(xié)同任務(wù)求解;
二、具體執(zhí)行流程 1).網(wǎng)格應(yīng)用層首先提供給用戶一個使用平臺,用戶首先要經(jīng)過注冊成為該網(wǎng)格 的用戶; 2).如果用戶身份合法,網(wǎng)格確定用戶對資源的訪問控制權(quán)限,網(wǎng)格用戶即可隨 時提交任務(wù)請求,網(wǎng)格用戶填寫要提交的任務(wù),網(wǎng)格用戶在提交網(wǎng)格任務(wù)時,需給出提交的任務(wù)描述,網(wǎng)格虛擬組織控制機構(gòu)會對網(wǎng)格用戶提交的任務(wù)的合法性、用戶訪問控制權(quán)限 等級進行檢驗,如果該任務(wù)請求合法,不存在語義沖突問題,網(wǎng)格虛擬組織服務(wù)器將接受該 請求,將該網(wǎng)格用戶任務(wù)放入任務(wù)等待對列,并將請求狀態(tài)設(shè)置為提交狀態(tài),等待調(diào)度執(zhí) 行; 3).網(wǎng)格虛擬組織中心的任務(wù)控制機構(gòu)為任務(wù)進行任務(wù)調(diào)度,如果有需要執(zhí)行的
任務(wù)就繼續(xù)步驟4 ;否則任務(wù)控制機構(gòu)等待直至有用戶提交任務(wù); 4).任務(wù)控制機構(gòu)獲取任務(wù)的描述信息,如提交者的用戶信息、任務(wù)內(nèi)容; 5).在網(wǎng)格任務(wù)控制機構(gòu)根據(jù)信任機制對資源進行信任審核,篩選出可用的計算
資源,根據(jù)資源處理能力信息包括中央處理器性能,帶寬性能,內(nèi)存性能等進行綜合評定,
計算出各資源可以分配到的子任務(wù)模塊大??; 6).將任務(wù)根據(jù)需分解的各模塊大小比例分解成子任務(wù); 7).任務(wù)的遷移網(wǎng)格任務(wù)控制機構(gòu)啟動移動代理平臺為分解后的子任務(wù)生成若 干個任務(wù)執(zhí)行代理和任務(wù)監(jiān)控代理,任務(wù)執(zhí)行代理分別攜帶各子任務(wù)遷移到資源節(jié)點上; 任務(wù)監(jiān)控代理跟隨相應(yīng)的任務(wù)執(zhí)行代理同樣遷移至各個資源節(jié)點上隨時監(jiān)聽任務(wù)的執(zhí)行 情況; 8).如果任務(wù)遷移成功,進入步驟9,否則,任務(wù)狀態(tài)被設(shè)置為出錯狀態(tài)進入步驟 11。
9).子任務(wù)被遷移至各資源節(jié)點進行并行執(zhí)行; 10).任務(wù)監(jiān)控代理隨時監(jiān)聽任務(wù)的執(zhí)行情況和資源節(jié)點的情況,等待子任務(wù)執(zhí)行 完畢,若所有子任務(wù)都成功執(zhí)行完畢,執(zhí)行代理就攜帶子任務(wù)結(jié)果返回,網(wǎng)格任務(wù)控制機構(gòu) 服務(wù)器綜合這些結(jié)果從而得到任務(wù)的完整執(zhí)行結(jié)果,并將任務(wù)狀態(tài)設(shè)置為完成狀態(tài),供用 戶查詢?nèi)蝿?wù)結(jié)果時使用,否則進入步驟11 ; 11).若該過程中出現(xiàn)了某個資源節(jié)點運行失敗,這時任務(wù)監(jiān)控代理就返回失敗信 息,網(wǎng)格任務(wù)控制機構(gòu)服務(wù)端就需要將分配給該資源節(jié)點的子任務(wù)重新進行分配,可以在 本虛擬組織域中按照任務(wù)的執(zhí)行過程重新選擇資源節(jié)點進行遷移執(zhí)行;若這時本域中無可 用的資源節(jié)點,域服務(wù)端則需要請求其他虛擬組織域服務(wù)端來協(xié)助完成該段任務(wù);如果本 域或者跨域協(xié)助不成功,則任務(wù)監(jiān)控代理返回整個任務(wù)的失敗信息給域服務(wù)端,將任務(wù)狀 態(tài)置為失敗,用戶查詢時提醒用戶重新提交網(wǎng)格任務(wù); 12).配合信任控制中心對資源節(jié)點進行信任記錄更新,在資源節(jié)點運行完任務(wù)后
就需要對資源節(jié)點進行信任度更新,對各資源節(jié)點的信任評判是根據(jù)在各節(jié)點上子任務(wù)的
運行時間來進行評判,由于系統(tǒng)是根據(jù)節(jié)點的性能來安排子任務(wù)的規(guī)模,原則上每個節(jié)點
上子任務(wù)的執(zhí)行時間應(yīng)該相差不大,因此根據(jù)子任務(wù)規(guī)模和節(jié)點執(zhí)行時間的規(guī)模時間比可
以測算出一個信任估值,顯然這個比值越大信任度就越高,一般穩(wěn)定在0. 6到1之間;如果
有節(jié)點出現(xiàn)異常而無法返回正常結(jié)果,也不能武斷的將其信任度置為0,而是置為小于0. 6
的某一值,一般置為0. 2。然后再和以前的信任度值綜合計算,將信任值遞交回信任控制中
心完成對資源節(jié)點信任度的更新,這樣就建立起對資源節(jié)點的主觀信任機制。 有益效果使用該方案有如下優(yōu)點 1.實現(xiàn)負(fù)載的平衡 負(fù)載平衡是用戶獲得良好服務(wù)質(zhì)量和資源充分共享的前提,在任務(wù)運行階段,采
7用資源遷移機制,使重載節(jié)點執(zhí)行較小規(guī)模的子任務(wù),使系統(tǒng)內(nèi)各資源的負(fù)載大致平衡。
2.處理任務(wù)故障和資源離開請求 當(dāng)資源由于故障或能力限制不能再繼續(xù)運行其上已經(jīng)運行的任務(wù)時,可以把這些 任務(wù)遷移到其他資源上,繼續(xù)任務(wù)的運行。當(dāng)資源提出退出網(wǎng)格請求時,把其上正在運行的 網(wǎng)格任務(wù)遷移到其他資源上,準(zhǔn)許資源退出網(wǎng)格,尊重資源擁有者的意愿。
3.充分利用網(wǎng)格資源,降低任務(wù)的整體開銷 移動代理決定任務(wù)的自由遷移,它是根據(jù)遷移對象的不同分為代碼遷移和數(shù)據(jù)遷 移。為了降低網(wǎng)格任務(wù)執(zhí)行時間和網(wǎng)絡(luò)通信負(fù)載,移動代理盡可能地將我們的網(wǎng)格任務(wù)遷 移至本域資源節(jié)點上,只有在本域中很難找到符合網(wǎng)格任務(wù)描述的資源的情況下,移動代 理將其任務(wù)的信息遷移至其他域服務(wù)器,讓其為該任務(wù)尋求合適的資源繼續(xù)執(zhí)行。
4.利用信任機制進行資源審核,優(yōu)化資源的查找 網(wǎng)格資源審核就是要帥選出可用的網(wǎng)格資源完成網(wǎng)格任務(wù)。符合條件的資源必須 是在線的、空閑的(即沒有任務(wù)需要執(zhí)行的)、可信的網(wǎng)格資源。資源的信任度表示就不僅 僅是安全問題,更多的體現(xiàn)為資源節(jié)點服務(wù)質(zhì)量的高低。
5.子任務(wù)并行求解 在網(wǎng)格計算中,移動代理不需要統(tǒng)一的調(diào)度。由用戶創(chuàng)建的代理可以異步在不同 計算節(jié)點運行,等任務(wù)完成再將結(jié)果傳送給用戶。同一用戶或同一計算節(jié)點可創(chuàng)建多種代 理,同時在一個或多個節(jié)點運行,形成并行求解的能力。
圖1是網(wǎng)格計算體系模型圖。 圖2是網(wǎng)格計算體系關(guān)于任務(wù)控制的邏輯視圖。 圖3是運用移動代理和信任機制的網(wǎng)格任務(wù)控制體系結(jié)構(gòu)圖。 圖4是任務(wù)分解樹行分支結(jié)構(gòu)圖。 圖5是任務(wù)調(diào)度模式圖。 圖6是運用移動代理和信任機制的網(wǎng)格任務(wù)控制執(zhí)行流程圖。
具體實施例方式
—、體系結(jié)構(gòu) 圖3給出了一種運用移動代理和信任機制的網(wǎng)格任務(wù)控制體系結(jié)構(gòu)。客戶端控 制中心在合法用戶在網(wǎng)格客戶端輸入任務(wù)請求描述,客戶端控制中心根據(jù)該任務(wù)請求描 述信息生成網(wǎng)格任務(wù)并提交至網(wǎng)格虛擬組織任務(wù)控制中心;數(shù)據(jù)控制控制任務(wù)信息,即 控制所存儲的各種狀態(tài)隊列下的網(wǎng)格任務(wù),以及網(wǎng)格任務(wù)的執(zhí)行信息,如任務(wù)的執(zhí)行狀態(tài)、 任務(wù)的執(zhí)行數(shù)據(jù)等;任務(wù)調(diào)度對多個網(wǎng)格任務(wù)進行任務(wù)調(diào)度;資源審核根據(jù)信任機制對 資源進行審核,匹配調(diào)度;任務(wù)分解根據(jù)網(wǎng)格虛擬組織控制中心中的資源控制信息動態(tài) 得將任務(wù)進行分解;任務(wù)執(zhí)行將子任務(wù)遷移至相匹配的資源并執(zhí)行子任務(wù);任務(wù)監(jiān)控監(jiān) 控任務(wù)的執(zhí)行過程,進行出錯處理;服務(wù)端代理服務(wù)端代理根據(jù)任務(wù)分配模塊與宿主機 中的移動代理進行通信;宿主機代理宿主機代表了網(wǎng)格資源,一旦開啟移動代理,在區(qū)域 region中注冊,就意味著該網(wǎng)格資源在虛擬組織中有效。
二、網(wǎng)格資源審核機制 網(wǎng)格資源審核就是要帥選出可用的網(wǎng)格資源完成網(wǎng)格任務(wù)。符合條件的資源必須 是在線的、空閑的(即沒有任務(wù)需要執(zhí)行的)、可信的網(wǎng)格資源。任務(wù)控制資源審核中用到 了信任控制中心提供的網(wǎng)格資源信任評估結(jié)果,網(wǎng)格任務(wù)執(zhí)行完成后任務(wù)控制中心會配合 信任控制中心進行網(wǎng)格資源的信任度更新。這里所指的信任都是一種感性的主觀信任。審 核后任務(wù)控制中心會根據(jù)資源的處理計算能力高低對網(wǎng)格資源進行一個排序,供任務(wù)選擇 使用。下面重點介紹網(wǎng)格資源可信度的評估審核過程。 當(dāng)網(wǎng)格中不同的實體要進行交易時,需要知道他們之間的信任關(guān)系,根據(jù)實體所 處自治域的不同,把實體之間的信任關(guān)系分為域內(nèi)實體之間的信任關(guān)系和域間實體之間的 信任關(guān)系。 此信任模型僅簡單的運用到了 一種域內(nèi)的信任模型來計算實體之間的信任值,其
設(shè)計思路是以網(wǎng)格各資源節(jié)點與用戶之間的直接或間接信任關(guān)系為出發(fā)點進行建模的。從
用戶對每個資源的信任評估出發(fā),首先得到和該用戶有直接信任關(guān)系的資源節(jié)點的信任
度,然后從這些資源節(jié)點出發(fā),根據(jù)這些資源節(jié)點和其他有直接信任關(guān)系的資源節(jié)點的信
任度進行合成,得到對其他資源節(jié)點的推薦信任度,依此類推,最終完成對所有資源節(jié)點的
信任度評判。如果信任度值在可信值范圍內(nèi),則此資源節(jié)點為可信節(jié)點。 三、網(wǎng)格任務(wù)分解與遷移機制 網(wǎng)格任務(wù)控制中心需要對網(wǎng)格用戶提交的任務(wù)進行分解,這里對任務(wù)的分解采用 了樹行分支結(jié)構(gòu)如圖4所示。值得注意的是網(wǎng)格任務(wù)的分解應(yīng)該考慮到網(wǎng)格環(huán)境中的靜態(tài) 負(fù)載問題,即每一個任務(wù)的分配都要求資源節(jié)點的計算能力滿足任務(wù)節(jié)點的計算需求,以 避免計算量較大的任務(wù)被分配到計算能力差的資源上,或者計算量較小的任務(wù)被分配到計 算能力強的資源上,實現(xiàn)靜態(tài)的負(fù)載平衡。 對于網(wǎng)格環(huán)境下的負(fù)載問題,由于網(wǎng)格計算環(huán)境中計算資源的組成結(jié)構(gòu)十分復(fù)
雜,它可以是上萬臺單個PC機、多個集群,甚至多個局域網(wǎng)。由于計算負(fù)載的差異、處理機
體系結(jié)構(gòu)的差異、高速緩存使用效率的差異等原因,都會造成各個資源節(jié)點之間計算負(fù)載
的不均衡,導(dǎo)致出現(xiàn)有的計算資源節(jié)點空閑等待,有的計算資源節(jié)點負(fù)載過大的現(xiàn)象。 這里要求能對資源的計算能力和并行任務(wù)的計算量都進行較為準(zhǔn)確的定量描述,
使得每一次任務(wù)的分配都要求資源節(jié)點的計算能力滿足任務(wù)節(jié)點的計算需求,以避免計算
量較大的任務(wù)被分配到計算能力差的資源上或者計算量較小的任務(wù)被分配到計算能力強
的資源上。所以若計算資源的計算能力參數(shù)和并行任務(wù)的計算需求量能夠比較準(zhǔn)確地反映
真實的情況,那么系統(tǒng)中計算能力強的資源會得到更多的任務(wù),這符合網(wǎng)格環(huán)境的負(fù)載平
衡的需求,將任務(wù)分解之后,網(wǎng)格接下來的工作便是將分解后的網(wǎng)格任務(wù)利用移動代理在
當(dāng)前時間遷移至合適的資源宿主機中繼續(xù)執(zhí)行。 四、網(wǎng)格任務(wù)分配算法 此分配算法的任務(wù)調(diào)度模式如圖5所示 在這個任務(wù)調(diào)度模式中,用戶將任務(wù)提交給網(wǎng)格服務(wù)器,網(wǎng)格服務(wù)器將任務(wù)排成 隊列形式,采取先來先服務(wù)原則。將先來的任務(wù)即優(yōu)先級最高的任務(wù)分解并分配給多個可 用資源執(zhí)行,如果出錯將在該資源上執(zhí)行的子任務(wù)再分配給本域或跨域的其他可用資源執(zhí) 行。執(zhí)行完整個任務(wù)后再執(zhí)行下一個任務(wù),具體的調(diào)度算法見下文。
網(wǎng)格的任務(wù)狀態(tài)在不斷發(fā)生著變化,我們將任務(wù)狀態(tài)定義如下 創(chuàng)建狀態(tài)created :網(wǎng)格用戶通過網(wǎng)格任務(wù)控制模塊提供的平臺編輯網(wǎng)格任務(wù),
描述任務(wù)信息等。 提交狀態(tài)submitted :網(wǎng)格任務(wù)一旦提交,用戶便會獲得該任務(wù)的唯一標(biāo)識號。網(wǎng) 格任務(wù)控制中心將網(wǎng)格任務(wù)放入處理隊列中,等待調(diào)度。 就緒狀態(tài)ready :網(wǎng)格任務(wù)通過網(wǎng)格任務(wù)控制中心的調(diào)度分解轉(zhuǎn)移至本域中合適 的資源節(jié)點上,等待執(zhí)行。 運行狀態(tài)r皿ning :網(wǎng)格任務(wù)被本域資源并行執(zhí)行。 阻塞狀態(tài)block :網(wǎng)格任務(wù)由于某種原因無法繼續(xù)運行下去,需要網(wǎng)格任務(wù)控制 中心提供某些特定信息與服務(wù),以便執(zhí)行下一個任務(wù)。 出錯狀態(tài)error :網(wǎng)格任務(wù)在其生命周期出現(xiàn)異常情況,無法進入下一個正常狀 態(tài),等待出錯處理。經(jīng)過出錯處理之后,網(wǎng)格任務(wù)才能進入其他狀態(tài)。 完成狀態(tài)finished :完成態(tài)是網(wǎng)格任務(wù)生命周期的最后一個狀態(tài),網(wǎng)格任務(wù)一旦 完成,其生命周期便結(jié)束。網(wǎng)格任務(wù)控制中心會顯示任務(wù)執(zhí)行完成,為網(wǎng)格用戶提供任務(wù)執(zhí) 行結(jié)果。 在網(wǎng)格中,我們假設(shè)該網(wǎng)格由n個可用資源節(jié)點和m個任務(wù)組成,定義如下集合R ==1,2, ...n}E ={ej i=1. 2.…n)T ={Tj|j=1,2,…m)D =A I j=1,2,…m)V =i = 1,2, ...k} 其中ei為資源&的計算能力值,dj為任務(wù)Tj的截止時間,為Tj的各子任務(wù)模 塊量。 將需要調(diào)度的任務(wù)組成一個任務(wù)集合TeT,每次網(wǎng)格任務(wù)調(diào)度中心都會從該任
務(wù)集合中選擇隊列中最前面的那個任務(wù)Ti(Ti G T),將其分解后分配到具有最好期望執(zhí)行
時間的資源節(jié)點&中執(zhí)行,整個任務(wù)執(zhí)行完成后從該任務(wù)集合中刪除這個任務(wù)。然后開始
新的調(diào)度,重復(fù)此過程直到任務(wù)集合為空。該算法的偽代碼描述如下 f or所有網(wǎng)格節(jié)點& ei = &資源的計算能力值; while (所有狀態(tài)為submitted任務(wù)隊列Q) { 找到排在任務(wù)隊列Q隊首的任務(wù)Tj ; 標(biāo)記Tj為ready ; 計算各; 根據(jù)V i分解Tj : {乙、Tj2"' Tjk};
for所有Tjk :子任務(wù)
{ 遷移子任務(wù)Tjk至資源節(jié)點&執(zhí)行;
if (子任務(wù)Tjk狀態(tài)為error) {
進行出錯處理;[OO98] if (出錯處理執(zhí)行不成功){
標(biāo)記Tj為block ;
}
} if(任務(wù)Tj標(biāo)記為ready)
標(biāo)志子任務(wù)Tjk為finished ;
} if(任務(wù)Tj標(biāo)記為ready)
標(biāo)志任務(wù)Tj為finished ;
將Tj從Q隊列中移除;
} 任務(wù)調(diào)度時,任務(wù)在隊列中等待的時間越長,它的優(yōu)先級也會加大,以免它被餓 死。另外在對執(zhí)行階段失敗的任務(wù)進行重新調(diào)度時,也應(yīng)考慮將其優(yōu)先級加大,以符合實際 需求,這是此調(diào)度模式需要改進的地方。隊首任務(wù)完成以后再開始新的調(diào)度,重復(fù)此過程直 到任務(wù)隊列為空。 —、移動代理的創(chuàng)建方案 系統(tǒng)中移動代理根據(jù)功能的不同分為兩種工作代理和控制代理。工作代理負(fù)責(zé) 任務(wù)的執(zhí)行,而控制代理負(fù)責(zé)對網(wǎng)格系統(tǒng)進行控制,通過控制代理實現(xiàn)任務(wù)監(jiān)控。駐留控制 代理的叫控制機,駐留工作代理的叫工作機,提交任務(wù)的計算機叫客戶機。在虛擬組織/自 治域內(nèi)部,通過移動代理來實現(xiàn)任務(wù)分解,并攜帶子任務(wù)遷移到各個資源節(jié)點執(zhí)行任務(wù);資 源運行任務(wù)失敗時,通過移動代理實現(xiàn)本域或者跨域的協(xié)同任務(wù)求解。
二、執(zhí)行流程 —個完整的運用移動代理和信任機制的網(wǎng)格任務(wù)控制的執(zhí)行流程如圖6所示。
1.網(wǎng)格應(yīng)用層首先提供給用戶一個使用平臺,用戶首先要經(jīng)過注冊成為該網(wǎng)格的 用戶。 2.如果用戶身份合法,網(wǎng)格確定用戶對資源的訪問控制權(quán)限,網(wǎng)格用戶即可隨時 提交任務(wù)請求。網(wǎng)格用戶填寫要提交的任務(wù),網(wǎng)格用戶在提交網(wǎng)格任務(wù)時,需給出提交的任 務(wù)描述。網(wǎng)格虛擬組織控制機構(gòu)會對網(wǎng)格用戶提交的任務(wù)的合法性、用戶訪問控制權(quán)限等 級進行檢驗,如果該任務(wù)請求合法,不存在語義沖突問題,網(wǎng)格虛擬組織服務(wù)器將接受該請 求。將該網(wǎng)格用戶任務(wù)放入任務(wù)等待對列,并將請求狀態(tài)設(shè)置為提交狀態(tài),等待調(diào)度執(zhí)行。
3.網(wǎng)格虛擬組織中心的任務(wù)控制機構(gòu)為任務(wù)進行任務(wù)調(diào)度,如果有需要執(zhí)行的任 務(wù)就繼續(xù)步驟4 ;否則任務(wù)控制機構(gòu)等待直至有用戶提交任務(wù)。
4.任務(wù)控制機構(gòu)獲取任務(wù)的描述信息,如提交者的用戶信息、任務(wù)內(nèi)容等。
5.在網(wǎng)格任務(wù)控制機構(gòu)根據(jù)信任機制對資源進行信任審核,篩選出可用的計算資 源。根據(jù)資源處理能力信息包括CPU性能,帶寬性能,內(nèi)存性能等進行綜合評定,計算出各 資源可以分配到的子任務(wù)模塊大小。 6.將任務(wù)根據(jù)需分解的各模塊大小比例分解成子任務(wù)。 7.任務(wù)的遷移。網(wǎng)格任務(wù)控制機構(gòu)啟動移動代理平臺為分解后的子任務(wù)生成若干 個任務(wù)執(zhí)行代理和任務(wù)監(jiān)控代理,任務(wù)執(zhí)行代理分別攜帶各子任務(wù)遷移到資源節(jié)點上。任
11務(wù)監(jiān)控代理跟隨相應(yīng)的任務(wù)執(zhí)行代理同樣遷移至各個資源節(jié)點上隨時監(jiān)聽任務(wù)的執(zhí)行情 況。 8.如果任務(wù)遷移成功進入步驟9,否則,任務(wù)狀態(tài)被設(shè)置為出錯狀態(tài)進入步驟11。
9.子任務(wù)被遷移至各資源節(jié)點進行并行執(zhí)行。 10.任務(wù)監(jiān)控代理隨時監(jiān)聽任務(wù)的執(zhí)行情況和資源節(jié)點的情況,等待子任務(wù)執(zhí)行 完畢。若所有子任務(wù)都成功執(zhí)行完畢,執(zhí)行代理就攜帶子任務(wù)結(jié)果返回,網(wǎng)格任務(wù)控制機構(gòu) 服務(wù)器綜合這些結(jié)果從而得到任務(wù)的完整執(zhí)行結(jié)果,并將任務(wù)狀態(tài)設(shè)置為完成狀態(tài),供用 戶查詢?nèi)蝿?wù)結(jié)果時使用,否則進入步驟11。 11.若該過程中出現(xiàn)了某個資源節(jié)點運行失敗(如該資源節(jié)點掉線或因某種原因 癱瘓等),這時任務(wù)監(jiān)控代理就返回失敗信息,網(wǎng)格任務(wù)控制機構(gòu)服務(wù)端就需要將分配給該 資源節(jié)點的子任務(wù)重新進行分配,可以在本虛擬組織域中按照任務(wù)的執(zhí)行過程重新選擇資 源節(jié)點進行遷移執(zhí)行。若這時本域中無可用的資源節(jié)點,域服務(wù)端則需要請求其他虛擬組 織域服務(wù)端來協(xié)助完成該段任務(wù)。如果本域或者跨域協(xié)助不成功,則任務(wù)監(jiān)控代理返回整 個任務(wù)的失敗信息給域服務(wù)端,將任務(wù)狀態(tài)置為失敗。用戶查詢時提醒用戶重新提交網(wǎng)格 任務(wù)。 12.配合信任控制中心對資源節(jié)點進行信任記錄更新。在資源節(jié)點運行完任務(wù)后 就需要對資源節(jié)點進行信任度更新,本系統(tǒng)中對各資源節(jié)點的信任評判是根據(jù)在各節(jié)點上 子任務(wù)的運行時間來進行評判。由于系統(tǒng)是根據(jù)節(jié)點的性能來安排子任務(wù)的規(guī)模,原則上 每個節(jié)點上子任務(wù)的執(zhí)行時間應(yīng)該相差不大,因此根據(jù)子任務(wù)規(guī)模和節(jié)點執(zhí)行時間的規(guī)模 時間比可以測算出一個信任估值,顯然這個比值越大信任度就越高, 一般穩(wěn)定在0. 6到1 之間(可見這里的信任度表示就不僅僅是安全問題,更多的體現(xiàn)為節(jié)點服務(wù)質(zhì)量的高低)。 如果有節(jié)點出現(xiàn)異常而無法返回正常結(jié)果,也不能武斷的將其信任度置為O,而是置為小于 0. 6的某一值,一般置為0. 2。然后再和以前的信任度值綜合計算,將信任值遞交回信任控 制中心完成對資源節(jié)點信任度的更新,這樣就建立起對資源節(jié)點的主觀信任機制。
權(quán)利要求
一種控制網(wǎng)格任務(wù)執(zhí)行的方法,其特征在于該方法是運用移動代理和信任機制實現(xiàn)控制過程的,具體如下一、移動代理的創(chuàng)建方案系統(tǒng)中移動代理根據(jù)功能的不同分為兩種工作代理和控制代理。工作代理負(fù)責(zé)任務(wù)的執(zhí)行,而控制代理負(fù)責(zé)對網(wǎng)格系統(tǒng)進行控制,通過控制代理實現(xiàn)任務(wù)監(jiān)控。駐留控制代理的叫控制機,駐留工作代理的叫工作機,提交任務(wù)的計算機叫客戶機;在虛擬組織/自治域內(nèi)部,通過移動代理來實現(xiàn)任務(wù)分解,并攜帶子任務(wù)遷移到各個資源節(jié)點執(zhí)行任務(wù);資源運行任務(wù)失敗時,通過移動代理實現(xiàn)本域或者跨域的協(xié)同任務(wù)求解;二、具體執(zhí)行流程1).網(wǎng)格應(yīng)用層首先提供給用戶一個使用平臺,用戶首先要經(jīng)過注冊成為該網(wǎng)格的用戶;2).如果用戶身份合法,網(wǎng)格確定用戶對資源的訪問控制權(quán)限,網(wǎng)格用戶即可隨時提交任務(wù)請求,網(wǎng)格用戶填寫要提交的任務(wù),網(wǎng)格用戶在提交網(wǎng)格任務(wù)時,需給出提交的任務(wù)描述,網(wǎng)格虛擬組織控制機構(gòu)會對網(wǎng)格用戶提交的任務(wù)的合法性、用戶訪問控制權(quán)限等級進行檢驗,如果該任務(wù)請求合法,不存在語義沖突問題,網(wǎng)格虛擬組織服務(wù)器將接受該請求,將該網(wǎng)格用戶任務(wù)放入任務(wù)等待對列,并將請求狀態(tài)設(shè)置為提交狀態(tài),等待調(diào)度執(zhí)行;3).網(wǎng)格虛擬組織中心的任務(wù)控制機構(gòu)為任務(wù)進行任務(wù)調(diào)度,如果有需要執(zhí)行的任務(wù)就繼續(xù)步驟4;否則任務(wù)控制機構(gòu)等待直至有用戶提交任務(wù);4).任務(wù)控制機構(gòu)獲取任務(wù)的描述信息,如提交者的用戶信息、任務(wù)內(nèi)容;5).在網(wǎng)格任務(wù)控制機構(gòu)根據(jù)信任機制對資源進行信任審核,篩選出可用的計算資源,根據(jù)資源處理能力信息包括中央處理器性能,帶寬性能,內(nèi)存性能等進行綜合評定,計算出各資源可以分配到的子任務(wù)模塊大??;6).將任務(wù)根據(jù)需分解的各模塊大小比例分解成子任務(wù);7).任務(wù)的遷移網(wǎng)格任務(wù)控制機構(gòu)啟動移動代理平臺為分解后的子任務(wù)生成若干個任務(wù)執(zhí)行代理和任務(wù)監(jiān)控代理,任務(wù)執(zhí)行代理分別攜帶各子任務(wù)遷移到資源節(jié)點上;任務(wù)監(jiān)控代理跟隨相應(yīng)的任務(wù)執(zhí)行代理同樣遷移至各個資源節(jié)點上隨時監(jiān)聽任務(wù)的執(zhí)行情況;8).如果任務(wù)遷移成功,進入步驟9,否則,任務(wù)狀態(tài)被設(shè)置為出錯狀態(tài)進入步驟11。9).子任務(wù)被遷移至各資源節(jié)點進行并行執(zhí)行;10).任務(wù)監(jiān)控代理隨時監(jiān)聽任務(wù)的執(zhí)行情況和資源節(jié)點的情況,等待子任務(wù)執(zhí)行完畢,若所有子任務(wù)都成功執(zhí)行完畢,執(zhí)行代理就攜帶子任務(wù)結(jié)果返回,網(wǎng)格任務(wù)控制機構(gòu)服務(wù)器綜合這些結(jié)果從而得到任務(wù)的完整執(zhí)行結(jié)果,并將任務(wù)狀態(tài)設(shè)置為完成狀態(tài),供用戶查詢?nèi)蝿?wù)結(jié)果時使用,否則進入步驟11;11).若該過程中出現(xiàn)了某個資源節(jié)點運行失敗,這時任務(wù)監(jiān)控代理就返回失敗信息,網(wǎng)格任務(wù)控制機構(gòu)服務(wù)端就需要將分配給該資源節(jié)點的子任務(wù)重新進行分配,可以在本虛擬組織域中按照任務(wù)的執(zhí)行過程重新選擇資源節(jié)點進行遷移執(zhí)行;若這時本域中無可用的資源節(jié)點,域服務(wù)端則需要請求其他虛擬組織域服務(wù)端來協(xié)助完成該段任務(wù);如果本域或者跨域協(xié)助不成功,則任務(wù)監(jiān)控代理返回整個任務(wù)的失敗信息給域服務(wù)端,將任務(wù)狀態(tài)置為失敗,用戶查詢時提醒用戶重新提交網(wǎng)格任務(wù);12).配合信任控制中心對資源節(jié)點進行信任記錄更新,在資源節(jié)點運行完任務(wù)后就需要對資源節(jié)點進行信任度更新,對各資源節(jié)點的信任評判是根據(jù)在各節(jié)點上子任務(wù)的運行時間來進行評判,由于系統(tǒng)是根據(jù)節(jié)點的性能來安排子任務(wù)的規(guī)模,原則上每個節(jié)點上子任務(wù)的執(zhí)行時間應(yīng)該相差不大,因此根據(jù)子任務(wù)規(guī)模和節(jié)點執(zhí)行時間的規(guī)模時間比可以測算出一個信任估值,顯然這個比值越大信任度就越高,一般穩(wěn)定在0.6到1之間;如果有節(jié)點出現(xiàn)異常而無法返回正常結(jié)果,也不能武斷的將其信任度置為0,而是置為小于0.6的某一值,一般置為0.2。然后再和以前的信任度值綜合計算,將信任值遞交回信任控制中心完成對資源節(jié)點信任度的更新,這樣就建立起對資源節(jié)點的主觀信任機制。
全文摘要
控制網(wǎng)格任務(wù)執(zhí)行的方法是一種在網(wǎng)格計算環(huán)境中,任務(wù)正確、高效執(zhí)行的解決方案,主要用于解決網(wǎng)格任務(wù)的安全調(diào)度問題。本方法在對網(wǎng)格資源進行審核時,提出資源必須是在線的、空閑的、可信的網(wǎng)格資源。這里對資源可信度的審核所用的信任機制是一種主觀信任模型。在任務(wù)的執(zhí)行過程中創(chuàng)建了兩種移動代理工作代理和控制代理。工作代理負(fù)責(zé)任務(wù)的執(zhí)行,而控制代理負(fù)責(zé)對網(wǎng)格系統(tǒng)進行控制,實現(xiàn)任務(wù)監(jiān)控。結(jié)合網(wǎng)格任務(wù)分配算法本方法實現(xiàn)了對網(wǎng)格中可用資源的安全動態(tài)性查找和任務(wù)執(zhí)行的自適應(yīng)性。降低了網(wǎng)格的通信量,提高網(wǎng)絡(luò)的利用率,形成任務(wù)的并行求解,從而提高網(wǎng)格資源的利用效率和網(wǎng)格計算的執(zhí)行效率。
文檔編號H04L29/08GK101715001SQ20091018493
公開日2010年5月26日 申請日期2009年10月21日 優(yōu)先權(quán)日2009年10月21日
發(fā)明者張琳, 王楊, 王汝傳, 王海艷, 莫曉莉, 鄧勇 申請人:南京郵電大學(xué)