首页> 中国专利> 一种游戏数据访问方法、系统以及游戏网页服务器

一种游戏数据访问方法、系统以及游戏网页服务器

摘要

本发明实施例公开了一种游戏数据访问方法、系统及游戏网页服务器,其中,该方法可以包括:游戏网页服务器接收并响应浏览器发送的第一数据访问请求,该第一数据访问请求是用户针对浏览器运行的游戏应用输入的游戏数据访问操作触发产生的,该游戏网页服务器可以响应该第一数据请求调用PHP扩展文件中数据封包规则对应的接口、数据传输规则对应的接口以及数据解包规则对应的接口从游戏后台服务器获得待访问游戏数据并发送给浏览器可见,本发明实施例中可以采用PHP扩展文件获取游戏数据,从而提高游戏数据访问效率,改善用户对游戏应用的操作体验。

著录项

  • 公开/公告号CN104980511A

    专利类型发明专利

  • 公开/公告日2015-10-14

    原文格式PDF

  • 申请/专利权人 深圳市腾讯计算机系统有限公司;

    申请/专利号CN201510337489.6

  • 发明设计人 郑金星;

    申请日2015-06-17

  • 分类号

  • 代理机构广州三环专利代理有限公司;

  • 代理人郝传鑫

  • 地址 518057 广东省深圳市南山区高新区高新南一路飞亚达大厦5-10楼

  • 入库时间 2023-12-18 11:33:29

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-16

    授权

    授权

  • 2017-02-22

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20150617

    实质审查的生效

  • 2015-10-14

    公开

    公开

说明书

技术领域

本发明涉及互联网技术领域,尤其涉及一种游戏数据访问方法、系统以及游戏网页服务器。

背景技术

随着互联网技术的发展,数据访问的性能需求也越来越高,目前,谷歌公司提出一种protocol buffer,简称PB的数据传输协议,可以独立于平台,实现异构环境下的数据传输,为了采用该种数据传输协议,网页服务器需采用超文本预处理语言(Hypertext Preprocessor,PHP)的语义规范实现protocolbuffer协议要求的数据传输规则,来获取后台服务器中的数据。然而,通过PHP实现的protocol buffer协议的数据传输规则会大大降低数据访问性能。

发明内容

本发明实施例公开了一种游戏数据访问方法、系统以及游戏网页服务器,能够提高游戏数据访问性能。

本发明实施例第一方面公开了一种游戏数据访问方法,包括:

游戏网页服务器接收浏览器发送的第一数据访问请求,所述第一数据访问请求是用户针对浏览器运行的游戏应用输入的游戏数据访问操作触发产生的,所述第一数据访问请求包括所述游戏数据访问操作对应的待访问游戏数据的游戏数据标识;

所述游戏网页服务器响应所述第一数据访问请求,调用PHP扩展文件中数据封包规则对应的接口生成包括所述游戏数据标识的第二数据访问请求,并调用所述PHP扩展文件中数据传输规则对应的接口将所述第二数据访问请求发送给游戏后台服务器;

所述游戏网页服务器调用所述PHP扩展文件中所述数据传输规则对应的接口接收所述游戏后台服务器发送的包括所述待访问游戏数据的响应消息,并调用所述PHP扩展文件中数据解包规则对应的接口解析所述响应消息,获得所述待访问游戏数据并发送给所述浏览器,以使所述浏览器解析并显示所述待访问游戏数据。

本发明实施例第二方面公开了一种游戏网页服务器,包括:

通信单元,用于接收浏览器发送的第一数据访问请求,所述第一数据访问请求是用户针对浏览器运行的游戏应用输入的游戏数据访问操作触发产生的,所述第一数据访问请求包括述游戏数据访问操作对应的待访问游戏数据的游戏数据标识;

第一生成单元,用于响应所述第一数据访问请求,调用PHP扩展文件中数据封包规则对应的接口生成包括所述游戏数据标识的第二数据访问请求;

通信单元,用于调用所述PHP扩展文件中数据传输规则对应的接口将所述第二数据访问请求发送给游戏后台服务器;

所述通信单元,还用于调用所述PHP扩展文件中所述数据传输规则对应的接口接收所述游戏后台服务器发送的包括所述待访问游戏数据的响应消息;

解析单元,用于调用所述PHP扩展文件中数据解包规则对应的接口解析所述响应消息,获得所述待访问游戏数据并由所述通信单元发送给所述浏览器,以使所述浏览器解析并显示所述待访问游戏数据。

本发明实施例第三方面公开了一种游戏数据访问系统,该系统包括浏览器、游戏网页服务器以及游戏后台服务器,其中,

所述浏览器,用于根据用户针对浏览器运行的游戏应用输入的游戏数据访问操作生成第一数据访问请求,并将所述第一游戏访问请求发送给所述游戏网页服务器,所述第一数据访问请求包括所述游戏数据访问操作对应的待访问游戏数据的游戏数据标识。

所述游戏网页服务器,用于接收所述浏览器发送的第一数据访问请求,响应所述第一数据访问请求,调用PHP扩展文件中数据封包规则对应的接口生成包括所述游戏数据标识的第二数据访问请求,并调用所述PHP扩展文件中数据传输规则对应的接口将所述第二数据访问请求发送给所述游戏后台服务器;

所述游戏后台服务器,用于响应所述第二数据访问请求,向所述游戏网页服务器发送包括所述待访问游戏数据的响应消息;

所述游戏网页服务器,还用于调用所述PHP扩展文件中所述数据传输规则对应的接口接收所述游戏后台服务器发送的包括所述待访问游戏数据的响应消息,并调用所述PHP扩展文件中数据解包规则对应的接口解析所述响应消息,获得所述待访问游戏数据并发送给所述浏览器;

所述浏览器,还用于解析并显示所述游戏网页服务器返回的所述待访问游戏数据。

本发明实施例中,游戏网页服务器接收浏览器发送的第一数据访问请求之后,该第一数据访问请求是用户针对浏览器运行的游戏应用输入的游戏数据访问操作触发产生的,第一数据访问请求包括游戏数据访问操作对应的待访问游戏数据的游戏数据标识,游戏网页服务器可以响应第一数据访问请求,调用PHP扩展文件中数据封包规则对应的接口生成包括游戏数据标识的第二数据访问请求;以及调用PHP扩展文件中数据传输规则对应的接口将第二数据访问请求发送给游戏后台服务器;并且调用PHP扩展文件中数据传输规则对应的接口接收游戏后台服务器发送的包括待访问游戏数据的响应消息,并调用PHP扩展文件中数据解包规则对应的接口解析该响应消息,获得待访问游戏数据并发送给浏览器,以使浏览器解析并显示所述待访问游戏数据,其中,该PHP扩展文件是根据protocol buffer协议自动生成的。可见,本发明实施例中,游戏网页服务器调用PHP扩展文件中数据封包规则、数据解包规则以及数据传输规则对应的接口从游戏后台服务器获取游戏数据,并且调用PHP扩展文件中的接口在内存、CPU运行时间上具有较高的性能,从而可以提高游戏数据访问效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例公开的一种游戏数据访问方法的流程示意图;

图2是本发明实施例公开的另一种游戏数据访问方法的流程示意图;

图3是本发明实施例公开的一种游戏网页服务器的结构示意图;

图4是本发明实施例公开的另一种游戏网页服务器的结构示意图;

图5是本发明实施例公开的一种游戏数据访问系统的结构示意图;

图6是本发明实施例公开的又一种游戏数据访问方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种游戏数据访问方法、系统以及游戏网页服务器,能够提高游戏数据访问性能。以下进行具体阐述。

请参阅图1,图1是本发明实施例公开的一种游戏数据访问方法的流程示意图。如图1所示,该游戏数据访问方法可以包括以下步骤。

S101、游戏网页服务器接收浏览器发送的第一数据访问请求,第一数据访问请求是用户针对浏览器运行的游戏应用输入的游戏数据访问操作触发产生的,该第一数据访问请求包括游戏数据访问操作对应的待访问游戏数据的游戏数据标识;

本发明实施例中,用户可以通过浏览器输入待访问游戏数据的关键字,或者通过浏览器所显示的游戏应用中的选项,选择待访问游戏数据对应的选项;然后,浏览器响应用户输入的关键字或被选择的选项等游戏数据访问操作,生成包括该待访问游戏数据对应的游戏数据标识的第一数据访问请求,其中,游戏数据标识可以为浏览器根据待访问游戏数据生成的URL或用于唯一标识该待访问游戏数据的其他标识等,本发明实施例不做限定。

S102、游戏网页服务器响应第一数据访问请求,调用PHP扩展文件中数据封包规则对应的接口生成包括游戏数据标识的第二数据访问请求,并调用PHP扩展文件中数据传输规则对应的接口将第二数据访问请求发送给游戏后台服务器;

本发明实施例中,PHP扩展是用C/C++语言调用PHP Zend框架类库提供的接口函数,开发符合Zend框架的代码以实现某一类或某一方面的接口,例如本发明实施例中,PHP扩展文件是采用PHP扩展的语义规范实现googleprotocol buffer协议的代码,并将该代码编译获得的。可选的,游戏网页服务器在响应第一数据访问请求,调用PHP扩展文件中数据封包规则对应的接口生成包括游戏数据标识的第二数据访问请求之前,还可以自动生成PHP扩展文件,具体包括如下步骤:

11)游戏网页服务器依据protocol buffer协议定义的proto文件,生成第一目标代码,第一目标代码包括访问函数,访问函数用于访问proto文件中的数据结构;

12)游戏网页服务器根据第一目标代码以及PHP扩展的语义规范,生成PHP扩展的第二目标代码,第二目标代码包括传输函数,传输函数用于传输proto文件中的数据结构;

13)游戏网页服务器编译第一目标代码和第二目标代码,生成符合PHP扩展的语义规范的PHP扩展文件;

其中,第一目标代码可以为C/C++语言类型的代码,可以包括用于访问proto文件中的数据结构的访问函数,该访问函数可以具体为将游戏数据串行化、序列化的转换函数或者数据封包规则、数据解包规则的相关函数,第二目标代码可以包括用于传输proto文件中的数据结构的传输函数等,因此,PHP扩展文件包括符合protocol buffer协议的数据封包规则对应的接口、数据解包规则对应的接口以及数据传输规则对应的接口,另外,PHP扩展文件可以为后缀名为.so的文件。

本发明实施例中,protocol buffer协议是谷歌公司提出的,简称PB的数据传输协议,可以独立于平台,实现异构环境下的数据传输,protocol buffer协议通过定义proto文件,将数据结构化,实现跨语言跨平台移植性强的目的。该proto文件包括符合protocol buffer协议的数据类、数据结构以及用于访问该数据结构的访问函数。

本发明实施例中,游戏网页服务器在执行步骤11)之前,还可以执行如下步骤:

游戏网页服务器接收游戏后台服务器发送的proto文件,该proto文件为游戏后台服务器根据protocol buffer协议要求的数据结构或数据类定义的数据格式文件。

相应地,游戏网页服务器响应第一数据访问请求,调用PHP扩展文件中数据封包规则对应的接口将第一数据访问请求中携带的游戏数据标识转换为proto文件中规定的数据类或数据结构,并根据后台服务器的IP地址等信息生成第二数据访问请求,同时调用数据传输规则对应的接口,例如传输函数等将该第二数据访问请求发送给后台服务器。

S103、游戏网页服务器调用PHP扩展文件中数据传输规则对应的接口接收游戏后台服务器发送的包括待访问游戏数据的响应消息,并调用PHP扩展文件中数据解包规则对应的接口解析响应消息,获得待访问游戏数据并发送给浏览器;

其中,PHP扩展文件是根据protocol buffer协议自动生成的。

本发明实施例中,包括待访问游戏数据的响应消息是由游戏后台服务器生成包括待访问游戏数据的目标proto文件之后,由游戏后台服务器根据protocol buffer协议的数据封包规则生成包括目标proto文件的响应消息,以及,由游戏后台服务器根据protocol buffer协议的数据传输规则将响应消息发送给游戏网页服务器的。因此,游戏网页服务器接收到游戏后台服务器发送的响应消息时,也采用PHP扩展文件中的数据解包规则(即proto buffer协议的数据解包规则)对该响应消息进行解析获得待访问游戏数据,即将响应消息中包含的结构化待访问游戏数据转换为浏览器可识别类型的待访问游戏数据。

在图1所描述的游戏数据访问方法中,游戏网页服务器接收浏览器发送的第一数据访问请求之后,可以响应第一数据访问请求,调用PHP扩展文件中数据封包规则对应的接口生成包括游戏数据标识的第二数据访问请求;以及调用PHP扩展文件中数据传输规则对应的接口将第二数据访问请求发送给游戏后台服务器;并且调用PHP扩展文件中数据传输规则对应的接口接收游戏后台服务器发送的包括待访问游戏数据的响应消息,并调用PHP扩展文件中数据解包规则对应的接口解析该响应消息,获得待访问游戏数据并发送给浏览器,以使浏览器解析并显示该待访问游戏数据,本发明实施例可以在游戏数据访问过程中由游戏网页服务器调用PHP扩展文件中数据封包规则、数据解包规则以及数据传输规则对应的接口从游戏后台服务器获取游戏数据,由于调用PHP扩展文件中的接口进行游戏数据访问在内存、CPU运行时间上具有较高的性能,从而满足了游戏应用对游戏数据访问效率的要求,改善了用户使用网页操作游戏的体验。

请参阅图2,图2是本发明实施例公开的另一种游戏数据访问方法的流程示意图,其中,图2所示的游戏数据访问方法是在图1所示的游戏数据访问方法基础上进行优化获得的,图2所示的游戏数据访问方法不仅可以通过调用PHP扩展文件中的接口提高游戏数据访问效率,而且还可以自动生成PHP扩展文件,进一步改善游戏数据访问效率,具体地,该游戏数据访问方法可以包括以下步骤。

S201、游戏网页服务器接收游戏后台服务器发送的proto文件,该proto文件为游戏后台服务器根据protocol buffer协议要求的数据结构定义的数据格式文件;

S202、游戏网页服务器依据protocol buffer协议定义的proto文件,生成第一目标代码,该第一目标代码包括访问函数,该访问函数用于访问proto文件中的数据结构;

本发明实施例中,第一目标代码包括的访问函数可以将proto文件中数据结构化或串行化,便于游戏数据的网页显示或传输。

S203、游戏网页服务器根据第一目标代码以及PHP扩展的语义规范,生成PHP扩展的第二目标代码,该第二目标代码包括传输函数,该传输函数用于传输proto文件中的数据结构;

本发明实施例中,PHP扩展是用C/C++语言调用PHP Zend框架类库提供的接口函数,开发符合Zend框架的代码以实现某一类或某一方面的接口。

S204、游戏网页服务器编译第一目标代码和第二目标代码,生成符合PHP扩展的语义规范的PHP扩展文件;

其中,第一目标代码包括用于访问proto文件中的数据结构的访问函数,该访问函数可以具体为将数据串行化、序列化的转换函数或者数据封包规则、数据解包规则的相关函数,第二目标代码可以包括用于传输proto文件中的数据结构的传输函数等,因此,PHP扩展文件包括符合protocol buffer协议的数据封包规则对应的接口、数据解包规则对应的接口以及数据传输规则对应的接口。

S205、游戏网页服务器接收浏览器发送的第一数据访问请求,第一数据访问请求是用户针对浏览器运行的游戏应用输入的游戏数据访问操作触发产生的,第一数据访问请求包括游戏数据访问操作对应的待访问游戏数据的游戏数据标识;

S206、游戏网页服务器响应第一数据访问请求,运行超文本预处理语言PHP的数据访问程序调用PHP扩展文件中数据封包规则对应的接口生成包括游戏数据标识的第二数据访问请求;

本发明实施例中,游戏网页服务器可以预先存储采用PHP开发的游戏数据访问程序,通过该游戏数据访问程序中的相关函数可以直接或间接调用PHP扩展中的相关接口,实现游戏数据访问。

S207、游戏网页服务器运行PHP的游戏数据访问程序调用PHP扩展文件中数据传输规则对应的接口将第二数据访问请求发送给游戏后台服务器;

S208、游戏网页服务器运行PHP的游戏数据访问程序调用PHP扩展文件中数据传输规则对应的接口接收游戏后台服务器发送的包括待访问游戏数据的响应消息;

S209、游戏网页服务器运行PHP的游戏数据访问程序调用PHP扩展文件中数据解包规则对应的接口解析该响应消息,获得待访问游戏数据并发送给浏览器。

本发明实施例中,包括待访问游戏数据的响应消息是由游戏后台服务器生成包括待访问游戏数据的目标proto文件之后,由游戏后台服务器根据protocol buffer协议的数据封包规则生成包括目标proto文件的响应消息,以及,由游戏后台服务器根据protocol buffer协议的数据传输规则将响应消息发送给游戏网页服务器的。因此,游戏网页服务器接收到游戏后台服务器发送的响应消息时,也采用PHP扩展文件中的数据解包规则(即proto buffer协议的数据解包规则)对该响应消息进行解析获得待访问游戏数据,即将响应消息中包含的结构化待访问游戏数据转换为浏览器可识别类型的待访问游戏数据。

在图2所描述的游戏数据访问方法中,游戏网页服务器可以接收游戏后台服务器发送的根据protocol buffer协议要求的数据结构定义的proto文件,并根据该proto文件生成第一目标代码,根据该第一目标代码以及PHP扩展的语义规范生成包括传输函数的PHP扩展的第二目标代码,将第一目标代码和第二目标代码编译,获得PHP扩展文件;当接收到浏览器发送的第一数据访问请求时,可以通过PHP的数据访问程序调用该PHP扩展文件中数据封包规则对应的接口生成包括待访问游戏数据的游戏数据标识的第二数据访问请求,并调用该PHP扩展文件中数据传输规则对应的接口将该第二数据访问请求发送给游戏后台服务器,并在接收到游戏后台服务器发送的响应消息时,通过PHP的数据访问程序调用PHP扩展文件中的数据解包规则解析该响应消息,获得待访问游戏数据并发送给浏览器。可见,本发明实施例中,游戏网页服务器可以将游戏运行过程中产生的游戏数据依据protocol buffer协议定义的proto文件发送给游戏后台服务器存储,并通过自动生成的PHP扩展文件中的接口以实现该游戏数据的访问,从而,提高了游戏数据访问的效率。

请参阅图3,图3是本发明实施例公开的一种游戏网页服务器的结构示意图,如图3所示,该游戏网页服务器包括通信单元301、第一生成单元302以及解析单元303。

通信单元301,用于接收浏览器发送的第一数据访问请求,第一数据访问请求是用户针对浏览器运行的游戏应用输入的游戏数据访问操作触发产生的,第一数据访问请求包括游戏数据访问操作对应的待访问游戏数据的游戏数据标识;

第一生成单元302,用于响应第一数据访问请求,调用PHP扩展文件中数据封包规则对应的接口生成包括游戏数据标识的第二数据访问请求;

通信单元301,还用于调用PHP扩展文件中数据传输规则对应的接口将第二数据访问请求发送给游戏后台服务器;

通信单元301,还用于调用PHP扩展文件中数据传输规则对应的接口接收游戏后台服务器发送的包括待访问游戏数据的响应消息;

解析单元303,用于调用PHP扩展文件中数据解包规则对应的接口解析响应消息,获得待访问游戏数据并由通信单元发送给浏览器,以使浏览器解析并显示该待访问游戏数据。

本发明实施例中,用户可以通过浏览器输入待访问游戏数据的关键字,或者通过浏览器所呈现的游戏网页中的选项,选择待访问游戏数据对应的选项;然后,浏览器响应用户输入的关键字或被选择的选项等游戏数据访问操作,生成包括该待访问游戏数据对应的游戏数据标识的第一数据访问请求,其中,游戏数据标识可以为浏览器根据待访问游戏数据生成的URL或用于唯一标识该待访问游戏数据的其他标识等,本发明实施例不做限定。

本发明实施例中,PHP扩展是用C/C++语言调用PHP Zend框架类库提供的接口函数,开发符合Zend框架的代码以实现某一类或某一方面的接口,例如,PHP扩展文件为采用PHP扩展的语义规范实现google protocol buffer协议的代码,并将该代码编译获得的。可选的,游戏网页服务器在响应第一数据访问请求,调用PHP扩展文件中数据封包规则对应的接口生成包括游戏数据标识的第二数据访问请求之前,还可以自动生成PHP扩展文件,另外,PHP扩展文件是根据protocol buffer协议自动生成的。其中,protocol buffer协议是谷歌公司提出的,简称PB的数据传输协议,可以独立于平台,实现异构环境下的数据传输,protocol buffer协议通过定义proto文件,将数据结构化,实现跨语言跨平台移植性强的目的。

相应地,第一生成单元302响应第一数据访问请求,调用PHP扩展文件中数据封包规则对应的接口将第一数据访问请求中携带的游戏数据标识转换为proto文件中规定的数据类或数据结构,并由通信单元301根据游戏后台服务器的IP地址等信息生成第二数据访问请求,同时调用数据传输规则对应的接口,例如传输函数等将该第二数据访问请求发送给游戏后台服务器。

本发明实施例中,通信单元301接收的包括待访问游戏数据的响应消息是由游戏后台服务器生成包括待访问游戏数据的目标proto文件之后,由后台服务器根据protocol buffer协议的数据封包规则生成包括目标proto文件的响应消息,以及,由游戏后台服务器根据protocol buffer协议的数据传输规则将响应消息发送给游戏网页服务器的。

请一并参阅图4,图4是本发明实施例公开的又一种游戏网页服务器的结构示意图,图4所示的游戏网页服务器是在图3所示的游戏网页服务器的基础上进行优化获得的,如图4所示,该游戏网页服务器除包括图3所示的单元外,还可以包括:第二生成单元304、第三生成单元305以及第四生成单元306。

第二生成单元304,用于依据protocol buffer协议定义的proto文件,生成第一目标代码,该第一目标代码包括访问函数,该访问函数用于访问proto文件中的数据结构。

第三生成单元305,用于根据第一目标代码以及PHP扩展的语义规范,生成PHP扩展的第二目标代码,该第二目标代码包括传输函数,该传输函数用于传输所述proto文件中的所述数据结构。

第四生成单元306,用于编译第一目标代码和第二目标代码,生成符合PHP扩展的语义规范的PHP扩展文件;其中,PHP扩展文件包括符合protocol buffer协议的数据封包规则对应的接口、数据解包规则对应的接口以及数据传输规则对应的接口。

本发明实施例中,第一目标代码包括用于访问proto文件中的数据结构的访问函数,该访问函数可以具体为将数据串行化、序列化的转换函数或者数据封包规则、数据解包规则的相关函数,第二目标代码可以包括用于传输proto文件中的数据结构的传输函数等,因此,PHP扩展文件包括符合protocol buffer协议的数据封包规则对应的接口、数据解包规则对应的接口以及数据传输规则对应的接口。

本发明实施例中,通信单元301还用于在第二生成单元305依据protocolbuffer协议定义的proto文件,生成第一目标代码之前,接收游戏后台服务器发送的proto文件,该proto文件为游戏后台服务器根据protocol buffer协议要求的数据结构定义的数据格式文件。

本发明实施例中,第一生成单元302具体用于响应第一数据访问请求,运行超文本预处理语言PHP的数据访问程序调用PHP扩展文件中数据封包规则对应的接口生成包括游戏数据标识的第二数据访问请求。通信单元301调用PHP扩展文件中数据传输规则对应的接口接收游戏后台服务器发送的包括待访问游戏数据的响应消息的方式具体为运行超文本预处理语言PHP的数据访问程序调用PHP扩展文件中数据传输规则对应的接口接收游戏后台服务器发送的包括待访问游戏数据的响应消息。其中,游戏网页服务器可以预先存储采用PHP开发的游戏数据访问程序,通过该游戏数据访问程序中的相关函数可以直接或间接调用PHP扩展中的相关接口,实现游戏数据访问。

在图3和图4所示的游戏网页服务器中,通信单元可以接收浏览器发送的第一数据访问请求之后,由第一生成单元响应第一数据访问请求,调用PHP扩展文件中数据封包规则对应的接口生成包括游戏数据标识的第二数据访问请求;并由通信单元调用PHP扩展文件中数据传输规则对应的接口将第二数据访问请求发送给游戏后台服务器,以及调用PHP扩展文件中数据传输规则对应的接口接收游戏后台服务器发送的包括待访问游戏数据的响应消息,由解析单元调用PHP扩展文件中数据解包规则对应的接口解析该响应消息,获得待访问游戏数据并发送给浏览器,其中,该PHP扩展文件是根据protocol buffer协议自动生成的。可见,图3和图4所示的游戏网页服务器调用PHP扩展文件中数据封包规则、数据解包规则以及数据传输规则对应的接口从游戏后台服务器获取游戏数据,并且调用PHP扩展文件中的接口进行的游戏数据访问在内存、CPU运行时间上具有较高的性能,可以满足游戏应用对数据访问效率的需求,从而改善用户操作游戏应用的体验。进一步的,图4所示的游戏网页服务器中,通信单元还可以接收游戏后台服务器发送的根据protocol buffer协议要求的数据结构定义的proto文件,并由第二生成单元根据该proto文件生成第一目标代码,由第三生成单元根据该第一目标代码以及PHP扩展的语义规范生成包括传输函数的PHP扩展的第二目标代码,以及第三生成单元将第一目标代码和第二目标代码编译,生成PHP扩展文件,可见,图4所示的游戏网页服务器可以自动生成包括相关接口的PHP扩展文件,避免手动编码导致的误码率高、技术推广难的问题,进一步的提高游戏数据访问效率。

请参阅图6,图6为本发明实施例提供的又一种数据访问方法的流程示意图,图6所示的数据访问方法可以包括以下步骤。

S401、游戏后台服务器向游戏网页服务器发送proto文件,该proto文件为游戏后台服务器根据protocol buffer协议要求的数据结构定义的数据格式文件;

本发明实施例中,protocol buffer协议是谷歌公司提出的,简称PB的数据传输协议,可以独立于平台,实现异构环境下的数据传输,protocol buffer协议通过定义proto文件,将数据结构化,实现跨语言跨平台移植性强的目的。该proto文件包括符合protocol buffer协议的数据类、数据结构以及用于访问该数据结构的访问函数。

S402、游戏网页服务器依据protocol buffer协议定义的proto文件,生成第一目标代码,第一目标代码包括访问函数,访问函数用于访问所述proto文件中的数据结构;

S403、游戏网页服务器根据第一目标代码以及PHP扩展的语义规范,生成PHP扩展的第二目标代码,第二目标代码包括传输函数,传输函数用于传输proto文件中的数据结构;

S404、游戏网页服务器编译第一目标代码和第二目标代码,生成符合PHP扩展的语义规范的PHP扩展文件;其中,PHP扩展文件包括符合protocol buffer协议的数据封包规则对应的接口、数据解包规则对应的接口以及数据传输规则对应的接口;

本发明实施例中,第一目标代码包括用于访问proto文件中的数据结构的访问函数,该访问函数可以具体为将数据串行化、序列化的转换函数或者数据封包规则、数据解包规则的相关函数,第二目标代码可以包括用于传输proto文件中的数据结构的传输函数等,因此,PHP扩展文件包括符合protocol buffer协议的数据封包规则对应的接口、数据解包规则对应的接口以及数据传输规则对应的接口。

本发明实施例中,PHP扩展是用C/C++语言调用PHP Zend框架类库提供的接口函数,开发符合Zend框架的代码以实现某一类或某一方面的接口,例如本发明实施例中,PHP扩展文件是采用PHP扩展的语义规范实现googleprotocol buffer协议的代码,并将该代码编译获得的。

S405、浏览器向游戏网页服务器发送第一数据访问请求,第一数据访问请求是用户针对浏览器运行的游戏应用输入的游戏数据访问操作触发产生的,第一数据访问请求包括游戏数据访问操作对应的待访问游戏数据的游戏数据标识。

本发明实施例中,用户可以通过浏览器输入待访问游戏数据的关键字,或者通过浏览器所呈现的游戏网页中的选项,选择待访问游戏数据对应的选项;然后,浏览器响应用户输入的关键字或被选择的选项等游戏数据访问操作,生成包括该待访问游戏数据对应的游戏数据标识的第一数据访问请求,其中,游戏数据标识可以为浏览器根据待访问游戏数据生成的URL或用于唯一标识该待访问游戏数据的其他标识等,本发明实施例不做限定。

S406、游戏网页服务器响应第一数据访问请求,调用PHP扩展文件中数据封包规则对应的接口生成包括游戏数据标识的第二数据访问请求;

本发明实施例中,游戏网页服务器响应第一数据访问请求,调用PHP扩展文件中数据封包规则对应的接口生成包括所述游戏数据标识的第二数据访问请求的方式具体为:游戏网页服务器响应第一数据访问请求,运行超文本预处理语言PHP的游戏数据访问程序调用PHP扩展文件中数据封包规则对应的接口生成包括游戏数据标识的第二数据访问请求。

S407、游戏网页服务器调用PHP扩展文件中数据传输规则对应的接口将第二数据访问请求发送给游戏后台服务器;

S408、游戏后台服务器响应第二数据访问请求,向游戏网页服务器发送包括待访问游戏数据的响应消息;

S409、游戏网页服务器调用PHP扩展文件中数据传输规则对应的接口接收游戏后台服务器发送的包括待访问游戏数据的响应消息

本发明实施例中,游戏网页服务器调用PHP扩展文件中数据传输规则对应的接口接收游戏后台服务器发送的包括待访问游戏数据的响应消息的方式具体为运行超文本预处理语言PHP的游戏数据访问程序调用PHP扩展文件中数据传输规则对应的接口接收游戏后台服务器发送的包括待访问游戏数据的响应消息。

S410、游戏网页服务器调用PHP扩展文件中数据解包规则对应的接口解析响应消息,获得待访问游戏数据;

S411、游戏网页服务器将该待访问游戏数据发送给浏览器;

S412、浏览器解析并显示该待访问游戏数据。

本发明实施例中,包括待访问游戏数据的响应消息是由游戏后台服务器生成包括待访问游戏数据的目标proto文件之后,由游戏后台服务器根据protocol buffer协议的数据封包规则生成包括目标proto文件的响应消息,以及,由游戏后台服务器根据protocol buffer协议的数据传输规则将响应消息发送给游戏网页服务器的。因此,游戏网页服务器接收到游戏后台服务器发送的响应消息时,采用PHP扩展文件中的数据解包规则(即proto buffer协议的数据解包规则)对该响应消息进行解析获得待访问游戏数据,即将响应消息中包含的结构化待访问游戏数据转换为浏览器可识别类型的待访问游戏数据。

在图6所示的游戏数据访问方法中,游戏后台服务器向游戏网页服务器发送根据protocol buffer协议要求的数据结构定义的proto文件,并根据该proto文件生成C/C++的第一目标代码,根据该第一目标代码以及PHP扩展的语义规范生成包括传输函数的PHP扩展的第二目标代码,将第一目标代码和第二目标代码编译,获得PHP扩展文件;当接收到浏览器发送的第一数据访问请求时,可以通过PHP的数据访问程序调用该PHP扩展文件中数据封包规则对应的接口生成包括待访问游戏数据的游戏数据标识的第二数据访问请求,并调用该PHP扩展文件中数据传输规则对应的接口将该第二数据访问请求发送给游戏后台服务器,并在接收到游戏后台服务器发送的响应消息时,通过PHP的数据访问程序调用PHP扩展文件中的数据解包规则解析该响应消息,获得待访问游戏数据并发送给浏览器。可见,本发明实施例游戏网页服务器可以将游戏运行过程中产生的游戏数据依据protocol buffer协议定义的proto文件发送给游戏后台服务器存储,并通过自动生成包括相关接口的PHP扩展文件,通过调用PHP扩展文件中的接口以实现该游戏数据的访问,从而,提高了游戏数据访问的效率。

请参阅图5,图5为本发明实施例公开的一种游戏数据访问系统的结构示意图,如图5所示,该游戏数据访问系统包括浏览器501、游戏网页服务器502以及游戏后台服务器503,其中,该浏览器501所在的终端可以为手机、平板电脑或笔记本等设备。

其中,浏览器501可以运行各游戏应用,例如图5所示,浏览器501运行英雄联盟网页版,用户可以通过游戏操作板、游戏手柄以及触控屏等操作设备对浏览器501运行的游戏应用进行操作,浏览器501还用于解析并显示游戏网页服务器502返回的待访问游戏数据,游戏网页服务器502用于将浏览器501的数据访问请求通过protocol buffer协议规则发送给游戏后台服务器503以获取数据访问请求消息请求的游戏数据,游戏后台服务器用于保存该web网页游戏的账号信息对应的游戏成绩或装备等游戏数据。具体地,以用户请求网页游戏的游戏成绩为例阐述图5所示的游戏数据访问系统的交互过程。

S501、浏览器501响应用户输入的游戏成绩请求操作,向游戏网页服务器502发送第一游戏成绩请求消息;

本发明实施例中,该第一游戏成绩请求消息包括游戏成绩标识,可选的,该游戏成绩请求消息除包括游戏成绩标识外,还可以包括该网页游戏登录或注册的账号信息,如QQ账号、微信账号等。

S502、游戏网页服务器502响应该第一游戏成绩请求消息,验证第一游戏成绩请求消息中携带帐号信息的权限,若验证通过,则执行步骤S503;若验证不通过,则向浏览器返回响应消息,触发浏览器501输出用于提示游戏成绩请求操作无权限的提示消息;

S503、游戏网页服务器502调用PHP扩展文件中数据封包规则对应的接口,生成针对游戏后台服务器503的第二游戏成绩请求消息并通过PHP扩展文件中数据传输规则对应的接口,将针对游戏后台服务器503的第二游戏成绩请求消息发送给游戏后台服务器503;

本发明实施例中,针对游戏后台服务器503的第二游戏成绩请求消息是以PHP扩展文件定义的数据类型和数据结构对浏览器发送的第一游戏成绩请求消息进行封包获得的。

S502、游戏后台服务器503接收游戏网页服务器502发送的第二游戏成绩请求消息,并根据第二游戏成绩请求消息中账号信息对应的游戏成绩标识生成第一响应消息发送给游戏网页服务器502;

其中,该第一响应消息中包含游戏成绩请求消息中账号信息对应的游戏成绩标识的游戏数据,该游戏数据即为该账号信息对应的游戏成绩。

S503、游戏网页服务器502通过PHP扩展文件中数据解包规则对应的接口接收游戏后台服务器503发送的第一响应消息;

S504、游戏网页服务器502调用PHP扩展文件中数据解包规则对应的接口解析该第一响应消息,获得该游戏成绩,并以PHP的语义规范将该游戏成绩封包为第二响应消息发送给浏览器501;

S505、浏览器501接收游戏网页服务器502发送的第二响应消息,以PHP的语义规范解析该第二响应消息,获得并显示该游戏成绩。

本发明实施例中,由于浏览器是根据PHP的语义规范开发运行的,因此,游戏网页服务器502以PHP的语义规范将该游戏成绩封包为第二响应消息是为了使浏览器501能够更加便捷地解析出游戏成绩,从而显示给用户。

本发明实施例中,游戏网页服务器在向游戏后台服务器请求游戏成绩时,首先调用PHP扩展文件中的数据封包规则对应的接口生成针对游戏后台服务器的第二游戏成绩请求消息,并根据PHP扩展文件中的数据传输规则将该第二游戏成绩请求消息发送给游戏后台服务器;游戏后台服务器可以响应该第二请求消息,生成包含游戏成绩的第一响应消息;游戏网页服务器可在接收到该第一响应消息时,调用PHP扩展文件中的数据解包规则对该第一响应消息进行解析,获得游戏成绩后,根据PHP的语义规范对该游戏成绩封包,生成第二响应消息发送给浏览器;浏览器可以接收并解析该第二响应消息,获得该游戏成绩后,显示给用户。可见,游戏网页服务器与游戏后台服务器交互时可以采用根据protocol buffer协议定义的PHP扩展文件,提高数据访问效率,满足用户操作游戏应用过程中的用户体验。

需要说明的是,“第一”、“第二”、“第三”、“第四”等仅用于彼此的区分,而非表示它们的重要程度及顺序等。本文中,“第一生成单元”、“第二生成单元”等用于区分不同的控制操作,不代表它们具有不同的类型;“第一目标代码”、“第二目标代码”等用于区分不同操作产生的代码,不代表它们具有不同的类型。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。

以上对本发明实施例公开的一种游戏数据访问方法、系统及游戏网页服务器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号