一種基於雲服務總線的應用QoS管理系統及其操作方法
2024-02-11 19:03:15
專利名稱:一種基於雲服務總線的應用QoS管理系統及其操作方法
一種基於雲服務總線的應用QoS管理系統及其操作方法技術領域
本發明屬於雲計算平臺的應用QoS管理領域,更具體地,涉及一種基於雲服務總線的應用QoS管理系統及其操作方法。
背景技術:
隨著雲計算時代的到來,出現了各種雲平臺。根據層次不同,通常分為IaaS、 PaaS、SaaS。IaaS指基礎設施即服務,業界主要有Amazon EC2。SaaS指軟體即服務,主要由Salesforce、800APP等一些提供客戶關係管理的平臺。而PaaS則是指平臺及服務,它提供了一套應用開發和託管環境,使得開發應用變得相當簡單,一些中小企業可以節約硬體成本,僅需支付較少的費用就可以將所開發應用託管與PaaS中,同時也省去了系統維護的麻煩。PaaS受到廣泛關注,隨著PaaS的發展,應用數量急劇增加,平臺需要對應用進行良好的管理。在典型 PaaS 如 Google App Engine, Sina AppEngine, AppScale, Facebook 等都有專門的應用控制面板,用來查看應用的運行狀態。然而對於應用的QoS關注,一些簡單的參數並不能確定應用運行狀況的好壞。特別是很多平臺都是使用系統的CPU和內存利用率來判斷應用負載情況,顯然不夠精確。因為應用伺服器的關係,某些系統的系統負載並不高的時候,應用伺服器中部署的應用QoS已經大幅降低,甚至應用已經不能訪問。
除了在業界受到廣泛關注,應用QoS管理也一直是學術界的研究熱點。有文章提出應用軟體即服務的概念,即應用軟體以Web服務的形式發布與雲平臺中,通過服務組合等手段組合成新的應用,達到軟體可重用的目的。但是,該文章並未考慮到應用的QoS管理和雲平臺的資源優化配置。有文章提出根據系統CPU和內存負載來增減應用實例,這跟業界的方法類似,存在QoS度量不精確的缺陷。還有文章提出使用分布式的 服務總線來對服務進行集成與管理。但是其採用的是主-從式架構,存在著單點故障和性能瓶頸。同時該文章中也並未提出切實可行的應用管理方案,更沒有指出應用QoS的度量和監測方案。此外, 還有諸多文獻和著作中提到過相關的應用管理方案,但是它們都是從系統級度量應用QoS, 度量並不精準,而且並沒有提出一套完善的應用QoS管理機制。
總而言之,業界當前主流雲平臺有些對應用QoS缺少關注,有些則對應用QoS度量不夠準確。學術界對於應用QoS管理越來越關注,但是目前雲平臺下應用QoS管理的研究並不是很成熟,缺乏一個整體的架構和真正可測試的環境。發明內容
針對現有技術的缺陷,本發明的目的在於提供一種基於雲服務總線的應用QoS管理系統,其為應用QoS管理提供了一套良好的分布式架構和服務管理環境,本發明從應用級別對應用QoS進行度量,改善了由系統級度量導致結果不準確的問題,為雲平臺環境應用QoS管理的研究構建了一個完整的平臺和可測試的環境,此外,本發明從應用級管理應用QoS,根據用戶需求和應用訪問情況動態增減應用所對應的服務實例數目,保證應用QoS 的同時提高資源利用率。
為實現上述目的,本發明提供了一種基於雲服務總線的應用QoS管理系統,包括用戶訪問模塊、用戶管理模塊、應用管理模塊、雲服務總線模塊、服務池模塊、以及數據中心模塊,用戶訪問模塊用於給用戶提供一個統一的訪問接口,用戶管理模塊用於提供用戶認證功能,如果用戶的身份認證成功,則將用戶信息傳送到應用管理模塊,否則,用戶管理模塊提醒用戶進行註冊,應用管理模塊用於根據用戶管理模塊傳送的用戶信息為用戶提供統一的應用管理界面,以供用戶選擇應用發布、應用調用或應用QoS可視化功能,並在用戶選擇相應功能後將用戶請求傳送到雲服務總線模塊,雲服務總線模塊用於在用戶選擇應用發布、應用調用或應用QoS可視化功能後,從應用級對該應用所對應的服務實例數目進行動態調整,從而完成應用QoS管理功能,服務池模塊用於存儲雲服務總線模塊動態調整後的服務實例,數據中心模塊用於存儲服務實例所操作的數據集合。用戶訪問模塊包括用戶註冊子模塊、用戶登錄子模塊和用戶資料庫子模塊,用戶註冊子模塊用於為用戶提供註冊功能,用戶認證子模塊用於為用戶提供登錄認證功能,若 認證通過則將用戶信息傳送到應用管理模塊,若認證失敗則轉入用戶註冊子模塊處理,用戶資料庫子模塊用於在用戶註冊成功後存儲用戶信息,並在用戶登錄時讀取該用戶信息用於認證。應用管理模塊包括應用發布子模塊、應用QoS可視化子模塊和應用調用子模塊,應用發布子模塊用於為用戶提供應用的發布功能,應用QoS可視化子模塊用於接收用戶查看應用QoS的請求,將應用QoS可視化請求發送至雲服務總線模塊獲取應用QoS數據,實時展示應用QoS的狀況,完成應用QoS可視化功能,應用調用子模塊用於接收其它用戶對該應用的調用請求並將應用調用請求發送至雲服務總線模塊。雲服務總線模塊包括消息路由子模塊、請求處理子模塊、服務管理子模塊、服務發布子模塊、服務卸載子模塊、QoS信息讀取子模塊、服務調用子模塊、QoS信息收集子模塊、QoS信息資料庫子模塊、服務實例管理子模塊、JMX子模塊,消息路由子模塊用於實現雲服務總線模塊中各個節點間的消息通信,接收其他節點的消息路由模塊的消息,將消息發送至請求處理子模塊,接收服務管理子模塊和服務實例管理子模塊的消息,並將消息路由到目標節點集,請求處理子模塊用於接收應用管理模塊發送過來的用戶請求或其他節點的消息路由模塊發送過來的消息,並對用戶請求或消息進行解析後提交到服務管理子模塊進行處理,服務管理子模塊用於接收請求處理子模塊的用戶請求或消息,如果是用戶請求,則判斷該用戶請求是應用發布請求、應用調用請求還是QoS可視化請求,如果是應用發布請求,則根據用戶在服務級協議中的需求,根據排隊論相關理論計算出應用發布後的服務實例數目,並將服務發布消息經消息路由子模塊發送至目標節點集。如果是應用調用請求,則調用QoS信息讀取子模塊讀取應用所對應所有服務實例的QoS信息,根據QoS確定應用調用的服務實例所在的目標節點,將服務調用消息經消息路由子模塊發送至目標節點,如果是應用QoS可視化請求,則確定目標節點集,並將QoS信息讀取消息經消息路由子模塊發送至目標節點集的某一個節點,因為對應同一個應用的不同服務實例都會保存有該應用所對應的全部服務實例的QoS信息,所以只需要讀取其中一個節點即可得到該應用的QoS信息;如果是消息,則判斷消息是服務發布消息、服務卸載消息、服務調用消息還是服務QoS讀取消息。如果是服務發布消息,則將服務發布消息發送到服務發布子模塊,如果是服務卸載消息,則將服務卸載消息發送到服務卸載子模塊,如果是服務調用消息,則將服務調用請求發送到服務調用子模塊,如果是服務QoS讀取消息,則發送到QoS信息讀取子模塊,服務發布子模塊用於接收服務管理子模塊的服務發布消息,根據服務發布消息完成服務發布功能並返迴響應消息給請求節點,服務卸載子模塊用於接收服務管理子模塊的服務卸載消息,根據服務卸載消息完成服務卸載功能並返迴響應消息給請求節點,QoS信息讀取子模塊用於接收服務管理子模塊的服務QoS信息讀取消息,根據服務QoS信息讀取消息讀取QoS信息資料庫子模塊中的信息並返回給請求節點,服務調用子模塊用於接收服務管理子模塊的服務調用消息,根據服務調用消息完成調用後返回服務調用結果給請求節點,QoS信息收集子模塊用於對服務調用子模塊的過程進行監控,以收集服務調用的QoS信息,並將QoS信息寫入到 QoS信息資料庫子模塊中,QoS信息資料庫子模塊用於存儲來自QoS信息收集子模塊的QoS 信息,服務實例管理子模塊用於根據服務級協議和QoS信息資料庫子模塊中的QoS信息決定是否調整服務實例的數目,JMX子模塊用於使用JMX管理框架管理雲服務總線模塊的節點集群以及服務部署相關信息。
雲服務總線模塊採用P2P分布式架構。
通過本發明所構思的以上技術方案,與現有技術相比,本發明具有以下的有益效果:
I)服務的可用性高
由於採用了基於P2P架構的雲服務總線模塊對服務實例進行管理,解決了單一服務總線和主一從架構的分布式服務總線的單點故障問題,保證了 Web服務的高可用性。
2)應用的可配置性好
由於採用了應用管理模塊,其提供服務等級協議功能,提高了應用的可配置性。開發應 用的用戶可以在該平臺中聲明所開發的應用所需要達到的QoS水平,如每秒能接受多少個請求,響應時間應保持在幾秒之內等。雲服務總線模塊基於用戶需求,根據排隊論理論,預先生成所需要的服務實例數目,以保證應用的QoS需求,減少資源浪費,提高系統資源利用率。
3)應用QoS度量的精確性高
由於採用了雲服務總線模塊從應用級對應用QoS進行度量,根據應用QoS情況對應用所對應的服務實例數目進行動態調整,相對於傳統的系統級進行度量,大幅提高了對應用QoS度量的精確性。
本發明的另一目的在於提供一種基於雲服務總線的應用QoS管理系統的操作方法,其使得用戶對系統的操作非常簡捷,用戶可以通過系統界面直觀的進行應用QoS管理, 省去了繁冗的命令行操作,提高了操作效率和用戶體驗。
為實現上述目的,本發明提供了一種基於雲服務總線的應用QoS管理系統的操作方法,包括以下步驟
(I)用戶通過瀏覽器訪問統一訪問模塊;
(2)用戶管理模塊對用戶身份進行認證,如果認證通過,則轉入步驟⑶,否則,提醒用戶註冊;
(3)用戶管理模塊將用戶信息傳送到應用管理模塊;
(4)應用管理模塊根據用戶管理模塊傳送的用戶信息為用戶提供統一的應用管理界面,以供用戶選擇應用發布、應用QoS可視化或應用調用功能;
(5)應用管理模塊在用戶選擇相應功能後將用戶請求傳送到雲服務總線模塊;(6)雲服務總線模塊從應用級對該應用所對應的服務實例數目進行動態調整,從而完成應用QoS管理功能;(7)服務池模塊存儲雲服務總線模塊動態調整後的服務實例。步驟(5)包括以下子步驟(5-1)用戶在應用管理界面選擇應用發布、應用QoS可視化或者應用調用功能;(5-2)應用管理模塊根據用戶選擇的功能,將請求發送給不同子模塊處理。如果用戶選擇應用發布功能,則轉向步驟(5-3);如果用戶選擇應用QoS可視化功能,則轉向步驟(5-4);如果用戶選擇應用調用功能,則轉向步驟(5-5);(5-3)應用發布子模塊接收請求,提示用戶將自己開發好的應用上傳,並填寫應用 的描述信息和QoS信息。應用發布子模塊存儲應用描述信息和QoS需求信息並將應用發布請求發送至雲服務總線模塊;(5-4)應用QoS管理子模塊接收用戶查看應用QoS的請求,將應用QoS可視化請求發送至雲服務總線模塊獲取應用QoS數據,實時展示應用QoS的狀況;(5-5)應用調用子模塊將應用調用請求發送至雲服務總線模塊。步驟(6)包括以下子步驟(6-1)請求處理子模塊接收應用管理模塊發送過來的用戶請求並解析請求;(6-2)請求處理子模塊根據不同的用戶請求執行不同的步驟。如果是應用發布請求,則轉向步驟¢-3);如果是應用QoS可視化請求,則轉向步驟¢-9);如果是應用調用請求,則轉向步驟(6-15)(6-3)服務管理子模塊根據用戶填寫的應用QoS信息,由排隊論算法生成應用發布成Web服務的實例數目;(6-4)目標節點的消息路由子模塊接收服務發布消息,並將消息傳送至請求處理子模塊;(6-5)目標節點的請求處理子模塊對消息進行解析,將解析後的消息發送給服務管理子模塊;(6-6)目標節點的服務管理子模塊處理服務發布消息,將服務發布消息傳送至服務發布子模塊;(6-7)服務發布子模塊完成服務發布功能並返迴響應消息給請求節點;(6-8)如果請求節點收到所有目標節點集的成功響應消息,則應用發布成功;否貝U,則返回失敗信息,提示用戶重新發布。至此,應用發布功能結束,轉向步驟(6-24);(6-9)服務管理子模塊根據服務部署策略確定目標節點集;(6-10)目標節點的消息路由子模塊接收查看應用QoS消息,將應用QoS可視化消息發送至請求處理子模塊;(6-11)請求處理子模塊處理消息後將其發送至服務管理子模塊;(6-12)目標節點的服務管理子模塊接收消息,將其轉發至QoS信息讀取子模塊;(6-13) QoS信息讀取子模塊讀取QoS信息並返回給請求節點;(6-14)請求節點的QoS可視化子模塊接收應用QoS信息,經過客戶端處理提供應用QoS的圖表展示功能。至此,應用QoS可視化功能結束,轉向步驟(6-24);
(6-15)請求節點服務管理子模塊經步驟(6-9)至(6_13)讀取應用QoS消息;
(6-16)服務管理子模塊根據各個服務實例的QoS信息和相應的調度算法,確定需要路由的服務實例所在節點,然後將應用調用消息發送至目標節點;
(6-17)目標節點的消息子模塊接收應用調用消息,將消息發送至請求處理子模塊處理;
(6-18)目標節點的請求處理子模塊解析消息後將處理後的消息發送至服務管理子模塊;
(6-19)目標節點服務管理子模塊將服務調用消息發送至服務調用子模塊;
(6-20)服務調用子模塊完成服務的功能並返回服務執行結果給請求節點;
(6-21)Qos信息收集子模塊收集應用調用過程的響應時間,通過QoS信息寫入到 QoS信息據庫子模塊中;
(6-22)服務實例管理子模塊根據QoS信息資料庫和用戶服務級協議,對服務實例數目進行動態調整。並向服務發布子模塊或服務卸載子模塊發送調整消息;
(6-23)服務發布子模塊或服務卸載子模塊接收服務實例管理子模塊的調整消息, 完成服務發布或者服務卸載,至此,應用調用功能完成,轉向步驟¢-24);
(6-24)用戶操作完成,退出系統。
通過本發明所構思的以上技術方案,與現有技術相比,本發明具有以下的有益效果
(I)效率高
由於採用了步驟(5)對用戶操作提供統一的操作界面,省去了繁冗的命令行操作,用戶只需要在界面上進行簡單操作即可完成應用QoS管理功能,大幅提高了用戶的操作效率和用戶體驗。
(2)透明性強
由於採用了步驟(6)對應用QoS管理進行分階段處理,用戶對應用QoS管理過程更加透明。用戶發布應用後不用管理應用QoS狀況,也不用知曉應用所對應的服務實例數目,這些都是由系統自動調整,應用QoS由系統保證,增強了用戶操作的透明性。
圖1是本發明基於雲服務總線的應用QoS管理系統的示意框圖。
圖2是本發明基於雲服務總線的應用QoS管理系統的細化框圖。
圖3是本發明系統中雲服務總線模塊的細化框圖。
圖4是本發明基於雲服務總線的應用QoS管理系統的操作方法的流程圖。
圖5是本發明方法中步驟(5)的細化流程圖。
圖6是本發明方法中步驟(6)的細化流程圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
如圖1所示,本發明基於雲服務總線的應用QoS管理系統包括用戶訪問模塊1、用戶管理模塊2、應用管理模塊3、雲服務總線模塊4、服務池模塊5、以及數據中心模塊6。用戶訪問模塊I用於給用戶提供一個統一的訪問接口。統一的訪問接口提供系統功能說明和操作指南,以方便用戶的使用。用戶管理模塊2用於提供用戶認證功能,如果用戶的身份認證成功,則將用戶信息傳送到應用管理模塊3,否則,用戶管理模塊2提醒用戶進行註冊。 應用管理模塊3用於根據用戶管理模塊2傳送的用戶信息為用戶提供統一的應用管理界面,以供用戶選擇應用發布、應用調用或應用QoS可視化功能,並在用戶選擇相應功能後將用戶請求傳送到雲服務總線模塊4。雲服務總線模塊4用於在用戶選擇應用發布、應用調用或應用QoS可視化功能後,從應用級對該應用所對應的服務實例數目進行動態調整,從而完成應用QoS管理功能,雲服務總線模塊4採用P2P分布式架構,相對於現在流行的單一服務總線和主-從式分布式服務總線,雲服務總線採用P2P分布式架構解決了單點故障問題和性能瓶頸。服務池模塊5用於存儲雲服務總線模塊4動態調整後的服務實例。這些服務實例可以運行在物理機上,也可以運行在虛擬機上。每個節點都有自己的服務集合,所有的節點服務集合共同構成服務池。服務發布時,服務實例會添加到目標節點的服務集合中。服務卸載時,服務實例會從目標節點的服務集合中移除。服務調用會從目標節點的服務集合中選取相應服務實例完成調用。數據中心模塊6用於存儲服務實例所操作的數據集合。在本實施方式中,數據集合包括關係型資料庫和非關係資料庫。如圖2所示,用戶訪問模塊2包括用戶註冊子模塊21、用戶登錄子模塊22和用戶資料庫子模塊23。用戶註冊子模塊21用於為用戶提供註冊功能。用戶認證子模塊22用於為用戶提供登錄認證功能,若認證通過則將用戶信息傳送到應用管理模塊3,若認證失敗則轉入用戶註冊子模塊21處理。用戶資料庫子模塊23用於在用戶註冊成功後存儲用戶信息,並在用戶登錄時讀取該用戶信息用於認證。應用管理模塊3包括應用發布子模塊31、應用QoS可視化子模塊32和應用調用子模塊33。應用發布子模塊31用於為用戶提供應用的發布功能。具體而言,用戶將自己開發好的應用上傳,並填寫應用的描述信息和QoS需求,應用發布子模塊31將應用發布請求發送至雲服務總線模塊4。應用QoS可視化子模塊32用於接收用戶查看應用QoS的請求,將應用QoS可視化請求發送至雲服務總線模塊4獲取應用QoS數據,實時展示應用QoS的狀況,完成應用QoS可視化功能。其中應用QoS指標包括應用的平均響應時間和訪問量信息。應用調用子模塊33用於接收其它用戶對該應用的調用請求並將應用調用請求發送至雲服務總線模塊4。如圖3所示,雲服務總線模塊4包括消息路由子模塊41、請求處理子模塊42、服務管理子模塊43、服務發布子模塊44、服務卸載子模塊45、QoS信息讀取子模塊46、服務調用子模塊47、QoS信息收集子模塊48、QoS信息資料庫子模塊49、服務實例管理子模塊50、 Java 管理擴展(JavaManagement Extensions,簡稱 JMX)子模塊 51。
消息路由子模塊41用於實現雲服務總線模塊4中各個節點間的消息通信,接收其他節點的消息路由模塊41的消息,將消息發送至請求處理子模塊42,接收服務管理子模塊 43和服務實例管理子模塊50的消息,並將消息路由到目標節點集。具體而言,消息通信過程包括狀態的監測與同步,請求消息路由等,且採用Gossip協議。
請求處理子模塊42用於接收應用管理模塊3發送過來的用戶請求或其他節點的消息路由模塊41發送過來的消息。並對用戶請求或消息進行解析後提交到服務管理子模塊43進行處理;
服務管理子模塊43用於接收請求處理子模塊42的用戶請求或消息,如果是用戶請求,則判斷該用戶請求是應用發布請求、應用調用請求還是QoS可視化請求,如果是應用發布請求,則根據用戶在服務級協議中的需求,根據排隊論相關理論計算出應用發布後的服務實例數目,並將服務發布消息經消息路由子模塊41發送至目標節點集。如果是應用調用請求,則調用QoS信息讀取子模塊46讀取應用所對應所有服務實例的QoS信息,根據 QoS確定應用調用的服務實例所在的目標節點,將服務調用消息經消息路由子模塊41發送至目標節點,如果是應用QoS可視化請求,則確定目標節點集,並將QoS信息讀取消息經消息路由子模塊41發送至目標節點集的某一個節點,因為對應同一個應用的不同服務實例都會保存有該應用所對應的全部服務實例的QoS信息,所以只需要讀取其中一個節點即可得到該應用的QoS信息;如果是消息,則判斷消息是服務發布消息、服務卸載消息、服務調用消息還是服務QoS讀取消息。如果是服務發布消息,則將服務發布消息發送到服務發布子模塊44,如果是服務卸載消息,則將服務卸載消息發送到服務卸載子模塊45,如果是服 務調用消息,則將服務調用請求發送到服務調用子模塊47,如果是服務QoS讀取消息,則發送到QoS信息讀取子模塊46。
服務發布子模塊44用於接收服務管理子模塊43的服務發布消息,根據服務發布消息完成服務發布功能並返迴響應消息給請求節點。
服務卸載子模塊45用於接收服務管理子模塊43的服務卸載消息,根據服務卸載消息完成服務卸載功能並返迴響應消息給請求節點。
QoS信息讀取子模塊46用於接收服務管理子模塊43的服務QoS信息讀取消息,根據服務QoS信息讀取消息讀取QoS信息資料庫子模塊49中的信息並返回給請求節點。
服務調用子模塊47用於接收服務管理子模塊43的服務調用消息,根據服務調用消息完成調用後返回服務調用結果給請求節點。
QoS信息收集子模塊48用於對服務調用子模塊47的過程進行監控,以收集服務調用的QoS信息(如響應時間等),並將QoS信息寫入到QoS信息資料庫子模塊49中。
QoS信息資料庫子模塊49用於存儲來自QoS信息收集子模塊48的QoS信息。同一個應用的所有服務實例的QoS信息構成應用的QoS信息。同一個應用的所有服務實例的 QoS信息在每個節點上都會保存一份副本,這樣可以加速服務調用過程。服務管理子模塊 43接收到應用調用請求時,會根據應用QoS信息來確定目標節點並將應用調用請求經消息路由子模塊41路由至目標節點。
服務實例管理子模塊50用於根據服務級協議和QoS信息資料庫子模塊49中的QoS信息決定是否調整服務實例的數目。如果需要調整服務實例的數目,即應用QoS不能滿足服務級協議中的需求,則增加服務實例,並通過消息路由子模塊41發送服務發布命令至目標節點集,否則,如果應用QoS超過了服務級協議的需求,則減少服務實例,並通過消息路由子模塊41發送服務卸載命令至目標節點集。JMX子模塊51用於使用JMX管理框架管理雲服務總線模塊4的節點集群以及服務部署相關信息。JMX子模塊51提供各種接口,用戶可以通過遠程調用獲取集群狀態,節點資源佔用信息以及服務部署的相關信息。如圖4所示,本發明基於雲服務總線的應用QoS管理系統的操作方法包括以下步驟(I)用戶通過瀏覽器訪問統一訪問模塊; (2)用戶管理模塊對用戶身份進行認證,如果認證通過,則轉入步驟(3),否則,提醒用戶註冊;(3)用戶管理模塊將用戶信息傳送到應用管理模塊;(4)應用管理模塊根據用戶管理模塊傳送的用戶信息為用戶提供統一的應用管理界面,以供用戶選擇應用發布、應用QoS可視化或應用調用功能;(5)應用管理模塊在用戶選擇相應功能後將用戶請求傳送到雲服務總線模塊;(6)雲服務總線模塊從應用級對該應用所對應的服務實例數目進行動態調整,從而完成應用QoS管理功能;(7)服務池模塊存儲雲服務總線模塊動態調整後的服務實例。如圖5所示,本發明操作方法中步驟(5)包括以下子步驟(5-1)用戶在應用管理界面選擇應用發布、應用QoS可視化或者應用調用功能;(5-2)應用管理模塊根據用戶選擇的功能,將請求發送給不同子模塊處理;如果用戶選擇應用發布功能,則轉向步驟(5-3);如果用戶選擇應用QoS可視化功能,則轉向步驟(5-4);如果用戶選擇應用調用功能,則轉向步驟(5-5);(5-3)應用發布子模塊接收請求,提示用戶將自己開發好的應用上傳,並填寫應用的描述信息和QoS信息;應用發布子模塊存儲應用描述信息和QoS需求信息並將應用發布請求發送至雲服務總線模塊;(5-4)應用QoS管理子模塊接收用戶查看應用QoS的請求,將應用QoS可視化請求發送至雲服務總線模塊獲取應用QoS數據,實時展示應用QoS的狀況;(5-5)應用調用子模塊將應用調用請求發送至雲服務總線模塊。如圖6所示,本發明操作方法(6)包括以下子步驟(6-1)請求處理子模塊接收應用管理模塊發送過來的用戶請求並解析請求;(6-2)請求處理子模塊根據不同的用戶請求執行不同的步驟;如果是應用發布請求,則轉向步驟¢-3);如果是應用QoS可視化請求,則轉向步驟¢-9);如果是應用調用請求,則轉向步驟(6-15);(6-3)服務管理子模塊根據用戶填寫的應用QoS信息,由排隊論算法生成應用發布成Web服務的實例數目;根據云服務總線的服務部署策略(可以是機架相關或者機架無關策略),將服務發布消息經由消息路由子模塊發送至目標節點集;(6-4)目標節點的消息路由子模塊接收服務發布消息,並將消息傳送至請求處理子模塊;
(6-5)目標節點的請求處理子模塊對消息進行解析,將解析後的消息發送給服務管理子模塊;
(6-6)目標節點的服務管理子模塊處理服務發布消息,將服務發布消息傳送至服務發布子模塊;
(6-7)服務發布子模塊完成服務發布功能並返迴響應消息給請求節點;
(6-8)如果請求節點收到所有目標節點集的成功響應消息,則應用發布成功;否貝U,則返回失敗信息,提示用戶重新發布;至此,應用發布功能結束,轉向步驟(6-24);
(6-9)服務管理子模塊根據服務部署策略確定目標節點集;因為每一個目標節點都有該應用所有服務實例的QoS信息,所以服務管理模塊只需要將應用QoS可視化消息發送至目標節點集的某一個目標節點;
(6-10)目標節點的消息路由子模塊接收查看應用QoS消息,將應用QoS可視化消息發送至請求處理子模塊;
(6-11)請求處理子模塊處理消息後將其發送至服務管理子模塊;
(6-12)目標節點的服務管理子模塊接收消息,將其轉發至QoS信息讀取子模塊;
(6-13) QoS信息讀取子模塊讀取QoS信息並返回給請求節點;
(6-14)請求節點的QoS可視化子模塊接收應用QoS信息,經過客戶端處理提供應用QoS的圖表展示功能;至此,應用QoS可視化功能結束,轉向步驟(6-24);
(6-15)請求節點服務管理子模塊經步驟(6-9)至(6_13)讀取應用QoS消息;
(6-16)服務管理子模塊根據各個服務實例的QoS信息和相應的調度算法,確定需要路由的服務實例所在節點,然後將應用調用消息發送至目標節點;
(6-17)目標節點的消息子模塊接收應用調用消息,將消息發送至請求處理子模塊處理;
(6-18)目標節點的請求處理子模塊解析消息後將處理後的消息發送至服務管理子模塊;
(6-19)目標節點服務管理子模塊將服務調用消息發送至服務調用子模塊;
(6-20)服務調用子模塊完成服務的功能並返回服務執行結果給請求節點;
(6-21)Qos信息收集子模塊收集應用調用過程的響應時間,通過QoS信息寫入到 QoS信息據庫子模塊中;
(6-22)服務實例管理子模塊根據QoS信息資料庫和用戶服務級協議,對服務實例數目進行動態調整;並向服務發布子模塊或服務卸載子模塊發送調整消息;
(6-23)服務發布子模塊或服務卸載子模塊接收服務實例管理子模塊的調整消息, 完成服務發布或者服務卸載;至此,應用調用功能完成,轉向步驟¢-24);
(6-24)用戶操作完成,退出系統。
實例
本發明基於雲服務總線應用QoS管理系統是採用P2P架構的分布式系統,所以需要伺服器節點較多,一般至少配置3-5臺伺服器節點。系統各個模塊在每個伺服器節點上都要安裝,一起構成一個分布式系統。系統為多線程程序,主要開發語言為JAVA,所以可以運行在windows或者Iinux系統上。每臺伺服器節點的硬體配置如下表I所示
權利要求
1.一種基於雲服務總線的應用QoS管理系統,包括用戶訪問模塊、用戶管理模塊、應用管理模塊、雲服務總線模塊、服務池模塊、以及數據中心模塊,其特徵在於, 用戶訪問模塊用於給用戶提供一個統一的訪問接口; 用戶管理模塊用於提供用戶認證功能,如果用戶的身份認證成功,則將用戶信息傳送到應用管理模塊,否則,用戶管理模塊提醒用戶進行註冊; 應用管理模塊用於根據用戶管理模塊傳送的用戶信息為用戶提供統一的應用管理界面,以供用戶選擇應用發布、應用調用或應用QoS可視化功能,並在用戶選擇相應功能後將用戶請求傳送到雲服務總線模塊; 雲服務總線模塊用於在用戶選擇應用發布、應用調用或應用QoS可視化功能後,從應用級對該應用所對應的服務實例數目進行動態調整,從而完成應用QoS管理功能; 服務池模塊用於存儲雲服務總線模塊動態調整後的服務實例,數據中心模塊用於存儲服務實例所操作的數據集合。
2.根據權利要求1所述的應用QoS管理系統,其特徵在於, 用戶訪問模塊包括用戶註冊子模塊、用戶登錄子模塊和用戶資料庫子模塊; 用戶註冊子模塊用於為用戶提供註冊功能; 用戶認證子模塊用於為用戶提供登錄認證功能,若認證通過則將用戶信息傳送到應用管理模塊,若認證失敗則轉入用戶註冊子模塊處理; 用戶資料庫子模塊用於在用戶註冊成功後存儲用戶信息,並在用戶登錄時讀取該用戶信息用於認證。
3.根據權利要求1所述的應用QoS管理系統,其特徵在於, 應用管理模塊包括應用發布子模塊、應用QoS可視化子模塊和應用調用子模塊; 應用發布子模塊用於為用戶提供應用的發布功能; 應用QoS可視化子模塊用於接收用戶查看應用QoS的請求,將應用QoS可視化請求發送至雲服務總線模塊獲取應用QoS數據,實時展示應用QoS的狀況,完成應用QoS可視化功倉泛; 應用調用子模塊用於接收其它用戶對該應用的調用請求並將應用調用請求發送至雲服務總線模塊。
4.根據權利要求1所述的應用QoS管理系統,其特徵在於, 雲服務總線模塊包括消息路由子模塊、請求處理子模塊、服務管理子模塊、服務發布子模塊、服務卸載子模塊、QoS信息讀取子模塊、服務調用子模塊、QoS信息收集子模塊、QoS信息資料庫子模塊、服務實例管理子模塊、JMX子模塊; 消息路由子模塊用於實現雲服務總線模塊中各個節點間的消息通信,接收其他節點的消息路由模塊的消息,將消息發送至請求處理子模塊,接收服務管理子模塊和服務實例管理子模塊的消息,並將消息路由到目標節點集;請求處理子模塊用於接收應用管理模塊發送過來的用戶請求或其他節點的消息路由模塊發送過來的消息,並對用戶請求或消息進行解析後提交到服務管理子模塊進行處理;服務管理子模塊用於接收請求處理子模塊的用戶請求或消息,如果是用戶請求,則判斷該用戶請求是應用發布請求、應用調用請求還是QoS可視化請求,如果是應用發布請求,則根據用戶在服務級協議中的需求,根據排隊論相關理論計算出應用發布後的服務實例數目,並將服務發布消息經消息路由子模塊發送至目標節點集,如果是應用調用請求,則調用QoS信息讀取子模塊讀取應用所對應所有服務實例的QoS信息,根據QoS確定應用調用的服務實例所在的目標節點,將服務調用消息經消息路由子模塊發送至目標節點,如果是應用QoS可視化請求,則確定目標節點集,並將QoS信息讀取消息經消息路由子模塊發送至目標節點集的某一個節點;如果是消息,則判斷消息是服務發布消息、服務卸載消息、服務調用消息還是服務QoS讀取消息。如果是服務發布消息,則將服務發布消息發送到服務發布子模塊,如果是服務卸載消息,則將服務卸載消息發送到服務卸載子模塊,如果是服務調用消息,則將服務調用請求發送到服務調用子模塊,如果是服務QoS讀取消息,則發送到QoS信息讀取子模塊; 服務發布子模塊用於接收服務管理子模塊的服務發布消息,根據服務發布消息完成服務發布功能並返迴響應消息給請求節點; 服務卸載子模塊用於接收服務管理子模塊的服務卸載消息,根據服務卸載消息完成服務卸載功能並返迴響應消息給請求節點; QoS信息讀取子模塊用於接收服務管理子模塊的服務QoS信息讀取消息,根據服務QoS信息讀取消息讀取QoS信息資料庫子模塊中的信息並返回給請求節點; 服務調用子模塊用於接收服務管理子模塊的服務調用消息,根據服務調用消息完成調用後返回服務調用結果給請求節點; QoS信息收集子模塊用於對服務調用子模塊的過程進行監控,以收集服務調用的QoS信息,並將QoS信息寫入到QoS信息資料庫子模塊中; QoS信息資料庫子模塊用於存儲來自QoS信息收集子模塊的QoS信息; 服務實例管理子模塊用於根據服務級協議和QoS信息資料庫子模塊中的QoS信息決定是否調整服務實例的數目; JMX子模塊用於使用JMX管理框架管理雲服務總線模塊的節點集群以及服務部署相關信息。
5.根據權利要求1所述的應用QoS管理系統,其特徵在於,雲服務總線模塊採用P2P分布式架構。
6.一種基於雲服務總線的應用QoS管理系統的操作方法,其特徵在於,包括以下步驟 (1)用戶通過瀏覽器訪問統一訪問模塊; (2)用戶管理模塊對用戶身份進行認證,如果認證通過,則轉入步驟(3),否則,提醒用戶註冊; (3)用戶管理模塊將用戶信息傳送到應用管理模塊; (4)應用管理模塊根據用戶管理模塊傳送的用戶信息為用戶提供統一的應用管理界面,以供用戶選擇應用發布、應用QoS可視化或應用調用功能; (5)應用管理模塊在用戶選擇相應功能後將用戶請求傳送到雲服務總線模塊; (6)雲服務總線模塊從應用級對該應用所對應的服務實例數目進行動態調整,從而完成應用QoS管理功能; (7)服務池模塊存儲雲服務總線模塊動態調整後的服務實例。
7.根據權利要求6所述的操作方法,其特徵在於,步驟(5)包括以下子步驟 (5-1)用戶在應用管理界面選擇應用發布、應用QoS可視化或者應用調用功能;(5-2)應用管理模塊根據用戶選擇的功能,將請求發送給不同子模塊處理。如果用戶選擇應用發布功能,則轉向步驟(5-3 );如果用戶選擇應用QoS可視化功能,則轉向步驟(5-4 );如果用戶選擇應用調用功能,則轉向步驟(5-5); (5-3)應用發布子模塊接收請求,提示用戶將自己開發好的應用上傳,並填寫應用的描述信息和QoS信息。應用發布子模塊存儲應用描述信息和QoS需求信息並將應用發布請求發送至雲服務總線模塊; (5-4)應用QoS管理子模塊接收用戶查看應用QoS的請求,將應用QoS可視化請求發送至雲服務總線模塊獲取應用QoS數據,實時展示應用QoS的狀況; (5-5)應用調用子模塊將應用調用請求發送至雲服務總線模塊。
8.根據權利要求6所述的操作方法,其特徵在於,步驟(6)包括以下子步驟 (6-1)請求處理子模塊接收應用管理模塊發送過來的用戶請求並解析請求; (6-2)請求處理子模塊根據不同的用戶請求執行不同的步驟。如果是應用發布請求,則轉向步驟(6-3);如果是應用QoS可視化請求,則轉向步驟(6-9);如果是應用調用請求,則轉向步驟(6-15); (6-3)服務管理子模塊根據用戶填寫的應用QoS信息,由排隊論算法生成應用發布成Web服務的實例數目; (6-4)目標節點的消息路由子模塊接收服務發布消息,並將消息傳送至請求處理子模塊; (6-5)目標節點的請求處理子模塊對消息進行解析,將解析後的消息發送給服務管理子模塊; (6-6)目標節點的服務管理子模塊處理服務發布消息,將服務發布消息傳送至服務發布子模塊; (6-7)服務發布子模塊完成服務發布功能並返迴響應消息給請求節點; (6-8)如果請求節點收到所有目標節點集的成功響應消息,則應用發布成功;否則,則返回失敗信息,提示用戶重新發布。至此,應用發布功能結束,轉向步驟(6-24); (6-9)服務管理子模塊根據服務部署策略確定目標節點集; (6-10)目標節點的消息路由子模塊接收查看應用QoS消息,將應用QoS可視化消息發送至請求處理子模塊; (6-11)請求處理子模塊處理消息後將其發送至服務管理子模塊; (6-12)目標節點的服務管理子模塊接收消息,將其轉發至QoS信息讀取子模塊; (6-13) QoS信息讀取子模塊讀取QoS信息並返回給請求節點; (6-14)請求節點的QoS可視化子模塊接收應用QoS信息,經過客戶端處理提供應用QoS的圖表展示功能。至此,應用QoS可視化功能結束,轉向步驟(6-24); (6-15)請求節點服務管理子模塊經步驟(6-9)至(6-13)讀取應用QoS消息; (6-16)服務管理子模塊根據各個服務實例的QoS信息和相應的調度算法,確定需要路由的服務實例所在節點,然後將應用調用消息發送至目標節點; (6-17)目標節點的消息子模塊接收應用調用消息,將消息發送至請求處理子模塊處理; (6-18)目標節點的請求處理子模塊解析消息後將處理後的消息發送至服務管理子模塊; (6-19)目標節點服務管理子模塊將服務調用消息發送至服務調用子模塊; (6-20)服務調用子模塊完成服務的功能並返回服務執行結果給請求節點; (6-21) Qos信息收集子模塊收集應用調用過程的響應時間,通過QoS信息寫入到QoS信息據庫子模塊中; (6-22)服務實例管理子模塊根據QoS信息資料庫和用戶服務級協議,對服務實例數目進行動態調整。並向服務發布子模塊或服務卸載子模塊發送調整消息; (6-23)服務發布子模塊或服務卸載子模塊接收服務實例管理子模塊的調整消息,完成服務發布或者服務卸載,至此,應用調用功能完成,轉向步驟(6-24); (6-24)用戶操作完成,退出系統。
全文摘要
本發明公開了一種基於雲服務總線的應用QoS管理系統,包括用戶訪問模塊、用戶管理模塊、應用管理模塊、雲服務總線模塊、服務池模塊、以及數據中心模塊,用戶訪問模塊用於給用戶提供一個統一的訪問接口,用戶管理模塊用於提供用戶認證功能,如果用戶的身份認證成功,則將用戶信息傳送到應用管理模塊,否則,用戶管理模塊提醒用戶進行註冊,應用管理模塊用於根據用戶管理模塊傳送的用戶信息為用戶提供統一的應用管理界面,以供用戶選擇應用發布、應用調用或應用QoS可視化功能,並在用戶選擇相應功能後將用戶請求傳送到雲服務總線模塊。本發明根據用戶需求和應用訪問情況動態增減應用所對應的服務實例數目,保證應用QoS的同時提高資源利用率。
文檔編號H04L29/06GK103002034SQ20121051337
公開日2013年3月27日 申請日期2012年12月3日 優先權日2012年12月3日
發明者石宣化, 金海 , 吳松, 石書鵑 申請人:華中科技大學