基于版本号分段控制实施电视系统OTA升级的方法与流程

文档序号:12304998阅读:712来源:国知局
基于版本号分段控制实施电视系统OTA升级的方法与流程

本发明涉及一种软件操作系统技术领域,尤其涉及一种基于版本号分段控制实施电视系统ota升级的方法。



背景技术:

android智能电视软件通过ota升级是售后软件服务的重要业务,电视厂商基于新版本软件制作ota升级包发布在互联网上,用户电视通过网络下载升级文件并实施电视整机软件系统的升级处理。

ota升级包基于整机软件编译和做包规则来生成,将需要升级的各分区编译生成的目录和文件按照规则打包并在包内生成升级脚本文件,电视在recovery模式下执行该升级脚本文件,即可完成各分区的目录和文件的升级处理。ota做包规则由编程语言实现,是项目源码的组成部分。ota升级文件分为整包和差分包两种类型,整包是将新版本编译生成的各升级分区的目标文件全部作为升级对象实施打包,差分包则是将新版本编译生成的目标文件与软件基础版本的文件进行比较,只打包有差异的或者新增加的目录和文件。同一软件版本,其差分包一般比较小,可方便下载,但其只能用于软件系统的基础版本的升级;整包文件则较大,不依赖设备的软件基础版本,实施目录和文件的升级,因此也无法基于具体基础版本实施差异化的升级处理。因此,整包升级规则一般是主流版本的升级策略,差分升级规则在降低文件大小的优势下更多的是用来实施基础版本的差异化升级策略。

电视整机软件开发迭代,用户接受ota软件更新的不同步,当电视厂商整机软件推出的迭代版本多,会出现同类型的智能电视运行着多个软件版本,如果存在升级规则的变化,版本间存在软件或预置应用调整,对应的ota做包规则需要改变,新软件的ota整包就无法满足所有基础版本的升级需求,必须针对具体基础版本定制差分升级文件。版本管理员需要维护所有基础版本的差分升级规则,并在每次推出新软件版本时都需要基于这些差分做包规则,重新制作所有基础版本的差分升级包。这样将导致ota版本制作、升级服务器的管理和部署负担加重,对用户ota升级的软件系统稳健运行也存在不可控风险。因此,android智能电视厂商急需一种适合自己的ota升级方案,有效解决基础版本在特殊升级规则下ota升级版本制作、部署和维护的问题。



技术实现要素:

本发明的目的就在于提供一种解决了上述问题,android智能电视整机系统软件基于服务器配置升级文件方式的ota升级时,通过改造升级配置文件的设计,使终端电视自适应选择合适的升级版本文件的方法。

为了实现上述目的,本发明采用的技术方案是:一种基于版本号分段控制实施电视系统ota升级的方法,方法如下,

a.在升级服务器上部署增加了分段版本信息的升级配置文件;

b.在终端升级应用中增加对升级配置文件中分段版本信息解析,判断升级配置文件是否携带有分段版本信息;

c.终端电视在开机后主动向升级服务器发送升级请求,检测升级版本,并对升级版本信息进行决策处理;

d.若未检查到分段版本信息,则进行差分版本检查,以此判决用差分包升级还是整包版本升级;

e.若检查到本分段版信息,则先匹配分段版本,匹配成功后判决分段版本升级;

f.根据判决的版本信息类型进行决策处理,决策的结果包括:1)是否升级;2)用哪个版本信息类型文件升级。

作为优选,步骤a中,升级服务器上设计部署分段版本信息的升级配置文件,方法如下,当系统软件迭代出新的软件版本vn需要实施ota升级发布时,

第一步,首先基于新版本ota做包规则制作vn版本的整包与差分包,同时产生对应的升级配置文件update.xml;

第二步,然后梳理该类型终端电视软件开发迭代版本,是否存在执行特殊升级规则制作ota升级包的情况,如果存在v1~vk-1版本升级到高版本vk时需要特殊做ota包规则处理,则将对应的vk版本的ota升级版本作为分段升级版本,并将该分段升级版本信息加入第一步中升级配置文件中;

第三步,最后将升级配置文件、分段版本文件、新软件版本文件提交给升级管理员部署和发布。

作为优选,步骤b中,对升级配置文件中分段版本信息解析方法如下,在原有解析update.xml函数中,首先打开该文件,逐行读取内容,识别各行行首的标志字段,

对于整包升级文件的package标志,再识别各属性字段进行缓存处理;

对于patch差分包字段,识别patch中的info标志,每条info标志表示了一个差分包信息;

在解析函数中增加piecewise中的piecewiseparam标志处理,将每条piecewiseparam标志内的属性字段,都保存为一个分段版本信息结构对象,用于升级版本决策处理。

升级配置文件中解析分段控制版本信息的处理流程,首先判断piecewise分段控制点,如果不存在时继续解析system节点获取升级版本信息,如果存在则先解析寻找匹配的升级目标版本,并返回该版本信息。

作为优选,步骤c中,在解析后进行升级版本文件决策时,优先使用分段版本实施ota升级处理,次选差分升级版本文件,最后才选择整包升级文件,如果最后发现选择的整包升级文件不存在时,则返回不升级。

作为优选,步骤c中,在终端电视应用中定义一个分段版本号信息结构,用来缓存每条分段版本的属性信息。

作为优选,步骤e中,如果存在分段版本信息,则取出电视当前软件版本号,判断该版本号是否在某一条分段版本范围内,如果不在,则执行原有的差分包和整包文件升级决策流程;如果找到与当前电视版本号相匹配的分段升级版本信息,则用该版本文件中部署的升级属性参数实施后续的升级处理;

作为优选,该方法基于的软件ota升级系统构架主要由电视终端预制的升级应用、升级配置管理服务器、升级存储服务器组成,并通过网络通讯进行交互,所述升级存储服务器包含有升级配置文件、升级版本文件的存储与转发模块,其中升级版本文件使用了cdn服务器,升级配置文件和升级版本文件根据电视的机芯、机型归类部署。

与现有技术相比,本发明的优点在于:基于升级配置文件支持分段版本号控制升级版本实现,电视厂商不再受限于电视上的软件版本只能通过差分包、整包升级到最新版本,制作和维护众多差分包版本的困难。通过将基础版本按照版本号规划为不同的分段版本信息来呈现,保留针对该区间版本的迭代ota升级发布,同时又支持新的基础版本的ota升级发布。在软件更新复杂的情形下,用户的电视可以自适应升级到适合自己的新版本软件系统。

附图说明

图1为本发明ota升级系统架构及终端和升级服务器交互流程示意图;

图2为本发明分段版本包、整包、差分包关系示意图。

图3为本发明的解析升级配置文件和升级决策处理的流程示意图。

具体实施方式

下面将对本发明作进一步说明。

实施例:智能电视整机系统软件ota升级架构:长虹ota升级系统由电视终端预制的升级应用、升级配置管理服务器、升级存储服务器(包括升级配置文件、升级版本文件的存储与转发)几个模块组成,其中升级版本文件使用了cdn服务器,升级配置文件和升级版本文件都是按照电视的机芯、机型归类部署。

终端电视在开机后主动向升级服务器发送升级请求,检测升级版本,具体交互过程见图-1所示。在智能电视和升级服务器通过网络通讯的交互过程中,参见图1,可以清晰地发现控制智能电视系统软件升级的关键在升级配置文件上。电视厂商将升级ota版本信息放在升级配置文件中,并部署到升级服务器上。终端电视上的升级应用下载升级服务器上的升级配置文件到本地,解析文件内的各种升级控制属性和升级版本信息,确定适合电视当前软件的升级版本,然后下载该升级版本文件到本地支持系统软件升级处理。

ota升级架构各模块间的交互过程,参见图1

step1:终端与升级管理服务器交互

1)终端电视向升级配置服务器发送升级请求:携带终端设备信息(机芯、机型、mac地址、本地版本号等);

2)升级管理服务器用终端信息与部署的升级计划匹配,存在匹配的升级计划则给终端发送升级回应消息,并携带升级配置文件的网络下载地址,没有匹配项则指示终端当前不需要升级。存在升级部署时,启动step2。

step2:终端与升级配置文件存储服务器交互

1)终端电视基于回应指示,解析并通过该网络地址下载升级配置文件到本地;

2)下载服务器部署的免责声明文件;

3)下载服务器部署的升级版本的信息说明文件。

终端在本地解析升级配置文件update.xml,并基于电视当前软件版本号和服务器版本信息,确定是否存在适合当前终端的升级版本,使用整包还是差分包执行升级等升级策略相关的判决。存在升级更新版本时,解析得到升级文件的网络下载地址,继续step3。

step3:终端与升级版本文件存储服务器(cdn服务器)交互

1)终端从服务器指定地址下载升级文件到本地cache分区缓存;

2)实施版本文件的签名、大小、md5这类的校验检查;

3)版本文件通过检查后,基于升级控制执行后续强制升级或提示用户升级。

为了支持分段版本文件升级处理,除了升级服务器上需要部署改造后的升级配置文件,在终端升级应用中也需要增加对分段版本信息的处理。

一种基于版本号分段控制实施电视系统ota升级的方法,参见图3,方法如下,

a.在升级服务器上部署增加了分段版本信息的升级配置文件;

制作支持分段版本信息的升级配置文件,原有的升级配置文件是在整包和差分包生成时,读取版本文件的信息生成的。本专利技术也是基于该方式制作分段版本文件对应的升级配置文件update.xml,然后将该版本信息描述相关的属性填入到新的升级配置文件中。当某机芯机型类型终端电视系统软件迭代出新的软件版本vn需要实施ota升级发布时,具体步骤如下:

第一步,首先基于新版本ota做包规则制作vn版本的整包与差分包,同时产生对应的升级配置文件update.xml;

第二步,然后梳理该类型终端电视软件开发迭代版本,是否存在执行特殊升级规则制作ota升级包的情况,如果存在v1~vk-1版本升级到高版本vk时需要特殊做ota包规则处理,则将对应的vk版本的ota升级版本作为分段升级版本,并将该分段升级版本信息加入第一步中升级配置文件中;

第三步,最后将升级配置文件、分段版本文件、新软件版本文件提交给升级管理员部署和发布。

b.在终端升级应用中增加对升级配置文件中分段版本信息解析,判断升级配置文件是否携带有分段版本信息;

终端上的升级应用必须支持升级配置文件中分段版本信息的解析和升级文件选择策略处理,才能支持本发明专利的处理。对升级配置文件中分段版本信息解析方法如下,在原有解析update.xml函数中,首先打开该文件,逐行读取内容,识别各行行首的标志字段,

对于整包升级文件的package标志,再识别各属性字段进行缓存处理;

对于patch差分包字段,识别patch中的info标志,每条info标志表示了一个差分包信息;

在解析函数中增加piecewise中的piecewiseparam标志处理,将每条piecewiseparam标志内的属性字段,都保存为一个分段版本信息结构对象,用于升级版本决策处理。

分段版本信息结构定义:

分段版本包、整包、差分包关系的关系如图2所示,当整机软件v1版本到v2版本时对预制应用进行了调整,导致在某时期内存档发布的v1~vk-1版本ota升级到vk版本时需要特殊处理。当vk版本存档后,基于特殊规则制作和发布v1~vk-1版本到vk版本的ota升级文件。后续软件迭代推出vn软件版本时,只需要将历史期间内发布的vk版本的ota升级包部署到cdn服务器上,并将该升级包信息部署到升级配置文件的v1~vk-1分段版本信息中。该ota升级部署模式下,对于具有v1版本的终端,优先升级到vk版本。在升级服务器部署多个升级包情况下,则是基于升级服务器的配置文件与终端当前硬件设备和当前软件版本来迅速找到匹配的升级包网路下载路径,只需要下载最合适的升级包文件,提高了升级效率。

升级配置文件中解析分段控制版本信息的处理流程,首先判断piecewise分段控制点,如果不存在时继续解析system节点获取升级版本信息,如果存在则先解析寻找匹配的升级目标版本,并返回该版本信息。

c.终端电视在开机后主动向升级服务器发送升级请求,检测升级版本,并对升级版本信息进行决策处理;

在终端电视应用中定义一个分段版本号信息结构,用来缓存每条分段版本的属性信息

在解析后进行升级版本文件决策时,优先使用分段版本实施ota升级处理,次选差分升级版本文件,最后才选择整包升级文件,如果最后发现选择的整包升级文件不存在时,则返回不升级。在出现ota升级规则差异导致分区间的版本需要差分升级的情况,设计出分段版本升级策略。在终端实施升级版本决策时,遵循分段版本优于差分版本,差分版本优于整包版本的策略方式来选择适合不同终端的升级文件。升级服务器的配置方式更加灵活,运维复杂度也极大地降低。

d.若未检查到分段版本信息,则进行差分版本检查,以此判决用差分包升级还是整包版本升级;

e.若检查到本分段版信息,则先匹配分段版本,匹配成功后判决分段版本升级;

如果存在分段版本信息,则取出电视当前软件版本号,判断该版本号是否在某一条分段版本范围内,如果不在,则执行原有的差分包和整包文件升级决策流程;如果找到与当前电视版本号相匹配的分段升级版本信息,则用该版本文件中部署的升级属性参数实施后续的升级处理

f.根据判决的版本信息类型进行决策处理,

当升级服务器上部署了终端设备的升级计划之后,ota版本管理员将升级配置文件和对应的版本文件(包括版本信息文件、版本升级文件等)上传到对应的服务器的目录上,提供给各终端电视的网络下载,完成ota升级。决策的结果包括:1)是否升级;2)用哪个版本信息类型文件升级。

升级配置文件分段版本设计对比如下:

原升级配置文件设计中具有整包和差分包版本文件的信息描述,具体属性参见表1:

上述信息也暴露了该升级配置文件设计的局限所在:1)ota升级部署时,整包最多只有一个,由于整包对基础版本没有特殊限制,适用面广,但无法满足存在特殊升级规则的升级需求;2)差分包部署的个数没有限制,但差分包制作和维护难度较大,每次推出新软件版本时,都需要重新制作;3)每个差分版本文件仅用于对应基础版本软件的电视升级,否则会导致差分升级失败。如果某一时期内的(k-1)个软件版本要求ota升级规则发生了改变,则无法使用整包来实现升级,只能针对这(k-1)个软件基础版本分别制作新版本的差分文件,这极大地增加了版本制作、维护和发布的困难。

因此,在升级配置文件中设计分段版本信息,推出本发明中的分段版本升级方式,一个分段版本可以替换掉若干个基础版本的差分版本。参照原升级配置文件的实现,确定分段版本信息包含的属性字段,参见下表2:

在升级配置文件中启用了分段升级版本信息策略后,不需要再去维护和制作某时间段内版本使用特殊升级规则到新版本的差分升级包,也不影响每次做ota包时的策略修改。因此,本发明技术有效地降低ota发布版本的制作、维护和管理复杂度。

分段版本升级的实施有两个益处:一是用户随时可获取适合自己电视设备的ota升级版本,并且该ota升级方案更加稳健;二是厂商在关注软件快速迭代开发更新的情况下,软件版本的创新改造空间更大,不再受之前的基础版本的制约,其ota版本发布和维护管理更加便捷。

android智能电视厂商通过ota升级系统上部署经过设计改造的升级配置文件和对应的各种类型的软件版本文件,使电视自动选择适合自己基础软件的ota升级版本,同时满足不同终端的ota升级更新需求

本发明实现兼容不同基础版本的普通规则和特殊规则的ota升级。针对android智能电视整机软件迭代开发出现的版本间差异导致ota升级规则需要特殊定制的需求设计的方案,提出了高效制作和维护ota升级版本。本发明适用于基于服务器配置控制终端升级版本的长虹android智能电视ota升级系统架构。如果其他智能设备厂商软件系统的ota升级系统也是基于服务器配置控制升级版本决策的方案,本专利也有借鉴和适用的意义。

以上对本发明所提供的一种基于版本号分段控制实施电视系统ota升级的方法进行了详尽介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,对本发明的变更和改进将是可能的,而不会超出附加权利要求所规定的构思和范围,综上所述,本说明书内容不应理解为对本发明的限制。

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