一种基于EPC的报文转发方法及装置与流程

文档序号:12136908阅读:215来源:国知局
一种基于EPC的报文转发方法及装置与流程

本发明涉及LTE数据处理技术领域,特别是涉及一种基于EPC的报文转发方法和一种基于EPC的报文转发装置。



背景技术:

S10接口是MME(Mobility Management Entity,移动管理实体)之间的控制面接口,在3GPP TS29.274协议标准中规定了S10接口定义,参考图1的S10接口定义示意图所示,GTP-C协议消息在源Source MME和目标Target MME之间传递。

3GPP TS23.401标准定义了完整的S10切换流程,参考图2的S10切换流程图所示:

步骤1-9为切换准备阶段,在此阶段,源eNodeB决定发起切换,通知源MME;源MME通知目标eNodeB所属的目标MME,目标MME选择目标S-GW(Serving GateWay,服务网关)并请求创建承载资源,同时通知目标eNodeB作切换准备,准备就绪后,通知源eNodeB。

步骤10-17为切换执行阶段,在此阶段,源eNodeB通知UE进行切换,其后将收到的下行数据报文转发给目标eNodeB;UE接入目标eNodeB,可接收目标eNodeB转发的下行数据报文,并可向目标eNodeB发送上行数据报文(此报文可经目标S-GW至P-GW(PDN GateWay,公用数据网网关));目标eNodeB通知目标MME已接入UE,目标MME通知目标S-GW发起向P-GW的承载更新,此后P-GW将用户的下行数据报文发送至目标S-GW。其中,在eNodeB之间的下行数据报文转发可分为直接转发(direct forwarding)和间接转发(indirect forwarding),直接转发是指,如果源eNodeB和目标eNodeB之间有X2接口存在,则分组包直接在源eNodeB和目标eNodeB之间传送;否则,则通过源S-GW和目标S-GW转发;采用哪种形式,由源eNodeB通知源MME。

步骤18-21为切换后期阶段,在此阶段,源MME发起释放源eNodeB 与源S-GW的承载资源;UE发起TA(Tracking Area,跟踪区)更新流程(TAU),HSS(Home Subscriber Server,归属签约用户服务器)记录目标MME标识,并通知源MME删除用户数据。

从图2可以看出,协议对信令面的规定比较完全,当终端在target eNobeB上建立了UE Context上下文之后,业务面切换至目标基站和目标MME之下就算完成了S10切换。对于S10切换时报文的处理,目前有多种实现方案,有的实现方案在P-GW从Source S-GW指向Target S-GW之后,就终止上下文转发,完成切换后按照新的转发路由进行,但这样会导致业务面断流,在收到UE Context Release Complete之后才能恢复;有的实现方案是划分出一个专门的内存,用来进行缓存报文,到信令面完成之后再打通业务面进行集中转发;有的实现方案是将缓存功能下沉到基站,由基站完成相应的缓存转发。

上述实现方案造成的结果是切换过程有明显的掉坑和卡顿,切换完成之后有突发大流量冲击和延迟,客户感知度均比较明显。



技术实现要素:

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于EPC的报文转发方法及一种基于EPC的报文转发装置。

为了解决上述问题,本发明实施例公开了一种基于EPC的报文转发方法,所述核心网络EPC包括特定虚拟处理器VCPU,所述方法包括:

在S10的切换准备阶段,当所述特定VCPU被触发后,所述特定VCPU从切换终端中接管报文转发权限,并建立用于在S10切换过程中进行所述报文转发的特定路由通道;

在S10的切换执行阶段,所述特定VCPU在所述特定路由通道中进行报文转发;

在S10的切换后期阶段,所述特定VCPU将所述报文转发权限交还所述 切换终端,由所述切换终端采用新的路由通道进行报文转发。

优选地,所述方法还包括:

在所述特定VCPU将所述报文转发权限交还所述切换终端后,所述特定VCPU释放所占资源。

优选地,所述特定VCPU包括第一特定VCPU及第二特定VCPU,所述在S10的切换准备阶段,当所述特定VCPU被触发后,所述特定VCPU从切换终端中接管报文转发权限的步骤包括:

在S10的切换准备阶段,当所述第一特定VCPU及所述第二特定VCPU被触发后,采用所述第二特定VCPU将指定时间段内进入公用数据网网关PGW的每个报文,封装成指定长度的一个或多个数据包;

采用所述第一特定VCPU将所述一个或多个数据包存储在预设缓存区域中。

优选地,所述在S10的切换准备阶段,当所述特定VCPU被触发后,所述特定VCPU从切换终端中接管报文转发权限的步骤还包括:

采用所述第一特定VCPU监控指定时间段内,进入PGW的报文传递速度,并基于所述传递速度计算所述指定时间段的报文的平均传递速度;

所述在S10的切换执行阶段,所述特定VCPU在所述特定路由通道中进行报文转发的步骤包括:

在S10的切换执行阶段,采用所述第一特定VCPU将所述缓存区域中的数据包按照所述平均传递速度,在所述特定路由通道中传递。

优选地,所述在S10的切换准备阶段,当所述特定VCPU被触发后,所述特定VCPU从切换终端中接管报文转发权限的步骤还包括:

若所述指定时间段结束,实际的S10切换没有发生,则更新所述指定时间段,继续执行所述采用第二特定VCPU将指定时间段内进入PGW的每个报文,封装成指定长度的一个或多个数据包以及所述采用第一特定VCPU将所述一个或多个数据包存储在预设缓存区域中的步骤;

按照所述指定时间段自适应更新所述平均传递速度。

优选地,所述指定时间段的起始时间为所述特定VCPU被触发后第一个 进入PGW的报文的时间;所述指定时间的结束时间为所述起始时间加上指定时长得到的时间;其中,

指定时长按照如下方式计算:指定时长=前N次历史切换时长的平均值+/-预设阈值;其中,所述预设阈值根据切换实际时长自适应调整。

优选地,所述在S10的切换准备阶段,当所述第一特定VCPU及所述第二特定VCPU被触发后,采用所述第二特定VCPU将指定时间段内进入公用数据网网关PGW的每个报文,封装成指定长度的一个或多个数据包的步骤包括:

在S10的切换准备阶段,当所述第一特定VCPU及所述第二特定VCPU被触发后,采用所述第二特定VCPU判断指定时间段内进入PGW的每个报文的长度是否大于或等于所述指定长度;

若是,则将所述报文按照所述指定长度划分成一个或多个数据包,若划分成的最后一个数据包的长度小于所述指定长度,则对所述最后一个数据包进行填充,使得所述最后一个数据包的长度为所述指定长度;

若否,则将所述报文封装成一个指定长度的数据包。

优选地,所述数据包的至少包头包括:数据包编号,和/或,所述数据包的填充位置,数据包所属的报文位于原始报文的位置;所述数据包的包尾至少包括:完整性校验码,所述完整性校验码用于在切换完成以后校验数据包的完整性。

优选地,所述缓存区域的大小按需动态更新。

优选地,所述建立用于在S10切换过程中进行所述报文转发的特定路由通道的步骤包括:

从PGW中获取S10切换前原有的路由表信息;

基于所述路由表信息建立特定路由通道,所述特定路由通道为在S10切换过程中进行报文转发的通道。

优选地,所述在所述特定VCPU将所述报文转发权限交还所述切换终端后,所述特定VCPU释放所占资源的步骤包括:

删除特定路由通道;以及,

删除缓存区域中的数据。

本发明实施例还公开了一种基于EPC的报文转发装置,所述核心网络EPC包括特定虚拟处理器VCPU,所述装置包括:

权限接管模块,用于在S10的切换准备阶段,当所述特定VCPU被触发后,所述特定VCPU从切换终端中接管报文转发权限,并建立用于在S10切换过程中进行所述报文转发的特定路由通道;

报文转发模块,用于在S10的切换执行阶段,所述特定VCPU在所述特定路由通道中进行报文转发;

权限交还模块,用于在S10的切换后期阶段,所述特定VCPU将所述报文转发权限交还所述切换终端,由所述切换终端采用新的路由通道进行报文转发。

优选地,所述装置还包括:

资源释放模块,用于在所述特定VCPU将所述报文转发权限交还所述切换终端后,所述特定VCPU释放所占资源。

优选地,所述特定VCPU包括第一特定VCPU及第二特定VCPU,所述权限接管模块包括:

封装子模块,用于在S10的切换准备阶段,当所述第一特定VCPU及所述第二特定VCPU被触发后,采用所述第二特定VCPU将指定时间段内进入公用数据网网关PGW的每个报文,封装成指定长度的一个或多个数据包;

缓存子模块,用于采用所述第一特定VCPU将所述一个或多个数据包存储在预设缓存区域中。

优选地,所述权限接管模块还包括:

传递速度计算子模块,用于采用所述第一特定VCPU监控指定时间段内,进入PGW的报文传递速度,并基于所述传递速度计算所述指定时间段的报文的平均传递速度;

所述报文转发模块包括:

匀速转发子模块,用于在S10的切换执行阶段,采用所述第一特定VCPU 将所述缓存区域中的数据包按照所述平均传递速度,在所述特定路由通道中传递。

优选地,所述权限接管模块还包括:

时间段更新子模块,用于在所述指定时间段结束,实际的S10切换没有发生时,更新所述指定时间段;

传递速度更新子模块,用于按照所述指定时间段自适应更新所述平均传递速度。

优选地,所述指定时间段的起始时间为所述特定VCPU被触发后第一个进入PGW的报文的时间;所述指定时间的结束时间为所述起始时间加上指定时长得到的时间;其中,

指定时长按照如下方式计算:指定时长=前N次历史切换时长的平均值+/-预设阈值;其中,所述预设阈值根据切换实际时长自适应调整。

优选地,所述封装子模块包括:

判断单元,用于在S10的切换准备阶段,当所述第一特定VCPU及所述第二特定VCPU被触发后,采用所述第二特定VCPU判断指定时间段内进入PGW的每个报文的长度是否大于或等于所述指定长度;若是,则调用划分单元;若否,则调用封装单元;

划分单元,用于将所述报文按照所述指定长度划分成一个或多个数据包,若划分成的最后一个数据包的长度小于所述指定长度,则对所述最后一个数据包进行填充,使得所述最后一个数据包的长度为所述指定长度;

封装单元,用于将所述报文封装成一个指定长度的数据包。

优选地,所述数据包的至少包头包括:数据包编号,和/或,所述数据包的填充位置,数据包所属的报文位于原始报文的位置;所述数据包的包尾至少包括:完整性校验码,所述完整性校验码用于在切换完成以后校验数据包的完整性。

优选地,所述缓存区域的大小按需动态更新。

优选地,所述权限接管模块包括:

路由表获取子模块,用于从PGW中获取S10切换前原有的路由表信息;

通道建立子模块,用于基于所述路由表信息建立特定路由通道,所述特定路由通道为在S10切换过程中进行报文转发的通道。

优选地,所述资源释放模块包括:

通道删除子模块,用于删除特定路由通道;

缓存数据删除子模块,用于删除缓存区域中的数据。

本发明实施例包括以下优点:

在本发明实施例中,在EPC内部架构中引入虚拟处理器VCPU,在S10切换开始后由独立的VCPU接管切换终端的报文转发权限,并建立在切换过程中用于进行报文转发的特定路由通道,在S10切换过程中,由VCPU对业务面的报文进行转发,本发明实施例在切换过程中按照VCPU控制的特定路由通道进行报文转发,避免了切换完成后产生大量突发的情况发生,使客户感知不到S10切换的发生。

另外,由于业务面的报文转发被VCPU接管,信令面快速完成切换之后按照新的UE上下文刷新内部转发路由,减少了S10切换对业务面转发的依赖,缩短了切换时间,提高了切换效率。

附图说明

图1是本发明的背景技术中S10接口定义示意图;

图2是本发明的背景技术中S10切换流程图;

图3是本发明的一种基于EPC的报文转发方法实施例一的步骤流程图;

图4是本发明的一种基于EPC的报文转发方法实施例二的步骤流程图;

图5是本发明的一种基于EPC的报文转发方法实施例二的封装缓存VCPU工作原理示意图;

图6是本发明的一种基于EPC的报文转发装置实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

本发明实施例的核心构思之一在于,在EPC中引入VCPU,由VCPU接管切换终端的报文转发权限,建立特定路由通道,并在S10切换过程中由VCPU在特定路由通道上进行报文转发,在切换完成后,VCPU交还报文转发权,避免了切换完成后产生大量突发的情况发生,使客户感知不到S10切换的发生。

参照图3,示出了本发明的一种基于EPC的报文转发方法实施例一的步骤流程图,其中,EPC(Evolved Packet Core,核心网络)包括特定VCPU,本发明实施例具体可以包括如下步骤:

步骤101,在S10的切换准备阶段,当所述特定VCPU被触发后,所述特定VCPU从切换终端中接管报文转发权限,并建立用于在S10切换过程中进行所述报文转发的特定路由通道;

步骤102,在S10的切换执行阶段,所述特定VCPU在所述特定路由通道中进行报文转发;

步骤103,在S10的切换后期阶段,所述特定VCPU将所述报文转发权限交还所述切换终端,由所述切换终端采用新的路由通道进行报文转发。

在本发明实施例中,在EPC内部架构中引入虚拟处理器VCPU,在S10切换开始后由独立的VCPU接管切换终端的报文转发权限,并建立在切换过程中用于进行报文转发的特定路由通道,在S10切换过程中,由VCPU对业务面的报文进行转发,本发明实施例在切换过程中按照VCPU控制的特定路由通道进行报文转发,避免了切换完成后产生大量突发的情况发生,使客户感知不到S10切换的发生。

另外,由于业务面的报文转发被VCPU接管,信令面快速完成切换之后按照新的UE上下文刷新内部转发路由,减少了S10切换对业务面转发的依赖,缩短了切换时间,提高了切换效率。

参照图4,示出了本发明的一种基于EPC的报文转发方法实施例二的步 骤流程图,本发明实施例在EPC架构的基础上设置有特定VCPU,VCPU是CPU的虚拟化技术,CPU的虚拟化就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

在一种优选实施方式中,EPC中可以设置有VCPU阵列,例如,设计VCPU0到VCPU31等32个VCPU,则特定VCPU可以为针对S10切换而从VCPU阵列中划分出独立的专属VCPU。

本发明实施例可以应用于S10切换流程中的用户面报文转发,具体可以包括如下步骤:

步骤201,在S10的切换准备阶段,当所述特定VCPU被触发后,所述特定VCPU从切换终端中接管报文转发权限,并建立用于在S10切换过程中进行所述报文转发的特定路由通道;

在S10的切换准备阶段(即图2中步骤1-9的阶段),特定VCPU被触发后,可以由该特定VCPU从切换终端中接管用户面的报文(例如UDP、TCP报文)转发权限,在一种实施方式中,根据图2的流程图,当Target MME向Target eNode下发了Handover Request之后,可以由Handover Request触发特定VCPU接管切换终端的用户面转发功能。

应用于本发明实施例,特定VCPU至少可以有两个,包括第一特定VCPU及第二特定VCPU,其中第一特定VCPU完成流量整形的功能,第二特定VCPU完成封装缓存的功能。

需要说明的是,第一特定VCPU及第二特定VCPU可以是专属控制机制独立完成逻辑运算及控制功能的专属的VCPU,即第一特定VCPU为流量整形专属,第二特定VCPU为封装缓存专属;或者,第一特定VCPU及第二特定VCPU也可以是复合的VCPU,每个VCPU复合分担多种功能多种逻辑,本发明实施例对此不作限制,在VCPU资源比较饱和的情况下,可以优选上述第一种方式,以加快数据处理效率。

在本发明实施例的一种优选实施例中,步骤201可以包括如下子步骤:

子步骤S11,在S10的切换准备阶段,当所述第一特定VCPU及所述第 二特定VCPU被触发后,采用第二特定VCPU将指定时间段内进入PGW的每个报文,封装成指定长度的一个或多个数据包;

由于系统无法预估何时产生S10切换,如果在产生S10时才开始进行报文等数据的处理,则处理数据的时间形成的时间差,使得用户感知明显。基于此,本发明实施例对可能到来的S10切换进行预测,估算切换时的预测切换时间及预测切换时长,对预测切换时长的数据进行预处理。

具体的,本发明实施例将预测切换时间以及预测切换时长用指定时间段表示,该指定时间段的起始时间为VCPU被触发后(即Target MME下发Handover Request之后)第一个进入PGW的报文的时间,结束时间为起始时间加上预测切换时长(即本发明的指定时长)得到的时间。

在具体实现中,指定时长可以按照如下方式计算:指定时长=前N次历史切换时长的平均值+/-预设阈值;具体来说,由于S10切换时长根据系统状况在一定范围内变动,如果不设置阈值,则S10切换完成时间过长时,会导致报文发完了S10切换还没结束,客户仍能感觉到下载暂停;S10切换完成时间过短时,会导致S10切换完成之后报文还没有发完,客户仍能感觉到流量激增。因此,本发明实施例采用阈值校验的方法,设置预设阈值,该预设阈值允许预测切换时长在前N次历史切换时长的平均值的基础上上下波动,以对报文完成保护,防止过早或过晚传递。

该预设阈值的初始阈值可以为一个经验值,在后续应用中其可以根据切换实际时长自适应调整。例如,根据过去10次S10历史切换平均时长计算预测切换时长,前9次的平均时长为300ms,第10次的切换时长为500ms,则前10次的历史切换时长的平均值为320ms((300*9+500)/10),可以看出,前9次的平均值与前10次的平均值之间的变动值为20ms,若初始阈值为30ms,此时可以将其调整为20ms,以提高预测切换时长的准确性。

在具体实现中,上述公式中,是增加预设阈值,还是减少预设阈值,可以参考最近一次切换时长作判断,若最近一次S10切换的预测切换时长比实际切换时长要早,则采取增加阈值的策略;否则,采取减少阈值的策略。

应用于本发明实施例,若预测将有S10切换发生,第二特定VCPU可以 对S10发生切换前的指定时间段内进入PGW的每个报文进行分片处理,得到指定长度的一个或多个数据包。在本发明实施例的一种优选实施例中,子步骤S11进一步可以包括如下子步骤:

子步骤S111,在S10的切换准备阶段,当所述第一特定VCPU及所述第二特定VCPU被触发后,用所述第二特定VCPU判断指定时间段内进入PGW的每个报文的长度是否大于或等于所述指定长度;若是,则执行子步骤S112;若否,则执行子步骤S113;

子步骤S112,将所述报文按照所述指定长度划分成一个或多个数据包,若划分成的最后一个数据包的长度小于所述指定长度,则对所述最后一个数据包进行填充,使得所述最后一个数据包的长度为所述指定长度;

子步骤S113,将所述报文封装成一个指定长度的数据包。

具体来说,参考图5的封装缓存VCPU工作原理示意图所示,可以将进入PGW的每个报文看作是变长数据包,将每个报文的长度与指定长度作对比,若报文长度大于或等于该指定长度,则将该报文定义为长包;否则,若报文长度小于该指定长度,则将该报文定义为短包。长包在分片时,选取有效位进行标记,使长包完整传递,对于长包分片后的最后一个数据包的长度若小于指定长度,则按照短包策略处理;对于短包,填充空位,并记录在有效位,使出队时保证按原始报文传递。例如,1个长包分片成三个定长包,在包头标记数据包编号1,2,3,并且在第三个数据包为短包时,在高位补零填充,并在包头标记出其补零的位置,以及,该数据包所属的报文位于原始报文的位置。

如图5所示,每个报文在PGW内部被封装缓存VCPU(即第二特定VCPU)划分为等长的包序列。此外,在包尾设置完整性校验码,以在切换完成以后校验数据包的完整性,确保S10切换完成后数据传递无误。

在实际应用中,分片数据包的指定长度可以自适应运算,并非固定值,以便于读写缓存时对内存的控制。其中,作为一种示例,影响其自适应运算的因素可以包括:缓存区域内报文的数量和所占内存,固定包长的单包文长度,长包的分片和标记,短包的高位补零和标记等等。

本发明实施例采用指定包长分片的方式对报文进行处理,这样所有的报文不管原来的包长和流量如何,在PGW内部被划分为等长的包序列,能够精确计算报文的数目,在传递过程中便于流量控制,减少读写内存的次数。

子步骤S12,采用第一特定VCPU将所述一个或多个数据包存储在预设缓存区域中。

第二特定VCPU将指定时间段内的报文划分成指定长度的数据包序列以后,由第一特定VCPU将该数据包序列依次存储到预设缓存区域中。其中,该缓存区域的大小也并非定长的,而是按需动态更新,由流量整形VCPU(第一特定VCPU)集中管理,忙时增加,闲时释放,防止内存溢出并保证处理达到最优,增加切换过程的安全性,使得切换过程中业务面不再不可控。

在本发明实施例的一种优选实施例中,步骤201还可以包括如下子步骤:

子步骤S13,采用第一特定VCPU监控指定时间段内,进入PGW的报文传递速度,并基于所述传递速度计算所述指定时间段的报文的平均传递速度。

应用于本发明实施例,可以基于第一特定VCPU设置循环计时器,该循环计时器的工作周期即为指定时间段,可以采用循环计时器对切换开始前指定时间段内,进入PGW的报文的传递速度进行监控。在具体实现中,循环计时器在速率监控的时候可以调用PGW上对应的计数器。

由于在移动网络中报文的传递速度很难达到匀速,因此本发明实施例可以基于监控获得的指定时间段内报文的传递速度,计算该指定时间段的报文的平均传递速度,将该平均传递速度作为切换过程中数据包的传递速率,以确保数据包的匀速传递,确保切换期间传递速率是切换前的真实传递速率。

在本发明实施例的一种优选实施例中,步骤201还可以包括如下子步骤:

子步骤S14,若所述指定时间段结束,实际的S10切换没有发生,则更新所述指定时间段,继续执行所述采用第二特定VCPU将指定时间段内进入PGW的每个报文,封装成指定长度的一个或多个数据包以及所述采用第一特定VCPU将所述一个或多个数据包存储在预设缓存区域中的步骤;

子步骤S15,按照所述指定时间段自适应更新所述平均传递速度。

在本发明实施例中,若指定时间段结束,即预测切换时间到达,但实际的S10切换并没有发生,此时,第一特定VCPU预警该产生的切换没有到来,则可以动态更新循环计时器,更新指定时间段,例如,增加相应阈值。

另外,还需要更新该指定时间段的S10切换预处理(该指定时间段对应的报文进行分片及缓存存储的处理,确保数据的不过期),以及,动态更新平均传递速度,以确保切换期间传递速率是切换前的真实传递速率。

除此以外,第一特定VCPU还可以动态刷新产生S10切换时影响的终端的列表信息,例如,对于每一个S10切换可能会影响到的终端,有指针索引指向其路由和缓存处理的数据,对上述路由及数据进行刷新。

在本发明实施例中,特定VCPU从切换终端中接管报文转发权限时,还可以建立专属的特定路由通道,该特定路通道为在S10切换过程中进行缓存区域中数据包转发的通道。在一种实施方式中,特定路由通道可以通过如下方式建立:从PGW中获取S10切换前原有的路由表信息;基于所述路由表信息建立特定路由通道,所述特定路由通道为在S10切换过程中进行报文转发的通道。

在具体实现中,S10切换开始时,协议上会删除原有转发路由通道,在切换完成后按照新的路由通道进行转发,使得S10切换过程中停止报文转发,切换完成后会有大量突发,用户感知明显。为了克服该问题,在本发明实施例中,特定VCPU可以从PGW当中获取S10切换前原有的路由表信息(该路由表为三层转发路由表),基于该路由表信息建立用于在S10切换过程中进行报文转发的专用的特定路由通道(即L3转发隧道),并完成该隧道的Qos功能,以在切换过程中维持报文的转发。

步骤202,在S10的切换执行阶段,所述特定VCPU在所述特定路由通道中进行报文转发;

在一种实施方式中,步骤202具体可以为:在S10的切换执行阶段,采用所述第一特定VCPU将缓存区域中的数据包按照所述平均传递速度,在特定路由通道中传递。

根据本发明实施例,在S10切换过程中,上下行业务报文不再表现为简 单的固定缓存FIFO模式,而是可以由第一特定VCPU对缓存区域中的数据包的读写进行管理,对缓存区域中的数据包的出队入队进行调度,保证UDP、TCP报文均按照原有时序准确发送至目的终端。

在S10的切换执行阶段,第一特定VCPU对上下行报文采用循环计数器缓存的平均传递速度,从缓存区域中取数据包在特定路由通道上进行上下行传递,避免丢包、掉坑或大流量突发的情况发生,在大流量、高保真的应用当中,终端用户由于获得匀速的业务报文,不会感知到速率发生变化,使S10切换在用户无感知的情况下平滑完成,并继续进行相关业务,例如,用户在使用终端观看视频和语音时,不会感受到业务的卡顿和失真,如果观察下载进程,也不会看到流量的暂停和突发。

步骤203,在S10的切换后期阶段,所述特定VCPU将所述报文转发权限交还所述切换终端,由所述切换终端采用新的路由通道进行报文转发;

在S10的切换后期阶段,特定VCPU将所述用户面的报文转发权限交还切换终端,由切换终端采用新的路由通道进行报文转发。在一种实施方式中,根据图2的流程图,当收到UE Context Release Complete之后可以促使特定VCPU交还报文转发权限。

由于业务面转发被VCPU接管,信令面快速完成切换之后按照新的UE上下文刷新内部转发路由,减少了S10切换对业务面转发的依赖,缩短了切换时间,提高了切换效率。

步骤204,所述特定VCPU释放所占资源。

为了节省内存,在S10切换完成后,特定VCPU可以释放所占的资源,包括该VCPU所占的内存资源,例如,删除特定路由通道,特定路由通道是在切换过程中进行报文转发的临时通道,在切换完成后,其工作已经完成,因此,可以删除该特定路由通道,以释放通道所占资源;或者,删除缓存区域中的数据,由于缓存区域中存储的是切换过程中的突发数据,因此,在切换完成以后,缓存区域中的数据可以删除,以归还所占内存空间,等等。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系 列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图6,示出了本发明的一种基于EPC的报文转发装置实施例的结构框图,核心网络EPC包括特定虚拟处理器VCPU,所述装置具体可以包括如下模块:

权限接管模块601,用于在S10的切换准备阶段,当所述特定VCPU被触发后,所述特定VCPU从切换终端中接管报文转发权限,并建立用于在S10切换过程中进行所述报文转发的特定路由通道;

报文转发模块602,用于在S10的切换执行阶段,所述特定VCPU在所述特定路由通道中进行报文转发;

权限交还模块603,用于在S10的切换后期阶段,所述特定VCPU将所述报文转发权限交还所述切换终端,由所述切换终端采用新的路由通道进行报文转发。

在本发明实施例的一种优选实施例中,所述装置还包括:

资源释放模块,用于在所述特定VCPU将所述报文转发权限交还所述切换终端后,所述特定VCPU释放所占资源。

在本发明实施例的一种优选实施例中,所述特定VCPU包括第一特定VCPU及第二特定VCPU,所述权限接管模块601包括:

封装子模块,用于在S10的切换准备阶段,当所述第一特定VCPU及所述第二特定VCPU被触发后,采用所述第二特定VCPU将指定时间段内进入公用数据网网关PGW的每个报文,封装成指定长度的一个或多个数据包;

缓存子模块,用于采用所述第一特定VCPU将所述一个或多个数据包存储在预设缓存区域中。

在本发明实施例的一种优选实施例中,所述权限接管模块还包括:

传递速度计算子模块,用于采用所述第一特定VCPU监控指定时间段 内,进入PGW的报文传递速度,并基于所述传递速度计算所述指定时间段的报文的平均传递速度;

所述报文转发模块602包括:

匀速转发子模块,用于在S10的切换执行阶段,采用所述第一特定VCPU将所述缓存区域中的数据包按照所述平均传递速度,在所述特定路由通道中传递。

在本发明实施例的一种优选实施例中,所述权限接管模块601还包括:

时间段更新子模块,用于在所述指定时间段结束,实际的S10切换没有发生时,更新所述指定时间段;

传递速度更新子模块,用于按照所述指定时间段自适应更新所述平均传递速度。

在本发明实施例的一种优选实施例中,所述指定时间段的起始时间为所述特定VCPU被触发后第一个进入PGW的报文的时间;所述指定时间的结束时间为所述起始时间加上指定时长得到的时间;其中,

指定时长按照如下方式计算:指定时长=前N次历史切换时长的平均值+/-预设阈值;其中,所述预设阈值根据切换实际时长自适应调整。

在本发明实施例的一种优选实施例中,所述封装子模块包括:

判断单元,用于在S10的切换准备阶段,当所述第一特定VCPU及所述第二特定VCPU被触发后,采用所述第二特定VCPU判断指定时间段内进入PGW的每个报文的长度是否大于或等于所述指定长度;若是,则调用划分单元;若否,则调用封装单元;

划分单元,用于将所述报文按照所述指定长度划分成一个或多个数据包,若划分成的最后一个数据包的长度小于所述指定长度,则对所述最后一个数据包进行填充,使得所述最后一个数据包的长度为所述指定长度;

封装单元,用于将所述报文封装成一个指定长度的数据包。

在本发明实施例的一种优选实施例中,所述数据包的至少包头包括:数据包编号,和/或,所述数据包的填充位置,数据包所属的报文位于原始报文的位置;所述数据包的包尾至少包括:完整性校验码,所述完整性校验码用 于在切换完成以后校验数据包的完整性。

在本发明实施例的一种优选实施例中,所述缓存区域的大小按需动态更新。

在本发明实施例的一种优选实施例中,所述权限接管模块601包括:

路由表获取子模块,用于从PGW中获取S10切换前原有的路由表信息;

通道建立子模块,用于基于所述路由表信息建立特定路由通道,所述特定路由通道为在S10切换过程中进行报文转发的通道。

在本发明实施例的一种优选实施例中,所述资源释放模块包括:

通道删除子模块,用于删除特定路由通道;

缓存数据删除子模块,用于删除缓存区域中的数据。

对于装置实施例而言,由于其与上述的方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种基于EPC的报文转发方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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