CN112019431A - 一种转发规则的处理方法、装置及设备 - Google Patents

一种转发规则的处理方法、装置及设备 Download PDF

Info

Publication number
CN112019431A
CN112019431A CN201910459328.2A CN201910459328A CN112019431A CN 112019431 A CN112019431 A CN 112019431A CN 201910459328 A CN201910459328 A CN 201910459328A CN 112019431 A CN112019431 A CN 112019431A
Authority
CN
China
Prior art keywords
forwarding rule
forwarding
target
rule
traversal
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
Application number
CN201910459328.2A
Other languages
English (en)
Other versions
CN112019431B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910459328.2A priority Critical patent/CN112019431B/zh
Publication of CN112019431A publication Critical patent/CN112019431A/zh
Application granted granted Critical
Publication of CN112019431B publication Critical patent/CN112019431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本说明书实施例公开了一种转发规则的处理方法、装置及设备,所述转发规则的处理方法包括:获取目标转发规则对应的流量信息,基于所述目标转发规则对应的流量信息,确定是否将所述目标转发规则下发到网卡设备。

Description

一种转发规则的处理方法、装置及设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种转发规则的处理方法、装置及设备。
背景技术
随着网络技术的不断发展,用户对网络性能的要求越来越高,而现有的虚拟交换机的转发性能已经渐渐无法满足要求。
通常,为了实现虚拟交换机(Vswitch)的数据转发,可以通过多种方式实现。此外,硬件技术发展迅速,当前很多网卡设备可以支持虚拟交换机下发转发规则。因此,将虚拟交换机的转发规则下发到网卡设备等硬件设备后,可以大大提高数据的转发性能。
然而,如何将转发规则以更稳定、资源消耗更少的方式下发到网卡设备成为当前亟待解决的重要问题,为此,需要提供一种更稳定、资源消耗更少的转发规则下发方案,以使虚拟交换机中的转发规则可以下发到网卡设备中,以实现硬件加速。
发明内容
本说明书实施例的目的是提供一种转发规则的处理方法、装置及设备,以提供一种更稳定、资源消耗更少的转发规则下发方案,以使虚拟交换机中的转发规则可以下发到网卡设备中,以实现硬件加速。
为了实现上述技术方案,本说明书实施例是这样实现的:
本说明书实施例提供的一种转发规则的处理方法,所述方法包括:
获取目标转发规则对应的流量信息;
基于所述目标转发规则对应的流量信息,确定是否将所述目标转发规则下发到网卡设备。
可选地,所述获取目标转发规则对应的流量信息,包括:
获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量;
根据所述数据流量和所述上一次转发规则遍历过程中遍历到所述目标转发规则的时间,确定所述目标转发规则对应的流量信息。
可选地,所述方法还包括:
获取所述目标转发规则;
向所述目标转发规则中设置预定字段的信息,所述预定字段的信息用于记录上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量。
可选地,所述获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所经过的数据流量之后,所述方法还包括:
记录本次转发规则遍历过程中遍历到目标转发规则的时间,并将记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量设置为0。
可选地,所述目标转发规则为待遍历的转发规则中的任一转发规则,且所述待遍历的转发规则的数量不大于第一预定数量,所述第一预定数量为在遍历第一预定数量的转发规则时能够使得数据流量抖动的数量。
可选地,所述基于所述目标转发规则对应的流量信息,确定是否将所述目标转发规则下发到网卡设备,包括:
基于所述目标转发规则对应的流量信息和预定转发规则集合中包含的转发规则的流量信息,确定是否将所述目标转发规则下发到网卡设备,所述转发规则集合中包含已下发到所述网卡设备的转发规则。
可选地,所述方法还包括:
如果确定将所述目标转发规则下发到所述网卡设备,则将所述目标转发规则加入所述预定转发规则集合,在所述待遍历的转发规则遍历完成后,将所述转发规则集合中包含的未下发到所述网卡设备的转发规则下发到所述网卡设备。
可选地,所述基于所述目标转发规则对应的流量信息和预定转发规则集合中包含的转发规则的流量信息,确定是否将所述目标转发规则下发到网卡设备,包括:
如果所述预定转发规则集合中包含的转发规则数量不小于第二预定数量,且所述预定转发规则集合中包含流量信息小于所述目标转发规则对应的流量信息的转发规则,则从所述预定转发规则集合中删除流量信息小于所述目标转发规则对应的流量信息的转发规则,并确定将所述目标转发规则下发到网卡设备;
如果所述待遍历的转发规则的数量不大于第一预定数量,且所述预定转发规则集合中包含的转发规则数量小于第二预定数量,则确定将所述目标转发规则下发到网卡设备。
可选地,所述如果所述预定转发规则集合中包含的转发规则数量不小于第二预定数量,且所述预定转发规则集合中包含流量信息小于所述目标转发规则对应的流量信息的转发规则,则从所述预定转发规则集合中删除流量信息小于所述目标转发规则对应的流量信息的转发规则,包括:
如果所述预定转发规则集合中包含的转发规则数量不小于第二预定数量,则从所述预定转发规则集合中删除流量信息最小,且流量信息小于所述目标转发规则对应的流量信息的转发规则。
可选地,所述第二预定数量不大于所述网卡设备容纳转发规则的最大下发数量。
可选地,所述如果所述预定转发规则集合中包含的转发规则数量不小于第二预定数量,且所述预定转发规则集合中包含流量信息小于所述目标转发规则对应的流量信息的转发规则,则从所述预定转发规则集合中删除流量信息小于所述目标转发规则对应的流量信息的转发规则之后,所述方法还包括:
如果所述预定转发规则集合中的第一转发规则已被下发到所述网卡设备,则触发所述网卡设备对所述第一转发规则的删除操作,并将所述第一转发规则设置为未被下发状态,其中,所述第一转发规则为流量信息小于所述目标转发规则对应的流量信息的转发规则。
可选地,所述获取预先记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量,包括:
如果所述目标转发规则对应的流量记录方式为分组数据包方式,则获取预先记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内发送的分组数据包的数量;
如果所述目标转发规则对应的流量记录方式为带宽方式,则获取预先记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内的字节数量。
本说明书实施例提供的一种转发规则的处理装置,所述装置包括:
流量信息获取模块,用于获取目标转发规则对应的流量信息;
规则下发确定模块,用于基于所述目标转发规则对应的流量信息,确定是否将所述目标转发规则下发到网卡设备。
可选地,所述流量信息获取模块,包括:
数据获取单元,用于获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量;
流量信息确定单元,用于根据所述数据流量和所述上一次转发规则遍历过程中遍历到所述目标转发规则的时间,确定所述目标转发规则对应的流量信息。
可选地,所述装置还包括:
规则获取模块,用于获取所述目标转发规则;
字段设置模块,用于向所述目标转发规则中设置预定字段的信息,所述预定字段的信息用于记录上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量。
可选地,所述目标转发规则为待遍历的转发规则中的任一转发规则,且所述待遍历的转发规则的数量不大于第一预定数量,所述第一预定数量为在遍历第一预定数量的转发规则时能够使得数据流量抖动的数量。
可选地,所述规则下发确定模块,用于基于所述目标转发规则对应的流量信息和预定转发规则集合中包含的转发规则的流量信息,确定是否将所述目标转发规则下发到网卡设备,所述转发规则集合中包含已下发到所述网卡设备的转发规则。
可选地,所述装置还包括:
下发模块,用于如果确定将所述目标转发规则下发到所述网卡设备,则将所述目标转发规则加入所述预定转发规则集合,在所述待遍历的转发规则遍历完成后,将所述转发规则集合中包含的未下发到所述网卡设备的转发规则下发到所述网卡设备。
本说明书实施例提供的一种转发规则的处理设备,所述转发规则的处理设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取目标转发规则对应的流量信息;
基于所述目标转发规则对应的流量信息,确定是否将所述目标转发规则下发到网卡设备。
由以上本说明书实施例提供的技术方案可见,本说明书实施例通过获取目标转发规则对应的流量信息,然后,基于目标转发规则对应的流量信息,确定是否将目标转发规则下发到网卡设备,这样,仅通过目标转发规则对应的流量信息,即可确定目标转发规则是否下发到网卡设备,从而使得转发规则的下发更加简单易行,转发规则的下发的稳定性更好,CPU和内存等需要消耗的资源较少,而且,流量信息较大的转发规则通常是被使用次数较多的转发规则,可以将流量信息较大的转发规则下发给网卡设备进行硬件加速,符合转发规则的下发规律。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一种转发规则的处理方法实施例;
图2为本说明书另一种转发规则的处理方法实施例;
图3为本说明书一种转发规则的处理系统的结构示意图;
图4为本说明书又一种转发规则的处理方法实施例;
图5为本说明书一种转发规则的处理装置实施例;
图6为本说明书一种转发规则的处理设备实施例。
具体实施方式
本说明书实施例提供一种转发规则的处理方法、装置及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
实施例一
如图1所示,本说明书实施例提供一种转发规则的处理方法,该方法的执行主体可以为虚拟交换机,其中,该虚拟交换机可以设置于终端设备或服务器中等,其中的终端设备可以如个人计算机等设备,也可以如手机、平板电脑等移动终端设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某项业务的后台服务器,也可以是某网站(如购物网站或支付应用等)的后台服务器等。该方法可以用于选取下发到网卡进行硬件加速的转发规则等处理中。该方法具体可以包括以下步骤:
在步骤S102中,获取目标转发规则对应的流量信息。
其中,目标转发规则可以是未下发到网卡的任意转发规则,目标转发规则可以用于对某数据的转发过程进行限定或控制的规则。流量信息可以是单位时间内所对应数据流量的大小,其中的对应数据流量可以表示发送的、转发的或流经的数据流量等,数据流量可以通过分组数据包数量或字节数量来量度,流量信息具体如每秒钟发送10个分组数据包或1秒钟50个字节等,本说明书实施例对此不做限定。
在实施中,随着网络技术的不断发展,用户对网络性能的要求越来越高,而现有的虚拟交换机的转发性能已经渐渐无法满足要求。通常,为了实现虚拟交换机(Vswitch)的数据转发,可以通过多种方式实现,例如,虚拟交换机可以通过相关虚拟交换机进行数据转发等,但是,在实际应用中上述数据转发方式会消耗虚拟交换机的CPU资源,尤其是在短时间内进行大量数据转发的过程中,虚拟交换机的资源消耗较大。除了可以通过上述方式进行数据转发外,还可以通过其它转发方式进行数据转发,例如,为了实现虚拟交换机(Vswitch)的高性能转发,可以将虚拟交换机的转发逻辑下沉到网卡设备进行硬件加速(Offload),通过网卡设备可编程资源实现高性能转发。
此外,硬件技术发展迅速,当前很多网卡设备可以支持虚拟交换机下发转发规则。因此,将虚拟交换机的转发规则下发到网卡设备等硬件设备后,可以大大提高数据的转发性能,但网卡设备等硬件设备的资源十分有限,通常可能无法将虚拟交换机的所有转发规则都下发到网卡设备,为了最大限度的利用网卡设备的能力,需要将流量较大的转发规则下发到网卡设备。
为此,可以通过下述方式实现上述处理过程:具体可分为两个阶段,第一阶段:检查当前网卡设备是否还可以接收下发的转发规则,如果还可以接收,则可以遍历所有未下发到网卡设备的转发规则,并对每个未下发到网卡设备的转发规则尝试将其下发到网卡设备,如果上述转发规则全部下发到网卡设备,则本处理周期结束,否则,进入第二阶段;第二阶段:比较已经下发到网卡设备的转发规则的pps(packets per second,每秒发送分组数据包的数量)数值,获取其中pps数值最小的转发规则(可以记为转发规则1),可以将其与未下发到网卡设备的转发规则中pps数值最大的转发规则(可以记为转发规则2)进行比较,如果转发规则2的pps数值大于转发规则1的pps数值,则可以删除网卡设备上的转发规则1,并可以将转发规则1添加到Kernel(或虚拟交换机),同时可以将转发规则2下发到网卡设备,上述处理过程一直持续到所有已经下发到网卡设备的转发规则的pps数值大于未下发到网卡设备的转发规则的pps数值为止,以处理周期进行下一轮。
然而,通过上述方式,首先需要频繁的对虚拟交换机的所有转发规则按照pps数值的大小进行排序,这样会使得CPU的损耗非常大,当转发规则达到百万级以上,频繁的对转发规则进行排序会导致CPU负载过高。此外,虚拟交换机不是直接读取转发规则进行pps数值计算和分析的,而是需要额外的数据结构定期同步转发规则,当转发规则达到百万级以上,其内存开销也非常巨大。另外,虚拟交换机每次都需要遍历全部的转发规则来进行pps数值的计算和分析,并且调整转发规则下发或删除已下发的转发规则等,这样,容易造成流量抖动。最后,通常,虚拟交换机当前只支持通过pps数值进行流量选择,而不支持其他方式,例如按照带宽进行流量选择等。本说明书实施例还提供一种从虚拟交换机中选取部分转发规则,并将其下发到网卡设备进行硬件加速的方案,具体可以包括以下内容:
可以通过多种方式获取目标转发规则对应的流量信息,例如,可以预先设置遍历周期,该遍历周期可以设置有固定的时长,具体如30分钟或10分钟等,该遍历周期内可以对虚拟交换机中的转发规则进行遍历,以确定是否将其中的转发规则下发到网卡设备。每当达到该遍历周期时,可以通过预定的数据流量计算机制,计算在上一遍历周期内目标转发规则对应的数据流量,具体可以如计算在上一遍历周期内针对目标转发规则所发送的分组数据包的数量,和/或,在上一遍历周期内,针对目标转发规则所转发的数据的字节数量等。然后,基于上述计算的数据流量和遍历周期,计算相应的流量信息(即使用计算的数据流量除以遍历周期即可以得到相应的流量信息)。
再例如,可以预先设定流量信息的获取机制,通过该流量信息的获取机制,可以获取每一个转发规则对应的流量信息。在对虚拟交换机中的转发规则进行遍历的过程中,当遍历到目标转发规则时,可以直接获取目标转发规则对应的流量信息。
又例如,可以预先设定遍历时间和流量数据的记录机制,这样,在遍历转发规则的过程中,每当遍历到目标转发规则时,可以记录当前的时间,并可以将其作为遍历时间。然后,可以记录在本次遍历目标转发规则开始到下一次遍历目标转发规则时的时间段内所对应的数据流量,当下一次遍历到目标转发规则时,可以记录的上述信息计算相应的流量信息等。
需要说明的是,上述获取目标转发规则对应的流量信息的处理方式仅是可实现的三种方式,在实际应用中,还可以包括多种处理方式,具体可以根据实际情况设定,本说明书实施例在此不再赘述。
在步骤S104中,基于目标转发规则对应的流量信息,确定是否将目标转发规则下发到网卡设备。
在实施中,可以预先设定流量阈值,该流量阈值可以根据经验值等确定,流量阈值可以根据转发规则的不同而不同,即可以为不同的转发规则分别设置不同的流量阈值。当获取到目标转发规则对应的流量信息后,可以将该流量信息与上述流量阈值进行比较,如果流量信息中包含的数值大于该流量阈值,则可以确定将目标转发规则下发到网卡设备,否则,不将目标转发规则下发到网卡设备。
除了可以通过上述处理方式确定是否将目标转发规则下发到网卡设备外,还可以多种实现方式,例如,可以将目标转发规则对应的流量信息分别与已下发到网卡设备的转发规则对应的流量信息进行比较,如果已下发到网卡设备的所有转发规则对应的流量信息均大于目标转发规则对应的流量信息,且网卡设备中转发规则的数量已达到网卡设备的最大容纳数量,则不将目标转发规则下发到网卡设备,如果已下发到网卡设备的转发规则中存在流量信息小于目标转发规则对应的流量信息的转发规则,则确定将目标转发规则下发到网卡设备。如果网卡设备中转发规则的数量未达到网卡设备的最大容纳数量,则确定将目标转发规则下发到网卡设备等。
需要说明的是,上述确定是否将所述目标转发规则下发到网卡设备的处理方式仅是可实现的两种方式,在实际应用中,还可以包括多种处理方式,具体可以根据实际情况设定,本说明书实施例在此不再赘述。
本说明书实施例提供一种转发规则的处理方法,通过获取目标转发规则对应的流量信息,然后,基于目标转发规则对应的流量信息,确定是否将目标转发规则下发到网卡设备,这样,仅通过目标转发规则对应的流量信息,即可确定目标转发规则是否下发到网卡设备,从而使得转发规则的下发更加简单易行,转发规则的下发的稳定性更好,CPU和内存等需要消耗的资源较少,而且,流量信息较大的转发规则通常是被使用次数较多的转发规则,可以将流量信息较大的转发规则下发给网卡设备进行硬件加速,符合转发规则的下发规律。
实施例二
基于上述实施例一的技术方案,本实施例再提供一种可实现的处理方式,如图2所示,本说明书实施例提供一种转发规则的处理方法,该方法的执行主体可以为虚拟交换机,其中,该虚拟交换机可以设置于终端设备或服务器中等,其中的终端设备可以如个人计算机等设备,也可以如手机、平板电脑等移动终端设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某项业务的后台服务器,也可以是某网站(如购物网站或支付应用等)的后台服务器等。该方法可以用于选取下发到网卡进行硬件加速的转发规则等处理中。该方法具体可以包括以下步骤:
在步骤S202中,获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到目标转发规则的检测到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量,目标转发规则为待遍历的转发规则中的任一转发规则,且待遍历的转发规则的数量不大于第一预定数量,第一预定数量为在遍历第一预定数量的转发规则时能够使得数据流量抖动的数量。
其中,第一预定数量可以根据实际情况进行设定,具体如虚拟交换机中可以包括400万条转发规则,可以设定第一预定数量为1万,则可以从400万条转发规则中,选取1万条转发规则等,选择的1万条转发规则即可以作为待遍历的转发规则等。
在实施中,为了减少虚拟交换机的CPU损耗和内存开销,可以为每一个转发规则设置数据记录机制,这样,可以记录每次遍历转发规则的过程中各个转发规则被遍历到的时间和相邻两次遍历转发规则的时间段内同一转发规则对应的数据流量。每当需要选取转发规则进行下发时,可以基于上述数据记录机制获取其中记录的数据,其中的数据可以如上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量等。其中,为转发规则设置数据记录机制可以通过多种方式实现,具体可以根据实际情况设定,本说明书实施例对此不做限定。
此外,为了进一步减轻虚拟交换机的CPU损耗和内存开销,可以从虚拟交换机中选择部分转发规则(即待遍历的转发规则)进行处理,其中,选择的转发规则的数量可以依据虚拟交换机的CPU损耗情况、转发规则的遍历时间等因素确定,例如,虚拟交换机中包括100万个转发规则,可以从中选择1万个转发规则进行处理。由于待遍历的转发规则仅是虚拟交换机中的小部分转发规则,因此,可以大大减少处理时间和CPU的损耗。在实际应用中,可以为待遍历的转发规则的数量设置上限值,即第一预定数量。
通过上述处理方式确定待遍历的转发规则后,可以遍历每一个转发规则,并可以对每一个转发规则执行下述处理:针对其中的任意一个转发规则(即目标转发规则),可以获取目标转化规则通过数据记录机制记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量等。
需要说明的是,可以基于数据转发路径,对每个转发规则中的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量进行更新,可以对于不同数据统计方式的转发规则分别进行不同的统计计算方式,例如,如果目标转发规则对应的流量记录方式为分组数据包方式,则获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内发送的分组数据包的数量;如果目标转发规则对应的流量记录方式为带宽方式,则获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内的字节数量等,本说明书实施例对此不做限定。
在步骤S204中,根据上述数据流量和上述上一次转发规则遍历过程中遍历到目标转发规则的时间,确定目标转发规则对应的流量信息。
在实施中,通过上述步骤S202的处理得到上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量后,可以计算上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则之间的时长,然后,可以基于计算得到的时长和上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量,计算目标转发规则对应的流量信息,即可以使用上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量除以上述计算得到的时长,得到的数值即可以为目标转发规则对应的流量信息。
需要说明的是,如果上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量是以分组数据包的数量表征,则目标转发规则对应的流量信息可以是单位时间内的分组数据包数值,如果上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量是以带宽来表征,则目标转发规则对应的流量信息可以是单位时间内的字节数量等。
在步骤S206中,基于目标转发规则对应的流量信息和预定转发规则集合中包含的转发规则的流量信息,确定是否将目标转发规则下发到网卡设备,该转发规则集合中包含已下发到网卡设备的转发规则。
其中,预定转发规则集合可以用于记录已下发的转发规则的信息,还可以记录如即将下发到网卡设备的转发规则的信息等,在实际应用中,为了简化处理,可以为转发规则集合创建一个链表,该链表可以是记录已下发的转发规则的信息,还可以记录如即将下发到网卡设备的转发规则的信息等的表格,转发规则集合可以容纳固定数量的转发规则的信息,即该链表可以是一个固定大小的链表,即若硬件设备(如网卡设备等)能够被下发的转发规则的最大个数为N(其中N为大于或等于1的整数),则该链表可以最多容纳N个转发规则的相关信息。该链表可以以(转发规则的标识,流量信息(如pps/bps))方式呈现,具体可以参见下述表1。
表1
转发规则的表1 流量信息
A1 148Kpps
C2 100Mbps
B1 80Mbps
在实施中,可以比较转发规则集合(或上述链表)中记录的转发规则的流量信息,可以根据比较结果对转发规则进行排序,可以将该链表中流量信息最小的转发规则与目标转发规则进行比较,如果目标转发规则对应的流量信息大于该链表中的流量信息最小值,则可以确定将目标转发规则下发到网卡设备。如果目标转发规则对应的流量信息大于该链表中的流量信息最小值,则可以舍弃目标转发规则,此时可以不将目标转发规则下发到网卡设备。如果该链表中记录的转发规则还未达到最大个数,则可以确定将目标转发规则下发到网卡设备。
需要说明的是,上述步骤S206的处理方式仅是一种可选的处理方式,在实际应用中还可以包括多种不同的处理方式,具体可以根据实际情况确定,本说明书实施例在此不再赘述。
在步骤S208中,如果确定将目标转发规则下发到网卡设备,则将目标转发规则加入预定转发规则集合,在待遍历的转发规则遍历完成后,将转发规则集合中包含的未下发到网卡设备的转发规则下发到网卡设备。
在实施中,如图3所示,如果目标转发规则对应的流量信息大于该链表中的流量信息最小值,则确定将目标转发规则下发到网卡设备,此时,可以使用目标转发规则替换该链表中流量信息最小值对应的转发规则,即可以将预定链表中流量信息最小值对应的转发规则删除或移除,将目标转发规则加入到该链表中。其中,如果该链表中流量信息最小值对应的转发规则已经被下发到网卡设备,则可以将该转发规则从网卡设备中删除,并将目标转发规则加入到该链表中。如果该链表中记录的转发规则已经达到最大个数,则可以执行上述替换处理,如果该链表中记录的转发规则还未达到最大个数,则还可以不执行上述比较和替换过程,而是直接将目标转发规则加入到该链表中,以准备后续将目标转发规则下发到网卡设备中。
在待遍历的转发规则遍历完成后,可以对预定转发规则集合(或链表)中包含的转发规则进行检测,可以将还未下发到网卡设备的转发规则下发到网卡设备,进而可以通过下发的转发规则达到硬件加速的目的。
本说明书实施例提供一种转发规则的处理方法,通过获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量,目标转发规则为待遍历的转发规则中的任一转发规则,且待遍历的转发规则的数量不大于第一预定数量,然后,根据该数据流量和上一次转发规则遍历过程中遍历到目标转发规则的时间,确定目标转发规则对应的流量信息,基于目标转发规则对应的流量信息和预定转发规则集合中包含的转发规则的流量信息,确定是否将目标转发规则下发到网卡设备,该转发规则集合中包含已下发到网卡设备的转发规则,如果确定将目标转发规则下发到网卡设备,则将目标转发规则加入预定转发规则集合,在待遍历的转发规则遍历完成后,将转发规则集合中包含的未下发到网卡设备的转发规则下发到网卡设备,这样,每次只遍历虚拟交换机包含的转发规则中的一部分转发规则,所以同一个转发规则即使其对应的流量信息发生变化,也不会被频繁的进行遍历处理而产生转发规则下发切换的抖动,而且,每次只遍历不大于第一预定数量的发规则,而不是全部的转发规则,从而可以避免待处理的转发规则数量过多而导致遍历时间过长、CPU和内存需要消耗的资源较大等问题的出现,而且,流量信息较大的转发规则通常是被使用次数较多的转发规则,可以将流量信息较大的转发规则下发给网卡设备进行硬件加速,符合转发规则的下发规律。
实施例三
基于上述实施例一和实施例二的技术方案,本实施例再提供一种更加具体的处理方式,如图4所示,本说明书实施例提供一种转发规则的处理方法,该方法的执行主体可以为虚拟交换机,其中,该虚拟交换机可以设置于终端设备或服务器中等,其中的终端设备可以如个人计算机等设备,也可以如手机、平板电脑等移动终端设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某项业务的后台服务器,也可以是某网站(如购物网站或支付应用等)的后台服务器等。该方法可以用于选取下发到网卡进行硬件加速的转发规则等处理中。该方法具体可以包括以下步骤:
在步骤S402中,从待下发到网卡设备的转发规则中选取数量不大于第一预定数量的转发规则作为待遍历的转发规则。
其中,第一预定数量为在遍历第一预定数量的转发规则时能够使得数据流量抖动的数量,第一预定数量可以根据实际情况设定,例如,虚拟交换机中包括500万个转发规则,则第一预定数量可以为1万或2万等,本说明书实施例对此不做限定。
在实施中,为了减轻虚拟交换机的CPU压力和内存开销,可以从虚拟交换机中选取一定数量的转发规则,并遍历选取的转发规则,以将其下发到网卡设备,具体地,可以获取虚拟交换机中包含的转发规则,可以从中确定可以下发到网卡设备的转发规则,并可以将确定的转发规则作为待下发到网卡设备的转发规则,例如,如果虚拟交换机包含的转发规则中不包含预先设定的不允许或禁止下发到网卡设备的转发规则,则可以将虚拟交换机中包含的全部转发规则作为待下发到网卡设备的转发规则,如果虚拟交换机包含的转发规则中包含预先设定的不允许或禁止下发到网卡设备的转发规则,则可以将预先设定的不允许或禁止下发到网卡设备的转发规则从获取的转发规则中移除,然后,可以将剩余的转发规则作为待下发到网卡设备的转发规则等。可以比较待下发到网卡设备的转发规则的数量与第一预定数量,如果待下发到网卡设备的转发规则的数量小于第一预定数量,则可以将待下发到网卡设备的转发规则作为待遍历的转发规则,如果待下发到网卡设备的转发规则的数量大于或等于第一预定数量,则可以从待下发到网卡设备的转发规则中选择不大于第一预定数量的转发规则作为待遍历的转发规则,具体如可以从待下发到网卡设备的转发规则中选取第一预定数量的转发规则作为待遍历的转发规则等。
在步骤S404中,从待遍历的转发规则中获取目标转发规则。
其中,目标转发规则可以是上述待遍历的转发规则中的任一个转发规则。
在实施中,通过上述步骤S402的处理,得到待遍历的转发规则后,可以从待遍历的转发规则中随机选择一个转发规则,并可以将该选择的转发规则作为目标转发规则。
在步骤S406中,向目标转发规则中设置预定字段的信息,预定字段的信息用于记录上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量。
在实施中,考虑到数据流量越大的转发规则,相应的使用次数就会越多,该转发规则也就越常用、越需要进行硬件加速,因此,可以选取单位时间内数据流量较大的转发规则,基于此,再考虑到虚拟交换机每次遍历转发规则时,均需要计算当前转发规则在单位时间内的数据流量,为此,可以为每个转发规则设置记录数据流量相关数据的字段,通过设置的字段来确定转发规则上一次单位时间内的数据流量,具体地,可以为每个转发规则设置两个预定字段,分别用于记录上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量,其中,对应的数据流量可以表示发送的、转发的或流经的数据流量等,数据流量可以通过分组数据包数量或字节数量来量度等。另外,用于记录上一次转发规则遍历过程中遍历到目标转发规则的时间的预定字段的信息可以为:uint64_t last_check_timestamp;用于记录上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量的预定字段的信息可以为:uint32_t flow_packets,上一次转发规则遍历过程中遍历到目标转发规则的时间的预定字段的信息可以占用8byte空间,上述数据流量的预定字段的信息可以占用4byte空间,这样,即使虚拟交换机中包括500万个转移规则,500万个转发规则的上述字段的信息也只占用60MB的空间,大大减少了内存开销。
在实际应用中,可以向目标转发规则设置上述两个预定字段的信息,通过上述两个预定字段的信息,可以记录上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量。
在步骤S408中,获取目标转发规则中记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量。
在实际应用中,上述步骤S408的具体处理方式可以多种多样,以下提供两种可选的实现方式,具体可以包括以下方式一和方式二:
方式一,如果目标转发规则对应的流量记录方式为分组数据包方式,则获取目标转发规则中记录的上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内发送的分组数据包的数量。
在实施中,转发规则可以对应有多种流量监测方式或多种流量记录方式,如分组数据包方式和带宽方式等,不同的流量监测方式或流量记录方式,记录的上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量的数值可以不同,其中,分组数据包方式可以表示上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内发送的分组数据包的数量。因此,如果目标转发规则对应的流量记录方式为分组数据包方式,则可以获取目标转发规则中记录的上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内发送的分组数据包的数量,并可以将获取的分组数据包的数量作为上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量。
方式二,如果目标转发规则对应的流量记录方式为带宽方式,则获取目标转发规则中记录的上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内的字节数量。
在实施中,如果目标转发规则对应的流量记录方式为带宽方式,则可以获取目标转发规则中记录的上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内的字节数量,并可以将获取的字节数量作为上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则检测的时间段内所对应的数据流量。
需要说明的是,在读取目标转发规则中的上一次转发规则遍历过程中遍历到目标转发规则的时间和上述数据流量后,可以将目标转发规则中记录的相关数据(即上述数据流量)设置为0(可以参见下述步骤S410的处理,在实际应用中,也可以将上述记录的时间设置为0等),以便后续继续记录本次转发规则遍历过程中遍历到目标转发规则的时间和本次转发规则遍历过程中遍历到目标转发规则到下一次转发规则遍历过程中遍历到目标转发规则检测的时间段内所对应的数据流量。
在步骤S410中,记录本次转发规则遍历过程中遍历到目标转发规则的时间,并将记录的上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量设置为0。
需要说明的是,在读取目标转发规则中的上一次转发规则遍历过程中遍历到目标转发规则的时间和上述数据流量后,可以使用本次转发规则遍历过程中遍历到目标转发规则的时间替换记录的上一次转发规则遍历过程中遍历到目标转发规则的时间。此外,还可以在读取目标转发规则中的上一次转发规则遍历过程中遍历到目标转发规则的时间和上述数据流量后,先将目标转发规则中记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量设置为0,然后,重新向转发规则中记录相应的时间(即本次转发规则遍历过程中遍历到目标转发规则的时间)和数据流量。
在步骤S412中,根据上述数据流量和上一次转发规则遍历过程中遍历到目标转发规则的时间,确定目标转发规则对应的流量信息。
上述步骤S412的具体处理过程可以参见上述实施例一中步骤S204中的相关内容,在此不再赘述。
在步骤S414中,如果预定转发规则集合中包含的转发规则数量不小于第二预定数量,且预定转发规则集合中包含流量信息小于目标转发规则对应的流量信息的转发规则,则从预定转发规则集合中删除流量信息小于目标转发规则对应的流量信息的转发规则,并确定将目标转发规则下发到网卡设备。
其中,第二预定数量不大于网卡设备容纳转发规则的最大下发数量,例如,网卡设备所能够容纳转发规则的最大数量可以是100万,则第二预定数量可以是小于或等于100万的任意数值,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在实施中,可以先检测预定转发规则集合(或基于预定转发规则集合创建的链表)中是否还能够继续添加转发规则,即可以比较预定转发规则集合(或该链表)中包含的转发规则数量与第二预定数量的大小关系,如果预定转发规则集合(或链表,以下以链表说明)中包含的转发规则数量大于或等于第二预定数量(或预定链表中包含的转发规则数量达到第二预定数量),则可以认为预定链表中已无法再继续添加转发规则,此时,可以检测预定链表中是否包含可以删除或替换的转发规则,为此,可以将目标转发规则对应的流量信息与预定链表中的转发规则对应的流量信息进行比较,可以将流量信息小于目标转发规则对应的流量信息的转发规则删除,并确定将目标转发规则下发到网卡设备。
上述步骤S414的处理方式可以多种多样,以下还提供一种可选的处理方式,具体可以包括以下内容:如果预定转发规则集合中包含的转发规则数量不小于第二预定数量,则从预定转发规则集合中删除流量信息最小,且流量信息小于目标转发规则对应的流量信息的转发规则,并确定将目标转发规则下发到网卡设备。
在实施中,如果预定链表中包含的转发规则数量不小于第二预定数量,则可以比较预定链表中记录的转发规则的流量信息,可以根据比较结果对转发规则进行排序,可以将预定链表中流量信息最小的转发规则与目标转发规则进行比较,如果目标转发规则对应的流量信息大于预定链表中的流量信息最小值,则可以使用目标转发规则替换预定链表中流量信息最小值对应的转发规则,即可以将预定链表中流量信息最小值对应的转发规则删除或移除,并确定将目标转发规则下发到网卡设备。如果目标转发规则对应的流量信息小于预定链表中的流量信息最小值,则可以舍弃目标转发规则,此时可以遍历后续的转发规则执行上述处理过程。
在步骤S416中,如果预定转发规则集合中的第一转发规则已被下发到网卡设备,则触发对第一转发规则的删除操作,并将第一转发规则设置为未被下发状态,其中,第一转发规则为流量信息小于目标转发规则对应的流量信息的转发规则。
在实施中,如果预定链表中流量信息小于目标转发规则对应的流量信息的转发规则(即第一转发规则)已被下发到网卡设备,则由于第一转发规则的流量信息较小,因此,可以触发网卡设备删除第一转发规则,并可以将第一转发规则设置为未被下发状态,后续处理中,还可以从预定链表中选取流量信息最大的转发规则下发到网卡设备。
在步骤S418中,如果待遍历的转发规则的数量不大于第一预定数量,且预定转发规则集合中包含的转发规则数量小于第二预定数量,则确定将目标转发规则下发到网卡设备。
在实施中,如果待遍历的转发规则的数量不大于第一预定数量,且预定链表中包含的规则数量小于第二预定数量,则表明预定链表中还可以再继续添加转发规则,此时,可以直接将转发规则加入预定链表中,而不需要进行如上述步骤S414和S416中的删除转发规则等操作。
在步骤S420中,如果确定将目标转发规则下发到网卡设备,则将目标转发规则加入预定转发规则集合,在待遍历的转发规则遍历完成后,将转发规则集合中包含的未下发到网卡设备的转发规则下发到网卡设备。
上述步骤S420的具体处理过程可以参见上述实施例一中步骤S208中的相关内容,在此不再赘述。
本说明书实施例提供一种转发规则的处理方法,通过获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量,目标转发规则为待遍历的转发规则中的任一转发规则,且待遍历的转发规则的数量不大于第一预定数量,然后,根据该数据流量和上一次转发规则遍历过程中遍历到目标转发规则的时间,确定目标转发规则对应的流量信息,基于目标转发规则对应的流量信息和预定转发规则集合中包含的转发规则的流量信息,确定是否将目标转发规则下发到网卡设备,该转发规则集合中包含已下发到网卡设备的转发规则,如果确定将目标转发规则下发到网卡设备,则将目标转发规则加入预定转发规则集合,在待遍历的转发规则遍历完成后,将转发规则集合中包含的未下发到网卡设备的转发规则下发到网卡设备,这样,每次只遍历虚拟交换机包含的转发规则中的一部分转发规则,所以同一个转发规则即使其对应的流量信息发生变化,也不会被频繁的进行遍历处理而产生转发规则下发切换的抖动,而且,每次只遍历不大于第一预定数量的发规则,而不是全部的转发规则,从而可以避免待处理的转发规则数量过多而导致遍历时间过长、CPU和内存需要消耗的资源较大等问题的出现,而且,流量信息较大的转发规则通常是被使用次数较多的转发规则,可以将流量信息较大的转发规则下发给网卡设备进行硬件加速,符合转发规则的下发规律。
实施例四
以上为本说明书实施例提供的转发规则的处理方法,基于同样的思路,本说明书实施例还提供一种转发规则的处理装置,如图5所示。
该转发规则的处理装置包括:流量信息获取模块501和规则下发确定模块502,其中:
流量信息获取模块501,用于获取目标转发规则对应的流量信息;
规则下发确定模块502,用于基于所述目标转发规则对应的流量信息,确定是否将所述目标转发规则下发到网卡设备。
本说明书实施例中,所述流量信息获取模块501,包括:
数据获取单元,用于获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量;
流量信息确定单元,用于根据所述数据流量和所述上一次转发规则遍历过程中遍历到所述目标转发规则的时间,确定所述目标转发规则对应的流量信息。
本说明书实施例中,所述装置还包括:
规则获取模块,用于获取所述目标转发规则;
字段设置模块,用于向所述目标转发规则中设置预定字段的信息,所述预定字段的信息用于记录上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量。
本说明书实施例中,所述装置还包括:
设置模块,用于记录本次转发规则遍历过程中遍历到目标转发规则的时间,并将记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量设置为0。
本说明书实施例中,所述目标转发规则为待遍历的转发规则中的任一转发规则,且所述待遍历的转发规则的数量不大于第一预定数量,所述第一预定数量为在遍历第一预定数量的转发规则时能够使得数据流量抖动的数量。
本说明书实施例中,所述规则下发确定模块502,用于基于所述目标转发规则对应的流量信息和预定转发规则集合中包含的转发规则的流量信息,确定是否将所述目标转发规则下发到网卡设备,所述转发规则集合中包含已下发到所述网卡设备的转发规则。
本说明书实施例中,所述装置还包括:
下发模块,用于如果确定将所述目标转发规则下发到所述网卡设备,则将所述目标转发规则加入所述预定转发规则集合,在所述待遍历的转发规则遍历完成后,将所述转发规则集合中包含的未下发到所述网卡设备的转发规则下发到所述网卡设备。
本说明书实施例中,所述规则下发确定模块502,包括:
第一规则确定单元,用于如果所述预定转发规则集合中包含的转发规则数量不小于第二预定数量,且所述预定转发规则集合中包含流量信息小于所述目标转发规则对应的流量信息的转发规则,则从所述预定转发规则集合中删除流量信息小于所述目标转发规则对应的流量信息的转发规则,并确定将所述目标转发规则下发到网卡设备;
第二规则确定单元,用于如果所述待遍历的转发规则的数量不大于第一预定数量,且所述预定转发规则集合中包含的转发规则数量小于第二预定数量,则确定将所述目标转发规则下发到网卡设备。
本说明书实施例中,所述第一规则确定单元,用于如果所述预定转发规则集合中包含的转发规则数量不小于第二预定数量,则从所述预定转发规则集合中删除流量信息最小,且流量信息小于所述目标转发规则对应的流量信息的转发规则。
本说明书实施例中,所述第二预定数量不大于所述网卡设备容纳转发规则的最大下发数量。
本说明书实施例中,所述装置还包括:
处理模块,用于如果所述预定转发规则集合中的第一转发规则已被下发到所述网卡设备,则触发所述网卡设备对所述第一转发规则的删除操作,并将所述第一转发规则设置为未被下发状态,其中,所述第一转发规则为流量信息小于所述目标转发规则对应的流量信息的转发规则。
本说明书实施例中,所述数据获取单元,用于如果所述目标转发规则对应的流量记录方式为分组数据包方式,则获取预先记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内发送的分组数据包的数量;如果所述目标转发规则对应的流量记录方式为带宽方式,则获取预先记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内的字节数量。
本说明书实施例提供一种转发规则的处理装置,通过获取目标转发规则对应的流量信息,然后,基于目标转发规则对应的流量信息,确定是否将目标转发规则下发到网卡设备,这样,仅通过目标转发规则对应的流量信息,即可确定目标转发规则是否下发到网卡设备,从而使得转发规则的下发更加简单易行,转发规则的下发的稳定性更好,CPU和内存等需要消耗的资源较少,而且,流量信息较大的转发规则通常是被使用次数较多的转发规则,可以将流量信息较大的转发规则下发给网卡设备进行硬件加速,符合转发规则的下发规律。
进一步地,通过获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量,目标转发规则为待遍历的转发规则中的任一转发规则,且待遍历的转发规则的数量不大于第一预定数量,然后,根据该数据流量和上一次转发规则遍历过程中遍历到目标转发规则的时间,确定目标转发规则对应的流量信息,基于目标转发规则对应的流量信息和预定转发规则集合中包含的转发规则的流量信息,确定是否将目标转发规则下发到网卡设备,该转发规则集合中包含已下发到网卡设备的转发规则,如果确定将目标转发规则下发到网卡设备,则将目标转发规则加入预定转发规则集合,在待遍历的转发规则遍历完成后,将转发规则集合中包含的未下发到网卡设备的转发规则下发到网卡设备,这样,每次只遍历虚拟交换机包含的转发规则中的一部分转发规则,所以同一个转发规则即使其对应的流量信息发生变化,也不会被频繁的进行遍历处理而产生转发规则下发切换的抖动,而且,每次只遍历不大于第一预定数量的发规则,而不是全部的转发规则,从而可以避免待处理的转发规则数量过多而导致遍历时间过长、CPU和内存需要消耗的资源较大等问题的出现。
实施例五
以上为本说明书实施例提供的转发规则的处理装置,基于同样的思路,本说明书实施例还提供一种转发规则的处理设备,如图6所示。
所述转发规则的处理设备可以为上述实施例提供的虚拟交换机。
转发规则的处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器601和存储器602,存储器602中可以存储有一个或一个以上存储应用程序或数据。其中,存储器602可以是短暂存储或持久存储。存储在存储器602的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对转发规则的处理设备中的一系列计算机可执行指令。更进一步地,处理器601可以设置为与存储器602通信,在转发规则的处理设备上执行存储器602中的一系列计算机可执行指令。转发规则的处理设备还可以包括一个或一个以上电源603,一个或一个以上有线或无线网络接口604,一个或一个以上输入输出接口605,一个或一个以上键盘606。
具体在本实施例中,转发规则的处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对转发规则的处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取目标转发规则对应的流量信息;
基于所述目标转发规则对应的流量信息,确定是否将所述目标转发规则下发到网卡设备。
本说明书实施例中,所述获取目标转发规则对应的流量信息,包括:
获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量;
根据所述数据流量和所述上一次转发规则遍历过程中遍历到所述目标转发规则的时间,确定所述目标转发规则对应的流量信息。
本说明书实施例中,还包括:
获取所述目标转发规则;
向所述目标转发规则中设置预定字段的信息,所述预定字段的信息用于记录上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量。
本说明书实施例中,所述获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所经过的数据流量之后,还包括:
记录本次转发规则遍历过程中遍历到目标转发规则的时间,并将记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量设置为0。
本说明书实施例中,所述目标转发规则为待遍历的转发规则中的任一转发规则,且所述待遍历的转发规则的数量不大于第一预定数量,所述第一预定数量为在遍历第一预定数量的转发规则时能够使得数据流量抖动的数量。
本说明书实施例中,所述基于所述目标转发规则对应的流量信息,确定是否将所述目标转发规则下发到网卡设备,包括:
基于所述目标转发规则对应的流量信息和预定转发规则集合中包含的转发规则的流量信息,确定是否将所述目标转发规则下发到网卡设备,所述转发规则集合中包含已下发到所述网卡设备的转发规则。
本说明书实施例中,还包括:
如果确定将所述目标转发规则下发到所述网卡设备,则将所述目标转发规则加入所述预定转发规则集合,在所述待遍历的转发规则遍历完成后,将所述转发规则集合中包含的未下发到所述网卡设备的转发规则下发到所述网卡设备。
本说明书实施例中,所述基于所述目标转发规则对应的流量信息和预定转发规则集合中包含的转发规则的流量信息,确定是否将所述目标转发规则下发到网卡设备,包括:
如果所述预定转发规则集合中包含的转发规则数量不小于第二预定数量,且所述预定转发规则集合中包含流量信息小于所述目标转发规则对应的流量信息的转发规则,则从所述预定转发规则集合中删除流量信息小于所述目标转发规则对应的流量信息的转发规则,并确定将所述目标转发规则下发到网卡设备;
如果所述待遍历的转发规则的数量不大于第一预定数量,且所述预定转发规则集合中包含的转发规则数量小于第二预定数量,则确定将所述目标转发规则下发到网卡设备。
本说明书实施例中,所述如果所述预定转发规则集合中包含的转发规则数量不小于第二预定数量,且所述预定转发规则集合中包含流量信息小于所述目标转发规则对应的流量信息的转发规则,则从所述预定转发规则集合中删除流量信息小于所述目标转发规则对应的流量信息的转发规则,包括:
如果所述预定转发规则集合中包含的转发规则数量不小于第二预定数量,则从所述预定转发规则集合中删除流量信息最小,且流量信息小于所述目标转发规则对应的流量信息的转发规则。
本说明书实施例中,所述第二预定数量不大于所述网卡设备容纳转发规则的最大下发数量。
本说明书实施例中,所述如果所述预定转发规则集合中包含的转发规则数量不小于第二预定数量,且所述预定转发规则集合中包含流量信息小于所述目标转发规则对应的流量信息的转发规则,则从所述预定转发规则集合中删除流量信息小于所述目标转发规则对应的流量信息的转发规则之后,还包括:
如果所述预定转发规则集合中的第一转发规则已被下发到所述网卡设备,则触发所述网卡设备对所述第一转发规则的删除操作,并将所述第一转发规则设置为未被下发状态,其中,所述第一转发规则为流量信息小于所述目标转发规则对应的流量信息的转发规则。
本说明书实施例中,所述获取预先记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量,包括:
如果所述目标转发规则对应的流量记录方式为分组数据包方式,则获取预先记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内发送的分组数据包的数量;
如果所述目标转发规则对应的流量记录方式为带宽方式,则获取预先记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内的字节数量。
本说明书实施例提供一种转发规则的处理设备,通过获取目标转发规则对应的流量信息,然后,基于目标转发规则对应的流量信息,确定是否将目标转发规则下发到网卡设备,这样,仅通过目标转发规则对应的流量信息,即可确定目标转发规则是否下发到网卡设备,从而使得转发规则的下发更加简单易行,转发规则的下发的稳定性更好,CPU和内存等需要消耗的资源较少,而且,流量信息较大的转发规则通常是被使用次数较多的转发规则,可以将流量信息较大的转发规则下发给网卡设备进行硬件加速,符合转发规则的下发规律。
进一步地,通过获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到目标转发规则到本次转发规则遍历过程中遍历到目标转发规则的时间段内所对应的数据流量,目标转发规则为待遍历的转发规则中的任一转发规则,且待遍历的转发规则的数量不大于第一预定数量,然后,根据该数据流量和上一次转发规则遍历过程中遍历到目标转发规则的时间,确定目标转发规则对应的流量信息,基于目标转发规则对应的流量信息和预定转发规则集合中包含的转发规则的流量信息,确定是否将目标转发规则下发到网卡设备,该转发规则集合中包含已下发到网卡设备的转发规则,如果确定将目标转发规则下发到网卡设备,则将目标转发规则加入预定转发规则集合,在待遍历的转发规则遍历完成后,将转发规则集合中包含的未下发到网卡设备的转发规则下发到网卡设备,这样,每次只遍历虚拟交换机包含的转发规则中的一部分转发规则,所以同一个转发规则即使其对应的流量信息发生变化,也不会被频繁的进行遍历处理而产生转发规则下发切换的抖动,而且,每次只遍历不大于第一预定数量的发规则,而不是全部的转发规则,从而可以避免待处理的转发规则数量过多而导致遍历时间过长、CPU和内存需要消耗的资源较大等问题的出现。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书的实施例是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (19)

1.一种转发规则的处理方法,所述方法包括:
获取目标转发规则对应的流量信息;
基于所述目标转发规则对应的流量信息,确定是否将所述目标转发规则下发到网卡设备。
2.根据权利要求1所述的方法,所述获取目标转发规则对应的流量信息,包括:
获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量;
根据所述数据流量和所述上一次转发规则遍历过程中遍历到所述目标转发规则的时间,确定所述目标转发规则对应的流量信息。
3.根据权利要求2所述的方法,所述方法还包括:
获取所述目标转发规则;
向所述目标转发规则中设置预定字段的信息,所述预定字段的信息用于记录上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量。
4.根据权利要求2或3所述的方法,所述获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所经过的数据流量之后,所述方法还包括:
记录本次转发规则遍历过程中遍历到目标转发规则的时间,并将记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量设置为0。
5.根据权利要求1所述的方法,所述目标转发规则为待遍历的转发规则中的任一转发规则,且所述待遍历的转发规则的数量不大于第一预定数量,所述第一预定数量为在遍历第一预定数量的转发规则时能够使得数据流量抖动的数量。
6.根据权利要求5所述的方法,所述基于所述目标转发规则对应的流量信息,确定是否将所述目标转发规则下发到网卡设备,包括:
基于所述目标转发规则对应的流量信息和预定转发规则集合中包含的转发规则的流量信息,确定是否将所述目标转发规则下发到网卡设备,所述转发规则集合中包含已下发到所述网卡设备的转发规则。
7.根据权利要求6所述的方法,所述方法还包括:
如果确定将所述目标转发规则下发到所述网卡设备,则将所述目标转发规则加入所述预定转发规则集合,在所述待遍历的转发规则遍历完成后,将所述转发规则集合中包含的未下发到所述网卡设备的转发规则下发到所述网卡设备。
8.根据权利要求6所述的方法,所述基于所述目标转发规则对应的流量信息和预定转发规则集合中包含的转发规则的流量信息,确定是否将所述目标转发规则下发到网卡设备,包括:
如果所述预定转发规则集合中包含的转发规则数量不小于第二预定数量,且所述预定转发规则集合中包含流量信息小于所述目标转发规则对应的流量信息的转发规则,则从所述预定转发规则集合中删除流量信息小于所述目标转发规则对应的流量信息的转发规则,并确定将所述目标转发规则下发到网卡设备;
如果所述待遍历的转发规则的数量不大于第一预定数量,且所述预定转发规则集合中包含的转发规则数量小于第二预定数量,则确定将所述目标转发规则下发到网卡设备。
9.根据权利要求8所述的方法,所述如果所述预定转发规则集合中包含的转发规则数量不小于第二预定数量,且所述预定转发规则集合中包含流量信息小于所述目标转发规则对应的流量信息的转发规则,则从所述预定转发规则集合中删除流量信息小于所述目标转发规则对应的流量信息的转发规则,包括:
如果所述预定转发规则集合中包含的转发规则数量不小于第二预定数量,则从所述预定转发规则集合中删除流量信息最小,且流量信息小于所述目标转发规则对应的流量信息的转发规则。
10.根据权利要求8或9所述的方法,所述第二预定数量不大于所述网卡设备容纳转发规则的最大下发数量。
11.根据权利要求8所述的方法,所述如果所述预定转发规则集合中包含的转发规则数量不小于第二预定数量,且所述预定转发规则集合中包含流量信息小于所述目标转发规则对应的流量信息的转发规则,则从所述预定转发规则集合中删除流量信息小于所述目标转发规则对应的流量信息的转发规则之后,所述方法还包括:
如果所述预定转发规则集合中的第一转发规则已被下发到所述网卡设备,则触发所述网卡设备对所述第一转发规则的删除操作,并将所述第一转发规则设置为未被下发状态,其中,所述第一转发规则为流量信息小于所述目标转发规则对应的流量信息的转发规则。
12.根据权利要求2所述的方法,所述获取预先记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量,包括:
如果所述目标转发规则对应的流量记录方式为分组数据包方式,则获取预先记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内发送的分组数据包的数量;
如果所述目标转发规则对应的流量记录方式为带宽方式,则获取预先记录的上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内的字节数量。
13.一种转发规则的处理装置,所述装置包括:
流量信息获取模块,用于获取目标转发规则对应的流量信息;
规则下发确定模块,用于基于所述目标转发规则对应的流量信息,确定是否将所述目标转发规则下发到网卡设备。
14.根据权利要求13所述的装置,所述流量信息获取模块,包括:
数据获取单元,用于获取预先记录的上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量;
流量信息确定单元,用于根据所述数据流量和所述上一次转发规则遍历过程中遍历到所述目标转发规则的时间,确定所述目标转发规则对应的流量信息。
15.根据权利要求14所述的装置,所述装置还包括:
规则获取模块,用于获取所述目标转发规则;
字段设置模块,用于向所述目标转发规则中设置预定字段的信息,所述预定字段的信息用于记录上一次转发规则遍历过程中遍历到目标转发规则的时间和上一次转发规则遍历过程中遍历到所述目标转发规则到本次转发规则遍历过程中遍历到所述目标转发规则的时间段内所对应的数据流量。
16.根据权利要求13所述的装置,所述目标转发规则为待遍历的转发规则中的任一转发规则,且所述待遍历的转发规则的数量不大于第一预定数量,所述第一预定数量为在遍历第一预定数量的转发规则时能够使得数据流量抖动的数量。
17.根据权利要求16所述的装置,所述规则下发确定模块,用于基于所述目标转发规则对应的流量信息和预定转发规则集合中包含的转发规则的流量信息,确定是否将所述目标转发规则下发到网卡设备,所述转发规则集合中包含已下发到所述网卡设备的转发规则。
18.根据权利要求17所述的装置,所述装置还包括:
下发模块,用于如果确定将所述目标转发规则下发到所述网卡设备,则将所述目标转发规则加入所述预定转发规则集合,在所述待遍历的转发规则遍历完成后,将所述转发规则集合中包含的未下发到所述网卡设备的转发规则下发到所述网卡设备。
19.一种转发规则的处理设备,所述转发规则的处理设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取目标转发规则对应的流量信息;
基于所述目标转发规则对应的流量信息,确定是否将所述目标转发规则下发到网卡设备。
CN201910459328.2A 2019-05-29 2019-05-29 一种转发规则的处理方法、装置及设备 Active CN112019431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910459328.2A CN112019431B (zh) 2019-05-29 2019-05-29 一种转发规则的处理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910459328.2A CN112019431B (zh) 2019-05-29 2019-05-29 一种转发规则的处理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN112019431A true CN112019431A (zh) 2020-12-01
CN112019431B CN112019431B (zh) 2023-04-18

Family

ID=73500743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910459328.2A Active CN112019431B (zh) 2019-05-29 2019-05-29 一种转发规则的处理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN112019431B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104205080A (zh) * 2012-03-21 2014-12-10 微软公司 为联网设备虚拟化卸载分组处理
CN107666446A (zh) * 2017-09-14 2018-02-06 北京京东尚科信息技术有限公司 下行流量、上行流量、双向流量限制方法和装置
WO2018023498A1 (zh) * 2016-08-03 2018-02-08 华为技术有限公司 网络接口卡、计算设备以及数据包处理方法
US20180219770A1 (en) * 2016-08-03 2018-08-02 Huawei Technologies Co., Ltd. Network interface card, computing device, and data packet processing method
CN108628947A (zh) * 2018-04-02 2018-10-09 阿里巴巴集团控股有限公司 一种业务规则匹配处理方法、装置及处理设备
CN108667741A (zh) * 2018-04-26 2018-10-16 宝牧科技(天津)有限公司 一种用于工业网络数据转发的控制方法及系统
CN108924050A (zh) * 2018-06-29 2018-11-30 优刻得科技股份有限公司 数据转发方法及其装置、存储介质和网卡设备
CN109510776A (zh) * 2018-10-12 2019-03-22 新华三技术有限公司合肥分公司 流量控制方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104205080A (zh) * 2012-03-21 2014-12-10 微软公司 为联网设备虚拟化卸载分组处理
WO2018023498A1 (zh) * 2016-08-03 2018-02-08 华为技术有限公司 网络接口卡、计算设备以及数据包处理方法
US20180219770A1 (en) * 2016-08-03 2018-08-02 Huawei Technologies Co., Ltd. Network interface card, computing device, and data packet processing method
CN107666446A (zh) * 2017-09-14 2018-02-06 北京京东尚科信息技术有限公司 下行流量、上行流量、双向流量限制方法和装置
CN108628947A (zh) * 2018-04-02 2018-10-09 阿里巴巴集团控股有限公司 一种业务规则匹配处理方法、装置及处理设备
CN108667741A (zh) * 2018-04-26 2018-10-16 宝牧科技(天津)有限公司 一种用于工业网络数据转发的控制方法及系统
CN108924050A (zh) * 2018-06-29 2018-11-30 优刻得科技股份有限公司 数据转发方法及其装置、存储介质和网卡设备
CN109510776A (zh) * 2018-10-12 2019-03-22 新华三技术有限公司合肥分公司 流量控制方法及装置

Also Published As

Publication number Publication date
CN112019431B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
JP6716149B2 (ja) ブロックチェーンベースのデータ処理方法および装置
CN107577694B (zh) 一种基于区块链的数据处理方法及设备
CN107391526B (zh) 一种基于区块链的数据处理方法及设备
CN108712454B (zh) 一种文件处理方法、装置及设备
JP2020509445A (ja) ブロックチェーンコンセンサス形成の方法およびデバイス
CN107770088B (zh) 一种流量控制方法及装置
CN110875935B (zh) 消息发布、处理、订阅方法、装置及系统
CN110298194B (zh) 基于区块链的文件处理方法、装置、设备及存储介质
CN107577697B (zh) 一种数据处理方法、装置及设备
CN108243032B (zh) 一种服务等级信息的获取方法、装置及设备
CN110245279B (zh) 依赖树生成方法、装置、设备及存储介质
CN109391680B (zh) 一种定时任务数据处理方法、装置及系统
CN110635962B (zh) 用于分布式系统的异常分析方法及装置
CN110263050B (zh) 数据处理方法、装置、设备及存储介质
CN110162573B (zh) 一种分布式序列生成方法、装置及系统
CN109922298A (zh) 会议室监控方法和装置
CN111324533A (zh) A/b测试方法、装置及电子设备
CN110046187B (zh) 数据处理系统、方法及装置
CN109391512A (zh) 一种服务发布方法、装置及电子设备
CN115617799A (zh) 一种数据存储的方法、装置、设备及存储介质
CN111753328B (zh) 隐私数据的泄露风险检测方法及系统
CN109460312A (zh) 请求失败的处理方法及装置
CN109144600A (zh) 一种应用程序的运行方法、设备及计算机可读介质
CN110908429B (zh) 一种定时器操作方法及装置
CN112019431B (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