[發明專利]一種網絡通信的方法和系統有效
| 申請號: | 201210061918.8 | 申請日: | 2012-03-09 |
| 公開(公告)號: | CN103312625A | 公開(公告)日: | 2013-09-18 |
| 發明(設計)人: | 李文征;鐘超宇;陳健;吳悅;謝明 | 申請(專利權)人: | 深圳市騰訊計算機系統有限公司 |
| 主分類號: | H04L12/863 | 分類號: | H04L12/863 |
| 代理公司: | 深圳中一專利商標事務所 44237 | 代理人: | 張全文 |
| 地址: | 518000 廣東省深圳市南*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 網絡 通信 方法 系統 | ||
技術領域
本發明屬于網絡通信領域,尤其涉及一種收發網絡數據的方法和系統。
背景技術
在網絡系統的架構中,收發數據是一個很重要的問題,收發數據的及時與否直接影響到網絡的優良,現有技術的收發數據都是在用戶態直接調用系統進程進行數據的收發,這種方法雖然方便直接,但是每次數據的接收或發送都需要調用一次系統進程,這造成系統壓力過大,網絡數據收發性能低下的問題。
發明內容
本發明實施例的目的在于提供一種網絡通信的方法,旨在解決在現有的網絡數據收發技術直接在用戶態調用系統進程,網絡數據收發性能低下的問題。
本發明實施例是這樣實現的,一種網絡通信的方法,在系統內核中創建一個網絡數據收發線程和一個偵聽接口,所述方法包括下述步驟:
將所述網絡數據收發線程與所述偵聽接口進行關聯,并將所述偵聽接口加入epoll隊列;
所述偵聽接口對epoll隊列中的事件進行偵聽,當偵聽到需要收發數據的事件時,對不同的事件進行處理并通知與其關聯的網絡數據收發線程收發數據;
所述網絡數據收發線程根據所述偵聽接口的通知收發網絡數據。
本發明實施例的另一目的在于提供一種網絡通信的系統,所述系統的內核模塊中包括:
偵聽接口模塊,用于與網絡數據收發線程模塊進行關聯并加入epoll隊列,偵聽系統epoll隊列中的事件,對不同的需要收發數據的事件進行處理,并通知網絡數據收發線程收發模塊數據;
網絡數據收發線程模塊,用于與所述偵聽接口模塊進行關聯,根據所述偵聽接口模塊的通知收發網絡數據。
本發明實施例,通過在系統內核中建立偵聽接口,偵聽系統epoll隊列中的事件,并通知網絡數據收發線程導出socket相關的函數符號表,再在內核中使用該函數符號表對應的標準系統調用來收發數據,實現了一種在內核進程中偵聽時間,在導出函數符號表后調用對應的系統標準調用收發數據的方法,避免了現有技術直接頻繁使用標準系統調用,效率低下的問題。
附圖說明
圖1是本發明實施例提供的網絡通信方法的實現流程圖;
圖2是本發明實施例對不同網絡數據處理方法的示意圖;
圖3是本發明實施例提供的KMQ示意圖;
圖4是本發明實施例提供的數據處理線程、數據收發線程、KMQ內存的關系示意圖;
圖5是本發明實施例提供的網絡通信系統的結構圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
本發明實施例,通過在系統內核中建立偵聽接口,偵聽系統epoll隊列中的事件,并通知網絡數據收發線程導出socket相關的函數符號表,再在內核中使用該函數符號表對應的標準系統調用來收發數據,實現了一種在內核進程中偵聽時間,在導出函數符號表后調用對應的系統標準調用收發數據的方法,避免了現有技術直接頻繁使用標準系統調用,效率低下的問題。
實施例一:
圖1示出了本發明實施例提供的網絡通信方法的實現流程圖,詳述如下:
在步驟S101中,在系統內核中創建一個網絡數據收發線程和一個偵聽接口,將所述網絡數據收發線程與所述偵聽接口進行關聯,并將所述偵聽接口加入epoll隊列。
在本發明實施例中,在系統內核中創建一個網絡數據收發線程,該線程用于系統接收客戶端通過網絡發送的各種類型的數據,并將經過處理的數據返回給客戶端。并在系統的內核中創建一個偵聽接口,將該偵聽接口與所述網絡數據收發線程進行綁定,并將該偵聽接口加入到epoll隊列中,使該偵聽接口在epoll隊列中循環運行。
在步驟S102中,所述偵聽接口對epoll隊列中的事件進行偵聽,當偵聽到需要收發數據的事件時,對不同的事件進行處理并通知與其關聯的網絡數據收發線程收發數據。
在本發明實施例中,偵聽接口將需要收發數據的事件分為:新連接事件、socket事件和KMQ事件三種,在這三種事件中:新連接事件是接收網絡數據的事件,socket事件是接收網絡數據的事件,KMQ事件則是向網絡發送數據的事件。當該偵聽接口偵聽到epoll隊列中有需要收發數據的事件時,判斷所述事件的類型,通知與其關聯的網絡數據收發線程收發數據,對于不同的事件的處理方法具體為,如圖2所示:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市騰訊計算機系統有限公司,未經深圳市騰訊計算機系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210061918.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:將網頁圖片上傳到網絡相冊的方法和系統
- 下一篇:一種提高白酒品級的方法





