CN113485735A - 设备的升级方法、装置、存储介质及电子装置 - Google Patents
设备的升级方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN113485735A CN113485735A CN202110833266.4A CN202110833266A CN113485735A CN 113485735 A CN113485735 A CN 113485735A CN 202110833266 A CN202110833266 A CN 202110833266A CN 113485735 A CN113485735 A CN 113485735A
- Authority
- CN
- China
- Prior art keywords
- target
- upgrading
- remote
- upgrade
- sub
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012795 verification Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 15
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 22
- 230000005540 biological transmission Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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
-
- 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
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
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种设备的升级方法、装置、存储介质及电子装置。
背景技术
RF(射频)专指具有一定波长可用于无线电通信的电磁波。RF(Radio Frequency)技术被广泛应用于多种领域,如:电视、广播、移动电话、雷达、自动识别系统等。专用词RFID(射频识别)即指应用射频识别信号对目标物进行识别,RFID技术所使用的电波频率为50KHz-5.8GHz。一般来说有源RFID的通讯方式分为两种类型:单工:信息在两点之间只能单方向发送的工作方式,一般对应单向标签;半双工:信息在两点之间能够在两个方向上进行发送,但不能同时发送的工作方式。有源RFID的通讯距离在百米以上,一般为120-150米。其中,射频通信示意图可参见附图1。
通过有源RFID基本原理可知,其是在一个频点(比如频率5GHz)通过广播电磁波的方式进行接收与发送数据,即一台设备在某个频率发送数据,所有监听该频率的设备在信号强度足够的区域内均能接收到该数据。
基于每台设备都有唯一ID标识的情况下,在各个设备均能实现广播收发数据的情况下,可以实现在RFID的通信机制下,主服务器设备可以实现与远端子设备的点对点通信,从而实现功能控制等操作。其中,主服务器设备与远端子设备连接示意图可参见附图2。
由于所有主子设备都是通过一个渠道进行广播收发数据,在整个通信机制中就涉及到排队问题,即当主服务器往远端子设备1发送数据时,整个链路上的设备都只能处于监听状态,不能发送,同理当远端子设备1应答主服务器时,其他子设备也只能处于监听状态,操作命令、升级数据等都依托这一条半双工的通道,当远端子设备的数量达到一定的量级时,受限于通信负载效率,交互的延时会拉大,特别是升级等大数据传输时,通道占用情况严重,按100ms负载通信一次128字节的数据,1MB的升级数据下发到100台远端子设备,全部排队接收完毕至少需要3小时以上,如果远端子设备的数量往1000+的增加,整个升级过程几天时间都不一定够用。在有源天线项目中,实际测试得出RF通信在5GHz频点下,算上解析与数据校验等操作,单次单向传输128个字节(受限底层解析模块只能支持最多128字节)需要耗时100ms左右,双向交互保守要200ms,按照升级文件256kb计算需要约7分钟左右才能完成一台设备的升级,按照项目要求远端子设备100台才配一台主设备的环境下,全部升级一遍至少需要约11小时,期间将完全打断正常的主子设备的操作交互命令,对实际应用场景非常受限,用户体验极差,而且也严重影响正常的功能业务。
由此可知,相关技术中存在设备升级效率低、耗时长的问题。
针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种设备的升级方法、装置、存储介质及电子装置,以至少解决相关技术中存在的设备升级效率低、耗时长的问题。
根据本发明的一个实施例,提供了一种设备的升级方法,包括:获取与服务器连接的所有远端子设备的设备信息;基于所述设备信息确定所有所述远端子设备中是否存在需要升级的目标远端子设备;在确定存在所述目标远端子设备的情况下,向所有所述远端子设备发送目标升级包,以指示所有所述远端子设备基于所述目标升级包确定是否需要执行升级操作,并在确定需要执行所述升级操作的情况下,执行所述升级操作。
根据本发明的一个实施例,还提供了一种设备的升级方法,包括:接收与多个远端子设备连接的服务器在确定多个所述远端子设备中存在需要升级的目标远端子设备的情况下发送的目标升级包;基于所述目标升级包确定第一远端子设备是否需要升级,其中,所述第一远端子设备为多个所述远端子设备中包括的远端子设备;在确定需要升级的情况下,基于所述目标升级包对所述第一远端子设备执行升级操作。
根据本发明的另一个实施例,提供了一种设备的升级装置,包括:获取模块,用于获取与服务器连接的所有远端子设备的设备信息;第一确定模块,用于基于所述设备信息确定所有所述远端子设备中是否存在需要升级的目标远端子设备;第一升级模块,用于在确定存在所述目标远端子设备的情况下,向所有所述远端子设备发送目标升级包,以指示所有所述远端子设备基于所述目标升级包确定是否需要执行升级操作,并在确定需要执行所述升级操作的情况下,执行所述升级操作。
根据本发明的另一个实施例,还提供了一种设备的升级装置,包括:接收模块,用于接收与多个远端子设备连接的服务器在确定多个所述远端子设备中存在需要升级的目标远端子设备的情况下发送的目标升级包;第二确定模块,用于基于所述目标升级包确定第一远端子设备是否需要升级,其中,所述第一远端子设备为多个所述远端子设备中包括的远端子设备;第二升级模块,用于在确定需要升级的情况下,基于所述目标升级包对所述第一远端子设备执行升级操作。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项中所述的方法的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,获取与服务器连接的所有远端子设备的设备信息,根据设备信息确定所有远端子设备中是否存在需要升级的目标远端子设备,在确定存在目标远端子设备的情况下,向所有远端子设备发送目标升级包,以指示所有远端子设备根据目标升级包确定是否需要执行升级操作,并在需要执行升级操作的情况下,执行升级操作。由于在确定所有远端子设备中存在需要升级的目标远端子设备的情况下,向所有的远端子设备发送目标升级包,所有远端子设备可以根据目标升级包以及自身是否需要升级确定是否执行升级操作,避免了单次传输升级包的问题,达到批量升级需要升级的远端子设备的效果。因此,可以解决相关技术中存在的设备升级效率低、耗时长的问题,提高了设备升级的效率,缩短了大批量升级设备的升级时间。
附图说明
图1是相关技术中射频通信示意图;
图2是相关技术中主服务器设备与远端子设备连接示意图;
图3是本发明实施例的一种设备的升级方法的移动终端的硬件结构框图;
图4是根据本发明实施例的设备的升级方法的流程图一;
图5是根据本发明实施例的设备的升级方法的流程图二;
图6是根据本发明具体实施方式的设备的升级方法流程图;
图7是根据本发明实施例的设备的升级装置的结构框图一;
图8是根据本发明实施例的设备的升级装置的结构框图二。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图3是本发明实施例的一种设备的升级方法的移动终端的硬件结构框图。如图3所示,移动终端可以包括一个或多个(图3中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的设备的升级方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种设备的升级方法,图4是根据本发明实施例的设备的升级方法的流程图一,如图4所示,该流程包括如下步骤:
步骤S402,获取与服务器连接的所有远端子设备的设备信息;
步骤S404,基于所述设备信息确定所有所述远端子设备中是否存在需要升级的目标远端子设备;
步骤S406,在确定存在所述目标远端子设备的情况下,向所有所述远端子设备发送目标升级包,以指示所有所述远端子设备基于所述目标升级包确定是否需要执行升级操作,并在确定需要执行所述升级操作的情况下,执行所述升级操作。
在上述实施例中,用户可以向服务器上传升级文件,服务器在接收到升级文件后,可以轮询与其连接的所有远端子设备,以获取所有远端子设备的设备信息。其中,远端子设备的设备信息中包括远端子设备中与升级文件对应的软件或系统的文件信息。服务器可以根据设备信息确定所有远端子设备中是否存在需要升级的目标远端子设备,在确定存在目标远端子设备的情况下,服务器可以通过广播的方式向所有远端子设备发送目标升级包。远端子设备在接收到目标升级包后,可以根据目标升级包确定自身是否需要升级,需要升级时,则执行升级操作。
可选地,上述步骤的执行主体可以是服务器,但不限于此。
通过本发明,获取与服务器连接的所有远端子设备的设备信息,根据设备信息确定所有远端子设备中是否存在需要升级的目标远端子设备,在确定存在目标远端子设备的情况下,向所有远端子设备发送目标升级包,以指示所有远端子设备根据目标升级包确定是否需要执行升级操作,并在需要执行升级操作的情况下,执行升级操作。由于在确定所有远端子设备中存在需要升级的目标远端子设备的情况下,向所有的远端子设备发送目标升级包,所有远端子设备可以根据目标升级包以及自身是否需要升级确定是否执行升级操作,避免了单次传输升级包的问题,达到批量升级需要升级的远端子设备的效果。因此,可以解决相关技术中存在的设备升级效率低、耗时长的问题,提高了设备升级的效率,缩短了大批量升级设备的升级时间。
在一个示例性实施例中,基于所述设备信息确定所有所述远端子设备中是否存在需要升级的目标远端子设备包括:确定所述设备信息中包括的所有所述远端子设备中的文件包的文件校验值;将所述文件校验值与所述服务器中存储的所述目标升级包的目标校验值进行比对;在所述文件校验值与所述目标校验值一致的情况下,确定所有所述远端子设备中不存在所述目标远端子设备;在所述文件校验值与所述目标校验值不一致的情况下,确定所述所有所述远端子设备中存在所述目标远端子设备。在本实施例中,基于RF通信机制是一直广播式的通信,而需要升级的大批量远端子设备的数量上限是不固定的,可以结合CRC即循环冗余校验码(Cyclic Redundancy Check)算法,设计广播升级的方式,即主设备不关注远端子设备的接收情况,广播发送128byte的升级数据包。用户在主服务器上传升级文件,服务器对升级文件进行CRC校验得出CRC校验值(对应于上述目标校验值),并将CRC校验值存储在服务器本地。主服务器轮询远端子设备(在查询数据包中附带远端子设备的ID,远端子设备核对数据包的ID与本机的ID确认应答查询结果),只要有一台子设备的升级CRC校验值(对应于上述文件校验值)与目标校验值不一致,则认为存在目标远端子设备。服务器即可广播目标升级包。在文件校验值与目标校验值一致时,则认为不存在目标远端子设备,无需发送目标升级包。其中,远端子设备中的文件包可以为与目标升级包对应的待升级的软件或系统的安装包。
在上述实施例中,目标升级包中可以包括数据包类型、升级包长度、升级包序号、升级文件大小、升级文件CRC、升级数据、数据包CRC。目标升级包结构可参见表1。其中升级包长度指的是116个字节的升级数据中的有效长度,不足部分补0;按照该升级包各个数据类型的组成,在每次通信128个字节数据包的前提下可以支持最大约7MB的升级文件;根据100ms发送一次数据包的速率,不算丢包,理想情况下约110分钟即可将7MB的文件升级到1000+台设备中,对比点对点升级耗时(7MB文件升级到1000台设备约3666个小时)大大提速(一次批量升级的设备越多效率越高)。
表1
在一个示例性实施例中,向所有所述远端子设备发送目标升级包包括:确定预定时间周期;按照所述预定时间周期向所有所述远端子设备发送所述目标升级包。在本实施例中,服务器可以将用于升级的远端子设备的升级包拆分成多个目标升级包发送给远端子设备。每个目标升级包中包括均具备升级包序号,服务器可以按照升级包序号按从小到大的顺序将多个升级包发送给远端子设备。服务器在将所有目标升级包发送完毕后,可以按照预定时间周期,再次按照升级包序号从小到大的顺序发送目标升级包。即服务器可以按照预定时间周期多次发送所有目标升级包,以防止出现丢包现象导致远端子设备接收到的数据不完整。远端子设在备接收到目标升级包后,可以先校验目标升级包CRC值确保整个升级包无异常,再比较升级文件的CRC值与子设备自身存储的当前软件版本CRC校验值是否不一致,确认需要升级后再接收下发的升级包数据,并暂存到flash,并记录升级包序号;同时每次接收数据包均要核对序号,确保升级包与升级文件都对应上。
在本实施例中提供了一种设备的升级方法,图5是根据本发明实施例的设备的升级方法的流程图二,如图5所示,该流程包括如下步骤:
步骤S502,接收与多个远端子设备连接的服务器在确定多个所述远端子设备中存在需要升级的目标远端子设备的情况下发送的目标升级包;
步骤S504,基于所述目标升级包确定第一远端子设备是否需要升级,其中,所述第一远端子设备为多个所述远端子设备中包括的远端子设备;
步骤S506,在确定需要升级的情况下,基于所述目标升级包对所述第一远端子设备执行升级操作。
在上述实施例中,用户可以向服务器上传升级文件,服务器在接收到升级文件后,可以轮询与其连接的所有远端子设备,以获取所有远端子设备的设备信息。其中,远端子设备的设备信息中包括远端子设备中与升级文件对应的软件或系统的文件信息。服务器可以根据设备信息确定所有远端子设备中是否存在需要升级的目标远端子设备,在确定存在目标远端子设备的情况下,服务器可以通过广播的方式向所有远端子设备发送目标升级包。第一远端子设备在接收到目标升级包后,可以根据目标升级包确定自身是否需要升级,需要升级时,则执行升级操作。其中,第一远端子设备为所有远端子设备中包括的任一个远端子设备。
可选地,上述步骤的执行主体可以是第一远端子设备,但不限于此。
通过本发明,接收与多个远端子设备连接的服务器在确定多个远端子设备中存在需要升级的目标远端子设备的情况下发送的目标升级包,基于目标升级包确定第一远端子设备是否需要升级,在确定第一远端子设备需要升级的情况下,根据目标升级包对第一远端子设备进行升级。由于服务器可以在确定所有远端子设备中存在需要升级的目标远端子设备的情况下,向所有的远端子设备发送目标升级包,所有远端子设备可以根据目标升级包以及自身是否需要升级确定是否执行升级操作,避免了单次传输升级包的问题,达到批量升级需要升级的远端子设备的效果。因此,可以解决相关技术中存在的设备升级效率低、耗时长的问题,提高了设备升级的效率,缩短了大批量升级设备的升级时间。
在一个示例性实施例中,基于所述目标升级包确定第一远端子设备是否需要升级包括:确定所述目标升级包的类型;在确定所述目标升级包的类型为目标类型的情况下,基于所述目标升级包确定所述第一远端子设备是否需要升级。在本实施例中,目标升级包中可以包括数据包类型、升级包长度、升级包序号、升级文件大小、升级文件CRC、升级数据、数据包CRC。目标升级包结构可参见表1。其中,升级包长度指的是116个字节的升级数据中的有效长度,不足部分补0;按照该升级包各个数据类型的组成,在每次通信128个字节数据包的前提下可以支持最大约7MB的升级文件;根据100ms发送一次数据包的速率,不算丢包,理想情况下约110分钟即可将7MB的文件升级到1000+台设备中,对比点对点升级耗时(7MB文件升级到1000台设备约3666个小时)大大提速(一次批量升级的设备越多效率越高)。
在上述实施例中,可以根据目标升级包中包括的数据包类型确定目标升级包的类型,当目标升级包的类型为目标类型时,则可以通过目标升级包确定第一远端子设备是否需要升级。其中,目标类型可以为升级包。即当第一远端子设备接收到的数据包为升级包的情况下,可以根据升级包确定第一远端子设备是否需要升级。
在一个示例性实施例中,在确定所述目标升级包的类型之后,所述方法还包括:在确定所述目标升级包的类型为除所述目标类型之外的其他类型的情况下,丢弃所述目标升级包。在本实施例中,当目标升级包为非升级包的情况下,则丢弃当前接收到的目标升级包。
在一个示例性实施例中,在确定所述目标升级包的类型为目标类型的情况下,基于所述目标升级包确定所述第一远端子设备是否需要升级包括:确定所述目标升级包中包括的目标校验值;在所述目标校验值满足预定条件的情况下,将所述目标校验值与所述第一远端子设备中包括的文件包的文件校验值进行比对;在所述文件校验值与所述目标校验值不一致的情况下,确定所述第一远端子设备需要升级;在所述文件校验值与所述目标校验值一致的情况下,确定所述第一远端子设备无需升级。在本实施例中,基于RF通信机制是一直广播式的通信,而需要升级的大批量远端子设备的数量上限是不固定的,可以结合CRC即循环冗余校验码(Cyclic Redundancy Check)算法,设计广播升级的方式,即主设备不关注远端子设备的接收情况,广播发送128byte的升级数据包。用户在主服务器上传升级文件,服务器对升级文件进行CRC校验得出CRC校验值(对应于上述目标校验值)。并将CRC校验值添加到目标升级包中,将目标升级包广播给远端子设备。远端子设备在接收到目标升级包后,可以先确定目标升级包中包括的目标校验值,在目标校验值正确的情况下,将目标校验值与文件校验值进行比对。在文件校验值与目标校验值一致时,则认为第一远端子设备不需要升级。在不一致时,则说明需要升级。其中,远端子设备中的文件包可以为与目标升级包对应的待升级的软件或系统的安装包。文件校验值为对与目标升级包对应的待升级的软件或系统的安装包进行CRC处理得到的校验值。
在一个示例性实施例中,基于所述目标升级包对所述第一远端子设备执行升级操作包括:确定所述目标升级包中包括的升级包序号;在所述升级包序号为待升级序号的情况下,确定所述升级包序号是否为目标序号,其中,所述待升级序号为所述第一远端子设备中存储的已接收到的待升级文件包的序号;在所述升级包序号为除所述目标序号之外的序号的情况下,存储所述目标升级包中包括的目标升级数据,在所述第一远端子设备接收所述目标升级包完毕的情况下,基于所述目标升级数据执行所述升级操作;在所述升级包序号为所述目标序号的情况下,清空所述第一远端子设备中存储的已接收到的升级数据,存储所述目标升级包中包括的所述目标升级数据,并基于所述目标升级数据执行所述升级操作。在本实施例中,在确定第一远端子设备中的文件包需要升级的情况下,确定目标升级包中包括的升级包序号,当升级包需要为第一远端子设备中的待升级序号的情况下,确定目标升级包的升级包序号是否为目标序号。当升级包序号不是目标序号的情况下,存储目标升级包中的目标升级数据,当第一远端子设备接收所有升级数据完毕的情况下,执行升级操作。当升级包序号为目标序号的情况下,则清空第一远端子设备预先存储的已接收的数据包,存储目标升级包中包括的目标升级数据。其中,目标序号可以为1或其他表示服务器发送的第一个升级包的序号。
在上述实施例中,在第一远端子设备确定需要升级的情况下,当接收到的第一个升级包的升级序号为1或其他表示服务器发送的第一个升级包的序号时,则存储该升级包中包括的升级数据。由于服务器时按照升级包序号从小到大的顺序依次发送数据包的,正常情况下,第一远端子设备接收到的数据应该也是按照从小到大的顺序接收到的。但由于存在网络不稳定或其他原因,可以导致第一远端子设备并不是按照从小到大的顺序接收到的升级包。当第N(N大于1)个接收到的数据包的升级包序号为1时,则说明第一远端子设备可能由于网络或其他原因导致接收到的数据包混乱,存在丢包的现象(因为如果数据包未丢失,此时第一远端设备将升级完毕,不会再解析接收到的升级包的序号)。因此,可以将之前已经存储的数据包清空,重新记录接收到的数据包。以防止出现丢包现象,导致升级失败。
在一个示例性实施例中,在所述第一远端子设备接收所述目标升级包完毕的情况下,基于所述目标升级数据执行所述升级操作之前,所述方法还包括:确定所述目标升级包中包括的总升级文件的第一字节数;确定所述第一远端子设备中已存储的目标升级数据的第二字节数;在所述第一字节数与所述第二字节数相同的情况下,确定所述第一远端子设备接收所述目标升级包完毕。在本实施例中,目标升级包中会携带总升级文件的第一字节数,第一远端子设备在接收到升级包后,会存储目标升级数据的第二字节数。当接收到的第二字节数的综合与第一字节数相同的情况下,则确认远端子设备接收目标升级包完毕,可以执行升级操作。
在一个示例性实施例中,在所述升级包序号为除所述目标序号之外的序号的情况下,存储所述目标升级包中包括的目标升级数据之后,所述方法还包括:将所述第一远端子设备中存储的所述待升级文件包的序号与目标常数相加;将与所述目标常数相加后的序号确定为所述待升级序号。在本实施例中,第一远端子设备在需要升级时,可以将升级序号1确定为待升级文件包序号,当接收到升级包序号为1的升级包时,则存储该升级包中包括的升级数据包。在存储之后,则将待升级序号加1,将升级序号2确定为待升级文件包序号,在接收到升级包序号为2的升级包时,存储该升级包中包括的升级数据包。直至接收到的数据包的字节数与目标升级包中包括的字节数相同时,执行升级操作。
下面结合具体实施方式对设备的升级方法进行说明:
图6是根据本发明具体实施方式的设备的升级方法流程图,如图6所示,该方法包括:
步骤S602,主设备(对应于上述服务器)查询远端子设备的设备信息。
步骤S604,比对CRC(升级文件与子设备)判断是否升级。在判断结果为是的情况下,则执行步骤S606,在判断结果为否的情况下,则执行步骤S602。
步骤S606,每100ms下发广播升级包。
步骤S608,判断升级文件是否发送完毕,在判断结果为是的情况下,执行步骤S602,在判断结果为否的情况下,执行步骤S606。
步骤S610,远端子设备接收广播包。
步骤S612,判断数据包类型是否为升级包。在判断结果为是的情况下,执行步骤S614,判断结果为否的情况下,执行步骤S616。
步骤S614,校验包CRC判断是否正确。在判断为是的情况下,执行步骤S618,在判断为否的情况下,执行步骤S620。
步骤S616,其他数据包非升级包,丢弃。
步骤S618,比对CRC(升级文件与本设备)判断是否升级,在判断结果为是的情况下,执行步骤S622,在判断结果为否的情况下,执行步骤S624。
步骤S620,数据包异常,丢弃。
步骤S622,比对升级包中的序号是否为待升级序号,在判断结果为是的情况下,执行步骤S626,在判断结果为否的情况下,执行步骤S628。
步骤S624,该升级文件的版本已经升级。
步骤S626,判断升级包序号是否为1,在判断结果为是的情况下,执行步骤S630,在判断结果为否的情况下,执行步骤S632。
步骤S628,升级包丢弃。
步骤S630,记录升级信息(升级文件大小、升级文件CRC),清空所有存储的升级数据。
步骤S632,比对升级信息是否正确(与记录的序号1升级包),在判断结果为是的情况下,执行步骤S634,在判断为否的情况下,执行步骤S636。
步骤S634,累计存储升级数据,待升级序号递增1。
步骤S636,清除记录的升级信息。
步骤S638,根据升级文件大小与累计存储数据长度判断升级包是否下发完毕,在判断结果为是的情况下,执行步骤S640,在判断结果为否的情况下,执行步骤S642。
步骤S640,执行升级烧录。
步骤S642,循环接收广播包。
步骤S644,存储升级数据记录,待升级序号递增1。
需要说明的是,步骤S602-S608为在服务器中执行的操作。步骤S610-步骤S644为在远端子设备中执行的操作。
在前述实施例中,本申请的升级方案依赖于广播功能、升级包序号、CRC校验,外加远端子设备临时存储空间相结合的而成,在整个升级过程中如果出现通信异常,可以发起第二或者(第N)轮广播升级,从而确保完成整个系统的远端子设备的升级。比照网络通信中局域网中的广播通信机制,在安防、通信等终端设备与中心设备相结合的物联网领域中,只要是网络环境支持广播(或者组播)机制的情况下,均可以采用该升级方案进行大批量的升级终端设备,大大减小了网络带宽的负荷,提高了资源的利用率。即通过广播+升级包内置序号的方式可以实现大批量的设备升级。在具备广播通信的机制下,终端设备越多升级提速的效果越强。
因为在物联网领域中,很多方案的应用场景是采用云服务器+终端服务器+终端设备三者实现的,云服务器通过英特网链接终端服务器,而终端服务区通过局域网链接终端设备,从而实现用户通过云端访问获取终端设备的信息。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种设备的升级装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明实施例的设备的升级装置的结构框图一,如图7所示,该装置包括:
获取模块72,用于获取与服务器连接的所有远端子设备的设备信息;
第一确定模块74,用于基于所述设备信息确定所有所述远端子设备中是否存在需要升级的目标远端子设备;
第一升级模块76,用于在确定存在所述目标远端子设备的情况下,向所有所述远端子设备发送目标升级包,以指示所有所述远端子设备基于所述目标升级包确定是否需要执行升级操作,并在确定需要执行所述升级操作的情况下,执行所述升级操作。
在一个示例性实施例中,第一确定模块74可以通过如下方式实现基于所述设备信息确定所有所述远端子设备中是否存在需要升级的目标远端子设备:确定所述设备信息中包括的所有所述远端子设备中的文件包的文件校验值;将所述文件校验值与所述服务器中存储的所述目标升级包的目标校验值进行比对;在所述文件校验值与所述目标校验值一致的情况下,确定所有所述远端子设备中不存在所述目标远端子设备;在所述文件校验值与所述目标校验值不一致的情况下,确定所述所有所述远端子设备中存在所述目标远端子设备。
在一个示例性实施例中,第一升级模块76可以通过如下方式向所有所述远端子设备发送目标升级包:确定预定时间周期;按照所述预定时间周期向所有所述远端子设备发送所述目标升级包。
图8是根据本发明实施例的设备的升级装置的结构框图二,如图8所示,该装置包括:
接收模块82,用于接收与多个远端子设备连接的服务器在确定多个所述远端子设备中存在需要升级的目标远端子设备的情况下发送的目标升级包;
第二确定模块84,用于基于所述目标升级包确定第一远端子设备是否需要升级,其中,所述第一远端子设备为多个所述远端子设备中包括的远端子设备;
第二升级模块86,用于在确定需要升级的情况下,基于所述目标升级包对所述第一远端子设备执行升级操作。
在一个示例性实施例中,第二确定模块84可以通过如下方式实现基于所述目标升级包确定第一远端子设备是否需要升级:确定所述目标升级包的类型;在确定所述目标升级包的类型为目标类型的情况下,基于所述目标升级包确定所述第一远端子设备是否需要升级。
在一个示例性实施例中,所述装置可以用于在确定所述目标升级包的类型之后,在确定所述目标升级包的类型为除所述目标类型之外的其他类型的情况下,丢弃所述目标升级包。
在一个示例性实施例中,第二确定模块84可以通过如下方式实现在确定所述目标升级包的类型为目标类型的情况下,基于所述目标升级包确定所述第一远端子设备是否需要升级:确定所述目标升级包中包括的目标校验值;在所述目标校验值满足预定条件的情况下,将所述目标校验值与所述第一远端子设备中包括的文件包的文件校验值进行比对;在所述文件校验值与所述目标校验值不一致的情况下,确定所述第一远端子设备需要升级;在所述文件校验值与所述目标校验值一致的情况下,确定所述第一远端子设备无需升级。
在一个示例性实施例中,第二升级模块86可以通过如下方式实现基于所述目标升级包对所述第一远端子设备执行升级操作:确定所述目标升级包中包括的升级包序号;在所述升级包序号为待升级序号的情况下,确定所述升级包序号是否为目标序号,其中,所述待升级序号为所述第一远端子设备中存储的已接收到的待升级文件包的序号;在所述升级包序号为除所述目标序号之外的序号的情况下,存储所述目标升级包中包括的目标升级数据,在所述第一远端子设备接收所述目标升级包完毕的情况下,基于所述目标升级数据执行所述升级操作;在所述升级包序号为所述目标序号的情况下,清空所述第一远端子设备中存储的已接收到的升级数据,存储所述目标升级包中包括的所述目标升级数据,并基于所述目标升级数据执行所述升级操作。
在一个示例性实施例中,所述装置可以用于在所述第一远端子设备接收所述目标升级包完毕的情况下,基于所述目标升级数据执行所述升级操作之前,确定所述目标升级包中包括的总升级文件的第一字节数;确定所述第一远端子设备中已存储的目标升级数据的第二字节数;在所述第一字节数与所述第二字节数相同的情况下,确定所述远端子设备接收所述目标升级包完毕。
在一个示例性实施例中,所述装置还可以用于在所述升级包序号为除所述目标序号之外的序号的情况下,存储所述目标升级包中包括的目标升级数据之后,将所述第一远端子设备中存储的所述待升级文件包的序号与目标常数相加;将与所述目标常数相加后的序号确定为所述待升级序号。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项中所述的方法的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种设备的升级方法,其特征在于,包括:
获取与服务器连接的所有远端子设备的设备信息;
基于所述设备信息确定所有所述远端子设备中是否存在需要升级的目标远端子设备;
在确定存在所述目标远端子设备的情况下,向所有所述远端子设备发送目标升级包,以指示所有所述远端子设备基于所述目标升级包确定是否需要执行升级操作,并在确定需要执行所述升级操作的情况下,执行所述升级操作。
2.根据权利要求1所述的方法,其特征在于,基于所述设备信息确定所有所述远端子设备中是否存在需要升级的目标远端子设备包括:
确定所述设备信息中包括的所有所述远端子设备中的文件包的文件校验值;
将所述文件校验值与所述服务器中存储的所述目标升级包的目标校验值进行比对;
在所述文件校验值与所述目标校验值一致的情况下,确定所有所述远端子设备中不存在所述目标远端子设备;
在所述文件校验值与所述目标校验值不一致的情况下,确定所述所有所述远端子设备中存在所述目标远端子设备。
3.根据权利要求1所述的方法,其特征在于,向所有所述远端子设备发送目标升级包包括:
确定预定时间周期;
按照所述预定时间周期向所有所述远端子设备发送所述目标升级包。
4.一种设备的升级方法,其特征在于,包括:
接收与多个远端子设备连接的服务器在确定多个所述远端子设备中存在需要升级的目标远端子设备的情况下发送的目标升级包;
基于所述目标升级包确定第一远端子设备是否需要升级,其中,所述第一远端子设备为多个所述远端子设备中包括的远端子设备;
在确定需要升级的情况下,基于所述目标升级包对所述第一远端子设备执行升级操作。
5.根据权利要求4所述的方法,其特征在于,基于所述目标升级包确定第一远端子设备是否需要升级包括:
确定所述目标升级包的类型;
在确定所述目标升级包的类型为目标类型的情况下,基于所述目标升级包确定所述第一远端子设备是否需要升级。
6.根据权利要求5所述的方法,其特征在于,在确定所述目标升级包的类型之后,所述方法还包括:
在确定所述目标升级包的类型为除所述目标类型之外的其他类型的情况下,丢弃所述目标升级包。
7.根据权利要求5所述的方法,其特征在于,在确定所述目标升级包的类型为目标类型的情况下,基于所述目标升级包确定所述第一远端子设备是否需要升级包括:
确定所述目标升级包中包括的目标校验值;
在所述目标校验值满足预定条件的情况下,将所述目标校验值与所述第一远端子设备中包括的文件包的文件校验值进行比对;
在所述文件校验值与所述目标校验值不一致的情况下,确定所述第一远端子设备需要升级;
在所述文件校验值与所述目标校验值一致的情况下,确定所述第一远端子设备无需升级。
8.根据权利要求4所述的方法,其特征在于,基于所述目标升级包对所述第一远端子设备执行升级操作包括:
确定所述目标升级包中包括的升级包序号;
在所述升级包序号为待升级序号的情况下,确定所述升级包序号是否为目标序号,其中,所述待升级序号为所述第一远端子设备中存储的已接收到的待升级文件包的序号;
在所述升级包序号为除所述目标序号之外的序号的情况下,存储所述目标升级包中包括的目标升级数据,在所述第一远端子设备接收所述目标升级包完毕的情况下,基于所述目标升级数据执行所述升级操作;
在所述升级包序号为所述目标序号的情况下,清空所述第一远端子设备中存储的已接收到的升级数据,存储所述目标升级包中包括的所述目标升级数据,并基于所述目标升级数据执行所述升级操作。
9.根据权利要求8所述的方法,其特征在于,在所述第一远端子设备接收所述目标升级包完毕的情况下,基于所述目标升级数据执行所述升级操作之前,所述方法还包括:
确定所述目标升级包中包括的总升级文件的第一字节数;
确定所述第一远端子设备中已存储的目标升级数据的第二字节数;
在所述第一字节数与所述第二字节数相同的情况下,确定所述远端子设备接收所述目标升级包完毕。
10.根据权利要求8所述的方法,其特征在于,在所述升级包序号为除所述目标序号之外的序号的情况下,存储所述目标升级包中包括的目标升级数据之后,所述方法还包括:
将所述第一远端子设备中存储的所述待升级文件包的序号与目标常数相加;
将与所述目标常数相加后的序号确定为所述待升级序号。
11.一种设备的升级装置,其特征在于,包括:
获取模块,用于获取与服务器连接的所有远端子设备的设备信息;
第一确定模块,用于基于所述设备信息确定所有所述远端子设备中是否存在需要升级的目标远端子设备;
第一升级模块,用于在确定存在所述目标远端子设备的情况下,向所有所述远端子设备发送目标升级包,以指示所有所述远端子设备基于所述目标升级包确定是否需要执行升级操作,并在确定需要执行所述升级操作的情况下,执行所述升级操作。
12.一种设备的升级装置,其特征在于,包括:
接收模块,用于接收与多个远端子设备连接的服务器在确定多个所述远端子设备中存在需要升级的目标远端子设备的情况下发送的目标升级包;
第二确定模块,用于基于所述目标升级包确定第一远端子设备是否需要升级,其中,所述第一远端子设备为多个所述远端子设备中包括的远端子设备;
第二升级模块,用于在确定需要升级的情况下,基于所述目标升级包对所述第一远端子设备执行升级操作。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至3任一项中所述的方法的步骤,或者执行权利要求4至10任一项中所述的方法。
14.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至3任一项中所述的方法,或者执行权利要求4至10任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110833266.4A CN113485735B (zh) | 2021-07-22 | 设备的升级方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110833266.4A CN113485735B (zh) | 2021-07-22 | 设备的升级方法、装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113485735A true CN113485735A (zh) | 2021-10-08 |
CN113485735B CN113485735B (zh) | 2024-07-02 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022164A (zh) * | 2022-05-31 | 2022-09-06 | 广州助蜂网络科技有限公司 | 一种基于dos命令的设备远程升级控制方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103986548A (zh) * | 2013-02-07 | 2014-08-13 | 华为技术有限公司 | 一种确定丢包原因的方法和终端 |
CN110505039A (zh) * | 2019-09-26 | 2019-11-26 | 北京达佳互联信息技术有限公司 | 一种数据传输控制方法、装置、设备及介质 |
CN112187531A (zh) * | 2020-09-17 | 2021-01-05 | 青岛海尔科技有限公司 | 模块的升级方法及系统、存储介质、电子装置 |
CN112423321A (zh) * | 2020-11-11 | 2021-02-26 | 浙江大华技术股份有限公司 | 一种基于无线广播的升级方法和装置及电子设备 |
US20210119930A1 (en) * | 2019-10-31 | 2021-04-22 | Intel Corporation | Reliable transport architecture |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103986548A (zh) * | 2013-02-07 | 2014-08-13 | 华为技术有限公司 | 一种确定丢包原因的方法和终端 |
CN110505039A (zh) * | 2019-09-26 | 2019-11-26 | 北京达佳互联信息技术有限公司 | 一种数据传输控制方法、装置、设备及介质 |
US20210119930A1 (en) * | 2019-10-31 | 2021-04-22 | Intel Corporation | Reliable transport architecture |
CN112187531A (zh) * | 2020-09-17 | 2021-01-05 | 青岛海尔科技有限公司 | 模块的升级方法及系统、存储介质、电子装置 |
CN112423321A (zh) * | 2020-11-11 | 2021-02-26 | 浙江大华技术股份有限公司 | 一种基于无线广播的升级方法和装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
CHRIS GREER: "TCP series #3: network packet loss, retransmissions, and duplicate acknowledgements", Retrieved from the Internet <URL:https://accedian.com/blog/network-packet-loss-retransmissions-and-duplicate-acknowledgements/> * |
TOBE的呓语: "详解 TCP 超时与重传机制", Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/101702312> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022164A (zh) * | 2022-05-31 | 2022-09-06 | 广州助蜂网络科技有限公司 | 一种基于dos命令的设备远程升级控制方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9860772B2 (en) | Method and apparatus for determining connection relationship between an antenna feeding port of base station and an antenna port | |
CN111372185A (zh) | 无线定位方法及设备 | |
CN111885594B (zh) | 设备绑定方法及装置 | |
JP2019083026A (ja) | 通信装置、及び通信方法 | |
CN108923839B (zh) | 数据传输方法、装置及系统、飞行器和控制设备 | |
CN106658756B (zh) | 一种终端设备与热点连接的识别方法及装置 | |
CN111492717B (zh) | 会话管理方法及装置、通信系统 | |
CN102893180B (zh) | 移动通信终端以及测位方式选择方法 | |
CN105828422A (zh) | 无线通信系统、无线中继站以及无线终端的数据接收方法 | |
CN111080819A (zh) | Rsu与obu的匹配方法及系统、存储介质、电子装置 | |
CN110087226B (zh) | 流量统计方法、装置、存储介质及电子装置 | |
CN113485735B (zh) | 设备的升级方法、装置、存储介质及电子装置 | |
CN113485735A (zh) | 设备的升级方法、装置、存储介质及电子装置 | |
CN115214884A (zh) | 远程识别信息的发送方法、装置、存储介质和电子装置 | |
CN114125052A (zh) | 目标操作的执行方法和装置、存储介质及电子装置 | |
EP2749061B1 (en) | Method and apparatuses for initialising a radio base station | |
CN112653769A (zh) | 一种消息的推送方法及系统 | |
CN108260182B (zh) | 一种无线绑定发送方法、接收方法及发送端、接收端 | |
CN111986387A (zh) | 燃气量的获取方法及装置、存储介质、电子装置 | |
CN113301575A (zh) | 多基站的资源配置方法和射频拉远单元 | |
CN117440409B (zh) | 一种无线通信方法及系统 | |
CN111405670A (zh) | 一种资源分配方法、装置、设备及计算机存储介质 | |
CN113505618B (zh) | 建立通信连接的方法、装置、存储介质及电子装置 | |
CN111294414A (zh) | 一种报文的处理方法、装置以及系统 | |
CN111294314A (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 | ||
GR01 | Patent grant |