CN113225729B - 空中下载技术ota升级的方法、设备及可读存储介质 - Google Patents
空中下载技术ota升级的方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN113225729B CN113225729B CN202010072926.7A CN202010072926A CN113225729B CN 113225729 B CN113225729 B CN 113225729B CN 202010072926 A CN202010072926 A CN 202010072926A CN 113225729 B CN113225729 B CN 113225729B
- Authority
- CN
- China
- Prior art keywords
- version
- difference table
- target
- upgraded
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请适用于通信技术领域,提供了一种空中下载技术OTA升级的方法、升级设备及可读存储介质。该方法包括:服务器存储最新发布的OTA升级包文件,待升级设备从最新发布的OTA升级包文件中获取待升级的软件对应的第一版本号,根据第一版本号和待升级设备中该软件对应的第二版本号,获取待升级设备的该软件从第二版本号升级到第一版本号所需的版本差异表;根据该版本差异表确定待升级设备在升级前后,存储器中具有差异的存储内容所属的目标存储块,从OTA升级包文件的新版软件存储镜像中,获取目标存储块对应的存储内容来实现OTA升级。本申请通过从OTA升级包文件中获取有差异的存储内容进行升级,没有文件系统也可以实现差分升级。
Description
技术领域
本申请属于通信技术领域,尤其涉及空中下载技术OTA升级的方法、设备及可读存储介质。
背景技术
为了提升终端设备的流畅度、新增功能或清除已知缺陷或漏洞(bug)时,往往需要对智能终端设备的固件进行升级。固件(Firmware)是写入可擦只读存储器(EraseableRead Only Memory,EROM)、可编程只读存储器(Erasable Programmable ROM,EPROM)中的程序,通俗的理解就是“固化的软件”。
目前,通常采用空中下载技术(Over-the-Air Technology,OTA)进行固件升级。OTA升级方式主要包括整包升级和差分升级。整包升级一般用来升级整个固件,差分升级一般针对固件的差异部分进行升级。例如,在升级时,对系统中有差异的文件进行更新。
由于差分升级不需要传输新旧版本中相同的文件,可减少传输内容,提升升级速度,对待升级的终端设备的处理能力和存储空间的要求也相对较低,因此,多数情况下采用差分升级。
然而,由于差分升级需要文件系统的支持,对于没有文件系统的终端设备,无法采用差分升级方式对固件进行升级。其中,文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构。
发明内容
本申请实施例提供了一种空中下载技术OTA升级的方法、设备及可读存储介质,可以解决对于没有文件系统的终端设备,无法采用差分升级方式对固件进行升级的问题。
第一方面,本申请实施例提供了一种空中下载技术OTA升级的方法,应用于终端设备,所述方法包括:
获取OTA升级包文件的第一版本号,所述OTA升级包文件包括所述第一版本号、至少一个版本差异表以及新版软件存储镜像,所述版本差异表用于描述终端设备的软件从旧版本升级到新版本时,表现在存储器中的存储内容的差异,所述新版软件存储镜像用于描述终端设备的软件在升级到最新的所述第一版本号时,在存储器中呈现的内容镜像;
根据所述第一版本号以及所述终端设备对应的第二版本号,获取目标版本差异表,所述目标版本差异表为所述OTA升级包文件包括的至少一个版本差异表中的其中之一;根据所述目标版本差异表,获取所述终端设备的存储器中的目标存储块对应的目标内容,所述目标存储块为升级前后存储内容发生变化的存储块,所述目标内容来自于从所述OTA升级包文件的新版软件存储镜像;
根据每个所述目标存储块对应的存储地址,将每个所述目标存储块对应的目标内容更新至所述目标存储块。
目标内容为新版软件存储镜像中目标存储块对应的待更新的内容。目标内容可以是新版软件存储镜像中目标存储块对应的部分内容或全部内容,此处不做限制。
在将具有差异的存储内容写入存储器中时,可以以存储块为最小单元进行更新,也可以以存储块中的存储区域为最小单位进行更新。当以存储块为最小单元进行更新时,目标内容为新版软件存储镜像中目标存储块对应的全部内容;当以存储块中的存储区域为最小单位进行更新时,目标内容为新版软件存储镜像中目标存储块对应的部分内容。
第一版本号为OTA升级包文件对应的软件的最新版本号,第二版本号为终端设备中的该软件的版本号。该软件包括但不限于系统软件、固件。
在一种可能的实现方式中,OTA升级包文件可以包括升级包信息、新旧版本差异描述块以及新版软件存储镜像。升级包信息可以包括第一版本号。新旧版本差异描述块中包括至少一个版本差异表。版本差异表用于描述新版本的软件与待升级的终端设备所运行的旧版本的软件,在终端设备的存储器中所呈现的内容差异。
应理解,可以针对每个旧版本设置一个版本差异表,以进行差分升级;也可以针对多个旧版本设置同一个版本差异表,该版本差异表用于表示待升级设备需要进行全量升级。例如,当已发布的旧版本就多时,可以针对部分旧版本分别设置用于进行差分升级的版本差异表,除此之外的其他旧版本均对应用于进行全量升级的版本差异表。比如,某个软件已发布了10个旧版本,发布的新版本为第11个版本,可以按版本号从高到低的顺序,筛选出3个或5个旧版本,为筛选出的每个旧版本设置用于进行差分升级的版本差异表,以及针对其余的旧版本设置一个用于全量升级的版本差异表。
本实施例中,通过版本差异表描述待升级设备的存储器中所存储的内容在升级前与升级后的差异,待升级设备可以根据针对第二版本号设置的目标版本差异表,确定升级后存储内容会发生变化的目标存储块,从OTA升级包文件的新版软件存储镜像中,获取目标存储块对应的存储内容,并将器更新至目标存储块中,以完成软件升级。由于本申请中是通过具有差异的存储内容进行升级,而不是像现有技术中根据文件的差异进行升级,因此,本申请中的OTA升级方法不需要文件系统的支持,没有文件系统的待升级设备也可以实现差分升级。
由于待升级设备可以分别获取每个目标存储块对应的存储内容,不需要将升级包文件作为一个整体进行下载,因此,即使待升级设备根据目标版本差异表进行全量升级,相对于现有的全量升级方式,可以减少下载升级包文件所需的时长,提供升级速度。
在第一方面的一种可能的实现方式中,所述版本差异表包括多个比特位,至少一个所述比特位用于描述所述终端设备中的同一个存储块所存储的内容是否有差异。由于版本差异表用于描述终端设备的软件从旧版本升级到新版本时,表现在存储器中的存储内容的差异,因此,在升级时,如果以存储块为最小单元,存储块中的内容作为一个整体进行更新,那么,可以用一个比特位描述终端设备的软件从旧版本升级到新版本时,表现在存储器中的一个存储块的存储内容的差异。当存储块被划分为至少两个存储区域,在升级时以存储块中的存储区域为最小单元进行更新时,可以用至少两个比特位描述同一个存储块中不同存储区域所存储的内容在升级前后是否有差异。比特位的数量可以与存储器中所有存储块所包含的存储区域的数量相对应。
在第一方面的一种可能的实现方式中,所述版本差异表的数据量可以为64个字节。
在第一方面的一种可能的实现方式中,所述OTA升级包文件还包括所述版本差异表的索引信息。索引信息用于从新旧版本差异描述块中查找相应的版本差异表。
可以理解的是,OTA升级包文件中可以包括版本差异表的索引信息,也可以不包括版本差异表的索引信息。当OTA升级包文件中不包括版本差异表的索引信息时,可以根据版本差异表的存储顺序(或者存储规则)、以及每个版本差异表所占的字节数,计算待获取的目标版本差异表对应的偏移地址,根据计算得到的偏移地址、以及存储第一个版本差异表对应的首地址,可以计算出目标版本差异表对应的存储地址,以根据该存储地址获取目标版本差异表。
在第一方面的一种可能的实现方式中,所述版本差异表的索引信息包括新版本号与旧版本号之间的版本差值。例如,某个版本差异表的索引信息为Ver-1,Ver-1中的“1”表示最新版本号与次新版本号之间的版本差值。
在第一方面的一种可能的实现方式中,所述版本差异表的索引信息包括用于标识旧版本号对应的版本差异表在所述OTA升级包文件中的存储位置。例如,版本差异表的存储地址,或文件指针等。
在第一方面的一种可能的实现方式中,所述目标版本差异表由所述终端设备根据所述第一版本号与所述第二版本号的差值的绝对值获取。第一版本号与第二版本号的差值的绝对值用于确定新版本号与旧版本号之间的版本差值。
在第一方面的一种可能的实现方式中,OTA升级包文件的新旧版本差异描述块中可以包括预设数量的版本差异表。示例性地,预设数量可以为5个,但并不限于此,可以根据实际情况进行设置,此处不做限制。
在第一方面的一种可能的实现方式中,所述OTA升级包文件中包含一个用于表示全量升级的版本差异表。新旧版本差异描述块中包括至少两个版本差异表时,可以有一个版本差异表用于全量升级。该版本差异表可以适用于某个旧版本或某几个旧版本。假设,新旧版本差异描述块中包括N个版本差异表,如果OTA升级包文件对应的最新版本号为M,M和N均为正整数,且M>N,那么N-1个版本差异表用于针对(M-1)~(M-N+1)这些旧版本而设置,用于差分升级;第N个版本差异表用于指示运行(M-N)~1这些旧版本的终端设备进行全量升级。
示例性地,当新旧版本差异描述块中包括5个版本差异表时,假设最新版本号M为V10,新旧版本差异描述块中有4个版本差异表分别针对V9、V8、V7、V6这4个旧版本号而设置,以便运行这4个旧版本号的终端设备可以实现差分升级;新旧版本差异描述块中有1个版本差异表分别针对V5、V4、V3、V2、V1这5个旧版本号而设置,以便运行这5个旧版本号的终端设备可以实现全量升级。
本实施例中,当新版本号与旧版本号之间的版本差值的绝对值大于1时,待升级设备可以实现跨版本升级。由于新旧版本差异描述块可以包括用于差分升级的版本差异表以及用于全量升级的版本差异表,因此,运行不同旧版本的软件的终端设备,可以采用同一个OTA升级包文件进行全量升级或差分升级。开发人员不需要针对不同的旧版本分别开发不同的差分升级包,可以减少升级包所需的工作量,还可以降低维护和管理差分升级包复杂度。
在第一方面的一种可能的实现方式中,当未查找到与所述差值的绝对值匹配的版本差异表时,所述目标版本差异表为用于表示全量升级的版本差异表。
例如,当OTA升级包文件中的新旧版本差异描述块中包括Ver-1、Ver-2、Ver-N,Ver-N为用于表示全量升级的版本差异表时,如果第一版本号与第二版本号之间的版本差值的绝对值为3时,目标版本差异表为Ver-N。
在本实施方式中,用于指示待升级设备进行全量升级的版本差异,可以供运行不同的旧版本的软件的设备。这样,待升级设备总能找到一张可用的“版本差异表”,使后续升级处理过程的归一化。
在第一方面的一种可能的实现方式中,所述第一版本号、目标版本差异表以及所述目标存储块对应的目标内容,由所述终端设备从服务器中获取。可联网且没有文件系统的待升级设备,也可以实现差分升级。
在第一方面的一种可能的实现方式中,所述第一版本号、目标版本差异表以及所述目标存储块对应的目标内容,由中转设备从服务器中获取后发送至所述终端设备。无法联网且没有文件系统的待升级设备,也可以实现差分升级。
在第一方面的一种可能的实现方式中,所述终端设备与所述中转设备采用短距离无线通信方式进行通信。例如,蓝牙通信、近场通信(Near Field Communication,NFC)、红外通信等。
第二方面,本申请实施例提供了一种空中下载技术OTA升级的方法,应用于服务器,所述方法包括:
发送OTA升级包文件的第一版本号至终端设备,所述OTA升级包文件包括所述第一版本号、至少一个版本差异表以及新版软件存储镜像,所述版本差异表用于描述待升级设备的软件从旧版本升级到新版本时,表现在存储器中的存储内容的差异,所述新版软件存储镜像用于描述待升级设备的软件在升级到所述第一版本号时,在存储器中呈现的内容镜像;
获取所述终端设备发送的获取请求,所述获取请求用于请求获取所述OTA升级包文件的目标版本差异表,所述目标版本差异表是根据所述第一版本号以及待升级设备对应的第二版本号而确定的,所述目标版本差异表为所述至少一个版本差异表中的其中一个;
响应于所述获取请求,将所述目标版本差异表发送至所述终端设备;
从所述新版软件存储镜像中提取出所述待升级设备的目标存储块对应的目标内容,发送所述目标存储块对应的目标内容至所述终端设备,所述目标存储块为升级前后存储内容发生变化的存储块,所述目标存储块由所述待升级设备根据所述目标版本差异表确定,所述目标存储块对应的目标内容用于所述待升级设备进行升级。
待升级设备与终端设备可以为同一设备,也可以为不同的设备。当待升级设备与终端设备为不同的设备时,终端设备在接收到目标存储块对应的目标内容时,将目标存储块对应的目标内容发送至待升级设备。
服务器中可以设有一个用于存放升级包文件的本地存储路径。服务器可以提供升级包文件的访问地址,并将对该访问地址的访问转换(映射)为对本地存储路径的访问。待升级设备在出厂时预置有服务器的访问地址以及升级包文件的访问路径。
本实施例中,由于新旧版本差异描述块可以包括用于差分升级的版本差异表以及用于全量升级的版本差异表,因此,服务器可以只保存最新发布的升级包文件,不需要维护多个差分升级包,在发布新版的升级包文件时,不需要新增或重新配置升级包文件与待升级设备现运行的固件版本之间的转换规则,可降低服务器的功能要求,更易于实现。开发人员不需要针对不同的旧版本分别开发不同的差分升级包,可以减少升级包所需的工作量,还可以降低维护和管理差分升级包复杂度。
在第二方面的一种可能的实现方式中,当所述待升级设备可连接所述服务器时,所述待升级设备与所述终端设备为同一设备。
在第二方面的一种可能的实现方式中,当所述待升级设备无法连接所述服务器时,所述待升级设备与所述终端设备为不同设备,所述终端设备与所述待升级设备采用短距离无线通信方式进行通信。
在第二方面的一种可能的实现方式中,所述版本差异表包括多个比特位,至少一个所述比特位用于描述所述待升级设备中的同一个存储块的存储内容是否有差异。
在第二方面的一种可能的实现方式中,所述版本差异表的数据量为64个字节。
在第二方面的一种可能的实现方式中,所述OTA升级包文件还包括所述版本差异表的索引信息。
在第二方面的一种可能的实现方式中,所述版本差异表的索引信息包括新版本号与旧版本号之间的版本差值。
在第二方面的一种可能的实现方式中,所述版本差异表的索引信息包括用于标识旧版本号对应的版本差异表在所述OTA升级包文件中的存储位置。
第三方面,本申请实施例提供了一种OTA升级装置,可以为终端设备,包括:
第一获取单元,用于获取OTA升级包文件的第一版本号;
第二获取单元,用于根据所述第一版本号以及所述终端设备对应的第二版本号获取目标版本差异表,所述目标版本差异表为所述OTA升级包文件包括的至少一个版本差异表中的其中之一,所述版本差异表用于描述终端设备的软件从旧版本升级到新版本时,表现在存储器中的存储内容的差异;
第三获取单元,用于根据所述目标版本差异表,获取所述终端设备的存储器中的目标存储块对应的目标内容,所述目标存储块为升级前后存储内容发生变化的存储块,所述目标内容来自于所述OTA升级包文件的新版软件存储镜像,所述新版软件存储镜像用于描述终端设备的软件在升级到所述第一版本号时,在存储器中呈现的内容镜像;
升级单元,用于根据每个所述目标存储块对应的存储地址,将每个所述目标存储块对应的目标内容更新至所述目标存储块。
本申请实施例的有益效果与第一方面的空中下载技术OTA升级的方法的有益效果相同,具体请参阅第一方面中的相关描述,此处不赘述。
在第三方面的一种可能的实现方式中,所述版本差异表包括多个比特位,至少一个所述比特位用于描述所述终端设备中的同一个存储块所存储的内容是否有差异。
在第三方面的一种可能的实现方式中,所述版本差异表的数据量为64个字节。
在第三方面的一种可能的实现方式中,所述OTA升级包文件还包括所述版本差异表的索引信息。索引信息用于从新旧版本差异描述块中查找相应的版本差异表。
在第三方面的一种可能的实现方式中,所述版本差异表的索引信息包括新版本号与旧版本号之间的版本差值。
在第三方面的一种可能的实现方式中,所述版本差异表的索引信息包括用于标识旧版本号对应的版本差异表在所述OTA升级包文件中的存储位置。
在第三方面的一种可能的实现方式中,所述目标版本差异表由所述终端设备根据所述第一版本号与所述第二版本号的差值的绝对值获取。第一版本号与第二版本号的差值的绝对值用于确定新版本号与旧版本号之间的版本差值。
在第三方面的一种可能的实现方式中,所述版本差异表的数量为5个。
在第三方面的一种可能的实现方式中,所述OTA升级包文件中包含一个用于表示全量升级的版本差异表。
在第三方面的一种可能的实现方式中,当未查找到与所述差值的绝对值匹配的版本差异表时,所述目标版本差异表为用于表示全量升级的版本差异表。
在第三方面的一种可能的实现方式中,所述第一版本号、目标版本差异表以及所述目标存储块对应的存储内容,由所述终端设备从服务器中获取。可联网且没有文件系统的待升级设备,也可以实现差分升级。
在第三方面的一种可能的实现方式中,所述第一版本号、目标版本差异表以及所述目标存储块对应的存储内容,由中转设备从服务器中获取后发送至所述终端设备。无法联网且没有文件系统的待升级设备,也可以实现差分升级。
在第三方面的一种可能的实现方式中,所述终端设备与所述中转设备采用短距离无线通信方式进行通信。例如,蓝牙通信、近场通信(Near Field Communication,NFC)、红外通信等。
第四方面,本申请实施例提供了一种OTA升级装置,可以为服务器,包括:
第一发送单元,用于发送OTA升级包文件的升级包信息至终端设备,所述OTA升级包文件包括所述第一版本号、至少一个版本差异表以及新版软件存储镜像,所述版本差异表用于描述待升级设备的软件从旧版本升级到新版本时,表现在存储器中的存储内容的差异,所述新版软件存储镜像用于描述待升级设备的软件在升级到所述第一版本号时,在存储器中呈现的内容镜像;
第一获取单元,用于获取所述终端设备发送的获取请求,所述获取请求用于请求获取所述OTA升级包文件的目标版本差异表,所述目标版本差异表是根据所述第一版本号以及待升级设备对应的第二版本号确定,所述目标版本差异表为所述至少一个版本差异表中的其中一个;
第二发送单元,用于响应于所述获取请求,将所述目标版本差异表发送至所述终端设备;
第二获取单元,用于从所述新版软件存储镜像中提取出所述待升级设备的目标存储块对应的目标内容,所述目标存储块为升级前后存储内容发生变化的存储块,所述目标存储块由所述待升级设备根据所述目标版本差异表确定;
第三发送单元,用于发送所述目标存储块对应的目标内容至所述终端设备,所述目标存储块对应的目标内容用于所述待升级设备进行升级。
服务器中可以设有一个用于存放升级包文件的本地存储路径。服务器可以提供升级包文件的访问地址,并将对该访问地址的访问转换(映射)为对本地存储路径的访问。待升级设备在出厂时预置有服务器的访问地址以及升级包文件的访问路径。
本申请实施例的有益效果与第二方面的空中下载技术OTA升级的方法的有益效果相同,具体请参阅第二方面中的相关描述,此处不赘述。
在第四方面的一种可能的实现方式中,当所述待升级设备可连接所述服务器时,所述待升级设备与所述终端设备为同一设备。
在第四方面的一种可能的实现方式中,当所述待升级设备无法连接所述服务器时,所述待升级设备与所述终端设备为不同设备,所述终端设备与所述待升级设备采用短距离无线通信方式进行通信。
在第四方面的一种可能的实现方式中,所述版本差异表包括多个比特位,至少一个所述比特位用于描述所述待升级设备中的同一个存储块的存储内容是否有差异。
在第四方面的一种可能的实现方式中,所述版本差异表的数据量为64个字节。
在第四方面的一种可能的实现方式中,所述OTA升级包文件还包括所述版本差异表的索引信息。
在第四方面的一种可能的实现方式中,所述版本差异表的索引信息包括新版本号与旧版本号之间的版本差值。
在第四方面的一种可能的实现方式中,所述版本差异表的索引信息包括用于标识旧版本号对应的版本差异表在所述OTA升级包文件中的存储位置。
第五方面,本申请实施例提供了一种升级设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时使所述升级设备执行上述第一方面或第二方面的任一种可能的实现方式的空中下载技术OTA升级的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使得所述升级设备执行上述第一方面或第二方面的任一种可能的实现方式的空中下载技术OTA升级的方法。
第七方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在网元设备上运行时,使得所述升级设备执行上述第一方面或第二方面的任一种可能的实现方式的空中下载技术OTA升级的方法。
可以理解的是,上述第五方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本申请实施例与现有技术相比存在的有益效果是:通过版本差异表描述待升级设备的存储器中所存储的内容在升级前与升级后的差异,待升级设备可以根据针对第二版本号设置的目标版本差异表,从OTA升级包文件中获取待升级设备的存储器在升级前后所呈现的具有差异的存储内容,并将具有差异的存储内容更新至相应的位置,来实现OTA升级。由于本申请中是通过具有差异的存储内容进行升级,而不是像现有技术中根据文件的差异进行升级,因此,本申请中的OTA升级方法不需要文件系统的支持,没有文件系统的待升级设备也可以实现差分升级。可以分别下载升级包文件的文件包信息、版本差异表以及具有差异的存储内容,不需要将升级包文件作为整体进行下载,可减少下载升级包文件的内容所需的时长,可以提高升级速度。
附图说明
图1是本申请一实施例提供的OTA升级的系统示意图;
图2是本申请实施例提供的版本差异表的示意图;
图3是本申请实施例提供的OTA升级包文件的结构示意图;
图4是本申请另一实施例提供的OTA升级的系统示意图;
图5是本申请一实施例提供的OTA升级的方法的交互图;
图6是本申请一实施例提供的OTA升级的应用场景示意图;
图7是本申请另一实施例提供的OTA升级的方法的交互图;
图8是本申请另一实施例提供的OTA升级的应用场景示意图;
图9是本申请再一实施例提供的OTA升级的方法的交互图;
图10是本申请一实施例提供的一种OTA升级装置的结构示意图;
图11是本申请另一实施例提供的一种OTA升级装置的结构示意图;
图12是本申请实施例提供的升级设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
目前,支持OTA升级的不同产品在设计上存在较大的差异,所支持的升级方式也有差异。
例如,智能手机、平板电脑等智能终端设备的中央处理器(Central ProcessingUnit,CPU)的处理能力很强,运行着完善和强大的操作系统,操作系统中具有负责管理和存储文件信息的软件机构——文件管理系统,简称文件系统。智能终端设备内的应用程序和系统程序等可以以文件为逻辑单位存储在智能终端设备的存储器中。智能终端设备在OTA升级时,可以根据全量升级包进行全量升级,以更新所有的系统文件;也可以根据差分升级包对文件进行新增、替换和删除等操作,以更新有差异的部分系统文件,从而实现差分升级。
差分升级包主要描述系统中逻辑结构和内容上的差异,例如主要描述文件的增加、删除以及替换。相关人员需要根据新版本的程序运行所需的文件与原有各旧版本的程序运行所需的文件进行比较,针对每个旧版本的软件制作与其对应的差分升级包。对应于某个旧版本的差分包需要描述:旧版本没有的文件的列表和文件内容;旧版本中需要更新的文件列表和文件内容;升级后不再需要的文件列表。
例如,耳机类产品的运算和处理能力较弱,存储空间较小,一般没有文件系统的支持。系统程序和应用程序直接在只读存储器(Read Only Memory,ROM)或闪存Flash上以二进制的执行代码进行存储和执行。由于待升级的固件是经编译和链接生成的由处理器可执行的程序指令和数据组成的二进制文件,对编译前的源代码的小量修改,在编译后得到的固件中的二进制内容可能存在较大差异,因此,很难描述新固件和旧固件之间的差异,故,对于耳机类没有文件系统支持的产品,很难对固件进行差分升级;通常需要采用全量升级方式,将固件作为整体烧录到ROM或Flash中进行更新。而对于蓝牙耳机类产品,因无法接入服务器,需要借助其他中转设备将下载的新版固件通过蓝牙通道传输给蓝牙耳机类产品。蓝牙耳机类产品下载固件的速度较慢,下载固件所需要的时间也相对较长,并且下载固件的过程中还需要占用业务带宽,影响耳机的正常业务,影响用户体验。
综上所述,现有技术中,采用差分升级时,存在以下缺点:
1、需要文件系统的支持,以对外部存储的物理结构和文件的逻辑结构进行映射和管理;还需要强大的处理能力。
2、软件版本都是不断升级更新的,由于每发一个新版本就需要对每一个已发布的旧版本制作一个差分升级包,版本号越靠后需要制作的差分升级包就越多,差分升级包的发布和维护(例如,制作和上传差分升级包、配置差分升级包和版本号之间的对应关系)工作量较大,也容易出错。比如在发布版本号为V1.20(对应于V1.00版本发布后的第20次升级)的软件版本时,需要制作20个差分包给已发布的V1.00-V1.19版本使用。
3、为运行不同版本的软件的设备提供对应的升级包下载地址也需要服务器有更加强大的功能,例如,在版本发布过程能提供“差分升级包文件与设备现有版本(旧版本)的对应关系”的配置,在设备访问时提供下载规则转换等,这样的服务器往往需要单独开发,在技术方案的实施上有一定的门槛和难度。
4、将差分包下载到设备本地暂存和解析都需要占用本地存储空间,设备需要预留有较多的存储空间。
为了解决上述问题,本申请提供一种OTA升级的方法,终端设备可以获取服务器新发布的OTA升级包文件对应的新版本号;并根据新版本号以及在终端设备上运行的软件的旧版本号,从OTA升级包文件中获取本次升级所需的版本差异表;由于版本差异表用于描述新版本的软件与旧版本的软件在终端设备的存储器的各存储块中所呈现的内容是否有差异,因此,终端设备可以根据获取到的版本差异表,确定本次升级过程中终端设备的存储器中哪些存储块对应的存储内容会发生变化,之后,从OTA升级包文件中获取具有差异的内容,并将具有差异的内容写入与其对应的存储块中,完成升级。终端设备在升级的过程中,不需要将升级包文件全部下载至本地后再对其进行解析,可以加快升级速度。对于无法接入服务器的待升级设备,可以通过中转设备从服务器中下载具有差异的内容并进行更新,在升级过程中所需要传输的内容较少,可以提高升级速度。
本申请中的OTA升级包文件存储在服务器中约定的存储路径下,OTA升级包文件可以包括待升级软件的第一版本号、新旧版本差异描述块以及新版软件存储镜像。新旧版本差异描述块包括至少一个版本差异表;新版软件存储镜像用于描述终端设备从旧版本升级到新版本时,在存储器中呈现的内容镜像。OTA升级包文件还可以包括用于在升级包文件中查找版本差异表的索引信息。
由于版本差异表可以描述新版本的软件与待升级的终端设备所运行的旧版本的软件,在终端设备的存储器中所呈现的内容差异,而不是像现有技术中的差分升级包用于描述运行新版软件所需的文件与运行旧版软件所需的软件在文件内容上的差异,因此,终端设备可以从OTA升级包文件中下载具有差异的存储内容进行差分升级,本申请的OTA差分升级方法可以不需要文件系统的支持。
由于OTA升级包文件中可以包括用于差分升级的版本差异表,还可以包括用于全量升级的版本差异表,同一个OTA升级包文件可以用于差分升级,也可以用于全量升级,因此,服务器可以只保存一个最新发布的升级包文件,运行不同旧版本的终端设备就可以实现差分升级或全量升级,服务器不需要管理针对多个旧版本的软件的差分升级包,也不需要维护差分升级包与各旧版本之间的对应关系,在发布新版本的升级包时,不需要新增或修改升级包的访问转换规则,简化了对服务器的功能要求,使服务器和终端设备更易于实现OTA差分升级。
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的OTA升级的方法的具体实现过程作进一步地详细描述。
请参阅图1,图1是本申请一实施例提供的OTA升级的系统示意图。如图1所示,该OTA升级系统中包括至少一个待升级的终端设备110以及服务器120。终端设备110与服务器120可以采用通信协议进行通信。通信协议包括但不限于文件传输协议(File TransferProtocol,FTP)、超文本传输协议(Hyper Text Transfer Protocol,HTTP)、超文本传输安全协议(Hypertext Transfer Protocol Secure,HTTPS)。终端设备110可以为嵌入式设备,嵌入式设备主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组成,它是集软硬件于一体的可独立工作的"器件"可以。例如,智能手机、平板电脑等。服务器120为OTA升级服务器,相关人员可搭建一台FTP服务器作为OTA升级服务器。服务器120中可以设有一个用于存放升级包文件的本地存储路径。服务器120可以提供升级包文件的访问地址,并将对该访问地址的访问转换(映射)为对本地存储路径的访问。终端设备110在出厂时预置有服务器120的访问地址以及升级包文件的访问路径。
由于本申请中的升级包文件可以包括待升级软件的第一版本号、新旧版本差异描述块以及新版软件存储镜像,因此,升级包开发人员需要制作“新旧版本差异描述块”中的至少一个版本差异表。制作升级包文件的方法可以为:
由于终端设备110是将软件(即固件)存储在Flash或其他存储介质中,终端设备110可以将存储介质(例如ROM或Flash等存储器)划分成若干个大小相同的存储块。存储块对应的存储空间的大小可以根据实际需要进行设置,此处不做限制。升级包开发人员可以借助相关的设备,将新版软件在存储介质上呈现的存储镜像与一个(或多个)旧版本软件在存储介质上呈现的存储镜像,按存储块逐一进行比较,生成一个(或多个)“版本差异表”,之后,将“版本差异表”按约定的格式放在“新旧版本差异描述块”中,与新版软件存储镜像、升级包信息一起打包成“升级包文件”。
可选地,在生成版本差异表之后,打包生成“升级包文件”之前,还可以设置“版本差异表”各自对应的索引信息。“版本差异表”的索引信息可以包括新版本号与旧版本号之间的版本差值,以通过该版本差值查找本次升级过程中所需的版本差异表。“版本差异表”的索引信息还可以包括用于标识旧版本号对应的“版本差异表”在升级包文件中的存储位置,例如,版本差异表的存储地址。可以理解的是,同一个版本差异表的标识信息和存储地址具有关联关系。该标识信息可以包括新版本号与旧版本号之间的版本差值。例如,版本差异表的标识信息的格式为Ver-N,N为可以新版本号与旧版本号之间的版本差值。
可以理解的是,OTA升级包文件可以包括版本差异表的索引信息,也可以不包括版本差异表的索引信息。当OTA升级包文件中不包括版本差异表的索引信息时,可以根据版本差异表的存储顺序、以及每个版本差异表所占的字节数,计算待获取的目标版本差异表对应的偏移地址,根据计算得到的偏移地址、以及存储第一个版本差异表对应的首地址,可以计算出目标版本差异表对应的存储地址,以根据该存储地址获取目标版本差异表。
一个版本差异表中包括多个比特位(Bit),至少一个比特位用于描述终端设备110中的同一个存储块在升级前后所存储的内容是否有差异。在升级时,如果以存储块为最小单元,存储块中的内容作为一个整体进行更新,那么,可以用一个比特位描述终端设备110的软件从旧版本升级到新版本时,表现在存储器中的一个存储块的存储内容的差异。当存储块被划分为至少两个存储区域,在升级时以存储块中的存储区域为最小单元进行更新时,可以用至少两个比特位描述同一个存储块中不同存储区域所存储的内容在升级前后是否有差异。比特位的数量可以与存储器中所有存储块所包含的存储区域的数量相对应。
示例性的,如图2所示,待升级的终端设备的存储器中,一个存储块对应的存储空间的大小可以为4K字节(Byte),用一个比特位描述终端设备110中的同一个存储块在升级前后所存储的内容是否有差异,这样版本差异表中可以用1个字节(1个字节为8个比特位)描述存储介质中32K字节的内容是否有差异,描述新旧版本的软件在一个2MBytes的存储介质上的内容是否有差异,需要64个字节即可。图2中版本差异表中可以用“1”表示一个存储块的内容在升级前后有差异,可以用“0”表示一个存储块的内容在升级前后没有差异。图2中第一行中8个存储块的地址范围可以为0X000000~0X007FFF,第一个存储块的地址范围可以为0X000000~0X000FFF。第二行中8个存储块的地址范围可以为0X008000~0X00FFFF,……,最后一行中8个存储块的地址范围可以为0X1F8000~0X200000。
“新旧版本差异描述块”中的版本差异表的数量可以为一个,也可以为至少两个。当版本差异表的数量为一个时,该版本差异表可以用于指示终端设备110进行全量升级。当版本差异表的数量可以为至少两个时,版本差异表可以全部用于差分升级;也可以部分用于差分升级,部分用于全量升级。
例如,假设发布的初始版本为V1.0,发布的历史版本为V1.1、V1.2,最新发布的版本为V1.3。在一种可能的实现方式中,“新旧版本差异描述块”中包括第一版本差异表、第二版本差异表以及第三版本差异表,第一版本差异表为终端设备110从V1.2升级到V1.3所需的版本差异表,第二版本差异表为终端设备110从V1.1升级到V1.3所需的版本差异表,第三版本差异表为终端设备110从V1.0升级到V1.3所需的版本差异表。在另一种可能的实现方式中,“新旧版本差异描述块”中包括第一版本差异表以及第二版本差异表,第一版本差异表为终端设备110从V1.2升级到V1.3所需的版本差异表,第二版本差异表为终端设备110从V1.1升级到V1.3,以及从V1.0升级到V1.3所需的版本差异表。
可以理解的是,在需要对软件进行升级时,升级包开发人员可以针对该软件发布的每个历史旧版本设置相应的版本差异表;也可以针对该软件发布的版本号比较高的部分历史旧版本设置相应的版本差异表,并在“新旧版本差异描述块”中放置一个所有比特位的值全为“1”的“版本差异表”,表示新旧版本在存储内容上完全不同,这样就达到了差分升级和全量升级方法归一的效果。可以将这样的一张表放在“新旧版本差异描述块”的最末端,统一为升级包文件中没有单独提供“版本差异表”的老旧版本使用,这样,终端设备110总能找到一张可用的“版本差异表”,使后续升级处理过程的归一化。
可以理解的是,当某个型号的终端设备110的软件版本更新次数比较多,为了便于管理升级包软件,“新旧版本差异描述块”中包括预设数目的版本差异表。预设数目可以为5,但并不限于此,也可以为其他整数,具体可根据实际需要进行设置,此处不做限制。如图3所示,OTA升级包文件可以包括升级包信息、新旧版本差异描述块以及新版软件存储镜像。升级包信息中可以包括待升级软件的第一版本号。“新旧版本差异描述块”中包括5个版本差异表:第一版本差异表Ver-1、第二版本差异表Ver-2、第三版本差异表Ver-3、第四版本差异表Ver-4以及第五版本差异表Ver-N。
其中,假设发布的初始版本为V1.0,发布的历史版本为V1.1、V1.2、V1.3、V1.4,最新发布的版本为V1.5,那么,第一版本差异表Ver-1可以是终端设备110从V1.4升级到V1.5所需的版本差异表,第二版本差异表Ver-2可以是终端设备110从V1.3升级到V1.5所需的版本差异表,第三版本差异表Ver-3可以是终端设备110从V1.2升级到V1.5所需的版本差异表,第四版本差异表Ver-4可以是终端设备110从V1.1升级到V1.5所需的版本差异表,第五版本差异表Ver-N可以是终端设备110从V1.0升级到V1.5所需的版本差异表。
假设,发布的初始版本为V1.0,发布的历史版本为V1.1、V1.2、V1.3、V1.4、V1.5、V1.6,最新发布的版本为V1.7,那么,第一版本差异表Ver-1可以是终端设备110从V1.6升级到V1.7所需的版本差异表,第二版本差异表Ver-2可以是终端设备110从V1.5升级到V1.7所需的版本差异表,第三版本差异表Ver-3可以是终端设备110从V1.4升级到V1.7所需的版本差异表,第四版本差异表Ver-4可以是终端设备110从V1.3升级到V1.7所需的版本差异表,第五版本差异表Ver-N可以是终端设备110从V1.2升级到V1.7,从V1.1升级到V1.7以及从V1.0升级到V1.7所需的版本差异表。运行不同旧版本的软件的终端设备110可以利用同一个升级包文件进行差分升级或全量升级(比如,从V1.0升级到V1.7)。
开发人员在开发出新版的升级包文件之后,将新版的升级包文件发布到服务器120中的过程可以简化为:将新版的升级包文件上传到服务器120中约定的本地存储路径。比如:d:\walrus\newVersion,其中“newVersion”是新版的升级包文件的名称,“d:\walrus\”是新版的升级包文件所在的文件夹。服务器120可以只保存最新发布的升级包文件,在发布新版的升级包文件时,不需要新增或重新配置升级包文件与终端设备现运行的固件版本之间的转换规则。
服务器120可以提供“最新版本的升级包文件的访问地址”,比如:ftp://192.168.10.1:80/dl/walrus/newVersion。
服务器将对“ftp://192.168.10.1:80/dl/walrus/newVersion”的访问转换(映射)为对本地文件“d:\walrus\newVersion”的访问,这个访问转换规则可以固定,这样每次在发布新版本的升级包文件时就不需要重新配置访问转换规则了。
终端设备110在接入网络时,可以根据预置的服务器120的访问地址,通过内置的联网模块与服务器建立通信连接。终端设备110在需要升级时,可以根据升级包文件的访问路径获取升级包文件中的升级包信息、版本差异表以及新版软件存储镜像中的部分内容或全部内容。终端设备110进行OTA升级的处理过程如下:
终端设备110可以根据升级包文件的访问路径访问服务器120中最新版本的OTA升级包文件,获取升级包文件的第一版本号,或者从该升级包文件中获取升级包信息,解析该升级包信息,得到升级包信息中包含的最新版本的软件的第一版本号。终端设备110比较第一版本号以及当前运行的软件的第二版本号,从而判断服务器120中的OTA升级包文件是否有更新。当第二版本号与第一版本号相同时,表示终端设备110中运行的软件版本是最新版本;当第二版本号与第一版本号相同时,表示终端设备110中运行的软件版本不是最新版本,终端设备110可以升级软件。可以理解的是,在一些实施例中,服务器120在检测到已发布最新版本的OTA升级包文件时,可以发送升级提示信息至终端设备110,以便终端设备110启动自动更新软件的进程,或提示用户确认是否升级软件。
终端设备110可以在检测到第二版本号与第一版本号不同时,或者检测到用户通过交互界面触发的用于表示确认升级的信息时,终端设备110可以根据第一版本号和第二版本号向服务器120请求获取本次升级需要的目标版本差异表;或者,终端设备110也可以将第二版本号发送至服务器,以使得服务器能够根据第一版本号以及第二版本号确定目标版本差异表,或根据第二版本号确定目标版本差异表。也就是说,目标版本差异表可以由终端设备110确定,也可以由服务器120确定。
其中,在一种可能的实现方式中,当版本差异表的索引信息包括新版本号与旧版本号之间的版本差值时,可以计算第一版本号和第二版本号之间的差值的绝对值,根据该差值的绝对值以及版本差异表的索引信息,从“新旧版本差异描述块”中查找该差值的绝对值指示的目标版本差异表。例如,版本差异表的索引信息分别为:Ver-1、Ver-2、Ver-3、Ver-4、Ver-N,当第一版本号为V1.7,第二版本号为V1.3时,差值绝对值为0.4,新旧版本之间的版本差值为4,表示跨越4个版本进行升级,因此,Ver-4对应的版本差异表为目标版本差异表。当第一版本号为V1.7,第二版本号为V1.0时,差值的绝对值为0.7,新旧版本之间的版本差值为7,表示跨越7个版本进行升级,未查找到与差值的绝对值指示的目标版本差异表,即“新旧版本差异描述块”中不存在针对从1.0升级至1.7的版本差异表,此时,将Ver-N对应的版本差异表作为目标版本差异表。Ver-N对应的版本差异表用于指示终端设备进行全量升级。
在另一种可能的实现方式中,当版本差异表的索引信息包括用于标识针对旧版本号对应的“版本差异表”在升级包文件中的存储位置(例如,版本差异表的存储地址)时,可以根据第二版本号获取目标版本差异表。
终端设备110获取服务器120发送的目标版本差异表,根据目标版本差异表确定终端设备110中相应的软件在从第二版本号升级到第一版本号时,存储器的各存储块所存储的内容是否会发生变化。当确认第一存储块对应的存储内容会发生变化时,可以确定第一存储块对应的待更新的存储内容在服务器120中所对应的偏移位置,并发送包括该偏移位置的下载请求至服务器120,以向服务器120请求获取第一存储块对应的待更新的存储内容。
服务器120根据终端设备110发送的下载请求中的偏移位置,从新版软件存储镜像中获取第一存储块对应的待更新的存储内容,并将第一存储块对应的待更新的存储内容发送至终端设备110。终端设备110在获取到第一存储块对应的待更新的存储内容时,根据第一存储块的存储地址,将第一存储块对应的待更新的存储内容更新至第一存储块。
可以理解的是,终端设备110可以分别从服务器120中获取每个第一存储块对应的待更新的存储内容,由于一个存储块的待更新的存储内容的数据量较小,所需要的传输时间较短,可以减少下载时长,可以边下载边更新,提高升级速度。在终端设备110的接收能力允许的情况下,也可以一次获取所有第一存储块对应的待更新的存储内容,此处不做限制。
在本实施例中,可接入互联网,且没有文件系统支持的待升级设备可以实现差分升级。终端设备不需要将升级包文件全部下载到本地后再解析,可以按照实际需求下载升级包文件中的部分内容。
上面介绍了具有联网功能的待升级的终端设备接入服务器后进行OTA升级的实现过程,下面介绍没有联网功能的待升级的终端设备进行OTA升级的实现过程。其中,没有联网功能的待升级的终端设备无法直接与服务器建立通信连接,需要通过其他中转设备与服务器进行通信,从而实现OTA升级。
请参阅图4,图4是本申请另一实施例提供的OTA升级的系统示意图。如图4所示,该OTA升级系统中包括中转设备210、至少一个待升级的终端设备220以及服务器230。待升级的终端设备220无法接入互联网,中转设备210与待升级的终端设备220采用短距离通信技术进行通信,例如,蓝牙通信、近场通信(Near Field Communication,NFC)、红外通信等。中转设备210通过互联网可与服务器230进行通信。图4中待升级的终端设备220以蓝牙耳机为例进行说明。
图4对应的升级过程与图1对应的升级过程的区别在于:中转设备210通过运行升级代理程序来帮助待升级的终端设备220进行软件升级。升级代理程序内预置了服务器230的访问地址以及升级包文件的访问路径。中转设备210运行升级代理程序可实现以下功能:可以根据服务器230的访问地址与服务器230建立通信连接;发送升级包文件的访问路径至服务器230,以便服务器230将该访问路径转换成服务器230本地用于存储升级包文件的存储路径,并将转换后的路径作为后续内容请求的本地访问路径;可以与终端设备220进行短距离通信,以及可以响应来自终端设备220的请求信息。
具体地,中转设备210可以将服务器230中的升级包文件下载至本地,以使得终端设备220可以从中转设备210中获取待升级软件最新的第一版本号、目标版本差异表、以及新版软件存储镜像中的部分内容或全部内容。中转设备210也可以将终端设备220发送的相关升级指令或请求透传至服务器230,以从服务器230中获取待升级软件最新的第一版本号、目标版本差异表、以及新版软件存储镜像中的部分内容或全部内容。
在本实施例中,无法接入互联网,且没有文件系统支持的待升级的终端设备也可以实现差分升级。
上面介绍了针对具有联网功能的待升级的终端设备的系统,以及针对没有联网功能的待升级的终端设备的系统之后,下面结合交互图详细介绍各系统的工作流程。各实施例中,以OTA升级包文件包括升级包信息、新旧版本差异描述块以及新版软件存储镜像,升级包信息包括待升级软件的第一版本号,新旧版本差异描述块包括至少一个版本差异表为例进行说明。
请参阅图5,图5是本申请一实施例提供的OTA升级的方法的交互图。待升级的终端设备具有联网功能,可以与服务器进行通信。服务器可以为OTA升级服务器,也可以为FTP服务器。OTA升级的方法包括以下步骤:
S101、待升级的终端设备与服务器建立通信连接。
终端设备与服务器进行通信时,采用的通信协议包括但不限于FTP、HTTP、HTTPS。当采用FTP协议进行通信时,终端设备与服务器建立FTP连接。
S102、待升级的终端设备发送升级包文件的访问路径至服务器。
待升级的终端设备在出厂时,预置了服务器的访问地址和升级包文件的访问路径。待升级的终端设备在与服务器建立通信连接后,将发送升级包文件的访问路径至服务器,以请求访问最新版的OTA升级包文件。
S103、服务器将升级包文件的访问路径转换成用于存放升级包文件的本地路径,所述本地路径用于终端设备访问OTA升级包文件,所述OTA升级包文件包括升级包信息、新旧版本差异描述块以及新版软件存储镜像,所述新版软件存储镜像用于描述终端设备在升级到第一版本号时,在存储器中呈现的内容镜像。
升级包信息可以包括第一版本号。第一版本号是指最新版的OTA升级包文件对应的待升级软件的版本号。服务器中可以只保留最新版的OTA升级包文件,当升级包开发人员发布新版本的OTA升级包文件至服务器时,服务器可以将发布的新版本的OTA升级包文件覆盖并替换先前已存储的OTA升级包文件。这样在发布新版的升级包文件时,不需要新增或重新配置升级包文件与终端设备现运行的固件版本之间的转换规则,方便相关人员维护和管理OTA升级包文件。
新旧版本差异描述块中包括至少一个版本差异表。版本差异表用于描述终端设备的软件从某个第二版本号升级到第一版本号时,终端设备的存储器中的具有差异的存储内容。第二版本号为该软件对应的已发布的任一旧版本号。
一个版本差异表可以包括多个比特位(Bit),至少一个比特位用于描述终端设备中的同一个存储块在升级前后所存储的内容是否有差异。
在升级时,如果以存储块为最小单元,存储块中的内容作为一个整体进行更新,那么,可以用一个比特位描述终端设备的软件从旧版本升级到新版本时,表现在存储器中的一个存储块的存储内容的差异。例如,版本差异表中可以用“1”表示终端设备的一个存储块中的内容在升级前后有差异,可以用“0”表示终端设备的一个存储块的内容在升级前后没有差异。
当存储块被划分为至少两个存储区域,在升级时以存储块中的存储区域为最小单元进行更新时,可以用至少两个比特位描述同一个存储块中不同存储区域所存储的内容在升级前后是否有差异。比特位的数量可以与存储器中所有存储块所包含的存储区域的数量相对应。
OTA升级包文件还可以包括版本差异表的索引信息,该索引信息可以存在于升级包信息,也可以存在于新旧版本差异描述块中。索引信息用于终端设备查找本次升级过程中所需的目标版本差异表。该索引信息可以是新版本号与旧版本号之间的版本差值,也可以是用于标识旧版本号对应的版本差异表在升级包文件中的存储位置。例如,版本差异表的存储地址。
S104、待升级的终端设备访问所述OTA升级包文件,向服务器请求获取所述OTA升级包文件的升级包信息。
S105、服务器响应于待升级的终端设备的请求,将OTA升级包文件的升级包信息发送至待升级的终端设备。
服务器从OTA升级包文件中获取升级包信息,并将其发送至待升级的终端设备。
服务器也可以从OTA升级包文件中获取第一版本号发送至待升级的终端设备。
S106、待升级的终端设备获取所述OTA升级包文件的升级包信息。
S107、待升级的终端设备根据所述升级包信息以及所述终端设备中所述待升级软件对应的第二版本号,确定待获取的目标版本差异表,所述目标版本差异表为所述新旧版本差异描述块中包含的至少一个版本差异表中的其中一个。
待升级的终端设备可以根据升级包信息中的第一版本号以及终端设备中所述待升级软件对应的第二版本号,计算第一版本号以及第二版本号的差值,根据该差值来确定目标版本差异表。
在一种可能的实现方式中,当待升级的终端设备获取到升级包信息,升级包信息还可以包括版本差异表的索引信息时,可以通过以下方式确定待获取的目标版本差异表:
当版本差异表的索引信息包括新版本号与旧版本号之间的版本差值时,可以根据第一版本号以及第二版本号确定待获取的目标版本差异表。具体地,待升级的终端设备可以计算第一版本号以及第二版本号之间的差值的绝对值,根据差值的绝对值确定新版本号与旧版本号之间的版本差值,并根据版本差值确定待获取的目标版本差异表。例如,假设版本差异表的索引信息分别为:Ver-1、Ver-2、Ver-3、Ver-4、Ver-N,当第一版本号为V1.7,第二版本号为V1.3时,差值绝对值为0.4,新旧版本之间的版本差值为4,因此,Ver-4对应的版本差异表为目标版本差异表。当第一版本号为V1.7,第二版本号为V1.0时,差值绝对值为0.7,新旧版本之间的版本差值为7,版本差异表的索引信息中不存在差值绝对值指示的目标版本差异表,即“新旧版本差异描述块”中不存在针对从1.0升级至1.7的版本差异表,此时,将Ver-N对应的版本差异表作为目标版本差异表。Ver-N对应的版本差异表用于指示终端设备进行全量升级。
当版本差异表的索引信息包括用于标识针对旧版本号的“版本差异表”在升级包文件中的存储位置(例如,版本差异表的存储地址)时,终端设备可以根据第二版本号确定目标版本差异表。
可以理解的是,OTA升级包文件中可以包括版本差异表的索引信息,也可以不包括版本差异表的索引信息。当OTA升级包文件中不包括版本差异表的索引信息时,终端设备可以确定目标版本差异表对应的偏移位置。该偏移位置用于向服务器请求获取目标版本差异表。
在一种可能的实现方式中,终端设备在根据第一版本号以及第二版本号确定版本差值之后,可以根据版本差值确定目标版本差异表对应的偏移位置。例如,第一版本号为10,如果第二版本号为9,计算出的版本差值为1,目标版本差异表对应的偏移位置为0个版本差异表;如果第二版本号为7,计算出的版本差值为3,此时的偏移位置可以为偏移2个版本差异表。偏移位置用于服务器根据首个版本差异表的存储地址、每个版本差异表所占的字节数以及偏移位置,确定目标版本差异表的存储地址,以获取目标版本差异表。
在另一种可能的实现方式中,如果升级包信息中还包括版本差异表的存储顺序(或者存储规则)、以及每个版本差异表所占的字节数,终端设备可以在根据第一版本号以及第二版本号,确定新版本号与旧版本号之间的版本差值之后,可以根据版本差异表的存储顺序、每个版本差异表所占的字节数以及版本差值,确定待获取的目标版本差异表对应的偏移位置。
例如,假设版本差异表按如3所示的方法进行存储,第一版本号为10,如果第二版本号为9,计算出的版本差值为1,目标版本差异表对应的偏移位置为0;如果第二版本号为7,计算出的版本差值为3,此时的偏移位置可以为偏移2个版本差异表,假设一个版本差异表占64个字节,那么目标版本差异表相对于第一个版本差异表,偏移了128个字节。
S108、待升级的终端设备向服务器请求获取所述目标版本差异表。
待升级的终端设备可以发送目标版本差异表的索引信息至服务器,以请求获取目标版本差异表。
待升级的终端设备还可以发送目标版本差异表对应的偏移位置至服务器,以请求获取目标版本差异表。
S107和S108主要描述终端设备获取目标版本差异表的过程,在本实施例中,目标版本差异表由终端设备确定,在其他实施例中,S107和S108也可以替换为:终端设备比较第一版本号和第二版本号,在确定第一版本号和第二版本号不同,且第一版本号大于第二版本号时,可以发送包含第二版本号的请求信息至服务器,以请求获取目标版本差异表,以使得服务器在获取到该请求信息时,能够响应于该请求信息,根据第二版本号和第一版本号确定版本差值,并根据版本差值以及版本差异表的索引信息获取目标版本差异表;或者根据版本差异表确定目标版本差异表的偏移位置,根据该偏移位置获取目标版本差异表。
S109、服务器响应于待升级的终端设备的获取请求,从所述OTA升级包文件中获取目标版本差异表,发送至所述目标版本差异表至待升级的终端设备。
服务器可以根据目标版本差异表的索引信息从OTA升级包文件中的新旧版本差异描述块中获取目标版本差异表。
服务器在获取到目标版本差异表对应的偏移位置时,可以根据该偏移位置、以及存储第一个版本差异表对应的首地址,可以计算出目标版本差异表对应的存储地址,以根据该存储地址获取目标版本差异表。
S110、待升级的终端设备根据所述目标版本差异表,向服务器请求获取所述终端设备的存储器中的目标存储块对应的目标内容。
例如,待升级的终端设备在检测到目标版本差异表中第一存储块对应的比特位的值为1时,表示第一存储块中的存储内容在升级前后会发生变化,将第一存储块识别为目标存储块。待升级的终端设备向服务器请求获取终端设备的存储器中第一存储块对应的目标内容。
版本差异表包括多个比特位,至少一个所述比特位用于描述所述待升级设备中的同一个存储块的存储内容是否有差异。
待升级的终端设备可以发送目标存储块的编号或存储地址范围至服务器,以请求从服务器的新版软件存储镜像中获取目标存储块对应的存储内容。
待升级的终端设备可以根据目标存储块的编号或存储地址范围,确定目标存储块对应的目标内容在服务器的新版软件存储镜像中的偏移位置,发送该偏移位置至服务器,以请求获取目标存储块对应的目标内容。
S111、服务器响应于待升级的终端设备的获取请求,获取目标存储块对应的目标内容。
由于新版软件存储镜像是用于描述终端设备在升级到第一版本号时,在存储器中呈现的内容镜像,因此,待升级的终端设备中用于写入OTA升级包文件的文件内容的存储器所包括的存储块的数量,与服务器中新版软件存储镜像对应的存储块的数量是相同的;并且终端设备中的每个存储块的编号和存储地址范围,与新版软件存储镜像中每个存储块对应的编号和存储地址范围,是一一对应的。例如,终端设备的存储器的存储块的编号为0~127,新版软件存储镜像中的存储块的编号也为0~127,并且同一存储块在终端设备中的编号和在新版软件存储镜像的编号相同,同一存储块在终端设备中的存储地址范围和在新版软件存储镜像的存储地址范围也相同。
服务器在获取到目标存储块的编号时,可以根据服务器中新版软件存储镜像中各存储块对应的编号,确定目标存储块在新版软件存储镜像中所在的位置,并根据该确定的位置获取其对应的存储内容。
服务器在获取到目标存储块的存储地址范围时,可以根据服务器中新版软件存储镜像中各存储块对应的存储地址范围,确定目标存储块在新版软件存储镜像中所在的位置,并根据该确定的位置获取其对应的存储内容。
可以理解的是,服务器还可以根据目标存储块的编号或存储地址范围,确定目标存储块对应的目标内容在服务器的新版软件存储镜像中的偏移位置,并根据存储块的首地址和偏移地址获取目标存储块对应的存储内容。
例如,目标存储块的编号为3,每个存储块对应的存储地址范围为0X001000,第一个存储块的地址为0X000000,服务器确定目标存储块对应的目标内容在服务器的新版软件存储镜像中的偏移位置为0X002000,从存储地址范围为0X002000~0X002FFF中获取目标存储块对应的存储内容。
当服务器获取到终端设备发送的偏移位置时,可以根据该偏移位置获取目标版本差异表。
S112、服务器发送目标存储块对应的目标内容至待升级的终端设备。
S113、待升级的终端设备根据每个所述目标存储块对应的存储地址,将每个所述目标存储块对应的目标内容更新至所述目标存储块。
下面以OTA升级服务器为FTP服务器为例对OTA升级的方法进行说明。请一并参阅图6,图6是本申请一实施例提供的OTA升级的应用场景示意图。如图6所示,搭建一台FTP服务器作为OTA升级服务器并将其接入网络,并在FTP服务器上设定一个用于存放升级包文件的本地路径。在待升级的终端设备(以下简称终端设备)上预置服务器的地址和升级包文件的访问路径。图6中的终端设备的存储器可以是ROM,也可以是Flash,图6中示出了2M字节对应的存储块,可以理解的是,存储器的存储空间可以大于2M字节。终端设备进行OTA升级的过程如下:
由终端设备上的联网模块作为FTP客户端与服务器中的FTP服务端建立FTP连接。
按照FTP协议要求,终端设备发送“升级包文件的访问路径”给服务器,FTP服务器将此路径信息转换成服务器侧的本地路径,作为后续文件内容请求的本地访问路径。
依FTP协议要求,FTP客户端可以通过发送“RETR+文件内偏移量”定位远端文件指针。远端文件指针用于从服务器中的新版升级包文件中的新版软件存储镜像获取存储内容。借助此方法,终端设备可以依照约定的升级包文件格式,按实际需求请求下载新版升级包文件的内容。RETR是FTP协议中的下载命令。
具体地,终端设备先获取远端(服务器)新版升级包中的“版本信息”(后称“远端版本”),对比当前设备侧运行的软件版本(后称“本地版本”)。如果远端版本无更新,那么中止升级过程,断开FTP连接。如果远端版本较新,那么根据远端版本的版本号与本地版本的版本号相减,计算出差值,用这个差值计算出对应的“版本差异表”在远端升级包文件的偏移位置。
例如,远端版本的版本号为10,如果本地版本的版本号为9,计算出的差值为1,对应本地版本的“版本差异表”为如图3中所示的Ver-1,计算出的偏移位置为0。如果本地版本的版本号为7,计算出的差值为3,对应本地版本的“版本差异表”为如图3中所示的Ver-3,可以实现从版本7升级到版本10,实现跨本版升级;此时偏移位置可以为偏移2个版本差异表,假设一个版本差异表占64个字节,那么Ver-3相对于Ver-1偏移了128个字节。如果本地版本的版本号为5,计算出的差值为5,对应本地版本的“版本差异表”为如图3中所示的Ver-N,可以实现从版本5升级到版本10;此时偏移位置可以为偏移4个版本差异表,假设一个版本差异表占64个字节,那么Ver-N相对于Ver-1偏移了256个字节。由于Ver-N对应全量升级表,表示版本差值大于或等于5时,终端设备需要进行全量升级,这样在发布新版本的升级包文件时,可以不需要为每一个旧版本设置一个版本差异表,通过一个升级包文件既可以实现差分升级,也可以实现全量升级,可以降低升级包的管理和维护的难度。
终端设备根据计算出的偏移位置修改远端文件指针,获取到对应本地版本的“版本差异表”。然后,顺序解析获取到的版本差异表中各个比特位。
如果某个比特位的值为“0”表示远端版本在该比特位对应的存储块上的内容与本地存储的内容一致,无需更新。
如果某个比特位的值为“1”时,计算出该比特位对应的存储块在新版软件存储镜像中的偏移位置(即远端文件指针),终端设备发送指令修改远端文件指针后请求下载,获取到该比特位对应的存储块中的更新内容写入到本地对应的位置,完成该存储块的更新。
按照同样的方法解析和处理完“版本差异表”的每个位,即完成了对设备本地存储内容的更新,设备端软件也升级到最新版本。断开FTP连接。
本申请实施例中,终端设备在升级的过程中,可以按实际情况从服务器的升级包文件中下载需要的内容,不需要将升级包文件全部下载至本地后再对其进行解析,可以加快升级速度。终端设备根据对应于当前运行的旧版本软件的版本差异表,从升级包文件中下载具有差异的存储内容,而不是直接下载升级包文件中有差异的文件,本申请的OTA差分升级方法不需要文件系统的支持就可以实现差分升级。
在介绍了具有联网功能的待升级的终端设备的升级方法之后,下面结合交互图对不具有联网功能的待升级的终端设备如何实现OTA升级的过程进行说明。
由于不具有联网功能的待升级的终端设备(例如,蓝牙耳机等)无法接入互联网,也就无法与服务器进行通信,因此,需要借助中转设备与服务器进行通信,来实现软件升级。中转设备可以是智能手机、平板电脑等。中转设备的处理能力较强时,中转设备可以按如图7所示的交互图,将新版的OTA升级包文件下载至本地,以使得待升级的终端设备可以从中转设备中获取升级包信息、目标版本差异表、以及新版软件存储镜像中的部分内容或全部内容。如图9所示,中转设备也可以将待升级的终端设备发送的相关升级指令或请求,透传至服务器,以从服务器中获取升级包信息、目标版本差异表、以及新版软件存储镜像中的部分内容或全部内容。中转设备的处理能力较弱时,可以通过将待升级的终端设备发送的相关升级指令或请求,透传至服务器,来帮助待升级的终端设备实现软件升级。
在一种可能的实现方式中,待升级的终端设备可以采用如图7所示的方法实现软件升级。请参阅图7,图7是本申请另一实施例提供的OTA升级的方法的交互图。本实施例与图5对应的实施例的区别在于,待升级的终端设备与中转设备进行短距离通信,中转设备与服务器建立通信连接,从服务器中下载新版升级包文件至本地,然后,待升级的终端设备与中转设备进行交互,从中转设备中获取新版升级包文件的升级包信息、目标版本差异表以及存储块对应的具有差异的存储内容,从而实现软件升级。待升级的终端设备即使无法接入互联网,没有文件系统支持,也可以实现差分升级。由于待升级的终端设备可以分别获取升级包信息、目标版本差异表以及存储块对应的具有差异的存储内容,而不是将差分升级包作为一个整体进行传输,单次传输的数据量相对较小,不需要等待获取到整个差分升级包的数据后再进行升级,可以减少数据获取时长,提供升级速度。
本实施例中,S202~S204、S207~S216与S101~S103、S104~S113的实现方式基本相同,具体请参阅上一实施例中的相关描述,此处不赘述。
下面以中转设备为手机、待升级的终端设备为蓝牙耳机,服务器为FTP服务器为例进行说明。请一并参阅图8,图8是本申请另一实施例提供的OTA升级的应用场景示意图。图8中的蓝牙耳机的存储器可以是ROM,也可以是Flash,图8中示出了2M字节对应的存储块,可以理解的是,存储器的存储空间可以大于2M字节。
蓝牙耳机与手机进行蓝牙配对连接。在配对成功后,蓝牙耳机可以主动发起串口协议(Serial Port Profile,SSP)连接。可选的,蓝牙耳机在与手机成功建立SSP连接后,可以发送“功能查询”指令至手机,以查询手机是否已运行升级代理程序。当手机返回的查询结果为未运行升级代理程序时,蓝牙耳机发送用于指示手机运行升级代理程序的指令至手机。
手机可以在响应于用于指示手机运行升级代理程序的指令,或响应于用户触发的代理升级指令时,运行升级代理程序,根据升级代理程序中预置的服务器的访问地址与服务器建立FTP连接,将升级代理程序中预置的升级包文件的访问路径发送至服务器。
服务器将该访问路径转换成服务器本地用于存储升级包文件的存储路径,并将转换后的路径作为后续内容获取请求的本地访问路径。
手机从服务器中获取升级包信息,根据升级包信息判断服务器中OTA升级包文件是否有更新。例如,根据升级包信息获取OTA升级包文件的更新时间或版本号,以判断OTA升级包文件是否有更新。手机在确认服务器中的OTA升级包文件有更新时,从服务器中下载最新版的OTA升级包文件。
可以理解的是,手机可以运行升级代理程序定期检测服务器中的OTA升级包文件是否有更新。
蓝牙耳机通过SPP通道发送升级包信息获取请求。手机响应于蓝牙发送的升级包信息获取请求,从本地保存的最新版的OTA升级包文件中获取升级包信息,并将获取到的升级包信息发送至蓝牙耳机。
蓝牙耳机根据升级包信息中的“版本信息”(后称“远端版本”),对比当前运行的软件版本(后称“本地版本”),如果远端版本无更新,中止升级过程。如果远端版本较新,那么根据远端版本的版本号与本地版本的版本号相减,计算出差值,用这个差值计算出对应的“版本差异表”远端升级包文件(手机中存储的最新版的OTA升级包文件)中的偏移位置。该偏移位置可以根据计算出的差值、新版升级包文件中第一个版本差异表所在的位置得到。
蓝牙耳机根据计算出的偏移位置修改远端文件指针。蓝牙耳机可以将远端文件指针发送至手机,以使得手机能够根据该远端文件指针确定内部偏移量,根据该内部偏移量访问OTA升级包,获取对应蓝牙耳机的本地版本的“版本差异表”,并将其发送至蓝牙耳机。
蓝牙耳机获取手机发送的对应本地版本的“版本差异表”。然后,顺序解析获取到的版本差异表中各个比特位。
如果某个比特位的值为“0”表示远端版本在该比特位对应的存储块上的内容与本地存储的内容一致,无需更新。
如果某个比特位的值为“1”时,计算出该比特位对应的存储块在新版软件存储镜像中的偏移位置(即远端文件指针),终端设备发送指令修改远端文件指针后请求下载,获取到该比特位对应的存储块中的更新内容写入到本地对应的位置,完成该存储块的更新,从而将蓝牙耳机中的固件升级到最新版本。当蓝牙耳机获取到的版本差异表中的所有比特位的值均为1时,蓝牙耳机进行全量升级。当蓝牙耳机获取到的版本差异表中的部分比特位的值为1时,蓝牙耳机进行差量升级。
蓝牙耳机在升级完成后,或者终止升级后,可以断开与手机之间的SPP连接。
在另一种可能的实现方式中,中转设备将来自蓝牙耳机的与升级相关的请求或指令,透传至服务器,以获取相应的内容,并将获取到的内容发送至蓝牙耳机,以使蓝牙耳机实现软件升级。请参阅图9,图9是本申请再一实施例提供的OTA升级的方法的交互图。本实施例中的OTA升级的方法包括以下步骤:
S301、待升级的终端设备与中转设备建立短距离通信连接。
S302、中转设备与服务器建立通信连接。
S303、中转设备发送升级包文件的访问路径至服务器。
S304、服务器将升级包文件的访问路径转换成用于存放升级包文件的本地路径,所述本地路径用于终端设备访问OTA升级包文件,所述OTA升级包文件包括升级包信息、新旧版本差异描述块以及新版软件存储镜像,所述新版软件存储镜像用于描述终端设备在升级到第一版本号时,在存储器中呈现的内容镜像。
S305、待升级的终端设备向中转设备请求获取所述OTA升级包文件的升级包信息。
待升级的终端设备可以发送第一获取请求至中转设备,第一获取请求用于请求获取OTA升级包文件的升级包信息。
S306、中转设备访问所述OTA升级包文件,向服务器请求获取所述OTA升级包文件的升级包信息。
S307、服务器响应于待升级的终端设备的请求,从OTA升级包文件中获取升级包信息,将OTA升级包文件的升级包信息发送至中转设备。
S308、中转设备获取服务器发送的OTA升级包文件的升级包信息,并将获取到的升级包信息发送至待升级的终端设备。
S309、待升级的终端设备获取OTA升级包文件的升级包信息。
S310、待升级的终端设备根据所述升级包信息以及所述终端设备对应的第二版本号,确定待获取的目标版本差异表,所述目标版本差异表为所述新旧版本差异描述块中包含的至少一个版本差异表中的其中一个。
具体实现方式请参阅图6中S107中的相关描述,此处不赘述。
S311、待升级的终端设备向中转设备请求获取所述目标版本差异表。
待升级的终端设备可以发送目标版本差异表的索引信息至中转设备,以请求获取目标版本差异表。
S312、中转设备向服务器请求获取所述目标版本差异表。
S313、服务器响应于待升级的终端设备的获取请求,从所述OTA升级包文件中获取目标版本差异表,发送至所述目标版本差异表至中转设备。
服务器可以根据目标版本差异表的索引信息从OTA升级包文件中的新旧版本差异描述块中获取目标版本差异表。
S314、中转设备获取服务器发送的所述目标版本差异表,发送所述目标版本差异表至待升级的终端设备。
S315、待升级的终端设备根据所述目标版本差异表,向中转设备请求获取所述终端设备的存储器中目标存储块对应的存储内容。
具体实现过程请参阅图6对应的实施例中S110的相关描述,此处不赘述。
S316、中转设备向服务器请求获取所述终端设备的存储器中目标存储块对应的存储内容。
S317、服务器响应于中转设备的获取请求,获取目标存储块对应的目标内容。
具体实现过程请参阅图6对应的实施例中S111的相关描述,此处不赘述。
S318、服务器发送目标存储块对应的目标内容至中转设备。
S319、中转设备发送目标存储块对应的存储内容至待升级的终端设备。
S320、待升级的终端设备根据每个所述目标存储块对应的存储地址,将每个所述目标存储块对应的目标内容更新至所述目标存储块。
具体实现过程请参阅图6对应的实施例中S113的相关描述,此处不赘述。
本实施例中,对于无法接入服务器的待升级设备,可以通过中转设备从服务器中下载具有差异的内容并进行更新,OTA升级时不需要文件系统的支持,在升级过程中所需要传输的内容较少,可以提高升级速度。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的OTA升级的方法中待升级的终端设备执行的各步骤,图10示出了本申请一实施例提供的OTA升级装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。本实施例中,OTA升级装置包括的各单元用于执行图5、7、9对应的实施例中的待升级的终端设备执行的各步骤,具体请参阅图5、7、9中的相关描述,此处不赘述。OTA升级装置10可以包括:
第一获取单元1010,用于获取OTA升级包文件的第一版本号,所述OTA升级包文件包括所述第一版本号、至少一个版本差异表以及新版软件存储镜像,所述新版软件存储镜像用于描述终端设备的软件在升级到所述第一版本号时,在存储器中呈现的内容镜像;
第二获取单元1020,用于根据所述第一版本号以及所述终端设备对应的第二版本号,获取目标版本差异表,所述目标版本差异表为所述OTA升级包文件包括的至少一个版本差异表中的其中之一;
第三获取单元1030,用于根据所述目标版本差异表,获取所述终端设备的存储器中的目标存储块对应的目标内容,所述目标存储块为升级前后存储内容发生变化的存储块,所述目标内容来自于所述OTA升级包文件的新版软件存储镜像;
升级单元1040,用于根据每个所述目标存储块对应的存储地址,将每个所述目标存储块对应的目标内容更新至所述目标存储块。
在一种可能的实现方式中,所述版本差异表包括多个比特位,至少一个所述比特位用于描述所述终端设备中的同一个存储块所存储的内容是否有差异。
在一种可能的实现方式中,所述版本差异表的数据量为64个字节。
在一种可能的实现方式中,所述升级包信息包括第一版本号。在第一方面的一种可能的实现方式中,所述OTA升级包文件还包括所述版本差异表的索引信息。索引信息用于从新旧版本差异描述块中查找相应的版本差异表。
在一种可能的实现方式中,所述版本差异表的索引信息包括新版本号与旧版本号之间的版本差值。
在一种可能的实现方式中,所述版本差异表的索引信息包括用于标识旧版本号对应的版本差异表在所述OTA升级包文件中的存储位置。
在一种可能的实现方式中,所述目标版本差异表由所述终端设备根据所述第一版本号与所述第二版本号的差值的绝对值获取。第一版本号与第二版本号的差值的绝对值用于确定新版本号与旧版本号之间的版本差值。
在一种可能的实现方式中,所述版本差异表的数量为5个。
在一种可能的实现方式中,所述OTA升级包文件中包含一个用于表示全量升级的版本差异表。
在一种可能的实现方式中,当未查找到与所述差值的绝对值匹配的版本差异表时,所述目标版本差异表为用于表示全量升级的版本差异表。
在一种可能的实现方式中,所述第一版本号、目标版本差异表以及所述目标存储块对应的目标内容,由所述终端设备从服务器中获取。可联网且没有文件系统的待升级设备,也可以实现差分升级。
在一种可能的实现方式中,所述第一版本号、目标版本差异表以及所述目标存储块对应的目标内容,由中转设备从服务器中获取后发送至所述终端设备。无法联网且没有文件系统的待升级设备,也可以实现差分升级。
在一种可能的实现方式中,所述终端设备与所述中转设备采用短距离无线通信方式进行通信。例如,蓝牙通信、近场通信(Near Field Communication,NFC)、红外通信等。
在本实施例中,该OTA升级装置10可以是待升级的终端设备,或者是待升级的终端设备中的芯片,或者是集成在待升级的终端设备中的功能模块。其中,该芯片或者该功能模块可以位于待升级的终端设备的控制中心(例如,控制台),控制待升级的终端设备实现本申请提供的OTA升级的方法。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请的OTA升级的方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见OTA升级的方法的实施例部分,此处不再赘述。
对应于上文实施例所述的OTA升级的方法中待升级的终端设备执行的各步骤,图11示出了本申请另一实施例提供的OTA升级装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。本实施例中,OTA升级装置包括的各单元用于执行图5、7、9对应的实施例中的服务器执行的各步骤,具体请参阅图5、7、9中的相关描述,此处不赘述。OTA升级装置11可以包括:
第一发送单元1110,用于发送OTA升级包文件的第一版本至终端设备,所述OTA升级包文件包括所述第一版本号、至少一个版本差异表以及新版软件存储镜像,所述新版软件存储镜像用于描述待升级设备的软件在升级到所述第一版本号时,在存储器中呈现的内容镜像;
第一获取单元1120,用于获取所述终端设备发送的获取请求,所述获取请求用于请求获取所述OTA升级包文件的目标版本差异表,所述目标版本差异表是根据所述第一版本号以及待升级设备对应的第二版本号确定,所述目标版本差异表为所述至少一个版本差异表中的其中一个;
第二发送单元1130,用于响应于所述获取请求,将所述目标版本差异表发送至所述终端设备;
第二获取单元1140,用于从所述新版软件存储镜像中提取出所述待升级设备的目标存储块对应的目标内容,所述目标存储块为升级前后存储内容发生变化的存储块,所述目标存储块由所述待升级设备根据所述目标版本差异表确定;
第三发送单元1150,用于发送所述目标存储块对应的目标内容至所述终端设备,所述目标存储块对应的目标内容用于所述待升级设备进行升级。
服务器中可以设有一个用于存放升级包文件的本地存储路径。服务器可以提供升级包文件的访问地址,并将对该访问地址的访问转换(映射)为对本地存储路径的访问。待升级设备在出厂时预置有服务器的访问地址以及升级包文件的访问路径。
在一种可能的实现方式中,当所述待升级设备可连接所述服务器时,所述待升级设备与所述终端设备为同一设备。
在一种可能的实现方式中,当所述待升级设备无法连接所述服务器时,所述待升级设备与所述终端设备为不同设备,所述终端设备与所述待升级设备采用短距离无线通信方式进行通信。
在一种可能的实现方式中,所述版本差异表包括多个比特位,至少一个所述比特位用于描述所述待升级设备中的同一个存储块的存储内容是否有差异。
在一种可能的实现方式中,所述版本差异表的数据量为64个字节。
在一种可能的实现方式中,所述OTA升级包文件还包括所述版本差异表的索引信息。
在一种可能的实现方式中,所述版本差异表的索引信息包括新版本号与旧版本号之间的版本差值。
在一种可能的实现方式中,所述版本差异表的索引信息包括用于标识旧版本号对应的版本差异表在所述OTA升级包文件中的存储位置。
在本实施例中,该OTA升级装置11可以是服务器,或者是服务器中的芯片,或者是集成在服务器中的功能模块。其中,该芯片或者该功能模块可以位于服务器的控制中心(例如,控制台),控制服务器实现本申请提供的OTA升级的方法。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请的OTA升级的方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见OTA升级的方法的实施例部分,此处不再赘述。
请参阅图12,图12为本申请一实施例提供的升级设备的结构示意图。如图12所示,该实施例的升级设备12包括:至少一个处理器1210(图12中仅示出一个)处理器、存储器1220以及存储在所述存储器1220中并可在所述至少一个处理器1210上运行的计算机程序1221,所述处理器1210执行所述计算机程序1221时实现上述任意各个OTA升级的方法实施例中的步骤。
其中,当升级设备为终端设备时,处理器1210调用存储器1220存储的计算机程序1221时使终端设备执行图5、7、9对应的实施例中终端设备所执行的步骤。
其中,当升级设备为服务器时,处理器1210调用存储器1220存储的计算机程序1221时使基站执行图5、7、9对应的实施例中服务器所执行的步骤。
本领域技术人员可以理解,图12仅仅是升级设备12的举例,并不构成对升级设备12的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器1210可以是中央处理单元(Central Processing Unit,CPU),该处理器1210还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器1220在一些实施例中可以是所述升级设备12的内部存储单元,例如升级设备12的硬盘或内存。所述存储器1220在另一些实施例中也可以是所述升级设备12的外部存储设备,例如所述升级设备12上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器1220还可以既包括所述升级设备12的内部存储单元也包括外部存储设备。所述存储器1220用于存储操作系统、应用程序、引导装载程序(Boot Loader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器1220还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种升级设备,该升级设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得升级设备执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/升级设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/升级设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (17)
1.一种空中下载技术OTA升级的方法,其特征在于,应用于终端设备,所述方法包括:
获取OTA升级包文件的第一版本号;
根据所述第一版本号以及所述终端设备对应的第二版本号获取目标版本差异表,所述目标版本差异表为所述OTA升级包文件包括的至少一个版本差异表中的其中之一,所述版本差异表用于描述终端设备的软件从旧版本升级到新版本时,表现在存储器中的存储内容的差异,所述存储器包括至少两个大小相同的存储块,所述版本差异表由所述OTA升级包文件的新版软件存储镜像与旧版软件存储镜像,按存储块进行逐一比较生成;
根据所述目标版本差异表,获取所述终端设备的存储器中的目标存储块对应的目标内容,所述目标存储块为升级前后存储内容发生变化的存储块,所述目标内容来自于所述OTA升级包文件的新版软件存储镜像,所述新版软件存储镜像用于描述终端设备的软件在升级到所述第一版本号时,在存储器中呈现的内容镜像;
根据每个所述目标存储块对应的存储地址,将每个所述目标存储块对应的目标内容更新至所述目标存储块。
2.根据权利要求1所述的方法,其特征在于,所述版本差异表包括多个比特位,至少一个所述比特位用于描述所述终端设备中的同一个存储块的存储内容是否有差异。
3.根据权利要求1所述的方法,其特征在于,所述OTA升级包文件还包括所述版本差异表的索引信息。
4.根据权利要求3所述的方法,其特征在于,所述版本差异表的索引信息包括新版本号与旧版本号之间的版本差值。
5.根据权利要求3所述的方法,其特征在于,所述版本差异表的索引信息包括用于标识旧版本号对应的版本差异表在所述OTA升级包文件中的存储位置。
6.根据权利要求1所述的方法,其特征在于,所述目标版本差异表由所述终端设备根据所述第一版本号与所述第二版本号的差值的绝对值获取。
7.根据权利要求6所述的方法,其特征在于,所述OTA升级包文件中包含一个用于表示全量升级的版本差异表。
8.根据权利要求7所述的方法,其特征在于,当未查找到与所述差值的绝对值匹配的版本差异表时,所述目标版本差异表为用于表示全量升级的版本差异表。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述第一版本号、目标版本差异表以及所述目标存储块对应的目标内容,由所述终端设备从服务器中获取。
10.根据权利要求1-8任一项所述的方法,其特征在于,所述第一版本号、目标版本差异表以及所述目标存储块对应的目标内容,由中转设备从服务器中获取后发送至所述终端设备。
11.根据权利要求10所述的方法,其特征在于,所述终端设备与所述中转设备采用短距离无线通信方式进行通信。
12.一种空中下载技术OTA升级的方法,其特征在于,应用于服务器,所述方法包括:
发送OTA升级包文件的第一版本号至终端设备,所述OTA升级包文件包括所述第一版本号、至少一个版本差异表以及新版软件存储镜像,所述版本差异表用于描述待升级设备的软件从旧版本升级到新版本时,表现在存储器中的存储内容的差异,所述新版软件存储镜像用于描述待升级设备的软件在升级到所述第一版本号时,在存储器中呈现的内容镜像;所述存储器包括至少两个大小相同的存储块,所述版本差异表由所述OTA升级包文件的新版软件存储镜像与旧版软件存储镜像,按存储块进行逐一比较生成;
获取所述终端设备发送的获取请求,所述获取请求用于请求获取所述OTA升级包文件的目标版本差异表,所述目标版本差异表是根据所述第一版本号以及待升级设备对应的第二版本号而确定,所述目标版本差异表为所述至少一个版本差异表中的其中一个;
响应于所述获取请求,将所述目标版本差异表发送至所述终端设备;
从所述新版软件存储镜像中提取出所述待升级设备的目标存储块对应的目标内容,发送所述目标存储块对应的目标内容至所述终端设备,所述目标存储块为升级前后存储内容发生变化的存储块,所述目标存储块由所述待升级设备根据所述目标版本差异表确定,所述目标存储块对应的目标内容用于所述待升级设备进行升级。
13.根据权利要求12所述的方法,其特征在于,当所述待升级设备可连接所述服务器时,所述待升级设备与所述终端设备为同一设备。
14.根据权利要求12所述的方法,其特征在于,当所述待升级设备无法连接所述服务器时,所述待升级设备与所述终端设备为不同设备,所述终端设备与所述待升级设备采用短距离无线通信方式进行通信。
15.根据权利要求12-14任一项所述的方法,其特征在于,所述版本差异表包括多个比特位,至少一个所述比特位用于描述所述待升级设备中的同一个存储块的存储内容是否有差异。
16.一种升级设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时使得所述升级设备执行如权利要求1至11任一项所述的空中下载技术OTA升级方法,或如权利要求12至15任一项所述的空中下载技术OTA升级方法。
17.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时使得升级设备执行如权利要求1至11任一项所述的空中下载技术OTA升级方法,或如权利要求12至15任一项所述的空中下载技术OTA升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010072926.7A CN113225729B (zh) | 2020-01-21 | 2020-01-21 | 空中下载技术ota升级的方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010072926.7A CN113225729B (zh) | 2020-01-21 | 2020-01-21 | 空中下载技术ota升级的方法、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113225729A CN113225729A (zh) | 2021-08-06 |
CN113225729B true CN113225729B (zh) | 2022-07-12 |
Family
ID=77085381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010072926.7A Active CN113225729B (zh) | 2020-01-21 | 2020-01-21 | 空中下载技术ota升级的方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113225729B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791800A (zh) * | 2021-08-13 | 2021-12-14 | 江铃汽车股份有限公司 | 一种自动泊车控制模块远程升级方法、系统及汽车 |
CN113778489B (zh) * | 2021-09-14 | 2024-01-30 | 上海芯钛信息科技有限公司 | 一种从硬件层面支持不停车ota的方法及系统 |
BE1029923B1 (de) * | 2021-11-15 | 2023-06-12 | Shenzhen Sunritel Smart Tech Ltd | Firmware-over-the-air- (fota) upgrade-verfahren basierend auf kleinem speicherplatz |
CN114090048A (zh) * | 2021-11-27 | 2022-02-25 | 深圳市元征科技股份有限公司 | 一种软件升级方法及装置 |
CN114338395A (zh) * | 2021-12-29 | 2022-04-12 | 武汉烽火信息集成技术有限公司 | 一种c/s通信网管方法、存储介质、电子设备及系统 |
CN114564934B (zh) * | 2022-02-08 | 2024-03-22 | 北京时代正邦科技股份有限公司 | 一种软件程序版本差异分析方法、装置、设备及存储介质 |
CN114978905A (zh) * | 2022-05-25 | 2022-08-30 | 重庆长安汽车股份有限公司 | 一种基于容器的软件ota升级方法 |
CN114979297B (zh) * | 2022-05-26 | 2023-06-27 | 重庆长安汽车股份有限公司 | 一种车辆软件版本大跨度ota升级方法 |
CN114866526B (zh) * | 2022-07-08 | 2022-12-27 | 荣耀终端有限公司 | 耳机升级方法及无线耳机 |
CN117130826A (zh) * | 2023-02-28 | 2023-11-28 | 荣耀终端有限公司 | 一种数据备份方法、电子设备、数据备份系统及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1930551A (zh) * | 2004-03-10 | 2007-03-14 | 索尼爱立信移动通讯股份有限公司 | 固件升级中的自动备份存储 |
CN105335181A (zh) * | 2014-08-06 | 2016-02-17 | 中兴通讯股份有限公司 | 一种实现ota升级的方法和终端 |
CN106686578A (zh) * | 2016-12-28 | 2017-05-17 | 深圳天珑无线科技有限公司 | 一种差分包生成方法和装置 |
CN107193593A (zh) * | 2017-05-17 | 2017-09-22 | 深圳创维数字技术有限公司 | 一种可升级文件的升级方法、机顶盒和存储介质 |
CN108595113A (zh) * | 2018-03-22 | 2018-09-28 | 维沃移动通信有限公司 | 一种分区调整的方法及终端 |
CN109634645A (zh) * | 2018-12-28 | 2019-04-16 | 深圳市有方科技股份有限公司 | 固件升级方法及终端 |
-
2020
- 2020-01-21 CN CN202010072926.7A patent/CN113225729B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1930551A (zh) * | 2004-03-10 | 2007-03-14 | 索尼爱立信移动通讯股份有限公司 | 固件升级中的自动备份存储 |
CN105335181A (zh) * | 2014-08-06 | 2016-02-17 | 中兴通讯股份有限公司 | 一种实现ota升级的方法和终端 |
CN106686578A (zh) * | 2016-12-28 | 2017-05-17 | 深圳天珑无线科技有限公司 | 一种差分包生成方法和装置 |
CN107193593A (zh) * | 2017-05-17 | 2017-09-22 | 深圳创维数字技术有限公司 | 一种可升级文件的升级方法、机顶盒和存储介质 |
CN108595113A (zh) * | 2018-03-22 | 2018-09-28 | 维沃移动通信有限公司 | 一种分区调整的方法及终端 |
CN109634645A (zh) * | 2018-12-28 | 2019-04-16 | 深圳市有方科技股份有限公司 | 固件升级方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN113225729A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113225729B (zh) | 空中下载技术ota升级的方法、设备及可读存储介质 | |
KR100984895B1 (ko) | 핸드셋 리프로그래밍의 보안성 개선 시스템 및 방법 | |
CN107797807A (zh) | 生成容器的方法、装置、终端、服务器与系统 | |
CN101984691A (zh) | 系统内置软件的升级方法和移动终端 | |
US20080104690A1 (en) | System and method of communication control management | |
CN111158738B (zh) | 耳机固件的升级方法、装置及可读存储介质 | |
KR20220007704A (ko) | 구성 업데이트 방법 및 장치, 기기, 저장 매체 | |
JP2023016871A (ja) | 融着接続装置の管理システム、及び、融着接続装置の管理方法 | |
US10078532B2 (en) | Resource management method and device for terminal system among multiple operating systems | |
CN114610341A (zh) | 产线刷机方法、装置、电子设备、芯片及存储介质 | |
CN107135516B (zh) | 一种参数测试处理方法、移动终端以及计算机可读存储介质 | |
KR20020009741A (ko) | 휴대전화단말기의 오퍼레이팅 기반환경 구축장치 및 이를이용한 응용프로그램의 무선 업그레이드 방법 | |
CN110610080B (zh) | 应用的隔离实现方法、移动终端、计算机设备和存储介质 | |
US7328007B2 (en) | System and method for organizing wireless communication device system software | |
CN114756257A (zh) | 数据更新方法、装置、通信模组和可读存储介质 | |
KR20060081159A (ko) | 이동단말기의 단말 정보 관리 방법 및 시스템 | |
KR100874551B1 (ko) | 통신 단말기의 어플리케이션 관리 방법 및 시스템 | |
US10050972B2 (en) | Authority management system, server system, non-transitory computer-readable storage medium having stored therein authority management program, and authority management method | |
JP2001043073A (ja) | 通信装置のソフトウェア変更方法及び通信装置 | |
CN114610366A (zh) | 一种差分包升级方法、系统、智能电子设备和存储介质 | |
CN112394969B (zh) | 一种补丁发布的方法、服务器及终端设备 | |
KR20110137064A (ko) | 이동통신 단말기 및 이동통신 단말기의 펌웨어 업데이트 방법 | |
KR100585753B1 (ko) | 실행 코드 업그레이드 장치 및 방법 | |
KR101171210B1 (ko) | 이동통신 단말의 파일을 관리하는 단말 관리 서버 및 방법 | |
EP0966136A1 (en) | Method and apparatus for updating text data in an electrical device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |