基于决策树的游戏作弊检测方法

文档序号:6562851阅读:193来源:国知局
专利名称:基于决策树的游戏作弊检测方法
技术领域
本发明涉及网络连机中游戏作弊检测方法,特别涉及基于决策树的游戏作弊检测方法。
背景技术
数据挖掘,指的是从大型数据库或数据仓库中提取所需求的内容,通常需求内容是隐含 的、事先未知的潜在有用信息。数据挖掘是一个高级的处理过程,它从数据集中识别出以模 式来表示的知识。高级的处理过程是指一个多歩骤的处理过程,步骤之间相互影响、反复调 整,形成一种螺旋式上升的过程。数据挖掘的任务是从数据中发现模式。模式是一个用语言 L来表示的一个表达式E,它可用来描述数据集F中数据的特性,E所描述的数据是集合F的 一个子集FE。E作为一个模式要求它比列举数据子集FE中所有元素的描述方法简单。OLAP技 术使数据仓库能够快速响应重复而复杂的分析查询,从而使数据仓库能有效地用于联机分析。 OLAP的多维数据模型和数据聚合技术可以组织并汇总大量的数据,以便能够利用联机分析和 图形工具迅速对数据进行评估。
在网络游戏中很多都是用外挂进行游戏的,现有防外挂技术的起点是代码安全,保护重 点通常是游戏的客户端执行代码。通过局部对抗外挂开发者可能采用的分析、调试和跟踪手 段,防止外挂程序修改代码等等。为防止外挂侵入程序,通常会采用执行代码抽取技术实现 代码安全。同时增加网游客户端软件的加密点来进一步控制游戏安全。但是,这种防御模式 偏于被动,现有的外挂软件通过截获网络数据包,可以绕过客户端的安全防线,模拟客户端 发包,进而修改数据服务器,达到欺诈的目的。

发明内容
为了克服现有技术的缺陷和不足,本发明的目的在于提供一种基于决策树的游戏作弊检 测方法,能够通过主动防御的模式进行数据挖掘分析,提高网络联机游戏中防外挂的能力。
为了达到上述目的,本发明一种基于决策树的游戏作弊检测方法,包括以下步骤
(1) 定时在玩家信息数据库中提取无冗余的特征属性数据集合;
(2) 将该特征属性数据集合分为特征属性训练数据和特征属性测试数据;
(3) 由特征属性训练数据生成决策树,并通过特征属性测试数据对决策书进行裁剪生成 目标决策树模型; (4 )对该目标决策树进行评估,得到适合的目标决策树模型;
(5)对目标决策树进行分析处理生成分类玩家数据库后,对分类玩家数据进行联机分析 处理来检测出带有外挂的作弊玩家。
优选地,所述步骤(1)具体为
(11) 定时对玩家信息数据库的记录进行数据清洗,将冗余的或无关的数据从数据集中
删除;
(12) 提取玩家信息数据库中无冗余的数据组成特征属性数据集合。
优选地,所述步骤(3)具体为
(31) 将特征属性训练数据进行切分处理得到预定的决策树层数,并选择裁剪节点生成 决策树;
(32) 使用特征属性测试数据的分类属性对决策树进行裁剪处理,生成目标决策树模型。 优选地,所述步骤(4)具体为
(41) 使用特征属性测试数据分别对该生成的目标决策树模型和正在使用的决策树模型 进行评估,如果评估结果大于预先设定的误差阀值,则返回步骤(3);否则,进入步骤(42);
(42) 判断生成的目标决策树模型的误差值是否大于正在使用的目标决策树模型,如果 判断结果为是,则使用该正在使用的目标决策树模型;如果判断结果为否,则使用该生成的 目标决策树模型。
优选地,所述步骤(5)具体为
(51) 对目标决策树进行分析,生成分类规则集;
(52) 使用该分类规则集,生成分类玩家数据库;
(53) 对分类玩家数据进行联机分析处理,检测出作弊玩家及其外挂的功能。 优选地,所述切分处理的方法为
对特征属性训练数据进行不断的切分,每一次对应一个游戏人物特征属性的判断并同时 对应一个节点,直到切分的层数达到了预定的层数为止。
优选地,所述裁剪处理的方法为
当测试玩家数据进入决策树并到达叶节点时,测试玩家数据的分类属性与叶子节点的分 类属性比较得到每个枝条的出错率,通过对每个枝条的出错率进行加权平均,计算出不剪枝 该节点的错误率,并判断裁剪是否能够降低错误率,如果是,则剪掉该节点的所有子节点后, 通过测试玩家数据校验出错率,生成错误率小的目标决策树模型。
采用上述的方法后,通过对定时的生成新的目标决策树模型进行评估,来获得外挂检测 最合适的目标决策树模型,并生成分类玩家数据库后进行联机分析处理来检测出带有外挂的 作弊玩家,能够利用主动防御的模式使用数据挖掘的方法通过对服务器数据库用户的定时记 录进行数据挖掘分析,决定哪个任务属性域作为目前最好的分类指标,检测出作弊的玩家, 提高了网络联机游戏中防外挂的能力。


图1是本发明中数据流的整个执行过程的流程图; 图2是本发明用户信息检测的具体流程图; 图3是本发明的网络拓扑结构图。
具体实施例方式
下面结合附图对本发明的具体实施方式
作进一步详细说明。
本发明使用一种主动防御的模式使用数据挖掘的方法通过对服务器数据库用户的定时记 录进行数据挖掘分析,决定哪个任务属性域作为目前最好的分类指标,本发明的做法是穷尽 所有的属性域,对每个属性域分裂的好坏做出量化,计算出最好的一个分裂,量化的标准是 计算每个分裂的多样性。
如图l和图3所示,分别为本发明中数据流的执行过程的流程和本发明的网络拓扑结构;
游戏服务器GameServer通过Internet提供给通过路由器Router接入的游戏客户端Game Client网络游戏服务,数据库服务器DataBase Server并行和游戏服务器连接于Internet, 数据库服务器定时获取游戏玩家的信息,并建立决策树模型后,生成分类玩家数据库,数据 挖掘服务器对该生成的分类玩家数据库中的玩家数据进行联机分析处理(OLAP)后,就能 检测到作弊的玩家及其使用的外挂功能。
上述的数据库服务器建立决策树模型并生成分类玩家数据库的具体过程为定时在玩家 信息数据库中提取无冗余的特征属性数据集合组成初始数据;并将初始数据分成两部分,一 部分是训练数据、另一部分是测试数据;通过训练数据的切分能够生成初始决策树,在利用 测试数据对生成的初始决策树进行决策树的裁剪,得到目标决策树模型,在对该决策树模型 进行决策模型评估后,得到一个检测玩家外挂最合适的目标决策树模型,最后对得到的目标 决策树模型进行分析处理生成玩家分类数据库(如图l所示)。上述的数据挖掘服务器对生成的分类玩家数据库中玩家数据进行联机分析处理(OLAP) 具体包括作弊玩家的分析、游戏漏洞的分析、外挂功能的分析(如图1所示)。
如图2所示,本发明外挂玩家的具体检测过程包括以下步骤
(201) 准备生成模型的初始数据,初始数据可以通过历史数据进行获得,也可以通过 指派训练玩家获得。具体方法是从玩家信息数据库的记录进行数据清洗,数据清洗是将冗余 的、或无关的数据从数据集中剔除,提取相关的无冗余的特征属性数据集合;
(202) 将整理好的初始数据集,分成两部分为训练数据和测试数据;
(203) 将训练数据作为决策树生成算法的输入,同时定义决策树层数,以及分裂参数, 选择剪裁节点,生成原始决策树;
其中,所使用的方法就是使用Clementine C5.0算法,建立决策树。建立决策树的过程 就是把游戏用户记录集进行切分的过程,每次切分都对应一个游戏人物属性的判断,同时每 个切分也对应一个节点,在决策树达到预先定义的深度后,停止生长。这时内部节点成为一 个叶子节点,叶子取子集中最大的类作为自己的分类标识。
(204) 使用测试数据对决策树进行裁剪,生成目标决策树模型;
所使用的方法就是在测试玩家数据进入决策树并到达叶节点时,测试玩家数据的分类属 性与叶子节点的分类属性不同,这时称为发生了分类错误,当决策树建好之后,对每个内部 节点,通过每个枝条的出错率进行加权平均,计算如果不剪枝该节点的错误率;如果裁减能 够降低错误率,那么该节点的所有儿子就被剪掉,而该节点成为一片叶子。出错率再用测试 数据校验,最终形成一棵错误率尽可能小的决策树模型。由于,作弊方法的不断进化,仅仅 使用固定的决策树模型是不够的,这里需要每隔一段时间都要产生新的决策树模型。
(205) 对目标决策树模型进行评估;具体评估方法是最新的测试数据分别对最新决 策树模型和正使用中的决策树模型进行评估,若评估结果大于误差阀值,则返回步骤(202);
否则,若新决策树模型的误差值小于正使用中的决策树模型,这原有模型被新模型替代,反 之则仍使用原有决策树模型。
(206) 分析目标决策树,生成分类规则集,并使用该分类规则集,生成分类玩家数据
库;
(207) 对分类玩家数据进行OLAP分析,得到用户作弊玩家,外挂功能,游戏功能漏 洞的可视化结果。
进行上述的操作后,就将最终结果发送到监控中心Monitor Center,进行游戏玩家用户 锁定(如图1所示)。
本发明通过对定时的生成新的目标决策树模型进行评估,来获得外挂检测最合适的目标 决策树模型,并生成分类玩家数据库后进行联机分析处理来检测出带有外挂的作弊玩家,能 够利用主动防御的模式使用数据挖掘的方法通过对服务器数据库用户的定时记录进行数据挖 掘分析,决定哪个任务属性域作为目前最好的分类指标,检测出作弊的玩家,提高了网络联 机游戏中防外挂的能力。
权利要求
1、一种基于决策树的游戏作弊检测方法,其特征在于,包括以下步骤(1)定时在玩家信息数据库中提取无冗余的特征属性数据集合;(2)将该特征属性数据集合分为特征属性训练数据和特征属性测试数据;(3)由特征属性训练数据生成决策树,并通过特征属性测试数据对决策书进行裁剪生成目标决策树模型;(4)对该目标决策树进行评估,得到外挂检测最适合的目标决策树模型;(5)对目标决策树模型进行分析处理生成分类玩家数据库后,对分类玩家数据进行联机分析处理来检测出带有外挂的作弊玩家。
2、 按照权利要求1所述的基于决策树的游戏作弊检测方法,其特征在于,所述步骤(1) 具体为(11) 定时对玩家信息数据库的记录进行数据清洗,将冗余的或无关的数据从数据集中删除;(12) 提取玩家信息数据库中无冗余的数据组成特征属性数据集合。
3、 按照权利要求2所述的基于决策树的游戏作弊检测方法,其特征在于,所述步骤(3) 具体为(31) 将特征属性训练数据进行切分处理得到预定的决策树层数,并选择裁剪节点生成 决策树;(32) 使用特征属性测试数据的分类属性对决策树进行裁剪处理,生成目标决策树模型。
4、 按照权利要求3所述的基于决策树的游戏作弊检测方法,其特征在于,所述步骤(4) 具体为(41) 使用特征属性测试数据分别对该生成的目标决策树模型和正在使用的决策树模型进行评估,如果评估结果大于预先设定的误差阀值,则返回步骤(3);否则,进入歩骤(42);(42) 判断生成的目标决策树模型的误差值是否大于正在使用的目标决策树模型,如果 判断结果为是,则使用该正在使用的目标决策树模型;如果判断结果为否,则使用该生成的 目标决策树模型。
5、 按照权利要求4所述的基于决策树的游戏作弊检测方法,其特征在于,所述步骤(5) 具体为-(51) 对目标决策树模型进行分析,生成分类规则集;(52) 使用该分类规则集,生成分类玩家数据库; (53)对分类玩家数据进行联机分析处理,检测出作弊玩家及其外挂的功能。
6、 按照权利要求3所述的基于决策树的游戏作弊检测方法,其特征在于,所述切分处理 的方法为对特征属性训练数据进行不断的切分,每一次对应一个游戏人物特征属性的判断并同时 对应一个节点,直到切分的层数达到了预定的层数为止。
7、 按照权利要求3所述的基于决策树的游戏作弊检测方法,其特征在于,所述裁剪处理 的方法为-当测试玩家数据进入决策树并到达叶节点时,测试玩家数据的分类属性与叶子节点的分 类属性比较得到每个枝条的出错率,通过对每个枝条的出错率进行加权平均,计算出不剪枝 该节点的错误率,并判断裁剪是否能够降低错误率,如果是,则剪掉该节点的所有子节点后, 通过测试玩家数据校验出错率,生成错误率小的目标决策树模型。
全文摘要
本发明公开了一种基于决策树的游戏作弊检测方法。为解决现有技术中防御方式被动无法检测出外挂的问题而发明。本发明的方法包括以下步骤定时在玩家信息数据库中提取无冗余的特征属性数据集合;将该特征属性数据集合分为特征属性训练数据和特征属性测试数据;由特征属性训练数据生成决策树,并通过特征属性测试数据对决策书进行裁剪生成目标决策树模型;对该目标决策树进行评估,得到适合的目标决策树模型;对目标决策树进行分析处理生成分类玩家数据库后,对分类玩家数据进行联机分析处理来检测出带有外挂的作弊玩家。本发明能够利用主动防御的模式使用数据挖掘的方法进行数据挖掘分析,检测出作弊的玩家,提高了网络联机游戏中防外挂的能力。
文档编号G06F19/00GK101187959SQ200610145808
公开日2008年5月28日 申请日期2006年11月17日 优先权日2006年11月17日
发明者坚 王, 睿 赵, 翀 顾 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1