CN105379164B - 用于发送和接收数据的方法和设备以及用于执行所述方法的记录介质 - Google Patents
用于发送和接收数据的方法和设备以及用于执行所述方法的记录介质 Download PDFInfo
- Publication number
- CN105379164B CN105379164B CN201480039602.6A CN201480039602A CN105379164B CN 105379164 B CN105379164 B CN 105379164B CN 201480039602 A CN201480039602 A CN 201480039602A CN 105379164 B CN105379164 B CN 105379164B
- Authority
- CN
- China
- Prior art keywords
- packet
- data packet
- data
- detection
- loss
- 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.)
- Expired - Fee Related
Links
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/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
-
- 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
-
- 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/1825—Adaptation of specific ARQ protocol parameters according to transmission conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
- H04L43/0835—One way packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Environmental & Geological Engineering (AREA)
Abstract
一个或更多个示例性实施例包括用于发送和接收数据的方法和设备,其中,所述方法和设备减少在实时数据传输期间由于当使用包重传方法来恢复丢失的数据时执行的包重传导致的时间延迟。所述方法包括:发送包含至少一个数据包的帧;产生至少一个检测包,其中,所述至少一个检测包用于检测所述至少一个数据包之中的最后数据包的丢失;并且,如果响应于数据包为正被发送的帧的最后数据包,则发送所述至少一个检测包,使得所述至少一个检测包接续于最后数据包之后被发送,其中,所述最后包是否丢失通过使用所述至少一个检测包来确定。
Description
技术领域
一个或更多个示例性实施例涉及用于发送和接收数据的方法和设备以及用于执行所述方法的记录介质。
背景技术
当通过网络传输数据时,取决于网络状态,数据可能丢失。具体说来,在实时流传输中,数据丢失会是图像质量降低的直接原因。为了防止由于数据丢失导致的图像质量降低,使用了一种重传丢失的包的包重传方法。
在相关技术中,当包被重传时,由于在请求和重传丢失的包期间所消耗的时间而发生时间延迟。因此,传统包传输方法无法有效改善实时流传输中的图像质量。
发明内容
技术问题
当按帧来传输数据时(诸如,在视频图像的情况下),在识别帧的最后数据包是否丢失时会消耗大量时间。
技术方案
一个或更多个示例性实施例包括用于发送和接收数据的方法和设备,其中,所述方法和设备减少实时数据传输期间由于在使用包重传方法来恢复丢失的数据时执行的包重传而导致的时间延迟。
有益效果
由于检测包被额外发送,所以检测丢失的最后数据包所消耗的时间可减少至与帧中数据包的顺序传输之间的时间间隔相等。
换言之,由于检测包被额外发送,所以当数据被按帧来发送时,可更快检测出最后数据包是否丢失。
附图说明
通过结合附图对一个或更多个示例性实施例的以下描述,这些和/或其它方面将变得清楚和更易于理解,其中:
图1是示出当数据包丢失时通过使用重传方法恢复丢失的数据包的处理的概念性示图。
图2是示出根据示例性实施例的数据发送设备的框图。
图3A和图3B是示出当数据包丢失时检测所述数据包的丢失所消耗的时间的示图。
图4是示出根据示例性实施例的通过发送检测包来检测数据包的丢失的处理的示图;
图5是示出根据示例性实施例的数据发送方法的流程图;
图6是示出根据示例性实施例的数据接收设备的框图;
图7是示出根据示例性实施例的数据接收方法的流程图;
图8是示出根据另一示例性实施例的数据发送设备的框图;
图9是示出根据示例性实施例的基于网络状态产生检测包的处理的示图;
图10是示出根据示例性实施例的基于网络状态发送检测包的方法的流程图;以及
图11是示出根据示例性实施例的基于网络状态接收数据的方法的流程图。
实现本发明的最佳模式
一个或更多个示例性实施例包括用于发送和接收数据的方法和设备,其中,所述方法和设备减少在实时数据传输期间由于在使用包重传方法来恢复丢失的数据时执行的包重传而导致的时间延迟。
附加的方面将在之后的说明中部分地阐述,并且,部分将从说明书中清楚,或可通过一个或更多个示例性实施例的实施得出。
根据一个或更多个示例性实施例,发送数据的方法,所述方法包括:发送包含至少一个数据包的帧;产生用于检测在所述至少一个数据包之中的最后数据包的丢失的至少一个检测包;响应于帧的最后数据包被发送,发送所述至少一个检测包,使得检测包接续于最后数据包之后被发送。通过使用所述至少一个检测包来确定最后数据包是否丢失。
响应于所述至少一个检测包的序号没有接续于所述至少一个数据包之中的最近接收的数据包的序号之后,可确定最后数据包丢失。所述发送方法可进一步包括:根据所述检测包被发送之后接收的包重传请求将最后数据包发送到客户机。
响应于请求重传的包不是所述至少一个检测包,所述方法可进一步包括:发送请求的包。
所述方法可进一步包括:分析网络的丢包率;根据分析的结果来确定将产生的所述至少一个检测包的数量。
所述至少一个检测包的数量可随网络的丢包率的增加而增加。
根据一个或更多个示例性实施例,接收数据的方法,所述方法包括:接收包含至少一个数据包的帧和至少一个检测包,其中,所述至少一个检测包用于检测所述至少一个数据包之中的最后数据包的丢失;通过使用所述至少一个检测包来确定最后数据包是否丢失;基于确定的结果请求重传最后数据包。
所述确定步骤可进一步包括:响应于所述至少一个检测包的序号没有接续于所述至少一个数据包之中的最近接收的数据包的序号之后来请求重传最后数据包。
所述确定步骤可进一步包括:确定丢失的包是否是检测包;以及响应于丢失的包不是检测包来请求重传丢失的包。
所述至少一个检测包的数量可根据网络的丢包率来确定。
所述至少一个检测包的数量可随丢包率的增加而增加。
根据一个或更多个示例性实施例,用于发送包含至少一个数据包的数据的帧的设备,所述设备包括:包产生器,被配置为产生检测包,其中,所述检测包用于检测所述至少一个数据包之中的最后数据包的丢失;发送器,被配置为发送所述至少一个数据包和所述至少一个检测包。发送器进一步被配置为响应于帧的最后数据包被发送,发送接续于最后数据包之后的所述至少一个检测包,并且,最后数据包是否丢失通过使用所述至少一个检测包来确定。
所述设备可进一步包括:确定器,被配置为响应于所述至少一个检测包的序号没有接续于所述至少一个数据包之中的最近接收的数据包的序号之后来确定最后数据包丢失。发送器可进一步被配置为根据所述检测包被发送之后接收的包重传请求,将最后数据包发送到客户端。
响应于请求重传的包不是检测包,发送器可进一步被配置为发送请求的包。
所述设备可进一步包括:分析器,被配置为分析网络的丢包率;并且,确定器可进一步被配置为根据分析的结果来确定将产生的所述至少一个检测包的数量。
所述至少一个检测包的数量可随网络的丢包率的增加而增加。
根据一个或更多个示例性实施例,提供一种用于接收数据的设备,所述设备包括:接收器,被配置为接收包含至少一个数据包的帧和至少一个检测包,其中,所述至少一个检测包用于检测所述帧的所述至少一个数据包之中的最后数据包的丢失;确定器,被配置为通过使用所述至少一个检测包来确定所述帧的所述至少一个数据包之中的最后数据包是否丢失;请求器,被配置为基于确定的结果来请求重传最后数据包。
响应于所述至少一个检测包的序号没有接续于所述至少一个数据包之中的最近接收的数据包的序号之后,请求器可进一步被配置为请求重传所述至少一个数据包之中的最后数据包。
确定器可进一步被配置为确定丢失的包是否为检测包。响应于丢失的包不是检测包,请求器可进一步被配置为请求重传丢失的包。
所述至少一个检测包的数量可根据网络的丢包率来确定。
所述至少一个检测包的数量可随丢包率的增加而增加。
根据一个或更多个示例性实施例,提供一种发送数据的方法,所述方法包括:发送帧的至少一个数据包;响应于发送帧的所述至少一个数据包之中的最后数据包来发送至少一个检测包,其中,所述至少一个检测包被配置为用于检测最后数据包的丢失。通过使用所述至少一个检测包来确定最后数据包是否丢失。
所述至少一个数据包和所述至少一个检测包可包括各自的序号,并且,响应于所述至少一个检测包的序号没有接续于所述至少一个数据包之中的最近接收的数据包的序号之后,可确定最后数据包丢失。
根据一个或更多个示例性实施例,提供一种接收数据的方法,所述方法包括:接收帧的至少一个数据包和至少一个检测包,其中,所述至少一个检测包被配置为用于检测所述帧的所述至少一个数据包之中的最后数据包的丢失;通过使用所述至少一个检测包来确定所述帧的所述至少一个数据包之中的最后数据包是否丢失;响应于确定最后数据包丢失来请求重传最后数据包。
所述至少一个数据包和所述至少一个检测包可包括各自的序号,并且,所述确定步骤可包括:响应于所述至少一个检测包的序号没有接续于所述至少一个数据包之中的最近接收的数据包的序号之后,确定最后数据包丢失。
根据一个或更多个示例性实施例,提供一种被配置为发送帧的至少一个数据包的设备,所述设备包括:通信器,被配置为与接收设备通信;控制器,被配置为控制通信器发送所述至少一个数据包,并控制通信器,响应于发送所述至少一个数据包之中的最后数据包,来发送至少一个检测包,其中,所述至少一个检测包被配置为用于检测最后数据包的丢失。其中,最后数据包是否丢失通过使用所述至少一个检测包来确定。
所述至少一个数据包和所述至少一个检测包可包括各自的序号,并且,响应于所述至少一个检测包的序号没有接续于所述至少一个数据包之中的最近接收的数据包的序号之后,可确定所述最后数据包丢失。
根据一个或更多个示例性实施例,提供一种被配置为接收数据的接收设备,所述接收设备包括:通信器,被配置为接收包括一个或更多个数据包的帧的至少一个数据包和至少一个检测包,其中,所述至少一个检测包被配置为用于检测所述帧的所述一个或更多个数据包之中的最后数据包的丢失;控制器,被配置为通过使用所述至少一个检测包来确定所述帧的最后数据包是否丢失,并控制通信器响应于确定最后数据包丢失来请求重传最后数据包。
所述至少一个数据包和所述至少一个检测包可包括各自的序号,并且,控制器可进一步被配置为响应于所述至少一个检测包的序号没有接续于所述至少一个数据包之中的最近接收的数据包的序号之后,来确定最后数据包丢失。
根据一个或更多个示例性实施例,一个或更多个上述方法可被记录在非暂时性计算机可读记录介质上。
具体实施方式
现在将详细参考一个或更多个示例性实施例,其示例已在附图中示出。一个或更多个实施例可有不同形式并且不应被理解为限于此处阐述的描述。相应地,下面通过参照附图描述的示例性实施例仅用于解释本说明书的各方面。此外,本领域的普通技术人员可从所述详细描述和示例性实施例中得出的所有实施例被理解为包括在本发明的范围内。可在附图中省略与示例性实施例的描述并非直接相关的元件,以防使示例性实施例的描述不清楚。相同的参考标号始终指示相同的元件。
在整个说明书中,还将理解:当元件被称为“连接到”其它元件时,其可被直接连接到所述其它元件,或电连接到所述其它元件而同时还可存在介入元件。此外,当部件“包括”或“包含”元件时,除非有特别的与之相反的描述,否则,所述部件可进一步包括其它元件而不排除其它元件。如在此使用,术语“和/或”包括相关所列项目中的一个或更多个项目的任何和所有组合。
图1是示出当数据包丢失时通过使用重传方法恢复丢失的数据包的处理的概念性示图。
数据发送设备110(诸如,服务器)可将包含至少一个数据包的帧发送到数据接收设备120(诸如,客户端)。数据接收设备120可从数据发送设备110接收包括至少一个数据包的帧。序号可被包括在发送的数据包中,使得数据接收设备120可检测包丢失或用于包重排序。
在操作130中,数据发送设备110将序号为“n”的数据包发送到数据接收设备120。数据接收设备120接收由数据发送设备110发送的数据包,并可通过使用包括在接收的数据包中的序号信息识别出接收的数据包的序号为“n”。
在操作140中,数据发送设备110将序号为“n+1”的数据包发送到数据接收设备120。在此,假设序号为“n+1”的数据包丢失。
在操作150中,数据发送设备110将序号为“n+2”的数据包发送到数据接收设备120。数据接收设备120接收由数据发送设备110发送的数据包,并可通过使用包括在接收的数据包中的序号信息识别出接收的数据包的序号为“n+2”。
数据接收设备120可识别出当前接收的数据包的序号“n+2”没有接续于先前接收的数据包的序号“n”之后。如果接收的数据包的序号不连续,则预定数据包可能在中间丢失。具体说来,如果接收的数据包的序号为“n”和“n+2”,则数据接收设备120可检测出序号为“n+1”的数据包丢失。尽管序号被描述为顺序的,但这可意指紧随其后,而序号n+2在顺序上不是下一个序号。
在操作160中,数据接收设备120可向数据发送设备110请求重传丢失的数据包,即,序号为“n+1”的数据包。当请求重传时,数据接收设备120可通过使用所述丢失的数据包的序号信息来指定重传请求的数据包。
在操作170中,数据发送设备110可重传由数据接收设备120请求的数据包。例如,当数据发送设备110已经从数据接收设备120接收到关于序号为“n+1”的数据包的重传请求时,数据发送设备110可根据重传请求将序号为“n+1”的数据包发送到数据接收设备120。
根据以上描述的操作,在数据发送设备110和数据接收设备120之间的数据传输期间丢失的数据包可被检测和恢复。
图2是示出根据示例性实施例的数据发送设备200的框图。
参照图2,根据示例性实施例的数据发送设备200包括:包产生器210(即,包产生单元)和发送器220(即,发送单元)。数据发送设备200的功能与图1的数据发送设备110的功能相同。
图2中仅仅示出了与本示例性实施例相关的数据发送设备200的元件。相应地,本领域普通技术人员将理解:可进一步包括除图2中所示元件之外的一般元件。
包产生器201可产生用于检测数据包的丢失的检测包。在此,根据示例性实施例,检测包是接续于帧的最后数据包之后发送的包,使得可确定所述最后数据包是否丢失。
当按帧来发送数据时(诸如,在视频图像的情况下),在识别帧的最后数据包是否丢失时可能会消耗大量时间。
为了检测丢失的数据包,可比较在数据接收设备120中先前接收的数据包的序号和在数据接收设备120中当前接收的数据包的序号。例如,如果先前接收的数据包的序号和当前接收的数据包的序号不连续,则数据接收设备120可确定数据包丢失。
当按帧来发送数据时,数据接收设备120可在接收到第(n+1)帧的第一包之后识别第n帧的最后数据包是否丢失。因此,在每个帧的最后数据包的情况下,检测丢失的数据包时消耗的时间会长于检测帧的其它数据包时消耗的时间。
根据示例性实施例,第n帧的最后数据包被发送到数据接收设备120,然后检测包被发送。因此,可在不必等到第(n+1)帧的第一包被接收的情况下检测第n帧的最后数据包是否丢失。
检测包可包括指示包类型的标识信息,使得数据接收设备120可将检测包与数据包区分。在其它示例性实施例中,可通过仅使用包括在检测包中的信息来区分检测包,而不必使用指示包类型的单独标识信息。例如,由于检测包包括头信息且不在有效载荷区域中存储信息,所以可基于数据是否被储存在有效载荷区域中将检测包与数据包区分开。
发送器220(即,发送单元)可将包含至少一个数据包的帧发送到数据接收设备120。此外,如果当前发送的数据包是帧的最后数据包,则发送器220可将检测包发送到数据接收设备120,使得所述检测包接续于所述最后数据包之后。尽管描述了发送器220,但是数据发送设备200可包括:收发器(未示出),被配置为与数据接收设备120通信。另外,收发器可由控制器(未示出)控制。控制器可由通用处理器或专门设计的处理器来实施,并可包括软件组件和硬件组件两者。
检测包可经由与数据包的信道相同的信道被发送(以下称为“带内方法”),或经由与数据包的信道不同的信道被发送(以下称为“带外方法”)。当使用带内方法时,数据接收设备120可识别检测包。例如,用于识别检测包的标识信息可被插入到检测包中。
根据示例性实施例,可通过使用检测包来确定所述最后数据包是否丢失。具体说来,如果由数据接收设备120接收的检测包的序号没有接续于先于检测包接收的数据包的序号之后,则可确定最后数据包丢失。如果确定最后数据包丢失,则数据接收设备120可向数据发送设备110请求重传最后数据包。根据数据接收设备120的重传请求,发送器220可将丢失的数据包重传到数据接收设备120。
图3A和图3B是示出当数据包丢失时检测所述数据包的丢失所消耗的时间的示图。
参照图3A,当第n帧的至少一个数据包之中的一些数据包丢失时,数据接收设备120可参照随后发送的包的序号并确定数据包是否丢失。
例如,假设序号为“a”的数据包丢失。由于序号为“a”的数据包丢失,所以数据接收设备120接收序号为“a-1”的数据包,然后接收序号为“a+1”的数据包。由于接收的数据包的序号不连续,所以数据接收设备120可检测出序号为“a”的数据包丢失。
在图3A中,由于丢失的包不是帧的最后数据包,所以检测丢失的包时消耗的时间可与帧中数据包的顺序传输之间的时间间隔一样多。
图3B示出了第n帧的至少一个数据包之中的最后数据包丢失的示例。
例如,假设序号为“b”的最后数据包丢失。在图3B中,数据接收设备120已接收了序号为“b-1”的数据包,因为序号为“b”的所述最后数据包丢失。
如果不使用检测包,则为了检测出序号为“b”的最后数据包丢失,数据接收设备120接收随后的帧(即,第(n+1)帧)的第一数据包。换言之,在第(n+1)帧被接收之前,数据接收设备120无法检测出所述最后数据包的丢失。因此,检测丢失的数据包时消耗的时间会长于检测帧的其它数据包时消耗的时间。
根据示例性实施例,检测包可在帧的最后数据包之后被额外发送到数据接收设备120。因此,所述最后数据包是否丢失可被更快检测。
图4是示出根据示例性实施例的通过发送检测包来检测数据包的丢失的处理的示图。
参照图4,在第n帧的最后数据包被发送之后,检测包可被额外发送。如果最后数据包的序号为“b”,则检测包的序号可为“b+1”。
例如,假设序号为“b”的最后数据包丢失。如果检测包未被发送,则为了检测出最后数据包的丢失,要等到随后的第(n+1)帧被接收。然而,如果使用检测包,则由于序号为“b”的最后数据包丢失,所以数据接收设备120接收序号为“b-1”的数据包,然后接收序号为“b+1”的检测包。由于接收的数据包的序号不连续,所以数据接收设备120可检测出序号为“b”的最后数据包丢失。
由于检测包被额外发送,所以检测丢失的最后数据包时消耗的时间可被减少至与帧中数据包的顺序传输之间的时间间隔相等。
换言之,由于检测包被额外发送,所以当按帧来传输数据时,最后数据包是否丢失可被更快检测。
图5是示出根据示例性实施例的数据发送方法的流程图。
在操作510中,数据发送设备110可将包含至少一个数据包的帧发送到数据接收设备120。数据发送设备110可包括用于存储在预定数量的时间内被发送到数据接收设备120的预定数量的数据包的装置。发送的数据包中可包括序号,使得数据接收设备120可检测包丢失或用于包重排序。
在操作520中,数据发送设备110可产生用于检测包的丢失的检测包。指示包类型的标识信息可被包括在检测包的字段中,使得数据接收设备120可将检测包与数据包区分。在其他示例性实施例中,检测包可包括头信息且不在有效荷载区域中存储信息。然后,可基于数据是否被包括在有效荷载区域中来将检测包与数据包区分。
在操作530中,如果帧的数据包是最后数据包,则检测包可被发送到数据接收设备120,使得检测包接续于所述最后数据包之后。如果由数据接收设备120接收的检测包的序号没有接续于先于检测包接收的数据包的序号之后,则数据接收设备120可确定最后数据包丢失。
如果确定最后数据包丢失,则数据接收设备120可向数据发送设备110请求重传最后数据包。根据数据接收设备120的包重传请求,发送单元220可将丢失的数据包重传到数据接收设备120。
图6是示出根据本发明示例性实施例的数据接收设备600的框图。
参照图6,根据本发明的实施例的数据接收设备600包括:接收器610(即,接收单元)、确定器620(即,确定单元或决定单元)、请求器(即,请求单元)。数据接收设备600的功能与图1的数据接收设备120的功能相同。
图6中仅仅示出了与本示例性实施例相关的数据接收设备600的元件。相应地,本领域普通技术人员将理解:可进一步包括除图6中所示元件之外的一般元件。
接收器610可接收包含至少一个数据包的帧和用于检测帧的最后数据包的丢失的检测包。此处,根据示例性实施例,检测包是接续于帧的最后数据包之后发送的包,使得可确定最后数据包是否丢失。
确定器620可通过使用从数据发送设备110接收的检测包来确定最后数据包是否丢失。具体说来,可比较在数据接收设备600中先前接收的数据包的序号和在数据接收设备600中当前接收的数据包的序号。例如,如果先前接收的数据包的序号和当前接收的数据包的序号不连续,则确定器620可确定数据包丢失。
因此,如果由数据接收设备600从数据发送设备110接收的检测包的序号没有接续于帧的最后数据包的序号之后,则数据接收设备600可确定最后数据包丢失。
请求器630可基于确定器620的确定结果向数据发送设备110请求重传最后数据包。具体说来,如果确定器620确定数据包丢失,则请求器630可向数据发送设备110请求重传丢失的包。
尽管描述了接收器610,数据接收设备200可包括被配置为与数据发送设备110通信的收发器(未示出)。进一步地,收发器可由控制器(未示出)控制。进一步地,控制器可执行确定器的功能,并且,如果确定数据包丢失,则控制接收器向数据发送设备110请求重传丢失的包。控制器可由通用处理器或专门设计的处理器来实施,并可包括软件组件和硬件组件两者。
图7是示出根据示例性实施例的数据接收方法的流程图。
在操作710中,数据接收设备120可接收包含至少一个数据包的帧和用于检测数据包的丢失的检测包。序号可被包括在至少一个接收的数据包和接收的检测包中,使得数据接收设备120可检测包丢失或用于包重排序。
在操作720中,可通过使用操作710的接收的检测包来确定帧包的最后数据包是否丢失。
具体说来,可比较在数据接收设备120中先前接收的数据包的序号和在数据接收设备120中当前接收的数据包的序号。例如,如果先前接收的数据包的序号和当前接收的数据包的序号不连续,则数据接收设备120可确定数据包丢失。
因此,如果由数据接收设备120从数据发送设备110接收的检测包的序号没有接续于帧的最后数据包的序号之后,则数据接收设备120可确定数据包丢失。
在操作730中,数据接收设备120可基于操作720的确定结果向数据发送设备110请求重传丢失的最后数据包。具体说来,如果在操作720中确定数据包丢失,则数据接收设备120可向数据发送设备110请求重传丢失的包。
图8是示出根据另一示例性实施例的数据发送设备200的框图。
参照图8,根据另一示例性实施例的数据发送设备200包括:包产生器210(即,包产生单元),发送器220(即,发送单元),分析器230(即,分析单元),确定器240(即,确定单元或决定单元)。数据发送设备200的功能与图1的数据发送设备110的功能相同。
图8中仅仅示出了与本示例性实施例相关的数据接收设备200的元件。相应地,本领域普通技术人员将理解:可进一步包括除图8中所示元件之外的一般元件。
包产生器210可产生用于检测数据包的丢失的检测包。
发送器220可将包含至少一个数据包的帧发送到数据接收设备120。此外,如果当前发送的数据包是帧的最后数据包,则发送器220可将检测包发送到数据接收设备120,使得检测包接续于帧的最后数据包之后。
分析器230可分析网络的丢包率。当网络的丢包率增加时,不仅丢失帧的最后数据包而且丢失接续于最后数据包之后发送的检测包的可能性也会增加。如果最后数据包和检测包都丢失,则数据接收设备120会无法在随后的帧被接收之前检测最后数据包是否丢失。
确定器240可基于分析器230分析的丢包率来确定将产生的检测包的数量。检测包的数量可随丢包率的增加而增加。
图9是示出基于网络状态产生检测包的处理的示图。
参照图9,根据示例性实施例的数据发送设备200可基于网络的丢包率来确定将产生的检测包的数量。检测包的数目可随网络的丢包率的增加而增加。
例如,假设基于关于网络状态的分析结果产生四个检测包。
所述四个检测包中的一些检测包可能丢失。此处,基于帧的最后数据包的序号“b”,所述四个检测包的序号可分别为“b+1”、“b+2”、“b+3”和“b+4”。假设序号为“b+2”和“b+3”的检测包在数据发送设备110和数据接收设备120之间的传输处理期间丢失。
数据接收设备120可接收序号为“b+1”的检测包,然后紧接着接收序号为“b+4”的检测包。数据接收设备120可通过检测出接收的检测包的序号不连续来检测出包的丢失。在检测出包的丢失后,数据接收设备120可确定丢失的包是数据包还是检测包。
由于序号为“b+2”和“b+3”的包为检测包,并且检测包不包括数据信息,所以基于确定结果,数据接收设备120不会向数据发送设备110请求重传丢失的包。
作为另一示例,最后数据包和检测包中的一些检测包可能丢失。参照图9,假设序号为“b”的最后数据包和序号为“b+1”的检测包丢失。当仅仅一个检测包被发送时,无法立即检测出最后数据包的丢失。然而,与仅产生一个检测包时相比,如果产生多个检测包,则最后数据包的丢失可被更可靠地检测出。
数据接收设备120可接收序号为“b-1”的数据包,然后接收序号为“b+2”的检测包。数据接收设备120可通过检测出接收的检测包的序号不连续来检测出包的丢失。在这种情况下,数据接收设备120可向数据发送设备110请求重传数据包。也就是说,数据接收设备120可请求数据发送设备110重传序号为“b”的所述最后数据包。然而,数据接收设备120不会向发送设备110请求重传检测包。也就是说,数据接收设备120不会向数据发送设备110请求重传序号为“b+1”的检测包。
图10是示出根据本发明实施例的基于网络状态发送检测包的方法的流程图。
在操作1010中,数据发送设备110可监测网络状态。关于网络状态的信息可包括关于丢包率的信息。丢包率是由数据发送设备110发送的包未被数据接收设备120接收的概率。
在操作1020中,数据发送设备110可基于在操作1010中监测的网络状态来确定将产生的检测包的数量。检测包的数量可随网络的丢包率的增加而增加。
在操作1030中,数据发送设备110可根据在操作1020中基于网络状态确定的检测包的数量来产生检测包。
在操作1040中,数据发送设备110可接续于帧的最后数据包之后发送在操作1030中产生的至少一个检测包。如果由数据接收设备120接收的检测包的序号没有接续于先于检测包接收的数据包的序号之后,则可确定最后数据包丢失。
根据另一示例性实施例,接收设备600可基于网络状态接收多个检测包。
接收器610可接收包含至少一个数据包的帧和用于检测帧的最后数据包的丢失的检测包。例如,当网络的丢包率增加时,从数据发送设备110发送的检测包的数量会增加。
确定器620可通过使用从数据发送设备110接收的检测包来确定最后数据包是否丢失。例如,如果由数据接收设备600从数据发送设备110接收的检测包的序号没有接续于帧的最后数据包的序号之后,则数据接收设备600可确定最后数据包丢失。
识别出包丢失后,确定单元620可确定丢失的包是数据包还是检测包。
当丢失的包是数据包时,请求单元630可请求数据发送设备110重传丢失的包。如果根据确定器620的确定结果,丢失的包是数据包,则请求器630可向数据发送设备110请求重传丢失的包。可选地,如果丢失的包为检测包,则请求器630不会向数据发送设备110请求重传丢失的包。这是因为检测包是用于确定数据包是否丢失的,且不包括除头信息以外的数据信息。
图11是示出根据示例性实施例的基于网络状态接收数据的方法的流程图。在与图11相关的示例性实施例中,假设基于网络状态,多个检测包被从数据发送设备接收。
在操作1110中,数据接收设备120可通过使用接收的检测包来确定包是否丢失。根据示例性实施例,当网络的丢包率增加时,数据接收设备120可接收多个检测包。
当在操作1110中检测出包丢失时,在操作1120中,数据接收设备120可确定丢失的包是数据包还是检测包。
在操作1130中,根据操作1120的确定结果,丢失的包为数据包。数据接收设备120可向数据发送设备110请求重传丢失的包。
在操作1140中,根据操作1120的确定结果,丢失的包为检测包。数据接收设备120不向数据发送设备110请求重传丢失的包。这是因为检测包是用于确定数据包是否丢失的,且不包括除头信息以外的数据信息。
在操作1150中,数据接收设备120没有检测出丢失的包。因此,数据接收设备120完成接收包含至少一个数据包的帧。
可针对功能块组件和各种处理步骤来描述一个或更多个示例性实施例。此类功能块可通过任意数量的硬件组件和/或软件组件来实现,其中,所述硬件组件和/或软件组件被配置为执行特定功能。例如,示例性实施例可采用各种集成电路组件(例如,存储器元件、处理元件、逻辑元件、查找表等),其中,所述各种集成电路组件可在一个或更多个微处理器或其它控制装置的控制下实现多种功能。类似地,示例性实施例的元件可通过使用软件编程或软件元件来实施,示例性实施例可用任意编程或脚本语言(诸如,作为非限制性示例,C语言、C++、Java、汇编等)来实施,各种算法用数据结构、对象、处理、例程或其它编程元件的任意组合来实施。功能方面可在一个或更多个处理器上执行的算法中被实施。进一步地,一个或更多个示例性实施例可采用任意数用于电子配置、信号处理和/或控制、数据处理等的传统技术。词汇“机制”、“元件”、“部件”和“配置”被广泛使用并且不限于机械的或物理的实施例,而可包括结合处理器的软件例程等。
应理解:应仅在描述性意义上考虑此处描述的示例性实施例而不是为了限制的目的。对在每个示例性实施例中的特征或方面的描述通常应被理解为可被应用于在其它示例性实施例中的相似特征或方面。
尽管已经参照附图描述了一个或多个示例性实施例,本领域普通技术人员将理解:在不脱离由下列权利要求限定的本发明的精神和范围的情况下,可在此做出各种形式和细节上的改变。
Claims (11)
1.一种发送数据的方法,所述方法包括:
分析网络的丢包率;
根据分析的结果确定将产生的至少一个检测包的数量;
基于确定的结果来产生所述至少一个检测包,所述至少一个检测包用于检测至少一个数据包之中的最后数据包的丢失;
发送包含所述至少一个数据包的帧;
如果响应于数据包是正被发送的帧的最后数据包,则发送所述至少一个检测包,使得所述至少一个检测包接续于最后数据包之后被发送,
其中,最后数据包是否丢失通过使用所述至少一个检测包来确定,
其中,所述至少一个检测包的数量随着网络的丢包率的增加而增加。
2.如权利要求1所述的方法,其中,如果响应于所述至少一个检测包的序号没有接续于所述至少一个检测包之前的所述至少一个数据包之中的最近接收的数据包的序号之后,则确定最后数据包丢失,并且
其中,所述发送方法还包括:根据在所述至少一个检测包被发送之后接收的包重传请求,将最后数据包发送到客户机。
3.如权利要求2所述的方法,还包括:如果响应于请求重传的包不是检测包,则发送所述请求重传的包。
4.一种接收数据的方法,所述方法包括:
接收包含至少一个数据包的帧和至少一个检测包,其中,所述至少一个检测包用于检测所述帧的所述至少一个数据包之中的最后数据包的丢失,所述至少一个检测包的数量能够根据网络的丢包率来确定;
如果数据包是所述帧的最后数据包,则通过使用接收的所述至少一个检测包来确定最后数据包是否丢失;以及
基于确定的结果来请求重传最后数据包,
其中,所述至少一个检测包的数量随着网络的丢包率的增加而增加。
5.如权利要求4所述的方法,其中,所述确定步骤还包括:如果响应于所述至少一个检测包的序号没有接续于在所述至少一个检测包之前的所述至少一个数据包之中的最近接收的数据包的序号之后,则请求重传最后数据包。
6.如权利要求5所述的方法,其中,所述确定步骤还包括:
确定丢失的包是否是检测包;以及
如果响应于丢失的包不是检测包,则请求重传丢失的包。
7.一种用于发送包含至少一个数据包的帧的设备,所述设备包括:
分析器,被配置为分析网络的丢包率;
确定器,被配置为根据分析的结果来确定将产生的至少一个检测包的数量,其中,所述至少一个检测包的数量随着网络的丢包率的增加而增加;
包产生器,被配置为产生所述至少一个检测包,其中,所述至少一个检测包用于检测所述至少一个数据包之中的最后数据包的丢失;
发送器,被配置为发送所述至少一个数据包和所述至少一个检测包,并且,其中,响应于所述帧的最后数据包被发送,接续于最后数据包之后发送所述至少一个检测包,
其中,最后数据包是否丢失通过使用所述至少一个检测包来确定。
8.如权利要求7所述的设备,还包括:
响应于所述至少一个检测包的序号没有接续于所述至少一个数据包之中的最近接收的数据包的序号之后,确定最后数据包丢失,
其中,发送器还被配置为根据在所述至少一个检测包被发送之后接收的包重传请求来将最后数据包发送到客户机。
9.一种用于接收数据的设备,所述设备包括:
接收器,被配置为接收包含至少一个数据包的帧和至少一个检测包,其中,所述至少一个检测包用于检测所述帧的所述至少一个数据包之中的最后数据包的丢失;
确定器,被配置为根据网络的丢包率来确定所述至少一个检测包的数量并且通过使用所述至少一个检测包来确定所述帧的所述至少一个数据包之中的最后数据包是否丢失,其中,所述至少一个检测包的数量随着网络的丢包率的增加而增加;以及
请求器,被配置为基于确定的结果来请求重传最后数据包。
10.如权利要求9所述的设备,其中,响应于所述至少一个检测包的序号没有接续于所述至少一个数据包之中的最近接收的数据包的序号之后,请求器还被配置为请求重传所述至少一个数据包之中的最后数据包。
11.如权利要求10所述的设备,其中,确定器还被配置为确定丢失的包是否为检测包;并且
其中,响应于丢失的包不是检测包,请求器还被配置为请求重传丢失的包。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130081200A KR102025757B1 (ko) | 2013-07-10 | 2013-07-10 | 데이터 전송 방법 및 장치, 데이터 수신 방법 및 장치 및 기록 매체 |
KR10-2013-0081200 | 2013-07-10 | ||
PCT/KR2014/006187 WO2015005688A1 (en) | 2013-07-10 | 2014-07-10 | Methods and apparatuses for transmitting and receiving data and recording medium for executing the methods |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105379164A CN105379164A (zh) | 2016-03-02 |
CN105379164B true CN105379164B (zh) | 2019-03-29 |
Family
ID=52278061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480039602.6A Expired - Fee Related CN105379164B (zh) | 2013-07-10 | 2014-07-10 | 用于发送和接收数据的方法和设备以及用于执行所述方法的记录介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9979512B2 (zh) |
EP (1) | EP3017559B1 (zh) |
KR (1) | KR102025757B1 (zh) |
CN (1) | CN105379164B (zh) |
WO (1) | WO2015005688A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294357B (zh) * | 2015-05-14 | 2019-07-09 | 阿里巴巴集团控股有限公司 | 数据处理方法和流计算系统 |
KR101905981B1 (ko) * | 2016-10-07 | 2018-10-10 | 현대자동차주식회사 | 차량의 모터 통합 제어 방법 및 그 시스템 |
US10461892B2 (en) * | 2016-12-09 | 2019-10-29 | Oracle International Corporation | Low latency communications |
CN114095130A (zh) | 2017-06-26 | 2022-02-25 | 深圳市道通智能航空技术股份有限公司 | 无人机及其地面站、数据传输方法 |
US11863328B2 (en) * | 2018-03-30 | 2024-01-02 | Intel Corporation | Multi-access management services packet recovery mechanisms |
CN110704268B (zh) * | 2018-07-10 | 2023-10-27 | 浙江宇视科技有限公司 | 一种视频图像自动化测试方法及装置 |
WO2020097871A1 (zh) * | 2018-11-15 | 2020-05-22 | 深圳市欢太科技有限公司 | 数据传输方法及相关产品 |
CN112511277B (zh) * | 2020-11-24 | 2021-08-06 | 广州技象科技有限公司 | 数据处理方法及装置 |
US11848868B2 (en) * | 2021-09-29 | 2023-12-19 | Huawei Technologies Co., Ltd. | Methods, systems and devices for network management using control packets |
US11863451B2 (en) | 2022-05-16 | 2024-01-02 | Huawei Technologies Co., Ltd. | Hardware accelerated temporal congestion signals |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1615607A (zh) * | 2001-11-23 | 2005-05-11 | 阿派伦特网络股份有限公司 | 进行网络诊断的签名匹配方法和装置 |
EP1667395A1 (en) * | 2003-09-18 | 2006-06-07 | Nomura Research Institute Co., Ltd. | Communication system, communication device, and data retransmission control method |
CN1815970A (zh) * | 2005-02-01 | 2006-08-09 | 华为技术有限公司 | 一种检测网络链路故障并定位故障的方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030039226A1 (en) * | 2001-08-24 | 2003-02-27 | Kwak Joseph A. | Physical layer automatic repeat request (ARQ) |
KR20070095993A (ko) * | 2001-08-24 | 2007-10-01 | 인터디지탈 테크날러지 코포레이션 | 물리 계층의 자동 재전송 요구를 구현하는 기지국 |
JP3912091B2 (ja) * | 2001-12-04 | 2007-05-09 | ソニー株式会社 | データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム |
US20070008884A1 (en) | 2003-10-08 | 2007-01-11 | Bob Tang | Immediate ready implementation of virtually congestion free guarantedd service capable network |
US20050185604A1 (en) | 2004-02-23 | 2005-08-25 | Samsung Electronics Co., Ltd. | Method and apparatus for transferring connectionless-oriented data packets |
EP1841145A1 (en) * | 2006-03-30 | 2007-10-03 | BRITISH TELECOMMUNICATIONS public limited company | Communications networks |
US8531954B2 (en) * | 2006-08-22 | 2013-09-10 | Centurylink Intellectual Property Llc | System and method for handling reservation requests with a connection admission control engine |
TW200835303A (en) * | 2006-09-07 | 2008-08-16 | Avocent Huntsville Corp | Point-to-multipoint high definition multimedia transmitter and receiver |
EP2026619A1 (en) * | 2007-08-14 | 2009-02-18 | Alcatel Lucent | Handover method and apparatus in a wireless telecommunications network |
JP4924503B2 (ja) | 2008-03-25 | 2012-04-25 | 富士通株式会社 | 輻輳検出方法、輻輳検出装置及び輻輳検出プログラム |
EP2234314A1 (en) | 2009-03-25 | 2010-09-29 | Thomson Licensing SA | A method of managing a packet administration map |
KR20110017518A (ko) | 2009-08-14 | 2011-02-22 | 한국전자통신연구원 | Udp 기반의 통신 방법 및 장치 |
CN102118277B (zh) | 2009-12-30 | 2013-12-25 | 华为技术有限公司 | 丢包检测方法和装置及路由器 |
JP5533322B2 (ja) | 2010-06-18 | 2014-06-25 | 富士通株式会社 | データ転送装置、データ転送方法及びデータ転送プログラム |
US9185579B2 (en) * | 2012-08-24 | 2015-11-10 | Ascom Network Testing Ab | Systems and methods for measuring available bandwidth in mobile telecommunications networks |
-
2013
- 2013-07-10 KR KR1020130081200A patent/KR102025757B1/ko active IP Right Grant
-
2014
- 2014-07-10 CN CN201480039602.6A patent/CN105379164B/zh not_active Expired - Fee Related
- 2014-07-10 EP EP14823372.9A patent/EP3017559B1/en not_active Not-in-force
- 2014-07-10 WO PCT/KR2014/006187 patent/WO2015005688A1/en active Application Filing
- 2014-07-10 US US14/327,953 patent/US9979512B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1615607A (zh) * | 2001-11-23 | 2005-05-11 | 阿派伦特网络股份有限公司 | 进行网络诊断的签名匹配方法和装置 |
EP1667395A1 (en) * | 2003-09-18 | 2006-06-07 | Nomura Research Institute Co., Ltd. | Communication system, communication device, and data retransmission control method |
CN1815970A (zh) * | 2005-02-01 | 2006-08-09 | 华为技术有限公司 | 一种检测网络链路故障并定位故障的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3017559A1 (en) | 2016-05-11 |
WO2015005688A1 (en) | 2015-01-15 |
EP3017559A4 (en) | 2017-02-15 |
US20150019716A1 (en) | 2015-01-15 |
KR102025757B1 (ko) | 2019-09-27 |
US9979512B2 (en) | 2018-05-22 |
KR20150007411A (ko) | 2015-01-21 |
EP3017559B1 (en) | 2019-03-20 |
CN105379164A (zh) | 2016-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105379164B (zh) | 用于发送和接收数据的方法和设备以及用于执行所述方法的记录介质 | |
US9432389B1 (en) | System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object | |
US20190273749A1 (en) | Unauthorized Communication Detection Apparatus and Recording Medium | |
US20160044527A1 (en) | Systems and Methods for Data Transmission | |
US20130016620A1 (en) | Network Transmission Capacity Measurement | |
US9071545B2 (en) | Network appliance that determines what processor to send a future packet to based on a predicted future arrival time | |
CN108449239A (zh) | 心跳包检测方法、装置、设备和存储介质 | |
CN109739711B (zh) | 一种接口测试方法、装置、设备和存储介质 | |
CN110035016A (zh) | 一种数据传输方法及装置 | |
CN104468265A (zh) | 局域网终端在线状态的检测方法和装置 | |
CN108292254A (zh) | 用于验证设备的操作的技术 | |
US10050856B2 (en) | Communication device, network available bandwidth estimation method in communication device, and storage medium on which network available bandwidth estimation program has been recorded | |
CN104270287B (zh) | 一种报文乱序检测方法及装置 | |
WO2021134418A1 (zh) | 一种数据校验方法及装置 | |
CN105915613A (zh) | 基于云服务的资源提供方法及装置 | |
CN106302432B (zh) | 一种基于车联网的通信装置及控制方法 | |
US20150281014A1 (en) | Packet analysis apparatus and packet analysis method | |
US9628366B2 (en) | Methods, systems, and computer readable media for sustaining active control over concurrent session connections | |
US20180317119A1 (en) | Predicting downlink throughput | |
CN108964844A (zh) | 数据传输方法、装置、电子设备和ct机架 | |
CN105453681B (zh) | 一种数据调度方法及装置 | |
JP2017034627A (ja) | 通信制御システムおよび通信制御方法 | |
US11330040B2 (en) | Transmitting messages in an internet transmission system | |
Taouil et al. | Enhanced packet loss recovery for real time pc-based gige vision avi systems | |
JP6310405B2 (ja) | サービス影響原因推定装置、サービス影響原因推定プログラム、及びサービス影響原因推定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190329 |
|
CF01 | Termination of patent right due to non-payment of annual fee |