CN116737193A - 软件升级方法、电子设备和通信系统 - Google Patents
软件升级方法、电子设备和通信系统 Download PDFInfo
- Publication number
- CN116737193A CN116737193A CN202211170971.1A CN202211170971A CN116737193A CN 116737193 A CN116737193 A CN 116737193A CN 202211170971 A CN202211170971 A CN 202211170971A CN 116737193 A CN116737193 A CN 116737193A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- upgrade
- installation package
- upgrade installation
- software
- 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 60
- 238000004891 communication Methods 0.000 title claims abstract description 48
- 238000009434 installation Methods 0.000 claims abstract description 133
- 230000005540 biological transmission Effects 0.000 claims abstract description 25
- 238000012795 verification Methods 0.000 claims abstract description 13
- 239000012634 fragment Substances 0.000 claims abstract description 11
- 238000004904 shortening Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (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
技术领域
本申请涉及通信领域,尤其涉及一种软件升级方法、电子设备和通信系统。
背景技术
越来越多的电子设备支持通过手机应用程序(application,APP)进行空中(overthe air,OTA)升级,但是一些电子设备硬件条件有限,无法一次性接收和缓存大量数据,因此在通过手机APP对电子设备进行OTA升级时,手机APP将升级安装包拆分成多个片段,并逐个传输给电子设备。
然而电子设备每次接收升级安装包的片段后都会与手机APP进行握手应答,导致整个升级时间非常长。
发明内容
本申请实施例提供一种软件升级方法、电子设备和通信系统,用于缩短电子设备进行软件升级的时间。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种软件升级方法,包括:第一电子设备从第二电子设备接收升级指示信息,升级指示信息用于指示在第二电子设备安装升级安装包以进行软件升级;第一电子设备从第二电子设备接收传输时间间隔和校验等待时长;第一电子设备按照传输时间间隔向第二电子设备发送升级安装包的各个片段;第一电子设备在发送完升级安装包的所有片段之后的校验等待时长之前,从第二电子设备接收校验信息,校验信息用于指示升级安装包是否校验成功。
本申请实施例提供的软件升级方法,第一电子设备周期性地向第二电子设备传输升级安装包的各个片段,待全部片段传输完成后,再与第二电子设备交互整个升级安装包是否校验成功,从而节省第一电子设备与第二电子设备之间的交互时间,进而缩短电子设备进行软件升级的时间。
在一种可能的实施方式中,在第一电子设备从第二电子设备接收升级指示信息之前,还包括:第一电子设备向第二电子设备发送升级安装包的相关信息;升级安装包的相关信息用于第二电子设备确定升级指示信息。
即由第二电子设备来确定是否进行软件升级,使得可以针对同类型的电子设备中不同个体来进行软件升级。
在一种可能的实施方式中,升级安装包的相关信息包括升级安装包的类型、升级安装包的版本号以及升级安装包的大小;如果升级安装包的类型与第二电子设备的软件类型相同,并且,升级安装包的版本号高于第二电子设备中的软件的版本号,并且,第二电子设备的可用存储空间大于升级安装包的大小,则升级指示信息指示在第二电子设备安装升级安装包以进行软件升级。
在一种可能的实施方式中,在第一电子设备按照传输时间间隔向第二电子设备发送升级安装包的各个片段之前,还包括:第一电子设备从第二电子设备接收请求数据时长;第一电子设备向第二电子设备发送升级命令,并在请求数据时长之前,从第二电子设备接收各个片段的起始地址和大小;第一电子设备根据各个片段的起始地址和大小确定各个片段。
如果第一电子设备未在请求数据时长之前从第二电子设备接收升级安装包的各个片段的起始地址和大小,则软件升级失败。
在一种可能的实施方式中,还包括:第一电子设备从第二电子设备接收重启等待时长;第一电子设备在从第二电子设备接收校验信息之后,在重启等待时长之前,与第二电子设备重新建立通信。
对于固件的升级来说,可能导致第二电子设备重启,如果第二电子设备重启后与第一电子设备正常通信,则说明软件升级成功。对于某些应用软件的升级来说,第二电子设备也可能不进行重启,因此该实施方式是可选的。
第二方面,提供了一种软件升级方法,包括:第二电子设备向第一电子设备发送升级指示信息,升级指示信息用于指示在第二电子设备安装升级安装包以进行软件升级;第二电子设备向第一电子设备发送传输时间间隔和校验等待时长;第二电子设备按照传输时间间隔从第一电子设备接收升级安装包的各个片段;第二电子设备在接收完升级安装包的所有片段之后对升级安装包进行校验,并且在校验等待时长之前,向第一电子设备发送校验信息,校验信息用于指示升级安装包是否校验成功。
在一种可能的实施方式中,在第二电子设备向第一电子设备发送升级指示信息之前,还包括:第二电子设备从第一电子设备接收升级安装包的相关信息;第二电子设备根据升级安装包的相关信息确定升级指示信息。
在一种可能的实施方式中,升级安装包的相关信息包括升级安装包的类型、升级安装包的版本号以及升级安装包的大小;如果升级安装包的类型与第二电子设备的软件类型相同,并且,升级安装包的版本号高于第二电子设备中的软件(可以为固件或应用软件)的版本号,并且,第二电子设备的可用存储空间大于升级安装包的大小,则升级指示信息指示在第二电子设备安装升级安装包以进行软件升级。
在一种可能的实施方式中,在第一电子设备按照传输时间间隔向第二电子设备发送升级安装包的各个片段之前,还包括:第二电子设备向第一电子设备发送请求数据时长;第二电子设备从第一电子设备接收升级命令,并在请求数据时长之前,向第一电子设备发送各个片段的起始地址和大小,各个片段的起始地址和大小用于确定各个片段。
在一种可能的实施方式中,还包括:第二电子设备向第一电子设备发送重启等待时长;第二电子设备在向第一电子设备发送校验信息之后,在重启等待时长之前,与第一电子设备重新建立通信。
第三方面,提供了一种第一电子设备,包括处理器和存储器,存储器中存储指令,当处理器执行指令时,如第一方面及其任一实施方式所述的方法被执行。
第四方面,提供了一种第二电子设备,包括处理器和存储器,存储器中存储指令,当处理器执行指令时,如第二方面及其任一实施方式所述的方法被执行。
第五方面,提供了一种通信系统,包括如第三方面所述的第一电子设备以及如第四方面所述的第二电子设备,第一电子设备用于对第二电子设备进行软件升级。
第六方面,提供了一种计算机可读存储介质,包括指令,当指令在电子设备上执行时,使得电子设备执行如第一方面至第二方面及其任一实施方式所述的方法。
第七方面,提供了一种包含指令的计算机程序产品,当指令在电子设备上运行时,使得该电子设备执行如第一方面至第二方面及其任一实施方式所述的方法。
第八方面,提供了一种芯片系统,该芯片系统包括处理器,用于支持电子设备实现上述第一方面至第二方面及其任一实施方式中所涉及的功能。在一种可能的设计中,该装置还包括接口电路,接口电路可用于从其它装置(例如存储器)接收信号,或者,向其它装置(例如通信接口)发送信号。该芯片系统可以包括芯片,还可以包括其他分立器件。
第二方面至第八方面的技术效果参照第一方面及其任一实施方式的技术效果,在此不再重复。
附图说明
图1为本申请实施例提供的一种通信系统的架构示意图;
图2为本申请实施例提供的一种第一电子设备的结构示意图;
图3为本申请实施例提供的一种第一电子设备运行的软件架构示意图;
图4为本申请实施例提供的一种第二电子设备的结构示意图;
图5为本申请实施例提供的一种软件升级方法的流程示意图;
图6为本申请实施例提供的一种提示软件升级成功的示意图;
图7为本申请实施例提供的一种芯片系统的结构示意图。
具体实施方式
首先对本申请涉及的一些概念进行描述。
本申请实施例涉及的术语“第一”、“第二”等仅用于区分同一类型特征的目的,不能理解为用于指示相对重要性、数量、顺序等。
本申请实施例涉及的术语“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例涉及的术语“耦合”、“连接”应做广义理解,例如,可以指物理上的直接连接,也可以指通过电子器件实现的间接连接,例如通过电阻、电感、电容或其他电子器件实现的连接。
如图1所示,本申请实施例提供了一种通信系统,包括:第一电子设备101、第二电子设备102和服务器103。第一电子设备101用于从服务器103获取升级安装包,并拆分为多个片段发送给第二电子设备102,从而实现对第二电子设备102进行OTA升级。第一电子设备101、第二电子设备102可以通过蓝牙组网(mesh)进行蓝牙通信。第一电子设备101与服务器103可以通过互联网进行通信。
服务器103中用于存储升级安装包。当需要对第二电子设备102的软件版本进行更新时,第二电子设备102的生产厂商将升级安装包存储至服务器103上,供第一电子设备101下载后,通过OTA方式传输给第二电子设备102。
第一电子设备101可以是一种具有通信功能的设备,第一电子设备101可以是移动的,也可以是固定的。第一电子设备101可以部署在陆地上(例如室内或室外、手持或车载等),也可以部署在水面上(例如轮船等),还可以部署在空中(例如飞机、气球和卫星等)。该第一电子设备101可以称为用户设备(user equipment,UE)、接入终端、终端单元、用户单元(subscriber unit)、终端站、移动站(mobile station,MS)、移动台、终端代理或终端装置等。例如,该电子设备可以是手机、平板电脑、笔记本电脑等。本申请实施例对电子设备的具体类型和结构等不作限定。下面对电子设备的一种可能结构进行说明。
以第一电子设备为手机为例,图2示出了第一电子设备101的一种可能的结构。该第一电子设备101可以包括处理器210、外部存储器接口220、内部存储器221、通用串行总线(universal serial bus,USB)接口230、电源管理模块240、电池241、无线充电线圈242、天线1、天线2、移动通信模块250、无线通信模块260、音频模块270、扬声器270A、受话器270B、麦克风270C、耳机接口270D、传感器模块280、按键290、马达291、指示器292、摄像头293、显示屏294以及用户标识模块(subscriber identification module,SIM)卡接口295等。
其中,传感器模块280可以包括压力传感器、陀螺仪传感器、气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、指纹传感器、温度传感器、触摸传感器、环境光传感器、骨传导传感器等。
可以理解的是,本发明实施例示意的结构并不构成对第一电子设备101的具体限定。在本申请另一些实施例中,第一电子设备101可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以为现场可编程门阵列(field programmable gate array,FPGA)、专用集成电路(application specificintegrated circuit,ASIC)、片上系统(system on chip,SoC)、中央处理单元(centralprocessing unit,CPU)、应用处理器(application processor,AP)、网络处理器(networkprocessor,NP)、数字信号处理器(digital signal processor,DSP)、微控制单元(microcontroller unit,MCU)、可编程逻辑器件(programmable logic device,PLD)、调制解调处理器、图形处理器(graphics processing unit,GPU)、图像信号处理器(image signalprocessor,ISP)、控制器、视频编解码器、基带处理器以及神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,处理器210可以是应用处理器AP。或者,上述处理器210可以集成在片上系统(system on chip,SoC)中。或者,上述处理器210可以集成在集成电路(integrated circuit,IC)芯片中。该处理器210可以包括IC芯片中的模拟前端(analogfront end,AFE)和微控制单元(micro-controller unit,MCU)。
其中,控制器可以是第一电子设备101的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口、集成电路内置音频(inter-integrated circuitsound,I2S)接口、脉冲编码调制(pulse code modulation,PCM)接口、通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口、移动产业处理器接口(mobile industry processor interface,MIPI)、通用输入输出(general-purposeinput/output,GPIO)接口、用户标识模块(subscriber identity module,SIM)接口和/或USB接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对第一电子设备101的结构限定。在本申请另一些实施例中,第一电子设备101也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电源管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器(如第一电子设备101的无线充电底座或者其他可以为第一电子设备101无线充电的设备),也可以是有线充电器。例如,电源管理模块240可以通过USB接口230接收有线充电器的充电输入。电源管理模块240可以通过电子设备的无线充电线圈242接收无线充电输入。
其中,电源管理模块240为电池241充电的同时,还可以为电子设备供电。电源管理模块240接收电池241的输入,为处理器210、内部存储器221、外部存储器接口220、显示屏294、摄像头293和无线通信模块260等供电。电源管理模块240还可以用于监测电池241的电池容量、电池循环次数、电池健康状态(漏电、阻抗)等参数。在其他一些实施例中,电源管理模块240也可以设置于处理器210中。
第一电子设备101的无线通信功能可以通过天线1、天线2、移动通信模块250、无线通信模块260、调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。第一电子设备101中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块250可以提供应用在第一电子设备101上的包括2G/3G/4G/5G等无线通信的解决方案。无线通信模块260可以提供应用在第一电子设备101上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络)、蓝牙(bluetooth,BT)、全球导航卫星系统(global navigation satellite system,GNSS)、调频(frequency modulation,FM)、近距离无线通信技术(near field communication,NFC)、红外技术(infrared,IR)等无线通信的解决方案。在一些实施例中,第一电子设备101的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得第一电子设备101可以通过无线通信技术与网络以及其他设备通信。
第一电子设备101通过GPU、显示屏294以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏294和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏294用于显示图像,视频等。显示屏294包括显示面板。在一些实施例中,第一电子设备101可以包括1个或N个显示屏294,N为大于1的正整数。
第一电子设备101可以通过ISP、摄像头293、视频编解码器、GPU、显示屏294以及应用处理器等实现拍摄功能。ISP用于处理摄像头293反馈的数据。在一些实施例中,ISP可以设置在摄像头293中。摄像头293用于捕获静态图像或视频。在一些实施例中,第一电子设备101可以包括1个或N个摄像头293,N为大于1的正整数。示例性的,本申请实施例的摄像头包括广角摄像头和主摄像头。
外部存储器接口220可以用于连接外部存储卡,例如微闪迪(micro SanDisk,Micro SD)卡,实现扩展第一电子设备101的存储能力。外部存储卡通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行第一电子设备101的各种功能应用以及数据处理。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、通用闪存存储器(universalflash storage,UFS)等。
本申请实施例涉及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
第一电子设备101可以通过音频模块270、扬声器270A、受话器270B、麦克风270C、耳机接口270D以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块270用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。在一些实施例中,音频模块270可以设置于处理器210中,或将音频模块270的部分功能模块设置于处理器210中。扬声器270A,也称“喇叭”,用于将音频电信号转换为声音信号。受话器270B,也称“听筒”,用于将音频电信号转换成声音信号。麦克风270C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。第一电子设备101可以设置至少一个麦克风270C。耳机接口270D用于连接有线耳机。耳机接口270D可以是USB接口230,也可以是3.5mm的开放移动终端平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of theUSA,CTIA)标准接口。
按键290包括开机键、音量键等。按键290可以是机械按键。也可以是触摸式按键。第一电子设备101可以接收按键输入,产生与第一电子设备101的用户设置以及功能控制有关的键信号输入。马达291可以产生振动提示。马达291可以用于来电振动提示,也可以用于触摸振动反馈。指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息、未接来电、通知等。SIM卡接口295用于连接SIM卡。SIM卡可以通过插入SIM卡接口295,或从SIM卡接口295拔出,实现和第一电子设备101的接触和分离。第一电子设备101可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口295可以支持纳SIN(Nano SIM)卡、微SIM(Micro SIM)卡、SIM卡等。在一些实施例中,第一电子设备101采用嵌入式(embedded SIM,eSIM)卡,eSIM卡可以嵌在第一电子设备101中,不能和第一电子设备101分离。
处理器210通过执行内部存储器221中存储的程序、指令来执行本申请实施例提供的软件升级方法。处理器210运行的程序可以基于操作系统,例如 视窗(Windows)操作系统等。如图3所示,以处理器210运行的程序基于/>为例,处理器210运行的程序按照功能进行分层,可以包括应用程序层、框架层、本地层、内核层、驱动层。
应用程序层可以包括升级程序,升级程序用于从服务器103获取升级安装包,并传输给第二电子设备102,从而实现对第二电子设备102进行OTA升级。
框架层用于向应用程序层中的应用程序提供API和系统资源服务。例如向升级程序提供通信API。
本地层可以提供静态链接库或动态链接库,供框架层的应用程序编程接口(application programming interface,API)调用。例如向框架层中的通信API提供静态链接库或动态链接库。
内核层包括操作系统(operation system,OS)内核(kernel)。操作系统内核用于管理系统的进程、内存、驱动程序、文件系统和网络系统。
驱动层用于驱动硬件层的硬件资源。驱动层中可以包括无线通信驱动,无线通信驱动用于驱动蓝牙通信电路、Wi-Fi通信电路、移动通信电路等。
第二电子设备102可以为相对于第一电子设备101来说,功能和配置更加简单的终端设备。例如,第二电子设备102可以为智能手环、智能手表、耳机、智能音箱、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的终端、无人驾驶(self driving)中的终端、远程医疗(remotemedical)中的终端、智能电网(smart grid)中的终端、运输安全(transportation safety)中的终端、智慧城市(smart city)中的终端、智慧家庭(smart home)中的终端等。特别地,第二电子设备102可以为低功耗蓝牙(Bluetooth low energy,BLE)设备。
如图4所示,第二电子设备102可以包括处理器401、存储器402以及通信接口403。处理器401通过执行存储器402中存储的程序、指令来执行本申请实施例提供的软件升级方法。通信接口403使用任何收发器一类的装置,用于与其他设备进行通信,例如进行蓝牙通信。
第一电子设备101在将升级安装包拆分为多个片段发送给第二电子设备102后,每传输完一个片段,第二电子设备102都会对该片段进行校验,并且第一电子设备101都会与第二电子设备102进行交互,从而确认该片段传输正确,当片段数目较多时,会导致升级安装包的传输时间变长,进而导致整个软件升级过程耗时较长。
为此,本申请实施例提供了一种软件升级方法,第二电子设备102在升级安装包的所有片段传输完成后对整个升级安装包进行校验,并且每传输完中间一个片段,第一电子设备101都不会与第二电子设备102进行交互,直至传输完最后一个片段第一电子设备101才会与第二电子设备102进行交互,从而节省第一电子设备101与第二电子设备102之间的交互时间,进而缩短电子设备进行软件升级的时间。
具体的,如图5所示,该软件升级方法包括:
S101、第一电子设备101向第二电子设备102发送升级安装包的相关信息。
第一电子设备101(例如第一电子设备101中运行的第二电子设备102的管理APP)可以从服务器103获取升级安装包的第一相关信息,包括例如升级安装包的类型、升级安装包的版本号、升级安装包的大小、升级安装包的统一资源定位系统(uniform resourcelocator,URL)下载地址等信息。第一电子设备101(例如通过蓝牙通信)向第二电子设备102发送升级安装包的第二相关信息,包括例如升级安装包的类型、升级安装包的版本号、升级安装包的大小等信息。
其中,升级安装包的类型可以指升级安装包为固件(firmware)(即固化的软件,一般为系统软件)或者第二电子设备102中的应用软件。本申请对升级安装包的类型不作限定。
S102、第二电子设备102根据升级安装包的相关信息确定升级指示信息,并发送给第一电子设备101。
第二电子设备102根据升级安装包的第二相关信息来确定第二电子设备102的软件版本是否有更新,进而确定升级指示信息,升级指示信息用于指示在第二电子设备102安装升级安装包以进行软件升级。
具体的,如果升级安装包的类型与第二电子设备102的软件类型相同,并且,升级安装包的版本号高于第二电子设备102中的软件(可以为固件或应用软件)的版本号,并且,第二电子设备102的可用存储空间大于升级安装包的大小,则第二电子设备102可以确定进行软件升级(即升级指示信息指示在第二电子设备102安装升级安装包以进行软件升级),否则第二电子设备102可以确定不进行软件升级(即升级指示信息指示不在第二电子设备102安装升级安装包)。
示例性的,假设升级安装包的类型和第二电子设备102中的软件均为固件,并且,升级安装包的版本号高于第二电子设备102中的固件的版本号,并且,第二电子设备102的可用存储空间大于升级安装包的大小,则第二电子设备102可以确定对固件进行软件升级。
S103、如果升级指示信息指示在第二电子设备102安装升级安装包以进行软件升级,则第一电子设备101获取升级安装包,并与第二电子设备102协商升级安装包的传输参数。
第一电子设备可以根据该URL下载地址通过网络接口从服务器103获取升级安装包。或者,第一电子设备101也可以通过有线通信接口(例如USB接口)从其他设备(例如电脑)获取升级安装包。本申请对第一电子设备101获取升级安装包的方式不作限定。
第一电子设备101向第二电子设备102发送协商参数命令,协商参数命令用于指示第二电子设备102与第一电子设备101协商升级安装包的传输参数,第二电子设备102向第一电子设备101发送升级安装包的传输参数。升级安装包的传输参数包括但不限于:传输时间间隔、校验等待时长、请求数据时长、重启等待时长等,关于这些参数的作用见后文具体应用。
S104、第一电子设备101向第二电子设备102发送升级命令。
S105、响应于升级命令,在请求数据时长之前,第二电子设备102向第一电子设备101发送升级安装包的各个片段的起始地址和大小。
相应地,第一电子设备101在请求数据时长之前,从第二电子设备102接收升级安装包的各个片段的起始地址和大小,并根据各个片段的起始地址和大小确定各个片段。如果第一电子设备101未在请求数据时长之前从第二电子设备102接收升级安装包的各个片段的起始地址和大小,则软件升级失败。
需要说明的是,第二电子设备102在划分升级安装包的各个片段时,可以采用等分或不等分原则,本申请不作限定。
S106、第一电子设备101按照传输时间间隔向第二电子设备102发送升级安装包的各个片段。
相应地,第二电子设备102按照传输时间间隔从第一电子设备101接收升级安装包的各个片段。也就是说,第一电子设备101每传输完一个片段都不必等待第二电子设备102确认,按照传输时间间隔传输下一个片段即可,直至传输完升级安装包的所有片段。这样可以减少每次传输片段时第一电子设备101与第二电子设备102之间的交互时间,当片段数目较多时,节省的交互时间更多。
S107、第二电子设备102接收到升级安装包的所有片段之后,对升级安装包进行校验,并向第一电子设备101发送校验信息。
校验信息用于指示升级安装包是否校验成功,即升级安装包传输是否正确。
如果第一电子设备101在发送完升级安装包的所有片段之后的校验等待时长之前,从第二电子设备102接收校验信息,则可以确定升级安装包传输成功,否则,可以确定升级安装包传输失败。
S108、第二电子设备102在安装升级安装包之后,可以进行重启,并且在重启之后与第一电子设备101重新建立通信。
第一电子设备101可以通过近场通信发现第二电子设备102,如果第一电子设备101在从第二电子设备102接收校验信息之后,在重启等待时长之前,与第二电子设备102重新建立通信,则可以确定软件升级成功,否则,可以确定软件升级失败。
需要说明的是,对于固件的升级来说,可能导致第二电子设备102重启,如果第二电子设备102重启后与第一电子设备101正常通信,则说明软件升级成功。而对于某些应用软件的升级来说,第二电子设备102也可能不进行重启,因此步骤S108是可选的。
另外需要说明的是,在上述步骤S101-S108的任一步骤中,如果第一电子设备101在软件升级过程中发生任何异常都可以主动向第二电子设备102发送终止升级命令,以终止软件升级流程。或者,如果第二电子设备102在软件升级过程中发生任何异常也可以主动通知第一电子设备101终止软件升级流程。
如图6所示,在第一电子设备101确定第二电子设备102软件升级成功后,可以弹出对话框以指示第二电子设备102软件升级成功。
本申请实施例提供的软件升级方法、电子设备和通信系统,第一电子设备周期性地向第二电子设备传输升级安装包的各个片段,待全部片段传输完成后,再与第二电子设备交互整个升级安装包是否校验成功,从而节省第一电子设备与第二电子设备之间的交互时间,进而缩短电子设备进行软件升级的时间。
如图7所示,本申请实施例还提供一种芯片系统。该芯片系统60包括至少一个处理器601和至少一个接口电路602。至少一个处理器601和至少一个接口电路602可通过线路互联。处理器601用于支持电子设备实现上述方法实施例中的各个步骤,例如图5所示的方法,至少一个接口电路602可用于从其它装置(例如存储器)接收信号,或者,向其它装置(例如通信接口)发送信号。该芯片系统可以包括芯片,还可以包括其他分立器件。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括指令,当指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中的各个步骤,例如执行图5所示的方法。
本申请实施例还提供一种包括指令的计算机程序产品,当指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中的各个步骤,例如执行图5所示的方法。
关于芯片系统、计算机可读存储介质、计算机程序产品的技术效果参照前面方法实施例的技术效果。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个设备,或者也可以分布到多个设备上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个设备中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种软件升级方法,其特征在于,包括:
第一电子设备从第二电子设备接收升级指示信息,所述升级指示信息用于指示在所述第二电子设备安装升级安装包以进行软件升级;
所述第一电子设备从第二电子设备接收传输时间间隔和校验等待时长;
所述第一电子设备按照所述传输时间间隔向所述第二电子设备发送所述升级安装包的各个片段;
所述第一电子设备在发送完所述升级安装包的所有片段之后的所述校验等待时长之前,从所述第二电子设备接收校验信息,所述校验信息用于指示所述升级安装包是否校验成功。
2.根据权利要求1所述的方法,其特征在于,在所述第一电子设备从第二电子设备接收升级指示信息之前,还包括:
所述第一电子设备向所述第二电子设备发送所述升级安装包的相关信息;所述升级安装包的相关信息用于所述第二电子设备确定所述升级指示信息。
3.根据权利要求2所述的方法,其特征在于,所述升级安装包的相关信息包括所述升级安装包的类型、所述升级安装包的版本号以及所述升级安装包的大小;
如果所述升级安装包的类型与所述第二电子设备的软件类型相同,并且,所述升级安装包的版本号高于所述第二电子设备中的软件的版本号,并且,所述第二电子设备的可用存储空间大于所述升级安装包的大小,则所述升级指示信息指示在所述第二电子设备安装升级安装包以进行软件升级。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述第一电子设备按照所述传输时间间隔向第二电子设备发送所述升级安装包的各个片段之前,还包括:
所述第一电子设备从所述第二电子设备接收请求数据时长;
所述第一电子设备向所述第二电子设备发送升级命令,并在所述请求数据时长之前,从所述第二电子设备接收所述各个片段的起始地址和大小;
所述第一电子设备根据所述各个片段的起始地址和大小确定所述各个片段。
5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
所述第一电子设备从所述第二电子设备接收重启等待时长;
所述第一电子设备在从所述第二电子设备接收所述校验信息之后,在所述重启等待时长之前,与所述第二电子设备重新建立通信。
6.一种软件升级方法,其特征在于,包括:
第二电子设备向第一电子设备发送升级指示信息,所述升级指示信息用于指示在所述第二电子设备安装升级安装包以进行软件升级;
所述第二电子设备向所述第一电子设备发送传输时间间隔和校验等待时长;
所述第二电子设备按照所述传输时间间隔从所述第一电子设备接收所述升级安装包的各个片段;
所述第二电子设备在接收完所述升级安装包的所有片段之后对所述升级安装包进行校验,并且在所述校验等待时长之前,向所述第一电子设备发送校验信息,所述校验信息用于指示所述升级安装包是否校验成功。
7.根据权利要求6所述的方法,其特征在于,在所述第二电子设备向第一电子设备发送升级指示信息之前,还包括:
所述第二电子设备从所述第一电子设备接收所述升级安装包的相关信息;
所述第二电子设备根据所述升级安装包的相关信息确定所述升级指示信息。
8.根据权利要求7所述的方法,其特征在于,所述升级安装包的相关信息包括所述升级安装包的类型、所述升级安装包的版本号以及所述升级安装包的大小;
如果所述升级安装包的类型与所述第二电子设备的软件类型相同,并且,所述升级安装包的版本号高于所述第二电子设备中的软件的版本号,并且,所述第二电子设备的可用存储空间大于所述升级安装包的大小,则所述升级指示信息指示在所述第二电子设备安装升级安装包以进行软件升级。
9.根据权利要求6-8任一项所述的方法,其特征在于,在所述第一电子设备按照所述传输时间间隔向第二电子设备发送所述升级安装包的各个片段之前,还包括:
所述第二电子设备向所述第一电子设备发送请求数据时长;
所述第二电子设备从所述第一电子设备接收升级命令,并在所述请求数据时长之前,向所述第一电子设备发送所述各个片段的起始地址和大小,所述各个片段的起始地址和大小用于确定所述各个片段。
10.根据权利要求6-9任一项所述的方法,其特征在于,还包括:
所述第二电子设备向所述第一电子设备发送重启等待时长;
所述第二电子设备在向所述第一电子设备发送所述校验信息之后,在所述重启等待时长之前,与所述第一电子设备重新建立通信。
11.一种第一电子设备,其特征在于,包括处理器和存储器,所述存储器中存储指令,当所述处理器执行所述指令时,如权利要求1-5任一项所述的方法被执行。
12.一种第二电子设备,其特征在于,包括处理器和存储器,所述存储器中存储指令,当所述处理器执行所述指令时,如权利要求6-10任一项所述的方法被执行。
13.一种通信系统,其特征在于,包括如权利要求11所述的第一电子设备以及如权利要求12所述的第二电子设备,所述第一电子设备用于对所述第二电子设备进行软件升级。
14.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在电子设备上执行时,使得所述电子设备执行如权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211170971.1A CN116737193A (zh) | 2022-09-23 | 2022-09-23 | 软件升级方法、电子设备和通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211170971.1A CN116737193A (zh) | 2022-09-23 | 2022-09-23 | 软件升级方法、电子设备和通信系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116737193A true CN116737193A (zh) | 2023-09-12 |
Family
ID=87906643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211170971.1A Pending CN116737193A (zh) | 2022-09-23 | 2022-09-23 | 软件升级方法、电子设备和通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737193A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123153A (zh) * | 2013-04-26 | 2014-10-29 | 韩国科亚电子股份有限公司 | 用于使用usb升级固件的装置与方法 |
CN105808296A (zh) * | 2016-03-08 | 2016-07-27 | 江苏万帮德和新能源科技有限公司 | 一种用于充电桩安全升级自身程序的客户端软件启动方法 |
CN107453925A (zh) * | 2017-09-21 | 2017-12-08 | 山东康威通信技术股份有限公司 | 基于多级通信平台的远程固件升级方法和云平台 |
CN107770279A (zh) * | 2017-10-31 | 2018-03-06 | 深圳市银河风云网络系统股份有限公司 | 远程升级方法及系统 |
CN108989103A (zh) * | 2018-07-11 | 2018-12-11 | 珠海格力电器股份有限公司 | 设备升级方法、调试器、网络设备和网络系统 |
CN110704077A (zh) * | 2018-07-10 | 2020-01-17 | 中兴通讯股份有限公司 | 固件远程升级方法、装置、终端、移动设备及存储介质 |
CN110780902A (zh) * | 2019-10-25 | 2020-02-11 | 上海信耀电子有限公司 | 一种嵌入式设备网络批量升级的方法 |
CN111510323A (zh) * | 2020-03-24 | 2020-08-07 | 中国科学院上海微系统与信息技术研究所 | 一种物联网设备的固件升级方法、装置、系统及存储介质 |
CN112711431A (zh) * | 2020-12-29 | 2021-04-27 | 杭州当贝网络科技有限公司 | 无线遥控器升级方法及系统 |
CN113157300A (zh) * | 2021-05-19 | 2021-07-23 | 深圳Tcl新技术有限公司 | 一种数据处理方法、装置和存储介质 |
CN113986293A (zh) * | 2021-11-02 | 2022-01-28 | 南京英锐创电子科技有限公司 | 传感器应用程序升级方法、装置、计算机设备和存储介质 |
CN114221866A (zh) * | 2021-12-14 | 2022-03-22 | 歌尔科技有限公司 | 一种终端升级的方法、装置及介质 |
-
2022
- 2022-09-23 CN CN202211170971.1A patent/CN116737193A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123153A (zh) * | 2013-04-26 | 2014-10-29 | 韩国科亚电子股份有限公司 | 用于使用usb升级固件的装置与方法 |
CN105808296A (zh) * | 2016-03-08 | 2016-07-27 | 江苏万帮德和新能源科技有限公司 | 一种用于充电桩安全升级自身程序的客户端软件启动方法 |
CN107453925A (zh) * | 2017-09-21 | 2017-12-08 | 山东康威通信技术股份有限公司 | 基于多级通信平台的远程固件升级方法和云平台 |
CN107770279A (zh) * | 2017-10-31 | 2018-03-06 | 深圳市银河风云网络系统股份有限公司 | 远程升级方法及系统 |
CN110704077A (zh) * | 2018-07-10 | 2020-01-17 | 中兴通讯股份有限公司 | 固件远程升级方法、装置、终端、移动设备及存储介质 |
CN108989103A (zh) * | 2018-07-11 | 2018-12-11 | 珠海格力电器股份有限公司 | 设备升级方法、调试器、网络设备和网络系统 |
CN110780902A (zh) * | 2019-10-25 | 2020-02-11 | 上海信耀电子有限公司 | 一种嵌入式设备网络批量升级的方法 |
CN111510323A (zh) * | 2020-03-24 | 2020-08-07 | 中国科学院上海微系统与信息技术研究所 | 一种物联网设备的固件升级方法、装置、系统及存储介质 |
CN112711431A (zh) * | 2020-12-29 | 2021-04-27 | 杭州当贝网络科技有限公司 | 无线遥控器升级方法及系统 |
CN113157300A (zh) * | 2021-05-19 | 2021-07-23 | 深圳Tcl新技术有限公司 | 一种数据处理方法、装置和存储介质 |
CN113986293A (zh) * | 2021-11-02 | 2022-01-28 | 南京英锐创电子科技有限公司 | 传感器应用程序升级方法、装置、计算机设备和存储介质 |
CN114221866A (zh) * | 2021-12-14 | 2022-03-22 | 歌尔科技有限公司 | 一种终端升级的方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108476533B (zh) | 无线通信方法及提供该无线通信方法的电子设备 | |
US9538445B2 (en) | Communication method and apparatus for electronic device in mobile communication system | |
US9743226B2 (en) | Method for short-range wireless communication and electronic device using the same | |
CN108540193B (zh) | 支持使用多频带的设备到设备通信的前端模块及电子设备 | |
CN112055424B (zh) | 电子装置以及切换电子装置的方法 | |
US20150065053A1 (en) | Method of controlling short-range wireless communication and apparatus supporting the same | |
US9544536B2 (en) | Video call method in packet-switched network and device supporting the same | |
US9819321B2 (en) | Method and apparatus for automatically controlling gain based on sensitivity of microphone in electronic device | |
KR20150065410A (ko) | 전자 장치의 억세스 포인트 접속 방법 및 그 전자 장치 | |
US9398432B2 (en) | Electronic device and method for controlling emergency call in electronic device | |
US9713121B2 (en) | Apparatus and method for controlling transmission of push messages | |
EP3021177A1 (en) | Electronic device including antenna | |
US10284614B2 (en) | Method for downloading contents of electronic device and electronic device thereof | |
KR20150026257A (ko) | 액세서리의 정보를 업 데이트하는 전자 장치 및 방법 | |
CN116244008B (zh) | 应用启动方法、电子设备以及存储介质 | |
CN116382791B (zh) | 一种配置文件的保护方法及电子设备 | |
CN116737193A (zh) | 软件升级方法、电子设备和通信系统 | |
CN116054870A (zh) | 无线通信电路、蓝牙通信切换方法和电子设备 | |
US11522870B2 (en) | Method for URL analysis and electronic device thereof | |
US9392540B2 (en) | Method for reducing power consumption and electronic device thereof | |
CN116737358B (zh) | 内存刷新方法和电子设备 | |
CN116744226B (zh) | 电子围栏数据采集方法和电子设备 | |
CN117440060B (zh) | 通信转换装置、电子设备、系统和方法 | |
CN116737356A (zh) | 内存管理方法和电子设备 | |
CN116056016A (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 |