CN112671616B - 流监控方法、装置、可编程芯片、存储介质及电子装置 - Google Patents
流监控方法、装置、可编程芯片、存储介质及电子装置 Download PDFInfo
- Publication number
- CN112671616B CN112671616B CN202011639454.5A CN202011639454A CN112671616B CN 112671616 B CN112671616 B CN 112671616B CN 202011639454 A CN202011639454 A CN 202011639454A CN 112671616 B CN112671616 B CN 112671616B
- Authority
- CN
- China
- Prior art keywords
- stage
- result
- data
- target
- logic
- 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
Links
Images
Classifications
-
- 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
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种流监控方法、装置、可编程芯片、存储介质及电子装置,其方法包括:获取初始数据;根据预设规则对初始数据进行筛选,以得到目标数据;对目标数据依次进行多级逻辑运算,以得到逻辑运算结果,其中,在多级逻辑运算中,前一级逻辑运算的输出数据为后一级逻辑运算的输入数据;基于逻辑运算结果确定流监控结果,并基于流监控结果执行目标处理。通过本发明,解决了相关技术中流监控精度和效率低的问题,进而达到了提高流监控精度和效率的效果;并通过设置可编程芯片,实现了适应网络监控多样化的需求。
Description
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种流监控方法、装置、可编程芯片、存储介质及电子装置。
背景技术
随着宽带互联网在中国的迅速发展,全国各大电信运营商的网络规模都在不断扩张,网络结构日渐复杂,网络业务日趋丰富,网络流量高速增长。
电信运营商需要通过可靠、有效的网络业务流量监测系统对其网络以及网络所承载的各类业务进行及时、准确的流量和流向分析,进而挖掘网络资源潜力,控制网络互联成本,并为网络规划、优化调整和业务发展提供基础依据。
而现有的流监控方式存在参数调整难度大,不能适应大数据处理的问题,从而导致流监控数据误差较大,效率低等问题。例如,在网络设备中的专用集成电路(ASIC)芯片实现流监控时,通常使用固定的芯片逻辑进行流的测量和统计,但是这些芯片的硬件转发逻辑是固定的,无法通过调整软件参数去更改,因而随着云计算、大数据和虚拟化技术的出现,上述方式将无法适应新技术的应用。
发明内容
本发明实施例提供了一种流监控方法、装置、可编程芯片、存储介质及电子装置,以至少解决相关技术中流监控精度和效率较低的问题。
根据本发明的一个实施例,提供了一种流监控方法,包括:
获取初始数据,其中,所述初始数据用于指示接收到的报文的信息;
根据预设规则对所述初始数据进行筛选,以得到目标数据;
对所述目标数据依次进行多级逻辑运算,以得到逻辑运算结果,其中,在所述多级逻辑运算中,前一级逻辑运算的输出数据为后一级逻辑运算的输入数据;
基于所述逻辑运算结果确定流监控结果,并基于所述流监控结果执行目标处理。
在一个示例性实施例中,所述对所述目标数据依次进行多级逻辑运算,以得到逻辑运算结果包括:
在所述多级逻辑运算包括N级逻辑运算的情况下,针对前N-1级逻辑运算中的每一级逻辑运算中,均执行以下操作,以得到目标运算结果,利用第N级逻辑运算对所述目标运算结果进行处理,以得到所述逻辑运算结果:
对当前级逻辑运算的输入源中包括的第一类型数据进行至少两次的第一比较计算,以得到至少两个第一比较结果;
对所述至少两个第一比较结果进行第一逻辑计算,以得到第一逻辑处理结果;
在所述第一逻辑处理结果满足第一条件的情况下,对所述当前级逻辑运算的输入源中包括的第二类型数据执行目标运算处理以得到第一运算结果;
将所述第一运算结果输入至下一级逻辑运算中,以作为下一级逻辑运算的输入源;
其中,第一级逻辑运算的输入源中包括所述目标数据。
在一个示例性实施例中,利用第N级逻辑运算对所述目标运算结果进行处理,以得到所述逻辑运算结果:
对所述第N级逻辑运算的输入源中包括的所述目标运算结果进行至少两次第二比较计算,以得到至少两个第二比较结果;
对所述至少两个第二比较结果进行第二逻辑计算,以得到所述逻辑处理结果。
在一个示例性实施例中,在得到所述逻辑运算结果之后,所述方法还包括:
将所述逻辑运算结果存储至目标存储区中。
在一个示例性实施例中,所述获取初始数据包括:
解析接收到的所述报文,以得到报文解析信息以及转发信息,其中,所述报文解析信息用于指示所述接收到的报文中包含的数据,所述转发信息用于指示转发所述报文的转发数据;
读取目标配置信息,其中,所述目标配置信息用于指示执行多级算数逻辑运算的配置信息;
将所述报文解析信息、转发信息以及目标配置信息组合为所述初始数据。
在一个示例性实施例中,基于所述逻辑运算结果确定流监控结果,并基于所述流监控结果执行目标处理包括:
在确定所述逻辑运算结果达到目标阈值的情况下,将所述逻辑运算结果作为所述流监控结果,并上报所述流监控结果。
根据本发明的另一个实施例,提供了一种流监控装置,包括:
数据采集模块,用于获取初始数据;
数据筛选模块,用于根据预设规则对所述初始数据进行筛选,以得到目标数据;
数据运算模块,用于对所述目标数据依次进行多级逻辑运算,以得到逻辑运算结果,其中,在所述多级逻辑运算中,前一级逻辑运算的输出数据为后一级逻辑运算的输入数据;
流监控模块,用于基于所述逻辑运算结果确定流监控结果,并基于所述流监控结果执行目标处理。
在一个示例性实施例中,所述数据运算模块包括:
第一目标运算单元,用于在所述多级逻辑运算包括N级逻辑运算的情况下,针对前N-1级逻辑运算中的每一级逻辑运算中,均执行以下操作,以得到目标运算结果,利用第N级逻辑运算对所述目标运算结果进行处理,以得到所述逻辑运算结果:
对当前级逻辑运算的输入源中包括的第一类型数据进行至少两次的第一比较计算,以得到至少两个第一比较结果;
对所述至少两个第一比较结果进行第一逻辑计算,以得到第一逻辑处理结果;
在所述第一逻辑处理结果满足第一条件的情况下,对所述当前级逻辑运算的输入源中包括的第二类型数据执行目标运算处理以得到第一运算结果;
将所述第一运算结果输入至下一级逻辑运算中,以作为下一级逻辑运算的输入源;
其中,第一级逻辑运算的输入源中包括所述目标数据。
根据本发明的又一个实施例,还提供了一种可编程芯片,所述可编程芯片包括上述的流监控装置。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,通过逻辑运算对目标数据的进行流监控,由于逻辑运算的运算量较小且精确度高,因而能够对减少监控误差,且由于逻辑运算及目标数据均可根据实际使用场景进行调整,从而能够适应多种使用场景因此,可以解决相关技术中流监控效率低和精度的问题,达到提高流监控效率和精度效果。
附图说明
图1是本发明实施例的一种流监控方法的移动终端的硬件结构框图;
图2是根据本发明实施例的一种流监控方法的流程图;
图3是根据本发明实施例的一种流监控装置的结构框图;
图4是根据本发明的具体实施例中流监控装置的结构示意图;
图5是根据本发明的实施例中每一级多级逻辑运算的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种流监控方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种流监控方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种流监控方法,图2是根据本发明实施例的一种监控方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取初始数据,其中,初始数据用于指示接收到的报文的信息;
在本实施例中,接收到的报文的信息包括(但不限于)待记录的数据对象、数据对象的标识信息、报文长度、报文的TTL(Time to live,生存时间值)、报文的TCP(Transmission Control Protocol,传输控制协议)window Size、接收报文的时间戳、运算的参数、运算模块的配置等,其中,数据对象包括(但不限于)Packet count、Packet Bytes、Max ttl、Min ttl、Max TCP window size,运算的参数包括(但不限于)阈值等信息;初始数据的获取可以是对接收到的报文进行解析组合得到的,也可以是通过对目标设备进行数据读取获得的;报文的传输可以是通过以太网进行传输的,也可以是通过目标设备内部的数据线进行传输的,还可以是通过蓝牙等无线传输方式进行传输的。
步骤S204,根据预设规则对初始数据进行筛选,以得到目标数据;
在本实施例中,初始数据的筛选方式可以是通过预设的算法进行筛选的,也可以是通过对初始数据进行检索,并进行提取得到的;其中,目标数据可以是数据对象的数值。
步骤S206,对目标数据依次进行多级逻辑运算,以得到逻辑运算结果,其中,在多级逻辑运算中,前一级逻辑运算的输出数据为后一级逻辑运算的输入数据;
在本实施例中,对目标数据进行多级运算是为了根据记录对象的统计需求进行逻辑和数值的运算,从而实现对目标数据的统计;由于目标对象不同,因而目标对象的统计需求也不同,因而可以通过设计不同数量的多级运算来实现对不同目标对象的统计。
其中,每一级逻辑运算均可以(但不限于)包括数值运算和逻辑运算,数值运算包括(但不限于)对数值进行四则运算、赋值、求平均值、最值等运算,逻辑运算包括对目标数据进行与运算、或运算、异或运算等。
例如,基于packetLength的packet count的统计,统计如下4个区间[64,256),[256,1024),[1024,4096),[4096,MAX)的数据包的数量;则在第一级逻辑运算计算数据包的长度处于哪一个区间,随后对统计数据进行加一操作,以得到数据包统计数值,随后在第二级逻辑运算判断数据包统计数值是否达到阈值。
需要说明的是,执行多级逻辑运算的设备或模块可以设置为多个,从而能够同时对多个目标数据进行运算统计。
步骤S208,将逻辑运算结果作为流监控结果,并发送流监控结果。
在本实施例中,在得到逻辑运算结果后,将流监控结果发送至目标设备以指示目标设备执行后续操作。
通过上述步骤,通过对通过逻辑运算对目标数据的进行流监控,减少了监控误差,解决了相关技术中流监控精度低、效率低的问题,提高了流监控效率和精度。
其中,上述步骤的执行主体可以为基站、终端等,但不限于此。
在一个可选的实施例中,对目标数据依次进行多级逻辑运算,以得到逻辑运算结果包括:
步骤S2062,在多级逻辑运算包括N级逻辑运算的情况下,针对前N-1级逻辑运算中的每一级逻辑运算中,均执行以下操作,以得到目标运算结果,利用第N级逻辑运算对目标运算结果进行处理,以得到逻辑运算结果:
步骤S20622,对当前级逻辑运算的输入源中包括的第一类型数据进行至少两次的第一比较计算,以得到至少两个第一比较结果;
步骤S20624,对至少两个第一比较结果进行第一逻辑计算,以得到第一逻辑处理结果;
步骤S20626,在第一逻辑处理结果满足第一条件的情况下,对当前级逻辑运算的输入源中包括的第二类型数据执行目标运算处理以得到第一运算结果;
步骤S20628,将第一运算结果输入至下一级逻辑运算中,以作为下一级逻辑运算的输入源;
其中,第一级逻辑运算的输入源中包括目标数据。
在本实施例中,先进行第一逻辑运算是为了确定第一类型的数据是否满足统计需求,例如数据包的长度是否位于目标区间等,随后对满足统计需求的数据包进行统计计算,即对第二类型数据进行目标运算处理,例如,对指示数据包统计数据的statezone0值进行加一等;而将第一运算结果输入至下一级逻辑运算中,以作为下一级逻辑运算的输入源是为了保证数据的一致性,减少运算误差。
其中,需要对第一类型数据可以(但不限于)是指示目标数据的数据包长度的标识符,如Packet length等,第二类型数据可以(但不限于)是指示目标数据的统计数据的标识符,如statezone0等;进行至少两次第一比较运算可以减少误差,也可以适应多种数据,例如,当目标数据需要对上行数据和下行数据进行比较时,则可以分别调取上行数据和下行数据进行比较;第一比较计算可以通过比较器进行运算,目标处理可以通过运算模块进行运算;在N-1级的逻辑运算中,可以只执行第一比较计算和第一逻辑计算,也可以依次执行第一比较计算、第一逻辑计算和目标运算处理。
在一个可选的实施例中,利用第N级逻辑运算对目标运算结果进行处理,以得到逻辑运算结果包括:
步骤S206210,对第N级逻辑运算的输入源中包括的目标运算结果进行至少两次第二比较计算,以得到至少两个第二比较结果;
步骤S206212,对至少两个第二比较结果进行第二逻辑计算,以得到逻辑处理结果。
在本实施例中,在进行N-1级的逻辑运算之后,在最后一级进行第二比较计算和第二逻辑运算,从而得到用于指示目标设备是否执行后续操作的逻辑处理结果;
其中,第二比较计算可以(但不限于)通过比较器来实现,也可以通过其它运算装置或设备来实现;第二逻辑计算可以通过逻辑运算模块来实现,也可以通过其它逻辑运算装置或设备来实现;第二比较计算的比较内容可以与前N-1级相同,也可以不同。
在一个可选的实施例中,在得到逻辑运算结果之后,该方法还包括:
步骤S2010,将逻辑运算结果存储至目标存储区中。
在本实施例中,将逻辑运算结果存储至目标存储区是为了方便对从目标存储区中提取逻辑处理结果,从而减少提取逻辑处理结果所要消耗的时间。
例如,在得到逻辑运算结果之后,将逻辑处理结果写入NetFlow的cache中。
在一个示例性实施例中,获取初始数据包括:
步骤S2022,解析接收到的报文,以得到报文解析信息以及转发信息,其中,报文解析信息用于指示接收到的报文中包含的数据,转发信息用于指示转发报文的转发数据;
步骤S2024,读取目标配置信息,其中,目标配置信息用于指示执行多级算数逻辑运算的配置信息;
步骤S2026,将报文解析信息、转发信息以及目标配置信息组合为初始数据。
在本实施例中,将多种信息进行组合以得到初始数据,是为了方便对多种信息进行传输,从而提高信息传输效率。
其中,报文解析信息包括报文的标识ID、报文长度、报文的TTL、报文的TCP windowSize、接收报文的时间戳、运算的参数、运算模块的配置信息等,转发信息包括接收报文的接收节点、发送报文的发送节点、转发时间等信息;目标配置信息包括执行多级逻辑运算的模块或设备的标识ID、配置信息等;将多种信息进行组合的方式可以是将多种信息组成数据包,也可以是组成一个数据流的不同的部位。
在一个可选的实施例中,基于逻辑运算结果确定流监控结果,并基于流监控结果执行目标处理包括:
步骤S2082,在确定逻辑运算结果达到目标阈值的情况下,将逻辑运算结果作为流监控结果,并上报流监控结果。
在本实施例中,在确定逻辑运算结果达到目标阈值的情况下,再将流监控结果进行上报,从而保证流监控结果的准确性。
其中,流监控结果的上报可以是通过目标设备内部的线路进行传输的,也可以是通过3G/4G/5G等无线网络进行传输的,还可以是通过以太网或蓝牙进行传输的。
例如,在执行基于packetLength的packet count的统计时,当统计的出status值为1时,则确定status值为真,从而确定统计结果满足status阈值,随后上报status阈值事件,并将流监控结果也进行上报。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种流监控装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的一种流监控装置的结构框图,如图3所示,该装置包括:
数据采集模块32,用于获取初始数据;
数据筛选模块34,用于根据预设规则对初始数据进行筛选,以得到目标数据;
数据运算模块36,用于对目标数据依次进行多级逻辑运算,以得到逻辑运算结果,其中,在多级逻辑运算中,前一级逻辑运算的输出数据为后一级逻辑运算的输入数据;
流监控模块38,用于基于逻辑运算结果确定流监控结果,并基于流监控结果执行目标处理。
在一个可选的实施例中,数据运算模块36包括:
目标运算单元362,用于在多级逻辑运算包括N级逻辑运算的情况下,针对前N-1级逻辑运算中的每一级逻辑运算中,均执行以下操作,以得到目标运算结果,利用第N级逻辑运算对目标运算结果进行处理,以得到逻辑运算结果:
对当前级逻辑运算的输入源中包括的第一类型数据进行至少两次的第一比较计算,以得到至少两个第一比较结果;
对至少两个第一比较结果进行第一逻辑计算,以得到第一逻辑处理结果;
在第一逻辑处理结果满足第一条件的情况下,对当前级逻辑运算的输入源中包括的第二类型数据执行目标运算处理以得到第一运算结果;
将第一运算结果输入至下一级逻辑运算中,以作为下一级逻辑运算的输入源;
其中,第一级逻辑运算的输入源中包括目标数据。
在一个可选的实施例中,数据运算模块36还包括:
比较单元364,用于对第N级逻辑运算的输入源中包括的目标运算结果进行至少两次第二比较计算,以得到至少两个第二比较结果;
逻辑计算单元366,用于对至少两个第二比较结果进行第二逻辑计算,以得到逻辑处理结果。
在一个可选的实施例中,该装置还包括:
存储模块310,用于在得到逻辑运算结果之后,将逻辑运算结果存储至目标存储区中。
在一个可选的实施例中,数据采集模块32包括:
解析单元322,用于解析接收到的报文,以得到报文解析信息以及转发信息,其中,报文解析信息用于指示接收到的报文中包含的数据,转发信息用于指示转发报文的转发数据;
读取单元324,用于读取目标配置信息,其中,目标配置信息用于指示执行多级算数逻辑运算的配置信息;
组合单元326,用于将报文解析信息、转发信息以及目标配置信息组合为初始数据。
在一个可选的实施例中,流监控模块38包括:
数据上报单元382,用于在确定逻辑运算结果达到目标阈值的情况下,将逻辑运算结果作为所述流监控结果,并上报流监控结果。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
在一个可选的实施例中,本发明还提供了一种可编程芯片,该可编程芯片包括上述任一项实施例中所述的流监控装置。
在本实施例中,通过设置可编程芯片,实现了适应网络监控多样化的需求。
下面结合具体实施例进行说明。
如图4所示,NetFlow报文记录处理流程下:
步骤S401,一个报文基于五元组被学习,同时做NetFlow更新,芯片将报文的解析信息ParserResult和报文在芯片转发过程的转发信息PacketInfo发送到NetFlow Engine模块,其中,五元组指报文的特征,具体包括报文字段里的ipda,ipsa,ip protocol,l4srouce port,l4dest port;
步骤S402,基于流读取aluProfileId,进而索引DsNetFlowAluProfile,以获取相关的Alu(Arithmetic and logic unit,算数逻辑单元)相关配置;
步骤S403,把NetFlow的cache记录对象和PacketInfo,ParserResult、以及DsNetFlowAluProfile的配置参数以组成一个iBus数据源;
步骤S404,通过DsNetFlowAluProfile获取ALU level0的配置,执行ALU的逻辑运算,该逻辑运算包括两个比较运算,进而对比较运算的结果执行逻辑运算和数学运算,最终结果输出到iBus中,用于下一级ALU处理;
步骤S405,通过DsNetFlowAluProfile获取ALU level1的配置,执行ALU的逻辑运算,该逻辑运算包括两个比较运算,进而对比较运算的结果执行逻辑运算和数学运算,最终将结果输出到iBus中,用于下一级ALU处理;
步骤S406,通过DsNetFlowAluProfile获取ALU level2的配置,执行ALU的逻辑运算,该逻辑运算包括两个比较,进而对比较运算的结果执行逻辑运算和数学运算,最终将结果输出到iBus中
步骤S406,最终通过DsNetFlowAluProfile从iBus中挑选结果写入NetFlow的cache中。
如图5所示,每个ALU中的逻辑运算的处理流程包括:
步骤S501,数据信号源包括NetFlow的记录对象,报文和转发信息,比如报文长度,报文的TTL,报文的TCP window Size,报文进来的时间戳等,以及运算的参数,比如阈值。
步骤S502,比较单元从数据信号源中挑选两个操作数,进行比较,比较码包括大于,小于,大等于,小等于,等于,不等;
步骤S503,两个比较单元把比较的结果输出进行逻辑单元运算,进行与、或运算,如果运算的结果为真,则进行运算单元运算;
步骤S504,运算单元从数据信号源中挑选两个数据对象进行运算,左值为object,右值为aluR,其中,左值可以为输出的结果,右值可以为执行运算的目标数据。
需要说明的是,运算逻辑包括(但不限于):
无操作:nop;
赋值set:object=aluR;
加法:object=object+aluR;
减法:object=object–aluR;
最大值:object=object>aluR?object:aluR;
最小值:object=object>aluR?aluR:object;
平均值:
if(object>aluR)object=object+(object–aluR)>>shift;
Else object=object+(aluR–object)>>shift;
最小值:object=object>aluR?aluR:object;
与:object=object&aluR;
或:object=object|aluR;
异或:object=object^aluR;
步骤S505,两个比较单元把比较的结果输出进行逻辑单元运算,进行与、或运算,如果运算的结果为真,则进行运算单元运算。
步骤S506,每个ALU输出两个结果,一个是运算单元的结果,一个是逻辑单元的结果,其中,逻辑单元的结果是真或假状态,运算单元的结果是个16bits或是32bits的值。
例如:
基于packetLength的packet count的统计,统计如下4个区间:
[64,256),[256,1024),[1024,4096),[4096,MAX)的数据包数量,可通过如下步骤实现:
步骤S601,使用4个ALU pipeline流水线,每个pipeline使用2级;
ALU流水线1相关操作包括:
Level0:从iBus中挑出PacketLength和StatsZone0字段,及相关的阈值64,256。通过两个比较packetLen>=64和packetLen<256进行比较,然后将两个比较做&&运算,进而进行逻辑运算StatsZone0=StatsZone0+1;将StatsZone0写入iBus中;
Level1:从iBus中挑选StatsZone0字段,以及阈值0x7FFF;再进行一个比较运算,StatsZone0>0x7FFF,经过逻辑运算得到结果status,并将结果status写入到iBus中;
最终Level1将StatsZone0从iBus挑出写入NetFlow cache中,同时从iBus中挑出status,判断如果是真,则上报stats阈值事件。
同理对应于ALU流水线2,3,4进行与ALU1流水线相同的操作。
需要说明的是,由于packet count的统计只需要两级即可实现,因而本示例中只采用了两级Level;当需要两级以上的计算时,则在最后一级进行stats阈值的上报。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种流监控方法,其特征在于,包括:
获取初始数据,其中,所述初始数据用于指示接收到的报文的信息;
根据预设规则对所述初始数据进行筛选,以得到目标数据;
对所述目标数据依次进行多级逻辑运算,以得到逻辑运算结果,其中,在所述多级逻辑运算中,前一级逻辑运算的输出数据为后一级逻辑运算的输入数据;
基于所述逻辑运算结果确定流监控结果,并基于所述流监控结果执行目标处理;
其中,所述对所述目标数据依次进行多级逻辑运算,以得到逻辑运算结果包括:在所述多级逻辑运算包括N级逻辑运算的情况下,针对前N-1级逻辑运算中的每一级逻辑运算中,均执行以下操作,以得到目标运算结果,利用第N级逻辑运算对所述目标运算结果进行处理,以得到所述逻辑运算结果:对当前级逻辑运算的输入源中包括的第一类型数据进行至少两次的第一比较计算,以得到至少两个第一比较结果;对所述至少两个第一比较结果进行第一逻辑计算,以得到第一逻辑处理结果;在所述第一逻辑处理结果满足第一条件的情况下,对所述当前级逻辑运算的输入源中包括的第二类型数据执行目标运算处理以得到第一运算结果;将所述第一运算结果输入至下一级逻辑运算中,以作为下一级逻辑运算的输入源;其中,第一级逻辑运算的输入源中包括所述目标数据。
2.根据权利要求1所述的方法,其特征在于,利用第N级逻辑运算对所述目标运算结果进行处理,以得到所述逻辑运算结果:
对所述第N级逻辑运算的输入源中包括的所述目标运算结果进行至少两次第二比较计算,以得到至少两个第二比较结果;
对所述至少两个第二比较结果进行第二逻辑计算,以得到所述逻辑处理结果。
3.根据权利要求1所述的方法,其特征在于,在得到所述逻辑运算结果之后,所述方法还包括:
将所述逻辑运算结果存储至目标存储区中。
4.根据权利要求1所述的方法,其特征在于,所述获取初始数据包括:
解析接收到的所述报文,以得到报文解析信息以及转发信息,其中,所述报文解析信息用于指示所述接收到的报文中包含的数据,所述转发信息用于指示转发所述报文的转发数据;
读取目标配置信息,其中,所述目标配置信息用于指示执行多级算数逻辑运算的配置信息;
将所述报文解析信息、转发信息以及目标配置信息组合为所述初始数据。
5.根据权利要求1所述的方法,其特征在于,基于所述逻辑运算结果确定流监控结果,并基于所述流监控结果执行目标处理包括:
在确定所述逻辑运算结果达到目标阈值的情况下,将所述逻辑运算结果作为所述流监控结果,并上报所述流监控结果。
6.一种流监控装置,其特征在于,包括:
数据采集模块,用于获取初始数据;
数据筛选模块,用于根据预设规则对所述初始数据进行筛选,以得到目标数据;
数据运算模块,用于对所述目标数据依次进行多级逻辑运算,以得到逻辑运算结果,其中,在所述多级逻辑运算中,前一级逻辑运算的输出数据为后一级逻辑运算的输入数据;
流监控模块,用于基于所述逻辑运算结果确定流监控结果,并基于所述流监控结果执行目标处理;
其中,所述数据运算模块包括:目标运算模块,用于在所述多级逻辑运算包括N级逻辑运算的情况下,针对前N-1级逻辑运算中的每一级逻辑运算中,均执行以下操作,以得到目标运算结果,利用第N级逻辑运算对所述目标运算结果进行处理,以得到所述逻辑运算结果:对当前级逻辑运算的输入源中包括的第一类型数据进行至少两次的第一比较计算,以得到至少两个第一比较结果;对所述至少两个第一比较结果进行第一逻辑计算,以得到第一逻辑处理结果;在所述第一逻辑处理结果满足第一条件的情况下,对所述当前级逻辑运算的输入源中包括的第二类型数据执行目标运算处理以得到第一运算结果;将所述第一运算结果输入至下一级逻辑运算中,以作为下一级逻辑运算的输入源;其中,第一级逻辑运算的输入源中包括所述目标数据。
7.一种可编程芯片,其特征在于,包括权利要求6所述的流监控装置。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至5任一项中所述的方法。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011639454.5A CN112671616B (zh) | 2020-12-31 | 2020-12-31 | 流监控方法、装置、可编程芯片、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011639454.5A CN112671616B (zh) | 2020-12-31 | 2020-12-31 | 流监控方法、装置、可编程芯片、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112671616A CN112671616A (zh) | 2021-04-16 |
CN112671616B true CN112671616B (zh) | 2022-08-19 |
Family
ID=75413866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011639454.5A Active CN112671616B (zh) | 2020-12-31 | 2020-12-31 | 流监控方法、装置、可编程芯片、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112671616B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115460104B (zh) * | 2022-09-05 | 2024-10-29 | 苏州盛科通信股份有限公司 | 实现ipfix灵活选择属性进行测速的方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-31 CN CN202011639454.5A patent/CN112671616B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112671616A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10417887B2 (en) | Backhaul and fronthaul communications in a wireless mesh network | |
US20190058641A1 (en) | Adaptive and Flexible Packet Sampling | |
CN107113282A (zh) | 一种抽取数据报文的方法及装置 | |
CN109479015B (zh) | 网络设备及其延迟监测方法 | |
CN112688837B (zh) | 基于时间滑动窗口的网络测量方法与装置 | |
CN113542043B (zh) | 网络设备的数据采样方法、装置、设备及介质 | |
CN111147403A (zh) | 报文的处理方法及装置、存储介质和电子装置 | |
CN111277467B (zh) | 一种通信装置、数据流识别方法及相关设备 | |
US9807204B2 (en) | Optimized message processing | |
CN105281946B (zh) | 用于网络交换机中的灵活和高效分析的方法和装置 | |
CN112671616B (zh) | 流监控方法、装置、可编程芯片、存储介质及电子装置 | |
CN111787570A (zh) | 物联网设备的数据传输方法、装置、计算机设备 | |
CN111726299A (zh) | 流量均衡方法及装置 | |
WO2022247308A1 (zh) | 流量测量方法、装置及相关设备 | |
CN111404839A (zh) | 报文处理方法和装置 | |
US20220400079A1 (en) | Sort device, sort method, and sort program | |
CN115277504A (zh) | 一种网络流量监控方法、装置和系统 | |
CN112511449B (zh) | 一种报文流乱序检测方法、报文处理方法及装置 | |
US20190068475A1 (en) | System and method for the utilization of mesh networks and distributed data buffering to increase data retention | |
US9900207B2 (en) | Network control protocol | |
CN112422360A (zh) | 一种报文采样方法、装置、设备及介质 | |
Soto et al. | A sketch-based algorithm for network-flow entropy estimation on programmable switches using P4 | |
CN111106977A (zh) | 数据流检测方法、装置及存储介质 | |
US9391904B2 (en) | Delay timer device, method for managing a plurality of delays, and apparatus for delaying a plurality of data packets | |
CN117997793A (zh) | 带内操作维护管理oam测量方法及系统 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Xinghan Street Industrial Park of Suzhou city in Jiangsu province 215021 B No. 5 Building 4 floor 13/16 unit Applicant after: Suzhou Shengke Communication Co.,Ltd. Address before: Xinghan Street Industrial Park of Suzhou city in Jiangsu province 215021 B No. 5 Building 4 floor 13/16 unit Applicant before: CENTEC NETWORKS (SUZHOU) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |