基于非均匀采样的流式异常检测方法、装置、设备及介质
文献发布时间:2023-06-19 13:29:16
技术领域
本发明涉及智能决策技术领域,尤其涉及一种基于非均匀采样的流式异常检测方法、装置、设备及介质。
背景技术
大型企业中随着实时数据源的大量增加,对应的流式时序数据海量增长,运维人员通常需要以流失的方式获取这些时序数据并判断其是否存在异常。采用人工方式对获取到的海量时序数据进行异常判断需要消耗大量人力,且判断时效性较差,对于海量时序数据无法及时判断得到是否存在异常。现有技术方法中可通过异常检测模型对海量时序数量进行异常检测,但现有技术方法中每一数据在模型中均具有相同权重,导致模型对于数据偏移的敏感度不高,无法实现对异常进行精准检测。因此,现有技术方法中的异常检测方法存在无法精确进行异常检测的问题。
发明内容
本发明实施例提供了一种基于非均匀采样的流式异常检测方法、装置、设备及介质,旨在解决现有技术中异常检测方法所存在的无法精确进行异常检测的问题。
第一方面,本发明实施例提供了一种基于非均匀采样的流式异常检测方法,所述方法包括:
若接收到所输入的模型生成规则,根据预存的历史采样数据库生成与所述模型生成规则对应的异常检测模型;
从所输入的实时检测流式数据中获取与当前时间对应的目标检测数据;
根据所述异常检测模型对所述目标检测数据进行异常检测以获取是否存在异常的检测结果;
从所述异常检测模型中随机获取一颗决策树并确定为目标决策树;
根据预置的非均匀采样规则判断所述目标检测数据是否可用于对所述目标决策树进行采样更新;
若所述目标检测数据可用于对所述目标决策树进行采样更新,根据所述目标检测数据的检测结果对所述目标决策树中的节点进行更新以得到更新后的异常检测模型,并返回执行所述从所输入的实时检测流式数据中获取与当前时间对应的目标检测数据的步骤。
第二方面,本发明实施例提供了一种基于非均匀采样的流式异常检测装置,其包括:
异常检测模型生成单元,用于若接收到所输入的模型生成规则,根据预存的历史采样数据库生成与所述模型生成规则对应的异常检测模型;
目标检测数据获取单元,用于从所输入的实时检测流式数据中获取与当前时间对应的目标检测数据;
检测结果获取单元,用于根据所述异常检测模型对所述目标检测数据进行异常检测以获取是否存在异常的检测结果;
目标决策树确定单元,用于从所述异常检测模型中随机获取一颗决策树并确定为目标决策树;
采样更新判断单元,用于根据预置的非均匀采样规则判断所述目标检测数据是否可用于对所述目标决策树进行采样更新;
模型更新单元,用于若所述目标检测数据可用于对所述目标决策树进行采样更新,根据所述目标检测数据的检测结果对所述目标决策树中的节点进行更新以得到更新后的异常检测模型,并返回执行所述从所输入的实时检测流式数据中获取与当前时间对应的目标检测数据的步骤。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于非均匀采样的流式异常检测方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于非均匀采样的流式异常检测方法。
本发明实施例提供了一种基于非均匀采样的流式异常检测方法、装置、设备及介质。根据历史采样数据库生成与模型生成规则对应的异常检测模型,并通过异常检测模型对实时检测流式数据中的目标检测数据进行检测得到检测结果,根据非均匀采样规则判断目标检测数据是否可用于对异常检测模型中目标决策树进行采样更新,若是则根据目标检测数据的检测结果对目标决策树中的节点进行更新得到更新后的异常检测模型。通过上述方法,可基于非均匀采样规则对异常检测模型进行动态采样更新,以不断优化异常检测模型中决策树的节点,从而提高异常检测模型对数据偏移的敏感度,可大幅提高对海量流式数据中异常数据进行检测的精确性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于非均匀采样的流式异常检测方法的流程示意图;
图2为本发明实施例提供的基于非均匀采样的流式异常检测方法的子流程示意图;
图3为本发明实施例提供的基于非均匀采样的流式异常检测方法的另一子流程示意图;
图4为本发明实施例提供的基于非均匀采样的流式异常检测方法的另一子流程示意图;
图5为本发明实施例提供的基于非均匀采样的流式异常检测方法的另一子流程示意图;
图6为本发明实施例提供的基于非均匀采样的流式异常检测方法的另一子流程示意图;
图7为本发明实施例提供的基于非均匀采样的流式异常检测方法的另一子流程示意图;
图8为本发明实施例提供的基于非均匀采样的流式异常检测装置的示意性框图;
图9为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的基于非均匀采样的流式异常检测方法的流程示意图;该基于非均匀采样的流式异常检测方法应用于终端设备或管理服务器中,该基于非均匀采样的流式异常检测方法通过安装于终端设备或管理服务器中的应用软件进行执行,终端设备即是用于执行基于非均匀采样的流式异常检测以实现对海量流式检测数据进行异常检测的终端设备,例如台式电脑、笔记本电脑、平板电脑、手机、智能手表、智能眼睛等,终端设备也可以是物联网终端;管理服务器即是用于执行基于非均匀采样的流式异常检测以实现对来自终端设备的海量流式检测数据进行异常检测的服务器端,如企业或政府部门内部所构建的服务器。如图1所示,该方法包括步骤S110~S160。
S110、若接收到所输入的模型生成规则,根据预存的历史采样数据库生成与所述模型生成规则对应的异常检测模型。
若接收到所输入的模型生成规则,根据预存的历史采样数据库生成与所述模型生成规则对应的异常检测模型。用户可输入模型生成规则至终端设备或管理服务器,模型生成规则即为用于生成异常检测模型的具体规则,终端设备或管理服务器中预先存储有历史采样数据库,则可根据预存的历史采样数据库生成与模型生成规则对应的异常检测模型,历史采样数据库中包含不同时刻所采集到的多条采样数据,采样数据中可包含一个变量或多个变量,则本实施例中的方法可适用于单变量流式数据或多变量流式数据的异常检测。
例如对于终端设备的性能进行异常检测,则历史采样数据库中每一条采样数据可包含CPU利用率、内存占用、显存占用、CPU温度、数据读取/写入速率(I/O速率)等多个变量(多个指标),则后续异常检测过程中则需要结合多个变量进行多指标综合异常检测。
在一实施例中,如图2所示,步骤S110包括子步骤S111、S112和S113。
S111、根据所述模型生成规则中的时间跨度从所述历史采样数据库中筛选出满足所述时间跨度的目标采样数据。
历史采样数据库中每一采样数据均对应包含一个时间戳,时间戳即为采样数据进行采样的具体时间信息,模型生成规则中包括时间跨度,可根据时间跨度及每一采样数据的时间戳,从历史采样数据库中筛选出满足时间跨度的目标采样数据,时间跨度中至少包含一个跨度值。
例如,时间跨度中包含的跨度值可以是1天、3天或7天(一周),某一时间跨度中包含3天这一跨度值,则可基于当前时间点从历史采样数据中获取时间戳位于3天之内的采样数据作为目标采样数据。
S112、根据所述模型生成规则的配置数量从所述目标采样数据中抽取对应的采样数据得到采样数据分区。
模型生成规则中还包括配置数量,其中配置数量包括决策树配置数量及节点配置数量,配置数量即为对所生成模型中所包含的单元结构进行配置的数量信息,本实施例中所生成的异常检测模型为基于随机森林算法的智能检测模型,则配置数量中的决策树配置数量可用于对异常检测模型中所包含的决策树的数量进行配置,节点配置数量可用于对每一决策树中所包含的节点的数量进行配置。可通过配置示例从目标采样数据中抽取得到采样数据分区,每一采样数据分区中包含多条采样数据,每一采样数据分区可用于构建一个决策树。
在一实施例中,如图3所示,步骤S112包括子步骤S1121和S1122。
S1121、从所述目标采样数据中抽取与所述节点配置数量相等的采样数据组合得到一个采样数据分区。
在具体实施过程中,可从目标采样数据中抽取与节点配置数量相等的采样数据进行组合,得到对应的一个采样数据分区。在具体实施过程中,可采用有放回的随机抽取方式获取采样数据分区,即从目标采样数据中随机抽取与节点配置数量相等的多条采样数据组合为一个采样数据分区,随后将抽取的多条采样数据放回后,再次重复从目标采样数据中抽取采样数据的过程。
在一实施例中,如图4所示,步骤S1121包括子步骤S1123、S1124、S1125和S1126。
在具体实施过程中,还可采用有放回的排序抽取方式获取采样数据分区。
S1123、随机生成与每一所述目标采样数据分别对应的随机系数。
每次获取采样数据分区的过程中,需要先随机生成与每一目标采样数据对应的随机系数,则每一目标采样数据分别对应一个随机系数,随机系数可采用ui进行表示,ui的取值范围为(0,1)。
S1124、根据所述评分值计算公式及所述随机系数分别计算得到每一所述目标采样数据对应的采样数据评分值。
可根据评分值计算公式及每一目标采样数据的随机系数,分别计算得到每一目标采样系数对应的采样数据评分值,则每一目标采样数据分别对应一个采样数据评分值,具体的,评分值计算公式可采用公式(1)进行表示。
其中,e为自然常数,α为公式中预设的参数值,Δt为目标采样数据的时间戳与当前时间之间的时间差。
S1125、根据所述采样数据评分值对所述目标采样数据进行排序得到数据排序结果;S1126、根据所述数据排序结果抽取排序靠前且与所述节点配置数量相等的采样数据组合得到一个所述采样数据分区。
根据每一目标采样数据的采样数据评分值对目标采样数据进行排序,采样数据评分值越大的目标采样数据排序越靠前,可根据数据排序结果抽取排序靠前且与节点配置数量相等的采样数据进行组合,得到对应的一个采样数据分区,则每一采样数据分区中所包含的采样数据的数量与节点配置数量相等。
重复步骤S1123至S1126,即可分别获取得到多个采样数据分区,由于每一次获取采样数据分区时目标采样数据对应的随机系数均随机生成,则每一次获取采样数据分区时同一目标采样数据的随机系数也存在变化,导致采样数据分区中包含的采样数据也存在差异。
S1122、重复对目标采样数据进行抽取直至获取到的所述采样数据分区的数量与所述决策树配置数量相等。
重复步骤S111以重复从目标采样数据中抽取采样数据分区,直到获取到与决策树配置数量相等的采样数据分区,也即是对步骤S111进行重复执行的次数与决策树配置数量相等。
S113、根据所述采样数据分区中每一采样数据的分类标签构建得到与每一采样数据分区对应的决策树,以生成包含所述决策树的异常检测模型。
采样数据分区中的每一采样数据还包含分类标签,分类标签即为对每一采样数据是否存在异常进行分类的标签信息,也即分类标签可以是正常或异常。可根据每一采样数据分区对应生成包含决策树的异常检测模型,则每一采样数据分区可对应生成一个决策树,采样数据分区中包含的采样数据即可对应生成决策树中的节点,则每一采样数据分区中采样数据的数量即与决策树中节点的数量相等,对于决策树中两个相邻节点的共有树杈可选择任意一个变量生成对应的二分类判断规则,最终形成由二叉树结构组成的决策树,则所生成的节点即为决策树末端的叶子节点。
S120、从所输入的实时检测流式数据中获取与当前时间对应的目标检测数据。
从所输入的实时检测流式数据中获取与当前时间对应的目标检测数据。实时检测流式数据可以是终端设备对设备状态进行实时检测所得到的流式数据,也可以是管理服务器所接收的来自终端设备对自身设备状态进行实时检测所得到的流式数据,流式数据中可对应包含一个或多个变量分别对应的数据值,可获取多个变量与当前时间分别对应的数据值作为目标检测数据,也即是目标检测数据中包含相应变量在当前时间对应的数据值。
例如,某一目标检测数据中包含的具体信息如表1所示。
表1
S130、根据所述异常检测模型对所述目标检测数据进行异常检测以获取是否存在异常的检测结果。
根据所述异常检测模型对所述目标检测数据进行异常检测以获取是否存在异常的检测结果。将目标检测数据输入所构建的异常检测模型,即可对目标检测数据使用随机森林裁切算法进行异常检测,以得到是否存在异常的检测结果。
在一实施例中,如图5所示,步骤S130包括子步骤S131、S132和S133。
S131、将所述目标检测数据的数据值作为待检测节点插入所述异常检测模型的每一决策树中。
将目标检测数据的数据值作为待检测节点插入异常检测模型的每一决策树中,插入待检测节点后,可基于待检测节点的数据值及相邻节点生成共有树杈及对应的二分类规则,则插入待检测节点后会在决策树中增加一个树杈结构,则待检测节点插入前后,决策树上沿对应的条件分支至叶子节点的路径长度也存在变化。
S132、计算插入所述待检测节点后所述异常检测模型的异常得分。
可计算一次检测模型中每一决策树在插入待检测节点后的异常得分值,基于每一决策树的异常得分值计算平均值作为异常检测模型的异常得分。其中,异常得分值可以是决策树的Codisp值,在插入待检测节点后决策树的Codisp值的含义即为将待检测节点插入决策树后,导致决策树的单元结构发生改变的程度。Codisp值的具体计算可表示为Codisp(x,T),Codisp(x,T)即表示节点x在决策树T中的异常得分值,该异常得分值即为节点x插入决策树T后导致模型改变的程度,计算节点x在决策树T中的具体步骤包括:1.遍历node<-x节点的所有祖先;2.如果节点x在node的左子树,记该节点的disp值为node右子树节点数/左子树节点数;3.如果节点x在node的右子树,记该节点的disp值为node左子树节点数/右子树节点数;4.求以上所有disp值的最大值,作为节点x在决策树T中的Codisp值。
S133、判断所述异常得分是否不大于预置的得分阈值,以获取是否存在异常的检测结果。
判断异常检测模型的异常得分是否不大于预置的得分预置进行判断,若异常得分不大于得分阈值,则表明待检测节点插入至每一决策树后对异常检测模型中决策树的单元结构发生改变的程度较小,目标检测数据的异常检测结果为不存在异常;若异常得分大于得分阈值,则表明待检测节点插入每一决策树后对异常检测模型中决策树的单元结构发生改变的程度较大,目标检测数据的异常检测结果为存在异常。检测结果即可作为目标检测数据的分类标签。
S140、从所述异常检测模型中随机获取一颗决策树并确定为目标决策树。
从所述异常检测模型中随机获取一颗决策树并确定为目标决策树。对流式数据进行异常检测的同时,还可对异常检测模型进行采样更新,也即是对异常检测模型的结构单元进行更新,每一次采样更新仅针对异常检测模型中一个决策树进行操作,则需要从异常检测模型中获取一颗决策树并确定为目标决策树,可采用随机获取方式确定目标决策树。
S150、根据预置的非均匀采样规则判断所述目标检测数据是否可用于对所述目标决策树进行采样更新。
根据预置的非均匀采样规则判断所述目标检测数据是否可用于对所述目标决策树进行采样更新,每一次获取目标检测数据的检测结果后,可根据非均匀采样规则判断目标检测数据是否可用于对目标决策树进行采样更新。其中,所述非均匀采样规则包括评分值计算公式。
在一实施例中,如图6所示,步骤S150包括子步骤S151、S152、S153和S154。
S151、随机生成与所述目标检测数据对应的随机系数。
可随机生成与目标检测数据对应的随机系数,随机系数的取值范围为(0,1)。
S152、根据所述评分值计算公式及所述随机系数计算得到与所述目标检测数据对应的检测数据评分值。
根据评分值计算公式及目标检测数据的随机系数计算得到对应的检测数据评分值,计算公式中Δt为目标检测数据的时间戳与当前时间之间的时间差。
S153、根据所述评分值计算公式及所述目标决策树中每一节点的随机系数计算得到对应的节点评分值。
在上述生成异常检测模型的过程中,已分别获取到决策树中与每一节点对应的目标采样数据的随机系数,则可根据评分值计算公式及目标决策树中每一节点的随机系数计算对应的节点评分值,节点评分值的计算过程与获取采样数据评分值的计算过程相同,计算公式中Δt为节点对应的目标采样数据的时间戳与当前时间之间的时间差。
S154、判断所述检测数据评分值是否大于所述目标决策树中节点评分值最小的一个节点,以判定所述目标检测数据是否可用于对所述目标决策树进行采样更新。
根据节点评分值对目标决策树中的节点进行排序,得到一个节点堆,节点堆中堆顶节点的节点评分值最小,堆底节点的节点评分值最大,判断检测数据评分值是否大于节点评分值最小的一个节点,也即是判断检测数据评分值是否大于堆顶的一个节点的节点评分值,从而判定目标检测数据是否可用于对目标决策树进行采样更新。若检测数据评分值大于堆顶的一个节点的节点评分值,则判定目标检测数据可用于对目标决策树进行采样更新;否则判定目标检测数据不可用于对目标决策树进行采样更新。
S160、若所述目标检测数据可用于对所述目标决策树进行采样更新,根据所述目标检测数据的检测结果对所述目标决策树中的节点进行更新以得到更新后的异常检测模型,并返回执行所述从所输入的实时检测流式数据中获取与当前时间对应的目标检测数据的步骤。
若目标检测数据可用于对目标决策树进行采样更新,则可根据目标检测数据的检测结果对目标决策树中包含的节点进行更新,从而得到更新后的异常检测模型,基于更新后的异常检测模型可再次从实时检测流式数据中获取目标检测数据并进行异常检测,也即是返回执行步骤S120。
若目标检测数据不可用于对目标决策树进行采样更新,则不对目标决策树中的节点进行更新,直接返回执行步骤S120。
在一实施例中,如图7所示,步骤S160包括子步骤S161、S162和S163。
S161、将所述目标决策树中节点评分值最小的一个节点进行删除。
根据所计算得到的节点评分值,将节点评分值最小的一个节点从目标决策树中删除。
S162、根据所述检测结果生成与所述目标检测数据对应的新增节点并添加至所述目标决策树中;
根据检测结果生成与目标检测数据对应的新增节点,并将新增节点添加至目标决策树中,则新增节点可与删除节点相邻的另一节点进行组合,并选择任意一个变量生成对应的二分类规则以对新增节点与另一节点的共有树杈进行更新,对共有树杈进行更新后即可完成将新增节点添加至目标决策树中,此时目标决策树也即完成了结构单元的更新。
S163、根据所述目标决策树中每一节点的节点评分值进行节点排序得到节点排序结果。
在完成对目标决策树的结构单元进行更新后,还可根据更新后的目标结构单元所包含节点的节点评分值进行节点排序,进行节点排序也即是对节点堆进行更新,对节点堆进行更新后节点堆中堆顶节点的节点评分值最小,堆底节点的节点评分值最大,节点堆中节点的排序也即为所得到的节点排序结果。
在本发明实施例所提供的基于非均匀采样的流式异常检测方法中,根据历史采样数据库生成与模型生成规则对应的异常检测模型,并通过异常检测模型对实时检测流式数据中的目标检测数据进行检测得到检测结果,根据非均匀采样规则判断目标检测数据是否可用于对异常检测模型中目标决策树进行采样更新,若是则根据目标检测数据的检测结果对目标决策树中的节点进行更新得到更新后的异常检测模型。通过上述方法,可基于非均匀采样规则对异常检测模型进行动态采样更新,以不断优化异常检测模型中决策树的节点,从而提高异常检测模型对数据偏移的敏感度,可大幅提高对海量流式数据中异常数据进行检测的精确性。
本发明实施例还提供一种基于非均匀采样的流式异常检测装置,该基于非均匀采样的流式异常检测装置可配置于终端设备或管理服务器中,该基于非均匀采样的流式异常检测装置用于执行前述的基于非均匀采样的流式异常检测方法的任一实施例。具体地,请参阅图8,图8为本发明实施例提供的基于非均匀采样的流式异常检测装置的示意性框图。
如图8所示,基于非均匀采样的流式异常检测装置100包括异常检测模型生成单元110、目标检测数据获取单元120、检测结果获取单元130、目标决策树确定单元140、采样更新判断单元150和模型更新单元160。
异常检测模型生成单元110,用于若接收到所输入的模型生成规则,根据预存的历史采样数据库生成与所述模型生成规则对应的异常检测模型。
在一具体实施例中,所述异常检测模型生成单元110包括子单元:目标采样数据获取单元,用于根据所述模型生成规则中的时间跨度从所述历史采样数据库中筛选出满足所述时间跨度的目标采样数据;采样数据分区获取单元,用于根据所述模型生成规则的配置数量从所述目标采样数据中抽取对应的采样数据得到采样数据分区;决策树构建单元,用于根据所述采样数据分区中每一采样数据的分类标签构建得到与每一采样数据分区对应的决策树,以生成包含所述决策树的异常检测模型。
在一具体实施例中,所述采样数据分区获取单元包括子单元:采样数据抽取单元,用于从所述目标采样数据中抽取与所述节点配置数量相等的采样数据组合得到一个采样数据分区;重复抽取单元,用于重复对目标采样数据进行抽取直至获取到的所述采样数据分区的数量与所述决策树配置数量相等。
在一具体实施例中,所述采样数据抽取单元包括子单元:随机系数生成单元,用于随机生成与每一所述目标采样数据分别对应的随机系数;采样数据评分值获取单元,用于根据所述评分值计算公式及所述随机系数分别计算得到每一所述目标采样数据对应的采样数据评分值;数据排序结果获取单元,用于根据所述采样数据评分值对所述目标采样数据进行排序得到数据排序结果;数据抽取单元,用于根据所述数据排序结果抽取排序靠前且与所述节点配置数量相等的采样数据组合得到一个所述采样数据分区。
目标检测数据获取单元120,用于从所输入的实时检测流式数据中获取与当前时间对应的目标检测数据。
检测结果获取单元130,用于根据所述异常检测模型对所述目标检测数据进行异常检测以获取是否存在异常的检测结果。
在一具体实施例中,所述检测结果获取单元130包括子单元:待检测节点插入单元,用于将所述目标检测数据的数据值作为待检测节点插入所述异常检测模型的每一决策树中;异常得分计算单元,用于计算插入所述待检测节点后所述异常检测模型的异常得分;异常得分判断单元,用于判断所述异常得分是否不大于预置的得分阈值,以获取是否存在异常的检测结果。
目标决策树确定单元140,用于从所述异常检测模型中随机获取一颗决策树并确定为目标决策树。
采样更新判断单元150,用于根据预置的非均匀采样规则判断所述目标检测数据是否可用于对所述目标决策树进行采样更新。
在一具体实施例中,所述采样更新判断单元150包括子单元:系数生成单元,用于随机生成与所述目标检测数据对应的随机系数;检测数据评分值获取单元,用于根据所述评分值计算公式及所述随机系数计算得到与所述目标检测数据对应的检测数据评分值;节点评分值获取单元,用于根据所述评分值计算公式及所述目标决策树中每一节点的随机系数计算得到对应的节点评分值;评分值判断单元,用于判断所述检测数据评分值是否大于所述目标决策树中节点评分值最小的一个节点,以判定所述目标检测数据是否可用于对所述目标决策树进行采样更新。
模型更新单元160,用于若所述目标检测数据可用于对所述目标决策树进行采样更新,根据所述目标检测数据的检测结果对所述目标决策树中的节点进行更新以得到更新后的异常检测模型,并返回执行所述从所输入的实时检测流式数据中获取与当前时间对应的目标检测数据的步骤。
在一具体实施例中,所述模型更新单元160包括子单元:节点删除单元,用于将所述目标决策树中节点评分值最小的一个节点进行删除;新增节点添加单元,用于根据所述检测结果生成与所述目标检测数据对应的新增节点并添加至所述目标决策树中;节点排序结果获取单元,用于根据所述目标决策树中每一节点的节点评分值进行节点排序得到节点排序结果。
在本发明实施例所提供的基于非均匀采样的流式异常检测装置应用上述基于非均匀采样的流式异常检测方法,根据历史采样数据库生成与模型生成规则对应的异常检测模型,并通过异常检测模型对实时检测流式数据中的目标检测数据进行检测得到检测结果,根据非均匀采样规则判断目标检测数据是否可用于对异常检测模型中目标决策树进行采样更新,若是则根据目标检测数据的检测结果对目标决策树中的节点进行更新得到更新后的异常检测模型。通过上述方法,可基于非均匀采样规则对异常检测模型进行动态采样更新,以不断优化异常检测模型中决策树的节点,从而提高异常检测模型对数据偏移的敏感度,可大幅提高对海量流式数据中异常数据进行检测的精确性。
上述基于非均匀采样的流式异常检测装置可以实现为计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本发明实施例提供的计算机设备的示意性框图。该计算机设备可以是用于执行基于非均匀采样的流式异常检测方法以实现对海量流式检测数据进行异常检测的终端设备或管理服务器。
参阅图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
该存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于非均匀采样的流式异常检测方法,其中,存储介质503可以为易失性的存储介质或非易失性的存储介质。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于非均匀采样的流式异常检测方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现上述的基于非均匀采样的流式异常检测方法中对应的功能。
本领域技术人员可以理解,图9中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为易失性或非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现上述的基于非均匀采样的流式异常检测方法中所包含的步骤。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
- 基于非均匀采样的流式异常检测方法、装置、设备及介质
- 基于流式处理的监控指标异常检测方法、装置及设备