发明名称 一种阿瑞斯协议分析系统中双缓存的设计与实现方法
摘要 一种阿瑞斯协议分析系统中双缓存的设计与实现方法采用了哈希链表的存储结构,即开地址散列表的存储方式对抓取的数据包进行存取,并创新性地增加了统计信息头结构,缩短查询时间。此外,本发明借鉴了内存池的存取机制,在对节点进行删除操作时,只对节点内容进行清空,而不释放节点空间,有效地提高了存储的效率。同时基于散列表的存储方式,在查询速度以及存储空间方面本身就具有优势,可以有效减少查找范围,降低查找时间,动态地扩充容量。另外,采用的双哈希链表的双缓冲机制,使得共享数据的两个不同模块在同一时刻可以并行地操作共享缓冲区,互不干扰,有效地减少了模块间的协作,大大地增加了模块的独立性。
申请公布号 CN102143083A 申请公布日期 2011.08.03
申请号 CN201110085747.8 申请日期 2011.04.02
申请人 南京邮电大学 发明人 王汝传;周东旭;李致远;韩志杰;徐鹤;邵星;赵丹
分类号 H04L12/56(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L12/56(2006.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 叶连生
主权项 一种阿瑞斯协议分析系统中双缓存的设计与实现方法,其特征在于该方法包括的步骤为:步骤1)进行需求分析,对内核抓包模块需要存储的信息进行详细分析,并生成需求分析文档;步骤2)根据步骤1的分析文档,理清内核抓包模块和内核数据处理模块的处理流程以及他们之间的逻辑关系,并生成逻辑交互图以及功能说明文档;步骤3)根据步骤2的逻辑关系以及功能说明文档,设计并实现了内核抓包模块中有关数据处理的相关步骤,并针对该模块对高速度和实时性的要求,专门设计基于哈希值的哈希链表结构的存储模式,该存储结构具有存储的灵活性,较线性表存储结构而言,具有更好的查询优势,并使用链表结构,可以随意增加哈希链表的容量;步骤4)根据步骤2的逻辑关系以及功能说明文档,设计并实现内核数据处理模块,并使用内核态与用户态通信套接字,实现该模块与用户态的双向通信,以及对哈希链表的读取操作,以及通知内核抓包模块完成双哈希链表之间的交互,提高模块与模块之间的独立性;步骤5)根据步骤2的逻辑关系以及功能说明文档,定义3种结构,包括:节点结构、线性表结构、哈希表头结构,设计并实现双缓冲结构下的哈希链表的节点创建、存储、读取、删除、获取节点个数操作,借鉴了内存池的相关特性在删除操作上使用只清空节点信息,而不释放内存的方式以提高写入速度,同时使用内核态的锁机制,对公共数据区进行数据保护,实现了数据的可靠操作。
地址 210003 江苏省南京市新模范马路66号