CN113315601B - 多点协助的数据传输方法、装置、存储介质及电子设备 - Google Patents
多点协助的数据传输方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113315601B CN113315601B CN202110492340.0A CN202110492340A CN113315601B CN 113315601 B CN113315601 B CN 113315601B CN 202110492340 A CN202110492340 A CN 202110492340A CN 113315601 B CN113315601 B CN 113315601B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- data encapsulation
- encapsulation packet
- packet
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0076—Distributed coding, e.g. network coding, involving channel coding
- H04L1/0077—Cooperative coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/02—Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
- H04B7/022—Site diversity; Macro-diversity
- H04B7/026—Co-operative diversity, e.g. using fixed or mobile stations as relays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1809—Selective-repeat protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
Abstract
本公开涉及一种多点协助的数据传输方法、装置、存储介质及电子设备,以提高数据传输的准确率。方法应用于无线自组网内的协助节点,包括:在接收到数据封装包的情况下,确定自身是否为所述数据封装包的目标接收节点;在确定自身不为所述数据封装包的目标接收节点的情况下,确定自身是否需要协助传输所述数据封装包;若确定自身需要协助传输所述数据封装包,则存储所述数据封装包;以及向所述目标接收节点传输所述数据封装包,其中,所述数据封装包包括数据内容。
Description
技术领域
本公开涉及通信技术领域,具体地,涉及一种多点协助的数据传输方法、装置、存储介质及电子设备。
背景技术
选择性自动重传请求(Automatic Repeat reQuest,ARQ)常作为无线通信点对点数据链路纠错的协议,其原理在于:数据发送方根据接收反馈状态,分析出错误传输的数据块并进行重传,数据接收方将重传数据块进行乱序重排,从而保障数据传输的可靠性。
发明内容
本公开的目的是提供一种多点协助的数据传输方法、装置、存储介质及电子设备,以提高数据传输的准确率,进而提高数据传输的效率。
为了实现上述目的,本公开第一方面提供一种多点协助的数据传输方法,应用于无线自组网内的协助节点,其中,无线自组网内的任意两个节点直接均可以进行通信,所述方法包括:
在接收到数据封装包的情况下,确定自身是否为所述数据封装包的目标接收节点;
在确定自身不为所述数据封装包的目标接收节点的情况下,确定自身是否需要协助传输所述数据封装包;
若确定自身需要协助传输所述数据封装包,则存储所述数据封装包;以及
向所述目标接收节点传输所述数据封装包,其中,所述数据封装包包括数据内容。
可选地,所述数据封装包中还包括目标接收节点标识;
所述在接收到数据封装包的情况下,确定自身是否为所述数据封装包的目标接收节点,包括:
在接收到数据封装包的情况下,根据自身标识和所述目标接收节点标识,确定自身是否为所述数据封装包的目标接收节点。
可选地,所述数据封装包还包括:协助节点标识和发送节点标识,所述在确定自身不为所述数据封装包的目标接收节点的情况下,确定自身是否需要协助传输所述数据封装包,包括:
在确定自身不为所述数据封装包的目标接收节点的情况下,根据所述协助节点标识、所述发送节点标识和自身标识,确定是否满足协助传输条件,其中,所述协助传输条件包括:所述发送节点标识与所述自身标识不一致,和所述发送节点标识与所述协助节点标识一致;
若满足所述协助传输条件,则确定自身需要协助传输所述数据封装包。
可选地,在存储所述数据封装包之前,所述方法还包括:
确定所述数据封装包未位于所述协助节点的协助缓存列表,其中,所述协助缓存列表存储有存储时长小于或等于预设时长的数据封装包;以及
记录存储所述数据封装包的时间和所述协助节点接收所述数据封装包时的当前的资源单元标识。
可选地,所述方法还包括:
接收所述目标接收节点发送的接收状态反馈信息;
根据所述接收状态反馈信息,从所述协助缓存列表中确定待重传的数据封装包;
向所述目标接收节点传输所述待重传的数据封装包;
其中,所述接收状态反馈信息是所述目标接收节点通过执行以下步骤确定的:
根据所述目标接收节点的当前资源单元标识、资源单元标识最大值以及预设的资源余量,确定本次反馈时的终止资源单元标识;
确定本次反馈时的终止资源单元标识和上一次反馈时的终止资源单元标识的差值,并在所述差值大于预设阈值时,将所述预设阈值确定为本次需要反馈的资源单元个数,以及根据本次需要反馈的资源单元个数和本次反馈时的终止资源单元标识,确定本次反馈时的起始资源单元标识;
确定位于所述起始资源单元标识和所述本次反馈时的终止资源单元标识之间的每一资源单元对应的接收状态,其中,所述接收状态包括成功接收到和未接收到;
按照预设的封装格式,对所述目标接收节点标识、所述起始资源单元标识、所述本次需要反馈的资源单元个数和所述每一资源单元对应的接收状态进行封装,以生成所述接收状态反馈信息。
可选地,所述根据所述接收状态反馈信息,从所述协助缓存列表中确定待重传的数据封装包,包括:
确定与所述目标接收节点标识对应的目标协助缓存列表;
根据所述接收资源单元的起始标识、本次需要反馈的接收资源单元个数以及每一接收资源单元对应的接收状态,遍历所述目标协助缓存列表中相应的数据封装包,以将接收状态为未接收到的接收资源单元对应的数据封装包确定为待重传的数据封装包。
可选地,所述向所述目标接收节点传输所述待重传的数据封装包,包括:
确定当前是否存在其他数据封装包需要传输;
若存在,则确定当前待传输的其他数据封装包与所述待重传的数据封装包是否来自同一发送节点;
若来自同一发送节点,则优先发送所述待重传的数据封装包;
若来自不同发送节点,则在发送所述当前待传输的其他数据封装包之后再发送所述待重传的数据封装包。
本公开第二方面还提供一种多点协助的数据传输装置,应用于无线自组网内的协助节点,其中,无线自组网内的任意两个节点直接均可以进行通信,所述装置包括:
第一确定模块,用于在接收到数据封装包的情况下,确定自身是否为所述数据封装包的目标接收节点;
第二确定模块,用于在确定自身不为所述数据封装包的目标接收节点的情况下,确定自身是否需要协助传输所述数据封装包;
第一存储模块,用于若确定自身需要协助传输所述数据封装包,则存储所述数据封装包;以及
第一传输模块,用于向所述目标接收节点传输所述数据封装包,其中,所述数据封装包包括数据内容。
本公开第三方面还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所提供的所述方法的步骤。
本公开第四方面还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所提供的所述方法的步骤。
通过上述技术方案,在数据传输过程中,首先,协助节点在接收到数据封装包且确定自身不为数据封装包的目标接收节点时,确定自身是否需要协助传输数据封装包,接着,在确定自身需要协助传输数据封装包的情况下,存储并传输数据封装包。如此,本公开提供的多点协助的数据传输方法可以充分利用到无线自组网分布式对等的连接关系,数据传输不再局限于收发节点而是扩展到周边空闲节点,大大提升了数据接收正确率。此外,协助节点在协助传输之前判断自身是否需要协助传输该数据封装包,避免数据包无效传输而引入的传输风暴。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种无线自组网内各节点之间通信的示意图。
图2是根据一示例性实施例示出的一种多点协助的数据传输方法的流程图。
图3是根据一示例性实施例示出的一种资源单元的示意图。
图4是根据一示例性实施例示出的一种封装格式的示意图。
图5是根据一示例性实施例示出的另一种多点协助的数据传输方法的流程图。
图6是根据一示例性实施例示出的另一种封装格式的示意图。
图7是根据一示例性实施例示出的一种多点协助的数据传输装置的框图。
图8是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
在详细介绍本公开所提供的多点协助的数据传输方法之前,首先,对本公开所提供的多点协助的数据传输方法的应用场景进行说明。图1是根据一示例性实施例示出的一种无线自组网内各节点之间通信的示意图。在图1中,无线自组网内的任意两个节点之间均可以进行通信,即,位于同一无线自组网内的节点A发送的数据既可以被数据接收方D接收到,也可以被节点A周围的其他节点B、和C接收。如图1所示,节点A为发送节点、节点D为接收节点、节点B和节点C为协助节点,用于协助发送节点A将数据传输给接收节点D。示例地,发送节点A分别向节点B、节点C和节点D传输数据块或者重传数据块,节点B和节点C也能够向节点D传输数据块或者重传数据块,节点D分别向节点A、节点B和节点C发送反馈信息,以反馈自身是否接收到数据。
下面对本公开所提供的多点协助的数据传输方法进行详细说明。
图2是根据一示例性实施例示出的一种多点协助的数据传输方法的流程图,该方法应用于无线自组网内的协助节点,例如,图1中的节点B或节点C。如图2所示,该数据传输方法可以包括以下步骤。
在步骤201中,在接收到数据封装包的情况下,确定自身是否为数据封装包的目标接收节点。
在实际应用中,同一发送节点可以向不同的接收节点传输数据封装包,而协助节点也有可能是用于接收发送节点传输的数据的接收节点,如果该协助节点为接收节点,则该节点直接接收数据即可,无需进行后续的协助传输,因此,在本公开中,协助节点在接收到数据封装包的情况下,需要确定自身是否为该数据封装包的目标接收节点。
在一种实施例中,该数据封装包是由发送节点发送的,例如图1中的发送节点A。示例地,发送节点A有数据需要发送的时候,首先会在其当前资源单元(例如,可以是时间资源期间)内检测下一个资源单元是否能发送数据。图3是根据一示例性实施例示出的一种资源单元的示意图。如图3所示,资源单元标识在1~N之间循环使用,则资源单元标识最大值为N。假设当前的资源单元为第i个资源单元,则在第i个资源单元内检测第i+1个资源单元是否能够发送数据,其中,i的取值范围为[1,N-1]。示例地,若下一个资源单元属于该发送节点A,则确定在下一个资源单元内可以发送数据,否则不能发送数据。
之后,在确定能够发送数据的情况下,发送节点A可以按照预设的封装格式进行封装,以得到数据封装包。图4是根据一示例性实施例示出的一种封装格式的示意图。示例地,发送节点A可以将自身标识分别写入图4中协助节点指示区域和发送节点指示区域,同时,发送节点A还会将接收该数据封装包的目标接收节点标识写入图4中的接收节点指示区域,以及,将待发送的数据内容写入图4中的数据块内容区域。
此外,考虑到针对每一数据块,如果首次发送时接收节点未成功接收到还需重新发送,因此,需按照发送的先后顺序对数据块进行编号,例如,根据发送的先后顺序按照升序的方式进行编写序号,这样,便于后续重发时快速准确地确定出需要重发的数据块。因此,在该实施例中,还可以将数据块序号写入图4中的数据块序号指示区域内。
如此,发送节点在按照上述方式生成数据封装包之后,发送该数据封装包,此时,位于该发送节点周围的其他节点即可接收到该数据封装包。
值得说明的是,发送节点在将数据封装包发送出去时,还可以记录下发送该数据封装包的资源单元的信息,该信息可以包括该资源单元所属的资源单元的标识(即,资源单元的编号)和该数据封装包的目标接收节点标识。
示例地,由于数据封装包中包括有目标接收节点标识,因此,在协助节点接收到该数据封装包时可以根据自身标识和数据封装包中包括的目标接收节点标识,确定自身是否为该数据封装包的目标接收节点。示例地,如果自身标识与目标接收节点标识一致,则确定自身为数据封装包的目标接收节点,否则确定自身不为数据封装包的目标接收节点,并进一步执行步骤202。
在步骤202中,在确定自身不为数据封装包的目标接收节点的情况下,确定自身是否需要协助传输数据封装包。
在实际应用中,无线自组网内存在多个节点,针对同一发送节点发送的数据封装包,可能有多个协助节点接收到,如果每一协助节点均对其接收到的数据封装包进行协助传输,将会导致数据封装包的无效传输,从而导致传输风暴,并且,还会导致目标接收节点重复接收到该数据封装包。因此,在本公开中,每一协助节点在接收数据封装包且确定自身不为该数据封装包的目标接收节点的情况下,需要先确定自身是否需要协助传输该数据封装包。
示例地,上述步骤202的具体实施方法可以为:首先,根据数据封装包中包括的协助节点标识、发送节点标识和自身标识,确定是否满足协助传输条件,其中,协助传输条件包括数据封装包中包括的发送节点标识与自身标识不一致,和发送节点标识与所述协助节点标识一致。之后,若满足协助传输条件,则确定自身需要协助传输数据封装包。
在本公开中,数据封装包中包括的发送节点标识与自身标识一致,表明该数据封装包是自身发送的不需要协助传输,可以直接丢弃该数据封装包。
值得说明的是,如上所述,发送节点在生成数据封装包时,会将发送节点标识写入协助节点指示区域和发送节点指示区域。当有协助节点接收到发送节点发送的数据封装包时,会将协助节点指示区域内的标识修改为自身的标识,即,协助节点的标识,并将修改后的数据封装包发送出去。也即是说,如果协助节点接收到的数据封装包中的发送节点标识与协助节点标识一致,则表明该数据封装包是由发送节点发送的。如果协助节点接收到的数据封装包中发送节点标识与协助节点标识不一致,则表明该数据封装包是由别的协助节点传输的,此时,由于已经有别的协助节点进行协助传输了,该协助节点就无需对协助重传包再进行协助传输。
示例地,假设图1中的协助节点B接收到的数据封装包中的发送节点标识与协助节点标识一致,则表明该数据封装包是由发送节点A发送的,此时,协助节点B需要协助传输该数据封装包。如果协助节点B接收到的数据封装包中的发送节点标识与协助节点标识不一致,则表明该数据封装包是由协助节点C发送的,此时,协助节点C已经开始协助传输该数据封装包,因此,协助节点B无需再协助传输该数据封装包,以避免导致传输风暴。即,协助节点B在确定自身不需要协助传输数据封装包时,可以直接丢弃该数据封装包。
在步骤203中,若确定自身需要协助传输数据封装包,则存储数据封装包。
在确定自身需要协助传输数据封装包时,协助节点可以先将该数据封装包存储起来,以便后续在目标接收节点未成功接收到该数据封装包时,可以重新向目标接收节点传输。
值得说明的是,该数据封装包也有可能是发送节点再次发送的,即,协助节点可能已经存储有该数据封装包,因此,为了避免协助节点重复存储同一数据封装包,从而导致占用较大存储空间的弊端,本公开在存储该数据封装包之前,需要确定协助节点是否已经存储有该数据封装包。在确定数据封装包未位于协助节点的协助缓存列表后,再存储数据封装包。其中,该协助缓存列表存储有存储时长小于或等于预设时长的数据封装包。
示例地,协助节点在确定存储该数据封装包时还需记录存储该据封装包的时间和协助节点接收该数据封装包时的当前的资源单元标识。
其中,记录存储该据封装包的时间,便于协助节点可以周期性的检测协助缓存列表,以将存储时长大于预设时长的数据封装包删除,以使协助缓存列表仅存储存储时长小于或等于预设时长的数据封装包。
值得说明的是,在本公开中,还可以将数据封装包中的协助节点标识、发送节点标识、目标接收节点标识和数据块序号合成唯一的标识UID,之后,将UID存储在协助缓存列表中。这样,可以进一步减少协助缓存列表的占用空间。
在步骤204中,向目标接收节点传输数据封装包,其中,数据封装包包括数据内容。
值得说明的是,本公开对步骤203和步骤204的执行顺序不作限制。示例地,可以先执行步骤203再执行步骤204,或者,先执行步骤204再执行步骤203,又或者,可以同时执行步骤203和步骤204。
值得说明的是,目标接收节点在每一次接收到数据封装包时都会记录下当前接收资源单元的信息,该信息可以包括资源单元序号。
采用上述技术方案,在数据传输过程中,首先,协助节点在接收到数据封装包且确定自身不为数据封装包的目标接收节点时,确定自身是否需要协助传输数据封装包,接着,在确定自身需要协助传输数据封装包的情况下,存储并传输数据封装包。如此,本公开提供的多点协助的数据传输方法可以充分利用到无线自组网分布式对等的连接关系,数据传输不再局限于收发节点而是扩展到周边空闲节点,大大提升了数据接收正确率。此外,协助节点在协助传输之前判断自身是否需要协助传输该数据封装包,避免数据包无效传输而引入的传输风暴。
此外,协助节点虽然可以协助发送节点向目标接收节点传输数据封装包,但是,在实际应用中,目标接收节点可能并未成功收到发送节点和/或协助节点传输的数据封装包,从而需要发送节点和/或协助节点重新发送数据封装包。在相关技术中,采用点对点的方式进行数据传输,即,仅通过发送节点向接收节点重传数据,如此,导致接收节点成功接收到数据的概率较低。鉴于此,在本公开中,还可以采用多点协助的方式进行数据重传,即,本公开所提供的多点协助的数据传输方法还可以应用在数据重传场景下。
示例地,图5是根据一示例性实施例示出的另一种多点协助的数据传输方法的流程图。如图5所示,该方法除了可以包括图2中的步骤201至步骤204之外,还可以包括以下步骤。
在步骤205中,接收目标接收节点发送的接收状态反馈信息。
在本公开中,目标接收节点会将先前一段时间接收数据的状态反馈给发送节点和/或协助节点。示例地,目标接收节点检测到有空闲资源单元且当前时刻距离上一次反馈时间超过反馈周期时,生成状态反馈信息。其中,该状态反馈信息是目标接收节点通过执行以下步骤确定的:
(1)根据目标接收节点的当前资源单元标识、资源单元标识最大值以及预设的资源余量,确定本次反馈时的终止资源单元标识。
例如,可以通过以下公式:终止资源单元标识eRBN=(资源单元标识最大值+当前资源单元标识-预设的资源余量)%资源单元标识最大值,得到终止资源单元标识eRBN。其中,%表征取模运算。
(2)获取上一次反馈时的终止资源单元标识,并确定本次反馈时的终止资源单元标识和上一次反馈时的终止资源单元标识的差值,并在该差值大于预设阈值时,将预设阈值确定为本次需要反馈的资源单元个数DiRBN,之后,并根据本次需要反馈的资源单元个数DiRBN和本次反馈时的终止资源单元标识eRBN,重新确定本次反馈时的起始资源单元标识sRBN=(eRBN+资源单元标识最大值-DiRBN)%资源单元标识最大值。
(3)确定位于起始资源单元标识和本次反馈时的终止资源单元标识之间的每一资源单元对应的接收状态,其中,接收状态包括成功接收到和未接收到。
示例地,目标接收节点遍历起始资源单元标识和本次反馈时的终止资源单元标识之间每一资源单元对应的接收状态,当某一标识对应的资源单元中存在成功接收的数据时,认为目标接收节点在该资源单元内成功接收到了数据。当某一标识对应的资源单元不存在数据时,认为目标接收节点在该资源单元内未接收到数据。
(4)按照预设的封装格式,对目标接收节点标识、起始资源单元标识、本次需要反馈的资源单元个数和每一资源单元对应的接收状态进行封装,以生成接收状态反馈信息。
示例地,图6是根据一示例性实施例示出的另一种封装格式的示意图。在图6中,将目标接收节点标识写入接收节点指示区域、将起始资源单元标识写入起始资源单元指示区域、将资源单元数量写入检测资源单元个数指示区域、将每一资源单元对应的接收状态写入每一资源单元接收状态的比特映射区域,以生成接收状态反馈信息。例如,可以将接收状态为成功接收的资源单元对应的接收状态映射区域中的相应比特设置为1,将接收状态为未接收到的资源单元对应的接收状态映射区域中的相应比特设置为0。
目标接收节点在按照上述方式生成接收状态反馈信息之后,可以将接收状态反馈信息发送出去,以使发送节点和/或协助节点接收到该接收状态反馈信息。
在步骤206中,根据接收状态反馈信息,从协助缓存列表中确定待重传的数据封装包。
值得说明的是,同一协助节点可以向不同的接收节点协助传输数据,即,同一协助节点内可以存储不同接收节点对应的数据封装包,因此,在从协助缓存列表中确定待重传的数据封装包时,首先需要从协助节点中确定出发送接收状态反馈信息的目标接收节点对应的目标协助缓存列表。示例地,该接收状态反馈信息中封装有目标接收节点标识,根据该目标接收节点标识确定其对应的目标协助缓存列表,该目标协助缓存列表存储有接收节点为该目标接收节点的数据封装包。
接着,根据接收状态反馈信息中封装的接收资源单元的起始标识、本次需要反馈的接收资源单元个数以及每一接收资源单元对应的接收状态,遍历目标协助缓存列表中相应的数据封装包,以将接收状态为未接收到的接收资源单元对应的数据封装包确定为待重传的数据封装包。
示例地,假设接收状态反馈信息中封装的接收资源单元的起始标识为1,本次需要反馈的接收资源单元个数为10,则接收资源单元1、接收资源单元2至接收资源单元10中只有接收资源单元3和接收资源单元5的接收状态为未接收到,如此,在遍历目标协助缓存列表中相应的数据封装包,可以将目标协助缓存列表中接收资源单元3和接收资源单元5对应的数据封装包确定为待重传的数据封装包。
在确定出待重传的数据封装包之后,可以按照待重传的数据封装包的编号大小依次添加至协助重传fifo队列中。例如,将接收资源单元3对应的数据封装包先添加到协助重传fifo队列中,之后,再将接收资源单元5对应的数据封装包添加到协助重传fifo队列中。
在步骤207中,向目标接收节点传输待重传的数据封装包。
在确定出待重传的数据封装包之后,可以按照协助重传fifo队列中记录的待重传的数据封装包的先后顺序,依次向目标接收节点传输待重传的数据封装包。示例地,先发送接收资源单元3对应的数据封装包,之后再发送接收资源单元5对应的数据封装包。
在实际应用中,协助节点除了需要传输待重传的数据封装包之外,可能当前还需要传输其他数据封装包,该其他数据封装包可以是第一次传输或协助传输的数据封装包。因此,在该情况下,需要设置传输优先级,才能确保有序传输。
示例地,步骤207向目标接收节点传输待重传的数据封装包的具体实施方式可以为:
首先,确定当前是否存在其他数据封装包需要传输。即,确定在当前可用的资源单元内是否还需要传输其他数据封装包。在确定不存在的情况下,可以直接传输该待重传的数据封装包。
在确定存在的情况下,则进一步确定当前待传输的其他数据封装包与待重传的数据封装包是否来自同一发送节点。值得说明的是,无论是第一次传输的数据封装包还是重传的数据封装包,其内均封装有发送节点标识,因此,可以根据数据封装包内封装的发送节点标识确定当前待传输的其他数据封装包与待重传的数据封装包是否来自同一发送节点。例如,若两者封装的发送节点标识一致,则确定两者来自同一发送节点,否则确定两者来自不同发送节点。
之后,若确定来自同一发送节点,则优先发送待重传的数据封装包。在该情况下,两者来自同一发送节点,表明存在路由切换,此时需要优先发送待重传的数据封装包。若确定来自不同发送节点,则优先发送当前待传输的其他数据封装包,之后,再发送待重传的数据封装包。
如此,协助节点依据待重传的数据封装包和当前待传输的其他数据封装包的发送节点来区别传输优先级,保障网络数据传输的公平性和有效性。
示例地,假设发送节点A和接收节点D的信道传输状态为0.7,协助节点B、协助节点C和接收节点D的信道传输状态分别为0.7,0.8,数据重传顺序为发送节点A,协助节点B和协助节点C,则1次重传后接收节点D正确接收到数据的概率为0.7+0.3*0.7+0.3*0.3*0.7+0.3*0.3*0.3*0.8=0.9946。而采用相关技术中点对点的方式进行数据重传时,1次重传后接收节点D正确接收到数据的概率为0.7+0.3*0.7=0.91,即,采用本公开提供的多点协助的数据传输方法进行数据重传时,1次重传后接收节点D正确接收到数据的概率提升了0.0846。
因此,采用本公开提供的多点协助的数据传输方法进行数据重传,可以提升接收节点接收数据的准确率,进而提高了数据传输的效率。
此外,值得说明的是,针对任一数据封装包,发送节点或协助节点在每发送一次该数据封装包时,都会将数据封装包的重传次数加1,其中,数据封装包的初始重传次数为0。这样,在重传过程中,如果该数据封装包的重传次数超过设数值,则丢弃该数据封装包,并结束重传,如果未超过设数值,则继续重传。
基于同一发明构思,本公开还提供一种多点协助的数据传输装置。图7是根据一示例性实施例示出的一种多点协助的数据传输装置的框图,应用于无线自组网内的协助节点,其中,无线自组网内的任意两个节点直接均可以进行通信。如图7所示,该多点协助的数据传输装置700可以包括:
第一确定模块701,用于在接收到数据封装包的情况下,确定自身是否为所述数据封装包的目标接收节点;
第二确定模块702,用于在确定自身不为所述数据封装包的目标接收节点的情况下,确定自身是否需要协助传输所述数据封装包;
第一存储模块703,用于若确定自身需要协助传输所述数据封装包,则存储所述数据封装包;以及
第一传输模块704,用于向所述目标接收节点传输所述数据封装包,其中,所述数据封装包包括数据内容。
可选地,所述数据封装包中还包括目标接收节点标识;所述第一确定模块701包括:
第一确定子模块,用于在接收到数据封装包的情况下,根据自身标识和所述目标接收节点标识,确定自身是否为所述数据封装包的目标接收节点。
可选地,所述数据封装包还包括:协助节点标识和发送节点标识,所述第二确定模块702包括:
第二确定子模块,用于在确定自身不为所述数据封装包的目标接收节点的情况下,根据所述协助节点标识、所述发送节点标识和自身标识,确定是否满足协助传输条件,其中,所述协助传输条件包括:所述发送节点标识与所述自身标识不一致,和所述发送节点标识与所述协助节点标识一致;
第三确定子模块,用于若满足所述协助传输条件,则确定自身需要协助传输所述数据封装包。
可选地,所述装置还包括:
第三确定模块,用于确定所述数据封装包未位于所述协助节点的协助缓存列表,其中,所述协助缓存列表存储有存储时长小于或等于预设时长的数据封装包;以及
记录模块,用于记录存储所述数据封装包的时间和所述协助节点接收所述数据封装包时的当前的资源单元标识。
可选地,所述装置还包括:
接收模块,用于接收所述目标接收节点发送的接收状态反馈信息;
第四确定模块,用于根据所述接收状态反馈信息,从所述协助缓存列表中确定待重传的数据封装包;
第二传输模块,用于向所述目标接收节点传输所述待重传的数据封装包;
其中,所述接收状态反馈信息是所述目标接收节点通过执行以下步骤确定的:
根据所述目标接收节点的当前资源单元标识、资源单元标识最大值以及预设的资源余量,确定本次反馈时的终止资源单元标识;
确定本次反馈时的终止资源单元标识和上一次反馈时的终止资源单元标识的差值,并在所述差值大于预设阈值时,将所述预设阈值确定为本次需要反馈的资源单元个数,以及根据本次需要反馈的资源单元个数和本次反馈时的终止资源单元标识,确定本次反馈时的起始资源单元标识;
确定位于所述起始资源单元标识和所述本次反馈时的终止资源单元标识之间的每一资源单元对应的接收状态,其中,所述接收状态包括成功接收到和未接收到;
按照预设的封装格式,对所述目标接收节点标识、所述起始资源单元标识、所述本次需要反馈的资源单元个数和所述每一资源单元对应的接收状态进行封装,以生成所述接收状态反馈信息。
可选地,所述第四确定模块包括:
第四确定子模块,用于确定与所述目标接收节点标识对应的目标协助缓存列表;
遍历子模块,用于根据所述接收资源单元的起始标识、本次需要反馈的接收资源单元个数以及每一接收资源单元对应的接收状态,遍历所述目标协助缓存列表中相应的数据封装包,以将接收状态为未接收到的接收资源单元对应的数据封装包确定为待重传的数据封装包。
可选地,所述第二传输模块包括:
第五确定子模块,用于确定当前是否存在其他数据封装包需要传输;
第六确定子模块,用于若存在,则确定当前待传输的其他数据封装包与所述待重传的数据封装包是否来自同一发送节点;
第一发送子模块,用于若来自同一发送节点,则优先发送所述待重传的数据封装包;
第二发送子模块,用于若来自不同发送节点,则在发送所述当前待传输的其他数据封装包之后再发送所述待重传的数据封装包。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种电子设备的框图。如图8所示,该电子设备800可以包括:处理器801,存储器802。该电子设备800还可以包括多媒体组件803,输入/输出(I/O)接口804,以及通信组件805中的一者或多者。
其中,处理器801用于控制该电子设备800的整体操作,以完成上述的多点协助的数据传输方法中的全部或部分步骤。存储器802用于存储各种类型的数据以支持在该电子设备800的操作,这些数据例如可以包括用于在该电子设备800上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件803可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器802或通过通信组件805发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口804为处理器801和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件805用于该电子设备800与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件805可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的多点协助的数据传输方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的多点协助的数据传输方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器802,上述程序指令可由电子设备800的处理器801执行以完成上述的多点协助的数据传输方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的多点协助的数据传输方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,例如。。。。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (9)
1.一种多点协助的数据传输方法,其特征在于,应用于无线自组网内的协助节点,其中,无线自组网内的任意两个节点均能够进行通信,所述方法包括:
在接收到数据封装包的情况下,确定自身是否为所述数据封装包的目标接收节点;
在确定自身不为所述数据封装包的目标接收节点的情况下,确定自身是否需要协助传输所述数据封装包;
若确定自身需要协助传输所述数据封装包,则存储所述数据封装包;以及
向所述目标接收节点传输所述数据封装包,其中,所述数据封装包包括数据内容;
其中,所述数据封装包还包括:协助节点标识和发送节点标识,所述在确定自身不为所述数据封装包的目标接收节点的情况下,确定自身是否需要协助传输所述数据封装包,包括:
在确定自身不为所述数据封装包的目标接收节点的情况下,根据所述协助节点标识、所述发送节点标识和自身标识,确定是否满足协助传输条件,其中,所述协助传输条件包括:所述发送节点标识与所述自身标识不一致,和所述发送节点标识与所述协助节点标识一致;
若满足所述协助传输条件,则确定自身需要协助传输所述数据封装包。
2.根据权利要求1所述的方法,其特征在于,所述数据封装包中还包括目标接收节点标识;
所述在接收到数据封装包的情况下,确定自身是否为所述数据封装包的目标接收节点,包括:
在接收到数据封装包的情况下,根据自身标识和所述目标接收节点标识,确定自身是否为所述数据封装包的目标接收节点。
3.根据权利要求1所述的方法,其特征在于,在存储所述数据封装包之前,所述方法还包括:
确定所述数据封装包未位于所述协助节点的协助缓存列表,其中,所述协助缓存列表存储有存储时长小于或等于预设时长的数据封装包;以及
记录存储所述数据封装包的时间和所述协助节点接收所述数据封装包时的当前的资源单元标识。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收所述目标接收节点发送的接收状态反馈信息;
根据所述接收状态反馈信息,从所述协助缓存列表中确定待重传的数据封装包;
向所述目标接收节点传输所述待重传的数据封装包;
其中,所述接收状态反馈信息是所述目标接收节点通过执行以下步骤确定的:
根据所述目标接收节点的当前资源单元标识、资源单元标识最大值以及预设的资源余量,确定本次反馈时的终止资源单元标识;
确定本次反馈时的终止资源单元标识和上一次反馈时的终止资源单元标识的差值,并在所述差值大于预设阈值时,将所述预设阈值确定为本次需要反馈的资源单元个数,以及根据本次需要反馈的资源单元个数和本次反馈时的终止资源单元标识,确定本次反馈时的起始资源单元标识;
确定位于所述起始资源单元标识和所述本次反馈时的终止资源单元标识之间的每一资源单元对应的接收状态,其中,所述接收状态包括成功接收到和未接收到;
按照预设的封装格式,对所述目标接收节点标识、所述起始资源单元标识、所述本次需要反馈的资源单元个数和所述每一资源单元对应的接收状态进行封装,以生成所述接收状态反馈信息。
5.根据权利要求4所述的方法,其特征在于,所述根据所述接收状态反馈信息,从所述协助缓存列表中确定待重传的数据封装包,包括:
确定与所述目标接收节点标识对应的目标协助缓存列表;
根据所述起始资源单元标识、本次需要反馈的资源单元个数以及每一资源单元对应的接收状态,遍历所述目标协助缓存列表中相应的数据封装包,以将接收状态为未接收到的资源单元对应的数据封装包确定为待重传的数据封装包。
6.根据权利要求4或5所述的方法,其特征在于,所述向所述目标接收节点传输所述待重传的数据封装包,包括:
确定当前是否存在其他数据封装包需要传输;
若存在,则确定当前待传输的其他数据封装包与所述待重传的数据封装包是否来自同一发送节点;
若来自同一发送节点,则优先发送所述待重传的数据封装包;
若来自不同发送节点,则在发送所述当前待传输的其他数据封装包之后再发送所述待重传的数据封装包。
7.一种多点协助的数据传输装置,其特征在于,应用于无线自组网内的协助节点,其中,无线自组网内的任意两个节点均能够进行通信,所述装置包括:
第一确定模块,用于在接收到数据封装包的情况下,确定自身是否为所述数据封装包的目标接收节点;
第二确定模块,用于在确定自身不为所述数据封装包的目标接收节点的情况下,确定自身是否需要协助传输所述数据封装包;
第一存储模块,用于若确定自身需要协助传输所述数据封装包,则存储所述数据封装包;以及
第一传输模块,用于向所述目标接收节点传输所述数据封装包,其中,所述数据封装包包括数据内容;
其中,所述数据封装包还包括:协助节点标识和发送节点标识,所述第二确定模块包括:
第二确定子模块,用于在确定自身不为所述数据封装包的目标接收节点的情况下,根据所述协助节点标识、所述发送节点标识和自身标识,确定是否满足协助传输条件,其中,所述协助传输条件包括:所述发送节点标识与所述自身标识不一致,和所述发送节点标识与所述协助节点标识一致;
第三确定子模块,用于若满足所述协助传输条件,则确定自身需要协助传输所述数据封装包。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。
9.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110492340.0A CN113315601B (zh) | 2021-05-06 | 2021-05-06 | 多点协助的数据传输方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110492340.0A CN113315601B (zh) | 2021-05-06 | 2021-05-06 | 多点协助的数据传输方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113315601A CN113315601A (zh) | 2021-08-27 |
CN113315601B true CN113315601B (zh) | 2022-09-30 |
Family
ID=77371712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110492340.0A Active CN113315601B (zh) | 2021-05-06 | 2021-05-06 | 多点协助的数据传输方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113315601B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102438283A (zh) * | 2011-12-30 | 2012-05-02 | 华北电网有限公司通信管理中心 | 一种基于自组网的协作通信方法及系统 |
CN107689927A (zh) * | 2017-09-27 | 2018-02-13 | 深圳市盛路物联通讯技术有限公司 | 一种异步数据传输方法和系统 |
CN107733589A (zh) * | 2017-09-29 | 2018-02-23 | 上海金卓网络科技有限公司 | 自组网自动重传请求的实现方法、装置、设备以及存储介质 |
CN108631824A (zh) * | 2017-03-20 | 2018-10-09 | 华为技术有限公司 | 一种数据传输方法、通信设备和数据传输系统 |
CN111787593A (zh) * | 2019-04-03 | 2020-10-16 | 电信科学技术研究院有限公司 | 一种数据传输方法及节点 |
WO2021027467A1 (zh) * | 2019-08-13 | 2021-02-18 | 大唐高鸿数据网络技术股份有限公司 | 资源占用状态的确定方法、装置及终端 |
-
2021
- 2021-05-06 CN CN202110492340.0A patent/CN113315601B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102438283A (zh) * | 2011-12-30 | 2012-05-02 | 华北电网有限公司通信管理中心 | 一种基于自组网的协作通信方法及系统 |
CN108631824A (zh) * | 2017-03-20 | 2018-10-09 | 华为技术有限公司 | 一种数据传输方法、通信设备和数据传输系统 |
CN107689927A (zh) * | 2017-09-27 | 2018-02-13 | 深圳市盛路物联通讯技术有限公司 | 一种异步数据传输方法和系统 |
CN107733589A (zh) * | 2017-09-29 | 2018-02-23 | 上海金卓网络科技有限公司 | 自组网自动重传请求的实现方法、装置、设备以及存储介质 |
CN111787593A (zh) * | 2019-04-03 | 2020-10-16 | 电信科学技术研究院有限公司 | 一种数据传输方法及节点 |
WO2021027467A1 (zh) * | 2019-08-13 | 2021-02-18 | 大唐高鸿数据网络技术股份有限公司 | 资源占用状态的确定方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN113315601A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI387256B (zh) | 改善傳輸時間間隔集束傳輸之方法及通訊裝置 | |
JP5308802B2 (ja) | Canノード | |
TWI259674B (en) | Method and apparatus for reducing transmission errors in a third generation cellular system | |
KR100635012B1 (ko) | 이동 통신 시스템에서 자동 재전송 요청을 위한 피드백메시지 생성 방법 | |
US10291482B2 (en) | ECU for transmitting large data in HiL test environment, system including the same and method thereof | |
US9197373B2 (en) | Method, apparatus, and system for retransmitting data packet in quick path interconnect system | |
KR100772528B1 (ko) | 유/무선 네트워크에서 효율적인 패킷 재전송 방법 및 장치 | |
US20060245430A1 (en) | Method and Apparatus of a Procedure for Receiving Window Size Reconfiguration in a Communication System | |
EP2978171B1 (en) | Communication method, communication device, and communication program | |
JP7327730B2 (ja) | パケット処理方法および装置 | |
JP2010011296A (ja) | 送受信回路、送信回路及び送受信方法 | |
US7653060B2 (en) | System and method for implementing ASI over long distances | |
JP2010135909A (ja) | 無線通信装置および無線通信方法 | |
JP2016208193A (ja) | 基地局及び通信制御方法 | |
CN109981385B (zh) | 一种实现丢包检测的方法、装置和系统 | |
JP2016518749A (ja) | 限定されたharqプロセスを伴う分散型ネットワークトポロジにおけるより多くの伝送機会を使用するための方法および装置 | |
WO2021204091A1 (zh) | 一种清空缓存的方法及装置 | |
JP4772553B2 (ja) | データ送受信装置及びデータ送受信方法 | |
US6925096B2 (en) | Method and apparatus for managing traffic flows | |
EP3672189B1 (en) | Data transmission method, device and system | |
CN113315601B (zh) | 多点协助的数据传输方法、装置、存储介质及电子设备 | |
JP2016174211A (ja) | 通信システム | |
JP4890909B2 (ja) | 通信システム及び通信方法。 | |
CN116032421B (zh) | 以太网链路控制装置和存储介质 | |
JP3148733B2 (ja) | 信号処理装置及び信号処理システム |
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 |