[发明专利]零拷贝驱动的实现方法和装置无效
申请号: | 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.vipzhuanli.com/pat/books/201110402865.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:无线通信网络
- 下一篇:乙二醇二烷基醚的合成方法