基于区块链的防作弊方法及系统转让专利

申请号 : CN201910996479.1

文献号 : CN110743169B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈幸福

申请人 : 陈幸福

摘要 :

本发明实施例的方法中提出了一种基于区块链的防作弊方法及系统,通过区块链技术将游戏事件数据生成的第二任务和游戏过程数据生成的第一任务交由节点去处理,处理完成后再由第一服务器和第二服务器进行综合判断和处理,对作弊行为进行进一步判断和处理,降低了服务器产生的冗余,减少了服务器的负担,提升了游戏作弊行为判定的效率和准确率,提升了用户的体验,营造良好的互联网生态环境。

权利要求 :

1.一种基于区块链的防作弊方法,其特征在于,所述方法包括:S1、第一服务器对客户端的后台进程进行扫描,若未扫描出作弊进程,则将该客户端加入白名单表;

S2、第一服务器读取区块链上记录的客户端历史数据,并在识别客户端历史数据上的信用分数和平均在线时长后,生成对应的采集频次,然后按照采集频次采集各客户端的游戏过程数据,将游戏过程数据以第一任务的形式实时发布至区块链中,所述第一任务携带有获取频次;第二服务器实时接收白名单表中客户端所产生的游戏事件数据,将其以第二任务的形式实时发布至区块链;

S3、区块链创建OPEN表和CLOSE表,将新发布的第一任务存入OPEN表,将达到获取频次的第一任务存入CLOSE表;

S4、节点从区块链的OPEN表中随机获取第一任务,同步更新该第一任务的获取频次,节点对获取到的第一任务进行预处理后生成学习倾向标识,通过强化学习模型对携带有学习倾向标识的第一任务进行学习以生成强化学习结果,基于强化学习结果生成带有时间戳的作弊判定结果,节点将作弊判定结果上传至区块链并进行全节点广播,其他节点在收到广播后基于区块链约束规则进行处理,区块链基于区块链约束规则生成第一奖励区块,然后进入S5;或,节点从区块链中随机获取第二任务,并在处理完成后生成带有时间戳的游戏事件结果,节点将游戏事件结果发送至第二服务器,并同步上传至区块链并进行全节点广播,其他节点在收到广播后基于区块链约束规则进行处理,区块链基于区块链约束规则生成第二奖励区块,然后进入S7;

S5、区块链根据作弊判定结果对信用分数 进行更新,并将更新后的 发送至第一服务器中;

S6、若 第一服务器向对应的客户端发送警告消息;若 第一服务器将对应的客户端进行暂时封停;若 第一服务器将对应的客户端进行永久封停;其中,Σ1为第一阈值,Σ2为第二阈值,Σ3为第三阈值;

S7、第二服务器根据游戏事件结果生成相应地命令发送至对应客户端,以使客户端对游戏事件结果进行展示。

2.根据权利要求1所述的方法,其特征在于,所述信用分数的计算公式为:其中,λ为更新后

的信用分数,C9、…、C5、…、C1分别表示更新前1个、…、更新前5个、…、更新前9个信用分数,α、β、χ、δ分别为第一权重、第二权重、第三权重、第四权重。

3.根据权利要求1所述的方法,其特征在于,所述采集频次的计算公式为:其中,fj表示采

集频次,C8、…、C4、…、C1分别表示当前、…、前4个、…、前7个信用分数,A、B、C、D分别表示第一参数、第二参数、第三参数、第四参数,J表示采集频次修正因子,L表示平均在线时长,[X]表示对X进行取整。

4.根据权利要求1所述的方法,其特征在于,所述获取频次的更新公式为:其中,f'k为更新后的获取频次,fk为更新前的获取频次, 为节点十次采集的平均节点权重,ωk为当前的节点权重,P为校正因子,Q为偏移量,K表示获取频次修正因子,[X]表示对X进行取整。

5.根据权利要求1所述的方法,其特征在于,强化学习模型的构建方法具体包括:基于游戏图像训练集建立训练函数模型: 其中,[T]为*

采样步数,t∈[T]时的策略为π(t),c(xt,at)为每步采样的代价,假设存在最优策略π,为在最优策略π*下每步采样的代价;

定义训练函数模型的V函数: 以及定义训练函数模型的Q函数为:Qπ(x,a)=c(x,a)-λπ+E[Vπ(x′)|x,a];其中,E为迭代次数,将训练函数模型拆分为以下三个子模型,表示为: 其中,不断对三个子模型进行训练学习,直至 小于预设阈值,得到基于游戏图像数据的强化学习模型。

6.根据权利要求1所述的方法,其特征在于,所述区块链约束规则包括:每个节点每次只处理一个任务;

当前节点在处理任务过程中,若接收到其他的基于相同任务的任务结果时,立即停止对当前任务的处理;

当任务结果被区块链以区块形式记录时,区块链向带有最早的时间戳的节点投放奖励区块,该奖励区块可在节点之间进行交易,且交易记录写入区块链;

第一奖励区块和第二奖励区块的实际价值比按照指定周期进行更新,用 进行表示,其中,Λ表示价值比,M1表示该指定周期内平均每获得一个第一奖励区块所消耗的计算量,M2表示该指定周期内平均每获得一个第二奖励区块所消耗的计算量。

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:第一服务器对客户端的后台进程进行扫描,若扫描出作弊进程,则将该客户端加入黑名单表,禁止该客户端进入游戏。

8.根据权利要求1所述的方法,其特征在于,所述第一任务包括指定时长内的举报数据、玩家交流数据、游戏图像数据、外设操作数据和操作映射关系。

9.根据权利要求8所述的方法,其特征在于,所述节点对获取到的直播数据进行预处理,具体包括:

S201、若第一任务中携带有举报数据,则进行作弊预标记,否则,进入S202;

S202、判断玩家交流数据中是否存在与作弊词库匹配的内容,若是,则进行作弊预标记,否则,进入S203;

S203、判断外设操作数据中的外设操作频率是否超出预设范围,若超出则进行作弊预标记,若未超出,则进入步骤S204;

S204、从外设操作数据中随机挑选3次玩家行为操作,并将其与操作映射关系进行比对,若出现比对失败,则进行作弊预标记,否则不进行标记;

S205、若第一任务中存在作弊预标记,则生成作弊学习倾向标识;若第一任务不存在作弊预标记,则生成非作弊学习倾向标识。

10.一种基于区块链的防作弊系统,其特征在于,包括:服务器集群,服务器集群至少包括第一服务器和第二服务器;

所述第一服务器包括:

扫描单元,用于对客户端的后台进程进行扫描,在当未扫描出作弊进程,将该客户端加入白名单表,当扫描出作弊进程,则将该客户端加入黑名单表,禁止该客户端进入游戏;

读取单元,用于读取区块链上记录的客户端历史数据,并在识别客户端历史数据上的信用分数和平均在线时长后,生成对应的采集频次;

采集单元,用于按照采集频次采集各客户端的游戏过程数据,将游戏过程数据以第一任务的形式实时发布至区块链中,所述第一任务携带有获取频次;

判断单元,用与接收区块链更新的信用分数 以及在 向对应的客户端发送警告消息;在 将对应的客户端进行暂时封停;在 将对应的客户端进行永久封停;其中,Σ1为第一阈值,Σ2为第二阈值,Σ3为第三阈值;

所述第二服务器包括:

接收单元,用于实时接收白名单表中客户端所产生的游戏事件数据,将其以第二任务的形式实时发布至区块链;

处理单元,用于根据节点发送的游戏事件结果生成相应地命令,并发送至对应客户端,以使客户端对游戏事件结果进行展示;

多个节点,所述节点包括:

获取模块,用于从区块链的OPEN表中随机获取第一任务,同步更新该第一任务的获取频次;或者,用于从区块链中随机获取第二任务;

预处理模块,用于对获取到的第一任务进行预处理后生成学习倾向标识;

处理模块,用于通过强化学习模型对携带有学习倾向标识的第一任务进行学习以生成强化学习结果,基于强化学习结果生成带有时间戳的作弊判定结果;或者,对第二任务进行处理,生成带有时间戳的游戏事件结果,并发送至第二服务器;

区块链交互模块,用于将作弊判定结果上传至区块链并进行全节点广播,其他节点在收到广播后基于区块链约束规则进行处理,区块链基于区块链约束规则生成第一奖励区块;或者,用于将游戏事件结果上传至区块链并进行全节点广播,其他节点在收到广播后基于区块链约束规则进行处理,区块链基于区块链约束规则生成第二奖励区块;

区块链,所述区块链包括:

存储层,用于记录客户端数据、节点数据和服务器数据;

交互层,用于和节点、第一服务器和第二服务器进行数据交互;

处理层,用于创建OPEN表和CLOSE表,将新发布的第一任务存入OPEN表,将达到获取频次的第一任务存入CLOSE表;以及,用于根据作弊判定结果对信用分数 进行更新,并将更新后的 发送至第一服务器中;以及基于约束层进行第一奖励区块和第二奖励区块的生成、交易与记录;

约束层,用于建立区块链约束规则,具体包括:每个节点每次只处理一个任务;

当前节点在处理任务过程中,若接收到其他的基于相同任务的任务结果时,立即停止对当前任务的处理;

当任务结果被区块链以区块形式记录时,区块链向带有最早的时间戳的节点投放奖励区块,该奖励区块可在节点之间进行交易,且交易记录写入区块链;

第一奖励区块和第二奖励区块的实际价值比按照指定周期进行更新,用 进行表示,其中,Λ表示价值比,M1表示该指定周期内平均每获得一个第一奖励区块所消耗的计算量,M2表示该指定周期内平均每获得一个第二奖励区块所消耗的计算量。

说明书 :

基于区块链的防作弊方法及系统

【技术领域】

[0001] 本发明涉及计算机技术领域,尤其涉及一种基于区块链的防作弊方法及系统。【背景技术】
[0002] 近年来,随着互联网的迅猛发展,游戏产业也发生了日新月异的进步。与此同时,部分玩家在游戏中的作弊行为也日渐泛滥,尤其是即时性较强的游戏。比如,第一人称射击
(First-person shooter,FPS)游戏,游戏进行过程会产生大量的待计算数据,若这些数据
全部由游戏服务器进行计算,会使得服务器的负担极重,造成的延迟还会影响玩家的体验。
故在FPS游戏中,客户端在游戏事件发生后,是先在本地进行计算后将结果发生至服务器,
服务器进行处理后将命令发送至客户端,最后由客户端进行事件展示,这样就给游戏作弊
带来了可乘之机。
[0003] 在游戏运行中,进行作弊的客户端可以显示原本不应该展示的程序运算内容,通过作弊的形式提升胜出概率等,因此,游戏作弊行为会影响游戏的公平性,降低正常玩家的
游戏体验,并且为游戏服务器产生大量冗余数据,严重影响游戏的正常运营。
【发明内容】
[0004] 有鉴于此,本发明实施例提供了一种基于区块链的防作弊方法及系统。
[0005] 第一方面,本发明实施例提供了一种基于区块链的防作弊方法,该方法包括:
[0006] S1、第一服务器对客户端的后台进程进行扫描,若未扫描出作弊进程,则将该客户端加入白名单表;
[0007] S2、第一服务器读取区块链上记录的客户端历史数据,并在识别客户端历史数据上的信用分数和平均在线时长后,生成对应的采集频次,然后按照采集频次采集各客户端
的游戏过程数据,将游戏过程数据以第一任务的形式实时发布至区块链中,所述第一任务
携带有获取频次;第二服务器实时接收白名单表中客户端所产生的游戏事件数据,将其以
第二任务的形式实时发布至区块链;
[0008] S3、区块链创建OPEN表和CLOSE表,将新发布的第一任务存入OPEN表,将达到获取频次的第一任务存入CLOSE表;
[0009] S4、节点从区块链的OPEN表中随机获取第一任务,同步更新该第一任务的获取频次,节点对获取到的第一任务进行预处理后生成学习倾向标识,通过强化学习模型对携带
有学习倾向标识的第一任务进行学习以生成强化学习结果,基于强化学习结果生成带有时
间戳的作弊判定结果,节点将作弊判定结果上传至区块链并进行全节点广播,其他节点在
收到广播后基于区块链约束规则进行处理,区块链基于区块链约束规则生成第一奖励区
块,然后进入S5;或,节点从区块链中随机获取第二任务,并在处理完成后生成带有时间戳
的游戏事件结果,节点将游戏事件结果发送至第二服务器,并同步上传至区块链并进行全
节点广播,其他节点在收到广播后基于区块链约束规则进行处理,区块链基于区块链约束
规则生成第二奖励区块,然后进入S7;
[0010] S5、区块链根据作弊判定结果对信用分数 进行更新,并将更新后的 发送至第一服务器中;
[0011] S6、若 第一服务器向对应的客户端发送警告消息;若第一服务器将对应的客户端进行暂时封停;若 第一服务器将对应的客户端进行永
久封停;其中,Σ1为第一阈值,Σ2为第二阈值,Σ3为第三阈值;
[0012] S7、第二服务器根据游戏事件结果生成相应地命令发送至对应客户端,以使客户端对游戏事件结果进行展示。
[0013] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述信用分数的计算公式为:
[0014] 其中,λ为更新后的信用分数,C9、…、C5、…、C1分别表示更新前1个、…、更新前5个、…、更新前9个信用
分数,α、β、χ、δ分别为第一权重、第二权重、第三权重、第四权重。
[0015] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述采集频次的计算公式为:
[0016] 其 中 ,C8、…、C4、…、C1分别表示当前、…、前4个、…、前7个信用分数,fj表示采集频次、A、B、C、D分
别表示第一参数、第二参数、第三参数、第四参数,J表示采集频次修正因子,L表示平均在线
时长,[X]表示对X进行取整。
[0017] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述获取频次的更新公式为:
[0018] 其中,fk'为更新后的获取频次,fk为更新前的获取频次, 为节点十次采集的平均节点权重,ωk为当前的节点权重,P为校正因子,Q为偏移
量,K表示获取频次修正因子,[X]表示对X进行取整。
[0019] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,强化学习模型的构建方法具体包括:
[0020] 基于游戏图像训练集建立训练函数模型: 其中,[T]为采样步数,t∈[T]时的策略为π(t),c(xt,at)为每步采样的代价,假设存在最优策略π*,
为在最优策略π*下每步采样的代价;
[0021] 定义训练函数模型的V函数: 以及定义训练函数模型的Q函数为:Qπ(x,a)=c(x,a)-λπ+E[Vπ(x′)|x,a];其中,E为迭代次数,
[0022] 将训练函数模型拆分为以下三个子模型,表示为: 其中,
[0023] 不断对三个子模型进行训练学习,直至 小于预设阈值,得到基于游戏图像数据的强化学习模型。
[0024] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述区块链约束规则包括:
[0025] 每个节点每次只处理一个任务;
[0026] 当前节点在处理任务过程中,若接收到其他的基于相同任务的任务结果时,立即停止对当前任务的处理;
[0027] 当任务结果被区块链以区块形式记录时,区块链向带有最早的时间戳的节点投放奖励区块,该奖励区块可在节点之间进行交易,且交易记录写入区块链;
[0028] 第一奖励区块和第二奖励区块的实际价值比按照指定周期进行更新,用进行表示,其中,Λ表示价值比,M1表示该指定周期内平均每获得一个第一奖励区块所消耗
的计算量,M2表示该指定周期内平均每获得一个第二奖励区块所消耗的计算量。
[0029] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
[0030] 第一服务器对客户端的后台进程进行扫描,若扫描出作弊进程,则将该客户端加入黑名单表,禁止该客户端进入游戏。
[0031] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第一任务括指定时长内的举报数据、玩家交流数据、游戏图像数据、外设操作数据和操作映射关
系。
[0032] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述节点对获取到的直播数据进行预处理,具体包括:
[0033] S201、若第一任务中携带有举报数据,则进行作弊预标记,否则,进入S202;
[0034] S202、判断玩家交流数据中是否存在与作弊词库匹配的内容,若是,则进行作弊预标记,否则,进入S203;
[0035] S203、判断外设操作数据中的外设操作频率是否超出预设范围,若超出则进行作弊预标记,若未超出,则进入步骤S204;
[0036] S204、从外设操作数据中随机挑选3次玩家行为操作,并将其与操作映射关系进行比对,若出现比对失败,则进行作弊预标记,否则不进行标记;
[0037] S205、若第一任务中存在作弊预标记,则生成作弊学习倾向标识;若第一任务不存在作弊预标记,则生成非作弊学习倾向标识。
[0038] 第二方面,本发明实施例提供了一种基于区块链的防作弊系统,所述系统包括:
[0039] 服务器集群,服务器集群至少包括第一服务器和第二服务器;
[0040] 所述第一服务器包括:
[0041] 扫描单元,用于对客户端的后台进程进行扫描,在当未扫描出作弊进程,将该客户端加入白名单表,当扫描出作弊进程,则将该客户端加入黑名单表,禁止该客户端进入游
戏;
[0042] 读取单元,用于读取区块链上记录的客户端历史数据,并在识别客户端历史数据上的信用分数和平均在线时长后,生成对应的采集频次;
[0043] 采集单元,用于按照采集频次采集各客户端的游戏过程数据,将游戏过程数据以第一任务的形式实时发布至区块链中,所述第一任务携带有获取频次;
[0044] 判断单元,用与接收区块链更新的信用分数 以及在 向对应的客户端发送警告消息;在 将对应的客户端进行暂时封停;在 将对应的客户
端进行永久封停;其中,Σ1为第一阈值,Σ2为第二阈值,Σ3为第三阈值;
[0045] 所述第二服务器包括:
[0046] 接收单元,用于实时接收白名单表中客户端所产生的游戏事件数据,将其以第二任务的形式实时发布至区块链;
[0047] 处理单元,用于根据节点发送的游戏事件结果生成相应地命令,并发送至对应客户端,以使客户端对游戏事件结果进行展示;
[0048] 多个节点,所述节点包括:
[0049] 获取模块,用于从区块链的OPEN表中随机获取第一任务,同步更新该第一任务的获取频次;或者,用于从区块链中随机获取第二任务;
[0050] 预处理模块,用于对获取到的第一任务进行预处理后生成学习倾向标识;
[0051] 处理模块,用于通过强化学习模型对携带有学习倾向标识的第一任务进行学习以生成强化学习结果,基于强化学习结果生成带有时间戳的作弊判定结果;或者,对第二任务
进行处理,生成带有时间戳的游戏事件结果,并发送至第二服务器;
[0052] 区块链交互模块,用于将作弊判定结果上传至区块链并进行全节点广播,其他节点在收到广播后基于区块链约束规则进行处理,区块链基于区块链约束规则生成第一奖励
区块;或者,用于将游戏事件结果上传至区块链并进行全节点广播,其他节点在收到广播后
基于区块链约束规则进行处理,区块链基于区块链约束规则生成第二奖励区块;
[0053] 区块链,所述区块链包括:
[0054] 存储层,用于记录客户端数据、节点数据和服务器数据;
[0055] 交互层,用于和节点、第一服务器和第二服务器进行数据交互;
[0056] 处理层,用于创建OPEN表和CLOSE表,将新发布的第一任务存入OPEN表,将达到获取频次的第一任务存入CLOSE表;以及,用于根据作弊判定结果对信用分数 进行更新,并
将更新后的 发送至第一服务器中;
[0057] 约束层,用于建立区块链约束规则,具体包括:
[0058] 每个节点每次只处理一个任务;
[0059] 当前节点在处理任务过程中,若接收到其他的基于相同任务的任务结果时,立即停止对当前任务的处理;
[0060] 当任务结果被区块链以区块形式记录时,区块链向带有最早的时间戳的节点投放奖励区块,该奖励区块可在节点之间进行交易,且交易记录写入区块链;
[0061] 第一奖励区块和第二奖励区块的实际价值比按照指定周期进行更新,用进行表示,其中,Λ表示价值比,M1表示该指定周期内平均每获得一个第一奖励区块所消耗
的计算量,M2表示该指定周期内平均每获得一个第二奖励区块所消耗的计算量;
[0062] 上述技术方案中的一个技术方案具有如下有益效果:
[0063] 本发明实施例的方法中提出了一种基于区块链的防作弊方法,通过区块链技术将游戏事件数据生成的第二任务和游戏过程数据生成的第一任务交由节点去处理,处理完成
后再由第一服务器和第二服务器进行综合判断和处理,对作弊行为进行进一步判断和处
理,降低了服务器产生的冗余,减少了服务器的负担,提升了游戏作弊行为判定的效率和准
确率,提升了用户的体验,营造良好的互联网生态环境。
【附图说明】
[0064] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域
普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附
图。
[0065] 图1是本发明实施例所提供的一种基于区块链的防作弊方法的流程示意图;
[0066] 图2是本发明实施例所提供的第一任务预处理的流程示意图;
[0067] 图3是本发明实施例所提供的一种基于区块链的防作弊的监控系统的结构示意图;
[0068] 图4为本发明实施例所提供的第一服务器的功能方块图;
[0069] 图5为本发明实施例所提供的第二服务器的功能方块图;
[0070] 图6为本发明实施例所提供的节点的功能方块图;
[0071] 图7为本发明实施例所提供的区块链的系统构架图;
[0072] 图8为本发明实施例所提供的节点设备的硬件示意图。【具体实施方式】
[0073] 为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分
实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创
造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0074] 请参考图1,其为图1是本发明实施例所提供的一种基于区块链的防作弊方法的流程示意图,如图所示,该方法包括以下步骤:
[0075] S1、第一服务器对客户端的后台进程进行扫描,若未扫描出作弊进程,则将该客户端加入白名单表;
[0076] S2、第一服务器读取区块链上记录的客户端历史数据,并在识别客户端历史数据上的信用分数和平均在线时长后,生成对应的采集频次,然后按照采集频次采集各客户端
的游戏过程数据,将游戏过程数据以第一任务的形式实时发布至区块链中,所述第一任务
携带有获取频次;第二服务器实时接收白名单表中客户端所产生的游戏事件数据,将其以
第二任务的形式实时发布至区块链;
[0077] S3、区块链创建OPEN表和CLOSE表,将新发布的第一任务存入OPEN表,将达到获取频次的第一任务存入CLOSE表;
[0078] S4、节点从区块链的OPEN表中随机获取第一任务,同步更新该第一任务的获取频次,节点对获取到的第一任务进行预处理后生成学习倾向标识,通过强化学习模型对携带
有学习倾向标识的第一任务进行学习以生成强化学习结果,基于强化学习结果生成带有时
间戳的作弊判定结果,节点将作弊判定结果上传至区块链并进行全节点广播,其他节点在
收到广播后基于区块链约束规则进行处理,区块链基于区块链约束规则生成第一奖励区
块,然后进入S5;或,节点从区块链中随机获取第二任务,并在处理完成后生成带有时间戳
的游戏事件结果,节点将游戏事件结果发送至第二服务器,并同步上传至区块链并进行全
节点广播,其他节点在收到广播后基于区块链约束规则进行处理,区块链基于区块链约束
规则生成第二奖励区块,然后进入S7;
[0079] S5、区块链根据作弊判定结果对信用分数 进行更新,并将更新后的 发送至第一服务器中;
[0080] S6、若 第一服务器向对应的客户端发送警告消息;若 第一服务器将对应的客户端进行暂时封停;若 第一服务器将对应的客户端进行永久
封停;其中,Σ1为第一阈值,Σ2为第二阈值,Σ3为第三阈值;
[0081] S7、第二服务器根据游戏事件结果生成相应地命令发送至对应客户端,以使客户端对游戏事件结果进行展示。
[0082] 本发明实施例中,针对即时性较强的游戏,通过区块链将游戏事件(即第二任务)分配至节点进行处理,而不是由客户端本地直接处理,有效降低了作弊行为的发生,且由于
绝大多数的处理工作在节点中完成,也降低了服务器的负担。作弊判定方面,首先进行后台
进程扫描,然后基于不同的客户端分配各自采集频次,基于第一任务分配各自获取频次,由
节点采集后对第一任务进行处理,有效提升了游戏作弊行为判定的效率和准确率,提高了
用户的体验,营造了良好的互联网生态环境。
[0083] 需要说明的是,所述信用分数的计算公式为:
[0084] 其中,λ为更新后的信用分数,C9、…、C5、…、C1分别表示更新前1个、…、更新前5个、…、更新前9个信用分
数,α、β、χ、δ分别为第一权重、第二权重、第三权重、第四权重。
[0085] 需要说明是,所述采集频次的计算公式为:
[0086] 其中,fj表示采集频次,C8、…、C4、…、C1分别表示当前、…、前4个、…、前7个信用分数,A、B、C、D分别表
示第一参数、第二参数、第三参数、第四参数,J表示采集频次修正因子,L表示平均在线时
长,[X]表示对X进行取整。
[0087] 需要说明的是,所述获取频次的更新公式为:
[0088] 其中,fk'为更新后的获取频次,fk为更新前的获取频次, 为节点十次采集的平均节点权重,ωk为当前的节点权重,P为校正因子,Q为偏移
量,K表示获取频次修正因子,[X]表示对X进行取整。
[0089] 需要说明的是,强化学习模型的构建方法具体包括:
[0090] 基于游戏图像训练集建立训练函数模型: 其中,*
[T]为采样步数,t∈[T]时的策略为π(t),c(xt,at)为每步采样的代价,假设存在最优策略π,
为在最优策略π*下每步采样的代价;
[0091] 定义训练函数模型的V函数: 以及定义训练函数模型的Q函数为:Qπ(x,a)=c(x,a)-λπ+E[Vπ(x′)|x,a];其中,E为迭代次数,
[0092] 将训练函数模型拆分为以下三个子模型,表示为: 其中,
[0093] 不断对三个子模型进行训练学习,直至 小于预设阈值,得到基于游戏图像数据的强化学习模型。
[0094] 需要说明的是,所述区块链约束规则包括:
[0095] 每个节点每次只处理一个任务;
[0096] 当前节点在处理任务过程中,若接收到其他的基于相同任务的任务结果时,立即停止对当前任务的处理;
[0097] 当任务结果被区块链以区块形式记录时,区块链向带有最早的时间戳的节点投放奖励区块,该奖励区块可在节点之间进行交易,且交易记录写入区块链;
[0098] 第一奖励区块和第二奖励区块的实际价值比按照指定周期进行更新,用进行表示,其中,Λ表示价值比,M1表示该指定周期内平均每获得一个第一奖励区块所消耗
的计算量,M2表示该指定周期内平均每获得一个第二奖励区块所消耗的计算量。
[0099] 需要说明的是,所述方法还包括:第一服务器对客户端的后台进程进行扫描,若扫描出作弊进程,则将该客户端加入黑名单表,禁止该客户端进入游戏。
[0100] 需要说明的是,所述第一任务包括指定时长内的举报数据、玩家交流数据、游戏图像数据、外设操作数据和操作映射关系。
[0101] 图2是本发明实施例所提供的第一任务预处理的流程示意图,如图2所示,所述节点对获取到的直播数据进行预处理,具体包括:
[0102] S201、若第一任务中携带有举报数据,则进行作弊预标记,否则,进入S202;
[0103] S202、判断玩家交流数据中是否存在与作弊词库匹配的内容,若是,则进行作弊预标记,否则,进入S203;
[0104] S203、判断外设操作数据中的外设操作频率是否超出预设范围,若超出则进行作弊预标记,若未超出,则进入步骤S204;
[0105] S204、从外设操作数据中随机挑选3次玩家行为操作,并将其与操作映射关系进行比对,若出现比对失败,则进行作弊预标记,否则不进行标记;
[0106] S205、若第一任务中存在作弊预标记,则生成作弊学习倾向标识;若第一任务不存在作弊预标记,则生成非作弊学习倾向标识。
[0107] 预处理的过程可以有效降低学习过程的运算量,减少对节点计算资源的占用,很大程度上提升了节点的计算效率。
[0108] 本发明实施例的方法中提出了一种基于区块链的防作弊方法,通过区块链技术将游戏事件数据生成的第二任务和游戏过程数据生成的第一任务交由节点去处理,处理完成
后再由第一服务器和第二服务器进行综合判断和处理,对作弊行为进行进一步判断和处
理,降低了服务器产生的冗余,减少了服务器的负担,提升了游戏作弊行为判定的效率和准
确率,提升了用户的体验营造良好的互联网生态环境。
[0109] 本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
[0110] 请参考图3,其为本发明实施例所提供的一种基于区块链的防作弊系统的结构示意图,所述系统包括:服务器集群100、多个节点200和区块链300。
[0111] 服务器集群至少包括第一服务器和第二服务器;如图4所示,其为本发明实施例所提供的第一服务器的功能方块图,第一服务器包括:
[0112] 扫描单元110,用于对客户端的后台进程进行扫描,在当未扫描出作弊进程,将该客户端加入白名单表,当扫描出作弊进程,则将该客户端加入黑名单表,禁止该客户端进入
游戏;
[0113] 读取单元120,用于读取区块链上记录的客户端历史数据,并在识别客户端历史数据上的信用分数和平均在线时长后,生成对应的采集频次;
[0114] 采集单元130,用于按照采集频次采集各客户端的游戏过程数据,将游戏过程数据以第一任务的形式实时发布至区块链中,所述第一任务携带有获取频次;
[0115] 判断单元140,用与接收区块链更新的信用分数 以及在 向对应的客户端发送警告消息;在 将对应的客户端进行暂时封停;在 将对应的
客户端进行永久封停;其中,Σ1为第一阈值,Σ2为第二阈值,Σ3为第三阈值。
[0116] 如图5所示,其为本发明实施例所提供的第二服务器的功能方块图,所述第二服务器包括:
[0117] 接收单元150,用于实时接收白名单表中客户端所产生的游戏事件数据,将其以第二任务的形式实时发布至区块链;
[0118] 处理单元160,用于根据节点发送的游戏事件结果生成相应地命令,并发送至对应客户端,以使客户端对游戏事件结果进行展示。
[0119] 如图6所示,其为本发明实施例所提供的节点的功能方块图,所述节点包括:
[0120] 获取模块210,用于从区块链的OPEN表中随机获取第一任务,同步更新该第一任务的获取频次;或者,用于从区块链中随机获取第二任务;
[0121] 预处理模块220,用于对获取到的第一任务进行预处理后生成学习倾向标识;
[0122] 处理模块230,用于通过强化学习模型对携带有学习倾向标识的第一任务进行学习以生成强化学习结果,基于强化学习结果生成带有时间戳的作弊判定结果;或者,对第二
任务进行处理,生成带有时间戳的游戏事件结果,并发送至第二服务器;
[0123] 区块链交互模块240,用于将作弊判定结果上传至区块链并进行全节点广播,其他节点在收到广播后基于区块链约束规则进行处理,区块链基于区块链约束规则生成第一奖
励区块;或者,用于将游戏事件结果上传至区块链并进行全节点广播,其他节点在收到广播
后基于区块链约束规则进行处理,区块链基于区块链约束规则生成第二奖励区块。
[0124] 如图7所示,其为本发明实施例所提供的区块链的系统构架图,区块链300,所述区块链包括:
[0125] 存储层310,用于记录客户端数据、节点数据和服务器数据;
[0126] 交互层320,用于和节点、第一服务器和第二服务器进行数据交互;
[0127] 处理层330,用于创建OPEN表和CLOSE表,将新发布的第一任务存入OPEN表,将达到获取频次的第一任务存入CLOSE表;以及,用于根据作弊判定结果对信用分数 进行更新,
并将更新后的 发送至第一服务器中;
[0128] 约束层340,用于建立区块链约束规则,具体包括:
[0129] 每个节点每次只处理一个任务;
[0130] 当前节点在处理任务过程中,若接收到其他的基于相同任务的任务结果时,立即停止对当前任务的处理;
[0131] 当任务结果被区块链以区块形式记录时,区块链向带有最早的时间戳的节点投放奖励区块,该奖励区块可在节点之间进行交易,且交易记录写入区块链;
[0132] 第一奖励区块和第二奖励区块的实际价值比按照指定周期进行更新,用进行表示,其中,Λ表示价值比,M1表示该指定周期内平均每获得一个第一奖励区块所消耗
的计算量,M2表示该指定周期内平均每获得一个第二奖励区块所消耗的计算量。
[0133] 由于本实施例中的各单元模块能够执行图1所示的方法,本实施例未详细描述的部分,可参考对图1的相关说明。
[0134] 图8是本发明的一个实施例节点设备的硬件示意图。请参考图8,在硬件层面,该节点设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内
存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储
器(non-volatile memory),例如至少1个磁盘存储器等。当然,该节点设备还可能包括其他
业务所需要的硬件。
[0135] 处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral 
Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard 
Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总
线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的
总线。
[0136] 存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
[0137] 在一种可能实现的方式中,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,也可从其它设备上获取相应的计算机程序,以在逻辑层面上形成电价的
定价装置。处理器,执行存储器所存放的程序,以通过执行的程序实现本发明任一实施例中
提供的节点工作方法。
[0138] 本发明实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的节点设备执
行时,能够使该节点设备执行本发明任一实施例中提供的节点工作方法。
[0139] 上述如本发明图实施例提供的节点设备执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述
方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的
处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器
(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,
DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门
阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶
体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及
逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0140] 结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,
闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的
存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方
法的步骤。
[0141] 本发明实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的节点设备执
行时,能够使该节点设备执行本发明任一实施例中提供的节点工作方法。
[0142] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可
以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放
器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何
设备的组合。
[0143] 为了描述的方便,描述以上装置时以功能分为各种单元或模块分别描述。当然,在实施本发明时可以把各单元或模块的功能在同一个或多个软件和/或硬件中实现。
[0144] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产
品的形式。
[0145] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0146] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0147] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
[0148] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0149] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的
示例。
[0150] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动
态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除
可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、
数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备
或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算
机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0151] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包
括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要
素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要
素的过程、方法、商品或者设备中还存在另外的相同要素。
[0152] 本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的
形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存
储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形
式。
[0153] 本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组
件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由
通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以
位于包括存储设备在内的本地和远程计算机存储介质中。
[0154] 本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施
例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的
部分说明即可。
[0155] 以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同
替换、改进等,均应包含在本发明的权利要求范围之内。