[发明专利]内存快照的生成方法、装置、电子设备及存储介质在审
申请号: | 201910807113.5 | 申请日: | 2019-08-28 |
公开(公告)号: | CN110515774A | 公开(公告)日: | 2019-11-29 |
发明(设计)人: | 王源;廖洪流;任洪宝 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F16/174 |
代理公司: | 11313 北京市铸成律师事务所 | 代理人: | 阎敏;杨瑾瑾<国际申请>=<国际公布>= |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 快照文件 内存快照 增量文件 子进程 压缩 合并 存储技术领域 内存使用量 系统可用性 操作指令 存储介质 电子设备 快照生成 系统启动 触发 记录 内存 申请 发送 创建 | ||
1.一种内存快照的生成方法,其特征在于,包括:
系统启动时,创建第一子进程;
在内存快照生成过程被触发的情况下,向所述第一子进程发送合并压缩任务,所述合并压缩任务包含第一快照文件的文件名及增量文件的文件名;其中,所述第一快照文件用于记录第一快照文件生成时刻的内存快照,所述增量文件用于记录从所述第一快照文件生成时刻至当前时刻的操作指令;
接收所述合并压缩任务的执行结果。
2.根据权利要求1所述的方法,其特征在于,所述第一快照文件为Redis数据库文件,所述增量文件为进行追加操作的文件。
3.根据权利要求1或2所述的方法,其特征在于,在所述内存快照生成过程被触发的情况下,还包括:
记录所述增量文件的文件名与内存快照信息的第一映射关系,并记录所述增量文件的文件名;所述内存快照信息包括所述内存快照生成过程被触发的相关信息。
4.根据权利要求3所述的方法,其特征在于,所述接收合并压缩任务的执行结果之后,还包括:
根据所述执行结果对应的增量文件的文件名查找所述第一映射关系,得到所述增量文件的文件名对应的内存快照信息;
根据所述内存快照信息执行对应操作。
5.根据权利要求1或2所述的方法,其特征在于,所述内存快照生成过程被触发的条件包括以下至少一项:
接收到来自外部的触发指令;
从节点在进行主从同步时触发;
所述增量文件的数据量达到预定大小。
6.根据权利要求1或2所述的方法,其特征在于,所述合并压缩任务还包含主从复制信息。
7.根据权利要求1或2所述的方法,其特征在于,还包括:
在所述执行结果为正确压缩的情况下,删除所述增量文件,生成新的增量文件,所述新的增量文件用于记录所述当前时刻以后的操作指令。
8.一种内存快照的生成方法,其特征在于,包括:
第一子进程接收合并压缩任务,所述合并压缩任务包含第一快照文件的文件名及增量文件的文件名;其中,所述第一子进程在系统启动时被创建;所述第一快照文件用于记录第一快照文件生成时刻的内存快照,所述增量文件用于记录从所述第一快照文件生成时刻至当前时刻的操作指令;
执行所述合并压缩任务,对所述第一快照文件及增量文件进行合并压缩,得到用于记录当前时刻的内存快照的第二快照文件;
发送所述合并压缩任务的执行结果。
9.根据权利要求8所述的方法,其特征在于,所述第一快照文件或第二快照文件为Redis数据库文件,所述增量文件为进行追加操作的文件。
10.根据权利要求8或9所述的方法,其特征在于,所述执行所述合并压缩任务,包括:
加载所述增量文件中记录的操作指令,并将所述操作指令以键值对中的键为维度按序存储;
读取所述快照文件中的键值对;
针对每个键值对,执行所述键值对中的键对应的操作指令,得到所述键的最新数据状态,根据所述最新数据状态更新所述键值对,并在内存中删除所述键值对;
将更新后的键值对保存入所述第二快照文件。
11.根据权利要求10所述的方法,其特征在于,所述执行所述合并压缩任务,还包括:
执行所述增量文件中剩余的操作指令,将执行结果保存入所述第二快照文件。
12.根据权利要求10所述的方法,其特征在于,所述执行所述合并压缩任务,还包括:
在所述键值对中的键没有对应的操作指令的情况下,将所述键值对保存入所述第二快照文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910807113.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:配置文件的更新方法及装置、系统
- 下一篇:一种缓存备份方法及集群存储系统