一种软件自动升级控制方法、装置及设备的制作方法

文档序号:6581346阅读:298来源:国知局
专利名称:一种软件自动升级控制方法、装置及设备的制作方法
技术领域
本发明属于软件领域,尤其涉及一种软件自动升级控制方法、装置及设备。
背景技术
为了解决产品使用过程中出现的问题和不断完善产品功能,网络电视和IPTV机 顶盒等产品目前都有带有软件升级模块,不断更新其产品软件功能以更好的满足用户使用需求。常用的软件升级策略有开机自动升级和进入升级页面手动升级两种,在开机自动 升级时,用户开机后系统自动检查当前软件版本和网络上的最新版本,如果发现有更新版 本则立即进入升级系统完成升级任务。在进入升级页面手动升级时,用户点击菜单中的升 级按钮,完成升级任务。采用这两种升级手段升级时,在执行升级的过程中用户只能被动等待,停止使用 系统提供的娱乐功能,占用较多用户对网络电视和IPTV机顶盒等的使用时间,一旦升级过 程中发生故障就必须重新启动进入备份系统继续升级直到升级成功为止。

发明内容
本发明实施例的目的在于提供一种软件自动升级控制方法,旨在解决现有软件升 级时需要停止设备的运行,影响用户正常使用设备的问题。本发明实施例是这样实现的,一种软件自动升级控制方法,所述方法包括下述步 骤将存储空间配置为两个互为备份的代码区;软件升级时,对处于空闲状态的代码区的代码进行升级,并将启动标识指向最新 升级的代码区代码。本发明实施例的另一目的在于提供一种软件自动升级控制装置,所述装置包括存储空间配置单元,用于将存储空间配置为两个互为备份的代码区;以及升级控制单元,用于在软件升级时,对处于空闲状态的代码区的代码进行升级,并 将启动标识指向最新升级的代码区代码。本发明实施例的另一目的在于一种包含上述软件自动升级控制装置的设备。本发明实施例的另一目的在于一种包含上述软件自动升级控制装置的网络电视。本发明实施例的另一目的在于一种包含上述软件自动升级控制装置的IPTV机顶
品.ο本发明实施例将存储空间划分为互为备份的两个代码区,在软件升级时升级处于 空闲状态的代码区中的代码,不影响设备的正常运行,从而不影响用户对设备的正常使用, 有效提高了升级模块的健壮性和容错性,避免了在升级过程中出现的异常对系统的破坏, 而且由于升级可以在后台进行,不占用用户使用时间。


图1是本发明实施例提供的存储空间划分示意图;图2是本发明实施例提供的软件自动升级控制方法的实现流程图;图3是本发明实施例提供的系统启动方法的实现流程图;图4是本发明实施例提供的软件自动升级控制装置的结构图;图5是本发明实施例提供的升级控制单元的结构图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。本发明实施例中,将存储空间划分为互为备份的第一代码区和第二代码区,在软 件升级时,选择对处于空闲状态的代码区的代码进行升级,升级完成后将系统标志更新为 最新升级的代码区,使得系统重启时使用最新升级的代码区中的代码启动。如图1所示,在本发明实施例中,将设备的存储区域划分为引导加载区 (Bootloader)、第一代码区、第二代码区和分区配置区,其中引导加载区为不可代码区域,存储引导加载程序,引导加载程序是系统加电后运 行的第一段软件代码,在操作系统内核运行之前运行,BootLoader的主要运行任务就是将 内核映象从硬盘上读到RAM中,然后跳转到内核的入口点去运行。通过这段程序,可以初始 化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便 为最终调用操作系统内核准备好正确的环境。第一代码区和第二代码区互为备份,存储系统运行程序,包括三个部分操作系统内核,例如Linux内核;文件系统,例如SF编码库;以及用户应用程序,例如网络电视(NTV)应用。分区配置区存储分区配置信息。软件升级过程可以根据系统的资源使用情况在CPU空闲时进行,升级开始时系 统下载升级包,然后判断当前是运行在第一代码区还是第二代码区,如果当前系统使用 的第一代码区代码时,可升级第二代码区中的代码,反之亦然。当升级成功完成时修改 Bootloader配置域中的启动标识,改为使用刚刚升级过的代码。重新启动,系统即可完成正 常的升级流程。当升级过程中出现断电或其他异常时,对于第二代码区的升级可能会失败,但重 启后不影响用户的正常使用,用户仍然可以使用第一代码区的代码,直到用户再次升级第 二代码区的代码,直到成功。重启后,Bootloader自动跳转到第二代码区,使用第二代码区 的代码启动。图2示出了本发明实施例提供的软件升级控制方法的实现流程,详述如下在步骤S201中,读取CPU资源利用率;在步骤S202中,检测本地软件版本,判断是否需要升级,是则执行步骤S203,否则 返回执行步骤S201 ;
在步骤S203中,连接网络,下载升级包;在步骤S204中,读取升级标志,该升级标志标识了升级哪个代码区内的代码;在本发明实施例中,对处于空闲状态的代码区的代码进行升级。在步骤S205中,根据升级标志选择对应的代码区,执行升级过程;在步骤S206中,判断升级是否完成,是则执行步骤S207,否则返回执行步骤 S201 ;在步骤S207中,更新启动标识,将启动标识指向最新升级的代码区内的代码。
如图3所示,当系统重启后,首先进入Bootloader,在Bootloader配置域中包含启 动标识,该标识决定系统当前应该使用第一代码区还是第二代码区,如果使用第一代码区, Bootloader将载入第一代码区的内核(kernel)地址进而引导应用程序完成启动过程。在步骤S301 中,Bootloader 启动;在步骤S302中,读取启动标识;在步骤S303中,根据启动标识,载入最新升级的代码区代码启动。图4示出了本发明实施例提供的软件自动升级控制装置的结构,为了便于说明, 仅示出了与本发明实施例相关的部分。该软件自动升级控制装置可以是内置于网络电视、IPTV机顶盒等设备中。存储空间配置单元41将存储空间配置为两个互为备份的代码区,包括第一代码 区和第二代码区。作为本发明的一个实施例,存储空间配置单元41将存储空间配置为四个区引导加载区,用于存储引导加载程序;互为备份的第一代码区和第二代码区,用于存储系统运行程序;以及分区配置区,用于存储分区配置信息。升级控制单元42在软件升级时,对处于空闲状态的代码区的代码进行升级,并将 启动标识指向最新升级的代码区代码。图5示出了本发明实施例提供的升级控制单元的结构,为了便于说明,仅示出了 与本发明实施例相关的部分。CPU利用率读取模块421读取CPU资源利用率。升级判断模块422在CPU空闲时,检测本地软件版本,判断是否需要升级。升级包下载模块423在升级判断模块422判断需要升级时,连接网络,下载升级 包。升级代码区选择模块4M读取升级标志,根据升级标志选择处于空闲状态的代码 区,运行升级包,执行升级。启动标识更新模块425判断升级是否完成,在升级完成后更新启动标识,将启动 标识指向新升级完成的代码区代码。本发明实施例将存储空间划分为互为备份的两个代码区,在软件升级时升级处于 空闲状态的代码区中的代码,不影响设备的正常运行,从而不影响用户对设备的正常使用, 有效提高了升级模块的健壮性和容错性,避免了在升级过程中出现的异常对系统的破坏, 而且由于升级可以在后台进行,不占用用户使用时间。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种软件自动升级控制方法,其特征在于,所述方法包括下述步骤 将存储空间配置为两个互为备份的代码区;软件升级时,对处于空闲状态的代码区的代码进行升级,并将启动标识指向最新升级 的代码区代码。
2.如权利要求1所述的方法,其特征在于,所述对处于空闲状态的代码区的代码进行 升级,并将启动标识指向最新升级的代码区代码的步骤具体为读取CPU资源利用率;检测本地软件版本,判断是否需要升级;在判断需要升级时,连接网络,下载升级包;读取升级标志,根据升级标志选择处于空闲状态的代码区,执行升级; 判断升级是否完成;在升级完成后更新启动标识,将启动标识指向新升级完成的代码区代码。
3.如权利要求1所述的方法,其特征在于,所述存储空间包括 引导加载区,用于存储引导加载程序;互为备份的第一代码区和第二代码区,用于存储系统运行程序;以及 分区配置区,用于存储分区配置信息。
4.一种软件自动升级控制装置,其特征在于,所述装置包括存储空间配置单元,用于将存储空间配置为两个互为备份的代码区;以及 升级控制单元,用于在软件升级时,对处于空闲状态的代码区的代码进行升级,并将启 动标识指向最新升级的代码区代码。
5.如权利要求4所述的装置,其特征在于,所述升级控制单元包括 CPU利用率读取模块,用于读取CPU资源利用率;升级判断模块,用于在CPU空闲时,检测本地软件版本,判断是否需要升级; 升级包下载模块,用于在所述升级判断模块判断需要升级时,连接网络,下载升级包; 升级代码区选择模块,用于读取升级标志,根据升级标志选择处于空闲状态的代码区, 执行升级;以及启动标识更新模块,用于判断升级是否完成,在升级完成后更新启动标识,将启动标识 指向新升级完成的代码区代码。
6.如权利要求4所述的装置,其特征在于,所述存储空间包括 引导加载区,用于存储引导加载程序;互为备份的第一代码区和第二代码区,用于存储系统运行程序;以及 分区配置区,用于存储分区配置信息。
7.一种包含权利要求4的软件自动升级控制装置的设备。
8.一种包含权利要求4的软件自动升级控制装置的网络电视。
9.一种包含权利要求4的软件自动升级控制装置的IPTV机顶盒。
全文摘要
本发明适用于软件领域,提供了一种软件自动升级控制方法、装置及设备,所述方法包括下述步骤将存储空间配置为两个互为备份的代码区;软件升级时,对处于空闲状态的代码区的代码进行升级,并将启动标识指向最新升级的代码区代码。本发明将存储空间划分为互为备份的两个代码区,在软件升级时升级处于空闲状态的代码区中的代码,不影响设备的正常运行,从而不影响用户对设备的正常使用,有效提高了升级模块的健壮性和容错性,避免了在升级过程中出现的异常对系统的破坏,而且由于升级可以在后台进行,不占用用户使用时间。
文档编号G06F9/445GK102110000SQ20091018947
公开日2011年6月29日 申请日期2009年12月25日 优先权日2009年12月25日
发明者王丛华 申请人:康佳集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1