CN113434287A - 任务数据传输方法、系统、电子设备及存储介质 - Google Patents

任务数据传输方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN113434287A
CN113434287A CN202110619097.4A CN202110619097A CN113434287A CN 113434287 A CN113434287 A CN 113434287A CN 202110619097 A CN202110619097 A CN 202110619097A CN 113434287 A CN113434287 A CN 113434287A
Authority
CN
China
Prior art keywords
port
physical network
task
processing unit
ports
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.)
Withdrawn
Application number
CN202110619097.4A
Other languages
English (en)
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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group 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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202110619097.4A priority Critical patent/CN113434287A/zh
Publication of CN113434287A publication Critical patent/CN113434287A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开提供一种任务数据传输方法、系统、电子设备及存储介质,所述方法包括当配置有DPDK驱动的服务器中产生有延迟需求的任务时,通过预设的端口匹配算法得出服务器中有延迟需要的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表;将匹配列表中的物理网络端口与任务处理单元端口按匹配列表一一进行绑定;通过已绑定的物理网络端口和任务处理单元端口建立通道连接,并分配独立的内存池空间进行任务的数据包传输;当任务处理完成后,将对应的通道关闭并将已分配的内存池空间释放。本公开技术方案可以在不额外添加硬件,仅通过软件方式下实现数据传输的低延迟需求,可以减少操作系统层面的无效处理操作,防止端口堵塞和通信故障。

Description

任务数据传输方法、系统、电子设备及存储介质
技术领域
本公开属于通信技术领域,具体涉及一种任务数据传输方法,一种任务数据传输系统,一种电子设备,以及一种计算机可读存储介质。
背景技术
由于资源过载,网络攻击,服务器资源短缺或本地网络异常等原因,服务器在网络通信上会存在延迟的问题,虽然边缘计算的兴起在一定程度缓解了服务器在网络通信上造成的延迟问题,但服务器进行数据传输时仍然需要耗费一定时间在无意义的上下文切换和锁的处理上,因此很多场景下仍未能满足超低延迟的需求;为此,人们提出了DPDK(IntelData Plane Development Kit,Intel提供的数据平面开发工具集)技术。
DPDK为Intel architecture(IA)处理器架构下用户空间高效的数据包处理提供库函数和驱动的支持。DPDK使用了轮询(polling)而不是中断来处理数据包;在收到数据包时,经DPDK重载的网卡驱动不会通过中断通知CPU,而是直接将数据包存入内存,交付应用层软件通过DPDK提供的接口来直接处理,这样节省了大量的CPU中断时间和内存拷贝时间。已有端口聚合轮询方案为将各端口聚合为一个统一的虚拟对外端口,统一由该虚拟端口进行收发,虚拟端口内部采用端口平衡循环算法。但现有方法中,采用的算法只考虑各端口数据处理公平性,未将实际的运行负载情况进行考虑,容易出现资源使用不合理,高负荷端口堵塞的情况,造成通信故障。
发明内容
本公开提供一种任务数据传输方法、任务数据传输系统、电子设备及计算机可读存储介质能够实现不额外添加硬件,仅通过软件方式实现数据传输的低延迟需求,可以大量减少操作系统层面的无效处理操作,防止端口堵塞和通信故障。
第一方面,本公开实施例提供一种任务数据传输方法,所述方法包括:
当配置有数据平面开发工具集DPDK驱动的服务器中产生有延迟需求的任务时,通过预设的端口匹配算法得出所述服务器中有延迟需求的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表;
将所述匹配列表中的物理网络端口与任务处理单元端口按所述匹配列表一一进行绑定;
通过已绑定的物理网络端口和任务处理单元端口建立通道连接,并分配独立的内存池空间进行所述任务的数据包传输;
当所述任务处理完成后,将对应的通道关闭并将已分配的内存池空间释放。
进一步的,所述通过预设的端口匹配算法得出所述服务器中有延迟需求的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表,包括:
计算所有物理网络端口中各物理网络端口的负载水平,并根据各物理网络端口的负载水平计算其在整个物理网络端口集合中的轮询权值;
计算所有任务处理单元端口中各任务处理单元端口的负载水平,并根据各任务处理单元端口的负载水平计算其在整个任务处理单元端口集合中的轮询权值;
根据各物理网络端口和各任务处理单元端口的轮询权值及性能水平得到属性数组
Figure BDA0003098883140000021
其中,Ei为第i个物理网络端口的性能水平,
Figure BDA0003098883140000022
为第i个任务处理单元端口的性能水平,Wi为第i个物理网络端口的轮询权值,
Figure BDA0003098883140000031
为第i个任务处理单元端口的轮询权值;
将所述属性数组中第一行的各组数据分别与第二行的各组数据进行循环匹配并计算两者的曼哈顿距离,将曼哈顿距离最小的两组数据对应的物理网络端口和任务处理单元端口作为第一组匹配端口对,并记录其端口编号,然后继续进行匹配,直到得到所述任务所需端口对数量的匹配端口对,以及得出物理网络端口与任务处理单元端口的匹配列表。
进一步的,所有物理网络端口中各物理网络端口的负载水平通过以下公式(1)计算得出:
Figure BDA0003098883140000032
其中,LBi表示所有物理网络端口中第i个物理网络端口的负载水平,Pi表示第i个物理网络端口的利用率,Ci表示第i个物理网络端口对应的CPU处理器的利用率,Ti表示第i个物理网络端口对应管道的负载水平,α、β、γ分别为Pi、Ci、Ti的影响因子,n为所有可用物理网络端口的数量,
Figure BDA0003098883140000033
表示端口集合中所有可用物理网络端口的性能总和。
进一步的,影响因子α、β、γ分别为其对应的指标Pi、Ci、Ti在过去一个周期内的平均值。
进一步的,所有物理网络端口中各物理网络端口的轮询权值通过以下公式(2)计算得出:
Figure BDA0003098883140000034
其中,Wi表示所有物理网络端口中第i个物理网络端口的轮询权值,LBi表示第i个物理网络端口的负载水平,
Figure BDA0003098883140000035
为表示所有物理网络端口中所有可用物理网络端口的负载水平总和。
进一步的,所述方法还包括:
当已绑定的物理网络端口和任务处理单元端口被占用时,将被占用的端口的标记从空闲变更为忙碌;
当所述任务处理完成并且对应的通道关闭后,将该任务所占用的端口的标记从忙碌变更为空闲。
进一步的,所述方法还包括:
当所述服务器中有正在处理的任务时,判断该任务是否有延迟需求;
若没有,则直接通过未绑定的物理网络端口与任务处理单元端口进行该任务的数据包传输;
若有,则执行通过预设的端口匹配算法得出所述服务器中有延迟需求的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表的步骤。
第二方面,本公开实施例提供一种任务数据传输系统,所述系统包括:
计算模块,其设置为当配置有数据平面开发工具集DPDK驱动的服务器中产生有延迟需求的任务时,通过预设的端口匹配算法得出所述服务器中有延迟需要的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表;
绑定模块,其设置为将所述匹配列表中的物理网络端口与任务处理单元端口按所述匹配列表一一进行绑定;
传输模块,其设置为通过已绑定的物理网络端口和任务处理单元端口建立通道连接,并分配独立的内存池空间进行所述任务的数据包传输;
释放模块,其设置为当所述任务处理完成后,将对应的通道关闭并将已分配的内存池空间释放。
第三方面,本公开实施例还提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行如第一方面中任一所述的任务数据传输方法。
第四方面,本公开实施例还提供一种计算机可读存储介质,包括:计算机程序,当其在计算机上运行时,使得计算机执行如第一方面中任一所述的任务数据传输方法。
有益效果:
本公开提供的任务数据传输方法、任务数据传输系统、电子设备及计算机可读存储介质,当配置有DPDK驱动的服务器中产生有延迟需求的任务时,通过预设的端口匹配算法得出所述服务器中有延迟需要的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表;将所述匹配列表中的物理网络端口与任务处理单元端口按所述匹配列表一一进行绑定;通过已绑定的物理网络端口和任务处理单元端口建立通道连接,并分配独立的内存池空间进行所述任务的数据包传输;当所述任务处理完成后,将对应的通道关闭并将已分配的内存池空间释放。本公开的技术方案能够实现不额外添加硬件,仅通过软件方式实现数据传输的低延迟需求,可以大量减少操作系统层面的无效处理操作,防止端口堵塞和通信故障。
附图说明
图1为本公开实施例一提供的一种任务数据传输方法的流程示意图;
图2为本公开实施例二提供的一种任务数据传输系统的架构图;
图3为本公开实施例五提供的一种电子设备的架构图。
具体实施方式
为使本领域技术人员更好地理解本公开的技术方案,下面结合附图和实施例对本公开作进一步详细描述。
其中,在本公开实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚的表示其他含义。
现有DPDK技术中,在任务数据包传输时,虚拟端口内部采用端口平衡循环算法只考虑各端口数据处理公平性,未将实际的运行负载情况进行考虑,容易出现资源使用不合理,高负荷端口堵塞的情况,造成通信故障。
下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本公开实施例一提供的一种任务数据传输方法的流程示意图,如图1所示,所述方法包括:
步骤S101:当配置有DPDK驱动的服务器中产生有延迟需求的任务时,通过预设的端口匹配算法得出所述服务器中有延迟需要的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表;
步骤S102:将所述匹配列表中的物理网络端口与任务处理单元端口按所述匹配列表一一进行绑定;
步骤S103:通过已绑定的物理网络端口和任务处理单元端口建立通道连接,并分配独立的内存池空间进行所述任务的数据包传输;
步骤S104:当所述任务处理完成后,将对应的通道关闭并将已分配的内存池空间释放。
对于经常处理有低延迟需求任务的服务器,通过配置DPDK驱动,使服务器进行数据传输时不需要耗费一定时间在无意义的上下文切换和锁的处理上,但由于端口的使用只考虑数据处理公平性,未将实际的运行负载情况进行考虑,容易出现资源使用不合理,高负荷端口堵塞,因此,本公开实施例通过对服务器配置DPDK驱动,并对服务器的部分物理网络端口同任务处理单元的端口进行绑定采用独立通信通道和内存池进行数据包传输,在收到数据包时,经DPDK重载的网卡驱动不会通过中断通知CPU,而是直接将数据包存入内存,交付应用层软件通过DPDK提供的接口来直接处理;并且在进行端口绑定时通过预设的端口匹配算法,计算出物理网络端口与任务处理单元端口的匹配列表;按匹配列表进行端口绑定,使绑定的物理网络端口和任务处理单元端口更合适,匹配列表的端口对数量为当有延迟需求的任务所需端口对数量;通过将物理网络端口和任务处理单元端口绑定,将已绑定的物理网络端口和任务处理单元端口建立通道连接,并分配独立的内存池空间进行所述任务的数据包传输,通过以优化后的DPDK模式进行服务器的数据传输,可以减少同操作系统内核的交互次数,提高数据传输的效率;并且由于进行了端口匹配和绑定,使端口资源使用更合理,不会出现高负荷端口堵塞的情况。当任务处理完成后,将所述通道关闭并将分配的内存池空间释放,并将端口解绑,以方便处理其他任务,在本公开实施例的另一种实施方式中,还可以将预设数量的部分端口的绑定方式保留,根据任务所需的端口数量确定,是否还需要进行计算额外的端口列表,所述端口匹配算法基于各端口的性能和相似度进行匹配,所述服务器可以是各种服务器,包括边缘服务器或云中心服务器。
进一步的,所述通过预设的端口匹配算法得出所述服务器中有延迟需求的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表,包括:
计算所有物理网络端口中各物理网络端口的负载水平,并根据各物理网络端口的负载水平计算其在整个物理网络端口集合中的轮询权值;
计算所有任务处理单元端口中各任务处理单元端口的负载水平,并根据各任务处理单元端口的负载水平计算其在整个任务处理单元端口集合中的轮询权值;
根据各物理网络端口和各任务处理单元端口的轮询权值及性能水平得到属性数组
Figure BDA0003098883140000071
其中,Ei为第i个物理网络端口的性能水平,
Figure BDA0003098883140000072
为第i个任务处理单元端口的性能水平,Wi为第i个物理网络端口的轮询权值,
Figure BDA0003098883140000073
为第i个任务处理单元端口的轮询权值;
将所述属性数组中第一行的各组数据分别与第二行的各组数据进行循环匹配并计算两者的曼哈顿距离,将曼哈顿距离最小的两组数据对应的物理网络端口和任务处理单元端口作为第一组匹配端口对,并记录其端口编号,然后继续进行匹配,直到得到所述任务所需端口对数量的匹配端口对,以及得出物理网络端口与任务处理单元端口的匹配列表。
将服务器的空闲网络端口按照需要进行绑定,首先计算物理网络端口各端口的负载水平LBi,负载水平综合考虑端口利用率、对应CPU处理器利用率、对应管道的负载水平和端口的性能水平计算得出,再根据负载水平计算其在整个端口集合中的轮询权值Wi,并按同样的方法计算出任务处理单元端口各端口的负载水平
Figure BDA0003098883140000081
和轮询权值
Figure BDA0003098883140000082
根据物理网络端口和任务处理单元端口的轮询权值及端口的性能水平;得到物理网络端口和任务处理单元端口的端口权值和性能水平的属性数组:
Figure BDA0003098883140000083
循环匹配第一行数组和第二行数组,计算两者的曼哈顿距离,距离越小说明相似度越高,对相似度最高的一组作为第一组绑定端口,记录端口编号,然后继续进行匹配,直到得到任务所需端口对的数量;得出物理网络端口与任务处理单元端口的匹配列表。
通过循环匹配,使绑定的物理网络端口与任务处理单元端口性能匹配,使传输速度更快,并且不会出现端口堵塞,实现任务数据传输。
进一步的,所有物理网络端口中各物理网络端口的负载水平通过以下公式(1)计算得出:
Figure BDA0003098883140000084
其中,LBi表示所有物理网络端口中第i个物理网络端口的负载水平,Pi表示第i个物理网络端口的利用率,Ci表示第i个物理网络端口对应的CPU处理器的利用率,Ti表示第i个物理网络端口对应管道的负载水平,α、β、γ分别为Pi、Ci、Ti的影响因子,n为所有可用物理网络端口的数量,
Figure BDA0003098883140000085
表示端口集合中所有可用物理网络端口的性能总和。
Ei为第i个物理网络端口的性能水平,根据端口规格确定,如100M端口、200M端口、500M端口可确定其性能水平为100、200和500;同样的,端口的利用率、对应的CPU处理器的利用率和对应管道的负载水平也可按同样方式确定。同样的,任务处理单元端口的负载水平按上述同样的计算方式计算。影响因子α、β、γ可以自主设定,也可以根据该项指标过去一个周期内的平均值设定。
进一步的,所述方法还包括:
将影响因子α、β、γ分别取其对应的指标Pi、Ci、Ti在过去一个周期内的平均值。
考虑到负载水平越高代表剩余可用资源越少,因此应该更加专注该项指标,所以影响因子取该项指标过去一个周期内的平均值,即
Figure BDA0003098883140000091
进一步的,所有物理网络端口中各物理网络端口的轮询权值通过以下公式(2)计算得出:
Figure BDA0003098883140000092
其中,Wi表示所有物理网络端口中第i个物理网络端口的轮询权值,LBi表示第i个物理网络端口的负载水平,
Figure BDA0003098883140000093
为表示所有物理网络端口中所有可用物理网络端口的负载水平总和。
在进行任务处理单元端口的轮询权值计算时按同样方法进行计算。
进一步的,所述方法还包括:
当已绑定的物理网络端口和任务处理单元端口被占用时,将被占用的端口的标记从空闲变更为忙碌;
当所述任务处理完成并且对应的通道关闭后,将该任务所占用的端口的标记从忙碌变更为空闲。
将已占用的端口的标记从空闲变更为忙碌,在任务处理完成后,进行通道关闭以及内存池空间的释放,同时把该任务所占用的端口的标记从忙碌变更为空闲,用于下次任务处理。可以更好的对端口进行管理,防止端口在被使用时受到干扰,并且提升端口利用率。
进一步的,所述方法还包括:
当所述服务器中有正在处理的任务时,判断该任务是否有延迟需求;
若没有,则直接通过未绑定的物理网络端口与任务处理单元端口进行该任务的数据包传输;
若有,则执行通过预设的端口匹配算法得出所述服务器中有延迟需求的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表的步骤。
当有处理任务时,控制程序首先判断是否为有延迟需求的任务,如果为常规的数据交换任务,则通过普通端口进行转发;如果为有低延迟需求的任务则通过所述绑定的虚拟端口作为数据传输通道,从而可以减少同操作系统内核的交互次数,提高数据传输的效率。
本公开实施例通过提出一种任务数据传输方法。当有新任务时,首先判断是否为有低延迟需求的任务;然后针对有低延迟需求的任务,根据各端口的负载和性能指标进行筛选,得到适合的端口匹配列表;其次,进行端口的一一绑定,建立通信连接并分配独立的内存池空间进行数据包传输;当任务完成时进行相关资源的释放。从而能够实现在不额外添加硬件,仅通过软件方式下实现数据传输的低延迟需求,大量减少操作系统层面的无效处理操作。
图2为本公开实施例二提供的一种任务数据传输系统的架构图,如图2所示,所述系统包括:
计算模块11,其设置为当配置有DPDK驱动的服务器中产生有延迟需求的任务时,通过预设的端口匹配算法得出所述服务器中有延迟需要的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表;
绑定模块12,其设置为将所述匹配列表中的物理网络端口与任务处理单元端口按所述匹配列表一一进行绑定;
传输模块13,其设置为通过已绑定的物理网络端口和任务处理单元端口建立通道连接,并分配独立的内存池空间进行所述任务的数据包传输;
释放模块14,其设置为当所述任务处理完成后,将对应的通道关闭并将已分配的内存池空间释放。
进一步的,所述计算模块11包括:
第一计算单元,其设置为计算所有物理网络端口中各物理网络端口的负载水平,并根据各物理网络端口的负载水平计算其在整个物理网络端口集合中的轮询权值;
第二计算单元,其设置为计算所有任务处理单元端口中各任务处理单元端口的负载水平,并根据各任务处理单元端口的负载水平计算其在整个任务处理单元端口集合中的轮询权值;
第三计算单元,其设置为根据各物理网络端口和各任务处理单元端口的轮询权值及性能水平得到属性数组
Figure BDA0003098883140000111
其中,Ei为第i个物理网络端口的性能水平,
Figure BDA0003098883140000112
为第i个任务处理单元端口的性能水平,Wi为第i个物理网络端口的轮询权值,
Figure BDA0003098883140000113
为第i个任务处理单元端口的轮询权值;
匹配单元,其设置为将所述属性数组中第一行的各组数据分别与第二行的各组数据进行循环匹配并计算两者的曼哈顿距离,将曼哈顿距离最小的两组数据对应的物理网络端口和任务处理单元端口作为第一组匹配端口对,并记录其端口编号,然后继续进行匹配,直到得到所述任务所需端口对数量的匹配端口对,以及得出物理网络端口与任务处理单元端口的匹配列表。
进一步的,所述第一计算单元计算所有物理网络端口中各物理网络端口的负载水平通过以下公式(1)计算得出:
Figure BDA0003098883140000114
其中,LBi表示所有物理网络端口中第i个物理网络端口的负载水平,Pi表示第i个物理网络端口的利用率,Ci表示第i个物理网络端口对应的CPU处理器的利用率,Ti表示第i个物理网络端口对应管道的负载水平,α、β、γ分别为Pi、Ci、Ti的影响因子,n为所有可用物理网络端口的数量,
Figure BDA0003098883140000121
表示端口集合中所有可用物理网络端口的性能总和。进一步的,所述第一计算单元还设置为将影响因子α、β、γ分别取其对应的指标Pi、Ci、Ti在过去一个周期内的平均值。
进一步的,所述第一计算单元计算所有物理网络端口中各物理网络端口的轮询权值通过以下公式(2)计算得出:
Figure BDA0003098883140000122
其中,Wi表示所有物理网络端口中第i个物理网络端口的轮询权值,LBi表示第i个物理网络端口的负载水平,
Figure BDA0003098883140000123
为表示所有物理网络端口中所有可用物理网络端口的负载水平总和。
进一步的,所述任务数据传输系统还包括标记模块15;
所述标记模块15设置为当已绑定的物理网络端口和任务处理单元端口被占用时,将被占用的端口的标记从空闲变更为忙碌;以及,
当所述任务处理完成并且对应的通道关闭后,将该任务所占用的端口的标记从忙碌变更为空闲。
进一步的,所述任务数据传输系统还包括判断模块16;
所述判断模块16设置为当所述服务器中有正在处理的任务时,判断该任务是否有延迟需求;
若没有,则使服务器直接通过未绑定的物理网络端口与任务处理单元端口进行该任务的数据包传输;
若有,则使所述计算模块11执行通过预设的端口匹配算法得出所述服务器中有延迟需要的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表的步骤。
本公开实施例的任务数据传输系统用于实施方法实施例一中的任务数据传输方法,所以描述的较为简单,具体可以参见前面方法实施例一中的相关描述,此处不再赘述。
此外,如图3所示,本公开实施例三还提供一种电子设备,包括存储器10和处理器20,所述存储器10中存储有计算机程序,当所述处理器20运行所述存储器10存储的计算机程序时,所述处理器20执行上述各种可能的任务数据传输方法。
此外,本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当用户设备的至少一个处理器执行该计算机执行指令时,用户设备执行上述各种可能的方法。
其中,计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC(Application Specific Integrated Circuit,专用集成电路)中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。
可以理解的是,以上实施方式仅仅是为了说明本公开的原理而采用的示例性实施方式,然而本公开并不局限于此。对于本领域内的普通技术人员而言,在不脱离本公开的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本公开的保护范围。

Claims (10)

1.一种任务数据传输方法,其特征在于,所述方法包括:
当配置有数据平面开发工具集DPDK驱动的服务器中产生有延迟需求的任务时,通过预设的端口匹配算法得出所述服务器中有延迟需求的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表;
将所述匹配列表中的物理网络端口与任务处理单元端口按所述匹配列表一一进行绑定;
通过已绑定的物理网络端口和任务处理单元端口建立通道连接,并分配独立的内存池空间进行所述任务的数据包传输;
当所述任务处理完成后,将对应的通道关闭并将已分配的内存池空间释放。
2.根据权利要求1所述的传输方法,其特征在于,所述通过预设的端口匹配算法得出所述服务器中有延迟需求的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表,包括:
计算所有物理网络端口中各物理网络端口的负载水平,并根据各物理网络端口的负载水平计算其在整个物理网络端口集合中的轮询权值;
计算所有任务处理单元端口中各任务处理单元端口的负载水平,并根据各任务处理单元端口的负载水平计算其在整个任务处理单元端口集合中的轮询权值;
根据各物理网络端口和各任务处理单元端口的轮询权值及性能水平得到属性数组
Figure FDA0003098883130000011
其中,Ei为第i个物理网络端口的性能水平,
Figure FDA0003098883130000012
为第i个任务处理单元端口的性能水平,Wi为第i个物理网络端口的轮询权值,
Figure FDA0003098883130000013
为第i个任务处理单元端口的轮询权值;
将所述属性数组中第一行的各组数据分别与第二行的各组数据进行循环匹配并计算两者的曼哈顿距离,将曼哈顿距离最小的两组数据对应的物理网络端口和任务处理单元端口作为第一组匹配端口对,并记录其端口编号,然后继续进行匹配,直到得到所述任务所需端口对数量的匹配端口对,以及得出物理网络端口与任务处理单元端口的匹配列表。
3.根据权利要求2所述的传输方法,其特征在于,所有物理网络端口中各物理网络端口的负载水平通过以下公式(1)计算得出:
Figure FDA0003098883130000021
其中,LBi表示所有物理网络端口中第i个物理网络端口的负载水平,Pi表示第i个物理网络端口的利用率,Ci表示第i个物理网络端口对应的CPU处理器的利用率,Ti表示第i个物理网络端口对应管道的负载水平,α、β、γ分别为Pi、Ci、Ti的影响因子,n为所有可用物理网络端口的数量,
Figure FDA0003098883130000022
表示端口集合中所有可用物理网络端口的性能总和。
4.根据权利要求3所述的传输方法,其特征在于,影响因子α、β、γ分别为其对应的指标Pi、Ci、Ti在过去一个周期内的平均值。
5.根据权利要求2所述的传输方法,其特征在于,所有物理网络端口中各物理网络端口的轮询权值通过以下公式(2)计算得出:
Figure FDA0003098883130000023
其中,Wi表示所有物理网络端口中第i个物理网络端口的轮询权值,LBi表示第i个物理网络端口的负载水平,
Figure FDA0003098883130000024
为表示所有物理网络端口中所有可用物理网络端口的负载水平总和。
6.根据权利要求1所述的传输方法,其特征在于,所述方法还包括:
当已绑定的物理网络端口和任务处理单元端口被占用时,将被占用的端口的标记从空闲变更为忙碌;
当所述任务处理完成并且对应的通道关闭后,将该任务所占用的端口的标记从忙碌变更为空闲。
7.根据权利要求1所述的传输方法,其特征在于,所述方法还包括:
当所述服务器中有正在处理的任务时,判断该任务是否有延迟需求;
若没有,则直接通过未绑定的物理网络端口与任务处理单元端口进行该任务的数据包传输;
若有,则执行通过预设的端口匹配算法得出所述服务器中有延迟需求的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表的步骤。
8.一种任务数据传输系统,其特征在于,所述系统包括:
计算模块,其设置为当配置有数据平面开发工具集DPDK驱动的服务器中产生有延迟需求的任务时,通过预设的端口匹配算法得出所述服务器中有延迟需要的任务所需端口对数量的物理网络端口与任务处理单元端口的匹配列表;
绑定模块,其设置为将所述匹配列表中的物理网络端口与任务处理单元端口按所述匹配列表一一进行绑定;
传输模块,其设置为通过已绑定的物理网络端口和任务处理单元端口建立通道连接,并分配独立的内存池空间进行所述任务的数据包传输;
释放模块,其设置为当所述任务处理完成后,将对应的通道关闭并将已分配的内存池空间释放。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行根据权利要求1-7中任一项所述的任务数据传输方法。
10.一种计算机可读存储介质,包括:计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-7中任一项所述的任务数据传输方法。
CN202110619097.4A 2021-06-03 2021-06-03 任务数据传输方法、系统、电子设备及存储介质 Withdrawn CN113434287A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110619097.4A CN113434287A (zh) 2021-06-03 2021-06-03 任务数据传输方法、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110619097.4A CN113434287A (zh) 2021-06-03 2021-06-03 任务数据传输方法、系统、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN113434287A true CN113434287A (zh) 2021-09-24

Family

ID=77803551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110619097.4A Withdrawn CN113434287A (zh) 2021-06-03 2021-06-03 任务数据传输方法、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113434287A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995672A (zh) * 2019-03-22 2019-07-09 烽火通信科技股份有限公司 基于dpdk的虚拟家庭网关带宽调度控制方法及系统
CN110719234A (zh) * 2019-10-17 2020-01-21 南京中孚信息技术有限公司 一种基于dpdk的数据包处理方法及装置
CN111371779A (zh) * 2020-02-29 2020-07-03 苏州浪潮智能科技有限公司 一种基于dpdk虚拟化管理系统的防火墙及其实现方法
CN111447155A (zh) * 2020-03-24 2020-07-24 广州市百果园信息技术有限公司 数据传输方法、装置、设备及存储介质
CN112003797A (zh) * 2020-07-16 2020-11-27 苏州浪潮智能科技有限公司 一种虚拟化dpdk网络性能提高方法、系统、终端及存储介质
WO2021036812A1 (zh) * 2019-08-23 2021-03-04 中兴通讯股份有限公司 报文处理方法、装置和计算机存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995672A (zh) * 2019-03-22 2019-07-09 烽火通信科技股份有限公司 基于dpdk的虚拟家庭网关带宽调度控制方法及系统
WO2021036812A1 (zh) * 2019-08-23 2021-03-04 中兴通讯股份有限公司 报文处理方法、装置和计算机存储介质
CN110719234A (zh) * 2019-10-17 2020-01-21 南京中孚信息技术有限公司 一种基于dpdk的数据包处理方法及装置
CN111371779A (zh) * 2020-02-29 2020-07-03 苏州浪潮智能科技有限公司 一种基于dpdk虚拟化管理系统的防火墙及其实现方法
CN111447155A (zh) * 2020-03-24 2020-07-24 广州市百果园信息技术有限公司 数据传输方法、装置、设备及存储介质
CN112003797A (zh) * 2020-07-16 2020-11-27 苏州浪潮智能科技有限公司 一种虚拟化dpdk网络性能提高方法、系统、终端及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
姜海粟等: "基于DPDK 的多端口并行通信机制", 《小型微型计算机系统》 *

Similar Documents

Publication Publication Date Title
US10412021B2 (en) Optimizing placement of virtual machines
US8725912B2 (en) Dynamic balancing of IO resources on NUMA platforms
WO2016090946A1 (zh) 一种虚拟数据中心资源映射方法和设备
JP4557178B2 (ja) 仮想マシン管理システム、その方法及びそのプログラム
US20130167152A1 (en) Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method
CN104102543A (zh) 一种云计算环境中负载调整的方法和装置
US20080168457A1 (en) Method for trading resources between partitions of a data processing system
US7962926B2 (en) Method, system, and program storage device for generating a retry message when a thread in a real-time application is unavailable to process a request to utilize the real-time application
CN110990154B (zh) 一种大数据应用优化方法、装置及存储介质
CN107436798A (zh) 一种基于numa节点的进程访问方法及装置
WO2014114072A1 (zh) 虚拟化平台下i/o通道的调整方法和调整装置
CN109039933B (zh) 一种集群网络优化方法、装置、设备及介质
CN110187970A (zh) 一种基于Hadoop MapReduce的分布式大数据并行计算方法
CN115718644A (zh) 一种面向云数据中心的计算任务跨区迁移方法及系统
Geng et al. A task scheduling algorithm based on priority list and task duplication in cloud computing environment
CN111597038A (zh) 一种超级计算机i/o转发结点轮询映射方法
CN112954012B (zh) 基于负载的改进模拟退火算法的云任务调度方法
CN110308965B (zh) 云数据中心的基于规则的启发式虚拟机分配方法及系统
Niethammer et al. An MPI interface for application and hardware aware Cartesian topology optimization
CN116089477B (zh) 分布式训练方法及系统
Zhao et al. Insight and reduction of MapReduce stragglers in heterogeneous environment
CN110308991B (zh) 一种基于随机任务的数据中心节能优化方法及系统
CN113434287A (zh) 任务数据传输方法、系统、电子设备及存储介质
WO2024021475A1 (zh) 一种容器调度方法及装置
JP6795536B2 (ja) Vm性能保証システムおよびvm性能保証方法

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20210924