公开/公告号CN104461786A
专利类型发明专利
公开/公告日2015-03-25
原文格式PDF
申请/专利权人 上海斐讯数据通信技术有限公司;
申请/专利号CN201410816591.X
发明设计人 杨希峰;
申请日2014-12-19
分类号G06F11/14(20060101);G06F9/44(20060101);
代理机构31219 上海光华专利事务所;
代理人余明伟
地址 201616 上海市松江区思贤路3666号
入库时间 2023-12-18 08:05:40
法律状态公告日
法律状态信息
法律状态
2020-03-10
未缴年费专利权终止 IPC(主分类):G06F11/14 授权公告日:20180713 终止日期:20181219 申请日:20141219
专利权的终止
2018-07-13
授权
授权
2015-09-02
实质审查的生效 IPC(主分类):G06F11/14 申请日:20141219
实质审查的生效
2015-03-25
公开
公开
技术领域
本发明涉及移动通信技术领域,特别是涉及一种Android系统的恢复方法及Android系统的恢复系统。
背景技术
目前,Android系统已经在智能家居、机顶盒、手机等领域广泛地使用着。在Android迅猛发展的同时,很多安全问题开始困扰着用户,这其中一些是产品厂商移植和定制Android系统时所产生的,还有一些是恶意软件的入侵。这可能会导致系统某些功能的停止运行、甚至重启和死机。
Android系统的应用深入到了很多领域,相应的,安全问题也越来越不容忽视,如手机出现重启、变卡变慢等,这其中有一部分原因是Android系统自身的,它的版本一直在更新和升级,在修复一些问题,也会产生新的问题,这时就需要最大限度地提高性能、尽力去修复和避免产生坏的影响的问题。
现有技术中已经存在一些解决方案,如申请号201210583257.5、发明名称为“一种终端设备的Android系统恢复方法及该终端设备”的专利申请公开了以下技术方案:将用于恢复Android系统的升级包预置在终端设备中;启动终端设备的Android系统,判断所述Android系统是否在预定时间内启动完成;当所述Android系统在预定时间内未启动完成,加载所述升级包对Android系统进行自动恢复。
上述专利申请中无需用户进行多余的操作,也无需售后人员上门进行协助,从而降低了售后成本,还减轻了售后人员的负担,同时提升了用户的使用体验。但是这种方案是将升级包预置在终端设备中,这样做其实只能升级一次,而不能实现多次的升级及版本更新;另外,需要将升级包预置于终端设备中,因此缺乏便捷性。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种Android系统的恢复方法及Android系统的恢复系统,用于解决现有技术中系统恢复不够便捷的问题。
为实现上述目的及其他相关目的,本发明提供一种Android系统的恢复方法,所述Android系统的恢复方法包括:
当系统出现异常时,判断能否进入桌面;
当进入桌面后,判断是否连接服务器;
当连接服务器后,将异常信息上报至服务器;
服务器进行故障定位,并根据定位结果发送相应的远程升级包至客户端;
客户端接收到远程升级包后通知用户进行系统恢复。
优选的,所述Android系统的恢复方法还包括:
当系统出现异常且无法进入桌面时,启动recovery模式;
加载刷机文件,使系统恢复至出厂状态。
优选的,所述Android系统的恢复方法还包括:
在系统恢复至出厂状态后,检测系统文件是否需要升级;
当需要升级时,连接服务器;
当连接至服务器后,服务器将远程升级包发送给客户端,并通知用户进行系统更新。
优选的,所述Android系统的恢复方法还包括:当系统出现异常时,对异常信息进行提取;所述对异常信息进行提取的步骤包括:
根据设定定时读取存储的日志,并判断是否与预设关键字匹配;
若匹配,则将相应的日志行进行提取,提取的信息至少包括时间、标签、代码行号、错误提示及堆栈信息。
优选的,所述服务器进行故障定位,并根据定位结果发送相应的远程升级包至客户端的步骤包括:
服务器根据接收到的异常信息判断所述异常发生的层级以及判断所述异常的类型;
根据所述异常发生的层级及异常的类型调用相应的远程升级包;
将远程升级包发送至客户端。
本发明还提供一种Android系统的恢复系统,所述Android系统的恢复系统包括:客户端与服务器;
所述服务器,用于根据所述客户端发送的异常信息进行故障定位,并根据定位结果发送相应的远程升级包至客户端;
所述客户端包括:
判断单元,用于当系统出现异常时,判断能否进入桌面;
连接单元,用于当进入桌面后,判断是否连接服务器;
异常信息上报单元,用于当连接服务器后,将异常信息上报至服务器;
系统恢复单元,用于根据接收到远程升级包后通知用户进行系统恢复。
优选的,所述客户端还包括:
启动单元,用于当系统出现异常且无法进入桌面时,启动recovery模式;
加载单元,用于加载刷机文件,使系统恢复至出厂状态。
优选的,所述客户端还包括:
检测单元,用于在系统恢复至出厂状态后,检测系统文件是否需要升级;
所述连接单元,还用于当检测单元检测到需要升级时,连接服务器;
所述服务器还用于当连接至服务器后,将远程升级包发送给客户端,并通知用户进行系统更新。
优选的,所述客户端还包括:调取单元,用于当系统出现异常时,对异常信息进行提取;
所述调取单元包括:
日志读取单元,用于定时读取存储的日志;
匹配单元,用于根据设定定时读取存储的日志,判断是否与预设关键字匹配;
提取单元,用于当匹配时,将相应的日志行进行提取,提取的信息至少包括时间、标签、代码行号、错误提示及堆栈信息。
优选的,所述服务器包括:
分析单元,用于根据接收到的异常信息判断所述异常发生的层级以及判断所述异常的类型;
远程升级包调用单元,用于根据所述异常发生的层级及异常的类型调用相应的远程升级包;
发送单元,用于将远程升级包发送至客户端。
如上所述,本发明的Android系统的恢复方法及Android系统的恢复系统,具有以下有益效果:
本发明技术方案中,当系统出现异常时,若能进入桌面且连接至服务器,则将异常信息上报至服务器;由服务器进行故障定位,并根据定位结果发送相应的远程升级包至客户端,从而实现系统恢复。通过这样的方式,可以有效的解决系统故障,并且,可以对故障进行分类与定位,从而有效的提高了处理效率。
另外,本发明技术方案中,由服务器针对不同的定位结果发送不同的远程升级包至客户端,从而可以灵活的恢复系统,提高了系统恢复的便捷性。
附图说明
图1显示为本发明Android系统的恢复方法的流程示意图。
图2显示为本发明实施例一的Android系统的恢复系统的结构示意图。
图3显示为本发明实施例二的Android系统的恢复系统的结构示意图。
元件标号说明
10 客户端
20 服务器
110 判断单元
120 连接单元
130 异常信息上报单元
140 系统恢复单元
150 启动单元
160 加载单元
170 检测单元
210 分析单元
220 远程升级包调用单元
230 发送单元
S1~S5 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
请参阅图1,本发明提供一种Android系统的恢复方法,所述Android系统的恢复方法包括:
步骤S1,当系统出现异常时,判断能否进入桌面;
步骤S2,当进入桌面后,判断是否连接服务器;
步骤S3,当连接服务器后,将异常信息上报至服务器;
步骤S4,服务器进行故障定位,并根据定位结果发送相应的远程升级包至客户端;
步骤S5,客户端接收到远程升级包后通知用户进行系统恢复。
本实施例中,当系统出现异常时,如果系统可以正常进入桌面并可以联网,则与服务器建立连接,将出现异常的地方使用日志进行记录,并及时将这些信息上报至服务器,然后服务器端进行故障定位,判断出现问题的位于哪一层,能否通过远程升级包进行修复,并将升级包发送给客户端,通知用户进行更新和修复问题。
系统异常信息主要以log的形式体现,分别在系统的kernel、native、framework和package层添加不同形式的log信息。除了系统原有的log外,还可以根据需要额外添加预定义的堆栈追踪信息、内存统计信息、调用信息等,当有异常发生时,系统会将所有的日志信息进行上了并处理。
具体地,在本发明提供的Android系统的恢复方法中,当系统出现异常时,对异常信息进行提取;所述对异常信息进行提取的步骤包括:
根据设定定时读取存储的日志,并判断是否与预设关键字匹配;
若匹配,则将相应的日志行进行提取,提取的信息至少包括时间、标签、代码行号、错误提示及堆栈信息。
在具体应用中,日志信息小到几KB,大到数十兆,它包含的信息主要有时间信息;系统基本信息,如内存、CPU、进程、垃圾回收等;虚拟机信息,如堆栈调用跟踪等。发生的异常也可分为以下几种类型:①程序异常退出(uncaused exception);②程序强制关闭(forceclosed);③程序无响应(application no response,ANR);④其它导致手机重启或无法开机的软硬件故障。
具体的可以采用以下技术手段完成对上述异常信息的收集与统计:例如,启动一个系统进程或一个客户端应用程序,定时读取存储在手机中的日志。将所有与异常相关的关键字(如ANR、forcely closed、ANR、Memory、AndroidRuntime等)添加到数据库中,然后将所有包含数据库中任一字段的日志行全部提取出来,包含时间、标签、代码行号、错误提示、堆栈信息等。可以通过现有技术中的如KMP、Boyer-Moore、Sunday等字符串匹配类算法来高效快速的处理数百兆的字符信息。
对上述异常信息完成收集与统计之后,若可以连接至服务器,则将异常信息进行上报,由服务器对异常信息进行故障定位。具体的故障定位过程可以包括:
服务器根据接收到的异常信息判断所述异常发生的层级以及判断所述异常的类型;
根据所述异常发生的层级及异常的类型调用相应的远程升级包;
将远程升级包发送至客户端。
具体地,服务器分析产生异常的原因,首先定位产生异常是package、framework、native或内核中哪一层的问题,是单个的恶意应用还是系统的漏洞,因为不同的问题需要的安装包也是不同的。在完成故障定位后,服务器根据上述定位所找到的问题,定位问题的原因,将相应的动态库、apk文件、img文件等发送给客户端。
客户端在接收到相应的远程升级包后,进行系统恢复。具体恢复的过程可以为:
1)若是用户下载的第三方应用使用中出现了异常,则提示用户进入“管理应用”界面,卸载这些“问题”应用;
2)若是手机自带的应用异常,即package异常,则首先发出请求待用户确认,获取“root”权限,卸载原有的应用,然后通过adb命令将新的系统apk推送到手机中;
3)若是动态库的异常,即framework层异常,则服务器端会将这些库文件打包成压缩包(zip)格式,提醒用户下载并点击确定,手机重启进入系统升级界面,更新完成即恢复正常。
本实施例的Android系统的恢复方法中,在连接服务器后,将异常信息上报至服务器,由服务器对异常信息进行故障定位,并根据定位结果下发相对应的远程升级包;通过这样的方式可以有效的解决系统异常,并且由于针对不同的问题下发不同的升级包,从而可以有效的提高系统恢复的效率。
在其他实施例中,所述Android系统的恢复方法还可以包括:
当系统出现异常且无法进入桌面时,启动recovery模式;
加载刷机文件,使系统恢复至出厂状态。
也就是说,当系统出现异常且无法进入桌面时,还可以通过预存的刷机文件进行系统恢复,从而进一步提高了系统恢复的效率,且有效的提高了系统恢复的便利性。
优选的,所述Android系统的恢复方法还包括:
在系统恢复至出厂状态后,检测系统文件是否需要升级;
当需要升级时,连接服务器;
当连接至服务器后,服务器将远程升级包发送给客户端,并通知用户进行系统更新。
通过刷机文件恢复系统后,还可以继续连接服务器,将系统进行升级处理,从而进一步方便了用户的使用,提高了用户体验。
相应地,本发明还提供一种Android系统的恢复系统。参考图2,所述Android系统的恢复系统包括:客户端10与服务器20;
所述服务器20用于根据所述客户端发送的异常信息进行故障定位,并根据定位结果发送相应的远程升级包至客户端;
所述客户端10包括:
判断单元110,用于当系统出现异常时,判断能否进入桌面;
连接单元120,用于当进入桌面后,判断是否连接服务器;
异常信息上报单元130,用于当连接服务器后,将异常信息上报至服务器;
系统恢复单元140,用于根据接收到远程升级包后通知用户进行系统恢复。
在其他实施例中,参考图3,所述客户端10还可以包括:
启动单元150,用于当系统出现异常且无法进入桌面时,启动recovery模式;
加载单元160,用于加载刷机文件,使系统恢复至出厂状态。
优选的,所述客户端还包括:
检测单元170,用于在系统恢复至出厂状态后,检测系统文件是否需要升级;
所述连接单元120还用于当检测单元检测到需要升级时,连接服务器;
所述服务器20还用于当连接至服务器后,将远程升级包发送给客户端,并通知用户进行系统更新。
继续参考图3,所述服务器20包括:
分析单元210,用于根据接收到的异常信息判断所述异常发生的层级以及判断所述异常的类型;
远程升级包调用单元220,用于根据所述异常发生的层级及异常的类型调用相应的远程升级包;
发送单元230,用于将远程升级包发送至客户端。
在其他实施例中,所述客户端还可以包括:调取单元(图中未示出),用于当系统出现异常时,对异常信息进行提取;所述调取单元包括:
日志读取单元,用于定时读取存储的日志;
匹配单元,用于根据设定定时读取存储的日志,判断是否与预设关键字匹配;
提取单元,用于当匹配时,将相应的日志行进行提取,提取的信息至少包括时间、标签、代码行号、错误提示及堆栈信息。
本发明Android系统的恢复系统的工作过程可参考前述Android系统的恢复方法的具体描述,在此不再赘述。
本发明Android系统的恢复系统,在与服务器连接后,由服务器对异常信息进行故障定位,由定位结果下发相对应的远程升级包至客户端,从而对应的完成系统恢复。通过这样的方式可以及时有效的恢复系统,针对性强、效率高。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
机译: 基于Android系统的异常恢复方法及装置,智能设备和存储介质
机译: Android系统启动方法和设备,设备和存储介质
机译: 与Android系统双屏显示多输入设备有关的方法,设备和介质