本申请涉及计算机,更具体地说,涉及一种内存分配方法、装置及电子设备和存储介质。
背景技术:
1、内存可靠性分级是指根据内存的可靠性特性,将内存分为不同等级或类别的过程,这种分类有助于用户在选择内存时了解其可靠性水平,并根据具体需求做出适当的选择。
2、在相关技术中,内存一旦分配完成不再进行改变,对内存设置可靠性标记之后,新申请的内存才会根据进程的可靠性需求选择对应的内存,而已分配内存的可靠性仍然影响关键进程的可靠性。
3、因此,如何提高已分配内存的进程的可靠性是本领域技术人员需要解决的技术问题。
技术实现思路
1、本申请的目的在于提供一种内存分配方法、装置及电子设备和存储介质,提高了已分配内存的进程的可靠性。
2、为实现上述目的,本申请提供了一种内存分配方法,包括:
3、在设置内存的标记信息之后,确定已分配内存的第一目标进程,根据所述第一目标进程的数据可靠性需求设置所述第一目标进程的标记信息;
4、判断为所述第一目标进程分配的第一目标内存的标记信息与所述第一目标进程的标记信息是否相同;
5、若否,则根据所述第一目标进程的标记信息确定对应的第二目标内存;其中,所述第二目标内存的标记信息与所述第一目标进程的标记信息相同;
6、将所述第一目标内存中的数据迁移至所述第二目标内存,并将所述第二目标内存分配至所述第一目标进程。
7、其中,还包括:
8、根据内存的内存类型设置所述内存的标记信息;其中,若所述内存为镜像内存,则将所述内存的标记信息设置为第一信息,若所述内存为非镜像内存,则将所述内存的标记信息设置为第二信息。
9、其中,还包括:
10、若标记信息为所述第二信息的第三目标内存在预设时间段内循环冗余校验错误数量达到预设值,则将所述第三目标内存的标记信息设置为第三信息;
11、确定使用所述第三目标内存的第二目标进程,选择未分配的、标记信息为所述第二信息的第四目标内存;
12、将所述第三目标内存中的数据迁移至所述第四目标内存,并将所述第四目标内存分配至所述第二目标进程。
13、其中,根据所述第一目标进程的数据可靠性需求设置所述第一目标进程的标记信息,包括:
14、确定所述第一目标进程的进程类型;
15、若所述第一目标进程为内核进程,则将所述第一目标进程的标记信息设置为所述第一信息;
16、若所述第一目标进程为用户进程,则判断所述第一目标进程是否为系统管理进程;
17、若所述第一目标进程为系统管理进程,则将所述第一目标进程的标记信息设置为所述第一信息;
18、若所述第一目标进程非系统管理进程,则根据所述第一目标进程的数据可靠性需求等级设置所述第一目标进程的标记信息;其中,若所述第一目标进程的数据可靠性需求等级大于或等于第一等级阈值,则将所述第一目标进程的标记信息设置为所述第一信息,若所述第一目标进程的数据可靠性需求等级小于所述第一等级阈值且大于第二等级阈值,则将所述第一目标进程的标记信息设置为所述第二信息,若所述第一目标进程的数据可靠性需求等级小于或等于所述第二等级阈值,则将所述第一目标进程的标记信息设置为所述第三信息,所述第一等级阈值大于所述第二等级阈值。
19、其中,若所述第一目标进程非系统管理进程,则还包括:
20、确定所述第一目标进程的父进程,根据所述第一目标进程的父进程的标记信息设置所述第一目标进程的标记信息。
21、其中,将所述第一目标内存中的数据迁移至所述第二目标内存,并将所述第二目标内存分配至所述第一目标进程,包括:
22、对所述第一目标内存添加内存锁,将所述第一目标内存中的数据迁移至所述第二目标内存;
23、修改所述第一目标进程的内存映射表,将所述第一目标进程的虚拟内存地址映射至所述第二目标内存;
24、释放所述第一目标内存的内存锁。
25、其中,还包括:
26、当接收到第三目标进程的内存分配请求时,根据所述第三目标进程的数据可靠性需求设置所述第三目标进程的标记信息;
27、根据所述第三目标进程的标记信息为所述第三目标进程分配对应的第五目标内存;其中,所述第五目标内存的标记信息与所述第三目标进程的标记信息相同。
28、为实现上述目的,本申请提供了一种内存分配装置,包括:
29、第一设置模块,用于在设置内存的标记信息之后,确定已分配内存的第一目标进程,根据所述第一目标进程的数据可靠性需求设置所述第一目标进程的标记信息;
30、判断模块,用于判断为所述第一目标进程分配的第一目标内存的标记信息与所述第一目标进程的标记信息是否相同;若否,则启动第一确定模块的工作流程;
31、第一确定模块,用于根据所述第一目标进程的标记信息确定对应的第二目标内存;其中,所述第二目标内存的标记信息与所述第一目标进程的标记信息相同;
32、第一迁移模块,用于将所述第一目标内存中的数据迁移至所述第二目标内存,并将所述第二目标内存分配至所述第一目标进程。
33、为实现上述目的,本申请提供了一种电子设备,包括:
34、存储器,用于存储计算机程序;
35、处理器,用于执行所述计算机程序时实现如上述内存分配方法的步骤。
36、为实现上述目的,本申请提供了一种非易失性存储介质,所述非易失性存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内存分配方法的步骤。
37、通过以上方案可知,本申请提供的一种内存分配方法,包括:在设置内存的标记信息之后,确定已分配内存的第一目标进程,根据所述第一目标进程的数据可靠性需求设置所述第一目标进程的标记信息;判断为所述第一目标进程分配的第一目标内存的标记信息与所述第一目标进程的标记信息是否相同;若否,则根据所述第一目标进程的标记信息确定对应的第二目标内存;其中,所述第二目标内存的标记信息与所述第一目标进程的标记信息相同;将所述第一目标内存中的数据迁移至所述第二目标内存,并将所述第二目标内存分配至所述第一目标进程。
38、本申请提供的内存分配方法,在设置内存的标记信息之后,对于已分配内存的第一目标进程,判断第一目标进程的标记信息与分配至第一目标进程的第一目标内存的标记信息是否相同,如果不同,则为第一目标进程重新分配标记信息相同的第二目标内存,并将第一目标内存中的数据迁移至第二目标内存,确保在设置内存的标记信息之前已分配内存的进程使用标记信息相同的内存,提高了已分配内存的进程的可靠性。本申请还公开了一种内存分配装置及一种电子设备和一种非易失性存储介质,同样能实现上述技术效果。
39、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
1.一种内存分配方法,其特征在于,包括:
2.根据权利要求1所述内存分配方法,其特征在于,还包括:
3.根据权利要求2所述内存分配方法,其特征在于,还包括:
4.根据权利要求3所述内存分配方法,其特征在于,根据所述第一目标进程的数据可靠性需求设置所述第一目标进程的标记信息,包括:
5.根据权利要求4所述内存分配方法,其特征在于,若所述第一目标进程非系统管理进程,则还包括:
6.根据权利要求1所述内存分配方法,其特征在于,将所述第一目标内存中的数据迁移至所述第二目标内存,并将所述第二目标内存分配至所述第一目标进程,包括:
7.根据权利要求1所述内存分配方法,其特征在于,还包括:
8.一种内存分配装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种非易失性存储介质,其特征在于,所述非易失性存储介质上存储有计算机程序,所述计算机程序被执行时实现如权利要求1至7任一项所述内存分配方法的步骤。