一种数据库的异常检测方法及装置与流程

文档序号:22313644发布日期:2020-09-23 01:34阅读:147来源:国知局
一种数据库的异常检测方法及装置与流程

本发明涉及金融科技(fintech)领域中的数据检测领域,尤其涉及一种数据库的异常检测方法及装置。



背景技术:

随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。金融机构的数据库中存储着大量数据,如何及时的发现数据库是否存在异常对金融机构的数据安全有重要意义。

目前的方法是,人工配置数据检测的信息,如手动配置设定每个字段异常的阈值。当配置信息需要更改时,如异常的阈值的更改,很容易出现配置信息的缺失,如字段遗漏,阈值输错,进而导致数据库的异常检测出错。因此,现有技术中,人工手动配置具体配置信息的方式容易导致数据库的异常检测的准确性低,这是一个亟待解决的问题。



技术实现要素:

本发明提供一种数据库的异常检测方法及装置,解决了现有技术中数据异常检测的准确性低的问题。

第一方面,本发明提供一种数据库的异常检测方法,包括:获取数据库的待测数据表中的待检测数据记录;若所述待检测数据记录中可枚举型数据的枚举值的数据量表征值不位于数据量波动区间,则确定所述数据库存在异常;所述数据量波动区间是根据所述待测数据表在第一预设时长范围内可枚举型数据的枚举值的数据量分布确定的;和/或若所述待检测数据记录中范围型数据的数据取值表征值不位于数据取值波动区间,则确定所述数据库存在异常;所述数据取值波动区间是根据所述待测数据表在第二预设时长范围内范围型数据的取值分布确定的。

上述方法下,数据量波动区间可以自动地根据所述待测数据表在第一预设时长范围内可枚举型数据的枚举值的数据量分布确定、更新,同样,数据取值波动区间也是可以自动地根据所述待测数据表在第二预设时长范围内范围型数据的取值分布确定,避免人工配置数据量波动区间或数据取值波动区间出错,因此,获取待测数据表中的待检测数据记录后,可用根据数据量表征值、数据取值表征值与自动配置的数据量波动区间或数据取值波动区间的比较,提升了数据库的异常检测的准确性。

可选的,若所述待测数据表中数据记录的总条目数小于或等于预设阈值,所述数据量表征值为cnt_m,所述数据量波动区间为条目数的区间,或者,若所述待测数据表中数据记录的总条目数大于所述预设阈值,所述数据量表征值为cnt_m/cnt_total;所述数据量波动区间为比值的区间;cnt_m为所述待测数据表中所述可枚举型数据的枚举值为所述预设取值的数据记录的条目数;cnt_total为所述待测数据表中数据记录的总条目数;所述数据取值表征值为所述范围型数据在单位时长内的数据平均值,所述数据取值波动区间为数据取值的区间。

上述方法中,在若所述待测数据表中数据记录的总条目数小于或等于预设阈值,直接通过cnt_m来判断,否则,根据cnt_m/cnt_total来判断,从而更加准确地确定枚举值为预设取值的数据记录是否相较于历史中在第一预设时长范围内枚举值的数据量分布异常,同样地,也会可以通过单位时长内的数据平均值更加准确地确定所述范围型数据的取值是否相较于历史中在第二预设时长范围内所述范围型数据的取值分布异常。

可选的,若所述数据量表征值为cnt_m/cnt_total,则所述数据量波动区间按照以下方式确定:根据所述待测数据表在所述第一预设时长范围内所述可枚举型数据的枚举值的数据占比分布,确定所述预设取值的占比均值和所述预设取值的占比标准差;根据所述预设取值的占比均值和所述预设取值的占比标准差,确定第一预设概率分布的参数,从而确定所述第一预设概率分布的实际分布;根据所述第一预设概率分布的实际分布,确定所述数据量波动区间;所述数据取值波动区间按照以下方式确定:根据所述待测数据表在所述第二预设时长范围内所述范围型数据的取值分布,确定所述范围型数据的均值和所述范围型数据的标准差;根据所述范围型数据的均值和所述范围型数据的标准差,确定第二预设概率分布的参数,从而确定所述第二预设概率分布的实际分布;根据所述第二预设概率分布的实际分布,确定所述数据取值波动区间。

上述方法中,首先根据所述待测数据表在所述第一预设时长范围内所述可枚举型数据的枚举值的数据占比分布,确定所述预设取值的占比均值和所述预设取值的占比标准差,根据所述预设取值的占比均值和所述预设取值的占比标准差是表征所述可枚举型数据的枚举值的数据占比分布的重要统计量,因此,通过这两个统计量确定第一预设概率分布的参数,可以得到所述可枚举型数据在理论上的所述第一预设概率分布的实际分布,来确定所述数据量波动区间,从而更有依据地设置所述数据量波动区间,同理,也更有依据地确定所述数据取值波动区间。

可选的,所述数据量波动区间为[μ1-2σ1,μ1+2σ1];μ1为所述预设取值的占比均值,σ1为所述预设取值的占比标准差;所述数据取值波动区间为[μ2-2σ2,μ2+2σ2];μ2为所述范围型数据的均值,σ2为所述范围型数据的标准差。

上述方式下,所述可枚举型数据的大量的正常数据理论上会分布在[μ1-2σ1,μ1+2σ1]中,可以找出可枚举型数据偏离上述理论区间[μ1-2σ1,μ1+2σ1]的异常数据,同理,可以找到范围型数据的理论区间的异常数据。

可选的,所述第一预设概率分布和所述第二预设概率分布均为高斯分布。

可选的,针对所述待检测数据记录中任一项数据,按照以下方式确定该项数据为可枚举型数据和\或范围型数据:若该项数据在第三预设时长范围内所述待测数据表中的取值个数小于预设数量,则该项数据为可枚举型数据;和\或若该项数据在第四预设时长范围内所述待测数据表中的最大取值和最小取值未发生变化,则该项数据为范围型数据。

上述方式下,可以根据各项数据取值的规律,为各项数据设置相应的类型,进一步地,更利于根据数据的特性检测数据库是否存在异常。

可选的,若所述待检测数据记录中所述可枚举型数据的枚举值的取值在所述第一预设时长范围内所述可枚举型数据的枚举值中未出现,则确定该未出现的枚举值为所述可枚举型数据的疑似异常枚举值,以及确定所述待检测数据记录为疑似异常数据记录;和/或若所述待检测数据记录中范围型数据的取值在所述第二预设时长范围内所述范围型数据的取值范围中未出现,则确定该未出现的取值为所述范围型数据的疑似异常取值,以及确定所述待检测数据记录为疑似异常数据记录。

上述方式下,对于所述待检测数据记录中所述可枚举型数据的枚举值以及范围型数据的取值未在所述待测数据表出现的,通过列为疑似异常数据记录来进行标记通知。

可选的,若确定所述待检测数据记录为疑似异常数据记录之后,还包括:获取所述应用变更信息;所述应用变更信息为使用所述待测数据表中数据记录的应用的更新信息;若所述应用变更信息未指示所述可枚举型数据的疑似异常枚举值的变更,则确定所述数据库存在异常;和/或若所述应用变更信息未指示所述范围型数据的疑似异常取值的变更,则确定所述数据库存在异常。

上述方式下,进一步通过所述应用变更信息来确定是否是由于应用本身的正常更新导致的所述可枚举型数据的异常枚举值或者所述范围型数据的疑似异常取值的变更,从而更准确地判断所述数据库存在异常。

第二方面,本发明提供一种数据库的异常检测装置,包括:获取模块,用于获取数据库的待测数据表中的待检测数据记录;处理模块,用于若所述待检测数据记录中可枚举型数据的枚举值的数据量表征值不位于数据量波动区间,则确定所述数据库存在异常;所述数据量波动区间是根据所述待测数据表在第一预设时长范围内可枚举型数据的枚举值的数据量分布确定的;和/或若所述待检测数据记录中范围型数据的数据取值表征值不位于数据取值波动区间,则确定所述数据库存在异常;所述数据取值波动区间是根据所述待测数据表在第二预设时长范围内范围型数据的取值分布确定的。

可选的,若所述待测数据表中数据记录的总条目数小于或等于预设阈值,所述数据量表征值为cnt_m,所述数据量波动区间为条目数的区间,或者,若所述待测数据表中数据记录的总条目数大于所述预设阈值,所述数据量表征值为cnt_m/cnt_total;所述数据量波动区间为比值的区间;cnt_m为所述待测数据表中所述可枚举型数据的枚举值为所述预设取值的数据记录的条目数;cnt_total为所述待测数据表中数据记录的总条目数;所述数据取值表征值为所述范围型数据在单位时长内的数据平均值,所述数据取值波动区间为数据取值的区间。

可选的,若所述数据量表征值为cnt_m/cnt_total,则所述数据量波动区间按照以下方式确定:根据所述待测数据表在所述第一预设时长范围内所述可枚举型数据的枚举值的数据占比分布,确定所述预设取值的占比均值和所述预设取值的占比标准差;根据所述预设取值的占比均值和所述预设取值的占比标准差,确定第一预设概率分布的参数,从而确定所述第一预设概率分布的实际分布;根据所述第一预设概率分布的实际分布,确定所述数据量波动区间;所述数据取值波动区间按照以下方式确定:根据所述待测数据表在所述第二预设时长范围内所述范围型数据的取值分布,确定所述范围型数据的均值和所述范围型数据的标准差;根据所述范围型数据的均值和所述范围型数据的标准差,确定第二预设概率分布的参数,从而确定所述第二预设概率分布的实际分布;根据所述第二预设概率分布的实际分布,确定所述数据取值波动区间。

可选的,所述数据量波动区间为[μ1-2σ1,μ1+2σ1];μ1为所述预设取值的占比均值,σ1为所述预设取值的占比标准差;所述数据取值波动区间为[μ2-2σ2,μ2+2σ2];μ2为所述范围型数据的均值,σ2为所述范围型数据的标准差。

可选的,所述第一预设概率分布和所述第二预设概率分布均为高斯分布。

可选的,所述处理模块还用于:针对所述待检测数据记录中任一项数据,按照以下方式确定该项数据为可枚举型数据和\或范围型数据:若该项数据在第三预设时长范围内所述待测数据表中的取值个数小于预设数量,则该项数据为可枚举型数据;和\或若该项数据在第四预设时长范围内所述待测数据表中的最大取值和最小取值未发生变化,则该项数据为范围型数据。

可选的,所述处理模块还用于:若所述待检测数据记录中所述可枚举型数据的枚举值的取值在所述第一预设时长范围内所述可枚举型数据的枚举值中未出现,则确定该未出现的枚举值为所述可枚举型数据的疑似异常枚举值,以及确定所述待检测数据记录为疑似异常数据记录;和/或若所述待检测数据记录中范围型数据的取值在所述第二预设时长范围内所述范围型数据的取值范围中未出现,则确定该未出现的取值为所述范围型数据的疑似异常取值,以及确定所述待检测数据记录为疑似异常数据记录。

可选的,所述获取模块还用于:获取所述应用变更信息;所述应用变更信息为使用所述待测数据表中数据记录的应用的更新信息;所述处理模块还用于:若所述应用变更信息未指示所述可枚举型数据的疑似异常枚举值的变更,则确定所述待检测数据记录为异常数据记录;和/或若所述应用变更信息未指示所述范围型数据的疑似异常取值的变更,则确定所述待检测数据记录为异常数据记录。

上述第二方面及第二方面各个可选装置的有益效果,可以参考上述第一方面及第一方面各个可选方法的有益效果,这里不再赘述。

第三方面,本发明提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个可选的方法。

第四方面,本发明提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个可选的方法。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。

图1为本申请实施例提供的一种数据库的异常检测方法的步骤流程示意图;

图2为本申请实施例提供的一种数据库的异常检测装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

下面首先列出本申请中出现的名词释义。

异常数据:本申请中异常数据指偏离常规数据分布或取值的数据。

数据类型:数据类型为数据在数据库引擎下存放的数据格式定义,例如mysql数据库大致可以分为三类:数值、日期/时间和字符串(字符)类型。

可枚举型数据:数据取值固定在一定枚举范围内的数据。

范围型数据:存在固定取值区间的数值型数据。

不规则数据:非可枚举数据及范围型数据的数据。

有效分析数据:存在一定规则,通过一定算法,可以区分出正常异常标签的数据。

非有效分析数据:无规则数据,数据本身无正常异常区分的数据。

md5值:md5是一种信息摘要算法,它可以从一个字符串或一个文件中按照一定的规则生成一个特殊的字符串,并且一个文件所对应的md5摘要是固定的,当文件内容变化后,其md5值也会不一样,因此,在应用中经常使用md5值来验证一段数据有没有被篡改。

在金融机构(银行机构、保险机构或证券机构)在进行业务(如银行的贷款业务、存款业务等)运转过程中,金融机构的数据库中存储着大量数据,及时检测出数据库是否存在异常对金融机构的数据安全有重要意义。目前的方法是,人工配置数据检测的信息,但是,人工手动配置具体配置信息的方式容易导致数据库的异常检测的准确性低。这种情况不符合银行等金融机构的需求,无法保证金融机构各项业务的高效运转。为此,如图1所示,本申请提供一种数据库的异常检测方法。

步骤101:获取数据库的待测数据表中的待检测数据记录。

步骤102:若所述待检测数据记录中可枚举型数据的枚举值的数据量表征值不位于数据量波动区间,则确定所述数据库存在异常。和/或

步骤103:若所述待检测数据记录中范围型数据的数据取值表征值不位于数据取值波动区间,则确定所述数据库存在异常。

需要说明的是,数据库由多个基于实体间联系的数据表组成,每个数据表都有一条到多条数据记录。可以通过数据库的数据表中各条数据记录的整体数据分布以及一条单独的数据记录的具体数据内容,来检测一条单独的数据记录是否偏离整体数据分布,即数据库是否存在异常时。数据库是持久化存储,会常驻计算机的持久存储空间,如硬盘,在使用时可以预加载至内存中。步骤101具体可以为:从内存中直接获取待检测数据记录,也可以从硬盘中临时读取待检测数据记录,在此不做限定。

步骤102中,所述数据量波动区间是根据所述待测数据表在第一预设时长范围内可枚举型数据的枚举值的数据量分布确定的.步骤103中,所述数据取值波动区间是根据所述待测数据表在第二预设时长范围内范围型数据的取值分布确定的。

需要说明的是,步骤102和步骤103的先后执行顺序并没有约束,可以异步执行。而且可以只执行步骤102和步骤103中的一个步骤,也可以都执行,是和/或的关系,具体可结合具体的场景。数据量波动区间和数据取值波动区间为开区间或闭区间不做限定。上述待测数据表只是众多数据库中所有数据表的一张数据表,可以对每张数据表进行分析,如资源有限,可以只配置部分关键数据库的关键数据表设置数据量波动区间或数据取值波动区间。

需要说明的是,对于待检测数据记录中每一项数据而言,该项数据为可枚举型数据、范围型数据或不规则数据可以是预先设定好的,也可以是按照某种规则确定出的。其中,一项数据可以同时为范围型数据和可枚举型数据。一种可选实施方式中,针对所述待检测数据记录中任一项数据,按照以下方式确定该项数据为可枚举型数据和\或范围型数据:

若该项数据在第三预设时长范围内所述待测数据表中的取值个数小于预设数量,则该项数据为可枚举型数据;和\或若该项数据在第四预设时长范围内所述待测数据表中的最大取值和最小取值未发生变化,则该项数据为范围型数据。

举例来说,对于可枚举型数据,预设数量可以直接设置,如设置预设数量为100及以下,也可以根据该项数据合法取值的个数设置,如该项数据的合法取值范围有50000个取值,可以选择合法取值的个数的一定比例及以下,如1%,即500个取值,预设数量为500。如果在第三预设时长范围(如30天)内,该项数据在待测数据表中的取值一直小于预设数量,则确定该项数据为可枚举型数据。

举例来说,对于范围型数据,在第四预设时长范围的计时开始时(如第一天的0时整),最大取值为max,最小取值为min,在第四预设时长范围的计时结束(如第三天的23时整)时,最大取值仍为max,最小取值仍为min,则确定该项数据为范围型数据。

需要说明的是,可枚举数据是待检测数据记录中的一个字段,并不是具体的取值,可枚举数据的枚举值才是具体的取值。所述待检测数据记录中可枚举型数据的枚举值的数据量表征值用于表征所述待检测数据记录中可枚举型数据的枚举值在所述待测数据表在第一预设时长范围内可枚举型数据的枚举值的数据量。

举例来说,可枚举型数据为a,待测数据记录中的可枚举型数据的枚举值为a1,所述待测数据表在第一预设时长范围内共有x0(如x0=10000)条数据记录,其中,枚举值a1数据量为x1(如x1=3000),枚举值a2数据量为x2(如x2=3000),枚举值a3数据量为x3(如x3=4000)。可以根据所述待检测数据记录中可枚举型数据的枚举值(a1)在所述待测数据表在第一预设时长范围内可枚举型数据的枚举值的数据量(如x1=3000)来确定所述待检测数据记录中可枚举型数据的枚举值的数据量表征值,并相应地确定所述数据量波动区间。具体可以采用多种实施方式:

确定所述待检测数据记录中可枚举型数据的枚举值的数据量表征值的实施方式可以如下:

若所述待测数据表中数据记录的总条目数小于或等于预设阈值(p),所述数据量表征值为cnt_m。cnt_m所述待测数据表中所述可枚举型数据的枚举值为预设取值的数据记录的条目数。

举例来说,预设阈值p为5000,所述待测数据表中数据记录的总条目数(cnt_total)为4500,预设取值的数据记录的条目数为(cnt_m)为1500。那么数据量表征值便是1500。

相应地,所述数据量波动区间为条目数的区间。可以根据具体的检测要求设置所述数据量波动区间。如根据所述待测数据表在第一预设时长范围内可枚举型数据的枚举值的数据量(x1,如x1=3000)来设置所述数据量波动区间,如设置[f1-1(x1),f1-2(x1)],f1-1和f1-2均表示函数关系,如f1-1(t)=(t-500)*p/x0,f1-2(t)=(t+500)*p/x1,如x0=10000,x1=3000,p=5000时,所述数据量波动区间为[1000,2000]。

或者,若所述待测数据表中数据记录的总条目数大于所述预设阈值,所述数据量表征值为cnt_m/cnt_total。

举例来说,举例来说,预设阈值p为5000,所述待测数据表中数据记录的总条目数(cnt_total)为8000,预设取值的数据记录的条目数为(cnt_枚举)为2000,那么所述数据量表征值为所述待测数据表中所述可枚举型数据的枚举值为所述预设取值的数据记录的占比也就是数据量表征值cnt_m/cnt_total=25%。

相应地,所述数据量波动区间为比值的区间。可以根据具体的检测要求设置所述数据量波动区间。如根据所述待测数据表在第一预设时长范围内可枚举型数据的枚举值的数据量(x1,如x1=3000)来设置所述数据量波动区间,如设置[f2-1(x1),f2-2(x1)],f2-1和f2-2均表示函数关系,如f2-1(t)=0.8*x1/x0,f1-2(t)=1.2*x1/x0,如x0=10000,x1=3000时,所述数据量波动区间为[24%,36%]。

更具体地,若所述数据量表征值为cnt_m/cnt_total,所述数据量波动区间可以按照以下方式确定:

根据所述待测数据表在所述第一预设时长范围内所述可枚举型数据的枚举值的数据占比分布,确定所述预设取值的占比均值和所述预设取值的占比标准差;根据所述预设取值的占比均值和所述预设取值的占比标准差,确定第一预设概率分布的参数,从而确定所述第一预设概率分布的实际分布;根据所述第一预设概率分布的实际分布,确定所述数据量波动区间。

需要说明的是,这里的第一预设概率分布不做限定,具体可根据需求灵活设置,如卡方分布、f分布和正态分布(高斯分布)。更特殊地,所述数据量波动区间为[μ1-2σ1,μ1+2σ1];μ1为所述预设取值的占比均值,σ1为所述预设取值的占比标准差。

综上所述,举例来说,status字段为可枚举型数据,枚举值有s、d或f,枚举值分布情况:s占比80%,d占比5%,f占比15%。枚举值s占比波动阈值[72%,88%],枚举值d占比波动阈值:[3%,7%],枚举值f占比波动阈值[9%,21%]。当检测发现s占比30%,d占比55%,f占比15%时,枚举值s及枚举值d取值超过数据量波动区间,确定为超过时的数据记录为异常数据记录。

需要说明的是,范围型数据是待检测数据记录中的一个字段,并不是具体的取值,范围型数据的取值才是具体的取值。所述待检测数据记录中范围型数据的数据取值表征值用于表征所述待检测数据记录中范围型数据的取值。

所述数据取值表征值可以为所述范围型数据在单位时长(如1天)内的数据平均值,所述数据取值波动区间为数据取值的区间。举例来说,所述数据取值波动区间根据所述待测数据表在第二预设时长范围(30天)内范围型数据的取值分布确定。具体来说,所述数据取值波动区间可以按照以下方式确定:

根据所述待测数据表在所述第二预设时长范围内所述范围型数据的取值分布,确定所述范围型数据的均值和所述范围型数据的标准差;根据所述范围型数据的均值和所述范围型数据的标准差,确定第二预设概率分布的参数,从而确定所述第二预设概率分布的实际分布;根据所述第二预设概率分布的实际分布,确定所述数据取值波动区间。

需要说明的是,这里的第二预设概率分布不做限定,具体可根据需求灵活设置,如卡方分布、f分布和正态分布(高斯分布)。更特殊地,所述数据量波动区间为[μ2-2σ2,μ2+2σ2];μ2为所述范围型数据的均值,σ2为所述范围型数据的标准差。

步骤101~步骤103中,还可以对未出现过可枚举型数据的枚举值和范围型数据的取值做通知和标记。一种实现方式如下:

若所述待检测数据记录中所述可枚举型数据的枚举值的取值在所述第一预设时长范围内所述可枚举型数据的枚举值中未出现,则确定该未出现的枚举值为所述可枚举型数据的疑似异常枚举值,以及确定所述数据库存在异常;和/或若所述待检测数据记录中范围型数据的取值在所述第二预设时长范围内所述范围型数据的取值范围中未出现,则确定该未出现的取值为所述范围型数据的疑似异常取值,以及确定所述数据库存在异常。

上述方式下,对于所述待检测数据记录中所述可枚举型数据的枚举值以及范围型数据的取值未在所述待测数据表出现的,通过列为疑似异常数据记录来进行标记通知。

以范围型数据举例来说,如存在超出取值范围,小于最小值或大于最大值的,可以进行标记及通知。例如贷款流水表字段loan_amt,第二步登记最大值300000,最小值10000,当检测出现大于300000或小于10000的取值的情况下,进行标记及通知。对于范围型数据单位时间内(例如一天)取值超过数据取值波动区间,进行标记并通知。

进一步地,若确定所述待检测数据记录为疑似异常数据记录之后,还可以做进一步的判断,具体包括:

获取所述应用变更信息;所述应用变更信息为使用所述待测数据表中数据记录的应用的更新信息;若所述应用变更信息未指示所述可枚举型数据的疑似异常枚举值的变更,则确定所述待检测数据记录为异常数据记录;和/或若所述应用变更信息未指示所述范围型数据的疑似异常取值的变更,则确定所述待检测数据记录为异常数据记录。

具体来说,上述方式下,探测数据库关联应用是否发生变更,如果关联应用是引起数据库数据发生变更的根本原因,那便是正常的变更。获取应用变更信息的方法中,对于存在变更管理平台,存在接口获取应用变更信息的,可以对接变更管理平台获取应用变更信息;不存在变更管理平台的,可以通过其他方式获取应用变更信息。例如通过脚本工具,探查应用包md5值的变更情况,如md5值存在变化,视为存在应用变更信息。对于存在应用变更信息的,产出的检测报表进行特殊标记,结合测试环境产出的检测报告,同步核实变更对于数据的操作是否符合预期。

如图2所示,本发明提供一种数据库的异常检测装置,包括:获取模块201,用于获取数据库的待测数据表中的待检测数据记录;处理模块202,用于若所述待检测数据记录中可枚举型数据的枚举值的数据量表征值不位于数据量波动区间,则确定所述数据库存在异常;所述数据量波动区间是根据所述待测数据表在第一预设时长范围内可枚举型数据的枚举值的数据量分布确定的;和/或若所述待检测数据记录中范围型数据的数据取值表征值不位于数据取值波动区间,则确定所述数据库存在异常;所述数据取值波动区间是根据所述待测数据表在第二预设时长范围内范围型数据的取值分布确定的。

可选的,若所述待测数据表中数据记录的总条目数小于或等于预设阈值,所述数据量表征值为cnt_m,所述数据量波动区间为条目数的区间,或者,若所述待测数据表中数据记录的总条目数大于所述预设阈值,所述数据量表征值为cnt_m/cnt_total;所述数据量波动区间为比值的区间;cnt_m为所述待测数据表中所述可枚举型数据的枚举值为所述预设取值的数据记录的条目数;cnt_total为所述待测数据表中数据记录的总条目数;所述数据取值表征值为所述范围型数据在单位时长内的数据平均值,所述数据取值波动区间为数据取值的区间。

可选的,若所述数据量表征值为cnt_m/cnt_total,则所述数据量波动区间按照以下方式确定:根据所述待测数据表在所述第一预设时长范围内所述可枚举型数据的枚举值的数据占比分布,确定所述预设取值的占比均值和所述预设取值的占比标准差;根据所述预设取值的占比均值和所述预设取值的占比标准差,确定第一预设概率分布的参数,从而确定所述第一预设概率分布的实际分布;根据所述第一预设概率分布的实际分布,确定所述数据量波动区间;所述数据取值波动区间按照以下方式确定:根据所述待测数据表在所述第二预设时长范围内所述范围型数据的取值分布,确定所述范围型数据的均值和所述范围型数据的标准差;根据所述范围型数据的均值和所述范围型数据的标准差,确定第二预设概率分布的参数,从而确定所述第二预设概率分布的实际分布;根据所述第二预设概率分布的实际分布,确定所述数据取值波动区间。

可选的,所述数据量波动区间为[μ1-2σ1,μ1+2σ1];μ1为所述预设取值的占比均值,σ1为所述预设取值的占比标准差;所述数据取值波动区间为[μ2-2σ2,μ2+2σ2];μ2为所述范围型数据的均值,σ2为所述范围型数据的标准差。

可选的,所述第一预设概率分布和所述第二预设概率分布均为高斯分布。

可选的,所述处理模块202还用于:针对所述待检测数据记录中任一项数据,按照以下方式确定该项数据为可枚举型数据和\或范围型数据:若该项数据在第三预设时长范围内所述待测数据表中的取值个数小于预设数量,则该项数据为可枚举型数据;和\或若该项数据在第四预设时长范围内所述待测数据表中的最大取值和最小取值未发生变化,则该项数据为范围型数据。

可选的,所述处理模块202还用于:若所述待检测数据记录中所述可枚举型数据的枚举值的取值在所述第一预设时长范围内所述可枚举型数据的枚举值中未出现,则确定该未出现的枚举值为所述可枚举型数据的疑似异常枚举值,以及确定所述待检测数据记录为疑似异常数据记录;和/或若所述待检测数据记录中范围型数据的取值在所述第二预设时长范围内所述范围型数据的取值范围中未出现,则确定该未出现的取值为所述范围型数据的疑似异常取值,以及确定所述待检测数据记录为疑似异常数据记录。

可选的,所述获取模块201还用于:获取所述应用变更信息;所述应用变更信息为使用所述待测数据表中数据记录的应用的更新信息;所述处理模块202还用于:若所述应用变更信息未指示所述可枚举型数据的疑似异常枚举值的变更,则确定所述待检测数据记录为异常数据记录;和/或若所述应用变更信息未指示所述范围型数据的疑似异常取值的变更,则确定所述待检测数据记录为异常数据记录。

本申请实施例提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行本申请实施例提供的一种异常数据检测方法及任一可选方法。

本申请实施例提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行本申请实施例提供的一种异常数据检测方法及任一可选方法。

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

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

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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