CN106326464A - 一种基于检索信息投影的网络会话包索引方法 - Google Patents

一种基于检索信息投影的网络会话包索引方法 Download PDF

Info

Publication number
CN106326464A
CN106326464A CN201610773443.3A CN201610773443A CN106326464A CN 106326464 A CN106326464 A CN 106326464A CN 201610773443 A CN201610773443 A CN 201610773443A CN 106326464 A CN106326464 A CN 106326464A
Authority
CN
China
Prior art keywords
information
time
bluedrama
bag
retrieval information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610773443.3A
Other languages
English (en)
Other versions
CN106326464B (zh
Inventor
罗鹰
王思宇
林康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kelai Network Technology Co.,Ltd.
Original Assignee
CHENGDU COLASOFT Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CHENGDU COLASOFT Co Ltd filed Critical CHENGDU COLASOFT Co Ltd
Priority to CN201610773443.3A priority Critical patent/CN106326464B/zh
Publication of CN106326464A publication Critical patent/CN106326464A/zh
Application granted granted Critical
Publication of CN106326464B publication Critical patent/CN106326464B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于检索信息投影的网络会话包索引方法。该方法将指定网络会话包的某种或者某几种信息进行压缩运算得到各信息对应的检索信息,所述检索信息投影模块用于网络会话包的相关信息投影映射到存储该种信息的检索信息的索引空间的对应存储位,被投影的存储位在第一次被投影时被标记为已投影,在读取时根据投影关系找到对应的网络会话包。本发明可以可以极大地提升系统性能。

Description

一种基于检索信息投影的网络会话包索引方法
技术领域
本发明属于数据索引领域,尤其涉及到一种基于检索信息投影的网络会话包索引方法。
背景技术
目前的索引基本基于四元组作为KEY来建立索引,在海量数据流量下,HASH表的处理性能和容量无法满足。目前主流的HASH处理极限规模在1000万左右,而且索引块占用的内存大小不固定,随着数据量的增大而增大,无法预先分配固定的内存,需要承受频繁和无效的内存申请释放。
发明内容
为解决上述问题,本发明提供了一种基于检索信息投影的网络会话包索引方法,包括如下步骤:
步骤1:预先指定至少一个用于存储网络会话包某种信息的检索信息的索引空间,所述索引空间内具有若干存储位,一个存储位对应一种检索信息,各个存储位具有相同的初始值。
步骤2:提取出指定网络会话包的某种或者某几种信息,确定各种信息对应的索引空间及索引空间大小。
步骤3:将各个网络会话包的各个信息分别进行Hash运算后进行投影映射。
每个信息的Hash运算包括如下步骤:
步骤3.1:提取出信息的参数。
步骤3.2:将参数作为Hash的输入值进行运算,得到散列值。
步骤3.3:将散列值除以该种信息对应的索引空间大小进行取余,得到余值。
步骤3.4:检索信息投影模块将该信息映射到对应索引空间中位号为余值的存储位,所述余值就作为该信息的索引信息,被映射的存储位被标记为已投影。
进一步的,还包括将将时间分为若干时间周期层的流程,具体为:将时间划分为若干按时间先后排列的、长度相同的时间单元,每个时间单元再被划分为若干时间先后排列的、长度相同的时间单元以形成下一时间周期层,如此循环划分,直到达到预定的最小时间单元。
进一步的,在整个方法的执行过程中,还有存储值情况记录流程,具体为:按照预定周期循环记录各个索引空间所有存储位的存储值情况,并将各个记录时刻对应到各个时间周期层对应的时间单元内。
进一步的,步骤3之后还包括读取流程,所述读取流程具体为:
步骤4.1:预先给定欲读取的网络会话流的某种或者某几种信息。
步骤4.2:信息压缩模块将步骤4.1中的信息逐个进行压缩运算后得到对应的检索信息。
步骤4.3:读取模块根据检索信息,找到对应的存储位,进而寻找对应的网络会话包。
进一步的,步骤4.3具体为:
步骤4.3.1:将时间单元长度最长的时间周期层作为第一层时间周期层,系统从第一层时间周期层预先选定的时间单元开始读取各个检索信息对应的存储位是否均被标记为已投影,如是锁定该时间单元,并执行下一步,如否则遍历读取第一层时间周期层其他时间单元内各个检索信息对应的存储位,直到能够锁定存储位均被标记为已投影的时间单元,如遍历后仍不能锁定则结束读取流程。
步骤4.3.2:系统开始从被锁定时间单元被划分的下一时间周期层的各个时间单元中遍历寻找各个检索信息对应的存储位均被标记为已投影的时间单元,并锁定该时间单元。
步骤4.3.3:重复进行步骤4.3.2,直到锁定时间单元最短的时间周期层的对应时间单元。
步骤4.3.4:读取最后一次锁定的时间单元内的网络会话流,提取出满足要求的网络会话流。
进一步的,各个存储位的原始值为0,被标记为已投影后变为1。
进一步的,网络会话包的信息种类包括IP地址信息和/端口号信息和/或网协议ID号信息。
进一步的,步骤3.2中,如果是IP地址进行压缩运算,则将其各个字节独立的作为Hash的输入参数。
进一步的,步骤3.2中,如果是对端口号进行压缩运算,则将其各个字节独立的作为Hash的输入参数。
进一步的,步骤3.3中,索引空间大小对应的位的个数为取余运算式的分母。
本发明的有益效果为:
本发明通过定义了一种新型的索引技术-投影索引,能将索引的处理规模提升到无限大,并能够高速地写入和查询,并且对于两个或者多个索引合并成更高层的索引时几乎也是0成本。本发明的投影索引因为体积小,因此可以常驻内存,省去硬盘IO的成本,并且也是位运算,写入和读取的成本基本趋近于0,但可以极大地提升性能。
附图说明
图1为存储流程示意图。
图2为读取流程示意图。
具体实施方式
在介绍本发明所述方法前,先对本发明所对应的系统进行说明、该系统包括至少一个用于存储网络会话包某种信息的检索信息的索引空间、信息压缩模块、检索信息投影模块、读取模块。
所述索引空间内具有若干存储位,一个存储位对应一种检索信息,各个存储位具有相同的初始值。
所述信息压缩模块用于将指定网络会话包的某种或者某几种信息进行压缩运算得到各信息对应的检索信息。
检索信息投影模块,用于网络会话包的相关信息投影映射到存储该种信息的检索信息的索引空间的对应存储位,被投影的存储位在第一次被投影时被标记为已投影;具有相同检索信息的网络会话包的相关信息均投影映射同一个存储位。
所述读取模块用于根据欲读取网络会话包的某种或者某几种信息对应的检索信息,找到对应的存储位,进而找到对应的网络会话包。
进一步的,所述检索信息投影模块还将时间分为若干时间周期层,每个时间周期层将时间划分为若干按时间先后排列的、长度相同的时间单元,每个时间单元再被划分为若干时间先后排列的、长度相同的时间单元以形成下一时间周期层,如此循环划分,直到达到预定的最小时间单元,检索信息投影模块按照预定周期循环记录各个索引空间所有存储位的存储值情况,并将各个记录时刻对应到各个时间周期层对应的时间单元内。举例:第一层时间周期层的时间单元长度为1天,1天再划分为整数个小时长度的时间单元,每个小时再被划分为整数分钟长度的时间单元,每分钟长度的时间单元再被划分为整数秒长度的时间单元。应当理解,具体时间单元长度的取值根据实际情况自行确定。本实施例优选将24小时作为最长的时间单元,以使查询能够精确到日期。
所述网络会话包的信息种类包括IP地址信息和/端口号信息和/或网协议ID号信息。当然,并不局限于此,还可以进行信息种类扩展。
信息压缩模块将指定网络会包某种信息进行压缩运算以得到检索信息的方法为:
步骤一:将该种信息的参数作为Hash函数的输入参数进行Hash运算得到散列值。
步骤二:将散列值除以该种信息对应索引空间的大小进行取余,得到的余值即为检索信息。
举例,假设存储IP地址信息的索引空间具有N MB的空间。假设IP地址四个字节为IP1,IP2,1P3,1P4(1个字节8位)。检索信息为POS,则计算步骤为:
HashKey = HASH(IP1,1P2,1P3,1P4);
POS = HashKey % (N*1024*1024*8);
N*1024*1024*8的由来是:在信息进行压缩运算以得到检索信息的过程中,索引空间大小对应的位的个数为取余运算式的分母。
需要强调的是,检索信息投影模块将信息压缩模块中进行Hash运算的信息投影映射到对应索引空间中位号为其余值的存储位。不同网络会话包的相同信息可能计算出来的存储位相同,那么这些信息就就属于同一种信息,都投影映射到了相同的存储位,极大的节省了索引空间大小。如果索引空间较大,则一个存储位对应较少的同种信息,信息分类更细,如果索引空间较小,则存储位对应较多的同种信息,信息分类更加粗略。总之,该种设计能适应任意大小的索引空间。
下面对本发明所述工作方法进行说明。工作方法可分为时间分为若干时间周期层的流程、存储流程、存储值情况记录流程、读取流程。
时间分为若干时间周期层的流程具体为:每个时间周期层将时间划分为若干按时间先后排列的、长度相同的时间单元,每个时间单元再被划分为若干时间先后排列的、长度相同的时间单元以形成下一时间周期层,如此循环划分,直到达到预定的最小时间单元,检索信息投影模块按照预定周期循环记录各个索引空间所有存储位的存储值情况,并将各个记录时刻对应到各个时间周期层对应的时间单元内。
如图1所示,存储流程包括如下步骤:
步骤1:预先指定至少一个用于存储网络会话包某种信息的检索信息的索引空间,所述索引空间内具有若干存储位,一个存储位对应一种检索信息,各个存储位具有相同的初始值。
步骤2:提取出指定网络会话包的某种或者某几种信息,确定各种信息对应的索引空间及索引空间大小。
步骤3:将各个网络会话包的各个信息分别进行Hash运算后进行投影映射。
每个信息的Hash运算包括如下步骤:
步骤3.1:提取出信息的参数。
步骤3.2:将参数作为Hash的输入值进行运算,得到散列值。
步骤3.3:将散列值除以该种信息对应的索引空间大小进行取余,得到余值。
步骤3.4:检索信息投影模块将该信息映射到对应索引空间中位号为余值的存储位,所述余值就作为该信息的索引信息,被映射的存储位被标记为已投影。
存储值情况记录流程,具体为:按照预定周期循环记录各个索引空间所有存储位的存储值情况,并将各个记录时刻对应到各个时间周期层对应的时间单元内。
如图2所示,读取流程包括如下步骤:
步骤1:预先给定欲读取的网络会话流的某种或者某几种信息。
步骤2:信息压缩模块将信息逐个进行压缩运算后得到对应的检索信息。
步骤3:读取模块根据检索信息,找到对应的存储位,进而寻找对应的网络会话包。
步骤3具体为:
步骤3.1:将时间单元长度最长的时间周期层作为第一层时间周期层,系统从第一层时间周期层预先选定的时间单元开始读取各个检索信息对应的存储位是否均被标记为已投影,如是锁定该时间单元,并执行下一步,如否则遍历读取第一层时间周期层其他时间单元内各个检索信息对应的存储位,直到能够锁定存储位均被标记为已投影的时间单元,如遍历后仍不能锁定则结束读取流程。
步骤3.2:系统开始从被锁定时间单元被划分的下一时间周期层的各个时间单元中遍历寻找各个检索信息对应的存储位均被标记为已投影的时间单元,并锁定该时间单元。
步骤3.3:重复进行步骤3.2,直到锁定时间单元最短的时间周期层的对应时间单元。
步骤3.4:读取最后一次锁定的时间单元内的网络会话流,提取出满足要求的网络会话流。

Claims (10)

1.一种基于检索信息投影的网络会话包索引方法,其特征在于,包括如下步骤:
步骤1:预先指定至少一个用于存储网络会话包某种信息的检索信息的索引空间,所述索引空间内具有若干存储位,一个存储位对应一种检索信息,各个存储位具有相同的初始值;
步骤2:提取出指定网络会话包的某种或者某几种信息,确定各种信息对应的索引空间及索引空间大小;
步骤3:将各个网络会话包的各个信息分别进行Hash运算后进行投影映射;
每个信息的Hash运算包括如下步骤:
步骤3.1:提取出信息的参数;
步骤3.2:将参数作为Hash的输入值进行运算,得到散列值;
步骤3.3:将散列值除以该种信息对应的索引空间大小进行取余,得到余值;
步骤3.4:检索信息投影模块将该信息映射到对应索引空间中位号为余值的存储位,所述余值就作为该信息的索引信息,被映射的存储位被标记为已投影。
2.如权利要求1所述的基于检索信息投影的网络会话包索引方法,其特征在于,还包括将时间分为若干时间周期层的流程,具体为:将时间划分为若干按时间先后排列的、长度相同的时间单元,每个时间单元再被划分为若干时间先后排列的、长度相同的时间单元以形成下一时间周期层,如此循环划分,直到达到预定的最小时间单元。
3.如权利要求2所述的基于检索信息投影的网络会话包索引方法,其特征在于,在整个方法的执行过程中,还有存储值情况记录流程,具体为:按照预定周期循环记录各个索引空间所有存储位的存储值情况,并将各个记录时刻对应到各个时间周期层对应的时间单元内。
4.如权利要求3所述的基于检索信息投影的网络会话包索引系统的工作方法,其特征在于,步骤3之后还包括读取流程,所述读取流程具体为:
步骤4.1:预先给定欲读取的网络会话流的某种或者某几种信息;
步骤4.2:信息压缩模块将步骤4.1中的信息逐个进行压缩运算后得到对应的检索信息;
步骤4.3:读取模块根据检索信息,找到对应的存储位,进而寻找对应的网络会话包。
5.如权利要求4所述的的基于检索信息投影的网络会话包索引方法,其特征在于,步骤4.3具体为:
步骤4.3.1:将时间单元长度最长的时间周期层作为第一层时间周期层,系统从第一层时间周期层预先选定的时间单元开始读取各个检索信息对应的存储位是否均被标记为已投影,如是锁定该时间单元,并执行下一步,如否则遍历读取第一层时间周期层其他时间单元内各个检索信息对应的存储位,直到能够锁定存储位均被标记为已投影的时间单元,如遍历后仍不能锁定则结束读取流程;
步骤4.3.2:系统开始从被锁定时间单元被划分的下一时间周期层的各个时间单元中遍历寻找各个检索信息对应的存储位均被标记为已投影的时间单元,并锁定该时间单元;
步骤4.3.3:重复进行步骤4.3.2,直到锁定时间单元最短的时间周期层的对应时间单元;
步骤4.3.4:读取最后一次锁定的时间单元内的网络会话流,提取出满足要求的网络会话流。
6.如权利要求1所述的基于检索信息投影的网络会话包索引系统的工作方法,其特征在于,各个存储位的原始值为0,被标记为已投影后变为1。
7.如权利要求1所述的基于检索信息投影的网络会话包索引系统的工作方法,其特征在于,网络会话包的信息种类包括IP地址信息和/端口号信息和/或网协议ID号信息。
8.如权利要求1所述的基于检索信息投影的网络会话包索引系统的工作方法,其特征在于,步骤3.2中,如果是IP地址进行压缩运算,则将其各个字节独立的作为Hash的输入参数。
9.如权利要求1所述的基于检索信息投影的网络会话包索引系统的工作方法,其特征在于,步骤3.2中,如果是对端口号进行压缩运算,则将其各个字节独立的作为Hash的输入参数。
10.如权利要求1所述的基于检索信息投影的网络会话包索引系统的工作方法,其特征在于,步骤3.3中,索引空间大小对应的位的个数为取余运算式的分母。
CN201610773443.3A 2016-08-31 2016-08-31 一种基于检索信息投影的网络会话包索引方法 Active CN106326464B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610773443.3A CN106326464B (zh) 2016-08-31 2016-08-31 一种基于检索信息投影的网络会话包索引方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610773443.3A CN106326464B (zh) 2016-08-31 2016-08-31 一种基于检索信息投影的网络会话包索引方法

Publications (2)

Publication Number Publication Date
CN106326464A true CN106326464A (zh) 2017-01-11
CN106326464B CN106326464B (zh) 2019-09-10

Family

ID=57789220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610773443.3A Active CN106326464B (zh) 2016-08-31 2016-08-31 一种基于检索信息投影的网络会话包索引方法

Country Status (1)

Country Link
CN (1) CN106326464B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650756A (zh) * 2020-12-29 2021-04-13 成都科来网络技术有限公司 一种基于时序数据的时间投影的索引方法及系统
CN113596098A (zh) * 2021-07-01 2021-11-02 杭州迪普科技股份有限公司 会话检索方法、装置、设备及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546342A (zh) * 2009-05-08 2009-09-30 阿里巴巴集团控股有限公司 实现搜索服务的方法与系统
CN103617216A (zh) * 2013-11-21 2014-03-05 珠海金山网络游戏科技有限公司 一种通过新型哈希值表实现数据快速检索的方法和系统
CN104657362A (zh) * 2013-11-18 2015-05-27 深圳市腾讯计算机系统有限公司 数据存储、查询方法和装置
WO2015093870A1 (en) * 2013-12-18 2015-06-25 Samsung Electronics Co., Ltd. Method and device for managing data
US9152661B1 (en) * 2011-10-21 2015-10-06 Applied Micro Circuits Corporation System and method for searching a data structure
CN105354251A (zh) * 2015-10-19 2016-02-24 国家电网公司 电力系统中基于Hadoop的电力云数据管理索引方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546342A (zh) * 2009-05-08 2009-09-30 阿里巴巴集团控股有限公司 实现搜索服务的方法与系统
US9152661B1 (en) * 2011-10-21 2015-10-06 Applied Micro Circuits Corporation System and method for searching a data structure
CN104657362A (zh) * 2013-11-18 2015-05-27 深圳市腾讯计算机系统有限公司 数据存储、查询方法和装置
CN103617216A (zh) * 2013-11-21 2014-03-05 珠海金山网络游戏科技有限公司 一种通过新型哈希值表实现数据快速检索的方法和系统
WO2015093870A1 (en) * 2013-12-18 2015-06-25 Samsung Electronics Co., Ltd. Method and device for managing data
CN105354251A (zh) * 2015-10-19 2016-02-24 国家电网公司 电力系统中基于Hadoop的电力云数据管理索引方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650756A (zh) * 2020-12-29 2021-04-13 成都科来网络技术有限公司 一种基于时序数据的时间投影的索引方法及系统
CN113596098A (zh) * 2021-07-01 2021-11-02 杭州迪普科技股份有限公司 会话检索方法、装置、设备及计算机可读存储介质
CN113596098B (zh) * 2021-07-01 2023-04-25 杭州迪普科技股份有限公司 会话检索方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN106326464B (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
US20200334295A1 (en) Merge tree garbage metrics
WO2018148198A1 (en) Merge tree modifications for maintenance operations
WO2018148203A1 (en) Stream selection for multi-stream storage devices
JP2015512604A (ja) 暗号ハッシュ・データベース
CN107368527B (zh) 基于数据流的多属性索引方法
WO2016029026A1 (en) Data driven relational algorithm formation for execution against big data
CN106777003B (zh) 一种面向Key-Value存储系统的索引查询方法和系统
WO2013032436A1 (en) Parallel operation on b+ trees
CN106326464A (zh) 一种基于检索信息投影的网络会话包索引方法
CN103970795A (zh) 一种数据处理方法、装置及系统
Kim Boosting graph similarity search through pre-computation
CN106446028A (zh) 一种网络会话包的新型索引系统
CN108334563A (zh) 一种数据查询的方法及装置
Tautges et al. Mesh interface resolution and ghost exchange in a parallel mesh representation
CN111026736B (zh) 数据血缘管理方法及装置、数据血缘解析方法及装置
CN110020001A (zh) 字符串数据的存储、查询方法以及相应的设备
CN106469042B (zh) 伪随机数的生成方法和装置
Goodrich et al. Cache-oblivious dictionaries and multimaps with negligible failure probability
Goodrich et al. Fully de-amortized cuckoo hashing for cache-oblivious dictionaries and multimaps
US20130111164A1 (en) Hardware compression using common portions of data
Chakraborti et al. Sqoram: Read-optimized sequential write-only oblivious RAM
Pao et al. Design of a near-minimal dynamic perfect hash function on embedded device
Nimako et al. Chunked extendible dense arrays for scientific data storage
Kaporis et al. ISB-tree: A new indexing scheme with efficient expected behaviour
CN108694185B (zh) 一种数据存储与提取的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210115

Address after: 41401-41406, 14th floor, unit 1, building 4, No. 966, north section of Tianfu Avenue, Chengdu hi tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu hi tech Zone, Sichuan 610041

Patentee after: Chengdu Kelai Network Technology Co., Ltd

Address before: B6-7, Tianfu Software Park, 99 Tianhua 1st Road, high tech Zone, Chengdu, Sichuan 610041

Patentee before: COLASOFT Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 610041 12th, 13th and 14th floors, unit 1, building 4, No. 966, north section of Tianfu Avenue, Chengdu hi tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan

Patentee after: Kelai Network Technology Co.,Ltd.

Address before: 41401-41406, 14th floor, unit 1, building 4, No. 966, north section of Tianfu Avenue, Chengdu hi tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu hi tech Zone, Sichuan 610041

Patentee before: Chengdu Kelai Network Technology Co.,Ltd.