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