開(kāi)放網(wǎng)格服務(wù)體系結(jié)構(gòu)(OGSA)的出現(xiàn)使得原來(lái)的網(wǎng)格資源管理模式不能夠滿足要求,本文引入代理技術(shù),詳細(xì)地介紹了多代理技術(shù),代理交互等概念,改善了OGSA模型中Web服務(wù)層,將多代理技術(shù)應(yīng)用于網(wǎng)格服務(wù)體系結(jié)構(gòu),根據(jù)堆優(yōu)先權(quán)算法,設(shè)計(jì)出多過(guò)程算法提高了服務(wù)效率,并設(shè)計(jì)出基于多代理的公安局網(wǎng)格服務(wù)管理模型系統(tǒng)。
1 引言
隨著網(wǎng)絡(luò)速度的成倍增長(zhǎng),各種計(jì)算資 源的能力越來(lái)越強(qiáng)大,這使得一種新的網(wǎng)格 計(jì)算模式——網(wǎng)格計(jì)算的出現(xiàn)成為可能。網(wǎng)格計(jì)算是指在動(dòng)態(tài)的、異構(gòu)的、廣域的虛擬 組織中進(jìn)行的協(xié)同資源共享和問(wèn)題求解 [1]。 在分布式系統(tǒng)中,軟件代理起著越來(lái)越重要的作用[2]。
它在提高效率和性能方面 有很大的優(yōu)勢(shì)。代理是一個(gè)自治的過(guò)程,它 具有反饋,適應(yīng)環(huán)境變化,與用戶協(xié)作,與其它代理交互的特點(diǎn)。這些特點(diǎn)被用于實(shí)現(xiàn) 資源管理,工作流管理和性能優(yōu)化[3,4]。
本文首先介紹了網(wǎng)格的基本概念,然后 引出了多代理的相關(guān)知識(shí),在此基礎(chǔ)上,結(jié) 合網(wǎng)格框架,將多代理技術(shù)應(yīng)用于公安局網(wǎng) 格服務(wù)模型。
2 網(wǎng)格技術(shù)
網(wǎng)格是把整個(gè)因特網(wǎng)整合成一臺(tái)巨大 的超級(jí)計(jì)算機(jī),實(shí)現(xiàn)各種資源的全面共享。 當(dāng)然,網(wǎng)格并不一定非要這么大,也可以構(gòu)造地區(qū)性的網(wǎng)格,如企事業(yè)內(nèi)部網(wǎng)格、局域 網(wǎng)網(wǎng)格,甚至家庭網(wǎng)格和個(gè)人網(wǎng)格等等。網(wǎng) 格的本質(zhì)特征是:分布于資源共享。分布是網(wǎng)格最本源的特征,網(wǎng)格是通過(guò)集中分散的 資源完成計(jì)算的,資源共享是一種集中資源 高度抽象。網(wǎng)格的特點(diǎn):分布性,共享性,自相似性,動(dòng)態(tài)性,異構(gòu)性,多級(jí)自治管理 域等等[5]。
隨著網(wǎng)格的發(fā)展,現(xiàn)在主要有兩個(gè)網(wǎng)格 體系結(jié)構(gòu)標(biāo)準(zhǔn):一個(gè)是面向協(xié)議的五層沙漏 結(jié)構(gòu),另一個(gè)是面向服務(wù)的開(kāi)放式網(wǎng)格服務(wù) 體系結(jié)構(gòu)(Open Grid Service Architecture)[6] 。
如圖1 顯示了OGSA 的基本框架。OGSA 是在原來(lái)“五層沙漏結(jié)構(gòu)” 的基礎(chǔ)上,結(jié)合最新的Web Service 技術(shù)提出來(lái)的,它解決了兩個(gè)重要的問(wèn)題,即標(biāo) 準(zhǔn)服務(wù)接口的定義和協(xié)議的識(shí)別。OGSA 包 括兩大關(guān)鍵技術(shù),即網(wǎng)格技術(shù)和Web Service 技術(shù)。
以服務(wù)為中心是OGSA 的基 本思想,在 OGSA 中一切都是服務(wù),包括計(jì) 算機(jī)、程序、數(shù)據(jù)、儀器設(shè)備等。這種觀念,有利于通過(guò)統(tǒng)一的標(biāo)準(zhǔn)接口來(lái)管理和使用 網(wǎng)格。這一結(jié)構(gòu)的意義,就在于它將網(wǎng)格從 以科學(xué)和工程計(jì)算為中心的學(xué)術(shù)研究領(lǐng)域,擴(kuò)展到更廣泛的以分布式系統(tǒng)服務(wù)集成為 主要特征的社會(huì)經(jīng)濟(jì)活動(dòng)領(lǐng)域[7]。
3 多代理技術(shù)
代理技術(shù)[11]廣泛地用于人工智能領(lǐng) 域。它能運(yùn)行于一臺(tái)計(jì)算機(jī)或一類同性質(zhì)的 系統(tǒng)中。具有自治,自適應(yīng),交互,互操作等特點(diǎn)。這些特點(diǎn)可以保證網(wǎng)格服務(wù)的性 能。特別是服務(wù)發(fā)現(xiàn)機(jī)制能提高性能。本文 所述的代理的技術(shù)主要應(yīng)用于OGSA 的第三層,即Web服務(wù)層。
3.1多代理層次模型
多代理層次模型如圖2 所示。這個(gè)模型 主要是用來(lái)改進(jìn)開(kāi)放式網(wǎng)格服務(wù)系統(tǒng)的性 能的.在所提出的結(jié)構(gòu)中,網(wǎng)格服務(wù)功能是由代理所表現(xiàn)出來(lái)的。
一般的,像自適應(yīng)性 和互操作性等特點(diǎn)與網(wǎng)格服務(wù)相結(jié)合來(lái)提 高網(wǎng)格服務(wù)功能。網(wǎng)格中基于代理部署的優(yōu) 點(diǎn)是服務(wù)性能將會(huì)由網(wǎng)格學(xué)習(xí)和交互所改善。 代理服務(wù)管理器(ASM)是一個(gè)重要的部 件,它管理著大規(guī)模同類分布式環(huán)境,同時(shí) 它也管理所有的代理。ASM 所起的作用是監(jiān) 視、調(diào)度和提供代理管理機(jī)制,同時(shí),ASM 也與用戶相交互。除此之外,監(jiān)視模塊被提 供用來(lái)從代理接收數(shù)據(jù)和管理代理系統(tǒng)。
代理是基于層次模型。層次模型被用于 解決可測(cè)量性問(wèn)題。大規(guī)模復(fù)雜的軟件系統(tǒng) 大都采用軟件代理。在圖2中,代理有相同 的組件模型。
當(dāng)然,每個(gè)代理都有一組相同 的功能集合。發(fā)送請(qǐng)求和提供服務(wù)是網(wǎng)格服 務(wù)系統(tǒng)中所有代理的特點(diǎn)。所采用的模型主 要的目的是滿足可測(cè)量性的要求,可測(cè)量要 求是網(wǎng)格計(jì)算中的一個(gè)關(guān)鍵的因素。除此之 外,層次模型也用于代理之間的交流和服務(wù) 發(fā)現(xiàn)。
3.2代理交互
代理的交互是基于面向服務(wù)的模型。根 據(jù)前面所述,層次模型用來(lái)提供目錄,這些 目錄是用于代理發(fā)布他們的功能和尋找請(qǐng) 求所需功能的代理。除了這些功能之外,代 理之間是基于訪問(wèn)控制表(ACL)[8]來(lái)傳遞 消息的。
代理之間的通信如圖3 所示,代理是通 過(guò)ACL 來(lái)交互的。在模型中,ACL 是由XML 協(xié)議所映射的。XML 的內(nèi)容將會(huì)被送到 SOAP(Simple Object Access Protocol)[9],這是用來(lái)XML 編碼用來(lái)交換信息。
一個(gè)代理 將會(huì)被看作是Web服務(wù)用來(lái)為每一種性能提 供一種方法。在提出的交互模型中,代理者 被代理所請(qǐng)求用來(lái)找到其他的位置,它也被 用來(lái)固定代理層次。當(dāng)一個(gè)父親與孩子節(jié)點(diǎn) 的連接破壞是,代理者將會(huì)用它的含有表示 符合代理位置的表格來(lái)重建層次模型。
4 多代理技術(shù)在網(wǎng)格中的應(yīng)用
4.1概述
公安局網(wǎng)格管理系統(tǒng)就是利用網(wǎng)格的 各種技術(shù)將各部門的資源結(jié)合在一起,實(shí)現(xiàn) 快速、有效、方便的查詢和管理各類資源。 因此根據(jù)前面對(duì)網(wǎng)格及多代理機(jī)制的描述, 將多代理技術(shù)應(yīng)用于網(wǎng)格服務(wù)模型,并設(shè)計(jì) 出公安局網(wǎng)格服務(wù)模型,該模型框架如圖4 所示:
基于多代理的公安局網(wǎng)格模型應(yīng)具有 如下功能:
1、提供用戶安全認(rèn)證服務(wù)。
2、服務(wù)質(zhì)量保證。
3、代理之間能夠協(xié)作可以共同完成任務(wù)。
4、代理服務(wù)管理管理代理。
基于多代理的公安局網(wǎng)格模型的工作 過(guò)程如下:
(1)網(wǎng)格用戶通過(guò)用戶身份認(rèn)證進(jìn)入網(wǎng) 格管理系統(tǒng)。
(2)網(wǎng)格用戶通過(guò)網(wǎng)格應(yīng)用程序提交網(wǎng) 格應(yīng)用請(qǐng)求。
?。?)代理服務(wù)管理接收到用戶的請(qǐng)求后, 將任務(wù)分配各個(gè)代理處理。
?。?)代理在進(jìn)行任務(wù)處理時(shí),同時(shí)可以 與代理服務(wù)管理進(jìn)行交互,而且代理之間可 以協(xié)作共同完成某項(xiàng)任務(wù)。
?。?)代理在完成代理服務(wù)管理分發(fā)的任 務(wù)后,將結(jié)果交還給代理服務(wù)管理,由它向 上層用戶提交結(jié)果。 在基于多代理的公安局服務(wù)模型中,對(duì) 用戶的請(qǐng)求進(jìn)行了分類,每一類任務(wù)由一種 代理獨(dú)立完成或多個(gè)代理協(xié)作完成,這恰恰 體現(xiàn)了代理的互操作性。
另外,假設(shè)用戶對(duì) 所需的服務(wù)可能不止一次,當(dāng)相同的服務(wù)再 次需要時(shí),代理就會(huì)很快地找到所需的服 務(wù),這滿足了代理自治性的特點(diǎn)。除了以上 兩點(diǎn)之外,模型還有如下優(yōu)點(diǎn):
1、平臺(tái)無(wú) 關(guān)性。服務(wù)資源通過(guò)網(wǎng)格服務(wù)的虛擬化實(shí)現(xiàn) 平臺(tái)無(wú)關(guān),不同類型的服務(wù)資源被封裝能夠 提供不同服務(wù),服務(wù)的描述與所提供服務(wù)的 具體設(shè)備和操作系統(tǒng)無(wú)關(guān)。
2、服務(wù)質(zhì)量保 證。在所提出的模型中,我們利用堆優(yōu)先權(quán) 算法[10],設(shè)計(jì)出多過(guò)程算法來(lái)保證服務(wù)質(zhì) 量(偽代碼,語(yǔ)言是C++):
Vector
If(InQueue==NULL)
Wait(data);
Else
{
if(SearchMax(Priority,ProcessQueue))
{
Find(agent);
Send(data,Priority,agent);
EQueue(agent,ProcessQueue);
}
Translate(data);
Store(Sendagent,Receiveagent,
ProcessQueue);
說(shuō)明如下:InQueue,ProcessQueue是接 收隊(duì)列和處理隊(duì)列,Priority 是代理的優(yōu)先 權(quán),data 是數(shù)據(jù)。工作原理說(shuō)明如下:首先 監(jiān)視模塊查詢接收隊(duì)列,如果為空就等待數(shù) 據(jù),否則從處理隊(duì)列中選取優(yōu)先權(quán)(采用堆 優(yōu)先權(quán)算法)最大的代理,把數(shù)據(jù),優(yōu)先權(quán) 保存到處理隊(duì)列中,然后傳送數(shù)據(jù),保存發(fā) 送代理和接收代理到處理隊(duì)列。 模型在多代理技術(shù)的基礎(chǔ)之上,提出了 在代理服務(wù)管理模塊上提供了一個(gè)接口,通 過(guò)這個(gè)接口可以訪問(wèn)更高一級(jí)的公安局的 資源,從而更加有效的實(shí)現(xiàn)了資源共享。
系統(tǒng)同時(shí)體現(xiàn)網(wǎng)格的優(yōu)點(diǎn):1、分布性。 各個(gè)公安局分布在不同的地方,具有分布 性。2、異構(gòu)性。組成系統(tǒng)的操作系統(tǒng)有Unix,也有Linux和Windows,操作系統(tǒng)是異構(gòu)的; 數(shù)據(jù)庫(kù)有Oracle 也有SQL 或其他,數(shù)據(jù)庫(kù) 也是異構(gòu)的。3、用戶透明。對(duì)于用戶來(lái)說(shuō), 只需要提交相應(yīng)的服務(wù)請(qǐng)求,便會(huì)得到相應(yīng) 的服務(wù),不需要知道服務(wù)的提供者,系統(tǒng)對(duì) 用戶是透明的。
5 結(jié)束語(yǔ)
本文先敘述了網(wǎng)格的相關(guān)術(shù)語(yǔ),然后引 進(jìn)了多代理的技術(shù),將多代理技術(shù)應(yīng)用于開(kāi) 放網(wǎng)格模型中的Web服務(wù)層,設(shè)計(jì)出基于多 代理的網(wǎng)格服務(wù)模型,并描述了模型的工作 原理以及模型的優(yōu)點(diǎn)。
創(chuàng)新觀點(diǎn):把代理技術(shù)運(yùn)用于網(wǎng)格中,利用 堆優(yōu)先權(quán)算法,設(shè)計(jì)出多過(guò)程算法保證服務(wù) 質(zhì)量,并應(yīng)用于一個(gè)實(shí)際的項(xiàng)目中。