CN110825940A - 网络数据包存储和查询方法 - Google Patents
网络数据包存储和查询方法 Download PDFInfo
- Publication number
- CN110825940A CN110825940A CN201910904012.XA CN201910904012A CN110825940A CN 110825940 A CN110825940 A CN 110825940A CN 201910904012 A CN201910904012 A CN 201910904012A CN 110825940 A CN110825940 A CN 110825940A
- Authority
- CN
- China
- Prior art keywords
- data packet
- file
- bitmap index
- network
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种网络数据包存储和查询方法,包括:在收到网络数据包时,将数据包放入数据包写入队列中;解析数据包的特征,并提取特征数据;根据特征数据生成布隆过滤器、位图索引和偏移数组文件;以大数据包文件方式写入数据包。通过本发明的技术方案,避免了磁盘碎片,提升了写包的效率,提高了查找的效率,大大降低了对磁盘和内存的使用。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种网络数据包存储和查询方法。
背景技术
随着互联网的不断发展,网络流量越来越大,应用种类越来越多,个人和企业对网络的需求越来越大,在确保网络安全、网络流畅方面,除了需要对实时的网络流量进行分析和数据提取、呈现之外,还要对网络数据包进行存储和查找。当网络质量不好,出现故障,或者出现安全事件时,需要对当时的数据包进行回溯、取证,那么就需要在海量的数据包中,筛选符合条件的数据包,为了保证高效并且节省磁盘,就需要对网络数据包建立索引,方便快速查找。
现有技术中,在面对大流量时,有大量的数据包要存储,在对数据包存储时,会生成很多个小文件,容易造成磁盘碎片。对数据包按时间生成时,也会生成多个与数据包对应的索引文件,在查找一段时间的某个网络会话时,需要一个个去查,可能很多文件中并没有对应的报文,这样查询时会出现不必要的查询。同时,现有的技术在使用位图时,没有使用高效的压缩算法对位图进行压缩,会占用更多的磁盘。
现有技术中,相关的专利有申请号为CN105718521A的一个基于Wavelet Tree的网络数据包索引系统,该方法也是采用位图索引的方式,该方法对时间戳也建立了索引,但是该方法支持的三个操作分别为:rank,select,lookup,不是直接查询到符合条件的数据包所在的位置,在使用上不够方便。此外,还有申请号为CN105072196A的分布式数据包存储、回溯方法及系统,该方法使用分布式数据库存储索引、查询索引,该方法依赖数据库的性能瓶颈,且在数据包存储到远端数据库时有很大的网络负担,实际使用中依赖条件较为苛刻。
发明内容
针对上述问题中的至少之一,本发明提供了一种网络数据包存储和查询方法,通过使用自定义的数据包格式,存储为大数据包文件,避免了磁盘碎片,提升了写包的效率,通过使用布隆过滤器和位图索引,可以先检测数据包文件中是否存在我们要查找的报文,先使用bloomfilter(布隆过滤器,用于检索一个元素是否在一个集合中)可以避免不必要的查找,提高了查找的效率,在网络回溯系统中确保了数据包查找的精确和高效,使用WAH(Word Aligned Hybrid,一种位图压缩算法,字节对齐混合压缩算法,对位图进行压缩)位图压缩算法对位图进行压缩,大大降低了对磁盘和内存的使用。
为实现上述目的,本发明提供了一种网络数据包存储和查询方法,包括:在收到网络数据包时,将所述数据包放入数据包写入队列中;解析所述数据包的特征,并提取特征数据;根据所述特征数据生成布隆过滤器、位图索引和偏移数组文件;以大数据包文件方式写入所述数据包。
在上述技术方案中,优选地,网络数据包存储和查询方法还包括:在接收到基于特征的数据包精确查询条件时,查找布隆过滤器是否存在,若不存在则退出查询;若所述布隆过滤器存在,再查询位图索引文件是否存在,若不存在则退出查询;若所述位图索引文件存在,再通过偏移文件查找数据包的偏移地址,从数据包文件中取出对应所述偏移地址的数据包。
在上述技术方案中,优选地,网络数据包存储和查询方法还包括:在接收到基于时间的数据包精确查询条件时,以对应时间的报文进行比对,取出对应时间的数据包。
在上述技术方案中,优选地,所述根据所述特征数据生成布隆过滤器、位图索引和偏移数组文件具体包括:将各个维度的特征数据插入布隆过滤器中,在将各个维度的特征值和数据包序号插入位图索引中,同时将所述数据包序号和数据包在文件中的偏移生成偏移数组,将所述布隆过滤器、所述位图索引和所述偏移数组生成对应文件。
在上述技术方案中,优选地,所述特征包括数据包的源ip、目的ip、源端口、目的端口、协议类型、链路id和虚链路id,所述链路id与所述虚链路id来自对所述数据包的分析,根据实际网络环境的部署决定。
在上述技术方案中,优选地,所述以大数据包文件方式写入所述数据包的过程中,打开所述位图索引文件和偏移数组文件以记录新的数据包序号,所述数据包文件采用大文件方式写入且保持块对齐,所述位图索引文件按时间生成。
与现有技术相比,本发明的有益效果为:通过使用自定义的数据包格式,存储为大数据包文件,避免了磁盘碎片,提升了写包的效率,通过使用布隆过滤器和位图索引,可以先检测数据包文件中是否存在我们要查找的报文,先使用bloomfilter可以避免不必要的查找,提高了查找的效率,在网络回溯系统中确保了数据包查找的精确和高效,使用WAH位图压缩算法对位图进行压缩,大大降低了对磁盘和内存的使用。
附图说明
图1为本发明一种实施例公开的网络数据包存储和查询方法的流程示意图;
图2为本发明一种实施例公开的网络数据包的存储流程示意图;
图3为本发明一种实施例公开的网络数据包的查询流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
如图1所示,根据本发明提供的一种网络数据包存储和查询方法,包括:在收到网络数据包时,将数据包放入数据包写入队列中;解析数据包的特征,并提取特征数据;根据特征数据生成布隆过滤器、位图索引和偏移数组文件;以大数据包文件方式写入数据包,大数据包文件为64G、128G、256G等。
如图2所示,在上述实施例中,优选地,根据特征数据生成布隆过滤器、位图索引和偏移数组文件具体包括:将各个维度的特征数据插入布隆过滤器中,在将各个维度的特征值和数据包序号插入位图索引中,同时将数据包序号和数据包在文件中的偏移生成偏移数组,待这一时间段(10秒或者其他时间间隔)的数据包信息写入完毕之后,将布隆过滤器、位图索引和偏移数组生成对应文件。
在上述实施例中,优选地,特征包括数据包的源ip、目的ip、源端口、目的端口、协议类型、链路id和虚链路id,链路id与虚链路id来自对数据包的分析,根据实际网络环境的部署决定。
在上述实施例中,优选地,以大数据包文件方式写入数据包的过程中,打开位图索引文件和偏移数组文件以记录新的数据包序号,数据包文件采用大文件方式写入且保持块对齐,位图索引文件按时间(优选为10秒)生成,以大文件的方式写数据包可以保证写入效率高效,也不会产生磁盘碎片。
在上述实施例中,优选地,网络数据包的精确查询方法包括针对存储数据包的特征和时间进行查询。
如图3所示,基于数据包特征数据的查询方法包括:在接收到基于特征的数据包精确查询条件时,查找布隆过滤器是否存在,若不存在则退出查询;若布隆过滤器存在,再查询位图索引文件bitmap index(位图索引,一种索引技术,索引使用位图数组进行存储于计算)是否存在,若不存在则退出查询;若位图索引文件存在,再通过偏移文件查找数据包的偏移地址,从数据包文件中取出对应偏移地址的数据包。使用bloomfilter来快速判断查询条件是否在数据包中存在,可以有效减少不必要的文件查找,降低了查找对象的规模。同时,使用位图查找,各个特征查找之后通过位图之间的与或运算,就能得到结果,查询快速又方便。本发明还对位图进行了压缩,使用WAH算法能最大化的压缩位图,减少磁盘对磁盘的消耗。
基于时间的网络数据包的查询方法包括:在接收到基于时间的数据包精确查询条件时,以对应时间的报文进行比对,取出对应时间的数据包。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种网络数据包存储和查询方法,其特征在于,包括:
在收到网络数据包时,将所述数据包放入数据包写入队列中;
解析所述数据包的特征,并提取特征数据;
根据所述特征数据生成布隆过滤器、位图索引和偏移数组文件;
以大数据包文件方式写入所述数据包。
2.根据权利要求1所述的网络数据包存储和查询方法,其特征在于,还包括:
在接收到基于特征的数据包精确查询条件时,查找布隆过滤器是否存在,若不存在则退出查询;
若所述布隆过滤器存在,再查询位图索引文件是否存在,若不存在则退出查询;
若所述位图索引文件存在,再通过偏移文件查找数据包的偏移地址,从数据包文件中取出对应所述偏移地址的数据包。
3.根据权利要求1所述的网络数据包存储和查询方法,其特征在于,还包括:
在接收到基于时间的数据包精确查询条件时,以对应时间的报文进行比对,取出对应时间的数据包。
4.根据权利要求1所述的网络数据包存储和查询方法,其特征在于,所述根据所述特征数据生成布隆过滤器、位图索引和偏移数组文件具体包括:
将各个维度的特征数据插入布隆过滤器中,在将各个维度的特征值和数据包序号插入位图索引中,同时将所述数据包序号和数据包在文件中的偏移生成偏移数组,将所述布隆过滤器、所述位图索引和所述偏移数组生成对应文件。
5.根据权利要求1或2所述的网络数据包存储和查询方法,其特征在于,所述特征包括数据包的源ip、目的ip、源端口、目的端口、协议类型、链路id和虚链路id,所述链路id与所述虚链路id来自对所述数据包的分析,根据实际网络环境的部署决定。
6.根据权利要求1所述的网络数据包存储和查询方法,其特征在于,所述以大数据包文件方式写入所述数据包的过程中,打开所述位图索引文件和偏移数组文件以记录新的数据包序号,所述数据包文件采用大文件方式写入且保持块对齐,所述位图索引文件按时间生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910904012.XA CN110825940B (zh) | 2019-09-24 | 2019-09-24 | 网络数据包存储和查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910904012.XA CN110825940B (zh) | 2019-09-24 | 2019-09-24 | 网络数据包存储和查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825940A true CN110825940A (zh) | 2020-02-21 |
CN110825940B CN110825940B (zh) | 2023-08-22 |
Family
ID=69548225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910904012.XA Active CN110825940B (zh) | 2019-09-24 | 2019-09-24 | 网络数据包存储和查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825940B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672629A (zh) * | 2021-10-25 | 2021-11-19 | 北京金睛云华科技有限公司 | 一种分布式网络流量检索方法和装置 |
CN114896207A (zh) * | 2022-03-27 | 2022-08-12 | 杭州迪普科技股份有限公司 | 检索pcapng数据包文件的方法和装置 |
CN115114499A (zh) * | 2022-06-23 | 2022-09-27 | 江苏省未来网络创新研究院 | 一种数据库表结构及网络流量检索方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577721A (zh) * | 2008-12-05 | 2009-11-11 | 湖南大学 | 一种索引拆分布鲁姆过滤器及其插入、删除和查询方法 |
US20110125749A1 (en) * | 2009-11-15 | 2011-05-26 | Solera Networks, Inc. | Method and Apparatus for Storing and Indexing High-Speed Network Traffic Data |
CN102819495A (zh) * | 2012-08-10 | 2012-12-12 | 东方网力科技股份有限公司 | 数据存储方法及装置 |
US20140036925A1 (en) * | 2012-07-31 | 2014-02-06 | Cisco Technology, Inc. | Compressing data packet routing information using bloom filters |
CN103714134A (zh) * | 2013-12-18 | 2014-04-09 | 中国科学院计算技术研究所 | 一种网络流量数据索引方法及系统 |
US8972337B1 (en) * | 2013-02-21 | 2015-03-03 | Amazon Technologies, Inc. | Efficient query processing in columnar databases using bloom filters |
US20150331619A1 (en) * | 2012-12-14 | 2015-11-19 | Tencent Technology (Shenzhen) Company Limited | Data storage method and apparatus |
CN105429968A (zh) * | 2015-11-06 | 2016-03-23 | 北京数智源科技股份有限公司 | 基于布隆过滤器的网络取证载荷归属方法及系统 |
US9372892B1 (en) * | 2015-12-28 | 2016-06-21 | International Business Machines Corporation | Bloom filter construction method for use in a table join operation portion of processing a query to a distributed database |
CN107357843A (zh) * | 2017-06-23 | 2017-11-17 | 东南大学 | 基于数据流结构的海量网络数据查找方法 |
CN107832343A (zh) * | 2017-10-13 | 2018-03-23 | 天津大学 | 一种基于位图的mbf数据索引结构对数据快速检索的方法 |
WO2018121430A1 (zh) * | 2016-12-26 | 2018-07-05 | 贵州白山云科技有限公司 | 文件存储和索引方法、装置、介质、设备及读取文件的方法 |
-
2019
- 2019-09-24 CN CN201910904012.XA patent/CN110825940B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577721A (zh) * | 2008-12-05 | 2009-11-11 | 湖南大学 | 一种索引拆分布鲁姆过滤器及其插入、删除和查询方法 |
US20110125749A1 (en) * | 2009-11-15 | 2011-05-26 | Solera Networks, Inc. | Method and Apparatus for Storing and Indexing High-Speed Network Traffic Data |
US20140036925A1 (en) * | 2012-07-31 | 2014-02-06 | Cisco Technology, Inc. | Compressing data packet routing information using bloom filters |
CN102819495A (zh) * | 2012-08-10 | 2012-12-12 | 东方网力科技股份有限公司 | 数据存储方法及装置 |
US20150331619A1 (en) * | 2012-12-14 | 2015-11-19 | Tencent Technology (Shenzhen) Company Limited | Data storage method and apparatus |
US8972337B1 (en) * | 2013-02-21 | 2015-03-03 | Amazon Technologies, Inc. | Efficient query processing in columnar databases using bloom filters |
CN103714134A (zh) * | 2013-12-18 | 2014-04-09 | 中国科学院计算技术研究所 | 一种网络流量数据索引方法及系统 |
CN105429968A (zh) * | 2015-11-06 | 2016-03-23 | 北京数智源科技股份有限公司 | 基于布隆过滤器的网络取证载荷归属方法及系统 |
US9372892B1 (en) * | 2015-12-28 | 2016-06-21 | International Business Machines Corporation | Bloom filter construction method for use in a table join operation portion of processing a query to a distributed database |
WO2018121430A1 (zh) * | 2016-12-26 | 2018-07-05 | 贵州白山云科技有限公司 | 文件存储和索引方法、装置、介质、设备及读取文件的方法 |
CN107357843A (zh) * | 2017-06-23 | 2017-11-17 | 东南大学 | 基于数据流结构的海量网络数据查找方法 |
CN107832343A (zh) * | 2017-10-13 | 2018-03-23 | 天津大学 | 一种基于位图的mbf数据索引结构对数据快速检索的方法 |
Non-Patent Citations (3)
Title |
---|
王琢;姜学军;: "不精确位图索引中Bloom filter空间预估的一种方法", no. 03 * |
肖琳;梁军;钮文良;: "基于Bloom过滤器的精确位图索引", no. 13 * |
许亚平;李卓;刘开华;马东来;杨奕康;: "基于改进型MBF的命名数据网PIT存储结构研究", no. 01 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672629A (zh) * | 2021-10-25 | 2021-11-19 | 北京金睛云华科技有限公司 | 一种分布式网络流量检索方法和装置 |
CN113672629B (zh) * | 2021-10-25 | 2021-12-28 | 北京金睛云华科技有限公司 | 一种分布式网络流量检索方法和装置 |
CN114896207A (zh) * | 2022-03-27 | 2022-08-12 | 杭州迪普科技股份有限公司 | 检索pcapng数据包文件的方法和装置 |
CN115114499A (zh) * | 2022-06-23 | 2022-09-27 | 江苏省未来网络创新研究院 | 一种数据库表结构及网络流量检索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110825940B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7742414B1 (en) | Lightweight indexing for fast retrieval of data from a flow-level compressed packet trace | |
CN111770023B (zh) | 基于fpga的报文去重方法、装置及fpga芯片 | |
US6751627B2 (en) | Method and apparatus to facilitate accessing data in network management protocol tables | |
EP3282643B1 (en) | Method and apparatus of estimating conversation in a distributed netflow environment | |
CN111240599B (zh) | 数据流存储方法及装置 | |
CN107766445B (zh) | 一种支持多维度检索的高效快速数据检索方法 | |
CN112486914B (zh) | 一种数据包存储与快查方法与系统 | |
CN111324782A (zh) | 一种大数据存储系统 | |
CN110825940B (zh) | 网络数据包存储和查询方法 | |
CN113590910A (zh) | 一种网络流量检索方法和装置 | |
CN105511812A (zh) | 一种存储系统大数据优化方法及装置 | |
CN113672629B (zh) | 一种分布式网络流量检索方法和装置 | |
CN113297278B (zh) | 时序数据库、数据处理方法、存储设备及计算机程序产品 | |
CN112134719A (zh) | 一种分析基站安全日志的方法和系统 | |
CN113297269A (zh) | 数据查询方法及装置 | |
CN109067711B (zh) | 一种网络数据包的快速回溯分析方法 | |
CN112269726A (zh) | 一种数据处理方法及装置 | |
CN110138583B (zh) | 一种报警智能分析的展示方法 | |
CN111460217A (zh) | 视频检索系统和视频检索系统的运行方法 | |
CN108566335B (zh) | 一种基于NetFlow的网络拓扑生成方法 | |
CN114363304B (zh) | Rtp视频流存储、播放方法及装置 | |
CN105530327A (zh) | 一种dns关键信息处理方法和系统 | |
CN116166472B (zh) | 一种用于存储数据的数据恢复方法及系统 | |
CN104980750A (zh) | 一种视频转码日志的收集方法、装置及系统 | |
KR20110061013A (ko) | 로그 데이터 관리 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |