一种无线块的传输方法及系统
技术领域
本发明涉及无线通信技术领域,尤其涉及一种无线块的传输方法及系统。
背景技术
第二代移动通信系统在加入PCU(Packet Control Unit,分组控制单元)后,开始支持分组域数据业务,即GPRS(General Packet Radio Service,通用分组无线业务)和EGPRS(Enhanced General Packet Radio Service,增强型通用分组无线业务)。
在进行分组域数据业务时,一个TBF(Temporary Block Flow,临时块流)包含两个RLC(Radio Link Control,无线链路控制)端对等实体,每个RLC端都有一个接收端和发送端,分别用于接收和发送RLC/MAC(介质访问控制)块,RLC的传输模式分为确认模式和非确认模式,在RLC的非确认模式下,发送端不需要重传接收端丢失或解码错误的无线块。
在RLC确认模式下,接收端发送分组确认,要求发送端重传没有正确接收的无线块。发送端发送的无线块通过BSN(Block sequence number,块号)来标识,BSN用于无线块的重传和上层数据的重组。
在RLC确认模式下,每个接收端具有一个大小为K的接收窗口,在GPRS业务中,K是固定值64,而在EGPRS业务中,窗口的大小由该TBF分配的信道数确定,范围是64~1024。接收窗口的范围是VQ(Receive window statevariable,接收窗口状态变量,表示在接收窗口内未收到的最小BSN的无线块,因此它代表接收窗口的开始)~(VQ+K),只有接收的块序列号在接收窗口范围内才是有效的。
每个发送端具有一个大小为K的发送窗口,在GPRS业务中,K是固定值64,在EGPRS业务中,窗口的大小由该TBF分配的信道数确定,范围是64~1024。发送窗口的范围是VA(Acknowledge state variable,确认状态变量,它的值为最早发送的但未被接收端确认的RLC无线块的BSN值)~(VA+K),只有在发送窗口内的块才能作为有效块被发送。
图1为RLC无线块接收窗口和发送窗口的典型示意图,发送和接收RLC无线块的过程包括:
步骤101:RLC发送端通过PDTCH(Packet Data Traffic Channel,分组数据交通信道)信道发送无线块,并在发送N个无线块后置RRBP(RelativeReserved Block Period,相关保留块周期)字段,期望接收端在指定的上行块上发送分组下行确认;
置RRBP字段的周期为L*(TBF分配的下行信道数),L是根据实际情况优化的参数。
步骤102:RLC接收端收到无线块后,更新块的接收状态(VN);
步骤103:RLC接收端在指定的上行块上发送包含确认位图的分组下行确认给发送窗口,告知块的接收状况;
步骤104:RLC发送端收到确认位图后,更新块的发送状态(VB)并对RLC接收端没有收到的块进行重发,如果没有NACK(未正确接收)块进行重发,则发送新块,如果没有新块可发,则发送Pending(等待确认)块(即发送端已经发送,接收端还未确认其状态的块,该块的发送状态为Pending)。
发送端每发送一个RLC无线块后,该块在VB中的发送状态更新为Pending,没有NACK块和新块可发时,则发送Pending块,当所有的Pending块都被发送一次后,再从最早一个发送状态为pending的块重发。
图2为BSC(基站控制器)发送下行无线块并对分组下行确认处理的示意图,图3为发送无线块的示意图,请同时参考图2和图3,包括:
假设RRBP的周期为10个无线块,Um口和Abis口的总时延为60ms。
步骤201:BSC在0ms时开始发送下行无线块,在180ms即第十个无线块上置有效的RRBP;
步骤202:MS解码获得RRBP信息后,在相应的块上给BSC发送分组下行确认,对接收块的状态进行确认;
由于空口和Abis口的时延以及RRBP的特性,导致MS(移动台)至少在280ms才发送该下行确认,并且BSC至少再经过60ms的延时才收到该下行确认,此时BSC在置过RRBP后又发送了8个无线块。
步骤203:当BSC解码该下行确认位图时,在无线环境不理想的情况,会发现有多个NACK块,BSC优先传输这些NACK块,如图中的BSN1和BSN3~BSN10之间的块;
步骤204:由于BSC每十个块置一个有效的RRBP,故重发NACK块BSN4时置RRBP,RRBP有效的值为0(即指示MS在帧号N+13上发送分组下行确认,N是包含RRBP的下行块的第一个TDMA帧号);
步骤205:由于时延,MS在480ms上报分组下行确认,且确认位图中BSN5~BSN10之间的块状态是0(MS指示需要重传);
步骤206:由于时延,BSC在540ms收到该分组下行确认,且再次重传确认位图中块状态为0的BSN5~BSN10。
由上述实现过程可知,由于MS和BSC之间的时延,导致了BSN5~BSN10的多余重传。MS在440ms处确定接收位图时,BSC已经开始重传BSN5~BSN10,BSC在540ms接收到分组下行确认时,由于分组下行确认中BSN5~BSN10均为NACK,导致BSC再次重传BSN5~BSN10。
如果多次出现对无线块重复传输的现象,会导致下行信道利用率下降;如果延迟对这些块进行重传,会导致上层重组LLC(逻辑链路控制)帧失败或者发送窗口停滞而TBF异常释放。
发明内容
本发明要解决的技术问题是提供一种无线块的传输方法及系统,解决由于时域传输时延,产生的无线块重传,影响业务稳定性的问题。
为解决上述技术问题,本发明的一种无线块的传输方法,包括:
发送端向接收端发送携带相关保留块周期(RRBP)的下行块,接收端根据RRBP向发送端返回分组下行确认;
发送端在接收到分组下行确认时,判断该分组下行确认指示需要重传的无线块是否已在发送携带RRBP的下行块后进行重传,若已在发送携带RRBP的下行块后进行重传,则保留该已重传的无线块的发送状态,无需再次重传。
进一步地,判断该分组下行确认指示需要重传的无线块是否已在发送携带RRBP的下行块后进行重传包括:
发送端在发送携带RRBP的下行块时,保存该下行块的发送帧号,在重传无线块时,保存重传的无线块的发送帧号;
发送端在接收到分组下行确认时,确定该分组下行确认指示需要重传的无线块中已重传的无线块,将该已重传的无线块的发送帧号和携带RRBP的下行块的发送帧号分别与当前帧号进行比较,若已重传的无线块的发送帧号与当前帧号的差值小于携带RRBP的下行块的发送帧号与当前帧号的差值,则该已重传的无线块已在发送携带RRBP的下行块后进行重传。
进一步地,确定该分组下行确认指示需要重传的无线块中已重传的无线块包括:
发送端在保存重传的无线块的发送帧号时,还为该重传的无线块配置帧号标识,并配置该帧号标识表示已保存发送帧号;
发送端在接收到分组下行确认时,若该分组下行确认指示需要重传的无线块的帧号标识表示已保存发送帧号,则确定该无线块为已重传的无线块。
进一步地,该方法还包括:
发送端在发送新的无线块时,为该新的无线块配置帧号标识,并配置该帧号标识表示未保存发送帧号;
发送端在接收到分组下行确认时,若该分组下行确认指示需要重传的无线块的帧号标识表示未保存发送帧号,则将该无线块的状态置为未正确接收(NACK)并重新发送。
进一步地,该方法还包括:在将已重传的无线块的发送帧号和携带RRBP的下行块的发送帧号分别与当前帧号进行比较时,若已重传的无线块的发送帧号与当前帧号的差值大于或等于携带RRBP的下行块的发送帧号与当前帧号的差值,则将该无线块的状态置为NACK并重新发送。
进一步地,该方法还包括:
发送端在接收到分组下行确认后,对于接收端最早未接收到的无线块,判断该无线块的块号是否等于接收窗口状态变量(VQ),若等于,则再判断该VQ是否等于接收状态变量(VR),若该VQ等于VR,则进一步判断VR与VQ的取值是否大于确认状态变量(VA)且小于发送状态变量(VS),如果是,则保留接收端最早未接收到的无线块的发送状态;否则,判断该无线块是否已在发送携带RRBP的下行块后进行重传。
进一步地,已重传的无线块包括NACK块和等待确认(Pending)块。
进一步地,一种无线块的传输系统,包括:收发模块、判断模块和发送状态维护模块,其中:
收发模块,用于向接收端发送携带相关保留块周期(RRBP)的下行块,接收接收端返回的针对RRBP的分组下行确认;
判断模块,用于在所述收发模块接收到分组下行确认后,判断该分组下行确认指示需要重传的无线块是否已在发送携带RRBP的下行块后进行重传;
发送状态维护模块,用于在判断模块判断分组下行确认指示需要重传的无线块已在发送携带RRBP的下行块后进行重传时,保留该已重传的无线块的发送状态,无需再次重传。
进一步地,收发模块,还用于在发送携带RRBP的下行块时,保存该携带下行块的发送帧号,在重传无线块时,保存重传的无线块的发送帧号;
判断模块在收发模块接收到分组下行确认时,确定该分组下行确认指示需要重传的无线块中已重传的无线块,将该已重传的无线块的发送帧号和携带RRBP的下行块的发送帧号分别与当前帧号进行比较,若已重传的无线块的发送帧号与当前帧号的差值小于携带RRBP的下行块的发送帧号与当前帧号的差值,则该已重传的无线块已在发送携带RRBP的下行块后进行重传。
进一步地,收发模块,还用于在保存重传的无线块的发送帧号时,为该重传的无线块配置帧号标识,并配置该帧号标识表示已保存发送帧号;
判断模块,确定该分组下行确认指示需要重传的无线块中已重传的无线块时,若分组下行确认指示需要重传的无线块的帧号标识表示已保存发送帧号,则确定该无线块为已重传的无线块。
综上所述,本发明在RLC确认模式下,限制对重传块的重传,解决在无线质量不好的情况下进行下载业务,产生大量的重传块重传,影响业务稳定性和系统性能等问题。本发明通过对基站侧发送重传块的帧号、发送携带RRBP下行块的帧号分别与当前下行发送帧号进行比较,确定二者帧号的先后,进而判断重传块是在移动终端确定分组确认位图前接收还是确定分组确认位图后接收,最后决定是否对该块进行重传,实现下载业务的最佳性能。同时由于对Pending块也记录了发送的帧号,降低了一些下行块需要被重传的风险,在无线环境不理想的情况下,减少了大量的NACK块和发送状态为Pending的块的重传,提高了系统的性能。
附图说明
图1为下行无线块传输典型流程图;
图2为目前BSC发送下行块及对分组下行确认处理流程的示意图;
图3为基于图2的BSC发送无线块的示意图;
图4为本发明实施方式防止NACK块重复传输流程的示意图;
图5为基于图4的BSC发送无线块的示意图;
图6为本发明实施方式防止Pending块重复传输的示意图;
图7为基于图6的BSC发送无线块的示意图;
图8为本发明实施方式防止SSN-1的块重复传输的示意图;
图9为基于图8的BSC发送无线块的示意图;
图10为本实施方式传输无线块的系统的结构图。
具体实施方式
由于Um口和Abis口的传输时延,导致接收端(MS)上报没有收到某些无线块或无线块解码错误时,发送端(BSC)可能已经重发了这些无线块,如果BSC侧仍然按照上报的位图对MS没有收到或解码错误的无线块进行重传,就会浪费下行带宽,降低整个系统的性能。
本实施方式中BSC侧通过确认位图中下行块的发送帧号和携带RRBP的下行块的发送帧号的先后,确定在确认位图中的下行块是在携带RRBP的下行块前还是在携带RRBP的下行块后发送的下行块,如果是在携带RRBP的下行块前或正好是携带RRBP的下行块,则将该块置为NACK并重新发送;如果是在携带RRBP的下行块后BSC侧发送的下行块,则保留块的发送状态,不重传。
考虑到RLC在发送下行无线块时,对于新块,其块号是按顺序发送的,故MS对新块的上报是准确的,然而对于NACK块,MS可能在上报块未正确接收或解码错误时,该块可能已经被重传。同样,在下行没有新块要发送时,RLC就发送最早的发送状态为pending的块,故当MS上报Pending块没有收到时,也可能会是一种误报。
本实施方式中采用帧号比较的方法,在发送下行NACK块和Pending(等待确认)块时记录该块的发送帧号,并置帧号标志表示已保存帧号;在发送新的下行块时,不保存发送帧号,并置帧号标志表示未保存帧号,并且在发送携带RRBP的下行块时,也要记录该携带RRBP的下行块的发送帧号。
目前在3gpp协议中,MS发送的确认位图中包括对携带RRBP的下行块之前BSC侧发送的下行块和携带RRBP的下行块的确认信息,在携带RRBP的下行块之后可能收到的块,不同的移动终端厂商可以自由选择上报或是不上报这些块的接收状态,多数移动终端对于携带RRBP的下行块之后的块的状态并没有上报,故当BSC处理确认位图时,对于块号等于VQ即SSN(Starting sequence number,起始序列号,指示确认位图中第一个比特位对应的BSN。)减1的块(接收端最早没有收到的下行块的块号,该块的接收状态并不包含在确认位图中)及确认位图中为0的下行块(指示需要重传的无线块),判断该块是否属于重发的NACK块或Pending块,如果帧号标志表示未保存帧号,则直接将该块置为NACK并重发;如果帧号标志表示已保存帧号,则将该NACK块或者Pending块的发送帧号,携带RRBP的下行块的发送帧号,分别与当前的下行帧号进行比较,如果NACK或Pending的发送帧号与当前的下行帧号的相对差大于或等于携带RRBP的下行块的发送帧号与当前的下行帧号的相对差,则表明在MS发送的确认位图描述的最后一个块之前已经到达MS侧,由于解调失败或者电平质量等问题,导致到达MS的块没有正确译出来,该块应该置为NACK并重发;否则,该块的发送状态保留直到下次收到确认位图后再重选判断。
下面结合附图对本实施方式进一步详细说明。
图4为本实施方式防止NACK块重复传输的示意图,图5为发送无线块的示意图,请同时参考图4和图5,包括:包括:
下面实施例中,假设下行分配了两条信道,信道实例26和27,使用编码方式MCS6传输下行无线块并且RRBP等于0。
步骤401:BSC侧发送新块BSN252~BSN287,其帧号1399172至1399259,BSC在帧号1399233上发送了携带RRBP的下行块,则分组下行确认在1399246上发送;
RRBP等于0指示MS在携带RRBP的下行块的第一个TDMA帧号后的第13帧上发送分组下行确认,因为携带RRBP的下行块在帧号1399233上发送,则分组下行确认在1399246上发送。
步骤402:MS在帧号1399246上发送分组下行确认,描述BSN253至BSN274块的接收情况,其中,VQ=252;
步骤403:BSC收到分组下行确认后,发现BSN264、BSN266至BSN274块被收到;
步骤404:BSC停止发送新块,由于Abis口延时,BSC在帧号1399263处收到分组下行确认(Packet Dl ACK),从1399263开始重传BSN252至BSN263以及BSN265块,保存发送帧号,并置重发的块的帧号标志为已保存帧号;
步骤405:BSC重传BSN252至BSN263以及BSN265块后,从BSN288开始继续发送新块,在帧号1399276上发送携带RRBP的下行块;
步骤406:MS是在帧号1399289上发送该分组下行确认,确认位图从BSN259至285,其中VQ=258;
因为RRBP等于0,携带RRBP的下行块在帧号1399276上发送,因此,MS在帧号1399289上发送该分组下行确认。
步骤407:BSC在发送到BSN293,帧号为1399307时,又收到分组下行确认,收到该分组下行确认后,发现确认位图中BSN259~BSN263,BSN265,BSN275~BSN277以及BSN284的接收状态为0,查询状态为0的块的帧号标识,其中,BSN259~BSN263以及BSN265的帧号标识为已保存,说明已经重传过,分别将BSN259~BSN263以及BSN265和携带RRBP的下行块的发送帧号与当前帧号进行比较,将发送帧号与当前的下行帧号的相对差大于携带RRBP的下行块的发送帧号与当前的下行帧号的相对差的块置为NACK重新发送;
通过比较可以知道,BSN258和BSN259(这两个块在两个信道相同的帧号上发送的)与当前帧号的相对差值等于携带RRBP的下行块与当前帧号的相对差,故此块的发送状态需要置为NACK重新发送。
BSN260~BSN263以及BSN265与当前帧号的相对差小于携带RRBP的下行块与当前帧号的相对差,在MS确定确认位图时已经重发,故这五个块的发送状态保留。
BSN275~BSN277以及BSN284的帧号标识为未保存,属于第一次发送且是在设置确认位图之前到达MS,故发送状态需要置为NACK并重新发送。
步骤408:BSC发送状态置为NACK的块,并接着发送新块BSN294~297。
BSC收到SSN=272的分组下行确认,说明BSN260~BSN263和BSN265已收到,在重发一次后成功被MS接收,减少这五个块的重传次数。
图6为本实施方式防止Pending块重复传输的流程的示意图,图7为基于防止Pending块重复传输的BSC发送无线块的示意图,请同时参考图6和图7,包括:
下行分配了5条信道,信道实例0~4,使用编码方式MCS9传输下行无线块并且RRBP等于0。
步骤601:BSC从帧号950794开始发送新块BSN26~84后,BSC收到帧号为950789,SSN=27的分组下行确认,并且分组下行确认中确认位图的长度为0,且下行没有新块需要发送,故BSC从BSN26开始发送Pending块,记录Pending块的发送帧号,并置Pending块的帧号标志为已保存帧号,当发送到Pending块BSN43时,收到分组下行确认,当前的帧号为950863;
步骤602:该分组下行确认的发送帧号950833,SSN=29,长度为56,描述BSN29到BSN84的接收状态;
步骤603:BSC收到该分组下行确认后,对确认位图进行解码,只有BSN84块收到,其他位图中相应块的指示为0,将BSN28~BSN43的发送帧号和携带RRBP的下行块的发送帧号分别与当前发送帧号比较,BSN28~BSN43在MS描述确认位图后已经重发,发送状态不变;BSN44~BSN83是属于第一次发送且是在设置确认位图之前到达MS,故发送状态置为NACK并重传。
BSC收到的发送帧号为950876,SSN=51分组确认看出,Pending块BSN28~BSN43已经正确接收,避免了重传。
下面对本实施方式在EGPRS业务中,防止块号为SSN-1(即VQ)的块(SSN-1的块比较特殊,并没有包含在确认位图中,需要根据分组下行确认的隐含信息判断该块是否需要重传)重复传输的方法进行说明。
在EGPRS业务中,基站控制器在接收到分组下行确认后,可以根据BOW(begin of window,起始窗口)判断SSN是否等于VQ加1,当BOW=1即表示SSN等于VQ加1时,再进一步再判断是否对块号为SSN-1的块进行重传。
对于块号为SSN-1(即VQ)的块进行重传判断时,由于BSC已经发送了块号在VR(Receive state variable,接收状态变量,指示接收端准备接收的下一个块的BSN)到VS之间的块,但是这些块还没有到达接收端,故可以根据EOW(end ofwindow,终止窗口)判断块号为VR-1的块是否包含在确认位图中,并且判断确认位图的长度是否为0,若块号为VR-1的块包含在确认位图中,且确认位图的长度为0,则表示VR=VQ,即接收端正确接收到了到目前为止的无线块。本实施方式中EOW=1表示块号为VR-1无线块包含在确认位图中。
在VR=VQ的情况下,进一步判断是否满足VA<VR=VQ<VS,即判断VQ是否在VA与VS(发送状态变量)之间,如果满足,则表示基站控制器已向接收端发送块号为VQ的无线块(即块号为SSN-1的无线块),而接收端还没收到,因此不必重传,基站控制器保留该块号为SSN-1的无线块的发送状态。
当不满足上述情形时,需要根据帧号判断是否需要重传,请参考图8,图8为防止SSN-1的块重复传输的流程的示意图,图9为防止SSN-1的块重复传输时BSC发送无线块的示意图,请同时参考图8和图9,具体步骤如下:
下行分配了5条信道,信道实例0~4,使用编码方式MCS9传输下行无线块并且RRBP等于0。
步骤801:BSN247在帧号1614006上第一次传输;
步骤802:BSC收到发送帧号为1614019,SSN等于248的分组下行确认,随后SSN减1即VQ=BSN247的块在帧号1614049上重传;
步骤803:当BSC收到发送帧号为1614036(第二次的分组下行确认,两次分组下行确认间隔的时间比较短并且BSN247的块一直没收到,会再上报一个SSN=248的分组下行确认的,但是确认位图有可能不同),SSN等于248的分组下行确认,此时将BSN247的发送帧号1614049,携带RRBP的下行块发送帧号1614023分别与当前帧号1614067进行比较得知BSN247在携带RRBP的下行块发送后才发送,所以不用重传;
当BSC收到发送帧号为1614049,SSN为285的分组下行确认,此时表明BSN247已经正确接收。
图10为本实施方式的无线块的传输系统,包括:收发模块、判断模块和发送状态维护模块,其中:
收发模块,用于向接收端发送数据块和携带RRBP的无线块,接收该接收端返回的针对RRBP的分组下行确认;在发送携带RRBP的下行块时,保存该携带RRBP的下行块的发送帧号,在重传无线块时,保存重传的无线块的发送帧号,为该重传的无线块配置帧号标识,并配置帧号标识表示已保存发送帧号;在发送新的无线块时,为该新的无线块配置帧号标识,并配置该帧号标识表示未保存发送帧号。
判断模块,用于在收发模块接收到分组下行确认后,判断该分组下行确认指示需要重传的无线块是否已在发送携带RRBP的下行块后进行重传,包括:确定该分组下行确认指示需要重传的无线块中已重传的无线块,若分组下行确认指示需要重传的无线块的帧号标识表示已保存发送帧号,则确定该无线块为已重传的无线块,将该已重传的无线块的发送帧号和携带RRBP的下行块的发送帧号分别与当前帧号进行比较,若已重传的无线块的发送帧号与当前帧号的差值小于携带RRBP的下行块的发送帧号与当前帧号的差值,则该已重传的无线块已在发送携带RRBP的下行块后进行重传;若已重传的无线块的发送帧号与当前帧号的差值大于或等于携带RRBP的下行块的发送帧号与当前帧号的差值,则将该无线块的状态置为NACK以便重新发送;若分组下行确认指示需要重传的无线块的帧号标识表示未保存发送帧号,则将该无线块的状态置为未确认以便重新发送。
判断模块在接收到所述分组下行确认后,对于接收端最早未接收到的无线块,还判断该无线块的块号是否等于接收窗口状态变量(VQ),若等于,则再判断该VQ是否等于接收状态变量(VR),若该VQ等于VR,则进一步判断所述VR与VQ的取值是否大于确认状态变量(VA)且小于发送状态变量(VS);不满足上述条件时,还判断该无线块是否已在发送携带RRBP的下行块后进行重传。
发送状态维护模块,用于在判断模块判断分组下行确认指示需要重传的无线块已在发送携带RRBP的下行块后进行重传时,保留该已重传的无线块的发送状态,无需再次重传。对于接收端最早未接收到的无线块,如果块号等于VQ,VQ等于VR,VR与VQ的取值大于VA且小于VS则保留所述接收端最早未接收到的无线块的发送状态;不满足上述条件时,若接收端最早未接收到的无线块已在发送携带RRBP的下行块后进行重传,则保留该无线块的发送状态,无需再次重传。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
当然,本发明还可有多种实施方式,在不背离本发明精神及其实质的情况,熟悉本领域的技术人员当可根据本发明做出各种相应的更改或变化,但凡在本发明的精神和原则之内所作的任何修改、等同替换、改进,均应包含在本发明的保护范围之内。