CN115361104B - 智能设备升级方法、***、计算机设备和存储介质 - Google Patents

智能设备升级方法、***、计算机设备和存储介质 Download PDF

Info

Publication number
CN115361104B
CN115361104B CN202211037985.6A CN202211037985A CN115361104B CN 115361104 B CN115361104 B CN 115361104B CN 202211037985 A CN202211037985 A CN 202211037985A CN 115361104 B CN115361104 B CN 115361104B
Authority
CN
China
Prior art keywords
upgraded
intelligent
data
upgrade
firmware
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
Application number
CN202211037985.6A
Other languages
English (en)
Other versions
CN115361104A (zh
Inventor
黄秀峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Oribo Technology Co Ltd
Original Assignee
Shenzhen Oribo Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Oribo Technology Co Ltd filed Critical Shenzhen Oribo Technology Co Ltd
Priority to CN202211037985.6A priority Critical patent/CN115361104B/zh
Publication of CN115361104A publication Critical patent/CN115361104A/zh
Application granted granted Critical
Publication of CN115361104B publication Critical patent/CN115361104B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/189Transmission or retransmission of more than one copy of a message
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss

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)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种智能设备升级方法、***、计算机设备和存储介质,涉及通信技术领域。所述方法包括:确定与固件升级数据对应的待升级智能设备;待升级智能设备是待升级的、且能够被控制终端控制的受控设备;确定待升级智能设备的目标丢包率;目标丢包率是由控制终端对待升级智能设备进行丢包测试得到的;根据目标丢包率,确定用于修复固件升级数据的冗余数据包;将固件升级数据和冗余数据包发送给待升级智能设备,以使待升级智能设备根据固件升级数据进行设备升级;冗余数据包用于在待升级智能设备接收的固件升级数据不完整的情况下,对接收的固件升级数据进行修复。采用本方法能够提高智能设备升级效率。

Description

智能设备升级方法、***、计算机设备和存储介质
技术领域
本申请涉及通信技术领域,特别是涉及一种智能设备升级方法、***、计算机设备和存储介质。
背景技术
随着物联网的快速发展和无线网络的快速普及,越来越多智能设备可以支持在线升级,例如可以通过空中下载技术(Over-the-Air Technology,OTA)对待升级智能设备进行在线升级。但是,在待升级智能设备信号不好的情况下,控制终端在将固件升级数据发送给待升级智能设备的过程中可能导致数据丢失。因此,为了保证待升级智能设备接收到完整的固件升级数据,控制终端需要重新将丢失的数据发送给待升级智能设备。但是,这样会影响智能设备升级的效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高智能设备升级效率的智能设备升级方法、***、计算机设备、存储介质和计算机程序产品。
第一方面,本申请提供了一种智能设备升级方法,所述方法包括:
确定与固件升级数据对应的待升级智能设备;待升级智能设备是待升级的、且能够被控制终端控制的受控设备;
确定待升级智能设备的目标丢包率;目标丢包率是由控制终端对待升级智能设备进行丢包测试得到的;
根据目标丢包率,确定用于修复固件升级数据的冗余数据包;
将固件升级数据和冗余数据包发送给待升级智能设备,以使待升级智能设备根据固件升级数据进行设备升级;冗余数据包用于在待升级智能设备接收的固件升级数据不完整的情况下,对接收的固件升级数据进行修复。
第二方面,本申请提供了一种智能设备升级***,所述***包括:控制终端和待升级智能设备;
控制终端,用于确定与固件升级数据对应的待升级智能设备;确定待升级智能设备的目标丢包率;根据目标丢包率,确定用于修复固件升级数据的冗余数据包;将固件升级数据和冗余数据包发送给待升级智能设备;待升级智能设备是待升级的、且能够被控制终端控制的受控设备;丢包率是由控制终端对待升级智能设备进行丢包测试得到的;
待升级智能设备,用于根据固件升级数据进行设备升级,还用于在接收的固件升级数据不完整的情况下,根据冗余数据包对接收的固件升级数据进行修复。
在一些实施例中,待升级智能设备为多个。控制终端还用于:向多个待升级智能设备发送用于进行丢包测试的多个测试包;根据发送给各待升级智能设备的测试包数量,以及各待升级智能设备接收到的测试包数量,计算出各待升级智能设备的丢包率;从各待升级智能设备的丢包率中选取目标丢包率。
在一些实施例中,控制终端还用于:将固件升级数据和冗余数据包发送给多个待升级智能设备,以使多个待升级智能设备进行设备升级。
在一些实施例中,控制终端还用于:对固件升级数据进行分割,得到多个升级包组合;每个升级包组合中包括至少一个固件升级包。控制终端还用于:根据目标丢包率,确定与每个升级包组合匹配的冗余数据包。控制终端还用于:依次将每个升级包组合和相匹配的冗余数据包作为同一发送数据组,向待升级智能设备传输发送数据组。
在一些实施例中,控制终端还用于:针对每个升级包组合,根据升级包组合中的升级固件包的数量和目标丢包率,确定出与升级包组合匹配的冗余数据包的待生成数量;基于待生成数量对升级包组合中的升级固件包进行编码转换,生成与升级包组合匹配的、且符合待生成数量的冗余数据包。
在一些实施例中,发送数据组,用于在发送数据组中的升级包组合未被待升级智能设备完整接收的情况下,触发待升级智能设备确定发送数据组在向待升级智能设备传输的过程中的丢包数量,并在丢包数量小于或等于发送数据组中冗余数据包的数量时,根据所接收到的发送数据组中的冗余数据包对未完整接收的升级包组合进行数据修复;其中,修复后的升级包组合用于对待升级智能设备进行设备升级。
在一些实施例中,控制终端还用于:在待升级智能设备所确定的丢包数量大于发送数据组中冗余数据包的数量的情况下,根据发送数据组中固件升级包的序号确定出待补齐的固件升级包;将待补齐的固件升级包发送给待升级智能设备,以使待升级智能设备根据接收到的发送数据组中的固件升级包和待补齐的升级固件包进行设备升级。
第三方面,本申请提供了一种控制终端,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的智能设备升级方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的智能设备升级方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的智能设备升级方法中的步骤。
上述智能设备升级方法、***、计算机设备、存储介质和计算机程序产品,当控制终端需要对智能设备进行固件升级时,首先需要确定与固件升级数据对应的待升级智能设备,有效避免对不需要进行固件升级的智能设备进行重复升级,能够节省固件升级的时长。其次,控制终端对各待升级智能设备进行丢包测试得到目标丢包率,并根据目标丢包率确定出用于修复固件升级数据的冗余数据包。接着,控制终端将固件升级数据和冗余数据包一并发送给待升级智能设备,若待升级智能设备接收到的固件升级数据是完整的,则待升级设备则可以根据固件升级数据进行设备升级,若待升级智能设备接收到的固件升级数据是不完整的,则待升级设备还可以直接通过接收到的冗余数据包自行对接收到的固件升级包进行恢复,从而减少丢包重传的次数,进而提高智能设备升级的效率。
附图说明
图1为本申请实施例提供的一种智能设备升级方法的应用环境示意图;
图2为本申请实施例提供的一种智能设备升级方法的流程示意图;
图3为本申请实施例提供的一种数据修复过程的示意图;
图4为本申请实施例提供的另一种智能设备升级方法的流程示意图;
图5为本申请实施例提供的一种智能设备升级***的结构示意图;
图6为本申请实施例提供的一种计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的智能设备升级方法,可以应用于如图1所示的应用环境中。
可以理解,控制终端通过通信网络,例如通过无线通信技术(WiFi)与智能设备进行通信,并负责对智能设备中的待升级智能设备进行设备升级。
数据存储***,可以存储控制终端需要处理的数据,数据存储***可以集成在控制终端上,也可以放在云服务或其他网络服务器上。若数据存储***放在云服务上、且数据存储***接收到最新版本的固件升级数据时,数据存储***会通知控制终端,以使控制终端下载最新版本的固件升级数据,并使控制终端在各个智能设备中选取需要进行固件升级的待升级智能设备,接着根据最新版本的固件升级数据对需要进行固件升级的待升级智能设备进行设备升级。
其中,控制终端可以理解为智能中控,可以是安装特定程序软件的个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备、便携式可穿戴设备、控制终端、服务器、可移动的控制面板或控制旋钮等中的至少一种。物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。智能设备可以但不限于是智能灯具、智控面板、智能音箱、智能电视或智能空调等中的至少一种智能家居设备。
在一些实施例中,如图2所示,提供了一种智能设备升级方法,本申请实施例以该方法应用于图1所示的控制终端为例进行说明,包括但不限于包括以下步骤:
步骤202,确定与固件升级数据对应的待升级智能设备。
其中,固件指的是智能设备内部所保存的智能设备“驱动程序”,通过固件,操作***才能按照标准的设备驱动实现特定机器的运行动作。
固件升级数据,指的是对用于对智能设备的固件进行升级的相关数据。
待升级智能设备,指的是待升级的、且能够被控制终端控制的受控设备。可以理解,控制终端可以通过查看各个智能设备的固件版本,来确定对应的智能设备是不是待升级设备。
在一些实施例中,控制终端在获取最新的固件升级数据之后,可以根据固件升级数据的固件版本信息判断最新的固件版本。接着,控制终端将该固件版本分别与各个智能设备当前的固件版本进行比对。若控制终端接收到的固件版本高于智能设备当前的固件版本,则说明该智能设备当前的固件版本不是最新版本,且可以确定该智能设备为待升级设备。若控制终端接收到的固件版本不高于智能设备当前的固件版本,则说明该智能设备当前的固件版本已经为最新版本,此时控制终端不需要对该智能设备进行设备升级。本申请通过比对各个智能设备的固件版本,能够有效避免对不需要进行固件升级的智能设备进行重复升级,从而节省设备升级的时长。
具体地,控制终端从各个智能设备中确定与固件升级数据对应的待升级智能设备。
步骤204,确定待升级智能设备的目标丢包率。
其中,目标丢包率是由控制终端对待升级智能设备进行丢包测试得到的、且用于表征待升级智能设备的丢包情况。
丢包测试,指的是通过对待升级智能设备发送数据包,以计算该智能设备丢包情况的测试。
丢包(Packet Loss),是指一个或多个数据包(Packet)的数据在传输过程中无法到达指定的目的地。
丢包率,指的是数据包在传输中所丢失的数据包数量占所发送的数据包数量的比率。
具体地,控制终端通过对各个待升级智能设备进行丢包测试,确定出待升级设备的目标丢包率。
步骤206,根据目标丢包率,确定用于修复固件升级数据的冗余数据包。
具体地,控制终端根据目标丢包率确定出用于修复固件升级数据的冗余数据包。其中,确定冗余数据包的目的在于,在待升级智能设备不能接收到完整的固件升级数据的情况下,待升级智能设备可以直接根据冗余数据包对不完整的固件升级数据进行修复,以将其修复成完整的固件升级数据,保证待升级智能设备能及时根据完整的固件升级数据进行设备升级。
步骤208,将固件升级数据和冗余数据包发送给待升级智能设备,以使待升级智能设备根据固件升级数据进行设备升级。
其中,冗余数据包用于在待升级智能设备接收的固件升级数据不完整的情况下,对接收的固件升级数据进行修复。
具体地,控制终端将固件升级数据和冗余数据包一并发送给待升级智能设备,以使待升级智能设备在接收到完整的固件升级数据的情况下,可以直接根据完整的固件升级数据进行设备升级。此外,在待升级智能设备在接受不到完整的固件升级数据的情况下,还能够直接通过冗余数据包自行对不完整的固件升级数据进行修复,将其修复成完整的固件升级数据后再进行设备升级,从而减少丢包重传的次数,进而提高智能设备升级的效率。
上述智能设备升级方法,当控制终端需要对智能设备进行固件升级时,首先需要确定与固件升级数据对应的待升级智能设备,有效避免对不需要进行固件升级的智能设备进行重复升级,能够节省固件升级的时长。其次,控制终端对各待升级智能设备进行丢包测试得到目标丢包率,并根据目标丢包率确定出用于修复固件升级数据的冗余数据包。接着,控制终端将固件升级数据和冗余数据包一并发送给待升级智能设备,若待升级智能设备接收到的固件升级数据是完整的,则待升级设备则可以根据固件升级数据进行设备升级,若待升级智能设备接收到的固件升级数据是不完整的,则待升级设备还可以直接通过接收到的冗余数据包自行对接收到的固件升级包进行恢复,从而减少丢包重传的次数,进而提高智能设备升级的效率。
在一些实施例中,待升级智能设备为多个,步骤204具体包括但不限于包括:向多个待升级智能设备发送用于进行丢包测试的多个测试包;根据发送给各待升级智能设备的测试包数量,以及各待升级智能设备接收到的测试包数量,计算出各待升级智能设备的丢包率;从各待升级智能设备的丢包率中选取目标丢包率。
其中,测试包指的是控制终端对各个待升级智能设备进行丢包测试时,向各个待升级智能设备所发送的数据包。
具体地,控制终端向多个待升级智能设备发送用于进行丢包测试的多个数据包,作为测试包。接着,控制终端根据其发送给各个待升级智能设备的测试包的数量,以及各个待升级设备实际接收到的测试包的数量,计算出各待升级设备的丢包率。最后,控制终端从各待升级设备的丢包率中选取其中一个丢包率,作为目标丢包率。本申请通过计算各个待升级智能设备的丢包率,能够在对各个待升级智能设备进行设备升级之前,提前了解待升级智能设备整体的丢包情况,并根据目标丢包率生成冗余数据包,以通过冗余数据包对固件升级数据进行修复,提高设备升级效率。
在一些实施例中,若待升级智能设备为智能灯具,该智能灯具包括智能灯1、智能灯2、智能灯3、智能灯4和智能灯5,则控制终端则可以将智能灯1、智能灯2、智能灯3、智能灯4和智能灯5拉到同一个组,例如组1,以便对同一个组内的智能灯具进行批量的丢包测试。其次,控制终端通过组播技术(Multicast Technology)针对组1中的智能灯1、智能灯2、智能灯3、智能灯4和智能灯5以一定速率连续发送N个测试包。由于智能灯具在信号不好的情况下可能出现丢包,所以控制终端需要通过单播的方式分别读取智能灯1、智能灯2、智能灯3、智能灯4和智能灯5实际接收到的测试包的数量M。接着,控制终端根据各个智能灯具实际接收到测试包的数量M,与发送给各个智能灯具的测试包的数量N的比值,得到各个智能灯具的丢包率K。在计算出各个智能灯具的丢包率之后,再选取一个丢包率作为目标丢包率。
其中,组播技术指的是单个发送者对应多个接收者的一种网络通信。
在一些实施例中,从多个丢包率中选取目标丢包率的过程可以是从多个丢包率中选取最大的丢包率,作为目标丢包率。在一些实施例中,还可以将多个丢包率从大到小或者从小到大进行排序,排序后筛选出一定范围内的丢包率,再选取最大的丢包率,作为目标丢包率。
在一些实施例中,步骤208具体包括但不限于包括:将固件升级数据和冗余数据包发送给多个待升级智能设备,以使多个待升级智能设备进行设备升级。
具体地,控制终端将固件升级数据和冗余数据包发送给多个待升级智能设备,以使多个待升级智能设备同时进行设备升级。本申请的控制终端除了可以给单个待升级智能设备进行设备升级,还可以同时给多个待升级设备进行批量化的设备升级,能够有效减少设备升级所花费的时间。
在一些实施例中,在步骤206之前,本申请的智能设备升级方法具体还包括但不限于包括:对固件升级数据进行分割,得到多个升级包组合。
其中,每个升级包组合中包括至少一个固件升级包。
具体地,控制终端还可以对固件升级数据进行分割,得到多个升级包组合。
可以理解,控制终端可以先将固件升级数据分割成多个固件升级包,并将一定数量的固件升级包进行组合得到升级包组合。例如,若固件升级数据的大小为100KB,若按照1KB的标准将100KB大小的固件升级数据分割成固件升级包,则可以得到100个固件升级包,若按照10个固件升级包组合成一个升级包组合的标准,则可以得到10个升级包组合。
对应的,步骤206具体包括但不限于包括:根据目标丢包率,确定与每个升级包组合匹配的冗余数据包。
具体地,控制终端根据计算出的目标丢包率,确定与每个升级包组合匹配的冗余数据包。
对应的,步骤208具体还包括但不限于包括:依次将每个升级包组合和相匹配的冗余数据包作为同一发送数据组,向待升级智能设备传输发送数据组。
具体地,控制终端依次将每个升级包组合和相匹配的冗余数据包进行组合,即,将每个升级包组合和相匹配的冗余数据包作为同一发送数据组,分别向每个待升级智能设备传输对应的发送数据组。
在一些实施例中,步骤“根据目标丢包率,确定与每个升级包组合匹配的冗余数据包”具体包括但不限于包括:针对每个升级包组合,根据升级包组合中的升级固件包的数量和目标丢包率,确定出与升级包组合匹配的冗余数据包的待生成数量;基于待生成数量对升级包组合中的升级固件包进行编码转换,生成与升级包组合匹配的、且符合待生成数量的冗余数据包。
可以理解,根据无线信道的传输特征,升级固件包的丢包一般是呈现随机性的,所以控制终端在发送升级固件包给对应的待升级智能设备之前,需要使用一些编码算法,例如使用前向纠错编码技术生成升级固件包对应的冗余数据包。
在一些实施例中,冗余数据包的待生成数量是根据上述实施例计算出来的目标丢包率所确定。例如,目标丢包率R为20%,则可以考虑在通过10个固件升级包进行组合得到的升级包组合中设置2个冗余数据包。此外,可以考虑对每个升级包组合中的每个升级固件包进行编号,以及对每个升级包组合所对应的冗余数据包进行编号,以便识别出各个具体的升级固件包和冗余数据包。当确定出各升级包组合和对应的冗余数据包之后,可以依次将各升级包组合和对应的冗余数据包发送给待升级智能设备,直到所有数据发送完成。
具体地,控制终端针对每个升级包组合,并根据对应升级包组合中的升级固件包的数量和目标丢包率,确定出与升级包组合匹配的冗余数据包的待生成数量。接着,利用向前纠错编码算法,并基于待生成数量对升级包组合中的升级固件包进行编码转换,生成与升级包组合匹配的、且符合待生成数量的冗余数据包。可以理解,若待生成数量为2,则利用纠错编码算法所生成的冗余数据包也应该为2个。
在一些实施例中,发送数据组,用于在发送数据组中的升级包组合未被待升级智能设备完整接收的情况下,触发待升级智能设备确定发送数据组在向待升级智能设备传输的过程中的丢包数量,并在丢包数量小于或等于发送数据组中冗余数据包的数量时,根据所接收到的发送数据组中的冗余数据包对未完整接收的升级包组合进行数据修复。
其中,修复后的升级包组合用于对待升级智能设备进行设备升级。
丢包数量,指的是控制终端在发送升级包组合的过程中,所丢失的升级固件包的数量。
具体地,若发送数据组在向待升级智能设备传输的过程中的丢包数量小于或等于发送数据组中冗余数据包的数量时,则待升级智能设备可以通过对冗余数据包进行编码的编码算法将丢失的升级固件包进行数据修复,以得到完整的升级包组合。待升级智能设备在得到完整的升级包组合之后,再根据完整的升级包组合进行设备升级。
在一些实施例中,如图3所示,控制终端向待升级智能设备发送的发送数据组包括10个升级固件包,简称数据包,还包括2个冗余数据包,简称冗余包。但是,在数据传输的过程中,可能存在丢包的情况,导致待升级智能设备接收不到完整的数据包和冗余包,例如待升级智能设备无法接收到数据包4和冗余包1,总共丢失2包数据。由于丢失的包数没有大于设置的冗余数据包的数量,所以可以利用对冗余数据包进行编码的编码算法,例如利用向前纠错编码算法对数据包4进行数据恢复,并且在成功恢复后,去掉多余的冗余包2,从而得到完整的升级固件包,以供控制终端根据完整的升级固件包进行设备升级,从而减少丢包重传的开销,提高设备升级效率。
在一些实施例中,若一个发送数据组在数据传输过程中,没有丢失任何升级固件包,则控制终端可以直接去除该发送数据组中的冗余数据包,并保存至本地以供待升级设备进行设备升级即可。
在一些实施例中,本申请的智能设备升级方法具体还包括但不限于包括:在待升级智能设备所确定的丢包数量大于发送数据组中冗余数据包的数量的情况下,根据发送数据组中固件升级包的序号确定出待补齐的固件升级包;将待补齐的固件升级包发送给待升级智能设备,以使待升级智能设备根据接收到的发送数据组中的固件升级包和待补齐的升级固件包进行设备升级。
具体地,在待升级智能设备所确定的丢包数量大于发送数据组中冗余数据包的数量的情况下,待升级智能设备不能利用对冗余数据包进行编码的编码算法进行数据修复,此时待升级设备则先保存已经收到的固件升级包。接着,待升级设备根据所保存的固件升级包对应的序号,确定出需要补齐的固件升级包,即待补齐固件升级包。控制终端则重新将待补齐固件升级包单播发送给待升级设备,以使待升级智能设备根据接收到的发送数据组中的固件升级包和待补齐的升级固件包组合成完整的升级包之后,根据完整的升级包进行设备升级。本申请在待升级智能设备不能直接进行数据修复的情况下,还能够通过定向补包技术向对应的待升级智能设备单播发送其丢失的固件升级包,能够进一步保证其进行设备升级的准确性。
在一些实施例中,若待升级智能设备完成升级,则控制终端可以生成对应的提示信息,以提醒用户该待升级智能设备升级完成。
在一些实施例中,若存在网络故障或者控制终端故障而导致升级固件包多次发送失败,则可以控制待升级智能设备进入设备升级失败状态,并提示用户进行相应的处理,保证能够及时解决。
在一些实施例中,如图4所示,本申请实施例的智能设备升级方法,具体还包括如下步骤:
步骤402,确定与固件升级数据对应的待升级智能设备。
步骤404,向多个待升级智能设备发送用于进行丢包测试的多个测试包。
步骤406,根据发送给各待升级智能设备的测试包数量,以及各待升级智能设备接收到的测试包数量,计算出各待升级智能设备的丢包率。
步骤408,从各待升级智能设备的丢包率中选取目标丢包率。
步骤410,对固件升级数据进行分割,得到多个升级包组合。
步骤412,针对每个升级包组合,根据升级包组合中的升级固件包的数量和目标丢包率,确定出与升级包组合匹配的冗余数据包的待生成数量。
步骤414,基于待生成数量对升级包组合中的升级固件包进行编码转换,生成与升级包组合匹配的、且符合待生成数量的冗余数据包。
步骤416,依次将每个升级包组合和相匹配的冗余数据包作为同一发送数据组,向待升级智能设备传输发送数据组。
步骤418,判断待升级智能设备接收到的升级包组合是否完整,若是,则执行步骤428。若否,则执行步骤420。
步骤420,判断待升级智能设备的丢包数量是否大于接收到的冗余数据包的数量,若是,则执行步骤422,若否,则执行步骤426。
步骤422,根据发送数据组中固件升级包的序号确定出待补齐的固件升级包。
步骤424,将待补齐的固件升级包发送给待升级智能设备。
步骤426,根据待升级智能设备接收到的发送数据组中的冗余数据包对未完整接收的升级包组合进行数据修复。
步骤428,根据升级包组合进行智能设备升级。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的智能设备升级方法的智能设备升级***。该***所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个智能设备升级***实施例中的具体限定可以参见上文中对于智能设备升级方法的限定,在此不再赘述。
参考图5,为本申请实施例提供的一种智能设备升级***的结构示意图。在一些实施例中,如图5所示,提供了一种智能设备升级***,包括控制终端502和待升级智能设备504,其中:
控制终端502,用于确定与固件升级数据对应的待升级智能设备504;确定待升级智能设备504的目标丢包率;根据目标丢包率,确定用于修复固件升级数据的冗余数据包;将固件升级数据和冗余数据包发送给待升级智能设备504;待升级智能设备504是待升级的、且能够被控制终端502控制的受控设备;丢包率是由控制终端502对待升级智能设备504进行丢包测试得到的;
待升级智能设备504,用于根据固件升级数据进行设备升级,还用于在接收的固件升级数据不完整的情况下,根据冗余数据包对接收的固件升级数据进行修复。
在一些实施例中,待升级智能设备504为多个。控制终端502还用于:向多个待升级智能设备504发送用于进行丢包测试的多个测试包;根据发送给各待升级智能设备504的测试包数量,以及各待升级智能设备504接收到的测试包数量,计算出各待升级智能设备504的丢包率;从各待升级智能设备504的丢包率中选取目标丢包率。
在一些实施例中,控制终端502还用于:将固件升级数据和冗余数据包发送给多个待升级智能设备504,以使多个待升级智能设备504进行设备升级。
在一些实施例中,控制终端502还用于:对固件升级数据进行分割,得到多个升级包组合;每个升级包组合中包括至少一个固件升级包。控制终端502还用于:根据目标丢包率,确定与每个升级包组合匹配的冗余数据包。控制终端502还用于:
依次将每个升级包组合和相匹配的冗余数据包作为同一发送数据组,向待升级智能设备504传输发送数据组。
在一些实施例中,控制终端502还用于:针对每个升级包组合,根据升级包组合中的升级固件包的数量和目标丢包率,确定出与升级包组合匹配的冗余数据包的待生成数量;基于待生成数量对升级包组合中的升级固件包进行编码转换,生成与升级包组合匹配的、且符合待生成数量的冗余数据包。
在一些实施例中,发送数据组,用于在发送数据组中的升级包组合未被待升级智能设备504完整接收的情况下,触发待升级智能设备504确定发送数据组在向待升级智能设备504传输的过程中的丢包数量,并在丢包数量小于或等于发送数据组中冗余数据包的数量时,根据所接收到的发送数据组中的冗余数据包对未完整接收的升级包组合进行数据修复;其中,修复后的升级包组合用于对待升级智能设备504进行设备升级。
在一些实施例中,控制终端502还用于:在待升级智能设备504所确定的丢包数量大于发送数据组中冗余数据包的数量的情况下,根据发送数据组中固件升级包的序号确定出待补齐的固件升级包;将待补齐的固件升级包发送给待升级智能设备504,以使待升级智能设备504根据接收到的发送数据组中的固件升级包和待补齐的升级固件包进行设备升级。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是控制终端,其内部结构图可以如图6所示,该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示单元和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种应用内存智能化分配方法。该计算机设备的显示单元可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示单元上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种智能设备升级方法,其特征在于,应用于控制终端,所述方法包括:
确定与固件升级数据对应的待升级智能设备;所述待升级智能设备是待升级的、且能够被所述控制终端控制的受控设备;所述待升级智能设备为智能家居设备;
确定所述待升级智能设备的目标丢包率;所述目标丢包率是由所述控制终端对所述待升级智能设备进行丢包测试得到的;
对所述固件升级数据进行分割,得到多个升级包组合;每个升级包组合中包括至少一个固件升级包;
针对每个升级包组合,根据所述升级包组合中的升级固件包的数量和所述目标丢包率,确定出与所述升级包组合匹配的冗余数据包的待生成数量;
基于所述待生成数量对所述升级包组合中的升级固件包进行编码转换,生成与所述升级包组合匹配的、且符合所述待生成数量的冗余数据包;
将所述固件升级数据和所述冗余数据包发送给所述待升级智能设备,以使所述待升级智能设备根据所述固件升级数据进行设备升级;所述冗余数据包用于在所述待升级智能设备接收的固件升级数据不完整的情况下,对接收的固件升级数据进行修复;所述将所述固件升级数据和所述冗余数据包发送给所述待升级智能设备,还包括:依次将每个所述升级包组合和相匹配的冗余数据包作为同一发送数据组,向所述待升级智能设备传输所述发送数据组。
2.根据权利要求1所述的方法,其特征在于,所述待升级智能设备为多个;所述确定所述待升级智能设备的目标丢包率,包括:
向多个所述待升级智能设备发送用于进行丢包测试的多个测试包;
根据发送给各所述待升级智能设备的测试包数量,以及各所述待升级智能设备接收到的测试包数量,计算出各待升级智能设备的丢包率;
从各待升级智能设备的丢包率中选取目标丢包率。
3.根据权利要求2所述的方法,其特征在于,所述将所述固件升级数据和所述冗余数据包发送给所述待升级智能设备,包括:
将所述固件升级数据和所述冗余数据包发送给多个所述待升级智能设备,以使多个所述待升级智能设备进行设备升级。
4.根据权利要求1所述的方法,其特征在于,所述发送数据组,用于在所述发送数据组中的升级包组合未被所述待升级智能设备完整接收的情况下,触发所述待升级智能设备确定所述发送数据组在向所述待升级智能设备传输的过程中的丢包数量,并在所述丢包数量小于或等于所述发送数据组中冗余数据包的数量时,根据所接收到的所述发送数据组中的冗余数据包对未完整接收的升级包组合进行数据修复;其中,修复后的升级包组合用于对所述待升级智能设备进行设备升级。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述待升级智能设备所确定的所述丢包数量大于所述发送数据组中冗余数据包的数量的情况下,根据所述发送数据组中固件升级包的序号确定出待补齐的固件升级包;
将所述待补齐的固件升级包发送给所述待升级智能设备,以使所述待升级智能设备根据接收到的所述发送数据组中的固件升级包和所述待补齐的所述升级固件包进行设备升级。
6.一种智能设备升级***,其特征在于,所述***包括:控制终端和待升级智能设备;
所述控制终端,用于确定与固件升级数据对应的待升级智能设备;确定所述待升级智能设备的目标丢包率;对所述固件升级数据进行分割,得到多个升级包组合;每个升级包组合中包括至少一个固件升级包;针对每个升级包组合,根据所述升级包组合中的升级固件包的数量和所述目标丢包率,确定出与所述升级包组合匹配的冗余数据包的待生成数量;基于所述待生成数量对所述升级包组合中的升级固件包进行编码转换,生成与所述升级包组合匹配的、且符合所述待生成数量的冗余数据包;将所述固件升级数据和所述冗余数据包发送给所述待升级智能设备;所述待升级智能设备是待升级的、且能够被所述控制终端控制的受控设备;所述丢包率是由所述控制终端对所述待升级智能设备进行丢包测试得到的;所述将所述固件升级数据和所述冗余数据包发送给所述待升级智能设备,还包括:依次将每个所述升级包组合和相匹配的冗余数据包作为同一发送数据组,向所述待升级智能设备传输所述发送数据组;
所述待升级智能设备,用于根据所述固件升级数据进行设备升级,还用于在接收的所述固件升级数据不完整的情况下,根据所述冗余数据包对接收的固件升级数据进行修复;所述待升级智能设备为智能家居设备。
7.根据权利要求6所述的***,其特征在于,待升级智能设备为多个;所述控制终端还用于:向多个所述待升级智能设备发送用于进行丢包测试的多个测试包;根据发送给各所述待升级智能设备的测试包数量,以及各所述待升级智能设备接收到的测试包数量,计算出各待升级智能设备的丢包率;从各待升级智能设备的丢包率中选取目标丢包率。
8.根据权利要求7所述的***,其特征在于,所述控制终端还用于:将所述固件升级数据和所述冗余数据包发送给多个所述待升级智能设备,以使多个所述待升级智能设备进行设备升级。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN202211037985.6A 2022-08-26 2022-08-26 智能设备升级方法、***、计算机设备和存储介质 Active CN115361104B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211037985.6A CN115361104B (zh) 2022-08-26 2022-08-26 智能设备升级方法、***、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211037985.6A CN115361104B (zh) 2022-08-26 2022-08-26 智能设备升级方法、***、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN115361104A CN115361104A (zh) 2022-11-18
CN115361104B true CN115361104B (zh) 2024-06-14

Family

ID=84005044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211037985.6A Active CN115361104B (zh) 2022-08-26 2022-08-26 智能设备升级方法、***、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN115361104B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116954643B (zh) * 2023-06-02 2024-04-05 深圳市华芯控股有限公司 基于can总线自组网***的点播及组播固件升级方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105897378A (zh) * 2016-04-06 2016-08-24 上海华为技术有限公司 降低传输丢包率的方法和转置
CN113971287A (zh) * 2021-10-14 2022-01-25 深圳市戴升智能科技有限公司 基于LoRa通信的批量升级方法、升级***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106130696A (zh) * 2016-09-22 2016-11-16 杭州龙境科技有限公司 一种前向纠错的方法、装置及电子设备
JP7097138B2 (ja) * 2018-02-26 2022-07-07 株式会社モバイルテクノ 通信制御装置、通信制御プログラム及び通信制御方法
CN115396077A (zh) * 2019-03-25 2022-11-25 华为技术有限公司 一种数据传输方法及装置
CN110602688B (zh) * 2019-10-15 2023-07-04 青岛海信电子设备股份有限公司 终端软件升级方法和升级***
CN111510323A (zh) * 2020-03-24 2020-08-07 中国科学院上海微***与信息技术研究所 一种物联网设备的固件升级方法、装置、***及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105897378A (zh) * 2016-04-06 2016-08-24 上海华为技术有限公司 降低传输丢包率的方法和转置
CN113971287A (zh) * 2021-10-14 2022-01-25 深圳市戴升智能科技有限公司 基于LoRa通信的批量升级方法、升级***

Also Published As

Publication number Publication date
CN115361104A (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
CN110737658A (zh) 数据分片存储方法、装置、终端及可读存储介质
US9792623B2 (en) Advertisement processing method and apparatus
CN109240727A (zh) 应用程序更新方法、装置、计算机设备和存储介质
CN102915249A (zh) 远程地实现固件升级的方法和装置
CN102612023A (zh) 一种移动终端更新应用的方法、服务器以及移动终端
CN115361104B (zh) 智能设备升级方法、***、计算机设备和存储介质
CN103440204B (zh) 一种更新文件***的方法和存储设备
US7849355B2 (en) Distributed object sharing system and method thereof
CN110333876A (zh) 一种数据清除方法及控制设备
CN103177077A (zh) 一种apk文件的存储及输出方法
CN111459524A (zh) 软件的升级方法、装置、***
CN106293814B (zh) 升级方法及装置
CN116541047A (zh) 固件升级方法、装置、计算机设备及计算机可读存储介质
CN106302670A (zh) 一种图片更新方法、通信终端及服务器
CN113986293A (zh) 传感器应用程序升级方法、装置、计算机设备和存储介质
CN113783768B (zh) 一种群组控制方法、群组控制装置和通信***
CN112657196A (zh) 资源更新方法、装置、计算机设备和可读存储介质
CN113127268A (zh) 银行数据库的数据传输方法及装置
CN112579141A (zh) 一种嵌入式***的固件更新方法、装置、设备及存储介质
CN110825406A (zh) 一种软件升级的方法及相关设备
CN117762461A (zh) 版本更新方法、装置、空中下载技术***和计算机设备
CN115766447B (zh) 设备功能更新方法和装置
CN117891476A (zh) 一种驱动程序升级方法及装置、存储介质、计算机设备
CN116032619B (zh) 智能安全联网设备的状态巡检方法及装置
US12026500B2 (en) Software update device, server, software update system, and software update method

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