CN105488189B - 一种基于大数据量的五元组查询方法及装置 - Google Patents

一种基于大数据量的五元组查询方法及装置 Download PDF

Info

Publication number
CN105488189B
CN105488189B CN201510868586.8A CN201510868586A CN105488189B CN 105488189 B CN105488189 B CN 105488189B CN 201510868586 A CN201510868586 A CN 201510868586A CN 105488189 B CN105488189 B CN 105488189B
Authority
CN
China
Prior art keywords
tuple
time
unit
index
time interval
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.)
Active
Application number
CN201510868586.8A
Other languages
English (en)
Other versions
CN105488189A (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 CN201510868586.8A priority Critical patent/CN105488189B/zh
Publication of CN105488189A publication Critical patent/CN105488189A/zh
Application granted granted Critical
Publication of CN105488189B publication Critical patent/CN105488189B/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/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及数据查询技术领域,本发明公开了一种基于大数据量的五元组查询方法,其具体包括以下的步骤:步骤一、依照时间顺序将网络数据进行存储,然后以一年为刻度,建立天时分的五元组索引,并将该五元组索引进行序列化后存储到硬盘;步骤二、输入需要查询的五元组,将该五元组与步骤一中建立的五元组索引进行匹配,输出匹配成功的所有时间区间;步骤三、在步骤二输出的时间区间内查询五元组,从而得到最终的查询结果。通过这样的方法进行匹配查询,缩小时间范围,提高查询效率。

Description

一种基于大数据量的五元组查询方法及装置
技术领域
本发明涉及数据查询技术领域,具体是一种基于大数据量的五元组查询方法及装置,此方法及装置可有效提高查询效率,降低系统开销。
背景技术
五元组,通常是指源IP地址,源端口,目的IP地址,目的端口和传输层协议,五元组能够区分不同会话,并且对应的会话是唯一的。例如:192.168.1.1 10000 TCP121.14.88.76 80 就构成了一个五元组。其含义是,一个IP地址为192.168.1.1的终端通过端口10000,利用TCP协议,和IP地址为121.14.88.76,端口为80的终端进行通信连接。在进行网络数据分析时,通常需要对一个出入口的数据做记录检索,但目前的互联网数据通常都是TB或者PB以上级别,其中1PB(Petabyte 千万亿字节 拍字节)=1024TB。如此大的数据量要实现五元组信息的查询需要的时间较长,比如万兆网1分钟满度网络数据大概有70G,以目前的查询方法进行查询,查询一分钟的数据10个线程需要10秒钟左右,这样的数据响应速度难以满足用户的需要。
发明内容
针对现有技术中的五元组查询方法存在查询效率低的技术问题,本发明公开了一种基于大数据量的五元组查询方法,本发明还公开了基于大数据量的五元组查询装置。
本发明的技术方案如下:
本发明公开了一种基于大数据量的五元组查询方法,其具体包括以下的步骤:步骤一、以时间为刻度,建立天时分的五元组索引;步骤二、输入需要查询的五元组,将该五元组与步骤一中建立的五元组索引进行匹配,输出匹配成功的所有时间区间;步骤三、在步骤二输出的时间区间内查询五元组,从而得到最终的查询结果。先查询索引,只在符合条件的时间区间内进行五元组查询,提高了查询效率。
更进一步地,上述建立五元组索引的过程具体为:在时间区间内根据五元组信息内容进行信息占位,将其对应位置1来表示此数字出现过。采用对应位置1的方式进行信息占位,便于实现且便于提高查询效率。
更进一步地,上述建立五元组索引的过程具体包括以下的步骤:步骤S1、将时间划分为时间区间,每个时间区间内自定义8个256位的变量,其中4个256位的变量分别对应表示五元组中IP地址的4段,2个256位的变量表示端口,2个256位的变量表示通信协议;步骤S2、当该时间区间内的IP地址、端口或者通信协议中某一个值出现时,将其对应的256位的变量的对应位置1,其余位不变。当然,如果要区分源和目的地址的时候就需要再多用6个256位的变量进行表示,这里的方式是不区分。
更进一步地,上述划分时间区间的依据为会话时间戳,一年的时间最小划分为每10秒为一个时间区间。一般来讲,一年的时间区间到最小10秒的话则大概有如此多个区间:366*10105*256(1天=24小时=24*60分=24*60*6个10秒≈10105个区间)大概900M左右的数据,在数据重叠不明显(即离散率较高的情况),加速效果尤为明显。
更进一步地,上述方法还包括把256位的变量分为4个64位的数组进行表示。便于在64位机上实现。
更进一步地,上述把256位的变量X分为4个64位的数组进行表示的过程具体如下:将X除以64后得到的整数表示第几个64位的数组,余数表示对应数组的第几位置1,其余位置不变。该方法使得实现快速置1,实现高效的信息占位。
更进一步地,上述方法还包括依照时间顺序将网络数据进行存储,依照时间进行存储,便于后续查询,提高查询效率。
更进一步地,上述方法还包括将五元组索引进行序列化后进行存储。
本发明还公开了一种基于大数据量的五元组查询装置,其具体包括五元组索引建立单元、五元组匹配单元和五元组查询单元,所述五元组索引建立单元用于以时间为刻度,建立天时分的五元组索引;所述五元组匹配单元用于将待查询的五元组信息与五元组索引进行匹配,输出匹配成功的所有时间区间;所述五元组查询单元用于在匹配成功的时间区间内的查询五元组信息,从而得到最终的输出结构。
更进一步地,上述五元组索引建立单元还包括时间区间划分单元、变量设置单元、五元组信息获取单元和变量改变单元;所述时间区间划分单元用于将时间划分为多个时间区间;所述变量设置单元用于在每个时间区间内自定义8个256位的变量,其中4个256位的变量分别对应表示五元组中IP地址的4段,2个256位的变量表示端口,2个256位的变量表示通信协议;所述五元组信息获取单元用于获取该时间区间内的IP地址、端口和通信协议的值;所述变量改变单元用于将其对应的256位的变量的对应位置1。
通过采用以上的技术方案,本发明的有益效果为:通过设置五元组索引建立单元、五元组匹配单元,使得首先将待查询的五元组数据与五元组索引进行匹配,只剩下包括这些待查询的五元组信息的时间区间,从而一次性缩小了查询的范围,提高了查询的效率。采用本发明的方法使得查询效率至少能提高10倍,具体倍数与五元组数据的离散率相关,一般来讲,原数据的离散率越高则效果越好。
具体实施方式
下面结合实施例,详细说明本发明的具体实施方式。
本发明公开了一种基于大数据量的五元组查询方法,其具体包括以下的步骤:步骤一、依照时间顺序将网络数据进行存储,然后以一年为刻度,建立天时分的五元组索引,并将该五元组索引进行序列化后存储到硬盘;步骤二、输入需要查询的五元组,将该五元组与步骤一中建立的五元组索引进行匹配,输出匹配成功的所有时间区间;步骤三、在步骤二输出的时间区间内查询五元组,从而得到最终的查询结果。其中,序列化是指将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。本发明的方法通过将时间进行区间划分(比如一天的时间区间为00点到23点59分59秒,一个小时的时间区间为某点0分0秒到其59分59秒,比如12点0分0秒到12点59分59秒),确定好时间区间后,将此时间段的五元组信息抽取到索引上面。具体如下:IP信息分为4个段,均是0到255的值,那么我们定义一个256位的变量,当IP地址中的某一段自然数为5时,则在此变量第5位占1,表示这个时间段的此段出现过5;其他段以及端口和协议均可以用这种方式建立一个压缩后的索引(不压缩的索引数据将会海量,检索索引的时间消耗都不低,与初衷不符)。利用这样的方法就建立了时间与五元组信息的关系。通过这样的方法进行匹配查询,缩小时间范围,提高查询效率。通过对IP会话等做分析,发现IP等五元组信息的在时间段的分布是有限且分散的,那么对IP等信息进行检索归类则越发重要,而本发明要阐述的则是在索引时针对大数据的五元组信息建立索引,同时非具体索引,而是一个有损压缩的索引。此发明的方法能大幅度提高查询速度,亦能尽可能节省索引数据的存储空间。
本发明首先构造一个年YEARINDEX结构,366(一年最多366天)的大小;再按照一天有24小时,1小时有60分,一分钟有60秒的结构进行构造整体结构。定义一个256位的结构256BIT(即4个64位),进行信息占位(即一个数字在0-255之间,用4个64位的数组即256位的某一位置1来表示此数字出现过)。由于五元组信息是源目的IP,源目的PORT,协议组成,IP由4个255内的数组成,PORT和协议由2个255内的数组成(一个255内的数需要一个256BIT结构,如果不考虑源目的分开,则共需要8个256BIT,而8个256BIT总计256个字节),一年的时间区间到最小10秒的话则大概有如此多个区间:366*10105*256(1天=24小时=24*60分=24*60*6个10秒≈10105个区间)大概900M左右的数据,在数据重叠不明显(即离散率较高的情况),加速效果尤为明显。
在采集到网络数据后根据每个会话时间戳信息,依据区间信息,以小时类型为例,时间戳计算出来为一年的第35天第4小时,则YEARINDEX对应的占位数索引为yearindex[35].hour[4],然后将五元组的信息相应类(ip/port/protocol)的256位的对应号位置,假设IP为192.168.9.1;那么将第一段的192数字在对应的IP类的256BIT[0]的第192位置1,表示此段时间这个数字出现过;由于市面基本是64位机,故把256位分为4个64位的数组seg[4] 。将192进行如下计算,192/64=3,192%64=0,即256BIT[0].seg[3]&=1<<0左即256BIT[0].seg[3]=1,seg的其他三个不变,若有其他数字也在这个里面出现了则与上次结果相与(后文的压缩就这个意思)又如168则为168/64=2,168%64=40则为256BIT[1].seg[2]&=1<<40即256BIT[1].seg[2]=0x10000000000;以此类推。以此则将所有ip、端口port、协议protocol的某时间段的信息放到索引数据上面去了。给的过滤条件越精细,元数据的离散率越高则效果越好。
本发明还公开了一种基于大数据量的五元组查询装置,其具体包括五元组索引建立单元、五元组匹配单元和五元组查询单元,所述五元组索引建立单元用于以年为刻度,建立天时分的五元组索引;所述五元组匹配单元用于将待查询的五元组信息与五元组索引进行匹配,输出匹配成功的所有时间区间;所述五元组查询单元用于在匹配成功的时间区间内的查询五元组信息,从而得到最终的输出结构。通过设置五元组索引建立单元、五元组匹配单元,使得首先将待查询的五元组数据与五元组索引进行匹配,只剩下包括这些待查询的五元组信息的时间区间,从而一次性缩小了查询的范围,提高了查询的效率。
上述的实施例中所给出的系数和参数,是提供给本领域的技术人员来实现或使用发明的,发明并不限定仅取前述公开的数值,在不脱离发明的思想的情况下,本领域的技术人员可以对上述实施例作出种种修改或调整,因而发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。

Claims (7)

1.一种基于大数据量的五元组查询方法,其具体包括以下的步骤:步骤一、以时间为刻度,建立天时分的五元组索引;步骤二、输入需要查询的五元组,将该五元组与步骤一中建立的五元组索引进行匹配,输出匹配成功的所有时间区间;步骤三、在步骤二输出的时间区间内查询五元组,从而得到最终的查询结果;
所述建立五元组索引为:在时间区间内根据五元组信息内容进行信息占位,将其对应位置1来表示此数字出现过;所述对应位确定方式为定义256位的变量,当数字为n,则变量第n位为对应位;
进一步的,所述建立五元组索引的过程具体包括以下的步骤:步骤S1、将时间划分为时间区间,每个时间区间内自定义8个256位的变量,其中4个256位的变量分别对应表示五元组中IP地址的4段,2个256位的变量表示端口,2个256位的变量表示通信协议;步骤S2、当该时间区间内的IP地址、端口或者通信协议中某一个值出现时,将其对应的256位的变量的对应位置1,其余位不变。
2.如权利要求1所述的基于大数据量的五元组查询方法,其特征在于所述划分时间区间的依据为会话时间戳,一年的时间最小划分为每10秒为一个时间区间。
3.如权利要求1所述的基于大数据量的五元组查询方法,其特征在于所述方法还包括把256位的变量分为4个64位的数组进行表示。
4.如权利要求3所述的基于大数据量的五元组查询方法,其特征在于所述把256位的变量X分为4个64位的数组进行表示的过程具体如下:将X除以64后得到的整数表示第几个64位的数组,余数表示对应数组的第几位置1,其余位置不变。
5.如权利要求1所述的基于大数据量的五元组查询方法,其特征在于所述方法还包括依照时间顺序将网络数据进行存储。
6.如权利要求1所述的基于大数据量的五元组查询方法,其特征在于所述方法还包括将五元组索引进行序列化后进行存储。
7.一种基于大数据量的五元组查询装置,其特征在于具体包括五元组索引建立单元、五元组匹配单元和五元组查询单元,所述五元组索引建立单元用于以时间为刻度,建立天时分的五元组索引;所述五元组匹配单元用于将待查询的五元组信息与五元组索引进行匹配,输出匹配成功的所有时间区间;所述五元组查询单元用于在匹配成功的时间区间内的查询五元组信息,从而得到最终的输出结构;所述五元组索引建立单元还包括时间区间划分单元、变量设置单元、五元组信息获取单元和变量改变单元;所述时间区间划分单元用于将时间划分为多个时间区间;所述变量设置单元用于在每个时间区间内自定义8个256位的变量,其中4个256位的变量分别对应表示五元组中IP地址的4段,2个256位的变量表示端口,2个256位的变量表示通信协议;所述五元组信息获取单元用于获取该时间区间内的IP地址、端口和通信协议的值;所述变量改变单元用于将其对应的256位的变量的对应位置1。
CN201510868586.8A 2015-12-02 2015-12-02 一种基于大数据量的五元组查询方法及装置 Active CN105488189B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510868586.8A CN105488189B (zh) 2015-12-02 2015-12-02 一种基于大数据量的五元组查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510868586.8A CN105488189B (zh) 2015-12-02 2015-12-02 一种基于大数据量的五元组查询方法及装置

Publications (2)

Publication Number Publication Date
CN105488189A CN105488189A (zh) 2016-04-13
CN105488189B true CN105488189B (zh) 2019-02-12

Family

ID=55675163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510868586.8A Active CN105488189B (zh) 2015-12-02 2015-12-02 一种基于大数据量的五元组查询方法及装置

Country Status (1)

Country Link
CN (1) CN105488189B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650887B (zh) * 2020-12-22 2022-02-18 广州锦行网络科技有限公司 一种图数据库时间属性的快速查询方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101056211A (zh) * 2007-06-22 2007-10-17 中兴通讯股份有限公司 一种实现用户上网行为审计的方法及系统
KR20080050246A (ko) * 2006-12-01 2008-06-05 한국전자통신연구원 내용 번지 메모리를 이용한 구간 매칭 검색 방법 및 장치
CN101241511A (zh) * 2008-03-05 2008-08-13 北京邮电大学 一种基于时空数据的快速索引方法
CN104281672A (zh) * 2014-09-28 2015-01-14 网神信息技术(北京)股份有限公司 日志数据的处理方法和装置
CN104750708A (zh) * 2013-12-27 2015-07-01 华为技术有限公司 一种时空数据的索引建立方法、查询方法、装置及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080050246A (ko) * 2006-12-01 2008-06-05 한국전자통신연구원 내용 번지 메모리를 이용한 구간 매칭 검색 방법 및 장치
CN101056211A (zh) * 2007-06-22 2007-10-17 中兴通讯股份有限公司 一种实现用户上网行为审计的方法及系统
CN101241511A (zh) * 2008-03-05 2008-08-13 北京邮电大学 一种基于时空数据的快速索引方法
CN104750708A (zh) * 2013-12-27 2015-07-01 华为技术有限公司 一种时空数据的索引建立方法、查询方法、装置及设备
CN104281672A (zh) * 2014-09-28 2015-01-14 网神信息技术(北京)股份有限公司 日志数据的处理方法和装置

Also Published As

Publication number Publication date
CN105488189A (zh) 2016-04-13

Similar Documents

Publication Publication Date Title
CN103617232B (zh) 一种针对HBase表的分页查询方法
CN103841196B (zh) 一种基于多线程的文件上传系统及方法
CN102819536B (zh) 树型数据处理方法及装置
EP2344959B1 (en) Index compression in databases
CN105488231B (zh) 一种基于自适应表维度划分的大数据处理方法
CN108932236A (zh) 一种文件管理方法、过期文件删除方法及装置
CN106528787A (zh) 一种基于海量数据多维分析的查询方法及装置
CN106454431B (zh) 电视节目推荐方法和系统
CN106155522A (zh) 会话数据处理、知识库建立、优化、交互方法及装置
CN102402617A (zh) 一种利用分片及稀疏位图的易压缩数据库索引存储系统及其相应的构建、调度和查询处理方法
CN103678408A (zh) 一种查询数据的方法及装置
CN103336844B (zh) 大数据rd分割方法
CN110037690A (zh) 基于改进卷积神经网络的r波定位方法和装置
CN105488189B (zh) 一种基于大数据量的五元组查询方法及装置
CN106777387A (zh) 一种基于HBase的物联网大数据存取方法
CN105354313A (zh) 一种利用大数据进行信用评估的方法
CN108241713A (zh) 一种基于多元切分的倒排索引检索方法
CN105323602A (zh) 一种节目排序方法及装置
CN109687875B (zh) 一种时序数据处理方法
CN103064908A (zh) 一种通过内存快速去重名单的方法
CN104303176A (zh) 查询处理
CN104320112B (zh) 一种相位精确可调双路时钟产生电路
CN107807793B (zh) 分布式计算机存储系统中数据副本异构存储与访问方法
CN109688422A (zh) 一种视频处理的方法及装置
CN105653674A (zh) 智能终端的文件管理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 610041 No. 06, floor 15, unit 2, building 1, No. 28, north section of Tianfu Avenue, Chengdu hi tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan

Patentee after: Chengdu Shumo Technology Co.,Ltd.

Address before: No. 801, middle section of Tianfu Avenue, high tech Zone, Chengdu, Sichuan 610041

Patentee before: COLASOFT Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220406

Address after: 610041 12th, 13th and 14th floors, unit 1, building 4, No. 966, north section of Tianfu Avenue, high tech Zone, Chengdu, Sichuan

Patentee after: Kelai Network Technology Co.,Ltd.

Address before: 610041 No. 06, floor 15, unit 2, building 1, No. 28, north section of Tianfu Avenue, Chengdu hi tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan

Patentee before: Chengdu Shumo Technology Co.,Ltd.