CN117792960B - 一种基于国产多核处理器的历史流量统计方法及装置 - Google Patents

一种基于国产多核处理器的历史流量统计方法及装置 Download PDF

Info

Publication number
CN117792960B
CN117792960B CN202410200462.1A CN202410200462A CN117792960B CN 117792960 B CN117792960 B CN 117792960B CN 202410200462 A CN202410200462 A CN 202410200462A CN 117792960 B CN117792960 B CN 117792960B
Authority
CN
China
Prior art keywords
flow
database
query
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.)
Active
Application number
CN202410200462.1A
Other languages
English (en)
Other versions
CN117792960A (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.)
CETC 30 Research Institute
Original Assignee
CETC 30 Research Institute
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 CETC 30 Research Institute filed Critical CETC 30 Research Institute
Priority to CN202410200462.1A priority Critical patent/CN117792960B/zh
Publication of CN117792960A publication Critical patent/CN117792960A/zh
Application granted granted Critical
Publication of CN117792960B publication Critical patent/CN117792960B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 (6)

1.一种基于国产多核处理器的历史流量统计方法,其特征在于,包括:
将流量按固定时间间隔写入数据库;
指定包括查询时间段和ip的查询信息,创建多线程并发查询和统计流量;
将流量按固定时间间隔写入数据库包括:
获取网络数据;
用户态协议栈将五元组形式的网络数据和数据大小写入共享缓存;
循环读取共享缓存内容,并将相同五元组合并计算流量;
创建周期性timer,周期性timer的间隔时间为m分钟;触发周期性timer执行时,创建数据库表项,每个数据库表项采用独立的socket进行通信,数据库表项的后缀为当前时间戳,然后将流量写入数据库表项;
指定包括查询时间段和ip的查询信息,创建多线程并发查询和统计流量包括:
用户指定包括查询时间段和ip的查询信息;
根据查询信息,计算出需要查询的数据库表项,设数据库表项个数为n;
创建n个线程,用于查询数据库流量;并创建n个buffer,用于缓存数据库查询数据;
采用原子变量统计流量,原子变量初始化为0;
每个线程查询对应的数据库流量,原子变量加上对应线程查询到的流量,所有线程查询完毕后,计算出总流量;
读取总流量并展示。
2.根据权利要求1所述的基于国产多核处理器的历史流量统计方法,其特征在于,当流量统计时长满p天时,删除p天前记录的数据库表项。
3.根据权利要求1所述的基于国产多核处理器的历史流量统计方法,其特征在于,将总流量写入xml文件,读取xml文件中的总流量并展示。
4.一种基于国产多核处理器的历史流量统计装置,其特征在于,包括:
流量写入模块,用于将流量按固定时间间隔写入数据库;
流量查询模块,用于指定包括查询时间段和ip的查询信息,创建多线程并发查询和统计流量;
当获取网络数据,用户态协议栈将五元组形式的网络数据和数据大小写入共享缓存后,所述流量写入模块用于:
循环读取共享缓存内容,并将相同五元组合并计算流量;
以及,创建周期性timer,周期性timer的间隔时间为m分钟;触发周期性timer执行时,创建数据库表项,每个数据库表项采用独立的socket进行通信,数据库表项的后缀为当前时间戳,然后将流量写入数据库表项;
当用户通过点击界面指定包括查询时间段和ip的查询信息后;所述流量查询模块用于:
根据查询信息,计算出需要查询的数据库表项,设数据库表项个数为n;
创建n个线程,用于查询数据库流量;并创建n个buffer,用于缓存数据库查询数据;
采用原子变量统计流量,原子变量初始化为0;
每个线程查询对应的数据库流量,原子变量加上对应线程查询到的流量,所有线程查询完毕后,计算出总流量;
以及,读取总流量并展示。
5.根据权利要求4所述的基于国产多核处理器的历史流量统计装置,其特征在于,所述流量写入模块中,当流量统计时长满p天时,删除p天前记录的数据库表项。
6.根据权利要求4所述的基于国产多核处理器的历史流量统计装置,其特征在于,所述流量查询模块中,将总流量写入xml文件,读取xml文件中的总流量并展示。
CN202410200462.1A 2024-02-23 2024-02-23 一种基于国产多核处理器的历史流量统计方法及装置 Active CN117792960B (zh)

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 CN117792960A (zh) 2024-03-29
CN117792960B true 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 (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 厦门市美亚柏科信息安全研究所有限公司 通用标准结构化查询语言转换异构数据源的方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11032844B2 (en) * 2017-06-22 2021-06-08 Qualcomm Incorporated Physical shared channel transmission to acknowledgement delay optimization

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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)

* Cited by examiner, † Cited by third party
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).2023,全文. *
移动互联网用户数据的分析与研究;王冲生;CNKI优秀硕士学位论文全文库信息科技辑;20131115;全文 *

Also Published As

Publication number Publication date
CN117792960A (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
Shim et al. Proxy cache algorithms: Design, implementation, and performance
CN109241072A (zh) 基于Canal的缓存更新方法及系统
US20030187984A1 (en) Method and apparatus for content pre-fetching and preparation
CN111125260A (zh) 一种基于SQL Server的数据同步方法及系统
CN103559217A (zh) 一种面向异构数据库的海量组播数据入库实现方法
CN108228322B (zh) 一种分布式链路跟踪、分析方法及服务器、全局调度器
CN111949568B (zh) 一种报文处理方法、装置及网络芯片
US11625412B2 (en) Storing data items and identifying stored data items
CN111061758B (zh) 数据存储方法、装置及存储介质
CN111596922A (zh) 基于redis实现自定义缓存注解的方法
CN107038218A (zh) 报表处理方法和系统
CN111367755A (zh) 一种移动终端的用户日志写入方法及系统
CN117792960B (zh) 一种基于国产多核处理器的历史流量统计方法及装置
CN110232029A (zh) 一种基于索引的fpga中ddr4包缓存的实现方法
US7587513B1 (en) Efficient storage of network and application data
CN110750566A (zh) 数据处理方法、装置、缓存系统及缓存管理平台
CN110716940A (zh) 一种增量式数据存取系统
US20150095584A1 (en) Utility-based invalidation propagation scheme selection for distributed cache consistency
CN112579390A (zh) 一种基于实时内存tsdb报警的监控数据存储方法和系统
CN108038121B (zh) 一种缓存方法及终端
CN111177077B (zh) 数据存储及数据查询方法、装置、设备、介质
CN112214493A (zh) 一种历史记录存储方法、装置、电子设备以及存储介质
CN117827497A (zh) 基于国产多核处理器的流量统计并实时排序的方法及装置
CN116578741B (zh) 视图混合存储方法、装置及系统
CN117149712A (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