本发明属于通信技术领域,尤其涉及一种基于Android系统的升级保护方法及系统、移动终端。
背景技术:
恢复(recovery)分区及看门狗(watchdog)属于安卓(Android)系统的两个独立功能模块,看门狗是用来进行系统复位的设备,通常在系统启动异常或者芯片发生异常时会进行重启动作,是终端设备必备的保护措施;Android系统升级功能是在该恢复分区中完成的,在看门狗被打开后,其一直监听Android系统是否正常,如果恢复分区需要升级,升级需要一定的时间才能完成,在此过程中如果Android系统出现异常,则看门狗会控制Android系统重启,导致升级过程被中断,恢复系统会被破坏,若此时Android系统出现无法恢复的故障,只能依靠恢复系统来刷机才能恢复,但此时恢复系统被破坏无法工作,导致移动终端只能返厂修复,给用户带来不便,降低用户体验。
技术实现要素:
本发明实施例提供了一种基于Android系统的升级保护方法及系统、移动终端,旨在解决现有技术中恢复分区在升级过程易受看门狗影响而中断影响升级进程,给用户带来不便的问题。
本发明实施例是这样实现的,一种基于Android系统的升级保护方法,包括:
当确认恢复分区需要升级时,对所述恢复分区进行升级;
在升级完成时向看门狗发送开启指示,以启动当前处于关闭状态的看门狗监控Android系统的运行。
优选地,所述当确认恢复系统需要升级时,对所述恢复系统进行升级之前还包括:
运行升级脚本;
判断所述恢复分区是否需要升级;
当需要升级时,进入升级步骤;
当不需要升级时,向所述看门狗发送开启指示,以启动当前处于关闭状态的看门狗监控Android系统的运行。
优选地,所述在升级完成时向看门狗发送开启指示,以启动当前处于关闭状态的看门狗监控Android系统的运行之后还包括:
接收基于所述开启指示的反馈信息;
分析所述反馈信息,当反馈信息为异常时,继续向所述看门狗发送所述开启指示;当反馈信息为正常时,停止进程。
优选地,所述当反馈信息为异常时,继续向看门狗发送开启指示之后还包括:
判断当前已发送所述开启指示的次数是否超过预设次数;
当超过预设次数时,停止进程;
当没有超过预设次数时,继续向所述看门狗发送所述开启指示。
优选地,所述当没有超过预设次数时,继续向所述看门狗发送所述开启指示之后还包括:
判断所述看门狗是否在预设等待时间接收到所述开启指示;
当判断为否时,打开所述看门狗;所述预设等待时间为当前时间点与所述恢复分区升级完成的时间点之间的时间长度。
本发明还提供一种基于Android系统的升级保护系统,包括:
升级模块,用于当确认恢复分区需要升级时,对所述恢复分区进行升级;
控制模块,用于在升级完成时向看门狗发送开启指示,以启动当前处于关闭状态的看门狗监控Android系统的运行。
优选地,所述升级保护系统还包括:
运行模块,用于运行升级脚本;
升级判断模块,用于判断所述恢复分区是否需要升级,并将判断结果反馈给控制模块;
所述控制模块还用于当不需要升级时,向所述看门狗发送开启指示,以启动当前处于关闭状态的看门狗监控Android系统的运行。
优选地,所述升级保护系统还包括:
接收模块,用于接收基于所述开启指示的反馈信息;
分析模块,用于分析所述反馈信息,当反馈信息为异常时向所述控制模块反馈,当为正常时停止进程。
优选地,所述升级保护系统还包括:
次数判断模块,用于判断当前已发送所述开启指示的次数是否超过预设次数,当没有超过预设次数时,向所述控制模块反馈。
本发明还提供一种移动终端,所述移动终端包括升级保护系统,所述升级保护系统包括:
升级模块,用于当确认恢复分区需要升级时,对所述恢复分区进行升级;
控制模块,用于在升级完成时向看门狗发送开启指示,以启动当前处于关闭状态的看门狗监控Android系统的运行。
在本发明实施例中,在恢复分区处于升级状态时,控制看门狗处于关闭状态,而在升级完成后,打开看门狗,可使得升级过程不受看门狗影响,保护升级顺利进行,可给用户带来便利,提高用户体验。
附图说明
图1是本发明第一实施例提供的一种基于Android系统的升级保护方法的流程图;
图2是本发明第二实施例提供的一种基于Android系统的升级保护系统的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,一种基于Android系统的升级保护方法,包括:当确认恢复分区需要升级时,对所述恢复分区进行升级;在升级完成时向看门狗发送开启指示,以启动当前处于关闭状态的看门狗监控Android系统的运行。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明第一实施例提供的一种基于Android系统的升级保护方法的流程图,包括:
步骤S1、当确认恢复分区需要升级时,对恢复分区进行升级;
步骤S2、在升级完成时向看门狗发送开启指示,以启动当前处于关闭状态的看门狗监控Android系统的运行;
在本实施例的一个优选技术方案中,上述步骤S1之前还包括:
步骤S3、运行升级脚本;
步骤S4、判断恢复分区是否需要升级,当需要升级时转到步骤S1,否则转到步骤S5;
具体地,运行升级脚本(install-recovery.sh),该脚本会先判断恢复分区是否需要更新,如果不需要直接就退出,如果需要升级时会完成recovery分区的升级动作后再退出,进一步地,可采用查看恢复分区的数据版本号或者序列号来确定是否需要升级,还可以采用现有的其他升级判断方法,此处对此不作限制。
步骤S5、当不需要升级时,向看门狗发送开启指示,以启动当前处于关闭状态的看门狗监控Android系统的运行。
在进一步优选方案中,上述步骤S2之后还可包括:
步骤S6、接收基于开启指示的反馈信息;
具体地,当发送开启指示后,会接收到对应的反馈信息;
步骤S7、判断所接收的反馈信息是否正常;
具体地,分析该反馈信息,当反馈信息为异常时,返回到步骤S5,继续向看门狗发送开启指示,当反馈信息为正常时,停止进程。其中,该反馈信息通常以代码表示,例如0表示正常、-1或者-2表示异常,当接收的反馈信息为0时表示正常,即该看门狗成功接收到该开启指示,看门狗根据该开启指示会打开,停止进程;-1时表示异常,即表示该看门狗未成功接收到该开启指示,需要继续发送该开启指示。需要说明的是,上述代码(0、-1、-2等)只是优选方案,还可以用其他来替代,此处对此不作限制。
优选地,当反馈信息为异常时,继续向看门狗发送开启指示之后还包括:
判断当前已发送开启指示的次数是否超过预设次数;
当超过预设次数时,停止进程;
当没有超过预设次数时,继续向看门狗发送开启指示。
具体地,该预设次数根据实际情况而设,如3次、4次或5次,还可以是其他数值,此处对此不作限制。由于不能无限次发送该开启指示,当发送预设次数之后如果还没有发送成功,则不再发送。
进一步优选地,当反馈信息为异常时,继续向看门狗发送开启指示之后还可包括:
判断看门狗是否在预设等待时间接收到开启指示;
当判断为否时,打开看门狗;
具体地,当恢复分区正在升级时,看门狗是处于关闭状态的,该看门狗一直处于等待开启状态,在恢复分区升级完成时作为时间起点开始计时,看门狗等待接收开启指示,在后续的过程中,当超过预设等待时间还未成功接收到开启指示时(接收到开启指示即说明看门狗打开了),看门狗自动打开,该预设等待时间为当前时间点与恢复分区升级完成的时间点之间的时间长度。需要说明的是,该预设等待时间应该大于两次发送开启指示之间的时间间隔与预设次数之间的乘积,以确保看门狗在恢复分区升级完成之后处于打开状态,以监控并保护Android系统的运行。
在本实施例的一个变形方案中,当反馈信息为异常时,继续向看门狗发送开启指示之后还可包括:
在到达预设等待时间时判断看门狗是否已开启;
当未开启时,打开看门狗;
具体地,从升级完成开始,看门狗进入等待开启的状态,从升级完成时作为时间起点计算等待时间,当到达预设等待时间时,判断看门狗是否已开启,若未开启则说明未成功接收到开启指示,则需要自动打开看门狗。在网络或者数据传输过程中出现错误时未能将开启指示发给看门狗,则判断到达预设等待时间时仍未接收到开启指示或者看门狗仍未打开,则自动打开看门狗进行工作。
本实施例中,在恢复分区处于升级状态时,控制看门狗处于关闭状态,而在升级完成后,打开看门狗,可使得升级过程不受看门狗影响,保护升级顺利进行,可给用户带来便利,提高用户体验。
此外,在升级完成后,及时打开看门狗,及时监控Android系统的正常运行,提高系统的可靠性。
实施例二:
图2示出了本发明第二实施例提供的一种基于Android系统的升级保护系统的结构图,包括:升级模块1、与升级模块1连接的控制模块2,其中:
升级模块1,用于当确认恢复分区需要升级时,对所述恢复分区进行升级;
控制模块2,用于在升级完成时向看门狗发送开启指示,以启动当前处于关闭状态的看门狗监控Android系统的运行;
在本实施例的一个优选技术方案中,上述保护系统还可包括:运行模块3、与运行模块3连接的升级判断模块4,其中:
运行模块3,用于运行升级脚本;
升级判断模块4,用于判断所述恢复分区是否需要升级,当需要升级时反馈给上述升级模块1,否则反馈给控制模块2;
具体地,运行升级脚本(install-recovery.sh),该脚本会先判断恢复分区是否需要更新,如果不需要直接就退出,如果需要升级时会完成recovery分区的升级动作后再退出,进一步地,可采用查看恢复分区的数据版本号或者序列号来确定是否需要升级,还可以采用现有的其他升级判断方法,此处对此不作限制。
上述控制模块2还用于:当不需要升级时,向所述看门狗发送开启指示,以启动当前处于关闭状态的看门狗监控Android系统的运行。
进一步优选方案中,该升级保护系统还可包括:
接收模块5,用于接收基于开启指示的反馈信息;
具体地,当发送开启指示后,会接收到对应的反馈信息;
分析判断模块6,用于判断所接收的反馈信息是否为正常;
具体地,分析判断该反馈信息,当反馈信息为异常时,反馈给控制模块2,继续向看门狗发送开启指示,当反馈信息为正常时,停止进程。其中,该反馈信息通常以代码表示,例如0表示正常、-1或者-2表示异常,当接收的反馈信息为0时表示正常,即该看门狗成功接收到该开启指示,看门狗根据该开启指示会打开,停止进程;-1时表示异常,即表示该看门狗未成功接收到该开启指示,需要继续发送该开启指示。需要说明的是,上述代码(0、-1、-2等)只是优选方案,还可以用其他来替代,此处对此不作限制。
优选地,实施例还可包括:
次数判断模块,用于判断当前已发送开启指示的次数是否超过预设次数,当超过预设次数时,停止进程,当没有超过预设次数时,向该控制模块2反馈,继续向看门狗发送开启指示。
具体地,该预设次数根据实际情况而设,如3次、4次或5次,还可以是其他数值,此处对此不作限制。由于不能无限次发送该开启指示,当发送预设次数之后如果还没有发送成功,则不再发送。
进一步优选地,该升级保护系统还可包括:
指示判断模块,用于判断看门狗是否在预设等待时间接收到开启指示,当判断为否时,打开看门狗;
具体地,当恢复分区正在升级时,看门狗是处于关闭状态的,该看门狗一直处于等待开启状态,在恢复分区升级完成时作为时间起点开始计时,看门狗等待接收开启指示,在后续的过程中,当超过预设等待时间还未成功接收到开启指示时(接收到开启指示即说明看门狗打开了),看门狗自动打开,该预设等待时间为当前时间点与恢复分区升级完成的时间点之间的时间长度。
需要说明的是,该预设等待时间应该大于两次发送开启指示之间的时间间隔与预设次数之间的乘积,以确保看门狗在恢复分区升级完成之后处于打开状态,以监控并保护Android系统的运行。
在本实施例的一个变形方案中,该升级保护系统还可包括:
状态判断模块,用于在到达预设等待时间时判断看门狗是否已开启;当未开启时,打开看门狗;
具体地,从升级完成开始,看门狗进入等待开启的状态,从升级完成时作为时间起点计算等待时间,当到达预设等待时间时,判断看门狗是否已开启,若未开启则说明未成功接收到开启指示,则需要自动打开看门狗。在网络或者数据传输过程中出现错误时未能将开启指示发给看门狗,则判断到达预设等待时间时仍未接收到开启指示或者看门狗仍未打开,则自动打开看门狗进行工作。
本实施例中,在恢复分区处于升级状态时,控制看门狗处于关闭状态,而在升级完成后,打开看门狗,可使得升级过程不受看门狗影响,保护升级顺利进行,可给用户带来便利,提高用户体验。
此外,在升级完成后,及时打开看门狗,及时监控Android系统的正常运行,提高系统的可靠性。
本发明还提供一种移动终端,该移动终端包括现有技术的移动终端的结构,还包括android系统,该android系统包括升级保护系统,该升级保护系统的具体结构及工作原理与上述实施例的描述基本一致,具体可参考上述实施例,此处不再赘述。
本发明中,在恢复分区处于升级状态时,控制看门狗处于关闭状态,而在升级完成后,打开看门狗,可使得升级过程不受看门狗影响,保护升级顺利进行,可给用户带来便利,提高用户体验。
此外,在升级完成后,及时打开看门狗,及时监控Android系统的正常运行,提高系统的可靠性。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。