一種文件傳輸方法和管理服務(wù)器的制造方法
【專利摘要】本發(fā)明提供一種文件傳輸方法和管理服務(wù)器,其中方法包括:管理服務(wù)器接收客戶端發(fā)送的文件請(qǐng)求報(bào)文,所述文件請(qǐng)求報(bào)文攜帶目的地址信息、以及將要獲取的目標(biāo)文件的文件信息;所述管理服務(wù)器根據(jù)所述文件信息,請(qǐng)求所述目的地址信息對(duì)應(yīng)的第一虛擬機(jī)從文件服務(wù)器獲取所述目標(biāo)文件;所述管理服務(wù)器接收所述第一虛擬機(jī)發(fā)送的子文件,所述子文件是所述目標(biāo)文件的其中一個(gè)文件部分,并將所述子文件發(fā)送至所述客戶端。本發(fā)明實(shí)施例提高了文件傳輸效率。
【專利說(shuō)明】一種文件傳輸方法和管理服務(wù)器
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)技術(shù),特別涉及一種文件傳輸方法和管理服務(wù)器。
【背景技術(shù)】
[0002] 虛擬化技術(shù)是一種實(shí)現(xiàn)計(jì)算資源彼此隔離的技術(shù),例如,服務(wù)器虛擬化技術(shù)是通 過(guò)專用的虛擬化軟件(例如VMware)在一臺(tái)物理服務(wù)器上虛擬出多臺(tái)虛擬機(jī)(Virtual Machine,簡(jiǎn)稱:VM),每臺(tái)VM都獨(dú)立運(yùn)行,擁有自己的配置信息(該配置信息例如包括:操 作系統(tǒng)以及內(nèi)存、網(wǎng)卡等虛擬硬件環(huán)境)。
[0003] 相關(guān)技術(shù)中也已經(jīng)開始使用虛擬化技術(shù)來(lái)提供業(yè)務(wù)服務(wù),例如,文件傳輸服務(wù)就 使用了上述的虛擬化技術(shù)??蛻舳讼騐M發(fā)送文件下載請(qǐng)求,VM根據(jù)該請(qǐng)求從文件服務(wù)器 獲取客戶端請(qǐng)求的文件,并將文件發(fā)送至客戶端;有時(shí)出于各種原因例如為使得負(fù)載均衡, 需要進(jìn)行虛擬機(jī)的遷移,即需要將客戶端的文件傳輸服務(wù)轉(zhuǎn)由另一個(gè)VM來(lái)執(zhí)行,那么此時(shí) 原VM將斷開與客戶端的連接,等新VM配置完成并啟動(dòng)后,客戶端再與新VM連接通過(guò)該新 VM獲取文件,那么這個(gè)過(guò)程中將會(huì)造成文件傳輸業(yè)務(wù)的中斷,使得文件傳輸?shù)男瘦^低。
【發(fā)明內(nèi)容】
[0004] 有鑒于此,本發(fā)明提供一種文件傳輸方法和管理服務(wù)器,以提高文件傳輸效率。
[0005] 具體地,本發(fā)明是通過(guò)如下技術(shù)方案實(shí)現(xiàn)的:
[0006] 第一方面,提供一種文件傳輸方法,包括:
[0007] 管理服務(wù)器接收客戶端發(fā)送的文件請(qǐng)求報(bào)文,所述文件請(qǐng)求報(bào)文攜帶目的地址信 息、以及將要獲取的目標(biāo)文件的文件信息;
[0008] 所述管理服務(wù)器根據(jù)所述文件信息,請(qǐng)求所述目的地址信息對(duì)應(yīng)的第一虛擬機(jī)從 文件服務(wù)器獲取所述目標(biāo)文件;
[0009] 所述管理服務(wù)器接收所述第一虛擬機(jī)發(fā)送的子文件,所述子文件是所述目標(biāo)文件 的其中一個(gè)文件部分,并將所述子文件發(fā)送至所述客戶端。
[0010] 可選的,所述方法還包括:所述管理服務(wù)器記錄與所述子文件對(duì)應(yīng)的傳輸位置信 息,所述傳輸位置信息用于表不所述目標(biāo)文件的傳輸進(jìn)度;在所述管理服務(wù)器將所述第一 虛擬機(jī)遷移至第二虛擬機(jī)時(shí),所述管理服務(wù)器與所述第二虛擬機(jī)建立連接,并且根據(jù)當(dāng)前 的傳輸位置信息,請(qǐng)求所述第二虛擬機(jī)從所述文件服務(wù)器繼續(xù)獲取所述目標(biāo)文件中未獲取 的文件部分。
[0011] 可選的,所述管理服務(wù)器接收客戶端發(fā)送的文件請(qǐng)求報(bào)文之前,還包括:所述管理 服務(wù)器向虛擬交換機(jī)發(fā)送報(bào)文過(guò)濾規(guī)則,以使得所述虛擬交換機(jī)在從客戶端接收到的文件 請(qǐng)求報(bào)文匹配所述報(bào)文過(guò)濾規(guī)則時(shí),將所述文件請(qǐng)求報(bào)文轉(zhuǎn)發(fā)至所述管理服務(wù)器。
[0012] 可選的,所述管理服務(wù)器請(qǐng)求所述目的地址信息對(duì)應(yīng)的第一虛擬機(jī)從文件服務(wù)器 獲取所述目標(biāo)文件,包括:所述管理服務(wù)器將所述文件請(qǐng)求報(bào)文中包括的作為報(bào)文源端信 息的客戶端標(biāo)識(shí),更改為用于標(biāo)識(shí)所述管理服務(wù)器的服務(wù)器標(biāo)識(shí);所述管理服務(wù)器向所述 第一虛擬機(jī)發(fā)送更改報(bào)文源端信息后的所述文件請(qǐng)求報(bào)文,以使得所述第一虛擬機(jī)根據(jù)更 改報(bào)文源端信息后的所述文件請(qǐng)求報(bào)文獲取所述目標(biāo)文件的子文件,并根據(jù)所述服務(wù)器標(biāo) 識(shí)將所述目標(biāo)文件的子文件發(fā)送至所述管理服務(wù)器。
[0013] 可選的,所述管理服務(wù)器將所述子文件發(fā)送至所述客戶端,包括:所述管理服務(wù)器 將所述子文件的文件數(shù)據(jù)攜帶在文件報(bào)文中,并且將所述文件報(bào)文的報(bào)文源端信息設(shè)置為 用于標(biāo)識(shí)所述第一虛擬機(jī)的第一虛擬機(jī)標(biāo)識(shí);所述管理服務(wù)器將所述文件報(bào)文發(fā)送至所述 客戶端。
[0014] 第二方面,提供一種管理服務(wù)器,包括:
[0015] 接收單元,用于接收客戶端發(fā)送的文件請(qǐng)求報(bào)文,所述文件請(qǐng)求報(bào)文攜帶目的地 址信息、以及將要獲取的目標(biāo)文件的文件信息;以及,接收第一虛擬機(jī)發(fā)送的子文件,所述 子文件是所述目標(biāo)文件的其中一個(gè)文件部分;
[0016] 發(fā)送單元,用于根據(jù)所述文件信息請(qǐng)求所述目的地址信息對(duì)應(yīng)的第一虛擬機(jī)從文 件服務(wù)器獲取所述目標(biāo)文件;并將所述子文件發(fā)送至所述客戶端。
[0017] 可選的,還包括:處理單元;所述處理單元,用于記錄與所述子文件對(duì)應(yīng)的傳輸位 置信息,所述傳輸位置信息用于表示所述目標(biāo)文件的傳輸進(jìn)度;以及,在所述管理服務(wù)器將 所述第一虛擬機(jī)遷移至第二虛擬機(jī)時(shí),與所述第二虛擬機(jī)建立連接;所述發(fā)送單元,還用于 根據(jù)當(dāng)前的傳輸位置信息,請(qǐng)求所述第二虛擬機(jī)從所述文件服務(wù)器繼續(xù)獲取所述目標(biāo)文件 中未獲取的文件部分。
[0018] 可選的,所述處理單元,還用于將所述文件請(qǐng)求報(bào)文中包括的作為報(bào)文源端信息 的客戶端標(biāo)識(shí),更改為用于標(biāo)識(shí)所述管理服務(wù)器的服務(wù)器標(biāo)識(shí),以使得所述第一虛擬機(jī)根 據(jù)所述服務(wù)器標(biāo)識(shí)將所述目標(biāo)文件的子文件發(fā)送至所述管理服務(wù)器。
[0019] 可選的,所述處理單元,還用于將所述目標(biāo)文件的子文件的文件數(shù)據(jù)攜帶在文件 報(bào)文中,并且將所述文件報(bào)文的報(bào)文源端信息設(shè)置為用于標(biāo)識(shí)所述第一虛擬機(jī)的第一虛擬 機(jī)標(biāo)識(shí);所述發(fā)送單元,具體用于將所述文件報(bào)文發(fā)送至所述客戶端。
[0020] 可選的,所述發(fā)送單元,還用于在所述接收單元接收客戶端發(fā)送的文件請(qǐng)求報(bào)文 之前,向虛擬交換機(jī)發(fā)送報(bào)文過(guò)濾規(guī)則,以使得所述虛擬交換機(jī)在從客戶端接收到的文件 請(qǐng)求報(bào)文匹配所述報(bào)文過(guò)濾規(guī)則時(shí),將所述文件請(qǐng)求報(bào)文轉(zhuǎn)發(fā)至管理服務(wù)器。
[0021] 本發(fā)明實(shí)施例的文件傳輸方法和管理服務(wù)器,管理服務(wù)器與客戶端之間建立連 接,由管理服務(wù)器執(zhí)行文件請(qǐng)求、傳送文件給客戶端,這種方式使得即使發(fā)生了 VM的遷移, 也僅是管理服務(wù)器與VM之間的連接可能會(huì)中斷,但是管理服務(wù)器與客戶端的連接是保持 的,那么客戶端就會(huì)感覺其文件傳輸業(yè)務(wù)的連接一直是連續(xù)的,未發(fā)生中斷;VM的遷移也 不會(huì)如現(xiàn)有技術(shù)那樣觸發(fā)客戶端側(cè)重新執(zhí)行連接的建立流程,節(jié)省了信令程序,從而提高 了文件傳輸效率。
【專利附圖】
【附圖說(shuō)明】
[0022] 圖1為本發(fā)明實(shí)施例提供的文件傳輸方法的可選應(yīng)用場(chǎng)景示意圖;
[0023] 圖2為發(fā)明實(shí)施例提供的一種文件傳輸方法的流程示意圖;
[0024] 圖3為本發(fā)明實(shí)施例提供的另一種文件傳輸方法的信令示意圖;
[0025] 圖4為本發(fā)明實(shí)施例提供的一種管理服務(wù)器的結(jié)構(gòu)示意圖;
[0026] 圖5為本發(fā)明實(shí)施例提供的另一種管理服務(wù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0027] 本發(fā)明實(shí)施例提供了一種文件傳輸方法,以使得在虛擬機(jī)遷移的場(chǎng)景下提高文件 傳輸效率;參見圖1,圖1示例了一種可選的應(yīng)用場(chǎng)景,該場(chǎng)景中包括了文件傳輸業(yè)務(wù)所涉 及到的一些設(shè)備,如下:
[0028] 文件服務(wù)器:用于存儲(chǔ)文件,客戶端(例如,某個(gè)用戶所使用的電腦)想要獲取某 個(gè)文件時(shí),比如用戶通過(guò)客戶端上設(shè)置的下載軟件想要獲取某個(gè)PDF文檔;那么這個(gè)文件 是存儲(chǔ)在文件服務(wù)器的。
[0029] 虛擬機(jī)VM:圖1中示例了兩個(gè)物理服務(wù)器,分別是服務(wù)器A和服務(wù)器B,其中的服 務(wù)器A上設(shè)置有VM1,服務(wù)器B上設(shè)置有VM2和VM3,VM是通過(guò)在物理服務(wù)器上采用虛擬化 軟件虛擬出的設(shè)備,各臺(tái)VM都獨(dú)立運(yùn)行,擁有自己的操作系統(tǒng)、應(yīng)用程序、內(nèi)存、網(wǎng)卡等等。
[0030] 虛擬交換機(jī)VSwitch :執(zhí)行與普通交換機(jī)類似的功能,例如轉(zhuǎn)發(fā)報(bào)文,因此,虛擬 交換機(jī)與各個(gè)VM連接。
[0031] 智能管理中心(intelligence Management Center,IMC):可以將 IMC稱為管理服 務(wù)器,該MC可以具有多種管理功能,其中一種管理功能例如是管理圖1中所示的各個(gè)VM。 VM的配置信息(例如操作系統(tǒng)、內(nèi)存、網(wǎng)卡等)可以是從MC下發(fā)的,并且存儲(chǔ)在MC ;如果 新建一個(gè)VM,也是由MC來(lái)負(fù)責(zé)啟動(dòng),下發(fā)配置信息。其中,在MC管理VM時(shí),MC對(duì)應(yīng)每 個(gè)VM有一個(gè)邏輯口(該邏輯口可以認(rèn)為相當(dāng)于VM的標(biāo)識(shí)),MC將VM的配置信息通過(guò)該 VM對(duì)應(yīng)的邏輯口下發(fā)到該VM。
[0032] 客戶端:例如是,用戶使用的電腦;其通過(guò)internet與虛擬交換機(jī)連接。
[0033] 客戶端如果要進(jìn)行文件傳輸,會(huì)通過(guò)虛擬交換機(jī)向VM1 (以VM1為例)發(fā)送文件請(qǐng) 求報(bào)文,攜帶客戶端將要獲取的目標(biāo)文件對(duì)應(yīng)的文件信息(該文件信息例如是,文件的存 儲(chǔ)地址、或者文件名稱等),該目標(biāo)文件存儲(chǔ)在文件服務(wù)器中。VM1根據(jù)該請(qǐng)求從文件服務(wù) 器獲取到目標(biāo)文件后反饋給客戶端。
[0034] 那么本發(fā)明實(shí)施例的文件傳輸方法的方案思想是,截?cái)嗌鲜鯲M1和客戶端之間的 直接交互通信,由管理服務(wù)器MC執(zhí)行"文件代答功能"。比如,在上面描述的客戶端獲取目 標(biāo)文件的過(guò)程中,管理服務(wù)器截獲客戶端向VM1發(fā)送的文件請(qǐng)求報(bào)文后,由管理服務(wù)器向 VM1發(fā)送該請(qǐng)求,相當(dāng)于"管理服務(wù)器代客戶端請(qǐng)求文件";同理,VM1獲取到文件后也是發(fā) 送給管理服務(wù)器,由管理服務(wù)器將文件發(fā)送至客戶端,相當(dāng)于"管理服務(wù)器代VM1反饋客戶 端的文件",因此可以形象的稱為"文件代答功能"。
[0035] 下面的各實(shí)施例將更加詳細(xì)的描述本發(fā)明實(shí)施例的文件傳輸方法:
[0036] 實(shí)施例一
[0037] 圖2為本發(fā)明實(shí)施例提供的一種文件傳輸方法的流程示意圖,本實(shí)施例的方法是 由管理服務(wù)器來(lái)執(zhí)行的,本實(shí)施例的管理服務(wù)器以MC為例,可以包括如下步驟 :
[0038] 201、管理服務(wù)器接收客戶端發(fā)送的文件請(qǐng)求報(bào)文,該文件請(qǐng)求報(bào)文攜帶目的地址 信息、以及將要獲取的目標(biāo)文件的文件信息;
[0039] 其中,客戶端發(fā)送的文件請(qǐng)求報(bào)文,實(shí)際上客戶端是發(fā)往虛擬機(jī)的,以VM1為例, 客戶端會(huì)在該文件請(qǐng)求報(bào)文中攜帶目的地址信息,例如上述的VM1的地址信息,以指示VM1 從文件服務(wù)器獲取文件。而在本實(shí)施例中,該發(fā)往VM1的文件請(qǐng)求報(bào)文可以被虛擬交換機(jī) (VSwitch)轉(zhuǎn)發(fā)至管理服務(wù)器例如MC,該報(bào)文中攜帶目的地址信息(例如VM1的地址信 息)、以及將要獲取的目標(biāo)文件的文件信息(例如目標(biāo)文件的地址信息、或者文件名稱等)。
[0040] 可選的,如果要實(shí)現(xiàn)虛擬交換機(jī)將客戶端發(fā)送的文件請(qǐng)求報(bào)文轉(zhuǎn)發(fā)至IMC,可以預(yù) 先由IMC向虛擬交換機(jī)下發(fā)報(bào)文過(guò)濾規(guī)則,該報(bào)文過(guò)濾規(guī)則在虛擬交換機(jī)上例如以ACL的 形式存在;虛擬交換機(jī)在接收到的報(bào)文匹配該規(guī)則時(shí),就會(huì)向IMC上報(bào)該報(bào)文。例如,如果 設(shè)置規(guī)則是"源IP地址是****的報(bào)文,轉(zhuǎn)發(fā)至頂C",那么交換機(jī)將接收到的源IP地址為 ****的報(bào)文上送頂C,MC接收到該報(bào)文。
[0041] 202、管理服務(wù)器根據(jù)文件信息,請(qǐng)求目的地址信息對(duì)應(yīng)的第一虛擬機(jī),從文件服 務(wù)器獲取目標(biāo)文件;
[0042] 例如在本步驟中,頂C根據(jù)文件請(qǐng)求報(bào)文中攜帶的VM1的地址信息,請(qǐng)求VM1從文 件服務(wù)器獲取報(bào)文中攜帶的文件信息對(duì)應(yīng)的目標(biāo)文件。
[0043] 可選的,IMC可以將虛擬交換機(jī)轉(zhuǎn)發(fā)過(guò)來(lái)的客戶端的文件請(qǐng)求報(bào)文,稍加改動(dòng)后再 指示虛擬交換機(jī)發(fā)送至VM1,以使得VM1根據(jù)該報(bào)文從文件服務(wù)器獲取目標(biāo)文件。上述的稍 加改動(dòng)的意思是,文件請(qǐng)求報(bào)文最初攜帶的作為報(bào)文源端信息的客戶端標(biāo)識(shí),例如客戶端 的IP地址,MC可以將該客戶端標(biāo)識(shí)修改為用于標(biāo)識(shí)MC自己的服務(wù)器標(biāo)識(shí),比如MC自 己的IP地址,這樣做的目的是使得VM1以為文件請(qǐng)求報(bào)文是由MC發(fā)送的,而不是客戶端 發(fā)送,VM1反饋的文件才會(huì)發(fā)送至MC。
[0044] 203、管理服務(wù)器接收所述第一虛擬機(jī)發(fā)送的子文件,該子文件是目標(biāo)文件的其中 一個(gè)文件部分;
[0045] 本實(shí)施例中,第一虛擬機(jī)從文件服務(wù)器獲取目標(biāo)文件時(shí),可以采用文件傳輸協(xié)議 (File Transfer Protocol,F(xiàn)TP)的文件傳輸方式,將要下載的目標(biāo)文件(或者文件壓縮 包)劃分成幾個(gè)文件部分,每一個(gè)文件部分可以稱為子文件,各個(gè)子文件可以分開傳送,例 如,每一子文件采用一個(gè)線程進(jìn)行下載,因此管理服務(wù)器在接收目標(biāo)文件時(shí)也是接收子文 件。
[0046] 此外,如上所述的,管理服務(wù)器在202中請(qǐng)求VM1獲取目標(biāo)文件時(shí),已經(jīng)將報(bào)文中 的報(bào)文源端信息設(shè)置為頂C自己的標(biāo)識(shí),那么VM1就會(huì)認(rèn)為是MC在請(qǐng)求文件,因此會(huì)在獲 取到目標(biāo)文件的子文件反饋至MC,而不是客戶端。
[0047] 204、管理服務(wù)器將所述子文件發(fā)送至所述客戶端。
[0048] 本步驟中,再由MC將目標(biāo)文件的子文件返回至客戶端。此外,管理服務(wù)器在將 子文件返回至客戶端之前,也可以先將攜帶子文件的文件數(shù)據(jù)的文件報(bào)文的報(bào)文源端信息 設(shè)置為用于標(biāo)識(shí)VM1的標(biāo)識(shí)(例如,將該文件報(bào)文的源IP地址設(shè)置為第一虛擬機(jī)的IP地 址),使得從客戶端看來(lái),其本來(lái)請(qǐng)求的是向VM1請(qǐng)求報(bào)文,而現(xiàn)在也是由VM1來(lái)返回報(bào)文, 客戶端是不會(huì)感知到MC的代答功能的,其仍然是認(rèn)為與VM1直接交互。
[0049] 上述本實(shí)施例的文件傳輸方法,管理服務(wù)器與客戶端之間建立連接,由管理服務(wù) 器執(zhí)行文件請(qǐng)求、傳送文件給客戶端,這種方式使得即使發(fā)生了 VM的遷移,也僅是管理服 務(wù)器與VM之間的連接可能會(huì)中斷,但是管理服務(wù)器與客戶端的連接是保持的,那么客戶端 就會(huì)感覺其文件傳輸業(yè)務(wù)的連接一直是連續(xù)的,未發(fā)生中斷;VM的遷移也不會(huì)如現(xiàn)有技術(shù) 那樣觸發(fā)客戶端側(cè)重新執(zhí)行連接的建立流程,節(jié)省了信令程序,從而提高了文件傳輸效率。
[0050] 實(shí)施例二
[0051] 圖3為本發(fā)明實(shí)施例提供的另一種文件傳輸方法的信令示意圖,本實(shí)施例示出了 在文件傳輸?shù)倪^(guò)程中各設(shè)備之間的交互,并且本實(shí)施例以一種可選的傳輸方式為例,詳細(xì) 描述了該文件傳輸方法,如圖3所示,包括:
[0052] 301、MC向虛擬交換機(jī)發(fā)送報(bào)文過(guò)濾規(guī)則;
[0053] 其中,在虛擬交換機(jī)開始工作前,可以由MC向虛擬交換機(jī)下發(fā)報(bào)文過(guò)濾規(guī)則,以 用于虛擬交換機(jī)根據(jù)該規(guī)則將一些指定的報(bào)文上送至頂C。
[0054] 例如,虛擬交換機(jī)可能會(huì)接收到很多種類型的報(bào)文,而MC只想要虛擬交換機(jī)上 送其中的"文件傳輸業(yè)務(wù)"的報(bào)文,則會(huì)將該業(yè)務(wù)的報(bào)文所具有的特點(diǎn)對(duì)應(yīng)的一些字段信息 設(shè)置在報(bào)文過(guò)濾規(guī)則中;比如,如果報(bào)文中的"源端口號(hào)"字段是"21",則表明該報(bào)文是FTP 業(yè)務(wù)報(bào)文,MC據(jù)此可以設(shè)置規(guī)則為"如果報(bào)文的源端口號(hào)字段的值是21,則上送"。
[0055] 又例如,頂C可以通過(guò)設(shè)置規(guī)則只對(duì)某些特定用戶的報(bào)文進(jìn)行過(guò)濾,比如對(duì)于IP 地址是****的客戶端,MC想要虛擬交換機(jī)上送報(bào)文,那么可以設(shè)置規(guī)則為"如果報(bào)文中的 源IP地址是****,則上送"。
[0056] 通過(guò)上述設(shè)置,可以采用本發(fā)明實(shí)施例的文件傳輸方法,來(lái)保證一些重要的指定 用戶或者特殊業(yè)務(wù)的業(yè)務(wù)使用,使得其業(yè)務(wù)不會(huì)發(fā)生中斷。
[0057] 302、虛擬交換機(jī)接收客戶端發(fā)送的文件請(qǐng)求報(bào)文;
[0058] 其中,該文件請(qǐng)求報(bào)文攜帶目的地址信息、以及將要獲取的目標(biāo)文件的文件信息; 該目的地址信息例如是第一虛擬機(jī)的地址信息,該第一虛擬機(jī)例如是圖1中所示的VM1,該 文件信息例如是文件地址或者文件名稱等。
[0059] 303、虛擬交換機(jī)將報(bào)文轉(zhuǎn)發(fā)至MC ;
[0060] 其中,虛擬交換機(jī)在從客戶端接收到文件請(qǐng)求報(bào)文后,將根據(jù)報(bào)文過(guò)濾規(guī)則來(lái)查 看報(bào)文是否與該規(guī)則匹配;例如查看報(bào)文中的源IP地址是否是規(guī)則中設(shè)置的IP地址。如 果匹配報(bào)文過(guò)濾規(guī)則,則虛擬交換機(jī)將文件請(qǐng)求報(bào)文轉(zhuǎn)發(fā)至管理服務(wù)器。
[0061] 304、MC應(yīng)答報(bào)文,建立與客戶端的連接;
[0062] 其中,MC在接收到文件請(qǐng)求報(bào)文后,可以向客戶端返回應(yīng)答,建立與客戶端的連 接;這里的連接流程當(dāng)然也是經(jīng)過(guò)虛擬交換機(jī)進(jìn)行的,通過(guò)連接流程IMC可以與客戶端協(xié) 商一些通信參數(shù),例如,在本實(shí)施例的文件傳輸業(yè)務(wù)中,可以協(xié)商當(dāng)MC經(jīng)過(guò)某個(gè)時(shí)間段 (例如,1小時(shí))不向客戶端傳送文件時(shí),兩者可以斷開連接。
[0063] 305、MC對(duì)文件請(qǐng)求報(bào)文進(jìn)行處理;
[0064] 本步驟中,IMC可以將報(bào)文中的作為報(bào)文源端信息的客戶端標(biāo)識(shí),更改為標(biāo)識(shí)IMC 的服務(wù)器標(biāo)識(shí)。這里的客戶端標(biāo)識(shí)或服務(wù)器標(biāo)識(shí),可以包括IP地址和端口號(hào)。如下:
[0065] MC可以將報(bào)文中的源IP地址進(jìn)行修改,如果將客戶端對(duì)應(yīng)的源IP地址稱為第一 源IP地址,將MC自己的IP地址稱為第二IP地址,那么就是將第一源IP地址更改為第二 IP地址。
[0066] 此外,報(bào)文中的源端口號(hào),在處理之前是21,可以將其更改為MC對(duì)應(yīng)的端口號(hào) 2000。并且,MC還可以通過(guò)建立表項(xiàng)來(lái)存儲(chǔ)這些信息,比如MC在將客戶端的IP地址更 改為自己的IP地址后,還需要將客戶端對(duì)應(yīng)的IP地址也記錄下來(lái),以用于在后續(xù)給客戶端 返回文件時(shí)使用。
[0067] 306、MC將向VM1請(qǐng)求獲取目標(biāo)文件;
[0068] 例如,MC可以根據(jù)客戶端發(fā)送的文件請(qǐng)求報(bào)文中攜帶的VM1的地址信息,向VM1 發(fā)送獲取目標(biāo)文件的請(qǐng)求,該請(qǐng)求中攜帶目標(biāo)文件的文件信息,并且,經(jīng)過(guò)在305中的處 理,該請(qǐng)求的源地址也已經(jīng)是MC的地址,這樣VM1就會(huì)認(rèn)為是MC請(qǐng)求獲取目標(biāo)文件。
[0069] 307、VM1從文件服務(wù)器獲取文件;
[0070] 其中,VM1根據(jù)文件信息獲取文件。本實(shí)施例中,可以采用文件傳輸協(xié)議(File Transfer Protocol,FTP)方式的文件傳輸,將要下載的目標(biāo)文件(或者文件壓縮包)劃分 成幾個(gè)文件部分,每一個(gè)文件部分可以稱為子文件,各個(gè)子文件可以分開傳送,例如,每一 子文件采用一個(gè)線程進(jìn)行下載。
[0071] 308、VM1將文件發(fā)送至MC ;
[0072] 其中,VM1根據(jù)在306中請(qǐng)求文件的報(bào)文中攜帶的MC的IP地址(即第二源IP地 址),將從文件服務(wù)器獲取的文件發(fā)送至IMC。在發(fā)送文件時(shí),可以是將各個(gè)子文件逐個(gè)發(fā) 送,形象的說(shuō),也就是可以將目標(biāo)文件一段一段地逐步發(fā)送至MC。
[0073] 309、MC重新組裝報(bào)文;
[0074] 本步驟中,MC在接收到VM1發(fā)送的子文件后,將記錄子文件對(duì)應(yīng)的傳輸位置信 息,該傳輸位置信息用于表示目標(biāo)文件的傳輸進(jìn)度;例如,目標(biāo)文件總共是320k,那么在接 收到第一個(gè)子文件時(shí),頂C收到了該目標(biāo)文件的其中50k,可以記錄傳輸位置信息是"50k" 對(duì)應(yīng)的位置,當(dāng)接收到第二個(gè)子文件時(shí),頂C總共收到了該目標(biāo)文件中的100k,則記錄傳輸 位置信息是"l〇〇k"對(duì)應(yīng)的位置。以上只是舉例,具體實(shí)施中可能數(shù)值與上述不同,但需要 說(shuō)明的是,記錄傳輸位置信息,是用于記錄該目標(biāo)文件傳輸?shù)侥膫€(gè)位置了(或者稱為斷點(diǎn) 位置)。
[0075] IMC可以通過(guò)表項(xiàng)來(lái)記錄為客戶端下載文件時(shí)的信息對(duì)應(yīng)關(guān)系,如表1 :
[0076]
【權(quán)利要求】
1. 一種文件傳輸方法,其特征在于,包括: 管理服務(wù)器接收客戶端發(fā)送的文件請(qǐng)求報(bào)文,所述文件請(qǐng)求報(bào)文攜帶目的地址信息、 以及將要獲取的目標(biāo)文件的文件信息; 所述管理服務(wù)器根據(jù)所述文件信息,請(qǐng)求所述目的地址信息對(duì)應(yīng)的第一虛擬機(jī)從文件 服務(wù)器獲取所述目標(biāo)文件; 所述管理服務(wù)器接收所述第一虛擬機(jī)發(fā)送的子文件,所述子文件是所述目標(biāo)文件的其 中一個(gè)文件部分,并將所述子文件發(fā)送至所述客戶端。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 所述管理服務(wù)器記錄與所述子文件對(duì)應(yīng)的傳輸位置信息,所述傳輸位置信息用于表示 所述目標(biāo)文件的傳輸進(jìn)度; 在所述管理服務(wù)器將所述第一虛擬機(jī)遷移至第二虛擬機(jī)時(shí),所述管理服務(wù)器與所述第 二虛擬機(jī)建立連接,并且根據(jù)當(dāng)前的傳輸位置信息,請(qǐng)求所述第二虛擬機(jī)從所述文件服務(wù) 器繼續(xù)獲取所述目標(biāo)文件中未獲取的文件部分。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述管理服務(wù)器接收客戶端發(fā)送的文件 請(qǐng)求報(bào)文之前,還包括: 所述管理服務(wù)器向虛擬交換機(jī)發(fā)送報(bào)文過(guò)濾規(guī)則,以使得所述虛擬交換機(jī)在從客戶端 接收到的文件請(qǐng)求報(bào)文匹配所述報(bào)文過(guò)濾規(guī)則時(shí),將所述文件請(qǐng)求報(bào)文轉(zhuǎn)發(fā)至所述管理服 務(wù)器。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述管理服務(wù)器請(qǐng)求所述目的地址信息 對(duì)應(yīng)的第一虛擬機(jī)從文件服務(wù)器獲取所述目標(biāo)文件,包括: 所述管理服務(wù)器將所述文件請(qǐng)求報(bào)文中包括的作為報(bào)文源端信息的客戶端標(biāo)識(shí),更改 為用于標(biāo)識(shí)所述管理服務(wù)器的服務(wù)器標(biāo)識(shí); 所述管理服務(wù)器向所述第一虛擬機(jī)發(fā)送更改報(bào)文源端信息后的所述文件請(qǐng)求報(bào)文,以 使得所述第一虛擬機(jī)根據(jù)更改報(bào)文源端信息后的所述文件請(qǐng)求報(bào)文獲取所述目標(biāo)文件的 子文件,并根據(jù)所述服務(wù)器標(biāo)識(shí)將所述目標(biāo)文件的子文件發(fā)送至所述管理服務(wù)器。
5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述管理服務(wù)器將所述子文件發(fā)送至所 述客戶端,包括: 所述管理服務(wù)器將所述子文件的文件數(shù)據(jù)攜帶在文件報(bào)文中,并且將所述文件報(bào)文的 報(bào)文源端信息設(shè)置為用于標(biāo)識(shí)所述第一虛擬機(jī)的第一虛擬機(jī)標(biāo)識(shí); 所述管理服務(wù)器將所述文件報(bào)文發(fā)送至所述客戶端。
6. -種管理服務(wù)器,其特征在于,包括: 接收單元,用于接收客戶端發(fā)送的文件請(qǐng)求報(bào)文,所述文件請(qǐng)求報(bào)文攜帶目的地址信 息、以及將要獲取的目標(biāo)文件的文件信息;以及,接收第一虛擬機(jī)發(fā)送的子文件,所述子文 件是所述目標(biāo)文件的其中一個(gè)文件部分; 發(fā)送單元,用于根據(jù)所述文件信息請(qǐng)求所述目的地址信息對(duì)應(yīng)的第一虛擬機(jī)從文件服 務(wù)器獲取所述目標(biāo)文件;并將所述子文件發(fā)送至所述客戶端。
7. 根據(jù)權(quán)利要求6所述的服務(wù)器,其特征在于,還包括:處理單元; 所述處理單元,用于記錄與所述子文件對(duì)應(yīng)的傳輸位置信息,所述傳輸位置信息用于 表示所述目標(biāo)文件的傳輸進(jìn)度;以及,在所述管理服務(wù)器將所述第一虛擬機(jī)遷移至第二虛 擬機(jī)時(shí),與所述第二虛擬機(jī)建立連接; 所述發(fā)送單元,還用于根據(jù)當(dāng)前的傳輸位置信息,請(qǐng)求所述第二虛擬機(jī)從所述文件服 務(wù)器繼續(xù)獲取所述目標(biāo)文件中未獲取的文件部分。
8. 根據(jù)權(quán)利要求7所述的服務(wù)器,其特征在于, 所述處理單元,還用于將所述文件請(qǐng)求報(bào)文中包括的作為報(bào)文源端信息的客戶端標(biāo) 識(shí),更改為用于標(biāo)識(shí)所述管理服務(wù)器的服務(wù)器標(biāo)識(shí),以使得所述第一虛擬機(jī)根據(jù)所述服務(wù) 器標(biāo)識(shí)將所述目標(biāo)文件的子文件發(fā)送至所述管理服務(wù)器。
9. 根據(jù)權(quán)利要求7所述的服務(wù)器,其特征在于, 所述處理單元,還用于將所述目標(biāo)文件的子文件的文件數(shù)據(jù)攜帶在文件報(bào)文中,并且 將所述文件報(bào)文的報(bào)文源端信息設(shè)置為用于標(biāo)識(shí)所述第一虛擬機(jī)的第一虛擬機(jī)標(biāo)識(shí); 所述發(fā)送單元,具體用于將所述文件報(bào)文發(fā)送至所述客戶端。
10. 根據(jù)權(quán)利要求6所述的服務(wù)器,其特征在于, 所述發(fā)送單元,還用于在所述接收單元接收客戶端發(fā)送的文件請(qǐng)求報(bào)文之前,向虛擬 交換機(jī)發(fā)送報(bào)文過(guò)濾規(guī)則,以使得所述虛擬交換機(jī)在從客戶端接收到的文件請(qǐng)求報(bào)文匹配 所述報(bào)文過(guò)濾規(guī)則時(shí),將所述文件請(qǐng)求報(bào)文轉(zhuǎn)發(fā)至管理服務(wù)器。
【文檔編號(hào)】H04L29/08GK104158868SQ201410384681
【公開日】2014年11月19日 申請(qǐng)日期:2014年8月6日 優(yōu)先權(quán)日:2014年8月6日
【發(fā)明者】徐燕成, 吳文歡 申請(qǐng)人:杭州華三通信技術(shù)有限公司