[发明专利]一种APP版本更新时数据库降级的用户数据保护方法有效

专利信息
申请号: 201710343960.1 申请日: 2017-05-16
公开(公告)号: CN107220315B 公开(公告)日: 2020-08-25
发明(设计)人: 王旭东 申请(专利权)人: 北京酷我科技有限公司
主分类号: G06F16/23 分类号: G06F16/23;G06F16/25;G06F8/65
代理公司: 北京国标律师事务所 11753 代理人: 姚克枫
地址: 100080 北京市海淀区农大*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 app 版本 更新 数据库 降级 用户 数据 保护 方法
【说明书】:

发明涉及一种APP版本更新时数据库降级的用户数据保护方法,包括如下步骤:步骤1,获取当前已安装好的数据库名及数据库版本号;步骤2,获取将要安装的数据库名及数据库版本号;步骤3,判断当前已安装好的数据库名和将要安装的数据库名是否相同;相同,则转步骤4;步骤4,判断当前已安装好的数据库版本号和将要安装的数据库版本号的异同;或不对数据库进行更新操作,或数据库升级,或数据库降级;数据库的表,表的命名规则为:前缀_表名_后缀,其中后缀等于数据库版本号。本发明,应用简单,可有效保护用户数据,避免因为数据库降级导致的用户数据丢失问题。

技术领域

本发明涉及用户数据保护技术领域,具体说是一种APP版本更新时数据库降级的用户数据保护方法。

背景技术

在Android系统中,内置有轻量级数据库SQLite,SQLite甚至不需要安装和启动服务进程,它只是一个后缀为.db的数据库文件,但它支持SQL语句。

关于SQLite的使用需要一个SQLiteDataBase类,该类底层就是一个数据库文件,一个该类代表一个数据库,对数据库的操作也要通过SQLiteDataBase类。SQLiteDatabase类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作。

SQLiteOpenHelper类是一个用来辅助管理数据库创建和版本升级问题的抽象类。我们可以继承这个抽象类,实现它的一些方法来对数据库进行自定义操作。下面两个方法必须重写:

public void onCreate(SQLiteDatabase db)

public void onUpgrade(SQLiteDatabase db, int oldVersion, intnewVersion)

onCreate:调用时机是用户首次安装应用后启动,或是清除App数据库文件后启动。这时可以在这个函数中完成初始的数据表的创建。

onUpgrade:调用时机是用户在做应用更新,覆盖安装后启动,如果新版本中数据库版本号要比旧版本中的数据库版本号高则会调用。这时可以在这个函数中完成数据库版本升级带来的旧版本的兼容问题,以及数据迁移问题。

用SQLiteOpenHelper类中的getWritableDatabase()和getReadableDatabase()方法可以获得数据库的引用。

还有一个一般情况下不需要重写,但在应用出现逆向降级(如应用由版本号4降级安装版本号为3的包)时必须重写的方法onDowngrade,如果应用降级覆盖安装时没有重写该方法则会崩溃。

另外SQLiteOpenHelper子类在构造实例时必须指定当前数据库的名称(name)、版本号(version)。而这里名称就决定了数据库存储时的文件名称,而这里的版本号与App在AndroidMainfest.xml定义的versionCode没有绝对关联。也就是在App更新时如果数据库的数据结构没有发生变化那么数据库的版本号则不用增加。

数据库在做升级时我们能明确地知道当前我们要对各旧表进行什么样的操作来兼容新版本。但如果在数据库降级时,情况就不一样了。例如:

开发版本2(相对于版本1这是一个新版本)时,我们不能明确地知道以后的新版本(比如版本3、版本4)的数据库结构走向是怎样的。这时,当用户从版本3回退到版本2,由于版本2在开发当时不能预知版本3的表结构,不知道版本3的数据表能否兼容到版本2(假如版本3升级时删除了一个版本2一直在用的表字段,这时回退数据结构可能就不兼容了)。

因此,降级操作很可能导致用户数据的丢失,而这可能给用户带来不可弥补的损失,该问题显然需要加以解决,以避免影响用户的体验及用户数据的安全。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京酷我科技有限公司,未经北京酷我科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710343960.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top