一种基于MMKV文件格式的数据恢复方法和系统技术方案

技术编号:32132300 阅读:29 留言:0更新日期:2022-01-29 19:34
本发明专利技术给出了一种基于MMKV文件格式的数据恢复方法和系统,包括遍历MMKV文件,获取所有的Key和Value键值对数据;将键值对数据写入创建的vector容器,响应于获取到具有相同key值的value,将其置于vector容器的末尾;遍历vector容器,获取待恢复数据key值对应的第一vector容器,响应于第一vector容器的大小大于1,将第一vector容器除末尾数据之外的数据作为删除恢复数据进行恢复展示。本发明专利技术在深度挖掘包含MMKV文件的手机app应用数据方面效果显著,实用性强,具有较高应用价值。具有较高应用价值。具有较高应用价值。

【技术实现步骤摘要】
一种基于MMKV文件格式的数据恢复方法和系统


[0001]本专利技术涉及数据处理的
,尤其是一种基于MMKV文件格式的数据恢复方法和系统。

技术介绍

[0002]MMKV是一种开源的基于mmap内存映射的key

value组件,底层序列化/反序列化使用protobuf实现,性能高,稳定性强。从2015年中至今在微信上使用,其性能和稳定性经过了时间的验证。一般来说MMKV的删除数据是被认为难以恢复的,因为其删除接口,会将key和value值整个在文件中删除,并插入空值进文件中,且不会留有任何日志相关的操作记录。由于这一特性,关于MMKV的数据恢复在业内比较空白,暂时没有一个好的数据恢复方法。
[0003]目前MMKV广泛应用在App开发中,例如一些用户信息、搜索记录等,常见的目录结构,例如Android在数据包的file\mmkv中,或者IOS数据包的Document\file\mmkv中。而对于MMKV的数据恢复,目前业内并不完善,暂未出现可以对MMKV数据恢复的相关产品。这就会导致一些App如果用户信息只保存本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于MMKV文件格式的数据恢复方法,其特征在于,包括:S1:遍历MMKV文件,获取所有的Key和Value键值对数据;S2:将所述键值对数据写入创建的vector容器,响应于获取到具有相同key值的value,将其置于所述vector容器的末尾;以及S3:遍历所述vector容器,获取待恢复数据key值对应的第一vector容器,响应于所述第一vector容器的大小大于1,将所述第一vector容器除末尾数据之外的数据作为删除恢复数据进行恢复展示。2.根据权利要求1所述的基于MMKV文件格式的数据恢复方法,其特征在于,一个所述Key对应多个Value,增量kv对象序列化后增补到内存末尾。3.根据权利要求1所述的基于MMKV文件格式的数据恢复方法,其特征在于,所述MMKV文件结构包括Key长度、Key值、Value长度和Value值。4.根据权利要求1所述的基于MMKV文件格式的数据恢复方法,其特征在于,所述创建的vector容器为map中嵌套vector的容器。5.根据权利要求1所述的基于MMKV文件格式的数据恢复方法,其特征在于,所述步骤S2具体包括:S21:创建map嵌套vector的容器;S22:读取文件头,获取文件长度和第一个Key长度,获取Key值和Value值;S23:响应于所述Key值在容器中存在,将Value值push_back到vector容器中的末尾;响应于所述Key值在容器中不存在,将Value值作为首个容器。6.根据权利要求1所述的基于MMKV文件格式的数据恢复方法,其特征在于,所述第一vector容器的末尾数据为当前数据,除所述末尾数据之外的数据为删除恢复数据。7.一种计算机可读存储介质,其上存储有一或多...

【专利技术属性】
技术研发人员:邓铭杜新胜吴松洋张晓剑邱宗炽
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:

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

1