国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

保障多Agent通信可靠性方法和策略的研究

2011-11-25 02:37劉愛(ài)軍
制造業(yè)自動(dòng)化 2011年19期
關(guān)鍵詞:消息可靠性服務(wù)器

劉愛(ài)軍

(河北能源職業(yè)技術(shù)學(xué)院,唐山 063000)

0 引言

隨著計(jì)算機(jī)與網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,出現(xiàn)了越來(lái)越復(fù)雜的且具有分布式特性的任務(wù)。其不僅需要計(jì)算機(jī)軟件快速響應(yīng)用戶的請(qǐng)求,還需要其在某種程度上具備和人腦相似的功能,能夠自我控制、獨(dú)立思考、主動(dòng)尋找信息以及與其他軟件相互協(xié)作等等,即具備“智能性”。起源于分布式人工智能領(lǐng)域的Agent技術(shù)正是滿足這一需求的最佳選擇。

Agent是一種在協(xié)作系統(tǒng)或分布式系統(tǒng)中能夠自主且持續(xù)發(fā)揮作用的計(jì)算實(shí)體。單個(gè)Agent具備自治性、通信性、交互性和協(xié)作性等特點(diǎn),然而在某些工作環(huán)境復(fù)雜、不確定性強(qiáng)的大型分布式系統(tǒng)中,以單個(gè)Agent的能力就無(wú)法勝任了,要滿足應(yīng)用要求,就需要將多個(gè)Agent聯(lián)合在一起組成一個(gè)大集合。通過(guò)多個(gè)Agent之間的相互合作、協(xié)調(diào)和影響來(lái)共同完成目標(biāo)。通信是在多個(gè)Agent相互協(xié)作時(shí)所必不可少的。此時(shí),每個(gè)Agent除履行自己的職責(zé)外,還要與其他Agent進(jìn)行通信以獲取并傳達(dá)必要信息,進(jìn)而完成請(qǐng)求、應(yīng)答、轉(zhuǎn)發(fā)、控制、協(xié)商和任務(wù)等不同操作,最終實(shí)現(xiàn)整個(gè)問(wèn)題的求解,這樣才構(gòu)成一個(gè)多Agent系統(tǒng)。在該系統(tǒng)中,Agent之間的通信是整個(gè)系統(tǒng)協(xié)作運(yùn)轉(zhuǎn)的關(guān)鍵環(huán)節(jié),保障其通信可靠性是至關(guān)重要的。

1 多Agent通信技術(shù)分析

統(tǒng)使用的通信語(yǔ)言主要有FIPA-ACL語(yǔ)言和KQML語(yǔ)言。它們都可以滿足Agent通信的基本要求,并且具有各自的優(yōu)點(diǎn)。另外,多Agent系統(tǒng)中常用的通信機(jī)制也有很多,例如廣播通信、直接通信、聯(lián)邦系統(tǒng)和公共黑板系統(tǒng)等等。在國(guó)內(nèi)的研究中曾經(jīng)對(duì)這幾種通信方式的評(píng)價(jià)為:間接的通信連接(聯(lián)邦系統(tǒng)、公共黑板系統(tǒng))優(yōu)于直接的通信連接(直接通信、廣播通信),可以獲得較高的可靠值。

經(jīng)過(guò)大量的調(diào)查與研究,結(jié)合上述技術(shù),作者提出了一種用于多Agent系統(tǒng)通信平臺(tái)的通信協(xié)議——ACP(Agent Communication Protoc)。這是一種以KQML語(yǔ)言為基礎(chǔ),采用與聯(lián)邦系統(tǒng)機(jī)制相似的Agent通信協(xié)議,具體使用了RMI技術(shù)與CORBA技術(shù)相結(jié)合的方式。ACP協(xié)議很好地實(shí)現(xiàn)了分布式多Agent系統(tǒng)中各個(gè)Agent之間的相互通信,規(guī)定了通信的結(jié)構(gòu)和規(guī)則,具備了可擴(kuò)展性和跨平臺(tái)性,并且在實(shí)際應(yīng)用中取得了理想的效果。然而,ACP協(xié)議對(duì)于多Agent之間通信的可靠性保障方面還沒(méi)有做出考慮,對(duì)于通信中錯(cuò)誤的避免、發(fā)現(xiàn)以及解決沒(méi)有給出適當(dāng)?shù)姆椒ê筒呗浴R虼?,有必要進(jìn)一步完善ACP協(xié)議,使其能夠保障通信可靠性。本文將會(huì)結(jié)合ACP協(xié)議的工作原理和流程來(lái)研究其可靠性問(wèn)題,給出各個(gè)環(huán)節(jié)的解決方案。

通信語(yǔ)言是通信的必備工具。目前多Agent系

2 研究思路

本文以ACP協(xié)議為基礎(chǔ)研究其工作原理:Agent在通信前需要先在主服務(wù)器注冊(cè),然后該Agent會(huì)被分配給某個(gè)通信組,該通信組由多個(gè)Agent組成,通信工作都在該組內(nèi)角色服務(wù)器的支持下完成。

通過(guò)分析ACP協(xié)議的工作原理可知:該系統(tǒng)中的基礎(chǔ)性工作由主服務(wù)器完成,各個(gè)Agent之間的通信依靠角色服務(wù)器進(jìn)行控制和中轉(zhuǎn),而單個(gè)Agent只負(fù)責(zé)發(fā)送和接受等基本操作,其主要工作集中在本身的任務(wù)上,這樣大大減少了通信負(fù)荷。

角色服務(wù)器與網(wǎng)絡(luò)通信中的路由器功能相類似,所以其可靠性在整個(gè)通信系統(tǒng)中起著重要作用。多Agent之間是協(xié)作關(guān)系,某個(gè)Agent失效也必然會(huì)影響整個(gè)系統(tǒng)的工作進(jìn)度,因此Agent自身的可靠性也是必須保證的。此外,負(fù)責(zé)Agent注冊(cè)工作的主服務(wù)器也是系統(tǒng)的重要環(huán)節(jié),應(yīng)該有一套用于保證其可靠性的專門機(jī)制。

3 可靠性保障技術(shù)

本文從實(shí)踐方面出發(fā),主要給出了解決ACP協(xié)議中與可靠性相關(guān)的問(wèn)題,如錯(cuò)誤避免、發(fā)現(xiàn)與處理等,主要方法如下。

3.1 角色服務(wù)器

每個(gè)角色服務(wù)器對(duì)應(yīng)著一個(gè)Agent通信組。該Agent通信組與外界Agent之間的通信均需要通過(guò)組內(nèi)的角色服務(wù)器來(lái)完成。為了簡(jiǎn)化Agent之間通信的復(fù)雜性,同一個(gè)Agent通信組的通信也由該組的角色服務(wù)器來(lái)完成。在此工作方式下,角色服務(wù)器承擔(dān)大量的消息路由操作任務(wù)。

角色服務(wù)器定期計(jì)算自身用于轉(zhuǎn)發(fā)消息的隊(duì)列長(zhǎng)度。在超過(guò)給定閾值時(shí),認(rèn)為可靠性將嚴(yán)重降低。此時(shí),角色服務(wù)器逆向消息流發(fā)送控制信息,以減少初始發(fā)送Agent的消息流量,或減少消息路徑上的前一個(gè)角色服務(wù)器消息流出量,最終使得自身的消息隊(duì)列可以及時(shí)得到處理,隊(duì)列長(zhǎng)度降低到安全閾值之下,進(jìn)而提高可靠性。

當(dāng)角色服務(wù)器出現(xiàn)硬件等不可恢復(fù)的錯(cuò)誤時(shí),為了能使Agent和消息路徑上的前一個(gè)角色服務(wù)器發(fā)現(xiàn)此種錯(cuò)誤,需要對(duì)發(fā)送的每個(gè)消息增加計(jì)時(shí)的功能。如果在指定時(shí)間內(nèi)沒(méi)有收到該角色服務(wù)器的反饋信息,則認(rèn)為該角色服務(wù)器出現(xiàn)不可恢復(fù)錯(cuò)誤。上述步驟也可以重復(fù)指定次數(shù)后再認(rèn)定為不可恢復(fù)錯(cuò)誤。

由于每個(gè)角色服務(wù)器代表一個(gè)通信組,所以一旦該角色服務(wù)器出現(xiàn)問(wèn)題,則整組通信均失敗。為了避免這種情況,需要為每組提供多個(gè)角色服務(wù)器,并在多個(gè)角色服務(wù)器之間實(shí)現(xiàn)該組Agent通信的負(fù)載均衡。此外,在一臺(tái)角色服務(wù)器出現(xiàn)不可恢復(fù)的錯(cuò)誤時(shí),應(yīng)使消息流能夠自動(dòng)切換到其余可用角色服務(wù)器之上,以保證通信的可靠進(jìn)行。

3.2 Agent

Agent作為通信的端點(diǎn),如果同時(shí)面臨多個(gè)發(fā)送方,可能會(huì)導(dǎo)致本身的處理速度不足,以至于來(lái)不及響應(yīng)消息的發(fā)送方Agent。此時(shí)可能會(huì)造成發(fā)送方Agent或角色服務(wù)器的誤判,認(rèn)為出現(xiàn)硬件故障。所以Agent也必須定期檢測(cè)自己的接收隊(duì)列,如果長(zhǎng)度超過(guò)一定閾值,則逆向消息流發(fā)送控制信息,以逐漸恢復(fù)可靠性。

當(dāng)Agent出現(xiàn)硬件等不可恢復(fù)的錯(cuò)誤時(shí),由于它并不是簡(jiǎn)單的消息發(fā)送與接收者,也是整個(gè)系統(tǒng)中完成指定任務(wù)的一個(gè)參與者,而且為了滿足最大效率的利用資源,每個(gè)Agent完成的任務(wù)也不盡相同。所以,當(dāng)Agent出現(xiàn)不可恢復(fù)的錯(cuò)誤時(shí),不僅代表通信的一方失敗,同時(shí)也代表了整個(gè)系統(tǒng)中部分任務(wù)的執(zhí)行失敗。因此,針對(duì)此種情況的可靠性恢復(fù)就包括了任務(wù)的回收與再分配的過(guò)程。為了檢測(cè)此種錯(cuò)誤,不能簡(jiǎn)單的依靠角色服務(wù)器中的通信節(jié)點(diǎn)間的計(jì)時(shí)器去發(fā)現(xiàn)。

作者采用的錯(cuò)誤發(fā)現(xiàn)和解決思路簡(jiǎn)單地說(shuō)就是:每個(gè)Agent定期向負(fù)責(zé)注冊(cè)功能的主服務(wù)器報(bào)告自身的存在狀態(tài),主服務(wù)器維護(hù)所有注冊(cè)Agent的存在狀態(tài)。當(dāng)主服務(wù)器檢測(cè)到某個(gè)Agent若干周期沒(méi)有通報(bào)過(guò)自身的存在狀態(tài)時(shí),認(rèn)為該Agent出現(xiàn)不可恢復(fù)錯(cuò)誤,并由主服務(wù)器調(diào)取曾經(jīng)分配給該Agent的任務(wù),將該任務(wù)或完整、或細(xì)分后再發(fā)送給其他存在的Agent。

3.3 主服務(wù)器

主服務(wù)器負(fù)責(zé)各個(gè)Agent的注冊(cè)并維護(hù)存在狀態(tài)工作,同時(shí)也完成任務(wù)的分配工作,是整個(gè)通信系統(tǒng)的基礎(chǔ)。為了避免該服務(wù)器對(duì)整個(gè)系統(tǒng)的影響,應(yīng)提供多個(gè)主服務(wù)器實(shí)現(xiàn)備份功能。同時(shí),主服務(wù)器之間應(yīng)實(shí)現(xiàn)信息共享,以避免某個(gè)主服務(wù)器失效后,對(duì)任務(wù)完成情況和Agent注冊(cè)情況的丟失。

主服務(wù)器之間信息共享的簡(jiǎn)單方式為全互聯(lián)式的通信,但這樣會(huì)加大主服務(wù)器的工作負(fù)荷,從而導(dǎo)致可靠性降低。作者采用的方法為指定主服務(wù)器的身份,即對(duì)主服務(wù)器人為指定一個(gè)排序序列,所有主服務(wù)器僅需向排序序列中的最前兩個(gè)主服務(wù)器共享信息。當(dāng)有一臺(tái)主服務(wù)器出現(xiàn)問(wèn)題,均可保證全系統(tǒng)信息的完整性,同時(shí)極大的降低了共享信息所導(dǎo)致的消息流量。如果失效的是兩個(gè)接收完整信息的主服務(wù)器之一,則按序列自動(dòng)產(chǎn)生一個(gè)新的接收完整信息的主服務(wù)器即可。

4 結(jié)束語(yǔ)

本文針對(duì)ACP協(xié)議的通信結(jié)構(gòu)并結(jié)合網(wǎng)絡(luò)通信中錯(cuò)誤發(fā)現(xiàn)與恢復(fù)的方法所提出的保障多Agent通信可靠性方法和策略進(jìn)行了介紹。以ACP協(xié)議為對(duì)象提出的這些方法和策略的主要思想不乏通用性,相信會(huì)對(duì)該領(lǐng)域內(nèi)的同類型問(wèn)題具有普遍的指導(dǎo)意義。

另外,可靠性是相對(duì)可靠,而不是絕對(duì)可靠,比如上述思路中兩臺(tái)用于接收完整信息的主服務(wù)器同時(shí)出現(xiàn)故障,由于大量信息的缺失,則對(duì)整個(gè)系統(tǒng)造成非常嚴(yán)重的后果。所以,作者提出的策略是考慮到實(shí)際情況,盡可能在性能與可靠性之間找到一個(gè)平衡點(diǎn)。

[1] 孫壯志,尹國(guó)峰,王海竹.Multi-Agent系統(tǒng)中Agent通信可靠性的研究[J].計(jì)算機(jī)工程與應(yīng)用,2003:165-166.

[2] 劉揚(yáng),史小宏.移動(dòng)Agent通信可靠性研究[J].現(xiàn)代計(jì)算機(jī),2008,(285):22-24.

[3] 張林,徐勇,劉福成.多Agent系統(tǒng)的技術(shù)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,18(8):80-83.

[4] 魏曉斌,周盛宗.Boris Bachendo. Rainer Unland.Agent通信機(jī)制探討[J].計(jì)算機(jī)工程與應(yīng)用,2002:66-70.

[5] 張士杰,郭宏偉.多代理系統(tǒng)的通信技術(shù)及其應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究.2001,(6):15-20.

[6] Uwe M Borghoff,Johann H Schlichter.Computer-Supported Cooperative Work:Introduction to Distributed Applications [M].Berlin,New York:Springer,2000.

[7] A.V.Bakre, B.Badrinath.Implementation and Performance Evaluation of Indirect TCP.IEEE Transactions on Computers, 1997,46(2):353- 361.

[8] Michael Wooldridge.An Introduction to Multi Agent Systems.John Wiley & Sons Inc,2002.

猜你喜歡
消息可靠性服務(wù)器
一張圖看5G消息
通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
PowerTCP Server Tool
合理使用及正確測(cè)試以提升DC/DC變換器可靠性
GO-FLOW法在飛機(jī)EHA可靠性分析中的應(yīng)用
電子制作(2017年2期)2017-05-17
論如何提高電子自動(dòng)化控制設(shè)備的可靠性
得形忘意的服務(wù)器標(biāo)準(zhǔn)
計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
消息
韩城市| 大安市| 沾益县| 仁寿县| 淮南市| 道孚县| 连江县| 田阳县| 新竹市| 乾安县| 广丰县| 仪陇县| 屏东市| 莎车县| 肥乡县| 皋兰县| 巴青县| 江川县| 大关县| 光山县| 香河县| 仁寿县| 泰兴市| 城固县| 常熟市| 东乡族自治县| 汾阳市| 苍溪县| 三门县| 达尔| 阿拉善盟| 高州市| 张掖市| 济宁市| 铜川市| 嵊州市| 嘉祥县| 泸溪县| 巴塘县| 瑞丽市| 永平县|