CN114095557B - 数据处理方法、装置、设备以及介质 - Google Patents
数据处理方法、装置、设备以及介质 Download PDFInfo
- Publication number
- CN114095557B CN114095557B CN202210070245.6A CN202210070245A CN114095557B CN 114095557 B CN114095557 B CN 114095557B CN 202210070245 A CN202210070245 A CN 202210070245A CN 114095557 B CN114095557 B CN 114095557B
- Authority
- CN
- China
- Prior art keywords
- cloud application
- edge node
- network
- client
- application 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1045—Proxies, e.g. for session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
Abstract
本申请实施例提供了一种数据处理方法、装置、设备以及介质,该方法涉及云应用技术领域,如具体涉及云游戏的跨运营商网络的切换处理场景;包括:当云应用客户端由第一类型网络切换至第二类型网络时,接收第二类型网络关联的中转边缘节点中的代理流服务所转发的第一连接请求,基于第一连接请求建立云应用客户端与第一类型网络关联的目标边缘节点之间的第一通信连接;第一连接请求是云应用客户端基于第二类型网络发送给代理流服务的,云应用部署在目标边缘节点中;基于第一通信连接,在云应用客户端与目标边缘节点之间通过代理流服务传输云应用中的应用数据。采用本申请实施例,可以降低云应用的传输时延和网络丢包率,进而提升云应用的质量。
Description
技术领域
本申请涉及云技术领域,尤其涉及一种数据处理方法、装置、设备以及介质。
背景技术
云应用是以云计算为基础的应用,在云应用的运行模式下,所有应用程序都在服务器端运行,并将渲染完毕后的画面压缩后通过网络传送给用户。目前的云应用使用场景中,用户可以使用移动终端(例如,手机)来体验云应用,当移动终端处于WiFi(Wireless-Fidelity,无线宽带)环境时,可以通过WiFi启动移动终端中的云应用,此时的云应用可以部署在该WiFi所对应的运营商机房A中,移动终端可以接收并显示该运营商机房A中所渲染的画面,同时也可以将用户操作传输至运营商机房A。
若用户发生移动,则该移动终端的网络可能会从WiFi切换为4G(the 4Generation mobile communication technology,第四代移动通信技术),而这个时候的云应用仍然运行在运营商机房A中,导致使用4G网络的移动终端需要跨运营商网络才能与运营商机房A进行数据传输,如移动终端中的用户操作首先需要传输至4G网络所对应的运营商数据转换机房B(运营商数据转换机房可以部署在几个特定的城市),随后由运营商数据转换机房B将用户操作转发至运营商机房A。其中,运营商转换机房B与运营商机房A通常处于不同的地理区域,该移动终端经过运营商转换机房B与运营商机房A进行跨网数据传输时,可能会造成传输时延并提升网络丢包率,进而导致云应用的质量过低。
发明内容
本申请实施例提供一种数据处理方法、装置、设备以及介质,可以降低云应用的传输时延和网络丢包率,进而提升云应用的质量。
本申请实施例一方面提供了一种数据处理方法,包括:
当云应用客户端由第一类型网络切换至第二类型网络时,接收中转边缘节点中的代理流服务所转发的第一连接请求,基于第一连接请求建立云应用客户端与目标边缘节点之间的第一通信连接;第一连接请求是云应用客户端基于第二类型网络发送给代理流服务的,中转边缘节点与第二类型网络相关联,目标边缘节点与第一类型网络相关联,且云应用部署在目标边缘节点中;
基于云应用客户端与目标边缘节点之间的第一通信连接,在云应用客户端与目标边缘节点之间通过代理流服务传输云应用中的应用数据。
本申请实施例一方面提供了一种数据处理装置,包括:
第一连接建立模块,用于云应用客户端由第一类型网络切换至第二类型网络时,接收中转边缘节点中的代理流服务所转发的第一连接请求,基于第一连接请求建立云应用客户端与目标边缘节点之间的第一通信连接;第一连接请求是云应用客户端基于第二类型网络发送给代理流服务的,中转边缘节点与第二类型网络相关联,目标边缘节点与第一类型网络相关联,且云应用部署在目标边缘节点中;
数据传输模块,用于基于云应用客户端与目标边缘节点之间的第一通信连接,在云应用客户端与目标边缘节点之间通过代理流服务传输云应用中的应用数据。
其中,第一连接建立模块包括:
连接断开单元,用于当云应用客户端由第一类型网络切换至第二类型网络时,断开云应用客户端与目标边缘节点通过第一类型网络建立的第二通信连接;
第一请求接收单元,用于接收中转边缘节点中的代理流服务所转发的第一连接请求,获取第一连接请求对应的第一客户端网络地址;第一客户端网络地址用于表征云应用客户端在第二类型网络中的网络地址;
连接建立单元,用于获取目标边缘节点对应的第一节点网络地址,通过第一客户端网络地址与第一节点网络地址,建立云应用客户端与目标边缘节点之间的第一通信连接。
其中,应用数据包括第一渲染数据;
该装置还包括:
第一渲染数据获取模块,用于获取云应用客户端对应的网络切换时间,在目标边缘节点中以网络切换时间为起始时间,获取云应用中的音频数据和一个或多个渲染画面,将音频数据和一个或多个渲染画面组合为第一渲染数据。
则数据传输模块具体用于:
基于云应用客户端与目标边缘节点之间的第一通信连接,将第一渲染数据传输至代理流服务,以使代理流服务基于路由转发策略,将第一渲染数据对应的源地址由第二客户端网络地址更改为第一客户端网络地址,基于第一客户端网络地址,将第一渲染数据转发给云应用客户端;
其中,第一客户端网络地址用于表征云应用客户端在第二类型网络中的网络地址,第二客户端网络地址用于表征云应用客户端在第一类型网络中的网络地址。
其中,应用数据包括对象操作数据;
数据传输模块具体用于:
基于云应用客户端与目标边缘节点之间的第一通信连接,获取代理流服务通过第一节点网络地址所转发的对象操作数据,根据对象操作数据生成云应用对应的渲染数据;
其中,对象操作数据包括云应用客户端基于云应用展示页面中的触发操作所生成的指令;对象操作数据由云应用客户端传输至代理流服务后,对象操作数据的目的地址由中转边缘节点对应的第二节点网络地址更改为第一节点网络地址。
其中,该装置还包括:
网络类型获取模块,用于当云应用客户端与目标边缘节点通过第一类型网络建立第二通信连接时,获取云应用客户端所支持插入的第一类型网络和第二类型网络;
路由注册模块,用于根据第一类型网络和第二类型网络,获取云应用客户端与目标边缘节点之间的路由注册信息,在代理流服务所包含的路由转发策略中添加路由注册信息。
其中,路由注册模块包括:
第一路由信息生成单元,用于根据目标边缘节点对应的第一节点网络地址,以及中转边缘节点对应的第二节点网络地址,生成云应用客户端与目标边缘节点之间的第一路由转发信息;
第二路由信息生成单元,用于根据云应用客户端在第一类型网络中的第二客户端网络地址,以及云应用客户端在第二类型网络中的第一客户端网络地址,生成目标边缘节点与云应用客户端之间的第二路由转发信息;
路由注册信息确定单元,用于将第一路由转发信息和第二路由转发信息,确定为云应用客户端与目标边缘节点之间的路由注册信息。
其中,该装置还包括:
路由注册信息删除模块,用于当通过代理流服务所传输的应用数据为针对云应用客户端的退出指令时,停止运行目标边缘节点中的云应用,在代理流服务所包含的路由转发策略中,删除云应用客户端与目标边缘节点之间的路由注册信息。
其中,该装置还包括:
云应用启动模块,用于当通过第一类型网络启动云应用客户端时,接收应用客户端通过第一类型网络发送的第二连接请求;第二连接请求是在云应用客户端由第一类型网络切换至第二类型网络之前发送的;
第二连接建立模块,用于获取第二连接请求对应的第二客户端网络地址,通过第二客户端网络地址与第一节点网络地址,建立云应用客户端与目标边缘节点之间的第二通信连接;第二客户端网络地址用于表征云应用客户端在第一类型网络中的网络地址。
其中,该装置还包括:
云应用执行模块,用于当云应用客户端与目标边缘节点通过第一类型网络建立第二通信连接时,在目标边缘节点中执行云应用对应的业务逻辑,得到云应用中的业务场景数据;
第二渲染数据获取模块,用于对业务场景数据进行渲染处理,得到云应用对应的第二渲染数据,通过目标边缘节点对应的通信会话接口,将第二渲染数据传输至云应用客户端,以使云应用客户端输出第二渲染数据。
其中,云应用执行模块包括:
容器启动单元,用于当云应用客户端与目标边缘节点通过第一类型网络建立第二通信连接时,获取云应用对应的参数信息,根据参数信息,在目标边缘节点中启动与云应用相匹配的容器;
场景数据获取单元,用于在容器中执行云应用对应的业务逻辑,得到云应用中的业务场景数据。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该计算机设备执行本申请实施例中上述一方面提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行本申请实施例中上述一方面提供的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面提供的方法。
本申请实施例中,当云应用客户端由第一类型网络切换至第二类型网络时,可以接收中转边缘节点中的代理流服务所转发的第一连接请求,基于第一连接请求建立云应用客户端与目标边缘节点之间的第一通信连接;第一连接请求是云应用客户端基于第二类型网络发送给代理流服务的,中转边缘节点与第二类型网络相关联,目标边缘节点与第一类型网络相关联,且云应用部署在目标边缘节点中;基于云应用客户端与目标边缘节点之间的第一通信连接,在云应用客户端与目标边缘节点之间通过代理流服务传输云应用中的应用数据。可见,当云应用客户端进行网络切换时,可以通过切换后的网络所对应的中转边缘节点中的代理流服务,实现云应用在不同类型网络之间的数据传输,即切换网络后的云应用客户端与目标边缘节点之间无需进行跨网访问就可以进行云应用数据传输,可以降低云应用的传输时延和网络丢包率,进而可以提升云应用的质量。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种云应用的处理系统的架构图;
图2是本申请实施例提供的一种云游戏的网络切换场景图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供的另一种数据处理方法的流程示意图;
图5是本申请实施例提供的一种路由注册信息的注册示意图;
图6是本申请实施例提供的一种代理流服务中的路由转发策略的示意图;
图7是本申请实施例提供的一种云游戏的运营商网络切换场景示意图;
图8是本申请实施例提供的一种数据处理装置的结构示意图;
图9是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例涉及云计算(cloud computing)、云应用以及区块链(Blockchain)。其中,云计算是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
云应用作为云计算的子集,是云计算技术在应用层的体现,云应用的工作原理是把传统软件本地安装、本地运算的使用方式变为即取即用的服务,通过互联网或局域网连接并操控远程服务器集群,完成业务逻辑或运算任务的一种新型应用。云应用的优点是云应用的应用程序运行在云应用服务器端(也可以成为云端)中,终端中运行云应用客户端,云应用服务器端执行云应用的计算工作比如数据渲染,然后将云应用的计算结果传输给云应用客户端进行显示,云应用客户端采集用户的操作信息,将这些操作信息传输给云应用服务器端,以实现云应用服务器端对云应用的操控。其中,云应用可以包括云游戏、云教育、云安全、云会议、云呼叫以及云社交等等,云游戏作为云应用中的典型,近年来受到越来越多的关注。
云游戏又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏本身并不在用户所使用的游戏终端,游戏终端中仅运行云游戏客户端,真正的游戏应用程序是在云游戏服务器端中运行,并由云游戏服务器端将云游戏中的游戏场景数据渲染为音视频码流,并将渲染完毕后的音视频码流传输给云游戏客户端,由游戏终端对云游戏客户端接收到的音视频码流进行显示。云应用客户端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取用户输入指令并发送给云游戏服务器端的能力即可。用户在体验云游戏时,其本质是在对云游戏的音视频码流进行操作,如通过触屏、键盘鼠标、摇杆等产生操作数据(或者称为用户操作指令),然后通过网络传输到云游戏服务器端,达到操作云游戏的目的。其中,本申请所涉及的游戏终端可以是指安装有云游戏客户端的终端设备,音视频码流可以包括云游戏在运行过程中所产生的音频流和视频流,该音频流可以包括云游戏在运行过程中所产生的持续的音频段,视频流可以包括云游戏在运行过程中所生成的一系列游戏画面(也可以称为视频帧)。
在云应用(例如,云游戏)的运行过程中,涉及云应用客户端与云应用服务器端的通信连接,云应用客户端与云应用服务器端之间成功建立通信连接之后,在云应用客户端与云应用服务器端之间可以传输云应用中的应用数据,如云应用服务器端可以将云应用的渲染数据(例如,云应用中的渲染画面)传输至云应用客户端,云应用客户端可以将用户针对云应用的对象操作数据传输至云应用服务器端。可以理解的是,云应用服务器可以搭建在边缘机房中,边缘机房通常是企业和运营商共同建设或与运营商签订过协议,仅支持该运营商的对象(如接入该运营商网络的客户端、设备等)进行直接访问,即边缘机房是支持单运营商对象直接访问,其余运营商对象需要通过代理流服务进行访问。例如,当云应用服务器在运营商A所对应的边缘机房中运行时,接入该运营商A网络的云应用客户端可以直接访问该运营商A所对应的边缘机房,接入其余运营商(例如,运营商B等)网络的对象需要通过运营商B所对应边缘机房中的代理流服务,访问运营商A所对应的边缘机房。其中,代理流服务可以部署在其余运营商所对应的边缘机房中,该代理流服务可以是部署在边缘机房中的服务器,或者是边缘机房中的一个模块,该代理流服务可以记为stream proxy,用于转发其余运营商对象与部署了云应用服务器的边缘机房之间的数据,即代理流服务和云应用服务器分别部署在不同的边缘机房中。
区块链是分布式数据存储,点对点传输,共识机制,加密算法等计算机技术的新型应用模型。区块链本质上是一个去中心化的数据库,是一串使用密码学相关联产生的数据块(又称区块),各个数据块之间通过随机散列(也称哈希算法)实现链接,后一个区块包含了前一个区块的加密散列、相应时间戳记以及交易数据(通常用默克尔树(Merkle tree)算法计算的散列值表示),这样的设计使得区块内容具有难以篡改的特性。本申请实施例中,云应用客户端、边缘机房(例如,部署了云应用服务器的边缘机房,以及部署了代理流服务的边缘机房)可以作为区块链网络中的区块链节点,云应用客户端中所生成的对象操作数据、边缘机房中所生成的云应用的渲染数据等信息都可以上传至区块链;由于区块链的不可篡改性,可以保证数据的安全性和准确性,以防有恶意用户篡改云应用的相关数据。
本申请实施例还涉及如下几个概念:
边缘机房(Outer Center):边缘机房可以是企业与运营商合作搭建在各个城市的EIC机房(边缘互联网机房)和GOC机房(运营商合作机房),边缘机房也可以称为边缘数据中心,或者称为边缘节点。
网页即时通信(Web Real-Time Communication,WebRTC):WebRTC是一个支持网页浏览器进行实时语音对话或视频对话的API(Application Programming Interface,应用程序编程接口);WebRTC已被纳入万维网联盟(World Wide Web Consortium,W3C)的W3C推荐标准。
运营商:运营商可以是指进行网络运营和提供服务的通信服务企业,运营商不仅需要从网络角度知道网络运行状况,还需要从服务角度知道网络运行状况。本申请实施例中所涉及的运营商可以是指提供固定电话、移动电话和互联网接入的通信服务公司。
容器:容器可以是指将操作系统打包到容器镜像中,并通过标准容器镜像进行发布,载体可以是任意的支持OCI(Open Container Initiative,开放容器计划)标准的容器外壳,因此可以很轻松地通过k8s(kubernetes,可以是指为容器服务而生的一个可移植容器的编排管理工具)来运维,借助于k8s强大的运维工具,在云上可以运行几千台服务器集群。
请参见图1,图1是本申请实施例提供的一种云应用的处理系统的架构图。如图1所示,该云应用的处理系统可以包括终端设备10a、边缘节点10b以及代理流服务10c(可以记为stream proxy)。图1所示的云应用的处理系统中终端设备10a、边缘节点10b以及代理流服务10c的数量仅为举例,例如,终端设备、边缘节点以及代理流服务的数量可以为多个,本申请不对终端设备、边缘节点以及代理流服务的数量进行限定。其中,终端设备10a中可以安装有云应用客户端,该终端设备10a可以包括但不限于:智能手机(如Android手机、iOS手机等)、台式电脑、平板电脑、便携式个人计算机、移动互联网设备(Mobile InternetDevices,MID)以及可穿戴设备(例如智能手表、智能手环等)、车载设备等电子设备,本申请实施例并不对终端设备10a的类型进行限定。边缘节点10b中可以部署云应用服务器,该云应用服务器可以提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务。
如图1所示,终端设备10a可以是指玩家所使用的电子设备,此处的玩家可以是指已经体验过云应用或者请求体验云应用的用户,该终端设备10a中可以集成有一个或者多个云应用。边缘节点10b可以是指终端设备10a在启动云应用时所使用的运营商网络所对应的边缘机房,该云应用可以部署在边缘节点10b中,其实质是在边缘节点10b中搭建云应用服务器,该云应用可以运行在边缘节点10b中,如终端设备10a通过第一类型网络(例如,第一类型运营商网络)启动云应用客户端时,此时的边缘节点10b可以是指第一类型网络所对应的边缘机房(例如,可以将此时的边缘机房可称为第一类型运营商机房)。
代理流服务10c可以在终端设备10a进行网络切换之后,用于转发终端设备10a中的云应用客户端与边缘节点10b之间的云应用数据,如终端设备10a由第一类型网络(例如,第一类型运营商网络)切换至第二类型网络(例如,第二类型运营商网络)时,该终端设备10a中的云应用仍然运行在边缘节点10b中;由于终端设备10a所使用的第二类型网络与边缘节点10b属于不同的运营商,即终端设备10a通过第二类型网络无法直接访问边缘节点10b,因此可以通过代理流服务10c传输终端设备10a与边缘节点10b之间的云应用数据,该云应用数据可以包括终端设备10a所生成的对象操作数据,以及边缘节点10b所生成的渲染数据等。
其中,该代理流服务10c可以搭建在第二类型网络(例如,第二类型运营商网络)所对应的边缘节点(例如,第二类型运营商机房)中,即本申请所涉及的代理流服务可以是指终端设备10a切换后的网络所属的边缘节点(运营商机房)中所搭建的本地服务;本申请所涉及的类型网络可以是指运营商网络,不同运营商所对应的网络可以认为是不同的类型网络,同一个运营商对应同一个类型网络。
在图1所示的云应用的处理系统中,当终端设备10a所使用的网络所属的运营商与边缘节点10b所属的运营商相同时,终端设备10a中所安装的云应用客户端可以直接访问边缘节点10b,如云应用客户端与边缘节点10b之间可以直接传输云应用中的应用数据(包括云应用客户端中所生成的对象操作数据、边缘节点10b所生成的渲染数据)。当终端设备10a中云应用客户端进行网络切换,且切换后的网络所属的运营商与边缘节点10b所属的运营商不相同时,此时的云应用客户端无法直接访问边缘节点10b,而是需要通过代理流服务10c来访问边缘节点10b,如终端设备10a中的云应用客户端与边缘节点10b之间可以通过代理流服务10c来传输云应用中的应用数据。本申请实施例中,当终端设备发生运营商网络切换时,通过代理流服务10c进行云应用数据传输,可以降低云应用的传输时延和网络丢包率,进而可以提高云应用的质量。
为方便描述,下面以云应用是云游戏为例,对云应用的网络切换过程进行描述。请参见图2,图2是本申请实施例提供的一种云游戏的网络切换场景图。如图2所示的终端设备20a可以为用户A所使用的电子设备(例如,上述图2所示的云应用的处理系统中的终端设备10a),该终端设备20a可以集成一个或多个云游戏,如云游戏1、云游戏2、……,如可以安装多个云游戏客户端。当用户A想要体验终端设备20a中所集成的云游戏时,可以在终端设备20a所集成的一个或多个云游戏中选择感兴趣的云游戏(例如,云游戏1等),并对感兴趣的云游戏1所对应的云游戏客户端执行启动操作,此时的终端设备20a可以在联网状态下响应针对云游戏客户端的启动操作,以启动云游戏1所对应的云游戏客户端。
其中,终端设备20a处于联网状态时可以认为该终端设备20a中的游戏客户端成功接入运营商网络,该终端设备20a所支持的网络类型即为云游戏客户端所支持的网络类型,该网络类型可以是指不同运营商所对应的网络,同一个运营商的网络对应于同一个网络类型,且同一个网络类型可以包括但不限于同一个运营商的WiFi、3G网络(the 3 Generationmobile communication technology,第三代移动通信技术)、4G网络、5G网络(the 5Generation mobile communication technology,第五代移动通信技术)。
如图2所示,假设终端设备20a可以支持第二类型运营商的4G网络和第一类型运营商的WiFi网络,或者终端设备20a支持第一类型运营商的SIM(Subscriber IdentityModule,客户识别模块)卡和第二类型运营商的SIM卡,则该终端设备20a所支持的网络类型包括第一类型运营商网络和第二类型运营商网络;为方便描述,下面以云游戏客户端在第一类型运营商网络和第二类型运营商网络之间的切换场景进行描述。
如图2所示,当终端设备20a通过第一类型运营商网络启动云游戏1对应的云游戏客户端时,可以在终端设备20a所属的地理区域范围(例如,城市)内确定与该终端设备20a距离最近的第一类型边缘机房20b(也可以称为第一类型边缘节点),并向第一类型边缘机房20b发送连接请求(可以将此时的连接请求称为第二连接请求),该第二连接请求可以用于指示第一类型边缘机房20b与云游戏客户端之间建立通信连接;在第一类型边缘机房20b与云游戏客户端之间建立通信连接后,可以在第一类型边缘机房20b中启动云游戏1所对应的云游戏服务器,即在第一类型边缘机房20b中运行云游戏1;通过第一类型边缘机房20b中的渲染技术可以生成云游戏1对应的渲染数据(此时的渲染数据可以为音视频流数据),此时的渲染数据可以通过第一类型边缘机房20b中的网页即时通信(WebRTC)接口传输给终端设备20a中的云游戏客户端,并在云游戏客户端中将其展示给用户A;用户A可以在云游戏客户端中观看该云游戏1的音视频流数据,并对云游戏客户端所展示的音视频流数据进行操作,以便云游戏客户端生成针对用户A的对象操作数据,如用户在触发云游戏1所对应的游戏页面中的特定技能功能控件所生成的操作指令等。
其中,在第一类型边缘机房20b向云游戏客户端传输云游戏1的音视频流数据之前,第一类型边缘机房20b可以获取终端设备20a所支持的网络类型,如第一类型运营商网络和第二类型运营商网络。对于终端设备20a中的云游戏客户端而言,不同的网络类型可以对应不同的网络地址,即云游戏客户端在不同的运营商网络中可以对应不同的网络地址,该网络地址可以包括一个IP地址(Internet Protocol Address,网际协议地址)和一个端口号,如云游戏客户端在第一类型运营商网络中的网络地址可以记为网络地址1,云游戏客户端在第二类型运营商网络中的网络地址可以记为网络地址2;同样地,各个运营商所对应的边缘机房也可以对应不同的网络地址,如第一类型边缘机房20b对应的网络地址可以记为网络地址3,第二类型边缘机房20c对应的网络地址可以记为网络地址4。由于终端设备20a所启动的云游戏1是运行在第一类型边缘机房20b中,因此可以在第二类型边缘机房20c所包含的代理流服务(stream proxy)中为该云游戏客户端与第一类型边缘机房20b设置路由注册信息,该路由注册信息可以包括网络地址4与网络地址3之间的路由转发信息,以及网络地址1与网络地址2之间的路由转发信息,上述第二类型边缘机房20c中的代理流服务可以是预先搭建好的。其中,路由注册信息可以用于设置不同机器(例如,云游戏客户端和第一类型边缘机房20b)之间的路由转发规则,该路由转发规则也可以称为路由转发信息,路由转发信息用于表示不同机器所对应的网络地址之间的关联关系。
如图2所示,当终端设备20a通过第一类型运营商网络启动云游戏1的云游戏客户端,且该云游戏1运行在第一类型边缘机房20b中时,该云游戏客户端与第一类型边缘机房20b之间的通信连接是通过网络地址1和网络地址3来实现的。例如,云游戏1在第一类型边缘机房20b中运行产生的音视频流数据可以通过网络地址3传输至网络地址1所对应的云游戏客户端;而云游戏客户端所生成的对象操作数据可以通过网路地址1传输至网络地址3所对应的第一类型边缘机房20b。
可选地,当用户A在移动过程中造成终端设备20a处于第一类型运营商网络的覆盖范围之外(例如,超出第一类型运营商的WiFi覆盖范围),或者终端设备20a所使用的第一类型运营商网络不稳定时,该云游戏客户端可以进行网络切换,如可以从第一类型运营商网络切换为该云游戏客户端所支持插入的第二类型运营商网络。当云游戏客户端由第一类型运营商网络切换至第二类型运营商网络时,此时终端设备20a中的云游戏1仍然运行在第一类型边缘机房20b中,云游戏客户端无法通过第二类型运营商网络直接访问第一类型边缘机房20b,因此可以通过第二类型边缘机房20c中的代理流服务,建立云游戏客户端与第一类型边缘机房20b之间通信连接,进而可以在云游戏客户端与第一类型边缘机房20b之间通过第二类型边缘机房20c中的代理流服务传输云游戏中的游戏数据(如云游戏客户端所生成的对象操作数据,第一类型边缘机房20b所生成的音视频流数据等);网络切换之后的云游戏客户端的网络地址变为网络地址2。换言之,在检测到云游戏客户端进行网络切换时,可以记录该云游戏客户端的网络切换时间,第一类型边缘机房20b在该网络切换时间之后所生成的音视频流数据需要通过网页即时通信接口传输至第二类型边缘机房20c中的代理流服务。
第二类型边缘机房20c中的代理流服务获取到的音视频流数据所指向的地址为网络地址1,在代理流服务中可以根据路由注册信息所包含的路由转发信息,将音频流数据所指向的地址由网络地址1变更为网络地址2,进而由该代理流服务将音视频流数据转发至网络地址2所对应的云游戏客户端。同理,进行网络切换之后的云游戏客户端所生成的对象操作数据首先需要传输至第二类型边缘机房20c中的代理流服务,代理流服务获取到的对象操作数据所指向的地址为网络地址4,在代理流服务中可以根据路由注册信息所包含的路由转发信息,将对象操作数据所指向的地址由网络地址4变更为网络地址3,进而由该代理流服务将对象操作数据转发至网络地址3所对应的第一类型边缘机房20b。
本申请实施例中,在云游戏客户端进行不同运营商网络之间的切换时,可以通过代理流服务,在使用不同运营商网络的云游戏客户端和边缘机房之间进行云游戏数据传输,无需进行跨网传输,可以降低云游戏的传输时延和网络丢包率,进而提升云游戏的质量。
请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。可以理解的是,该数据处理方法可以由部署了云应用的目标边缘节点(例如,上述图2所对应实施例中的第一类型边缘机房20b)执行;如图3所示,该数据处理方法可以包括以下步骤S101至步骤S102:
步骤S101,当云应用客户端由第一类型网络切换至第二类型网络时,接收中转边缘节点中的代理流服务所转发的第一连接请求,基于第一连接请求建立云应用客户端与目标边缘节点之间的第一通信连接;第一连接请求是云应用客户端基于第二类型网络发送给代理流服务的,中转边缘节点与第二类型网络相关联,目标边缘节点与第一类型网络相关联,且云应用部署在目标边缘节点中。
具体的,当用户所使用的终端设备中集成了一个或多个云应用时,可以通过该终端设备启动云应用所对应的云应用客户端。当用户对终端设备中所集成的云应用客户端执行启动操作时,该终端设备可以响应针对云应用客户端的启动操作,通过第一类型网络(例如,上述图2所对应实施例中的第一类型运营商网络)启动用户所触发的云应用客户端,在该云应用客户端所属的地理区域范围内,获取第一类型网络对应的M个边缘节点,M为正整数,如M可以取值为1,2,……;其中,上述地理区域范围可以是指部署有边缘节点(边缘机房)的地理区域,如云应用客户端所属的城市、城镇、乡县等。例如,第一类型网络为第一类型运营商网络时,上述M个边缘节点可以是指云应用客户端所属的城市中的所有第一类型运营商对应的边缘机房。进一步地,可以获取云应用客户端分别与M个边缘节点之间的距离,将最短距离所对应的边缘节点确定为运行云应用的目标边缘节点。换言之,在云应用客户端所属的地理区域范围内,将距离该云应用客户端最近的第一类型网络所对应的边缘节点,确定为运行云应用的目标边缘节点;通过减少云应用客户端与运行云应用的目标边缘节点之间的距离,可以减少云应用客户端与目标边缘节点之间的云应用数据传输时间,进而提升云应用的体验效果。
进一步地,在云应用客户端由第一类型网络切换至第二类型网络之前,云应用客户端可以通过第一类型网络向目标边缘节点发送第二连接请求,目标边缘节点接收到云应用客户端发送的第二连接请求后,可以获取第二连接请求对应的第二客户端网络地址(例如,上述图2所对应实施例中的网络地址1),通过第二客户端网络地址与第一节点网络地址(例如,上述图2所对应实施例中的网络地址3),建立云应用客户端与目标边缘节点之间的第二通信连接,该第二客户端网络地址用于表征云应用客户端在第一类型网络中的网络地址。可以理解的是,目标边缘节点在接收到第二连接请求后,若同意建立与云应用客户端之间的通信连接(可以将此时的通信连接称为第二通信连接),则可以向云应用客户端返回一个已连接的回调信息,云应用客户端接收到该回调信息,便表明云应用客户端与目标边缘节点通过第一类型网络成功建立了第二通信连接。
在云应用客户端与目标边缘节点通过第一类型网络建立第二通信连接之后,可以向目标边缘节点传送该云应用对应的参数信息。其中,云应用对应的参数信息可以包括云应用对应的应用标识(ID)、登录该云应用的用户标识(例如,用户账号、用户ID等)等信息。目标边缘节点可以获取云应用客户端传送的云应用对应的参数信息,根据该参数信息可以在目标边缘节点中运行该云应用客户端所对应的云应用,执行云应用对应的业务逻辑,得到该云应用中的业务场景数据。其中,一个云应用可以包括一个或多个应用场景,不同的应用场景可以对应不同的功能控件,每个应用场景所对应的数据可以称为应用场景数据,不同的应用场景所对应的应用场景数据可以是不同的;例如,应用场景数据可以包括应用场景对应的功能控件、场景展示元素等信息。具体而言,在获取到云应用对应的参数信息,在第一类型网络所对应的目标边缘节点中,基于该参数信息启动与云应用相匹配的容器,在该容器中执行云应用对应的应用逻辑,以得到云应用中的应用场景数据;目标边缘节点中的每个容器均可以对应一个云应用,每个云应用都具有唯一的应用ID,那么基于参数信息所包含的应用ID,可以启动与该应用ID相匹配的容器,并在该容器中执行以参数信息中的用户ID所登录的云应用对应的应用逻辑。
在得到应用场景数据之后,可以采用容器中的渲染技术,对应用场景数据进行渲染处理,得到云应用对应的渲染数据(为方便描述,此处的渲染数据可以称为第二渲染数据,该第二渲染数据可以为云应用中已完成渲染的音视频流数据),通过目标边缘节点中的通信会话接口(例如,网页即时通信接口WebRTC),将第二渲染数据传输至云应用客户端,以使云应用客户端在接收到第二渲染数据时输出该第二渲染数据;该第二渲染数据可以包括云应用中的音频流数据和视频流数据,视频流数据可以由云应用中的多个渲染画面构成,即云应用客户端可以实时显示第二渲染数据中的渲染画面,并播放与之对应的音频数据。可选地,上述第二渲染数据中可以不包含音频流数据,那么此时的云应用客户端仅接收到目标边缘节点传输的视频流数据,在该云应用客户端中可以显示视频流数据所包含的渲染画面,该云应用客户端所显示的渲染画面与目标边缘节点中的云应用运行进度保持一致。
可以理解的是,云应用可以运行在k8s中,通过容器虚拟化技术,将云应用安装在云应用容器中,并可以附属初始化容器(initializer)来帮助云应用在启动时进行初始化,上述云应用容器和初始化容器均运行在ARM(Advanced RISC Machine,高级精简指令集计算机)服务器中。云应用的本质是云应用本身运行在云端机房(即边缘机房)中所构建的云应用服务器,云端机房可以采集云应用的渲染数据,并通过WebRTC传输至云应用客户端;从用户角度而言,体验云应用的实质是体验实时的音视频流数据,而为了降低音视频流数据的传输时延,可以将云端机房进行边缘化,如采用就近原则,云应用部署在距离云应用客户端最近的边缘机房(目标边缘节点)中。
可选地,若云应用客户端在移动过程中超出了第一类型网络的覆盖范围,或者云应用客户端所使用的第一类型网络不稳定,则可以对该云应用客户端进行网络切换,如将第一类型网络切换为第二类型网络(例如,上述图2所对应实施例中的第二类型运营商网络),该第二类型网络为云应用客户端所支持的运营商网络,接入第二类型网络的云应用仍然运行在目标边缘节点中。换言之,云应用客户端进行网络切换可能是由于第一类型网络出现故障、云应用客户端超出第一类型网络的覆盖范围等多种原因造成的。
当云应用客户端由第一类型网络切换为第二类型网络时,可以断开云应用客户端与目标边缘节点之间的第二通信连接,并通过中转边缘节点(例如,上述图2所对应实施例中的第二类型边缘机房20c)中的代理流服务(stream proxy)向目标边缘节点重新发送连接请求(此处的连接请求可以称为第一连接请求),目标边缘节点在接收到中转边缘节点中的代理流服务所转发的第一连接请求时,可以基于该第一连接请求建立云应用客户端与目标边缘节点之间的第一通信连接,此时的第一通信连接是通过第二类型网络和代理流服务建立的;上述中转边缘节点是指云应用客户端所属的地理区域范围内的第二类型网络所关联的边缘节点中,与云应用客户端距离最短的边缘节点。
其中,在云应用客户端由第一类型网络切换至第二类型网络时,云应用客户端可以主动断开与目标边缘节点之间的第二通信连接,也可以被动断开与目标边缘节点之间的第二通信连接。在断开云应用客户端与目标边缘节点之间的第二通信连接后,目标边缘节点可以接收中转边缘节点中的代理流服务所转发的第一连接请求,获取该第一连接请求对应的第一客户端网络地址,该第一客户端网络地址用于表征云应用客户端在第二类型网络中的网络地址;进而可以获取目标边缘节点对应的第一节点网络地址,通过第一客户端网络地址与第一节点网络地址,建立云应用客户端与目标边缘节点之间的第一通信连接。
可以理解的是,由于云应用客户端在网络切换后所接入的网络为第二类型网络,目标边缘节点所对应的网络为第一类型网络,也就是说,网络切换之后的云应用客户端不能直接访问目标边缘节点,因此该云应用客户端可以向中转边缘节点中的代理流服务发送第一连接请求,该中转边缘节点中的代理流服务在接收到第一连接请求后,可以将该第一连接请求转发给目标边缘节点。目标边缘节点在接收到代理流服务转发的第一连接请求后,若同意与云应用客户端建立通信连接(可以称为第一通信连接),则可以通过中转边缘节点中的代理流服务向云应用客户端返回一个已连接的回调信息,云应用客户端在接收到代理流服务转发的回调信息后,表示云应用客户端与目标边缘节点通过第二类型网络成功建立了第一通信连接。若目标边缘节点在接收到第一连接请求后,不同意与云应用客户端建立通信连接,则表示云应用客户端与目标边缘节点之间未能建立通信连接。
可选地,当云应用客户端在网络切换前后的网络为同一类型网络时,例如从第一类型运营商的WiFi网络切换为第一类型运营商的4G网络,此时的云应用客户端可以通过切换后的网络(例如,第一类型运营商的4G网络)直接访问目标边缘节点,因此无需通过中转边缘节点中的代理流服务建立与目标边缘节点之间的通信连接,在云应用客户端与目标边缘节点之间无需基于代理流服务传输云应用中的应用数据,而是可以在云应用客户端与目标边缘节点之间直接传输云应用中的应用数据。
步骤S102,基于云应用客户端与目标边缘节点之间的第一通信连接,在云应用客户端与目标边缘节点之间通过代理流服务传输云应用中的应用数据。
具体的,由于云应用客户端所接入的网络切换成了第二类型网络,而该云应用客户端所对应的云应用运行在第一类型网络所对应的目标边缘节点中,即目标边缘节点与云应用客户端所使用的网络为不同的运营商网络。因此,在云应用客户端与目标边缘节点之间建立了第一通信连接后,可以通过中转边缘节点中的代理流服务(stream proxy),在云应用客户端与目标边缘节点之间传输云应用中的应用数据;该应用数据可以包括云应用客户端基于云应用展示页面中的触发操作所生成的对象操作数据,以及目标边缘节点通过渲染技术所生成的第一渲染数据等。
可选地,应用数据可以包括目标边缘节点所生成的第一渲染数据;在云应用客户端由第一类型网络切换至第二类网络时,可以记录云应用客户端对应的网络切换时间,在目标边缘节点中运行云应用时,以网络切换时间为起始时间,获取云应用中的音频数据和一个或多个渲染画面,将音频数据和一个或多个渲染画面组合为云应用对应的第一渲染数据;进而可以通过目标边缘节点中的通信会话接口(例如,网页即时通信接口),先将该第一渲染数据传输至第二类型网络所对应的中转边缘节点中的代理流服务,通过代理流服务所包含的路由转发信息,将第一渲染数据转发给云应用客户端;云应用客户端在接收到代理流服务所转发的第一渲染数据后,可以对第一渲染数据进行解码,输出解码后的第一渲染数据。其中,此处的第一渲染数据与前述第二渲染数据均可以是指基于云应用中的业务场景数据所生成的音视频流数据,只是第一渲染数据是目标边缘节点在云应用客户端进行网络切换后所生成的,第二渲染数据是目标边缘节点在云应用客户端进行网络切换之前所生成的。
可选地,应用数据可以包括云应用客户端所生成的对象操作数据;在云应用客户端中可以展示云应用的展示页面(也可以称为云应用展示页面),该展示页面可以用于输出云应用客户端所接收到的渲染画面,用户可以对展示页面所输出的渲染画面进行触发操作,如对渲染画面中的功能控件执行触发操作,此时的云应用客户端可以响应针对渲染画面的触发操作,生成云应用对应的对象操作数据,云应用客户端可以先将该对象操作数据传输至中转边缘节点中的代理流服务,通过代理流服务所包含的路由转发信息,将对象操作数据转发给目标边缘节点。
其中,可以在第二类型网络对应的中转边缘节点预先搭建本地代理流服务(stream proxy),该中转边缘节点中的代理流服务可以用于代理目标边缘节点与云应用客户端之间的应用数据。本申请中的目标边缘节点可以为云应用的开发商企业与第一类型网络对应的运营商之间的合作边缘机房,中转边缘节点可以为云应用的开发商企业与第二类型网络对应的运营商之间的合作边缘机房;中转边缘节点中的代理流服务可以为中转边缘节点中所部署的服务器。在云应用客户端所属的地理区域范围内的每个边缘节点都可以具有其余运营商的外网出口,基于城市主干网络(可以认为是一个城域网)直达不同运营商关联的目的机房;如单一的目标边缘节点、中转边缘节点中的代理流服务可以构成一个虚拟的三网机房,而该代理流服务可以通过城市主干网络直达目的机房(例如,目标边缘节点)。这样云应用客户端在任何类型网络(运营商网络)之间的网络切换,都不需要进行跨网访问,只需通过中转边缘节点中的代理流服务即可实现云应用数据传输,可以减少传输时延和网络丢包率。
本申请实施例中,当云应用客户端进行网络切换时,可以通过切换后的网络所对应的中转边缘节点中的代理流服务,实现云应用在不同类型网络之间的应用数据传输,即切换网络后的云应用客户端与目标边缘节点之间无需进行跨网访问就可以进行云应用数据传输,可以降低云应用的传输时延和网络丢包率,进而可以提升云应用的质量。
请参见图4,图4是本申请实施例提供的另一种数据处理方法的流程示意图。可以理解的是,该数据处理方法可以由部署了云应用的目标边缘节点(例如,上述图2所对应实施例中的第一类型边缘机房20b)执行;如图4所示,该数据处理方法可以包括以下步骤S201至步骤S206:
步骤S201,当云应用客户端与目标边缘节点通过第一类型网络建立第二通信连接时,获取云应用客户端所支持接入的第一类型网络和第二类型网络。
具体的,当用户对终端设备中所安装的云应用客户端执行启动操作时,该终端设备可以响应针对云应用客户端的启动操作,通过第一类型网络启动用户所触发的云应用客户端,并通过第一类型网络向该云应用客户端所属的地理区域范围中的目标边缘节点发送第二连接请求;目标边缘节点在接收到第二连接请求后,可以通过第二连接请求所对应的第二客户端网络地址(云应用客户端在第一类型网络中的网络地址),以及目标边缘节点对应的第一节点网络地址,建立云应用客户端与目标边缘节点之间的第二通信连接。
在云应用客户端与目标边缘节点通过第一类型网络建立第二通信连接后,云应用客户端可以基于第二通信连接,向目标边缘节点传送云应用客户端所对应云应用的参数信息;目标边缘节点可以基于该参数信息中的应用标识(ID),启动该云应用对应容器,在容器中可以对云应用客户端所对应的云应用进行初始化处理,并运行初始化后的云应用;其中,云应用的初始化处理可以是指基于云应用客户端所对应用户在云应用中的权限、用户标识等信息,设置云应用客户端的初始信息。在目标边缘节点中运行云应用,并向云应用客户端传输渲染数据之前,可以获取云应用客户端所支持插入的所有网络类型,该网络类型可以为不同类型的运营商网络中的一个或多个,本申请对网络类型的数量和类型不做限定。
可选的,若云应用客户端所支持的网络类型的数量为2,则可以将云应用客户端所支持接入的两个网络类型称为第一类型网络和第二类型网络;例如,当云应用客户端支持双卡双待,且该云应用客户端携带第二类型运营商的SIM卡和第三类型运营商的SIM卡(第二类型运营商的SIM卡可以为云应用客户端默认使用的SIM卡)时,可以将第二类型运营商网络称为第一类型网络,将第三类型运营商网络称为第二类型网络。若云应用客户端所支持的网络类型的数量为3,则可以将云应用客户端所支持接入的三个网络类型称为第一类型网络、第二类型网络以及第三类型网络;例如,当云应用客户端处于第一类型运营商的WiFi环境,且携带第二类型运营商的SIM卡和第三类型运营商的SIM卡时,可以将第一类型运营商网络称为第一类型网络,将第二类型运营商网络称为第二类型网络,将第三类型运营商网络称为第三类型网络。为方便描述,本申请实施例以云应用客户端支持两个网络类型为例进行描述,如云应用客户端支持接入的网络为第一类型网络和第二类型网络。
步骤S202,根据第一类型网络和第二类型网络,获取云应用客户端与目标边缘节点之间的路由注册信息,在代理流服务所包含的路由转发策略中添加路由注册信息。
具体的,在获取到云应用客户端所支持接入的第一类型网络和第二类型网络后,可以根据第一类型网络和第二类型网络,获取云应用客户端与目标边缘节点之间的路由注册信息,并将该路由注册信息添加至中转边缘节点的代理流服务中,该中转边缘节点中的代理流服务可以是预先搭建好的。其中,云应用客户端与目标边缘节点之间的路由注册信息可以包括不同运营商网络之间的路由转发信息。
可选地,目标边缘节点可以获取云应用客户端在第一类型网络中的第二客户端网络地址(例如,上述图2所对应实施例中的网络地址1),以及云应用客户端在第二类型网络中的第一客户端网络地址(例如,上述图2所对应实施例中的网络地址2);当然,还可以获取中转边缘节点对应的第二节点网络地址(例如,上述图2所对应实施例中的网络地址4),以及目标边缘节点对应的第一节点网络地址(例如,上述图2所对应实施例中的网络地址3)。进而可以根据目标边缘节点对应的第一节点网络地址,以及中转边缘节点对应的第二节点网络地址,生成云应用客户端至目标边缘节点的第一路由转发信息,即第一节点网络地址与第二节点网络地址之间的路由转发关系;根据第一客户端网络地址以及第二客户端网络地址,生成目标边缘节点至云应用客户端之间的第二路由转发信息,即第一客户端网络地址与第二客户端网络地址之间的路由转发关系;进而可以将第一路由转发信息和第二路由转发信息,确定为云应用客户端与目标边缘节点之间的路由注册信息。换言之,在通过第一类型网络启动云应用客户端,且在目标边缘节点中运行该云应用客户端所对应的云应用时,可以在中转边缘节点的代理流服务中为该云应用客户端与目标边缘节点添加路由转发信息。
请参见图5,图5是本申请实施例提供的一种路由注册信息的注册示意图。以云应用是云游戏为例,对代理流服务中的路由注册信息的注册过程进行描述,如图5所示,假设通过第一类型运营商网络(即上述第一类型网络)启动用户所触发的云游戏1,即启动云游戏1所对应的云游戏客户端,并在第一类型边缘机房30a(即上述目标边缘节点,如上述第一类型运营商网络所对应的边缘机房)中运行云游戏1,且该云应用客户端还支持使用第二类型运营商网络(即上述第二类型网络),那么在第一类型边缘机房30a中运行云游戏1,且向云应用客户端传输云游戏1对应的渲染数据(音视频流数据)之前,需要在第二类型边缘机房30c(即上述中转边缘节点)的代理流服务(stream-proxy)中添加上述云应用客户端与第一类型边缘机房30a之间的路由注册信息。该第一类型边缘机房30a可以运行云游戏1的实例,该第一类型边缘机房30a的网络地址可以记为网络地址3(即第一节点网络地址),该第一类型边缘机房30a中还可以包括用于进行实时语音对话或视频对话的网页即时通信接口;此处的实例可以是指支撑云游戏运行的程序。
如图5所示,云应用客户端与目标边缘节点之间的路由注册信息的添加过程可以包括:可以根据k8s的事件系统,在第一类型边缘机房30a中运行节点检测服务30b(node-watcher),该节点检测服务30b可以提供以下至少两个功能:①节点检测服务30b可以添加节点(node)和删除节点事件,并在事件中获取该节点的网络地址,本申请中的事件可以认为是能够感知的操作,此处的节点可以包括云游戏1所对应的云应用客户端、运行云游戏1的第一类型边缘机房30a、第二类型运营商网络所对应的第二类型边缘机房30c等设备;②可以提供订阅功能,如订阅事件(subscribe event),代理流服务(stream-proxy)所在的边缘机房(如第二边缘机房)提供订阅节点(node)删除和添加的事件,并且当事件发生时,可以实时将该事件通知给第二类型边缘机房30c中的代理流服务。
可选地,在第二类型边缘机房30c中,可以搭建一个或多个对等的代理流服务,如第二类型边缘机房30c中可以搭建代理流服务30d和代理流服务30e等,可以避免单点故障,以及单个代理流服务的流量过载问题,每个代理流服务中都可以运行一个deamonset(守护进程集对象)的程序router-reg(路由注册表),该router-reg(路由注册表)可以根据节点检测服务30b(node-watcher)通知的事件,添加和删除路由转发策略,如iptables(可以认为是一个防火墙,或者是一个客户端代理)规则,可以用于维护网络转发的可用性,该router-reg(路由注册表)还可以从节点检测服务30b(node-watcher)订阅节点添加和删除事件。其中,deamonset可以确保全部或部分节点上都可以运行一个pod副本,一个pod副本可以是一组容器,pod副本也可以是指k8s操作的最小单位。例如,云游戏1对应的云应用客户端、运行云游戏1的第一类型边缘机房30a、包含代理流服务的第二类型边缘机房30c都可以作为添加节点事件中的节点,并通过代理流服务中所运行的deamonset的程序router-reg,在该代理流服务中添加节点所对应的路由注册信息;该路由注册信息可以包括云应用客户端通过第二类型运营商网络与第一类型边缘机房30a进行云游戏数据传输时的路由转发信息,如云应用客户端通过第二类型运营商网络向第一类型边缘机房30a传输对象操作数据时的第一路由转发信息,第一类型边缘机房30a向使用第二类型运营商网络的云应用客户端传输渲染数据时的第二路由转发信息。
可选地,若云应用客户端还支持第三类型网络(例如,第三类型运营商网络),则可以在云应用客户端所属的地理区域范围内确定第三类型网络对应的候选边缘节点,并执行上述相同的操作,在候选边缘节点的代理流服务中添加云应用客户端与目标边缘节点之间的路由注册信息。其中,候选边缘节点的代理流服务中所添加的路由注册信息可以包括云应用客户端通过第三类型网络与目标边缘节点进行云游戏数据传输时的路由转发信息,如云应用客户端通过第三类型网络向目标边缘节点传输对象操作数据时的第三路由转发信息,目标边缘节点向使用第三类型网络的云应用客户端传输渲染数据时的第四路由转发信息。
步骤S203,当云应用客户端由第一类型网络切换至第二类型网络时,接收中转边缘节点中的代理流服务所转发的第一连接请求,基于第一连接请求建立云应用客户端与目标边缘节点之间的第一通信连接。
具体的,当云应用客户端在移动过程中超出了第一类型网络的覆盖范围时,该云应用客户端可以由第一类型网络自动切换至第二类型网络(该第二类型网络为云应用客户端所支持的网络类型);或者,当云应用客户端所使用的第一类型网络不稳定时,该云应用客户端同样可以由第一类型网络切换至第二类型网络,如第二类型网络的连通性优于第一类型网络的连通性;或者,当用户对安装有云应用客户端的终端设备中的网络切换控件执行触发操作时,终端设备可以响应针对网络切换控件的触发操作,将第一类型网络切换为该触发操作所确定的第二类型网络。云应用客户端所接入的网络切换为第二类型网络后,可以通过第二类型网络向中转边缘节点中的代理流服务发送第一连接请求;中转边缘节点中的代理流服务在接收到第一连接请求后,可以将第一连接请求转发给第一类型网络所对应的目标边缘节点,目标边缘节点接收到代理流服务所转发的第一连接请求后,可以基于该第一连接请求建立云应用客户端与目标边缘节点之间的第一通信连接。其中,云应用客户端由第一类型网络切换至第二类型网络后,在云应用客户端与目标边缘节点之间建立第一通信连接的具体过程可以参见图3所对应实施例中对步骤S101的描述,此处不再进行赘述。
步骤S204,基于云应用客户端与目标边缘节点之间的第一通信连接,获取代理流服务通过第一节点网络地址所转发的对象操作数据,根据对象操作数据生成云应用对应的渲染数据;对象操作数据由云应用客户端传输至代理流服务后,对象操作数据的目的地址由中转边缘节点对应的第二节点网络地址更改为第一节点网络地址。
具体的,在云应用客户端与目标边缘节点通过代理流服务建立第一通信连接后,云应用客户端可以基于云应用展示页面中的触发操作生成对象操作数据;其中,该云应用客户端中可以显示云应用展示页面,该云应用展示页面可以显示云应用的渲染画面,该渲染画面可以是指云应用客户端所接收到的第二渲染数据(该第二渲染数据可以为第二音视频流数据)中的视频帧;用户可以对云应用客户端中所显示的渲染画面执行触发操作,如对渲染画面中的功能控件执行触发操作,生成该云应用对应的对象操作数据,该对象操作数据可以是指云应用客户端基于云应用展示页面中的触发操作所生成的指令。
云应用客户端在生成对象操作数据之后,可以通过第二类型网络将该对象操作数据传输至中转边缘节点中的代理流服务,该代理流服务可以将获取到的对象操作数据转发给目标边缘节点,即目标边缘节点是可以通过代理流服务获取到云应用客户端所发送的对象操作数据。其中,云应用客户端通过第二类型网络传输至代理流服务的对象操作数据的目的地址为:中转边缘节点对应的第二节点网络地址;在该中转边缘节点的代理流服务中,可以基于该代理流服务中的路由转发策略,对对象操作数据进行目的地址转换(Destination Network Address Translation,DNAT),将对象操作数据的目的地址由第二节点网络地址更改为目标边缘节点对应的第一节点网络地址。可选地,云应用客户端可以采用udp(User Datagram Protocol,用户数据报协议)包的形式传输对象操作数据。
进一步地,在代理流服务中对对象操作数据进行目的地址转换之后,该代理流服务可以通过更改后的目标地址,即是第一节点网络地址,将对象操作数据转发给目标边缘节点,即目标边缘节点可以通过第一节点网络地址,获取代理流服务所转发的对象操作数据。在目标边缘节点中可以根据对象操作数据执行云应用中的业务逻辑,得到与该对象操作数据相匹配的业务场景数据,采用目标边缘节点中的容器渲染技术,对对象操作数据对应的业务场景数据进行渲染处理,得到云应用的渲染数据;当然,目标边缘节点基于对象操作数据所生成的渲染数据同样可以通过中转边缘节点中的代理流服务传输至云应用客户端。例如,云应用为射击型云游戏时,该对象操作数据可以包括射击指令,目标边缘节点在接收到代理流服务所转发的射击指令后,可以基于射击指令渲染云游戏的游戏画面,此时的游戏画面可以为云游戏中的射击游戏画面。
步骤S205,基于云应用客户端与目标边缘节点之间的第一通信连接,将第一渲染数据传输至代理流服务,以使代理流服务基于路由转发策略,将第一渲染数据对应的源地址由第二客户端网络地址更改为第一客户端网络地址,并基于第一客户端网络地址,将第一渲染数据转发给云应用客户端。
具体的,在云应用客户端由第一类型网络切换至第二类型网络时,可以将网络切换时间后所生成的渲染数据称为第一渲染数据。例如,目标边缘节点在网络切换时间后接收到对象操作数据时,基于对象操作数据所生成的渲染数据也可以称为第一渲染数据。目标边缘节点可以通过网页即时通信接口(通信会话接口),将第一渲染数据传输至中转边缘节点中的代理流服务。由于目标边缘节点所对应的网络为第一类型网络,因此目标边缘节点通过第一类型网络传输至代理流服务的第一渲染数据的源地址为:云应用客户端在第一类型网络中的第二客户端网络地址。
中转边缘节点中的代理流服务在接收到目标边缘节点发送的第一渲染数据后,可以基于该代理流服务中的路由转发策略,对第一渲染数据进行源地址转换(SourceNetwork Address Translation,SNAT),将第一渲染数据的源地址由云应用客户端在第一类型网络中的第二客户端网络地址更改为云应用客户端在第二类型网络中的第一客户端网络地址。其中,第一客户端网络地址和第二客户端网络地址为云应用客户端在不同的运营商网络中的网络地址。
进一步地,在代理流服务中对第一渲染数据进行源地址转换之后,该中转边缘节点中的代理流服务,可以通过第一客户端网络地址将第一渲染数据转发给云应用客户端。云应用客户端获取到代理流服务所转发的第一渲染数据后,可以对第一渲染数据进行解码,得到解码后的第一渲染数据,并在云应用客户端中输出解码后的第一渲染数据。
请参见图6,图6是本申请实施例提供的一种代理流服务中的路由转发策略的示意图。中转边缘节点中的代理流服务可以用于转发云应用客户端与目标边缘节点之间的应用数据,该代理流服务的转发操作可以对象操作数据转发操作和渲染数据转发操作。对象操作数据转发操作可以包括:云应用客户端发送的对象操作数据传输至中转边缘节点中的代理流服务之后,可以基于代理流服务中的路由转发策略,对对象操作数据进行目的地址转换(DNAT),将对象操作数据对应的目的地址由第二节点网络地址更改为第一节点网络地址,并将对象操作数据转发给第一节点网络地址所对应的目标边缘节点。如图6所示,路由转发策略可以为代理流服务中的iptables规则,从iptables规则的prerouting(与目的地址转换对应的数据中转链)表中找到与第二节点网络地址相对应的DNAT规则,并将第二节点网络地址更改为目标边缘节点对应的第一节点网络地址,并将对象操作数据转发给第一节点网络地址所对应的目标边缘节点;换言之,代理流服务转发对象操作数据时的网络类型与目标边缘节点的网络类型保持一致。
渲染数据转发操作可以包括:目标边缘节点所生成的第一渲染数据传输至中转边缘节点中的代理流服务之后,可以基于代理流服务中的路由转发策略,对第一渲染数据进行源地址转换(SNAT),将第一渲染数据对应的源地址由第二客户端网络地址更改为第一客户端网络地址,并将第一渲染数据转发给第一客户端网络地址所对应的云应用客户端。如图6所示,在代理流服务的路由转发策略中找到与第二客户端网络地址相对应的SNAT规则,并将第二客户端网络地址更改为云应用客户端在第二类型网络中的第一客户端网络地址,并将第一渲染数据转发给第一客户端网络地址所对应的云应用客户端。
步骤S206,当通过代理流服务所传输的应用数据为针对云应用客户端的退出指令时,停止运行目标边缘节点中的云应用,在代理流服务所包含的路由转发策略中,删除云应用客户端与目标边缘节点之间的路由注册信息。
具体的,当用户对云应用客户端执行退出操作时,云应用客户端可以响应针对云应用客户端的退出操作,生成针对云应用的退出指令,关闭该云应用客户端;此时的云应用客户端可以通过第二类型网络将退出指令作为对象操作数据传输至中转边缘节点中的代理流服务,通过该中转边缘节点中的代理流服务可以将退出指令传输至目标边缘节点;目标边缘节点接收到代理流服务所转发的退出指令时,表示通过代理流服务所传输的应用数据为针对云应用客户端的退出指令,可以在该目标边缘节点中停止运行云应用;与此同时,还可以在代理流服务所包含的路由转发策略中,删除云应用客户端与目标边缘节点之间的路由注册信息。
请参见图7,图7是本申请实施例提供的一种云游戏的运营商网络切换场景示意图。下面以云应用是云游戏为例,对云应用的网络切换过程进行描述,如图7所示的终端设备40a可以为用户A所使用的电子设备(例如,上述图2所示的云应用的处理系统中的终端设备10a),该终端设备40a可以集成一个或多个云游戏,如云游戏1、云游戏2、……;假设终端设备40a可以支持第一类型运营商网络(也可以称为第一类型网络)、第二类型运营商网络(可以称为第二类型网络)以及第三类型运营商网络(可以称为第三类型网络)。
其中,当用户A想要体验终端设备40a中所集成的云游戏时,可以在终端设备40a所集成的一个或多个云游戏中选择感兴趣的云游戏(例如,云游戏1等),并对用户所选择的云游戏1对应的云游戏客户端执行启动操作,此时的终端设备40a可以通过当前使用的运营商网络响应针对云游戏客户端的启动操作,以启动该终端设备40a中的云游戏1对应的云游戏客户端。如图7所示,当终端设备40a通过第一类型运营商网络启动云游戏1对应的云游戏客户端时,可以在终端设备40a所属的地理区域范围(例如,城市)内确定与该云游戏客户端距离最近的第一类型边缘机房40b(即目标边缘节点),并在第一类型边缘机房40b中部署云游戏1,即终端设备40a所启动的云游戏1其实质是运行在第一类型边缘机房40b中;通过第一类型边缘机房40b中的渲染技术可以生成云游戏1对应的渲染数据(即上述第二渲染数据),该第二渲染数据可以通过第一类型边缘机房40b中的网页即时通信(WebRTC)接口直接传输给终端设备40a中的云游戏客户端,并在云游戏客户端中将第二渲染数据展示给用户A。
需要说明的是,在第一类型边缘机房40b向终端设备40a中的云游戏客户端传输云游戏1的第二渲染数据之前,可以根据云应用客户端所支持接入的第一类型运营商网络、第二类型运营商网络以及第三类型运营商网络,在第二类型网络所对应的第二类型边缘机房40c(即上述中转边缘节点)的代理流服务中,添加第二类型网络下的云应用客户端与第一类型边缘机房40b之间的路由注册信息1,以及在第三类型网络所对应的第三类型边缘机房40d(可以称为候选边缘节点)的代理流服务中,添加第三类型网络下的云应用客户端与第一类型边缘机房40b之间的路由注册信息2;路由注册信息1可以添加在第二类型边缘机房40c的代理流服务中的路由转发策略,路由注册信息2可以添加在第三类型边缘机房40d的代理流服务中的路由转发策略。其中,路由注册信息1可以包括第二类型运营商网络中的云应用客户端与第一类型边缘机房40b之间的路由转发信息,如云应用客户端通过第二类型运营商网络传输对象操作数据时的目的地址转换规则:第二运营商网络对应的第二类型边缘机房40c的网络地址4(即上述第二节点网络地址)—>第一类型边缘机房40b对应的网络地址3(即上述第一节点网络地址),以及第一类型边缘机房40b传输渲染数据(第一渲染数据)时的源地址转换规则:云应用客户端在第一类型运营商网络中的网络地址1(即上述第二客户端网络地址)—>云应用客户端在第二类型运营商网络中的网络地址2(即上述第一客户端网络地址)。路由注册信息2可以包括第三类型运营商网络中的云应用客户端与第一类型边缘机房40b之间的路由转发信息,如云应用客户端通过第三类型运营商网络传输对象操作数据时的目的地址转换规则:第三运营商网络对应的第三类型边缘机房40d的网络地址6(也可以称为第三节点网络地址)—>第一类型边缘机房40b对应的网络地址3,以及第一类型边缘机房40b传输第一渲染数据时的源地址转换规则:云应用客户端在第一类型运营商网络中的网络地址1—>云应用客户端在第三类型运营商网络中的网络地址5(也可以称为第三客户端网络地址)。
如图7所示,当云应用客户端由第一类型运营商网络切换为第二类型运营商网络时,云应用客户端中所生成的对象操作数据可以首先传输至第二类型边缘机房40c中的代理流服务,在第二类型边缘机房40c的代理流服务所包含的路由注册信息1中,可以将对象操作数据的目的地址由网络地址4修改为网络地址3,进而通过第二类型边缘机房40c的代理流服务,将对象操作数据转发至网络地址3对应的第一类型边缘机房40b。第一类型边缘机房40b中所生成的云游戏1的实例所对应的第一渲染数据可以首先传输至第二类型边缘机房40c中的代理流服务,在第二类型边缘机房40c的代理流服务所包含的路由注册信息1中,可以将第一渲染数据的源地址由网络地址1修改为网络地址2,进而通过第二类型边缘机房40c的代理流服务,将第一渲染数据转发至网络地址2对应的云应用客户端。
同理,当云应用客户端由第一类型运营商网络切换为第三类型运营商网络时,云应用客户端中所生成的对象操作数据可以首先传输至第三类型边缘机房40d中的代理流服务,在第三类型边缘机房40d的代理流服务所包含的路由注册信息2中,可以将对象操作数据的目的地址由网络地址6修改为网络地址3,进而通过第三类型边缘机房40d的代理流服务,将对象操作数据转发至网络地址3对应的第一类型边缘机房40b。第一类型边缘机房40b中所生成的云游戏1的实例所对应的第一渲染数据可以首先传输至第三类型边缘机房40d中的代理流服务,在第三类型边缘机房40d的代理流服务所包含的路由注册信息2中,可以将第一渲染数据的源地址由网络地址1修改为网络地址5,进而通过第三类型边缘机房40d的代理流服务,将第一渲染数据转发至网络地址5对应的云应用客户端。
可选地,本申请实施例中的云应用客户端可以为云应用运行在终端设备中的客户端,或者为云主机,在云应用客户端进行不同运营商网络之间的切换时,无需经过运营商数据转换机房就可以访问目标边缘机房,即无需进行跨网就可以访问目标边缘机房。
可以理解的是,在本申请的具体实施方式中,可能涉及到用户终端设备的位置、终端设备所使用SIM卡所属的运营商等信息,当本申请以上实施例运用到具体产品或技术中时,需要获得用户的许可和同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本申请实施例中,当云应用客户端进行不同运营商网络之间的切换时,可以通过切换后的网络所对应的中转边缘节点中的代理流服务,实现云应用在不同类型网络(运营商网络)之间的应用数据传输,即切换网络后的云应用客户端与目标边缘节点之间无需进行跨网访问就可以进行云应用数据传输,可以降低云应用的传输时延和网络丢包率,进而可以提升云应用的质量,并提升云应用的体验效果。
请参见图8,图8是本申请实施例提供的一种数据处理装置的结构示意图。如图8所示,该数据处理装置1可以包括:第一连接建立模块11,数据传输模块12;
第一连接建立模块11,用于当云应用客户端由第一类型网络切换至第二类型网络时,接收中转边缘节点中的代理流服务所转发的第一连接请求,基于第一连接请求建立云应用客户端与目标边缘节点之间的第一通信连接;第一连接请求是云应用客户端基于第二类型网络发送给代理流服务的,中转边缘节点与第二类型网络相关联,目标边缘节点与第一类型网络相关联,且云应用部署在目标边缘节点中;
数据传输模块12,用于基于云应用客户端与目标边缘节点之间的第一通信连接,在云应用客户端与目标边缘节点之间通过代理流服务传输云应用中的应用数据。
其中,第一连接建立模块11,数据传输模块12的具体功能实现方式可以参见上述图3所对应实施例中的步骤S101-步骤S102,此处不再赘述。
在一个或多个实施例中,第一连接建立模块11包括:连接断开单元111,第一请求接收单元112,连接建立单元113;
连接断开单元111,用于当云应用客户端由第一类型网络切换至第二类型网络时,断开云应用客户端与目标边缘节点通过第一类型网络建立的第二通信连接;
第一请求接收单元112,用于接收中转边缘节点中的代理流服务所转发的第一连接请求,获取第一连接请求对应的第一客户端网络地址;第一客户端网络地址用于表征云应用客户端在第二类型网络中的网络地址;
连接建立单元113,用于获取目标边缘节点对应的第一节点网络地址,通过第一客户端网络地址与第一节点网络地址,建立云应用客户端与目标边缘节点之间的第一通信连接。
其中,连接断开单元111,第一请求接收单元112,连接建立单元113的具体功能实现方式可以参见上述图3所对应实施例中的步骤S101,此处不再赘述。
在一个或多个实施例中,应用数据包括第一渲染数据;
该数据处理装置1还包括:第一渲染数据获取模块13;
第一渲染数据获取模块13,用于获取云应用客户端对应的网络切换时间,在目标边缘节点中以网络切换时间为起始时间,获取云应用中的音频数据和一个或多个渲染画面,将音频数据和一个或多个渲染画面组合为第一渲染数据。
则数据传输模块12具体用于:
基于云应用客户端与目标边缘节点之间的第一通信连接,将第一渲染数据传输至代理流服务,以使代理流服务基于路由转发策略,将第一渲染数据对应的源地址由第二客户端网络地址更改为第一客户端网络地址,基于第一客户端网络地址,将第一渲染数据转发给云应用客户端;
其中,第一客户端网络地址用于表征云应用客户端在第二类型网络中的网络地址,第二客户端网络地址用于表征云应用客户端在第一类型网络中的网络地址。
可选地,应用数据包括对象操作数据;
数据传输模块12具体用于:
基于云应用客户端与目标边缘节点之间的第一通信连接,获取代理流服务通过第一节点网络地址所转发的对象操作数据,根据对象操作数据生成云应用对应的渲染数据;
其中,对象操作数据包括云应用客户端基于云应用展示页面中的触发操作所生成的指令;对象操作数据由云应用客户端传输至代理流服务后,对象操作数据的目的地址由中转边缘节点对应的第二节点网络地址更改为第一节点网络地址。
其中,数据传输模块12,第一渲染数据获取模块13的具体功能实现方式可以参见上述图4所对应实施例中的步骤S204和步骤S205,此处不再赘述。
在一个或多个实施例中,该数据处理装置1还包括:网络类型获取模块14,路由注册模块15,路由注册信息删除模块16;
网络类型获取模块14,用于当云应用客户端与目标边缘节点通过第一类型网络建立第二通信连接时,获取云应用客户端所支持插入的第一类型网络和第二类型网络;
路由注册模块15,用于根据第一类型网络和第二类型网络,获取云应用客户端与目标边缘节点之间的路由注册信息,在代理流服务所包含的路由转发策略中添加路由注册信息。
路由注册信息删除模块16,用于当通过代理流服务所传输的应用数据为针对云应用客户端的退出指令时,停止运行目标边缘节点中的云应用,在代理流服务所包含的路由转发策略中,删除云应用客户端与目标边缘节点之间的路由注册信息。
其中,网络类型获取模块14,路由注册模块15,路由注册信息删除模块16的具体功能实现方式可以参见上述图4所对应实施例中的步骤S201-步骤S202,以及步骤S206,此处不再赘述。
在一个或多个实施例中,路由注册模块15包括:第一路由信息生成单元151,第二路由信息生成单元152,路由注册信息确定单元153;
第一路由信息生成单元151,用于根据中转边缘节点对应的第二节点网络地址,以及目标边缘节点对应的第一节点网络地址,生成云应用客户端与目标边缘节点之间的第一路由转发信息;
第二路由信息生成单元152,用于根据云应用客户端在第一类型网络中的第一终端网络地址,以及云应用客户端在第二类型网络中的第二终端网络地址,生成目标边缘节点与云应用客户端之间的第二路由转发信息;
路由注册信息确定单元153,用于将第一路由转发信息和第二路由转发信息,确定为云应用客户端对应的路由注册信息。
其中,第一路由信息生成单元151,第二路由信息生成单元152,路由注册信息确定单元153的具体功能实现方式可以参见上述图4所对应实施例中的步骤S202,此处不再赘述。
在一个或多个实施例中,该数据处理装置1还包括:云应用启动模块17,第二连接建立模块18,云应用执行模块19,第二渲染数据获取模块20;
云应用启动模块17,用于当通过第一类型网络启动云应用客户端时,接收应用客户端通过第一类型网络发送的第二连接请求;第二连接请求是在云应用客户端由第一类型网络切换至第二类型网络之前发送的;
第二连接建立模块18,用于获取第二连接请求对应的第二客户端网络地址,通过第二客户端网络地址与第一节点网络地址,建立云应用客户端与目标边缘节点之间的第二通信连接;第二客户端网络地址用于表征云应用客户端在第一类型网络中的网络地址。
云应用执行模块19,用于当云应用客户端与目标边缘节点通过第一类型网络建立第二通信连接时,在目标边缘节点中执行云应用对应的业务逻辑,得到云应用中的业务场景数据;
第二渲染数据获取模块20,用于对业务场景数据进行渲染处理,得到云业务对应的第二渲染数据,通过目标边缘节点对应的通信会话接口,将第二渲染数据传输至云应用客户端,以使云应用客户端输出第二渲染数据。
可选地,云应用执行模块19包括:容器启动单元191,场景数据获取单元192;
容器启动单元191,用于当云应用客户端与目标边缘节点通过第一类型网络建立第二通信连接时,获取云应用对应的参数信息,根据参数信息,在目标边缘节点中启动与云应用相匹配的容器;
场景数据获取单元192,用于在容器中执行云应用对应的业务逻辑,得到云应用中的业务场景数据。
其中,云应用启动模块17,第二连接建立模块18,云应用执行模块19,第二渲染数据获取模块20以及云应用执行模块19所包含的容器启动单元191,场景数据获取单元192的具体功能实现方式可以参见上述图3所对应实施例中的步骤S101,此处不再赘述。
本申请实施例中,当云应用客户端进行不同运营商网络之间的切换时,可以通过切换后的网络所对应的中转边缘节点中的代理流服务,实现云应用在不同类型网络(运营商网络)之间的应用数据传输,即切换网络后的云应用客户端与目标边缘节点之间无需进行跨网访问就可以进行云应用数据传输,可以降低云应用的传输时延和网络丢包率,进而可以提升云应用的质量,并提升云应用的体验效果。
进一步地,请参见图9,图9是本申请实施例提供的一种计算机设备的结构示意图。如图9所示,该计算机设备1000可以为终端设备(安装有云应用客户端),还可以为服务器(用于运行云应用的云服务器),这里将不对其进行限制。为便于理解,本申请以计算机设备为终端设备为例,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,该计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图9所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
其中,该计算机设备1000中的网络接口1004还可以提供网络通讯功能,且可选用户接口1003还可以包括显示屏(Display)、键盘(Keyboard)。在图9所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
当云应用客户端由第一类型网络切换至第二类型网络时,接收中转边缘节点中的代理流服务所转发的第一连接请求,基于第一连接请求建立云应用客户端与目标边缘节点之间的第一通信连接;第一连接请求是云应用客户端基于第二类型网络发送给代理流服务的,中转边缘节点与第二类型网络相关联,目标边缘节点与第一类型网络相关联,且云应用部署在目标边缘节点中;
基于云应用客户端与目标边缘节点之间的第一通信连接,在云应用客户端与目标边缘节点之间通过代理流服务传输云应用中的应用数据。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3和图4任一个所对应实施例中对数据处理方法的描述,也可执行前文图8所对应实施例中对数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据处理装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3和图4任一个所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图3和图4任一个所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (13)
1.一种数据处理方法,其特征在于,包括:
当云应用客户端由第一类型网络切换至第二类型网络时,接收中转边缘节点中的代理流服务所转发的第一连接请求,基于所述第一连接请求建立所述云应用客户端与目标边缘节点之间的第一通信连接;所述第一连接请求是所述云应用客户端基于所述第二类型网络发送给所述代理流服务的,所述中转边缘节点与所述第二类型网络相关联,所述目标边缘节点与所述第一类型网络相关联,且云应用部署在所述目标边缘节点中;
基于所述云应用客户端与所述目标边缘节点之间的第一通信连接,在所述云应用客户端与目标边缘节点之间通过所述代理流服务传输所述云应用中的应用数据;所述应用数据包括第一渲染数据和对象操作数据,所述第一渲染数据包括以云应用客户端的网络切换时间为起始时间所获取到的音频数据和一个或多个渲染画面。
2.根据权利要求1所述的方法,其特征在于,所述当云应用客户端由第一类型网络切换至第二类型网络时,接收中转边缘节点中的代理流服务所转发的第一连接请求,基于所述第一连接请求建立所述云应用客户端与目标边缘节点之间的第一通信连接,包括:
当所述云应用客户端由所述第一类型网络切换至所述第二类型网络时,断开所述云应用客户端与所述目标边缘节点通过所述第一类型网络建立的第二通信连接;
接收所述中转边缘节点中的所述代理流服务所转发的第一连接请求,获取所述第一连接请求对应的第一客户端网络地址;所述第一客户端网络地址用于表征所述云应用客户端在所述第二类型网络中的网络地址;
获取所述目标边缘节点对应的第一节点网络地址,通过所述第一客户端网络地址与所述第一节点网络地址,建立所述云应用客户端与目标边缘节点之间的第一通信连接。
3.根据权利要求1所述的方法,其特征在于,所述应用数据包括第一渲染数据;
所述方法还包括:
获取所述云应用客户端对应的网络切换时间,在所述目标边缘节点中以所述网络切换时间为起始时间,获取所述云应用中的音频数据和一个或多个渲染画面,将所述音频数据和所述一个或多个渲染画面组合为第一渲染数据;
则所述基于所述云应用客户端与所述目标边缘节点之间的第一通信连接,在所述云应用客户端与目标边缘节点之间通过所述代理流服务传输所述云应用中的应用数据,包括:
基于所述云应用客户端与目标边缘节点之间的第一通信连接,将所述第一渲染数据传输至所述代理流服务,以使所述代理流服务基于路由转发策略,将所述第一渲染数据对应的源地址由第二客户端网络地址更改为第一客户端网络地址,基于所述第一客户端网络地址,将所述第一渲染数据转发给所述云应用客户端;
其中,所述第一客户端网络地址用于表征所述云应用客户端在所述第二类型网络中的网络地址,所述第二客户端网络地址用于表征所述云应用客户端在所述第一类型网络中的网络地址。
4.根据权利要求1所述的方法,其特征在于,所述应用数据包括对象操作数据;
所述基于所述云应用客户端与所述目标边缘节点之间的第一通信连接,在所述云应用客户端与目标边缘节点之间通过所述代理流服务传输所述云应用中的应用数据,包括:
基于所述云应用客户端与所述目标边缘节点之间的第一通信连接,获取所述代理流服务通过第一节点网络地址所转发的对象操作数据,根据所述对象操作数据生成云应用对应的渲染数据;
其中,所述对象操作数据包括所述云应用客户端基于云应用展示页面中的触发操作所生成的指令;所述对象操作数据由所述云应用客户端传输至所述代理流服务后,所述对象操作数据的目的地址由所述中转边缘节点对应的第二节点网络地址更改为所述第一节点网络地址。
5.根据权利要求2所述的方法,其特征在于,还包括:
当所述云应用客户端与所述目标边缘节点通过所述第一类型网络建立第二通信连接时,获取所述云应用客户端所支持接入的所述第一类型网络和所述第二类型网络;
根据所述第一类型网络和所述第二类型网络,获取所述云应用客户端与所述目标边缘节点之间的路由注册信息,在所述代理流服务所包含的路由转发策略中添加所述路由注册信息。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一类型网络和所述第二类型网络,获取所述云应用客户端与所述目标边缘节点之间的路由注册信息,包括:
根据所述目标边缘节点对应的第一节点网络地址,以及所述中转边缘节点对应的第二节点网络地址,生成所述云应用客户端与所述目标边缘节点之间的第一路由转发信息;
根据所述云应用客户端在所述第一类型网络中的第二客户端网络地址,以及所述云应用客户端在所述第二类型网络中的第一客户端网络地址,生成所述云应用客户端与所述目标边缘节点之间的第二路由转发信息;
将所述第一路由转发信息和所述第二路由转发信息,确定为所述云应用客户端与所述目标边缘节点之间的路由注册信息。
7.根据权利要求5所述的方法,其特征在于,还包括:
当通过所述代理流服务所传输的应用数据为针对所述云应用客户端的退出指令时,停止运行所述目标边缘节点中的云应用,在所述代理流服务所包含的路由转发策略中,删除所述云应用客户端与所述目标边缘节点之间的路由注册信息。
8.根据权利要求2所述的方法,其特征在于,还包括:
当通过所述第一类型网络启动所述云应用客户端时,接收所述应用客户端通过所述第一类型网络发送的第二连接请求;所述第二连接请求是在所述云应用客户端由所述第一类型网络切换至所述第二类型网络之前发送的;
获取所述第二连接请求对应的第二客户端网络地址,通过所述第二客户端网络地址与所述第一节点网络地址,建立所述云应用客户端与目标边缘节点之间的第二通信连接;所述第二客户端网络地址用于表征所述云应用客户端在所述第一类型网络中的网络地址。
9.根据权利要求8所述的方法,其特征在于,还包括:
当所述云应用客户端与所述目标边缘节点通过所述第一类型网络建立第二通信连接时,在所述目标边缘节点中执行所述云应用对应的业务逻辑,得到所述云应用中的业务场景数据;
对所述业务场景数据进行渲染处理,得到所述云应用对应的第二渲染数据,通过所述目标边缘节点对应的通信会话接口,将所述第二渲染数据传输至所述云应用客户端,以使所述云应用客户端输出所述第二渲染数据。
10.根据权利要求9所述的方法,其特征在于,所述当所述云应用客户端与所述目标边缘节点通过所述第一类型网络建立第二通信连接时,在所述目标边缘节点中执行所述云应用对应的业务逻辑,得到所述云应用中的业务场景数据,包括:
当所述云应用客户端与所述目标边缘节点通过所述第一类型网络建立第二通信连接时,获取所述云应用对应的参数信息,根据所述参数信息,在所述目标边缘节点中启动与所述云应用相匹配的容器;
在所述容器中执行所述云应用对应的业务逻辑,得到所述云应用中的业务场景数据。
11.一种数据处理装置,其特征在于,包括:
第一连接建立模块,用于当云应用客户端由第一类型网络切换至第二类型网络时,接收中转边缘节点中的代理流服务所转发的第一连接请求,基于所述第一连接请求建立所述云应用客户端与目标边缘节点之间的第一通信连接;所述中转边缘节点与所述第二类型网络相关联,所述目标边缘节点与所述第一类型网络相关联,且云应用部署在所述目标边缘节点中;
数据传输模块,用于基于所述云应用客户端与所述目标边缘节点之间的第一通信连接,在所述云应用客户端与目标边缘节点之间通过所述代理流服务传输所述云应用中的应用数据;所述应用数据包括第一渲染数据和对象操作数据,所述第一渲染数据包括以云应用客户端的网络切换时间为起始时间所获取到的音频数据和一个或多个渲染画面。
12.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-10任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-10任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210070245.6A CN114095557B (zh) | 2022-01-21 | 2022-01-21 | 数据处理方法、装置、设备以及介质 |
PCT/CN2022/131647 WO2023138189A1 (zh) | 2022-01-21 | 2022-11-14 | 数据处理方法、装置、设备以及介质 |
US18/321,190 US20230291808A1 (en) | 2022-01-21 | 2023-05-22 | Data processing method and apparatus, device and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210070245.6A CN114095557B (zh) | 2022-01-21 | 2022-01-21 | 数据处理方法、装置、设备以及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114095557A CN114095557A (zh) | 2022-02-25 |
CN114095557B true CN114095557B (zh) | 2022-04-12 |
Family
ID=80308983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210070245.6A Active CN114095557B (zh) | 2022-01-21 | 2022-01-21 | 数据处理方法、装置、设备以及介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230291808A1 (zh) |
CN (1) | CN114095557B (zh) |
WO (1) | WO2023138189A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095557B (zh) * | 2022-01-21 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备以及介质 |
CN114844871B (zh) * | 2022-03-25 | 2024-03-26 | 阿里巴巴(中国)有限公司 | 云应用的访问方法及装置 |
CN114501161B (zh) * | 2022-04-11 | 2022-08-02 | 中兴通讯股份有限公司 | 音视频系统、接入方法、路由转发方法及可读存储介质 |
CN114844951B (zh) * | 2022-04-22 | 2024-03-19 | 百果园技术(新加坡)有限公司 | 请求处理方法、系统、设备、存储介质及产品 |
CN115086194B (zh) * | 2022-05-20 | 2024-02-02 | 阿里巴巴(中国)有限公司 | 云应用的数据传输方法、计算设备及计算机存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6473609B1 (en) * | 1995-12-11 | 2002-10-29 | Openwave Systems Inc. | Method and architecture for interactive two-way communication devices to interact with a network |
US7769806B2 (en) * | 2007-10-24 | 2010-08-03 | Social Communications Company | Automated real-time data stream switching in a shared virtual area communication environment |
US20210314301A1 (en) * | 2016-05-18 | 2021-10-07 | Zscaler, Inc. | Private service edge nodes in a cloud-based system for private application access |
CN111265853B (zh) * | 2020-01-20 | 2023-10-17 | 咪咕互动娱乐有限公司 | 游戏平台切换方法、装置、服务器和存储介质 |
CN112354177A (zh) * | 2020-09-30 | 2021-02-12 | 江苏视博云信息技术有限公司 | 基于webrtc的云游戏即时启动方法、装置及系统 |
CN113556727B (zh) * | 2021-07-19 | 2022-08-23 | 中国联合网络通信集团有限公司 | 基于移动容器的云设备的数据传输方法及系统 |
CN113612640A (zh) * | 2021-07-30 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 数据通信方法及装置、电子设备、存储介质 |
CN113382026B (zh) * | 2021-08-16 | 2021-10-29 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、相关设备及存储介质 |
CN114095557B (zh) * | 2022-01-21 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备以及介质 |
-
2022
- 2022-01-21 CN CN202210070245.6A patent/CN114095557B/zh active Active
- 2022-11-14 WO PCT/CN2022/131647 patent/WO2023138189A1/zh unknown
-
2023
- 2023-05-22 US US18/321,190 patent/US20230291808A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN114095557A (zh) | 2022-02-25 |
WO2023138189A1 (zh) | 2023-07-27 |
US20230291808A1 (en) | 2023-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114095557B (zh) | 数据处理方法、装置、设备以及介质 | |
US10601947B2 (en) | Application service delivery through an application service avatar | |
CN111479121B (zh) | 一种基于流媒体服务器的直播方法及系统 | |
CN110290506B (zh) | 一种边缘云移动性管理方法及设备 | |
US10389787B2 (en) | Method, apparatus and system for transmitting media stream | |
JP5624224B2 (ja) | データ提供システム、提供装置、実行装置、制御方法、プログラム、及び記録媒体 | |
US8484305B2 (en) | Method for activating and deactivating client-side services from a remote server | |
US20170034149A1 (en) | Intelligent Communications Method, Terminal, and System | |
US20230300203A1 (en) | Data processing method and system, related device, storage medium, and product | |
US20220258041A1 (en) | Account connecting method and apparatus, storage medium, and electronic device | |
KR20170110612A (ko) | 고 확장가능한, 고장 저항력이 있는 원격 액세스 아키텍처 및 접속 방법 | |
CN116405461A (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
CN110896553A (zh) | 多接入边缘计算方法和平台、通信系统 | |
US11159586B2 (en) | Dynamically controlling relay communication links during a communication session | |
CN104871481B (zh) | 用于本地网络设备的基于云的功率管理的方法和装置 | |
US11843642B1 (en) | Serverless signaling in peer-to-peer session initialization | |
CN113926185A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN115794139A (zh) | 镜像数据处理方法、装置、设备以及介质 | |
CN111245918A (zh) | 一种服务请求的传输方法和装置 | |
US20140032774A1 (en) | Client-emulating Gateways for Communication Network Migration | |
JP2007207013A (ja) | 情報処理装置、情報共有プログラム | |
KR20230116939A (ko) | 5g ar/mr 인지 경험을 5g 디바이스들에 전달하기 위한방법 및 장치 | |
CN113572867B (zh) | 通信方法与装置 | |
CN114071170B (zh) | 一种网络直播互动方法及设备 | |
CN114629912B (zh) | 基于mec的通信传输方法及装置 |
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 |