CN116302535A - 用于虚拟交互的信令处理方法、介质、装置和计算设备 - Google Patents
用于虚拟交互的信令处理方法、介质、装置和计算设备 Download PDFInfo
- Publication number
- CN116302535A CN116302535A CN202310269465.6A CN202310269465A CN116302535A CN 116302535 A CN116302535 A CN 116302535A CN 202310269465 A CN202310269465 A CN 202310269465A CN 116302535 A CN116302535 A CN 116302535A
- Authority
- CN
- China
- Prior art keywords
- signaling
- identifier
- scene
- browser
- user account
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开的实施方式提供了一种用于虚拟交互的信令处理方法、介质、装置和计算设备,涉及云渲染技术领域,该信令处理方法包括:接收来自终端的面向虚拟交互场景的访问操作生成的访问请求,访问请求中携带包括访问操作对应的用户账号、浏览器的浏览器标识和虚拟交互场景的场景标识的用户信息;确定是否已为用户账号分配面向场景标识和浏览器标识的信令;若否,则基于排队机制,为用户账号分配面向场景标识和浏览器标识的目标信令,并存储目标信令与用户信息的绑定关系,以及向终端发送目标信令,以使终端得到目标信令对应的虚拟交互场景的三维渲染实例,其中,已建立绑定关系的信令不可再分配。本公开能够有效避免信令重复分配的问题。
Description
技术领域
本公开的实施方式涉及云渲染技术领域,更具体地,本公开的实施方式涉及一种用于虚拟交互的信令处理方法、介质、装置和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着科技的发展,虚拟现实技术得到越来越广泛的应用。其中,基于虚拟现实技术的元宇宙是与现实世界映射与交互的虚拟世界以及人物,具备新型社会体系的数字生活空间。为了效果逼真,通常元宇宙的场景均设计得很宏大且精细度很高,这导致用户的运行成本很高,且配置低的机器渲染效果差。
目前,为了方便用户体验,可以提供免下载的方式,通过云端服务器对元宇宙的场景进行渲染。具体的,用户在终端上访问元宇宙,终端响应访问操作,向信令分配服务器,例如Matchmaker,发送访问请求,以得到信令分配服务器反馈的信令;终端通过信令访问云端服务器,得到云端服务器反馈的该信令对应的元宇宙的场景的三维渲染实例。其中,信令分配服务器接收访问请求后,对其进行响应,即分配暂未分配的信令给终端,并向终端发送该指令。
在通过上述方式为终端分配信令时,若多用户同时访问元宇宙,则可能存在信令重复分配的问题,进而导致同一个三维渲染实例被分配给多个用户,使得多个用户的操作相互影响,数据异常。
发明内容
本公开提供一种用于虚拟交互的信令处理方法、介质、装置和计算设备,以解决通过目前方式为终端分配信令时,若多用户同时访问元宇宙,则可能存在的信令重复分配的问题。
在本公开实施方式的第一方面中,提供了一种用于虚拟交互的信令处理方法,包括:
接收来自终端的访问请求,访问请求是终端响应作用于浏览器的面向虚拟交互场景的访问操作生成的,访问请求中携带用户信息,用户信息包括访问操作对应的用户账号、浏览器的浏览器标识和虚拟交互场景的场景标识;
确定是否已为用户账号分配面向场景标识和浏览器标识的信令;
若否,则基于排队机制,为用户账号分配面向场景标识和浏览器标识的目标信令,并存储目标信令与用户信息的绑定关系,以及向终端发送目标信令,以使终端得到目标信令对应的虚拟交互场景的三维渲染实例,其中,已建立绑定关系的信令不可再分配。
在一种可能的实施方式中,该用于虚拟交互的信令处理方法还包括:若是,则获取已为用户账号分配的面向场景标识和浏览器标识的目标信令,并向终端发送目标信令。
在一种可能的实施方式中,确定是否已为用户账号分配面向场景标识和浏览器标识的信令,包括:根据用户信息查询本地的已存储用户信息,确定已存储用户信息是否包含用户信息;若包含,则确定已为用户账号分配面向场景标识和浏览器标识的信令;若未包含,则确定未为用户账号分配面向场景标识和浏览器标识的信令。
在一种可能的实施方式中,基于排队机制,为用户账号分配面向场景标识和浏览器标识的目标信令,包括:根据访问请求对应的时刻,将用户账号加入待分配信令队列中进行排队;按照排队顺序,为用户账号分配面向场景标识和浏览器标识的目标信令。
在一种可能的实施方式中,接收来自终端的访问请求之前,该用于虚拟交互的信令处理方法还包括:接收来自信令服务器的连接请求,连接请求携带有信令和信令状态,信令状态用于确定信令对应的虚拟交互场景的三维渲染实例与信令的连接状态以及三维渲染实例是否处于可用状态,信令状态包括已开启未连接渲染实例、已开启已连接渲染实例和使用中,信令服务器用于提供信令对应的信令服务,信令服务用于建立信令与三维渲染实例的绑定关系以及传输三维渲染实例的渲染画面;在与信令服务器建立连接后,接收来自信令服务的心跳消息,以及从信令服务同步信令状态。
在一种可能的实施方式中,基于排队机制,为用户账号分配面向场景标识和浏览器标识的目标信令,包括:若确定用户账号处于排队等待状态,则对信令进行扩容处理。
在一种可能的实施方式中,对信令进行扩容处理,包括:向信令服务器发送第一通知消息,第一通知消息用于指示对信令进行扩容处理;接收信令服务器发送的扩容处理后的信令;根据扩容处理后的信令,为用户账号分配面向场景标识和浏览器标识的目标信令。
在一种可能的实施方式中,接收来自信令服务的心跳消息之后,该用于虚拟交互的信令处理方法还包括:若在预设时长内未接收到来自信令服务的心跳消息,则确定信令服务处于异常状态;向信令服务器发送第二通知消息,第二通知消息用于指示重启处于异常状态的信令服务。
在一种可能的实施方式中,该用于虚拟交互的信令处理方法还包括:检测信令的信令状态;若检测到信令的信令状态由已开启已连接渲染实例转变为已开启未连接渲染实例,则向信令服务器发送第三通知消息,第三通知用于指示重启信令状态由已开启已连接渲染实例转变为已开启未连接渲染实例的信令服务。
在一种可能的实施方式中,该用于虚拟交互的信令处理方法还包括:获取信令总个数;若信令总个数量大于个数阈值,则对信令进行缩容处理。
在一种可能的实施方式中,对信令进行缩容处理,包括:获取信令状态为使用中的信令个数;若信令个数大于或等于个数阈值,则向信令服务器发送第四通知消息,第四通知用于指示删除全部信令状态未为使用中的信令;若信令个数小于个数阈值,则向信令服务器发送第五通知消息,第五通知用于指示删除部分信令状态未为使用中的信令,以使信令总个数等于个数阈值。
在一种可能的实施方式中,删除部分信令状态未为使用中的信令,包括:根据信令未处于使用中的信令状态的时长进行排序,按照时长从高到低删除部分信令状态未为使用中的信令。
第二方面,本公开实施例提供一种用于虚拟交互的信令处理装置,包括:
接收模块,用于接收来自终端的访问请求,访问请求是终端响应作用于浏览器的面向虚拟交互场景的访问操作生成的,访问请求中携带用户信息,用户信息包括访问操作对应的用户账号、浏览器的浏览器标识和虚拟交互场景的场景标识;
处理模块,用于确定是否已为用户账号分配面向场景标识和浏览器标识的信令;若否,则基于排队机制,为用户账号分配面向场景标识和浏览器标识的目标信令,并存储目标信令与用户信息的绑定关系,以及向终端发送目标信令,以使终端得到目标信令对应的虚拟交互场景的三维渲染实例,其中,已建立绑定关系的信令不可再分配。
在一种可能的实施方式中,处理模块还用于:若是,则获取已为用户账号分配的面向场景标识和浏览器标识的目标信令,并向终端发送目标信令。
在一种可能的实施方式中,处理模块具体用于:根据用户信息查询本地的已存储用户信息,确定已存储用户信息是否包含用户信息;若包含,则确定已为用户账号分配面向场景标识和浏览器标识的信令;若未包含,则确定未为用户账号分配面向场景标识和浏览器标识的信令。
在一种可能的实施方式中,处理模块具体用于:根据访问请求对应的时刻,将用户账号加入待分配信令队列中进行排队;按照排队顺序,为用户账号分配面向场景标识和浏览器标识的目标信令。
在一种可能的实施方式中,接收模块还用于:接收来自终端的访问请求之前,接收来自信令服务器的连接请求,连接请求携带有信令和信令状态,信令状态用于确定信令对应的虚拟交互场景的三维渲染实例与信令的连接状态以及三维渲染实例是否处于可用状态,信令状态包括已开启未连接渲染实例、已开启已连接渲染实例和使用中,信令服务器用于提供信令对应的信令服务,信令服务用于建立信令与三维渲染实例的绑定关系以及传输三维渲染实例的渲染画面;在与信令服务器建立连接后,接收来自信令服务的心跳消息,以及从信令服务同步信令状态。
在一种可能的实施方式中,处理模块具体用于:若确定用户账号处于排队等待状态,则对信令进行扩容处理。
在一种可能的实施方式中,处理模块在用于对信令进行扩容处理时,具体用于:向信令服务器发送第一通知消息,第一通知消息用于指示对信令进行扩容处理;接收信令服务器发送的扩容处理后的信令;根据扩容处理后的信令,为用户账号分配面向场景标识和浏览器标识的目标信令。
在一种可能的实施方式中,接收模块还用于:接收来自信令服务的心跳消息之后,若在预设时长内未接收到来自信令服务的心跳消息,则确定信令服务处于异常状态;向信令服务器发送第二通知消息,第二通知消息用于指示重启处于异常状态的信令服务。
在一种可能的实施方式中,该用于虚拟交互的信令处理装置还包括第一检测模块,用于检测信令的信令状态;若检测到信令的信令状态由已开启已连接渲染实例转变为已开启未连接渲染实例,则向信令服务器发送第三通知消息,第三通知用于指示重启信令状态由已开启已连接渲染实例转变为已开启未连接渲染实例的信令服务。
在一种可能的实施方式中,该用于虚拟交互的信令处理装置还包括第二检测模块,用于获取信令总个数;若信令总个数量大于个数阈值,则对信令进行缩容处理。
在一种可能的实施方式中,第二检测模块在用于对信令进行缩容处理时,具体用于:获取信令状态为使用中的信令个数;若信令个数大于或等于个数阈值,则向信令服务器发送第四通知消息,第四通知用于指示删除全部信令状态未为使用中的信令;若信令个数小于个数阈值,则向信令服务器发送第五通知消息,第五通知用于指示删除部分信令状态未为使用中的信令,以使信令总个数等于个数阈值。
在一种可能的实施方式中,第二检测模块在用于删除部分信令状态未为使用中的信令时,具体用于:根据信令未处于使用中的信令状态的时长进行排序,按照时长从高到低删除部分信令状态未为使用中的信令。
第三方面,本公开实施例提供一种计算设备,包括:处理器,以及与处理器通信连接的存储器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,以实现如本公开第一方面所述的用于虚拟交互的信令处理方法。
第四方面,本公开实施例提供一种存储介质,存储介质中存储有计算机程序指令,计算机程序指令被执行时,实现如本公开第一方面所述的用于虚拟交互的信令处理方法。
第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如本公开第一方面所述的用于虚拟交互的信令处理方法。
本公开实施例提供的用于虚拟交互的信令处理方法、介质、装置和计算设备,通过接收来自终端的访问请求,访问请求是终端响应作用于浏览器的面向虚拟交互场景的访问操作生成的,访问请求中携带用户信息,用户信息包括访问操作对应的用户账号、浏览器的浏览器标识和虚拟交互场景的场景标识;确定是否已为用户账号分配面向场景标识和浏览器标识的信令;若否,则基于排队机制,为用户账号分配面向场景标识和浏览器标识的目标信令,并存储目标信令与用户信息的绑定关系,以及向终端发送目标信令,以使终端得到目标信令对应的虚拟交互场景的三维渲染实例,其中,已建立绑定关系的信令不可再分配。由于本公开根据用户信息来确定是否已为用户账号分配面向场景标识和浏览器标识的信令,能够保证同一个用户面向同一个虚拟交互场景仅分配单个三维渲染实例,避免资源浪费、数据异常问题;通过设置排队机制,为用户分配信令,并存储信令与用户信息的绑定关系,已建立绑定关系的信令不可再分配,能够有效避免信令重复分配的问题,保证同一个三维渲染实例同时只能被一个用户使用,在多用户同时访问同一个虚拟交互场景的情况下,可以避免出现多个用户的操作相互影响,数据异常的问题。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1为本公开实施例提供的一种应用场景示意图;
图2为本公开一实施例提供的用于虚拟交互的信令处理方法的流程图;
图3为本公开另一实施例提供的用于虚拟交互的信令处理方法的流程图;
图4为本公开一实施例提供的等待界面的示意图;
图5为本公开一实施例提供的对虚拟交互场景进行渲染的场景示意图;
图6为本公开一实施例提供的信令状态转换的流程图;
图7为本公开一实施例提供的用于虚拟交互的信令处理装置的结构示意图;
图8为本公开一实施例提供的存储介质示意图;
图9为本公开一实施例提供的计算设备的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据,本公开实施方式/实施例可以互相组合。
根据本公开的实施方式,提出了一种用于虚拟交互的信令处理方法、介质、装置和计算设备。
在本文中,需要理解的是,所涉及的术语:
云渲染:将三维(3D)程序通过远程服务器进行渲染,用户终端通过Web端并借助网络通信数据传输,即可查看渲染数据,同时也可从用户终端发送指令,服务器根据指令执行对应的渲染任务,而渲染结果画面则被传送回用户终端加以显示;
3D渲染,即将3D程序通过服务器上的图形渲染处理器进行渲染;
像素流送插件,该插件运行在3D引擎中,其使用H.264(一种数字视频压缩格式)视频压缩对每个渲染帧的最终结果进行编码,将得到的视频帧随游戏音频一同打包到媒体流送中,并通过直接点对点连接将该流送发送到一个或多个连线的浏览器上;
信令,信令负责浏览器和像素流送插件之间的连接,将播放媒体流送的超文本标记语言(HyperText Mark-up Language,HTML)和JavaScript(一种具有函数优先的轻量级,解释型或即时编译型的编程语言)环境提供给浏览器;
信令分配服务器(Matchmaker),用于管理信令,并为访问用户分配信令。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
发明概述
本发明人发现,目前,为了方便用户体验元宇宙,可以提供免下载的方式,通过云端服务器对元宇宙的场景进行渲染。其中,每个用户拥有独立的三维渲染实例,三维渲染实例通过信令进行传输,信令受信令分配服务器管控,以信令分配服务器是Matchmaker为例,Matchmaker只有一个地址,当用户访问同一个地址时,由Matchmaker从管理的信令中为用户分配一个暂未分配的信令。若多用户同时访问元宇宙,则可能存在信令重复分配的问题,进而导致同一个三维渲染实例被分配给多个用户,使得多个用户的操作相互影响,数据异常。另外,在通过上述方式分配信令时,还存在以下问题:(1)崩溃的三维渲染实例,可能还会分配给用户,导致用户体验极差;(2)同一个用户可以同时分配多个三维渲染实例,导致资源浪费,数据异常;(3)无法确定目前信令是否够用;(4)无法支持动态增加信令;(5)目前开源的Matchmaker为JavaScript编写,功能扩展难,数据记录困难。
基于上述问题,本公开提供一种用于虚拟交互的信令处理方法、介质、装置和计算设备,通过在接收到来自终端的面向虚拟交互场景的访问操作生成的访问请求时,根据访问请求中携带的用户信息确定是否已为用户分配信令,能够保证同一个用户面向同一个虚拟交互场景仅分配单个三维渲染实例,避免资源浪费、数据异常问题;通过设置排队机制,为用户分配信令,并存储信令与用户信息的绑定关系,已建立绑定关系的信令不可再分配,能够避免信令重复分配的问题,保证同一个三维渲染实例同时只能被一个用户使用,在多用户同时访问同一个虚拟交互场景的情况下,可以避免出现多个用户的操作相互影响,数据异常的问题。
应用场景总览
首先参考图1对本公开提供的方案的应用场景进行示例说明。图1为本公开实施例提供的一种应用场景示意图,如图1所示,本应用场景中,用户通过终端101访问元宇宙,终端101响应用户的访问操作,向信令分配服务器102发送访问请求;信令分配服务器102根据访问请求携带的用户信息,基于排队机制,为用户分配目标信令,将目标信令发送给终端101;终端101通过目标信令访问云端服务器103,得到云端服务器103反馈的目标信令对应的元宇宙的场景的三维渲染实例。其中,信令分配服务器102从云端服务器103同步信令和信令状态。
需要说明的是,图1仅是本公开实施例提供的一种应用场景的示意图,本公开实施例不对图1中包括的设备进行限定,也不对图1中设备之间的位置关系进行限定。
示例性方法
下面结合图1的应用场景,参考图2来描述根据本公开示例性实施方式的用于虚拟交互的信令处理方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
首先,通过具体实施例介绍用于虚拟交互的信令处理方法。
图2为本公开一实施例提供的用于虚拟交互的信令处理方法的流程图。本公开实施例的方法可以应用于计算设备中,该计算设备可以是如图1所示的信令分配服务器102或服务器集群等。如图2所示,本公开实施例的方法包括:
S201、接收来自终端的访问请求,访问请求是终端响应作用于浏览器的面向虚拟交互场景的访问操作生成的,访问请求中携带用户信息,用户信息包括访问操作对应的用户账号、浏览器的浏览器标识和虚拟交互场景的场景标识。
本公开实施例中,示例性地,终端比如可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备、智能家电、车载终端等,用户可以通过终端上的浏览器来访问虚拟交互场景,虚拟交互场景比如为元宇宙。相应地,执行本方法实施例的计算设备接收来自终端的访问请求,该访问请求中携带有用户信息。其中,用户账号是用户访问虚拟交互场景的唯一标识,浏览器的浏览器标识用于区分不同的浏览器窗口,虚拟交互场景的场景标识是不同虚拟交互场景的唯一标识。
可选的,接收来自终端的访问请求之前,本公开实施例提供的用于虚拟交互的信令处理方法还可以包括:接收来自信令服务器的连接请求,连接请求携带有信令和信令状态,信令状态用于确定信令对应的虚拟交互场景的三维渲染实例与信令的连接状态以及三维渲染实例是否处于可用状态,信令状态包括已开启未连接渲染实例、已开启已连接渲染实例和使用中,信令服务器用于提供信令对应的信令服务,信令服务用于建立信令与三维渲染实例的绑定关系以及传输三维渲染实例的渲染画面;在与信令服务器建立连接后,接收来自信令服务的心跳消息,以及从信令服务同步信令状态。
示例性地,执行本方法实施例的计算设备比如为Matchmaker,信令服务器开启后,主动连接Matchmaker,相应地,Matchmaker接收来自信令服务器的连接请求,该连接请求携带有信令和信令状态。其中,信令状态包括已开启未连接渲染实例、已开启已连接渲染实例和使用中,用于信令流转的管理。可以理解,信令服务器用于提供信令对应的信令服务,三维渲染实例启动后,主动连接到对应的信令服务,即信令对应的信令服务与三维渲染实例一一绑定,信令服务通知Matchmaker三维渲染实例为已连接状态,可以被分配。Matchmaker在与信令服务器建立连接后,接收来自信令服务的心跳消息,以及从信令服务同步信令状态。例如,当信令被用户使用时,信令服务通知Matchmaker,该信令处于使用中状态,不可再被分配,通过信令服务传输三维渲染实例的渲染画面。
S202、确定是否已为用户账号分配面向场景标识和浏览器标识的信令。
该步骤中,在接收到来自终端的访问请求后,通过解析访问请求可以获得访问请求中携带的用户信息,用户信息包括用户账号、浏览器标识和虚拟交互场景的场景标识,根据用户信息,可以确定是否已为用户账号分配面向场景标识和浏览器标识的信令。示例性地,比如可以将访问请求中携带的用户信息与执行本方法实施例的计算设备本地存储的用户信息进行比较,来确定是否已为用户账号分配面向场景标识和浏览器标识的信令。示例性地,若用户通过终端上的浏览器访问虚拟交互场景时,重复刷新当前浏览器窗口,由于浏览器的浏览器标识和虚拟交互场景的场景标识是相同的,可以根据用户信息查询本地的已存储用户信息,确定已存储用户信息是否包含用户信息,以确定是否需要为用户分配信令。若用户又打开新的浏览器窗口来访问虚拟交互场景,由于虚拟交互场景的场景标识相同,而浏览器标识不同,则需要重新为用户分配信令。若虚拟交互场景的场景标识不同,则需要重新为用户分配信令。
S203、若否,则基于排队机制,为用户账号分配面向场景标识和浏览器标识的目标信令,并存储目标信令与用户信息的绑定关系,以及向终端发送目标信令,以使终端得到目标信令对应的虚拟交互场景的三维渲染实例,其中,已建立绑定关系的信令不可再分配。
该步骤中,在确定未为用户账号分配面向场景标识和浏览器标识的信令后,可以基于排队机制,为用户账号分配面向场景标识和浏览器标识的目标信令,并存储目标信令与用户信息的绑定关系,以及向终端发送目标信令。示例性地,执行本方法实施例的计算设备比如为Matchmaker,假设多个用户通过浏览器访问同一个虚拟交互场景(对应同一个Matchmaker地址),Matchmaker按照访问时间对各个用户的访问请求进行排队,依次为各个用户分配目标信令,并存储目标信令与用户信息的绑定关系,已建立绑定关系的信令不可再分配。在分配好目标信令后,Matchmaker将组合好的包含目标信令(即目标信令地址)的页面返回给浏览器,该页面中的JavaScript脚本将自动访问目标信令地址,而用户则可以在终端上看到目标信令对应的虚拟交互场景的三维渲染实例。对于具体如何基于排队机制,为用户账号分配面向场景标识和浏览器标识的目标信令,可参考后续实施例,此处不再赘述。
本公开实施例提供的用于虚拟交互的信令处理方法,通过接收来自终端的访问请求,访问请求是终端响应作用于浏览器的面向虚拟交互场景的访问操作生成的,访问请求中携带用户信息,用户信息包括访问操作对应的用户账号、浏览器的浏览器标识和虚拟交互场景的场景标识;确定是否已为用户账号分配面向场景标识和浏览器标识的信令;若否,则基于排队机制,为用户账号分配面向场景标识和浏览器标识的目标信令,并存储目标信令与用户信息的绑定关系,以及向终端发送目标信令,以使终端得到目标信令对应的虚拟交互场景的三维渲染实例,其中,已建立绑定关系的信令不可再分配。由于本公开实施例根据用户信息来确定是否已为用户账号分配面向场景标识和浏览器标识的信令,能够保证同一个用户面向同一个虚拟交互场景仅分配单个三维渲染实例,避免资源浪费、数据异常问题;通过设置排队机制,为用户分配信令,并存储信令与用户信息的绑定关系,已建立绑定关系的信令不可再分配,能够有效避免信令重复分配的问题,保证同一个三维渲染实例同时只能被一个用户使用,在多用户同时访问同一个虚拟交互场景的情况下,可以避免出现多个用户的操作相互影响,数据异常的问题。
图3为本公开另一实施例提供的用于虚拟交互的信令处理方法的流程图。在上述实施例的基础上,本公开实施例对如何确定封面图像进行进一步说明。如图3所示,本公开实施例的方法可以包括:
S301、接收来自终端的访问请求,访问请求是终端响应作用于浏览器的面向虚拟交互场景的访问操作生成的,访问请求中携带用户信息,用户信息包括访问操作对应的用户账号、浏览器的浏览器标识和虚拟交互场景的场景标识。
该步骤的具体描述可以参见图2所示实施例中S201的相关描述,此处不再赘述。
本公开实施例中,图2中S202步骤可以进一步包括如下的S302至S304三个步骤:
S302、根据用户信息查询本地的已存储用户信息,确定已存储用户信息是否包含用户信息。
可以理解,执行本方法实施例的计算设备将分配过信令的用户信息存储在本地,因此,可以根据用户信息查询本地的已存储用户信息,即将用户账号、浏览器标识和虚拟交互场景的场景标识结合在一起,与本地的已存储用户信息进行比对,确定已存储用户信息是否包含用户信息。
S303、若包含,则确定已为用户账号分配面向场景标识和浏览器标识的信令,执行S307步骤。
S304、若未包含,则确定未为用户账号分配面向场景标识和浏览器标识的信令,执行S305和S306步骤。
本公开实施例中,图2中S203步骤可以进一步包括如下的S305和S306两个步骤:
S305、根据访问请求对应的时刻,将用户账号加入待分配信令队列中进行排队。
S306、按照排队顺序,为用户账号分配面向场景标识和浏览器标识的目标信令,并存储目标信令与用户信息的绑定关系,以及向终端发送目标信令,以使终端得到目标信令对应的虚拟交互场景的三维渲染实例,其中,已建立绑定关系的信令不可再分配。
示例性地,执行本方法实施例的计算设备比如为Matchmaker,Matchmaker在确定未为用户账号分配面向场景标识和浏览器标识的信令的情况下,可以根据访问请求对应的时刻,将用户账号加入待分配信令队列中进行排队,按照排队顺序,为用户账号分配面向场景标识和浏览器标识的目标信令,并存储所述目标信令与所述用户信息的绑定关系,以及向所述终端发送所述目标信令。通过上述方式,可以为待分配信令队列中的每个用户账号分配信令,将信令与用户信息建立绑定关系,已建立绑定关系的信令不可再分配,可以避免信令被重复分配。
可选的,在按照排队顺序,为用户账号分配面向场景标识和浏览器标识的目标信令时,若确定用户账号处于排队等待状态,则对信令进行扩容处理。
示例性地,若确定用户账号处于排队等待状态,即确定没有可分配的信令了,则触发对信令进行扩容处理。图4为本公开一实施例提供的等待界面的示意图,如图4所示,等待界面401中示出了在对信令进行扩容处理的等待时长内,当前排队人数以及需要等待的大概时间,等待界面401还可以显示默认背景图(图4中未示出)。在达到等待时长时,重新访问Matchmaker。
进一步地,可选的,对信令进行扩容处理,可以包括:向信令服务器发送第一通知消息,第一通知消息用于指示对信令进行扩容处理;接收信令服务器发送的扩容处理后的信令;根据扩容处理后的信令,为用户账号分配面向场景标识和浏览器标识的目标信令。
可以理解,由于信令与三维渲染实例是一一绑定的关系,向信令服务器发送用于指示对信令进行扩容处理的第一通知消息,即对信令和三维渲染实例同时进行扩容处理,信令服务器增加新的信令与三维渲染实例的绑定关系,并通知执行本方法实施例的计算设备。相应地,执行本方法实施例的计算设备接收信令服务器发送的扩容处理后的信令,根据扩容处理后的信令,按照排队顺序,为用户账号分配面向场景标识和浏览器标识的目标信令。通过对信令进行动态扩容处理,能够更好地满足多用户同时访问虚拟交互场景。
S307、获取已为用户账号分配的面向场景标识和浏览器标识的目标信令,并向终端发送目标信令,以使终端得到目标信令对应的虚拟交互场景的三维渲染实例。
示例性地,执行本方法实施例的计算设备本地存储了已分配过信令的用户信息,因此,在确定已为用户账号分配面向场景标识和浏览器标识的信令的情况下,可以根据当前用户信息,从本地获取已为用户账号分配的面向场景标识和浏览器标识的目标信令,并向终端发送目标信令,以使终端得到目标信令对应的虚拟交互场景的三维渲染实例。
本公开实施例提供的用于虚拟交互的信令处理方法,通过接收来自终端的访问请求,访问请求是终端响应作用于浏览器的面向虚拟交互场景的访问操作生成的,访问请求中携带用户信息,用户信息包括访问操作对应的用户账号、浏览器的浏览器标识和虚拟交互场景的场景标识;根据用户信息查询本地的已存储用户信息,若确定已存储用户信息包含用户信息,则确定已为用户账号分配面向场景标识和浏览器标识的信令,从而获取已为用户账号分配的面向场景标识和浏览器标识的目标信令,并向终端发送目标信令;若确定已存储用户信息未包含用户信息,则确定未为用户账号分配面向场景标识和浏览器标识的信令,从而根据访问请求对应的时刻,将用户账号加入待分配信令队列中进行排队,按照排队顺序,为用户账号分配面向场景标识和浏览器标识的目标信令,并存储目标信令与用户信息的绑定关系,以及向终端发送目标信令,以使终端得到目标信令对应的虚拟交互场景的三维渲染实例,其中,已建立绑定关系的信令不可再分配。由于本公开实施例根据用户信息来确定是否已为用户账号分配面向场景标识和浏览器标识的信令,能够保证同一个用户面向同一个虚拟交互场景仅分配单个三维渲染实例,避免资源浪费、数据异常问题;通过设置排队机制,为用户分配信令,并存储信令与用户信息的绑定关系,已建立绑定关系的信令不可再分配,能够有效避免信令重复分配的问题,保证同一个三维渲染实例同时只能被一个用户使用,在多用户同时访问同一个虚拟交互场景的情况下,可以避免出现多个用户的操作相互影响,数据异常的问题。
在上述实施例的基础上,可选的,接收来自信令服务的心跳消息之后,本公开实施例提供的用于虚拟交互的信令处理方法还可以包括:若在预设时长内未接收到来自信令服务的心跳消息,则确定信令服务处于异常状态;向信令服务器发送第二通知消息,第二通知消息用于指示重启处于异常状态的信令服务。
示例性地,执行本方法实施例的计算设备比如为Matchmaker,若在预设时长内未接收到来自信令服务的心跳消息,即信令服务不再发送心跳消息,则可以确定信令服务处于异常状态,向信令服务器发送用于指示重启处于异常状态的信令服务的第二通知消息。相应地,信令服务器重启处于异常状态的信令服务,与信令绑定的三维渲染实例也会重启。三维渲染实例重启后,主动连接建立绑定关系的信令服务,进而信令服务主动连接Matchmaker,通知Matchmaker三维渲染实例为已连接状态,可以被分配。在信令服务与Matchmaker重新建立连接关系后,保持心跳。通过与信令服务之间的心跳消息,能够及时感知异常情况。
在上述实施例的基础上,可选的,本公开实施例提供的用于虚拟交互的信令处理方法还可以包括:检测信令的信令状态;若检测到信令的信令状态由已开启已连接渲染实例转变为已开启未连接渲染实例,则向信令服务器发送第三通知消息,第三通知用于指示重启信令状态由已开启已连接渲染实例转变为已开启未连接渲染实例的信令服务。
示例性地,执行本方法实施例的计算设备比如为Matchmaker,可以按照第一预设时间间隔来检测信令的信令状态。若检测到信令的信令状态由已开启已连接渲染实例转变为已开启未连接渲染实例,表示信令对应的三维渲染实例处于不可用状态,信令服务处于崩溃状态,则向信令服务器发送用于指示重启信令状态由已开启已连接渲染实例转变为已开启未连接渲染实例的信令服务的第三通知消息。信令服务器重启处于已开启未连接渲染实例状态的信令服务,与信令绑定的三维渲染实例也会重启。三维渲染实例重启后,主动连接建立绑定关系的信令服务,进而信令服务主动连接Matchmaker,通知Matchmaker三维渲染实例为已连接状态,可以被分配。通过定时检测信令的信令状态,能够及时发现处于不可用状态的三维渲染实例,避免将不可用状态的三维渲染实例提供给用户,能够有效提升使用虚拟交互场景的满意度。
在上述实施例的基础上,可选的,本公开实施例提供的用于虚拟交互的信令处理方法还可以包括:获取信令总个数;若信令总个数量大于个数阈值,则对信令进行缩容处理。
示例性地,可以按照第二预设时间间隔定时获取信令总个数,若确定信令总个数量大于个数阈值,则对信令进行缩容处理。通过对信令进行动态缩容处理,能够更加合理地使用信令资源。
进一步地,可选的,对信令进行缩容处理,可以包括:获取信令状态为使用中的信令个数;若信令个数大于或等于个数阈值,则向信令服务器发送第四通知消息,第四通知用于指示删除全部信令状态未为使用中的信令;若信令个数小于个数阈值,则向信令服务器发送第五通知消息,第五通知用于指示删除部分信令状态未为使用中的信令,以使信令总个数等于个数阈值。
示例性地,在信令总个数量大于个数阈值的情况下,可以获取信令状态为使用中的信令个数,若该信令个数大于或等于个数阈值,则通过信令服务器删除全部信令状态未为使用中的信令;若该信令个数小于个数阈值,则通过信令服务器删除部分信令状态未为使用中的信令。
在一些实施例中,删除部分信令状态未为使用中的信令,可以包括:根据信令未处于使用中的信令状态的时长进行排序,按照时长从高到低删除部分信令状态未为使用中的信令。
示例性地,对于未为使用中的信令,可以按照未处于使用中的信令状态的时长进行排序,从时长最长(即最久未使用)的信令开始删除,直至信令总个数等于个数阈值。
在一些实施例中,执行本方法实施例的计算设备比如为Matchmaker,Matchmaker用于感知信令状态,并为用户访问信令,即分配三维渲染实例。表1为本公开一实施例提供的Matchmaker基于排队机制为用户分配信令,如表1所示,不同的用户分配有对应的信令(即信令地址)。
表1
用户 | 分配信令地址 |
1 | 127.0.0.1:8887 |
2 | 127.0.0.1:8888 |
3 | 127.0.0.1:8889 |
…… | …… |
表2为本公开一实施例提供的Matchmaker监控的信令状态,如表2所示,分配给用户的每个信令(即信令地址)均有对应的信令状态,例如,状态为0,表示已开启未连接渲染实例;状态为1,表示已开启已连接渲染实例;状态为2,表示使用中。
表2
编号 | 信令地址 | 状态 |
1 | 127.0.0.1:8887 | 0 |
2 | 127.0.0.1:8888 | 1 |
3 | 127.0.0.1:8889 | 2 |
…… | …… | …… |
在一些实施例中,可以采用go语言重新开发Matchmaker,以解决目前开源的Matchmaker为JavaScript编写,功能扩展难,数据记录困难的问题,使得Matchmaker具有更好的扩展性。
在上述实施例的基础上,图5为本公开一实施例提供的对虚拟交互场景进行渲染的场景示意图,如图5所示,该场景包括游戏服务器、渲染服务器、信令服务器、信令分配服务器以及终端上的浏览器。在对虚拟交互场景进行渲染时,渲染服务器与游戏服务器连接通信虚拟交互场景数据,渲染服务器上的多个三维渲染实例分别与信令服务器上的信令服务建立连接,用于传输实时渲染画面,并接收用户操作动作。信令服务与信令分配服务器连接,受信令分配服务器统一监管调度分配,访问用户数量多于信令总个数则扩容,访问用户数量少于信令总个数则缩容。用户通过终端上的浏览器访问信令分配服务器,获得分配到的信令(即获得三维渲染实例),通过信令,浏览实时渲染画面,并操作虚拟交互场景。
在上述实施例的基础上,图6为本公开一实施例提供的信令状态转换的流程图,信令状态包括已开启未连接渲染实例、已开启已连接渲染实例和使用中。如图6所示,信令状态转换包括如下步骤:
S601、渲染服务器启动完成后,连接信令服务器,信令状态转换为已开启已连接渲染实例。
S602、信令被分配使用后,信令状态转换为使用中。
S603、信令结束被使用后,信令状态转换为已开启已连接渲染实例。
S604、信令使用过程中,渲染服务器出现崩溃,则信令状态转换为已开启未连接渲染实例。
S605、信令未在使用中,但渲染服务器出现崩溃,则信令状态转换为已开启未连接渲染实例。
S606、信令处于已开启未连接渲染实例状态的情况下,通知渲染服务器进行重启,重启需要一定时间,因此,通知后,信令状态依然为已开启未连接渲染实例。
示例性装置
在介绍了本公开示例性实施方式的介质之后,接下来,参考图7对本公开示例性实施方式的用于虚拟交互的信令处理装置进行说明。本公开示例性实施方式的装置,可以实现前述用于虚拟交互的信令处理方法实施例中的各个过程,并达到相同的功能和效果。
图7为本公开一实施例提供的用于虚拟交互的信令处理装置的结构示意图,如图7所示,本公开实施例的用于虚拟交互的信令处理装置700包括:接收模块701和处理模块702。其中:
接收模块701,用于接收来自终端的访问请求,访问请求是终端响应作用于浏览器的面向虚拟交互场景的访问操作生成的,访问请求中携带用户信息,用户信息包括访问操作对应的用户账号、浏览器的浏览器标识和虚拟交互场景的场景标识。
处理模块702,用于确定是否已为用户账号分配面向场景标识和浏览器标识的信令;若否,则基于排队机制,为用户账号分配面向场景标识和浏览器标识的目标信令,并存储目标信令与用户信息的绑定关系,以及向终端发送目标信令,以使终端得到目标信令对应的虚拟交互场景的三维渲染实例,其中,已建立绑定关系的信令不可再分配。
在一种可能的实施方式中,处理模块702还可以用于:若是,则获取已为用户账号分配的面向场景标识和浏览器标识的目标信令,并向终端发送目标信令。
在一种可能的实施方式中,处理模块702可以具体用于:根据用户信息查询本地的已存储用户信息,确定已存储用户信息是否包含用户信息;若包含,则确定已为用户账号分配面向场景标识和浏览器标识的信令;若未包含,则确定未为用户账号分配面向场景标识和浏览器标识的信令。
在一种可能的实施方式中,处理模块702可以具体用于:根据访问请求对应的时刻,将用户账号加入待分配信令队列中进行排队;
按照排队顺序,为用户账号分配面向场景标识和浏览器标识的目标信令。
在一种可能的实施方式中,接收模块701还可以用于:接收来自终端的访问请求之前,接收来自信令服务器的连接请求,连接请求携带有信令和信令状态,信令状态用于确定信令对应的虚拟交互场景的三维渲染实例与信令的连接状态以及三维渲染实例是否处于可用状态,信令状态包括已开启未连接渲染实例、已开启已连接渲染实例和使用中,信令服务器用于提供信令对应的信令服务,信令服务用于建立信令与三维渲染实例的绑定关系以及传输三维渲染实例的渲染画面;在与信令服务器建立连接后,接收来自信令服务的心跳消息,以及从信令服务同步信令状态。
在一种可能的实施方式中,处理模块702可以具体用于:若确定用户账号处于排队等待状态,则对信令进行扩容处理。
在一种可能的实施方式中,处理模块702在用于对信令进行扩容处理时,可以具体用于:向信令服务器发送第一通知消息,第一通知消息用于指示对信令进行扩容处理;接收信令服务器发送的扩容处理后的信令;根据扩容处理后的信令,为用户账号分配面向场景标识和浏览器标识的目标信令。
在一种可能的实施方式中,接收模块701还可以用于:接收来自信令服务的心跳消息之后,若在预设时长内未接收到来自信令服务的心跳消息,则确定信令服务处于异常状态;向信令服务器发送第二通知消息,第二通知消息用于指示重启处于异常状态的信令服务。
在一种可能的实施方式中,用于虚拟交互的信令处理装置700还可以包括第一检测模块703,用于检测信令的信令状态;若检测到信令的信令状态由已开启已连接渲染实例转变为已开启未连接渲染实例,则向信令服务器发送第三通知消息,第三通知用于指示重启信令状态由已开启已连接渲染实例转变为已开启未连接渲染实例的信令服务。
在一种可能的实施方式中,用于虚拟交互的信令处理装置700还可以包括第二检测模块704,用于获取信令总个数;若信令总个数量大于个数阈值,则对信令进行缩容处理。
在一种可能的实施方式中,第二检测模块704在用于对信令进行缩容处理时,可以具体用于:获取信令状态为使用中的信令个数;若信令个数大于或等于个数阈值,则向信令服务器发送第四通知消息,第四通知用于指示删除全部信令状态未为使用中的信令;若信令个数小于个数阈值,则向信令服务器发送第五通知消息,第五通知用于指示删除部分信令状态未为使用中的信令,以使信令总个数等于个数阈值。
在一种可能的实施方式中,第二检测模块704在用于删除部分信令状态未为使用中的信令时,可以具体用于:根据信令未处于使用中的信令状态的时长进行排序,按照时长从高到低删除部分信令状态未为使用中的信令。
本公开实施例的装置,可以用于执行上述任一方法实施例中用于虚拟交互的信令处理方法的方案,其实现原理和技术效果类似,此处不再赘述。
示例性介质
在介绍了本公开示例性实施方式的方法之后,接下来,参考图8对本公开示例性实施方式的存储介质进行说明。
图8为本公开一实施例提供的存储介质示意图。参考图8所示,存储介质800中存储着根据本公开的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备。
示例性计算设备
在介绍了本公开示例性实施方式的方法、介质和装置之后,接下来,参考图9对本公开示例性实施方式的计算设备进行说明。
图9显示的计算设备900仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
图9为本公开一实施例提供的计算设备的结构示意图,如图9所示,计算设备900以通用计算设备的形式表现。计算设备900的组件可以包括但不限于:上述至少一个处理单元901、上述至少一个存储单元902,连接不同系统组件(包括处理单元901和存储单元902)的总线903。示例性地,处理单元901可以具体为处理器,存储单元902存储计算机执行指令,处理单元901执行存储单元902存储的计算机执行指令,以实现上述的用于虚拟交互的信令处理方法。
总线903包括数据总线、控制总线和地址总线。
存储单元902可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)9021和/或高速缓存存储器9022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(ROM)9023。
存储单元902还可以包括具有一组(至少一个)程序模块9024的程序/实用工具9025,这样的程序模块9024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备900也可以与一个或多个外部设备904(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口905进行。并且,计算设备900还可以通过网络适配器906与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图9所示,网络适配器906通过总线903与计算设备900的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了用于虚拟交互的信令处理装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种用于虚拟交互的信令处理方法,包括:
接收来自终端的访问请求,所述访问请求是所述终端响应作用于浏览器的面向虚拟交互场景的访问操作生成的,所述访问请求中携带用户信息,所述用户信息包括所述访问操作对应的用户账号、所述浏览器的浏览器标识和所述虚拟交互场景的场景标识;
确定是否已为所述用户账号分配面向所述场景标识和所述浏览器标识的信令;
若否,则基于排队机制,为所述用户账号分配面向所述场景标识和所述浏览器标识的目标信令,并存储所述目标信令与所述用户信息的绑定关系,以及向所述终端发送所述目标信令,以使所述终端得到所述目标信令对应的虚拟交互场景的三维渲染实例,其中,已建立绑定关系的信令不可再分配。
2.根据权利要求1所述的信令处理方法,还包括:
若是,则获取已为所述用户账号分配的面向所述场景标识和所述浏览器标识的目标信令,并向所述终端发送所述目标信令。
3.根据权利要求1所述的信令处理方法,所述确定是否已为所述用户账号分配面向所述场景标识和所述浏览器标识的信令,包括:
根据所述用户信息查询本地的已存储用户信息,确定所述已存储用户信息是否包含所述用户信息;
若包含,则确定已为所述用户账号分配面向所述场景标识和所述浏览器标识的信令;
若未包含,则确定未为所述用户账号分配面向所述场景标识和所述浏览器标识的信令。
4.根据权利要求1所述的信令处理方法,所述基于排队机制,为所述用户账号分配面向所述场景标识和所述浏览器标识的目标信令,包括:
根据所述访问请求对应的时刻,将所述用户账号加入待分配信令队列中进行排队;
按照排队顺序,为所述用户账号分配面向所述场景标识和所述浏览器标识的目标信令。
5.根据权利要求1至4中任一项所述的信令处理方法,所述接收来自终端的访问请求之前,还包括:
接收来自信令服务器的连接请求,所述连接请求携带有信令和信令状态,所述信令状态用于确定信令对应的虚拟交互场景的三维渲染实例与信令的连接状态以及所述三维渲染实例是否处于可用状态,所述信令状态包括已开启未连接渲染实例、已开启已连接渲染实例和使用中,所述信令服务器用于提供信令对应的信令服务,所述信令服务用于建立信令与三维渲染实例的绑定关系以及传输三维渲染实例的渲染画面;
在与所述信令服务器建立连接后,接收来自所述信令服务的心跳消息,以及从所述信令服务同步所述信令状态。
6.根据权利要求5所述的信令处理方法,所述基于排队机制,为所述用户账号分配面向所述场景标识和所述浏览器标识的目标信令,包括:
若确定所述用户账号处于排队等待状态,则对所述信令进行扩容处理。
7.根据权利要求6所述的信令处理方法,所述对所述信令进行扩容处理,包括:
向所述信令服务器发送第一通知消息,所述第一通知消息用于指示对信令进行扩容处理;
接收所述信令服务器发送的扩容处理后的信令;
根据所述扩容处理后的信令,为所述用户账号分配面向所述场景标识和所述浏览器标识的目标信令。
8.一种用于虚拟交互的信令处理装置,包括:
接收模块,用于接收来自终端的访问请求,所述访问请求是所述终端响应作用于浏览器的面向虚拟交互场景的访问操作生成的,所述访问请求中携带用户信息,所述用户信息包括所述访问操作对应的用户账号、所述浏览器的浏览器标识和所述虚拟交互场景的场景标识;
处理模块,用于确定是否已为所述用户账号分配面向所述场景标识和所述浏览器标识的信令;若否,则基于排队机制,为所述用户账号分配面向所述场景标识和所述浏览器标识的目标信令,并存储所述目标信令与所述用户信息的绑定关系,以及向所述终端发送所述目标信令,以使所述终端得到所述目标信令对应的虚拟交互场景的三维渲染实例,其中,已建立绑定关系的信令不可再分配。
9.一种计算设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至7中任一项所述的用于虚拟交互的信令处理方法。
10.一种存储介质,所述存储介质中存储有计算机程序指令,所述计算机程序指令被执行时,实现如权利要求1至7中任一项所述的用于虚拟交互的信令处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310269465.6A CN116302535A (zh) | 2023-03-15 | 2023-03-15 | 用于虚拟交互的信令处理方法、介质、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310269465.6A CN116302535A (zh) | 2023-03-15 | 2023-03-15 | 用于虚拟交互的信令处理方法、介质、装置和计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116302535A true CN116302535A (zh) | 2023-06-23 |
Family
ID=86812901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310269465.6A Pending CN116302535A (zh) | 2023-03-15 | 2023-03-15 | 用于虚拟交互的信令处理方法、介质、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302535A (zh) |
-
2023
- 2023-03-15 CN CN202310269465.6A patent/CN116302535A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020173778A (ja) | リソースの割り当て方法、装置、電子設備、コンピュータ可読媒体およびコンピュータプログラム | |
CN111737022B (zh) | 一种基于微服务的接口调用方法、系统、设备及介质 | |
CN111679911B (zh) | 云环境中gpu卡的管理方法、装置、设备及介质 | |
CN112749022B (zh) | 相机资源访问方法、操作系统、终端和虚拟相机 | |
CN109885781B (zh) | 混合页面统一浏览方法、装置、设备和存储介质 | |
CN110706148B (zh) | 人脸图像处理方法、装置、设备和存储介质 | |
CN111372115B (zh) | 应用程序的访问方法及装置、通讯系统 | |
KR102394158B1 (ko) | 메타버스 공간 스트리밍 시스템 및 방법 | |
CN110830481A (zh) | 一种车载设备上网方法、装置、服务器及存储介质 | |
CN111246238A (zh) | 直播方法、装置、存储介质及直播系统 | |
CN110287146A (zh) | 应用下载的方法、设备和计算机存储介质 | |
CN113965809A (zh) | 一种基于单终端多平台同时互动直播的方法和装置 | |
CN112333282A (zh) | 一种基于混合云的服务提供方法、装置、介质及电子设备 | |
CN112044078A (zh) | 虚拟场景应用的接入方法、装置、设备及存储介质 | |
CN112269628A (zh) | 资源调度系统及方法 | |
CN111818383A (zh) | 视频数据的生成方法、系统、装置、电子设备及存储介质 | |
CN113849752B (zh) | 页面缓存方法、装置及存储介质 | |
CN113139123B (zh) | 资源推荐方法、装置、服务端以及存储介质 | |
CN109948082B (zh) | 直播信息处理方法及装置、电子设备、存储介质 | |
CN109327726B (zh) | 一种弹幕消息的处理方法、装置、终端和存储介质 | |
CN111885351A (zh) | 一种屏幕显示方法、装置、终端设备和存储介质 | |
CN109686415B (zh) | 一种数据传输方法、管理平台、电子设备及存储介质 | |
CN116755721A (zh) | 一种实现云物理机本地系统盘做私有镜像的方法与装置 | |
CN115396500B (zh) | 基于专网的服务平台切换方法、系统及电子设备 | |
CN109831673B (zh) | 一种直播间数据处理方法、装置、设备及存储介质 |
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 |