CN116319624B - 一种报文处理方法、装置、设备和存储介质 - Google Patents

一种报文处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN116319624B
CN116319624B CN202310588905.4A CN202310588905A CN116319624B CN 116319624 B CN116319624 B CN 116319624B CN 202310588905 A CN202310588905 A CN 202310588905A CN 116319624 B CN116319624 B CN 116319624B
Authority
CN
China
Prior art keywords
rate
cpu
sending
target
protocol message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310588905.4A
Other languages
English (en)
Other versions
CN116319624A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310588905.4A priority Critical patent/CN116319624B/zh
Publication of CN116319624A publication Critical patent/CN116319624A/zh
Application granted granted Critical
Publication of CN116319624B publication Critical patent/CN116319624B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

本申请实施例提供了一种报文处理方法、装置、设备和存储介质,涉及计算机技术领域,包括:获取向CPU发送的多种类型协议报文的优先级顺序;在向CPU发送协议报文的过程中,检测CPU的资源利用率;若CPU的资源利用率大于第一阈值,则根据优先级顺序,降低多种类型协议报文中至少一种类型协议报文的发送速率,使得CPU的总收包速率降低至第一目标收包速率;若CPU的资源利用率小于第二阈值,则根据优先级顺序,增加多种类型协议报文中至少一种类型协议报文的发送速率,使得CPU的总收包速率增加至第二目标收包速率。本申请提升了CPU在空闲状态下对于协议报文的处理能力,避免了CPU过于繁忙导致系统不稳定而造成的网络故障。

Description

一种报文处理方法、装置、设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种报文处理方法、装置、设备和存储介质。
背景技术
交换机作为网络中的传输设备,一方面要维护管理交换芯片、网络接口、风扇电源等硬件资源,另一方面还需要识别处理各种协议报文,并发送至CPU(Central ProcessingUnit,中央处理器),当需要处理的报文数量太多时,会导致CPU繁忙,此时需要对CPU进行保护,相关技术中,一般采用交换机的协议限速机制,保护CPU的运行,但是该种机制会存在过大的限速会导致CPU依然存在繁忙而运行不稳定的问题;过小的限速则会导致CPU过于空闲,发挥不出交换机的最佳性能。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种报文处理方法、装置、设备和存储介质。
为了解决上述问题,本申请实施例公开了一种报文处理方法,应用于交换机,所述交换机包括中央处理器CPU,所述方法包括:
获取向CPU发送的多种类型协议报文的优先级顺序;
在向所述CPU发送协议报文的过程中,检测所述CPU的资源利用率;
若所述CPU的资源利用率大于第一阈值,则根据所述优先级顺序,降低所述多种类型协议报文中至少一种类型协议报文的发送速率,使得所述CPU的总收包速率降低至第一目标收包速率;
若所述CPU的资源利用率小于第二阈值,则根据所述优先级顺序,增加所述多种类型协议报文中至少一种类型协议报文的发送速率,使得所述CPU的总收包速率增加至第二目标收包速率。
可选地,所述根据所述优先级顺序,降低所述多种类型协议报文中至少一种类型协议报文的发送速率,包括:
按照所述优先级从低级到高级的顺序,降低所述多种类型协议报文中至少一种类型协议报文的发送速率。
可选地,所述根据所述优先级顺序,增加所述多种类型协议报文中至少一种类型协议报文的发送速率,包括:
按照所述优先级从高级到低级的顺序,增加所述多种类型协议报文中至少一种类型协议报文的发送速率。
可选地,所述按照所述优先级从低级到高级的顺序,降低所述多种类型协议报文中至少一种类型协议报文的发送速率,包括:
获取所述多种类型协议报文的当前限速值和当前发送速率;
根据所述当前限速值和所述当前发送速率,确定所述多种类型协议报文中发送速率达到所述当前限速值的第一目标协议报文;
按照所述优先级从低级到高级的顺序,将所述第一目标协议报文的发送速率降低。
可选地,将所述第一目标协议报文的发送速率降低,包括:
获取所述第一目标协议报文的最小发送速率和最大发送速率;
根据所述最小发送速率、最大发送速率和所述CPU的资源利用率,确定所述第一目标协议报文的基准速率;
根据所述基准速率,将所述第一目标协议报文的发送速率降低。
可选地,所述根据所述基准速率,将所述第一目标协议报文的发送速率降低,包括:
根据所述第一目标协议报文的当前发送速率和所述基准速率,确定所述第一目标协议报文能够降低的发送速率;
根据第一目标协议报文能够降低的发送速率,将所述第一目标协议报文的发送速率降低。
可选地,所述根据第一目标协议报文能够降低的发送速率,将所述第一目标协议报文的发送速率降低,包括:
根据所述CPU的总收包速率值和所述第一目标收包速率,确定所述CPU需要降低的收包速率;
若所述第一目标协议报文能够降低的发送速率之和小于所述CPU需要降低的收包速率,则确定还需要降低的发送速率;
在所述第一目标协议报文的发送速率降低至所述基准速率后,根据所述还需要降低的发送速率,将所述第一目标协议报文中优先级靠后的协议报文的发送速率降低。
可选地,所述根据所述CPU的总收包速率值和所述第一目标速率,确定所述CPU需要降低的收包速率,包括:
根据所述CPU的资源利用率和所述第一阈值,计算第一比值;
计算所述CPU总收包速率与所述第一比值的乘积,得到所述第一目标收包速率;
计算所述CPU总收包速率和所述第一目标收包速率的差,得到所述CPU需要降低的收包速率。
可选地,所述方法还包括:
根据所述第一目标协议报文降低的发送速率,确定所述第一目标协议报文的第一目标发送速率值;
将所述第一目标协议报文的所述当前限速值更新为所述第一目标发送速率值。
可选地,所述按照所述优先级从高级到低级的顺序,增加所述多种类型协议报文中至少一种类型协议报文的发送速率,包括:
获取所述多种类型协议报文的当前限速值和当前发送速率;
根据所述当前限速值和所述当前发送速率,确定所述多种类型协议报文中发送速率达到所述当前限速值的第二目标协议报文;
按照所述优先级从高级到低级的顺序,将所述第二目标协议报文的发送速率增加。
可选地,所述将所述第二目标协议报文的发送速率增加,包括:
获取所述第二目标协议报文的最小发送速率和最大发送速率;
根据所述最小发送速率、最大发送速率和所述CPU的资源利用率,确定所述第二目标协议报文的基准速率;
根据所述基准速率,将所述第二目标协议报文的发送速率增加。
可选地,所述根据所述基准速率,将所述第二目标协议报文的发送速率增加,包括:
获取所述第二目标协议报文的当前发送速率;
根据所述第二目标协议报文的当前发送速率和所述基准速率,确定所述第二目标协议报文能够增加的发送速率;
根据第二目标协议报文能够增加的发送速率,将所述第二目标协议报文的发送速率增加。
可选地,所述获取所述第二目标协议报文的当前发送速率,包括:
获取所述第二目标协议报文预设时间段发送至所述CPU的数量;
根据所述第二目标协议报文预设时间段发送至所述CPU的数量,确定所述第二目标协议报文的当前发送速率。
可选地,所述根据第二目标协议报文能够增加的发送速率,将所述第二目标协议报文的发送速率增加,包括:
根据所述CPU的总收包速率值和所述第二目标收包速率,确定所述CPU需要增加的收包速率;
若所述第二目标协议报文能够增加的发送速率之和小于所述CPU需要增加的收包速率,则确定还需要增加的发送速率;
在所述第二目标协议报文的发送速率增加至所述基准速率后,根据所述还需要增加的发送速率,将所述第二目标协议报文中优先级靠前的协议报文的发送速率增加。
可选地,所述根据所述CPU的总收包速率值和所述第二目标收包速率,确定所述CPU需要增加的收包速率,包括:
根据所述CPU的总收包速率和所述第二阈值,计算第二比值;
计算所述CPU的总收包速率与所述第二比值的乘积,得到所述第二目标收包速率;
计算所述CPU的总收包速率和所述第二目标收包速率的差,得到所述CPU需要增加的收包速率。
可选地,所述方法还包括:
根据所述第二目标协议报文增加的发送速率,确定所述第二目标协议报文的第二目标发送速率值;
将所述第二目标协议报文的所述当前限速值更新为所述第二目标发送速率值。
可选地,所述获取向CPU发送的多种类型协议报文的优先级顺序的步骤之前,还包括:
设定所述多种类型协议报文的限速信息,所述限速信息包括各种类型协议报文的最小发送速率、最大发送速率、当前限速值、优先级顺序;
按照所述限速信息,将所述多种类型协议报文发送至所述CPU。
本申请还公开了一种报文处理装置,应用于交换机,所述交换机包括中央处理器CPU,所述装置包括:
获取模块,用于获取向CPU发送的多种类型协议报文的优先级顺序;
检测模块,用于在向所述CPU发送协议报文的过程中,检测所述CPU的资源利用率;
降低模块,用于若所述CPU的资源利用率大于第一阈值,则根据所述优先级顺序,降低所述多种类型协议报文中至少一种类型协议报文的发送速率,使得所述CPU的总收包速率降低至第一目标收包速率;
增加模块,用于若所述CPU的资源利用率小于第二阈值,则根据所述优先级顺序,增加所述多种类型协议报文中至少一种类型协议报文的发送速率,使得所述CPU的总收包速率增加至第二目标收包速率。
可选地,所述降低模块,包括:
降低子模块,用于按照所述优先级从低级到高级的顺序,降低所述多种类型协议报文中至少一种类型协议报文的发送速率。
可选地,所述增加模块,包括:
增加子模块,用于按照所述优先级从高级到低级的顺序,增加所述多种类型协议报文中至少一种类型协议报文的发送速率。
可选地,所述降低子模块,包括:
第一获取单元,用于获取所述多种类型协议报文的当前限速值和当前发送速率;
第一确定单元,用于根据所述当前限速值和所述当前发送速率,确定所述多种类型协议报文中发送速率达到所述当前限速值的第一目标协议报文;
降低单元,用于按照所述优先级从低级到高级的顺序,将所述第一目标协议报文的发送速率降低。
可选地,所述降低单元,包括:
第一获取子单元,用于获取所述第一目标协议报文的最小发送速率和最大发送速率;
第一确定子单元,用于根据所述最小发送速率、最大发送速率和所述CPU的资源利用率,确定所述第一目标协议报文的基准速率;
第一降低子单元,用于根据所述基准速率,将所述第一目标协议报文的发送速率降低。
可选地,所述第一降低子单元,包括:
第二确定子单元,用于根据所述第一目标协议报文的当前发送速率和所述基准速率,确定所述第一目标协议报文能够降低的发送速率;
第二降低子单元,用于根据第一目标协议报文能够降低的发送速率,将所述第一目标协议报文的发送速率降低。
可选地,所述第二降低子单元,包括:
第三确定子单元,用于根据所述CPU的总收包速率值和所述第一目标收包速率,确定所述CPU需要降低的收包速率;
第四确定子单元,用于若所述第一目标协议报文能够降低的发送速率之和小于所述CPU需要降低的收包速率,则确定还需要降低的发送速率;
第三降低子单元,用于在所述第一目标协议报文的发送速率降低至所述基准速率后,根据所述还需要降低的发送速率,将所述第一目标协议报文中优先级靠后的协议报文的发送速率降低。
可选地,所述第三确定子单元,包括:
第一计算子单元,用于根据所述CPU的资源利用率和所述第一阈值,计算第一比值;
第二计算子单元,用于计算所述CPU总收包速率与所述第一比值的乘积,得到所述第一目标收包速率;
第三计算子单元,用于计算所述CPU总收包速率和所述第一目标收包速率的差,得到所述CPU需要降低的收包速率。
可选地,所述装置还包括:
第一确定模块,用于根据所述第一目标协议报文降低的发送速率,确定所述第一目标协议报文的第一目标发送速率值;
第一更新模块,用于将所述第一目标协议报文的所述当前限速值更新为所述第一目标发送速率值。
可选地,所述增加子模块,包括:
第二获取单元,用于获取所述多种类型协议报文的当前限速值和当前发送速率;
第二确定单元,用于根据所述当前限速值和所述当前发送速率,确定所述多种类型协议报文中发送速率达到所述当前限速值的第二目标协议报文;
增加单元,用于按照所述优先级从高级到低级的顺序,将所述第二目标协议报文的发送速率增加。
可选地,所述增加单元,包括:
第二获取子单元,用于获取所述第二目标协议报文的最小发送速率和最大发送速率;
第五确定子单元,用于根据所述最小发送速率、最大发送速率和所述CPU的资源利用率,确定所述第二目标协议报文的基准速率;
第一增加子单元,用于根据所述基准速率,将所述第二目标协议报文的发送速率增加。
可选地,所述第一增加子单元,包括:
第三获取子单元,用于获取所述第二目标协议报文的发送速率;
第六确定子单元,用于根据所述第二目标协议报文的当前发送速率和所述基准速率,确定所述第二目标协议报文能够增加的发送速率;
第二增加子单元,用于根据第二目标协议报文能够增加的发送速率,将所述第二目标协议报文的发送速率增加。
可选地,所述第三获取子单元,包括:
第四获取子单元,用于获取所述第二目标协议报文预设时间段发送至所述CPU的数量;
第七确定子单元,用于根据所述第二目标协议报文预设时间段发送至所述CPU的数量,确定所述第二目标协议报文的发送速率。
可选地,所述第二增加子单元,包括:
第八确定子单元,用于根据所述CPU的总收包速率值和所述第二目标收包速率,确定所述CPU需要增加的收包速率;
第九确定子单元,用于若所述第二目标协议报文能够增加的发送速率之和小于所述CPU需要增加的收包速率,则确定还需要增加的发送速率;
第三增加子单元,用于在所述第二目标协议报文的发送速率增加至所述基准速率后,根据所述还需要增加的发送速率,将所述第二目标协议报文中优先级靠前的协议报文的发送速率增加。
可选地,所述第八确定子单元,包括:
第一计算子单元,用于根据所述CPU的总收包速率和所述第二阈值,计算第二比值;
第二计算子单元,用于计算所述CPU的总收包速率与所述第二比值的乘积,得到所述第二目标收包速率;
第三计算子单元,用于计算所述CPU的总收包速率和所述第二目标收包速率的差,得到所述CPU需要增加的收包速率。
可选地,所述装置还包括:
第二确定模块,用于根据所述第二目标协议报文增加的发送速率,确定所述第二目标协议报文的第二目标发送速率值;
第二更新模块,用于将所述第二目标协议报文的所述当前限速值更新为所述第二目标发送速率值。
可选地,所述装置还包括:
设定模块,用于设定所述多种类型协议报文的限速信息,所述限速信息包括各种类型协议报文的最小发送速率、最大发送速率、当前限速值、优先级顺序;
发送模块,用于按照所述限速信息,将所述多种类型协议报文发送至所述CPU。
本申请还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的报文处理方法的步骤。
本申请还公开了一种非易失性可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述的报文处理方法的步骤。
本申请实施例包括以下优点:
本申请可以根据CPU资源利用率,动态调整协议报文发送至CPU的速率,当CPU资源利用率很高时,通过降低多种类型协议报文中至少一种类型协议报文的发送速率,从而降低CPU资源利用率,避免CPU太忙而导致关键网络服务得不到响应造成网络故障;当CPU资源利用率较低时,通过增加多种类型协议报文中至少一种类型协议报文的发送速率,从而增加CPU处理的协议报文,能够加快网络服务得到响应,使网络更舒畅。
附图说明
图1是本申请实施例提供的一种报文处理方法的步骤流程图;
图2是本申请实施例提供的另一种报文处理方法的步骤流程图;
图3是本申请实施例提供的一种报文处理装置的结构框图;
图4是本申请实施例提供的一种电子设备的结构框图;
图5是本申请实施例提供的一种计算机可读存储介质的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
交换机作为网络中的传输设备,一方面要维护管理交换芯片、网络接口、风扇电源等硬件资源,另一方面还需要识别处理各种协议报文,例如ARP(Address ResolutionProtocol,地址解析协议)报文,用于学习主机路由服务;OSPF(Open Shortest PathFirst,开放式最短路径优先)协议,用于传递路由表信息,选择最佳转发路径;远程终端协议Telnet报文,为用户管理交换机提供服务;SNMP(Simple Network ManagementProtocol,简单网络管理协议)协议等。由于交换机的CPU处理能力有限,当需要处理的协议报文增多的时候,可能会导致CPU繁忙,尤其是当网络中存在着大量攻击报文的时候,如果任由其发送至CPU,则会导致CPU无法正常运行,从而使得用户访问网络失败,管理员无法正常管理交换机。
针对这种情况,需要对CPU进行保护,在相关技术中,通常采用通过交换芯片的ACL(Access Control List,访问控制列表)资源匹配协议报文的特征,根据预先设定好的动作将它送给CPU处理,同时绑定meter限速表进行限速,在限速值范围内的报文被允许发送至CPU,而超过限速值的报文则不被允许发送至CPU,这种按报文类型进行限速的方式称之为协议限速。
由于网络环境是时刻变化的,CPU的运行状态也在变化,当CPU空闲的时候,可以处理更多的协议报文,而限速值的设定导致超过限速的协议报文无法及时发送至CPU处理,造成网络服务无法及时得到响应;而当CPU繁忙的时候,尽管每种协议报文均未超过其限速,但是当很多种协议报文同时发送至CPU的时候,依然会使得CPU更加繁忙而运行异常,导致某些关键网络服务无法得到显影而造成网络故障。可见,固定的限速值无法满足动态变化的网络环境的需求。
基于此,本申请创造性地提出一种报文处理方法,本申请可以根据CPU资源利用率,动态调整协议报文发送至CPU的速率,当CPU资源利用率很高时,通过降低多种类型协议报文中至少一种类型协议报文的发送速率,从而降低CPU资源利用率,避免CPU太忙而导致关键网络服务得不到响应造成网络故障;当CPU资源利用率较低时,通过增加多种类型协议报文中至少一种类型协议报文的发送速率,从而增加CPU处理的协议报文,能够加快网络服务得到响应,使网络更舒畅。
参照图1,示出了本申请实施例提出的一种报文处理方法的步骤流程图,应用于交换机,交换机包括中央处理器CPU,该方法可以包括如下步骤:
步骤101,获取向CPU发送的多种类型协议报文的优先级顺序。
本申请实施例中,不同类型协议报文对应不同的优先级顺序,优先级别越高的协议报文优先进行发送,在一种示例中,向CPU发送的多种类型报文分别包括ARP、OSPF、Telnet、SNMP,ARP对应的优先级别为1,OSPF对应的优先级别为2,Telnet对应的优先级别为3,SNMP对应的优先级别为4,则说明SNMP的优先级别最高,则这四种协议的发送顺序为SNMP、Telnet、OSPF、ARP。即上位机可以获取向CPU发送的多种类型协议报文的优先级顺序,然后根据优先级顺序多种类型报文的发送顺序。
需要说明的是,多种类型协议报文的优先级顺序可以根据用户的需求进行设定,在此不做限定。
步骤102,在向CPU发送协议报文的过程中,检测CPU的资源利用率。
本申请实施例中,CPU的资源利用率可以用来表征CPU的繁忙程度,CPU的资源利用率越高,则表示CPU越繁忙,CPU的资源利用率越低,则表示CPU越空闲。
在一种示例中,可以通过交换机的预设接口检测得到CPU的资源利用率。
步骤103,若CPU的资源利用率大于第一阈值,则根据优先级顺序,降低多种类型协议报文中至少一种类型协议报文的发送速率,使得CPU的总收包速率降低至第一目标收包速率。
本申请实施例中,第一阈值是用来判断CPU是否繁忙的标准,可以根据用户的需求进行设定,在此不做限定,第一目标收包速率指的是CPU的资源利用率不大于第一阈值时CPU的总收包速率。
在一种示例中,若第一阈值为90%,若通过交换机的预设接口检测到的CPU的利用率为95,此时CPU的资源利用率大于第一阈值,则确定CPU此时为繁忙状态,则可以根据优先级顺序,从高级到低级的顺序或从低级到高级的顺序降低多种类型协议报文中至少一种类型协议报文的发送速率,使得CPU的总收包速率降低至第一目标收包速率,从而将CPU的利用率降低到第一阈值以下。
步骤104,若CPU的资源利用率小于第二阈值,则根据优先级顺序,增加多种类型协议报文中至少一种类型协议报文的发送速率,使得CPU的总收包速率增加至第二目标收包速率。
本申请实施例中,第二阈值是用来判断CPU是否空闲的标准,可以根据用户的需求进行设定,在此不做限定,第二目标收包速率指的是CPU的资源利用率不小于第二阈值时CPU的总收包速率。
在一种示例中,若第二阈值为80%,若通过交换机的预设接口检测到的CPU的资源利用率为50%,此时CPU的资源利用率小于第二阈值,则确定CPU为空闲状态,则可以根据获取的多种类型报文的优先级顺序,从高级到低级的顺序或从低级到高级的顺序增加多种类型协议报文中至少一种类型协议报文的发送速率,使得CPU的总收包速率增加至第二目标收包速率,从而将CPU的资源利用率增加到第二阈值以上。
在本申请的一种实施例方式中,若CPU的资源利用率位于第二阈值和第一阈值之间,则说明CPU的状态为正常工作状态,此时不需要对CPU进行处理。
本申请可以根据CPU资源利用率,动态调整协议报文发送至CPU的速率,当CPU资源利用率很高时,通过降低多种类型协议报文中至少一种类型协议报文的发送速率,从而降低CPU资源利用率,避免CPU太忙而导致关键网络服务得不到响应造成网络故障;当CPU资源利用率较低时,通过增加多种类型协议报文中至少一种类型协议报文的发送速率,从而增加CPU处理的协议报文,能够加快网络服务得到响应,使网络更舒畅。
参照图2,示出了本申请实施例提出的另一种报文处理方法的步骤流程图,应用于交换机,交换机包括中央处理器CPU,该方法可以包括如下步骤:
步骤201,获取向CPU发送的多种类型协议报文的优先级顺序。
步骤202,在向CPU发送协议报文的过程中,检测CPU的资源利用率。
步骤203,若CPU的资源利用率大于第一阈值,则按照优先级从低级到高级的顺序,降低多种类型协议报文中至少一种类型协议报文的发送速率,使得CPU的总收包速率降低至第一目标收包速率。
本申请实施例中,为了保障优先级别高的协议报文的发送速率不受影响,在确定CPU为繁忙状态时,可以优先降低优先级别低的协议报文的发送速率,即可以按照优先级别从低级到高级的顺序,降低多种类型协议报文中至少一种类型协议报文的发送速率,使得CPU的总收包速率降低至第一目标收包速率。
在本申请的一种实施例方式中,所述按照优先级从低级到高级的顺序,降低多种类型协议报文中至少一种类型协议报文的发送速率,可以包括如下子步骤:
子步骤S21,获取多种类型协议报文的当前限速值和当前发送速率。
本申请实施例中,各种协议报文对应不同的当前限速值,当前限速值用于限制协议报文发送的速率,在一种示例中,若协议报文SNMP的当前限速值为200PPS(packets persecond,包/秒),则说明协议报文发送的速率不能超过200PPS。
多种类型协议报文的当前发送速率可以根据预设时间段各种协议报文的发送个数除以预设时间得到,在一种示例中,OSPF在3s内发送了1200包,则说明OSPF的当前速率为400PPS。
子步骤S22,根据当前限速值和当前发送速率,确定多种类型协议报文中发送速率达到当前限速值的第一目标协议报文。
本申请实施例中,第一目标协议报文指的是发送速率达到当前限速值的协议报文,可以根据各种类型协议报文的当前限速值和当前发送速率,确定各种类型协议报文中的第一目标协议报文。
在一种示例中,多种协议报文包括STP(Spanning Tree Protocol,生成树协议报文)、LACP(Link Aggregation Control Protocol,链路聚合控制协议)、BGP(BorderGateway Protocol,边界网关协议),STP的当前限速值为200PPS,当前发送速率为150PPS,LACP的当前限速值为1000PPS,当前发送速率为1000PPS,BGP的当前限速值为600PPS,当前发送速率为500PPS,则可以确定第一目标协议报文为LACP。
子步骤S23,按照优先级从低级到高级的顺序,将第一目标协议报文的发送速率降低。
本申请实施例中,当第一目标协议报文包括单个时,可以直接降低第一目标协议报文的发送速率;当第一目标协议报文包括多个时,可以在确定第一目标协议报文后,按照优先级别从低级到高级的顺序,将第一目标协议报文的发送速率降低。
在本申请的一种实施例方式中,所述将第一目标协议报文的发送速率降低,包括:
步骤S231,获取第一目标协议报文的最小发送速率和最大发送速率。
本申请实施例中,各种协议报文对应不同的最小发送速率和最大发送速率,最小发送速率可以为0,表示报文不发送至CPU,最大发送速率不超过CPU的收包总限速,最小发送速率和最大发送速率可以根据据CPU的处理能力和每种协议报文在网络环境中的可能速率进行设定。
在一种示例中,第一目标协议报文为BGP,BGP的最小发送速率为100PPS,最大发送速率为1000PPS。
步骤S232,根据最小发送速率、最大发送速率和CPU的资源利用率,确定第一目标协议报文的基准速率。
本申请实施例中,可以通过如下公式计算第一目标协议报文的基准速率:
公式(1)
其中,为第一目标协议报文的基准速率,/>为第一目标协议报文的最小发送速率,/>为第一目标协议报文的最大发送速率,/>为调节因子,/>指的是CPU的资源利用率。
在一种示例中,第一目标协议报文为IP2ME,为100PPS,/>为2000,为10,CPU的资源利用率为95%,则根据公式(1)计算得到的第一目标协议报文的基准速率为1050PPS。
步骤S233,根据基准速率,将第一目标协议报文的发送速率降低。
本申请实施例中,在确定第一目标协议报文的基准速率后,可以确定第一目标协议报文具体能降低的速率值。
在本申请的一种实施例方式中,步骤S233可以包括:
步骤S2331,根据第一目标协议报文的当前发送速率和基准速率,确定第一目标协议报文能够降低的发送速率。
在一种示例中,根据上述举例中,第一目标协议报文为IP2ME,基准速率为1050PPS,当前发送速率为1100PPS,则说明第一目标协议报文能够降低的发送速率为50PPS。
步骤S2332,根据目标协议报文能够降低的发送速率,将目标协议报文的发送速率降低。
本申请实施例中,在确定第一目标协议报文能够降低的发送速率后,可以将第一目标协议报文的发送速率降低为1050PPS。
在本申请的一种实施例方式中,所述步骤S2332,可以包括:
根据CPU的总收包速率值和第一目标收包速率,确定CPU需要降低的收包速率;若第一目标协议报文能够降低的发送速率之和小于CPU需要降低的收包速率,则确定还需要降低的发送速率;在第一目标协议报文的发送速率降低至基准速率后,根据还需要降低的发送速率,将第一目标协议报文中优先级靠后的协议报文的发送速率降低。
本申请实施例中,可以将CPU的总收包速率值减去第一目标收包速率得到CPU需要降低的收包速率,若第一目标协议报文能够降低的发送速率之和小于CPU需要降低的收包速率,则说明第一目标协议报文的当前发送速率降低至基准速率时,CPU的资源利用率还没有降低到第一阈值,此时还需要继续降低第一目标协议报文的发送速率。
在一种示例中,当CPU需要降低的收包速率为450PPS,第一目标协议报文包括两个为OSPF和SNMP,OSPF能够降低的发送速率为150PPS,SNMP能够降低的发送速率为150PPS,OSPF的优先级为5,SNMP为4,则在OSPF的发送速率降低了150PPS、SNMP的发送速率降低了150PPS后,由于SNMP的优先级靠后,则再将SNMP的发送速率降低450-150-150=150PPS。
在本申请的一种实施例方式中,根据CPU的总收包速率值和第一目标收包速率,确定CPU需要降低的收包速率,包括:
根据CPU的资源利用率和第一阈值,计算第一比值;计算CPU总收包速率与第一比值的乘积,得到第一目标收包速率;计算CPU总收包速率和第一目标收包速率的差,得到CPU需要降低的收包速率。
本申请实施例中,可以通过如下公式(2)计算第一目标收包速率:
公式(2)
其中,为第一目标收包速率,/>为CPU的总收包速率,/>为第一阈值,为CPU的资源利用率。
可以通过如下公式(3)计算出CPU需要降低的收包速率为:
公式(3)
其中,为CPU需要降低的收包速率。
在一种示例中,如表1示出了交换机向CPU发送的多种类型的协议报文为STP、LACP、BGP、OSPF、DHCP、ARP、IP2ME,第一阈值为90%,CPU的资源利用率为95%,alpha取值为10。
表1
可以根据各种协议报文的当前发送速率,确定出CPU的总收包速率为3000PPS,通过公式(2)计算出第一目标收包速率为3000*(100%+90%-95%)=2850PPS,/>则=3000-2850=150PPS,根据表1可以看出,只有IP2ME的当前发送速率达到当前限速值,即第一目标协议报文为IP2ME,可以根据公式(1)计算出基准速率为1050,则第一目标协议报文能够降低的发送速率为1100-1050=50PPS,可以看出50PPS<150PPS,即需要继续降低第一目标协议报文的发送速率。第一目标协议报文还需要降低的发送速率为150-50=100PPS,即将第一目标协议报文IP2ME的速率由1050PPS降低100PPS为950PPS。
在本申请的一种实施例方式中,所述方法还包括:
根据第一目标协议报文降低的发送速率,确定第一目标协议报文的第一目标发送速率值;将第一目标协议报文的当前限速值更新为第一目标发送速率值。
本申请实施例中,由于第一目标协议报文IP2ME的当前限速值为1100PPS,为了保证第一目标协议报文IP2ME的发送速率不会超过950PPS,可以根据第一目标协议报文降低的发送速率,确定第一目标协议报文的第一目标发送速率值,上述表1中第一目标协议报文IP2ME降低的发送速率为50+100=150PPS,第一目标协议报文的第一目标发送速率值为1100-150=950PPS,则可以将第一目标协议报文的当前限速值更新为950PPS。本申请可以在CPU繁忙时通过降速策略减轻CPU的负担,避免了CPU过于繁忙导致系统不稳定而造成的网络故障。
步骤204,若CPU的资源利用率小于第二阈值,则按照优先级从高级到低级的顺序,增加多种类型协议报文中至少一种类型协议报文的发送速率,使得CPU的总收包速率增加至第二目标收包速率。
本申请实施例中,在确定CPU为空闲状态时,可以优先增加优先级别高的协议报文的发送速率,即可以按照优先级别从高级到低级的顺序,增加多种类型协议报文中至少一种类型协议报文的发送速率,使得CPU的总收包速率增加至第二目标收包速率。
在本申请的一种实施例方式中,所述按照优先级从高级到低级的顺序,增加多种类型协议报文中至少一种类型协议报文的发送速率,可以包括:
S24,获取多种类型协议报文的当前限速值和当前发送速率。
本申请实施例中,各种协议报文对应不同的当前限速值,当前限速值用于限制协议报文发送的速率,在一种示例中,若协议报文STP的当前限速值为100PPS(packets persecond,包/秒),则说明协议报文发送的速率不能超过100PPS。
多种类型协议报文的当前发送速率可以根据预设时间段各种协议报文的发送个数除以预设时间得到,在一种示例中,OSPF在3s内发送了0包,则说明OSPF的当前发送速率为0PPS。
S25,根据当前限速值和当前发送速率,确定多种类型协议报文中发送速率达到当前限速值的第二目标协议报文。
本申请实施例中,第二目标协议报文指的是发送速率达到当前限速值的协议报文,可以根据各种类型协议报文的当前限速值和当前发送速率,确定各种类型协议报文中的第一目标协议报文。
在一种示例中,多种协议报文包括STP(Spanning Tree Protocol,生成树协议报文)、LACP(Link Aggregation Control Protocol,链路聚合控制协议)、BGP(BorderGateway Protocol,边界网关协议)、ARP,STP的当前限速值为200PPS,当前发送速率为150PPS,LACP的当前限速值为1000PPS,当前发送速率为900PPS,BGP的当前限速值为600PPS,当前发送速率为500PPS,ARP的当前限速值为1000PPS,当前发送速率为1000PPS,则可以确定第二目标协议报文为ARP。
需要说明的是,若多种类型协议报文中发送速率均未达到当前限速值,则不进行任何操作。
S26,按照优先级从高级到低级的顺序,将第二目标协议报文的发送速率增加。
本申请实施例中,当第二目标协议报文包括单个时,可以直接增加第二目标协议报文的发送速率;当第二目标协议报文包括多个时,可以在确定第二目标协议报文后,按照优先级别从高级到低级的顺序,将第二目标协议报文的发送速率增加。
在本申请的一种实施例方式中,所述将第二目标协议报文的发送速率增加,包括:
S261,获取第二目标协议报文的最小发送速率和最大发送速率。
本申请实施例中,各种协议报文对应不同的最小发送速率和最大发送速率,最小发送速率可以为0,表示报文不发送至CPU,最大发送速率不超过CPU的收包总限速,最小发送速率和最大发送速率可以根据CPU的处理能力和每种协议报文在网络环境中的可能速率进行设定。
在一种示例中,DHCP的最小发送速率和最大发送速率分别为100PPS和2000PPS,则说明DHCP的发送速率可能为100~2000PPS。
S262,根据最小发送速率、最大发送速率和CPU的资源利用率,确定第二目标协议报文的基准速率。
本申请实施例中,可以通过如下公式(4)计算第二目标协议报文的基准速率:
公式(4)
其中,为第二目标协议报文的基准速率,/>为第二目标协议报文的最小发送速率,/>为第二目标协议报文的最大发送速率,/>为调节因子,/>指的是CPU的资源利用率。
在一种示例中,第二目标协议报文为ARP,为100PPS,/>为2000,/>为1,CPU的资源利用率为50%,则根据公式(4)计算得到的第一目标协议报文的基准速率为1050PPS。
S263,根据基准速率,将第二目标协议报文的发送速率增加。
本申请实施例中,在确定第二目标协议报文的基准速率后,可以确定第二目标协议报文具体能增加的速率值。
在本申请的一种实施例方式中,S263,可以包括:
S2631,获取第二目标协议报文的发送速率。
本申请实施例中,第二目标协议报文的发送速率可以根据单位时间内发生的报文数量进行计算。
在本申请的一种实施例方式中,所述S2631,可以包括:
获取第二目标协议报文预设时间段发送至CPU的数量,根据第二目标协议报文预设时间段发送至CPU的数量,确定第二目标协议报文的当前发送速率。
本申请实施例中,第二目标协议报文在5s内发送至CPU的数量为5000包,则第二目标协议报文的当前发送速率为1000PPS。
S2632,根据第二目标协议报文的当前发送速率和基准速率,确定第二目标协议报文能够增加的发送速率。
本申请实施例中,根据上述举例中,第二目标协议报文为ARP,基准速率为1050PPS,当前发送速率为1000PPS,则说明第二目标协议报文能够增加的发送速率为50PPS。
S2633,根据目标协议报文能够增加的发送速率,将目标协议报文的发送速率增加。
本申请实施例中,在确定第二目标协议报文能够增加的发送速率后,可以将第二目标协议报文的发送速率增加为1050PPS。
在本申请的一种实施例方式中,所述S2633,可以包括:
根据CPU的总收包速率值和第二目标收包速率,确定CPU需要增加的收包速率;若第二目标协议报文能够增加的发送速率之和小于CPU需要增加的收包速率,则确定还需要增加的发送速率;在第二目标协议报文的发送速率增加至基准速率后,根据还需要增加的发送速率,将第二目标协议报文中优先级靠前的协议报文的发送速率增加。
本申请实施例中,可以将第二目标收包速率减去CPU的总收包速率值得到CPU需要增加的收包速率,若第二目标协议报文能够增加的发送速率之和小于CPU需要增加的收包速率,则说明第二目标协议报文的当前发送速率增加至基准速率时,CPU的资源利用率还没有增加到第二阈值,此时还需要继续增加第二目标协议报文的发送速率。
在一种示例中,当CPU需要增加的收包速率为500PPS,第二目标协议报文包括两个为OSPF和ARP,OSPF能够增加的发送速率为150PPS,ARP能够增加的发送速率为100PPS,OSPF的优先级为5,ARP为4,则在OSPF的发送速率增加了150PPS、ARP的发送速率增加了100PPS后,由于OSPF的优先级靠前,则再将OSPF的发送速率增加500-150-100=250PPS。
在本申请的一种实施例方式中,所述根据CPU的总收包速率值和第二目标收包速率,确定CPU需要增加的收包速率,包括:
根据CPU的总收包速率和第二阈值,计算第二比值;计算CPU的总收包速率与第二比值的乘积,得到第二目标收包速率;计算CPU的总收包速率和第二目标收包速率的差,得到CPU需要增加的收包速率。
本申请实施例中,可以通过如下公式(5)计算第二目标收包速率:
公式(5)
其中,为第二目标收包速率,/>为CPU的总收包速率,/>为第二阈值,为CPU的资源利用率。
可以通过如下公式(3)计算出CPU需要增加的收包速率为:
公式(6)
其中,为CPU需要增加的收包速率。
如表2示出了交换机向CPU发送的多种类型的协议报文为STP、LACP、BGP、OSPF、DHCP、ARP、IP2ME,第一阈值为80%,CPU的资源利用率为50%,alpha取值为1。
表2
可以根据各种协议报文的当前发送速率,确定出CPU的总收包速率为2000PPS,通过公式(5)计算出第二目标收包速率为2000*(100%+80%-50%)=2600PPS,则/>=2600-2000=600PPS,根据表2可以看出,只有ARP的当前发送速率达到当前限速值,即第二目标协议报文为ARP,可以根据公式(4)计算出基准速率为1050,则第二目标协议报文能够增加的发送速率为1050-1000=50PPS,可以看出50PPS<600PPS,即需要继续增加第二目标协议报文的发送速率。第二目标协议报文还需要增加的发送速率为600-50=550PPS,即将第二目标协议报文ARP的发送速率由1050PPS继续增加550PPS为1600PPS。
在本申请的一种实施例方式中,还包括:
根据第二目标协议报文增加的发送速率,确定第二目标协议报文的第二目标发送速率值;将目第二标协议报文的当前限速值更新为第二目标发送速率值。
本申请实施例中,由于第二目标协议报文ARP的当前限速值为1000PPS,为了保证第二目标协议报文ARP的发送速率可以达到1600PPS,可以根据第二目标协议报文增加的发送速率,确定第二目标协议报文的第二目标发送速率值,上述表1中第二目标协议报文ARP增加的发送速率为50+550=600PPS,第二目标协议报文的第二目标发送速率值为1050+550=1600PPS,则可以将第二目标协议报文的当前限速值更新为1600PPS。本申请可以在CPU繁忙时通过降速策略减轻CPU的负担,避免了CPU过于繁忙导致系统不稳定而造成的网络故障。
在本申请的一种实施例方式中,步骤201之前,还可以包括:
设定多种类型协议报文的限速信息,限速信息包括各种类型协议报文的最小发送速率、最大发送速率、当前限速值、优先级顺序;按照限速信息,将多种类型协议报文发送至CPU。
本申请实施例中,交换机向CPU发送多种类型的报文之前,先根据不同协议的类型进行报文分类,然后设定各种类型报文的限速信息,在设置好限速信息后,可以将多种类型的协议报文发送至CPU。速信息包括各种类型协议报文的最小发送速率、最大发送速率、当前限速值、优先级顺序。
本申请根据CPU资源利用率动态调整协议报文发送至CPU的速率,当CPU资源利用率很高时,通过CPU收包降速策略减少协议报文发送至CPU的数量,从而降低CPU资源利用率,避免CPU太忙而导致关键网络服务得不到响应造成网络故障;当CPU资源利用率较低时,通过CPU收包加速策略,增加协议报文发送至CPU的数量,从而增加CPU处理的协议报文,能够加快网络服务得到响应,使网络更舒畅。通过这种动态的限速调整策略,提升了CPU在空闲状态下对于协议报文的处理能力,可以更好地响应网络服务的需求,而在CPU繁忙时通过降速策略减轻CPU的负担,避免了CPU过于繁忙导致系统不稳定而造成的网络故障。
如图3,示出了本申请实施例提供的一种报文处理装置的结构框图,应用于交换机,交换机包括中央处理器CPU,装置可以包括:
获取模块301,用于获取向CPU发送的多种类型协议报文的优先级顺序;
检测模块302,用于在向CPU发送协议报文的过程中,检测CPU的资源利用率;
降低模块303,用于若CPU的资源利用率大于第一阈值,则根据优先级顺序,降低多种类型协议报文中至少一种类型协议报文的发送速率,使得CPU的总收包速率降低至第一目标收包速率;
增加模块304,用于若CPU的资源利用率小于第二阈值,则根据优先级顺序,增加多种类型协议报文中至少一种类型协议报文的发送速率,使得CPU的总收包速率增加至第二目标收包速率。
在本申请的一种实施例方式中,降低模块303,可以包括:
降低子模块,用于按照优先级从低级到高级的顺序,降低多种类型协议报文中至少一种类型协议报文的发送速率。
在本申请的一种实施例方式中,增加模块304,可以包括:
增加子模块,用于按照优先级从高级到低级的顺序,增加多种类型协议报文中至少一种类型协议报文的发送速率。
在本申请的一种实施例方式中,降低子模块,可以包括:
第一获取单元,用于获取多种类型协议报文的当前限速值和当前发送速率;
第一确定单元,用于根据当前限速值和当前发送速率,确定多种类型协议报文中发送速率达到当前限速值的第一目标协议报文;
降低单元,用于按照优先级从低级到高级的顺序,将第一目标协议报文的发送速率降低。
在本申请的一种实施例方式中,降低单元,可以包括:
第一获取子单元,用于获取第一目标协议报文的最小发送速率和最大发送速率;
第一确定子单元,用于根据最小发送速率、最大发送速率和CPU的资源利用率,确定第一目标协议报文的基准速率;
第一降低子单元,用于根据基准速率,将第一目标协议报文的发送速率降低。
在本申请的一种实施例方式中,第一降低子单元,可以包括:
第二确定子单元,用于根据第一目标协议报文的当前发送速率和基准速率,确定第一目标协议报文能够降低的发送速率;
第二降低子单元,用于根据第一目标协议报文能够降低的发送速率,将第一目标协议报文的发送速率降低。
在本申请的一种实施例方式中,第二降低子单元,可以包括:
第三确定子单元,用于根据CPU的总收包速率值和第一目标收包速率,确定CPU需要降低的收包速率;
第四确定子单元,用于若第一目标协议报文能够降低的发送速率之和小于CPU需要降低的收包速率,则确定还需要降低的发送速率;
第三降低子单元,用于在第一目标协议报文的发送速率降低至基准速率后,根据还需要降低的发送速率,将第一目标协议报文中优先级靠后的协议报文的发送速率降低。
在本申请的一种实施例方式中,第三确定子单元,可以包括:
第一计算子单元,用于根据CPU的资源利用率和第一阈值,计算第一比值;
第二计算子单元,用于计算CPU总收包速率与第一比值的乘积,得到第一目标收包速率;
第三计算子单元,用于计算CPU总收包速率和第一目标收包速率的差,得到CPU需要降低的收包速率。
在本申请的一种实施例方式中,还可以包括:
第一确定模块,用于根据第一目标协议报文降低的发送速率,确定第一目标协议报文的目标发送速率值;
第一更新模块,用于将第一目标协议报文的当前限速值更新为目标发送速率值。
在本申请的一种实施例方式中,增加子模块,可以包括:
第二获取单元,用于获取多种类型协议报文的当前限速值和当前发送速率;
第二确定单元,用于根据当前限速值和当前发送速率,确定多种类型协议报文中发送速率达到当前限速值的第二目标协议报文;
增加单元,用于按照优先级从高级到低级的顺序,将第二目标协议报文的发送速率增加。
在本申请的一种实施例方式中,增加单元,可以包括:
第二获取子单元,用于获取第二目标协议报文的最小发送速率和最大发送速率;
第五确定子单元,用于根据最小发送速率、最大发送速率和CPU的资源利用率,确定第二目标协议报文的基准速率;
第一增加子单元,用于根据基准速率,将第二目标协议报文的发送速率增加。
在本申请的一种实施例方式中,第一增加子单元,可以包括:
第三获取子单元,用于获取第二目标协议报文的发送速率;
第六确定子单元,用于根据第二目标协议报文的当前发送速率和基准速率,确定第二目标协议报文能够增加的发送速率;
第二增加子单元,用于根据第二目标协议报文能够增加的发送速率,将第二目标协议报文的发送速率增加。
在本申请的一种实施例方式中,第三获取子单元,包括:
第四获取子单元,用于获取所述第二目标协议报文预设时间段发送至CPU的数量;
第七确定子单元,用于根据所述第二目标协议报文预设时间段发送至CPU的数量,确定第二目标协议报文的当前发送速率。
在本申请的一种实施例方式中,第二增加子单元,可以包括:
第八确定子单元,用于根据CPU的总收包速率值和第二目标收包速率,确定CPU需要增加的收包速率;
第九确定子单元,用于若第二目标协议报文能够增加的发送速率之和小于CPU需要增加的收包速率,则确定还需要增加的发送速率;
第三增加子单元,用于在第二目标协议报文的发送速率增加至基准速率后,根据还需要增加的发送速率,将第二目标协议报文中优先级靠前的协议报文的发送速率增加。
在本申请的一种实施例方式中,第八确定子单元,可以包括:
第一计算子单元,用于根据CPU的总收包速率和第二阈值,计算第二比值;
第二计算子单元,用于计算CPU的总收包速率与第二比值的乘积,得到第二目标收包速率;
第三计算子单元,用于计算CPU的总收包速率和第二目标收包速率的差,得到CPU需要增加的收包速率。
在本申请的一种实施例方式中,还可以包括:
第二确定模块,用于根据第二目标协议报文增加的发送速率,确定第二目标协议报文的目标发送速率值;
第二更新模块,用于将第二目标协议报文的当前限速值更新为目标发送速率值。
在本申请的一种实施例方式中,还可以包括:
设定模块,用于设定多种类型协议报文的限速信息,限速信息包括各种类型协议报文的最小发送速率、最大发送速率、当前限速值、优先级顺序;
发送模块,用于按照限速信息,将多种类型协议报文发送至CPU。
本申请公开了一种报文处理装置,发明可以根据CPU资源利用率,动态调整协议报文发送至CPU的速率,当CPU资源利用率很高时,通过降低多种类型协议报文中至少一种类型协议报文的发送速率,从而降低CPU资源利用率,避免CPU太忙而导致关键网络服务得不到响应造成网络故障;当CPU资源利用率较低时,通过增加多种类型协议报文中至少一种类型协议报文的发送速率,从而增加CPU处理的协议报文,能够加快网络服务得到响应,使网络更舒畅。
如图4,示出了本申请实施例提供了一种电子设备40的结构框图,包括:
处理器401、存储器402及存储在所述存储器402上并能够在所述处理器401上运行的计算机程序4021,该计算机程序4021被处理器401执行时实现上述报文处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
如图5,示出了本申请实施例提供的一种非易失性可读存储介质50的结构框图,计算机可读存储介质50上存储计算机程序501,计算机程序501被处理器执行时实现上述报文处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种报文处理方法、装置、设备和存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (15)

1.一种报文处理方法,其特征在于,应用于交换机,所述交换机包括中央处理器CPU,所述方法包括:
获取向CPU发送的多种类型协议报文的优先级顺序;
在向所述CPU发送协议报文的过程中,检测所述CPU的资源利用率;
若所述CPU的资源利用率大于第一阈值,则根据所述优先级从低级到高级的顺序,将第一目标协议报文的发送速率降低,所述第一目标协议报文由所述多种类型协议报文的当前限速值和当前发送速率确定,使得所述CPU的总收包速率降低至第一目标收包速率;
若所述CPU的资源利用率小于第二阈值,则根据所述优先级顺序,增加所述多种类型协议报文中至少一种类型协议报文的发送速率,使得所述CPU的总收包速率增加至第二目标收包速率;
所述将第一目标协议报文的发送速率降低,包括:
根据所述CPU的总收包速率值和所述第一目标收包速率,确定所述CPU需要降低的收包速率;
若所述第一目标协议报文能够降低的发送速率之和小于所述CPU需要降低的收包速率,则确定还需要降低的发送速率;所述第一目标协议报文能够降低的发送速率由所述第一目标协议报文的当前发送速率和基准速率确定;所述基准速率由所述第一目标协议报文的最小发送速率、最大发送速率和所述CPU的资源利用率确定;
在所述第一目标协议报文的发送速率降低至所述基准速率后,根据所述还需要降低的发送速率,将所述第一目标协议报文中优先级靠后的协议报文的发送速率降低。
2.根据权利要求1所述的方法,其特征在于,所述根据所述优先级顺序,增加所述多种类型协议报文中至少一种类型协议报文的发送速率,包括:
按照所述优先级从高级到低级的顺序,增加所述多种类型协议报文中至少一种类型协议报文的发送速率。
3.根据权利要求1所述的方法,其特征在于,将所述第一目标协议报文的发送速率降低,包括:
获取所述第一目标协议报文的最小发送速率和最大发送速率;
根据所述最小发送速率、最大发送速率和所述CPU的资源利用率,确定所述第一目标协议报文的基准速率;
根据所述基准速率,将所述第一目标协议报文的发送速率降低。
4.根据权利要求3所述的方法,其特征在于,所述根据所述基准速率,将所述第一目标协议报文的发送速率降低,包括:
根据所述第一目标协议报文的当前发送速率和所述基准速率,确定所述第一目标协议报文能够降低的发送速率;
根据所述第一目标协议报文能够降低的发送速率,将所述第一目标协议报文的发送速率降低。
5.根据权利要求2所述的方法,其特征在于,所述按照所述优先级从高级到低级的顺序,增加所述多种类型协议报文中至少一种类型协议报文的发送速率,包括:
获取所述多种类型协议报文的当前限速值和当前发送速率;
根据所述当前限速值和所述当前发送速率,确定所述多种类型协议报文中发送速率达到所述当前限速值的第二目标协议报文;
按照所述优先级从高级到低级的顺序,将所述第二目标协议报文的发送速率增加。
6.根据权利要求5所述的方法,其特征在于,所述将所述第二目标协议报文的发送速率增加,包括:
获取所述第二目标协议报文的最小发送速率和最大发送速率;
根据所述最小发送速率、最大发送速率和所述CPU的资源利用率,确定所述第二目标协议报文的基准速率;
根据所述基准速率,将所述第二目标协议报文的发送速率增加。
7.根据权利要求6所述的方法,其特征在于,所述根据所述基准速率,将所述第二目标协议报文的发送速率增加,包括:
获取所述第二目标协议报文的当前发送速率;
根据所述第二目标协议报文的当前发送速率和所述基准速率,确定所述第二目标协议报文能够增加的发送速率;
根据第二目标协议报文能够增加的发送速率,将所述第二目标协议报文的发送速率增加。
8.根据权利要求7所述的方法,其特征在于,所述获取所述第二目标协议报文的当前发送速率,包括:
获取所述第二目标协议报文预设时间段发送至所述CPU的数量;
根据所述第二目标协议报文预设时间段发送至所述CPU的数量,确定所述第二目标协议报文的当前发送速率。
9.根据权利要求7所述的方法,其特征在于,所述根据第二目标协议报文能够增加的发送速率,将所述第二目标协议报文的发送速率增加,包括:
根据所述CPU的总收包速率值和所述第二目标收包速率,确定所述CPU需要增加的收包速率;
若所述第二目标协议报文能够增加的发送速率之和小于所述CPU需要增加的收包速率,则确定还需要增加的发送速率;
在所述第二目标协议报文的发送速率增加至所述基准速率后,根据所述还需要增加的发送速率,将所述第二目标协议报文中优先级靠前的协议报文的发送速率增加。
10.根据权利要求9所述的方法,其特征在于,所述根据所述CPU的总收包速率值和所述第二目标收包速率,确定所述CPU需要增加的收包速率,包括:
根据所述CPU的总收包速率和所述第二阈值,计算第二比值;
计算所述CPU的总收包速率与所述第二比值的乘积,得到所述第二目标收包速率;
计算所述CPU的总收包速率和所述第二目标收包速率的差,得到所述CPU需要增加的收包速率。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
根据所述第二目标协议报文增加的发送速率,确定所述第二目标协议报文的第二目标发送速率值;
将所述第二目标协议报文的所述当前限速值更新为所述第二目标发送速率值。
12.根据权利要求1所述的方法,其特征在于,所述获取向CPU发送的多种类型协议报文的优先级顺序的步骤之前,还包括:
设定所述多种类型协议报文的限速信息,所述限速信息包括各种类型协议报文的最小发送速率、最大发送速率、当前限速值、优先级顺序;
按照所述限速信息,将所述多种类型协议报文发送至所述CPU。
13.一种报文处理装置,其特征在于,应用于交换机,所述交换机包括中央处理器CPU,所述装置包括:
获取模块,用于获取向CPU发送的多种类型协议报文的优先级顺序;
检测模块,用于在向所述CPU发送协议报文的过程中,检测所述CPU的资源利用率;
降低模块,用于若所述CPU的资源利用率大于第一阈值,则根据所述优先级从低级到高级的顺序,将第一目标协议报文的发送速率降低,所述第一目标协议报文由所述多种类型协议报文的当前限速值和当前发送速率确定,使得所述CPU的总收包速率降低至第一目标收包速率;
增加模块,用于若所述CPU的资源利用率小于第二阈值,则根据所述优先级顺序,增加所述多种类型协议报文中至少一种类型协议报文的发送速率,使得所述CPU的总收包速率增加至第二目标收包速率;
所述降低模块用于根据所述CPU的总收包速率值和所述第一目标收包速率,确定所述CPU需要降低的收包速率;
若所述第一目标协议报文能够降低的发送速率之和小于所述CPU需要降低的收包速率,则确定还需要降低的发送速率;所述第一目标协议报文能够降低的发送速率由所述第一目标协议报文的当前发送速率和基准速率确定;所述基准速率由所述第一目标协议报文的最小发送速率、最大发送速率和所述CPU的资源利用率确定;
在所述第一目标协议报文的发送速率降低至所述基准速率后,根据所述还需要降低的发送速率,将所述第一目标协议报文中优先级靠后的协议报文的发送速率降低。
14.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行时实现如权利要求1-12任一所述的报文处理方法的步骤。
15.一种非易失性可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-12任一所述的报文处理方法的步骤。
CN202310588905.4A 2023-05-24 2023-05-24 一种报文处理方法、装置、设备和存储介质 Active CN116319624B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310588905.4A CN116319624B (zh) 2023-05-24 2023-05-24 一种报文处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310588905.4A CN116319624B (zh) 2023-05-24 2023-05-24 一种报文处理方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN116319624A CN116319624A (zh) 2023-06-23
CN116319624B true CN116319624B (zh) 2023-08-22

Family

ID=86783669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310588905.4A Active CN116319624B (zh) 2023-05-24 2023-05-24 一种报文处理方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN116319624B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761388A (zh) * 2011-04-29 2012-10-31 华为技术有限公司 数据传输中速率的调整方法和设备
CN104283643A (zh) * 2014-10-24 2015-01-14 杭州华三通信技术有限公司 报文限速方法和装置
CN105610727A (zh) * 2015-11-06 2016-05-25 瑞斯康达科技发展股份有限公司 一种网络数据传输方法及装置
CN113037691A (zh) * 2019-12-24 2021-06-25 中国移动通信集团浙江有限公司 报文处理方法、装置及系统
CN113726690A (zh) * 2021-07-31 2021-11-30 苏州浪潮智能科技有限公司 一种协议报文的上传方法、系统、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761388A (zh) * 2011-04-29 2012-10-31 华为技术有限公司 数据传输中速率的调整方法和设备
CN104283643A (zh) * 2014-10-24 2015-01-14 杭州华三通信技术有限公司 报文限速方法和装置
CN105610727A (zh) * 2015-11-06 2016-05-25 瑞斯康达科技发展股份有限公司 一种网络数据传输方法及装置
CN113037691A (zh) * 2019-12-24 2021-06-25 中国移动通信集团浙江有限公司 报文处理方法、装置及系统
CN113726690A (zh) * 2021-07-31 2021-11-30 苏州浪潮智能科技有限公司 一种协议报文的上传方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN116319624A (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
US20190116125A1 (en) Adapting control plane policing parameters dynamically
US20180248790A1 (en) Route determining method, and corresponding apparatus and system
US8391289B1 (en) Managing a forwarding table in a switch
EP3001614B1 (en) Technologies for bridging between coarse-grained and fine-grained load balancing
CN106209623B (zh) 确定转发路径的方法和控制设备
EP2883334B1 (en) Techniques for flooding optimization for link state protocols in a network topology
EP2670090A1 (en) Multi-homing in an extended bridge
CA2950206A1 (en) Flow entry configuration method, apparatus, and system
KR20120043007A (ko) 통신 네트워크 내의 패킷을 라우팅하는 방법 및 통신 네트워크 내의 패킷을 라우팅하기 위한 네트워크 노드
CN106330742B (zh) 一种流量控制的方法及网络控制器
EP3038297A1 (en) Method, system, and device for packet processing
US10476746B2 (en) Network management method, device, and system
US20170237649A1 (en) Adjusted spanning tree protocol path cost values in a software defined network
US20180278531A1 (en) Method and apparatus for implementing load sharing
US20210119870A1 (en) Network optimization method, network optimization system, and network device
CN107547442B (zh) 数据传输缓存队列分配方法及装置
CN103634224A (zh) 网络中数据传输的方法和系统
US20190053169A1 (en) Method for dynamic adaptation of a data rate
CN108566344B (zh) 一种报文处理方法和装置
CN111147303B (zh) 消息处理方法、装置、网络系统、电子设备及存储介质
CN106656807A (zh) 一种报文转发方法及sdn交换机
WO2017000861A1 (zh) 交换机虚拟局域网中mac地址的学习方法及装置
US8396057B2 (en) Method and apparatus for traffic regulation in a communication network
CN116319624B (zh) 一种报文处理方法、装置、设备和存储介质
US20160226772A1 (en) Facilitating congestion control in a network switch fabric based on group traffic rates

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