【技术实现步骤摘要】
本专利技术属于数据处理
,尤其涉及一种数据恢复的方法、装置及Android设备。
技术介绍
自2011年以来,国内外手机市场以安卓Android手机占有率最高。Android系统中,数据存储都是采用SQLite数据库。大多数的传统方法采用直接调用Android框架层的应用程序编程接口(Application Programming Interface,API)来提取Android设备中存储的信息,该方法简便易操作,但不能恢复Android设备中已删除的数据。而现有方法,可以恢复误操作或故意删除的数据信息,但各有其优缺点。例如,芯片拆除恢复法,恢复率最高,但要求技术高、实现难度大;暴力估算法,可很好地恢复已删除的数据,但只可对整个存储单元整体解析后恢复提取,当删除数据之前所在页面部分或者完全被新写入的数据覆盖时,无法恢复已删除的数据。
技术实现思路
本专利技术实施例提供了一种数据恢复的方法、装置及Android设备,旨在解决现有技术提供的数据恢复的方法,实现难度大,或者当删除数据之前所在页面部分或者完全被新写入的数据覆盖时,无法恢复已删除的数据的问题。一方面,提供一种数据恢复的方法,所述方法包括:判断是否满足预设的检查点条件,所述的检查点条件在预写日志WAL文件满足清空条件之前;如果预设的检查点条件成立,则判断第一数据库是否有删除记录,如果是,
则根据所述WAL文件恢复已删除的记录至第二数据库的表中;在确定需要数据恢复时候,根据所述的第二数据库恢复数据至第一数据库中。进一步地,在所述的步骤在确定需要数据恢复时候,根据所述的第二数据库恢复数 ...
【技术保护点】
一种数据恢复的方法,其特征在于,所述方法包括:判断是否满足预设的检查点条件,所述的检查点条件包括在预写日志WAL文件满足清空条件之前;如果预设的检查点条件成立,则判断第一数据库是否有删除记录,如果是,则根据所述WAL文件恢复已删除的记录至第二数据库的表中;在确定需要数据恢复时候,根据所述的第二数据库恢复数据至第一数据库中。
【技术特征摘要】
1.一种数据恢复的方法,其特征在于,所述方法包括:判断是否满足预设的检查点条件,所述的检查点条件包括在预写日志WAL文件满足清空条件之前;如果预设的检查点条件成立,则判断第一数据库是否有删除记录,如果是,则根据所述WAL文件恢复已删除的记录至第二数据库的表中;在确定需要数据恢复时候,根据所述的第二数据库恢复数据至第一数据库中。2.如权利要求1所述的数据恢复方法,其特征在于,所述方法还包括:在所述的步骤在确定需要数据恢复时候,根据所述的第二数据库恢复数据至第一数据库的表中之前还包括:如果预设的检查点条件成立,则判断第一数据库是否有修改记录,如果是,则根据所述WAL文件恢复已修改的记录至第二数据库的表中。3.如权利要求1所述的方法,其特征在于,所述判断第一数据库是否有删除记录,包括:获取第一数据库变化前的B+tree叶子页键值对列表大小;监听第一数据库中的数据是否发生变化;当监听到第一数据库中的数据发生变化时,获取第一数据库变化后的B+tree叶子页键值对列表大小;将第一数据库变化前后获取到的B+tree叶子页键值对列表大小进行比较,如果第一数据库变化后的B+tree叶子页键值对列表大小小于第一数据库变化前的B+tree叶子页键值对列表大小,则判定第一数据库有删除记录。4.如权利要求3所述的方法,其特征在于,所述监听第一数据库中的数据是否发生变化,包括:通过函数ContentResolver.registerContentObserver()注册需要监听的第一数
\t据库;当监听到回调函数onChange()被执行时,判定所监听的第一数据库中的数据发生变化。5.如权利要求3所述的方法,其特征在于,所述获取第一数据库变化前后的B+tree叶子页键值对列表大小,包括:获取第一数据库文件,所述第一数据库文件是所述第一数据库的表对应的数据库文件;获取所述第一数据库文件中的系统表;根据第一数据库表的表名在所述系统表中查询,得到第一数据库表的根页编号;根据所述根页编号定位到相应的根页后,分析Btree中所有的页节点,根据页头中的页类型标志查找到第一数据库表的B+tree叶子页;获取所述B+tree叶子页的键值对列表大小。6.如权利要求5所述的方法,其特征在于,所述获取所述B+tree叶子页的键值对列表大小,包括:创建一个指向所述B+tree叶子页的游标;获取所述游标从第一条记录移动到最后一条记录所迭代的次数,将所述迭代的次数作为所述B+tree叶子页的键值对列表大小。7.如权利要求5所述的方法,其特征在于,所述系统表中包括第一数据库表的表名和建立所述第一数据库表的语句,所述根据所述WAL文件恢复已删除的记录至第二数据库的表中,包括:根据所述第一数据库表的表名、所述建立所述第一数据库表的语句以及所述WAL日志文件,构建第二数据库文件,所述第二数据库文件是所述第二数据库的表对应的数据库文件;对比第一数据库文件和所述第二数据库文件,根据所述第二数据库文件找到第一数据库文件中已删除的记录,并将所述第二数据库表中在第一数据库文
\t件中存储在记录删除。8.一种数据恢复的装置,其特征在于,所述装置包括:第一判断单元,用于判断是否满足预设的检查点条件,所述的检查点条件在预...
【专利技术属性】
技术研发人员:孙向作,
申请(专利权)人:TCL集团股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。