CN112044078A - 虚拟场景应用的接入方法、装置、设备及存储介质 - Google Patents

虚拟场景应用的接入方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112044078A
CN112044078A CN202011088612.2A CN202011088612A CN112044078A CN 112044078 A CN112044078 A CN 112044078A CN 202011088612 A CN202011088612 A CN 202011088612A CN 112044078 A CN112044078 A CN 112044078A
Authority
CN
China
Prior art keywords
cloud
virtual scene
hard disk
application
scene application
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.)
Pending
Application number
CN202011088612.2A
Other languages
English (en)
Inventor
蔡晓川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011088612.2A priority Critical patent/CN112044078A/zh
Publication of CN112044078A publication Critical patent/CN112044078A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种虚拟场景应用的接入方法、装置、设备及计算机可读存储介质;方法包括:接收到终端发送的针对虚拟场景应用的接入请求;响应于所述接入请求,确定与所述虚拟场景应用相适配的云端设备、以及与所述虚拟场景应用存在一一对应关系的云硬盘,所述云硬盘存储有运行所述虚拟场景应用所需的文件;建立所述云硬盘与所述云端设备之间的关联,并获取所述云端设备的设备信息;返回所述设备信息至所述终端;其中,所述设备信息用于供所述终端基于所述设备信息,建立与所述云端设备的通信连接,并通过所述通信连接运行所述云硬盘中的所述文件,以接入所述虚拟场景应用。通过本申请,能够节约虚拟场景应用的存储成本。

Description

虚拟场景应用的接入方法、装置、设备及存储介质
技术领域
本申请涉及数据处理技术及云技术,尤其涉及一种虚拟场景应用的接入方法、装置及计算机可读存储介质。
背景技术
基于图形处理硬件的显示技术,扩展了感知环境以及获取信息的渠道,尤其是虚拟场景的显示技术,能够根据实际应用需求实现人与人、人与虚拟场景中各种虚拟对象的智能化的交互。游戏是虚拟场景显示技术的典型应用,用户可以通过设备运行游戏,在设备输出的虚拟场景中,用户控制的游戏对象与线上的其他游戏对象协同战斗或者对战。
云游戏是一种以云计算技术为基础的在线游戏技术,在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端,玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
相关技术中,采用类似于传统网吧游戏管理模式对云游戏进行管理,云游戏平台需要同时准备多款游戏的运行文件,这些文件容量大多有几十G甚至上百G,因此,一台云端设备需要几T容量的硬盘,而用户在同一时间只会玩某一款游戏,这不仅提高了云平台的存储成本,还使其他游戏所占空间得不到充分利用,并且大多时间用户只会玩几款热门游戏,这也造成了硬盘资源的浪费。
发明内容
本申请实施例提供一种虚拟场景应用的接入方法、装置、设备及计算机可读存储介质,能够节约虚拟场景应用的存储成本。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种虚拟场景应用的接入方法,包括:
接收到终端发送的针对虚拟场景应用的接入请求;
响应于所述接入请求,确定与所述虚拟场景应用相适配的云端设备、以及与所述虚拟场景应用存在一一对应关系的云硬盘,所述云硬盘存储有运行所述虚拟场景应用所需的文件;
建立所述云硬盘与所述云端设备之间的关联,并获取所述云端设备的设备信息;
返回所述设备信息至所述终端;
其中,所述设备信息用于供所述终端基于所述设备信息,建立与所述云端设备的通信连接,并通过所述通信连接运行所述云硬盘中的所述文件,以接入所述虚拟场景应用。
上述方案中,所述方法还包括:
当所述至少两个目标云端设备的使用状态为运行状态时,进入排队队列直至出现空闲状态的目标云端设备,并将所出现的空闲状态的目标云端设备作为与所述虚拟场景应用相适配的云端设备。
上述方案中,所述确定与所述虚拟场景应用存在一一对应关系的云硬盘,包括:
对所述接入请求进行解析,得到对应所述虚拟场景应用的应用标识;
获取创建的用于存储云硬盘的云硬盘队列;
当基于所述应用标识,查找到所述云硬盘队列中存在与所述虚拟场景应用相匹配的云硬盘时,将查找到的云硬盘作为与所述虚拟场景应用存在一一对应关系的云硬盘。
上述方案中,所述方法还包括:
当基于所述应用标识,未查找到所述云硬盘队列中存在与所述虚拟场景应用相匹配的云硬盘时,通过快照创建云硬盘,并将所创建的云硬盘作为与所述虚拟场景应用存在一一对应关系的云硬盘。
本申请实施例提供一种虚拟场景应用的接入方法,包括:
发送针对虚拟场景应用的接入请求;
其中,所述接入请求,用于供确定与所述虚拟场景应用相适配的云端设备、以及与所述虚拟场景应用存在一一对应关系的云硬盘,并建立所述云硬盘与所述云端设备之间的关联,所述云硬盘存储有运行所述虚拟场景应用所需的文件;
接收返回的所述云端设备的设备信息;
基于所述设备信息,建立与所述云端设备的通信连接,并通过所述通信连接,运行存储于所述云硬盘中的所述文件以接入所述虚拟场景应用。
上述方案中,所述方法还包括:
响应于针对所述虚拟场景应用的交互操作,通过所述通信连接,发送对应所述交互操作的画面获取请求至所述云端设备,以使所述云端设备基于所述虚拟场景应用的交互操作,进行相应的虚拟场景应用的画面渲染,得到并返回渲染结果;
接收所述渲染结果,并基于所述渲染结果呈现对应的虚拟场景应用的画面。
本申请实施例提供一种虚拟场景应用的接入装置,包括:
第一接收模块,用于接收到终端发送的针对虚拟场景应用的接入请求;
确定模块,用于响应于所述接入请求,确定与所述虚拟场景应用相适配的云端设备、以及与所述虚拟场景应用存在一一对应关系的云硬盘,所述云硬盘存储有运行所述虚拟场景应用所需的文件;
第一处理模块,用于建立所述云硬盘与所述云端设备之间的关联,并获取所述云端设备的设备信息;
返回模块,用于返回所述设备信息至所述终端;
其中,所述设备信息用于供所述终端基于所述设备信息,建立与所述云端设备的通信连接,并通过所述通信连接运行所述云硬盘中的所述文件,以接入所述虚拟场景应用。
上述方案中,所述确定模块,还用于对所述接入请求进行解析,得到对应所述虚拟场景应用的应用标识;
基于所述应用标识,确定所述虚拟场景应用所归属的应用类型;
从至少两个云端设备中选择设备类型与所述应用类型相匹配的目标云端设备,作为与所述虚拟场景应用相适配的云端设备。
上述方案中,所述确定模块,还用于从至少两个云端设备中选择设备类型与所述应用类型相匹配的目标云端设备;
当所述目标云端设备的数量为至少两个时,分别获取各所述目标云端设备的使用状态;
从所述至少两个目标云端设备中,选择所述使用状态为空闲状态的云端设备,作为与所述虚拟场景应用相适配的云端设备。
上述方案中,所述确定模块,还用于当所述至少两个目标云端设备的使用状态为运行状态时,进入排队队列直至出现空闲状态的目标云端设备,并将所出现的空闲状态的目标云端设备作为与所述虚拟场景应用相适配的云端设备。
上述方案中,所述确定模块,还用于对所述接入请求进行解析,得到对应所述虚拟场景应用的应用标识;
获取创建的用于存储云硬盘的云硬盘队列;
当基于所述应用标识,查找到所述云硬盘队列中存在与所述虚拟场景应用相匹配的云硬盘时,将查找到的云硬盘作为与所述虚拟场景应用存在一一对应关系的云硬盘。
上述方案中,所述装置还包括:
创建模块,用于当基于所述应用标识,未查找到所述云硬盘队列中存在与所述虚拟场景应用相匹配的云硬盘时,通过快照创建云硬盘,并将所创建的云硬盘作为与所述虚拟场景应用存在一一对应关系的云硬盘。
上述方案中,所述装置还包括:
队列创建模块,用于获取所述虚拟场景应用的使用热度;
基于所述使用热度,确定与所述使用热度相对应、且处于空闲状态的云硬盘的目标数量,并将所述目标数量的云硬盘存储至云硬盘队列中。
上述方案中,所述队列创建模块,还用于分别获取所述云硬盘队列中处于空闲状态的云硬盘的第一数量、及未处于空闲状态的云硬盘的第二数量;
基于所述第一数量及所述第二数量,确定所述云硬盘队列中云硬盘的空闲比;
当所述空闲比低于比例阈值时,通过快照创建第三数量的云硬盘,并将所创建的第三数量的云硬盘存储至所述云硬盘队列中。
上述方案中,所述第一处理模块,还用于建立与所述云端设备的心跳连接;
通过所述心跳连接,获取所述云端设备的设备信息。
上述方案中,所述第一处理模块,还用于发送针对所述云硬盘的硬盘挂载指令至所述云端设备;
所述硬盘挂载指令,用于所述云端设备创建所述虚拟场景应用对应所述云硬盘的路径信息,以将所述云硬盘挂载至所述云端设备。
上述方案中,所述装置还包括:
更新模块,用于对所述虚拟场景应用的版本进行检测,得到检测结果;
当所述检测结果表征所述虚拟场景应用的版本需要更新时,更新所述云硬盘。
上述方案中,所述更新模块,还用于
在共享文件存储服务中,对运行所述虚拟场景应用所需的文件进行更新,并创建预设容量的中转云硬盘;
将更新后的运行所述虚拟场景应用所需的文件,复制至所述中转云硬盘;
以复制后的所述中转云硬盘为硬盘源,创建对应的快照,并通过创建的所述快照更新所述云硬盘。
本申请实施例提供一种虚拟场景应用的接入装置,包括:
发送模块,用于发送针对虚拟场景应用的接入请求;
其中,所述接入请求,用于供确定与所述虚拟场景应用相适配的云端设备、以及与所述虚拟场景应用存在一一对应关系的云硬盘,并建立所述云硬盘与所述云端设备之间的关联,所述云硬盘存储有运行所述虚拟场景应用所需的文件;
第二接收模块,用于接收返回的所述云端设备的设备信息;
第二处理模块,用于基于所述设备信息,建立与所述云端设备的通信连接,并通过所述通信连接,运行存储于所述云硬盘中的所述文件以接入所述虚拟场景应用。
上述方案中,所述装置还包括:
响应模块,用于响应于针对所述虚拟场景应用的交互操作,通过所述通信连接,发送对应所述交互操作的画面获取请求至所述云端设备,以使所述云端设备基于所述虚拟场景应用的交互操作,进行相应的虚拟场景应用的画面渲染,得到并返回渲染结果;
呈现模块,用于接收所述渲染结果,并基于所述渲染结果呈现对应的虚拟场景应用的画面。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的虚拟场景应用的接入方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的虚拟场景应用的接入方法。
本申请实施例具有以下有益效果:
当用户请求针对该虚拟场景应用的接入请求时,获取与该虚拟场景应用相适配的云端设备及相对应的云硬盘,并建立云硬盘与云端设备之间的关联,获取云端设备的设备信息,进而基于该设备信息建立终端与云端设备的通信连接,通过该通信连接运行云硬盘中存储的运行该虚拟场景应用所需的文件以该接入虚拟场景应用,如此,通过云硬盘服务,将运行虚拟场景应用所需的文件单独部署在一个云硬盘中,大大降低了虚拟场景应用存储所消耗的硬盘资源,节约了虚拟场景应用的存储成本。
附图说明
图1为本申请实施例提供的虚拟场景应用的接入系统的一个可选的架构示意图;
图2为本申请实施例提供的电子设备的一个可选的结构示意图;
图3为本申请实施例提供的虚拟场景应用的接入方法的一个可选的流程示意图;
图4为本申请实施例提供的确定与虚拟场景应用相适配的云端设备的方法的一个可选的流程示意图;
图5为本申请实施例提供的确定与虚拟场景应用相适配的云端设备的方法的一个可选的流程示意图;
图6为本申请实施例提供的确定与虚拟场景相对应的云硬盘的方法的一个可选的流程示意图;
图7为本申请实施例提供的虚拟场景应用的接入方法的一个可选的流程示意图;
图8为本申请实施例提供的虚拟场景应用的接入方法的一个可选的流程示意图;
图9为本申请实施例提供的云游戏界面示意图;
图10为本申请实施例提供的虚拟场景应用的接入系统的一个可选的架构示意图;
图11为本申请实施例提供的云硬盘分配与更新的过程示意图;
图12为本申请实施例提供的云硬盘监控示意图;
图13为本申请实施例提供的云硬盘更新示意图;
图14为本申请实施例提供的云游戏体验界面示意图;
图15为本申请实施例提供的虚拟场景应用的接入装置的结构示意图;
图16为本申请实施例提供的虚拟场景应用的接入装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二…”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二…”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)客户端,终端中运行的用于提供各种服务的应用程序,例如视频播放客户端、即时通讯客户端、直播客户端等。
2)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
3)虚拟场景,利用设备输出的区别于现实世界的场景,通过裸眼或设备的辅助能够形成对虚拟场景的视觉感知,例如通过显示屏幕输出的二维影像,通过立体投影、虚拟现实和增强现实技术等立体显示技术来输出的三维影像;此外,还可以通过各种可能的硬件形成听觉感知、触觉感知、嗅觉感知和运动感知等各种模拟现实世界的感知。
4)云游戏,是以云计算为基础的游戏方式,所有游戏都在服务器端运行,并将渲染完毕后的游戏画面和音效压缩后通过网络以推流(也称作云游戏音视频流)的方式传送给玩家,玩家通过网络与远端服务器上游戏进行操控。
5)云硬盘(CBS,Cloud Block Storage),是一种高可用、高可靠、低成本、可定制化的块存储设备,可以作为云服务器的独立可扩展硬盘使用,为云服务器实例提供高效可靠的存储设备。云硬盘提供数据块级别的持久性存储,通常用作需要频繁更新、细粒度更新的数据(如文件系统、数据库等)的主存储设备,具有高可用、高可靠和高性能的特点。
6)文件存储(CFS,Cloud File Storage),提供了可扩展的共享文件存储服务,可与腾讯云的云服务器(CVM,Cloud Virtual Machine)、容器、批量计算等服务搭配使用。CFS提供了标准的网络文件系统(NFS,Network File System)及应用层网络传输协议(CIFS/SMB,Common Internet File System/Server Message Block),为多个CVM实例或其他计算服务提供共享的数据源,支持弹性容量和性能的扩展,现有应用无需修改即可挂载使用,是一种高可用、高可靠的分布式文件系统,适合于大数据分析、媒体处理和内容管理等场景。
7)网页即时通信(WebRTC,Web Real-Time Communication),是一个支持网页浏览器进行实时语音对话或视频对话的应用程序接口(API,Application ProgrammingInterface),WebRTC实现了基于网页的视频会议,标准是WHATWG协议,目的是通过浏览器提供简单的JavaScript就可以达到实时通讯能力。
8)快照,是对云硬盘的复制,当已创建快照的云硬盘出现问题时,可通过快照快速恢复到未出问题前的状态,业务重大变更前对相关云硬盘创建快照,若业务变更失败数据可快速恢复。
参见图1,图1为本申请实施例提供的虚拟场景应用的接入系统100的一个可选的架构示意图,为实现支撑一个示例性应用,终端400通过网络连接服务器200,服务器200通过网络连接云硬盘300和云端设备500,其中,服务器为虚拟场景应用的调度管理平台,网络可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
在实际应用中,终端400可以为智能手机、平板电脑、笔记本电脑等各种类型的用户终端,还可以为台式计算机、游戏机、电视机或者这些数据处理设备中任意两个或多个的组合;服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器等。
在实际应用中,服务器200为终端400所要接入的虚拟场景应用所对应的管理平台,一般地,适用于依赖服务器200的计算能力完成虚拟场景计算、并在终端400输出虚拟场景的应用。以形成虚拟场景的视觉感知为例,服务器200进行虚拟场景相关显示数据的计算并发送到终400,终端400依赖于图形计算硬件完成计算显示数据的加载和解析,依赖于图形输出硬件输出虚拟场景以形成视觉感知,例如可以在智能手机的显示屏幕呈现二维的图片或视频,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的图片或视频;对于虚拟场景的形式的感知而言,可以理解,可以借助于终端设备的相应硬件输出,例如使用麦克风输出形成听觉感知,使用振动器输出形成触觉感知等等。
作为一个示例,在通过终端400接入游戏应用时,服务器200为游戏应用所对应的调度管理平台(如游戏厂商),终端400发送针对所选择游戏应用的接入请求至服务器200,服务器200接收到终端400发送的针对游戏应用的接入请求,响应于该接入请求,确定与所选择游戏应用相适配的云端设备500、以及与所选择游戏应用存在一一对应关系的云硬盘300,其中,云硬盘300存储有运行游戏应用所需的文件,建立云硬盘300与云端设备500之间的关联,获取并返回云端设备500的设备信息至终端400;终端400基于设备信息,建立与云端设备500的通信连接,并通过通信连接运行云硬盘300中的文件以接入游戏应用。
作为另一个示例,在通过终端400接入虚拟旅游应用时,服务器200为虚拟旅游应用所对应的调度管理平台(如虚拟旅游管理平台),终端400发送针对所选择虚拟旅游应用的接入请求至服务器200,服务器200接收到终端400发送的针对所选择虚拟旅游应用的接入请求,响应于该接入请求,确定与所选择虚拟旅游应用相适配的云端设备500、以及与虚拟旅游应用存在一一对应关系的云硬盘300,其中,云硬盘300存储有运行虚拟旅游应用所需的文件,建立云硬盘300与云端设备500之间的关联,获取并返回云端设备500的设备信息至终端400;终端400基于设备信息,建立与云端设备的通信连接,并通过通信连接运行云硬盘300中的文件以接入虚拟旅游应用。
作为另一个示例,在通过终端400接入购物应用时,服务器200为购物应用所对应的调度管理平台(如购物管理平台),终端400发送针对所选择购物应用的接入请求至服务器200,服务器200接收到终端400发送的针对所选择购物应用的接入请求,响应于该接入请求,确定与所选择购物应用相适配的云端设备500、以及与购物应用存在一一对应关系的云硬盘300,其中,云硬盘300存储有运行购物应用所需的文件,建立云硬盘300与云端设备500之间的关联,获取并返回云端设备500的设备信息至终端400;终端400基于设备信息,建立与云端设备500的通信连接,并通过通信连接运行云硬盘300中的文件以接入购物应用。
参见图2,图2为本申请实施例提供的电子设备500的一个可选的结构示意图,在实际应用中,电子设备500可以为图1中的终端400或服务器200,以电子设备为图1所示的服务器200为例,对实施本申请实施例的虚拟场景应用的接入方法的电子设备进行说明。图2所示的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memo ry)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的虚拟场景应用的接入装置可以采用软件方式实现,图2示出了存储在存储器550中的虚拟场景应用的接入装置555,其可以是程序和插件等形式的软件,包括以下软件模块:第一接收模块5551、确定模块5552、第一处理模块5553和返回模块5554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的虚拟场景应用的接入装置可以采用硬件方式实现,作为示例,本申请实施例提供的虚拟场景应用的接入装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的虚拟场景应用的接入方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、D SP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(F PGA,Field-Programmable Gate Array)或其他电子元件。
接下来对本申请实施例的提供的虚拟场景应用的接入方法进行说明,在实际实施时,本申请实施例提供的虚拟场景应用的接入方法可由服务器或终端单独实施,还可由服务器及终端协同实施。
参见图3,图3为本申请实施例提供的虚拟场景应用的接入方法的一个可选的流程示意图,图3所示的虚拟场景应用的接入方法应用于虚拟场景应用的调度管理平台,将结合图3示出的步骤进行说明。
步骤101:虚拟场景应用的调度管理平台接收到终端发送的针对虚拟场景应用的接入请求。
在实际应用中,当用户通过终端上的浏览器或客户端选择体验某一虚拟场景应用时,终端响应于该选择操作,生成针对虚拟场景应用的接入请求,并将所生成的接入请求发送至虚拟场景应用的调度管理平台,其中,接入请求携带对应虚拟场景应用的应用标识。
以虚拟场景为游戏为例,当玩家通过终端上的浏览器或者游戏客户端接入云游SDK选择相应云游戏后,终端响应于选择操作,向云游戏平台厂商(即游戏应用的调度管理平台)发起接入请求,云游戏平台厂商接收到该接入请求后,基于该接入请求申请分配与所选择的云游戏应用相适配的云端设备和云硬盘。
步骤102:响应于接入请求,确定与虚拟场景应用相适配的云端设备、以及与虚拟场景应用存在一一对应关系的云硬盘,云硬盘存储有运行虚拟场景应用所需的文件。
在一些实施例中,参见图4,图4为本申请实施例提供的确定与虚拟场景应用相适配的云端设备的方法的一个可选的流程示意图,图3示出的步骤102中的确定与虚拟场景应用相适配的云端设备可通过如图4所示的步骤201-步骤203来实现:
步骤201:对接入请求进行解析,得到对应虚拟场景应用的应用标识;
这里,接入请求携带有虚拟场景应用对应的应用标识,当虚拟场景应用的调度管理平台接收到接入请求后,对接入请求进行解析,得到对应的应用标识。
仍以虚拟场景为游戏为例进行说明,接入请求携带有所选择云游戏的游戏标识,云游戏平台厂商对接入请求进行解析,得到对应的游戏标识,以基于游戏标识确定与所选择游戏应用相适配的云端设备及云硬盘等。
步骤202:基于应用标识,确定虚拟场景应用所归属的应用类型;
这里,应用标识与虚拟场景应用所归属的应用类型存在一一对应关系,在实际应用中,将各个参考应用标识与对应的虚拟场景应用所归属的应用类型进行存储,将基于接入请求得到的应用标识与存储的多个参考应用标识进行匹配,并将相匹配的参考应用标识所对应的虚拟场景应用所归属的应用类型,作为基于接入请求得到的应用标识所对应的虚拟场景应用所归属的应用类型。
步骤203:从至少两个云端设备中选择设备类型与应用类型相匹配的目标云端设备,作为与虚拟场景应用相适配的云端设备。
当云端设备有多个时,从多个云端设备中选择设备类型与应用类型相匹配的目标云端设备,作为与虚拟场景应用相适配的云端设备。
在一些实施例中,参见图5,图5为本申请实施例提供的确定与虚拟场景应用相适配的云端设备的方法的一个可选的流程示意图,图4示出的步骤203可通过如图5所示的步骤2031-步骤2033来实现:
步骤2031:从至少两个云端设备中选择设备类型与应用类型相匹配的目标云端设备;
步骤2032:当目标云端设备的数量为至少两个时,分别获取各目标云端设备的使用状态;
步骤2033:从至少两个目标云端设备中,选择使用状态为空闲状态的云端设备,作为与虚拟场景应用相适配的云端设备。
这里,使用状态包括空闲状态和运行状态(即非空闲状态),当目标云端设备的数量为多个时,从中选择使用状态为空闲状态的云端设备,作为与虚拟场景应用相适配的云端设备。
在一些实施例中,当至少两个目标云端设备的使用状态为运行状态时,进入排队队列直至出现空闲状态的目标云端设备,并将所出现的空闲状态的目标云端设备作为与所述虚拟场景应用相适配的云端设备。
在一些实施例中,参见图6,图6为本申请实施例提供的确定与虚拟场景相对应的云硬盘的方法的一个可选的流程示意图,图3示出的步骤102中的确定与虚拟场景应用存在一一对应关系的云硬盘可通过如图6所示的步骤301-步骤303来实现:
步骤301:对接入请求进行解析,得到对应虚拟场景应用的应用标识;
步骤302:获取创建的用于存储云硬盘的云硬盘队列;
步骤303:当基于应用标识,查找到云硬盘队列中存在与虚拟场景应用相匹配的云硬盘时,将查找到的云硬盘作为与虚拟场景应用存在一一对应关系的云硬盘。
在实际应用中,云硬盘队列(又称云硬盘缓存池)中存在多个云硬盘,每个云硬盘有对应的参考应用标识,用于指示云硬盘中存储有运行与该参考应用标识相匹配的虚拟场景应用所需的文件,其中,文件包括可执行文件及相关资源文件,将解析接入请求得到的应用标识与云硬盘队列中存储的云硬盘对应的参考应用标识进行匹配,当匹配成功时,表征云硬盘队列中存在与该应用标识指示的应用场景存在对应关系的云硬盘,将相匹配的参考应用标识对应的云硬盘,作为与该虚拟场景应用存在一一对应关系的云硬盘。
在一些实施例中,当基于解析得到的应用标识,未查找到云硬盘队列中存在与虚拟场景应用相匹配的云硬盘时,通过快照创建云硬盘,并将所创建的云硬盘作为与虚拟场景应用存在一一对应关系的云硬盘。
这里,将解析接入请求得到的应用标识与云硬盘队列中存储的云硬盘对应的参考应用标识进行匹配,当匹配不成功时,表征云硬盘队列中不存在与该应用标识指示的虚拟场景应用相匹配的云硬盘,此种情况下,通过快照创建新的云硬盘,并将所创建的新的云硬盘作为与该应用标识指示的虚拟场景应用存在对应关系的云硬盘。
在一些实施例中,为了保证用户能够及时体验虚拟场景应用,就需保证虚拟场景应用的启动时间无异于本地打开方式,即启动耗时不能过长,因此就需提前对每个虚拟场景应用准备好相对应的云硬盘,在实际实施时,可通过如下方式构建云硬盘队列中虚拟场景应用对应的云硬盘:
获取虚拟场景应用的使用热度;基于使用热度,确定与使用热度相对应、且处于空闲状态的云硬盘的目标数量,并将目标数量的云硬盘存储至云硬盘队列中。
这里,根据各个虚拟场景应用的使用热度,设置各虚拟场景应用对应的初始空闲云硬盘的数量,一般地,虚拟场景应用的使用热度越高,则相应的设置该虚拟场景应用对应的初始空闲云硬盘的数量就越多,虚拟场景应用的使用热度越低,则相应的设置该虚拟场景应用对应的初始空闲云硬盘的数量就越少,如此,统筹规划各虚拟场景应用对应的云硬盘,既保证热门虚拟场景应用的云硬盘的数量足够多,又避免冷门虚拟场景应用的云硬盘的数量过多时造成的存储资源浪费。
在一些实施例中,还可通过如下方式构建云硬盘队列中虚拟场景应用对应的云硬盘:
分别获取云硬盘队列中处于空闲状态的云硬盘的第一数量、及未处于空闲状态的云硬盘的第二数量;基于第一数量及第二数量,确定云硬盘队列中云硬盘的空闲比;当空闲比低于比例阈值时,通过快照创建第三数量的云硬盘,并将所创建的第三数量的云硬盘存储至云硬盘队列中。
这里,在实际应用中,定时查询云硬盘队列中各虚拟场景应用对应的云硬盘中处于空闲状态的云硬盘的第一数量和处于运行状态的云硬盘的第二数量,并将第一数量与第二数量的比值确定为对应该虚拟场景应用对应的云硬盘的空闲比,当空闲比低于比例阈值时,也即云硬盘队列中与该虚拟场景应用对应的处于空闲状态的云硬盘相对于云硬盘的总数的占比降低时,及时获取该虚拟场景应用最新版本的快照并基于最新版本文件的快照创建新的云硬盘,并将新创建的云硬盘存储至云硬盘队列中,保证云硬盘队列中有足够多的云硬盘供请求接入虚拟场景应用。
通过对云硬盘队列中云硬盘的数量的监控,可更好地调整云硬盘预存空闲数量,如此,可精准地了解每个虚拟场景应用的使用热度,更好地分配各个虚拟场景应用对应的云硬盘的数量。
步骤103:建立云硬盘与云端设备之间的关联,并获取云端设备的设备信息。
在一些实施例中,可通过如下方式建立云硬盘与云端设备之间的关联:
发送针对云硬盘的硬盘挂载指令至云端设备;其中,硬盘挂载指令用于云端设备创建虚拟场景对应云硬盘的路径信息,以将云硬盘挂载至云端设备。
这里,虚拟场景应用的调度管理平台发送针对云硬盘的挂载指令至云端设备,云端设备接收到挂载指令后,基于挂载指令建立虚拟场景应用目录软连接到云硬盘,即创建对应虚拟场景应用对应云硬盘的路径信息,将云硬盘挂载至云端设备,如此,即可通过打开云硬盘的目录来运行虚拟场景应用。
在一些实施例中,可通过如下方式获取云端设备的设备信息:
建立与云端设备的心跳连接;通过心跳连接,获取云端设备的设备信息。
这里,通过建立虚拟场景应用的调度管理平台与云端设备的心跳连接,实现将虚拟场景应用的调度管理平台与云端设备进行心跳同步,然后虚拟场景应用的调度管理平台通过建立的心跳连接,向云端设备发送针对设备信息的获取请求,云端设备接收到获取请求后,确定并返回云端设备的设备信息至调度管理平台,其中,设备信息包括:设备类型、设备识别码(或设备硬件串号)、联网信息、设备功能属性、设备工作状态等。
步骤104:返回设备信息至终端,其中,设备信息用于供终端基于设备信息,建立与云端设备的通信连接,并通过通信连接运行云硬盘中的文件,以接入虚拟场景应用。
这里,调度管理平台将云端设备的设备信息返回至终端,终端基于云端设备的设备信息建立与云端设备的通信连接,针对虚拟场景应用的用户操作可通过建立的通信连接发送至云硬盘,以运行云硬盘中的文件接入虚拟场景应用。
在一些实施例中,调度管理平台还对虚拟场景应用的版本进行检测,得到检测结果;当检测结果表征虚拟场景应用的版本需要更新时,更新云硬盘。
这里,为了保证用户在体验虚拟场景应用的过程中不需要更新虚拟场景应用的版本,需保证云硬盘中的运行虚拟场景应用所需的文件处于最新版本,为此,在实际实施时,调度管理平台对云硬盘存储的虚拟场景应用的版本进行周期性检测,对未处于最新版本的虚拟场景对应的云硬盘进行更新,以保证云硬盘中存储的虚拟场景应用的版本处于最新状态。
在一些实施例中,可通过如下方式更新云硬盘:在共享文件存储服务中,对运行虚拟场景应用所需的文件进行更新,并创建预设容量的中转云硬盘;将更新后的运行虚拟场景应用所需的文件,复制至中转云硬盘;以复制后的中转云硬盘为硬盘源,创建对应的快照,并通过创建的快照更新云硬盘。
这里,运行虚拟场景应用所需的文件存储在云硬盘的共享文件存储服务中,当检测发现共享文件存储服务中存在需要更新的运行虚拟场景应用所需的文件时,直接在共享文件存储服务中对运行虚拟场景应用所需的文件进行更新,然后,创建一个足够容量的中转云硬盘,将更新后的运行虚拟场景应用所需的文件复制至中转云硬盘中,最后以复制后的中转云硬盘为硬盘源,创建对应的快照,并通过创建的快照更新云硬盘;如此,云硬盘在存储的运行虚拟场景应用所需的文件处于最新版本,也即云硬盘中存储的虚拟场景应用的版本处于最新状态。
接下来继续对本申请实施例提供的虚拟场景应用的接入方法进行说明,参见图7,图7为本申请实施例提供的虚拟场景应用的接入方法的一个可选的流程示意图,图7所示的虚拟场景应用的接入方法应用于终端,将结合图7示出的步骤进行说明。
步骤401:终端发送针对虚拟场景应用的接入请求。
在实际应用中,当用户通过终端上的浏览器或客户端选择体验某一虚拟场景应用时,终端响应于该选择操作,生成针对虚拟场景应用的接入请求,并将所生成的接入请求发送至虚拟场景应用的调度管理平台,其中,接入请求用于供确定与虚拟场景应用相适配的云端设备、以及与虚拟场景应用存在一一对应关系的云硬盘,并建立云硬盘与云端设备之间的关联,云硬盘存储有运行虚拟场景应用所需的文件。
在实际实施时,接入请求携带有虚拟场景应用对应的应用标识,当虚拟场景应用的调度管理平台接收到接入请求后,对接入请求进行解析,得到对应的应用标识,基于应用标识确定虚拟场景应用所归属的应用类型,从至少两个云端设备中选择设备类型与应用类型相匹配的目标云端设备,作为与虚拟场景应用相适配的云端设备,以及基于应用标识查找到云硬盘队列中存在与虚拟场景应用相匹配的云硬盘时,将查找到的云硬盘作为与虚拟场景应用存在一一对应关系的云硬盘。
当至少两个目标云端设备的使用状态为运行状态时,则进入排队队列直至出现空闲状态的目标云端设备,并将所出现的空闲状态的目标云端设备作为与所述虚拟场景应用相适配的云端设备;当基于解析得到的应用标识,未查找到云硬盘队列中存在与虚拟场景应用相匹配的云硬盘时,则通过快照创建云硬盘,并将所创建的云硬盘作为与虚拟场景应用存在一一对应关系的云硬盘。
当确定好与虚拟场景应用对应的云端设备和云硬盘后,建立虚拟场景应用目录软连接到云硬盘,即将云硬盘挂载至云端设备,如此,即可通过打开云硬盘的目录来运行虚拟场景应用。
步骤402:接收返回的云端设备的设备信息。
通过建立虚拟场景应用的调度管理平台与准备就绪的云端设备的心跳连接,实现将虚拟场景应用的调度管理平台与云端设备进行心跳同步,然后虚拟场景应用的调度管理平台通过建立的心跳连接,向云端设备发送针对设备信息的获取请求,云端设备接收到获取请求后,确定并返回云端设备的设备信息至调度管理平台,调度管理平台将设备信息同步给终端。
步骤403:基于设备信息,建立与云端设备的通信连接,并通过通信连接,运行存储于云硬盘中的文件以接入虚拟场景应用。
在实际实施时,终端通过通信连接发送针对虚拟场景应用的运行请求,以使云端设备运行存储于云硬盘中的文件,并返回运行文件得到的画面数据。
在一些实施例中,终端可通过如下方式呈现虚拟场景的画面:
响应于针对虚拟场景应用的交互操作,通过通信连接,发送对应交互操作的画面获取请求至云端设备,以使云端设备基于虚拟场景应用的交互操作,进行相应的虚拟场景应用的画面渲染,得到并返回渲染结果;接收渲染结果,并基于渲染结果呈现对应的虚拟场景应用的画面。
继续对本申请实施例提供的虚拟场景应用的接入方法进行说明,参见图8,图8为本申请实施例提供的虚拟场景应用的接入方法的一个可选的流程示意图,图8所示的虚拟场景应用的接入方法应用于终端和虚拟场景应用的调度管理平台,将结合图8示出的步骤进行说明。
步骤501:终端响应于选择操作,生成针对虚拟场景应用的接入请求。
在实际应用中,当用户通过终端上的浏览器或客户端选择体验某一虚拟场景应用时,终端响应于该选择操作,生成针对虚拟场景应用的接入请求。
步骤502:终端发送针对虚拟场景应用的接入请求至虚拟场景应用的调度管理平台。
步骤503:调度管理平台对接入请求进行解析,得到对应虚拟场景应用的应用标识。
步骤504:调度管理平台基于应用标识,确定与虚拟场景应用相适配的云端设备、以及与虚拟场景应用存在一一对应关系的云硬盘。
其中,云硬盘存储有运行虚拟场景应用所需的文件。
在实际实施时,调度管理平台对虚拟场景应用的版本进行周期性检测,得到检测结果;当检测结果表征虚拟场景应用的版本需要更新时,更新云硬盘以保证云硬盘中存储的虚拟场景应用的版本处于最新状态。
步骤505:调度管理平台发送针对云硬盘的硬盘挂载指令至云端设备。
步骤506:云端设备响应于硬盘挂载指令,创建虚拟场景对应云硬盘的路径信息,以将云硬盘挂载至云端设备。
步骤507:调度管理平台建立与云端设备的心跳连接;
步骤508:调度管理平台通过心跳连接,获取云端设备的设备信息。
步骤509:调度管理平台返回云端设备的设备信息至终端。
步骤510:终端接收返回的云端设备的设备信息。
步骤511:终端基于设备信息,建立与云端设备的通信连接,并通过通信连接,运行存储于云硬盘中的文件以接入虚拟场景应用。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
相关技术采用类似于传统网吧游戏管理模式对云游戏进行管理,由于云游戏服务平台需要同时准备多款游戏的运行文件,这些文件容量大多有几十G甚至上百G,因此,一台云端设备需要几T容量的硬盘,而用户在同一时间只会玩某一款游戏,这不仅提高了云平台的存储成本,还使其他游戏所占空间得不到充分利用,并且大多时间用户只会玩几款热门游戏,这也造成了云硬盘资源的浪费;
而对于游戏更新,由于单各云端设备挂载了多个硬盘,为了不影响用户使用,只能在空闲时间或隔离云端设备来进行更新,这会造成游戏更新不及时的问题,另外,由于云游戏服务平台需要维护日常游戏更新,而动辄几G的游戏更新会影响用户登录即玩的体验,如果在用户使用过程中对云端设备中其他游戏进行更新,则会影响到云端设备的网络和性能,这也降低了用户游戏的体验。
基于此,本申请实施例提供一种虚拟场景应用的接入方法,通过云硬盘服务,将每个游戏单独部署在一个云硬盘中,即云硬盘与游戏应用存在一一对应关系,当用户请求接入某个游戏应用时,确定与该游戏应用相适配的云端设备及云硬盘,并将云硬盘挂载到云端设备上,并且每个游戏都会单独建立云硬盘快照,如果有游戏更新,只需要更新一次,通过快照生成新版本的云硬盘以替代老版本的云硬盘,如此,既能不影响云端设备的利用率也能及时更新游戏版本,提高用户的游戏体验。
参见图9,图9为本申请实施例提供的云游戏界面示意图,如图9所示,本申请实施例提供的虚拟场景用于的接入方法适应于云游戏服务器中,当用户登录云游戏平台选择游戏后,云游戏调度管理平台就会将相应的云硬盘挂载至云端设备上,用户可提供点击图9所示的游戏界面进行游戏体验,并且后台会定时检查更新游戏,尽可能保证用户的游戏体验,较少更新游戏的等待时间。
参见图10,图10为本申请实施例提供的虚拟场景应用的接入系统的一个可选的架构示意图,如图10所示,本申请实施例提供的虚拟场景应用的接入方法包括以下步骤:
1.当玩家通过终端上的浏览器或者游戏客户端接入云游SDK选择相应云游戏后,终端响应于该选择操作,向云游戏平台厂商(即游戏应用的调度管理平台)发起接入请求。
2.云游戏平台厂商接收到接入请求后,基于该接入请求,向云游戏调度模块请求申请分配与所选择的云游戏应用相适配的云端设备,如果有空闲的机器就直接返回给云游戏平台厂商,否则进行排队队列,待有空闲云端设备时再进行分配。
3.云游戏调度模块分配好与所选择游戏应用相适配的云端设备后,向云硬盘管理模块请求相对应游戏应用的云硬盘,如果云硬盘缓存队列已经有相应的云硬盘则直接分配,否则通过快照创建新的云硬盘再进行分配。
4.将分配好的云硬盘直接挂载到已锁定提供给玩家的云端设备(即分配好的与所选择游戏应用相适配的云端设备),然后建立游戏目录软连接到挂载的云硬盘上,如此,即可通过打开云硬盘的目录来运行游戏。
5.准备就绪的云端设备需要与调度模块进行心跳同步,把云端设备的设备信息上报给调度模块,同时调度模块也需要实时了解云端设备的状态,才能选择云端设备与对其他玩家进行机型匹配。
6.调度模块把准备就绪的云端设备的设备信息返回给云游戏平台厂商,云游戏平台厂商再把这些设备信息同步给玩家。
7.玩家分配到云端设备后,终端基于云端设备的设备信息建立与云端设备的通信连接,针对该游戏应用的用户操作可通过建立的通信连接(如会话形式)发送至云硬盘,以运行云硬盘中的文件接入游戏应用,游戏的画面则通过云端编码串流传给云游戏SDK,云游戏SDK通过解码展示给玩家,而这些都是通过WebRTC进行传输。
参见图11,图11为本申请实施例提供的云硬盘分配与更新的过程示意图,如图11所示,本申请实施例提供的云硬盘分配与更新的过程可通过如下步骤来实现:
1.当调度模块分配完与所选择云游戏相适配的云端设备后,调度模块会向云硬盘管理模块请求与所选择游戏相对应的云硬盘,云硬盘管理模块维护了一个云硬盘缓存池(或云硬盘队列),如果缓存池里存在空闲的游戏云硬盘,则直接进行分配,并将分配好的云硬盘挂载至相应的云端设备上,否则向云硬盘计费模块新购一个云硬盘,云硬盘计费模块从快照管理模块获取最新版本的快照然后新建云硬盘,将新建的云硬盘作为与游戏应用相对应的云硬盘,并将新建的云硬盘挂载至相应的云端设备上。
2.云硬盘缓存池包含了所有游戏对应的云硬盘,每个云硬盘里只存储运行某一游戏应用所需的文件,而每种游戏对应一个单独的云硬盘队列,以进行云硬盘的分配和挂载。下面介绍云硬盘缓存池中关于云硬盘的处理方式。
(1)为了保证玩家即点即玩,就需要保证游戏启动时间无异于本地打开方式,即启动耗时不能过长,因此就需要提前对每个游戏准备好相对应的云硬盘,在实际应用中,会根据每个游戏的游戏热度设置初始空闲云硬盘数量,这样可以保证热门游戏的云硬盘的数量足够多。
(2)云硬盘管理模块会定时查询当前处于空闲状态和处于运行状态的云硬盘数量,并根据处于空闲状态的云硬盘的数量与处于运行状态的云硬盘的数量设置云硬盘空闲比,当空闲比低于比例阈值时,向云硬盘计费模块新购一定数量的云硬盘,云硬盘计费模块从快照管理模块获取最新版本的快照然后新建一定数量的云硬盘,并将新创建的云硬盘存储至云硬盘缓存池中。
(3)云硬盘管理模块新建和分配云硬盘后,会定时将信息上报到监控系统,参见图12,图12为本申请实施例提供的云硬盘监控示意图,通过对云硬盘事件的时间流进行监控,实时获取云硬盘缓存池中云硬盘的总数量(a)、处于空闲状态的云硬盘的数量(b)、逐步增加的云硬盘的数量(c)和已逐步增加的云硬盘的数量(d)等信息,可以更好调整云硬盘预存空闲数量,并且监控系统也支持游戏维度的云硬盘信息查询,这样就可以精准了解每个游戏的热度,更好地分配各个游戏的云硬盘数量。
参见图13,图13为本申请实施例提供的云硬盘更新示意图,如图13所示,为了保证用户在体验游戏的过程中不需要更新游戏的版本,需保证云硬盘中的运行游戏所需的文件处于最新版本,为此,游戏更新模块对云硬盘存储的游戏版本进行周期性检测,判断游戏版本是否需要更新,对未处于最新版本的游戏对应的云硬盘进行更新,以保证云硬盘中存储的游戏的版本处于最新状态。
在对云硬盘进行更新时,运行游戏所需的文件存储在云硬盘的共享文件存储服务(即CFS)中,当检测发现CFS中存在需要更新的运行游戏所需的文件时,直接在CFS中对运行游戏所需的文件进行更新,然后,创建一个足够容量的中转云硬盘,将更新后的运行游戏所需的文件复制至中转云硬盘中,最后游戏更新模块以复制后的中转云硬盘为硬盘源创建对应的快照,而云硬盘管理模块会查询当前云硬盘缓存池中云硬盘的版本,当发现云硬盘的版本需要更新时,将通过创建的快照更新云硬盘缓存池中旧版本的云硬盘;如此,云硬盘中存储的运行游戏所需的文件处于最新版本,也即云硬盘中存储的游戏的版本处于最新状态。
参见图14,图14为本申请实施例提供的云游戏体验界面示意图,当云硬盘管理模块完成云硬盘分配后,就会向与所选择云游戏相适配的云端设备挂载所分配的所选择游戏对应的云硬盘,而云端设备挂载云硬盘后,会在系统盘的指定位置建立一个游戏目录的软连接,这也保证无论挂载什么游戏或者挂载了几个云硬盘,都可以在配置好的目录启动游戏,如图14所示,当云端设备准备好游戏相对应的云硬盘后,玩家可以启动游戏进行云游戏体验。
由于游戏的存储影响了云游戏平台整体的成本,并且游戏更新是否及时对玩家体验影响较大,通过上述方式,本申请实施例将运行每个游戏所需的文件存储在单独的云硬盘上,这大大降低了整个游戏存储所消耗的硬盘资源,同时采用快照和CFS方式进行游戏更新,大幅度提高了玩家的云游戏体验。
下面继续说明本申请实施例提供的虚拟场景应用的接入装置555的实施为软件模块的示例性结构,在一些实施例中,如图15所示,图15为本申请实施例提供的虚拟场景应用的接入装置的结构示意图,存储在存储器550的虚拟场景应用的接入装置555中的软件模块可以包括:
第一接收模块5551,用于接收到终端发送的针对虚拟场景应用的接入请求;
确定模块5552,用于响应于所述接入请求,确定与所述虚拟场景应用相适配的云端设备、以及与所述虚拟场景应用存在一一对应关系的云硬盘,所述云硬盘存储有运行所述虚拟场景应用所需的文件;
第一处理模块5553,用于建立所述云硬盘与所述云端设备之间的关联,并获取所述云端设备的设备信息;
返回模块5554,用于返回所述设备信息至所述终端;
其中,所述设备信息用于供所述终端基于所述设备信息,建立与所述云端设备的通信连接,并通过所述通信连接运行所述云硬盘中的所述文件,以接入所述虚拟场景应用。
在一些实施例中,所述确定模块,还用于对所述接入请求进行解析,得到对应所述虚拟场景应用的应用标识;
基于所述应用标识,确定所述虚拟场景应用所归属的应用类型;
从至少两个云端设备中选择设备类型与所述应用类型相匹配的目标云端设备,作为与所述虚拟场景应用相适配的云端设备。
在一些实施例中,所述确定模块,还用于从至少两个云端设备中选择设备类型与所述应用类型相匹配的目标云端设备;
当所述目标云端设备的数量为至少两个时,分别获取各所述目标云端设备的使用状态;
从所述至少两个目标云端设备中,选择所述使用状态为空闲状态的云端设备,作为与所述虚拟场景应用相适配的云端设备。
在一些实施例中,所述确定模块,还用于当所述至少两个目标云端设备的使用状态为运行状态时,进入排队队列直至出现空闲状态的目标云端设备,并将所出现的空闲状态的目标云端设备作为与所述虚拟场景应用相适配的云端设备。
在一些实施例中,所述确定模块,还用于对所述接入请求进行解析,得到对应所述虚拟场景应用的应用标识;
获取创建的用于存储云硬盘的云硬盘队列;
当基于所述应用标识,查找到所述云硬盘队列中存在与所述虚拟场景应用相匹配的云硬盘时,将查找到的云硬盘作为与所述虚拟场景应用存在一一对应关系的云硬盘。
在一些实施例中,所述装置还包括:
创建模块,用于当基于所述应用标识,未查找到所述云硬盘队列中存在与所述虚拟场景应用相匹配的云硬盘时,通过快照创建云硬盘,并将所创建的云硬盘作为与所述虚拟场景应用存在一一对应关系的云硬盘。
在一些实施例中,所述装置还包括:
队列创建模块,用于获取所述虚拟场景应用的使用热度;
基于所述使用热度,确定与所述使用热度相对应、且处于空闲状态的云硬盘的目标数量,并将所述目标数量的云硬盘存储至云硬盘队列中。
上述方案中,所述队列创建模块,还用于分别获取所述云硬盘队列中处于空闲状态的云硬盘的第一数量、及未处于空闲状态的云硬盘的第二数量;
基于所述第一数量及所述第二数量,确定所述云硬盘队列中云硬盘的空闲比;
当所述空闲比低于比例阈值时,通过快照创建第三数量的云硬盘,并将所创建的第三数量的云硬盘存储至所述云硬盘队列中。
在一些实施例中,所述第一处理模块,还用于建立与所述云端设备的心跳连接;
通过所述心跳连接,获取所述云端设备的设备信息。
在一些实施例中,所述第一处理模块,还用于发送针对所述云硬盘的硬盘挂载指令至所述云端设备;
所述硬盘挂载指令,用于所述云端设备创建所述虚拟场景对应所述云硬盘的路径信息,以将所述云硬盘挂载至所述云端设备。
在一些实施例中,所述装置还包括:
更新模块,用于对所述虚拟场景应用的版本进行检测,得到检测结果;
当所述检测结果表征所述虚拟场景应用的版本需要更新时,更新所述云硬盘。
上述方案中,所述更新模块,还用于
在共享文件存储服务中,对运行所述虚拟场景应用所需的文件进行更新,并创建预设容量的中转云硬盘;
将更新后的运行所述虚拟场景应用所需的文件,复制至所述中转云硬盘;
以复制后的所述中转云硬盘为硬盘源,创建对应的快照,并通过创建的所述快照更新所述云硬盘。
参见图16,图16为本申请实施例提供的虚拟场景应用的接入装置的结构示意图,本申请实施例提供的虚拟场景应用的接入装置16包括:
发送模块161,用于发送针对虚拟场景应用的接入请求;
其中,所述接入请求,用于供确定与所述虚拟场景应用相适配的云端设备、以及与所述虚拟场景应用存在一一对应关系的云硬盘,并建立所述云硬盘与所述云端设备之间的关联,所述云硬盘存储有运行所述虚拟场景应用所需的文件;
第二接收模块162,用于接收返回的所述云端设备的设备信息;
第二处理模块163,用于基于所述设备信息,建立与所述云端设备的通信连接,并通过所述通信连接,运行存储于所述云硬盘中的所述文件以接入所述虚拟场景应用。
在一些实施例中,所述装置还包括:
响应模块,用于响应于针对所述虚拟场景的交互操作,通过所述通信连接,发送对应所述交互操作的画面获取请求至所述云端设备,以使所述云端设备基于所述虚拟场景的交互操作,进行相应的虚拟场景的画面渲染,得到并返回渲染结果;
呈现模块,用于接收所述渲染结果,并基于所述渲染结果呈现对应的虚拟场景的画面。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的虚拟场景应用的接入方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的虚拟场景应用的接入方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (15)

1.一种虚拟场景应用的接入方法,其特征在于,所述方法包括:
接收到终端发送的针对虚拟场景应用的接入请求;
响应于所述接入请求,确定与所述虚拟场景应用相适配的云端设备、以及与所述虚拟场景应用存在一一对应关系的云硬盘,所述云硬盘存储有运行所述虚拟场景应用所需的文件;
建立所述云硬盘与所述云端设备之间的关联,并获取所述云端设备的设备信息;
返回所述设备信息至所述终端;
其中,所述设备信息用于供所述终端基于所述设备信息,建立与所述云端设备的通信连接,并通过所述通信连接运行所述云硬盘中的所述文件,以接入所述虚拟场景应用。
2.如权利要求1所述的方法,其特征在于,所述确定与所述虚拟场景应用相适配的云端设备,包括:
对所述接入请求进行解析,得到对应所述虚拟场景应用的应用标识;
基于所述应用标识,确定所述虚拟场景应用所归属的应用类型;
从至少两个云端设备中选择设备类型与所述应用类型相匹配的目标云端设备,作为与所述虚拟场景应用相适配的云端设备。
3.如权利要求2所述的方法,其特征在于,所述从至少两个云端设备中选择设备类型与所述应用类型相匹配的目标云端设备,作为与所述虚拟场景应用相适配的云端设备,包括:
从至少两个云端设备中选择设备类型与所述应用类型相匹配的目标云端设备;
当所述目标云端设备的数量为至少两个时,分别获取各所述目标云端设备的使用状态;
从所述至少两个目标云端设备中,选择所述使用状态为空闲状态的目标云端设备,作为与所述虚拟场景应用相适配的云端设备。
4.如权利要求1所述的方法,其特征在于,所述确定与所述虚拟场景应用存在一一对应关系的云硬盘,包括:
对所述接入请求进行解析,得到对应所述虚拟场景应用的应用标识;
获取创建的用于存储云硬盘的云硬盘队列;
当基于所述应用标识,查找到所述云硬盘队列中存在与所述虚拟场景应用相匹配的云硬盘时,将查找到的云硬盘作为与所述虚拟场景应用存在一一对应关系的云硬盘。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
获取所述虚拟场景应用的使用热度;
基于所述使用热度,确定与所述使用热度相对应、且处于空闲状态的云硬盘的目标数量,并将所述目标数量的云硬盘存储至云硬盘队列中。
6.如权利要求4所述的方法,其特征在于,所述方法还包括:
分别获取所述云硬盘队列中处于空闲状态的云硬盘的第一数量、及未处于空闲状态的云硬盘的第二数量;
基于所述第一数量及所述第二数量,确定所述云硬盘队列中云硬盘的空闲比;
当所述空闲比低于比例阈值时,通过快照创建第三数量的云硬盘,并将所创建的第三数量的云硬盘存储至所述云硬盘队列中。
7.如权利要求1所述的方法,其特征在于,所述获取所述云端设备的设备信息,包括:
建立与所述云端设备的心跳连接;
通过所述心跳连接,获取所述云端设备的设备信息。
8.如权利要求1所述的方法,其特征在于,所述建立所述云硬盘与所述云端设备之间的关联,包括:
发送针对所述云硬盘的硬盘挂载指令至所述云端设备;
所述硬盘挂载指令,用于所述云端设备创建所述虚拟场景应用对应所述云硬盘的路径信息,以将所述云硬盘挂载至所述云端设备。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:
对所述虚拟场景应用的版本进行检测,得到检测结果;
当所述检测结果表征所述虚拟场景应用的版本需要更新时,更新所述云硬盘。
10.如权利要求9所述的方法,其特征在于,所述更新所述云硬盘,包括:
在共享文件存储服务中,对运行所述虚拟场景应用所需的文件进行更新,并创建预设容量的中转云硬盘;
将更新后的运行所述虚拟场景应用所需的文件,复制至所述中转云硬盘;
以复制后的所述中转云硬盘为硬盘源,创建对应的快照,并通过创建的所述快照更新所述云硬盘。
11.一种虚拟场景应用的接入方法,其特征在于,所述方法包括:
发送针对虚拟场景应用的接入请求;
其中,所述接入请求,用于供确定与所述虚拟场景应用相适配的云端设备、以及与所述虚拟场景应用存在一一对应关系的云硬盘,并建立所述云硬盘与所述云端设备之间的关联,所述云硬盘存储有运行所述虚拟场景应用所需的文件;
接收返回的所述云端设备的设备信息;
基于所述设备信息,建立与所述云端设备的通信连接,并通过所述通信连接,运行存储于所述云硬盘中的所述文件以接入所述虚拟场景应用。
12.一种虚拟场景应用的接入装置,其特征在于,所述装置包括:
第一接收模块,用于接收到终端发送的针对虚拟场景应用的接入请求;
确定模块,用于响应于所述接入请求,确定与所述虚拟场景应用相适配的云端设备、以及与所述虚拟场景应用存在一一对应关系的云硬盘,所述云硬盘存储有运行所述虚拟场景应用所需的文件;
第一处理模块,用于建立所述云硬盘与所述云端设备之间的关联,并获取所述云端设备的设备信息;
返回模块,用于返回所述设备信息至所述终端;
其中,所述设备信息用于供所述终端基于所述设备信息,建立与所述云端设备的通信连接,并通过所述通信连接运行所述云硬盘中的所述文件,以接入所述虚拟场景应用。
13.一种虚拟场景应用的接入装置,其特征在于,所述装置包括:
发送模块,用于发送针对虚拟场景应用的接入请求;
其中,所述接入请求,用于供确定与所述虚拟场景应用相适配的云端设备、以及与所述虚拟场景应用存在一一对应关系的云硬盘,并建立所述云硬盘与所述云端设备之间的关联,所述云硬盘存储有运行所述虚拟场景应用所需的文件;
第二接收模块,用于接收返回的所述云端设备的设备信息;
第二处理模块,用于基于所述设备信息,建立与所述云端设备的通信连接,并通过所述通信连接,运行存储于所述云硬盘中的所述文件以接入所述虚拟场景应用。
14.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至11任一项所述的虚拟场景应用的接入方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至11任一项所述的虚拟场景应用的接入方法。
CN202011088612.2A 2020-10-13 2020-10-13 虚拟场景应用的接入方法、装置、设备及存储介质 Pending CN112044078A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011088612.2A CN112044078A (zh) 2020-10-13 2020-10-13 虚拟场景应用的接入方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011088612.2A CN112044078A (zh) 2020-10-13 2020-10-13 虚拟场景应用的接入方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112044078A true CN112044078A (zh) 2020-12-08

Family

ID=73606576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011088612.2A Pending CN112044078A (zh) 2020-10-13 2020-10-13 虚拟场景应用的接入方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112044078A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112316424A (zh) * 2021-01-06 2021-02-05 腾讯科技(深圳)有限公司 一种游戏数据处理方法、装置及存储介质
CN113457125A (zh) * 2021-07-02 2021-10-01 珠海金山网络游戏科技有限公司 游戏场景管理方法及系统
CN115671711A (zh) * 2021-07-21 2023-02-03 腾讯科技(深圳)有限公司 基于云游戏的设备控制方法、装置、电子设备和可读介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112316424A (zh) * 2021-01-06 2021-02-05 腾讯科技(深圳)有限公司 一种游戏数据处理方法、装置及存储介质
CN113457125A (zh) * 2021-07-02 2021-10-01 珠海金山网络游戏科技有限公司 游戏场景管理方法及系统
CN113457125B (zh) * 2021-07-02 2024-02-23 珠海金山数字网络科技有限公司 游戏场景管理方法及系统、计算设备、计算机可读存储介质
CN115671711A (zh) * 2021-07-21 2023-02-03 腾讯科技(深圳)有限公司 基于云游戏的设备控制方法、装置、电子设备和可读介质
CN115671711B (zh) * 2021-07-21 2023-11-21 腾讯科技(深圳)有限公司 基于云游戏的设备控制方法、装置、电子设备和可读介质

Similar Documents

Publication Publication Date Title
US11770308B2 (en) System and method for cloud-based user interface application deployment
US11684849B2 (en) Distributed sample-based game profiling with game metadata and metrics and gaming API platform supporting third-party content
CN111901674B (zh) 一种视频播放控制方法及装置
CN112044078A (zh) 虚拟场景应用的接入方法、装置、设备及存储介质
KR20200113276A (ko) 리소스 배치 방법, 장치, 단말기 및 저장 매체
CN108566561B (zh) 视频播放方法、装置及存储介质
CN106301865B (zh) 应用于服务提供设备的数据处理方法和设备
CN113181646A (zh) 游戏数据方法及装置、电子设备、存储介质
CN113542757A (zh) 云应用的图像传输方法、装置、服务器及存储介质
CN114329298B (zh) 一种页面呈现方法、装置、电子设备及存储介质
CN111612639B (zh) 一种应用于保险方案的同步交流方法及系统
JP2022531339A (ja) リソース構成方法、リソース構成装置、コンピューター機器、及びコンピュータープログラム
CN111770355A (zh) 媒体服务器确定方法、装置、服务器以及存储介质
WO2021103366A1 (zh) 基于微信小程序的弹幕处理方法和系统
JP7449403B2 (ja) 仮想シーンのデータ処理方法、装置、電子機器及びプログラム
CN113926185A (zh) 一种数据处理方法、装置、设备及存储介质
CN113254217A (zh) 业务的消息处理方法、装置及电子设备
CN115623230A (zh) 直播视频的播放方法、装置、电子设备及存储介质
CN109948082B (zh) 直播信息处理方法及装置、电子设备、存储介质
CN111026406A (zh) 应用运行方法、设备和计算机可读存储介质
US11910044B1 (en) Systems and methods for switching the processing of a live content stream to another datacenter
CN111475240B (zh) 数据处理方法及系统
CN113407643A (zh) 数据路由方法、装置、设备及计算机可读存储介质
CN115278278B (zh) 一种页面显示方法、装置、电子设备及存储介质
CN114594881B (zh) 一种消息展示方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40036279

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination