本發(fā)明涉及數(shù)據(jù)交換領(lǐng)域,具體地,涉及虛擬平臺(tái)實(shí)時(shí)與非實(shí)時(shí)處理環(huán)境數(shù)據(jù)交換方法。
背景技術(shù):
隨著硬件平臺(tái)性能的提升,借助于虛擬化技術(shù),實(shí)時(shí)系統(tǒng)和非實(shí)時(shí)系統(tǒng)并存于同一個(gè)硬件平臺(tái),實(shí)時(shí)處理環(huán)境與非實(shí)時(shí)處理環(huán)境融合成為一種潮流。但實(shí)時(shí)系統(tǒng)與非實(shí)時(shí)系統(tǒng)之間進(jìn)行數(shù)據(jù)交換成為兩者融合的一個(gè)技術(shù)難點(diǎn):
1、硬件數(shù)據(jù)通信手段很多(包括共享內(nèi)存、RapidIO、DMA等),虛擬平臺(tái)既要為上層虛擬機(jī)提供抽象硬件,同時(shí)又需要在實(shí)際通信時(shí),盡可能選擇最佳性能的通信手段,以彌補(bǔ)抽象層帶來(lái)的性能損耗,這就需要數(shù)據(jù)交換機(jī)制足夠靈活;而現(xiàn)有的數(shù)據(jù)交換機(jī)制往往與特定通信手段綁定,缺乏靈活性;
2、虛擬機(jī)之間的通信,按照虛擬機(jī)分布的位置,可分為同平臺(tái)通信和不同平臺(tái)通信兩種情況。對(duì)于同平臺(tái)通信,通常借助于共享內(nèi)存、DMA(Direct Memory Access,直接內(nèi)存訪問(wèn))等的方式完成,而不同平臺(tái)通信,則可能要借助于不同外設(shè),比如以太網(wǎng)、串口、RapidIO等。而現(xiàn)有的數(shù)據(jù)交換機(jī)制,與通訊場(chǎng)景耦合性較強(qiáng),不利于擴(kuò)展。
3、現(xiàn)有的虛擬平臺(tái)數(shù)據(jù)交換機(jī)制,交換雙方在時(shí)間、空間的耦合性上太強(qiáng),特別是在實(shí)時(shí)系統(tǒng)與非實(shí)時(shí)系統(tǒng)進(jìn)行數(shù)據(jù)交換時(shí),會(huì)削弱實(shí)時(shí)系統(tǒng)的實(shí)時(shí)性,或者降低數(shù)據(jù)交換的可靠性及健壯性。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種虛擬平臺(tái)實(shí)時(shí)與非實(shí)時(shí)處理環(huán)境數(shù)據(jù)交換方法。
根據(jù)本發(fā)明提供的一種虛擬平臺(tái)實(shí)時(shí)與非實(shí)時(shí)處理環(huán)境數(shù)據(jù)交換方法,包括:
發(fā)布主題步驟:虛擬機(jī)初始化虛擬外設(shè)時(shí),將該虛擬外設(shè)作為一個(gè)主題進(jìn)行發(fā)布;其中,不同類型的虛擬外設(shè)的QoS策略之間是不同的;
訂閱主題步驟:一個(gè)虛擬機(jī)通過(guò)訂閱主題,來(lái)與其他虛擬機(jī)建立虛擬通信鏈路;
分發(fā)數(shù)據(jù)步驟:已建立虛擬通信鏈路的虛擬機(jī),根據(jù)QoS策略來(lái)進(jìn)行數(shù)據(jù)分發(fā),完成數(shù)據(jù)交換過(guò)程。
優(yōu)選地,所述主題包括:虛擬網(wǎng)卡主題、虛擬串口主題或者虛擬硬盤主題。
優(yōu)選地,通過(guò)虛擬通信鏈路建立通信的虛擬外設(shè)之間的類型對(duì)應(yīng)的QoS策略相同。
優(yōu)選地,所述分發(fā)數(shù)據(jù)步驟,包括:
發(fā)布數(shù)據(jù)步驟:發(fā)送方將數(shù)據(jù)打包成設(shè)定格式的報(bào)文,放到接收方的緩沖區(qū),并通知訂閱分發(fā)服務(wù)。
傳遞數(shù)據(jù)步驟:訂閱分發(fā)服務(wù)根據(jù)QoS策略進(jìn)行數(shù)據(jù)分發(fā),將數(shù)據(jù)放入接收方的緩沖區(qū),并通知接收方;
接收數(shù)據(jù)步驟:接收方從數(shù)據(jù)緩沖區(qū)中將數(shù)據(jù)讀取到自己的地址空間進(jìn)行處理。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
本發(fā)明借助訂閱分發(fā)模型及配套的服務(wù)質(zhì)量策略(QoS,Quality of Service),建立一種虛擬平臺(tái)的實(shí)時(shí)系統(tǒng)與非實(shí)時(shí)系統(tǒng)進(jìn)行數(shù)據(jù)交換的更靈活、可擴(kuò)展的機(jī)制,并取得數(shù)據(jù)實(shí)時(shí)性與可靠性之間的理想平衡;并且通過(guò)這種機(jī)制,實(shí)時(shí)處理環(huán)境在與非實(shí)時(shí)處理環(huán)境在進(jìn)行數(shù)據(jù)交換時(shí),能有效減少對(duì)其自身實(shí)時(shí)處理能力的影響,同時(shí)數(shù)據(jù)交換的實(shí)時(shí)性及可靠性,也能最大程度得到保證。
附圖說(shuō)明
通過(guò)閱讀參照以下附圖對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1為虛擬機(jī)通信示意圖。
圖2為虛擬機(jī)通信示意圖。
圖3為數(shù)據(jù)分發(fā)流程圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。以下實(shí)施例將有助于本領(lǐng)域的技術(shù)人員進(jìn)一步理解本發(fā)明,但不以任何形式限制本發(fā)明。應(yīng)當(dāng)指出的是,對(duì)本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變化和改進(jìn)。這些都屬于本發(fā)明的保護(hù)范圍。
本發(fā)明參考了OMG的DDS(Data Distribution Service,數(shù)據(jù)分發(fā)服務(wù))規(guī)范,通過(guò)以數(shù)據(jù)為中心的發(fā)布/訂閱模型,構(gòu)建一個(gè)抽象的虛擬平臺(tái)數(shù)據(jù)交換空間,所有待交換的數(shù)據(jù)對(duì)象都存在于此空間中,而虛擬機(jī)節(jié)點(diǎn)則通過(guò)發(fā)布/訂閱主題,來(lái)建立抽象的通信鏈路,并通過(guò)簡(jiǎn)單的讀寫操作訪問(wèn)感興趣的數(shù)據(jù)對(duì)象。
可以將整個(gè)數(shù)據(jù)交換過(guò)程分為三個(gè)部分:發(fā)布主題;訂閱主題;分發(fā)數(shù)據(jù)。
1、發(fā)布主題的具體說(shuō)明如下。
虛擬機(jī)初始化某個(gè)虛擬外設(shè)時(shí),將該虛擬外設(shè)作為一個(gè)主題進(jìn)行發(fā)布。不同類型的虛擬外設(shè),其QoS策略是不同的。
(i)虛擬網(wǎng)卡主題示例
(ii)虛擬串口主題示例
(iii)虛擬硬盤主題示例
2、訂閱主題
虛擬機(jī)節(jié)點(diǎn)通過(guò)訂閱某個(gè)主題,來(lái)與其他虛擬機(jī)節(jié)點(diǎn)建立虛擬通信鏈路。QoS策略必須匹配,才能訂閱成功,也即只有相同類型的虛擬外設(shè)才能建立虛擬通信鏈路。
3、分發(fā)數(shù)據(jù)
已建立虛擬通信鏈路的虛擬機(jī)節(jié)點(diǎn),根據(jù)QoS策略來(lái)進(jìn)行數(shù)據(jù)分發(fā),完成數(shù)據(jù)交換過(guò)程。
(i)發(fā)布數(shù)據(jù)
發(fā)送方將數(shù)據(jù)打包成特定格式的報(bào)文,放到接收方的緩沖區(qū),并通知訂閱分發(fā)服務(wù)。
(ii)傳遞數(shù)據(jù)
訂閱分發(fā)服務(wù)根據(jù)QoS策略進(jìn)行數(shù)據(jù)分發(fā),將數(shù)據(jù)放入接收方的緩沖區(qū),并通知接收方。
(iii)接收數(shù)據(jù)
接收方從數(shù)據(jù)緩沖區(qū)中將數(shù)據(jù)讀取到自己的地址空間進(jìn)行處理。
以上對(duì)本發(fā)明的具體實(shí)施例進(jìn)行了描述。需要理解的是,本發(fā)明并不局限于上述特定實(shí)施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變化或修改,這并不影響本發(fā)明的實(shí)質(zhì)內(nèi)容。在不沖突的情況下,本申請(qǐng)的實(shí)施例和實(shí)施例中的特征可以任意相互組合。