[发明专利]一种程序故障重启后恢复内存数据的方法和系统在审
申请号: | 201910887746.1 | 申请日: | 2019-09-19 |
公开(公告)号: | CN110659083A | 公开(公告)日: | 2020-01-07 |
发明(设计)人: | 张一罡 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 11227 北京集佳知识产权代理有限公司 | 代理人: | 刘新雷 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 关键变量 持久化 磁盘 重启 读取 内存数据 重要数据 内存 写入 程序故障 恢复能力 数据丢失 用户体验 预定程序 自动恢复 健壮性 创建 监控 恢复 | ||
本发明公开了一种程序故障重启后恢复内存数据的方法和系统,其中方法包括步骤1,创建关键变量,关键变量用于保用户的重要数据;步骤2,监控关键变量,并判断关键变量的值是否发生改变;若是,步骤3,获取关键变量,并将关键变量写入磁盘的持久化文件;步骤4,判断预定程序是否重启;步骤5,从磁盘的持久化文件中读取关键变量至内存。通过创建关键变量保用户的重要数据,在关键变量的值发生改变后,将关键变量写入磁盘的持久化文件中,在程序重启后,将位于磁盘的持久化文件中的关键变量读取至内存中,实现内存数据的自动恢复,避免了数据丢失,提高了用户体验,增强了程序的健壮性和恢复能力。
技术领域
本发明涉及数据恢复技术领域,特别是涉及一种程序故障重启后恢复内存数据的方法和系统。
背景技术
随着计算机技术的不断发展,其所涉及的领域几乎涵盖了人们生活的所有方面。在享受其方便的同时,一个不得不注意的事情,就是数据保存的问题,数据不能丢失,如果数据丢失造成个人信息的泄露,将给用户带来不可承受的损失,尤其是云计算大规模应用的今天,数据丢失就意味着生活不能正常进行。
而当一个程序加载时,计算机会将程序的指令从ROM复制到RAM,程序运行时,又将指令从RAM复制到CPU。一个复杂的程序在运行过程中,难免会出现数据错误,而一些关键数据一旦出错,就会触发严重问题,导致程序崩溃。程序崩溃后,存储在RAM中的数据就会丢失,重启程序后,一些关键数据也无法恢复。
这对于一些保存有重要数据的程序而言是十分致命的。尤其是一些系统程序,比如存储系统,为了提供持续性的服务,会将用户配置的一些数据信息存放到内存的数据结构中。而当一些严重的数据错误发生时,为了不造成更严重的后果,程序会选择重启来重置系统。当系统重新载入内存后,所有数据结构处于初始化状态,这就会造成用户的配置丢失,给用户带来不良的体验。
因此,一个稳定可靠的程序必须具有恢复核心内存数据的能力,这样才能在故障重启,掉电重启等意外发生后,也能保存原有数据,继续正常提供服务。
发明内容
本发明的目的是提供了一种程序故障重启后恢复内存数据的方法和系统,实现了内存在故障重启后数据不丢失的效果,提高了系统的运行可靠性。
为解决上述技术问题,本发明实施例提供了一种程序故障重启后恢复内存数据的方法,包括:
步骤1,创建关键变量,所述关键变量用于保用户的重要数据;
步骤2,监控所述关键变量,并判断所述关键变量的值是否发生改变;
若是,步骤3,获取所述关键变量,并将所述关键变量写入磁盘的持久化文件;
步骤4,判断预定程序是否重启;
步骤5,从所述磁盘的持久化文件中读取所述关键变量至内存。
其中,所述步骤1包括:
使用typedef自定义变量的结构体创建所述关键变量。
其中,所述步骤2包括:
创建条件变量和互斥锁,并对所述关键变量进行监控。
其中,所述步骤3包括:
注册回调函数;
所述关键变量的值发生改变后,执行所述回调函数;
获取所述关键变量的值,并使用cJson库将所述关键变量的变量值转化成JSON文本格式的变量值;
使用fopen函数打开位于磁盘的持久化文件,使用fputs函数将所述JSON文本格式的变量值写入所述持久化文件。
其中,所述步骤5还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910887746.1/2.html,转载请声明来源钻瓜专利网。