一种集群无人系统数据传输方法转让专利

申请号 : CN202210392998.9

文献号 : CN114499777B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈翔李治钢冯荻洋郭颖潇赵政宁何昆

申请人 : 四川腾盾科技有限公司

摘要 :

本发明涉及集群无人系统无线组网技术领域,公开了一种集群无人系统数据传输方法,使集群无人系统中各个节点均保存接收到的数据,根据其他节点丢包消息计算的重传请求数量动态调整丢包重传顺序,并根据接收包号计算节点差,利用节点差预测即将传输的数据包。本发明解决了现有技术存在的集群节点传输能力利用率低、集群数据传输时间长等问题。

权利要求 :

1.一种集群无人系统数据传输方法,其特征在于,使集群无人系统中各个节点均保存接收到的数据,根据其他节点丢包消息计算的重传请求数量动态调整丢包重传顺序,并根据接收包号计算节点差,利用节点差预测即将传输的数据包;

包括以下步骤:

S1,设置集群无人系统节点数量n,依次对节点进行编号,记为节点1~节点n,其中,节点1为根节点,节点2~节点n为叶节点;其中,n≥1且n为正整数;

S2,以根节点作为数据发送节点,根节点将源数据进行分包并进行编号,在传输时隙期间按照包编号从小到大依次发送数据包,直到最后编号的数据包发送完毕后,根节点执行丢包重传逻辑;在整个数据传输周期中,根节点接收叶节点发送的丢包消息和数据包;

S3,叶节点接收数据,并根据接收包编号顺序,统计本节点丢包情况,并发送丢包消息;

同时接收其他叶节点丢包消息,从本节点响应其他叶节点的丢包消息,并进行丢包重传,直到每个节点数据接收完成;

S4,根节点或叶节点接收到所有叶节点的完成消息后,不再进行丢包重传,完成整个集群数据传输流程;

步骤S2中,将一个组网传输周期分配成n个节点传输时隙,确保每一个节点获得一个传输时隙资源,并按照节点编号顺序分配传输时隙;

步骤S2中,在根节点设置一张丢包列表,用来记录接收到的其他节点的丢包编号和对应丢包编号的丢包请求数量;

步骤S3中,在叶节点设置两张表:已接收列表,用以记录已经接收的数据包编号;丢包列表,用以记录接收到的其他节点的丢包编号;

步骤S3具体包括以下步骤:

S31,叶节点接收数据:当叶节点接收到一个数据包时,判断包编号,如果是未收到过的数据包,将数据包保存下来,将包编号加入已接收列表并更新已接收列表数量;如果是收到过的数据包,叶节点在丢包列表中查看是否有此包编号,如果有,就更新丢包列表,将丢包列表中一样包编号删除;然后,提取消息中的节点编号C,计算出当前叶节点编号D和C直接的节点差X,X=(D+n‑C) mod n;当已接收列表数量等于包总数时,叶节点发送接收完成消息;

S32,叶节点响应丢包消息:当叶节点接收到其他节点的丢包消息时,提取消息中的丢包编号,将在接收列表中能查找到的丢包编号补充合并到丢包列表中,每一个编号设置一个丢包请求数量,每收到一次该编号的丢包消息,该编号丢包请求数量加1,并按照请求数量从多到少排列丢包列表;

S33,叶节点发送丢包消息:当叶节点传输时隙到来时,叶节点统计已接收列表中最新包序号之前缺失的包序号,将缺失的包序号加入丢包消息;叶节点根据当前接收包编号、总包数和传输时隙时间,计算出根节点传输完成的时间T,在T到达后,说明根节点最后一包已经传输完成,如果叶节点没有接收到最后一包,则叶节点将自动统计缺失的包序号,将缺失的包序号加入丢包消息;

S34,叶节点丢包重传:当叶节点传输时隙到来时,如果节点差X大于丢包列表中丢包总数量M,叶节点按照丢包列表中编号的请求数量从高到低,依次重传数据包,叶节点发送数据包后将已经发送的包编号从丢包列表中删除;如果节点差X小于丢包列表中丢包总数量M,叶节点按照丢包列表中排列第X位的包开始,按照请求数量从高到低,依次重传数据包,叶节点发送数据包后将已经发送的包编号从丢包列表中删除。

2.根据权利要求1所述的一种集群无人系统数据传输方法,其特征在于,步骤S2中,分包策略为:对每个分包进行编号,最大分包的传输时间不大于一个传输时隙。

3.根据权利要求2所述的一种集群无人系统数据传输方法,其特征在于,步骤S2中,根节点响应丢包消息逻辑为:当根节点接收到其他节点的丢包消息,提取消息中的丢包编号,将丢包编号补充合并到丢包列表中,每一个编号设置一个丢包请求数量,每收到一次该编号的丢包消息,该编号对应的丢包请求数量加1。

4.根据权利要求3所述的一种集群无人系统数据传输方法,其特征在于,步骤S2中,根节点接收数据逻辑为:当根节点接收到一个数据包时,在丢包列表中查看是否有此包编号;

如果有,则更新丢包列表,将丢包列表中一样包编号删除;如果没有,则不做处理;然后,提取消息中的节点编号A,计算出根节点编号B和A直接的节点差X,X=(B+n‑A) mod n。

5.根据权利要求4所述的一种集群无人系统数据传输方法,其特征在于,步骤S2中,根节点丢包重传逻辑为:当根节点传输时隙到来时,如果节点差X大于丢包列表中丢包总数量M,根节点按照丢包列表中编号的请求数量从高到低,依次重传数据包,根节点发送数据包后将已经发送的包编号从丢包列表中删除;如果节点差X小于丢包总数量M,根节点按照丢包列表中排列第X位的包开始,按照请求数量从高到低,依次重传数据包;根节点发送数据包后将已经发送的包编号从丢包列表中删除。

说明书 :

一种集群无人系统数据传输方法

技术领域

[0001] 本发明涉及集群无人系统无线组网技术领域,具体是一种集群无人系统数据传输方法。

背景技术

[0002] 随着无人机、无人车、无人船等无人系统工业技术的快速发展,无人系统中集群技术逐渐开始从纯理论研究走向理论和工程实践相结合,越来越多的使用场景被挖掘和构建出来。集群无人系统的关键技术包括集群控制技术、集群组网通信技术、集群任务协同规划技术、集群指挥控制技术等。
[0003] 在集群无人系统无线组网体制中,节点间普遍采用TDMA方式行数据传输,传输周期被分为若干个传输时隙,每个节点在传输时隙中进行数据传输,其他节点可同时接收数据。采用现有技术的这种传输方式时,存在一种使用场景,需要将某一个节点的大量数据无差错完整快速的传输到部分节点或所有节点,在传输期间存在集群无人系统节点间通信不稳定导致数据丢失重传的情况,目前的重传处理方式仍然只是在单一数据源端实现重传逻辑,并没有最大限度利用其他集群节点的传输能力,这样导致所有的重传包都只能通过数据源端发出,其他集群节点在组网传输周期中处于空闲状态,浪费了节点传输时隙。因为一个组网传输周期数据源端传输时隙固定,所以丢包越多,整个丢包重传过程耗时越长。如何在集群带宽有限的情况下最大限度利用集群节点传输能力、缩短集群数据传输时间,快速完成集群无人系统节点间的数据共享需要思考一种更实用的办法。

发明内容

[0004] 为克服现有技术的不足,本发明提供了一种集群无人系统数据传输方法,解决现有技术存在的集群节点传输能力利用率低、集群数据传输时间长等问题。
[0005] 本发明解决上述问题所采用的技术方案是:
[0006] 一种集群无人系统数据传输方法,使集群无人系统中各个节点均保存接收到的数据,根据其他节点丢包消息计算的重传请求数量动态调整丢包重传顺序,并根据接收包号计算节点差,利用节点差预测即将传输的数据包。
[0007] 作为一种优选的技术方案,包括以下步骤:
[0008] S1,设置集群无人系统节点数量n,依次对节点进行编号,记为节点1~节点n,其中,节点1为根节点,节点2~节点n为叶节点;其中,n≥1且n为正整数;
[0009] S2,以根节点作为数据发送节点,根节点将源数据进行分包并进行编号,在传输时隙期间按照包编号从小到大依次发送数据包,直到最后编号的数据包发送完毕后,根节点执行丢包重传逻辑;在整个数据传输周期中,根节点接收叶节点发送的丢包消息和数据包;
[0010] S3,叶节点接收数据,并根据接收包编号顺序,统计本节点丢包情况,并发送丢包消息;同时接收其他叶节点丢包消息,从本节点响应其他叶节点的丢包消息,并进行丢包重传,直到每个节点数据接收完成;
[0011] S4,根节点或叶节点接收到所有叶节点的完成消息后,不再进行丢包重传,完成整个集群数据传输流程。
[0012] 作为一种优选的技术方案,步骤S2中,将一个组网传输周期分配成n个节点传输时隙,确保每一个节点获得一个传输时隙资源,并按照节点编号顺序分配传输时隙。
[0013] 作为一种优选的技术方案,步骤S2中,在根节点设置一张丢包列表,用来记录接收到的其他节点的丢包编号和对应的丢包请求数量。
[0014] 作为一种优选的技术方案,步骤S2中,分包策略为:对每个分包进行编号,最大分包的传输时间不大于一个传输时隙。
[0015] 作为一种优选的技术方案,步骤S2中,根节点响应丢包消息逻辑为:当根节点接收到其他节点的丢包消息,提取消息中的丢包编号,将丢包编号补充合并到丢包列表中,每一个编号设置一个丢包请求数量,每收到一次该编号的丢包消息,该编号对应丢包编号的丢包请求数量加1。
[0016] 作为一种优选的技术方案,步骤S2中,根节点接收数据逻辑为:当根节点接收到一个数据包时,在丢包列表中查看是否有此包编号;如果有,则更新丢包列表,将丢包列表中一样包编号删除;如果没有,则不做处理;然后,提取消息中的节点编号A,计算出根节点编号B和A直接的节点差X,X=(B+n‑A) mod n。
[0017] 作为一种优选的技术方案,步骤S2中,根节点丢包重传逻辑为:当根节点传输时隙到来时,如果节点差X大于丢包列表中丢包总数量M,根节点按照丢包列表中编号的请求数量从高到低,依次重传数据包,根节点发送数据包后将已经发送的包编号从丢包列表中删除;如果节点差X小于丢包总数量M,根节点按照丢包列表中排列第X位的包开始,按照请求数量从高到低,依次重传数据包,根节点发送数据包后将已经发送的包编号从丢包列表中删除。
[0018] 作为一种优选的技术方案,步骤S3中,在叶节点设置两张表:已接收列表,用以记录已经接收的数据包编号;丢包列表,用以记录接收到的其他节点的丢包编号。
[0019] 作为一种优选的技术方案,步骤S3具体包括以下步骤:
[0020] S31,叶节点接收数据:当叶节点接收到一个数据包时,判断包编号,如果是未收到过的数据包,将数据包保存下来,将包编号加入已接收列表并更新已接收列表数量;如果是收到过的数据包,叶节点在丢包列表中查看是否有此包编号,如果有,就更新丢包列表,将丢包列表中一样包编号删除;然后,提取消息中的节点编号C,计算出当前叶节点编号D和C直接的节点差X,X=(D+n‑C) mod n;当已接收列表数量等于包总数时,叶节点发送接收完成消息;
[0021] S32,叶节点响应丢包消息:当叶节点接收到其他节点的丢包消息时,提取消息中的丢包编号,将在接收列表中能查找到的丢包编号补充合并到丢包列表中,每一个编号设置一个丢包请求数量,每收到一次该编号的丢包消息,该编号丢包请求数量加1,并按照请求数量从多到少排列丢包列表;
[0022] S33,叶节点发送丢包消息:当叶节点传输时隙到来时,叶节点统计已接收列表中最新包序号之前缺失的包序号,将缺失的包序号加入丢包消息;叶节点根据当前接收包编号、总包数和传输时隙时间,计算出根节点传输完成的时间T,在T到达后,说明根节点最后一包已经传输完成,如果叶节点没有接收到最后一包,则叶节点将自动统计缺失的包序号,将缺失的包序号加入丢包消息;
[0023] S34,叶节点丢包重传:当叶节点传输时隙到来时,如果节点差X大于丢包列表中丢包总数量M,叶节点按照丢包列表中编号的请求数量从高到低,依次重传数据包,叶节点发送数据包后将已经发送的包编号从丢包列表中删除;如果节点差X小于丢包列表中丢包总数量M,叶节点按照丢包列表中排列第X位的包开始,按照请求数量从高到低,依次重传数据包,叶节点发送数据包后将已经发送的包编号从丢包列表中删除。
[0024] 本发明相比于现有技术,具有以下有益效果:
[0025] (1)本发明考虑整个集群节点资源利用问题,将整个集群节点不仅仅作为一个接收节点,同时也作为丢包重传节点,让每个周期内,在每个节点的传输时隙都能动态进行丢包重传的处理逻辑,高效利用的节点资源,缩短了丢包重传时间;
[0026] (2)本发明考虑了提高节点资源利用率的问题,在节点处理和传输时间大于1个以上时隙传输时间的情况下,时隙出现在这个处理和传输时间内的节点,由于没有接收到新的重传包,无法更新重传逻辑,将会重传同样的丢包,为了解决这个问题,节点都会根据最新接收到的重传包节点编号计算节点差,动态调整节点重传包开始位置,减少了节点处理时间内其他节点重复传输数据包的情况,提高了传输周期节点利用率;
[0027] (3)本发明让每个叶节点根据自身接收数据的情况,最大限度、最及时的将自己已有的、其他节点没有的数据发送出去,让每一个节点都及时实现部分数据重传业务,充分利用了每个组网周期内各个节点的传输时隙,考虑了自组网的信道传输特点,实现了集群数据传输的一种新模式,充分提高集群数据传输效能和组网带宽的利用率;
[0028] (4)本发明考虑到了整个集群节点中丢包请求量,重传时刻能够优先发送丢包请求量最高的包,优化量集群节点的资源利用率,能够减少后续节点空闲几率;
[0029] (5)本发明考虑到一个节点处理和数据传输时间中,其他后续节点时隙到达,已经开始进行数据处理。为了提高节点利用率,避免节点处理和传输时间内的节点重复发送丢包数据,增加节点编号差计算,让节点推算出到达自己时隙时,应该发送的数据包。以此提高整个集群节点的利用率。

附图说明

[0030] 图1为本发明所述一种集群无人系统数据传输方法的步骤示意图;
[0031] 图2为集群节点重传逻辑示意图;
[0032] 图3为图2的局部放大图之一;
[0033] 图4为图2的局部放大图之二;
[0034] 图5为实施例中节点不使用节点差逻辑示意图;
[0035] 图6为图5的局部放大图之一;
[0036] 图7为图5的局部放大图之二;
[0037] 图8为实施例中节点使用节点差逻辑示意图;
[0038] 图9为图8的局部放大图之一;
[0039] 图10为图8的局部放大图之二。

具体实施方式

[0040] 下面结合实施例及附图,对本发明作进一步的详细说明,但本发明的实施方式不限于此。
[0041] 实施例
[0042] 如图1至图10所示,本发明为了充分提高无人系统集群数据共享的能力,发明一种集群无人系统数据传输方法,该方法使集群无人系统各个节点都保存接收到的数据,根据丢包重传请求数量动态调整丢包重传顺序,充分利用组网节点传输时隙,以最快速度完成集群丢包重传,充分缩短传输集群数据传输时间。
[0043] 本发明方法还考虑了节点处理和传输时间大于1个以上时隙传输时间的情况下,时隙在这个处理和传输时间内的节点,由于没有接收到新的重传包,无法更新重传逻辑,将会重传同样的丢包,为了解决这个问题,节点都会根据最新接收到的重传包节点编号计算节点差,动态调整节点重传包开始位置,减少了节点处理时间内其他节点重复传输数据包的情况,提高了传输周期利用效率。
[0044] 本方法步骤如下:
[0045] 1.设置集群无人系统节点数量n,依次对节点进行编号1~n,其中为一个根节点和若干叶节点;将一个组网传输周期分配成n个节点传输时隙,确保每一个节点获得一个传输时隙资源,按照节点编号顺序分配传输时隙;
[0046] 2.数据发送节点为根节点,根节点将源数据进行分包并进行编号,在传输时隙期间按照包编号从小到大依次发送数据包,直到最后编号的数据包发送完毕后,根节点执行丢包重传逻辑;在整个数据传输周期中,根节点接收叶节点发送的丢包消息和数据包。
[0047] 根节点设置一张丢包列表,用来记录接收到的其他节点的丢包编号和对应丢包编号的丢包请求数量。
[0048] 1)分包策略为:对每个分包进行编号,最大分包的传输时间不大于一个传输时隙;
[0049] 2)根节点响应丢包消息逻辑:当根节点接收到其他节点的丢包消息,提取消息中的丢包编号,将丢包编号补充合并到丢包列表中,每一个编号设置一个丢包请求数量,每收到一次该编号的丢包消息,该编号对应的丢包请求数量加1。
[0050] 3)根节点接收数据逻辑:当根节点接收到一个数据包时,在丢包列表中查看是否有此包编号,如果有,就更新丢包列表,将丢包列表中一样包编号删除;如果没有,不做处理。然后,提取消息中的节点编号A,计算出本节点编号B和A直接的节点差X。
[0051] X=(B+n‑A) mod n。
[0052] 4)根节点丢包重传逻辑:当根节点传输时隙到来时,如果节点差X大于丢包列表中丢包总数量M,根节点按照丢包列表中编号的请求数量从高到低,依次重传数据包;如果节点差X小于丢包总数量M,根节点按照丢包列表中排列第X位的包开始,按照请求数量从高到低,依次重传数据包。根节点发送数据包后将已经发送的包编号从丢包列表中删除。其中数据包包含发送节点的编号。
[0053] 3.数据叶节点开始接收数据,并根据接收包编号进行丢包消息发送,同时接收其他叶节点丢包消息,从本节点响应部分丢包消息,进行丢包重传。直到每个节点数据接收完成。
[0054] 叶节点设置两张表:已接收列表,用来记录已经接收的数据包编号;丢包列表,用来记录接收到的其他节点的丢包编号。
[0055] 1)叶节点接收数据逻辑:当叶节点接收到一个数据包时,判断包编号,如果是未收到过的数据包,将数据包保存下来,将包编号加入已接收列表;如果是收到过的数据包,叶节点在丢包列表中查看是否有此包编号,如果有,就更新丢包列表,将丢包列表中一样包编号删除。然后,提取消息中的节点编号C,计算出本节点编号D和C直接的节点差X,X=(D+n‑C) mod n。
[0056] 如果包编号列表数量等于包总数,叶节点发送接收完成消息。
[0057] 2)叶节点发送丢包消息逻辑:当叶节点传输时隙到来时,叶节点统计接收列表中最新包序号之前缺失的包序号,将缺失的包序号加入丢包消息。叶节点根据当前接收包编号、总包数和传输时隙时间,计算出所根节点传输完成的所有包的总时间T,在T到达后,说明根节点最后一包已经传输完成,如果叶节点没有接收到最后一包,那么叶节点将自动统计缺失的包序号。
[0058] 3)叶节点响应丢包消息:当叶节点接收到其他节点的丢包消息,提取消息中的丢包编号,将在接收列表中能查找到的丢包编号补充合并到丢包列表中,每一个编号设置一个丢包请求数量,每收到一次该编号的丢包消息,该编号丢包请求数量加1,并按照请求数量从多到少排列丢包列表;
[0059] 4)叶节点发送丢包消息:当叶节点传输时隙到来时,叶节点统计已接收列表中最新包序号之前缺失的包序号,将缺失的包序号加入丢包消息;叶节点根据当前接收包编号、总包数和传输时隙时间,计算出根节点传输完成的时间T,在T到达后,说明根节点最后一包已经传输完成,如果叶节点没有接收到最后一包,则叶节点将自动统计缺失的包序号,将缺失的包序号加入丢包消息。
[0060] 5)叶节点丢包重传逻辑:当叶节点传输时隙到来时,如果节点差X大于丢包列表中丢包总数量M,叶节点按照丢包列表中编号的请求数量从高到低,依次重传数据包;如果节点差X小于丢包列表中丢包总数量M,叶节点按照丢包列表中排列第X位的包开始,按照请求数量从高到低,依次重传数据包。叶节点发送数据包后将已经发送的包编号从丢包列表中删除。其中数据包包含发送节点的编号。
[0061] 4.根节点或叶节点接收到所有叶节点的完成消息后,不再进行丢包重传,完成整个集群数据传输流程。
[0062] 值得说明的是:
[0063] 图2中,无节点差的丢包重传逻辑说明如下:在时隙1中,节点1根据丢包列表进行编号1数据重传,并删除丢包列表中已经发送包的编号;在时隙2中,按以下步骤实施,1.节点2、3、4接收到了编号1的包,将编号1加入接收列表,并更新丢包列表,2.节点2根据丢包列表进行编号3数据重传,并删除丢包列表中已经发送包的编号;在时隙3中,按以下步骤实施,1.节点1、3、4接收到了编号3的包,更新丢包列表,节点3、4将编号3加入接收列表,2.节点3根据丢包列表进行数据重传,并删除丢包列表中已经发送包的编号;在时隙4中,节点1、2、4接收到了编号4的包,更新丢包列表,节点4将编号4加入接收列表。
[0064] 图3中,丢包重传逻辑不考虑节点差的情况如下举例:最小节点差X=2,说明节点处理和传输时间>1个时隙时间;<2个时隙时间;在时隙1中,按以下步骤实施,1.节点3和节点4都接收到重传包1,两个节点都更新待重传包为3;2.节点3开始发送重传包3;在时隙2中,按以下步骤实施,1.节点3发送重传包仍然在处理和传输时间内,节点4无法接收到;2.节点4仍然发送重传包3。
[0065] 图4中,丢包重传逻辑考虑节点差的情况如下举例:最小节点差X=2,说明节点处理和传输时间>1个时隙时间;<2个时隙时间;在时隙1中,按以下步骤实施,1.时隙1中,节点3和节点4都接收到重传包1,两个节点都更新待重传包;2.节点3计算节点差=2,根据节点差预测前面节点已经发送了重传包3;3.节点3发送第2个重传包4;在时隙2中,按以下步骤实施,1.节点3发送重传包4仍然在处理和传输时间内,节点4无法在下一个时隙接收到重传包4;2.节点4计算节点差=3,根据节点差预测前面节点已经发送了重传包3和4;3.节点4发送第3个重传包5。
[0066] 本发明考虑整个集群节点资源利用问题,将整个集群节点不仅仅作为一个接收节点,同时也作为丢包重传节点,让每个组网周期内,动态进行丢包重传的处理逻辑在每个节点的传输时隙都能进行,高效利用的节点资源,缩短了丢包重传时间。
[0067] 本发明考虑了提高节点资源利用率的问题,在节点处理和传输时间大于1个以上时隙传输时间的情况下,时隙出现在这个处理和传输时间内的节点,由于没有接收到新的重传包,无法更新重传逻辑,将会重传同样的丢包,为了解决这个问题,节点都会根据最新接收到的重传包节点编号计算节点差,动态调整节点重传包开始位置,减少了节点处理时间内其他节点重复传输数据包的情况,提高了传输周期节点利用率。
[0068] 本发明让每个叶节点根据自身接收数据的情况,最大限度、最及时的将自己已有的、其他节点没有的数据发送出去,让每一个节点都及时实现部分数据重传业务,充分利用了每个组网周期内各个节点的传输时隙,考虑了自组网的信道传输特点,实现了集群数据传输的一种新模式,充分提高集群数据传输效能和组网带宽的利用率。
[0069] 本发明考虑到了整个集群节点中丢包请求量,重传时刻能够优先发送丢包请求量最高的包,优化量集群节点的资源利用率,能够减少后续节点空闲几率。
[0070] 本发明考虑到一个节点处理和数据传输时间中,其他后续节点时隙到达,已经开始进行数据处理。为了提高节点利用率,避免节点处理和传输时间内的节点重复发送丢包数据,增加节点编号差计算,让节点推算出到达自己时隙时,应该发送的数据包。以此提高整个集群节点的利用率。
[0071] 如上所述,可较好地实现本发明。
[0072] 本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
[0073] 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。