CN115174410A - 资源分配方法、装置及设备 - Google Patents

资源分配方法、装置及设备 Download PDF

Info

Publication number
CN115174410A
CN115174410A CN202210894058.XA CN202210894058A CN115174410A CN 115174410 A CN115174410 A CN 115174410A CN 202210894058 A CN202210894058 A CN 202210894058A CN 115174410 A CN115174410 A CN 115174410A
Authority
CN
China
Prior art keywords
network
data packet
transmission rate
resource allocation
determining
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.)
Pending
Application number
CN202210894058.XA
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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210894058.XA priority Critical patent/CN115174410A/zh
Publication of CN115174410A publication Critical patent/CN115174410A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities

Landscapes

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

Abstract

本申请实施例提供一种资源分配方法、装置及设备,该方法包括:通过用户态进程确定多个对象中各对象的资源分配信息,资源分配信息包括目标网络带宽和目标网络包传输速率;通过内核态进程获取资源分配信息;通过内核态进程获取待处理数据包,根据资源分配信息确定待处理数据包对应的网络资源,并根据网络资源发送待处理数据包。可以提高网络资源的利用率和公平性。

Description

资源分配方法、装置及设备
技术领域
本申请涉及通信技术领域,尤其涉及一种资源分配方法、装置及设备。
背景技术
在网络通信系统中,在发送数据包时,需要为数据包确定对应的网络资源(例如,网络带宽),根据网络资源发送数据包。
在相关技术中,通常是根据数据包对应的对象(例如,用户、应用程序或账号等),静态的为对象划分网络资源。每个对象对应的网络资源是固定的,无法支持网络资源的共享和借用,导致网络资源的利用率低。
发明内容
本申请的多个方面提供一种资源分配方法、装置及设备,用以提高网络资源的利用率和公平性。
第一方面,本申请实施例提供一种资源分配方法,包括:
通过用户态进程确定多个对象中各对象的资源分配信息,所述资源分配信息包括目标网络带宽和目标网络包传输速率;
通过内核态进程获取所述资源分配信息;
通过所述内核态进程获取待处理数据包,根据所述资源分配信息确定所述待处理数据包对应的网络资源,并根据所述网络资源发送所述待处理数据包。
在一种可能的实施方式中,针对所述多个对象中的任意一个对象;通过用户态进程确定所述对象的资源分配信息,包括:
通过所述用户态进程获取所述对象对应的多个历史数据包信息,所述历史数据包信息包括对象标识、数据包大小和数据包获取时刻;
根据所述对象对应的多个历史数据包信息,确定所述对象的资源分配信息。
在一种可能的实施方式中,根据所述对象对应的多个历史数据包信息,确定所述对象的资源分配信息,包括:
根据所述多个历史数据包信息,确定所述对象在历史时段内的第一网络带宽和第一网络包传输速率;
获取所述对象对应的配置信息,所述配置信息中包括最大网络带宽、最小网络带宽、最大网络包传输速率和最小网络包传输速率;
获取电子设备的剩余资源量;
根据所述第一网络带宽、所述第一网络包传输速率、所述配置信息和所述剩余资源量,确定所述资源分配信息。
在一种可能的实施方式中,根据所述多个历史数据包信息,确定所述对象在历史时段内的第一网络带宽和第一网络包传输速率,包括:
根据所述多个历史数据包信息中的数据包大小,确定历史数据包的总大小;
根据所述多个历史数据包信息中的数据包数量,确定历史数据包的总数量;
根据所述多个历史数据包信息中的数据包获取时刻,确定历史数据包对应的总时长;
根据所述总大小和所述总时长,确定所述对象对应的第一网络带宽;
根据所述总数量和所述总时长,确定所述对象对应的第一网络包传输速率。
在一种可能的实施方式中,根据所述第一网络带宽、所述第一网络包传输速率、所述配置信息和所述剩余资源量,确定所述资源分配信息,包括:
根据所述剩余资源量和所述配置信息,确定网络带宽调整值和网络包传输速率调整值;
根据所述第一网络带宽和所述网络带宽调整值,确定所述目标网络带宽,所述目标网络带宽大于或等于所述最小网络带宽,且小于或等于所述最大网络带宽;
根据所述第一网络包传输速率和所述网络包传输速率调整值,确定所述目标网络包传输速率,所述目标网络包传输速率大于或等于所述最小网络包传输速率,且小于或等于所述最大网络包传输速率。
在一种可能的实施方式中,通过所述用户态进程获取所述对象对应的多个历史数据包的数据包信息,包括:
通过所述用户态进程确定所述对象的第一对象标识;
根据所述第一对象标识,在共享内存中获取所述多个历史数据包信息,所述历史数据包信息中的对象标识为所述第一对象标识,所述历史数据包信息中的数据包获取时刻在预设的历史时段内。
在一种可能的实施方式中,根据所述第一对象标识,在共享内存中获取所述多个历史数据包信息之前,还包括:
通过所述内核态进程获取多个历史数据包,并对所述历史数据包进行解析,以获取所述多个历史数据包的所述历史数据包信息;
通过所述内核态进程将所述多个历史数据包信息存储至所述共享内存。
在一种可能的实施方式中,根据所述资源分配信息确定所述待处理数据包对应的网络资源,包括:
确定所述待处理数据包对应的第二对象标识;
根据所述第二对象标识,确定所述待处理数据包对应的网络资源。
在一种可能的实施方式中,所述对象为如下任意一种:用户、程序或账号。
第二方面,本申请实施例提供一种资源分配装置,包括:第一确定模块、第一获取模块和第二获取模块,其中,
所述第一确定模块用于,通过用户态进程确定多个对象中各对象的资源分配信息,所述资源分配信息包括目标网络带宽和目标网络包传输速率;
所述第一获取模块用于,通过内核态进程获取所述资源分配信息;
所述第二获取模块用于,通过所述内核态进程获取待处理数据包,根据所述资源分配信息确定所述待处理数据包对应的网络资源,并根据所述网络资源发送所述待处理数据包。
在一种可能的实施方式中,针对所述多个对象中的任意一个对象;所述第一确定模块具体用于:
通过所述用户态进程获取所述对象对应的多个历史数据包信息,所述历史数据包信息包括对象标识、数据包大小和数据包获取时刻;
根据所述对象对应的多个历史数据包信息,确定所述对象的资源分配信息。
在一种可能的实施方式中,所述第一确定模块具体用于:
根据所述多个历史数据包信息,确定所述对象在历史时段内的第一网络带宽和第一网络包传输速率;
获取所述对象对应的配置信息,所述配置信息中包括最大网络带宽、最小网络带宽、最大网络包传输速率和最小网络包传输速率;
获取电子设备的剩余资源量;
根据所述第一网络带宽、所述第一网络包传输速率、所述配置信息和所述剩余资源量,确定所述资源分配信息。
在一种可能的实施方式中,所述第一确定模块具体用于:
根据所述多个历史数据包信息中的数据包大小,确定历史数据包的总大小;
根据所述多个历史数据包信息中的数据包数量,确定历史数据包的总数量;
根据所述多个历史数据包信息中的数据包获取时刻,确定历史数据包对应的总时长;
根据所述总大小和所述总时长,确定所述对象对应的第一网络带宽;
根据所述总数量和所述总时长,确定所述对象对应的第一网络包传输速率。
在一种可能的实施方式中,所述第一确定模块具体用于:
根据所述剩余资源量和所述配置信息,确定网络带宽调整值和网络包传输速率调整值;
根据所述第一网络带宽和所述网络带宽调整值,确定所述目标网络带宽,所述目标网络带宽大于或等于所述最小网络带宽,且小于或等于所述最大网络带宽;
根据所述第一网络包传输速率和所述网络包传输速率调整值,确定所述目标网络包传输速率,所述目标网络包传输速率大于或等于所述最小网络包传输速率,且小于或等于所述最大网络包传输速率。
在一种可能的实施方式中,所述第一确定模块具体用于:
通过所述用户态进程确定所述对象的第一对象标识;
根据所述第一对象标识,在共享内存中获取所述多个历史数据包信息,所述历史数据包信息中的对象标识为所述第一对象标识,所述历史数据包信息中的数据包获取时刻在预设的历史时段内。
在一种可能的实施方式中,所述资源分配装置还包括第三获取模块和存储模块:
所述第三获取模块用于,通过所述内核态进程获取多个历史数据包,并对所述历史数据包进行解析,以获取所述多个历史数据包的所述历史数据包信息;
所述存储获取模块用于,通过所述内核态进程将所述多个历史数据包信息存储至所述共享内存。
在一种可能的实施方式中,所述第二获取模块具体用于:
确定所述待处理数据包对应的第二对象标识;
根据所述第二对象标识,确定所述待处理数据包对应的网络资源。
在一种可能的实施方式中,所述对象为如下任意一种:用户、程序或账号。
第三方面,本申请实施例提供一种电子设备,包括:存储器和处理器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行第一方面任一项所述的资源分配方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现第一方面任一项所述的资源分配方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面任一项所示的资源分配方法。
本申请实施例提供一种资源分配方法、装置及设备,电子设备可以通过用户态进程获取多个对象对应的多个历史数据包信息,进而根据多个对象对应的多个历史数据包信息,确定多个对象中各对象的资源分配信息。电子设备可以通过内核态进程获取各对象的资源分配信息和待处理数据包,并根据资源分配信息确定待处理数据包对应的网络资源,进而根据网络资源发送待处理数据包。由于可以通过用户态进程,根据对象对应的多个历史数据包信息动态地确定资源分配信息,进而确定待处理数据包对应的网络资源,相比于静态划分网络资源,可以支持网络资源的共享和借用,进而提高了网络资源的利用率和公平性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1A为本申请示例性实施例提供的一种应用场景的示意图;
图1B为本申请示例性实施例提供的另一种应用场景的示意图;
图1C为本申请实施例提供的再一种应用场景的示意图;
图2为本申请示例性实施例提供的一种资源分配方法的流程示意图;
图3为本申请示例性实施例提供的共享内存的示意图;
图4为本申请示例性实施例提供的另一种资源分配方法的流程示意图;
图5为本申请示例性实施例提供的资源分配方法的过程示意图;
图6为本申请示例性实施例提供的一种资源分配装置的结构示意图;
图7为本申请示例性实施例提供的另一种资源分配装置的结构示意图;
图8为本申请示例性实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面,结合图1A-图1C对本申请的技术方案的应用场景进行说明。
图1A为本申请示例性实施例提供的一种应用场景的示意图。请参见图1A,包括服务器和多个终端设备。例如,多个终端设备可以包括终端设备1、终端设备2、……、终端设备n。服务器和任意一个终端设备之间可以进行通信。
针对任意一个终端设备,终端设备可以向服务器发送数据包。服务器接收到终端设备发送的数据包之后,可以根据数据包的信息,为数据包确定对应的网络资源,并根据网络资源发送数据包。
图1B为本申请示例性实施例提供的另一种应用场景的示意图。请参见图1B,包括终端设备和多个服务器。例如,多个服务器可以包括服务器1、服务器2、……、服务器n。终端设备和任意一个服务器之间可以进行通信。
终端设备上可以安装有不同的应用程序(Application,APP)。不同的APP可以对应有不同的服务器。不同的APP可以在终端设备上产生不同的数据包。终端设备可以为不同的数据包确定不同的网络资源,并根据网络资源向对应的服务器发送数据包。
例如,若终端设备中安装有游戏APP、视频APP,游戏APP对应服务器-1、视频APP对应服务器-2,则终端设备可以为游戏APP所产生的数据包确定对应的网络资源-1,并根据网络资源-1向服务器-1发送游戏APP所产生的数据包;终端设备可以为视频APP所产生的数据包确定对应的网络资源-2,并根据网络资源-2向服务器-2发送视频APP所产生的数据包。
图1C为本申请实施例提供的再一种应用场景的示意图。请参见图1C,服务器中设置有多个虚拟机或者容器(图1C中以虚拟机为例进行说明)。在实际运行的过程中,虚拟机可以产生数据包,服务器可以为不同的虚拟机确定不同的网络资源,并根据网络资源发送虚拟机产生的数据包。
在相关技术中,通常是根据数据包对应的对象,静态划分网络资源。每个对象对应的网络资源是固定的,无法支持网络资源的共享和借用,导致网络资源的利用率低、以及网络资源的公平性较差。
在本申请实施例中,可以根据数据包的信息,动态划分数据包所对应的网络资源,并根据对应的网络资源发送数据包。由于可以动态划分数据包对应的网络资源,相比于静态划分网络资源,可以支持网络资源的共享和借用,进而提高了网络资源的利用率和公平性。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个实施例可以单独存在,也可以相互结合,对于相同或相似的内容,在不同的实施例中不再重复说明。
图2为本申请示例性实施例提供的一种资源分配方法的流程示意图。请参见图2,该方法可以包括:
S201、通过用户态进程确定多个对象中各对象的资源分配信息。
本申请实施例的执行主体可以为电子设备,也可以为设置在电子设备中的资源分配装置。资源分配装置可以通过软件实现,也可以通过软件和硬件的结合实现。例如,电子设备可以为服务器、终端设备等。为了便于理解,在下文中,以执行主体为电子设备为例进行说明。
在中央处理器(Central Processing Unit,CPU)的设计中,为了保护操作系统,可以对不同的进程设置不同的权限。可以将权限等级划分为2个等级,分别为用户态和内核态。用户态进程的权限较内核态进程的权限低。
对象可以为用户、应用程序或账号等。例如,若对象为用户,则电子设备可以通过用户态进程确定多个用户的资源分配信息。应用程序可以包括:终端设备中安装的应用程序、服务器中设置的虚拟机、容器等。
资源分配信息中可以包括目标网络带宽和目标网络包传输速率。
网络带宽是指单位时间内能传输的数据量,单位为比特/秒(bits per second,bps)。带宽越大,传输能力越强。例如,带宽可以为100Mbps。
网络包传输速率是指每秒发送的网络报文数,单位为包/秒(Packets PerSecond,PPS)。例如,网络包传输速率可以为80PPS。
针对多个对象中的任意一个对象,可以通过如下方式确定对象的资源分配信息:通过用户态进程获取对象对应的多个历史数据包信息;根据对象对应的多个历史数据包信息,确定对象的资源分配信息。
历史数据包信息中可以包括对象标识、数据包大小、数据包获取时刻。
对象标识可以用于标识历史数据包所属的对象。例如,若对象标识为用户-1,则可以确定该历史数据包所属的对象为用户-1。
数据包获取时刻可以用时间戳表示。时间戳是使用数字签名技术所产生的数据,通常是一个字符序列,可以用于标识某个时刻。
在一可选实施例中,可以通过如下方式获取对象对应的多个历史数据包信息:通过用户态进程确定对象的第一对象标识;根据第一对象标识,在共享内存中获取多个历史数据包信息。
下面,结合图3,对共享内存进行说明。
图3为本申请示例性实施例提供的共享内存的示意图。请参见图3,共享内存中可以保存有多个历史数据包信息。例如,共享内存中可以保存有历史数据包信息-1、历史数据包信息-2、……、历史数据包信息-n。
针对任意一个历史数据包信息,历史数据包信息中的对象标识可以为第一对象标识,历史数据包信息中的数据包获取时刻在预设的历史时段内。
历史时段是指当前时刻距离历史时刻的一个时段。历史时段可以为毫秒级。例如,历史时段可以为100ms。
例如,若当前时刻为2022/06/28 11:12:28:500,预设的历史时段为100ms,历史数据包信息-1对应的对象标识为用户-1,则用户-1为第一对象标识,历史数据包信息-1中的数据包获取时刻可以为2022/06/28 11:12:28:456,在预设的历史时段内。
可选的,电子设备可以通过用户态进程分别确定各对象的第一对象标识,并根据第一对象标识,在共享内存中获取多个历史数据包信息,进而可以根据多个历史数据包信息,确定各对象的资源分配信息。
例如,若电子设备通过用户态进程确定对象-1对应的第一对象标识为用户-1,则可以根据用户-1在共享内存中获取历史数据包信息-1、历史数据包信息-2、历史数据包信息-3,进而可以根据该3个历史数据包信息,确定对象-1的资源分配信息。
S202、通过内核态进程获取资源分配信息。
可选的,电子设备通过用户态进程确定各个对象的资源分配信息之后,可以通过用户态进程周期性地向内核态进程发送资源分配信息,以使内核态进程可以获取资源分配信息。
可选的,周期可以由工作人员预设设置,周期的时长可以为毫秒级,例如,周期的时长可以为50ms。
例如,若设定周期为50ms,则每隔50ms,电子设备可以通过用户态进程向内核态进程发送一次资源分配信息,以使内核态进程可以获取资源分配信息。该资源分配信息中可以包括多个对象的资源分配信息,各资源分配信息均有对应的第一对象标识。
S203、通过内核态进程获取待处理数据包,根据资源分配信息确定待处理数据包对应的网络资源,并根据网络资源发送待处理数据包。
可选的,电子设备接收到其他电子设备发送的数据包之后,可以通过内核态进程获取待处理数据包。
在一可选实施例中,可以通过如下方式,根据资源分配信息确定待处理数据包对应的网络资源:确定待处理数据包对应的第二对象标识;根据第二对象标识,确定待处理数据包对应的网络资源。
例如,若待处理数据包对应的第二对象标识为用户-2,则电子设备可以根据用户-2,在资源分配信息中确定待处理数据包对应的资源分配信息-2。若资源分配信息-2中包括的目标网络带宽为100Mbps,目标网络包传输速率为80PPS,则电子设备可以确定该待处理数据包对应的网络资源为:目标网络带宽100Mbps、目标网络包传输速率80PPS,则电子设备可以根据该网络资源,通过内核态进程发送该待处理数据包。
在本申请实施例中,电子设备可以通过用户态进程获取多个对象对应的多个历史数据包信息,进而根据多个对象对应的多个历史数据包信息,确定多个对象中各对象的资源分配信息。电子设备可以通过内核态进程获取各对象的资源分配信息和待处理数据包,并根据资源分配信息确定待处理数据包对应的网络资源,进而根据网络资源发送待处理数据包。由于可以通过用户态进程,根据对象对应的多个历史数据包信息动态地确定资源分配信息,可以支持网络资源的共享和借用;且由于资源分配信息中包括目标网络带宽和目标网络包传输速率两个指标,能够从多个维度对网络资源进行限制;将复杂的资源分配逻辑从内核态中拆分到了用户态,比较灵活,提高了整理处理性能。综合这3方面,提高了网络资源的利用率和公平性。
在图2所示实施例的基础上,下面,结合图4,对上述资源分配方法进行进一步说明。
图4为本申请示例性实施例提供的另一种资源分配方法的流程示意图,请参见图4,该方法可以包括:
S401、通过内核态进程获取数据包,并对数据包进行解析,以获取数据包信息。
电子设备可以通过内核态进程对数据包进行解析,获取该数据包对应的对象标识、数据包大小、数据包获取时刻等历史数据包信息。
可以通过四元组信息表示对象标识,四元组信息中可以包括源网际互连协议(Internet Protocol,IP)地址、目的IP地址、源端口、目的端口。源端口是指本电子设备用来发送数据的端口,目的端口是指目标电子设备用来接收数据的端口。
例如,针对数据包-1,电子设备可以通过内核态进程对数据包进行解析,获取到数据包-1对应的对象标识为用户-1、数据包-1的大小为64K、数据包获取时刻为2022/06/2811:12:28:456等数据包信息。
S402、通过内核态进程将数据包信息存储至共享内存。
可选的,获取数据包的数据包信息之后,可以通过内核态进程,实时地将数据包信息存储至共享内存。
需要说明的是,实时执行S401-S402,即,在通过内核态进程获取到数据包之后,执行S401-S402。
S403、通过用户态进程获取对象对应的多个历史数据包信息。
在一可选实施例中,电子设备可以通过用户态进程分别确定各对象的第一对象标识,并根据各第一对象标识,周期性地在共享内存中获取多个历史数据包信息。
可选的,周期可以由工作人员预设设置,周期的时长可以为毫秒级,例如,周期的时长可以为50ms。
例如,设定周期为50ms,则每隔50ms,电子设备可以通过用户态进程,根据各对象的第一对象标识在共享内存中获取各对象分别对应的多个历史数据包信息。
S404、根据多个历史数据包信息,确定对象在历史时段内的第一网络带宽和第一网络包传输速率。
在一可选实施例中,可以通过如下方式,确定对象在历史时段内的第一网络带宽和第一网络包传输速率:根据多个历史数据包信息中的数据包大小,确定历史数据包的总大小;根据多个历史数据包信息中的数据包数量,确定历史数据包的总数量;根据多个历史数据包信息中的数据包获取时刻,确定历史数据包对应的总时长;根据总大小和总时长,确定对象对应的第一网络带宽;根据总数量和所述总时长,确定对象对应的第一网络包传输速率。
例如,若对象-1对应的多个历史数据包信息分别为历史数据包信息-1、历史数据包信息-2、历史数据包信息-3。其中,历史数据包信息-1中数据包大小为64KB、数据包获取时间为2022/06/28 11:12:28:496;历史数据包信息-2中数据包大小为64KB,数据包获取时间为2022/06/28 11:12:28:472;历史数据包信息-3中数据包大小为53KB,数据包获取时间为2022/06/28 11:12:28:456,则可以确定历史数据包的总大小为181KB、总时长为40ms。
可选的,可以通过如下公式(1)确定第一网络带宽、通过公式(2)确定第一网络包传输速率:
第一网络带宽=历史数据包的总大小/总时长 公式(1)
第一网络包传输速率=历史数据包的总数量/总时长 公式(2)
例如,若对象-1对应的3个历史数据包的总大小为181KB、总时长为40ms,则可以通过公式(1)和公式(2)分别计算如下:
第一网络带宽=181KB/40ms=181×1024B/0.04s=4633600bit/s≈4.6Mps;
第一网络包传输速率=3Packets/0.04s=75PPS。
则可以确定对象-1对应的第一网络带宽为4.6Mps、第一网络包传输速率为75PPS。
S405、获取对象对应的配置信息。
在一可选实施例中,电子设备可以通过用户态进程获取对象对应的配置信息,配置信息中可以包括最大网络带宽、最小网络带宽、最大网络包传输速率和最小网络包传输速率。
例如,电子设备可以获取用户-1的配置信息,配置信息中可以包括最大网络带宽为10Mps、最小网络带宽为5Mps、最大网络包传输速率为750PPS和最小网络包传输速率为50PPS。
S406、获取电子设备的剩余资源量。
剩余资源量中可以包括剩余网络带宽和剩余网络包传输速率。
在一可选实施例中,电子设备可以通过用户态进程确定总网络带宽、网络带宽水位线和所有对象对应的第一网络带宽总和,可以根据总网络带宽、网络带宽水位线和所有对象对应的第一网络带宽总和,以确定剩余网络带宽。
可选的,若电子设备确定总网络带宽为T,网络带宽水位线为T′=90%*T,对象i对应的第一网络带宽为mi,则所有对象对应的第一网络带宽总和为
Figure BDA0003768688230000111
剩余网络带宽可以用S表示,则可以通过公式(3)计算得到:
Figure BDA0003768688230000112
例如,若电子设备确定总网络带宽为100Mps,网络带宽水位线为T′=90Mps,若电子设备确定共有5个对象,其中对象-1、对象-2、对象-3、对象-4、对象-5分别对应的第一网络带宽为5Mps、8Mps、10Mps、12Mps、15Mps,则所有对象对应的第一网络带宽总和为50Mps,则剩余网络带宽S为40Mps。
在一可选实施例中,电子设备可以通过用户态进程确定总网络包传输速率、网络包传输速率水位线和所有对象对应的第一网络包传输速率总和,可以根据总网络包传输速率、网络包传输速率水位线和所有对象对应的第一网络包传输速率总和,以确定剩余网络包传输速率。
可选的,若电子设备确定总网络包传输速率为V,网络包传输速率水位线为V′=90%*V,每个对象i对应的第一网络包传输速率为ni,则所有对象对应的第一网络包传输速率总和为
Figure BDA0003768688230000113
剩余网络包传输速率可以用Q表示,则可以通过公式(4)计算得到:
Figure BDA0003768688230000114
例如,若电子设备确定总网络包传输速率为500PPS,网络带宽水位线为V′=450PPS,若电子设备确定共有5个对象,其中对象-1、对象-2、对象-3、对象-4、对象-5分别对应的第一网络包传输速率为80PPS、90PPS、80PPS、95PPS、70PPS,则所有对象对应的第一网络带宽总和为415PPS,则剩余网络包传输速率Q为35PPS。
S407、根据剩余资源量和配置信息,确定网络带宽调整值和网络包传输速率调整值。
可选的,针对任意一个对象,可以根据剩余网络带宽、各对象对应的配置信息、各对象对应的第一网络带宽,确定网络带宽调整值。
若设定对象i配置的最小网络带宽为Ti-min,最大网络带宽为Ti-max,对象i对应的第一网络带宽为mi,网络带宽调整值可以用ΔTi表示,则确定网络带宽调整值ΔTi可以包括如下3种情况:
情况1:若所有对象对应的第一网络带宽总和低于网络带宽水位线,即
Figure BDA0003768688230000121
且存在对象i对应的第一网络带宽小于最小网络带宽,即mi<Ti-min
在该种情况下,则可以优先为符合mi<Ti-min条件的对象i确定对应的网络带宽调整值,网络带宽调整值ΔTi可以为Ti-min-mi
例如,若网络带宽水位线为T′=90Mps,所有对象对应的第一网络带宽总和为50Mps,若电子设备确定共有5个对象,其中对象-1配置的最小网络带宽Ti-min为10Mps,最大网络带宽Ti-max为15Mps,对象-1对应的第一网络带宽mi为8Mps,则可以确定对象-1的网络带宽调整值ΔTi为10Mps-8Mps=2Mps。
情况2:若所有对象对应的第一网络带宽总和低于网络带宽水位线,即
Figure BDA0003768688230000122
且对象i对应的第一网络带宽大于或者等于最小网络带宽,即mi≥Ti-min
在该种情况下,则可以确定对象i对应的网络带宽调整值ΔTi可以为[0,Ti-max-mi]之间的值。
例如,若网络带宽水位线为T′=90Mps,所有对象对应的第一网络带宽总和为50Mps,若电子设备确定共有5个对象,其中对象-2配置的最小网络带宽Ti-min为10Mps,最大网络带宽Ti-max为15Mps,对象-2对应的第一网络带宽mi为12Mps,则可以确定对象-2的网络带宽调整值ΔTi为15Mps-12Mps=3Mps。
情况3:若所有对象对应的第一网络带宽总和高于网络带宽水位线,即
Figure BDA0003768688230000123
且存在对象i对应的第一网络带宽大于最大网络带宽,即mi>Ti-max
在该种情况下,则可以为符合mi>Ti-min条件的对象i确定网络带宽调整值,网络带宽调整值ΔTi可以为Ti-max-mi
例如,若网络带宽水位线为T′=90Mps,所有对象对应的第一网络带宽总和为95Mps,则第一网络带宽总和高于网络带宽水位线。若电子设备确定共有5个对象,其中对象-3配置的最小网络带宽Ti-min为10Mps,最大网络带宽Ti-max为15Mps,对象-3对应的第一网络带宽mi为17Mps,则可以确定对象-3的网络带宽调整值ΔTi为15Mps-17Mps=-2Mps。
可选的,针对任意一个对象,可以根据剩余网络包传输速率、各对象对应的配置信息、各对象对应的第一网络包传输速率,确定网络包传输速率调整值。
若设定对象i配置的最小网络包传输速率为Vi-min,最大网络包传输速率为Vi-max,对象i对应的第一网络包传输速率为ni,网络包传输速率调整值可以用ΔVi表示,则确定网络包传输速率调整值ΔVi可以包括如下3种情况:
情况1:若所有对象对应的第一网络包传输速率总和低于网络包传输速率水位线,即
Figure BDA0003768688230000131
且存在对象i对应的第一网络包传输速率小于最小网络包传输速率,即ni<Vi-min
在该种情况下,则可以优先为符合ni<Vi-min条件的对象i确定对应的网络包传输速率调整值,网络包传输速率调整值ΔVi可以为Vi-min-ni
例如,若网络包传输速率水位线为V′=450PPS,所有对象对应的第一网络包传输速率总和为400PPS,若电子设备确定共有5个对象,其中对象-1配置的最小网络包传输速率Vi-min为50PPS,最大网络包传输速率Vi-max为100PPS,对象-1对应的第一网络包传输速率ni为45PPS,则可以确定对象-1的网络包传输速率调整值ΔVi为50PPS-45PPS=5PPS。
情况2:若所有对象对应的第一网络包传输速率总和低于网络包传输速率水位线,即
Figure BDA0003768688230000132
且对象i对应的第一网络包传输速率大于或者等于最小网络包传输速率,即ni≥Vi-min
在该种情况下,则可以确定对象i对应的网络包传输速率调整值ΔVi可以为[0,Vi-max-ni]之间的值。
例如,若网络包传输速率水位线为V′=450PPS,所有对象对应的第一网络包传输速率总和为400PPS,若电子设备确定共有5个对象,其中对象-2配置的最小网络包传输速率Vi-min为50PPS,最大网络包传输速率Vi-max为100PPS,对象-2对应的第一网络包传输速率ni为80PPS,则可以确定对象-2的网络包传输速率调整值ΔVi为100PPS-80PPS=20PPS。
情况3:若所有对象对应的第一网络包传输速率总和高于网络包传输速率水位线,即
Figure BDA0003768688230000133
且存在对象i对应的第一网络包传输速率大于最大网络包传输速率,即ni>Vi-max
在该种情况下,则可以为符合ni>Vi-min条件的对象i确定网络包传输速率调整值,网络包传输速率调整值ΔVi可以为Vi-max-ni
例如,若网络包传输速率水位线为V′=450PPS,所有对象对应的第一网络包传输速率总和为480PPS,若电子设备确定共有5个对象,其中对象-3配置的最小网络包传输速率Vi-min为50PPS,最大网络包传输速率Vi-max为100PPS,对象-3对应的第一网络包传输速率ni为110PPS,则可以确定对象-3的网络包传输速率调整值ΔVi为100PPS-110PPS=-10PPS。
S408、根据第一网络带宽、第一网络包传输速率、网络带宽调整值和网络包传输速率调整值,确定资源分配信息。
在一可选实施例中,可以通过如下方式确定资源分配信息:根据第一网络带宽和网络带宽调整值,确定目标网络带宽,目标网络带宽大于或等于最小网络带宽,且小于或等于最大网络带宽;根据第一网络包传输速率和网络包传输速率调整值,确定目标网络包传输速率,目标网络包传输速率大于或等于最小网络包传输速率,且小于或等于最大网络包传输速率。
可选的,可以将第一网络带宽和网络带宽调整值相加,以确定目标网络带宽,具体可以包括如下3种情况:
情况1:若对象i对应的第一网络带宽小于最小网络带宽,即mi<Ti-min
在该种情况下,可以将第一网络带宽加上网络带宽调整值,以使目标网络带宽大于或等于最小网络带宽。
例如,若对象-1对应的第一网络带宽mi为8Mps,对应的网络带宽调整值ΔTi为2Mps,对象-1配置的最小网络带宽Ti-min为10Mps,则目标网络带宽可以为8Mps+2Mps=10Mps,则目标网络带宽等于最小网络带宽。
情况2:若对象i对应的第一网络带宽大于或者等于最小网络带宽,即mi≥Ti-min
在该种情况下,可以将第一网络带宽加上网络带宽调整值,以使目标网络带宽尽可能大,但小于或等于最大网络带宽。
例如,若对象-2配置的最小网络带宽Ti-min为10Mps,最大网络带宽Ti-max为15Mps,对象-2对应的第一网络带宽mi为12Mps,对应的网络带宽调整值ΔTi为3Mps,则目标网络带宽可以为12Mps+3Mps=15Mps,则目标网络带宽等于最大网络带宽。
情况3:若对象i对应的第一网络带宽大于最大网络带宽,即mi>Ti-max
在该种情况下,可以将第一网络带宽加上网络带宽调整值,以使目标网络带宽小于或等于最大网络带宽。
例如,若对象-3配置的最小网络带宽Ti-min为10Mps,最大网络带宽Ti-max为15Mps,对象-3对应的第一网络带宽mi为17Mps,对应的网络带宽调整值ΔTi为-2Mps,则目标网络带宽可以为17Mps+(-2Mps)=15Mps,则目标网络带宽等于最大网络带宽。
可选的,可以将第一网络包传输速率和网络包传输速率调整值相加,以确定目标网络包传输速率,具体可以包括如下3种情况:
情况1:若对象i对应的第一网络包传输速率小于最小网络包传输速率,即ni<Vi-min
在该种情况下,可以将第一网络包传输速率加上网络包传输速率调整值,以使目标网络包传输速率大于或等于最小网络包传输速率。
例如,若对象-1配置的最小网络包传输速率Vi-min为50PPS,最大网络包传输速率Vi-max为100PPS,对象-1对应的第一网络包传输速率ni为45PPS,对应的网络包传输速率调整值ΔVi为5PPS,则目标网络包传输速率可以为45PPS+5PPS=50PPS,则目标网络包传输速率等于最小网络包传输速率。
情况2:若对象i对应的第一网络包传输速率大于或者等于最小网络包传输速率,即ni≥Vi-min
在该种情况下,可以将第一网络包传输速率加上网络包传输速率调整值,以使目标网络包传输速率尽可能大,但小于或等于最大网络包传输速率。
例如,若对象-2配置的最小网络包传输速率Vi-min为50PPS,最大网络包传输速率Vi-max为100PPS,对象-2对应的第一网络包传输速率ni为80PPS,对应的网络包传输速率调整值ΔVi为20PPS,则目标网络包传输速率可以为80PPS+20PPS=100PPS,则目标网络包传输速率等于最大网络包传输速率。
情况3:若对象i对应的第一网络包传输速率大于最大网络包传输速率,即ni>Vi-max
在该种情况下,可以将第一网络包传输速率加上网络包传输速率调整值,以使目标网络包传输速率小于或等于最大网络包传输速率。
例如,若对象-3配置的最小网络包传输速率Vi-min为50PPS,最大网络包传输速率Vi-max为100PPS,对象-3对应的第一网络包传输速率ni为110PPS,对象-3对应的网络包传输速率调整值ΔVi为-10PPS,则目标网络包传输速率可以为110PPS+(-10PPS)=100PPS,则目标网络包传输速率小于或等于最大网络包传输速率。
可选的,针对任意一个对象,确定目标网络带宽和目标网络包传输速率之后,可以确对应的资源分配信息,资源分配信息中可以包括该对象对应的目标网络带宽、目标网络包传输速率和对象标识。
需要说明的是,周期性执行S403-S408。
S409、通过内核态进程获取资源分配信息。
需要说明的是,步骤S409的具体执行过程可以参见步骤S202,此处不再进行赘述。
S410、通过内核态进程获取待处理数据包,根据资源分配信息确定待处理数据包对应的网络资源,并根据网络资源发送待处理数据包。
需要说明的是,步骤S410的具体执行过程可以参见步骤S203,此处不再进行赘述。
在本申请实施例中,电子设备可以通过内核态进程获取多个数据包,并对数据包进行解析,以获取多个数据包的数据包信息。进一步的,可以通过内核态进程将多个数据包信息存储至共享内存中。电子设备可以通过用户态进程在共享内存中获取多个对象对应的多个历史数据包信息,进而根据多个对象对应的多个历史数据包信息确定第一网络带宽和第一网络包传输速率。电子设备可以通过用户态进程获取对象对应的配置信息和电子设备的剩余资源量,进而根据第一网络带宽、第一网络包传输速率、配置信息和剩余资源量,确定资源分配信息。电子设备可以通过内核态进程获取各对象的资源分配信息和待处理数据包,并根据资源分配信息确定待处理数据包对应的网络资源,进而根据网络资源发送待处理数据包。由于可以通过用户态进程,根据对象对应的多个历史数据包信息动态地确定资源分配信息,可以支持网络资源的共享和借用;且由于资源分配信息中包括目标网络带宽和目标网络包传输速率两个指标,能够从多个维度对网络资源进行限制;将复杂的资源分配逻辑从内核态中拆分到了用户态,比较灵活,提高了整理处理性能。综合这3方面,提高了网络资源的利用率和公平性。
下面,在上述任意一个实施例的基础上,结合图5,通过具体示例对上述资源分配方法进行进一步详细说明。
图5为本申请示例性实施例提供的资源分配方法的过程示意图,请参见图5,服务器中包括用户态、内核态和共享内存。用户态中包括用户接口、数据处理装置和资源分配装置;内核态中包括数据收集装置、网卡发送对列。服务器中设置有多个虚拟机或者容器,在实际应用过程中,服务器中虚拟机或者容器可以生成数据包,服务器发送虚拟机或者容器生成的数据包。
服务器在内核态中可以通过数据收集装置实时地获取多个数据包,并对数据包进行解析,得到多个数据包对应的对象标识、数据包大小、数据包获取时刻等数据包信息。服务器可以通过数据收集装置实时地将多个数据包的数据包信息存储在共享内存中。
服务器可以通过数据处理装置在共享内存中根据第一对象标识,周期性地获取多个对象对应的多个历史数据包信息。数据处理装置可以根据历史数据包信息的总大小和总时长计算出该周期下各对象对应的第一网络带宽和第一网络包传输速率。数据处理装置可以向资源分配装置发送各对象对应的第一网络带宽和第一网络包传输速率,以便资源分配装置用于指导网络资源分配。
服务器可以通过用户接口获取各对象对应的配置信息,配置信息中可以包括最大网络带宽、最小网络带宽、最大网络包传输速率和最小网络包传输速率。用户接口可以向资源分配装置发送对象对应的配置信息,以便资源分配装置用于指导网络资源分配。
资源分配装置可以接收到各对象对应的第一网络带宽和第一网络包传输速率、各对象对应的配置信息。资源分配装置还可以确定服务器的剩余资源量。针对任意一个对象,资源分配装置可以根据第一网络带宽、第一网络包传输速率、配置信息和剩余资源量,计算得到目标网络带宽和目标网络包传输速率,以确定资源分配信息。资源分配装置可以向网卡发送队列发送资源分配信息,以便网卡发送队列根据资源分配信息确定待处理数据包对应的网络资源。
网卡发送队列可以缓存所有经过数据收集装置的待处理数据包。网卡发送队列接收到资源分配信息之后,可以确定待处理数据包对应的第二对象标识,并根据第二对象标识,确定待处理数据包对应的网络资源。网卡发送队列根据该网络资源,发送该待处理数据包。
需要说明的是,网卡发送队列本质上是一段指定大小的内存。若网卡发送队列已经被缓存的待处理数据包占满,则丢弃掉接下来从数据收集装置到达的待处理数据包,直到网卡发送队列中有空闲内存为止。
在本申请实施例中,服务器可以通过数据收集装置实时地获取多个数据包,并对数据包进行解析,以获取多个数据包的数据包信息,进而通过数据收集装置将多个数据包的数据包信息存储至共享内存。服务器可以通过数据处理装置在共享内存中周期性地获取多个对象对应的多个历史数据包信息,进而根据多个对象对应的多个历史数据包信息确定第一网络带宽和第一网络包传输速率。服务器可以通过资源分配装置获取对象对应的配置信息和服务器的剩余资源量,进而根据第一网络带宽、第一网络包传输速率、配置信息和剩余资源量,确定资源分配信息。服务器可以通过网卡发送对列获取各对象的资源分配信息和待处理数据包,并根据资源分配信息确定待处理数据包对应的网络资源,进而根据网络资源发送待处理数据包。由于可以通过资源分配装置,根据对象对应的多个历史数据包信息动态地确定资源分配信息,可以支持网络资源的共享和借用;且由于资源分配信息中包括目标网络带宽和目标网络包传输速率两个指标,能够从多个维度对网络资源进行限制;将复杂的资源分配逻辑从内核态中拆分到了用户态,比较灵活,提高了整理处理性能。综合这3方面,提高了网络资源的利用率和公平性。
图6为本申请示例性实施例提供的一种资源分配装置的结构示意图,请参见图6,该资源分配装置包括:第一确定模块11、第一获取模块12和第二获取模块13,其中,
所述第一确定模块11用于,通过用户态进程确定多个对象中各对象的资源分配信息,所述资源分配信息包括目标网络带宽和目标网络包传输速率;
所述第一获取模块12用于,通过内核态进程获取所述资源分配信息;
所述第二获取模块13用于,通过所述内核态进程获取待处理数据包,根据所述资源分配信息确定所述待处理数据包对应的网络资源,并根据所述网络资源发送所述待处理数据包。
本申请实施例提供的资源分配装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,针对所述多个对象中的任意一个对象;所述第一确定模块11具体用于:
通过所述用户态进程获取所述对象对应的多个历史数据包信息,所述历史数据包信息包括对象标识、数据包大小和数据包获取时刻;
根据所述对象对应的多个历史数据包信息,确定所述对象的资源分配信息。
在一种可能的实施方式中,所述第一确定模块11具体用于:
根据所述多个历史数据包信息,确定所述对象在历史时段内的第一网络带宽和第一网络包传输速率;
获取所述对象对应的配置信息,所述配置信息中包括最大网络带宽、最小网络带宽、最大网络包传输速率和最小网络包传输速率;
获取电子设备的剩余资源量;
根据所述第一网络带宽、所述第一网络包传输速率、所述配置信息和所述剩余资源量,确定所述资源分配信息。
在一种可能的实施方式中,所述第一确定模块11具体用于:
根据所述多个历史数据包信息中的数据包大小,确定历史数据包的总大小;
根据所述多个历史数据包信息中的数据包数量,确定历史数据包的总数量;
根据所述多个历史数据包信息中的数据包获取时刻,确定历史数据包对应的总时长;
根据所述总大小和所述总时长,确定所述对象对应的第一网络带宽;
根据所述总数量和所述总时长,确定所述对象对应的第一网络包传输速率。
在一种可能的实施方式中,所述第一确定模块11具体用于:
根据所述剩余资源量和所述配置信息,确定网络带宽调整值和网络包传输速率调整值;
根据所述第一网络带宽和所述网络带宽调整值,确定所述目标网络带宽,所述目标网络带宽大于或等于所述最小网络带宽,且小于或等于所述最大网络带宽;
根据所述第一网络包传输速率和所述网络包传输速率调整值,确定所述目标网络包传输速率,所述目标网络包传输速率大于或等于所述最小网络包传输速率,且小于或等于所述最大网络包传输速率。
在一种可能的实施方式中,所述第一确定模块11具体用于:
通过所述用户态进程确定所述对象的第一对象标识;
根据所述第一对象标识,在共享内存中获取所述多个历史数据包信息,所述历史数据包信息中的对象标识为所述第一对象标识,所述历史数据包信息中的数据包获取时刻在预设的历史时段内。
在一种可能的实施方式中,所述第二获取模块13具体用于:
确定所述待处理数据包对应的第二对象标识;
根据所述第二对象标识,确定所述待处理数据包对应的网络资源。
在一种可能的实施方式中,所述对象为如下任意一种:用户、程序或账号。
本申请实施例提供的资源分配装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图7为本申请示例性实施例提供的另一种资源分配装置的结构示意图。请参见图7,在图6所示实施例的基础上,所述资源分配装置还包括:第三获取模块14和存储模块15,其中,
所述第三获取模块14用于,通过所述内核态进程获取多个历史数据包,并对所述历史数据包进行解析,以获取所述多个历史数据包的所述历史数据包信息;
所述存储获取模块15用于,通过所述内核态进程将所述多个历史数据包信息存储至所述共享内存。
本申请实施例提供的资源分配装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图6-图7实施例中所示的资源分配装置可以为服务器中的装置,也可以为终端设备(例如,手机)中的装置。
本申请示例性实施例提供一种电子设备的结构示意图,请参见图8,该电子设备20可以包括处理器21和存储器22。示例性地,处理器21、存储器22,各部分之间通过总线23相互连接。
所述存储器22存储计算机执行指令;
所述处理器21执行所述存储器22存储的计算机执行指令,使得所述处理器21执行如上述方法实施例所示的资源分配方法。
图8实施例中所示的电子设备可以为服务器,也可以为终端设备(例如,手机)。
相应地,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现上述方法实施例所述的资源分配方法。
相应地,本申请实施例还可提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,可实现上述方法实施例所示的资源分配方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (13)

1.一种资源分配方法,包括:
通过用户态进程确定多个对象中各对象的资源分配信息,所述资源分配信息包括目标网络带宽和目标网络包传输速率;
通过内核态进程获取所述资源分配信息;
通过所述内核态进程获取待处理数据包,根据所述资源分配信息确定所述待处理数据包对应的网络资源,并根据所述网络资源发送所述待处理数据包。
2.根据权利要求1所述的方法,其特征在于,针对所述多个对象中的任意一个对象;通过用户态进程确定所述对象的资源分配信息,包括:
通过所述用户态进程获取所述对象对应的多个历史数据包信息,所述历史数据包信息包括对象标识、数据包大小和数据包获取时刻;
根据所述对象对应的多个历史数据包信息,确定所述对象的资源分配信息。
3.根据权利要求2所述的方法,其特征在于,根据所述对象对应的多个历史数据包信息,确定所述对象的资源分配信息,包括:
根据所述多个历史数据包信息,确定所述对象在历史时段内的第一网络带宽和第一网络包传输速率;
获取所述对象对应的配置信息,所述配置信息中包括最大网络带宽、最小网络带宽、最大网络包传输速率和最小网络包传输速率;
获取电子设备的剩余资源量;
根据所述第一网络带宽、所述第一网络包传输速率、所述配置信息和所述剩余资源量,确定所述资源分配信息。
4.根据权利要求3所述的方法,其特征在于,根据所述多个历史数据包信息,确定所述对象在历史时段内的第一网络带宽和第一网络包传输速率,包括:
根据所述多个历史数据包信息中的数据包大小,确定历史数据包的总大小;
根据所述多个历史数据包信息中的数据包数量,确定历史数据包的总数量;
根据所述多个历史数据包信息中的数据包获取时刻,确定历史数据包对应的总时长;
根据所述总大小和所述总时长,确定所述对象对应的第一网络带宽;
根据所述总数量和所述总时长,确定所述对象对应的第一网络包传输速率。
5.根据权利要求3或4所述的方法,其特征在于,根据所述第一网络带宽、所述第一网络包传输速率、所述配置信息和所述剩余资源量,确定所述资源分配信息,包括:
根据所述剩余资源量和所述配置信息,确定网络带宽调整值和网络包传输速率调整值;
根据所述第一网络带宽和所述网络带宽调整值,确定所述目标网络带宽,所述目标网络带宽大于或等于所述最小网络带宽,且小于或等于所述最大网络带宽;
根据所述第一网络包传输速率和所述网络包传输速率调整值,确定所述目标网络包传输速率,所述目标网络包传输速率大于或等于所述最小网络包传输速率,且小于或等于所述最大网络包传输速率。
6.根据权利要求2-5任一项所述的方法,其特征在于,通过所述用户态进程获取所述对象对应的多个历史数据包信息,包括:
通过所述用户态进程确定所述对象的第一对象标识;
根据所述第一对象标识,在共享内存中获取所述多个历史数据包信息,所述历史数据包信息中的对象标识为所述第一对象标识,所述历史数据包信息中的数据包获取时刻在预设的历史时段内。
7.根据权利要求6所述的方法,其特征在于,根据所述第一对象标识,在共享内存中获取所述多个历史数据包信息之前,还包括:
通过所述内核态进程获取多个历史数据包,并对所述历史数据包进行解析,以获取所述多个历史数据包的所述历史数据包信息;
通过所述内核态进程将所述多个历史数据包信息存储至所述共享内存。
8.根据权利要求1-7任一项所述的方法,其特征在于,根据所述资源分配信息确定所述待处理数据包对应的网络资源,包括:
确定所述待处理数据包对应的第二对象标识;
根据所述第二对象标识,确定所述待处理数据包对应的网络资源。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述对象为如下任意一种:用户、程序或账号。
10.一种资源分配装置,其特征在于,包括:第一确定模块、第一获取模块、第二获取模块,其中,
所述第一确定模块用于,通过用户态进程确定多个对象中各对象的资源分配信息,所述资源分配信息包括目标网络带宽和目标网络包传输速率;
所述第一获取模块用于,通过内核态进程获取所述资源分配信息;
所述第二获取模块用于,通过所述内核态进程获取待处理数据包,根据所述资源分配信息确定所述待处理数据包对应的网络资源,并根据所述网络资源发送所述待处理数据包。
11.一种电子设备,其特征在于,包括:存储器和处理器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1至9任一项所述的资源分配方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现权利要求1至9任一项所述的资源分配方法。
13.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至9任一项所述的资源分配方法。
CN202210894058.XA 2022-07-27 2022-07-27 资源分配方法、装置及设备 Pending CN115174410A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210894058.XA CN115174410A (zh) 2022-07-27 2022-07-27 资源分配方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210894058.XA CN115174410A (zh) 2022-07-27 2022-07-27 资源分配方法、装置及设备

Publications (1)

Publication Number Publication Date
CN115174410A true CN115174410A (zh) 2022-10-11

Family

ID=83497421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210894058.XA Pending CN115174410A (zh) 2022-07-27 2022-07-27 资源分配方法、装置及设备

Country Status (1)

Country Link
CN (1) CN115174410A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964752A (zh) * 2010-10-19 2011-02-02 杨忠明 一种动态调节资源分配的宽带网络接入方法
CN103269284A (zh) * 2013-05-17 2013-08-28 汉柏科技有限公司 实时网络数据的捕获方法
WO2014075310A1 (zh) * 2012-11-19 2014-05-22 华为技术有限公司 分组交换资源分配方法及设备
CN106375115A (zh) * 2016-08-30 2017-02-01 东软集团股份有限公司 资源分配方法及装置
US20170034064A1 (en) * 2015-07-31 2017-02-02 Netapp Inc. Dynamic resource allocation based upon network flow control
CN107454019A (zh) * 2017-09-28 2017-12-08 北京邮电大学 软件定义网络动态带宽分配方法、装置、设备及存储介质
CN112381234A (zh) * 2020-11-09 2021-02-19 北京达佳互联信息技术有限公司 一种资源分发方法、装置、设备及计算机可读存储介质
CN112737823A (zh) * 2020-12-22 2021-04-30 国网北京市电力公司 一种资源切片分配方法、装置及计算机设备
CN113230665A (zh) * 2021-05-21 2021-08-10 珠海金山网络游戏科技有限公司 资源分配方法及装置
US20220060430A1 (en) * 2019-02-13 2022-02-24 Royal Bank Of Canada Systems and methods of dynamic resource allocation among networked computing devices

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964752A (zh) * 2010-10-19 2011-02-02 杨忠明 一种动态调节资源分配的宽带网络接入方法
WO2014075310A1 (zh) * 2012-11-19 2014-05-22 华为技术有限公司 分组交换资源分配方法及设备
CN103269284A (zh) * 2013-05-17 2013-08-28 汉柏科技有限公司 实时网络数据的捕获方法
US20170034064A1 (en) * 2015-07-31 2017-02-02 Netapp Inc. Dynamic resource allocation based upon network flow control
CN106375115A (zh) * 2016-08-30 2017-02-01 东软集团股份有限公司 资源分配方法及装置
CN107454019A (zh) * 2017-09-28 2017-12-08 北京邮电大学 软件定义网络动态带宽分配方法、装置、设备及存储介质
US20220060430A1 (en) * 2019-02-13 2022-02-24 Royal Bank Of Canada Systems and methods of dynamic resource allocation among networked computing devices
CN112381234A (zh) * 2020-11-09 2021-02-19 北京达佳互联信息技术有限公司 一种资源分发方法、装置、设备及计算机可读存储介质
CN112737823A (zh) * 2020-12-22 2021-04-30 国网北京市电力公司 一种资源切片分配方法、装置及计算机设备
CN113230665A (zh) * 2021-05-21 2021-08-10 珠海金山网络游戏科技有限公司 资源分配方法及装置

Similar Documents

Publication Publication Date Title
US10447594B2 (en) Ensuring predictable and quantifiable networking performance
US11805065B2 (en) Scalable traffic management using one or more processor cores for multiple levels of quality of service
WO2020005764A1 (en) Execution of auxiliary functions in an on-demand network code execution system
WO2020052605A1 (zh) 一种网络切片的选择方法及装置
US10540285B2 (en) Coordination of cache and memory reservation
CN110768912A (zh) Api网关限流方法及装置
US10810038B2 (en) Accounting and enforcing non-process execution by container-based software receiving data over a network
RU2643666C2 (ru) Способ и устройство для управления авторизацией виртуальной очереди вывода, а также компьютерный носитель информации
EP3110191A1 (en) Network sharing method and network element
CN104753814B (zh) 基于网卡的报文分流处理方法
US11283723B2 (en) Technologies for managing single-producer and single consumer rings
CN113132253B (zh) 带宽限流方法和电子设备
CN114070755B (zh) 虚拟机网络流量确定方法、装置、电子设备和存储介质
CN115174410A (zh) 资源分配方法、装置及设备
CN110932998B (zh) 报文处理方法和装置
CN113453285B (zh) 一种资源调整方法、装置及存储介质
CN115022245A (zh) 一种数据传输的方法、相关装置、设备以及存储介质
EP3847794A1 (en) A decentralized load-balancing method for resource/traffic distribution
Ye et al. PF_RING-TA: A traffic-adaptive method of packet capturing by enhancing PF_Ring
CN115756845A (zh) 一种iros中的内存管理方法、设备及介质
CN117978734A (zh) 用于云板卡的流量处理方法、装置、电子设备及存储介质
CN117850979A (zh) 虚拟机克隆方法、装置、计算设备及机器可读存储介质
CN116996454A (zh) 请求的控制方法和装置、存储介质及电子装置
CN117692401A (zh) 消息发送方法、装置、服务器及存储介质
CN117221185A (zh) 一种网络流量的评估方法、网络测量的装置以及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination