首页 / 专利库 / 贴标 / 条形码 / 一种软件升级方法

一种软件升级方法

阅读:676发布:2024-02-05

专利汇可以提供一种软件升级方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 软件 升级方法,包括升级码流制作过程和配置信息串口写入过程。升级码流制作过程采用下述步骤实现:设定升级配置信息及升级模 块 信息,生成XML文件,然后将XML文件及原始升级文件数据打包,生成升级码流;配置信息串口写入过程采用下述步骤实现:设定升级配置信息、升级模块信息及序列号/mac地址写入控制信息,生成XML文件;读取XML文件,用户输入序列号/mac地址信息,生成包括配置信息文件、序列号/mac地址信息在内的配置信息文件并向串口发送,从而提高了软件升级方法的通用性和灵活性。,下面是一种软件升级方法专利的具体信息内容。

1.一种软件升级方法,包括升级码流制作过程和配置信息串口写入过程,其特征在于,所述升级码流制作过程包括下述步骤:
a1、设定升级配置信息及升级模信息,生成XML文件;
a2、对升级硬件平台进行地址映射,将分区映射为地址;
a3、获取升级模块信息中设定的原始升级文件数据,将XML文件及原始升级文件数据打包,生成升级码流;
所述串口信息写入过程包括下述步骤:
b1、设定升级配置信息、升级模块信息及序列号/mac地址写入控制信息;
b2、对升级硬件平台进行地址映射,将分区映射为地址;
b3、根据b1及b2的内容生成XML文件;
b4、读取XML文件,读取序列号/mac地址记录列表;
b5、用户输入序列号/mac地址信息,判断输入的序列号/mac地址是否与所述序列号/mac地址记录列表存在重复,在未重复时将用户输入的序列号/mac地址记录在所述序列号/mac地址记录列表中;
b6、生成配置信息文件,并向串口发送;
在所述步骤a2及所述步骤b2中,对升级硬件平台进行地址映射时,根据所述升级模块信息中的升级模块分区、分区大小及分区偏移量将分区映射为地址。
2.根据权利要求1所述的软件升级方法,其特征在于,在所述步骤a1及所述步骤b1中,升级配置信息包括升级硬件平台信息和升级软件信息;升级模块信息包括若干个,每个升级模块信息包括升级程序类型、升级文件长度、升级文件版本、升级模块分区、分区大小及分区偏移量。
3.根据权利要求1或2所述的软件升级方法,其特征在于,在所述步骤a1中,还包括根据产品序列号设定升级范围信息的过程,所述升级配置信息、升级模块信息及升级范围信息共同生成XML文件。
4.根据权利要求3所述的软件升级方法,其特征在于,在所述步骤a3中,在获取升级模块信息中设定的原始升级文件数据后,先增加原始升级文件数据的CRC校验码,然后再将XML文件、原始升级文件数据及CRC校验码打包,生成升级码流。
5.根据权利要求1或2所述的软件升级方法,其特征在于,在所述步骤b1中,所述序列号/mac地址写入控制信息为扫描条形码的截取控制信息;在所述步骤b5中,用户通过扫描条形码的方式输入序列号/mac地址信息。
6.根据权利要求1或2所述的软件升级方法,其特征在于,在所述步骤b3及所述步骤b4之间还包括步骤b40:为步骤b3中生成的XML文件加密;在所述步骤b4中,读取XML文件后,为XML文件解密,然后再执行步骤b5。
7.根据权利要求1所述的软件升级方法,其特征在于,在所述步骤b5中,若用户输入的序列号/mac地址与序列号/mac地址记录列表存在重复,则进行提示,并重新执行步骤b4,读取XML文件。
8.根据权利要求1所述的软件升级方法,其特征在于,在所述步骤b1中,还包括设定通用遥控器码值的过程。

说明书全文

一种软件升级方法

技术领域

[0001] 本发明涉及计算机软件技术,具体地说,是涉及一种软件升级方法,属于嵌入式系统技术领域。

背景技术

[0002] 机顶盒等嵌入式产品在出厂之前需要进行出厂信息的配置及软件的烧录,在使用过程中也经常根据情况对软件进行升级,其软件升级一般包括升级码流制作过程、配置信息串口写入过程及升级程序写入过程。其中,配置信息串口写入过程主要是通过串口将产品的升级配置信息、产品序列号及mac(MediaAccess Control,介质访问控制)地址写入至产品中,一般是在产品第一次生产或返包时进行;而升级码流制作过程及升级程序写入过程在每次升级时均需要执行。升级码流制作过程及配置信息串口写入过程作为软件升级的基础,其性能的优劣直接影响整个产品软件升级的整体性能,是软件升级时尤其要考虑的问题。
[0003] 现有机顶盒等嵌入式产品的软件升级性能较低,主要存在下述问题:
[0004] 1、通用性较差。每个产品的生产商都根据自己的某一特定产品硬件平台开发特定的软件升级方法,通用性较差。
[0005] 2、灵活度较低。其主要表现为两种情况:一种是软件升级虽然可以针对产品flash的特定分区或地址来进行,但不同的升级方法需要使用生产商的私有描述表,导致升级方法个性较多,通用性较差,使用灵活度较低。而且,采用私有描述表实现特定分区或地址的升级,要求广电前端必须分配相应的ID以向升级数据码流中插入私有描述信息。实际情况是,如果一个广电网内有很多厂商的软件升级,会出现资源紧张或者广电前端无法提供此类升级服务的问题,从而使得软件升级无法进行。另一种情况是为实现软件升级,静态定义每次升级的内容类型,如应用程序或者检测程序,然后根据类型进行升级。这样存在的问题是,一方面,只要属于该类型的内容都要升级,而实际需要升级的内容可能仅仅是这种类型中的一小部分,导致升级耗时较长、升级效率较低;或者无法一次升级多种类型的内容。另一方面,升级的数据分区大小无法改变,升级可靠性较差。
[0006] 3、安全性较低。软件升级的配置信息串口写入过程中所使用的配置文件没有加密处理,可以手动编辑、修改。在生成线上使用时,经常会因为升级使用者(通常为生产线操作工人)的人为错误造成升级信息错误,升级过程可控性较差、安全性较低。
[0007] 4、软件升级效率低、可控性差。一方面,现有软件升级方法在输入升级产品序列号及mac地址时均采用人工手动输入的方式,输入效率低,而且由于序列号及mac地址位数较多,容易出现输入错误,可靠性较差。另一方面,软件升级方法本身不能自动避免相同序列号及mac地址的产品的软件手机,完全依赖人工进行避免,容易发生错误,升级可靠性差。

发明内容

[0008] 本发明的目的在于提供一种软件升级方法,利用该软件升级方法对机顶盒等嵌入式产品进行软件升级,以解决现有软件升级方法存在的上述问题。
[0009] 为实现上述发明目的,本发明采用下述技术方案予以实现:
[0010] 一种软件升级方法,包括升级码流制作过程和配置信息串口写入过程,所述升级码流制作过程包括下述步骤:
[0011] a1、设定升级配置信息及升级模信息,生成XML文件;
[0012] a2、对升级硬件平台进行地址映射,将分区映射为地址;
[0013] a3、获取升级模块信息中设定的原始升级文件数据,将XML文件及原始升级文件数据打包,生成升级码流;
[0014] 所述串口信息写入过程包括下述步骤:
[0015] b1、设定升级配置信息、升级模块信息及序列号/mac地址写入控制信息;
[0016] b2、对升级硬件平台进行地址映射,将分区映射为地址;
[0017] b3、根据b1及b2的内容生成XML文件;
[0018] b4、读取XML文件;
[0019] b5、用户输入序列号/mac地址信息;
[0020] b6、生成配置信息文件,并向串口发送。
[0021] 如上所述的软件升级方法,在所述步骤a1及所述步骤b1中,升级配置信息包括升级硬件平台信息和升级软件信息,从而实现对不同升级平台的兼容,提高软件升级方法的通用性;升级模块信息包括若干个,每个升级模块信息包括升级程序类型、升级文件长度、升级文件版本、升级模块分区、分区大小及分区偏移量,从而实现对任意升级模块的组合进行升级,且可以重新调整各模块的存储大小,进一步增加软件升级的灵活性。
[0022] 如上所述的软件升级方法,具体来说,在所述步骤a2及所述步骤b2中,对升级硬件平台进行地址映射时,根据所述升级模块信息中的升级模块分区、分区大小及分区偏移量将分区映射为地址。
[0023] 如上所述的软件升级方法,为实现升级范围的可控性,在所述步骤a1中,还包括根据产品序列号设定升级范围信息的过程,所述升级配置信息、升级模块信息及升级范围信息共同生成XML文件。
[0024] 如上所述的软件升级方法,在所述步骤a3中,在获取升级模块信息中设定的原始升级文件数据后,先增加原始升级文件数据的CRC校验码,然后再将XML文件、原始升级文件数据及CRC校验码打包,生成升级码流,以增加数据传输的准确性和安全性。
[0025] 如上所述的软件升级方法,为便于升级人员进行升级操作、提高升级效率和可靠性,在所述步骤b1中,所述序列号/mac地址写入控制信息为扫描条形码的截取控制信息;在所述步骤b5中,用户通过扫描条形码的方式输入序列号/mac地址信息。
[0026] 如上所述的软件升级方法,为增加配置信息的安全性,在所述步骤b3及所述步骤b4之间还包括步骤b40:为步骤b 3中生成的XML文件加密;在所述步骤b4中,读取XML文件后,为XML文件解密,然后再执行步骤b5。
[0027] 如上所述的软件升级方法,为保证升级产品序列号和mac地址的唯一性、提高产品升级的可靠性,在所述步骤b4与所述步骤b5之间中还包括步骤b50:读取序列号/mac地址记录列表;在所述步骤b5中,用户输入序列号/mac地址信息后,首先判断输入的序列号/mac地址是否与序列号/mac地址记录列表存在重复,并在未重复时将用户输入的序列号/mac地址记录在序列号/mac地址记录列表中,然后执行步骤b6。
[0028] 而且,在所述步骤b5中,若用户输入的序列号/mac地址与序列号/mac地址记录列表存在重复,则进行提示,并重新执行步骤b4,读取XML文件。
[0029] 如上所述的软件升级方法,为实现升级过程的统一遥控,在所述步骤b1中,还包括设定遥控器码值的过程。
[0030] 与现有技术相比,本发明的优点和积极效果是:
[0031] 1、在升级码流制作过程及配置信息串口写入过程中,均使用XML协议对升级配置信息及升级模块信息进行描述,从而为软件升级提供了统一的内容添加和读取解析接口,保证了软件升级方法的通用性和灵活性;且XML文件的使用,可以使得针对软件的任意模块组合进行升级,并可以重新调整各模块的存储大小,进一步提高了软件升级的灵活性。
[0032] 2、通过对升级硬件平台进行地址映射,将分区映射为地址,使得软件升级时对flash的最终读写都统一到按地址进行操作,从而实现了软件升级方法对各平台的通用性;而且,软件升级时无需针对任何一种平台指定一个私有协议,这样就从根本上避免了软件升级的个性,进一步提高了升级方法的通用性。
[0033] 3、对配置信息串口写入过程中使用的配置信息文件进行加密,使得使用者无法进行手动编辑,从而保证了升级的安全性和可靠性。
[0034] 4、支持序列号和mac地址的扫描输入模式,避免了人工手动输入,提高了升级效率和升级可靠性。
[0035] 5、本发明在升级过程中能够自动将每个升级产品的序列号和mac地址以列表形式记录下来,这样在烧录前可自动查询准备使用的序列号和mac地址是否已被使用,自动避免同序列号和mac地址产品之间的冲突提高软件升级的可靠性。结合附图阅读本发明的具体实施方式后,本发明的其他特点和优点将变得更加清楚。

附图说明

[0036] 图1是本发明软件升级方法一个实施例中升级码流制作过程的流程图
[0037] 图2是本发明软件升级方法一个实施例中配置信息串口写入过程的流程图。

具体实施方式

[0038] 下面结合附图和具体实施方式对本发明的技术方案作进一步详细的说明。
[0039] 本发明针对现有机顶盒等嵌入式产品进行软件升级时存在的通用性和灵活性较差的问题,提出了一种新的软件升级方法,对软件升级方法中的升级码流制作过程和配置信息串口写入过程进行改进,对这两个过程中的升级配置信息采用XML协议形成XML文件,为软件升级提供统一的内容添加和读取解析接口,以提高升级的通用性和灵活性。具体来说,对升级码流制作过程采用下述步骤实现:设定升级配置信息及升级模块信息,生成XML文件,然后将码流XML文件及原始升级文件数据打包,生成升级码流。对配置信息串口写入过程采用下述步骤实现:设定升级配置信息、升级模块信息及序列号/mac地址写入控制信息,生成XML文件;读取XML文件,用户输入序列号/mac地址信息,生成包括配置信息文件、序列号/mac地址信息在内的配置信息发送文件并向串口发送。
[0040] 图1和图2所示为本发明软件升级方法一个实施例的流程图,该实施例以机顶盒软件升级为例。其中,图1是该实施例中升级码流制作过程的流程图,图2是该实施例中配置信息串口写入的流程图。
[0041] 该实施例在制作升级码流时,一般是在服务器端进行制作,然后将服务器端的升级码流传输至机顶盒,实现机顶盒的软件升级。如图1所示,升级码流的制作按照下述流程进行:
[0042] S101:流程开始。
[0043] S102:升级码流类型选择。
[0044] 根据服务器与机顶盒间可传输的码流类型选择升级码流类型,以便于升级数据的传输。
[0045] S103:硬件平台选择。
[0046] 该实施例的升级码流制作不针对特定厂商的硬件平台,可以兼容不同厂商、不同类型的硬件平台,但需要预先选择要升级的硬件平台。
[0047] S104:判断升级码流中是否含有升级描述表CDT。若包含CDT,执行步骤S105;否则,执行步骤S109。
[0048] 若升级码流中需要包含CDT,则进行网络升级,需要设置升级频点信息,因此,执行步骤S105至步骤S108的信息设定过程;若不包含CDT,则为普通升级,执行步骤S109至步骤S111的信息设定过程。
[0049] S105:升级配置信息设定。
[0050] 升级配置信息包括升级硬件平台信息和升级软件信息,如硬件ID、制造商、软件版本、软件发布日期等信息。
[0051] S106:升级范围信息设定。
[0052] 为实现对可以升级的机顶盒范围进行控制,该实施例在升级码流制作过程中设定升级范围信息,该升级范围信息可以是根据产品序列号所限定的一个范围,只有在限定的序列号之内的机顶盒产品才可以进行升级。
[0053] S107:升级模块信息设定。
[0054] 为实现机顶盒的分区或地址的指定升级,该实施例可以预先设定升级模块信息。升级模块信息中包括升级程序类型、升级文件长度、升级文件版本、升级模块分区、分区大小及分区偏移量,利用升级模块信息可以在无需私有协议的情况下知道需要升级机顶盒flash的哪一部分,可以提高升级的效率。而且,升级模块信息可以包括多个,从而实现对任意升级模块的组合进行升级,且利用其中的分区、分区大小及分区偏移量,可以重新调整各模块的存储大小,进一步增加软件升级的灵活性。
[0055] S108:升级频点信息设定。
[0056] 通过步骤S105至步骤S108,完成网络升级的信息设定,然后转至步骤S112。
[0057] 若软件升级为不包含CDT的普通升级,则执行步骤S109至步骤S111的升级配置信息设定、升级范围信息设定及升级模块信息的设定过程,然后转至步骤S112。其中,步骤S109至步骤S111的信息设定过程可参考上述步骤S105至步骤S107,在此不再赘述。
[0058] S112:将设定的信息生成为XML文件。
[0059] S113:对升级硬件平台进行映射,将分区映射为地址。
[0060] 目前嵌入式平台flash的读写分为基于分区和基于地址两种操作,为实现读写的统一、提高软件升级的通用性,该实施例设置将分区映射为地址的步骤,将flash的读写统一到按地址进行操作。具体来说,对升级硬件平台进行地址映射时,根据上述升级模块信息中的升级模块分区、分区大小及分区偏移量将分区映射为地址。
[0061] S114:获取原始升级文件数据,增加CRC校验码。
[0062] 根据升级模块信息中设定的升级程序类型、升级文件长度及升级文件版本获取原始升级文件数据,而且,为增加数据的准确性和安全性,为原始升级文件数据增加CRC校验码。
[0063] S115:将上述XML文件、原始升级文件数据及其CRC校验码打包,生成所选择的升级码流类型,等待传输。
[0064] S116:升级码流制作流程结束。
[0065] 配置信息串口写入过程的流程如图2所示。配置信息串口写入过程在软件升级过程中所应用的次数较少,一般是在产品第一次生产或返包时进行。例如,在第一次生产出产品时,将配置信息写入至产品中作为产品的出厂信息,便于后续对产品进行软件升级。或者,在产品返包时,相应的硬件信息、软件信息及序列号(sn)和mac地址等可能会发生变化,此时需要利用配置信息串口写入过程为产品写入新的配置信息。如图2所示,该实施例的配置信息串口写入的流程具体如下:
[0066] S201:流程开始。
[0067] S202:判断是否存在配置信息文件。若存在,转至步骤S211;若不存在,执行步骤S203。
[0068] 如上所述,配置信息一般是在产品第一次生产或返包时进行,如果是在产品出厂之后对其进行软件升级,产品中已经写入了配置文件信息,因此,不需要再次组装配置文件,直接读取已有的信息即可。
[0069] S203:选择升级的硬件平台。
[0070] 该步骤的目的与图1中类型,配置信息串口写入过程也不针对特定厂商的硬件平台,可以兼容不同厂商、不同类型的硬件平台,但需要预先选择要升级的硬件平台。
[0071] S204:升级配置信息设定。
[0072] 升级配置信息包括升级硬件平台信息和升级软件信息,如硬件ID、制造商、软件版本、软件发布日期等信息。
[0073] S205:设定sn/mac地址写入控制信息。
[0074] 在配置信息串口写入过程中,要升级的机顶盒产品的sn/mac地址是由操作人员在生产现场来输入,但需要预先设置对sn/mac地址的写入控制信息,以便于系统准确获得sn/mac地址信息。该实施例中,在生产现场输入sn/mac信息时采用扫描条形码的方式,因此,此处的sn/mac地址写入控制信息应为条形码的截取控制信息。
[0075] S206:设定遥控器码值。
[0076] 在对机顶盒进行升级时,需要利用遥控器进行升级过程的控制。为便于升级操作,希望能采用一个通用的遥控器控制各种不同类型的机顶盒实现升级,而不必频繁更换遥控器。因此,该实施例在生产配置信息文件时,预先设定一种遥控器码值,该码值所对应的遥控器即为一个通用升级用遥控器。
[0077] S207:设定升级模块信息。
[0078] 此时的升级模块信息为机顶盒产品的基本信息,可能包括有多个升级模块信息,每个升级模块信息均包括升级程序类型、升级文件长度、升级文件版本、升级模块分区、分区大小及分区偏移量等信息。该过程中设定的升级模块信息作为基本的初始信息写入至产品中,在后续的软件升级过程中,其信息可能会根据升级码流中的升级模块信息进行改变。
[0079] S208:对升级硬件平台进行映射,将分区映射为地址。
[0080] 该步骤的目的及实现过程与图1类似,为实现读写的统一、提高软件升级的通用性,该实施例设置将分区映射为地址的步骤,将flash的读写统一到按地址进行操作。具体来说,对升级硬件平台进行地址映射时,根据上述升级模块信息中的升级模块分区、分区大小及分区偏移量将分区映射为地址。
[0081] S209:将上述设定的信息生成XML文件。
[0082] S210:XML息文件加密。
[0083] 设置该步骤的目的是为增加信息的安全性,使得升级使用者无法进行手动编辑,避免升级过程的人为错误,保证升级的安全性和可靠性。
[0084] S211:读取XML文件。
[0085] S212:XML文件解密。
[0086] 由于XML文件被加密,在具体使用过程时需要先将其解密。
[0087] S213:读取sn/mac地址记录列表。
[0088] 结合下述步骤可知,该实施例的配置信息串口写入过程能够自动记录每台机顶盒的sn/mac地址,并形成sn/mac地址记录列表,而且,在每次配置信息写入时,可供读取和查询。
[0089] S214:用户扫描输入sn/mac地址。
[0090] 用户通过扫描机顶盒产品的sn/mac地址条形码,输入将要升级的机顶盒的sn/mac地址。XML文件中的扫描条形码截取控制信息将从条形码中获得产品的sn及mac地址信息。
[0091] S215:将用户扫描输入的sn/mac地址与已存储的sn/mac地址记录列表进行比较,判断sn/mac地址是否存在重复。若重复,执行步骤S216;若未重复,转至步骤C217。
[0092] 利用该步骤可以在将配置信息写入至机顶盒之前,自动查询准备使用的sn/mac地址是否已被使用,以自动避免sn/mac地址的重复。
[0093] S216:在sn/mac地址冲突时,提示sn/mac地址重复,并转至步骤S211,重新读取XML配置信息文件。此时,需要改变待写入配置信息的机顶盒的sn/macd地址。
[0094] S217:在sn/mac地址未重复时,说明此时的sn/mac地址可用,记录sn/mac地址,将其写入至sn/mac地址记录列表中。
[0095] S218:生成配置信息发送文件并向串口发送。
[0096] S219:配置信息串口写入流程结束。
[0097] 对于该实施例的升级码流制作过程及配置信息串口写入过程,可以采用可视化编程语言进行流程设计,以提高软件升级方法的可视化程度,提高流程设计的效率和准确度。
[0098] 以上实施例仅用以说明本发明的技术方案,而非对其进行限制;尽管参照前述实施例对本发明进行了详细的说明,对于本领域的普通技术人员来说,依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明所要求保护的技术方案的精神和范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈