一种应答信号的生成方法、接收方法与装置.pdf

上传人:62****3 文档编号:661520 上传时间:2018-03-02 格式:PDF 页数:18 大小:3.76MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310113532.1

申请日:

2013.04.02

公开号:

CN104104475A

公开日:

2014.10.15

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 1/16申请日:20130402|||公开

IPC分类号:

H04L1/16; H04L1/18

主分类号:

H04L1/16

申请人:

安凯(广州)微电子技术有限公司

发明人:

邓州; 唐安阳; 胡胜发

地址:

510663 广东省广州市萝岗区广州科学城科学大道182号创新大厦C1区3楼

优先权:

专利代理机构:

北京集佳知识产权代理有限公司 11227

代理人:

王宝筠

PDF下载: PDF下载
内容摘要

本发明公开了一种应答信号的生成方法,所述方法包括:接收端接收当前数据包并获取当前数据包的序号;根据所述当前数据包的序号确定序号小于且最接近当前数据包序号的第一预设阈值个数据包;生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号;向发送端反馈所述当前应答信号。本发明中,当前应答信号中包括了当前数据包之前第一预设阈值个数据包的接收信息,即使发送当前数据包之前出现了应答信号的丢失,发送端根据当前应答信号同样可以确定之前是否有数据包丢失,这样,可以避免在接收端已经接收到该数据包,而发送端没有接收到应答信号时,重复发送该数据包导致网络资源利用低的问题。

权利要求书

1.  一种应答信号的生成方法,其特征在于,所述方法包括:
接收端接收当前数据包并获取当前数据包的序号;
根据所述当前数据包的序号确定序号小于且最接近当前数据包序号的第一预设阈值个数据包;
生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号,所述接收信息指示数据包是否被接收;
向发送端反馈所述当前应答信号,以便发送端根据当前应答信号确定是否有数据包丢失。

2.
  根据权利要求1所述的方法,其特征在于,所述接收信息为数据包序号时,生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号,包括:
获取第一预设阈值个数据包中已经接收到的数据包;
将当前数据包的序号和已经接收到的数据包的序号按照由小到大的顺序排列;
将排列后的数据包的序号作为当前应答信号。

3.
  根据权利要求1所述的方法,其特征在于,所述接收信息为数据包接收状态时,生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号,包括:
存储包括第二预设阈值个二进制位的记录,所述记录按照数据包序号的大小顺序依次记录最近接收的第二预设阈值个数据包的接收状态、在接收当前数据包之前,最后接收到的数据包的序号,所述记录的最低位为最后接收到的数据包的接收状态;
计算所述当前数据包的序号与最大序号的差值,所述最大序号为最后接收到的数据包的序号;
若所述差值为零,则将记录的第二预设阈值比特中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;
若所述差值大于零,则将所述记录左移所述差值位;将左移后的记录中的最低位设置为当前数据包的接收状态;将左移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信 号,所述第三预设阈值个二进制位指示的接收状态包括所述第一预设阈值个数据包的接收状态和当前数据包的接收状态;
若所述差值小于零,且所述差值的绝对值小于第二预设阈值,将当前数据包接收状态设置为已接收;将进行设置后的记录右移所述差值的绝对值位;将右移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;
若所述差值小于零,且所述差值的绝对值大于第二预设阈值,则复位所述记录;将复位后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;所述复位所述记录包括:将所述记录中的最低位设置为当前数据包的接收状态,将所述记录中其他二进制位设置为未接收。

4.
  一种应答信号的接收方法,其特征在于,所述方法包括:
接收当前应答信号,所述当前应答信号包括当前数据包的接收信息,以及,序号小于且最接近当前数据包序号的第一预设阈值个数据包的接收信息;
根据当前应答信号确定是否有数据包丢失。

5.
  根据权利要求4所述的方法,其特征在于,所述根据当前应答信号确定是否有数据包丢失,包括:
所述接收信息为数据包序号时,判断所述当前应答信号中记录的数据包的序号是否连续,若否,则根据当前应答信号中数据包的序号确定丢失的数据包;
所述接收信息为数据包接收状态时,判断所述应答信号中第三预设阈值个二进制位标识的接收状态是否均是已接收,若否,根据当前应答信号中第三预设阈值个二进制位指示的接收状态确定丢失的数据包。

6.
  一种应答信号的生成装置,其特征在于,所述装置包括:
第一接收模块,用于接收当前数据包并获取当前数据包的序号;
第一确定模块,用于根据所述当前数据包的序号确定序号小于且最接近当前数据包序号的第一预设阈值个数据包;
生成模块,用于生成携带当前数据包的接收信息和第一预设阈值个数 据包的接收信息的当前应答信号;
第一发送模块,用于向发送端反馈所述当前应答信号,以便发送端根据当前应答信号确定是否有数据包丢失。

7.
  根据权利要求6所述的装置,其特征在于,所述生成模块包括:
获取子模块,用于所述接收信息为数据包序号时,获取第一预设阈值个数据包中已接收到的数据包;
排序子模块,用于将当前数据包的序号和所述已接收到的数据包的序号按照由小到大的顺序排列;
第一生成子模块,用于将排列后的数据包的序号作为当前应答信号。

8.
  根据权利要求6所述的装置,其特征在于,所述接收指示信息为数据包接收状态时,所述生成模块包括:
记录子模块,用于存储包括第二预设阈值个二进制位的记录,所述记录按照数据包序号的大小顺序依次记录最近接收的第二预设阈值个数据包的接收状态、在接收当前数据包之前,最后接收到的数据包的序号,最低位记录最后接收到的数据包的接收状态;
计算子模块,用于计算所述当前数据包的序号与最大序号的差值,所述最大序号为最后接收到的数据包的序号;
第二生成子模块,用于当所述差值为零时,将记录的第二预设阈值比特中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;
左移子模块,用于所述差值大于零时,将所述记录左移所述差值位;
第一设置子模块,用于将左移后的记录中的最低位设置为当前数据包的接收状态;
第三生成子模块,用于将左移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号,所述第三预设阈值个二进制位指示的接收状态包括所述第一预设阈值个数据包的接收状态和当前数据包的接收状态;
第二设置子模块,用于所述差值小于零且所述差值的绝对值小于第二预设阈值时,将所述记录中标识当前数据包接收状态的二进制位设置为接 收;
右移子模块,用于将进行设置后的记录右移所述差值的绝对值位;
第四生成子模块,用于将右移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;
复位子模块,用于所述差值小于零且所述差值的绝对值大于第二预设阈值时,复位所述记录,所述复位所述记录为将所述记录中的最低位设置为当前数据包的接收状态,将所述记录中其他二进制位设置为标识未接收的状态;
第五生成子模块,用于将复位后的记录和当前数据包的序号作为当前应答信号。

9.
  一种应答信号的接收装置,其特征在于,所述装置包括:
第二接收模块,用于接收当前应答信号,所述当前应答信号包括当前数据包和序号小于且最接近当前数据包序号的第一预设阈值个数据包的接收信息;
第二确定模块,用于根据当前应答信号确定是否有数据包丢失。

10.
  根据权利要求9所述的装置,其特征在于,所述第二确定模块包括:
第一判断子模块,用于所述接收信息为数据包序号时,判断所述当前应答信号中记录的数据包的序号是否连续;
第一确定子模块,用于所述当前应答信号中记录的数据包的序号不连续时,根据当前应答信号中数据包的序号确定丢失的数据包;
第二判断子模块,用于所述接收信息为数据包接收状态时,判断所述应答信号中第三预设阈值个二进制位标识的状态是否均是已接收;
第二确定子模块,用于所述第二判断子模块的结果为否时,根据当前应答信号中第三预设阈值个二进制位指示的接收状态确定丢失的数据包。

说明书

一种应答信号的生成方法、接收方法与装置
技术领域
本发明涉及网络通信技术领域,特别是涉及一种应答信号的生成方法、一种应答信号的接收方法,及其各自对应的装置。
背景技术
用户通过网络传输数据时,是以数据包的形式向接收端发送的,在数据包发送的过程中,发送端按照数据包的序号,依次(由小到大)向接收端发送数据包,在此过程中经常会出现数据包丢失的现象,为了保证接收端接收数据的完整性,可以在接收端中采用接收反馈机制。现有技术中的反馈机制具体为:接收端接收到一个数据包的时候,向发送端发送一个只包含该数据包接收状态的应答信号用来指示该数据包已经收到。发送端收到应答信号后确定所述数据包已经被成功接收,然后发送下一数据包。通过在接收端引进接收反馈机制,在一定程度上保证了接收端接收数据的完整性。
现有技术中,发送端根据发送数据包的应答信号来确定接收端成功接收了发送的数据包,但是在实际应用场景下,存在应答信号丢失的问题,即数据发送端没有收到接收端反馈的应答信号,此时,数据发送端无法确定数据包是否被成功接收。为了保证接收端接收数据的完整性,在发送端无法确定数据包是否被成功接收的时候,发送端必须重发本次发送的数据包直至接收到指示所述数据包成功接收的应答信号。网络中传输数据包会占用一定的带宽,在接收端已经接收到数据包的情况下,数据发送端重复传输数据包就会造成网络资源的浪费,降低了网络资源的利用率。
发明内容
本发明提供一种应答信号的生成方法、一种应答信号的接收方法,及其各自对应的装置,以解决现有技术中,因为应答信号丢失而发送端重传数据包造成的网络资源浪费,致使网络利用率低的技术问题,以提高网络资源利用率。
为解决上述技术问题,本发明提供一种应答信号的生成方法、一种应答信号的接收方法,及其各自对应的装置,本发明提供如下技术方案:
一种应答信号的生成方法,该方法包括:
接收端接收当前数据包并获取当前数据包的序号;
根据所述当前数据包的序号确定序号小于且最接近当前数据包序号的第一预设阈值个数据包;
生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号,所述接收信息指示数据包是否被接收;
向发送端反馈所述当前应答信号,以便发送端根据当前应答信号确定是否有数据包丢失。
优选的,所述接收信息为数据包序号时,生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号,包括:
获取第一预设阈值个数据包中已经接收到的数据包;
将当前数据包的序号和已经接收到的数据包的序号按照由小到大的顺序排列;
将排列后的数据包的序号作为当前应答信号。
优选的,所述接收信息为数据包接收状态时,生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号,包括:
存储包括第二预设阈值个二进制位的记录,所述记录按照数据包序号的大小顺序依次记录最近接收的第二预设阈值个数据包的接收状态、在接收当前数据包之前,最后接收到的数据包的序号,所述记录的最低位为最后接收到的数据包的接收状态;
计算所述当前数据包的序号与最大序号的差值,所述最大序号为最后接收到的数据包的序号;
若所述差值为零,则将记录的第二预设阈值比特中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;
若所述差值大于零,则将所述记录左移所述差值位;将左移后的记录中的最低位设置为当前数据包的接收状态;将左移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号,所述第三预设阈值个二进制位指示的接收状态包括所述第一预设阈值个数据包的接收状态和当前数据包的接收状态;
若所述差值小于零,且所述差值的绝对值小于第二预设阈值,将当前数据包接收状态设置为已接收;将进行设置后的记录右移所述差值的绝对值位;将右移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;
若所述差值小于零,且所述差值的绝对值大于第二预设阈值,则复位所述记录;将复位后记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;所述复位所述记录包括:将所述记录中的最低位设置为当前数据包的接收状态,将所述记录中其他二进制位设置为未接收。
本发明还提供一种应答信号的接收方法,所述方法包括:
接收当前应答信号,所述当前应答信号包括当前数据包的接收信息,以及,序号小于且最接近当前数据包序号的第一预设阈值个数据包的接收信息;
根据当前应答信号确定是否有数据包丢失。
优选的,所述根据当前应答信号确定是否有数据包丢失,包括:
所述接收信息为数据包序号时,判断所述当前应答信号中记录的数据包的序号是否连续,若否,则根据当前应答信号中数据包的序号确定丢失的数据包;
所述接收信息为数据包接收状态时,判断所述应答信号中第三预设阈值个二进制位标识的接收状态是否均是已接收,若否,根据当前应答信号中第三预设阈值个二进制位指示的接收状态确定丢失的数据包。
本发明还提供一种应答信号的生成装置,所述装置包括:
第一接收模块,用于接收当前数据包并获取当前数据包的序号;
第一确定模块,用于根据所述当前数据包的序号确定序号小于且最接近当前数据包序号的第一预设阈值个数据包;
生成模块,用于生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号;
第一发送模块,用于向发送端反馈所述当前应答信号,以便发送端根据当前应答信号确定是否有数据包丢失。
优选的,所述生成模块包括:
获取子模块,用于所述接收信息为数据包序号时,获取第一预设阈值个数据包中已接收到的数据包;
排序子模块,用于将当前数据包的序号和所述已接收到的数据包的序号按照由小到大的顺序排列;
第一生成子模块,用于将排列后的数据包的序号作为当前应答信号。
优选的,所述接收指示信息为数据包接收状态时,所述生成模块包括:
记录子模块,用于存储包括第二预设阈值个二进制位的记录,所述记录按照数据包序号的大小顺序依次记录最近接收的第二预设阈值个数据包的接收状态、在接收当前数据包之前,最后接收到的数据包的序号,最低位记录最后接收到的数据包的接收状态;
计算子模块,用于计算所述当前数据包的序号与最大序号的差值,所述最大序号为最后接收到的数据包的序号;
第二生成子模块,用于当所述差值为零时,将记录的第二预设阈值比特中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;
左移子模块,用于所述差值大于零时,将所述记录左移所述差值位;
第一设置子模块,用于将左移后的记录中的最低位设置为当前数据包的接收状态;
第三生成子模块,用于将左移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号,所述第三预设阈值个二进制位指示的接收状态包括所述第一预设阈值个数据包的接收 状态和当前数据包的接收状态;
第二设置子模块,用于所述差值小于零且所述差值的绝对值小于第二预设阈值时,将所述记录中标识当前数据包接收状态的二进制位设置为接收;
右移子模块,用于将进行设置后的记录右移所述差值的绝对值位;
第四生成子模块,用于将右移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;
复位子模块,用于所述差值小于零且所述差值的绝对值大于第二预设阈值时,复位所述记录,所述复位所述记录为将所述记录中的最低位设置为当前数据包的接收状态,将所述记录中其他二进制位设置为标识未接收的状态;
第五生成子模块,用于将复位后记录和当前数据包的序号作为当前应答信号。
本发明还提供一种应答信号的接收装置,所述装置包括:
第二接收模块,用于接收当前应答信号,所述当前应答信号包括当前数据包和序号小于且最接近当前数据包序号的第一预设阈值个数据包的接收信息;
第二确定模块,用于根据当前应答信号确定是否有数据包丢失。
优选的,所述第二确定模块包括:
第一判断子模块,用于所述接收信息为数据包序号时,判断所述当前应答信号中记录的数据包的序号是否连续;
第一确定子模块,用于所述当前应答信号中记录的数据包的序号不连续时,根据当前应答信号中数据包的序号确定丢失的数据包;
第二判断子模块,用于所述接收信息为数据包接收状态时,判断所述应答信号中第三预设阈值个二进制位标识的状态是否均是已接收;
第二确定子模块,用于所述第二判断子模块的结果为否时,根据当前应答信号中第三预设阈值个二进制位指示的接收状态确定丢失的数据包。
本发明的技术方案中,接收端收到当前数据包后,向发送端反馈的当 前应答信号中除了当前数据包的接收信息之外,还包括了当前数据包之前的第一预设阈值个数据包的接收信息。若在发送当前数据包之前出现了应答信号的丢失,采用本发明的技术方案,在应答信号丢失时,可以根据接收的当前应答信号确定是否有数据包丢失,发送端不需要在没有收到应答信号时就重发数据包。与现有技术相比,本发明的技术方案可以避免在接收端已经接收到该数据包,而发送端没有接收到应答信号时,重复发送该数据包的现象,提高了网络资源利用率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明发送端发送数据包的时序图;
图2为本发明一种应答信号的生成方法实施例1的流程图;
图3为本发明接收信息为数据包接收状态时,应答信号的生成流程图;
图4为本发明一种应答信号接收方法实施例1的流程图;
图5为本发明一种应答信号的生成装置实施例1的结构示意图;
图6为本发明接收信息为数据包序号时生成模块的结构示意图;
图7为本发明接收信息为数据包接收状态生成模块结构示意图;
图8为本发明一种应答信号的接收装置实施例1的结构示意图;
图9为本发明接收信息为数据包序号时第二确定模块的结构示意图;
图10为本发明接收信息为数据包接收状态时第二确定模块的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解本发明的技术方案,在介绍本发明的技术方案之前,首先说明数据包发送端发送数据的时序,参考图1所示,为发送端发送数据包的时序,发送端先对待发送数据进行打包,为数据包设置序号,并且按照数据包的序号,由小到大顺序排列,将一定数量的数据包放入发送队列,当发送端发送一个数据包后,发送端在发送队列中补入一个数据包,补入的数据包的序号接续发送队列中最后一个数据包的序号,比如,原有最后一个数据包的序号为10,则补入的数据包的序号为11。
参考图1所示发送端发送数据包的时序,来说明本发明的技术方案,参考图2所示,为本发明提供的一种应答信号的生成方法实施例1的流程图,本实施例具体可以包括:
步骤201:接收端接收当前数据包并获取当前数据包的序号。
发送端发送数据包时,在数据包中包括指示数据包序号的信息,接收端通过对数据包的解析,可以获取接收的当前数据包的序号。
步骤202:根据所述当前数据包的序号确定序号小于且最接近当前数据包序号的第一预设阈值个数据包。
由图1所示可知,发送端是按照数据包的序号顺序发送的,所以,接收端接收到当前数据包后,按照获取的当前数据包的序号就可以确定序号小于且最接近当前数据包序号的第一预设阈值个数据包。
步骤203:生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号。
所述的接收信息包括数据包序号或数据包接收状态,当接收指示信息为数据包序号时,所述当前应答信号中携带当前数据包的序号和第一预设阈值个数据包中接收到的数据包的序号;当接收信息为数据包接收状态时,所述当前应答信号中携带当前数据包的序号、当前数据包的接收状态以及所述第一预设阈值个数据包的接收状态。
步骤204:向发送端反馈所述当前应答信号。
接收端生成当前应答信号后,向发送端反馈当前应答信号,以便发送端根据所述当前应答信号确定是否有数据包丢失。
本实施例的技术方案中,接收端收到当前数据包后,向发送端反馈的当前应答信号中除了当前数据包的接收信息之外,还包括了当前数据包之前的第一预设阈值个数据包的接收信息。若在发送当前数据包之前出现了应答信号的丢失,采用本发明的技术方案,在应答信号丢失时,可以根据接收的当前应答信号确定是否有数据包丢失,发送端不需要在没有收到应答信号时就重发数据包。与现有技术相比,本发明的技术方案可以避免在接收端已经接收到该数据包,而发送端没有接收到应答信号时,重复发送该数据包的现象,提高了网络资源利用率。
本实施例的步骤203中,当接收信息为数据包序号时,优选的,找到第一预设阈值个数据包中已接收到的数据包后,将当前数据包和所述已接收到的数据包的序号按照由小到大的顺序进行排列,将排列后的数据包的序号作为当前应答信号。
而当接收信息为数据包接收状态时,在实际操作中,应答信号的生成方式相对要复杂一些,下面针对这种情况作详细介绍。参考图3所示,为在接收信息为数据包接收状态时,应答信号的生成流程图,所述应答信号的生成具体包括:
步骤301:存储包括第二预设阈值个二进制位的记录。
为了便于描述,记第二预设阈值为m,所述m位的记录中按照数据包序号的大小顺序依次记录了最近接收的m个数据包的接收状态、在接收当前数据包之前,最后接收到的数据包的序号,其中最低位(最后一位)记录最后接收到的数据包的接收状态;其中m位的记录如表1所示:
表1  m位的记录

111……0……111

记最后接收的数据包的序号为last_num,则上图中的最右边一位(最低位)表示序号为last_num的数据包已接收到,右边第二位表示序号为(last_num-1)的数据包已接收到,最左边一位表示序号为(last_num-m+1)的数据包已接收到,没有接收成功的数据包的接收状态用二进制的“0”标 识。
步骤302:计算所述当前数据包的序号与最大序号的差值。
由表1所示可知,所述最大序号指最后接收到的数据包的序号last_num。
步骤303:根据所述差值生成应答信号。
所述差值可以有多种情况,下面针对每一种情况作详细说明。所述步骤303的具体过程如下:
当所述差值大于零时,将所述记录左移所述差值位,然后将左移后的记录中的最低位表示的当前数据包的接收状态设置为“1”,最后,将左移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号,记所述第三预设阈值为n,n位二进制位指示的接收状态包括所述第一预设阈值个数据包的接收状态和当前数据包的接收状态。
当所述差值为零时,说明当前数据包和最后接收到的数据包相同,此时,只需将记录的m位二进制位中的低n位指示的接收状态和当前数据包的序号作为当前应答信号即可。
当所述差值小于零时,若差值的绝对值比m大,若是,说明当前数据包已经超出了记录所能记录的最多个数据包的接收状态,此时,认为是出现了异常,将m位的记录进行复位,所述复位是指将所述记录中当前数据包的接收状态设置为“1”,将m位记录中其他位设置为“0”,然后将m位二进制位中的低n位指示的接收状态和当前数据包的序号作为当前应答信号。
当所述差值小于零时,若差值的绝对值比m小,说明当前数据包的接收状态在记录中应该有记载,找到记录当前数据包接收状态的二进制位,将其设置为“1”,此处可以采用将记录与1左移差值的绝对值位后的值进行或运算实现;然后将进行设置后的记录右移所述差值的绝对值位,即将当前数据包的接收状态位移到最后一位,然后将右移后的记录中低n位指示的接收状态和当前数据包的序号作为当前应答信号。
为了对本实施例的技术方案有一个更直观的理解,以第二预设阈值为 m=32,第三预设阈值为n=16为例说明本实施例的技术方案,这里m=32,n=16并不是对m和n取值的限定,因为在理解本方案的基础上可知,m和n的数值越大,对于确定丢失的数据包越有利,而且结果越准确。
参考表1所示,若最后收到的数据包的序号last_num=100,且第95和60两个包没有收到,则32位的记录用十六进制表示为0xFFFF FFDF,其中从右往左数,第6位为0,表示序号为95的数据包没有收到,序号为60的数据包超出了m=32的范围,在保存的记录中没有数据包序为60的数据包的任何记录。
若当前收到的数据包的序号为rec_num,记rec_num减去last_num的值为cnt,若cnt的值为0,则表示当前数据包和最后收到的数据包是一样的,则直接将保存的记录的低16位,即0xFFDF和记录的当前数据包的序号rec_num=100(或者last_num=100)反馈给发送端;
若rec_num=101,即cnt的值为1,大于0,此时应将保存的记录0xFFFFFFDF左移cnt=1位,变为0xFFFF FFBE,并将最低位或上1(即将当前数据包的接收状态设置为1),变为0xFFFF FFBF,将记录的序号last_num改为101,取所述记录的低16位0xFFBF反馈给发送端;
若rec_num=95,则cnt=-5,小于0,此时将cnt的绝对值和m判断,因为5<32,则将记录的序号为95的数据包对应的接收状态设置为1,变为0xFFFF FFFF,在实际操作中,可以采用或运算实现,比如将记录的0xFFFFFFDF或上(1<<5,1左移5位)。然后再将记录右移5位后的低16位0xFFFF和最后收到的包序rec_num=95,一起反馈给发送端;
若rec_num=60,则cnt取绝对值后cnt=40>32,重置记录,所以要将记录复位为0x1,并修改记录的last_num=60,一起反馈给发送端。这种情况一般认为异常,因为接收端每次反馈的应答信号都包括多个数据包的接收状态,即使之前有应答信号的丢失(假设应答信号丢失时,正好有数据包的丢失),发送端根据后续接收的应答信号可以及时的补发丢失的数据包。其次,若发送端长时间没有接收到应答信号,可认为是网络发生了异常,此时,发送端作异常处理。
上述实施例详细说明了应答信号的生成方法,接收端将生成的应答信 号发送给发送端后,发送端对与应答信号的处理可以参考本发明提供的实施例3,参考图4所示,为本发明提供的一种应答信号接收方法实施例1的流程图,本实施例具体可以包括:
步骤401:接收当前应答信号。
所述当前应答信号包括当前数据包和序号小于且最接近当前数据包序号的第一预设阈值个数据包的接收信息,所述接收信息包括数据包序号或数据包的接收状态,具体的可以参考对所述一种应答信号生成方法实施例1中接收信息的描述。
步骤402:根据当前应答信号确定是否有数据包丢失。
所述接收信息为数据包序号时,根据当前应答信号确定是否有数据包丢失的具体实施如下:
如果所述当前应答信号中记录的数据包的序号连续,说明没有数据包丢失;因为当前应答信号中包含的是接收端已经接收到的数据包的序号,所以,如果数据包序号不连续,则不连续处就是有数据包丢失的地方,根据当前应答信号中数据包的序号可以确定丢失的数据包。
当所述接收信息为数据包接收状态时,如果第三预设阈值个二进制位标识的数据包的接收状态均为已接收,参考表1所示,即所有二进制位均为1,则说明没有数据包丢失;反之,即第三预设阈值个二进制位中存在0,则为0的二进制位对应的数据包即为丢失的数据包。
在实际操作中,一般发送队列中的数据包的序号和接收的应答信号都是顺序的,所以正常情况下,收到的应答信号和队列头的序号应该一致,若不一致,说明可能丢包或应答信号丢失了,所以需要处理应答信号中记录的第三预设阈值个数据包,以确定是否重发某数据包。
本实施例的技术方案中,发送端接收到当前应答信号之后,根据应答信号中包括的当前数据包的接收信息和之前第一预设阈值个数据包的接收信息,就可以确定是否有数据包丢失以及具体丢失的是哪些数据包。即使之前存在应答信号的丢失,发送端可以根据接收的当前应答信号确定是否有数据包丢失,发送端不需要在无法确定数据包是否丢失时就重发数据包。与现有技术中没有收到应答信号就重复发送同一数据包相比,本发明的技 术方案可以避免在接收端已经接收到该数据包,而发送端没有接收到应答信号时,重复发送该数据包的现象,提高了网络资源利用率。
相应的,本发明还提供一种应答信号的生成装置,参考图5所示,为本发明提供的一种应答信号的生成装置实施例1的结构示意图,所述装置包括:
第一接收模块501,用于接收端接收当前数据包并获取当前数据包的序号;
第一确定模块502,用于根据所述当前数据包的序号确定序号小于且最接近当前数据包序号的第一预设阈值个数据包;
生成模块503,用于生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号;
第一发送模块504,用于向发送端反馈所述当前应答信号,以便发送端根据当前应答信号确定是否有数据包丢失。
装置中各模块所实现的功能与方法实施例1中方法操作步骤对应,这里不再赘述。
优选的,参考图6所示,为接收信息为数据包序号时,本发明提供的一种应答信号的生成装置实施例1的中生成模块的结构示意图,所述生成模块包括:
获取子模块601,用于所述接收信息为数据包序号时,根据第一预设阈值个数据包的序号获取已经接收到的数据包的序号;
排序子模块602,用于将当前数据包的序号和所述已经接收到的数据包的序号按照由小到大的顺序排列;
第一生成子模块603,用于将排列后的数据包的序号作为当前应答信号。
优选的,参考图7所示,为接收信息为数据包接收状态时,本发明提供的一种应答信号的生成装置实施例1的中生成模块的结构示意图,所述生成模块包括:
记录子模块701,用于存储包括第二预设阈值个二进制位的记录,所述记录按照数据包序号的大小顺序依次记录最近接收的第二预设阈值个数 据包的接收状态、在接收当前数据包之前,最后接收到的数据包的序号,其中最低位记录最后接收到的数据包的接收状态;
计算子模块702,用于计算所述当前数据包的序号与最大序号的差值,所述最大序号为最后接收到的数据包的序号;
第二生成子模块703,用于当所述差值为零时,将记录的第二预设阈值比特中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;
左移子模块704,用于所述差值大于零时,将所述记录左移所述差值位;
第一设置子模块705,用于将左移后的记录中的最低位设置为当前数据包的接收状态;
第三生成子模块706,用于将左移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;
第二设置子模块707,用于所述差值小于零且所述差值的绝对值小于第二预设阈值时,将所述记录中标识当前数据包接收状态的二进制位设置为接收;
右移子模块708,用于将进行设置后的记录右移所述差值的绝对值位;
第四生成子模块709,用于将右移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;
复位子模块710,用于所述差值小于零且所述差值的绝对值大于第二预设阈值时,复位所述记录,所述复位所述记录为将所述记录中的最低位设置为当前数据包的接收状态,将所述记录中其他位设置为标识未接收的状态;
第五生成子模块711,用于将复位后记录和当前数据包的序号作为当前应答信号。
相应的,本发明还提供一种应答信号的接收装置,参考图8所示,为本发明还提供一种应答信号的接收装置实施例1的结构示意图,所述接收装置包括:
第二接收模块801,用于接收当前应答信号,所述当前应答信号包括 当前数据包和序号小于且最接近当前数据包序号的第一预设阈值个数据包的接收信息;
第二确定模块802,用于根据当前应答信号确定是否有数据包丢失。
优选的,参考图9所示,为接收信息为数据包序号时,本发明提供的一种应答信号的接收装置实施例1的中第二确定模块的结构示意图,所述第二确定模块包括:
第一判断子模块901,用于所述接收信息为数据包序号时,判断所述当前应答信号中记录的数据包的序号是否连续。
第一确定子模块902,用于所述当前应答信号中记录的数据包的序号不连续时,根据当前应答信号中数据包的序号确定丢失的数据包。
优选的,参考图10所示,为接收信息为数据包接收状态号时,本发明提供的一种应答中的接收装置实施例1的中第二确定模块的结构示意图,所述第二确定模块包括:
第二判断子模块1001,用于判断所述应答信号中第三预设阈值个二进制位标识的状态是否均是已接收;
第二确定子模块1002,用于所述第二判断子模块的结果为否时,根据当前应答信号中第三预设阈值个二进制位指示的接收状态确定丢失的数据包。
装置中各模块所实现的功能与对应应答信号接收方法实施例1中方法操作步骤对应,这里不再赘述。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开 的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

一种应答信号的生成方法、接收方法与装置.pdf_第1页
第1页 / 共18页
一种应答信号的生成方法、接收方法与装置.pdf_第2页
第2页 / 共18页
一种应答信号的生成方法、接收方法与装置.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《一种应答信号的生成方法、接收方法与装置.pdf》由会员分享,可在线阅读,更多相关《一种应答信号的生成方法、接收方法与装置.pdf(18页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104104475A43申请公布日20141015CN104104475A21申请号201310113532122申请日20130402H04L1/16200601H04L1/1820060171申请人安凯(广州)微电子技术有限公司地址510663广东省广州市萝岗区广州科学城科学大道182号创新大厦C1区3楼72发明人邓州唐安阳胡胜发74专利代理机构北京集佳知识产权代理有限公司11227代理人王宝筠54发明名称一种应答信号的生成方法、接收方法与装置57摘要本发明公开了一种应答信号的生成方法,所述方法包括接收端接收当前数据包并获取当前数据包的序号;根据所述当前数据包的序号确定序。

2、号小于且最接近当前数据包序号的第一预设阈值个数据包;生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号;向发送端反馈所述当前应答信号。本发明中,当前应答信号中包括了当前数据包之前第一预设阈值个数据包的接收信息,即使发送当前数据包之前出现了应答信号的丢失,发送端根据当前应答信号同样可以确定之前是否有数据包丢失,这样,可以避免在接收端已经接收到该数据包,而发送端没有接收到应答信号时,重复发送该数据包导致网络资源利用低的问题。51INTCL权利要求书3页说明书10页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书10页附图4页10申请公布号CN10。

3、4104475ACN104104475A1/3页21一种应答信号的生成方法,其特征在于,所述方法包括接收端接收当前数据包并获取当前数据包的序号;根据所述当前数据包的序号确定序号小于且最接近当前数据包序号的第一预设阈值个数据包;生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号,所述接收信息指示数据包是否被接收;向发送端反馈所述当前应答信号,以便发送端根据当前应答信号确定是否有数据包丢失。2根据权利要求1所述的方法,其特征在于,所述接收信息为数据包序号时,生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号,包括获取第一预设阈值个数据包中已经接收到的。

4、数据包;将当前数据包的序号和已经接收到的数据包的序号按照由小到大的顺序排列;将排列后的数据包的序号作为当前应答信号。3根据权利要求1所述的方法,其特征在于,所述接收信息为数据包接收状态时,生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号,包括存储包括第二预设阈值个二进制位的记录,所述记录按照数据包序号的大小顺序依次记录最近接收的第二预设阈值个数据包的接收状态、在接收当前数据包之前,最后接收到的数据包的序号,所述记录的最低位为最后接收到的数据包的接收状态;计算所述当前数据包的序号与最大序号的差值,所述最大序号为最后接收到的数据包的序号;若所述差值为零,则将记录的第二预设。

5、阈值比特中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;若所述差值大于零,则将所述记录左移所述差值位;将左移后的记录中的最低位设置为当前数据包的接收状态;将左移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号,所述第三预设阈值个二进制位指示的接收状态包括所述第一预设阈值个数据包的接收状态和当前数据包的接收状态;若所述差值小于零,且所述差值的绝对值小于第二预设阈值,将当前数据包接收状态设置为已接收;将进行设置后的记录右移所述差值的绝对值位;将右移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答。

6、信号;若所述差值小于零,且所述差值的绝对值大于第二预设阈值,则复位所述记录;将复位后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;所述复位所述记录包括将所述记录中的最低位设置为当前数据包的接收状态,将所述记录中其他二进制位设置为未接收。4一种应答信号的接收方法,其特征在于,所述方法包括接收当前应答信号,所述当前应答信号包括当前数据包的接收信息,以及,序号小于且最接近当前数据包序号的第一预设阈值个数据包的接收信息;根据当前应答信号确定是否有数据包丢失。5根据权利要求4所述的方法,其特征在于,所述根据当前应答信号确定是否有数据包丢失,包括权利要求书CN104。

7、104475A2/3页3所述接收信息为数据包序号时,判断所述当前应答信号中记录的数据包的序号是否连续,若否,则根据当前应答信号中数据包的序号确定丢失的数据包;所述接收信息为数据包接收状态时,判断所述应答信号中第三预设阈值个二进制位标识的接收状态是否均是已接收,若否,根据当前应答信号中第三预设阈值个二进制位指示的接收状态确定丢失的数据包。6一种应答信号的生成装置,其特征在于,所述装置包括第一接收模块,用于接收当前数据包并获取当前数据包的序号;第一确定模块,用于根据所述当前数据包的序号确定序号小于且最接近当前数据包序号的第一预设阈值个数据包;生成模块,用于生成携带当前数据包的接收信息和第一预设阈值。

8、个数据包的接收信息的当前应答信号;第一发送模块,用于向发送端反馈所述当前应答信号,以便发送端根据当前应答信号确定是否有数据包丢失。7根据权利要求6所述的装置,其特征在于,所述生成模块包括获取子模块,用于所述接收信息为数据包序号时,获取第一预设阈值个数据包中已接收到的数据包;排序子模块,用于将当前数据包的序号和所述已接收到的数据包的序号按照由小到大的顺序排列;第一生成子模块,用于将排列后的数据包的序号作为当前应答信号。8根据权利要求6所述的装置,其特征在于,所述接收指示信息为数据包接收状态时,所述生成模块包括记录子模块,用于存储包括第二预设阈值个二进制位的记录,所述记录按照数据包序号的大小顺序依。

9、次记录最近接收的第二预设阈值个数据包的接收状态、在接收当前数据包之前,最后接收到的数据包的序号,最低位记录最后接收到的数据包的接收状态;计算子模块,用于计算所述当前数据包的序号与最大序号的差值,所述最大序号为最后接收到的数据包的序号;第二生成子模块,用于当所述差值为零时,将记录的第二预设阈值比特中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;左移子模块,用于所述差值大于零时,将所述记录左移所述差值位;第一设置子模块,用于将左移后的记录中的最低位设置为当前数据包的接收状态;第三生成子模块,用于将左移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的。

10、序号作为当前应答信号,所述第三预设阈值个二进制位指示的接收状态包括所述第一预设阈值个数据包的接收状态和当前数据包的接收状态;第二设置子模块,用于所述差值小于零且所述差值的绝对值小于第二预设阈值时,将所述记录中标识当前数据包接收状态的二进制位设置为接收;右移子模块,用于将进行设置后的记录右移所述差值的绝对值位;第四生成子模块,用于将右移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;复位子模块,用于所述差值小于零且所述差值的绝对值大于第二预设阈值时,复位所权利要求书CN104104475A3/3页4述记录,所述复位所述记录为将所述记录中的最低位设置为当前数。

11、据包的接收状态,将所述记录中其他二进制位设置为标识未接收的状态;第五生成子模块,用于将复位后的记录和当前数据包的序号作为当前应答信号。9一种应答信号的接收装置,其特征在于,所述装置包括第二接收模块,用于接收当前应答信号,所述当前应答信号包括当前数据包和序号小于且最接近当前数据包序号的第一预设阈值个数据包的接收信息;第二确定模块,用于根据当前应答信号确定是否有数据包丢失。10根据权利要求9所述的装置,其特征在于,所述第二确定模块包括第一判断子模块,用于所述接收信息为数据包序号时,判断所述当前应答信号中记录的数据包的序号是否连续;第一确定子模块,用于所述当前应答信号中记录的数据包的序号不连续时,根。

12、据当前应答信号中数据包的序号确定丢失的数据包;第二判断子模块,用于所述接收信息为数据包接收状态时,判断所述应答信号中第三预设阈值个二进制位标识的状态是否均是已接收;第二确定子模块,用于所述第二判断子模块的结果为否时,根据当前应答信号中第三预设阈值个二进制位指示的接收状态确定丢失的数据包。权利要求书CN104104475A1/10页5一种应答信号的生成方法、接收方法与装置技术领域0001本发明涉及网络通信技术领域,特别是涉及一种应答信号的生成方法、一种应答信号的接收方法,及其各自对应的装置。背景技术0002用户通过网络传输数据时,是以数据包的形式向接收端发送的,在数据包发送的过程中,发送端按照数。

13、据包的序号,依次(由小到大)向接收端发送数据包,在此过程中经常会出现数据包丢失的现象,为了保证接收端接收数据的完整性,可以在接收端中采用接收反馈机制。现有技术中的反馈机制具体为接收端接收到一个数据包的时候,向发送端发送一个只包含该数据包接收状态的应答信号用来指示该数据包已经收到。发送端收到应答信号后确定所述数据包已经被成功接收,然后发送下一数据包。通过在接收端引进接收反馈机制,在一定程度上保证了接收端接收数据的完整性。0003现有技术中,发送端根据发送数据包的应答信号来确定接收端成功接收了发送的数据包,但是在实际应用场景下,存在应答信号丢失的问题,即数据发送端没有收到接收端反馈的应答信号,此时。

14、,数据发送端无法确定数据包是否被成功接收。为了保证接收端接收数据的完整性,在发送端无法确定数据包是否被成功接收的时候,发送端必须重发本次发送的数据包直至接收到指示所述数据包成功接收的应答信号。网络中传输数据包会占用一定的带宽,在接收端已经接收到数据包的情况下,数据发送端重复传输数据包就会造成网络资源的浪费,降低了网络资源的利用率。发明内容0004本发明提供一种应答信号的生成方法、一种应答信号的接收方法,及其各自对应的装置,以解决现有技术中,因为应答信号丢失而发送端重传数据包造成的网络资源浪费,致使网络利用率低的技术问题,以提高网络资源利用率。0005为解决上述技术问题,本发明提供一种应答信号的。

15、生成方法、一种应答信号的接收方法,及其各自对应的装置,本发明提供如下技术方案0006一种应答信号的生成方法,该方法包括0007接收端接收当前数据包并获取当前数据包的序号;0008根据所述当前数据包的序号确定序号小于且最接近当前数据包序号的第一预设阈值个数据包;0009生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号,所述接收信息指示数据包是否被接收;0010向发送端反馈所述当前应答信号,以便发送端根据当前应答信号确定是否有数据包丢失。0011优选的,所述接收信息为数据包序号时,生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号,包括说明书CN1。

16、04104475A2/10页60012获取第一预设阈值个数据包中已经接收到的数据包;0013将当前数据包的序号和已经接收到的数据包的序号按照由小到大的顺序排列;0014将排列后的数据包的序号作为当前应答信号。0015优选的,所述接收信息为数据包接收状态时,生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号,包括0016存储包括第二预设阈值个二进制位的记录,所述记录按照数据包序号的大小顺序依次记录最近接收的第二预设阈值个数据包的接收状态、在接收当前数据包之前,最后接收到的数据包的序号,所述记录的最低位为最后接收到的数据包的接收状态;0017计算所述当前数据包的序号与最大序。

17、号的差值,所述最大序号为最后接收到的数据包的序号;0018若所述差值为零,则将记录的第二预设阈值比特中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;0019若所述差值大于零,则将所述记录左移所述差值位;将左移后的记录中的最低位设置为当前数据包的接收状态;将左移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号,所述第三预设阈值个二进制位指示的接收状态包括所述第一预设阈值个数据包的接收状态和当前数据包的接收状态;0020若所述差值小于零,且所述差值的绝对值小于第二预设阈值,将当前数据包接收状态设置为已接收;将进行设置后的记录右移。

18、所述差值的绝对值位;将右移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;0021若所述差值小于零,且所述差值的绝对值大于第二预设阈值,则复位所述记录;将复位后记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;所述复位所述记录包括将所述记录中的最低位设置为当前数据包的接收状态,将所述记录中其他二进制位设置为未接收。0022本发明还提供一种应答信号的接收方法,所述方法包括0023接收当前应答信号,所述当前应答信号包括当前数据包的接收信息,以及,序号小于且最接近当前数据包序号的第一预设阈值个数据包的接收信息;0024根据当前。

19、应答信号确定是否有数据包丢失。0025优选的,所述根据当前应答信号确定是否有数据包丢失,包括0026所述接收信息为数据包序号时,判断所述当前应答信号中记录的数据包的序号是否连续,若否,则根据当前应答信号中数据包的序号确定丢失的数据包;0027所述接收信息为数据包接收状态时,判断所述应答信号中第三预设阈值个二进制位标识的接收状态是否均是已接收,若否,根据当前应答信号中第三预设阈值个二进制位指示的接收状态确定丢失的数据包。0028本发明还提供一种应答信号的生成装置,所述装置包括0029第一接收模块,用于接收当前数据包并获取当前数据包的序号;0030第一确定模块,用于根据所述当前数据包的序号确定序号。

20、小于且最接近当前数据包序号的第一预设阈值个数据包;0031生成模块,用于生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号;说明书CN104104475A3/10页70032第一发送模块,用于向发送端反馈所述当前应答信号,以便发送端根据当前应答信号确定是否有数据包丢失。0033优选的,所述生成模块包括0034获取子模块,用于所述接收信息为数据包序号时,获取第一预设阈值个数据包中已接收到的数据包;0035排序子模块,用于将当前数据包的序号和所述已接收到的数据包的序号按照由小到大的顺序排列;0036第一生成子模块,用于将排列后的数据包的序号作为当前应答信号。0037优选的,。

21、所述接收指示信息为数据包接收状态时,所述生成模块包括0038记录子模块,用于存储包括第二预设阈值个二进制位的记录,所述记录按照数据包序号的大小顺序依次记录最近接收的第二预设阈值个数据包的接收状态、在接收当前数据包之前,最后接收到的数据包的序号,最低位记录最后接收到的数据包的接收状态;0039计算子模块,用于计算所述当前数据包的序号与最大序号的差值,所述最大序号为最后接收到的数据包的序号;0040第二生成子模块,用于当所述差值为零时,将记录的第二预设阈值比特中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;0041左移子模块,用于所述差值大于零时,将所述记录左移所述。

22、差值位;0042第一设置子模块,用于将左移后的记录中的最低位设置为当前数据包的接收状态;0043第三生成子模块,用于将左移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号,所述第三预设阈值个二进制位指示的接收状态包括所述第一预设阈值个数据包的接收状态和当前数据包的接收状态;0044第二设置子模块,用于所述差值小于零且所述差值的绝对值小于第二预设阈值时,将所述记录中标识当前数据包接收状态的二进制位设置为接收;0045右移子模块,用于将进行设置后的记录右移所述差值的绝对值位;0046第四生成子模块,用于将右移后的记录中低位的第三预设阈值个二进制位指示的接收状态。

23、和当前数据包的序号作为当前应答信号;0047复位子模块,用于所述差值小于零且所述差值的绝对值大于第二预设阈值时,复位所述记录,所述复位所述记录为将所述记录中的最低位设置为当前数据包的接收状态,将所述记录中其他二进制位设置为标识未接收的状态;0048第五生成子模块,用于将复位后记录和当前数据包的序号作为当前应答信号。0049本发明还提供一种应答信号的接收装置,所述装置包括0050第二接收模块,用于接收当前应答信号,所述当前应答信号包括当前数据包和序号小于且最接近当前数据包序号的第一预设阈值个数据包的接收信息;0051第二确定模块,用于根据当前应答信号确定是否有数据包丢失。0052优选的,所述第二。

24、确定模块包括0053第一判断子模块,用于所述接收信息为数据包序号时,判断所述当前应答信号中记录的数据包的序号是否连续;0054第一确定子模块,用于所述当前应答信号中记录的数据包的序号不连续时,根据说明书CN104104475A4/10页8当前应答信号中数据包的序号确定丢失的数据包;0055第二判断子模块,用于所述接收信息为数据包接收状态时,判断所述应答信号中第三预设阈值个二进制位标识的状态是否均是已接收;0056第二确定子模块,用于所述第二判断子模块的结果为否时,根据当前应答信号中第三预设阈值个二进制位指示的接收状态确定丢失的数据包。0057本发明的技术方案中,接收端收到当前数据包后,向发送端。

25、反馈的当前应答信号中除了当前数据包的接收信息之外,还包括了当前数据包之前的第一预设阈值个数据包的接收信息。若在发送当前数据包之前出现了应答信号的丢失,采用本发明的技术方案,在应答信号丢失时,可以根据接收的当前应答信号确定是否有数据包丢失,发送端不需要在没有收到应答信号时就重发数据包。与现有技术相比,本发明的技术方案可以避免在接收端已经接收到该数据包,而发送端没有接收到应答信号时,重复发送该数据包的现象,提高了网络资源利用率。附图说明0058为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记。

26、载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。0059图1为本发明发送端发送数据包的时序图;0060图2为本发明一种应答信号的生成方法实施例1的流程图;0061图3为本发明接收信息为数据包接收状态时,应答信号的生成流程图;0062图4为本发明一种应答信号接收方法实施例1的流程图;0063图5为本发明一种应答信号的生成装置实施例1的结构示意图;0064图6为本发明接收信息为数据包序号时生成模块的结构示意图;0065图7为本发明接收信息为数据包接收状态生成模块结构示意图;0066图8为本发明一种应答信号的接收装置实施例1的结构示意图;00。

27、67图9为本发明接收信息为数据包序号时第二确定模块的结构示意图;0068图10为本发明接收信息为数据包接收状态时第二确定模块的结构示意图。具体实施方式0069为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0070为了便于理解本发明的技术方案,在介绍本发明的技术方案之前,首先说明数据包发送端发送数据的时序,参考图1所示,为发送端发送数据包的时序。

28、,发送端先对待发送数据进行打包,为数据包设置序号,并且按照数据包的序号,由小到大顺序排列,将一定数量的数据包放入发送队列,当发送端发送一个数据包后,发送端在发送队列中补入一个数据包,补入的数据包的序号接续发送队列中最后一个数据包的序号,比如,原有最后一个数说明书CN104104475A5/10页9据包的序号为10,则补入的数据包的序号为11。0071参考图1所示发送端发送数据包的时序,来说明本发明的技术方案,参考图2所示,为本发明提供的一种应答信号的生成方法实施例1的流程图,本实施例具体可以包括0072步骤201接收端接收当前数据包并获取当前数据包的序号。0073发送端发送数据包时,在数据包中。

29、包括指示数据包序号的信息,接收端通过对数据包的解析,可以获取接收的当前数据包的序号。0074步骤202根据所述当前数据包的序号确定序号小于且最接近当前数据包序号的第一预设阈值个数据包。0075由图1所示可知,发送端是按照数据包的序号顺序发送的,所以,接收端接收到当前数据包后,按照获取的当前数据包的序号就可以确定序号小于且最接近当前数据包序号的第一预设阈值个数据包。0076步骤203生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号。0077所述的接收信息包括数据包序号或数据包接收状态,当接收指示信息为数据包序号时,所述当前应答信号中携带当前数据包的序号和第一预设阈值个数。

30、据包中接收到的数据包的序号;当接收信息为数据包接收状态时,所述当前应答信号中携带当前数据包的序号、当前数据包的接收状态以及所述第一预设阈值个数据包的接收状态。0078步骤204向发送端反馈所述当前应答信号。0079接收端生成当前应答信号后,向发送端反馈当前应答信号,以便发送端根据所述当前应答信号确定是否有数据包丢失。0080本实施例的技术方案中,接收端收到当前数据包后,向发送端反馈的当前应答信号中除了当前数据包的接收信息之外,还包括了当前数据包之前的第一预设阈值个数据包的接收信息。若在发送当前数据包之前出现了应答信号的丢失,采用本发明的技术方案,在应答信号丢失时,可以根据接收的当前应答信号确定。

31、是否有数据包丢失,发送端不需要在没有收到应答信号时就重发数据包。与现有技术相比,本发明的技术方案可以避免在接收端已经接收到该数据包,而发送端没有接收到应答信号时,重复发送该数据包的现象,提高了网络资源利用率。0081本实施例的步骤203中,当接收信息为数据包序号时,优选的,找到第一预设阈值个数据包中已接收到的数据包后,将当前数据包和所述已接收到的数据包的序号按照由小到大的顺序进行排列,将排列后的数据包的序号作为当前应答信号。0082而当接收信息为数据包接收状态时,在实际操作中,应答信号的生成方式相对要复杂一些,下面针对这种情况作详细介绍。参考图3所示,为在接收信息为数据包接收状态时,应答信号的。

32、生成流程图,所述应答信号的生成具体包括0083步骤301存储包括第二预设阈值个二进制位的记录。0084为了便于描述,记第二预设阈值为M,所述M位的记录中按照数据包序号的大小顺序依次记录了最近接收的M个数据包的接收状态、在接收当前数据包之前,最后接收到的数据包的序号,其中最低位(最后一位)记录最后接收到的数据包的接收状态;其中M位的记录如表1所示0085表1M位的记录说明书CN104104475A6/10页10008611101110087记最后接收的数据包的序号为LAST_NUM,则上图中的最右边一位(最低位)表示序号为LAST_NUM的数据包已接收到,右边第二位表示序号为(LAST_NUM1。

33、)的数据包已接收到,最左边一位表示序号为(LAST_NUMM1)的数据包已接收到,没有接收成功的数据包的接收状态用二进制的“0”标识。0088步骤302计算所述当前数据包的序号与最大序号的差值。0089由表1所示可知,所述最大序号指最后接收到的数据包的序号LAST_NUM。0090步骤303根据所述差值生成应答信号。0091所述差值可以有多种情况,下面针对每一种情况作详细说明。所述步骤303的具体过程如下0092当所述差值大于零时,将所述记录左移所述差值位,然后将左移后的记录中的最低位表示的当前数据包的接收状态设置为“1”,最后,将左移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前。

34、数据包的序号作为当前应答信号,记所述第三预设阈值为N,N位二进制位指示的接收状态包括所述第一预设阈值个数据包的接收状态和当前数据包的接收状态。0093当所述差值为零时,说明当前数据包和最后接收到的数据包相同,此时,只需将记录的M位二进制位中的低N位指示的接收状态和当前数据包的序号作为当前应答信号即可。0094当所述差值小于零时,若差值的绝对值比M大,若是,说明当前数据包已经超出了记录所能记录的最多个数据包的接收状态,此时,认为是出现了异常,将M位的记录进行复位,所述复位是指将所述记录中当前数据包的接收状态设置为“1”,将M位记录中其他位设置为“0”,然后将M位二进制位中的低N位指示的接收状态和。

35、当前数据包的序号作为当前应答信号。0095当所述差值小于零时,若差值的绝对值比M小,说明当前数据包的接收状态在记录中应该有记载,找到记录当前数据包接收状态的二进制位,将其设置为“1”,此处可以采用将记录与1左移差值的绝对值位后的值进行或运算实现;然后将进行设置后的记录右移所述差值的绝对值位,即将当前数据包的接收状态位移到最后一位,然后将右移后的记录中低N位指示的接收状态和当前数据包的序号作为当前应答信号。0096为了对本实施例的技术方案有一个更直观的理解,以第二预设阈值为M32,第三预设阈值为N16为例说明本实施例的技术方案,这里M32,N16并不是对M和N取值的限定,因为在理解本方案的基础上。

36、可知,M和N的数值越大,对于确定丢失的数据包越有利,而且结果越准确。0097参考表1所示,若最后收到的数据包的序号LAST_NUM100,且第95和60两个包没有收到,则32位的记录用十六进制表示为0XFFFFFFDF,其中从右往左数,第6位为0,表示序号为95的数据包没有收到,序号为60的数据包超出了M32的范围,在保存的记录中没有数据包序为60的数据包的任何记录。0098若当前收到的数据包的序号为REC_NUM,记REC_NUM减去LAST_NUM的值为CNT,若说明书CN104104475A107/10页11CNT的值为0,则表示当前数据包和最后收到的数据包是一样的,则直接将保存的记录的。

37、低16位,即0XFFDF和记录的当前数据包的序号REC_NUM100(或者LAST_NUM100)反馈给发送端;0099若REC_NUM101,即CNT的值为1,大于0,此时应将保存的记录0XFFFFFFDF左移CNT1位,变为0XFFFFFFBE,并将最低位或上1(即将当前数据包的接收状态设置为1),变为0XFFFFFFBF,将记录的序号LAST_NUM改为101,取所述记录的低16位0XFFBF反馈给发送端;0100若REC_NUM95,则CNT5,小于0,此时将CNT的绝对值和M判断,因为532,重置记录,所以要将记录复位为0X1,并修改记录的LAST_NUM60,一起反馈给发送端。这种。

38、情况一般认为异常,因为接收端每次反馈的应答信号都包括多个数据包的接收状态,即使之前有应答信号的丢失(假设应答信号丢失时,正好有数据包的丢失),发送端根据后续接收的应答信号可以及时的补发丢失的数据包。其次,若发送端长时间没有接收到应答信号,可认为是网络发生了异常,此时,发送端作异常处理。0102上述实施例详细说明了应答信号的生成方法,接收端将生成的应答信号发送给发送端后,发送端对与应答信号的处理可以参考本发明提供的实施例3,参考图4所示,为本发明提供的一种应答信号接收方法实施例1的流程图,本实施例具体可以包括0103步骤401接收当前应答信号。0104所述当前应答信号包括当前数据包和序号小于且最。

39、接近当前数据包序号的第一预设阈值个数据包的接收信息,所述接收信息包括数据包序号或数据包的接收状态,具体的可以参考对所述一种应答信号生成方法实施例1中接收信息的描述。0105步骤402根据当前应答信号确定是否有数据包丢失。0106所述接收信息为数据包序号时,根据当前应答信号确定是否有数据包丢失的具体实施如下0107如果所述当前应答信号中记录的数据包的序号连续,说明没有数据包丢失;因为当前应答信号中包含的是接收端已经接收到的数据包的序号,所以,如果数据包序号不连续,则不连续处就是有数据包丢失的地方,根据当前应答信号中数据包的序号可以确定丢失的数据包。0108当所述接收信息为数据包接收状态时,如果第。

40、三预设阈值个二进制位标识的数据包的接收状态均为已接收,参考表1所示,即所有二进制位均为1,则说明没有数据包丢失;反之,即第三预设阈值个二进制位中存在0,则为0的二进制位对应的数据包即为丢失的数据包。0109在实际操作中,一般发送队列中的数据包的序号和接收的应答信号都是顺序的,所以正常情况下,收到的应答信号和队列头的序号应该一致,若不一致,说明可能丢包或应答信号丢失了,所以需要处理应答信号中记录的第三预设阈值个数据包,以确定是否重发某数据包。说明书CN104104475A118/10页120110本实施例的技术方案中,发送端接收到当前应答信号之后,根据应答信号中包括的当前数据包的接收信息和之前第。

41、一预设阈值个数据包的接收信息,就可以确定是否有数据包丢失以及具体丢失的是哪些数据包。即使之前存在应答信号的丢失,发送端可以根据接收的当前应答信号确定是否有数据包丢失,发送端不需要在无法确定数据包是否丢失时就重发数据包。与现有技术中没有收到应答信号就重复发送同一数据包相比,本发明的技术方案可以避免在接收端已经接收到该数据包,而发送端没有接收到应答信号时,重复发送该数据包的现象,提高了网络资源利用率。0111相应的,本发明还提供一种应答信号的生成装置,参考图5所示,为本发明提供的一种应答信号的生成装置实施例1的结构示意图,所述装置包括0112第一接收模块501,用于接收端接收当前数据包并获取当前数。

42、据包的序号;0113第一确定模块502,用于根据所述当前数据包的序号确定序号小于且最接近当前数据包序号的第一预设阈值个数据包;0114生成模块503,用于生成携带当前数据包的接收信息和第一预设阈值个数据包的接收信息的当前应答信号;0115第一发送模块504,用于向发送端反馈所述当前应答信号,以便发送端根据当前应答信号确定是否有数据包丢失。0116装置中各模块所实现的功能与方法实施例1中方法操作步骤对应,这里不再赘述。0117优选的,参考图6所示,为接收信息为数据包序号时,本发明提供的一种应答信号的生成装置实施例1的中生成模块的结构示意图,所述生成模块包括0118获取子模块601,用于所述接收信。

43、息为数据包序号时,根据第一预设阈值个数据包的序号获取已经接收到的数据包的序号;0119排序子模块602,用于将当前数据包的序号和所述已经接收到的数据包的序号按照由小到大的顺序排列;0120第一生成子模块603,用于将排列后的数据包的序号作为当前应答信号。0121优选的,参考图7所示,为接收信息为数据包接收状态时,本发明提供的一种应答信号的生成装置实施例1的中生成模块的结构示意图,所述生成模块包括0122记录子模块701,用于存储包括第二预设阈值个二进制位的记录,所述记录按照数据包序号的大小顺序依次记录最近接收的第二预设阈值个数据包的接收状态、在接收当前数据包之前,最后接收到的数据包的序号,其中。

44、最低位记录最后接收到的数据包的接收状态;0123计算子模块702,用于计算所述当前数据包的序号与最大序号的差值,所述最大序号为最后接收到的数据包的序号;0124第二生成子模块703,用于当所述差值为零时,将记录的第二预设阈值比特中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;0125左移子模块704,用于所述差值大于零时,将所述记录左移所述差值位;0126第一设置子模块705,用于将左移后的记录中的最低位设置为当前数据包的接收状态;0127第三生成子模块706,用于将左移后的记录中低位的第三预设阈值个二进制位指说明书CN104104475A129/10页13示的。

45、接收状态和当前数据包的序号作为当前应答信号;0128第二设置子模块707,用于所述差值小于零且所述差值的绝对值小于第二预设阈值时,将所述记录中标识当前数据包接收状态的二进制位设置为接收;0129右移子模块708,用于将进行设置后的记录右移所述差值的绝对值位;0130第四生成子模块709,用于将右移后的记录中低位的第三预设阈值个二进制位指示的接收状态和当前数据包的序号作为当前应答信号;0131复位子模块710,用于所述差值小于零且所述差值的绝对值大于第二预设阈值时,复位所述记录,所述复位所述记录为将所述记录中的最低位设置为当前数据包的接收状态,将所述记录中其他位设置为标识未接收的状态;0132第。

46、五生成子模块711,用于将复位后记录和当前数据包的序号作为当前应答信号。0133相应的,本发明还提供一种应答信号的接收装置,参考图8所示,为本发明还提供一种应答信号的接收装置实施例1的结构示意图,所述接收装置包括0134第二接收模块801,用于接收当前应答信号,所述当前应答信号包括当前数据包和序号小于且最接近当前数据包序号的第一预设阈值个数据包的接收信息;0135第二确定模块802,用于根据当前应答信号确定是否有数据包丢失。0136优选的,参考图9所示,为接收信息为数据包序号时,本发明提供的一种应答信号的接收装置实施例1的中第二确定模块的结构示意图,所述第二确定模块包括0137第一判断子模块9。

47、01,用于所述接收信息为数据包序号时,判断所述当前应答信号中记录的数据包的序号是否连续。0138第一确定子模块902,用于所述当前应答信号中记录的数据包的序号不连续时,根据当前应答信号中数据包的序号确定丢失的数据包。0139优选的,参考图10所示,为接收信息为数据包接收状态号时,本发明提供的一种应答中的接收装置实施例1的中第二确定模块的结构示意图,所述第二确定模块包括0140第二判断子模块1001,用于判断所述应答信号中第三预设阈值个二进制位标识的状态是否均是已接收;0141第二确定子模块1002,用于所述第二判断子模块的结果为否时,根据当前应答信号中第三预设阈值个二进制位指示的接收状态确定丢。

48、失的数据包。0142装置中各模块所实现的功能与对应应答信号接收方法实施例1中方法操作步骤对应,这里不再赘述。0143需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。0144对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅。

49、是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不说明书CN104104475A1310/10页14付出创造性劳动的情况下,即可以理解并实施。0145以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。说明书CN104104475A141/4页15图1图2说明书附图CN104104475A152/4页16图3图4说明书附图CN104104475A163/4页17图5图6图7说明书附图CN104104475A174/4页18图8图9图10说明书附图CN104104475A18。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1