一种版本升级的方法及装置与流程

文档序号:11774141阅读:232来源:国知局
一种版本升级的方法及装置与流程

本发明涉及计算机技术领域,特别涉及一种版本升级的方法及装置。



背景技术:

随着通信技术的发展,智能电视、智能手机等终端设备的使用需求不断提高。在终端设备的使用过程中,为了优化终端设备的性能,往往需要设备厂商对出厂的终端设备进行系统升级,即对终端设备的软件版本进行升级。现有技术通常基于空中下载(over-the-airtechnology,简称ota)技术实现终端系统的升级操作。

现有技术中,基于ota的升级方式首先在终端设备的使用过程中进入recovery模式进行升级包的下载,然后在终端设备下一次重启后升级软件程序。基于该方式的升级,在升级过程中用户无法正常使用终端设备;同时,若升级失败,则有可能对终端升级前系统版本的分区的文件造成损坏,终端若再次重启则无法加载已经遭到损坏的分区的文件,从而给用户的呈现是终端重启了但是无法开机成功进入操作系统的结果,也就是说,终端重启后无法进入系统,更加无法进入到用户使用界面,因此无法在用户使用界面下进行升级包的下载,以及系统的再次升级。



技术实现要素:

为了避免升级导致终端设备无法正常使用,本实施例提供了一种版本升级方法及装置。所述技术方案如下:

第一方面,提供了一种版本升级方法,所述方法包括:

若升级包下载成功,读取启动标识符,根据所述启动标识符确定第一分区系统和第二分区系统,所述启动标识符用于标识所述终端设备当前运行调用第一分区系统,所述第二分区系统为所述终端设备执行升级操作的分区系统;

将所述升级包与所述终端设备待升级软件进行校验;

若校验成功,对所述第二分区系统分区进行升级。

在一种可能的实现方式中,所述对所述第二分区系统分区进行升级之后,包括:

若所述第二分区系统分区升级成功,则修改所述启动标识符,用于标识终端设备重启后运行调用的为第二分区系统。

在另一种可能的实现方式中,如果所述升级包为差分包,所述将所述升级包与所述终端设备待升级软件校验成功后,所述方法包括:

将所述升级包中分区差分文件与所述第一分区系统分区镜像文件合成新的分区镜像文件;

将所述新的分区镜像文件写入所述第二分区系统相应的分区,进行升级。

在另一种可能的实现方式中,所述对第二分区系统分区进行升级后,包括:

当所述终端设备重启时,根据所述启动标识符加载所述第二分区系统分区文件。

在另一种可能的实现方式中,所述方法包括:

若第二分区系统升级失败,当所述终端设备重启时,加载所述第一分区系统分区文件。

第二方面,提供了一种版本升级的装置,所述装置包括:

分区系统确定模块,用于若升级包下载成功,读取启动标识符,根据所述启动标识符确定第一分区系统和第二分区系统,所述启动标识符用于标识所述终端设备当前运行调用的第一分区系统,所述第二分区系统为所述终端设备执行升级操作的分区系统;

校验模块,用于将所述升级包与所述终端设备待升级软件进行校验;

升级模块,用于所述校验模块校验成功时,对所述第二分区系统的分区进行升级。

在一种可能的实现方式中,所述装置还包括:

启动标识符修改模块,用于在所述第二分区系统分区升级成功时,修改所述启动标识符,用于标识终端设备重启后运行调用的为所述第二分区系统。

在另一种可能的实现方式中,所述装置还包括:

升级包生成模块,用于当所述校验模块校验成功时,将所述升级包中分区差分文件与所述第一分区系统分区镜像文件合成新的分区镜像文件;

所述升级模块,用于将所述新的分区镜像文件写入所述第二分区系统相应的分区,进行升级。

在另一种可能的实现方式中,所述装置包括:

加载模块,用于若第二分区系统升级成功,当所述终端设备重启时,根据所述启动标识符加载所述第二分区系统的分区文件。

在另一种可能的实现方式中,所述加载模块,还用于若第二分区系统升级失败,当所述终端设备重启时,加载所述第一分区系统的分区文件。

本实施例提供的技术方案带来的有益效果是:

本发明实施例提供的方法和装置,终端设备在成功下载升级包并校验成功后,并没有对终端设备当前系统运行的分区文件进行升级;而是先根据启动标识符确定终端设备的第一分区系统和第二分区系统,对第二分区系统分区进行升级。该升级方式不影响终端设备当前的正常使用;可以避免升级失败导致终端设备变砖的问题。

附图说明

为了更清楚地说明本实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本实施例提供的一种版本升级方法的场景示意图;

图2是本实施例提供的一种版本升级方法的流程图;

图3是本实施例提供的一种版本升级方法的流程图;

图4a是本实施例提供的一种终端设备分区示意图;

图4b是本实施例提供的另一种终端设备分区示意图;

图5是本实施例提供的一种版本升级方法的流程图;

图6a为本实施例提供的终端设备分区系统运行示意图;

图6b为本实施例提供的终端设备分区系统运行示意图;

图7a是本实施例提供的一种版本升级的装置结构示意图;

图7b是本实施例提供的一种版本升级的装置结构示意图;

图8a是本实施例提供的一种版本升级的装置结构示意图;

图8b是本实施例提供的一种版本升级的装置结构示意图;

图9是本实施例提供的一种终端的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步的详细描述,显然,所描述的实施例只是本发明一部分实施例,而不是全部实施例。基于本发明的实施例,本领域的技术人员在不付出创造性劳动的前提下获取的其他实施例,都属于本发明保护的范围。

为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。

在本发明实施例中,终端设备,是指具有连接移动通信网络和无线网络能力的通信终端设备,包括但不限于:手机、智能电视、平板电脑、umpc(ultra-mobilepersonalcomputer,超级移动个人计算机)、上网本、pda(personaldigitalassistant,个人数字助理)等。

本发明实施例中升级包包括两类,完整包和差分包。完整包包括该升级包对应的系统版本所包括的分区的所有信息,差分包仅仅包括差分包对应的两个系统版本之间存在的差异化信息。当终端设备根据完整包进行系统升级时,具体操作为终端设备加载升级包中的升级文件,并覆盖终端上原有对应的文件。示例性的,升级包中包括boot分区的文件,升级包中boot分区的文件为v2版本,终端设备中现有的boot分区的文件为v1版本,终端设备依据升级包进行升级时,将终端设备上现有的v1版本的boot分区的文件替换为升级包中的v2版本的boot分区的文件。当终端设备根据差分包进行系统升级时,具体操作为终端设备加载升级包中的升级文件,与终端设备中对应的待升级文件合成新的升级文件,并写入终端设备相应分区。示例性的,升级包中包括版本号为v1-v2的boot分区差分文件,终端设备中现有的boot分区的文件为v1版本,终端设备进行升级时,根据终端设备上现有的v1版本的boot分区文件和升级包中v1-v2版本的boot分区差分文件合成新的boot分区升级文件,并替换终端设备中v1版本的boot分区文件。通常来说,完整包的数据量大于差分包的数据量,为了节省数据传输量,通常终端和服务器之间传输差分包,用于进行系统的升级。

本发明实施例中升级包包括的升级文件对应终端设备中一个或多个分区,每个分区中存放的文件不同,每个分区中存放的文件的作用也不同。以android电视终端设备为例,主要包括以下基本分区:启动引导分区bootfs、内核分区kernelfs、根目录分区roofs、tv系统分区tvysfsfs、应用程序分区appfs、用户数据分区datafs。其中,bootfsf分区用于存储电视设备操作系统引导过程中使用的文件;kernels分区用于存储电视设备操作系统系统内核程序;rootfs分区用于存储系统根文件;tvysfsfs分区用于存储电视系统中间件程序,主要提供直播电视、多媒体、系统升级、遥控器按键接收、多屏互动、网络链接等电视基本业务服务以及各种设备的管理服务;appfs分区用于存储电视系统应用程序。此外电视终端设备还包括datafs分区,用于存储用户实时产生的数据,该分区内容无需进行升级。

当电视设备上电时bootfs分区中引导程序加载kernelfs分区中内核程序,然后在内核中挂载rootfs分区中的根文件系统同时挂载tvysfsfs分区和启动中间件程序,至此电视系统基本启动完成。appfs分区中的应用程序则根据实际需要可以在开机过程中启动或根据用户操作启动。由上述可见,bootfs分区、kernelfs分区、rootfs分区、tvysfsfs分区为与系统运行相关的分区。

本发明实施例中的升级包可包括一个分区的文件或多个分区的文件,一个分区可包括一个文件,或者一个分区可包括多个文件。仍以android电视终端设备为例,该终端设备接收的升级包中可以包括启动引导分区bootfs、内核分区kernelfs、根目录分区roofs、tv系统分区tvysfsfs、应用程序分区appfs、用户数据分区datafs中的一个或多个分区,其中分区可以包括一个或多个文件。

为便于清楚理解本发明实施例的技术方案,本发明实施例以android电视设备为例,对本方案进行详细介绍。

图1为本发明实施例的应用场景示意图,该系统100可以包括服务器101、至少一个终端设备102,其中服务器101和终端设备102通过有线或无线连接的方式连接。在该应用场景下终端设备102可以从服务器101获取升级包实现版本的升级。

图2为本发明提供的一种版本升级方法的流程图,应用于图1所示的终端设备102,该方法包括:

s201、若升级包下载成功,

读取启动标识符,根据该启动标识符确定第一分区系统和第二分区系统,启动标识符用于标识所述终端设备当前运行调用第一分区系统,第二分区系统为所述终端设备执行升级操作的分区系统;

s202、将升级包与终端设备待升级软件进行校验;

s203、若校验成功,对第二分区系统分区进行升级。

综上所述,本发明实施例提供的方法和装置,终端设备接收到服务器发送的升级包后,在校验成功时,并没有对终端设备当前系统运行的分区文件进行升级;而是先根据启动标识符确定终端设备当前运行的第一分区系统和后台备用的第二分区系统,对第二分区系统分区进行升级,该升级方式在保证终端设备版本升级的同时,不影响终端设备当前的正常使用。

在一种可能的实现方式中,若第二分区系统分区升级成功,则修改启动标识符,用于标识终端设备重启后运行调用的为第二分区系统。

在另一种可能的实现方式中,若第二分区系统分区升级成功,当终端设备重启时,根据启动标识符加载第二分区系统分区文件。

在另一种可能的实现方式中,若第二分区系统升级失败,则终端设备重启时,仍加载第一分区系统分区文件。

本发明实施例提供的方法和装置,终端设备接收到服务器发送的升级包后,在校验成功时,并没有对终端设备当前系统运行的分区文件进行升级;而是先根据启动标识符确定终端设备当前运行的第一分区系统和后台备用的第二分区系统,对第二分区系统分区进行升级,并在终端重启后加载第二分区系统分区文件。该升级方式在保证终端设备版本升级的同时,不影响终端设备当前的正常使用;此外若第二分区系统升级失败,终端设备在重启后仍加载第一分区系统文件,避免了升级失败(如终端设备意外断电)导致终端设备变砖的问题。

在另一种可能的实现方式中,s201和s202无先后顺序。

在另一种可能的实现方式中,终端设备下载升级包之前,包括如下步骤:

1)终端设备或者服务器确定终端设备当前系统版本,并判断服务器中是否存在版本高于当前系统版本的升级包;

2)若存在,则终端设备向服务器发送系统版本升级请求。

本发明实施例中的升级包可以为完整包或差分包。优选的,该升级包为差分包。图3为本发明实施例提供的一种版本升级的方法,应用于终端设备,且该终端设备接收的升级包为差分包,下面以差分包为例对图2所示的实施例进行详细说明。参见图3,该方法包括:

s301、若升级包下载成功,

读取启动标识符,根据该启动标识符确定第一分区系统和第二分区系统,启动标识符用于标识所述终端设备当前运行调用第一分区系统,第二分区系统为所述终端设备执行升级操作的分区系统;

其中,该升级包为差分升级包,分为两部分:与系统运行相关的分区差分文件,如bootfs分区、kernelfs分区、rootfs分区、tvysfsfs分区差分文件;及,应用差分文件,如appfs分区差分文件。

可选择的,终端设备接收到的服务器发送的差分升级包可以包括终端设备中的一个或多个分区的差分文件。

可选择的,该启动标识符可以存储于boot、misc等位置,终端设备根据其存储地址获取该启动标识符的取值,从而确定终端设备当前运行的分区系统。

示例性的,终端设备存在两分区系统,分区系统a和分区系统b,其中分区系统a和b包含相同的分区,即分区系统a包含bootfs分区、kernelfs分区、rootfs分区和tvysfsfs分区,分区系统b也包含bootfs分区、kernelfs分区、rootfs分区和tvysfsfs分区。在一种可能的实现方式中,若终端设备读取启动标识符bootflag的取值为0,表示a分区系统为终端设备当前运行的第一分区系统,b分区系统为执行升级操作的第二分区系统;若读取启动标识符bootflag的取值为1,表示b分区系统为终端设备当前运行的第一分区系统,a分区系统为执行升级操作的第二分区系统。

本实施例的启动标识符设置方式仅为一种示例性设置,凡可起到标识终端设备当前运行调用的第一分区系统的启动标识符设置方式均落在本发明的保护范围内。

本发明实施例中第一分区系统和第二分区系统分别包括与系统运行相关的分区,即第一分区系统包括bootfs分区、kernelfs分区、rootfs分区、tvysfs分区等与系统运行相关的分区,第二分区系统包括bootfs分区、kernelfs分区、rootfs分区、tvysfsfs分区等与系统运行相关的分区。

在一种可能的实施方式中,如图4a所示,第一分区系统和第二分区系统可以各自仅包括bootfs分区、kernelfs分区、roofs分区、tvysfs分区等与系统运行相关的分区,其中第一分区系统与appfs分区、datafs分区组成完整的终端设备操作系统,可独立运行;第二分区系统与appfs分区、datafs分区组成完整的终端设备操作系统,可独立运行。

在另一种可能的实施方式中,如图4b所示,第一分区系统包括bootfs分区、kernelfs分区、roofs分区、tvysfs分区等与系统运行相关的分区和appfs分区;第二分区系统包括bootfs分区、kernelfs分区、rootfs分区、tvysfsfs分区等与系统运行相关的分区和appfs分区。其中第一分区系统和第二分区系统可分别与datafs分区组成完整的终端设备操作系统,可独立运行。

为节省磁盘空间,优选的,本发明实施例第一分区系统和第二分区系统各自仅包括bootfs分区、kernelfs分区、rootfs分区、tvysfsfs分区等与系统运行相关的分区。

s302、将升级包与终端设备待升级软件进行校验;

对差分包而言,升级包下载后的校验过程主要分为两步,一步用于校验升级包的完整性,第二步用于校验升级包分区内容与终端设备相应分区内容是否匹配。

如步骤s301所述,该升级包中可以包括系统分区和应用分区中一个或多个分区的升级文件。示例性,该升级包中只包含kernelfs分区和tvysfsfs分区的差分升级文件,则只需将kernelfs分区和tvysfsfs分区的差分文件分别与终端设备第一分区系统中kernelfs分区和tvysfsfs分区进行校验。示例性的,该升级包中包含各系统分区的差分升级文件,即包括bootfs分区、kernelfs分区、rootfs分区和tvysfsfs分区,以及appfs分区的差分升级文件,则需要将升级包中bootfs分区、kernelfs分区、rootfs分区和tvysfsfs分区,以及appfs分区的差分文件与终端设备中第一分区系统中bootfs分区、kernelfs分区、rootfs分区和tvysfsfs分区,以及appfs分区文件进行校验。

具体的,差分包中包含升级前各个待升级文件的hash值和升级后各个升级文件的hash值。以bootfs分区文件为例,bootfs分区中仅有一个文件,终端设备对第一分区系统中的bootfs分区的文件进行校验。在一种可能的实施方式中,终端设备计算第一系统分区中bootfs分区的文件的hash值,当确定该hash值与差分包中包括的升级前的bootfs分区待升级文件的hash值相同时,则确定bootfs分区的文件校验通过;否则,则确定校验失败。

s303、若校验成功,将升级包中分区差分文件与所述第一分区系统相应分区镜像文件合成新的分区镜像文件;

s304、将新的分区镜像文件写入第二分区系统的各个分区,执行升级。

s305、判断第二分区系统是否升级成功。

s306、若是,则修改所述启动标识符。

具体的,通过fwrite接口修改启动标识符,用于标识终端设备系统重启后调用的为第二分区系统分区的文件。

示例性的,假如终端设备当前运行分区系统为a分区系统,则第一分区系统为a分区系统,第二分区系统为b分区系统,bootflag取值为0。当b分区系统升级成功后,修改bootflag的值为1,用于表示终端设备重启后调用b分区系统中分区文件。

s307、当终端设备重启时,根据启动标识符加载第二分区系统分区文件。

在一种可能的实施方式中,终端设备重启后,读取启动标识符bootflag的值为1,则确认b分区系统为终端设备需调用的第一分区系统,a分区系统为第二分区系统,,则该终端设备加载b分区系统中分区文件。具体的,终端设备上电时b分区系统中bootfs分区中引导程序加载kernelfs分区中内核程序,然后在内核中挂载rootfs中的根文件系统同时挂载tvysfs分区和启动中间件程序。

s308、若否,当终端设备重启时,加载第一分区系统分区文件。

具体的,当存在终端设备分区升级失败(如断电),则不修改启动标识符,当终端设备重启时,仍加载第一分区系统分区文件。具体的,终端设备上电时a分区系统中bootfs分区中引导程序加载kernelfs分区中内核程序,然后在内核中挂载rootfs中的根文件系统同时挂载tvysfs分区和启动中间件程序。

本发明实施例提供的方法,终端设备接收到服务器发送的升级包后,在校验成功时,生成分区新的升级包,根据启动标识符确定终端设备当前运行的第一分区系统和第二分区系统,而后将新的升级包写入第二分区系统分区进行升级,并在终端设备重启后运行第二分区系统分区文件。由于终端设备当前运行的为第一分区系统分区,升级的为第二分区系统分区,在保证版本升级的基础上,一方面不影响终端设备系统正常使用,另一方面避免了升级失败(如终端设备意外断电)导致终端设备变砖的问题。

在一种可能的实施方式中,终端设备分区如图4a所示,终端设备第一分区系统和第二分区系统各自仅包括与系统运行相关的分区,即bootfs分区、kernelfs分区、rootfs分区、tvysfs分区。终端设备接收到升级包后,确定第一分区系统和第二分区系统;并将所述升级包中差分文件与终端设备相应分区的待升级文件进行校验;当校验成功后时,将所述升级包中分区差分文件与所述第一分区系统相应分区镜像文件合成新的分区镜像文件的同时,若所述升级包中包括appfs分区待升级差分文件,则将所述升级包中appfs分区差分文件与终端设备appfs分区镜像文件合成新的appfs分区镜像文件。在终端设备正常运行时,将合成的第一分区系统新分区镜像文件写入第二分区系统相应的分区,执行升级;当终端设备重启时,一方面调用第二分区系统的分区文件;另一方面将所述合成的新的appfs分区镜像文件写入appfs分区,执行升级,此后启动升级后的appfs分区文件或根据用户操作启动升级后的appfs分区文件。

本发明实施例提供的方法,终端设备接收到服务器发送的升级包后,在校验成功时,根据启动标识符确定终端设备当前运行的第一分区系统和第二分区系统,对第二分区系统分区进行升级,并在终端设备重启后运行第二分区系统分区文件并升级appfs分区。由于终端设备当前运行的为第一分区系统分区文件,升级的为第二分区系统分区文件,一方面不影响终端设备系统正常使用另一方面,避免升级失败(如终端设备意外断电)导致终端设备变砖的问题;;此外由于appfs分区的升级在终端设备重启后进行避免了终端设备当前正在使用的应用程序的中断。

在另一种可能的实施方式中,终端设备分区如图4b所示,终端设备第一分区系统和第二分区系统各自包括与系统相关的分区,即bootfs分区、kernelfs分区、rootfs分区、tvysfs分区和appfs分区。终端设备接收到升级包后,确定第一分区系统和第二分区系统;并将所述升级包中待升级差分文件与终端设备第一分区系统相应分区文件进行校验;当校验成功时,将所述升级包中分区差分文件与终端设备第一分区系统分区镜像文件合成新的分区镜像文件,并将新的分区镜像文件写入第二分区系统相应的分区,执行升级。当终端设备重启时,调用升级后的第二分区系统的分区文件。由于终端设备当前运行的为第一分区系统分区文件,升级的为第二分区系统分区文件,不影响终端设备系统正常使用;另一方面避免了升级失败(如终端设备意外断电等)导致终端设备变砖的问题。

图5为本发明实施例提供的一种版本升级的方法,应用于终端设备,且该终端设备接收的升级包为完整包,下面以完整包为例对图2所示的实施例进行详细说明。参见图5,该方法包括:

s501、若升级包下载成功,读取启动标识符,根据该启动标识符确定第一分区系统和第二分区系统,其中第一分区系统和第二分区系统分别包括与系统运行相关的多个分区,启动标识符用于标识终端设备当前运行调用的第一分区系统,第二分区系统为所述终端设备执行升级操作的分区系统;

其中,该升级包分为两部分:与系统运行相关的分区文件,如bootfs分区、kernelfs分区、rootfs分区、tvysfsfs分区文件;及,应用文件,如appfs分区文件。

可选择的,终端设备接收到的服务器发送的升级包可以包括终端设备中的一个或多个分区的升级文件。

可选择的,该启动标识符可以存储于boot、misc等位置,终端设备根据其存储地址获取该启动标识符的取值,从而确定终端设备当前运行的分区系统。

示例性的,终端设备存在两分区系统,分区系统a和分区系统b,其中分区系统a和b包含相同的分区,即分区系统a包含bootfs分区、kernelfs分区、rootfs分区和tvysfsfs分区,分区系统b也包含bootfs分区、kernelfs分区、rootfs分区和tvysfsfs分区。在一种可能的实现方式中,若终端设备读取启动标识符bootflag的取值为0,表示a分区系统为终端设备当前运行的第一分区系统,b分区系统为执行升级操作的第二分区系统;若读取启动标识符bootflag的取值为1,表示b分区系统为终端设备当前运行的第一分区系统,a分区系统为执行升级操作的第二分区系统。

本实施例的启动标识符设置方式仅为一种示例性设置,凡可起到标识终端设备当前运行调用的第一分区系统的启动标识符设置方式均落在本发明的保护范围内。

s502、将升级包与终端设备待升级软件进行校验;

具体的,将升级包与终端设备第一分区系统文件进行校验。

此外,对完整包而言,升级包下载后的校验过程主要用于校验升级包是否完整。

s503、若校验成功,将升级包分区文件写入第二分区系统相应分区,执行升级。

s504、判断第二分区系统分区是否升级成功。

s505、若是,则修改所述启动标识符。

具体的,通过fwrite接口修改启动标识符,用于标识终端设备系统重启后调用的为第二分区系统分区的文件。

示例性的,假如终端设备当前运行分区系统为a分区系统,则第一分区系统为a分区系统,第二分区系统为b分区系统,bootflag取值为0。当b分区系统升级成功后,修改bootflag的值为1,表示终端设备重启后调用b分区系统中分区文件。

s506、当终端设备重启时,根据启动标识符加载第二分区系统分区文件。

在一种可能的实施方式中,终端设备重启后通过读取启动标识符bootflag的值为1,则确认b分区系统为需调用的第一分区系统,a分区系统为第二分区系统,,则该终端设备加载b分区系统分区文件。具体的,终端设备上电时b分区系统中bootfs分区中引导程序加载kernelfs分区中内核程序,然后在内核中挂载rootfs中的根文件系统同时挂载tvysfs分区和启动中间件程序。

s507、若否,当终端设备重启时,加载第一分区系统分区文件。

具体的,当存在终端设备分区升级失败(如断电),则不修改启动标识符,当终端设备重启时,仍加载第一分区系统分区文件。

本发明实施例提供的方法,终端设备接收到服务器发送的升级包后,在校验成功时;根据启动标识符确定终端设备第一分区系统和第二分区系统;将升级包中分区升级文件写入第二分区系统相应分区进行升级,并在终端设备重启后运行第二分区系统分区文件。由于终端设备当前运行的为第一分区系统分区,升级的为第二分区系统分区,在保证版本更新的基础上,一方面不影响终端设备系统正常使用,另一方面避免了升级失败(如终端设备意外断电)导致终端设备变砖的问题。

在一种可能的实施方式中,如图4a所示,终端设备第一分区系统和第二分区系统各自仅包括与系统运行相关的分区,即bootfs分区、kernelfs分区、rootfs分区、tvysfs分区。终端设备接收到升级包后,确定第一分区系统和第二分区系统;并将所述升级包中升级文件与终端设备相应分区文件进行校验;当校验成功后时,将升级包分区升级文件写入第二分区系统相应的分区,执行升级;当终端设备重启时,一方面调用第二分区系统的分区文件;另一方面若升级包中包括appfs分区升级文件,将升级包中appfs分区文件写入appfs分区,执行升级,此后启动升级后的appfs分区文件或根据用户操作启动升级后的appfs分区文件。

本发明实施例提供的方法,终端设备接收到服务器发送的升级包后,在校验成功时,根据启动标识符确定终端设备第一分区系统和第二分区系统,对第二分区系统分区进行升级,并在终端设备重启后运行第二分区系统分区文件并升级应用分区。由于终端设备当前运行的为第一分区系统分区文件,升级的为第二分区系统分区文件,一方面不影响终端设备系统正常使用另一方面,避免升级失败(如终端设备意外断电)导致终端设备变砖的问题;;此外由于应用分区的升级在终端设备重启后进行避免了终端设备当前正在使用的应用程序的中断。

在另一种可能的实施方式中,如图4b所示,终端设备第一分区系统和第二分区系统各自包括与系统运行相关的分区,即bootfs分区、kernelfs分区、rootfs分区、tvysfs分区和appfs分区。终端设备接收到升级包后,确定第一分区系统和第二分区系统;并将所述升级包中升级文件与终端设备第一分区系统相应分区文件进行校验;当校验成功时,将所述升级包中分区文件写入第二分区系统相应的分区,执行升级。当终端设备重启时,调用升级后的第二分区系统的分区文件。由于终端设备当前运行的为第一分区系统分区文件,升级的为第二分区系统分区文件,不影响终端设备系统正常使用;另一方面避免了升级失败(如终端设备意外断电等)导致终端设备变砖的问题。

为了更形象的理解本发明实施例,图6a所示为终端设备当前运行的的操作系统,即终端设备当前运行的为第一分区系统、终端设备appfs分区以及第一分区系统相应的datafs分区。当终端设备执行完本发明实施例版本升级,并重启之后,终端设备当前运行系统如图6b所示,即终端设备运行的为第二分区系统、终端设备appfs分区以及第一分区系统相应的datafs分区。

图7a为本发明实施例提供的一种版本升级的装置结构示意图。该装置部署于终端设备,参见图7a,该装置包括:

分区系统确定模块702,用于若升级包下载成功,读取启动标识符,根据该启动标识符确定第一分区系统和第二分区系统,启动标识符用于标识终端设备当前运行调用的第一分区系统,第二分区系统为所述终端设备执行升级操作的分区系统;

校验模块703,用于将升级包与终端设备待升级软件进行校验;

升级模块704,用于校验成功时对第二分区系统的分区进行升级。

可选的,如图7b所示,该装置还包括:

升级包下载模块701,用于确认服务器中存在软件版本高于终端设备当前软件版本的升级包时,下载升级包。

启动标识符修改模块705,用于在第二分区系统分区升级成功时,修改启动标识符,用于标识终端设备重启后运行调用的为所述第二分区系统。

加载模块706,用于在所述终端设备重启后,根据所述启动标识符加载第二分区系统的分区文件。

综上所述,本发明实施例提供的装置由分区系统确定模块702在终端设备成功下载升级包后,根据启动标识符确定终端设备当前运行的第一分区系统和后台备用的第二分区系统,由校验模块703将所述升级包与终端设备待升级软件校验成功后,不是直接对终端设备当前运行系统进行升级,而是由升级模块704对第二分区系统分区进行升级。该升级模式,在保证版本升级的同时,由于终端设备当前运行的为第一分区系统分区文件,升级的为第二分区系统分区文件,一方面不影响系统正常使用,另一方面避免了升级失败(如终端设备意外断电)导致终端设备变砖的问题。

在一种可能的实施方式中,校验模块703用于校验升级包是否完整。

在另一种可能的实施方式中,校验模块703,具体用于将升级包分区文件与第一分区系统分区文件进行校验和用于若升级包中包含appfs分区升级文件时将升级包中appfs分区文件与终端设备appfs分区文件进行校验。

在该可能的实施方式中,升级模块704还用于若升级包中包含appfs分区升级文件时,终端设备重启后对appfs分区进行升级。

在上述可能的实施方式中,本发明实施例提供的装置在终端设备升级包下载模块701成功从服务器下载升级包,由分区系统确定模块702根据启动标识符确定终端设备当前运行的第一分区系统和后台备用的第二分区系统,由校验模块703将所述升级包与终端设备待升级软件校验成功后,由升级模块704对第二分区系统分区进行升级并由升级模块704在终端设备重启后对appfs分区进行升级。该升级模式,在保证版本升级的同时,由于终端设备当前运行的为第一分区系统分区文件,升级的为分区第二分区系统分区文件,一方面不影响系统正常使用,另一方面避免了升级失败(如终端设备意外断电)导致终端设备变砖的问题;此外由于appfs分区的升级在终端设备重启后进行避免了终端设备当前正在使用的应用程序的中断。

图8为本发明实施例提供的一种版本升级的装置结构示意图。该装置部署于终端设备,参见图8a,该装置包括:

分区系统确定模块802,用于若升级包下载成功,读取启动标识符,根据启动标识符确定第一分区系统和第二分区系统,启动标识符用于标识终端设备当前运行调用的第一分区系统,第二分区系统为所述终端设备执行升级操作的分区系统;

校验模块803,用于将升级包与终端设备待升级软件进行校验;

升级包生成模块804,用于若升级包为差分包,当校验模块803校验成功时,将升级包中分区差分文件与第一分区系统相应分区镜像文件合成新的分区镜像文件;

升级模块805,用于将升级包生成模块合成的新的分区镜像文件分别写入第二分区系统相应分区。

可选的,如图8b所示,该装置还包括:

升级包下载模块801,用于确认服务器中存在软件版本高于终端设备当前软件版本的升级包时,下载升级包。

启动标识符修改模块806,用于在第二分区系统分区升级成功时,修改启动标识符,用于标识终端设备重启后运行调用的为所述第二分区系统。

加载模块807,用于在所述终端设备重启后,根据所述启动标识符加载第二分区系统的分区文件。

综上所述,本发明实施例提供的装置在本发明实施例提供的装置由分区系统确定模块802在若升级包下载成功时,根据启动标识符确定终端设备当前运行的第一分区系统和后台备用的第二分区系统,由校验模块803将所述升级包与终端设备待升级软件校验成功后,由升级包生成模块804将升级包中分区差分文件与第一分区系统相应分区镜像文件合成新的分区镜像文件,而后由升级模块805对第二分区系统分区进行升级。该升级模式,在保证版本升级的同时,由于终端设备当前运行的为第一分区系统分区文件,升级的为第二分区系统分区文件,一方面不影响系统正常使用,另一方面避免了升级失败(如终端设备意外断电)导致终端设备变砖的问题。

需要说明的是:上述实施例提供的网络信息显示的装置在显示网络信息时,仅以上述。各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网络信息显示的装置与网络信息显示的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图9是本发明实施例提供的一种移动终端结构示意图。参见图9,移动终端900可以包括通信单元910、包括有一个或一个以上计算机可读存储介质的存储器920、输入单元930、显示单元940、传感器950、音频电路960、wifi(wirelessfidelity,无线保真)模块970、包括有一个或者一个以上处理核心的处理器990、以及电源980等部件。本领域技术人员可以理解,图9中示出的移动终端结构并不构成对移动终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

通信单元910可用于收发信息或通话过程中,信号的接收和发送,该通信单元910可以为rf(radiofrequency,射频)电路、路由器、调制解调器、等网络通信设备。特别地,当通信单元910为rf电路时,将基站的下行信息接收后,交由一个或者一个以上处理器980处理;另外,将涉及上行的数据发送给基站。通常,作为通信单元的rf电路包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(sim)卡、收发信机、耦合器、lna(lownoiseamplifier,低噪声放大器)、双工器等。此外,通信单元910还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于gsm、gprs(generalpacketradioservice,通用分组无线服务)、cdma(codedivisionmultipleaccess,码分多址)、wcdma、lte(longtermevolution,长期演进)、电子邮件、sms(shortmessagingservice,短消息服务)等。存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据移动终端900的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器920还可以包括存储器控制器,以提供处理器980和输入单元930对存储器920的访问。

输入单元930可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。优选地,输入单元930可包括触敏表面931以及其他输入设备932。触敏表面931,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面931上或在触敏表面931附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面931。除了触敏表面931,输入单元930还可以包括其他输入设备932。优选地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元940可用于显示由用户输入的信息或提供给用户的信息以及终端900的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元940可包括显示面板941,可选的,可以采用lcd(liquidcrystaldisplay,液晶显示器)、oled(organiclight-emittingdiode,有机发光二极管)等形式来配置显示面板941。进一步的,触敏表面931可覆盖显示面板941,当触敏表面931检测到在其上或附近的触摸操作后,传送给处理器980以确定触摸事件的类型,随后处理器980根据触摸事件的类型在显示面板941上提供相应的视觉输出。虽然在图9中,触敏表面931与显示面板941是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面931与显示面板941集成而实现输入和输出功能。

移动终端900还可包括至少一种传感器950,比如光传感器、运动传感器以及其他传感器。光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在移动终端900移动到耳边时,关闭显示面板941和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于移动终端900还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路960、扬声器961,传声器962可提供用户与移动终端900之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经通信单元910以发送给比如另一终端,或者将音频数据输出至存储器920以便进一步处理。音频电路960还可能包括耳塞插孔,以提供外设耳机与终端900的通信。

为了实现无线通信,该终端上可以配置有无线通信单元970,该无线通信单元970可以为wifi模块。wifi属于短距离无线传输技术,移动终端900通过无线通信单元970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9中示出了无线通信单元970,但是可以理解的是,其并不属于移动终端900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器980是移动终端900的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行移动终端900的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器980可包括一个或多个处理核心;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。

移动终端900还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源960还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,移动终端900还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,移动终端还包括有一个或者一个以上的程序,这一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,所述一个或者一个以上程序包含用于进行本发明实施例提供的上述图2-图5所述的版本升级的指令。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由移动终端的处理器执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行上述图2-图5所述的网络信息的显示方法的步骤。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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