一種數(shù)據(jù)交換方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù),尤其涉及一種數(shù)據(jù)交換方法及系統(tǒng)。
【背景技術(shù)】
[0002]系統(tǒng)虛擬化技術(shù)的核心思想是使用虛擬化軟件在一臺物理機上虛擬出一臺或多臺虛擬機(Virtual Machine,VM),所謂虛擬機是指使用系統(tǒng)虛擬化技術(shù)運行在一個隔離環(huán)境中,且具有完整硬件功能的邏輯計算機系統(tǒng);系統(tǒng)虛擬化技術(shù)因具有提高服務(wù)器的資源利用率、且提高系統(tǒng)的可靠性的優(yōu)勢,被廣泛應(yīng)用于計算機網(wǎng)絡(luò)中的服務(wù)器。
[0003]目前,服務(wù)器采用系統(tǒng)虛擬化技術(shù)能夠配置多個虛擬機,虛擬機之間需要通過具有數(shù)據(jù)交換功能的網(wǎng)絡(luò)進行通信,但由于各個虛擬機的網(wǎng)絡(luò)接口是虛擬的,因此,不能直接通過具有數(shù)據(jù)交換功能的硬件實體設(shè)備進行互聯(lián)。
[0004]現(xiàn)有服務(wù)器中的虛擬機之間進行數(shù)據(jù)交換,通常采用如下兩種方式實現(xiàn):
[0005]方式一、參考虛擬機的實現(xiàn)方式,將具有數(shù)據(jù)交換功能的硬件實體設(shè)備也虛擬化,即:在服務(wù)器中配置虛擬交換機,這樣,虛擬機之間進行通信時,虛擬機的網(wǎng)絡(luò)接口可以不需要經(jīng)過硬件實體設(shè)備,直接在服務(wù)器內(nèi)部通過虛擬交換機進行互聯(lián),如圖1所示,虛擬機11和虛擬機12之間的通信就直接通過服務(wù)器中配置的虛擬交換機13完成。
[0006]方式二、電氣和電子工程師協(xié)會(Instituteof Electrical and ElectronicsEngineers, IEEE)提出了一種新的技術(shù)標(biāo)準(zhǔn)(Edge Virtual Bridging, EVB),如圖 3 所示,EVB技術(shù)的基本思路是:所有來自于虛擬機的流量都會被轉(zhuǎn)發(fā)到鄰近的物理接入交換機23,即使同一服務(wù)器內(nèi)各個虛擬機之間的流量,如虛擬機21和虛擬機22之間的流量,也要交給物理接入交換機23查表處理,之后再掉頭返回給服務(wù)器20,流量做了一個180度的轉(zhuǎn)向,形成了所謂的“發(fā)卡彎”模式。這種方式通過物理接入交換機23實現(xiàn)以虛擬機為目標(biāo)的感知、控制和數(shù)據(jù)交換,可以支持大規(guī)模虛擬計算服務(wù)的自動化運營。
[0007]發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有虛擬機之間的數(shù)據(jù)交換方案至少存在以下缺陷:
[0008]方式一、采用虛擬交換機實現(xiàn)虛擬機之間的數(shù)據(jù)交換,模糊了主機和網(wǎng)絡(luò)管理界限,占用了服務(wù)器的處理器和內(nèi)存資源,網(wǎng)絡(luò)規(guī)模管理的可擴展性較低;
[0009]方式二、采用邊緣網(wǎng)絡(luò)設(shè)備實現(xiàn)虛擬機之間的數(shù)據(jù)交換,由于網(wǎng)絡(luò)流量被從服務(wù)器上引入到外部網(wǎng)絡(luò),因此,隨著服務(wù)器上虛擬機規(guī)模的增長,邊緣網(wǎng)絡(luò)設(shè)備需要處理的網(wǎng)絡(luò)流量會成倍的增加,對邊緣網(wǎng)絡(luò)設(shè)備的交換能力和查找表容量造成很大的壓力。
[0010]另外,上述方式一與方式二中,用戶均無法對服務(wù)器中的虛擬機網(wǎng)絡(luò)進行控制與管理。
【發(fā)明內(nèi)容】
[0011]有鑒于此,本發(fā)明實施例期望提供一種數(shù)據(jù)交換方法及系統(tǒng),不僅能對數(shù)據(jù)交換進行實時且動態(tài)地控制與管理,還能滿足大規(guī)模虛擬機網(wǎng)絡(luò)中的數(shù)據(jù)交換性能需求。
[0012]為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
[0013]本發(fā)明實施例提供了一種數(shù)據(jù)交換方法,根據(jù)用戶需求實時配置網(wǎng)絡(luò)管理控制信息;該方法還包括:
[0014]確定源主機需要傳輸數(shù)據(jù)時,獲取目標(biāo)主機的地址信息;
[0015]根據(jù)獲取的地址信息及所述網(wǎng)絡(luò)管理控制信息,經(jīng)由服務(wù)器中預(yù)設(shè)的數(shù)據(jù)交換硬件子系統(tǒng)進行數(shù)據(jù)傳輸。
[0016]上述方案中,所述根據(jù)用戶需求實時配置網(wǎng)絡(luò)管理控制信息,包括:
[0017]通過預(yù)設(shè)的應(yīng)用獲取用戶根據(jù)需求輸入的網(wǎng)絡(luò)管理控制信息;
[0018]將所述網(wǎng)絡(luò)管理控制信息轉(zhuǎn)換為機器可執(zhí)行代碼,得到轉(zhuǎn)換后的網(wǎng)絡(luò)管理控制信肩、O
[0019]上述方案中,所述根據(jù)獲取的地址信息及所述網(wǎng)絡(luò)管理控制信息,經(jīng)由服務(wù)器中預(yù)設(shè)的數(shù)據(jù)交換硬件子系統(tǒng)進行數(shù)據(jù)傳輸,包括:
[0020]根據(jù)獲取的地址信息確定源主機與目標(biāo)主機是否處于相同硬件平臺;
[0021]確定處于相同硬件平臺時,根據(jù)獲取的地址信息及所述網(wǎng)絡(luò)管理控制信息,經(jīng)由服務(wù)器中預(yù)設(shè)的數(shù)據(jù)交換硬件子系統(tǒng)直接將數(shù)據(jù)傳輸?shù)椒?wù)器內(nèi)部的目標(biāo)主機;
[0022]確定處于不同硬件平臺時,根據(jù)獲取的地址信息及所述網(wǎng)絡(luò)管理控制信息,經(jīng)由服務(wù)器中預(yù)設(shè)的數(shù)據(jù)交換硬件子系統(tǒng)和鄰接網(wǎng)橋?qū)?shù)據(jù)傳輸?shù)椒?wù)器外部的目標(biāo)主機。
[0023]上述方案中,所述網(wǎng)絡(luò)管理控制信息包括虛擬機的數(shù)據(jù)交換方式、網(wǎng)絡(luò)管理參數(shù)。
[0024]基于上述方法,本發(fā)明實施例還提供了一種數(shù)據(jù)交換系統(tǒng),該系統(tǒng)包括:管理控制子系統(tǒng)、數(shù)據(jù)交換硬件子系統(tǒng);其中,
[0025]所述管理控制子系統(tǒng),用于根據(jù)用戶需求實時配置網(wǎng)絡(luò)管理控制信息,并在確定源主機需要傳輸數(shù)據(jù)時,獲取目標(biāo)主機的地址信息;
[0026]所述數(shù)據(jù)交換硬件子系統(tǒng),用于根據(jù)獲取的地址信息及所述網(wǎng)絡(luò)管理控制信息,進行數(shù)據(jù)傳輸。
[0027]上述方案中,所述管理控制子系統(tǒng)具體用于:
[0028]通過預(yù)設(shè)的應(yīng)用獲取用戶根據(jù)需求輸入的網(wǎng)絡(luò)管理控制信息;
[0029]將所述網(wǎng)絡(luò)管理控制信息轉(zhuǎn)換為機器可執(zhí)行代碼,得到轉(zhuǎn)換后的網(wǎng)絡(luò)管理控制信肩、O
[0030]上述方案中,所述數(shù)據(jù)交換硬件子系統(tǒng)具體用于:
[0031]根據(jù)獲取的地址信息確定源主機與目標(biāo)主機是否處于相同硬件平臺;
[0032]確定處于相同硬件平臺時,根據(jù)獲取的地址信息及所述網(wǎng)絡(luò)管理控制信息,直接將數(shù)據(jù)傳輸?shù)椒?wù)器內(nèi)部的目標(biāo)主機;
[0033]確定處于不同硬件平臺時,根據(jù)所述地址信息及所述網(wǎng)絡(luò)管理控制信息,并通過鄰接網(wǎng)橋?qū)?shù)據(jù)傳輸?shù)椒?wù)器外部的目標(biāo)主機。
[0034]上述方案中,所述網(wǎng)絡(luò)管理控制信息包括虛擬機的數(shù)據(jù)交換方式、網(wǎng)絡(luò)管理參數(shù)。
[0035]上述方案中,所述數(shù)據(jù)交換硬件子系統(tǒng)為具備數(shù)據(jù)交換功能的硬件實體設(shè)備。
[0036]上述方案中,所述數(shù)據(jù)交換子系統(tǒng)為現(xiàn)場可編程門陣列FPGA或復(fù)雜可編程邏輯器件CPLD。
[0037]本發(fā)明實施例所提供的數(shù)據(jù)交換方法及系統(tǒng),與現(xiàn)有技術(shù)相比,取得了如下進I K
少:
[0038]I)本發(fā)明實施例根據(jù)用戶需求實時配置網(wǎng)絡(luò)管理控制信息,能夠?qū)?shù)據(jù)交換進行實時且動態(tài)地控制與管理,從而提高用戶使用的靈活性。
[0039]2)本發(fā)明實施例采用具備數(shù)據(jù)交換功能的硬件實體設(shè)備實現(xiàn)數(shù)據(jù)交換,能夠?qū)⒕W(wǎng)絡(luò)流量限制在服務(wù)器中,方便用戶控制與管理,并能夠滿足大規(guī)模虛擬機網(wǎng)絡(luò)中的數(shù)據(jù)交換性能需求。
【附圖說明】
[0040]圖1為現(xiàn)有技術(shù)中采用方式一實現(xiàn)的服務(wù)器的組成結(jié)構(gòu)示意圖;
[0041]圖2為現(xiàn)有技術(shù)中采用方式二實現(xiàn)的服務(wù)器的組成結(jié)構(gòu)示意圖;
[0042]圖3為本發(fā)明實施例數(shù)據(jù)交換系統(tǒng)的組成結(jié)構(gòu)示意圖;
[0043]圖4為本發(fā)明實施例數(shù)據(jù)交換方法實現(xiàn)流程示意圖;
[0044]圖5為本發(fā)明實施例一中的服務(wù)器的組成結(jié)構(gòu)示意圖。
【具體實施方式】
[0045]本發(fā)明實施例提供的數(shù)據(jù)交換系統(tǒng)應(yīng)用于服務(wù)器中,所述服務(wù)器通常配置多個虛擬機,每個VM可以如真實主機一般運行,所述服務(wù)器中配置的所有虛擬機均處于同一硬件平臺,可以使用或共享同一硬件平臺資源,從而提高所述服務(wù)器的資源利用率;所述服務(wù)器可以采用所述數(shù)據(jù)交換系統(tǒng)作為輔助平臺,控制所述服務(wù)器中虛擬機之間進行數(shù)據(jù)傳輸或所述服務(wù)器中的虛擬機與外部網(wǎng)絡(luò)之間進行數(shù)據(jù)傳輸。
[0046]下面結(jié)合附圖對本發(fā)明的【具體實施方式】進行說明。
[0047]圖3為本發(fā)明實施例中提供的數(shù)據(jù)交換系統(tǒng)的組成結(jié)構(gòu)示意圖,如圖3所示,該系統(tǒng)包括:管理控制子系統(tǒng)300、數(shù)據(jù)交換硬件子系統(tǒng)301 ;其中,
[0048]所述管理控制子系統(tǒng)300,用于根據(jù)用戶需求實時配置網(wǎng)絡(luò)管理控制信息,并在確定源主機需要傳輸數(shù)據(jù)時,獲取目標(biāo)主機的地址信息;
[0049]這里,所述源主機發(fā)送的數(shù)據(jù)報文中可以攜帶目的主機的地址信息,相應(yīng)的,所述獲取目標(biāo)主機的地址信息可以從源主機發(fā)送的數(shù)據(jù)報文中獲??;
[0050]所述數(shù)據(jù)交換硬件子系統(tǒng)301,用于根據(jù)獲取的地址信息及所述網(wǎng)絡(luò)管理控制信息進行數(shù)據(jù)傳輸。
[0051]這里,所述源主機為服務(wù)器中的虛擬機;所述目的主機可以為與所述源主機處于相同硬件平臺的虛擬機,也可以為與所述源主機處于不同硬件平臺的真實主機或虛擬機。
[0052]在實際應(yīng)用中,所述管理控制子系統(tǒng)300相當(dāng)于服務(wù)器中的解釋器;所述數(shù)據(jù)交換硬件子系統(tǒng)301由具備數(shù)據(jù)交換功能的硬件實體設(shè)備實現(xiàn),例如,現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)、復(fù)雜可編程邏輯器件(Complex ProgrammableLogic Device, CPLD)、可編程邏輯器件(Programmable Logic Device, PLD)等硬件實體設(shè)備實現(xiàn);在本發(fā)明具體實施例中,所述數(shù)據(jù)交換硬件子系統(tǒng)可采用FPGA或CPLD