CN107220345A - 一种App使用的数据库中用户数据保护方法 - Google Patents
一种App使用的数据库中用户数据保护方法 Download PDFInfo
- Publication number
- CN107220345A CN107220345A CN201710388434.7A CN201710388434A CN107220345A CN 107220345 A CN107220345 A CN 107220345A CN 201710388434 A CN201710388434 A CN 201710388434A CN 107220345 A CN107220345 A CN 107220345A
- Authority
- CN
- China
- Prior art keywords
- database
- app
- version number
- user data
- update
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2329—Optimistic concurrency control using versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种App使用的数据库中用户数据保护方法,包括如下步骤:步骤1,获取当前已安装好的数据库名及数据库版本号;步骤2,获取将要安装或更新到的数据库名及数据库版本号;步骤3,判断数据库名是否相同;相同则转步骤4;步骤4,判断数据库版本号的异同情况;相等则不对数据库进行操作,转相应的后续处理;小于则对数据库进行升级操作,然后转相应的后续处理;大于则转步骤5;步骤5,对数据库进行保护处理,避免数据库非预期降级,提示用户App需要重新启动。本发明,应用简单,可有效保护用户数据,避免因为数据库非预期降级导致的用户数据丢失问题,确保用户数据的安全性、完整性。
Description
技术领域
本发明涉及用户数据保护技术领域,具体说是一种App使用的数据库中用户数据保护方法。
背景技术
在现有的软件研发设计中(例如Android系统的软件研发设计中),每个App的开发、维护都是一个繁重而复杂的工作,大多需要一个研发团队通过分工合作对App进行开发、维护。
在分工合作的过程中,研发团队的工作方式大致如下:
第一步,先选定一个版本作为开发维护的基础版本;
例如:假设将使用以下数据库的App作为基础版本,
DATABASE_NAME = "KWmusic.db";此为数据库名称;
DATABASE_VERSION = 8;此为数据库版本号;
第二步,每个开发人员都在这个基础版本之上进行相应的开发、维护,形成若干新的开发版本;
所述新的开发版本或可能由于升级了数据库,导致数据库版本号更新;
例如:增加了新的功能,数据库信息更新为:
DATABASE_NAME = "KWmusic.db";
DATABASE_VERSION = 9;
数据库版本号每个开发人员都可以自行设定;
第三步,开发人员将新的开发版本发布到某App发布平台,进行A/B测试;
App发布平台很多,诸如腾讯应用宝,木蚂蚁市场,木蚂蚁市场,等等;
第四步,App发布平台帮用户自动更新该新的开发版本,收集测试信息。
自动更新是各App发布平台的可选功能之一,通常是指在WIFI可用的情况下,自动升级App。
在自动更新时可能会遇到以下问题:
开发人员A先向某App发布平台发布了新的开发版本A,其中,数据库信息更新为:
DATABASE_NAME = "KWmusic.db";
DATABASE_VERSION = 9;
App发布平台对此进行了记录,并帮用户自动更新该新的开发版本A;
更新前,用户使用App时,对应的数据库版本号低于9,
更新后,用户使用App时,对应的数据库被升级到9,存储在数据库中的用户数据可以正常使用;
这之后,开发人员B也向该某App发布平台发布了新的开发版本B,其中,数据库信息更新为:
DATABASE_NAME = "KWmusic.db";
DATABASE_VERSION = 8;
App发布平台同样对此进行了记录,并帮用户自动更新该新的开发版本B;
新的开发版本B的更新操作,将导致数据库意外被降级(因为之前新的开发版本A已经将数据库的版本号更新为9了),这种数据库非预期降级的后果非常严重,将导致用户数据全部丢失且无法找回。
虽然开发人员B应该在发布新版App时确认本研发团队目前最新的数据库版本号,但工作难免存在疏漏,故这一问题一旦出现,将导致灾难性后果。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种App使用的数据库中用户数据保护方法,应用简单,可有效保护用户数据,避免因为数据库非预期降级导致的用户数据丢失问题,确保用户数据的安全性、完整性。
为达到以上目的,本发明采取的技术方案是:
一种App使用的数据库中用户数据保护方法,其特征在于,包括如下步骤:
步骤1,当App安装或App启动时,获取当前已安装好的数据库名及数据库版本号;
步骤2,获取将要安装或更新到的数据库名及数据库版本号;
步骤3,判断数据库名是否相同;
当已安装好的数据库名,和将要安装或更新到的数据库名,相同则转步骤4;否则转相应的处理;
步骤4,判断数据库版本号的异同情况;
情况1,已安装好的数据库版本号,等于将要安装或更新到的数据库版本号,则不对数据库进行操作,转相应的后续处理;
情况2,已安装好的数据库版本号,小于将要安装或更新到的数据库版本号,则对数据库进行升级操作,然后转相应的后续处理;
情况3,已安装好的数据库版本号,大于将要安装或更新到的数据库版本号,则转步骤5;
步骤5,对数据库进行保护处理,避免数据库非预期降级,提示用户App需要重新启动。
在上述技术方案的基础上,步骤中,所述后续处理指:App安装过程中,数据库安装或更新之外的其他处理步骤,
或指:App启动过程中,数据库安装或更新之外的其他处理步骤。
在上述技术方案的基础上,所述对数据库进行保护处理为:
通知该App下载时使用的App发布平台,将App发布平台中记录的数据库版本号,更新为已安装好的数据库版本号;
当提示用户App需要重新启动,且用户确认后,
App通过自动重启停止之前的App安装或App启动过程,等待App发布平台重新判断是否帮用户自动更新,并重新推送App更新信息。
在上述技术方案的基础上,所述对数据库进行保护处理为:
App在本地存储已安装好的数据库版本号;
当提示用户App需要重新启动,且用户确认后,
App通过自动重启停止之前的App安装或App启动过程,并读取本地存储的已安装好的数据库版本号,将其作为将要安装或更新到的数据库版本号,实现不对数据库进行操作,转相应的后续处理。
在上述技术方案的基础上,所述对数据库进行保护处理为:重写降级操作,在降级操作中,将数据库的降级操作变换为数据库的升级操作,重新进行低版本号数据库向高版本号数据库的升级操作,实现不对数据库进行降级操作,从而保留高版本号数据库中的用户数据。
本发明所述的App使用的数据库中用户数据保护方法,应用简单,可有效保护用户数据,避免因为数据库非预期降级导致的用户数据丢失问题,确保用户数据的安全性、完整性。
具体实施方式
本发明所述的App使用的数据库中用户数据保护方法,包括如下步骤:
步骤1,当App安装或App启动时,获取当前已安装好的数据库名及数据库版本号;
例如:已经安装到手机当中的某App,其当前已安装好的数据库名及数据库版本号为:
DATABASE_NAME = "KWmusic.db";
DATABASE_VERSION = 9;
步骤2,获取将要安装或更新到的数据库名及数据库版本号;
例如:将要安装或更新到的数据库名及数据库版本号为:
DATABASE_NAME = "KWmusic.db";
DATABASE_VERSION = 8;
步骤3,判断数据库名是否相同;
当已安装好的数据库名,和将要安装或更新到的数据库名,相同则转步骤4;否则转相应的处理,所述相应的处理可以根据实际需要设定,不属于本发明讨论范围;
步骤4,判断数据库版本号的异同情况;
情况1,已安装好的数据库版本号,等于将要安装或更新到的数据库版本号,则不对数据库进行操作,转相应的后续处理;
所述后续处理指:App安装过程中,数据库安装或更新之外的其他处理步骤,例如:程序文件的安装或更新等,以便正常执行完App安装全过程,
或指:App启动过程中,数据库安装或更新之外的其他处理步骤,例如:启动所要求的初始化操作等,以便正常执行完App启动全过程;
情况2,已安装好的数据库版本号,小于将要安装或更新到的数据库版本号,则对数据库进行升级操作,然后转相应的后续处理;
对数据库进行升级操作按现有技术实施即可,不再详述;
情况3,已安装好的数据库版本号,大于将要安装或更新到的数据库版本号,则转步骤5;
步骤5,对数据库进行保护处理,避免数据库非预期降级,提示用户App需要重新启动。
在上述技术方案的基础上,所述对数据库进行保护处理为:
通知该App下载时使用的App发布平台,将App发布平台中记录的数据库版本号,更新为已安装好的数据库版本号;
当提示用户App需要重新启动,且用户确认后,
App通过自动重启停止之前的App安装或App启动过程,等待App发布平台重新判断是否帮用户自动更新,并重新推送App更新信息。
在上述技术方案的基础上,所述对数据库进行保护处理为:
App在本地存储已安装好的数据库版本号;
当提示用户App需要重新启动,且用户确认后,
App通过自动重启停止之前的App安装或App启动过程,并读取本地存储的已安装好的数据库版本号,将其作为将要安装或更新到的数据库版本号,实现不对数据库进行操作,转相应的后续处理。
在上述技术方案的基础上,所述对数据库进行保护处理为:重写降级操作(onDowngrade方法),在降级操作中,将数据库的降级操作变换为数据库的升级操作,重新进行低版本号数据库向高版本号数据库的升级操作,实现不对数据库进行降级操作,从而保留高版本号数据库中的用户数据。
在上述技术方案的基础上,所述对数据库进行保护处理为:直接提示用户当前App安装和启动中遇到错误,请等待下一个版本再更新;
同时,通知该App下载时使用的App发布平台,停止该App安装包的更新推送,并转发信息给开发工程师。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (5)
1.一种App使用的数据库中用户数据保护方法,其特征在于,包括如下步骤:
步骤1,当App安装或App启动时,获取当前已安装好的数据库名及数据库版本号;
步骤2,获取将要安装或更新到的数据库名及数据库版本号;
步骤3,判断数据库名是否相同;
当已安装好的数据库名,和将要安装或更新到的数据库名,相同则转步骤4;否则转相应的处理;
步骤4,判断数据库版本号的异同情况;
情况1,已安装好的数据库版本号,等于将要安装或更新到的数据库版本号,则不对数据库进行操作,转相应的后续处理;
情况2,已安装好的数据库版本号,小于将要安装或更新到的数据库版本号,则对数据库进行升级操作,然后转相应的后续处理;
情况3,已安装好的数据库版本号,大于将要安装或更新到的数据库版本号,则转步骤5;
步骤5,对数据库进行保护处理,避免数据库非预期降级,提示用户App需要重新启动。
2.如权利要求1所述的App使用的数据库中用户数据保护方法,其特征在于:步骤中,所述后续处理指:App安装过程中,数据库安装或更新之外的其他处理步骤,
或指:App启动过程中,数据库安装或更新之外的其他处理步骤。
3.如权利要求1所述的App使用的数据库中用户数据保护方法,其特征在于:所述对数据库进行保护处理为:
通知该App下载时使用的App发布平台,将App发布平台中记录的数据库版本号,更新为已安装好的数据库版本号;
当提示用户App需要重新启动,且用户确认后,
App通过自动重启停止之前的App安装或App启动过程,等待App发布平台重新判断是否帮用户自动更新,并重新推送App更新信息。
4.如权利要求1所述的App使用的数据库中用户数据保护方法,其特征在于:所述对数据库进行保护处理为:
App在本地存储已安装好的数据库版本号;
当提示用户App需要重新启动,且用户确认后,
App通过自动重启停止之前的App安装或App启动过程,并读取本地存储的已安装好的数据库版本号,将其作为将要安装或更新到的数据库版本号,实现不对数据库进行操作,转相应的后续处理。
5.如权利要求1所述的App使用的数据库中用户数据保护方法,其特征在于:所述对数据库进行保护处理为:重写降级操作,在降级操作中,将数据库的降级操作变换为数据库的升级操作,重新进行低版本号数据库向高版本号数据库的升级操作,实现不对数据库进行降级操作,从而保留高版本号数据库中的用户数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710388434.7A CN107220345B (zh) | 2017-05-27 | 2017-05-27 | 一种App使用的数据库中用户数据保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710388434.7A CN107220345B (zh) | 2017-05-27 | 2017-05-27 | 一种App使用的数据库中用户数据保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107220345A true CN107220345A (zh) | 2017-09-29 |
CN107220345B CN107220345B (zh) | 2020-09-29 |
Family
ID=59947035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710388434.7A Active CN107220345B (zh) | 2017-05-27 | 2017-05-27 | 一种App使用的数据库中用户数据保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107220345B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729180A (zh) * | 2017-09-30 | 2018-02-23 | 珠海市魅族科技有限公司 | 异常信息处理方法及装置、计算机装置及可读存储介质 |
CN108763286A (zh) * | 2018-04-13 | 2018-11-06 | 北京五八信息技术有限公司 | 数据库的更新方法、装置、设备和存储介质 |
CN108874426A (zh) * | 2018-06-28 | 2018-11-23 | 武汉斗鱼网络科技有限公司 | 一种应用程序更新方法、装置及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000010787A (ja) * | 1998-06-24 | 2000-01-14 | Nec Corp | プログラムダウンロード装置および方法 |
CN105740443A (zh) * | 2016-02-01 | 2016-07-06 | 深圳市盛弘电气股份有限公司 | 一种基于Android数据库的数据管理方法及装置 |
CN105867961A (zh) * | 2015-12-07 | 2016-08-17 | 乐视移动智能信息技术(北京)有限公司 | 系统升降级的方法和装置 |
CN106528241A (zh) * | 2016-11-21 | 2017-03-22 | 浪潮通用软件有限公司 | 一种数据升级的方法及装置 |
-
2017
- 2017-05-27 CN CN201710388434.7A patent/CN107220345B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000010787A (ja) * | 1998-06-24 | 2000-01-14 | Nec Corp | プログラムダウンロード装置および方法 |
CN105867961A (zh) * | 2015-12-07 | 2016-08-17 | 乐视移动智能信息技术(北京)有限公司 | 系统升降级的方法和装置 |
CN105740443A (zh) * | 2016-02-01 | 2016-07-06 | 深圳市盛弘电气股份有限公司 | 一种基于Android数据库的数据管理方法及装置 |
CN106528241A (zh) * | 2016-11-21 | 2017-03-22 | 浪潮通用软件有限公司 | 一种数据升级的方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729180A (zh) * | 2017-09-30 | 2018-02-23 | 珠海市魅族科技有限公司 | 异常信息处理方法及装置、计算机装置及可读存储介质 |
CN107729180B (zh) * | 2017-09-30 | 2020-07-03 | 珠海市魅族科技有限公司 | 异常信息处理方法及装置、计算机装置及可读存储介质 |
CN108763286A (zh) * | 2018-04-13 | 2018-11-06 | 北京五八信息技术有限公司 | 数据库的更新方法、装置、设备和存储介质 |
CN108874426A (zh) * | 2018-06-28 | 2018-11-23 | 武汉斗鱼网络科技有限公司 | 一种应用程序更新方法、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107220345B (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102520948B (zh) | 应用程序维护更新方法和装置 | |
CN103064716B (zh) | 移动终端设备快速卸载应用程序的方法 | |
CN105681060B (zh) | 一种虚拟化网络功能管理升级方法、装置及服务器 | |
CN107220345A (zh) | 一种App使用的数据库中用户数据保护方法 | |
CN107493290B (zh) | Android智能电视系统软件进行OTA升级的方法 | |
US9471300B2 (en) | Wireless firmware upgrades to an alarm security panel | |
CN104572206A (zh) | 应用程序自更新和备份恢复的方法 | |
CN106383692A (zh) | 一种单片机嵌入式设备ota升级方法 | |
CN103810416A (zh) | 一种软件安装或卸载方法及装置 | |
CN104536841B (zh) | 一种Android系统Data分区自修复方法及系统 | |
CN108874437B (zh) | 一种android应用程序的在线云更新方法 | |
CN103179551A (zh) | 一种无线升级的方法及系统 | |
CN102163167A (zh) | 系统拯救的方法及装置 | |
CN101639785A (zh) | 软件升级方法及装置 | |
CN106406955A (zh) | RSU设备bootloader程序升级的方法、装置 | |
CN107566169A (zh) | 一种基于openwrt的固件升级方法及路由器 | |
CN103984585A (zh) | 一种Linux内核可热插拨内核模块运行时升级方法 | |
CN105094873A (zh) | 一种手持终端系统切换方法及装置 | |
CN110555009B (zh) | 一种网络文件系统nfs服务的处理方法及装置 | |
EP3043262A1 (en) | Method and device for remote base station version installation | |
CN105528542A (zh) | 一种基于软件免安装运行的管控方法及系统 | |
CN103731301A (zh) | 远程网络系统双备份实现方法 | |
CN111831296A (zh) | 应用程序更新方法、终端设备和计算机可读存储介质 | |
CN102004649A (zh) | 软件更新的方法和设备 | |
KR20090005906A (ko) | 휴대 단말기의 데이타 백업장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |