[发明专利]一种基于MMKV文件格式的数据恢复方法和系统有效
申请号: | 202111294677.7 | 申请日: | 2021-11-03 |
公开(公告)号: | CN113986617B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 邓铭;杜新胜;吴松洋;张晓剑;邱宗炽 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 厦门福贝知识产权代理事务所(普通合伙) 35235 | 代理人: | 郭涵炜 |
地址: | 361000 福建省厦门市思明*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mmkv 文件格式 数据 恢复 方法 系统 | ||
本发明给出了一种基于MMKV文件格式的数据恢复方法和系统,包括遍历MMKV文件,获取所有的Key和Value键值对数据;将键值对数据写入创建的vector容器,响应于获取到具有相同key值的value,将其置于vector容器的末尾;遍历vector容器,获取待恢复数据key值对应的第一vector容器,响应于第一vector容器的大小大于1,将第一vector容器除末尾数据之外的数据作为删除恢复数据进行恢复展示。本发明在深度挖掘包含MMKV文件的手机app应用数据方面效果显著,实用性强,具有较高应用价值。
技术领域
本发明涉及数据处理的技术领域,尤其是一种基于MMKV文件格式的数据恢复方法和系统。
背景技术
MMKV是一种开源的基于mmap内存映射的key-value组件,底层序列化/反序列化使用protobuf实现,性能高,稳定性强。从2015年中至今在微信上使用,其性能和稳定性经过了时间的验证。一般来说MMKV的删除数据是被认为难以恢复的,因为其删除接口,会将key和value值整个在文件中删除,并插入空值进文件中,且不会留有任何日志相关的操作记录。由于这一特性,关于MMKV的数据恢复在业内比较空白,暂时没有一个好的数据恢复方法。
目前MMKV广泛应用在App开发中,例如一些用户信息、搜索记录等,常见的目录结构,例如Android在数据包的file\mmkv中,或者IOS数据包的Document\file\mmkv中。而对于MMKV的数据恢复,目前业内并不完善,暂未出现可以对MMKV数据恢复的相关产品。这就会导致一些App如果用户信息只保存在MMKV中,就只能获取到当前用户的用户信息,而无法获取到之前登录的用户信息。
发明内容
为了解决现有技术中的对于MMKV的数据恢复困难的技术问题,本发明提出了一种基于MMKV文件格式的数据恢复方法和系统,以解决上述技术问题。
根据本发明的一个方面,提出了一种基于MMKV文件格式的数据恢复方法,包括:
S1:遍历MMKV文件,获取所有的Key和Value键值对数据;
S2:将键值对数据写入创建的vector容器,响应于获取到具有相同key值的value,将其置于vector容器的末尾;以及
S3:遍历vector容器,获取待恢复数据key值对应的第一vector容器,响应于第一vector容器的大小大于1,将第一vector容器除末尾数据之外的数据作为删除恢复数据进行恢复展示。
在一些具体的实施例中,一个Key对应多个Value,增量kv对象序列化后增补到内存末尾。凭借该设置在程序启动第一次打开mmkv时,不断用后读入的value替换之前的值,就可以保证数据是最新有效的。
在一些具体的实施例中,MMKV文件结构包括Key长度、Key值、Value长度和Value值。
在一些具体的实施例中,创建的vector容器为map中嵌套vector的容器。
在一些具体的实施例中,步骤S2具体包括:
S21:创建map嵌套vector的容器;
S22:读取文件头,获取文件长度和第一个Key长度,获取Key值和Value值;
S23:响应于Key值在容器中存在,9将Value值push_back到vector容器中的末尾;响应于Key值在容器中不存在,将Value值作为首个容器。
在一些具体的实施例中,第一vector容器的末尾数据为当前数据,除末尾数据之外的数据为删除恢复数据。
根据本发明的第二方面,提出了一种计算机可读存储介质,其上存储有一或多个计算机程序,该一或多个计算机程序被计算机处理器执行时实施上述任一项的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111294677.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置