一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

信息交互方法、装置、设备及计算机存储介质、程序产品与流程

2022-02-22 09:36:03 来源:中国专利 TAG:


1.本技术涉及云计算技术,尤其涉及一种信息交互方法、装置、设备及计算机存储介质、程序产品。


背景技术:

2.随着对显示效果以及互动方式的要求的提高,越来越多的用户会选择在显示效果更优秀的展示设备上进行展示应用软件的运行结果,选择在其他的输入设备上进行操作,以对应用软件进行控制。例如,通过智能电视机展示虚拟场景的画面,通过手柄等外设与虚拟场景进行交互,以增强用户的体验。相关技术中,在通过输入设备控制运行在服务器上的应用软件时,存在应用软件的反馈内容需要在用户操作的一段的时间之后才能生成并下发,即针对应用软件的控制存在较高的通信时延的问题。


技术实现要素:

3.本技术实施例提供一种信息交互方法、装置、设备及计算机可读存储介质、程序产品,能够降低对应用软件的控制时的通信延迟。
4.本技术实施例的技术方案是这样实现的:
5.本技术实施例提供一种信息交互方法,包括:
6.针对展示设备下发初始信息流;其中,所述初始信息流用于作为输入操作事件时的参考;
7.接收输入设备发送的网络数据包,并从所述网络数据包中解析出针对所述初始信息流所触发的所述操作事件;
8.响应于所述操作事件,生成更新信息流;
9.将所述更新信息流发送给所述展示设备,以使所述展示设备显示所述更新信息流。
10.本技术实施例提供一种信息交互方法,包括:
11.响应于输入操作,确定出针对展示设备正在展示的初始信息流的操作事件;其中,所述初始信息流用于作为输入操作事件时的参考;
12.对所述操作事件进行封装,得到网络数据包;
13.将所述网络数据包发送至服务器,以使所述服务器依据所述网络数据包中的操作事件,生成更新信息流,并将所述更新信息流推送至所述展示设备。
14.本技术实施例提供一种信息交互方法,包括:
15.接收服务器发送的初始信息流;其中,所述初始信息流用于作为输入操作事件时的参考;
16.在信息展示界面展示所述初始信息流;
17.接收所述服务器发送的更新信息流;
18.将所述信息展示界面的所述初始信息流替换为所述更新信息流,其中,所述更新
信息流是所述服务器响应于从输入设备发送的网络数据包中解析出的操作事件生成的。
19.本技术实施例提供一种信息交互装置,包括:
20.第一发送模块,用于针对展示设备下发初始信息流;其中,所述初始信息流用于作为输入操作事件时的参考;
21.第一接收模块,用于接收输入设备发送的网络数据包,并从所述网络数据包中解析出针对所述初始信息流所触发的所述操作事件;
22.信息生成模块,用于响应于所述操作事件,生成更新信息流;
23.所述第一发送模块,还用于将所述更新信息流发送给所述展示设备,以使所述展示设备显示所述更新信息流。
24.在本技术的一些实施例中,所述操作事件包括:用于与虚拟场景中的虚拟对象进行互动的互动事件;所述信息生成模块,还用于响应于所述互动事件,针对所述虚拟场景进行更新,得到更新后的虚拟场景;对所述更新后的虚拟场景进行渲染,得到所述更新信息流。
25.在本技术的一些实施例中,所述互动事件包括:控制所述虚拟场景中的虚拟对象的动作的事件、控制所述虚拟场景中的所述虚拟对象的外观的事件,以及控制所述虚拟场景中的所述虚拟对象的交流的事件中的一种或多种。
26.在本技术的一些实施例中,所述第一接收模块,还用于接收所述展示设备发送的场景加载指令;所述场景加载指令用于触发加载所述虚拟场景;
27.所述信息生成模块,还用于响应于所述场景加载指令,加载所述虚拟场景;对所述虚拟场景进行渲染,得到所述初始信息流;所述初始信息流包括了加载出的所述虚拟场景的画面和音效。
28.本技术实施例提供一种信息交互装置,包括:
29.事件确定模块,用于响应于输入操作,确定出针对展示设备正在展示的初始信息流的操作事件;其中,所述初始信息流用于作为输入操作事件时的参考;
30.数据封装模块,用于对所述操作事件进行封装,得到网络数据包;
31.第二发送模块,用于将所述网络数据包发送至服务器,以使所述服务器依据所述网络数据包中的操作事件,生成更新信息流,并将所述更新信息流推送至所述展示设备。
32.在本技术的一些实施例中,所述信息交互装置还包括:第二接收模块;所述第二接收模块,用于接收所述展示设备发送的所述服务器的第一路由信息;
33.所述第二发送模块,还用于依据所述第一路由信息,将所述网络数据包发送至所述服务器。
34.在本技术的一些实施例中,所述信息交互装置还包括:网络连接模块;
35.所述第二发送模块,还用于通过与所述展示设备之间的硬件连接,向所述展示设备发送信息获取请求;
36.所述第二接收模块,还用于接收所述展示设备针对所述信息获取请求发送的网络连接信息和第二路由信息;所述网络连接信息至少包括所述展示设备所在的局域网的网络标识和密码;
37.所述网络连接模块,用于依据所述网络连接信息,接入所述展示设备所在的所述局域网;
38.所述第二发送模块,还用于依据所述第二路由信息,向所述展示设备发送成功接入网络的提示消息。
39.本技术实施例提供一种信息交互装置,包括:
40.第三接收模块,用于接收服务器发送的初始信息流;其中,所述初始信息流用于作为输入操作事件时的参考;
41.信息展示模块,用于在信息展示界面展示所述初始信息流;
42.所述第三接收模块,还用于接收所述服务器发送的更新信息流;
43.所述信息展示模块,还用于将所述信息展示界面的所述初始信息流替换为所述更新信息流,其中,所述更新信息流是所述服务器响应于从输入设备发送的网络数据包中解析出的操作事件生成的。
44.在本技术的一些实施例中,所述信息交互装置还包括:第三发送模块;所述第三发送模块,用于向所述服务器发送场景加载指令;所述场景加载指令用于触发加载虚拟场景;向所述输入设备发送所述服务器的第一路由信息。
45.在本技术的一些实施例中,所述信息交互装置还包括:信息获取模块;
46.所述第三接收模块,还用于接收输入设备发送的信息获取请求;
47.所述信息获取模块,用于响应于所述信息获取请求,获取网络连接信息,以及展示设备的第二路由信息;所述网络连接信息至少包括所述展示设备所在的局域网的网络标识和密码;
48.所述第三发送模块,还用于将所述网络连接信息和所述第二路由信息发送至所述输入设备;
49.所述第三接收模块,还用于接收所述输入设备发送的成功接入网络的提示消息;
50.所述信息展示模块,还用于响应于所述提示消息,在提示界面展示操作提示信息,以提示利用输入设备进行操作。
51.本技术实施例提供一种服务器,包括:
52.第一存储器,用于存储可执行指令;
53.第一处理器,用于执行所述第一存储器中存储的可执行指令时,实现本技术实施例提供服务器侧的信息交互方法。
54.本技术实施例提供一种输入设备,包括:
55.第二存储器,用于存储可执行指令;
56.第二处理器,用于执行所述第二存储器中存储的可执行指令时,实现本技术实施例提供输入设备侧的信息交互方法。
57.本技术实施例提供一种展示设备,包括:
58.第三存储器,用于存储可执行指令;
59.第三处理器,用于执行所述第三存储器中存储的可执行指令时,实现本技术实施例提供展示设备侧的信息交互方法。
60.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起第一处理器执行时,实现本技术实施例提供服务器侧的信息交互方法,或者用于引起第二处理器执行时,实现本技术实施例提供输入设备侧的信息交互方法,或者用于引起第三处理器执行时,实现本技术实施例提供展示设备侧的信息交互方法。
61.本技术实施例提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被第一处理器执行时实现本技术实施例提供的服务器侧的信息交互方法,或者被第二处理器执行时实现本技术实施例提供的输入设备侧的信息交互方法,或者被第三处理器执行时实现本技术实施例提供的展示设备侧的信息交互方法
62.本技术实施例具有以下有益效果:由输入设备直接将包含有操作事件的网络数据包发送给服务器,能够减少展示设备接收并处理网络数据包所需要的时间,从而使得网络数据包能够快速地发送给服务器,服务器基于网络数据包中的操作事件迅速做出响应,生成更新信息流,并直接将更新信息流下发给展示设备以进行展示。如此,能够使得应用软件的反馈内容在用户操作之后的较短时间得以生成并下发,有效降低了针对应用软件进行控制的通信时延。
附图说明
63.图1是通过展示设备转发操作指令至服务器的示意图;
64.图2是通过输入设备对云游戏进行控制的过程示意图;
65.图3是本技术实施例提供的信息交互系统的架构示意图;
66.图4是本技术实施例提供的图3中的服务器的结构示意图;
67.图5是本技术实施例提供的图3中的输入设备的结构示意图;
68.图6是本技术实施例提供的图3中的展示设备的结构示意图;
69.图7是本技术实施例提供的信息交互方法的流程示意图一;
70.图8是本技术实施例提供的信息交互方法的流程示意图二;
71.图9是本技术实施例提供的信息交互方法的流程示意图三;
72.图10是本技术实施例提供的云游戏的运行环境的硬件部署结构图;
73.图11是本技术实施例提供的云游戏运行时的流程的示意图;
74.图12是本技术实施例提供的输入外设与云游戏服务器建立通信的过程示意图;
75.图13是本技术实施例提供的输入外设接入无线网络的过程示意图;
76.图14是本技术实施例提供的输入外设向智能电视发送成功接入通知的过程示意图;
77.图15是本技术实施例提供的启动云游戏的过程示意图。
具体实施方式
78.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
79.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
80.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺
序实施。
81.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
82.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
83.1)云计算(cloud computing)指it基础设施的交付和使用模式,指网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是it和软件、互联网相关,也可以是其他服务。云计算是网格计算(grid computing)、分布式计算(distributed computing)、并行计算(parallel computing)、效用计算(utility computing)、网络存储(network storage technologies)、虚拟化(virtualization)、负载均衡(load balance)等传统计算机和网络技术发展融合的产物。
84.随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开方协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
85.2)云游戏(cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给运算服务器的能力即可。
86.3)响应于,用于表示所执行的操作所依赖的条件或状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
87.4)虚拟场景,是在终端上显示(或提供)的虚拟场景。该虚拟场景可以是对真实事件的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种。本技术实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋和虚拟对象等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在虚拟场景中进行移动。
88.5)虚拟对象,虚拟场景中可以进行交互的各种人和物的形象,或在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如,在虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。该虚拟对象可以是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。
89.虚拟对象可以是通过客户端上的操作进行控制的用户角色,也可以是通过训练设置在虚拟场景对战中的人工智能(artificial intelligence,ai)角色,还可以是设置在虚拟场景互动中的非用户角色(non-player-character,npc)。虚拟对象还可以是在虚拟场景中进行对抗式交互的虚拟人物。虚拟场景中参与互动的虚拟对象的数量可以是预先设置
的,也可以是根据加入互动的客户端的数量动态确定的。
90.6)输入设备,接收用户的直接操作,以发出控制指令的硬件设备,例如,鼠标、键盘、手柄等等。
91.7)显示设备,接收输入设备的输入信息,并向用户反馈声音、图像等信息的硬件设备,例如,电视机、智能手机、个人电脑等。
92.通过将需要复杂的数据处理或者强大的图形计算的应用运行在云服务器上,只利用终端进行展示,能够使得各种性能的终端能够给用户提供更为强大的功能服务。随着对显示效果以及互动方式的要求的提高,越来越多的用户会选择在显示效果更优秀的展示设备上进行展示应用软件的运行结果,选择在其他的输入设备上进行操作,以对应用软件进行控制。例如,通过智能电视机展示虚拟场景的画面,通过手柄等外设与虚拟场景进行交互,以增强用户的体验。
93.相关技术中,当用户通过输入设备对应用软件进行控制时,需要通过展示设备将输入设备所接收到的用户的操作指令转发给服务器。示例性的,图1是通过展示设备转发操作指令至服务器的示意图。输入设备1-1会先将用户的操作对应的操作指令1-2通过设备接口1-3发送给展示设备1-4,展示设备1-4的操作系统1-41从设备接口1-3处接收到操作指令1-2,确定操作指令1-2所对应的输入事件1-5(用于对应用软件进行功能控制的信息)通过运行在操作系统1-41上的软件客户端1-42将输入事件1-5发送给服务器1-6。
94.服务器在接收到用户的操作指令之后,会针对操作指令对应用软件进行控制,并将反馈内容发送给展示设备,例如对运行在服务器上的云游戏进行控制,生成游戏画面等,然后将游戏画面返回用户的智能电视等等。
95.示例性的,图2是通过输入设备对云游戏进行控制的过程示意图。用户2-1在输入设备,例如在游戏手柄2-2上进行操作2-3,生成操作指令,游戏手柄2-2和展示设备,即智能电视2-4进行通信,以将用户的操作指令发送给安装有云游戏客户端2-41的智能电视2-4,再由智能电视2-4将用户的操作指令转换为输入信息2-5,发送给路由器2-6。路由器2-6将输入信息2-5发送给运行有云游戏的服务器,即云游戏服务器2-7,云游戏服务器2-7针对输入信息2-5生成新的游戏画面2-8,并通过路由器2-6将游戏画面2-8发送给智能电视2-4,这样,用户就可以在智能电视2-4上观看游戏画面2-9了。
96.由上述内容可见,相关技术中,用户在通过输入设备对应用软件进行控制时,由输入设备所生成的操作指令需要经过至少一次转发才能到达服务器。然而,通过展示设备转发输入设备的操作指令至服务器,无疑会增大服务器接收到操作指令时间,从而使得应用软件的反馈内容需要在用户操作的一段的时间之后才能生成并下发,即针对应用软件的控制存在较高的通信时延。
97.进一步的,针对应用软件的控制存在较高的通信延迟,会造成用户的使用体验的下降,特别是对格斗类等对实时反馈要求较高的云游戏,会给用户的操作体验造成很大的影响,最终导致用户的流失。
98.本技术实施例提供一种信息交互方法、装置、设备和计算机可读存储介质、程序产品,能够降低对应用软件的控制时的通信延迟。下面说明本技术实施例提供的服务器、展示设备和输入设备的示例性应用,本技术实施例提供的展示设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式游戏设备)、智能电视、智能
手表等各种类型的终端,输入设备可以实施为游戏手柄、体感设备、vr(虚拟现实,virtual reality)设备等。下面,将说明信息交互方法的示例性应用。
99.参见图3,图3是本技术实施例提供的信息交互系统的架构示意图。为实现支撑一个信息交互应用,在信息交互系统100中,展示设备400和输入设备500通过网络300连接至服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
100.服务器200用于针对展示设备400下发初始信息流,其中,初始信息流用于作为输入操作事件时的参考;接收输入设备500发送的网络数据包,并从网络数据包中解析出针对初始信息流所触发的操作事件;响应于操作事件,生成更新信息流;将更新信息流发送给展示设备400,以使展示设备400显示更新信息流。
101.输入设备500用于响应于用户的输入操作,确定出针对展示设备400正在展示的初始信息流的操作事件;其中,初始信息流用于作为输入操作事件时的参考;对操作事件进行封装,得到网络数据包;将网络数据包发送至服务器200,以使服务器200依据网络数据包中的操作事件,生成更新信息流,并将更新信息流推送至展示设备400。
102.展示设备400用于接收服务器200发送的初始信息流;其中,初始信息流用于作为输入操作事件时的参考;在图形界面400-1中的信息展示界面展示初始信息流;接收服务器200发送的更新信息流;将信息展示界面的初始信息流替换为更新信息流,其中,更新信息流是服务器200响应于从输入设备500发送的网络数据包中解析出的操作事件生成的。
103.在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。展示设备400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能手表、智能家电、车载设备等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不做限制。
104.参见图4,图4是本技术实施例提供的图3中的服务器的结构示意图,图4所示的服务器200包括:至少一个第一处理器210、第一存储器250、至少一个第一网络接口220和第一用户接口230。服务器200中的各个组件通过第一总线系统240耦合在一起。可理解,第一总线系统240用于实现这些组件之间的连接通信。第一总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为第一总线系统240。
105.第一处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
106.第一用户接口230包括使得能够呈现媒体内容的一个或多个第一输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。第一用户接口230还包括一个或多个第一输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
107.第一存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。第一存储器250可选地包括在物理位置上远离第一
处理器210的一个或多个存储设备。
108.第一存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的第一存储器250旨在包括任意适合类型的存储器。
109.在一些实施例中,第一存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
110.第一操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
111.第一网络通信模块252,用于经由一个或多个(有线或无线)第一网络接口220到达其他计算设备,示例性的第一网络接口220包括:蓝牙、无线相容性认证(wi-fi)、和通用串行总线(usb,universal serial bus)等;
112.第一呈现模块253,用于经由一个或多个与第一用户接口230相关联的第一输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
113.第一输入处理模块254,用于对一个或多个来自一个或多个第一输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
114.在一些实施例中,本技术实施例提供的服务器中的信息交互装置可以采用软件方式实现,图4示出了存储在第一存储器250中的信息交互装置255,其可以是程序和插件等形式的软件,包括以下软件模块:第一发送模块2551、第一接收模块2552和信息生成模块2553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
115.在另一些实施例中,本技术实施例提供的信息交互装置255可以采用硬件方式实现,作为示例,本技术实施例提供的信息交互装置255可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例所提供的服务器侧的信息交互方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
116.参见图5,图5是本技术实施例提供的图3中的输入设备的结构示意图,图5所示的输入设备500包括:至少一个第二处理器510、第二存储器550、至少一个第二网络接口520和第二用户接口530。输入设备500中的各个组件通过第二总线系统540耦合在一起。可理解,第二总线系统540用于实现这些组件之间的连接通信。第二总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为第二总线系统540。
117.第二处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
118.第二用户接口530包括使得能够呈现媒体内容的一个或多个第二输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。第二用户接口530还包括一个或多个第二输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
119.第二存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。第二存储器550可选地包括在物理位置上远离第二处理器510的一个或多个存储设备。
120.第二存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的第二存储器550旨在包括任意适合类型的存储器。
121.在一些实施例中,第二存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
122.第二操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
123.第二网络通信模块552,用于经由一个或多个(有线或无线)第二网络接口520到达其他计算设备,示例性的第二网络接口520包括:蓝牙、无线相容性认证(wi-fi)、和通用串行总线(usb,universal serial bus)等;
124.第二呈现模块553,用于经由一个或多个与第二用户接口530相关联的第二输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
125.第二输入处理模块554,用于对一个或多个来自一个或多个第二输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
126.在一些实施例中,本技术实施例提供的输入设备中的信息交互装置可以采用软件方式实现,图5示出了存储在第二存储器550中的信息交互装置555,其可以是程序和插件等形式的软件,包括以下软件模块:事件确定模块5551、数据封装模块5552、第二发送模块5553、第二接收模块5554和网络连接模块5555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
127.在另一些实施例中,本技术实施例提供的信息交互装置555可以采用硬件方式实现,作为示例,本技术实施例提供的信息交互装置555可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例所提供的输入设备侧的信息交互方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
128.参见图6,图6是本技术实施例提供的图3中的展示设备的结构示意图,图6所示的展示设备400包括:至少一个第三处理器410、第三存储器450、至少一个第三网络接口420和第三用户接口430。展示设备400中的各个组件通过第三总线系统440耦合在一起。可理解,第三总线系统440用于实现这些组件之间的连接通信。第三总线系统440除包括数据总线之
外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为第三总线系统440。
129.第三处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
130.第三用户接口430包括使得能够呈现媒体内容的一个或多个第三输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。第三用户接口430还包括一个或多个第三输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
131.第三存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。第三存储器450可选地包括在物理位置上远离第三处理器410的一个或多个存储设备。
132.第三存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的第三存储器450旨在包括任意适合类型的存储器。
133.在一些实施例中,第三存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
134.第三操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
135.第三网络通信模块452,用于经由一个或多个(有线或无线)第三网络接口420到达其他计算设备,示例性的第三网络接口420包括:蓝牙、无线相容性认证(wi-fi)、和通用串行总线(usb,universal serial bus)等;
136.第一呈现模块453,用于经由一个或多个与第三用户接口430相关联的第第三输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
137.第三输入处理模块454,用于对一个或多个来自一个或多个第三输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
138.在一些实施例中,本技术实施例提供的展示设备中的信息交互装置可以采用软件方式实现,图6示出了存储在第三存储器450中的信息交互装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第三接收模块4551、信息展示模块4552、第三发送模块4553和信息获取模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
139.在另一些实施例中,本技术实施例提供的信息交互装置455可以采用硬件方式实现,作为示例,本技术实施例提供的信息交互装置455可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例所提供的展示设备侧信息交互方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可
编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
140.在一些实施例中,展示设备、输入设备或服务器可以通过运行计算机程序来实现本技术实施例提供的信息交互方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(native)应用程序(app,application),即需要在操作系统中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意app中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
141.本技术实施例可以应用于云技术、人工智能、智慧交通、车载等各种场景。下面,将结合本技术实施例提供的展示设备、输入设备和服务器的示例性应用和实施,说明本技术实施例提供的信息交互方法。
142.参见图7,图7是本技术实施例提供的信息交互方法的流程示意图一,将结合图7示出的步骤进行说明。
143.s101、服务器针对展示设备下发初始信息流。
144.本技术实施例是在通过输入设备对运行在服务器上的应用软件进行控制,并由展示设备展示对应的控制结果的场景下实现的,例如,通过输入设备对运行在服务器上的游戏中的角色进行运动控制,并由展示设备展示该角色的运动过程,或者通过输入设备对运行在服务器上的装修设计软件进行轮廓绘制,并由展示设备展示渲染出的绘制结果等。
145.本技术实施例中,无论用户是否通过输入设备针对运行在服务器上的应用软件输入了操作事件,服务器都会针对展示设备下发初始信息流,展示设备接收服务器发送的初始信息流,以便于后续用户参考初始信息流,确定出其所要进行的操作。也就是说,初始信息流用于作为输入操作事件时的参考。
146.可以理解的是,初始信息流可以是服务器响应应用软件的启动所生成的信息流,例如,装修设计软件启动时的初始界面,或者是游戏启动之后的虚拟场景。其中,游戏启动之后的虚拟场景可以是上一次退出游戏时所保存的虚拟场景,也可以是与上次游戏无关的全新的虚拟场景,本技术在此不作限定。
147.初始信息流还可以是服务器根据用户在上一轮次所触发的历史操作事件所生成信息流,例如,用户在当前时间之前触发游戏中的虚拟对象在虚拟场景中进行跑步,那么,初始信息流就是虚拟对象跑步时的虚拟场景的画面流;当用户在当前时间之前在装修设计软件中所设计的家具进行了换色,那么,初始信息流就是家具换色后的画面。
148.需要说明的是,初始信息流中可以包括静态画面,例如,装修设计软件的主界面,也可以包括动态的视频流,例如虚拟场景的动画,还可以包括音频流,例如,游戏的音效等等,本技术在此不作限定。
149.s102、展示设备在信息展示界面展示初始信息流。
150.可以理解的是,信息展示界面显示在展示设备的图形界面中。信息展示界面是在展示设备触发应用软件启动之后就触发展示的。
151.s103、输入设备响应于输入操作,确定出针对展示设备正在展示的初始信息流的操作事件。
152.展示设备显示初始信息流,就意味着应用软件运行在服务器中。此时,用户可以参
考正在显示的初始信息流,在输入设备上进行操作,以对应用软件进行控制,此时,输入设备会响应于用户的输入操作,确定出用户针对初始信息流需要进行何种的操作,得到操作事件。也就是说,操作事件体现了用户针对初始信息流的控制需求。
153.可以理解的是,在一些实施例中,输入设备上可以设置有触摸屏,以接收用户的输入操作,此时,输入操作可以是用户在输入设备上的点击、双击、长按、滑动等操作。在另一些实施例中,输入设备上可以设置有实体的摇杆、按键,以接收用户的输入操作,此时,输入操作可以是是拖动摇杆、按下按键等操作。
154.需要说明的是,输入设备在接收输入操作,实际上就是接收用户的输入操作所触发的电子信号,不同类型、时长的电子信号,可以代表不同的操作事件,例如,短暂的一次电脉冲可以虚拟对象代表跳跃一次,连续的两次电脉冲可以代表虚拟对象连续跳跃等,输入设备可以根据其所接收到的电子信号,就能够确定出针对初始信息流的操作事件。
155.s104、输入设备对操作事件进行封装,得到网络数据包。
156.输入设备在确定出操作事件之后,就可以将操作事件作为待封装的业务数据,然后针对待封装的业务数据进行协议封装,即针对待封装的业务数据添加协议头,从而得到一个能够在网络上进行传输的网络数据包。
157.可以理解的是,输入设备可以按照tcp/ip协议栈、ipx/spx协议栈或者是其他网络通讯协议栈的顺序,将待封装的业务数据向下层依次传输,从而依次给业务数据每一层所对应的协议头,从而通过协议头将传输时所需要的信息进行添加,得到网络数据包。
158.以tcp/ip协议栈为例,输入设备可以先将操作事件,即待封装的业务数据传输到应用层,添加ftp协议头,再将其传输到传输层,添加tcp协议头,接着传输至网络层,添加ip协议头,最后传输到链路层,添加设备驱动,以得到网络数据包。
159.当然,输入设备在将业务数据向下层传输时,除了给业务数据添加对应的协议头之外,还可以对业务数据添加对应的协议尾,以得到网络数据包。
160.在一些实施例中,输入设备还可以将操作事件,即待封装的业务数据进行加密,然后将加密后的数据进行协议封装,得到网络数据包,如此,可以使保证操作事件在传输过程中的安全性。
161.s105、服务器接收输入设备发送的网络数据包,并从网络数据包中解析出针对初始信息流所触发的操作事件。
162.输入设备在得到网络数据包之后,就会通过网络将网络数据包发送至服务器,以使服务器依据网络数据包中的操作事件,生成更新信息流,并将更新更新信息流推送至展示设备中。服务器接收到输入设备所发送的网络数据包时,就会对网络数据包进行解封装,以从中解析出用户针对初始信息流所触发的操作事件,以便以后续根据操作事件来对应用软件进行控制,生成针对操作事件的更新信息流。
163.可以理解的是,服务器在对网络数据包进行解封装时,实际上就是去除网络数据包中的协议头和协议尾等内容,只将操作事件提取出来。当输入设备是对加密后的业务数据,即加密后的操作事件进行封装时,服务器解封装后所得到的数据也是加密后的业务数据,此时,服务器会继续对加密后的业务数据进行解密,以得到操作事件。
164.一些实施例中,输入设备可以接入至展示设备所在的局域网中,即与展示设备连接同一个路由器,然后通过该路由器将网络数据包发送给服务器。在另一些实施例中,输入
设备还可以直接接入移动网络中,然后通过移动网络将网络数据包发送给服务器。也就是说,本技术中,输入设备和展示设备在接入同一个网络、或者是不同网络的情况下,都能够将网络数据包发送给服务器。
165.需要说明的是,在本技术中,是由输入设备直接向服务器发送网络数据包,不需要展示设备进行从中转发,从而势必会减少展示设备接收并处理网络数据包所需要的时间,进而使得网络数据包能够更快地发送给服务器。
166.可以理解的是,输入设备可以通过询问展示设备,得到服务器的路由,以发送网络数据包,也可以是从路由器中获得服务器的路由,以发送网络数据包。
167.s106、服务器响应于操作事件,生成更新信息流。
168.服务器依据操作事件,就会明确用户需要对应用软件需要进行何种控制,并针对应用软件进行相应的控制,然后将应用软件的反馈渲染为更新信息流,以利用更新信息流来告知用户已经实现了对应用软件的功能控制。
169.示例性的,在一些实施例中,当操作事件为对游戏中的虚拟场景进行控制时,服务器就是依据操作事件来更新虚拟场景,从而基于更新后的虚拟场景得到更新信息流。在另一些实施例中,当操作事件为对装修设计软件中的家具的三维模型进行控制时,服务器就是依据操作事件对该三维模型进行更新,从而基于更新后的三维模型得到更新信息流。
170.s107、服务器将更新信息流发送给展示设备,以使展示设备显示更新信息流。
171.服务器在生成更新信息流之后,就会通过网络将更新信息流返回给展示设备,展示设备接收服务器发送的更新内容流,以便于后续进行展示。
172.s108、展示设备将信息展示界面的初始信息流替换为更新信息流。
173.展示设备利用更新信息流,对信息展示界面所展示的初始信息流进行替换,即展示设备在信息展示界面中仅展示更新信息流,不再继续展示初始信息流,通过这种方式使用户明确其针对应用软件的控制结果。其中,更新信息流是服务器响应于从输入设备发送的网络数据包中解析出的操作事件生成的。
174.可以理解的是,相比于现有技术中,通过由展示设备将操作指令转发至服务器的方式,本技术实施例中,由输入设备直接将包含有操作事件的网络数据包发送给服务器,能够减少展示设备接收并处理网络数据包所需要的时间,从而使得网络数据包能够快速地发送给服务器,服务器基于网络数据包中的操作事件迅速做出响应,生成更新信息流,并直接将更新信息流下发给展示设备以进行展示。如此,能够使得应用软件的反馈内容在用户操作之后的较短时间得以生成并下发,有效降低了针对应用软件进行控制的通信时延。进一步的,针对应用软件进行控制时通信时延得以降低,能够保护用户的使用体验,进而减少用户的流失。
175.参见图8,图8是本技术实施例提供的信息交互方法的流程示意图二。在本技术的一些实施例中,操作事件包括:用于与虚拟场景中的虚拟对象进行互动的互动事件,响应于操作事件,生成更新信息流,即s106的具体实现过程,可以包括:s1061-s1062,如下:
176.s1061、服务器响应于互动事件,针对虚拟场景进行更新,得到更新后的虚拟场景。
177.当用户通过互动事件与虚拟场景中的虚拟对象进行互动时,会造成虚拟场景的画面发生变化,从而,服务器会响应于该互动事件,对虚拟场景进行更新。其中,更新后的虚拟场景反映了与虚拟对象的互动结果。
178.可以理解的是,虚拟对象可以是用户在虚拟场景中所操控的对象,例如,用户的游戏角色等;虚拟对象也可以是与用户无关的,由服务器设置在虚拟场景中的对象,例如,npc、虚拟场景中的物体等;虚拟对象还可以是其他的用户在虚拟场景中控制的对象,例如其他用户的游戏角色等,本技术在此不作限定。
179.s1062、服务器对更新后的虚拟场景进行渲染,得到更新信息流。
180.服务器在得到更新后的虚拟场景之后,会对更新后的虚拟场景进行画面渲染,以生成更新后的虚拟场景的视频流,同时会生成更新后的虚拟场景所对应的音频流,将视频流和音频流进行结合,得到更新信息流。
181.可以理解的是,更新后的虚拟场景的视频流描述了虚拟场景的画面变化,例如虚拟对象位置的变化、姿态的变化、所处环境的变化等;而音频流则描述了更新后的虚拟场景的音频变化,例如虚拟对象的说话内容的变换、环境中的声音的变化等。通过更新后的虚拟场景的视频流和音频流所得到的更新信息流更加逼真、吸引力更高。
182.本技术实施例中,服务器可以依据与虚拟场景中的虚拟对象的互动事件,来生成更新信息流并下发,从而能够通过服务器来实现用户对游戏中的角色的控制。
183.在本技术的一些实施例中,互动事件包括:控制虚拟场景中的虚拟对象的动作的事件、控制虚拟场景中的虚拟对象的外观的事件,以及控制虚拟场景中的虚拟对象的交流的事件的一种或多种。
184.其中,虚拟对象的动作可以包括:走路、跑步、跳跃、游泳、飞行、骑行、格斗动作、技能动作等等;虚拟对象的外观可以包括:虚拟对象的身高、脸型、发型、服饰样式和颜色、配饰样式和颜色,以及武器的样式和颜色等等;虚拟对象的交流可以包括:与npc交流、任务对话、与其他用户所控制的虚拟角色进行聊天等等,本技术在此不作限定。
185.本技术实施例中,互动事件包括多种不同的事件,从而用户可以根据输入设备针对虚拟场景中的虚拟对象进行多种不同的控制,从而能够丰富用户的体验。
186.基于图7,参见图9,图9是本技术实施例提供的信息交互方法的流程示意图三。在本技术的一些实施例中,服务器针对展示设备下发初始信息流之前,即在s101之前,该方法还可以包括:s109-s112,如下:
187.s109、展示设备向服务器发送场景加载指令。
188.s110、服务器响应于场景加载指令,加载虚拟场景。
189.在展示设备接收到来此服务器的初始信息流之前,展示设备会先向服务器发送场景加载指令,以通过场景加载指令来通知服务器加载虚拟场景,也即场景加载指令用于触发加载虚拟场景。服务器接收展示设备发送的场景加载指令。
190.进一步的,本技术实施例中,场景加载指令实质上就是展示终端用于通知服务器游戏开始的指令,服务器在接收到该指令时,就会明确用户具有启动游戏需求,以开始加载虚拟场景。
191.s111、服务器对虚拟场景进行渲染,得到初始信息流。
192.服务器将加载出的虚拟场景渲染为音频视频流,就得到了初始信息流,从而,初始内容流包括了加载出的虚拟场景的画面和音效,以针对用户在图像和声音两个维度上展示虚拟场景。
193.s112、展示设备向输入设备发送服务器的第一路由信息。
194.除了向服务器发送场景加载指令之外,展示设备还需要将服务器自身的第一路由信息告知输入设备,以便于输入设备能够依据第一路由信息与服务器建立通信。输入设备接收展示设备发送的服务器的第一路由信息。
195.在此情况下,将网络数据包发送至服务器的过程,就可以变为:依据第一路由信息,将网络数据包发送至服务器。
196.可以理解的是,展示设备可以通过与输入设备之间的无线连接,例如连接到同一个路由器,或者是蓝牙连接,向输入设备发送服务器的第一路由信息。展示设备还可以通过与输入设备的有线连接,例如,数据线连接,向输入设备发送服务器的第一路由信息,本技术在此不作限定。
197.需要说明的是,一些实施例中,展示设备可以在向服务器发送场景加载指令的同时,将第一路由信息发送给输入设备,即s109和s112可以是同步执行的;另一些实施例中,展示设备还可以先将第一路由信息发送给输入设备,再向服务器发送场景加载指令,即先执行s112,再执行s109;其他实施例中,展示设备还可以在确保服务器接收到场景加载指令时,例如,接收到服务器返回的场景加载开始提示时,向输入设备发送第一路由信息,从而先执行s109,再执行s112,本技术在此不作限定。
198.本技术实施例中,展示设备能够通过向服务器发送场景加载指令,以触发服务器生成初始信息流,开启游戏过程,同时将服务器的第一路由信息传输给输入设备,以便输入设备能够依据第一路由信息直接和服务器进行通信,降低输入设备向服务器发送操作事件的时延。
199.在本技术的一些实施例中,展示设备向服务器发送场景加载指令之前,即在s109之前,该方法还可以包括:s113-s117,如下:
200.s113、输入设备通过与展示设备之间的硬件连接,向展示设备发送信息获取请求。
201.由于输入设备上有可能并没有设置较多的按键,支撑用户在输入设备上输入网络的名称和密码,以接入网络,此时,输入设备需要借助于与展示设备之间的硬件连接,从展示设备处获取到展示设备所连接的局域网的信息,并连接到展示设备所连接到的局域网中,便于后续与服务器直接进行通信。在此情况下,输入设备就会通过与展示设备之间的硬件连接,向展示设备发送用于获取网络连接信息的信息获取请求。展示设备接收输入设备发送的信息获取请求。
202.可以理解的是,硬件连接可以是指通过usb接口进行连接、数据线进行连接等,只要是不借助于路由器所对应的局域网的连接即可。
203.s114、展示设备响应于信息获取请求,获取网络连接信息,以及展示设备的第二路由信息。
204.展示设备接收到信息获取请求之后,会获取其所连接的局域网的信息,即得到网络连接信息。同时,展示设备还会将自身的路由信息,即第二路由信息进行获取,以便于后续发送给输入设备。
205.可以理解的是,网络连接信息中至少包括展示设备所在的局域网的网络标识(id、名称等)和密码,输入设备可以通过网络的名称和密码连接到展示设备所连接到的局域网中,即与展示设备连接到同一个路由器。该局域网可以是有线网络,也可以是无线网络。
206.s115、展示设备将网络连接信息和第二路由信息发送至输入设备。
207.输入设备接收展示设备针对信息获取请求发送的网络连接信息和第二路由信息。
208.s116、输入设备依据网络连接信息,接入展示设备所在的局域网。
209.输入设备在得到网络连接信息之后,就会从中解析出展示设备所在的局域网的名称和密码,从而连接到该局域网中。
210.s117、输入设备依据第二路由信息,向展示设备发送成功接入网络的提示消息。
211.输入设备在连接到无线网络之后,需要通知展示设备其目前已经处于可用状态,即能用来与服务器进行通信。此时,输入设备会生成用于提示展示设备其已经成功接入网络的提示消息,然后通过展示设备的第二路由信息,借助于局域网将提示消息发送给展示设备。展示设备接收输入设备发送的成功接入网络的提示消息,并响应于提示消息,弹出提示界面,在提示界面上展示操作提示信息,以提示利用输入设备进行操作,即提示用户目前输入设备已经可用,可以用来进行操作。
212.本技术实施例中,输入设备可以通过硬件连接从展示设备处获得无线网络的网络连接信息,并借助于网络连接信息接入展示设备所在的无线网络中,从而使得输入设备在不具备用户手动配网条件下,也能够成功接入到无线网络中,与服务器直接进行通信。
213.下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
214.本技术实施例是在用户进行云游戏的场景下实现的。用户在进行云游戏时,需要通过输入外设(输入设备)控制云游戏,云游戏的游戏场景(虚拟场景)则显示在智能电视(展示设备)上。图10是本技术实施例提供的云游戏的运行环境的硬件部署结构图。参见图10,云游戏的运行环境包括输入外设,即游戏手柄10-1、智能电视10-2、云游戏服务器(服务器)10-3和家庭路由器10-4。其中,游戏手柄10-1上配置有无线网卡,游戏手柄10-1通过无线网卡连接到家庭路由器10-4,以通过家庭路由器10-4与云游戏服务器10-3的通信。智能电视10-2上安装有云游戏客户端,一般用户可以通过在智能电视10-2上启动云游戏客户端,来启动云游戏。在启动云游戏之后,智能电视10-2和云游戏服务器10-3通过家庭路由器10-4进行通信。
215.图11是本技术实施例提供的云游戏运行时的流程的示意图。参加图11,用户11-1在输入外设,即游戏手柄11-2上进行操作11-3,生成输入信息11-4(操作事件),将输入信息11-4发送给家庭路由器11-5,以通过家庭路由器11-5将输入信息11-4发送给云游戏服务器11-6。云游戏服务器11-6接收到输入信息11-4之后,会响应该输入信息,生成游戏画面11-7(更新信息流),将游戏画面11-7传输给家庭路由器11-5,以通过家庭路由器11-5将游戏画面11-7转发给运行有云游戏客户端11-81的智能电视11-8,用户在智能电视11-8上观看游戏画面11-9。
216.由此可见,在本技术实施例中,上行数据,即输入信息是直接通过家庭路由器发送到外网链路,最终送达云游戏服务器,下行数据,即游戏画面只发送到智能电视上进行展示即可,与输入无关。如此,输入外设与云游戏服务器之间的通信不需要利用智能电视作为中转,而是直接进行通信,能够减少输入外设与云游戏服务器之间的时延。
217.需要说明的是,本技术实施例中的输入外设,需要支持无线网络连接,能够接收来自智能电视的信息,以进行配网,即直连到家庭路由器中,以及能够将用户触发的输入信息封装成网络包(网络数据包)向云游戏服务器对于的ip(第一路由信息)发送。
218.下面,结合输入外设与云游戏服务器建立通信的过程,对云游戏的运行过程进行
说明。
219.图12是本技术实施例提供的输入外设与云游戏服务器建立通信的过程示意图。参见图12,该过程包括:
220.s201、输入外设连接到家庭路由器中,以接入无线网络(接入展示设备所在的局域网)。
221.s202、输入外设通知运行在智能电视上的云游戏客户端,云游戏客户端和输入外设建立通信。
222.输入外设接入到家庭路由器之后,需要通过局域网向智能电视告知自己成功接入(向展示设备发送成功接入网络的提示消息),以便接收来自智能电视的信息。
223.s203、智能电视通知云游戏服务器启动云游戏(向服务器发送场景加载指令),同时将云游戏服务器的ip传输给输入外设(向输入设备发送服务器的第一路由信息)。
224.智能电视可以通过家庭路由器的无线网,将云游戏服务器的ip发送给输入外设。
225.s204、输入外设根据接收到的ip,直接通过网络和云游戏服务器进行通信。
226.这样,就能够运行云游戏了。
227.进一步的,图13是本技术实施例提供的输入外设接入无线网络的过程示意图。参见图13,用户可以操作安装有云游戏客户端13-a的智能电视13-a,以使智能电视13-a连接到无线网络,并记录无线网络的id和密码13-1(网络连接信息);配置有无线网卡13-b的输入外设13-b,先通过数据线(硬件连接)或蓝牙,从智能电视读取到无线网络的id和密码,并记录智能电视的局域网连接信息13-2(接收展示设备针对信息获取请求发送的网络连接信息和第二路由信息);输入外设13-b使用无线网络的id和密码,与家庭路由器建立连接13-3,从而连接到家庭路由器13-c。
228.按照图13所示的过程,输入外设就能够连接到无线网络,并以此为基础与云游戏服务器进行直接通信。同时,输入外设在接入到无线网络之后,可以断开与智能电视的硬件上的直接连接,通过家庭路由器与智能电视在局域网中直接通信。后续输入外设和其他设备的沟通,都通过局域网来完成。
229.输入外设连接进局域网之后,还需要通过局域网向智能电视告知自己成功接入,以便接收来自智能电视的信息。由于在图13所示的过程中,输入外设中记录了智能电视的局域网的连接信息,它可以直接向智能电视发送通知(依据第二路由信息,向展示设备发送成功接入网络的提示消息),告知智能电视自己成功接入网络,可以作为云游戏的输入设备来使用。
230.示例性的,图14是本技术实施例提供的输入外设向智能电视发送成功接入通知的过程示意图。配置有无线网卡14-a的输入外设14-a,通过家庭路由器14-b向局域网中的智能电视发送接入通知14-1,安装有云游戏客户端14-c的智能电视14-c通过家庭路由器14-b,收到来自输入外设的通知,确认输入外设可用,并记录其局域网ip 14-2。如此,输入外设就完成了对智能电视的通知。
231.在图13和图14所示出的过程的基础上,输入外设就能够获取到云游戏服务器的ip地址了。此时,由智能电视通知云游戏服务器启动游戏,输入外设需要将输入信息发送到云游戏服务器,才能实现对云游戏的控制。
232.参见图15,图15是本技术实施例提供的启动云游戏的过程示意图。安装有云游戏
客户端15-a的智能电视15-a,通过家庭路由器15-b通知云游戏服务器启动云游戏,通过局域网向输入外设发送云游戏服务器的ip 15-1;云游戏服务器15-c运行云游戏,等待输入信息的到达15-2;配置有无线网卡15-d的输入外设15-d接收云游戏服务器的ip,按照ip向云游戏服务器发送输入信息15-3;云游戏服务器15-c接收来自网络的输入信息,做出响应,返回游戏画面15-4。如此,就实现了云游戏的启动,用户就可以对云游戏进行控制了。
233.需要说明的是,云游戏服务器在接收到智能电视发送的启动云游戏的通知之后,无论是否接收到输入外设发送的输入信息,都会源源不断地将游戏画面返回给智能电视。只不过,此时的游戏画面没有受到用户操作的影响(即为初始信息流),用户可以根据此时的游戏画面来控制云游戏,以生成新的游戏画面(更新信息流)。
234.通过上述方式,输入外设向云游戏服务器发送用户的输入信息时,不再需要智能电视进行转发,即输入外设和云游戏服务器实现了直接通信。如此,能够减少云游戏中输入信息传输至云游戏服务器时所需要的时间,从而云游戏服务器能够更快地得到输入信息,更快地做出相应,生成对应的游戏画面,使得用户对云游戏的控制时的通信时延得以减少。
235.下面继续说明本技术实施例提供的信息交互装置255的实施为软件模块的示例性结构,在一些实施例中,如图4所示,存储在第一存储器250的信息交互装置255中的软件模块可以包括:
236.第一发送模块2551,用于针对展示设备下发初始信息流;其中,所述初始信息流用于作为输入操作事件时的参考;
237.第一接收模块2552,用于接收输入设备发送的网络数据包,并从所述网络数据包中解析出针对所述初始信息流所触发的所述操作事件;
238.信息生成模块2553,用于响应于所述操作事件,生成更新信息流;
239.所述第一发送模块2551,还用于将所述更新信息流发送给所述展示设备,以使所述展示设备显示所述更新信息流。
240.在本技术的一些实施例中,所述操作事件包括:用于与虚拟场景中的虚拟对象进行互动的互动事件;所述信息生成模块2553,还用于响应于所述互动事件,针对所述虚拟场景进行更新,得到更新后的虚拟场景;对所述更新后的虚拟场景进行渲染,得到所述更新信息流。
241.在本技术的一些实施例中,所述互动事件包括:控制所述虚拟场景中的虚拟对象的动作的事件、控制所述虚拟场景中的所述虚拟对象的外观的事件,以及控制所述虚拟场景中的所述虚拟对象的交流的事件中的一种或多种。
242.在本技术的一些实施例中,所述第一接收模块2552,还用于接收所述展示设备发送的场景加载指令;所述场景加载指令用于触发加载所述虚拟场景;
243.所述信息生成模块2553,还用于响应于所述场景加载指令,加载所述虚拟场景;对所述虚拟场景进行渲染,得到所述初始信息流;所述初始信息流包括了加载出的所述虚拟场景的画面和音效。
244.下面继续说明本技术实施例提供的信息交互装置555的实施为软件模块的示例性结构,在一些实施例中,如图5所示,存储在第二存储器550的信息交互装置555中的软件模块可以包括:
245.事件确定模块5551,用于响应于输入操作,确定出针对展示设备正在展示的初始
信息流的操作事件;其中,所述初始信息流用于作为输入操作事件时的参考;
246.数据封装模块5552,用于对所述操作事件进行封装,得到网络数据包;
247.第二发送模块5553,用于将所述网络数据包发送至服务器,以使所述服务器依据所述网络数据包中的操作事件,生成更新信息流,并将所述更新信息流推送至所述展示设备。
248.在本技术的一些实施例中,所述信息交互装置555还包括:第二接收模块5554;所述第二接收模块5554,用于接收所述展示设备发送的所述服务器的第一路由信息;
249.所述第二发送模块5553,还用于依据所述第一路由信息,将所述网络数据包发送至所述服务器。
250.在本技术的一些实施例中,所述信息交互装置555还包括:网络连接模块5555;
251.所述第二发送模块5553,还用于通过与所述展示设备之间的硬件连接,向所述展示设备发送信息获取请求;
252.所述第二接收模块5554,还用于接收所述展示设备针对所述信息获取请求发送的网络连接信息和第二路由信息;所述网络连接信息至少包括所述展示设备所在的局域网的网络标识和密码;
253.所述网络连接模块5555,用于依据所述网络连接信息,接入所述展示设备所在的所述局域网;
254.所述第二发送模块5553,还用于依据所述第二路由信息,向所述展示设备发送成功接入网络的提示消息。
255.下面继续说明本技术实施例提供的信息交互装置455的实施为软件模块的示例性结构,在一些实施例中,如图6所示,存储在第三存储器450的信息交互装置455中的软件模块可以包括:
256.第三接收模块4551,用于接收服务器发送的初始信息流;其中,所述初始信息流用于作为输入操作事件时的参考;
257.信息展示模块4552,用于在信息展示界面展示所述初始信息流;
258.所述第三接收模块4551,还用于接收所述服务器发送的更新信息流;
259.所述信息展示模块4552,还用于将所述信息展示界面的所述初始信息流替换为所述更新信息流,其中,所述更新信息流是所述服务器响应于从输入设备发送的网络数据包中解析出的操作事件生成的。
260.在本技术的一些实施例中,所述信息交互装置455还包括:第三发送模块4553;所述第三发送模块4553,用于向所述服务器发送场景加载指令;所述场景加载指令用于触发加载虚拟场景;向所述输入设备发送所述服务器的第一路由信息。
261.在本技术的一些实施例中,所述信息交互装置455还包括:信息获取模块4554;
262.所述第三接收模块4551,还用于接收输入设备发送的信息获取请求;
263.所述信息获取模块4554,用于响应于所述信息获取请求,获取网络连接信息,以及展示设备的第二路由信息;所述网络连接信息至少包括所述展示设备所在的局域网的网络标识和密码;
264.所述第三发送模块4553,还用于将所述网络连接信息和所述第二路由信息发送至所述输入设备;
265.所述第三接收模块4551,还用于接收所述输入设备发送的成功接入网络的提示消息;
266.所述信息展示模块4552,还用于响应于所述提示消息,在提示界面展示操作提示信息,以提示利用输入设备进行操作。
267.本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的信息交互方法。
268.本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被第一处理器执行时,将引起第一处理器执行本技术实施例提供服务器侧的信息交互方法,当可执行指令被第二处理器执行时,将引起第二处理器执行本技术实施例提供输入设备侧的信息交互方法,以及当可执行指令被第三处理器执行时,将引起第三处理器执行本技术实施例提供展示设备侧的信息交互方法。
269.在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
270.在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
271.作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
272.作为示例,可执行指令可被部署为在一个计算设备(服务器、输入设备和展示设备)上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
273.综上所述,通过本技术实施例,由输入设备直接将包含有操作事件的网络数据包发送给服务器,能够减少展示设备接收并处理网络数据包所需要的时间,从而使得网络数据包能够快速地发送给服务器,服务器基于网络数据包中的操作事件迅速做出响应,生成更新信息流,并直接将更新信息流下发给展示设备以进行展示。如此,能够使得应用软件的反馈内容在用户操作之后的较短时间得以生成并下发,有效降低了针对应用软件进行控制的通信时延。进一步的,针对应用软件进行控制时通信时延得以降低,能够保护用户的使用体验,进而减少用户的流失。
274.以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献