一种软件自动升级控制方法、装置及设备制造方法及图纸

技术编号:6988926 阅读:216 留言:0更新日期:2012-04-11 18:40
本发明专利技术适用于软件领域,提供了一种软件自动升级控制方法、装置及设备,所述方法包括下述步骤:将存储空间配置为两个互为备份的代码区;软件升级时,对处于空闲状态的代码区的代码进行升级,并将启动标识指向最新升级的代码区代码。本发明专利技术将存储空间划分为互为备份的两个代码区,在软件升级时升级处于空闲状态的代码区中的代码,不影响设备的正常运行,从而不影响用户对设备的正常使用,有效提高了升级模块的健壮性和容错性,避免了在升级过程中出现的异常对系统的破坏,而且由于升级可以在后台进行,不占用用户使用时间。

【技术实现步骤摘要】

本专利技术属于软件领域,尤其涉及一种软件自动升级控制方法、装置及设备
技术介绍
为了解决产品使用过程中出现的问题和不断完善产品功能,网络电视和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.一种软件自动升级控制方法,其特征在于,所述方法包括下述步骤:将存储空间配置为两个互为备份的代码区;软件升级时,对处于空闲状态的代码区的代码进行升级,并将启动标识指向最新升级的代码区代码。

【技术特征摘要】

【专利技术属性】
技术研发人员:王丛华
申请(专利权)人:康佳集团股份有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1