亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于分布式虛擬服務(wù)技術(shù)的校園云平臺(tái)系統(tǒng)和方法

文檔序號(hào):7998969閱讀:371來(lái)源:國(guó)知局
一種基于分布式虛擬服務(wù)技術(shù)的校園云平臺(tái)系統(tǒng)和方法
【專利摘要】一種運(yùn)用云計(jì)算范疇中的分布式虛擬服務(wù)技術(shù)來(lái)實(shí)現(xiàn)的校園云平臺(tái)系統(tǒng),主要包括校園卡系統(tǒng)、網(wǎng)管系統(tǒng)、服務(wù)器端程序、客戶端程序。網(wǎng)管系統(tǒng)主要有三個(gè)主要功能:(1)創(chuàng)建虛擬機(jī)模板;(2)創(chuàng)建用戶帳戶和虛擬機(jī);(3)查詢、設(shè)置用戶帳戶和虛擬機(jī)。服務(wù)器端程序主要有三個(gè)功能:(1)同步虛擬磁盤模板;(2)控制虛擬機(jī);(3)查詢虛擬機(jī)狀態(tài)。客戶端程序主要有三個(gè)功能:(1)用戶身份驗(yàn)證;(2)連接登錄虛擬機(jī);(3)使能客戶端USB等終端設(shè)備。管理員可以通過(guò)網(wǎng)管系統(tǒng)控制所有機(jī)房電腦的開機(jī)、關(guān)機(jī)、自動(dòng)登錄、切換桌面等。用戶在使用過(guò)程中出現(xiàn)的問(wèn)題,管理員都可以通過(guò)網(wǎng)管系統(tǒng)來(lái)解決,不需要去現(xiàn)場(chǎng)處理。
【專利說(shuō)明】一種基于分布式虛擬服務(wù)技術(shù)的校園云平臺(tái)系統(tǒng)和方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種校園云平臺(tái)系統(tǒng)。具體地說(shuō),涉及到運(yùn)用云計(jì)算范疇中的分布式 虛擬服務(wù)技術(shù)來(lái)實(shí)現(xiàn)一種校園云平臺(tái)。該校園云平臺(tái)系統(tǒng)主要包括校園卡系統(tǒng)、網(wǎng)管系統(tǒng)、 服務(wù)器端程序和客戶端程序。根據(jù)本發(fā)明實(shí)施的校園云平臺(tái),可以為學(xué)校所有教師、學(xué)生提 供良好的云平臺(tái)IT服務(wù)。學(xué)校中心機(jī)房一臺(tái)服務(wù)器上部署網(wǎng)管系統(tǒng),管理員通過(guò)網(wǎng)管系統(tǒng) 統(tǒng)一管理用戶賬戶、集中部署虛擬機(jī)。服務(wù)器端程序在后臺(tái)集中完成每一個(gè)虛擬機(jī)的創(chuàng)建、 運(yùn)行、關(guān)閉、保存、刪除等操作??蛻舳说卿洺绦蚩梢暂斎雽W(xué)生的用戶名和密碼,通過(guò)身份認(rèn) 證后,直接連接登錄運(yùn)行于云服務(wù)器或普通電腦上的虛擬機(jī);如同使用本地的桌面系統(tǒng),學(xué) 生可以使用USB、CDR0M等終端設(shè)備。學(xué)生在任何時(shí)刻、在機(jī)房的任何一臺(tái)電腦上連接登錄 的是同一個(gè)桌面系統(tǒng),極大地方便了學(xué)生的學(xué)習(xí),有效地保護(hù)了他們的隱私和數(shù)據(jù)安全。

【背景技術(shù)】
[0002] 某高校計(jì)算中心機(jī)房為全校所有學(xué)生的計(jì)算機(jī)課程提供電腦上機(jī)服務(wù)。不同年 級(jí)、不同專業(yè)的老師和學(xué)生,對(duì)計(jì)算機(jī)操作系統(tǒng)的要求不同,對(duì)應(yīng)用軟件的要求也不同,尤 其是專業(yè)課的軟件。為了便于滿足不同要求的上課需求,計(jì)算中心管理員安裝了多個(gè)操作 系統(tǒng),并且在不同操作系統(tǒng)上安裝了多種應(yīng)用軟件,例如AutoCAD、Photoshop等,然后借助 GHOST、還原卡等工具軟件安裝部署機(jī)房的所有電腦。
[0003] 每個(gè)學(xué)生上課時(shí)登錄的系統(tǒng)是大家共用的,因此每次登錄使用的計(jì)算機(jī)環(huán)境跟上 次登錄時(shí)的可能不一樣;學(xué)生開發(fā)的軟件或完成的作業(yè),需要用U盤保存帶走,下次上課時(shí) 拷貝回來(lái)繼續(xù)完成。由于不同的學(xué)生在不同的時(shí)間段使用同一臺(tái)電腦,一個(gè)學(xué)生的不當(dāng)操 作很可能會(huì)影響到下一個(gè)學(xué)生的使用。電腦上安裝的軟件也比較雜,系統(tǒng)運(yùn)行越來(lái)越慢,每 個(gè)學(xué)期開學(xué)前都要重新安裝或恢復(fù)操作系統(tǒng)。雖然借助于網(wǎng)絡(luò)管理軟件可以快速地安裝/ 恢復(fù)操作系統(tǒng),但也要花費(fèi)管理人員大量的時(shí)間來(lái)檢查軟件及網(wǎng)絡(luò)服務(wù)。如果機(jī)房電腦使 用了還原卡,重啟后還原系統(tǒng),數(shù)據(jù)丟失,設(shè)置還原卡重啟系統(tǒng)不還原數(shù)據(jù),使用操作不方 便。管理員無(wú)法遠(yuǎn)程控制機(jī)房所有電腦。
[0004] 本發(fā)明所描述的校園云平臺(tái)可以用來(lái)解決上述問(wèn)題。校園云平臺(tái)可以為每一個(gè)學(xué) 生提供良好的云平臺(tái)IT服務(wù),每個(gè)新生報(bào)到時(shí),獲取一張校園卡,憑此校園卡除了可以在 學(xué)校內(nèi)吃飯、住宿、消費(fèi);進(jìn)入教室、圖書館學(xué)習(xí)。學(xué)生還可以在上計(jì)算機(jī)課程時(shí)憑借校園卡 帳號(hào)連接登錄自己專有的云桌面系統(tǒng),如同使用本地桌面系統(tǒng)一樣。在任何地方、任何時(shí)刻 登錄連接到的是同一個(gè)桌面系統(tǒng),方便了學(xué)生的學(xué)習(xí),有效地保護(hù)了他們的隱私和數(shù)據(jù)安 全。學(xué)生還可以在宿舍、實(shí)驗(yàn)室、家里等憑借校園卡帳號(hào)連接登錄他們自己專有的云桌面系 統(tǒng)。
[0005] 某高校部署使用校園云平臺(tái)系統(tǒng)后,為IT維護(hù)管理,為每一個(gè)教師、學(xué)生提供個(gè) 性化的桌面系統(tǒng),保護(hù)個(gè)人隱私,保障數(shù)據(jù)安全帶來(lái)了極大的方便。下面是2種與本發(fā)明相 近的專利。
[0006] (1)專利CN102298762A "智慧校園系統(tǒng)",描述了一個(gè)智慧校園系統(tǒng),包含基礎(chǔ)教 育云服務(wù)平臺(tái)、智能管理系統(tǒng)、智能教學(xué)系統(tǒng)、移動(dòng)學(xué)習(xí)系統(tǒng)、數(shù)字化實(shí)驗(yàn)系統(tǒng)、智慧系統(tǒng)文 化、家校通系統(tǒng)?;A(chǔ)教育云服務(wù)平臺(tái)是數(shù)據(jù)、信息及資源中心,為所述的智能管理系統(tǒng)、智 能教學(xué)系統(tǒng)、移動(dòng)學(xué)習(xí)系統(tǒng)、數(shù)字化實(shí)驗(yàn)系統(tǒng)、智慧文化系統(tǒng)、家校通系統(tǒng)提供底層數(shù)據(jù)存 儲(chǔ)、數(shù)據(jù)管理、信息傳遞及資源支撐。該發(fā)明基于Radio Frequency Identification(RFID) 技術(shù),即射頻識(shí)別技術(shù)之上,把學(xué)校的教學(xué)、管理和科研集成為一體,形成一個(gè)有機(jī)的智慧 校園系統(tǒng),因而可以認(rèn)為該系統(tǒng)是物聯(lián)網(wǎng)的一種運(yùn)用。
[0007] (2)專利CN102542418A "基于云存儲(chǔ)的校園資源共享方法",提供的是一種基于 云存儲(chǔ)的校園資源共享管理方法。該發(fā)明的關(guān)鍵在于將云存儲(chǔ)和權(quán)限管理引入到現(xiàn)有的校 園中,該方法能根據(jù)現(xiàn)在高校的資源使用情況,劃分多個(gè)共享組供高校人員使用,并為各個(gè) 共享組設(shè)定相應(yīng)的使用角色,為高校教學(xué)提供了交互平臺(tái)。該發(fā)明是一種基于云存儲(chǔ)的資 源共享方法,和本發(fā)明以共享計(jì)算資源為主導(dǎo)的方案有很大的不同。
[0008] 本發(fā)明與上述發(fā)明的根本性區(qū)別在于:本發(fā)明創(chuàng)造性地運(yùn)用了分布式虛擬服務(wù)技 術(shù)來(lái)實(shí)現(xiàn)校園云平臺(tái)系統(tǒng)。其本質(zhì)是云計(jì)算范疇中的桌面虛擬化技術(shù)的一種發(fā)展。維基百 科(Wiki)上給出的桌面虛擬化定義是:桌面虛擬化(Virtual Desktop Infrastructure)是 一種基于服務(wù)器的計(jì)算模型,它將所有桌面虛擬機(jī)在數(shù)據(jù)中心進(jìn)行托管并統(tǒng)一管理;同時(shí) 用戶能夠獲得完整PC的使用體驗(yàn)。用戶可以通過(guò)瘦客戶端,或者類似的設(shè)備在局域網(wǎng)或者 遠(yuǎn)程訪問(wèn)獲得與傳統(tǒng)PC -致的用戶體驗(yàn)。
[0009] 我們注意到:云桌面系統(tǒng)虛擬機(jī)一般運(yùn)行在服務(wù)器上,每臺(tái)服務(wù)器根據(jù)配置比如 CPU、內(nèi)存、硬盤大小等可以運(yùn)行幾十個(gè)甚至上百個(gè)虛擬機(jī)。個(gè)人普通電腦如果CPU支持虛 擬化,也可以運(yùn)行虛擬機(jī),但受CPU、內(nèi)存等限制,一般只能運(yùn)行數(shù)個(gè)虛擬機(jī)。在一些使用云 桌面系統(tǒng)的企業(yè)或單位中,有很多配置不差的電腦,在此情況下全部更新使用云桌面系統(tǒng), 現(xiàn)有電腦只是作為客戶端,對(duì)現(xiàn)有配置比較好的電腦是個(gè)浪費(fèi),尤其是CPU、內(nèi)存、硬盤資 源。尤其是在學(xué)校計(jì)算中心機(jī)房里,配置不差的電腦,可以運(yùn)行虛擬機(jī),不需要購(gòu)買服務(wù)器, 就可以實(shí)現(xiàn)虛擬化。
[0010] 本發(fā)明所定義的分布式虛擬服務(wù)技術(shù),即是:汲取了網(wǎng)格計(jì)算的長(zhǎng)處,將原本集中 于服務(wù)器的桌面虛擬機(jī),分布到各個(gè)支持虛擬化的電腦中,并統(tǒng)一調(diào)配資源,盡可能將桌面 虛擬機(jī)和對(duì)應(yīng)的客戶端程序?qū)嵗徒才旁谕慌_(tái)電腦上,從而大大緩解了桌面虛擬化所 固有的網(wǎng)絡(luò)壓力。對(duì)于支持虛擬化的電腦,由于桌面虛擬機(jī)通常就在客戶本地,性能將會(huì)有 很大的提高;而對(duì)于不支持支持虛擬化的僅作為客戶端的電腦,由于服務(wù)器負(fù)載的桌面虛 擬機(jī)數(shù)目減少,虛擬桌面的性能也將大大提高。本發(fā)明的新穎性和創(chuàng)造性還體現(xiàn)在實(shí)施例 中。
[0011] (1)電腦桌面系統(tǒng)是每個(gè)學(xué)生專有的,有效保證了用戶個(gè)人數(shù)據(jù)隱私。
[0012] (2)用戶可以自由安裝各種軟件。
[0013] (3)網(wǎng)管系統(tǒng)統(tǒng)一管理用戶帳戶,集中部署虛擬機(jī),可以查詢、設(shè)置用戶帳戶和虛 擬機(jī)。
[0014] (4)創(chuàng)建用戶帳戶和虛擬機(jī)速度快;通過(guò)網(wǎng)管系統(tǒng)為每個(gè)學(xué)生創(chuàng)建帳戶和虛擬機(jī) 只需要幾秒鐘,可以快速地、大規(guī)模地為學(xué)生創(chuàng)建虛擬桌面,減少IT維護(hù)的工作時(shí)間和維 護(hù)成本。
[0015] (5)可以為每個(gè)學(xué)生創(chuàng)建多個(gè)虛擬機(jī),用于學(xué)習(xí)開發(fā)。學(xué)生離校時(shí),可以將學(xué)生使 用過(guò)的虛擬機(jī)保存起來(lái)存檔,以后還可以恢復(fù)查詢。
[0016] (6)傳輸數(shù)據(jù)加密,保證安全。數(shù)據(jù)在網(wǎng)管系統(tǒng)、服務(wù)器端程序、客戶端程序之間的 傳輸都經(jīng)過(guò)SSL/TLS加密,確保數(shù)據(jù)在網(wǎng)絡(luò)傳輸過(guò)程中不會(huì)被截取及竊聽。
[0017] (7)操作系統(tǒng)、應(yīng)用程序支持多。網(wǎng)管系統(tǒng)預(yù)先定制好不同操作系統(tǒng)和應(yīng)用程序的 模板,包括中文WinXP、Win7、Linux等操作系統(tǒng),安裝不同的應(yīng)用程序。
[0018] (8)訪問(wèn)權(quán)限控制嚴(yán)格。網(wǎng)管系統(tǒng)可以任意控制各個(gè)用戶虛擬機(jī)訪問(wèn)內(nèi)網(wǎng)、外網(wǎng) (Internet)權(quán)限,保證校園網(wǎng)信息、網(wǎng)絡(luò)只被有權(quán)限的用戶訪問(wèn)。
[0019] (9)客戶端一次安裝,終生使用,自動(dòng)升級(jí),不需要重裝。IT管理員/維護(hù)人員不 需要再到每一臺(tái)電腦上操作,所有電腦都是一樣的,客戶端程序不需要維護(hù),只要檢查網(wǎng)絡(luò) 是否暢通即可。
[0020] (10)管理員可以通過(guò)網(wǎng)管系統(tǒng)查詢、設(shè)置、控制所有機(jī)房電腦(開關(guān)機(jī)、重啟)。
[0021] (11)管理員也可以通過(guò)網(wǎng)絡(luò)遠(yuǎn)程控制機(jī)房所有電腦、用戶云賬戶和虛擬機(jī)。
[0022] 某高校部署使用那個(gè)云桌面系統(tǒng)后,極大地減輕了計(jì)算中心管理員IT維護(hù)的時(shí) 間和人力成本,管理員只需要做好模板,在管理系統(tǒng)創(chuàng)建用戶賬戶即可,現(xiàn)在只需要一個(gè)人 幾分鐘即可全部完成,而且維護(hù)成本和時(shí)間極少。


【發(fā)明內(nèi)容】

[0023] 本發(fā)明的實(shí)施系統(tǒng)為校園云平臺(tái),請(qǐng)參閱圖1。校園云平臺(tái)系統(tǒng)主要包括:校園卡 系統(tǒng)1100、網(wǎng)管系統(tǒng)1200、服務(wù)器端程序1300和1310、客戶端程序1400。這幾個(gè)系統(tǒng)/模 塊之間的用戶認(rèn)證、數(shù)據(jù)傳輸、屏幕傳輸?shù)年P(guān)系及架構(gòu)如圖1所示。
[0024] 請(qǐng)參閱圖1,在計(jì)算中心機(jī)房一臺(tái)網(wǎng)管服務(wù)器1201上安裝了網(wǎng)管系統(tǒng)1200。在 專門的云服務(wù)器1301、1302、1303上安裝了服務(wù)器端程序1300。在其CPU支持虛擬化的普 通電腦1401上安裝了服務(wù)器端程序1310和客戶端程序1400 ;在其CPU不支持虛擬化的普 通電腦1402上安裝了客戶端程序1400 ;在使用低功耗、ARM芯片的云終端1403上安裝了客 戶端程序1400。
[0025] 服務(wù)器端程序1300和1310功能類似,區(qū)別在于1300運(yùn)行在專門的云服務(wù)器上; 1310運(yùn)行在其CPU支持虛擬化的普通電腦上。
[0026] 從圖1中可以看出,其CPU支持虛擬化的普通電腦1401上既安裝了運(yùn)行虛擬機(jī)的 服務(wù)器端程序1310,也安裝了客戶端程序1400。
[0027] 虛擬機(jī)一般運(yùn)行在專門的云服務(wù)器上,每臺(tái)服務(wù)器根據(jù)配置比如CPU、內(nèi)存、硬盤 大小等可以運(yùn)行幾十個(gè)甚至上百個(gè)虛擬機(jī),服務(wù)器一般存放在專門的機(jī)房里。普通電腦如 果CPU支持虛擬化,也可以運(yùn)行虛擬機(jī),充分利用其CPU、內(nèi)存、硬盤等資源。普通電腦作 為運(yùn)行虛擬機(jī)的服務(wù)器端(例如1401),和專門運(yùn)行虛擬機(jī)的云服務(wù)器(例如1301、1302、 1303)功能類似,區(qū)別在于硬件不同,并由此決定可運(yùn)行多少個(gè)虛擬機(jī)。
[0028] 普通電腦如果CPU不支持虛擬化(例如1402),則可以作為客戶端,連接登錄運(yùn)行 于服務(wù)器上的虛擬機(jī)。
[0029] 如果客戶端是其CPU支持虛擬化的普通電腦(例如1401),某用戶在該客戶端電腦 上連接登錄自己的虛擬機(jī)時(shí),可以充分利用客戶端電腦(例如1401)的CPU、內(nèi)存、硬盤資 源,將用戶的虛擬機(jī)目錄下載到該客戶端電腦上并運(yùn)行。如果該用戶是首次在客戶端電腦 上連接登錄自己的虛擬機(jī),則從服務(wù)器上下載該用戶的虛擬機(jī)目錄,包括虛擬磁盤文件和 虛擬機(jī)配置文件;下載完成后在客戶端電腦(例如1401)運(yùn)行虛擬機(jī);最后通過(guò)客戶端程序 1400連接登錄運(yùn)行于該客戶端電腦上(例如1401)上的虛擬機(jī)。如果該用戶以前在該客戶 端電腦上(例如1401)連接登錄過(guò)自己的虛擬機(jī),則不需要下載該用戶的虛擬機(jī)目錄。
[0030] 如果客戶端是其CPU不支持虛擬化的電腦(例如1402),用戶在該客戶端電腦上連 接登錄自己的虛擬機(jī)時(shí),連接到專門的云服務(wù)器(例如1301、1302、1303)上的虛擬機(jī)。
[0031] 如果客戶端是低功耗的、ARM芯片的云終端,用戶在該客戶端(云終端)連接登錄虛 擬機(jī)時(shí),連接到專門的云服務(wù)器(例如1301、1302、1303)上的虛擬機(jī)。
[0032] 計(jì)算中心管理員根據(jù)老師/學(xué)生上課需要的操作系統(tǒng)和軟件安裝要求,在網(wǎng)管服 務(wù)器1201上預(yù)先做好多個(gè)虛擬機(jī)模板,比如Windows XP、Windows 7、Windows 2008、Linux 系統(tǒng),安裝Office、. NET、Java、AutoCAD、Photoshop等多種軟件。計(jì)算中心管理員為學(xué)校 所有學(xué)生創(chuàng)建一個(gè)云賬戶和根據(jù)模板要求分配一個(gè)虛擬機(jī),創(chuàng)建時(shí)系統(tǒng)會(huì)為每一個(gè)學(xué)生在 網(wǎng)管服務(wù)器1201上創(chuàng)建一個(gè)用戶目錄,并在用戶目錄下創(chuàng)建該用戶的虛擬機(jī)配置文件和 虛擬磁盤文件(空文件)。管理員可以在幾分鐘內(nèi)創(chuàng)建一個(gè)班或一個(gè)年級(jí)幾百個(gè)學(xué)生的云賬 戶和虛擬機(jī)。
[0033] 請(qǐng)參閱圖1,學(xué)生上課時(shí)來(lái)到機(jī)房的任何一臺(tái)電腦(例如1401),開機(jī)后自動(dòng)進(jìn)入 客戶端程序1400登錄界面,在登錄界面上輸入用戶名和密碼,系統(tǒng)會(huì)自動(dòng)連接網(wǎng)管系統(tǒng) 1200進(jìn)行身份認(rèn)證;認(rèn)證通過(guò)后,可獲取該學(xué)生擁有的賬戶信息和虛擬機(jī)信息;然后從網(wǎng) 管服務(wù)器1201下載學(xué)生的用戶目錄,包括目錄下的虛擬機(jī)配置文件和虛擬磁盤文件;下載 完成后向本機(jī)(例如1401)的服務(wù)器端程序1310發(fā)送一條命令消息;服務(wù)器端程序1310收 到消息后解析,然后運(yùn)行該虛擬機(jī);最后客戶端程序1400連接登錄該虛擬機(jī),此時(shí)就可以 看到桌面操作系統(tǒng),如同本地系統(tǒng)一樣,用戶可以使用USB、CDR0M等設(shè)備。對(duì)于不支持虛擬 化的電腦(例如1402),區(qū)別在于跳過(guò)下載虛擬機(jī)虛擬磁盤文件和配置文件的步驟;并且向 服務(wù)器(例如1301)上服務(wù)器端程序1300發(fā)送一條啟動(dòng)虛擬機(jī)的命令消息。
[0034] 請(qǐng)參閱圖1,學(xué)生上課結(jié)束關(guān)閉虛擬機(jī),系統(tǒng)會(huì)自動(dòng)將學(xué)生虛擬機(jī)新增部分的虛擬 磁盤上傳到網(wǎng)管服務(wù)器1201上的用戶目錄,使學(xué)生在當(dāng)前電腦(例如1401)上的用戶目錄 和在網(wǎng)管服務(wù)器1201上的用戶目錄保持一致;學(xué)生下次上課時(shí)如果使用的是同一臺(tái)電腦 (例如1401),就不需要下載用戶目錄下的虛擬機(jī)配置文件和虛擬磁盤文件;如果使用的不 是同一臺(tái)電腦,只需要下載用戶目錄,包括虛擬機(jī)配置文件和虛擬磁盤文件。虛擬機(jī)運(yùn)行連 接后,學(xué)生看到的仍是自己的桌面系統(tǒng),和上次的完全一樣,極大地方便了學(xué)生的學(xué)習(xí),有 效地保證了學(xué)生的數(shù)據(jù)安全和隱私。
[0035] 學(xué)生上課時(shí),如果使用的操作系統(tǒng)出了問(wèn)題,在備份好必要數(shù)據(jù)后,管理員可以在 幾秒鐘之內(nèi)刪除原有虛擬機(jī),并創(chuàng)建新的虛擬機(jī);學(xué)生可以立刻使用,相當(dāng)于快速地重新安 裝了操作系統(tǒng)和應(yīng)用軟件。
[0036] 請(qǐng)參閱圖1,網(wǎng)管系統(tǒng)1200統(tǒng)一管理用戶賬戶、集中部署虛擬機(jī),網(wǎng)管系統(tǒng)1200將 管理員的操作指定發(fā)送到服務(wù)器端程序1300或1310,由后者完成具體的操作并返回消息。 網(wǎng)管系統(tǒng)1200創(chuàng)建用戶帳戶和虛擬機(jī)時(shí)為每一個(gè)用戶創(chuàng)建一個(gè)唯一的目錄(UUID),并在 該目錄下創(chuàng)建用戶的帳戶文件、虛擬機(jī)配置文件和虛擬機(jī)磁盤文件。學(xué)生的云賬戶和虛擬 機(jī)的相關(guān)信息都保存在數(shù)據(jù)庫(kù)中。通過(guò)網(wǎng)管系統(tǒng)1200可以查詢用戶賬戶、虛擬機(jī)信息;可 以創(chuàng)建、運(yùn)行、刪除虛擬機(jī)等操作。
[0037] 請(qǐng)參閱圖1,服務(wù)器端程序1300或1310在后臺(tái)集中完成每一個(gè)虛擬機(jī)的創(chuàng)建、運(yùn) 行、關(guān)閉、保存、刪除等操作。服務(wù)器端程序1300或1310監(jiān)聽網(wǎng)管系統(tǒng)1200、客戶端程序 1400發(fā)來(lái)的操作指令,完成具體的操作,包括虛擬磁盤的拷貝、虛擬機(jī)的配置、虛擬機(jī)的啟 動(dòng)運(yùn)行等。虛擬機(jī)操作系統(tǒng)可根據(jù)模板選擇,包括中英文Windows XP、Windows 7、Linux 等。虛擬機(jī)創(chuàng)建好并運(yùn)行后,客戶端程序1400可連接登錄該虛擬機(jī)桌面;也可以通過(guò)筆記 本、云終端、智能手機(jī)等訪問(wèn)虛擬機(jī)。
[0038] 請(qǐng)參閱圖1,客戶端程序1400在用戶輸入學(xué)生的用戶名和密碼后,首先到網(wǎng)管系 統(tǒng)1200進(jìn)行身份認(rèn)證,認(rèn)證通過(guò)后獲取虛擬機(jī)的信息,比如服務(wù)器地址和端口。然后根據(jù) 客戶端電腦CPU是否支持虛擬化,決定是否從服務(wù)器上下載虛擬機(jī)虛擬磁盤和配置文件、 以及本地運(yùn)行虛擬機(jī);最后連接登錄運(yùn)行的虛擬機(jī),如同使用本地的桌面系統(tǒng),用戶還可以 使用USB等存儲(chǔ)媒介。特別需要指出的是:客戶端程序1400和服務(wù)器端程序(即1310)可 以在同一臺(tái)電腦上,也可以和服務(wù)器端程序(即1300)不在同一臺(tái)電腦上。

【專利附圖】

【附圖說(shuō)明】
[0039] 圖1校園云平臺(tái)的架構(gòu)圖。
[0040] 圖2虛擬機(jī)虛擬磁盤映射關(guān)系圖。
[0041] 圖3網(wǎng)管系統(tǒng)創(chuàng)建虛擬機(jī)模板流程圖。
[0042] 圖4網(wǎng)管系統(tǒng)創(chuàng)建虛擬機(jī)流程圖。
[0043] 圖5服務(wù)器端開機(jī)運(yùn)行虛擬機(jī)流程圖。
[0044] 圖6客戶端電腦連接登錄虛擬機(jī)流程圖。

【具體實(shí)施方式】
[0045] 校園云平臺(tái)系統(tǒng)主要包括下列四個(gè)子系統(tǒng)/模塊:校園卡系統(tǒng)1100、網(wǎng)管系統(tǒng) 1200、服務(wù)器端程序1300和1310、客戶端程序1400,如圖1所示。它們具體的實(shí)施方式分 述如下。
[0046] 網(wǎng)管系統(tǒng) 請(qǐng)參閱圖1,校園云平臺(tái)的網(wǎng)管系統(tǒng)1200主要功能有四個(gè):(1)用戶管理,創(chuàng)建、查詢、 設(shè)置用戶帳戶;(2)模板管理,創(chuàng)建、控制虛擬機(jī)模板;(3)虛擬機(jī)管理,創(chuàng)建、設(shè)置、控制虛 擬機(jī);(4)客戶端管理,查詢、設(shè)置、控制客戶端。
[0047] 網(wǎng)管系統(tǒng)1200主要包括:一個(gè)Web網(wǎng)站、一個(gè)MySQL數(shù)據(jù)庫(kù)系統(tǒng)、一個(gè)系統(tǒng)服務(wù)程 序。網(wǎng)管系統(tǒng)1200的WEB網(wǎng)站以Apache+PHP+MySQL形式提供服務(wù),以https協(xié)議訪問(wèn),管 理員打開網(wǎng)頁(yè)登錄認(rèn)證后即可進(jìn)行操作。
[0048] 網(wǎng)管系統(tǒng)的MySQL數(shù)據(jù)庫(kù)主要用來(lái)保存學(xué)生的用戶賬戶信息、虛擬機(jī)信息、模板 信息等。用戶賬戶信息包括學(xué)號(hào)、姓名、密碼、性別、班級(jí)、電話、地址、郵件等信息;虛擬機(jī) 信息包括計(jì)算機(jī)名稱、CPU、內(nèi)存、虛擬磁盤、連接協(xié)議、連接端口等;模板信息包括虛擬機(jī)的 操作系統(tǒng)、安裝的軟件列表等;管理員可以為每個(gè)用戶創(chuàng)建一個(gè)或多個(gè)虛擬機(jī)。網(wǎng)管系統(tǒng) 1200的系統(tǒng)服務(wù)程序主要用來(lái)監(jiān)聽、接收消息、處理指令、轉(zhuǎn)發(fā)消息等。
[0049] ( A)創(chuàng)建虛擬機(jī)模板 請(qǐng)參閱圖3,通過(guò)網(wǎng)管系統(tǒng)1200創(chuàng)建虛擬機(jī)模板之前,需要先把操作系統(tǒng)安裝光 盤的ISO鏡像文件(比如WinXP_SP3_CN. iso)上傳到網(wǎng)管服務(wù)器1201上的特定目錄(/ clouddesktop/iso)。虛擬機(jī)模板位于網(wǎng)管服務(wù)器1201上的特定目錄(/clouddesktop/ template/)。
[0050] 管理員通過(guò)網(wǎng)管系統(tǒng)1200創(chuàng)建虛擬機(jī)模板時(shí),指定模板的虛擬機(jī)名稱、CPU、內(nèi) 存、虛擬磁盤、連接協(xié)議、光盤ISO鏡像文件等。系統(tǒng)處理時(shí)將虛擬機(jī)模板信息寫入到數(shù)據(jù) 庫(kù)中,同時(shí)將指令發(fā)送到網(wǎng)管系統(tǒng)1200的守護(hù)進(jìn)程。
[0051] 創(chuàng)建虛擬機(jī)模板的過(guò)程如下所示。
[0052] 步驟(1)上傳虛擬機(jī)模板操作系統(tǒng)的安裝盤ISO鏡像到網(wǎng)管系統(tǒng)指定目錄(/ clouddesktop/iso),上傳工具可以使用FTP工具,也可以通過(guò)其他方式上傳 ISO文件。
[0053] 步驟(2)網(wǎng)管理系統(tǒng)創(chuàng)建模板,在頁(yè)面中指定模板的虛擬機(jī)名稱、CPU、內(nèi)存、虛擬 磁盤、連接協(xié)議、光盤ISO鏡像文件等。
[0054] 步驟(3)系統(tǒng)將虛擬機(jī)模板信息寫入到數(shù)據(jù)庫(kù)中。
[0055] 步驟(4)系統(tǒng)將創(chuàng)建虛擬機(jī)模板的指令消息發(fā)送到網(wǎng)管系統(tǒng)守護(hù)進(jìn)程,由后者完 全具體的創(chuàng)建。
[0056] 步驟(5)網(wǎng)管系統(tǒng)服務(wù)程序監(jiān)聽端口,接收到網(wǎng)管系統(tǒng)發(fā)來(lái)的指令消息,解析參 數(shù),獲知"method=createTemplate",不是該方法另行處理。
[0057] 步驟(6)在目錄(/clouddesktop/template/)下創(chuàng)建新的目錄,目錄名稱為虛擬 機(jī)模板的UUID。
[0058] 步驟(7)在新建目錄下根據(jù)指定虛擬磁盤大小創(chuàng)建虛擬磁盤文件vdiskl. img。
[0059] 步驟(8)在新建目錄下創(chuàng)建虛擬機(jī)模板的配置文件(vm. xml),主要包括虛擬機(jī)名 稱、UUID、VCUP、內(nèi)存 Memory、虛擬磁盤 Virtual Disk、時(shí)鐘 Clock、聲卡 Sound、顯卡 Video、 網(wǎng)絡(luò)設(shè)備接口、MAC地址、連接協(xié)議、連接端口、光盤ISO鏡像等。
[0060] 步驟(9 )通過(guò)VM_Manager服務(wù)程序運(yùn)行該虛擬機(jī)。
[0061] 步驟(10)運(yùn)行虛擬機(jī)客戶端程序1400,指定服務(wù)器(支持虛擬化的普通電腦或云 服務(wù)器)IP地址和端口連接虛擬機(jī)。
[0062] 步驟(11)連接登錄虛擬機(jī)后,看到的是操作系統(tǒng)安裝畫面,安裝過(guò)程和PC機(jī)上安 裝操作系統(tǒng)過(guò)程一樣。
[0063] 步驟(12)安裝 CSP-AGENT 程序。
[0064] 步驟(13)安裝需要的其他應(yīng)用軟件。
[0065] 步驟(14)關(guān)閉虛擬機(jī),此時(shí)虛擬磁盤文件vdiskl. img大小是幾 GB甚至上百GB。
[0066] 步驟(15)在新建目錄下創(chuàng)建虛擬磁盤文件vdisk2. img,該文件是一個(gè)空文件,大 小只有幾 KB。
[0067] 虛擬機(jī)名稱是虛擬機(jī)模板名稱,CPU、Memory、Disk是指定的,時(shí)鐘Clock默認(rèn)是 本地時(shí)間,聲卡Sound默認(rèn)是AC97,顯卡Video默認(rèn)是qxl,虛擬機(jī)網(wǎng)絡(luò)通過(guò)Bridge訪問(wèn)外 網(wǎng),虛擬機(jī)MAC地址是后8位隨機(jī)生成的,連接協(xié)議是創(chuàng)建虛擬機(jī)時(shí)指定的,連接端口是系 統(tǒng)分配的,網(wǎng)管系統(tǒng)1200中所有虛擬機(jī)模板端口是統(tǒng)一分配的,端口從5701到5899,可以 支持創(chuàng)建二百個(gè)虛擬機(jī)模板,虛擬機(jī)模板被刪除后,端口也將釋放被重新分配使用。
[0068] (B )創(chuàng)建用戶帳戶和虛擬機(jī) 請(qǐng)參閱圖1,管理員通過(guò)網(wǎng)管系統(tǒng)1200管理員通過(guò)網(wǎng)管系統(tǒng)可以為每個(gè)用戶創(chuàng)建一個(gè) 云帳戶,用戶賬戶信息包括用戶ID、姓名、密碼、性別、班級(jí)、宿舍、地址、郵編、電話、手機(jī)、電 子郵件、備注等信息。創(chuàng)建用戶帳戶時(shí)必須指定用戶ID、用戶名、密碼等信息,其他都不是必 須輸入選項(xiàng)。用戶的初始密碼是學(xué)號(hào)。
[0069] 創(chuàng)建成功后,系統(tǒng)將用戶信息寫入到數(shù)據(jù)庫(kù)系統(tǒng)。
[0070] 創(chuàng)建用戶帳戶時(shí)可以同時(shí)指定創(chuàng)建一個(gè)虛擬機(jī),虛擬機(jī)要指定模板、VCUP、內(nèi)存、 虛擬磁盤、連接協(xié)議、USB、運(yùn)行模式等。
[0071] 請(qǐng)參閱圖4,管理員通過(guò)網(wǎng)管系統(tǒng)1200創(chuàng)建用戶虛擬機(jī)時(shí),指定虛擬機(jī)的名稱、 CPU、內(nèi)存、虛擬磁盤、連接協(xié)議、模板名稱、服務(wù)器等。系統(tǒng)處理時(shí)將虛擬機(jī)配置信息寫入到 數(shù)據(jù)庫(kù)中,同時(shí)將指令發(fā)送到服務(wù)器端程序。服務(wù)器端程序程序監(jiān)聽端口,收到消息后,新 建一個(gè)線程處理該消息,在新建線程里,解析參數(shù)后獲知method=createVm,執(zhí)行創(chuàng)建虛擬 機(jī)的操作,過(guò)程如下。
[0072] 步驟(1)在目錄(/clouddesktop/vm/)下創(chuàng)建新的目錄,目錄名稱為用戶虛擬機(jī) 的 UHD。
[0073] 步驟(2)在新建目錄下創(chuàng)建虛擬機(jī)的配置文件(vm. xml),主要包括虛擬機(jī)名稱、 UUID、VCUP、內(nèi)存 Memory、虛擬磁盤 Virtual Disk、時(shí)鐘 Clock、聲卡 Sound、顯卡 Video、網(wǎng) 絡(luò)設(shè)備接口、MAC地址、連接協(xié)議、連接端口等。
[0074] 步驟(3)在新建目錄下創(chuàng)建指向模板vdiskl. img的鏈接文件。
[0075] 步驟(4)在新建目錄下拷貝指定模板目錄下的虛擬磁盤文件vdisk2. img。
[0076] 虛擬機(jī)名稱是用戶名,CPU、Memory、Disk是指定的,時(shí)鐘Clock默認(rèn)是本地時(shí)間, 聲卡Sound默認(rèn)是AC97,顯卡Video默認(rèn)是qxl,虛擬機(jī)網(wǎng)絡(luò)通過(guò)Bridge訪問(wèn)外網(wǎng),虛擬機(jī) MAC地址是后8位隨機(jī)生成的,連接協(xié)議是創(chuàng)建虛擬機(jī)時(shí)指定的,連接端口是系統(tǒng)分配的, 網(wǎng)管系統(tǒng)1200中所有虛擬機(jī)端口是統(tǒng)一分配的,端口從10001到49999,可以支持創(chuàng)建四萬(wàn) 個(gè)虛擬機(jī),虛擬機(jī)被刪除后,端口也將釋放被重新分配使用。
[0077] 請(qǐng)參閱圖2, 一般情況下,每一個(gè)虛擬機(jī)都有一個(gè)獨(dú)立的虛擬磁盤文件,創(chuàng)建虛擬 機(jī)時(shí)從模板拷貝該虛擬磁盤文件。但計(jì)算中心機(jī)房電腦的空間有限,不可能為每一個(gè)學(xué) 生都創(chuàng)建一個(gè)獨(dú)立的虛擬磁盤文件。所以本系統(tǒng)為每一個(gè)虛擬機(jī)配置兩個(gè)虛擬磁盤:一 個(gè)是安裝好操作系統(tǒng)和應(yīng)用軟件的虛擬磁盤vdiskl. img ;另一個(gè)是動(dòng)態(tài)增加的虛擬磁盤 vdisk2. img。第一個(gè)虛擬磁盤是只讀的,機(jī)房的每臺(tái)電腦上只要有一個(gè)該虛擬磁盤文件即 可,每個(gè)用戶新建虛擬機(jī)(例如虛擬機(jī)1)的第一個(gè)虛擬磁盤文件(例如2001)實(shí)際上是一個(gè) 指向該虛擬磁盤(例如2100)的鏈接文件;虛擬機(jī)運(yùn)行過(guò)程中,新安裝的軟件和生成的新文 件,都保存在第二個(gè)虛擬磁盤上vdisk2. img(例如2010),第二個(gè)虛擬磁盤在虛擬機(jī)運(yùn)行前, 只有幾 K大小,使用過(guò)程中逐步增加。
[0078] 具體地說(shuō),多個(gè)虛擬機(jī)共享基本虛擬磁盤的方法如下。
[0079] (1)虛擬機(jī)運(yùn)行時(shí)指定兩個(gè)虛擬磁盤文件,并指定虛擬磁盤類型:第一個(gè)虛擬磁盤 vdiskl. img類型是只讀的、文件大小不變的;第二個(gè)虛擬磁盤vdisk2. img類型可讀寫的, 文件大小動(dòng)態(tài)增加的。
[0080] (2)虛擬機(jī)運(yùn)行過(guò)程中打開/創(chuàng)建三個(gè)文件:打開只讀類型的虛擬磁盤文件 vdiskl. img ;打開可讀寫類型的虛擬磁盤文件vdisk2. img ;創(chuàng)建一個(gè)虛擬磁盤扇區(qū)映射表 文件vm. map,每個(gè)扇區(qū)用一個(gè)比特位表示。
[0081] (3)如果虛擬機(jī)運(yùn)行過(guò)程中要寫入數(shù)據(jù)到虛擬磁盤文件,計(jì)算出在只讀類型的虛 擬磁盤文件vdiskl. img要寫入位置的扇區(qū)號(hào)和要寫入數(shù)據(jù)的大小,同時(shí)計(jì)算出該扇區(qū)在 虛擬磁盤扇區(qū)映射表中的位置,并將該位置1,如果連續(xù)寫入多個(gè)扇區(qū)的數(shù)據(jù),則將映射表 中連續(xù)多個(gè)比特位置1。同時(shí)將要寫入的數(shù)據(jù)寫入到可讀寫類型的虛擬磁盤文件vdisk2. img的同樣位置。
[0082] (4)虛擬機(jī)在讀取只讀類型的虛擬磁盤文件vdiskl. img過(guò)程中,同時(shí)讀取虛擬磁 盤扇區(qū)映射表文件,如果讀取位置在扇區(qū)映射表中對(duì)應(yīng)的比特位被置1,則到可讀寫類型的 虛擬磁盤文件vdisk2. img中相同位置讀取塊設(shè)備數(shù)據(jù)。
[0083] (C)查詢用戶帳戶和虛擬機(jī) 請(qǐng)參閱圖1,管理員/用戶通過(guò)網(wǎng)管系統(tǒng)1200可以查詢用戶的賬戶信息、以及擁有的 虛擬機(jī)信息;可以查看虛擬機(jī)的運(yùn)行狀態(tài);可以控制此虛擬機(jī)的啟動(dòng)、關(guān)機(jī)、暫停、重啟、保 存、恢復(fù)等操作。
[0084] 查詢用戶帳戶時(shí)可以根據(jù)學(xué)生的用戶名、學(xué)號(hào)、班級(jí)、號(hào)碼等查詢;查詢用戶虛擬 機(jī)時(shí)可以根據(jù)虛擬機(jī)的IP地址、MAC地址、連接協(xié)議、連接端口、終端登錄IP、終端登錄時(shí)間 等查詢。
[0085] 服務(wù)器端程序 請(qǐng)參閱圖1,運(yùn)行、控制虛擬機(jī)的服務(wù)器端程序(本質(zhì)上1300和1310是同樣的程序),可 以在專門的云服務(wù)器(例如1301、1302、1303)上,也可以在CPU支持虛擬化的普通電腦(例 如1401)上,普通電腦作為運(yùn)行虛擬機(jī)的服務(wù)器端,和專門運(yùn)行虛擬機(jī)的云服務(wù)器功能類 似,區(qū)別在于能夠運(yùn)行虛擬機(jī)的多少。
[0086] 校園云平臺(tái)的服務(wù)器端程序1300和1310主要功能有三個(gè):(1)同步虛擬機(jī)模板; (2)控制虛擬機(jī);(3)查詢虛擬機(jī)狀態(tài)。
[0087] 服務(wù)器端程序1300和1310主要包括:虛擬磁盤同步、消息接收、消息解析、命令處 理、虛擬機(jī)管理、數(shù)據(jù)處理和服務(wù)糾錯(cuò)等模塊。
[0088] 服務(wù)器端程序1300運(yùn)行在專門的云服務(wù)器上;服務(wù)器端程序1310運(yùn)行在其CPU 支持虛擬化的普通電腦上。
[0089] (A)同步虛擬機(jī)模板 學(xué)校計(jì)算中心機(jī)房的每一臺(tái)云服務(wù)器(例如1301、1302、1303)開機(jī)后會(huì)自動(dòng)和網(wǎng)管系 統(tǒng)服務(wù)器(例如1201)同步虛擬機(jī)模板。管理員通過(guò)網(wǎng)管系統(tǒng)更新虛擬機(jī)模板后,也要設(shè)置 程序通知云服務(wù)器和網(wǎng)管系統(tǒng)模板保持一致。
[0090] 學(xué)校計(jì)算中心普通機(jī)房的每一臺(tái)其CPU支持虛擬化的普通電腦(例如1401),開機(jī) 后會(huì)自動(dòng)和網(wǎng)管系統(tǒng)服務(wù)器(例如1201)同步虛擬機(jī)模板。對(duì)于其CPU不支持虛擬化的普 通電腦(例如1402),開機(jī)后則不需要和網(wǎng)管系統(tǒng)服務(wù)器(例如1201)同步虛擬機(jī)模板。專門 的云終端(例如1403),開機(jī)后也不需要和網(wǎng)管系統(tǒng)服務(wù)器(例如1201)同步虛擬機(jī)模板。
[0091] 上節(jié)介紹了虛擬機(jī)模板保存在網(wǎng)管服務(wù)器1201的特定目錄(/clouddesktop/ template/)下,同步虛擬機(jī)模板意味著在機(jī)房的每一臺(tái)服務(wù)器(例如1301、1302、1303),每 一臺(tái)電腦(例如1401)上的虛擬磁盤模板目錄(/clouddesktop/template/)和網(wǎng)管服務(wù)器 1201同樣的目錄保持一致。
[0092] 模板的虛擬磁盤一般都是幾 G甚至上百G,同步虛擬磁盤時(shí)并不是重新拷貝完整 的虛擬磁盤文件,本系統(tǒng)使用差分同步算法,每次只同步有變化的磁盤塊Block,減少同步 內(nèi)容,加快同步時(shí)間。
[0093] (B)控制虛擬機(jī) 請(qǐng)參閱圖5,服務(wù)器端程序1300或1310監(jiān)聽端口 5999, 一旦接收到網(wǎng)管系統(tǒng)1200或 客戶端程序1400發(fā)送來(lái)的SOCKET連接請(qǐng)求時(shí),新開一個(gè)線程處理該連接請(qǐng)求。在該線程 中,解析參數(shù),并根據(jù)其method方法完成具體的操作,包括創(chuàng)建虛擬機(jī)(1300支持、1310不 支持)、啟動(dòng)虛擬機(jī)、關(guān)閉虛擬機(jī)、暫停虛擬機(jī)、重啟虛擬機(jī)、保存虛擬機(jī)、恢復(fù)虛擬機(jī)等。
[0094] 以運(yùn)行虛擬機(jī)為例,SOCKET連接建立后在新建線程里。
[0095] 步驟(1)解析命令參數(shù)后獲知method=StartVm。
[0096] 步驟(2)進(jìn)一步解析創(chuàng)建虛擬機(jī)的參數(shù),獲取計(jì)算機(jī)名稱、UUID、連接協(xié)議、連接端 口等。
[0097] 步驟(3 )解析完參數(shù)后進(jìn)行驗(yàn)證,比如當(dāng)前服務(wù)器(支持虛擬化的普通電腦或云服 務(wù)器)已運(yùn)行了多少臺(tái)虛擬機(jī),能否接受此請(qǐng)求等。
[0098] 步驟(4)如接受請(qǐng)求,通過(guò)VM_Manager程序根據(jù)虛擬機(jī)的XML配置文件啟動(dòng)運(yùn)行 虛擬機(jī)。
[0099] 步驟(5)向網(wǎng)管系統(tǒng)1200或客戶端程序1400發(fā)送回復(fù)消息。
[0100] 請(qǐng)參閱圖1,服務(wù)器端程序1300和1310在開源軟件KVM、Libvirt基礎(chǔ)上,開發(fā)了 虛擬機(jī)管理控制程序,從而更好地控制、管理虛擬機(jī)桌面系統(tǒng)。VM_Manager程序用于管理控 制所有的虛擬機(jī),程序內(nèi)部通過(guò)libvirt庫(kù)控制每一個(gè)具體的虛擬機(jī)。這樣服務(wù)器(支持虛 擬化的普通電腦或云服務(wù)器)上的所有虛擬機(jī)都在VM_Manager程序的控制范圍里。網(wǎng)管系 統(tǒng)1200發(fā)來(lái)的查詢命令,VM_Manager程序?qū)⒋伺_(tái)服務(wù)器(例如1401、1301、1302、1303)上 的虛擬機(jī)信息及運(yùn)行狀態(tài)發(fā)送到網(wǎng)管系統(tǒng)1200,同時(shí)還可以根據(jù)權(quán)限更新數(shù)據(jù)庫(kù)內(nèi)虛擬機(jī) 的信息。
[0101] 服務(wù)器端程序1300和1310安裝了 Centos操作系統(tǒng),并對(duì)Linux系統(tǒng)進(jìn)行了優(yōu) 化裁剪,以加快虛擬機(jī)的運(yùn)行。其服務(wù)控制程序添加、修改了虛擬磁盤驅(qū)動(dòng)程序,使用了 VirtIO加快虛擬磁盤的讀寫,減少了 10瓶頸;可以快速同步、遷移虛擬磁盤。虛擬機(jī)支持 SPICE協(xié)議,播放視頻時(shí)將視頻、音頻分不同通道傳輸?shù)浇K端。添加、修改了網(wǎng)絡(luò)文件系統(tǒng), 虛擬機(jī)桌面系統(tǒng)可以訪問(wèn)本地終端(例如1401、1402、1403)的U盤、移動(dòng)硬盤、光驅(qū)等存儲(chǔ) 媒介。
[0102] 服務(wù)器端程序1300和1310除了接受來(lái)自網(wǎng)管系統(tǒng)1200的連接請(qǐng)求,還會(huì)接受客 戶端程序1400的連接請(qǐng)求??蛻舳顺绦?400連接登錄虛擬機(jī)時(shí),通過(guò)了網(wǎng)管系統(tǒng)1200用 戶身份認(rèn)證后,主要和服務(wù)器端程序1300或1310建立連接,虛擬機(jī)的屏幕傳輸、用戶事件 直接在客戶端(例如1401、1402、1403)和服務(wù)器端(例如1401、1301、1302、1303)之間傳輸。
[0103] 客戶端程序 請(qǐng)參閱圖1,校園云平臺(tái)的客戶端程序1400主要功能有三個(gè):(1)用戶身份驗(yàn)證;(2) 連接登錄虛擬機(jī);(3)使能客戶端USB等終端設(shè)備。
[0104] 客戶端程序1400包括讀取校園卡讀取模塊、用戶認(rèn)證模塊、消息接收模塊、消息 處理模塊、連接登錄模塊、USB監(jiān)聽模塊等。校園云平臺(tái)的客戶端程序1400部署在計(jì)算中 心機(jī)房的每一臺(tái)電腦(例如1401、1402、1403)上,每臺(tái)電腦配有一個(gè)讀卡器,用于讀取校園 卡信息。電腦開機(jī)后可以直接看到用戶登錄界面,學(xué)生輸入用戶名和密碼即可,用戶名也可 以使用學(xué)生的學(xué)號(hào)。學(xué)生第一次登錄使用時(shí)輸入學(xué)號(hào)、初始密碼也是學(xué)號(hào),登錄后可以看到 桌面上網(wǎng)管系統(tǒng)1200的快捷方式,學(xué)生可以修改密碼和修改其他用戶信息。
[0105] 請(qǐng)參閱圖6,客戶端程序1400連接登錄虛擬機(jī)的流程如下所示。
[0106] (1)用戶在客戶端登錄界面輸入用戶名和密碼,或者插入校園卡等。系統(tǒng)自動(dòng)讀取 用戶信息,獲取用戶ID或姓名、密碼信息。
[0107] (2)程序向網(wǎng)管系統(tǒng)1200的5998端口發(fā)起SOCKET連接請(qǐng)求;SOCKET連接建立 后,發(fā)送用戶的認(rèn)證請(qǐng)求;發(fā)送的認(rèn)證請(qǐng)求是一個(gè)XML格式的字符串如下所示。
[0108] 〈SOCKET TYPE='request'> <METHOD>loginRequest</METHOD> <PARAM> <USER_ID>104037900920121201</USER_ID> <USER_NAME>userl001</USER_NAME> <USER_PASSWORD>******</USER_PASSWORD> <CLIENT_IP>192. 168. 66. 101</CLIENT_IP> <L0GIN_TIME>20121234 14:23:21</L0GIN_TIME> </PARAM> 〈/SOCKET〉 網(wǎng)管系統(tǒng)1200收到該連接請(qǐng)求后,系統(tǒng)對(duì)用戶身份進(jìn)行認(rèn)證,認(rèn)證通過(guò)返回SUCCESS 消息;認(rèn)證失敗返回FAILED消息。程序收到認(rèn)證失敗的消息后,斷開和網(wǎng)管系統(tǒng)1200的 SOCKET連接,在主界面彈出認(rèn)證失敗對(duì)話框,并給出失敗原因。
[0109] (3)認(rèn)證通過(guò)后,程序繼續(xù)向網(wǎng)管系統(tǒng)1200發(fā)送獲取虛擬機(jī)信息的請(qǐng)求。網(wǎng)管系 統(tǒng)1200收到該請(qǐng)求后,到數(shù)據(jù)庫(kù)系統(tǒng)中查詢?cè)撚脩魮碛械奶摂M機(jī)信息。
[0110] (4)客戶端程序1400收到網(wǎng)管系統(tǒng)1200發(fā)送來(lái)的虛擬機(jī)信息后,對(duì)參數(shù)進(jìn)行解 析,比如該虛擬機(jī)位于哪一臺(tái)服務(wù)器?連接協(xié)議是什么?連接端口是多少?安全端口是 多少?動(dòng)態(tài)密碼是什么?虛擬機(jī)有效期?不同的協(xié)議,返回的參數(shù)不一樣,支持的協(xié)議有 SPICE、RDP、ICA、PC0IP 協(xié)議。
[0111] (5)判斷本地客戶端電腦是否支持虛擬化,如果CPU支持虛擬化(例如1401),從步 驟(4)中解析得知的虛擬機(jī)服務(wù)器上下載用戶虛擬機(jī)目錄,包括目錄下的虛擬磁盤文件和 配置文件。如果CPU不支持虛擬化(例如1402),則下一步。
[0112] (6)客戶端程序1400向服務(wù)器端程序1300或1310發(fā)送運(yùn)行虛擬機(jī)的消息命 令。需要向該虛擬機(jī)所在的服務(wù)器端程序1300或1310的5999端口,發(fā)起SOCKET連接請(qǐng) 求,SOCKET連接建立成功后,發(fā)送啟動(dòng)虛擬機(jī)請(qǐng)求。如果客戶端電腦CPU支持虛擬機(jī)(例如 1401),則消息命令發(fā)送到本地電腦的服務(wù)器端程序1310 ;如果客戶端電腦CPU不支持虛擬 化(例如1402),則消息命令發(fā)送到服務(wù)器(例如1301、1302、1303)上的服務(wù)器端程序1300。 服務(wù)器端程序1300或1310收到消息命令后,解析參數(shù)、運(yùn)行虛擬機(jī)。
[0113] (7)虛擬機(jī)運(yùn)行后,客戶端程序1400根據(jù)步驟(4)中解析的連接協(xié)議,使用不同的 連接程序登錄虛擬機(jī)。如果是SPICE協(xié)議,則使用spice客戶端程序直接連接服務(wù)器+端 口 +安全端口 +動(dòng)態(tài)密碼。如果是RDP協(xié)議,則使用rdesktop客戶端程序連接服務(wù)器上 的虛擬機(jī);其他協(xié)議,類似處理。連接成功后,即可看到虛擬桌面,如同使用本地桌面系統(tǒng)一 樣。如果連接失敗,則會(huì)彈出出錯(cuò)對(duì)話框,并給出出錯(cuò)信息。
[0114] (8)用戶插入U(xiǎn)SB移動(dòng)硬盤或U盤,內(nèi)核首先檢測(cè)到有USB設(shè)備插入;然后通知用 戶程序;用戶程序再通知虛擬機(jī)的Agent程序,加載USB驅(qū)動(dòng)。用戶在虛擬桌面系統(tǒng)里可以 看到真實(shí)的USB設(shè)備,可以讀寫,甚至可以格式化USB硬盤。用戶拔掉USB設(shè)備,也是內(nèi)核 首先檢測(cè)到USB設(shè)備移除;然后通知用戶程序;用戶程序再通知虛擬機(jī)的Agent程序,卸載 USB設(shè)備。
[0115] (9)用戶關(guān)閉虛擬機(jī)后,客戶端SCP-CLIENT程序檢測(cè)到之后,向網(wǎng)管系統(tǒng)1200的 5998端口發(fā)起SOCKET連接請(qǐng)求;SOCKET連接建立后,發(fā)送用戶的斷開請(qǐng)求。網(wǎng)管系統(tǒng)1200 收到該連接請(qǐng)求后,更新虛擬機(jī)的狀態(tài)、登出時(shí)間等。
[0116] 用戶登錄后如同使用本地操作系統(tǒng),可以進(jìn)行辦公軟件office操作;播放視頻、 音樂(lè);上網(wǎng)瀏覽;訪問(wèn)本地U盤、硬盤、光驅(qū)等。登錄成功后,將本地電腦的IP地址等信息發(fā) 送到網(wǎng)管系統(tǒng)1200。網(wǎng)管系統(tǒng)1200可以查詢哪一個(gè)終端(例如1401、1402、1403)連接登 錄到虛擬機(jī)。IP地址或MAC地址和地理位置綁定,進(jìn)而可以查詢到從哪一個(gè)客戶端(例如 1401、1402、1403)登錄連接該虛擬機(jī)。
[0117] 客戶端程序1400安裝好后就不再需要維護(hù),因?yàn)樗鼉H使用了本地電腦的運(yùn)行 Linux操作系統(tǒng)的最基本功能,本地操作系統(tǒng)文件和配置沒有任何改變,所以平時(shí)管理人員 僅需要檢查網(wǎng)線、網(wǎng)絡(luò)是否可用即可。
【權(quán)利要求】
1. 一種以分布式虛擬服務(wù)技術(shù)為基礎(chǔ)的云平臺(tái)系統(tǒng),即校園云平臺(tái)系統(tǒng);所述校園云 平臺(tái)系統(tǒng)的設(shè)計(jì)裝置包括: 1) 校園卡系統(tǒng); 2) 網(wǎng)管系統(tǒng); 3) 服務(wù)器端程序; 4) 客戶端程序。
2. 根據(jù)權(quán)利要求1所述的網(wǎng)管系統(tǒng),主要包括一個(gè)Web網(wǎng)站、一個(gè)MySQL數(shù)據(jù)庫(kù)系統(tǒng)、 一個(gè)系統(tǒng)服務(wù)程序;其特征在于下列幾點(diǎn): 1) 網(wǎng)管系統(tǒng)統(tǒng)一管理用戶賬戶、集中部署虛擬機(jī),網(wǎng)管系統(tǒng)將管理員的操作指定發(fā)送 到服務(wù)器端程序,由后者完成具體的操作并返回消息; 2) 網(wǎng)管系統(tǒng)創(chuàng)建用戶帳戶和虛擬機(jī)時(shí)為每一個(gè)用戶創(chuàng)建一個(gè)唯一的目錄(UUID),并在 該目錄下創(chuàng)建用戶的帳戶文件、虛擬機(jī)配置文件和虛擬機(jī)磁盤文件; 3) 學(xué)生的云賬戶和虛擬機(jī)的相關(guān)信息都保存在數(shù)據(jù)庫(kù)中;通過(guò)網(wǎng)管系統(tǒng)可以查詢用戶 賬戶、虛擬機(jī)信息;可以創(chuàng)建、運(yùn)行、刪除虛擬機(jī)等操作。
3. 根據(jù)權(quán)利要求1所述的服務(wù)器端程序,主要包括虛擬磁盤同步、消息接收、消息解 析、命令處理、虛擬機(jī)管理、數(shù)據(jù)處理和服務(wù)糾錯(cuò)等模塊;其特征在于下列幾點(diǎn): 1) 服務(wù)器端程序在后臺(tái)集中完成每一個(gè)虛擬機(jī)的創(chuàng)建、運(yùn)行、關(guān)閉、保存、刪除等操 作; 2) 服務(wù)器端程序監(jiān)聽網(wǎng)管系統(tǒng)、客戶端程序發(fā)來(lái)的操作指令,完成具體的操作,包括虛 擬磁盤的拷貝、虛擬機(jī)的配置、虛擬機(jī)的啟動(dòng)運(yùn)行等; 3) 虛擬機(jī)操作系統(tǒng)可根據(jù)模板選擇,包括中英文Windows XP、Windows 7、Linux等; 4 )虛擬機(jī)創(chuàng)建好并運(yùn)行后,客戶端程序可連接登錄該虛擬機(jī)桌面;也可以通過(guò)筆記本、 云終端、智能手機(jī)等訪問(wèn)虛擬機(jī)。
4. 根據(jù)權(quán)利要求1所述的客戶端程序,包括讀取校園卡讀取模塊、用戶認(rèn)證模塊、消息 接收模塊、消息處理模塊、連接登錄模塊、USB監(jiān)聽模塊等;其特征在于下列幾點(diǎn): 1) 客戶端程序在用戶輸入學(xué)生的用戶名和密碼后,首先到網(wǎng)管系統(tǒng)進(jìn)行身份認(rèn)證,認(rèn) 證通過(guò)后獲取虛擬機(jī)的信息,比如服務(wù)器地址和端口; 2) 然后根據(jù)客戶端電腦CPU是否支持虛擬化,決定是否從服務(wù)器上下載虛擬機(jī)虛擬磁 盤和配置文件、以及本地運(yùn)行虛擬機(jī);最后連接登錄運(yùn)行的虛擬機(jī),如同使用本地的桌面系 統(tǒng),用戶還可以使用USB等存儲(chǔ)媒介; 3) 特別需要指出的是:客戶端程序和服務(wù)器端程序可以在同一臺(tái)電腦上,也可以和服 務(wù)器端程序不在同一臺(tái)電腦上。
5. 根據(jù)權(quán)利要求1所述的云平臺(tái)系統(tǒng),其特征之一在于其運(yùn)用了分布式虛擬服務(wù)技 術(shù),其特征在于下列幾點(diǎn): 1) 汲取了網(wǎng)格計(jì)算的長(zhǎng)處,將原本集中于服務(wù)器的桌面虛擬機(jī),分布到各個(gè)支持虛擬 化的電腦中,并統(tǒng)一調(diào)配資源,盡可能將桌面虛擬機(jī)和對(duì)應(yīng)的客戶端程序?qū)嵗徒才旁?同一臺(tái)電腦上,從而大大緩解了桌面虛擬化所固有的網(wǎng)絡(luò)壓力; 2) 對(duì)于支持虛擬化的電腦,由于桌面虛擬機(jī)通常就在客戶本地,性能將會(huì)有很大的提 商; 3)而對(duì)于不支持支持虛擬化的僅作為客戶端的電腦,由于服務(wù)器負(fù)載的桌面虛擬機(jī)數(shù) 目減少,虛擬桌面的性能也將大大提高。
6. 根據(jù)權(quán)利要求1所述的云平臺(tái)系統(tǒng),其特征之二在于其靈活支持虛擬機(jī)運(yùn)行在服務(wù) 器端或客戶端的方法: 1) 普通電腦如果CPU支持虛擬化,運(yùn)行虛擬機(jī),可充分利用其CPU、內(nèi)存、硬盤等資源; 普通電腦作為運(yùn)行虛擬機(jī)的服務(wù)器端,和專門運(yùn)行虛擬機(jī)的云服務(wù)器功能類似,區(qū)別 在于硬件不同,并由此決定可運(yùn)行多少個(gè)虛擬機(jī);普通電腦如果CPU不支持虛擬化,則可以 作為客戶端,連接登錄運(yùn)行于服務(wù)器上的虛擬機(jī);當(dāng)然,支持虛擬化的普通電腦也可以作為 客戶端使用; 2) 服務(wù)器上下載該用戶的虛擬機(jī)目錄,包括虛擬磁盤文件和虛擬機(jī)配置文件;下載完 成后在客戶端電腦運(yùn)行虛擬機(jī);最后通過(guò)客戶端程序連接登錄運(yùn)行于該客戶端電腦上的虛 擬機(jī);如果該用戶以前在該客戶端電腦上連接登錄過(guò)自己的虛擬機(jī),則不需要下載該用戶 的虛擬機(jī)目錄; 3) 如果客戶端是其CPU不支持虛擬化的電腦,或是低功耗的、ARM芯片的云終端,用戶 在該客戶端電腦上連接登錄自己的虛擬機(jī)時(shí),連接到專門的云服務(wù)器上的虛擬機(jī)。
7. 根據(jù)權(quán)利要求1所述的云平臺(tái)系統(tǒng),其特征之三在于其多個(gè)虛擬機(jī)共享基本虛擬磁 盤的方法: 1) 一般情況下,每一個(gè)虛擬機(jī)都有一個(gè)獨(dú)立的虛擬磁盤文件,創(chuàng)建虛擬機(jī)時(shí)從模板拷 貝該虛擬磁盤文件;但計(jì)算中心機(jī)房電腦的空間有限,不可能為每一個(gè)學(xué)生都創(chuàng)建一個(gè)獨(dú) 立的虛擬磁盤文件; 2) 所以本系統(tǒng)為每一個(gè)虛擬機(jī)配置兩個(gè)虛擬磁盤:一個(gè)是安裝好操作系統(tǒng)和應(yīng)用軟件 的虛擬磁盤vdiskl. img ;另一個(gè)是動(dòng)態(tài)增加的虛擬磁盤vdisk2. img ;第一個(gè)虛擬磁盤是只 讀的,機(jī)房的每臺(tái)電腦上只要有一個(gè)該虛擬磁盤文件即可,每個(gè)用戶新建虛擬機(jī)的第一個(gè) 虛擬磁盤文件實(shí)際上是一個(gè)指向該虛擬磁盤的鏈接文件;虛擬機(jī)運(yùn)行過(guò)程中,新安裝的軟 件和生成的新文件,都保存在第二個(gè)虛擬磁盤上vdisk2. img,第二個(gè)虛擬磁盤在虛擬機(jī)運(yùn) 行前,只有幾 K大小,使用過(guò)程中逐步增加; 3) 具體地說(shuō),多個(gè)虛擬機(jī)共享基本虛擬磁盤的方法如下①②③④; ① 虛擬機(jī)運(yùn)行時(shí)指定兩個(gè)虛擬磁盤文件,并指定虛擬磁盤類型:第一個(gè)虛擬磁盤 vdiskl. img類型是只讀的、文件大小不變的;第二個(gè)虛擬磁盤vdisk2. img類型可讀寫的, 文件大小動(dòng)態(tài)增加的; ② 虛擬機(jī)運(yùn)行過(guò)程中打開/創(chuàng)建三個(gè)文件:打開只讀類型的虛擬磁盤文件vdiskl. img ;打開可讀寫類型的虛擬磁盤文件vdisk2. img ;創(chuàng)建一個(gè)虛擬磁盤扇區(qū)映射表文件 vm. map,每個(gè)扇區(qū)用一個(gè)比特位表示; ③ 如果虛擬機(jī)運(yùn)行過(guò)程中要寫入數(shù)據(jù)到虛擬磁盤文件,計(jì)算出在只讀類型的虛擬磁盤 文件vdiskl. img要寫入位置的扇區(qū)號(hào)和要寫入數(shù)據(jù)的大小,同時(shí)計(jì)算出該扇區(qū)在虛擬磁 盤扇區(qū)映射表中的位置,并將該位置1,如果連續(xù)寫入多個(gè)扇區(qū)的數(shù)據(jù),則將映射表中連續(xù) 多個(gè)比特位置1 ;同時(shí)將要寫入的數(shù)據(jù)寫入到可讀寫類型的虛擬磁盤文件vdisk2. img的同 樣位置; ④ 虛擬機(jī)在讀取只讀類型的虛擬磁盤文件vdiskl. img過(guò)程中,同時(shí)讀取虛擬磁盤扇 區(qū)映射表文件,如果讀取位置在扇區(qū)映射表中對(duì)應(yīng)的比特位被置1,則到可讀寫類型的虛擬 磁盤文件vdisk2. img中相同位置讀取塊設(shè)備數(shù)據(jù)。
【文檔編號(hào)】H04L29/08GK104144173SQ201310162448
【公開日】2014年11月12日 申請(qǐng)日期:2013年5月6日 優(yōu)先權(quán)日:2013年5月6日
【發(fā)明者】朱敏, 周緒宏 申請(qǐng)人:上海宏第網(wǎng)絡(luò)科技有限公司, 南京航空航天大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1