基于区块链的作弊用户检测方法、装置、设备及存储介质与流程

文档序号:19475452发布日期:2019-12-21 02:45阅读:297来源:国知局
基于区块链的作弊用户检测方法、装置、设备及存储介质与流程
本申请实施例涉及区块链
技术领域
,特别涉及一种基于区块链的作弊用户检测方法、装置、设备及存储介质。
背景技术
:一些游戏应用程序中,用户会使用外挂程序进行作弊,从而扰乱游戏的正常生态环境。在相关技术中,游戏应用程序的服务器会结合自身特点,对用户在游戏中的行为信息进行分析,以确定该用户是否为作弊用户,例如该用户是否使用外挂程序。但对于一个新上线的游戏来说,需要收集用户在该游戏中的一段时间内的行为信息之后才能确定该用户是否存在作弊行为,但这已经在出现作弊行为之后才能识别,导致识别不及时。技术实现要素:本申请实施例提供了一种基于区块链的作弊用户检测方法、装置、设备及存储介质,可用于解决相关技术对作弊用户识别不及时的技术问题。所述技术方案如下:一方面,本申请实施例提供了一种基于区块链的作弊用户检测方法,所述方法包括:获取第一用户的身份标识信息;根据所述第一用户的身份标识信息,从区块链系统存储的区块链中获取所述第一用户的游戏作弊数据,所述游戏作弊数据用于指示所述第一用户在至少一个游戏应用中的作弊行为的历史记录,所述区块链系统包括n个区块链节点,每个所述区块链节点中均配置有所述区块链,所述n为大于1的整数;根据所述第一用户的游戏作弊数据,确定所述第一用户是否属于作弊用户。另一方面,本申请实施例提供了一种基于区块链的作弊用户检测装置,所述装置包括:标识获取模块,用于获取第一用户的身份标识信息;数据获取模块,用于根据所述第一用户的身份标识信息,从区块链系统存储的区块链中获取所述第一用户的游戏作弊数据,所述游戏作弊数据用于指示所述第一用户在至少一个游戏应用中的作弊行为的历史记录,所述区块链系统包括n个区块链节点,每个所述区块链节点中均配置有所述区块链,所述n为大于1的整数;用户确定模块,用于根据所述第一用户的游戏作弊数据,确定所述第一用户是否属于作弊用户。再一方面,本申请实施例提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述基于区块链的作弊用户检测方法。又一方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述基于区块链的作弊用户检测方法。还一方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品被处理器执行时,用于实现上述基于区块链的作弊用户检测方法。本申请实施例提供的技术方案可以带来如下有益效果:通过获取第一用户的身份标识信息,根据该第一用户的身份标识信息,从区块链系统存储的区块链中获取第一用户的游戏作弊数据,该游戏作弊数据用于指示第一用户在至少一个游戏应用程序中的作弊行为的历史记录,然后根据该游戏作弊数据确定第一用户是否属于作弊用户;解决了相关技术对作弊用户识别不及时的技术问题,由于在区块链系统存储的区块链中可以存储用户在多个游戏应用程序中的数据,因此对于新上线的游戏应用程序来说,其在对某一用户进行作弊判断时,可以借助于区块链中存储的该用户在其它游戏应用程序中的相关数据进行判断,从而提升了对作弊用户识别的及时性。另外,区块链具备不可篡改的特性,因此将用户的游戏作弊数据存储在区块链中,能够保证这些数据的真实性和有效性,进而提升对于作弊用户判别的准确性。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请一个实施例提供的区块链系统的示意图;图2是本申请一个实施例提供的区块结构的示意图;图3是本申请一个实施例提供的系统架构的示意图;图4是本申请一个实施例提供的基于区块链的作弊用户检测方法的流程图;图5是本申请一个实施例示出的向区块链系统发送信息的示意图;图6是本申请另一个实施例提供的基于区块链的作弊用户检测方法的流程图;图7是本申请一个实施例提供的基于区块链的作弊用户检测方法的示意图;图8是本申请一个实施例提供的基于区块链的作弊用户检测装置的框图;图9是本申请另一个实施例提供的基于区块链的作弊用户检测装置的框图;图10是本申请一个实施例提供的服务器的结构框图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。首先,对本申请实施例涉及的区块链系统进行简单地介绍:区块链系统是一个数据共享系统,即用于进行节点与节点之间数据共享的系统。如图1所示,其示出了本申请实施例提供的一种区块链系统100的示意图。该区块链系统100中可以包括多个节点101(也称为“区块链节点”),每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该区块链系统100内的共享数据。为了保证区块链系统100内的信息互通,区块链系统100中的每个节点101之间可以存在直接或者间接的信息连接,节点101之间可以通过上述信息连接进行信息传输。例如,当区块链系统100中的任意节点接收到输入信息时,区块链系统100中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链系统100中全部节点上存储的数据均一致。对于区块链系统100中的每个节点101,均具有与其对应的节点标识,而且区块链系统100中的每个节点101均可以存储有区块链系统100中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至区块链系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为ip(internetprotocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以ip地址为例进行说明。表1节点名称节点标识节点1117.114.151.174节点2117.116.189.145……节点n119.123.789.258区块链系统100中的每个节点101均存储一条相同的区块链。区块链由多个区块组成,参见图2,区块链200由多个区块201组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。图2是本申请实施例提供的区块结构一个可选的示意图。参见图2,在生成区块链200中的各个区块201时,区块链所在的节点在接收到输入信息,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:sha256(sha256(version+prev_hash+merkle_root+ntime+nbits+x))<target其中,sha256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;target为特征值阈值,该特征值阈值可以根据nbits确定得到。这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据区块链系统中其他节点的节点标识,将新生成的区块分别发送给其所在的区块链系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。请参考图3,其示出了本申请一个实施例提供的系统架构的示意图。如图3所示,该系统架构可以包括:区块链系统10、游戏服务器20和终端30。区块链系统10包括n个区块链节点,n为大于1的整数。区块链节点可以是任何具备数据处理和存储能力的计算机设备,如服务器、用户终端等。各个区块链节点之间能够直接或者间接地进行通信,从而实现数据的共享与同步。可选地,每个区块链节点中均配置有至少一条区块链,有关区块链结构的介绍说明可参见上文,此处不再赘述。在本申请实施例中,区块链可用于存储游戏应用程序所提交的用户的游戏作弊数据和惩罚流程的执行记录等信息。游戏服务器20是游戏应用程序的后台服务器,用于为游戏应用程序提供后台服务。游戏服务器20可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。另外,游戏服务器20可以与区块链系统10中的至少一个区块链节点建立通信连接,从而通过该通信连接与区块链节点进行数据收发。在一些其它可能的实施例中,游戏服务器20也可以作为区块链系统10中的区块链节点,与该区块链系统10中的其它区块链节点进行通信。终端30可以是诸如手机、平板电脑、游戏主机、可穿戴设备、pc(personalcomputer,个人计算机)等电子设备。终端30中可以安装运行上述游戏应用程序的客户端。终端30和游戏服务器20之间可以通过网络进行通信。在本申请实施例中,对游戏应用程序的类型不作限定,如br(battleroyale,大逃杀生存)游戏、tps(third-personalshootinggame,第三人称射击游戏)、fps(first-personshootinggame,第一人称射击游戏)、moba(multiplayeronlinebattlearena,多人在线战术竞技)游戏、多人枪战类生存游戏,等等。在本申请实施例中,游戏应用程序可能存在部分游戏漏洞被用户利用,通过使用作弊程序来获取某种利益。其中,游戏漏洞是指游戏程序中未完善的部分,该部分容易被外来程序(如作弊程序、窃取程序等)入侵;作弊程序是指通过欺骗或修改游戏以谋取利益的程序,如外挂程序。请参考图4,其示出了本申请一个实施例提供的一种基于区块链的作弊用户检测方法的流程图。该方法可应用于如图4所示的实施环境中,如该方法应用于游戏服务器中。该方法可以包括以下几个步骤(401~403):步骤401,获取第一用户的身份标识信息。身份标识用于唯一标识用户,即身份标识与用户是唯一对应的关系。可选地,第一用户的身份标识是指第一用户登录游戏服务器时所使用的第一用户帐号,其中,第一用户是指任一登录游戏服务器的用户。可选地,上述第一用户帐号可以由第一用户确定,也可以由游戏服务器分配。在一种可能的实施方式中,第一用户选择使用第一用户的社交帐号登录上述游戏服务器,该第一用户的社交帐号是指第一用户在登录具有社交功能的应用程序时生成或使用的帐号。在另一种可能的实施方式中,第一用户选择使用第一用户的社会身份id登录上述游戏服务器,该社会身份id可以是第一用户在实际生活中所使用的身份标识,如第一用户的身份证id或手机号等。可选地,第一用户的社交帐号与第一用户的社会身份id可以是相同的,也可以是不同的,例如,当第一用户在登录上述具有社交功能的应用程序时,使用第一用户的社会身份id,则第一用户的社交帐号与第一用户的社会身份id是相同的。可选地,上述身份标识可以以数字或字母的形式表示,也可以以数字和字母的形式表示,本申请实施例对此不作限定。在一种可能的实施方式中,第一用户的身份标识信息包括第一用户的身份标识。第一用户通过终端登录游戏应用,终端检测第一用户登录时使用的第一用户帐号,并将该第一用户帐号通过网络发送给对应的游戏服务器。在另一种可能的实施方式中,为了防止第一用户使用不同的帐号登录游戏应用时,游戏服务器不方便确定第一用户的身份,第一用户的身份标识信息还可以包括终端id,该终端id用于唯一标识终端。可选地,终端id可以由生产厂家配置,如手机识别码。第一用户通过终端登录游戏应用,终端检测第一用户登录时使用的第一用户帐号,并将该第一用户帐号与终端id通过网络发送给对应的游戏服务器。可选地,上述终端id以数字和字母的形式表示,也可以由数字或字母的形式表示。步骤402,根据第一用户的身份标识信息,从区块链系统存储的区块链中获取第一用户的游戏作弊数据。游戏作弊数据用于指示第一用户在至少一个游戏应用中的作弊行为的历史记录,该历史记录中包括以下至少一项:游戏应用id、该游戏应用id对应的第一用户的作弊次数、该游戏应用id对应的第一用户的作弊频率、该游戏应用id对应的出现作弊行为时使用的外挂程序、该外挂程序对应的使用时间、该外挂程序对应的使用次数和该外挂程序对应的使用次数。上述游戏应用id用于唯一标识游戏应用。可选地,游戏应用id可以由游戏服务器设置,例如,游戏服务器根据该游戏应用的游戏类型和/或发行时间进行设置;或者游戏应用id也可以区块链系统设置,例如,区块链系统在游戏服务器第一次向区块链系统的任一节点发送信息时,生成对应的游戏应用id。需要说明的一点是,上述历史记录中的游戏应用id的数量与第一用户实际登录过的游戏应用的数量有关,也就是说,该游戏id的数量可能随时间变化,可以是一个,也可以是多个。区块链系统包括n个区块链节点,每个区块链节点中均配置有区块链,其中,上述n为大于1的整数。在一种可能的实施方式中,上述游戏服务器通过网络与区块链系统的任一节点进行数据传输。示例性地,结合参考图5,第一用户51在不同的时刻通过终端52登录游戏应用a、游戏应用b和游戏应用c,终端52分别收集第一用户在游戏应用a、游戏应用b和游戏应用c中的游戏数据,并将该游戏数据发送给游戏服务器a53、游戏服务器b54和游戏服务器c55,其中,该游戏数据中包括作弊数据。进一步地,游戏服务器a53、游戏服务器b54和游戏服务器c55将上述游戏数据发送至区块链系统的任一节点。当然,游戏数据也可以由游戏服务器采集,本申请实施例对此不作限定。需要说明的一点是,任一游戏应用的游戏服务器均可以根据第一用户的身份标识信息,从上述区块链系统的任一节点获取第一用户的游戏作弊数据,且该游戏作弊数据中包括第一用户在其他游戏应用中的作弊数据。可选地,上述步骤402包括以下几个步骤:1、生成第一用户的身份标识信息的摘要。在本申请实施例中,游戏服务器根据上述第一用户的身份标识信息生成该第一用户身份信息的摘要。可选地,该摘要由游戏服务器根据消息摘要算法生成,如md5(message-digestalgorithm5,信息摘要算法5)或者哈希算法。以哈希算法为例,游戏服务器根据上述第一用户的身份标识信息,通过哈希算法,计算出一个哈希值作为该身份标识信息的摘要。其中,该哈希值的长度可以根据实际情况由游戏服务器确定,例如,该哈希值的长度可以为256个字符,也可以为512个字符,本申请实施例对此不作限定。2、向区块链节点发送数据获取请求。数据获取请求用于向区块链系统请求获取上述第一用户的游戏数据。其中,上述数据获取请求包括上述摘要。可选地,游戏数据包括游戏作弊数据。3、接收区块链节点发送的第一用户的游戏作弊数据。在本申请实施例中,第一用户的游戏作弊数据是根据摘要从区块链中查询获取的。可选地,区块链系统在接收到上述数据获取请求后,根据上述摘要从区块链系统中查询第一用户的游戏数据,并从该游戏数据中筛选出第一用户的游戏作弊数据发送给对应的游戏服务器。步骤403,根据第一用户的游戏作弊数据,确定第一用户是否属于作弊用户。作弊用户是指使用作弊程序的次数或频率超过某一阈值的用户,可选地,该阈值由游戏服务器设置,如游戏服务器根据游戏应用的类型确定上述阈值,其中,不同的游戏应用设置的阈值不同。在本申请实施例中,游戏服务器根据上述第一用户的游戏作弊数据进行统计,确定该第一用户是否属于作弊用户。可选地,上述步骤403包括以下几个步骤:1、根据第一用户的游戏作弊数据,确定第一用户的作弊行为统计数据。在本申请实施例中,游戏服务器根据上述第一用户的游戏作弊数据进行统计,得到该作弊行为的统计数据。可选地,作弊行为统计数据包括但不限于以下至少一项:出现作弊行为的游戏应用、出现作弊行为的游戏应用数量、出现作弊行为的次数、出现作弊行为的频率、出现作弊行为时使用的外挂程序、该外挂程序使用的时间、该外挂程序使用的频率、该外挂程序使用的次数、该外挂程序对应的游戏应用的标识。可选地,上述出现作弊行为的频率是指上述第一用户使用外挂程序的次数与第一用户登录游戏应用的次数的比值。示例性地,终端按照第一时间间隔收集第一用户的游戏数据,并将该游戏数据通过网络发送至对应的游戏服务器,进一步的,游戏服务器检测该游戏数据中的作弊行为的次数和登录游戏程序的次数,计算出现作弊行为的频率。例如,若游戏服务器检测到第一用户使用外挂程序的次数为i,且第一用户登录游戏应用的次数为j,则该第一用户的出现作弊行为的频率为i/j。其中,上述第一时间间隔由游戏服务器设置,可以是一天、两天或者三天,等等,本申请实施例对此不作限定。可选地,上述外挂程序使用的频率是指上述第一用户的该外挂程序使用的次数与第一用户出现作弊行为的次数的比值。其中,该外挂程序使用的频率的计算方法与上述出现作弊行为的频率的计算方法相同,在此不作赘述。2、根据第一用户的作弊行为统计数据,确定第一用户是否属于作弊用户。可选地,游戏服务器根据第一用户的作弊行为统计数据,计算第一用户的信用分值,该信用分值用于表征所述第一用户的信用状况。在一种可能的实施方式中,游戏应用根据上述作弊行为统计数据中的出现作弊行为时使用的外挂程序、该外挂程序使用的时间、该外挂程序使用的频率、该外挂程序使用的次数计算第一用户的信用分值。可选地,不同游戏的游戏服务器设置不同的信用分值计算方法。示例性地,以第一用户的信用分值的总分是100为例,在具有射击功能的游戏应用中,瞄准类外挂程序对游戏的生态环境影响较大,相对地,增大概率类外挂程序对游戏的生态环境影响较小,因此,每当第一用户使用一次瞄准类外挂程序,则信用分值减去2,相对地,每当第一用户使用一次增大概率类外挂程序,则信用分值减去1;或者,若第一用户使用瞄准类外挂程序的频率为0.2,则信用分值减去20(0.2*10),相对地,若第一用户使用增大概率类外挂程序的频率为0.1,则信用分值减去5(0.1*10*0.5)。可选地,若第一用户在一定的时间范围内未使用任何外挂程序,则游戏服务器控制第一用户的信用分值增加,直至信用分值达到100。其中,上述时间范围和信用分值的增量由游戏服务器设置,例如,若第一用户在一周内未使用任何外挂程序,则该第一用户的信用分值增加1。在另一种可能的实施例中,上述第一用户的作弊行为统计数据中还包括第一用户在对应的游戏应用的信用分值。可选地,第一用户在不同的游戏拥有不同的信用分值,对该不同的信用分值进行加权求和取平均值,得到该第一用户的信用分值。例如,游戏服务器检测到第一用户在游戏应用a的信用分值为a,在游戏应用b的信用分值为b,在游戏应用c的信用分值为c,则该第一用户的信用分值d为:其中,对应的游戏服务器可以根据该游戏类型设置不同的信用分值计算方法。示例性地,以第一用户的信用分值的总分是100为例,游戏服务器检测到外挂程序不同,扣除不同的信用分值。例如,在具有射击功能的游戏应用中,瞄准类外挂程序对游戏的生态环境影响较大,相对地,增大概率类外挂程序对游戏的生态环境影响较小,因此,每当第一用户使用一次瞄准类外挂程序,则信用分值减去2,相对地,每当第一用户使用一次增大概率类外挂程序,则信用分值减去1。可选地,为了保证每个游戏服务器计算的第一用户信用分值的公平性,对应的游戏服务器可以根据游戏类型对外挂程序的危害等级进行排序,第一用户使用的外挂程序的危害等级越大,则减去的信用分值越多,如设置外挂程序的危害等级为1~10级,第一用户使用对应危害等级的外挂程序时,信用分值减去对应的1~10。需要说明的一点是,在上述两种实施方式中,第一用户的信用分值的总分可以由游戏服务器设置,本申请实施例对此不做限定。在再一种可能的实施方式,在游戏服务器中设置一个预先训练好的机器学习模型,该机器学习模型用于计算上述信用分值。例如,游戏服务器将上述第一用户的作弊行为统计数据输入该机器学习模型中,该机器学习模型输出第一用户的信用分值。可选地,若上述信用分值属于预设取值区间,则确定第一用户属于作弊用户。该预设取值区间由游戏服务器设置,如设置信用分值低于总信用分值的50%的用户作为作弊用户。在另一种可能的实施方式中,若上述作弊行为统计数据满足预设条件,则确定第一用户属于作弊用户。该预设条件由游戏服务器设置。例如,若第一用户出现作弊行为的游戏应用数量或出现作弊行为的频率超过阈值时,则确定第一用户属于作弊用户。其中,上述阈值由游戏服务器设置,对于以出现作弊行为的游戏应用数量为判断依据,该阈值可以为10、20或30,等等;对于以出现作弊行为的频率为判断依据,该阈值可以为50%、60%或70%,等等。综上所述,本申请实施例提供的技术方案中,通过获取第一用户的身份标识信息,根据该第一用户的身份标识信息,从区块链系统存储的区块链中获取第一用户的游戏作弊数据,该游戏作弊数据用于指示第一用户在至少一个游戏应用程序中的作弊行为的历史记录,然后根据该游戏作弊数据确定第一用户是否属于作弊用户;解决了相关技术对作弊用户识别不及时的技术问题,由于在区块链系统存储的区块链中可以存储用户在多个游戏应用程序中的数据,因此对于新上线的游戏应用程序来说,其在对某一用户进行作弊判断时,可以借助于区块链中存储的该用户在其它游戏应用程序中的相关数据进行判断,从而提升了对作弊用户识别的及时性。另外,区块链具备不可篡改的特性,因此将用户的游戏作弊数据存储在区块链中,能够保证这些数据的真实性和有效性,进而提升对于作弊用户判别的准确性。请参考图6,其示出了本申请另一个实施例提供的基于区块链的作弊用户检测方法的流程图。该方法可应用于如图4所示的实施环境中,如该方法应用于游戏服务器中。该方法可以包括以下几个步骤(601~605):步骤601,获取第一用户的身份标识信息。步骤602,根据第一用户的身份标识信息,从区块链系统存储的区块链中获取第一用户的游戏作弊数据。步骤603,根据第一用户的游戏作弊数据,确定第一用户是否属于作弊用户。步骤601-603与上述图4实施例中的步骤401-403相同,具体参考图4实施例,在此不做赘述。步骤604,若确定第一用户属于作弊用户,则获取第一用户在当前游戏应用中的行为信息。行为信息是指第一用户在游戏应用中的控制的虚拟对象的动作行为,其中,虚拟对象是指是指第一用户帐号在应用程序中控制的虚拟角色。该虚拟对象可以是人物形态,可以是动物、卡通或者其它形态,本申请实施例对此不作限定。虚拟对象可以三维形式展示,也可以二维形式展示,本申请实施例对此不作限定。在本申请实施例中,终端可以按照第二时间间隔收集第一用户在当前游戏应用中的行为信息,并将该行为信息发送给当前游戏应用对应的游戏服务器。可选地,该第二时间间隔由游戏服务器设置,可以是一天、两天或三天,等等,本申请实施例对此不作限定,且该第二时间间隔与上述第一时间间隔可以相同,也可以不同。可选地,若上述第一用户被确定为作弊用户,则终端按照第三时间间隔收集第一用户在当前游戏应用中的行为信息,并将该行为信息发送给当前游戏应用对应的游戏服务器。可选地,该第三时间间隔由游戏服务器设置,可以是一天、两天或三天,等等,本申请实施例对此不作限定。需要说明的一点是,该第三时间间隔比上述第二时间间隔短,也就是说,游戏服务器获取作弊用户的行为信息的频率大于获取普通用户的行为信息的频率。在一种可能的实施方式中,游戏服务器在确定第一用户为作弊用户后,限制该第一用户在当前游戏应用中的活动权限。例如,设置信用分值达到预设阈值的用户才能参加的活动,该阈值由游戏服务器根据实际情况确定;或者,游戏服务器降低该第一用户在当前游戏应用中的抽奖概率,其中,该第一用户的信用分值越小,抽奖概率越小。在另一种可能的实施方式中,为了保证游戏的公平性,游戏服务器在检测到上述第一用户在当前游戏应用中存在作弊行为后,限制该第一用户在当前游戏应用中的活动权限。步骤605,根据行为信息检测第一用户在当前游戏应用中是否存在作弊行为。作弊行为是指第一用户通过作弊程序对游戏应用进行欺骗或修改以谋取利益的行为。在本申请实施例中,游戏服务器检测由终端发送的上述第一用户的行为信息,若该行为信息中存在异常信息,则确定该第一用户在当前游戏应用中存在作弊行为。需要说明的一点是,由于不同的用户参与过的游戏应用不同,使用的游戏外挂程序也不同,因此游戏服务器可以根据实际情况,对不同的用户设置不同的检测规则。可选地,上述步骤605包括以下几个步骤:1、根据第一用户的游戏作弊数据,确定对第一用户的检测规则。在本申请实施例中,游戏服务器根据上述第一用户的游戏作弊数据,确定针对第一用户的检测规则。可选地,游戏服务器根据上述游戏作弊数据,确定第一用户的作弊行为的统计数据,进而得到对该第一用户的检测规则。例如,若第一用户使用瞬移类游戏外挂的频率较高,则游戏服务器在检测该第一用户的行为信息时,主要检测该第一用户控制的第一虚拟对象的位置信息。2、基于对第一用户的检测规则对行为信息进行检测,确定第一用户在当前游戏应用中是否存在作弊行为。可选地,游戏服务器根据上述检测规则对上述第一用户的行为信息进行检测,并确定该第一用户在当前游戏应用中是否存在作弊行为。例如,若游戏服务器通过上述行为信息中,检测到第一用户控制的虚拟对象从游戏虚拟地图的最南端瞬移到了最北端,则判定上述行为信息中存在异常数据,该第一用户在当前游戏应用中存在作弊行为。当然,除了根据上述检测规则对第一用户的行为信息进行检测,游戏服务器还可以根据该游戏程序的类型设置检测规则。以射击类游戏应用为例,对应的游戏服务器在获取第一用户的行为信息后,可以主要检测行为信息中的射击信息,若游戏服务器根据上述行为信息,检测到第一用户控制的虚拟对象在未瞄准的状态下,成功击杀其他虚拟对象,则判定上述行为信息中存在异常数据,该第一用户在当前游戏应用中存在作弊行为。可选地,上述步骤605之后,还包括以下几个子步骤:1、若检测出第一用户在当前游戏应用中存在作弊行为,则生成第一用户的作弊信息。作弊信息用于指示上述作弊行为的详情信息。可选地,该详情信息中包括以下至少一项:第一用户的身份标识信息、第一用户使用的外挂程序、该外挂程序使用的频率、该外挂程序使用的次数、该外挂程序对应的游戏应用的标识。2、向n个区块链节点发送数据存储请求。数据存储请求用于请求将第一用户的作弊信息添加至区块链中,数据存储请求中包括第一用户的作弊信息。其中,n个区块链节点用于在对数据存储请求达成共识之后,在区块链中添加目标区块,目标区块包括第一用户的作弊信息。示例性地,游戏服务器向区块链系统的任一节点发送数据存储请求,该节点在获取到游戏服务器发送的数据存储请求后,向区块链系统的其他节点发送该数据存储请求,进一步地,区块链系统的n个节点对数据存储请求进行背书以及共识排序,以确认数据存储请求是合法请求。n个区块链节点在对数据存储请求达成共识,即确认数据存储请求是合法请求,然后将第一用户的作弊信息存储至区块链中。可选地,区块链中可以存储第一用户的作弊信息的原文;也可以存储第一用户的作弊信息的摘要,第一用户的作弊信息的摘要可以是经过不可逆的加密算法运算得到的,第一用户的作弊信息的摘要对应的第一用户的作弊信息存储在数据库中,数据库可以是本地数据库,也可以是云数据库。步骤606,若检测出第一用户在当前游戏应用中存在作弊行为,则执行针对第一用户的惩罚流程。惩罚流程是指游戏应用对存在作弊行为的第一用户进行权限限制。在一种可能的实施方式中,游戏服务器在检测到上述第一用户在当前游戏应用中存在作弊行为后,限制该第一用户在当前游戏应用中的活动权限,如设置信用分值达到预设阈值的用户才能参加的活动,该阈值由游戏服务器根据实际情况确定;或者,游戏服务器降低该第一用户在当前游戏应用中的抽奖概率,其中,该第一用户的信用分值越小,抽奖概率越小。在另一种可能的实施方式中,游戏服务器在检测到上述第一用户在当前游戏应用中存在作弊行为后,根据第一用户的作弊行为,游戏服务器制定针对该第一用户的惩罚流程。例如,若第一用户在当前游戏应用中,使用了瞬移类外挂程序,则在该第一用户控制虚拟对象移动时,减小该虚拟对象的移动速度。步骤607,将惩罚流程的执行记录存储至区块链中。可选地,若游戏服务器对上述第一用户执行了惩罚流程,则生成第一用户的惩罚信息。作弊信息用于指示上述惩罚流程的详情信息。可选地,该详情信息中包括以下至少一项:惩罚方式、惩罚次数。可选地,游戏服务器在生成上述第一用户的成发信息后,向n个区块链节点发送惩罚信息的数据存储请求。其中,该数据存储请求用于请求将第一用户的惩罚信息添加至区块链中,且该数据存储请求中包括第一用户的惩罚信息。其中,n个区块链节点用于在对该数据存储请求达成共识之后,在区块链中添加目标区块,目标区块包括第一用户的惩罚信息。示例性地,游戏服务器向区块链系统的任一节点发送上述数据存储请求,该节点在获取到游戏服务器发送的数据存储请求后,向区块链系统的其他节点发送该数据存储请求,进一步地,区块链系统的n个节点对数据存储请求进行背书以及共识排序,以确认数据存储请求是合法请求。n个区块链节点在对数据存储请求达成共识,即确认数据存储请求是合法请求,然后将第一用户的惩罚信息存储至区块链中。可选地,区块链中可以存储第一用户的惩罚信息的原文;也可以存储第一用户的惩罚信息的摘要,第一用户的惩罚信息的摘要可以是经过不可逆的加密算法运算得到的,第一用户的惩罚信息的摘要对应的第一用户的惩罚信息存储在数据库中,数据库可以是本地数据库,也可以是云数据库。可选地,该数据库与上述存储作弊信息的数据库可以相同,也可以不同。综上所述,本申请实施例提供的技术方案中,游戏服务器根据不同用户的游戏作弊数据,确定不同的检测规则,保证了检测结果的准确性,对不同的用户执行不同的惩罚流程,使得惩罚更具有针对性。另外,将作弊信息和惩罚流程存储在区块链系统中,使得作弊信息与惩罚流程对于任意游戏服务器均为公开的,从侧面增加了对作弊用户的惩罚力度,提高了作弊成本。另外,结合参考图7,以两个游戏服务器为例,对本申请的具体流程进行详细介绍。游戏a服务器获取用户a、用户b以及用户c在游戏a中的行为信息,分别根据用户a、用户b、以及用户c的外挂检测规则,检测对应的行为信息中是否存在作弊信息,并将作弊信息的检测结果存储至区块链系统中,接着,对于存在作弊信息的用户,通过对作弊信息进行检测分析,得到与不同用户对应的惩罚流程,并将该惩罚流程存储至区块链系统中。相似地,游戏b服务器获取用户a、用户b以及用户c在游戏b中的行为信息,分别根据用户a、用户b、以及用户c的外挂检测规则,检测对应的行为信息中是否存在作弊信息,并将作弊信息的检测结果存储至区块链系统中,接着,对于存在作弊信息的用户,通过对作弊信息进行检测分析,得到与不同用户对应的惩罚流程,并将该惩罚流程存储至区块链系统中。需要说明的一点是,游戏a服务器与游戏b服务器的外挂检测规则均是从区块链系统查询对应的用户作弊信息后,通过对该对应的用户作弊信息进行检测分析得到的。其中,游戏a服务器获取的用户作弊信息中,包括游戏b服务器存储至区块链系统的用户作弊信息;相似地,游戏b服务器获取的用户作弊信息中,包括游戏a服务器存储至区块链系统的用户作弊信息。综上所述,通过区块链系统共享用户的作弊信息,为新游戏的游戏服务器进行作弊信息的检测提供了便利。下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。请参考图8,其示出了本申请一个实施例提供的基于区块链的作弊用户检测装置的框图。该装置具有实现上述基于区块链的作弊用户检测方法的功能。所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的游戏服务器,也可以设置在游戏服务器中。该装置800可以包括:标识获取模块801、数据获取模块802和用户确定模块803。标识获取模块801,用于获取第一用户的身份标识信息。数据获取模块802,用于根据所述第一用户的身份标识信息,从区块链系统存储的区块链中获取所述第一用户的游戏作弊数据,所述游戏作弊数据用于指示所述第一用户在至少一个游戏应用中的作弊行为的历史记录,所述区块链系统包括n个区块链节点,每个所述区块链节点中均配置有所述区块链,所述n为大于1的整数。用户确定模块803,用于根据所述第一用户的游戏作弊数据,确定所述第一用户是否属于作弊用户。示例性地,所述数据获取模块802,用于生成所述第一用户的身份标识信息的摘要;向所述区块链节点发送数据获取请求,所述数据获取请求包括所述摘要;接收所述区块链节点发送的所述第一用户的游戏作弊数据;其中,所述第一用户的游戏作弊数据是根据所述摘要从所述区块链中查询获取的。示例性地,所述用户确定模块803,包括:数据确定单元和用户确定单元。数据确定单元,用于根据所述第一用户的游戏作弊数据,确定所述第一用户的作弊行为统计数据,所述作弊行为统计数据包括以下至少一项:出现作弊行为的游戏应用数量、出现作弊行为的次数、出现作弊行为的频率、出现作弊行为时使用的外挂程序、所述外挂程序使用的时间、所述外挂程序使用的频率、所述外挂程序使用的次数、所述外挂程序对应的游戏应用的标识。用户确定单元,用于根据所述第一用户的作弊行为统计数据,确定所述第一用户是否属于所述作弊用户。示例性地,所述用户确定单元,用于根据所述第一用户的作弊行为统计数据,计算所述第一用户的信用分值,所述信用分值用于表征所述第一用户的信用状况;若所述信用分值属于预设取值区间,则确定所述第一用户属于所述作弊用户。示例性地,如图9所示,所述装置800还包括:行为获取模块804和行为检测模块805。行为获取模块804,用于若确定所述第一用户属于所述作弊用户,则获取所述第一用户在当前游戏应用中的行为信息。行为检测模块805,用于根据所述行为信息检测所述第一用户在所述当前游戏应用中是否存在作弊行为。示例性地,所述行为检测模块805,用于根据所述第一用户的游戏作弊数据,确定对所述第一用户的检测规则;基于对所述第一用户的检测规则对所述行为信息进行检测,确定所述第一用户在所述当前游戏应用中是否存在作弊行为。示例性地,如图9所示,所述装置800还包括:信息生成模块806和请求发送模块807。信息生成模块806,用于若检测出所述第一用户在所述当前游戏应用中存在作弊行为,则生成所述第一用户的作弊信息,所述作弊信息用于指示所述作弊行为的详情信息。请求发送模块807,用于向所述n个区块链节点发送数据存储请求,所述数据存储请求用于请求将所述第一用户的作弊信息添加至所述区块链中,所述数据存储请求中包括所述第一用户的作弊信息;其中,所述n个区块链节点用于在对所述数据存储请求达成共识之后,在所述区块链中添加目标区块,所述目标区块包括所述第一用户的作弊信息。示例性地,如图9所示,所述装置800还包括:流程执行模块808和记录存储模块809。流程执行模块808,用于若检测出所述第一用户在所述当前游戏应用中存在作弊行为,则执行针对所述第一用户的惩罚流程。记录存储模块809,用于将所述惩罚流程的执行记录存储至所述区块链中。综上所述,本申请实施例提供的技术方案中,通过获取第一用户的身份标识信息,根据该第一用户的身份标识信息,从区块链系统存储的区块链中获取第一用户的游戏作弊数据,该游戏作弊数据用于指示第一用户在至少一个游戏应用程序中的作弊行为的历史记录,然后根据该游戏作弊数据确定第一用户是否属于作弊用户;解决了相关技术对作弊用户识别不及时的技术问题,由于在区块链系统存储的区块链中可以存储用户在多个游戏应用程序中的数据,因此对于新上线的游戏应用程序来说,其在对某一用户进行作弊判断时,可以借助于区块链中存储的该用户在其它游戏应用程序中的相关数据进行判断,从而提升了对作弊用户识别的及时性。另外,区块链具备不可篡改的特性,因此将用户的游戏作弊数据存储在区块链中,能够保证这些数据的真实性和有效性,进而提升对于作弊用户判别的准确性。请参考图10,其示出了本申请一个实施例提供的一种服务器的结构框图。该服务器可以用于实施上述实施例中提供的基于区块链的作弊用户检测方法。例如,该服务器可以是图4所示实施环境中的游戏服务器20。具体来讲:该服务器1000包括处理单元(如cpu(centralprocessingunit,中央处理器)、gpu(graphicsprocessingunit,图形处理器)和fpga(fieldprogrammablegatearray,现场可编程逻辑门阵列)等)1001、包括ram(randomaccessmemory,随机存取存储器)1002和rom(readonlymemory,只读存储器)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。该服务器1000还包括帮助计算服务器内的各个器件之间传输信息的基本i/o系统(input/output,输入/输出)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1012的大容量存储设备1007。该基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中,该显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。该基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。该大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。该大容量存储设备1007及其相关联的计算机可读介质为服务器1000提供非易失性存储。也就是说,该大容量存储设备807可以包括诸如硬盘或者cd-rom(compactdiscread-onlymemory,只读光盘)驱动器之类的计算机可读介质(未示出)。不失一般性,该计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom(erasableprogrammablereadonlymemory,可擦除可编程只读存储器)、eeprom(electricallyerasableprogrammablereadonlymemory,电可擦可编程只读存储器)、闪存或其他固态存储其技术,cd-rom、dvd(digitalvideodisc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。根据本申请实施例,该服务器1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1000可以通过连接在该系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。该存储器还包括至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述基于区块链的作弊用户检测方法。本申请实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或该指令集在被处理器执行时以实现上述基于区块链的作弊用户检测方法。在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被处理器执行时,其用于实现上述基于区块链的作弊用户检测方法。应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1