CN113382026B - 数据处理方法、装置、相关设备及存储介质 - Google Patents

数据处理方法、装置、相关设备及存储介质 Download PDF

Info

Publication number
CN113382026B
CN113382026B CN202110935838.XA CN202110935838A CN113382026B CN 113382026 B CN113382026 B CN 113382026B CN 202110935838 A CN202110935838 A CN 202110935838A CN 113382026 B CN113382026 B CN 113382026B
Authority
CN
China
Prior art keywords
cloud application
application client
network
cloud
client
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
Application number
CN202110935838.XA
Other languages
English (en)
Other versions
CN113382026A (zh
Inventor
吴家平
李志强
马斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110935838.XA priority Critical patent/CN113382026B/zh
Publication of CN113382026A publication Critical patent/CN113382026A/zh
Application granted granted Critical
Publication of CN113382026B publication Critical patent/CN113382026B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例公开了一种数据处理方法、装置、相关设备及存储介质,其中数据处理方法包括:当云应用客户端从第一网络连接切换到第二网络连接时,获取云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数;多媒体会话是在第一网络连接断开之前通过信令服务器创建的;基于第二网络连接建立云应用客户端与信令服务器之间的通信连接,并将会话保持参数发送至信令服务器,以使信令服务器根据会话保持参数保留多媒体会话;当云应用客户端与云应用传输代理通过第二网络连接建立通信连接时,在云应用客户端与云应用传输代理之间基于所保留的多媒体会话传输云应用的相关数据。采用本申请实施例可在网络切换后快速恢复云应用的运行。

Description

数据处理方法、装置、相关设备及存储介质
技术领域
本申请涉及云游戏技术领域,尤其涉及一种数据处理方法、装置、相关设备及存储介质。
背景技术
云应用是指云应用客户端与云应用服务器端(或者称为云端)互动的应用,云应用客户端的操作同步云端,而占用本地空间也通过云端备份云应用客户端中数据。目前典型的云应用可以包括云安全、云游戏、云安全、云教育以及云社交等等。在各个云应用中,通常会涉及到云应用服务器端和云应用客户端之间互相传输云应用的相关数据,比如云应用服务器端向云应用客户端传输渲染后画面以使云应用客户端进行画面显示,云应用客户端将用户的操控信息传输给云应用服务器端以实现用户对云应用的操控。
云应用客户端和云应用服务器端之间的信息传输是依据云应用客户端和云应用服务器端之间的WebRTC(一种开源的实时音视频通讯方案)对等会话实现的,具体来将,云应用客户端和云应用服务器通过信令服务器互相传输对等连接所需的数据,云应用客户端和云应用服务器端基于对方传输的数据建立两者之间的WebRTC对等会话。
在上述过程中,无论是云应用客户端与信令服务器之间的通信连接,还是云应用客户端与云服务端之间的对等连接,均要求云应用客户端连接到网络,目前在云应用领域中,未考虑到当云应用客户端的网络出现故障时该如何处理。因此,当云应用客户端的网络连接出现故障时,如何快速恢复云应用的正常运行成为云应用领域中当今研究的热点问题之一。
发明内容
本申请实施例提供了一种数据处理方法、装置、相关设备及存储介质,可在云应用客户端网络切换的情况下,极短时间内恢复云应用的正常运行。
一方面,本申请实施例提供了一种数据处理方法,包括:
当云应用客户端从第一网络连接切换到第二网络连接时,获取所述云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数;所述多媒体会话是在所述第一网络连接断开之前通过信令服务器创建的;
基于所述第二网络连接建立所述云应用客户端与所述信令服务器之间的通信连接,并将所述会话保持参数发送至所述信令服务器,以使所述信令服务器根据所述会话保持参数保留所述多媒体会话;
当所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接时,在所述云应用客户端与所述云应用传输代理之间基于所保留的所述多媒体会话传输云应用的相关数据。
一方面,本申请实施例还提供了一种数据处理方法,包括:
当接收到所述云应用客户端通过第二网络连接发起的连接请求时,建立所述云应用客户端与信令服务器之间的通信连接;所述连接请求是所述云应用客户端从第一网络连接切换到第二网络连接且所述云应用客户端与所述信令服务器之间的通信连接断开后发送的;
在建立所述云应用客户端与所述信令服务器之间的通信连接后,如果接收到所述云应用客户端传输的会话保持参数,则根据所述会话保持参数保留所述云应用客户端与所述云应用传输代理之间的多媒体会话,以在所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接后,在所述云应用客户端与所述云应用传输代理之间基于所述多媒体会话传输云应用的相关数据;其中,所述多媒体会话是在所述第一网络断开之前通过信令服务器创建的。
一方面,本申请实施例提供了一种数据处理装置,包括:
获取单元,用于当云应用客户端从第一网络连接切换到第二网络连接时,获取所述云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数;所述多媒体会话是所述第一网络连接断开之前通过信令服务器创建的;
建立单元,用于基于所述第二网络连接建立所述云应用客户端与所述信令服务器之间的通信连接,并将所述会话保持参数发送至所述信令服务器,以使所述信令服务器根据所述会话保持参数保留所述多媒体会话;
传输单元,用于当所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接时,在所述云应用客户端与所述云应用传输代理之间基于保留的所述多媒体会话传输云应用的相关数据。
一方面,本申请实施例还提供了另一种数据处理装置,包括:
建立单元,用于当接收到所述云应用客户端通过第二网络连接发起的连接请求时,建立所述云应用客户端与信令服务器之间的通信连接;所述连接请求是所述云应用客户端从第一网络连接切换到第二网络连接且所述云应用客户端与所述信令服务器之间的通信连接断开后发送的;
处理单元,用于在建立所述云应用客户端与所述信令服务器之间的通信连接后,如果接收到所述云应用客户端传输的会话保持参数,则根据所述会话保持参数保留所述云应用客户端与所述云应用传输代理之间的多媒体会话,以在所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接后,在所述云应用客户端与所述云应用传输代理之间基于所述多媒体会话传输云应用的相关数据;其中,所述多媒体会话是在所述第一网络断开之前通过信令服务器创建的。
一方面,本申请实施例提供了一种数据处理设备,包括:处理器,适用于实现一条或多条计算机程序;以及计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行:
当云应用客户端从第一网络连接切换到第二网络连接时,获取所述云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数;所述多媒体会话是在所述第一网络连接断开之前通过信令服务器创建的;
基于所述第二网络连接建立所述云应用客户端与所述信令服务器之间的通信连接,并将所述会话保持参数发送至所述信令服务器,以使所述信令服务器根据所述会话保持参数保留所述多媒体会话;
当所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接时,在所述云应用客户端与所述云应用传输代理之间基于所保留的所述多媒体会话传输云应用的相关数据。
一方面,本申请实施例提供了一种服务器,包括:处理器,适用于实现一条或多条计算机程序;以及计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行:
当接收到所述云应用客户端通过第二网络连接发起的连接请求时,建立所述云应用客户端与信令服务器之间的通信连接;所述连接请求是所述云应用客户端从第一网络连接切换到第二网络连接且所述云应用客户端与所述信令服务器之间的通信连接断开后发送的;
在建立所述云应用客户端与所述信令服务器之间的通信连接后,如果接收到所述云应用客户端传输的会话保持参数,则根据所述会话保持参数保留所述云应用客户端与所述云应用传输代理之间的多媒体会话,以在所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接后,在所述云应用客户端与所述云应用传输代理之间基于所述多媒体会话传输云应用的相关数据;其中,所述多媒体会话是在所述第一网络断开之前通过信令服务器创建的。
一方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质存储有第一计算机程序,所述第一计算机程序被处理器执行时,用于执行:
当云应用客户端从第一网络连接切换到第二网络连接时,获取所述云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数;所述多媒体会话是在所述第一网络连接断开之前通过信令服务器创建的;
基于所述第二网络连接建立所述云应用客户端与所述信令服务器之间的通信连接,并将所述会话保持参数发送至所述信令服务器,以使所述信令服务器根据所述会话保持参数保留所述多媒体会话;
当所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接时,在所述云应用客户端与所述云应用传输代理之间基于所保留的所述多媒体会话传输云应用的相关数据。
或者,所述计算机存储介质存储有第二计算机程序,所述第二计算机程序被处理器执行时,用于执行:
当接收到所述云应用客户端通过第二网络连接发起的连接请求时,建立所述云应用客户端与信令服务器之间的通信连接;所述连接请求是所述云应用客户端从第一网络连接切换到第二网络连接且所述云应用客户端与所述信令服务器之间的通信连接断开后发送的;
在建立所述云应用客户端与所述信令服务器之间的通信连接后,如果接收到所述云应用客户端传输的会话保持参数,则根据所述会话保持参数保留所述云应用客户端与所述云应用传输代理之间的多媒体会话,以在所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接后,在所述云应用客户端与所述云应用传输代理之间基于所述多媒体会话传输云应用的相关数据;其中,所述多媒体会话是在所述第一网络断开之前通过信令服务器创建的。
一方面,本申请实施例提供了一种计算机程序产品或计算机程序,所述计算机程序产品包括第一计算机程序或第二计算机程序,所述第一计算机程序或所述第二计算机程序存储在计算机存储介质中;数据处理设备的处理器从所述计算机存储介质中读取所述第一计算机程序,所述处理器执行所述第一计算机程序,使得数据处理设备执行:
当云应用客户端从第一网络连接切换到第二网络连接时,获取所述云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数;所述多媒体会话是在所述第一网络连接断开之前通过信令服务器创建的;
基于所述第二网络连接建立所述云应用客户端与所述信令服务器之间的通信连接,并将所述会话保持参数发送至所述信令服务器,以使所述信令服务器根据所述会话保持参数保留所述多媒体会话;
当所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接时,在所述云应用客户端与所述云应用传输代理之间基于所保留的所述多媒体会话传输云应用的相关数据。
或者,服务器的处理器从所述计算机存储介质中读取所述第二计算机程序,所述处理器执行所述第二计算机程序,使得服务器执行:
当接收到所述云应用客户端通过第二网络连接发起的连接请求时,建立所述云应用客户端与信令服务器之间的通信连接;所述连接请求是所述云应用客户端从第一网络连接切换到第二网络连接且所述云应用客户端与所述信令服务器之间的通信连接断开后发送的;
在建立所述云应用客户端与所述信令服务器之间的通信连接后,如果接收到所述云应用客户端传输的会话保持参数,则根据所述会话保持参数保留所述云应用客户端与所述云应用传输代理之间的多媒体会话,以在所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接后,在所述云应用客户端与所述云应用传输代理之间基于所述多媒体会话传输云应用的相关数据;其中,所述多媒体会话是在所述第一网络断开之前通过信令服务器创建的。
本申请实施例中,当云应用客户端从第一网络连接切换到第二网络连接时,云应用客户端获取云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数,该多媒体会话是在第一网络连接断开之前通过信令服务器创建的;基于第二网络连接建立云应用客户端与信令服务器之间的通信连接,并将会话保持参数发送至信令服务器,以使信令服务器根据会话保持参数保留多媒体会话;当云应用客户端与云应用传输代理通过第二网络连接建立通信连接时,在云应用客户端与云应用传输代理之间基于保留的多媒体会话传输云应用的相关数据。从上述数据处理过程可见,在云应用客户端的网络连接发生切换时,只需要重新建立云应用客户端与信令服务器之间的通信连接,以及云应用客户端与云应用传输代理之间的通信连接,而云应用客户端与云应用传输代理之间的多媒体会话是没有被删除的,因此无需重建,这样一来可以省去重建云应用客户端与云应用传输代理之间的多媒体会话产生的延时,可以在云应用客户端的网络连接发生切换时,在较短时间内重新恢复云应用的正常运行。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种创建云游戏客户端与云游戏传输代理之间WebRTC对等连接的示意图;
图1b是本申请实施例提供的一种网络切换后恢复云游戏客户端与云游戏传输代理之间的WebRTC对等连接的示意图;
图1c是本申请实施例提供的另一种网络切换后恢复云游戏客户端与云游戏传输代理之间的WebRTC对等连接的示意图;
图1d是本申请实施例提供的一种数据处理系统的结构示意图;
图2是本申请实施例提供的一种数据处理方法的流程示意图;
图3a是本申请实施例提供的一种云应用客户端从第一网络连接切换到第二网络连接的示意图;
图3b是本申请实施例提供的一种网络切换时云应用客户端与信令服务器建立通信连接的示意图;
图3c是本申请实施例提供的一种网络切换时云应用客户端与云应用传输代理建立通信连接的示意图;
图3d是本申请实施例提供的一种建立云应用客户端与云应用传输代理之间的通信连接的示意图;
图4是本申请实施例提供的另一种数据处理方法的流程示意图;
图5是本申请实施例提供的一种信令服务器保留多媒体会话的流程;
图6是本申请实施例提供的一种数据处理装置的结构示意图;
图7是本申请实施例提供的另一种数据处理装置的结构示意图;
图8是本申请实施例提供的一种数据处理设备的结构示意图;
图9是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
为了便于后面描述,本申请实施例中首先对本申请实施例中涉及到的相关技术进行简单介绍。
云应用是云计算的子集,是云计算技术在应用层的体现,云应用的工作原理是把传统软件本地安装、本地运算的使用方式变为即取即用的服务,通过互联网或局域网连接并操控远程服务器集群,完成业务逻辑或运算任务的一种新型应用。云应用的优点是云应用的应用程序运行在云应用服务器端中,终端中运行云应用客户端,云应用服务器端执行云应用的计算工作比如云游戏渲染,然后将云应用的计算结果传输给云应用客户端进行显示,云应用客户端采集用户的操作信息,将这些操作信息传输给云应用服务器端,以实现云应用服务器端对云应用的操控。其中,云应用可以包括云游戏、云教育、云安全以及云社交等等,云游戏作为云应用中的典型,近年来受到越来越多的关注。云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,玩家游戏终端中可运行云游戏客户端,真正的游戏是在云游戏服务端中运行,并由云游戏服务器端将游戏场景渲染为音视频码流,然后将音视频码流传输给云游戏客户端,由玩家游戏终端对云游戏客户端接收到的音视频码流进行显示。云游戏客户端还用于将玩家的操控信息发送给云游戏服务器端,以实现云游戏服务器端对云游戏的操控。
在很多云应用比如云游戏的运行过程中,涉及到云应用客户端与信令服务器(Signaling Server)的通信连接,以及云应用客户端与云应用传输代理之间的WebRTC对等连接,WebRTC是一种开源的实时音视频通讯方案,在后续的描述中,WebRTC对等连接也可以称为WebRTC会话、多媒体会话。其中,信令服务器与云应用传输代理均可以位于云应用服务器端。在不同的云应用项目中,云应用传输代理可能不同,比如在某些云应用中,云应用传输代理可以是部署在云应用服务器中的一个模块,例如对于云游戏项目GameMatrix来说,云应用传输代理可以是部署在云游戏服务端的一个模块,该模块取名可以为WebRTCProxy;再如,在某些云应用中,云传输代理可以是指云应用服务器。
信令服务器主要用于对云应用传输代理参与的多个WebRTC对等连接进行管理,比如创建云应用传输代理与某个云应用客户端之间的WebRTC对等连接,删除云应用传输代理与某个云应用客户端之间的WebRTC对等连接。对于云游戏项目GameMatrix来说,可以通过云游戏服务器中的gate模块来实现信令服务器的功能。
云应用客户端与信令服务器之间建立通信连接的目的是通过信令服务器与云应用传输代理建立WebRTC对等连接。具体地,当云应用客户端与信令服务器之间建立了通信连接后,信令服务器负责为该云应用客户端和云应用传输代理之间提供信令交换,最后使得该云应用客户端与云应用传输代理之间的WebRTC对等连接创建成功。建立了WebRTC对等连接的云应用客户端与云应用传输代理之间可以传输云应用的音视频流以及控制指令。
下面以云应用为云游戏为例,结合图1a具体介绍建立云应用客户端与信令服务器之间通信连接,以及建立云应用客户端与云应用传输代理之间WebRTC对等连接的流程,假设图1a中云游戏传输代理表示为WebRTCProxy,图1a所示的流程可以包括如下:
s1:云游戏客户端通过WebSocket协议向信令服务器发起连接请求;
s2:信令服务器确定与云游戏客户端进行连接后,信令服务器向云游戏客户端传输一个回调信息,该回调信息通知云游戏客户端已经与信令服务器建立通信连接;
s3:云游戏客户端接收到回调消息后,云游戏客户端发起创建WebRTC对等连接(PeerConnection),并且创建WebRTC offer(offer中能够包含了云游戏客户端所支持的音视频信息,比如H264/H265(一种视频编解码器标准));
s4:云游戏客户端将创建的offer通过信令服务器转发给云游戏传输代理WebRTCProxy;
s5:云游戏客户端同时会收集ICE Candidate,ICE是一个允许实时对等端(对等端是指需要建立WebRTC对等连接的两端,在图1a中对等端可以指云游戏客户端与云游戏传输代理)发现对方并且彼此连接的协议。通常WebRTC对等连接的两端会收集各自的网际互连协议(Internet Protocol,IP)地址和端口,形成多个候选项ICE candidate,每个候选项中包括一个IP地址和一个端口。
s6:云游戏传输代理WebRTCProxy收到云游戏客户端发送的offer之后,会生成Answer(Answer中包含了云游戏传输代理侧所支持的音视频信息,比如H264/H265(一种视频编解码器标准));云游戏传输代理WebRTCProxy经过信令服务器将Answer发送至云游戏客户端。
s7:云游戏传输代理WebRTCProxy同时也会收集ICE Candidate,并且经过信令服务器,将云游戏传输代理WebRTCProxy收集到的候选项ICE Candidate发送给云游戏客户端。
s8:云游戏客户端和云游戏传输代理WebRTCProxy用各自本地的IP地址和端口和对方传输过来的ICE Candidate中包括的IP地址和端口建立连接,从所有的连接中选出一条最好的连接,建立最终的通信连接。云游戏客户端与云游戏传输代理的通信连接建立成功后,表明云游戏客户端和云游戏传输代理之间的WebRTC对等连接创建成功。
s9:云游戏客户端与云游戏传输代理之间通信连接建立之后,云游戏传输代理WebRTCProxy云游戏的音视频流通过WebRTC对等连接传输给云游戏客户端,云游戏客户端将玩家的操作指令发送至云游戏传输代理WebRTCProxy。
通过上述流程可见,无论是云应用客户端与信令服务器之间的通信连接,还是云应用客户端与云应用传输代理之间的WebRTC对等连接均要求云应用客户端要具有网络连接,一旦云应用客户端的网络连接发生异常,就可能会导致上述连接发生异常,从而导致云应用不能正常运行。为了在云应用客户端的网络连接发生异常时及时恢复云应用的正常运行,本申请实施例提出了数据处理方案:
第一种:当云应用客户端的第一网络连接出现异常时,云应用客户端主动断开与信令服务器之间的通信连接,以及断开云应用客户端与云应用传输代理之间的通信连接,并且信令服务器删除云应用客户端与云应用传输代理之间的WebRTC对等连接。当云应用客户端建立了第二网络连接时,重新建立云应用客户端与信令服务器之间的通信连接,重新为云应用客户端和云应用传输代理传输创建WebRTC对等连接所需的信息以实现重现创建云应用客户端与云应用传输代理之间的WebRTC对等连接。例如,假设云应用是指云游戏,云应用客户端指云游戏客户端,云应用传输代理可以指云游戏传输代理WebRTCProxy,在此假设下,第一种数据处理方案的流程可参见图1b所示;
第二种:云应用客户端和信令服务器预先约定一个多媒体会话保持的会话保持参数;当云应用客户端检查到第一网络连接断开时,断开云应用客户端与信令服务器之间的连接,并且获取上述约定的会话保持参数;当云应用客户端建立了第二网络连接时,云应用客户端基于第二网络连接重新建立与信令服务器之间的连接并且把会话保持参数发送给信令服务器,如图1c所示;云应用客户端接入到信令服务器中,并且接收到云应用客户端发送的会话保持参数后,确定此时云应用客户端只是暂时的出现网络故障,不删除云应用客户端与云应用传输代理之间已经建立的WebRTC对等连接(以下将应用客户端与云应用传输代理之间已经建立的WebRTC对等连接统一简称为多媒体会话),以当云应用客户端与云应用传输代理之间的通信连接重新恢复后,继续基于云应用客户端与云应用传输代理之间的多媒体会话进行云应用的相关数据的传输。以云游戏为例,第二种数据处理方案的流程可参见图1c所示。
从图1b和图1c的对比可以看出,第二种数据处理方案中由于云应用客户端与云应用传输代理之间的多媒体会话没有删除,所以不存在重新建立多媒体会话的流程,也即图1b中步骤s2-s7,取而代之的是重新建立云应用客户端与云应用传输代理之间的通信连接,这样一来,在第二种数据处理方案中,云应用客户端与云应用传输代理之间的多媒体会话可以快速恢复正常,因此,第二种数据处理方案可以减小云应用客户端的网络切换给云应用带来的卡顿,能过缩短云应用恢复正常所需时长。在实践研究中发现,上述图1b中步骤s1-s9耗时是2-3秒,这2-3秒内云应用客户端和云应用传输代理之间的多媒体会话是不通畅的,也就是说在这2-3秒云应用传输代理的音视频流不能传输给云应用客户端,是断开的,对于用户体验来说,是2-3秒的严重卡顿。
基于此,本申请实施例下面将重点介绍第二种数据处理方案。基于上述第二种数据处理方案,本申请实施例提供了一种数据处理系统,参见图1d,为本申请实施例提供的一种数据处理系统的结构示意图,在图1d所示的数据处理系统中包括云应用客户端101和云应用服务器端102,云应用服务器端102中可以包括云应用传输代理1021和信令服务器1022。其中,云应用服务器端102可以是区块链网络中的一个节点,这样一来云应用服务器端102接收或者产生的数据均可以存储在区块链网络中,由于区块链网络的不可篡改性,可以保证数据的安全性和准确性,以防有恶意用户篡改云应用的相关数据。
云应用客户端101和信令服务器1022之间基于WebSocket协议建立通信连接,信令服务器1022与云应用传输代理1021之间也建立通信连接,信令服务器1022负责在云应用客户端101和云应用传输代理1021之间传输一些信令,这些信令可以是用于创建云应用客户端101和云应用传输代理1021之间的多媒体会话时所需的一些协商信息,比如云应用客户端101中所支持的音视频信息比如H264,云应用传输代理1021所支持的音视频信息;再如,云应用客户端101中可连接的IP地址和端口,以及云应用传输代理1021中可供连接的IP地址和端口等等。
云应用客户端101和云应用传输代理1021通过信令服务器1022传输了一些协商信息之后,可以基于这些协商信息创建云应用客户端101与云应用传输代理1021之间的多媒体会话。云应用客户端101和云应用传输代理1021之间进行多媒体会话是基于WebRTC实现的,WebRTC是一种开源的实时音视频通讯方案,云应用客户端101和云应用传输代理1021中均可以包括WebRTC模块,以实现两者之间进行多媒体会话。
云应用客户端101与云应用传输代理1021之间的多媒体会话创建后,云应用传输代理1021可以将云应用的渲染画面传输给云应用客户端101,云应用客户端101显示这些渲染画面;云应用客户端101可以将用户在云应用中的操作指令通过云应用客户端101与云应用传输代理1021之间的多媒体会话传输给云应用传输代理1021,实现对云应用的操控。
在一个实施例中,如果云应用客户端101检测从第一网络连接切换到第二网络连接时,云应用客户端101获取云应用客户端101与信令服务器1022预先约定好的会话保持参数,当云应用客户端101通过第二网络连接与信令服务器1022之间建立了通信连接之后,云应用客户端101将该会话保持参数也发送给信令服务器1022,信令服务器1022接收到该会话保持参数后确定云应用客户端101只是暂时的网络切换,保留云应用客户端101与云应用传输代理1021之间的多媒体会话。
当云应用客户端101与云应用传输代理1021之间的重新建立了通信连接后,云应用客户端101与云应用传输代理1021之间基于信令服务器1022保留的多媒体会话传输云应用的相关数据。在云应用客户端切换网络连接的过程中,云应用客户端与云应用传输代理之间的多媒体会话不需要重建,只要云应用客户端与信令服务器的通信连接,以及云应用客户端与云应用传输代理的通信连接成功建立后,便可以继续基于保留的多媒体会话进行云应用的运行,缩短了网络切换导致云应用卡顿的时长,从而可在网络切换场景下,快速恢复云应用的正常运行。
基于上述第二种数据处理方案以及数据处理系统,本申请实施例提供了一种数据处理方法,参见图2,为本申请实施例提供的一种数据处理方法的流程示意图。图2所示的数据处理方法可由云应用客户端执行,云应用客户端可以运行在任意终端设备中,比如智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等。图2所示的数据处理方法可包括如下步骤:
步骤S201、当云应用客户端从第一网络连接切换到第二网络连接时,获取云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数。
其中,第一网络连接可以是云应用客户端与第一网络之间建立的连接,第二网络连接是指云应用客户端与第二网络之间建立的连接,第一网络和第二网络可以是WIFI网络以及数据流量网络比如4G网络或者5G网络中,任意两个不同的网络。云应用客户端的第一网络连接断开可能是由于第一网络故障、云应用客户端超出第一网络的覆盖范围等多种原因造成的。
在一个实施例中,云应用客户端从第一网络连接切换到第二网络连接的流程可如图3a所示,当云应用客户端的第一网络连接断开时,云应用客户端可以将第一网络标记为不可用网络,比如给第一网络添加一个标记Disconnected,这个标记就表示第一网络不可用;然后建立云应用客户端与第二网络之间的第二网络连接,进一步的,比较第一网络连接的连通性和第二网络连接的连通性,如果第二网络连接的连通性优于第一网络连接的连通性,则云应用客户端由第一网络连接切换为第二网络连接。可选的,云应用客户端中可运行了网络检测代码,云应用客户端通过网络检测代码检测到第一网络连接断开。
云应用客户端与云应用传输代理之间的多媒体会话是在第一网络连接断开之前云应用客户端与云应用传输代理通过信令服务器建立的,具体实现中,云应用客户端与云应用传输代理通过信令服务器建立多媒体会话的流程可参见图1a中相关流程,在此不再赘述。建立云应用客户端与云应用传输代理之间的多媒体会话相当于建立了一个云应用客户单与云应用传输代理之间可以进行会话的会话通道,当云应用客户端与云应用传输代理之间的通信连接建立时,这个会话通道是通畅的,云应用客户端与云应用传输代理可以基于该会话通道进行会话,这里所谓的会话就是指传输一些云应用运行的相关数据,比如云应用的渲染画面,以及用户在云应用客户端中输入的一些操作指令等等。
相反的,如果云应用客户端与云应用传输代理之间的通信未建立时,多媒体会话的会话通道虽然存在,但是却是不通畅的,云应用客户端中产生的用户操作指令不能通过该会话通道传输给云应用传输代理,同样的,云应用传输代理对云应用渲染得到的渲染画面也不能从该会话通道传输给云应用。总结而言,云应用客户端想要通过该多媒体会话与云应用传输代理之间进行云应用的相关数据的传输,则需要保证云应用客户端与云应用传输代理之间的通信连接已建立。
会话保持参数可以是存储在本地的,该会话保持参数可以是云应用客户端与云应用传输代理预先协商的,云应用客户端和信令服务器中各自都存储了该会话保持参数。该会话保持参数用于表示云应用客户端只是暂时出现了网络问题,云应用客户端不是要结束与云应用传输代理的数据传输,因此不需要将多媒体会话删除,而是要保留该多媒体会话。
步骤S202、基于第二网络连接建立云应用客户端与信令服务器之间的通信连接,并将会话保持参数发送至信令服务器,以使信令服务器根据会话保持参数保留多媒体会话。
应当理解的,云应用客户端从第一网络连接切换到第二网络连接所经历的网络变化过程应该是:云应用客户端检测到第一网络连接断开,查找到第二网络,建立第二网络连接。当云应用客户端检测到第一网络连接断开时,云应用客户端与信令服务器之间的通信连接断开,需要说明的是,云应用客户端与信令服务器之间的通信连接断开可以云应用客户端主动断开的,也可以是由于第一网络连接断开而被动断开的。由前述可知,信令服务器负责管理云应用传输代理参与的多媒体会话,具体来说,如果信令服务器监测到云应用传输代理参与的某个多媒体会话中会话对端比如云应用客户端已断开与信令服务器的连接,则信令服务器可以认为该云应用客户端不想继续与云应用传输代理进行多媒体会话,可以将该多媒体会话删除。当下次云应用客户端重新与信令服务器建立通信连接时,云应用客户端与云应用传输代理需要通过图1a中s1-s9重新建立一个多媒体会话。
本申请实施例中云应用客户端只是暂时的网络故障导致云应用客户端与信令服务器之间的通信连接断开,并不是云应用客户端想要结束与云应用传输代理之间的多媒体会话,因此在第一网络连接断开后,如果检测到云应用客户端接入到第二网络连接,云应用客户端及时通过第二网络连接建立与信令服务器之间的通信连接,并且要将会话保持参数发送给信令服务器,该会话保持参数可以表示为keepsession=true,信令服务器接收到该会话保持参数后,便可以知道云应用客户端是由于短暂的网络切换断开了与信令服务器的连接,云应用客户端还想继续与云应用传输代理进行多媒体会话,因此,信令服务器就会继续保留云应用客户端与应用传输代理之间的多媒体会话。上述流程可通过图3b所示,图3b是本申请实施例提供的一种网络切换时云应用客户端与信令服务器之间的通信流程。
与重新建立云应用客户端与云应用传输代理之间的多媒体会话相比,本申请实施例的方案,只需要通过一个预先商定的会话保持参数便可省去重建多媒体会话的流程,缩短了由于网络切换导致云应用卡顿的时间,实现了在云应用客户端的网络连接发生切换时,及时恢复云应用的正常运行。
步骤S203、当云应用客户端与云应用传输代理通过第二网络连接建立通信连接时,在云应用客户端与云应用传输代理之间基于所保留的多媒体会话传输云应用的相关数据。
结合图1a可知,在第一网络连接断开之前,云应用客户端与云应用传输代理通过第一网络连接建立通信连接,具体实现中可以包括:云应用客户端获取云应用传输代理通过信令服务器传输的N个第一网际互连协议IP地址,以及获取云运用客户端对应的M个第二网际互连协议IP地址;通过N个第一网际互连协议地址与M个第二网际互连协议IP地址建立云应用客户端与云应用传输代理之间的通信连接。其中,云应用客户端对应的M个第二网际互连协议地址是云应用客户端接入的网络为云应用客户端分配的,云应用客户端接入的网络可以包括第一网络,也就是说此时云应用客户端只能只与第一网络连接,比如第一网络是wifi,那么云应用客户端此时可能只打开了wifi网络;或者,云应用客户端接入的网络该可以包括第一网络和第二网络,比如云应用客户端所在的数据处理设备既打开了wifi网络,又打开了4G或者5G网络,此时云应用客户端接入到的网络包括wifi网络和4G网络或5G网络。
其中,云应用传输代理传输过来的N个网际互连协议地址可以是分别对应不同的运营商,一个网际互连协议可以对应一个网络运营商,比如参见图3c所示。N个网际互连协议包括3个第一网际互连协议地址,每个第一网际互连协议地址对应一个网络运营商,比如3个第一网际互连协议地址分别为中国移动对应的一个第一网际互连协议,中国联通对应的一个第一网际互连协议,中国电信对应的一个第一网际互连协议地址。
作为一种可选的实施方式,通过N个第一网际互连协议地址与M个第二网际互连协议地址建立云应用客户端与云应用传输代理之间的通信连接,包括:建立所述M个第二网际互连协议地址中每个第二网际互连协议地址与所述N个第一网际互连协议中每个第一网际互连协议地址之间的连接;从多个连接中选择连接评分满足评分条件的,作为所述云应用客户端与所述云应用传输代理之间的通信连接。简单来说,就是建立云应用客户端对应的M个第二网际互连协议地址分别和每个第一网际互连协议地址均进行连接,得到多个连接,然后对每个连接进行评分,选择评分满足评分条件的连接作为云应用客户端与云应用传输代理之间的通信连接,其中,满足评分条件的连接可以是指多个连接中连接评分最大的连接,或者,满足评分条件的连接还可以指连接中连接评分大于某个评分阈值的连接。
作为另一种可选的实施方式,如果云应用客户端接入的网络为第一网络,N个第一网际互连协议地址中每个第一网际互连协议地址对应一个网络运营商,网络运营商可以包括中国电信、中国移动以及中国联通中任意一个;那么通过N个第一网际互连协议地址与M个第二网际互连协议地址建立云应用传输代理之间的通信连接,包括:确定第一网络所属的网络运营商;从N个第一网际互连协议地址中确定与所述第一网络所属的网络运营商相匹配的第一候选网际互连协议地址;将第二网际互连协议地址与所一候选网际互连协议地址进行连接,以建立云应用客户端与云应用传输代理之间的通信连接。也就是说,从N个第一网际互连协议地址中选择与第一网络相同运营商的第一网际互连协议地址进行连接,这是由于如果云应用客户端与云应用传输代理处于同一个运营商的情况下,网络连接是最好的,如果发生跨运营商,比如中国移动下的网络连接到了中国联通下的网络,则网络连接可能会存在严重的丢包情况而导致卡顿。
可选的,云应用客户端可以将第一候选网际互连协议地址添加到候选项ICECandidate中,这样当需要重新将云应用客户端的网际互连协议地址与第一候选网际互连协议地址连接时,云应用客户端可以直接从候选项中获取到第一候选网际互连协议地址,无需重新从N个第一网际互连协议地址中选择。
由前述可知,在云应用客户端由第一网络切换到第二网络后,为了保证云应用客户端与云应用传输代理之间基于之前保留的多媒体会话传输云应用的相关数据,前提是要建立云应用客户端与云应用传输代理之间的通信连接。为了保证云应用客户端与云应用传输代理之间通信连接的稳定性,建立云应用客户端与云应用传输代理之间的通信连接,包括:在云应用客户端从第一网络连接切换到第二网络连接后,获取第二网络为云应用客户端分配的网际互连协议地址;若第二网络所属的网络运营商与第一网络所属的网络运营商不同,则从N个第一网际互连协议地址中确定与第二网络所属的网络运营商相匹配的第二候选网际互连协议地址;将所述第二网络为所述云应用客户端分配的网际互连协议地址与所述第二候选网际互连协议地址进行连接,以建立所述云应用客户端与所述云应用传输代理之间的通信连接。可选的,如果第一候选网际互连协议地址被存储在候选项中,在查找到第二候选网际互连协议地址后,可以将第一候选网际互连协议地址从候选项中删除,将第二候选网际互连协议地址存储到候选项中。
如果第二网络所属的网络运营商和第一网络所属的网络运营商是相同的,那么不用重新从N个第一网际互连协议地址中选择新的候选网际互连协议地址,而是直接将第二网络为云应用客户端分配的网际互连协议地址与第一候选网际互连协议地址进行连接即可。
上述建立云应用客户端与云应用传输代理之间的通信连接的过程可通过图3d表示,在图3d中假设第一网络所属的网络运营商表示为PrevCarrier,第二网络所属的网路运营商表示为CurCarrier。
本申请实施例中,当云应用客户端从第一网络连接切换到第二网络连接时,云应用客户端获取云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数,该多媒体会话是在第一网络连接断开之前通过信令服务器创建的;基于第二网络连接建立云应用客户端与信令服务器之间的通信连接,并将会话保持参数发送至信令服务器,以使信令服务器根据会话保持参数保留多媒体会话;当云应用客户端与云应用传输代理通过第二网络连接建立通信连接时,在云应用客户端与云应用传输代理之间基于保留的多媒体会话传输云应用的相关数据。从上述数据处理过程可见,在云应用客户端的网络连接发生切换时,只需要重新建立云应用客户端与信令服务器之间的通信连接,以及云应用客户端与云应用传输代理之间的通信连接,而云应用客户端与云应用传输代理之间的多媒体会话是没有被删除的,因此无需重建,这样一来可以省去重建云应用客户端与云应用传输代理之间的多媒体会话产生的延时,可以在云应用客户端的网络连接发生切换时,在较短时间内重新恢复云应用的正常运行。
基于上述的数据处理方法的实施例,本申请实施例提供了另一种数据处理方法,参见图4,为本申请实施例提供的另一种数据处理方法的流程示意图。图4所述的数据处理方法可由信令服务器执行,具体可由信令服务器的处理器执行。图4所述的数据处理方法可包括如下步骤:
步骤S401、当接收到云应用客户端通过第二网络连接发起的连接请求时,建立云应用客户端与信令服务器之间的通信连接。
其中,该连接请求是在云应用客户端从第一网络连接切换到第二网络连接后,云应用客户端与信令服务器之间的通信连接断开后发送的。如果信令服务器同意建立与云应用客户之间的通信连接,则信令服务器可以向云应用客户端返回一个已连接的回调信息,云应用客户端接收到该回到信息便知道云应用客户端与信令服务器之间的通信连接已建立。
步骤S402、在建立云应用客户端与信令服务器之间的通信连接后,如果接收到云应用客户端传输的会话保持参数,则根据会话保持参数保留云应用客户端与云应用传输代理之间的多媒体会话。
云应用客户端与信令服务器建立连接后,如果信令服务器接收到云应用客户端发送过来的会话保持参数,则表明云应用客户端想要保留在网络切换之前,云应用客户端与云应用传输代理之间建立的多媒体会话,因此,信令服务器根据该会话保持参数执行保留云应用客户端与云应用传输代理之间的多媒体会话的操作。具体实现中,信令服务器从本地存储中查找是否存在与会话保持参数相匹配的参数,如果存在,则保留所述云应用客户端与云应用传输代理之间的多媒体会话。应当理解的,信令服务器和云应用客户端之间预先会商定一些参数,以及这些参数的含义,当彼此接收到预先商定的参数时,可以基于这些参数的含义执行相应操作。
在实际应用中,不排除在云应用客户端的第一网络连接断开,并且在云应用客户端向信令服务器发送会话保持参数之前,信令服务器可能已经将云应用客户端与云应用传输代理之间的多媒体会话删除,此时即使来了会话保持参数,信令服务器中也不存在上述的多媒体会话了,此时可能需要重新创建云应用客户端与云应用传输代理之间的多媒体会话。因此,信令服务器根据会话保持参数保留云应用客户端与应用传输代理之间的多媒体会话时,还需要判断信令服务器中是否存在需要保留的多媒体会话。参见图5,为本申请实施例提供的一种信令服务器保留多媒体会话的示意图,信令服务器与云应用客户端建立了通信连接后,接收到云应用客户端发送过来的会话保持参数;进一步的,判断信令服务器的数据库中是否存在会话保持参数所指示保留的多媒体会话;如果存在,则可以通知云应用客户端可以基于该多媒体会话与云应用传输代理进行会话;如果未接收到云应用客户端发送过来的会话保持参数,或者接收到会话保持参数,但是在数据库中未查找到会话保持参数所指示保留的多媒体会话,则信令服务器可以通知云应用客户端需要创建新的多媒体会话,并将新建的多媒体会话保存在数据库中,当云应用客户端与云应用传输代理之间的通信连接建立后,可以基于新的多媒体会话进行会话。
由前述可知,云应用客户端与云应用传输代理之间的通信连接是需要通过信令服务器建立的,具体可以是信令服务器接收所述云应用传输代理发送的N个第一网际互连协议地址,并将所述N个第一网际互协议地址转发至所述云应用客户端,以使所述云应用客户端通过所述N个第一网际互连地址与云应用客户端对应的M个网际互连协议地址建立所述云应用客户端与所述云应用传输代理之间的连接;其中,所述云应用客户端对应的M个第二网际互连协议地址是所述云应用客户端接入的网络为所述云应用客户端分配的,所述云应用客户端接入的网络包括第一网络;或者,所述云应用客户端接入的网络包括所述第一网络和第二网络。以及,信令服务器还接收所述云应用客户端发送的所述云应用客户端对应的M个网际互连协议地址,并将所述M个第二网际互连协议地址转发至所述云应用传输代理,以使所述云应用传输代理通过所述N个第一网际互连协议地址和所述M个第二网际互连协议地址建立所述云应用传输代理与所述云应用客户端建立通信连接。
本申请实施例中,当云应用客户端从第一网络连接切换到第二网络连接时,云应用客户端获取云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数,该多媒体会话是在第一网络连接断开之前通过信令服务器创建的;基于第二网络连接建立云应用客户端与信令服务器之间的通信连接,并将会话保持参数发送至信令服务器,以使信令服务器根据会话保持参数保留多媒体会话;当云应用客户端与云应用传输代理通过第二网络连接建立通信连接时,在云应用客户端与云应用传输代理之间基于保留的多媒体会话传输云应用的相关数据。从上述数据处理过程可见,在云应用客户端的网络连接发生切换时,只需要重新建立云应用客户端与信令服务器之间的通信连接,以及云应用客户端与云应用传输代理之间的通信连接,而云应用客户端与云应用传输代理之间的多媒体会话是没有被删除的,因此无需重建,这样一来可以省去重建云应用客户端与云应用传输代理之间的多媒体会话产生的延时,可以在云应用客户端的网络连接发生切换时,在较短时间内重新恢复云应用的正常运行。
基于上述的数据处理方法的实施例,本申请实施例提供了一种数据处理装置,参见图6,为本申请实施例提供的一种数据处理装置的结构示意图。图6所示的数据处理装置可运行如下单元:
获取单元601,用于当云应用客户端从第一网络连接切换到第二网络连接时,获取所述云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数;所述多媒体会话是所述第一网络连接断开之前通过信令服务器创建的;
建立单元602,用于基于所述第二网络连接建立所述云应用客户端与所述信令服务器之间的通信连接,并将所述会话保持参数发送至所述信令服务器,以使所述信令服务器根据所述会话保持参数保留所述多媒体会话;
传输单元603,用于当所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接时,在所述云应用客户端与所述云应用传输代理之间基于保留的所述多媒体会话传输云应用的相关数据。
在一个实施例中,数据处理装置还包括处理单元604,所述处理单元604用于当所述云应用客户端与所述第一网络连接断开时,将第一网络标记为不可用网络;所述建立单元602,用于建立所述云游戏客户端与第二网络之间的第二网络连接;所述处理单元604还用于比较所述第一网络连接的连通性和所述第二网络连接的连通性;如果所述第二网络连接的连通性优于所述第一网络连接的连通性,则所述云应用客户端由所述第一网络连接切换到所述第二网络连接。
在一个实施例中,在所述第一网络连接断开之前,所述云应用客户端与所述云应用传输代理通过所述第一网络连接建立通信连接;所述建立单元602在云应用客户端与所述云应用传输代理通过所述第一网络连接建立通信连接时,执行如下步骤:
获取所述云应用传输代理通过所述信令服务器传输的N个第一网际互连协议地址,以及获取所述云应用客户端对应的M个第二网际互连协议地址;通过所述N个第一网际互连协议地址与所述M个第二网际互连协议地址建立所述云应用客户端与所述云应用传输代理之间的通信连接;
其中,所述云应用客户端对应的M个第二网际互连协议地址是所述云应用客户端接入的网络为所述云应用客户端分配的,所述云应用客户端接入的网络包括第一网络;或者,所述云应用客户端接入的网络包括所述第一网络和第二网络。
在一个实施例中,所述建立单元602在所述通过所述N个第一网际互连协议地址与所述M个第二网际互连协议地址建立所述云应用客户端与所述云应用传输代理之间的通信连接时,执行如下步骤:
建立所述M个第二网际互连协议地址中每个第二网际互连协议地址与所述N个第一网际互连协议中每个第一网际互连协议地址之间的连接;
从多个连接中选择连接评分满足评分条件的,作为所述云应用客户端与所述云应用传输代理之间的通信连接。
在一个实施例中,若所述云应用客户端接入的网络为所述第一网络,所述N个第一网际互连协议地址中每个第一网际互连协议对应一个网络运营商,所述建立单元602在通过所述N个第一网际互连协议地址与所述M个第二网际互连协议地址建立所述云应用客户端与所述云应用传输代理之间的通信连接时,执行如下步骤:
确定所述第一网络所属的网络运营商;从所述N个第一网际互连协议地址中确定与所述第一网络所属的网络运营商相匹配的第一候选网际互连协议地址;将所述第二网际互连协议地址与所述第一候选网际互连协议地址进行连接,以建立所述云应用客户端与所述云应用传输代理之间的通信连接。
在一个实施例中,所述获取单元601还用于在所述云应用客户端从所述第一网络连接切换到所述第二网络连接后,获取第二网络为所述云应用客户端分配的网际互连协议地址;
所述处理单元604,还用于若所述第二网络所属的网络运营商与所述第一网络所属的网络运营商不同,则从所述N个第一网际互连协议地址中确定与所述第二网络所属的网络运营商相匹配的第二候选网际互连协议地址;
所述建立单元602,还用于将所述第二网络为所述云应用客户端分配的网际互连协议地址与所述第二候选网际互连协议地址进行连接,以建立所述云应用客户端与所述云应用传输代理之间的通信连接。
根据本申请的一个实施例,图2所示的数据处理方法所涉及各个步骤可以是由图6所示的数据处理装置中的各个单元来执行的。例如,图2所述的步骤S201可由图6所示的数据处理装置中的获取单元601来执行,步骤S202可由图5所示的数据处理装置中的建立单元602来执行,步骤S203可由图6所示的数据处理装置中传输单元603来执行。
根据本申请的另一个实施例,图6所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的数据处理装置,以及来实现本申请实施例数据处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述数据处理设备中,并在其中运行。
本申请实施例中,当云应用客户端从第一网络连接切换到第二网络连接时,云应用客户端获取云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数,该多媒体会话是在第一网络连接断开之前通过信令服务器创建的;基于第二网络连接建立云应用客户端与信令服务器之间的通信连接,并将会话保持参数发送至信令服务器,以使信令服务器根据会话保持参数保留多媒体会话;当云应用客户端与云应用传输代理通过第二网络连接建立通信连接时,在云应用客户端与云应用传输代理之间基于保留的多媒体会话传输云应用的相关数据。从上述数据处理过程可见,在云应用客户端的网络连接发生切换时,只需要重新建立云应用客户端与信令服务器之间的通信连接,以及云应用客户端与云应用传输代理之间的通信连接,而云应用客户端与云应用传输代理之间的多媒体会话是没有被删除的,因此无需重建,这样一来可以省去重建云应用客户端与云应用传输代理之间的多媒体会话产生的延时,可以在云应用客户端的网络连接发生切换时,在较短时间内重新恢复云应用的正常运行。
基于上述的数据处理方法实施例以及数据处理装置实施例,本申请实施例还提供了另一种数据处理装置,参见图7,为本申请实施例提供的另一种数据处理装置的结构示意图。图7所示的数据处理装置可运行如下单元:
建立单元701,用于当接收到所述云应用客户端通过第二网络连接发起的连接请求时,建立所述云应用客户端与信令服务器之间的通信连接;所述连接请求是所述云应用客户端从第一网络连接切换到第二网络连接且所述云应用客户端与所述信令服务器之间的通信连接断开后发送的;
处理单元702,用于在建立所述云应用客户端与所述信令服务器之间的通信连接后,如果接收到所述云应用客户端传输的会话保持参数,则根据所述会话保持参数保留所述云应用客户端与所述云应用传输代理之间的多媒体会话,以在所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接后,在所述云应用客户端与所述云应用传输代理之间基于所述多媒体会话传输云应用的相关数据;其中,所述多媒体会话是在所述第一网络断开之前通过信令服务器创建的。
在一个实施例中,所述处理单元702在根据所述会话保持参数保留所述云应用客户端与所述云应用传输代理之间的多媒体会话时,执行如下步骤:
如果从本地存储中查找到与所述会话保持参数相匹配的参数,则保留所述云应用客户端与所述云应用传输代理之间的所述多媒体会话。
在一个实施例中,所述数据处理装置还包括接收单元703,所述接收单元703用于接收所述云应用传输代理发送的N个第一网际互连协议地址,并将所述N个第一网际互协议地址转发至所述云应用客户端,以使所述云应用客户端通过所述N个第一网际互连地址与所述云应用客户端对应的M个第二网际互连地址建立所述云应用客户端与所述云应用传输代理之间的通信连接;
其中,所述云应用客户端对应的M个第二网际互连协议地址是所述云应用客户端接入的网络为所述云应用客户端分配的,所述云应用客户端接入的网络包括第一网络;或者,所述云应用客户端接入的网络包括所述第一网络和第二网络。
在一个实施例中,所述接收单元703,还用于接收所述云应用客户端发送的所述云应用客户端对应的M个网际互连协议地址,并将所述M个第二网际互连协议地址转发至所述云应用传输代理,以使所述云应用传输代理通过所述N个第一网际互连协议地址和所述M个第二网际互连协议地址建立所述云应用传输代理与所述云应用客户端建立通信连接。
根据本申请的一个实施例,图4所示的数据处理方法所涉及各个步骤可以是由图7所示的数据处理装置中的各个单元来执行的。例如,图4所述的步骤S401可由图7所示的数据处理装置中的建立单元701来执行,步骤S402可由图7所示的数据处理装置中的处理单元702来执行。
根据本申请的另一个实施例,图7所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图4所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的数据处理装置,以及来实现本申请实施例数据处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述数据处理设备中,并在其中运行。
本申请实施例中,当云应用客户端从第一网络连接切换到第二网络连接时,云应用客户端获取云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数,该多媒体会话是在第一网络连接断开之前通过信令服务器创建的;基于第二网络连接建立云应用客户端与信令服务器之间的通信连接,并将会话保持参数发送至信令服务器,以使信令服务器根据会话保持参数保留多媒体会话;当云应用客户端与云应用传输代理通过第二网络连接建立通信连接时,在云应用客户端与云应用传输代理之间基于保留的多媒体会话传输云应用的相关数据。从上述数据处理过程可见,在云应用客户端的网络连接发生切换时,只需要重新建立云应用客户端与信令服务器之间的通信连接,以及云应用客户端与云应用传输代理之间的通信连接,而云应用客户端与云应用传输代理之间的多媒体会话是没有被删除的,因此无需重建,这样一来可以省去重建云应用客户端与云应用传输代理之间的多媒体会话产生的延时,可以在云应用客户端的网络连接发生切换时,在较短时间内重新恢复云应用的正常运行。
基于上述的方法实施例以及装置实施例,本申请实施例提供了一种数据处理设备,参见图8,为本申请实施例提供的一种数据处理设备的结构示意图。图8所示的数据处理设备中可以运行有云应用客户端,图8所示的数据处理设备可以包括处理器801、输入接口802、输出接口803以及计算机存储介质804。其中,处理器801、输入接口802、输出接口803以及计算机存储介质804可通过总线或其他方式连接。
计算机存储介质804可以存储在数据处理设备的存储器中,所述计算机存储介质804用于存储计算机程序,所述处理器801用于执行所述计算机存储介质804存储的计算机程序。处理器801(或称CPU(Central Processing Unit,中央处理器))是数据处理设备的计算核心以及控制核心,其适于实现一条或多条计算机程序,具体适于加载并执行:
当云应用客户端从第一网络连接切换到第二网络连接时,获取所述云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数;所述多媒体会话是在所述第一网络连接断开之前通过信令服务器创建的;
基于所述第二网络连接建立所述云应用客户端与所述信令服务器之间的通信连接,并将所述会话保持参数发送至所述信令服务器,以使所述信令服务器根据所述会话保持参数保留所述多媒体会话;
当所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接时,在所述云应用客户端与所述云应用传输代理之间基于所保留的所述多媒体会话传输云应用的相关数据。
本申请实施例中,当云应用客户端从第一网络连接切换到第二网络连接时,云应用客户端获取云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数,该多媒体会话是在第一网络连接断开之前通过信令服务器创建的;基于第二网络连接建立云应用客户端与信令服务器之间的通信连接,并将会话保持参数发送至信令服务器,以使信令服务器根据会话保持参数保留多媒体会话;当云应用客户端与云应用传输代理通过第二网络连接建立通信连接时,在云应用客户端与云应用传输代理之间基于保留的多媒体会话传输云应用的相关数据。从上述数据处理过程可见,在云应用客户端的网络连接发生切换时,只需要重新建立云应用客户端与信令服务器之间的通信连接,以及云应用客户端与云应用传输代理之间的通信连接,而云应用客户端与云应用传输代理之间的多媒体会话是没有被删除的,因此无需重建,这样一来可以省去重建云应用客户端与云应用传输代理之间的多媒体会话产生的延时,可以在云应用客户端的网络连接发生切换时,在较短时间内重新恢复云应用的正常运行。
基于上述的方法实施例以及装置实施例,本申请实施例提供了一种服务器,参见图9,为本申请实施例提供的一种服务器的结构示意图,图9所示的服务器可以对应于前述的信令服务器。图9所示的服务器可以包括处理器901、输入接口902、输出接口903以及计算机存储介质904。其中,处理器901、输入接口902、输出接口903以及计算机存储介质904可通过总线或其他方式连接。
计算机存储介质904可以存储在终端的存储器中,所述计算机存储介质904用于存储计算机程序,所述处理器901用于执行所述计算机存储介质904存储的计算机程序。处理器901(或称CPU(Central Processing Unit,中央处理器))是服务器的计算核心以及控制核心,其适于实现一条或多条计算机程序,具体适于加载并执行:
当接收到云应用客户端通过第二网络连接发起的连接请求时,建立所述云应用客户端与信令服务器之间的通信连接;所述连接请求是所述云应用客户端从第一网络连接切换到第二网络连接且所述云应用客户端与所述信令服务器之间的通信连接断开后发送的;
在建立所述云应用客户端与所述信令服务器之间的通信连接后,如果接收到所述云应用客户端传输的会话保持参数,则根据所述会话保持参数保留所述云应用客户端与所述云应用传输代理之间的多媒体会话,以在所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接后,在所述云应用客户端与所述云应用传输代理之间基于所述多媒体会话传输云应用的相关数据;其中,所述多媒体会话是在所述第一网络断开之前通过信令服务器创建的。
本申请实施例中,当云应用客户端从第一网络连接切换到第二网络连接时,云应用客户端获取云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数,该多媒体会话是在第一网络连接断开之前通过信令服务器创建的;基于第二网络连接建立云应用客户端与信令服务器之间的通信连接,并将会话保持参数发送至信令服务器,由信令服务器根据会话保持参数保留多媒体会话;当云应用客户端与云应用传输代理通过第二网络连接建立通信连接时,在云应用客户端与云应用传输代理之间基于保留的多媒体会话传输云应用的相关数据。从上述数据处理过程可见,在云应用客户端的网络连接发生切换时,只需要重新建立云应用客户端与信令服务器之间的通信连接,以及云应用客户端与云应用传输代理之间的通信连接,而云应用客户端与云应用传输代理之间的多媒体会话是没有被删除的,因此无需重建,这样一来可以省去重建云应用客户端与云应用传输代理之间的多媒体会话产生的延时,可以在云应用客户端的网络连接发生切换时,在较短时间内重新恢复云应用的正常运行。
本申请实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是服数据处理设备或者服务器的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括数据处理设备或者服务器的内置存储介质,当然也可以包括数据处理设备或服务器所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了数据处理设备或服务器的操作系统。并且,在该存储空间中还存放了适于被处理器801加载并执行的一条或多条的第一计算机程序或者该存储空间还存放了适于被处理器901加载并执行的一条或多条第二计算机程序。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,所述计算机存储介质中存储的一条或多条第一计算机程序可由处理器801加载并执行:
当云应用客户端从第一网络连接切换到第二网络连接时,获取所述云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数;所述多媒体会话是在所述第一网络连接断开之前通过信令服务器创建的;基于所述第二网络连接建立所述云应用客户端与所述信令服务器之间的通信连接,并将所述会话保持参数发送至所述信令服务器,以使所述信令服务器根据所述会话保持参数保留所述多媒体会话;当所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接时,在所述云应用客户端与所述云应用传输代理之间基于所保留的所述多媒体会话传输云应用的相关数据。
在一个实施例中,所述处理器801还用于:当所述云应用客户端与所述第一网络连接断开时,将第一网络标记为不可用网络;建立所述云游戏客户端与第二网络之间的第二网络连接;比较所述第一网络连接的连通性和所述第二网络连接的连通性;如果所述第二网络连接的连通性优于所述第一网络连接的连通性,则所述云应用客户端由所述第一网络连接切换到所述第二网络连接。
在一个实施例中,在所述第一网络连接断开之前,所述云应用客户端与所述云应用传输代理通过所述第一网络连接建立通信连接;所述处理器801在云应用客户端与所述云应用传输代理通过所述第一网络连接建立通信连接时,执行如下步骤:
获取所述云应用传输代理通过所述信令服务器传输的N个第一网际互连协议地址,以及获取所述云应用客户端对应的M个第二网际互连协议地址;通过所述N个第一网际互连协议地址与所述M个第二网际互连协议地址建立所述云应用客户端与所述云应用传输代理之间的通信连接;
其中,所述云应用客户端对应的M个第二网际互连协议地址是所述云应用客户端接入的网络为所述云应用客户端分配的,所述云应用客户端接入的网络包括第一网络;或者,所述云应用客户端接入的网络包括所述第一网络和第二网络。
在一个实施例中,所述处理器801在通过所述N个第一网际互连协议地址与所述M个第二网际互连协议地址建立所述云应用客户端与所述云应用传输代理之间的通信连接时,执行如下步骤:
建立所述M个第二网际互连协议地址中每个第二网际互连协议地址与所述N个第一网际互连协议中每个第一网际互连协议地址之间的连接;从多个连接中选择连接评分满足评分条件的,作为所述云应用客户端与所述云应用传输代理之间的通信连接。
在一个实施例中,若所述云应用客户端接入的网络为所述第一网络,所述N个第一网际互连协议地址中每个第一网际互连协议对应一个网络运营商,所述处理器801在通过所述N个第一网际互连协议地址与所述M个第二网际互连协议地址建立所述云应用客户端与所述云应用传输代理之间的通信连接时,执行如下步骤:
确定所述第一网络所属的网络运营商;从所述N个第一网际互连协议地址中确定与所述第一网络所属的网络运营商相匹配的第一候选网际互连协议地址;将所述第二网际互连协议地址与所述第一候选网际互连协议地址进行连接,以建立所述云应用客户端与所述云应用传输代理之间的通信连接。
在一个实施例中,所述处理器801还用于执行:
在所述云应用客户端从所述第一网络连接切换到所述第二网络连接后,获取第二网络为所述云应用客户端分配的网际互连协议地址;若所述第二网络所属的网络运营商与所述第一网络所属的网络运营商不同,则从所述N个第一网际互连协议地址中确定与所述第二网络所属的网络运营商相匹配的第二候选网际互连协议地址;将所述第二网络为所述云应用客户端分配的网际互连协议地址与所述第二候选网际互连协议地址进行连接,以建立所述云应用客户端与所述云应用传输代理之间的通信连接。
本申请实施例中,当云应用客户端从第一网络连接切换到第二网络连接时,云应用客户端获取云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数,该多媒体会话是在第一网络连接断开之前通过信令服务器创建的;基于第二网络连接建立云应用客户端与信令服务器之间的通信连接,并将会话保持参数发送至信令服务器,以使信令服务器根据会话保持参数保留多媒体会话;当云应用客户端与云应用传输代理通过第二网络连接建立通信连接时,在云应用客户端与云应用传输代理之间基于保留的多媒体会话传输云应用的相关数据。从上述数据处理过程可见,在云应用客户端的网络连接发生切换时,只需要重新建立云应用客户端与信令服务器之间的通信连接,以及云应用客户端与云应用传输代理之间的通信连接,而云应用客户端与云应用传输代理之间的多媒体会话是没有被删除的,因此无需重建,这样一来可以省去重建云应用客户端与云应用传输代理之间的多媒体会话产生的延时,可以在云应用客户端的网络连接发生切换时,在较短时间内重新恢复云应用的正常运行。
在一个实施例中,所述计算机存储介质中存储一条或多条第二计算机程序可由处理器901加载并执行:
当接收到云应用客户端通过第二网络连接发起的连接请求时,建立所述云应用客户端与信令服务器之间的通信连接;所述连接请求是所述云应用客户端从第一网络连接切换到第二网络连接且所述云应用客户端与所述信令服务器之间的通信连接断开后发送的;
在建立所述云应用客户端与所述信令服务器之间的通信连接后,如果接收到所述云应用客户端传输的会话保持参数,则根据所述会话保持参数保留所述云应用客户端与所述云应用传输代理之间的多媒体会话,以在所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接后,在所述云应用客户端与所述云应用传输代理之间基于所述多媒体会话传输云应用的相关数据;其中,所述多媒体会话是在所述第一网络断开之前通过信令服务器创建的。
在一个实施例中,所述处理器901在根据所述会话保持参数保留所述云应用客户端与所述云应用传输代理之间的多媒体会话时,执行如下步骤:
如果从本地存储中查找到与所述会话保持参数相匹配的参数,则保留所述云应用客户端与所述云应用传输代理之间的所述多媒体会话。
在一个实施例中,所述处理器901还用于执行:接收所述云应用传输代理发送的N个第一网际互连协议地址,并将所述N个第一网际互协议地址转发至所述云应用客户端,以使所述云应用客户端通过所述N个第一网际互连地址与所述云应用客户端对应的M个第二网际互连地址建立所述云应用客户端与所述云应用传输代理之间的通信连接;
其中,所述云应用客户端对应的M个第二网际互连协议地址是所述云应用客户端接入的网络为所述云应用客户端分配的,所述云应用客户端接入的网络包括第一网络;或者,所述云应用客户端接入的网络包括所述第一网络和第二网络。
在一个实施例中,所述处理器901还用于执行:接收所述云应用客户端发送的所述云应用客户端对应的M个网际互连协议地址,并将所述M个第二网际互连协议地址转发至所述云应用传输代理,以使所述云应用传输代理通过所述N个第一网际互连协议地址和所述M个第二网际互连协议地址建立所述云应用传输代理与所述云应用客户端建立通信连接。
本申请实施例中,当云应用客户端从第一网络连接切换到第二网络连接时,云应用客户端获取云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数,该多媒体会话是在第一网络连接断开之前通过信令服务器创建的;基于第二网络连接建立云应用客户端与信令服务器之间的通信连接,并将会话保持参数发送至信令服务器,以使信令服务器根据会话保持参数保留多媒体会话;当云应用客户端与云应用传输代理通过第二网络连接建立通信连接时,在云应用客户端与云应用传输代理之间基于保留的多媒体会话传输云应用的相关数据。从上述数据处理过程可见,在云应用客户端的网络连接发生切换时,只需要重新建立云应用客户端与信令服务器之间的通信连接,以及云应用客户端与云应用传输代理之间的通信连接,而云应用客户端与云应用传输代理之间的多媒体会话是没有被删除的,因此无需重建,这样一来可以省去重建云应用客户端与云应用传输代理之间的多媒体会话产生的延时,可以在云应用客户端的网络连接发生切换时,在较短时间内重新恢复云应用的正常运行。
本申请实施例提供了一种计算机程序或计算机产品,所述计算机产品包括第一计算机程序或第二计算机程序,所述第一计算机程序或所述第二计算机程序存储在计算机存储介质中;数据处理设备的处理器从所述计算机存储介质中读取所述第一计算机程序,执行如图2所示的数据处理方法;以及,服务器的处理器从所述计算机存储介质中读取所述第二计算机程序,执行如图4所示的数据处理方法。

Claims (15)

1.一种数据处理方法,其特征在于,包括:
当云应用客户端从第一网络连接切换到第二网络连接时,获取所述云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数;所述多媒体会话是在所述第一网络连接断开之前通过信令服务器创建的;
基于所述第二网络连接建立所述云应用客户端与所述信令服务器之间的通信连接,并将所述会话保持参数发送至所述信令服务器,以使所述信令服务器根据所述会话保持参数保留所述多媒体会话;
当所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接时,在所述云应用客户端与所述云应用传输代理之间基于所保留的所述多媒体会话传输云应用的相关数据。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述云应用客户端与所述第一网络连接断开时,将第一网络标记为不可用网络;
建立所述云应用客户端与第二网络之间的第二网络连接;
比较所述第一网络连接的连通性和所述第二网络连接的连通性;
如果所述第二网络连接的连通性优于所述第一网络连接的连通性,则所述云应用客户端由所述第一网络连接切换到所述第二网络连接。
3.如权利要求1所述的方法,其特征在于,在所述第一网络连接断开之前,所述云应用客户端与所述云应用传输代理通过所述第一网络连接建立通信连接;所述云应用客户端与所述云应用传输代理通过所述第一网络连接建立通信连接,包括:
获取所述云应用传输代理通过所述信令服务器传输的N个第一网际互连协议地址,以及获取所述云应用客户端对应的M个第二网际互连协议地址;
通过所述N个第一网际互连协议地址与所述M个第二网际互连协议地址建立所述云应用客户端与所述云应用传输代理之间的通信连接;
其中,所述云应用客户端对应的M个第二网际互连协议地址是所述云应用客户端接入的网络为所述云应用客户端分配的,所述云应用客户端接入的网络包括第一网络;或者,所述云应用客户端接入的网络包括第一网络和第二网络。
4.如权利要求3所述的方法,其特征在于,所述通过所述N个第一网际互连协议地址与所述M个第二网际互连协议地址建立所述云应用客户端与所述云应用传输代理之间的通信连接,包括:
建立所述M个第二网际互连协议地址中每个第二网际互连协议地址与所述N个第一网际互连协议中每个第一网际互连协议地址之间的连接;
从多个连接中选择连接评分满足评分条件的,作为所述云应用客户端与所述云应用传输代理之间的通信连接。
5.如权利要求3所述的方法,其特征在于,若所述云应用客户端接入的网络为所述第一网络,所述N个第一网际互连协议地址中每个第一网际互连协议对应一个网络运营商,所述通过所述N个第一网际互连协议地址与所述M个第二网际互连协议地址建立所述云应用客户端与所述云应用传输代理之间的通信连接,包括:
确定所述第一网络所属的网络运营商;
从所述N个第一网际互连协议地址中确定与所述第一网络所属的网络运营商相匹配的第一候选网际互连协议地址;
将所述第二网际互连协议地址与所述第一候选网际互连协议地址进行连接,以建立所述云应用客户端与所述云应用传输代理之间的通信连接。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
在所述云应用客户端从所述第一网络连接切换到所述第二网络连接后,获取第二网络为所述云应用客户端分配的网际互连协议地址;
若所述第二网络所属的网络运营商与所述第一网络所属的网络运营商不同,则从所述N个第一网际互连协议地址中确定与所述第二网络所属的网络运营商相匹配的第二候选网际互连协议地址;
将所述第二网络为所述云应用客户端分配的网际互连协议地址与所述第二候选网际互连协议地址进行连接,以建立所述云应用客户端与所述云应用传输代理之间的通信连接。
7.一种数据处理方法,其特征在于,包括:
当接收到云应用客户端通过第二网络连接发起的连接请求时,建立所述云应用客户端与信令服务器之间的通信连接;所述连接请求是所述云应用客户端从第一网络连接切换到所述第二网络连接且所述云应用客户端与所述信令服务器之间的通信连接断开后发送的;
在建立所述云应用客户端与所述信令服务器之间的通信连接后,如果接收到所述云应用客户端传输的会话保持参数,则根据所述会话保持参数保留所述云应用客户端与云应用传输代理之间的多媒体会话,以在所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接后,在所述云应用客户端与所述云应用传输代理之间基于所述多媒体会话传输云应用的相关数据;其中,所述多媒体会话是在所述第一网络连接断开之前通过所述信令服务器创建的。
8.如权利要求7所述的方法,其特征在于,所述根据所述会话保持参数保留所述云应用客户端与所述云应用传输代理之间的多媒体会话,包括:
如果从本地存储中查找到与所述会话保持参数相匹配的参数,则保留所述云应用客户端与所述云应用传输代理之间的所述多媒体会话。
9.如权利要求7所述的方法,其特征在于,所述方法还包括:
接收所述云应用传输代理发送的N个第一网际互连协议地址,并将所述N个第一网际互协议地址转发至所述云应用客户端,以使所述云应用客户端通过所述N个第一网际互连地址与所述云应用客户端对应的M个第二网际互连地址建立所述云应用客户端与所述云应用传输代理之间的通信连接;
其中,所述云应用客户端对应的M个第二网际互连协议地址是所述云应用客户端接入的网络为所述云应用客户端分配的,所述云应用客户端接入的网络包括第一网络;或者,所述云应用客户端接入的网络包括第一网络和第二网络。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
接收所述云应用客户端发送的所述云应用客户端对应的M个网际互连协议地址,并将所述M个第二网际互连协议地址转发至所述云应用传输代理,以使所述云应用传输代理通过所述N个第一网际互连协议地址和所述M个第二网际互连协议地址建立所述云应用传输代理与所述云应用客户端建立通信连接。
11.一种数据处理装置,其特征在于,包括:
获取单元,用于当云应用客户端从第一网络连接切换到第二网络连接时,获取所述云应用客户端与云应用传输代理之间的多媒体会话的会话保持参数;所述多媒体会话是所述第一网络连接断开之前通过信令服务器创建的;
建立单元,用于基于所述第二网络连接建立所述云应用客户端与所述信令服务器之间的通信连接,并将所述会话保持参数发送至所述信令服务器,以使所述信令服务器根据所述会话保持参数保留所述多媒体会话;
传输单元,用于当所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接时,在所述云应用客户端与所述云应用传输代理之间基于保留的所述多媒体会话传输云应用的相关数据。
12.一种数据处理装置,其特征在于,包括:
建立单元,用于当接收到云应用客户端通过第二网络连接发起的连接请求时,建立所述云应用客户端与信令服务器之间的通信连接;所述连接请求是所述云应用客户端从第一网络连接切换到所述第二网络连接且所述云应用客户端与所述信令服务器之间的通信连接断开后发送的;
处理单元,用于在建立所述云应用客户端与所述信令服务器之间的通信连接后,如果接收到所述云应用客户端传输的会话保持参数,则根据所述会话保持参数保留所述云应用客户端与云应用传输代理之间的多媒体会话,以在所述云应用客户端与所述云应用传输代理通过所述第二网络连接建立通信连接后,在所述云应用客户端与所述云应用传输代理之间基于所述多媒体会话传输云应用的相关数据;其中,所述多媒体会话是在所述第一网络连接断开之前通过所述信令服务器创建的。
13.一种数据处理设备,其特征在于,包括:
处理器,适用于实现一条或多条计算机程序;
计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行如权利要求1-6任一项所述的数据处理方法。
14.一种服务器,其特征在于,包括:
处理器,适用于实现一条或多条计算机程序;
计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行如权利要求7-10任一项所述的数据处理方法。
15.一种计算机存储介质,所述计算机存储介质存储有第一计算机程序或第二计算机程序,所述第一计算机程序被处理器执行时用于执行如权利要求1-6任一项所述的数据处理方法;所述第二计算机程序被处理器执行时用于执行如权利要求7-10任一项所述的数据处理方法。
CN202110935838.XA 2021-08-16 2021-08-16 数据处理方法、装置、相关设备及存储介质 Active CN113382026B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110935838.XA CN113382026B (zh) 2021-08-16 2021-08-16 数据处理方法、装置、相关设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110935838.XA CN113382026B (zh) 2021-08-16 2021-08-16 数据处理方法、装置、相关设备及存储介质

Publications (2)

Publication Number Publication Date
CN113382026A CN113382026A (zh) 2021-09-10
CN113382026B true CN113382026B (zh) 2021-10-29

Family

ID=77577189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110935838.XA Active CN113382026B (zh) 2021-08-16 2021-08-16 数据处理方法、装置、相关设备及存储介质

Country Status (1)

Country Link
CN (1) CN113382026B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095557B (zh) * 2022-01-21 2022-04-12 腾讯科技(深圳)有限公司 数据处理方法、装置、设备以及介质
CN114598738A (zh) * 2022-02-22 2022-06-07 网易(杭州)网络有限公司 数据处理方法、装置、存储介质及计算机设备
CN114844871B (zh) * 2022-03-25 2024-03-26 阿里巴巴(中国)有限公司 云应用的访问方法及装置
CN115086396A (zh) * 2022-04-29 2022-09-20 阿里巴巴(中国)有限公司 传输媒体数据的方法以及系统
CN115529225A (zh) * 2022-09-26 2022-12-27 浙江大华技术股份有限公司 一种设备故障诊断方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2583842T3 (es) * 2012-06-30 2016-09-22 Huawei Technologies Co., Ltd Método, terminal y servidor para restablecer una transmisión de contenido de sesión
US9769214B2 (en) * 2013-11-05 2017-09-19 Avaya Inc. Providing reliable session initiation protocol (SIP) signaling for web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media
US20160191461A1 (en) * 2014-12-31 2016-06-30 Futurewei Technologies, Inc. TURN Relay Service Reuse For NAT Traversal During Media Session Resumption
CN111726384A (zh) * 2019-03-22 2020-09-29 阿里巴巴集团控股有限公司 通信方法及装置
CN111479121B (zh) * 2020-04-08 2021-05-25 北京智能工场科技有限公司 一种基于流媒体服务器的直播方法及系统
CN112218388A (zh) * 2020-09-15 2021-01-12 贵阳朗玛信息技术股份有限公司 一种断网重连的方法及装置
CN112565234B (zh) * 2020-11-30 2022-10-14 武汉烽火众智数字技术有限责任公司 基于WebRTC的跨网传输系统及方法

Also Published As

Publication number Publication date
CN113382026A (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
CN113382026B (zh) 数据处理方法、装置、相关设备及存储介质
CN107172666B (zh) 在移动终端切换通信小区时保持其本地业务的方法及装置
CN111479121B (zh) 一种基于流媒体服务器的直播方法及系统
US8307024B2 (en) Assisted peer-to-peer media streaming
JP4370356B2 (ja) 通信ネットワークの制御システム、通信端末および通信ネットワークの制御方法
JP4213183B2 (ja) 通信ネットワークの制御システム
US9438448B2 (en) Maintaining communication connections during temporary network disruptions
US20160119190A1 (en) Transparent middlebox graceful entry and exit
US20150304364A1 (en) Method, System, and Terminal for Web Real-Time Communication
CN114095557B (zh) 数据处理方法、装置、设备以及介质
US20220209878A1 (en) Method, system and device for pushing information, and storage medium thereof
CN102131152A (zh) 一种维持即时消息业务连续性的方法及系统
WO2023040380A1 (zh) WebRTC通信方法及系统
JP3606770B2 (ja) 通信システム、通信システムに使用するゲートウェイ、無線情報端末、及び無線通信方法。
CN102858025A (zh) 点对点互动操作的方法及设备
CN104660550A (zh) 一种在多服务器之间进行会话迁移的方法
JP3732745B2 (ja) 通信コネクション確立方法
Takasugi et al. Seamless service platform for following a user's movement in a dynamic network environment
JP2004248165A (ja) セッションおよびメディア中継方法、転送方法、ならびにそのプログラムと記録媒体
CN116048538B (zh) 用于dpu的服务网格部署方法及装置
JP2003244204A (ja) 通信コネクション確立方法及び通信制御装置並びに記録媒体及び制御プログラム
US20130067083A1 (en) Transmitting Data Over Multiple Networks
CN102984158B (zh) Voip网络切换方法、系统和装置
JP4229774B2 (ja) セッション制御プログラムと通信端末装置
US11671487B1 (en) Port prediction for peer-to-peer communications

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40051412

Country of ref document: HK