一种数据处理方法、装置、设备以及可读存储介质制造方法及图纸

技术编号:37485643 阅读:21 留言:0更新日期:2023-05-07 09:24
本申请公开了一种数据处理方法、装置、设备以及可读存储介质,方法包括:接收第一进程发送的第一内存分配请求,根据第一内存分配请求获取内存域集合;内存域集合中每个内存域均由一个或多个内存块组成;根据内存域集合确定第一进程对应的待分配内存域,根据第一内存分配请求,在待分配内存域包括的一个或多个内存块中确定第一进程对应的第一目标内存块,将第一目标内存块分配至第一进程;根据第一目标内存块,将内存域集合中的待分配内存域更新为更新内存域;包含更新内存域的内存域集合用于在接收到第二进程的第二内存分配请求时,为第二进程分配第二目标内存块。采用本申请,可以提高系统的内存分配效率,提升资源利用率。提升资源利用率。提升资源利用率。

【技术实现步骤摘要】
一种数据处理方法、装置、设备以及可读存储介质


[0001]本申请涉及计算机
,尤其涉及一种数据处理方法、装置、设备以及可读存储介质。

技术介绍

[0002]在操作系统(如Linux操作系统)中,内存的管理和分配工作是影响系统稳定运行的重要因素。内存管理的主要功能是用于组织系统中空闲的内存块,并响应应用的内存分配以及回收请求。
[0003]目前,伙伴管理算法是主要的内存管理方法,其针对于小规格单核操作系统而设计,在伙伴算法的内存管理方法的基础上,所有的内存请求都需要被串行执行。然而,由于其更针对于小规格单核操作系统,那么在多核操作系统中,伙伴管理算法实际上无法及时响应内存请求,一旦存在多个进程均发出内存请求,那么伙伴管理算法会造成严重的内存分配时延,十分影响内存分配效率。

技术实现思路

[0004]本申请实施例提供一种数据处理方法、装置、设备以及可读存储介质,可以提高系统的内存分配效率,提升资源利用率。
[0005]本申请实施例一方面提供了一种数据处理方法,包括:
[0006]接收第一进程发送的第一内本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:接收第一进程发送的第一内存分配请求,根据所述第一内存分配请求获取内存域集合;所述内存域集合中每个内存域均由一个或多个内存块组成;根据所述内存域集合确定所述第一进程对应的待分配内存域,根据所述第一内存分配请求,在所述待分配内存域包括的一个或多个内存块中确定所述第一进程对应的第一目标内存块,将所述第一目标内存块分配至所述第一进程;根据所述第一目标内存块,将所述内存域集合中的所述待分配内存域更新为更新内存域;包含所述更新内存域的内存域集合用于在接收到第二进程的第二内存分配请求时,为所述第二进程分配第二目标内存块。2.根据权利要求1所述的方法,其特征在于,所述根据所述内存域集合确定所述第一进程对应的待分配内存域,包括:对所述内存域集合中的内存域进行检测;若检测到所述内存域集合存在可分配内存域,则在所述可分配内存域中获取所述第一进程对应的待分配内存域,将所述待分配内存域从空闲状态切换为锁定状态;所述可分配内存域中的每个内存块均处于空闲状态;处于锁定状态的待分配内存域中不存在处于空闲状态的内存块。3.根据权利要求1所述的方法,其特征在于,所述根据所述内存域集合确定所述第一进程对应的待分配内存域,包括:对所述内存域集合中的内存域进行检测;若检测到所述内存域集合中不存在可分配内存域,则将所述第一进程设置为等待状态,当检测到所述内存域集合中重新出现所述可分配内存域时,将所述第一进程从所述等待状态切换为分配状态,从所述可分配内存域中获取处于分配状态的所述第一进程对应的待分配内存域,将所述待分配内存域从所述空闲状态切换为锁定状态;所述可分配内存域中的每个内存块均处于空闲状态;处于锁定状态的待分配内存域中不存在处于空闲状态的内存块。4.根据权利要求2所述的方法,其特征在于,所述根据所述第一目标内存块,将所述内存域集合中的所述待分配内存域更新为更新内存域,包括:将所述待分配内存域中除所述第一目标内存块以外的内存块,作为第一剩余内存块;根据所述第一剩余内存块组成更新内存域;所述内存域集合中的所述更新内存域属于所述可分配内存域。5.根据权利要求3所述的方法,其特征在于,所述根据所述第一目标内存块,将所述内存域集合中的所述待分配内存域更新为更新内存域,包括:根据所述第一目标内存块,对所述待分配内存域进行域划分,得到第一划分内存域与第二划分内存域;将所述第一划分内存域与所述第二划分内存域确定为更新内存域;所述内存域集合中的所述更新内存域属于所述可分配内存域。6.根据权利要求5所述的方法,其特征在于,所述根据所述第一目标内存块,对所述待分配内存域进行域划分,得到第一划分内存域与第二划分内存域,包括:根据所述第一目标内存块,在所述待分配内存域中确定待划分内存块;所述待划分内
存块的块数量大于所述第一目标内存块的块数量;获取所述待划分内存块与所述第一目标内存块之间的差值内存块;根据所述差值内存块组成所述第一划分内存域,根据第二剩余内存块组成第二划分内存域;所述第二剩余内存块是指所述待分配内存域中除所述待划分内存块以外的内存块。7.根据权利要求2所述的方法,其特征在于,所述方法还包括:获取所述可分配内存域中除所述待分配内存域以外的剩余内存域,以及所述剩余内存域的域数量;当所述域数量大于数量阈值时,将所述剩余内存域进行域合并,得到合并内存域;所述内存域集合中的所述合并内存域属于所述可分配内存域。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述第一进程发送的针对所述第一目标内存块的内存释放请求,根据所述内存释放请求检测内存缓冲区的存储状态;若所述内存缓冲区的存储状态为第一存储状态,则将所述第一目标内存块添加至所述内存缓冲区中,在满足内存块释放条件时,将所述内存缓冲区中的所述第一目标内存块释放至所述内存域集合中;若所述内存缓冲区的存储状态为第二存储状态,则根据所述第一目标内存块对所述内存缓冲区的存储容量进行调整,得...

【专利技术属性】
技术研发人员:吴晨涛李颉过敏意卢熠辉郭翰宸郭振宇王佳
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1