CN105468478B - 一种应用崩溃后的业务数据恢复方法及装置 - Google Patents
一种应用崩溃后的业务数据恢复方法及装置 Download PDFInfo
- Publication number
- CN105468478B CN105468478B CN201510837422.9A CN201510837422A CN105468478B CN 105468478 B CN105468478 B CN 105468478B CN 201510837422 A CN201510837422 A CN 201510837422A CN 105468478 B CN105468478 B CN 105468478B
- Authority
- CN
- China
- Prior art keywords
- application
- information file
- business datum
- saved
- crash information
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Retry When Errors Occur (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种应用崩溃后的业务数据恢复方法及装置,该方法包括:当发生应用崩溃时,对异常进行拦截,以生成崩溃信息文件;将该崩溃信息文件保存到本地存储设备中;结束并重启该应用;根据在该本地存储设备中保存的崩溃信息文件,将该应用恢复到崩溃前的状态。通过本发明提供的应用崩溃后的业务数据恢复方法及装置,当遇到应用崩溃时,可以有效及时恢复用户数据,不会中断原有的业务操作流程,减少因为崩溃而导致丢失数据。
Description
技术领域
本发明涉及移动数据恢复技术领域,具体涉及一种应用崩溃后的业务数据恢复方法及装置。
背景技术
几乎所有的手机用户都遇到过自己使用应用时应用崩溃的现象。虽然目前大部分Android和IOS应用都存在的崩溃率,但是一旦出现会给用户带来非常不友好的用户体验。
目前Android和IOS平台上没有针对应用崩溃的容灾方案。按照一般处理,一旦发生崩溃就会弹出系统异常对话框(某些情况下没有对话框),然后应用被强制结束掉。
由于现有的技术方案在遇到应用崩溃时,只会强制结束应用,并不会保存崩溃之前的用户业务数据。这样会造成用户一旦遇到应用崩溃,所有当前未保存的用户数据都会丢失,例如未完成的订单或者填写未保存的信息等。
发明内容
本发明的目的是提供一种应用崩溃后的业务数据恢复方法及装置,以使应用发生崩溃时,能够将敏感信息进行加密处理并及时保存原有业务状态至本地存储,以利重启应用时能够有效恢复用户状态并完成未完业务。
鉴于上述目的,本发明的技术方案是提供一种应用崩溃后的业务数据恢复方法,该方法包括:S 101,当发生应用崩溃时,对异常进行拦截,以生成崩溃信息文件;S 102,将该崩溃信息文件保存到本地存储设备中;S 103,结束并重启该应用;S 104,根据在该本地存储设备中保存的崩溃信息文件,将该应用恢复到崩溃前的状态。
可选地,该崩溃信息文件包括:利用系统应用程序接口获取的异常堆栈信息和从内存中获取与该应用相关的业务数据。
可选地,该业务数据至少包括:用户的登录状态、订单状态、订单流程。
可选地,根据在该本地存储设备中保存的崩溃信息文件,将该应用恢复到崩溃前的状态包括:利用该异常堆栈信息,使该应用跳转到崩溃前的页面,并且将该业务数据重新加载到内存中。
可选地,在将该崩溃信息文件保存到本地存储设备中之前,对该崩溃信息文件进行加密。
可选地,该应用为Android或iOS中任一应用。
本发明还提供一种应用崩溃后的业务数据恢复装置,该装置包括:
业务拦截模块,用于当发生应用崩溃时,对异常进行拦截,以生成崩溃信息文件;
业务处理模块,用于将该崩溃信息文件保存到本地存储设备中;
业务调度模块,用于结束并重启该应用;
业务恢复模块,根据在该本地存储设备中保存的崩溃信息文件,将该应用恢复到崩溃前的状态。
可选地,该崩溃信息文件包括:利用系统应用程序接口获取的异常堆栈信息和从内存中获取与该应用相关的业务数据。
可选地,该业务数据至少包括:用户的登录状态、订单状态、订单流程。
可选地,该业务恢复模块还用于:利用该异常堆栈信息,使该应用跳转到崩溃前的页面,并且将该业务数据重新加载到内存中。
可选地,该装置还包括:业务加密模块,在将该崩溃信息文件保存到本地存储设备中之前,对该崩溃信息文件进行加密。
可选地,该应用为Android或iOS中任一应用。
通过本发明提供的,当遇到应用崩溃时,可以有效及时恢复用户数据,不会中断原有的业务操作流程,减少因为崩溃而导致丢失数据。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明提供的一种应用崩溃后的业务数据恢复方法流程图;
图2是本发明还提供一种应用崩溃后的业务数据恢复装置结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
如图1所示,图1是本发明提供的一种应用崩溃后的业务数据恢复方法流程图。该方法包括:当发生应用崩溃时,对异常进行拦截,以生成崩溃信息文件;将该崩溃信息文件保存到本地存储设备中;结束并重启该应用;根据在该本地存储设备中保存的崩溃信息文件,将该应用恢复到崩溃前的状态。
可选地,该崩溃信息文件包括:利用系统应用程序接口获取的异常堆栈信息和从内存中获取与该应用相关的业务数据。
可选地,该业务数据至少包括:用户的登录状态、订单状态、订单流程。
可选地,根据在该本地存储设备中保存的崩溃信息文件,将该应用恢复到崩溃前的状态包括:利用该异常堆栈信息,使该应用跳转到崩溃前的页面,并且将该业务数据重新加载到内存中。
可选地,在将该崩溃信息文件保存到本地存储设备中之前,对该崩溃信息文件进行加密。
可选地,该应用为Android或iOS中任一应用。
下面结合一个具体的实施例对本发明进行具体描述,然而值得注意的是该具体实施例仅是为了更好地描述本发明,并不构成对本发明的不当限定。
由于移动操作系统(Android/iOS)中的应用程序的自身代码问题或者操作系统的自身问题,例如由于移动设备的内存不足、系统资源出错等因素,都能够发生应用崩溃现象。
当发生应用崩溃时,利用移动操作系统(Android/iOS)的现有机制可以实现拦截异常的功能。具体来说,Android系统下可以通过实现UncaughtExceptionHandler类拦截到异常,iOS系统下可以通过在appDelegate中调用NSSetUncaughtExceptionHandler函数来监听处理异常,通过上述方式就可以避免当移动操作系统中应用程序发生崩溃时应用弹出系统异常对话框。
在拦截系统发生的异常之后,通过调用移动操作系统(Android/iOS)的应用程序接口(API)可以获取到异常堆栈信息,并从内存中获取到用户的业务数据,包括:异常堆栈信息和异常发生时的用户业务数据。在本发明一实施例中,Android系统下可以通过重载UncaughtExceptionHandler类中的uncaughtException方法,并通过传入函数来获取到异常堆栈;iOS系统下可以通过IOS SDK中提供的一个函数NSSetUncaughtExceptionHandler中设置的HandleException回调函数来获取异常堆栈。对于用户业务数据可以包括但不限于用户登录状态、订单状态、订单流程等。由于上述信息含有用户私密信息,因此通过使用对应移动操作系统(Android/iOS)或者第三方开源库提供的AES对称加密算法对异常堆栈信息和异常发生时的用户业务数据进行加密,然后再将加密后的数据保存到本地存储设备中。
待完成应用和用户状态信息保存后,结束当前应用进程,并通过系统应用程序接口(API)来重新启动应用程序。
每次启动应用程序的时候,利用移动操作系统(Android/iOS)提供的应用程序接口(API)来检测应用程序可以访问的内部存储路径中保存的崩溃信息文件,然后使用移动操作系统(Android/iOS)或者第三方开源库提供的AES对称解密算法来解密和解析崩溃信息。
在本发明一实施例中,Android上可以使用平台API javax.crypto.*来完成AES加解密功能,iOS可以通过第三方开源库(例如AESCrypt)来进行AES加密和解密。
根据崩溃文件中的堆栈数据,可以使系统执行的应用程序跳转到崩溃前的应用页面,并且把保存的崩溃前的用户业务数据重新加载到内存中,以便恢复到崩溃之前的应用页面并恢复所有的用户业务状态,将该应用恢复到崩溃前的状态,用户可以继续之前的操作,完成剩余的业务操作。最后,待加载成功之后,自动从本地路径中删除崩溃信息文件。
如图2所示,图2是本发明还提供一种应用崩溃后的业务数据恢复装置结构图,该装置包括:
业务拦截模块201,用于当发生应用崩溃时,对异常进行拦截,以生成崩溃信息文件;
业务处理模块202,用于将该崩溃信息文件保存到本地存储设备中;
业务调度模块203,用于结束并重启该应用;
业务恢复模块204,根据在该本地存储设备中保存的崩溃信息文件,将该应用恢复到崩溃前的状态。
可选地,该崩溃信息文件包括:利用系统应用程序接口获取的异常堆栈信息和从内存中获取与该应用相关的业务数据。
可选地,该业务数据至少包括:用户的登录状态、订单状态、订单流程。
可选地,该业务恢复模块204还用于:利用该异常堆栈信息,使该应用跳转到崩溃前的页面,并且将该业务数据重新加载到内存中。
可选地,该装置还包括:业务加密模块205,在将该崩溃信息文件保存到本地存储设备中之前,对该崩溃信息文件进行加密。
可选地,该应用为Android或iOS中任一应用。
由于本发明提供的应用崩溃后的业务数据恢复装置是上述应用崩溃后的业务数据恢复方法对应的装置,故在此不赘述。
通过本发明提供的应用崩溃后的业务数据恢复方法及装置,当遇到应用崩溃时,可以有效及时恢复用户数据,不会中断原有的业务操作流程,减少因为崩溃而导致丢失数据。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种应用崩溃后的业务数据恢复方法,其特征在于,所述方法包括:
当发生应用崩溃时,对异常进行拦截,以生成崩溃信息文件;
将所述崩溃信息文件保存到本地存储设备中;
结束并重启所述应用;
根据在所述本地存储设备中保存的崩溃信息文件,将所述应用恢复到崩溃前的状态。
2.根据权利要求1所述的方法,其特征在于,所述崩溃信息文件包括:利用系统应用程序接口获取的异常堆栈信息和从内存中获取与所述应用相关的业务数据。
3.根据权利要求2所述的方法,其特征在于,所述业务数据至少包括:用户的登录状态、订单状态、订单流程。
4.根据权利要求2所述的方法,其特征在于,根据在所述本地存储设备中保存的崩溃信息文件,将所述应用恢复到崩溃前的状态包括:利用所述异常堆栈信息,使所述应用跳转到崩溃前的页面,并且将所述业务数据重新加载到内存中。
5.根据权利要求1或2所述的方法,其特征在于,在将所述崩溃信息文件保存到本地存储设备中之前,对所述崩溃信息文件进行加密。
6.根据权利要求1或2所述的方法,其特征在于,所述应用为Android或iOS中任一应用。
7.一种应用崩溃后的业务数据恢复装置,其特征在于,所述装置包括:
业务拦截模块,用于当发生应用崩溃时,对异常进行拦截,以生成崩溃信息文件;
业务处理模块,用于将所述崩溃信息文件保存到本地存储设备中;
业务调度模块,用于结束并重启所述应用;
业务恢复模块,根据在所述本地存储设备中保存的崩溃信息文件,将所述应用恢复到崩溃前的状态。
8.根据权利要求7所述的装置,其特征在于,所述崩溃信息文件包括:利用系统应用程序接口获取的异常堆栈信息和从内存中获取与所述应用相关的业务数据。
9.根据权利要求8所述的装置,其特征在于,所述业务数据至少包括:用户的登录状态、订单状态、订单流程。
10.根据权利要求8所述的装置,其特征在于,所述业务恢复模块还用于:利用所述异常堆栈信息,使所述应用跳转到崩溃前的页面,并且将所述业务数据重新加载到内存中。
11.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:
业务加密模块,在将所述崩溃信息文件保存到本地存储设备中之前,对所述崩溃信息文件进行加密。
12.根据权利要求7或8所述的装置,其特征在于,所述应用为Android或iOS中任一应用。
13.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510837422.9A CN105468478B (zh) | 2015-11-26 | 2015-11-26 | 一种应用崩溃后的业务数据恢复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510837422.9A CN105468478B (zh) | 2015-11-26 | 2015-11-26 | 一种应用崩溃后的业务数据恢复方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105468478A CN105468478A (zh) | 2016-04-06 |
CN105468478B true CN105468478B (zh) | 2019-06-04 |
Family
ID=55606212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510837422.9A Active CN105468478B (zh) | 2015-11-26 | 2015-11-26 | 一种应用崩溃后的业务数据恢复方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468478B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107436777B (zh) * | 2016-05-27 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 移动终端、应用程序崩溃处理方法及装置 |
CN106126397A (zh) * | 2016-06-19 | 2016-11-16 | 乐视控股(北京)有限公司 | 程序崩溃消息的处理方法及系统 |
CN106648971A (zh) * | 2016-11-11 | 2017-05-10 | 努比亚技术有限公司 | 一种崩溃crash恢复装置、终端及方法 |
CN106502820A (zh) * | 2016-11-28 | 2017-03-15 | 深圳天珑无线科技有限公司 | 应用崩溃处理方法及装置 |
CN107357704B (zh) * | 2017-06-27 | 2021-01-01 | 努比亚技术有限公司 | 一种应用程序检测方法、终端及计算机可读存储介质 |
CN107678876B (zh) * | 2017-09-28 | 2021-08-10 | 努比亚技术有限公司 | 冻屏监测与解决方法、移动终端及计算机可读存储介质 |
CN108052431A (zh) * | 2017-12-08 | 2018-05-18 | 北京奇虎科技有限公司 | 终端程序异常关闭信息处理方法、装置、终端 |
CN108519925A (zh) * | 2018-03-06 | 2018-09-11 | 北京酷我科技有限公司 | 一种iOS闪退保护策略 |
CN108415734A (zh) * | 2018-03-22 | 2018-08-17 | 车智互联(北京)科技有限公司 | 一种应用恢复装置、方法和移动终端 |
CN108563516A (zh) * | 2018-03-29 | 2018-09-21 | 广东欧珀移动通信有限公司 | 应用数据防丢方法和装置、存储介质、电子设备 |
CN108846482A (zh) * | 2018-05-30 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种数据训练方法、装置及服务器 |
CN109582486B (zh) * | 2018-11-20 | 2023-04-28 | 厦门科灿信息技术有限公司 | 一种看门狗监测方法、系统及设备和存储介质 |
CN109542689A (zh) * | 2018-11-30 | 2019-03-29 | 努比亚技术有限公司 | 应用程序处理方法、终端以及计算机可读存储介质 |
CN111459715A (zh) | 2019-01-20 | 2020-07-28 | 华为技术有限公司 | 应用异常恢复 |
CN109840168B (zh) * | 2019-02-14 | 2021-11-02 | 北京字节跳动网络技术有限公司 | 软件恢复方法、装置、终端和介质 |
CN110058762A (zh) * | 2019-03-14 | 2019-07-26 | 努比亚技术有限公司 | 一种应用启动方法、终端和计算机可读存储介质 |
CN110245526B (zh) * | 2019-05-07 | 2021-04-23 | 杭州电子科技大学 | 一种基于PCIe接口的加密方法 |
CN110659083A (zh) * | 2019-09-19 | 2020-01-07 | 苏州浪潮智能科技有限公司 | 一种程序故障重启后恢复内存数据的方法和系统 |
CN111008044A (zh) * | 2019-11-29 | 2020-04-14 | 支付宝实验室(新加坡)有限公司 | 一种应用程序的恢复方法、系统以及电子设备 |
CN111176874B (zh) * | 2019-12-23 | 2022-04-12 | 京东科技控股股份有限公司 | 应用程序异常退出的处理方法、装置、设备及存储介质 |
CN111274503B (zh) * | 2020-01-20 | 2024-02-20 | 北京有竹居网络技术有限公司 | 数据处理的方法、装置、电子设备及计算机可读介质 |
CN113515317A (zh) * | 2020-03-25 | 2021-10-19 | 华为技术有限公司 | 数据恢复的方法、装置 |
CN112199237B (zh) * | 2020-10-15 | 2023-05-26 | 维沃移动通信有限公司 | 系统服务恢复方法、装置及电子设备 |
CN114356434B (zh) * | 2021-11-26 | 2024-03-26 | 北京达佳互联信息技术有限公司 | 页面加载方法、设备、装置、存储介质及程序产品 |
CN114816862B (zh) * | 2022-06-27 | 2022-09-27 | 统信软件技术有限公司 | 数据恢复方法和装置、计算设备和可读存储介质 |
-
2015
- 2015-11-26 CN CN201510837422.9A patent/CN105468478B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105468478A (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105468478B (zh) | 一种应用崩溃后的业务数据恢复方法及装置 | |
EP3369030B1 (en) | Methods and apparatus for mobile computing device security in testing facilities | |
CN109886682B (zh) | 区块链中实现合约调用的方法及节点、存储介质 | |
CN110008735B (zh) | 区块链中实现合约调用的方法及节点、存储介质 | |
CN104468627B (zh) | 一种通过服务器进行终端数据备份的数据加密方法及系统 | |
CN112487100A (zh) | 一种基于区块链的信息发布方法、装置及计算机设备 | |
CN109154968B (zh) | 用于组织内的安全且高效的通信的系统和方法 | |
CN111726230B (zh) | 一种数据的存储方法、数据的恢复方法、装置及设备 | |
CN109347629A (zh) | 基于共享安全应用的密钥传递方法及系统、存储介质、设备 | |
CN107277028B (zh) | 在应用间传输聊天表情的方法及装置、设备、存储介质 | |
CN112313629B (zh) | 备份和恢复验证 | |
CN109857571B (zh) | 剪贴板控制方法及装置 | |
US10740489B2 (en) | System and method for prediction preserving data obfuscation | |
CN103577281A (zh) | 一种数据恢复的方法和系统 | |
CN107423583B (zh) | 一种软件保护设备重置方法及装置 | |
WO2016165602A1 (zh) | 一种系统间画面切换方法 | |
CN104821889B (zh) | 一种备份报文的处理方法和设备 | |
US20180365126A1 (en) | Processing failed events on an application server | |
Zhu | Mobile Cloud Computing: implications to smartphone forensic procedures and methodologies | |
CN109995526A (zh) | 一种密钥的存储方法和装置、密钥的调用方法和装置 | |
CN110059081A (zh) | 基于数据展示的数据输出方法、装置及计算机设备 | |
CN109409133A (zh) | 通话方法、装置及电子设备 | |
CN113034140B (zh) | 实现智能合约加密的方法、系统、设备及存储介质 | |
US20160014115A1 (en) | Apparatus used for security information interaction | |
CN110659466B (zh) | 改密行为的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |