【技术实现步骤摘要】
一种网络流量数据索引方法及系统
本专利技术涉及计算机网络流量存储,特别涉及一种网络流量数据索引方法及系统。
技术介绍
随着网络应用和用户的增加,网络流数据的规模越来越大,普通小型网络或者校园规模的网络流量带宽都已经到达1-10Gbps的速度,如此高速的网络链路带给网络流量存储与检索系统巨大的挑战。为了满足网络管理及网络取证等需求,系统应保证既能够实时存储网络数据流量,又可以在大规模网络数据集上进行高效的检索操作。例如,在网络取证操作中,运营商需要使用能方便有效地扫描存储的数据集的工具来检测入侵活动。当前,网络历史流量大多采用以下两种存储方法:第一种是存储流记录,常见的流记录采集、存储方法有sFlow、NetFlow和IPFIX等,这些方法仅仅保存了粗略的网络统计信息;另一种是存储网络的所有数据包,这些数据包不仅包含了头部信息,而且也包含了部分甚至全部的载荷内容。无论是存储流记录还是存储数据包,如何快速的检索这些流量数据是非常关键的。通常我们会对存储的流量数据建立索引以满足之后的查询工作。在面对高速链路、大规模网络和复杂多样应用时,仍旧存在着大量的挑战。网络流量的索引方法必须支持高速的实时插入速度、快速的查询响应以及较小的存储空间。在流量索引方法的研究方面,目前主要有三种索引方法:哈希索引,多路搜索树索引以及位图索引方法:(1)哈希索引方法:网络流量存储系统Time-Machine就是采用这种索引方法。此方法在开始阶段,每次记录的插入只会消耗较小的CPU时间。但是随着记录数目的增加,由于哈希链冲突的不断增加,之后的插入操作将会花费大量的时间去查找哈希表中的对 ...
【技术保护点】
一种网络流量数据索引方法,其特征在于,包括下列步骤:步骤1,实时捕获网络流量数据;步骤2,所述网络流量数据具有多个索引字段,在内存中通过使所述索引字段维护位图‑字典树来建立并存储所述网络流量数据的索引结构,对于所述索引字段按字节来划分键值,通过使所述键值在所述位图‑字典树的位图结构中所对应的非叶子节点的指针具有孩子节点、叶子节点的指针指向存储位置链表来更新所述网络流量数据的索引结构;步骤3,根据用户的查询请求查询所述索引结构从而获得网络流量数据的存储位置信息,将该存储位置信息返回给用户,用户根据该存储位置信息获取响应的数据。
【技术特征摘要】
1.一种网络流量数据索引方法,其特征在于,包括下列步骤:步骤1,实时捕获网络流量数据;步骤2,所述网络流量数据具有多个索引字段,在内存中通过使所述索引字段维护位图-字典树来建立并存储所述网络流量数据的索引结构,对于所述索引字段按字节来划分键值,通过使所述键值在所述位图-字典树的位图结构中所对应的非叶子节点的指针具有孩子节点、叶子节点的指针指向存储位置链表来更新所述网络流量数据的索引结构;步骤3,根据用户的查询请求查询所述索引结构从而获得网络流量数据的存储位置信息,将该存储位置信息返回给用户,用户根据该存储位置信息获取响应的数据;其中在所述步骤2中,所述位图-字典树的高度等于所述索引字段的字节大小,对于所述索引字段按照每个字节一个键值来划分,更新所述网络流量数据的索引结构的方法具体为:依次获取所述索引字段对应的键值,通过检测所述键值在所述位图-字典树的非叶子节点的位图结构中所对应的比特值为1,来判断所述非叶子节点的指针具有孩子节点,若不具有孩子节点,则分配一个新节点,并使所述键值对应的指针指向该新节点,同时将该比特值置为1,以使所述非叶子节点的指针具有孩子节点,到达所述位图-字典树的叶子节点时,使所述叶子节点对应指针指向存储位置链表,在该存储位置链表中新增所述索引字段的存储位置信息;所述步骤3的查询所述索引结构的查询过程为,将查询条件按照每个字节一个键值来划分,其中最后一个键值为未知键值,依此获取所述查询条件的键值,通过读取所述键值在所述位图-字典树的非叶子节点的位图结构中所对应的比特值为1来获取根节点对应孩子节点在磁盘中的存储位置,并读取该位置上的位图-字典树节点,否则返回查询结果为空,到达最后一个键值的前一个键值时,获取其在位图-字典树的位图结构中所对应的所有比特值为1的位,然后获取该所有比特值为1的位的偏移位置,最后读取这些偏移位置的叶子节点和其对应的链表元素,并将链表元素进行合并返回。2.如权利要求1所述的网络流量数据索引方法,其特征在于,当内存中的所述索引结构所占用的内存空间大于内存阈值时,将所述索引结构存入磁盘,并在所述索引结构中增加一条记录并指向磁盘存储的位置,同时在内存中建立一个新的索引结构,用于处理后续的网络流量数据。3.如权利要求2所述的网络流量数据索引方法,其特征在于,将所述索引结构存入磁盘的具体方式为,在磁盘中按照所述位图-字典树的层来存储所述索引结构,且各层采用连续存储方式。4.如权利要求2或3所述的网络流量数据索引方法,其特征在于,将所述索引结构存入磁盘的方法具体为,对于所述位图-字典树的每个节点,先存储位图结构,然后存储一个文件偏移位置的数组,该数组示出所述位图-字典树的每个节点的各孩子节点在磁盘中的存储位置,而对于所述位图-字典树的每个叶子节点,该数组示出每个叶子节点对应链表的存储位置。5.一种网络流量数据索引系统,其特征在于,包...
【专利技术属性】
技术研发人员:贺泰华,张广兴,谢高岗,董尚文,付乔宾,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。