本发明专利技术公开一种高效发现用户异常访问行为的装置及方法,其中,装置包括:该装置为异常行为控件,包括:控制识别模块、基础数据读取模块、数据库模块与基础数据缓存模块,所述控制识别模块单向连接基础数据读取模块,所述基础数据读取模块单向连接数据库模块,所述基础数据读取模块单向连接基础数据缓存模块104。基础数据可实时更新;基于控件扩展,新增控件不需要修改程序,易于扩展;开发人员只需要关注当前新增异常行为的规则和实现,无需关注已经存在的控件;新增控件测试已经存在控件的功能;活跃资源流量数据经过预设的各种异常行为控件后得到所有异常访问行为的类型及所关注的其它信息,大幅提升异常访问行为发现效率。大幅提升异常访问行为发现效率。大幅提升异常访问行为发现效率。
【技术实现步骤摘要】
一种高效发现用户异常访问行为的装置及方法
[0001]本专利技术涉及互联网数据流领域,尤其是一种高效发现用户异常访问行为的装置及方法。
技术介绍
[0002]现在常规发现用户异常访问行为流程:
[0003]1、数据采集,主要包括:
[0004]系统通过Ftp/Sftp、WebService、JDBC/ODBC等协议采集数据,采集的数据包括访问日志数据、挖矿应用IP地址池、互联网用户接入号信息、涉诈域名库、IDC/ISP基础数据等。将访问日志写入大数据平台分布式文件系统HDFS。其它数据写入关系型数据库。
[0005]IDC的中文名:互联网数据中心
[0006]ISP的中文名称:互联网接入业务
[0007]2、数据分析处理,主要包括:
[0008](1)通过全量访问日志按多种维度分组如域名、目的IP、目的端口等。分析出各机房的活跃资源数据,如一天内某源IP访问域名和目的IP的访问次数等。作为各种用户行为分析的源数据。
[0009](2)挖矿行为分析,通过活跃资源目的IP和挖矿IP地址池IP做匹配,得到用户的挖矿行为。
[0010](3)涉诈域名库分析,通过活跃资源域名和涉诈域名库、IDCISP基础数据做匹配,得到用户访问涉诈网站的行为。
[0011]总结来说:读取HDFS中数据,进行相关的数据计算,计算过程会关联基础数据,例如:关联挖矿的IP地址池基础数据,获得挖矿的异常行为日志。关联涉诈域名库的基础数据,获取涉诈的异常行为日志。基础数据是存放在关系型数据库中,在数据计算的过程中,为了提升性能,通常是批量查询基础数据,然后缓存起来,进行数据的关联,避免每条记录都去查询数据库,对数据库造成很大的性能压力。
[0012]每当有新增的异常行为需要识别,则修改程序代码,对新的异常行为进行识别。
[0013]常规解决方案问题:
[0014]1、基础数据都是静态数据,无法实时感知数据的实时更新。由于基础数据是定期查询数据库,进行缓存,但是无法预知何时基础数据发生更新,只能定期加载数据库中的数据。
[0015]2、如果有新增的异常行为,则需要重新修改代码实现,进行相应的程序逻辑的修改,修改代码容易出错,修改完成后,通常需要回归测试,完成系统所有功能点的验证。
[0016]3、对开发人员要求比较高,需要同时了解整个流程的业务和代码。
技术实现思路
[0017]为克服现有技术存在的缺陷,本专利技术提供一种高效发现用户异常访问行为的装置
及方法,基于活跃资源数据,通过非法挖矿、涉诈域名等用户行为控件,识别出非法挖矿、涉诈域名等异常行为,相应行为控件的基础数据可实时更新,实现对异常行为的实时拦截。新增异常行为数据获取可通过行为控件的模板进行动态扩展。
[0018]为实现上述目的,本专利技术采用下述技术方案:
[0019]在本专利技术一实施例中,提出了一种高效发现用户异常访问行为的装置,包括:控制识别模块、基础数据读取模块、数据库模块与基础数据缓存模块,所述控制识别模块单向连接基础数据读取模块,所述基础数据读取模块单向连接数据库模块,所述基础数据读取模块单向连接基础数据缓存模块。
[0020]进一步地,所述控制识别模块:控制识别数据库模块更新状态,数据库模块需要更新,则发起基础数据读取模块并更新基础数据缓存模块。
[0021]进一步地,所述控制识别模块控制识别数据库模块更新状态方法包括:
[0022]S1011、指定判断数据库模块是否有效的标记语句,例如:select age from t_table where id=3;
[0023]S1012、基础数据缓存模块读取查询的语句的结果;
[0024]S1013、控制识别模块每隔1秒,查询标记语句,将标记语句查询的结果和基础数据缓存模块中的结果对比;
[0025]S1014、S1013结果一致,则不需要更新基础数据缓存模块;
[0026]S1015、S1013结果不一致,则需要发起更新基础数据缓存模块的操作。
[0027]配置文件结构如下:
[0028][0029][0030][0031]进一步地,所述基础数据读取模块:基于配置信息,从数据库模块中读取数据,读取数据的方式需要动态扩展。
[0032]进一步地,所述配置信息为异常行为控件的配置信息,包括:
[0033]定义控件名称;定义控件的key字段和value字段;定义基础数据的连接信息、数据库、表;指定基础数据库表是否有更新。
[0034]主要内容有:
[0035]name:定义控件名称。
[0036]structure:定义控件的key字段和value字段,使用key字段和活跃资源日志的字段进行关联。value字段返回基础数据中相应字段值的结果。
[0037]source:定义基础数据的连接信息、数据库、表等。
[0038]lifetime:指定基础数据库表是否有更新。
[0039]示例如下:
[0040][0041][0042][0043]进一步地,所述基础数据缓存模块:基于读取的数据,更新基础数据缓存。
[0044]在本专利技术一实施例中,还提出了一种高效发现用户异常访问行为的方法,该方法包括:
[0045]S01、使用Spark读取HDFS的数据,读取后的数据加载为分布式数据集;
[0046]S02、读取的数据,作为异常行为控件1的输入,异常行为控件1对数据进行处理;
[0047]S03、异常行为控件2将异常行为控件1处理后的分布式数据集,作为输入,进行处理,生成新的分布式数据集2,以此类推,直至处理到最后一个异常行为控件;
[0048]S04、最后一个异常行为控件处理后,生成的分布式数据集,写入目标存储。
[0049]进一步地,所述异常行为控件各自一个实现类,集成数据源父类,实现初始化配置、检查配置、预处理、生成分布式数据。
[0050]定义控件的配置
[0051]配置信息包括:需要使用的控件名称,这个控件必须是已经定义过的控件。
[0052]需要关联的源key字段,使用该字段与控件定义里面的key字段进行关联,或者控件定义里面的value字段。
[0053]示例如下:
[0054][0055]进一步地,所述初始化配置initConfig:读取配置文件,将配置属性添加到控件中。
[0056]进一步地,所述检查配置checkConfig:检查配置文件的配置是否合法,对于所有异常的配置,将错误信息集中返回。
[0057]进一步地,所述预处理prepare:数据处理的预处理。
[0058]进一步地,所述生成分布式数据集getDataSet:此方法是最重要的方法,基于前面的方法,根据配置文件的配置属性,将数据源转换为Spark的分布式数据集合,包含Schema信息,用于后续的数据处理。...
【技术保护点】
【技术特征摘要】
1.一种高效发现用户异常访问行为的装置,其特征在于,该装置为异常行为控件,包括:控制识别模块、基础数据读取模块、数据库模块与基础数据缓存模块,所述控制识别模块单向连接基础数据读取模块,所述基础数据读取模块单向连接数据库模块,所述基础数据读取模块单向连接基础数据缓存模块。2.根据权利要求1所述的高效发现用户异常访问行为的装置,其特征在于,所述控制识别模块:控制识别数据库模块更新状态,数据库模块需要更新,则发起基础数据读取模块并更新基础数据缓存模块。3.根据权利要求1所述的高效发现用户异常访问行为的装置,其特征在于,所述控制识别模块控制识别数据库模块更新状态方法包括:S1011、指定判断数据库模块是否有效的标记语句;S1012、基础数据缓存模块读取查询的语句的结果;S1013、控制识别模块每隔1秒,查询标记语句,将标记语句查询的结果和基础数据缓存模块中的结果对比;S1014、S1013结果一致,则不需要更新基础数据缓存模块;S1015、S1013结果不一致,则需要发起更新基础数据缓存模块的操作。4.根据权利要求1所述的高效发现用户异常访问行为的装置,其特征在于,所述基础数据读取模块:基于配置信息,从数据库模块中读取数据,读取数据的方式需要动态扩展。5.根据权利要求4所述的高效发现用户异常访问行为的装置,其特征在于,所述配置信息为异常行为控件的配置信息,包括:定义控件名称;定义控件的key字段和value字段;定义基础数据的连接信息、数据库、表;指定基础数据库表是否有更新。6.根据权利要求1所述的高效发现用户异常访问行为的装置,其特征在于,所述基础数据缓存模块:基于读取的数据,更新基础数据缓存。7.一种高效发现用户异常访问行为的方法,其特征在于,该方法包括:S01、...
【专利技术属性】
技术研发人员:张强,
申请(专利权)人:中盈优创资讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。