CN103888485A - 云计算资源的分配方法、装置及系统 - Google Patents
云计算资源的分配方法、装置及系统 Download PDFInfo
- Publication number
- CN103888485A CN103888485A CN201210553585.0A CN201210553585A CN103888485A CN 103888485 A CN103888485 A CN 103888485A CN 201210553585 A CN201210553585 A CN 201210553585A CN 103888485 A CN103888485 A CN 103888485A
- Authority
- CN
- China
- Prior art keywords
- client
- cloud server
- cloud
- end cloud
- information
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种云计算资源的分配方法、装置及系统,应用于包括客户端、决策实体和多个前端云服务器的网络中,本实施例通过多个前端云服务器中的第一前端云服务器接收客户端发送的云应用服务请求,所述第一前端云服务器是决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息确定的、给所述客户端提供云应用服务的前端云服务器;根据所述云应用服务请求进行相应的云应用计算处理,向所述客户端返回所述云应用计算处理的结果,能够降低云计算应用的网络时延和丢包概率。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种云计算资源的分配方法、装置及系统。
背景技术
作为一种互联网上的资源利用新方式,云计算可以使用终端自身无法提供的功能,可以使用其他网络单元提供的云计算应用,例如,云游戏、云桌面。
在传统的云计算应用模式下,云应用部署在中心云服务器上,客户端将用户操作经过网络传输到中心云服务器上,中心云服务器内的云应用根据来自用户的操作将应用运行后的结果通过视频流的方式传输给客户端,客户端完成应用结果的显示。
上述传统的云计算应用模式,客户端与中心云服务器之间由于距离较远,途径网络跳数较多,因此,存在网络时延较大、丢包概率较大的问题,尤其是对网络丢包、时延等参数极为敏感的云计算应用(例如云游戏、云桌面)。
发明内容
本发明提供一种云计算资源的分配方法、装置及系统,能够降低云计算应用的网络时延和丢包概率。
第一方面,本发明提供一种云计算资源的分配方法,所述方法应用于包括客户端、决策实体和多个前端云服务器的网络中,所述方法包括:
所述多个前端云服务器中的第一前端云服务器接收的所述客户端发送的云应用服务请求,所述第一前端云服务器是所述决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定的、给所述客户端提供云应用服务的前端云服务器;
根据所述云应用服务请求进行相应的云应用计算处理,向所述客户端返回所述云应用计算处理的结果。
基于第一方面,在第一种实现方式中,所述云应用服务请求中包括云应用标识;在所述根据所述云应用服务请求进行相应的云应用计算处理之前,所述方法还包括:
所述第一前端云服务器根据所述客户端发送的云应用标识,向所述客户端发送与所述云应用标识对应的应用代码,以使所述客户端向所述第一前端云服务器发送与所述应用代码对应的渲染指令包,所述渲染指令包包括渲染指令;或者
所述第一前端云服务器接收所述决策实体发送的渲染指令包,所述渲染指令包为所述决策实体在根据所述客户端发送的云应用标识确定与所述云应用标识对应的应用代码后,向所述第一前端云服务器发送的与所述应用代码对应的渲染指令包,所述渲染指令包包括渲染指令;或者
所述第一前端云服务器根据所述客户端发送的云应用标识,确定与所述云应用标识对应的应用代码,根据所述确定的应用代码构造与所述应用代码对应的渲染指令。
基于第一方面的第一种实现方式,在第二种实现方式中,所述云应用服务请求中还包括匹配信息,所述匹配信息包括云应用类型信息和/或所述客户端的显示分辨率信息;
所述根据所述云应用服务请求进行相应的云应用计算处理,向所述客户端返回所述云应用计算处理的结果包括:
所述第一前端云服务器根据所述渲染指令,调用预先存储的渲染素材对帧图像进行渲染处理,将渲染处理后的帧图像进行压缩;
采用与所述匹配信息相匹配的转码码率对所述压缩后的帧图像进行转码处理,生成视频编码;
采用所述客户端使用的传输协议和/或封装协议将所述视频编码封装为网络数据包并发送给所述客户端。
第二方面,本发明提供一种云计算资源的分配方法,所述方法应用于包括客户端、决策实体和多个前端云服务器的网络中,所述方法包括:
所述决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定给所述客户端提供云应用服务的第一前端云服务器;
将所述确定的第一前端云服务器的信息发送给所述客户端,以使所述客户端根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求。
基于第二方面,在第一种实现方式中,将所述确定的第一前端云服务器的信息发送给所述客户端之后,包括:
所述决策实体根据所述客户端发送的云应用标识,将与所述云应用标识对应的应用代码以及所述应用代码和所述云应用标识的对应关系发送给所述第一前端云服务器。
基于第二方面,在第二种实现方式中,将所述确定的第一前端云服务器的信息发送给所述客户端之后,包括:
所述决策实体根据所述客户端发送的云应用标识,确定与所述云应用标识对应的应用代码;
向所述第一前端云服务器发送与所述确定的应用代码对应的渲染指令包。
第三方面,本发明提供一种云计算资源的分配方法,所述方法应用于包括客户端、决策实体和多个前端云服务器的网络中,所述方法包括:
所述客户端接收所述决策实体发送的第一前端云服务器的信息,所述第一前端云服务器是所述决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定的、给所述客户端提供云应用服务的前端云服务器;
根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求。
基于第三方面,在第一种实现方式中,所述云应用服务请求中包含云应用标识;
根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求之后,所述方法还包括:
所述客户端接收所述第一前端云服务器发送的与所述云应用标识对应的应用代码;
根据所述应用代码,向所述第一前端云服务器发送与所述应用代码对应的渲染指令包;
接收所述第一前端云服务器发送的网络数据包,显示所述网络数据包中视频编码,其中,所述网络数据包是所述第一前端云服务器对帧图像进行处理得到的,所述处理包括根据所述渲染指令包进行的渲染处理。
基于第三方面,在第二种实现方式中,所述根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求之后,包括:
所述客户端向所述决策实体发送云应用标识,以使所述决策实体根据所述云应用标识确定与所述云应用标识对应的应用代码,向所述第一前端云服务器发送与所述应用代码对应的渲染指令包;
接收所述第一前端云服务器发送的网络数据包,显示所述网络数据包中视频编码,其中,所述网络数据包是所述第一前端云服务器对帧图像进行处理得到的,所述处理包括根据所述渲染指令包进行的渲染处理。
第四方面,本发明提供一种第一前端云服务器,应用于包括客户端、决策实体和多个前端云服务器的网络中,所述第一前端云服务器是决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息从所述多个前端云服务器中确定的、给所述客户端提供云应用服务的前端云服务器;所述第一前端云服务器包括:
接收模块,用于接收所述客户端发送的云应用服务请求;
处理模块,用于根据所述云应用服务请求进行相应的云应用计算处理;发送模块,用于向所述客户端返回所述云应用计算处理的结果。
基于第四方面,在第一种实现方式中,所述云应用服务请求中包括云应用标识;
所述发送模块,还用于根据所述客户端发送的云应用标识,向所述客户端发送与所述云应用标识对应的应用代码,以使所述客户端向所述第一前端云服务器发送与所述应用代码对应的渲染指令包,所述渲染指令包包括渲染指令;或者
所述接收模块,还用于接收所述决策实体发送的渲染指令包,所述渲染指令包为所述决策实体在根据所述客户端发送的云应用标识确定与所述云应用标识对应的应用代码后,向所述第一前端云服务器发送的与所述应用代码对应的渲染指令包,所述渲染指令包包括渲染指令;或者
所述第一前端云服务器还包括构建模块,所述构建模块用于根据所述客户端发送的云应用标识,确定与所述云应用标识对应的应用代码,根据所述确定的应用代码构造与所述应用代码对应的渲染指令。
基于第四方面的在第一种实现方式,在第二种实现方式中,所述云应用服务请求中还包括匹配信息,所述匹配信息包括云应用类型信息和/或所述客户端的显示分辨率信息;
所述处理模块,具体用于:
根据所述渲染指令,调用预先存储的渲染素材对帧图像进行渲染处理,将渲染处理后的帧图像进行压缩;采用与所述匹配信息相匹配的转码码率对所述压缩后的帧图像进行转码处理,生成视频编码;采用所述客户端使用的传输协议和/或封装协议将所述视频编码封装为网络数据包。
第五方面,本发明提供一种决策实体,应用于包括客户端、决策实体和多个前端云服务器的网络中,包括:
确定模块,用于根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定给所述客户端提供云应用服务的第一前端云服务器;
发送模块,用于将所述确定的第一前端云服务器的信息发送给所述客户端,以使所述客户端根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求。
基于第五方面,在第一种实现方式中,所述发送模块在将所述确定的第一前端云服务器的信息发送给所述客户端之后,还用于根据所述客户端发送的云应用标识,将与所述云应用标识对应的应用代码以及所述应用代码和所述云应用标识的对应关系发送给所述第一前端云服务器。
基于第五方面,在第二种实现方式中,在所述发送模块将所述确定的第一前端云服务器的信息发送给所述客户端之后,所述确定模块,还用于根据所述客户端发送的云应用标识,确定与所述云应用标识对应的应用代码;
所述发送模块,还用于向所述第一前端云服务器发送与所述确定的应用代码对应的渲染指令包。
第六方面,本发明提供一种客户端,应用于包括客户端、决策实体和多个前端云服务器的网络中,包括:
接收模块,用于接收所述决策实体发送的第一前端云服务器的信息,所述第一前端云服务器是所述决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定的、给所述客户端提供云应用服务的前端云服务器;
发送模块,用于根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求。
基于第六方面,在第一种实现方式中,所述云应用服务请求中包含云应用标识;
在所述发送模块向所述第一前端云服务器发送所述云应用服务请求之后,所述接收模块,还用于接收所述第一前端云服务器发送的与所述云应用标识对应的应用代码;
所述发送模块,还用于根据所述应用代码,向所述第一前端云服务器发送与所述应用代码对应的渲染指令包;
所述接收模块,还用于接收所述第一前端云服务器发送的网络数据包,显示所述网络数据包中视频编码,其中,所述网络数据包是所述第一前端云服务器对帧图像进行处理得到的,所述处理包括根据所述渲染指令包进行的渲染处理。
基于第六方面的第一种实现方式,在第二种实现方式中,在所述发送模块向所述第一前端云服务器发送所述云应用服务请求之后,所述发送模块,还用于向所述决策实体发送云应用标识,以使所述决策实体根据所述云应用标识确定与所述云应用标识对应的应用代码,向所述第一前端云服务器发送与所述应用代码对应的渲染指令包;
所述接收模块,还用于接收所述第一前端云服务器发送的网络数据包,显示所述网络数据包中视频编码,其中,所述网络数据包是所述第一前端云服务器对帧图像进行处理得到的,所述处理包括根据所述渲染指令包进行的渲染处理。
第七方面,本发明提供一种云计算资源的分配系统,包括:上述第一前端云服务器、决策实体和客户端。
本实施例中的决策实体在满足云应用需要的条件下,根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给所述客户端提供云应用服务的第一前端云服务器,例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器,通过第一前端云服务器对来自客户端的云应用服务请求提供相应的云应用服务,从而可以减少客户端与前端云服务器之间的网络跳数,减少网络时延和丢包概率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的云计算资源的分配方法的流程示意图;
图2为本发明另一实施例提供的云计算资源的分配方法的流程示意图;
图3为本发明另一实施例提供的云计算资源的分配方法的流程示意图;
图4为本发明另一实施例提供的云计算资源的分配方法的一种信令图;
图5为本发明另一实施例提供的云计算资源的分配方法的又一种信令图;
图6为本发明另一实施例提供的云计算资源的分配方法的又一种信令图;
图7为本发明另一实施例提供的云计算资源的分配方法的又一种信令图;
图8为本发明另一实施例提供的第一前端云服务器的结构示意图;
图9为本发明另一实施例提供的决策实体的结构示意图;
图10为本发明另一实施例提供的客户端的结构示意图;
图11为图1-图7任一所示实施例中云计算资源的分配方法应用的系统架构图;
图12为图1-图7任一所示实施例应用的非图形计算单元的规格示意图;
图13为图1-图7任一所示实施例应用的图形计算单元的规格示意图;
图14为现有技术中云应用服务部署系统架构图;
图15为本发明另一实施例提供的第一前端云服务器的结构示意图;
图16为本发明另一实施例提供的决策实体的结构示意图;
图17为本发明另一实施例提供的客户端的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的技术方案,可以应用于云计算的各种虚拟操作系统,例如:基于内核的虚拟机(英文:Kernel-based Virtual Machine,简称KVM)、Linux容器(英文:Linux Containers,简称LXC)、高速处理器模拟器(英文:Quick EMU lator,简称QEMU)、Linux用户模式(英文:User Mode Linux,简称UML)、VMWare ESX/ESXi4.1、Xen-XenServer5.5、Xen云平台(英文:Xen Cloud Platform,简称XCP)等。
图1为本发明一实施例提供的云计算资源的分配方法的流程示意图,应用于包括客户端、决策实体和多个前端云服务器的网络中,如图1所示,本实施例的云计算资源的分配方法可以包括:
101、多个前端云服务器中的第一前端云服务器接收客户端发送的云应用服务请求,所述第一前端云服务器是决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定的、给所述客户端提供云应用服务的前端云服务器。
图14为现有技术中云应用服务部署系统架构图,如图14所示,通常,客户端请求的云应用服务部署在中心云服务器中,因此,大量并发在线用户产生的大流量需要经过网络运营商的骨干网络,给运营商的骨干网络带来巨大流量冲击。
而本实施例中,图11为图1-图7任一所示实施例中云计算资源的分配方法应用的系统架构图,如图11所示的系统架构图,将客户端请求的云应用操作部署到前端云服务器,从而使得大量并发在线用户产生的大流量不需要经过网络运营商的骨干网络,不会给运营商的骨干网络带来巨大流量冲击,因此,本发明实施例可以降低对运营商的骨干网络带来巨大流量冲击。
如图11所示的系统架构图,本实施例应用的系统包括客户端、前端云服务器和决策实体,其中,客户端和前端云服务器间通过终端侧远程协议通信,例如远程桌面协议(英文:Remote Display Protocol,简称RDP)、独立计算结构(英文:Independent computing architecture,简称ICA)协议、远程桌面(英文:PC-over-IP,简称PCoIP)协议、快速远程桌面(英文:Nomachine NX,简称NX)协议或者私有协议等。前端云服务器和决策实体间通过开放的云间协议通信,例如采用类似的扩展标记语言(英文:eXtensible Markup Language,简称XML)格式或者轻量级的数据交换格式(英文:JavaScript ObjectNotation,简称JSON)承载通信协议的内容。
其中,客户端包括输入设备和输出设备,可以安装云应用的客户端软件或者因特网浏览器(英文:Internet Explorer,简称IE)软件,完成对用户输入操作(例如键盘、鼠标、触摸滑动等)的采集与网络发送,或者客户端软件的渲染指令采集与网络发送。客户端还需处理来自前端云服务器发送的媒体流数据(包括视频、音频),完成解码和或解密,并通过输出设备完成内容显示。客户端包括但不限于智能手机、电脑、智能电视、个人电脑、便携机等设备。
在本实施例中,决策实体主要是根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,确定的、给所述客户端提供云应用服务的前端云服务器。其中,决策实体具体可以为处理器,通常,决策实体可以部署在中心云服务器中,或者也可以部署在前端云服务器中,本发明对比不作限定。
在本发明的一个实施方式中,决策实体获取客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,具体实现时:
例如,用户通过客户端登录决策实体,通常,决策实体提示输入用户信息,对该用户信息进行验证,用户信息例如包括用户名和密码,验证通过后,决策实体向客户端响应,显示用户登录成功。
用户登录成功之后,可以选择欲请求的云应用(例如云游戏),客户端根据用户选择向决策实体发起携带有客户端的位置信息的请求消息。其中,客户端的位置信息例如包括客户端的因特网协议(英文:Internet Protocol,简称IP地址)、介质访问控制(英文:Media Access Control,简称MAC)地址或交换机端口号中的至少一项。
又例如,决策实体可以通过监控程序获得多个前端云服务器的状态信息,例如,每个前端云服务器的状态信息包括但不限于CPU负载、硬盘读写频率、内存使用、GPU负载等信息。
又例如,决策实体可以通过查询客户端与多个前端云服务器之间的网络上的路由器信息,获得客户端与多个前端云服务器之间网络链路状态信息。
在本发明的一个实施方式中,为了减少网络时延和丢包概率,决策实体根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给客户端提供云应用服务的第一前端云服务器,具体实现包括:
例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器。
又例如,在实际应用中,有时候离客户端网络跳数最少的前端云服务器负荷超载或者由于网络状况不好导致与客户端之间的网络链路状态不好,不适合为客户端提供云应用服务时,决策实体可以将任一个与该客户端之间网络链路状态好的前端云服务器确定为第一前端云服务器。
决策实体将确定的第一前端云服务器的信息发送给客户端,其中,第一前端云服务器的信息例如包括第一前端云服务器的IP地址。
客户端根据决策实体发送的第一前端云服务器的信息,向该第一前端云服务器发送云应用服务请求。其中,云应用服务请求例如包括云游戏或云桌面请求。
102、根据所述云应用服务请求进行相应的云应用计算处理,向所述客户端返回所述云应用计算处理的结果。
举例来说,第一前端云服务器包括第一计算模块、第二计算模块和渲染处理模块;
其中,第一计算模块可以是一组为完成某个计算任务所需相关资源的集合构成的单元,第一计算模块例如可以是一个虚拟机或者一个虚拟容器。其中,虚拟机是模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,通过虚拟机软件,一台物理计算机上可以模拟出一个或多个虚拟机,这些虚拟机完全就像真正的计算机那样进行工作,例如可以安装操作系统、安装应用程序、访问网络资源等。虚拟容器,是虚拟层是通过创建虚拟操作系统实例实现的,它再指向根操作系统的关键系统文件,这些指针驻留在操作系统容器受保护的内存中,提供低内存开销,因此虚拟化实例的密度很大。通过共享系统文件的优点,所有容器可能只基于根操作系统提供客户机,举例来说,一个基本的Windows Server 2003操作系统也可用于创建Windows Server 2003容器。
在本发明的另一个实施方式中,第一前端云服务器可以在第一计算模块中预设一个或一个以上的计算单元,其中,计算单元可以为图像计算单元或者非图像计算单元。
其中,图12为图1-图7任一所示实施例应用的非图形计算单元的规格示意图;如图12所示,具体按照用户需求对第一计算模块的物理资源进行虚拟化,虚拟成各种规格的非图形计算单元。通常,非图形计算单元不提供图形处理的硬件加速,简单的图形处理需求通过虚拟中央处理单元(英文:Central Processing Unit,简称CPU)的软件模拟实现。
图形计算单元通常具备图形处理的硬件加速,例如CPU完成应用逻辑的处理,虚拟图形处理单元(英文:Graphics Processing Unit,简称GPU)完成相关的图形处理计算;图13为图1-图7任一所示实施例应用的图形计算单元的规格示意图,如图13所示,具体实现时,通过虚拟化技术将底层的物理显卡虚拟化成若干个vGPU单元与虚拟显存单元。显卡虚拟化包含vGPU单元和虚拟显存单元。
需要说明的是,本实施例中,GPU虚拟化的实现方式包括如下方式:
例如,对直接支持GPU虚拟化的显卡可以通过虚拟层进行直接虚拟化;具体实现时,由虚拟化层将物理显卡抽象成多个显卡,每一个抽象显卡供给一个虚拟机(英文:Virtual Machine,简称VM)使用。虚拟层需要实现底层硬件的屏蔽,掩藏显卡的细节,保证应用的迁移灵活性。显卡本身的一些特性无法为应用所用。
又例如,对不直接支持GPU虚拟化的显卡采用特权进程加应用进程方式,由特权进程上的后端驱动完成虚拟化;具体实现时,虚拟机监控器(英文:Virtual Machine Monitor,简称VMM)将GPU设备的控制权,交由设备管理上的后端设备驱动,后端驱动完成GPU的访问,其它VM上应用通过前端设备驱动调用后端设备驱动完成GPU的访问。后端设备驱动可使用到显卡本身的特性,对前端设备驱动屏蔽显卡硬件细节,保证应用的任意迁移,后端设备驱动可能是所用应用的性能瓶颈。特权进程也称为虚拟化进程。
又例如,操作系统虚拟化方式,在一个操作系统上运行多个图形渲染的应用,由操作系统调度应用完成GPU的虚拟化;具体实现时,在一个操作系统运行多个容器,在容器中运行图形应用。虚拟层是通过创建虚拟操作系统实例实现的,它再指向根操作系统的关键系统文件。容器中图形应用通过容器来访问物理上的GPU。由于容器本身不需要安装操作系统,其操作系统使用的是主机操作系统。
又例如,远程虚拟化,当本地无显卡或者无法满足虚拟化服务时,将渲染请求通过远端进程调用(英文:Remote Process Call,简称RPC)调度到其他的物理显卡执行,完成GPU的虚拟化;具体实现时,在本地没有显卡或者本地显卡功能较弱时将图形计算需求通过RPC方式发送到其他物理GPU上,捕获应用的图形处理计算指令发送到安装有显卡的服务器,最终再通过RPC调用取回渲染结果。
其中,第二计算模块是第一前端云服务器提供的通用功能模块,为各类应用开发提供公共基础的组件支持;例如包括压缩单元、编解码单元、流化单元、加解密模块和协议通讯模块。压缩单元用于将渲染生成的帧图像进行压缩处理,编解码单元用于将压缩后的帧图像转换成适合在网络传输和客户端解码的视频编码,流化单元用于将视频编码封装成网络数据包传送到客户端,加解密模块为运应用提供加密和解密功能。协议通讯模块提供客户端和第一前端云服务器,以及第一前端云服务器和决策实体之间的通信。
需要说明的是,本实施例中,第二计算模块可作为动态链接库(英文:Dynamic Link Library,简称DLL)的形式对外开放,即可作为独立库文件运行在目标系统中,通过运行时载入应用可获得最新的计算功能库版本;DLL库也可以直接载入到镜像文件中。或者第二计算模块也可作为服务模块的形式对外开放,即通过让应用调用应用程序编程接口(英文:ApplicationProgramming Interface,简称API)提供服务,第二计算模块的服务模块可以是运行在服务器的软件,可以是运行在现场可编程门阵列(英文:Field-Programmable Gate Array,简称FPGA)中的逻辑或者是以专用集成电路(英文:Application Specific Integrated Circuit,简称ASIC)呈现,可以是硬件、逻辑和软件的结合体。本地存储可用于提供模块间的缓存,也可用于用户输入输出数据的缓存。
渲染处理模块例如通过应用程序编程接口(英文:ApplicationProgramming Interface,简称API)接收渲染指令包(例如Direct3D指令),获取渲染指令包中的渲染指令,将获取的渲染指令发送给第一计算模块进行渲染处理。
为了达到应用需求和计算能力的匹配,满足应用需求的同时充分使用物理硬件资源,在本发明的另一个实施方式中,客户端向第一前端云服务器发送的云应用服务请求中包括匹配信息,所述匹配信息包括云应用类型信息和/或所述客户端的显示分辨率信息和/或所述客户端的操作系统类型信息;第一前端云服务器可以根据所述云应用类型信息和/或所述客户端的显示分辨率信息,确定与所述应用类型和/或所述客户端的显示分辨率匹配的图像计算单元或非图像计算单元;例如,同一种应用在不同分辨率下显示需要的图形计算能力是不一样的,分辨率越高需求的图形计算越大。同一个分辨率下不同应用需求的图形计算能力也是不一样的,界面变化越剧烈需求的图形计算越大。需要根据分辨率和应用选择合适的图形处理单元,需求高的就分配高性能的计算单元,需求低就分配低性能的计算单元。
根据所述云应用类型信息和/或所述客户端的显示分辨率信息,确定编解码单元中采用的转码码率,其中,确定的转码码率与所述应用类型和/或所述客户端的显示分辨率相匹配;例如,帧率高分辨率高编码后码流的码率就越高。
根据所述客户端的操作系统类型信息,确定与所述客户端的操作系统类型匹配的渲染处理模块,例如,为Windows环境选择微软提供的3D渲染库(英文:Direct3D)渲染处理模块,Android环境选择开放图形库(英文:OpenGraphics Library,简称OpenGL)渲染处理模块。
在本发明的另一个实施方式中,为了降低第一前端云服务器与决策实体之间的数据交互量,将云应用计算中需要的渲染素材存储在第一前端云服务器中,可以降低渲染素材的获取时间,从而可以提高计算速度,降低网络时延。
在本发明的另一个实施方式中,为了降低第一前端云服务器与决策实体之间的数据交互量,将云应用服务中需要的应用代码存储在第一前端云服务器中,可以降低应用代码的获取时间,从而可以提高计算速度,降低网络时延。
假设客户端运行应用代码,第一前端云服务器进行渲染处理,客户端为了获取应用代码,向第一前端云服务器发送的云应用服务请求中还包括云应用标识。
第一前端云服务器向所述客户端发送与所述云应用标识对应的应用代码,以使所述客户端向所述第一前端云服务器发送与所述应用代码对应的渲染指令包。
第一前端云服务器中与所述客户端的操作系统类型匹配的渲染处理模块获取所述渲染指令包中的渲染指令,将所述渲染指令发送给所述第一前端云服务器中与所述应用类型和/或所述客户端的显示分辨率匹配的图像计算单元或非图形计算单元。
与所述应用类型和/或所述客户端的显示分辨率匹配的图像计算单元或非图形计算单元根据所述渲染指令调用预先存储的渲染素材进行渲染处理,将所述渲染处理后的帧图像发送给第二计算模块中。
所述第二计算模块采用与所述云应用类型和/或所述客户端的显示分辨率匹配的转码码率,将所述渲染处理后的帧图像进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将所述视频编码封装成网络数据包发送给所述客户端。
在本发明的另一个实施方式中,假设决策实体运行应用代码,第一前端云服务器进行渲染处理,决策实体根据所述客户端发送的云应用标识确定的与所述云应用标识对应的应用代码,根据所述确定的应用代码向所述第一前端云服务器发送的与所述应用代码对应的渲染指令包。
第一前端云服务器中与所述客户端的操作系统类型匹配的渲染处理模块获取所述渲染指令包中的渲染指令,将所述渲染指令发送给所述第一前端云服务器中与所述应用类型和/或所述客户端的显示分辨率匹配的图像计算单元或非图形计算单元。
与所述应用类型和/或所述客户端的显示分辨率匹配的图像计算单元或非图形计算单元根据所述渲染指令调用预先存储的渲染素材进行渲染处理,将所述渲染处理后的帧图像发送给第二计算模块中。
所述第二计算模块采用与所述云应用类型和/或所述客户端的显示分辨率匹配的转码码率,将所述渲染处理后的帧图像进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将所述视频编码封装成网络数据包发送给所述客户端。
在本发明的另一个实施方式中,假设第一前端云服务器既运行应用代码,又进行渲染处理,客户端向第一前端云服务器发送的云应用服务请求中还包括云应用标识。
第一前端云服务器根据所述客户端发送的云应用标识,确定与所述云应用标识对应的应用代码,根据所述确定的应用代码构造与所述应用代码对应的渲染指令。
第一前端云服务器中与所述客户端的操作系统类型匹配的渲染处理模块获取所述渲染指令,将所述渲染指令发送给所述第一前端云服务器中与所述应用类型和/或所述客户端的显示分辨率匹配的图像计算单元或非图形计算单元。
与所述应用类型和/或所述客户端的显示分辨率匹配的图像计算单元或非图形计算单元根据所述渲染指令调用预先存储的渲染素材进行渲染处理,将所述渲染处理后的帧图像发送给第二计算模块中。
所述第二计算模块采用与所述云应用类型和/或所述客户端的显示分辨率匹配的转码码率,将所述渲染处理后的帧图像进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将所述视频编码封装成网络数据包发送给所述客户端。
在本发明的另一个实施方式中,为了提高处理性能,降低处理时延,第二计算模块中的压缩单元、编解码单元、流化单元中设有输入输出缓存,具体地,第二计算模块将所述渲染处理后的帧图像进行转码编码并生成适合所述客户端显示的视频数据,将所述视频数据发送给所述客户端,包括:
所述压缩单元将所述渲染处理后的帧图像进行压缩,并将所述压缩后的帧图像存放到所述编解码单元的输入缓存中;
编解码单元采用与所述云应用类型和/或所述客户端的显示分辨率匹配的转码码率将输入缓存中的压缩后的帧图像进行转码处理,转换成适合在网络传输和客户端解码的视频编码,并将视频编码存放到流化单元的输入缓存中;
流化单元采用所述客户端使用的传输协议和/或封装协议将输入缓存中的视频编码封装成网络数据包传送到客户端。
本实施例中的决策实体在满足云应用需要的条件下,根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给所述客户端提供云应用服务的第一前端云服务器,例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器,通过第一前端云服务器对来自客户端的云应用服务请求提供相应的云应用服务,从而可以减少客户端与第一前端云服务器之间的网络跳数,减少网络时延和丢包概率;
同时,本实施例中,将根据客户端云应用服务请求提供相应的云应用操服务部署到前端云服务器,使得大量并发在线用户产生的大流量不需要经过网络运营商的骨干网络,不会给运营商的骨干网络带来巨大流量冲击,可以降低对运营商的骨干网络带来巨大流量冲击。
本实施例中,将云应用计算中需要的渲染素材存储在前端云服务器中,可以降低渲染素材的获取时间,降低前端云服务器中计算模块与决策实体之间的数据交互量,从而可以提高计算速度,降低网络时延。
本实施例中,第一前端云服务器可以根据客户端请求的云应用类型和/或客户端的显示分辨率,确定与客户端请求的云应用类型和/或客户端的显示分辨率匹配的图像计算单元或非图像计算单元;例如,同一种应用在不同分辨率下显示需要的图形计算能力是不一样的,分辨率越高需求的图形计算越大。同一个分辨率下不同应用需求的图形计算能力也是不一样的,界面变化越剧烈需求的图形计算越大。从而可以实现根据客户端的显示分辨率和客户端请求的云应用类型选择合适的图像计算单元或非图像计算单元,需求高的就分配高性能的图像计算单元或非图像计算单元,需求低就分配低性能的图像计算单元或非图像计算单元,达到应用需求和计算能力的匹配,满足应用需求的同时充分使用物理硬件资源。
本实施例中,第二计算模块中的各单元均有输入输出缓存,例如,将渲染后的帧图像进行压缩处理后直接存放到编解码单元的输入缓存中,编解码单元将转码处理后视频数据直接放入到流化单元的输入缓存中,可以降低各单元之间数据的拷贝时间,提高应用服务的性能,降低处理时延。
图2为本发明另一实施例提供的云计算资源的分配方法的流程示意图;如图2所示,包括:
201、决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定的、给所述客户端提供云应用服务的第一前端云服务器。
如图14所示,通常,客户端请求的云应用服务部署在决策实体中,因此,大量并发在线用户产生的大流量需要经过网络运营商的骨干网络,给运营商的骨干网络带来巨大流量冲击。
而本实施例中,如图11所示的系统架构图,将客户端请求的云应用操作部署到前端云服务器,从而使得大量并发在线用户产生的大流量不需要经过网络运营商的骨干网络,不会给运营商的骨干网络带来巨大流量冲击,因此,本发明实施例可以降低对运营商的骨干网络带来巨大流量冲击。
如图11所示的系统架构图,本实施例应用的系统包括客户端、多个前端云服务器和决策实体,其中,客户端和多个前端云服务器间通过终端侧远程协议通信,例如RDP、ICA、PCoIP、NX或者私有协议等。多个前端云服务器和决策实体间通过开放的云间协议通信,例如采用类似的XML格式或者JSON格式承载通信协议的内容。
其中,客户端包括输入设备和输出设备,可以安装云应用的客户端软件或者IE浏览器软件,完成对用户输入操作(例如键盘、鼠标、触摸滑动等)的采集与网络发送,或者客户端软件的渲染指令采集与网络发送。客户端还需处理来自第一前端云服务器发送的媒体流数据(包括视频、音频),完成解码和或解密,并通过输出设备完成内容显示。客户端包括但不限于智能手机、电脑、智能电视、个人电脑、便携机等设备。
在本实施例中,决策实体主要是根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定给所述客户端提供云应用服务的第一前端云服务器。其中,决策实体可以部署在中心云服务器中,或者也可以部署在前端云服务器中,本发明对比不作限定。
在本实施例中为客户端提供云应用服务的第一前端云服务器为决策实体根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定第一前端云服务器,其中,云应用服务例如包括云游戏或云桌面。
在本发明的一个实施方式中,决策实体获取客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,具体包括:
例如,用户通过客户端登录决策实体,通常,决策实体提示输入用户信息,对该用户信息进行验证,用户信息例如包括用户名和密码,验证通过后,决策实体向客户端响应,显示用户登录成功。
用户登录成功之后,可以选择欲请求的云应用(例如云游戏),客户端根据用户选择向决策实体发起携带有客户端的位置信息的请求消息。其中,客户端的位置信息例如包括客户端的因特网协议(英文:Internet Protocol,简称IP地址)、介质访问控制(英文:Media Access Control,简称MAC)地址或交换机端口号中的至少一项。
又例如,决策实体可以通过监控程序获得多个前端云服务器的状态信息,例如,每个前端云服务器的状态信息包括但不限于CPU负载、硬盘读写频率、内存使用、GPU负载等信息。
又例如,决策实体可以通过查询客户端与多个前端云服务器之间的网络上的路由器信息,获得客户端与多个前端云服务器之间网络链路状态信息。
在本发明的一个实施方式中,为了减少网络时延和丢包概率,决策实体根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个第一前端云服务器之间对应的网络链路状态信息,动态地确定给客户端提供云应用服务的第一前端云服务器,具体实现包括:
例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器;
又例如,在实际应用中,有时候离客户端网络跳数最少的前端云服务器负荷超载或者由于网络状况不好导致与客户端之间的网络链路状态不好,不适合为客户端提供云应用服务时,决策实体可以将任一个与该客户端之间网络链路状态好的前端云服务器确定为第一前端云服务器。
202、将所述确定的第一前端云服务器的信息发送给所述客户端,以使所述客户端根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求。
其中,第一前端云服务器的信息例如包括但不限于第一前端云服务器的IP地址。
客户端根据决策实体发送的第一前端云服务器的信息,向该第一前端云服务器发送云应用服务请求,以使所述第一前端云服务器根据所述云应用服务请求进行相应的云应用计算处理,向所述客户端返回所述云应用计算处理的结果。
在本发明的一个实施方式中,为了降低第一前端云服务器与决策实体之间的数据交互量,将云应用服务中需要的应用代码存储在第一前端云服务器中,可以降低应用代码的获取时间,从而可以提高计算速度,降低网络时延。
具体实现时,决策实体根据所述客户端发送的云应用标识,将与所述云应用标识对应的应用代码发送给所述第一前端云服务器,以使所述第一前端云服务器根据所述客户端发送的云应用标识,向所述客户端发送与所述云应用标识对应的应用代码。客户端根据应用代码向第一前端云服务器发送与应用代码对应的渲染指令包,以使第一前端云服务器根据所述渲染指令包中的渲染指令,调用预先存储的渲染素材进行渲染处理,将渲染后的帧图像进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将所述视频编码封装为网络数据包发送给所述客户端。
在本发明的另一个实施方式中,决策实体运行应用代码,第一前端云服务器进行渲染处理,具体实现时,决策实体根据所述客户端发送的云应用标识,确定与所述云应用标识对应的应用代码;向所述第一前端云服务器发送与所述确定的应用代码对应的渲染指令包,以使所述第一前端云服务器根据所述渲染指令包中的渲染指令,调用预先存储的渲染素材进行渲染处理,将渲染后的帧图像进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将所述视频编码封装为网络数据包发送给所述客户端。
本实施例中的决策实体在满足云应用需要的条件下,根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给所述客户端提供云应用服务的第一前端云服务器,例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器,通过第一前端云服务器对来自客户端的云应用服务请求提供相应的云应用服务,从而可以减少客户端与第一前端云服务器之间的网络跳数,减少网络时延和丢包概率;
同时,本实施例中,将根据客户端云应用服务请求提供相应的云应用操服务部署到前端云服务器,使得大量并发在线用户产生的大流量不需要经过网络运营商的骨干网络,不会给运营商的骨干网络带来巨大流量冲击,可以降低对运营商的骨干网络带来巨大流量冲击。
图3为本发明另一实施例提供的云计算资源的分配方法的流程示意图;如图3所示,包括:
301、客户端接收所述决策实体发送的第一前端云服务器的信息,所述第一前端云服务器是所述决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定的、给所述客户端提供云应用服务的前端云服务器。
如图14所示,通常,客户端请求的云应用操作部署在决策实体中,因此,大量并发在线用户产生的大流量需要经过网络运营商的骨干网络,给运营商的骨干网络带来巨大流量冲击。
而本实施例中,如图11所示的系统架构图,将客户端请求的云应用操作部署到前端云服务器,从而使得大量并发在线用户产生的大流量不需要经过网络运营商的骨干网络,不会给运营商的骨干网络带来巨大流量冲击,因此,本发明实施例可以降低对运营商的骨干网络带来巨大流量冲击。
如图11所示的系统架构图,本实施例应用的系统包括客户端、多个前端云服务器和决策实体,其中,客户端和多个前端云服务器间通过终端侧远程协议通信,例如RDP、ICA、PCoIP、NX或者私有协议等。多个前端云服务器和决策实体间通过开放的云间协议通信,例如采用类似的XML格式或者JSON格式承载通信协议的内容。
其中,客户端包括输入设备和输出设备,可以安装云应用的客户端软件或者IE浏览器软件,完成对用户输入操作(例如键盘、鼠标、触摸滑动等)的采集与网络发送,或者客户端软件的渲染指令采集与网络发送。客户端还需处理来自第一前端云服务器发送的媒体流数据(包括视频、音频),完成解码和或解密,并通过输出设备完成内容显示。客户端包括但不限于Pad、智能手机、电脑、智能电视、个人电脑PC、便携机等设备。
在本实施例中,决策实体主要是根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定给所述客户端提供云应用服务的第一前端云服务器。其中,决策实体可以部署在中心云服务器中,或者也可以部署在前端云服务器中,本发明对比不作限定。
在本实施例中为客户端提供云应用服务的第一前端云服务器为决策实体根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间的网络链路状态信息,确定的第一前端云服务器,其中,云应用服务例如包括云游戏或云桌面。
在本发明的一个实施方式中,决策实体获取客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间的网络链路状态信息,具体包括:
例如,用户通过客户端登录决策实体,通常,决策实体提示输入用户信息,对该用户信息进行验证,用户信息例如包括用户名和密码,验证通过后,决策实体向客户端响应,显示用户登录成功。
用户登录成功之后,可以选择欲请求的云应用(例如云游戏),客户端根据用户选择向决策实体发起携带有客户端的位置信息的请求消息。其中,客户端的位置信息例如包括客户端的因特网协议(英文:Internet Protocol,简称IP地址)、介质访问控制(英文:Media Access Control,简称MAC)地址或交换机端口号中的至少一项。
又例如,决策实体可以通过监控程序获得多个前端云服务器的状态信息,例如,每个前端云服务器的状态信息包括但不限于CPU负载、硬盘读写频率、内存使用、GPU负载等信息。
又例如,决策实体可以通过查询客户端与多个前端云服务器之间的网络上的路由器信息,获得客户端与多个前端云服务器之间网络链路状态信息。
在本发明的一个实施方式中,为了减少网络时延和丢包概率,决策实体根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给客户端提供云应用服务的第一前端云服务器,具体实现包括:
例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器;
又例如,在实际应用中,有时候离客户端网络跳数最少的前端云服务器负荷超载或者由于网络状况不好导致与客户端之间的网络链路状态不好,不适合为客户端提供云应用服务时,决策实体可以将任一个与该客户端之间网络链路状态好的前端云服务器确定为第一前端云服务器。
决策实体将确定的第一前端云服务器的信息发送给客户端,其中,第一前端云服务器的信息包括但不限于第一前端云服务器的IP地址。
302、根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求。
在本发明的一个实施方式中,为了降低第一前端云服务器与决策实体之间的数据交互量,将云应用服务中需要的应用代码存储在第一前端云服务器中,可以降低应用代码的获取时间,从而可以提高计算速度,降低网络时延。
具体实现时,客户端根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求,所述云应用服务请求中包含云应用标识;第一前端云服务器根据云应用标识确定与云应用标识对应的应用代码并发送给客户端;
客户端接收所述第一前端云服务器发送的与所述云应用标识对应的应用代码;
客户端根据所述应用代码,向所述第一前端云服务器发送与所述应用代码对应的渲染指令包,以使所述第一前端云服务器根据所述渲染指令包中的渲染指令调用预先存储的渲染素材进行渲染处理,将渲染后的帧图像进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将所述视频编码封装为网络数据包发送给所述客户端;
客户端接收所述第一前端云服务器发送的网络数据包,显示所述网络数据包中视频编码。
在本发明的另一个实施方式中,决策实体运行应用代码,第一前端云服务器进行渲染处理,具体实现时,客户端向所述决策实体发送云应用标识,以使所述决策实体根据所述云应用标识确定与所述云应用标识对应的应用代码,向所述第一前端云服务器发送与所述应用代码对应的渲染指令包,以使所述第一前端云服务器根据所述渲染指令包中的渲染指令调用预先存储的渲染素材进行渲染处理,将渲染后的帧图像进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将所述视频编码封装为网络数据包发送给所述客户端;
客户端接收所述第一前端云服务器发送的网络数据包,显示所述网络数据包中视频编码。
本实施例中的决策实体在满足云应用需要的条件下,根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给所述客户端提供云应用服务的第一前端云服务器,例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器,通过第一前端云服务器对来自客户端的云应用服务请求提供相应的云应用服务,从而可以减少客户端与第一前端云服务器之间的网络跳数,减少网络时延和丢包概率;
同时,本实施例中,将根据客户端云应用服务请求提供相应的云应用操服务部署到前端云服务器,使得大量并发在线用户产生的大流量不需要经过网络运营商的骨干网络,不会给运营商的骨干网络带来巨大流量冲击,可以降低对运营商的骨干网络带来巨大流量冲击。
图4为本发明另一实施例提供的云计算资源的分配方法的一种信令图;假设决策实体部署中中心云服务器中,客户端请求云游戏,云游戏的应用代码运行在客户端,前端云服务器进行云游戏的渲染处理,前端云服务器为客户端提供的云游戏的信令过程如图4所示,包括:
401、客户端向中心云服务器发送用户信息。
例如,用户通过客户端登录中心云服务器,中心云服务器提示输入用户信息(例如用户名和密码),用户通过客户端输入用户名和密码。
402、中心云服务器向客户端发送登录响应。
例如,中心云服务器对用户信息进行验证,验证通过后向客户端发送登录响应,显示用户登录成功。
403、客户端向中心云服务器发送客户端位置信息。
例如,用户选择欲进行的云游戏,向中心云服务器发起请求,其中,请求消息中携带有客户端位置信息。
404、中心云服务器确定给该客户端提供云应用服务的第一前端云服务器。
例如,中心云服务器可以通过监控程序获得多个前端云服务器的状态信息,其中,每个前端云服务器的状态信息包括但不限于CPU负载、硬盘读写频率、内存使用、GPU负载等信息。
又例如,中心云服务器可以通过查询客户端与多个前端云服务器之间的网络上的路由器信息,获得客户端与多个前端云服务器之间对应的网络链路状态信息。
中心云服务器根据客户端的位置信息、多个前端云服务器的状态信息和/或客户端与多个前端云服务器之间对应的网络链路状态信息,确定给该客户端提供云应用服务的第一前端云服务器。
405、中心云服务器向客户端发送第一前端云服务器信息。
例如,中心云服务器通过应答和重定向消息将第一前端云服务器信息发送给客户端,第一前端云服务器信息例如可以是第一前端云服务器的IP地址。
406、客户端向第一前端云服务器发送连接请求。
例如,用户通过客户端向第一前端云服务器发起连接请求,连接请求中携带有云游戏标识,第一前端云服务器根据云游戏标识进行游戏的初始化。
又例如,连接请求中还携带有客户端的显示分辨率、客户端的操作系统类型或游戏类型等信息。第一前端云服务器根据客户端的显示分辨率或游戏类型选择匹配的图形计算单元,并将该匹配的图形计算单元状态为不可用;第一前端云服务器根据客户端的操作系统类型选择渲染处理模块,例如,为Windows环境选择微软提供的3D渲染库(英文:Direct3D)渲染处理模块,Android环境选择开放图形库(英文:Open Graphics Library,简称OpenGL)渲染处理模块。第一前端云服务器根据客户端的显示分辨率或游戏类型确定匹配的转码码率。
407、第一前端云服务器向客户端发送连接请求响应。
例如,第一前端云服务器根据云游戏标识确定与云游戏标识对应的游戏代码,将确定的游戏代码携带在连接请求响应中发送给客户端。
又例如,第一前端云服务器也可以将匹配的图形计算单元的虚拟IP地址携带在连接请求响应中发送给客户端。
408、客户端向第一前端云服务器发送渲染指令包。
例如,客户端接收到游戏代码后,进行游戏设置,通过输入设备开始运行游戏程序,游戏程序将游戏中渲染指令封装为网络数据包,该包含有渲染指令的网络数据包称为渲染指令包,将渲染指令包发送给匹配的图形计算单元。为保证传输效率,可以对渲染指令包压缩。
409、第一前端云服务器根据接收的渲染指令调用渲染素材进行渲染处理,将渲染后的帧图像进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将所述视频编码封装为网络数据包。
例如,与客户端的操作系统类型匹配的渲染处理模块通过应用程序编程接口API接收到渲染指令包后,获取渲染指令,将渲染指令发送给匹配的图形计算单元;
为了减少网络时延,第一前端云服务器预先存储有渲染素材,匹配的图形计算单元调用预先存储的渲染素材进行渲染处理,将渲染后的帧图像发送给第二计算模块,第二计算模块中的压缩单元可以对该渲染后的帧图像进行压缩处理,将压缩处理后的帧图像发送给编解码单元,编解码单元采用与客户端的显示分辨率或游戏类型确定匹配的转码码率进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将该视频编码发送流化单元,流化单元将该视频编码封装为网络数据包。
410、第一前端云服务器向客户端发送包含有视频编码的网络数据包。
重复步骤408-410。
411、客户端向第一前端云服务器发送离开游戏请求。
例如,第一前端云服务器可以将匹配的图形计算单元标记为可用状态。
412、第一前端云服务器向中心云服务器发送游戏进度、游戏时间或成绩等信息。
用户通过客户端从中心云服务器上退出登录。
本实施例中的中心云服务器在满足云应用需要的条件下,根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给所述客户端提供云应用服务的第一前端云服务器,例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器,通过第一前端云服务器对来自客户端的云应用服务请求提供相应的云应用服务,从而可以减少客户端与前端云服务器之间的网络跳数,减少网络时延和丢包概率;
同时,本实施例中,将根据客户端云游戏请求提供相应的云游戏部署到前端云服务器,使得大量并发云游戏在线用户产生的大流量不需要经过网络运营商的骨干网络,不会给运营商的骨干网络带来巨大流量冲击,可以降低对运营商的骨干网络带来巨大流量冲击。
图5为本发明另一实施例提供的云计算资源的分配方法的又一种信令图;假设决策实体部署在中心服务器中,客户端请求云游戏,云游戏的应用代码运行在决策实体,前端云服务器进行云游戏的渲染处理,前端云服务器为客户端提供云游戏的信令过程如图5所示,包括:
501、客户端向中心云服务器发送用户信息。
例如,用户通过客户端登录中心云服务器,中心云服务器提示输入用户信息(例如用户名和密码),用户通过客户端输入用户名和密码。
502、中心云服务器向客户端发送登录响应。
例如,中心云服务器对用户信息进行验证,验证通过后向客户端发送登录响应,显示用户登录成功。
503、客户端向中心云服务器发送客户端位置信息。
例如,用户选择欲进行的云游戏,向中心云服务器发起请求,其中,请求消息中携带有客户端位置信息。
504、中心云服务器确定给该客户端提供云应用服务的第一前端云服务器。
例如,中心云服务器可以通过监控程序获得多个前端云服务器的状态信息,其中,每个前端云服务器的状态信息包括但不限于CPU负载、硬盘读写频率、内存使用、GPU负载等信息。
又例如,中心云服务器可以通过查询客户端与多个前端云服务器之间的网络上的路由器信息,获得客户端与多个前端云服务器之间对应的网络链路状态信息。
中心云服务器根据客户端的位置信息、多个前端云服务器的状态信息和/或客户端与多个前端云服务器之间对应的网络链路状态信息,确定给该客户端提供云应用服务的第一前端云服务器。
505、中心云服务器向客户端发送第一前端云服务器信息。
例如,中心云服务器通过应答和重定向消息将第一前端云服务器信息发送给客户端,第一前端云服务器信息例如可以是第一前端云服务器的IP地址。
506、客户端向第一前端云服务器发送连接请求。
例如,用户通过客户端向第一前端云服务器发起连接请求,连接请求中携带有客户端的显示分辨率、客户端的操作系统类型或游戏类型等信息。第一前端云服务器根据客户端的显示分辨率或游戏类型选择匹配的图形计算单元,并将该匹配的图形计算单元状态为不可用;第一前端云服务器根据客户端的操作系统类型选择渲染处理模块,例如,为Windows环境选择Direct3D渲染处理模块,Android环境选择OpenGL渲染处理模块。第一前端云服务器根据客户端的显示分辨率或游戏类型确定匹配的转码码率。
507、客户端向中心云服务器发送云游戏标识。
例如,用户选择云游戏之后,通过客户端向中心云服务器发送云游戏标识,中心云服务器进行游戏的初始化,根据云游戏标识构造相应的渲染指令包。
508、中心云服务器向第一前端云服务器发送渲染指令包。
509、第一前端云服务器根据接收的渲染指令调用渲染素材进行渲染处理,将渲染后的帧图像进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将所述视频编码封装为网络数据包。
例如,与客户端的操作系统类型匹配的渲染处理模块通过应用程序编程接口API接收到渲染指令包后,获取渲染指令,将渲染指令发送给匹配的图形计算单元;
为了减少网络时延,第一前端云服务器预先存储有渲染素材,匹配的图形计算单元调用预先存储的渲染素材进行渲染处理,将渲染后的帧图像发送给第二计算模块,第二计算模块中的压缩单元可以对该渲染后的帧图像进行压缩处理,将压缩处理后的帧图像发送给编解码单元,编解码单元采用与客户端的显示分辨率或游戏类型确定匹配的转码码率进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将该视频编码发送流化单元,流化单元将该视频编码封装为网络数据包。
510、第一前端云服务器向客户端发送包含有视频编码的网络数据包。
重复步骤508-510。
511、客户端向中心云服务器发送离开游戏请求。
例如,中心云服务器将游戏进度、游戏时间或成绩等信息进行归档。
用户通过客户端从中心云服务器上退出登录。
本实施例中的中心云服务器在满足云应用需要的条件下,根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个所述前端云服务器之间对应的网络链路状态信息,动态地确定给所述客户端提供云应用服务的第一前端云服务器,例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器,通过第一前端云服务器对来自客户端的云应用服务请求提供相应的云应用服务,从而可以减少客户端与前端云服务器之间的网络跳数,减少网络时延和丢包概率;
同时,本实施例中,将根据客户端云游戏请求提供相应的云游戏部署到前端云服务器,使得大量并发云游戏在线用户产生的大流量不需要经过网络运营商的骨干网络,不会给运营商的骨干网络带来巨大流量冲击,可以降低对运营商的骨干网络带来巨大流量冲击。
图6为本发明另一实施例提供的云计算资源的分配方法的又一种信令图;假设决策实体部署在中心云服务器上,客户端请求云游戏,前端云服务器运行云游戏代码并进行云游戏的渲染处理,前端云服务器为客户端提供云游戏的信令过程如图6所示,包括:
601、客户端向中心云服务器发送用户信息。
例如,用户通过客户端登录中心云服务器,中心云服务器提示输入用户信息(例如用户名和密码),用户通过客户端输入用户名和密码。
602、中心云服务器向客户端发送登录响应。
例如,中心云服务器对用户信息进行验证,验证通过后向客户端发送登录响应,显示用户登录成功。
603、客户端向中心云服务器发送客户端位置信息。
例如,用户选择欲进行的云游戏,向中心云服务器发起请求,其中,请求消息中携带有客户端位置信息。
604、中心云服务器确定给该客户端提供云应用服务的第一前端云服务器。
例如,中心云服务器可以通过监控程序获得多个前端云服务器的状态信息,其中,每个前端云服务器的状态信息包括但不限于CPU负载、硬盘读写频率、内存使用、GPU负载等信息。
又例如,中心云服务器可以通过查询客户端与多个前端云服务器之间的网络上的路由器信息,获得客户端与多个前端云服务器之间网络链路状态信息。
中心云服务器根据客户端的位置信息、多个前端云服务器的状态信息和/或客户端与多个前端云服务器之间网络链路状态信息,确定给该客户端提供云应用服务的第一前端云服务器。
605、中心云服务器向客户端发送第一前端云服务器信息。
例如,中心云服务器通过应答和重定向消息将第一前端云服务器信息发送给客户端,第一前端云服务器信息例如可以是第一前端云服务器的IP地址。
606、客户端向第一前端云服务器发送连接请求。
例如,用户通过客户端向第一前端云服务器发起连接请求,连接请求中携带有客户端的显示分辨率、客户端的操作系统类型或游戏类型等信息。第一前端云服务器根据客户端的显示分辨率或游戏类型选择匹配的图形计算单元,并将该匹配的图形计算单元状态为不可用;第一前端云服务器根据客户端的操作系统类型选择渲染处理模块,例如,为Windows环境选择Direct3D渲染处理模块,Android环境选择OpenGL渲染处理模块。第一前端云服务器根据客户端的显示分辨率或游戏类型确定匹配的转码码率。
607、客户端向第一前端云服务器发送云游戏标识。
例如,假设第一前端云服务器中预先存储有云游戏代码,客户端连接请求成功之后,用户通过客户端选择云游戏,将选择的云游戏标识发送给第一前端云服务器。
第一前端云服务器根据云游戏标识调用预先存储的与云游戏标识对应的云游戏代码,根据云游戏代码构造与云游戏代码对应的渲染指令。
608、第一前端云服务器根据构造的渲染指令,调用渲染素材进行渲染处理,将渲染后的帧图像进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将所述视频编码封装为网络数据包。
例如,与客户端的操作系统类型匹配的渲染处理模块将渲染指令发送给匹配的图形计算单元;
为了减少网络时延,第一前端云服务器预先存储有渲染素材,匹配的图形计算单元调用预先存储的渲染素材进行渲染处理,将渲染后的帧图像发送给第二计算模块,第二计算模块中的压缩单元可以对该渲染后的帧图像进行压缩处理,将压缩处理后的帧图像发送给编解码单元,编解码单元采用与客户端的显示分辨率或游戏类型确定匹配的转码码率进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将该视频编码发送流化单元,流化单元将该视频编码封装为网络数据包。
609、第一前端云服务器向客户端发送包含有视频编码的网络数据包。
重复步骤608-609。
610、客户端向第一前端云服务器发送离开游戏请求。
例如,第一前端云服务器可以将匹配的图形计算单元标记为可用状态。
611、第一前端云服务器向中心云服务器发送游戏进度、游戏时间或成绩等信息。
用户通过客户端从中心云服务器上退出登录。
本实施例中的中心云服务器在满足云应用需要的条件下,根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给所述客户端提供云应用服务的第一前端云服务器,例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器,通过第一前端云服务器对来自客户端的云应用服务请求提供相应的云应用服务,从而可以减少客户端与前端云服务器之间的网络跳数,减少网络时延和丢包概率;
同时,本实施例中,将根据客户端云游戏请求提供相应的云游戏部署到前端云服务器,使得大量并发云游戏在线用户产生的大流量不需要经过网络运营商的骨干网络,不会给运营商的骨干网络带来巨大流量冲击,可以降低对运营商的骨干网络带来巨大流量冲击。
图7为本发明另一实施例提供的云计算资源的分配方法的又一种信令图;假设决策实体部署在中心云服务器中,客户端请求云桌面,前端云服务器运行云桌面代码并进行云桌面的渲染处理,前端云服务器为客户端提供云桌面的信令过程如图7所示,包括:
701、客户端向中心云服务器发送用户信息。
例如,用户通过客户端登录中心云服务器,中心云服务器提示输入用户信息(例如用户名和密码),用户通过客户端输入用户名和密码。
702、中心云服务器向客户端发送登录响应。
例如,中心云服务器对用户信息进行验证,验证通过后向客户端发送登录响应,显示用户登录成功。
703、客户端向中心云服务器发送客户端位置信息。
例如,用户选择欲进行的云桌面,向中心云服务器发起请求,其中,请求消息中携带有客户端位置信息。
704、中心云服务器确定给该客户端提供云应用服务的第一前端云服务器。
例如,中心云服务器可以通过监控程序获得多个前端云服务器的状态信息,其中,每个前端云服务器的状态信息包括但不限于CPU负载、硬盘读写频率、内存使用、GPU负载等信息。
又例如,中心云服务器可以通过查询客户端与多个前端云服务器之间的网络上的路由器信息,获得客户端与多个前端云服务器之间网络链路状态信息。
中心云服务器根据客户端的位置信息、多个前端云服务器的状态信息和/或客户端与多个前端云服务器之间网络链路状态信息,确定给该客户端提供云应用服务的第一前端云服务器。
705、中心云服务器向客户端发送第一前端云服务器信息。
例如,中心云服务器通过应答和重定向消息将第一前端云服务器信息发送给客户端,第一前端云服务器信息例如可以是第一前端云服务器的IP地址。
706、客户端向第一前端云服务器发送连接请求。
例如,用户通过客户端向第一前端云服务器发起连接请求,连接请求中携带有客户端的显示分辨率、客户端的操作系统类型或游戏类型等信息。第一前端云服务器根据客户端的显示分辨率或游戏类型选择匹配的计算单元,并将该匹配的计算单元状态为不可用;第一前端云服务器根据客户端的操作系统类型选择渲染处理模块,例如,为Windows环境选择Direct3D渲染处理模块,Android环境选择OpenGL渲染处理模块。第一前端云服务器根据客户端的显示分辨率或游戏类型确定匹配的转码码率。
707、客户端向第一前端云服务器发送云桌面标识。
例如,假设第一前端云服务器中预先存储有云桌面代码,客户端连接请求成功之后,用户通过客户端选择云桌面,将选择的云桌面标识发送给第一前端云服务器。
第一前端云服务器根据云桌面标识调用预先存储的与云桌面标识对应的云桌面代码,根据云桌面代码构造与云桌面代码对应的渲染指令。
708、第一前端云服务器根据构造的渲染指令,调用渲染素材进行渲染处理,将渲染后的帧图像进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将所述视频编码封装为网络数据包。
例如,与客户端的操作系统类型匹配的渲染处理模块将渲染指令发送给匹配的计算单元;
为了减少网络时延,第一前端云服务器预先存储有渲染素材,匹配的计算单元调用预先存储的渲染素材进行渲染处理,将渲染后的帧图像发送给第二计算模块,第二计算模块中的压缩单元可以对该渲染后的帧图像进行压缩处理,将压缩处理后的帧图像发送给编解码单元,编解码单元采用与客户端的显示分辨率或游戏类型确定匹配的转码码率进行转码处理,生成适合在网络传输和所述客户端解码的视频编码,将该视频编码发送流化单元,流化单元将该视频编码封装为网络数据包。
709、第一前端云服务器向客户端发送包含有视频编码的网络数据包。
重复步骤708-709。
710、客户端向第一前端云服务器发送离开桌面请求。
例如,第一前端云服务器可以将匹配的计算单元标记为可用状态。
711、第一前端云服务器向中心云服务器发送桌面进度、桌面环境等信息。
用户通过客户端从中心云服务器上退出登录。
本实施例中的中心云服务器在满足云应用需要的条件下,根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给所述客户端提供云应用服务的第一前端云服务器,例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器,通过第一前端云服务器对来自客户端的云应用服务请求提供相应的云应用服务,从而可以减少客户端与前端云服务器之间的网络跳数,减少网络时延和丢包概率;
同时,本实施例中,将根据客户端云桌面请求提供相应的云桌面部署到前端云服务器,使得大量并发云桌面在线用户产生的大流量不需要经过网络运营商的骨干网络,不会给运营商的骨干网络带来巨大流量冲击,可以降低对运营商的骨干网络带来巨大流量冲击。
图8为本发明另一实施例提供的第一前端云服务器的结构示意图;应用于包括客户端、决策实体和多个前端云服务器的网络中,所述第一前端云服务器是决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息从所述多个前端云服务器中确定的、给所述客户端提供云应用服务的前端云服务器;如图8所示,所述第一前端云服务器包括:
接收模块81,用于接收所述客户端发送的云应用服务请求;
处理模块82,用于根据所述云应用服务请求进行相应的云应用计算处理;
发送模块83,用于向所述客户端返回所述云应用计算处理的结果。
举例来说,所述云应用服务请求中包括云应用标识;
发送模块83,还用于根据所述客户端发送的云应用标识,向所述客户端发送与所述云应用标识对应的应用代码,以使所述客户端向所述第一前端云服务器发送与所述应用代码对应的渲染指令包,所述渲染指令包包括渲染指令;或者
接收模块81,还用于接收所述决策实体发送的渲染指令包,所述渲染指令包为所述决策实体在根据所述客户端发送的云应用标识确定与所述云应用标识对应的应用代码后,向所述第一前端云服务器发送的与所述应用代码对应的渲染指令包,所述渲染指令包包括渲染指令;或者
所述第一前端云服务器还包括构建模块84,用于根据所述客户端发送的云应用标识,确定与所述云应用标识对应的应用代码,根据所述确定的应用代码构造与所述应用代码对应的渲染指令。
举例来说,所述云应用服务请求中还包括匹配信息,所述匹配信息包括云应用类型信息和/或所述客户端的显示分辨率信息;
处理模块82,具体用于:
根据所述渲染指令,调用预先存储的渲染素材对帧图像进行渲染处理,将渲染处理后的帧图像进行压缩;采用与所述匹配信息相匹配的转码码率对所述压缩后的帧图像进行转码处理,生成视频编码;采用所述客户端使用的传输协议和/或封装协议将所述视频编码封装为网络数据包。
本实施例中的决策实体在满足云应用需要的条件下,根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给所述客户端提供云应用服务的第一前端云服务器,例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器,通过第一前端云服务器对来自客户端的云应用服务请求提供相应的云应用服务,从而可以减少客户端与前端云服务器之间的网络跳数,减少网络时延和丢包概率。
图9为本发明另一实施例提供的决策实体的结构示意图;应用于包括客户端、决策实体和多个前端云服务器的网络中,如图9所示,包括:
确定模块91,用于根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定给所述客户端提供云应用服务的第一前端云服务器;
发送模块92,用于将所述确定的第一前端云服务器的信息发送给所述客户端,以使所述客户端根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求。
举例来说,发送模块92,还用于在将所述确定的第一前端云服务器的信息发送给所述客户端之后,根据所述客户端发送的云应用标识,将与所述云应用标识对应的应用代码以及所述应用代码和所述云应用标识的对应关系发送给所述第一前端云服务器。
举例来说,确定模块91,还用于在发送模块92将所述确定的第一前端云服务器的信息发送给所述客户端之后,根据所述客户端发送的云应用标识,确定与所述云应用标识对应的应用代码;
发送模块92,还用于向所述第一前端云服务器发送与所述确定的应用代码对应的渲染指令包。
本实施例中的决策实体在满足云应用需要的条件下,根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给所述客户端提供云应用服务的第一前端云服务器,例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器,通过第一前端云服务器对来自客户端的云应用服务请求提供相应的云应用服务,从而可以减少客户端与前端云服务器之间的网络跳数,减少网络时延和丢包概率。
图10为本发明另一实施例提供的客户端的结构示意图;应用于包括客户端、决策实体和多个前端云服务器的网络中,如图10所示,包括:
接收模块11,用于接收所述决策实体发送的第一前端云服务器的信息,所述第一前端云服务器是所述决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定的、给所述客户端提供云应用服务的前端云服务器;
发送模块12,用于根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求。
举例来说,所述云应用服务请求中包含云应用标识;
接收模块11,还用于在发送模块12向所述第一前端云服务器发送所述云应用服务请求之后,接收所述第一前端云服务器发送的与所述云应用标识对应的应用代码;
发送模块12,还用于根据所述应用代码,向所述第一前端云服务器发送与所述应用代码对应的渲染指令包;
接收模块11,还用于接收所述第一前端云服务器发送的网络数据包,显示所述网络数据包中视频编码,其中,所述网络数据包是所述第一前端云服务器对帧图像进行处理得到的,所述处理包括根据所述渲染指令包进行的渲染处理。
举例来说,在所述发送模块12向所述第一前端云服务器发送所述云应用服务请求之后,发送模块12,还用于向所述决策实体发送云应用标识,以使所述决策实体根据所述云应用标识确定与所述云应用标识对应的应用代码,向所述第一前端云服务器发送与所述应用代码对应的渲染指令包;
接收模块11,还用于接收所述第一前端云服务器发送的网络数据包,显示所述网络数据包中视频编码,其中,所述网络数据包是所述第一前端云服务器对帧图像进行处理得到的,所述处理包括根据所述渲染指令包进行的渲染处理。
本实施例中的决策实体在满足云应用需要的条件下,根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给所述客户端提供云应用服务的第一前端云服务器,例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器,通过第一前端云服务器对来自客户端的云应用服务请求提供相应的云应用服务,从而可以减少客户端与前端云服务器之间的网络跳数,减少网络时延和丢包概率。
图15为本发明另一实施例提供的第一前端云服务器的结构示意图,应用于包括客户端、决策实体和多个前端云服务器的网络中,如图15所示,第一前端云服务器是决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从多个前端云服务器中确定的、给所述客户端提供云应用服务的前端云服务器。
第一前端云服务器包括:处理器、存储器和通信总线,所述存储器中保存有实现云计算资源的分配方法的指令,处理器通过通信总线与存储器通信,进一步地,第一前端云服务器还包括通信接口,通过通信接口与其他网元设备(例如决策实体和客户端)连接。
当处理器调取存储器中的指令时执行如下步骤:
接收客户端发送的云应用服务请求;
根据所述云应用服务请求进行相应的云应用计算处理,向所述客户端返回所述云应用计算处理的结果。
举例来说,所述云应用服务请求中包括云应用标识;处理器还执行如下步骤:
根据所述客户端发送的云应用标识,向所述客户端发送与所述云应用标识对应的应用代码,以使所述客户端向所述第一前端云服务器发送与所述应用代码对应的渲染指令包,所述渲染指令包包括渲染指令;或者
接收所述决策实体发送的渲染指令包,所述渲染指令包为所述决策实体在根据所述客户端发送的云应用标识确定的与所述云应用标识对应的应用代码后,向所述第一前端云服务器发送的与所述应用代码对应的渲染指令包,所述渲染指令包包括渲染指令;或者所述前端云服务器还包括:
根据所述客户端发送的云应用标识,确定与所述云应用标识对应的应用代码,根据所述确定的应用代码构造与所述应用代码对应的渲染指令。
举例来说,所述云应用服务请求中还包括匹配信息,所述匹配信息包括云应用类型信息和/或所述客户端的显示分辨率信息;处理器还执行如下步骤:
根据所述渲染指令,调用预先存储的渲染素材对帧图像进行渲染处理,将渲染处理后的帧图像进行压缩;采用与所述云应用类型信息和/或所述客户端的显示分辨率信息匹配的转码码率对所述压缩后的帧图像进行转码处理,生成视频编码;采用所述客户端使用的传输协议和/或封装协议将所述视频编码封装为网络数据包。
本实施例中的决策实体在满足云应用需要的条件下,根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给所述客户端提供云应用服务的第一前端云服务器,例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器,通过第一前端云服务器对来自客户端的云应用服务请求提供相应的云应用服务,从而可以减少客户端与前端云服务器之间的网络跳数,减少网络时延和丢包概率。
图16为本发明另一实施例提供的决策实体的结构示意图,应用于包括客户端、决策实体和多个前端云服务器的网络中,具体地,如图16所示,决策实体包括:处理器、存储器和通信总线,所述存储器中保存有实现云计算资源的分配方法的指令,处理器通过通信总线与存储器通信,进一步地,决策实体还包括通信接口,通过通信接口与其他网元设备(例如第一前端云服务器和客户端)连接。
当处理器调取存储器中的指令时执行如下步骤:
根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定给所述客户端提供云应用服务的第一前端云服务器;
将所述确定的第一前端云服务器的信息发送给所述客户端,以使所述客户端根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求。
举例来说,在将所述确定的第一前端云服务器的信息发送给所述客户端之后,处理器还执行如下步骤:
根据所述客户端发送的云应用标识,将与所述云应用标识对应的应用代码以及所述应用代码和所述云应用标识的对应关系发送给所述第一前端云服务器。
举例来说,在将所述确定的第一前端云服务器的信息发送给所述客户端之后,处理器还执行如下步骤:
根据所述客户端发送的云应用标识,确定与所述云应用标识对应的应用代码;
向所述第一前端云服务器发送与所述确定的应用代码对应的渲染指令包。
本实施例中的决策实体在满足云应用需要的条件下,根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给所述客户端提供云应用服务的第一前端云服务器,例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器,通过第一前端云服务器对来自客户端的云应用服务请求提供相应的云应用服务,从而可以减少客户端与前端云服务器之间的网络跳数,减少网络时延和丢包概率。
图17为本发明另一实施例提供的客户端的结构示意图;应用于包括客户端、决策实体和多个前端云服务器的网络中,具体地,如图17所示,客户端包括:处理器、存储器和通信总线,所述存储器中保存有实现云计算资源的分配方法的指令,处理器通过通信总线与存储器通信,进一步地,客户端还包括通信接口,通过通信接口与其他网元设备(例如第一前端云服务器和决策实体)连接。
当处理器调取存储器中的指令时执行如下步骤:
接收所述决策实体发送的第一前端云服务器的信息,所述第一前端云服务器是所述决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定的、给所述客户端提供云应用服务的前端云服务器;
根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求。
举例来说,所述云应用服务请求中包含云应用标识;在向所述第一前端云服务器发送所述云应用服务请求之后,处理器还执行如下步骤:
接收所述第一前端云服务器发送的与所述云应用标识对应的应用代码;
根据所述应用代码,向所述第一前端云服务器发送与所述应用代码对应的渲染指令包;
接收所述第一前端云服务器发送的网络数据包,显示所述网络数据包中视频编码,其中,所述网络数据包是所述第一前端云服务器对帧图像进行处理得到的,所述处理包括根据所述渲染指令包进行的渲染处理。
举例来说,在向所述第一前端云服务器发送所述云应用服务请求之后,处理器还执行如下步骤:
向所述决策实体发送云应用标识,以使所述决策实体根据所述云应用标识确定与所述云应用标识对应的应用代码,向所述第一前端云服务器发送与所述应用代码对应的渲染指令包;
接收所述第一前端云服务器发送的网络数据包,显示所述网络数据包中视频编码,其中,所述网络数据包是所述第一前端云服务器对帧图像进行处理得到的,所述处理包括根据所述渲染指令包进行的渲染处理。
本实施例中的决策实体在满足云应用需要的条件下,根据客户端的位置信息、多个前端云服务器的状态信息和/或所述客户端与多个前端云服务器之间对应的网络链路状态信息,动态地确定给所述客户端提供云应用服务的第一前端云服务器,例如,将离客户端网络跳数最少的前端云服务器确定为第一前端云服务器,通过第一前端云服务器对来自客户端的云应用服务请求提供相应的云应用服务,从而可以减少客户端与前端云服务器之间的网络跳数,减少网络时延和丢包概率。
本发明另一实施例提供了一种云计算资源的分配系统,包括上述图8对应的实施例中提供的前端云服务器、上述图9对应的实施例中提供的决策实体和上述图10对应的实施例中提供的客户端。前端云服务器的详细描述可以参见图8对应的实施例中的相关内容,决策实体的详细描述可以参见图9对应的实施例中的相关内容,客户端的详细描述可以参见图10对应的实施例中的相关内容,此处不再赘述。
在本发明中的“第一前端云服务器”中的“第一”并不表示顺序关系,而是为了使“第一前端云服务器”能够与“多个前端云服务器”相互区分。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。
Claims (19)
1.一种云计算资源的分配方法,其特征在于,所述方法应用于包括客户端、决策实体和多个前端云服务器的网络中,所述方法包括:
所述多个前端云服务器中的第一前端云服务器接收的所述客户端发送的云应用服务请求,所述第一前端云服务器是所述决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定的、给所述客户端提供云应用服务的前端云服务器;
根据所述云应用服务请求进行相应的云应用计算处理,向所述客户端返回所述云应用计算处理的结果。
2.根据权利要求1所述的方法,其特征在于,所述云应用服务请求中包括云应用标识;
在所述根据所述云应用服务请求进行相应的云应用计算处理之前,所述方法还包括:
所述第一前端云服务器根据所述客户端发送的云应用标识,向所述客户端发送与所述云应用标识对应的应用代码,以使所述客户端向所述第一前端云服务器发送与所述应用代码对应的渲染指令包,所述渲染指令包包括渲染指令;或者
所述第一前端云服务器接收所述决策实体发送的渲染指令包,所述渲染指令包为所述决策实体在根据所述客户端发送的云应用标识确定与所述云应用标识对应的应用代码后,向所述第一前端云服务器发送的与所述应用代码对应的渲染指令包,所述渲染指令包包括渲染指令;或者
所述第一前端云服务器根据所述客户端发送的云应用标识,确定与所述云应用标识对应的应用代码,根据所述确定的应用代码构造与所述应用代码对应的渲染指令。
3.根据权利要求2所述的方法,其特征在于,所述云应用服务请求中还包括匹配信息,所述匹配信息包括云应用类型信息和/或所述客户端的显示分辨率信息;
所述根据所述云应用服务请求进行相应的云应用计算处理,向所述客户端返回所述云应用计算处理的结果包括:
所述第一前端云服务器根据所述渲染指令,调用预先存储的渲染素材对帧图像进行渲染处理,将渲染处理后的帧图像进行压缩;
采用与所述匹配信息相匹配的转码码率对所述压缩后的帧图像进行转码处理,生成视频编码;
采用所述客户端使用的传输协议和/或封装协议将所述视频编码封装为网络数据包并发送给所述客户端。
4.一种云计算资源的分配方法,其特征在于,所述方法应用于包括客户端、决策实体和多个前端云服务器的网络中,所述方法包括:
所述决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定给所述客户端提供云应用服务的第一前端云服务器;
将所述确定的第一前端云服务器的信息发送给所述客户端,以使所述客户端根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求。
5.根据权利要求4所述的方法,其特征在于,将所述确定的第一前端云服务器的信息发送给所述客户端之后,包括:
所述决策实体根据所述客户端发送的云应用标识,将与所述云应用标识对应的应用代码以及所述应用代码和所述云应用标识的对应关系发送给所述第一前端云服务器。
6.根据权利要求4所述的方法,其特征在于,将所述确定的第一前端云服务器的信息发送给所述客户端之后,包括:
所述决策实体根据所述客户端发送的云应用标识,确定与所述云应用标识对应的应用代码;
向所述第一前端云服务器发送与所述确定的应用代码对应的渲染指令包。
7.一种云计算资源的分配方法,其特征在于,所述方法应用于包括客户端、决策实体和多个前端云服务器的网络中,所述方法包括:
所述客户端接收所述决策实体发送的第一前端云服务器的信息,所述第一前端云服务器是所述决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定的、给所述客户端提供云应用服务的前端云服务器;
根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求。
8.根据权利要求7所述的方法,其特征在于,所述云应用服务请求中包含云应用标识;
根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求之后,所述方法还包括:
所述客户端接收所述第一前端云服务器发送的与所述云应用标识对应的应用代码;
根据所述应用代码,向所述第一前端云服务器发送与所述应用代码对应的渲染指令包;
接收所述第一前端云服务器发送的网络数据包,显示所述网络数据包中视频编码,其中,所述网络数据包是所述第一前端云服务器对帧图像进行处理得到的,所述处理包括根据所述渲染指令包进行的渲染处理。
9.根据权利要求7所述的方法,其特征在于,所述根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求之后,包括:
所述客户端向所述决策实体发送云应用标识,以使所述决策实体根据所述云应用标识确定与所述云应用标识对应的应用代码,向所述第一前端云服务器发送与所述应用代码对应的渲染指令包;
接收所述第一前端云服务器发送的网络数据包,显示所述网络数据包中视频编码,其中,所述网络数据包是所述第一前端云服务器对帧图像进行处理得到的,所述处理包括根据所述渲染指令包进行的渲染处理。
10.一种第一前端云服务器,应用于包括客户端、决策实体和多个前端云服务器的网络中,其特征在于,所述第一前端云服务器是决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息从所述多个前端云服务器中确定的、给所述客户端提供云应用服务的前端云服务器;所述第一前端云服务器包括:
接收模块,用于接收所述客户端发送的云应用服务请求;
处理模块,用于根据所述云应用服务请求进行相应的云应用计算处理;发送模块,用于向所述客户端返回所述云应用计算处理的结果。
11.根据权利要求10所述的第一前端云服务器,其特征在于,所述云应用服务请求中包括云应用标识;
所述发送模块,还用于根据所述客户端发送的云应用标识,向所述客户端发送与所述云应用标识对应的应用代码,以使所述客户端向所述第一前端云服务器发送与所述应用代码对应的渲染指令包,所述渲染指令包包括渲染指令;或者
所述接收模块,还用于接收所述决策实体发送的渲染指令包,所述渲染指令包为所述决策实体在根据所述客户端发送的云应用标识确定与所述云应用标识对应的应用代码后,向所述第一前端云服务器发送的与所述应用代码对应的渲染指令包,所述渲染指令包包括渲染指令;或者
所述第一前端云服务器还包括构建模块,所述构建模块用于根据所述客户端发送的云应用标识,确定与所述云应用标识对应的应用代码,根据所述确定的应用代码构造与所述应用代码对应的渲染指令。
12.根据权利要求11所述的第一前端云服务器,其特征在于,所述云应用服务请求中还包括匹配信息,所述匹配信息包括云应用类型信息和/或所述客户端的显示分辨率信息;
所述处理模块,具体用于:
根据所述渲染指令,调用预先存储的渲染素材对帧图像进行渲染处理,将渲染处理后的帧图像进行压缩;采用与所述匹配信息相匹配的转码码率对所述压缩后的帧图像进行转码处理,生成视频编码;采用所述客户端使用的传输协议和/或封装协议将所述视频编码封装为网络数据包。
13.一种决策实体,应用于包括客户端、决策实体和多个前端云服务器的网络中,其特征在于,包括:
确定模块,用于根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定给所述客户端提供云应用服务的第一前端云服务器;
发送模块,用于将所述确定的第一前端云服务器的信息发送给所述客户端,以使所述客户端根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求。
14.根据权利要求13所述的决策实体,其特征在于,所述发送模块在将所述确定的第一前端云服务器的信息发送给所述客户端之后,还用于根据所述客户端发送的云应用标识,将与所述云应用标识对应的应用代码以及所述应用代码和所述云应用标识的对应关系发送给所述第一前端云服务器。
15.根据权利要求13所述的决策实体,其特征在于,在所述发送模块将所述确定的第一前端云服务器的信息发送给所述客户端之后,所述确定模块,还用于根据所述客户端发送的云应用标识,确定与所述云应用标识对应的应用代码;
所述发送模块,还用于向所述第一前端云服务器发送与所述确定的应用代码对应的渲染指令包。
16.一种客户端,应用于包括客户端、决策实体和多个前端云服务器的网络中,其特征在于,包括:
接收模块,用于接收所述决策实体发送的第一前端云服务器的信息,所述第一前端云服务器是所述决策实体根据所述客户端的位置信息、所述多个前端云服务器的状态信息和/或所述客户端与所述多个前端云服务器之间对应的网络链路状态信息,从所述多个前端云服务器中确定的、给所述客户端提供云应用服务的前端云服务器;
发送模块,用于根据所述第一前端云服务器的信息,向所述第一前端云服务器发送云应用服务请求。
17.根据权利要求16所述的客户端,其特征在于,所述云应用服务请求中包含云应用标识;
在所述发送模块向所述第一前端云服务器发送所述云应用服务请求之后,所述接收模块,还用于接收所述第一前端云服务器发送的与所述云应用标识对应的应用代码;
所述发送模块,还用于根据所述应用代码,向所述第一前端云服务器发送与所述应用代码对应的渲染指令包;
所述接收模块,还用于接收所述第一前端云服务器发送的网络数据包,显示所述网络数据包中视频编码,其中,所述网络数据包是所述第一前端云服务器对帧图像进行处理得到的,所述处理包括根据所述渲染指令包进行的渲染处理。
18.根据权利要求17所述的客户端,其特征在于,在所述发送模块向所述第一前端云服务器发送所述云应用服务请求之后,所述发送模块,还用于向所述决策实体发送云应用标识,以使所述决策实体根据所述云应用标识确定与所述云应用标识对应的应用代码,向所述第一前端云服务器发送与所述应用代码对应的渲染指令包;
所述接收模块,还用于接收所述第一前端云服务器发送的网络数据包,显示所述网络数据包中视频编码,其中,所述网络数据包是所述第一前端云服务器对帧图像进行处理得到的,所述处理包括根据所述渲染指令包进行的渲染处理。
19.一种云计算资源的分配系统,其特征在于,包括:
如权利要求10-12任一项所述的第一前端云服务器;
如权利要求13-15任一项所述的决策实体;
如权利要求16-18任一项所述的客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210553585.0A CN103888485B (zh) | 2012-12-19 | 2012-12-19 | 云计算资源的分配方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210553585.0A CN103888485B (zh) | 2012-12-19 | 2012-12-19 | 云计算资源的分配方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103888485A true CN103888485A (zh) | 2014-06-25 |
CN103888485B CN103888485B (zh) | 2018-03-09 |
Family
ID=50957203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210553585.0A Active CN103888485B (zh) | 2012-12-19 | 2012-12-19 | 云计算资源的分配方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103888485B (zh) |
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598292A (zh) * | 2014-12-15 | 2015-05-06 | 中山大学 | 一种应用于云游戏系统的自适应流适配和资源优化方法 |
CN105487931A (zh) * | 2015-12-28 | 2016-04-13 | 中国民航信息网络股份有限公司 | 系统间的旅客信息实时同步方法及装置 |
CN105577828A (zh) * | 2016-01-29 | 2016-05-11 | 腾讯科技(深圳)有限公司 | 一种远程重定向方法和装置 |
CN105763602A (zh) * | 2016-01-29 | 2016-07-13 | 腾讯科技(深圳)有限公司 | 一种数据请求处理的方法、服务器及系统 |
CN106027323A (zh) * | 2015-03-27 | 2016-10-12 | 英特尔公司 | 用于gpu辅助网络话务监控和分析的技术 |
CN106254520A (zh) * | 2016-09-06 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种资源竞争方法及服务器 |
CN106302219A (zh) * | 2016-08-08 | 2017-01-04 | 深圳市东方时代新媒体有限公司 | 一种重度游戏在智能电视呈现的方法和系统 |
CN106341476A (zh) * | 2016-09-12 | 2017-01-18 | 广东欧珀移动通信有限公司 | 云端设备连接方法和智能终端 |
CN106844066A (zh) * | 2017-01-22 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 一种应用运行方法、装置及系统 |
WO2017107911A1 (zh) * | 2015-12-25 | 2017-06-29 | 北京大学第三医院 | 一种视频云平台播放视频的方法及装置 |
CN107343045A (zh) * | 2017-07-04 | 2017-11-10 | 北京百度网讯科技有限公司 | 云计算系统及用于控制服务器的云计算方法和装置 |
CN107646189A (zh) * | 2015-04-10 | 2018-01-30 | Pcms控股公司 | 用于云计算过程的的委托的系统和方法 |
CN108063773A (zh) * | 2018-02-11 | 2018-05-22 | 清华大学 | 一种基于移动边缘计算的应用服务接入方法及装置 |
CN108156509A (zh) * | 2017-12-28 | 2018-06-12 | 新华三云计算技术有限公司 | 视频播放方法、装置及用户终端 |
CN108234319A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 一种数据的传输方法和装置 |
CN108494834A (zh) * | 2018-03-04 | 2018-09-04 | 长沙开雅电子科技有限公司 | 一种云计算主机获取历史访问记录管理方法 |
CN108989811A (zh) * | 2017-06-05 | 2018-12-11 | 中兴通讯股份有限公司 | 云桌面系统、及其图像序列压缩编码方法和介质 |
CN109173244A (zh) * | 2018-08-20 | 2019-01-11 | 贵阳动视云科技有限公司 | 游戏运行方法及装置 |
CN109905335A (zh) * | 2019-03-06 | 2019-06-18 | 中南大学 | 一种面向高速列车的云无线接入网络资源分配方法及系统 |
CN109966736A (zh) * | 2019-03-06 | 2019-07-05 | 绎谛数据科技(上海)有限公司 | 基于用户地理信息的服务器弹性部署方法、设备及计算机可读存储介质 |
CN109999490A (zh) * | 2019-04-18 | 2019-07-12 | 贵阳动视云科技有限公司 | 一种降低联网云应用延迟的方法及系统 |
CN110191158A (zh) * | 2019-05-09 | 2019-08-30 | 厦门网宿有限公司 | 一种云桌面服务实现方法和系统 |
CN110458748A (zh) * | 2019-06-27 | 2019-11-15 | 西安万像电子科技有限公司 | 数据传输方法、服务器及客户端 |
CN110545415A (zh) * | 2019-07-16 | 2019-12-06 | 西安万像电子科技有限公司 | 数据传输方法、装置及服务器 |
CN110557624A (zh) * | 2019-07-16 | 2019-12-10 | 西安万像电子科技有限公司 | 数据传输方法、装置及服务器 |
WO2020093843A1 (zh) * | 2018-11-11 | 2020-05-14 | 长沙摩智云计算机科技有限公司 | Android网游的分布式支持多终端和多网络的系统 |
CN111346378A (zh) * | 2020-02-26 | 2020-06-30 | 腾讯科技(深圳)有限公司 | 游戏画面传输方法、装置、存储介质和设备 |
CN111399976A (zh) * | 2020-03-02 | 2020-07-10 | 上海交通大学 | 基于api重定向技术的gpu虚拟化实现系统及方法 |
CN111569417A (zh) * | 2020-04-30 | 2020-08-25 | 北京视博云信息技术有限公司 | 一种云游戏的外设数据传输方法及系统 |
CN111729293A (zh) * | 2020-08-28 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及存储介质 |
CN111797024A (zh) * | 2020-07-16 | 2020-10-20 | 网易(杭州)网络有限公司 | 游戏测试方法、装置、系统、电子设备及存储介质 |
CN111901635A (zh) * | 2020-06-17 | 2020-11-06 | 北京视博云信息技术有限公司 | 一种视频处理方法、装置、存储介质及设备 |
CN111930434A (zh) * | 2020-05-29 | 2020-11-13 | 北京视博云信息技术有限公司 | 一种云应用的启动方法、装置、可读存储介质及设备 |
CN112104682A (zh) * | 2019-06-18 | 2020-12-18 | 上海达龙信息科技有限公司 | 云桌面服务器智能分配方法及系统、存储介质及中控服务器 |
CN112169312A (zh) * | 2020-09-27 | 2021-01-05 | 厦门雅基软件有限公司 | 云游戏服务的排队调度方法、装置、设备和存储介质 |
CN112783384A (zh) * | 2019-11-08 | 2021-05-11 | 荣耀终端有限公司 | 一种云应用运行的控制方法及电子设备 |
CN113015021A (zh) * | 2021-03-12 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 云游戏的实现方法、装置、介质及电子设备 |
CN113254130A (zh) * | 2021-05-13 | 2021-08-13 | 贵州海誉科技股份有限公司 | 一种自适应调整云桌面分辨率的方法 |
CN113296865A (zh) * | 2021-05-28 | 2021-08-24 | 贵州海誉科技股份有限公司 | 一种云桌面鼠标位置感知与鼠标操作事件管理方法 |
CN114268626A (zh) * | 2020-09-16 | 2022-04-01 | 阿里巴巴集团控股有限公司 | 窗口处理系统、方法以及装置 |
CN114594993A (zh) * | 2022-05-10 | 2022-06-07 | 海马云(天津)信息技术有限公司 | 图形渲染指令流处理装置、处理方法、服务器及渲染方法 |
WO2022253044A1 (zh) * | 2021-06-03 | 2022-12-08 | 华为云计算技术有限公司 | 一种云桌面设置方法、系统及设备 |
WO2023025295A1 (zh) * | 2021-08-27 | 2023-03-02 | 中兴通讯股份有限公司 | 资源部署及应用数据路由方法、装置及存储介质 |
CN117036566A (zh) * | 2023-08-28 | 2023-11-10 | 北京趋动智能科技有限公司 | 远程图像渲染方法、系统、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977242A (zh) * | 2010-11-16 | 2011-02-16 | 西安电子科技大学 | 一种分层分布式云计算体系结构及服务提供方法 |
CN102111443A (zh) * | 2011-01-06 | 2011-06-29 | 西安电子科技大学 | 物联网运营系统及向用户提供服务的方法 |
CN102438172A (zh) * | 2011-03-28 | 2012-05-02 | 苏州汉辰数字科技有限公司 | 一种云计算技术实现视频点播和推播的系统及其方法 |
CN102571900A (zh) * | 2010-12-08 | 2012-07-11 | 中国电信股份有限公司 | 一种实现远端实时操控的系统和方法 |
-
2012
- 2012-12-19 CN CN201210553585.0A patent/CN103888485B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977242A (zh) * | 2010-11-16 | 2011-02-16 | 西安电子科技大学 | 一种分层分布式云计算体系结构及服务提供方法 |
CN102571900A (zh) * | 2010-12-08 | 2012-07-11 | 中国电信股份有限公司 | 一种实现远端实时操控的系统和方法 |
CN102111443A (zh) * | 2011-01-06 | 2011-06-29 | 西安电子科技大学 | 物联网运营系统及向用户提供服务的方法 |
CN102438172A (zh) * | 2011-03-28 | 2012-05-02 | 苏州汉辰数字科技有限公司 | 一种云计算技术实现视频点播和推播的系统及其方法 |
Cited By (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598292B (zh) * | 2014-12-15 | 2017-10-03 | 中山大学 | 一种应用于云游戏系统的自适应流适配和资源优化方法 |
CN104598292A (zh) * | 2014-12-15 | 2015-05-06 | 中山大学 | 一种应用于云游戏系统的自适应流适配和资源优化方法 |
US11431600B2 (en) | 2015-03-27 | 2022-08-30 | Intel Corporation | Technologies for GPU assisted network traffic monitoring and analysis |
CN106027323A (zh) * | 2015-03-27 | 2016-10-12 | 英特尔公司 | 用于gpu辅助网络话务监控和分析的技术 |
CN107646189A (zh) * | 2015-04-10 | 2018-01-30 | Pcms控股公司 | 用于云计算过程的的委托的系统和方法 |
CN107646189B (zh) * | 2015-04-10 | 2021-03-26 | Pcms控股公司 | 用于云计算过程的委托的系统和方法 |
WO2017107911A1 (zh) * | 2015-12-25 | 2017-06-29 | 北京大学第三医院 | 一种视频云平台播放视频的方法及装置 |
CN105487931B (zh) * | 2015-12-28 | 2018-10-19 | 中国民航信息网络股份有限公司 | 系统间的旅客信息实时同步方法及装置 |
CN105487931A (zh) * | 2015-12-28 | 2016-04-13 | 中国民航信息网络股份有限公司 | 系统间的旅客信息实时同步方法及装置 |
CN105577828B (zh) * | 2016-01-29 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 一种远程重定向方法和装置 |
CN105577828A (zh) * | 2016-01-29 | 2016-05-11 | 腾讯科技(深圳)有限公司 | 一种远程重定向方法和装置 |
CN105763602A (zh) * | 2016-01-29 | 2016-07-13 | 腾讯科技(深圳)有限公司 | 一种数据请求处理的方法、服务器及系统 |
CN106302219A (zh) * | 2016-08-08 | 2017-01-04 | 深圳市东方时代新媒体有限公司 | 一种重度游戏在智能电视呈现的方法和系统 |
CN106254520A (zh) * | 2016-09-06 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种资源竞争方法及服务器 |
CN106341476A (zh) * | 2016-09-12 | 2017-01-18 | 广东欧珀移动通信有限公司 | 云端设备连接方法和智能终端 |
CN106341476B (zh) * | 2016-09-12 | 2018-06-29 | 广东欧珀移动通信有限公司 | 云端设备连接方法和智能终端 |
CN106844066A (zh) * | 2017-01-22 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 一种应用运行方法、装置及系统 |
RU2745343C1 (ru) * | 2017-06-05 | 2021-03-24 | Зте Корпорейшн | Система облачного рабочего стола, и способ кодирования со сжатием последовательности изображений, и соответствующий носитель данных |
CN108989811B (zh) * | 2017-06-05 | 2022-06-03 | 中兴通讯股份有限公司 | 云桌面系统、及其图像序列压缩编码方法和介质 |
CN108989811A (zh) * | 2017-06-05 | 2018-12-11 | 中兴通讯股份有限公司 | 云桌面系统、及其图像序列压缩编码方法和介质 |
WO2018223786A1 (zh) * | 2017-06-05 | 2018-12-13 | 中兴通讯股份有限公司 | 云桌面系统、及其图像序列压缩编码方法和介质 |
CN107343045A (zh) * | 2017-07-04 | 2017-11-10 | 北京百度网讯科技有限公司 | 云计算系统及用于控制服务器的云计算方法和装置 |
CN107343045B (zh) * | 2017-07-04 | 2021-03-19 | 北京百度网讯科技有限公司 | 云计算系统及用于控制服务器的云计算方法和装置 |
CN108156509B (zh) * | 2017-12-28 | 2021-06-08 | 新华三云计算技术有限公司 | 视频播放方法、装置及用户终端 |
CN108156509A (zh) * | 2017-12-28 | 2018-06-12 | 新华三云计算技术有限公司 | 视频播放方法、装置及用户终端 |
CN108234319A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 一种数据的传输方法和装置 |
CN108234319B (zh) * | 2017-12-29 | 2021-10-19 | 北京奇虎科技有限公司 | 一种数据的传输方法和装置 |
CN108063773A (zh) * | 2018-02-11 | 2018-05-22 | 清华大学 | 一种基于移动边缘计算的应用服务接入方法及装置 |
CN108494834A (zh) * | 2018-03-04 | 2018-09-04 | 长沙开雅电子科技有限公司 | 一种云计算主机获取历史访问记录管理方法 |
CN109173244A (zh) * | 2018-08-20 | 2019-01-11 | 贵阳动视云科技有限公司 | 游戏运行方法及装置 |
US11872482B2 (en) | 2018-11-11 | 2024-01-16 | Hunan Duoxingyun Cloud Technology Co., Ltd. | Distributed multi-terminal and multi-network supporting system for android online game |
WO2020093843A1 (zh) * | 2018-11-11 | 2020-05-14 | 长沙摩智云计算机科技有限公司 | Android网游的分布式支持多终端和多网络的系统 |
CN109966736B (zh) * | 2019-03-06 | 2022-08-16 | 绎谛数据科技(上海)有限公司 | 基于用户地理信息的服务器弹性部署方法、设备及计算机可读存储介质 |
CN109966736A (zh) * | 2019-03-06 | 2019-07-05 | 绎谛数据科技(上海)有限公司 | 基于用户地理信息的服务器弹性部署方法、设备及计算机可读存储介质 |
CN109905335A (zh) * | 2019-03-06 | 2019-06-18 | 中南大学 | 一种面向高速列车的云无线接入网络资源分配方法及系统 |
CN109999490B (zh) * | 2019-04-18 | 2020-03-31 | 贵阳动视云科技有限公司 | 一种降低联网云应用延迟的方法及系统 |
CN109999490A (zh) * | 2019-04-18 | 2019-07-12 | 贵阳动视云科技有限公司 | 一种降低联网云应用延迟的方法及系统 |
CN110191158A (zh) * | 2019-05-09 | 2019-08-30 | 厦门网宿有限公司 | 一种云桌面服务实现方法和系统 |
CN112104682A (zh) * | 2019-06-18 | 2020-12-18 | 上海达龙信息科技有限公司 | 云桌面服务器智能分配方法及系统、存储介质及中控服务器 |
CN110458748A (zh) * | 2019-06-27 | 2019-11-15 | 西安万像电子科技有限公司 | 数据传输方法、服务器及客户端 |
CN110545415A (zh) * | 2019-07-16 | 2019-12-06 | 西安万像电子科技有限公司 | 数据传输方法、装置及服务器 |
CN110557624A (zh) * | 2019-07-16 | 2019-12-10 | 西安万像电子科技有限公司 | 数据传输方法、装置及服务器 |
WO2021008183A1 (zh) * | 2019-07-16 | 2021-01-21 | 西安万像电子科技有限公司 | 数据传输方法、装置及服务器 |
CN112783384A (zh) * | 2019-11-08 | 2021-05-11 | 荣耀终端有限公司 | 一种云应用运行的控制方法及电子设备 |
CN111346378A (zh) * | 2020-02-26 | 2020-06-30 | 腾讯科技(深圳)有限公司 | 游戏画面传输方法、装置、存储介质和设备 |
CN111346378B (zh) * | 2020-02-26 | 2022-01-14 | 腾讯科技(深圳)有限公司 | 游戏画面传输方法、装置、存储介质和设备 |
CN111399976A (zh) * | 2020-03-02 | 2020-07-10 | 上海交通大学 | 基于api重定向技术的gpu虚拟化实现系统及方法 |
CN111569417A (zh) * | 2020-04-30 | 2020-08-25 | 北京视博云信息技术有限公司 | 一种云游戏的外设数据传输方法及系统 |
CN111930434B (zh) * | 2020-05-29 | 2024-04-16 | 北京视博云信息技术有限公司 | 一种云应用的启动方法、装置、可读存储介质及设备 |
CN111930434A (zh) * | 2020-05-29 | 2020-11-13 | 北京视博云信息技术有限公司 | 一种云应用的启动方法、装置、可读存储介质及设备 |
CN111901635A (zh) * | 2020-06-17 | 2020-11-06 | 北京视博云信息技术有限公司 | 一种视频处理方法、装置、存储介质及设备 |
CN111797024A (zh) * | 2020-07-16 | 2020-10-20 | 网易(杭州)网络有限公司 | 游戏测试方法、装置、系统、电子设备及存储介质 |
EP4122568A4 (en) * | 2020-08-28 | 2023-11-15 | Tencent Technology (Shenzhen) Company Limited | DATA PROCESSING METHOD AND DEVICE AND STORAGE MEDIUM |
CN111729293A (zh) * | 2020-08-28 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及存储介质 |
CN114268626A (zh) * | 2020-09-16 | 2022-04-01 | 阿里巴巴集团控股有限公司 | 窗口处理系统、方法以及装置 |
CN112169312A (zh) * | 2020-09-27 | 2021-01-05 | 厦门雅基软件有限公司 | 云游戏服务的排队调度方法、装置、设备和存储介质 |
CN113015021A (zh) * | 2021-03-12 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 云游戏的实现方法、装置、介质及电子设备 |
CN113015021B (zh) * | 2021-03-12 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 云游戏的实现方法、装置、介质及电子设备 |
CN113254130B (zh) * | 2021-05-13 | 2022-11-29 | 贵州海誉科技股份有限公司 | 一种自适应调整云桌面分辨率的方法 |
CN113254130A (zh) * | 2021-05-13 | 2021-08-13 | 贵州海誉科技股份有限公司 | 一种自适应调整云桌面分辨率的方法 |
CN113296865B (zh) * | 2021-05-28 | 2022-09-06 | 贵州海誉科技股份有限公司 | 一种云桌面鼠标位置感知与鼠标操作事件管理方法 |
CN113296865A (zh) * | 2021-05-28 | 2021-08-24 | 贵州海誉科技股份有限公司 | 一种云桌面鼠标位置感知与鼠标操作事件管理方法 |
WO2022253044A1 (zh) * | 2021-06-03 | 2022-12-08 | 华为云计算技术有限公司 | 一种云桌面设置方法、系统及设备 |
WO2023025295A1 (zh) * | 2021-08-27 | 2023-03-02 | 中兴通讯股份有限公司 | 资源部署及应用数据路由方法、装置及存储介质 |
CN114594993B (zh) * | 2022-05-10 | 2022-08-19 | 海马云(天津)信息技术有限公司 | 图形渲染指令流处理装置、处理方法、服务器及渲染方法 |
CN114594993A (zh) * | 2022-05-10 | 2022-06-07 | 海马云(天津)信息技术有限公司 | 图形渲染指令流处理装置、处理方法、服务器及渲染方法 |
CN117036566A (zh) * | 2023-08-28 | 2023-11-10 | 北京趋动智能科技有限公司 | 远程图像渲染方法、系统、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103888485B (zh) | 2018-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103888485A (zh) | 云计算资源的分配方法、装置及系统 | |
US11909820B2 (en) | Method and apparatus for execution of applications in a cloud system | |
CN108563517B (zh) | 系统接口的调用方法及装置 | |
CN104598257B (zh) | 远程应用程序运行的方法和装置 | |
US9063793B2 (en) | Virtual server and virtual machine management method for supporting zero client by providing host interfaces from classified resource pools through emulation or direct connection modes | |
Zhang et al. | Transparent computing: A promising network computing paradigm | |
CN110199271A (zh) | 现场可编程门阵列虚拟化 | |
CN110178136A (zh) | 现场可编程门阵列程序的签名验证 | |
US20130210522A1 (en) | Data center architecture for remote graphics rendering | |
CN115511697A (zh) | 用于虚拟化的图形处理单元分区 | |
WO2014085785A2 (en) | Method and system for cloud based virtualized graphics processing for remote displays | |
CN106797398B (zh) | 用于向客户端提供虚拟桌面服务的方法和系统 | |
CN102378976B (zh) | 使用多个处理器的图像压缩加速 | |
CN113079216B (zh) | 一种云应用的实现方法、装置、电子设备及可读存储介质 | |
CN106354559A (zh) | 云桌面资源的处理方法及装置 | |
CN102819449A (zh) | 一种显卡重定向方法及系统 | |
CN115065684B (zh) | 数据处理方法、装置、设备以及介质 | |
CN103501295B (zh) | 一种基于虚拟机迁移的远程访问方法和设备 | |
CN111209115A (zh) | 云桌面vGPU超分配方法 | |
CN108074210A (zh) | 一种用于云渲染的对象获取系统和方法 | |
CN104281458A (zh) | 应用程序数据处理方法、装置及处理系统 | |
CN109829546B (zh) | 平台即服务云端服务器及其机器学习数据处理方法 | |
US9392047B1 (en) | Facilitating application compatibility across devices | |
CN103092676A (zh) | 虚拟机集群的模拟输入输出方法、装置及系统 | |
CN112843681B (zh) | 虚拟场景控制方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |