System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种内存数据的处理方法及计算设备技术_技高网

一种内存数据的处理方法及计算设备技术

技术编号:41223196 阅读:2 留言:0更新日期:2024-05-09 23:42
本申请实施例提供一种内存数据的处理方法及计算设备,涉及服务器领域,能够提高服务器运行的稳定性。该方法包括:CPU获取操作系统OS中的异常信息;该CPU在异常信息指示的异常为重启异常情况下,获取第一内存中的数据;其中,第一内存是OS在重启过程中被初始化的内存;CPU将第一内存中的数据写入第二内存;其中,第二内存是OS重启过程中不被初始化的内存。

【技术实现步骤摘要】

本申请实施例涉及服务器领域,尤其涉及一种内存数据的处理方法及计算设备


技术介绍

1、在对服务器的硬盘中的数据进行处理的过程中,该服务器中的处理器(centralprocessing unit,cpu)会先将待处理的目标数据从硬盘读取到内存中;然后,cpu对该内存中缓存的该目标数据进行处理;最后,cpu再将该处理后的目标数据持久化至硬盘中。由于易失性内存的读写效率高于非易失性内存,所以服务器中的内存一般为易失性内存。

2、然而,当易失性内存中的数据未持久化至硬盘中时,该服务器一旦发生异常重启,会使该易失性内存中缓存的数据丢失,严重时会导致该服务器无法正常启动,因此,降低了该服务器运行的稳定性。


技术实现思路

1、本申请实施例提供一种内存数据的处理方法及计算设备,用于提高服务器运行的稳定性。

2、为达到上述目的,本申请的实施例采用如下技术方案:

3、第一方面,本申请实施例提供了一种内存数据的处理方法,该方法包括:获取操作系统os中的异常信息;在异常信息指示的异常为重启异常情况下,获取第一内存中的数据;其中,该第一内存是os在重启过程中被初始化的内存;将第一内存中的数据写入第二内存;其中,该第二内存是os重启过程中不被初始化的内存。

4、本申请实施例提供了一种内存数据的处理方法,该方法中通过获取os中的异常信息,并在该异常信息所指示的异常为重启异常时,将易失性的第一内存中的数据写入第二内存中;由于第二内存是计算设备在重启过程中不会被初始化的内存,所以当该计算设备因重启异常而发生重启事件时,该第二内存中备份的数据也不会丢失,因此,提高了该服务器运行的稳定性。

5、一种可能的实现方式中,该第二内存中的存储区域为易失性内存中的第一存储区域;该第一内存中的存储区域是上述易失性内存中除第一存储区域以外的其他存储区域。

6、上述实施例中将易失性内存划分为第一内存和第二内存,该第二内存是被设置为在计算设备重启过程中不被初始化的内存,所以当os中发生重启异常时,将具体易失性的第一内存中的数据备份至第二内存,不会导致该备份数据的丢失,从而节约了该计算设备的成本。

7、一种可能的实现方式中,在从操作系统os中获取异常信息之前,该方法还包括:调用bios在易失性内存中设置第一内存和第二内存,并将第二内存标记为非初始化内存;其中,该非初始化内存为os重启过程中不被bios初始化的内存;该cpu调用bios将第二内存的标记发送至os,使得该os根据上述标记从易失性内存中确定第二内存。

8、上述实施例通过调用bios将计算设备中的易失性内存划分为第一内存和第二内存,并将第二内存标记为非初始化内存,以使bios在计算设备的启动过程中不对易失性内存中的第二内存进行初始化操作,从而保证了第二内存中的数据不会被初始化掉,因此,当该计算设备发生重启异常时,将具有易失性的第一内存中的数据备份至第二内存后,该第二内存中的备份数据不会丢失,因此,提高了该计算设备的稳定性。

9、一种可能的实现方式中,该方法还包括:调用os将上述第二内存的存储区域的状态设置为目标状态;其中,该目标状态用于指示在os未发生重启异常的情况下,将数据写入所述第一内存。

10、此外,os在易失性内存中确定上述第二内存后,将该第二内存的存储区域的状态设置为目标状态,以使在os中不存在重启异常的情况下,不能将待写入第一内存的数据写入第二内存中,从而解决了写数据时的内存越界问题,保证了第一内存中缓存的数据的完整性。

11、一种可能的实现方式中,在上述os中获取异常信息之前,该方法包括:

12、获取上述计算设备的目标功能的状态,该目标功能的状态包括:开启状态和关闭状态;

13、在该目标功能的状态为开启状态的情况下,从os中获取上述异常信息。

14、上述实施例通过获取计算设备的目标功能的状态,当目标功能的状态为关闭状态时,执行结束动作,以结束当前方法;当目标功能的状态为开启状态时,执行本申请实施例提供的内存数据的处理方法;从而提高了执行本申请实施例提供的内存数据的处理方法的灵活性。

15、此外,在目标功能的状态为开启状态的情况下,通过获取os中的异常信息,并在该异常信息所指示的异常为重启异常时,将易失性的第一内存中的数据写入第二内存中;由于第二内存是计算设备在重启过程中不会被初始化的内存,所以当该计算设备因重启异常而发生重启事件时,该第二内存中备份的数据也不会丢失,因此,提高了该服务器的稳定性。

16、一种可能的实现方式中,在上述目标功能的开启状态为开启状态的情况下,该方法还包括:将os的内核日志写入第二内存中;其中,该内核日志用于解析重启异常。

17、上述实施例在计算设备的目标功能处于开启状态时,将os的内核日志缓存在第二内存中,以使该计算设备发生异常重启时,仅需将第一内存中的缓存数据、文件系统日志及进程信息备份至第二内存即可,从而提高了数据的备份效率。

18、一种可能的实现方式中,在上述将第一内存中的数据写入第二内存之后,该方法还包括:

19、获取上述第二内存中的数据;将第二内存中的数据存储到硬盘中;初始化第二内存中的数据。

20、一种可能的实现方式中,上述第一内存中的数据包括:缓存数据、文件系统日志和进程信息;其中,该文件系统日志中包括缓存数据的操作记录;进程信息用于解析重启异常。

21、一种可能的实现方式中,获取操作系统os中的异常信息,包括:基于钩子函数获取上述os中的异常信息。

22、第二方面,本申请实施例一种内存数据的处理装置,该内存数据的装置包括:收发单元和存储单元;收发单元用于获取操作系统os中的异常信息;并在异常信息指示的异常为重启异常情况下,获取第一内存中的数据;其中,第一内存是os在重启过程中被初始化的内存;存储单元用于将第一内存中的数据写入第二内存;其中,第二内存是os重启过程中不被初始化的内存。

23、一种可能的实现方式中,第二内存中的存储区域为易失性内存中的第一存储区域;第一内存中的存储区域是易失性内存中除第一存储区域以外的其他存储区域。

24、一种可能的实现方式中,上述处理装置还包括:处理单元;处理单元用于调用bios在易失性内存中设置第一内存和第二内存,并将第二内存标记为非初始化内存;其中,非初始化内存为os重启过程中不被bios初始化的内存;收发单元还用于调用bios将第二内存的标记发送至os,使得os根据标记从易失性内存中确定第二内存。

25、一种可能的实现方式中,处理单元用于调用os将第二内存的存储区域的状态设置为目标状态;其中,目标状态用于指示在os未发生重启异常的情况下,将数据写入所述第一内存。

26、一种可能的实现方式中,收发单元用于获取计算设备的目标功能的状态,目标功能的状态包括:开启状态和关闭状态;收发单元还用于在目标功能的状态为开启状态本文档来自技高网...

【技术保护点】

1.一种内存数据的处理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求2所述的方法,其特征在于,在所述获取操作系统OS中的异常信息之前,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1-4任一项所述的方法,其特征在于,在获取操作系统OS中的异常信息之前,所述方法包括:

6.根据权利要求5所述的方法,其特征在于,在所述目标功能的状态为开启状态的情况下,所述方法还包括:

7.根据权利要求1-6任一项所述的方法,其特征在于,在所述将所述第一内存中的数据写入第二内存之后,所述方法还包括:

8.根据权利要求1-7任一项所述的方法,其特征在于,

9.根据权利要求1-8任一项所述的方法,其特征在于,所述获取操作系统OS中的异常信息,包括:

10.一种计算设备,其特征在于,包括存储器和处理器;

【技术特征摘要】

1.一种内存数据的处理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求2所述的方法,其特征在于,在所述获取操作系统os中的异常信息之前,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1-4任一项所述的方法,其特征在于,在获取操作系统os中的异常信息之前,所述方法包括:

6.根据权利要求5所...

【专利技术属性】
技术研发人员:王有康吴江涛
申请(专利权)人:超聚变数字技术有限公司
类型:发明
国别省市:

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

1