CN117792960A - 一种基于国产多核处理器的历史流量统计方法及装置 - Google Patents
一种基于国产多核处理器的历史流量统计方法及装置 Download PDFInfo
- Publication number
- CN117792960A CN117792960A CN202410200462.1A CN202410200462A CN117792960A CN 117792960 A CN117792960 A CN 117792960A CN 202410200462 A CN202410200462 A CN 202410200462A CN 117792960 A CN117792960 A CN 117792960A
- Authority
- CN
- China
- Prior art keywords
- flow
- query
- database
- traffic
- creating
- 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
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000000737 periodic effect Effects 0.000 claims description 19
- 239000000872 buffer Substances 0.000 claims description 11
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于国产多核处理器的历史流量统计方法及装置,所述方法包括:将流量按固定时间间隔写入数据库;指定包括查询时间段和ip的查询信息,创建多线程并发查询和统计流量。本发明基于数据库将流量按固定时间间隔分表存储,在统计指定查询时间段、ip等信息时,可以创建多线程并发查询,极大提升流量统计性能,能够快速精确统计历史流量。
Description
技术领域
本发明涉及网络流量技术领域,具体而言,涉及一种基于国产多核处理器的历史流量统计方法及装置。
背景技术
随着dpdk开发套件及其相关技术的日益成熟,基于多核处理器的网络安全设备使用用户态协议栈后,其转发性能有了大幅提升。但是随着转发性能的提升,流量统计同时面临存储压力和运算压力,国产多核处理器目前在单核性能表现一般,如果处理不好,将无法快速精确统计历史流量。
现有技术通常首先获取待统计流量报文对应的特征信息,根据特征信息,首先在高速缓存中进行统计查询,然后再到存储器中进行统计查询。该方法当大量数据需要在存储器中统计查询时,性能非常慢,无法快速精确查询。比如:公开号为CN115334013A的专利《一种流量统计方法、网卡及电子设备》。其次,公开号为CN115361154A的专利《一种会话流量的统计方法及装置》中提及通过共享内存将流量信息写入数据库,再对数据库进行二次加工存储,此方法虽然对数据库有二次加工,当数据库中的五元组信息存在较大差异时,二次加工效果不明显,数据存储量依然很大,流量统计性能依然很低。
目前,大部分研究都没有考虑到流量统计多线程并发统计查询,例如,公开号为CN115174446A的专利《一种网络流量统计的方法、装置及电子设备》,公开号为CN115225544A的专利《一种网络流量统计和监测方法、装置、电子设备及介质》,公开号为CN114244752A的专利《流量统计方法、装置和设备》,以及公开号为CN115665065A的专利《一种基于IP地址的流量统计方法、装置、设备及介质》。
发明内容
本发明旨在提供一种基于国产多核处理器的历史流量统计方法及装置,以解决流量存储问题,极大提升流量查询性能,快速精确统计历史流量。
本发明提供的一种基于国产多核处理器的历史流量统计方法,包括:
将流量按固定时间间隔写入数据库;
指定包括查询时间段和ip的查询信息,创建多线程并发查询和统计流量。
进一步的,将流量按固定时间间隔写入数据库包括:
获取网络数据;
用户态协议栈将五元组形式的网络数据和数据大小写入共享缓存;
循环读取共享缓存内容,并将相同五元组合并计算流量;
创建周期性timer,周期性timer的间隔时间为m分钟;触发周期性timer执行时,创建数据库表项,每个数据库表项采用独立的socket进行通信,数据库表项的后缀为当前时间戳,然后将流量写入数据库表项。
进一步的,当流量统计时长满p天时,删除p天前记录的数据库表项。
进一步的,指定包括查询时间段和ip的查询信息,创建多线程并发查询和统计流量包括:
用户指定包括查询时间段和ip的查询信息;
根据查询信息,计算出需要查询的数据库表项,设数据库表项个数为n;
创建n个线程,用于查询数据库流量;并创建n个buffer,用于缓存数据库查询数据;
采用原子变量统计流量,原子变量初始化为0;
每个线程查询对应的数据库流量,原子变量加上对应线程查询到的流量,所有线程查询完毕后,计算出总流量;
读取总流量并展示。
进一步的,将总流量写入xml文件,读取xml文件中的总流量并展示。
本发明还提供一种基于国产多核处理器的历史流量统计装置,包括:
流量写入模块,用于将流量按固定时间间隔写入数据库;
流量查询模块,用于指定包括查询时间段和ip的查询信息,创建多线程并发查询和统计流量。
进一步的,当获取网络数据,用户态协议栈将五元组形式的网络数据和数据大小写入共享缓存后,所述流量写入模块用于:
循环读取共享缓存内容,并将相同五元组合并计算流量;
以及,创建周期性timer,周期性timer的间隔时间为m分钟;触发周期性timer执行时,创建数据库表项,每个数据库表项采用独立的socket进行通信,数据库表项的后缀为当前时间戳,然后将流量写入数据库表项。
进一步的,所述流量写入模块中,当流量统计时长满p天时,删除p天前记录的数据库表项。
进一步的,当用户通过点击界面指定包括查询时间段和ip的查询信息后;所述流量查询模块用于:
根据查询信息,计算出需要查询的数据库表项,设数据库表项个数为n;
创建n个线程,用于查询数据库流量;并创建n个buffer,用于缓存数据库查询数据;
采用原子变量统计流量,原子变量初始化为0;
每个线程查询对应的数据库流量,原子变量加上对应线程查询到的流量,所有线程查询完毕后,计算出总流量;
以及,读取总流量并展示。
进一步的,所述流量查询模块中,将总流量写入xml文件,读取xml文件中的总流量并展示。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明用户态协议栈将流量写入共享缓存,当流量写入时读取共享缓存中的流量写入数据库时,原有用户态协议栈性能基本不受影响。
本发明可以解决大流量场景,历史流量可能需要很大的空间进行存储,高速缓存可能无法满足存储需求,硬盘容量通常远大于高速缓存内存,能够有效解决存储压力。
本发明基于数据库将流量按固定时间间隔分表存储,在统计指定查询时间段、ip等信息时,可以创建多线程并发查询,极大提升流量统计性能,能够快速精确统计历史流量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明基于国产多核处理器的历史流量统计方法的流程图。
图2为本发明流量写入的流程图。
图3为本发明流量查询的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本实施例提出一种基于国产多核处理器的历史流量统计方法,包括:
(1)流量写入:将流量按固定时间间隔写入数据库;如图2所示,具体如下:
(1.1)设备上电,并将设备置于网络环境中获取网络数据;
(1.2)用户态协议栈将五元组形式的网络数据和数据大小写入共享缓存;
(1.3)循环读取共享缓存内容,并将相同五元组合并计算流量,以减小后续查询过程计算量;
(1.4)创建周期性timer,周期性timer的间隔时间为m分钟,触发周期性timer执行时,创建数据库表项,每个数据库表项采用独立的socket进行通信,数据库表项的后缀为当前时间戳。例如假设周期性timer周期为10分钟,在时间点2024年1月16日16点50分,创建的数据库表项为Data-flow-2024-01-16-16:50,然后将流量写入数据库表项,以此类推,下一个周期表项为Data-flow-2024-01-16-17:00。
(1.5)当流量统计时长满p天时,删除p天前记录的数据库表项,以避免长时间统计硬盘容量不够。
(2)流量查询:指定包括查询时间段和IP的查询信息,创建多线程并发查询和统计流量。如图3所示,具体如下:
(2.1)用户指定查询时间段、ip等信息;
(2.2)根据查询时间段、ip等信息,计算出需要查询的数据库表项,设数据库表项个数为n;
(2.3)创建n个线程,用于查询数据库流量,每个数据库表项采用独立的socket进行通信,故而n个线程能够同时并发统计流量;并创建n个buffer,用于缓存数据库查询数据;
(2.4)采用原子变量统计流量,避免锁冲突带来的开销,原子变量初始化为0;
(2.5)每个线程查询对应的数据库流量,原子变量加上对应线程查询到的流量,所有线程查询完毕后,计算出总流量,并将总流量写入xml文件;
(2.6)读取xml文件并展示。
实施例2
本实施例提出一种基于国产多核处理器的历史流量统计装置,包括:
(1)流量写入模块,工作原理如下:
设备上电,并将设备置于网络环境中获取网络数据;
用户态协议栈将五元组形式的网络数据和数据大小写入共享缓存;
流量写入模块循环读取共享缓存内容,并将相同五元组合并计算流量,以减小后续查询过程计算量;
流量写入模块创建周期性timer,周期性timer的间隔时间为m分钟,触发周期性timer执行时,创建数据库表项,每个数据库表项采用独立的socket进行通信,数据库表项的后缀为当前时间戳。例如假设周期性timer周期为10分钟,在时间点2024年1月16日16点50分,创建的数据库表项为Data-flow-2024-01-16-16:50,然后将流量写入数据库表项,以此类推,下一个周期表项为Data-flow-2024-01-16-17:00。
(1.5)当流量统计时长满p天时,删除p天前记录的数据库表项,以避免长时间统计硬盘容量不够。
(2)流量查询模块,用于指定包括查询时间段和ip的查询信息,创建多线程并发查询和统计流量;如图3所示,所述流量查询模块的工作原理如下:
(2.1)用户指定查询时间段、ip等信息;
(2.2)流量查询模块根据查询时间段、ip等信息,计算出需要查询的数据库表项,设数据库表项个数为n;
(2.3)流量查询模块创建n个线程,用于查询数据库流量,每个数据库表项采用独立的socket进行通信,故而n个线程能够同时并发统计流量;并创建n个buffer(缓冲器),用于缓存数据库查询数据;
(2.4)流量查询模块采用原子变量统计流量,避免锁冲突带来的开销,原子变量初始化为0;
(2.5)流量查询模块中,每个线程查询对应的数据库流量,原子变量加上对应线程查询到的流量,所有线程查询完毕后,计算出总流量,并将总流量写入xml文件;
(2.6)读取xml文件并在界面上展示查询到的总流量。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于国产多核处理器的历史流量统计方法,其特征在于,包括:
将流量按固定时间间隔写入数据库;
指定包括查询时间段和ip的查询信息,创建多线程并发查询和统计流量。
2.根据权利要求1所述的基于国产多核处理器的历史流量统计方法,其特征在于,将流量按固定时间间隔写入数据库包括:
获取网络数据;
用户态协议栈将五元组形式的网络数据和数据大小写入共享缓存;
循环读取共享缓存内容,并将相同五元组合并计算流量;
创建周期性timer,周期性timer的间隔时间为m分钟;触发周期性timer执行时,创建数据库表项,每个数据库表项采用独立的socket进行通信,数据库表项的后缀为当前时间戳,然后将流量写入数据库表项。
3.根据权利要求2所述的基于国产多核处理器的历史流量统计方法,其特征在于,当流量统计时长满p天时,删除p天前记录的数据库表项。
4.根据权利要求2所述的基于国产多核处理器的历史流量统计方法,其特征在于,指定包括查询时间段和ip的查询信息,创建多线程并发查询和统计流量包括:
用户指定包括查询时间段和ip的查询信息;
根据查询信息,计算出需要查询的数据库表项,设数据库表项个数为n;
创建n个线程,用于查询数据库流量;并创建n个buffer,用于缓存数据库查询数据;
采用原子变量统计流量,原子变量初始化为0;
每个线程查询对应的数据库流量,原子变量加上对应线程查询到的流量,所有线程查询完毕后,计算出总流量;
读取总流量并展示。
5.根据权利要求4所述的基于国产多核处理器的历史流量统计方法,其特征在于,将总流量写入xml文件,读取xml文件中的总流量并展示。
6.一种基于国产多核处理器的历史流量统计装置,其特征在于,包括:
流量写入模块,用于将流量按固定时间间隔写入数据库;
流量查询模块,用于指定包括查询时间段和ip的查询信息,创建多线程并发查询和统计流量。
7.根据权利要求6所述的基于国产多核处理器的历史流量统计装置,其特征在于,当获取网络数据,用户态协议栈将五元组形式的网络数据和数据大小写入共享缓存后,所述流量写入模块用于:
循环读取共享缓存内容,并将相同五元组合并计算流量;
以及,创建周期性timer,周期性timer的间隔时间为m分钟;触发周期性timer执行时,创建数据库表项,每个数据库表项采用独立的socket进行通信,数据库表项的后缀为当前时间戳,然后将流量写入数据库表项。
8.根据权利要求7所述的基于国产多核处理器的历史流量统计装置,其特征在于,所述流量写入模块中,当流量统计时长满p天时,删除p天前记录的数据库表项。
9.根据权利要求7所述的基于国产多核处理器的历史流量统计装置,其特征在于,当用户通过点击界面指定包括查询时间段和ip的查询信息后;所述流量查询模块用于:
根据查询信息,计算出需要查询的数据库表项,设数据库表项个数为n;
创建n个线程,用于查询数据库流量;并创建n个buffer,用于缓存数据库查询数据;
采用原子变量统计流量,原子变量初始化为0;
每个线程查询对应的数据库流量,原子变量加上对应线程查询到的流量,所有线程查询完毕后,计算出总流量;
以及,读取总流量并展示。
10.根据权利要求9所述的基于国产多核处理器的历史流量统计装置,其特征在于,所述流量查询模块中,将总流量写入xml文件,读取xml文件中的总流量并展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410200462.1A CN117792960B (zh) | 2024-02-23 | 2024-02-23 | 一种基于国产多核处理器的历史流量统计方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410200462.1A CN117792960B (zh) | 2024-02-23 | 2024-02-23 | 一种基于国产多核处理器的历史流量统计方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117792960A true CN117792960A (zh) | 2024-03-29 |
CN117792960B CN117792960B (zh) | 2024-04-30 |
Family
ID=90401970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410200462.1A Active CN117792960B (zh) | 2024-02-23 | 2024-02-23 | 一种基于国产多核处理器的历史流量统计方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117792960B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180376498A1 (en) * | 2017-06-22 | 2018-12-27 | Qualcomm Incorporated | Physical shared channel transmission to acknowledgement delay optimization |
CN110445671A (zh) * | 2019-06-27 | 2019-11-12 | 浪潮思科网络科技有限公司 | 一种基于sdn的网络流量监控方法 |
CN112417141A (zh) * | 2020-11-22 | 2021-02-26 | 西安热工研究院有限公司 | 一种国产工控系统曲线数据查询处理方法 |
CN114189455A (zh) * | 2021-12-08 | 2022-03-15 | 兴业银行股份有限公司 | 基于ebpf技术的容器网络流量监控统计方法及系统 |
CN114579614A (zh) * | 2022-02-11 | 2022-06-03 | 武汉物易云通网络科技有限公司 | 一种实时数据全量获取方法、装置及计算机设备 |
CN114911822A (zh) * | 2021-02-07 | 2022-08-16 | 中移(苏州)软件技术有限公司 | 一种数据读取方法、装置、计算机存储介质及系统 |
CN115334013A (zh) * | 2022-08-12 | 2022-11-11 | 北京天融信网络安全技术有限公司 | 一种流量统计方法、网卡及电子设备 |
CN115361154A (zh) * | 2022-06-29 | 2022-11-18 | 西安交大捷普网络科技有限公司 | 一种会话流量的统计方法及装置 |
CN115982152A (zh) * | 2021-10-15 | 2023-04-18 | 西安交大捷普网络科技有限公司 | 审计日志数据的并发入库方法及装置 |
CN116723140A (zh) * | 2023-08-09 | 2023-09-08 | 成都玖锦科技有限公司 | 一种基于矢量网络分析仪的多线程激励信号配置方法 |
US11755568B1 (en) * | 2022-06-10 | 2023-09-12 | Snowflake Inc. | Execution and consistency model for materialized tables |
CN117312365A (zh) * | 2023-10-18 | 2023-12-29 | 厦门市美亚柏科信息安全研究所有限公司 | 通用标准结构化查询语言转换异构数据源的方法及系统 |
-
2024
- 2024-02-23 CN CN202410200462.1A patent/CN117792960B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180376498A1 (en) * | 2017-06-22 | 2018-12-27 | Qualcomm Incorporated | Physical shared channel transmission to acknowledgement delay optimization |
CN110445671A (zh) * | 2019-06-27 | 2019-11-12 | 浪潮思科网络科技有限公司 | 一种基于sdn的网络流量监控方法 |
CN112417141A (zh) * | 2020-11-22 | 2021-02-26 | 西安热工研究院有限公司 | 一种国产工控系统曲线数据查询处理方法 |
CN114911822A (zh) * | 2021-02-07 | 2022-08-16 | 中移(苏州)软件技术有限公司 | 一种数据读取方法、装置、计算机存储介质及系统 |
CN115982152A (zh) * | 2021-10-15 | 2023-04-18 | 西安交大捷普网络科技有限公司 | 审计日志数据的并发入库方法及装置 |
CN114189455A (zh) * | 2021-12-08 | 2022-03-15 | 兴业银行股份有限公司 | 基于ebpf技术的容器网络流量监控统计方法及系统 |
CN114579614A (zh) * | 2022-02-11 | 2022-06-03 | 武汉物易云通网络科技有限公司 | 一种实时数据全量获取方法、装置及计算机设备 |
US11755568B1 (en) * | 2022-06-10 | 2023-09-12 | Snowflake Inc. | Execution and consistency model for materialized tables |
CN115361154A (zh) * | 2022-06-29 | 2022-11-18 | 西安交大捷普网络科技有限公司 | 一种会话流量的统计方法及装置 |
CN115334013A (zh) * | 2022-08-12 | 2022-11-11 | 北京天融信网络安全技术有限公司 | 一种流量统计方法、网卡及电子设备 |
CN116723140A (zh) * | 2023-08-09 | 2023-09-08 | 成都玖锦科技有限公司 | 一种基于矢量网络分析仪的多线程激励信号配置方法 |
CN117312365A (zh) * | 2023-10-18 | 2023-12-29 | 厦门市美亚柏科信息安全研究所有限公司 | 通用标准结构化查询语言转换异构数据源的方法及系统 |
Non-Patent Citations (2)
Title |
---|
G. M. ASIM AKHTAR;: "Bay Control Unit in an IEC 61850 Environment: A Generalized and Systematic Process Flow for Optimized Configuration", 2022 IEEE ELECTRICAL POWER AND ENERGY CONFERENCE (EPEC), 5 January 2023 (2023-01-05) * |
王冲生: "移动互联网用户数据的分析与研究", CNKI优秀硕士学位论文全文库信息科技辑, 15 November 2013 (2013-11-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN117792960B (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241072A (zh) | 基于Canal的缓存更新方法及系统 | |
CN111949568B (zh) | 一种报文处理方法、装置及网络芯片 | |
US9852180B2 (en) | Systems and methods of accessing distributed data | |
CN110196847A (zh) | 数据处理方法和装置、存储介质及电子装置 | |
US11625412B2 (en) | Storing data items and identifying stored data items | |
CN106326499B (zh) | 一种数据处理方法及装置 | |
CN108228322B (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
EP2541423A1 (en) | Replacement policy for resource container | |
CN111061758A (zh) | 数据存储方法、装置及存储介质 | |
CN117792960B (zh) | 一种基于国产多核处理器的历史流量统计方法及装置 | |
US7587513B1 (en) | Efficient storage of network and application data | |
CN117633105A (zh) | 基于时间分区索引的时序数据存储管理方法及系统 | |
CN110716940B (zh) | 一种增量式数据存取系统 | |
CN110750566A (zh) | 数据处理方法、装置、缓存系统及缓存管理平台 | |
CN115934583A (zh) | 分级缓存方法、装置及系统 | |
US20150095584A1 (en) | Utility-based invalidation propagation scheme selection for distributed cache consistency | |
CN115314423A (zh) | 流量数据统计方法、装置及存储介质 | |
CN111797094A (zh) | 数据处理方法、装置和电子设备 | |
CN103617268B (zh) | 一种实现大数据处理的方法及装置 | |
CN113157628A (zh) | 存储系统、数据处理方法、装置、存储系统及电子设备 | |
CN108038121B (zh) | 一种缓存方法及终端 | |
CN117827497A (zh) | 基于国产多核处理器的流量统计并实时排序的方法及装置 | |
CN117573703B (zh) | 时序数据的通用检索方法、系统、设备及存储介质 | |
CN116126546B (zh) | 一种性能调优的方法、装置、电子设备及介质 | |
CN116578741B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |