首页 > 运动玩具 专利正文
云游戏的数据处理方法、装置、系统及电子设备与流程

时间:2022-02-13 阅读: 作者:专利查询

云游戏的数据处理方法、装置、系统及电子设备与流程

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.根据本公开实施例的第六方面,提供一种电子设备,包括:
64.处理器;
65.用于存储所述处理器可执行指令的存储器;
66.其中,所述处理器被配置为执行所述指令,以实现如第一方面或者第二方面中任一项所述的云游戏的数据处理方法。
67.根据本公开实施例的第七方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面或者第二方面中任一项所述的云游戏的数据处理方法。
68.根据本公开实施例的第八方面,提供一种计算机程序产品,所述计算机程序产品中包括指令,所述指令被电子设备的处理器执行时,使得所述电子设备能够执行如第一方面或者第二方面中任一项所述的云游戏的数据处理方法。
69.本公开的实施例提供的技术方案至少带来以下有益效果:接收云主机发送的播放消息,播放消息携带有目标音视频数据和目标振动事件标识,然后在振动事件列表中,查询目标振动事件标识对应的目标振动事件数据;振动事件列表用于存储云主机发送的振动事件数据,振动事件数据包含振动事件标识和振动参数。在查询到目标振动事件数据的情况下,播放目标音视频数据,并根据目标振动事件数据中的第一目标振动参数进行振动。这样,设备与云主机之间可以传输振动事件数据,提高了传输数据的多样性,使用户能够体验游戏中的振动效果,提升了游戏效果。
70.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
71.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
72.图1是根据一示例性实施例示出的一种云游戏的数据处理方法的应用环境图。
73.图2是根据一示例性实施例示出的一种终端与云主机通信的示意图。
74.图3是根据一示例性实施例示出的一种云游戏的数据处理方法的流程图。
75.图4是根据一示例性实施例示出的一种云游戏的数据处理方法的流程图。
76.图5是根据一示例性实施例示出的一种云游戏的数据处理方法的流程图。
77.图6是根据一示例性实施例示出的一种云游戏的数据处理方法的流程图。
78.图7是根据一示例性实施例示出的一种云游戏的数据处理的示例的流程图。
79.图8是根据一示例性实施例示出的一种云游戏的数据处理的示例的流程图。
80.图9是根据一示例性实施例示出的一种云游戏的数据处理的示例的流程图。
81.图10是根据一示例性实施例示出的一种云游戏的数据处理装置的框图。
82.图11是根据一示例性实施例示出的一种云游戏的数据处理装置的框图。
83.图12是根据一示例性实施例示出的一种电子设备的框图。
84.图13是根据一示例性实施例示出的另一种电子设备的框图。
具体实施方式
85.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
86.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
87.还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
88.本公开所提供的云游戏的数据处理方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与云主机120进行交互。其中,终端110可以是用户实际使用的终端,包括但不限于各种个人计算机、笔记本电脑、智能手机或平板电脑等,云主机120可以是部署于云服务端的虚拟主机。在云游戏场景下,游戏进程(包括各种游戏数据处理逻辑和图像处理逻辑等)和通信进程运行在云主机中,因此,云游戏摆脱了对终端硬件资源的依赖,由于其运行于云服务端,用户的终端无需拥有强大的图形运算和数据处理能力,仅需拥有基本的流媒体播放能力、指令获取能力、数据传输能力即可。具体的,云主机可以通过通信进程捕捉到游戏进程的音视频流,传输给终端;云主机还可以通过通信进程接收终端发送的游戏操作数据,如各种操作指令、以及各操作指令对应的坐标等,并根据游戏操作数据模拟游戏中的真实操作事件,将模拟出的事件传输给游戏进程进行处理。另外,云主机还可以实现传输其他业务相关数据和指令,如登录数据、支付数据等,其中,通信进程和游戏进程之间可以通过binder跨进程通信方式,传输这些业务相关数据和指令。终端可以接收云主机发送的音视频数据,并基于接收到的音视频数据播放游戏画面、播放游戏音频。终端还可以采集用户的游戏操作数据,传输给云主机。另外,终端还可以传输其他业务相关数据和指令,
如登录数据、支付数据等。如图2所示,为终端与云主机通信的示意图。
89.在云游戏模式下,目前云主机与终端的通信,主要是传输三种类型的数据:1、音视频数据,通常采用单向上行通路传输,由云主机端捕捉到游戏的音视频流,传递给终端;2、游戏操作数据通常采用单向下行通路传输,由终端采集游戏操作数据,如各种操作指令、以及各操作指令对应的坐标等,传递给云主机端;3、业务指令,通常采用双向上下行通路传输,在终端和云主机传递业务相关指令和数据。
90.本公开实施例提供的云游戏的数据处理方法,除了以上三种类型的数据以外,终端和云主机之间还可以传输振动事件数据,提高了传输数据的多样性,使用户能够体验游戏中的振动效果,提升了游戏效果。
91.图3是根据一示例性实施例示出的云游戏的数据处理方法的流程图,如图3所示,以该方法用于终端为例,包括以下步骤。
92.在步骤s310中,接收云主机发送的播放消息,该播放消息携带有目标音视频数据和目标振动事件标识。
93.本公开实施例中,云主机可以在云游戏过程中,向终端发送播放消息,该播放消息中可以携带有音视频数据,以使终端播放该音视频数据。云主机在监测到振动事件发生的情况下,可以向终端发送该振动事件对应的目标振动事件数据,该目标振动事件数据包含目标振动参数(为了便于区分,称为第一目标振动参数)和目标振动事件标识。另外,云主机还可以向终端发送携带有目标音视频数据和目标振动事件标识的播放消息。云主机的具体处理过程后续会进行详细说明。
94.终端接收到云主机发送的播放消息后,可以对播放消息进行解析,得到目标音视频数据和目标振动事件标识。在一个示例中,终端可以对播放消息进行解析,得到目标音视频数据及其封装数据,进而从目标音视频数据的封装数据中,获取tag(标签)字段携带的数据,得到目标振动事件标识。
95.在步骤s320中,在振动事件列表中,查询目标振动事件标识对应的目标振动事件数据。
96.其中,振动事件列表用于存储云主机发送的振动事件数据,振动事件数据包含振动事件标识和振动参数。
97.本公开实施例中,终端中可以存储有振动事件列表。该振动事件列表是用于存储云主机下发的振动事件数据的列表。振动事件数据可以包含振动事件标识和振动参数。其中,振动事件标识是云主机生成的能够唯一标识振动事件的标识(如id),振动事件标识可以随时间递增,以表示振动事件的先后顺序。振动参数可以包括强度、振动时长、循环次数等。例如,某振动事件对应的振动参数可以是振动强度为3级,振动时长为1s,循环次数为1次。
98.云主机下发振动事件数据的过程与下发音视频数据的过程是并行的,但由于音视频数据需要先进行编解码等处理,然后才能发送给终端,因此,通常情况下振动事件数据会早于音视频数据发送给终端。可以理解的是,实际处理过程中,由于云主机的处理速度、网络通信条件等的不确定性,终端接收到振动事件数据和音视频数据的时间具有不确定性。即,终端可能先接收到振动事件数据,然后接收到音视频数据;也可能先接收到音视频数据,然后接收到振动事件数据。终端接收到振动事件数据后,可以基于预设的存储策略将振
动事件数据存储到振动事件列表中,具体的存储过程后续会进行详细说明。
99.终端获取到目标音视频数据携带的目标振动事件标识后,可以在振动事件列表中,查询是否存在目标振动事件标识对应的目标振动事件数据。
100.在步骤s330中,在查询到目标振动事件数据的情况下,播放目标音视频数据,并根据目标振动事件数据中的第一目标振动参数进行振动。
101.本公开实施例中,在查询到目标振动事件数据的情况下,则终端可以进一步获取目标振动事件数据中的目标振动参数(即第一目标振动参数)。然后,终端可以基于目标音视频数据,显示游戏画面并播放音频,同时,根据第一目标振动参数进行振动。
102.本公开实施例提供的云游戏的数据处理方法中,终端可以接收云主机发送的播放消息,播放消息携带有目标音视频数据和目标振动事件标识,然后在振动事件列表中,查询目标振动事件标识对应的目标振动事件数据;振动事件列表用于存储云主机发送的振动事件数据,振动事件数据包含振动事件标识和振动参数。在查询到目标振动事件数据的情况下,终端播放目标音视频数据,并根据目标振动事件数据中的第一目标振动参数进行振动。这样,终端与云主机之间可以传输振动事件数据,提高了传输数据的多样性,使用户能够体验游戏中的振动效果,提升了游戏效果。
103.而且,云主机在音视频数据的封装数据中通过打tag的方式,将振动事件标识携带在音视频数据中,终端根据振动事件标识可以找到对应的振动事件数据,从而在输出音视频数据的同时进行振动,实现了音视频与振动事件的同步。
104.可选的,对于目标振动事件数据晚于目标音视频数据达到终端的情况,则振动事件列表中将不存在目标振动事件数据,相应的,终端的处理过程为:在未查询到目标振动事件数据的情况下,播放目标音视频数据,并根据预设振动参数进行振动。
105.本公开实施例中,终端中可以存储有振动事件的默认配置参数,即预设振动参数。在未查询到目标振动事件数据的情况下,则终端可以基于目标音视频数据,显示游戏画面并播放音频,同时,根据预设振动参数进行振动。
106.这样,即使终端未接收到云主机下发的目标振动事件数据,也可以在播放音视频数据的同时进行振动,使用户能够体验游戏中的振动效果,提升了游戏效果。
107.在一示例性实施例中,如图4所示,目标振动事件标识为目标振动事件的生成序列号,相应的,终端存储目标振动事件数据的具体过程包括以下步骤:
108.在步骤s410中,接收云主机发送的目标振动事件数据。
109.其中,目标振动事件数据包含目标振动事件标识(即目标振动事件的生成序列号)和第一目标振动参数。
110.本公开实施例中,终端可以接收云主机发送的目标振动事件数据。如上所述,终端接收到目标振动事件数据和目标音视频数据的时间具有不确定性,因此,步骤s410可能在步骤s310之前执行,也可能在步骤s310之后执行。
111.终端可以对目标振动事件数据进行解析,得到目标生成序号。
112.在步骤s420中,判断目标振动事件的生成序列号是否大于振动事件列表中最大的生成序列号。
113.本公开实施例中,终端可以将目标振动事件的生成序列号与振动事件列表中最大的生成序号进行对比,若目标生成序号大于最大的生成序号,则说明目标生成序号对应的
振动事件为新事件,执行步骤s430;若目标生成序号小于或等于最大的生成序号,说明目标生成序号对应的振动事件为旧事件,执行则步骤s440。
114.在步骤s430中,将目标振动事件数据存储至振动事件列表。
115.在步骤s440中,丢弃目标振动事件数据。
116.例如,终端接收到的振动事件数据中,生成序号为id8,若振动事件列表中的最大id为id7,则将该振动事件数据存储至振动事件列表;若振动事件列表中的最大id为id10,则丢弃该振动事件数据。
117.这样,终端在振动事件列表中只存入新振动事件,避免将旧振动事件的数据存入振动事件列表,减少振动事件列表中的无效数据的数据量,节约存储资源。
118.可选的,终端还可以将振动事件列表中,已执行的振动事件的振动事件数据删除。例如,终端在播放音视频数据a(包含振动事件标识id9),并根据id9对应的振动参数进行振动后,可以在振动事件列表中,删除id9对应的振动事件数据。
119.在一示例性实施例中,如图5所示,终端还可以根据本地存储的振动模板列表进行振动,具体处理过程可以如下:
120.在步骤s510中,响应于云游戏启动指令,获取振动模板列表。
121.其中,振动模板列表包含游戏操作指令和振动参数的对应关系。
122.本公开实施例中,当用户在终端开启云游戏时,终端可以接收到云游戏启动指令。响应于云游戏启动指令,终端可以获取该云游戏对应的振动模板列表。振动模板列表可以包含游戏操作指令和振动参数的对应关系,如表一所示。
123.表一
124.游戏操作指令振动参数开枪指令振动强度:3级;振动时间:1s;循环次数:1次晃动手枪指令振动强度:1级;振动事件:0.6s;循环次数:1次
125.在步骤s520中,响应于目标游戏操作指令,在振动模板列表中查询目标游戏操作指令对应的第二目标振动参数。
126.本公开实施例中,用户在游戏过程中可以进行游戏操作,终端则可以接收到相应的游戏操作指令。当终端接收到某一游戏操作指令(即目标游戏操作指令)后,可以在振动模板列表中查询是否存在目标游戏操作指令对应的目标振动参数(即第二目标振动参数)。
127.参照表一,终端接收到开枪指令,可以在振动模板列表中查询到对应的振动参数为:振动强度为3级,振动时长为1s,循环次数为1次。终端接收到人物跳跃指令,则在振动模板列表中未查询到对应的振动参数。
128.在步骤s530中,在查询到第二目标振动参数的情况下,根据第二目标振动参数进行振动。
129.本公开实施例中,终端查询到第二目标振动参数后,可以根据第二目标振动参数进行振动。这样,终端可以根据本地存储的振动模板列表,直接获取游戏操作指令对应的振动参数进行振动,无需经过云主机传输振动事件数据,振动响应速度更快,跟手性更好。
130.另外,如果终端在振动模板列表中未查询到目标游戏操作指令,则说明目标游戏操作指令未配置有振动事件,终端不进行振动。
131.可选的,终端获取振动模板列表的过程为:响应于云游戏启动指令,向云主机或游
戏服务端发送振动模板列表的下载请求;接收并存储云主机或游戏服务端发送的振动模板列表。
132.本公开实施例中,终端可以从云主机中获取振动模板列表,也可以从游戏服务端获取振动模板列表,具体的选择方式可以根据实际需求设置,本公开实施例不做限定。以云主机为例,终端接收到云游戏启动指令后,可以向云主机发送振动模板列表的下载请求,该下载请求可以携带云游戏的标识。云主机接收到该下载请求后,可以根据云游戏的标识,获取对应的振动模板列表,然后将振动模板列表发送给终端。终端则可以接收并存储该振动模板列表。从游戏服务端中获取振动模板列表的过程与之类似,不再赘述。
133.基于上述方案,终端可以从云主机或游戏服务端获取振动模板列表,以便根据该振动模板列表,直接获取游戏操作指令对应的振动参数进行振动,无需经过云主机传输,振动响应速度更快,跟手性更好。
134.图6是根据一示例性实施例示出的一种云游戏的数据处理方法的流程图,如图6所示,以该方法用于云主机为例,包括以下步骤。
135.在步骤s610中,在监测到目标振动事件发生的情况下,获取目标振动事件对应的目标振动事件数据。
136.其中,目标振动事件数据包含第一目标振动参数和目标振动事件标识。
137.本公开实施例中,云主机中可以运行云游戏的游戏进程,从而实现云游戏的各种游戏数据处理逻辑、图像处理逻辑等。在游戏过程中,云主机可以根据终端发送的游戏操作数据,判断所发生的游戏事件,当预设游戏事件发生时,可以触发振动事件(即目标振动事件)。例如,当用户控制的人物死亡、或者用户控制的车辆与游戏场景中的物体发生碰撞时,会触发目标振动事件。此时,游戏进程可以调用云主机的预设接口,将该目标振动事件的振动参数传递给云主机。这样,云主机可以监测到目标振动事件生成,并得到目标振动事件对应的振动参数。其中,振动参数可以包括强度、振动时长、循环次数等。云主机则可以根据这些振动参数,得到该目标振动事件对应的振动事件数据(即目标振动事件数据)。
138.在步骤s620中,将目标振动事件数据发送给终端。
139.本公开实施例中,云主机获取到目标振动事件数据后,可以将目标振动事件数据发送给终端,以便终端根据目标振动事件数据进行振动。在一个示例中,云主机可以通过双向上下行通路传输目标振动事件数据。
140.在步骤s630中,根据目标振动事件对应的目标音视频数据和目标振动事件标识生成播放消息,将播放消息发送给终端。
141.本公开实施例中,在云主机监测到目标振动事件发生的情况下,云主机还可以获取该目标振动事件对应的音视频数据(即目标音视频数据)。例如,当用户控制的人物死亡,则会产生人物死亡的游戏画面和声音,或者用户控制的车辆与游戏场景中的物体发生碰撞时,会产生碰撞画面和声音。目标振动事件和音视频数据的对应关系可以由技术人员预先在游戏程序中设定。云主机可以在目标音视频数据的封装信息中,添加目标振动事件标识。在一个示例中,可以在音视频数据的封装信息中增加tag(标签)字段,该tag字段用于携带振动事件标识,则云主机可以将目标振动事件标识写入到目标音视频数据的tag字段中。然后,云主机可以根据目标音视频数据及其封装信息生成播放消息(如音视频数据包),进而将播放消息发送给终端。在一个示例中,云主机可以通过单向上行通路向终端发送播放消
息。
142.本公开实施例提供的云游戏的数据处理方法,云主机在监测到目标振动事件发生的情况下,可以获取目标振动事件对应的目标振动事件数据,目标振动事件数据包含第一目标振动参数和目标振动事件标识。然后,云主机将目标振动事件数据发送给终端;以及,根据目标振动事件对应的目标音视频数据和目标振动事件标识生成播放消息,将播放消息发送给终端。这样,终端可以根据目标音视频数据携带的目标振动事件标识,在振动事件列表中,查询目标振动事件标识对应的目标振动事件数据,并在查询到目标振动事件数据的情况下,播放目标音视频数据,并根据目标振动事件数据中的第一目标振动参数进行振动。基于上述过程,终端与云主机之间可以传输振动事件数据,提高了传输数据的多样性,使用户能够体验游戏中的振动效果,提升了游戏效果。
143.而且,云主机在音视频数据的封装数据中通过打tag的方式,将振动事件标识携带在音视频数据中,终端根据振动事件标识可以找到对应的振动事件数据,从而在输出音视频数据的同时进行振动,实现了音视频与振动事件的同步。
144.可选的,步骤s620和步骤s630的执行过程可以同时进行的,但由于音视频数据需要先进行编解码处理,然后才能发送给终端,因此,通常情况下目标振动事件数据的发送时间早于目标音视频数据的发送时间。可以理解的是,实际处理过程中,由于云主机的处理速度、网络通信条件等的不确定性,终端接收到目标振动事件数据和目标音视频数据的时间具有不确定性。即,终端可能先接收到目标振动事件数据,然后接收到目标音视频数据;也可能先接收到目标音视频数据,然后接收到目标振动事件数据。
145.在一示例性实施例中,在步骤s610中,获取目标振动事件数据的具体过程可以为:生成目标振动事件对应的目标振动事件标识,并获取目标振动事件的第一目标振动参数;将目标振动事件标识、以及第一目标振动参数构成目标振动事件对应的目标振动事件数据。
146.本公开实施例中,云主机在监测到目标振动事件发生后,可以生成该目标振动事件对应的振动事件标识。振动事件标识是云主机生成的能够唯一标识目标振动事件的标识(如id)。例如,振动事件标识可以为生成序号,如id1、id2、id3等。云主机可以按照监测到振动事件生成的先后顺序,为振动事件生成振动事件标识。即,振动事件标识可以随时间递增,以表示振动事件生成的先后顺序。
147.云主机还可以基于游戏进程的接口调用,获取该目标振动事件的振动参数。然后,云主机可以将目标振动事件标识、以及第一目标振动参数,构成目标振动事件对应的目标振动事件数据。即,目标振动事件数据包含目标振动事件标识和第一目标振动参数。
148.基于上述过程,云主机可以得到目标振动事件数据,目标振动事件数据包含目标振动事件标识和第一目标振动参数,以便终端根据目标振动事件数据进行振动。
149.可选的,云主机的处理过程还包括:响应于终端发送的振动模板列表的下载请求,向终端发送振动模板列表。
150.本公开实施例中,终端接收到云游戏启动指令后,可以向云主机发送振动模板列表的下载请求,该下载请求可以携带云游戏的标识。云主机接收到该下载请求后,可以根据云游戏的标识,获取对应的振动模板列表,然后将振动模板列表发送给终端。终端则可以接收并存储该振动模板列表。
151.基于上述方案,终端可以从云主机获取振动模板列表,以便根据该振动模板列表,直接获取游戏操作指令对应的振动参数进行振动,无需经过云主机传输振动事件数据,振动响应速度更快,跟手性更好。
152.图7是根据一示例性实施例示出的一种云游戏的数据处理的示例,该示例中,终端先接收到振动事件数据,然后接收到音视频数据。如图7所示,该示例包括以下步骤。
153.在步骤s710中,终端接收云主机发送的振动事件数据,该振动事件数据包含目标id和振动参数。
154.在步骤s720中,终端将目标id与振动事件列表中的最大id进行对比,确定目标id大于最大id。
155.在步骤s730中,终端将振动事件数据存储至振动事件列表。
156.在步骤s740中,终端接收云主机发送的音视频数据包。音视频数据包的tag中携带有目标id。
157.在步骤s750中,终端在振动事件列表中,查询目标id对应的振动事件数据。
158.在步骤s760中,终端基于音视频数据包播放音视频数据,并根据该振动事件数据中的振动参数进行振动。
159.图8是根据一示例性实施例示出的另一种云游戏的数据处理的示例,该示例中,终端先接收到音视频数据,然后接收到振动事件数据。如图8所示,该示例包括以下步骤。
160.在步骤s810中,终端接收云主机发送的音视频数据包。音视频数据包的tag中携带有目标id。
161.在步骤s820中,终端在振动事件列表中,未查询目标id对应的振动事件数据,基于音视频数据包播放音视频数据,并根据预设振动参数进行振动。
162.在步骤s830中,终端接收云主机发送的振动事件数据,该振动事件数据包含目标id和振动参数。
163.在步骤s840中,终端将目标id与振动事件列表中的最大id进行对比,确定目标id小于最大id。
164.在步骤s850中,终端丢弃该振动事件数据。
165.图9是根据一示例性实施例示出的一种云游戏的数据处理的示例,该示例中,终端根据振动模板列表进行振动。如图9所示,该示例包括以下步骤。
166.在步骤s910中,终端响应于云游戏启动指令,向云主机发送振动模板列表的下载请求。
167.在步骤s920中,终端接收并存储云主机发送的振动模板列表。
168.在步骤s910’中,终端响应于云游戏启动指令,向游戏服务端发送振动模板列表的下载请求.
169.在步骤s920’中,终端接收并存储游戏服务端发送的振动模板列表。
170.在步骤s930中,终端响应于目标游戏操作指令,在振动模板列表中查询目标游戏操作指令对应的振动参数。
171.在步骤s940中,在查询到振动参数的情况下,根据该振动参数进行振动。
172.其中,s910~s920的处理过程,与s910’~s920’的处理过程为同一流程的不同实现方式。终端设备可以执行s910~s920,或者,执行s910’~s920’。
173.应该理解的是,虽然图1-图9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
174.可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
175.图10是根据一示例性实施例示出的一种云游戏的数据处理装置框图。参照图10,该装置包括第一接收单元1010、第一查询单元1020和第一振动单元1030。
176.第一接收单元1010,被配置为执行接收云主机发送的播放消息,播放消息携带有目标音视频数据和目标振动事件标识;
177.第一查询单元1020,被配置为执行在振动事件列表中,查询目标振动事件标识对应的目标振动事件数据;振动事件列表用于存储云主机发送的振动事件数据,振动事件数据包含振动事件标识和振动参数;
178.第一振动单元1030,被配置为执行在查询到目标振动事件数据的情况下,播放目标音视频数据,并根据目标振动事件数据中的第一目标振动参数进行振动。
179.在其中一个实施例中,该装置还包括:
180.第二振动单元,被配置为执行在未查询到目标振动事件数据的情况下,播放目标音视频数据,并根据预设振动参数进行振动。
181.在其中一个实施例中,目标振动事件标识为目标振动事件的生成序列号;
182.该装置还包括:
183.第二接收单元,被配置为执行接收云主机发送的目标振动事件数据;目标振动事件数据包含目标振动事件标识和第一目标振动参数;
184.判断单元,被配置为执行判断目标振动事件的生成序列号是否大于振动事件列表中最大的生成序列号;
185.存储单元,被配置为执行如果目标振动事件的生成序列号大于最大的生成序列号,则将目标振动事件数据存储至振动事件列表;
186.丢弃单元,被配置为执行如果目标振动事件的生成序列号小于或等于最大的生成序列号,则丢弃目标振动事件数据。
187.在其中一个实施例中,该装置还包括:
188.获取单元,被配置为执行响应于云游戏启动指令,获取振动模板列表,振动模板列表包含游戏操作指令和振动参数的对应关系;
189.第二查询单元,被配置为执行响应于目标游戏操作指令,在振动模板列表中查询目标游戏操作指令对应的第二目标振动参数;
190.第三振动单元,被配置为执行在查询到第二目标振动参数的情况下,根据第二目标振动参数进行振动。
191.在其中一个实施例中,获取单元,包括:
192.发送子单元,被配置为执行响应于云游戏启动指令,向云主机或游戏服务端发送振动模板列表的下载请求;
193.接收子单元,被配置为执行接收并存储云主机或游戏服务端发送的振动模板列表。
194.图11是根据一示例性实施例示出的一种云游戏的数据处理装置框图。参照图10,该装置包括获取单元1110和第一发送单元1120。
195.获取单元1110,被配置为执行在监测到目标振动事件发生的情况下,获取目标振动事件对应的目标振动事件数据,目标振动事件数据包含第一目标振动参数和目标振动事件标识;
196.第一发送单元1120,被配置为执行将目标振动事件数据发送给终端;以及,根据目标振动事件对应的目标音视频数据和目标振动事件标识生成播放消息,将播放消息发送给终端。
197.在其中一个实施例中,获取单元1110,包括;
198.获取子单元,被配置为执行生成目标振动事件对应的目标振动事件标识,并获取目标振动事件的第一目标振动参数;
199.构成子单元,被配置为执行将目标振动事件标识、以及第一目标振动参数构成目标振动事件对应的目标振动事件数据。
200.在其中一个实施例中,该装置还包括:
201.第二发送单元,被配置为执行响应于终端发送的振动模板列表的下载请求,向终端发送振动模板列表。
202.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
203.图12是根据一示例性实施例示出的一种用于云游戏的数据处理的电子设备1200的框图。该电子设备可以为用户使用的终端,例如,电子设备1200可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
204.参照图12,电子设备1200可以包括以下一个或多个组件:处理组件1202、存储器1204、电源组件1206、多媒体组件1208、音频组件1210、输入/输出(i/o)的接口1212、传感器组件1214以及通信组件1216。
205.处理组件1202通常控制电子设备1200的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件1202可以包括一个或多个处理器1220来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1202可以包括一个或多个模块,便于处理组件1202和其他组件之间的交互。例如,处理组件1202可以包括多媒体模块,以方便多媒体组件1208和处理组件1202之间的交互。
206.存储器1204被配置为存储各种类型的数据以支持在电子设备1200的操作。这些数据的示例包括用于在电子设备1200上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1204可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram)、电可擦除可编程只读存储器
(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、快闪存储器、磁盘、光盘或石墨烯存储器。
207.电源组件1206为电子设备1200的各种组件提供电力。电源组件1206可以包括电源管理系统,一个或多个电源,及其他与为电子设备1200生成、管理和分配电力相关联的组件。
208.多媒体组件1208包括在所述电子设备1200和用户之间的提供输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1208包括前置摄像头和/或后置摄像头。当电子设备1200处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是固定的光学透镜系统或具有焦距和光学变焦能力。
209.音频组件1210被配置为输出和/或输入音频信号。例如,音频组件1210包括麦克风(mic),当电子设备1200处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1204或经由通信组件1216发送。在一些实施例中,音频组件1210还包括扬声器,用于输出音频信号。
210.i/o接口1212为处理组件1202和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
211.传感器组件1214包括一个或多个传感器,用于为电子设备1200提供各个方面的状态评估。例如,传感器组件1214可以检测到电子设备1200的打开/关闭状态,组件的相对定位,例如所述组件为电子设备1200的显示器和小键盘,传感器组件1214还可以检测电子设备1200或电子设备1200组件的位置改变,用户与电子设备1200接触的存在或不存在,设备1200方位或加速/减速和电子设备1200的温度变化。传感器组件1214可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1214还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1214还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
212.通信组件1216被配置为便于电子设备1200和其他设备之间有线或无线方式的通信。电子设备1200可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件1216经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1216还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
213.在示例性实施例中,电子设备1200可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
214.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器1204,上述指令可由电子设备1200的处理器1220执行以完成上述方法。例如,计
算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
215.在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由电子设备1200的处理器1220执行以完成上述方法。
216.图13是根据一示例性实施例示出的一种用于云游戏的数据处理的电子设备1300的框图。该电子设备可以用于实现云主机,例如,电子设备1300可以为服务器。参照图13,电子设备1300包括处理组件1320,其进一步包括一个或多个处理器,以及由存储器1322所代表的存储器资源,用于存储可由处理组件1320的执行的指令,例如应用程序。存储器1322中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1320被配置为执行指令,以执行上述方法。
217.电子设备1300还可以包括:电源组件1324被配置为执行电子设备1300的电源管理,有线或无线网络接口1326被配置为将电子设备1300连接到网络,和输入输出(i/o)接口1328。电子设备1300可以操作基于存储在存储器1322的操作系统,例如windows server,mac os x,unix,linux,freebsd或类似。
218.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器1322,上述指令可由电子设备1300的处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
219.在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由电子设备1300的处理器执行以完成上述方法。
220.需要说明的,上述的装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
221.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
222.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。