内存管理方法及装置、电子设备及存储介质制造方法及图纸

技术编号:39068381 阅读:15 留言:0更新日期:2023-10-12 20:00
本说明书一个或多个实施例提供一种内存管理方法及装置、电子设备及存储介质,方法包括:响应于永久存储设备内第一数据被访问,在内存中的第一对象池内确定第一目标对象,并在第一目标对象内缓存第一数据的部分或全部字段,其中,第一对象池内包括多个容量相同的第一对象,第一目标对象为第一对象池中的一个第一对象;响应于第一目标对象被第一数据的部分字段填满,且第一数据的其他字段被访问,在内存中的第二对象池内确定第二目标对象,并在第二目标对象内缓存第一数据的全部字段,其中,第二对象池内包括多个容量相同的第二对象,第二对象的容量大于第一对象的容量,第二目标对象为第二对象池中的一个第二对象。象为第二对象池中的一个第二对象。象为第二对象池中的一个第二对象。

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


[0001]本说明书一个或多个实施例涉及数据库
,尤其涉及一种内存管理方法及装置、电子设备及存储介质。

技术介绍

[0002]在互联网和信息化高速发展的今天,数据的产生呈爆炸式增长,因此对数据库及其管理的要求越来越高。数据库内的数据在被访问时需要加载至内存中进行访问,由于数据库内的数据较多,因此有限的内存往往无法加载全部的数据,需要在内存中对数据进行换入换出。相关技术中,内存的管理效果较差,从而使得内存的利用率较低。

技术实现思路

[0003]有鉴于此,本说明书一个或多个实施例提供一种内存管理方法及装置、电子设备及存储介质。
[0004]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0005]根据本说明书一个或多个实施例的第一方面,提出了一种内存管理方法,所述方法包括:
[0006]响应于永久存储设备内第一数据被访问,在内存中的第一对象池内确定第一目标对象,并在所述第一目标对象内缓存所述第一数据的部分或全部字段,其中,所述第一对象池内包括多个容量相同的第一对象,所述第一目标对象为所述第一对象池中的一个第一对象;
[0007]响应于所述第一目标对象被所述第一数据的部分字段填满,且所述第一数据的其他字段被访问,在内存中的第二对象池内确定第二目标对象,并在所述第二目标对象内缓存所述第一数据的全部字段,其中,所述第二对象池内包括多个容量相同的第二对象,所述第二对象的容量大于所述第一对象的容量,所述第二目标对象为所述第二对象池中的一个第二对象。
[0008]在本说明书的一个实施例中,所述方法还包括:
[0009]响应于所述第一对象池中第一对象被访问,根据访问源和访问时间确定所述第一对象的访问热度评分值;
[0010]所述在内存中的第一对象池内确定第一目标对象,包括:
[0011]响应于所述第一对象池中不存在空闲状态的第一对象,根据所述第一对象池中至少一个第一对象的访问热度评分值和访问时间,在所述至少一个第一对象中确定第一目标对象,并将所述第一目标对象内缓存的数据删除。
[0012]在本说明书的一个实施例中,所述方法还包括:
[0013]响应于所述第二对象池中第二对象被访问,根据访问源和访问时间确定所述第二对象的访问热度评分值;
[0014]所述在内存中的第二对象池内确定第二目标对象,包括:
[0015]响应于所述第二对象池中不存在空闲状态的第二对象,根据所述第二对象池中至少一个第二对象的访问热度评分值和访问时间,在所述至少一个第二对象中确定第二目标对象,并将所述第二目标对象内缓存的部分数据转存至所述第一对象池中的第一对象。
[0016]在本说明书的一个实施例中,所述将所述第二目标对象内缓存的部分数据转存至所述第一对象池中的第一对象,包括:
[0017]将所述第一目标对象内缓存的访问热度评分值最高的部分数据转存至所述第一对象池中的第一对象。
[0018]在本说明书的一个实施例中,所述将所述第二目标对象内缓存的部分数据转存至所述第一对象池中的第一对象,包括:
[0019]响应于所述第一对象池中不存在空闲状态的第一对象,根据所述第一对象池中至少一个第一对象的访问热度评分值和访问时间,在所述至少一个第一对象中确定第三目标对象,并将所述第三目标对象内缓存的数据删除,以及将所述第二目标对象内缓存的部分数据转存至所述第三目标对象,其中,所述第三目标对象为所述第一对象池中的一个第一对象。
[0020]在本说明书的一个实施例中,所述方法还包括:
[0021]响应于所述第一目标对象内缓存的数据删除失败,根据所述第一对象池中至少一个第一对象的访问热度评分值和访问时间重新确定第一目标对象,直至所述第一目标对象内缓存的数据删除成功;和/或,
[0022]响应于所述第二目标对象内缓存的数据转存失败,根据所述第二对象池中至少一个第二对象的访问热度评分值和访问时间重新确定第二目标对象,直至所述第二目标对象内缓存的数据转存成功;和/或,
[0023]响应于所述第三目标对象内缓存的数据删除失败,根据所述第一对象池中至少一个第一对象的访问热度评分值和访问时间重新确定第三目标对象,直至所述第三目标对象内缓存的数据删除成功。
[0024]在本说明书的一个实施例中,所述根据访问源和访问时间确定所述第一对象的访问热度评分值,包括:
[0025]在所述访问源为用户的情况下,根据用户优先级和所述访问时间确定所述第一对象的访问热度评分制;
[0026]在所述访问源为系统,且所述第一对象未被用户访问过的情况下,根据系统优先级和所述访问时间确定所述第一对象的访问热度评分值;
[0027]在所述访问源为系统,且所述第一对象被用户访问过的情况下,保持所述第一对象的访问热度评分值不变;和/或,
[0028]所述根据访问源和访问时间确定所述第二对象的访问热度评分值,包括:
[0029]在所述访问源为用户的情况下,根据用户优先级和所述访问时间确定所述第二对象的访问热度评分值;
[0030]在所述访问源为系统,且所述第二对象未被用户访问过的情况下,根据系统优先级和所述访问时间确定所述第二对象的访问热度评分值;
[0031]在所述访问源为系统,且所述第二对象被用户访问过的情况下,保持所述第二对象的访问热度评分值不变。
[0032]在本说明书的一个实施例中,所述根据所述第一对象池中至少一个第一对象的访问热度评分值和访问时间,在所述至少一个第一对象中确定第一目标对象,包括:
[0033]依次确定所述第一对象池中每个第一对象的访问热度评分值是否小于第一评分阈值、访问时间距离当前时间是否大于第一时长阈值,并将所述第一对象池中首个访问热度评分值小于第一评分阈值,或者访问时间距离当前时间大于第一时长阈值的第一对象,确定为第一目标对象;
[0034]所述根据所述第二对象池中至少一个第二对象的访问热度评分值和访问时间,在所述至少一个第二对象中确定第二目标对象,包括:
[0035]依次确定所述第二对象池中每个第二对象的访问热度评分值是否小于第一评分阈值、访问时间距离当前时间是否大于第一时长阈值,并将所述第二对象池中首个访问热度评分值小于第一评分阈值,或者访问时间距离当前时间大于第一时长阈值的第二对象,确定为第二目标对象。
[0036]在本说明书的一个实施例中,响应于所述第一目标对象被所述第一数据的部分字段填满,且所述第一数据的其他字段被访问,在内存中的第二对象池内确定第二目标对象,并在所述第二目标对象内缓存所述第一数据的全部字段,包括:
[0037]响应于所述第一目标对象被所述第一数据的部分字段填满、所述第一数据的其他字段被访问、且所述第一数据的其他字段的访问频率高于预设频率阈值,在内存中的第二对象池内确定第二目标对象,并在所述第二目标对象内缓存所述第一数据的全部字段。
[0038]在本说明书本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存管理方法,所述方法包括:响应于永久存储设备内第一数据被访问,在内存中的第一对象池内确定第一目标对象,并在所述第一目标对象内缓存所述第一数据的部分或全部字段,其中,所述第一对象池内包括多个容量相同的第一对象,所述第一目标对象为所述第一对象池中的一个第一对象;响应于所述第一目标对象被所述第一数据的部分字段填满,且所述第一数据的其他字段被访问,在内存中的第二对象池内确定第二目标对象,并在所述第二目标对象内缓存所述第一数据的全部字段,其中,所述第二对象池内包括多个容量相同的第二对象,所述第二对象的容量大于所述第一对象的容量,所述第二目标对象为所述第二对象池中的一个第二对象。2.根据权利要求1所述的内存管理方法,所述方法还包括:响应于所述第一对象池中第一对象被访问,根据访问源和访问时间确定所述第一对象的访问热度评分值;所述在内存中的第一对象池内确定第一目标对象,包括:响应于所述第一对象池中不存在空闲状态的第一对象,根据所述第一对象池中至少一个第一对象的访问热度评分值和访问时间,在所述至少一个第一对象中确定第一目标对象,并将所述第一目标对象内缓存的数据删除。3.根据权利要求2所述的内存管理方法,所述方法还包括:响应于所述第二对象池中第二对象被访问,根据访问源和访问时间确定所述第二对象的访问热度评分值;所述在内存中的第二对象池内确定第二目标对象,包括:响应于所述第二对象池中不存在空闲状态的第二对象,根据所述第二对象池中至少一个第二对象的访问热度评分值和访问时间,在所述至少一个第二对象中确定第二目标对象,并将所述第二目标对象内缓存的部分数据转存至所述第一对象池中的第一对象。4.根据权利要求3所述的内存管理方法,所述将所述第二目标对象内缓存的部分数据转存至所述第一对象池中的第一对象,包括:将所述第一目标对象内缓存的访问热度评分值最高的部分数据转存至所述第一对象池中的第一对象。5.根据权利要求3所述的内存管理方法,所述方法还包括:所述将所述第二目标对象内缓存的部分数据转存至所述第一对象池中的第一对象,包括:响应于所述第一对象池中不存在空闲状态的第一对象,根据所述第一对象池中至少一个第一对象的访问热度评分值和访问时间,在所述至少一个第一对象中确定第三目标对象,并将所述第三目标对象内缓存的数据删除,以及将所述第二目标对象内缓存的部分数据转存至所述第三目标对象,其中,所述第三目标对象为所述第一对象池中的一个第一对象。6.根据权利要求5所述的内存管理方法,所述方法还包括:响应于所述第一目标对象内缓存的数据删除失败,根据所述第一对象池中至少一个第一对象的访问热度评分值和访问时间重新确定第一目标对象,直至所述第一目标对象内缓存的数据删除成功;和/或,
响应于所述第二目标对象内缓存的数据转存失败,根据所述第二对象池中至少一个第二对象的访问热度评分值和访问时间重新确定第二目标对象,直至所述第二目标对象内缓存的数据转存成功;和/或,响应于所述第三目标对象内缓存的数据删除失败,根据所述第一对象池中至少一个第一对象的访问热度评分值和访问时间重新确定第三目标对象,直至所述第三目标对象内缓存的数据删除成功。7.根据权利要求3所述的内存管理方法,所述根据访问源和访问时间确定所述第一对象的访问热度评分值,包括:在所述访问源为用户的情况下,根据用户优先级和所述访问时间确定所述第一对象的访问热度评分制;在所述访问源为系统,且所述第一对象未被用户访问过的情况下,根据系统优先级和所述访问时间确定所述第一对象的访问热度评分值;在所述访问源为系统,且所述第一对象被用户访问过的情况下,保持所述第一对象的访问热度评分值不变;和/或,所述根据访问源和访问时间确定所述第二对象的访问热度评分...

【专利技术属性】
技术研发人员:涂云山陈嘉华赵裕众
申请(专利权)人:北京奥星贝斯科技有限公司
类型:发明
国别省市:

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

1