CN111708558B - 一种高并发终端固件更新方法及更新系统 - Google Patents
一种高并发终端固件更新方法及更新系统 Download PDFInfo
- Publication number
- CN111708558B CN111708558B CN202010522152.3A CN202010522152A CN111708558B CN 111708558 B CN111708558 B CN 111708558B CN 202010522152 A CN202010522152 A CN 202010522152A CN 111708558 B CN111708558 B CN 111708558B
- Authority
- CN
- China
- Prior art keywords
- firmware
- control system
- flight control
- unmanned aerial
- updated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 claims abstract description 107
- 230000001680 brushing effect Effects 0.000 claims abstract description 29
- 230000004044 response Effects 0.000 claims description 43
- 238000004891 communication Methods 0.000 claims description 15
- 238000011010 flushing procedure Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 238000000638 solvent extraction Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 9
- 230000005611 electricity Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 208000035473 Communicable disease Diseases 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 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
技术领域
本发明涉及无人机技术领域,具体涉及一种高并发终端固件更新方法及更新系统。
背景技术
无人机,全称为无人驾驶飞机,英文缩写为“UAV”,是利用无线电遥控设备和自备的程序控制装置操纵的不载人飞机,或者由车载计算机完全地或间歇地自主地操作。军用方面,无人机分为侦察机和靶机。民用方面,无人机+行业应用,是无人机真正的刚需;目前在航拍、农业、植保、微型自拍、快递运输、灾难救援、观察野生动物、监控传染病、测绘、新闻报道、电力巡检、救灾、影视拍摄、制造浪漫等等领域的应用,大大的拓展了无人机本身的用途,产品更新升级的需求也越来越大。
但是现有的关于固件更新方法一般是在一个网络中对一台终端进行更新,具有一定的缺陷,例如:
1、一次更新只能针对一个终端,并发数少;
2、固件数据在传输过程中未进行加密,导致固件数据容易丢失;
3、固件数据在传输的同时进行固件刷写,导致整个更新过程比较缓慢。
发明内容
本发明实施例提供了一种高并发终端固件更新方法及更新系统,旨在提高终端固件更新的并发数量以及高并发终端固件的更新速度。
本发明实施例提供了一种高并发终端固件更新方法,包括:
地面站向同一批次内的多架无人机的机载计算机同步发送待更新的固件以及更新启动命令;
每一机载计算机接收所述待更新的固件以及更新启动命令,并对所述待更新的固件进行解压,以及将所述更新启动命令转发至对应的飞行控制系统中;
所述飞行控制系统在接收到所述更新启动命令后,向所述机载计算机发送应答回复,在完成发送应答回复后自动进行重启;
所述机载计算机在接收到所述飞行控制系统的应答回复后自动进行重启,并向所述飞行控制系统发送固件的刷写数据;
所述飞行控制系统根据接收到的固件的刷写数据进行刷写操作;
所述地面站在完成对本批次内的多个机载计算机发送待更新的固件以及更新启动命令后,继续对下一批次内的多个机载计算机同步发送待更新的固件以及更新启动命令。
进一步的,所述地面站向同一批次内的多架无人机的机载计算机同步发送待更新的固件以及更新启动命令,包括:
所述地面站通过scp命令向所述多架无人机的机载计算机发送待更新的固件;以及
基于地面站的无线网络通信模块和无人机上设置的无线网络通信模块的无线通信,向所述多个机载计算机发送更新启动命令。
进一步的,所述飞行控制系统在接收到所述更新启动命令后,向所述机载计算机发送应答回复,在完成发送应答回复后自动进行重启之后,包括:
所述飞行控制系统在重启后运行bootlader,等待接收所述机载计算机发送的固件的刷写数据。
进一步的,所述机载计算机在接收到所述飞行控制系统的应答回复后自动进行重启,并向所述飞行控制系统发送固件的刷写数据,包括:
所述机载计算机在接收到所述飞行控制系统的应答回复后自动进行重启;
所述机载计算机判断是否存在待更新的固件;若存在,则向所述飞行控制系统发送刷写命令,使所述飞行控制系统接收到所述刷写命令,进入实际刷写状态,并等待接收固件的刷写数据;
所述机载计算机向所述飞行控制系统发送固件的刷写数据。
进一步的,所述机载计算机向所述飞行控制系统发送固件的刷写数据,包括:
所述机载计算机将所述固件的刷写数据进行分块处理,得到多个刷写数据包;
所述机载计算机依次向所述飞行控制系统发送所述多个刷写数据包。
进一步的,所述飞行控制系统根据接收到的固件的刷写数据进行刷写操作,包括:
所述飞行控制系统根据接收到的刷写数据包进行刷写操作,并且在每完成一次刷写数据包的刷写后,向所述机载计算机发送一次应答包,使所述机载计算机接收到所述应答包,并再次向所述飞行控制系统发送固件刷写数据包;
循环上述步骤,直至完成固件更新。
进一步的,所述机载计算机在接收到所述飞行控制系统的应答回复后自动进行重启,包括:
所述机载计算机在接收到所述飞行控制系统的应答回复后,将所述应答回复转发至所述地面站,并在转发完成后自动进行重启。
本发明实施例还提供了一种高并发终端固件更新系统,包括:地面站和多架无人机;每一无人机均包括机载计算机和飞行控制系统;
所述地面站用于向同一批次内的多架无人机的机载计算机同步发送待更新的固件以及更新启动命令;以及用于在完成对本批次内的多个机载计算机发送待更新的固件以及更新启动命令后,继续对下一批次内的多个机载计算机同步发送待更新的固件以及更新启动命令;
所述机载计算机用于接收所述待更新的固件以及更新启动命令,并对所述待更新的固件进行解压,以及将所述更新启动命令转发至对应的飞行控制系统中;
所述飞行控制系统用于在接收到所述更新启动命令后,向所述机载计算机发送应答回复,在完成发送应答回复后自动进行重启;以及用于根据接收到的固件的刷写数据进行刷写操作。
进一步的,所述机载计算机还用于将所述固件的刷写数据进行分块处理,得到多个刷写数据包;
所述机载计算机依次向所述飞行控制系统发送所述多个刷写数据包。
进一步的,所述飞行控制系统还用于根据接收到的刷写数据包进行刷写操作,并且在每完成一次刷写数据包的刷写后,向所述机载计算机发送一次应答包,使所述机载计算机接收到所述应答包后,再次向所述飞行控制系统发送固件刷写数据包。
本发明实施例提供了一种高并发终端固件更新方法及更新系统,所述更新方法包括地面站向同一批次内的多架无人机的机载计算机同步发送待更新的固件以及更新启动命令;每一机载计算机接收所述待更新的固件以及更新启动命令,并对所述待更新的固件进行解压,以及将所述更新启动命令转发至对应的飞行控制系统中;所述飞行控制系统在接收到所述更新启动命令后,向所述机载计算机发送应答回复,在完成发送应答回复后自动进行重启;所述机载计算机在接收到所述飞行控制系统的应答回复后自动进行重启,并向所述飞行控制系统发送固件的刷写数据;所述飞行控制系统根据接收到的固件的刷写数据进行刷写操作;所述地面站在完成对本批次内的多个机载计算机发送待更新的固件以及更新启动命令后,继续对下一批次内的多个机载计算机同步发送待更新的固件以及更新启动命令。本发明实施例利用地面站向一个批次内的多架无人机的机载计算机发送待更新的固件,并在发送完成后,继续向下一批次内的多架无人机的机载计算机发送待更新的固件,从而在一定的时间内提高终端的更新数量,以及提高整体终端的更新速度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种高并发终端固件更新方法的流程示意图;
图2为本发明实施例提供的一种高并发终端固件更新系统的原理架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面请参见图1,图1为本发明实施例提供的一种高并发终端固件更新方法的流程示意图,具体包括:步骤S101~S106。
S101、地面站向同一批次内的多架无人机的机载计算机同步发送待更新的固件以及更新启动命令;
S102、每一机载计算机接收所述待更新的固件以及更新启动命令,并对所述待更新的固件进行解压,以及将所述更新启动命令转发至对应的飞行控制系统中;
S103、所述飞行控制系统在接收到所述更新启动命令后,向所述机载计算机发送应答回复,在完成发送应答回复后自动进行重启;
S104、所述机载计算机在接收到所述飞行控制系统的应答回复后自动进行重启,并向所述飞行控制系统发送固件的刷写数据;
S105、所述飞行控制系统根据接收到的固件的刷写数据进行刷写操作;
S106、所述地面站在完成对本批次内的多个机载计算机发送待更新的固件以及更新启动命令后,继续对下一批次内的多个机载计算机同步发送待更新的固件以及更新启动命令。
本实施例中,在对无人机(本实施例中的终端即是指无人机)的固件进行更新升级时,由地面站向一个批次内的多架无人机同时发送需要更新升级的固件数据,并向本批次内的多架无人机发送更新启动命令。每一架无人机通过自身设置的机载计算机接收固件数据和更新启动命令,所述机载计算机对接收的固件数据进行解压,并将解压后的固件数据移动至相应位置,以及向对应的飞行控制系统(即同一无人机上的飞行控制系统)转发更新启动命令,随后飞行控制系统和机载计算机共同进行后续的固件更新操作。需要注意的是,在本实施例中,所述地面站在向本批次内的多架无人机发送需要更新升级的固件数据和更新启动命令后,由各无人机各自进行固件更新,所述地面站并不参与各无人机的固件更新,而是继续对下一批次的多架无人机发送需要更新升级的固件数据和更新启动命令。
本实施例减少了每架无人机占用网络进行固件传输的时间,从而在有限的时间内增加无人机更新的数量,从而解决在一定网络带宽下终端并发数存在上限的缺陷。并且使固件更新的速度只取决于无人机自身更新的快慢,而与地面站无关,相比于现有技术中边传输边更新的方法,本实施例提供的更新方法可以有效提升无人机整体固件更新的速度。
举例来说,在一定时间内,需要对60架无人机进行固件更新,而当前的网络带宽只能允许20架无人机同时使用,利用本实施例提供的更新方法,即可将60架无人机分为3个批次(具体为第一批次、第二批次和第三批次)。地面站首先向第一批次内的20架无人机发送需要更新的固件数据和更新启动命令,在发送完成后,继续向第二批次内的20架无人家发送需要更新的固件数据和更新启动命令,在对第二批次发送完成后,继续向第三批次发送需要更新的固件数据和更新启动命令,在向3个批次发送完成后,可能会出现3个批次内的无人机均在进行固件更新情况,从而解决了在当前网络带宽下只能20架无人机一同更新的缺陷,并且相比于一个批次一个批次的更新升级,3个批次一同更新升级明显节省时间,即提升整体(60架)无人机的固件更新速度。
可以理解的是,本实施例中,机载计算机将解压后的固件数据移动至相应位置即是指将解压后的固件数据移动至一个预先定义的固定位置,例如电脑中的”C:\”,在机载计算机中为“/root”等。另外,所谓固件升级,是指对底层的软件进行修改,替换从而使得硬件增加新功能或者更好的工作,在本实施例中,即可看成是对无人机的飞行控制系统进行更新升级。还需说明的是,同一批次内的所有无人机的型号可以相同,其对应的固件版本相同或者与待更新的固件版本不同。
在一具体应用场景中,将本实施例提供的高并发终端固件方法应用于无人机编队灯光表演,对无人机编队内的无人机固件进行批量更新升级,从而节省大量更新时间,提升更新效率。
在一实施例中,所述地面站向同一批次内的多架无人机的机载计算机同步发送待更新的固件以及更新启动命令,包括:
所述地面站通过scp命令向所述多架无人机的机载计算机发送待更新的固件;以及
基于地面站的无线网络通信模块和无人机上设置的无线网络通信模块的无线通信,向所述多个机载计算机发送更新启动命令。
本实施例中,由于所述机载计算机运行linux系统,其后台运行有sshserver(ssh服务器),因此可以利用ssh协议(SecureShell,由IETF的网络小组NetworkWorkingGroup所制定,ssh为建立在应用层基础上的安全协议)进行数据传输。而ssh协议本身包含加密、校验等功能,可以安全、完整的将固件数据通过网络从地面站传输到机载计算机,即从地面站传输到无人机上。
scp即是指sshcopy,其用于进行远程文件复制,并且整个复制过程处于加密状态。使用ssh协议传输固件,并且使用和ssh协议相同的认证方式,可以提供相同的安全保证。并且,由于scp命令底层使用tcp协议传输,因此所述地面站在向机载计算机发送待更新的固件的速度将会更快。
另外,通过设置无线网络通信模块(即地面站的无线网络通信模块和无人机上设置的无线网络通信模块),使本批次内的多架无人机处于同一网络带宽中,达到同步接收地面发送待更新固件以及更新启动命令的效果。
在一实施例中,所述飞行控制系统在接收到所述更新启动命令后,向所述机载计算机发送应答回复,在完成发送应答回复后自动进行重启之后,包括:
所述飞行控制系统在重启后运行bootlader,等待接收所述机载计算机发送的固件的刷写数据。
本实施例中,所述飞行控制系统在接收到所述更新启动命令后,在延迟一段时间(即向所述机载计算机发送应答回复)后自动进行重启,并在重启后自动运行bootloader(bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行),并等待所述机载计算机对于应答回复的回应(即固件的刷写数据)。
在一实施例中,所述机载计算机在接收到所述飞行控制系统的应答回复后自动进行重启,并向所述飞行控制系统发送固件的刷写数据,包括:
所述机载计算机在接收到所述飞行控制系统的应答回复后自动进行重启;
所述机载计算机判断是否存在待更新的固件;若存在,则向所述飞行控制系统发送刷写命令,使所述飞行控制系统接收到所述刷写命令,进入实际刷写状态,并等待接收固件的刷写数据;
所述机载计算机向所述飞行控制系统发送固件的刷写数据。
本实施例中,由于在实际场景中,在所述机载计算机发送固件的刷写数据之前,固件数据已经被所述机载计算机解压被移动至相应位置,因而在除了特殊情况外(例如出现故障等),固件数据是一定存在的,因此机载计算机在重启后已经知道存在待更新的固件,只需等待飞行控制系统的bootloader启动后向其发送刷写命令。
在一实施例中,所述机载计算机向所述飞行控制系统发送固件的刷写数据,包括:
所述机载计算机将所述固件的刷写数据进行分块处理,得到多个刷写数据包;
所述机载计算机依次向所述飞行控制系统发送所述多个刷写数据包。
本实施例中,所述机载计算机把固件的刷写数据进行分块处理,并将分块后的刷写数据打包得到刷写数据包(所谓打包,是指在固件数据中加入一些控制信息,例如固件数据要刷写的位置、包序号、数据大小等),然后通过有线传输的方式依次将刷写数据包发送至飞行控制系统。之所以将固件的刷写数据进行分块处理,一是由于刷写数据太大,所述飞行控制系统无法一次性接收完并进行刷写,即便飞行控制系统预先缓存数据也没有如此大的内存空间,二是由于分块发送方便对每个块进行校验以及检查每个刷写数据包的数据完整性。
在一实施例中,所述飞行控制系统根据接收到的固件的刷写数据进行刷写操作,包括:
所述飞行控制系统根据接收到的刷写数据包进行刷写操作,并且在每完成一次刷写数据包的刷写后,向所述机载计算机发送一次应答包,使所述机载计算机接收到所述应答包,并再次向所述飞行控制系统发送固件刷写数据包;
循环上述步骤,直至完成固件更新。
本实施例中,所述飞行控制系统在接收到刷写数据包后,对刷写数据包进行解压并刷写到相应位置的flash中。所述飞行控制系统在成功刷写完一个刷写数据包后,通过有线串口向所述机载计算机发送应答包,用于告知所述机载计算机已完成上一个刷写数据包的刷写,并等待接收所述机载计算机发送的下一刷写数据包,直至成功完成所述刷写数据包的刷写。
在一实施例中,所述机载计算机在接收到所述飞行控制系统的应答回复后自动进行重启,包括:
所述机载计算机在接收到所述飞行控制系统的应答回复后,将所述应答回复转发至所述地面站,并在转发完成后自动进行重启。
本实施例中,所述机载计算机在接收到应答回复后会延迟一段时间,然后进行自动重启,而延迟的时间则用于向所述地面站转发所述飞行控制系统的应答回复,告知所述地面站,所述无人机准备开始进行固件更新。
在另一实施例中,所述地面站在接收到所述机载计算机转发的应答回复后,继续对下一批次内的多架无人机的机载计算机发送待更新的固件以及更新启动命令。
本实施例中,所述地面站在确保所述机载计算机接收到待更新的固件后,再转而向下一批次内的多架无人机发送待更新的固件以及更新启动命令,从而确保本批次内的所有无人机都已接收到待更新的固件和更新启动命令,避免遗漏。在一具体应用场景中,如果存在遗漏的情况,则可以将被遗漏的无人机加入下一批次的无人机内,从而再次向该被遗漏的无人机发送待更新的固件以及更新启动命令。
在一实施例中,所述机载计算机检测并向所述地面站发送各自的电量数据,所述地面站根据接收到的电量数据对所述机载计算机所属的无人机进行分批次编队。
本实施例中,由于无人机在进行固件更新时需要考虑到自身的电量能否满足本次固件更新的电量需求,因此地面站根据各无人机的电量数据进行分批次编队。优选地,将电量较少的无人机优先编入靠前的批次内,使电量较少的无人机器优先进行固件升级。当然,对于被编入靠前批次内的无人机,其自身的电量仍然需要满足本次固件更新的电量需求。
在另一实施例中,所述地面站根据各无人机的电量判断所述无人机是否拥有满足本次固件更新的电量需求的电量数据;若所述无人机拥有满足固件更新的电量需求的电量数据,则向其发送待更新的固件以及更新启动命令;若所述无人机未能拥有满足固件更新的电量需求的电量数据,则不向其发送待更新的固件以及更新启动命令。
本实施例中,所述地面站根据各机载计算机发送的电量数据,判断各电量数据对应的无人机是否能够完成本次更新。具体的,预先设定一电量阈值,用于作为判断无人机的电量能否满足本次固件更新的电量需求的标准,当所述无人机的电量达到预设的电量阈值时,则判定所述无人机的电量满足本次固件更新的电量需求;当所述无人机的电量未能达到预设电量阈值时,则判定所述无人机的电量无法满足本次固件更新的电量需求。如此,可以确保无人机在进行固件更新时不会因为自身电量不足导致最后更新失败,从而提高无人机更新成功率。
优选地,对于电量不足的无人机,可以使所述地面站将其编入较靠后的批次,并在所述地面站向其他批次内的无人机发送待更新的固件和更新启动命令时进行充电,以使所述地面站在向本批次内的无人机发送待更新的固件和更新启动命令时能够拥有足够的电量。当然,如果电量不足的无人机在短时间充电后仍无法满足固件更新的电量需求,则可以等待下一次的固件更新。
在一具体实施例中,所述地面站对所述无人机的历史固件更新记录进行查询分析,并得到满足本次固件更新的电量阈值。
本实施例中,所述地面站通过查询分析历史固件更新记录,得到本次可以满足固件更新的电量阈值,使本次预设的电量阈值更加准确、有依据,从而提高无人机的固件更新成功率。优选地,选择前5次历史固件更新记录,对前5次历史固件更新记录中的更新时间以及耗电量进行分析,并将前5次的耗电量的平均值作为本次的电量阈值。当然,也可以选择前5次的耗电量中的最大值或者其他数值作为本次的电量阈值。另外,考虑到在固件更新过程中,可能存在个别无人机因更新失败导致多次更新的情况(或者其他特殊情况),而与正常情况下相比,这种情况下的耗电量将会远大于实际数值(即非正常耗电量),因此,在选择平均值或者最大值(或者其他数值)时,可以优先将非正常耗电量剔除。
在一实施例中,所述地面站在完成对所有无人机的机载计算机发送待更新的固件和更新启动命令后,对所有在进行固件更新的无人机进行监控,并判断是否存在固件更新失败;若存在固件更新失败,则所述地面站再次向对应的机载计算机发送待更新的固件和更新启动命令。
本实施例中,无人机在进行固件更新时,即便自身电量达到预设的电量阈值,但是也可能由于其他原因导致固件更新失败,因此地面站在完成自身的发送任务(即对所有无人机的机载计算机发送待更新的固件和更新启动命令)后,可以监控正在进行固件更新的无人机。当存在无人机固件更新失败时,在其电量仍能够达到预设的电量阈值的条件下,再次向其发送待更新的固件和更新启动命令,并继续监控其更新状态。
进一步的,当存在无人机固件更新失败,且失败次数达到预设次数阈值时,则停止向其继续发送待更新的固件和更新启动命令。如此,既可以避免无人机因为偶然因素导致固件更新失败,又可以防止固件更新失败的无人机过多占用资源。
图2为本发明实施例提供的一种高并发终端固件更新系统200的原理架构图,包括:地面站210和多架无人机220;每一无人机均包括机载计算机221和飞行控制系统222;
所述地面站210用于向同一批次内的多架无人机220的机载计算机221同步发送待更新的固件以及更新启动命令;以及用于在完成对本批次内的多个机载计算机221发送待更新的固件以及更新启动命令后,继续对下一批次内的多个机载计算机221同步发送待更新的固件以及更新启动命令;
所述机载计算机221用于接收所述待更新的固件以及更新启动命令,并对所述待更新的固件进行解压,以及将所述更新启动命令转发至对应的飞行控制系统222中;
所述飞行控制系统222用于在接收到所述更新启动命令后,向所述机载计算机221发送应答回复,在完成发送应答回复后自动进行重启;以及用于根据接收到的固件的刷写数据进行刷写操作。
在一实施例中,机载计算机221还用于将所述固件的刷写数据进行分块处理,得到多个刷写数据包;
所述机载计算机221依次向所述飞行控制系统222发送所述多个刷写数据包。
在一实施例中,所述飞行控制系统222还用于根据接收到的刷写数据包进行刷写操作,并且在每完成一次刷写数据包的刷写后,向所述机载计算机221发送一次应答包,使所述机载计算机221接收到所述应答包后,再次向所述飞行控制系统222发送固件刷写数据包。
由于系统部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (8)
1.一种高并发终端固件更新方法,其特征在于,包括:
地面站向同一批次内的多架无人机的机载计算机同步发送待更新的固件以及更新启动命令;
所述机载计算机检测并向所述地面站发送各自的电量数据,所述地面站根据接收到的电量数据对所述机载计算机所属的无人机进行分批次编队;
所述地面站根据各无人机的电量判断所述无人机是否拥有满足本次固件更新的电量需求的电量数据;若所述无人机拥有满足固件更新的电量需求的电量数据,则向其发送待更新的固件以及更新启动命令;若所述无人机未能拥有满足固件更新的电量需求的电量数据,则不向其发送待更新的固件以及更新启动命令;
每一机载计算机接收所述待更新的固件以及更新启动命令,并对所述待更新的固件进行解压,以及将所述更新启动命令转发至对应的飞行控制系统中;
所述飞行控制系统在接收到所述更新启动命令后,向所述机载计算机发送应答回复,在完成发送应答回复后自动进行重启;
所述机载计算机在接收到所述飞行控制系统的应答回复后自动进行重启,并向所述飞行控制系统发送固件的刷写数据;
所述飞行控制系统根据接收到的固件的刷写数据进行刷写操作;
所述地面站在完成对本批次内的多个机载计算机发送待更新的固件以及更新启动命令后,继续对下一批次内的多个机载计算机同步发送待更新的固件以及更新启动命令;
所述地面站向同一批次内的多架无人机的机载计算机同步发送待更新的固件以及更新启动命令,包括:
所述地面站通过scp命令向所述多架无人机的机载计算机发送待更新的固件;以及
基于地面站的无线网络通信模块和无人机上设置的无线网络通信模块的无线通信,向所述多个机载计算机发送更新启动命令;
所述机载计算机在接收到所述飞行控制系统的应答回复后自动进行重启,并向所述飞行控制系统发送固件的刷写数据,包括:
所述机载计算机在接收到所述飞行控制系统的应答回复后自动进行重启;
所述机载计算机判断是否存在待更新的固件;若存在,则向所述飞行控制系统发送刷写命令,使所述飞行控制系统接收到所述刷写命令,进入实际刷写状态,并等待接收固件的刷写数据;
所述机载计算机向所述飞行控制系统发送固件的刷写数据。
2.根据权利要求1所述的高并发终端固件更新方法,其特征在于,所述飞行控制系统在接收到所述更新启动命令后,向所述机载计算机发送应答回复,在完成发送应答回复后自动进行重启之后,包括:
所述飞行控制系统在重启后运行bootloader,等待接收所述机载计算机发送的固件的刷写数据。
3.根据权利要求1所述的高并发终端固件更新方法,其特征在于,所述机载计算机向所述飞行控制系统发送固件的刷写数据,包括:
所述机载计算机将所述固件的刷写数据进行分块处理,得到多个刷写数据包;
所述机载计算机依次向所述飞行控制系统发送所述多个刷写数据包。
4.根据权利要求3所述的高并发终端固件更新方法,其特征在于,所述飞行控制系统根据接收到的固件的刷写数据进行刷写操作,包括:
所述飞行控制系统根据接收到的刷写数据包进行刷写操作,并且在每完成一次刷写数据包的刷写后,向所述机载计算机发送一次应答包,使所述机载计算机接收到所述应答包,并再次向所述飞行控制系统发送固件刷写数据包;
循环上述步骤,直至完成固件更新。
5.根据权利要求1所述的高并发终端固件更新方法,其特征在于,所述机载计算机在接收到所述飞行控制系统的应答回复后自动进行重启,包括:
所述机载计算机在接收到所述飞行控制系统的应答回复后,将所述应答回复转发至所述地面站,并在转发完成后自动进行重启。
6.一种高并发终端固件更新系统,其特征在于,包括:地面站和多架无人机;每一无人机均包括机载计算机和飞行控制系统;
所述地面站用于向同一批次内的多架无人机的机载计算机同步发送待更新的固件以及更新启动命令;以及用于在完成对本批次内的多个机载计算机发送待更新的固件以及更新启动命令后,继续对下一批次内的多个机载计算机同步发送待更新的固件以及更新启动命令;所述地面站根据接收到的电量数据对所述机载计算机所属的无人机进行分批次编队;所述地面站根据各无人机的电量判断所述无人机是否拥有满足本次固件更新的电量需求的电量数据;若所述无人机拥有满足固件更新的电量需求的电量数据,则向其发送待更新的固件以及更新启动命令;若所述无人机未能拥有满足固件更新的电量需求的电量数据,则不向其发送待更新的固件以及更新启动命令;
所述向同一批次内的多架无人机的机载计算机同步发送待更新的固件以及更新启动命令,包括:
所述地面站通过scp命令向所述多架无人机的机载计算机发送待更新的固件;以及
基于地面站的无线网络通信模块和无人机上设置的无线网络通信模块的无线通信,向所述多个机载计算机发送更新启动命令;
所述机载计算机用于接收所述待更新的固件以及更新启动命令,并对所述待更新的固件进行解压,以及将所述更新启动命令转发至对应的飞行控制系统中;所述机载计算机检测并向所述地面站发送各自的电量数据,
所述机载计算机在接收到所述飞行控制系统的应答回复后自动进行重启;
所述机载计算机判断是否存在待更新的固件;若存在,则向所述飞行控制系统发送刷写命令,使所述飞行控制系统接收到所述刷写命令,进入实际刷写状态,并等待接收固件的刷写数据;
所述机载计算机向所述飞行控制系统发送固件的刷写数据;
所述飞行控制系统用于在接收到所述更新启动命令后,向所述机载计算机发送应答回复,在完成发送应答回复后自动进行重启;以及用于根据接收到的固件的刷写数据进行刷写操作。
7.根据权利要求6所述的高并发终端固件更新系统,其特征在于,机载计算机还用于将所述固件的刷写数据进行分块处理,得到多个刷写数据包;
所述机载计算机依次向所述飞行控制系统发送所述多个刷写数据包。
8.根据权利要求6所述的高并发终端固件更新系统,其特征在于,所述飞行控制系统还用于根据接收到的刷写数据包进行刷写操作,并且在每完成一次刷写数据包的刷写后,向所述机载计算机发送一次应答包,使所述机载计算机接收到所述应答包后,再次向所述飞行控制系统发送固件刷写数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010522152.3A CN111708558B (zh) | 2020-06-10 | 2020-06-10 | 一种高并发终端固件更新方法及更新系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010522152.3A CN111708558B (zh) | 2020-06-10 | 2020-06-10 | 一种高并发终端固件更新方法及更新系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111708558A CN111708558A (zh) | 2020-09-25 |
CN111708558B true CN111708558B (zh) | 2024-03-08 |
Family
ID=72539236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010522152.3A Active CN111708558B (zh) | 2020-06-10 | 2020-06-10 | 一种高并发终端固件更新方法及更新系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708558B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113504933A (zh) * | 2021-05-28 | 2021-10-15 | 曲阜师范大学 | 一种车间机器更新方法及系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252458A (zh) * | 2008-01-30 | 2008-08-27 | 深圳市共进电子有限公司 | 一种固件批量升级方法 |
CN102768518A (zh) * | 2012-07-11 | 2012-11-07 | 清华大学 | 多无人机平台协同控制系统 |
CN106055373A (zh) * | 2016-07-04 | 2016-10-26 | 苏州光之翼智能科技有限公司 | 一种批量无人机固件自动升级装置及其方法 |
CN106681778A (zh) * | 2017-01-17 | 2017-05-17 | 深圳大漠大智控技术有限公司 | 一种基于网络的多单片机一次刷机系统及实现方法 |
CN107153424A (zh) * | 2017-07-06 | 2017-09-12 | 上海复亚通信科技有限公司 | 一种能抗大风的全自动无人机巡飞系统 |
CN107544541A (zh) * | 2017-09-18 | 2018-01-05 | 南方科技大学 | 一种无人机控制方法及系统 |
WO2018195968A1 (zh) * | 2017-04-28 | 2018-11-01 | 深圳市大疆创新科技有限公司 | 终端设备及其控制方法、无人机及其控制方法和控制设备 |
CN109117168A (zh) * | 2018-08-29 | 2019-01-01 | 拓攻(南京)机器人有限公司 | 无人机固件更新方法、装置、无人机及存储介质 |
CN109917767A (zh) * | 2019-04-01 | 2019-06-21 | 中国电子科技集团公司信息科学研究院 | 一种分布式无人机集群自主管理系统及控制方法 |
CN110119147A (zh) * | 2019-05-09 | 2019-08-13 | 深圳市速腾聚创科技有限公司 | 车辆自动驾驶方法、装置、计算机设备和存储介质 |
CN110244966A (zh) * | 2019-06-18 | 2019-09-17 | 广东戈兰玛汽车系统有限公司 | 一种基于uds的bootloader程序在线更新方法 |
CN110502262A (zh) * | 2019-08-16 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种固件升级方法、系统、装置及计算机可读存储介质 |
CN110727454A (zh) * | 2019-10-24 | 2020-01-24 | 北京云迹科技有限公司 | 智能设备的更新方法及装置、电子设备、存储介质 |
-
2020
- 2020-06-10 CN CN202010522152.3A patent/CN111708558B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252458A (zh) * | 2008-01-30 | 2008-08-27 | 深圳市共进电子有限公司 | 一种固件批量升级方法 |
CN102768518A (zh) * | 2012-07-11 | 2012-11-07 | 清华大学 | 多无人机平台协同控制系统 |
CN106055373A (zh) * | 2016-07-04 | 2016-10-26 | 苏州光之翼智能科技有限公司 | 一种批量无人机固件自动升级装置及其方法 |
CN106681778A (zh) * | 2017-01-17 | 2017-05-17 | 深圳大漠大智控技术有限公司 | 一种基于网络的多单片机一次刷机系统及实现方法 |
WO2018195968A1 (zh) * | 2017-04-28 | 2018-11-01 | 深圳市大疆创新科技有限公司 | 终端设备及其控制方法、无人机及其控制方法和控制设备 |
CN107153424A (zh) * | 2017-07-06 | 2017-09-12 | 上海复亚通信科技有限公司 | 一种能抗大风的全自动无人机巡飞系统 |
CN107544541A (zh) * | 2017-09-18 | 2018-01-05 | 南方科技大学 | 一种无人机控制方法及系统 |
CN109117168A (zh) * | 2018-08-29 | 2019-01-01 | 拓攻(南京)机器人有限公司 | 无人机固件更新方法、装置、无人机及存储介质 |
CN109917767A (zh) * | 2019-04-01 | 2019-06-21 | 中国电子科技集团公司信息科学研究院 | 一种分布式无人机集群自主管理系统及控制方法 |
CN110119147A (zh) * | 2019-05-09 | 2019-08-13 | 深圳市速腾聚创科技有限公司 | 车辆自动驾驶方法、装置、计算机设备和存储介质 |
CN110244966A (zh) * | 2019-06-18 | 2019-09-17 | 广东戈兰玛汽车系统有限公司 | 一种基于uds的bootloader程序在线更新方法 |
CN110502262A (zh) * | 2019-08-16 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种固件升级方法、系统、装置及计算机可读存储介质 |
CN110727454A (zh) * | 2019-10-24 | 2020-01-24 | 北京云迹科技有限公司 | 智能设备的更新方法及装置、电子设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
基于Mission Planner的无人机长机僚机法集群控制;许育帅 等;自动化应用;20200325(第03期);第6-10页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111708558A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11526348B2 (en) | Detecting anomalies online using controller processing activity | |
CN111708558B (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 | ||
GR01 | Patent grant |