内存分配方法、系统、存储介质及电子设备技术方案

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

【技术实现步骤摘要】
内存分配方法、系统、存储介质及电子设备


[0001]本申请涉及网络通信
,特别地涉及一种内存分配方法、系统、存储介质及电子设备。

技术介绍

[0002]QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。QoS的保证对于容量有限的网络来说是十分重要。在带宽有限的情况下,如何对网络流量进行管理,实现不同的流量队列可以获得不同预期的优先级。
[0003]传统的QoS的实现方案大都是基于软件实现的,通过软件设置对内存进行分配,运行效率低。

技术实现思路

[0004]针对上述问题,本申请提供一种内存分配方法、系统、存储介质及电子设备,解决了相关技术中通过软件设置对内存进行分配,运行效率低的技术问题。
[0005]第一方面,本申请提供了一种内存分配方法,所述方法包括:
[0006]实时检测内存中是否存在空闲的内存块,其中,所述内存块为按照预设规则预先将所述内存划分得到的;
[0007]获取第i条流量队列当前还需要申请的内存总量;
[0008]获取当前已经分配给第i条流量队列的内存总量;
[0009]获取第i条流量队列的服务优先级;
[0010]获取第i条流量队列的等待时间;
[0011]根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列;其中,i为流量队列编号,i∈[0,m

1],m为流量队列总数,m为大于0的整数;
[0012]将所述空闲的内存块分配给所述分配优先级最高的流量队列。
[0013]在一些实施例中,所述根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列,包括:
[0014]根据公式
[0015][0016]确定分配优先级最高的流量队列MAX_index;
[0017]其中,M_apply[i]为第i条流量队列当前还需要申请的内存总量,M_alloc[i]当前已经分配给第i条流量队列的内存总量,P[i]为第i条流量队列的服务优先级,T[i]为第i条
流量队列的等待时间。
[0018]在一些实施例中,所述按照预设规则预先将所述内存划分得到内存块的过程,包括:
[0019]根据内存块分配和/或回收的耗费时间、历史内存分配情况和流量优先级粒度,对内存进行划分,将内存划分为n个内存块,其中,n为大于0的整数。
[0020]在一些实施例中,所述内存为随机存取存储器RAM。
[0021]第二方面,一种内存分配系统,所述系统包括:
[0022]检测单元,用于实时检测内存中是否存在空闲的内存块,其中,所述内存块为按照预设规则预先将所述内存划分得到的;
[0023]获取单元,用于获取第i条流量队列当前还需要申请的内存总量;获取当前已经分配给第i条流量队列的内存总量;获取第i条流量队列的服务优先级;获取第i条流量队列的等待时间;
[0024]确定单元,用于根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列;其中,i为流量队列编号,i∈[0,m

1],m为流量队列总数,m为大于0的整数;
[0025]分配单元,用于将所述空闲的内存块分配给所述分配优先级最高的流量队列。
[0026]在一些实施例中,所述确定单元,用于根据公式
[0027][0028]确定分配优先级最高的流量队列MAX_index;
[0029]其中,M_apply[i]为第i条流量队列当前还需要申请的内存总量,M_alloc[i]当前已经分配给第i条流量队列的内存总量,P[i]为第i条流量队列的服务优先级,T[i]为第i条流量队列的等待时间。
[0030]在一些实施例中,所述系统还包括:
[0031]划分单元,用于根据内存块分配和/或回收的耗费时间、历史内存分配情况和流量优先级粒度,将内存划分为n个内存块,其中,n为大于0的整数。
[0032]在一些实施例中,所述内存为随机存取存储器RAM。
[0033]第三方面,一种存储介质,该存储介质存储的计算机程序,可被一个或多个处理器执行,可用来实现如上述第一方面所述的内存分配方法。
[0034]第四方面,一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述存储器和所述处理器之间互相通信连接,该计算机程序被所述处理器执行时,执行如上述第一方面所述的内存分配方法。
[0035]本申请提供的一种内存分配方法、系统、存储介质及电子设备,包括:实时检测内存中是否存在空闲的内存块,其中,所述内存块为按照预设规则预先将所述内存划分得到的;获取第i条流量队列当前还需要申请的内存总量;获取当前已经分配给第i条流量队列的内存总量;获取第i条流量队列的服务优先级;获取第i条流量队列的等待时间;根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高
的流量队列;其中,i为流量队列编号,i∈[0,m

1],m为流量队列总数,m为大于0的整数;将所述空闲的内存块分配给所述分配优先级最高的流量队列。本申请的内存分配方法将多队列的带宽分配问题转化为一个内存存储空间分配问题,简便易行,分配效率高,同时考虑了兼容多种优先级的进行内存分配,尽可能的减少某个流量队列被完全中断的情况发生。
附图说明
[0036]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0037]图1为本申请实施例提供的一种内存分配方法的流程示意图;
[0038]图2为本申请实施例提供的内存分配方法的交互示意图;
[0039]图3为本申请实施例提供的另一种内存分配系统的结构示意图;
[0040]图4为本申请实施例提供的一种电子设备的连接框图。
具体实施方式
[0041]以下将结合附图及实施例来详细说明本申请的实施方式,借此对本申请如何应用技术手段来解决技术问题,并达到相应技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征,在不相冲突前提下可以相互结合,所形成的技术方案本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存分配方法,其特征在于,所述方法包括:实时检测内存中是否存在空闲的内存块,其中,所述内存块为按照预设规则预先将所述内存划分得到的;获取第i条流量队列当前还需要申请的内存总量;获取当前已经分配给第i条流量队列的内存总量;获取第i条流量队列的服务优先级;获取第i条流量队列的等待时间;根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列;其中,i为流量队列编号,i∈[0,m

1],m为流量队列总数,m为大于0的整数;将所述空闲的内存块分配给所述分配优先级最高的流量队列。2.根据权利要求1所述的方法,其特征在于,所述根据所述第i条流量队列当前还需要申请的内存总量,所述当前已经分配给第i条流量队列的内存总量,所述第i条流量队列的服务优先级和第i条流量队列的等待时间,确定分配优先级最高的流量队列,包括:根据公式确定分配优先级最高的流量队列MAX_index;其中,M_apply[i]为第i条流量队列当前还需要申请的内存总量,M_alloc[i]当前已经分配给第i条流量队列的内存总量,P[i]为第i条流量队列的服务优先级,T[i]为第i条流量队列的等待时间。3.根据权利要求1所述的方法,其特征在于,所述按照预设规则预先将所述内存划分得到内存块的过程,包括:根据内存块分配和/或回收的耗费时间、历史内存分配情况和流量优先级粒度,对内存进行划分,将内存划分为n个内存块,其中,n为大于0的整数。4.根据权利要求1所述的方法,其特征在于,所述内存为随机存取存储器RAM。5.一种内存分配系统,其特征在于,所述系统包括:检测单元,用于实时检测内存中是否存在空闲的内存块,其...

【专利技术属性】
技术研发人员:朱敏李桧黄静波崔红鹏
申请(专利权)人:无锡沐创集成电路设计有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1