CN113176940A - 一种数据流分流方法、装置以及网络设备 - Google Patents
一种数据流分流方法、装置以及网络设备 Download PDFInfo
- Publication number
- CN113176940A CN113176940A CN202110336940.8A CN202110336940A CN113176940A CN 113176940 A CN113176940 A CN 113176940A CN 202110336940 A CN202110336940 A CN 202110336940A CN 113176940 A CN113176940 A CN 113176940A
- Authority
- CN
- China
- Prior art keywords
- processor core
- utilization rate
- data stream
- shunting
- logic device
- 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 35
- 230000032683 aging Effects 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 6
- 238000012545 processing Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 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
- 238000005516 engineering process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书提供一种数据流分流方法、装置以及网络设备,应用于通信技术领域。一种数据流分流方法,应用于逻辑器件,包括:获取接收到的数据流中所携带的元组信息;若根据元组信息在分流表中未命中分流表项,则从所存储的、各处理器核的利用率中选择利用率最低的处理器核作为目标处理器核;在分流表中生成元组信息和目标处理器核的分流表项;将数据流写入到目标处理器核所对应的缓存队列;若根据元组信息在分流表中命中分流表项,则将数据流写入到命中的分流表项中记录的处理器核所对应的缓存队列。通过上述方法能够更加合理地进行数据流的分流,提升负载分担的效果。
Description
技术领域
本说明书涉及通信技术领域,尤其涉及一种数据流分流方法、装置以及网络设备。
背景技术
随着网络需求的增大,网络中所承载数据流的流量也逐渐增加。为了提高网络设备处理流量的,网络设备更多地采用了多核处理器实现数据流在多个处理器核之间的负载分担。
通常,多个处理器核之间采用哈希算法进行负载分担,将报文中所携带的元组信息进行归一化运算得出固定长度的哈希值,比如,对包含源IP(互联网协议,InternetProtocol)地址、源端口、目的IP地址、目的端口和传输层协议的五元组等进行哈希得到对应的哈希值。通过上述算法计算出的哈希值是一种散列值,针对不同的报文能够分散到不同的处理器核进行处理,以实现负载分担。
但是,虽然哈希算法能够基于元组信息进行散列,但是由于网络设备所接收到的各数据流之间所需求的流量差异(比如流量中存在占用极大带宽的数据流),多个占用带宽较大的数据流根据哈希算法会被分配到一个处理器核,而多个占用带宽较小的数据流被分配到另一个处理器核,导致多个处理器核之间所处理的数据流不平衡,降低了网络设备进行数据流处理时负载分担的效果。
发明内容
为克服相关技术中存在的问题,本说明书提供了一种数据流分流方法、装置以及网络设备。
结合本说明书实施方式的第一方面,本申请提供了一种数据流分流方法,应用于逻辑器件,包括:
获取接收到的数据流中所携带的元组信息;
若根据元组信息在分流表中未命中分流表项,则从所存储的、各处理器核的利用率中选择利用率最低的处理器核作为目标处理器核;
在分流表中生成元组信息和目标处理器核的分流表项;
将数据流写入到目标处理器核所对应的缓存队列;
若根据元组信息在分流表中命中分流表项,则将数据流写入到命中的分流表项中记录的处理器核所对应的缓存队列。
进一步的,在分流表中生成元组信息和目标处理器核的分流表项之后,还包括:
将生成的分流表项置为生效状态;
针对处于生效状态的分流表项进行老化计时;
若处于生效状态的分流表项到达老化时间,则将该分流表项置为失效状态。
可选的,该方法,还包括:
按照预设的周期对分流表进行轮询,清除处于失效状态的分流表项。
进一步的,该方法,还包括:
接收处理器下发的、各处理器核的利用率;
存储各处理器核的利用率。
结合本说明书实施方式的第二方面,本申请提供了一种数据流分流方法,应用于处理器,包括:
周期性地获取各处理器核的利用率;
向逻辑器件下发各处理器核的利用率,以使逻辑器件存储各处理器核的利用率,并根据各处理器核的利用率对接收到的数据流分流到利用率最低的处理器核。
结合本说明书实施方式的第三方面,本申请提供了一种数据流分流装置,应用于逻辑器件,包括:
解析单元,用于获取接收到的数据流中所携带的元组信息;
匹配单元,用于若根据元组信息在分流表中未命中分流表项,则从所存储的、各处理器核的利用率中选择利用率最低的处理器核作为目标处理器核;
生成单元,用于在分流表中生成元组信息和目标处理器核的分流表项;
写入单元,用于将数据流写入到目标处理器核所对应的缓存队列;
若匹配单元根据元组信息在分流表中命中分流表项,则通过写入单元将数据流写入到命中的分流表项中记录的处理器核所对应的缓存队列。
可选的,该装置,还包括:
老化单元,还用于将生成的分流表项置为生效状态;针对处于生效状态的分流表项进行老化计时;若处于生效状态的分流表项到达老化时间,则将该分流表项置为失效状态。
进一步的,该装置,还包括:
清除单元,用于按照预设的周期对分流表进行轮询,清除处于失效状态的分流表项。
可选的,该装置,还包括:
接收单元,用于接收处理器下发的、各处理器核的利用率;
存储单元,用于存储各处理器核的利用率。
结合本说明书实施方式的第四方面,本申请提供了一种数据流分流装置,应用于处理器,包括:
监控单元,用于周期性地获取各处理器核的利用率;
发送单元,用于向逻辑器件下发各处理器核的利用率,以使逻辑器件存储各处理器核的利用率,并根据各处理器核的利用率对接收到的数据流分流到利用率最低的处理器核。
结合本说明书实施方式的第五方面,本申请提供了一种网络设备,包括处理器、内存和逻辑器件;
处理器周期性地获取各处理器核的利用率,并将各处理器核的利用率下发给逻辑器件;
逻辑器件接收并存储各处理器核的利用率;
逻辑器件接收数据流,获取数据流中所携带的元组信息;
逻辑器件若根据元组信息在分流表中未命中分流表项,则从所存储的、各处理器核的利用率中选择利用率最低的处理器核作为目标处理器核;
逻辑器件在分流表中生成元组信息和目标处理器核的分流表项;
逻辑器件将数据流写入到目标处理器核所对应的缓存队列,其中,缓存队列创建于内存中,且处理器核对应于一个缓存队列;
逻辑器件若根据元组信息在分流表中命中分流表项,则将数据流写入到命中的分流表项中记录的处理器核所对应的缓存队列。
可选的,该网络设备,还包括与逻辑器件连接的扩展内存;
分流表存储在扩展内存中。
本说明书的实施方式提供的技术方案可以包括以下有益效果:
本说明书实施方式中,在网络设备接收到数据流时,根据记录的多核处理器的处理器核的利用率,选择出利用率最低的处理器核,生成用于指导数据流进行分流的分流表,并根据分流表中所记录的、与数据流的元组信息相对应的处理器核将数据流分流到对应的处理器核进行处理,从而数据流可以被分流到利用率较低的处理器核中,提升网络设备在进行数据流处理时的负载分担的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施方式,并与说明书一起用于解释本说明书的原理。
图1是本申请所涉及的一种数据流分流方法的流程图,其中,该方法应用于逻辑器件;
图2是本申请所涉及的一种网络设备的结构示意图;
图3是本申请所涉及的一种数据流分流方法的流程图,其中,该方法应用于处理器;
图4是本申请所涉及的一种数据流分流装置的结构示意图,其中,该装置应用于逻辑器件;
图5是本申请所涉及的一种数据流分流装置的结构示意图,其中,该装置应用于处理器;
图6是本申请所涉及的另一种网络设备的结构示意图。
具体实施方式
这里将详细地对示例性实施方式进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施方式中所描述的实施方式并不代表与本说明书相一致的所有实施方式。
本申请提供了一种数据流分流方法,应用于逻辑器件,如图1所示,包括:
S100、获取接收到的数据流中所携带的元组信息。
如图2所示,网络设备可以包含有处理器、逻辑器件和内存。其中,为了提升对于数据流的处理能力,处理器被设置为包含有多个处理器核的处理器,每一个处理器核可以单独地处理一条数据流。处理器、逻辑器件和内存之间,可以通过总线连接并实现数据的传输和访问,比如总线可以是PCIE(外围部件互联总线,Peripheral Component InterconnectExpress)。在内存中可以设置有多个缓存队列,每一个缓存队列可以配置有队列标识,通过队列标识可以与处理器核的处理器核标识进行绑定,被写入到该缓存队列将会被分配到与之绑定的处理器核进行处理。该缓存队列的形式,可以是FIFO(先入先出,First InputFirst Output),当然也可以是其他能够保证数据流中的报文的传输序列的形式,对此不做限制。
逻辑器件可以连接有端口,该端口为设置在网络设备的面板的面板端口,通过该面板端口可以通过线缆与其他网络设备或设备连接,以接收外部向网络设备发送的对数据流。
在网络设备通过端口接收到数据流后,流入到逻辑器件中,逻辑器件可以对该数据流进行物理层处理,即将模拟信号转换为数字信号。此后,逻辑器件可以对该数据流进行识别和解析,获取数据流中的元组信息。
其中,需要说明的是,一条数据流由若干报文组成,在一个报文中携带有元组信息(比如,五元组信息和四元组信息),通过元组信息可以识别数据流,即相同的元组信息的报文属于同一个数据流。
在网络设备中还可以预先部署有分流表,该分流表用于记录数据流和处理该数据流的处理器核的对应关系,如下表1所示。
表1
通过该分流表中所记录的分流表项,在该分流表中可以记录有效力标识、元组信息和处理器核标识。其中,确定处理一条数据流的处理器核的过程,需要根据处理器核的利用率来确定。
此时,逻辑器件可以根据所获取的元组信息去查找分流表,如果命中到对应的分流表项则跳转到S101,如果未命中到对应的分流表项则跳转到S104。
S101、若根据元组信息在分流表中未命中分流表项,则从所存储的、各处理器核的利用率中选择利用率最低的处理器核作为目标处理器核。
根据逻辑器件解析出的元组信息,若未命中该分流表中的分流表项,则可以认为逻辑器件中当前为第一次接收到该数据流,此时,可以通过各个处理器核的利用率来选择一个处理器核作为处理该数据流的处理器核(可称为目标处理器核)。
这里所提到的处理器核的利用率可以通过处理器进行获取和下发,或者周期性地由逻辑器件向处理器进行请求而获得,或者是在接收到一条数据流时向处理器去获取某一特定的(比如利用率最低、利用率低于一预设值的多个处理器核中的一个处理器核,或者利用率最低的几个处理器核中的一个处理器核)处理器核。也就是说,需要确定出一个利用率比较低的处理器核中选择一个处理器核进行数据流的处理,当然优选的为直接选择利用率最低的处理器核进行处理。
举例来说,处理器核0的利用率为70%,处理器核1的利用率为30%,处理器核2的利用率为25%,处理器核3的利用率为60%,从这四个处理器核中选择出利用率最低的两个处理器核,并选择这两个利用率最低的处理器核中随机选择出一个处理器核作为目标处理器核,比如将处理器核1作为目标处理器核,也就是说,利用率最低的限定可以是利用率最低的一个处理器核,或者利用率最低的几个中选择一个处理器核。
S102、在分流表中生成元组信息和目标处理器核的分流表项。
S103、将数据流写入到目标处理器核所对应的缓存队列。
由于数据流的处理需求,需要将同一个数据流中的报文分流到一个处理器核中进行处理,因此,在逻辑器件中,需要在分流表中生成一个分流表项,该分流表项中就记录有处理器核和数据流的元组信息之间的分流关系,即,该元组信息所对应的数据流都分配到所选出的处理器核(即目标处理器核)中进行处理。
此时,基于缓存队列和处理器核之间的绑定关系,可以将接收到的数据流写入到与所确定的目标处理器核所绑定的缓存队列,以使该处理器能够从该缓存队列中读出数据流(即数据流中所包含的报文)传输到对应的处理器核中进行处理。
S104、若根据元组信息在分流表中命中分流表项,则将数据流写入到命中的分流表项中记录的处理器核所对应的缓存队列。
在逻辑器件基于数据流中的第一个报文生成分流表项后,该数据流中的后续报文则可以基于已经生成的分流表项进行分流。
本说明书实施方式中,在网络设备接收到数据流时,根据记录的多核处理器的处理器核的利用率,选择出利用率最低的处理器核,生成用于指导数据流进行分流的分流表,并根据分流表中所记录的、与数据流的元组信息相对应的处理器核将数据流分流到对应的处理器核进行处理,从而数据流可以被分流到利用率较低的处理器核中,提升网络设备在进行数据流处理时的负载分担的效果。
由于在网络设备运行过程中一直处于数据流处理和转发的过程,因此,处理器核的利用率也是一直变化的。因此,可选择,本申请所涉及的一种数据流分流方法,还可以包括:
S105、接收处理器下发的、各处理器核的利用率。
S106、存储各处理器核的利用率。
在逻辑器件中,可以预先存储有处理器核标识和处理器核的利用率之间的对应关系,可以称为利用率表,如下表2所示。
表2
其中,N为网络设备中的处理器所包含的处理器核的数量。需要说明的是,在当前的处理器内部架构中,比如处理器中包含有处理器核0~处理器核7总共8个处理器核,处理器核0用于网络设备控制平面的处理,一般不会参与到数据流的处理和转发过程。但这并不代表处理器核0不会被作为数据流处理和转发的对象,因此,在上表1中也将处理器核0保留在了表中。但在实际的处理应用的过程中,利用率表中可能不包含处理器核0的利用率。
在处理器中,可以通过运行的操作系统中进行检测和获取各个处理器核的利用率,并通过处理器核标识进行对应的标记。此后,将所获取的处理器核标识和处理器核标识之间的对应关系下发到逻辑器件进行保存,比如保存到逻辑器件内部的缓存中。
处理器可以周期性地获取自身处理器核的利用率,并下发到逻辑器件中,以使逻辑器件将当前所存储的处理器核的利用率刷新成最新的,从而进一步地提升根据处理器核的利用率进行数据流分流时的可靠性。
另外,在分流表中还可以设置有效力标识,用于标记所生成的分流表项的效力状态,如表1所示。相对应的,可以通过该效力状态来标记分流表中所记录的分流表项是否仍需要保留,对于不需要保留的分流表项,逻辑器件可以进行回收或覆盖,以满足数据流较多时存储分流表中所存储的分流表项不足的问题,提升分流表的利用率。
具体而言,在分流表中生成元组信息和目标处理器核的分流表项之后,还包括:
S107、将生成的分流表项置为生效状态。
S108、针对处于生效状态的分流表项进行老化计时。
比如,效力标识被标记为1的时候,表示该分流表项处于生效状态,效力标识被标记为0的时候,标识该分流表项处于失效状态。
在逻辑器件生成分流表项时,将生成的分流表项置为生效状态,以指导对数据流中第一个报文和后续报文的分流。并且,在逻辑器件中可以为生成的分流表项启动一个计时器,用于检测该分流表项被命中的情况,此时,可以为该计时器设置一个老化时间。
S109、若处于生效状态的分流表项到达老化时间,则将该分流表项置为失效状态。
若数据流中的后续报文命中了该分流表项,则计时器被刷新,重新进行计时;若持续计时到达老化时间时,没有数据流中的报文命中该分流表项,则可以说明该分流表项暂时没有作用,该逻辑器件可以将该计时器所对应的分流表项将被置于失效状态。
针对被置于失效状态的分流表项,可以直接通过清除的方式进行回收,即将分流表项从分流表中清除,从而空出分流表中的空间留给后续的数据流写入新的分流表项,也可以将其一直置于失效状态,直到该分流表项被新的数据流所产生的分流表项覆盖,或者,被与该分流表项相匹配的数据流重新激活。
优选的,该方法,还可以包括:
S110、按照预设的周期对分流表进行轮询,清除处于失效状态的分流表项。
逻辑器件中可以预设一个周期,当到达该预设的周期时,逻辑器件从分流表的表头至分流表的表尾进行轮询,将此时处于失效状态的分流表项清除。
相对于在分流表中保留失效状态的分流表项直至被其他的数据流所产生的数据流覆盖的情况,可以更加可靠地对数据流进行分流。原因在于,如果保留失效状态的分流表项,其中,也会保留在数据流和处理器核之间的对应关系。但是,在经过了一段时间之后,处理器核的利用率可能已经发生了较大的变化。
举例而言,在时间点1,逻辑器件根据处理器核的利用率确定出处理器核3是利用率最低(比如为20%)的处理器核,将数据流A分配到处理器核3。在经过一段时间后,由于数据流A被处理完成,该分流表项也到达了老化时间,被置为失效状态。此后,其他的数据流被分流到处理器核3进行处理。
当时间推移到时间点2时,逻辑器件接收到了第二次被发送的数据流A,此时,处理器核3的利用率已经升至60%。由于分流表中与数据流A相对应的分流表项仍被保留,再次接收到数据流A时该分流表项再次被激活为有效状态,导致处理器核3虽然当前的利用率已经非常高,数据流A仍会继续被分流到处理器核3进行处理,而可能此时处理器核2的利用率仅为30%,分流到处理器核2更优。
因此,逻辑器件周期性地清除已经处于失效状态的分流表项可以使再次处理数据流A时能够选用利用率更低的处理器核进行处理,从而进一步地提高了逻辑器件进行数据流的负载分担的效果。
与上述一种数据流分流方法相对应的,本申请还提供了一种数据流分流方法,应用于处理器,如图3所示,包括:
S200、周期性地获取各处理器核的利用率。
S201、向逻辑器件下发各处理器核的利用率,以使逻辑器件存储各处理器核的利用率,并根据各处理器核的利用率对接收到的数据流分流到利用率最低的处理器核。
通过处理器周期性地下发各个处理器核的利用率,能够使逻辑器件所进行的数据流分流更加可靠。
相对应的,本申请提供了一种数据流分流装置,应用于逻辑器件,如图4所示,包括:
解析单元,用于获取接收到的数据流中所携带的元组信息;
匹配单元,用于若根据元组信息在分流表中未命中分流表项,则从所存储的、各处理器核的利用率中选择利用率最低的处理器核作为目标处理器核;
生成单元,用于在分流表中生成元组信息和目标处理器核的分流表项;
写入单元,用于将数据流写入到目标处理器核所对应的缓存队列;
若匹配单元根据元组信息在分流表中命中分流表项,则通过写入单元将数据流写入到命中的分流表项中记录的处理器核所对应的缓存队列。
可选的,该装置,还包括:
老化单元,还用于将生成的分流表项置为生效状态;针对处于生效状态的分流表项进行老化计时;若处于生效状态的分流表项到达老化时间,则将该分流表项置为失效状态。
进一步的,该装置,还包括:
清除单元,用于按照预设的周期对分流表进行轮询,清除处于失效状态的分流表项。
可选的,该装置,还包括:
接收单元,用于接收处理器下发的、各处理器核的利用率;
存储单元,用于存储各处理器核的利用率。
相对应的,本申请提供了一种数据流分流装置,应用于处理器,如图5所示,包括:
监控单元,用于周期性地获取各处理器核的利用率;
发送单元,用于向逻辑器件下发各处理器核的利用率,以使逻辑器件存储各处理器核的利用率,并根据各处理器核的利用率对接收到的数据流分流到利用率最低的处理器核。
相对应的,本申请提供了一种网络设备,如图2所示,包括处理器、内存和逻辑器件。
处理器周期性地获取各处理器核的利用率,并将各处理器核的利用率下发给逻辑器件。
逻辑器件接收并存储各处理器核的利用率。
逻辑器件接收数据流,获取数据流中所携带的元组信息。
逻辑器件若根据元组信息在分流表中未命中分流表项,则从所存储的、各处理器核的利用率中选择利用率最低的处理器核作为目标处理器核。
逻辑器件在分流表中生成元组信息和目标处理器核的分流表项。
逻辑器件将数据流写入到目标处理器核所对应的缓存队列。其中,缓存队列创建于内存中,且处理器核对应于一个缓存队列。
逻辑器件若根据元组信息在分流表中命中分流表项,则将数据流写入到命中的分流表项中记录的处理器核所对应的缓存队列。
可选的,该网络设备,如图6所示,还包括与逻辑器件连接的扩展内存。
分流表存储在扩展内存中。
该扩展内存可以是通过总线的方式与逻辑器件相连接,该逻辑器件可以从该扩展内存中读取写入到其中的分流表,并通过该分流表中与数据流相匹配的分流表项将数据流分流到对应的处理器核中进行处理。当然,如果分流表不需要很大的规模,也可以将分流表直接存储到逻辑器件的存储空间中,或者,可以将一个较大的存储空间集成到逻辑器件中,对此不做限制。
本说明书实施方式中,在网络设备接收到数据流时,根据记录的多核处理器的处理器核的利用率,选择出利用率最低的处理器核,生成用于指导数据流进行分流的分流表,并根据分流表中所记录的、与数据流的元组信息相对应的处理器核将数据流分流到对应的处理器核进行处理,从而数据流可以被分流到利用率较低的处理器核中,提升网络设备在进行数据流处理时的负载分担的效果。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
以上所述仅为本说明书的较佳实施方式而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (12)
1.一种数据流分流方法,其特征在于,应用于逻辑器件,包括:
获取接收到的数据流中所携带的元组信息;
若根据所述元组信息在分流表中未命中分流表项,则从所存储的、各处理器核的利用率中选择利用率最低的处理器核作为目标处理器核;
在所述分流表中生成所述元组信息和所述目标处理器核的分流表项;
将所述数据流写入到所述目标处理器核所对应的缓存队列;
若根据所述元组信息在分流表中命中分流表项,则将所述数据流写入到命中的分流表项中记录的处理器核所对应的缓存队列。
2.根据权利要求1所述的方法,其特征在于,在所述分流表中生成所述元组信息和所述目标处理器核的分流表项之后,还包括:
将生成的分流表项置为生效状态;
针对处于生效状态的分流表项进行老化计时;
若处于生效状态的分流表项到达老化时间,则将该分流表项置为失效状态。
3.根据权利要求2所述的方法,其特征在于,还包括:
按照预设的周期对所述分流表进行轮询,清除处于失效状态的分流表项。
4.根据权利要求1所述的方法,其特征在于,还包括:
接收处理器下发的、各处理器核的利用率;
存储所述各处理器核的利用率。
5.一种数据流分流方法,其特征在于,应用于处理器,包括:
周期性地获取各处理器核的利用率;
向逻辑器件下发各处理器核的利用率,以使所述逻辑器件存储所述各处理器核的利用率,并根据所述各处理器核的利用率对接收到的数据流分流到利用率最低的处理器核。
6.一种数据流分流装置,其特征在于,应用于逻辑器件,包括:
解析单元,用于获取接收到的数据流中所携带的元组信息;
匹配单元,用于若根据所述元组信息在分流表中未命中分流表项,则从所存储的、各处理器核的利用率中选择利用率最低的处理器核作为目标处理器核;
生成单元,用于在所述分流表中生成所述元组信息和所述目标处理器核的分流表项;
写入单元,用于将所述数据流写入到所述目标处理器核所对应的缓存队列;
若所述匹配单元根据所述元组信息在分流表中命中分流表项,则通过所述写入单元将所述数据流写入到命中的分流表项中记录的处理器核所对应的缓存队列。
7.根据权利要求6所述的装置,其特征在于,还包括:
老化单元,还用于将生成的分流表项置为生效状态;针对处于生效状态的分流表项进行老化计时;若处于生效状态的分流表项到达老化时间,则将该分流表项置为失效状态。
8.根据权利要求7所述的装置,其特征在于,还包括:
清除单元,用于按照预设的周期对所述分流表进行轮询,清除处于失效状态的分流表项。
9.根据权利要求6所述的装置,其特征在于,还包括:
接收单元,用于接收处理器下发的、各处理器核的利用率;
存储单元,用于存储所述各处理器核的利用率。
10.一种数据流分流装置,其特征在于,应用于处理器,包括:
监控单元,用于周期性地获取各处理器核的利用率;
发送单元,用于向逻辑器件下发各处理器核的利用率,以使所述逻辑器件存储所述各处理器核的利用率,并根据所述各处理器核的利用率对接收到的数据流分流到利用率最低的处理器核。
11.一种网络设备,其特征在于,包括处理器、内存和逻辑器件;
所述处理器周期性地获取各处理器核的利用率,并将所述各处理器核的利用率下发给所述逻辑器件;
所述逻辑器件接收并存储所述各处理器核的利用率;
所述逻辑器件接收数据流,获取所述数据流中所携带的元组信息;
所述逻辑器件若根据所述元组信息在分流表中未命中分流表项,则从所存储的、各处理器核的利用率中选择利用率最低的处理器核作为目标处理器核;
所述逻辑器件在所述分流表中生成所述元组信息和所述目标处理器核的分流表项;
所述逻辑器件将所述数据流写入到所述目标处理器核所对应的缓存队列,其中,所述缓存队列创建于所述内存中,且所述处理器核对应于一个缓存队列;
所述逻辑器件若根据所述元组信息在分流表中命中分流表项,则将所述数据流写入到命中的分流表项中记录的处理器核所对应的缓存队列。
12.根据权利要求11所述的网络设备,其特征在于,还包括与所述逻辑器件连接的扩展内存;
所述分流表存储在所述扩展内存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110336940.8A CN113176940A (zh) | 2021-03-29 | 2021-03-29 | 一种数据流分流方法、装置以及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110336940.8A CN113176940A (zh) | 2021-03-29 | 2021-03-29 | 一种数据流分流方法、装置以及网络设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113176940A true CN113176940A (zh) | 2021-07-27 |
Family
ID=76922707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110336940.8A Pending CN113176940A (zh) | 2021-03-29 | 2021-03-29 | 一种数据流分流方法、装置以及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113176940A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472812A (zh) * | 2021-09-01 | 2021-10-01 | 深圳鼎信通达股份有限公司 | 报文数据处理方法、装置及计算机可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010049693A1 (en) * | 1999-01-04 | 2001-12-06 | Robert C. Pratt | Mapping binary objects in extended relational database management systems with relational registry |
CN104734993A (zh) * | 2013-12-24 | 2015-06-24 | 杭州华为数字技术有限公司 | 数据分流方法及分流器 |
WO2015141337A1 (ja) * | 2014-03-19 | 2015-09-24 | 日本電気株式会社 | 受信パケット分散方法、キュー選択器、パケット処理装置、および記録媒体 |
CN105049268A (zh) * | 2015-08-28 | 2015-11-11 | 东方网力科技股份有限公司 | 分布式计算资源分配系统和任务处理方法 |
CN108228366A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 一种数据流的处理方法和装置 |
CN108259374A (zh) * | 2017-08-24 | 2018-07-06 | 新华三信息安全技术有限公司 | 一种多核处理器及报文处理方法 |
CN108897622A (zh) * | 2018-06-29 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种任务运行的调度方法以及相关装置 |
CN109298920A (zh) * | 2018-08-28 | 2019-02-01 | 西安工业大学 | 基于准划分思想的混合关键任务调度方法 |
CN109450816A (zh) * | 2018-11-19 | 2019-03-08 | 迈普通信技术股份有限公司 | 一种队列调度方法、装置、网络设备及存储介质 |
CN110955501A (zh) * | 2018-09-27 | 2020-04-03 | 北京京东尚科信息技术有限公司 | 服务请求处理方法、装置、电子设备及可读介质 |
-
2021
- 2021-03-29 CN CN202110336940.8A patent/CN113176940A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010049693A1 (en) * | 1999-01-04 | 2001-12-06 | Robert C. Pratt | Mapping binary objects in extended relational database management systems with relational registry |
CN104734993A (zh) * | 2013-12-24 | 2015-06-24 | 杭州华为数字技术有限公司 | 数据分流方法及分流器 |
WO2015141337A1 (ja) * | 2014-03-19 | 2015-09-24 | 日本電気株式会社 | 受信パケット分散方法、キュー選択器、パケット処理装置、および記録媒体 |
CN105049268A (zh) * | 2015-08-28 | 2015-11-11 | 东方网力科技股份有限公司 | 分布式计算资源分配系统和任务处理方法 |
CN108259374A (zh) * | 2017-08-24 | 2018-07-06 | 新华三信息安全技术有限公司 | 一种多核处理器及报文处理方法 |
CN108228366A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 一种数据流的处理方法和装置 |
CN108897622A (zh) * | 2018-06-29 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种任务运行的调度方法以及相关装置 |
CN109298920A (zh) * | 2018-08-28 | 2019-02-01 | 西安工业大学 | 基于准划分思想的混合关键任务调度方法 |
CN110955501A (zh) * | 2018-09-27 | 2020-04-03 | 北京京东尚科信息技术有限公司 | 服务请求处理方法、装置、电子设备及可读介质 |
CN109450816A (zh) * | 2018-11-19 | 2019-03-08 | 迈普通信技术股份有限公司 | 一种队列调度方法、装置、网络设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
栾志坤等: "云数据中心中负载均衡的虚拟机调度方法", 《计算机与现代化》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472812A (zh) * | 2021-09-01 | 2021-10-01 | 深圳鼎信通达股份有限公司 | 报文数据处理方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9438538B2 (en) | Data matching using flow based packet data storage | |
CN105245912B (zh) | 一种缓存视频数据及读取视频数据的方法及装置 | |
KR101407743B1 (ko) | 패킷 처리 장비내에서의 플로우 데이터의 저장 관리 방법 및 패킷 처리 장비 | |
US7260631B1 (en) | System and method for receiving iSCSI protocol data units | |
US7957392B2 (en) | Method and apparatus for high-performance bonding resequencing | |
EP2874116A1 (en) | Communication method between content requester and content provider for providing content and real-time streaming content in content name-based content centric network | |
CN108183893B (zh) | 一种分片包检测方法、检测装置、存储介质和电子设备 | |
US20060092934A1 (en) | System for protocol processing engine | |
US20080186973A1 (en) | Communications apparatus and frame control method | |
CN102480430B (zh) | 实现报文保序的方法和装置 | |
KR100798926B1 (ko) | 패킷 스위치 시스템에서의 패킷 포워딩 장치 및 방법 | |
US20140047188A1 (en) | Method and Multi-Core Communication Processor for Replacing Data in System Cache | |
WO2010022629A1 (zh) | 一种多链路协议分片数据的重组方法、装置及系统 | |
US11010165B2 (en) | Buffer allocation with memory-based configuration | |
US9838500B1 (en) | Network device and method for packet processing | |
CN101197786B (zh) | 缓存管理方法和缓存管理系统 | |
CN109688070A (zh) | 一种数据调度方法、网络设备及转发单元 | |
CN113176940A (zh) | 一种数据流分流方法、装置以及网络设备 | |
US20100014542A1 (en) | Network processing apparatus and processing method thereof | |
KR102524566B1 (ko) | 언더런을 방지하기 위한 패킷 메모리 시스템, 방법, 및 디바이스 | |
CN108809849B (zh) | 一种流量限速方法、装置及控制器 | |
US8351426B2 (en) | Ethernet virtualization using assisted frame correction | |
CN107959637A (zh) | 报文缓存方法及装置 | |
JP2009284028A (ja) | 受信装置及びその方法、通信システム及びその方法、送信装置及びその方法、プログラム、並びに、記録媒体 | |
CN113259274B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210727 |