通讯协议的数据共享方法及系统与流程

文档序号:15455223发布日期:2018-09-15 00:55阅读:283来源:国知局

本发明涉及通信技术领域,尤其涉及一种通讯协议的数据共享方法及系统。



背景技术:

在第四代移动通信系统的无线通讯网络领域中,lte协议规定了pdcp(packetdataconvergenceprotocol,分组数据汇聚协议)层具有discard功能,discard功能用于丢弃pdcp层中长时间未被调度的数据,也就是说,pdcp层中的发送端在发送数据之前,会检测各个数据在pdcp层中的滞留时间,若数据滞留的时间超过规定时间,基于discard功能将该数据丢弃,后续再将剩余的数据加密发送给接收端。

对于将discard功能的实现放在pdcp维护序号sn和加密之前的实现方法,由于现有的pdcp发送端在发送加密数据之前,先确定数据的超帧号和序号,然后采用超帧号和对应的序号对数据加密之后,再发送给pdcp接收端,因此,若发送端没有丢弃相邻帧的数据时,发送给接收端的数据,接收端可以根据接收端维护的超帧号进行解密。在这种情况下,接收端对数据解密时由于采用的超帧号与发送端的不同,会导致接收端对数据解密失败。



技术实现要素:

本发明的主要目的在于提出一种通讯协议的数据共享方法及系统,旨在解决发送端丢弃大量序列连续的超时数据之后,与接收端通信时,容易导致接收端对数据解密失败的技术问题。

为实现上述目的,本发明提供的一种通讯协议的数据共享方法,所述通讯协议的数据共享方法包括:

在超时丢弃discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,第一终端丢弃超时加密数据中的部分超时加密数据;

将所述discard控制装置中的剩余加密数据作为待发送的加密数据;

通过发送装置将待发送的所述加密数据发送至第二终端,以供所述第二终端根据维护的超帧号对接收到的所述加密数据进行解密。

优选地,所述在discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,第一终端丢弃超时加密数据中的部分超时加密数据的步骤包括:

在discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,所述第一终端确定超时加密数据的数量是否小于分组数据汇聚协议pdcp发送窗口长度的一半;

若超时加密数据的数量不小于pdcp发送窗口长度的一半,则确定第一个超时加密数据之后的第m个超时加密数据,其中,m等于pdcp发送窗口长度的一半;

丢弃确定的超时加密数据之前的所有超时加密数据。

优选地,所述第一终端确定超时加密数据的数量是否小于pdcp发送窗口长度的一半的步骤之后,所述通讯协议的数据共享方法还包括:

若超时加密数据的数量小于pdcp发送窗口长度的一半,则丢弃所有的超时加密数据。

优选地,所述在discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,第一终端丢弃超时加密数据中的部分超时加密数据的步骤之前,所述通讯协议的数据共享方法还包括:

所述第一终端获取缓存装置中的缓存数据;

若获取的所述缓存数据发送至加密装置进行加密,且在加密之后发送至所述discard控制装置,则执行所述在discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,第一终端丢弃超时加密数据中的部分超时加密数据的步骤;

若获取的所述缓存数据发送至所述discard控制装置,所述通讯协议的数据共享方法还包括:

所述第一终端从所述discard控制装置中提取出相应的待发送数据;

对提取的所述待发送数据进行排列,并按照排列顺序生成所述待发送数据对应的超帧号;

在加密装置中根据生成的所述超帧号对所述待发送数据进行加密,并通过发送装置将加密数据发送至所述第二终端,以供所述第二终端根据接收到的数据所确定的超帧号对接收到的加密数据进行解密。

优选地,所述从所述discard控制装置中提取出相应的待发送数据的步骤包括:

所述第一终端确定所述discard控制装置中滞留时长大于预设时长的超时数据;

丢弃所述超时数据,并提取出所述discard控制装置中的剩余数据作为待发送数据。

此外,为实现上述目的,本发明还提出一种通讯协议的数据共享系统,所述通讯协议的数据共享系统包括:

丢弃模块,用于在超时丢弃discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,丢弃超时加密数据中的部分超时加密数据;

处理模块,用于将所述discard控制装置中的剩余加密数据作为待发送的加密数据;

发送模块,用于通过发送装置将待发送的所述加密数据发送至第二终端,以供所述第二终端根据维护的超帧号对接收到的所述加密数据进行解密。

优选地,所述丢弃模块包括:

第一确定单元,用于在discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,确定超时加密数据的数量是否小于分组数据汇聚协议pdcp发送窗口长度的一半;

所述第一确定单元,还用于若超时加密数据的数量不小于pdcp发送窗口长度的一半,则确定第一个超时加密数据之后的第m个超时加密数据,其中,m等于pdcp发送窗口长度的一半;

丢弃单元,用于丢弃确定的超时加密数据之前的所有超时加密数据。

优选地,所述丢弃单元,还用于若超时加密数据的数量小于pdcp发送窗口长度的一半,则丢弃所有的超时加密数据。

优选地,所述通讯协议的数据共享系统还包括:

获取模块,用于获取缓存装置中的缓存数据;

提取模块,用于若获取的所述缓存数据发送至所述discard控制装置,从所述discard控制装置中提取出相应的待发送数据;

排列模块,用于对提取的所述待发送数据进行排列,并按照排列顺序生成所述待发送数据对应的超帧号;

加密模块,用于在加密装置中根据生成的所述超帧号对所述待发送数据进行加密;

所述发送模块,还用于通过发送装置将加密数据发送至所述第二终端,以供所述第二终端根据接收到的数据所确定的超帧号对接收到的加密数据进行解密。

优选地,所述提取模块包括:

第二确定单元,用于确定所述discard控制装置中滞留时长大于预设时长的超时数据;

提取单元,用于丢弃所述超时数据,并提取出所述discard控制装置中的剩余数据作为待发送数据。

本发明提出的通讯协议的数据共享方法及系统,在discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,第一终端先丢弃超时加密数据中的部分超时加密数据,然后将所述discard控制装置中的剩余加密数据作为待发送的加密数据,最终通过发送装置将待发送的所述加密数据发送至第二终端,以供所述第二终端根据维护的超帧号对接收到的所述加密数据进行解密,而不是当discard控制装置中存在大量超时加密数据时,将大量超时加密数据全部丢弃,并将剩余加密数据发送给第二终端,此时可能出现发送端丢弃大量序号连续的数据,接收端在接收到丢弃大量序号连续的数据之后,会导致由于接收端和发送端维护的超帧号不一致造成的接收端对数据解密失败。本发明仅丢弃超时加密数据中的部分超时数据,保持第二终端解密使用的超帧号和第一终端加密使用的超帧号一致,使得第二终端可以成功解密数据。

附图说明

图1为本发明通讯协议的数据共享方法第一实施例的流程示意图;

图2为传统的第一终端丢弃部分数据后,发送数据的场景示意图;

图3为传统的第二终端接收到数据的场景示意图;

图4为本发明在discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,第一终端丢弃超时加密数据中的部分超时加密数据较佳实施例的流程示意图;

图5为本发明一实施方式示意图;

图6为本发明通讯协议的数据共享方法第二实施例的流程示意图;

图7为本发明所述第一终端从所述discard控制装置中提取出相应的待发送数据较佳实施例的流程示意图;

图8为本发明另一实施方式示意图;

图9为本发明通讯协议的数据共享系统第一实施例的功能模块示意图;

图10为图9中丢弃模块的细化功能模块示意图;

图11为本发明通讯协议的数据共享系统第二实施例的功能模块示意图;

图12为图11中提取模块的细化功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

可以理解,现有技术中,由于发送端发送的数据使用发送端的超帧号和序号作为加密参数,而超帧号是由发送端和接收端各自维护,若发送端丢弃大量序列连续的超时数据时,接收端在接收到丢弃大量序号连续的数据之后,会导致接收端和发送端维护的超帧号不一致,从而导致接收端对数据解密失败。

基于现有技术存在的问题,本发明提供一种通讯协议的数据共享方法。

参照图1,图1为本发明通讯协议的数据共享方法第一实施例的流程示意图。

本实施例提出一种通讯协议的数据共享方法,所述通讯协议的数据共享方法包括:

步骤s10,在超时丢弃discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,第一终端丢弃超时加密数据中的部分超时加密数据;

步骤s20,将所述discard控制装置中的剩余加密数据作为待发送的加密数据;

步骤s30,通过发送装置将待发送的所述加密数据发送至第二终端,以供所述第二终端根据维护的超帧号对接收到的所述加密数据进行解密。

在lte(longtermevolution,长期演进)系统中,基站侧的pdcp层位于lte协议框架中层二的最上层,与pdcp层直接交互的协议模块有上层的rrc(radioresourcecontrol无线资源控制)层或者gtp-u(gprstunnellingprotocol-user),和下层的rlc(radiolinkcontrol,无线链路控制)层。

pdcp层的功能主要包括加解密、完保与校验,以及切换过程中保证数据完整性等,这些功能的实现与pdcp的count密不可分。count由hfn(hyperframenumber,超帧号)和sn(sequencenumber,序号)组成,其中hfn在pdcp层的发送端和接收端分别各自维护,而sn通过数据本身从发送端带到接收端,当异常情况导致发送端和接收端维护的hfn不一致时,会导致接收端对数据解密失败。

pdcp协议规定了pdcp层有discard的功能,用于丢弃pdcp层长时间未被调度的数据。目前,lte协议中并未规定discard功能的具体实现,因此,将该功能的实现放在加密之前和加密之后,均符合协议的规定。但是当把该功能的实现放在pdcpsn的维护和加密之后时,如果此时丢弃的数据大于或者等于pdcp发送窗口长度的一半时,就会导致发送端和接收端维护的hfn不一致时,从而发生接收端对数据解密失败的问题,这是实现者很容易发生的错误。

为更好理解,举例如下,当异常情况触发discard功能丢弃的数据量大于或者等于pdcp发送窗口长度的一半时,如图2所示,发送端在发送了hfn等于6且sn为0的数据之后,丢弃了hfn等于6且sn为1至127的数据,以及hfn等于7且sn为0至2的数据,那么在发生discard之后,发送端接下来发送的数据为hfn等于7且sn为3的数据。而在接收端接收不到上述的discard数据,所以从接收端看来,在发送端发生discard的前后,接收端收到的数据为hfn等于6且sn为0的数据和hfn等于6且sn为3的数据,如图3所示。在这种情况下,对于发送端发送的hfn等于7且sn为3的数据,在接收端将作为hfn等于6且sn为3来接收,并且使用hfn等于6且sn为3来解密该数据,这将发生由于该数据的加解密参数hfn的不同而导致的解密失败,同样的,之后的数据也会解密失败,接收端大量数据的解密失败会导致业务断流。

因此,如果对discard丢弃的数据量不加控制的话,当发送端丢弃的数据量大于或者等于pdcp发送窗口长度的一半时,会引起接收端与发送端的hfn不一致,这样会导致业务断流。因此,本实施例的目的在于针对上述问题,提供一种合理的正确的方法来实现pdcp层的discard功能。所以本发明实现了一个discard控制装置,本实施例中首先将对把discard功能的实现放在添加pdcpsn之后的方案进行详述,下文再给出把discard功能的实现放在添加pdcpsn之前的方案。其中,针对第一种方案,根据pdcp协议中接收端维护hfn的算法,本发明将sn对应的数据容量的半窗作为超时丢弃数据量的上限值,以保证业务的正常进行。具体实现原理为:

首先,所述第一终端(本文用发送端表示)在discard控制装置中检测是否存在滞留时长大于预设时长的超时加密数据,若存在,此时丢弃超时加密数据中的部分超时加密数据,本实施例中,所述第一终端先确定滞留时长大于预设时长的超时加密数据对应的数据量是否小于当前pdcp发送窗口长度的一半,若小于,则说明该超时数据不影响发送端和接收端对hfn的维护,所以丢弃所有超时数据。否则当超时数据量大于或者等于pdcp发送窗口长度的一半时,丢弃所有的超时数据将会影响发送端和接收端对hfn的维护,此时为了不影响接收端的正常解密数据,需要丢弃从第一个超时数据往后直到第m个超时数据,(其中m等于pdcp发送窗口长度的一半,不包括该数据本身)。也就是说,当discard控制装置中超时数据多于所述pdcp发送窗口长度的一半时,应该对丢弃的超时数据的数量加以控制,仅丢弃部分超时数据,把剩余数据作为待发送数据。

具体地,参照图4,所述步骤s10的实施方式包括:

步骤s11,在discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,所述第一终端确定超时加密数据的数量是否小于pdcp发送窗口长度的一半;

步骤s12,若discard控制装置中超时加密数据的数量不小于所述pdcp发送窗口长度的一半,则确定第一个超时加密数据之后的第m个超时加密数据,其中,m等于pdcp发送窗口长度的一半;

步骤s13,丢弃上述所述超时加密数据之前的所有超时加密数据,保存该超时加密数据本身以及之后的超时加密数据。

当然,所述第一终端确定超时加密数据的数量是否小于pdcp发送窗口长度的一半的步骤之后,还包括:

若超时加密数据的数量小于pdcp发送窗口长度的一半,则丢弃所有的超时的加密数据。

也就是说,在本实施方式中,如果在所述discard控制装置中检测到的超时加密数据量小于pdcp发送窗口长度的一半,则该超时加密数据不影响发送端和接收端对hfn的维护,所以丢弃所有超时加密数据。否则当超时加密数据量大于或者等于pdcp发送窗口长度的一半时,若丢弃所有的超时加密数据,会影响发送端和接收端对hfn的维护,此时为了不影响接收端的正常解密数据,需要丢弃从第一个超时数据往后直到第m个数据(其中m等于pdcp发送窗口长度的一半,不包括该数据本身)。也就是说,当discard控制装置中超时加密数据多于所述pdcp发送窗口长度的一半时应该对丢弃的超时加密数据的数量加以控制,仅丢弃部分超时加密数据,把剩余加密数据作为待发送的加密数据。

应当理解的是,本方案中所述的“pdcp发送窗口长度的一半”指的就是该超帧号对应的pdcpsn所维护的数据量的最大值。同时,由于在lte协议中规定pdcp接收端使用的接收算法中使用pdcpsn对应的数据空间的半窗作为维护超帧号的判断方法,所以本发明方法中将pdcp发送窗口长度的一半作为discard控制装置中控制丢弃超时数据的数据量的标准。

在本实施例中,将discard控制装置中的剩余加密数据作为待发送的加密数据时,由于仅丢弃某一超帧号的部分超时加密数据,因此,此时发送端和接收端在discard前后维护的hfn保持一致,那么所述第二终端与第一终端各自维护的超帧号将始终保持一致,第二终端将该超帧号作为解密的参数,可以保证解密的正常进行,最终也将解密后的数据进行缓存。

也就是说,当把discard功能的实现放在添加pdcpsn之后时,discard控制装置在实现discard超时检测与丢弃的同时,还增加了超时数据的丢弃控制的特殊处理。具体操作为:在丢弃超时数据之前,对超时的数据量进行检测,如果检测到超时数据量如果小于pdcp发送窗口长度的一半,则丢弃所有超时数据,否则丢弃从第一个超时数据往后直到第m个超时数据,(其中m等于pdcp发送窗口长度的一半,不包括该数据本身)。因此限定了丢弃的超时数据小于pdcp发送窗口长度的一半,保证了即使丢弃超时加密数据,数据的超帧号在发送端和接收端的维护始终保持一致。

为更好理解本实施例,参照图5,举例应用场景如下:

发送端的pdcp层从上层接收数据后,将数据放到缓存装置进行缓存,然后把数据发送到加密装置;

在加密装置中对数据进行hfn和sn的维护操作,以及加密处理,其中pdcpsn和发送端维护的hfn作为加密的输入参数;

然后经过加密的数据在discard控制装置中进行discard超时丢弃检测,如果该数据在discard控制装置中滞留的时间超过预设时长(如discardtimer),则对该超时加密数据进行丢弃检测和特殊处理,当检测到超时加密数据量大于或者等于pdcp发送窗口长度的一半时,会控制超时丢弃的数据个数,保证超时丢弃的数据不影响发送端和接收端对各自hfn的维护,从而保证发送端和接收端的hfn保持一致。

最终将数据通过发送装置发送给接收端。

本实施例是把discard功能的实现放在添加pdcpsn之后,控制超时丢弃的数据个数,并保证超时丢弃的数据不影响接收端对hfn的正常维护,从而保证发送端和接收端的hfn保持一致。

本实施例提出的通讯协议的数据共享方法,在discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,第一终端先丢弃超时加密数据中的部分超时加密数据,然后将所述discard控制装置中的剩余加密数据作为待发送的加密数据,最终通过发送装置将待发送的所述加密数据发送至第二终端,以供所述第二终端根据维护的超帧号对接收到的所述加密数据进行解密,而不是当discard控制装置中存在大量超时加密数据时,将大量超时加密数据全部丢弃,并将剩余加密数据发送给第二终端,此时可能出现发送端丢弃大量序号连续的数据,接收端在接收到丢弃大量序号连续的数据之后,会导致由于接收端和发送端维护的超帧号不一致造成的接收端对数据解密失败。本发明仅丢弃超时加密数据中的部分超时数据,保持第二终端解密使用的超帧号和第一终端加密使用的超帧号一致,使得第二终端可以成功解密数据。

进一步地,为了增加通讯协议数据共享的智能性,基于第一实施例提出本发明通讯协议的数据共享方法的第二实施例。

基于pdcp协议,将discard功能的实现放在加密之前和加密之后都是合理的,为了保证协议对于discard功能实现的完整性,本发明提出discard功能实现的第二种实施例,即将discard功能的实现放在加密之前。

在本实施例,参照图6,所述步骤s10之前,所述通讯协议的数据共享方法还包括:

步骤s40,所述第一终端获取缓存装置中的缓存数据;

若获取的所述缓存数据发送至加密装置进行加密,并在加密之后发送至所述discard控制装置,则执行后续的步骤s10。

若获取的所述缓存数据发送至所述discard控制装置,所述通讯协议的数据共享方法还包括:

步骤s50,所述第一终端从所述discard控制装置中提取出相应的待发送数据;

具体的,参照图7,所述步骤s50包括:

步骤s51,所述第一终端确定所述discard控制装置中滞留时长大于预设时长的超时数据;

步骤s52,丢弃所述超时数据,并提取出所述discard控制装置中的剩余数据作为待发送数据。

在本实施例中,若获取的所述缓存数据发送至discard控制装置,直接在所述discard控制装置中确定滞留时长大于预设时长的超时数据,然后丢弃所述超时数据,并将所述discard控制装置中的剩余数据作为待发送数据。应当理解的是,由于获取的所述缓存数据发送至discard控制装置,数据还没有被加密,同时该数据尚未添加pdcpsn,因此滞留时长超过预设时长的超时数据可以全部被丢弃。

步骤s60,对提取的所述待发送数据进行排列,并按照排列顺序生成所述待发送数据对应的超帧号;

在提取出相应的待发送数据之后,所述第一终端对提取的所述待发送数据进行排列,值得注意的是,排列的顺序为:按照从上层接收到的先后顺序进行排列,并按照排列顺序生成所述待发送数据对应的超帧号。实际上,按照排列顺序生成所述待发送数据对应的超帧号的同时,也会生成所述待发送数据对应的序号。而对提取的所述数据进行排列,就可以按照顺序依次排列各个数据,以pdcpsn为7bit为例,提取的数据为640个,按照0-127个序号的数据为一帧,640个数据就可以得到5帧数据,每一帧数据的序号都是sn等于0-127,而超帧号hfn等于1-5。

步骤s70,在加密装置中根据生成的所述超帧号对所述待发送数据进行加密,并通过发送装置将加密数据发送至所述第二终端,以供所述第二终端根据接收到的数据所确定的超帧号对接收到的加密数据进行解密。

在本实施例中,第一终端在确定提取的数据的超帧号之后,即可根据确定的所述超帧号对所述数据进行加密,即将数据的sn和hfn作为加密参数进行加密,然后将加密数据发送至接收端,接收端根据接收到的数据对应的数量即可确定超帧号,根据本端维护的超帧号和该数据对应的序号对加密数据进行解密操作,在这种情况下,接收端与发送端各自维护的超帧号始终保持一致,那么接收端将使用相同的超帧号作为解密参数,可以保证解密的正常进行,最终所述接收端将解密后的数据进行缓存。

在本实施例中,把discard功能放在添加pdcpsn之前,在discard控制装置中实现discard超时检测和丢弃的功能,如果该数据在discard控制装置中滞留的时间超过预设时长(如discardtimer),则直接丢弃该数据,否则正常发送,此时会将所有检测到的超时数据都进行丢弃处理,并将剩余的数据进行排列,得到数据的序号和超帧号。

为更好理解本实施例,参照图8,举例应用场景如下:

发送端的pdcp层从上层接收数据后,放到缓存装置进行缓存,此时,缓存的数据尚未添加超帧号,之后把数据发送到discard控制装置;

在discard控制装置中对缓存的数据进行discard超时检测,如果该数据在缓存装置中滞留的时间超过预设时长discardtimer,则pdcp丢弃该数据,并将剩余的数据发送给加密装置;

在所述加密装置中,对pdcpdiscard检测处理之后的数据添加pdcpsn和hfn,然后进行加密处理,其中该数据的pdcpsn和发送端维护的hfn作为加密的输入参数;

最终将加密完成的数据通过发送装置发送给接收端。

本实施例是把discard功能的实现放在添加pdcpsn之前,是为了把discard的对象设定为尚未添加pdcpsn的数据。这样做的好处是,discard功能的实现不影响数据后续添加pdcpsn的连续性,不会因超时丢弃数据而导致发送端和接收端hfn的不一致性。

在本实施例中,任一终端既可以作为发送端,也可以作为接收端,以实现了各个终端之间的数据交互,从而提高了通讯协议的数据共享的灵活性。

本发明进一步提供一种通讯协议的数据共享系统。

参照图9,图9为本发明通讯协议的数据共享系统较佳实施例的功能模块示意图。

本实施例提出的通讯协议的数据共享系统优选运行于基站或其它终端设备中如手机。在本实施例中,优选应用于基站侧,具体地,基站侧的pdcp层提取数据,并进行加密,加密之后发送给ue侧的手机,由ue侧接收到加密数据后,执行解密操作。同理,基站侧的pdcp层也可以接收到ue侧的手机发送的加密数据,并在接收到加密数据后,执行解密过程,以完成无线通讯。

需要强调的是,对本领域的技术人员来说,图9所示功能模块图仅仅是一个较佳实施例的示例图,本领域的技术人员围绕图9所示的通讯协议的数据共享系统的功能模块,可轻易进行新的功能模块的补充;各功能模块的名称是自定义名称,仅用于辅助理解该通讯协议的数据共享系统的各个程序功能块,不用于限定本发明的技术方案,本发明技术方案的核心是,各自定义名称的功能模块所要达成的功能。

本实施例提出一种通讯协议的数据共享系统,所述通讯协议的数据共享系统包括:

丢弃模块10,用于在discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,丢弃超时加密数据中的部分超时加密数据;

处理模块20,用于将所述discard控制装置中的剩余加密数据作为待发送的加密数据;

发送模块30,用于通过发送装置将待发送的所述加密数据发送至第二终端,以供所述第二终端根据维护的超帧号对接收到的所述加密数据进行解密。

在lte(longtermevolution,长期演进)系统中,基站侧的pdcp层位于lte协议框架中层二的最上层,与pdcp层直接交互的协议模块有上层的rrc(radioresourcecontrol无线资源控制)层或者gtp-u(gprstunnellingprotocol-user),和下层的rlc(radiolinkcontrol,无线链路控制)层。

pdcp层的功能主要包括加解密、完保与校验,以及切换过程中保证数据完整性等,这些功能的实现与pdcp的count密不可分。count由hfn(hyperframenumber,超帧号)和sn(sequencenumber,序号)组成,其中hfn在pdcp层的发送端和接收端分别各自维护,而sn通过数据本身从发送端带到接收端,当异常情况导致发送端和接收端维护的hfn不一致时,会导致接收端对数据解密失败。

pdcp协议规定了pdcp层有discard的功能,用于丢弃pdcp层长时间未被调度的数据。目前,lte协议中并未规定discard功能的具体实现,因此,将该功能的实现放在加密之前和加密之后,均符合协议的规定。但是当把该功能的实现放在pdcpsn的维护和加密之后时,如果此时丢弃的数据大于或者等于pdcp发送窗口长度的一半时,就会导致发送端和接收端维护的hfn不一致时,从而发生接收端对数据解密失败的问题,这是实现者很容易发生的错误。

为更好理解,举例如下,当异常情况触发discard功能丢弃的数据量大于或者等于pdcp发送窗口长度的一半时,如图2所示,发送端在发送了hfn等于6且sn为0的数据之后,丢弃了hfn等于6且sn为1至127的数据,以及hfn等于7且sn为0至2的数据,那么在发生discard之后,发送端接下来发送的数据为hfn等于7且sn为3的数据。而在接收端接收不到上述的discard数据,所以从接收端看来,在发送端发生discard的前后,接收端收到的数据为hfn等于6且sn为0的数据和hfn等于6且sn为3的数据,如图3所示。在这种情况下,对于发送端发送的hfn等于7且sn为3的数据,在接收端将作为hfn等于6且sn为3来接收,并且使用hfn等于6且sn为3来解密该数据,这将发生由于该数据的加解密参数hfn的不同而导致的解密失败,同样的,之后的数据也会解密失败,接收端大量数据的解密失败会导致业务断流。

因此,如果对discard丢弃的数据量不加控制的话,当发送端丢弃的数据量大于或者等于pdcp发送窗口长度的一半时,会引起接收端与发送端的hfn不一致,这样会导致业务断流。因此,本实施例的目的在于针对上述问题,提供一种合理的正确的方法来实现pdcp层的discard功能。所以本发明实现了一个discard控制装置,本实施例中首先将对把discard功能的实现放在添加pdcpsn之后的方案进行详述,下文再给出把discard功能的实现放在添加pdcpsn之前的方案。其中,针对第一种方案,根据pdcp协议中接收端维护hfn的算法,本发明将sn对应的数据容量的半窗作为超时丢弃数据量的上限值,以保证业务的正常进行。具体实现原理为:

首先,在discard控制装置中检测是否存在滞留时长大于预设时长的超时加密数据,若存在,此时丢弃模块10丢弃超时加密数据中的部分超时加密数据,本实施例中,先确定滞留时长大于预设时长的超时加密数据对应的数据量是否小于当前pdcp发送窗口长度的一半,若小于,则说明该超时数据不影响发送端和接收端对hfn的维护,所以丢弃模块10丢弃所有超时数据。否则当超时数据量大于或者等于pdcp发送窗口长度的一半时,丢弃所有的超时数据将会影响发送端和接收端对hfn的维护,此时为了不影响接收端的正常解密数据,所述丢弃模块10需要丢弃从第一个超时数据往后直到第m个超时数据,(其中m等于pdcp发送窗口长度的一半,不包括该数据本身)。也就是说,当discard控制装置中超时数据多于所述pdcp发送窗口长度的一半时,应该对丢弃的超时数据的数量加以控制,仅丢弃部分超时数据,把剩余数据作为待发送数据。

具体地,参照图10,所述丢弃模块10包括:

第一确定单元11,用于在discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,确定超时加密数据的数量是否小于pdcp发送窗口长度的一半;

所述第一确定单元11,还用于若超时加密数据的数量不小于pdcp发送窗口长度的一半,则确定第一个超时加密数据之后的第m个超时加密数据,其中,m等于pdcp发送窗口长度的一半;

丢弃单元12,用于丢弃确定的超时加密数据之前的所有超时加密数据。

当然,所述丢弃单元12,还用于若超时加密数据的数量小于pdcp发送窗口长度的一半,则丢弃所有的超时加密数据。

也就是说,在本实施方式中,如果在所述discard控制装置中检测到的超时加密数据量小于pdcp发送窗口长度的一半,则该超时加密数据不影响发送端和接收端对hfn的维护,所以丢弃单元12丢弃所有超时加密数据。否则当超时加密数据量大于或者等于pdcp发送窗口长度的一半时,若丢弃所有的超时加密数据,会影响发送端和接收端对hfn的维护,此时为了不影响接收端的正常解密数据,丢弃单元12需要丢弃从第一个超时数据往后直到第m个数据(其中m等于pdcp发送窗口长度的一半,不包括该数据本身)。也就是说,当discard控制装置中超时加密数据多于所述pdcp发送窗口长度的一半时应该对丢弃的超时加密数据的数量加以控制,仅丢弃部分超时加密数据,把剩余加密数据作为待发送的加密数据。

应当理解的是,本方案中所述的“pdcp发送窗口长度的一半”指的就是该超帧号对应的pdcpsn所维护的数据量的最大值。同时,由于在lte协议中规定pdcp接收端使用的接收算法中使用pdcpsn对应的数据空间的半窗作为维护超帧号的判断方法,所以本发明方法中将pdcp发送窗口长度的一半作为discard控制装置中控制丢弃超时数据的数据量的标准。

在本实施例中,将discard控制装置中的剩余加密数据作为待发送的加密数据时,由于仅丢弃某一超帧号的部分超时加密数据,因此,此时发送端和接收端在discard前后维护的hfn保持一致,那么所述第二终端与第一终端各自维护的超帧号将始终保持一致,第二终端将该超帧号作为解密的参数,可以保证解密的正常进行,最终也将解密后的数据进行缓存。

也就是说,当把discard功能的实现放在添加pdcpsn之后时,discard控制装置在实现discard超时检测与丢弃的同时,还增加了超时数据的丢弃控制的特殊处理。具体操作为:在丢弃超时数据之前,对超时的数据量进行检测,如果检测到超时数据量如果小于pdcp发送窗口长度的一半,则丢弃所有超时数据,否则丢弃从第一个超时数据往后直到第m个超时数据,(其中m等于pdcp发送窗口长度的一半,不包括该数据本身)。因此限定了丢弃的超时数据小于pdcp发送窗口长度的一半,保证了即使丢弃超时加密数据,数据的超帧号在发送端和接收端的维护始终保持一致。

为更好理解本实施例,参照图5,举例应用场景如下:

发送端的pdcp层从上层接收数据后,将数据放到缓存装置进行缓存,然后把数据发送到加密装置;

在加密装置中对数据进行hfn和sn的维护操作,以及加密处理,其中pdcpsn和发送端维护的hfn作为加密的输入参数;

然后经过加密的数据在discard控制装置中进行discard超时丢弃检测,如果该数据在discard控制装置中滞留的时间超过预设时长(如discardtimer),则对该超时加密数据进行丢弃检测和特殊处理,当检测到超时加密数据量大于或者等于pdcp发送窗口长度的一半时,会控制超时丢弃的数据个数,保证超时丢弃的数据不影响发送端和接收端对各自hfn的维护,从而保证发送端和接收端的hfn保持一致。

最终将数据通过发送装置发送给接收端。

本实施例是把discard功能的实现放在添加pdcpsn之后,控制超时丢弃的数据个数,并保证超时丢弃的数据不影响接收端对hfn的正常维护,从而保证发送端和接收端的hfn保持一致。

本实施例提出的通讯协议的数据共享系统,在discard控制装置中检测到滞留时长大于预设时长的超时加密数据时,第一终端先丢弃超时加密数据中的部分超时加密数据,然后将所述discard控制装置中的剩余加密数据作为待发送的加密数据,最终通过发送装置将待发送的所述加密数据发送至第二终端,以供所述第二终端根据维护的超帧号对接收到的所述加密数据进行解密,而不是当discard控制装置中存在大量超时加密数据时,将大量超时加密数据全部丢弃,并将剩余加密数据发送给第二终端,此时可能出现发送端丢弃大量序号连续的数据,接收端在接收到丢弃大量序号连续的数据之后,会导致由于接收端和发送端维护的超帧号不一致造成的接收端对数据解密失败。本发明仅丢弃超时加密数据中的部分超时数据,保持第二终端解密使用的超帧号和第一终端加密使用的超帧号一致,使得第二终端可以成功解密数据。

进一步地,为了增加通讯协议数据共享的智能性,基于第一实施例提出本发明通讯协议的数据共享系统的第二实施例。

基于pdcp协议,将discard功能的实现放在加密之前和加密之后都是合理的,为了保证协议对于discard功能实现的完整性,本发明提出discard功能实现的第二种实施例,即将discard功能的实现放在加密之前。

在本实施例,参照图11,所述通讯协议的数据共享系统还包括:

获取模块40,用于获取缓存装置中的缓存数据;

提取模块50,用于若获取的所述缓存数据发送至所述discard控制装置,从所述discard控制装置中提取出相应的待发送数据;

具体的,参照图12,所述提取模块50包括:

第二确定单元51,用于确定所述discard控制装置中滞留时长大于预设时长的超时数据;

提取单元52,用于丢弃所述超时数据,并提取出所述discard控制装置中的剩余数据作为待发送数据。

在本实施例中,若获取的所述缓存数据发送至discard控制装置,第二确定单元51直接在所述discard控制装置中确定滞留时长大于预设时长的超时数据,然后提取单元52丢弃所述超时数据,并将所述discard控制装置中的剩余数据作为待发送数据。应当理解的是,由于获取的所述缓存数据发送至discard控制装置,数据还没有被加密,同时该数据尚未添加pdcpsn,因此滞留时长超过预设时长的超时数据可以全部被丢弃。

排列模块60,用于对提取的所述待发送数据进行排列,并按照排列顺序生成所述待发送数据对应的超帧号;

在提取出相应的待发送数据之后,排列模块60对提取的所述待发送数据进行排列,值得注意的是,排列的顺序为:按照从上层接收到的先后顺序进行排列,并按照排列顺序生成所述待发送数据对应的超帧号。实际上,按照排列顺序生成所述待发送数据对应的超帧号的同时,也会生成所述待发送数据对应的序号。而排列模块60对提取的所述数据进行排列,就可以按照顺序依次排列各个数据,以pdcpsn为7bit为例,提取的数据为640个,按照0-127个序号的数据为一帧,640个数据就可以得到5帧数据,每一帧数据的序号都是sn等于0-127,而超帧号hfn等于1-5。

加密模块70,用于在加密装置中根据生成的所述超帧号对所述待发送数据进行加密;

所述发送模块30,还用于通过发送装置将加密数据发送至所述第二终端,以供所述第二终端根据接收到的数据所确定的超帧号对接收到的加密数据进行解密。

在本实施例中,在确定提取的数据的超帧号之后,加密模块70即可根据确定的所述超帧号对所述数据进行加密,即将数据的sn和hfn作为加密参数进行加密,然后所述发送模块30将加密数据发送至接收端,接收端根据接收到的数据对应的数量即可确定超帧号,根据本端维护的超帧号和该数据对应的序号对加密数据进行解密操作,在这种情况下,接收端与发送端各自维护的超帧号始终保持一致,那么接收端将使用相同的超帧号作为解密参数,可以保证解密的正常进行,最终所述接收端将解密后的数据进行缓存。

在本实施例中,相当于是把discard功能放在添加pdcpsn之前,在discard控制装置中实现discard超时检测和丢弃的功能,如果该数据在discard控制装置中滞留的时间超过预设时长(如discardtimer),则直接丢弃该数据,否则正常发送,此时会将所有检测到的超时数据都进行丢弃处理,并将剩余的数据进行排列,得到数据的序号和超帧号。

为更好理解本实施例,参照图8,举例应用场景如下:

发送端的pdcp层从上层接收数据后,放到缓存装置进行缓存,此时,缓存的数据尚未添加超帧号,之后把数据发送到discard控制装置;

在discard控制装置中对缓存的数据进行discard超时检测,如果该数据在缓存装置中滞留的时间超过预设时长discardtimer,则pdcp丢弃该数据,并将剩余的数据发送给加密装置;

在所述加密装置中,对pdcpdiscard检测处理之后的数据添加pdcpsn和hfn,然后进行加密处理,其中该数据的pdcpsn和发送端维护的hfn作为加密的输入参数;

最终将加密完成的数据通过发送装置发送给接收端。

本实施例是把discard功能的实现放在添加pdcpsn之前,是为了把discard的对象设定为尚未添加pdcpsn的数据。这样做的好处是,discard功能的实现不影响数据后续添加pdcpsn的连续性,不会因超时丢弃数据而导致发送端和接收端hfn的不一致性。

在本实施例中,任一终端既可以作为发送端,也可以作为接收端,以实现了各个终端之间的数据交互,从而提高了通讯协议的数据共享的灵活性。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1