CN104410586A - 一种vsu环境下的报文处理方法和装置 - Google Patents
一种vsu环境下的报文处理方法和装置 Download PDFInfo
- Publication number
- CN104410586A CN104410586A CN201410764029.7A CN201410764029A CN104410586A CN 104410586 A CN104410586 A CN 104410586A CN 201410764029 A CN201410764029 A CN 201410764029A CN 104410586 A CN104410586 A CN 104410586A
- Authority
- CN
- China
- Prior art keywords
- message
- preset value
- dma
- priority
- space
- 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
Landscapes
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本发明实施例提供了一种VSU环境下的报文处理方法和装置,涉及数据通信领域,用以减小重要报文丢失的概率,提高VSU系统运行的稳定性。该VSU环境下的报文的处理方法包括:确定CPU使用率是否超过第二预设值;若CPU使用率超过第二预设值,则关闭至少一个第二DMA收帧通道,保留第一DMA收帧通道;其中,第一DMA收帧通道与第一报文传输队列映射,第一报文传输队列用于传输优先级为第一预设值的报文,第二DMA收帧通道与至少一个第二报文传输队列映射,第二报文传输队列用于传输优先级为非第一预设值的报文。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种VSU环境下的报文处理方法和装置。
背景技术
虚拟交换单元(Virtual Switching Unit,简称VSU)系统是一种将多台网络设备通过虚拟交换链路(Virtual Switching Link,简称VSL)连接,虚拟形成一台虚拟逻辑设备的技术,如图1所示,用实线椭圆圈起来的3台网络设备组成了一个VSU系统。用户通过对这台虚拟设备进行管理,以实现对虚拟设备中所有的网络设备的管理。其中,这多台设备通过一定的竞选协议选举出一台全局主设备(主机),一台全局从设备(从机),其余设备为全局候选设备。
如图1中所示,VSU系统中的网络设备之间通过VSL链路(图1中虚线椭圆所示)连接,VSL链路连接到网络设备上的物理端口为VSL端口。其中,VSL链路是VSU系统的网络设备间传输控制信息和数据流的特殊聚合链路,用以在网络设备间传输协议报文、数据报文和管理报文等,而管理报文用于对VSU系统进行内部管理,因此在VSU系统中最为重要。
如图2所示为在现有VSU系统中主机发送管理报文到从机的收发示意图。其中,主机和从机的网络设备均包括中央处理器(CentralProcessing Unit,简称CPU)、随机存取存储器(Random Access Memory,简称RAM)、和交换芯片,交换芯片中包括直接内存访问(DirectMemory Access,简称DMA)通道、DMA控制器(DMA Control),VSL端口。对于主机侧而言,主机的CPU从主机的RAM中给管理报文申请报文空间,在申请到报文空间后,指定管理报文的服务类别(Class ofService,简称COS)为7,以及将该管理报文的目的口填充为从机的CPU口。然后,主机的CPU构造好DMA控制块(DMA Control Block,简称DCB)后,通知交换芯片的DMA控制器发送管理报文,DMA控制器依据DCB通过DMA发帧通道CH0(图2中仅示出主机的DMA发帧通道)访问主机的RAM,以将管理报文发送出去;管理报文进入主机的VSL端口的传输队列Q7并发送出去,管理报文通过VSL链路转发到从机的VSL端口;对于从机侧而言,从机的报文服务类别和报文传输队列(即COS和Queue)配置为一一映射,且CPU口的传输队列Q0、Q1、Q2映射到DMA收帧通道CH1,传输队列Q3、Q4、Q5映射到DMA收帧通道CH2,传输队列Q6、Q7映射到DMA收帧通道CH3(图2中仅示出从机的DMA收帧通道),这样,管理报文到达从机CPU口的Q7,通过DMA收帧通道CH3传输到从机的RAM中。然后,从机交换芯片的DMA控制器发送一个中断通知从机的CPU,从机的CPU接收到该中断后响应该中断,根据DCB在从机的RAM中为该管理报文申请报文空间,以从RAM中取走该管理报文传递给各个业务模块进行处理。
但是,当主机和/或从机中的RAM内存较低时,会造成一些重要报文,例如管理报文,申请报文空间的失败,导致这些重要报文的丢失。另一方面,当主机和/或从机的CPU在处于高负载的情况时,无法及时响应中断,同样会造成这些重要报文的丢失,而重要报文的丢失则会导致VSU系统运行的不稳定。
发明内容
本发明的实施例提供了一种VSU环境下的报文处理方法和装置,用以减小重要报文丢失的概率,提高VSU系统运行的稳定性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供了一种VSU环境下的报文处理方法,包括:确定CPU使用率是否超过第二预设值;
若所述CPU使用率超过第二预设值,则关闭至少一个第二DMA收帧通道,保留第一DMA收帧通道;
其中,所述第一DMA收帧通道与第一报文传输队列映射,所述第一报文传输队列用于传输优先级为第一预设值的报文,所述第二DMA收帧通道与至少一个第二报文传输队列映射,所述第二报文传输队列用于传输优先级为非第一预设值的报文。
可选的,所述确定CPU使用率是否超过第二预设值之前,所述方法还包括:
接收DMA控制器发送的中断消息;
所述确定CPU使用率是否超过第二预设值包括:在接收到所述DMA控制器发送的中断消息后,确定在第一时间内CPU的中断处理时间是否超过第二预设值。
可选的,所述关闭至少一个第二DMA收帧通道之后,所述方法还包括:
在所述关闭至少一个第二DMA收帧通道第二时间后,打开所述关闭的至少一个第二DMA收帧通道。
可选的,所述方法还包括:从第一缓冲区中为所述报文申请报文空间;
若未申请到报文空间,则确定所述报文的优先级是否与所述第一预设值相同;
若所述报文的优先级与所述第一预设值相同,则从第二缓冲区中为所述报文申请所述报文空间,其中,所述第二缓冲区仅用于对优先级为所述第一预设值的报文进行报文空间申请。
第二方面,本发明实施例提供了一种VSU环境下的报文处理方法,包括:从第一缓冲区中为报文申请报文空间;
若未申请到报文空间,则确定所述报文的优先级是否与第一预设值相同;
若所述报文的优先级与所述第一预设值相同,则从第二缓冲区中为所述报文申请所述报文空间,其中,所述第二缓冲区仅用于对优先级为所述第一预设值的报文进行报文空间申请。
可选的,所述从第一缓冲区的可用空间中为报文申请报文空间之前,所述方法还包括:
根据所述报文的报文类型,为所述报文分配所述报文的优先级。
第三方面,本发明实施例提供了一种VSU环境下的报文处理装置,包括:第一确定单元,用于确定CPU使用率是否超过第二预设值;
处理单元,用于若所述第一确定单元确定所述CPU使用率超过第二预设值,则关闭至少一个第二DMA收帧通道,保留第一DMA收帧通道;
其中,所述第一DMA收帧通道与第一报文传输队列映射,所述第一报文传输队列用于传输优先级为第一预设值的报文,所述第二DMA收帧通道与至少一个第二报文传输队列映射,所述第二报文传输队列用于传输优先级为非第一预设值的报文。
可选的,所述所装置还包括:接收单元;
所述接收单元,用于所述确定单元确定所述CPU使用率是否超过第二预设值之前,接收DMA控制器发送的中断消息;
所述第一确定单元,具体用于在所述接收单元接收到所述DMA控制器发送的中断消息后,确定在第一时间内CPU的中断处理时间是否超过第二预设值。
可选的,其特征在于,所述处理单元,还用于在所述关闭至少一个第二DMA收帧通道第二时间后,打开所述关闭的至少一个第二DMA收帧通道。
可选的,所述装置还包括:报文申请单元和第二确定单元;
所述报文申请单元,用于从第一缓冲区中为所述报文申请报文空间;
所述第二确定单元,用于若所述报文申请单元未申请到报文空间,则确定所述报文的优先级是否与所述第一预设值相同;
所述报文申请单元,还用于若所述第二确定单元确定所述报文的优先级与所述第一预设值相同,则从第二缓冲区中为所述报文申请所述报文空间,其中,所述第二缓冲区仅用于对优先级为所述第一预设值的报文进行报文空间申请。
第四方面,本发明实施例提供了一种VSU环境下的报文处理装置,包括:报文申请单元,用于从第一缓冲区中为报文申请报文空间;
确定单元,用于若所述报文申请单元未申请到报文空间,则确定所述报文的优先级是否与第一预设值相同;
所述报文申请单元,还用于若所述确定单元确定所述报文的优先级与所述第一预设值相同,则从第二缓冲区中为所述报文申请所述报文空间,其中,所述第二缓冲区仅用于对优先级为所述第一预设值的报文进行报文空间申请。
可选的,所述装置还包括:优先级分配单元;
所述优先级分配单元,用于在所述报文申请单元从第一缓冲区的可用空间中为报文申请报文空间之前,根据所述报文的报文类型,为所述报文分配所述报文的优先级。
本发明实施例提供的一种VSU环境下的报文处理方法和装置,通过确定CPU使用率是否超过第二预设值;若CPU使用率超过第二预设值,则关闭至少一个第二DMA收帧通道,保留第一DMA收帧通道;其中,第一DMA收帧通道用于传输优先级为第一预设值的报文,第二DMA收帧通道用于传输优先级为非第一预设值的报文。这样,当CPU使用率超过第二预设值时,通过关闭优先级为非第一预设值的报文传输通道,保留优先级为第一预设值的报文传输通道,以便对优先级为第一预设值的报文进行优先处理,减小了对优先级为第一预设值的丢失概率,提高VSU系统运行的稳定性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的一种VSU系统的组网示意图;
图2为现有技术提供的一种VSU环境下的报文处理示意图;
图3为本发明实施例提供的一种VSU环境下的报文处理的流程示意图;
图4为本发明实施例提供的另一种VSU环境下的报文处理的流程示意图;
图5为本发明实施例提供的一种VSU环境下的报文处理的流程示意图;
图6为本发明实施例提供的另一种VSU环境下的报文处理的流程示意图;
图7为本发明实施例提供的DMA收帧通道的映射和报文传输的示意图;
图8为本发明实施例提供的一种VSU环境下的报文处理装置的示意图;
图9为本发明实施例提供的另一种VSU环境下的报文处理装置的示意图;
图10为本发明实施例提供的一种VSU环境下的报文处理装置的示意图;
图11为本发明实施例提供的另一种VSU环境下的报文处理装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种VSU环境下的报文处理方法,应用于图1所示的VSU系统。当图1所示的网络设备处于低内存的情况时,一些重要报文,例如:管理报文,由于在RAM中未申请到报文空间而导致丢失,进而影响协议的运行,为了解决上述问题,如图3所示,该方法包括:
S301、从第一缓冲区中为报文申请报文空间。
S302、若未申请到报文空间,则确定所述报文的优先级是否与第一预设值相同。
其中,若未从第一缓冲区中为报文申请到报文空间,则意味着在第一缓冲区的报文空间申请失败。
S303、若所述报文的优先级与所述第一预设值相同,则从第二缓冲区中为所述报文申请所述报文空间。
其中,所述第二缓冲区仅用于对优先级为所述第一预设值的报文进行报文空间申请。需要说明的是,所述的第一缓冲区和所述第二缓冲区可以在设置在同一个RAM中,也可以为多个RAM中;对于第一缓冲区和第二缓冲区的设置可以在系统初始化时设置的,也可以在对报文进行报文空间申请之前设置。
这样,在系统初始化时,将RAM设置为第一缓冲区和第二缓冲区。在为报文申请报文空间时,先从第一缓冲区中申请;当在第一缓冲区未申请到报文空间时(即申请失败时),从第二缓冲区中申请。当然,在第二缓冲区申请报文空间前,需要确定该报文的优先级是否与第一预设值相同,若该报文的优先级与第一预设值相同,才可以在第二缓冲区中进行报文空间的申请,也就是说,若该报文的优先级与第一预设值不相同,则只能在第一缓冲区中进行报文空间的申请,不能在第二缓冲区中进行报文空间的申请。一般情况下,第二缓冲区用于为管理报文或者其他重要报文所预留的,第一预设值可以为管理报文或者其他重要报文的优先级,这样,通过上述处理,可以提高对管理报文或者其他重要报文的报文空间申请成功的概率,也不会影响其他报文的申请逻辑。
进一步的,如图4所示,在步骤S301之前,该方法还包括:
S300、根据所述报文的报文类型,为所述报文分配所述报文优先级。
示例的,所述报文的优先级可以用COS值表示,本发明实施例将报文优先级和报文传输队列配置为一一映射,且COS值越大,优先级越高,对应的报文传输队列(Queue)值也越大。示例的,若报文的优先级为0,则对应的报文传输队列为Queue0(简写为Q0),若报文的优先级为7,则对应的报文传输队列为Queue7(简写为Q7)。
需要说明的是,上述方法可以是在主机发送报文给从机时,也可以是从机接收主机发送的报文,对该报文进行处理时,均可以通过上述方法进行报文的空间申请。当然,对于主机侧而言为主机侧的CPU从主机侧的RAM中申请报文空间,对于从机侧而言为从机侧的CPU从从机侧的RAM中申请报文空间。
本发明实施例提供了一种VSU环境下的报文处理方法,从第一缓冲区中为报文申请报文空间,若未申请到报文空间,则确定报文的优先级是否与第一预设值相同,若报文的优先级与所述第一预设值相同,则从第二缓冲区中为报文申请所述报文空间,这样,可以在网络设备低内存的情况下,通过预留空间,也就是通过设置第二缓冲区,以对优先级为第一预设值的报文进行报文空间申请,提高对该报文的报文空间申请的概率,提高VSU系统运行的稳定性。
实施例二
本发明实施例提供了一种VSU环境下的报文处理方法,应用于图1所示的VSU系统。如图5所示,该方法具体包括:
S501、确定CPU使用率是否超过第二预设值。
其中,所述第二预设值可以根据VSU系统的运行情况或者从机CPU的型号等进行设置。
S502、若所述CPU使用率超过第二预设值,则关闭至少一个第二DMA收帧通道,保留第一DMA收帧通道。
其中,所述第一DMA收帧通道与第一报文传输队列映射,所述第一报文传输队列用于传输优先级为第一预设值的报文,所述第二DMA收帧通道与至少一个第二报文传输队列映射,所述第二报文传输队列用于传输优先级为非第一预设值的报文。
需要说明的是,对于第一DMA收帧通道与第一报文传输队列之间的映射关系,以及第二DMA收帧通道与至少一个第二报文传输队列之间的映射关系,可以在系统初始化时进行设置。
进一步的,如图6所示,在步骤S501之前,该方法还包括:
S500、接收DMA控制器发送的中断消息。
其中,该中断消息用于通知CPU对报文进行处理。那么,CPU的使用率可以用CPU的中断处理时间进行标识,因此,当CPU接收到DMA控制器发送的中断消息后,步骤S501中确定CPU使用率是否超过第二预设值可以为:确定在第一时间内CPU的中断处理时间是否超过第二预设值,以继续执行步骤S502。
进一步的,如图6所示,在步骤S502之后,该方法还包括:
S503、在所述关闭至少一个第二DMA收帧通道第二时间后,打开关闭的至少一个第二DMA收帧通道。
其中,第二时间的设置可以根据CPU使用率进行设置,当CPU使用率较高时,可以设置相对较长的第二时间,当CPU使用率较低时,可以设置相对较短的第二时间。那么,当第二时间到期时,打开被关闭的至少一个第二DMA通道。这样,通过设置合理的关闭第二DMA通道的时间,可以在其他业务不受影响的基础上,在最大程度上保证第一DMA通道传输的报文的不丢失,提高VSU系统运行的稳定性。一般情况下,第一DMA通道传输的管理报文或者其他重要报文。
需要说明的是,上述第一时间和第二时间可以通过定时器进行设定。对于第一时间,可以通过第一定时器的定时周期进行设定,第一时间可以包括第一定时器的至少一个定时周期;对于第二时间,可以通过第二定时器的定时周期进行设定,第二时间可以包括第二定时器的至少一个定时周期。一般情况下,第一定时器采用普通的定时器,该第一定时器的定时周期的单位可以为毫秒(ms),第二定时器采用高精度的定时器,该第二定时器的定时周期的单位可以为微秒(us);采用高精度的定时器额可以保证在关闭至少一个第一DMA通道的时间不会太长,最大程度上降低关闭第二DMA收帧通道对其他业务产生的影响。
进一步的,无论第二DMA通道是否被关闭,当CPU在接收到DMA控制器发送的中断消息时,会对该中断消息进行响应,以对报文进行处理,在对报文进行处理时,CPU从第一缓冲区中为所述报文申请报文空间;若未申请到报文空间,则确定所述报文的优先级是否与所述第一预设值相同;若所述报文的优先级与所述第一预设值相同,则从第二缓冲区中为所述报文申请所述报文空间。其中,所述第一缓冲区和所述第二缓冲区可以为在系统初始化时设置的。对于报文的空间申请,具体可参考实施例一中所述的,在此不再赘述。
示例的,如图1所示,从机侧包含三个DMA收帧通道(CH1、CH2、CH3),8个报文传输队列(Q0-Q7),在系统初始化时,将报文传输队列Q0、Q1、Q2映射到DMA收帧通道CH1,报文传输队列Q3、Q4、Q5、Q6映射到DMA收帧通道CH2,报文传输队列Q7映射到DMA收帧通道CH3,其中,报文传输队列Q7传输优先级为第一预设值的报文,那么,DMA收帧通道CH3为第二DMA收帧通道,DMA收帧通道CH1和DMA收帧通道CH2为第一DMA收帧通道。因此,当从机接收到主机发送的管理报文时,通过DMA收帧通道CH3将管理报文传输到从机的RAM中,然后由从机的DMA控制器触发中断给从机的CPU。
进一步的,当在第一时间内CPU的中断处理时间超过第二预设值,则关闭DMA收帧通道CH1和DMA收帧通道CH2。在关闭DMA收帧通道CH1和DMA收帧通道CH2后,DMA收帧通道CH1和DMA收帧通道CH2将不再向RAM中传输报文,DMA控制器也不再触发中断给从机CPU,这样,从机CPU可以优先响应DMA收帧通道CH3的中断,并处理管理报文,保证管理报文的不丢失,提高VSU系统运行的稳定性。在关闭DMA收帧通道CH1和DMA收帧通道CH2第二时间后,打开DMA收帧通道CH1和DMA收帧通道CH2,以保证在管理报文不丢失的同时,避免对其他业务的影响。
本发明实施例提供了VSU环境下的报文处理方法,通过确定CPU使用率是否超过第二预设值;若CPU使用率超过第二预设值,则关闭至少一个第二DMA收帧通道,保留第一DMA收帧通道;其中,第一DMA收帧通道用于传输优先级为第一预设值的报文,第二DMA收帧通道用于传输优先级为非第一预设值的报文。这样,当CPU使用率超过第二预设值时,通过关闭优先级为非第一预设值的报文传输通道,保留优先级为第一预设值的报文传输通道,以便对优先级为第一预设值的报文进行优先处理,减小了对优先级为第一预设值的丢失概率,提高VSU系统运行的稳定性。
实施例三
本发明实施例提供了一种VSU环境下报文的处理方法,以主机和从机均采用Broadcom交换芯片的网络设备为例进行说明,其中,主机和从机的网络设备所包含的器件可以参考图2所示。
其中,主机的网络设备包括:CPU、RAM、交换芯片,交换芯片包括:DMA发帧通道CH0(对于DMA收帧通道可以参考从机侧),DMA控制器以及8个报文传输队列,8个报文传输队列(Q0-Q7)与8个报文的服务类别队列(COS0-COS7)一一映射。本发明实施例以报文的COS值越大,报文的优先级越高为例。在系统初始化时,将主机RAM的报文空间设置为第一缓冲区和第二缓冲区。
从机的网络设备包括:CPU、RAM、交换芯片,交换芯片包括:三个DMA收帧通道(CH1、CH2、CH3,对于DMA发帧通道可以参考主机侧)、DMA控制器以及8个报文传输队列,8个报文传输队列(Q0-Q7)与8个报文的服务类别队列(COS0-COS7)一一映射。本发明实施例以报文的COS值越大,报文的优先级越高为例。在系统初始化时,报文传输队列Q0、Q1、Q2映射到DMA收帧通道CH1,报文传输队列Q3、Q4、Q5、Q6映射到DMA收帧通道CH2,报文传输队列Q7映射到DMA收帧通道CH3。
当主机发送管理报文给从机时,为该管理报文分配报文优先级,假设报文的COS值为7。首先,主机的CPU从主机的RAM中的第一缓冲区的可用空间中为该管理报文申请报文空间,若在第一缓冲区中未申请到报文空间,则确定该报文的优先级是否为COS7。由于该报文的COS值为7,则主机的CPU从RAM中的第二缓冲区的可用空间中为该管理报文申请报文空间;若在第二缓冲区中为该管理报文申请到报文空间,则主机的CPU构造好DMA控制块后,通知主机侧交换芯片中的DMA控制器发送该管理报文。DMA控制器通过DMA发帧通道CH0访问主机的RAM,将该管理报文发送出去。该管理报文进入主机的VSL端口的传输队列Q7,通过VSL链路转发到从机的VSL端口。
由于从机的报文服务类别队列与报文传输队列一一映射,且传输的管理报文的COS值为7,因此,当管理报文到达从机时,管理报文被转发到从机的报文传输队列Q7,之后通过DMA收帧通道CH3把管理报文传输给从机的RAM中,然后从机的DMA控制器发送1个中断通知从机的CPU进行收帧处理,如图7所示。这样,管理报文单独使用DMA收帧通道CH3,可以保证对其他收帧通道的设置不会影响到对管理报文的收帧通道,也就是说,对管理报文的收发不会产生影响。
进一步的,可以在从机的CPU使用率过高的情况下,通过设置两个定时器来实现对DMA收帧通道的管理。其中,这两个定时器中的一个是普通定时器TimerA,定时周期是PeriodA(单位为ms),该定时器用于监控CPU的使用情况;另一个是高精度定时器TimerB,定时周期是PeriodB(单位为us),该定时器用于控制DMA收帧通道CH1和DMA收帧通道CH2的打开或关闭,使用高精度定时器可以保证关闭DMA收帧通道CH1和/或DMA收帧通道CH2的时间不会太长,最大程度上降低关闭DMA收帧通道CH1和/或DMA收帧通道CH2对其他业务的影响。
具体的,当从机的CPU接收到从机的DMA控制器发送的中断后,统计从机的CPU在PeriodA内的使用率是否超过90%。本发明实施例以统计CPU的中断处理时间作为CPU的使用率统计参数。如果在PeriodA内CPU的中断处理时间超过了90%,则可以确定从机的CPU处于繁忙。此时,关闭DMA收帧通道CH1和DMA收帧通道CH2,同时设置关闭DMA收帧通道CH1和DMA收帧通道CH2的时长为N个PeriodB时间,其中,CPU越繁忙,N值越大,N值的设置与CPU的繁忙程度相关。当高精度定时器TimerB的定时周期PeriodB到期后,N减一,当N减为0时,打开被关闭的DMA收帧通道CH1和DMA收帧通道CH2。
一般情况下,一些重要报文,例如管理报文的优先级都设置为最高优先级,这样,按照上述的传输方式,通过在预留的缓冲区(即第二缓冲区)中进行报文空间申请,提供了为管理报文申请空间成功的概率,同时,VSU系统中的管理报文的数量并不是很多,通过第二缓冲区基本上可以为管理报文申请到报文空间,这样,避免了现有技术系统内存低而导致无法申请到报文空间,进而对管理报文进行丢弃的现象。进一步的,当系统CPU处于高负载的情况时,通过对报文的传输队列与DMA收帧通道进行映射,特别是将优先级最高的报文传输队列单独与一个DMA收帧通道(即第二DMA收帧通道)进行映射,即将管理报文的报文传输队列与第二DMA收帧通道进行映射,这样,可以保证管理报文的正常传输,同时,通过关闭其他的DMA收帧通道,以释放CPU资源,以优先响应第二DMA收帧通道的中断,处理这些管理报文,避免了现有技术中无法响应管理报文的中断,而导致报文丢失的现象。进一步的,非管理报文所在的DMA收帧通道的关闭还可以解决当系统CPU使用率处于极限情况时,网络设备协议异常,无法管理等问题。
实施例四
本发明实施例提供了一种VSU环境下的报文处理装置,应用于实施例二所述的方法中,如图8所示,该装置80包括:
第一确定单元801,用于确定CPU使用率是否超过第二预设值;
处理单元802,用于若所述第一确定单元801确定所述CPU使用率超过第二预设值,则关闭至少一个第二DMA收帧通道,保留第一DMA收帧通道;
其中,所述第一DMA收帧通道与第一报文传输队列映射,所述第一报文传输队列用于传输优先级为第一预设值的报文,所述第二DMA收帧通道与至少一个第二报文传输队列映射,所述第二报文传输队列用于传输优先级为非第一预设值的报文。
可选的,如图9所示,所述装置80还包括:接收单元803;
所述接收单元803,用于所述第一确定单元801确定所述CPU使用率是否超过第二预设值之前,接收DMA控制器发送的中断消息;
所述第一确定单元801,具体用于在所述接收单元803接收到所述DMA控制器发送的中断消息后,确定在第一时间内CPU的中断处理时间是否超过第二预设值。
可选的,所述处理单元802,还用于在所述关闭至少一个第二DMA收帧通道第二时间后,打开所述关闭的至少一个第二DMA收帧通道。
可选的,如图9所示,所述装置80还包括:报文申请单元804和第二确定单元805;
所述报文申请单元804,用于从第一缓冲区中为所述报文申请报文空间;
所述第二确定单元805,用于若所述报文申请单元804未申请到报文空间,则确定所述报文的优先级是否与所述第一预设值相同;
所述报文申请单元804,还用于若所述第二确定单元805确定所述报文的优先级与所述第一预设值相同,则从第二缓冲区中为所述报文申请所述报文空间,其中,所述第二缓冲区仅用于对优先级为所述第一预设值的报文进行报文空间申请。
可选的,所述第一时间的单位为毫秒,所述第二时间的单位为微秒。
本发明实施例提供的一种VSU环境下的报文处理装置,通过确定单元确定CPU使用率是否超过第二预设值;若确定单元确定的CPU使用率超过第二预设值,则关闭至少一个第二DMA收帧通道,保留第一DMA收帧通道;其中,第一DMA收帧通道用于传输优先级为第一预设值的报文,第二DMA收帧通道用于传输优先级为非第一预设值的报文。这样,当CPU使用率超过第二预设值时,通过关闭优先级为非第一预设值的报文传输通道,保留优先级为第一预设值的报文传输通道,以便对优先级为第一预设值的报文进行优先处理,减小了对优先级为第一预设值的丢失概率,提高VSU系统运行的稳定性。
实施例五
本发明实施例提供了一种VSU环境下的报文处理装置,应用于实施例一所述的方法中,如图10所示,该装置100包括:
报文申请单元1001,用于从第一缓冲区中为报文申请报文空间;
确定单元1002,用于若所述报文申请单元1001未申请到报文空间,则确定所述报文的优先级是否与第一预设值相同;
所述报文申请单元1001,还用于若所述确定单元1002确定所述报文的优先级与所述第一预设值相同,则从第二缓冲区中为所述报文申请所述报文空间,其中,所述第二缓冲区仅用于对优先级为所述第一预设值的报文进行报文空间申请。
可选的,如图11所示,所述装置100还包括:优先级分配单元1003;
所述优先级分配单元1003,用于在所述报文申请单元1001从第一缓冲区的可用空间中为报文申请报文空间之前,根据所述报文的报文类型,为所述报文分配所述报文的优先级。
可选的,所述第一缓冲区和所述第二缓冲区位于同一个随机存取存储器RAM中。
本发明实施例提供了一种VSU环境下的报文处理装置,通过报文申请单元从第一缓冲区中为报文申请报文空间,若报文申请单元未申请到报文空间,则确定单元确定报文的优先级是否与第一预设值相同,若确定单元确定报文的优先级与所述第一预设值相同,则报文申请单元从第二缓冲区中为报文申请所述报文空间,这样,可以在网络设备低内存的情况下,通过预留空间,也就是通过设置第二缓冲区,以对优先级为第一预设值的报文进行报文空间申请,提高对该报文的报文空间申请的概率,提高VSU系统运行的稳定性。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种VSU环境下的报文处理方法,其特征在于,包括:
确定CPU使用率是否超过第二预设值;
若所述CPU使用率超过第二预设值,则关闭至少一个第二DMA收帧通道,保留第一DMA收帧通道;
其中,所述第一DMA收帧通道与第一报文传输队列映射,所述第一报文传输队列用于传输优先级为第一预设值的报文,所述第二DMA收帧通道与至少一个第二报文传输队列映射,所述第二报文传输队列用于传输优先级为非第一预设值的报文。
2.根据权利要求1所述的方法,其特征在于,所述确定CPU使用率是否超过第二预设值之前,所述方法还包括:
接收DMA控制器发送的中断消息;
所述确定CPU使用率是否超过第二预设值包括:在接收到所述DMA控制器发送的中断消息后,确定在第一时间内CPU的中断处理时间是否超过第二预设值。
3.根据权利要求1或2所述的方法,其特征在于,所述关闭至少一个第二DMA收帧通道之后,所述方法还包括:
在所述关闭至少一个第二DMA收帧通道第二时间后,打开所述关闭的至少一个第二DMA收帧通道。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从第一缓冲区中为所述报文申请报文空间;
若未申请到报文空间,则确定所述报文的优先级是否与所述第一预设值相同;
若所述报文的优先级与所述第一预设值相同,则从第二缓冲区中为所述报文申请所述报文空间,其中,所述第二缓冲区仅用于对优先级为所述第一预设值的报文进行报文空间申请。
5.一种VSU环境下的报文处理方法,其特征在于,包括:
从第一缓冲区中为报文申请报文空间;
若未申请到报文空间,则确定所述报文的优先级是否与第一预设值相同;
若所述报文的优先级与所述第一预设值相同,则从第二缓冲区中为所述报文申请所述报文空间,其中,所述第二缓冲区仅用于对优先级为所述第一预设值的报文进行报文空间申请。
6.根据权利要求5所述的方法,其特征在于,所述从第一缓冲区的可用空间中为报文申请报文空间之前,所述方法还包括:
根据所述报文的报文类型,为所述报文分配所述报文的优先级。
7.一种VSU环境下的报文处理装置,其特征在于,包括:
第一确定单元,用于确定CPU使用率是否超过第二预设值;
处理单元,用于若所述第一确定单元确定所述CPU使用率超过第二预设值,则关闭至少一个第二DMA收帧通道,保留第一DMA收帧通道;
其中,所述第一DMA收帧通道与第一报文传输队列映射,所述第一报文传输队列用于传输优先级为第一预设值的报文,所述第二DMA收帧通道与至少一个第二报文传输队列映射,所述第二报文传输队列用于传输优先级为非第一预设值的报文。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:接收单元;
所述接收单元,用于所述第一确定单元确定所述CPU使用率是否超过第二预设值之前,接收DMA控制器发送的中断消息;
所述第一确定单元,具体用于在所述接收单元接收到所述DMA控制器发送的中断消息后,确定在第一时间内CPU的中断处理时间是否超过第二预设值。
9.根据权利要求7或8所述的装置,其特征在于,所述处理单元,还用于在所述关闭至少一个第二DMA收帧通道第二时间后,打开所述关闭的至少一个第二DMA收帧通道。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:报文申请单元和第二确定单元;
所述报文申请单元,用于从第一缓冲区中为所述报文申请报文空间;
所述第二确定单元,用于若所述报文申请单元未申请到报文空间,则确定所述报文的优先级是否与所述第一预设值相同;
所述报文申请单元,还用于若所述第二确定单元确定所述报文的优先级与所述第一预设值相同,则从第二缓冲区中为所述报文申请所述报文空间,其中,所述第二缓冲区仅用于对优先级为所述第一预设值的报文进行报文空间申请。
11.一种VSU环境下的报文处理装置,其特征在于,包括:
报文申请单元,用于从第一缓冲区中为报文申请报文空间;
确定单元,用于若所述报文申请单元未申请到报文空间,则确定所述报文的优先级是否与第一预设值相同;
所述报文申请单元,还用于若所述确定单元确定所述报文的优先级与所述第一预设值相同,则从第二缓冲区中为所述报文申请所述报文空间,其中,所述第二缓冲区仅用于对优先级为所述第一预设值的报文进行报文空间申请。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:优先级分配单元;
所述优先级分配单元,用于在所述报文申请单元从第一缓冲区的可用空间中为报文申请报文空间之前,根据所述报文的报文类型,为所述报文分配所述报文的优先级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410764029.7A CN104410586B (zh) | 2014-12-11 | 2014-12-11 | 一种vsu环境下的报文处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410764029.7A CN104410586B (zh) | 2014-12-11 | 2014-12-11 | 一种vsu环境下的报文处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104410586A true CN104410586A (zh) | 2015-03-11 |
CN104410586B CN104410586B (zh) | 2018-08-07 |
Family
ID=52648184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410764029.7A Active CN104410586B (zh) | 2014-12-11 | 2014-12-11 | 一种vsu环境下的报文处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104410586B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107231316A (zh) * | 2017-06-27 | 2017-10-03 | 中国联合网络通信集团有限公司 | 报文的传输方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459605A (zh) * | 2008-12-31 | 2009-06-17 | 成都市华为赛门铁克科技有限公司 | 一种流量控制方法和设备 |
CN102156675A (zh) * | 2010-02-12 | 2011-08-17 | 中兴通讯股份有限公司 | 一种内存分配方法及装置 |
CN102195885A (zh) * | 2011-05-27 | 2011-09-21 | 成都市华为赛门铁克科技有限公司 | 报文处理方法及装置 |
CN102906726A (zh) * | 2011-12-09 | 2013-01-30 | 华为技术有限公司 | 协处理加速方法、装置及系统 |
-
2014
- 2014-12-11 CN CN201410764029.7A patent/CN104410586B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459605A (zh) * | 2008-12-31 | 2009-06-17 | 成都市华为赛门铁克科技有限公司 | 一种流量控制方法和设备 |
CN102156675A (zh) * | 2010-02-12 | 2011-08-17 | 中兴通讯股份有限公司 | 一种内存分配方法及装置 |
CN102195885A (zh) * | 2011-05-27 | 2011-09-21 | 成都市华为赛门铁克科技有限公司 | 报文处理方法及装置 |
CN102906726A (zh) * | 2011-12-09 | 2013-01-30 | 华为技术有限公司 | 协处理加速方法、装置及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107231316A (zh) * | 2017-06-27 | 2017-10-03 | 中国联合网络通信集团有限公司 | 报文的传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104410586B (zh) | 2018-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2466824B1 (en) | Service scheduling method and device | |
US9699095B2 (en) | Adaptive allocation of headroom in network devices | |
CN103460199B (zh) | 基于业务类别的自适应中断调整 | |
US9008113B2 (en) | Mapped FIFO buffering | |
EP3073688B1 (en) | Data transmission method, core forwarding device and end point forwarding device | |
US8331387B2 (en) | Data switching flow control with virtual output queuing | |
CN101299721B (zh) | 交换网报文交换方法和交换装置 | |
US11616723B2 (en) | Techniques to reduce network congestion | |
CN101873269B (zh) | 数据转发设备和端口缓存的分配方法 | |
US7382728B2 (en) | Networking switching apparatus and method for congestion control | |
CN108616458A (zh) | 客户端设备上调度分组传输的系统和方法 | |
KR20010045783A (ko) | 이더넷 스위치에서의 흐름제어 방법 및 장치 | |
US20080240140A1 (en) | Network interface with receive classification | |
CN103634223A (zh) | 一种基于网络业务流的动态控制传输方法和装置 | |
CN112714081B (zh) | 一种数据处理方法及其装置 | |
US11552905B2 (en) | Managing virtual output queues | |
CN104301185A (zh) | 报文发送速率检测方法及装置 | |
US10412006B2 (en) | Bandwith sentinel | |
US20150131446A1 (en) | Enabling virtual queues with qos and pfc support and strict priority scheduling | |
CN108234350B (zh) | 一种调度方法及客户驻地设备 | |
CN104410586A (zh) | 一种vsu环境下的报文处理方法和装置 | |
US6944129B1 (en) | Message format and flow control for replacement of the packet control driver/packet interface dual port RAM communication | |
CN106209676A (zh) | 基于多设备的云主机系统的数据处理方法及装置 | |
EP2842399B1 (en) | Duty-cycle control in wireless network | |
CN113050703B (zh) | 一种流量控制方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 juyuanzhou Industrial Park, 19 floor Patentee after: RUIJIE NETWORKS Co.,Ltd. Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 juyuanzhou Industrial Park, 19 floor Patentee before: Beijing Star-Net Ruijie Networks Co.,Ltd. |