买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】游戏数据处理方法及系统_北京知道创宇信息技术股份有限公司_201810259293.3 

申请/专利权人:北京知道创宇信息技术股份有限公司

申请日:2018-03-27

公开(公告)日:2021-02-19

公开(公告)号:CN108434745B

主分类号:A63F13/75(20140101)

分类号:A63F13/75(20140101);A63F13/79(20140101);A63F13/80(20140101)

优先权:

专利状态码:有效-授权

法律状态:2021.02.19#授权;2018.09.18#实质审查的生效;2018.08.24#公开

摘要:本申请实施例提供一种游戏数据处理方法及系统,玩家终端在接收到游戏开启指令时,执行该游戏包括的多个操作;针对每个操作,在得到该操作对应的结果数据时,对该结果数据进行签名得到签名数据,并将结果数据及其签名数据发送给其他玩家终端。其他玩家终端在该签名数据正确,且该结果数据与自身的结果数据相同时,保存该签名数据及结果数据,并执行后续的操作。每个玩家终端在游戏结束时,根据存储的数据计算赢家终端,对计算得到的赢家数据进行签名,并将赢家数据及其签名数据发送给其他玩家终端。赢家终端将各玩家终端的与最后一次操作对应的签名数据发送给智能合约服务器,使智能合约服务器根据该签名数据进行电子筹码的结算。

主权项:1.一种游戏数据处理方法,其特征在于,应用于游戏数据处理系统,该游戏数据处理系统包括相互通信连接的智能合约服务器及多个玩家终端,该方法包括:所述玩家终端在接收到游戏开启指令时,按照游戏进程执行该游戏包括的多个操作;针对每个操作,所述玩家终端在得到该操作对应的结果数据时,将该结果数据与该操作之前的所有操作产生的结果数据合并形成当前的第一目标结果数据,执行该操作的玩家终端对该第一目标结果数据进行签名得到签名数据,并将所述第一目标结果数据及所述签名数据发送给参与所述游戏的其他玩家终端;当接收到的所述签名数据正确,且接收到的所述第一目标结果数据与所述其他玩家终端当前的第一目标结果数据相同时,所述其他玩家终端保存接收到的所述第一目标结果数据及接收到的所述签名数据,并按照所述游戏的进程执行下一操作;每个玩家终端在游戏结束时,根据当前存储的第一目标结果数据及其签名数据计算所述多个玩家终端中赢得所述游戏的赢家终端,并将计算得到的赢家数据与当前存储的第一目标结果数据合并形成第二目标结果数据,对该第二目标结果数据进行签名,将所述第二目标结果数据及其签名数据发送给其他玩家终端;所述赢家终端将各玩家终端的第二目标结果数据及其签名数据发送给所述智能合约服务器,使所述智能合约服务器根据接收到的数据进行电子筹码的结算。

全文数据:游戏数据处理方法及系统技术领域[0001]本申请涉及计算机技术领域,具体而言,涉及一种游戏数据处理方法及系统。背景技术[0002]随着计算机技术的发展,许多线下游戏(如,扑克牌游戏等发展成可以在计算机平台上进行的线上游戏。以扑克牌游戏为例,现有的线上扑克牌游戏通常是通过中心化的第三方平台实现,游戏的筹码数据等均记录在该第三方平台上。然而,由于是通过中心化方式实现,第三方平台可以很轻易地进行作弊,存在较大的风险。[0003]于是,基于去中心化的区块链的线上游戏营运而生。现有的基于区块链的线上游戏通常是基于智能合约实现,玩家的所有操作数据都会记录到智能合约中,最后也会由智能合约来进行赢家及筹码的结算,这种方式虽然确保了数据的可靠性,避免了作弊的可能性,但这种方式存在如下缺陷:[0004]针对智能合约的每一次写操作都需要区块链的确认,耗时较长;[0005]针对智能合约的每一次写操作都需要手续费,玩家成本较高。[0006]申请内容[0007]有鉴于此,本申请的目的在于提供一种游戏数据处理方法及系统,以改善上述问题中的至少一个。[0008]为了达到上述目的,本申请实施例提供一种游戏数据处理方法,应用于游戏数据处理系统,该游戏数据处理系统包括相互通信连接的智能合约服务器及多个玩家终端,该方法包括:[0009]所述玩家终端在接收到游戏开启指令时,按照游戏进程执行该游戏包括的多个操作;[0010]针对每个操作,所述玩家终端在得到该操作对应的结果数据时,将该结果数据与该操作之前的所有操作产生的结果数据合并形成当前的第一目标结果数据,执行该操作的玩家终端对该第一目标结果数据进行签名得到签名数据,并将所述第一目标结果数据及所述签名数据发送给参与所述游戏的其他玩家终端;[0011]当接收到的所述签名数据正确,且接收到的所述第一目标结果数据与所述其他玩家终端当前的第一目标结果数据相同时,所述其他玩家终端保存接收到的所述第一目标结果数据及接收到的所述签名数据,并按照所述游戏的进程执行下一操作;[0012]每个玩家终端在游戏结束时,根据当前存储的第一目标结果数据及其签名数据计算所述多个玩家终端中赢得所述游戏的赢家终端,并将计算得到的赢家数据与当前存储的第一目标结果数据合并形成第二目标结果数据,对该第二目标结果数据进行签名,将所述第二目标结果数据及其签名数据发送给其他玩家终端;[0013]所述赢家终端将各玩家终端的第二目标结果数据及其签名数据发送给所述智能合约服务器,使所述智能合约服务器根据接收到的数据进行电子筹码的结算。[0014]本申请实施例还提供一种游戏数据处理系统,[0015]包括相互通信连接的智能合约服务器及多个玩家终端;[0016]所述玩家终端在接收到游戏开启指令时,按照游戏进程执行该游戏包括的多个操作;[0017]针对每个操作,所述玩家终端得到该操作对应的结果数据时,将该结果数据与该操作之前的所有操作产生的结果数据合并形成当前的第一目标结果数据,执行与该操作的玩家终端对该第一目标结果数据进行签名得到签名数据,并将所述第一目标结果数据及所述签名数据发送给参与所述游戏的其他玩家终端;[0018]当接收到的所述签名数据正确,且接收到的所述第一目标结果数据与所述其他玩家终端当前的第一目标结果数据相同时,所述其他玩家终端保存接收到的所述第一目标结果数据及接收到的所述签名数据,并按照所述游戏的进程执行下一操作;[0019]每个玩家终端在游戏结束时,根据当前存储的第一目标结果数据及其签名数据计算所述多个玩家终端中赢得所述游戏的赢家终端,并将得到的赢家数据与当前存储的第一目标结果数据合并形成第二目标结果数据,对该第二目标结果数据进行签名,将所述第二目标结果数据及其签名数据发送给其他玩家终端;[0020]所述赢家终端将各玩家终端的第二目标结果数据及其签名数据发送给所述智能合约服务器,使所述智能合约服务器根据接收到的数据进行电子筹码的结算。[0021]相较于现有技术,本申请实施例具有以下有益效果:[0022]本申请实施例提供的一种游戏数据处理方法及系统,玩家终端在接收到游戏开启指令时,按照游戏进程执行该游戏包括的多个操作。针对每个操作,玩家终端得到该操作对应的结果数据时,将该结果数据与之前的所有操作产生的结果数据合并,得到当前的第一目标结果数据,执行该操作的玩家终端对当前的第一目标结果数据进行签名,将该当前的第一目标结果数据及其签名数据发送给其他玩家终端。当接收到的该签名数据正确且接收到的该第一目标结果数据与其他玩家终端当前的第一目标结果数据相同时,其他玩家终端保存接收到的该签名数据及接收到的该第一目标结果数据,并按照游戏进程执行下一操作。每个玩家终端在游戏结束时,根据当前存储的第一目标结果数据及签名数据计算赢得所述游戏的赢家终端,得到包括当前存储的第一目标结果数据及赢家数据的第二目标结果数据,对第二目标结果数据进行签名,将所述第二目标结果数据及其签名数据发送给其他玩家终端。赢家终端将各玩家终端的第二目标结果数据及其签名数据发送给智能合约服务器,使智能合约服务器根据接收到的数据进行电子筹码的结算。如此,可以在确保游戏数据的安全性的情况下,减少等待时间,降低玩家费用。附图说明[0023]为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。[0024]图1为本申请实施例提供的一种游戏数据处理系统的连接框图;[0025]图2为本申请实施例提供的一种智能合约服务器的方框示意图;[0026]图3为本申请实施例提供的一种游戏数据处理方法的流程示意图;[0027]图4为本申请实施例提供的一种游戏数据处理方法的时序示意图。[0028]图标:10-游戏数据处理系统;100-智能合约服务器;110-存储器;120-处理器;130-通信单元;200、201-玩家终端。具体实施方式[0029]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。[0030]因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。[0031]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。[0032]如图1所示,是本申请实施例提供的一种游戏数据处理系统10的连接框图。该游戏数据处理系统包括智能合约服务器100及多个玩家终端如图1所示的玩家终端200、玩家终端201,其中,所述多个玩家终端通过网络与所述智能合约服务器100通信连接。[0033]智能合约服务器100是指部署有智能合约的服务器,该服务器通常是有多个服务器构成的服务器集群,其中的每个服务器称为“节点(Node”。玩家终端可以是个人电脑personalcomputer,PC、平板电脑、智能手机、个人数字助理(personaldigitalassistant,PDA等。[0034]如图2所示,是本申请实施例提供的一种智能合约服务器100的方框示意图,该智能合约服务器100包括存储器110、处理器120及通信单元130。[0035]其中,存储器110、处理器120及通信单元130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。存储器110中存储有用于实现相应功能的计算机模块,处理器120用于调用存储在存储器120中的可执行模块,以实现相应的功能,如本实施例提供的游戏数据处理方法。通信单元130用于建立智能合约服务器1〇〇与其他设备如,玩家终端)之间的通信连接。[0036]在本实施例中,存储器110可以是,但不限于,但不限于,随机存取存储器RandomAccessMemory,RAM,只读存储器(ReadOnlyMemory,R0M,可编程只读存储器ProgrammableRead-OnlyMemory,PR0M,可擦除只读存储器(ErasableProgrammableRead-OnlyMemory,EPR0M,电可擦除只读存储器^ElectricErasableProgrammableRead-〇n1yMemory,EEPR0M等。[0037]处理器120可以是一种集成电路芯片,具有信号处理能力。所述处理器120也可以是通用处理器,如中央处理器(CentralProcessingUnit,CPU、网络处理器(NetworkPr〇cesS〇r,NP、微处理器等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件;处理器120还可以是任何常规的处理器,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。_[0038]应当理解,图2所示结构仅为示意,图2所示结构仅为示意,智能合约服务器100还可以具有比图2所示更多或更少的组件,也可以具有与图1所示完全不同的配置。此外,值得说明的是,图2所示的各组件可以以硬件、软件或其组合实现。[0039]在本实施例中,玩家终端所包括的各组件及所述各组件之间的连接关系与所述智能合约服务器1〇〇类似,在此不再赘述。[0040]如图3所示,是本申请实施例提供的一种游戏数据处理方法的流程示意图,该游戏数据处理方法应用于图1所示的游戏数据处理系统10中。下面结合图3对该方法的具体步骤做详细阐述。[0041]步骤S301,所述玩家终端在接收到游戏开启指令时,按照游戏进程执行该游戏包括的多个操作。[0042]其中,所述游戏开启指令可以是游戏平台下发的指令。实施时,各玩家可以在各自的玩家终端执行启动操作,例如,可以点击“开始游戏”等选项,以触发该玩家终端向游戏平台发送确认启动的指令。游戏平台可以在接收到各玩家终端发送的确认启动的指令时,下发相应的游戏开启指令到所述各玩家终端。[0043]所述游戏包括的多个操作通常为顺序执行的多个操作,例如,当该游戏为扑克牌游戏时,所述多个操作可以包括洗牌、发牌、下注、公开底牌等。在本实施例中,将以扑克牌游戏为例对本该游戏数据处理方法的具体内容进行详细阐述。[0044]步骤S302,针对每个操作,所述玩家终端得到该操作对应的结果数据时,将该结果数据与该操作之前的所有操作产生的结果数据合并形成当前的第一目标结果数据,执行该操作的玩家终端对该第一目标结果数据进行签名得到签名数据,并将所述第一目标结果数据及所述签名数据发送给参与所述游戏的其他玩家终端。[0045]应当理解,在上述步骤中,“合并”是指将数据简单的组合在一起形成一个整体,而不会做其他处理。[0046]以所述扑克牌游戏为例,在游戏开始时通过各玩家终端进行洗牌,各玩家终端在洗牌完成时得到洗牌数据。在洗牌之前,各玩家终端没有进行其他操作,故洗牌数据即为各玩家终端当前的第一目标结果数据。在本实施例中,洗牌由各玩家终端共同完成,因此,每个玩家终端均进行了洗牌操作,因此,每个玩家终端会对各自当前的第一目标结果数据进行签名,并将得到的签名数据及该第一目标结果数据发送给其他玩家终端。[0047]然后,各玩家终端根据游戏进程进行发牌操作,得到发牌数据,此时,将与该发牌操作对应的发牌数据和之前得到的洗牌数据合并,得到当前的第一目标结果数据。每一次发牌操作(如,发底牌、发公开牌等)由各玩家终端共同完成,因此,每个玩家终端在每一发牌操作结束后对当前的第一目标结果数据进行签名,并将该第一目标结果数据及其签名数据发送给其他玩家终端。[0048]再然后,各玩家终端依次进行下注操作。在每个玩家终端进行下注操作后,都会得到对应下注数据。[0049]例如,假设存在两个玩家终端A、B,玩家终端A执行下注操作,则玩家终端A、B均能获得一下注数据,该下注数据中包括玩家终端A的下注金额a,由于本次下注操作由玩家终端A执行,故玩家终端A会对洗牌数据、发牌数据及包括下注金额a的下注数据进行签名得到#名数据a,并将签名数据〆、洗牌数据、发牌数据及包括下注金额a的下注数据发送给玩家终端B,玩家B对接收到的数据进行验证。然后,玩家终端B执行下注操作,则玩家终端A、B获得新的下注数据,该新的下注数据包括前述的下注数据a及玩家终端B的下注金额b。鉴于本次下注操作由玩家$端3执行,玩家终端B对洗牌数据、发牌数据及包括下注金额a和下注金额b的下注数据进行签名得到签名数据b,将签名数据b、洗牌数据、发牌数据及包括下注金额a和下注金额b的下注数据发送给玩家终端A,玩家终端A对接收到的数据进行验证。[00S0]在本实施例中,每个玩家终端具有私钥及与该私钥对应的公钥。基于此,步骤S3〇2可以包括以下步骤,以实现对当前的第一目标结果数据的签名:[0051]所述玩家终端通过预设的哈希算法计算所述第一目标结果数据的哈希值,并通过本终端的私钥对该哈希值进行签名,得到所述签名数据。[0052]步骤S303,当所述签名数据正确,且所述结果数据与所述其他玩家终端的结果数据相同时,所述其他玩家终端保存所述签名数据及所述结果数据,并按照所述游戏的进程执行下一操作。[0053]其中,按照所述游戏的进程执行下一操作,是指:在所述其他玩家终端保存所述签名数据及所述结果数据之后,在需要执行所述下一操作时,执行该下一操作。例如,在所述其他玩家终端保存洗牌数据及洗牌数据的签名数据之后,当需要进行发牌时,再执行发牌操作。[0054]可选地,在实施时,所述其他玩家终端在保存所述玩家终端发送的所述签名数据之后,可以删除该玩家终端发送的前一签名数据,即只保存该玩家终端最新发送的签名数据。[0055]可选地,在本实施例中,还可以包括如下步骤,以对其他玩家终端接收到的数据进行验证:[0056]所述其他玩家终端通过所述玩家终端的公钥验证所述签名数据是否正确。其中,当所述签名数据正确时,可以进一步对比接收到的所述第一目标结果数据与所述其他玩家终端当前的第一目标结果数据,以判断两者是否相同。[0057]若相同,则可以确定所述签名数据正确且所述第一目标结果数据与所述其他玩家终端当前的第一目标结果数据相同。[0058]在本实施例中,当所述其他玩家终端接收到的所述签名数据不正确,或者,当所述其他玩家终端接收到的所述第一目标结果数据与所述其他玩家终端当前的第一目标结果数据不相同时,所述游戏数据处理方法还可以包括如下步骤:[0059]所述其他玩家终端将所述第一目标结果数据、所述第一目标结果数据的签名数据、本终端当前的第一目标结果数据及其签名数据发送给所述智能合约服务器100;[0060]所述智能合约服务器100判断接收到的数据是否足以计算出所述游戏的赢家终端;[0061]若是,所述智能合约服务器1〇〇根据接收到的数据计算所述多个玩家终端中赢得所述游戏的赢家终端并进行电子筹码的结算;_[0062]若否,所述智能合约服务器100判断各玩家终端在所述游戏中执行的操作与预设规则的匹配情况,并根据所述匹配情况对各玩家终端在所述游戏中投入的电子筹码进行分配。[0063]其中,所述匹配情况可以根据具体的游戏进行灵活设定。例如,当所述游戏为扑克牌游戏时,可以通过如下步骤根据所述匹配情况对各玩家终端在所述游戏中投入的电子筹码进行分配:[0064]当各玩家终端在所述游戏中均未执行下注操作时,将每个玩家终端存入的电子筹码退回给该玩家终端;[0065]当存在已执行下注操作的玩家终端时,从各玩家终端存入的电子筹码中转出预设数量的电子筹码,并将转出的电子筹码存入所述智能合约服务器100提供的预设地址;[0066]当存在未提交签名数据的玩家终端,或,存在提交的签名数据与所述游戏的规则不符的玩家终端时,将各玩家终端在所述游戏中下注的电子筹码均分给各玩家终端。[0067]步骤S304,每个玩家终端在游戏结束时,根据当前存储的第一目标结果数据及其签名数据计算所述多个玩家终端中赢得所述游戏的赢家终端,并将计算得到的赢家数据与当前的第一目标结果数据合并形成第二目标结果数据,对该第二目标结果数据进行签名,将所述第二目标结果数据及其签名数据发送给其他玩家终端。[0068]在本实施例中,第二目标结果数据是包括赢家数据的第一目标结果数据。[0069]步骤S305,所述赢家终端将各玩家终端的第二目标结果数据及其签名数据发送给所述智能合约服务器100,使所述智能合约服务器100根据接收到的签名数据进行电子筹码的结算。[0070]可选地,在本实施例中,所述游戏数据处理方法还可以包括以下步骤:[0071]所述智能合约服务器100在接收到所述赢家终端发送的第二目标结果数据及其签名数据时,验证该签名数据是否正确;[0072]若正确,则判断各玩家终端计算出的赢家终端是否相同;[0073]若相同,则根据所述签名数据进行电子筹码的结算;[0074]若不同,则根据各玩家终端在所述扑克牌游戏中分发到的扑克牌重新计算确定赢家终端,并根据重新计算得到的赢家终端进行电子筹码的结算。[0075]其中,所述智能合约服务器100可以通过预设的哈希算法对接收到的第二目标结果数据做哈希,并通过所述赢家终端的公钥对得到的哈希值签名,若得到的签名数据与所述赢家终端发送的签名数据一致,则确定接收到的所述赢家终端发送的签名数据正确。此时,可以根据所述第二目标结果数据,判断各玩家终端计算出的赢家终端是否为同一玩家终端,若是,再进行电子筹码的结算。若各玩家终端计算出的赢家终端不为同一玩家终端,则可以由智能合约服务器100根据各个玩家终端在该游戏中分发到的扑克牌具体可以包括己经公开的扑克牌和底牌进行电子筹码的结算。[0076]下面以图1所示的玩家终端200和玩家终端201参与扑克牌游戏为例,结合图4给出一个具体示例,以对上述方法进行详细阐述。在此需要说明的是,在本实施例中,由参与该扑克牌游戏的各个玩家终端共同完成洗牌和发牌。[0077]假设玩家终端200具有私钥K1和与私钥K1对应的公钥P1,玩家终端201具有私钥K2及与私钥K2对应的公钥P2。则在实施时,本实施例提供的游戏数据处理方法可以通过如下过程实现:[0078]玩家终端200和玩家终端201在游戏开始前同意所述智能合约服务器100提供的智能合约,并存入相应的电子筹码。[0079]第一,在完成洗牌操作后,得到洗牌数据D1。此时,洗牌数据D1即为当前的第一目标结果数据。以玩家终端200为例,玩家终端200可以通过预设的哈希算法对得到的洗牌数据D1当前的第一目标结果数据做哈希,并通过私钥K1对得到的哈希值签名,然后将洗牌数据D1及其签名数据S1发送给其余的玩家终端g卩,玩家终端201。[00S0]第二,玩家终端201其他玩家终端)按照如下方式对接收到的洗牌数据D1及其签名数据S1进行验证:[0081]通过所述预设的哈希算法对该洗牌数据D1做哈希,并通过玩家终端200的公钥P1对得到的哈希值签名,若得到的签名数据与玩家终端200发送的签名数据S1相同,则确定玩家终端2〇0发送的签名数据S1正确,此时,再对比本终端得到的洗牌数据与玩家终端200发送的洗牌数据D1与是否一致。若一致,则确定验证通过,可以等待执行下一操作。[0082]若玩家终端200发送的签名数据S1不正确,或者,终端设备202发送的洗牌数据D1与玩家终端201得到的洗牌数据不相同,则可以走预设的争议流程。其中,该预设的争议流程如下:[0083]玩家终端201将本终端和玩家终端200的洗牌数据及其签名数据发送给智能合约服务器100,智能合约服务器100对接收到的签名数据进行验证,在签名数据正确的情况下,判断是否能根据所述签名数据计算出赢家终端,若不能,则可以检测是否有玩家终端进行了下注操作,由于此时还没有玩家终端下注,可以将各玩家终端在智能合约服务器i00中的电子筹码退回给对应的玩家终端。[0084]在执行第一步和第二步的同时,玩家终端201也会采用私钥K2对洗牌数据D1进行签名,得到签名数据S2,将洗牌数据D1和签名数据S2发送给玩家终端200,其具体过程与上述的第一步和第二步类似,在此不再赘述。[0085]第三,玩家终端200和玩家终端201开始进行发底牌的操作,假设玩家终端200和玩家终端201分别拿到两张底牌,则玩家终端200的底牌和玩家终端201的底牌共同构成了本次发底牌操作对应的底牌数据D2。以玩家终端200为例,洗牌数据D1和底牌数据D2构成了玩家终端200当前的第一目标结果数据。其中,底牌数据D2为加密数据。实施时,玩家终端200通过私钥K1对洗牌数据D1和底牌数据D2进行签名得到签名数据S3,并将洗牌数据D1、底牌数据D2及签名数据S3发送给玩家终端201。[0086]第四,玩家终端201可以按照第二步中的方式对接收到的洗牌数据D1和底牌数据D2进行验证,当验证通过时可以等待执行下一操作,当验证不通过时,可以执行上述的争议流程。[0087]在执行第三步和第四步的同时,玩家终端201也会通过私钥K2对洗牌数据D1和底牌数据D2进行签名得到签名数据S4,并将洗牌数据、底牌数据D2和签名数据S4发送给玩家终端200,其具体过程与上述的第三步和第四步类似,只是玩家终端200在进行验证时,会用玩家终端201的公钥P2对接收到的洗牌数据D1和底牌数据D2进行签名,其他内容在此不再赘述。[0088]第五,玩家终端200和玩家终端2〇1按照游戏进程进行后续的发公开牌的操作,得到对应的公开牌数据D3,其后续的具体过程与第三步和第四步类似,在此不再赘述。在此值得说明的是,发公开牌的步骤在图4中未示出。[0089]第六,玩家终端200开始进行下注操作,得到对应的下注数据D4。其中,下注数据D4中此时仅包括玩家终端2〇0的下注金额。洗牌数据D1、底牌数据D2、公开牌数据D3及下注数据D4构成了玩家终端200当前的第一目标结果数据。通过所述预设的哈希算法对洗牌数据D1、底牌数据D2、公开牌数据D3及下注数据D4做哈希,并通过私钥K1对得到的哈希值进行签名得到签名数据S5,并将洗牌数据D1、底牌数据D2、公开牌数据D3、下注数据D4及签名数据S5—并发送给玩家终端201进行验证,玩家终端201进行验证的方式与第二步中类似,在此不再赘述。[0090]第七,玩家终端2〇1开始进行下注操作,此时,下注数据D4中包括玩家终端200的下注金额和玩家终端201的下注金额。洗牌数据D1、底牌数据D2、公开牌数据D3及下注数据D4构成了玩家终端201当前的第一目标结果数据。通过所述预设的哈希算法对洗牌数据D1、底牌数据D2、公开牌数据D3及下注数据D4做哈希,并通过私钥K2对得到的哈希值进行签名得到签名数据Se,并将洗牌数据D1、底牌数据D2、公开牌数据D3、下注数据D4及签名数据S6发送给玩家终端200进行验证,玩家终端200进行验证的方式与第二步中类似,在此不再赘述。[0091]第八,玩家终端200和玩家终端2〇1可以继续进行下注操作(图4未示出),进而得到包括各玩家终端的累计下注金额的下注数据D4,并且,执行下注操作的玩家终端会对洗牌数据D1、底牌数据D2、公开牌数据D3及包括各玩家终端的累计下注金额的下注数据D4进行签名,得到签名数据,再将洗牌数据D1、底牌数据D2、公开牌数据D3、下注数据D3及得到的签名数据一并发送给其他玩家终端,使其他玩家终端进行验证。其中,若执行下注操作的是玩家终端200,则玩家终端200将相应数据发送给玩家终端201;若执行下注操作的是玩家终端201,则玩家终端201将相应数据发送给玩家终端200。[0092]第九,如上所述,底牌数据D2为加密后的底牌,g卩,底牌数据D2包括已加密的玩家终端200的底牌XI以及已加密的玩家终端201的底牌X2。则当玩家终端200执行公开底牌的操作时,洗牌数据D1、底牌数据D2、公开牌数据D3、下注数据D4、底牌XI未加密及底牌XI的加密秘钥构成当前的第一目标结果数据,玩家终端200对该第一目标结果数据进行签名,得到签名数据S7,并将签名数据S7及该第一目标结果数据发送给玩家终端201。[0093]玩家终端201验证签名数据S7是否正确,当签名数据S7正确时,采用底牌XI的加密秘钥对底牌XI进行加密,并判断得到的加密结果与玩家终端201获得的己加密的底牌XI是否一致,若一致,则确定玩家终端200发送的第一目标结果数据与玩家终端201当前的第一目标结果数据一致。若不一致,则可以按照上述的争议流程进行。[0094]第十,玩家终端201公开底牌后,得到的当前的第一目标结果数据包括:洗牌数据D1、底牌数据D2、公开牌数据D3、下注数据D4、底牌XI、底牌XI的加密秘钥、底牌X2及底牌X2的加密秘钥,通过玩家终端201的私钥K2对该当前的第一目标结果数据进行签名,得到签名数据S8,将该当前的第一目标结果数据及其签名数据S8发送给玩家终端200,详细过程与上述的第十步类似,在此不再赘述。[0095]第十一,当所有玩家终端均公开底牌后,游戏结束,此时,各玩家终端根据各自当前的第一目标结果数据及其签名数据计算本次游戏的赢家,以确定赢家终端。以玩家终端200为例,玩家终端200当前的第一目标结果数据包括:洗牌数据D1、底牌数据D2、公开牌数据D3、下注数据D4、底牌XI、底牌XI的加密秘钥、底牌X2及底牌X2的加密秘钥。实施时,玩家终端200根据该第一目标结果数据计算确定赢家终端,得到包括该第一目标结果数据及赢家数据yl的第二目标结果数据Y1。然后,对该第二目标结果数据进行签名得到签名数据S9,将该第二目标结果数据及签名数据S9发送给玩家终端201。[0096]与此同时,玩家终端201也会按照与第十二步相似的过程计算赢家,得到对应的第一目标结果数据Y2,弟一目标结果数据Y2中包括玩家终端201计算出的赢家数据y2。玩家终端201对第二目标结果数据Y2进行签名得到签名数据S10,将第二目标结果数据Y2和签名崔文据S10发送给玩家终端200。[0097]第十二,若玩家终端2〇0和玩家终端201通过计算确定的赢家终端不同,则所确定的各赢家终端都会将第二目标结果数据Y1、签名数据S9、第二目标结果数据Y2及签名数据S10发送给智能合约服务器100。若玩家终端2〇〇和玩家终端201通过计算确定的赢家终端相同,假设均为玩家终端200,则玩家终端200将第二目标结果数据Y1、签名数据S9、第二目标结果数据Y2及签名数据S10发送给智能合约服务器100。[0098]第十三,基于计算确定赢家终端相同、为玩家终端200的示例,智能合约服务器100分别验证签名数据S9和签名数据S10是否正确,若正确,则判断第二目标结果数据Y1和第二目标结果数据Y2中的赢家数据是否相同,即赢家数据yl和赢家数据y2是否相同,若相同,则进行电子筹码的结算。[00"]右签名数据S9或签名数据S10不正确,或是赢家数据yl和赢家数据y2不同,智能合约服务器100会根据玩家终端200和玩家终端201的公开牌数据和底牌数据重新计算以确定赢家终端,并根据重新确定的赢家终端进行电子筹码的结算。[0100]综上所述,本申请实施例提供一种游戏数据处理方法及系统,玩家终端在接收到游戏开启指令时,按照游戏进程执行该游戏包括的多个操作。针对每个操作,玩家终端得到该操作对应的结果数据时,将该结果数据与之前的所有操作产生的结果数据合并,得到当前的第一目标结果数据,执行该操作的玩家终端对当前的第一目标结果数据进行签名,将该当前的第一目标结果数据及其签名数据发送给其他玩家终端。当接收到的该签名数据正确且接收到的该第一目标结果数据与其他玩家终端当前的第一目标结果数据相同时,其他玩家终端保存接收到的该签名数据及接收到的该第一目标结果数据,并按照游戏进程执行下一操作。每个玩家终端在游戏结束时,根据当前存储的第一目标结果数据及签名数据计算赢得所述游戏的赢家终端,得到包括当前存储的第一目标结果数据及赢家数据的第二目标结果数据,对第二目标结果数据进行签名,将所述第二目标结果数据及其签名数据发送给其他玩家终端。赢家终端将各玩家终端的第二目标结果数据及其签名数据发送给智能合约服务器,使智能合约服务器根据接收到的数据进行电子筹码的结算。通过上述过程,可以不必在每次操作执行后向智能合约服务器写入数据,减少了向智能合约服务器写数据的次数,从而减少了游戏过程中的等待时间及玩家所需费用,并且能够确保游戏数据的安全性。[0101]以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

权利要求:1.一种游戏数据处理方法,其特征在于,应用于游戏数据处理系统,该游戏数据处理系统包括相互通信连接的智能合约服务器及多个玩家终端,该方法包括:所述玩家终端在接收到游戏开启指令时,按照游戏进程执行该游戏包括的多个操作;针对每个操作,所述玩家终端在得到该操作对应的结果数据时,将该结果数据与该操作之前的所有操作产生的结果数据合并形成当前的第一目标结果数据,执行该操作的玩家终端对该第一目标结果数据进行签名得到签名数据,并将所述第一目标结果数据及所述签名数据发送给参与所述游戏的其他玩家终端;当接收到的所述签名数据正确,且接收到的所述第一目标结果数据与所述其他玩家终端当前的第一目标结果数据相同时,所述其他玩家终端保存接收到的所述第一目标结果数据及接收到的所述签名数据,并按照所述游戏的进程执行下一操作;每个玩家终端在游戏结束时,根据当前存储的第一目标结果数据及其签名数据计算所述多个玩家终端中赢得所述游戏的赢家终端,并将计算得到的赢家数据与当前存储的第一目标结果数据合并形成第二目标结果数据,对该第二目标结果数据进行签名,将所述第二目标结果数据及其签名数据发送给其他玩家终端;所述赢家终端将各玩家终端的第二目标结果数据及其签名数据发送给所述智能合约服务器,使所述智能合约服务器根据接收到的数据进行电子筹码的结算。2.根据权利要求1所述的游戏数据处理方法,其特征在于,该方法还包括:当所述签名数据不正确,或者,当所述第一目标结果数据与所述其他玩家终端当前的第一目标结果数据不同时,所述其他玩家终端将所述第一目标结果数据、所述第一目标结果数据的签名数据、本终端当前的第一目标结果数据及其签名数据发送给所述智能合约服务器;所述智能合约服务器判断接收到的数据是否足以计算出所述游戏的赢家终端;若是,所述智能合约服务器根据接收到的数据计算所述多个玩家终端中赢得所述游戏的赢家终端并进行电子筹码的结算。3.根据权利要求2所述的游戏数据处理方法,其特征在于,所述方法还包括:若所述智能合约服务器接收到的数据不足以计算出所述游戏的赢家终端,所述智能合约服务器判断各玩家终端在所述游戏中执行的操作与预设规则的匹配情况,并根据所述匹配情况对各玩家终端在所述游戏中投入的电子筹码进行分配。4.根据权利要求3所述的游戏数据处理方法,其特征在于,所述游戏为扑克牌游戏,所述多个操作包括下注操作,所述智能合约服务器根据所述匹配情况对所述电子筹码进行分配,包括:当各玩家终端在所述游戏中均未执行下注操作时,将每个玩家终端存入的电子筹码退回给各玩家终端;当存在已执行下注操作的玩家终端时,从各玩家终端存入的电子筹码中转出预设数量的电子筹码,并将转出的电子筹码存入所述智能合约服务器提供的预设地址;当存在未提交签名数据的玩家终端,或,存在提交的签名数据与所述游戏的规则不符的玩家终端时,将各玩家终端在所述游戏中下注的电子筹码均分给各玩家终端。5.根据权利要求1-4中任一项所述的游戏数据处理方法,每个玩家终端具有私钥和与该私钥对应的公钥;所述玩家终端对该第一目标结果数据进行签名得到签名数据,包括:所述玩家终端通过预设的哈希算法计算所述第一目标结果数据的哈希值,并通过本终端的私钥对该哈希值进行签名,得到所述签名数据;'所述方法还包括:所述其他玩家终端通过所述玩家终端的公钥验证所述签名数据是否正确。6.根据权利要求1-4中任一项所述的游戏数据处理方法,其特征在于,所述游戏为扑克牌游戏,该方法还包括:所述智能合约服务器在接收到所述赢家终端发送的第二目标结果数据及签名数据时,验证该签名数据是否正确;若正确,则根据所述第二目标结果数据判断各玩家终端计算出的赢家终端是否相同;若相同,则根据所述签名数据进行电子筹码的结算;若不同,则根据各玩家终端在所述扑克牌游戏中分发到的扑克牌重新计算确定赢家终端,并根据重新计算得到的赢家终端进行电子筹码的结算。7.—种游戏数据处理系统,其特征在于,包括相互通信连接的智能合约服务器及多个玩家终端;所述玩家终端在接收到游戏开启指令时,按照游戏进程执行该游戏包括的多个操作;针对每个操作,所述玩家终端得到该操作对应的结果数据时,将该结果数据与该操作之前的所有操作产生的结果数据合并形成当前的第一目标结果数据,执行与该操作的玩家终端对该第一目标结果数据进行签名得到签名数据,并将所述第一目标结果数据及所述签名数据发送给参与所述游戏的其他玩家终端;当接收到的所述签名数据正确,且接收到的所述第一目标结果数据与所述其他玩家终端当前的第一目标结果数据相同时,所述其他玩家终端保存接收到的所述第一目标结果数据及接收到的所述签名数据,并按照所述游戏的进程执行下一操作;每个玩家终端在游戏结束时,根据当前存储的第一目标结果数据及其签名数据计算所述多个玩家终端中赢得所述游戏的赢家终端,并将得到的赢家数据与当前存储的第一目标结果数据合并形成第二目标结果数据,对该第二目标结果数据进行签名,将所述第二目标结果数据及其签名数据发送给其他玩家终端;所述赢家终端将各玩家终端的第二目标结果数据及其签名数据发送给所述智能合约服务器,使所述智能合约服务器根据接收到的数据进行电子筹码的结算。8.根据权利要求7所述的游戏数据处理系统,其特征在于,当所述签名数据不正确,或者,当所述第一目标结果数据与所述其他玩家终端当前的第一目标结果数据不同时,所述其他玩家终端将所述第一目标结果数据、所述第一目标结果数据的签名数据、本终端当前的第一目标结果数据及其签名数据发送给所述智能合约服务器;所述智能合约服务器判断接收到的数据是否足以计算出所述游戏的赢家终端;若是,所述智能合约服务器根据接收到的数据计算所述多个玩家终端中赢得所述游戏的赢家终端并进行电子筹码的结算。9.根据权利要求8所述的游戏数据处理系统,其特征在于,若所述智能合约服务器接收到的数据不足以计算出所述游戏的赢家终端,所述智能合约服务器判断各玩家终端在所述游戏中执行的操作与预设规则的匹配情况,并根据所述匹配情况对各玩家终端在所述游戏中投入的电子筹码进行分配。10.根据权利要求9所述的游戏数据处理系统,其特征在于,所述游戏为扑克牌游戏,所述多个操作包括下注操作,所述智能合约服务器根据所述匹配情况对所述电子筹码进行分配的方式,为:当各玩家终端在所述游戏中均未执行下注操作时,将每个玩家终端存入的电子筹码退回给该玩家终端;当存在已执行下注操作的玩家终端时,从各玩家终端存入的电子筹码中转出预设数量的电子筹码,并将转出的电子筹码存入所述智能合约服务器提供的预设地址;当存在未提交签名数据的玩家终端,或,存在提交的签名数据与所述游戏的规则不符的玩家终端时,将各玩家终端在所述游戏中下注的电子筹码均分给各玩家终端。

百度查询: 北京知道创宇信息技术股份有限公司 游戏数据处理方法及系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。