欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于指令外部獲取架構(gòu)下的磁盤重定向方法與流程

文檔序號:11323054閱讀:226來源:國知局
一種基于指令外部獲取架構(gòu)下的磁盤重定向方法與流程

本發(fā)明屬于虛擬化與云計算技術(shù)領(lǐng)域,尤其涉及一種基于指令外部獲取架構(gòu)下的磁盤重定向方法。

技術(shù)背景

隨著科學(xué)技術(shù)的不斷進(jìn)步,網(wǎng)絡(luò)技術(shù)日益發(fā)達(dá),虛擬化的應(yīng)用逐漸普及。桌面虛擬化是指在作為數(shù)據(jù)中心的服務(wù)器上進(jìn)行服務(wù)器虛擬化后,生成獨(dú)立的虛擬桌面,再使用專有的虛擬桌面協(xié)議將虛擬桌面發(fā)送給終端設(shè)備的技術(shù),用戶可通過以太網(wǎng)輸入用戶名、密碼和網(wǎng)管信息連接到虛擬機(jī)上,可通過網(wǎng)絡(luò)訪問自己的桌面系統(tǒng)。桌面虛擬化技術(shù)雖然為用戶的移動辦公帶來了極大的便捷,但同時也帶來了新的問題,如:如何將終端磁盤或者優(yōu)盤中的數(shù)據(jù),快速的重定向至云端的虛擬機(jī)中。

磁盤重定向技術(shù)可實(shí)現(xiàn)將終端磁盤或優(yōu)盤中的數(shù)據(jù)重定向至虛擬機(jī)內(nèi),此一方面需先在虛擬機(jī)內(nèi)創(chuàng)建與終端磁盤相同的虛擬磁盤,另一方面在虛擬機(jī)中操作虛擬磁盤時,實(shí)際是在虛擬機(jī)中先截獲文件操作命令隨后發(fā)送至終端,終端通過解析命令再對相應(yīng)物理磁盤進(jìn)行具體操作。而現(xiàn)有磁盤重定向技術(shù)中,往往在虛擬機(jī)中操作虛擬磁盤時,通過在文件系統(tǒng)層截獲文件操作命令再發(fā)送至終端,此方式要求客戶端與虛擬機(jī)內(nèi)部的文件系統(tǒng)必須匹配,同時需要對不同的文件系統(tǒng)進(jìn)行定制化開發(fā),兼容性較差;申請?zhí)枮?01510575695.0的專利中提出了一種將終端磁盤重定向至云端服務(wù)器的方法,雖解決了文件系統(tǒng)的兼容性問題,但此方法無法應(yīng)用于終端直連虛擬機(jī)方式的虛擬化架構(gòu),重定向的磁盤也無法被終端直連服務(wù)器的虛擬化架構(gòu)中的虛擬機(jī)加載,如在kvm平臺下,此方式重定向的磁盤無法被kvm虛擬機(jī)所使用,不適于基于kvm虛擬化的私有辦公云架構(gòu)。因此,如何解決上述問題是目前亟需解決的問題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供一種基于指令外部獲取架構(gòu)下的磁盤重定向方法,旨在改善上述問題。

本發(fā)明提供一種基于指令外部獲取架構(gòu)下的磁盤重定向方法,所述方法包括:第一方面,在虛擬機(jī)內(nèi)部創(chuàng)建虛擬分區(qū),具體包括:(1)客戶端與服務(wù)端建立網(wǎng)絡(luò)連接后,客戶端首先將需要重定向的磁盤分區(qū)進(jìn)行鎖定隱藏并獲取該分區(qū)的物理信息,然后向服務(wù)端發(fā)送創(chuàng)建虛擬分區(qū)的命令;(2)服務(wù)端通過虛通道收到命令后進(jìn)行解析,然后向磁盤驅(qū)動發(fā)送創(chuàng)建虛擬分區(qū)的請求;(3)虛擬機(jī)內(nèi)部的磁盤驅(qū)動收到請求后,為虛擬分區(qū)分配資源創(chuàng)建虛擬分區(qū),并將執(zhí)行結(jié)果通過服務(wù)端應(yīng)用程序發(fā)送到客戶端;(4)客戶端通過分析執(zhí)行結(jié)果判斷虛擬機(jī)內(nèi)的虛擬分區(qū)是否可以進(jìn)行i/o操作;第二方面,對虛擬分區(qū)文件進(jìn)行操作,具體包括:(1)當(dāng)用戶在服務(wù)端對虛擬分區(qū)中文件進(jìn)行操作時,虛擬機(jī)內(nèi)的磁盤驅(qū)動會攔截操作請求,通過解析irp(i/orequestpackage)獲取具體操作,然后創(chuàng)建命令并將其封裝發(fā)給客戶端;(2)客戶端收到命令后,通過解析命令對對應(yīng)物理分區(qū)進(jìn)行具體操作,并實(shí)時將操作結(jié)果通過虛通道發(fā)送至虛擬機(jī)內(nèi)。

上述本發(fā)明提供一種基于指令外部獲取架構(gòu)下的磁盤重定向方法,本申請通過在虛擬機(jī)內(nèi)創(chuàng)建與終端磁盤相同的虛擬磁盤,對虛擬磁盤文件進(jìn)行操作時利用虛擬磁盤驅(qū)動攔截文件操作命令并將命令發(fā)送至終端,終端解析命令后對相應(yīng)物理磁盤進(jìn)行具體操作,以達(dá)到在虛擬機(jī)內(nèi)操作終端磁盤的效果;通過實(shí)現(xiàn)在磁盤級的數(shù)據(jù)重定向技術(shù),可有效屏蔽上層文件系統(tǒng)的差異性,實(shí)現(xiàn)對不同文件系統(tǒng)的兼容;通過使用虛通道技術(shù),可實(shí)現(xiàn)客戶端至服務(wù)器再至虛擬機(jī)的數(shù)據(jù)流,從而解決了指令外部獲取架構(gòu)下重定向至服務(wù)器的虛擬磁盤無法被虛擬機(jī)加載的問題。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。

圖1為本發(fā)明較佳實(shí)施例中提供的服務(wù)器與用戶終端進(jìn)行交互的示意圖;

圖2為本發(fā)明的總體框架圖;

圖3為本發(fā)明第一實(shí)施例中提供的一種基于指令外部獲取架構(gòu)下的磁盤重定向方法的流程圖;

圖4為本發(fā)明第二實(shí)施例中提供的一種基于指令外部獲取架構(gòu)下的磁盤重定向方法的流程圖;

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。因此,以下對在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

如圖1所示,是本發(fā)明較佳實(shí)施例中提供的服務(wù)端與客戶端進(jìn)行交互的示意圖。所述指令內(nèi)部獲取是指客戶端通過虛擬機(jī)的每個唯一ip地址直接連接虛擬機(jī),連接后進(jìn)行數(shù)據(jù)交互。所述指令外部獲取是指客戶端通過服務(wù)器的唯一ip地址連接服務(wù)器后,再通過服務(wù)器與虛擬機(jī)之間的虛通道進(jìn)行數(shù)據(jù)交互。所述虛擬機(jī)100與服務(wù)器200通過虛通道進(jìn)行數(shù)據(jù)交互,服務(wù)器200通過網(wǎng)絡(luò)與一個或多個用戶終端300進(jìn)行通信連接,以進(jìn)行數(shù)據(jù)通信或交互。所述服務(wù)器200可以是網(wǎng)絡(luò)服務(wù)器、數(shù)據(jù)庫服務(wù)器等。所述用戶終端300可以是個人電腦(personalcomputer,pc)、平板電腦、智能手機(jī)、個人數(shù)字助理(personaldigitalassistant,pda)、智能穿戴設(shè)備等。

如圖2所示,為本發(fā)明總體框架圖,現(xiàn)對實(shí)現(xiàn)本發(fā)明總體框架圖進(jìn)行以下闡述。

為實(shí)現(xiàn)基于指令外部獲取架構(gòu)下的磁盤重定向方法,服務(wù)端與客戶端通過網(wǎng)絡(luò)協(xié)議建立連接后,用戶選擇需要重定向的磁盤,客戶端獲取該磁盤的基本信息并發(fā)送創(chuàng)建虛擬磁盤命令至服務(wù)端,服務(wù)器收到創(chuàng)建虛擬磁盤命令后,通過服務(wù)器與虛擬機(jī)的虛通道,將命令數(shù)據(jù)導(dǎo)入虛擬機(jī),在虛擬機(jī)內(nèi)生成和重定向的物理磁盤相同的虛擬磁盤;

當(dāng)在服務(wù)端中操作虛擬磁盤中文件時,虛擬磁盤驅(qū)動攔截文件操作請求并解析,然后發(fā)送具體的文件操作命令至客戶端,客戶端通過解析文件操作命令,對相應(yīng)磁盤進(jìn)行具體操作,并實(shí)時將操作結(jié)果通過虛通道發(fā)送至虛擬機(jī)內(nèi)。

請參閱圖3,是本發(fā)明第一實(shí)施例中提供的一種基于指令外部獲取架構(gòu)下的磁盤重定向方法的流程圖。本實(shí)施例中的磁盤重定向方法應(yīng)用于基于kvm平臺在虛擬機(jī)內(nèi)部創(chuàng)建虛擬分區(qū)。下面將對圖3所示的具體流程圖進(jìn)行詳細(xì)闡述。

步驟301,獲取客戶端磁盤分區(qū)的物理信息,并將其與創(chuàng)建虛擬磁盤的命令進(jìn)行封裝包處理后發(fā)送至服務(wù)端;

其中,當(dāng)用戶指定物理分區(qū)進(jìn)行重定向后,客戶端將該物理分區(qū)進(jìn)行鎖定并隱藏,若該物理分區(qū)中某文件在終端上處于打開狀態(tài),則該文件不可再進(jìn)行寫、刪除和重命名等操作,僅處于只讀狀態(tài)。

其中,所述客戶端磁盤分區(qū)的物理信息包括磁盤類型、柱面數(shù)、柱面磁道、磁道扇區(qū)和扇區(qū)字節(jié)數(shù)等信息。

其中,所述封裝包處理是指分別在服務(wù)端和客戶端建立流式套接字,客戶端用于連接服務(wù)端,服務(wù)端用于接收客戶端連接,當(dāng)服務(wù)端接收到客戶端的連接后,創(chuàng)建會話線程,客戶端將創(chuàng)建虛擬分區(qū)的命令封包后發(fā)往服務(wù)端,服務(wù)端的會話線程接收封裝包后,進(jìn)行解析后執(zhí)行后續(xù)命令。

其中,源ip地址和目的ip地址以及源端口號和目的端口號的組合稱為套接字,用于標(biāo)識客戶端請求的服務(wù)器。

步驟302,服務(wù)器收到封裝包后通過虛通道將其轉(zhuǎn)發(fā)至虛擬機(jī)內(nèi);

其中,所述虛通道是指服務(wù)器與虛擬機(jī)進(jìn)行數(shù)據(jù)交互的虛擬通道。作為一種實(shí)施方式,這里的虛通道是指kvm的vmm(虛擬機(jī)監(jiān)控器)層與虛擬機(jī)之間的虛通道。為實(shí)現(xiàn)虛通道,kvm-qmeu架構(gòu)采用了virtio-serial技術(shù),主要處理主機(jī)用戶空間和虛擬機(jī)用戶空間的數(shù)據(jù)傳輸。它主要包含兩個部分:1.使用libvirt(一種實(shí)現(xiàn)linux虛擬化功能的api,支持kvm虛擬機(jī)監(jiān)控程序)定義虛擬機(jī)時應(yīng)包含添加virtio-serial的控制器設(shè)備,該設(shè)備就是qemu中模擬的名為virtio-pci的設(shè)備,該設(shè)備提供給虛擬機(jī)使用;2.虛擬機(jī)上安裝一個字符設(shè)備驅(qū)動訪問virtio-pci設(shè)備(名為“com.redhat.spice.0”的客戶機(jī)接口,其為channel類型),代碼示例:

<channeltype=′spicevmc′>

<targettype=′virtio′name=′com.redhat.spice.0′/>

<addresstype=′virtic-serial′controller=′0′bus=′0′port=′1′/>

</channel>

通過設(shè)置“address”將字符設(shè)備“com.redhat.spice.0”掛載在virtio-serial控制器上,將兩者進(jìn)行關(guān)聯(lián)。

步驟303,服務(wù)端收到封裝包后進(jìn)行解析,然后向磁盤驅(qū)動發(fā)送創(chuàng)建虛擬分區(qū)的請求;

其中,服務(wù)端通過對封裝包進(jìn)行解析得到為創(chuàng)建虛擬分區(qū)的命令,然后向磁盤驅(qū)動發(fā)出請求。

步驟304,虛擬機(jī)內(nèi)部的磁盤驅(qū)動收到請求后,為虛擬分區(qū)分配資源并創(chuàng)建虛擬分區(qū),最后將執(zhí)行結(jié)果通過服務(wù)端應(yīng)用程序發(fā)送到客戶端。

其中,虛擬分區(qū)的創(chuàng)建具體為虛擬磁盤驅(qū)動首先創(chuàng)建虛擬分區(qū)對象,其次將物理磁盤盤符關(guān)聯(lián)到虛擬分區(qū)對象,然后將物理磁盤分區(qū)的基本信息關(guān)聯(lián)到虛擬分區(qū)對象(基本信息包括物理磁盤分區(qū)大小、是否只讀等),最后虛擬磁盤驅(qū)動創(chuàng)建i/o線程等,并將執(zhí)行結(jié)果通過服務(wù)端應(yīng)用程序返回給客戶端。

其中,將執(zhí)行結(jié)果通過服務(wù)端應(yīng)用程序發(fā)送到客戶端具體為首先通過虛通道將執(zhí)行結(jié)果發(fā)送到服務(wù)器上,再由服務(wù)器將執(zhí)行結(jié)果轉(zhuǎn)發(fā)至客戶端。

步驟305,客戶端通過分析執(zhí)行結(jié)果判斷虛擬機(jī)內(nèi)的虛擬分區(qū)是否可以進(jìn)行i/o操作。

其中,客戶端收到由服務(wù)器轉(zhuǎn)發(fā)的執(zhí)行結(jié)果后,對執(zhí)行結(jié)果進(jìn)行分析,若通過分析得到虛擬機(jī)內(nèi)虛擬分區(qū)創(chuàng)建成功,則用戶可以對虛擬分區(qū)中文件進(jìn)行i/o操作;若通過分析得到虛擬機(jī)內(nèi)虛擬分區(qū)創(chuàng)建失敗,則用戶不能對虛擬分區(qū)中文件進(jìn)行i/o操作,且客戶端終止當(dāng)前磁盤重定向操作。

請參閱圖4,是本發(fā)明第二實(shí)施例中提供的一種基于指令外部獲取架構(gòu)下的磁盤重定向方法的流程圖。本實(shí)施例中的磁盤重定向方法應(yīng)用于基于kvm平臺在服務(wù)端對虛擬分區(qū)中文件進(jìn)行操作。下面將對圖4所示的具體流程圖進(jìn)行詳細(xì)闡述。

步驟401,用戶在服務(wù)端對虛擬分區(qū)中文件進(jìn)行操作。

其中用戶對虛擬分區(qū)中文件可以進(jìn)行讀文件、寫文件、刪除文件以及重命名文件等操作。

步驟402,虛擬機(jī)內(nèi)的磁盤驅(qū)動攔截操作請求,通過解析后創(chuàng)建具體命令并將其發(fā)送至客戶端。

其中虛擬磁盤驅(qū)動首先攔截用戶對虛擬磁盤分區(qū)中文件的操作請求,其次通過解析i/orequestpackage獲取到用戶的具體操作指令,然后創(chuàng)建具體操作命令并將其封裝,通過kvm的vmm(虛擬機(jī)監(jiān)控器)層與虛擬機(jī)之間的虛通道將封裝包發(fā)送至服務(wù)器,最后由服務(wù)器將封裝包轉(zhuǎn)發(fā)給客戶端。

步驟403,客戶端收到封裝包后,通過解析命令執(zhí)行相應(yīng)操作,并實(shí)時將操作結(jié)果返回給虛擬機(jī),完成文件操作。

其中,服務(wù)端先通過虛通道將封裝包發(fā)往服務(wù)器,再由服務(wù)器將封裝包轉(zhuǎn)發(fā)至客戶端。

其中,客戶端通過解析命令后得到用戶對虛擬分區(qū)中文件進(jìn)行的具體操作,例如讀寫操作,客戶端能夠獲取到讀寫的偏移位置和長度,客戶端打開對應(yīng)的物理磁盤,按扇區(qū)進(jìn)行讀寫操作,操作完成后將讀寫結(jié)果封包發(fā)送到服務(wù)器,服務(wù)器再通過kvm的vmm層與虛擬機(jī)之間的虛通道將操作結(jié)果導(dǎo)入至虛擬機(jī)內(nèi)部。

其中,虛擬機(jī)收到結(jié)果包后,將其下發(fā)到虛擬磁盤驅(qū)動,虛擬磁盤驅(qū)動解析結(jié)果包后,虛擬磁盤中文件與物理磁盤中文件進(jìn)行狀態(tài)同步后完成文件操作。

上述本發(fā)明提供一種基于指令外部獲取架構(gòu)下的磁盤重定向方法,本申請通過在虛擬機(jī)內(nèi)創(chuàng)建與物理磁盤相同的虛擬磁盤,對虛擬磁盤文件進(jìn)行操作時利用虛擬磁盤驅(qū)動攔截文件操作命令并將命令發(fā)送至終端,終端解析命令后對相應(yīng)物理磁盤進(jìn)行具體操作,以達(dá)到在虛擬機(jī)內(nèi)操作終端磁盤的效果;通過實(shí)現(xiàn)在磁盤級的數(shù)據(jù)重定向技術(shù),可有效屏蔽上層文件系統(tǒng)的差異性,實(shí)現(xiàn)對不同文件系統(tǒng)的兼容;通過使用虛通道技術(shù),可實(shí)現(xiàn)客戶端至服務(wù)器再至虛擬機(jī)的數(shù)據(jù)流,從而解決了指令外部獲取架構(gòu)下重定向至服務(wù)器的虛擬磁盤無法被虛擬機(jī)加載的問題。

以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個附圖中被定義,則在隨后的附圖中不需要對其進(jìn)行進(jìn)一步定義和解釋。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
阿图什市| 会昌县| 桃源县| 平山县| 通化县| 拜城县| 阿拉善左旗| 宝山区| 海城市| 凯里市| 兴山县| 台江县| 海安县| 虞城县| 宝鸡市| 商洛市| 石河子市| 浦北县| 嫩江县| 靖边县| 宜春市| 女性| 阳曲县| 扎囊县| 平安县| 邢台市| 荃湾区| 黑水县| 化德县| 嵩明县| 西乡县| 甘孜县| 嵊泗县| 凉城县| 错那县| 休宁县| 德安县| 高邮市| 孟州市| 永定县| 富宁县|