一种聚合型IP索引的建立和应用方法技术

技术编号:30412970 阅读:17 留言:0更新日期:2021-10-20 11:50
本发明专利技术公开了一种聚合型IP索引的建立和应用方法,属于数据处理技术领域。包括将所有IP域范围内的4个字节,转换对应为主机字节序的整数,建立空白位图索引;抽取一个时空内接收的所有数据块中的IP数据转化为整数,放入空白位图索引中对应的位置打上标记,形成处理索引;将处理索引进行逻辑“或”操作聚合到更大时空索引中;接收待查IP数据,确定待查IP数据转换为对应主机字节序的整数是否在更大时空索引中,若是则依次读取更小时空索引,直至定位到该IP数据。通过本发明专利技术所述的方法能够简单快速判断在数据有效时间范围内,原始数据中是否存在某IP数据。存在某IP数据。存在某IP数据。

【技术实现步骤摘要】
一种聚合型IP索引的建立和应用方法


[0001]本专利技术涉及数据处理领域,具体涉及一种聚合型IP索引的建立和应用方法。

技术介绍

[0002]系统按照时间或空间对网络流量进行采集,这些网络流量中包含了大量的原始数据。如果需要确定每段时间采集的流量中是否存在某IP数据,则需要进行IP索引建立和检索,但由于系统存储空间限制,需要进行IP数据和索引的删除。现有技术中,专利CN110825940A公开了一种网络数据包存储和查询方法,其技术方案为:在收到网络数据包时,将数据包放入数据包写入队列中;解析数据包的特征,并提取特征数据;根据特征数据生成布隆过滤器、位图索引和偏移数组文件;以大数据包文件方式写入数据包。
[0003]但是上述现有技术存在以下问题:首先,使用布隆过滤器无法实现索引的删除,容易造成系统存储空间的占用;其次,在构建索引时需要分别使用三种技术:布隆过滤器、位图 和数组索引,才能定位到数据所在偏移,过程比较复杂。因此,亟待设计一种方法能够简单快速判断在有效时间范围内,原始数据中是否存在某IP数据的方法。

技术实现思路

[0004]本专利技术旨在解决现有技术中的数据存储和查询存在的过程复杂、容易造成系统空间占用的问题,提出一种性能好、效率高的聚合型IP索引的建立和应用方法。
[0005]为了实现上述专利技术目的,本专利技术的技术方案如下:一种聚合型IP索引的建立和应用方法,包括如下步骤:步骤S1、索引设计:将所有IP域范围内的4个字节,转换对应为主机字节序的整数,建立空白的位图索引;步骤S2、索引标记:接收数据块,抽取一个时空内到来的所有数据块的IP地址数据转化为整数,放入空白的位图索引中对应的位置打上标记,形成局部时空的处理索引;步骤S3、索引聚合:将多个打上标记的处理索引进行逻辑“或”操作聚合到较大时空索引中;将聚合成的较大时空索引通过逻辑“或”操作聚合到更大时空索引中;步骤S4、数据查询:接收待查IP地址数据,确定待查IP地址数据转换为对应主机字节序的整数是否在步骤S3形成的更大时空索引中,若是则依次读取更小时空索引,直至定位到该IP地址数据;否则继续接收待查IP地址数据。
[0006]进一步的,步骤S1还包括:将转换对应为主机字节序的整数按段均匀划分,形成分片数组,并为每个分片数组编制一个分片序号。
[0007]进一步的,步骤S1还包括:将每个分片数组以指定的映射倍数进行模糊处理,即将一个分片数组中的N个连续整数用一个位来表示,只要该位中任意一个IP地址出现,则将该位置为“1”。
[0008]进一步的,步骤S1还包括:使用LZ4压缩算法,对形成的空白的位图索引中的每个分片数组进行压缩处理,按照每个分片数组进行整体的存储和读取。
[0009]进一步的,步骤S2中,处理索引的形成过程为:根据数据块中的IP地址数据转化为整数后的大小,确定该整数所在的空白位图索引上的分片序号,根据分片序号内分片数组的映射倍数,获取该IP地址数据所在空白位图索引的偏移和位置,并将该位置为“1”。
[0010]进一步的,步骤S3中,索引聚合包括如下步骤:步骤S31、合并第一个处理索引时:将打上标记的处理索引的每个分片内存依次拷贝到相同分片序号的内存进行覆盖;步骤S32、合并后来的处理索引时:依次按照索引分片,对相同分片序号相同偏移位的IP地址数据进行位“或”运算,并将运算结果保存到新的索引分片中。
[0011]进一步的,步骤S4具体包括:步骤S41、输入待查IP地址数据,查找该待查IP地址数据所在的时间段,并将该待查IP地址数据转换为对应主机字节序的整数;步骤S42、根据该待查IP地址数据转换为对应主机字节序的整数的大小,定位到具体的分片数组,并读取该分片数组的分片序号;步骤S43、根据该分片序号内分片数组的映射倍数,确定该待查IP地址数据所在的位图偏移是否为“1”;步骤S44、若为1,则进入所在时段的更小的局部时空索引,最终定该待查IP地址数据出现在哪些时段;若为0,则该待查IP地址数据在该时段中不存在。
[0012]进一步的,使用LZ4压缩算法,对聚合后的索引中的每个分片数组进行压缩处理,按照每个分片数组进行整体的存储和读取。
[0013]综上所述,本专利技术具有以下优点:1、本专利技术采用位图索引模式,可以在数据完全不失真的情况下记录所有IP情况,并且位图匹配性能高效;2、本专利技术以主机字节序进行IP位图设计,相同网络的IP位标记会相近,在读取和匹配相近IP时,达到优化效果,由于大部分网络中是将IP以网段方式进行规划,网络中就会出现相近IP;3、本专利技术中,采用索引分片技术,将索引分片进行存储和聚合,在聚合时,若IP数量较小,某个分片不存在,则该分片的聚合则可以不进行内存的申请,减小内存消耗;在索引读取时,能根据查询IP定位具体索引分片,仅需要读取指定分片,减少读取IO消耗;4、本专利技术支持对分片进行模糊处理,支持在资源受限的情况下,将全位图索引以指定的映射倍数进行模糊处理,减少索引所耗内存和存储空间;5、本专利技术中,采用了分片压缩策略,作为512MB的全位图索引,存储空间进行lz4压缩,可在压缩效率和压缩比上获取可观的增益;6、本专利技术中,当索引所对应的数据由于时间失效时,需要将数据删除同时清除索引,本专利技术能直接将对应的索引清除,并且不会对数据检索和数据准确性造成影响;7、本专利技术中,所述的索引聚合策略,可灵活的由小片时空IP索引数据,聚合为更大时空IP索引数据;在检索时,由大时间窗口或者大数据范围快速减少数据筛选时间空间范围,提高检索效率。
附图说明
[0014]图1为本专利技术的数据入库步骤流程图;图2为本专利技术的数据查询步骤流程图;图3为本专利技术的索引标记步骤示意图;图4为本专利技术的索引聚合步骤示意图;图5为本专利技术的数据存储结构图;图6为本专利技术的数据查询步骤一个具体实施例的示意图。
具体实施方式
[0015]下面结合实施例对本专利技术作进一步地详细说明,但本专利技术的实施方式不限于此。
[0016]实施例1本实施例提供了一种聚合型IP索引的建立和应用方法,包括如下步骤:步骤S1、索引设计:将所有IP域范围内的4个字节,转换对应为主机字节序的整数,建立空白的位图索引;以主机字节序进行IP位图设计,检索的时候能提高命中率,相同网络的IP位标记会相近,在读取和匹配相近IP时,达到优化效果,由于大部分网络中是将IP以网段方式进行规划,网络中就会出现相近IP。
[0017]步骤S2、索引标记:接收数据块,抽取一个时空内到来的所有数据块的IP数据转化为整数,放入空白的位图索引中对应的位置打上标记,形成局部时空的处理索引;采用位图索引模式,可以在数据完全不失真的情况下记录所有IP情况,并且位图匹配性能高效。
[0018]步骤S3、索引聚合:将多个打上标记的处理索引进行逻辑“或”操作聚合到较大时空索引中;将聚合成的较大时空索引通过逻辑“或”操作聚合到更大时空索引中;步骤S4、数据查询:接收待查IP数据,确定待查IP数据转换为对应主机字节序的整数是否在步骤S3形成的更大时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种聚合型IP索引的建立和应用方法,其特征在于,包括如下步骤:步骤S1、索引设计:将所有IP域范围内的4个字节,转换对应为主机字节序的整数,建立空白的位图索引;步骤S2、索引标记:接收数据块,抽取一个时空内到来的所有数据块的IP地址数据转化为整数,放入空白的位图索引中对应的位置打上标记,形成局部时空的处理索引;步骤S3、索引聚合:将多个打上标记的处理索引进行逻辑“或”操作聚合到较大时空索引中;将聚合成的较大时空索引通过逻辑“或”操作聚合到更大时空索引中;步骤S4、数据查询:接收待查IP地址数据,确定待查IP地址数据转换为对应主机字节序的整数是否在步骤S3形成的更大时空索引中,若是则依次读取更小时空索引,直至定位到该IP地址数据;否则继续接收待查IP地址数据。2.根据权利要求1所述的一种聚合型IP索引的建立和应用方法,其特征在于,步骤S1还包括:将转换对应为主机字节序的整数按段均匀划分,形成分片数组,并为每个分片数组编制一个分片序号。3.根据权利要求2所述的一种聚合型IP索引的建立和应用方法,其特征在于,步骤S1还包括:将每个分片数组以指定的映射倍数进行模糊处理,即将一个分片数组中的N个连续整数用一个位来表示,只要该位中任意一个IP地址出现,则将该位置为“1”。4.根据权利要求3所述的一种聚合型IP索引的建立和应用方法,其特征在于,使用LZ4压缩算法,对形成的空白的位图索引中的每个分片数组进行压缩处理,按照每个分片数组进行整体的存储和读取。5.根据权利要求3所述的一种聚合型IP索引的建立和应用方法,其特征在于,步骤S2...

【专利技术属性】
技术研发人员:田红伟徐文勇王伟旭
申请(专利权)人:成都数默科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1