背景技术
在3G长期演进项目(LTE)中,采用HARQ+Upper ARQ(自动重传请求)的两层重传机制已得到共识。其中HARQ(混合自动重传请求)主要通过对误块的检测,重传与合并,获得合并增益,以提高物理资源的利用率。对于HARQ无法检测的误块或经多次重传仍传输失败的误块,则由外层ARQ(Upper ARQ)负责检测和重传。
图1是双层自动重发请求机制的示意图。在双层ARQ(自动重传请求)结构中,在Upper ARQ层对SDU(服务数据单元)进行分段,对于高层到达的SDU,根据其大小分割或填充成一定大小的Upper ARQ PDU(协议数据单元)。HARQ层实现对ARQ PDU的串接功能,根据信道条件和可用资源的变化,动态地将一个或多个ARQ PDU串接成一个HARQ PDU,然后通过物理信道传输。HARQ通过串接不同数量的Upper ARQ PDU来适应实时的信道特性的变化。
其中Upper ARQ PDU的长度能够根据接收端或发送端的反馈信息动态改变,例如,当信道条件较好时,将SDU分割为较长的分段,可以保证更高的传输效率。在信道特性发生了较大变化的情况下(例如,信道特性不适合按以往的Upper ARQ PDU长度传输时),就需要对业务数据单元重新进行分段。因此,Upper ARQ PDU的长度会有变化。发送端需要将该变化及时地通知接收端,从而使接收端按照新的PDU长度对数据进行解析,得到正确的SDU数据。
在现有技术中,是通过信令交互的方式进行Upper ARQ PDU长度重配置的。图2是现有技术中以信令方式通知协议数据单元长度变化的流程图。在信令交互过程中,当网络服务端需要改变协议数据单元的长度时,SRNC(服务端无线网络控制器)端向UE(用户设备)端发出包含改变PDU长度信息的RB(无线承载)重配置信令,UE端接收到RB重配置信令后,在UE端进行重配置操作,UE端的重配置操作是在UE的RRC层、物理层、MAC层、RLC层之间进行的。在UE端完成重配置后,UE通过RLC层向SRNC发送重配置完成信令,以通知UE重配置完成。SRNC接收UE的重配置完成信令后,开始进行SRNC的重配置,SRNC的重配置操作是在的RRC层、物理层、SRNC-MAC层、CRNC-MAC层、RRC层、RLC层之间进行的。在完成UE端和SRNC端的配置后,即可将长度改变的分段串接形成的HARQ PDU发送到接收端。
现有技术中采用信令交互的通知方法在Upper ARQ PDU长度动态变化时存在明显的缺点:过程复杂,不仅需要在UE和RNC之间进行交互,而且需要UE或RNC在本地进行配置,而且在同步无线承载重配置的信令过程中还要引入相应的Node B物理层激活时间和单独的委托请求过程,因此进一步加大了时延。信令交互的延迟,将导致数据传输的延迟,因此只适用于UpperARQ PDU长度半静态的变化过程。
另外,信令交互方法中频繁的信令过程,还会浪费大量的信道资源。而且,如果收发两端Upper ARQ PDU长度参数不统一,将引起HARQ PDU解析的错误。
发明内容
针对现有技术中信令交互方式延时长、资源开销大的缺点,本发明提供了一种发送方式简单、资源占用少的协议数据单元长度变化通知方法及装置。
为解决上述问题,本发明提供了一种协议数据单元长度变化的通知方法,用于至少包括两层重传控制功能的通信系统中,包括:
(1)判断高层重传控制功能生成的PDU的长度是否改变;
(2)根据判断结果设定低层重传控制PDU中的长度指示域;
(3)向接收端发送低层重传控制PDU;
(4)接收端根据低层重传控制PDU中的长度指示域获知发送端高层重传控制功能生成的PDU的长度变化。
根据上述方法,还包括:根据步骤(1)的判断结果设定低层重传控制PDU中的标志域,所述标志域用于指示长度指示域是否存在。其中,当标志域指示长度指示域不存在时,向接收端发送没有长度指示域的低层重传控制PDU;当标志域指示长度指示域不存在时,接收端根据未变化的长度值解析低层重传控制PDU。
根据上述方法,在以后发送的预定个数低层重传控制PDU中具有所述长度指示域。
根据上述方法,还包括:接收端根据长度指示域所表示的长度值解析低层重传控制PDU,从中获取高层重传控制PDU。
本发明还提供一种协议数据单元长度变化的通知方法,用于至少包括两层重传控制功能的通信系统中,包括:
(1)根据高层重传控制PDU的长度值,设定低层重传控制PDU中的第二长度指示域;
(2)根据具有第二长度值的第一个高层重传控制PDU的序列号,设定低层重传控制PDU中的第二起始单元序列号;
(3)向接收端发送低层重传控制PDU。
根据上述方法,在以后发送的预定个数低层重传控制PDU中具有第二起始单元序列号和第二长度指示域。
根据上述方法,还包括:接收端根据第二长度指示域所表示的长度值和和第二起始单元序列号解析低层重传控制PDU,从中获取高层重传控制PDU。相应地,本发明还提供了一种协议数据单元长度变化的通知装置,用于至少包括两层重传控制功能的通信系统中,包括:
比较单元,用于判断高层重传控制PDU的长度是否改变;
设定单元,用于设定低层重传控制PDU中的长度指示域;
发送单元,用于向接收端发送低层重传控制PDU。
在协议数据单元长度变化的通知装置中,还包括:标志单元,用于根据比较单元的判断结果设定低层重传控制PDU中的标志域。
与现有技术相比,本发明能够在发端的Upper ARQ PDU长度发生变化时,实时地通知接收端,接收端可以根据发送端所发送的PDU头标志对数据进行解析,而不需要发送端和接收端之间复杂的交互过程。此外,本发明将简短的指示域与标志域与PDU数据一起发送,节约了带宽资源。
而且,通过对HARQ PDU中的长度信息进行重发,使得接收端无法正确解析HARQ PDU的概率小于某一阈值,减少了由于信道等原因而造成传输失败的情况,提高了传输的可靠性。
具体实施方式
图3是根据本发明实施例的协议数据单元长度变化的通知方法的流程图。
Upper ARQ层将业务数据单元(SDU)进行分段,HARQ层将所述分段后的数据加上一些头标记,例如,分段序列号(SN)、及分段标识、填充量、填充等,生成Upper ARQ PDU。所述Upper ARQ PDU将在HARQ层被串接起来,被发送到接收端,在接收端通过相反的步骤进行解析,组合成为SDU,从而完成对数据的传输。
在步骤301,对待串接的Upper ARQ(高层重传控制)PDU的长度与当前进行数据传输时分段的Upper ARQ PDU长度值进行比较。所述待串接的UpperARQ PDU的长度值是根据相应的传输协议从Upper ARQ层所传送的数据中获得的。在正常传输情况下,该长度值是Upper ARQ层当前进行数据传输时分段的长度值,即所传输的HARQ PDU中,数据段是由所述长度的Upper ARQ PDU串接成的。优选地,所述长度值对于发送端和接收端都是已知的。如果待串接的Upper ARQ PDU的长度值与当前进行数据传输时分段的长度值相同,则转到步骤305;如果待串接的Upper ARQ PDU的长度值与当前进行数据传输时分段的长度值不同,则转到步骤302。
在步骤305,将标志域设置为长度指示域不存在状态,例如设置为0,并且优选地不再传输长度指示域,在步骤306,向接收端发送只具有标志域的HARQPDU,以节约系统开销。在步骤307,根据标志域和设定长度值,接收端对HARQPDU进行解析。可替换地,也可以继续传输长度指示域,所述长度指示域中可以仍然按照设定长度值设置,则接收端按照设定长度值进行解析。
如果所获取的Upper ARQ PDU长度值与设定长度值不相等,则在步骤302,设置标志域和长度指示域,例如,设置标志域为长度指示域存在状态,例如设置标志域为1,并且将长度指示域设定为所获取的UpperARQ PDU的长度值。
在步骤303中,向接收端发送具有标志域或长度指示域的HARQ PDU。所述标志域或长度指示域与HARQ PDU的数据部分一起被发送到接收端。优选地,标志域或长度指示域可以作为HARQ PDU的头部(header)或头部的一部分传输。
由于信道等原因,向接收端发送HARQ PDU可能会失败。因此优选地,变化后的Upper ARQ PDU的长度信息将在之后发送的n个HARQ PDU的Header中连续携带,对n值的选择是基于统计的结果获得的。也就是说,在对上述长度信息连续发送n次的情况下,接收端无法正确解析HARQ PDU的概率小于某一阈值。
在步骤304中,根据标志域和长度指示域,接收端对HARQ PDU进行解析。接收端接收到HARQ PDU后,首先读取HARQ PDU中的标志域或长度指示域中的信息。优选地,通过读取HARQ PDU的头部中的标志域和长度值指示域的信息,从而接收端获取了HARQ PDU所串接的Upper ARQ PDU的长度值信息或标志信息。根据所获取的长度值信息或标志信息,接收端确定以何种长度值信息来从HARQ PDU中分段提取出Upper ARQ PDU,在HARQ PDU的头部中,优选地还包括Upper ARQ PDU的序列号信息,例如,HARQ PDU中串接的第一个Upper ARQ PDU的序列号。根据上述信息,接收端能够将HARQPDU中所串接的Upper ARQ PDU重新组合,还原成为SDU,从而完成了在HARQ PDU层的数据传输。
图4是根据本发明一个实施例的应用协议数据单元长度变化的通知方法所采用HARQ PDU的结构图。
在图4中,HARQ PDU由头部(HARQ PDU Header)和数据部分(HARQPDU Data)组成。其中,头部包括:SN、Flag以及New Length域。
在HARQ PDU的头中可以设置一个起始单元序列号,用于表示UpperARQ PDU的位置。在本实施例中,起始单元序列号即SN标识。SN标识表示HARQ PDU中串接的第一个Upper ARQ PDU的序列号;所述SN标识用于在对HARQ PDU进行串接时,接收端能够根据SN标识对分解出的UpperARQ PDU进行重新组合。
在HARQ PDU的头中设置一个标志域,用于表示是否存在长度指示域。例如,当所获取的UpperARQ PDU长度值与设定长度值相等时,该标志域设置为0,表示长度指示域不存在;该标志域为1的时候,表示长度指示域存在。其中,长度指示域表示改变后的Upper ARQ PDU的长度。在本实施例中,标志域实现为标志域Flag。
如图所示,Flag是标志域,用于指示Upper ARQ PDU长度指示域和相关序列号域是否存在。优选地,标志域是一个布尔数,例如,当Flag的值是0时,New Length域不存在;当Flag的值是1时,New Length域存在。
在本发明中,长度指示域是HARQ PDU的头中的一组标志位,即NewLength域,New Length表示改变后的Upper ARQ PDU的长度。New Length域的可以采用两种方式表示Upper ARQ PDU的长度:一种是以Upper ARQ PDU的真实长度(如以Byte为单位)表示;另一种是通过采用索引表示Upper ARQPDU长度的若干离散取值。
New Length域两种表示UpperARQ PDU长度的方式:以字节数表示(Byte为单位);采用索引号表示(例如:Upper ARQ PDU长度在15bytes、30bytes、60bytes三种可能的长度值中,相应地,索引号1表示15bytes,索引号2表示30bytes,索引号3表示60bytes)。
图5是根据本发明另一个实施例中通知协议数据单元长度变化的方法所采用PDU的结构图。图4所示的实施例要求在同一个HARQ PDU中串接的Upper ARQ PDU具有相等的长度,即在同一个HARQ PDU中不能串接不同长度的Upper ARQ PDU,这样,在实际应用中较为不便,因此,在本实施例中,提供另一种串接不同长度的Upper ARQ PDU结构。
如图5所示,其中Sn是HARQ PDU中所串接的具有第一长度的UpperARQ PDU的第一个Upper ARQ PDU的序列号。
New Length是HARQ PDU中所串接的具有第二长度的Upper ARQ PDU的长度指示域。由于当前的传输的HARQ PDU中的Upper ARQ PDU具有第一长度,所述第一长度对于接收端是已知的,因此第一长度指示域不在HARQPDU中传输。
Begin SN表示采用采用不同长度的Upper ARQ PDU长度的第一个UpperARQ PDU序列号。根据SN、Begin SN和New Length,接收端可以对HARQPDU中所串接的不同长度的Upper ARQ PDU进行解析。
Flag将指示New Length和Begin SN域是否存在。优选地,标志域是一个布尔数,例如,当Flag的值是0时,New Length域和Begin SN域不存在;当Flag的值是1时,New Length域和Begin SN域存在。
在此方案中,接收端已知目前的Upper ARQ PDU长度,再根据接收到的HARQ PDU中的SN、New Length和Begin SN就可以获取新的Upper ARQPDU长度,并对当前HARQ PDU正确解析。
图6是根据本发明一个实施例的一种协议数据单元长度变化的通知装置的示意图。所述协议数据单元长度变化的通知装置包括比较单元601、设定单元602、标志单元603和发送单元604。
比较单元601用于通过对待串接的Upper ARQ(高层重传控制)PDU的长度与当前进行数据传输的Upper ARQ PDU长度值进行比较,来判断高层重传控制PDU的长度是否改变。通过相应的协议,从Upper ARQ层所传送的数据中获得待串接的Upper ARQ长度值。在正常传输情况下,待串接的Upper ARQ长度值是Upper ARQ层进行数据传输时分段的设定长度值,即所传输的HARQ PDU中,数据段是由设定长度的Upper ARQ PDU串接成的。优选地,当前长度值对于发送端和接收端都是已知的。比较单元601可以通过适合的软件模块或硬件控制逻辑实现。
设定单元602用于根据判断结果设定标志域和长度指示域。将待串接的Upper ARQ PDU长度值与当前进行数据传输的Upper ARQ PDU长度值进行比较,如果所待串接的Upper ARQ PDU长度值与当前进行数据传输的UpperARQ PDU长度值相等,则可以不设置长度值指示域,并且不再传输长度指示域,以节约系统开销。可替换地,也可以继续传输长度指示域,所述长度指示域中可以仍然按照设定长度值设置,则接收端按照设定长度值进行解析。如果所获取的Upper ARQ PDU长度值与当前进行数据传输的Upper ARQ PDU长度值不相等,则设置长度指示域,例如,将长度指示域设定为所获取的UpperARQ PDU的长度值。优选地,长度指示域可以作为HARQ PDU的头部(header)或头部的一部分传输。
标志单元603用于对标志域进行设定。使得标志域能够表示长度值指示域是否存在。如果所获取的Upper ARQ PDU长度值与当前进行数据传输的Upper ARQ PDU长度值相等,则将标志域设置为长度指示域不存在状态;如果所获取的Upper ARQ PDU长度值与当前进行数据传输的Upper ARQ PDU长度值不相等,则设置标志域为长度值指示域存在状态。
发送单元604用于向接收端发送串接后的协议数据单元。所述发送是基于HARQ层的协议进行的。发送单元可以通过相应的软件模块实现。
图7是根据本发明另一个实施例的协议数据单元长度变化的通知方法的流程图。
在步骤701,将待串接的Upper ARQ(高层重传控制)PDU的长度与当前进行数据传输的Upper ARQ PDU长度值(第一长度值)进行比较,来判断高层重传控制PDU的长度是否改变。如果待串接的Upper ARQ PDU长度值与当前进行数据传输的Upper ARQ PDU长度值相等,则在步骤705,将标志域设置为第二长度指示域不存在状态,并且不传输第二长度指示域。在步骤706,向接收端发送只具有标志域的HARQ PDU。在步骤707,根据标志域和当前进行数据传输的Upper ARQ PDU长度值,接收端对HARQ PDU进行解析。
如果所获取的Upper ARQ PDU长度值与设定长度值不相等,则在步骤702,设置标志域和第二长度指示域,例如,设置标志域为第二长度指示域存在状态,并且将长度指示域设定为所获取的Upper ARQ PDU的长度值。同时,将具有第二长度的起始单元序列号(即第二起始单元序列号)加入HARQPDU。
在步骤703中,向接收端发送具有标志域或长度指示域的HARQ PDU。所述标志域、第二起始单元序列号和第二长度指示域与HARQ PDU的数据部分一起被发送到接收端。优选地,标志域、第二起始单元序列号或第二长度指示域可以作为HARQ PDU的头部(header)或头部的一部分传输。
在步骤704中,根据标志域、第二起始单元序列号和第二长度指示域,接收端对HARQ PDU进行解析。接收端接收到HARQ PDU后,首先读取HARQ PDU中的标志域,确定是否存在由于Upper ARQ PDU长度改变后的第二长度指示域。利用HARQ PDU的头部中的标志域、第二起始单元序列号和第二长度指示域的信息从HARQ PDU中分段提取出Upper ARQ PDU。所述提取过程包括对于第二起始单元序列号之前的数据根据第一长度值进行提取,在第二起始单元序列号之后按照第二长度指示域所指示的长度值进行提取。并且重新组合,还原成为SDU,从而完成了在HARQ PDU层的数据传输。
虽然本发明公开了上述实施例,但具体实施例并不是用来限定本发明的,任何本领域技术人员,在不脱离本发明的思想和范围内,可以作出一些修改和润饰,因此本发明的保护范围应当以权利要求书界定的范围为准。