[发明专利]一种Windows内核大数据高速通信技术在审
申请号: | 201711092202.3 | 申请日: | 2017-11-08 |
公开(公告)号: | CN109753365A | 公开(公告)日: | 2019-05-14 |
发明(设计)人: | 杨育斌;庞博;柯宗贵 | 申请(专利权)人: | 蓝盾信息安全技术股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 510665 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 大数据 读写 高速通信技术 高速通信 共享内存 直接方式 缓冲区 应用层 | ||
本发明公开了一种Windows内核大数据高速通信技术,该发明针对现有技术中Windows内核缓冲区设备读写,直接方式读写,和其他方式读写的不足,采用Windows内核共享内存的方案,达到Windows内核和应用层大数据高速通信的目的。
技术领域
本发明涉及一种互联网通信技术领域,特别涉及一种Windows内核大数据高速通信技术。
背景技术
千兆网卡抓包审计,需要在Windows内核中进行抓包,然后把内容发给应用层,进行处理,现有的通信方式速度太慢,无法满足千兆网卡抓包的吞吐量,导致经常丢包。所以需要一种大数据高速通信的技术方式,实现千兆网卡的吞吐量数据传输。
发明内容
为克服现有技术的不足,本发明通过驱动程序创建内核事件,分配内存页,并映射这些内存页到指定用户模式进程的地址空间,并且将地址返回给应用程序。应用程序打开事件句柄,并进行监听等待。驱动程序抓包获取数据,写入共享内存中,通过事件通知应用程序直接读取共享内存,进行循环处理。
驱动程序分配内存页并且映射这些页到特定进程的用户虚拟地址空间上。同时也允许驱动对分配内存的类型具有最大的控制能力。在驱动中使用MmAllocatePagesForMdl分配内存页,得到MDL,然后将该MDL所描述的内存映射到用户层地址空间(MmMapLockedPagesSpecifyCache)。得到用户地址空间的起始地址,并通过IOCTL返回给用户层。
驱动无论使用什么标准方法,都是希望分配内存来共享。例如,如果驱动需要一个适当的设备(逻辑)地址作DMA,就像内存块的内核虚拟地址,它能够使用AllocateCommonBuffer来分配内存。如果没有要求特定的内存特性,要被共享的内存大小也是适度的,驱动可以将0填充、非分页物理内存页分配给缓冲区。
本发明本发明技术方案带来的有益效果:
本发明采用Windows内核共享内存的方案,缓冲数据大,处理速度快,可以及时处理处理千兆网卡的抓包信息;同时安全稳定,不容易导致系统不稳定。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的流程示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
具体实施方案:
驱动程序分配内存页并且映射这些页到特定进程的用户虚拟地址空间上。同时也允许驱动对分配内存的类型具有最大的控制能力。在驱动中使用MmAllocatePagesForMdl分配内存页,得到MDL,然后将该MDL所描述的内存映射到用户层地址空间(MmMapLockedPagesSpecifyCache)。得到用户地址空间的起始地址,并通过IOCTL返回给用户层。
驱动无论使用什么标准方法,都是希望分配内存来共享。例如,如果驱动需要一个适当的设备(逻辑)地址作DMA,就像内存块的内核虚拟地址,它能够使用AllocateCommonBuffer来分配内存。如果没有要求特定的内存特性,要被共享的内存大小也是适度的,驱动可以将0填充、非分页物理内存页分配给缓冲区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于蓝盾信息安全技术股份有限公司,未经蓝盾信息安全技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711092202.3/2.html,转载请声明来源钻瓜专利网。