[发明专利]一种程序故障重启后恢复内存数据的方法和系统在审
申请号: | 201910887746.1 | 申请日: | 2019-09-19 |
公开(公告)号: | CN110659083A | 公开(公告)日: | 2020-01-07 |
发明(设计)人: | 张一罡 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 11227 北京集佳知识产权代理有限公司 | 代理人: | 刘新雷 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 关键变量 持久化 磁盘 重启 读取 内存数据 重要数据 内存 写入 程序故障 恢复能力 数据丢失 用户体验 预定程序 自动恢复 健壮性 创建 监控 恢复 | ||
1.一种程序故障重启后恢复内存数据的方法,其特征在于,包括:
步骤1,创建关键变量,所述关键变量用于保用户的重要数据;
步骤2,监控所述关键变量,并判断所述关键变量的值是否发生改变;
若是,步骤3,获取所述关键变量,并将所述关键变量写入磁盘的持久化文件;
步骤4,判断预定程序是否重启;
步骤5,从所述磁盘的持久化文件中读取所述关键变量至内存。
2.如权利要求1所述程序故障重启后恢复内存数据的方法,其特征在于,所述步骤1包括:
使用typedef自定义变量的结构体创建所述关键变量。
3.如权利要求2所述程序故障重启后恢复内存数据的方法,其特征在于,所述步骤2包括:
创建条件变量和互斥锁,并对所述关键变量进行监控。
4.如权利要求3所述程序故障重启后恢复内存数据的方法,其特征在于,所述步骤3包括:
注册回调函数;
所述关键变量的值发生改变后,执行所述回调函数;
获取所述关键变量的值,并使用cJson库将所述关键变量的变量值转化成JSON文本格式的变量值;
使用fopen函数打开位于磁盘的持久化文件,使用fputs函数将所述JSON文本格式的变量值写入所述持久化文件。
5.如权利要求4所述程序故障重启后恢复内存数据的方法,其特征在于,所述步骤5还包括:
使用fopen函数打开所述持久化文件,使用fgets函数将所述JSON文本格式的变量值从所述持久化文件中读出至内存;
使用cJson库对所述JSON文本格式的变量值在所述内存的临时缓冲区解析并获得解析结果;
将位于所述缓冲区的所述解析结果的变量数据按照保存时的次序写入当前的所述关键变量中,使得当前的所述关键变量与所述程序重启之前的所述关键变量保持一致。
6.如权利要求5所述程序故障重启后恢复内存数据的方法,其特征在于,在所述步骤5之后,还包括:
步骤6,判断是否全部将所述持久化文件中的所述关键变量读取至内存;
若是,步骤7,判定全部数据恢复正常。
7.一种程序故障重启后恢复内存数据的系统,其特征在于,包括:
关键变量创建模块,用于创建关键变量,所述关键变量用于保用户的重要数据;
监控模块,与所述关键变量创建模块连接,用于监控所述关键变量,并判断所述关键变量的值是否发生改变,并在所述关键变量的值发生改变之后,输出触发信号;
数据转移模块,与所述监控模块连接,用于在接收到所述触发信号后,获取所述关键变量,并将所述关键变量写入磁盘的持久化文件;
内存回写模块,与所述数据转移模块连接,在预定程序重启后,从所述磁盘的持久化文件中读取所述关键变量至内存,实现数据恢复。
8.如权利要求7所述程序故障重启后恢复内存数据的系统,其特征在于,所述监控模块包括条件变量创建单元和互斥锁创建单元,通过所述变量创建单元创建的条件变量以及所述互斥锁创建单元创建的互斥锁对所述关键变量进行监控,所述变量创建单元在所述关键变量的值发生改变之后,输出触发信号。
9.如权利要求8所述程序故障重启后恢复内存数据的系统,其特征在于,还包括与所述数据转移模块连接的格式转换单元,所述格式转换单元在所述数据转移模块将所述关键变量写入磁盘的持久化文件的过程中将所述关键变量转换为预定的格式。
10.如权利要求9所述程序故障重启后恢复内存数据的系统,其特征在于,还包括与所述内存回写模块连接的解析单元、数据恢复提示单元,所述解析单元在所述内存回写模块从所述磁盘的持久化文件中读取所述关键变量至内存的过程中将所述关键变量解析为预定的格式,所述数据恢复提示单元检测所述解析单元实现数据恢复的过程,并在所述解析单元将所述持久化文件中所有的关键变量解析到所述内存后输出数据恢复提示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910887746.1/1.html,转载请声明来源钻瓜专利网。