CN117834320A - 一种基于接收方确认最大可靠帧的可靠性组播方法和系统 - Google Patents
一种基于接收方确认最大可靠帧的可靠性组播方法和系统 Download PDFInfo
- Publication number
- CN117834320A CN117834320A CN202311861426.1A CN202311861426A CN117834320A CN 117834320 A CN117834320 A CN 117834320A CN 202311861426 A CN202311861426 A CN 202311861426A CN 117834320 A CN117834320 A CN 117834320A
- Authority
- CN
- China
- Prior art keywords
- frame
- receiver
- sequence number
- sender
- reliability
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012790 confirmation Methods 0.000 title claims abstract description 12
- 238000004891 communication Methods 0.000 claims abstract description 54
- 230000008569 process Effects 0.000 claims abstract description 11
- 230000004044 response Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 23
- 239000000284 extract Substances 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 35
- 230000000694 effects Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 7
- 239000002699 waste material Substances 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1868—Measures taken after transmission, e.g. acknowledgments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1881—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
Abstract
本发明提出了一种基于接收方确认最大可靠帧的可靠性组播方法和系统。所述基于接收方确认最大可靠帧的可靠性组播方法包括:对发送方和接收方的通信信道和组播组进行初始化;控制发送方周期性的向所述组模组进行帧数据发送,并将已发送的帧数据存储至发送方的帧缓存中;其中,每个帧数据包含一个唯一的序列号;接收方在接收到帧数据之后对帧数据的序列号进行判断和NAK处理,并启动定时器;在接收方启动的定时器完成定时时,所述接收方进行最大可靠帧序列号更新;在最大可靠帧序列号更新后,接收方控制所述发送方进行内存释放。所述系统包括与所述方法步骤对应的模块。
Description
技术领域
本发明提出了一种基于接收方确认最大可靠帧的可靠性组播方法和系统,属于数据传输技术领域。
背景技术
当前已有的可靠性组播方案中,使用组播重传机制发送丢失帧的前提是,发送方仍保存着已经发送的帧,在接收到NAK信号时进行帧的重传。但是,现有技术中发送方只是基于NAK来重传包,但是不知道所有接收方都已经接收到的可靠帧的最高序号,因此无从判断是否要删除哪些帧来释放内存,这将会导致随着运行时间的增长而对内存的占用量越来越多。
发明内容
本发明提供了一种基于接收方确认最大可靠帧的可靠性组播方法和系统,用以解决内存的占用量越来越多导致内存占用量较大,内存不足的问题,所采取的技术方案如下:
一种基于接收方确认最大可靠帧的可靠性组播方法,所述基于接收方确认最大可靠帧的可靠性组播方法包括:
对发送方和接收方的通信信道和组播组进行初始化;
控制发送方周期性的向所述组模组进行帧数据发送,并将已发送的帧数据存储至发送方的帧缓存中;其中,每个帧数据包含一个唯一的序列号;
接收方在接收到帧数据之后对帧数据的序列号进行判断和NAK处理,并启动定时器;
在接收方启动的定时器完成定时时,所述接收方进行最大可靠帧序列号更新;
在最大可靠帧序列号更新后,接收方控制所述发送方进行内存释放。
进一步地,对发送方和接收方的通信信道和组播组进行初始化,包括:
在发送方和接收方之间建立通信通道,并对发送方和接收方之间的通信通道进行初始化;
针对发送方和组播组,并将所述接收方加入至组播组;
针对所述发送方的组播组进行初始化;
初始化发送方的帧缓存,用于存储已发送但未确认的帧,同时维护帧的序列号;
初始化发送方的计数器和标志,用于跟踪响应次数和最大可靠帧的确认。
进一步地,接收方在接收到帧数据之后对帧数据的序列号进行判断和NAK处理包括:
接收方收到帧数据后,检查帧数据的序列号;
如果接收到的帧数据的序列号比之前收到的最大可靠帧序列号更大,则将该帧序列号更新为最大可靠帧序列号;
如果接收到的帧数据的序列号小于或等于最大可靠帧序列号,则所述帧数据进行丢弃;
当接收方检测到缺失的帧时,则向组播组内的所有成员发送一个NAK请求,请求协商所有人当前的最大可靠帧序列号,并且,所述NAK请求携带了两个序列号;其中,所述两个序列号为本机已经接收的可靠帧的最高序列号seq1和需要重传的帧的序列号seq2;
接收方在发送NAK请求后,启动定时器。
进一步地,在接收方启动的定时器完成定时时,所述接收方进行最大可靠帧序列号更新,包括:
当定时器完成时,接收方完成接收其他成员的最大可靠帧序列号;
接收方将所有收到的最大可靠帧序列号进行比较,以确定最小的最大可靠帧序列号min_seq1。
进一步地,在最大可靠帧序列号更新后,接收方控制所述发送方进行内存释放,包括:
接收方向发送方发送一个携带min_seq1和seq2的NAK请求;
发送方在收到NAK请求后,提取请求中的min_seq1和seq2信息,并根据所述请求中的min_seq1和seq2信息来重传丢失的帧数据;
发送方根据请求中的seq1来释放内存中小于等于seq1的帧数据。
一种基于接收方确认最大可靠帧的可靠性组播系统,所述基于接收方确认最大可靠帧的可靠性组播系统包括:
初始化模块,用于对发送方和接收方的通信信道和组播组进行初始化;
帧数据发送模块,用于控制发送方周期性的向所述组模组进行帧数据发送,并将已发送的帧数据存储至发送方的帧缓存中;其中,每个帧数据包含一个唯一的序列号;
判断及处理模块,用于接收方在接收到帧数据之后对帧数据的序列号进行判断和NAK处理,并启动定时器;
序列号更新模块,用于在接收方启动的定时器完成定时时,所述接收方进行最大可靠帧序列号更新;
内存释放模块,用于在最大可靠帧序列号更新后,接收方控制所述发送方进行内存释放。
进一步地,所述初始化模块包括:
第一初始化模块,用于在发送方和接收方之间建立通信通道,并对发送方和接收方之间的通信通道进行初始化;
加入执行模块,用于针对发送方和组播组,并将所述接收方加入至组播组;
第二初始化模块,用于针对所述发送方的组播组进行初始化;
第三初始化模块,用于初始化发送方的帧缓存,用于存储已发送但未确认的帧,同时维护帧的序列号;
第四初始化模块,用于初始化发送方的计数器和标志,用于跟踪响应次数和最大可靠帧的确认。
进一步地,所述判断及处理模块包括:
序列号检查模块,用于接收方收到帧数据后,检查帧数据的序列号;
更新序列号模块,用于如果接收到的帧数据的序列号比之前收到的最大可靠帧序列号更大,则将该帧序列号更新为最大可靠帧序列号;
丢弃模块,用于如果接收到的帧数据的序列号小于或等于最大可靠帧序列号,则所述帧数据进行丢弃;
NAK请求发送模块,用于当接收方检测到缺失的帧时,则向组播组内的所有成员发送一个NAK请求,请求协商所有人当前的最大可靠帧序列号,并且,所述NAK请求携带了两个序列号;其中,所述两个序列号为本机已经接收的可靠帧的最高序列号seq1和需要重传的帧的序列号seq2;
定时启动模块,用于接收方在发送NAK请求后,启动定时器。
进一步地,所述序列号更新模块包括:
接受完成模块,用于当定时器完成时,接收方完成接收其他成员的最大可靠帧序列号;
比较模块,用于接收方将所有收到的最大可靠帧序列号进行比较,以确定最小的最大可靠帧序列号min_seq1。
进一步地,所述内存释放模块包括:
请求发送模块,用于接收方向发送方发送一个携带min_seq1和seq2的NAK请求;
信息提取模块,用于发送方在收到NAK请求后,提取请求中的min_seq1和seq2信息,并根据所述请求中的min_seq1和seq2信息来重传丢失的帧数据;
内存释放执行模块,用于发送方同时根据请求中的seq1来释放内存中小于等于seq1的帧数据。
本发明有益效果:
本发明提出的一种基于接收方确认最大可靠帧的可靠性组播方法和系统接收方在发送NAK请求时,不仅仅携带着需要重传的包的序列号seq2,也携带着本机已经接收的可靠帧的最高序列号seq1,来指导发送方对内存的释放seq1及其之前的所有帧。在接收方已经确认到了帧的丢失时,启动定时器,并先向组播组内协商所有人当前的最大可靠帧序列号。在定时器完成并且最大可靠帧协商完成后,发送携带seq1和seq2的NAK。解决了组播发送方及时释放内存的问题。
附图说明
图1为本发明所述方法的流程图;
图2为本发明所述系统的系统框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提出了一种基于接收方确认最大可靠帧的可靠性组播方法,如图1所示,所述基于接收方确认最大可靠帧的可靠性组播方法包括:
S1、对发送方和接收方的通信信道和组播组进行初始化;
S2、控制发送方周期性的向所述组模组进行帧数据发送,并将已发送的帧数据存储至发送方的帧缓存中;其中,每个帧数据包含一个唯一的序列号;
S3、接收方在接收到帧数据之后对帧数据的序列号进行判断和NAK处理,并启动定时器;
S4、在接收方启动的定时器完成定时时,所述接收方进行最大可靠帧序列号更新;
S5、在最大可靠帧序列号更新后,接收方控制所述发送方进行内存释放。
上述技术方案的工作原理为:初始化通信信道和组播组(S1):在通信开始之前,发送方和接收方需要初始化通信信道和组播组。这可能包括建立网络连接、分配IP地址、配置端口等操作。
帧数据发送(S2):发送方以周期性的方式向组播组发送帧数据。每个帧数据包含一个唯一的序列号,以确保每个帧都有唯一的标识。
帧数据接收和序列号判断(S3):接收方接收到帧数据后,会对每个帧数据的序列号进行判断,以确定是否有丢失的帧数据。如果发现有丢失的帧数据,接收方会发出负确认(NAK)来请求重传。
定时器启动(S3):当接收方发出NAK后,它会启动一个定时器。这个定时器用来控制等待重传的时间。
最大可靠帧序列号更新(S4):当定时器完成定时时,接收方会进行最大可靠帧序列号的更新。这意味着它已经成功接收到一系列帧数据,且没有发生丢失或错误。
内存释放和数据处理(S5):在最大可靠帧序列号更新后,接收方可以安全地释放内存,因为它已经成功接收并处理了相关帧数据。同时,接收方可以继续处理接收到的数据,将其传递给上层应用程序或执行其他操作。
上述技术方案的效果为:可靠性:该技术方案通过序列号和NAK处理确保了数据传输的可靠性。接收方可以检测到丢失的数据并要求重传,从而减少了数据丢失的可能性。
实时性:通过周期性发送帧数据,该方案适用于需要实时数据传输的应用场景,确保数据及时到达。
节省带宽:通过使用唯一的序列号,发送方只需传输丢失或被请求的帧数据,而不需要重新发送所有数据,从而节省了带宽。
内存管理:接收方可以安全地释放内存,因为它可以确定哪些数据已经成功接收,而无需保留所有数据的副本。
容错性:通过NAK处理和重传机制,该技术方案具有一定的容错性,能够处理网络中的丢包和错误。
总之,本实施例的上述技术方案适用于需要可靠数据传输的通信场景,通过序列号和NAK处理确保了数据的可靠性,同时具有一定的实时性和带宽节省优势。
本发明的一个实施例,对发送方和接收方的通信信道和组播组进行初始化,包括:
S101、在发送方和接收方之间建立通信通道,并对发送方和接收方之间的通信通道进行初始化;
S102、针对发送方和组播组,并将所述接收方加入至组播组;
S103、针对所述发送方的组播组进行初始化;
S104、初始化发送方的帧缓存,用于存储已发送但未确认的帧,同时维护帧的序列号;
S105、初始化发送方的计数器和标志,用于跟踪响应次数和最大可靠帧的确认。
上述技术方案的工作原理为:建立通信通道(S101):在通信开始之前,发送方和接收方之间需要建立通信通道。这可能包括网络连接的建立、协议的配置以及通信参数的初始化。通信通道是数据传输的物理或逻辑路径。
加入组播组(S102):组播是一种将数据从一个发送者传输到多个接收者的通信模式。在这一步,接收方会加入到一个特定的组播组,以便能够接收来自发送方的组播数据。
初始化组播组(S103):发送方需要初始化一个组播组,以便将数据发送给多个接收方。这个组播组是一个多播地址,它允许数据被多个接收方同时接收。
初始化帧缓存(S104):发送方初始化帧缓存,用于存储已发送但尚未确认的帧。每个帧都具有唯一的序列号,以便在接收方确认时进行跟踪。这允许发送方重新发送丢失的帧。
初始化计数器和标志(S105):发送方初始化计数器和标志,用于跟踪响应次数和最大可靠帧的确认。这些计数器和标志有助于发送方了解数据是否已成功传输,以及是否需要进行重传。
上述技术方案的效果为:通信可靠性:通过建立有效的通信信道和组播组,该技术方案提高了通信的可靠性。数据可以在多个接收方之间可靠传输,降低了丢失数据的风险。
多播数据传输:组播允许数据一次传输到多个接收方,从而减少了网络流量和带宽的使用。这对于需要将相同数据发送给多个接收方的应用场景非常有用。
序列号和确认:使用帧缓存和唯一的序列号,发送方可以跟踪每个帧的状态,并根据接收方的确认进行重传,从而确保数据的可靠性。
响应跟踪:通过初始化计数器和标志,发送方可以跟踪响应次数,了解数据传输的情况,包括成功传输和需要重传的情况。
高效性:通过使用组播,数据可以同时发送给多个接收方,提高了通信的效率,尤其是在需要向多个接收方广播相同数据时。
综上所述,本实施例的上述技术方案通过初始化通信信道、组播组和相关参数,以及使用帧缓存和序列号跟踪机制,提高了通信的可靠性、多播效率和数据传输效率。
本发明的一个实施例,接收方在接收到帧数据之后对帧数据的序列号进行判断和NAK处理包括:
S301、接收方收到帧数据后,检查帧数据的序列号;
S302、如果接收到的帧数据的序列号比之前收到的最大可靠帧序列号更大,则将该帧序列号更新为最大可靠帧序列号;
S303、如果接收到的帧数据的序列号小于或等于最大可靠帧序列号,则所述帧数据进行丢弃;
S304、当接收方检测到缺失的帧时,则向组播组内的所有成员发送一个NAK请求,请求协商所有人当前的最大可靠帧序列号,并且,所述NAK请求携带了两个序列号;其中,所述两个序列号为本机已经接收的可靠帧的最高序列号seq1和需要重传的帧的序列号seq2;
S305、接收方在发送NAK请求后,启动定时器。
上述技术方案的工作原理为:检查帧数据的序列号(S301):接收方首先检查接收到的帧数据的序列号。每个帧数据都附带了一个唯一的序列号,用于标识帧的顺序。
更新最大可靠帧序列号(S302):如果接收到的帧数据的序列号比之前收到的最大可靠帧序列号更大,接收方将该帧的序列号更新为最大可靠帧序列号。这确保了接收方能够跟踪并接受帧数据的正确顺序。
丢弃帧数据(S303):如果接收到的帧数据的序列号小于或等于最大可靠帧序列号,接收方将该帧数据视为重复或无效数据,并将其丢弃。
发送NAK请求(S304):如果接收方检测到缺失的帧数据,即接收到的帧数据的序列号小于最大可靠帧序列号,接收方将向组播组内的所有成员发送一个NAK请求。NAK请求的目的是请求协商所有接收方的当前最大可靠帧序列号。NAK请求中携带了两个序列号:本机已经接收的可靠帧的最高序列号(seq1)和需要重传的帧的序列号(seq2)。
启动定时器(S305):在发送NAK请求后,接收方启动定时器。这个定时器用于等待其他接收方的响应,以便协商最大可靠帧序列号。
上述技术方案的效果为:序列号管理:通过检查和管理帧数据的序列号,接收方能够确保接收和处理帧数据的正确顺序,提高了数据传输的可靠性。
丢弃重复数据:接收方可以识别并丢弃重复的帧数据,从而减少了不必要的数据处理和存储。
NAK请求:当接收方检测到缺失的帧数据时,通过发送NAK请求,它可以请求其他接收方提供其当前的最大可靠帧序列号,以协商数据的重传,从而提高了数据的可靠性。
定时器管理:定时器的使用允许接收方等待其他接收方的响应,并在合理的时间内获得NAK响应,从而协商最大可靠帧序列号。
综上所述,本实施例的上述技术方案通过序列号管理和NAK请求机制,提高了数据传输的可靠性,同时能够识别和处理重复数据,确保帧数据按正确的顺序接收和处理。
本发明的一个实施例,在接收方启动的定时器完成定时时,所述接收方进行最大可靠帧序列号更新,包括:
S401、当定时器完成时,接收方完成接收其他成员的最大可靠帧序列号;
S402、接收方将所有收到的最大可靠帧序列号进行比较,以确定最小的最大可靠帧序列号min_seq1。
上述技术方案的工作原理为:完成接收其他成员的最大可靠帧序列号(S401):在定时器完成定时后,接收方会收到其他成员的最大可靠帧序列号的响应。这些响应包含了其他成员所认为的最大可靠帧序列号。
比较最大可靠帧序列号(S402):接收方将所有收到的最大可靠帧序列号进行比较,以确定其中最小的最大可靠帧序列号,通常表示为min_seq1。这个值代表了当前网络中其他成员认为的最新的可靠帧序列号。
上述技术方案的效果为:确定最小的最大可靠帧序列号:通过比较接收到的其他成员的最大可靠帧序列号,接收方可以确定当前网络中认为的最新的可靠帧序列号。这有助于确保数据传输的一致性和正确性。
同步网络状态:通过更新最大可靠帧序列号,接收方可以与其他成员协调网络状态,以便正确处理数据传输。这有助于避免数据的重复传输和混乱。
提高数据可靠性:确保所有成员都具有相同的最大可靠帧序列号,有助于提高数据传输的可靠性和一致性,减少了数据丢失或重复传输的风险。
协商数据重传:通过获取其他成员的最大可靠帧序列号,接收方可以协商需要重传的数据,以确保所有成员都能接收到正确的数据。
综上所述,本实施例的上述技术方案通过比较最大可靠帧序列号,有助于同步网络状态、提高数据可靠性,以及协商数据的重传,从而确保数据传输的一致性和正确性。
本发明的一个实施例,在最大可靠帧序列号更新后,接收方控制所述发送方进行内存释放,包括:
S501、接收方向发送方发送一个携带min_seq1和seq2的NAK请求;
S502、发送方在收到NAK请求后,提取请求中的min_seq1和seq2信息,并根据所述请求中的min_seq1和seq2信息来重传丢失的帧数据;
S503、发送方根据请求中的seq1来释放内存中小于等于seq1的帧数据。
上述技术方案的工作原理为:发送NAK请求(S501):接收方向发送方发送一个NAK请求,该请求携带了两个关键信息,即min_seq1和seq2。min_seq1表示其他成员认为的最新的可靠帧序列号,而seq2表示需要重传的帧数据的序列号。
发送方的响应(S502):发送方在收到NAK请求后,会提取请求中的min_seq1和seq2信息。根据这些信息,发送方知道了其他成员认为的最新的可靠帧序列号和需要重传的帧数据的序列号。
重传丢失的帧数据(S502):发送方根据NAK请求中的信息,开始重传丢失的帧数据,以确保其他成员能够接收到缺失的数据。
释放内存中的帧数据(S503):同时,发送方根据NAK请求中的seq1信息,释放内存中小于等于seq1的帧数据。这意味着已经被其他成员正确接收并处理的数据可以从内存中删除,释放资源。
上述技术方案的效果为:数据重传:通过发送NAK请求和seq2信息,接收方能够告知发送方哪些帧数据需要进行重传,从而确保其他成员能够接收到完整的数据。
内存管理:通过释放内存中小于等于seq1的帧数据,发送方可以有效地管理内存资源,避免不必要的数据堆积,提高系统的效率。
数据一致性:通过协商和重传丢失的数据,这一技术方案确保了数据的一致性和正确性,减少了数据丢失或不完整的情况。
减少资源浪费:释放内存中不再需要的数据可以减少资源的浪费,提高系统的性能和资源利用率。
综上所述,本实施例的上述技术方案通过协商数据的重传和内存管理,有助于确保数据的完整性和一致性,提高了数据传输的可靠性,并有效地管理了内存资源。
本发明实施例提出了一种基于接收方确认最大可靠帧的可靠性组播系统,如图2所示,所述基于接收方确认最大可靠帧的可靠性组播系统包括:
初始化模块,用于对发送方和接收方的通信信道和组播组进行初始化;
帧数据发送模块,用于控制发送方周期性的向所述组模组进行帧数据发送,并将已发送的帧数据存储至发送方的帧缓存中;其中,每个帧数据包含一个唯一的序列号;
判断及处理模块,用于接收方在接收到帧数据之后对帧数据的序列号进行判断和NAK处理,并启动定时器;
序列号更新模块,用于在接收方启动的定时器完成定时时,所述接收方进行最大可靠帧序列号更新;
内存释放模块,用于在最大可靠帧序列号更新后,接收方控制所述发送方进行内存释放。
上述技术方案的工作原理为:初始化通信信道和组播组:在通信开始之前,发送方和接收方需要初始化通信信道和组播组。这可能包括建立网络连接、分配IP地址、配置端口等操作。
帧数据发送:发送方以周期性的方式向组播组发送帧数据。每个帧数据包含一个唯一的序列号,以确保每个帧都有唯一的标识。
帧数据接收和序列号判断:接收方接收到帧数据后,会对每个帧数据的序列号进行判断,以确定是否有丢失的帧数据。如果发现有丢失的帧数据,接收方会发出负确认(NAK)来请求重传。
定时器启动:当接收方发出NAK后,它会启动一个定时器。这个定时器用来控制等待重传的时间。
最大可靠帧序列号更新:当定时器完成定时时,接收方会进行最大可靠帧序列号的更新。这意味着它已经成功接收到一系列帧数据,且没有发生丢失或错误。
内存释放和数据处理:在最大可靠帧序列号更新后,接收方可以安全地释放内存,因为它已经成功接收并处理了相关帧数据。同时,接收方可以继续处理接收到的数据,将其传递给上层应用程序或执行其他操作。
上述技术方案的效果为:可靠性:该技术方案通过序列号和NAK处理确保了数据传输的可靠性。接收方可以检测到丢失的数据并要求重传,从而减少了数据丢失的可能性。
实时性:通过周期性发送帧数据,该方案适用于需要实时数据传输的应用场景,确保数据及时到达。
节省带宽:通过使用唯一的序列号,发送方只需传输丢失或被请求的帧数据,而不需要重新发送所有数据,从而节省了带宽。
内存管理:接收方可以安全地释放内存,因为它可以确定哪些数据已经成功接收,而无需保留所有数据的副本。
容错性:通过NAK处理和重传机制,该技术方案具有一定的容错性,能够处理网络中的丢包和错误。
总之,本实施例的上述技术方案适用于需要可靠数据传输的通信场景,通过序列号和NAK处理确保了数据的可靠性,同时具有一定的实时性和带宽节省优势。
本发明的一个实施例,所述初始化模块包括:
第一初始化模块,用于在发送方和接收方之间建立通信通道,并对发送方和接收方之间的通信通道进行初始化;
加入执行模块,用于针对发送方和组播组,并将所述接收方加入至组播组;
第二初始化模块,用于针对所述发送方的组播组进行初始化;
第三初始化模块,用于初始化发送方的帧缓存,用于存储已发送但未确认的帧,同时维护帧的序列号;
第四初始化模块,用于初始化发送方的计数器和标志,用于跟踪响应次数和最大可靠帧的确认。
上述技术方案的工作原理为:建立通信通道:在通信开始之前,发送方和接收方之间需要建立通信通道。这可能包括网络连接的建立、协议的配置以及通信参数的初始化。通信通道是数据传输的物理或逻辑路径。
加入组播组:组播是一种将数据从一个发送者传输到多个接收者的通信模式。在这一步,接收方会加入到一个特定的组播组,以便能够接收来自发送方的组播数据。
初始化组播组:发送方需要初始化一个组播组,以便将数据发送给多个接收方。这个组播组是一个多播地址,它允许数据被多个接收方同时接收。
初始化帧缓存:发送方初始化帧缓存,用于存储已发送但尚未确认的帧。每个帧都具有唯一的序列号,以便在接收方确认时进行跟踪。这允许发送方重新发送丢失的帧。
初始化计数器和标志:发送方初始化计数器和标志,用于跟踪响应次数和最大可靠帧的确认。这些计数器和标志有助于发送方了解数据是否已成功传输,以及是否需要进行重传。
上述技术方案的效果为:通信可靠性:通过建立有效的通信信道和组播组,该技术方案提高了通信的可靠性。数据可以在多个接收方之间可靠传输,降低了丢失数据的风险。
多播数据传输:组播允许数据一次传输到多个接收方,从而减少了网络流量和带宽的使用。这对于需要将相同数据发送给多个接收方的应用场景非常有用。
序列号和确认:使用帧缓存和唯一的序列号,发送方可以跟踪每个帧的状态,并根据接收方的确认进行重传,从而确保数据的可靠性。
响应跟踪:通过初始化计数器和标志,发送方可以跟踪响应次数,了解数据传输的情况,包括成功传输和需要重传的情况。
高效性:通过使用组播,数据可以同时发送给多个接收方,提高了通信的效率,尤其是在需要向多个接收方广播相同数据时。
综上所述,本实施例的上述技术方案通过初始化通信信道、组播组和相关参数,以及使用帧缓存和序列号跟踪机制,提高了通信的可靠性、多播效率和数据传输效率。
本发明的一个实施例,所述判断及处理模块包括:
序列号检查模块,用于接收方收到帧数据后,检查帧数据的序列号;
更新序列号模块,用于如果接收到的帧数据的序列号比之前收到的最大可靠帧序列号更大,则将该帧序列号更新为最大可靠帧序列号;
丢弃模块,用于如果接收到的帧数据的序列号小于或等于最大可靠帧序列号,则所述帧数据进行丢弃;
NAK请求发送模块,用于当接收方检测到缺失的帧时,则向组播组内的所有成员发送一个NAK请求,请求协商所有人当前的最大可靠帧序列号,并且,所述NAK请求携带了两个序列号;其中,所述两个序列号为本机已经接收的可靠帧的最高序列号seq1和需要重传的帧的序列号seq2;
定时启动模块,用于接收方在发送NAK请求后,启动定时器。
上述技术方案的工作原理为:检查帧数据的序列号:接收方首先检查接收到的帧数据的序列号。每个帧数据都附带了一个唯一的序列号,用于标识帧的顺序。
更新最大可靠帧序列号:如果接收到的帧数据的序列号比之前收到的最大可靠帧序列号更大,接收方将该帧的序列号更新为最大可靠帧序列号。这确保了接收方能够跟踪并接受帧数据的正确顺序。
丢弃帧数据:如果接收到的帧数据的序列号小于或等于最大可靠帧序列号,接收方将该帧数据视为重复或无效数据,并将其丢弃。
发送NAK请求:如果接收方检测到缺失的帧数据,即接收到的帧数据的序列号小于最大可靠帧序列号,接收方将向组播组内的所有成员发送一个NAK请求。NAK请求的目的是请求协商所有接收方的当前最大可靠帧序列号。NAK请求中携带了两个序列号:本机已经接收的可靠帧的最高序列号(seq1)和需要重传的帧的序列号(seq2)。
启动定时器:在发送NAK请求后,接收方启动定时器。这个定时器用于等待其他接收方的响应,以便协商最大可靠帧序列号。
上述技术方案的效果为:序列号管理:通过检查和管理帧数据的序列号,接收方能够确保接收和处理帧数据的正确顺序,提高了数据传输的可靠性。
丢弃重复数据:接收方可以识别并丢弃重复的帧数据,从而减少了不必要的数据处理和存储。
NAK请求:当接收方检测到缺失的帧数据时,通过发送NAK请求,它可以请求其他接收方提供其当前的最大可靠帧序列号,以协商数据的重传,从而提高了数据的可靠性。
定时器管理:定时器的使用允许接收方等待其他接收方的响应,并在合理的时间内获得NAK响应,从而协商最大可靠帧序列号。
综上所述,本实施例的上述技术方案通过序列号管理和NAK请求机制,提高了数据传输的可靠性,同时能够识别和处理重复数据,确保帧数据按正确的顺序接收和处理。
本发明的一个实施例,所述序列号更新模块包括:
接受完成模块,用于当定时器完成时,接收方完成接收其他成员的最大可靠帧序列号;
比较模块,用于接收方将所有收到的最大可靠帧序列号进行比较,以确定最小的最大可靠帧序列号min_seq1。
上述技术方案的工作原理为:完成接收其他成员的最大可靠帧序列号:在定时器完成定时后,接收方会收到其他成员的最大可靠帧序列号的响应。这些响应包含了其他成员所认为的最大可靠帧序列号。
比较最大可靠帧序列号:接收方将所有收到的最大可靠帧序列号进行比较,以确定其中最小的最大可靠帧序列号,通常表示为min_seq1。这个值代表了当前网络中其他成员认为的最新的可靠帧序列号。
上述技术方案的效果为:确定最小的最大可靠帧序列号:通过比较接收到的其他成员的最大可靠帧序列号,接收方可以确定当前网络中认为的最新的可靠帧序列号。这有助于确保数据传输的一致性和正确性。
同步网络状态:通过更新最大可靠帧序列号,接收方可以与其他成员协调网络状态,以便正确处理数据传输。这有助于避免数据的重复传输和混乱。
提高数据可靠性:确保所有成员都具有相同的最大可靠帧序列号,有助于提高数据传输的可靠性和一致性,减少了数据丢失或重复传输的风险。
协商数据重传:通过获取其他成员的最大可靠帧序列号,接收方可以协商需要重传的数据,以确保所有成员都能接收到正确的数据。
综上所述,本实施例的上述技术方案通过比较最大可靠帧序列号,有助于同步网络状态、提高数据可靠性,以及协商数据的重传,从而确保数据传输的一致性和正确性。
本发明的一个实施例,所述内存释放模块包括:
请求发送模块,用于接收方向发送方发送一个携带min_seq1和seq2的NAK请求;
信息提取模块,用于发送方在收到NAK请求后,提取请求中的min_seq1和seq2信息,并根据所述请求中的min_seq1和seq2信息来重传丢失的帧数据;
内存释放执行模块,用于发送方同时根据请求中的seq1来释放内存中小于等于seq1的帧数据。
上述技术方案的工作原理为:发送NAK请求:接收方向发送方发送一个NAK请求,该请求携带了两个关键信息,即min_seq1和seq2。min_seq1表示其他成员认为的最新的可靠帧序列号,而seq2表示需要重传的帧数据的序列号。
发送方的响应:发送方在收到NAK请求后,会提取请求中的min_seq1和seq2信息。根据这些信息,发送方知道了其他成员认为的最新的可靠帧序列号和需要重传的帧数据的序列号。
重传丢失的帧数据:发送方根据NAK请求中的信息,开始重传丢失的帧数据,以确保其他成员能够接收到缺失的数据。
释放内存中的帧数据:同时,发送方根据NAK请求中的seq1信息,释放内存中小于等于seq1的帧数据。这意味着已经被其他成员正确接收并处理的数据可以从内存中删除,释放资源。
上述技术方案的效果为:数据重传:通过发送NAK请求和seq2信息,接收方能够告知发送方哪些帧数据需要进行重传,从而确保其他成员能够接收到完整的数据。
内存管理:通过释放内存中小于等于seq1的帧数据,发送方可以有效地管理内存资源,避免不必要的数据堆积,提高系统的效率。
数据一致性:通过协商和重传丢失的数据,这一技术方案确保了数据的一致性和正确性,减少了数据丢失或不完整的情况。
减少资源浪费:释放内存中不再需要的数据可以减少资源的浪费,提高系统的性能和资源利用率。
综上所述,本实施例的上述技术方案通过协商数据的重传和内存管理,有助于确保数据的完整性和一致性,提高了数据传输的可靠性,并有效地管理了内存资源。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于接收方确认最大可靠帧的可靠性组播方法,其特征在于,所述基于接收方确认最大可靠帧的可靠性组播方法包括:
对发送方和接收方的通信信道和组播组进行初始化;
控制发送方周期性的向所述组模组进行帧数据发送,并将已发送的帧数据存储至发送方的帧缓存中;其中,每个帧数据包含一个唯一的序列号;
接收方在接收到帧数据之后对帧数据的序列号进行判断和NAK处理,并启动定时器;
在接收方启动的定时器完成定时时,所述接收方进行最大可靠帧序列号更新;
在最大可靠帧序列号更新后,接收方控制所述发送方进行内存释放。
2.根据权利要求1所述基于接收方确认最大可靠帧的可靠性组播方法,其特征在于,对发送方和接收方的通信信道和组播组进行初始化,包括:
在发送方和接收方之间建立通信通道,并对发送方和接收方之间的通信通道进行初始化;
针对发送方和组播组,并将所述接收方加入至组播组;
针对所述发送方的组播组进行初始化;
初始化发送方的帧缓存,用于存储已发送但未确认的帧,同时维护帧的序列号;
初始化发送方的计数器和标志,用于跟踪响应次数和最大可靠帧的确认。
3.根据权利要求1所述基于接收方确认最大可靠帧的可靠性组播方法,其特征在于,接收方在接收到帧数据之后对帧数据的序列号进行判断和NAK处理包括:
接收方收到帧数据后,检查帧数据的序列号;
如果接收到的帧数据的序列号比之前收到的最大可靠帧序列号更大,则将该帧序列号更新为最大可靠帧序列号;
如果接收到的帧数据的序列号小于或等于最大可靠帧序列号,则所述帧数据进行丢弃;
当接收方检测到缺失的帧时,则向组播组内的所有成员发送一个NAK请求,请求协商所有人当前的最大可靠帧序列号,并且,所述NAK请求携带了两个序列号;其中,所述两个序列号为本机已经接收的可靠帧的最高序列号seq1和需要重传的帧的序列号seq2;
接收方在发送NAK请求后,启动定时器。
4.根据权利要求1所述基于接收方确认最大可靠帧的可靠性组播方法,其特征在于,在接收方启动的定时器完成定时时,所述接收方进行最大可靠帧序列号更新,包括:
当定时器完成时,接收方完成接收其他成员的最大可靠帧序列号;
接收方将所有收到的最大可靠帧序列号进行比较,以确定最小的最大可靠帧序列号min_seq1。
5.根据权利要求1所述基于接收方确认最大可靠帧的可靠性组播方法,其特征在于,在最大可靠帧序列号更新后,接收方控制所述发送方进行内存释放,包括:
接收方向发送方发送一个携带min_seq1和seq2的NAK请求;
发送方在收到NAK请求后,提取请求中的min_seq1和seq2信息,并根据所述请求中的min_seq1和seq2信息来重传丢失的帧数据;
发送方根据请求中的seq1来释放内存中小于等于seq1的帧数据。
6.一种基于接收方确认最大可靠帧的可靠性组播系统,其特征在于,所述基于接收方确认最大可靠帧的可靠性组播系统包括:
初始化模块,用于对发送方和接收方的通信信道和组播组进行初始化;
帧数据发送模块,用于控制发送方周期性的向所述组模组进行帧数据发送,并将已发送的帧数据存储至发送方的帧缓存中;其中,每个帧数据包含一个唯一的序列号;
判断及处理模块,用于接收方在接收到帧数据之后对帧数据的序列号进行判断和NAK处理,并启动定时器;
序列号更新模块,用于在接收方启动的定时器完成定时时,所述接收方进行最大可靠帧序列号更新;
内存释放模块,用于在最大可靠帧序列号更新后,接收方控制所述发送方进行内存释放。
7.根据权利要求6所述基于接收方确认最大可靠帧的可靠性组播系统,其特征在于,所述初始化模块包括:
第一初始化模块,用于在发送方和接收方之间建立通信通道,并对发送方和接收方之间的通信通道进行初始化;
加入执行模块,用于针对发送方和组播组,并将所述接收方加入至组播组;
第二初始化模块,用于针对所述发送方的组播组进行初始化;
第三初始化模块,用于初始化发送方的帧缓存,用于存储已发送但未确认的帧,同时维护帧的序列号;
第四初始化模块,用于初始化发送方的计数器和标志,用于跟踪响应次数和最大可靠帧的确认。
8.根据权利要求6所述基于接收方确认最大可靠帧的可靠性组播系统,其特征在于,所述判断及处理模块包括:
序列号检查模块,用于接收方收到帧数据后,检查帧数据的序列号;
更新序列号模块,用于如果接收到的帧数据的序列号比之前收到的最大可靠帧序列号更大,则将该帧序列号更新为最大可靠帧序列号;
丢弃模块,用于如果接收到的帧数据的序列号小于或等于最大可靠帧序列号,则所述帧数据进行丢弃;
NAK请求发送模块,用于当接收方检测到缺失的帧时,则向组播组内的所有成员发送一个NAK请求,请求协商所有人当前的最大可靠帧序列号,并且,所述NAK请求携带了两个序列号;其中,所述两个序列号为本机已经接收的可靠帧的最高序列号seq1和需要重传的帧的序列号seq2;
定时启动模块,用于接收方在发送NAK请求后,启动定时器。
9.根据权利要求6所述基于接收方确认最大可靠帧的可靠性组播系统,其特征在于,所述序列号更新模块包括:
接受完成模块,用于当定时器完成时,接收方完成接收其他成员的最大可靠帧序列号;
比较模块,用于接收方将所有收到的最大可靠帧序列号进行比较,以确定最小的最大可靠帧序列号min_seq1。
10.根据权利要求6所述基于接收方确认最大可靠帧的可靠性组播系统,其特征在于,所述内存释放模块包括:
请求发送模块,用于接收方向发送方发送一个携带min_seq1和seq2的NAK请求;
信息提取模块,用于发送方在收到NAK请求后,提取请求中的min_seq1和seq2信息,并根据所述请求中的min_seq1和seq2信息来重传丢失的帧数据;
内存释放执行模块,用于发送方同时根据请求中的seq1来释放内存中小于等于seq1的帧数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311861426.1A CN117834320A (zh) | 2023-12-29 | 2023-12-29 | 一种基于接收方确认最大可靠帧的可靠性组播方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311861426.1A CN117834320A (zh) | 2023-12-29 | 2023-12-29 | 一种基于接收方确认最大可靠帧的可靠性组播方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117834320A true CN117834320A (zh) | 2024-04-05 |
Family
ID=90505469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311861426.1A Pending CN117834320A (zh) | 2023-12-29 | 2023-12-29 | 一种基于接收方确认最大可靠帧的可靠性组播方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117834320A (zh) |
-
2023
- 2023-12-29 CN CN202311861426.1A patent/CN117834320A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0409578B1 (en) | Data communication method and system with cyclic sequence of acknowledgements | |
US6330435B1 (en) | Data packet discard notification | |
EP1411688B1 (en) | Method and apparatus for multicast data retransmission | |
US6141785A (en) | Error control method for multiparty multimedia communications | |
US8675472B2 (en) | Method and apparatus for network management system | |
US7693070B2 (en) | Congestion reducing reliable transport packet retry engine | |
CN102368700B (zh) | 一种分布式系统中消息的传递方法 | |
CN101699797B (zh) | 使用udp协议进行数据传输的方法 | |
JP2002529010A (ja) | 自動再送要求を行うデータ・ネットワークにおけるパケット破棄方法及びパケット破棄装置 | |
JP2002124992A (ja) | マルチキャストによるデータファイル配信方法 | |
WO2008000181A1 (fr) | Procédés et systèmes de retransmission sur couche de transport | |
EP3591875A1 (en) | Reliable message transport network | |
US10505677B2 (en) | Fast detection and retransmission of dropped last packet in a flow | |
US20110038369A1 (en) | Communication method and apparatus based on user datagram protocol | |
KR100240645B1 (ko) | 멀티캐스트 통신의 패킷 오류 제어기 및 이를 이용한패킷 오류제어 방법 | |
EP1580916B1 (en) | System and method for transmitting units of messages in a mobile communication system | |
KR20090094948A (ko) | 광대역 무선통신시스템에서 자동 재송 요구 리셋을제어하기 위한 장치 및 방법 | |
JPH11196041A (ja) | 無線マルチキャストデータ転送方法及び無線通信システム | |
CN117834320A (zh) | 一种基于接收方确认最大可靠帧的可靠性组播方法和系统 | |
JP2006191368A (ja) | ネットワーク伝送装置 | |
JPH1146161A (ja) | 無線マルチキャストデータ転送方法 | |
JPH1070523A (ja) | パケット伝送方法及び装置 | |
JP2001168907A (ja) | 通信装置 | |
US20070286197A1 (en) | Interoperable transport protocol for internetwork routing | |
US20060209904A1 (en) | Reverse acknowledgement method for quickly identifying whether or not the retransmission frame was lost |
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 |