CN114020461B - 内存分配方法、***、存储介质及电子设备 - Google Patents

内存分配方法、***、存储介质及电子设备 Download PDF

Info

Publication number
CN114020461B
CN114020461B CN202111293016.2A CN202111293016A CN114020461B CN 114020461 B CN114020461 B CN 114020461B CN 202111293016 A CN202111293016 A CN 202111293016A CN 114020461 B CN114020461 B CN 114020461B
Authority
CN
China
Prior art keywords
memory
ith
queue
traffic queue
allocation
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
CN202111293016.2A
Other languages
English (en)
Other versions
CN114020461A (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.)
Wuxi Muchuang Integrated Circuit Design Co ltd
Original Assignee
Wuxi Muchuang Integrated Circuit Design 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 Wuxi Muchuang Integrated Circuit Design Co ltd filed Critical Wuxi Muchuang Integrated Circuit Design Co ltd
Priority to CN202111293016.2A priority Critical patent/CN114020461B/zh
Publication of CN114020461A publication Critical patent/CN114020461A/zh
Application granted granted Critical
Publication of CN114020461B publication Critical patent/CN114020461B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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

Landscapes

  • Engineering & Computer Science (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

本申请涉及网络通信技术领域,具体涉及一种内存分配方法、***、存储介质及电子设备,包括:实时检测内存中是否存在空闲的内存块,获取第i条流量队列当前还需要申请的内存总量;当前已经分配给第i条流量队列的内存总量;第i条流量队列的服务优先级;第i条流量队列的等待时间;确定分配优先级最高的流量队列;将空闲的内存块分配给分配优先级最高的流量队列。本申请的内存分配方法将多队列的带宽分配问题转化为一个内存存储空间分配问题,简便易行,分配效率高,同时考虑了兼容多种优先级的进行内存分配,尽可能的减少某个流量队列被完全中断的情况发生。

Description

内存分配方法、***、存储介质及电子设备
技术领域
本申请涉及网络通信技术领域,特别地涉及一种内存分配方法、***、存储介质及电子设备。
背景技术
QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。QoS的保证对于容量有限的网络来说是十分重要。在带宽有限的情况下,如何对网络流量进行管理,实现不同的流量队列可以获得不同预期的优先级。
传统的QoS的实现方案大都是基于软件实现的,通过软件设置对内存进行分配,运行效率低。
发明内容
针对上述问题,本申请提供一种内存分配方法、***、存储介质及电子设备,解决了相关技术中通过软件设置对内存进行分配,运行效率低的技术问题。
第一方面,本申请提供了一种内存分配方法,所述方法包括:
实时检测内存中是否存在空闲的内存块,其中,所述内存块为按照预设规则预先将所述内存划分得到的;
获取第i条流量队列当前还需要申请的内存总量;
获取当前已经分配给第i条流量队列的内存总量;
获取第i条流量队列的服务优先级;
获取第i条流量队列的等待时间;
根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列;其中,i为流量队列编号,i∈[0,m-1],m为流量队列总数,m为大于0的整数;
将所述空闲的内存块分配给所述分配优先级最高的流量队列。
在一些实施例中,所述根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列,包括:
根据公式
Figure BDA0003335340370000021
确定分配优先级最高的流量队列MAX_index;
其中,M_apply[i]为第i条流量队列当前还需要申请的内存总量,M_alloc[i]当前已经分配给第i条流量队列的内存总量,P[i]为第i条流量队列的服务优先级,T[i]为第i条流量队列的等待时间。
在一些实施例中,所述按照预设规则预先将所述内存划分得到内存块的过程,包括:
根据内存块分配和/或回收的耗费时间、历史内存分配情况和流量优先级粒度,对内存进行划分,将内存划分为n个内存块,其中,n为大于0的整数。
在一些实施例中,所述内存为随机存取存储器RAM。
第二方面,一种内存分配***,所述***包括:
检测单元,用于实时检测内存中是否存在空闲的内存块,其中,所述内存块为按照预设规则预先将所述内存划分得到的;
获取单元,用于获取第i条流量队列当前还需要申请的内存总量;获取当前已经分配给第i条流量队列的内存总量;获取第i条流量队列的服务优先级;获取第i条流量队列的等待时间;
确定单元,用于根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列;其中,i为流量队列编号,i∈[0,m-1],m为流量队列总数,m为大于0的整数;
分配单元,用于将所述空闲的内存块分配给所述分配优先级最高的流量队列。
在一些实施例中,所述确定单元,用于根据公式
Figure BDA0003335340370000031
确定分配优先级最高的流量队列MAX_index;
其中,M_apply[i]为第i条流量队列当前还需要申请的内存总量,M_alloc[i]当前已经分配给第i条流量队列的内存总量,P[i]为第i条流量队列的服务优先级,T[i]为第i条流量队列的等待时间。
在一些实施例中,所述***还包括:
划分单元,用于根据内存块分配和/或回收的耗费时间、历史内存分配情况和流量优先级粒度,将内存划分为n个内存块,其中,n为大于0的整数。
在一些实施例中,所述内存为随机存取存储器RAM。
第三方面,一种存储介质,该存储介质存储的计算机程序,可被一个或多个处理器执行,可用来实现如上述第一方面所述的内存分配方法。
第四方面,一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述存储器和所述处理器之间互相通信连接,该计算机程序被所述处理器执行时,执行如上述第一方面所述的内存分配方法。
本申请提供的一种内存分配方法、***、存储介质及电子设备,包括:实时检测内存中是否存在空闲的内存块,其中,所述内存块为按照预设规则预先将所述内存划分得到的;获取第i条流量队列当前还需要申请的内存总量;获取当前已经分配给第i条流量队列的内存总量;获取第i条流量队列的服务优先级;获取第i条流量队列的等待时间;根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列;其中,i为流量队列编号,i∈[0,m-1],m为流量队列总数,m为大于0的整数;将所述空闲的内存块分配给所述分配优先级最高的流量队列。本申请的内存分配方法将多队列的带宽分配问题转化为一个内存存储空间分配问题,简便易行,分配效率高,同时考虑了兼容多种优先级的进行内存分配,尽可能的减少某个流量队列被完全中断的情况发生。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种内存分配方法的流程示意图;
图2为本申请实施例提供的内存分配方法的交互示意图;
图3为本申请实施例提供的另一种内存分配***的结构示意图;
图4为本申请实施例提供的一种电子设备的连接框图。
具体实施方式
以下将结合附图及实施例来详细说明本申请的实施方式,借此对本申请如何应用技术手段来解决技术问题,并达到相应技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征,在不相冲突前提下可以相互结合,所形成的技术方案均在本申请的保护范围之内。
由背景技术可知,QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。QoS的保证对于容量有限的网络来说是十分重要。在带宽有限的情况下,如何对网络流量进行管理,实现不同的流量队列可以获得不同预期的优先级。
传统的QoS的实现方案大都是基于软件实现的,通过软件设置对内存进行分配,运行效率低。
有鉴于此,本申请提供一种内存分配方法、***、存储介质及电子设备,解决了相关技术中通过软件设置对内存进行分配,运行效率低的技术问题。
实施例一
图1为本申请实施例提供的一种内存分配方法的流程示意图,如图1所示,本方法包括:
S101、实时检测内存中是否存在空闲的内存块;
在步骤S101中,所述内存块为按照预设规则预先将所述内存划分得到的。
S102、获取第i条流量队列当前还需要申请的内存总量;获取当前已经分配给第i条流量队列的内存总量;获取第i条流量队列的服务优先级;获取第i条流量队列的等待时间;
S103、根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列;
在步骤S102和S103中,i为流量队列编号,i∈[0,m-1],m为流量队列总数,m为大于0的整数;
S104、将所述空闲的内存块分配给所述分配优先级最高的流量队列。
需要说明的是,如图2所示,为本申请的内存分配方法的交互示意图,其中,Q0~Qm-1是m个流量队列(Traffic Queue)。每个流量队列可以看作是网络中的一个数据流,可以是一个传输层端到端的TCP连接,也可以是应用层一个正在播放的视频等等。
图2中内容含义如下:
m为流量队列总个数;
n为内存块的总个数;
i表示流量队列编号,i∈[0,m-1],表示0≤i≤m-1;
Qi示第i条流量队列;
Pi表示第i条流量队列的服务优先级;
Ti表示第i条流量队列的等待时间,单位为秒;
ki表示第i条队列申请得到的内存块的总个数;
RB0~RBn-1为RAM分割的内存块编号,RB(RAM Block)是内存块的意思。RB0是第1个Block。这样的内存块共有n个;
RBNm-1,Km-1-1表示第m条流量队列Nm-1,以及该流量队列中共包含Km-1个内存块,m取值范围为[1,m];
M_apply[i]表示第i条流量队列当前还需要申请的内存总量,单位为字节;
M_alloc[i]表示当前已经分配给第i条流量队列的内存总量,单位为字节;
MAX_index,按照分配公式计算出内存分配优先级最大的流量队列编号。
在一些实施例中,所述根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列,包括:
根据公式
Figure BDA0003335340370000061
确定分配优先级最高的流量队列MAX_index;
其中,M_apply[i]为第i条流量队列当前还需要申请的内存总量,M_alloc[i]当前已经分配给第i条流量队列的内存总量,P[i]为第i条流量队列的服务优先级,T[i]为第i条流量队列的等待时间。
需要说明的是,当***中存在一个流量队列的服务优先级高,且申请的流量总是很大,很可能会将其他的服务优先级低的流量队列流量完全中断,即永远得不到流量。为此,在分配内存块时,可以添加一个因素,即等待时间。一个流量队列请求流量的等待时间越长,那他的内存分配优先级也相应增加,使得尽量减少某个流量队列被完全中断的情况发生。
此外,每当某个的流量队列完成数据发送后,将该流量队列的等待时间T[i]清零,并从新开始计算等待时间,此时,即便该流量队列的服务优先级P[i]较低,但随着等待时间增加,该流量队列的优先级越来越高,最终超过其他服务优先级P[i]较高的流量队列,获得数据,并在完成数据发送后将该流量队列的等待时间T[i]清零,并从新开始计算等待时间,如此循环,避免了只采用服务优先级造成的弊端。
在一些实施例中,所述按照预设规则预先将所述内存划分得到内存块的过程,包括:
根据内存块分配和/或回收的耗费时间、历史内存分配情况和流量优先级粒度,对内存进行划分,将内存划分为n个内存块,其中,n为大于0的整数。
其中关于流量优先级粒度包括时间粒度和空间粒度两方面。每一次每一个内存块的重新分配,都代表着对各个流量队列的优先级关系的一次调整。而内存块越小,伴随着相应的优点和缺点:
优点为:
时间粒度:内存块分配的次数会更多,更能实时进行调整,实时性好;
空间粒度:流量队列的优先级调整也越精细,所以优先级粒度也越准确;
缺点为:
耗费分配时间:内存块越小,每一次内存块分配都要耗费更多的***处理的时间;
数据包需要多块:内存块小会造成流量队列数据包分片,即一个数据包存储到不同的内存块上,导致处理效率低。
因此,根据内存块分配和/或回收的耗费时间、历史内存分配情况和流量优先级粒度,可以经过多次尝试得到一个最优的内存块大小划分结果。
例如,若请求的都是小块,而分配的是大块会造成流量浪费;若请求的都是大块,而分配的是小块会造成流量队列数据包分片等,从而影响性能;同理,内存块分配或回收时间耗费过长也会影响分配效率等等。
在一些实施例中,所述内存为随机存取存储器。
具体的,RAM(Random Access Memory),即随机存取存储器。它可以看作是一个网络流量的缓存,被分割成多个独立的内存块。
综上所述,本申请实施例提供了一种内存分配方法,包括:实时检测内存中是否存在空闲的内存块,其中,所述内存块为按照预设规则预先将所述内存划分得到的;获取第i条流量队列当前还需要申请的内存总量;获取当前已经分配给第i条流量队列的内存总量;获取第i条流量队列的服务优先级;获取第i条流量队列的等待时间;根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列;其中,i为流量队列编号,i∈[0,m-1],m为流量队列总数,m为大于0的整数;将所述空闲的内存块分配给所述分配优先级最高的流量队列。本申请的内存分配方法将多队列的带宽分配问题转化为一个内存存储空间分配问题,简便易行,分配效率高,同时考虑了兼容多种优先级的进行内存分配,尽可能的减少某个流量队列被完全中断的情况发生。
实施例二
基于上述本发明实施例一公开的内存分配方法,图3具体公开了应用该内存分配方法的内存分配***。
如图3所示,本发明实施例公开了一种内存分配***,所述***包括:
检测单元301,用于实时检测内存中是否存在空闲的内存块,其中,所述内存块为按照预设规则预先将所述内存划分得到的;
获取单元302,用于获取第i条流量队列当前还需要申请的内存总量;获取当前已经分配给第i条流量队列的内存总量;获取第i条流量队列的服务优先级;获取第i条流量队列的等待时间;
确定单元303,用于根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列;其中,i为流量队列编号,i∈[0,m-1],m为流量队列总数,m为大于0的整数;
分配单元304,用于将所述空闲的内存块分配给所述分配优先级最高的流量队列。
在一些实施例中,所述确定单元303,用于根据公式
Figure BDA0003335340370000081
确定分配优先级最高的流量队列MAX_index;
其中,M_apply[i]为第i条流量队列当前还需要申请的内存总量,M_alloc[i]当前已经分配给第i条流量队列的内存总量,P[i]为第i条流量队列的服务优先级,T[i]为第i条流量队列的等待时间。
在一些实施例中,所述***还包括:
划分单元,用于根据内存块分配和/或回收的耗费时间、历史内存分配情况和流量优先级粒度,将内存划分为n个内存块,其中,n为大于0的整数。
在一些实施例中,所述内存为随机存取存储器。
以上本发明实施例公开的内存分配***中的检测单元301、获取单元302、确定单元303和分配单元304的具体工作过程,可参见本发明上述实施例公开的内存分配方法中的对应内容,这里不再进行赘述。
综上所述,本申请实施例提供了一种内存分配***,包括:实时检测内存中是否存在空闲的内存块,其中,所述内存块为按照预设规则预先将所述内存划分得到的;获取第i条流量队列当前还需要申请的内存总量;获取当前已经分配给第i条流量队列的内存总量;获取第i条流量队列的服务优先级;获取第i条流量队列的等待时间;根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列;其中,i为流量队列编号,i∈[0,m-1],m为流量队列总数,m为大于0的整数;将所述空闲的内存块分配给所述分配优先级最高的流量队列。本申请的内存分配方法将多队列的带宽分配问题转化为一个内存存储空间分配问题,简便易行,分配效率高,同时考虑了兼容多种优先级的进行内存分配,尽可能的减少某个流量队列被完全中断的情况发生。
实施例三
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,该计算机程序被处理器执行时可以实现如实施例一的方法步骤,本实施例在此不再重复赘述。
实施例四
图4为本申请实施例提供的一种电子设备400的连接框图,如图4所示,该电子设备400可以包括:处理器401,存储器402,多媒体组件403,输入/输出(I/O)接口404,以及通信组件405。
其中,处理器401用于执行如实施例一中的内存分配方法中的全部或部分步骤。存储器402用于存储各种类型的数据,这些数据例如可以包括电子设备中的任何应用程序或方法的指令,以及应用程序相关的数据。
处理器401可以是专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable LogicDevice,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例一中的内存分配方法。
存储器402可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
多媒体组件403可以包括屏幕和音频组件,该屏幕可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或通过通信组件发送。音频组件还包括至少一个扬声器,用于输出音频信号。
I/O接口404为处理器401和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。
通信组件405用于该电子设备400与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件405可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
综上,本申请提供的一种内存分配方法、***、存储介质及电子设备,该方法包括:实时检测内存中是否存在空闲的内存块,其中,所述内存块为按照预设规则预先将所述内存划分得到的;获取第i条流量队列当前还需要申请的内存总量;获取当前已经分配给第i条流量队列的内存总量;获取第i条流量队列的服务优先级;获取第i条流量队列的等待时间;根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列;其中,i为流量队列编号,i∈[0,m-1],m为流量队列总数,m为大于0的整数;将所述空闲的内存块分配给所述分配优先级最高的流量队列。本申请的内存分配方法将多队列的带宽分配问题转化为一个内存存储空间分配问题,简便易行,分配效率高,同时考虑了兼容多种优先级的进行内存分配,尽可能的减少某个流量队列被完全中断的情况发生。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的方法,也可以通过其它的方式实现。以上所描述的方法实施例仅仅是示意性的。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然本申请所揭露的实施方式如上,但上述的内容只是为了便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属技术领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (9)

1.一种内存分配方法,其特征在于,所述方法包括:
实时检测内存中是否存在空闲的内存块,其中,所述内存块为按照预设规则预先将所述内存划分得到的;
获取第i条流量队列当前还需要申请的内存总量;
获取当前已经分配给第i条流量队列的内存总量;
获取第i条流量队列的服务优先级;
获取第i条流量队列的等待时间;
根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列;其中,i为流量队列编号,i∈[0,m-1],m为流量队列总数,m为大于0的整数;
将所述空闲的内存块分配给所述分配优先级最高的流量队列;
其中,所述按照预设规则预先将所述内存划分得到内存块的过程,包括:根据内存块分配和/或回收的耗费时间、历史内存分配情况和流量优先级粒度,对内存进行划分,将内存划分为n个内存块,其中,n为大于0的整数。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列,包括:
根据公式
Figure FDA0003802217250000011
确定分配优先级最高的流量队列MAX_index;
其中,M_apply[i]为第i条流量队列当前还需要申请的内存总量,M_alloc[i]当前已经分配给第i条流量队列的内存总量,P[i]为第i条流量队列的服务优先级,T[i]为第i条流量队列的等待时间。
3.根据权利要求1所述的方法,其特征在于,所述内存为随机存取存储器RAM。
4.一种内存分配***,其特征在于,所述***包括:
检测单元,用于实时检测内存中是否存在空闲的内存块,其中,所述内存块为按照预设规则预先将所述内存划分得到的;
获取单元,用于获取第i条流量队列当前还需要申请的内存总量;获取当前已经分配给第i条流量队列的内存总量;获取第i条流量队列的服务优先级;获取第i条流量队列的等待时间;
确定单元,用于根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列;其中,i为流量队列编号,i∈[0,m-1],m为流量队列总数,m为大于0的整数;
分配单元,用于将所述空闲的内存块分配给所述分配优先级最高的流量队列;
其中,所述按照预设规则预先将所述内存划分得到内存块的过程,包括:根据内存块分配和/或回收的耗费时间、历史内存分配情况和流量优先级粒度,对内存进行划分,将内存划分为n个内存块,其中,n为大于0的整数。
5.根据权利要求4所述的***,其特征在于,所述确定单元,用于根据公式
Figure FDA0003802217250000021
确定分配优先级最高的流量队列MAX_index;
其中,M_apply[i]为第i条流量队列当前还需要申请的内存总量,M_alloc[i]当前已经分配给第i条流量队列的内存总量,P[i]为第i条流量队列的服务优先级,T[i]为第i条流量队列的等待时间。
6.根据权利要求4所述的***,其特征在于,还包括:
划分单元,用于根据内存块分配和/或回收的耗费时间、历史内存分配情况和流量优先级粒度,将内存划分为n个内存块,其中,n为大于0的整数。
7.根据权利要求4所述的***,其特征在于,所述内存为随机存取存储器RAM。
8.一种存储介质,其特征在于,该存储介质存储的计算机程序,可被一个或多个处理器执行,可用来实现如权利要求1~3任意一项所述的内存分配方法。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有计算机程序,所述存储器和所述处理器之间互相通信连接,该计算机程序被所述处理器执行时,执行如权利要求1~3任意一项所述的内存分配方法。
CN202111293016.2A 2021-11-03 2021-11-03 内存分配方法、***、存储介质及电子设备 Active CN114020461B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111293016.2A CN114020461B (zh) 2021-11-03 2021-11-03 内存分配方法、***、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111293016.2A CN114020461B (zh) 2021-11-03 2021-11-03 内存分配方法、***、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN114020461A CN114020461A (zh) 2022-02-08
CN114020461B true CN114020461B (zh) 2022-10-11

Family

ID=80059986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111293016.2A Active CN114020461B (zh) 2021-11-03 2021-11-03 内存分配方法、***、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN114020461B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1722106A (zh) * 2004-07-13 2006-01-18 中兴通讯股份有限公司 一种嵌入式实时操作***中内存分配的方法
CN101325541A (zh) * 2007-06-11 2008-12-17 大唐移动通信设备有限公司 一种Iub口带宽的流量控制方法及***
CN111352736A (zh) * 2020-02-28 2020-06-30 中国平安人寿保险股份有限公司 大数据资源的调度方法、装置、服务器及存储介质
CN112130995A (zh) * 2020-09-18 2020-12-25 苏州浪潮智能科技有限公司 一种实时数据处理方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8687493B2 (en) * 2011-11-29 2014-04-01 Hughes Network Systems, Llc Method and system for inroute bandwidth allocation supporting multiple traffic priorities in a satellite network
US20200192715A1 (en) * 2020-02-24 2020-06-18 Intel Corporation Workload scheduler for memory allocation
CN111831440A (zh) * 2020-07-01 2020-10-27 Oppo广东移动通信有限公司 内存回收方法、装置、存储介质及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1722106A (zh) * 2004-07-13 2006-01-18 中兴通讯股份有限公司 一种嵌入式实时操作***中内存分配的方法
CN101325541A (zh) * 2007-06-11 2008-12-17 大唐移动通信设备有限公司 一种Iub口带宽的流量控制方法及***
CN111352736A (zh) * 2020-02-28 2020-06-30 中国平安人寿保险股份有限公司 大数据资源的调度方法、装置、服务器及存储介质
CN112130995A (zh) * 2020-09-18 2020-12-25 苏州浪潮智能科技有限公司 一种实时数据处理方法和装置

Also Published As

Publication number Publication date
CN114020461A (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
US10298969B2 (en) Architecture and method for high performance on demand video transcoding
US9225668B2 (en) Priority driven channel allocation for packet transferring
US20150188842A1 (en) Flexible bandwidth allocation in a content distribution network
US20150189373A1 (en) Efficient channel surfing in a content distribution network
US20150188921A1 (en) Local distribution node in a content distribution network
JP4142045B2 (ja) 動的帯域割当回路、動的帯域割当方法、動的帯域割当プログラム、及び記録媒体
US9197687B2 (en) Prioritized blocking of on-demand requests
CN110290399B (zh) 一种数据分发方法、***、装置及计算机可读存储介质
EP2670085A1 (en) System for performing Data Cut-Through
CN107800574B (zh) 存储qos调节方法、***、设备及计算机可读存储器
CN117170882B (zh) 一种资源分配方法、装置、电子设备及存储介质
US9363199B1 (en) Bandwidth management for data services operating on a local network
CN112749002A (zh) 一种集群资源动态管理的方法和装置
CN114385370B (zh) 内存分配方法、***、设备及介质
CN115834556A (zh) 数据传输方法、***、设备、存储介质及程序产品
CN1194546C (zh) 以可变时隙传输数据的面向数据包数据网络的过程和控制器
CN105634990B (zh) 基于时间频谱连续的资源预留方法、装置和处理器
CN113032410A (zh) 数据处理方法、装置、电子设备及计算机存储介质
CN114020461B (zh) 内存分配方法、***、存储介质及电子设备
CN113453285B (zh) 一种资源调整方法、装置及存储介质
CN108351873B (zh) 一种缓存管理方法和装置
WO2020166617A1 (ja) リソース競合調停装置、リソース競合調停方法、及びプログラム
CN114640630A (zh) 一种流量管控方法、装置、设备及可读存储介质
JP2003087281A (ja) 動的帯域割当回路、動的帯域割当方法、動的帯域割当プログラムおよび記録媒体
JP5230665B2 (ja) データ受信装置、データ受信方法

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