一種遠(yuǎn)程鏡像文件的傳輸方法,裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明實施例公開了一種遠(yuǎn)程鏡像文件的傳輸方法,裝置及系統(tǒng),其中方法的實現(xiàn)包括:與瀏覽器建立遠(yuǎn)程的通信連接,并通過所述通信連接接收屬性信息;所述屬性信息為所述瀏覽器的本地文件的屬性信息;依據(jù)所述屬性信息模擬得到磁盤鏡像文件;在獲得虛擬機(jī)針對所述磁盤鏡像文件的磁盤讀寫請求后,將所述磁盤讀寫請求轉(zhuǎn)換為文件讀寫請求;通過所述通信連接將所述文件讀寫請求發(fā)送給所述瀏覽器;通過所述通信連接接收所述瀏覽器返回的讀寫結(jié)果數(shù)據(jù),并將所述讀寫結(jié)果數(shù)據(jù)返回給所述虛擬機(jī)。整個過程充分利用了瀏覽器的通信功能,不需要增加新的協(xié)議需求,也不需要用戶對模擬磁盤鏡像文件進(jìn)行授權(quán)操作,因此可以簡化傳輸操作,降低對通信協(xié)議的要求。
【專利說明】-種遠(yuǎn)程鏡像文件的傳輸方法,裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及通信【技術(shù)領(lǐng)域】,特別設(shè)及一種遠(yuǎn)程鏡像文件的傳輸方法,裝置及系統(tǒng)
【背景技術(shù)】
[0002] 磁盤鏡像(image)文件是單獨的文件,存放代表一個存儲介質(zhì)或設(shè)備的全部數(shù)據(jù) 內(nèi)容和數(shù)據(jù)結(jié)構(gòu),并且針對源存儲介質(zhì)進(jìn)行扇區(qū)到扇區(qū)的拷貝,因此能夠復(fù)制設(shè)備的數(shù)據(jù) 結(jié)構(gòu)和數(shù)據(jù)內(nèi)容。遠(yuǎn)程鏡像文件也是磁盤鏡像文件,相對于本地的磁盤鏡像文件而言,遠(yuǎn)程 鏡像文件是指磁盤鏡像文件的實際位置不在本地的一種形式。光盤鏡像文件是磁盤鏡像文 件的一種具體形式。
[000引虛擬機(jī)(Virtual Machine, VM)是在物理設(shè)備上劃分出來的一臺或者多臺虛擬化 的計算機(jī)系統(tǒng)。虛擬機(jī)監(jiān)視器(Virtual Machine Monitor,VMM)是在虛擬環(huán)境下對虛擬機(jī) 進(jìn)行控制,對虛擬機(jī)提供設(shè)備模擬的程序。
[0004] 當(dāng)前在云場景中虛擬機(jī)啟動后,需要使用光盤鏡像文件安裝操作系統(tǒng)。一般由VMM 將光盤鏡像文件的文件模擬為光驅(qū),供虛擬機(jī)使用。
[0005] 虛擬機(jī)對磁盤讀寫產(chǎn)生的是磁盤讀寫(Raw 10)請求;VMM捕獲到虛擬機(jī)的磁盤讀 寫請求后,將磁盤讀寫請求轉(zhuǎn)化為針對磁盤鏡像文件的文件讀寫(File 10)請求,實現(xiàn)對磁 盤鏡像文件進(jìn)行讀寫操作。
[0006] 目前,為了實現(xiàn)讀寫遠(yuǎn)程鏡像文件,需要首先實現(xiàn)遠(yuǎn)程鏡像文件的共享,目前的方 案如下:使用公用因特網(wǎng)文件系統(tǒng)(Common Internet File System,CIF巧協(xié)議將遠(yuǎn)程鏡像 文件掛載到本地,然后使用VMM將遠(yuǎn)程鏡像文件模擬為一個光驅(qū),供虛擬機(jī)使用。
[0007] 采用CIFS協(xié)議將遠(yuǎn)程文件掛載到本地的方案,需要云管理系統(tǒng)支持CIFS協(xié)議,使 用時還需要用戶提供對掛載行為進(jìn)行授權(quán),因此操作繁瑣并且對協(xié)議適用要求較高。
【發(fā)明內(nèi)容】
[000引本發(fā)明實施例提供了一種遠(yuǎn)程鏡像文件的傳輸方法,裝置及系統(tǒng),用于簡化傳輸 操作,降低對通信協(xié)議的要求。
[0009] 本發(fā)明實施例一方面提供了一種遠(yuǎn)程鏡像文件的傳輸方法,包括:
[0010] 與瀏覽器建立遠(yuǎn)程的通信連接,并通過所述通信連接接收屬性信息;所述屬性信 息為所述瀏覽器的本地文件的屬性信息;
[0011] 依據(jù)所述屬性信息模擬得到磁盤鏡像文件;
[0012] 在獲得虛擬機(jī)針對所述磁盤鏡像文件的磁盤讀寫請求后,將所述磁盤讀寫請求轉(zhuǎn) 換為文件讀寫請求;
[0013] 通過所述通信連接將所述文件讀寫請求發(fā)送給所述瀏覽器;
[0014] 通過所述通信連接接收所述瀏覽器返回的讀寫結(jié)果數(shù)據(jù),并將所述讀寫結(jié)果數(shù)據(jù) 返回給所述虛擬機(jī)。
[0015] 結(jié)合一方面的實現(xiàn)方式,在第一種可選的實現(xiàn)方式中,在模擬得到磁盤鏡像文件 后,所述方法還包括;保存所述磁盤鏡像文件與所述通信連接之間的對應(yīng)關(guān)系;
[0016] 所述通過所述通信連接將所述文件讀寫請求發(fā)送給所述瀏覽器包括:
[0017] 依據(jù)所述磁盤鏡像文件與所述通信連接之間的對應(yīng)關(guān)系,W及所述磁盤讀寫請求 所針對的磁盤鏡像文件,確定所述文件讀寫請求對應(yīng)的通信連接;然后通過確定的通信連 接將所述文件讀寫請求發(fā)送給所述瀏覽器。
[0018] 結(jié)合一方面的實現(xiàn)方式,在第二種可選的實現(xiàn)方式中,所述通信連接包括;網(wǎng)絡(luò)套 接字連接。
[0019] 結(jié)合一方面的第二種可選的實現(xiàn)方式,在第=種可選的實現(xiàn)方式中,承載所述屬 性信息的協(xié)議包括=個字段:用于指定協(xié)議包用途的類型字段、數(shù)據(jù)屬性信息字段、完整性 校驗碼字段;
[0020] 承載所述文件讀寫請求的協(xié)議包包括=個字段:用于指定協(xié)議包用途的類型字 段、文件讀寫請求信息字段、完整性校驗碼字段;
[0021] 承載所述讀寫結(jié)果數(shù)據(jù)的協(xié)議包包括=個字段:用于指定協(xié)議包用途的類型字 段、讀寫結(jié)果數(shù)據(jù)字段、完整性校驗碼字段。
[0022] 結(jié)合一方面、一方面的第一種、第二種或者第=種可選的實現(xiàn)方式,在第四種可選 的實現(xiàn)方式中,所述屬性信息包括:鏡像文件的文件名,文件類型W及文件大小。
[0023] 結(jié)合一方面、一方面的第一種、第二種或者第=種可選的實現(xiàn)方式,在第五種可選 的實現(xiàn)方式中,依據(jù)所述屬性信息模擬得到磁盤鏡像文件包括:
[0024] 采用虛擬機(jī)監(jiān)視器的驅(qū)動解析所述屬性信息,依據(jù)解釋結(jié)果模擬得得到磁盤鏡像 文件。
[0025] 本發(fā)明實施例二方面提供了一種遠(yuǎn)程鏡像文件的傳輸方法,包括:
[0026] 獲取需要作為遠(yuǎn)程鏡像文件使用的本地文件的屬性信息,并確定位于遠(yuǎn)程的需要 將所述本地文件模擬為磁盤鏡像文件的虛擬機(jī)監(jiān)視器;
[0027] 與所述虛擬機(jī)監(jiān)視器建立通信連接,并通過建立的所述通信連接將所述鏡像文件 的屬性信息發(fā)送給所述虛擬機(jī)監(jiān)視器;
[002引通過所述通信連接接收來自所述虛擬機(jī)監(jiān)視器的文件讀寫請求,執(zhí)行所述文件讀 寫請求獲得讀寫結(jié)果數(shù)據(jù);
[0029] 通過所述通信連接向所述虛擬機(jī)監(jiān)視器發(fā)送所述讀寫結(jié)果數(shù)據(jù)。
[0030] 結(jié)合二方面的實現(xiàn)方式,在第一種可選的實現(xiàn)方式中,所述屬性信息包括;鏡像文 件的文件名,文件類型W及文件大小。
[0031] 結(jié)合二方面的實現(xiàn)方式,在第二種可選的實現(xiàn)方式中,所述通信連接包括;網(wǎng)絡(luò)套 接字連接。
[0032] 結(jié)合二方面、二方面的第一種或者第二種可選的實現(xiàn)方式,在第=種可選的實現(xiàn) 方式中,所述執(zhí)行所述文件讀寫請求獲得讀寫結(jié)果數(shù)據(jù)包括:
[0033] 通過應(yīng)用程序接口 API向所述本地文件發(fā)送讀寫指令,獲得與所述讀寫請求對應(yīng) 的讀寫結(jié)果數(shù)據(jù)。
[0034] 本發(fā)明實施例=方面提供了一種主機(jī),包括:虛擬機(jī)控制器;所述虛擬機(jī)控制器 包括:
[0035] 連接建立單元,用于與瀏覽器建立遠(yuǎn)程的通信連接;
[0036] 信息接收單元,用于通過所述通信連接接收屬性信息;所述屬性信息為所述瀏覽 器的本地文件的屬性信息;
[0037] 模擬單元,用于依據(jù)所述屬性信息模擬得到磁盤鏡像文件;
[003引請求轉(zhuǎn)換單元,用于在獲得虛擬機(jī)針對所述磁盤鏡像文件的磁盤讀寫請求后,將 所述磁盤讀寫請求轉(zhuǎn)換為文件讀寫請求;
[0039] 請求發(fā)送單元,用于通過所述通信連接將所述文件讀寫請求發(fā)送給所述瀏覽器;
[0040] 數(shù)據(jù)接收單元,用于通過所述通信連接接收所述瀏覽器返回的讀寫結(jié)果數(shù)據(jù);
[0041] 數(shù)據(jù)發(fā)送單元,用于將所述讀寫結(jié)果數(shù)據(jù)返回給所述虛擬機(jī)。
[0042] 結(jié)合=方面的實現(xiàn)方式,在第一種可選的實現(xiàn)方式中,所述虛擬機(jī)控制器還包 括:
[0043] 存儲單元,用于在所述模擬單元模擬得到磁盤鏡像文件后,保存所述磁盤鏡像文 件與所述通信連接之間的對應(yīng)關(guān)系;
[0044] 所述請求發(fā)送單元,具體用于依據(jù)所述磁盤鏡像文件與所述通信連接之間的對應(yīng) 關(guān)系,W及所述磁盤讀寫請求所針對的磁盤鏡像文件,確定所述文件讀寫請求對應(yīng)的通信 連接;然后通過確定的通信連接將所述文件讀寫請求發(fā)送給所述瀏覽器。
[0045] 結(jié)合=方面的實現(xiàn)方式,在第二種可選的實現(xiàn)方式中,所述連接建立單元,具體用 于與瀏覽器建立遠(yuǎn)程的網(wǎng)絡(luò)套接字連接。
[0046] 結(jié)合=方面的第二種可選的實現(xiàn)方式,在第=種可選的實現(xiàn)方式中,承載所述屬 性信息的協(xié)議包括=個字段:用于指定協(xié)議包用途的類型字段、數(shù)據(jù)屬性信息字段、完整性 校驗碼字段;
[0047] 承載所述文件讀寫請求的協(xié)議包包括=個字段:用于指定協(xié)議包用途的類型字 段、文件讀寫請求信息字段、完整性校驗碼字段;
[0048] 承載所述讀寫結(jié)果數(shù)據(jù)的協(xié)議包包括=個字段:用于指定協(xié)議包用途的類型字 段、讀寫結(jié)果數(shù)據(jù)字段、完整性校驗碼字段。
[0049] 結(jié)合=方面、=方面的第一種、第二種或者第=種可選的實現(xiàn)方式,在第四種可選 的實現(xiàn)方式中,所述屬性信息包括:鏡像文件的文件名,文件類型W及文件大小。
[0化日]結(jié)合=方面、=方面的第一種、第二種或者第=種可選的實現(xiàn)方式,在第五種可選 的實現(xiàn)方式中,所述模擬單元,具體用于采用虛擬機(jī)監(jiān)視器的驅(qū)動解析所述屬性信息,依據(jù) 解釋結(jié)果模擬得得到磁盤鏡像文件。
[0化1] 本發(fā)明實施例四方面提供了一種主機(jī),具有運(yùn)行瀏覽器的功能,包括:
[0化2] 信息獲取單元,用于獲取需要作為遠(yuǎn)程鏡像文件使用的本地文件的屬性信息,并 確定位于遠(yuǎn)程的需要將所述本地文件模擬為磁盤鏡像文件的虛擬機(jī)監(jiān)視器;
[0化3] 建立連接單元,用于與所述虛擬機(jī)監(jiān)視器建立通信連接;
[0054] 信息發(fā)送單元,用于通過建立的所述通信連接將所述鏡像文件的屬性信息發(fā)送給 所述虛擬機(jī)監(jiān)視器;
[0055] 請求接收單元,用于通過所述通信連接接收來自所述虛擬機(jī)監(jiān)視器的文件讀寫請 求;
[0056] 請求執(zhí)行單元,用于執(zhí)行所述文件讀寫請求獲得讀寫結(jié)果數(shù)據(jù);
[0化7] 數(shù)據(jù)發(fā)送單元,用于通過所述通信連接向所述虛擬機(jī)監(jiān)視器發(fā)送所述讀寫結(jié)果數(shù) 據(jù)。
[005引結(jié)合四方面的實現(xiàn)方式,在第一種可選的實現(xiàn)方式中,所述屬性信息包括;鏡像文 件的文件名,文件類型W及文件大小。
[0059] 結(jié)合四方面的實現(xiàn)方式,在第二種可選的實現(xiàn)方式中,所述建立連接單元,具體用 于與所述虛擬機(jī)監(jiān)視器建立網(wǎng)絡(luò)套接字連接。
[0060] 結(jié)合四方面、四方面的第一種或者第二種可選的實現(xiàn)方式,在第=種可選的實現(xiàn) 方式中,所述請求執(zhí)行單元,具體用于通過應(yīng)用程序接口 API向所述本地文件發(fā)送讀寫指 令,獲得與所述讀寫請求對應(yīng)的讀寫結(jié)果數(shù)據(jù)。
[0061] 本發(fā)明實施例五方面提供了一種遠(yuǎn)程鏡像文件的傳輸系統(tǒng),包括;第一主機(jī)和第 二主機(jī),所述第一主機(jī)為本發(fā)明實施例=方面提供的任意一項的主機(jī),所述第二主機(jī)為本 發(fā)明實施例四方面提供的任意一項的主機(jī)。
[0062] 從W上技術(shù)方案可W看出,本發(fā)明實施例具有W下優(yōu)點:采用瀏覽器的通信能力 建立與虛擬機(jī)監(jiān)視器之間的通信連接,通過該通信連接傳遞屬性信息給虛擬機(jī)監(jiān)視器使虛 擬機(jī)監(jiān)視器能夠模擬得到磁盤鏡像文件;虛擬機(jī)監(jiān)視器在獲得磁盤讀寫請求后,轉(zhuǎn)換為文 件讀寫請求并通過上述通信連接和瀏覽器獲得讀寫結(jié)果數(shù)據(jù)。整個過程充分利用了瀏覽器 的通信功能,不需要增加新的協(xié)議需求,也不需要用戶對模擬磁盤鏡像文件進(jìn)行授權(quán)操作, 因此可W簡化傳輸操作,降低對通信協(xié)議的要求。
【專利附圖】
【附圖說明】
[0063] 為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使 用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本 領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可W根據(jù)該些附圖獲得其 他的附圖。
[0064] 圖1為本發(fā)明實施例方法流程示意圖;
[0065] 圖2為本發(fā)明實施例方法流程示意圖;
[0066] 圖3為本發(fā)明實施例系統(tǒng)結(jié)構(gòu)示意圖;
[0067] 圖4為本發(fā)明實施例方法流程示意圖;
[0068] 圖5為本發(fā)明實施例主機(jī)結(jié)構(gòu)示意圖;
[0069] 圖6為本發(fā)明實施例主機(jī)結(jié)構(gòu)示意圖;
[0070] 圖7為本發(fā)明實施例主機(jī)結(jié)構(gòu)示意圖;
[0071] 圖8為本發(fā)明實施例系統(tǒng)結(jié)構(gòu)示意圖;
[0072] 圖9為本發(fā)明實施例主機(jī)結(jié)構(gòu)示意圖。
【具體實施方式】
[0073] 為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進(jìn) 一步地詳細(xì)描述,顯然,所描述的實施例僅僅是本發(fā)明一部份實施例,而不是全部的實施 例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的 所有其它實施例,都屬于本發(fā)明保護(hù)的范圍。
[0074] 本發(fā)明實施例提供了一種遠(yuǎn)程鏡像文件的傳輸方法,在虛擬機(jī)一側(cè)實現(xiàn),具體執(zhí) 行的方法流程的可w是虛擬機(jī)監(jiān)視器,如圖1所示,包括:
[0075] 101 ;與瀏覽器建立遠(yuǎn)程的通信連接,并通過上述通信連接接收屬性信息;上述屬 性信息為上述瀏覽器的本地文件的屬性信息;
[0076] 在本發(fā)明實施例中屬性信息是瀏覽器的本地文件的屬性信息,用于模擬得到磁盤 鏡像文件,本實施例還具體給出了屬性信息的具體舉例如下;上述屬性信息包括;鏡像文 件的文件名,文件類型W及文件大小。
[0077] 基于瀏覽器該一具體的應(yīng)用場景,本實施例可W優(yōu)選采用如下通信連接方式:上 述通信連接包括;網(wǎng)絡(luò)套接字(Websocket)連接。
[007引 102 ;依據(jù)上述屬性信息模擬得到磁盤鏡像文件;
[0079] 將屬性信息模擬得到的磁盤鏡像文件實際上并沒有文件的內(nèi)容數(shù)據(jù),僅僅是讓虛 擬機(jī)認(rèn)為有磁盤類的文件在本地,并在虛擬機(jī)需要的時候?qū)ζ浒l(fā)出磁盤讀寫請求。
[0080] 103 ;在獲得虛擬機(jī)針對上述磁盤鏡像文件的磁盤讀寫請求后,將上述磁盤讀寫請 求轉(zhuǎn)換為文件讀寫請求;
[0081] 由于本地的文件并不是一個真的磁盤,那么磁盤讀寫請求(Raw 10)無法被執(zhí)行, 因此需要對磁盤讀寫請求轉(zhuǎn)換為能夠向瀏覽器的本地文件發(fā)出的讀寫請求,即;文件讀寫 請求(File 10)。
[0082] 104 ;通過上述通信連接將上述文件讀寫請求發(fā)送給上述瀏覽器;
[0083] 如果與瀏覽器建立的連接類型是Websocket連接,那么可W方便的將文件讀寫請 求通過Websocket發(fā)送給瀏覽器。
[0084] 105;通過上述通信連接接收上述瀏覽器返回的讀寫結(jié)果數(shù)據(jù),并將上述讀寫結(jié)果 數(shù)據(jù)返回給上述虛擬機(jī)。
[0085] 在本實施例中,如果采用Websocket建立了連接,那么讀寫結(jié)果數(shù)據(jù)也可W通過 Websocket 傳遞。
[0086] 本實施例,采用瀏覽器的通信能力建立與虛擬機(jī)監(jiān)視器之間的通信連接,通過該 通信連接傳遞屬性信息給虛擬機(jī)監(jiān)視器使虛擬機(jī)監(jiān)視器能夠模擬得到磁盤鏡像文件;虛擬 機(jī)監(jiān)視器在獲得磁盤讀寫請求后,轉(zhuǎn)換為文件讀寫請求并通過上述通信連接和瀏覽器獲得 讀寫結(jié)果數(shù)據(jù)。整個過程充分利用了瀏覽器的通信功能,不需要增加新的協(xié)議需求,也不需 要用戶對模擬磁盤鏡像文件進(jìn)行授權(quán)操作,因此可W簡化傳輸操作,降低對通信協(xié)議的要 求。
[0087] 在本發(fā)明實施例中,可能存在多個瀏覽器將瀏覽器的本地文件共享給虛擬機(jī)的情 況,因此本實施例還提供了在虛擬機(jī)一側(cè)對多個磁盤鏡像文件的管理方案,具體如下;在模 擬得到磁盤鏡像文件后,上述方法還包括;保存上述磁盤鏡像文件與上述通信連接之間的 對應(yīng)關(guān)系;
[008引上述通過上述通信連接將上述文件讀寫請求發(fā)送給上述瀏覽器包括:
[0089] 依據(jù)上述磁盤鏡像文件與上述通信連接之間的對應(yīng)關(guān)系,W及上述磁盤讀寫請求 所針對的磁盤鏡像文件,確定上述文件讀寫請求對應(yīng)的通信連接;然后通過確定的通信連 接將上述文件讀寫請求發(fā)送給上述瀏覽器。
[0090] 本發(fā)明實施例還提供了承載屬性信息、讀寫請求W及讀寫結(jié)果數(shù)據(jù)所使用的協(xié)議 格式,具體如下:
[0091] 承載上述屬性信息的協(xié)議包括=個字段:用于指定協(xié)議包用途的類型字段、數(shù)據(jù) 屬性信息字段、完整性校驗碼字段;
[0092] 承載上述文件讀寫請求的協(xié)議包包括=個字段:用于指定協(xié)議包用途的類型字 段、文件讀寫請求信息字段、完整性校驗碼字段;
[0093] 承載上述讀寫結(jié)果數(shù)據(jù)的協(xié)議包包括=個字段:用于指定協(xié)議包用途的類型字 段、讀寫結(jié)果數(shù)據(jù)字段、完整性校驗碼字段。
[0094] 在本發(fā)明實施例中屬性信息是瀏覽器的本地文件的屬性信息,用于模擬得到磁盤 鏡像文件,因此基于模擬磁盤鏡像文件的需求不同,可W增加其他的字段本實施例不作唯 一性限定。在本發(fā)明實施例中,文件讀寫請求W及讀寫結(jié)果數(shù)據(jù)的字段,也可W按照不同的 需求進(jìn)行字段擴(kuò)充,W上舉例不應(yīng)理解為對本發(fā)明實施例的唯一性限定。
[0095] 本發(fā)明實施例還給出了使用屬性信息模擬磁盤鏡像文件的具體實現(xiàn)方案,如下: 依據(jù)上述屬性信息模擬得到磁盤鏡像文件包括:
[0096] 采用虛擬機(jī)監(jiān)視器的驅(qū)動解析上述屬性信息,依據(jù)解釋結(jié)果模擬得得到磁盤鏡像 文件。
[0097] 本發(fā)明實施例還提供了另一種遠(yuǎn)程鏡像文件的傳輸方法,在瀏覽器炬rowser) - 側(cè)實現(xiàn),如圖2所示,包括:
[009引 201 ;獲取需要作為遠(yuǎn)程鏡像文件使用的本地文件的屬性信息,并確定位于遠(yuǎn)程的 需要將上述本地文件模擬為磁盤鏡像文件的虛擬機(jī)監(jiān)視器;
[0099] 上述本地文件的屬性信息是用于模擬得到磁盤鏡像文件的信息,在本實施例中, 屬性信息可W包括;鏡像文件的文件名,文件類型W及文件大小。還可W包含本地文件的其 他屬性信息,依模擬得到磁盤鏡像文件的需求不同,可W對應(yīng)地確定。
[0100] 202;與上述虛擬機(jī)監(jiān)視器建立通信連接,并通過建立的上述通信連接將上述鏡像 文件的屬性信息發(fā)送給上述虛擬機(jī)監(jiān)視器;
[0101] 基于瀏覽器該一具體的應(yīng)用場景,本實施例可W優(yōu)選采用如下通信連接方式:上 述通信連接包括;網(wǎng)絡(luò)套接字連接。
[0102] 203;通過上述通信連接接收來自上述虛擬機(jī)監(jiān)視器的文件讀寫請求,執(zhí)行上述文 件讀寫請求獲得讀寫結(jié)果數(shù)據(jù);
[0103] 瀏覽器如果與虛擬機(jī)監(jiān)視器建立的連接類型是Websocket連接,那么可W方便地 通過Websocket接收到來自虛擬機(jī)監(jiān)視器的文件讀寫請求。
[0104] 在本實施例中上述執(zhí)行上述文件讀寫請求獲得讀寫結(jié)果數(shù)據(jù)包括:
[01化]通過應(yīng)用程序接口(Application Program Inte計ace,API)向上述本地文件發(fā)送 讀寫指令,獲得與上述讀寫請求對應(yīng)的讀寫結(jié)果數(shù)據(jù)。
[0106] 204 ;通過上述通信連接向上述虛擬機(jī)監(jiān)視器發(fā)送上述讀寫結(jié)果數(shù)據(jù)。
[0107] 在本實施例中,如果采用Websocket建立了與虛擬機(jī)監(jiān)視器之間的連接,那么讀 寫結(jié)果數(shù)據(jù)也可W通過Websocket傳遞。
[0108] 本實施例,采用瀏覽器的通信能力建立與虛擬機(jī)監(jiān)視器之間的通信連接,通過該 通信連接傳遞屬性信息給虛擬機(jī)監(jiān)視器使虛擬機(jī)監(jiān)視器能夠模擬得到磁盤鏡像文件;瀏覽 器接收到虛擬機(jī)監(jiān)視器通過上述通信連接發(fā)來的文件讀寫請求后,再通過上述通信連接傳 遞讀寫結(jié)果數(shù)據(jù)給虛擬機(jī)監(jiān)視器。整個過程充分利用了瀏覽器的通信功能,不需要增加新 的協(xié)議需求,也不需要用戶對模擬磁盤鏡像文件進(jìn)行授權(quán)操作,因此可w簡化傳輸操作,降 低對通信協(xié)議的要求。
[0109] W下實施例將結(jié)合瀏覽器使用超文本標(biāo)記語言第5版(Hypedext Markup Language 5,HTML5)的網(wǎng)絡(luò)套接字客戶端(websocket client)建立與虛擬機(jī)的通信連接, W及虛擬機(jī)的內(nèi)部結(jié)構(gòu)進(jìn)行舉例說明。
[0110] 請參閱圖3所示的系統(tǒng)結(jié)構(gòu)圖,包含:主機(jī)的內(nèi)部結(jié)構(gòu)、瀏覽器的內(nèi)部結(jié)構(gòu),W及 瀏覽器本地的遠(yuǎn)程鏡像巧emote Image)文件。其中遠(yuǎn)程鏡像文件即為瀏覽器一側(cè)的本地 文件,該遠(yuǎn)程鏡像文件是需要在虛擬機(jī)一側(cè)模擬得到磁盤鏡像文件的文件。主機(jī)內(nèi)包含虛 擬機(jī),W及虛擬機(jī)監(jiān)視器;虛擬機(jī)監(jiān)視器內(nèi)包含犯MU(模擬處理器的自由軟件),QEMU網(wǎng)絡(luò) 塊設(shè)備(QEMU Network Block Device,QEMU-nbd),W及nbd出口。其中虛擬機(jī)監(jiān)視器的實 現(xiàn)還可W通過其他模擬軟件實現(xiàn)圖3作為一個舉例不應(yīng)理解為對本發(fā)明實施例的唯一實 現(xiàn)方式。瀏覽器包括套接字客戶端,W及API,其中API可W是化vascript File API。網(wǎng) 絡(luò)套接字客戶端采用套接字通過虛擬機(jī)監(jiān)視器的驅(qū)動建立與虛擬機(jī)監(jiān)視器的通信連接。
[0111] 在圖3所示的結(jié)構(gòu)中,主要有如下幾點:
[0112] 1、瀏覽器的網(wǎng)絡(luò)套接字客戶端(websocket client)使用HTML5并通過虛擬機(jī)監(jiān) 視器的驅(qū)動與虛擬機(jī)監(jiān)視器建立websocket的連接,并通過自定義協(xié)議進(jìn)行信息傳輸。
[0113] W上自動W協(xié)議是在websocket連接上使用的遠(yuǎn)程鏡像通信協(xié)議,需要包含的協(xié) 議包有4類,如下:
[0114] 掛載光驅(qū)數(shù)據(jù)包,如下表1所示:
[0115]
【權(quán)利要求】
1. 一種遠(yuǎn)程鏡像文件的傳輸方法,其特征在于,包括: 與瀏覽器建立遠(yuǎn)程的通信連接,并通過所述通信連接接收屬性信息;所述屬性信息為 所述瀏覽器的本地文件的屬性信息; 依據(jù)所述屬性信息模擬得到磁盤鏡像文件; 在獲得虛擬機(jī)針對所述磁盤鏡像文件的磁盤讀寫請求后,將所述磁盤讀寫請求轉(zhuǎn)換為 文件讀寫請求; 通過所述通信連接將所述文件讀寫請求發(fā)送給所述瀏覽器; 通過所述通信連接接收所述瀏覽器返回的讀寫結(jié)果數(shù)據(jù),并將所述讀寫結(jié)果數(shù)據(jù)返回 給所述虛擬機(jī)。
2. 根據(jù)權(quán)利要求1所述方法,其特征在于,在模擬得到磁盤鏡像文件后,所述方法還包 括:保存所述磁盤鏡像文件與所述通信連接之間的對應(yīng)關(guān)系; 所述通過所述通信連接將所述文件讀寫請求發(fā)送給所述瀏覽器包括: 依據(jù)所述磁盤鏡像文件與所述通信連接之間的對應(yīng)關(guān)系,以及所述磁盤讀寫請求所針 對的磁盤鏡像文件,確定所述文件讀寫請求對應(yīng)的通信連接;然后通過確定的通信連接將 所述文件讀寫請求發(fā)送給所述瀏覽器。
3. 根據(jù)權(quán)利要求1所述方法,其特征在于,所述通信連接包括:網(wǎng)絡(luò)套接字連接。
4. 根據(jù)權(quán)利要求3所述方法,其特征在于, 承載所述屬性信息的協(xié)議包括三個字段:用于指定協(xié)議包用途的類型字段、數(shù)據(jù)屬性 信息字段、完整性校驗碼字段; 承載所述文件讀寫請求的協(xié)議包包括三個字段:用于指定協(xié)議包用途的類型字段、文 件讀寫請求信息字段、完整性校驗碼字段; 承載所述讀寫結(jié)果數(shù)據(jù)的協(xié)議包包括三個字段:用于指定協(xié)議包用途的類型字段、讀 寫結(jié)果數(shù)據(jù)字段、完整性校驗碼字段。
5. 根據(jù)權(quán)利要求1至4任意一項所述方法,其特征在于,所述屬性信息包括:鏡像文件 的文件名,文件類型以及文件大小。
6. 根據(jù)權(quán)利要求1至4任意一項所述方法,其特征在于,依據(jù)所述屬性信息模擬得到磁 盤鏡像文件包括: 采用虛擬機(jī)監(jiān)視器的驅(qū)動解析所述屬性信息,依據(jù)解釋結(jié)果模擬得得到磁盤鏡像文 件。
7. -種遠(yuǎn)程鏡像文件的傳輸方法,其特征在于,包括: 獲取需要作為遠(yuǎn)程鏡像文件使用的本地文件的屬性信息,并確定位于遠(yuǎn)程的需要將所 述本地文件模擬為磁盤鏡像文件的虛擬機(jī)監(jiān)視器; 與所述虛擬機(jī)監(jiān)視器建立通信連接,并通過建立的所述通信連接將所述鏡像文件的屬 性信息發(fā)送給所述虛擬機(jī)監(jiān)視器; 通過所述通信連接接收來自所述虛擬機(jī)監(jiān)視器的文件讀寫請求,執(zhí)行所述文件讀寫請 求獲得讀寫結(jié)果數(shù)據(jù); 通過所述通信連接向所述虛擬機(jī)監(jiān)視器發(fā)送所述讀寫結(jié)果數(shù)據(jù)。
8. 根據(jù)權(quán)利要求7所述方法,其特征在于,所述屬性信息包括:鏡像文件的文件名,文 件類型以及文件大小。
9. 根據(jù)權(quán)利要求7所述方法,其特征在于, 所述通信連接包括:網(wǎng)絡(luò)套接字連接。
10. 根據(jù)權(quán)利要求7至9任意一項所述方法,其特征在于,所述執(zhí)行所述文件讀寫請求 獲得讀寫結(jié)果數(shù)據(jù)包括: 通過應(yīng)用程序接口 API向所述本地文件發(fā)送讀寫指令,獲得與所述讀寫請求對應(yīng)的讀 寫結(jié)果數(shù)據(jù)。
11. 一種主機(jī),包括:虛擬機(jī)控制器,其特征在于,所述虛擬機(jī)控制器包括: 連接建立單元,用于與瀏覽器建立遠(yuǎn)程的通信連接; 信息接收單元,用于通過所述通信連接接收屬性信息;所述屬性信息為所述瀏覽器的 本地文件的屬性信息; 模擬單元,用于依據(jù)所述屬性信息模擬得到磁盤鏡像文件; 請求轉(zhuǎn)換單元,用于在獲得虛擬機(jī)針對所述磁盤鏡像文件的磁盤讀寫請求后,將所述 磁盤讀寫請求轉(zhuǎn)換為文件讀寫請求; 請求發(fā)送單元,用于通過所述通信連接將所述文件讀寫請求發(fā)送給所述瀏覽器; 數(shù)據(jù)接收單元,用于通過所述通信連接接收所述瀏覽器返回的讀寫結(jié)果數(shù)據(jù); 數(shù)據(jù)發(fā)送單元,用于將所述讀寫結(jié)果數(shù)據(jù)返回給所述虛擬機(jī)。
12. 根據(jù)權(quán)利要求11所述虛擬機(jī)控制器,其特征在于,所述虛擬機(jī)控制器還包括: 存儲單元,用于在所述模擬單元模擬得到磁盤鏡像文件后,保存所述磁盤鏡像文件與 所述通信連接之間的對應(yīng)關(guān)系; 所述請求發(fā)送單元,具體用于依據(jù)所述磁盤鏡像文件與所述通信連接之間的對應(yīng)關(guān) 系,以及所述磁盤讀寫請求所針對的磁盤鏡像文件,確定所述文件讀寫請求對應(yīng)的通信連 接;然后通過確定的通信連接將所述文件讀寫請求發(fā)送給所述瀏覽器。
13. 根據(jù)權(quán)利要求11所述虛擬機(jī)控制器,其特征在于, 所述連接建立單元,具體用于與瀏覽器建立遠(yuǎn)程的網(wǎng)絡(luò)套接字連接。
14. 根據(jù)權(quán)利要求13所述虛擬機(jī)控制器,其特征在于, 承載所述屬性信息的協(xié)議包括三個字段:用于指定協(xié)議包用途的類型字段、數(shù)據(jù)屬性 信息字段、完整性校驗碼字段; 承載所述文件讀寫請求的協(xié)議包包括三個字段:用于指定協(xié)議包用途的類型字段、文 件讀寫請求信息字段、完整性校驗碼字段; 承載所述讀寫結(jié)果數(shù)據(jù)的協(xié)議包包括三個字段:用于指定協(xié)議包用途的類型字段、讀 寫結(jié)果數(shù)據(jù)字段、完整性校驗碼字段。
15. 根據(jù)權(quán)利要求11至14任意一項所述虛擬機(jī)控制器,其特征在于,所述屬性信息包 括:鏡像文件的文件名,文件類型以及文件大小。
16. 根據(jù)權(quán)利要求11至14任意一項所述虛擬機(jī)控制器,其特征在于, 所述模擬單元,具體用于采用虛擬機(jī)監(jiān)視器的驅(qū)動解析所述屬性信息,依據(jù)解釋結(jié)果 模擬得得到磁盤鏡像文件。
17. -種主機(jī),具有運(yùn)行瀏覽器的功能,其特征在于,包括: 信息獲取單元,用于獲取需要作為遠(yuǎn)程鏡像文件使用的本地文件的屬性信息,并確定 位于遠(yuǎn)程的需要將所述本地文件模擬為磁盤鏡像文件的虛擬機(jī)監(jiān)視器; 建立連接單元,用于與所述虛擬機(jī)監(jiān)視器建立通信連接; 信息發(fā)送單元,用于通過建立的所述通信連接將所述鏡像文件的屬性信息發(fā)送給所述 虛擬機(jī)監(jiān)視器; 請求接收單元,用于通過所述通信連接接收來自所述虛擬機(jī)監(jiān)視器的文件讀寫請求; 請求執(zhí)行單元,用于執(zhí)行所述文件讀寫請求獲得讀寫結(jié)果數(shù)據(jù); 數(shù)據(jù)發(fā)送單元,用于通過所述通信連接向所述虛擬機(jī)監(jiān)視器發(fā)送所述讀寫結(jié)果數(shù)據(jù)。
18. 根據(jù)權(quán)利要求17所述主機(jī),其特征在于,所述屬性信息包括:鏡像文件的文件名, 文件類型以及文件大小。
19. 根據(jù)權(quán)利要求17所述主機(jī),其特征在于, 所述建立連接單元,具體用于與所述虛擬機(jī)監(jiān)視器建立網(wǎng)絡(luò)套接字連接。
20. 根據(jù)權(quán)利要求17至19任意一項所述主機(jī),其特征在于, 所述請求執(zhí)行單元,具體用于通過應(yīng)用程序接口 API向所述本地文件發(fā)送讀寫指令, 獲得與所述讀寫請求對應(yīng)的讀寫結(jié)果數(shù)據(jù)。
21. -種遠(yuǎn)程鏡像文件的傳輸系統(tǒng),包括:第一主機(jī)和第二主機(jī),其特征在于,所述第 一主機(jī)為權(quán)利要求11?17任意一項的主機(jī),所述第二主機(jī)為權(quán)利要求18?20任意一項 的主機(jī)。
【文檔編號】G06F17/30GK104504000SQ201410745116
【公開日】2015年4月8日 申請日期:2014年12月8日 優(yōu)先權(quán)日:2014年12月8日
【發(fā)明者】張磊強(qiáng), 肖丁 申請人:華為技術(shù)有限公司