亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于xcp的云平臺的監(jiān)控方法及系統的制作方法

文檔序號:8005767閱讀:352來源:國知局
一種基于xcp的云平臺的監(jiān)控方法及系統的制作方法
【專利摘要】本發(fā)明提出了一種基于XCP的云平臺的監(jiān)控方法及系統,通過/proc目錄下節(jié)點的物理信息來獲取對各個物理服務器的資源情況,然后同時通過XENSTORE機制對每個DomainU中的各個虛擬機的信息進行動態(tài)實時的統計,最后通過安卓客戶端的前端顯示統計數據信息。本發(fā)明系統包括物理服務器的系統I/O、進程I/O和網絡I/O的采集模塊和針對虛擬機的CPU、內存、磁盤I/O與網絡I/O的采集模塊的實現,并通過一個面向對象的腳本層的設計和實現,統一化I/O采集接口,方便用戶的二次開發(fā)。最后通過客戶端的實現,顯示相關的數據。本發(fā)明實現了移動客戶端的交互、顯示功能,在移動客戶端方便、快捷、高效的一種交互模。
【專利說明】—種基于XCP的云平臺的監(jiān)控方法及系統
【技術領域】
[0001]本發(fā)明屬于XCP云平臺的監(jiān)控設計領域,特別是涉及一種XCP環(huán)境下的監(jiān)控方法?!颈尘凹夹g】
[0002]近年來伴隨信息化技術越來越快的發(fā)展,計算機在各行各業(yè)越來越受到關注及應用。但是由于計算機技術的普遍性、不規(guī)范性和專業(yè)性等特點,使得廣大群眾對于計算機的安全性和實用性的矛盾日益尖銳。根據我國國家知識產權局對安全計算機產品的實現技術分析,大力發(fā)展和研究自主的安全計算機產品是現階段計算機終端發(fā)展的主要任務。通過虛擬化技術的安全特點和硬件保護功能的推廣,基于Xen技術的安全計算機已經慢慢的吸引到了人們的眼球。它可以根據客戶的需要可以滿足多個獨立的、互不影響的虛擬的客戶系統,并且可以通過特權域對整個虛擬系統進行統一管理和控制,以確保虛擬客戶環(huán)境的相對安全性和隔離性。但是雖然虛擬化技術提供復用性和隔離性這樣的優(yōu)點和特性,虛擬客戶系統的運行性能還是差強人意,往往虛擬化系統的I/O會成為影響整個計算機系統的性能短板,如何高效的提高運行效率,直觀的分析和采集虛擬化系統的I/O將成為性能優(yōu)化工作的重要保證之一。
[0003]虛擬化技術的發(fā)展正迅速改變著信息技術的面貌,Intel的VT (虛擬化)技術,是一種類似于硬件虛擬化的技術。在應用硬件虛擬化技術后,在可以支持虛擬硬件之上的客戶操作系統(Guest OS)可以不加修改的運行,并且保證客戶操作系統間的互相獨立。通過虛擬化的使用,讓人們在一臺物理機上運行多個虛擬機,因此在現有的硬件環(huán)境的基礎上,可以搭建一個多系統資源共享硬件資源并相互隔離的計算環(huán)境。虛擬化技術的特點在于復用硬件平臺、拓展硬件平臺并且能夠使硬件平臺透明化,除此之外虛擬化技術可以提供比較高安全級別的系統隔離,享有先天的安全性能。
[0004]盡管安全計算機給出了比較好的獨立性和良好的操控性的操作環(huán)境,但是基于虛擬化的XCP云平臺通常面臨I/O的運行效能問題。提高虛擬操作系統的用戶體驗和操作性能是必須要解決的主要問題,也是其在桌面應用面臨的最大障礙,這也是本發(fā)明研究的主要背景。

【發(fā)明內容】

[0005]本發(fā)明的目的在于克服現有技術存在的上述不足,提供一種基于XCP的云平臺的監(jiān)控方法及系統,具體技術方案如下。
[0006]一種基于XCP的云平臺的監(jiān)控方法,其通過/proc目錄下節(jié)點的物理信息來獲取對各個物理服務器的資源情況,然后同時通過XENSTORE機制對每個DomainU中的各個虛擬機的信息進行動態(tài)實時的統計,最后通過安卓客戶端的前端顯示統計數據信息。
[0007]實現所述監(jiān)控方法的監(jiān)控系統,其包括:
系統I/o采集模塊:測試XCP系統的磁盤信息的正確性;驗證系統磁盤I/O監(jiān)控的正確性;驗證客戶端磁盤I/o模塊及系統磁盤I/O監(jiān)測的穩(wěn)定性; 進程I/o采集模塊:列出XCP系統的各個進程的相關信息,對不同進程進行讀寫操作,根據系統反饋的結果驗證其正確性;
網絡I/o采集模塊:測試XCP系統的端口信息的正確性;驗證系統網絡I/O監(jiān)控的正確
性;
虛擬機VCPU采集模塊:客戶端連接上XCP服務器時,能夠正確返回服務器上所有虛擬機信息;系統能夠實時監(jiān)控不同虛擬機的CPU信息,客戶端能夠實時顯示,并且計算出虛擬機CPU的使用率;
虛擬機內存采集模塊:針對虛擬機內存進行實時監(jiān)測;在客戶端中檢查系統的內存使用率;
虛擬磁盤I/o采集模塊:針對虛擬機硬盤進行實時監(jiān)測;在客戶端中檢查系統的硬盤讀與使用情況;
虛擬網絡I/o帶寬采集模塊:針對虛擬機網絡I/O進行實時監(jiān)測;并在客戶端中檢查監(jiān)測結果;
I/o采集腳本模塊:在I/O采集模塊之上實現了一個面向對象的腳本層,此腳本層提供對服務器I/o采集的封裝,統一化服務器I/o采集接口 ;
安卓移動客戶端:顯示實時、動態(tài)的統計數據。
[0008]進一步的,所述腳本層包括Socket模塊、SocketMgr模塊和XCPIO模塊及VMIO模塊。
[0009]進一步的,所述Socket模塊采用socket實現網絡連接、監(jiān)聽、發(fā)送數據、接收數據,由三個類組成:BaseSocket類,即Socket模塊的基類,定義網絡接P ;ListenSocket類,負責監(jiān)控網絡連接KlientSocket類,即客戶端連接通訊類,負責發(fā)送數據到客戶端或接收客戶端數據,解析客戶端數據;
所述SocketMgr模塊米用select模型,使用Reactor模式,管理所有Socket, Socket向SocketMgr中注冊自己,當相應的事件發(fā)生時,SocketMgr調用相應Socket的回調函數;update()調用select,并根據返回的可讀列表、可寫列表、錯誤列表,調用對應的注冊Socket的update (),解析客戶端指令,或獲取XCP平臺IO信息,生成對應消息,發(fā)送給客戶端;
所述XCPIO模塊對實現的服務器系統10采集模塊進行上層封裝,提供面向對象的接口,通過封裝xcp_sys()、xcp_process O、xcp_network O分別獲取服務器的系統1/0、進程1/0、網絡1/0相關信息;
所述VMIO模塊對虛擬機10采集模塊進行上層封裝,提供簡單的面向對象的接口,通過封裝 xcp_vcpu()、xcp_vmenO、xcp_vbdO、xcp_vnet 分別獲取虛擬機的 VCPU、VMEN>VBD-1O、VNET-1O 相關信息。
[0010]與現有技術相比,本發(fā)明具有以下優(yōu)點和技術效果:
(I)實現了服務端的功能,分別從內核空間調用模塊功能采集I/o數據。
[0011](2)實現了一個面向對象的腳本層,統一化虛擬機1/0采集接口,方便用戶的二次開發(fā)。
[0012](3)實現了移動客戶端的交互、顯示功能,在移動客戶端方便、快捷、高效的一種交互模式,來實施遠程操作控制?!緦@綀D】

【附圖說明】
[0013]圖1為本發(fā)明的XCP-1/0監(jiān)控服務端設計圖;
圖2為本發(fā)明的XCP-1/0監(jiān)控客戶端設計圖;
圖3為本發(fā)明的XCP服務器系統進程I/O采集模塊設計圖;
圖4為本發(fā)明的XCP服務器網絡I/O采集模塊設計圖;
圖5為本發(fā)明的Socket模塊設計類圖;
圖6為本發(fā)明的SocketMgr模塊設計類圖;
圖7為本發(fā)明的XCPIO模塊設計類圖;
圖8為本發(fā)明的VMIO模塊設計類圖。
【具體實施方式】
[0014]下面結合附圖對本發(fā)明的實現做進一步的說明。首先介紹總體框架、服務器框架,如圖1??蛻舳说目蚣?,如圖2。結合各個機制,針對各個模塊的實現做出詳細的描述。
[0015]監(jiān)控服務端針對服務端的采集模塊實現:
(I)系統I/o采集模塊:在數據處理器模塊中,對數據提取和處理后,將構造結構體struct xcpio_info和struct xcpcpu_info分別對應服務器不同的I/O相關信息,而數據處理器將在上述兩個結構體的基礎上,進行分析,并得到結構體struct xcpiostat,用來保存采集得到的最終I/O項。
[0016](2)進程I/O采集模塊:在獲得當前進程的信息后,則通過/proc系統的進程IO統計信息找到詳細的讀寫情況,為了實現統計信息的準確性,將利用kprobes技術在進程開始執(zhí)行時對進程IO進行實時監(jiān)控,進程執(zhí)行結束時,停止對該進程的監(jiān)控行為并清除該進程的歷史數據。如圖3。
[0017](3)網絡I/O采集模塊:主要由用戶進程空間部分和內核部分兩部分組成,在內核空間,動態(tài)插入的內核網絡I/o模塊將獲取到網絡設備的網絡數據統計信息,并利用/proc文件系統將信息暴露給用戶空間。服務器1/0模塊中的網絡1/0采集模塊通過用戶接口,獲取內核暴露的/proc文件系統數據信息,獲取從內核采集的XCP云平臺服務器網絡統計信息。同時,網絡1/0采集模塊提供了實現了一套腳本接口,供腳本層調用。如圖4。
[0018]監(jiān)控服務端針對虛擬機的采集模塊實現:
(I)虛擬機VCPU采集模塊:為計算CPU使用率,需要獲取虛擬機CPU單位時間內的運行時間,用結構體struct xenstat_vcpu ;為計算CPU使用率,需要獲取虛擬機CPU單位時間內的運行時間,用結構體struct xenstat_vcpu實現;可通過xc_vcpu_getinfo O接口獲取,xc_vcpu_getinfo O底層通過系統調用do_domctl O ,與系統內核進行通信,獲取內核數據。
[0019](2)虛擬機內存采集模塊:struct xc_domaininfo_t中存儲了虛擬機的內存信息,定義接口 xenstat_get_mem O 獲取。
[0020](3)虛擬磁盤1/0采集模塊:實時獲取XCP物理機上所有虛擬機的硬盤10情況,定義 xenstat_get_vbds O 接口 ;其中 get_vm_vbds O 接 口通過 XenStore 提供的機制,讀 XCP平臺下相應虛擬機節(jié)點的數據,獲取各個虛擬機的硬盤10 ;由上述接口獲得的虛擬機VBD數據,定義get_vbd_read()和get_vbd_write O接口,用于實時計算虛擬機硬盤讀寫數據數,隱藏底層復雜的數據獲取,為腳本層提供簡單接口。
[0021](4)虛擬網絡I/O帶寬采集模塊:結構體struct xenstat_vnet用于存儲虛擬網絡的IO信息;定義xenstat_get_nets()接口,用于執(zhí)行虛擬網絡設備IO的獲??;其中get_vm_vbds()接口提供獲取具體虛擬機的網絡I/O信息,與VBD監(jiān)測模塊相同,可通過讀XenStore提供的節(jié)點存儲結構,獲取各個虛擬機的網絡I/O ;定義get_vif_readO和get_vif_write O接口,隱藏底層復雜的數據獲取接口,為腳本層提供簡單接口獲取單位時間內網絡IO的接收與發(fā)送數據數。
[0022]本發(fā)明使用Python語言,在I/O采集模塊之上實現了一個面向對象的腳本層,包括的I/o采集腳本模塊:
(I) Socket模塊:采用socket實現了網絡連接、監(jiān)聽、發(fā)送數據、接收數據,由三個類組成:BaseSocket類,Socket模塊的基類,定義網絡接口 ;ListenSocket類,負責監(jiān)控網絡連接;ClientSocket類,客戶端連接通訊類,負責發(fā)送數據到客戶端或接收客戶端數據,解析客戶端數據。如圖5。
[0023](2) SocketMgr模塊:米用select模型,使用Reactor模式,管理所有Socket,Socket (ListenSocket、WorldSocket)向SocketMgr中注冊自己,當相應的事件發(fā)生時,SocketMgr調用相應Socket的回調函數;update()調用select,并根據返回的可讀列表、可寫列表、錯誤列表(事件),調用對應的注冊Socket的updateO,解析客戶端指令,或獲取XCP平臺IO信息,生成對應消息,發(fā)送給客戶端。如圖6。
[0024](3)XCPIO模塊:對本發(fā)明實現的服務器10采集模塊進行上層封裝,提供簡單的面向對象的接口,通過封裝xcp_sys O、xcp_process O、xcp_network ()分別獲取服務器的系統1/0、進程1/0、網絡1/0等相關信息。如圖7。
[0025](4)VM10模塊:對發(fā)明實現的虛擬機10監(jiān)測模塊進行上層封裝,提供簡單的面向對象的接口,通過封裝xcp_vcpu O、xcp_vmen O、xcp_vbd O、xcp_vnet分別獲取虛擬機的VCPU、VMEN、VBD-1O、VNET-1O 等相關信息。如圖 8。
[0026]安卓客戶端的實現,如圖2:
(I)UI層:顯示監(jiān)測的數據統計結果和用戶交互的操作界面,能夠顯示七種功能模塊的界面,分別是:系統10監(jiān)控,進程10監(jiān)控,網絡10監(jiān)控,VMCPU監(jiān)控,VM內存監(jiān)控,VM網絡監(jiān)控,VM硬盤監(jiān)控。
[0027](2)邏輯層:采用觀察者設計模式,采用觀察者設計模式劃分用戶界面和基礎業(yè)務邏輯,保證快速更改用戶界面同時不會對應用程序的其他部分產生連帶影響,此外保證業(yè)務要求發(fā)生變化也與用戶界面無關;采用AsyncTask及多線程解決UI假死,由于手機網絡傳輸帶寬的限制,1/0操作和網絡傳輸等耗時任務會造成UI假死,影響用戶體驗,采用了AsyncTask+ Thread的方法,多線程處理耗時的網絡任務,異步發(fā)送獲取XCP平臺信息指令及獲取XCP平臺反饋的10信息,解決Π的假死問題,提高用戶體驗的流暢性。
[0028](3)網絡層:對于網絡層,主要負責獲取數據消息的發(fā)送以及接受服務端消息,解析消息,獲取遠端XCP的10信息,并通知UI層進行更新。網絡層主要包括Connect,負責連接服務端及發(fā)送相關信息獲取消息;Start,負責接收服務端反饋的消息,解析消息,通知UI層更新;Stop,停止消息獲取。
【權利要求】
1.一種基于XCP的云平臺的監(jiān)控方法,其特征在于通過/piOC目錄下節(jié)點的物理信息來獲取對各個物理服務器的資源情況,然后同時通過XENSTORE機制對每個DomainU中的各個虛擬機的信息進行動態(tài)實時的統計,最后通過安卓客戶端的前端顯示統計數據信息。
2.實現權利要求1所述監(jiān)控方法的監(jiān)控系統,其特征在于包括: 系統I/O采集模塊:測試XCP系統的磁盤信息的正確性;驗證系統磁盤I/O監(jiān)控的正確性;驗證客戶端磁盤I/O模塊及系統磁盤I/O監(jiān)測的穩(wěn)定性; 進程I/O采集模塊:列出XCP系統的各個進程的相關信息,對不同進程進行讀寫操作,根據系統反饋的結果驗證其正確性; 網絡I/O采集模塊:測試XCP系統的端口信息的正確性;驗證系統網絡I/O監(jiān)控的正確性; 虛擬機VCPU采集模塊:客戶端連接上XCP服務器時,能夠正確返回服務器上所有虛擬機信息;系統能夠實時監(jiān)控不同虛擬機的CPU信息,客戶端能夠實時顯示,并且計算出虛擬機CPU的使用率; 虛擬機內存采集模塊:針對虛擬機內存進行實時監(jiān)測;在客戶端中檢查系統的內存使用率; 虛擬磁盤I/o采集模塊:針對虛擬機硬盤進行實時監(jiān)測;在客戶端中檢查系統的硬盤讀與使用情況; 虛擬網絡I/o帶寬采集模塊:針對虛擬機網絡I/O進行實時監(jiān)測;并在客戶端中檢查監(jiān)測結果; I/o采集腳本模塊:在I/O采集模塊之上實現了一個面向對象的腳本層,此腳本層提供對服務器I/o采集的封裝,統一化服務器I/o采集接口 ; 安卓移動客戶端:顯示實時、動態(tài)的統計數據。
3.根據權利要求2所述的監(jiān)控系統,其特征在于所述腳本層包括Socket模塊、SocketMgr模塊和XCPIO模塊及VMIO模塊。
4.根據權利要求3所述的監(jiān)控系統,其特征在于: 所述Socket模塊采用socket實現網絡連接、監(jiān)聽、發(fā)送數據、接收數據,由三個類組成:BaseSocket類,即Socket模塊的基類,定義網絡接口 ;ListenSocket類,負責監(jiān)控網絡連接KlientSocket類,即客戶端連接通訊類,負責發(fā)送數據到客戶端或接收客戶端數據,解析客戶端數據; 所述SocketMgr模塊米用select模型,使用Reactor模式,管理所有Socket, Socket向SocketMgr中注冊自己,當相應的事件發(fā)生時,SocketMgr調用相應Socket的回調函數;updateO調用select,并根據返回的可讀列表、可寫列表、錯誤列表,調用對應的注冊Socket的update (),解析客戶端指令,或獲取XCP平臺IO信息,生成對應消息,發(fā)送給客戶端; 所述XCPIO模塊對實現的服務器系統IO采集模塊進行上層封裝,提供面向對象的接口,通過封裝xcp_sys O、xcp_process O、xcp_network O分別獲取服務器的系統I/O、進程I/O、網絡I/O相關信息; 所述VMIO模塊對虛擬機IO采集模塊進行上層封裝,提供簡單的面向對象的接口,通過封裝 xcp_vcpu()、xcp_vmenO、xcp_vbdO、xcp_vnet 分別獲取虛擬機的 VCPU、VMEN>VBD-1O、VNET-1O 相關信息。
【文檔編號】H04L29/08GK103458020SQ201310382747
【公開日】2013年12月18日 申請日期:2013年8月28日 優(yōu)先權日:2013年8月28日
【發(fā)明者】劉發(fā)貴, 熊智, 邢曉勇, 王文洋 申請人:華南理工大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1