CN111200541A - 网络数据处理方法和装置 - Google Patents

网络数据处理方法和装置 Download PDF

Info

Publication number
CN111200541A
CN111200541A CN201911425066.4A CN201911425066A CN111200541A CN 111200541 A CN111200541 A CN 111200541A CN 201911425066 A CN201911425066 A CN 201911425066A CN 111200541 A CN111200541 A CN 111200541A
Authority
CN
China
Prior art keywords
forwarding
packet
network
forwarding processing
data
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
CN201911425066.4A
Other languages
English (en)
Other versions
CN111200541B (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.)
Hillstone Networks Corp
Original Assignee
Hillstone Networks Corp
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 Hillstone Networks Corp filed Critical Hillstone Networks Corp
Priority to CN201911425066.4A priority Critical patent/CN111200541B/zh
Publication of CN111200541A publication Critical patent/CN111200541A/zh
Application granted granted Critical
Publication of CN111200541B publication Critical patent/CN111200541B/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种网络数据处理方法和装置。该方法包括:在网络流量超过第一预设阈值时,判断是否出现丢包现象;如果出现丢包现象,则开启空闲的转发处理核心,其中,转发处理核心用于对网络流量数据包进行收发;通过新开启的转发处理核心对网络流量数据包进行收发。通过本发明,达到了提高网络数据收发时处理器的利用率的效果。

Description

网络数据处理方法和装置
技术领域
本发明涉及通信领域,具体而言,涉及一种网络数据处理方法和装置。
背景技术
相关技术中,异步中断收包方式存在很多缺陷。
现有技术一:
以linux操作系统为例,传统网络设备驱动收包采用异步中断收包方式,处理如下:
1.应用软件初始化,创建对应应用线程;
2.应用线程注册和监听对应的网络服务;
3.网络数据包到达网卡设备,网卡设备根据配置进行DMA(Direct memoryaccess,直接内存访问)操作;
4.网卡产生硬件中断,唤醒处理器。处理器被中断唤醒后,网卡驱动软件填充读写缓冲区数据,进行报文处理;
5.如果最终应用在用户态,数据包从内核态拷贝到用户态,通知用户态进行处理;
6.用户态继续完成报文的最终处理。
采用该种技术,导致系统收包效率低,收包时延大。
(1)收包效率低
采用异步中断的收包方式,每个报文就会触发一个中断。随着网络接口带宽的快速提升和网络流量的显著增长,海量数据的到来会频繁的触发中断开销,导致系统无法承受,来不及从网卡收取全部报文而出现丢包。
(2)收包时延大
采用异步中断的收包方式,系统软件收包处理路径比较长:
1.网络包进入计算机后,大多需要经过协议处理,如果是常用的TCP/IP报文,则由linux内核处理;
2.内核处理完数据包后,在大多数场景下,需要将数据包从内核缓冲区拷贝到用户态缓冲区,内存复制的开销比较大;
3.用户态应用通过系统调用的方式,获知数据包的到来,进行应用层面的处理。
以上步骤中,数据包拷贝和系统调用的开销都比较大,严重降低数据包处理的效率。
现有技术二:
基于DPDK(data plane development kit,数据平面开发套件)的PMD(pollingmode driver,轮询模式驱动)轮询模式。
为了解决异步中断方式收包效率低,时延大的问题,intel等公司开发出DPDKPMD,主要有两大特点:
(1)关闭中断,采用轮询方式收包
采用轮询的方式来收包,具体来说,首先创建一个polling thread-轮询的线程,将该线程绑定到某个处理器的核心上,完全占据该核心,全速进行收发包处理。这样做,一是可以避免中断导致的上下文切换,二是可以及时处理网卡上到达的大量报文,应对大吞吐数据的处理。
(2)纯用户态驱动
在这种工作模式下,既规避了不必要的内存拷贝,又避免了系统调用,减少数据包处理中的开销。
采用DPDK PMD进行收发包时,包括网卡初始化和数据包处理两部分:
(1)网卡初始化
a.DPDK PMD驱动初始化前,需要先卸载内核的网卡驱动;
b.DPDK PMD驱动初始化时,在用户态对网卡进行相关配置,会关闭网卡中断,设置网卡接收和发送侧描述符等。
(2)数据包收发处理
初始化网卡之后,系统创建一个轮询的线程,完全占据某个处理器核心,持续进行收发包处理:
a)网络数据包到达网卡设备;
b)网卡读取接收侧描述符,获取缓冲区地址后,将数据包的内容通过DMA写到缓冲区地址处。
c)网卡收包完毕后,更新接收侧描述符中收包已完成标志;
d)用户态驱动轮询收包,读取接收侧描述符进行判断。如果有数据包接收完毕,则读取数据包内容,进行相关协议处理后发送出去;
e)用户态驱动发送时,将准备发送的缓冲区地址填充到发送侧描述符;
f)网卡读取发送侧描述符,根据描述符中的地址,通过DMA读取对应缓冲区中数据内容发送到出去;
g)网卡发包完毕后,更新发送侧描述符中发包已完成标志。
采用DPDK轮询方式进行收发包,相比linux内核采用的异步中断收包方式,数据包吞吐量大幅提升。但是在实际网络应用中,存在潮汐效应,在某些时段,网络数据量比较高,需要处理器全速运行才能应付;而在另外一些时间段,网络吞吐量比较低,导致网络端口负载很低,所以,该方案存在如下几个问题:
(1)在收发包吞吐率比较低的场景下,轮询的方式会也让处理器一直全速运行,相比异步中断处理的方式,能耗的费效比很低;
(2)在收发包吞吐率比较低的场景下,轮询的方式会浪费处理器核心的处理能力。
针对相关技术中DPDK轮询收包模式的费效比低的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种网络数据处理方法和装置,以解决DPDK轮询收包模式的费效比低的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种网络数据处理方法,该方法包括:在网络流量超过第一预设阈值时,判断是否出现丢包现象;如果出现丢包现象,则开启空闲的转发处理核心,其中,所述转发处理核心用于对网络流量数据包进行收发;通过新开启的转发处理核心对网络流量数据包进行收发。
进一步地,所述方法还包括:在网络流量低于第二预设阈值后,判断是否出现丢包现象;如果没有出现丢包现象,则关闭多个转发处理核心中的一个;通过剩余的开启中的转发处理核心对网络流量数据包进行收发。
进一步地,如果没有出现丢包现象,则关闭多个转发处理核心中的一个包括:如果没有出现丢包现象的持续时间超过预设持续时间,则关闭多个转发处理核心中的一个。
进一步地,在关闭多个转发处理核心中的一个之前,所述方法还包括:计算当前多个转发处理核心的总处理量;计算关闭一个转发处理核心后剩余的转发处理核心的最大处理量;判断所述最大处理量是否大于等于所述总处理量,其中,在判断结果为是时,关闭多个转发处理核心中的一个。
进一步地,在开启空闲的转发处理核心之前,所述方法还包括:判断是否具有用户预定义的转发模式;如果判断结果为是,则根据所述用户预定义的转发模式对网络流量数据包进行收发。
进一步地,在开启空闲的转发处理核心之前,所述方法还包括:如果判断结果为否,则开启收包模式,其中,在所述收包模式下通过状态机来进行数据监控。
为了实现上述目的,根据本发明的另一方面,还提供了一种网络数据处理装置,该装置包括:第一判断单元,用于在网络流量超过第一预设阈值时,判断是否出现丢包现象;开启单元,用于在出现丢包现象时,开启空闲的转发处理核心,其中,所述转发处理核心用于对网络流量数据包进行收发;第一收发单元,用于通过新开启的转发处理核心对网络流量数据包进行收发。
进一步地,所述装置还包括:第二判断单元,用于在网络流量低于第二预设阈值后,判断是否出现丢包现象;关闭单元,用于在没有出现丢包现象时,关闭多个转发处理核心中的一个;第二收发单元,用于通过剩余的开启中的转发处理核心对网络流量数据包进行收发。
为了实现上述目的,根据本发明的另一方面,还提供了一种存储介质,包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行本发明所述的网络数据处理方法。
为了实现上述目的,根据本发明的另一方面,还提供了一种设备,至少包括一个处理器,以及与所述处理器连接的至少一个存储器、总线,其中,所述处理器、所述存储器通过所述总线完成相互间的通信,所述处理器用于调用所述存储器中的程序指令,以执行本发明所述的网络数据处理方法。
本发明通过在网络流量超过第一预设阈值时,判断是否出现丢包现象;如果出现丢包现象,则开启空闲的转发处理核心,其中,转发处理核心用于对网络流量数据包进行收发;通过新开启的转发处理核心对网络流量数据包进行收发,在网络流量低于第二预设阈值后,判断是否出现丢包现象;如果没有出现丢包现象,则关闭多个转发处理核心中的一个;通过剩余的开启中的转发处理核心对网络流量数据包进行收发,解决了DPDK轮询收包模式的费效比低的问题,进而达到了提高网络数据收发时处理器的利用率的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的网络数据处理方法的流程图;
图2是根据本发明实施例的DPDK混合收包框架的示意图;
图3是根据本发明实施例的DPDK收包工作过程的示意图;
图4是根据本发明实施例的网络数据处理装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种网络数据处理方法。
图1是根据本发明实施例的网络数据处理方法的流程图,如图1所示,该方法包括以下步骤:
步骤S102:在网络流量超过第一预设阈值时,判断是否出现丢包现象;
步骤S104:如果出现丢包现象,则开启空闲的转发处理核心,其中,转发处理核心用于对网络流量数据包进行收发;
步骤S106:通过新开启的转发处理核心对网络流量数据包进行收发。
该实施例采用在网络流量超过第一预设阈值时,判断是否出现丢包现象;如果出现丢包现象,则开启空闲的转发处理核心,其中,转发处理核心用于对网络流量数据包进行收发;通过新开启的转发处理核心对网络流量数据包进行收发,在网络流量低于第二预设阈值后,判断是否出现丢包现象;如果没有出现丢包现象,则关闭多个转发处理核心中的一个;通过剩余的开启中的转发处理核心对网络流量数据包进行收发,因而可以动态调整转发处理核心的数量,节能省电,解决了DPDK轮询收包模式的费效比低的问题,进而达到了提高网络数据收发时处理器的利用率的效果。
本实施例中,网络流量可以是当前所有转发处理核心的网络流量总和,通常在网络流量高的时候会出现丢包现象,因而以预先设定的第一预设阈值为参照,如果当前网络流量超过第一预设阈值,判断是否出现丢包现象,如果丢包,则表示当前的转发处理核心的处理能力不能满足当前的数据量,需要开启空闲的转发核心设备,以提高数据处理能力,防止丢包,优选的,开启空闲的转发处理核心时,开启全部转发处理核心,新开启的转发处理核心也参与对网络流量数据包的转发,尽全力保障流量处理。
可选地,在网络流量低于第二预设阈值后,判断是否出现丢包现象;如果没有出现丢包现象,则关闭多个转发处理核心中的一个;通过剩余的开启中的转发处理核心对网络流量数据包进行收发。
在网络流量降低后,每个转发处理核心所进行转发的数据量很小,可以关闭部分转发处理核心以节能,在关闭时,需要先判断当前的网络流量是否低于第二预设阈值,需要说明的是,第二预设阈值大于第一预设阈值,在网络流量已经低于第二预设阈值且不存在丢包现象,则从多个运行的转发处理核心中关闭一个,剩余的继续进行转发数据。
可选地,如果没有出现丢包现象,则关闭多个转发处理核心中的一个包括:如果没有出现丢包现象的持续时间超过预设持续时间,则关闭多个转发处理核心中的一个。
本实施例是优选方案,在没丢包的持续时间超过一定时间后,才认为流量比较平稳,此时关闭一个转发处理核心,不会带来数据流量的波动,防止刚关闭后即出现流量上升,需要重新开启转发处理核心的情况。
可选地,在关闭多个转发处理核心中的一个之前,计算当前多个转发处理核心的总处理量;计算关闭一个转发处理核心后剩余的转发处理核心的最大处理量;判断最大处理量是否大于等于总处理量,其中,在判断结果为是时,关闭多个转发处理核心中的一个。
关闭转发处理核心不能持续进行,假设当前有7个转发处理核心,反复执行关闭一个转发处理核心后,最后如果只剩下一个设备,其数据转发能力可能不足以支撑当前的网络流量,因而剩余转发处理核心的处理能力需要大于当前处理器利用率。例如,当前有7个处理核心在参与转发,平均利用率30%,如果关闭一个设备,则剩余的6个设备的处理能力6*100%>7*30%,那么可以考虑关闭一个转发core,让6个core参与转发,进一步地,如果当前转发core的利用率极低,小于1%,则考虑开启网卡中断进入中断收包模式。
可选地,在开启空闲的转发处理核心之前,判断是否具有用户预定义的转发模式;如果判断结果为是,则根据用户预定义的转发模式对网络流量数据包进行收发。
可选地,在开启空闲的转发处理核心之前,如果判断结果为否,则开启收包模式,其中,在收包模式下通过状态机来进行数据监控。
如果用户预先配置了转发模式,则根据用户预定义的转发模式对网络流量数据包进行收发,如果用户没有预定义转发模式,则执行本申请的转发策略,具体的包括:在网络流量超过第一预设阈值时,判断是否出现丢包现象;如果出现丢包现象,则开启空闲的转发处理核心,其中,转发处理核心用于对网络流量数据包进行收发;通过新开启的转发处理核心对网络流量数据包进行收发;在网络流量低于第二预设阈值后,判断是否出现丢包现象;如果没有出现丢包现象,则关闭多个转发处理核心中的一个;通过剩余的开启中的转发处理核心对网络流量数据包进行收发,等等。
本申请还提供了一种优选实施方式,下面结合该优选实施方式对本申请的方案进行说明。
DPDK轮询方式处理网络流量十分高效,已被广泛应用在各种网络设备中。但在实际网络应用中,DPDK轮询方式还存在许多问题。因此,本实施例将基于DPDK轮询这种高效的收包模式,制定新的处理策略,在满足网络吞吐处理能力的前提下,优化处理器的利用率,提高设备的费效比,达到绿色节能的目的。
图2是根据本发明实施例的DPDK混合收包框架的示意图,如图2所示,按照从左至右的方向,系统共有三部分:
一、Rx data display收包数据显示和rx mode configuration收包模式配置。
收包数据显示和收包模式配置,运行在系统控制平面。用户可以根据端口实时流量详情,调整端口的业务收包模式,在不影响业务的情况下,达到绿色节能的目的。
a)收包数据显示
此模块主要提供数据统计功能,方便查看设备当前流量处理详情。根据需要,此模块从数据统计模块获取所需数据,然后呈现出现,包括:
1.指定端口的详细数据统计,包括网卡收发包,丢包数据等;
2.指定端口的流量实时速率统计;
3.指定端口的时间区间速率曲线统计;
4.处理器利用率统计。
b)收包模式配置
此模块提供配置和显示收包模式的功能,根据需要,此模块将收包模式下发到收包决策模块,或者从收包决策模块获取当前收包模式。当前设计的收包模式共有如下2种:
1.中断模式
对应收包core(处理核心)开启对应的网卡中断,然后进入休眠。当网卡有报文过来产生中断,对应core从休眠中恢复进行报文处理,如传统网络设备驱动收包采用异步中断收包方案;
2.轮询模式
对应收包core关闭网卡中断,持续进行收发包处理。为了适应不同流量环境,根据处理器的资源使用情况,逐步开启或者关闭转发core。例如设备cpu有N个转发core,初始所有core都参与流量转发处理。当cpu利用率低或者流量明显降低,在满足预设条件时,可以逐步关闭转发core。当cpu利用率高或者流量明显增高,在满足预设条件时,一次性开启全部转发core。
需要说明的是,此模块下发模式到收包决策模块时,该模式优先于决策模块自主计算和评估出来的模式,具有最高优先级。
二、Rx mode decision收包模式决策模块与data statistics数据统计模块
收包模式决策与数据统计部分是方案的核心,运行在系统控制平面。
a)数据统计模块承载功能如下:
1.定期从data plane thread业务转发模块获取网卡收发包等实时数据;
2.提供数据给收包数据显示模块,供用户参考和决策;
3.定期提供数据给收包决策模块,方便系统根据当前数据,计算和决定最佳收包模式。若出现网络端口丢包,则立即反馈给收包决策模块;
b)收包决策模块承载功能如下:
1.提供当前收包模式给收包模式与配置模块,供其显示;
2.接受收包模式与配置模块下发过来的模式,然后下发到业务转发模块中。此模式具有最高优先级;
3.根据数据统计模块提供的数据,计算和决定最佳收包模式,然后下发到业务转发模块中;
c)收包决策过程:
1.初始化处理
首先识别不同业务类型,分配处理器core资源。基于转发平面与控制平面分离的原则,假设cpu有N个core,则core0用于控制平面处理,core1~N-1用于数据平面处理,即有N-1的转发core;
2.运行时处理
运行时,流量的收包模式由一个状态机来处理,如下:
(1)状态机的开启和关闭
a)系统初始化时,启动状态机;
b)用户手动配置收包模式后,停止状态机;
c)用户恢复默认收包模式后,开启状态机;
(2)状态机定时运行,每1秒运行一次;
(3)状态机中收包模式切换原则:
a)向上切换
当数据统计模块报告有丢包时,立刻切换到全速工作模式,开启全部N-1的转发core进行流量处理。
b)向下切换
每次向下切换时,必须满足如下两个条件
i.最近10分钟内没有丢包出现;
ii.预计切换的工作模式中,剩余转发core的处理能力需要大于当前处理器利用率。例如,当前有7个core在参与转发,平均利用率30%,6*100%>7*30%,那么可以考虑关闭一个转发core,让6个core参与转发。如果当前转发core的利用率极低,小于1%,则考虑开启网卡中断进入中断收包模式;
每次向下切换只能逐级切换,禁止跨级。例如,当前有N-1个转发core在运行,向下只能切换到N-2个转发core,不能一次就切换到N-3个转发core。
(4)状态机的5个状态,统一定义如下:
1.开启状态机
首先判断是否有用户配置的转发模式。如果有,则将对应模式下发到业务转发模块,然后进入状态5;否则将全部转发core运行的模式下发到业务转发模块,然后进入状态2;
2.数据监控
首先判断用户是否有用户配置的转发模式。如果有,则将对应模式下发到业务转发模块,然后进入状态5;
然后判断数据统计模块更新的数据。如果反馈有丢包,则进入状态3;如果没有,且满足向下切换的条件,则进入状态4。
3.向上切换转发core
将全部转发core运行的模式下发到业务转发模块,然后进入状态2。
4.向下切换转发core
若当前有N(N>=2)个转发core在运行,则将运行N-1个转发core的命令下发到业务转发模块,然后进入状态2。
若当前只有1个转发core在运行,则将关闭全部转发core且开启网卡中断的命令下发到业务转发模块,进入中断收包模式,然后进入状态2。
5.退出状态机
退出状态机。
三、Data plane thread业务转发模块
图3是根据本发明实施例的DPDK收包工作过程的示意图,如图3所示,根据业务收包决策模块下发的模式,在对应转发core上运行相应的收包模式,工作在数据平面。
具体工作过程如下:
1.数据平面主进程初始化,创建对应包处理线程;
2.收包决策模块下发的配置为中断模式,包处理线程打开网卡的中断;
3.包处理线程注册和监听对应的网络服务,等待内核通知;
4.网络数据包到达网卡,网卡产生硬件中断,唤醒处理器;
5.处理器被中断唤醒后,网卡驱动软件填充读写缓冲区数据,进行报文处理;
6.数据包从内核态拷贝到用户态,通知用户态进行处理。
7.用户态收到报文,进行应用层处理;
8.收包决策模块下发的配置为轮询模式,包处理线程关闭网卡的中断;
9.包处理线程进行轮询收包,直接从网卡获取报文进行处理。
本实施例的应用场景举例:
假设有一款网络设备,硬件配置如下:
1.搭载一颗8core的处理器;
2.设备共有6个网络端口,eth0-6。其中eth0用于网络管理,eth1-5用于业务流量处理。
基于本实施例提出的技术方案,考虑数据平面与控制平面分离的原则,core0分配给控制平面,剩余core分配给数据平面;
设备上线运行时,数据统计模块收集设备实时数据,反馈给收包决策模块,决策模块在保证业务正常的情况下,调低处理器的运行强度,从而达到绿色节能的目的。
例如,
1.在设备启动后,收包模式决策模块会持续评估设备现状,根据设备当前处理能力和效果自行调整:
在业务繁忙时,网络流量处于峰值。若出现丢包,决策模块将会立刻调整到所有转发core运行的模式,全力保障业务平稳;
在业务逐渐变少后,网络流量逐渐降低,此时决策模块会根据当前状况,逐步关闭转发core,下调处理器的处理能力,起到绿色节能的效果;
2.在需要的情况下,用户可以通过系统提供的接口,手动调整转发core的收包模式。
在网络潮汐现象下,使用本发明实施例提出的DPDK动态工作模式,在满足网络吞吐处理能力的前提下,可以优化处理器的利用率,提高网络设备的费效比,达到绿色节能的目的,在当下网络设备量庞大的情况下,本方案可以给设备运营商节约可观的能源消耗。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例提供了一种网络数据处理装置,该装置可以用于执行本发明实施例的网络数据处理方法。
图4是根据本发明实施例的网络数据处理装置的示意图,如图4所示,该装置包括:
第一判断单元10,用于在网络流量超过第一预设阈值时,判断是否出现丢包现象;
开启单元20,用于在出现丢包现象时,开启空闲的转发处理核心,其中,转发处理核心用于对网络流量数据包进行收发;
第一收发单元30,用于通过新开启的转发处理核心对网络流量数据包进行收发。
该实施例采用第一判断单元10,用于在网络流量超过第一预设阈值时,判断是否出现丢包现象;开启单元20,用于在出现丢包现象时,开启空闲的转发处理核心,其中,转发处理核心用于对网络流量数据包进行收发;第一收发单元30,用于通过新开启的转发处理核心对网络流量数据包进行收发,从而解决了DPDK轮询收包模式的费效比低的问题,进而达到了提高网络数据收发时处理器的利用率的效果。
可选地,该装置还包括:第二判断单元,用于在网络流量低于第二预设阈值后,判断是否出现丢包现象;关闭单元,用于在没有出现丢包现象时,关闭多个转发处理核心中的一个;第二收发单元,用于通过剩余的开启中的转发处理核心对网络流量数据包进行收发。
所述网络数据处理装置包括处理器和存储器,上述第一判断单元、开启单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述网络数据处理方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述网络数据处理方法。
本发明实施例提供了一种设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的网络数据处理方法。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:在网络流量超过第一预设阈值时,判断是否出现丢包现象;如果出现丢包现象,则开启空闲的转发处理核心,其中,转发处理核心用于对网络流量数据包进行收发;通过新开启的转发处理核心对网络流量数据包进行收发。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种网络数据处理方法,其特征在于,包括:
在网络流量超过第一预设阈值时,判断是否出现丢包现象;
如果出现丢包现象,则开启空闲的转发处理核心,其中,所述转发处理核心用于对网络流量数据包进行收发;
通过新开启的转发处理核心对网络流量数据包进行收发。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在网络流量低于第二预设阈值后,判断是否出现丢包现象;
如果没有出现丢包现象,则关闭多个转发处理核心中的一个;
通过剩余的开启中的转发处理核心对网络流量数据包进行收发。
3.根据权利要求2所述的方法,其特征在于,如果没有出现丢包现象,则关闭多个转发处理核心中的一个包括:
如果没有出现丢包现象的持续时间超过预设持续时间,则关闭多个转发处理核心中的一个。
4.根据权利要求2所述的方法,其特征在于,在关闭多个转发处理核心中的一个之前,所述方法还包括:
计算当前多个转发处理核心的总处理量;
计算关闭一个转发处理核心后剩余的转发处理核心的最大处理量;
判断所述最大处理量是否大于等于所述总处理量,
其中,在判断结果为是时,关闭多个转发处理核心中的一个。
5.根据权利要求1所述的方法,其特征在于,在开启空闲的转发处理核心之前,所述方法还包括:
判断是否具有用户预定义的转发模式;
如果判断结果为是,则根据所述用户预定义的转发模式对网络流量数据包进行收发。
6.根据权利要求5所述的方法,其特征在于,在开启空闲的转发处理核心之前,所述方法还包括:
如果判断结果为否,则开启收包模式,其中,在所述收包模式下通过状态机来进行数据监控。
7.一种网络数据处理装置,其特征在于,包括:
第一判断单元,用于在网络流量超过第一预设阈值时,判断是否出现丢包现象;
开启单元,用于在出现丢包现象时,开启空闲的转发处理核心,其中,所述转发处理核心用于对网络流量数据包进行收发;
第一收发单元,用于通过新开启的转发处理核心对网络流量数据包进行收发。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二判断单元,用于在网络流量低于第二预设阈值后,判断是否出现丢包现象;
关闭单元,用于在没有出现丢包现象时,关闭多个转发处理核心中的一个;
第二收发单元,用于通过剩余的开启中的转发处理核心对网络流量数据包进行收发。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至6中任意一项所述的网络数据处理方法。
10.一种设备,其特征在于,所述设备至少包括一个处理器,以及与所述处理器连接的至少一个存储器、总线,其中,所述处理器、所述存储器通过所述总线完成相互间的通信,所述处理器用于调用所述存储器中的程序指令,以执行权利要求1至6中任意一项所述的网络数据处理方法。
CN201911425066.4A 2019-12-31 2019-12-31 网络数据处理方法和装置 Active CN111200541B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911425066.4A CN111200541B (zh) 2019-12-31 2019-12-31 网络数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911425066.4A CN111200541B (zh) 2019-12-31 2019-12-31 网络数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN111200541A true CN111200541A (zh) 2020-05-26
CN111200541B CN111200541B (zh) 2022-04-12

Family

ID=70747326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911425066.4A Active CN111200541B (zh) 2019-12-31 2019-12-31 网络数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN111200541B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113055292A (zh) * 2021-03-11 2021-06-29 青岛矽昌通信技术有限公司 一种提升多核路由器转发性能的方法及一种多核路由器
CN114257549A (zh) * 2021-12-21 2022-03-29 北京锐安科技有限公司 一种流量的转发方法、装置、设备及存储介质
CN114844806A (zh) * 2022-04-15 2022-08-02 中国信息通信研究院 网络设备的吞吐量测量方法及装置、测试系统及存储介质
CN116302454A (zh) * 2023-05-22 2023-06-23 荣耀终端有限公司 申请网络资源的方法及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101598967A (zh) * 2009-06-23 2009-12-09 中兴通讯股份有限公司 多核防火墙单板及其运行方法
US20100153763A1 (en) * 2008-12-11 2010-06-17 Kapil Sood Method and apparatus to modulate multi-core usage for energy efficient platform operations
CN102955549A (zh) * 2011-08-29 2013-03-06 华为技术有限公司 一种多核cpu的电源管理方法、系统及cpu
CN106527653A (zh) * 2016-10-12 2017-03-22 东软集团股份有限公司 调整cpu频率的方法及装置
CN106789447A (zh) * 2017-02-20 2017-05-31 成都欧飞凌通讯技术有限公司 一种多核中实现超有限自动机图变更时不丢包的方法
CN107132903A (zh) * 2016-02-29 2017-09-05 中兴通讯股份有限公司 一种节能管理实现方法、装置及网络设备
WO2018036007A1 (zh) * 2016-08-25 2018-03-01 北京智芯微电子科技有限公司 网络数据接收的处理方法及装置、存储介质
CN108345502A (zh) * 2018-01-15 2018-07-31 中兴飞流信息科技有限公司 基于dpdk的资源调度方法、装置、终端设备及可读存储介质
US20210014739A1 (en) * 2018-05-21 2021-01-14 Huawei Technologies Co., Ltd. Data processing method and apparatus, and data sending method and apparatus

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153763A1 (en) * 2008-12-11 2010-06-17 Kapil Sood Method and apparatus to modulate multi-core usage for energy efficient platform operations
CN101598967A (zh) * 2009-06-23 2009-12-09 中兴通讯股份有限公司 多核防火墙单板及其运行方法
CN102955549A (zh) * 2011-08-29 2013-03-06 华为技术有限公司 一种多核cpu的电源管理方法、系统及cpu
CN107132903A (zh) * 2016-02-29 2017-09-05 中兴通讯股份有限公司 一种节能管理实现方法、装置及网络设备
WO2018036007A1 (zh) * 2016-08-25 2018-03-01 北京智芯微电子科技有限公司 网络数据接收的处理方法及装置、存储介质
CN106527653A (zh) * 2016-10-12 2017-03-22 东软集团股份有限公司 调整cpu频率的方法及装置
CN106789447A (zh) * 2017-02-20 2017-05-31 成都欧飞凌通讯技术有限公司 一种多核中实现超有限自动机图变更时不丢包的方法
CN108345502A (zh) * 2018-01-15 2018-07-31 中兴飞流信息科技有限公司 基于dpdk的资源调度方法、装置、终端设备及可读存储介质
US20210014739A1 (en) * 2018-05-21 2021-01-14 Huawei Technologies Co., Ltd. Data processing method and apparatus, and data sending method and apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
陈晓等: "数据交换网络设备的CPU负载分析", 《电信技术》 *
陈芳园: "《异构多核处理器体系结构设计研究》", 《计算机工程与科学》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113055292A (zh) * 2021-03-11 2021-06-29 青岛矽昌通信技术有限公司 一种提升多核路由器转发性能的方法及一种多核路由器
CN114257549A (zh) * 2021-12-21 2022-03-29 北京锐安科技有限公司 一种流量的转发方法、装置、设备及存储介质
CN114257549B (zh) * 2021-12-21 2023-01-10 北京锐安科技有限公司 一种流量的转发方法、装置、设备及存储介质
CN114844806A (zh) * 2022-04-15 2022-08-02 中国信息通信研究院 网络设备的吞吐量测量方法及装置、测试系统及存储介质
CN114844806B (zh) * 2022-04-15 2023-08-25 中国信息通信研究院 网络设备的吞吐量测量方法及装置、测试系统及存储介质
CN116302454A (zh) * 2023-05-22 2023-06-23 荣耀终端有限公司 申请网络资源的方法及电子设备

Also Published As

Publication number Publication date
CN111200541B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
CN111200541B (zh) 网络数据处理方法和装置
CN101403982B (zh) 一种多核处理器的任务分配方法和系统
US20160378570A1 (en) Techniques for Offloading Computational Tasks between Nodes
US10929179B2 (en) Scheduling method and electronic device
CN113438719B (zh) 一种节能方法、装置及可读存储介质
US8606290B2 (en) Method and apparatus for performing a demotion in a cellular communications network
CN110300461A (zh) 一种网络连接方法、装置及终端
US20140215236A1 (en) Power-efficient inter processor communication scheduling
CN101459605B (zh) 一种流量控制方法和设备
US9462547B2 (en) Method for transmitting data using tail time in cellular network
CN103179048A (zh) 云数据中心的主机QoS策略变换方法及系统
CN103064736A (zh) 任务处理装置及方法
US20130100827A1 (en) Method for managing mobile radio resources for package receiving enhancement
WO2016192163A1 (zh) 一种用于降低移动终端功耗的方法和系统、以及移动终端
CN111580949A (zh) 一种网络收包模式自动调节方法
CN101841476A (zh) 报文处理方法、装置和网络设备
CN103686956A (zh) 移动终端及其数据网络通信方法和数据网络请求代理装置
CN105519075A (zh) 一种资源调度方法,及装置
CN112486311A (zh) 一种嵌入式系统的低功耗控制方法及系统、存储介质
CN102204165A (zh) 控制备用设备的方法、主用设备和备用设备
CN106658686A (zh) 一种数据转发方法,及接入设备
CN115686863A (zh) 一种混合轮询方法、装置、设备及可读存储介质
CN103376877A (zh) 一种多核处理器时钟控制装置及控制方法
CN102117261A (zh) 一种芯片内部处理器之间的通信方法
CN101765193B (zh) 在edch上进行资源调度的方法、用户终端和通信系统

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