本发明涉及设备软件升级,尤其涉及一种远程升级cpe固件和模组的方法、装置、电子设备及介质。
背景技术:
1、tr069是客户前置设备(customer premise equipment,cpe)和自动配置服务器(auto-configuration server,acs)之间沟通的通信协定,可以通过该协议使cpe远程升级。
2、cpe的升级方式通常包括固件升级和模组升级,这两种方式的升级包和升级方式是不同的,分别对应不同的升级流程。
3、现有技术tr069协议只支持一种升级类型,通常用于升级固件,无法对固件和模组升级包做区分,导致无法根据不同升级类型对升级包进行升级。
技术实现思路
1、有鉴于此,有必要提供一种远程升级cpe固件和模组的方法、装置、电子设备及介质,用以解决cpe升级过程中支持模组升级不支持固件升级的问题。
2、为了解决上述问题,本发明提供一种远程升级cpe固件和模组的方法,包括:
3、接收acs推送的升级包,所述升级包由原始升级包插入包头得到;
4、将所述包头中字段从所述升级包中剥离,得到剥离后的升级文件md5值和剥离后的升级包;
5、计算所述剥离后的升级包的md5值,在确定所述剥离后的升级包的md5值与所述剥离后的升级文件md5值相同的情况下,确定所述剥离后的升级包的完整;
6、基于所述完整的剥离后的升级包根据所述升级类型选择对应的升级方式对固件或模组进行升级。
7、在一种可能的实现方式中,所述包头中的字段包括:升级类型、硬件型号、版本号以及升级文件md5值中的一种或者多种。
8、在一种可能的实现方式中,所述将所述包头中字段从所述升级包中剥离,得到剥离后的升级文件md5值和剥离后的升级包,包括:
9、按照所述升级类型的字节数对所述升级包进行剥离得到剥离后的升级类型和第一升级包;
10、在确定所述剥离后的升级类型与预设的升级类型匹配成功时,按照所述硬件型号的字节数对所述第一升级包进行剥离得到剥离后的硬件型号和第二升级包;
11、在确定所述剥离后的硬件型号与预设的硬件型号匹配成功时,按照所述版本号的字节数对所述第二升级包进行剥离得到剥离后的版本号和第三升级包;
12、按照所述升级文件md5值的字节数对所述第三升级包进行剥离得到剥离后的升级文件md5值和剥离后的升级包。
13、在一种可能的实现方式中,所述预设的升级类型包括:固件升级、固件差分升级、模组本地升级、模组本地差分升级以及模组远程差分升级中的一种或多种。
14、在一种可能的实现方式中,当所述升级类型为固件时,所述版本号为对应固件的版本号;当所述升级类型为模组时,所述版本号为对应模组的版本号。
15、在一种可能的实现方式中,所述基于所述完整的剥离后的升级包根据所述升级类型选择对应的升级方式对固件或模组进行升级,包括:
16、当所述升级类型为固件时,选择所述固件对应的升级方式对所述固件进行升级;
17、当所述升级类型为模组时,选择所述模组对应的升级方式对所述模组进行升级。
18、另一方面,本发明还提供了一种远程升级cpe固件和模组的装置,包括:
19、接收升级包模块,用于接收acs推送的升级包,所述升级包由原始升级包插入包头得到;
20、升级包剥离模块,用于将所述包头中字段从所述升级包中剥离,得到剥离后的升级文件md5值和剥离后的升级包;
21、完整性判断模块,用于计算所述剥离后的升级包的md5值,在确定所述剥离后的升级包的md5值与所述剥离后的升级文件md5值相同的情况下,确定所述剥离后的升级包的完整;
22、升级模块,用于基于所述完整的剥离后的升级包根据所述升级类型选择对应的升级方式对固件或模组进行升级。
23、另一方面,本发明还提供了一种电子设备,包括存储器和处理器,其中,
24、所述存储器,用于存储程序;
25、所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现上述任意一种实现方式中所述的一种远程升级cpe固件和模组的方法中的步骤。
26、另一方面,本发明还提供了一种计算机可读存储介质,用于存储计算机可读取的程序或指令,所述程序或指令被处理器执行时能够实现上述任意一种实现方式中所述的一种远程升级cpe固件和模组的方法中的步骤。
27、本发明的有益效果是:本发明提供的一种远程升级cpe固件和模组的方法,首先接收acs推送的升级包,升级包由原始升级包插入包头得到,将包头中字段从所述升级包中剥离,得到剥离后的升级文件md5值和剥离后的升级包,进一步计算剥离后的升级包的md5值,在确定剥离后的升级包的md5值与剥离后的升级文件md5值相同的情况下,确定升级包的完整性,最后基于升级类型选择对应的升级方式对固件或模组进行升级,本发明通过在升级包中插入升级类型、硬件型号、版本号以及升级文件md5值,然后按照顺序对升级包进行剥离md5值得到剥离后的md5值和升级包,然后根据剥离后的md5值和升级包确定升级包的完整性,从而根据升级类型对升级包进行升级。
1.一种远程升级cpe固件和模组的方法,其特征在于,包括:
2.根据权利要求1所述的远程升级cpe固件和模组的方法,其特征在于,所述包头中的字段包括:升级类型、硬件型号、版本号以及升级文件md5值中的一种或者多种。
3.根据权利要求2所述的远程升级cpe固件和模组的方法,其特征在于,所述将所述包头中字段从所述升级包中剥离,得到剥离后的升级文件md5值和剥离后的升级包,包括:
4.根据权利要求3所述的远程升级cpe固件和模组的方法,其特征在于,所述预设的升级类型包括:固件升级、固件差分升级、模组本地升级、模组本地差分升级以及模组远程差分升级中的一种或多种。
5.根据权利要求2所述的远程升级cpe固件和模组的方法,其特征在于,当所述升级类型为固件时,所述版本号为对应固件的版本号;当所述升级类型为模组时,所述版本号为对应模组的版本号。
6.根据权利要求1所述的远程升级cpe固件和模组的方法,其特征在于,所述基于所述完整的剥离后的升级包根据所述升级类型选择对应的升级方式对固件或模组进行升级,包括:
7.一种远程升级cpe固件和模组的装置,其特征在于,包括:
8.根据权利要求7所述的远程升级cpe固件和模组的装置,其特征在于,所述预设的升级类型包括:固件升级、固件差分升级、模组本地升级、模组本地差分升级以及模组远程差分升级中的一种或多种。
9.一种电子设备,其特征在于,包括存储器和处理器,其中,
10.一种计算机可读存储介质,其特征在于,用于存储计算机可读取的程序或指令,所述程序或指令被处理器执行时能够实现上述权利要求1至6中任意一项所述的一种远程升级cpe固件和模组的方法中的步骤。
