固件升级方法、装置、电子设备、耳机及可读存储介质与流程

文档序号:32053140发布日期:2022-11-04 19:33阅读:183来源:国知局
固件升级方法、装置、电子设备、耳机及可读存储介质与流程

1.本公开实施例涉及耳机技术领域,更具体地,本公开实施例涉及一种固件升级方法、装置、电子设备、耳机及可读存储介质。


背景技术:

2.随着tws(true wireless stero,真无线蓝牙耳机)行业的发展,耳机越来越趋于智能化,为不断优化用户对产品的使用体验,耳机的固件升级成为不可缺少的产品功能。
3.现有技术中,在对耳机的固件进行升级时,需要从pc端获取升级数据包。更具体地,可以通过有线方式从pc端获取升级数据包,例如,通过串口或者usb。也可以通过无线方式从pc端获取升级数据包,例如,通过蓝牙。但是,随着耳机功能的越来越丰富,升级数据包的数据量越来越庞大,采用上述方式进行升级数据包的传输,需要耗费较长的传输时间,升级速度较慢,用户体验较差。


技术实现要素:

4.本公开实施例的目的在于提供一种新的对耳机进行固件升级的技术方案,能够解决现有升级数据包的传输方式,传输速度慢、导致升级所需时间较长的问题。
5.根据本公开实施例的第一方面,提供了一种固件升级方法,应用于电子设备,所述方法包括:
6.根据第一编码表对第一升级文件进行转码,得到第二升级文件;
7.按照第一预定长度对所述第二升级文件进行切割和补位,得到第三升级文件,其中,所述第三升级文件包括补位后的第二升级文件和补码信息,所述补码信息是根据所述第一预定长度和所述第二升级文件的字符长度确定的;
8.对所述第一编码表进行加密处理,得到第二编码表;
9.在所述第三升级文件中写入所述第二编码表后,将所述第三升级文件发送至耳机,以使所述耳机对所述第二编码表进行解密处理得到所述第一编码表,并基于所述第一编码表对所述第二升级文件进行解压缩处理得到所述第一升级文件,以及根据所述第一升级文件进行升级。
10.可选地,所述对所述第一编码表进行加密处理,得到第二编码表,包括:
11.根据预设字符串对所述第一编码表进行加密处理,得到第二编码表;
12.所述将所述第三升级文件发送至耳机之前,所述方法还包括:
13.在所述第三升级文件中写入所述预设字符串。
14.可选地,所述预设字符串的长度为第二预定长度;所述根据预设字符串对所述第一编码表进行加密处理,得到第二编码表,包括:
15.按照所述第二预定长度对所述第一编码表进行分块处理,得到多个初始数据块;
16.通过所述预设字符串,对所述多个初始数据块中每个初始数据块进行异或运算,得到与所述多个初始数据块对应的多个加密后的数据块;
17.根据所述多个加密后的数据块,得到第二编码表。
18.可选地,所述按照第一预定长度对所述第二升级文件进行切割和补位,得到第三升级文件,包括:
19.在所述第二升级文件的字符长度不能被所述第一预定长度整除的情况下,在所述第二升级文件所包含的字符串之后添加补位字符,得到补位后的第二升级文件,其中,所述补位后的第二升级文件所包含的字符长度能够被所述第一预定长度整除;
20.在所述补位后的第二升级文件中写入补码信息,得到所述第三升级文件;其中,所述补码信息指示所述补位字符所占的位数。
21.可选地,所述按照第一预定长度对所述第二升级文件进行切割和补位,得到第三升级文件,包括:
22.在所述第二升级文件的字符长度可被所述第一预定长度整除的情况下,在所述
23.第二升级文件中写入补码信息,得到所述第三升级文件;其中,所述补码信息指示所述第二升级文件中的补位字符的位数为零。
24.根据本公开实施例的第二方面,提供了一种固件升级方法,应用于耳机,所述方法包括:
25.接收电子设备发送的第三升级文件,其中,所述第三升级文件包括补位后的第二升级文件、所述第二升级文件的补码信息、第二编码表;
26.对所述第二编码表进行解密处理,得到第一编码表;
27.根据所述补码信息和所述补位后的第二升级文件,确定第二升级文件;
28.基于所述第一编码表,对所述第二升级文件进行解压缩处理,得到第一升级文件;
29.根据所述第一升级文件进行固件升级。
30.可选地,所述第三升级文件中还包括预设字符串;所述对所述第二编码表进行解密处理,得到第一编码表,包括:
31.根据所述预设字符串对所述第二编码表进行解密处理,得到第一编码表。
32.可选地,所述预设字符串的长度为第二预定长度;所述根据所述预设字符串对所述第二编码表进行解密处理,得到第一编码表,包括:
33.按照所述第二预定长度对所述第二编码表进行分块处理,得到多个加密后的数据块;
34.通过所述预设字符串,对所述多个加密后的数据块中每个加密后的数据块进行异或运算的逆运算,得到与所述多个加密后的数据块对应的多个初始数据块;
35.根据所述多个初始数据块,得到第一编码表。
36.可选地,所述第三升级文件中还包括编码表的长度信息;所述对所述第二编码表进行解密处理,得到第一编码表之前,所述方法还包括:
37.基于所述编码表的长度信息,从所述第三升级文件中确定出所述第二编码表。
38.根据本公开实施例的第三方面,提供了一种固件升级装置,应用于电子设备,所述装置包括:
39.转码压缩模块,用于根据第一编码表对第一升级文件进行转码,得到第二升级文件;
40.补位模块,用于按照第一预定长度对所述第二升级文件进行切割和补位,得到第
三升级文件,其中,所述第三升级文件包括补位后的第二升级文件和补码信息,所述补码信息是根据所述第一预定长度和所述第二升级文件的字符长度确定的;
41.加密模块,用于对所述第一编码表进行加密处理,得到第二编码表;
42.发送模块,用于在所述第三升级文件中写入所述第二编码表后,将所述第三升级文件发送至耳机,以使所述耳机对所述第二编码表进行解密处理得到所述第一编码表,并基于所述第一编码表对所述第二升级文件进行解压缩处理得到所述第一升级文件,以及根据所述第一升级文件进行升级。
43.根据本公开实施例的第四方面,提供了一种固件升级装置,应用于耳机,所述装置包括:
44.接收模块,用于接收电子设备发送的第三升级文件,其中,所述第三升级文件包括补位后的第二升级文件、所述第二升级文件的补码信息、第二编码表;
45.解密模块,用于对所述第二编码表进行解密处理,得到第一编码表;
46.确定模块,用于根据所述补码信息和所述补位后的第二升级文件,确定第二升级文件;
47.解压缩模块,用于基于所述第一编码表,对所述第二升级文件进行解压缩处理,得到第一升级文件;
48.升级模块,用于根据所述第一升级文件进行固件升级。
49.根据本公开实施例的第五方面,提供了一种电子设备,包括:
50.存储器,用于存储可执行的计算机指令;
51.处理器,用于根据所述可执行的计算机指令的控制,执行如本公开实施例的第一方面所述的固件升级方法。
52.根据本公开实施例的第六方面,提供了一种耳机,包括:
53.存储器,用于存储可执行的计算机指令;
54.处理器,用于根据所述可执行的计算机指令的控制,执行如本公开实施例的第二方面所述的固件升级方法。
55.根据本公开实施例的第七方面,提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器运行时执行如本公开实施例的第一方面所述的固件升级方法,或者,执行如本公开实施例的第二方面所述的固件升级方法。
56.根据本公开实施例,在对耳机的固件进行升级时,电子设备可以对升级文件进行转码压缩,以将转码压缩后的升级文件传输至耳机,可以降低升级文件的大小,提高数据传输速度,进而缩短升级时间。再者,本实施例在对升级文件转码压缩之后,可以直接将补码信息写入转码压缩后的升级文件中,这样,不需要增加补码信息的文件,使得耳机在接收到转码压缩后的升级文件后,可以直接读取补码信息,并根据补码信息确定转码后的数据的真实长度,进一步可以降低数据的传输量,提高传输速度,缩短升级时间。此外,电子设备还可以对第一编码表进行加密,以将加密后的编码表传输至耳机,可以提高升级文件传输的安全性,降低数据泄露的风险。
57.通过以下参照附图对本公开实施例的示例性实施例的详细描述,本公开实施例的其它特征及其优点将会变得清楚。
附图说明
58.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
59.图1是可用于实现一个实施例的固件升级方法的控制系统的硬件配置示意图;
60.图2是根据一个实施例的固件升级方法的流程示意图;
61.图3是根据另一个实施例的固件升级方法的流程示意图;
62.图4是根据一个实施例的第三升级文件的文件结构示意图;
63.图5是根据一个例子的固件升级方法的流程示意图;
64.图6是根据一个实施例的固件升级装置的原理框图;
65.图7是根据另一个实施例的固件升级装置的原理框图;
66.图8是根据一个实施例的电子设备的硬件结构示意图;
67.图9是根据一个例子的耳机的硬件结构示意图。
具体实施方式
68.现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开实施例的范围。
69.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
70.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
71.在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
72.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
73.《硬件配置》
74.图1是可用于实现一个实施例的固件升级方法的控制系统的硬件配置示意图。
75.如图1所示,控制系统100包括电子设备1000和耳机2000。
76.在本实施例中,电子设备1000用于对升级文件进行压缩和加密,并将压缩和加密处理后的升级文件发送至耳机2000,以供耳机2000进行固件升级。该电子设备1000例如可以是手机、便携式电脑、平板电脑、掌上电脑等,该电子设备1000例如还可以是服务器,本公开实施例对此不作限定。
77.在一个实施例中,如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500和输入装置1600。处理器1100可以包括但不限于中央处理器cpu、微处理器mcu等。存储器1200例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括各种总线接口,例如串行总线接口(包括usb接口)、并行总线接口等。通信装置1400例如能够进行有线或无线通信。显
示装置1500例如是液晶显示屏、led显示屏、触摸显示屏等。输入装置1600例如包括触摸屏、键盘等。
78.尽管在图1中示出了电子设备1000的多个装置,但是,本发明可以仅涉及其中的部分装置,例如,电子设备1000只涉及处理器1100、存储器1200和通信装置1400。
79.本实施例中,电子设备1000的存储器1200用于存储程序指令,该程序指令用于控制处理器1100进行操作以执行固件升级方法,技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
80.图1所示的电子设备1000仅是解释性的,并且决不是为了要限制本说明书、其应用或用途。
81.在一个实施例中,如图1所示,耳机2000可以包括处理器2100、存储器2200、接口装置2300、通信装置2400、麦克风2500和扬声器2600。处理器2100可以包括但不限于中央处理器cpu、微处理器mcu等。存储器2200例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置2300例如包括各种总线接口,例如串行总线接口(包括usb接口)、并行总线接口等。通信装置2400例如能够进行有线或无线通信,例如,蓝牙通信装置。麦克风2500可以用于输入语音信息。扬声器2600可以用于输出语音信息。
82.尽管在图1中示出了耳机2000的多个装置,但是,本发明可以仅涉及其中的部分装置。
83.在一个实施例中,该耳机2000例如可以是tws耳机等。
84.在本实施例中,耳机2000的存储器2200用于存储程序指令,该程序指令用于控制处理器2100进行操作以执行固件升级方法,技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
85.图1所示的耳机2000仅是解释性的,并且决不是为了要限制本说明书、其应用或用途。
86.应当理解的是,尽管图1仅示出一个电子设备1000、耳机2000,但不意味着限制各自的数量,控制系统100中可以包含多个电子设备1000、多个耳机2000。
87.在上述描述中,技术人员可以根据本公开所提供的方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
88.《方法实施例》
89.本公开实施例提供了一种固件升级方法,该固件升级方法由电子设备1000实施。如图2所示,该固件升级方法包括以下步骤:步骤s2100~步骤s2400。
90.步骤s2100,根据第一编码表对第一升级文件进行转码,得到第二升级文件。
91.在本实施例中,第一升级文件可以是用于对耳机中的固件进行升级的文件。第一升级文件可以是提示语音包、测温算法库、语音播报合成算法库、本地语音唤醒算法库等。
92.第一编码表可以表征压缩数据与解压数据的映射关系。第二升级文件是进行压缩转码之后得到的升级文件。
93.示例性地,电子设备可以基于第一编码表对第一升级文件进行哈夫曼编码压缩,得到第二升级文件。其中,哈夫曼编码可以是用于将一段数据中出现频率较高的数据段采用较短的数据段代替的一种编码方式,以实现数据的压缩。可选地,基于哈夫曼编码压缩后的第二升级文件可以是二进制序列,也可以是其他类型的序列,在此不作限制。
94.在一个实施例中,获取第一编码表的步骤可以包括:遍历第一升级文件,确定第一升级文件中每个字符出现的频数;根据每个字符出现的频数,构建哈夫曼二叉树;根据哈夫曼二叉树,得到第一编码表。
95.步骤s2200,按照第一预定长度对第二升级文件进行切割和补位,得到第三升级文件,其中,第三升级文件包括补位后的第二升级文件和补码信息,补码信息是根据第一预定长度和第二升级文件的字符长度确定的。
96.在本实施例中,电子设备通过以一个字节(8位)为单位进行数据处理。然而,哈夫曼编码是以位为单元进行编码的,编码后得到第二升级文件的字符长度可能不是8的倍数,这样,在对第二升级文件进行解压缩时难以确定第二升级文件的数据的真实长度。基于此,需要按照第一预定长度对第二升级文件进行切割和补位。可选地,第一预设长度可以是8位,即8个字符。
97.补码信息可以指示第三升级文件中补位字符的位数。在将第三升级文件发送至耳机后,耳机可以根据补码信息确定第三升级文件中补位字符的位数,从而可以确定第三升级文件的原始数据的真实长度,以实现对升级文件的解压缩。
98.在一个实施例中,按照第一预定长度对第二升级文件进行切割和补位,得到第三升级文件的步骤,可以进一步包括:在第二升级文件的字符长度不能被第一预定长度整除的情况下,在第二升级文件所包含的字符串之后添加补位字符,得到补位后的第二升级文件,其中,补位后的第二升级文件所包含的字符长度能够被第一预定长度整除;在补位后的第二升级文件中写入补码信息,得到第三升级文件;其中,补码信息指示补位字符所占的位数。
99.示例性地,压缩转码后的第二升级文件所包含的字符长度为23位,即,不能被8整除。此时,将23位的第二升级文件以8位为单位进行切割,并在最后补一个“0”,以使补位后的第二升级文件所包含的字符长度可被8整除。之后,在补位后的第二升级文件后增加一个字节,该增加字节对应补码信息,例如,该增加字节的内容为“1”,即,补位字符的位数为1。
100.在本实施例中,在压缩转码后的第二升级文件所包含的字符长度不能被第一预定长度整除时,可以对第二升级文件进行补位,以使第二升级文件可被第一预设长度整除,并且,直接将补码信息写入补位后的第二升级文件中,以使耳机在接收到第三升级文件后,可以直接读取补码信息,可以根据补码信息确定第三升级文件中补位字符的位数,从而可以确定第三升级文件的原始数据的真实长度,以实现对升级文件的解压缩。这样,可以提高数据处理的速度,还可以进一步所要传输的数据量,提高数据传输速度。
101.在一个实施例中,按照第一预定长度对第二升级文件进行切割和补位,得到第三升级文件的步骤,可以进一步包括:
102.在第二升级文件的字符长度可被第一预定长度整除的情况下,在第二升级文件中写入补码信息,得到第三升级文件;其中,补码信息指示第二升级文件中的补位字符的位数为零。
103.示例性地,压缩转码后的第二升级文件所包含的字符长度为32位,即,可被8整除。此时,不需要对第二升级文件进行补位,直接在第二升级文件后增加一个字节,该增加字节对应补码信息,例如,该增加字节的内容为“0”,即,补位字符的位数为0。
104.在本实施例中,在压缩转码后的第二升级文件所包含的字符长度可被第一预定长
度整除时,直接在第二升级文件中写入补码信息,其中,补码信息指示第二升级文件中的补位字符的位数为零。这样,耳机在接收到第三升级文件后,可以直接读取补码信息,并根据补码信息确定第三升级文件中补位字符的位数,从而可以确定第三升级文件的原始数据的真实长度,以实现对升级文件的解压缩。这样,可以提高数据处理的速度,还可以进一步所要传输的数据量,提高数据传输速度。
105.在步骤s2200之后,执行步骤s2300,对第一编码表进行加密处理,得到第二编码表。
106.在一个实施例中,对第一编码表进行加密处理,得到第二编码表的步骤,可以进一步包括:根据预设字符串对第一编码表进行加密处理,得到第二编码表。将第三升级文件发送至耳机之前,该方法还可以包括:在第三升级文件中写入预设字符串。
107.其中,预设字符串可以是一组随机数。可选地,耳机的处理器通常为32位,即,耳机一次所能处理的最大数据长度为32位(4个字节)。基于此,预设字符串的长度可以为4个字节。
108.在本实施例中,第一编码表是压缩和解压缩的关键数据,在传输第一编码表时,可以采用预设字符串对第一编码表进行加密,可以进一步提高数据传输的安全性。
109.在一个实施例中,预设字符串的长度为第二预定长度;根据预设字符串对第一编码表进行加密处理,得到第二编码表的步骤,可以进一步包括:按照第二预定长度对第一编码表进行分块处理,得到多个初始数据块;通过预设字符串,对多个初始数据块中每个初始数据块进行异或运算,得到与多个初始数据块对应的多个加密后的数据块;根据多个加密后的数据块,得到第二编码表。
110.在本实施例中,按照第二预定长度,也就是按照预设字符串的长度对第一编码表进行分块处理,得到多个初始数据块,每个初始数据块所包含的字符长度为第二预设长度。将每个初始数据块与预设字符串按位进行异或运算,得到加密后的数据块,进而得到与第一编码表对应的第二编码表。
111.在本实施例中,以预设字符串的长度为单位,将第一编码表与预设字符串进行异或运算,得到第二编码表,以将第二编码表写入压缩文件中,加密算法简单,并且,可以提高升级文件的传输安全性。
112.步骤s2400,在第三升级文件中写入第二编码表后,将第三升级文件发送至耳机,以使耳机对第二编码表进行解密处理得到第一编码表,并基于第一编码表对第二升级文件进行解压缩处理得到第一升级文件,以及根据第一升级文件进行升级。
113.根据本技术实施例,在对耳机的固件进行升级时,电子设备可以对升级文件进行转码压缩,以将转码压缩后的升级文件传输至耳机,可以降低升级文件的大小,提高数据传输速度,进而缩短升级时间。再者,本实施例在对升级文件转码压缩之后,可以直接将补码信息写入转码压缩后的升级文件中,这样,不需要增加补码信息的文件,使得耳机在接收到转码压缩后的升级文件后,可以直接读取补码信息,并根据补码信息确定转码后的数据的真实长度,进一步可以降低数据的传输量,提高传输速度,缩短升级时间。此外,电子设备还可以对第一编码表进行加密,以将加密后的编码表传输至耳机,可以提高升级文件传输的安全性,降低数据泄露的风险。
114.本公开实施例还提供了一种固件升级方法,该固件升级方法由耳机2000实施。如
图3所示,该固件升级方法包括以下步骤:步骤s3100~步骤s3500。
115.步骤s3100,接收电子设备发送的第三升级文件,其中,第三升级文件包括补位后的第二升级文件、第二升级文件的补码信息、第二编码表。
116.在本实施例中,第三升级文件可以是电子设备发送的、压缩和加密处理后的升级文件。
117.在一个实施例中,第三升级文件中还包括编码表的长度信息;对第二编码表进行解密处理,得到第一编码表之前,该方法还可以包括:基于编码表的长度信息,从第三升级文件中确定出第二编码表。
118.请参见图4,其示出了一种第三升级文件的文件结构,该第三升级文件包括补位后的第二升级文件、补码信息、预设字符串、第二编码表和编码表的长度信息。在具体实施时,耳机的bootloader(引导程序)从第三升级文件的最后位置读取编码表的长度信息,根据编码表的长度信息,查找第二编码表,以根据第二编码表对升级文件进行解压缩。
119.步骤s3200,对第二编码表进行解密处理,得到第一编码表。
120.在一个实施例中,第三升级文件中还包括预设字符串;对第二编码表进行解密处理,得到第一编码表的步骤,可以进一步包括:根据预设字符串对第二编码表进行解密处理,得到第一编码表。
121.其中,预设字符串可以是一组随机数。可选地,耳机的处理器通常为32位,即,耳机一次所能处理的最大数据长度为32位(4个字节)。基于此,预设字符串的长度可以为4个字节。
122.在一个实施例中,预设字符串的长度为第二预定长度;根据预设字符串对第二编码表进行解密处理,得到第一编码表的步骤,可以进一步包括:按照第二预定长度对第二编码表进行分块处理,得到多个加密后的数据块;通过预设字符串,对多个加密后的数据块中每个加密后的数据块进行异或运算的逆运算,得到与多个加密后的数据块对应的多个初始数据块;根据多个初始数据块,得到第一编码表。
123.在具体实施时,在根据编码表的长度信息,查找第二编码表之后,耳机的bootloader从第三升级文件中查找出预设字符串,按照第二预定长度,也就是按照预设字符串的长度对第二编码表进行分块处理,得到多个加密后的数据块,每个加密后的数据块所包含的字符长度为第二预设长度。将每个加密后的数据块与预设字符串按位进行异或运算的逆运算,得到初始数据块,进而得到与第二编码表对应的第一编码表。
124.在本实施例中,在耳机接收到第三升级文件之后,从第三升级文件中查找出第二编码表,以预设字符串的长度为单位,将第二编码表与预设字符串进行异或运算的逆运算,得到第一编码表,以基于第一编码表对升级文件进行解压缩,具有较高的传输安全性。
125.步骤s3300,根据补码信息和补位后的第二升级文件,确定第二升级文件。
126.在具体实施时,在解密得到第一编码表之后,耳机的bootloader从第三升级文件中查找出补码信息和补位后的第二升级文件,根据补码信息确定补位字符的位数,进而确定第二升级文件。
127.步骤s3400,基于第一编码表,对第二升级文件进行解压缩处理,得到第一升级文件。
128.示例性地,耳机可以基于第一编码表对第二升级文件进行哈夫曼编码解压缩,得
到第一升级文件。其中,哈夫曼编码可以是用于将一段数据中出现频率较高的数据段采用较短的数据段代替的一种编码方式,以实现数据的压缩。可选地,基于哈夫曼编码压缩后的第二升级文件可以是二进制序列,也可以是其他类型的序列,在此不作限制。
129.步骤s3500,根据第一升级文件进行固件升级。
130.在具体实施时,耳机的bootloader将第一升级文件搬运至执行区,以根据第一升级文件进行固件升级。
131.根据本技术实施例,在对耳机的固件进行升级时,接收电子设备发送的转码后的升级文件,以基于第一编码表对升级文件进行解压缩,得到原始的升级文件,从而利用原始的升级文件进行升级。这样,可以降低升级文件的大小,提高数据传输速度,进而缩短升级时间。并且,耳机在对升级文件进行解压缩之前,需要对第一编码表进行解密,可以提高升级文件传输的安全性,降低数据泄露的风险。再者,本实施例在对升级文件解压缩之前,可以直接读取升级文件中的补码信息,并根据补码信息确定升级文件中的真实数据长度,这样,不需要增加补码信息的文件,进一步可以降低数据的传输量,提高传输速度,缩短升级时间。
132.请参见图5,下面以一个具体的例子说明固件升级方法。
133.步骤s501,电子设备根据第一编码表对第一升级文件进行转码,得到第二升级文件;
134.步骤s502,电子设备按照第一预定长度对第二升级文件进行切割和补位,得到第三升级文件;其中,第三升级文件包括补码信息;
135.步骤s503,电子设备对根据预设字符串对第一编码表进行加密处理,得到第二编码表;
136.步骤s504,电子设备在第三升级文件中写入第二编码表和预设字符串后,并将第三升级文件发送至耳机;
137.步骤s505,耳机根据编码表的长度信息从第三升级文件中查找出第二编码表、预设字符串、补码信息和补位后的第二升级文件;
138.步骤s506,耳机根据预设字符串对第二编码表进行解密处理,得到第一编码表;
139.步骤s507,耳机根据补码信息和补位后的第二升级文件,确定第二升级文件;
140.步骤s508,耳机基于第一编码表,对第二升级文件进行解压缩处理,得到第一升级文件;
141.步骤s509,耳机根据第一升级文件进行固件升级。
142.在该例子中,在对耳机的固件进行升级时,电子设备可以对升级文件进行转码压缩,以将转码压缩后的升级文件传输至耳机,可以降低升级文件的大小,提高数据传输速度,进而缩短升级时间。再者,本实施例在对升级文件转码压缩之后,可以直接将补码信息写入转码压缩后的升级文件中,这样,不需要增加补码信息的文件,使得耳机在接收到转码压缩后的升级文件后,可以直接读取补码信息,并根据补码信息确定转码后的数据的真实长度,进一步可以降低数据的传输量,提高传输速度,缩短升级时间。此外,电子设备还可以对第一编码表进行加密,以将加密后的编码表传输至耳机,可以提高升级文件传输的安全性,降低数据泄露的风险。
143.《装置实施例》
144.本公开实施例提供了一种固件升级装置,应用于电子设备,如图6所示,该固件升级装置600可以包括转码压缩模块610、补位模块620、加密模块630和发送模块640。
145.该转码压缩模块610可以用于根据第一编码表对第一升级文件进行转码,得到第二升级文件。
146.该补位模块620可以用于按照第一预定长度对第二升级文件进行切割和补位,得到第三升级文件,其中,第三升级文件包括补位后的第二升级文件和补码信息,补码信息是根据第一预定长度和第二升级文件的字符长度确定的。
147.该加密模块630可以用于对第一编码表进行加密处理,得到第二编码表。
148.该发送模块640可以用于在第三升级文件中写入第二编码表后,将第三升级文件发送至耳机,以使耳机对第二编码表进行解密处理得到第一编码表,并基于第一编码表对第二升级文件进行解压缩处理得到第一升级文件,以及根据第一升级文件进行升级。
149.在一个实施例中,该加密模块630具体用于根据预设字符串对第一编码表进行加密处理,得到第二编码表;该固件升级装置600还可以包括:字符串写入模块,用于在第三升级文件中写入预设字符串。
150.在一个实施例中,预设字符串的长度为第二预定长度;该加密模块630可以进一步包括:分块单元,用于按照第二预定长度对第一编码表进行分块处理,得到多个初始数据块;运算单元,用于通过预设字符串,对多个初始数据块中每个初始数据块进行异或运算,得到与多个初始数据块对应的多个加密后的数据块;第一获取单元,用于根据多个加密后的数据块,得到第二编码表。
151.在一个实施例中,该补位模块620可以进一步包括:第一补位单元,用于在第二升级文件的字符长度不能被第一预定长度整除的情况下,在第二升级文件所包含的字符串之后添加补位字符,得到补位后的第二升级文件,其中,补位后的第二升级文件所包含的字符长度能够被第一预定长度整除;第二获取单元,用于在补位后的第二升级文件中写入补码信息,得到第三升级文件;其中,补码信息指示补位字符所占的位数。
152.在一个实施例中,该补位模块620可以进一步包括:第二补位单元,用于在第二升级文件的字符长度可被第一预定长度整除的情况下,在第二升级文件中写入补码信息,得到第三升级文件;其中,补码信息指示第二升级文件中的补位字符的位数为零。
153.根据本技术实施例,在对耳机的固件进行升级时,电子设备可以对升级文件进行转码压缩,以将转码压缩后的升级文件传输至耳机,可以降低升级文件的大小,提高数据传输速度,进而缩短升级时间。再者,本实施例在对升级文件转码压缩之后,可以直接将补码信息写入转码压缩后的升级文件中,这样,不需要增加补码信息的文件,使得耳机在接收到转码压缩后的升级文件后,可以直接读取补码信息,并根据补码信息确定转码后的数据的真实长度,进一步可以降低数据的传输量,提高传输速度,缩短升级时间。此外,电子设备还可以对第一编码表进行加密,以将加密后的编码表传输至耳机,可以提高升级文件传输的安全性,降低数据泄露的风险。
154.本公开实施例提供了一种固件升级装置,应用于耳机,如图7所示,该固件升级装置700可以包括接收模块710、解密模块720、确定模块730、解压缩模块740和升级模块750。
155.该接收模块710可以用于接收电子设备发送的第三升级文件,其中,第三升级文件包括补位后的第二升级文件、第二升级文件的补码信息、第二编码表。
156.该解密模块720可以用于对第二编码表进行解密处理,得到第一编码表。
157.该确定模块730可以用于根据补码信息和补位后的第二升级文件,确定第二升级文件。
158.该解压缩模块740可以用于基于第一编码表,对第二升级文件进行解压缩处理,得到第一升级文件。
159.该升级模块750可以用于根据第一升级文件进行固件升级。
160.在一个实施例中,第三升级文件中还包括预设字符串;该解密模块720具体用于根据预设字符串对第二编码表进行解密处理,得到第一编码表。
161.在一个实施例中,预设字符串的长度为第二预定长度;该解密模块720可以进一步包括:分开单元,用于按照第二预定长度对第二编码表进行分块处理,得到多个加密后的数据块;运算单元,用于通过预设字符串,对多个加密后的数据块中每个加密后的数据块进行异或运算的逆运算,得到与多个加密后的数据块对应的多个初始数据块;获取单元,用于根据多个初始数据块,得到第一编码表。
162.在一个实施例中,该固件升级装置700还可以包括:编码表确定模块,用于基于编码表的长度信息,从第三升级文件中确定出第二编码表。
163.根据本技术实施例,在对耳机的固件进行升级时,接收电子设备发送的转码后的升级文件,以基于第一编码表对升级文件进行解压缩,得到原始的升级文件,从而利用原始的升级文件进行升级。这样,可以降低升级文件的大小,提高数据传输速度,进而缩短升级时间。并且,耳机在对升级文件进行解压缩之前,需要对第一编码表进行解密,可以提高升级文件传输的安全性,降低数据泄露的风险。再者,本实施例在对升级文件解压缩之前,可以直接读取升级文件中的补码信息,并根据补码信息确定升级文件中的真实数据长度,这样,不需要增加补码信息的文件,进一步可以降低数据的传输量,提高传输速度,缩短升级时间。
164.《电子设备实施例》
165.图8是根据一个实施例的电子设备的硬件结构示意图。如图8所示,该电子设备800包括存储器810和处理器820。
166.该存储器810可以用于存储可执行的计算机指令。
167.该处理器820可以用于根据所述可执行的计算机指令的控制,执行根据本公开方法实施例所述的固件升级方法。
168.在一个实施例中,该电子设备800例如可以是如图1所示的电子设备1000。该电子设备800例如可以是手机、平板电脑、笔记本电脑、掌上电脑等,本公开实施例对此不作限定。
169.在另外的实施例中,该电子设备800可以包括以上固件升级装置600。
170.在一个实施例中,以上固件升级装置600的各模块可以通过处理器820运行存储器810中存储的计算机指令实现。
171.《耳机实施例》
172.图9是根据一个实施例的耳机的硬件结构示意图。如图9所示,该耳机900包括存储器910和处理器920。
173.该存储器910可以用于存储可执行的计算机指令。
174.该处理器920可以用于根据所述可执行的计算机指令的控制,执行根据本公开方法实施例所述的固件升级方法。
175.在一个实施例中,该耳机900例如可以是如图1所示的耳机2000。该耳机900例如可以是无线耳机,例如tws耳机等,本公开实施例对此不作限定。
176.在另外的实施例中,该耳机900可以包括以上固件升级装置700。
177.在一个实施例中,以上固件升级装置700的各模块可以通过处理器920运行存储器910中存储的计算机指令实现。
178.《计算机可读存储介质》
179.本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器运行时执行本公开实施例提供的固件升级方法。
180.本公开实施例可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开实施例的各个方面的计算机可读程序指令。
181.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
182.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
183.用于执行本公开实施例操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列
(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开实施例的各个方面。
184.这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开实施例的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
185.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
186.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
187.附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人物来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
188.以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人物来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人物能理解本文披露的各实施例。本公开实施例的范围由所附权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1