《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于多Agent的云服務中間件的研究與應用
基于多Agent的云服務中間件的研究與應用
來源:微型機與應用2013年第20期
陸雄斌,郭朝珍
(福州大學 數學與計算機科學學院,福建 福州350108)
摘要: 在Web應用日益普及的今天,Web服務器承擔的任務越來越繁重,特別是進行大數據量的計算時,服務器的硬件資源成了計算效率的瓶頸。為了解決這一問題,結合云計算和中間件的技術特點,提出了一種基于多Agent的云服務中間件的體系架構,該框架分為用戶接口層、SOA層和資源管理層3個層次,內部采用多Agent技術。節點間通過ACL消息進行通信,負載均衡采用靜態計算能力與動態負載相結合,內置的日志服務和容錯服務保障系統穩定運行。將此框架應用到實際Web應用中可以大大提高Web服務器的計算效率。
Abstract:
Key words :

摘  要: 在Web應用日益普及的今天,Web服務器承擔的任務越來越繁重,特別是進行大數據量的計算時,服務器的硬件資源成了計算效率的瓶頸。為了解決這一問題,結合云計算和中間件的技術特點,提出了一種基于多Agent的云服務中間件的體系架構,該框架分為用戶接口層、SOA層和資源管理層3個層次,內部采用多Agent技術。節點間通過ACL消息進行通信,負載均衡采用靜態計算能力與動態負載相結合,內置的日志服務和容錯服務保障系統穩定運行。將此框架應用到實際Web應用中可以大大提高Web服務器的計算效率。
關鍵詞: 云服務;中間件;多Agent系統分布式計算;負載平衡


    隨著當今網絡體系和Web技術的發展,Web應用被廣泛使用,Web服務器所承載的負荷越來越大,使得對于大數據量的計算不能及時響應。因此,需要有一種技術,不僅能將大任務分配給多臺機器共同計算,分擔服務器的工作,提高計算效率和穩定性,還能利用閑置計算資源,避免資源浪費,這就是云計算。
    云計算(Cloud Computing)[1]是一種基于互聯網的計算方式,通過這種方式,共享的軟硬件資源和信息可以按需提供給計算機和其他設備。
    中間件(Middleware)[2]是一種獨立的系統軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源。
    Agent是一種在某個環境中自主行動以實現其設計目標的智能化軟件實體[3-4]。其應用主要是以一種松散耦合的Agent網絡,即MAS出現,在多個Agent之間以結構化的ACL[5](Agent Communication Language)進行交互、協作,以完成某一項任務。
    臺風預報系統是一個典型的Web應用,它是一個會商式的群決策支持系統(GDSS)[6-7],其中的專家預報路徑就涉及了大數據量計算,本文將云服務中間件的技術應用到臺風預報系統上,以提高相似路徑計算的效率。
1 云服務中間件的體系架構
1.1 云服務中間件的工作原理

    云服務中間件的設計可以將大任務分解成若干小任務,再通過分配給閑置計算節點來分擔服務器的工作,計算結果由所有計算節點產生的子結果匯集而成。云服務中間件的工作原理如圖1所示。

    用戶接口層定義了外部程序調用云服務所需的接口,請求端的Agent將計算任務通過接口發給云服務中間件。
    SOA層管理著云服務中間件結構所需的基本服務,包括主控服務、計算服務、日志服務和容錯服務。目錄服務是SOA層各類服務的目錄,提供查找已注冊在目錄上的服務,并調用它。計算任務通過用戶接口傳進SOA層后,被發送到目錄下的主控服務上。
    資源管理層是操作計算機資源的各種Agent組成,每一種Agent負責對應的工作。在主控服務下有一個主控Agent,帶有一個負載均衡器。計算服務下有多個計算Agent,日志服務下有多個日志Agent,有一個日志收集器和多個日志記錄器。容錯服務下有多個容錯Agent。主控Agent對應一個日志收集器和一個容錯Agent,每個計算Agent對應一個日志記錄器和一個容錯Agent。
    主控Agent是云服務中間件的核心Agent,它管理著所有計算Agent節點,負責接收請求端發來的計算任務,根據業務邏輯對任務進行分解,并通過負載均衡器將子任務分配給輕載的計算節點。主控Agent所帶的日志收集器Agent負責收集日志記錄器Agent發送的日志消息,記錄在平臺和日志文件中。計算Agent在云服務中間件起著重要的作用,它是計算的核心,接收來自主控Agent發來的子任務,計算并返回部分結果。每個計算Agent都帶有一個日志記錄器Agent,用以記錄Agent工作的日志并轉發給日志收集器Agent。同時,主控Agent和計算Agent都帶有一個容錯Agent,容錯Agent負責處理Agent異常并恢復出錯的Agent。
1.3 云服務中間件的消息機制
    云服務中間件是通過Agent間的發送接收消息來完成內部通信的,ACL消息是Agent的通信語言,兩個重要的屬性分別是對象內容和接收者,對象內容是指發送消息的對象,可以是一個java類對象,接收者是接收Agent的ID。通信過程是:發送Agent將消息對象封裝到ACL消息中,通過send方法發送消息給指定的接收Agent;接收Agent通過receive方法接收ACL消息并解開消息對象,讀取消息內容。通信過程如圖3所示。

    消息對象是存儲消息內容的對象,云服務中間件根據不同的需求定義不同的消息格式,它們共同繼承自一個消息基類,消息基類管理所有消息的類型。云服務中間件涉及的消息對象有注冊相關消息、業務相關消息、登錄相關消息、負載相關消息和日志相關消息。
2 負載均衡策略
    負載平衡[8]是分布式系統的資源管理模塊,它的主要功能是合理和透明地在處理器之間分配系統負載,以達到系統的綜合性能最優。負載均衡器設計的目的是在眾多閑置的計算節點中選擇閑置計算能力最大的作為任務分配的節點,以達到計算效率最優。
    本文所采用的負載平衡是結合靜態計算能力和動態負載加權組成,同時考慮了節點的靜態能力和動態負載,兩者加權得出閑置計算能力,使得分配任務更合理,充分利用了計算資源。設計算節點為C,閑置計算能力的計算方法如式(1)所示:
    Abilityfree(C)=Abilitytotal(C)×(1-LoadValue(C)/100)(1)
其中Abilitytotal(C)為計算節點C的全部計算能力,即靜態計算能力。LoadValue(C)為計算節點C的負載值,即動態負載,單位是百分比。

 


    (1)專家編輯方案,系統將預測路徑通過云服務模式交給請求Agent;
    (2)請求Agent將預報路徑封裝成預報消息,發送給云服務中間件的主控Agent;
    (3)主控Agent接收到預報消息后,將任務分解成若干子任務,分發給計算Agent;
    (4)計算Agent計算最相似歷史臺風路徑,返回結果給主控Agent;
    (5)主控Agent匯總結果,將結果封裝成結果消息發送回請求Agent;
    (6)請求Agent解開結果消息,把最相似路徑在地圖上顯示給專家。
    期間,請求Agent、計算Agent將工作日志發送給日志記錄Agent,主控Agent將工作日志發送給日志收集Agent,日志記錄Agent將接收到的日志轉發給日志收集Agent。容錯Agent負責對主控Agent和計算Agent集群中的每個計算Agent進行監控。
4 實驗結果及分析
4.1 實驗準備

    將云服務中間件應用到臺風預報系統中,分別對單機和云服務兩個模式進行實驗,測試計算時間。實驗所用到的計算機集群有:1臺主控服務器,1臺Web服務器,若干臺計算服務器和若干臺數據庫服務器。
    實驗數據有多組,每組均來自隨機產生的臺風路徑,每個臺風的路徑點數為66個,對不同數量臺風的臺風預測計算時間,對單機與云服務進行效率比較。
4.2 實驗結果
    單機模式與云服務模式的計算的平均時間如表1所示。

    從表中可以看出,云服務的整體計算性能明顯高于單機,當臺風個數為1 200時,云服務計算時間僅為單機的31.84%,速度提高了214.11%, 說明云服務中間件應用到臺風預報系統中可以大大提高Web服務器的計算效率。
4.3 結果分析
    實驗結果表明,單機與云服務下計算時間隨臺風個數成正比,兩者的計算時間都是線性增加的。圖5為單機與云服務計算時間對比圖。從圖5可以看出,單機下的計算時間趨勢線斜率高于云服務的計算時間趨勢線,計算時間差隨著臺風個數的增加而拉大,說明基于多Agent的云服務中間件可以大大縮短Web服務器的計算時間,提高計算效率。

    本文分析了Web應用的現狀和Web服務器的瓶頸問題,結合云計算和中間件技術,提出了一種基于多Agent的云服務中間件的體系架構。介紹了云服務中間件的工作原理,即將復雜的任務分解成小任務,再將結果匯總。從層次上看,云服務中間件分為3個層次,分別是用戶接口層、SOA層和資源管理層。內部的Agent使用ACL消息進行通信,介紹了各類消息。負載均衡采用靜態計算能力與動態負載相結合,保證了整體性能。
  本文將設計的云服務中間件框架應用到一個典型的Web應用臺風預報系統中,以實驗數據進行單機與云服務模式的計算時間對比,可以看到云服務中間件對提高Web服務器計算時間的作用。云服務中間件的研究是未來Web應用的一個很有價值的應用前景,對推動云計算的發展有著至關重要的作用。
參考文獻
[1] 趙立新.云計算:信息時代的新主宰[J].科技創新導報,2010(12):213-214.
[2] 吳禮裕,盧珊.中間件的研究綜述[J].科技與生活,2009(21):24-24,67.
[3] 賴如潔,曹健,李明祿,等.服務Agent的設計與實現[J].計算機工程與科學,2010,32(5):113-117.
[4] WILDE G J.The theory of risk homeostasis:implications for  safety and healt[J].Risk Analysis,1982,2(4):209-225.
[5] WILDE G J.Social interaction patterns in driver behavior:an introductory review[J].Human Factors,1976,18(5):447-492.
[6] 陳偉江,郭朝珍.分布式ETL中協同機制的研究與設計[J].通信學報,2006,27(11):177-182.
[7] 閆鈞華,張煥春,經亞枝.基于Multi2agent的分布式系統負載平衡[J].華南理工大學學報:自然科學版,2004,32(12):74-79.
[8] 陳濤,陳啟買.分布式計算機系統負載平衡研究[J].計算機技術與發展,2006,16 (5):33-35.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 午夜私人影院在线观看 视频 | 国产激情一级毛片久久久 | 天天摸天天操天天爽 | 国产福利微拍精品一区二区 | 涩视频成人永久免费观看网站 | 精品亚洲福利一区二区 | 中文字幕免费在线观看 | 亚洲欧美日韩国产综合久 | 怡红院美国十次成人影院 | 99爱在线视频 | 福利毛片| 一级片在线免费 | 在线 | 一区二区三区 | 黄色性情视频 | 久久天天躁夜夜躁狠狠85麻豆 | 最新午夜韩国理论片77网 | 亚洲精品午夜国产va久久 | 两个人看的www视频中文字幕 | 黄色的网站免费 | 1024jd基地手机看国产 | 可以免费看的黄色网址 | 免费女上男下xx00视频 | 亚洲精品国自产拍影院 | 午夜剧场免费体验 | 三级伦理在线播放 | 99视频在线观看免费视频 | 亚洲色图欧美在线 | 特级黄a三级三级三级 | 久青草国产97香蕉在线视频xx | 亚洲九九视频 | 看全色黄大色黄大片女图片 | 毛片大全在线 | 天天宗合网 | 国产一区二区三区在线观看免费 | 精品国产91久久久久 | 欧美日韩亚洲天堂 | 人人爽人人爽人人片c | 日本三级网络 | 夜夜做日日做夜夜爽 | 亚洲天堂欧美 | 亚洲图片自拍偷拍 |