專(zhuān)利名稱(chēng):一種虛擬機(jī)管理系統(tǒng)及其文件訪(fǎng)問(wèn)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于云計(jì)算與虛擬化、桌面虛擬化領(lǐng)域,尤其涉及一種虛擬機(jī)管理系統(tǒng)及其文件訪(fǎng)問(wèn)方法。
背景技術(shù):
虛擬化概念最早出現(xiàn)在20世紀(jì)70年代,大型計(jì)算機(jī)就一直在同時(shí)運(yùn)行多個(gè)操作系統(tǒng)實(shí)例,每個(gè)實(shí)例也彼此獨(dú)立。虛擬化的主要目的是對(duì)信息技術(shù)基礎(chǔ)設(shè)施進(jìn)行簡(jiǎn)化。它可以簡(jiǎn)化對(duì)資源以及對(duì)資源管理的訪(fǎng)問(wèn)。降低了消費(fèi)者與資源之間的耦合程度。虛擬機(jī)是對(duì)真實(shí)計(jì)算環(huán)境的抽象和模擬,虛擬機(jī)監(jiān)控器(VMM)需要為每個(gè)虛擬機(jī)分配一套數(shù)據(jù)結(jié)構(gòu)來(lái)管理它們狀態(tài),包括虛擬處理器的全套寄存器,物理內(nèi)存的使用情況,虛擬設(shè)備的狀態(tài)等。 在云計(jì)算的模式下,個(gè)人計(jì)算機(jī)將從以桌面系統(tǒng)為中心轉(zhuǎn)向以網(wǎng)絡(luò)為中心,所有的服務(wù)和應(yīng)用都可以按照用戶(hù)的需要彈性地在線(xiàn)提供。桌面虛擬化技術(shù)的本質(zhì)是將桌面的操作環(huán)境與機(jī)器運(yùn)行環(huán)境分離,實(shí)現(xiàn)在任何地點(diǎn),通過(guò)非特定設(shè)備(例如不同的臺(tái)式機(jī)、筆記本、甚至包括手機(jī))都可以實(shí)現(xiàn)對(duì)桌面的訪(fǎng)問(wèn)與操作。伴隨著虛擬化技術(shù)蓬勃發(fā)展,作為虛擬化領(lǐng)域的熱門(mén)技術(shù),桌面虛擬化得到了極大的發(fā)展,桌面虛擬化技術(shù)的進(jìn)步和用戶(hù)需求也逐漸興起,現(xiàn)在已經(jīng)有一些虛擬化方案實(shí)現(xiàn)虛擬機(jī)對(duì)物理機(jī)硬盤(pán)上文件的訪(fǎng)問(wèn),但在用戶(hù)使用虛擬桌面的過(guò)程中,在文件共享方面,仍有以下的局限性I.只能共享虛擬機(jī)所在物理機(jī)的本地文件,如Oracle的virtualbox產(chǎn)品、VMware的 VMware Workstation 等。2.通過(guò)遠(yuǎn)程虛擬桌面顯示協(xié)議訪(fǎng)問(wèn),但只能共享遠(yuǎn)程虛擬桌面連接所在的物理機(jī)的本地文件,如微軟的RDP遠(yuǎn)程顯示協(xié)議等。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題之一是需要提供一種能夠通過(guò)遠(yuǎn)程虛擬機(jī)安全地訪(fǎng)問(wèn)指定物理機(jī)中的文件的虛擬機(jī)管理系統(tǒng)及其文件訪(fǎng)問(wèn)方法。為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種虛擬機(jī)管理系統(tǒng)的文件訪(fǎng)問(wèn)方法。該方法包括創(chuàng)建步驟,虛擬機(jī)硬件模擬器創(chuàng)建虛擬機(jī)及該虛擬機(jī)的第一監(jiān)聽(tīng)進(jìn)程;連接建立步驟,所述虛擬機(jī)硬件模擬器通過(guò)所述第一監(jiān)聽(tīng)進(jìn)程與客戶(hù)端建立遠(yuǎn)程桌面連接;接收步驟,所述虛擬機(jī)硬件模擬器接收從與所述虛擬機(jī)建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,文件訪(fǎng)問(wèn)地址信息包括指定的物理機(jī)地址和訪(fǎng)問(wèn)路徑;設(shè)備創(chuàng)建步驟,若所述虛擬機(jī)硬件模擬器接收到從與所述虛擬機(jī)建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,則所述虛擬機(jī)硬件模擬器創(chuàng)建用于訪(fǎng)問(wèn)所接收到的文件訪(fǎng)問(wèn)地址信息指示的路徑下的文件的虛擬設(shè)備;所述虛擬機(jī)掛載所創(chuàng)建虛擬設(shè)備以備所述客戶(hù)端訪(fǎng)問(wèn)。進(jìn)一步,所述創(chuàng)建步驟中,所述虛擬機(jī)硬件模擬器還創(chuàng)建第二監(jiān)聽(tīng)進(jìn)程;所述連接建立步驟中,所述虛擬機(jī)硬件模擬器還通過(guò)第二監(jiān)聽(tīng)進(jìn)程與客戶(hù)端建立第二連接;所述接收步驟中,所述虛擬機(jī)硬件模擬器通過(guò)第二連接接收從與所述虛擬機(jī)建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息。優(yōu)選地,虛擬機(jī)硬件模擬器是QEMU硬件模擬器,其中,所述創(chuàng)建步驟中,所述QEMU硬件模擬器在啟動(dòng)所述虛擬機(jī)時(shí)利用-monitor選項(xiàng)來(lái)指定監(jiān)聽(tīng)主機(jī)地址范圍和監(jiān)聽(tīng)端口號(hào)來(lái)創(chuàng)建所述第二監(jiān)聽(tīng)進(jìn)程,以及在啟動(dòng)所述虛擬機(jī)時(shí)利用-spice選項(xiàng)來(lái)指明要采用的遠(yuǎn)程虛擬桌面連接協(xié)議。進(jìn)一步,所述設(shè)備創(chuàng)建步驟中,若所述虛擬機(jī)硬件模擬器接收到從與所述虛擬機(jī) 建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,則所述虛擬機(jī)硬件模擬器創(chuàng)建用于訪(fǎng)問(wèn)所接收到的文件訪(fǎng)問(wèn)地址信息指示的路徑下的文件的第一虛擬設(shè)備和第二虛擬設(shè)備,其中,所述第一虛擬設(shè)備用來(lái)定義共享的文件系統(tǒng)的屬性,所述第二虛擬設(shè)備是用于訪(fǎng)問(wèn)所述第一虛擬設(shè)備表示的文件系統(tǒng)的驅(qū)動(dòng),以及所述第一虛擬設(shè)備用的文件系統(tǒng)類(lèi)型為計(jì)劃9文件系統(tǒng)。優(yōu)選地,所述虛擬機(jī)硬件模擬器和所述虛擬機(jī)處于云計(jì)算系統(tǒng)中,所述指定的物理機(jī)地址是與所述虛擬機(jī)所在物理機(jī)的物理機(jī)地址不同的地址。根據(jù)本發(fā)明的另一方面,還提供一種虛擬機(jī)管理系統(tǒng)。該系統(tǒng)包括虛擬機(jī)硬件模擬器和一個(gè)或一個(gè)以上虛擬機(jī)。其中,虛擬機(jī)硬件模擬器用于創(chuàng)建所述一個(gè)或一個(gè)以上的虛擬機(jī)及所述一個(gè)或一個(gè)以上虛擬機(jī)的各自的第一監(jiān)聽(tīng)進(jìn)程;通過(guò)各自的第一監(jiān)聽(tīng)進(jìn)程與客戶(hù)端建立遠(yuǎn)程桌面連接;接收從與各個(gè)虛擬機(jī)建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,文件訪(fǎng)問(wèn)地址信息包括指定的物理機(jī)地址和訪(fǎng)問(wèn)路徑;若所述虛擬機(jī)硬件模擬器接收到從與所述各個(gè)虛擬機(jī)之一建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,則創(chuàng)建針對(duì)所述各個(gè)虛擬機(jī)之一的用于訪(fǎng)問(wèn)所接收到的文件訪(fǎng)問(wèn)地址信息指示的路徑下的文件的虛擬設(shè)備。其中,所述虛擬機(jī)用于掛載所述虛擬機(jī)硬件模擬器為其創(chuàng)建的虛擬設(shè)備。優(yōu)選地,虛擬機(jī)硬件模擬器進(jìn)一步用于創(chuàng)建各虛擬機(jī)各自的第二監(jiān)聽(tīng)進(jìn)程;通過(guò)各虛擬機(jī)各自的第二監(jiān)聽(tīng)進(jìn)程與作為各自對(duì)端的客戶(hù)端建立第二連接;通過(guò)各虛擬機(jī)各自的第二連接接收從作為各自對(duì)端的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息。優(yōu)選地,虛擬機(jī)硬件模擬器是QEMU硬件模擬器,在啟動(dòng)所述虛擬機(jī)時(shí)利用-monitor選項(xiàng)來(lái)指定監(jiān)聽(tīng)主機(jī)地址范圍和監(jiān)聽(tīng)端口號(hào)來(lái)創(chuàng)建所述第二監(jiān)聽(tīng)進(jìn)程,以及在啟動(dòng)所述虛擬機(jī)時(shí)利用-spice選項(xiàng)來(lái)指明要采用的遠(yuǎn)程虛擬桌面連接協(xié)議。所述虛擬機(jī)硬件模擬器進(jìn)一步用于若所述虛擬機(jī)硬件模擬器接收到從與所述各個(gè)虛擬機(jī)之一建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,則創(chuàng)建所述各個(gè)虛擬機(jī)之一的用于訪(fǎng)問(wèn)所接收到的文件訪(fǎng)問(wèn)地址信息指示的路徑下的文件的第一虛擬設(shè)備和第二虛擬設(shè)備。其中,所述第一虛擬設(shè)備用來(lái)定義共享的文件系統(tǒng)的屬性,所述第二虛擬設(shè)備是用于訪(fǎng)問(wèn)所述第一虛擬設(shè)備表示的文件系統(tǒng)的驅(qū)動(dòng),以及所述第一虛擬設(shè)備用的文件系統(tǒng)類(lèi)型為計(jì)劃9文件系統(tǒng)。優(yōu)選地,所述虛擬機(jī)硬件模擬器和一個(gè)或一個(gè)以上虛擬機(jī)處于云計(jì)算系統(tǒng)中;所述指定的物理機(jī)地址是與所述虛擬機(jī)所在物理機(jī)的物理機(jī)地址不同的地址。與現(xiàn)有技術(shù)相比,本發(fā)明的一個(gè)或多個(gè)實(shí)施例可以具有如下優(yōu)點(diǎn)利用本發(fā)明的虛擬機(jī)管理系統(tǒng)及其文件訪(fǎng)問(wèn)方法,用戶(hù)可通過(guò)遠(yuǎn)程虛擬機(jī)訪(fǎng)問(wèn)任意指定物理機(jī)中的文件,從而解決傳統(tǒng)技術(shù)中用戶(hù)無(wú)法通過(guò)遠(yuǎn)程虛擬機(jī)訪(fǎng)問(wèn)除遠(yuǎn)程虛擬機(jī)本地的指定物理機(jī)上的文件的技術(shù)問(wèn)題;此外,本發(fā)明可通過(guò)遠(yuǎn)程虛擬機(jī),即可訪(fǎng)問(wèn)指定物理機(jī)中的文件。尤其是,本發(fā)明的一實(shí)施例中使用了計(jì)劃9文件系統(tǒng)(plan9file system,簡(jiǎn)稱(chēng)9p文件系統(tǒng))協(xié)議的網(wǎng)絡(luò)層協(xié)議,采用客戶(hù)端/服務(wù)器端(client/server)模式,每次的操作都視為一次事務(wù),其提供了一種抽象的接口,用來(lái)存取本地和遠(yuǎn)程資源,使得在應(yīng)用層用戶(hù)的角度,訪(fǎng)問(wèn)遠(yuǎn)程資源就像訪(fǎng)問(wèn)本地資源一樣透明。從而使得可實(shí)現(xiàn)用戶(hù)可通過(guò)遠(yuǎn)程虛擬機(jī)訪(fǎng)問(wèn)任意指定物理機(jī)中的文件的同時(shí),避免了傳統(tǒng)的NFS、CIFS等在虛擬網(wǎng)絡(luò)設(shè)備上實(shí)現(xiàn)的文件共享的技術(shù)可能帶來(lái)的不安全因素,以盡量確保該遠(yuǎn)程虛擬機(jī)能夠安全訪(fǎng)問(wèn)指定物理機(jī)。本發(fā)明的其他優(yōu)點(diǎn)、目標(biāo)和特征在某種程度上將在隨后的說(shuō)明書(shū)中進(jìn)行闡述,并且在某種程度上,基于對(duì)下文的考察研究對(duì)本領(lǐng)域技術(shù)人員而言將是顯而易見(jiàn)的,或者可 以從本發(fā)明的實(shí)踐中得到教導(dǎo)。本發(fā)明的目標(biāo)和其他優(yōu)點(diǎn)可以通過(guò)下面的說(shuō)明書(shū),權(quán)利要求書(shū),以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與本發(fā)明的實(shí)施例共同用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中圖I是根據(jù)本發(fā)明一實(shí)施例的虛擬機(jī)管理系統(tǒng)的架構(gòu)及其與客戶(hù)端的連接關(guān)系的不意圖;圖2是根據(jù)本發(fā)明一實(shí)施例的通過(guò)遠(yuǎn)程虛擬機(jī)訪(fǎng)問(wèn)文件的方法的流程圖。
具體實(shí)施例方式以下將結(jié)合附圖及實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明的實(shí)施方式,借此對(duì)本發(fā)明如何應(yīng)用技術(shù)手段來(lái)解決技術(shù)問(wèn)題,并達(dá)成技術(shù)效果的實(shí)現(xiàn)過(guò)程能充分理解并據(jù)以實(shí)施。需要說(shuō)明的是,只要不構(gòu)成沖突,本發(fā)明中的各個(gè)實(shí)施例以及各實(shí)施例中的各個(gè)特征可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護(hù)范圍之內(nèi)。本發(fā)明通過(guò)對(duì)虛擬機(jī)管理系統(tǒng)中的虛擬機(jī)硬件模擬器進(jìn)行改進(jìn),使得能夠?qū)⒂脩?hù)指定物理機(jī)的文件目錄映射到虛擬機(jī)硬件模擬器創(chuàng)建的虛擬機(jī)中,從而實(shí)現(xiàn)通過(guò)遠(yuǎn)程虛擬機(jī)訪(fǎng)問(wèn)指定物理機(jī)硬盤(pán)上的文件。本文中,QEMU, Bochs, PearPC等虛擬機(jī)硬件模擬器用于支持虛擬機(jī)的創(chuàng)建與運(yùn)行而動(dòng)態(tài)模擬特定架構(gòu)的CPU指令。QEMU是一個(gè)開(kāi)源的虛擬機(jī)硬件模擬器,簡(jiǎn)稱(chēng)QEMU硬件模擬器,它能夠動(dòng)態(tài)模擬特定架構(gòu)的CPU指令,如X86,PPC, ARM等。允許對(duì)一個(gè)完整的PC環(huán)境進(jìn)行虛擬化(包括磁盤(pán)、圖形適配器和網(wǎng)絡(luò)設(shè)備)。虛擬機(jī)的客戶(hù)操作系統(tǒng)所生成的任何I/O請(qǐng)求都會(huì)被中途截獲,并重新發(fā)送到QEMU進(jìn)程模擬的用戶(hù)模式中。QEMU進(jìn)程模擬的用戶(hù)模式是指運(yùn)行在內(nèi)核之外的非特權(quán)模式,是由QEMU創(chuàng)建的虛擬機(jī)進(jìn)程,可用來(lái)執(zhí)行I/O操作。本發(fā)明適用于QEMU、Bochs、PearPC等各種虛擬機(jī)的模擬處理器,尤其適用于QEMU。下文中,為了便于說(shuō)明,不失一般地僅以QEMU為例進(jìn)行說(shuō)明。下面結(jié)合圖I和圖2來(lái)進(jìn)行詳細(xì)說(shuō)明本發(fā)明的各實(shí)施例。
圖I是根據(jù)本發(fā)明一實(shí)施例的虛擬機(jī)管理系統(tǒng)的架構(gòu)及其與客戶(hù)端的連接關(guān)系的示意圖。如圖I所示,該虛擬機(jī)管理系統(tǒng)包括虛擬機(jī)硬件模擬器QEMUlO和一個(gè)或一個(gè)以上虛擬機(jī)20??蛻?hù)端30通過(guò)網(wǎng)絡(luò)訪(fǎng)問(wèn)虛擬機(jī)20。下面結(jié)合圖2來(lái)進(jìn)一步說(shuō)明根據(jù)本實(shí)施例的通過(guò)遠(yuǎn)程虛擬機(jī)訪(fǎng)問(wèn)文件的方法是如何實(shí)現(xiàn)通過(guò)虛擬機(jī)20來(lái)訪(fǎng)問(wèn)客戶(hù)端30指定的任意物理機(jī)(實(shí)體主機(jī))上的文件的。步驟S210,虛擬機(jī)硬件模擬器QEMUlO (簡(jiǎn)稱(chēng)QEMUlO )創(chuàng)建虛擬機(jī)20及該虛擬機(jī)20的第一監(jiān)聽(tīng)進(jìn)程。更具體地,QEMUlO可根據(jù)用戶(hù)(客戶(hù)端)請(qǐng)求來(lái)創(chuàng)建虛擬機(jī)20。需要說(shuō)明的是,由于用戶(hù)請(qǐng)求的數(shù)量是不定的,因此,一個(gè)虛擬機(jī)管理系統(tǒng)可以包括一個(gè)虛擬機(jī)硬件模擬器QEMUlO和一個(gè)或一個(gè)以上虛擬機(jī)20。在本例子中,位于遠(yuǎn)端物理機(jī)A上的QEMUlO創(chuàng)建虛擬機(jī)10,并創(chuàng)建該虛擬機(jī)10的第一監(jiān)聽(tīng)進(jìn)程。這個(gè)第一監(jiān)聽(tīng)進(jìn)程監(jiān)聽(tīng)來(lái)自客戶(hù)端30的消息。 步驟S220,QEMUlO通過(guò)第一監(jiān)聽(tīng)進(jìn)程與客戶(hù)端30建立遠(yuǎn)程桌面連接。作為例子,客戶(hù)端30可設(shè)置在物理機(jī)B上。步驟S230,物理機(jī)B上的客戶(hù)端30向QEMUlO發(fā)送文件訪(fǎng)問(wèn)地址信息,文件訪(fǎng)問(wèn)地址信息包括指定的物理機(jī)地址和訪(fǎng)問(wèn)路徑。指定的物理機(jī)地址可為任意物理機(jī)的地址,一般為由用戶(hù)指定的與物理機(jī)A和/或物理機(jī)B不同的另一物理機(jī)(記為物理機(jī)C)的地址。物理機(jī)地址可以為物理機(jī)的IP地址、域名及主機(jī)名稱(chēng)等。該訪(fǎng)問(wèn)路徑是用戶(hù)期望訪(fǎng)問(wèn)的路徑。步驟S240,QEMUlO接收從與其建立連接的客戶(hù)端30發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息。步驟S250,若QEMUlO接收到從與虛擬機(jī)20建立連接的客戶(hù)端30發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,則QEMUlO創(chuàng)建用于映射所接收到的文件訪(fǎng)問(wèn)地址信息指示的路徑下的文件的虛擬設(shè)備。在虛擬機(jī)20掛載該虛擬設(shè)備后,即可直接對(duì)物理機(jī)C硬盤(pán)上的文件進(jìn)行讀寫(xiě)訪(fǎng)問(wèn)操作,從而實(shí)現(xiàn)通過(guò)遠(yuǎn)程虛擬機(jī)訪(fǎng)問(wèn)物理機(jī)文件。步驟S260,虛擬機(jī)20掛載所創(chuàng)建的虛擬設(shè)備以備客戶(hù)端30訪(fǎng)問(wèn)。這樣,客戶(hù)端30能夠遠(yuǎn)程訪(fǎng)問(wèn)所創(chuàng)建的虛擬設(shè)備。在步驟S230中,客戶(hù)端30可以通過(guò)所建立的建立遠(yuǎn)程桌面連接向QEMUlO發(fā)送文件訪(fǎng)問(wèn)地址信息,也可以通過(guò)其它方式發(fā)送消息。例如,一個(gè)優(yōu)選實(shí)施例中,QEMUlO還創(chuàng)建第二監(jiān)聽(tīng)進(jìn)程。這樣,客戶(hù)端30還可通過(guò)第二監(jiān)聽(tīng)進(jìn)程與QEMUlO建立第二連接,然后通過(guò)第二連接向所述QEMUlO發(fā)送文件訪(fǎng)問(wèn)地址信息。在這種情況下,QEMUlO可通過(guò)第二連接接收從該客戶(hù)端10發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息。這樣,可以避免使得第一監(jiān)聽(tīng)進(jìn)程過(guò)于復(fù)雜、減少調(diào)試第一監(jiān)聽(tīng)進(jìn)程的難度,從而提高系統(tǒng)穩(wěn)定性。對(duì)于本實(shí)施例中使用的虛擬機(jī)硬件模擬器QEMU10,可在啟動(dòng)所述虛擬機(jī)時(shí)利用-monitor選項(xiàng)來(lái)指定監(jiān)聽(tīng)主機(jī)地址范圍和監(jiān)聽(tīng)端口號(hào)來(lái)創(chuàng)建所述第二監(jiān)聽(tīng)進(jìn)程,這樣可以充分利用現(xiàn)有代碼的以減少代碼開(kāi)發(fā)量及調(diào)試難度。更具體地,這樣可以充分利用現(xiàn)有QEMU中的monitor選項(xiàng)功能、通過(guò)作較小的修改(修改monitor處理部分)便于可實(shí)現(xiàn)本實(shí)施相關(guān)步驟。在monitor選項(xiàng)中指定監(jiān)聽(tīng)的主機(jī)地址范圍和監(jiān)聽(tīng)端口號(hào),監(jiān)聽(tīng)是否有訪(fǎng)問(wèn)某指定物理機(jī)文件的請(qǐng)求連接。同時(shí),還可以在啟動(dòng)所述虛擬機(jī)時(shí)利用-spice選項(xiàng)來(lái)指明要采用的遠(yuǎn)程虛擬桌面連接協(xié)議。
該第二監(jiān)聽(tīng)進(jìn)程可通過(guò)創(chuàng)建傳輸控制協(xié)議套接字來(lái)進(jìn)行監(jiān)聽(tīng)??赏ㄟ^(guò)模擬器QEMU的啟動(dòng)監(jiān)聽(tīng)連接的處理函數(shù)中,加入分析是否有共享文件的需求部分及相應(yīng)處理部分來(lái)實(shí)現(xiàn)本發(fā)明第二監(jiān)聽(tīng)進(jìn)程。在步驟S250中,虛擬機(jī)20可采用Linux操作系統(tǒng),若QEMUlO接收到從與虛擬機(jī)20建立連接的客戶(hù)端10發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,QEMUlO還可創(chuàng)建用于映射所接收到的文件訪(fǎng)問(wèn)地址信息指示的路徑下的文件的第一虛擬設(shè)備和第二虛擬設(shè)備。第一虛擬設(shè)備用來(lái)定義共享的文件系統(tǒng)的屬性,第二虛擬設(shè)備是用于映射所述第一虛擬設(shè)備表示的文件系統(tǒng)的驅(qū)動(dòng),以及所述第一虛擬設(shè)備用的文件系統(tǒng)類(lèi)型為計(jì)劃9文件系統(tǒng)(plan9fileSyStem,簡(jiǎn)稱(chēng)9p系統(tǒng))。例如,可創(chuàng)建如下兩個(gè)虛擬設(shè)備分別作為第一虛擬設(shè)備和第二虛擬設(shè)備Dfsdev:此設(shè)備用來(lái)定義共享的文件系統(tǒng)的屬性,包括此文件系統(tǒng)所在物理主機(jī)ip地址、設(shè)備的id號(hào)、要訪(fǎng)問(wèn)的目錄路徑以及用來(lái)標(biāo)記此設(shè)備的標(biāo)記mount_tag,在虛擬機(jī)20中,以此mount_tag來(lái)表示掛載的fsdev設(shè)備。2)virtio-9p-pci :此設(shè)備是fsdev文件系統(tǒng)的驅(qū)動(dòng),負(fù)責(zé)在物理主機(jī)和虛擬機(jī)之 間發(fā)送和接收協(xié)議消息和數(shù)據(jù)。這樣,在虛擬機(jī)20中掛載該指定的訪(fǎng)問(wèn)路徑,掛載文件系統(tǒng)類(lèi)型為9p文件系統(tǒng),要掛載的設(shè)備為模擬器QEMIU注冊(cè)設(shè)備時(shí)指明的fsdev設(shè)備,以mount_tag為標(biāo)記,mount系統(tǒng)命令提供了一個(gè)文件描述符,對(duì)本地用戶(hù)進(jìn)程提供了一個(gè)管道,對(duì)于遠(yuǎn)程主機(jī)則建立了一個(gè)網(wǎng)絡(luò)連接,這樣通過(guò)9p文件系統(tǒng)協(xié)議,實(shí)現(xiàn)在遠(yuǎn)程虛擬機(jī)中訪(fǎng)問(wèn)某物理機(jī)硬盤(pán)上的文件。此時(shí),可在客戶(hù)端上通過(guò)遠(yuǎn)程顯示協(xié)議直接顯示物理機(jī)C中訪(fǎng)問(wèn)路徑下的文件。在虛擬機(jī)20和物理機(jī)C的操作系統(tǒng)為L(zhǎng)inux操作系統(tǒng)時(shí),可在虛擬機(jī)20和物理機(jī)C的內(nèi)核配置的時(shí)候,將支持關(guān)于9p協(xié)議的模塊編譯進(jìn)它們的內(nèi)核。結(jié)合上述對(duì)虛擬機(jī)管理方法的詳細(xì)說(shuō)明容易理解當(dāng)由一虛擬機(jī)硬件模擬器和一個(gè)以上虛擬機(jī)構(gòu)成一虛擬機(jī)管理系統(tǒng)的情況。具體地,虛擬機(jī)硬件模擬器創(chuàng)建所述一個(gè)或一個(gè)以上的虛擬機(jī)及所述一個(gè)或一個(gè)以上虛擬機(jī)的各自的第一監(jiān)聽(tīng)進(jìn)程;接收從與各個(gè)虛擬機(jī)建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,文件訪(fǎng)問(wèn)地址信息包括指定的物理機(jī)地址和訪(fǎng)問(wèn)路徑;若接收到從與所述各個(gè)虛擬機(jī)之一建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,則創(chuàng)建針對(duì)所述各個(gè)虛擬機(jī)之一的用于訪(fǎng)問(wèn)所接收到的文件訪(fǎng)問(wèn)地址信息指示的路徑下的文件的虛擬設(shè)備。另一方面,虛擬機(jī)通過(guò)各自的第一監(jiān)聽(tīng)進(jìn)程與客戶(hù)端建立遠(yuǎn)程桌面連接,掛載所述虛擬機(jī)硬件模擬器為其創(chuàng)建的虛擬設(shè)備。優(yōu)選地,虛擬機(jī)硬件模擬器可進(jìn)一步創(chuàng)建各虛擬機(jī)各自的第二監(jiān)聽(tīng)進(jìn)程;通過(guò)各虛擬機(jī)各自的第二監(jiān)聽(tīng)進(jìn)程與作為各自對(duì)端的客戶(hù)端建立第二連接;通過(guò)各虛擬機(jī)各自的第二連接接收從作為各自對(duì)端的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息。在典型應(yīng)用中,虛擬機(jī)硬件模擬器10和其所創(chuàng)建的一個(gè)或一個(gè)以上虛擬機(jī)20處于云計(jì)算系統(tǒng)中。本發(fā)明在保證了可用性和可靠性的前提下,可以在很大程度上滿(mǎn)足用戶(hù)對(duì)共享文件訪(fǎng)問(wèn)的需求,具有較高的實(shí)用價(jià)值和商業(yè)價(jià)值。另外,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采 用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬技術(shù)領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式上及細(xì)節(jié)上作任何的修改與變化,但本發(fā)明的專(zhuān)利保護(hù)范圍,仍須以所附的權(quán)利要求書(shū)所界定的范圍為準(zhǔn)。
權(quán)利要求
1.一種虛擬機(jī)管理系統(tǒng)的文件訪(fǎng)問(wèn)方法,其特征在于,包括 創(chuàng)建步驟,虛擬機(jī)硬件模擬器創(chuàng)建虛擬機(jī)及該虛擬機(jī)的第一監(jiān)聽(tīng)進(jìn)程; 連接建立步驟,所述虛擬機(jī)硬件模擬器通過(guò)所述第一監(jiān)聽(tīng)進(jìn)程與客戶(hù)端建立遠(yuǎn)程桌面連接; 接收步驟,所述虛擬機(jī)硬件模擬器接收從與所述虛擬機(jī)建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,文件訪(fǎng)問(wèn)地址信息包括指定的物理機(jī)地址和訪(fǎng)問(wèn)路徑; 設(shè)備創(chuàng)建步驟,若所述虛擬機(jī)硬件模擬器接收到從與所述虛擬機(jī)建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,則所述虛擬機(jī)硬件模擬器創(chuàng)建用于訪(fǎng)問(wèn)所接收到的文件訪(fǎng)問(wèn)地址信息指示的路徑下的文件的虛擬設(shè)備; 所述虛擬機(jī)掛載所創(chuàng)建虛擬設(shè)備以備所述客戶(hù)端訪(fǎng)問(wèn)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于 所述創(chuàng)建步驟中,所述虛擬機(jī)硬件模擬器還創(chuàng)建第二監(jiān)聽(tīng)進(jìn)程; 所述連接建立步驟中,所述虛擬機(jī)硬件模擬器還通過(guò)第二監(jiān)聽(tīng)進(jìn)程與客戶(hù)端建立第二連接; 所述接收步驟中,所述虛擬機(jī)硬件模擬器通過(guò)第二連接接收從與所述虛擬機(jī)建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,虛擬機(jī)硬件模擬器是QEMU硬件模擬器,其中, 所述創(chuàng)建步驟中,所述QEMU硬件模擬器在啟動(dòng)所述虛擬機(jī)時(shí)利用-monitor選項(xiàng)來(lái)指定監(jiān)聽(tīng)主機(jī)地址范圍和監(jiān)聽(tīng)端口號(hào)來(lái)創(chuàng)建所述第二監(jiān)聽(tīng)進(jìn)程,以及在啟動(dòng)所述虛擬機(jī)時(shí)利用-spice選項(xiàng)來(lái)指明要采用的遠(yuǎn)程虛擬桌面連接協(xié)議。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述設(shè)備創(chuàng)建步驟中,若所述虛擬機(jī)硬件模擬器接收到從與所述虛擬機(jī)建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,則所述虛擬機(jī)硬件模擬器創(chuàng)建用于訪(fǎng)問(wèn)所接收到的文件訪(fǎng)問(wèn)地址信息指示的路徑下的文件的第一虛擬設(shè)備和第二虛擬設(shè)備,其中, 所述第一虛擬設(shè)備用來(lái)定義共享的文件系統(tǒng)的屬性,所述第二虛擬設(shè)備是用于訪(fǎng)問(wèn)所述第一虛擬設(shè)備表示的文件系統(tǒng)的驅(qū)動(dòng),以及所述第一虛擬設(shè)備用的文件系統(tǒng)類(lèi)型為計(jì)劃9文件系統(tǒng)。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述虛擬機(jī)硬件模擬器和所述虛擬機(jī)處于云計(jì)算系統(tǒng)中,所述指定的物理機(jī)地址是與所述虛擬機(jī)所在物理機(jī)的物理機(jī)地址不同的地址。
6.—種虛擬機(jī)管理系統(tǒng),其特征在于,包括虛擬機(jī)硬件模擬器和一個(gè)或一個(gè)以上虛擬機(jī),其中, 虛擬機(jī)硬件模擬器用于 創(chuàng)建所述一個(gè)或一個(gè)以上的虛擬機(jī)及所述一個(gè)或一個(gè)以上虛擬機(jī)的各自的第一監(jiān)聽(tīng)進(jìn)程; 通過(guò)各自的第一監(jiān)聽(tīng)進(jìn)程與客戶(hù)端建立遠(yuǎn)程桌面連接; 接收從與各個(gè)虛擬機(jī)建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,文件訪(fǎng)問(wèn)地址信息包括指定的物理機(jī)地址和訪(fǎng)問(wèn)路徑;若所述虛擬機(jī)硬件模擬器接收到從與所述各個(gè)虛擬機(jī)之一建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,則創(chuàng)建針對(duì)所述各個(gè)虛擬機(jī)之一的用于訪(fǎng)問(wèn)所接收到的文件訪(fǎng)問(wèn)地址信息指示的路徑下的文件的虛擬設(shè)備; 所述虛擬機(jī)用于掛載所述虛擬機(jī)硬件模擬器為其創(chuàng)建的虛擬設(shè)備。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,虛擬機(jī)硬件模擬器進(jìn)一步用于 創(chuàng)建各虛擬機(jī)各自的第二監(jiān)聽(tīng)進(jìn)程; 通過(guò)各虛擬機(jī)各自的第二監(jiān)聽(tīng)進(jìn)程與作為各自對(duì)端的客戶(hù)端建立第二連接; 通過(guò)各虛擬機(jī)各自的第二連接接收從作為各自對(duì)端的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信肩、O
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于, 虛擬機(jī)硬件模擬器是QEMU硬件模擬器,在啟動(dòng)所述虛擬機(jī)時(shí)利用-monitor選項(xiàng)來(lái)指定監(jiān)聽(tīng)主機(jī)地址范圍和監(jiān)聽(tīng)端口號(hào)來(lái)創(chuàng)建所述第二監(jiān)聽(tīng)進(jìn)程,以及在啟動(dòng)所述虛擬機(jī)時(shí)利用-spice選項(xiàng)來(lái)指明要采用的遠(yuǎn)程虛擬桌面連接協(xié)議。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述虛擬機(jī)硬件模擬器進(jìn)一步用于 若所述虛擬機(jī)硬件模擬器接收到從與所述各個(gè)虛擬機(jī)之一建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,則創(chuàng)建所述各個(gè)虛擬機(jī)之一的用于訪(fǎng)問(wèn)所接收到的文件訪(fǎng)問(wèn)地址信息指示的路徑下的文件的第一虛擬設(shè)備和第二虛擬設(shè)備,其中, 所述第一虛擬設(shè)備用來(lái)定義共享的文件系統(tǒng)的屬性,所述第二虛擬設(shè)備是用于訪(fǎng)問(wèn)所述第一虛擬設(shè)備表示的文件系統(tǒng)的驅(qū)動(dòng),以及所述第一虛擬設(shè)備用的文件系統(tǒng)類(lèi)型為計(jì)劃9文件系統(tǒng)。
10.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于, 所述虛擬機(jī)硬件模擬器和一個(gè)或一個(gè)以上虛擬機(jī)處于云計(jì)算系統(tǒng)中; 所述指定的物理機(jī)地址是與所述虛擬機(jī)所在物理機(jī)的物理機(jī)地址不同的地址。
全文摘要
本發(fā)明公開(kāi)了一種虛擬機(jī)管理系統(tǒng)及其文件訪(fǎng)問(wèn)方法。該方法包括創(chuàng)建步驟,虛擬機(jī)硬件模擬器創(chuàng)建虛擬機(jī)及該虛擬機(jī)的第一監(jiān)聽(tīng)進(jìn)程;連接建立步驟,虛擬機(jī)硬件模擬器通過(guò)第一監(jiān)聽(tīng)進(jìn)程與客戶(hù)端建立遠(yuǎn)程桌面連接;接收步驟,虛擬機(jī)硬件模擬器接收從與虛擬機(jī)建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,文件訪(fǎng)問(wèn)地址信息包括指定的物理機(jī)地址和訪(fǎng)問(wèn)路徑;設(shè)備創(chuàng)建步驟,若虛擬機(jī)硬件模擬器接收到從與虛擬機(jī)建立連接的客戶(hù)端發(fā)來(lái)的文件訪(fǎng)問(wèn)地址信息,則虛擬機(jī)硬件模擬器創(chuàng)建用于訪(fǎng)問(wèn)所接收到的文件訪(fǎng)問(wèn)地址信息指示的路徑下的文件的虛擬設(shè)備;虛擬機(jī)掛載所創(chuàng)建虛擬設(shè)備以備客戶(hù)端訪(fǎng)問(wèn)。根據(jù)本發(fā)明的虛擬機(jī)管理系統(tǒng)及其文件訪(fǎng)問(wèn)方法,用戶(hù)能夠通過(guò)遠(yuǎn)程虛擬機(jī)訪(fǎng)問(wèn)任意指定物理機(jī)中的文件。
文檔編號(hào)H04L29/08GK102968331SQ201210491229
公開(kāi)日2013年3月13日 申請(qǐng)日期2012年11月27日 優(yōu)先權(quán)日2012年11月27日
發(fā)明者陳俊秀 申請(qǐng)人:中標(biāo)軟件有限公司