一種服務(wù)器和桌面虛擬應(yīng)用的負(fù)載平衡系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息技術(shù)領(lǐng)域,尤其涉及一種服務(wù)器和桌面虛擬應(yīng)用的負(fù)載平衡系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有的桌面虛擬化技術(shù)主要是在以下兩種架構(gòu)下執(zhí)行:
[0003]第一種:虛擬桌面基礎(chǔ)架構(gòu)(VirtualDesktop Infrastructure,VDI)。在該架構(gòu)下,不是每一個(gè)客戶端運(yùn)行應(yīng)用程序,而是服務(wù)器運(yùn)行應(yīng)用程序,并將客戶端的桌面進(jìn)行虛擬化。但是,當(dāng)服務(wù)器執(zhí)行某一個(gè)應(yīng)用程序時(shí),服務(wù)器的負(fù)載過重,則會(huì)造成服務(wù)器的吞吐率不高、響應(yīng)時(shí)間長(zhǎng)和資源利用率低。
[0004]第二種:虛擬操作系統(tǒng)基礎(chǔ)架構(gòu)(Virtual OS Infrastructure,VOI)。該架構(gòu)可以讓虛擬系統(tǒng)從引導(dǎo)階段就開始接管計(jì)算機(jī)硬件平臺(tái),直接工作在本機(jī)的硬件平臺(tái)之上,不再需要下層系統(tǒng)的支撐。但是,只支持標(biāo)準(zhǔn)的PC平臺(tái)的操作系統(tǒng)(Windows、Linux),不能像VDI架構(gòu)一樣通過瀏覽器隨時(shí)接入到桌面,以致適用范圍比較窄。
【發(fā)明內(nèi)容】
[0005]有鑒于此,實(shí)有必要提供一種解決服務(wù)器的吞吐率不高、響應(yīng)時(shí)間長(zhǎng)、資源利用率低和適用范圍窄的技術(shù)問題的服務(wù)器及桌面虛擬應(yīng)用的負(fù)載平衡系統(tǒng)。
[0006]一種服務(wù)器包括第一接收模塊、第一處理單元、第一判斷模塊、第一調(diào)取模塊和第一發(fā)送模塊。第一接收模塊,用于接收客戶端發(fā)送的應(yīng)用程序運(yùn)行請(qǐng)求。第一處理單元,用于獲取執(zhí)行應(yīng)用程序的CPU占用率和顯卡占用率。第一判斷模塊,用于判斷CPU占用率是否超過第一預(yù)設(shè)值且顯卡占用率是否超過第二預(yù)設(shè)值。第一調(diào)取模塊,用于當(dāng)CPU占用率超過第一預(yù)設(shè)值或顯卡占用率超過第二預(yù)設(shè)值時(shí),從存儲(chǔ)設(shè)備中調(diào)取應(yīng)用程序和VOI運(yùn)行環(huán)境。第一發(fā)送模塊,發(fā)送應(yīng)用程序和VOI運(yùn)行環(huán)境至客戶端,以供客戶端在VOI環(huán)境下執(zhí)行應(yīng)用程序。
[0007]優(yōu)選地,第一處理單元包括第二判斷模塊和獲取模塊。第二判斷模塊,用于判斷是否存在與應(yīng)用程序?qū)?yīng)的負(fù)載檢測(cè)記錄,負(fù)載檢測(cè)記錄包括CPU占用率和顯卡占用率。獲取模塊,用于當(dāng)存在負(fù)載檢測(cè)記錄時(shí),獲取負(fù)載檢測(cè)記錄中的CPU占用率和顯卡占用率。
[0008]優(yōu)選地,第一處理單元還包括程序運(yùn)行模塊和記錄生成模塊。程序運(yùn)行模塊,還用于當(dāng)不存在負(fù)載檢測(cè)記錄時(shí),運(yùn)行應(yīng)用程序得到CPU占用率和顯卡占用率。記錄生成模塊,用于生成與該應(yīng)用程序?qū)?yīng)且包括CPU占用率和顯卡占用率的負(fù)載檢測(cè)記錄,并將負(fù)載檢測(cè)記錄進(jìn)行存儲(chǔ)。
[0009]優(yōu)選地,獲取模塊,還用于當(dāng)CPU占用率未超過第一預(yù)設(shè)值且顯卡占用率未超過第二預(yù)設(shè)值時(shí),獲取當(dāng)前的CPU使用率和顯卡使用率。第一判斷模塊,還用于判斷CPU使用率和CPU占用率之和是否超過第一預(yù)設(shè)值且顯卡使用率和顯卡占用率之和是否超過第二預(yù)設(shè)值。第一調(diào)取模塊,還用于當(dāng)CPU使用率和CPU占用率之和未超過第一預(yù)設(shè)值且顯卡使用率和顯卡占用率之和未超過第二預(yù)設(shè)值時(shí),從存儲(chǔ)設(shè)備中調(diào)取應(yīng)用程序和VDI運(yùn)行環(huán)境。第一處理單元,還用于在VDI運(yùn)行環(huán)境下執(zhí)行應(yīng)用程序。第一發(fā)送模塊,還用于將應(yīng)用程序執(zhí)行過程中的數(shù)據(jù)信息存儲(chǔ)至存儲(chǔ)設(shè)備中。
[0010]優(yōu)選地,該服務(wù)器還包括:壓縮模塊,用于壓縮應(yīng)用程序和VOI運(yùn)行環(huán)境為壓縮數(shù)據(jù)包。
[0011]一種桌面虛擬應(yīng)用的負(fù)載平衡系統(tǒng),其包括服務(wù)器、客戶端和存儲(chǔ)設(shè)備。服務(wù)器包括第一接收模塊、第一處理單元、第一判斷模塊、第一調(diào)取模塊和第一發(fā)送模塊??蛻舳税ǖ诙l(fā)送模塊、第二處理單元、第二接收模塊和輸出模塊。存儲(chǔ)設(shè)備存儲(chǔ)有應(yīng)用程序、VDI運(yùn)行環(huán)境和VOI運(yùn)行環(huán)境。第二發(fā)送模塊,用于發(fā)送應(yīng)用程序運(yùn)行請(qǐng)求至第一接收模塊。第一接收模塊,用于接收應(yīng)用程序運(yùn)行請(qǐng)求。第一處理單元,用于獲取執(zhí)行應(yīng)用程序的CPU占用率和顯卡占用率。第一判斷模塊,用于判斷CPU占用率是否超過第一預(yù)設(shè)值且顯卡占用率是否超過第二預(yù)設(shè)值。第一調(diào)取模塊,用于當(dāng)CPU占用率超過第一預(yù)設(shè)值或顯卡占用率超過第二預(yù)設(shè)值時(shí),從存儲(chǔ)設(shè)備中調(diào)取應(yīng)用程序和與應(yīng)用程序?qū)?yīng)的VOI運(yùn)行環(huán)境。第一發(fā)送模塊,用于發(fā)送應(yīng)用程序和VOI運(yùn)行環(huán)境至第二接收模塊。第二接收模塊,用于接收應(yīng)用程序和VOI運(yùn)行環(huán)境。第二處理單元,用于在VOI運(yùn)行環(huán)境下執(zhí)行應(yīng)用程序。第二發(fā)送模塊,還用于將應(yīng)用程序執(zhí)行過程中的數(shù)據(jù)信息存儲(chǔ)至存儲(chǔ)設(shè)備中。輸出模塊,用于輸出應(yīng)用程序的運(yùn)行結(jié)果。
[0012]優(yōu)選地,第一處理單元包括第二判斷模塊和獲取模塊。第二判斷模塊,用于判斷是否存在與應(yīng)用程序?qū)?yīng)的負(fù)載檢測(cè)記錄,負(fù)載檢測(cè)記錄包括CPU占用率和顯卡占用率。獲取模塊,還用于當(dāng)存在負(fù)載檢測(cè)記錄時(shí),獲取負(fù)載檢測(cè)記錄中的CPU占用率和顯卡占用率。
[0013]優(yōu)選地,第一處理單元還包括程序運(yùn)行模塊和記錄生成模塊。程序運(yùn)行模塊,還用于當(dāng)不存在負(fù)載檢測(cè)記錄時(shí),運(yùn)行應(yīng)用程序得到CPU占用率和顯卡占用率。記錄生成模塊,用于生成與該應(yīng)用程序?qū)?yīng)且包括CPU占用率和顯卡占用率的負(fù)載檢測(cè)記錄,并將負(fù)載檢測(cè)記錄進(jìn)行存儲(chǔ)。
[0014]優(yōu)選地,獲取模塊,還用于當(dāng)CPU占用率未超過第一預(yù)設(shè)值且顯卡占用率未超過第二預(yù)設(shè)值時(shí),獲取當(dāng)前的CPU使用率和顯卡使用率。第一判斷模塊,還用于判斷CPU使用率和CPU占用率之和是否超過第一預(yù)設(shè)值且顯卡使用率和顯卡占用率之和是否超過第二預(yù)設(shè)值。第一調(diào)取模塊,還用于當(dāng)CPU使用率和CPU占用率之和未超過第一預(yù)設(shè)值且所述顯卡使用率和所述顯卡占用率之和未超過所述第二預(yù)設(shè)值時(shí),從存儲(chǔ)設(shè)備中調(diào)取應(yīng)用程序和VDI運(yùn)行環(huán)境。第一處理單元,還用于在VDI運(yùn)行環(huán)境下執(zhí)行應(yīng)用程序。第一發(fā)送模塊,還用于將應(yīng)用程序執(zhí)行過程中的數(shù)據(jù)信息存儲(chǔ)至存儲(chǔ)設(shè)備中,輸出模塊,還用于輸出應(yīng)用程序的運(yùn)行結(jié)果。
[0015]優(yōu)選地,服務(wù)器還包括壓縮模塊,客戶端還包括解壓縮模塊。壓縮模塊,用于將應(yīng)用程序和VOI運(yùn)行環(huán)境進(jìn)行壓縮得到壓縮數(shù)據(jù)包。第一發(fā)送模塊,用于將壓縮數(shù)據(jù)包發(fā)送至第二接收模塊。第二接收模塊,用于接收壓縮數(shù)據(jù)包。解壓縮模塊,用于將壓縮數(shù)據(jù)包進(jìn)行解壓得到應(yīng)用程序和VOI運(yùn)行環(huán)境。
[0016]服務(wù)器判定執(zhí)行應(yīng)用程序的負(fù)載超重時(shí),將應(yīng)用程序交互給客戶端在VOI運(yùn)行環(huán)境執(zhí)行,提升了服務(wù)器的吞吐率和資源利用率,及降低了響應(yīng)時(shí)間。
【附圖說明】
[0017]圖1為一種實(shí)施方式的桌面虛擬應(yīng)用的負(fù)載平衡系統(tǒng)的功能模塊示意圖。
[0018]圖2為另一種實(shí)施方式的桌面虛擬應(yīng)用的負(fù)載平衡系統(tǒng)的功能模塊示意圖。
[0019]圖3為圖1中服務(wù)器的功能模塊示意圖。
[0020]圖4為圖2中服務(wù)器的功能模塊示意圖。
[0021]圖5為一種實(shí)施方式的桌面虛擬應(yīng)用的負(fù)載平衡方法的流程圖。
[0022]圖6為另一種實(shí)施方式的桌面虛擬應(yīng)用的負(fù)載平衡方法的流程圖。
【具體實(shí)施方式】
[0023]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用來限定本發(fā)明。
[0024]如圖1所示,其為一種實(shí)施方式的桌面虛擬應(yīng)用的負(fù)載平衡系統(tǒng)的功能模塊示意圖。該桌面虛擬應(yīng)用的負(fù)載平衡系統(tǒng)包括服務(wù)器10、客戶端20和存儲(chǔ)設(shè)備30。服務(wù)器10包括第一接收模塊101、第一處理單元102、第一判斷模塊103、第一調(diào)取模塊104、壓縮模塊105和第一發(fā)送模塊106。客戶端20包括第二發(fā)送模塊201、第二處理單元202、解壓縮模塊203、輸出模塊204和第二接收模塊205。存儲(chǔ)設(shè)備30存儲(chǔ)有應(yīng)用程序、VDI運(yùn)行環(huán)境、VOI運(yùn)行環(huán)境與執(zhí)行應(yīng)用程序的整個(gè)過程中產(chǎn)生的數(shù)據(jù)信息。
[0025]運(yùn)行環(huán)境(英語:Runtime environment,又稱"運(yùn)行期系統(tǒng)",run-timesystem),指一種把半編譯的運(yùn)行碼在目標(biāo)機(jī)器上運(yùn)行的環(huán)境。
[0026]VDI運(yùn)行環(huán)境是指一種代碼序列,該代碼序列在服務(wù)器運(yùn)行則形成VDI運(yùn)行環(huán)境。應(yīng)用程序既可以被VDI運(yùn)行環(huán)境的代碼序列進(jìn)行編譯解釋后執(zhí)行,也可以在VDI運(yùn)行環(huán)境下直接執(zhí)行。
[0027]VOI運(yùn)行環(huán)境也是一種代碼序列,該代碼序列在客戶端運(yùn)行則形成VOI運(yùn)行環(huán)境。應(yīng)用程序既可以被VOI運(yùn)行環(huán)境的代碼序列進(jìn)行編譯解釋后執(zhí)行,也可以在VOI運(yùn)行環(huán)境直接執(zhí)行。
[0028]第二發(fā)送模塊201,用于發(fā)送應(yīng)用程序運(yùn)行請(qǐng)求至第一接收模塊101。第一接收模塊101,用于接收應(yīng)用程序運(yùn)行請(qǐng)求。第一處理單元102,用于獲取執(zhí)行應(yīng)用程序的CPU占用率和顯卡占用率。第一判斷模塊103,用于判斷CPU占用率是否超過第一預(yù)設(shè)值且顯卡占用率是否超過第二預(yù)設(shè)值。第