CN112206540A - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
CN112206540A
CN112206540A CN202011121361.3A CN202011121361A CN112206540A CN 112206540 A CN112206540 A CN 112206540A CN 202011121361 A CN202011121361 A CN 202011121361A CN 112206540 A CN112206540 A CN 112206540A
Authority
CN
China
Prior art keywords
data
operation code
interface
identifier
updating
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.)
Granted
Application number
CN202011121361.3A
Other languages
English (en)
Other versions
CN112206540B (zh
Inventor
林杨威
施润丰
梁波
杨将鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Kingsoft Online Game Technology Co Ltd
Original Assignee
Zhuhai Kingsoft Online Game Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuhai Kingsoft Online Game Technology Co Ltd filed Critical Zhuhai Kingsoft Online Game Technology Co Ltd
Priority to CN202011121361.3A priority Critical patent/CN112206540B/zh
Publication of CN112206540A publication Critical patent/CN112206540A/zh
Application granted granted Critical
Publication of CN112206540B publication Critical patent/CN112206540B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/88Mini-games executed independently while main games are being loaded
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5526Game data structure
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5586Details of game data or player data management for enforcing rights or rules, e.g. to prevent foul play
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供数据处理方法及装置,其中所述数据处理方法包括:接收第一客户端针对目标游戏提交的第一操作码;对所述第一操作码进行解析,确定所述第一操作码对应的更新接口以及待更新数据的第一数据标识;调用所述更新接口,对所述更新接口对应的数据块中的所述待更新数据进行更新,其中,所述更新接口的输入为所述第一数据标识,所述更新接口的接口类型与所述数据块的数据类型一一对应;更新完成后,确定所述第一操作码对应的第二操作码,其中,所述第二操作码为所述目标游戏中针对所述第一客户端的操作码;将所述第二操作码对应的目标更新数据块中的目标数据以及所述第二操作码发送至所述第一客户端,其中,所述目标数据包含所述待更新数据对应的更新数据。

Description

数据处理方法及装置
技术领域
本申请涉及数据处理技术领域,特别涉及数据处理方法及装置、计算设备和计算机可读存储介质。
背景技术
随着互联网的发展,小游戏越来越受玩家的喜爱,小游戏的种类也越来越多样,目前小游戏中的游戏数据,在服务器和客户端中都做一样的存储,因此可能存在玩家通过逆向客户端,在游戏过程中获取其不应获知的游戏数据,以赢得游戏,游戏数据的安全性以及游戏的公平性都没有得到保障,因此,需要更可靠的解决方案。
发明内容
有鉴于此,本申请实施例提供了数据处理方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本申请实施例的第一方面,提供了一种数据处理方法,包括:
接收第一客户端针对目标游戏提交的第一操作码;
对所述第一操作码进行解析,确定所述第一操作码对应的更新接口以及待更新数据的第一数据标识;
调用所述更新接口,对所述更新接口对应的数据块中的所述待更新数据进行更新,其中,所述更新接口的输入为所述第一数据标识,所述更新接口的接口类型与所述数据块的数据类型一一对应;
更新完成后,确定所述第一操作码对应的第二操作码,其中,所述第二操作码为所述目标游戏中针对所述第一客户端的操作码;
将所述第二操作码对应的目标更新数据块中的目标数据以及所述第二操作码发送至所述第一客户端,其中,所述目标数据包含所述待更新数据对应的更新数据。
可选的,所述对所述第一操作码进行解析,确定所述第一操作码对应的更新接口以及待更新数据的第一数据标识,包括:
对所述第一操作码进行解析,生成第一操作标识以及第二数据标识;
根据所述第一操作标识,确定所述第一操作标识对应的所述更新接口;
判断所述第二数据标识是否为空;
若否,将所述第二数据标识作为所述第一数据标识。
可选的,所述判断所述第二数据标识是否为空的判断结果为是,执行如下操作:
根据所述第一操作标识以及私有数据块中存储的游戏数据的存储顺序,确定所述待更新数据的所述第一数据标识。
可选的,所述接收第一客户端针对目标游戏提交的第一操作码步骤执行之前,还包括:
接收针对所述目标游戏提交的游戏启动指令;
基于所述游戏启动指令,在内存空间创建公有数据块、私有数据块以及玩家数据块;
确定所述目标游戏的游戏数据在所述私有数据块中的存储顺序;
按照所述存储顺序将所述目标游戏的游戏数据在所述私有数据块中进行存储。
可选的,所述调用所述更新接口,对所述更新接口对应的数据块中的所述待更新数据进行更新,包括:
调用私有数据更新接口,对私有数据块中所述第一数据标识对应的所述待更新数据进行更新;
调用玩家数据更新接口,对玩家数据块中所述第一数据标识对应的所述待更新数据进行更新。
可选的,所述调用所述更新接口,对所述更新接口对应的数据块中的所述待更新数据进行更新步骤执行之后,还包括:
更新完成后,确定所述第一操作码对应的第三操作码,其中,所述第三操作码为所述目标游戏中第二客户端的操作码;
判断所述第三操作码是否为空;
若否,将所述第三操作码对应的第二目标更新数据块中的第二目标数据以及所述第三操作码发送至所述第二客户端。
可选的,所述更新接口,包括:公有数据更新接口、私有数据更新接口以及玩家数据更新接口;
相应的,所述数据块包括:公有数据块、私有数据块以及玩家数据块。
可选的,所述目标数据,包括:所述待更新数据对应的更新数据,或所述目标更新数据块中包含的目标游戏数据。
根据本申请实施例的第二方面,提供了另一种数据处理方法,包括:
向服务器提交针对目标游戏的第一操作码;
接收所述服务器针对所述目标游戏下发的与所述第一操作码对应的第二操作码以及所述第二操作码对应的目标数据;
对所述第二操作码进行解析,确定所述第二操作码对应的获取接口、待获取数据块以及待获取数据的数据标识;
根据所述目标数据,更新所述待获取数据块;
调用所述获取接口,获取所述待获取数据块中的所述待获取数据并处理,其中,所述获取接口的输入为所述数据标识,所述获取接口的接口类型与所述数据块的数据类型一一对应,所述待获取数据为所述目标数据中的数据。
可选的,所述对所述第二操作码进行解析,确定所述第二操作码对应的获取接口、待获取数据块以及待获取数据的数据标识,包括:
对所述第二操作码进行解析,生成第二操作标识以及所述数据标识;
根据所述第二操作标识,确定所述第二操作标识对应的所述获取接口以及所述待获取数据块。
可选的,所述调用所述获取接口,获取所述待获取数据块中的所述待获取数据,包括:
调用玩家数据获取接口,对玩家数据块中所述数据标识对应的所述待获取数据进行获取。
可选的,所述获取接口,包括:公有数据获取接口以及玩家数据获取接口;
相应的,所述待获取数据块包括:公有数据块以及玩家数据块。
根据本申请实施例的第三方面,提供了一种数据处理装置,包括:
第一接收模块,被配置为接收第一客户端针对目标游戏提交的第一操作码;
第一确定模块,被配置为对所述第一操作码进行解析,确定所述第一操作码对应的更新接口以及待更新数据的第一数据标识;
第一更新模块,被配置为调用所述更新接口,对所述更新接口对应的数据块中的所述待更新数据进行更新,其中,所述更新接口的输入为所述第一数据标识,所述更新接口的接口类型与所述数据块的数据类型一一对应;
第二确定模块,被配置为更新完成后,确定所述第一操作码对应的第二操作码,其中,所述第二操作码为所述目标游戏中针对所述第一客户端的操作码;
发送模块,被配置为将所述第二操作码对应的目标更新数据块中的目标数据以及所述第二操作码发送至所述第一客户端,其中,所述目标数据包含所述待更新数据对应的更新数据。
根据本申请实施例的第四方面,提供了另一种数据处理装置,包括:
提交模块,被配置为向服务器提交针对目标游戏的第一操作码;
第二接收模块,被配置为接收所述服务器针对所述目标游戏下发的与所述第一操作码对应的第二操作码以及所述第二操作码对应的目标数据;
第三确定模块,被配置为对所述第二操作码进行解析,确定所述第二操作码对应的获取接口、待获取数据块以及待获取数据的数据标识;
第二更新模块,被配置为根据所述目标数据,更新所述待获取数据块;
获取模块,被配置为调用所述获取接口,获取所述待获取数据块中的所述待获取数据并处理,其中,所述获取接口的输入为所述数据标识,所述获取接口的接口类型与所述待获取数据块的数据类型一一对应,所述待获取数据为所述目标数据中的数据。
根据本申请实施例的第五方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述数据处理方法的步骤。
根据本申请实施例的第六方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述数据处理方法的步骤。
本申请实施例提供的数据处理方法,服务器通过对不同类型的数据接口以及不同数据类型的数据块进行区分,按照不同数据类型的数据块对目标游戏中的游戏数据进行更新,并将更新的数据同步至第一客户端,以供第一客户端对更新的数据进行相应的处理,避免了在第一客户端进行游戏数据的更新,而是在第一客户端进行游戏数据的同步,从而保障了游戏过程中,第一客户端的游戏数据的安全性,还进一步避免玩家通过外挂在客户端获知未显示的数据,也保障了游戏的公平性。
附图说明
图1是本申请实施例提供的计算设备的结构框图;
图2是本申请实施例提供的一种数据处理方法的流程图;
图3是本申请实施例提供的另一种数据处理方法的流程图;
图4是本申请实施例提供的应用于牌类游戏的一种数据处理方法的流程图;
图5是本申请实施例提供的一种数据处理装置的结构示意图;
图6是本申请实施例提供的另一种数据处理装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请中,提供了数据处理方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示的一种数据处理方法中的步骤。图2示出了本申请一实施例提供的一种数据处理方法的流程图,应用于服务器,该方法包括步骤202至步骤210。
步骤202:接收第一客户端针对目标游戏提交的第一操作码。
实际应用中,游戏中的游戏数据不仅在服务器进行存储,还在客户端进行存储,这种情况下,在服务器和客户端都存储一样的游戏数据,因此,可能存在玩家通过在客户端安装外挂,获取其在游戏过程中不应获知的游戏数据,从而对游戏的公平性造成破坏。
本申请实施例,为了保障游戏数据的安全性,通过对游戏数据进行分类,将对于玩家不可见的游戏数据,不在客户端进行存储,只在服务端进行存储,玩家只有在需要看到游戏数据时,才能从服务端获得下发的游戏数据,避免了玩家通过逆向客户端,在游戏过程中获取其他玩家的游戏数据,或提前获知未知的游戏数据,增加了游戏数据的安全性,也保障了玩家在游戏过程中的公平性。
具体的,所述目标游戏,可以是棋牌游戏、回合制策略游戏等小游戏,在此不做限制。
所述第一操作码,是指基于玩家在客户端的用户界面对游戏进行操作,或客户端按照游戏进程自行触发所生成的,对下一游戏操作具有指示性的数据编码,具体的,此操作码可以是二进制编码,数字编码或字符串编码等,在此不做限制。
以牌类游戏为例:目标游戏有4个玩家,玩家1号的上一玩家的操作回合结束后,触发玩家1号进行摸牌,则玩家1号的客户端C向服务器提交针对玩家1号进行摸牌的第一操作码:“1100”,服务器接收玩家1号的客户端C上传的针对目标游戏的第一操作码:“1100”。
实际应用中,在玩家进行游戏之前,需要先对目标游戏中的游戏数据进行初始化,通过在服务器创建目标游戏的三种数据块,对游戏数据进行分类,以便后续根据游戏数据的类型,确定哪些数据应该向客户端进行同步,哪些数据不应向客户端进行同步,保障了数据的安全性,本申请实施例提供的一种可选实施方式中,对目标游戏中的游戏数据进行初始化,具体通过如下方式实现:
接收针对所述目标游戏提交的游戏启动指令;
基于所述游戏启动指令,在内存空间创建公有数据块、私有数据块以及玩家数据块;
确定所述目标游戏的游戏数据在所述私有数据块中的存储顺序;
按照所述存储顺序将所述目标游戏的游戏数据在所述私有数据块中进行存储。
其中,所述公有数据块中用于存放所有玩家可见的游戏数据,比如牌桌上打出的牌,私有数据块中用于存放玩家不可见的游戏数据,比如,牌桌上还未拿起的牌,所述玩家数据块用于存放只供玩家自身可见的游戏数据,比如,玩家的手牌,本说明书实施例,私有数据块中存储的游戏数据并不与客户端进行同步,玩家数据块中存储的游戏数据只向对应的玩家的客户端进行同步,以此保障游戏数据的安全性。
所述目标游戏的游戏数据,以牌类游戏为例,牌类游戏的游戏数据,可以是牌本身,比如“一条”,还可以是牌对应的数据编码,比如“23”等,在此不做限制;则相应的,所述存储顺序,表明了牌在牌类游戏中的摆放顺序,一旦确定存储顺序,并在私有数据块中进行存储之后,就可以确定玩家摸牌的顺序,比如玩家第一张摸的牌是什么牌,第二张摸的牌是什么牌等。
具体实施时,当所有玩家都在各自的客户端开始目标游戏之后,向服务器发送游戏启动指令,游戏启动指令中,携带游戏标识,服务器根据游戏标识,在内存空间中,创建三种数据块:公有数据块、私有数据块以及玩家数据块;
在创建上述三种数据块的基础上,确定目标游戏中的游戏数据在私有数据块中的存储顺序,并将游戏数据按照确定的存储顺序在私有数据块中进行存储。
以牌类游戏为例,当目标游戏中4个玩家都在各自的客户端点击游戏开始之后,客户端向服务器发送游戏启动指令,游戏启动指令中携带该牌类游戏的游戏标识,服务器根据此游戏标识,在内存空间创建三种数据块:公有数据块、私有数据块以及玩家数据块,并确定该牌类游戏中包含的108张牌在私有数据块中的存储顺序,将这108张牌按照确定的存储顺序,在私有数据块中进行存储。
步骤204:对所述第一操作码进行解析,确定所述第一操作码对应的更新接口以及待更新数据的第一数据标识。
可选的,所述更新接口,包括:公有数据更新接口、私有数据更新接口以及玩家数据更新接口。
本申请实施例提供的一种可选实施方式中,所述对所述第一操作码进行解析,确定所述第一操作码对应的更新接口以及待更新数据的第一数据标识,具体通过如下方式实现:
对所述第一操作码进行解析,生成第一操作标识以及第二数据标识;
根据所述第一操作标识,确定所述第一操作标识对应的所述更新接口;
判断所述第二数据标识是否为空;
若是,客户端对待更新数据是未知的,可选的,根据所述第一操作标识以及私有数据块中存储游戏数据的存储顺序,确定所述待更新数据的所述数据标识;
若否,将所述第二数据标识作为所述第一数据标识。
其中,所述第一操作标识,用于标识客户端执行何种操作,比如,打牌操作、摸牌操作等,具体的,在生成第一操作标识的基础上,即可确定第一操作标识对应的更新接口。
可选的,所述更新接口,包括:公有数据更新接口、私有数据更新接口以及玩家数据更新接口,则公有数据更新接口与公有数据块对应,私有数据更新接口与私有数据块对应,玩家数据更新接口与玩家数据块对应,即公有数据更新接口用于更新公有数据块中的游戏数据,私有数据更新接口用于更新私有数据块中的游戏数据,玩家数据更新接口用于更新玩家数据块中的游戏数据。
比如:在确定第一操作标识表示“打牌操作”的基础上,即可确定打牌操作对应的更新接口为玩家数据更新接口以及公有数据更新接口,即执行打牌操作,需要将要打的牌从玩家数据块中的牌更新到公有数据中,而在确定第一操作标识表示“摸牌操作”的基础上,即可确定摸牌操作对应的更新接口为私有数据更新接口以及玩家数据更新接口,即执行摸牌操作,需要将牌从私有数据块中更新到玩家数据块中。
所述第二数据标识,用于标识对哪个/哪些数据进行操作,比如,玩家1号打牌,打出的牌则表示将要操作的数据,这些数据的数据标识即为第二数据标识。
具体实施时,第一操作码可以采用几个数据位对应第一操作标识,另几个数据位对应数据标识,比如上述第一操作码“1100”,可以将前两个数据位的数据对应第一操作标识,后两个数据位对应数据标识,还可以将前一个数据位的数据对应第一操作标识,后三个数据位对应数据标识等,在此不做限制。
需要说明的是,对于一些游戏操作,由于客户端在接收用户的操作指令时,并不清楚即将操作什么游戏数据,因此服务器对接收的第一操作码进行解析,获得的第二数据标识有可能为空,比如,由于玩家1号是进行摸牌操作,而客户端并没有存储牌桌上未拿起的牌,因此,客户端虽触发了摸牌这个操作,但对于将要摸到什么牌是未知的,则第一数据标识为空。
沿用上例,服务器在接收到第一操作码“1100”的基础上,调用脚本对此第一操作码“1100”进行解析,生成第一操作标识为:“11”,第二数据标识为空,其中,生成第一操作标识为:“11”,表示摸牌操作,则确定第一操作标识“11”对应的更新接口为私有数据更新接口以及玩家数据更新接口;第二数据标识为空,则判断第二数据标识是否为空的判断结果为是,表示客户端对于要摸的牌是什么牌是未知的,则根据第一操作标识“11”以及私有数据块中未拿起的牌的存储顺序,确定待摸起的牌的第一数据标识为“01”。
假设,服务器接收到的第一操作码为“1001”,调用脚本对第一操作码“1001”进行解析,生成第一操作标识为“10”,第二数据标识为“01”,其中,第一操作标识为“10”,表示打牌操作,即可确定第二操作标识“10”对应的更新接口为玩家数据更新接口以及公有数据更新接口,第二数据标识“01”,表示游戏数据为“一条”,则判断第二数据标识是否为空的判断结果为否,则将第二数据标识“01”,作为待更新数据的第一数据标识。
步骤206:调用所述更新接口,对所述更新接口对应的数据块中的所述待更新数据进行更新。
其中,所述更新接口的输入为所述第一数据标识,所述更新接口的接口类型与所述数据块的数据类型一一对应。
具体实施时,通过不同的更新接口对不同的数据块中的游戏数据进行更新,避免了数据块中数据被随意串改,增加了数据的安全性,本申请实施例提供的一种可选实施方式中,所述调用所述更新接口,对所述更新接口对应的数据块中的所述待更新数据进行更新,具体采用如下方式实现:
调用私有数据更新接口,对私有数据块中所述第一数据标识对应的所述待更新数据进行更新;
调用玩家数据更新接口,对玩家数据块中所述第一数据标识对应的所述待更新数据进行更新。
实际应用中,对数据块中的待更新数据进行更新的更新方式是多种多样的,具体的,可以将游戏数据添加对应的数据标记位在数据块中进行存储,即待更新数据存在对应的数据标记位,则更新时,通过更新数据块中数据标记位对待更新数据进行更新,比如,每张牌在各个数据块中都对应一个数据标记位,其中,数据标记位为“0”表示在该数据块中无牌,为“1”表示该数据块中有牌,则通过将一张牌在数据块中对应的数据标记位从“1”变为“0”,或这将这张牌在数据块中对应的数据标记位从“0”变为“1”,即可完成对这张牌在数据块中的更新;还可以通过将待更新数据在数据块中进行添加或移除,对待更新数据进行更新,比如:在私有数据块中存储有“红桃3”,在玩家摸牌时,将私有数据块中的“红桃3”移除,添加至该玩家的玩家数据块中,此外,还有其他的更新方式,在此不做限制。
沿用上例,根据上述第一操作标识:“11”,确定的更新接口为私有数据更新接口以及玩家数据更新接口的基础上,将确定的第一数据标识“01”输入私有数据更新接口,通过私有数据更新接口,将私有数据块中与第一数据标识“01”对应的待更新数据的数据标记位从“1”,更新为“0”,并第一将数据标识“01”输入玩家数据更新接口,将玩家数据块中与第一数据标识“01”对应的待更新数据的数据标记位从“0”,更新为“1”,以将第一数据标识“01”对应的待更新数据从私有数据块更新至玩家数据块。
步骤208:更新完成后,确定所述第一操作码对应的第二操作码,其中,所述第二操作码为所述目标游戏中针对所述第一客户端的操作码。
实际应用中,由于服务器和客户端都是基于操作码对目标游戏中的游戏数据进行操作,然而在某一玩家执行游戏操作时,这一玩家和其他玩家看到的数据可能是不同的,即不同的客户端可能需要执行不同的操作,它们对应的操作码不同,比如,在牌类游戏中,某一回合中摸牌的玩家在进行摸牌操作时,该摸牌的玩家所操作的客户端和其他非摸牌的玩家所操作的客户端对数据的操作是不同的,因此对应的操作码也是不同的。
需要说明的是,所述第一客户端为执行游戏操作的玩家所操作的客户端,事实上,第一客户端也为发送第一操作码的客户端。
具体的,执行游戏操作的玩家通过客户端针对目标游戏执行游戏操作,其所操作的客户端根据玩家所执行的游戏操作,生成针对目标游戏的第一操作码,并发送至服务器,服务器接收此第一操作码,并按照第一操作码所指示的在服务器完成相应的操作,服务器在完成操作后,需要将此操作在参与目标游戏的各个客户端进行同步,因此,根据第一操作码,确定各个客户端所要执行的操作,即生成对应的操作码,将操作码发送至对应的客户端,以指示客户端执行相应的操作。
以牌类游戏为例,客户端对应的操作码,可以分为执行游戏操作的玩家所操作的第一客户端对应的第二操作码,以及非执行游戏操作的玩家所操作的第二客户端对应的第三操作码,具体实施时,确定第一操作码对应的针对其他客户端的操作码,可以根据预设的服务器操作码与客户端操作码之间的映射关系进行确定,还可以根据第一操作码解析出的第一操作标识以及第一数据标识,分别确定第一操作标识对应的针对其他客户端的操作标识,再根据第一操作标识以及第一数据标识,确定第一数据标识对应的针对其他客户端的数据标识,再根据确定出的操作标识以及数据标识,生成操作码;
而确定第一操作标识针对其他客户端的操作标识,可以根据预设的服务器操作标识和客户端操作标识之间的映射关系进行确定。
沿用上例,在上述服务器调用私有更新接口以及玩家数据更新接口,分别对私有数据块以及玩家数据块中第一数据标识“01”对应的待更新数据的数据标记位进行更新的基础上,根据预设的服务器操作标识与第一客户端操作标识的对应关系,确定针对第一操作标识“10”对应的针对第一客户端的第二操作标识为“100”,表示获取操作,而获取操作对应的数据标识不变,则根据第二操作标识以及第一数据标识,生成第二操作码“10001”。
步骤210:将所述第二操作码对应的目标更新数据块中的目标数据以及所述第二操作码发送至所述第一客户端。
可选的,所述目标数据,包括:所述待更新数据对应的更新数据,或所述目标更新数据块中包含的目标游戏数据。
具体的,所述更新数据,为所述待更新数据被更新后的游戏数据。
由于服务器向客户端进行数据同步时,不会同步私有数据块中的游戏数据,以及其他客户端对应的玩家数据,因此,第二操作码对应的目标更新数据块中不包含私有数据块,即所述目标更新数据块,包括:公有数据块,和/或玩家数据块;
相应的,所述目标游戏数据,在目标更新数据块包含公有数据块的情况下,所述目标游戏数据包含:公有数据块中包含的所有游戏数据;在目标更新数据块包含玩家数据块的情况下,所述目标游戏数据包含:玩家数据块中第一客户端对应的玩家的游戏数据,比如,玩家数据块中包括4个玩家的游戏数据,而第一客户端对应的玩家为玩家1号,则上述目标游戏数据包含:玩家数据块中玩家1号对应的游戏数据。
具体实施时,服务器将第二操作码对应的目标数据以及第二操作码发送至第一客户端,以便第一客户端根据所述目标数据以及所述第二操作码,获取服务器更新的数据,并进行相应的处理。
实际应用中,可以根据上述第二操作标识,确定第二操作标识对应的数据块,将第二操作标识对应的数据块作为所述第二操作码对应的目标更新数据块。
沿用上例,在上述确定第二操作码为“10001”的基础上,进一步根据获取操作,确定获取操作对应的数据块为“玩家数据块”,则确定第二操作码对应的目标更新数据块为“玩家数据块”,并将玩家数据块中的玩家1号的游戏数据作为目标数据,则将玩家数据块中玩家1号的游戏数据以及第二操作码发送至第一客户端。
实际应用中,除上述第一客户端之外,还存在与第一客户端执行不同操作的第二客户端,也需要根据服务器的更新,进行相应的同步,使各个客户端之间的游戏操作可以进行同步,增加了目标游戏的稳定性,本申请实施例提供的一种可选实施方式中,上述调用所述更新接口,对所述更新接口对应的数据块中的所述待更新数据进行更新步骤执行之后,还包括:
更新完成后,确定所述第一操作码对应的第三操作码,其中,所述第三操作码为所述目标游戏中第二客户端的操作码;
判断所述第三操作码是否为空;
若是,表明无需向第二客户端同步数据,不做操作即可;
若否,表明需要向第二客户端同步数据,将所述第三操作码对应的第二目标更新数据块中的第二目标数据以及所述第三操作码发送至所述第二客户端。
具体的,确定第三操作码的具体实现与上述确定第二操作码实现方式类似,参考上述确定第二操作码的实现即可,此外,所述第二目标数据与上述目标数据类似,所述第二目标更新数据块与上述目标更新数据块类似,参考上述相关描述即可,在此不再赘述。
需要说明的是,对于摸牌操作来说,只有摸牌的玩家才需要对数据进行操作,因此若服务器的操作只涉及私有数据块以及玩家数据块,则无需向其他客户端进行数据同步,即判断所述第三操作码是否为空的判断结果为空的情况下,无需发送第三操作码。
沿用上例,在上述服务器调用私有更新接口以及玩家数据更新接口,分别对私有数据块以及玩家数据块中第一数据标识“01”对应的待更新数据的数据标记位进行更新的基础上,在第一操作码为“1100”的情况下,根据预设的服务器操作标识与第二客户端操作标识的对应关系,确定针对第一操作标识“11”对应的针对第二客户端的第三操作标识为“空”,则表明无需向第二客户端同步数据,不做操作即可;
假设,在第一操作码为“1001”的情况下,根据预设的服务器操作标识与第二客户端操作标识的对应关系,确定针对第一操作标识“10”对应的针对第二客户端的第三操作标识为“101”,表示展示操作,而展示操作对应的数据标识不变,则根据第三操作标识以及第一数据标识,生成第三操作码“10101”,并确定展示操作对应的数据块为“公有数据块”,则确定第三操作码对应的第二目标更新数据块为“公有数据块”,并将公有数据块中的游戏数据为第二目标数据,则将公有数据块中的游戏数据以及第三操作码“10101”发送至第二客户端。
具体实施时,服务器将第三操作码对应的第二目标数据以及第三操作码发送至第二客户端,以便第二客户端根据所述第二目标数据以及所述第三操作码,获取服务器所更新的数据,并进行相应的处理。
本申请实施例提供的数据处理方法,服务器通过对不同类型的数据接口以及不同数据类型的数据块进行区分,按照不同数据类型的数据块对目标游戏中的游戏数据进行更新,并将更新的数据同步至第一客户端,以供第一客户端对更新的数据进行相应的处理,避免了在第一客户端进行游戏数据的更新,而是在第一客户端进行游戏数据的同步,从而保障了游戏过程中,第一客户端的游戏数据的安全性,还进一步避免玩家通过外挂在客户端获知未显示的数据,也保障了游戏的公平性。
此外,处理器120可以执行图3所示的另一种数据处理方法中的步骤。本申请提供的另一种方法实施例与上述方法实施例相对应,本实施例的执行主体为客户端,而上述方法实施例的执行主体是服务器,两个实施例相互配合完成为目标游戏的数据处理,阅读本实施例时,可与上述方法实施例相对应。图3示出了本申请一实施例提供的另一种数据处理方法的流程图,应用于客户端,该方法包括步骤302至步骤310。
步骤302:向服务器提交针对目标游戏的第一操作码。
本申请实施例,所述客户端为上述方法实施例中的第一客户端,与上述方法实施例相配合,完成对目标游戏的数据处理,本方法实施例中未详细描述的部分,可以参考上述方法实施例。
实际应用中,所述第一操作码为玩家通过在客户端针对目标游戏进行游戏操作,或按照对目标游戏的游戏进程由客户端主动触发所生成,客户端将目标游戏的第一操作码向服务端提交。
以牌类游戏为例,客户端向服务器提交的第一操作码为“1001”。
步骤304:接收所述服务器针对所述目标游戏下发的与所述第一操作码对应的第二操作码以及所述第二操作码对应的目标数据。
实际应用中,服务器在根据客户端提交的第一操作码进行相应操作之后,向客户端下发第一操作码对应的第二操作码,以指示客户端根据第二操作码进行相应的操作。
沿用上例,客户端接收服务器下发的与第一操作码“1001”对应的第二操作码为“10001”,以及与第二操作码“10001”对应的目标数据玩家1号的游戏数据。
步骤306:对所述第二操作码进行解析,确定所述第二操作码对应的获取接口、待获取数据块以及待获取数据的数据标识。
具体的,所述获取接口,用于在服务器下发的目标数据中获取所述待获取数据,以便后续对待获取数据进行处理。
本申请实施例提供的一种可选实施方式中,所述对所述第二操作码进行解析,确定所述第二操作码对应的获取接口、待获取数据块以及待获取数据的数据标识,具体采用如下方式实现:
对所述第二操作码进行解析,生成第二操作标识以及所述数据标识;
根据所述第二操作标识,确定所述第二操作标识对应的所述获取接口以及所述待获取数据块。
具体的,对所述第二操作码进行解析,与上述方法实施例中对第一操作码进行解析的具体实现类似,参考上述对第一操作码进行解析的具体实现即可,在此不再赘述。
具体实施时,根据第二操作标识,可以确定对应的待操作的数据块,此待操作的数据块,即为所述待获取数据块,比如:第二操作标识,表示获取操作,即可确定待获取数据块为玩家数据块,具体实施时,根据第二操作标识,确定第二操作标识对应的待获取数据块,可以根据预设的操作标识与数据块的对应关系进行确定。
沿用上例,对第二操作码“10001”进行解析,确定针对第二操作标识为“100”表示获取操作,待获取数据的数据标识为“01”,根据第二操作标识“100”,确定第二操作标识“100”对应的获取接口为玩家数据获取接口,待获取数据块为玩家数据块。
步骤308:根据所述目标数据,更新所述待获取数据块。
实际应用中,客户端接收服务器下发的目标数据之后,根据目标数据,对第二操作码对应的待获取数据块中的游戏数据进行更新,实现服务器与客户端之间数据块的同步。
沿用上例,根据上述获取的玩家1号的游戏数据对客户端的玩家数据块中的数据进行更新。
步骤310:调用所述获取接口,获取所述待获取数据块中的所述待获取数据并处理。
其中,所述获取接口的输入为所述数据标识,所述获取接口的接口类型与所述待获取数据块的数据类型一一对应,所述待获取数据为所述目标数据中的数据。
可选的,所述获取接口,包括:公有数据获取接口以及玩家数据获取接口;相应的,所述待获取数据块包括:公有数据块以及玩家数据块。其中,所述公有数据获取接口与所述公有数据块对应,所述玩家数据获取接口与所述玩家数据块对应。
实际应用中,客户端不存在私有数据块,并且客户端的玩家数据块包含的游戏数据为:客户端对应的玩家的游戏数据,比如,以牌类游戏为例,客户端对应的玩家为玩家1号,则该客户端的玩家数据块中包含的游戏数据为玩家1号的手牌。
具体实施时,客户端通过上述确定的获取接口,获取目标数据中的待获取数据之后,是为了对待获取数据进行相应的处理,使待获取数据在客户端的用户界面进行相应的展示,以使玩家在客户端看到其在客户端进行游戏操作的操作效果。
本申请实施例提供的一种可选实施方式中,所述调用所述获取接口,获取所述待获取数据块中的所述待获取数据,具体采用如下方式实现:
调用玩家数据获取接口,对玩家数据块中所述数据标识对应的所述待获取数据进行获取。
具体的,调用玩家数据获取接口,对玩家数据块中所述数据标识对应的所述待获取数据进行获取与上述调用玩家数据更新接口,对玩家数据块中所述第一数据标识对应的所述待更新数据进行更新的具体实现类似,参考上述调用玩家数据更新接口,对玩家数据块中所述第一数据标识对应的所述待更新数据进行更新的具体实现即可,在此不再赘述。
沿用上例,调用玩家数据获取接口,对玩家数据块中数据标识为“01”对应的待获取数据进行获取,并对获取的数据进行展示处理。
本申请实施例提供的数据处理方法,客户端的游戏数据是由服务器进行同步,而客户端不主动更新数据块中的游戏数据,只通过获取接口获取目标数据中的待获取数据,保障了数据的安全性,并进一步避免玩家通过外挂在客户端获知未显示的数据,也保障了游戏的公平性。
下述结合图4,以本申请一实施例的一种数据处理方法在牌类游戏中的应用为例,对所述数据处理方法进行进一步说明。其中,图4示出了本申请一实施例提供的应用于牌类游戏的一种数据处理方法的流程图,具体包括以下步骤:
步骤402,接收客户端针对目标游戏提交的第一操作码。
本说明书实施例,为了保障游戏数据的安全性,通过对游戏数据进行分类,将对于玩家不可见的游戏数据,不在客户端进行存储,只在服务端进行存储,玩家只有在需要看到游戏数据时,才能从服务端获得下发的游戏数据,避免了玩家通过逆向客户端,在游戏过程中获取其他玩家的游戏数据,或提前或者未知的游戏数据,增加了游戏数据的安全性,也保障了玩家在游戏过程中的公平性。
其中,目标游戏是一种棋牌游戏;第一操作码是针对玩家进行摸牌所触发的具有指示性的数据编码。
比如:目标游戏有4个玩家,玩家1号的上一玩家的操作回合结束后,触发玩家1号进行摸牌,则向服务器提交针对玩家1号进行摸牌的第一操作码:“1100”,服务器接收玩家1号的客户端上传的针对目标游戏的第一操作码:“1100”。
实际应用中,在玩家进行游戏之前,需要对目标游戏中的游戏数据进行初始化,具体的,目标游戏中的游戏数据进行初始化,具体通过如下方式实现:
接收针对所述目标游戏提交的游戏启动指令;
基于所述游戏启动指令,在内存空间创建公有数据块、私有数据块以及玩家数据块;
确定所述目标游戏的游戏数据在所述私有数据块中的存储顺序;
按照所述存储顺序将所述目标游戏的游戏数据在所述私有数据块中进行存储。
其中,所述游戏数据,可以是牌本身,比如“一条”,还可以是牌对应的数据编码,比如“23”等,比如108张牌,在此不做限制;相应的,所述存储顺序,表明了牌在游戏中的摆放顺序,一旦确定存储顺序,并在私有数据块中进行存储之后,就可以确定玩家摸牌顺序,比如玩家第一张摸的牌是什么牌,第二张摸的牌是什么牌。
具体的,当所有玩家都在各自的客户端开始目标游戏之后,向服务器发送游戏启动指令,游戏启动指令中,携带游戏标识,服务器根据游戏标识,在内存空间中,创建三种数据类型的数据块:公有数据块、私有数据块以及玩家数据块。
在创建上述三种数据类型的数据块的基础上,确定游戏中的牌在私有数据块中的存储顺序,并按照存储顺序在私有数据块中进行存储。
步骤404,对第一操作码进行解析,生成第一操作标识以及第二数据标识。
沿用上例,服务器在接收到第一操作码“1100”的基础上,调用脚本对此第一操作码进行解析,生成第一操作标识为:“11”,第二数据标识为空,其中第一操作标识表明是做摸牌操作,而第二数据标识为空,表明对摸牌的数据是未知的。
需要说明的是,由于玩家1号是进行摸牌操作,而客户端并没有存储牌桌上未拿起的牌,因此,客户端虽触发了摸牌这个操作,但对于将要摸到什么牌是未知的,因此第二数据标识为空。
步骤406,根据第一操作标识,确定第一操作标识对应的更新接口。
具体的,第一操作标识为“11”,表明是摸牌操作,需要对游戏数据的操作是将牌桌上未拿起的牌,变更为玩家的手牌,那么确定第一操作标识为“11”对应的更新接口为私有数据更新接口以及玩家数据更新接口。
步骤408,判断第二数据标识是否为空;
若否,将所述第二数据标识作为所述第一数据标识;
若是,执行下述步骤410。
比如,第一操作码为“1001”在对第一操作码进行解析,确定的第一操作标识为“10”,第一操作标识为“10”,表示打牌,第二数据标识为“01”,表示游戏数据为“一条”,则判断第二数据标识是否为空的判断结果为否,则将第二数据标识“01”,作为待更新数据的第一数据标识。
假设,上述对第一操作码“1100”进行解析,生成第一操作标识为:“11”,第二数据标识为空,则判断第二数据标识是否为空的判断结果为是,执行下述步骤410。
步骤410,根据第一操作标识以及私有数据块中存储的游戏数据的存储顺序,确定待更新数据的第一数据标识。
沿用上例,根据第一操作标识“11”以及私有数据块中未拿起的牌的存储顺序,确定待拿起的牌的第一数据标识为“01”。
步骤412,调用更新接口,对更新接口对应的数据块中的待更新数据进行更新。
其中,所述更新接口的输入为所述第一数据标识。
具体的,所述调用更新接口,对更新接口对应的数据块中的待更新数据进行更新,采用如下方式实现:
调用私有数据更新接口,对私有数据块中所述第一数据标识对应的所述待更新数据进行更新;
调用玩家数据更新接口,对玩家数据块中所述第一数据标识对应的所述待更新数据进行更新。
实际应用中,数据块中存储的游戏数据存在对应的数据标记位,比如,第一数据标识“01”对应的游戏数据的数据标记位为“1”,表明数据块中有第一数据标识“01”对应的牌,第一数据标识“01”对应的游戏数据的数据标记位为“0”,表明数据块中没有第一数据标识“01”对应的牌。
沿用上例,将第一数据标识“01”输入私有数据更新接口,将私有数据块中,与第一数据标识“01”对应的待更新数据的数据标记位从“1”,更新为“0”,将第一数据标识“01”输入玩家数据更新接口,将玩家数据块中,与第一数据标识“01”对应的待更新数据的数据标记位从“0”,更新为“1”,以实现将私有数据块中的数据更新至玩家数据块。
步骤414,更新完成后,确定第一操作码对应的第二操作码。
其中,所述第二操作码为目标游戏中客户端的操作码。
实际应用中,由于服务器和客户端都是基于操作码对目标游戏中的游戏数据进行操作,而在一回合中执行游戏操作的玩家,和不执行游戏操作的玩家对游戏数据的操作是不同的,因此不同客户端可能对应的操作码不同。
沿用上例,在上述服务器调用私有更新接口以及玩家数据更新接口,分别对私有数据块以及玩家数据块中第一数据标识“01”对应的待更新数据的数据标记位进行更新的基础上,根据预设的服务器操作标识与第一客户端操作标识的对应关系,确定针对第一操作标识“10”对应的针对第一客户端的第二操作标识为“100”,表示获取操作,而获取操作对应的数据标识不变,则根据第二操作标识以及第一数据标识,生成第二操作码“10001”。
步骤416,将第二操作码对应的目标更新数据块中的目标数据以及第二操作码发送至客户端。
具体的,所述更新数据,为所述待更新数据被更新后的游戏数据。
由于服务器向客户端进行数据同步时,不会同步私有数据块中的游戏数据,以及其他客户端对应的玩家数据,因此,第二操作码对应的目标更新数据块中不包含私有数据块,即所述目标更新数据块,包括:公有数据块,和/或玩家数据块;
相应的,所述目标游戏数据,在目标更新数据块包含公有数据块的情况下,所述目标游戏数据包含:公有数据块中包含的所有游戏数据;在目标更新数据块包含玩家数据块的情况下,所述目标游戏数据包含:玩家数据块中第一客户端对应的玩家的游戏数据,比如,玩家数据块中包括4个玩家的游戏数据,而第一客户端对应的玩家为玩家1号,则上述目标游戏数据包含:玩家数据块中玩家1号对应的游戏数据。
沿用上例,在上述确定第二操作码为“10001”的基础上,进一步根据获取操作,确定获取操作对应的数据块为“玩家数据块”,则确定第二操作码对应的目标更新数据块为“玩家数据块”,并将玩家数据块中的玩家1号的游戏数据作为目标数据,则将玩家数据块中玩家1号的游戏数据以及第二操作码发送至第一客户端。
步骤418,客户端接收服务器针对目标游戏下发的与第一操作码对应的第二操作码以及第二操作码对应的目标数据。
沿用上例,接收服务器下发的针对目标游戏的第一操作码“1001”对应的第二操作码为“10001”以及第二操作码“10001”对应的玩家1号的游戏数据。
步骤420,对第二操作码进行解析,生成第二操作标识以及待获取数据的数据标识。
沿用上例,对第二操作码“10001”进行解析,确定针对第二操作标识为“100”表示获取操作,待获取数据的数据标识为“01”。
步骤422,根据第二操作标识,确定第二操作标识对应的获取接口以及待获取数据块。
其中,获取接口的接口类型与待获取数据块的数据类型一一对应。
可选的,所述获取接口,包括:公有数据获取接口以及玩家数据获取接口;相应的,所述待获取数据块包括:公有数据块以及玩家数据块。
其中,所述公有数据获取接口与所述公有数据块对应,所述玩家数据获取接口与所述玩家数据块对应。
具体实施时,根据第二操作标识,可以确定对应的待操作的数据块,此待操作的数据块,即为所述待获取数据块,比如:第二操作标识,表示获取操作,即可确定待获取数据块为玩家数据块,具体实施时,根据第二操作标识,确定第二操作标识对应的待获取数据块,可以根据预设的操作标识与数据块的对应关系进行确定。
沿用上例,根据第二操作标识“100”,确定第二操作标识“100”对应的获取接口为玩家数据获取接口,待获取数据块为玩家数据块。
步骤424,根据目标数据,更新待获取数据块。
沿用上例,根据上述获取的玩家1号的游戏数据对客户端的玩家数据块中的数据进行更新。
步骤426,调用获取接口,获取待获取数据块中的待获取数据并处理。
其中,所述获取接口的输入为所述数据标识,所述待获取数据为所述目标数据中的数据。
具体实施时,客户端通过上述确定的获取接口,获取目标数据中的待获取数据之后,是为了对待获取数据进行相应的处理,使待获取数据在客户端的用户界面进行相应的展示,以使玩家在客户端看到其在客户端进行游戏操作的操作效果。
沿用上例,调用玩家数据获取接口,对玩家数据块中数据标识为“01”对应的待获取数据进行获取,并对获取的数据进行展示处理。
具体实施时,上述步骤420-步骤426中的具体实现方式,与上述步骤402-步骤414中的具体方式类似,未详细描述的部分,参考上述步骤402-步骤414中的具体方式即可,在此不再赘述。
综上所述,本申请实施例提供的数据处理方法,在服务器以及客户端通过对区分不同类型的数据接口以及不同数据类型的数据块,对目标游戏中的数据进行更新,以并将更新的游戏数据同步至第一客户端,以供第一客户端对更新的数据进行相应的处理,避免了从第一客户端主动更新游戏数据,并保障了游戏过程中,第一客户端的游戏数据的安全性,还进一步避免玩家通过外挂在客户端获知未显示的数据,也保障了游戏的公平性。
与上述一种数据处理方法实施例相对应,本申请还提供了一种数据处理装置实施例,图5示出了本申请一实施例提供的一种数据处理装置的结构示意图。如图5所示,该装置包括:
第一接收模块502,被配置为接收第一客户端针对目标游戏提交的第一操作码;
第一确定模块504,被配置为对所述第一操作码进行解析,确定所述第一操作码对应的更新接口以及待更新数据的第一数据标识;
第一更新模块506,被配置为调用所述更新接口,对所述更新接口对应的数据块中的所述待更新数据进行更新,其中,所述更新接口的输入为所述第一数据标识,所述更新接口的接口类型与所述数据块的数据类型一一对应;
第二确定模块508,被配置为更新完成后,确定所述第一操作码对应的第二操作码,其中,所述第二操作码为所述目标游戏中针对所述第一客户端的操作码;
发送模块510,被配置为将所述第二操作码对应的目标更新数据块中的目标数据以及所述第二操作码发送至所述第一客户端,其中,所述目标数据包含所述待更新数据对应的更新数据。
可选的,所述第一确定模块504,包括:
第一解析子模块,被配置为对所述第一操作码进行解析,生成第二操作标识以及第一数据标识;
第一确定接口子模块,被配置为根据所述第一操作标识,确定所述第一操作标识对应的所述更新接口;
第一判断子模块,被配置为判断所述第二数据标识是否为空;若否,将所述第二数据标识作为所述第一数据标识。
可选的,所述第一判断子模块的判断结果为是,运行如下子模块:
确定标识子模块,被配置为根据所述第一操作标识以及私有数据块中存储的游戏数据的存储顺序,确定所述待更新数据的所述第一数据标识。
可选的,所述数据处理装置,还包括:
第三接收模块,被配置为接收针对所述目标游戏提交的游戏启动指令;
创建模块,被配置为基于所述游戏启动指令,在内存空间创建公有数据块、私有数据块以及玩家数据块;
确定顺序模块,被配置为确定所述目标游戏的游戏数据在所述私有数据块中的存储顺序;
存储模块,被配置为按照所述存储顺序将所述目标游戏的游戏数据在所述私有数据块中进行存储。
可选的,所述第一更新模块506,包括:
第一更新数据接口,被配置为调用私有数据更新接口,对私有数据块中所述第一数据标识对应的所述待更新数据进行更新;
第二更新数据接口,被配置为调用玩家数据更新接口,对玩家数据块中所述第一数据标识对应的所述待更新数据进行更新。
可选的,所述数据处理装置,还包括:
更新完成后,确定所述第一操作码对应的第三操作码,其中,所述第三操作码为所述目标游戏中第二客户端的操作码;
判断所述第三操作码是否为空;
若否,将所述第三操作码对应的第二目标更新数据块中的第二目标数据以及所述第三操作码发送至所述第二客户端。
可选的,所述更新接口,包括:公有数据更新接口、私有数据更新接口以及玩家数据更新接口;
相应的,所述数据块包括:公有数据块、私有数据块以及玩家数据块。
可选的,所述目标数据,包括:所述待更新数据对应的更新数据,或所述目标更新数据块中包含的目标游戏数据。
上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的一种数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述一种数据处理方法的技术方案的描述。
与上述另一种数据处理方法实施例相对应,本申请还提供了另一种数据处理装置实施例,图6示出了本申请一实施例提供的另一种数据处理装置的结构示意图。如图6所示,该装置包括:
提交模块602,被配置为向服务器提交针对目标游戏的第一操作码;
第二接收模块604,被配置为接收所述服务器针对所述目标游戏下发的与所述第一操作码对应的第二操作码以及所述第二操作码对应的目标数据;
第三确定模块606,被配置为对所述第二操作码进行解析,确定所述第二操作码对应的获取接口、待获取数据块以及待获取数据的数据标识;
第二更新模块608,被配置为根据所述目标数据,更新所述待获取数据块;
获取模块610,被配置为调用所述获取接口,获取所述待获取数据块中的所述待获取数据并处理,其中,所述获取接口的输入为所述数据标识,所述获取接口的接口类型与所述待获取数据块的数据类型一一对应,所述待获取数据为所述目标数据中的数据。
可选的,所述第三确定模块606,包括:
第二解析子模块,被配置为对所述第二操作码进行解析,生成第二操作标识以及所述数据标识;
第二确定子模块,被配置为根据所述第二操作标识,确定所述第二操作标识对应的所述获取接口以及所述待获取数据块。
可选的,所述获取模块610,还被配置为:调用玩家数据获取接口,对所述目标数据所属的玩家数据块中所述数据标识对应的所述待获取数据进行获取。
可选的,所述获取接口,包括:公有数据获取接口以及玩家数据获取接口;
相应的,所述待获取数据块包括:公有数据块以及玩家数据块。
上述为本实施例的另一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的另一种数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述另一种数据处理方法的技术方案的描述。
本申请一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述的数据处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述数据处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (16)

1.一种数据处理方法,应用于服务器,其特征在于,包括:
接收第一客户端针对目标游戏提交的第一操作码;
对所述第一操作码进行解析,确定所述第一操作码对应的更新接口以及待更新数据的第一数据标识;
调用所述更新接口,对所述更新接口对应的数据块中的所述待更新数据进行更新,其中,所述更新接口的输入为所述第一数据标识,所述更新接口的接口类型与所述数据块的数据类型一一对应;
更新完成后,确定所述第一操作码对应的第二操作码,其中,所述第二操作码为所述目标游戏中针对所述第一客户端的操作码;
将所述第二操作码对应的目标更新数据块中的目标数据以及所述第二操作码发送至所述第一客户端,其中,所述目标数据包含所述待更新数据对应的更新数据。
2.根据权利要求1所述的数据处理方法,其特征在于,所述对所述第一操作码进行解析,确定所述第一操作码对应的更新接口以及待更新数据的第一数据标识,包括:
对所述第一操作码进行解析,生成第一操作标识以及第二数据标识;
根据所述第一操作标识,确定所述第一操作标识对应的所述更新接口;
判断所述第二数据标识是否为空;
若否,将所述第二数据标识作为所述第一数据标识。
3.根据权利要求2所述的数据处理方法,其特征在于,所述判断所述第二数据标识是否为空的判断结果为是,执行如下操作:
根据所述第一操作标识以及私有数据块中存储的游戏数据的存储顺序,确定所述待更新数据的所述第一数据标识。
4.根据权利要求1所述的数据处理方法,其特征在于,所述接收第一客户端针对目标游戏提交的第一操作码步骤执行之前,还包括:
接收针对所述目标游戏提交的游戏启动指令;
基于所述游戏启动指令,在内存空间创建公有数据块、私有数据块以及玩家数据块;
确定所述目标游戏的游戏数据在所述私有数据块中的存储顺序;
按照所述存储顺序将所述目标游戏的游戏数据在所述私有数据块中进行存储。
5.根据权利要求1所述的数据处理方法,其特征在于,所述调用所述更新接口,对所述更新接口对应的数据块中的所述待更新数据进行更新,包括:
调用私有数据更新接口,对私有数据块中所述第一数据标识对应的所述待更新数据进行更新;
调用玩家数据更新接口,对玩家数据块中所述第一数据标识对应的所述待更新数据进行更新。
6.根据权利要求1所述的数据处理方法,其特征在于,所述调用所述更新接口,对所述更新接口对应的数据块中的所述待更新数据进行更新步骤执行之后,还包括:
更新完成后,确定所述第一操作码对应的第三操作码,其中,所述第三操作码为所述目标游戏中第二客户端的操作码;
判断所述第三操作码是否为空;
若否,将所述第三操作码对应的第二目标更新数据块中的第二目标数据以及所述第三操作码发送至所述第二客户端。
7.根据权利要求1所述的数据处理方法,其特征在于,所述更新接口,包括:公有数据更新接口、私有数据更新接口以及玩家数据更新接口;
相应的,所述数据块包括:公有数据块、私有数据块以及玩家数据块。
8.根据权利要求1所述的数据处理方法,其特征在于,所述目标数据,包括:所述待更新数据对应的更新数据,或所述目标更新数据块中包含的目标游戏数据。
9.一种数据处理方法,应用于客户端,其特征在于,包括:
向服务器提交针对目标游戏的第一操作码;
接收所述服务器针对所述目标游戏下发的与所述第一操作码对应的第二操作码以及所述第二操作码对应的目标数据;
对所述第二操作码进行解析,确定所述第二操作码对应的获取接口、待获取数据块以及待获取数据的数据标识;
根据所述目标数据,更新所述待获取数据块;
调用所述获取接口,获取所述待获取数据块中的所述待获取数据并处理,其中,所述获取接口的输入为所述数据标识,所述获取接口的接口类型与所述待获取数据块的数据类型一一对应,所述待获取数据为所述目标数据中的数据。
10.根据权利要求9所述的数据处理方法,其特征在于,所述对所述第二操作码进行解析,确定所述第二操作码对应的获取接口、待获取数据块以及待获取数据的数据标识,包括:
对所述第二操作码进行解析,生成第二操作标识以及所述数据标识;
根据所述第二操作标识,确定所述第二操作标识对应的所述获取接口以及所述待获取数据块。
11.根据权利要求9所述的数据处理方法,其特征在于,所述调用所述获取接口,获取所述待获取数据块中的所述待获取数据,包括:
调用玩家数据获取接口,对玩家数据块中所述数据标识对应的所述待获取数据进行获取。
12.根据权利要求9所述的数据处理方法,其特征在于,所述获取接口,包括:公有数据获取接口以及玩家数据获取接口;
相应的,所述待获取数据块包括:公有数据块以及玩家数据块。
13.一种数据处理装置,其特征在于,包括:
第一接收模块,被配置为接收第一客户端针对目标游戏提交的第一操作码;
第一确定模块,被配置为对所述第一操作码进行解析,确定所述第一操作码对应的更新接口以及待更新数据的第一数据标识;
第一更新模块,被配置为调用所述更新接口,对所述更新接口对应的数据块中的所述待更新数据进行更新,其中,所述更新接口的输入为所述第一数据标识,所述更新接口的接口类型与所述数据块的数据类型一一对应;
第二确定模块,被配置为更新完成后,确定所述第一操作码对应的第二操作码,其中,所述第二操作码为所述目标游戏中针对所述第一客户端的操作码;
发送模块,被配置为将所述第二操作码对应的目标更新数据块中的目标数据以及所述第二操作码发送至所述第一客户端,其中,所述目标数据包含所述待更新数据对应的更新数据。
14.一种数据处理装置,其特征在于,包括:
提交模块,被配置为向服务器提交针对目标游戏的第一操作码;
第二接收模块,被配置为接收所述服务器针对所述目标游戏下发的与所述第一操作码对应的第二操作码以及所述第二操作码对应的目标数据;
第三确定模块,被配置为对所述第二操作码进行解析,确定所述第二操作码对应的获取接口、待获取数据块以及待获取数据的数据标识;
第二更新模块,被配置为根据所述目标数据,更新所述待获取数据块;
获取模块,被配置为调用所述获取接口,获取所述待获取数据块中的所述待获取数据并处理,其中,所述获取接口的输入为所述数据标识,所述获取接口的接口类型与所述待获取数据块的数据类型一一对应,所述待获取数据为所述目标数据中的数据。
15.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-8或9-12任意一项所述方法的步骤。
16.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-8或9-12任意一项所述方法的步骤。
CN202011121361.3A 2020-10-19 2020-10-19 数据处理方法及装置 Active CN112206540B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011121361.3A CN112206540B (zh) 2020-10-19 2020-10-19 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011121361.3A CN112206540B (zh) 2020-10-19 2020-10-19 数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN112206540A true CN112206540A (zh) 2021-01-12
CN112206540B CN112206540B (zh) 2022-08-26

Family

ID=74055955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011121361.3A Active CN112206540B (zh) 2020-10-19 2020-10-19 数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN112206540B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113209609A (zh) * 2021-06-11 2021-08-06 腾讯科技(深圳)有限公司 基于牌类对象的交互方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105407117A (zh) * 2014-09-10 2016-03-16 腾讯科技(深圳)有限公司 分布式备份数据的方法、装置和系统
US20170111477A1 (en) * 2015-10-16 2017-04-20 Oracle International Corporation Adaptive data transfer optimization
CN107222510A (zh) * 2017-07-21 2017-09-29 腾讯科技(深圳)有限公司 一种游戏同步方法、系统及相关设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105407117A (zh) * 2014-09-10 2016-03-16 腾讯科技(深圳)有限公司 分布式备份数据的方法、装置和系统
US20170111477A1 (en) * 2015-10-16 2017-04-20 Oracle International Corporation Adaptive data transfer optimization
CN107222510A (zh) * 2017-07-21 2017-09-29 腾讯科技(深圳)有限公司 一种游戏同步方法、系统及相关设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113209609A (zh) * 2021-06-11 2021-08-06 腾讯科技(深圳)有限公司 基于牌类对象的交互方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112206540B (zh) 2022-08-26

Similar Documents

Publication Publication Date Title
CN103259795B (zh) 执行自动注册登录的方法、移动终端以及服务器
CN107172169A (zh) 数据同步方法、装置、服务器及存储介质
CN104992205B (zh) 基于ar图书的索引式增强现实系统和方法
CN110533085B (zh) 同人识别方法及装置、存储介质、计算机设备
KR20230153448A (ko) 연합 학습 방법, 장치, 전자 기기 및 저장 매체
CN104283926A (zh) 一种数据同步方法、装置及服务器
CN111773691A (zh) 云游戏服务系统、云客户端及数据处理方法
CN112206540B (zh) 数据处理方法及装置
JP2014067366A (ja) 情報処理装置、情報処理方法、及び、プログラム
CN111327607A (zh) 一种基于大数据的安全威胁情报管理方法、系统、存储介质及终端
US20210233621A1 (en) Scaffold-oriented universal line system
CN108335208A (zh) 用于处理信息的方法和装置
CN110688319A (zh) 应用保活能力测试方法及相关装置
CN111135580B (zh) 一种游戏角色待机动画生成方法及装置
CN112587922B (zh) 模型显示方法及装置
CN106686588B (zh) 一种无线保真Wi-Fi连接方法及移动终端
CN114676104A (zh) 日志生成方法及装置
CN112206531B (zh) 游戏创建方法及装置
CN108810105A (zh) 用于推送信息、显示信息的方法和设备
CN113209614A (zh) 一种虚拟角色控制方法及装置
CN113409474A (zh) 基于增强现实的对象展示方法及装置
CN110232393B (zh) 数据的处理方法、装置、存储介质和电子装置
CN112614049A (zh) 图像处理方法、装置、存储介质以及终端
CN103916426B (zh) 一种paxos实例更新方法、设备及系统
CN112206507B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Applicant after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Address before: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Applicant before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant