CN112769648A - 一种信息更新方法、装置、存储介质及电子装置 - Google Patents
一种信息更新方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN112769648A CN112769648A CN202011642468.2A CN202011642468A CN112769648A CN 112769648 A CN112769648 A CN 112769648A CN 202011642468 A CN202011642468 A CN 202011642468A CN 112769648 A CN112769648 A CN 112769648A
- Authority
- CN
- China
- Prior art keywords
- engine
- flow table
- identifier
- value
- statistical
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种信息更新方法、装置、存储介质及电子装置,其方法包括:第一引擎接收进入处于出口处的第二引擎的报文信息;所述第一引擎确定所述报文信息中携带的第一标识所指示的第一统计流表;在确定所述报文信息中携带的第二标识的标识值与所述第一统计流表中包括的所述第二标识的标识值一致的情况下,所述第一引擎对所述第二引擎统计的第一统计信息进行更新。通过本发明,解决了相关技术中流量报文统计不准确的问题,进而达到了提高流量报文统计精度的效果。
Description
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种信息更新方法、装置、存储介质及电子装置。
背景技术
流量监管技术被越来越广泛地应用于网络领域,以得到网络运行的详细统计数据,例如在执行流量监管的芯片中加入IPFIX等流信息测量标准协议。
但是,由于芯片中一般存在节约存储空间的流量老化机制,使得目前的流量侧标标准协议在进行流量测量的过程中,容易因为流量老化导致统计的流量信息并不是针对同一条流量统计的,因此存在流量统计数据错误的情况,而目前并没有针对上述问题提出有效的解决方案。
发明内容
本发明实施例提供了一种信息更新方法、装置、存储介质及电子装置,以至少解决相关技术中流量报文统计不准确的问题。
根据本发明的一个实施例,提供了一种信息更新方法,包括:
第一引擎接收进入处于出口处的第二引擎的报文信息;
所述第一引擎确定所述报文信息中携带的第一标识所指示的第一统计流表,其中,所述第一标识为所述报文信息在处于入口处的第三引擎中添加的;
在确定所述报文信息中携带的第二标识的标识值与所述第一统计流表中包括的所述第二标识的标识值一致的情况下,所述第一引擎对所述第二引擎统计的第一统计信息进行更新,其中,所述第一统计信息用于统计所述第二引擎所接收到的报文信息的数量,所述报文信息中携带第二标识的标识值为所述报文信息在处于入口处的第三引擎中添加的第二统计流表中包括的所述第二标识的标识值,所述第一统计流表和所述第二统计流表中的所述第二标识的标识值是同步更新的。
在一个示例性实施例中,所述第一引擎在接收进入处于出口处的第二引擎的报文信息之前,所述方法还包括:
所述第一引擎根据接收到的进入处于入口处的第三引擎的原始报文信息计算哈希检索值,其中,所述哈希检索值用于指示存储所述原始报文信息对应的第一统计流表的存储区域,所述报文信息中包括所述原始报文信息;
所述第一引擎根据所述哈希检索值,与所述第一引擎中存储的多个统计流表进行匹配;
在匹配结果为未匹配到用于存储所述原始报文信息的所述第二统计流表的情况下,所述第一引擎在所述第一引擎内建立用于存储所述原始报文信息的第二统计流表;
所述第一引擎将所述第二统计流表中包含的所述第二标识的标识值以及所述第一标识添加至所述原始报文信息中,以得到所述报文信息。
在一个示例性实施例中,在所述第一引擎根据所述哈希检索值,与所述第一引擎中存储的多个统计流表进行匹配之后,所述方法还包括:
在匹配结果为匹配到所述第二统计流表的情况下,所述第一引擎对所述第三引擎统计的第二统计信息进行更新,其中,所述第二统计信息用于指示所述第三引擎所接收到的报文信息的数量。
在一个示例性实施例中,在所述第一引擎根据所述哈希检索值,与所述第一引擎中存储的多个统计流表进行匹配之后,所述方法还包括:
在匹配结果为匹配到所述第二统计流表的情况下,所述第一引擎将所述第二统计流表中包含的第三标识的标识值置为第一预设值,其中,所述第三标识值用于指示所述第二统计流表的老化状态,且当所述第三标识的标识值为所述第一预设值时,所述第二统计流表的状态为非老化状态,当所述第三标识的标识值为第二预设值时,所述第二统计流表的状态为老化状态。
在一个示例性实施例中,所述方法还包括:
获取所述第一统计流表所包含的所述第三标识的第一标识值和所述第二统计流表所包含的所述第三标识的第二标识值;
在确定所述第一标识值和所述第二标识值中存在取值为所述第二预设值的标识值的情况下,删除取值为所述第二预设值的所述第三标识所在的统计流表中存储的统计数据;
在确定所述第一标识值和所述第二标识值中存在取值为所述第一预设值的标识值的情况下,将取值为所述第一预设值的所述第三标识的标识值置为所述第二标识值。
在一个示例性实施例中,在删除取值为所述第二预设值的所述第三标识所在的统计流表之后,所述方法还包括:
将所述第一统计流表中包含的所述第二标识的标识值与所述第二统计流表中包含的所述第二标识的标识值进行加1。
根据本发明的另一个实施例,提供了一种信息更新装置,应用于第一引擎中包括:
第一报文接收模块,用于接收进入处于出口处的第二引擎的报文信息;
第一流表确定模块,用于确定所述报文信息中携带的第一标识所指示的第一统计流表,其中,所述第一标识为所述报文信息在处于入口处的第三引擎中添加的;
第一信息更新模块,用于在确定所述报文信息中携带的第二标识的标识值与所述第一统计流表中包括的所述第二标识的标识值一致的情况下,所述第一信息更新模块对所述第二引擎统计的第一统计信息进行更新,其中,所述第一统计信息用于统计所述第二引擎所接收到的报文信息的数量,所述报文信息中携带第二标识的标识值为所述报文信息在处于入口处的第三引擎中添加的第二统计流表中包括的所述第二标识的标识值,所述第一统计流表和所述第二统计流表中的所述第二标识的标识值是同步更新的。
在一个示例性实施例中,所述第一报文接收模块包括:
第一计算单元,用于根据接收到的进入处于入口处的第三引擎的原始报文信息计算哈希检索值,其中,所述哈希检索值用于指示存储所述原始报文信息对应的第一统计流表的存储区域,所述报文信息中包括所述原始报文信息;
第一匹配单元,用于根据所述哈希检索值,与所述第一引擎中存储的多个统计流表进行匹配;
流表建立单元,用于在匹配结果为未匹配到用于存储所述原始报文信息的所述第二统计流表的情况下,所述流表建立单元在所述第一引擎内建立用于存储所述原始报文信息的第二统计流表;
标识添加单元,用于将所述第二统计流表中包含的所述第二标识的标识值以及所述第一标识添加至所述原始报文信息中,以得到所述报文信息。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,由于需要对第二标识进行识别,因而能够根据第二标识是否相同来判断是否进行流量报文的统计,从而避免流量报文老化造成的流量报文统计错误的问题,因此,可以解决流量报文统计不准确的问题,达到提高流量报文统计精度的效果。
附图说明
图1是本发明实施例的一种信息更新方法的移动终端的硬件结构框图;
图2是根据本发明实施例的一种信息更新方法的流程图;
图3是根据本发明实施例的一种信息更新装置的结构框图;
图4是根据本发明的具体实施例的结构示意图;
图5是根据本发明的具体实施例中入口方向的信息更新流程图;
图6是根据本发明的具体实施例中出口方向的信息更新流程图;
图7是根据本发明的具体实施例中老化机制的信息更新流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图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,第一引擎接收进入处于出口处的第二引擎的报文信息;
在本实施例中,第一引擎通过对进入第二引擎的报文信息进行接收解析,以确定进入第二引擎的报文信息是否发生老化。
其中,第一引擎可以是交换芯片或路由芯片中的IPFIX(IP Flow InformationExport,IP数据流信息输出)引擎,也可以是其它能够进行数据处理的处理引擎;第二引擎可以是交换芯片或路由芯片中执行出方向报文处理的EPE(Egress Process Engine,出方向处理引擎)引擎,报文信息包括流经第二引擎的流量的关键字、字节、个数、丢包量、标识等信息;第一引擎接收报文信息的方式可以是由第二引擎发送给第一引擎,也可以是第一引擎直接从第二引擎中获取。
例如,第二引擎接收到报文信息后,将报文信息打包发送至第一引擎中,随后第一引擎对接收到的报文信息进行解析,随后执行其他操作。
需要说明的是,在第一引擎为交换芯片或路由芯片中的IPFIX引擎的情况下,报文信息是由交换芯片或路由芯片中执行入方向报文处理的IPE(Ingress Process Engine,入方向处理引擎)引擎经流量管理模块传输至第二引擎的,其中,流量管理模块在接收到来自第三引擎的报文信息时,根据报文信息的优先级以及队列空闲情况,按顺序依次将报文信息转发至第二引擎,而不对报文信息进行其它操作;且流量管理模块中设有多个队列,以存储多个相同或不同的报文信息。
步骤S204,第一引擎确定报文信息中携带的第一标识所指示的第一统计流表,其中,第一标识为报文信息在处于入口处的第三引擎中添加的;
在本实施例中,第一引擎根据第一标识确定对应的第一统计流表以避免第一引擎中的其它统计流表对识别结果造成干扰。
其中,第一引擎根据第一标识确定第一统计流表的过程可以是第一引擎根据第一标识在第一引擎的与第一标识对应的存储区域中进行检索,随后根据检索结果判断是否检索到第一统计流表,从而提高检索效率;也可以是通过第一标识依次在第一引擎的各个存储区中进行检索,以避免因第一标识识别错误造成的检索遗漏;还可以是通过其它方式对第一统计流表进行确定;第一统计流表可以(但不限于)用于统计进入第二引擎的报文的数量、抖动情况、字节数量、字节、报文标识、报文关键字等信息;第一标识可以是第一统计流表中记录的index,也可以是其它能够执行标识功能的标识,如字母、数字等。
例如,第一引擎根据报文信息中的作为检索标识flow-id的index在第一引擎的存储区中检索对应的第一统计流表,并对第一统计流表中的信息进行识别,以根据第一统计流表中的信息执行后续的操作。
需要说明的是,第一引擎中存储有多个存储区域,不同的存储区域均存储有多个统计流表,且位于同一个存储区域的统计流表可以不相同,而不同的统计流表可以与不同的报文信息相对应,也可以与多个相同的报文信息相对应。
步骤S206,在确定报文信息中携带的第二标识的标识值与第一统计流表中包括的第二标识的标识值一致的情况下,第一引擎对第二引擎统计的第一统计信息进行更新,其中,第一统计信息用于统计第二引擎所接收到的报文信息的数量,报文信息中携带第二标识的标识值为报文信息在处于入口处的第三引擎中添加的第二统计流表中包括的第二标识的标识值,第一统计流表和第二统计流表中的第二标识的标识值是同步更新的。
在本实施例中,报文信息中携带的第二标识的标识值与第一统计流表中包括的第二标识的标识值一致则说明流经第二引擎的报文信息并未发生老化,此时再对第一统计流表中的第一统计信息进行更新则不会出现信息统计错误的情况,从而解决了统计信息不准确的问题。
其中,报文信息中携带的第二标识可以是位于报文头部的packet_flow_change_cnt,其中,packet_flow_change_cnt可以是第一引擎将第二统计流表中的flow_change_cnt组到报文信息头部的,也可以是与第一统计流表中的第二标识flow_change_cnt相对应的用于标识第二统计流表中的flow_change_cnt的标识信息;第一引擎对第二引擎统计的第一统计信息进行更新可以(但不限于)是更新第一统计信息中的报文数量、报文流经次数等。
例如,第一引擎在第三引擎处将第二统计流表中的index作为检索标识flow-id,并将第一统计表中的第二标识flow_change_cnt作为packet_flow_change_cnt,共同组到报文信息的头部以组成PacketHeader,随后报文信息被送入至第二引擎处;第二引擎在获取报文信息后对报文信息进行解析,以获取报文信息从第一引擎携带的检索标识flow_id和packet_flow_change_cnt,并通过检索标识flow_id对第二统计流表进行索引,以读取第二统计流表中的第二标识flow_change_cnt,再将报文信息从第一引擎带过来的packet_flow_change_cnt与第二统计流表中的第二标识flow_change_cnt进行比较,以判断二者是否相同。
通过上述步骤,通过第二标识的识别判断报文信息是否发生老化,再对报文信息的统计信息进行更新,从而避免对报文信息的统计发生错误,解决了报文信息的统计错误,提高了报文信息的统计精度。
其中,上述步骤的执行主体可以为基站、终端等,但不限于此。
在一个可选的实施例中,第一引擎在接收进入处于出口处的第二引擎的报文信息之前,该方法还包括:
步骤S2022,第一引擎根据接收到的进入处于入口处的第三引擎的原始报文信息计算哈希检索值,其中,哈希检索值用于指示存储原始报文信息对应的第一统计流表的存储区域,报文信息中包括原始报文信息;
步骤S2024,第一引擎根据哈希检索值,与第一引擎中存储的多个统计流表进行匹配;
步骤S2026,在匹配结果为未匹配到用于存储原始报文信息的第二统计流表的情况下,第一引擎在第一引擎内建立用于存储原始报文信息的第二统计流表;
步骤S2028,第一引擎将第二统计流表中包含的第二标识的标识值以及第一标识添加至原始报文信息中,以得到报文信息。
在本实施例中,当第一引擎根据哈希检索值未检索到第二统计流表时,则说明该报文信息或流量为新的报文信息或流量,因而需要对建立新的统计流表以对该报文信息或流量进行存储。
其中,计算哈希检索值可以是根据报文信息中的关键字信息进行计算,其中,关键字可以是五元组,也可以是七元组,其中,五元组可以为源IP地址、目的IP地址、TCP/UDP源端口、TCP/UDP目的端口、三层协议类型,七元组可以为源IP地址、目的IP地址、TCP/UDP源端口、TCP/UDP目的端口、三层协议类型、服务类型和输入端口;第一引擎建立第二统计流表后,根据接收到的报文信息对第二统计流表进行流表学习处理,其中,对第二统计流表进行流表学习处理包括(但不限于)存储记录原始报文信息中的关键字、字节、标识等信息。
例如,根据七元组计算出哈希检索值,随后根据哈希值索引对统计流表进行匹配,在未匹配到第二统计流表的情况下,以哈希检索值作为索引,建立第二统计流表,并对第二统计流表进行流表学习处理,随后再将第二统计流表的index以及flow_change_cnt添加至原始报文信息的对应位置,以组成报文信息。
在一个可选的实施例中,在第一引擎根据哈希检索值,与第一引擎中存储的多个统计流表进行匹配之后,该方法还包括:
步骤S20242,在匹配结果为匹配到第二统计流表的情况下,第一引擎对第三引擎统计的第二统计信息进行更新,其中,第二统计信息用于指示第三引擎所接收到的报文信息的数量。
在本实施例中,当第一引擎根据哈希检索值检索到第二统计流表时,则说明目前流经的报文信息或流量为已经识别的过得流量或报文信息,因而此时只需要对该报文信息或流量进行记录或更新即可。
其中,第二统计信息除了记录第三引擎接收到的报文信息的数量之外,还可以统计报文信息的被记录的次数、报文信息被记录的时间等信息。
例如,在匹配结果为匹配到第二统计流表的情况下,第一引擎分别对第三引擎统计的第二统计信息中的第三引擎所接收到的报文信息的数量、接收到报文信息的时间、接收到报文信息的次数依次进行更新。
在一个可选的实施例中,在第一引擎根据哈希检索值,与第一引擎中存储的多个统计流表进行匹配之后,该方法还包括:
步骤S20244,在匹配结果为匹配到第二统计流表的情况下,第一引擎将第二统计流表中包含的第三标识的标识值置为第一预设值,其中,第三标识值用于指示第二统计流表的老化状态,且当第三标识的标识值为第一预设值时,第二统计流表的状态为非老化状态,当第三标识的标识值为第二预设值时,第二统计流表的状态为老化状态。
在本实施例中,通过识别第三标识来判断第二统计流表是否处于老化状态,从而避免统计过程中发生错误。
其中,第三标识可以(但不限于)是统计流表中的aging_status,第一预设值可以为0,第二预设值可以设置为1,从而方便计算机识别;而将第三标识的标识值置为1能够避免在流表老化过程中被执行老化过程,从而使第二统计流表持续对流量信息进行统计。
需要说明的是,将第三标识的标识值置1的过程可以是与对第二统计表的第二统计信息进行更新的过程同步进行。
在一个可选的实施例中,在第一引擎确定报文信息中携带的第一标识所指示的第一统计流表之后,该方法还包括:
步骤S2042,第一引擎将第一统计流表中包含的第三标识的标识值置为第一预设值,其中,第三标识值用于指示第一统计流表的老化状态,且当第三标识的标识值为第一预设值时,第一统计流表的状态为非老化状态,当第三标识的标识值为第二预设值时,第一统计流表的状态为老化状态。
在本实施例中,通过识别第三标识来判断第一统计流表是否处于老化状态,从而避免统计过程中发生错误。
其中,第三标识可以(但不限于)是统计流表中的aging_status,第一预设值可以为0,第二预设值可以设置为1,从而方便计算机识别;而将第三标识的标识值置为1是为了区分该流表是否有还有流量在更新,从而能够区分第一统计流表的老化状态。
需要说明的是,将第三标识的标识值置1的过程可以是与对第一统计表的第一统计信息进行更新的过程同步进行。
在一个可选的实施例中,该方法还包括,
步骤2082,获取第一统计流表所包含的第三标识的第一标识值和第二统计流表所包含的第三标识的第二标识值;
步骤2084,在确定第一标识值和第二标识值中存在取值为第二预设值的标识值的情况下,删除取值为第二预设值的第三标识所在的统计流表中存储的统计数据;
步骤2086,在确定第一标识值和第二标识值中存在取值为第一预设值的标识值的情况下,将取值为第一预设值的第三标识的标识值置为第二标识值。
在本实施例中,当第三标识的标识值的取值为第二预设值时,则说明该第三标识对应的统计流表在指定的老化时间间隔内没有更新,此时则需要将对应的流表中记录的信息进行删除以留存足够的存储空间来存储新的报文信息;而当第三标识的标识值的取值为第二预设值时,则说明第三标识对应的统计流表在指定的老化时间间隔内还有报文被记录并更新统计信息,而为标识下一老化时间间隔内该流表是否被更新,需要将第三标识的标识值置为第二预设值,以在下一轮老化扫描时能够对该流表进行老化。
需要说明的是,由于第一引擎在识别过程中会将需要继续执行流量信息统计的统计流表的第三标识的标识值置为第一预设值,因而在下一轮老化扫描时,当确认第三标识的标识值为第一预设值时,则不执行老化,从而避免第三标识对应(即未到达老化时间)的统计流表被错误老化;且执行删除操作时,删除第一统计流表、第二统计流表及其存储的流量统计数据,将流表位置空出来学习新的报文关键字信息,而第一统计流表以及第二统计流中的flow-change-cnt字段则保留。
其中,第一标识值和第二标识值的第一预设值可以为0,第二预设值可以为1,也可以是其它值,只要能够被计算机设备识别即可;第一标识值和第二标识值的确定过程可以是同时进行,也可以是依次进行;而对第三标识对应的统计流表进行删除的过程相应的可以是同时进行,也可以是依次进行。
在一个可选的实施例中,在删除取值为第二预设值的第三标识所在的统计流表之后,该方法还包括:
步骤S2088,将第一统计流表中包含的第二标识的标识值与第二统计流表中包含的第二标识的标识值进行加1。
在本实施例中,在删除取值为第二预设值的第三标识所在的统计流表之后,为使相应的逻辑设备能够识别到该统计流表已经被老化,因而需要对相应的统计流表进行标识,在本实施例中,则可以通过对第二标识的标识值进行加1来实现对统计流表的标识。
其中,对第一统计流表中包含的第二标识的标识值进行加1与对第二统计流表中包含的第二标识的标识值进行加1的过程时同步进行的,以用于唯一标识一条流表;这是因为只有第一统计流表与第二统计流表中的第二标识一致才认为是进入第三引擎与流出第二引擎的流量相同,因而需要保证第一统计流表与第二统计流表中的第二标识始终保持一致,以避免因流表的不断老化和重新学习造成的流量统计错误。
需要说明的是,报文信息的转发过程中,报文信息携带的flow-change-cnt是从第二统计表中获取的,如果在报文从第三引擎流向到第二引擎的过程中,该流表位置保存的信息没有被老化和重新学习,则报文信息流经第二引擎时,能够确定该报文信息是进入第三引擎的报文相同,随后更新第一统计信息表。
若报文信息从第三引擎流向第二引擎的过程中,该第一统计流表已经老化掉并创建学习了一条新的统计流表,此时,第三引擎的关键字表已经发生变化,同时第三引擎和第二引擎的统计流表表中的flow-change-cnt值均进行了加1操作,从而使得报文信息携带的flow-change-cnt值与第二统计流表的flow-change-cnt值不一致,因而不更新第二统计流表中的统计信息。
因而,本发明通过比较报文中携带的flow-change-cnt和第二统计流表中的flow-change-cnt,在二者一致时才更新第二统计流表中的统计信息,避免了误统计的问题。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种信息更新装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的一种信息更新装置的结构框图,如图3所示,该装置应用于第一引擎中,包括:
第一报文接收模块32,用于接收进入处于出口处的第二引擎的报文信息;
第一流表确定模块34,用于确定报文信息中携带的第一标识所指示的第一统计流表,其中,第一标识为所述报文信息在处于入口处的第三引擎中添加的;
第一信息更新模块36,用于在确定报文信息中携带的第二标识的标识值与第一统计流表中包括的第二标识的标识值一致的情况下,第一信息更新模块对第二引擎统计的第一统计信息进行更新,其中,第一统计信息用于统计第二引擎所接收到的报文信息的数量,报文信息中携带第二标识的标识值为报文信息在处于入口处的第三引擎中添加的第二统计流表中包括的第二标识的标识值,第一统计流表和第二统计流表中的第二标识的标识值是同步更新的。
在一个可选的实施例中,第一报文接收模块32包括:
第一计算单元322,用于根据接收到的进入处于入口处的第三引擎的原始报文信息计算哈希检索值,其中,哈希检索值用于指示存储原始报文信息对应的第一统计流表的存储区域,报文信息中包括原始报文信息;
第一匹配单元324,用于根据哈希检索值,与第一引擎中存储的多个统计流表进行匹配;
流表建立单元326,用于在匹配结果为未匹配到用于存储原始报文信息的第二统计流表的情况下,流表建立单元在第一引擎内建立用于存储原始报文信息的第二统计流表;
标识添加单元328,用于将第二统计流表中包含的第二标识的标识值以及第一标识添加至原始报文信息中,以得到报文信息。
在一个可选的实施例中,第一匹配单元324包括:
报文更新子单元3242,用于在匹配结果为匹配到第二统计流表的情况下,第一引擎对第三引擎统计的第二统计信息进行更新,其中,第二统计信息用于指示第三引擎所接收到的报文信息的数量。
在一个可选的实施例中,第一匹配单元324还包括:
标识调整子单元3244,用于在匹配结果为匹配到第二统计流表的情况下,第一引擎将第二统计流表中包含的第三标识的标识值置为第一预设值,其中,第三标识值用于指示第二统计流表的老化状态,且当第三标识的标识值为第一预设值时,第二统计流表的状态为非老化状态,当第三标识的标识值为第二预设值时,第二统计流表的状态为老化状态。
在一个可选的实施例中,第一流表确定模块34包括:
标识调整单元42,用于第一引擎将第一统计流表中包含的第三标识的标识值置为第一预设值,其中,第三标识值用于指示第一统计流表的老化状态,且当第三标识的标识值为第一预设值时,第一统计流表的状态为非老化状态,当第三标识的标识值为第二预设值时,第一统计流表的状态为老化状态。
在一个可选的实施例中,该装置还包括:
标识获取单元382,用于获取第一统计流表所包含的第三标识的第一标识值和第二统计流表所包含的第三标识的第二标识值;
流表删除单元384,用于在确定第一标识值和第二标识值中存在取值为第二预设值的标识值的情况下,删除取值为第二预设值的第三标识所在的统计流表中存储的统计数据;
标识调整单元386,用于在确定第一标识值和第二标识值中存在取值为第一预设值的标识值的情况下,将取值为第一预设值的第三标识的标识值置为第二标识值。
在一个可选的实施例中,该装置还包括:
流表标识单元388,用于将第一统计流表中包含的第二标识的标识值与第二统计流表中包含的第二标识的标识值进行加1。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
下面结合具体的实施例对本发明进行说明。
参照图4及图5,第一引擎获取报文关键字信息(五元组),计算hash值(对应步骤S501),随后根据计算出的hash查找哈希表(对应步骤S502),并判断是否查找成功(对应步骤S503),若查找成功,则更新流表的统计信息(对应步骤S504),并将其aging_status清0(对应步骤S505),否则以hash值作为索引,添加一条新流表,并对该流表进行流表学习(对应步骤S506),随后再将该统计流表的index作为flow-id,该统计流表中的flow_change_cnt作为packet_flow_change_cnt,共同组到内部报文头部PacketHeader,以使上述标识随着报文的处理流程带到第二引擎。
参照图4及图6,第二引擎获取报文从IPE携带的flow_id和packet_flow_change_cnt(对应步骤S601),再用flow_id索引,读取EPE统计信息表中的flow_change_cnt(对应步骤S602),再比较报文从IPE带过来的packet_flow_change_cnt和EPE统计表中的flow_change_cnt(对应步骤S603)其中,当两者相等时,则表示流表没有更新,从而表示当前的第一统计流表表和报文经过第三引擎时查到的第二统计流表流表表示的是同一条流,随后更新第一统计流表的第一统计信息(对应步骤S604),否则表示流表已经更新,即该报文在IPE查到的流表已经老化掉,从而不对第一统计信息进行更新。
参照图7,流表老化机制包括:读取IPFIX流表中的aging_status(对应步骤S701),随后判断aging_status是否等于1(对应步骤S702),等于1则删除当前流表(对应步骤S703),并将流表统计信息表中的flow_change_cnt加1(IPE和EPE的统计表同时加1,两者始终保持一致)(对应步骤S704),否则将aging_status置1(对应步骤S705)。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种信息更新方法,其特征在于,包括:
第一引擎接收进入处于出口处的第二引擎的报文信息;
所述第一引擎确定所述报文信息中携带的第一标识所指示的第一统计流表,其中,所述第一标识为所述报文信息在处于入口处的第三引擎中添加的;
在确定所述报文信息中携带的第二标识的标识值与所述第一统计流表中包括的所述第二标识的标识值一致的情况下,所述第一引擎对所述第二引擎统计的第一统计信息进行更新,其中,所述第一统计信息用于统计所述第二引擎所接收到的报文信息的数量,所述报文信息中携带第二标识的标识值为所述报文信息在处于入口处的第三引擎中添加的第二统计流表中包括的所述第二标识的标识值,所述第一统计流表和所述第二统计流表中的所述第二标识的标识值是同步更新的。
2.根据权利要求1所述的方法,其特征在于,所述第一引擎在接收进入处于出口处的第二引擎的报文信息之前,所述方法还包括:
所述第一引擎根据接收到的进入处于入口处的第三引擎的原始报文信息计算哈希检索值,其中,所述哈希检索值用于指示存储所述原始报文信息对应的第一统计流表的存储区域,所述报文信息中包括所述原始报文信息;
所述第一引擎根据所述哈希检索值,与所述第一引擎中存储的多个统计流表进行匹配;
在匹配结果为未匹配到用于存储所述原始报文信息的所述第二统计流表的情况下,所述第一引擎在所述第一引擎内建立用于存储所述原始报文信息的第二统计流表;
所述第一引擎将所述第二统计流表中包含的所述第二标识的标识值以及所述第一标识添加至所述原始报文信息中,以得到所述报文信息。
3.根据权利要求2所述的方法,其特征在于,在所述第一引擎根据所述哈希检索值,与所述第一引擎中存储的多个统计流表进行匹配之后,所述方法还包括:
在匹配结果为匹配到所述第二统计流表的情况下,所述第一引擎对所述第三引擎统计的第二统计信息进行更新,其中,所述第二统计信息用于指示所述第三引擎所接收到的报文信息的数量。
4.根据权利要求2所述的方法,其特征在于,在所述第一引擎根据所述哈希检索值,与所述第一引擎中存储的多个统计流表进行匹配之后,所述方法还包括:
在匹配结果为匹配到所述第二统计流表的情况下,所述第一引擎将所述第二统计流表中包含的第三标识的标识值置为第一预设值,其中,所述第三标识值用于指示所述第二统计流表的老化状态,且当所述第三标识的标识值为所述第一预设值时,所述第二统计流表的状态为非老化状态,当所述第三标识的标识值为第二预设值时,所述第二统计流表的状态为老化状态。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括,
获取所述第一统计流表所包含的所述第三标识的第一标识值和所述第二统计流表所包含的所述第三标识的第二标识值;
在确定所述第一标识值和所述第二标识值中存在取值为所述第二预设值的标识值的情况下,删除取值为所述第二预设值的所述第三标识所在的统计流表中存储的统计数据;
在确定所述第一标识值和所述第二标识值中存在取值为所述第一预设值的标识值的情况下,将取值为所述第一预设值的所述第三标识的标识值置为所述第二标识值。
6.根据权利要求5所述的方法,其特征在于,在删除取值为所述第二预设值的所述第三标识所在的统计流表之后,所述方法还包括:
将所述第一统计流表中包含的所述第二标识的标识值与所述第二统计流表中包含的所述第二标识的标识值进行加1。
7.一种信息更新装置,应用于第一引擎中,其特征在于,包括:
第一报文接收模块,用于接收进入处于出口处的第二引擎的报文信息;
第一流表确定模块,用于确定所述报文信息中携带的第一标识所指示的第一统计流表,其中,所述第一标识为所述报文信息在处于入口处的第三引擎中添加的;
第一信息更新模块,用于在确定所述报文信息中携带的第二标识的标识值与所述第一统计流表中包括的所述第二标识的标识值一致的情况下,所述第一信息更新模块对所述第二引擎统计的第一统计信息进行更新,其中,所述第一统计信息用于统计所述第二引擎所接收到的报文信息的数量,所述报文信息中携带第二标识的标识值为所述报文信息在处于入口处的第三引擎中添加的第二统计流表中包括的所述第二标识的标识值,所述第一统计流表和所述第二统计流表中的所述第二标识的标识值是同步更新的。
8.根据权利要求7所述的装置,其特征在于,所述第一报文接收模块包括:
第一计算单元,用于根据接收到的进入处于入口处的第三引擎的原始报文信息计算哈希检索值,其中,所述哈希检索值用于指示存储所述原始报文信息对应的第一统计流表的存储区域,所述报文信息中包括所述原始报文信息;
第一匹配单元,用于根据所述哈希检索值,与所述第一引擎中存储的多个统计流表进行匹配;
流表建立单元,用于在匹配结果为未匹配到用于存储所述原始报文信息的所述第二统计流表的情况下,所述流表建立单元在所述第一引擎内建立用于存储所述原始报文信息的第二统计流表;
标识添加单元,用于将所述第二统计流表中包含的所述第二标识的标识值以及所述第一标识添加至所述原始报文信息中,以得到所述报文信息。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011642468.2A CN112769648B (zh) | 2020-12-31 | 2020-12-31 | 一种信息更新方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011642468.2A CN112769648B (zh) | 2020-12-31 | 2020-12-31 | 一种信息更新方法、装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112769648A true CN112769648A (zh) | 2021-05-07 |
CN112769648B CN112769648B (zh) | 2022-08-19 |
Family
ID=75698494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011642468.2A Active CN112769648B (zh) | 2020-12-31 | 2020-12-31 | 一种信息更新方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112769648B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259344A (zh) * | 2017-11-29 | 2018-07-06 | 新华三技术有限公司 | 遥测Telemetry方法和装置 |
CN109150684A (zh) * | 2018-07-20 | 2019-01-04 | 新华三技术有限公司 | 报文处理方法、装置、通信设备及计算机可读存储介质 |
CN110912826A (zh) * | 2019-11-13 | 2020-03-24 | 盛科网络(苏州)有限公司 | 利用acl扩充ipfix表项的方法及装置 |
CN111147403A (zh) * | 2019-12-27 | 2020-05-12 | 盛科网络(苏州)有限公司 | 报文的处理方法及装置、存储介质和电子装置 |
-
2020
- 2020-12-31 CN CN202011642468.2A patent/CN112769648B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259344A (zh) * | 2017-11-29 | 2018-07-06 | 新华三技术有限公司 | 遥测Telemetry方法和装置 |
CN109150684A (zh) * | 2018-07-20 | 2019-01-04 | 新华三技术有限公司 | 报文处理方法、装置、通信设备及计算机可读存储介质 |
CN110912826A (zh) * | 2019-11-13 | 2020-03-24 | 盛科网络(苏州)有限公司 | 利用acl扩充ipfix表项的方法及装置 |
CN111147403A (zh) * | 2019-12-27 | 2020-05-12 | 盛科网络(苏州)有限公司 | 报文的处理方法及装置、存储介质和电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112769648B (zh) | 2022-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535782B (zh) | 一种实现QoS保障的报文处理方法、设备和系统 | |
JP3965283B2 (ja) | 複数種類のパケット制御機能を備えたパケット転送装置 | |
US7088716B2 (en) | Network routing apparatus | |
CN111385121B (zh) | 一种操作管理维护iOAM报文的传输方法及相应装置 | |
JP2004112791A (ja) | ネットワーク動作パラメータを測定する方法 | |
US20180367431A1 (en) | Heavy network flow detection method and software-defined networking switch | |
CN110855576A (zh) | 应用识别方法及装置 | |
CN111277467B (zh) | 一种通信装置、数据流识别方法及相关设备 | |
CN111327665A (zh) | 资料传输加速装置、资料传输加速方法及路由器 | |
CN112769648B (zh) | 一种信息更新方法、装置、存储介质及电子装置 | |
CN111200542B (zh) | 一种基于确定性替换策略的网络流量管理方法及系统 | |
KR20050052636A (ko) | 인터넷 트래픽 측정을 위한 플로우 생성 방법 | |
CN107528794B (zh) | 一种数据处理方法和装置 | |
CN110830376B (zh) | 一种int报文的处理方法及装置 | |
CN115242892B (zh) | 一种流标识获取方法、装置、设备及介质 | |
CN112019393B (zh) | 一种确定时延的方法及装置 | |
CN108777654B (zh) | 报文转发方法及路由设备 | |
CN115567436A (zh) | 组播报文的处理方法、系统、计算机设备和可读存储介质 | |
CN109905325B (zh) | 一种流量引导方法及流量识别设备 | |
CN114039888B (zh) | 时延测量方法及装置 | |
CN111211979B (zh) | 流量管理方法、装置、设备及介质 | |
CN113708985A (zh) | 一种流量的检测方法、装置及系统 | |
CN113810284A (zh) | 确定报文发送路径的方法及装置 | |
CN110380940B (zh) | 一种路由器及其数据包的评估方法 | |
CN115134296B (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 | ||
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. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |