内存数据库管理方法、设备及存储介质技术

技术编号:38465208 阅读:10 留言:0更新日期:2023-08-11 14:42
本申请提供一种内存数据库管理方法、设备及存储介质,涉及数据库技术领域。该方法通过识别当前中间件业务进程的类型,为当前的进程确定与其对应的最大内存使用空间,其中最大内存使用空间包括最大内存空间和弹性内存空间,弹性内存空间用于在数据将最大内存空间填满时,避免系统不让写入数据,保证系统的稳定性,在确定相应的最大内存使用空间后,向其中的最大内存空间写入数据,并根据最大内存空间中已写入的数据,确定最大内存空间的内存使用百分比,并根据内存使用百分比确定是否执行内存清理流程,从而实现在内存受限的情况下仍然能够正常工作,并对内存数据库的空间进行有效管理,避免对内存资源的浪费。避免对内存资源的浪费。避免对内存资源的浪费。

【技术实现步骤摘要】
内存数据库管理方法、设备及存储介质


[0001]本申请涉及数据库
,尤其涉及一种内存数据库管理方法、设备及存储介质。

技术介绍

[0002]内存是计算机重要的组成部分,传统的数据库是以文件数据库的形式将大部分数据写入到磁盘空间,与磁盘空间相比,内存的数据读写速度更快,对于车载SOA(面向服务架构)架构下的中间件业务进程,为了提高数据读写性能,需要通过纯内存数据库来实现对键值数据和非键值数据的存储,以使读写请求直接在内存中实现,减少对磁盘空间的访问。
[0003]在车载SOA架构场景下的业务进程,为了提高数据库稳定性和数据读写性能,同时确保数据库在内存受限的情况下仍然能够正常工作,需将数据放入内存型的数据库中,而内存型的数据库容量是有限的,需有成熟的内存管理方案,否则就会因内存不足,而出现进程抢占内存资源,导致程序响应卡死、系统宕机等故障,而现有车载系统中主要使用标准模板库中的容器来存储数据,缺少对内存的管理,导致计算机内存资源浪费大。
[0004]因此现有技术对于车载SOA架构场景下的业务进程中,在缺少对内存的管理,导致内存资源浪费大的方面仍存有缺陷。

技术实现思路

[0005]本申请提供一种内存数据库管理方法、设备及存储介质,用以解决在车载SOA架构场景下的业务进程中,由于缺少对内存的管理,导致内存资源浪费大的方面仍存有缺陷的问题。
[0006]第一方面,本申请提供一种内存数据库管理方法,包括:
[0007]获取当前进程的类型标识,根据所述类型标识确定与所述进程对应的最大内存使用空间,所述最大内存使用空间包括最大内存空间和弹性内存空间,其中所述弹性内存空间用于避免不让写入数据;
[0008]向所述最大内存空间写入数据,并根据所述最大内存空间中已写入的数据,确定所述最大内存空间的内存使用百分比;
[0009]若所述内存使用百分比小于预设值,则继续向所述最大内存空间写入数据;
[0010]若所述内存使用百分比大于或等于预设值,则删除所述最大内存空间中的至少部分数据。
[0011]在一种可能的设计中,所述根据所述类型标识确定与所述进程对应的最大内存使用空间,包括;当在业务类型库中查找到与所述进程的类型标识相同的标识时,根据所述类型标识获取对应的预设内存信息,并根据所述预设内存信息获取所述最大内存使用空间;其中,所述进程的类型标识与预设内存信息关联存储于业务类型库,所述预设内存信息用于指示与所述进程对应的最大内存使用空间,当在所述业务类型库中未查找到与所述进程的类型标识相同的标识时,为所述进程分配默认最大内存使用空间。
[0012]在一种可能的设计中,所述根据所述最大内存空间中已写入的数据,确定所述最大内存空间的内存使用百分比,包括:根据所述最大内存空间中已写入的数据,获取所述最大内存空间的已占用空间和本次写入数据的本次占用空间,其中,所述已占用空间包括初始化数据表的占用内存和遗留数据的占用内存;所述初始化数据表用于分配存储所述数据,获取所述已占用空间和所述本次占用空间的空间使用总和,根据所述空间使用总和与所述最大内存空间的比值,确定所述最大内存空间的内存使用百分比。
[0013]在一种可能的设计中,所述删除所述最大内存空间中的至少部分数据,包括:通过读内存命中率获取删除目标总数,所述读内存命中率为内存命中数与总读取数的比值,其中所述内存命中数用于指示从内存读取到所述数据的次数,所述总读取数用于指示在内存中读数据的总次数,根据所述类型标识确定与所述进程对应的删除算法,根据所述删除目标总数和删除算法,删除所述最大内存空间中的至少部分数据。
[0014]在一种可能的设计中,所述通过读内存命中率获取删除目标总数,包括:当所述读内存命中率小于预设命中值时,获取第一标定值与所述读内存命中率的差值,并获取所述差值与第二标定值的乘积,将所述乘积作为所述删除目标总数,其中所述第一标定值大于所述第二标定值,当所述读内存命中率大于等于预设命中值时,获取所述第二标定值与第三标定值的乘积,将所述第二标定值与第三标定值的乘积作为所述删除目标总数,其中所述第二标定值大于所述第三标定值。
[0015]在一种可能的设计中,所述根据所述删除目标总数和删除算法,删除所述最大内存空间中的至少部分数据,包括:通过所述删除算法在内存中选择对应的数据,直至选择对应的数据数量满足所述删除目标总数后,将所选择对应的数据作为目标删除数据;其中,所述删除算法为最近最少使用删除算法、最近最不常使用删除算法或先进先出删除算法,删除所述最大内存空间中的所述目标删除数据。
[0016]在一种可能的设计中,所述删除所述最大内存空间中的所述目标删除数据,包括:将所述目标删除数据打包发送至外部磁盘空间中后,释放内存空间,其中,所述释放内存空间包括主动释放和被动释放,所述主动释放用于将未删除数据写入至重新分配的内存空间,以释放所述最大内存使用空间,所述被动释放用于将新数据写入目标删除数据对应的内存空间。
[0017]第二方面,本申请提供一种内存数据库管理设备,包括:
[0018]获取模块,用于获取当前进程的类型标识,根据所述类型标识确定与所述进程对应的最大内存使用空间,所述最大内存使用空间包括最大内存空间和弹性内存空间,其中所述弹性内存空间用于避免不让写入数据;
[0019]处理模块,用于向所述最大内存空间写入数据,并根据所述最大内存空间中已写入的数据,确定所述最大内存空间的内存使用百分比;
[0020]第一执行模块,用于若所述内存使用百分比小于预设值,则继续向所述最大内存空间写入数据;
[0021]第二执行模块,用于若所述内存使用百分比大于或等于预设值,则删除所述最大内存空间中的至少部分数据。
[0022]第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
[0023]所述存储器存储计算机执行指令;
[0024]所述处理器执行所述存储器存储的计算机执行指令,以实现内存数据库管理方法。
[0025]第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现内存数据库管理方法。
[0026]本申请提供的一种内存数据库管理方法、设备及存储介质,通过识别当前中间件业务进程的类型,为当前的进程确定与其对应的最大内存使用空间,其中最大内存使用空间包括最大内存空间和弹性内存空间,弹性内存空间用于在数据将最大内存空间填满时,避免系统不让写入数据,保证系统的稳定性,在确定相应的最大内存使用空间后,向其中的最大内存空间写入数据,并根据最大内存空间中已写入的数据,确定最大内存空间的内存使用百分比,并根据内存使用百分比确定是否执行内存清理流程,从而实现在内存受限的情况下仍然能够正常工作,并对内存数据库的空间进行有效管理,避免对内存资源的浪费。
附图说明
[0027]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存数据库管理方法,其特征在于,包括:获取当前进程的类型标识,根据所述类型标识确定与所述进程对应的最大内存使用空间,所述最大内存使用空间包括最大内存空间和弹性内存空间,其中所述弹性内存空间为所述进程请求扩张的内存空间;向所述最大内存空间写入数据,并根据所述最大内存空间中已写入的数据,确定所述最大内存空间的内存使用百分比;若所述内存使用百分比小于预设值,则继续向所述最大内存空间写入数据;若所述内存使用百分比大于或等于预设值,则删除所述最大内存空间中的至少部分数据。2.根据权利要求1所述的方法,其特征在于,所述根据所述类型标识确定与所述进程对应的最大内存使用空间,包括:当在业务类型库中查找到与所述进程的类型标识相同的标识时,根据所述类型标识获取对应的预设内存信息,并根据所述预设内存信息获取所述最大内存使用空间;其中,所述进程的类型标识与预设内存信息关联存储于业务类型库,所述预设内存信息用于指示与所述进程对应的最大内存使用空间;当在所述业务类型库中未查找到与所述进程的类型标识相同的标识时,为所述进程分配默认最大内存使用空间。3.根据权利要求1所述的方法,其特征在于,所述根据所述最大内存空间中已写入的数据,确定所述最大内存空间的内存使用百分比,包括:根据所述最大内存空间中已写入的数据,获取所述最大内存空间的已占用空间和本次写入数据的本次占用空间,其中,所述已占用空间包括初始化数据表的占用内存和遗留数据的占用内存;所述初始化数据表用于分配存储所述数据;获取所述已占用空间和所述本次占用空间的空间使用总和;根据所述空间使用总和与所述最大内存空间的比值,确定所述最大内存空间的内存使用百分比。4.根据权利要求1所述的方法,其特征在于,所述删除所述最大内存空间中的至少部分数据,包括:通过读内存命中率获取删除目标总数,所述读内存命中率为内存命中数与总读取数的比值,其中所述内存命中数用于指示从内存读取到所述数据的次数,所述总读取数用于指示在内存中读数据的总次数;根据所述类型标识确定与所述进程对应的删除算法;根据所述删除目标总数和删除算法,删除所述最大内存空间中的至少部分数据。5.根据权利要求4所述的方法,其特征在于,所述通过读内存命中率获取删除目标总数,包括:当所述读内存命中率小于预设命中值时,获取第一标定值与所述读内存命中率的差值,并获取所述差值与第二标定值的乘积,将所述乘...

【专利技术属性】
技术研发人员:刘著昀
申请(专利权)人:浙江吉利控股集团有限公司
类型:发明
国别省市:

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

1