一种确定异常数据的方法及装置与流程

文档序号:24528387发布日期:2021-04-02 10:06阅读:59来源:国知局
一种确定异常数据的方法及装置与流程

本说明书涉及互联网领域,尤其涉及一种确定异常数据的方法及装置。



背景技术:

随着互联网技术的发展与广泛应用,各种基于互联网的平台与系统也愈加丰富,如游戏系统、金融系统等。这些系统的运行会产生大量的数据,通过对异常数据的确定可以检测异常数据对应的任务中是否存在异常,以及时发现问题并解决问题。

目前,在确定异常数据时,通常是分阶段对数据进行处理。在现有技术中,在收集到待识别的数据后,首先要对数据进行清洗,然后对数据的时序曲线进行分类,将时序曲线的类型分为周期性强和周期性弱两种。在得到分类结果后,再针对不同的时序曲线分类结果,通过不同的算法来确定数据是否异常。但现有技术中确定异常数据的方法得到的结果不够精细准确,且效率低,确定出的结果反馈较慢,导致无法及时发现异常数据,更无法及时采取措施来解决异常数据对应任务的问题。



技术实现要素:

本说明书提供一种确定异常数据的方法及装置,以部分的解决现有技术存在的上述问题。

本说明书采用下述技术方案:

本说明书提供了一种确定异常数据的方法,具体包括:

将获取到的数据进行清洗,得到各待识别数据;

针对每条待识别数据,确定该待识别数据与当前时间窗口上其它数据间的距离;

根据预设的数量,以及确定出的该待识别数据与当前时间窗口上其它数据间的距离,确定该待识别数据的邻域,并确定所述邻域中各数据为相邻数据;

确定所述相邻数据与该待识别数据在当前时间窗口上的时间差,根据所述时间差,确定时间因子,其中,所述时间差与所述时间因子负相关;

根据该待识别数据与所述相邻数据的距离确定第一距离,以及根据所述相邻数据与所述相邻数据的邻域中各数据的距离确定第二距离;

根据所述第一距离以及所述第二距离确定密度因子;

根据所述时间因子以及所述密度因子,通过实时计算框架确定该待识别数据的异常度,并根据该待识别数据的异常度,确定该待识别数据是否为异常数据。

可选地,确定该待识别数据与当前时间窗口上其它数据间的距离,具体包括:

确定该待识别数据在预设的各特征维度上的信息熵;

根据确定出的该待识别数据在各特征维度上的信息熵差量,确定该待识别数据与当前时间窗口上其它数据间的距离。

可选地,确定该待识别数据在各特征维度上的信息熵差量,具体包括:

针对每个特征维度,根据该待识别数据在该特征维度上的特征值,确定该待识别数据在该特征维度对应的信息熵;

根据除去该特征维度的其他特征维度分别对应的信息熵,确定该特征维度对应的余维信息熵;

根据该待识别数据的总信息熵与所述余维信息熵的差值,确定该待识别数据在该特征维度上的信息熵差量;

其中,所述总信息熵根据该待识别数据在各特征维度分别对应的信息熵确定。

可选地,根据该待识别数据与所述相邻数据的距离确定第一距离,具体包括:

根据该待识别数据在各特征维度上的信息熵差量,分别确定该待识别数据在各特征维度上对应的权重;

针对该待识别数据的每个相邻数据,根据该待识别数据在各特征维度上对应的权重,以及该待识别数据与该相邻数据在各特征维度上的特征值,确定该待识别数据与该相邻数据的加权距离;

根据该待识别数据与各相邻数据间的加权距离,确定第一距离。

可选地,根据所述时间因子以及所述密度因子,通过实时计算框架确定该待识别数据的异常度,具体包括:

根据所述时间因子以及所述密度因子,确定所述待识别数据的异常值;

确定所述异常值落入的预设的异常度范围,并根据所述异常值落入的预设的异常度范围,确定所述待识别数据的异常度。

可选地,确定该待识别数据的异常度之前,所述方法还包括:

根据该待识别数据在上一时间窗口中的异常度,判断该待识别数据是否正常;

若是,则将该待识别数据在上一时间窗口中的异常度,作为该待识别数据在当前时间窗口的异常度;

若否,则重新确定该待识别数据在当前时间窗口的异常度。

可选地,确定该待识别数据的异常度之前,所述方法还包括:

判断该待识别数据是否包含在上一时间窗口中;

若是,则无需更新该待识别数据的异常度;

若否,则确定该待识别数据的异常度。

本说明书提供了一种确定异常数据的装置,所述装置具体包括:

待识别数据获取模块,用于将获取到的数据进行清洗,得到各待识别数据;

数据距离确定模块,用于针对每条待识别数据,确定该待识别数据与时间窗口上其它数据间的距离;

邻域确定模块,用于根据预设的数量,以及确定出的该待识别数据与时间窗口上其它数据间的距离,确定该待识别数据的邻域,并确定所述邻域中各数据为相邻数据;

时间因子确定模块,用于确定所述相邻数据与该待识别数据在时间窗口上的时间差,根据所述时间差,确定时间因子,其中,所述时间差与所述时间因子负相关;

邻域距离确定模块,用于根据该待识别数据与所述相邻数据的距离确定第一距离,以及根据所述相邻数据与所述相邻数据的邻域中各数据的距离确定第二距离;

密度因子确定模块,用于根据所述第一距离以及所述第二距离确定密度因子;

异常数据确定模块,用于根据所述时间因子以及所述密度因子,通过实时计算框架确定该待识别数据的异常度,并根据该待识别数据的异常度,确定该待识别数据是否为异常数据。

本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述确定异常数据的方法。

本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述确定异常数据的方法。

本说明书采用的上述至少一个技术方案能够达到以下有益效果:

在本说明书提供的确定异常数据的方法中,将数据进行清洗,得到待识别数据,并确定待识别数据与当前时间窗口上其它数据间的距离。根据预设数量和确定出的距离,确定待识别数据的邻域,并确定相邻数据。之后根据相邻数据与该待识别数据的时间差,确定时间因子,根据待识别数据与相邻数据的距离确定第一距离,根据相邻数据与自身邻域中各数据的距离确定第二距离。然后根据第一距离以及第二距离确定密度因子,并根据时间因子以及密度因子,确定待识别数据的异常度,以确定异常数据。

从上述方法中可以看出,本方法可根据时间窗口上的各数据的时间差,以及待识别数据所处邻域中的其他数据,确定出时间因子和密度因子,并根据得到的时间因子和密度因子来实时计算待识别数据的异常度,以得到一个精细准确的结果,及时发现异常数据对应任务存在的问题。

附图说明

此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:

图1为本说明书中一种确定异常数据的方法的流程示意图;

图2为本说明书提供的一种待识别数据的相邻数据的示意图;

图3为本说明书提供的一种待识别数据与其邻域的示意图;

图4为本说明书提供的一种时间窗口的示意图;

图5为本说明书提供的一种确定异常数据的装置示意图;

图6为本说明书提供的对应于图1的电子设备的结构示意图。

具体实施方式

为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。

以下结合附图,详细说明本说明书各实施例提供的技术方案。

目前,在确定异常数据时,通常需要确定各数据的时序曲线的波动值,并对各个时序曲线的波动值进行聚类,以得到多个初始分类,然后再从初始分类中,根据时序曲线的波动值的大小,最终将时序曲线分为突增突降且周期性不强的曲线以及波动平缓且具有强周期性的曲线两类。在现有技术中,两种时序曲线的类别分别对应两种确定异常数据的算法,在得到两种不同的分类结果后,需要针对不同的时序曲线分类结果,再通过不同的预测算法来确定时序曲线对应数据的预测数据,最后对时序曲线在各时刻对应的数据的真实值与各时刻对应的预测数据的值取差值,并将差值大于阈值的数据确定为异常数据。

现有技术虽然可以确定出数据的异常度,但现有技术采用的方法需要先进行分类,再采用不同的算法去判断数据是否异常,对异常数据的判断效率低。

为了解决现有技术中存在的对异常数据的判断效率低,无法及时发现异常数据的情况,本申请提供了一种确定异常数据的方法。

图1为本说明书中一种确定异常数据的方法的流程示意图,具体包括以下步骤:

s100:将获取到的数据进行清洗,得到各待识别数据。

在本说明书中,该确定异常数据的方法可用于对时序数据的异常度进行确定。时序数据即时间序列数据,是按时间顺序记录的数据列。系统在执行各种任务的过程中会产生大量的时序数据,通过对各时刻数据进行异常度确定可以检测数据对应的任务中是否存在异常。但系统在各时刻产生的数据中还存在不符合要求的数据,如不完整的数据、错误的数据、重复的数据等,这类数据由于本身存在错误,通常无法用于数据处理,因此一般不需要进行异常度确定。所以在获取到各时刻产生的数据后,可先对数据进行清洗,过滤掉不符合要求的数据。将获取到的数据进行清洗过滤后,得到的数据为需要确定异常度的数据,即待识别数据。

在本说明书一个或多个实施例中,对获取到的数据进行清洗的方法可以是采用数据仓库技术(extract-transform-load,etl)。在采用etl清洗数据的过程中,可对重复和错误的数据进行删除操作,对于不完整的数据,可以将其删除,也可以添加其缺失值使其完整。

在本说明书一个或多个实施例中,该确定异常数据的方法具体可由数据仓库的服务器执行,用于确定数据仓库中存储的数据的是否存在异常。或者也可由产生数据的系统的服务器执行,以通过识别数据的异常,确定出现异常的业务。或者也可由第三方服务器执行该确定异常数据的方法,本说明书不做限制。当然,为了方便描述,后续统一以服务器执行该确定异常数据的方法进行说明。

s102:针对每条待识别数据,确定该待识别数据与当前时间窗口上其它数据间的距离。

在本说明书一个或多个实施例中,服务器在确定出各待识别数据后,可以针对每条待识别数据,确定该待识别数据与当前时间窗口上其它数据间的距离。其中,当前时间窗口的确定,可以是在对获取到的数据进行清洗并得到各待识别数据之后,再确定当前时间窗口,确定落入当前时间窗口内的各待识别数据。或者,也可以从获取的数据中先确定落入当前时间窗口内的数据,然后再对落入当前时间窗口内的数据进行数据清洗,得到各待识别数据。其中,在确定时间窗口时,时间窗口的长度具体可根据需要设置,例如,1个月,1周等等,本说明书不做限制。

具体的,该服务器可根据预设的各特征维度,根据各待识别数据在各特征维度上的特征值,分别确定各待识别数据的特征向量。然后,针对每条待识别数据,根据该待识别数据的特征向量,以及其他待识别数据的特征向量,确定该待识别数据与其他待识别数据的距离。也就是,对各待识别数据中的任意两个待识别数据,可确定这两个待识别数据之间的距离。

进一步地,由于不同特征维度的数据,对于区分待识别数据是否异常的作用是不完全一致的,例如,假设对于大型家电类商品,家庭用户购入的数量通常为一台,则商品数量这个维度的特征值,对于分辨数据是否异常有着较为重要的作用,而由于市面上存在多种不同大小的同类商品,如不同尺寸的电视机,因此家电的尺寸这个维度的特征值,对于分辨数据是否异常相对前一个特征维度作用就较低。

于是,在本说明书中,由于确定各待识别数据之间的距离,最终目的是为了确定待识别数据的异常度,因此在确定各待识别数据之间的距离时,也可考虑不同特征维度的特征值的贡献度对数据间距离的影响,即,确定加权距离,使根据加权距离确定出的异常度更加准确。

具体的,对于各待识别数据,该服务器可以针对该待识别数据的每个特征维度,确定该待识别数据在该特征维度上的特征值,并确定该待识别数据在该特征维度对应的信息熵。然后根据除去该特征维度的其他特征维度分别对应的信息熵,确定该特征维度对应的余维信息熵,并根据该待识别数据的总信息熵与余维信息熵的差值,确定该待识别数据在该特征维度上的信息熵差量。然后,可以根据确定出的该待识别数据在各特征维度上的信息熵差量,确定该待识别数据与当前时间窗口上其它数据间的距离。其中,该总信息熵是由该待识别数据在各特征维度分别对应的信息熵求和确定的。该待识别数据与当前时间窗口上其它数据间的距离可以为余弦距离,具体可根据需要设置,本说明书在此不做限制。

确定总信息熵的公式具体为:

其中,s为该待识别数据包括的特征维度的个数,xi表示该待识别数据第i个特征维度的特征值,p(xi)为xi的概率函数。

进一步地,在确定出该待识别数据的总信息熵后,该服务器还可针对该待识别数据的每个特征维度,去除该待识别数据中的该特征维度的数据,然后再求去除该特征维度后,该待识别数据余下的各特征维度的信息熵,即,该特征维度对应的余维信息熵。将总信息熵与该特征维度对应的余维信息熵取差值,得到该待识别数据在该特征维度上的信息熵差量,该信息熵差量表征了该特征维度的特征值对于总信息熵的影响程度(或称为贡献度)。其中,信息熵差量越大则表征该特征维度的特征值对总信息熵的影响程度越大,反之亦然。

在确定出该待识别数据在各特征维度上的信息熵差量后,还可对各信息熵差量进行归一化处理,将归一化后的数值作为该待识别数据在各特征维度上对应的权重。

于是,在本说明书一个或多个实施例中,在确定该待识别数据与各其它数据间的距离时,还可根据该待识别数据在各特征维度上对应的权重,确定该待识别数据与其他数据的加权距离。

具体的,在确定该待识别数据与各其他数据的加权距离时,该服务器可以分别确定该待识别数据在各特征维度上对应的权重,然后针对该待识别数据的每个其他数据,根据该待识别数据在各特征维度上对应的权重,以及该待识别数据与该其他数据在各特征维度上的特征值,确定该待识别数据与该其他数据的加权距离。

确定该待识别数据与其他数据的加权距离的公式具体为:

其中,s为该待识别数据包括的特征维度的个数,x表示待识别数据,y表示当前时间窗口上的其他数据,xi为待识别数据在第i个特征维度上的特征值,yi为该其他数据的第i个特征维度上的特征值,ωi为该待识别数据的第i个特征维度对应的权重,并且,0≤ωi≤1。

s104:根据预设的数量,以及确定出的该待识别数据与当前时间窗口上其它数据间的距离,确定该待识别数据的邻域,并确定所述邻域中各数据为相邻数据。

在确定出该待识别数据与当前时间窗口上其它数据间的距离后,该服务器可根据确定出的各距离,以及预设的数量,确定该待识别数据的邻域,并确定邻域中各数据为相邻数据。其中,预设的数量是指在该待识别数据的邻域中包含的数据的个数,即相邻数据的个数。

在本说明书一个或多个实施例中,该待识别数据的邻域可以为k邻域。则k表示该待识别数据的邻域中包含的数据的个数。例如,假设k是5,即预设的数量为5,则在确定该待识别数据的邻域时,可将确定出该待识别数据与当前时间窗口上其它数据间的距离,按照从小到大排序,将其中前5个数据作为该待识别数据的相邻数据。

s106:确定所述相邻数据与该待识别数据在当前时间窗口上的时间差,根据所述时间差,确定时间因子。

在本说明书一个或多个实施例中,在确定出该待识别数据的邻域中的相邻数据后,该服务器可以确定各相邻数据与该待识别数据在当前时间窗口上的时间差,并根据确定出的时间差,确定各相邻数据对应的时间因子。其中,时间差与时间因子负相关。

由于在确定待识别数据的异常度时,该待识别数据邻域中的各相邻数据对应不同时刻,在时间窗口上,与该待识别数据对应的时刻越近的相邻数据对该待识别数据的异常度影响越大。所以,该服务器可以根据各相邻数据与该待识别数据在当前时间窗口上的时间差,确定时间因子,来表示在确定该待识别数据的异常度时,各相邻数据在时间上对应的权重。

图2为本说明书提供的一种待识别数据的相邻数据的示意图。如图,x表示待识别数据,其对应时刻为t4,a、b、c、d、e为该待识别数据x的邻域中的5个相邻数据,分别对应t1、t2、t3、t5、t6,5个时刻。由图中可见,在时间轴上,相邻数据c所处的t3时刻和相邻数据d所处的t5时刻在时间上与该待识别数据x所处的t4时刻较近,所以,相较于数据a、b、e,数据c和数据d对该待识别数据x的异常度影响更大。类似的,相比于数据a所处的t1时刻,由于数据b所处的t2时刻与该待识别数据x所处的t4时刻更近,所以数据b对该待识别数据x异常度影响比数据a更大。

确定时间因子的公式具体为:

其中,e为自然常数,|t1-t2|表示该待识别数据与其邻域中一个数据的时间差,λ为常量,具体可根据需要设置,本说明书在此不做限制。

s108:根据该待识别数据与所述相邻数据的距离确定第一距离,以及根据所述相邻数据与所述相邻数据的邻域中各数据的距离确定第二距离。

在确定出该待识别数据与其邻域内各相邻数据的加权距离之后,该服务器可以根据确定出的该待识别数据与各相邻数据的加权距离,确定第一距离。

在本说明书一个或多个实施例中,该第一距离可以是对该待识别数据与各相邻数据的加权距离求平均值后得到的平均距离,或者,也可以是该待识别数据与各相邻数据的加权距离的中位数,等等,具体可根据需要设置,本说明书在此不做限制。

在本说明书一个或多个实施例中,可在确定出该待识别数据的相邻数据后,该服务器还可通过步骤s102~s104相同的过程,针对每一个相邻数据,确定该相邻数据与其他数据的加权距离,以及确定该相邻数据的邻域,然后根据该相邻数据的邻域中各数据与该邻数据的加权距离,确定第二距离。

图3为本说明书提供的一种待识别数据与其邻域的示意图。如图,x表示一个待识别数据,以预设的待识别数据邻域中数据的数量是6为例,则a、b、c、d、e、f为待识别数据x邻域中的六个相邻数据,则第一距离为根据待识别数据x与a、b、c、d、e、f六个相邻数据间的加权距离确定出的。g、h、i、j、e、x为待识别数据x的相邻数据f自身邻域中的数据,则第二距离为根据相邻数据f与g、h、i、j、e、x六个数据间的加权距离确定的。

s110:根据所述第一距离以及所述第二距离确定密度因子。

在各种基于互联网的平台和系统中,在系统中的任务出现问题时,可能会存在数据量在一段时间内较为密集的情况,例如,以该系统为外卖平台的系统为例,在平台内某一商家做活动时,于高峰期可能会有大量的订单数据产生,而在商家没有做活动时,若在某段时间内产生了大量的订单数据,则说明系统中的对应任务可能存在问题。则可以进一步根据该订单数据中的货物数量与对应金额间的关系,确定该订单数据是否存在异常。若该订单数据中的货物数量较多,而对应金额较少,则该订单数据存在异常。因此,一段时间内的数据的密度可以体现该时间段内的数据的异常情况。

于是,在本说明书一个或多个实施例中,该服务器在确定出第一距离与第二距离后,可以根据确定出的第一距离以及第二距离确定密度因子。具体可以将第一距离比上第二距离,以得到密度因子。后续步骤中可根据该密度因子确定待识别数据的异常度。

s112:根据所述时间因子以及所述密度因子,通过实时计算框架确定该待识别数据的异常度,并根据该待识别数据的异常度,确定该待识别数据是否为异常数据。

在本说明书一个或多个实施例中,在确定出时间因子和密度因子之后,该服务器可以通过实时计算框架确定该待识别数据的异常度。其中,该实时计算框架为flink框架,可以实时对待识别数据进行异常度的确定。

具体的,该服务器可以根据时间因子以及密度因子,确定该待识别数据的异常值,并确定异常值落入的预设的异常度范围,然后根据异常值落入的预设的异常度范围,确定该待识别数据的异常度,并根据该待识别数据的异常度,确定该待识别数据是否为异常数据。其中,预设的异常度范围可根据需要设置。

例如,假设预设的异常度范围分别为0~25,25~50,50~75以及75~100,当该待识别数据的异常值落入的异常度范围为0~25时,则确定该待识别数据正常,当该待识别数据的异常值落入的异常度范围为25~50时,则确定该待识别数据轻微异常,当该待识别数据的异常值落入的异常度范围为50~75时,则确定该待识别数据较为异常,当该待识别数据的异常值落入的异常度范围为75~100时,则确定该待识别数据极为异常。可见,本说明书提供的确定异常数据的方法可以对数据的异常程度进行更精细的划分,以解决在现有技术中,仅能根据确定出的结果将数据分为异常和正常两类,对异常数据的确定结果不够精准的问题,改善现有技术无法及时又准确地找到异常数据对应的任务所存在的问题的情况。

确定该待识别数据的异常值的公式为:

其中,x表示该待识别数据,k为该待识别数据邻域中相邻数据的个数,βm表示该待识别数据的第m个相邻数据对应的时间因子,rdm表示该待识别数据的第m个相邻数据对应的密度因子。

基于图1所示的确定异常数据的方法,将数据进行清洗,得到待识别数据,并确定待识别数据与当前时间窗口上其它数据间的距离。根据预设数量和确定出的距离,确定待识别数据的邻域,并确定相邻数据。之后根据相邻数据与该待识别数据的时间差,确定时间因子,根据待识别数据与相邻数据的距离确定第一距离,根据相邻数据与自身邻域中各数据的距离确定第二距离。然后根据第一距离以及第二距离确定密度因子,并根据时间因子以及密度因子,确定待识别数据的异常度,以确定异常数据。

从上述方法中可以看出,本方法可根据时间窗口上的各数据的时间差,以及待识别数据所处邻域中的其他数据,确定出时间因子和密度因子,并根据得到的时间因子和密度因子来实时计算待识别数据的异常度,以得到一个精细准确的确定结果,及时发现异常数据对应任务存在的问题。

图4为本说明书提供的一种时间窗口的示意图。如图,图中包括两个时间窗口,从m到o构成的时间窗口表示上一个时间窗口,从n到p构成的时间窗口表示滑动后的时间窗口,即当前时间窗口。t1、t2、t3、t4时刻产生的数据落入从m到o构成的上一个时间窗口中,t2、t3、t4、t5时刻产生的数据落入从n到p构成的当前时间窗口中。可见,上一个时间窗口中包含的数据与当前时间窗口中包含的数据不完全相同,所以在时间窗口滑动前后,时间窗口内的数据可能会发生改变。

在本说明书提供的一个或多个实施例中,考虑到待识别数据的异常度受其邻域内相邻数据的影响,而在时间窗口滑动前后,各待识别数据的邻域可能改变,其异常度也可能在时间窗口滑动后改变的情况。所以,在步骤s112确定该待识别数据的异常度之前,该服务器还可以根据该待识别数据在上一时间窗口中的异常度的判断结果是否正常,判断是否需要重新确定该待识别数据的异常度。若该待识别数据在上一时间窗口中为正常数据,则将该待识别数据在上一时间窗口中的异常度,作为该待识别数据在当前时间窗口的异常度,若该待识别数据在上一时间窗口中不是正常数据,则该服务器可重新确定该待识别数据在当前时间窗口的异常度。

当然,由于上一时间窗口包含的各数据的异常度识别结果是已经确定的,因此该服务器也可在步骤s100确定出各待识别数据之后,便判断是否需要重新确定该待识别数据的异常度。最晚该服务器可在步骤s112确定该待识别数据的异常度之前,进行判断,具体如何设置本说明书不做限制。

进一步地,由于时间窗口的滑动,当前时间窗口包含的各待识别数据可能存在以下3种情况,包含在上一个时间窗口中且确定为不是正常数据,包含在上一个时间窗口中且确定为是正常数据,或者未包含在上一个时间窗口中。而在本说明书中,为了减轻每次进行异常度确定时,服务器的运行压力,该服务器还可在确定数据异常度时,仅针对未包含在上一个时间窗口中的待识别数据,确定该待识别数据的异常度。

具体的,在本说明书提供的一个或多个实施例中,在步骤s112确定该待识别数据的异常度之前,该服务器还可以先判断该待识别数据是否包含在上一时间窗口中。若是,则无需更新该待识别数据的异常度,若否,则确定该待识别数据对应的时间因子和密度因子,并根据确定出的时间因子和密度因子确定该待识别数据的异常度。

更进一步地,在本说明书提供的一个或多个实施例中,在历史上的时间窗口中确定为异常的数据,在当前时间窗口中可能会被确定为正常。即,由于数据的波动某些待识别数据的异常度可能出现变化,并落入正常数据对应的异常度范围。于是,为了既能减轻服务计算压力,又可尽量更准确的确定各待识别数据的异常度,在步骤s112确定该待识别数据的异常度之前,该服务器还可以在判断该待识别数据是否包含在上一时间窗口中之后,针对在上个时间窗口中确定为异常的数据,重新确定其异常度。针对不在上个时间窗口中的待检测数据,则确定该待识别数据对应的时间因子和密度因子,并根据确定出的时间因子和密度因子确定该待识别数据的异常度。

也就是说,针对上述3种待识别数据中的:包含在上一个时间窗口中且确定为不是正常数据的待识别数据,以及未包含在上一个时间窗口中的待识别数据,执行本说明书提供的确定异常数据的方法方法,确定数据的异常度。

以上为本说明书的一个或多个实施例提供的确定异常数据的方法,基于同样的思路,本说明书还提供了相应的确定异常数据的装置,如图5所示。

图5为本说明书提供的一种确定异常数据的装置示意图,该装置包括:待识别数据获取模块、数据距离确定模块、邻域确定模块、时间因子确定模块、邻域距离确定模块、密度因子确定模块、异常数据确定模块,其中:

待识别数据获取模块200,用于将获取到的数据进行清洗,得到各待识别数据;

数据距离确定模块201,用于针对每条待识别数据,确定该待识别数据与时间窗口上其它数据间的距离;

邻域确定模块202,用于根据预设的数量,以及确定出的该待识别数据与时间窗口上其它数据间的距离,确定该待识别数据的邻域,并确定所述邻域中各数据为相邻数据;

时间因子确定模块203,用于确定所述相邻数据与该待识别数据在时间窗口上的时间差,根据所述时间差,确定时间因子,其中,所述时间差与所述时间因子负相关;

邻域距离确定模块204,用于根据该待识别数据与所述相邻数据的距离确定第一距离,以及根据所述相邻数据与所述相邻数据的邻域中各数据的距离确定第二距离;

密度因子确定模块205,用于根据所述第一距离以及所述第二距离确定密度因子;

异常数据确定模块206,用于根据所述时间因子以及所述密度因子,通过实时计算框架确定该待识别数据的异常度,并根据该待识别数据的异常度,确定该待识别数据是否为异常数据。

可选地,所述数据距离确定模块201模块,确定该待识别数据在预设的各特征维度上的信息熵,根据确定出的该待识别数据在各特征维度上的信息熵差量,确定该待识别数据与当前时间窗口上其它数据间的距离。

可选地,针对每个特征维度,根据该待识别数据在该特征维度上的特征值,确定该待识别数据在该特征维度对应的信息熵,根据除去该特征维度的其他特征维度分别对应的信息熵,确定该特征维度对应的余维信息熵,根据该待识别数据的总信息熵与所述余维信息熵的差值,确定该待识别数据在该特征维度上的信息熵差量,其中,所述总信息熵根据该待识别数据在各特征维度分别对应的信息熵确定。

可选地,所述邻域距离确定模块204,根据该待识别数据在各特征维度上的信息熵差量,分别确定该待识别数据在各特征维度上对应的权重,针对该待识别数据的每个相邻数据,根据该待识别数据在各特征维度上对应的权重,以及该待识别数据与该相邻数据在各特征维度上的特征值,确定该待识别数据与该相邻数据的加权距离,根据该待识别数据与各相邻数据间的加权距离,确定第一距离。

可选地,异常数据确定模块206,根据所述时间因子以及所述密度因子,确定所述待识别数据的异常值,确定所述异常值落入的预设的异常度范围,并根据所述异常值落入的预设的异常度范围,确定所述待识别数据的异常度。

可选地,根据该待识别数据在上一时间窗口中的异常度,判断该待识别数据是否正常,若是,则将该待识别数据在上一时间窗口中的异常度,作为该待识别数据在当前时间窗口的异常度,若否,则重新确定该待识别数据在当前时间窗口的异常度。

可选地,判断该待识别数据是否包含在上一时间窗口中,若是,则无需更新该待识别数据的异常度,若否,则确定该待识别数据的异常度。

本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的确定异常数据的方法。

本说明书还提供了图6所示的电子设备的结构示意图。如图6所示,在硬件层面,该电子设备包括处理器、内部总线、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1提供的确定异常数据的方法。

当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1