CN112804071A - 在线升级方法、升级文件提供方法、设备及存储介质 - Google Patents
在线升级方法、升级文件提供方法、设备及存储介质 Download PDFInfo
- Publication number
- CN112804071A CN112804071A CN201911108765.6A CN201911108765A CN112804071A CN 112804071 A CN112804071 A CN 112804071A CN 201911108765 A CN201911108765 A CN 201911108765A CN 112804071 A CN112804071 A CN 112804071A
- Authority
- CN
- China
- Prior art keywords
- file
- upgrade
- unit area
- verification
- version
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000008439 repair process Effects 0.000 claims abstract description 72
- 238000012795 verification Methods 0.000 claims abstract description 61
- 238000009434 installation Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 10
- 238000011084 recovery Methods 0.000 description 10
- 238000005192 partition Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及在线升级方法、升级文件提供方法、设备及存储介质。本申请实施例包括:根据升级过程中版本匹配校验的结果,当版本匹配校验失败,记录校验失败的单位存储区域;下载校验失败的单位存储区域对应的单位区域修复文件;安装所述单位区域修复文件。能够实现在设备版本匹配校验失败后,进行设备修复,从而提高在线升级的成功率,同时可降低升级过程的存储空间开销,降低设备成本。
Description
技术领域
本申请实施例涉及但不限于终端设备技术领域,尤其涉及一种在线升级方法、升级文件提供方法、设备及存储介质。
背景技术
在线升级,如OTA(Over-The-Air)升级,是通过网络下载的方式有效而可靠的对用户的终端设备进行升级的一种手段。在线升级包括驱动、系统、功能、应用等的升级,适用的终端范围很广。
目前常规的在线升级,也有时会发生失效,导致用户体验差。例如,系统固件升级失效往往需要到售后服务点进行重新刷机。
由于版本匹配校验步骤将检查升级文件和相应版本是否匹配,此步骤校验存在以下缺陷:一方面,如果设备使用时间过长或者设备存储器(如Flash)质量不过关可能存在设备存储器出现坏块;另一方面,设备被异常篡改或者由于程序写入异常可能导致设备存储器分区数据被改写等问题。此时即使在线下载了正确的升级文件,版本匹配校验依然会出现匹配失败的故障,导致在线升级失效。
发明内容
本申请实施例提供了在线升级方法、升级文件提供方法、设备及存储介质,能够提高在线升级的成功率。
第一方面,本申请实施例提供了一种在线升级方法,包括:
获取目标版本升级文件;
利用所述目标版本升级文件进行版本匹配校验;
当所述版本匹配校验失败,记录校验失败的单位存储区域;
下载校验失败的单位存储区域对应的单位区域修复文件;
安装所述单位区域修复文件。
第二方面,本申请实施例提供了一种升级文件提供方法,包括:
获取来自设备的单位区域修复文件下载请求;
根据所述单位区域修复文件下载请求,向设备发送对应的单位区域修复文件。
第三方面,本申请实施例提供了一种设备,包括:第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的计算机程序,所述第一处理器执行所述程序时实现:
如第一方面所述的在线升级方法。
第四方面,本申请实施例提供了一种服务器,包括:第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的计算机程序,所述第二处理器执行所述程序时实现:
如第二方面所述的升级文件提供方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:
执行第一方面所述的在线升级方法;
或者,
执行第二方面所述的升级文件提供方法。
本申请实施例包括:根据升级过程中版本匹配校验的结果,当所述版本校验失败,记录校验失败的单位存储区域;下载校验失败的单位存储区域对应的单位区域修复文件;安装所述单位区域修复文件。能够实现在设备版本匹配校验失败后,进行设备修复,从而提高在线升级的成功率,同时可降低升级过程的存储空间开销,降低设备成本。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1是已知的在线升级方法的流程图;
图2是本申请一实施例提供的在线升级方法中设备与服务器连接结构示意图;
图3是本申请一实施例提供的在线升级方法流程示意图;
图4是本申请另一实施例提供的在线升级方法中设备与服务器连接结构示意图;
图5是本申请另一实施例提供的在线升级方法中的流程示意图;
图6是本申请另一实施例提供的在线升级方法中的流程示意图;
图7是本申请另一实施例提供的在线升级方法中的流程示意图;
图8是本申请另一实施例提供的在线升级方法中的流程示意图;
图9本申请另一实施例提供的在线升级文件提供方法中的流程示意图;
图10本申请另一实施例提供的在线升级文件提供方法中的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在线升级,如OTA(Over-The-Air)升级,是通过网络下载的方式有效而可靠的对用户的终端设备进行升级的一种手段。在线升级包括驱动、系统、功能、应用等的升级,适用的终端范围很广。目前常规的在线升级,也有时会发生失效,导致用户体验差。例如,系统固件升级失效往往需要到售后服务点进行重新刷机。
例如,目前FOTA(Firmware Over-The-Air,空中下载软件升级)升级,其实现核心步骤参照图1所示,先由下载程序搜索和下载对应差分升级包,下载完成后开始安装,依次进行升级包完整性校验(如MD5校验)和版本匹配校验(升级包与版本校验)。校验通过后,一般需要安装两个系统,normal系统(正常系统)和recovery系统(备份系统)。在normal下安装recovery系统,再在recovery系统安装normal系统。其它固件在线升级步骤与此类似,例如,CPE(Customer Premises Equipment,用户侧设备)固件在线升级,利用U-Boot引导升级,本质和recovery系统差不多。
其中,版本匹配校验步骤将检查升级包和相应版本是否匹配。此步骤校验存在以下缺陷:
一方面,设备使用时间过长或者设备存储器(如Flash)质量不过关可能存在设备存储器出现坏块。另一方面,设备被异常篡改或者由于程序写入异常导致分区数据被改写等问题。此时即使OTA下载了正确的升级包,版本匹配校验依然会出现匹配失败的故障,导致OTA安装终止。
此外,如果对于校验失败情况采用全量升级(也即是全版本升级),也会受限于设备预留的升级包空间,只有极少部分设备能满足要求。即使设备可以预留分配足够的空间,不利于降低设备成本;对于单个设备,OTA升级并不常用,预留全量升级包空间也会造成存储资源浪费。
基于此,本申请实施例提供了在线升级方法、升级文件提供方法、设备及存储介质,能够提高在线升级的成功率,同时能够节约设备存储空间,从而降低设备成本。
需要说明的是,下列多种实施例中,在线升级方法可以是通过OTA方式或者TR069(TR069是CPE和ACS(Auto-Configuration Server,自动配置服务器)之间沟通的通讯协定)或者其他下载方式进行在线升级的方法。在线升级包括驱动、系统、功能、应用等的升级。下列仅以系统固件通过OTA方式在线升级为例进行说明。
第一方面,本申请实施例提供了一种在线升级方法,应用于设备端。设备可以为移动终端设备,也可以为非移动终端设备。移动终端设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载终端设备、可穿戴设备、超级移动个人计算机、上网本、个人数字助理、CPE、UFI(无线热点设备)等;非移动终端设备可以为个人计算机、电视机、柜员机或者自助机等;本发明实施方案不作具体限定。
在一些实施例中,参照图2,设备与服务器通信连接。服务器可以为OTA服务器。
在一些实施例中,参照图3,在线升级方法包括步骤:
S1000,获取目标版本升级文件;
S2000,利用目标版本升级文件进行版本匹配校验;
S3000,根据版本匹配校验的结果,记录校验失败的单位存储区域;
S4000,下载校验失败的单位存储区域对应的单位区域修复文件;
S5000,安装单位区域修复文件。
在一些实施例中,步骤S1000包括:
S1100,从服务器下载并获取目标版本升级文件;
在一些实施例中,可利用设备下载器搜索源版本的差分升级包后,开始下载目标版本升级文件。其中,目标版本升级文件为差分升级文件。差分升级文件也叫差分包,指的是升级文件采用差分处理,只升级差异部分,从而减少了升级带来的流量。
步骤S1100的示例性说明:
S1110,设备中下载器开始搜索,以HTTP(Hyper Text Transfer Protocol,超文本传输协议)或者HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输安全协议)协议,携带设备IMEI(International Mobile Equipment Identity,国际移动设备识别码)、版本信息、型号等信息,根据预制的服务地址,从OTA服务器上获取是否有新版本的信息。
在一些示例中,设备出厂时,boot(设备启动引导程序)中启动的分区设置normal系统(正常系统)的分区。每次上电后,boot加载normal系统的分区,进而完成normal系统的加载。该系统为用户场景的工作系统,此时recovery系统分区不加载。
normal系统轮询检查是否有升级请求。此部分中,包括子步骤:
S1111,系统中运行一个应用侧程序,比如叫update app,update app首先和OTA服务器建立网络连接,并在其中创建一个轮询线程。
S1112,在该轮询线程中生成HTTP协议包,并和OTA服务器约定升级标志,比如:UpdateNowFlag,发送HTTP协议包(HTTP请求)给OTA服务器,询问是否有目标升级文件。OTA服务器进行响应,如有目标升级文件,升级标志UpdateNowFlag置1,如无目标升级文件,升级标志UpdateNowFlag置0。
S1113,轮询时间间隔,为了省带宽和流量,可以设置较长的轮询时间间隔,如5分钟一次。每次设备连上网络后,发送一次请求,后续按照对应的轮询时间间隔发送对应请求;在网络连接断开后,关闭该轮询线程。
S1120,如果HTTP或HTTPS请求返回信息为空,那么说明没有目标版本升级文件(升级包)信息;如果HTTP或HTTPS请求返回信息携带目标版本号、目标版本升级文件名称、升级文件大小,设备型号信息等等,说明有需要升级的目标版本升级文件存在。
S1130,从服务器下载目标版本升级文件。
在一些实施例中,参照图4,设备可以通过中继设备再与服务器连接。例如,设备通过近距离通信的方式,如NFC、Zigbee与中继设备连接,中继设备再与OTA服务器通过互联网连接。模块normal系统中的update app收到升级指令后,通过提前定义好的设备节点接口,启动设备的近距离传输芯片,开始发送心跳广播数据包到中继设备,比如按照NFC、Zigbee等协议类型来进行数据组包。心跳数据为固定时间间隔的数据包,比如可以设置为1分钟一个数据包,如此,功耗很小,设备运行在低功耗的工作模式下。
其中,从服务器下载目标版本升级文件,首先要向服务器发送一个请求,例如,HTTP请求,其中,HTTP请求头由若干行字符串组成。
示例性说明HTTP请求头的格式:
假设要下载http://www.****.com.cn/index.html这个网页,HTTP请求头的写法如下:
第1行包括方法、请求的内容、HTTP协议的版本。例如,下载一般可以用GET方法;请求的内容是“/index.html”;HTTP协议的版本是指浏览器支持的版本,对于下载软件来说一般无实质意义,可以用1.1版“HTTP/1.1”,因此,这个例子中第1行可写为:“GET/index.htmlHTTP/1.1”。
第2行包括主机名。主机名格式为“Host:主机”。在这个例子中第2行可写为:“Host:www.****.com.cn”。
第3行包括接受的数据类型。下载软件一般需要接收所有的数据类型,所以在这个例子中第3行可写为:“Accept:*/*”。
第4行包括指定浏览器的类型。有些服务器会根据客户服务器种类的不同会增加或减少一些内容,在这个例子中第4行可写为:“User-Agent:Mozilla/4.0(compatible;MSIE 5.00;Windows 98)”。
第5行包括连接设置。可以设定为一直保持连接,所以在这个例子中第5行可写为:“Connection:Keep-Alive”。
第6行(如需)包括指定断点续传的数据接收的位置。若要实现断点续传,需要指定从什么位置起接收数据。格式如下:
“Range:bytes=起始位置-终止位置”
比如要读前500个字节可以写为:“Range:bytes=0-499”;从第1000个字节起开始下载可以写为:
“Range:bytes=999-”
最后,加上一行空行,表示HTTP请求头结束。
例如,整个HTTP请求头可以写为:
GET/index.html HTTP/1.1
Host:www.****.com.cn
Accept:*/*
User-Agent:Mozilla/4.0(compatible;MSIE 5.00;Windows 98)
Connection:Keep-Alive
S1140,目标版本升级文件下载完成后,下载器可以通过文件大小等方式判断目标版本升级文件是否已经下载完成。
步骤S2000,利用目标版本升级文件进行版本匹配校验。
在一些实施例中,步骤S2000包括子步骤:
S2100,对目标版本升级文件进行文件完整性校验;
S2200,当文件完整性校验通过,利用目标版本升级文件进行版本匹配校验。
在一些实施例中,步骤S2000还包括子步骤:
S2300,当文件完整性校验不通过,重启设备,提示安装失败。本次升级流程结束。
步骤S2100中,目标版本升级文件下载完成后,对目标版本升级文件进行文件完整性校验。例如,可对目标版本升级文件进行MD5校验。
参照图5,在一些实施例中,步骤S2100包括子步骤:
S2110,获取预置的MD5值M1。例如,可在发送前的目标版本升级文件的最后32字节预置MD5值M1。其中,M1为从发送前的目标版本升级文件P1位置(如0位置)到P2位置(如倒数第33个字节)共n个字节的MD5值。目标版本升级文件下载后,可读取目标版本升级文件的最后32字节获取预置的MD5值M1。
S2120,获取下载的目标版本升级文件的MD5值M2。从下载到的目标版本升级文件的P1位置(如0位置)开始,读取直到P2位置(如倒数第33个字节)的n个字节,将该n个字节填充到MD5算法接口中,根据MD5算法,计算出MD5值M2。其中,M2为下载的目标版本升级文件中的对应n个字节(如除了最后32字节的其余数据)的MD5值。
S2130,比较M1和M2,如果相等,说明下载的目标版本升级文件完整。文件完整性校验通过,目标升级文件和设备版本进行版本匹配性校验,然后进入步骤S3000。
步骤S3000,根据版本匹配校验的结果,记录校验失败的单位存储区域。
在一些实施例中,步骤S3000包括子步骤:
S3100,当版本匹配校验成功,则安装目标版本升级文件;
S3200,当版本匹配校验失败,记录校验失败的单位存储区域的个数;当校验失败的单位存储区域的个数小于预设阈值,记录校验失败的单位存储区域。
在一些实施例中,步骤S3100包括子步骤:
S3110,OTA安装程序安装recovery系统(备份系统)相关分区。如果安装成功,进入步骤S3120;否则,设备重启,提示安装失败。
S3120,recovery系统安装完成后,设置进入recovery系统标志。
S3130,设备重启进入recovery系统安装其他分区数据。如果安装成功,进入步骤S3140;如果安装失败,设备重启,提示安装失败。
S3140,安装normal系统(正常系统)。normal系统安装OK后,清除recovery系统标志,重启进入normal系统,提示安装成功。设备正常使用。
在一些实施例中,步骤S3200包括子步骤:
S3210,当版本匹配校验失败,进行逐个单位存储区域数据校验,记录校验失败的单位存储区域的个数。
S3220,当校验失败的单位存储区域的个数小于预设阈值,记录校验失败的单位存储区域。
在一些实施例中,参照图6,逐个单位存储区域数据校验的步骤包括:
S3211,读取设备需要升级的单位存储区域的二进制数据。
S3212,解析目标版本升级文件对应于单位存储区域的二进制数据。
S3213,上述两个步骤的二进制数据进行差异比较,根据比较结果判断是否数据匹配。
S3214,记录校验失败的单位存储区域的个数。
在一些实施例中,步骤S3213,单位存储区域可以为逻辑块或存储分区等,下列仅以逻辑块为例进行示例性说明。目标版本升级文件携带了每一个小段(对应于需升级的每一个逻辑块)的唯一标识码(用于标识逻辑块的唯一标识码,可以采用与源版本号相关的CRC校验码,也可以采用其他类型的标识码)。在校验时,通过读取设备source文件的内容,同样形成分段的唯一标识码。比较两组唯一标识码是否相等,以此来判断设备上的数据是否正确:如果两组唯一标识码相等,该逻辑块的数据匹配校验成功,记录下该逻辑块Sn,表示第n逻辑块校验成功;否则,版本匹配校验失败,记录下该逻辑块Fn,表示第n逻辑块校验失败。记录校验失败的逻辑块的个数。
在一些实施例中,步骤S3220,当校验失败的单位存储区域的个数小于预设阈值,记录校验失败的单位存储区域。如果是大部分逻辑块校验失败(如全部逻辑块校验失败),那么可能是目标版本升级文件错误,设备重启,提示安装失败。如果是少量块校验失败,说明设备存储器可能出现异常,通知服务器进行块修复文件(即单位区域修复文件)的自动制作和下载。因此,可以预设阈值,当校验失败的逻辑块的个数小于预设阈值,记录校验失败的逻辑块,进入步骤S4000,通知服务器进行对应逻辑块的块修复文件的自动制作和下载。
步骤S4000,下载校验失败的单位存储区域对应的单位区域修复文件。
步骤S5000,安装单位区域修复文件。
参照图7,在一些实施例中,可以循环执行步骤S4000和S5000,对数据校验失败的多个逻辑块Fn进行依次修复处理。
修复处理步骤包括:
S4100,读取逻辑块F1(第1个校验失败的逻辑块)记录;
S4200,发送本地socket指令,通知设备下载器下载逻辑块F1(第1个校验失败的逻辑块)对应的块修复文件。设备下载器根据通知指令,下载对应块修复文件。
S5100,块修复文件下载完成后,进行强制安装。
S5200,安装成功后,重复执行步骤S4100至S5200。
S5300,直到n个逻辑块安装全部完成,修复处理流程结束。
在一些实施例中,单位区域修复文件为校验失败的单位存储区域对应的源版本修复文件,如逻辑块Fn对应的源版本块修复文件。可利用块修复文件修复单位存储区域的数据。OTA升级进程数据校验时,是按照逻辑块逐步校验的,而失败都是针对逻辑块校验失败,参照上述步骤S3211至步骤S3214。这种失败即发现设备中的逻辑块校验数据(唯一标识码)与源版本的逻辑块校验数据不匹配。对于这种情况,设备下载器可以将带有逻辑块的唯一识别码的块修复文件下载请求进行上传,上传到OTA服务器后,进行匹配,以使OTA服务器识别出现问题的逻辑块。由于逻辑块大小一般占据空间不大,例如,对于128K的逻辑块,如果逻辑块出现问题,一个块修复文件的大小最大也就是128K,因此大大的减少了全包(全量升级文件)修复导致的空间占用问题。从项目经验来看,一般出现问题的逻辑块个数较少,即需要下载的块修复文件占据的存储和消息空间都不会太大;如果出现问题的逻辑块个数较多,也可以采用分批修复的方式,可减少大的块修复文件对于设备的压力。
在一些实施例中,步骤S5100中包括子步骤:
S5110,对单位区域修复文件进行文件完整性校验。例如,可利用类似上述步骤S2110至S2130的MD5校验方法进行完整性校验,具体过程参照步骤S2110至S2130的描述,在此不做赘述。如完整性校验失败,重启设备,提示安装失败。
S5120,当文件完整性校验通过,强制安装单位区域修复文件。例如,升级程序可以将对应的块修复文件强制写入Flash的对应逻辑块,以实现强制安装块修复文件。如强制安装对应逻辑块失败,重启设备,提示安装失败。
参照图8,在一些实施例中,在线升级方法还包括步骤:
S6000,再次利用目标版本升级文件进行版本匹配校验,以完成目标版本升级文件的安装。
在一些实施例中,经过修复处理步骤后,可有效避免版本匹配校验不通过的问题。此时,可再次执行正常升级步骤,以完成目标版本升级文件的安装。
例如,步骤S6000中可包括子步骤:
S6100,获取目标版本升级文件;
S6200,对目标版本升级文件进行文件完整性校验;
S6300,利用目标版本升级文件进行版本匹配校验;
S6400,当版本匹配校验成功,则安装目标版本升级文件。在一些实施例中,安装目标版本升级文件步骤可参照上述步骤S3110至S3140,在此不做赘述。
采用第一方面在线升级方法,能够实现在设备版本匹配校验失败后,进行设备修复,解决了解设备存储器出现异常后无法升级的问题,从而提高在线升级的成功率,减少了售后人员维护成本。同时可降低升级过程的存储空间开销,降低设备成本。
第二方面,本申请实施例提供了一种升级文件提供方法,应用于服务器端。服务器与设备通信连接。
在一些实施例中,参照图9,一种升级文件提供方法,包括步骤:
S8000,获取来自设备的单位区域修复文件下载请求;
S9000,根据单位区域修复文件下载请求,向设备发送对应的单位区域修复文件。
在一些实施例中,服务器为OTA服务器,单位区域修复文件为块修复文件。可将目标升级文件部署到OTA服务器上,同时将源版本的各个逻辑块对应的块修复文件也部署到OTA服务器上。
在一些实施例中,OTA服务器步骤响应于上述步骤S4200,执行步骤S8000和步骤S9000。首先,OTA服务器和设备建立网络连接,接收设备的块修复文件下载请求。然后解析块修复文件下载请求的内容,获取设备需要的块修复文件,并向设备发送该块修复文件。OTA服务器可以根据块修复文件下载请求获取对应逻辑块的唯一识别码,根据逻辑块的唯一识别码进行匹配,识别出现问题的逻辑块,然后在OTA服务器上自动制作设备需要的块修复文件,制作完成后,向设备推送该块修复文件。
由于逻辑块大小一般占据空间不大,例如,对于128K的逻辑块,如果逻辑块出现问题,一个块修复文件的大小最大也就是128K,因此大大的减少了全包(全量升级文件)修复导致的空间占用问题。从项目经验来看,一般出现问题的逻辑块个数较少,即需要推送的块修复文件占据的存储和消息空间都不会太大;如果出现问题的逻辑块个数较多,也可以采用分批修复的方式,可减少大的块修复文件对于设备的压力。
参照图10,在一些实施例中,步骤S8000之前还包括步骤:
S7000,根据目标版本升级文件下载请求,向设备发送目标升级文件。
在一些实施例中,OTA服务器响应于设备上述步骤S1110,执行步骤S7000,S7000包括子步骤:
S7100,接收来自设备的新版本信息搜索请求。例如,新版本信息搜索请求可为HTTP或HTTPS请求。OTA服务器向设备发送是否有新版本(目标版本文件)的信息;如果无新版本信息,返回信息为空,例如,可将升级标志UpdateNowFlag置0;如果有需要升级的目标版本升级文件存在,HTTP或HTTPS请求返回信息携带目标版本号、目标版本升级文件名称、升级文件大小,设备型号信息等等,并将升级标志UpdateNowFlag置1。
S7200,根据目标版本升级文件下载请求,向设备发送目标升级文件。
采用第二方面升级文件提供方法,能够实现在设备版本匹配校验失败后,进行设备修复,解决了解设备存储器出现异常后无法升级的问题,从而提高在线升级的成功率,减少了售后人员维护成本。同时可降低升级过程的存储空间开销,降低设备成本。
第三方面,本申请实施例提供了一种设备。设备可以为移动终端设备,也可以为非移动终端设备。移动终端设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载终端设备、可穿戴设备、超级移动个人计算机、上网本、个人数字助理、CPE、UFI(无线热点设备)等;非移动终端设备可以为个人计算机、电视机、柜员机或者自助机等;本发明实施方案不作具体限定。
设备包括:第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的计算机程序,所述第一处理器执行所述程序时实现:
如上述第一方面所述的在线升级方法。
第四方面,本申请实施例提供了一种服务器。
服务器包括:第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的计算机程序,所述第二处理器执行所述程序时实现:
如上述第二方面所述的升级文件提供方法。
第五方面,本申请实施例提供了计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:
执行第一方面所述的在线升级方法;
或者,
执行第二方面所述的升级文件提供方法。
第六方面,本申请实施例提供了一种在线升级方法,应用于在线升级系统。在线升级系统包括服务器和设备。
一种在线升级方法包括如上述第一方面所述的在线升级方法和对应的第二方面所述的升级文件提供方法。
需要说明的是,第六方面所提及到的实施例中应用于在线升级系统的在线升级方法与上述第一方面所提及到的实施例中应用于设备的在线升级方法、上述第二方面所提及到的实施例中应用于服务器的升级文件提供方法,均基于相同的发明构思,三者的区别仅在于侧重主体不同,如上述所提及到的实施例中应用于设备的在线升级方法的侧重主体为设备,如上述所提及到的实施例中应用于服务器的升级文件提供方法的侧重主体为服务器,而上述所提及到的实施例中应用于在线升级系统的在线升级方法的侧重主体为包括设备及服务器的在线升级系统。因此,上述三者具有相同的有益效果,即能够实现在设备版本匹配校验失败后,进行设备修复,解决了解设备存储器出现异常后无法升级的问题,从而提高在线升级的成功率,减少了售后人员维护成本。同时可降低升级过程的存储空间开销,降低设备成本。此外,由于上述三者具有对应的方法原理,而区别仅在于侧重主体不同,因此本实施例中的应用于在线升级系统的在线升级方法的方法原理,此处不再详述。
第七方面,本申请实施例提供了一种系统。系统包括如第三方面所述的设备和如第四方面所述的服务器,设备和服务器通信连接。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (13)
1.一种在线升级方法,包括:
获取目标版本升级文件;
利用所述目标版本升级文件进行版本匹配校验;
当所述版本匹配校验失败,记录校验失败的单位存储区域;
下载校验失败的单位存储区域对应的单位区域修复文件;
安装所述单位区域修复文件。
2.根据权利要求1所述的方法,其特征在于,当所述版本匹配校验失败,记录校验失败的单位存储区域,包括:
当版本匹配校验失败,记录校验失败的单位存储区域的个数;
当所述校验失败的单位存储区域的个数小于预设阈值,记录校验失败的单位存储区域。
3.根据权利要求1所述的方法,其特征在于,所述单位区域修复文件为校验失败的单位存储区域对应的源版本修复文件。
4.根据权利要求1所述的方法,其特征在于,所述单位存储区域为逻辑块,所述单位区域修复文件为块修复文件。
5.根据权利要求1所述的方法,其特征在于,所述获取目标版本升级文件,包括:
从服务器下载并获取目标版本升级文件;所述目标版本升级文件为差分升级文件。
6.根据权利要求1所述的方法,其特征在于,所述安装所述单位区域修复文件,包括:
对所述单位区域修复文件进行文件完整性校验;
当文件完整性校验通过,安装所述单位区域修复文件。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述安装所述单位区域修复文件之后,还包括:
利用所述目标版本升级文件进行版本匹配校验,以完成目标版本升级文件的安装。
8.一种升级文件提供方法,包括:
获取来自设备的单位区域修复文件下载请求;
根据所述单位区域修复文件下载请求,向设备发送对应的单位区域修复文件。
9.根据权利要求8所述的方法,其特征在于,所述根据所述单位区域修复文件下载请求,向设备发送对应的单位区域修复文件,包括:
根据所述单位区域修复文件下载请求,从预部署的各个单位区域修复文件中选择待修复的单位存储区域对应的单位区域修复文件;
向设备发送待修复的单位存储区域对应的单位区域修复文件。
10.根据权利要求8或9所述的方法,其特征在于,还包括:
根据目标版本升级文件下载请求,向设备发送目标升级文件。
11.一种设备,包括:第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的计算机程序,所述第一处理器执行所述程序时实现:
如权利要求1至7中任一项所述的在线升级方法。
12.一种服务器,包括:第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的计算机程序,所述第二处理器执行所述程序时实现:
如权利要求8至10任一项所述的升级文件提供方法。
13.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:
执行权利要求1至7中任一项所述的在线升级方法;
或者,
执行权利要求8至10任一项所述的升级文件提供方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911108765.6A CN112804071A (zh) | 2019-11-13 | 2019-11-13 | 在线升级方法、升级文件提供方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911108765.6A CN112804071A (zh) | 2019-11-13 | 2019-11-13 | 在线升级方法、升级文件提供方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112804071A true CN112804071A (zh) | 2021-05-14 |
Family
ID=75804009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911108765.6A Pending CN112804071A (zh) | 2019-11-13 | 2019-11-13 | 在线升级方法、升级文件提供方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112804071A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992739A (zh) * | 2021-10-26 | 2022-01-28 | 北京奕斯伟计算技术有限公司 | 一种局域网ota固件升级装置、方法及系统 |
CN114116023A (zh) * | 2021-06-15 | 2022-03-01 | 荣耀终端有限公司 | 操作系统启动方法、设备、存储介质及计算机程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455354A (zh) * | 2013-09-06 | 2013-12-18 | 南京南自信息技术有限公司 | 一种防止固件升级失败的方法和设备 |
CN108646982A (zh) * | 2018-05-04 | 2018-10-12 | 广东电网有限责任公司电力科学研究院 | 一种基于ubifs的数据自动修复方法及装置 |
CN109062598A (zh) * | 2018-06-26 | 2018-12-21 | 珠海全志科技股份有限公司 | 一种安全的ota升级方法及系统 |
CN109672655A (zh) * | 2017-10-16 | 2019-04-23 | 华为终端(东莞)有限公司 | 一种差分升级的方法、装置及系统 |
-
2019
- 2019-11-13 CN CN201911108765.6A patent/CN112804071A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455354A (zh) * | 2013-09-06 | 2013-12-18 | 南京南自信息技术有限公司 | 一种防止固件升级失败的方法和设备 |
CN109672655A (zh) * | 2017-10-16 | 2019-04-23 | 华为终端(东莞)有限公司 | 一种差分升级的方法、装置及系统 |
WO2019076293A1 (zh) * | 2017-10-16 | 2019-04-25 | 华为技术有限公司 | 一种差分升级的方法、装置及系统 |
CN108646982A (zh) * | 2018-05-04 | 2018-10-12 | 广东电网有限责任公司电力科学研究院 | 一种基于ubifs的数据自动修复方法及装置 |
CN109062598A (zh) * | 2018-06-26 | 2018-12-21 | 珠海全志科技股份有限公司 | 一种安全的ota升级方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116023A (zh) * | 2021-06-15 | 2022-03-01 | 荣耀终端有限公司 | 操作系统启动方法、设备、存储介质及计算机程序产品 |
CN114116023B (zh) * | 2021-06-15 | 2023-05-09 | 荣耀终端有限公司 | 操作系统启动方法、设备、存储介质及计算机程序产品 |
CN113992739A (zh) * | 2021-10-26 | 2022-01-28 | 北京奕斯伟计算技术有限公司 | 一种局域网ota固件升级装置、方法及系统 |
CN113992739B (zh) * | 2021-10-26 | 2024-03-22 | 北京奕斯伟计算技术股份有限公司 | 一种局域网ota固件升级装置、方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106843957B (zh) | 系统固件升级方法及装置 | |
CN101656949B (zh) | 一种固件空中升级的方法及终端 | |
EP2456257B1 (en) | Method and system for upgrading wireless data card | |
US9471300B2 (en) | Wireless firmware upgrades to an alarm security panel | |
CN101436138A (zh) | 一种用于软件升级且动态回滚的控制装置以及控制方法 | |
US20160170735A1 (en) | Operating system updating method by using a checklist | |
CN101695162A (zh) | 一种移动终端空中固件升级方法及装置 | |
CN102541604B (zh) | 一种远程升级方法、远程升级的终端设备以及远程升级系统 | |
CN109062598A (zh) | 一种安全的ota升级方法及系统 | |
CN106886436B (zh) | 一种Android系统升级的方法和装置 | |
CN111221682B (zh) | 一种存储系统镜像的方法 | |
CN103036706A (zh) | 应用升级异常的本地处理方法 | |
CN104918114A (zh) | 一种操作系统升级方法及装置 | |
WO2017198156A1 (zh) | 业务部署方法、装置和系统 | |
CN102541595A (zh) | 智能设备的升级方法、装置及智能设备 | |
CN112804071A (zh) | 在线升级方法、升级文件提供方法、设备及存储介质 | |
CN106775873B (zh) | 更新手机软件、获取补丁文件的方法及设备 | |
CN110597545A (zh) | 一种基于ota组件的热补丁智能升级方法及系统 | |
CN105045640A (zh) | 一种软件升级方法、装置及智能设备 | |
CN113721957B (zh) | 对嵌入式设备固件部署升级的自动测试方法、装置和系统 | |
CN117056115B (zh) | 应用程序的修复方法和装置、存储介质及电子设备 | |
CN108874410B (zh) | 补丁管理方法及装置 | |
CN116107596A (zh) | 自动化系统部署方法及相关装置 | |
CN111443951A (zh) | 一种系统启动方法和系统启动装置 | |
CN112601075B (zh) | 一种基于双镜像的网络摄像机升级故障恢复系统及方法 |
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 |