一种系统分区的修复方法及装置与流程

文档序号:12824493阅读:236来源:国知局
一种系统分区的修复方法及装置与流程

本发明实施例涉及操作系统技术领域,尤其涉及一种系统分区的修复方法及装置。



背景技术:

随着智能设备的不断进步与发展,用户对智能设备的要求也越来越高,这就需要设备厂商不断去对系统升级以满足用户需求。

目前,智能终端设备中会存在多个分区,每个分区的功能各不相同。当一些分区出现问题时,可以通过系统升级的方式对问题进行修复。现有技术中,系统升级一般是通过ota(over-the-air,空中下载技术)来升级系统的分区。以android(安卓)系统为例,当android系统某些分区(例如boot分区或kernel分区)数据出现异常,在进入升级模式之前就出现问题时,系统将无法再进入升级模式以使用ota包来完成升级。而对于系统分区出现问题的设备,一般都是通过数据线或者串口线等特定工具同时配合其他设备来辅助刷新系统。非专业用户在不清楚如何刷机或者在刷机时出现系统被“卡死”的情况下,只能将智能设备送到售后去做维修。

因此,现有技术对于系统分区出现问题的设备的处理方式可靠性较差,用户体验有待提高。



技术实现要素:

本发明提供一种系统分区的修复方法及装置,以实现对存在问题的损坏系统分区完成自动修复,提升用户体验。

为实现上述目的,本发明实施例采用如下技术方案:

第一方面,本发明实施例提供了一种系统分区的修复方法,所述方法包括:

获取服务器下发的预设修复安装包,其中,所述预设修复安装包中至少携带有损坏系统分区对应的预设修复指令和正常系统分区数据;

根据服务器发送的安装指令安装并启动所述预设修复安装包;

基于所述预设修复指令和正常系统分区数据对损坏系统分区进行修复。

第二方面,本发明实施例还提供了一种系统分区的修复装置,该装置包括:

预设修复安装包获取模块,用于获取服务器下发的预设修复安装包,其中,所述预设修复安装包中至少携带有损坏系统分区对应的预设修复指令和正常系统分区数据;

安装启动模块,用于根据服务器发送的安装指令安装并启动所述预设修复安装包;

修复模块,用于基于所述预设修复指令和正常系统分区数据对损坏系统分区进行修复。

第三方面,本发明实施例还提供了一种系统分区的修复方法,该方法包括:

获取网络中所有终端设备的设备型号;

在所述所有终端设备中,判断是否存在与损坏系统分区的终端设备的设备型号相匹配的终端设备,若存在,则将所述损坏系统分区的终端设备确定为目标设备;

将预设修复安装包下发到所述目标设备中,使得所述目标设备根据所述预设修复安装包完成对损坏系统分区的修复。

第四方面,本发明实施例还提供了一种系统分区的修复装置,该装置包括:

设备型号获取模块,用于获取网络中所有终端设备的设备型号;

目标设备确定模块,用于在所述所有终端设备中,判断是否存在与损坏系统分区的终端设备的设备型号相匹配的终端设备,若存在,则将所述损坏系统分区的终端设备确定为目标设备;

系统分区修复模块,用于将预设修复安装包下发到所述目标设备中,使得所述目标设备根据所述预设修复安装包完成对损坏系统分区的修复。

本发明通过获取服务器下发的预设修复安装包,并根据服务器发送的安装指令安装并启动预设修复安装包后,可根据预设修复安装包中携带的预设修复指令和正常系统分区数据对损坏系统分区进行自动修复,而不需要通过刷机等其他方式将存在问题的设备恢复到原始出厂状态来进行修复。同时本发明实施例所提供的损坏系统分区的修复方式效率高、速度快,有效地提升了用户体验。

附图说明

图1为本发明实施例一提供的一种系统分区的修复方法的流程图;

图2为本发明实施例二提供的一种系统分区的修复方法的流程图;

图3为本发明实施例三提供的一种系统分区的修复装置的结构框图;

图4为本发明实施例四提供的一种系统分区的修复方法的流程图;

图5为本发明实施例五提供的一种系统分区的修复装置的结构框图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种系统分区的修复方法的流程图,本实施例可适用于系统分区数据发生损坏、或者无法完成系统升级等情况,该方法可以由系统分区的修复装置来执行,该装置可由软件和/或硬件实现,一般集成在存在损坏系统分区的终端设备中。如图1所述,该方法具体包括如下步骤:

s110:获取服务器下发的预设修复安装包,其中,所述预设修复安装包中至少携带有损坏系统分区对应的预设修复指令和正常系统分区数据。

示例性的,在本发明实施例中所提到的系统可优选为安卓系统,同时也可以为linux等其他操作系统。需要说明的是,获取预设安装包的终端设备与服务器需存在通信连接关系。示例性的,终端设备可包括电视或手机等智能终端设备。

其中,预设修复安装包为根据系统分区数据出现损坏的终端设备而设置的修复安装包。根据终端设备的系统分区所出现问题的不同,可将与损坏系统分区对应的预设修复指令和正常系统分区数据都打包到预设修复安装包中,使得预设修复安装包更具有针对性。示例性的,对于安卓系统,本领域技术人员可以理解的是,可将预设修复指令写成一个shell脚本(即一系列shell命令的集合),并与正常系统分区的数据同时打包到serviceapk(对应于安卓系统的修复安装包)的assets文件夹中后,服务器将打包好的serviceapk下发到系统分区出现问题的终端设备。

示例性的,也可以将不同损坏系统分区所对应的不同预设修复安装包同时压缩到一个大的修复安装包中,使得压缩后的修复安装包更具有全面性和广泛性。

s120:根据服务器发送的安装指令安装并启动预设修复安装包。

其中,在获取到服务器所下发的预设修复安装包后,还需根据服务器的安装指令对预设修复安装包进行安装,安装后可自动运行。

示例性的,根据服务器的安装指令安装预设修复安装包的过程可在终端设备从关闭状态切换到开启状态时发生。这样设置的好处在于,可在用户未知的情况下,修复终端设备系统分区存在的问题,进而不影响用户的操作体验。示例性的,对于一些特殊的修复安装包,也可在获取到用户的安装指令后进行安装。

s130:基于预设修复指令和正常系统分区数据对损坏系统分区进行修复。

示例性的,由于预设修复安装包中携带有预设修复指令以及正常系统分区数据,则基于预设修复指令和正常系统分区数据对当前仍处于损坏状态的损坏系统分区进行修复可包括:根据预设修复指令将正常系统分区数据覆盖损坏系统分区的数据,以对损坏系统分区进行修复。通过采用上述技术手段,可对存在问题的系统分区自动修复,使得修复后的系统分区与正常系统分区相同,同时通过软件代码的方式对损坏系统分区进行修复也节省了修复时间、提高了修复效率并且降低了修复成本。

仍以安卓系统为例,本领域技术人员可以理解的是:通过java的inputstream类和fileoutputstream类将预设修复安装包serviceapk的assets文件夹中预先包含的预设修复命令脚本和正常系统分区数据写到当前系统的一个读写分区中,然后通过android的runtime.getruntime().exec方法执行写到读写分区的命令脚本并将写到读写分区的正常系统分区数据覆盖系统现在的问题分区数据。其中,修复损坏系统分区的关键是命令脚本,命令脚本是一系列的shell命令集合,主要是通过的特定方法,例如可优选为通过adb(androiddebugbridge,安卓系统debug调试工具),首先获取系统的root权限,然后adb通过命令adbconnectlocalhost与当前设备建立连接,再通过下述命令:adbshellddif=正常系统分区数据文件of=损坏系统分区bs=系统block大小count=损坏分区大小/blockseek=系统分区起始地址,可将正常系统分区数据覆盖损坏系统分区的数据,从而达到修复系统的目的。

本发明实施例一提供了一种系统分区的修复方法,通过获取服务器下发的预设修复安装包,并根据服务器发送的安装指令安装并启动预设修复安装包后,可根据预设修复安装包中携带的预设修复指令和正常系统分区数据对损坏系统分区进行自动修复,而不需要通过刷机或者联系售后等其他方式将存在问题的设备恢复到原始出厂设置来进行修复。同时本发明实施例所提供的系统分区的修复方式效率高、速度快,有效地提升了用户体验。

进一步的,通过采用上述技术方案完成对损坏系统分区的自动修复后,用户可以继续使用ota包实现系统升级,以提升自身体验。

实施例二

图2为本发明实施例二提供的一种系统分区的修复方法的流程图,本实施例对上述实施例进行了细化,参照图2,本发明实施例具体包括如下步骤:

s210:获取服务器下发的预设修复安装包。

s220:根据服务器发送的安装指令安装并启动预设修复安装包。

s230:获取当前系统版本号。

s240:将当前系统版本号与损坏系统分区的系统版本号进行匹配,判断当前系统版本号与损坏系统分区的系统版本号是否相符,若是,则执行步骤s250;否则,返回执行步骤s220。

示例性的,由于预设修复安装包中还携带有损坏系统分区的系统版本号,因此,可通过将当前系统版本号与损坏系统分区的系统版本号进行匹配,若二者相符,则可确定出当前设备的系统分区存在以下两种可能:(1)当前设备仍然存在损坏系统分区;(2)当前设备的系统分区曾经被损坏但已经完成了修复。然而,若当前系统版本号与损坏系统分区的系统版本号不相符时,则可说明当前设备的系统分区不存在问题,则无需对其进行修复。接着当前设备以外的其他设备可根据服务器发送的安装指令安装并启动预设修复安装包,以执行循环判断过程。通过采用上述技术手段,可以提高被修复对象确定的准确率。

s250:判断当前的损坏系统分区中是否存在修正标识,若是,则执行步骤s260;否则,执行步骤s270。

示例性的,当各个损坏系统分区在修复完成后,可对其所属系统添加修正标识,以避免损坏系统分区在修复完成后再次出现被修复的情况。其中,存在修正标识可表明系统分区中出现的问题已被修复,当前的系统分区处于正常状态。因此,若不存在修正标识,则可判断出当前系统分区仍处于损坏状态。

可选的,在预设修复安装包中也可携带有与损坏系统分区所出现的问题对应的预设修正标识。此时,若检测到预设修复安装包中携带的预设修正标识与系统分区中的修正标识相匹配,则可确定损坏系统分区所出现的问题已被修复;若上述二者不匹配,则可表明当前的预设修复安装包与当前损坏系统分区所出现问题不对应,进而可表明当前的预设修复安装包不能修复当前损坏系统分区。通过采用上述方式,可有针对性的确定出出现特定问题的损坏系统分区,并针对特定问题完成系统修复。

s260:确定损坏系统分区已被修复。

s270:确定损坏系统分区当前仍处于损坏状态,继续执行步骤s280。

s280:根据预设修复指令将正常系统分区数据覆盖损坏系统分区的数据,以对当前仍处于损坏状态的系统分区进行修复。

本发明实施例二在上述实施例的基础上,通过将当前系统的系统版本号与预设修复安装包中的系统版本号进行匹配,可提高确定损坏系统分区的准确性。通过判断损坏系统分区中是否存在修正标识,可避免已经完成修复的损坏系统分区出现再次被修复的现象,提升的系统分区修复的准确性和快速性。

实施例三

图3为本发明实施例三提供的一种系统分区的修复装置的结构框图,本实施例可适用于系统分区数据发生损坏、或者无法完成系统升级等情况,该装置可由软件和/或硬件实现,一般集成在存在损坏系统分区的终端设备中。如图3所述,该系统分区的修复装置包括:预设修复安装包获取模块310、安装启动模块320和修复模块330。其中,

预设修复安装包获取模块310,用于获取服务器下发的预设修复安装包,其中,所述预设修复安装包中至少携带有损坏系统分区对应的预设修复指令和正常系统分区数据;

安装启动模块320,用于根据服务器发送的安装指令安装并启动所述预设修复安装包;

修复模块330,用于基于所述预设修复指令和正常系统分区数据对损坏系统分区进行修复。

本发明实施例三提供了一种系统分区的修复装置,通过获取服务器下发的预设修复安装包,并根据服务器发送的安装指令安装并启动预设修复安装包后,可根据预设修复安装包中携带的预设修复指令和正常系统分区数据对损坏系统分区进行自动修复,而不需要通过刷机或者联系售后等其他方式将存在问题的设备恢复到原始出厂设置来进行修复。同时本发明实施例所提供的系统分区的修复方式效率高、速度快,有效地提升了用户体验。

在上述实施例的基础上,所述预设修复安装包中还携带有损坏系统分区的系统版本号;相应的,所述修复模块330包括:系统版本号获取单元,用于获取当前系统版本号;系统分区修复单元,用于将所述当前系统版本号与所述损坏系统分区的系统版本号进行匹配,若相符,则判断所述当前的损坏系统分区中是否存在修正标识,并根据判断结果且基于所述预设修复指令和正常系统分区数据对当前仍处于损坏状态的系统分区进行修复。

在上述实施例的基础上,所述系统分区修复单元具体用于:

当所述当前系统版本号与所述损坏系统分区的系统版本号相匹配时,若所述当前的损坏系统分区中存在所述修正标识,则确定所述损坏系统分区已被修复;若所述当前的损坏系统分区中不存在所述修正标识,则确定所述损坏系统分区当前仍处于损坏状态,则基于所述预设修复指令和正常系统分区数据对当前仍处于损坏状态的损坏系统分区进行修复。

在上述实施例的基础上,所述修复模块330具体用于:

根据所述预设修复指令将所述正常系统分区数据覆盖所述损坏系统分区的数据,以对当前仍处于损坏状态的系统分区进行修复。

实施例四

图4为本发明实施例四提供的一种系统分区的修复方法的流程图,本实施例可适用于系统分区数据发生损坏、或者无法完成系统升级等情况,该方法可以由系统分区的修复装置来执行,该装置可由软件和/或硬件实现,一般集成在服务器中。如图4所述,该方法具体包括如下步骤:

s410:获取网络中所有终端设备的设备型号。

由于服务器在下发预设修复安装包之前,可通过开发商反馈或者程序员测试等方式获取到损坏系统分区的终端设备的设备型号。因此,服务器可获取网络中所有终端设备的设备型号并根据设备型号判断出系统分区存在损坏的问题设备。

s420:在所有终端设备中,判断是否存在与损坏系统分区的终端设备的设备型号相匹配的终端设备,若存在,则执行步骤s430;否则,返回执行步骤s410。

s430:将损坏系统分区的终端设备确定为目标设备,继续执行步骤s440。

s440:将预设修复安装包下发到目标设备中,使得目标设备根据预设修复安装包完成对损坏系统分区的修复。

其中,预设修复安装包以及目标设备根据预设修复安装包完成对损坏系统分区的修复方式与上述实施例所提供的方式相同,具体可参照上述实施例所描述的方式,此处不再赘述。

本方案中,服务器在确定目标设备后,可有针对性的下发预设修复安装包,进而可以减小服务器的压力

本发明实施例四提供了一种系统分区的修复方法,通过将获取网络中所有终端设备的设备型号与损坏系统分区的终端设备型号进行匹配后,可确定出需要进行系统分区修复的目标设备,并将预设修复安装包下发到目标设备中。目标设备根据预设修复安装包完成对损坏系统分区的自动修复,其实施方式方便,快捷且有效,同时也不需通过刷机等其他方式对目标设备存在的问题进行修复,达到提升用户体验的效果。

实施例五

图5为本发明实施例五提供的一种系统分区的修复装置的结构框图,本实施例可适用于系统分区数据发生损坏、或者无法完成系统升级等情况,该装置可由软件和/或硬件实现,一般集成在服务器中。如图5所述,该系统分区的修复装置包括:设备型号获取模块510、目标设备确定模块520和系统分区修复模块530。其中,

设备型号获取模块510,用于获取网络中所有终端设备的设备型号;目标设备确定模块520,用于在所述所有终端设备中,判断是否存在与损坏系统分区的终端设备的设备型号相匹配的终端设备,若存在,则将所述损坏系统分区的终端设备确定为目标设备;系统分区修复模块530,用于将预设修复安装包下发到所述目标设备中,使得所述目标设备根据所述预设修复安装包完成对损坏系统分区的修复。

本发明实施例五提供了一种系统分区的修复装置,通过将获取网络中所有终端设备的设备型号与损坏系统分区的终端设备型号进行匹配后,可确定出需要进行系统分区修复的目标设备,并将预设修复安装包下发到目标设备中。目标设备根据预设修复安装包完成对损坏系统分区的自动修复,目标设备根据预设修复安装包完成对损坏系统分区的自动修复,其实施方式方便,快捷且有效,同时也不需通过刷机等其他方式对目标设备存在的问题进行修复,达到提升用户体验的效果。

上述实施例中提供的系统分区的修复装置可执行本发明任意实施例所提供的系统分区的修复方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的系统分区的修复方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1