一种内存资源管理方法技术

技术编号:39516300 阅读:10 留言:0更新日期:2023-11-25 18:53
本发明专利技术涉及计算机技术领域,公开了一种内存资源管理方法

【技术实现步骤摘要】
一种内存资源管理方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种内存资源管理方法

装置

电子设备及存储介质


技术介绍

[0002]目前,磁盘阵列(
Redundant Array of Independent Disks
,简称:
RAID
)技术作为一种高可靠性的数据存储解决方案,被广泛应用于各个领域

其中,用户通过申请磁盘阵列控制卡(
RAID
卡)的内存资源实现对
RAID
的数据访问,
RAID
卡的内存资源的分配将直接影响
RAID
卡的性能,因此,如何管理
RAID
卡的内存资源成为了重点研究内容

[0003]在现有技术中,通常是采用内存池的方式分配
RAID
卡的内存资源,首先构建内存池的对应的一维数组,当有用户申请访问
RAID
时,在一维数组中提取内存块,并将该内存块分配给该用户,当内存池资源不足时,启动系统的内存回收进程,以回收所有空闲的内存块

[0004]但是,由于内存池资源有限,若基于现有技术回收内存块,需要大量的系统调用和额外的时间处理,而且可能会出现刚刚回收的内存块又被重复分配的情况,导致内存回收效率较低,也就降低了磁盘阵列控制卡的性能


技术实现思路

[0005]本申请提供一种内存资源管理方法

装置

电子设备及存储介质,以解决现有技术内存回收效率较低,不利于保证磁盘阵列控制卡的性能等缺陷

[0006]本申请第一个方面提供一种内存资源管理方法,包括:获取用户对磁盘阵列控制卡的内存资源请求;在响应所述内存资源请求将目标内存块分配给所述用户的同时,将所述目标内存块标识插入内存资源管理队列;当满足预设回收条件时,根据所述内存资源管理队列表征的各内存块的分配热度,确定待回收内存块,以回收所述待回收内存块

[0007]在一种可选的实施方式中,所述将所述目标内存块标识插入内存资源管理队列,包括:将所述目标内存块标识插入内存资源管理队列的头部

[0008]在一种可选的实施方式中,在将所述目标内存块标识插入内存资源管理队列的头部之前,所述方法还包括:判断所述目标内存块标识是否已在所述内存资源管理队列保存;若所述目标内存块标识已在所述内存资源管理队列保存,则将所述目标内存块标识移动至所述内存资源管理队列的头部;若所述目标内存块标识未在所述内存资源管理队列保存,则执行所述将所述目标内存块标识插入内存资源管理队列的头部的步骤

[0009]在一种可选的实施方式中,所述将所述目标内存块标识插入内存资源管理队列,包括:判断所述目标内存块标识是否已在所述内存资源管理队列保存;若所述目标内存块标识已在所述内存资源管理队列保存,则将所述目标内存块标识所对应的引用计数增加1;其中,所述内存资源管理队列中的内存块标识按照所述引用计数从大到小排序,所述内存资源管理队列的头部用于存储所述引用计数最大的内存块标识,所述内存资源管理队列的尾部用于存储所述引用计数最小的内存块标识

[0010]在一种可选的实施方式中,所述方法还包括:若所述目标内存块标识未在所述内存资源管理队列保存,则将该目标内存块标识插入内存资源管理队列的尾部,并将所述目标内存块标识所对应的引用计数设为
1。
[0011]在一种可选的实施方式中,所述当满足预设回收条件时,根据所述内存资源管理队列表征的各内存块的分配热度,确定待回收内存块,包括:当满足预设回收条件时,将所述内存资源管理队列尾部存储的内存块标识所对应的内存块,确定为所述待回收内存块;其中,所述内存资源管理队列尾部存储的内存块标识所对应的内存块的分配热度最低

[0012]在一种可选的实施方式中,所述内存资源管理队列包括第一队列和第二队列,所述将所述目标内存块标识插入内存资源管理队列,包括:判断所述目标内存块标识是否已在所述第一队列保存;若所述目标内存块标识已在所述第一队列保存,则将所述目标内存块标识从所述第一队列迁移至所述第二队列的头部;若所述目标内存块标识未在所述第一队列保存,则将所述目标内存块标识从插入所述第一队列的头部

[0013]在一种可选的实施方式中,在判断所述目标内存块标识是否已在所述第一队列保存之前,所述方法还包括:判断所述目标内存块标识是否已在所述第二队列保存;若目标内存块标识已在所述第二队列保存,则将所述目标内存块标识移动至所述第二队列的头部;若目标内存块标识未在所述第二队列保存,则执行所述判断所述目标内存块标识是否已在所述第一队列保存的步骤

[0014]在一种可选的实施方式中,所述内存资源管理队列包括第一队列和第二队列,所述将所述目标内存块标识插入内存资源管理队列,包括:判断所述目标内存块标识是否已在所述第一队列保存;若所述目标内存块标识已在所述第一队列保存,则将所述目标内存块标识从所述第一队列迁移至所述第二队列的尾部,并将所述目标内存块标识所对应的引用计数设为1;若所述目标内存块标识未在所述第一队列保存,则将所述目标内存块标识从插入所述第一队列的头部

[0015]在一种可选的实施方式中,在判断所述目标内存块标识是否已在所述第一队列保
存之前,所述方法还包括:判断所述目标内存块标识是否已在所述第二队列保存;若目标内存块标识已在所述第二队列保存,则将所述目标内存块标识所对应的引用计数增加1;若目标内存块标识未在所述第二队列保存,则执行所述判断所述目标内存块标识是否已在所述第一队列保存的步骤;其中,所述第二队列中的内存块标识按照所述引用计数从大到小排序,所述第二队列的头部用于存储所述引用计数最大的内存块标识,所述第二队列的尾部用于存储所述引用计数最小的内存块标识

[0016]在一种可选的实施方式中,所述当满足预设回收条件时,根据所述内存资源管理队列表征的各内存块的分配热度,确定待回收内存块,包括:当满足预设回收条件时,将所述第一队列尾部存储的内存块标识所对应的内存块及所述第二队列尾部存储的内存块标识所对应的内存块,确定为所述待回收内存块;其中,所述第一队列尾部存储的内存块标识所对应的内存块在所述第一队列中分配热度最低,所述第二队列尾部存储的内存块标识所对应的内存块在所述第二队列中分配热度最低

[0017]在一种可选的实施方式中,所述内存资源管理队列包括第一优先级队列和第二优先级队列,所述将所述目标内存块标识插入内存资源管理队列,包括:判断所述目标内存块标识是否已在所述第一优先级队列或第二优先级队列保存;若所述目标内存块标识已在所述第一优先级队列或第二优先级队列保存,则将所述目标内存块标识从所对应的引用计数增加1;当所述第一优先级队列中存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种内存资源管理方法,其特征在于,包括:获取用户对磁盘阵列控制卡的内存资源请求;在响应所述内存资源请求将目标内存块分配给所述用户的同时,将所述目标内存块标识插入内存资源管理队列;当满足预设回收条件时,根据所述内存资源管理队列表征的各内存块的分配热度,确定待回收内存块,以回收所述待回收内存块
。2.
根据权利要求1所述的方法,其特征在于,所述将所述目标内存块标识插入内存资源管理队列,包括:将所述目标内存块标识插入内存资源管理队列的头部
。3.
根据权利要求2所述的方法,其特征在于,在将所述目标内存块标识插入内存资源管理队列的头部之前,所述方法还包括:判断所述目标内存块标识是否已在所述内存资源管理队列保存;若所述目标内存块标识已在所述内存资源管理队列保存,则将所述目标内存块标识移动至所述内存资源管理队列的头部;若所述目标内存块标识未在所述内存资源管理队列保存,则执行所述将所述目标内存块标识插入内存资源管理队列的头部的步骤
。4.
根据权利要求1所述的方法,其特征在于,所述将所述目标内存块标识插入内存资源管理队列,包括:判断所述目标内存块标识是否已在所述内存资源管理队列保存;若所述目标内存块标识已在所述内存资源管理队列保存,则将所述目标内存块标识所对应的引用计数增加1;其中,所述内存资源管理队列中的内存块标识按照所述引用计数从大到小排序,所述内存资源管理队列的头部用于存储所述引用计数最大的内存块标识,所述内存资源管理队列的尾部用于存储所述引用计数最小的内存块标识
。5.
根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述目标内存块标识未在所述内存资源管理队列保存,则将该目标内存块标识插入内存资源管理队列的尾部,并将所述目标内存块标识所对应的引用计数设为
1。6.
根据权利要求1‑5任一项所述的方法,其特征在于,所述当满足预设回收条件时,根据所述内存资源管理队列表征的各内存块的分配热度,确定待回收内存块,包括:当满足预设回收条件时,将所述内存资源管理队列尾部存储的内存块标识所对应的内存块,确定为所述待回收内存块;其中,所述内存资源管理队列尾部存储的内存块标识所对应的内存块的分配热度最低
。7.
根据权利要求1所述的方法,其特征在于,所述内存资源管理队列包括第一队列和第二队列,所述将所述目标内存块标识插入内存资源管理队列,包括:判断所述目标内存块标识是否已在所述第一队列保存;若所述目标内存块标识已在所述第一队列保存,则将所述目标内存块标识从所述第一队列迁移至所述第二队列的头部;若所述目标内存块标识未在所述第一队列保存,则将所述目标内存块标识从插入所述
第一队列的头部
。8.
根据权利要求7所述的方法,其特征在于,在判断所述目标内存块标识是否已在所述第一队列保存之前,所述方法还包括:判断所述目标内存块标识是否已在所述第二队列保存;若目标内存块标识已在所述第二队列保存,则将所述目标内存块标识移动至所述第二队列的头部;若目标内存块标识未在所述第二队列保存,则执行所述判断所述目标内存块标识是否已在所述第一队列保存的步骤
。9.
根据权利要求1所述的方法,其特征在于,所述内存资源管理队列包括第一队列和第二队列,所述将所述目标内存块标识插入内存资源管理队列,包括:判断所述目标内存块标识是否已在所述第一队列保存;若所述目标内存块标识已在所述第一队列保存,则将所述目标内存块标识从所述第一队列迁移至所述第二队列的尾部,并将所述目标内存块标识所对应的引用计数设为1;若所述目标内存块标识未在所述第一队列保存,则将所述目标内存块标识从插入所述第一队列的头部
。10.
根据权利要求9所述的方法,其特征在于,在判断所述目标内存块标识是否已在所述第一队列保存之前,所述方法还包括:判断所述目标内存块标识是否已在所述第二队列保存;若目标内存块标识已在所述第二队列保存,则将所述目标内存块标识所对应的引用计数增加1;若目标内存块标识未在所述第二队列保存,则执行所述判断所述目标内存块标识是否已...

【专利技术属性】
技术研发人员:李飞龙王刚王见钟戟孙明刚
申请(专利权)人:苏州元脑智能科技有限公司
类型:发明
国别省市:

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

1