[發明專利]多網卡協同通信方法無效
| 申請號: | 200710027717.5 | 申請日: | 2007-04-26 |
| 公開(公告)號: | CN101296157A | 公開(公告)日: | 2008-10-29 |
| 發明(設計)人: | 馬維旻;吳楚均 | 申請(專利權)人: | 北京師范大學珠海分校 |
| 主分類號: | H04L12/56 | 分類號: | H04L12/56;G06F12/00 |
| 代理公司: | 廣州三環專利代理有限公司 | 代理人: | 溫旭 |
| 地址: | 519085*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 網卡 協同 通信 方法 | ||
1、一種多網卡協同通信方法,其特征在于,各網卡通信進程間通過文件映射對象來分配和訪問同一個共享內存塊。
2、如權利要求1所述的多網卡協同通信方法,其特征在于,所述通信進程包括發送進程和接收進程,由發送進程負責向接收進程發送數據,文件映射對象由發送進程或接收進程創建和關閉,并且指定一個唯一的名字供接收進程使用,接收進程直接通過這個唯一指定的名字打開此文件映射對象,并完成對數據的接收。
3、如權利要求2所述的多網卡協同通信方法,其特征在于,所述文件映射對象的創建和關閉包括如下步驟:
(1)通過操作系統內部函數創建一個內存映射文件對象;
(2)創建成功則通過文件映像函數將此文件映射對象的視圖映射進地址空間,同時得到此映射視圖的首址;
(3)如果創建不成功,則返回錯誤碼;
(4)通知接收進程內存文件映射對象的視圖已經打開。
4、如權利要求3所述的多網卡協同通信方法,其特征在于,任何通信進程都可以查看內存映射文件對象是否已經創建,然后再對其進行操作。
5、如權利要求2所述的多網卡協同通信方法,其特征在于,數據的發送和接收包括如下步驟:
(1)先判斷共享內存中數據的新舊,如果數據是新的,說明數據還沒有被取走過,這時就休眠返回;如果數據是舊的,將數據從發送進程寫到共享內存中,創建一個新的進程,專門負責取走數據,該進程不斷檢查共享內存中是否有新數據可取,如果有新數據,則及時從共享內存中取走數據;
(2)當數據傳輸結束,即將退出程序時,需要將映射進來的內存文件映射對象視圖卸載和資源的釋放等處理。
6、如權利要求1所述的多網卡協同通信方法,其特征在于,它還在內存中設定一個信號燈標志,通信進程可以根據該信號燈標志判定是否能夠訪問某些共享資源,同時可根據要求允許某些進程修改該信號燈標志。
7、如權利要求6所述的多網卡協同通信方法,其特征在于,對所述信號燈標志的處理過程包括:
(1)網卡進程在需要進行通信的時候,首先查看信號燈標志是否創建。如果沒有創建的話,即創建一個信號燈標志,并對其進行初始化并賦初值,該初值代表可申請資源的數量。
(2)每個信號燈標志都有一個值以用來表示當前該信號燈標志所代表的共享資源可用數量,如果一個網卡通信進程接收另一個網卡的發送數據,就要向其申請共享資源,那么就從其信號燈值中減去要申請的數目,如果當前沒有足夠的可用資源,進程睡眠等待或立即返回,其他網卡通信進程根據數據傳輸要求,也可對信號燈值進行增加和減小。
8、如權利要求7所述的多網卡協同通信方法,其特征在于,對信號燈值進行增加和減小的過程為:首先查看可申請資源的數量,如果資源的數量大于零,即1時,程序先把資源值減1,再對共享內存進行操作,操作完了就要釋放資源,也就是把資源值加1,如果查看可申請資料的數量小于或等于零的話,說明共享內存在被其他進程所操作,這時候進程睡眠等待。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京師范大學珠海分校,未經北京師范大學珠海分校許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710027717.5/1.html,轉載請聲明來源鉆瓜專利網。





