CN114221818A - 基于交换树上报五元组的方法、***、终端及存储介质 - Google Patents
基于交换树上报五元组的方法、***、终端及存储介质 Download PDFInfo
- Publication number
- CN114221818A CN114221818A CN202111567620.XA CN202111567620A CN114221818A CN 114221818 A CN114221818 A CN 114221818A CN 202111567620 A CN202111567620 A CN 202111567620A CN 114221818 A CN114221818 A CN 114221818A
- Authority
- CN
- China
- Prior art keywords
- tree
- quintuple
- data
- index
- reporting
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000009191 jumping Effects 0.000 claims abstract description 4
- 238000004590 computer program Methods 0.000 claims description 11
- 238000003780 insertion Methods 0.000 claims description 8
- 230000037431 insertion Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及基于交换树上报五元组的方法,包括以下步骤:生产者线程不断解析数据包提取五元组信息,并把五元组数据***到A树中,同时,消费者线程从B树读取五元组信息,按照配置上传五元组数据;在经过一设定时间段后触发树交换,交换线程同时获取读锁和写锁,然后调换读写索引值;树交换后,原来的A树不再做***,解析的五元组数据直接***到B树中,消费者线程不再从B树中拉取数据,直接从A树中拉取数据,然后上报;在一设定时间段后再次触发树交换,交换线程同时获取读锁和写锁,然后调换读写索引值,跳转至第一步;应用本申请的方式方法,通过两个缓冲区不断交换,既减少IO操作,同时又不阻塞数据接受,加速数据上报同时减少丢包。
Description
技术领域
本发明涉及数据处理技术领域,更具体地说,涉及一种基于交换树上报五元组的方法、***、终端及存储介质。
背景技术
随着计算机及物联网设备广泛的使用,网络设备受到安全威胁也与日俱增。攻击者在网络一端通过工具扫描远程计算机,获取远程计算机漏洞,进而攻击远程计算机,进而控制远程计算机,造成安全隐患;防护网络安全有多种方式,其中一种就是,抓取网络数据包,并对数据包进行分析,已发现潜在的安全问题,进而提出改善建议,因此,能够快速抓取数据包并分析成为关键因素。
目前,一般常用抓取数据包分析上报五元组的方法有以下两种种:第一种,从数据包解析一个五元组就上报,这种方法会造成频繁的IO操作,时间都消耗在网卡IO操作上,效率低下;第二种,从数据包解析一个五元组先缓存,到达一定数量开始上报,此方法可以减少IO操作,但容易阻塞解析五元组数据,造成丢包。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于交换树上报五元组的方法,还提供了一种基于交换树上报五元组的***、一种基于交换树上报五元组的终端及一种存储介质。
本发明解决其技术问题所采用的技术方案是:
构造一种基于交换树上报五元组的方法,其中,包括以下步骤:
第一步:生产者线程不断解析数据包提取五元组信息,并把五元组数据***到A树中,同时,消费者线程从B树读取五元组信息,按照配置上传五元组数据;
第二步:在经过一设定时间段后触发树交换,交换线程同时获取读锁和写锁,然后调换读写索引值;
第三步:树交换后,原来的A树不再做***,解析的五元组数据直接***到B树中,消费者线程不再从B树中拉取数据,直接从A树中拉取数据,然后上报;
第四步:在一设定时间段后再次触发树交换,交换线程同时获取读锁和写锁,然后调换读写索引值,跳转至第一步。
本发明所述的基于交换树上报五元组的方法,其中,所述第一步中,在向A树进行数据***操作过程中会合并相同五元组的数据。
本发明所述的基于交换树上报五元组的方法,其中,所述第一步中,A树只存储五元组信息和一指向完整数据指针,包含有五元组数据的完整解析数据包信息存储在内存池中;
本发明所述的基于交换树上报五元组的方法,其中,还包括方法:分别对所述A树和所述B树中其一索引值赋0,另一索引值赋1;并将写索引write_index和读索引read_index其一指向0,另一指向1;
所述第二步和所述第四步进行索引值调换方法为:调换当前写索引write_index和读索引read_index的指向。
一种基于交换树上报五元组的***,用于实现如上述的基于交换树上报五元组的方法,其中,包括解析数据包单元、上报单元和控制单元;
所述解析数据包单元,用于解析数据包提取五元组信息并将五元组数据***所述控制单元指定的树中;
所述上报单元,用于从所述控制单元指定的树中读取五元组信息,按照配置上传五元组数据;
所述控制单元,用于在每经过一设定时间段后对当前与所述解析数据包单元对应的树和与所述上报单元对应的树进行索引交换。
本发明所述的基于交换树上报五元组的***,其中,所述解析数据包单元进行数据***操作过程中会合并相同五元组的数据。
本发明所述的基于交换树上报五元组的***,其中,所述解析数据包单元对树中只存储五元组信息和一指向完整数据指针,对包含有五元组数据的完整解析数据包信息则存储在内存池中。
本发明所述的基于交换树上报五元组的***,其中,所述控制单元进行索引交换操作方式为:
对两树分别初始赋值0和1,进行索引交换时修改写索引write_index和读索引read_index的当前的0和1的指向。
一种基于交换树上报五元组的终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上述方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序被处理器执行时实现如上述方法的步骤。
本发明的有益效果在于:应用本申请的方式方法,交换树由两个独立的多索引容器构成,在经过一定时间后,两棵树进行交换,在树交换前,一棵树用来缓存解析出五元组数据,另一个棵树用来上报五元组数据,上报时可以根据配置一次上报多条数据,这样可达到快速上报之目的,通过两个缓冲区不断交换,既减少IO操作,同时又不阻塞数据接受,加速数据上报同时减少丢包。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合附图及实施例对本发明作进一步说明,下面描述中的附图仅仅是本发明的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图:
图1是本发明较佳实施例的基于交换树上报五元组的方法流程图;
图2是本发明较佳实施例的基于交换树上报五元组的***原理图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的部分实施例,而不是全部实施例。基于本发明的实施例,本领域普通技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明较佳实施例的基于交换树上报五元组的方法,如图1所示,包括以下步骤:
S01:生产者线程不断解析数据包提取五元组信息,并把五元组数据***到A树中,同时,消费者线程从B树读取五元组信息,按照配置上传五元组数据;
S02:在经过一设定时间段后触发树交换,交换线程同时获取读锁和写锁,然后调换读写索引值;
S03:树交换后,原来的A树不再做***,解析的五元组数据直接***到B树中,消费者线程不再从B树中拉取数据,直接从A树中拉取数据,然后上报;
S04:在一设定时间段后再次触发树交换,交换线程同时获取读锁和写锁,然后调换读写索引值,跳转至第一步;
应用本申请的方式方法,交换树由两个独立的多索引容器构成,在经过一定时间后,两棵树进行交换,在树交换前,一棵树用来缓存解析出五元组数据,另一个棵树用来上报五元组数据,上报时可以根据配置一次上报多条数据,这样可达到快速上报之目的,通过两个缓冲区不断交换,既减少IO操作,同时又不阻塞数据接受,加速数据上报同时减少丢包;
一种较佳的设置是,每间隔5分钟交换一次,选择这个时间,一来可以尽可能多合并具有相同五元组的数据,二来这个时间不算长,五元组数据不会太多,不会消耗大量内存,还有合并后的五元组数据也不会很多导致树交换时间到达时无法上报完成;当然,可以理解的是还可以根据实际需要选择其他时间长度,基于该处的简单修改均属于本申请保护范畴。
优选的,第一步中,在向A树进行数据***操作过程中会合并相同五元组的数据,由于树使用的是多索引容器,内部实现是散列表,查询及***数据都极快。
优选的,第一步中,A树只存储五元组信息和一指向完整数据指针,包含有五元组数据的完整解析数据包信息存储在内存池中;这样设计,树占用的内存少,可以快速销毁整棵树数据,而不需要遍历树中数据逐个销毁,另外内存池中的数据不用处理,树交换后可以继续使用,只要在程序退出前清理内存池即可,这样可以提高程序的效率;
优选的,还包括方法:分别对A树和B树中其一索引值赋0,另一索引值赋1;并将写索引write_index和读索引read_index其一指向0,另一指向1;
第二步和第四步进行索引值调换方法为:调换当前写索引write_index和读索引read_index的指向;由于调换索引时间很短,锁定的时间也很短,不会影响数据的接收。
一种基于交换树上报五元组的***,用于实现如上述的基于交换树上报五元组的方法,如图2所示,包括解析数据包单元1、上报单元2和控制单元3;
解析数据包单元1,用于解析数据包提取五元组信息并将五元组数据***控制单元指定的树中;
上报单元2,用于从控制单元指定的树中读取五元组信息,按照配置上传五元组数据;
控制单元3,用于在每经过一设定时间段后对当前与解析数据包单元对应的树和与上报单元对应的树进行索引交换;
应用本申请的方式方法,交换树由两个独立的多索引容器构成,在经过一定时间后,两棵树进行交换,在树交换前,一棵树用来缓存解析出五元组数据,另一个棵树用来上报五元组数据,上报时可以根据配置一次上报多条数据,这样可达到快速上报之目的,通过两个缓冲区不断交换,既减少IO操作,同时又不阻塞数据接受,加速数据上报同时减少丢包;
一种较佳的设置是,每间隔5分钟交换一次,选择这个时间,一来可以尽可能多合并具有相同五元组的数据,二来这个时间不算长,五元组数据不会太多,不会消耗大量内存,还有合并后的五元组数据也不会很多导致树交换时间到达时无法上报完成;当然,可以理解的是还可以根据实际需要选择其他时间长度,基于该处的简单修改均属于本申请保护范畴。
优选的,解析数据包单元1进行数据***操作过程中会合并相同五元组的数据,由于树使用的是多索引容器,内部实现是散列表,查询及***数据都极快。
优选的,解析数据包单元1对树中只存储五元组信息和一指向完整数据指针,对包含有五元组数据的完整解析数据包信息则存储在内存池中;这样设计,树占用的内存少,可以快速销毁整棵树数据,而不需要遍历树中数据逐个销毁,另外内存池中的数据不用处理,树交换后可以继续使用,只要在程序退出前清理内存池即可,这样可以提高程序的效率。
优选的,控制单元3进行索引交换操作方式为:
对两树分别初始赋值0和1,进行索引交换时修改写索引write_index和读索引read_index的当前的0和1的指向;由于调换索引时间很短,锁定的时间也很短,不会影响数据的接收。
一种基于交换树上报五元组的终端,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现如上述方法的步骤。
一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时实现如上述方法的步骤。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种基于交换树上报五元组的方法,其特征在于,包括以下步骤:
第一步:生产者线程不断解析数据包提取五元组信息,并把五元组数据***到A树中,同时,消费者线程从B树读取五元组信息,按照配置上传五元组数据;
第二步:在经过一设定时间段后触发树交换,交换线程同时获取读锁和写锁,然后调换读写索引值;
第三步:树交换后,原来的A树不再做***,解析的五元组数据直接***到B树中,消费者线程不再从B树中拉取数据,直接从A树中拉取数据,然后上报;
第四步:在一设定时间段后再次触发树交换,交换线程同时获取读锁和写锁,然后调换读写索引值,跳转至第一步。
2.根据权利要求1所述的基于交换树上报五元组的方法,其特征在于,所述第一步中,在向A树进行数据***操作过程中会合并相同五元组的数据。
3.根据权利要求1或2所述的基于交换树上报五元组的方法,其特征在于,所述第一步中,A树只存储五元组信息和一指向完整数据指针,包含有五元组数据的完整解析数据包信息存储在内存池中。
4.根据权利要求1所述的基于交换树上报五元组的方法,其特征在于,还包括方法:分别对所述A树和所述B树中其一索引值赋0,另一索引值赋1;并将写索引write_index和读索引read_index其一指向0,另一指向1;
所述第二步和所述第四步进行索引值调换方法为:调换当前写索引write_index和读索引read_index的指向。
5.一种基于交换树上报五元组的***,用于实现如权利要求1-4任一所述的基于交换树上报五元组的方法,其特征在于,包括解析数据包单元、上报单元和控制单元;
所述解析数据包单元,用于解析数据包提取五元组信息并将五元组数据***所述控制单元指定的树中;
所述上报单元,用于从所述控制单元指定的树中读取五元组信息,按照配置上传五元组数据;
所述控制单元,用于在每经过一设定时间段后对当前与所述解析数据包单元对应的树和与所述上报单元对应的树进行索引交换。
6.根据权利要求5所述的基于交换树上报五元组的***,其特征在于,所述解析数据包单元进行数据***操作过程中会合并相同五元组的数据。
7.根据权利要求5或6所述的基于交换树上报五元组的***,其特征在于,所述解析数据包单元对树中只存储五元组信息和一指向完整数据指针,对包含有五元组数据的完整解析数据包信息则存储在内存池中。
8.根据权利要求5所述的基于交换树上报五元组的***,其特征在于,所述控制单元进行索引交换操作方式为:
对两树分别初始赋值0和1,进行索引交换时修改写索引write_index和读索引read_index的当前的0和1的指向。
9.一种基于交换树上报五元组的终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111567620.XA CN114221818A (zh) | 2021-12-21 | 2021-12-21 | 基于交换树上报五元组的方法、***、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111567620.XA CN114221818A (zh) | 2021-12-21 | 2021-12-21 | 基于交换树上报五元组的方法、***、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114221818A true CN114221818A (zh) | 2022-03-22 |
Family
ID=80704602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111567620.XA Pending CN114221818A (zh) | 2021-12-21 | 2021-12-21 | 基于交换树上报五元组的方法、***、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114221818A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1270750A (zh) * | 1997-07-11 | 2000-10-18 | 艾利森电话股份有限公司 | 异步传输模式多点传送信元的处理 |
JP2006345323A (ja) * | 2005-06-09 | 2006-12-21 | Mitsubishi Electric Corp | データ転送装置および情報伝送システム |
CN102098090A (zh) * | 2009-12-11 | 2011-06-15 | 上海贝尔股份有限公司 | 多天线接收机中用于缓存数据的方法及相应器件和接收机 |
US20130103942A1 (en) * | 2011-10-19 | 2013-04-25 | Apple Inc. | System and method for pseudo-random polymorphic tree construction |
CN105791171A (zh) * | 2016-03-21 | 2016-07-20 | 浪潮(北京)电子信息产业有限公司 | 交换芯片的复位方法、交换芯片及pcie交换机 |
CN105872432A (zh) * | 2016-04-21 | 2016-08-17 | 天津大学 | 快速自适应帧率变换的装置与方法 |
CN105978762A (zh) * | 2016-04-27 | 2016-09-28 | 刘巍 | 冗余以太网数据传输设备、***及方法 |
CN108306926A (zh) * | 2017-11-30 | 2018-07-20 | 深圳市科列技术股份有限公司 | 一种车联网设备网关业务数据的推送方法和装置 |
CN110046047A (zh) * | 2019-04-15 | 2019-07-23 | Oppo广东移动通信有限公司 | 一种进程间通信方法、装置及计算机可读存储介质 |
WO2020034118A1 (zh) * | 2018-08-15 | 2020-02-20 | 华为技术有限公司 | 一种安全的数据转移装置、***和方法 |
CN110830385A (zh) * | 2019-09-25 | 2020-02-21 | 上海数荃数据科技有限公司 | 一种捕包处理方法、网络设备、服务器及存储介质 |
CN111475508A (zh) * | 2020-03-31 | 2020-07-31 | 浙江大学 | 一种优化叶子节点合并操作的高效索引方法 |
CN114666289A (zh) * | 2022-03-18 | 2022-06-24 | 安方高科电磁安全技术(北京)有限公司 | 一种基于电磁屏蔽体的数据传输方法及*** |
-
2021
- 2021-12-21 CN CN202111567620.XA patent/CN114221818A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1270750A (zh) * | 1997-07-11 | 2000-10-18 | 艾利森电话股份有限公司 | 异步传输模式多点传送信元的处理 |
JP2006345323A (ja) * | 2005-06-09 | 2006-12-21 | Mitsubishi Electric Corp | データ転送装置および情報伝送システム |
CN102098090A (zh) * | 2009-12-11 | 2011-06-15 | 上海贝尔股份有限公司 | 多天线接收机中用于缓存数据的方法及相应器件和接收机 |
US20130103942A1 (en) * | 2011-10-19 | 2013-04-25 | Apple Inc. | System and method for pseudo-random polymorphic tree construction |
CN105791171A (zh) * | 2016-03-21 | 2016-07-20 | 浪潮(北京)电子信息产业有限公司 | 交换芯片的复位方法、交换芯片及pcie交换机 |
CN105872432A (zh) * | 2016-04-21 | 2016-08-17 | 天津大学 | 快速自适应帧率变换的装置与方法 |
CN105978762A (zh) * | 2016-04-27 | 2016-09-28 | 刘巍 | 冗余以太网数据传输设备、***及方法 |
CN108306926A (zh) * | 2017-11-30 | 2018-07-20 | 深圳市科列技术股份有限公司 | 一种车联网设备网关业务数据的推送方法和装置 |
WO2020034118A1 (zh) * | 2018-08-15 | 2020-02-20 | 华为技术有限公司 | 一种安全的数据转移装置、***和方法 |
CN110046047A (zh) * | 2019-04-15 | 2019-07-23 | Oppo广东移动通信有限公司 | 一种进程间通信方法、装置及计算机可读存储介质 |
CN110830385A (zh) * | 2019-09-25 | 2020-02-21 | 上海数荃数据科技有限公司 | 一种捕包处理方法、网络设备、服务器及存储介质 |
CN111475508A (zh) * | 2020-03-31 | 2020-07-31 | 浙江大学 | 一种优化叶子节点合并操作的高效索引方法 |
CN114666289A (zh) * | 2022-03-18 | 2022-06-24 | 安方高科电磁安全技术(北京)有限公司 | 一种基于电磁屏蔽体的数据传输方法及*** |
Non-Patent Citations (1)
Title |
---|
黄裕;: "基于分布式Redis集群的WEB共享管理研究", 计算机与数字工程, no. 10 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113676464B (zh) | 一种基于大数据分析技术的网络安全日志告警处理方法 | |
CN109446173B (zh) | 日志数据处理方法、装置、计算机设备和存储介质 | |
CN110287163B (zh) | 安全日志采集解析方法、装置、设备及介质 | |
EP2186275B1 (en) | Generating a fingerprint of a bit sequence | |
CN106503008B (zh) | 文件存储方法和装置及文件查询方法和装置 | |
CN112702259B (zh) | 延迟消息推送方法、装置及消息中间件 | |
CN111897828A (zh) | 数据批处理实现方法、装置、设备及存储介质 | |
Hei et al. | Feature extraction optimization for bitstream communication protocol format reverse analysis | |
CN114221818A (zh) | 基于交换树上报五元组的方法、***、终端及存储介质 | |
US20240106730A1 (en) | Network Forensic System and Method | |
CN111049684B (zh) | 数据分析方法、装置、设备和存储介质 | |
CN105160013A (zh) | 一种数据采集***的通信报文保存方法 | |
CN110727576A (zh) | 一种web页面测试方法、装置、设备及存储介质 | |
CN116226047A (zh) | 一种快速读取gzip压缩的stdf文件MIR信息的方法及装置 | |
CN115314268A (zh) | 基于流量指纹和行为的恶意加密流量检测方法和*** | |
CN108683643A (zh) | 一种基于流式处理的数据脱敏***及其脱敏方法 | |
CN113836367A (zh) | 一种字符反向匹配的方法及装置 | |
CN113051504A (zh) | 文档预览方法、装置、设备、存储介质及程序产品 | |
CN109977716A (zh) | 一种数据解码方法、终端及存储介质 | |
CN105657473A (zh) | 数据处理的方法和装置 | |
CN112100257A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US8788483B2 (en) | Method and apparatus for searching in a memory-efficient manner for at least one query data element | |
KR20020041780A (ko) | 계층적 오브젝트 구조에서의 탐색 방법 | |
CN114070471B (zh) | 一种测试数据包传输方法、装置、***、设备和介质 | |
CN117150537B (zh) | 一种数据库数据加密解密方法和*** |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220322 |
|
RJ01 | Rejection of invention patent application after publication |