CN112182344B - 一种数据请求方法、装置、服务器及存储介质 - Google Patents
一种数据请求方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN112182344B CN112182344B CN202011044190.9A CN202011044190A CN112182344B CN 112182344 B CN112182344 B CN 112182344B CN 202011044190 A CN202011044190 A CN 202011044190A CN 112182344 B CN112182344 B CN 112182344B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- request
- game
- community
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
- A63F13/798—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for assessing skills or for ranking players, e.g. for generating a hall of fame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种数据请求方法、装置、服务器及存储介质,接收游戏社区App发送的指示获取目标用户在目标网络游戏的目标战绩数据的数据请求;获取数据请求携带的适用于目标网络游戏且表征目标战绩数据在多个数据种类中所属目标数据种类的目标命令字;如果根据目标命令字确定当前游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率未超过目标数据种类的请求频率上限,采用与目标数据种类对应的目标请求策略获取数据请求的请求结果。本申请可以在获取网络游戏的游戏数据的基础上,降低游戏社区App数据请求量对网络游戏的影响,缓解因网络游戏出现问题无法拉取游戏数据影响用户体验的情况,并且降低游戏社区App开发、维护成本。
Description
技术领域
本发明涉及通信技术领域,更具体地说,涉及一种数据请求方法、装置、服务器及存储介质。
背景技术
随着网络技术的发展,网络游戏已经成为人们主要休闲娱乐的方式之一。为了提升用户在网络游戏的活跃度,增加用户在网络游戏中的社交乐趣,针对游戏的网络社区(简称游戏社区)应运而生。
游戏社区App(Application,应用程序)可以接入多款网络游戏,用户可以在游戏社区App创建游戏社区实现与网络游戏相关的交流互动。现有技术,通常是由游戏社区App的社区服务器与网络游戏的游戏服务器/游戏数据库直接交互实现游戏社区App对网络游戏中游戏数据的拉取。
这种数据拉取方式,游戏社区App的数据请求量往往对网络游戏产生较大影响。并且,若网络游戏的游戏服务器/游戏数据库出现问题,社区服务器会拉取不到游戏数据,影响游戏社区App的用户体验。而且,因不同网络游戏数据源不一样,游戏社区App需要分别针对每个接入的网络游戏单独开发一套数据拉取流程来达到从网络游戏拉取游戏数据的目的,游戏社区App开发成本、维护成本高。
发明内容
有鉴于此,本申请提供一种数据请求方法、装置、服务器及存储介质,以在获取网络游戏的游戏数据的基础上,降低游戏社区App数据请求量对网络游戏的影响,缓解因游戏服务器/游戏数据库出现问题无法从网络游戏拉取游戏数据所导致的游戏社区App用户体验差的情况,并且降低游戏社区App开发、维护成本。技术方案如下:
一种数据请求方法,包括:
接收游戏社区应用程序App发送的指示获取目标用户在目标网络游戏的目标战绩数据的数据请求;
获取所述数据请求携带的适用于所述目标网络游戏的目标命令字,所述目标命令字表征所述目标战绩数据在多个数据种类中所属的目标数据种类;
根据所述目标命令字确定当前所述游戏社区App对所述目标网络游戏中所述目标数据种类的战绩数据的请求频率;
如果所述请求频率未超过所述目标数据种类的请求频率上限,获取至少一个请求策略中与所述目标数据种类对应的目标请求策略,采用所述目标请求策略获取所述数据请求的请求结果;所述至少一个请求策略中包括优先从历史拉取的所述目标网络游戏的战绩数据中获取所述目标战绩数据的请求策略。
一种数据请求装置,包括:
数据请求接收单元,用于接收游戏社区应用程序App发送的指示获取目标用户在目标网络游戏的目标战绩数据的数据请求;
命令字获取单元,用于获取所述数据请求携带的适用于所述目标网络游戏的目标命令字,所述目标命令字表征所述目标战绩数据在多个数据种类中所属的目标数据种类;
请求频率计算单元,用于根据所述目标命令字确定当前所述游戏社区App对所述目标网络游戏中所述目标数据种类的战绩数据的请求频率;
数据获取单元,用于如果所述请求频率未超过所述目标数据种类的请求频率上限,获取至少一个请求策略中与所述目标数据种类对应的目标请求策略,采用所述目标请求策略获取所述数据请求的请求结果;所述至少一个请求策略中包括优先从历史拉取的所述目标网络游戏的战绩数据中获取所述目标战绩数据的请求策略。
一种服务器,包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现所述数据请求方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行所述数据请求方法。
本申请提供一种数据请求方法、装置、服务器及存储介质,通过命令字实现对战绩数据通用的读写处理,降低游戏社区App开发、维护成本,并且,通过对请求频率的上限限制,以及对优先从网络游戏请求的历史战绩数据获取目标战绩数据的请求策略的设置,不仅可以降低网络游戏易受游戏社区数据请求量影响的问题,而且还能缓解因网络游戏的游戏服务器/游戏数据库出现问题无法拉取到游戏数据所导致的游戏社区用户体验差的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的现有技术游戏数据拉取系统结构示意图;
图2为本申请实施例提供的现有技术游戏数据拉取方法示意图;
图3为本申请实施例提供的一种数据请求方法所应用于数据请求系统的结构示意图;
图4为本申请实施例提供的一种数据请求方法所应用于的另一种数据请求系统的结构示意图;
图5为本申请实施例提供的一种数据请求方法流程图;
图6为本申请实施例提供的一种命令字集示意图;
图7为本申请实施例提供的一种战绩数据显示界面示意图;
图8为本申请实施例提供的一种采用目标请求策略获取数据请求的请求结果的方法流程图;
图9为本申请实施例提供的另一种采用目标请求策略获取数据请求的请求结果的方法流程图;
图10为本申请实施例提供的又一种采用目标请求策略获取数据请求的请求结果的方法流程图;
图11为本申请实施例提供的一种数据请求方法示意图;
图12为本申请实施例提供的一种数据请求装置的结构示意图;
图13为本申请实施例提供的一种服务器的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例:
游戏社区App用户可以在游戏社区App创建网络游戏的游戏社区,游戏社区可以把喜欢网络游戏的用户聚在一起,在游戏社区进行交流互动,在网络游戏接入游戏社区App的情况下,游戏社区App还可以从网络游戏拉取网络游戏用户的游戏数据,进一步丰富游戏社区的交流互动。
即,用户在游戏社区App上的游戏社区进行交流互动主要依赖于两种数据(即,游戏社区有两种数据),一种是用户在游戏社区自主产生的社区数据,另一种是用户在网络游戏产生的游戏数据。自主产生的社区数据是存储在游戏社区App的,而游戏数据则需要去网络游戏的游戏服务器/游戏数据库拉取。
游戏社区App应用于游戏社区系统,游戏社区系统包括终端和社区服务器,终端上安装有社区客户端,社区服务器为社区客户端提供技术支持。社区客户端可以为应用程序客户端或网页版客户端。
参见图1-2,图1为本申请实施例提供的现有技术游戏数据拉取系统结构示意图;图2为本申请实施例提供的现有技术游戏数据拉取方法示意图。结合图1-2,现有技术通常是由游戏社区App用户通过社区客户端发送查询请求,社区服务器直接根据查询请求去网络游戏的游戏服务器/游戏数据库查询游戏数据的方式,达到游戏社区App获取网络游戏的游戏数据的目的。这种游戏社区App直接与网络游戏的游戏服务器/游戏数据库进行交互以实现游戏数据获取的方式可以认为是游戏数据拉取的过程。
参见图1提供的游戏数据拉取系统,现有技术普遍采用方案一或者方案二实现游戏数据拉取的目的。方案一为直接读游戏数据库中游戏数据的方案,方案二为使用API接口读取游戏数据的方案。可以理解的是,图1中的DR为网络游戏的游戏数据库。
下面结合图2分别对如图1所示的方案一和方案二进行详细说明。
方案一、以图2所示的查询游戏1流程为例进行说明:
游戏1数据库的数据来源是游戏1服务器写入。比如,当用户发生网络游戏比赛的时候游戏1服务器会更新游戏1数据库。
1、用户在社区客户端发起查询用户游戏1数据的请求。
2、社区服务器收到请求后,对用户的用户ID,网络游戏ID等进行参数校验,主态,客态等进行校验,判断用户的请求是否合法等。
3、社区服务器参数校验通过后,去游戏1数据库查询用户游戏1数据。
4、游戏1数据库将查询到的游戏数据(查询结果)返回给社区服务器。
5、社区服务器将查询结果打成一个数据包,并将数据包返回给社区客户端。
方案二、以图2所示的查询游戏2流程为例进行说明:
1、用户在社区客户端发起查询用户游戏2数据的请求。
2、社区服务器收到请求后,对用户的用户ID,游戏ID等进行参数校验,主态,客态等进行校验,判断用户的请求是否合法等。
3、社区服务器参数校验通过后,将请求发送给游戏2服务器。
4、游戏2服务器收到请求后去游戏2数据库查询用户游戏2数据。
5、游戏2数据库将查询到的游戏数据(查询结果)返回给游戏2服务器。
6、游戏2服务器将查询结果返回给社区服务器。
7、游戏社区服务器将查询结果打成一个数据包,并将数据包返回给社区客户端。
如图1-2所示的现有游戏数据拉取方式通常这样会有如下问题:
第一、游戏服务器/游戏数据库出问题时,社区服务器将会拉不到游戏用户的游戏数据。
第二、社区服务器对游戏服务器/游戏数据库的数据拉取请求量过高或者过大时,会对网络游戏造成影响,导致网络游戏运行速度慢、出现卡顿等情况,甚至游戏服务器需要扩容来支撑等。
第三、游戏社区App接入多个网络游戏时,因为每个网络游戏的数据源不一样,每个网络游戏都需要单独构建一套数据拉取流程。
基于上面的问题,现有技术实现游戏数据拉取需要耗费大量的人力开发成本,业务维护成本,服务器成本等,并且一旦数据源(游戏服务器/游戏数据库)出现问题,会极大的影响游戏社区用户的使用体验。
游戏社区App的战绩标签下一般可以包括用户的战绩数据;比如,战绩总览,战绩列表,战绩详情等。用户的战绩数据也属于用户在网络游戏的游戏数据,其数据的来源是网络游戏。本申请实施例提供一种数据请求方法在实现游戏社区App对网络游戏中战绩数据的获取的基础上,不仅能够降低游戏社区App开发、维护成本,降低游戏服务器成本;而且能够在数据源(游戏服务器/游戏数据库)出现问题的情况下,缓解现有技术因游戏社区App拉取战绩数据不成功所导致的游戏社区用户体验差的问题。
本申请实施例提供的一种数据请求方法应用于数据请求系统,如图3所示,数据请求系统包括:社区客户端、社区服务器、目标服务器、目标数据库、游戏服务器和游戏数据库。
参见图3,本申请实施例提供的数据请求系统相对于如图2所示的现有技术的数据拉取系统而言,增加了目标服务器和目标数据库。
目标服务器用于通过对命令字的识别,来实现对访问权限控制和访问频率控制,保障了数据访问的安全性;以及用于对战绩数据进行总览类、列表类、详情类的划分,将响应数据请求从游戏服务器/游戏数据库拉取的战绩数据按照不同种类存入目标数据库中。
本申请实施例中,命令字可以是数字,字符串,形式多样。
示例性的,命令字可以为16进制数字。以上仅仅是本申请实施例提供的命令字的优选表现形式,有关命令字的具体表现形式,可根据需求进行设置,在此不做限定。
目标数据库的个数可以为一个也可以为多个。这样,当多个网络游戏接入的时候,只需要在目标服务器做多网络游戏的数据源适配开发即可,社区服务器不需要修改,可以无缝接入,极大地提高了开发效率和网络游戏接入成本。并且,当游戏服务器或者游戏数据库出现问题时,可以基于目标数据库中存储的游戏数据有损的提供服务,在一定程度上缓解了现有技术在游戏服务器/游戏数据库出现问题时,无法拉取游戏数据为游戏社区App用户提供服务,所导致的游戏社区App用户体验差的情况。
参见图4提供的另一种数据请求系统,参见图4可知,如图3所示的数据请求系统中目标服务器可以由第一服务器和第二服务器构成。其中,第一服务器用于通过对命令字的识别,来实现对访问权限控制和访问频率控制,保障了数据访问的安全性;第二服务器用于对战绩数据进行总览类、列表类、详情类的划分,将响应数据请求从游戏服务器/游戏数据库拉取的战绩数据按照不同种类存入目标数据库中。
示例性的,第一服务器可以称为命名服务器,第二服务器可以称为数据服务器。以上仅仅是本申请实施例提供的第一服务器、第二服务器的一种称呼方式,有关第一服务器、第二服务器的具体称呼方式,发明人可根据自己的需求进行设置,在此不做限定。
相应的,当多个网络游戏接入的时候,只需要在目标服务器做多网络游戏的数据源适配开发即可,社区服务器不需要修改,可以无缝接入,极大地提高了开发效率和网络游戏接入成本。
示例性的,目标数据库可以为游戏社区App的社区数据库,该社区数据库既可以用于存储用户在游戏社区App自行产生的社区数据,也可以用于存储从网络游戏的游戏数据库/游戏服务器拉取的游戏数据。
以上仅仅是本申请实施例提供的目标数据库的一种优选设置方式,本领域技术人员可根据自己的需求进行目标数据库的设置,在此不做限定。比如,目标数据库独立于社区数据库,目标数据库用于存储从网络游戏的游戏数据库/游戏服务器拉取到的游戏数据。
基于上述对数据请求系统的说明,现结合图5对应用于该数据请求系统的数据请求方法进行详细阐述。需要说明的是,如图5所示的数据请求方法适用于数据请求系统中的目标服务器。如图5所示,该方法包括:
S501、接收游戏社区应用程序App发送的指示获取目标用户在目标网络游戏的目标战绩数据的数据请求;
本申请实施例提供的数据请求方法主要适用于指示查询用户在网络游戏中产生的战绩数据的数据请求,社区服务器接收第一用户通过终端上的社区客户端发送的数据请求,若数据请求指示获取第二用户在网络游戏产生的战绩数据,则将数据请求转发至目标服务器,目标服务器响应接收到的数据请求查询数据请求的请求结果,并将请求结果返回给社区服务器,进而由社区服务器将请求结果返回给终端上的社区客户端。
需要说明的是,为了便于区分,本申请实施例将发送数据请求的用户称为第一用户,将第一用户发送数据请求所请求的战绩数据称为目标战绩数据,将产生目标战绩数据的网络游戏称为目标网络游戏,将在目标网络游戏中产生目标战绩数据的用户称为第二用户。即,目标网络游戏中目标战绩数据所属用户称为第二用户。第一用户与第二用户可以为同一用户,也可以为不同用户。本申请实施例中,第二用户也可以称为目标用户。
网络游戏中的战绩数据可以包括携带段位数据属性的战绩数据、携带总场次数据属性的战绩数据、携带战绩详情数据属性的战绩数据、携带战绩列表数据属性的战绩数据等。
网络游戏中战绩数据可以依据数据属性的不同划分成不同的数据种类。示例性的,携带相同数据属性的战绩数据属于同一数据种类,携带不同数据属性的战绩数据属于不同的数据种类。
比如,若网络游戏中的战绩数据包括携带段位数据属性的战绩数据、携带总场次数据属性的战绩数据、携带战绩详情数据属性的战绩数据、携带战绩列表数据属性的战绩数据;则战绩数据可以包括与段位数据属性对应段位数据种类、与总场次数据属性对应的总场次数据种类、与战绩详情数据属性对应的战绩详情数据种类,以及与战绩列表数据属性对应的战绩列表数据种类。
示例性的,属于段位数据种类的战绩数据称为段位数据,将属于总场次数据种类的战绩数据称为总场次数据,将属于战绩详情数据种类的战绩数据称为战绩详情数据,将属于战绩列表数据种类的战绩数据称为战绩列表数据。
以上仅仅是本申请实施例提供的战绩数据携带的几种数据属性,可以了解的是,战绩数据还携带有其他数据属性,有关战绩数据携带的其他数据属性,在此不做详细说明。比如,网络游戏中的战绩数据还可以包括携带总体评价数据属性的战绩数据(与总体评价数据属性对应的数据种类可以称为总体评价数据种类,属于总体评价数据种类的战绩数据称为总体评价数据)、携带淘汰次数数据属性的战绩数据(与淘汰次数数据属性对应的数据种类可以称为淘汰次数数据种类,属于淘汰次数数据种类的战绩数据称为淘汰次数数据)、携带吃鸡次数数据属性的战绩数据(与吃鸡次数数据属性对应的数据种类可以称为吃鸡次数数据种类,属于吃鸡次数数据种类的战绩数据称为吃鸡次数数据)等等,在此不做一一举例说明。
以上针对不同数据属性的战绩数据划分成了不同的数据种类,相应的,网络游戏中战绩数据被划分成多个数据种类。进一步的,多个数据种类可以进一步按照信息类别的不同进行分组,比如,段位数据、总场次数据、总体评价数据、淘汰次数数据和鸡次数数据均属于总览数据;战绩详情数据属于详情数据;战绩列表数据属于列表数据。相应的,总览数据、详情数据和列表数据分别属于不同的信息类别,本申请实施例,将总览数据所属的信息类别称为总览信息类别,总览信息类别表征总览信息;将详情数据所属的信息类别称为详情数据类别,详情数据类别表征详情信息;将列表数据所属的信息类别称为列表数据类别,列表数据类别表征列表信息。
示例性的,游戏社区App可以接入多个网络游戏,针对接入游戏社区App的每个网络游戏,预先设置一套与该网络游戏适配的命令字,即预先设置与该网络游戏适配的命令字集。不同的网络游戏所适配的命令字集不同。
以目标网络游戏为例,预先设置一套与该目标网络游戏适配的命令字,即,预先设置与该目标网络游戏适配的命令字集,与目标网络游戏适配的命令字集中包括分别与多个数据种类中每个数据种类对应的命令字。
图6为本申请实施例提供的一种命令字集示意图。如图6所示,针对不同数据属性的战绩数据划分成了不同的数据种类。比如,总览类、详情类、列表类,其中,可以用命令字cmd表征数据种类。进一步的,数据种类可以进一步按照信息类别的不同进行分组,可以用命令字subcmd表征信息类别。需要注意的是,不同的数据种类对应的命令字不同,不同的信息类别对应的命令字不同。以上仅仅是本申请实施例提供的一种命令字的示例,有关命令字的具体内容,本领域技术人员可以进行扩展,在此不做限定。
结合图6可知,若以目标网络游戏为例,如果多个数据种类包括段位数据种类、总场次数据种类、总体评价数据种类、淘汰次数数据种类、吃鸡次数数据种类、战绩详情数据种类,以及战绩列表数据种类,则与目标网络游戏适配的命令字集包括与段位数据种类对应的命令字、与总场次数据种类对应的命令字、与总体评价数据种类对应的命令字、与淘汰次数数据种类对应的命令字、与吃鸡次数数据种类对应的命令字、与战绩详情数据种类对应的命令字,以及与战绩列表数据种类对应的命令字。不同的数据种类对应的命令字不同。
第一用户在游戏社区App执行查询目标用户在目标网络游戏的目标战绩数据的操作,游戏社区App可以获知第一用户请求查询的目标战绩数据所属的数据种类(为了便于区分,将第一用户请求查询的目标用户的目标战绩数据所属的数据种类称为目标数据种类),并从与目标网络游戏适配的命令字集中确定与目标数据种类对应的命令字(为了便于区分,将所确定的命令字称为目标命令字),进而根据目标命令字生成数据请求。即,该数据请求不仅指示获取目标用户在目标网络游戏的目标战绩数据,而且该数据请求携带适配于目标网络游戏且与目标战绩数据所属目标数据种类对应的目标命令字,目标命令字表征目标战绩数据所属目标数据种类。进一步的,数据请求中还可以指示第一用户,比如数据请求携带第一用户的用户标识。
S502、获取数据请求携带的适用于目标网络游戏的目标命令字,目标命令字表征目标战绩数据在多个数据种类中所属的目标数据种类;
本申请实施例中,可以由社区客户端响应第一用户在社区客户端执行的查询目标用户在目标网络游戏的目标战绩数据的操作生成数据请求,社区客户端将数据请求发送给社区服务器,社区服务器接收到数据请求后,对数据请求进行参数校验,并在参数校验通过后,将数据请求转发给目标服务器。
作为本申请实施例的一种优选实施方式,社区服务器在参数校验通过后,判断数据请求是否指示获取战绩数据,若数据请求指示获取战绩数据,可以将数据请求转发至目标服务器中的第一服务器。
示例性的,社区服务器对数据请求进行参数校验包括校验第一用户的合法性、校验目标用户的合法性、校验数据请求携带的目标命令字的合法性、校验目标网络游戏的合法性等。以上仅仅是本申请实施例提供的社区服务器进行参数校验的优选内容,有关参数校验的具体内容,发明人可根据自己的需求进行设置,在此不做限定。
相应的,第一服务器接收数据请求,校验数据请求是否拥有对目标战绩数据的访问权限。具体的,校验数据请求是否拥有对目标战绩数据的访问权限可以为对数据请求进行访问校验,校验当前业务,当前社区服务器是否有访问权限。
本申请实施例中,第一服务器可以校验第一用户是否拥有获取目标用户的目标战绩数据的权限、校验游戏社区App是否拥有获取目标网络游戏的战绩数据的权限,如果第一用户拥有获取目标用户的目标战绩数据的权限且游戏社区App拥有获取目标网络游戏的战绩数据的权限,第一服务器确定数据请求访问权限校验通过,即确定数据请求拥有对目标战绩数据的访问权限;反之,如果第一用户未拥有获取目标用户的目标战绩的权限或者游戏社区App未拥有获取目标网络游戏的战绩数据的权限,则确定请求失败。进一步,在确定数据请求请求失败的情况下,可以向社区客户端返回请求失败的提示信息。
以上仅仅是本申请实施例提供的校验数据请求是否拥有对目标战绩数据的访问权限的优选内容,有关校验数据请求是否拥有对目标战绩数据的访问权限的具体方式,发明人可根据自己的需求进行设置,在此不做限定。
第一服务器在确定数据请求访问权限校验通过后,第一服务器还可以获取数据请求携带的目标命令字,根据目标命令字确定当前游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率。
S503、根据目标命令字确定当前游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率;
本申请实施例中,根据目标命令字确定当前游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率的方式可以为:查询历史最近时间段内接收到的游戏社区App发送的数据请求中的目标数据请求,目标数据请求携带目标命令字且指示获取目标网络游戏的战绩数据;根据目标数据请求的数量计算历史最近时间段内游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率。
示例性的,历史最近时间段可以为历史最近3天内、历史最近1天内、历史最近一个星期、历史最近一个月等等。有关历史最近时间段的具体内容,发明人可根据自己的需求进行设置,在此不做限定。
第一服务器确定历史最近时间段内接收到的所有数据请求;从所确定的数据请求中筛选出目标数据请求,目标数据请求为携带目标命令字且指示获取目标网络游戏的战绩数据的数据请求(需要说明的是,该步骤的目标命令字是步骤S501接收到的数据请求携带的目标命令字,且该步骤的目标网络游戏也是步骤S501接收到的数据请求指示的目标网络游戏);计算筛选出的目标数据请求的数量;根据目标数据请求的数量计算历史最近时间段内游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率,将计算到的请求频率作为当前游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率。
以上仅仅是本申请实施例提供的一种根据目标命令字确定当前游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率的优选方式,有关该过程的具体实现方式发明人可根据自己的需求进行设置,在此不做限定。
S504、判断请求频率是否超过目标数据种类的请求频率上限,如果请求频率未超过目标数据种类的请求频率上限,执行步骤S505;
本申请实施例中,预先设置有多个数据种类中每个数据种类的请求频率上限,比如,多个数据种类包括数据种类1、数据种类2和数据种类3,则预先设置有数据种类1的请求频率上限,数据种类2的请求频率上限,数据种类3的请求频率上限。需要说明的是,不同数据种类的请求频率上限可以相同,也可以不相同,在此不做限定。
第一服务器接收到数据请求,并计算出当前游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率后,可以获取预先设置的目标数据种类的请求频率上限,判断当前游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率是否超过预先设置的目标数据种类的请求频率上限;如果当前游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率未超过预先设置的目标数据种类的请求频率上限,则可以确定该数据请求的访问频率校验通过;反之,如果当前游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率超过预先设置的目标数据种类的请求频率上限,则可以确定该数据请求的访问频率校验未通过。
进一步的,本申请实施例提供的一种数据请求方法,针对一个数据请求,在确定该数据请求的访问频率校验未通过的情况下,可以确定该数据请求请求失败/暂停处理该数据请求。
在暂停处理该数据请求的情况下,可以每隔预设时间间隔重新判断一次当前游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率是否超过预先设置的目标数据种类的请求频率上限,一旦判断出当前游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率未超过预先设置的目标数据种类的请求频率上限,则确定该数据请求的访问频率校验通过。
以上是本申请实施例提供的如果请求频率超过目标数据种类的请求频率上限的优选处理方式,有关在请求频率超过目标数据种类的请求频率上限的情况下的具体处理方式,发明人可根据自己的需求进行设置,在此不做限定。
本申请实施例中,第一服务器确定数据请求的访问频率校验通过的情况下,可以将数据请求转发给第二服务器。
S505、获取至少一个请求策略中与目标数据种类对应的目标请求策略,采用目标请求策略获取数据请求的请求结果;至少一个请求策略中包括优先从历史拉取的目标网络游戏的战绩数据中获取目标战绩数据的请求策略。
本申请实施例中,第二服务器中预先设置有请求策略和信息类别的对应关系,一个信息类别对应一种请求策略,不同的信息类别对应的请求策略不同。相应的,可以将多个信息类别对应的所有请求策略认为是预先设置的至少一个请求策略。
比如,若多个信息类别包括总览信息类别、详情数据类别和列表数据类别,则预先设置有与总览信息类别对应的请求策略,与详情数据类别对应的请求策略,与列表数据类别对应的请求策略。相应的,将与总览信息类别对应的请求策略,与详情数据类别对应的请求策略,以及与列表数据类别对应的请求策略看成是预先设置的至少一个请求策略。
示例性的,第二服务器接收到数据请求后,获取数据请求携带的目标命令字表征的数据种类(为了便于区分,本申请实施例将数据请求携带的目标命令字表征的数据种类称为目标数据种类),获取目标数据种类的战绩数据所属的信息类别(为了便于区分,本申请实施例将目标数据种类的战绩数据所属的信息类别称为目标信息类别),查询预先设置的信息类别和请求策略的对应关系,获取与目标信息类别对应的请求策略(为了便于区分,本申请实施例将获取到的与目标信息类别对应的请求策略称为目标请求策略),采用目标请求策略获取数据请求的请求结果。
第二服务器在采用目标请求策略获取数据请求的请求结果后,可以通过第一服务器将请求结果返回给社区服务器,进而由社区服务器将请求结果返回给社区客户端,以便于社区客户端显示请求结果。
图7为本申请实施例提供的一种战绩数据显示界面示意图。结合图7可知,社区客户端上的战绩数据界面上显示有总览数据和列表数据。第一用户在终端上打开社区客户端,若第一用户在社区客户端执行触发显示目标用户的战绩数据界面的操作,则需要获取目标用户的总览数据和列表数据,以响应第一用户在社区客户端执行的触发显示目标用户的战绩数据界面的操作,基于获取到的目标用户的总览数据和列表数据,在社区客户端显示目标用户的战绩数据界面。
参见图7,列表数据为目标用户的战绩列表数据,战绩列表数据中包括多条战绩信息,若第一用户对战绩列表中的战绩信息执行触发操作,则需要响应触发操作获取被触发的战绩信息的战绩详情数据,进而基于获取到的战绩详情数据在社区客户端显示战绩详情界面,此时,该战绩详情界面显示有被触发的战绩信息的战绩详情数据。
下面结合图7对本申请实施例提供的采用目标请求策略获取数据请求的请求结果的方法进行详细说明。
本申请实施例中,若数据请求携带的目标命令字表征的目标数据种类所属的目标信息类别表征列表信息时,数据请求指示获取战绩列表数据,相应的,采用与数据请求携带的目标命令字表征的目标数据种类对应的目标请求策略获取数据请求的请求结果的方式参见图8。
如图8所示,该方法包括:
S801、确定目标数据库中存储的数据请求的第一请求结果中用于在第一页显示的第一战绩数据;
本申请实施例,若数据请求指示获取的目标战绩数据为战绩列表数据时,获取战绩列表数据的方式可以如图8所示。具体的,第二服务器可以从目标数据库查询第一战绩数据,具体的,目标数据库响应数据请求从目标数据库查询数据请求的请求结果(为了便于区分,将从目标数据库查询到的数据请求的请求结果称为第一请求结果),并从第一请求结果中确定用于在第一页显示的战绩列表数据(为了便于区分,可以该战绩列表数据称为第一战绩数据),将第一战绩数据返回至第二服务器。
示例性的,第一页可以认为是社区客户端用于显示战绩列表数据的界面中的首页面。例如,如图7所示,响应第一用户在社区客户端执行的触发显示目标用户的战绩数据界面的操作,基于获取到的目标用户的总览数据和列表数据,在社区客户端展示的战绩数据界面中显示首个页面(首页面),首页面中显示有目标用户的战绩列表数据;如果首页面未完全显示目标用户的所有战绩列表数据,后续第一用户还可以基于翻页操作/上拉操作在战绩数据界面中显示未在首页面显示的目标用户的战绩列表数据。
需要说明的是,在目标数据库中未存储有数据请求的请求结果的情况下,第二服务器从目标数据库中查询到的第一战绩数据为空。
S802、接收目标网络游戏返回的第二战绩数据,第二战绩数据为目标网络游戏响应数据请求查询到的第二请求结果中用于在第一页显示的战绩数据;
并且,第二服务器还可以从目标网络游戏查询第二战绩数据,第二战绩数据为目标网络游戏响应数据请求查询到的第二请求结果中用于在第一页显示的战绩数据。
本申请实施例中,第二服务器从目标网络游戏查询第二战绩数据的方式请参见图1-2所示的现有游戏数据拉取方法,在此不做详细介绍。
示例性的,目标网络游戏响应数据请求可以查询到数据请求的请求结果(为了便于区分,可以将该请求结果称为第二请求结果),并确定第二请求结果中用于在第一页显示的战绩列表数据(为了便于区分,可以将该战绩列表数据称为第二战绩数据),并将第二战绩数据返回至第二服务器。
S803、判断第一战绩数据和第二战绩数据是否相同;如果第一战绩数据和第二战绩数据相同,执行步骤S804;如果第一战绩数据和第二战绩数据不相同,执行步骤S805;
S804、从目标数据库查询数据请求的第一请求结果;
本申请实施例中,第二服务器判断第一战绩数据和第二战绩数据是否相同,如果第一战绩数据和第二战绩数据相同,则说明目标数据库中存储的第一请求结果和目标网络游戏中存储的第二请求结果相同,即第一请求结果为最新的请求结果,此时,直接从目标数据库获取第一请求结果,并将第一请求结果通过第一服务器返回至社区服务器,进而由社区服务器将第一请求结果返回至社区客户端。这种情况下,第一请求结果可以认为是数据请求的请求结果。
S805、接收目标网络游戏响应数据请求返回的数据请求的第二请求结果,以及根据第二请求结果更新目标数据库中第一请求结果。
本申请实施例中,第二服务器判断第一战绩数据和第二战绩数据是否相同,如果第一战绩数据和第二战绩数据不相同,则说明目标数据库中存储的第一请求结果和目标网络游戏中存储的第二请求结果不同,即第一请求结果不为最新的请求结果,此时,第二服务器可以接收目标网络游戏响应数据请求返回的该数据请求的第二请求结果,相应的,第二服务器可以通过第一服务器将第二请求结果返回至社区服务器,进而由社区服务器将第二请求结果返回至社区客户端。这种情况下,第二请求结果可以认为是数据请求的请求结果。
进一步的,第二服务器还可以根据第二请求结果更新目标数据库中的第一请求结果。比如,将目标数据库中的第一请求结果更新为第二请求结果。
需要说明的是,在第一战绩数据为空的情况下,第二服务器确定第一战绩数据和第二战绩数据不同,第二服务器接收目标网络游戏返回的第二请求结果,不仅可以通过第一服务器将第二请求结果返回至社区服务器,而且可以将第二请求结果存储至目标数据库,以实现利用第二请求结果更新目标数据库中第一请求结果的目的。
本申请实施例,因为战绩列表数据是更新比较频繁的数据,并且数据量比较大,通过比对第一战绩数据和第二战绩数据的方式,可以确定目标数据库中第一请求结果的准确性,这样当第一请求结果为最新的请求结果的情况下,可以直接从目标数据库获取数据请求的请求结果,不需再去目标网络游戏拉取游戏数据,降低了游戏社区App数据请求量对网络游戏的影响。
本申请实施例中,若数据请求携带的目标命令字表征的目标数据种类所属的目标信息类别表征详情信息时,数据请求指示获取战绩详情数据,相应的,采用与数据请求携带的目标命令字表征的目标数据种类对应的目标请求策略获取数据请求的请求结果的方式参见图9。
如图9所示,该方法包括:
S901、判断目标数据库中是否存储有目标战绩数据;如果目标数据库中存储有目标战绩数据,执行步骤S902;如果目标数据库中未存储有目标战绩数据,执行步骤S903;
本申请实施例中,若数据请求指示获取的目标战绩数据为战绩详情数据时,获取战绩详情数据的方式可以如图9所示。具体的,第二服务器可以先去目标数据库查询数据请求指示的目标战绩数据;如果在目标数据库中查询到目标战绩数据,则执行步骤S902;如果未在目标数据库中查询到目标战绩数据,则执行步骤S903;
S902、从目标数据库中获取并向游戏社区App返回目标战绩数据;
示例性的,若第二服务器从目标数据库中查询到数据请求指示获取的目标战绩数据,第二服务器可以通过第一服务器将目标战绩数据发送至社区服务器,进而由社区服务器将目标战绩数据返回至社区客户端。这种情况下,该目标战绩数据便是数据请求的请求结果。
S903、向目标网络游戏转发数据请求,接收目标网络游戏响应数据请求返回的目标战绩数据。
示例性的,若第二服务器未从目标数据库中查询到数据请求指示获取的目标战绩数据,可以从目标网络游戏获取数据请求指示获取的目标战绩数据,并将获取到的目标战绩数据通过第一服务器返回至社区服务器,进而由社区服务器将目标战绩数据返回至社区客户端。
并且,第二服务器在从目标网络游戏获取到数据请求指示获取的目标战绩数据后,还可以将目标战绩数据存储至目标数据库,以便于后续在接收到用于查询战绩详情数据的数据请求时,可以优先从目标数据库查询数据请求指示获取的战绩详情数据。
需要说明的是,第二服务器从目标网络游戏获取数据请求指示获取的目标战绩数据的方式参见图1-2所示的现有游戏数据拉取方法,在此不做详细介绍。
本申请实施例,因为战绩详情数据是固定不变的,因此,可以采用优先从目标数据库查询战绩详情数据的方式实现对数据请求的请求结果的查询,在目标数据库未查询到请求结果的情况下,再从目标网络游戏拉取数据请求的请求结果,这样也在一定程度降低了游戏社区App数据请求量对网络游戏的影响。并且,在从目标网络游戏拉取到数据请求的请求结果后,将请求结果存储至目标数据库,可以便于后续在接收到数据请求后,优先从目标数据库查询请求结果。
本申请实施例中,若数据请求携带的目标命令字表征的目标数据种类所属的目标信息类别表征总览信息时,数据请求指示获取总览数据(也可以称为战绩总览数据),相应的,采用与数据请求携带的目标命令字表征的目标数据种类对应的目标请求策略获取数据请求的请求结果的方式参见图10。
如图10所示,该方法包括:
S1001、将数据请求转发至目标网络游戏;
S1002、判断是否接收到目标网络游戏响应数据请求返回的数据请求的请求结果;如果接收到目标网络游戏响应数据请求返回的数据请求的请求结果,执行步骤S1003;如果未接收到目标网络游戏响应数据请求返回的数据请求的请求结果,执行步骤S1004;
S1003、将目标网络游戏返回的数据请求的请求结果存储至目标数据库;
S1004、从目标数据库查询数据请求的请求结果。
本申请实施例中,若数据请求指示获取的目标战绩数据为战绩总览数据时,获取战绩总览数据的方式可以如图10所示。具体为,第二服务器将数据请求转发至目标网络游戏,以便于目标网络游戏响应数据请求返回数据请求的请求结果,进而实现第二服务器从目标网络游戏拉取战绩总览数据的目的。
第二服务器从目标网络游戏拉取战绩总览数据的方式参见图1-2所示的现有游戏数据拉取方法,在此不做详细介绍。
进一步的,第二服务器在接收到目标网络游戏返回的战绩总览数据后,还可以将该战绩总览数据存储至目标数据库。这样,下一次在接收到指示获取目标用户在目标网络游戏的战绩总览数据的数据请求时,若第二服务器从目标网络游戏拉取战绩总览数据失败,可以从目标数据库中获取历史最近存储的目标用户在目标网络游戏的战绩总览数据作为请求结果。
本申请实施例因为战绩总览数据更新比较频繁,因此可以采用优先从目标网络游戏拉取战绩总览数据的方式实现对数据请求的请求结果的查询,并将请求结果存储至目标数据库,以便于在从目标网络游戏拉取战绩总览数据失败的情况下,可以从目标数据库查询数据请求的请求结果。
本申请实施例提供的数据请求方法,可以将从目标网络游戏拉取到的游戏数据存储至目标数据库,这样,在目标网络游戏的游戏服务器/游戏数据出现故障,无法从目标网络游戏拉取游戏时,可以从目标数据库获取数据请求的请求结果,便于游戏社区App向游戏社区用户提供有损服务。相对于,现有技术在目标网络游戏的游戏服务器/游戏数据出现故障,无法从目标网络游戏拉取游戏,导致游戏社区App无法为游戏社区用户提供服务而言,这种方式可以在一定程度上提高游戏社区用户体验。
下面结合图11对本申请实施例提供的一种数据请求方法进行详细说明。图11为本申请实施例提供的一种数据请求方法示意图。
如图11所示,数据请求方法包括:
1、用户在社区客户端进行数据查询。
2、社区服务器收到请求后,进行参数校验,校验用户ID,命令字,游戏ID等。
3、社区服务器校验通过后,转发请求给命名服务器。
4、命名服务器收到请求后,进行访问校验,校验当前业务,当前社区服务器是否有访问权限。
5、命名服务器校验通过后,判断频率是否在可控制的频率内;即,判断频率是否超过频率上限。
6、命名服务器在确定频率在可控制的频率内的情况下将请求转发给数据服务器。
7、数据服务器收到请求后,判断是否要查总览数据,如果是直接游戏数据库查询。
8、游戏数据库将总览数据返回给数据服务器。
9、数据服务器更新社区数据库的总览数据。
10、数据服务器判断是否要查详情数据,如果是,转发请求给社区数据库。
11、社区数据库收到请求后返回详情数据给数据服务器。
12、数据服务器判断是否查到了详情数据,如果没有查到,转发请求给游戏数据库。
13、游戏数据库将详情数据返回给数据服务器。
14、数据服务器将详情数据更新社区数据库。
15、数据服务器判断是否要查列表数据,是的话先去游戏数据库查第一页数据。
16、游戏数据库将第一页列表数据返回给数据服务器。
17、数据服务器去社区数据库查询第一页列表数据。
18、社区数据库将第一页列表数据返回给数据服务器。
19、数据服务器对比从游戏数据库和从社区数据库查来的第一页列表数据,如果社区数据库查的第一页列表数据已经是最新的列表数据,则直接从社区数据库查,否则用从游戏数据库查的列表数据补齐社区数据库。
20、数据服务器将命令字查询结果返回给命令服务器。
21、命令服务器将结果返回给社区服务器。
22、社区服务器将数据返回给社区客户端显示。
本申请实施例只是以游戏数据提供方式为游戏数据库DR为例,如果是API方式提供也是一样的流程,只是游戏数据来源不一样而已。
本方案采用命令字配置,区分不同的业务场景和不同的数据场景,用来实现访问权限控制和访问频率控制;并且对数据进行分类,分为总览数据、列表数据、详情数据,对于详情类型的数据,优先查数据层缓存(目标数据库),因为这种数据是不会变化的;对于列表类数据先去游戏拉首页的数据,与本地的历史列表数据进行对比,如果本地已经是最新的列表数据,则直接在本地读取,如果数据层缓存不是最新的列表数据,则用拉到的列表数据更新补齐本地数据;对于总览数据虽然会有变化,但可以直接去游戏则查询就行,这种数据只需要查一次。这样可以通用、快速的接入多游戏数据,只需要数据层进行兼容修改即可,将极大的提高多游戏的接入效率和保护游戏服务器。甚至当游戏服务器不可用时,游戏社区App的使用也不受影响,只是数据会有延迟,极大的提高了用户的使用体验。
图12为本申请实施例提供的一种数据请求装置的结构示意图。
如图12所示,该装置包括:
数据请求接收单元1201,用于接收游戏社区应用程序App发送的指示获取目标用户在目标网络游戏的目标战绩数据的数据请求;
命令字获取单元1202,用于获取数据请求携带的适用于目标网络游戏的目标命令字,目标命令字表征目标战绩数据在多个数据种类中所属的目标数据种类;
请求频率计算单元1203,用于根据目标命令字确定当前游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率;
数据获取单元1204,用于如果请求频率未超过目标数据种类的请求频率上限,获取至少一个请求策略中与目标数据种类对应的目标请求策略,根据目标请求策略获取数据请求的请求结果;至少一个请求策略中包括优先从历史拉取的目标网络游戏的战绩数据中获取目标战绩数据的请求策略。
进一步的,本申请实施例提供的一种数据请求装置还包括权限检测单元,用于校验数据请求是否拥有对目标战绩数据的访问权限;
相应的,数据获取单元,具体用于如果请求频率未超过目标数据种类的请求频率上限且数据请求拥有对目标战绩数据的访问权限,采用至少一个请求策略中与目标数据种类对应的目标请求策略获取数据请求的请求结果;至少一个请求策略中包括优先从历史拉取的目标网络游戏的战绩数据中获取目标战绩数据的请求策略。
在本申请实施例中,优选的,请求频率计算单元包括:
目标数据请求确定单元,用于查询历史最近时间段内接收到的游戏社区App发送的数据请求中的目标数据请求,目标数据请求携带目标命令字且指示获取目标网络游戏的战绩数据;
计算子单元,用于根据目标数据请求的数量计算历史最近时间段内游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率。
在本申请实施例中,优选的,数据获取单元包括:
目标信息类别确定单元,用于获取目标数据种类的战绩数据所属的目标信息类别;
目标请求策略确定单元,用于查询预先设置的信息类别与请求策略的对应关系,获取目标信息类别对应的目标请求策略;
目标战绩数据获取单元,用于采用目标请求策略获取数据请求的请求结果。
在本申请实施例中,优选的,若目标信息类别表征列表信息,目标战绩数据获取单元,包括:
确定单元,用于确定目标数据库中存储的数据请求的第一请求结果中用于在第一页显示的第一战绩数据;
第一接收单元,用于接收目标网络游戏返回的第二战绩数据,第二战绩数据为目标网络游戏响应数据请求查询到的第二请求结果中用于在第一页显示的战绩数据;
第一判断单元,用于判断第一战绩数据和第二战绩数据是否相同;
第一查询单元,用于如果第一战绩数据和第二战绩数据相同,从目标数据库查询数据请求的第一请求结果;
第一获取单元,用于如果第一战绩数据和第二战绩数据不相同,接收目标网络游戏响应数据请求返回的数据请求的第二请求结果,以及根据第二请求结果更新目标数据库中第一请求结果。
在本申请实施例中,优选的,若目标信息类别表征详情信息,目标战绩数据获取单元,包括:
第二判断单元,用于判断目标数据库中是否存储有目标战绩数据;
第二获取单元,用于如果目标数据库中存储有目标战绩数据,从目标数据库中获取并向游戏社区App返回目标战绩数据;
第二接收单元,用于如果目标数据库中未存储有目标战绩数据,向目标网络游戏转发数据请求,接收目标网络游戏响应数据请求返回的目标战绩数据。
在本申请实施例中,优选的,若目标信息类别表征总览信息,目标战绩数据获取单元,包括:
请求转发单元,用于将数据请求转发至目标网络游戏;
第三判断单元,用于判断是否接收到目标网络游戏响应数据请求返回的数据请求的请求结果;
存储单元,用于如果接收到目标网络游戏响应数据请求返回的数据请求的请求结果,将目标网络游戏返回的数据请求的请求结果存储至目标数据库;
第二查询单元,用于如果未接收到目标网络游戏响应数据请求返回的数据请求的请求结果,从目标数据库查询数据请求的请求结果。
为了便于理解,现从服务器的角度对本申请实施例提供的一种数据请求方法进行详细说明。服务器可以是网络侧为用户提供服务的服务设备,其可能是多台服务器组成的服务器集群,也可能是单台服务器。
图13为本申请实施例提供的一种服务器的硬件结构框图。参照图13,服务器的硬件结构可以包括:处理器1301,通信接口1302,存储器1303和通信总线1304;
在本发明实施例中,处理器1301、通信接口1302、存储器1303、通信总线1304的数量均可以为至少一个,且处理器1301、通信接口1302、存储器1303通过通信总线1304完成相互间的通信;
处理器1301可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器1303可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,程序用于:
接收游戏社区应用程序App发送的指示获取目标用户在目标网络游戏的目标战绩数据的数据请求;
获取数据请求携带的适用于目标网络游戏的目标命令字,目标命令字表征目标战绩数据在多个数据种类中所属的目标数据种类;
根据目标命令字确定当前游戏社区App对目标网络游戏中目标数据种类的战绩数据的请求频率;
如果请求频率未超过目标数据种类的请求频率上限,获取至少一个请求策略中与目标数据种类对应的目标请求策略,根据目标请求策略获取数据请求的请求结果;至少一个请求策略中包括优先从历史拉取的目标网络游戏的战绩数据中获取目标战绩数据的请求策略。
可选的,程序的细化功能和扩展功能可参照上文描述。
更进一步的,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行上述数据请求方法。
可选的,计算机可执行指令的细化功能和扩展功能可参照上文描述。
本申请实施例提供一种数据请求方法、装置、服务器及存储介质,引入命令字的概念,在数据场景上,对数据进行分类,分为总览类数据、列表类数据、详情类数据,来覆盖游戏社区的用户游戏数据场景;在业务场景上,使用命令字的方式,实现对游戏数据进行通用的读写处理;并且通过对命令字的授权、控频来保障数据被读取的安全性和稳定性。游戏社区接入的多个游戏数据都以数据场景+业务场景来处理,这样将极大的节省开发成本和提高系统稳定性,同时也保护了游戏服务器,使用用户的使用体验得到提升。
以上对本发明所提供的一种数据请求方法、装置、服务器及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据请求方法,其特征在于,包括:
接收游戏社区应用程序App发送的指示获取目标用户在目标网络游戏的目标战绩数据的数据请求;
获取所述数据请求携带的适用于所述目标网络游戏的目标命令字,所述目标命令字表征所述目标战绩数据在多个数据种类中所属的目标数据种类;
根据所述目标命令字确定当前所述游戏社区App对所述目标网络游戏中所述目标数据种类的战绩数据的请求频率;
如果所述请求频率未超过所述目标数据种类的请求频率上限,获取至少一个请求策略中与所述目标数据种类对应的目标请求策略,采用所述目标请求策略获取所述数据请求的请求结果;所述至少一个请求策略中包括优先从历史拉取的所述目标网络游戏的战绩数据中获取所述目标战绩数据的请求策略。
2.根据权利要求1所述的方法,其特征在于,还包括:
校验所述数据请求是否拥有对所述目标战绩数据的访问权限;
所述采用至少一个请求策略中与所述目标数据种类对应的目标请求策略获取所述数据请求的请求结果,包括:如果所述数据请求拥有对所述目标战绩数据的访问权限,采用至少一个请求策略中与所述目标数据种类对应的目标请求策略获取所述数据请求的请求结果。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标命令字确定当前所述游戏社区App对所述目标网络游戏中所述目标数据种类的战绩数据的请求频率,包括:
查询历史最近时间段内接收到的所述游戏社区App发送的数据请求中的目标数据请求,所述目标数据请求携带所述目标命令字且指示获取所述目标网络游戏的战绩数据;
根据所述目标数据请求的数量计算所述历史最近时间段内所述游戏社区App对所述目标网络游戏中所述目标数据种类的战绩数据的请求频率。
4.根据权利要求1所述的方法,其特征在于,所述获取至少一个请求策略中与所述目标数据种类对应的目标请求策略,根据所述目标请求策略获取所述数据请求的请求结果,包括:
获取所述目标数据种类的战绩数据所属的目标信息类别;
查询预先设置的信息类别与请求策略的对应关系,获取所述目标信息类别对应的目标请求策略;
采用所述目标请求策略获取所述数据请求的请求结果。
5.根据权利要求4所述的方法,其特征在于,若所述目标信息类别表征列表信息,所述采用所述目标请求策略获取所述数据请求的请求结果,包括:
确定目标数据库中存储的数据请求的第一请求结果中用于在第一页显示的第一战绩数据;
接收所述目标网络游戏返回的第二战绩数据,所述第二战绩数据为所述目标网络游戏响应所述数据请求查询到的第二请求结果中用于在所述第一页显示的战绩数据;
判断所述第一战绩数据和所述第二战绩数据是否相同;
如果所述第一战绩数据和所述第二战绩数据相同,从所述目标数据库查询所述数据请求的第一请求结果;
如果所述第一战绩数据和所述第二战绩数据不相同,接收所述目标网络游戏响应所述数据请求返回的所述数据请求的第二请求结果,以及根据所述第二请求结果更新所述目标数据库中所述第一请求结果。
6.根据权利要求4所述的方法,其特征在于,若所述目标信息类别表征详情信息,所述采用所述目标请求策略获取所述数据请求的请求结果,包括:
判断目标数据库中是否存储有所述目标战绩数据;
如果所述目标数据库中存储有所述目标战绩数据,从所述目标数据库中获取并向所述游戏社区App返回所述目标战绩数据;
如果所述目标数据库中未存储有所述目标战绩数据,向所述目标网络游戏转发所述数据请求,接收所述目标网络游戏响应所述数据请求返回的所述目标战绩数据。
7.根据权利要求4所述的方法,其特征在于,若所述目标信息类别表征总览信息,所述采用所述目标请求策略获取所述数据请求的请求结果,包括:
将所述数据请求转发至所述目标网络游戏;
判断是否接收到所述目标网络游戏响应所述数据请求返回的所述数据请求的请求结果;
如果接收到所述目标网络游戏响应所述数据请求返回的所述数据请求的请求结果,将所述目标网络游戏返回的所述数据请求的请求结果存储至目标数据库;
如果未接收到所述目标网络游戏响应所述数据请求返回的所述数据请求的请求结果,从所述目标数据库查询所述数据请求的请求结果。
8.一种数据请求装置,其特征在于,包括:
数据请求接收单元,用于接收游戏社区应用程序App发送的指示获取目标用户在目标网络游戏的目标战绩数据的数据请求;
命令字获取单元,用于获取所述数据请求携带的适用于所述目标网络游戏的目标命令字,所述目标命令字表征所述目标战绩数据在多个数据种类中所属的目标数据种类;
请求频率计算单元,用于根据所述目标命令字确定当前所述游戏社区App对所述目标网络游戏中所述目标数据种类的战绩数据的请求频率;
数据获取单元,用于如果所述请求频率未超过所述目标数据种类的请求频率上限,获取至少一个请求策略中与所述目标数据种类对应的目标请求策略,采用所述目标请求策略获取所述数据请求的请求结果;所述至少一个请求策略中包括优先从历史拉取的所述目标网络游戏的战绩数据中获取所述目标战绩数据的请求策略。
9.一种服务器,其特征在于,包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现如权利要求1-7任意一项所述的数据请求方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-7任意一项所述的数据请求方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011044190.9A CN112182344B (zh) | 2020-09-28 | 2020-09-28 | 一种数据请求方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011044190.9A CN112182344B (zh) | 2020-09-28 | 2020-09-28 | 一种数据请求方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112182344A CN112182344A (zh) | 2021-01-05 |
CN112182344B true CN112182344B (zh) | 2023-09-15 |
Family
ID=73946395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011044190.9A Active CN112182344B (zh) | 2020-09-28 | 2020-09-28 | 一种数据请求方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112182344B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102789439A (zh) * | 2012-06-16 | 2012-11-21 | 北京忆恒创源科技有限公司 | 控制数据传输过程中的中断的方法 |
CN110960856A (zh) * | 2019-12-23 | 2020-04-07 | 上海米哈游网络科技股份有限公司 | 一种游戏数据管理系统、管理方法及存储介质 |
CN111193698A (zh) * | 2019-08-22 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、终端及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9526993B2 (en) * | 2013-08-02 | 2016-12-27 | Steelseries Aps | Systems and methods for associating players of electronic games |
-
2020
- 2020-09-28 CN CN202011044190.9A patent/CN112182344B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102789439A (zh) * | 2012-06-16 | 2012-11-21 | 北京忆恒创源科技有限公司 | 控制数据传输过程中的中断的方法 |
CN111193698A (zh) * | 2019-08-22 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、终端及存储介质 |
CN110960856A (zh) * | 2019-12-23 | 2020-04-07 | 上海米哈游网络科技股份有限公司 | 一种游戏数据管理系统、管理方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112182344A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11281658B2 (en) | Trustless stateless incentivized remote node network using minimal verification clients | |
CN106911780B (zh) | 业务id生成方法、装置及系统 | |
US9860316B2 (en) | Routing network traffic based on social information | |
US7457828B2 (en) | System and method for synchronizing distributed buffers when committing data to a database | |
CN106649349B (zh) | 用于游戏应用的数据缓存方法、装置和系统 | |
US9952783B2 (en) | Data processing method and apparatus, and shared storage device | |
US9722879B1 (en) | Method and apparatus of an intuitive web based command line interface | |
US10275347B2 (en) | System, method and computer program product for managing caches | |
US10783212B2 (en) | Method and apparatus for realizing communication between web page and native application, and electronic device | |
EP3557841A1 (en) | Dns attack defense method, apparatus and system | |
KR100954624B1 (ko) | 개인 선호도에 따라서 콘텐츠를 제공하기 위한 방법 및시스템 | |
JP2012533820A (ja) | プラグイン権限制御の方法及びシステム | |
KR102376254B1 (ko) | 분산 식별자 관리 방법 및 장치 | |
CN110795395B (zh) | 文件部署系统和文件部署方法 | |
US20100169982A1 (en) | License management apparatus, license management method, and computer readable medium | |
CN108777718B (zh) | 一种业务系统通过客户端访问读多写少系统的方法和装置 | |
US20210203732A1 (en) | Contextual routing configuration and service naming for multi-cluster service mesh | |
CN113010549A (zh) | 基于异地多活系统的数据处理方法、相关设备及存储介质 | |
CA3058061A1 (en) | Permission processing method, device, application side device and storage media | |
CN112182344B (zh) | 一种数据请求方法、装置、服务器及存储介质 | |
US11210272B2 (en) | Low latency cache synchronization in distributed databases | |
JP2008287660A (ja) | キャッシュサーバ、キャッシュ管理方法、およびキャッシュ管理プログラム | |
CN106778355A (zh) | 数据的隔离访问方法和装置 | |
CN113448976B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
WO2017092356A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |