一種通信方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施例公開了一種通信方法、裝置及系統(tǒng),涉及通信領(lǐng)域,解決了操作系統(tǒng)之間傳輸過程中的文件及頁(yè)表的拷貝操作造成通信開銷大的問題。具體方案為:發(fā)送計(jì)算裝置獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存,在通信共享內(nèi)存中存放發(fā)送消息,以便接收計(jì)算裝置在通信共享內(nèi)存獲取發(fā)送消息。本發(fā)明用于操作系統(tǒng)之間的通信。
【專利說明】一種通信方法、裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種通信方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]平行化虛擬系統(tǒng)是針對(duì)多核、眾核架構(gòu)提出的一種多內(nèi)核操作系統(tǒng)的部署方式。在平行虛擬化系統(tǒng)中,多個(gè)操作系統(tǒng)內(nèi)核共享同一個(gè)節(jié)點(diǎn)硬件資源,管理操作系統(tǒng)內(nèi)核采用側(cè)服的方式為計(jì)算操作系統(tǒng)內(nèi)核提供服務(wù),這與傳統(tǒng)計(jì)算內(nèi)核執(zhí)行在虛擬機(jī)監(jiān)控器(Hypervisor)之上的虛擬化方式有較大的區(qū)別。
[0003]通信系統(tǒng)作為多內(nèi)核操作系統(tǒng)中一個(gè)重要的組成部分,其性能的好壞直接影響到多內(nèi)核操作系統(tǒng)的執(zhí)行效率。在傳統(tǒng)的虛擬化系統(tǒng)中,兩個(gè)操作系統(tǒng)內(nèi)核之間的通信大多是基于互相連接,并且由Hypervisor支持通信數(shù)據(jù)的傳輸。所述基于互相連接,表示平行化虛擬系統(tǒng)中的任意兩個(gè)通信的操作系統(tǒng)內(nèi)核之間都要進(jìn)行共享內(nèi)存和通信結(jié)構(gòu)的維護(hù),這將造成較大的開銷。
[0004]目前技術(shù)手段使用了一種被稱為邏輯域通道(Logic Domain Channel)的通信系統(tǒng)。在該通信系統(tǒng)中,每個(gè)邏輯域(Logic Domain)有一個(gè)發(fā)送消息隊(duì)列和接受消息隊(duì)列。以Logic Domainl與Logic Domain2通信為例,Logic domainl將消息放置到自身發(fā)送消息隊(duì)列中,通過一個(gè)虛擬監(jiān)控器消息(Hypervisor call)通知Hypervisor發(fā)送消息,Hypervisor將消息從Logic domainl的內(nèi)存空間中拷貝到Logic domain2的接收消息隊(duì)列中,并給Logic domain2發(fā)送中斷消息通知。在Logic Domain Channel中,消息大小為固定的64B,大消息將被拆分成多個(gè)小消息分別進(jìn)行傳輸。這就造成了需要多次傳輸,導(dǎo)致增加通知操作的次數(shù)。
[0005]在實(shí)現(xiàn)上述平行化虛擬系統(tǒng)中的通信過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:
[0006]上述通信系統(tǒng)在消息的傳輸過程中,需要進(jìn)行兩次通知操作和一次數(shù)據(jù)拷貝操作,通信開銷較大;通信消息大小固定化將增加通知操作的次數(shù),增加開銷;通信系統(tǒng)中的通知機(jī)制對(duì)于正常的操作系統(tǒng)的任務(wù)執(zhí)行有較大的干擾。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的實(shí)施例提供一種通信方法及裝置,能夠消除消息傳輸過程中的文件及頁(yè)表的拷貝操作,降低通知機(jī)制對(duì)正常任務(wù)執(zhí)行的干擾。
[0008]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0009]第一方面,提供一種通信方法,包括:
[0010]發(fā)送計(jì)算裝置獲取通信共享內(nèi)存,所述通信共享內(nèi)存為所述發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存;
[0011]在所述通信共享內(nèi)存中存放發(fā)送消息,以便所述接收計(jì)算裝置在所述通信共享內(nèi)存獲取所述發(fā)送消息。
[0012]結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述發(fā)送計(jì)算裝置獲取通信共享內(nèi)存之后,包括:
[0013]所述發(fā)送計(jì)算裝置將所述通信共享內(nèi)存的通信共享內(nèi)存信息發(fā)送至所述接收計(jì)算裝置,以便于所述接收計(jì)算裝置根據(jù)所述通信共享內(nèi)存信息獲取所述通信共享內(nèi)存。
[0014]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述發(fā)送計(jì)算裝置將所述通信共享內(nèi)存的通信共享內(nèi)存信息發(fā)送至所述接收計(jì)算裝置,包括:
[0015]所述發(fā)送計(jì)算裝置在內(nèi)核地址空間獲取全局消息頁(yè),其中所述全局消息頁(yè)包括所述接收計(jì)算裝置的通知頁(yè)和通知核;
[0016]所述發(fā)送計(jì)算裝置將所述接收計(jì)算裝置的通知頁(yè)映射到自身地址空間中,并將通信共享內(nèi)存信息寫入所述通知頁(yè)中;
[0017]所述發(fā)送計(jì)算裝置通過所述發(fā)送計(jì)算裝置的通知核向所述接收計(jì)算裝置的通知核發(fā)送第一中斷消息,以便所述接收計(jì)算裝置根據(jù)所述第一中斷消息在所述接收計(jì)算裝置的通知頁(yè)中獲取所述通信共享內(nèi)存信息。
[0018]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,在所述通信共享內(nèi)存中存放發(fā)送消息之后,所述方法還包括:
[0019]所述發(fā)送計(jì)算裝置通過所述發(fā)送計(jì)算裝置的通知核接收所述接收計(jì)算裝置的通知核發(fā)送的第二中斷消息;
[0020]所述發(fā)送計(jì)算裝置根據(jù)所述第二中斷消息在所述接收計(jì)算裝置的通知頁(yè)中獲取發(fā)送確認(rèn)消息。
[0021]結(jié)合第一方面,在第四種可能的實(shí)現(xiàn)方式中,所述發(fā)送計(jì)算裝置獲取通信共享內(nèi)存,包括:
[0022]所述發(fā)送計(jì)算裝置在通信共享內(nèi)存中獲取空閑通信頁(yè)。
[0023]結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,在所述通信共享內(nèi)存中存放發(fā)送消息,包括:
[0024]將所述發(fā)送消息拷貝至所述空閑通信頁(yè)生成通信頁(yè);
[0025]獲取所述通信頁(yè)的通信描述頁(yè);
[0026]將所述通信描述頁(yè)插入所述通信共享內(nèi)存中的發(fā)送消息鏈表。
[0027]第二方面,提供一種通信方法,包括:
[0028]接收計(jì)算裝置獲取通信共享內(nèi)存,所述通信共享內(nèi)存為所述發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存;
[0029]在所述通信共享內(nèi)存中獲取所述發(fā)送計(jì)算裝置存入的發(fā)送消息。
[0030]結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述接收計(jì)算裝置獲取通信共享內(nèi)存之前,包括:
[0031]所述接收計(jì)算裝置獲取所述發(fā)送計(jì)算裝置發(fā)送的通信共享內(nèi)存信息;
[0032]所述接收計(jì)算裝置獲取通信共享內(nèi)存,包括:
[0033]根據(jù)所述通信共享內(nèi)存信息映射至所述通信共享內(nèi)存,以便在所述通信共享內(nèi)存中獲取所述發(fā)送計(jì)算裝置存入的發(fā)送消息。
[0034]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述接收計(jì)算裝置獲取所述發(fā)送計(jì)算裝置發(fā)送的通信共享內(nèi)存信息,包括:
[0035]所述接收計(jì)算裝置通過所述接收計(jì)算裝置的通知核接收所述發(fā)送計(jì)算裝置的通知核發(fā)送的第一中斷消息;
[0036]所述接收計(jì)算裝置根據(jù)所述第一中斷消息在所述接收計(jì)算裝置的通知頁(yè)中獲取所述通信共享內(nèi)存信息。
[0037]結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,在所述通信共享內(nèi)存中獲取所述發(fā)送計(jì)算裝置存入的發(fā)送消息之后,還包括:
[0038]所述接收計(jì)算裝置在內(nèi)核地址空間獲取全局消息頁(yè),其中所述全局消息頁(yè)包括所述接收計(jì)算裝置的通知頁(yè)和通知核;
[0039]所述接收計(jì)算裝置將所述接收計(jì)算裝置的通知頁(yè)映射到自身地址空間中,并將發(fā)送確認(rèn)消息寫入所述通知頁(yè)中;
[0040]所述接收計(jì)算裝置通過所述接收計(jì)算裝置的通知核向所述發(fā)送計(jì)算裝置的通知核發(fā)送第二中斷消息,以便所述發(fā)送計(jì)算裝置根據(jù)所述第二中斷消息在所述發(fā)送計(jì)算裝置的通知頁(yè)中獲取所述發(fā)送確認(rèn)消息。
[0041]結(jié)合第二方面,在第四種可能的實(shí)現(xiàn)方式中,所述接收計(jì)算裝置獲取發(fā)送計(jì)算裝置發(fā)送的通信共享內(nèi)存信息,包括:
[0042]所述接收計(jì)算裝置掃描所述通信共享內(nèi)存中的接收消息鏈表;
[0043]在所述通信共享內(nèi)存中的接收消息鏈表獲取通信描述頁(yè)。
[0044]結(jié)合第二方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,在所述通信共享內(nèi)存中獲取所述發(fā)送計(jì)算裝置存入的發(fā)送消息,包括:
[0045]在所述通信描述頁(yè)中獲取端口號(hào),并在所述端口號(hào)指示的端口上接收發(fā)送消息。
[0046]結(jié)合第二方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,在所述通信共享內(nèi)存中獲取所述發(fā)送計(jì)算裝置存入的發(fā)送消息之后,包括:
[0047]所述接收計(jì)算裝置將所述完成發(fā)送消息的通信頁(yè)插入所述通信共享內(nèi)存中的待歸還通信鏈表。
[0048]第三方面,提供一種通信方法,包括:
[0049]管理裝置生成全局消息頁(yè),所述全局消息頁(yè)包括接收計(jì)算裝置的通知頁(yè)和通知核;
[0050]將所述全局消息頁(yè)映射到所有計(jì)算裝置的內(nèi)核地址空間中,其中所述通知頁(yè)用于存儲(chǔ)所述通知核,所述通知核用于傳輸中斷消息。
[0051]第四方面,提供一種通信方法,包括:
[0052]管理裝置掃描各個(gè)發(fā)送計(jì)算裝置的發(fā)送消息鏈表;
[0053]將所述發(fā)送計(jì)算裝置中的發(fā)送消息鏈表中的通信描述頁(yè)插入接收計(jì)算裝置的接收消息鏈表;
[0054]所述管理裝置查詢各個(gè)計(jì)算裝置中的待歸還消息鏈表;
[0055]將所述待歸還消息鏈表中的通信頁(yè)插入對(duì)應(yīng)的計(jì)算裝置中。
[0056]第五方面,提供一種發(fā)送計(jì)算裝置,包括:
[0057]內(nèi)存分配單元,用于獲取通信共享內(nèi)存,所述通信共享內(nèi)存為所述發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存;
[0058]消息發(fā)送單元,用于在所述內(nèi)存分配單元獲取的所述通信共享內(nèi)存中存放發(fā)送消息,以便所述接收計(jì)算裝置在所述通信共享內(nèi)存獲取所述發(fā)送消息。
[0059]結(jié)合第五方面,在第一種可能的實(shí)現(xiàn)方式中,所述發(fā)送計(jì)算裝置,還包括:
[0060]信息發(fā)送單元,用于將所述內(nèi)存分配單元獲取的所述通信共享內(nèi)存的通信共享內(nèi)存信息發(fā)送至所述接收計(jì)算裝置,以便于所述接收計(jì)算裝置根據(jù)所述通信共享內(nèi)存信息獲取所述通信共享內(nèi)存。
[0061]結(jié)合第五方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述信息發(fā)送單元包括:
[0062]內(nèi)核分配子單元,用于在內(nèi)核地址空間獲取全局消息頁(yè),其中所述全局消息頁(yè)包括所述接收計(jì)算裝置的通知頁(yè)和通知核;
[0063]寫入子單元,用于將所述內(nèi)核分配子單元獲取的所述接收計(jì)算裝置的通知頁(yè)映射到自身地址空間中,并將通信共享內(nèi)存信息寫入所述通知頁(yè)中;
[0064]發(fā)送子單元,用于通過所述內(nèi)核分配子單元獲取的所述發(fā)送計(jì)算裝置的通知核向所述接收計(jì)算裝置的通知核發(fā)送第一中斷消息,以便所述接收計(jì)算裝置根據(jù)所述第一中斷消息在所述接收計(jì)算裝置的通知頁(yè)中獲取所述通信共享內(nèi)存信息。
[0065]結(jié)合第五方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,還包括:
[0066]中斷消息接收單元,用于通過所述內(nèi)核分配子單元獲取的所述發(fā)送計(jì)算裝置的通知核接收所述接收計(jì)算裝置的通知核發(fā)送的第二中斷消息;
[0067]確認(rèn)消息發(fā)送單元,用于通過中斷消息接收單元接收的第二中斷消息在所述接收計(jì)算裝置的通知頁(yè)中獲取發(fā)送確認(rèn)消息。
[0068]結(jié)合第五方面,在第四種可能的實(shí)現(xiàn)方式中,所述內(nèi)存分配單元具體用于在通信共享內(nèi)存中獲取空閑通信頁(yè)。
[0069]結(jié)合第五方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,在所述消息發(fā)送單元包括:
[0070]消息上傳子單元,用于將上傳消息拷貝至所述空閑通信頁(yè)生成通信頁(yè);
[0071]消息描述子單元,用于從所述消息上傳子單元生成的通信頁(yè)中獲取通信描述頁(yè);
[0072]描述消息轉(zhuǎn)移子單元,用于通過將所述消息描述子單元獲取的通信描述頁(yè)插入所述通信共享內(nèi)存中的發(fā)送消息鏈表。
[0073]第六方面,提供一種接收計(jì)算裝置,包括:
[0074]內(nèi)存分配單元,用于獲取通信共享內(nèi)存,所述通信共享內(nèi)存為所述發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存;
[0075]消息接收單元,用于在所述內(nèi)存分配單元中獲取所述發(fā)送計(jì)算裝置存入的發(fā)送消肩、O
[0076]結(jié)合第六方面,在第一種可能的實(shí)現(xiàn)方式中,所述接收計(jì)算裝置,還包括:
[0077]信息接收單元,用于獲取所述發(fā)送計(jì)算裝置發(fā)送的通信共享內(nèi)存信息;
[0078]所述內(nèi)存分配單元,具體用于根據(jù)所述通信共享內(nèi)存信息映射至所述通信共享內(nèi)存,以便在所述通信共享內(nèi)存中獲取所述信息接收單元存入的發(fā)送消息。
[0079]結(jié)合第六方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述信息接收單元,包括:
[0080]中斷消息接收子單元,用于接收所述接收計(jì)算裝置的通知核接收所述發(fā)送計(jì)算裝置的通知核發(fā)送的第一中斷消息;
[0081]存入子單元,用于通過中斷消息接收子單元接收的所述第一中斷消息在所述接收計(jì)算裝置的通知頁(yè)中獲取所述通信共享內(nèi)存信息。
[0082]結(jié)合第六方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,在所述接收計(jì)算裝置,還包括:
[0083]內(nèi)核分配單元,用于在內(nèi)核地址空間中獲取全局消息頁(yè),其中所述全局消息頁(yè)包括所述接收計(jì)算裝置的通知頁(yè)和通知核;
[0084]寫入單元,用于通過所述內(nèi)核分配單元將所述接收計(jì)算裝置的通知頁(yè)映射到自身地址空間中,并將發(fā)送確認(rèn)消息寫入所述通知頁(yè)中;
[0085]發(fā)送單元,用于通過所述內(nèi)核分配單元通過所述接收計(jì)算裝置的通知核向所述發(fā)送計(jì)算裝置的通知核發(fā)送第二中斷消息,以便所述發(fā)送計(jì)算裝置根據(jù)所述第二中斷消息在所述發(fā)送計(jì)算裝置的通知頁(yè)中獲取所述發(fā)送確認(rèn)消息。
[0086]結(jié)合第六方面,在第四種可能的實(shí)現(xiàn)方式中,所述消息接收單元,包括:
[0087]接收掃描子單元,用于通過所述接收計(jì)算裝置掃描所述通信共享內(nèi)存中的接收消息鏈表;
[0088]描述頁(yè)獲取子單元,用于通過所述內(nèi)存分配單元中的接收消息鏈表獲取通信描述頁(yè)。
[0089]結(jié)合第六方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述消息接收單元,包括:
[0090]消息下發(fā)子單元,用于通過所述描述頁(yè)獲取單元獲取的描述頁(yè)中獲取端口號(hào),并在所述端口號(hào)指示的端口上接收發(fā)送消息。
[0091]結(jié)合第六方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,還包括:
[0092]歸還通信頁(yè)單元,用于將所述完成發(fā)送消息的通信頁(yè)插入所述通信共享內(nèi)存中的待歸還通信鏈表。
[0093]第七方面,提供一種管理裝置,包括:
[0094]全局頁(yè)生成單元,用于通過管理裝置生成全局消息頁(yè),所述全局消息頁(yè)包括接收計(jì)算裝置的通知頁(yè)和通知核;
[0095]全局頁(yè)發(fā)送單元,用于通過管理裝置將所述全局消息頁(yè)映射到所有計(jì)算裝置的內(nèi)核地址空間中,其中所述通知頁(yè)用于存儲(chǔ)所述通知核用于傳輸中斷消息。
[0096]第八方面,提供一種管理裝置,包括:
[0097]發(fā)送掃描單元,用于通過管理裝置掃描各個(gè)發(fā)送計(jì)算裝置的發(fā)送消息鏈表;
[0098]描述頁(yè)轉(zhuǎn)移單元,用于通過所述管理裝置將所述發(fā)送計(jì)算裝置中的發(fā)送消息鏈表中的通信描述頁(yè)插入接收計(jì)算裝置的接收消息鏈表;
[0099]消息查詢單元,用于通過所述管理裝置查詢各個(gè)計(jì)算裝置中的待歸還消息鏈表;
[0100]通信頁(yè)歸還單元,用于通過所述管理裝置將所述待歸還消息鏈表中的通信頁(yè)插入對(duì)應(yīng)的計(jì)算裝置中。
[0101]第九方面,提供一種通信系統(tǒng),包括至少兩個(gè)計(jì)算裝置,其中一個(gè)所述計(jì)算裝置為第五方面或第五方面中任意一種可能的實(shí)現(xiàn)方式所述的發(fā)送計(jì)算裝置,另一個(gè)所述計(jì)算裝置為第六方面或第六方面中任意一種可能的實(shí)現(xiàn)方式所述的接收計(jì)算裝置。
[0102]結(jié)合第九方面,在第一種可能的實(shí)現(xiàn)方式中,還包括第七方面和第八方面所述的管理裝置。
[0103]通過上述方案,發(fā)送計(jì)算裝置獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存,在通信共享內(nèi)存中存放發(fā)送消息,以便所述接收計(jì)算裝置在所述通信共享內(nèi)存獲取所述發(fā)送消息,這樣就能夠消除消息傳輸過程中的數(shù)據(jù)內(nèi)容拷貝及頁(yè)表操作。
【專利附圖】
【附圖說明】
[0104]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹。
[0105]圖1為本發(fā)明的實(shí)施例提供的一種通信方法的流程示意圖;
[0106]圖2為本發(fā)明的實(shí)施例提供的另一種通信方法流程示意圖;
[0107]圖3為本發(fā)明的另一實(shí)施例提供的一種通信方法流程示意圖;
[0108]圖4為本發(fā)明的又一實(shí)施例提供的一種通信方法流程示意圖;
[0109]圖5為本發(fā)明的再一實(shí)施例提供的一種通信方法流程示意圖;
[0110]圖6為本發(fā)明的實(shí)施例提供的一種通信裝置示意圖;
[0111]圖7為本發(fā)明的另一實(shí)施例提供的一種通信裝置示意圖;
[0112]圖8為本發(fā)明的又一實(shí)施例提供的一種通信裝置示意圖;
[0113]圖9為本發(fā)明的實(shí)施例提供的一種通信裝置示意圖;
[0114]圖10為本發(fā)明的另一實(shí)施例提供的一種通信裝置示意圖;
[0115]圖11為本發(fā)明的又一實(shí)施例提供的一種通信裝置示意圖;
[0116]圖12為本發(fā)明的實(shí)施例提供的一種通信裝置示意圖;
[0117]圖13為本發(fā)明的實(shí)施例提供的一種通信裝置示意圖;
[0118]圖14為本發(fā)明的實(shí)施例提供的一種發(fā)送計(jì)算裝置示意圖;
[0119]圖15為本發(fā)明的實(shí)施例提供的一種接收計(jì)算裝置示意圖;
[0120]圖16為本發(fā)明的實(shí)施例提供的一種管理裝置示意圖;
[0121]圖17為本發(fā)明的實(shí)施例提供的一種通信系統(tǒng)示意圖;
[0122]圖18為本發(fā)明的另一實(shí)施例提供的一種通信系統(tǒng)示意圖;
[0123]圖19為本發(fā)明的又一實(shí)施例提供的一種通信系統(tǒng)的示意圖。
【具體實(shí)施方式】
[0124]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。
[0125]本發(fā)明的實(shí)施例應(yīng)用于通信系統(tǒng)中各個(gè)操作系統(tǒng)間通信數(shù)據(jù)的傳輸,以下各個(gè)實(shí)施例的論述中,操作系統(tǒng)架構(gòu)于各自對(duì)應(yīng)的計(jì)算裝置,各個(gè)計(jì)算裝置為對(duì)應(yīng)的操作系統(tǒng)提供硬件上的支撐,即通過計(jì)算裝置實(shí)現(xiàn)其相應(yīng)的功能,管理操作系統(tǒng)通過管理裝置實(shí)現(xiàn)其硬件部分的功能,具體以下實(shí)施例可以應(yīng)用于多內(nèi)核的操作系統(tǒng),各個(gè)操作系統(tǒng)可以共享所在節(jié)點(diǎn)的節(jié)點(diǎn)資源,每個(gè)操作系統(tǒng)擁有獨(dú)立的CPU,并獨(dú)占節(jié)點(diǎn)中的部分內(nèi)存。
[0126]具體的本發(fā)明的實(shí)施例提供一種通信方法,參照?qǐng)D1所示,在發(fā)送計(jì)算裝置一側(cè),包括以下步驟:
[0127]101、發(fā)送計(jì)算裝置獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存。
[0128]按照上述的應(yīng)用場(chǎng)景,可以理解的是發(fā)送計(jì)算裝置和接收計(jì)算裝置是平行的運(yùn)行在一個(gè)節(jié)點(diǎn)內(nèi)的。
[0129]102、發(fā)送計(jì)算裝置在通信共享內(nèi)存中存放發(fā)送消息,以便接收計(jì)算裝置在通信共享內(nèi)存獲取發(fā)送消息。
[0130]本發(fā)明的實(shí)施例還提供一種通信方法,參照?qǐng)D2所示,在接收計(jì)算裝置一側(cè),包括以下步驟:
[0131]201、接收計(jì)算裝置獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存;
[0132]202、接收計(jì)算裝置在通信共享內(nèi)存中獲取發(fā)送計(jì)算裝置存入的發(fā)送消息。
[0133]本發(fā)明的實(shí)施例提供的通信方法,發(fā)送計(jì)算裝置獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存,在通信共享內(nèi)存中存放發(fā)送消息,以便接收計(jì)算裝置在通信共享內(nèi)存獲取發(fā)送消息,這樣就能夠消除消息傳輸過程中的數(shù)據(jù)內(nèi)容拷貝及頁(yè)表操作。
[0134]本發(fā)明的另一實(shí)施例提供一種通信方法,包括發(fā)送計(jì)算裝置、接收計(jì)算裝置和管理裝置之間的相互通信,按照上述的應(yīng)用場(chǎng)景,可以理解的是發(fā)送計(jì)算裝置、接收計(jì)算裝置及管理裝置是平行的運(yùn)行在一個(gè)節(jié)點(diǎn)內(nèi)的。
[0135]參照?qǐng)D3所示,包括以下步驟:
[0136]301、發(fā)送計(jì)算裝置在通信共享內(nèi)存中獲取空閑通信頁(yè)。
[0137]可選的,通信共享內(nèi)存分為私有通信內(nèi)存和共享通信內(nèi)存,私有通信內(nèi)存用來保存發(fā)送消息,通信共享內(nèi)存用來承載接收消息。
[0138]其中,具體的通信共享內(nèi)存獲取過程可以為:在每個(gè)計(jì)算裝置啟動(dòng)時(shí),管理裝置在通信共享內(nèi)存中為該計(jì)算裝置分配一部分內(nèi)存作為該計(jì)算裝置的私有通信內(nèi)存。私有通信內(nèi)存在計(jì)算裝置啟動(dòng)時(shí)由管理裝置從通信內(nèi)存中指定,共享通信內(nèi)存是所有通信內(nèi)存中除私有通信內(nèi)存之外的通信內(nèi)存。管理裝置將通信共享內(nèi)存的分配情況、通信共享內(nèi)存映射到的線性地址空間等信息保存在計(jì)算裝置的啟動(dòng)參數(shù)中。當(dāng)計(jì)算裝置在啟動(dòng)過程中從啟動(dòng)參數(shù)中獲取通信內(nèi)存信息并將通信一一映射到對(duì)應(yīng)的通信共享內(nèi)存映射線性地址空間中。其中,私有通信內(nèi)存將讀寫映射,用于保存從該計(jì)算裝置發(fā)送的消息;其他共享通信內(nèi)存將只讀映射用于本計(jì)算裝置篡改其他計(jì)算裝置的消息內(nèi)容,這部分通信共享內(nèi)存將用于承載本計(jì)算裝置的接收消息。
[0139]302、發(fā)送計(jì)算裝置將發(fā)送消息拷貝至空閑通信頁(yè)生成通信頁(yè)。
[0140]303、發(fā)送計(jì)算裝置獲取通信頁(yè)的通信描述頁(yè)。
[0141]其中該通信描述頁(yè)中可以包括:發(fā)送消息的大小,消息數(shù)據(jù)的地址、接收計(jì)算裝置的ID (Identity,身份標(biāo)識(shí))、目標(biāo)端口號(hào)等描述信息。
[0142]304、發(fā)送計(jì)算裝置將通信描述頁(yè)插入通信共享內(nèi)存中的發(fā)送消息鏈表。
[0143]由于所有計(jì)算裝置都將通信共享內(nèi)存映射到同一端線性地址空間中,所以通信頁(yè)和通信描述頁(yè)的移動(dòng)只需要進(jìn)行鏈表操作(對(duì)隊(duì)首指針的移動(dòng)),而不需要進(jìn)行數(shù)據(jù)拷貝,減少了通信開銷。
[0144]305、管理裝置掃描各個(gè)發(fā)送計(jì)算裝置的發(fā)送消息鏈表。
[0145]306、管理裝置將發(fā)送計(jì)算裝置中的發(fā)送消息鏈表中的通信描述頁(yè)插入接收計(jì)算裝置的接收消息鏈表。
[0146]可選的,這里每個(gè)消息都有一個(gè)時(shí)間戳用于記錄消息在接收消息鏈表中的停留時(shí)間,管理裝置可以通過一個(gè)查詢線程,對(duì)停留時(shí)間過長(zhǎng)的接收消息優(yōu)先處理。
[0147]307、接收計(jì)算裝置掃描通信共享內(nèi)存中的接收消息鏈表。
[0148]由于這里引入了接收計(jì)算裝置掃描機(jī)制,可以避免裝置之間通過通知消息控制數(shù)據(jù)的收發(fā),因此避免了通知機(jī)制對(duì)正常傳輸?shù)臄?shù)據(jù)造成傳輸干擾。
[0149]308、接收計(jì)算裝置在通信共享內(nèi)存中的接收消息鏈表獲取通信描述頁(yè)。
[0150]309、接收計(jì)算裝置在通信描述頁(yè)中獲取端口號(hào),并在端口號(hào)指示的端口上從通信共享內(nèi)存中接收發(fā)送消息。
[0151]310、接收計(jì)算裝置將完成發(fā)送消息的通信頁(yè)插入通信共享內(nèi)存中的待歸還通信鏈表。
[0152]311、管理裝置查詢各個(gè)計(jì)算裝置中的待歸還消息鏈表。
[0153]312、管理裝置將待歸還消息鏈表中的通信頁(yè)插入對(duì)應(yīng)的計(jì)算裝置中。
[0154]通過以上步驟,可以實(shí)現(xiàn)在管理裝置和計(jì)算裝置之間通過全局消息通道層面實(shí)現(xiàn)計(jì)算裝置之間的消息發(fā)送,其中管理裝置在上述過程中起到維護(hù)計(jì)算裝置的通信結(jié)構(gòu)的作用,即對(duì)發(fā)送消息鏈表、接收消息鏈表、空閑通信頁(yè)、通信頁(yè)、待歸還消息鏈表及通信描述頁(yè)的維護(hù)。
[0155]本發(fā)明的實(shí)施例提供的通信方法,發(fā)送計(jì)算裝置獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存,在通信共享內(nèi)存中存放發(fā)送消息,以便接收計(jì)算裝置在通信共享內(nèi)存獲取發(fā)送消息,這樣就能夠消除消息傳輸過程中的數(shù)據(jù)內(nèi)容拷貝及頁(yè)表操作,進(jìn)一步的由于不需要通過專門的信令通知各個(gè)計(jì)算裝置進(jìn)行發(fā)送消息的接收或發(fā)送,因此能夠降低數(shù)據(jù)傳輸干擾。
[0156]在上述的基于全局消息通道的方案中,由于需要在鏈表中對(duì)數(shù)據(jù)按照隊(duì)列排序進(jìn)行傳輸,因此其實(shí)時(shí)性差將影響到系統(tǒng)的性能,本發(fā)明的另一實(shí)施例提供一種通信方法,能夠基于計(jì)算裝置之間的專用消息通道實(shí)現(xiàn)大量數(shù)據(jù)的實(shí)時(shí)傳輸,參照?qǐng)D4所示,包括以下步驟:
[0157]401、發(fā)送計(jì)算裝置獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存。
[0158]這里共享內(nèi)存的分配可以參照上述實(shí)施例這里不再贅述。
[0159]402、發(fā)送計(jì)算裝置將通信共享內(nèi)存的通信共享內(nèi)存信息發(fā)送至接收計(jì)算裝置,以便于接收計(jì)算裝置根據(jù)通信共享內(nèi)存信息獲取通信共享內(nèi)存。
[0160]這里對(duì)于通信共享內(nèi)存信息,計(jì)算裝置可以通過通信查詢線程查詢通信共享內(nèi)存的狀態(tài)獲取。
[0161]403、接收計(jì)算裝置獲取發(fā)送計(jì)算裝置發(fā)送的通信共享內(nèi)存信息;
[0162]404、接收計(jì)算裝置根據(jù)通信共享內(nèi)存信息映射至通信共享內(nèi)存,在通信共享內(nèi)存中獲取發(fā)送計(jì)算裝置存入的發(fā)送消息。
[0163]通過以上步驟可以實(shí)現(xiàn)計(jì)算裝置間通過專用消息通道進(jìn)行發(fā)送消息的傳輸,當(dāng)然該傳輸過程也是基于計(jì)算裝置之間配置有通信共享內(nèi)存的。
[0164]可選的,結(jié)合專用消息通道的建立過程,本發(fā)明的實(shí)施例提供了一種通信方法,參照?qǐng)D5所示,包括以下步驟:
[0165]501、管理裝置生成全局消息頁(yè),全局消息頁(yè)包括接收計(jì)算裝置的通知頁(yè)和通知核;
[0166]502、管理裝置將全局消息頁(yè)映射到所有計(jì)算裝置的內(nèi)核地址空間中,其中通知頁(yè)用于存儲(chǔ)通知核,通知核用于傳輸中斷消息。
[0167]503、發(fā)送計(jì)算裝置獲取通信共享內(nèi)存。
[0168]504、發(fā)送計(jì)算裝置在內(nèi)核地址空間獲取全局消息頁(yè),其中全局消息頁(yè)包括接收計(jì)算裝置的通知頁(yè)和通知核;
[0169]505、發(fā)送計(jì)算裝置將接收計(jì)算裝置的通知頁(yè)映射到自身地址空間中,并將通信共享內(nèi)存信息寫入通知頁(yè)中;
[0170]506、發(fā)送計(jì)算裝置通過發(fā)送計(jì)算裝置的通知核向接收計(jì)算裝置的通知核發(fā)送第一中斷消息,以便接收計(jì)算裝置根據(jù)第一中斷消息在接收計(jì)算裝置的通知頁(yè)中獲取通信共享內(nèi)存信息。
[0171]507、接收計(jì)算裝置通過接收計(jì)算裝置的通知核接收發(fā)送計(jì)算裝置的通知核發(fā)送的第一中斷消息;
[0172]508、接收計(jì)算裝置根據(jù)第一中斷消息在接收計(jì)算裝置的通知頁(yè)中獲取通信共享內(nèi)存信息。
[0173]509、發(fā)送計(jì)算裝置在通信共享內(nèi)存中存放發(fā)送消息。
[0174]510、接收計(jì)算裝置在內(nèi)核地址空間獲取全局消息頁(yè),其中全局消息頁(yè)包括接收計(jì)算裝置的通知頁(yè)和通知核;
[0175]511、接收計(jì)算裝置將接收計(jì)算裝置的通知頁(yè)映射到自身地址空間中,并將發(fā)送確認(rèn)消息寫入通知頁(yè)中;
[0176]512、接收計(jì)算裝置通過接收計(jì)算裝置的通知核向發(fā)送計(jì)算裝置的通知核發(fā)送第二中斷消息,以便發(fā)送計(jì)算裝置根據(jù)第二中斷消息在發(fā)送計(jì)算裝置的通知頁(yè)中獲取發(fā)送確認(rèn)消息。
[0177]513、發(fā)送計(jì)算裝置通過發(fā)送計(jì)算裝置的通知核接收接收計(jì)算裝置的通知核發(fā)送的第二中斷消息;
[0178]514、發(fā)送計(jì)算裝置根據(jù)第二中斷消息在接收計(jì)算裝置的通知頁(yè)中獲取發(fā)送確認(rèn)消息。
[0179]上述過程中通過計(jì)算裝置之間的控制消息通道,為計(jì)算裝置建立了基于通信共享內(nèi)存的專用消息通道,通過專用消息通道進(jìn)行計(jì)算裝置之間的數(shù)據(jù)傳輸,實(shí)現(xiàn)了兩個(gè)計(jì)算裝置間的實(shí)時(shí)傳輸和頻繁傳輸。
[0180]本發(fā)明的實(shí)施例提供的通信方法,發(fā)送計(jì)算裝置獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存,在通信共享內(nèi)存中存放發(fā)送消息,以便接收計(jì)算裝置在通信共享內(nèi)存獲取發(fā)送消息,這樣就能夠消除消息傳輸過程中的文件及頁(yè)表在計(jì)算裝置的內(nèi)存之間拷貝操作數(shù)據(jù)內(nèi)容拷貝及頁(yè)表操作,進(jìn)一步的由于不需要通過專門的信令通知各個(gè)計(jì)算裝置進(jìn)行發(fā)送消息的接收或發(fā)送,因此能夠降低數(shù)據(jù)傳輸干擾。
[0181]參照?qǐng)D6所示,提供一種發(fā)送計(jì)算裝置6,用于實(shí)現(xiàn)上述方法實(shí)施例提供的通信方法,包括:
[0182]內(nèi)存分配單元61,用于獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存;
[0183]消息發(fā)送單元62,用于在內(nèi)存分配單元61獲取的通信共享內(nèi)存中存放發(fā)送消息,以便接收計(jì)算裝置在通信共享內(nèi)存獲取發(fā)送消息。
[0184]本發(fā)明的實(shí)施例提供的發(fā)送計(jì)算裝置,發(fā)送計(jì)算裝置獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存,在通信共享內(nèi)存中存放發(fā)送消息,以便接收計(jì)算裝置在通信共享內(nèi)存獲取發(fā)送消息,這樣就能夠消除消息傳輸過程中的數(shù)據(jù)內(nèi)容拷貝及頁(yè)表操作。
[0185]進(jìn)一步的,參照?qǐng)D7所示,發(fā)送計(jì)算裝置6,還包括:
[0186]信息發(fā)送單元63,用于將內(nèi)存分配單元61獲取的通信共享內(nèi)存的通信共享內(nèi)存信息發(fā)送至接收計(jì)算裝置,以便于接收計(jì)算裝置根據(jù)通信共享內(nèi)存信息獲取通信共享內(nèi)存。
[0187]可選的,信息發(fā)送單元63包括:
[0188]內(nèi)核分配子單元631,用于在內(nèi)核地址空間獲取全局消息頁(yè),其中全局消息頁(yè)包括接收計(jì)算裝置的通知頁(yè)和通知核;
[0189]寫入子單元632,用于將內(nèi)核分配子單元631獲取的接收計(jì)算裝置7的通知頁(yè)映射到自身地址空間中,并將通信共享內(nèi)存信息寫入通知頁(yè)中;
[0190]發(fā)送子單元633,用于通過內(nèi)核分配子單元631獲取的發(fā)送計(jì)算裝置6的通知核向接收計(jì)算裝置的通知核發(fā)送第一中斷消息,以便接收計(jì)算裝置根據(jù)第一中斷消息在接收計(jì)算裝置的通知頁(yè)中獲取通信共享內(nèi)存信息。
[0191]可選的,發(fā)送計(jì)算裝置6,還包括:
[0192]中斷消息接收單元64,用于通過內(nèi)核分配子單元631獲取的發(fā)送計(jì)算裝置6的通知核接收接收計(jì)算裝置的通知核發(fā)送的第二中斷消息;
[0193]確認(rèn)消息發(fā)送單元65,用于通過中斷消息接收單元64接收的第二中斷消息在接收計(jì)算裝置的通知頁(yè)中獲取發(fā)送確認(rèn)消息。
[0194]上述過程中通過計(jì)算裝置之間的控制消息通道,為計(jì)算裝置建立了基于通信共享內(nèi)存的專用消息通道,通過專用消息通道進(jìn)行計(jì)算裝置之間的數(shù)據(jù)傳輸,實(shí)現(xiàn)了兩個(gè)計(jì)算裝置間的實(shí)時(shí)傳輸和頻繁傳輸;此外,進(jìn)一步的由于不需要通過專門的信令通知各個(gè)計(jì)算裝置進(jìn)行發(fā)送消息的接收或發(fā)送,因此能夠降低數(shù)據(jù)傳輸干擾。
[0195]進(jìn)一步可選的,參照?qǐng)D8所示,內(nèi)存分配單元61具體用于在通信共享內(nèi)存中獲取空閑通信頁(yè)。
[0196]可選的,消息發(fā)送單元62包括:
[0197]消息上傳子單元621,用于將上傳消息拷貝至空閑通信頁(yè)生成通信頁(yè);
[0198]消息描述子單元622,用于從消息上傳子單元621生成的通信頁(yè)中獲取通信描述頁(yè);
[0199]描述消息轉(zhuǎn)移子單元623,用于通過將消息描述子單元622獲取的通信描述頁(yè)插入通信共享內(nèi)存中的發(fā)送消息鏈表。
[0200]參照?qǐng)D9所示,提供一種接收計(jì)算裝置7,用于實(shí)現(xiàn)上述方法的實(shí)施例提供的通信方法,包括:
[0201]內(nèi)存分配單元71,用于獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置6和接收計(jì)算裝置7的共享內(nèi)存;
[0202]消息接收單元72,用于在內(nèi)存分配單元71中獲取發(fā)送計(jì)算裝置6存入的發(fā)送消肩、O
[0203]本發(fā)明的實(shí)施例提供的通信裝置,發(fā)送計(jì)算裝置獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存,在通信共享內(nèi)存中存放發(fā)送消息,以便接收計(jì)算裝置在通信共享內(nèi)存獲取發(fā)送消息,這樣就能夠消除消息傳輸過程中的數(shù)據(jù)內(nèi)容拷貝及頁(yè)表操作,進(jìn)一步的由于不需要通過專門的信令通知各個(gè)計(jì)算裝置進(jìn)行發(fā)送消息的接收或發(fā)送,因此能夠降低數(shù)據(jù)傳輸干擾。
[0204]進(jìn)一步的,參照?qǐng)D10所示,接收計(jì)算裝置7,還包括:
[0205]信息接收單元73,用于獲取發(fā)送計(jì)算裝置6發(fā)送的通信共享內(nèi)存信息;
[0206]所述內(nèi)存分配單元71,具體用于根據(jù)所述通信共享內(nèi)存信息映射至所述通信共享內(nèi)存,以便在所述通信共享內(nèi)存中獲取所述信息接收單元存入的發(fā)送消息。
[0207]可選的,信息接收單元73,包括:
[0208]中斷消息接收子單元731,用于接收接收計(jì)算裝置7的通知核接收發(fā)送計(jì)算裝置6的通知核發(fā)送的第一中斷消息;
[0209]存入子單元732,用于通過中斷消息接收子單元731接收的第一中斷消息在接收計(jì)算裝置7的通知頁(yè)中獲取通信共享內(nèi)存信息。
[0210]可選的,在接收計(jì)算裝置7,還包括:
[0211]內(nèi)核分配單元74,用于在內(nèi)核地址空間中獲取全局消息頁(yè),其中全局消息頁(yè)包括接收計(jì)算裝置7的通知頁(yè)和通知核;
[0212]寫入單元75,用于通過內(nèi)核分配單元74將接收計(jì)算裝置7的通知頁(yè)映射到自身地址空間中,并將發(fā)送確認(rèn)消息寫入通知頁(yè)中;
[0213]發(fā)送單元76,用于通過內(nèi)核分配單元74通過接收計(jì)算裝置7的通知核向發(fā)送計(jì)算裝置6的通知核發(fā)送第二中斷消息,以便發(fā)送計(jì)算裝置6根據(jù)第二中斷消息在發(fā)送計(jì)算裝置6的通知頁(yè)中獲取發(fā)送確認(rèn)消息。
[0214]上述過程中通過計(jì)算裝置之間的控制消息通道,為計(jì)算裝置建立了基于通信共享內(nèi)存的專用消息通道,通過專用消息通道進(jìn)行計(jì)算裝置之間的數(shù)據(jù)傳輸,實(shí)現(xiàn)了兩個(gè)計(jì)算裝置間的實(shí)時(shí)傳輸和頻繁傳輸;此外,進(jìn)一步的由于不需要通過專門的信令通知各個(gè)計(jì)算裝置進(jìn)行發(fā)送消息的接收或發(fā)送,因此能夠降低數(shù)據(jù)傳輸干擾。
[0215]進(jìn)一步可選的,參照?qǐng)D11,消息接收單元72,包括:
[0216]接收掃描子單元721,用于通過接收計(jì)算裝置7掃描通信共享內(nèi)存中的接收消息鏈表;
[0217]描述頁(yè)獲取子單元722,用于通過內(nèi)存分配單元71中的接收消息鏈表獲取通信描述頁(yè);
[0218]可選的,消息接收單元72,包括:
[0219]消息下發(fā)子單元723,用于通過描述頁(yè)獲取單元78獲取的描述頁(yè)中獲取端口號(hào),并在端口號(hào)指示的端口上接收發(fā)送消息;
[0220]進(jìn)一步的,該接收計(jì)算裝置,包括:
[0221]歸還通信頁(yè)單元77,用于將完成發(fā)送消息的通信頁(yè)插入通信共享內(nèi)存中的待歸還通信鏈表。
[0222]參照?qǐng)D12所示,提供一種管理裝置8,包括:
[0223]全局頁(yè)生成單元81,用于通過管理裝置8生成全局消息頁(yè),所述全局消息頁(yè)包括接收計(jì)算裝置7的通知頁(yè)和通知核;
[0224]全局頁(yè)發(fā)送單元82,用于通過管理裝置8將所述全局消息頁(yè)映射到所有計(jì)算裝置的內(nèi)核地址空間中,其中所述通知頁(yè)用于存儲(chǔ)所述通知核用于傳輸中斷消息。
[0225]參照?qǐng)D13所示,提供一種管理裝置9,包括:
[0226]發(fā)送掃描單元91,用于通過管理裝置掃描各個(gè)發(fā)送計(jì)算裝置的發(fā)送消息鏈表;
[0227]描述頁(yè)轉(zhuǎn)移單元92,用于通過所述管理裝置將所述發(fā)送計(jì)算裝置中的發(fā)送消息鏈表中的通信描述頁(yè)插入接收計(jì)算裝置的接收消息鏈表;
[0228]消息查詢單元93,用于通過所述管理裝置查詢各個(gè)計(jì)算裝置中的待歸還消息鏈表;
[0229]通信頁(yè)歸還單元94,用于通過所述管理裝置將所述待歸還消息鏈表中的通信頁(yè)插入對(duì)應(yīng)的虛擬機(jī)中。
[0230]參照?qǐng)D14所示,本發(fā)明的實(shí)施例提供一種發(fā)送計(jì)算裝置10,包括處理器1001、存儲(chǔ)器1002和數(shù)據(jù)總線1003,其中處理器和存儲(chǔ)器通過數(shù)據(jù)總線連接,其中
[0231]該數(shù)據(jù)總線1003可以是工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(Industry Standard Architecture,ISA)總線、外部設(shè)備互連(Peripheral Component, PCI)總線或擴(kuò)展工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(Extended Industry Standard Architecture,EISA)總線等。該總線 1003 可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖14中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。
[0232]存儲(chǔ)器1002用于存儲(chǔ)數(shù)據(jù)或可執(zhí)行程序代碼,其中程序代碼包括計(jì)算機(jī)操作指令,具體可以為:操作系統(tǒng)、應(yīng)用程序等。存儲(chǔ)器25可能包含高速RAM存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器(non-volatile memory),例如至少一個(gè)磁盤存儲(chǔ)器。
[0233]處理器1001可能是一個(gè)中央處理器(Central Processing Unit, CPU),或者是特定集成電路(Applicat1n Specific Integrated Circuit, ASIC),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。
[0234]處理器1001,用于獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存;在通信共享內(nèi)存中存放發(fā)送消息,以便接收計(jì)算裝置在通信共享內(nèi)存獲取發(fā)送消息。
[0235]可選的,計(jì)算裝置10還包括發(fā)射器1004,發(fā)射器1004與數(shù)據(jù)總線1003連接,處理器1001還用于通過發(fā)射器1004將通信共享內(nèi)存的通信共享內(nèi)存信息發(fā)送至接收計(jì)算裝置,以便于接收計(jì)算裝置根據(jù)通信共享內(nèi)存信息獲取通信共享內(nèi)存。
[0236]進(jìn)一步的,可選的處理器1001,具體用于在內(nèi)核地址空間獲取全局消息頁(yè),其中全局消息頁(yè)包括接收計(jì)算裝置的通知頁(yè)和通知核;
[0237]將接收計(jì)算裝置的通知頁(yè)映射到自身地址空間中,并將通信共享內(nèi)存信息寫入通知頁(yè)中;
[0238]處理器利用發(fā)射機(jī)通過發(fā)送計(jì)算裝置的通知核向接收計(jì)算裝置的通知核發(fā)送第一中斷消息,以便接收計(jì)算裝置根據(jù)第一中斷消息在接收計(jì)算裝置的通知頁(yè)中獲取通信共享內(nèi)存信息。
[0239]進(jìn)一步的,計(jì)算裝置10還包括接收器1005,接收器1005與數(shù)據(jù)總線1003連接,
[0240]處理器1001利用接收器1005通過發(fā)送計(jì)算裝置的通知核接收接收計(jì)算裝置的通知核發(fā)送的第二中斷消息;
[0241]處理器1001還用于根據(jù)第二中斷消息通過發(fā)射器1004在接收計(jì)算裝置的通知頁(yè)中獲取發(fā)送確認(rèn)消息。
[0242]可選的,處理器1001具體用于在通信共享內(nèi)存中獲取空閑通信頁(yè)。
[0243]進(jìn)一步的,處理器具體用于將送消息拷貝至空閑通信頁(yè)生成通信頁(yè);獲取通信頁(yè)的通信描述頁(yè);將通信描述頁(yè)插入通信共享內(nèi)存中的發(fā)送消息鏈表。
[0244]上述計(jì)算裝置通過獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存,在通信共享內(nèi)存中存放發(fā)送消息,以便接收計(jì)算裝置在通信共享內(nèi)存獲取發(fā)送消息,這樣就能夠消除消息傳輸過程中的數(shù)據(jù)內(nèi)容拷貝及頁(yè)表操作。
[0245]參照?qǐng)D15所示,本發(fā)明的實(shí)施例提供一種通信系統(tǒng)接收計(jì)算裝置11,包括處理器1101、存儲(chǔ)器1102和數(shù)據(jù)總線1103,其中處理器和存儲(chǔ)器通過數(shù)據(jù)總線連接,其中
[0246]該數(shù)據(jù)總線1103可以是工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(Industry Standard Architecture,ISA)總線、外部設(shè)備互連(Peripheral Component, PCI)總線或擴(kuò)展工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(Extended Industry Standard Architecture,EISA)總線等。該總線 1103 可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖15中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。
[0247]存儲(chǔ)器1102用于存儲(chǔ)數(shù)據(jù)或可執(zhí)行程序代碼,其中程序代碼包括計(jì)算機(jī)操作指令,具體可以為:操作系統(tǒng)、應(yīng)用程序等。存儲(chǔ)器1102可能包含高速RAM存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器(non-vo latile memory ),例如至少一個(gè)磁盤存儲(chǔ)器。
[0248]處理器1101可能是一個(gè)中央處理器(Central Processing Unit, CPU),或者是特定集成電路(Applicat1n Specific IntegratedCircuit, ASIC),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。
[0249]處理器1101用于獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存;在內(nèi)存分配單元中獲取發(fā)送計(jì)算裝置存入的發(fā)送消息。
[0250]可選的,計(jì)算裝置11還包括接收器1104,接收器1104與數(shù)據(jù)總線1103連接;接收器1104用于獲取發(fā)送計(jì)算裝置10發(fā)送的通信共享內(nèi)存信息;
[0251]獲取通信共享內(nèi)存信息,包括:根據(jù)通信共享內(nèi)存信息映射至通信共享內(nèi)存,以便在通信共享內(nèi)存中獲取信息接收單元存入的發(fā)送消息。
[0252]進(jìn)一步的,接收器1104用于接收接收計(jì)算裝置的通知核接收發(fā)送計(jì)算裝置的通知核發(fā)送的第一中斷消息;還用于通過中斷消息接收子單元接收的第一中斷消息在接收計(jì)算裝置的通知頁(yè)中獲取通信共享內(nèi)存信息。
[0253]進(jìn)一步的處理器1101具體用于在內(nèi)核地址空間中獲取全局消息頁(yè),其中全局消息頁(yè)包括接收計(jì)算裝置的通知頁(yè)和通知核;
[0254]將接收計(jì)算裝置11的通知頁(yè)映射到自身地址空間中,并將發(fā)送確認(rèn)消息寫入通知頁(yè)中;
[0255]通過接收計(jì)算裝置11的通知核向發(fā)送計(jì)算裝置的通知核發(fā)送第二中斷消息,以便發(fā)送計(jì)算裝置根據(jù)第二中斷消息在發(fā)送計(jì)算裝置的通知頁(yè)中獲取發(fā)送確認(rèn)消息。
[0256]可選的接收器1104用于接收消息鏈表獲取通信描述頁(yè)。
[0257]進(jìn)一步的,接收計(jì)算裝置11還包括發(fā)射器1105,發(fā)射器1105與數(shù)據(jù)總線1103連接,獲取的描述頁(yè)中獲取端口號(hào),并在端口號(hào)指示的端口上接收發(fā)送消息;通過接收計(jì)算裝置11將完成發(fā)送消息的通信頁(yè)插入通信共享內(nèi)存中的待歸還通信鏈表。
[0258]上述計(jì)算裝置通過獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存,在通信共享內(nèi)存中存放發(fā)送消息,以便接收計(jì)算裝置在通信共享內(nèi)存獲取發(fā)送消息,這樣就能夠消除消息傳輸過程中的數(shù)據(jù)內(nèi)容拷貝及頁(yè)表操作,進(jìn)一步的由于不需要通過專門的信令通知各個(gè)計(jì)算裝置進(jìn)行發(fā)送消息的接收或發(fā)送,經(jīng)過接收計(jì)算裝置11掃描消息接收鏈表可以判斷是否存在消息,因此能夠降低數(shù)據(jù)傳輸?shù)母蓴_。
[0259]參照?qǐng)D16所示,本發(fā)明實(shí)施例提供一種管理裝置12,包括:
[0260]包括處理器1201、存儲(chǔ)器1202和數(shù)據(jù)總線1203,其中處理器和存儲(chǔ)器通過數(shù)據(jù)總線連接,其中
[0261]該數(shù)據(jù)總線1203可以是工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(Industry Standard Architecture,ISA)總線、外部設(shè)備互連(Peripheral Component, PCI)總線或擴(kuò)展工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(Extended Industry Standard Architecture,EISA)總線等。該總線 1203 可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖16中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。
[0262]存儲(chǔ)器1202用于存儲(chǔ)數(shù)據(jù)或可執(zhí)行程序代碼,其中程序代碼包括計(jì)算機(jī)操作指令,具體可以為:操作系統(tǒng)、應(yīng)用程序等。存儲(chǔ)器1202可能包含高速RAM存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器(non-vo latile memory ),例如至少一個(gè)磁盤存儲(chǔ)器。
[0263]處理器1201可能是一個(gè)中央處理器(Central Processing Unit, CPU),或者是特定集成電路(Applicat1n Specific Integrated Circuit, ASIC),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。
[0264]處理器1201用于生成全局消息頁(yè),全局消息頁(yè)包括接收計(jì)算裝置的通知頁(yè)和通知核;并將全局消息頁(yè)映射到所有計(jì)算裝置的內(nèi)核地址空間中,其中通知頁(yè)用于存儲(chǔ)通知核用于傳輸中斷消息。
[0265]進(jìn)一步的,處理器1201用于掃描各個(gè)發(fā)送計(jì)算裝置的發(fā)送消息鏈表;
[0266]管理裝置12還包括發(fā)射器1204,發(fā)射器1204與數(shù)據(jù)總線1103連接用于將發(fā)送計(jì)算裝置中的發(fā)送消息鏈表中的通信描述頁(yè)插入接收計(jì)算裝置的接收消息鏈表;
[0267]處理器1201查詢各個(gè)計(jì)算裝置中的待歸還消息鏈表;
[0268]發(fā)射器1204用于將待歸還消息鏈表中的通信頁(yè)插入對(duì)應(yīng)的計(jì)算裝置中。
[0269]上述管理裝置12,通過掃描各個(gè)發(fā)送計(jì)算裝置的發(fā)送消息鏈表確定是否需要通信描述頁(yè)的轉(zhuǎn)移,這樣不需要通過專門的信令通知管理裝置發(fā)送通信描述頁(yè),因此能夠降低數(shù)據(jù)傳輸干擾。
[0270]參照?qǐng)D17所示,本發(fā)明實(shí)施例提供一種通信系統(tǒng),包括:
[0271]至少兩個(gè)計(jì)算裝置,一個(gè)為發(fā)送計(jì)算裝置1301,另一個(gè)為接收計(jì)算裝置1302 ;
[0272]進(jìn)一步可選的,還包括一個(gè)管理裝置1303。
[0273]其中,發(fā)送計(jì)算裝置、接收計(jì)算裝置及管理裝置運(yùn)行在同一個(gè)節(jié)點(diǎn)內(nèi);它們的通信共享內(nèi)存都分配在同一線性地址空間上,進(jìn)行數(shù)據(jù)傳輸及頁(yè)表操作。
[0274]其中,參照?qǐng)D18所示,發(fā)送計(jì)算裝置10、接收計(jì)算裝置11及管理裝置12通過通信共享內(nèi)存建立全局消息通道,主要用于進(jìn)行非實(shí)時(shí)消息的傳輸,由管理裝置實(shí)現(xiàn)信息的轉(zhuǎn)發(fā),具體過程參照上述方法及裝置實(shí)施例的描述,這里不再贅述;
[0275]進(jìn)一步的,參照?qǐng)D19所示,發(fā)送計(jì)算裝置10和接收計(jì)算裝置11可以通過通信共享內(nèi)存建立專用消息通道,主要用于進(jìn)行實(shí)時(shí)消息的傳輸,其中專用消息通道的建立可以通過各計(jì)算裝置與管理裝置12之間控制消息通道傳輸?shù)目刂菩畔⒖刂茖?shí)現(xiàn),具體過程參照上述方法及裝置實(shí)施例的描述,這里就不在贅述。
[0276]以上的通信系統(tǒng),發(fā)送計(jì)算裝置獲取通信共享內(nèi)存,通信共享內(nèi)存為發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存,在通信共享內(nèi)存中存放發(fā)送消息,以便接收計(jì)算裝置在通信共享內(nèi)存獲取發(fā)送消息,這樣就能夠消除消息傳輸過程中的數(shù)據(jù)內(nèi)容拷貝及頁(yè)表操作,進(jìn)一步的由于不需要通過專門的信令通知各個(gè)計(jì)算裝置進(jìn)行發(fā)送消息的接收或發(fā)送,因此能夠降低數(shù)據(jù)傳輸干擾;由全局通道實(shí)現(xiàn)非實(shí)時(shí)消息傳輸,并由專用消息通道實(shí)現(xiàn)實(shí)時(shí)消息傳輸和頻繁的消息傳輸,提高了通信系統(tǒng)的靈活性。
[0277]以上,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種通信方法,其特征在于,包括: 發(fā)送計(jì)算裝置獲取通信共享內(nèi)存,所述通信共享內(nèi)存為所述發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存; 在所述通信共享內(nèi)存中存放發(fā)送消息,以便所述接收計(jì)算裝置在所述通信共享內(nèi)存獲取所述發(fā)送消息。
2.根據(jù)權(quán)利要求1所述的通信方法,其特征在于,所述發(fā)送計(jì)算裝置獲取通信共享內(nèi)存之后,包括: 所述發(fā)送計(jì)算裝置將所述通信共享內(nèi)存的通信共享內(nèi)存信息發(fā)送至所述接收計(jì)算裝置,以便于所述接收計(jì)算裝置根據(jù)所述通信共享內(nèi)存信息獲取所述通信共享內(nèi)存。
3.根據(jù)權(quán)利要求2所述的通信方法,其特征在于,所述發(fā)送計(jì)算裝置將所述通信共享內(nèi)存的通信共享內(nèi)存信息發(fā)送至所述接收計(jì)算裝置,包括: 所述發(fā)送計(jì)算裝置在內(nèi)核地址空間獲取全局消息頁(yè),其中所述全局消息頁(yè)包括所述接收計(jì)算裝置的通知頁(yè)和通知核; 所述發(fā)送計(jì)算裝置將所述接收計(jì)算裝置的通知頁(yè)映射到自身地址空間中,并將通信共享內(nèi)存信息寫入所述通知頁(yè)中; 所述發(fā)送計(jì)算裝置通過所述發(fā)送計(jì)算裝置的通知核向所述接收計(jì)算裝置的通知核發(fā)送第一中斷消息,以便所述接收計(jì)算裝置根據(jù)所述第一中斷消息在所述接收計(jì)算裝置的通知頁(yè)中獲取所述通信共享內(nèi)存信息。
4.根據(jù)權(quán)利要求3所述的通信方法,其特征在于,在所述通信共享內(nèi)存中存放發(fā)送消息之后,所述方法還包括: 所述發(fā)送計(jì)算裝置通過所述發(fā)送計(jì)算裝置的通知核接收所述接收計(jì)算裝置的通知核發(fā)送的第二中斷消息; 所述發(fā)送計(jì)算裝置根據(jù)所述第二中斷消息在所述接收計(jì)算裝置的通知頁(yè)中獲取發(fā)送確認(rèn)消息。
5.根據(jù)權(quán)利要求1所述的通信方法,其特征在于,所述發(fā)送計(jì)算裝置獲取通信共享內(nèi)存,包括: 所述發(fā)送計(jì)算裝置在通信共享內(nèi)存中獲取空閑通信頁(yè)。
6.根據(jù)權(quán)利要求5所述的通信方法,其特征在于,在所述通信共享內(nèi)存中存放發(fā)送消息,包括: 將所述發(fā)送消息拷貝至所述空閑通信頁(yè)生成通信頁(yè); 獲取所述通信頁(yè)的通信描述頁(yè); 將所述通信描述頁(yè)插入所述通信共享內(nèi)存中的發(fā)送消息鏈表。
7.一種通信方法,其特征在于,包括: 接收計(jì)算裝置獲取通信共享內(nèi)存,所述通信共享內(nèi)存為所述發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存; 在所述通信共享內(nèi)存中獲取所述發(fā)送計(jì)算裝置存入的發(fā)送消息。
8.根據(jù)權(quán)利要求7所述的通信方法,其特征在于,所述接收計(jì)算裝置獲取通信共享內(nèi)存之前,包括: 所述接收計(jì)算裝置獲取所述發(fā)送計(jì)算裝置發(fā)送的通信共享內(nèi)存信息; 所述接收計(jì)算裝置獲取通信共享內(nèi)存,包括: 根據(jù)所述通信共享內(nèi)存信息映射至所述通信共享內(nèi)存,以便在所述通信共享內(nèi)存中獲取所述發(fā)送計(jì)算裝置存入的發(fā)送消息。
9.根據(jù)權(quán)利要求8所述的通信方法,其特征在于,所述接收計(jì)算裝置獲取所述發(fā)送計(jì)算裝置發(fā)送的通信共享內(nèi)存信息,包括: 所述接收計(jì)算裝置通過所述接收計(jì)算裝置的通知核接收所述發(fā)送計(jì)算裝置的通知核發(fā)送的第一中斷消息; 所述接收計(jì)算裝置根據(jù)所述第一中斷消息在所述接收計(jì)算裝置的通知頁(yè)中獲取所述通信共享內(nèi)存信息。
10.根據(jù)權(quán)利要求9所述的通信方法,其特征在于,在所述通信共享內(nèi)存中獲取所述發(fā)送計(jì)算裝置存入的發(fā)送消息之后,還包括: 所述接收計(jì)算裝置在內(nèi)核地址空間獲取全局消息頁(yè),其中所述全局消息頁(yè)包括所述接收計(jì)算裝置的通知頁(yè)和通知核; 所述接收計(jì)算裝置將所述接收計(jì)算裝置的通知頁(yè)映射到自身地址空間中,并將發(fā)送確認(rèn)消息寫入所述通知頁(yè)中; 所述接收計(jì)算裝置通過所述接收計(jì)算裝置的通知核向所述發(fā)送計(jì)算裝置的通知核發(fā)送第二中斷消息,以便所述發(fā)送計(jì)算裝置根據(jù)所述第二中斷消息在所述發(fā)送計(jì)算裝置的通知頁(yè)中獲取所述發(fā)送確認(rèn)消息。
11.根據(jù)權(quán)利要求7所述的通信方法,其特征在于,所述接收計(jì)算裝置獲取發(fā)送計(jì)算裝置發(fā)送的通信共享內(nèi)存信息,包括: 所述接收計(jì)算裝置掃描所述通信共享內(nèi)存中的接收消息鏈表; 在所述通信共享內(nèi)存中的接收消息鏈表獲取通信描述頁(yè)。
12.根據(jù)權(quán)利要求11所述的通信方法,其特征在于,在所述通信共享內(nèi)存中獲取所述發(fā)送計(jì)算裝置存入的發(fā)送消息,包括: 在所述通信描述頁(yè)中獲取端口號(hào),并在所述端口號(hào)指示的端口上從所述通信共享內(nèi)存中接收發(fā)送消息。
13.根據(jù)權(quán)利要求12所述的通信方法,在所述通信共享內(nèi)存中獲取所述發(fā)送計(jì)算裝置存入的發(fā)送消息之后,包括: 所述接收計(jì)算裝置將所述完成發(fā)送消息的通信頁(yè)插入所述通信共享內(nèi)存中的待歸還通信鏈表。
14.一種通信方法,其特征在于,包括: 管理裝置生成全局消息頁(yè),所述全局消息頁(yè)包括接收計(jì)算裝置的通知頁(yè)和通知核; 將所述全局消息頁(yè)映射到所有計(jì)算裝置的內(nèi)核地址空間中,其中所述通知頁(yè)用于存儲(chǔ)所述通知核,所述通知核用于傳輸中斷消息。
15.一種通信方法,其特征在于,包括: 管理裝置掃描各個(gè)發(fā)送計(jì)算裝置的發(fā)送消息鏈表; 將所述發(fā)送計(jì)算裝置中的發(fā)送消息鏈表中的通信描述頁(yè)插入接收計(jì)算裝置的接收消息鏈表; 所述管理裝置查詢各個(gè)計(jì)算裝置中的待歸還消息鏈表; 將所述待歸還消息鏈表中的通信頁(yè)插入對(duì)應(yīng)的計(jì)算裝置中。
16.一種發(fā)送計(jì)算裝置,其特征在于,包括: 內(nèi)存分配單元,用于獲取通信共享內(nèi)存,所述通信共享內(nèi)存為所述發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存; 消息發(fā)送單元,用于在所述內(nèi)存分配單元獲取的所述通信共享內(nèi)存中存放發(fā)送消息,以便所述接收計(jì)算裝置在所述通信共享內(nèi)存獲取所述發(fā)送消息。
17.根據(jù)權(quán)利要求16所述的發(fā)送計(jì)算裝置,其特征在于,所述發(fā)送計(jì)算裝置,還包括: 信息發(fā)送單元,用于將所述內(nèi)存分配單元獲取的所述通信共享內(nèi)存的通信共享內(nèi)存信息發(fā)送至所述接收計(jì)算裝置,以便于所述接收計(jì)算裝置根據(jù)所述通信共享內(nèi)存信息獲取所述通信共享內(nèi)存。
18.根據(jù)權(quán)利要求17所述的發(fā)送計(jì)算裝置,其特征在于,所述信息發(fā)送單元包括: 內(nèi)核分配子單元,用于在內(nèi)核地址空間獲取全局消息頁(yè),其中所述全局消息頁(yè)包括所述接收計(jì)算裝置的通知頁(yè)和通知核; 寫入子單元,用于將所述內(nèi)核分配子單元獲取的所述接收計(jì)算裝置的通知頁(yè)映射到自身地址空間中,并將通信共享內(nèi)存信息寫入所述通知頁(yè)中; 發(fā)送子單元,用于通過所述內(nèi)核分配子單元獲取的所述發(fā)送計(jì)算裝置的通知核向所述接收計(jì)算裝置的通知核發(fā)送第一中斷消息,以便所述接收計(jì)算裝置根據(jù)所述第一中斷消息在所述接收計(jì)算裝置的通知頁(yè)中獲取所述通信共享內(nèi)存信息。
19.根據(jù)權(quán)利要求18所述的發(fā)送計(jì)算裝置,其特征在于,還包括: 中斷消息接收單元,用于通過所述內(nèi)核分配子單元獲取的所述發(fā)送計(jì)算裝置的通知核接收所述接收計(jì)算裝置的通知核發(fā)送的第二中斷消息; 確認(rèn)消息發(fā)送單元,用于通過中斷消息接收單元接收的第二中斷消息在所述接收計(jì)算裝置的通知頁(yè)中獲取發(fā)送確認(rèn)消息。
20.根據(jù)權(quán)利要求16所述的發(fā)送計(jì)算裝置,其特征在于,所述內(nèi)存分配單元具體用于在通信共享內(nèi)存中獲取空閑通信頁(yè)。
21.根據(jù)權(quán)利要求20所述的發(fā)送計(jì)算裝置,其特征在于,所述消息發(fā)送單元包括: 消息上傳子單元,用于將發(fā)送消息拷貝至所述空閑通信頁(yè)生成通信頁(yè); 消息描述子單元,用于從所述消息上傳子單元生成的通信頁(yè)中獲取通信描述頁(yè);描述消息轉(zhuǎn)移子單元,用于將所述消息描述子單元獲取的通信描述頁(yè)插入所述通信共享內(nèi)存中的發(fā)送消息鏈表。
22.一種接收計(jì)算裝置,其特征在于,包括: 內(nèi)存分配單元,用于獲取通信共享內(nèi)存,所述通信共享內(nèi)存為所述發(fā)送計(jì)算裝置和接收計(jì)算裝置的共享內(nèi)存; 消息接收單元,用于在所述內(nèi)存分配單元中獲取所述發(fā)送計(jì)算裝置存入的發(fā)送消息。
23.根據(jù)權(quán)利要求22所述的接收計(jì)算裝置,其特征在于,所述接收計(jì)算裝置,還包括: 信息接收單元,用于獲取所述發(fā)送計(jì)算裝置發(fā)送的通信共享內(nèi)存信息; 所述內(nèi)存分配單元,具體用于根據(jù)所述通信共享內(nèi)存信息映射至所述通信共享內(nèi)存,以便在所述通信共享內(nèi)存中獲取所述信息接收單元存入的發(fā)送消息。
24.根據(jù)權(quán)利要求23所述的接收計(jì)算裝置,其特征在于,所述信息接收單元,包括: 中斷消息接收子單元,用于接收所述接收計(jì)算裝置的通知核接收所述發(fā)送計(jì)算裝置的通知核發(fā)送的第一中斷消息; 存入子單元,用于通過中斷消息接收子單元接收的所述第一中斷消息在所述接收計(jì)算裝置的通知頁(yè)中獲取所述通信共享內(nèi)存信息。
25.根據(jù)權(quán)利要求24所述的接收計(jì)算裝置,其特征在于,所述接收計(jì)算裝置,還包括: 內(nèi)核分配單元,用于在內(nèi)核地址空間中獲取全局消息頁(yè),其中所述全局消息頁(yè)包括所述接收計(jì)算裝置的通知頁(yè)和通知核; 寫入單元,用于通過所述內(nèi)核分配單元將所述接收計(jì)算裝置的通知頁(yè)映射到自身地址空間中,并將發(fā)送確認(rèn)消息寫入所述通知頁(yè)中; 發(fā)送單元,用于通過所述內(nèi)核分配單元通過所述接收計(jì)算裝置的通知核向所述發(fā)送計(jì)算裝置的通知核發(fā)送第二中斷消息,以便所述發(fā)送計(jì)算裝置根據(jù)所述第二中斷消息在所述發(fā)送計(jì)算裝置的通知頁(yè)中獲取所述發(fā)送確認(rèn)消息。
26.根據(jù)權(quán)利要求22所述的接收計(jì)算裝置,其特征在于,所述消息接收單元,包括: 接收掃描子單元,用于通過所述接收計(jì)算裝置掃描所述通信共享內(nèi)存中的接收消息鏈表; 描述頁(yè)獲取子單元,用于通過所述內(nèi)存分配單元中的接收消息鏈表獲取通信描述頁(yè)。
27.根據(jù)權(quán)利要求26所述的接收計(jì)算裝置,其特征在于,所述消息接收單元,包括: 消息下發(fā)子單元,用于通過所述描述頁(yè)獲取子單元獲取的描述頁(yè)中獲取端口號(hào),并在所述端口號(hào)指示的端口上接收發(fā)送消息。
28.根據(jù)權(quán)利要求27所述的接收計(jì)算裝置,其特征在于,還包括: 歸還通信頁(yè)單元,用于將所述完成發(fā)送消息的通信頁(yè)插入所述通信共享內(nèi)存中的待歸還通信鏈表。
29.—種管理裝置,其特征在于,包括: 全局頁(yè)生成單元,用于通過管理裝置生成全局消息頁(yè),所述全局消息頁(yè)包括接收計(jì)算裝置的通知頁(yè)和通知核; 全局頁(yè)發(fā)送單元,用于通過管理裝置將所述全局消息頁(yè)映射到所有計(jì)算裝置的內(nèi)核地址空間中,其中所述通知頁(yè)用于存儲(chǔ)所述通知核用于傳輸中斷消息。
30.一種管理裝置,其特征在于,包括: 發(fā)送掃描單元,用于通過管理裝置掃描各個(gè)發(fā)送計(jì)算裝置的發(fā)送消息鏈表; 描述頁(yè)轉(zhuǎn)移單元,用于通過所述管理裝置將所述發(fā)送計(jì)算裝置中的發(fā)送消息鏈表中的通信描述頁(yè)插入接收計(jì)算裝置的接收消息鏈表; 消息查詢單元,用于通過所述管理裝置查詢各個(gè)計(jì)算裝置中的待歸還消息鏈表; 通信頁(yè)歸還單元,用于通過所述管理裝置將所述待歸還消息鏈表中的通信頁(yè)插入對(duì)應(yīng)的計(jì)算裝置中。
31.一種通信系統(tǒng),其特征在于,包括至少兩個(gè)計(jì)算裝置,其中一個(gè)所述計(jì)算裝置為權(quán)利要求16-21任一項(xiàng)所述的發(fā)送計(jì)算裝置,另一個(gè)所述計(jì)算裝置為權(quán)利要求22至27任一項(xiàng)所述的接收計(jì)算裝置。
32.根據(jù)權(quán)利要求31所述的通信系統(tǒng),其特征在于,還包括權(quán)利要求29或30所述的管理裝置。
【文檔編號(hào)】G06F17/30GK104426958SQ201310384480
【公開日】2015年3月18日 申請(qǐng)日期:2013年8月29日 優(yōu)先權(quán)日:2013年8月29日
【發(fā)明者】譚崇康, 高云偉, 詹劍鋒, 解壁偉 申請(qǐng)人:華為技術(shù)有限公司, 中國(guó)科學(xué)院計(jì)算技術(shù)研究所