一种游戏数据校验方法、装置、电子设备及存储介质与流程

文档序号:18709320发布日期:2019-09-18 00:20阅读:176来源:国知局
一种游戏数据校验方法、装置、电子设备及存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种游戏数据校验方法、装置、电子设备及存储介质。



背景技术:

在网络游戏中,为了防止玩家对游戏成绩进行作弊,服务器常常需要对客户端上传的游戏数据进行校验。

然而,游戏种类繁多,每种游戏都有自己的逻辑结构和数据特点,进行游戏数据校验时,技术人员不得不了解不同的游戏并针对每种游戏编写相应的代码,校验效率十分低下。



技术实现要素:

有鉴于此,本发明实施例提供一种游戏数据校验方法、装置、电子设备及存储介质,能够有效提高游戏数据校验效率。

第一方面,本发明实施例提供一种游戏数据校验方法,包括:接收来自客户端的玩家属性变更信息,所述玩家属性变更信息包括变更标识以及第一属性值,所述第一属性值为变更后的玩家属性值;查询预设配置文件以获取所述变更标识对应的运算法则;根据所述运算法则,利用预先保存的第二属性值确定第三属性值,其中,所述第二属性值为变更前的所述玩家属性值;通过对比所述第一属性值与所述第三属性值的一致性,对所述第一属性值进行校验。

可选的,每个所述变更标识对应一个或多个玩家属性。

可选的,所述预设配置文件中设置有至少一个变更标识、每个所述变更标识所针对的玩家属性的属性标识、以及每个所述玩家属性对应的变更运算。

可选的,所述根据所述运算法则,利用预先保存的第二属性值确定第三属性值包括:根据所述玩家属性变更信息中的变更标识,在所述预设配置文件中查询所述变更标识所针对的玩家属性的属性标识;根据查询到的所述玩家属性的属性标识,从数据库中获取预先保存的第二属性值;根据所述预设配置文件中所述玩家属性对应的变更运算,利用所述第二属性值确定所述第三属性值。

可选的,所述预设配置文件还设置有所述变更标识所属应用的应用标识,所述预设配置文件用于根据所述应用标识为多个应用提供查询服务。

可选的,所述预设配置文件中,所述玩家属性的数据类型为整型数据;所述预设配置文件的文件类型包括以下至少一种:excel类型文件、word类型文件、txt类型文件。

第二方面,本发明的实施例还提供一种游戏数据校验装置,包括:接收单元,用于接收来自客户端的玩家属性变更信息,所述玩家属性变更信息包括变更标识以及第一属性值,所述第一属性值为变更后的玩家属性值;配置查询单元,用于查询预设配置文件以获取所述变更标识对应的运算法则;确定单元,用于根据所述运算法则,利用预先保存的第二属性值确定第三属性值,其中,所述第二属性值为变更前的所述玩家属性值;校验单元,用于通过对比所述第一属性值与所述第三属性值的一致性,对所述第一属性值进行校验。

可选的,每个所述变更标识对应一个或多个玩家属性。

可选的,所述预设配置文件中设置有至少一个变更标识、每个所述变更标识所针对的玩家属性的属性标识、以及每个所述玩家属性对应的变更运算。

可选的,所述确定单元包括:查询模块,用于根据所述玩家属性变更信息中的变更标识,在所述预设配置文件中查询所述变更标识所针对的玩家属性的属性标识;获取模块,用于根据所述查询模块查询到的所述玩家属性的属性标识,从数据库中获取预先保存的所述第二属性值;确定模块,用于根据所述预设配置文件中所述玩家属性对应的变更运算,利用所述第二属性值确定所述第三属性值。

可选的,所述预设配置文件还设置有所述变更标识所属应用的应用标识,所述预设配置文件用于根据所述应用标识为多个应用提供查询服务。

可选的,所述预设配置文件中,所述玩家属性的数据类型为整型数据;所述预设配置文件的文件类型包括以下至少一种:excel类型文件、word类型文件、txt类型文件。

第三方面,本发明的实施例还提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明的实施例提供的任一种游戏数据校验方法。

第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明的实施例提供的任一种游戏数据校验方法。

本发明的实施例提供的游戏数据校验方法、装置、电子设备及存储介质,服务器能够接收来自客户端的玩家属性变更信息;查询预设配置文件以获取玩家属性变更信息中的变更标识对应的运算法则;根据所述运算法则,利用预先保存的第二属性值确定第三属性值;通过对比玩家属性变更中携带的第一属性值与所述第三属性值的一致性,对所述第一属性值进行校验。这样,通过将变更标识及其对应的运算法则都设置在预设配置文件中,服务器只需要查询该预设配置文件即可获知玩家进行的属性变更具体涉及哪些运算,通过对预先保存的第二属性值执行相应运算,从而得到属性变更后所应得到的正确数据(即第三属性值),以便利用该正确数据校验客户端上传的玩家属性值。整个过程实现了游戏数据校验操作与具体业务相剥离,无需技术人员针对具体的玩家数据编写大量代码,从而有效提高了游戏数据校验效率。

附图说明

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

图1为本发明的实施例提供的一种实施环境的示意图;

图2为本发明的实施例提供数据校验方法的一种流程图;

图3为本发明的实施例提供的数据校验方法的一种详细流程图;

图4为本发明的实施例提供的数据校验装置的一种结构示意图;

图5为本发明的实施例提供的电子设备的一种结构示意图。

具体实施方式

下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参考图1,其示出了本申请一个实施例提供的实施环境的示意图。该实施环境中包括终端1和服务器2。

终端1和服务器2可以通过有线或无线网络相连。终端1可以是智能手机、平板电脑或个人计算机等等。图1中以终端1是智能手机为例进行说明。服务器2可以是一台服务器、若干台服务器构成的服务器集群或云计算中心等。

终端1上设置有客户端,客户端能够接收玩家的操作指令,与玩家进行交互,形成玩家数据并向服务器发送该玩家数据。服务器2能够接收来自客户端的玩家数据并进行相应的处理和保存。

在服务器2接收的玩家数据中可以包括玩家属性变更信息,该玩家属性变更信息可以包括变更标识以及第一属性值,所述第一属性值为变更后的玩家属性值;查询预设配置文件以获取所述变更标识对应的运算法则;服务器2能够根据所述运算法则,利用预先保存的第二属性值确定第三属性值,其中,所述第二属性值为变更前的所述玩家属性值;通过对比所述第一属性值与所述第三属性值的一致性,对所述第一属性值进行校验。这样,通过将变更标识及其对应的运算法则都设置在预设配置文件中,服务器2只需要查询该预设配置文件即可获知玩家进行的属性操作具体涉及哪些运算,通过对预先保存的第二属性值执行相应运算,从而得到属性变更后所应得到的正确数据(即第三属性值),以便利用该正确数据来校验客户端上传的玩家属性值(即第一属性值)。整个过程实现了数据校验操作与具体业务相剥离,无需技术人员针对具体的玩家数据编写大量代码,从而有效提高了游戏数据校验效率。

下面采用示意性的实施例进行说明。

请参考图2,其示出了本申请一个实施例提供的一种数据校验方法的流程图。本实施例以该方法应用于图1中的服务器2来举例说明。

如图2所示,本发明的实施例提供的游戏数据校验方法可以包括:

s11,接收来自客户端的玩家属性变更信息,所述玩家属性变更信息包括变更标识以及第一属性值,所述第一属性值为变更后的玩家属性值;

具体而言,玩家在客户端可以执行各种玩家操作,其中有些操作就会使玩家属性等信息产生变更。玩家属性变更信息描述的即是操作对玩家属性的变更情况。变更可以用变更标识来区分识别。玩家属性可以是对玩家能力或玩家拥有的资源的描述。可选的,玩家操作例如可以包括兑换操作、任务完成操作、消费操作等,玩家属性例如可以包括玩家等级、玩家拥有的钻石数、金币数、玩家攻击力、防御力、体力等。在本发明的一个实施例中,服务器接收到的一条玩家属性变更信息例如可以包括:变更标识为exchangeg2d(金币兑换钻石操作),玩家属性对应的第一属性值具体可以为兑换后金币数为80,钻石数为7。

s12,查询预设配置文件以获取所述变更标识对应的运算法则;

可选的,预设配置文件可以预先由技术人员编写或由程序按照玩家需求自动生成。预设配置文件可以保存在服务器,当客户端登录服务器时,可以将该预设配置文件从服务器下载到本地,以使客户端能够根据该预设配置文件中设置的变更标识与运算法则的映射关系执行各种玩家属性变更操作。服务器可以根据玩家属性变更信息中的变更标识从该预设配置文件中查找到对应的运算法则。例如,在本发明的一个实施例中,玩家完成任务a1,则根据任务a1的变更标识在预设配置文件中查找到运算法则为金币数增加20。在本发明的另一个实施例中,玩家用金币兑换钻石,则根据金币兑换钻石的变更标识,在预设配置文件中查找到运算法则为金币数减少10,钻石数增加1,也就是10枚金币兑换1枚钻石。

需要说明的是,预设配置文件中记录的每种变更标识对应的运算法则是执行一次变更操作需要进行的运算,当接收到的玩家属性变更信息中包括两次或更多次的同种变更操作时,可以重复执行上述运算法则。

s13,根据所述运算法则,利用预先保存的第二属性值确定第三属性值,其中,所述第二属性值为变更前的所述玩家属性值;

具体而言,服务器与客户端交互的过程中,可以保存客户端发送的各种数据,其中也包括玩家属性。在步骤s12中获取了玩家操作对应的运算法则后,本步骤中,可以对服务器预先保存的玩家属性(即第二属性值)执行该运算法则,使玩家属性由运算前的第二属性值变为运算后的第三属性值。

例如,服务器预先保存的玩家属性中,金币数的第二属性值为50枚,钻石数的第二属性值为11枚,执行金币兑换钻石的玩家操作,即执行运算规则为用10枚金币兑换1枚钻石的操作,则执行该操作后,金币数的第三属性值为40枚,钻石数的第三属性值为12枚。

s14,通过对比所述第一属性值与所述第三属性值的一致性,对所述第一属性值进行校验。

可选的,如果二者一致,则说明客户端发送来的游戏数据可信,如果二者不一致,则说明玩家作弊,可以撤销该游戏数据并提示玩家。

具体而言,步骤s11中接收的玩家属性变更信息中的第一属性值,是由客户端发送来的、基于玩家属性变更操作的变更后属性值。而步骤s13中预先保存的第二属性值为服务器预先保存的、玩家操作之前的玩家属性值,步骤s13中得到的第三属性值是基于服务器之前保存的数据、按照查询到的运算法则计算得到的。由于客户端与服务器在计算玩家属性时是基于同样的运算法则,如果玩家没有对客户端变更操作后的属性值进行篡改作弊,则步骤s11中接收到的第一属性值应该与步骤s13中计算得到的第三属性值相同。而如果玩家作弊,对客户端变更操作后的属性值进行了修改试图得到更好的成绩,则步骤s11中服务器接收到的第一属性值就会与步骤s13中计算得到的第三属性值有所不同,例如,在本发明的一个实施例中,服务器计算得到的玩家体力的第三属性值为3,而客户端发送来的玩家体力的第一属性值为6,显然,玩家为了得到更好的成绩进行了作弊,将玩家体力由3修改为6。

本发明的实施例提供的游戏数据校验方法,服务器能够接收来自客户端的玩家属性变更信息;查询预设配置文件以获取玩家属性变更信息中的变更标识对应的运算法则;根据所述运算法则,利用预先保存的第二属性值确定第三属性值,其中,所述第二属性值为变更前的所述玩家属性值;通过对比所述第一属性值与所述第三属性值的一致性,对所述第一属性值进行校验。这样,通过将变更标识及其对应的运算法则都设置在预设配置文件中,服务器只需要查询该预设配置文件即可获知玩家进行的属性变更具体涉及哪些运算,通过对预先保存的第二属性值执行相应运算,从而得到该属性操作所应得到的正确数据(即第三属性值),以便利用该正确数据校验客户端上传的第一属性值。整个过程实现了游戏数据校验操作与具体业务相剥离,无需技术人员针对具体的玩家数据编写大量代码,从而有效提高了游戏数据校验效率。

可选的,在步骤s11中,服务器接收到的玩家属性变更信息中,每个玩家操作可以对应一个变更标识,每个变更标识可以对应一个或多个玩家属性。例如完成任务b的变更标识可以表示为taskbdone,对应的玩家属性可以为金币,例如完成任务b可以得到金币2枚。又例如金币兑换钻石的变更标识可以为exchangeg2d,对应的玩家属性为金币和钻石,例如5枚金币可以兑换1枚钻石。

接收到客户端发送的玩家属性变更信息后,就可以在步骤s12中利用该玩家属性变更信息中的变更标识,从预设配置文件中查找到该变更标识对应着怎样的运算法则。具体而言,运算法则具体可以包括对何种玩家属性执行怎样的运算操作,例如上述实施例中,金币兑换钻石操作的运算法则可以为金币数减少5同时钻石数增加1。

可选的,在本发明的实施例中,运算操作及其所针对的玩家属性既可以直接由运算法则规定,也可以将运算法则进一步拆分为玩家属性及对玩家属性执行的运算两部分。本发明的实施例对此不做限定。举例而言,在本发明的一个实施例中,预设配置文件中可以设置有至少一个变更标识、每个变更标识所针对的玩家属性的属性标识、以及每个玩家属性对应的运算。

基于此,步骤s13中,根据所述运算法则,利用预先保存的第二属性值确定第三属性值,其中,所述第二属性值为变更前的所述玩家属性值具体可以包括:根据所述玩家属性变更信息中的变更标识,在所述预设配置文件中查询所述变更标识所针对的玩家属性的属性标识;根据查询到的所述玩家属性的属性标识,从数据库中获取预先保存的所述玩家属性的第二属性值;根据所述预设配置文件中所述玩家属性对应的变更运算,利用所述第二属性值确定所述第三属性值。

例如,在本发明的一个实施例中,服务器接收到一个玩家属性变更信息中的变更标识为exchangeg2d,在预设配置文件中查询到变更标识exchangeg2d所针对的玩家属性为金币数(对应的属性标识为num_of_gold)以及钻石数(对应的属性标识为num_of_diomend),执行的运算操作分别为金币数减10和钻石数加1,然后从数据库中查询num_of_gold对应的第二属性值为45,num_of_diomend对应的第二属性值为8,对金币的第二属性值45执行减10操作得到金币的第三属性值35,对钻石的第二属性值8执行加1操作得到钻石的第三属性值9。

可选的,本发明的实施例中,预设配置文件中玩家属性的数据类型可以为整型数据、实数型数据等,便于运算和数据处理。预设配置文件中的数据组织形式可以为映射表、映射图或者映射函数等,预设配置文件的文件类型可以包括以下一种或多种:excel类型文件、word类型文件、txt类型文件。

需要说明的是,上述实施例中,预设配置文件具体用于记录变更标识所对应的运算法则,而这些变更标识和运算法则既可以来自同一个应用,也可以来自不同应用,只要能够相互区别开即可。

例如,在本发明的一个实施例中,预设配置文件还可以设置有变更标识所属应用的应用标识,则预设配置文件可以用于根据所述应用标识为多个应用提供查询服务。这样,各种需要进行数据校验的应用都可以将自己的变更标识以及对应的运算法则设置在同一个预设配置文件中,从而有效拓展了数据校验的通用性,最大可能地减少了多种应用中数据校验的繁琐操作。

下面通过具体实施例对本发明实施例提供的数据校验方法进行详细说明。

如图3所示,本发明的实施例提供的游戏数据校验方法可以包括:

s201、接收来自客户端的玩家属性变更信息,所述玩家属性变更信息包括变更标识taskbdone以及玩家属性变更后对应的第一属性值----金币数为60。

s202、查询预设配置文件以获取变更标识taskbdone对应的运算法则为金币数增加10。

s203、根据玩家属性变更信息中的变更标识taskbdone,在预设配置文件中查询变更标识taskbdone所针对的玩家属性的属性标识为num_of_gold(金币数)。

s204、根据查询到的玩家属性的属性标识num_of_gold,从数据库中获取预先保存的num_of_gold的第二属性值为50。

s205、根据运算法则金币数加增10,利用预先保存的第二属性值50确定第三属性值,得到num_of_gold的第三属性值50+10=60;

s206、对比所述第一属性值与所述第三属性值,发现二者都是60,则校验通过,确定客户端发送的玩家属性变更信息内容真实。

可选的,本实施例中,如果步骤s201中从客户端接收到的玩家属性变更信息中的第一属性值不是60而是80,则第一属性值与第三属性值不一致,说明玩家对玩家属性中的金币数进行了篡改。

相应的,本发明的实施例还提供一种游戏数据校验装置,能够有效提高游戏数据校验效率。

如图4所示,本发明的实施例提供的游戏数据校验装置,可以包括:

接收单元31,用于接收来自客户端的玩家属性变更信息,所述玩家属性变更信息包括变更标识以及第一属性值,所述第一属性值为变更后的玩家属性值;

配置查询单元32,用于查询预设配置文件以获取所述变更标识对应的运算法则;

确定单元33,用于根据所述运算法则,利用预先保存的第二属性值确定第三属性值,其中,所述第二属性值为变更前的所述玩家属性值;

校验单元34,用于通过对比所述第一属性值与所述第三属性值的一致性,对所述第一属性值进行校验。

本发明的实施例提供的数据校验装置,能够接收来自客户端的玩家属性变更信息;查询预设配置文件以获取玩家属性变更信息中的变更标识对应的运算法则;根据所述运算法则,利用预先保存的第二属性值确定第三属性值;通过对比所述第一属性值与所述第三属性值的一致性,对所述第一属性值进行校验。这样,通过将变更标识及其对应的运算法则都设置在预设配置文件中,服务器只需要查询该预设配置文件即可获知玩家属性变更操作具体涉及哪些运算,通过对预先保存的第二属性值执行相应运算,从而得到该变更操作所应得到的正确数据(即第三属性值),以便利用该正确数据校验客户端上传的第一属性值。整个过程实现了数据校验操作与具体业务相剥离,无需技术人员针对具体的玩家数据编写大量代码,从而有效提高了数据校验效率。

可选的,每个所述变更标识对应一个或多个玩家属性。

可选的,所述预设配置文件中设置有至少一个变更标识、每个所述变更标识所针对的玩家属性的属性标识、以及每个所述玩家属性对应的运算。

可选的,确定单元33可以包括:

查询模块,用于根据所述玩家属性变更信息中的变更标识,在所述预设配置文件中查询所述变更标识所针对的玩家属性的属性标识;

获取模块,用于根据所述查询模块查询到的所述玩家属性的属性标识,从数据库中获取预先保存的所述玩家属性的第二属性值;

执行模块,用于根据所述预设配置文件中所述玩家属性对应的变更运算,利用所述第二属性值确定所述第三属性值。

可选的,所述预设配置文件还设置有所述变更标识所属应用的应用标识,所述预设配置文件用于根据所述应用标识为多个应用提供查询服务。

可选的,所述预设配置文件中,所述玩家属性的数据类型为整型数据;所述预设配置文件的文件类型包括以下至少一种:excel类型文件、word类型文件、txt类型文件。

相应的,本发明实施例提供一种电子设备,能够有效提高游戏数据校验效率。

如图5所示,本发明的实施例提供的电子设备,可以包括:壳体51、处理器52、存储器53、电路板54和电源电路55,其中,电路板54安置在壳体51围成的空间内部,处理器52和存储器53设置在电路板54上;电源电路55,用于为上述电子设备的各个电路或器件供电;存储器53用于存储可执行程序代码;处理器52通过读取存储器53中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例提供的游戏数据校验方法。

处理器52对上述步骤的具体执行过程以及处理器52通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。

上述电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子设备。

相应的,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种游戏数据校验方法,因此也能实现相应的技术效果,前文已经进行了详细说明,此处不再赘述。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。

尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1