[發明專利]零拷貝驅動的實現方法和裝置無效
| 申請號: | 201110402865.7 | 申請日: | 2011-12-06 |
| 公開(公告)號: | CN102436400A | 公開(公告)日: | 2012-05-02 |
| 發明(設計)人: | 劉興彬;萬偉;王潑;李博文;陳科;王清;朱春屹;楊錦濤;李云華;董建珊;孫一鳴;劉鐵 | 申請(專利權)人: | 曙光信息產業股份有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京德恒律師事務所 11306 | 代理人: | 陸鑫;房嶺梅 |
| 地址: | 300384 天津市西青區華*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 拷貝 驅動 實現 方法 裝置 | ||
技術領域
本發明涉及通信領域,并且特別地,涉及一種零拷貝驅動的實現方法和裝置。
背景技術
近年來,主干網網絡帶寬增加迅速,網絡安全事件的種類和數量都呈現了指數性增長,由此可能需要多套針對不同安全事件的網絡審計系統來應對。
但是,由于機房空間、散熱、成本等因素的限制,因此通過無限增加服務器來運行新的業務系統和應對新增加的流量是難以實現的。為了實現多業務、大流量的處理,需要在一臺服務器上運行多套業務系統。為了實現這種方案,需要零拷貝驅動提供對多應用的捕包及管理支持。
零拷貝驅動是在用戶空間開辟一個共享內存區,通過內存映射機制,將網卡得到的數據直接放入用戶空間中,從而避免了層層協議檢測同時又避免了數據包從內核空間向用戶空間的拷貝,因此,零拷貝驅動明顯的提高了捕獲數據包的效率。
隨著網絡的迅速發展,網絡上各種新應用不斷出現,在促進網絡發展的同時也給網絡監管帶來越來越多的挑戰。為了維護國家安全、保障網民的根本利益,涌現出了一大批針對不同類型防御對象的類IDS(入侵檢測系統)。為提高類IDS系統的捕包效率,減少不必要的資源占用,曙光公司研發了支持主從應用的零拷貝驅動。
隨著時間的推移,網絡上安全事件的類型和數量不斷增加,直接導致流量審計系統的類型越來越多,零拷貝驅動程序原有的主從應用思想已經不能滿足一臺服務器上部署多個審計系統的需要,迫切的需要零拷貝驅動支持多個應用,并且需要每個應用都可以獨立的設置優先級,這樣可以在計算和存儲資源堅持時候盡量高優先級的應用多處理。
圖1是相關技術中從應用和主應用的丟包和取包策略的原理圖。如圖1所示,當從應用1和/或從應用2(圖1中的虛線所示)需要丟包的情況下,丟包的從應用需要在下次取包時去其他的指定位置(即,主應用的取包位置)進行取包。之前的零拷貝驅動雖然也考慮了對多應用的支持,但是,對于多應用的管理只采用了主從應用的管理思想,在這種主/從的管理方案中,主應用只有一個且具有最高優先級,而其他所有的從應用具有相同的優先級,這將會導致當一個從應用需要丟包時,其他的從應用同樣會丟包,在大批量部署服務器的情況下,這種方案會導致大量的從應用無法正常工作。
針對相關技術中零拷貝驅動針對不同從應用進行無差別地丟包而導致大量應用無法正常進行的問題,目前尚未提出有效的解決方案。
發明內容
針對相關技術中零拷貝驅動針對不同從應用進行無差別地丟包而導致大量應用無法正常工作的問題,本發明提出一種零拷貝驅動的實現方法和裝置,能夠根據不同應用實現不同的丟包判定,保證所有應用都可達到最大處理能力。
本發明的技術方案是這樣實現的:
根據本發明的一個方面,提供了一種零拷貝驅動的實現方法。
該方法包括:對于每個應用,判斷處理器的負載是否超過該應用所對應的負載閾值;在判斷結果為是的情況下,確定該應用需要丟包。
該方法可進一步包括:以預定周期獲取處理器的負載;并且,在針對每個應用判斷處理器的負載是否超過該應用所對應的負載閾值時,采用最近一次獲取的處理器的負載進行判斷。
其中,對于每個應用,在判斷處理器的負載小于或等于應用所對應的負載閾值的情況下,則繼續從該應用對應的位置獲取該應用的數據包。
此外,在確定該應用需要丟包的情況下,該方法可進一步包括:禁止該應用從該應用對應的位置獲取數據包。
并且,該方法還可以進一步包括:在禁止一個應用從該應用對應的位置獲取數據包的預定時間段結束之后,重新判斷處理器的負載是否超過該應用所對應的負載閾值。
其中,每個應用都預先設置有對應的負載閾值,該負載閾值取決于該應用的優先級。
根據本發明的另一方面,提供了一種零拷貝驅動的實現裝置
該裝置包括:判斷模塊,用于對于每個應用,判斷處理器的負載是否超過該應用所對應的負載閾值;確定模塊,用于在判斷結果為是的情況下,確定該應用需要丟包。
該裝置可進一步包括:獲取模塊,用于以預定周期獲取處理器的負載;并且,在針對每個應用判斷處理器的負載是否超過該應用所對應的負載閾值時,判斷模塊采用最近一次獲取的處理器的負載進行判斷。
該裝置還可以進一步包括:取包模塊,用于對于每個應用,在判斷模塊判斷處理器的負載小于或等于應用所對應的負載閾值的情況下,繼續從該應用對應的位置獲取該應用的數據包。
該裝置可以進一步包括:禁止模塊,用于在確定一個應用需要丟包的情況下,禁止該應用從該應用對應的位置獲取數據包。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于曙光信息產業股份有限公司,未經曙光信息產業股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110402865.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:無線通信網絡
- 下一篇:乙二醇二烷基醚的合成方法





