一种确保收发双方数据一致的数据传输方法

文档序号:7625742阅读:256来源:国知局
专利名称:一种确保收发双方数据一致的数据传输方法
技术领域
本发明涉及在一发送方和一接收方之间的数据传输方法,尤其涉及在所有要求高可靠性数据传输的通信系统中,用于在一发送方和一接收方之间保持数据一致的数据传输方法。
背景技术
近年来,确认(acknowledgement)模式数据传输技术被应用于要求可靠数据传输的通信系统中,用于防止在双方对等层间通信过程中,从对等层一方到另一方的数据丢失和/或损坏。根据这些已知的数据传输技术,在数据传输过程中,发送方在将一组数据发送给接收方后,根据从接收方发来的确认信息,判断接收方是否全部接收了这组数据,如果接收方没有全部接收,则发送方重传(retransmission)接收方没有收到的这部分数据。
下面以第三代移动通信系统(3GPP)标准中的无线链路控制(RLC)层数据传输协议为例,简要说明确认模式数据传输技术。
图1示出了根据3GPP无线接入网络标准的在一终端和通用移动通信系统(UMTS)陆地无线接入网(UTRAN)之间的无线接口协议结构。
如图1所示,无线接口协议主要包括一个物理层(层1)、一个数据链路层(层2)和一个网络层(层3)。
数据链路层包括一个介质接入控制(MAC)子层、一个无线链路控制(RLC)子层、一个广播/多路控制(BMC)子层以及一个分组数据汇聚协议(PDCP)子层。其中MAC子层用于提供无线网络资源的分配和再分配服务,其通过一个逻辑通道与上层的RLC子层相连接。
无线资源控制(RRC)层位于层3的最底层,主要用于负责各个通道的无线承载(RB)的配置、重配置和释放。
其中,RLC子层的一个基本功能是为了确保适合于每一个无线承载(radiobearer,RB)的服务质量(QoS)以及相应的数据传输。因为RB服务是无线协议的第二层提供给高层的服务,所以整个第二层就会影响到Qos,特别是RLC层。
下面着重描述RLC子层(以下称为RLC层)协议。
RLC层主要支持可靠的数据传输,当RLC层接收到从上层传来的多个RLC服务数据单元(RLC SDU)时,RLC层会根据数据处理容量以一合适的长度划分方法(分段和串接)产生出多个具有固定长度的包含头标识信息的特定数据单元,即协议数据单元(PDU),再通过逻辑通道将其传输给MAC层。RLC层还包括一个用于缓存RLCS DU和/或RLC PDU的缓存区。
RLC为每个RB提供了独立的RLC实体以确保每个RB特定的QoS,并且提供了三种RLC模式,包括透明模式(TM)、非确认模式(UM)以及确认(AM)模式以支持不同类型的QoS。由于其他的两种模式不是本发明的重点,因此不再一一赘述。
下面重点介绍AM RLC中的数据传输过程,这里主要描述构造AMDPDU、AMD PDU重传、SDU丢弃及SDU重组的过程。为了更好地理解本发明,下面参照图2的AMD PDU和SDU的数据结构进行简要地说明。
构造AMD PDU如图2所示,假定在一个随机的时间段内,多个SDU(SDU 33-SDU 39)从上层传到AM RLC层,则首先,AM RLC对这第33-39个SDU(长度不同)进行分段或串接从而构造出具有预定长度(由RRC层配置)的多个AMD PDU21-28。可以理解,SDU的个数不仅局限在这33-39个中,可能顺序传送更多个SDU。根据RLC协议,AM RLC分别在这些AMD PDU 21-28的头中加入了标识每个AMD PDU的序列号21-28。
由图中可以看出,AMD PDU 21承载了SDU 33的一部分,因此AMD PDU21主要包含其序列号21(位于头部)以及SDU 33的一部分。然后,AMD PDU22承载了SDU 33的结尾部分、SDU 34的全部以及SDU 35的开头部分,这样,AMD PDU 22主要包含其序列号22以及SDU 33的结尾部分、SDU 34的全部以及SDU 35的开头部分,如此可以依次类推到SDU 39。
AMD PDU重传根据图2的结构,发送方在将SDU 33-39承载到AMD PDU 21-28上之后,将AMD PDU 21-28按顺序发送给接收方,接收方在满足一定条件时(如果收到的AMD PDU中的P位被置为1;或Timer_Status_Periodic已到期(前提是RRC层配置有这种主动回状态报告的方式,在此方式下,接收方可不依赖于AMD PDU的P位是否被置为1)。这些具体规定在RLC协议中均有明确的说明,因此不再一一赘述),向发送方发送一确认状态信息,其中描述了接收方所接收到的AMD PDU的情况(包括接收到的AMD PDU的序列号),发送方根据该确认状态信息判断是否有AMD PDU丢失,如果有AMD PDU丢失,则重传丢失的AMD PDU。
举例来说,如果发送方向接收方发送了AMD PDU 21-24,但是在接收方的确认状态信息中没有包含AMD PDU 22的确认接收信息,则发送方重传AMD PDU 22。
SDU丢弃这里仅说明本发明涉及到的定时器丢弃方式。
在RLC发送方为每个SDU设置了定时器(例如Timer_discard),用于测量每个SDU保留在RLC层的时间。如果一个SDU在其对应的定时器停止之前没有正确地传输,即接收方没有接收到承载该SDU全部分片的AMD PDU,则为了防止RLC SDU和/或RLC PDU缓存区溢出,发送方就会丢弃这个SDU并通过MRW消息机制通知接收方丢弃这个SDU,以确保收发双方数据的可靠性。需要强调的是,丢弃SDU由于MRW消息机制并不作为本发明的重点内容,因此在这里不作赘述。
需要强调的是,丢弃SDU表示的是要将承载在一个(针对SDU 34的情况)或多个的AMD PDU中相应于这个SDU的所有分片丢弃。
举例来说,如图2所示,如果在传输过程中,接收方在SDU 35的定时器停止之前一直没有接收到AMD PDU 22,则由于AMD PDU 22承载了SDU35的一个分片,因此无法成功接收SDU 35,于是发送方就会向接收方发送一个MRW消息,通知接收方丢弃SDU 35,接收方收到丢弃SDU 35的消息后,立即将AMD PDU 22中的SDU 35开头部分以及PDU 23中的SDU 35的结尾部分的数据全部丢弃。
SDU重组前面已经描述了,如果在相应于该SDU的定时器停止之前没有完全接收到承载该SDU所有分片的PDU,则丢弃该SDU。但反之,如果在相应于该SDU的定时器停止之前完全接收到承载该SDU所有分片的PDU,例如,如果在SDU 35的定时器停止之前接收方接收到了承载SDU 35所有分片的PDU22和PDU 23,则接收方就会将PDU 22和PDU 23进行重组,并立即将重组后的SDU 35发送给上层可以看出,由于在通信过程中,接收方在满足一定条件时能够发送确认信息给发送方,因此AM RLC在很大程度上保证了数据传输的可靠性。
但是,现有的AM RLC协议仍然可能存在一些不可靠数据传输的情况。
下面参照图3简要说明AM RLC的SDU传输过程中的这种情况。
如图3所示,首先,发送方在T0-Tn时刻分别发送承载第N个SDU各个分片的AMD PDU给接收方,其中每个AMD PDU中包含各自的AMD PDU的标识(序列号);接收方在传输过程中将在预定条件(与图2的描述中的预定条件相同)下组织状态报告包发送给发送方,在此状态报告包中会有对接收方所接收到的AMD PDU的情况进行描述;发送方一旦收到此状态报告包,就可以从此状态报告包中知道接收方哪些序列号的AMD PDU已收到,哪些序列号的AMD PDU还未收到(如果此状态报告包中不包含发送方已经发送了的那些AMD PDU,即接收方没有收到这些AMD PDU),发送方就重传这些未收到的(丢失的)AMD PDU;根据AM RLC协议,如果在重传过程中Timer_Discard超时(这里仅讨论在发送方设置了Timer_Discard定时器的情况),则发送方通过发送MRW(move receiving window)消息通知接收方丢弃所有相关的SDU部分;如果接收方在Timer_Discard超时之前正确接收到第N个SDU的全部分片的AMDPDU,则接收方将这些AMD PDU重组成第N个SDU并立即将其发送给上层,同时组织发送状态报告包,并在满足状态包发送条件时发送给发送方,通知发送方以确认第N个SDU已经被正确重组。
但是,如图3可以看出,当Tn时刻到t0时刻的时间段内,如果接收方在重组了第N个SDU之后由于网络时延或者信道的不完全可靠性没有及时地在Td(Timer_Discard定时器超时)时刻之前发送状态确认报告给发送方,则发送方就会认为第N个SDU没有正确传送而在Td时刻通过MRW消息通知接收方丢弃第N个SDU,接着接收方就会在接收到该MRW消息之后在t1时刻发送MRW ACK确认信息给发送方。
在这种情况下,发送方认为没有将第N个SDU正确发送给接收方,而接收方却将其正确完整地向上层进行了提交,并将正确接收的状态报告信息发送给了发送方,这样就造成了RLC对等双方所处理的SDU不一致,而且发送方还有可能告知上层第N个SDU被抛弃,但实际情况是接收方已经将其交给了上层,这样对于收发双方的RLC上层来说,也会有两种截然不同的结果,因此必然造成数据通信错误。

发明内容
基于上述原因,本发明的目的是提供一种能够在双方对等层间采用确认模式的数据传输中保持数据传输可靠性的方法;本发明的另一个目的是提供一种在双方对等层间采用确认模式的数据传输中利用时间机制保持数据传输可靠性的方法;本发明的又一个目的是提供一种能够随信道的可靠度自动调节时间长度的定时器,用于确保数据传输的可靠性。
基于上述目的,本发明提供了一种用于确保发送方和接收方之间数据保持一致的数据传输方法,包括步骤1,所述发送方接收从其上层连续传送来的数据,并将所述数据分成多个数据包,并将其依次发送给所述接收方,各数据包中包含代表该数据包的标识,同时启动一对应于所述数据的、时长为T1第一定时器;步骤2,所述接收方接收所述多个数据包,并在满足预定条件时向所述发送方发送包含所述接收方收到的数据包标识的反馈信息,所述发送方根据所述反馈信息将所述接收方未收到的数据包进行重传;步骤3,所述接收方在接收到所有的数据包后重组所述数据并启动一对应于所述数据的具有一预定时长为T2的第二定时器,同时将所述重组的数据进行缓存;及步骤4,若所述发送方在T1时间内没有接收到所述接收方发来的包含全部数据包的标识的所述反馈信息,则向所述接收方发送丢弃该数据的消息;步骤5,若所述接收方在T2时间内接收到所述发送方传来的丢弃所述重组的数据的消息,则所述接收方丢弃所述数据并取消所述定时器;若所述接收方在T2时间内未接收到所述发送方传来的丢弃所述重组的数据的消息,则所述接收方将所述重组的数据发送给其上层并取消所述定时器。
本发明进一步提供了一种能够动态调节定时时间长度的定时器,包括首先,初始设置第二定时器的时长为一个TTI,进入步骤a;步骤a,所述接收方接收所述数据包时,根据数据包的所述标识判断是否有数据包丢失,如果有丢失则进入步骤b,如果没有丢失则返跳出;步骤b,记录满足所述步骤2中的预定条件时的时刻为T0;步骤c,当所述接收方接收到所述发送方重发来的所述曾指定丢失的数据包之一时,记录该时刻为T1;所述第二定时器时长确定为TTI+T1-T0,返回步骤a。
本发明的有益效果是,通过在接收方为每一个重组成功的SDU设置了定时器,而在重组之后并不立即将其发送给上层,减少了由于网络时延或传输信道的不可靠所造成的收发双方存储的数据的不一致的可能性。同时通过动态调节该定时器,能够实时地根据传输信道的性能进行数据传输,更大程度地确保了数据传输的可靠性。
本发明的原理、实用性及诸多优点在结合附图阅读时将从下面的详细描述中变得更加清楚。


图1为现有技术的无线接口协议;图2为现有技术的SDU和PDU数据结构图;图3为AM RLC数据传输过程出错示意图;图4为本发明的数据传输方法流程图;图5为本发明的定时器由上层设定的示意图;图6为本发明的定时器的定时时间长度动态调节流程图。
具体实施例方式
下面参照图4详细说明根据本发明的优选实施例,RLC层对等实体的发送方和接收方之间的SDU的数据传输过程,其中有关公知的RLC层协议的技术这里将不再一一赘述。
如图4所示,在T0到Tn时刻,发送方分别发送承载第N个SDU的每个分片的AMD PDU(过程同图3),不再赘述;接收方首先接收发送方传来的这些AMD PDU,并试着进行SDU重组;若接收方接收到承载第N个SDU所有分片的AMD PDU,即能正确重组这第N个SDU后,并不立即将其发送给上层,而是为第N个SDU启动定时器Timer_MRW_Storage(此定时器的定时时长通过下面相关论述确定),并将其缓存,然后等待发送方发来的消息;如图所示(1)的情况(实线所示),如果发送方在收到接收方发来的承载第N个SDU的AMD PDU全部接收的状态报告时,发送方的第N个SDU的定时器没有超时(TA<Td),则发送方就不会向接收方发送丢弃第N个SDU的消息,也就是说,接收方在第N个SDU对应的Timer_MRW_Storage定时器停止之前不会收到发送方发来的指示丢弃第N个SDU的MRW消息,则接收方就会立即将重组完整的SDU发送给上层,并取消与第N个SDU相对应的Timer_MRW_Storage定时器。
如图所示(2)的情况(虚线所示),如果发送方在发送方的第N个SDU的定时器超时(Td)之前没有收到接收方发来的承载第N个SDU的AMD PDU全部接收的状态报告时(TA>Td),则发送方就会立即发送MRW消息通知接收方丢弃第N个SDU,如果接收方在第N个SDU对应的Timer_MRW_Storage定时器未超时期间(td时刻之前)收到了发送方发来的指示丢弃第N个SDU的MRW消息,则接收方立即取消与第N个SDU相对应的Timer_MRW_Storage定时器,同时将重组完整的第N个SDU丢弃;由上述描述可以看出,通过在接收方添加对应于每一个SDU的定时器(Timer_MRW_Storage),使得接收方在重组了每个SDU之后不立即将其发送给上层,而是延时等待发送方传来的消息,这就减小了因为网络时延数据传输有误的可能性,极大程度地确保了在数据传输过程中收发双方的数据保持一致。
下面详细说明根据本发明的定时器的时间长度的设置方法,可以通过以下两种方式进行设置第一种方式是由上层(RRC层)在对某个无线承载(RB)进行信息资源配置时对定时器进行配置。如图5所示,这种方式下RRC给RLC的消息配置部份要做相应的修改,RRC对此定时器的配置同于其它RLC定时器(如Timer_Poll,Timer_Poll_Periodic等定时器),即通过原语CRLC_Config_REQ完成,并且也可以禁止该定时器。定时器的时长可以是,比如一个TTI(传输时间间隔)。
第二种方式是由接收方自己确定,如图6所示。
首先,初始设置Timer_MRW_Storage定时器时长为一个TTI,进入步骤200;步骤200,接收方接收到了有效的AMD PDU,进入步骤201;步骤201,判断是否有AMD PDU(一片或多片)丢失,如果有,则进入步骤202;如果没有则跳出;步骤202,判断是否满足发送确认状态报告条件,如果是,进入步骤203,如果否则返回步骤200;步骤203,确认状态报告中包含有步骤200中丢失的AMD PDU时,记此时刻为T0,进入步骤204;步骤204,接收方发送确认状态报告,进入步骤205;步骤205,当接收方收到步骤202中的确认状态报告所指示丢失的任意一个AMD PDU分片时记此时时刻为T1,进入步骤206;步骤206,调整Timer_MRW_Storage的值为=TTI+T1-T0。这时定时器的时间长度已经被调整为TTI+T1-T0,返回步骤200。
在接收方收到下一组AMD PDU时再按照同样的方法进行调整Timer_MRW_Storage的值。
从上述第二种方式中可以看出,此Timer_MRW_Storage值能够在此RB生存期间依据当时的网络环境动态地改变,这样能够随信道的可靠性调整数据传输所需的时间,更大程度上保证了收发双方数据的一致性,因此在某种意义上可以说具有智能功能。
虽然上述示例性的具体实施方式
是在RLC层的AM模式下进行的数据传输过程,但其仅为详细说明本发明的技术方案为目的,并不是对本发明的限制,本领域的技术人员通过上述描述可以理解,本发明的数据传输方法不仅局限于上述的基于AM RLC协议的SDU数据传输,而能够在不脱离本发明技术方案的主旨的情况下应用于移动通信系统中的任何双方对等层间的双向数据传输模式(确认模式)中,如GSM中的LLC协议。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种在一发送方和一接收方之间的数据传输方法,包括步骤步骤1,所述发送方接收从其上层连续传送来的数据,并将所述数据分成多个数据包,并将其依次发送给所述接收方,各数据包中包含代表该数据包的标识,同时启动一对应于所述数据的、时长为T1的第一定时器;步骤2,所述接收方接收所述多个数据包,并在满足预定条件时向所述发送方发送包含所述接收方收到的数据包标识的反馈信息,所述发送方根据所述反馈信息将所述接收方未收到的数据包进行重传;步骤3,所述接收方在接收到所有的数据包后重组所述数据并启动一对应于所述数据的具有一预定时长为T2的第二定时器,同时将所述重组的数据进行缓存;及步骤4,若所述发送方在T1时间内没有接收到所述接收方发来的包含全部数据包的标识的所述反馈信息,则向所述接收方发送丢弃该数据的消息;步骤5,若所述接收方在T2时间内接收到所述发送方传来的丢弃所述重组的数据的消息,则所述接收方丢弃所述数据并取消所述定时器;若所述接收方在T2时间内未接收到所述发送方传来的丢弃所述重组的数据的消息,则所述接收方将所述重组的数据发送给其上层并取消所述定时器。
2.根据权利要求1所述的方法,其特征在于所述第二定时器的时长由所述接收方的上层确定。
3.根据权利要求1所述的方法,其特征在于所述第二定时器的时长由所述接收方确定。
4.根据权利要求1-3之一所述的方法,其特征在于所述第二定时器的时长为一个TTI。
5.根据权利要求3所述的方法,其特征在于,所述第二定时器的时长确定方法包括首先,初始设置第二定时器的时长为一个TTI,进入步骤a;步骤a,所述接收方接收所述数据包时,根据数据包的所述标识判断是否有数据包丢失,如果有丢失则进入步骤b,如果没有丢失则跳出;步骤b,记录满足所述步骤2中的预定条件时的时刻为T0;步骤c,当所述接收方接收到所述发送方重发来的所述曾指定丢失的数据包之一时,记录该时刻为T1;所述第二定时器时长确定为TTI+T1-T0,返回步骤a。
全文摘要
本发明涉及一种在一发送方和一接收方之间的数据传输方法,其中包括在发送方设置对应该数据的第一定时器时长为T1,和在接收方设置对应该数据的第二定时器时长为T2,并且在数据重组后启动该第二定时器,如果所述发送方T1时间内没有接收到表示所述数据重组的反馈信息,则向所述接收方发送丢弃该数据的消息;如果所述接收方在T2时间内接收到所述发送方传来的丢弃所述重组的数据的消息,则所述接收方丢弃所述数据并取消所述定时器;若所述接收方在T2时间之内未接收到所述发送方传来的丢弃所述重组的数据的消息,则所述接收方将所述重组的数据发送给其上层并取消第二定时器。
文档编号H04L29/06GK1949697SQ20051011285
公开日2007年4月18日 申请日期2005年10月14日 优先权日2005年10月14日
发明者郝禺台 申请人:大唐移动通信设备有限公司, 上海大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1