数据处理方法、装置和系统转让专利

申请号 : CN201010526833.3

文献号 : CN102137435B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨志胜

申请人 : 上海华为技术有限公司

摘要 :

本发明实施例公开了一种数据处理方法、装置和系统。本发明实施例采用获取RX_SN的更新时间和当前的RX_HFN,在RX_SN的更新时间超出预置的门限值时,判断当前RX_HFN与数据发送方的TX_HFN是否同步,在确定不同步时,同步该TX_HFN和RX_HFN。采用该方案,可以及时发现链路异常并及时对链路进行恢复,使得数据发送方的TX_HFN和数据接收方的RX_HFN可以在短时间内重新进行同步,避免由于TX_HFN和RX_HFN不同步而未能及时发现时所导致的数据丢失情况的发生,有利于提高数传可靠性和用户体验。

权利要求 :

1.一种数据处理方法,其特征在于,包括:

数据接收方获取接收序列号的更新时间和当前接收序列号翻转计数RX_HFN;

判断所述接收序列号的更新时间是否超出预置的门限值;

如果所述接收序列号的更新时间超出预置的门限值,则判断所述当前RX_HFN与数据发送方的发送序列号翻转计数TX_HFN是否同步;

若不同步,则同步所述TX_HFN和RX_HFN;

其中,所述获取接收序列号的更新时间和当前RX_HFN包括:获取上一次接收序列号的更新时间点、本次接收序列号的更新时间点、上一次RX_HFN的更新时长和当前RX_HFN;

所述接收序列号的更新时间超出预置的门限值包括:若本次接收序列号的更新时间点与上一次接收序列号的更新时间点的差值,大于预置的第一固定值,或者,若所述差值大于上一次RX_HFN的更新时长的设定比例值,则确定接收序列号的更新时间超出预置的门限值。

2.根据权利要求1所述的方法,其特征在于,所述判断当前RX_HFN与数据发送方的TX_HFN是否同步之前,还包括:对本次接收到的数据进行解密,得到解密数据;

则,所述判断当前RX_HFN与数据发送方的TX_HFN是否同步包括:对所述解密数据的正确性进行验证,若验证失败,则确定当前RX_HFN与数据发送方的TX_HFN不同步。

3.根据权利要求2所述的方法,其特征在于,在验证失败时,同步TX_HFN和RX_HFN包括:上报链路异常,触发应用程序或无线资源控制协议RRC设备对TX_HFN和RX_HFN进行同步;或者,在验证失败时,对当前RX_HFN进行更新,并返回执行所述解密和所述验证步骤;若在预置的验证次数内仍未能验证成功,则上报链路异常,触发应用程序或RRC设备对TX_HFN和RX_HFN进行同步。

4.根据权利要求3所述的方法,其特征在于,所述对当前RX_HFN进行更新包括:对当前RX_HFN加1。

5.根据权利要求1至4任一项所述的方法,其特征在于,

所述数据接收方为长期演进系统中的数据汇聚协议PDCP层的数据接收设备,所述数据发送方为长期演进系统中的PDCP层的数据发送设备,且所述数据接收方和所述数据发送方之间采用非确认模式进行数据发送和接收。

6.一种数据接收设备,其特征在于,包括:

获取单元,用于获取接收序列号的更新时间和当前接收序列号翻转计数RX_HFN;

判断单元,用于判断获取单元获取到的接收序列号的更新时间是否超出预置的门限值;

验证单元,用于在判断单元确定所述接收序列号的更新时间超出预置的门限值时,判断所述当前RX_HFN与数据发送设备的发送序列号翻转计数TX_HFN是否同步;

同步单元,用于在验证单元确定当前RX_HFN与数据发送设备的TX_HFN不同步时,同步所述TX_HFN和RX_HFN;

其中,所述判断单元包括比较子单元和判断子单元;

所述获取单元,具体用于获取上一次接收序列号的更新时间点、本次接收序列号的更新时间点、上一次RX_HFN的更新时长和当前RX_HFN;

所述比较子单元,用于将获取单元获取到的本次RX_SN的更新时间点T_SN2与上一次RX_SN的更新时间点T_SN1的差值,与上一次RX_HFN的更新时长的设定比例值或预置的第一固定值进行比较;

判断子单元,用于在比较子单元确定本次RX_SN的更新时间点与上一次RX_SN的更新时间点的差,大于预置的第一固定值,或者,大于上一次RX_HFN的更新时长的设定比例值时,确定接收序列号的更新时间超出预置的门限值。

7.根据权利要求6所述的数据接收设备,其特征在于,还包括解密单元,用于对本次接收到的数据进行解密,得到解密数据;

则,所述验证单元,具体用于对解密单元得到的解密数据的正确性进行验证,若验证失败,则确定当前RX_HFN与数据发送设备的TX_HFN不同步。

8.根据权利要求7所述的数据接收设备,其特征在于,

所述同步单元,具体用于在验证单元确定当前RX_HFN与数据发送设备的TX_HFN不同步时,上报链路异常,触发应用程序或无线资源控制协议RRC设备对TX_HFN和RX_HFN进行同步。

9.根据权利要求7所述的数据接收设备,其特征在于,所述同步单元包括更新子单元和上报子单元;

更新子单元,用于在验证单元验证失败时,对当前RX_HFN进行更新,并触发所述解密单元再次执行解密和所述验证单元再次执行验证;

上报子单元,用于若在预置的验证次数内验证单元仍未能验证成功,则上报链路异常,触发应用程序或RRC设备对TX_HFN和RX_HFN进行同步。

10.一种数据处理系统,其特征在于,包括数据发送设备和权利要求6至9所述的任一种数据接收设备;

所述数据发送设备,用于发送数据给所述数据接收设备。

说明书 :

数据处理方法、装置和系统

技术领域

[0001] 本发明涉及通信技术领域,具体涉及数据处理方法、装置和系统。

背景技术

[0002] 长期演进(LTE,Long Term Evolution)的用户面协议层包括:数据汇聚协议(PDCP,Packet Data Convergence Protocol)层、无线链路控制(RLC,Radio Link Control)层、媒体接入控制(MAC,Medium Access Control)层和物理层(PHY,Physical Layer)层,参见图1a。其中,网际协议(IP,Internet Protocol)数据包的头压缩、数据的加解密、定时器丢弃、重建立时重传及重排序处理等操作主要发生在PDCP层,如下:
[0003] PDCP的发送方对接收到的IP数据包进行加密、头压缩等处理,并添加PDCP头部,以形成PDCP的协议数据单元(PDU,Protocol Data Unit),然后将PDCP PDU发送给接收方;接收方接收到该PDCP PDU后,从PDCP PDU头部获得PDCP序列号(SN,Sequence Number),删除PDCP PDU头部,并根据PDCP序列号对数据进行解密、解压缩等处理,然后提交给上层。
[0004] PDCP协议的服务数据单元(SDU,Service Data Unit)的加解密处理和PDCP发送方及接收方相关的状态变量密切相关。其中,发送方的状态变量包括下一个PDCP PDU的发送序列号(TX_SN)和发送序列号翻转计数(TX_HFN);接收方的状态变量包括下一个PDCP PDU的接收序列号(RX_SN)和接收序列号翻转计数(RX_HFN)。PDCP的发送方把加密后的SDU发送到下层,由下层通过无线链路提交给接收方,以便PDCP的接收方更新RX_SN和RX_HFN。
[0005] 由于在非确认(UM,Unacknowledged Mode)模式下,不存在确认模式下的自动重传请求(ARQ,Automatic Repeat reQuest)处理流程,所以如果底层出现数据丢失,RLC就无法及时得到数据丢失的信息并进行重传处理,所以,如果PDCP发送方发送的SDU因为某些原因无法到达PDCP接收方,PDCP接收方便无法更新RX_HFN,造成数据发送方的TX_HFN和数据接收方的RX_HFN更新不同步。
[0006] 在对现有技术的研究和实践过程中,发明人发现,TX_HFN和RX_HFN更新的不同步,将会导致数据解密错误和数据的进一步丢失,在这种情况下,只有等到用户发现数据异常,或应用程序检查到接收到的数据异常时,才有可能进行链路的恢复和重建。但是,由于在数据发生丢失到用户或应用程序发现数据异常而进行链路的恢复和重建之间需要一定的时间,所以在此期间将会丢失大量数据,大大降低了数传的可靠性和用户体验。

发明内容

[0007] 本发明实施例提供一种数据处理方法、装置和系统,可以及时发现链路异常,提高数传可靠性。
[0008] 一种数据处理方法,包括:
[0009] 数据接收方获取RX_SN的更新时间和当前RX_HFN;
[0010] 判断所述RX_SN的更新时间是否超出预置的门限值;
[0011] 如果所述RX_SN的更新时间超出预置的门限值,则判断所述当前RX_HFN与数据发送方的TX_HFN是否同步;
[0012] 若不同步,则同步所述TX_HFN和RX_HFN。
[0013] 一种数据接收设备,包括:
[0014] 获取单元,用于获取RX_SN的更新时间和当前RX_HFN;
[0015] 判断单元,用于判断获取单元获取到的RX_SN的更新时间是否超出预置的门限值;
[0016] 验证单元,用于在判断单元确定所述RX_SN的更新时间超出预置的门限值时,判断所述当前RX_HFN与数据发送设备的TX_HFN是否同步;
[0017] 同步单元,用于在验证单元确定当前RX_HFN与数据发送设备的TX_HFN不同步时,同步所述TX_HFN和RX_HFN。
[0018] 一种数据处理系统,包括数据发送设备和上述数据接收设备;其中,该数据发送设备,用于发送数据给该数据接收设备。
[0019] 本发明实施例的技术方案,采用获取RX_SN的更新时间和当前的RX_HFN,在RX_SN的更新时间超出预置的门限值时,判断当前RX_HFN与数据发送方的TX_HFN是否同步,在确定不同步时,同步该TX_HFN和RX_HFN。采用该方案,可以及时发现链路异常并及时对链路进行恢复,使得数据发送方的TX_HFN和数据接收方的RX_HFN可以在短时间内重新进行同步,避免由于TX_HFN和RX_HFN不同步而未能及时发现时所导致的数据丢失情况的发生,有利于提高数传可靠性和用户体验。

附图说明

[0020] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021] 图1a是LTE系统中用户面协议层的示意图;
[0022] 图1b是本发明实施例提供的数据处理方法的流程图;
[0023] 图2a是本发明实施例提供的数据处理方法的流程图;
[0024] 图2b是一种PDCP PDU的结构示意图;
[0025] 图3a是本发明实施例提供的数据接收设备的结构示意图;
[0026] 图3b是本发明实施例提供的数据接收设备的另一结构示意图;
[0027] 图4是本发明实施例提供的数据处理系统的结构示意图。

具体实施方式

[0028] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029] 本发明实施例提供一种数据处理方法、装置和系统。以下分别进行详细说明。本发明提供的多个实施例中,主要以非确认模式为例进行说明。
[0030] 实施例一、
[0031] 本实施例将从数据接收设备的角度进行描述,该数据接收设备作为数据接收方。具体可以是长期演进系统中的PDCP层的数据接收设备(可以理解为PDCP层本身);另外,本发明实施例中的数据发送方具体可以是长期演进系统中的PDCP层的数据发送设备,且该数据发送方和数据接收方之间采用非确认模式进行数据发送和接收。为了描述方便,以下称PDCP层的数据接收设备为PDCP接收设备,PDCP层的数据发送设备为PDCP发送设备。
[0032] 该方法包括:数据接收方获取RX_SN的更新时间和当前RX_HFN;判断RX_SN的更新时间是否超出预置的门限值;如果该RX_SN的更新时间超出预置的门限值,则判断当前RX_HFN与数据发送方的TX_HFN是否同步;若不同步,则同步TX_HFN和RX_HFN。
[0033] 参见图1b,具体流程可以如下:
[0034] 101、数据接收方获取RX_SN的更新时间和当前RX_HFN;
[0035] 比如,可以获取上一次RX_SN的更新时间点T_SN1、本次RX_SN的更新时间点T_SN2、上一次RX_HFN的更新时长T_HFN和当前RX_HFN。
[0036] 其中,RX_SN的更新时间为本次RX_SN的更新时间点T_SN2与上一次RX_SN的更新时间点T_SN1之差。
[0037] 102、判断步骤101中获取到的RX_SN的更新时间是否超出预置的门限值,若是,则执行步骤103,若否,则流程结束。
[0038] 例如,如果步骤101中已经获取了上一次RX_SN的更新时间点T_SN1、本次RX_SN的更新时间点T_SN2、上一次RX_HFN的更新时长T_HFN和当前RX_HFN,则可以判断本次RX_SN的更新时间点与上一次RX_SN的更新时间点的差值,是否大于预置的第一固定值,或者,该差值是否大于上一次RX_HFN的更新时长的设定比例值。若本次RX_SN的更新时间点与上一次RX_SN的更新时间点的差值,大于预置的第一固定值,或者,若该差值大于上一次RX_HFN的更新时长的设定比例值,则确定RX_SN的更新时间超出预置的门限值,否则,如果该差值不大于RX_HFN的更新时长的设定比例值或第一固定值,则确定RX_SN的更新时间没有超出预置的门限值。
[0039] 其中,第一固定值和设定比例值可以根据实际应用的需求进行设定和调整。
[0040] 另外,在本发明实施例所涉及的“流程结束”的表述,可以理解为结束本次流程,而进入下一个类似的处理流程。
[0041] 103、在RX_SN的更新时间超出预置的门限值时,判断当前RX_HFN与数据发送方的TX_HFN是否同步,若是,则流程结束,若否,则执行步骤104;
[0042] 由于RX_HFN是SDU加解密处理的关键参数PDCP计数(COUNT)的一个组成部分,如果数据接收方当前的RX_HFN出错,比如数据接收方当前的RX_HFN与数据发送方的TX_HFN不同步,则解密出来的数据(以下称为解密数据)也会出错,如果解密数据是正确的,则表明当前的RX_HFN与数据发送方的TX_HFN是同步的;所以,可以通过验证解密数据的正确性来判断当前RX_HFN与数据发送方的TX_HFN是否同步。
[0043] 具体实现方式可以如下:对本次接收到的数据进行解密,得到解密数据;对该解密数据的正确性进行验证,若验证成功,则表明当前链路正常,表示数据发送方的TX_HFN和数据接收方当前的RX_HFN是同步的,于是流程结束;否则,若验证失败,则确定(或称为判断)当前RX_HFN与数据发送方的TX_HFN不同步,需要执行步骤104。其中,这里的数据可以是SDU数据。
[0044] 104、同步数据发送方的TX_HFN和数据接收方的RX_HFN;
[0045] 具体可以采用如下任意一种方法:
[0046] (1)上报链路异常,触发应用程序或无线资源控制协议(RRC,Radio Resource Control)设备对TX_HFN和RX_HFN进行同步,完成后结束流程;或者,
[0047] (2)先对当前RX_HFN进行更新,比如对当前RX_HFN加1,然后返回执行解密和验证步骤,即根据更新后的RX_HFN对本次接收到的数据进行重新解密,得到重新解密后的解密数据,然后对重新解密后的解密数据的正确性进行验证。若在预置的验证次数内仍未能验证成功,则上报链路异常,触发应用程序或RRC设备对数据发送方的TX_HFN和数据接收方的RX_HFN重新进行同步,完成后结束流程。
[0048] 其中,应用程序或RRC设备对数据发送方的TX_HFN和数据接收方的RX_HFN重新进行同步的相关技术可参见现有技术,在此不再赘述。其中,RRC设备可以理解为RRC层(该RRC层为PDCP层的上层),比如,数据接收方的RRC层,该RRC层可以实现对数据发送方的TX_HFN和数据接收方的RX_HFN重新进行同步。另外,应用程序可以是计算机中的应用程序,该应用程序可以对数据发送方的TX_HFN和数据接收方的RX_HFN重新进行同步,或者,该应用程序可以通过对链路进行恢复和重建,以对数据发送方的TX_HFN和数据接收方的RX_HFN重新进行同步。
[0049] 需说明的是,该预置的验证次数可以根据网络中各个设备的实际处理能力进行设置,例如,如果网络中各个设备的实际处理能力较强,则可以将验证次数适当进行增加,由数据接收设备自行对RX_HFN进行更新,从而在保证可以及时更新RX_HFN的前提下,省略上报链路错误以及修复链路等流程,达到节省无线资源的目的;而如果网络中各个设备的实际处理能力一般,则可以将验证次数适当进行减少,以保证可以及时更新RX_HFN,即保证TX_HFN和RX_HFN的同步。
[0050] 例如,一般的,可以将验证次数设置为2次,则如果二次验证失败,则可以使用RLC链路异常上报机制报告RX_HFN更新异常。具体可以如下:
[0051] 对当前RX_HFN进行更新之后,数据接收设备根据更新后的RX_HFN对本次接收到的数据进行重新解密,并对重新解密后的数据的正确性进行二次验证(参见步骤104),若二次验证失败,则数据接收设备不再对RX_HFN进行自行更新,而是使用现有的RLC链路异常上报机制报告RX_HFN更新异常,触发应用程序或RRC设备对TX_HFN和RX_HFN重新进行同步。
[0052] 当然,如果在预置的验证次数内验证成功,则表明RX_HFN更新成功,表示数据发送方和数据接收方当前的状态变量是同步的,则流程可以结束。
[0053] 由上可知,本实施例采用获取RX_SN的更新时间和当前的RX_HFN,在RX_SN的更新时间超出预置的门限值时,判断当前RX_HFN与数据发送方的TX_HFN是否同步,在确定不同步时,同步该TX_HFN和RX_HFN。采用该方案,可以在非确认模式下,及时发现链路异常并及时对链路进行恢复,使得数据发送方的TX_HFN和数据接收方的RX_HFN可以在短时间内重新进行同步,避免由于TX_HFN和RX_HF不同步而未能及时发现时所导致的数据丢失情况的发生,有利于提高数传可靠性和用户体验。
[0054] 实施例二、
[0055] 根据实施例一所描述的方法,以下将举例作进一步详细说明。
[0056] 在本实施例中,将以通过验证解密数据的正确性来判断当前RX_HFN与数据发送方的TX_HFN是否同步,且验证次数为两次为例进行说明,其中,数据具体为SDU数据,数据接收设备具体为PDCP接收设备(即PDCP层的数据接收设备),该PDCP接收设备配置了非空算法的解密处理。参见图2a,具体流程可以如下:
[0057] 201、PDCP接收设备接收SDU数据,并记录上一次RX_SN的更新时间点T_SN1和本次RX_SN的更新时间点T_SN2,以及记录上一次RX_HFN的更新时长T_HFN和当前RX_HFN。
[0058] 202、PDCP接收设备根据PDCP提供的解密参数对本次接收到的SDU数据进行解密,得到解密数据;
[0059] 其中,解密参数可以包括密钥、COUNT值、承载标识和数据传输方向等参数,而RX_HFN是COUNT值一个组成部分。具体的解密方法可参见现有技术,在此不再赘述。
[0060] 203、PDCP接收设备判断本次RX_SN的更新时间点T_SN2与上一次RX_S N的更新时间点T_SN1的差值,是否大于上一次RX_HFN的更新时长的设定比例值,若是,则执行步骤204;若否,则根据现有技术中的流程继续后续操作。
[0061] 比如,该比例值可以设定为八分之一,即PDCP接收设备可以判断“T_SN2-T_SN1>T_HFN/8”是否成立。
[0062] 在此以“T_HFN/8”作为预置的门限值,原因如下:
[0063] 如图2b所示,该图为在非确认模式下,一种PDCP PDU的结构示意图。从图2b中可以看出,PDCP SN的比特(bit)长度为7比特,如果因为定时器超时丢弃及在下层协议因为其他原因连续丢弃的PDCP PDU数量超过了该PDU类型中SN能够表示的最大值:128个,便会出现PDCP发送设备的状态变量TX_SN与PDCP接收设备的状态变量RX_SN更新不同步的情况。
[0064] 比如,在出现丢包之前PDCP接收设备的状态变量RX_SN的值为37,RX_HFN的值为111,在数传过程中,下层协议丢失的数据包数量达到了129个,则此时PDCP发送设备状态变量TX_SN已经更新到下一个TX_HFN(即此时TX_HFN值为112)所对应的TX_SN(即此时TX_SN的值为38),但PDCP接收设备的状态变量RX_SN仍然停留在上一个RX_HFN所对应的RX_SN值:37。当PDCP接收设备接收到后续的数据时,因为不满足协议所描述的RX_HFN更新条件,所以PDCP接收设备不更新RX_HFN,导致PDCP接收设备在计算出的SDU数据的解密参数和PDCP发送设备加密该数据时使用的加密参数不一致,从而使得PDCP接收设备解密出的数据错误。
[0065] 所以,在此以“T_HFN/8”作为预置的门限值,目的是用来验证丢失的数据包数量是否已超过了SN能够表示的最大值,如果超过,则表明解密后的SDU数据可能会出错,于是后续对其进行作进一步验证(参见步骤204)以便对状态变量重新进行同步。
[0066] 需说明的是,图2b中仅仅给出了一种PDCP PDU的结构示意图,应当理解的是,该方法同样适用于其他结构的PDCP PDU,而上述“预置的门限值”也需要根据实际应用进行相应地调整。
[0067] 其中,步骤202和203的执行不分先后。
[0068] 204、PDCP接收设备对步骤202中得到的解密数据的正确性进行验证,若验证成功,则流程结束;若验证失败,则执行步骤205。
[0069] 需说明的是,可选的,在验证通过时,还可以进一步对该解密数据是否为RX_HFN更新后所对应的解密数据,如果是,则表明RX_HFN更新成功,可以提示用户RX_HFN更新成功,流程结束;如果不是,则流程直接结束。
[0070] 205、PDCP接收设备更新当前RX_HFN,比如将RX_HFN加1,然后执行步骤206。
[0071] 206、PDCP接收设备根据更新后的RX_HFN对本次接收到的SDU数据进行重新解密,然后执行步骤207;
[0072] 需说明的是,由于目前LTE系统的接入层加解密处理(即加密处理和解密处理)使用的是对称密钥体系,所以,对于PDCP接收设备接收到的SDU数据,如果使用相同的参数对该SDU数据进行解密,并对解密后的SDU数据再进行加密,则可以得到和接收的SDU数据相同的数据。也就是说,虽然步骤202中已经对本次接收到的SDU数据进行了解密,但是,如果经过验证之后,发现解密后的SDU数据错误,则可以将该解密后的SDU数据再重新进行加密,得到解密前的SDU数据,以便PDCP接收设备根据更新后的RX_HFN对该解密前的SDU数据进行重新解密。
[0073] 207、PDCP接收设备对重新解密后的SDU数据的正确性进行验证,若验证成功,则表明RX_HFN更新成功,即当前PDCP发送设备的TX_HFN和PDCP接收设备的RX_HFN的更新是同步的,于是流程可以结束;若验证失败,则执行步骤208。
[0074] 208、PDCP接收设备使用现有的RLC链路异常上报机制上报链路异常,触发应用程序或RRC设备对PDCP发送设备的TX_HFN和PDCP接收设备的RX_HFN的状态变量重新进行同步,流程结束。
[0075] 其中,RRC设备可以理解为RRC层,比如,数据接收方的RRC层,该RRC层可以实现对PDCP发送设备的TX_HFN和PDCP接收设备的RX_HFN重新进行同步。另外,应用程序可以是计算机中的应用程序,该应用程序可以对PDCP发送设备的TX_HFN和PDCP接收设备的RX_HFN重新进行同步,或者,该应用程序可以通过对链路进行恢复和重建,以对PDCP发送设备的TX_HFN和PDCP接收设备的RX_HFN重新进行同步。其中,应用程序或RRC设备对PDCP发送设备的TX_HFN和PDCP接收设备的RX_HFN重新进行同步的相关技术可参见现有技术,在此不再赘述。
[0076] 需说明的是,如果在某一次的RX_HFN更新过程中,未发生两个RX_SN之间更新时间较长的情况,则可以把这次的RX_HFN更新时长T_HFN作为后续判断的基础。在数传(数据传输的简称)刚开始时,可以把最开始的几个连续的SN更新时长平均值乘以PDCP的SN空间作为本次RX_HFN更新的初始估计值。
[0077] 由上可知,本实施例采用记录上一次RX_SN的更新时间点T_SN1和本次RX_SN的更新时间点T_SN2,以及记录上一次RX_HFN的更新时长T_HFN和当前的RX_HFN,然后根据当前RX_HFN对本次接收到的SDU数据进行解密,并在T_SN2-T_SN1>T_HFN/8时,对解密后的SDU数据的正确性进行验证,以此来确定当前的RX_HFN是否更新成功,从而确定PDCP发送方和PDCP接收方当前的状态变量是否同步。
[0078] 采用该方案,可以在非确认模式下,及时发现链路异常并及时对链路进行恢复,使得PDCP发送设备的TX_HFN和PDCP接收设备的RX_HFN可以在短时间内重新进行同步,避免由于TX_HFN和RX_HFN不同步而未能及时发现时所导致的数据丢失情况的发生,有利于提高数传可靠性,另一方面,由于提高了数传的可靠性,所以可以避免出现数传异常而导致大量无线链路资源的浪费的情况,有利于提高用户体验。
[0079] 进一步的,由于可以对数据正确性进行验证,所以还可以有效检测出空口入侵者提供的非法数据,提升用户面的数传安全性。
[0080] 实施例三、
[0081] 为了更好地实施以上方法,本发明实施例还相应地提供一种数据接收设备,作为数据接收方,参见图3a,该数据接收设备包括获取单元301、判断单元302、验证单元303、同步单元304;
[0082] 获取单元301,用于获取RX_SN的更新时间和当前RX_HFN;
[0083] 判断单元302,用于判断获取单元301获取到的RX_SN的更新时间是否超出预置的门限值;
[0084] 验证单元303,用于在判断单元302确定RX_SN的更新时间超出预置的门限值时,判断当前RX_HFN与数据发送设备的TX_HFN是否同步;
[0085] 同步单元304,用于在验证单元303确定当前RX_HFN与数据发送方的TX_HFN不同步时,同步该TX_HFN和RX_HFN。
[0086] 由于RX_HFN是SDU加解密处理的关键参数PDCP COUNT的一个组成部分,如果数据接收方当前的RX_HFN出错,比如数据接收方当前的RX_HFN与数据发送方的TX_HFN不同步,则解密数据也会出错,如果解密数据是正确的,则表明当前的RX_HFN与数据发送方的TX_HFN是同步的。
[0087] 所以,可以通过验证解密数据的正确性来判断当前RX_HFN与数据发送方的TX_HFN是否同步。即参见图3b,该数据接收设备还可以包括解密单元305。
[0088] 解密单元305,用于对本次接收到的数据进行解密,得到解密数据;
[0089] 则验证单元303,具体用于对解密单元305得到的解密数据的正确性进行验证,若验证失败,则确定(或称判断)当前RX_HFN与数据发送方的TX_HFN不同步;此外,若验证成功,则表明当前链路正常,表示数据发送方的TX_HFN和数据接收方当前的RX_HFN是同步的。
[0090] 同步单元304,具体用于在验证单元303确定当前RX_HFN与数据发送方的TX_HFN不同步时,上报链路异常,触发应用程序或RRC设备对TX_HFN和RX_HFN进行同步。
[0091] 其中,参见图3b,同步单元304可以包括更新子单元3041和上报子单元3042;
[0092] 更新子单元3041,用于在验证单元303验证失败时,对当前RX_HFN进行更新,并触发解密单元305再次执行解密和验证单元303再次执行验证,即返回由解密单元305进行解密及验证单元303进行验证的步骤。
[0093] 可以由解密单元305根据更新子单元3041更新后的RX_HFN对本次接收到的SDU数据进行重新解密,然后由验证单元303对重新解密后的SDU数据的正确性进行验证;
[0094] 一种实现方式如下:
[0095] 例如,更新子单元3041,具体用于对当前RX_HFN加1,然后返回执行解密和验证步骤。
[0096] 上报子单元3042,用于若在预置的验证次数内验证单元303仍未能验证成功,则上报链路异常,触发应用程序或RRC设备对TX_HFN和RX_HFN进行同步。
[0097] 例如,若预置的验证次数为2次,则上报子单元3042,具体用于在二次验证失败时,使用RLC链路异常上报机制报告RX_HFN更新异常。
[0098] 其中,RRC设备可以理解为RRC层,比如,数据接收方的RRC层,该RRC层可以实现对数据发送设备的TX_HFN和数据接收设备的RX_HFN重新进行同步。另外,应用程序可以是计算机中的应用程序,该应用程序可以对数据发送设备的TX_HFN和数据接收设备的RX_HFN重新进行同步,或者,该应用程序可以通过对链路进行恢复和重建,以对数据发送设备的TX_HFN和数据接收设备的RX_HFN重新进行同步。其中,应用程序或RRC设备对数据发送设备的TX_HFN和数据接收设备的RX_HFN重新进行同步的相关技术可参见现有技术,在此不再赘述。
[0099] 参见图3b,其中,判断单元302可以包括比较子单元3021和判断子单元3022;
[0100] 获取单元301,具体用于获取上一次RX_SN的更新时间点、本次RX_SN的更新时间点、上一次RX_HFN的更新时长和当前RX_HFN;
[0101] 比较子单元3021,用于将获取单元301获取到的本次RX_SN的更新时间点T_SN2与上一次RX_SN的更新时间点T_SN1的差值,与上一次RX_HFN的更新时长的设定比例值或预置的第一固定值进行比较;其中,该设定比例值具体可以设为八分之一;
[0102] 判断子单元3022,用于在比较子单元3021确定本次RX_SN的更新时间点与上一次RX_SN的更新时间点的差,大于预置的第一固定值,或者,大于上一次RX_HFN的更新时长的设定比例值,比如八分之一,即在T_SN2-T_SN1>T_HFN/8时,确定RX_SN的更新时间超出预置的门限值。
[0103] 此种情况下,验证单元303,用于在判断子单元3022确定RX_SN的更新时间超出预置的门限值时,对解密单元305得到的解密数据的正确性进行验证。
[0104] 若比较子单元3031确定本次RX_SN的更新时间点与上一次RX_SN的更新时间点的差,不大于预置的第一固定值,或不大于上一次RX_HFN的更新时长的设定比例值,比如八分之一,即在T_SN2-T_SN1≤T_HFN/8时,则根据现有技术中的流程继续后续操作。
[0105] 以上各个单元的具体实施可参见前面实施例,在此不再赘述。
[0106] 由上可知,本实施例所提供的数据接收设备的获取单元301可以采用获取RX_SN的更新时间和当前的RX_HFN,然后在判断单元302确定RX_SN的更新时间超出预置的门限值时,由验证单元303判断当前RX_HFN与数据发送方的TX_HFN是否同步,在确定不同步时,由同步单元304同步该TX_HFN和RX_HFN。采用该方案,可以在非确认模式下,及时发现链路异常并及时对链路进行恢复,使得数据发送设备TX_HFN和数据接收设备的RX_HFN可以在短时间内重新进行同步,避免由于TX_HFN和RX_HF不同步而未能及时发现时所导致的数据丢失情况的发生,有利于提高数传可靠性,另一方面,由于提高了数传的可靠性,所以可以避免出现数传异常而导致大量无线链路资源的浪费的情况,有利于提高用户体验。
[0107] 进一步的,由于可以对数据正确性进行验证,所以还可以有效检测出空口入侵者提供的非法数据,提升用户面的数传安全性。
[0108] 实施例四、
[0109] 相应的,本发明实施例还提供一种数据处理系统,参见图4,包括数据发送设备400和本发明上述实施例提供的任一种数据接收设备300;
[0110] 数据接收设备300,用于获取RX_SN的更新时间和当前RX_HFN,判断RX_SN的更新时间是否超出预置的门限值;如果该RX_SN的更新时间超出预置的门限值,则判断当前RX_HFN与数据发送设备400的TX_HFN是否同步;若不同步,则同步TX_HFN和RX_HFN。
[0111] 比如,数据接收设备300可以获取上一次RX_SN的更新时间点T_SN1、本次RX_SN的更新时间点T_SN2、上一次RX_HFN的更新时长T_HFN和当前RX_HFN;则RX_SN的更新时间为本次RX_SN的更新时间点T_SN2与上一次RX_SN的更新时间点T_SN1之差。若本次RX_SN的更新时间点与上一次RX_SN的更新时间点的差值,大于预置的第一固定值,或者,若该差值大于上一次RX_HFN的更新时长的设定比例值,则确定RX_SN的更新时间超出预置的门限值,否则,如果该差值不大于RX_HFN的更新时长的设定比例值或第一固定值,则确定RX_SN的更新时间没有超出预置的门限值。
[0112] 数据发送设备400,用于发送数据给数据接收设备300。
[0113] 进一步的,可以通过验证解密数据的正确性来判断当前RX_HFN与数据发送设备400的TX_HFN是否同步;即:
[0114] 数据接收设备300,还用于对本次接收到的SDU数据进行解密,得到解密数据;
[0115] 则数据接收设备300在RX_SN的更新时间超出预置的门限值时,可以对解密数据的正确性进行验证,在验证失败时,则直接上报链路异常,触发应用程序或RRC设备对数据发送设备400和数据接收设备300的状态变量重新进行同步;或者,在验证失败时,也可以对当前RX_HFN进行更新,并返回执行解密和验证步骤,若在预置的验证次数内仍未能验证成功,才上报链路异常,触发应用程序或RRC设备对数据发送设备400和数据接收设备300的状态变量重新进行同步;
[0116] 则此时,数据发送设备400,用于发送SDU数据给数据接收设备300。
[0117] 其中,数据接收设备300具体可以是长期演进系统中的PDCP层的数据接收设备;另外,数据发送设备400具体可以是长期演进系统中的PDCP层的数据发送设备,且该数据接收设备300和数据发送设备400之间采用非确认模式进行数据发送和接收。
[0118] 以上各个单元的具体实施可参见前面实施例,在此不再赘述。
[0119] 以下将举例对该数据处理系统的执行流程作简略说明,如下:
[0120] 步骤0、数据发送设备400发送SDU数据给数据接收设备300。
[0121] 步骤1、数据接收设备300接收SDU数据,并记录上一次RX_SN的更新时间点T_SN1和本次RX_SN的更新时间点T_SN2,以及记录上一次RX_HFN的更新时长T_HFN和当前RX_HFN。
[0122] 步骤2、数据接收设备300根据PDCP提供的解密参数对本次接收到的SDU数据进行解密,得到解密数据;
[0123] 其中,解密参数可以包括密钥、COUNT值、承载标识和数据传输方向等参数,而RX_HFN是COUNT值一个组成部分。
[0124] 步骤3、数据接收设备300判断本次RX_SN的更新时间点T_SN2与上一次RX_SN的更新时间点T_SN1的差值,是否大于上一次RX_HFN的更新时长的设定比例值,若是,则执行步骤4;若否,则根据现有技术中的流程继续后续操作。
[0125] 比如,该比例值可以设定为八分之一,即PDCP接收设备可以判断“T_SN2-T_SN1>T_HFN/8”是否成立。
[0126] 其中,步骤2和步骤3的执行不分先后。
[0127] 步骤4、数据接收设备300对步骤2中得到的解密数据的正确性进行验证,若验证成功,则流程结束;若验证失败,则执行步骤5。
[0128] 需说明的是,可选的,在验证通过时,还可以进一步对该解密数据是否为RX_HFN更新后所对应的解密数据,如果是,则表明RX_HFN更新成功,可以提示用户RX_HFN更新成功,流程结束;如果不是,则流程直接结束。
[0129] 步骤5、数据接收设备300更新当前RX_HFN,比如将RX_HFN加1,然后执行步骤6。
[0130] 步骤6、数据接收设备300根据更新后的RX_HFN对本次接收到的SDU数据进行重新解密,然后执行步骤7。
[0131] 步骤7、数据接收设备对重新解密后的SDU数据的正确性进行验证,若验证成功,则表明RX_HFN更新成功,即当前数据发送设备400的TX_HFN和数据接收设备300的RX_HFN的更新是同步的,于是流程可以结束;若验证失败,则执行步骤8。
[0132] 步骤8、数据接收设备300使用现有的RLC链路异常上报机制上报链路异常,触发应用程序或RRC设备对数据发送设备400的TX_HFN和数据接收设备300的RX_HFN的状态变量重新进行同步,流程结束。
[0133] 综上,本实施例所提供的数据处理系统的数据接收设备300可以采用获取RX_SN的更新时间和当前的RX_HFN,然后根据当前RX_HFN对本次接收到的SDU数据进行解密,并在RX_SN的更新时间超出预置的门限值时,对解密后的SDU数据的正确性进行验证,以此来确定当前的RX_HFN是否更新成功,从而确定数据发送设备400和数据接收设备300当前的状态变量是否同步。采用该方案,可以在非确认模式下,及时发现链路异常并及时对链路进行恢复,使得数据发送设备400和数据接收设备300的状态变量可以在短时间内重新进行同步,避免由于TX_HFN和RX_HF不同步而未能及时发现时所导致的数据丢失情况的发生,有利于提高数传可靠性,另一方面,由于提高了数传的可靠性,所以可以避免出现数传异常而导致大量无线链路资源的浪费的情况,有利于提高用户体验。
[0134] 进一步的,由于可以对数据正确性进行验证,所以还可以有效检测出空口入侵者提供的非法数据,提升用户面的数传安全性。
[0135] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
[0136] 以上对本发明实施例所提供的数据处理方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。