一种会话恢复方法及其装置转让专利

申请号 : CN202110310764.0

文献号 : CN112969244B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王鑫何彦召张明镇赵文龙

申请人 : 荣耀终端有限公司

摘要 :

本申请实施例公开了一种会话恢复方法以及实现该方法的装置,其中,方法包括:创建用于传输应用的数据的第一会话,检测该第一会话的数据传输是否出现异常,并在检测到该第一会话的数据传输异常的情况下,创建第二会话;通过第二会话发送该应用的上行数据;若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则通过第二会话传输该应用的后续数据。通过实施本申请实施例,在检测到第一会话的数据传输异常的情况下,可以通过创建第二会话,并通过第二会话恢复应用的数据传输。

权利要求 :

1.一种会话恢复方法,其特征在于,包括:

创建第一会话,所述第一会话用于传输应用的数据;所述第一会话为根据与所述应用的传输参数匹配的第一会话参数创建;所述传输参数中包括时延;所述第一会话参数中包括用于标识所述第一会话的网络切片类型的S‑NSSAI;

检测所述第一会话的数据传输是否出现异常;

在检测到所述第一会话的数据传输异常的情况下,创建第二会话;所述第二会话为根据第二会话参数创建;所述第二会话参数中包括用于标识所述第二会话的网络切片类型的S‑NSSAI;

通过所述第二会话发送所述应用的上行数据;

若在预设时间段内通过所述第二会话接收到所述上行数据对应的下行数据,则通过所述第二会话传输所述应用的后续数据。

2.根据权利要求1所述的方法,其特征在于,所述创建第二会话,包括:获取所述第一会话的会话参数;

创建会话参数与所述第一会话的会话参数相同的第二会话。

3.根据权利要求1所述的方法,其特征在于,所述创建第二会话,包括:获取所述应用的传输参数;

创建与所述传输参数匹配的第二会话,所述第二会话的会话参数与所述第一会话的会话参数不同。

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若在所述预设时间段内通过所述第二会话接收到所述上行数据对应的下行数据,则更新所述第一会话的会话评分和/或所述第二会话的会话评分;

与所述传输参数匹配的会话为多个,所述第二会话为与所述传输参数匹配的会话中会话评分最高的会话。

5.根据权利要求1~4任一项所述的方法,其特征在于,所述创建第二会话之前,所述方法还包括:释放所述第一会话。

6.根据权利要求1~4任一项所述的方法,其特征在于,所述方法还包括:通过所述第一会话发送所述应用的上行数据;

若在预设时间段内通过所述第二会话接收到所述上行数据对应的下行数据,则通过所述第二会话传输所述应用的后续数据,包括:若在预设时间段内通过所述第二会话接收到所述上行数据对应的下行数据,并且通过所述第二会话接收到所述下行数据的时间早于通过所述第一会话接收到所述下行数据的时间,则通过所述第二会话传输所述应用的后续数据。

7.根据权利要求1~4任一项所述的方法,其特征在于,所述方法还包括:若在所述预设时间段内通过所述第二会话未接收到所述上行数据对应的下行数据,则创建第三会话,所述第三会话的会话参数与所述第二会话的会话参数不同;

通过所述第三会话发送所述应用的上行数据;

若在所述预设时间段内通过所述第三会话接收到所述上行数据对应的下行数据,则通过所述第三会话传输所述应用的后续数据。

8.一种会话恢复装置,其特征在于,包括:

创建模块,用于创建第一会话,所述第一会话用于传输应用的数据;所述第一会话为根据与所述应用的传输参数匹配的第一会话参数创建;所述传输参数中包括时延;所述第一会话参数中包括用于标识所述第一会话的网络切片类型的S‑NSSAI;

所述创建模块,还用于检测所述第一会话的数据传输是否出现异常,并在检测到所述第一会话的数据传输异常的情况下,创建第二会话;所述第二会话为根据第二会话参数创建;所述第二会话参数中包括用于标识所述第二会话的网络切片类型的S‑NSSAI;

通信模块,用于通过所述第二会话发送所述应用的上行数据;

所述通信模块,还用于若在预设时间段内通过所述第二会话接收到所述上行数据对应的下行数据,则通过所述第二会话传输所述应用的后续数据。

9.根据权利要求8所述的装置,其特征在于,所述创建模块用于创建第二会话时,具体用于:获取所述第一会话的会话参数,并创建会话参数与所述第一会话的会话参数相同的第二会话。

10.根据权利要求8所述的装置,其特征在于,所述创建模块用于创建第二会话时,具体用于:获取所述应用的传输参数,并创建与所述传输参数匹配的第二会话,所述第二会话的会话参数与所述第一会话的会话参数不同。

11.根据权利要求10所述的装置,其特征在于,所述装置还包括更新模块;

所述更新模块,用于若在所述预设时间段内通过所述第二会话接收到所述上行数据对应的下行数据,则更新所述第一会话的会话评分和/或所述第二会话的会话评分;与所述传输参数匹配的会话为多个,所述第二会话为与所述传输参数匹配的会话中会话评分最高的会话。

12.根据权利要求8~11任一项所述的装置,其特征在于,所述装置还包括释放模块;

所述释放模块,用于释放所述第一会话。

13.根据权利要求8~11任一项所述的装置,其特征在于,所述通信模块,还用于通过所述第一会话发送所述应用的上行数据;

所述通信模块用于若在预设时间段内通过所述第二会话接收到所述上行数据对应的下行数据,则通过所述第二会话传输所述应用的后续数据时,具体用于:若在预设时间段内通过所述第二会话接收到所述上行数据对应的下行数据,并且通过所述第二会话接收到所述下行数据的时间早于通过所述第一会话接收到所述下行数据的时间,则通过所述第二会话传输所述应用的后续数据。

14.根据权利要求8~11任一项所述的装置,其特征在于,所述创建模块,还用于若在所述预设时间段内通过所述第二会话未接收到所述上行数据对应的下行数据,则创建第三会话,所述第三会话的会话参数与所述第二会话的会话参数不同;

所述通信模块,还用于通过所述第三会话发送所述应用的上行数据;

所述通信模块,还用于若在所述预设时间段内通过所述第三会话接收到所述上行数据对应的下行数据,则通过所述第三会话传输所述应用的后续数据。

15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1~7任一项所述的方法。

说明书 :

一种会话恢复方法及其装置

技术领域

[0001] 本申请涉及通信技术领域,尤其涉及一种会话恢复方法及其装置。

背景技术

[0002] 随着第五代移动通信技术(fifth‑generation,5G)时代的到来,基于移动网络的应用越来越丰富。为了实现5G的应用,首先需要部署5G网络,5G网络的部署方式包括独立组网(standalone,SA),独立组网指的是新建一个现有的网络,包括新基站、新回程链路以及新核心网等。
[0003] SA网络下的数据业务可以经由不同的网络切片传输,网络切片包括三种类型:增强移动宽带(enhance mobile broadband,eMBB)、低时延高可靠连接(ultra‑reliable and low latency communications,URLLC)、大规模物联网(massive machine  type communications,mMTC),通过选择不同类型的网络切片进行数据传输,可以灵活的应对不同的网络应用场景。一个网络切片下可以建立个多个数据网络名称(data network name,DNN)。一个DNN下可以建立多个协议数据单元(packet data unit,PDU)会话,PDU会话可以用于传输应用数据。
[0004] 在会话(例如,PDU会话等会话)的数据传输出现异常的情况下,会导致出现异常的会话对应的应用数据不能正常传输。因此,如何在会话的数据传输出现异常时快速恢复应用数据的正常传输成为亟待解决的技术问题。

发明内容

[0005] 本申请实施例提供了一种会话恢复方法及其装置,可以在第一会话的数据传输异常的情况下,快速恢复应用的数据传输。
[0006] 第一方面,本申请实施例提供了一种会话恢复方法,该方法包括:在检测到第一会话的数据传输异常的情况下,创建第二会话,第一会话用于传输应用的数据;通过第二会话发送该应用的上行数据;若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则通过第二会话传输该应用的后续数据。
[0007] 在该技术方案中,在检测到第一会话的数据传输异常的情况下,通过创建第二会话,即重新建立一条终端设备和应用对应的应用服务器之间的数据传输通道,并通过第二会话发送该应用的上行数据,以检测第二会话的数据传输是否处于正常状态,并在预设时间段内通过第二会话接收到前述上行数据对应的下行数据的情况下,即表明第二会话的数据传输处于正常状态的情况下,通过第二会话传输应用的后续数据,可以快速恢复第一会话对应的应用的数据传输,从而降低第一会话的数据传输出现异常对第一会话对应的应用的数据传输造成的影响。
[0008] 在一种实现方式中,创建第二会话的具体实施方式可以为:获取应用的传输参数,并创建与应用的传输参数匹配的第二会话,第二会话的会话参数与第一会话的会话参数不同。
[0009] 在该技术方案中,第一会话的数据传输出现异常的原因可能是第一会话与应用的传输参数不匹配,也就是说,第一会话的会话参数与应用的传输参数不匹配,因此,在检测到第一会话的数据传输异常的情况下,通过创建与应用的传输参数匹配且会话参数与第一会话的会话参数不同的第二会话,可以使得通过第二会话成功传输应用数据的概率较高,从而有利于快速恢复第一会话对应的应用的数据传输。
[0010] 在一种实现方式中,该方法还可以包括:若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则更新第一会话的会话评分和/或第二会话的会话评分;与传输参数匹配的会话可以为多个,第二会话可以为与传输参数匹配的会话中会话评分最高的会话。
[0011] 在该技术方案中,会话评分越高可以表明该会话的传输性能越好,通过更新第一会话的会话评分和/或第二会话的会话评分,以便于应用后续创建新的会话时,可以选择创建会话评分较高的会话,通过这种方式有利于提高数据传输性能。
[0012] 在一种实现方式中,创建第二会话之前,还可以释放第一会话。
[0013] 在该技术方案中,由于第一会话的数据传输异常,因此无法通过第一会话传输应用数据,通过释放第一会话,可以减少开销。
[0014] 在一种实现方式中,该方法还可以包括:通过第一会话发送应用的上行数据;若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则通过第二会话传输应用的后续数据的具体实施方式可以为:若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,并且通过第二会话接收到前述下行数据的时间早于通过第一会话接收到前述下行数据的时间,则通过第二会话传输应用的后续数据。
[0015] 在该技术方案中,在检测到第一会话的数据传输异常的情况下,通过第一会话和第二会话分别发送应用的上行数据,进而通过优先接收到下行数据的会话传输应用的后续数据,可以尽快发送应用对应的待传输数据,避免应用对应的待传输数据的数据量过大,进而导致终端设备的数据积压严重,甚至导致数据丢失的情况。
[0016] 在一种实现方式中,若在预设时间段内通过第二会话未接收到前述上行数据对应的下行数据,则创建第三会话,第三会话的会话参数与第二会话的会话参数不同;通过第三会话发送应用的上行数据;若在预设时间段内通过第三会话接收到前述上行数据对应的下行数据,则通过第三会话传输应用的后续数据。
[0017] 在该技术方案中,在检测到第一会话的数据传输异常的情况下,若无法通过第二会话成功恢复应用的数据传输,则可以重新创建一个会话参数与第二会话的会话参数不同的第三会话,并通过第三会话发送应用的上行数据,以检测第三会话的数据传输是否处于正常状态,并在预设时间段内通过第三会话接收到前述上行数据对应的下行数据的情况下,即表明第三会话的数据传输处于正常状态的情况下,通过第三会话传输应用的后续数据。由于通过第二会话无法恢复应用的数据传输,因此若终端设备重新创建的第三会话的会话参数与第二会话的会话参数相同,将使得通过第三会话成功恢复应用的数据传输的概率较低,因此,通过重新创建一个会话参数与第二会话的会话参数不同的第三会话,这样有利于提高通过第三会话成功恢复应用的数据传输的概率。
[0018] 第二方面,本申请实施例提供了一种会话恢复装置,该装置具有实现第一方面所提供的会话恢复方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
[0019] 第三方面,本申请实施例提供一种计算机可读存储介质,用于储存为第二方面所述的会话恢复装置所用的计算机程序指令,其包含用于执行上述第一方面所涉及的程序。
[0020] 第四方面,本申请实施例提供一种终端设备,该终端设备包括存储器和处理器,存储器中存储有程序指令,处理器通过总线与存储器连接,处理器调用存储器中存储的程序指令以使终端设备执行第一方面所述的方法。
[0021] 第五方面,本申请实施例提供一种计算机程序产品,该程序产品包括程序,所述程序被执行时实现上述第一方面所述的方法。

附图说明

[0022] 图1是本申请实施例公开的一种会话恢复方法的流程示意图;
[0023] 图2是本申请实施例公开的另一种会话恢复方法的流程示意图;
[0024] 图3是本申请实施例公开的又一种会话恢复方法的流程示意图;
[0025] 图4是本申请实施例公开的一种会话恢复装置的结构示意图;
[0026] 图5是本申请实施例公开的一种终端设备的结构示意图。

具体实施方式

[0027] 下面结合附图对本申请所提供的会话恢复方法及其装置进行详细地介绍。
[0028] 请参见图1,图1是本申请实施例提供的一种会话恢复方法的流程示意图,该方法可以包括但不限于如下步骤:
[0029] 步骤S101:终端设备在检测到第一会话的数据传输异常的情况下,创建第二会话,第一会话用于传输应用的数据。
[0030] 在本申请实施例中,终端设备中可以安装有各种类型的应用,每个应用产生的数据在通过终端设备发送给基站时,可以通过该应用对应的会话实现,也就是说,终端设备中的某个应用在需要进行网络通信时,可以创建一个会话用于传输该应用的数据。需要说明的是,应用对应的会话可以用于传输需要发送给基站的上行数据,也可以用于传输基站发送给安装于终端设备中的该应用的下行数据。换言之,在创建应用对应的会话之后,相当于成功建立了该应用对应的终端设备和该应用对应的应用服务器之间的数据传输通道。
[0031] 在一种实现方式中,终端设备中的每个应用可以对应1个或多个会话。当终端设备中的第一应用仅对应1个会话时,第一应用的所有数据均通过该会话进行传输;当终端设备中的第一应用对应多个会话时,各个会话可以用于传输第一应用的不同数据,例如,各个会话可以用于传输第一应用的不同类型(如语音、视频、图片和文本等)的数据,本申请实施例以终端设备中的每个应用对应1个会话为例进行介绍。
[0032] 在本申请实施例中,终端设备可以检测每个会话的数据传输是否出现异常,以在检测到第一会话的数据传输异常的情况下,尽快恢复第一会话对应的应用的数据传输,从而降低第一会话的数据传输出现异常对第一会话对应的应用的数据传输造成的影响。
[0033] 在一种实现方式中,终端设备检测第一会话的数据传输是否出现异常的具体实施方式可以为:终端设备通过第一会话发送上行数据时,通过计时器进行计时(计时器的初始值为0),若直至计时器的计时时长大于或等于预设时长时,终端设备仍未通过第一会话接收到该上行数据对应的下行数据,则可以表明第一会话的数据传输出现异常;若终端设备通过第一会话接收到该上行数据对应的下行数据时,计时器的计时时长小于预设时长,则表明第一会话的数据传输未出现异常。在一种实现方式中,终端设备通过第一会话发送上行数据的具体实施方式可以为:第一会话对应的应用将上行数据发送给终端设备中的调制解调器,调制解调器接收到上行数据之后,对该上行数据进行调制,然后将调制后的上行数据通过天线发送给基站。
[0034] 在一种实现方式中,第一会话的数据传输出现异常的原因可以是基站与终端设备之间的通信连接断开,也可以是基站发生故障而并未发送数据,也可以是其他常见的原因,本申请实施例对此不作限定。
[0035] 具体的,终端设备在检测到第一会话的数据传输异常的情况下,为了快速恢复第一会话对应的应用的数据传输,可以重新建立一条终端设备和该应用对应的应用服务器之间的数据传输通道,即终端设备可以创建第二会话,并在第二会话的数据传输正常的情况下,通过第二会话传输第一会话对应的应用的数据。在一种实现方式中,当需要创建第二会话时,终端设备中的第一会话对应的应用可以向调制解调器发送创建会话请求,以使调制解调器通过天线将创建会话请求发送给基站,进而创建第二会话。
[0036] 在一种实现方式中,终端设备创建第二会话的具体实施方式可以为:获取第一会话的会话参数,并创建会话参数与第一会话的会话参数相同的第二会话。在本申请实施例中,每个应用对应的会话可以具有会话参数,会话参数可以用于描述该会话适于传输哪种服务需求(如时延、带宽、安全性和可靠性等)的数据,和/或,描述该会话适于传输哪种类型(如语音、视频、图片和文本等)的数据等。在一种实现方式中,本申请实施例中提及的会话(如第一会话、第二会话和后面将提及的第三会话)可以为5G中的PDU会话。
[0037] 当第一会话为5G中的PDU会话时,第一会话的会话参数可以包括但不限于:S‑NSSAI(single network slice selection assistance information)、数据网络名称(data network name,DNN)、PDU会话类型和会话和服务连续性(session and service continuity,SSC)模式。
[0038] 其中,S‑NSSAI用于标识一个网络切片,若第一会话的会话参数中的S‑NSSAI标识的网络切片的类型为URLLC,则表明第一会话适用于传输具有低时延、高可靠服务需求的数据。DNN指一种网络接入技术,是通过终端设备上网时需要配置的一个参数,DNN决定了终端设备通过哪种接入方式来访问网络,对于终端设备用户来说,可以访问的外部网络的类型有很多(如Internet、WAP网站、集团企业内部网络、行业内部专用网络),而不同的接入点所能访问的范围以及接入的方式是不同的,网络侧可以通过DNN确定终端设备激活以后要访问哪个网络,进而为终端设备分配对应网段的互联网协议(Internet Protocol,IP)地址。PDU会话类型用于指示PDU会话的类型,不同类型的PDU会话承载不同类型的协议,PDU会话类型可以包括但不限于互联网协议第4版(internetprotocolversion4,IPv4)、互联网协议第6版(internet protocol version 6,IPv6)、以太网和Unstructured。例如,当PDU会话类型为IPv4时,该PDU会话可以承载IPv4的数据;当PDU会话类型为Unstructured时,该PDU会话可以承载除了IPv4、IPv6和以太网以外的其他协议的数据。SSC模式能够满足终端设备不同的连续性需求,SSC模式可以包括但不限于SSC模式1、SSC模式2和SSC模式3。其中,采用SSC模式1时,网络保留与终端设备的连接;采用SSC模式2时,网络可以释放相应的PDU会话,在一种实现方式中,网络可以触发PDU会话释放并指示终端设备建立一个新PDU会话;采用SSC模式3时,在旧的PDU会话释放之前,网络允许新的PDU会话建立。
[0039] 在本申请实施例中,通过创建会话参数与第一会话的会话参数相同的第二会话,使得第二会话适于传输的数据与第一会话适于传输的数据相同。在一种实现方式中,终端设备创建第一会话的具体实施方式可以为:终端设备获取应用的传输参数,调用用户路由选择策略(user equipment route selection policy,URSP)确定与该应用的传输参数匹配的第一会话参数,根据该第一会话参数创建第一会话。其中,应用的传输参数用于表征该应用的传输需求,应用的传输参数可以包括但不限于:应用需要传输的数据的类型(如语音、视频、图片和文本等)和应用传输数据时的服务需求(如时延、带宽、安全性和可靠性等)。与应用的传输参数匹配的第一会话参数可以指示用于传输该应用的数据的会话应该具有的必要参数。在一种实现方式中,具有第一会话参数的会话可以有一个或多个,当具有第一会话参数的会话有多个时,终端设备根据该第一会话参数创建第一会话的具体实施方式可以为:终端设备获取与该第一会话参数匹配的会话集合,在该会话集合包括的会话中确定第一会话,并创建第一会话。会话集合中的每个会话均可以用于传输应用的数据,但是各个会话传输该应用的数据时的性能可以不同。会话集合中的每个会话的会话参数除了包括第一会话参数以外,还可包括其他会话参数(如第二会话参数),终端设备在会话集合包括的会话中确定第一会话的具体实施可以为:终端设备可以将第二会话参数与应用的传输参数之间的匹配度最高的会话确定为第一会话。会话参数与应用的传输参数之间的匹配度越高,则该会话参数对应的会话传输应用的数据时的性能越好,由于会话集合中的每个会话的会话参数中均包括第一会话参数,且第一会话的会话参数中的第二会话参数与传输参数之间的匹配度高于会话集合中的其他会话的会话参数中的第二会话参数与传输参数之间的匹配度,所以第一会话的会话参数与传输参数之间的匹配度高于会话集合中的其他会话的会话参数与传输参数之间的匹配度,也就是说,在第一会话的数据传输并未出现异常时,第一会话传输应用数据时的性能较好,由于第二会话与第一会话的会话参数相同,因此,可以认为第二会话传输该应用的数据时的性能也较好。
[0040] 需要说明的是,终端设备在获取会话集合时,并未实际创建会话集合中的会话,仅在终端设备确定第一会话之后,才会实际创建第一会话,通过这种方式,可以避免创建会话集合中的所有会话之后,后续仅使用会话集合中的第一会话,而并未使用其他已创建的会话,这样可以避免资源浪费。
[0041] 在一种实现方式中,终端设备创建第二会话的具体实施方式还可以为:获取应用的传输参数,并创建与该传输参数匹配的第二会话,第二会话的会话参数与第一会话的会话参数不同。其中,与传输参数匹配的会话可以为一个或多个,终端设备可以在与传输参数匹配的会话中选择一个会话作为第二会话。当与传输参数匹配的会话为一个,且该会话的会话参数与第一会话的会话参数不同时,终端设备可以将该会话作为第二会话。在一种实现方式中,当与传输参数匹配的会话为多个时,终端设备可以在与传输参数匹配的会话中任意选择一个会话参数与第一会话的会话参数不同会话作为第二会话。在一种实现方式中,终端设备创建与该传输参数匹配的第二会话的具体实施方式还可以为:调用URSP确定与该应用的传输参数匹配的第一会话参数,获取与该第一会话参数匹配的会话集合,除了第一会话以外,在该会话集合包括的会话中确定第二会话,并创建第二会话。在一种实现方式中,当与该第一会话参数匹配的会话集合包括多个会话时,第二会话的会话参数与传输参数之间的匹配度高于会话集合中的其他会话的会话参数与传输参数之间的匹配度。在一种实现方式中,第一会话的数据传输出现异常的原因可以是第一会话与应用的传输参数不匹配,也就是说,第一会话的会话参数与应用的传输参数不匹配,因此,本申请实施例在检测到第一会话的数据传输异常的情况下,通过创建与应用的传输参数匹配且会话参数与第一会话的会话参数不同的第二会话,可以使得通过第二会话成功传输应用数据的概率较高,从而有利于快速恢复第一会话对应的应用的数据传输。
[0042] 在一种实现方式中,每个会话具有会话评分,会话评分越高,表明该会话的传输性能越好。在一种实现方式中,当与传输参数匹配的会话为多个时,终端设备可以在与传输参数匹配的会话中筛选出会话参数与第一会话的会话参数不同的会话,并在会话参数与第一会话的会话参数不同的会话中选择会话评分最高的会话作为第二会话。通过这种方式,一方面可以使得通过第二会话成功传输应用数据的概率较高,另一方面,可以使得通过第二会话传输应用数据的性能较好。
[0043] 在一种实现方式中,终端设备在检测到第一会话的数据传输异常的情况下,可以释放第一会话,然后触发执行创建第二会话的步骤,由于第一会话的数据传输异常,因此无法通过第一会话传输应用数据,通过释放第一会话,可以节省终端设备不必要的开销。
[0044] 在一种实现方式中,第一会话的数据传输出现异常(即直至计时器的计时时长大于或等于预设时长时,终端设备仍未通过第一会话接收到上行数据对应的下行数据)的原因可以是网络时延。在一种实现方式中,终端设备可以在成功创建第二会话之后,才释放第一会话,通过这种方式,终端设备在成功创建第二会话之前,若通过第一会话接收到上行数据对应的下行数据(即第一会话的数据传输出现异常的原因是网络时延),则终端设备可以停止创建第二会话,并通过第一会话继续传输应用的后续数据;若终端设备在成功创建第二会话之后,仍未通过第一会话接收到上行数据对应的下行数据,则终端设备可以释放第一会话,并通过第二会话传输应用的后续数据。通过这种方式,可以避免在成功创建第二会话之前通过第一会话接收到上行数据对应的下行数据时,终端设备释放第一会话导致接收到的下行数据丢失,而后还需要通过创建的第二会话获取丢失的下行数据的情况,有利于避免浪费资源。
[0045] 在一种实现方式中,终端设备可以是用户设备(user equipment,UE)、远程终端、移动终端、无线通信设备或用户装置等,用户设备可以是手机、台式电脑、笔记本电脑或可穿戴设备等。
[0046] 步骤S102:终端设备通过第二会话发送该应用的上行数据。
[0047] 具体的,终端设备创建第二会话之后,可以通过第二会话发送该应用的上行数据,以便检测通过第二会话是否可以成功传输该应用的上行数据,并在通过第二会话可以成功传输该应用的上行数据的情况下,通过第二会话传输该应用的后续数据。在一种实现方式中,若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则表明通过第二会话可以成功传输该应用的数据;若在预设时间段内通过第二会话未接收到前述上行数据对应的下行数据,则表明通过第二会话不能成功传输该应用的数据。
[0048] 在一种实现方式中,终端设备通过第二会话发送的上行数据可以是由该应用产生的且待传输的业务数据,或者,可以是由该应用产生的且用于测试第二会话的有效性的测试数据。例如,通过第二会话发送的上行数据可以是用户数据,或者,当该应用的数据需要通过TCP连接进行传输时,通过第二会话发送的上行数据可以是建立TCP连接过程中发送的握手数据包(如同步序列编号(Synchronize Sequence Numbers,SYN))。
[0049] 在一种实现方式中,终端设备通过第二会话发送的上行数据的数据量小于预设数据量阈值,通过这种方式,一方面,可以达到测试第二会话的有效性的目的;另一方面,可以避免发送的上行数据的数据量较大而并未接收到对应的下行数据时,浪费终端设备过多的资源。其中,预设数据量阈值可以是终端设备默认设置的,也可以是终端设备根据用户操作设置的,本申请实施例对此不作限定。
[0050] 步骤S103:若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则终端设备通过第二会话传输该应用的后续数据。
[0051] 具体的,若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则表明第二会话的数据传输处于正常状态,因此,终端设备可以通过第二会话传输该应用的后续数据。在一种实现方式中,预设时间段可以是终端设备默认设置的,也可以是终端设备根据用户操作设置的,本申请实施例对此不作限定。
[0052] 在一种实现方式中,终端设备可以将应用对应的各个会话的会话评分初始化为相同的分数(如预设基准分数),若在检测到第一会话的数据传输异常的情况下,则降低第一会话的会话评分;若第一会话从被创建到应用无数据传输需求之后第一会话正常被释放的数据传输过程中并未出现异常的情况下,则提高第一会话的会话评分。
[0053] 在一种实现方式中,若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则终端设备可以更新第一会话的会话评分和/或第二会话的会话评分,具体的,终端设备可以降低第一会话的会话评分,和/或,提高第二会话的会话评分,以便于该应用后续创建新的会话时,可以选择创建会话评分较高的会话,由于会话评分越高表明该会话的传输性能越好,因此,通过这种方式有利于提高数据传输性能。在一种实现方式中,终端设备在创建第二会话的过程中,若与传输参数匹配的会话为多个,则终端设备创建的第二会话可以为与传输参数匹配的会话中会话评分最高的会话。
[0054] 可见,通过实施本申请实施例,在检测到第一会话的数据传输异常的情况下,通过创建第二会话,即重新建立一条终端设备和应用对应的应用服务器之间的数据传输通道,并通过第二会话发送该应用的上行数据,以检测第二会话的数据传输是否处于正常状态,并在预设时间段内通过第二会话接收到前述上行数据对应的下行数据的情况下,即表明第二会话的数据传输处于正常状态的情况下,通过第二会话传输应用的后续数据,可以快速恢复第一会话对应的应用的数据传输,从而降低第一会话的数据传输出现异常对第一会话对应的应用的数据传输造成的影响。
[0055] 请参见图2,图2是本申请实施例提供的另一种会话恢复方法的流程示意图,该方法详细阐述了在检测到第一会话的数据传输异常的情况下,在创建第二会话之后,在第一会话和第二会话中如何选择一个会话用于传输应用的后续数据,该方法可以包括但不限于如下步骤:
[0056] 步骤S201:终端设备在检测到第一会话的数据传输异常的情况下,创建第二会话,第一会话用于传输应用的数据。
[0057] 具体的,终端设备在检测到第一会话的数据传输异常的情况下,可以保持第一会话,并创建第二会话,进而在第一会话和第二会话中选择一个会话用于传输应用的后续数据。需要说明的是,步骤S201的执行过程可参见图1中步骤S101的具体描述,在此不赘述。
[0058] 步骤S202:终端设备通过第二会话发送该应用的上行数据,并通过第一会话发送该应用的上行数据。
[0059] 具体的,终端设备可以通过第二会话发送该应用的上行数据,并通过第一会话发送相同的上行数据,进而在优先通过哪一个会话接收到上行数据对应的下行数据的情况下,通过优先接收到下行数据的会话传输应用的后续数据。
[0060] 在一种实现方式中,终端设备可以同时通过第一会话和第二会话发送该应用的上行数据,或者,终端设备也可以先通过第一会话发送该应用的上行数据,后通过第二会话发送该应用的上行数据,或者,终端设备也可以先通过第二会话发送该应用的上行数据,后通过第一会话发送该应用的上行数据,本申请实施例对此不作限定。
[0061] 步骤S203:若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,并且通过第二会话接收到该下行数据的时间早于通过第一会话接收到该下行数据的时间,则终端设备通过第二会话传输该应用的后续数据。
[0062] 具体的,若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,并且通过第二会话接收到该下行数据的时间早于通过第一会话接收到该下行数据的时间,则终端设备可以通过第二会话传输该应用的后续数据。也就是说,不管终端设备先通过哪个会话(第一会话或第二会话)发送应用的上行数据,终端设备均可以将先接收到上行数据对应的下行数据的会话作为传输应用的后续数据的会话,即若在预设时间段内通过第一会话接收到前述上行数据对应的下行数据,并且通过第一会话接收到该下行数据的时间早于通过第二会话接收到该下行数据的时间,则终端设备通过第一会话传输该应用的后续数据。通过这种方式,可以尽快发送应用对应的待传输数据,避免应用对应的待传输数据的数据量过大,进而导致终端设备的数据积压严重,甚至导致数据丢失的情况。
[0063] 在一种实现方式中,终端设备可以获取第一会话从发送上行数据到接收到对应的下行数据之间的时间间隔,并获取第二会话从发送上行数据到接收到对应的下行数据之间的时间间隔,并将时间间隔较短的会话作为传输应用的后续数据的会话。时间间隔越短,可以表明对应的会话的传输性能越好,通过将时间间隔较短的会话作为传输应用的后续数据的会话,有利于提高终端设备的数据传输性能。
[0064] 在一种实现方式中,若在预设时间段内通过第一会话和第二会话均未接收到前述上行数据对应的下行数据,则表明通过第一会话和第二会话均不能恢复应用的数据传输,此时,终端设备可以释放新建的会话(即第二会话),以降低终端设备的功耗。
[0065] 通过实施本申请实施例,在检测到第一会话的数据传输异常的情况下,可以通过第一会话和第二会话分别发送应用的上行数据,进而通过优先接收到下行数据的会话传输应用的后续数据,通过这种方式,可以尽快发送应用对应的待传输数据,避免应用对应的待传输数据的数据量过大,进而导致终端设备的数据积压严重,甚至导致数据丢失的情况。
[0066] 请参见图3,图3是本申请实施例提供的又一种会话恢复方法的流程示意图,该方法详细阐述了在检测到第一会话的数据传输异常的情况下,在创建第二会话之后,若无法通过第二会话成功恢复应用的数据传输,则采用何种方式恢复应用的数据传输,该方法可以包括但不限于如下步骤:
[0067] 步骤S301:终端设备在检测到第一会话的数据传输异常的情况下,释放第一会话,第一会话用于传输应用的数据。
[0068] 具体的,终端设备在检测到第一会话的数据传输异常的情况下,可以释放第一会话,并重新创建一个新的会话(即第二会话),并判断通过新创建的第二会话是否能够成功恢复应用的数据传输,由于第一会话的数据传输异常,因此无法通过第一会话传输应用数据,通过释放第一会话,可以降低终端设备的开销。
[0069] 步骤S302:终端设备创建第二会话。
[0070] 步骤S303:终端设备通过第二会话发送该应用的上行数据。
[0071] 步骤S304:若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则终端设备通过第二会话传输该应用的后续数据。
[0072] 需要说明的是,步骤S302~步骤S304的执行过程可分别参见图1中步骤S101~步骤S103的具体描述,在此不赘述。
[0073] 步骤S305:若在预设时间段内通过第二会话未接收到前述上行数据对应的下行数据,则释放第二会话。
[0074] 具体的,若在预设时间段内通过第二会话未接收到前述上行数据对应的下行数据,则表明第二会话的数据传输出现异常,或者,第二会话的数据传输性能较低,若终端设备通过第二会话传输应用的后续上行数据,则可能导致无法通过第二会话接收到后续上行数据对应的下行数据,或者,可能导致通过第二会话传输应用的后续数据的性能较低。为了避免上述情况,终端设备可以不通过第二会话传输应用的后续数据,但是为了成功恢复应用的数据传输,终端设备还需要重新创建一个新的会话(如第三会话),并判断通过新创建的第三会话是否能够成功恢复应用的数据传输,由于终端设备不通过第二会话传输应用的后续数据,因此,终端设备可以释放第二会话,以降低终端设备的开销。
[0075] 步骤S306:终端设备创建第三会话,第三会话的会话参数与第二会话的会话参数不同。
[0076] 具体的,由于通过第二会话无法恢复应用的数据传输,因此若终端设备重新创建的第三会话的会话参数与第二会话的会话参数相同,将使得通过第三会话成功恢复应用的数据传输的概率较低,因此,终端设备可以重新创建一个会话参数与第二会话的会话参数不同的第三会话,这样有利于提高通过第三会话成功恢复应用的数据传输的概率。换言之,当第二会话的会话参数与第一会话的会话参数相同时,第三会话的会话参数与第一会话的会话参数不同;当第二会话的会话参数与第一会话的会话参数不同时,第三会话的会话参数可以与第一会话的会话参数相同,也可以与第一会话的会话参数不同,本申请实施例对此不作限定。
[0077] 步骤S307:终端设备通过第三会话发送前述应用的上行数据。
[0078] 具体的,终端设备创建第三会话之后,可以通过第三会话发送该应用的上行数据,以便检测通过第三会话是否可以成功传输该应用的上行数据,并在通过第三会话可以成功传输该应用的上行数据的情况下,通过第三会话传输该应用的后续数据。在一种实现方式中,若在预设时间段内通过第三会话接收到前述上行数据对应的下行数据,则表明通过第三会话可以成功传输该应用的数据;若在预设时间段内通过第三会话未接收到前述上行数据对应的下行数据,则表明通过第三会话不能成功传输该应用的数据。
[0079] 在一种实现方式中,终端设备通过第三会话发送的上行数据可以是由该应用产生的且待传输的业务数据,或者,可以是由该应用产生的且用于测试第三会话的有效性的测试数据。在一种实现方式中,终端设备通过第三会话发送的上行数据的数据量小于预设数据量阈值,通过这种方式,一方面,可以达到测试第三会话的有效性的目的;另一方面,可以避免发送的上行数据的数据量较大而并未接收到对应的下行数据时,浪费终端设备过多的资源。
[0080] 步骤S308:若在预设时间段内通过第三会话接收到前述上行数据对应的下行数据,则终端设备通过第三会话传输前述应用的后续数据。
[0081] 具体的,若在预设时间段内通过第三会话接收到前述上行数据对应的下行数据,则表明第三会话的数据传输处于正常状态,因此,终端设备可以通过第三会话传输该应用的后续数据。
[0082] 通过实施本申请实施例,在检测到第一会话的数据传输异常的情况下,若无法通过第二会话成功恢复应用的数据传输,则可以重新创建一个会话参数与第二会话的会话参数不同的第三会话,并通过第三会话发送应用的上行数据,以检测第三会话的数据传输是否处于正常状态,并在预设时间段内通过第三会话接收到前述上行数据对应的下行数据的情况下,即表明第三会话的数据传输处于正常状态的情况下,通过第三会话传输应用的后续数据。由于通过第二会话无法恢复应用的数据传输,因此若终端设备重新创建的第三会话的会话参数与第二会话的会话参数相同,将使得通过第三会话成功恢复应用的数据传输的概率较低,因此,通过重新创建一个会话参数与第二会话的会话参数不同的第三会话,这样有利于提高通过第三会话成功恢复应用的数据传输的概率。
[0083] 上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
[0084] 请参见图4,图4是本申请实施例提供的一种会话恢复装置的结构示意图,会话恢复装置40用于执行图1‑图3对应的方法实施例中终端设备所执行的步骤,会话恢复装置40可以包括:
[0085] 创建模块401,用于在检测到第一会话的数据传输异常的情况下,创建第二会话,第一会话用于传输应用的数据;
[0086] 通信模块402,用于通过第二会话发送该应用的上行数据;
[0087] 通信模块402,还用于若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则通过第二会话传输该应用的后续数据。
[0088] 在一种实现方式中,创建模块401用于创建第二会话时,具体可以用于:获取第一会话的会话参数,并创建会话参数与第一会话的会话参数相同的第二会话。
[0089] 在一种实现方式中,创建模块401用于创建第二会话时,具体可以用于:获取该应用的传输参数,并创建与传输参数匹配的第二会话,第二会话的会话参数与第一会话的会话参数不同。
[0090] 在一种实现方式中,会话恢复装置40还可以包括更新模块403;更新模块403可以用于若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则更新第一会话的会话评分和/或第二会话的会话评分;与传输参数匹配的会话可以为多个,第二会话可以为与传输参数匹配的会话中会话评分最高的会话。
[0091] 在一种实现方式中,会话恢复装置40还可以包括释放模块404,释放模块404可以用于释放第一会话。
[0092] 在一种实现方式中,通信模块402,还可以用于通过第一会话发送应用的上行数据;402通信模块用于若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则通过第二会话传输应用的后续数据时,具体可以用于:若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,并且通过第二会话接收到前述下行数据的时间早于通过第一会话接收到前述下行数据的时间,则通过第二会话传输应用的后续数据。
[0093] 在一种实现方式中,创建模块401,还可以用于若在预设时间段内通过第二会话未接收到前述上行数据对应的下行数据,则创建第三会话,第三会话的会话参数与第二会话的会话参数不同;通信模块402,还可以用于通过第三会话发送应用的上行数据;通信模块402,还可以用于若在预设时间段内通过第三会话接收到前述上行数据对应的下行数据,则通过第三会话传输应用的后续数据。
[0094] 需要说明的是,图4对应的实施例中未提及的内容以及各个模块执行步骤的具体实现方式可参见图1‑图3所示实施例以及前述内容,这里不再赘述。
[0095] 在一种实现方式中,图4中的各个模块所实现的相关功能可以结合处理器与收发器来实现。参见图5,图5是本申请实施例提供的一种终端设备的结构示意图,该终端设备50可以包括收发器501、处理器502和存储器503,收发器501、处理器502和存储器503可以通过一条或多条通信总线相互连接,也可以通过其它方式相连接。图4所示的创建模块401、通信模块402、更新模块403和释放模块404所实现的相关功能可以通过同一个处理器502来实现,也可以通过多个不同的处理器502来实现。
[0096] 收发器501可以用于发送数据和/或信令,以及接收数据和/或信令。应用在本申请实施例中,收发器501可以用于发送应用的上行数据,还可以用于接收该上行数据对应的下行数据。
[0097] 处理器502被配置为执行图1‑图3所述方法中终端设备相应的功能。该处理器502可以包括一个或多个处理器,例如该处理器502可以是一个或多个中央处理器(central processing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。在处理器502是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
[0098] 存储器503用于存储程序代码等。存储器503可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);存储器503也可以包括非易失性存储器(non‑volatile memory),例如只读存储器(read‑only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid‑state drive,SSD);存储器503还可以包括上述种类的存储器的组合。
[0099] 处理器502可以调用存储器503中存储的程序代码以执行以下操作:
[0100] 在检测到第一会话的数据传输异常的情况下,创建第二会话,第一会话用于传输应用的数据;
[0101] 通过第二会话发送该应用的上行数据;
[0102] 若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则通过第二会话传输该应用的后续数据。
[0103] 在一种实现方式中,处理器502执行创建第二会话时,具体可以执行以下操作:获取第一会话的会话参数,并创建会话参数与第一会话的会话参数相同的第二会话。
[0104] 在一种实现方式中,处理器502执行创建第二会话时,具体可以执行以下操作:获取该应用的传输参数,并创建与传输参数匹配的第二会话,第二会话的会话参数与第一会话的会话参数不同。
[0105] 在一种实现方式中,处理器502还可以执行以下操作:若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则更新第一会话的会话评分和/或第二会话的会话评分;与传输参数匹配的会话可以为多个,第二会话可以为与传输参数匹配的会话中会话评分最高的会话。
[0106] 在一种实现方式中,在创建第二会话之前,处理器502还可以执行以下操作:释放第一会话。
[0107] 在一种实现方式中,处理器502还可以执行以下操作:通过第一会话发送应用的上行数据;,处理器502执行若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,则通过第二会话传输应用的后续数据时,具体可以执行以下操作:若在预设时间段内通过第二会话接收到前述上行数据对应的下行数据,并且通过第二会话接收到前述下行数据的时间早于通过第一会话接收到前述下行数据的时间,则通过第二会话传输应用的后续数据。
[0108] 在一种实现方式中,处理器502还可以执行以下操作:若在预设时间段内通过第二会话未接收到前述上行数据对应的下行数据,则创建第三会话,第三会话的会话参数与第二会话的会话参数不同;通过第三会话发送应用的上行数据;若在预设时间段内通过第三会话接收到前述上行数据对应的下行数据,则通过第三会话传输应用的后续数据。
[0109] 进一步地,处理器502还可以执行图1‑图3所示实施例中终端设备对应的操作,具体可参见方法实施例中的描述,在此不再赘述。
[0110] 本申请实施例还提供一种计算机可读存储介质,可以用于存储图4所示实施例中会话恢复装置所用的计算机软件指令,其包含用于执行上述实施例中为终端设备所设计的程序。
[0111] 上述计算机可读存储介质包括但不限于快闪存储器、硬盘、固态硬盘。
[0112] 本申请实施例还提供一种计算机程序产品,该计算机产品被计算设备运行时,可以执行上述图1‑图3实施例中为终端设备所设计的方法。
[0113] 在本申请实施例中还提供一种芯片,包括处理器和存储器,该存储器用包括处理器和存储器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,该计算机程序用于实现上述方法实施例中的方法。
[0114] 本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0115] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
[0116] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。