專利名稱:多網(wǎng)卡協(xié)同通信方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信和網(wǎng)絡(luò)測(cè)量技術(shù),尤其涉及一種多網(wǎng)卡協(xié)同通信方法。
技術(shù)背景.目前在網(wǎng)絡(luò)通信和網(wǎng)絡(luò)測(cè)量技術(shù)中,要測(cè)量多個(gè)網(wǎng)段的流量和性能數(shù)據(jù), 可每個(gè)網(wǎng)段都放置一臺(tái)監(jiān)測(cè)主機(jī)(或稱探針),對(duì)于監(jiān)測(cè)網(wǎng)段比較分散的情況是 可以的。如果是在中心機(jī)房,已經(jīng)將各網(wǎng)段的流量匯聚在一起,就可以通過(guò)一 臺(tái)主機(jī)安裝多塊網(wǎng)卡監(jiān)測(cè)不同的網(wǎng)段。而多臺(tái)主機(jī)之間的互聯(lián)通過(guò)交換機(jī)、集 線器或者路由器這樣的網(wǎng)絡(luò)連接設(shè)備。如果需要一 臺(tái)主機(jī)同時(shí)監(jiān)測(cè)多各不同的 局域網(wǎng),或者多臺(tái)分立主機(jī)通過(guò)一臺(tái)多網(wǎng)卡的主機(jī)互聯(lián),就需要在一臺(tái)主機(jī)上 安裝多個(gè)網(wǎng)卡,然后通過(guò)該主機(jī)實(shí)現(xiàn)對(duì)各不同局域網(wǎng)的監(jiān)測(cè),或者通過(guò)該主機(jī) 實(shí)現(xiàn)其他主機(jī)之間的通信。如果要求一臺(tái)主機(jī)上同時(shí)執(zhí)行多個(gè)指定任務(wù),比如要同時(shí)對(duì)多個(gè)網(wǎng)段進(jìn)行流 量采集與統(tǒng)計(jì)分析,然后把這些分析結(jié)果發(fā)送到另外指定的服務(wù)器上。要實(shí)現(xiàn)同一臺(tái)主機(jī)上不同網(wǎng)卡之間的通信,通常釆用的方法有兩種U)基于TCP/IP 協(xié)議的SOCKET機(jī)制;(2 )命名管道技術(shù)。對(duì)于第一種方法,基于TCP/IP協(xié)議的SOCKET機(jī)制下,每一個(gè)網(wǎng)卡收到一個(gè) 數(shù)據(jù)包即通過(guò)TCP/IP協(xié)議棧操作產(chǎn)生一次系統(tǒng)調(diào)用,系統(tǒng)調(diào)用次數(shù)多,十分浪 費(fèi)系統(tǒng)的資源。 ,對(duì)于第二種方法,管道對(duì)于管道兩端的進(jìn)程而言,就是一個(gè)文件,但它不 是普通的文件,它不屬于某種文件系統(tǒng),而是單獨(dú)構(gòu)成一種文件系統(tǒng),并且只 存在于內(nèi)存中。對(duì)管道的讀寫(xiě)相當(dāng)于對(duì)文件的讀寫(xiě),但是管道是半雙工的,數(shù) 據(jù)只能向一個(gè)方向流動(dòng)。如果需要進(jìn)行雙向通信,則需要建立兩個(gè)管道。命名 管道提供了一個(gè)路徑名與之關(guān)聯(lián),并以FIFO (First In First 0ut先進(jìn)先出)的存儲(chǔ)形式保存在當(dāng)前文件系統(tǒng)中。這祥,即使與FIFO創(chuàng)建進(jìn)程不存在親緣關(guān) 系的進(jìn)程,只要可以訪問(wèn)該路徑,就能彼此通過(guò)FIFO相互通信(即在能訪問(wèn)該 路徑的進(jìn)程和FIFO創(chuàng)建進(jìn)程之間)。由于FIFO嚴(yán)格遵循先進(jìn)先出,對(duì)管道及FIFO 的讀總是從開(kāi)始處返回?cái)?shù)據(jù),對(duì)它們的寫(xiě)則把數(shù)據(jù)添加到末尾。發(fā)明內(nèi)容針對(duì)現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的是提供一種多網(wǎng)卡協(xié)同通信方法,解 決多網(wǎng)卡通信進(jìn)程間大數(shù)據(jù)量數(shù)據(jù)交換緩慢、資源浪費(fèi)的問(wèn)題。為了實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案為 一種多網(wǎng)卡協(xié)同通信方法,各 網(wǎng)卡通信進(jìn)程間通過(guò)文件映射對(duì)象來(lái)分配和訪問(wèn)同一個(gè)共享內(nèi)存塊。所述通信進(jìn)程包括發(fā)送進(jìn)程和接收進(jìn)程,由發(fā)送進(jìn)程負(fù)責(zé)向接收進(jìn)程發(fā)送 數(shù)據(jù),文件映射對(duì)象由發(fā)送進(jìn)程或接收進(jìn)程創(chuàng)建和關(guān)閉,并且指定一個(gè)唯一的 名字供接收進(jìn)程使用,接收進(jìn)程直接通過(guò)這個(gè)唯一指定的名字打開(kāi)此文件映射 對(duì)象,并完成對(duì)數(shù)據(jù)的接收。所述文件映射對(duì)象的創(chuàng)建和關(guān)閉包括如下步驟(1)通過(guò)操作系統(tǒng)內(nèi)部函數(shù)創(chuàng)建一個(gè)內(nèi)存映射文件對(duì)象;(2 )創(chuàng)建成功則通過(guò)文件映像函數(shù)將此文件映射對(duì)象的視圖映射進(jìn)地址空 間,同時(shí)得到此映射^f見(jiàn)圖的首址;(3)如果創(chuàng)建不成功,則返回錯(cuò)誤碼;(4 )通知接收進(jìn)程內(nèi)存文件映射對(duì)象的視圖已經(jīng)打開(kāi)。任何通信進(jìn)程都可以查看內(nèi)存映射文件對(duì)象是否已經(jīng)創(chuàng)建,然后再對(duì)其進(jìn) 行操作。數(shù)據(jù)的發(fā)送和接收包括如下步驟(1)先判斷共享內(nèi)存中數(shù)據(jù)的新舊,如果數(shù)據(jù)是新的,說(shuō)明數(shù)據(jù)還沒(méi)有被 取走過(guò),這時(shí)就休眠返回;如果數(shù)據(jù)走舊的,將數(shù)據(jù)從發(fā)送進(jìn)程寫(xiě)到共享內(nèi)存 中,創(chuàng)建一個(gè)新的進(jìn)程,專門負(fù)責(zé)取走數(shù)據(jù),該進(jìn)程不斷檢查共享內(nèi)存中是否 有新數(shù)據(jù)可取,如果有新數(shù)據(jù),則及時(shí)從共享內(nèi)存中取走數(shù)據(jù);(2)當(dāng)數(shù)據(jù)傳輸結(jié)束,即將退出程序時(shí),需要將映射進(jìn)來(lái)的內(nèi)存文件映射 對(duì)象視圖卸載和資源的釋放等處理。它還在內(nèi)存中設(shè)定一個(gè)信號(hào)燈標(biāo)志,通信進(jìn)程可以4艮據(jù)該信號(hào)燈標(biāo)志判定是 否能夠訪問(wèn)某些共享資源,同時(shí)可根據(jù)要求允許某些進(jìn)程修改該信號(hào)燈標(biāo)志。對(duì)所述信號(hào)燈標(biāo)志的處理過(guò)程包括(1)網(wǎng)卡進(jìn)程在需要進(jìn)行通信的時(shí)候,首先查看信號(hào)燈標(biāo)志是否創(chuàng)建。如 果沒(méi)有創(chuàng)建的話,即創(chuàng)建一個(gè)信號(hào)燈標(biāo)志,并對(duì)其進(jìn)行初始化并賦初值,該初 值代表可申請(qǐng)資源的數(shù)量。(2 )每個(gè)信號(hào)燈標(biāo)志都有一個(gè)值以用來(lái)表示當(dāng)前該信號(hào)燈標(biāo)志所代表的共 享資源可用數(shù)量,如果一個(gè)網(wǎng)卡通信進(jìn)程接收另一個(gè)網(wǎng)卡的發(fā)送數(shù)據(jù),就要向 其申請(qǐng)共享資源,那么就從其信號(hào)燈值中減去要申請(qǐng)的數(shù)目,如果當(dāng)前沒(méi)有足 夠的可用資源,進(jìn)程睡眠等待或立即返回,其他網(wǎng)卡通信進(jìn)程根據(jù)數(shù)據(jù)傳輸要 求,也可對(duì)信號(hào)燈值進(jìn)行增加和減小。對(duì)信號(hào)燈值進(jìn)行增加和減小的過(guò)程為首先查看可申請(qǐng)資源的數(shù)量,如果 資源的數(shù)量大于零,即l時(shí),程序先把資源值減l,再對(duì)共享內(nèi)存進(jìn)行操作,操 作完了就要釋放資源,也就是把資源值加l,如果查看可申請(qǐng)資料的數(shù)量小于或 等于零的話,說(shuō)明共享內(nèi)存在被其他進(jìn)程所操作,這時(shí)候進(jìn)程睡眠等待。與現(xiàn)有技術(shù)相比,本發(fā)明的方法采用共享內(nèi)存允許兩個(gè)或多個(gè)進(jìn)程共享一 個(gè)給定的存儲(chǔ)區(qū),數(shù)據(jù)不需要來(lái)回復(fù)制,可看作是最快的一種進(jìn)程間通信機(jī)制。 共享內(nèi)存是通過(guò)直接操作內(nèi)存映射文件來(lái)進(jìn)行的,而內(nèi)存映射文件又是進(jìn)行單 機(jī)數(shù)據(jù)共享的最低層機(jī)制,而命名管道、基于消息的通信機(jī)制等幾種數(shù)據(jù)交換 方式在低層都是通過(guò)內(nèi)存映射文件來(lái)進(jìn)行的。因此使用共享內(nèi)存可以以較小的 開(kāi)銷獲取較高的性能,是進(jìn)行大數(shù)據(jù)量數(shù)據(jù)快速交換的最佳方案。這個(gè)方法可 以實(shí)現(xiàn)所謂的"零拷貝"。
圖l是本發(fā)明的多網(wǎng)卡協(xié)同通信方法應(yīng)用環(huán)境示意圖。圖2是網(wǎng)卡進(jìn)程的工作流程示意圖。
具體實(shí)施方式
請(qǐng)參閱圖1,本發(fā)明的多網(wǎng)卡協(xié)同通信方法應(yīng)用于于一臺(tái)通用計(jì)算機(jī)或嵌入 式系統(tǒng)。在計(jì)算機(jī)主板上或嵌入式系統(tǒng)專用板卡上安裝多塊網(wǎng)卡(數(shù)量的限制 受制于主板或嵌入式系統(tǒng)可擴(kuò)展口的數(shù)量)。多塊網(wǎng)卡根據(jù)實(shí)際需求可同時(shí)接入 到不同的被監(jiān)測(cè)網(wǎng)段或需要連通的計(jì)算機(jī)系統(tǒng)。根據(jù)本發(fā)明的多網(wǎng)卡協(xié)同通信方法,在Windows或Linux操作系統(tǒng)下,任何 一個(gè)進(jìn)程不允許讀取、寫(xiě)入或是修改另一個(gè)進(jìn)程的數(shù)據(jù)(包括變量、對(duì)象和內(nèi) 存分配等),但是在某個(gè)進(jìn)程內(nèi)創(chuàng)建的文件映射對(duì)象的視圖卻能夠?yàn)槎鄠€(gè)其他進(jìn) 程所映射,這些進(jìn)程共享的是物理存儲(chǔ)器的同一個(gè)頁(yè)面。任何想要訪問(wèn)該數(shù)據(jù) 的進(jìn)程都必須在本進(jìn)程的地址空間新增一塊內(nèi)存區(qū)域,用來(lái)映射存放共享數(shù)據(jù) 的物理內(nèi)存頁(yè)面。因此,當(dāng)一個(gè)進(jìn)程將數(shù)據(jù)寫(xiě)入此共享文件映射對(duì)象的視圖時(shí), 其他進(jìn)程可以立即獲取數(shù)據(jù)變更情況。為了進(jìn)一步提高數(shù)據(jù)交換的速度,采用 了由系統(tǒng)頁(yè)文件支持的內(nèi)存映射文件而直.接在內(nèi)存區(qū)域使用,顯然這種共享內(nèi) 存的方式是完全可以滿足在多網(wǎng)卡通信進(jìn)程間進(jìn)行大數(shù)據(jù)量數(shù)據(jù)快速傳輸任務(wù) 要求。下面給出在兩個(gè)相互獨(dú)立的網(wǎng)卡通信進(jìn)程間通過(guò)文件映射對(duì)象來(lái)分配和訪 問(wèn)同 一 個(gè)共享內(nèi)存塊的設(shè)計(jì)方法。多個(gè)網(wǎng)卡通信的實(shí)現(xiàn)機(jī)制類同。由發(fā)送進(jìn)程負(fù)責(zé)向接收進(jìn)程發(fā)送數(shù)據(jù),文件映射對(duì)象由發(fā)送進(jìn)程創(chuàng)建和關(guān) 閉,并且指定一個(gè)唯一的名字供接收進(jìn)程使用。接收進(jìn)程直接通過(guò)這個(gè)唯一指 定的名字打開(kāi)此文件映射對(duì)象,并完成對(duì)數(shù)據(jù)的接收。另外,接收進(jìn)程也可以 創(chuàng)建文件映射對(duì)象。流程如下1. 通過(guò)操作系統(tǒng)內(nèi)部函數(shù)創(chuàng)建一個(gè)內(nèi)存映射文件對(duì)象。2. 創(chuàng)建成功則通過(guò)文件映像函數(shù)將此文件映射對(duì)象的^L圖映射進(jìn)地址空間, 同時(shí)得到此映射視圖的首址。3. 如果創(chuàng)建不成功,則返回錯(cuò)誤碼。
4. 通知接收進(jìn)程內(nèi)存文件映射對(duì)象的視圖已經(jīng)打開(kāi)。(注任何進(jìn)程都可以 查看內(nèi)存映射文件對(duì)象是否已經(jīng)創(chuàng)建,然后再對(duì)其進(jìn)行操作)
5. 數(shù)據(jù)傳送。即將數(shù)據(jù)從發(fā)送進(jìn)程寫(xiě)到共享內(nèi)存中。創(chuàng)建一個(gè)新的進(jìn)程, 專門負(fù)責(zé)取走數(shù)據(jù)。該進(jìn)程不斷檢查共享內(nèi)存中是否有數(shù)據(jù)可取,如果有數(shù)據(jù), 則及時(shí)從共享內(nèi)存中取走數(shù)據(jù)。
6. 共享內(nèi)存釋放。當(dāng)數(shù)據(jù)傳輸結(jié)束,即將退出程序時(shí),需要將映射進(jìn)來(lái)的 內(nèi)存文件映射對(duì)象視圖卸載和資源的釋放等處理。
在多個(gè)網(wǎng)卡同時(shí)通過(guò)內(nèi)存共享方式通信時(shí),涉及到共享資源訪問(wèn)機(jī)制的問(wèn) 題,所以還需要控制進(jìn)程間的竟?fàn)巻?wèn)題。
請(qǐng)參閱圖2,本發(fā)明的方法還進(jìn)一步提供了對(duì)進(jìn)程間共享資源訪問(wèn)控制機(jī)制, 其在內(nèi)存中設(shè)定一個(gè)信號(hào)燈標(biāo)志,進(jìn)程可以根據(jù)該標(biāo)志判定是否能夠訪問(wèn)某些 共享資源,同時(shí),可根據(jù)要求,允許某些進(jìn)程可以修改該標(biāo)志。信號(hào)燈強(qiáng)調(diào)共 享資源,只要共享資源可用,其他進(jìn)程同樣可以修改信號(hào)燈的值。對(duì)信號(hào)燈的 操作流程是
1、 創(chuàng)建信號(hào)燈。網(wǎng)卡進(jìn)程在需要進(jìn)行通信的時(shí)候,首先查看信號(hào)燈是否創(chuàng) 建。如果沒(méi)有創(chuàng)建的話,即創(chuàng)建一個(gè)信號(hào)燈,并對(duì)其進(jìn)行初始化。初始化的重 要工作即賦初值,這個(gè)初值其實(shí)就是可申請(qǐng)資源的數(shù)量,程序中這個(gè)值就是l。
2、 信號(hào)燈值操作。每個(gè)信號(hào)燈都有一個(gè)值,可以用來(lái)表示當(dāng)前該信號(hào)燈代 表的共享資源可用數(shù)量。如果一個(gè)網(wǎng)卡通信進(jìn)程接收另一個(gè)網(wǎng)卡的發(fā)送數(shù)據(jù), 就要向其申請(qǐng)共享資源,那么就從其信號(hào)燈值中減去要申請(qǐng)的數(shù)目,如果當(dāng)前 沒(méi)有足夠的可用資源,進(jìn)程可以睡眠等待,也可以立即返回。其他網(wǎng)卡通信進(jìn) 程根據(jù)數(shù)據(jù)傳輸要求,也可對(duì)信號(hào)燈值進(jìn)行增加和減小。在本技術(shù)實(shí)現(xiàn)中,首 先查看可申請(qǐng)資源的數(shù)量,如果資源的數(shù)量大于零,即1時(shí),程序先把資源值 減l,再對(duì)共享內(nèi)存進(jìn)行操作,操作完了就要釋放資源,也就是把資源值加l。 如果查看可申請(qǐng)資料的數(shù)量小于或等于零的話,說(shuō)明共享內(nèi)存在被其他進(jìn)程所 操作,這時(shí)候進(jìn)程睡眠等待。
經(jīng)實(shí)際測(cè)試,使用共享內(nèi)存在處理多網(wǎng)卡通信進(jìn)程間大數(shù)據(jù)量數(shù)據(jù)的快速交換時(shí)表現(xiàn)出了良好的性能,在數(shù)據(jù)可靠性等方面要遠(yuǎn)遠(yuǎn)高于基于消息和命名 管道的實(shí)現(xiàn)方式,達(dá)到了很好的效果。
權(quán)利要求
1、一種多網(wǎng)卡協(xié)同通信方法,其特征在于,各網(wǎng)卡通信進(jìn)程間通過(guò)文件映射對(duì)象來(lái)分配和訪問(wèn)同一個(gè)共享內(nèi)存塊。
2、 如權(quán)利要求1所述的多網(wǎng)卡協(xié)同通信方法,其特征在于,所述通信進(jìn)程包括發(fā)送進(jìn)程和接收進(jìn)程,由發(fā)送進(jìn)程負(fù)責(zé)向接收進(jìn)程發(fā)送數(shù)據(jù),文件映射對(duì) 象由發(fā)送進(jìn)程或接收進(jìn)程創(chuàng)建和關(guān)閉,并且指定一個(gè)唯一的名字供接收進(jìn)程使 用,接收進(jìn)程直接通過(guò)這個(gè)唯一指定的名字打開(kāi)此文件映射對(duì)象,并完成對(duì)數(shù) 據(jù)的接收。
3、 如權(quán)利要求2所述的多網(wǎng)卡協(xié)同通信方法,其特征在于,所述文件映射 對(duì)象的創(chuàng)建和關(guān)閉包括如下步驟(1) 通過(guò)操作系統(tǒng)內(nèi)部函數(shù)創(chuàng)建一個(gè)內(nèi)存映射文件對(duì)象;(2) 創(chuàng)建成功則通過(guò)文件映像函數(shù)將此文件映射對(duì)象的視圖映射進(jìn)地址空 間,同時(shí)得到此映射一見(jiàn)圖的首址;(3) 如果創(chuàng)建不成功,則返回錯(cuò)誤碼;(4) 通知接收進(jìn)程內(nèi)存文件映射對(duì)象的視圖已經(jīng)打開(kāi)。
4、 如權(quán)利要求3所述的多網(wǎng)卡協(xié)同通信方法,其特征在于,任何通信進(jìn)程 都可以查看內(nèi)存映射文件對(duì)象是否已經(jīng)創(chuàng)建,然后再對(duì)其進(jìn)行才喿作。
5、 如權(quán)利要求2所述的多網(wǎng)卡協(xié)同通信方法,其特征在于,數(shù)據(jù)的發(fā)送和 接收包括如下步驟(1) 先判斷共享內(nèi)存中數(shù)據(jù)的新舊,如果數(shù)據(jù)是新的,說(shuō)明數(shù)據(jù)還沒(méi)有被 取走過(guò),這時(shí)就休眠返回;如果數(shù)據(jù)是舊的,將數(shù)據(jù)從發(fā)送進(jìn)程寫(xiě)到共享內(nèi)存 中,創(chuàng)建一個(gè)新的進(jìn)程,專門負(fù)責(zé)取走數(shù)據(jù),該進(jìn)程不斷檢查共享內(nèi)存中是否 有新數(shù)據(jù)可取,如果有新數(shù)據(jù),則及時(shí)從共享內(nèi)存中取走數(shù)據(jù);(2) 當(dāng)數(shù)據(jù)傳輸結(jié)束,即將退出程序時(shí),需要將映射進(jìn)來(lái)的內(nèi)存文件映射 對(duì)象視圖卸載和資源的釋放等處理。
6、 如權(quán)利要求1所述的多網(wǎng)卡協(xié)同通信方法,其特征在于,它還在內(nèi)存中設(shè)定一個(gè)信號(hào)燈標(biāo)志,通信進(jìn)程可以根據(jù)該信號(hào)燈標(biāo)志判定是否能夠訪問(wèn)某些 共享資源,同時(shí)可根據(jù)要求允許某些進(jìn)程修改該信號(hào)燈標(biāo)志。
7、 如權(quán)利要求6所述的多網(wǎng)卡協(xié)同通信方法,其特征在于,對(duì)所述信號(hào)燈 標(biāo)志的處理過(guò)程包括(1)網(wǎng)卡進(jìn)程在需要進(jìn)行通信的時(shí)候,首先查看信號(hào)燈標(biāo)志是否創(chuàng)建。如 果沒(méi)有創(chuàng)建的話,即創(chuàng)建一個(gè)信號(hào)燈標(biāo)志,并對(duì)其進(jìn)4于初始化并賦初值,該初 值代表可申請(qǐng)資源的數(shù)量。(2 )每個(gè)信號(hào)燈標(biāo)志都有一個(gè)值以用來(lái)表示當(dāng)前該信號(hào)燈標(biāo)志所代表的共 享資源可用數(shù)量,如果一個(gè)網(wǎng)卡通信進(jìn)程接收另一個(gè)網(wǎng)卡的發(fā)送數(shù)據(jù),就要向 其申請(qǐng)共享資源,那么就從其信號(hào)燈值中減去要申請(qǐng)的數(shù)目,如果當(dāng)前沒(méi)有足夠的可用資源,進(jìn)程睡眠等待或立即返回,其他網(wǎng)卡通信進(jìn)程根據(jù)數(shù)據(jù)傳輸要 求,也可對(duì)信號(hào)燈值進(jìn)行增加和減小。
8、 如權(quán)利要求7所述的多網(wǎng)卡協(xié)同通信方法,其特征在于,對(duì)信號(hào)燈值進(jìn) 行增加和減小的過(guò)程為首先查看可申請(qǐng)資源的數(shù)量,如果資源的數(shù)量大于零, 即1時(shí),程序先把資源值減1,再對(duì)共享內(nèi)存進(jìn)行操作,操作完了就要釋放資源, 也就是把資源值加l,如果查看可申請(qǐng)資料的數(shù)量小于或等于零的話,說(shuō)明共享 內(nèi)存在被其他進(jìn)程所操作,這時(shí)候進(jìn)程睡眠等待。
全文摘要
本發(fā)明公開(kāi)了一種多網(wǎng)卡協(xié)同通信方法,各網(wǎng)卡通信進(jìn)程間通過(guò)文件映射對(duì)象來(lái)分配和訪問(wèn)同一個(gè)共享內(nèi)存塊。本發(fā)明的方法采用共享內(nèi)存允許兩個(gè)或多個(gè)進(jìn)程共享一個(gè)給定的存儲(chǔ)區(qū),數(shù)據(jù)不需要來(lái)回復(fù)制,可看作是最快的一種進(jìn)程間通信機(jī)制。共享內(nèi)存是通過(guò)直接操作內(nèi)存映射文件來(lái)進(jìn)行的,而內(nèi)存映射文件又是進(jìn)行單機(jī)數(shù)據(jù)共享的最低層機(jī)制,而命名管道、基于消息的通信機(jī)制等幾種數(shù)據(jù)交換方式在低層都是通過(guò)內(nèi)存映射文件來(lái)進(jìn)行的。因此使用共享內(nèi)存可以以較小的開(kāi)銷獲取較高的性能,是進(jìn)行大數(shù)據(jù)量數(shù)據(jù)快速交換的最佳方案。這個(gè)方法可以實(shí)現(xiàn)所謂的“零拷貝”。
文檔編號(hào)G06F12/00GK101296157SQ20071002771
公開(kāi)日2008年10月29日 申請(qǐng)日期2007年4月26日 優(yōu)先權(quán)日2007年4月26日
發(fā)明者吳楚均, 馬維旻 申請(qǐng)人:北京師范大學(xué)珠海分校