CN111262660B - 数据传输方法、设备及*** - Google Patents
数据传输方法、设备及*** Download PDFInfo
- Publication number
- CN111262660B CN111262660B CN201811459741.0A CN201811459741A CN111262660B CN 111262660 B CN111262660 B CN 111262660B CN 201811459741 A CN201811459741 A CN 201811459741A CN 111262660 B CN111262660 B CN 111262660B
- Authority
- CN
- China
- Prior art keywords
- pdu
- key
- equal
- receiving end
- critical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1621—Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/04—Error control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种数据传输方法、设备及***,涉及通信技术应用领域,将该方法应用于发送端,所述方法包括:获取待发送的协议数据单元PDU,所述PDU包括序列号SN;当所述SN满足标记条件,确定所述PDU为关键PDU,其中,所述标记条件包括:当前的超帧号HFN下,已有关键PDU的总数m满足:0≤m+1≤p,且0≤SN≤2n‑1,p为关键PDU的总数阈值,n为序列号尺寸;在向接收端发送所述关键PDU后,基于接收到的所述关键PDU的反馈信息,确定所述关键PDU是否接收失败;在确定所述关键PDU接收失败时,向所述接收端重传所述关键PDU。本申请能够解决目前通信***中,发送端和接收端数据传输可靠性较低的问题。本申请用于数据的传输。
Description
技术领域
本申请涉及通信技术应用领域,特别涉及一种数据传输方法、设备及***。
背景技术
在通信***中,发送端在进行数据传输时,会将待传输的数据划分为多个协议数据单元(Protocol Data Unit,PDU),然后通过COUNT值(3GPP标准提出的一个概念)对PDU进行加密,并发送至接收端,接收端采用相同的COUNT值对接收到的PDU进行解密,得到相应的数据。
其中,COUNT值包括超帧号(Hyper Frame Number,HFN)和序列号(SequenceNumber,SN)。发送端和接收端各自维护HFN,两者之间传输的PDU携带SN,发送端和接收端通过本地维护的HFN和PDU中携带的SN对该PDU进行加密或者解密。通信***中预先配置有SN尺寸(SN size),PDU所携带的SN满足:0≤SN≤2n-1,n为序列号尺寸(即SN尺寸)。发送端的各个PDU的SN按照0至2n-1的顺序依次配置,在SN达到SN最大值2n-1时,再进入下一轮0至2n-1的配置。相应的,发送端在发送PDU时,当该PDU的SN达到SN最大值2n-1时,将本地维护的HFN加1以更新HFN;接收端按照解析出的SN维护本地的HFN,在当前接收到的PDU的SN小于前一个相邻的PDU的SN时,确定该PDU中的SN已进入下一轮0至2n-1的配置,将本地维护的HFN加1以更新HFN。在每个PDU不丢失的情况下,发送端发送的PDU的数量和接收端接收到的PDU的数量应该是相同的,相应的,发送端发送的PDU的SN和接收端解析出的PDU的SN一致,且发送端和接收端各自维护的HFN一致。
但是当连续丢失的PDU的数量超过SN最大值时,接收端由于没有接收到相应的PDU,维护的HFN并未更新,这样导致接收端和发送端各自维护的HFN不一致,产生接收端和发送端的HFN失步,接收端后续接收的PDU无法解密,成为非法数据,因此,数据传输的可靠性较低。
发明内容
本申请提供了一种数据传输方法、设备及***,可以解决目前通信***中,发送端和接收端数据传输可靠性较低的问题。
第一方面,提供了一种数据传输方法,应用于发送端,所述方法包括:
获取待发送的协议数据单元PDU,所述PDU包括序列号SN;
当所述SN满足标记条件,确定所述PDU为关键PDU,其中,所述标记条件包括:当前的超帧号HFN下,已有关键PDU的总数m满足:0≤m+1≤p,且0≤SN≤2n-1,p为关键PDU的总数阈值,n为序列号尺寸;
在向接收端发送所述关键PDU后,基于接收到的所述关键PDU的反馈信息,确定所述关键PDU是否接收失败;
在确定所述关键PDU接收失败时,向所述接收端重传所述关键PDU。
当接收端接收到该关键PDU后,由于在发送端当前的HFN下,接收端获取到了该关键PDU中的SN,无论在当前的HFN下,该关键PDU之前是否出现PDU丢失的现象,接收端均可以基于该SN确定当前的HFN,从而使得接收端可以对后续接收到的PDU进行解密,进一步提高了发送端和接收端之间传输的数据的可靠性。这样,接收端仅需按照目前的解密规则进行正常解密即可,无需改进接收端的处理流程。
示例的,所述标记条件包括:当前的超帧号HFN下,已有关键PDU的总数m满足:0≤m+1≤p,且SN满足以下第一种条件、第二种条件和第三种条件的至少一者,该三种条件分别包括:
第一种条件,所述SN为指定约数的倍数,且0≤SN≤2n-1;
其中,所述指定约数等于2n-k,1≤k<n。k值可以预先配置在发送端,其可以根据所需要达到的可靠性确定,该k值与传输可靠性正相关。
通过该第一种条件确定关键PDU,可以在当前的HFN下确定至少两个PDU为关键PDU,提高了关键PDU接收成功的概率,从而提高了数据传输的可靠性。进一步的,通过将SN为指定约数的倍数的PDU确定为关键PDU,可以在一个HFN下,使得关键PDU的分布均匀,提高发送至接收端的关键PDU的成功率。
第二种条件,所述SN为指定数值N,0≤N≤2n-1;
在一个HFN下,指定数值可以有一个或多个,该指定数值可以预先配置在发送端,其个数可以根据所需要达到的传输可靠性确定,指定数值越多,一个HFN下的关键PDU就越多,相应的,传输可靠性越高。
第三种条件,所述SN为随机数M,0≤M≤2n-1。
在一个HFN下,随机数可以有一个或多个,该随机数的个数可以根据所需要达到的传输可靠性确定,随机数越多,一个HFN下的关键PDU就越多,相应的,传输可靠性越高。该随机数可以采用指定的随机数生成算法生成。
在传统的数据传输方法中,发送端设置有等待时长阈值,每个PDU在发送等待时长超过该等待时长阈值时,会被释放(也即是被丢弃),在本申请中,为了提高数据传输的可靠性,关键PDU需要尽可能保证被发送端发出,因此,本申请中,关键PDU是禁止在未发出前被发送端丢弃的。因此,所述方法还包括:
在获取待发送的PDU时,对所述PDU进行发送等待时长计时;
当所述PDU的发送等待时长达到等待时长阈值,且所述PDU为所述关键PDU时,重新开始发送等待时长计时,或者,取消所述发送等待时长计时;
当该PDU为关键PDU时,发送端可以重新开始等待时长计时,或者,取消等待时长计时,以保证关键PDU能够继续进行发送等待,以使得后续过程中RLC层能够将该关键PDU发出。
当所述PDU的发送等待时长达到等待时长阈值,且所述PDU不为关键PDU时,释放所述PDU。
示例的,所述反馈信息包括肯定反馈信息或否定反馈信息,则所述基于接收到的所述关键PDU的反馈信息,确定所述关键PDU是否接收失败,包括:
当接收到针对所述关键PDU的连续W个否定反馈信息时,确定所述关键PDU接收失败,W为大于1的整数。
在确定关键PDU接收失败后,可以检测关键PDU是否满足重传条件,当关键PDU满足重传条件时,向接收端重传关键PDU,则在所述向所述接收端重传所述关键PDU之前,所述方法还包括:
检测所述关键PDU是否满足重传条件;
相应的,所述向所述接收端重传所述关键PDU,包括:
当所述关键PDU满足所述重传条件时,向所述接收端重传所述关键PDU;
其中,所述重传条件包括以下至少一者:
第一种条件,所述关键PDU的重传次数小于指定次数阈值;
第二种条件,所述关键PDU处于可重传时段。
通常情况下,接收端的RLC层配置有接收时间窗,每个PDU均需要在相应的时间窗范围内被接收;当接收端在该时间窗范围外接收到发送端发送的PDU时,接收端会确定该PDU为非法PDU,并将该PDU丢弃。
则对于关键PDU,其需要在接收端的相应时间窗范围内被发送至接收端,在发送端,该时间窗范围对应一可重传时段,当关键PDU处于该可重传时段时,才能被有效发送。
由于关键PDU不满足重传条件时,即使被发出,一方面在传输过程中丢失的可能性较高,另一方面接收端即使接收到该关键PDU,也会将其作为非法PDU,因此,在所述检测所述关键PDU是否满足重传条件之后,所述方法还包括:
当所述关键PDU不满足所述重传条件时,释放所述关键PDU。
释放不满足重传条件的关键PDU,可以避免该关键PDU对存储资源的占用。
当传输模式为UM模式时,当PDU接收失败时,接收端的对后续接收到的PDU解密失败后,将该解密失败的PDU标记为错误后递交给上层,或者直接丢弃并向上层报告,从而导致PDU丢失,因此,当将该数据传输方法应用于UM模式时,在所述确定所述PDU为关键PDU之前,所述方法还包括:
检测当前的传输模式是否为非确定UM模式;
当所述当前的传输模式为UM模式时,确定所述PDU为关键PDU。
第二方面,提供了一种数据传输设备,应用于发送端,该设备可以包括至少一个模块,该至少一个模块可以用于实现第一方面所述的数据传输方法。
第三方面,提供了一种数据传输设备,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器在运行所述可执行指令时,能够实现第一方面任一所述的数据传输方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,该计算机可读存储介质可以为非易失性计算机可读存储介质。当所述指令在处理组件上运行时,使得所述处理组件执行第一方面任一所述的数据传输方法。
第五方面,提供了一种数据传输***,包括:发送设备和接收设备,所述发送设备包括第二方面任一所述的数据传输设备。
第六方面,提供了一种数据传输***,包括:发送设备和接收设备,所述发送设备包括第三方面所述的数据传输设备。
第七方面,提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现第一方面任一所述的数据传输方法。
第八方面,提供了一种计算机程序产品,所述计算机程序产品中存储有指令,当其在计算机上运行时,使得计算机执行第一方面任一所述的数据传输方法。
本申请提供的技术方案带来的有益效果至少可以包括:
本申请实施例提供的数据传输方法、设备及***,发送端将SN满足标记条件的PDU确定为关键PDU,当发送端向接收端发送关键PDU后,基于接收到的反馈信息确定关键PDU是否接收失败,当关键PDU接收失败时,发送端向接收端重传关键PDU,以减少关键PDU丢失的概率,降低了连续丢失的PDU数量超过SN最大值的概率,从而提高了接收端和发送端的HFN相等的概率,进一步提高了发送端和接收端之间传输的数据的准确性,有效减少了传输业务的中断。
附图说明
图1为本申请一示意性实施例提供的一种通信***的结构示意图。
图2为本申请一示意性实施例提供的一种LTE无线通信***的协议层的示意图。
图3为本申请一示意性实施例提供的一种数据传输的过程示意图。
图4为本申请实施例提供的一种数据在PDCP层传输的过程示意图。
图5为本申请实施例提供的一种数据传输方法的流程图。
图6为本申请实施例提供的另一种数据传输方法的流程图。
图7为本申请实施例提供的一种数据传输设备的框图。
图8为本申请实施例提供的另一种数据传输设备的框图。
图9为本申请实施例提供的再一种数据传输设备的框图。
图10为本申请实施例提供的又一种数据传输设备的框图。
图11为本申请实施例提供的一种数据传输设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,图1为本申请一示意性实施例提供的一种数据传输方法所涉及的通信***的结构示意图,该通信***包括核心网10、接入网20以及用户设备30(又称为终端设备)。核心网10包括用户面核心网设备101和控制面核心网设备102,接入网20包括接入设备201,例如基站或无线局域网接入点等各种传输接收点,接入网20为用户设备提供接入服务。用户设备30通过接入网10和核心网20接入到通信***中,从而获取各种业务服务,例如多媒体音视频,电影下载等。
在图1所示的通信***中,不同通信制式的通信***之间通过核心网10相连。用户设备30和服务用户设备的接入设备201传输各种数据,例如控制信令或业务数据。接入网20用于将用户设备接入到通信***中。
示例的,该通信***可以为长期演进(Long Term Evolution,LTE)无线通信***,LTE无线通信***按照传输的数据的不同可以分为用户面和控制面,用户面所承载的数据是用户的应用数据,例如,在通过手机上网,浏览网页中的内容或聊天的内容等,则请参考图2,图2为本申请一示意性实施例提供的一种LTE无线通信***的协议层的示意图,该协议层应用于用户面,该协议层包括连接用户设备(User Equipment,UE)和接入设备的多个层,该多个层由下至上依次包括:物理(Physical,PHY)层、媒体访问控制(Media AccessControl,MAC)层、无线链路控制协议(Radio Link Control,RLC)层以及分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)层,每一层完成不同的数据处理,数据在对等的层之间进行传输时的数据单位为PDU。UE与接入设备之间的路径称为无线承载(RadioBearer,RB),RB提供UE与接入设备之间传输的数据的服务质量,进一步的,当RB用于承载用户面的应用数据时,该RB可以称为数据无线承载(Data Radio Bearer,DRB)。
其中,PDCP层用于对数据进行加密和解密,对数据添加SN以及维护HFN,在传输数据时,PDCP层将待传输数据分为数据帧(frame),也即是在该PDCP层的PDU为数据帧;RLC层用于实现数据的分段级联、按序递交、自动重传请求(Automatic Repeat reQuest,ARQ)数据传输保障,以及对重复传输的PDU进行去重等功能;MAC层用于实现与数据处理相关的功能以及当接收端未接收到PDU时,执行混合自动重传请求(Hybrid Automatic RepeatreQuest,HARQ)操作;PHY层用于实现信道编码、物理信道映射、速率匹配、功控、时频同步以及无线测量等功能。
上述RLC层支持三种传输模式,分别为:非确认模式(unacknowledged mode,UM)、透明模式(transparent mode,TM)和确认模式(acknowledged mode,AM),RLC层在传输数据时,在UM模式和TM模式下,RLC层没有重传协议,当传输的PDU丢失时,直接向通信网络的上层报告,不对该丢失的PDU进行重传。在AM模式下,RLC层具有重传协议,能够实现ARQ数据传输保障,当传输的PDU丢失或者出现错误,发送端的RLC层可以向接收端重传该PDU。
在用户平面的PDCP层传输数据时,为了保证数据的可靠性,需要进行数据的加密和解密,也即是发送端对实际输出的数据进行加密并将加密后的数据发送至接收端,接收端对于接收到的数据进行相应的解密以得到实际传输的数据。示例的,请参考图3,图3为本申请一示意性实施例提供的一种数据传输的过程示意图,发送端利用加密密钥(KEY)、COUNT值、承载标识(BEARER)、上下行方向(DIRECTION)和密钥流长度(LENGTH)作为加密算法输入参数,输入指定加密算法模型后生成密钥流块(KEYSTREAM BLOCK),将密钥流块与明文块(PLAINTEXT BLOCK)进行异或处理,生成密文块(CIPHERTEXT BLOCK),并将该密文块发送至接收端。接收端利用与发送端相同的加密密钥、COUNT值、承载标识、密钥流长度、指定加密算法以及与接收端对应的上下行方向计算出密钥流块,与接收到的密文块进行异或处理,生成明文块。其中,上下行方向用于表征数据传输的方向,与数据的加密和解密相对应。该上下行方向包括:上行方向或下行方向,当该方向为上行方向时,表征接收数据,也即是需要对数据进行解密;当该方向为下行方向时,表征发送数据,也即是需要对数据进行加密。例如,当发送端向接收端发送数据时,发送端的方向为下行方向,对待发送的数据进行加密,接收端的方向为上行方向,对接收到的数据进行解密。示例的,上述指定加密算法模型可以为演进分组***(Evolved packet system,EPS)加密算法模型,图2以EPS加密算法(EPS Encryption Algorithm,EEA)模型为例进行说明。
本申请实施例提供的数据传输方法还可以应用于其他通信***,例如5G通信***,在5G通信***中,其用户面的分层可以在图2所示的结构基础上进行简单变形,本申请对此不做限定。
在本申请实施例中,接收端和发送端是相对而言的,两者分别为UE和接入设备的一者。例如,在LTE***中,发送端为UE,接收端为演进型基站(Evolved Node B,eNB),或者,发送端为eNB,接收端为UE。当然,在其他通信***中,该接入设备还可以为无线局域网接入点或者基站(Node B,NB),本申请实施例对此不做限定。
示例的,请参考图4,图4为本申请实施例提供的数据传输的示意图,本申请实施例以图4为例对数据在PDCP层的传输过程做进一步说明。在PDCP层传输数据时,将每个数据分为多个PDU进行传输,也即是,发送端向接收端发送PDCP PDU,发送端PDCP层的每个RB为每个PDU分配一个COUNT值进行加密,接收端RB使用相同的COUNT值进行解密。其中,COUNT值包括HFN和SN,例如COUNT值由高位的HFN和低位的SN组成。
发送端和接收端的每个RB均各自维护一个对应的COUNT值,发送端和接收端通过本地维护的HFN和PDU中携带的SN对该PDU进行加密或者解密,发送端对待发送的各个PDU的SN按照0至2n-1的顺序依次配置,在SN达到SN最大值2n-1时,再进入下一轮0至2n-1的配置。相应的,发送端在向接收端发送带有SN的PDU时,当该PDU的SN达到RB配置的SN最大值2n-1,将本地维护的HFN加1以更新HFN。接收端接收到PDU后,从该PDU中解析出SN,接收端在当前接收到的PDU的SN小于前一个相邻的PDU的SN时,确定该PDU中的SN已进入下一轮0至2n-1的SN配置,将本地维护的HFN加1以更新HFN。相应的,在对接收到的PDU进行解密时,接收端从PDU中解析出SN,并和本地维护的HFN一起组成COUNT值,通过该COUNT值对接收到的PDU进行解密。在每个PDU不丢失的情况下,发送端发送的PDU的数量和接收端接收到的PDU的数量应该是相同的,相应的,发送端发送的PDU的SN和接收端解析出的PDU的SN一致,且发送端和接收端各自维护的HFN一致。
如图4所示,当连续丢失的PDU的数量超过SN最大值2n-1(n为序列号尺寸)时,由于发送端已经将HFN更新为HFN+1,而接收端没有接收到相应的PDU,错过了至少一轮0至2n-1的SN配置,在再次接收到PDU时,才可能将本地维护的HFN更新,这样导致接收端的HFN小于发送端的HFN,产生接收端PDCP层和发送端PDCP层的HFN失步。例如,假设当前发送端维护的HFN和接收端本地维护的HFN均为1,序列号尺寸n为5,则SN最大值为25-1,也即是,SN最大值为31,当发送端向接收端发送了34个连续的PDU,该34个连续的PDU的SN为SN=15、SN=16、SN=17…SN=31、SN=0、SN=1、SN=3…SN=16,当发送端向接收端发送SN=31的PDU时,将本地维护的HFN由1更新为2,再向接收端发送下一轮的SN=0的PDU,假设接收端接收到了发送端HFN=1时发送的SN=15的PDU,在该PDU后的连续的32个PDU均丢失,则接收端接收到的下一个PDU为发送端HFN=2时发送的SN=16的PDU,接收端此时接收到的前一个相邻的PDU为SN=15的PDU,由于接收端当前接收到的PDU的SN大于前一个相邻的PDU的SN,所以接收端确定该SN=16的PDU与前一个相邻的SN=15的PDU为同一轮SN的PDU,因此接收端未更新本地维护的HFN,也即是接收端的HFN依旧为1,导致接收端对后续接收到的PDU无法解密,成为非法数据,被通信***中的上层丢弃,因此,发送端与接收端之间数据传输的可靠性较低,传输业务容易出现中断。
本申请实施例提供了一种数据传输方法,将该方法应用于发送端,则请参考图5,该方法以待发送的PDU为例进行说明,其他PDU的传输方法可以参考该待发送的PDU的传输方法,该方法可以包括以下步骤:
步骤501、获取待发送的PDU,该PDU包括SN。
请参考前述图2,该步骤501中获取待发送的PDU的过程可以由发送端的RLC层执行,如前所述,发送端按照SN的顺序发送PDU,RLC层获取待发送的PDU,该待发送的PDU包括多个PDU,每个PDU均包括SN,SN用于对多个PDU进行排序。在该RLC层中,该PDU为数据帧。
步骤502、当SN满足标记条件,确定PDU为关键PDU。
其中,标记条件包括:当前的HFN下(即最近的还未更新的同一HFN),已有关键PDU的总数m满足:0≤m+1≤p,且0≤SN≤2n-1,p为关键PDU的总数阈值,且p≤2n,该总数阈值可以预先配置在发送端,其可以根据所需要达到的传输可靠性确定,该总数阈值与传输可靠性正相关,也即总数阈值越大,传输可靠性越高,n为序列号尺寸,该序列号尺寸可以为7、12、15或者18。
示例的,当前HFN下,当已有关键PDU的总数满足:0≤m+1≤p,且0≤SN≤2n-1时,可以确定SN满足标记条件,则与该SN对应的PDU为关键PDU;当前HFN下,已有关键PDU的总数不满足:0≤m+1≤p,且0≤SN≤2n-1时,可以确定SN不满足标记条件,则与该SN对应的PDU不为关键PDU。例如,若当前HFN下,m+1大于P时,则与该SN对应的PDU不为关键PDU。
其中,m+1指的是假设在当前的HFN下,将当前的PDU设置为关键PDU,加上已有关键PDU的总数需要保证在关键PDU的总数阈值内。
示例的,假设序列号尺寸n=7,P为10,则该标记条件包括:当前的HFN下,已有关键PDU的总数m满足:0≤m+1≤10,且0≤SN≤127。若当前的HFN下,已有关键PDU的总数为0,也即是m=0,例如,当由上述步骤501获取待发送的PDU为PDU(SN=0)时,可以确定该PDU为关键PDU。若当前的HFN下,已有关键PDU的总数为10,也即是m=10,当由上述步骤501获取待发送的PDU为PDU(SN=0)时,由于此时,m+1的值为11,该值大于总数阈值P,则确定该PDU不为关键PDU。
步骤503、在向接收端发送关键PDU后,基于接收到的关键PDU的反馈信息,确定关键PDU是否接收失败。
示例的,该步骤503中向接收端发送关键PDU的过程可以由发送端的RLC层执行,RLC层在向接收端发送关键PDU后,接收端会向发送端发送状态报告反馈,该状态报告反馈中会携带正确应答指令(Acknowledgement,ACK),以指示接收到关键PDU,当关键PDU丢失时,该状态报告反馈会携带错误应答指令(Negative Acknowledgement,NACK),以指示关键PDU丢失。
示例的,RLC层在向接收端发送关键PDU后,接收端可以通过向发送端发送HARQ反馈信息以向发送端发送状态报告反馈,发送端的MAC层接收到接收端发送的HARQ反馈信息后,可以基于该HARQ反馈信息确定关键PDU是否接收失败。该HARQ反馈信息包括肯定反馈信息和否定反馈信息,可以采用ACK表征肯定反馈信息,采用NACK表征否定反馈信息,当接收端接收到关键PDU,可以向发送端发送ACK,发送端的MAC层接收到接收端发送的ACK后,确定关键PDU未接收失败;当接收端未接收到关键PDU,可以向发送端发送NACK,发送端的MAC层接收到接收端发送的NACK后,确定关键PDU接收失败。
步骤504、在确定关键PDU接收失败时,向接收端重传关键PDU。
示例的,该步骤504中向接收端重传关键PDU的过程可以由发送端的RLC层执行,在MAC层确定关键PDU传输失败后,可以通知RLC层向接收端重传关键PDU。
当接收端接收到该关键PDU后,由于在发送端当前的HFN下,接收端获取到了该关键PDU中的SN,无论在当前的HFN下,该关键PDU之前是否出现PDU丢失的现象,接收端均可以基于该SN确定当前的HFN,从而使得接收端可以对后续接收到的PDU进行解密,进一步提高了发送端和接收端之间传输的数据的可靠性。这样,接收端仅需按照目前的解密规则进行正常解密即可,无需改进接收端的处理流程。
例如,假设当前发送端维护的HFN和接收端本地维护的HFN均为1,序列号尺寸n为5,则SN最大值为25-1,也即是,SN最大值为31,当发送端向接收端发送了34个连续的PDU,该34个连续的PDU的SN为SN=15、SN=16、SN=17…SN=31、SN=0、SN=1、SN=3…SN=16,当发送端向接收端发送SN=31的PDU时,将本地维护的HFN由1更新为2,再向接收端发送下一轮的SN=0的PDU,其中,在HFN=2时确定SN=5的PDU为关键PDU,即使在HFN=1时的SN=16至HFN=2时的SN=4的PDU全部丢失,但是由于重传了关键PDU,则增加了接收端接收到该关键PDU的概率,假设接收端可以接收到该关键PDU,则上一个接收到的PDU为HFN=1时SN=15的PDU,而本次接收到的关键PDU中的SN=5小于15,则接收端直接将本地维护的HFN更新为2。避免了关键PDU之后的失步现象。
综上所述,本申请实施例提供的数据传输方法,发送端将SN满足标记条件的PDU确定为关键PDU,当发送端向接收端发送关键PDU后,基于接收到的反馈信息确定关键PDU是否接收失败,当关键PDU接收失败时,发送端向接收端重传关键PDU,以减少关键PDU丢失的概率,降低了连续丢失的PDU数量超过SN最大值的概率,从而提高了接收端和发送端的HFN相等的概率,进一步提高了发送端和接收端之间传输的数据的准确性,有效减少了传输业务的中断。
如前所述,RLC层有三种传输模式,在UM模式下,当PDU接收失败时,接收端的RLC层对后续接收到的PDU解密失败后,将该解密失败的PDU标记为错误后递交给上层,或者直接丢弃并向上层报告,从而导致PDU丢失,本申请以将该数据传输方法应用于RLC层的UM模式下为例进行说明,则请参考图6,该方法可以包括以下步骤:
步骤601、发送端获取待发送的PDU,该PDU包括SN。
该步骤601中发送端获取待发送的PDU的过程可以参考上述步骤501,本申请实施例对此不做赘述。
步骤602、发送端检测当前的传输模式是否为UM模式。若当前的传输模式为UM模式,执行步骤603。
步骤603、发送端检测SN是否满足标记条件,当SN满足标记条件,执行步骤604,当SN不满足标记条件,发送端确定PDU不为关键PDU。可以再次执行上述步骤601,继续获取新的待发送的PDU。
步骤604、当SN满足标记条件,发送端确定PDU为关键PDU。
示例的,上述标记条件可以包括:当前的HFN下,已有关键PDU的总数m满足:0≤m+1≤p,且SN满足以下第一种条件、第二种条件和第三种条件的至少一者。该三种条件分别包括:
第一种条件,SN为指定约数的倍数,且0≤SN≤2n-1。
该指定约数等于2n-k,1≤k<n。k值可以预先配置在发送端,其可以根据所需要达到的传输可靠性确定,该k值与传输可靠性正相关。在一个HFN下,关键PDU可以有多个,k值越大,一个HFN下的关键帧就越多,传输可靠性越高。
示例的,假设n=12,k=1,指定约数为211,也即是指定约数为2048,当待发送的PDU对应的SN为2048的倍数时,发送端确定该待发送的PDU为关键PDU;当待发送的PDU对应的SN不是2048的倍数时,该待发送的PDU不为关键PDU。
示例的,假设p=4,序列号尺寸为7,也即是n=7,则0≤SN≤127,发送端需要发送的PDU为:PDU(SN=0)、PDU(SN=1)、PDU(SN=2)、PDU(SN=3)······PDU(SN=127)。假设k=1,则指定约数为26,也即是指定约数为64,假设在当前HFN下,已有关键PDU的总数为0,也即是m=0,当发送端待发送的PDU为PDU(SN=0)时,确定该PDU为关键PDU;当发送端待发送的PDU为PDU(SN=2)时,该PDU不为关键PDU。假设在当前HFN下,已有关键PDU的总数为4,也即是m=4,当发送端待发送的PDU为PDU(SN=64)时,由于目前已有关键PDU的总数m为4,m+1的值为5,该值大于总数阈值P,则该PDU不为关键PDU。
通过该第一种条件确定关键PDU,可以在当前的HFN下确定至少两个PDU为关键PDU,提高了关键PDU接收成功的概率,从而提高了数据传输的可靠性。进一步的,通过将SN为指定约数的倍数的PDU确定为关键PDU,可以在一个HFN下,使得关键PDU的分布均匀,提高发送至接收端的关键PDU的成功率。例如,k=1时,关键PDU为PDU(SN=0)和PDU(SN=2n-1),两者分别位于一个HFN下需要发送的PDU中的前端和中部,分布较为均匀。
第二种条件,SN为指定数值N,0≤N≤2n-1。
在一个HFN下,指定数值可以有一个或多个,该指定数值可以预先配置在发送端,其个数可以根据所需要达到的传输可靠性确定,指定数值越多,一个HFN下的关键PDU就越多,相应的,传输可靠性越高。
需要说明的是,当指定数值有多个时,该多个指定数值两两之间的数值差可以大于预设差值,以保证在一个HFN下,多个指定数值较为分散,提高发送至接收端的关键PDU的成功率。
示例的,该多个指定数值可以呈等差数列或等比数列设置。例如,假设2n-1为127,则指定数值可以为5、55和105,则若待发送的PDU为PDU(SN=5),可以确定其为关键PDU。
第三种条件,SN为随机数M,0≤M≤2n-1。
在一个HFN下,随机数可以有一个或多个,该随机数的个数可以根据所需要达到的传输可靠性确定,随机数越多,一个HFN下的关键PDU就越多,相应的,传输可靠性越高。该随机数可以采用指定的随机数生成算法生成。
需要说明的是,当随机数有多个时,该多个随机数可以在0至2n-1的范围内分散分布,两两之间的差值可以大于指定差值阈值,以保证在一个HFN下,多个随机数较为分散,提高发送至接收端的关键PDU的成功率。
示例的,假设2n-1为127,生成的随机数为0和100,则若待发送的PDU为PDU(SN=0),可以确定其为关键PDU。
需要说明的是,上述三种条件可以分别执行,也可以根据实际情况进行结合,且上述三种条件只是示意性说明,本申请对此不做限定,只要保证在一个HFN下,存在至少一个关键PDU发送至接收端即可。
步骤605、发送端向接收端发送关键PDU。
示例的,该步骤605中发送端向接收端发送关键PDU的过程可以由发送端的RLC层执行,RLC层按照RLC层协议向接收端发送关键PDU。
步骤606、接收端向发送端发送关键PDU的反馈信息。
该反馈信息包括肯定反馈信息或否定反馈信息,请参考上述步骤503,可以采用ACK表征肯定反馈信息,采用NACK表征否定反馈信息,当接收端接收到关键PDU后,可以向发送端发送ACK;当接收端未接收到关键PDU后,可以向发送端发送NACK。
步骤607、发送端基于接收到关键PDU的反馈信息,确定关键PDU是否接收失败。发送端在确定关键PDU接收失败时,执行步骤608,发送端在确定关键PDU未接收失败时,执行步骤601。
示例的,当发送端接收到针对关键PDU的连续W个否定反馈信息时,可以确定关键PDU接收失败;当发送端未接收到针对关键PDU的连续W个否定反馈信息时,可以确定关键PDU未接收失败(也即是接收成功)。其中,W为大于1的整数,例如,W可以为4、5或6。
请参考上述步骤503,可以采用ACK表征肯定反馈信息,采用NACK表征否定反馈信息,该步骤607中发送端基于接收到关键PDU的反馈信息,确定关键PDU是否接收失败的过程可以由发送端的MAC层执行,MAC层在接收到针对关键PDU的NACK时,重新向接收端发送关键PDU,当MAC层接收到针对关键PDU的连续W个否定反馈信息时,MAC层确定该关键PDU接收失败,并通知RLC层该关键PDU接收失败;当MAC层未接收到针对关键PDU的连续W个NACK时,MAC层确定该关键PDU未接收失败,例如,MAC层在接收到针对关键PDU的一个NACK后,向接收端重新发送关键PDU后,接收到该关键PDU的ACK,则确定该关键PDU未接收失败。
例如,假设由步骤604确定的关键PDU为:PDU(SN=5),W为4,则当MAC层接收到针对PDU(SN=5)的连续4个NACK时,MAC层确定PDU(SN=5)接收失败,并通知RLC层PDU(SN=5)接收失败;当MAC层未接收到针对PDU(SN=5)的连续4个NACK时,MAC层确定PDU(SN=5)未接收失败,例如,MAC层接收到针对PDU(SN=5)的连续3个NACK后,接收到了针对PDU(SN=5)的ACK,则此时,确定PDU(SN=5)未接收失败。
步骤608、发送端在确定关键PDU接收失败时,检测关键PDU是否满足重传条件。执行步骤609或步骤610。
示例的,该步骤608中检测关键PDU是否满足重传条件的过程可以由RLC层执行。
其中,重传条件包括以下至少一者:
第一种条件,关键PDU的重传次数小于指定次数阈值。
示例的,可以设置关键PDU的重传上限为指定次数阈值,当关键PDU的重传次数小于该指定次数阈值时,RLC层可以向接收端重新发送关键PDU;当关键PDU的重传次数不小于该指定次数阈值时,RLC层不向接收端重新发送关键PDU。
第二种条件,关键PDU处于可重传时段。
发送端和接收端在RLC层传输数据时,当PDU接收失败,接收端会等待发送端的RLC层重传丢失的PDU,但是,由于等待时长过长,即使将PDU发出,接收端接收到该PDU后,该PDU可能会失效,因此该等待时长不能过长,通常情况下,接收端的RLC层配置有接收时间窗,每个PDU均需要在相应的时间窗范围内被接收;当接收端在该时间窗范围外接收到发送端发送的PDU时,接收端会确定该PDU为非法PDU,并将该PDU丢弃。
则对于关键PDU,其需要在接收端的相应时间窗范围内被发送至接收端,在发送端,该时间窗范围对应一可重传时段,当关键PDU处于该可重传时段时,才能被有效发送。
步骤609、当关键PDU不满足重传条件时,发送端释放关键PDU。
由于关键PDU不满足重传条件时,即使被发出,一方面在传输过程中丢失的可能性较高,另一方面接收端即使接收到该关键PDU,也会将其作为非法PDU,因此,无需将其发出,为了避免该关键PDU对存储资源的占用,可以将其释放。
步骤610、当关键PDU满足重传条件时,发送端向接收端重传关键PDU。
示例的,该步骤610中当关键PDU满足重传条件时,向接收端重传关键PDU的过程可以由发送端的RLC层执行,当关键PDU满足重传条件时,RLC层向接收端发送关键PDU后,可以再次执行上述步骤606至步骤609,也即是,在RLC层向接收端重传关键PDU后,接收端向发送端发送关键PDU的反馈信息,此时请参考上述步骤607,发送端的MAC层接收到该反馈信息,当该反馈信息为NACK时,MAC层再向接收端重传关键PDU,当MAC层向接收端连续发送了W次关键PDU后,依旧接收到针对该关键PDU的NACK,也即是MAC层接收到了针对关键PDU的连续W个NACK后,通知RLC层对该关键PDU进行重传,当该关键PDU满足重传条件时,RLC层再次向接收端重传该关键PDU。
上述重传关键PDU的过程可以参考步骤504,本申请实施例对此不再赘述。
需要说明的是,传统的数据传输方法中,发送端设置有等待时长阈值,每个PDU在发送等待时长超过该等待时长阈值时,会被释放(也即是被丢弃),在本申请实施例中,为了提高数据传输的可靠性,关键PDU需要尽可能保证被发送端发出,因此,本申请实施例中,关键PDU是禁止在未发出前被发送端丢弃的。因此,本申请实施例的数据传输方法还可以包括:
步骤X1、发送端在获取待发送的PDU时,对PDU进行发送等待时长计时。
上述步骤X1可以由发送端的PDCP层执行,该PDCP层在每获取一个待发送的PDU时,便对该PDU进行发送等待时长计时,该计时可以通过软件程序的方式实现,也可以通过配置硬件计时器的方式实现。该步骤X1可以在上述步骤601之后执行。
步骤X2、当PDU的发送等待时长达到等待时长阈值,且PDU为关键PDU时,发送端重新开始发送等待时长计时,或者,取消发送等待时长计时。
上述步骤X2可以由发送端的PDCP层执行,对于每个PDCP层的待发送的PDU,上述发送等待时长指的是,该PDCP层的PDU等待RLC层发送的时长,如果一个PDU被RLC层发送,则该等待时长计时停止;如果一个PDU在等待时长阈值内未被RLC层发送,也即是该PDU的发送等待时长达到等待时长阈值,此时,该PDCP层可以检测该PDU是否为关键PDU,该检测过程可以在步骤603后执行,基于步骤603的检测结果可以确定该PDU是否为关键PDU,在此不再赘述。
当该PDU为关键PDU时,发送端可以重新开始发送等待时长计时,或者,取消发送等待时长计时,以保证关键PDU能够继续进行发送等待,以使得后续过程中RLC层能够将该关键PDU发出。
需要说明的是,为了保证关键PDU的有效发出,发送端还可以取消关键PDU的发送等待时长计时机制,也即是,在确定了该一个PDU为关键PDU后,取消之前对该关键PDU的发送等待时长计时。
进一步需要说明的是,PDCP层可以通过主动询问RLC层或者由RLC层进行上报等方式确定一个PDU是否在发送等待时长内被发送。
步骤X3、当PDU的发送等待时长达到等待时长阈值,且PDU不为关键PDU时,发送端释放PDU。
上述步骤X3可以由发送端的PDCP层执行,请参考步骤X2,当PDU的发送等待时长达到等待时长阈值,且PDU不为关键PDU时,PDCP层可以控制该PDU被释放。
综上所述,本申请实施例提供的数据传输方法,发送端在当前的传输模式为UM模式时,将SN满足标记条件的PDU确定为关键PDU,向接收端发送关键PDU,并基于接收到的反馈信息确定关键PDU是否接收失败,当关键PDU接收失败,在关键PDU满足重传条件时,发送端向接收端重传关键PDU,以使减少关键PDU丢失的概率,降低了连续丢失的PDU数量超过SN最大值的概率,从而使得在UM模式下,接收端和发送端的HFN相等,进一步提高了发送端和接收端之间传输的数据的准确性,有效减少了传输业务的中断。
需要说明的是,上述各个步骤的执行主体仅根据各个层的功能确定,在实际实现时,可以选择各个步骤的执行主体,本申请实施例对此不做限定。
本申请实施例提供的数据传输方法的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,例如,步骤609和步骤610的顺序可以进行互换,步骤602可以删除,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
本申请实施例提供了一种数据传输设备,应用于发送端,请参考图7,图7为本申请实施例提供的一种数据传输设备的框图,该数据传输设备700包括:
获取模块701,用于获取待发送的PDU,该PDU包括SN。
第一确定模块702,用于当SN满足标记条件,确定PDU为关键PDU,其中,标记条件包括:当前的HFN下,已有关键PDU的总数m满足:0≤m+1≤p,且0≤SN≤2n-1,p为关键PDU的总数阈值,n为序列号尺寸。
第二确定模块703,用于在向接收端发送关键PDU后,基于接收到的关键PDU的反馈信息,确定关键PDU是否接收失败。
重传模块704,用于在确定关键PDU接收失败时,向接收端重传关键PDU。
综上所述,本申请实施例提供的数据传输设备,发送端通过第一确定模块将SN满足标记条件的PDU确定为关键PDU,发送端通过第二确定模块向接收端发送关键PDU后,并基于接收到的反馈信息确定关键PDU是否接收失败,当关键PDU接收失败时,发送端通过重传模块向接收端重传关键PDU,以减少关键PDU丢失的概率,降低了连续丢失的PDU数量超过SN最大值的概率,从而提高了接收端和发送端的HFN相等的概率,进一步提高了发送端和接收端之间传输的数据的准确性,有效减少了传输业务的中断。
示例的,上述标记条件包括:当前的HFN下,已有关键PDU的总数m满足:0≤m+1≤p,且SN满足以下条件的至少一者:
SN为指定约数的倍数,且0≤SN≤2n-1。该指定约数等于2n-k,1≤k<n。
SN为指定数值N,0≤N≤2n-1。
SN为随机数M,0≤M≤2n-1。
可选的,请参考图8,图8为本申请实施例提供的另一种数据传输设备的框图,该数据传输设备700还包括:
计时模块705,用于在获取待发送的PDU时,对PDU进行发送等待时长计时。
取消模块706,用于当PDU的发送等待时长达到等待时长阈值,且PDU为关键PDU时,重新开始发送等待时长计时,或者,取消发送等待时长计时。
第一释放模块707,用于当PDU的发送等待时长达到等待时长阈值,且PDU不为关键PDU时,释放PDU。
可选的,上述反馈信息包括肯定反馈信息或否定反馈信息,则第二确定模块703,用于:
当接收到针对关键PDU的连续W个否定反馈信息时,确定关键PDU接收失败,W为大于1的整数。
可选的,请参考图9,图9为本申请实施例提供的再一种数据传输设备的框图,该数据传输设备还包括:
第一检测模块708,用于在重传模块704向接收端重传关键PDU之前,检测关键PDU是否满足重传条件。
可选的,上述重传模块704,用于:
当关键PDU满足重传条件时,向接收端重传关键PDU。
其中,重传条件包括以下至少一者:
关键PDU的重传次数小于指定次数阈值。
关键PDU处于可重传时段。
如图9所示,该数据传输设备还包括:
第二释放模块709,用于在第一检测模块708检测关键PDU是否满足重传条件之后,当关键PDU不满足重传条件时,释放关键PDU。
可选的,请参考图10,图10为本申请实施例提供的又一种数据传输设备的框图,该数据传输设备700还包括:
第二检测模块710,用于在第一确定模块702确定PDU为关键PDU之前,检测当前的传输模式是否为UM模式。
可选的,上述第一确定模块702,用于在当前的传输模式为UM模式时,确定PDU为关键PDU。
综上所述,本申请实施例提供的数据传输设备,发送端通过第二检测模块检测当前的传输模式为UM模式时,通过第一确定模块将SN满足标记条件的PDU确定为关键PDU,通过第二确定模块向接收端发送关键PDU,并基于接收到的反馈信息确定关键PDU是否接收失败,当关键PDU接收失败,在通过第一检测模块检测到关键PDU满足重传条件时,发送端通过重传模块向接收端重传关键PDU,以使减少关键PDU丢失的概率,降低了连续丢失的PDU数量超过SN最大值的概率,从而使得在UM模式下,接收端和发送端的HFN相等,进一步提高了发送端和接收端之间传输的数据的准确性,有效减少了传输业务的中断。进一步的,在通过第一检测模块检测到关键PDU不满足重传条件时,发送端通过释放模块释放关键PDU。
请参考图11,图11为本申请实施例提供的数据传输设备120的结构示意图,该数据传输设备可以为UE或基站。数据传输设备120可以包括:处理器140、存储器150、接收器160和发射器170等部件。
本领域技术人员可以理解,图11中示出的数据传输设备结构并不构成对数据传输设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器140是数据传输设备120的控制中心,利用各种接口和线路连接整个数据传输设备的各个部分,通过运行或执行存储在存储器150内的软件程序和/或模块,以及调用存储在存储器150内的数据,执行数据传输设备120的各种功能和处理数据,从而对数据传输设备120进行整体控制。可选的,处理器140可包括一个或多个处理核心;可选的,处理器140可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器140中。
存储器150可用于存储软件程序以及模块。处理器140通过运行存储在存储器150的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器150可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***151、检测模块152、重定向模块153、读取模块154、同步模块155、记录模块156和设置模块157以及各个功能所需的应用程序158(比如声音播放功能、图像播放功能等)中的一个或多个等;存储数据区可存储根据数据传输设备120的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器150可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(StaticRandom Access Memory,SRAM),电可擦除可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM),可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),只读存储器(Read Only Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。相应地,存储器150还可以包括存储器控制器,以提供处理器140对存储器150的访问。
接收器160用于接收数据,该数据被发送到处理器140处理,或者被发送到存储器150中存储,该接收器160可以为接收天线。
发射器170用于发送处理器140中的数据,也可以用于发送存储器150中存储的数据,该发射器170可以为发射天线。
数据传输设备120还包括给各个部件供电的电源(图中未示出),可选的,电源可以通过电源管理***与处理器140逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,该计算机可读存储介质可以为非易失性计算机可读存储介质。当指令在处理组件上运行时,使得处理组件执行本申请实施例提供的任一所述的数据传输方法。
本申请实施例提供了一种数据传输***,包括:发送设备和接收设备,发送设备包括上述图7、图8、图9或图10所示的数据传输设备。
本申请实施例提供了一种数据传输***,包括:发送设备和接收设备,发送设备包括上述图11所示的数据传输设备。示例的,该数据传输***的结构可以参考图1。
本申请实施例提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时用于实现本申请实施例提供的任一所述的数据传输方法。
本申请实施例提供了一种计算机程序产品,计算机程序产品中存储有指令,当其在计算机上运行时,使得计算机执行本申请实施例提供的任一所述的数据传输方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,设备和模块的工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例中,术语“第一”和“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。
本申请实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
Claims (18)
1.一种数据传输方法,应用于发送端,所述方法包括:
获取待发送的协议数据单元PDU,所述PDU包括序列号SN;
检测当前的传输模式是否为非确定UM模式;
当所述当前的传输模式为UM模式,且所述SN满足标记条件时,确定所述PDU为关键PDU,其中,所述标记条件包括:当前的超帧号HFN下,已有关键PDU的总数m满足:0≤m+1≤p,且0≤SN≤2n-1,p为关键PDU的总数阈值,n为序列号尺寸;
在向接收端发送所述关键PDU后,基于接收到的所述关键PDU的反馈信息,确定所述关键PDU是否接收失败;
在确定所述关键PDU接收失败时,向所述接收端重传所述关键PDU。
2.根据权利要求1所述的方法,其特征在于,
所述标记条件包括:当前的超帧号HFN下,已有关键PDU的总数m满足:0≤m+1≤p,且SN满足以下条件的至少一者:
所述SN为指定约数的倍数,且0≤SN≤2n-1;
所述SN为指定数值N,0≤N≤2n-1;
所述SN为随机数M,0≤M≤2n-1。
3.根据权利要求2所述的方法,其特征在于,
所述指定约数等于2n-k,1≤k<n。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在获取待发送的PDU时,对所述PDU进行发送等待时长计时;
当所述PDU的发送等待时长达到等待时长阈值,且所述PDU为所述关键PDU时,重新开始发送等待时长计时,或者,取消所述发送等待时长计时;
当所述PDU的发送等待时长达到等待时长阈值,且所述PDU不为关键PDU时,释放所述PDU。
5.根据权利要求1至4任一所述的方法,其特征在于,所述反馈信息包括肯定反馈信息或否定反馈信息,
所述基于接收到的所述关键PDU的反馈信息,确定所述关键PDU是否接收失败,包括:
当接收到针对所述关键PDU的连续W个否定反馈信息时,确定所述关键PDU接收失败,W为大于1的整数。
6.根据权利要求1至4任一所述的方法,其特征在于,在所述向所述接收端重传所述关键PDU之前,所述方法还包括:
检测所述关键PDU是否满足重传条件;
所述向所述接收端重传所述关键PDU,包括:
当所述关键PDU满足所述重传条件时,向所述接收端重传所述关键PDU;
其中,所述重传条件包括以下至少一者:
所述关键PDU的重传次数小于指定次数阈值;
所述关键PDU处于可重传时段。
7.根据权利要求6所述的方法,其特征在于,在所述检测所述关键PDU是否满足重传条件之后,所述方法还包括:
当所述关键PDU不满足所述重传条件时,释放所述关键PDU。
8.一种数据传输设备,应用于发送端,所述设备包括:
获取模块,用于获取待发送的协议数据单元PDU,所述PDU包括序列号SN;
第二检测模块,用于在第一确定模块确定所述PDU为关键PDU之前,检测当前的传输模式是否为非确定UM模式;
第一确定模块,用于当所述当前的传输模式为UM模式,且所述SN满足标记条件时,确定所述PDU为关键PDU,其中,所述标记条件包括:当前的超帧号HFN下,已有关键PDU的总数m满足:0≤m+1≤p,且0≤SN≤2n-1,p为关键PDU的总数阈值,n为序列号尺寸;
第二确定模块,用于在向接收端发送所述关键PDU后,基于接收到的所述关键PDU的反馈信息,确定所述关键PDU是否接收失败;
重传模块,用于在确定所述关键PDU接收失败时,向所述接收端重传所述关键PDU。
9.根据权利要求8所述的设备,其特征在于,
所述标记条件包括:当前的超帧号HFN下,已有关键PDU的总数m满足:0≤m+1≤p,且SN满足以下条件的至少一者:
所述SN为指定约数的倍数,且0≤SN≤2n-1;
所述SN为指定数值N,0≤N≤2n-1;
所述SN为随机数M,0≤M≤2n-1。
10.根据权利要求9所述的设备,其特征在于,
所述指定约数等于2n-k,1≤k<n。
11.根据权利要求8所述的设备,其特征在于,所述设备还包括:
计时模块,用于在获取待发送的PDU时,对所述PDU进行发送等待时长计时;
取消模块,用于当所述PDU的发送等待时长达到等待时长阈值,且所述PDU为所述关键PDU时,重新开始发送等待时长计时,或者,取消所述发送等待时长计时;
第一释放模块,用于当所述PDU的发送等待时长达到等待时长阈值,且所述PDU不为关键PDU时,释放所述PDU。
12.根据权利要求8至11任一所述的设备,其特征在于,所述反馈信息包括肯定反馈信息或否定反馈信息,
所述第二确定模块,用于:
当接收到针对所述关键PDU的连续W个否定反馈信息时,确定所述关键PDU接收失败,W为大于1的整数。
13.根据权利要求8至11任一所述的设备,其特征在于,所述设备还包括:
第一检测模块,用于在所述重传模块向所述接收端重传所述关键PDU之前,检测所述关键PDU是否满足重传条件;
所述重传模块,用于:
当所述关键PDU满足所述重传条件时,向所述接收端重传所述关键PDU;
其中,所述重传条件包括以下至少一者:
所述关键PDU的重传次数小于指定次数阈值;
所述关键PDU处于可重传时段。
14.根据权利要求13所述的设备,其特征在于,所述设备还包括:
第二释放模块,用于在所述第一检测模块检测所述关键PDU是否满足重传条件之后,当所述关键PDU不满足所述重传条件时,释放所述关键PDU。
15.一种数据传输设备,其特征在于,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器在运行所述可执行指令时,能够实现权利要求1至7任一所述的数据传输方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在处理组件上运行时,使得所述处理组件执行权利要求1至7任一所述的数据传输方法。
17.一种数据传输***,其特征在于,包括:发送设备和接收设备,所述发送设备包括权利要求8至14任一所述的数据传输设备。
18.一种数据传输***,其特征在于,包括:发送设备和接收设备,所述发送设备包括权利要求15所述的数据传输设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811459741.0A CN111262660B (zh) | 2018-11-30 | 2018-11-30 | 数据传输方法、设备及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811459741.0A CN111262660B (zh) | 2018-11-30 | 2018-11-30 | 数据传输方法、设备及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111262660A CN111262660A (zh) | 2020-06-09 |
CN111262660B true CN111262660B (zh) | 2022-01-14 |
Family
ID=70944855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811459741.0A Active CN111262660B (zh) | 2018-11-30 | 2018-11-30 | 数据传输方法、设备及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111262660B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114499749B (zh) * | 2020-11-13 | 2024-06-11 | 上海华为技术有限公司 | 一种数据发送方法及其相关设备 |
CN114584262B (zh) * | 2020-11-30 | 2024-04-16 | 华为技术有限公司 | 数据传输方法和相关设备 |
CN112996052B (zh) * | 2021-02-08 | 2023-01-31 | 展讯通信(上海)有限公司 | 数据发送控制方法及装置、终端、基站和介质 |
CN113132978A (zh) * | 2021-03-19 | 2021-07-16 | 翱捷科技股份有限公司 | 一种lte pdcp数据解密增强的方法及装置 |
CN116112127A (zh) * | 2021-11-09 | 2023-05-12 | 哈尔滨海能达科技有限公司 | 一种数据传输方法、相关设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1339878A (zh) * | 2000-08-17 | 2002-03-13 | 松下电器产业株式会社 | 数据传送装置及数据传送方法 |
CN1723651A (zh) * | 2002-11-07 | 2006-01-18 | 松下电器产业株式会社 | 确定通信***中的反馈的方法 |
CN101394556A (zh) * | 2008-10-29 | 2009-03-25 | 清华大学 | 用于深空通信的图像传输方法、发送装置、接收装置 |
CN105009498A (zh) * | 2013-03-08 | 2015-10-28 | 高通股份有限公司 | 增强的确收和重传机制 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE541375T1 (de) * | 2003-11-12 | 2012-01-15 | Koninkl Philips Electronics Nv | Datenpaketübertragung |
US7933294B2 (en) * | 2005-07-20 | 2011-04-26 | Vidyo, Inc. | System and method for low-delay, interactive communication using multiple TCP connections and scalable coding |
-
2018
- 2018-11-30 CN CN201811459741.0A patent/CN111262660B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1339878A (zh) * | 2000-08-17 | 2002-03-13 | 松下电器产业株式会社 | 数据传送装置及数据传送方法 |
CN1723651A (zh) * | 2002-11-07 | 2006-01-18 | 松下电器产业株式会社 | 确定通信***中的反馈的方法 |
CN101394556A (zh) * | 2008-10-29 | 2009-03-25 | 清华大学 | 用于深空通信的图像传输方法、发送装置、接收装置 |
CN105009498A (zh) * | 2013-03-08 | 2015-10-28 | 高通股份有限公司 | 增强的确收和重传机制 |
Also Published As
Publication number | Publication date |
---|---|
CN111262660A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111262660B (zh) | 数据传输方法、设备及*** | |
US11395194B2 (en) | Indicating status of forwarded data | |
JP6860891B2 (ja) | 部分再送のための方法 | |
KR102026725B1 (ko) | 무선 통신 시스템에서 핸드오버 방법 및 장치 | |
EP3560123B1 (en) | Automatic retransmission of damaged data in wireless networks | |
US20190173623A1 (en) | Reallocation of control channel resources for retransmission of data in wireless networks based on communications mode | |
WO2018018620A1 (zh) | 反馈ack/nack信息的方法、终端设备和网络侧设备 | |
CN110574321B (zh) | 数据传输方法及传输装置、通信设备及存储介质 | |
KR20090075628A (ko) | 재전송 데이터를 처리하는 harq 동작 방법 | |
WO2018201829A1 (zh) | 一种传输方法、终端设备及基站 | |
TW200935812A (en) | Status reporting for retransmission protocol | |
US20220263606A1 (en) | Ntn-based data transmission method and apparatus and storage medium | |
US10785679B2 (en) | Method and system for loss mitigation during device to device communication mode switching | |
US20230198685A1 (en) | Methods and apparatus for transmitting sidelink control information indicating no sidelink data | |
WO2019029317A1 (zh) | 一种应答信息的传输方法、终端设备和网络设备 | |
JP2020503776A (ja) | 複数のキャリア上でデータを送信するための方法、端末装置、およびネットワーク装置 | |
CN111132186B (zh) | 一种重置mac层、数据传输方法及装置 | |
JP7297678B2 (ja) | データが破損しているかどうかを判断するための方法および装置 | |
WO2019106601A1 (en) | Enhanced harq algorithm for large round trip delay links | |
WO2018152791A1 (zh) | 通信方法、终端设备和网络设备 | |
TW201306513A (zh) | 偵測無線傳輸錯誤之方法 | |
KR100856244B1 (ko) | 이동통신 시스템에서 자동 재전송 요구 패킷 송수신 장치및 방법 | |
US20240214132A1 (en) | Alternative HARQ Configuration for XR Uplink Data Transmission | |
JP2013026820A (ja) | 通信装置、通信方法、及び通信システム | |
WO2016054911A1 (zh) | 检测方法、发送端、接收端及检测*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |