一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

实时数据仓库构建、异常检测方法、装置、设备及产品与流程

2022-05-18 14:22:42 来源:中国专利 TAG:


1.本发明涉及数据分析技术领域,尤其涉及一种实时数据仓库构建、异常检测方法、装置、设备及产品。


背景技术:

2.随着大数据技术的不断发展,对大数据实现准确、及时的分析也越来越重要。
3.目前,在很多大数据应用中存在一定的安全问题,很多黑客会盗取用户的信息对大数据进行窃取,带来一定的安全问题,因此,需要设定异常检测系统对用户的操作行为进行检测处理,保证大数据的安全。现有技术中,异常检测系统是通过机器学习和数据库分析相结合来识别出存在的风险,需要将获取的日志数据与数据库中存储的数据进行比较分析,但数据库中仅存储了历史数据,导致这种处理方式实时性无法满足,用户体验较差。


技术实现要素:

4.本发明提供一种实时数据仓库构建、异常检测方法、装置、设备及产品,用以解决现有技术中异常检测实时性较低、用户体验较差的技术问题,以实现提高异常检测的实时性,以及提升用户体验的目的。
5.第一方面,本发明提供一种实时数据仓库构建方法,包括:
6.预先获取目标用户的数据信息;
7.对所述目标用户的数据信息进行分层处理,将分层处理结果存储到对应的存储介质。
8.进一步,根据本发明提供的实时数据仓库构建方法,所述实时数据仓库包括明细数据层、轻度汇总层和公共汇总层,
9.相应的,所述对所述目标用户的数据信息进行分层处理,包括:
10.统计所述目标用户不同主题类型下所对应的日志数据,将不同主题类型下的日志数据存储到所述明细数据层中对应的用户主题列表;
11.统计多个维度的目标用户的行为基线数据,根据不同预设时间将不同的行为基线数据存储到所述轻度汇总层中对应的用户行为列表中;
12.统计所述目标用户的指标数据,将得到的不同指标数据存储到对应的用户指标宽表中。
13.进一步,根据本发明提供的实时数据仓库构建方法,所述实时数据仓库至少包括以下存储介质:消息队列、第三方数据库和非关系数据库,
14.相应的,所述将分层处理结果存储到对应的存储介质,包括:
15.将所述明细数据层处理得到的明细数据存储到所述非关系数据库;
16.将所述轻度汇总层处理得到的用户行为基线数据存储到所述消息队列;
17.将所述公共汇总层处理得到的指标数据存储到所述第三方数据库。
18.第二方面,本发明还提供一种异常检测方法,包括:
19.获取目标用户在预设时间段内产生的日志数据以及事件配置数据;
20.根据所述日志数据确定所述目标用户的行为数据;
21.根据所述事件配置数据确定异常检测类型;
22.将所述日志数据输入实时数据仓库,以得到根据所述日志数据更新后的与所述异常检测类型对应的异常检测基准数据;
23.根据所述目标用户的行为数据、更新后的与所述异常检测类型对应的异常检测基准数据,确定目标用户是否存在异常事件。
24.进一步,根据本发明提供的异常检测方法,所述根据所述日志数据确定所述目标用户的行为数据,包括:
25.将所述日志数据存储到消息队列中;
26.在所述消息队列中,对所述日志数据进行消息分发,得到所述目标用户的行为数据。
27.进一步,根据本发明提供的异常检测方法,所述根据所述日志数据更新与所述异常检测类型对应的异常检测基准数据,包括:
28.将所述日志数据传输至实时数据仓库,以使得所述实时数据仓库根据所述日志数据以及所述目标用户的历史日志数据计算与所述异常检测类型对应的异常检测基准数据,得到更新后的与所述异常检测类型对应的异常检测基准数据;
29.从所述实时数据仓库接收所述更新后的与所述异常检测类型对应的异常检测基准数据。
30.进一步,根据本发明提供的异常检测方法,所述更新后的与所述异常检测类型对应的异常检测基准数据包括:更新后的与所述异常检测类型对应的目标用户行为基线数据、异常概率阈值;
31.相应的,所述根据所述目标用户的行为数据、更新后的与所述异常检测类型对应的异常检测基准数据,确定目标用户是否存在异常事件,包括:
32.确定所述目标用户是否存在更新后的与所述异常检测类型对应的目标用户行为基线数据;
33.在所述目标用户不存在更新后的与所述异常检测类型对应的目标用户行为基线数据的情况下,确定所述目标用户不存在异常访问事件。
34.进一步,根据本发明提供的异常检测方法,所述根据所述目标用户的行为数据、更新后的与所述异常检测类型对应的异常检测基准数据,确定目标用户是否存在异常事件,还包括:
35.在所述目标用户存在更新后的与所述异常检测类型对应的目标用户行为基线数据的情况下,根据所述目标用户的行为数据和更新后的与所述异常检测类型对应的异常检测基准数据,计算所述目标用户的异常概率数值;
36.在所述异常概率数值小于或等于预设的异常概率阈值的情况下,确定所述目标用户存在与所述异常检测类型相关的异常事件;
37.在所述异常概率数值大于预设的异常概率阈值的情况下,确定所述目标用户不存在与所述异常检测类型相关的异常事件。
38.进一步,根据本发明提供的异常检测方法,所述更新后的与所述异常检测类型对
应的异常检测基准数据包括:更新后的与所述异常检测类型对应的目标用户行为基线数据;
39.相应的,所述将所述日志数据传输至实时数据仓库,以使得所述实时数据仓库根据所述日志数据以及所述目标用户的历史日志数据计算与所述异常检测类型对应的异常检测基准数据,得到更新后的与所述异常检测类型对应的异常检测基准数据,包括:
40.将所述日志数据传输至实时数据仓库;
41.在所述实时数据仓库中,基于目标用户的历史日志数据以及所接收到的所述日志数据,计算在多个维度下的目标用户的行为基线数据;
42.根据所述多个维度下的目标用户的行为基线数据,确定与所述异常检测类型对应的目标用户行为基线数据,得到更新后的与所述异常检测类型对应的目标用户行为基线数据。
43.第三方面,本发明还提供一种实时数据仓库构建装置,包括:
44.获取模块,用于预先获取目标用户的数据信息;
45.处理模块,用于对所述目标用户的数据信息进行分层处理,将分层处理结果存储到对应的存储介质。
46.第四方面,本发明还提供一种异常检测装置,包括;
47.获取模块,用于获取目标用户在预设时间段内产生的日志数据以及事件配置数据;
48.第一确定模块,用于根据所述日志数据确定所述目标用户的行为数据;
49.第二确定模块,用于根据所述事件配置数据确定异常检测类型;
50.更新模块,用于将所述日志数据输入实时数据仓库,以得到根据所述日志数据更新后的与所述异常检测类型对应的异常检测基准数据;
51.第三确定模块,用于根据所述目标用户的行为数据、更新后的与所述异常检测类型对应的异常检测基准数据,确定目标用户是否存在异常事件。
52.进一步,所述第一确定模块还用于:
53.将所述日志数据存储到消息队列中;
54.在所述消息队列中,对所述日志数据进行消息分发,得到所述目标用户的行为数据。
55.第五方面,本发明还提供一种电子设备,包括:
56.处理器、存储器和总线,其中,
57.所述处理器和所述存储器通过所述总线完成相互间的通信;
58.所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如上任一项中所述实时数据仓库构建方法或所述异常检测方法的步骤。
59.第六方面,本发明还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使计算机执行如上所述实时数据仓库构建方法或所述异常检测方法的步骤。
60.第七方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上任一项所述实时数据仓库构建方法或所述异常检测方法的步骤。
61.本发明提供一种实时数据仓库构建、异常检测方法、装置、设备及产品,实时数据
仓库构建方法包括:预先获取目标用户的数据信息,对目标用户的数据信息进行分层处理,将分层处理结果存储到对应的存储介质;异常检测方法包括:获取目标用户在预设时间段内产生的日志数据以及事件配置数据,根据日志数据确定目标用户的行为数据;根据事件配置数据确定异常检测类型;将所述日志数据输入实时数据仓库,以得到根据日志数据更新后的与异常检测类型对应的异常检测基准数据,根据目标用户的行为数据、更新后的与异常检测类型对应的异常检测基准数据,确定目标用户是否存在异常事件。本发明提供的基于实时数据仓库的异常检测方法,能够保证异常检测实时性和准确性,提高异常检测的速度,提升用户体验。
附图说明
62.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
63.图1是本发明提供的一种实时数据仓库构建方法的流程示意图;
64.图2是本发明提供的一种实时数据仓库分层的结构示意图;
65.图3是本发明提供的一种实时数据仓库存储的结构示意图;
66.图4是本发明提供的一种异常检测方法的流程示意图;
67.图5是本发明提供的一种异常检测方法的整体流程示意图;
68.图6是本发明提供的一种实时数据仓库构建装置的结构示意图;
69.图7是本发明提供的电子设备的结构示意图。
具体实施方式
70.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
71.图1为本发明提供的实时数据仓库构建方法的流程示意图,如图1所示,本发明提供的实时数据仓库构建方法,包括以下步骤:
72.步骤101:预先获取目标用户的数据信息。
73.在本实施例中,需要预先获取目标用户的相关数据信息,如目标用户在某一点时间内登录的次数,或者目标用户通过什么样的ip地址进行登录的,又或者目标用户平时在哪些地方进行登录等数据信息。
74.需要说明的是,需要对获取到的不同类型的数据信息进行分类处理,如哪些属于明细类型的数据,哪些属于指标类型的数据,通过对不同类型的数据,可以对得到的数据信息后续进行分层处理,具体可见下述实施例,在此不作详细介绍。
75.步骤102:对所述目标用户的数据信息进行分层处理,将分层处理结果存储到对应的存储介质。
76.在本实施例中,需要对步骤101中获取的目标用户的数据信息进行分层处理,然后
将分层处理结果存储待对应的存储介质中,形成实时数据仓库,并将构建的实时数据仓库用于异常检测中。
77.需要说明的是,分层处理具体可以是对明细数据进行统计汇总处理,还可以是根据各个指标数据分类进行处理,具体可见下述实施例,在此不作详细介绍。
78.需要说明的是,存储介质是指用于存储数据的载体,在本实施例中存储介质可以是hive、hbase、第三方数据库、消息队列等,其中,hive是基于hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在hadoop中的大规模数据的机制,hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供sql查询功能,能将sql语句转变成mapreduce任务来执行。
79.根据本发明提供的实时数据仓库构建方法,通过预先获取目标用户的数据信息,然后对数据信息进行分层处理,将各个分层处理结果存储到对应的存储介质中,生成实时数据仓库,能够实时为用户提供数据信息,为后续异常检测提供数据支持,间接提高了异常检测的处理效率。
80.在本发明的另一个实施例中,如2所示,所述实时数据仓库包括明细数据层、轻度汇总层和公共汇总层;
81.相应的,所述对所述目标用户的数据信息进行分层处理,包括:
82.统计所述目标用户不同主题类型下所对应的日志数据,将不同主题类型下的日志数据存储到所述明细数据层中对应的用户主题列表;
83.统计多个维度的目标用户的行为基线数据,根据不同预设时间将不同的行为基线数据存储到所述轻度汇总层中对应的用户行为列表中;
84.统计所述目标用户的指标数据,将得到的不同指标数据存储到对应的用户指标宽表中。
85.在本实施例中,构建的实时数据仓库属于多维度分层的模式,具体分为三层,分别为明细数据层、轻度汇总层和公共汇总层。其中,明细数据层用于统计目标用户不同主题类型下对应的日志数据,并将该日志数据存储到对应的用户主题列表中,主题列表可以是用户登录主题列表,还可以是用户访问主题列表。统计的日志数据可以是统计目标用户最近n次的访问记录的日志数据,还可以是统计目标用户每小时的访问流量的日志数据等,具体可以根据用户的实际需要进行设定,在此不作具体限定。
86.在本实施例中,轻度汇总层用于统计多个维度的目标用户的行为基线数据,根据不同预设时间将不同的行为基线数据存储到对应的用户行为列表中,如设备维度,统计当前设备的目标用户的行为基线数据,行为基线数据包括登录的人、地点和时间,并将得到的行为基线数据存储到对应的用户行为列表中。
87.在本实施例中,公共汇总层用于统计目标用户的指标数据,将得到的不同指标数据存储到对应的用户指标宽表中。其中,指标数据可以是每个目标用户在每个时间段内的操作行为次数、每个账户在所有城市的操作次数,以及每个目标用户在某个时间段内的平均操作次数,然后存储到用户指标宽表中。
88.需要说明的是,本实施例中通过有效的数据分层处理,将原来耦合在数据分析模块任务中的数据实现预处理,拆分出来存放在实时数据仓库中进行流处理,比如按预定时间,每小时、每天或每周统计目标用户的访问量,然后采用流处理sql按时间窗口进行处理,
并将处理结果输出到数据库中使用,假如要统计秒级数据,输出结果可以采用redis的存储方式,能够去掉crontab部分的定时提交数据分析模块任务,减少调度资源的pending数量。
89.根据本发明提供的实时数据仓库构建方法,构建的实时数据仓库属于分层结构,通过设定的多个分层对获取到的数据进行分层处理,能够提高数据处理的效率,保证异常检测的实时性。
90.在本发明的另一个实施例中,如图3所示,所述实时数据仓库至少包括以下存储介质:消息队列、第三方数据库和非关系数据库,
91.相应的,所述将分层处理结果存储到对应的存储介质,包括:
92.将所述明细数据层处理得到的明细数据存储到所述非关系数据库;
93.将所述轻度汇总层处理得到的用户行为基线数据存储到所述消息队列;
94.将所述公共汇总层处理得到的指标数据存储到所述第三方数据库。
95.在本实施例中,实时数据仓库还包括数据运营层、数据应用层和数据仓库层,用于存储不同类型的数据。对于不同的数据层会选择不同的存储介质,本实施例中,数据运营层中的非关系数据库(redis)用于存储明细数据,数据运营层中的消息队列用于存储轻度汇总层处理得到的用户行为基线数据,而数据仓库层用于存储明细数据层处理得到的明细数据,数据仓库层中的第三方数据库用于存储公共汇总层处理得到的指标汇总数据。
96.需要说明的是,实时数据选择消息队列进行存储,历史数据选用离线队列,如选择hive。而且对于常见的指标汇总数据直接放在第三方数据库中,比如模型训练需要的数据存储在文件管理系统,而对于维度比较多的、写入更新比较大的数据会放在hbase里面,若是查询要求比较高的,如现在的设备主体管理数据直接存储在redis。
97.需要说明的是,页面展示呈现数据可能存在大量数据查询情况,需要选择索引文件es存储数据,可以提高查询效率;需要高频调用的信任等级数据以及目标用户基本信息的数据选择redis。
98.在本实施例中,实时数据仓库主要是基于数据采集工具,如数据采集工具将原始数据写入到消息队列类型的数据通道中,然后通过流处理进行数据聚合,最后将采集处理的数据写入到类似于mysql、hbase、redis存储系统中,对外可提供分钟级别、甚至秒级别的查询方案。而且目标用户行为基线数据可以做定时任务计算,在计算完成后拉取更新后的目标用户行为基线数据进行缓存,可提供资源利用率。
99.根据本发明提供的实时数据仓库构建方法,通过将不同分层处理后的数据存储到对应的存储介质中,能够保证数据获取的速率,提高异常检测的效率。
100.在本发明的另一个实施例中,如图4所示,本发明提供的异常检测方法,具体包括以下步骤:
101.步骤401:获取目标用户在预设时间段内产生的日志数据以及事件配置数据。
102.在本实施例中,需要获取目标用户在预设时间段内产生的日志数据以及事件配置数据,其中,日志数据是指日志文件存储的数据,通常以*.log结尾,日志文件是用于记录系统操作事件的记录文件或文件集合。
103.需要说明的是,事件配置数据是指用于判断描述是否存在异常事件的参数,具体包括触发时间间隔、异常概率类型、分析时间间隔,其中,异常概率类型包括异常概率阈值和异常次数阈值。具体包含的内容可以根据用户的实际需要进行设定。
104.需要说明的是,获取日志数据和事件配置数据的方式采用现有技术中较成熟的获取方式,如基于http协议restful方式采集日志数据,具体可以根据用户的实际需要进行设定,在此不作具体限定。
105.步骤402:根据所述日志数据确定所述目标用户的行为数据。
106.在本实施例中,需要根据获取到的目标用户的日志数据确定出目标用户的行为数据。具体实现方式是将得到的日志数据通过tcp/udp的协议发送到socket接口,然后采集有效的syslog日志json体中的data部分,并按照数据的类型分别存储到不同的消息队列中,根据消息队列的消息确定出目标用户的行为信息。
107.举例说明,在确定消息队列为kafka时,将从消息队列kafka中获取到的消息写入对应的topic中,如ida_log_recv,然后进一步将消息分发到用户认证类型topic(user_auth)和应用访问topic(app_access)中,进而分析处理得到目标用户的行为信息。需要说明的是,topic是消息发布(pub)者和订阅(sub)者之间的传输中介,用于消息的发送和接收。
108.步骤403:根据所述事件配置数据确定异常检测类型。
109.在本实施例中,需要根据事件配置数据确定出异常检测类型。将获取到的目标用户的最新的事件配置数据与预先存储在到事件库中的事件检测基准数据进行比较分析,确定出异常检测类型。其中,本实施例中,异常检测类型可以为下述所述的检测类型中的任意一种,如时间检测类型、设备类型检测类型ip地址检测类型、地理位置检测类型等检测类型。
110.步骤404:将所述日志数据输入实时数据仓库,以得到根据所述日志数据更新后的与所述异常检测类型对应的异常检测基准数据。
111.在本实施例中,需要将得到的日志数据输入实时数据仓库中,以得到根据日志数据更新后的与异常检测类型对应的异常检测基准数据。还需要将消息队列中的日志数据存储到文件系统中,作为源数据用于实时更新目标用户的异常检测基准数据。其中,异常检测基准数据至少包括目标用户行为基线数据和异常概率阈值,通过目标用户的最新日志数据实现对异常检测基准数据的实时更新。
112.需要说明的是,本实施例中,需要通过广播流监听消息队列,一方面,对消息队列中的实时消息进行消费,然后将日志数据存储在文件系统中,作为源数据更新目标用户行为基线数据,还将最新的事件配置数据实时更新至全局变量中,用于全局生效;另一方面,对消息队列中的实时消息进行消费后,根据最新的事件配置数据启动各个事件的检测线程,并根据最新的事件配置数据进行事件规则匹配,将检测和发现触发的异常事件实时输出。其中,源数据是指初始发送到消息队列中的日志数据;消费数据是指消息队列中的user_auth和app_access这两个topic中的数据。
113.步骤405:根据所述目标用户的行为数据、更新后的与所述异常检测类型对应的异常检测基准数据,确定目标用户是否存在异常事件。
114.在本实施例中,需要根据目标用户的行为数据以及更新后的与异常检测类型对应的异常检测基准数据确定出目标用户是否存在异常事件。其中,异常检测基准数据可以是触发时间间隔,还可以是异常概率类型、分析时间间隔或用户行为基线数据,其中,异常概率类型包括异常概率阈值和异常次数阈值。具体包含的内容可以根据用户的实际需要进行
设定。
115.举例说明,假如访问事件的异常检测数据为异常次数阈值,确定目标用户的事件配置数据为x,且该目标用户在预设时间段内存在目标用户行为基线数据,目标用户行为基线数据为y。当事件配置数据x小于目标用户行为基线数据y时,即目标用户行为基线的次数大于设置的事件配置数据,表明目标用户访问次数较多,经常在预设时间段内进行访问,确定该目标用户的访问事件为正常事件。
116.当事件配置数据x大于目标用户行为基线数据y时,即目标用户行为基线的次数小于设置的事件配置数据,表明目标用户访问次数较少,未达到预设时间段内设定的访问次数,确定该目标用户的访问事件为异常事件。
117.根据本发明提供的一种异常检测方法,获取目标用户在预设时间段内产生的日志数据以及事件配置数据,根据日志数据确定目标用户的行为数据,根据事件配置数据确定异常检测类型,并将日志数据输入实时数据仓库中,以得到根据日志数据更新与异常检测类型对应的异常检测基准数据,根据目标用户的行为数据、更新后的与异常检测类型对应的异常检测基准数据,确定目标用户是否存在异常事件。本发明提供的异常检测方法,能够保证异常检测实时性和准确性,提高异常检测的速度,提升用户体验。
118.在本发明的一个实施例中,所述根据所述日志数据确定所述目标用户的行为数据,包括:
119.将所述日志数据存储到消息队列中;
120.在所述消息队列中,对所述日志数据进行消息分发,得到所述目标用户的行为数据。
121.在本实施例中,需要根据日志数据的类型存储到对应的消息队列中,并在消息队列中对日志数据进行消息分发,根据分发结果得到目标用户的行为数据。
122.需要说明的是,本实施例中,在确定消息队列为kafka时,将从消息队列kafka中获取到的消息写入对应的topic中,如ida_log_recv,然后进一步将消息分发到用户认证类型topic(user_auth)和应用访问topic(app_access)中,进而分析处理得到目标用户的行为信息。
123.根据本发明提供的异常检测方法,通过将实时获取的日志数据存储到消息队列中,然后在该消息队列中对日志数据进行消息分发,得到该目标用户的行为数据,能够提高异常检测的实时性和准确性。
124.在本发明的另一个实施例中,所述根据所述日志数据更新与所述异常检测类型对应的异常检测基准数据,包括:
125.将所述日志数据传输至实时数据仓库,以使得所述实时数据仓库根据所述日志数据以及所述目标用户的历史日志数据计算与所述异常检测类型对应的异常检测基准数据,得到更新后的与所述异常检测类型对应的异常检测基准数据;
126.从所述实时数据仓库接收所述更新后的与所述异常检测类型对应的异常检测基准数据。
127.在本实施例中,需要将目标用户的日志数据传输到预先构建的实时数据仓库中,在实时数据仓库中根据目标用户的实时日志数据和历史日志数据计算出异常检测类型对应的异常检测基准数据,得到更新后的异常检测基准数据,并将更新后的与异常检测类型
对应的异常检测基准数据从实时数据仓库中传出,用于异常检测中。其中,实时数据仓库是预先根据历史日志数据构建的,用于实时更新生成目标用户的异常检测基准数据。需要说明的是,本实施例中,实时数据仓库计算异常检测类型对应的异常检测基准数据所采用的计算方法是现有技术中较成熟的计算方法,在此不作具体限定。
128.根据本发明提供的异常检测方法,通过将目标用户的日志数据输入到实时数据仓库中,在实时数据仓库中根据目标用户最新的日志数据和历史日志数据计算出异常检测类型对应的异常检测基准数据,并从实时数据仓库中输出,用于后续的异常检测中,提高了异常检测的实时性,提升了用户体验。
129.在本发明的另一个实施例中,所述更新后的与所述异常检测类型对应的异常检测基准数据包括:更新后的与所述异常检测类型对应的目标用户行为基线数据、异常概率阈值;
130.相应的,所述根据所述目标用户的行为数据、更新后的与所述异常检测类型对应的异常检测基准数据,确定目标用户是否存在异常事件,包括:
131.确定所述目标用户是否存在更新后的与所述异常检测类型对应的目标用户行为基线数据;
132.在所述目标用户不存在更新后的与所述异常检测类型对应的目标用户行为基线数据的情况下,确定所述目标用户不存在异常事件。
133.在本实施例中,需要确定目标用户是否存在更新后的与异常检测类型对应的目标用户行为基线数据,当目标用户存在更新后的与异常检测类型对应的目标用户行为基线数据时,确定目标用户的异常概率值为0,该目标用户不存在异常事件。需要说明的是,目标用户行为基线数据是在实时数据仓库通过多维度分析获取到的,具体可见下述实施例,在此不作详细介绍。
134.根据本发明提供的异常检测方法,通过判断目标用户是否存在目标用户行为基线数据,当确认存在目标用户行为基线数据时,直接确定目标用户不存在异常事件,提高了异常检测的实时性,提升了用户体验。
135.在本发明的另一个实施例中,所述根据所述目标用户的行为数据、更新后的与所述异常检测类型对应的异常检测基准数据,确定目标用户是否存在异常事件,还包括:
136.在所述目标用户存在更新后的与所述异常检测类型对应的目标用户行为基线数据的情况下,根据所述目标用户的行为数据和更新后的与所述异常检测类型对应的异常检测基准数据,计算所述目标用户的异常概率数值;
137.在所述异常概率数值小于或等于预设的异常概率阈值的情况下,确定所述目标用户存在与所述异常检测类型相关的异常事件;
138.在所述异常概率数值大于预设的异常概率阈值的情况下,确定所述目标用户不存在与所述异常检测类型相关的异常事件。
139.在本实施例中,当目标用户存在更新后的与异常检测类型对应的目标用户行为基线数据时,根据确定的目标用户的行为数据和更新后的与异常检测类型对应的异常检测基准数据计算出目标用户的异常概率数值。其中,目标用户的行为数据是根据产生的日志数据确认得到的。
140.在本实施例中,需要将目标用户的行为数据和更新后的与异常检测类型对应的异
常检测基准数据中的目标用户行为基线数据进行计算,得到目标用户的异常概率数值,在异常检测类型为时间检测类型时,具体的计算公式如下:
[0141][0142]
其中,n
ij
表示目标用户在预设时间段内的行为数据,表示目标用户i在当天所有时间段内操作的行为数据总和。
[0143]
本实施例中,在异常检测类型为时间检测类型时,将目标用户行为基线按照全天进行划分,划分为7个时间段,统计目标用户在每个时间段的操作行为(登录/访问)数据,行为数据为操作行为的次数。具体如下述表1所示。
[0144]
表1
[0145][0146][0147]
当计算得到的目标用户在预设时间段内的异常概率数值小于或等于预设的异常概率阈值时,确定目标用户存在与异常检测类型相关的异常事件。当异常概率数值大于预设的异常概率阈值时,确定目标用户不存在与异常检测类型相关的异常事件。需要说明的是,本实施例中的判断方式是在目标用户存在目标用户行为基线数据的情况下进行的,若目标用户不存在目标用户行为基线数据则不会进行到本实施例中的处理过程中。
[0148]
举例说明,假如目标用户的异常概率阈值设定为0.5,通过计算得到目标用户的异常概率数值为0.2,也就是说,目标用户在预设时间段内的操作次数少于设置的操作次数,目标用户的操作行为存在异常,即存在与异常检测类型对应的异常事件。
[0149]
需要说明的是,本实施例中的异常检测类型还包括ip地址检测类型、设备类型检测类型和地理位置检测类型,不局限于时间检测类型,具体可以根据用户的实际需要进行设定,在此不作具体限定。
[0150]
根据本发明提供的异常检测方法,在目标用户存在目标用户行为基线数据的情况下,通过将计算得到的异常概率数值和预设的异常概率阈值进行比较,确定出目标用户是否存在异常事件,能够准确检测出目标用户是否存在异常事件,提高异常检测的处理效率,提升了用户体验。
[0151]
在本发明的另一个实施例中,所述更新后的与所述异常检测类型对应的异常检测基准数据包括:更新后的与所述异常检测类型对应的目标用户行为基线数据;
[0152]
相应的,所述将所述日志数据传输至实时数据仓库,以使得所述实时数据仓库根据所述日志数据以及所述目标用户的历史日志数据计算与所述异常检测类型对应的异常检测基准数据,得到更新后的与所述异常检测类型对应的异常检测基准数据,包括:
[0153]
将所述日志数据传输至实时数据仓库;
[0154]
在所述实时数据仓库中,基于目标用户的历史日志数据以及所接收到的所述日志数据,计算在多个维度下的目标用户的行为基线数据;
[0155]
根据所述多个维度下的目标用户的行为基线数据,确定与所述异常检测类型对应的目标用户行为基线数据,得到更新后的与所述异常检测类型对应的目标用户行为基线数据。
[0156]
在本实施例中,需要在实时数据仓库中计算目标用户在多维度下的目标用户的行为基线数据,然后根据多个维度下的目标用户的行为基线数据确定出与异常检测类型对应的目标用户行为基线数据,并得到更新后的与异常检测类型对应的目标用户行为基线数据。需要说明的是,目标用户行为基线数据是通过在多维度上分析目标用户的行为基线数据得到的,多维度是指时间维度、地理位置维度、ip地址维度和设备类型维度,然后根据异常检测类型对应的维度上的目标用户的行为基线数据得到目标用户行为基线数据。
[0157]
需要说明的是,目标用户行为基线数据在应用的时候,可以根据异常检测类型所对应的维度上的行为基线数据得到目标用户行为基线数据,如异常检测类型为时间检测类型,根据确定的异常检测类型确定目标用户在时间维度上的行为基线数据为目标用户行为基线数据,用于异常检测中。
[0158]
根据本发明提供的异常检测方法,将日志数据传输至实时数据仓库中,基于目标用户的历史日志数据以及所接收到的日志数据,计算在多个维度下的目标用户的行为基线数据,根据多个维度下的目标用户的行为基线数据,确定与异常检测类型对应的目标用户行为基线数据,并得到更新后的与异常检测类型对应的目标用户行为基线数据。能够准确确定出与异常检测类型对应的目标用户行为基线数据,保证异常检测的准确性。
[0159]
在本发明的另一个实施例中,如图5所示,本实施例中,需要将获取到的目标用户的日志数据和事件配置数据输入到对应的消息队列中,然后对消息队列中的日志数据进行相应的处理,比如生成topic数据,而事件配置数据只是存储在消息队列中,不需要做进一步的处理。
[0160]
在本实施例中,需要根据获取到的目标用户的日志数据确定出目标用户的行为数据。具体实现方式是将得到的日志数据通过tcp/udp的协议发送到socket接口,然后数据采集模块采集有效的syslog日志json体中的data部分,并按照数据的类型分别存储到不同的消息队列中,在确定消息队列为kafka时,将从消息队列kafka中获取到的消息写入对应的topic中,如ida_log_recv,然后进一步将消息分发到用户认证类型topic(user_auth)和应用访问topic(app_access)中,进而分析处理得到目标用户的行为信息。
[0161]
在本实施例中,还需要将日志数据消息队列中的源数据存储到文件系统,后续实时数据仓库可以从文件系统中读取源数据,用于生成目标用户行为基线,其中,源数据是指初始发送到消息队列中的日志数据。
[0162]
在本实施例中,事件配置消息队列中的事件配置参数可以更新到全局变量,用于全局生效。需要说明的是,通过建立广播流来监听消息队列,一方面,对消息队列中的实时消息进行消费,然后将日志数据存储在文件系统中,作为源数据更新目标用户行为基线数据,还将最新的事件配置数据实时更新至全局变量中,用于全局生效;另一方面,对消息队列中的实时消息进行消费后,根据最新的事件配置数据启动各个事件的检测线程,并根据最新的事件配置数据进行事件规则匹配,将检测和发现触发的异常事件实时输出。
[0163]
需要说明的是,事件库是用来存放异常事件检测结果的装置。而且在检测异常事件的过程中,需要根据事件配置数据从实时数据仓库中获取对应异常检测类型的目标用户行为基线数据,同时实时数据仓库提供的目标用户行为基线数据是不断更新的。
[0164]
图6为本发明实施例提供的一种实时数据仓库构建装置,如图6所示,本发明实施例提供的实时数据仓库构建装置,包括:
[0165]
获取模块601,用于预先获取目标用户的数据信息;
[0166]
处理模块602,用于对所述目标用户的数据信息进行分层处理,将分层处理结果存储到对应的存储介质。
[0167]
根据本发明提供的实时数据仓库构建方法,通过预先获取目标用户的数据信息,然后对数据信息进行分层处理,将各个分层处理结果存储到对应的存储介质中,生成实时数据仓库,能够实时为用户提供数据信息,为后续异常检测提供数据支持,间接提高了异常检测的处理效率。
[0168]
进一步,所述实时数据仓库包括明细数据层、轻度汇总层和公共汇总层;
[0169]
相应的,处理模块602还用于:
[0170]
统计所述目标用户不同主题类型下所对应的日志数据,将不同主题类型下的日志数据存储到所述明细数据层中对应的用户主题列表;
[0171]
统计多个维度的目标用户的行为基线数据,根据不同预设时间将不同的行为基线数据存储到所述轻度汇总层中对应的用户行为列表中;
[0172]
统计所述目标用户的指标数据,将得到的不同指标数据存储到对应的用户指标宽表中。
[0173]
根据本发明提供的实时数据仓库构建装置,构建的实时数据仓库属于分层结构,通过设定的多个分层对获取到的数据进行分层处理,能够提高数据处理的效率,保证异常检测的实时性。
[0174]
进一步,所述实时数据仓库至少包括以下存储介质:消息队列、第三方数据库和非关系数据库,
[0175]
相应的,处理模块602还用于:
[0176]
将所述明细数据层处理得到的明细数据存储到所述非关系数据库;
[0177]
将所述轻度汇总层处理得到的用户行为基线数据存储到所述消息队列;
[0178]
将所述公共汇总层处理得到的指标数据存储到所述第三方数据库。
[0179]
根据本发明提供的实时数据仓库构建方法,通过将不同分层处理后的数据存储到对应的存储介质中,能够保证数据获取的速率,提高异常检测的效率。
[0180]
进一步,本发明还提供一种异常检测装置,包括:
[0181]
第一确定模块,用于根据所述日志数据确定所述目标用户的行为数据;
[0182]
第二确定模块,用于根据所述事件配置数据确定异常检测类型;
[0183]
更新模块,用于将所述日志数据输入实时数据仓库,以得到根据所述日志数据更新后的与所述异常检测类型对应的异常检测基准数据;
[0184]
第三确定模块,用于根据所述目标用户的行为数据、更新后的与所述异常检测类型对应的异常检测基准数据,确定目标用户是否存在异常事件。
[0185]
本发明提供一种异常检测装置,通过获取目标用户在预设时间段内产生的日志数据以及事件配置数据,根据日志数据确定目标用户的行为数据,根据事件配置数据确定异常检测类型,将日志数据输入实时数据仓库中,以得到根据日志数据更新后的与异常检测类型对应的异常检测基准数据,根据目标用户的行为数据、更新后的与异常检测类型对应的异常检测基准数据,确定目标用户是否存在异常事件。本发明提供的异常检测方法,能够保证异常检测实时性和准确性,提高异常检测的速度,提升用户体验。
[0186]
进一步,所述第一确定模块还用于:
[0187]
将所述日志数据存储到消息队列中;
[0188]
在所述消息队列中,对所述日志数据进行消息分发,得到所述目标用户的行为数据。
[0189]
根据本发明提供的异常检测装置,通过将实时获取的日志数据存储到消息队列中,然后在该消息队列中对日志数据进行消息分发,得到该目标用户的行为数据,能够提高异常检测的实时性和准确性。
[0190]
进一步,所述更新模块还用于:
[0191]
将所述日志数据传输至实时数据仓库,以使得所述实时数据仓库根据所述日志数据以及所述目标用户的历史日志数据计算与所述异常检测类型对应的异常检测基准数据,得到更新后的与所述异常检测类型对应的异常检测基准数据;
[0192]
从所述实时数据仓库接收所述更新后的与所述异常检测类型对应的异常检测基准数据。
[0193]
根据本发明提供的异常检测装置,通过将目标用户的日志数据输入到实时数据仓库中,在实时数据仓库中根据目标用户最新的日志数据和历史日志数据计算出异常检测类型对应的异常检测基准数据,并从实时数据仓库中输出,用于后续的异常检测中,提高了异常检测的实时性,提升了用户体验。
[0194]
进一步,所述更新后的与所述异常检测类型对应的异常检测基准数据包括:更新后的与所述异常检测类型对应的目标用户行为基线数据、异常概率阈值;
[0195]
相应的,第三确定模块还用于:
[0196]
确定所述目标用户是否存在更新后的与所述异常检测类型对应的目标用户行为基线数据;
[0197]
在所述目标用户不存在更新后的与所述异常检测类型对应的目标用户行为基线数据的情况下,确定所述目标用户不存在异常访问事件。
[0198]
根据本发明提供的异常检测装置,通过判断目标用户是否存在目标用户行为基线数据,当确认存在目标用户行为基线数据时,直接确定目标用户不存在异常事件,提高了异常检测的实时性,提升了用户体验。
[0199]
进一步,第三确定模块还用于:
[0200]
在所述目标用户存在更新后的与所述异常检测类型对应的目标用户行为基线数据的情况下,根据所述目标用户的行为数据和更新后的与所述异常检测类型对应的异常检测基准数据,计算所述目标用户的异常概率数值;
[0201]
在所述异常概率数值小于或等于预设的异常概率阈值的情况下,确定所述目标用户存在与所述异常检测类型相关的异常事件;
[0202]
在所述异常概率数值大于预设的异常概率阈值的情况下,确定所述目标用户不存在与所述异常检测类型相关的异常事件。
[0203]
根据本发明提供的异常检测装置,在目标用户存在目标用户行为基线数据的情况下,通过将计算得到的异常概率数值和预设的异常概率阈值进行比较,确定出目标用户是否存在异常事件,能够准确检测出目标用户是否存在异常事件,提高异常检测的处理效率,提升了用户体验。
[0204]
进一步,更新模块还用于:
[0205]
将所述日志数据传输至实时数据仓库;
[0206]
在所述实时数据仓库中,基于目标用户的历史日志数据以及所接收到的所述日志数据,计算在多个维度下的目标用户的行为基线数据;
[0207]
根据所述多个维度下的目标用户的行为基线数据,确定与所述异常检测类型对应的目标用户行为基线数据,得到更新后的与所述异常检测类型对应的目标用户行为基线数据。
[0208]
根据本发明提供的异常检测装置,将日志数据传输至实时数据仓库中,基于目标用户的历史日志数据以及所接收到的日志数据,计算在多个维度下的目标用户的行为基线数据,根据多个维度下的目标用户的行为基线数据,确定与异常检测类型对应的目标用户行为基线数据,并得到更新后的与异常检测类型对应的目标用户行为基线数据。能够准确确定出与异常检测类型对应的目标用户行为基线数据,保证异常检测的准确性。
[0209]
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
[0210]
图7为本发明实施例中提供的电子设备实体结构示意图,如图7所示,本发明提供一种电子设备,包括:处理器(processor)701、存储器(memory)702和总线703;
[0211]
其中,处理器701、存储器702通过总线703完成相互间的通信;
[0212]
处理器701用于调用存储器702中的程序指令,以执行上述各方法实施例中所提供的实时数据仓库构建方法,例如包括:预先获取目标用户的数据信息;对所述目标用户的数据信息进行分层处理,将分层处理结果存储到对应的存储介质。
[0213]
又例如包括异常检测方法:获取目标用户在预设时间段内产生的日志数据以及事件配置数据;根据所述日志数据确定所述目标用户的行为数据;根据所述事件配置数据确定异常检测类型;将所述日志数据输入实时数据仓库,以得到根据所述日志数据更新后的与所述异常检测类型对应的异常检测基准数据;根据所述目标用户的行为数据、更新后的与所述异常检测类型对应的异常检测基准数据,确定目标用户是否存在异常事件。
[0214]
本发明实施例中提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使所述计算机执行上述各方法实施例中所提供的实时数据仓库构建方法,例如包括:预先获取目标用户的数据信息;对所述目标用户的数据信息进行
分层处理,将分层处理结果存储到对应的存储介质。
[0215]
又例如包括异常检测方法:获取目标用户在预设时间段内产生的日志数据以及事件配置数据;根据所述日志数据确定所述目标用户的行为数据;根据所述事件配置数据确定异常检测类型;将所述日志数据输入实时数据仓库,以得到根据所述日志数据更新后的与所述异常检测类型对应的异常检测基准数据;根据所述目标用户的行为数据、更新后的与所述异常检测类型对应的异常检测基准数据,确定目标用户是否存在异常事件。
[0216]
本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各实施例所提供的实时数据仓库构建方法,该方法包括:预先获取目标用户的数据信息;对所述目标用户的数据信息进行分层处理,将分层处理结果存储到对应的存储介质。
[0217]
又例如包括异常检测方法:获取目标用户在预设时间段内产生的日志数据以及事件配置数据;根据所述日志数据确定所述目标用户的行为数据;根据所述事件配置数据确定异常检测类型;将所日志数据输入实时数据仓库,以得到根据所述日志数据更新后的与所述异常检测类型对应的异常检测基准数据;根据所述目标用户的行为数据、更新后的与所述异常检测类型对应的异常检测基准数据,确定目标用户是否存在异常事件。
[0218]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0219]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例中所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献