一种内存池管理方法、装置及存储介质与流程

文档序号:37117561发布日期:2024-02-22 21:17阅读:12来源:国知局
一种内存池管理方法、装置及存储介质与流程

本申请涉及车辆,具体涉及一种内存池管理方法、装置及存储介质。


背景技术:

1、在系统的业务数据处理过程中,均会涉及到内存管理,如在目前在在车联网系统中,车云后台需要接收大量的车辆连接,每个连接都需要占用一定大小的内存,此过程中涉及到大量的内存管理。

2、已有方案中的内存管理一般会涉及到系统调用以及用户态和内核态的切换,如图1所示,该方案在有大量的业务请求到达时,每次都通过系统调用来实现,导致整个系统的性能受到很大影响,从而影响内存管理的效率。


技术实现思路

1、鉴于上述问题,本申请提供了一种内存池管理方法、装置及存储介质,用于提高内存管理的效率。

2、根据本申请实施例的一个方面,提供了一种内存池管理方法,所述内存池管理方法包括:获取业务请求数据,并基于所述业务请求数据的大小匹配对应的目标内存池,其中,所述业务请求数据来源于目标应用程序;基于所匹配得到的目标内存池获取目标内存单元,以将所述业务请求数据存储于所述目标内存单元;基于所述目标内存单元中的所述业务请求数据完成对应的业务逻辑,并将所述目标内存单元释放至所述目标内存池。

3、在一种可选的方式中,在所述获取业务请求数据,并基于所述业务请求数据的大小匹配对应的目标内存池之前,所述方法还包括:

4、基于各个应用程序的历史数据为对应应用程序配置内存池,所述历史数据包括历史业务请求类型以及对应的历史业务请求数据。

5、在一种可选的方式中,所述基于各个应用程序的历史数据为对应应用程序配置内存池包括:

6、基于各个应用程序的历史业务请求数据的大小确定各历史业务请求类型对应的内存大小预测值;

7、基于各个历史业务请求类型的内存大小预测值为对应应用程序配置内存池。

8、在一种可选的方式中,在所述基于所述业务请求数据的大小匹配对应的目标内存池之前,所述方法进一步还包括:预先构造多个内存池,以基于所述业务请求数据的大小在所述多个内存池中匹配对应的目标内存池;其中,所述多个内存池中各内存池的内存单元大小不同。

9、在一种可选的方式中,所述基于所匹配得到的目标内存池获取目标内存单元,包括:获取所述目标内存池对应的头指针;其中,所述头指针表征所述目标内存池中所包含的内存块;若所述头指针为空,则在所述目标内存池中新建内存块,并基于在所述目标内存池中新建的内存块获取目标内存单元;若所述头指针不为空,则基于所述头指针遍历所述头指针对应的内存块,以匹配得到所述目标内存单元。

10、在一种可选的方式中,所述在所述目标内存池中新建内存块,并基于在所述目标内存池中新建的内存块获取目标内存单元,包括:在所述目标内存池中新建内存块,所述目标内存中新建的内存块包括至少一个内存单元;基于所述头指针获取所述目标内存中新建的内存块中排序第一的内存单元,将所述排序第一的内存单元作为所述目标内存单元。

11、在一种可选的方式中,各内存块中包括至少一个内存单元;所述基于所述头指针遍历所述头指针对应的内存块,以匹配得到所述目标内存单元,包括:基于所述头指针遍历所述头指针对应的内存块,查找存在空闲内存单元的目标内存块;若存在目标内存块,则基于所述目标内存块中的空闲内存单元,获取所述目标内存块;若不存在所述目标内存块,则在所述目标内存池中新建内存块,并基于在所述目标内存池中新建的内存块获取目标内存单元。

12、在一种可选的方式中,所述基于所述目标内存块中的空闲内存单元,获取所述目标内存单元,包括:获取所述目标内存块中排序第一的内存单元的地址、所述目标内存块中内存单元的大小以及所述目标内存块的空闲内存单元的空闲单元索引;其中,所述空闲单元索引基于所述目标内存块中序号位于所述空闲内存单元之前的内存单元所得到;基于所述目标内存块中排序第一的内存单元的地址、所述目标内存块中内存单元的大小以及所述目标内存块的空闲内存单元的空闲单元索引,计算得到目标单元地址;将所述目标单元地址对应的内存单元作为所述目标内存单元。

13、在一种可选的方式中,所述将所述目标内存单元释放至所述目标内存池,包括:查找所述目标内存池,若获取到所述目标内存池,则基于所述目标内存单元在所述目标内存池中获取对应的目标内存块;若获取到所述目标内存块,则在所述目标内存块中释放所述目标内存单元。

14、根据本申请实施例的另一方面,提供了一种内存池管理装置,所述内存池管理装置包括:目标内存池获取模块,用于获取业务请求数据,并基于所述业务请求数据的大小匹配对应的目标内存池;目标内存单元获取模块,用于基于所匹配得到的目标内存池获取目标内存单元,以将所述业务请求数据存储于所述目标内存单元;内存释放模块,用于基于所述目标内存单元中的所述业务请求数据完成对应的业务逻辑,并将所述目标内存单元释放至所述目标内存池。

15、根据本申请实施例的一个方面,提供了一种电子设备,包括:控制器;存储器,用于存储一个或多个程序,当一个或多个程序被所述控制器执行时,以执行上述的内存池管理方法。

16、根据本申请实施例的一个方面,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述的内存池管理方法。

17、根据本申请实施例的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的内存池管理方法。

18、本申请实施例通过在业务请求数据到来时,根绝业务请求数据的大小匹配相适应的内存池,从而在内存池中获取用于存储业务请求数据的目标内存单元,以此,在业务请求数据到来时,无需经过系统调用步骤,即可获取内存,减少业务请求数据请求内存过程中系统性能影响所导致的内存使用效率,保证内存管理效率;同时,在释放内存时,将目标内存单元释放至目标内存池中,便于后续目标内存单元的重复使用,进一步提高了内存使用效率。

19、上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。



技术特征:

1.一种内存池管理方法,其特征在于,所述内存池管理方法包括:

2.根据权利要求1所述的内存池管理方法,其特征在于,在所述获取业务请求数据,并基于所述业务请求数据的大小匹配对应的目标内存池之前,所述方法还包括:

3.根据权利要求2所述的内存池管理方法,其特征在于,所述基于各个应用程序的历史数据为对应应用程序配置内存池包括:

4.根据权利要求3所述的内存池管理方法,其特征在于,所述在所述目标内存池中新建内存块,并基于在所述目标内存池中新建的内存块获取目标内存单元,进一步包括:

5.根据权利要求3所述的内存池管理方法,其特征在于,各内存块中包括至少一个内存单元;所述基于所述头指针遍历所述头指针对应的内存块,以匹配得到所述目标内存单元,进一步包括:

6.根据权利要求5所述的内存池管理方法,其特征在于,所述基于所述目标内存块中的空闲内存单元,获取所述目标内存单元,进一步包括:

7.根据权利要求1所述的内存池管理方法,其特征在于,所述将所述目标内存单元释放至所述目标内存池,进一步包括:

8.一种内存池管理装置,其特征在于,所述内存池管理装置包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至7中任一项所述的内存池管理方法。


技术总结
本申请涉及车辆技术领域,公开了一种内存池管理方法、装置及存储介质,方法包括:获取业务请求数据,并基于业务请求数据的大小匹配对应的目标内存池;基于所匹配得到的目标内存池获取目标内存单元,以将业务请求数据存储于目标内存单元;基于目标内存单元中的业务请求数据完成对应的业务逻辑,并将目标内存单元释放至目标内存池。本申请实施例根绝业务请求数据的大小匹配相适应的内存池,无需经过系统调用步骤,即可获取内存,在释放内存时,将目标内存单元释放至目标内存池中,便于后续目标内存单元的重复使用,从而提高内存使用效率。

技术研发人员:蒲永刚,万亮,晏涛
受保护的技术使用者:赛力斯汽车有限公司
技术研发日:
技术公布日:2024/2/21
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1