欢迎光临小豌豆知识网!
当前位置:首页 > 生活技术 > 运动娱乐> 云游戏服务系统、云客户端及数据处理方法独创技术57278字

云游戏服务系统、云客户端及数据处理方法

2021-02-07 16:42:25

云游戏服务系统、云客户端及数据处理方法

  技术领域

  本说明书涉及云游戏技术领域,特别涉及一种云游戏服务系统、云客户端及数据处理方法。本说明书同时涉及一种服务系统,一种计算设备,以及一种计算机可读存储介质。

  背景技术

  随着游戏产业、终端技术、网络技术以及云计算的快速发展,云计算与网络游戏相结合产生了云游戏。云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户,在客户端,用户的游戏设备不需要任何高端处理器和显卡,只需要基本的视频解压能力就可以了。

  现有技术中,云游戏是在C/S架构基础上加入了云客户端,游戏客户端从玩家的设备上迁移到了机房,云客户端可以将用户的操作信息发送给游戏客户端,游戏客户端进行合法性判断、逻辑和模拟计算、渲染画面,同时将该操作信息通过网络发送给游戏服务器,游戏服务器也进行合法性检验、逻辑和模拟计算,并将结果广播到其他的游戏客户端。

  然而,上述架构中,相同的输入数据和一致的操作流程保证了游戏客户端和游戏服务器端最终的计算结果是一致的,但为了保证用户操作能得到及时的反馈,大部分逻辑和模拟计算需要在游戏客户端和服务器端都执行一次,相同逻辑的代码需要在客户端和服务器编写两次,同时需要解决好游戏客户端和服务器的同步交互问题,增加了游戏整体框架的设计和实现难度,也增加了项目的开发周期,从执行消耗上来看也是不经济的,进而需要更简单、更便捷的方法进行数据处理。

  发明内容

  有鉴于此,本说明书实施例提供了一种云游戏服务系统、云客户端及数据处理方法。本说明书同时涉及一种服务系统,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。

  根据本说明书实施例的第一方面,提供了一种云游戏服务系统,包括逻辑计算模块和画面渲染模块;

  所述逻辑计算模块,被配置为接收云客户端发送的控制流信息,所述控制流信息中包括触控输入信息,解析所述控制流信息,根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令,将所述渲染指令发送给所述画面渲染模块,其中,所述触控输入信息用于标识用户在游戏画面中执行的操作;

  所述画面渲染模块,被配置为根据所述渲染指令生成数据流信息,并将所述数据流信息发送给云客户端。

  可选的,所述逻辑计算模块进一步被配置为:

  判断所述触控输入信息标识的用户在游戏画面中执行的操作是否有效;

  若是,则执行所述根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令的步骤。

  可选的,所述逻辑计算模块进一步被配置为:

  确定用户执行操作所处的游戏画面的表现数据;

  基于所述表现数据,根据所述触控输入信息标识的用户在游戏画面中执行的操作进行逻辑模拟和计算,确定逻辑模拟和计算后游戏画面中的新表现数据;

  根据所述新表现数据生成所述渲染指令。

  可选的,所述画面渲染模块进一步被配置为:

  对所述渲染指令进行解析;

  根据所述渲染指令中的所述新表现数据,渲染出用户在所述游戏画面中执行操作后的新游戏画面;

  根据所述新游戏画面,生成所述数据流信息。

  可选的,所述画面渲染模块进一步被配置为:

  确定所述用户执行操作所处的游戏画面中的在线账户对应的云客户端;

  将所述数据流信息发送给所述云客户端。

  可选的,所述逻辑计算模块进一步被配置为:

  向所述画面渲染模块发送通知消息,所述通知消息中携带所述渲染指令;或者,

  向所述画面渲染模块发送调用请求,所述调用请求中携带所述渲染指令。

  可选的,所述逻辑计算模块被配置在第一终端上,所述画面渲染模块被配置在不同于第一终端的第二终端上。

  根据本说明书实施例的第二方面,提供了一种数据处理方法,应用于上述第一方面提供的云游戏服务系统中,所述方法包括:

  逻辑计算模块接收云客户端发送的控制流信息,所述控制流信息中包括触控输入信息,解析所述控制流信息,根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令,将所述渲染指令发送给画面渲染模块,其中,所述触控输入信息用于标识用户在游戏画面中执行的操作;

  所述画面渲染模块根据所述渲染指令生成数据流信息,并将所述数据流信息发送给云客户端。

  可选的,所述根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令之前,还包括:

  判断所述触控输入信息标识的用户在游戏画面中执行的操作是否有效;

  若是,则执行所述根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令的步骤。

  可选的,所述根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令,包括:

  确定用户执行操作所处的游戏画面的表现数据;

  基于所述表现数据,根据所述触控输入信息标识的用户在游戏画面中执行的操作进行逻辑模拟和计算,确定逻辑模拟和计算后游戏画面中的新表现数据;

  根据所述新表现数据生成所述渲染指令。

  可选的,所述画面渲染模块根据所述渲染指令生成数据流信息,包括:

  对所述渲染指令进行解析;

  根据所述渲染指令中的所述新表现数据,渲染出用户在所述游戏画面中执行操作后的新游戏画面;

  根据所述新游戏画面,生成所述数据流信息。

  可选的,所述画面渲染模块将所述数据流信息发送给云客户端,包括:

  确定所述用户执行操作所处的游戏画面中的在线账户对应的云客户端;

  将所述数据流信息发送给所述云客户端。

  可选的,所述逻辑计算模块将所述渲染指令发送给所述画面渲染模块,包括:

  向所述画面渲染模块发送通知消息,所述通知消息中携带所述渲染指令;或者,

  向所述画面渲染模块发送调用请求,所述调用请求中携带所述渲染指令。

  根据本说明书实施例的第三方面,提供了一种云客户端,包括控制流信息生成模块和数据流信息接收模块;

  所述控制流信息生成模块,被配置为生成控制流信息,并将所述控制流信息发送给云游戏服务系统的逻辑计算模块,所述控制流信息中包括触控输入信息,所述触控输入信息用于标识用户在游戏画面中执行的操作;

  所述数据流信息接收模块,被配置为接收云游戏服务系统的画面渲染模块发送的数据流信息,对所述数据流信息进行解析播放。

  根据本说明书实施例的第四方面,提供了另一种数据处理方法,应用于上述第三方面提供的云客户端中,所述方法包括:

  生成控制流信息,将所述控制流信息发送给云游戏服务系统的逻辑计算模块,并接收云游戏服务系统的画面渲染模块发送的数据流信息,对所述数据流信息进行解析播放,所述控制流信息中包括触控输入信息,所述触控输入信息用于标识用户在游戏画面中执行的操作;或者,

  接收云游戏服务系统的画面渲染模块发送的数据流信息,并对所述数据流信息进行解析播放。

  根据本说明书实施例的第五方面,提供了一种服务系统,包括云游戏服务系统和云客户端,所述云游戏服务系统包括逻辑计算模块和画面渲染模块;

  所述逻辑计算模块,用于接收云客户端发送的控制流信息,所述控制流信息中包括触控输入信息,解析所述控制流信息,根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令,将所述渲染指令发送给所述画面渲染模块,其中,所述触控输入信息用于标识用户在游戏画面中执行的操作;

  所述画面渲染模块,用于根据所述渲染指令生成数据流信息,并将所述数据流信息发送给所述云客户端;

  所述控制流信息生成模块,用于生成控制流信息,并将所述控制流信息发送给所述逻辑计算模块;

  所述数据流信息接收模块,用于接收所述画面渲染模块发送的数据流信息,对所述数据流信息进行解析播放。

  根据本说明书实施例的第六方面,提供了一种计算设备,包括:

  存储器和处理器;

  所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:

  接收云客户端发送的控制流信息,所述控制流信息中包括触控输入信息,解析所述控制流信息,根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令,将所述渲染指令发送给所述画面渲染模块,其中,所述触控输入信息用于标识用户在游戏画面中执行的操作。

  根据本说明书实施例的第七方面,提供了一种计算设备,包括:

  存储器和处理器;

  所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:

  根据渲染指令生成数据流信息,并将所述数据流信息发送给云客户端。

  根据本说明书实施例的第八方面,提供了一种计算设备,包括:

  存储器和处理器;

  所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:

  生成控制流信息,将所述控制流信息发送给云游戏服务系统的逻辑计算模块,并接收云游戏服务系统的画面渲染模块发送的数据流信息,对所述数据流信息进行解析播放,所述控制流信息中包括触控输入信息,所述触控输入信息用于标识用户在游戏画面中执行的操作;或者,接收画面渲染模块发送的数据流信息,并对所述数据流信息进行解析播放。

  根据本说明书实施例的第九方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意所述第二方面提供的数据处理方法的步骤。

  根据本说明书实施例的第十方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意所述第四方面提供的数据处理方法的步骤。

  本说明书提供的云游戏服务系统包括逻辑计算模块和画面渲染模块,逻辑计算模块接收云客户端发送的控制流信息,并解析所述控制流信息,然后根据解析得到的触控输入信息进行逻辑模拟和计算,生成渲染指令,并将所述渲染指令发送给所述画面渲染模块,所述画面渲染模块只需要根据所述渲染指令生成数据流信息,并将所述数据流信息发送给云客户端即可。按照功能重新设计了云游戏服务系统的架构,云游戏服务系统的两个模块分别具有不同的功能,使得云游戏服务系统既可以进行模拟和逻辑计算,又可以进行画面渲染,将游戏客户端中的渲染功能融入了云游戏服务系统,用户执行的操作不需要在游戏客户端和云游戏服务系统都模拟一遍,减少了一半的逻辑模拟和计算操作,执行消耗大大减少,降低了游戏整体框架的设计和实现难度,也相应缩短了项目的开发周期。

  附图说明

  图1是本说明书一实施例提供的一种云游戏服务系统的结构示意图;

  图2是本说明书一实施例提供的第一种数据处理方法的流程图;

  图3是本说明书一实施例提供的一种云客户端的结构示意图;

  图4是本说明书一实施例提供的第二种数据处理方法的流程图;

  图5是本说明书一实施例提供的一种应用于云游戏的数据处理方法的处理流程图;

  图6是本说明书一实施例提供的一种服务系统的结构示意图;

  图7是本说明书一实施例提供的第一种计算设备的结构框图;

  图8是本说明书一实施例提供的第二种计算设备的结构框图;

  图9是本说明书一实施例提供的第二种计算设备的结构框图。

  具体实施方式

  在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。

  在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

  应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

  在本说明书中,提供了一种云游戏服务系统、云客户端和数据处理方法,本说明书同时涉及一种服务系统,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。

  图1示出了根据本说明书一实施例提供的一种云游戏服务系统的结构示意图,云游戏服务系统包括逻辑计算模块102和画面渲染模块104;

  逻辑计算模块102,被配置为接收云客户端发送的控制流信息,所述控制流信息中包括触控输入信息,解析所述控制流信息,根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令,将所述渲染指令发送给所述画面渲染模块,其中,所述触控输入信息用于标识用户在游戏画面中执行的操作;

  画面渲染模块104,被配置为根据所述渲染指令生成数据流信息,并将所述数据流信息发送给云客户端。

  实际应用中,云游戏是在C/S(Client/Server,客户机/服务器)架构基础上加入了云客户端,游戏客户端从玩家的设备上迁移到了机房,云客户端可以将用户的操作信息发送给游戏客户端,游戏客户端进行合法性判断、逻辑和模拟计算、渲染画面,同时将该操作信息通过网络发送给游戏服务器,游戏服务器也进行合法性检验、逻辑和模拟计算,并将结果广播到其他的游戏客户端。此架构中,相同的输入数据和一致的操作流程保证了游戏客户端和游戏服务器端最终的计算结果是一致的,但为了保证用户操作能得到及时的反馈,大部分逻辑和模拟计算需要在游戏客户端和服务器端都执行一次,相同逻辑的代码需要在客户端和服务器编写两次,执行消耗较大,增加了游戏整体框架的设计和实现难度,也增加了项目的开发周期。

  本说明书提供的云游戏服务系统包括逻辑计算模块和画面渲染模块,逻辑计算模块接收云客户端发送的控制流信息,并解析所述控制流信息,然后根据解析得到的触控输入信息进行逻辑模拟和计算,生成渲染指令,并将所述渲染指令发送给所述画面渲染模块,所述画面渲染模块只需要根据所述渲染指令生成数据流信息,并将所述数据流信息发送给云客户端即可。按照功能重新设计了云游戏服务系统的架构,云游戏服务系统的两个模块分别具有不同的功能,使得云游戏服务系统既可以进行模拟和逻辑计算,又可以进行画面渲染,将游戏客户端中的渲染功能融入了云游戏服务系统,用户执行的操作不需要在游戏客户端和云游戏服务系统都模拟一遍,减少了一半的逻辑模拟和计算操作,执行消耗大大减少,降低了游戏整体框架的设计和实现难度,也相应缩短了项目的开发周期。

  一个可选的实施例中,所述逻辑计算模块102进一步被配置为:

  判断所述触控输入信息标识的用户在游戏画面中执行的操作是否有效;

  若是,则执行所述根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令的步骤。

  一个可选的实施例中,所述逻辑计算模块102进一步被配置为:

  确定用户执行操作所处的游戏画面的表现数据;

  基于所述表现数据,根据所述触控输入信息标识的用户在游戏画面中执行的操作进行逻辑模拟和计算,确定逻辑模拟和计算后游戏画面中的新表现数据;

  根据所述新表现数据生成所述渲染指令。

  一个可选的实施例中,所述画面渲染模块104进一步被配置为:

  对所述渲染指令进行解析;

  根据所述渲染指令中的所述新表现数据,渲染出用户在所述游戏画面中执行操作后的新游戏画面;

  根据所述新游戏画面,生成所述数据流信息。

  一个可选的实施例中,所述画面渲染模块104进一步被配置为:

  确定所述用户执行操作所处的游戏画面中的在线账户对应的云客户端;

  将所述数据流信息发送给所述云客户端。

  一个可选的实施例中,所述逻辑计算模块102进一步被配置为:

  向所述画面渲染模块发送通知消息,所述通知消息中携带渲染指令;或者,

  向所述画面渲染模块发送调用请求,所述调用请求中携带渲染指令。

  一个可选的实施例中,所述逻辑计算模块102被配置在第一终端上,所述画面渲染模块104被配置在不同于第一终端的第二终端上。

  实际应用中,逻辑计算模块102和画面渲染模块104具有的功能不同,因而可以根据逻辑计算模块102和画面渲染模块104对终端的需求,将其设置在不同的终端上。例如,逻辑计算模块102主要用于逻辑模拟和计算,其需要强大的CPU(Central Processing Unit,中央处理器)支持,因而将逻辑计算模块102安装在CPU强劲的终端上;而画面渲染模块104主要用于渲染游戏画面,生成数据流信息,其需要强大的GPU(Graphics Processing Unit,图形处理器)支持,因而将画面渲染模块104安装在GPU强劲的终端上。

  本说明书提供的云游戏服务系统包括逻辑计算模块和画面渲染模块,逻辑计算模块接收云客户端发送的控制流信息,并解析所述控制流信息,然后根据解析得到的触控输入信息进行逻辑模拟和计算,生成渲染指令,并将所述渲染指令发送给所述画面渲染模块,所述画面渲染模块只需要根据所述渲染指令生成数据流信息,并将所述数据流信息发送给云客户端即可。按照功能重新设计了云游戏服务系统的架构,云游戏服务系统的两个模块分别具有不同的功能,使得云游戏服务系统既可以进行模拟和逻辑计算,又可以进行画面渲染,将游戏客户端中的渲染功能融入了云游戏服务系统,用户执行的操作不需要在游戏客户端和云游戏服务系统都模拟一遍,减少了一半的逻辑模拟和计算操作,执行消耗大大减少,降低了游戏整体框架的设计和实现难度,也相应缩短了项目的开发周期。

  图2示出了根据本说明书一实施例提供的一种数据处理方法的流程图,应用于上述图1所示的云游戏服务系统中,包括步骤202至步骤204。

  步骤202:逻辑计算模块接收云客户端发送的控制流信息,所述控制流信息中包括触控输入信息,解析所述控制流信息,根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令,将所述渲染指令发送给画面渲染模块,其中,所述触控输入信息用于标识用户在游戏画面中执行的操作。

  在本实施例的一个或多个实施方式中,所述根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令,包括:

  确定用户执行操作所处的游戏画面的表现数据;

  基于所述表现数据,根据所述触控输入信息标识的用户在游戏画面中执行的操作进行逻辑模拟和计算,确定逻辑模拟和计算后游戏画面中的新表现数据;

  根据所述新表现数据生成所述渲染指令。

  在本实施例的一个或多个实施方式中,所述根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令之前,还可以先判断用户输入的操作是否有效,具体实现过程可以为:

  判断所述触控输入信息标识的用户在游戏画面中执行的操作是否有效;

  若是,则执行所述根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令的步骤。

  在本实施例的一个或多个实施方式中,所述逻辑计算模块将所述渲染指令发送给所述画面渲染模块,包括:

  向所述画面渲染模块发送通知消息,所述通知消息中携带所述渲染指令;或者,

  向所述画面渲染模块发送调用请求,所述调用请求中携带所述渲染指令。

  步骤204:画面渲染模块根据所述渲染指令生成数据流信息,并将所述数据流信息发送给云客户端。

  具体的,在逻辑计算模块将所述渲染指令发送给画面渲染模块的基础上,进一步的,画面渲染模块将根据所述渲染指令生成数据流信息,并将所述数据流信息发送给云客户端。

  在本实施例的一个或多个实施方式中,所述画面渲染模块根据所述渲染指令生成数据流信息,包括:

  对所述渲染指令进行解析;

  根据所述渲染指令中的所述新表现数据,渲染出用户在所述游戏画面中执行操作后的新游戏画面;

  根据所述新游戏画面,生成所述数据流信息。

  在本实施例的一个或多个实施方式中,所述画面渲染模块将所述数据流信息发送给云客户端,包括:

  确定所述用户执行操作所处的游戏画面中的在线账户对应的云客户端;

  将所述数据流信息发送给所述云客户端。

  本说明书提供的云游戏服务系统包括逻辑计算模块和画面渲染模块,逻辑计算模块接收云客户端发送的控制流信息,并解析所述控制流信息,然后根据解析得到的触控输入信息进行逻辑模拟和计算,生成渲染指令,并将所述渲染指令发送给所述画面渲染模块,所述画面渲染模块只需要根据所述渲染指令生成数据流信息,并将所述数据流信息发送给云客户端即可。按照功能重新设计了云游戏服务系统的架构,云游戏服务系统的两个模块分别具有不同的功能,使得云游戏服务系统既可以进行模拟和逻辑计算,又可以进行画面渲染,将游戏客户端中的渲染功能融入了云游戏服务系统,用户执行的操作不需要在游戏客户端和云游戏服务系统都模拟一遍,减少了一半的逻辑模拟和计算操作,执行消耗大大减少,降低了游戏整体框架的设计和实现难度,也相应缩短了项目的开发周期。

  图3示出了根据本说明书一实施例提供的一种云客户端的结构示意图,云客户端包括控制流信息生成模块302和数据流信息接收模块304。

  控制流信息生成模块302,被配置为生成控制流信息,并将所述控制流信息发送给云游戏服务系统的逻辑计算模块,所述控制流信息中包括触控输入信息,所述触控输入信息用于标识用户在游戏画面中执行的操作;

  数据流信息接收模块304,被配置为接收云游戏服务系统的画面渲染模块发送的数据流信息,对所述数据流信息进行解析播放。

  本说明书中云客户端包括控制流信息生成模块和数据流信息接收模块,控制流信息生成模块生成控制流信息后,直接将所述控制流信息发送给云游戏服务系统的逻辑计算模块,使得逻辑计算模块可以生成渲染指令,控制画面渲染模块生成数据流信息,数据流信息接收模块接收云游戏服务系统的画面渲染模块发送的数据流信息即可,用户在云客户端执行的操作不需要在游戏客户端和云游戏服务系统都模拟一遍,减少了一半的逻辑模拟和计算操作,执行消耗大大减少。

  图4示出了根据本说明书一实施例提供的一种数据处理方法的流程图,应用于上述图3所示的云客户端中,包括步骤402至步骤404。

  步骤402:生成控制流信息,将所述控制流信息发送给云游戏服务系统的逻辑计算模块,所述控制流信息中包括触控输入信息,所述触控输入信息用于标识用户在游戏画面中执行的操作。

  步骤404:接收云游戏服务系统的画面渲染模块发送的数据流信息,对所述数据流信息进行解析播放。

  实际应用中,若用户通过云客户端执行了操作,则云客户端会生成控制流信息,发送给云游戏服务系统的逻辑计算模块,并接收云游戏服务系统的画面渲染模块发送的数据流信息,也即先执行步骤402,然后执行步骤404;若用户没有通过云客户端执行操作,只是需要同步其他用户通过其他云客户端执行的操作,则该云客户端只需要接收云游戏服务系统的画面渲染模块发送的数据流信息,不需要生成控制流信息,也即可以不执行步骤402,直接执行步骤404。

  本说明书中云客户端包括控制流信息生成模块和数据流信息接收模块,控制流信息生成模块生成控制流信息后,直接将所述控制流信息发送给云游戏服务系统的逻辑计算模块,使得逻辑计算模块可以生成渲染指令,控制画面渲染模块生成数据流信息,数据流信息接收模块接收云游戏服务系统的画面渲染模块发送的数据流信息即可,用户在云客户端执行的操作不需要在游戏客户端和云游戏服务系统都模拟一遍,减少了一半的逻辑模拟和计算操作,执行消耗大大减少。

  下述结合附图5,以本说明书提供的数据处理方法在云游戏中的应用为例,对所述数据处理方法进行进一步说明。其中,图5示出了本说明书一实施例提供的一种应用于云游戏的数据处理方法的处理流程图,具体包括以下步骤:

  步骤502:云客户端生成控制流信息,并将所述控制流信息发送给云游戏服务系统的逻辑计算模块,所述控制流信息中包括触控输入信息。

  具体的,所述触控输入信息用于标识用户在游戏画面中执行的操作。云客户端是用户玩游戏时操作的客户端,云客户端安装在用户持有的终端设备上,用户可以通过云客户端对所玩游戏执行相应操作,且云客户端只具有接收操作输入和展示操作后的游戏画面的功能,因而用户持有的终端设备不需要任何高端处理器和显卡,只需要基本的视频解压能力就可以了。

  另外,若用户在云客户端执行的操作是登录操作或场景切换操作等需要切换游戏画面的操作,则云客户端在生成控制流信息时,还可以在所述控制流信息中携带游戏画面标识,所述游戏画面标识用于标识用户所处的游戏画面。

  控制流信息是云客户端在接收到用户输入的操作后生成的,用户在玩游戏时,终端设备上会显示用户当前所处的游戏画面,用户要在当前所处的游戏画面中执行相应的操作。由于用户通过云客户端第一次进入所述当前所处的游戏画面时,云游戏服务系统就会从存储的众多表现数据中调出所述游戏画面的表现数据,因而若用户在云客户端执行的操作不需要切换游戏画面,则不需要在控制流信息中携带游戏画面标识,若用户在云客户端执行的操作需要切换到新游戏画面,则云客户端在生成控制流信息时,会在控制流信息中携带游戏画面标识,使云游戏服务系统可以根据所述游戏画面标识,调取对应的游戏画面的表现数据,从而执行后续操作。

  再者,云游戏服务系统包括逻辑计算模块和画面渲染模块,逻辑计算模块主要用于逻辑模拟和计算,其可以安装在CPU强劲的终端上,画面渲染模块主要用于渲染游戏画面,生成数据流信息,其可以安装在GPU强劲的终端上。

  实际应用中,用户通过云客户端对游戏执行操作后,云客户端会检测到用户执行的操作,将所述操作对应的信息确定为触控输入信息,若所述操作不需要切换游戏画面,则直接将所述触控输入信息编码生成所述控制流信息;若所述操作需要切换游戏画面,则获取对应的游戏画面标识,然后将所述游戏画面标识和所述触控输入信息编码生成所述控制流信息。之后,云客户端可以通过网络将所述控制流信息发送给云游戏服务系统的逻辑计算模块。

  步骤504:云游戏服务系统的逻辑计算模块接收并解析云客户端发送的控制流信息。

  具体的,在云客户端生成控制流信息,并将所述控制流信息发送给云游戏服务系统的逻辑计算模块的基础上,进一步的,云游戏服务系统的逻辑计算模块将接收并解析云客户端发送的控制流信息。

  实际应用中,若云客户端是通过编码生成所述控制流信息的,则云游戏服务系统的逻辑计算模块对所述控制流信息进行解码,获取其中的携带的信息。

  步骤506:云游戏服务系统的逻辑计算模块根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令。

  具体的,在云游戏服务系统的逻辑计算模块接收并解析云客户端发送的控制流信息的基础上,进一步的,云游戏服务系统的逻辑计算模块将根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令。

  在本实施例的一个或多个实施方式中,云游戏服务系统的逻辑计算模块根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令,具体实现过程可以为:

  确定用户执行操作所处的游戏画面的表现数据;

  基于所述表现数据,根据所述触控输入信息标识的用户在游戏画面中执行的操作进行逻辑模拟和计算,确定逻辑模拟和计算后游戏画面中的新表现数据;

  根据所述新表现数据生成所述渲染指令。

  具体的,表现数据可以包括当前游戏画面中的背景画面、静态物品、动态物品、可操作对象、在线人物角色等数据,本说明书不对表现数据具体包括的数据内容进行限定,只要是显示游戏画面所需的数据均为游戏画面的表现数据。另外,逻辑模拟和计算后游戏画面中的新表现数据也可以包括执行操作后游戏画面中的背景画面、操作效果、静态物品、动态物品、可操作对象、在线人物角色等数据。

  实际应用中,若所述控制流信息中没有携带游戏画面标识,则说明云游戏服务系统中已经调出了该游戏画面对应的表现数据,后续可以对所述表现数据直接进行操作;若所述控制流信息中携带游戏画面标识,则可以根据所述游戏画面标识,调取对应的表现数据。

  云游戏服务系统可以按照对应关系预先存储游戏画面的表现数据,如将游戏画面标识与游戏画面的表现数据对应存储,之后,当逻辑计算模块获取到游戏画面标识后,可以根据游戏画面标识与游戏画面的表现数据的对应关系,调取对应的表现数据。

  具体实施过程中,确定用户执行操作所处的游戏画面的表现数据之后,就可以在该游戏画面的表现数据中,对执行操作的对象进行模拟执行,并计算模拟执行后游戏画面的表现数据。

  例如,控制流信息中携带了游戏画面标识A,根据游戏画面标识A确定对应的游戏画面的表现数据为:山水背景、角色X(云客户端对应的人物角色,坐标(5,15))、角色Y(坐标(3,7))、角色Z(坐标(35,50))。假设触控输入信息标识的用户在该游戏画面中执行的操作为向前走一步,且假设预先设定的步长为5,则在该游戏画面中模拟角色X向前走一步,角色X的坐标变为(10,20),此时确定出的逻辑模拟和计算后游戏画面中的新表现数据包括:山水背景、角色X(坐标(10,20))、角色Y(坐标(3,7))、角色Z(坐标(35,50))。

  进一步的,还可以只针对有效操作进行逻辑模拟和计算,并生成渲染指令因而在根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令之前,还可以:

  判断所述触控输入信息标识的用户在游戏画面中执行的操作是否有效;

  若是,则执行所述根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令的步骤;

  若否,则不进行逻辑模拟和计算,不执行后续操作。

  实际应用中,用户在游戏画面中执行的操作不一定是有效操作,因而本说明书中先判断触控输入信息标识的用户在游戏画面中执行的操作是否有效,若是,逻辑计算模块再进行逻辑模拟和计算;若否,则逻辑计算模块不进行逻辑模拟和计算,避免了逻辑计算模块对无效操作进行逻辑模拟和计算,进一步降低了云游戏服务系统的执行功耗。

  步骤508:云游戏服务系统的逻辑计算模块将所述渲染指令发送给云游戏服务系统的画面渲染模块。

  具体的,在云游戏服务系统的逻辑计算模块根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令的基础上,进一步的,云游戏服务系统的逻辑计算模块将所述渲染指令发送给云游戏服务系统的画面渲染模块。

  在本实施例的一个或多个实施方式中,云游戏服务系统的逻辑计算模块将所述渲染指令发送给云游戏服务系统的画面渲染模块,包括:

  向所述画面渲染模块发送通知消息,所述通知消息中携带所述渲染指令;或者,

  向所述画面渲染模块发送调用请求,所述调用请求中携带所述渲染指令。

  实际应用中,由于逻辑计算模块和画面渲染模块是云游戏服务系统中的两个模块,因而逻辑计算模块在给画面渲染模块发送渲染指令时,可以通过通知消息或调用请求来实现,不需要通过网络。

  步骤510:云游戏服务系统的画面渲染模块根据所述渲染指令生成数据流信息。

  具体的,在云游戏服务系统的逻辑计算模块将所述渲染指令发送给云游戏服务系统的画面渲染模块的基础上,进一步的,云游戏服务系统的画面渲染模块将根据所述渲染指令生成数据流信息。

  实际应用中,数据流信息可以是音/视频流,画面渲染模块可以将渲染出的新游戏画面编码成音/视频流。

  在本实施例的一个或多个实施方式中,云游戏服务系统的画面渲染模块根据所述渲染指令生成数据流信息,包括:

  对所述渲染指令进行解析;

  根据所述渲染指令中的所述新表现数据,渲染出用户在所述游戏画面中执行操作后的新游戏画面;

  根据所述新游戏画面,生成所述数据流信息。

  实际应用中,画面渲染模块接收到渲染指令后,对渲染指令进行解析,获取渲染指令中的新表现数据(逻辑模拟和计算后游戏画面中的表现数据),渲染模块不需要再进行逻辑模拟和计算,直接根据获取到的表现数据进行画面渲染,渲染出用户在所述游戏画面中执行操作后的新游戏画面,然后根据该新游戏画面生成视频流即可,操作简单,大大节省了执行消耗。

  步骤512:云游戏服务系统的画面渲染模块将所述数据流信息发送给云客户端。

  具体的,在云游戏服务系统的画面渲染模块根据所述渲染指令生成数据流信息的基础上,进一步的,云游戏服务系统的画面渲染模块将所述数据流信息发送给云客户端。

  实际应用中,云游戏服务系统的画面渲染模块可以通过网络将所述数据流信息发送给云客户端。

  在本实施例的一个或多个实施方式中,将生成的数据流信息发送给对应的云客户端,具体实现过程如下所述:

  确定所述用户执行操作所处的游戏画面中的在线账户对应的云客户端;

  将所述数据流信息发送给所述云客户端。

  实际应用中,用户登录游戏,进入游戏场景后,云游戏服务系统即可确定该游戏场景(即游戏画面)中的所有在线账户。另外,用户登录游戏就是云客户端和云游戏服务系统建立TCP长连接的过程,云客户端和云游戏服务系统建立TCP长连接后,用户即成功登录游戏,因而处于同一游戏画面的在线账户(即登录游戏的用户)对应的云客户端都与云游戏服务系统建立了TCP长连接,此情况下,云游戏服务系统只需要通过所述TCP长连接将所述数据流信息发送给对应的云客户端即可。TCP长连接技术可以参考现有技术,本说明书在此不对TCP长连接技术进行详细阐述。

  步骤514:云客户端接收云游戏服务系统的画面渲染模块发送的数据流信息,对所述数据流信息进行解析播放。

  具体的,在云游戏服务系统的画面渲染模块将所述数据流信息发送给云客户端的基础上,进一步的,云客户端将接收云游戏服务系统的画面渲染模块发送的数据流信息,对所述数据流信息进行解析播放。

  实际应用过程中,此步骤下的云客户端包括前述云客户端(即用户执行操作的云客户端),以及与前述云客户端处于同一游戏画面的其他在线账户对应的云客户端(即没有执行操作,但需要同步其他用户执行的操作的云客户端)。保证了游戏画面中所有的在线账户对应的云客户端可以同步显示其中某一用户执行操作后的游戏画面,从而保障了用户玩游戏的流畅体验。

  接下来,结合具体的操作,对上述步骤602-步骤614描述的操作过程进行举例说明:

  云客户端接收到用户的移动操作指令后,生成控制流信息,通过网络把该控制流信息发送给云游戏服务系统的逻辑计算模块,该逻辑计算模块接收到操作指令后,首先会判断操作输入的有效性,接着执行玩家的移动指令,逻辑模拟开始进入移动状态,每一个处理时间段按照角色的方向把角色往前移动一段距离,角色位置的变化最终需要在游戏画面上表现出来,逻辑计算模块根据计算出来的新的角色位置(表现数据)生成渲染指令,并通过通知消息或者调用请求,传输给云游戏服务系统的画面渲染模块,画面渲染模块接收到新的角色位置(渲染指令)就在游戏画面中把角色移动到新位置,并把画面渲染出来,渲染出来的画面被编码成视频流通过网络发送给云客户端播放。

  云客户端接收到用户的战斗操作指令后,生成控制流信息,并通过网络将所述控制流信息发送给云游戏服务系统的逻辑计算模块,该逻辑计算模块接收到控制流信息后,判断出该战斗操作指令有效,然后执行战斗代码,对战斗进行逻辑模拟和计算,战斗逻辑模拟计算完后,会生成战斗的结果和表现的数据,需要在画面中显示的战斗特效、掉血信息等表现数据会被编码成渲染指令发送云游戏服务系统的画面渲染模块,画面渲染模块把新的战斗画面渲染出来,编码成数据流信息通过网络发送给云客户端播放。

  本说明书提供的云游戏服务系统包括逻辑计算模块和画面渲染模块,逻辑计算模块接收云客户端发送的控制流信息,并解析所述控制流信息,然后根据解析得到的触控输入信息进行逻辑模拟和计算,生成渲染指令,并将所述渲染指令发送给所述画面渲染模块,所述画面渲染模块只需要根据所述渲染指令生成数据流信息,并将所述数据流信息发送给云客户端即可。按照功能重新设计了云游戏服务系统的架构,云游戏服务系统的两个模块分别具有不同的功能,使得云游戏服务系统既可以进行模拟和逻辑计算,又可以进行画面渲染,将游戏客户端中的渲染功能融入了云游戏服务系统,用户执行的操作不需要在游戏客户端和云游戏服务系统都模拟一遍,减少了一半的逻辑模拟和计算操作,执行消耗大大减少,降低了游戏整体框架的设计和实现难度,也相应缩短了项目的开发周期。

  图6示出了根据本说明书一实施例提供的一种服务系统的结构示意图,所述服务系统包括云游戏服务系统和云客户端,所述云游戏服务系统包括逻辑计算模块102和画面渲染模块104,所述云客户端包括控制流信息生成模块302和数据流信息接收模块304;

  所述逻辑计算模块102,用于接收云客户端发送的控制流信息,所述控制流信息中包括触控输入信息,解析所述控制流信息,根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令,将所述渲染指令发送给所述画面渲染模块,其中,所述触控输入信息用于标识用户在游戏画面中执行的操作;

  所述画面渲染模块104,用于根据所述渲染指令生成数据流信息,并将所述数据流信息发送给所述云客户端;

  所述控制流信息生成模块302,用于生成控制流信息,并将所述控制流信息发送给所述逻辑计算模块102;

  所述数据流信息接收模块304,用于接收所述画面渲染模块发送的数据流信息,对所述数据流信息进行解析播放。

  本说明书提供的云游戏服务系统包括逻辑计算模块和画面渲染模块,逻辑计算模块接收云客户端发送的控制流信息,并解析所述控制流信息,然后根据解析得到的触控输入信息进行逻辑模拟和计算,生成渲染指令,并将所述渲染指令发送给所述画面渲染模块,所述画面渲染模块只需要根据所述渲染指令生成数据流信息,并将所述数据流信息发送给云客户端即可。按照功能重新设计了云游戏服务系统的架构,云游戏服务系统的两个模块分别具有不同的功能,使得云游戏服务系统既可以进行模拟和逻辑计算,又可以进行画面渲染,将游戏客户端中的渲染功能融入了云游戏服务系统,用户执行的操作不需要在游戏客户端和云游戏服务系统都模拟一遍,减少了一半的逻辑模拟和计算操作,执行消耗大大减少,降低了游戏整体框架的设计和实现难度,也相应缩短了项目的开发周期。

  上述为本实施例的一种服务系统的示意性方案。需要说明的是,该服务系统的技术方案与上述的应用于云游戏的数据处理方法的技术方案属于同一构思,服务系统的技术方案未详细描述的细节内容,均可以参见上述应用于云游戏的数据处理方法的技术方案的描述。

  图7示出了根据本说明书一实施例提供的第一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。

  计算设备700还包括接入设备770,接入设备770使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。

  在本说明书的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。

  计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备700还可以是移动式或静止式的服务器。

  其中,处理器720用于执行如下计算机可执行指令:

  接收云客户端发送的控制流信息,所述控制流信息中包括触控输入信息,解析所述控制流信息,根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令,将所述渲染指令发送给所述画面渲染模块,其中,所述触控输入信息用于标识用户在所述游戏画面中执行的操作。

  图8示出了根据本说明书一实施例提供的第二种计算设备800的结构框图。该计算设备800的部件包括但不限于存储器810和处理器820。处理器820与存储器810通过总线830相连接,数据库850用于保存数据。

  计算设备800还包括接入设备870,接入设备870使得计算设备800能够经由一个或多个网络860通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备840可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。

  在本说明书的一个实施例中,计算设备800的上述部件以及图8中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图8所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。

  计算设备800可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备800还可以是移动式或静止式的服务器。

  其中,处理器820用于执行如下计算机可执行指令:

  根据渲染指令生成数据流信息,并将所述数据流信息发送给云客户端。

  图9示出了根据本说明书一实施例提供的第三种计算设备900的结构框图。该计算设备900的部件包括但不限于存储器910和处理器920。处理器920与存储器910通过总线930相连接,数据库950用于保存数据。

  计算设备900还包括接入设备940,接入设备940使得计算设备900能够经由一个或多个网络960通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备940可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。

  在本说明书的一个实施例中,计算设备900的上述部件以及图9中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图9所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。

  计算设备900可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备900还可以是移动式或静止式的服务器。

  其中,处理器920用于执行如下计算机可执行指令:

  生成控制流信息,将所述控制流信息发送给云游戏服务系统的逻辑计算模块,并接收云游戏服务系统的画面渲染模块发送的数据流信息,对所述数据流信息进行解析播放,所述控制流信息中包括触控输入信息,所述触控输入信息用于标识用户在游戏画面中执行的操作;或者,

  接收云游戏服务系统的画面渲染模块发送的数据流信息,并对所述数据流信息进行解析播放。

  上述为本实施例的一种计算设备的示意性方案。需要说明的是,第一种、第二种和第三种计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。

  本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:

  接收云客户端发送的控制流信息,所述控制流信息中包括触控输入信息,解析所述控制流信息,根据所述触控输入信息进行逻辑模拟和计算,并生成渲染指令,将所述渲染指令发送给画面渲染模块,其中,所述触控输入信息用于标识用户在游戏画面中执行的操作。

  本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:

  根据所述渲染指令生成数据流信息,并将所述数据流信息发送给云客户端。

  本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:

  生成控制流信息,将所述控制流信息发送给云游戏服务系统的逻辑计算模块,并接收云游戏服务系统的画面渲染模块发送的数据流信息,对所述数据流信息进行解析播放,所述控制流信息中包括触控输入信息,所述触控输入信息用于标识用户在游戏画面中执行的操作;或者,

  接收云游戏服务系统的画面渲染模块发送的数据流信息,并对所述数据流信息进行解析播放。

  上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的应用于云游戏的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述应用于云游戏的数据处理方法的技术方案的描述。

  上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

  所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

  需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。

  在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

  以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

《云游戏服务系统、云客户端及数据处理方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)