数据分组发送设备、接收设备和方法

文档序号:7968524阅读:221来源:国知局
专利名称:数据分组发送设备、接收设备和方法
技术领域
本发明涉及数据分组在网络上的传输,具体涉及一种数据分组发 送设备、接收设备和方法,以提高无线数据传输系统的传输质量。
背景技术
随着无线技术的发展,无线链路的传输速度得到了大幅度的提升。例如,超宽带无线技术(UWB)在短距离内的传输速度达到几百兆, 而未来将能提供吉比特的速度。这种情况下,可以利用UWB技术将 计算机上正在播放的视频图像数据,以无线的方式传输给远端设备, 如大屏幕液晶电视,从而用户提供更好的视觉享受。但是,无线信道 的不确定性,给视频图像数据的可靠传输带来了极大的挑战而数据 是否能被可靠传输,又直接影响到图像在远端设备例如显示器上的显 示效果。因此,如何实现无线环境下的数据可靠传输,是无线数据传 输系统实现中的关键问题。通常,为保证数据的可靠传输,将应用构架在TCP/IP协议之上。 这样,数据的可靠性由TCP协议来保证。但对于上述的无线数据传输 系统而言,存在如下问题(1)无线数据传输系统中,接收方设备是 以逻辑电路如FPGA来进行传输控制的,而TCP/IP传输是针对主机 CPU设计的一套非常复杂的控制协议,所以在这样的平台上,实现 TCP/IP传输几乎是不可能的;(2)出现丢包时,TCP传输会降低发送 速度(减半),带来发送数据量的减少,从而影响视频数据的实时显示; 以及(3) TCP/IP传输需要较大的开销。此外,专利文献1 (CN1612536)披露了一种局域网内的数据传 输方法,它提出一种网络协议,在简化接收方操作的基础上,保证数 据的可靠、有序传输。为保证有序传输,引入了停-等操作,即发送方
发出一组数据分组后,必须等待接收方的确认才能发送下一组数据分组,这样,降低了发送的速度同时,还需要在接收方加入一个定时 器的处理逻辑。此外,专利文献2 (WO2005069528)披露了一种用于有线实时通 信的数据传输方法,它需要接收端根据信号传播时延确定上传确认信 号的时间,这样造成上传确认信号(ACK)的不确定性;同时,该方 法仅能提供一次重传。发明内容针对无线数据传输的特点,本发明提出了一种非对称的简化的网 络传输方法,目的是使发送方(例如计算机)和接收方(例如显示设 备)之间能够最大限度的保证数据的可靠传输。在本发明的一个方面,提出了一种数据分组传输方法,包括从 发送设备向接收设备发送多个数据分组;接收设备接收数据分组;在 所接收的数据分组中存在携带了反馈请求标识符的数据分组的情况 下,从接收设备向发送设备发送包含表示各个数据分组是否被接收设 备接收到的信息的反馈分组;以及发送设备根据所述反馈分组中的信 息,重传未被接收设备接收到的数据分组。此外,根据本发明的一个实施例,在所接收的数据分组中不存在 携带了反馈请求标识符的数据分组且所接收的数据分组的数目大于预 定值的情况下,从接收设备向发送设备发送包含表示各个数据分组是 否被接收设备接收到的信息的反馈分组。此外,根据本发明的一个实施例,在一数据分组被重传的次数超 过预定的阈值时,不再重传该数据分组。此外,根据本发明的一个实施例,所述信息包括接收设备接收的 数据分组的序列号。此外,根据本发明的一个实施例,所述多个数据分组的最后一个 数据分组携带了反馈请求标识符。在本发明的另一方面,提供了一种数据分组发送设备,包括发 送装置,用于发送数据分组;接收装置,用于接收表示所发送的哪些
数据分组被接收设备接收的信息的反馈分组以及控制装置,基于所 述反馈分组中的信息,控制发送装置重传未被接收的数据分组。此外,根据本发明的一个实施例,被发送的数据分组带有序列号。 此外,根据本发明的一个实施例,至少一个被发送的数据分组携带了反馈请求标识符。在本发明的又一方面,提供了一种数据分组接收设备,包括接 收装置,用于接收数据分组;反馈处理装置,用于在所接收的数据分 组中存在携带了反馈请求标识符的数据分组的情况下,从接收设备向 发送设备发送包含表示各个数据分组是否被接收到的信息的反馈分 组。利用本发明的上述方案,能够在无线数据传输环境中提供较高的 传输速度、减少协议处理的复杂性,极大地降低接收方的实现难度并 且最大程度地保证了数据的可靠性。


从—卜'面结合附图的详细描述中,本发明的上述特征和优点将更明 显,其中图1示出了根据本发明一个实施例的数据分组发送端的结构框图;图2示出了根据本发明一个实施例的数据分组接收端的结构框图;图3 (A)示出了如图1所示的数据分组发送端的发送的数据分组 的格式图3 (B)示出了如图2所示的数据分组接收端发送的反馈分组的 格式;图4是用来说明根据本发明实施例的数据分组发送过程的流程图;图5是用来说明根据本发明实施例的数据分组接收过程的流程图;图6是用来说明根据本发明实施例的数据分组重传过程的流程图。
具体实施方式
下面,参考附图详细说明本发明的优选实施方式。在附图中,虽 然示于不同的附图中,但相同的附图标记用于表示相同的或相似的组 件。为了清楚和简明,包含在这里的已知的功能和结构的详细描述将 被省略,否则它们将使本发明的主题不清楚。图1示出了根据本发明一个实施例的数据分组发送端的结构框图。图2示出了根据本发明一个实施例的数据分组接收端的结构框图; 如图1所示,根据本实施例的诸如计算机之类的数据分组发送端 100包括发送缓冲器110,具有用于缓冲从应用层获取待发送的数据分 组的发送队列;控制单元130,用于为每个数据分组添加分组头信息, 其中包括分组序列号,以及反馈请求标志等;第一发送单元120,用 于将附加了分组头信息的数据分组从天线发送出去;以及第一接收单 元140,用于接收从接收端反馈的信息。此外,控制单元130根据接 收端的反馈信息确定丢失的数据分组,然后命令第一发送单元120从 发送缓冲器110中取出丢失的数据分组,进行重传操作。如图2所示,根据本发明实施例的诸如投影仪之类的数据分组接 收端200包括第二接收单元210,用于通过天线接收从发送端接收发 送的数据分组接收缓冲器220,用于缓冲接收的数据分组,并具有 用于记录接收的数据分组的序列号的接收队列,其中被确认接收到的 数据分组被提供给其他部分,例如存储器或者处理器,用于进行后续 的处理,例如解压,显示等等;反馈处理单元240,用于判断接收的 数据分组中是否有哪个数据分组携带了反馈请求标识符,如果有分组 携带了反馈请求标识符,则通过第二发送单元230将该接收缓冲器220 屮该分组之前的数据分组的序列号反馈给发送端100。此外,反馈处 理单元240在接收缓冲器中的数据分组中没有一个数据分组携带有反 馈请求标识符的情况下,判断接收缓冲器220中的接收队列所记录的 数据分组的数目是否达到预定的阈值,如果达到预定的阈值,也通过 第二发送单元230将接收缓冲器220中的数据分组的序列号发送给发
送端100。图3 (A)示出了如图1所示的数据分组发送端的发送的数据分组 的格式。图3 (B)示出了如图2所示的数据分组接收端发送的反馈分 组的格式。如图3 (A)所示,数据分组发送端100发送的数据分组具有如下 格式DMA字段表示接收端的MAC地址;SMA字段表示发送端的 MAC地址;PT字段表示协议类型,用来与TCP、 UDP等协议区分; SID字段表示连接号,用来区分同一接收/发送对中的不同数据连接; PKT字段表示分组类型,用来区分不同类型的数据分组SN字段表 示分组序列号,用来标识每个发送数据分组AR字段表示反馈请求 标记位,用来标识是否需要反馈LEN字段表示分组中的数据长度; DT字段表示变长的数据;CRC字段表示数据校验位。如图3 (B)所示,数据分组接收端200向数据分组发送端100 反馈的数据分组的格式如下DMA字段表示接收端的MAC地址 SMA字段表示发送端的MAC地址;PT字段表示协议类型,用来与 TCP、 UDP等协议区分SID字段表示连接号,用来区分同一接收/ 发送对中的不同数据连接;PKT字段表示分组类型,用来区分不同类 型的数据分组;RN字段表示接收端100接收的数据分组的个数;RSNi 字段表示每个接收到的发送数据分组的序列号;CRC字段表示数据校 验位。下面对照图4 6来详细说明本发明的数据分组发送端和数据分 组接收端的详细操作过程。图4是用来说明根据本发明实施例的数据分组发送过程的流程 图。如图4所示,在步骤S110,发送端100与接收端200建立连接, 然后在步骤S120,发送缓冲器110从应用层获得数据分组,通过第一 发送单元120发送给接收端200。发送端100的缓冲器110具有大小为SEND—QUEUE_NUM的发 送队列,并且该发送队列具有三个参数send一head、 send_tail、 last—acked。发送队列用于存储巳发送但未得到确认的数据分组的序列 号,其中,参数send—head用来标识当前发送队列的队列首位置,它 之前的数据分组都已得到接收端的确认参数send—tail标识当前发送 队列的队尾位置,上层写入的数据分组就放在之后的位置;last一acked 标识目前得到接收端确认的最大序列号。接下来,在步骤S130,控制单元130判断发送队列是否巳经满了。 在步骤S140,如果发送队列中的数据分组数目达到了上述的 SEND一QUEUE一NUM,则清空发送队列中的一部分,并且向应用层返 回出错信息,由应用层发送下一步的处理命令,例如,继续发送或者 断开连接。为保证发送端能及时重传丢失的数据分组,在发送一定数量的数 据分组后,需要设置分组头信息中的反馈请求标识符,要求数据分组 接收端200反馈已收到数据分组的信息,例如序列号。在步骤S150, 如果发送队列未满,则判断是否要给分组添加反馈标识符,也就是要 提高分组传输质量。如果确定要高质量地进行数据传输,则在步骤 S160,控制单元130给发送队列中将要发送的数据分组中的分组报头 的标识符字段置位,表示需要数据分组接收端200进行接收确认。然后,在步骤S170,设置分组头信息中的分组序列号,并且随着 数据分组的发送增加分组序列号。最后,在步骤S180,通过第一发送 单元120将数据分组发送出去,并且将该数据分组存储在发送队列的 尾部,增加参数send一tail。图5是用来说明根据本发明实施例的数据分组接收过程的流程图。数据分组接收端200具有存储接收的数据分组和预定数目,例如 N,的数据分组的序列号的接收缓冲器220,例如它具有一个接收列表, 该接收列表依据情况将其中接收的数据分组的序列号反馈给发送端 100,这包含两种情况 根据发送端的需要,组包上传接收列表中的所有序列号,同 时清空接收列表列表。
当接收列表满时,组包上传接收列表中的序列号,同时清空 接收列表列表。因此,接收端的逻辑十分简单,便于硬件逻辑电路的实现。
如图5所示,在步骤S210,数据分组接收端200的第二接收单元 210接收来自数据分组发送端100的数据分组,将其存储在接收缓冲 器220中,并且在接收队列中存储这些数据分组的序列号。然后,反 馈处理单元240判断是否需要反馈,也就是判断接收的数据分组中是 否有哪个分组携带了反馈请求标识符。如果有分组携带了反馈请求标 识符,则反馈处理单元240将接收缓冲器220中的接收列表中的所有 序列号按照图3 (B)所示的格式通过第二发送单元230发送给发送端 亂如果接收的数据分组中没有任何数据分组携带了反馈请求标识 符,则判断接收缓冲器220中存储的数据分组的数目是否达到了预定 的阈值,例如N。如果达到了预定的阈值,则流程转向步骤S240,执 行上述的反馈过程,否则,流程转向步骤S210,继续接收数据分组。图6是用来说明根据本发明实施例的数据分组重传过程的流程图。如图6所示,在步骤S310,发送端100通过第一接收单元接收到 反馈分组。然后,在步骤S320,发送端根据该反馈分组,在send—head 到lastacked的范围内,确认巳收到的数据分组。在步骤S330,如果 此范围内,发送队列中对应的数据分组没有得到确认,就认为该数据 分组丢失了,重新发送该数据分组。需要注意的是,重传发送优先于新数据分组的发送,目的是尽快 恢复丢失的数据分组。在步骤S340,对已经确认的数据分组释放所占 用的资源,并且调整相应的参数。也就是,处理完一个反馈包后,控 制单元130调整send—head和last一acked, send_head指向发送队列中 第一个未被确认的数据分组,last—acked指向在发送队列中已被确认的 最大序列号。在操作时,不可能无限次的重传丢失的数据分组,因此需要设定 最大重传次数,当send—head指向的数据分组超过重传次数时,则认 为该数据分组得到了接收端的确认,不再重传,并相应的移动send—tail 指向到下一个未被确认的数据分组。下面结合一个具体的例子详细说明上述的接收过程和重传过程。
假设发送方发送了 IO个数据分组,它们的序列号依次为1,2,…, 10,且第十个数据分组上的反馈请求标识符AR被置位同时,接收 方的接收列表长度为10。(1) 如果接收端全部接收到这十个数据分组,由于第十个数据分 组要求反馈数据分组,也就是携带了反馈请求标识符,接收端将所接 收到数据分组的序列号打包上传给发送端;发送方根据上传反馈数据 分组,判断发送的十个数据分组已收到,并将这十个数据分组移出发 送发送队列。而由于没有数据分组丢失,重传机制就没有启动,此时 参数send—head等于11 , last—acked等于10。(2) 如果在这十个数据分组中,接收方丢失了除第十个数据分组 以外的任意多个其它数据分组,比如丢失了第五个和第八个数据分 组,由于第十个数据分组要求反馈数据分组,接收方将所接收到数据 分组的序列号打包上传给发送方发送方根据上传反馈数据分组,确 定丢失了第五个和第八个数据分组,并重传这两个数据分组,此时参 数sendjiead等于5, last—acked等于4。(3) 如果在这十个数据分组中,接收方丢失了包含第十个数据分 组在内的任意多个数据分组,比如丢失了第六个和第十个数据分组, 此时接收列表的长度为8,并且由于带有反馈请求标识符的第十个数 据分组丢失了,所以接收方不会上传反馈包,只有当接收方再收到第 十一个和第十二个数据分组时,接收列表满了,这时接收方才会上传 反馈包。发送方根据反馈包,重传第六个和第十个数据分组,此时参 数send—head等于6, last—acked等于5。从上述的情况(2)和(3)可以看出,主动确认机制和被动确认 机制结合,保证确认分组丢失时也能正常工作。上面的描述仅用于实现本发明的实施方式,本领域的技术人员应 该理解,在不脱离本发明的范围的任何修改或局部替换,均应该属于 本发明的权利要求来限定的范围,因此,本发明的保护范围应该以权 利要求书的保护范围为准。
权利要求
1.一种数据分组传输方法,包括从发送设备向接收设备发送多个数据分组;接收设备接收数据分组;在所接收的数据分组中存在携带了反馈请求标识符的数据分组的情况下,从接收设备向发送设备发送包含表示各个数据分组是否被接收设备接收到的信息的反馈分组;以及发送设备根据所述反馈分组中的信息,重传未被接收设备接收到的数据分组。
2. 根据权利要求l所述的传输方法,其特征在于,在所接收的数 据分组中不存在携带了反馈请求标识符的数据分组且所接收的数据分 组的数目大于预定值的情况下,从接收设备向发送设备发送包含表示 各个数据分组是否被接收设备接收到的信息的反馈分组。
3. 根据权利要求1或2所述的数据分组传输方法,其特征在于,在一数据分组被重传的次数超过预定的阈值时,不再重传该数据分组。
4. 根据权利要求1或2所述的数据分组传输方法,其特征在于, 所述信息包括接收设备接收的数据分组的序列号。
5. 根据权利要求1或2所述的数据分组传输方法,其特征在于, 所述多个数据分组的最后一个数据分组携带了反馈请求标识符。
6. —种数据分组发送设备,包括 发送装置,用于发送数据分组接收装置,用于接收表示所发送的哪些数据分组被接收设备接收 的信息的反馈分组以及控制装置,基于所述反馈分组中的信息,控制发送装置重传未被 接收的数据分组。
7. 根据权利要求6所述的发送设备,其特征在于,被发送的数据 分组带有序列号。
8. 根据权利要求6所述的发送设备,其特征在于,至少一个被发送的数据分组携带了反馈请求标识符。
9. 根据权利要求6所述的发送设备,其特征在于,在一数据分组 被重传的次数超过预定的阈值时,不再重传该数据分组。
10. 根据权利要求7所述的发送设备,其特征在于,所述信息包 括被接收设备接收的数据分组的序列号。
11. 一种数据分组接收设备,包括 接收装置,用于接收数据分组;反馈处理装置,用于在所接收的数据分组中存在携带了反馈请求 标识符的数据分组的情况下,从接收设备向发送设备发送包含表示各 个数据分组是否被接收到的信息的反馈分组。
12. 根据权利要求11所述的接收设备,其特征在于,在所接收的数据分组中不存在携带了反馈请求标识符的数据分组且所接收的数据分 组的数目大于预定值的情况下,从接收设备向发送设备发送包含表示 各个数据分组是否被接收到的信息的反馈分组。
全文摘要
公开了一种非对称的数据分组发送设备、接收设备和数据分组传输方法。该方法包括从发送设备向接收设备发送多个数据分组;接收设备接收数据分组;在所接收的数据分组中存在携带了反馈请求标识符的数据分组的情况下,从接收设备向发送设备发送包含表示各个数据分组是否被接收到的信息的反馈分组;以及发送设备根据所述反馈分组中的信息,重传未被接收到的数据分组。利用本发明的上述方案,能够在无线数据传输环境中提供较高的传输速度、减少接收方的协议处理复杂性,极大地降低接收方的实现难度并且最大程度地保证了数据的可靠性。
文档编号H04L12/56GK101150494SQ20061012786
公开日2008年3月26日 申请日期2006年9月22日 优先权日2006年9月22日
发明者臻 江, 郭子华 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1