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

一種基于共享內(nèi)存機(jī)制虛擬機(jī)域間通信協(xié)議的實(shí)現(xiàn)方法

文檔序號(hào):7763659閱讀:720來源:國(guó)知局
專利名稱:一種基于共享內(nèi)存機(jī)制虛擬機(jī)域間通信協(xié)議的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種虛擬機(jī)域間通信協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)方法,尤其設(shè)計(jì)一種在多核服 務(wù)器中基于共享內(nèi)存機(jī)制虛擬機(jī)域間通信協(xié)議的實(shí)現(xiàn)方法。
背景技術(shù)
隨著電子技術(shù)的發(fā)展,服務(wù)器單個(gè)處理器上集成的核數(shù)越來越多,且單處理器上 集成更多的核心稱為一種趨勢(shì),由此使得服務(wù)器的并行處理能力大大加強(qiáng)。然而操作系統(tǒng) 的發(fā)展并沒有很好的利用這一硬件發(fā)展優(yōu)勢(shì),使得整個(gè)系統(tǒng)的實(shí)際性能并沒有因?yàn)橛布?能的提升而大幅度提升。研究學(xué)者針對(duì)這一問題提出一種新的軟件系統(tǒng)架構(gòu),即采用虛擬 化技術(shù)將一個(gè)服務(wù)器劃分為多個(gè)可以同時(shí)運(yùn)行獨(dú)立操作系統(tǒng)的域。進(jìn)行虛擬化劃分后,為了避免硬件訪問沖突,各域并不能都具有完整的硬件操作 能力,有的域只具有磁盤訪問功能,有的只具有網(wǎng)絡(luò)訪問功能。各個(gè)域之間彼此隔絕,無法 直接進(jìn)行通信。于此同時(shí),不具有網(wǎng)絡(luò)訪問功能的子域也無法與外界internet進(jìn)行通信。

發(fā)明內(nèi)容
本發(fā)明的目的在于解決上述虛擬機(jī)監(jiān)控器中各個(gè)子域之間的通信問題,以及子域 與外界互聯(lián)網(wǎng)之間的通信問題,從而提供了一種通信協(xié)議滿足伯克利socket接口標(biāo)準(zhǔn)的 基于共享內(nèi)存機(jī)制虛擬機(jī)域間通信協(xié)議的實(shí)現(xiàn)方法。為達(dá)到上述目的,本發(fā)明采用的技術(shù)方案是1)將具有網(wǎng)絡(luò)直接訪問能力的域稱為主域,其余域稱為子域;2)各域采用ip地址進(jìn)行唯一標(biāo)識(shí),域內(nèi)的應(yīng)用程序采用訪問點(diǎn)即端口號(hào)進(jìn)行標(biāo) 識(shí);3)虛擬機(jī)監(jiān)控器起中心路由器的作用,根據(jù)各個(gè)子域的ip判斷接收方與發(fā)送方, 對(duì)于域間通信直接采用共享內(nèi)存機(jī)制進(jìn)行消息傳遞,對(duì)于與外部通信則采用消息封裝機(jī) 制,將本協(xié)議的消息信息封裝稱為標(biāo)準(zhǔn)的ipv4消息進(jìn)行互聯(lián)網(wǎng)通信;4)每一個(gè)子域擁有一個(gè)接收緩沖,每一個(gè)socket(也稱作"套接字",用于描述 IP地址和端口,是一個(gè)通信鏈的變量,應(yīng)用程序通常通過"套接字"向網(wǎng)絡(luò)發(fā)出請(qǐng)求或者 應(yīng)答網(wǎng)絡(luò)請(qǐng)求)擁有一個(gè)接收緩沖隊(duì)列;5)對(duì)于域間通信,中心路由器根據(jù)接收方ip地址直接將消息發(fā)送給對(duì)應(yīng)域的接 收緩沖;6)對(duì)于各域與外界通信,當(dāng)主域收到外界發(fā)送的信息時(shí)將該信息向各子域進(jìn)行廣 播,對(duì)于各子域若其沒有處理該消息進(jìn)程存在時(shí),該消息被自動(dòng)丟棄;7)每個(gè)域擁有一個(gè)用于分發(fā)消息的工作隊(duì)列(work queue是Linuxkernel中將工 作推后執(zhí)行的一種機(jī)制),每隔一定的時(shí)間掃描一次接收緩沖,將里面的消息根據(jù)端口號(hào)分 發(fā)給相應(yīng)的處理進(jìn)程,將消息插入對(duì)應(yīng)socket的接收緩沖隊(duì)列。8)各域socket發(fā)送消息時(shí)直接調(diào)用虛擬機(jī)transfer進(jìn)行傳遞;
9)每一個(gè)socket擁有一個(gè)接收緩沖隊(duì)列,各域socket接收消息時(shí)掃描其接收緩 沖隊(duì)列,從中取得消息。本發(fā)明使用共享內(nèi)存機(jī)制對(duì)虛擬機(jī)各域之間通信問題進(jìn)行處理,與伯克利標(biāo)準(zhǔn) socket接口保持一致。采用ip地址加端口號(hào)的方式進(jìn)行尋址,與現(xiàn)有ipv4協(xié)議一致,使 得程序員無需特殊學(xué)習(xí)便可使用該發(fā)明協(xié)議?;诠蚕韮?nèi)存的消息傳遞機(jī)制可以避免不 必要的數(shù)據(jù)拷貝操作,提高域間通信效率。同時(shí)該協(xié)議的實(shí)現(xiàn)只需3個(gè)虛擬機(jī)調(diào)用即,注冊(cè) (init),傳輸(transfer),注銷(exit),簡(jiǎn)化虛擬機(jī)調(diào)用設(shè)計(jì)。


圖1是本發(fā)明的模型圖。下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說明。當(dāng)子域socket需要發(fā)送消息時(shí),直接調(diào)用虛擬機(jī)調(diào)用,虛擬機(jī)中的路由根據(jù)ip地 址做如下判斷域間點(diǎn)對(duì)點(diǎn)通信目標(biāo)ip地址為192. 168. 0. 2 192. 168. 0. 254。虛擬機(jī)根據(jù)目標(biāo)ip地址將消息 直接發(fā)送給接收域,在接收域的緩沖中填入相關(guān)數(shù)據(jù)項(xiàng)。該數(shù)據(jù)項(xiàng)包括消息大小、消息源 地址、消息目標(biāo)地址、消息數(shù)據(jù)實(shí)體。域間廣播通信目標(biāo)ip地址為192. 168. 0. 255。虛擬機(jī)將該消息分發(fā)給各各域,在每個(gè)域的緩沖 中填入相關(guān)數(shù)據(jù)項(xiàng)。該數(shù)據(jù)項(xiàng)與點(diǎn)對(duì)點(diǎn)通信數(shù)據(jù)項(xiàng)內(nèi)容相同。子域與internet通信目標(biāo)地址為其他ip地址。虛擬機(jī)將消息發(fā)送給主域,主域中的協(xié)議轉(zhuǎn)化模塊首先 讀出該消息的消息實(shí)體,然后對(duì)消息實(shí)體進(jìn)行封裝,轉(zhuǎn)換為標(biāo)準(zhǔn)ipv4消息,然后使用網(wǎng)卡 將該消息發(fā)出。當(dāng)socket需要接收消息是,采用如下方式接收域間消息虛擬機(jī)將消息放入對(duì)應(yīng)域的接收緩沖后,該域的接收例程會(huì)定期的掃描接收緩 沖,將消息根據(jù)數(shù)據(jù)項(xiàng)中的目標(biāo)地址放入對(duì)應(yīng)socket的接收隊(duì)列中。此時(shí),當(dāng)socket需要 接收數(shù)據(jù)時(shí),直接訪問其接收緩沖隊(duì)列便可獲得消息。接收internet 消息當(dāng)接收internet消息時(shí),虛擬機(jī)會(huì)將該消息向各個(gè)域進(jìn)行廣播,然后需要接收該 消息的socket像接收域間消息一樣接收internet消息。其他域會(huì)忽略該消息。本發(fā)明協(xié)議根據(jù)伯克利Socket接口標(biāo)準(zhǔn)進(jìn)行設(shè)計(jì)與實(shí)現(xiàn),在保證域間高效通信 同時(shí)兼顧原通信程序編程習(xí)慣,使得應(yīng)用程序無需進(jìn)行特殊修改便可應(yīng)用該協(xié)議進(jìn)行通 信。此外,對(duì)通信類型進(jìn)行了分類,對(duì)不同類型通信進(jìn)行針對(duì)性的設(shè)計(jì),最大程度滿足程序 運(yùn)行的效率要求;協(xié)議的尋址方式采用與現(xiàn)有IPV4協(xié)議保持相同的IP地址加端口號(hào)的形式;協(xié)議包含兩種通信模式以供選擇面向連接的流通信模式和面向無連接的數(shù)據(jù)報(bào) 通信模式。
通信類型分為域間通信與子域和internet通信(域外通信)兩種中心路由 根據(jù)ip地址分辨通信為服務(wù)器內(nèi)部域間通信還是子域與internet通信,當(dāng)ip地址為 192. 168. 0. 0 192. 168. 0. 255時(shí)為域間通信,其他ip地址為子域與internet通信;對(duì)于域間通信采用共享內(nèi)存技術(shù),提高域間進(jìn)程通信效率;對(duì)于子域和internet通信,中心router將通信數(shù)據(jù)包封裝為標(biāo)準(zhǔn)的ipv4數(shù)據(jù)包 進(jìn)行轉(zhuǎn)發(fā),當(dāng)中心router收的有internet發(fā)送的數(shù)據(jù)時(shí),采用廣播機(jī)制對(duì)服務(wù)器內(nèi)各域進(jìn) 行分發(fā);域間和域外通信在經(jīng)過虛擬機(jī)監(jiān)控器層時(shí),只需使用唯一的transfer元語即可 完成通信°
權(quán)利要求
一種基于共享內(nèi)存機(jī)制虛擬機(jī)域間通信協(xié)議的實(shí)現(xiàn)方法,其特征在于1)將具有網(wǎng)絡(luò)直接訪問能力的域稱為主域,其余域稱為子域;2)各域采用ip地址進(jìn)行唯一標(biāo)識(shí),域內(nèi)的應(yīng)用程序采用訪問點(diǎn)即端口號(hào)進(jìn)行標(biāo)識(shí);3)虛擬機(jī)監(jiān)控器起中心路由器的作用,根據(jù)各個(gè)子域的ip判斷接收方與發(fā)送方,對(duì)于域間通信直接采用共享內(nèi)存機(jī)制進(jìn)行消息傳遞,對(duì)于與外部通信則采用消息封裝機(jī)制,將本協(xié)議的消息信息封裝稱為標(biāo)準(zhǔn)的ipv4消息進(jìn)行互聯(lián)網(wǎng)通信;4)每一個(gè)子域擁有一個(gè)接收緩沖,每一個(gè)socket擁有一個(gè)接收緩沖隊(duì)列;5)對(duì)于域間通信,中心路由器根據(jù)接收方ip地址直接將消息發(fā)送給對(duì)應(yīng)域的接收緩沖;6)對(duì)于各域與外界通信,當(dāng)主域收到外界發(fā)送的信息時(shí)將該信息向各子域進(jìn)行廣播,對(duì)于各子域若其沒有處理該消息進(jìn)程存在時(shí),該消息被自動(dòng)丟棄;7)每個(gè)域擁有一個(gè)用于分發(fā)消息的工作隊(duì)列,每隔一定的時(shí)間掃描一次接收緩沖,將里面的消息根據(jù)端口號(hào)分發(fā)給相應(yīng)的處理進(jìn)程,將消息插入對(duì)應(yīng)socket的接收緩沖隊(duì)列。8)各域socket發(fā)送消息時(shí)直接調(diào)用虛擬機(jī)transfer進(jìn)行傳遞;9)每一個(gè)socket擁有一個(gè)接收緩沖隊(duì)列,各域socket接收消息時(shí)掃描其接收緩沖隊(duì)列,從中取得消息。
全文摘要
一種基于內(nèi)存共享機(jī)制虛擬機(jī)域間通信協(xié)議的實(shí)現(xiàn)方法,采用共享內(nèi)存機(jī)制解決虛擬機(jī)各域之間的通信問題。根據(jù)現(xiàn)有伯克利Socket接口標(biāo)準(zhǔn)設(shè)計(jì)全新的域間Socket通信協(xié)議,滿足域間以及各子域與internet的通信要求。該協(xié)議采用與ipv4相同的ip地址加端口號(hào)的尋址方式,由中心router根據(jù)ip地址判斷域間通信與子域和internet通信。當(dāng)為域間通信時(shí),采用內(nèi)存共享機(jī)制實(shí)現(xiàn)快速的域間消息傳遞;當(dāng)為子域與internet通信時(shí),中心router將通信數(shù)據(jù)包封裝為標(biāo)準(zhǔn)的ipv4數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā),當(dāng)中心router收的有internet發(fā)送的數(shù)據(jù)時(shí),采用廣播機(jī)制對(duì)服務(wù)器內(nèi)各域進(jìn)行分發(fā)。各子域?qū)τ诮邮盏降臄?shù)據(jù)如果沒有相應(yīng)的處理例程進(jìn)行處理,則進(jìn)行主動(dòng)丟棄。中心router與各子域的擁塞控制策略采用“鮮牛奶”策略。
文檔編號(hào)H04L29/06GK101977195SQ201010525438
公開日2011年2月16日 申請(qǐng)日期2010年10月29日 優(yōu)先權(quán)日2010年10月29日
發(fā)明者任建寶, 戴月華, 王珂, 耿晨, 齊勇 申請(qǐng)人:西安交通大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
包头市| 遂昌县| 荔波县| 泽库县| 新营市| 雷山县| 府谷县| 荔浦县| 安塞县| 平南县| 兴义市| 泰宁县| 崇文区| 睢宁县| 南木林县| 察雅县| 玉环县| 正定县| 太康县| 临沧市| 晋中市| 张家港市| 禹城市| 郓城县| 长兴县| 屯留县| 弥渡县| 邵东县| 平潭县| 临西县| 泊头市| 永清县| 福鼎市| 洛川县| 右玉县| 肃宁县| 上林县| 望江县| 衡水市| 仙游县| 延安市|