掌桥专利:专业的专利平台
掌桥专利
首页

数据处理方法、装置、设备和介质

文献发布时间:2023-06-19 09:36:59


数据处理方法、装置、设备和介质

技术领域

本申请涉及数据处理领域,尤其涉及数据处理方法、装置、设备和介质。

背景技术

在应用的各项业务的运行和维护过程中,可以用业务指标数据对业务进行评价。因此,业务指标数据是否异常是确定业务是否异常的一项关键依据。

但目前业内对业务指标数据是否异常的检测方案,往往局限于利用不同历史周期内的同一时间点的历史业务指标数据对当前周期内的同一时间点的业务指标数据进行预估,并利用预估得到的业务指标数据进行业务异常检测。然而,这种检测方式依赖不同周期内的同一时间点的历史业务指标数据的准确度,当不同周期内的同一时间点的历史业务指标数据不准确时,后续估算得到的当前周期内的业务指标数据也不准确,进而导致数据处理的准确度。

发明内容

本申请实施例提供的数据处理方法、装置、设备和介质,可以提高数据处理的准确度。

第一方面,提供一种数据处理方法,包括:获取多个目标数据集,其中,每个目标数据集包括N个周期的一个时间点的业务指标数据,N个周期是目标周期的前N个周期,N为任意整数;

将多个目标数据集输入预先训练的时间递归的神经网络模型,输出目标时间点的业务指标数据的概率分布特征,其中,目标时间点是在目标周期的多个目标数据集对应的时间点之一;

根据概率分布特征,确定目标时间点的业务指标数据的实际值是否异常。

第二方面,提供一种数据处理装置,包括:

第一获取模块,用于获取多个目标数据集,其中,每个目标数据集包括N个周期的一个时间点的业务指标数据,N个周期是目标周期的前N个周期,N为任意整数;

第一处理模块,用于将多个目标数据集输入预先训练的时间递归的神经网络模型,输出目标时间点的业务指标数据的概率分布特征,其中,目标时间点是在目标周期的多个目标数据集对应的时间点之一;

第二处理模块,用于根据概率分布特征,确定目标时间点的业务指标数据的实际值是否异常。

第三方面,提供一种数据处理设备,包括:存储器,用于存储程序;

处理器,用于运行存储器中存储的程序,以执行第一方面或第一方面的任一可选的实施方式提供的数据处理方法。

第四方面,提供一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面或第一方面的任一可选的实施方式提供的数据处理方法。

根据本申请实施例中的数据处理方法、装置、设备和介质,由于每个目标数据集包括目标周期的前N个周期中的每个时间点的业务指标数据,通过将多个时间点各自对应的目标数据集输入时间递归的神经网络模型,可以根据前N个周期的多个时间点的业务数据对目标周期的业务指标数据的概率分布特征进行预估。相较于利用预测单点的方案获取的业务指标数据估算值,本申请中的业务指标数据的概率分布特征无需依赖预测单点的准确度,提高了业务指标数据的概率分布特征的估算准确度。因此,利用业务指标数据的概率分布特征进行业务指标数据是否异常判断的检测方案能够提高数据处理的准确度。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是一种智能业务指标数据异常诊断方案的示意图;

图2是另一种智能业务指标数据异常诊断方案的示意图;

图3是在业务指标数据的估算值失准场景下的另一种智能业务指标数据异常诊断方案的示意图;

图4是本申请提供的多日业务指标数据曲线的示意图;

图5是本申请提供的生成概率分布结果的逻辑示意图;

图6是本申请提供的生成交易处理时长数据的概率分布结果的逻辑示意图;

图7是本申请实施例提供的一种数据处理方法的示意流程图;

图8是本申请第一方面提供的数据处理方法的另一实施例的流程图;

图9是为本申请提供的一种示例性的第一基准区间和第二基准区间的示意图;

图10是本申请第一方面提供的数据处理方法的又一实施例的流程图;

图11是本申请第一方面提供的数据处理方法的再一实施例中的损失曲线的示意图;

图12是本申请第一方面提供的利用训练完的时间递归的神经网络模型得到的概率分布特征的示意图;

图13是本申请第一方面提供的一种时间递归的神经网络模型的结构示意图;

图14是本申请第一方面提供的一种示例性的时间递归的神经网络模型的结构示意图;

图15是本申请第一方面提供的一种GRU单元的逻辑运算过程的示意图;

图16是本申请第二方面提供的数据处理装置的一实施例的结构示意图;

图17是本申请第二方面提供的数据处理装置的另一实施例的结构示意图;

图18是本申请第二方面提供的数据处理装置的又一实施例的结构示意图;

图19是本申请第三方面提供的数据处理设备的一实施例的结构示意图。

具体实施方式

下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

在应用的各项业务的运行和维护中,可以利用业务指标数据对业务进行多维度的评价,比如业务指标数据异常可以作为业务异常的判断依据。随着智能化技术的不断发展,业务指标数据的智能化异常诊断方案也如雨后春笋般出现。

对于传统的业务指标数据异常诊断方案,其主要通过为各项业务指标数据设置对应的异常判断条件来判断其是否异常。如果监控到业务指标数据达到异常判断条件,则通知人员进行维修。示例性的,异常判断条件可以包括:业务成功率低于a%。其中,异常判断条件和异常判断条件中的判断阈值a可以是基于运维人员、业务人员等相关人员的人为经验进行设置的。在异常判断条件施行一段时间后,可以对判断阈值等参数进行上调或者下调。

对于另一种相关的智能业务指标数据异常诊断方案,其往往是基于“预测单点+预留预警空间”的方式进行的。其中,“预测单点”的含义是指利用不同历史周期内的同一时间点的历史业务指标数据对当前周期内的同一时间点的业务指标数据进行预估。“预留预警空间”的含义是指业务指标数据实际值的正常取值范围。具体地,估算出某一时间点的业务指标数据估算值后,以该业务数据估算值为基准,向上设置一个上限值,并向下设置一个下限值。然后将以该上下限值为边界的取值范围作为预留预警空间。如果业务指标数据超出该正常取值范围,则进行异常告警。

在具体实施过程中,可以利用机器学习算法实现该智能业务指标数据异常诊断方案。具体地,在异常诊断模型投入使用后,可以不断使用同一时间段的历史业务指标数据预测当前业务指标数据,即将不同历史周期内的同一时间点的历史业务指标数据输入异常诊断模型,得到当前周期的同一时间点的业务指标数据估算值。其中,在异常诊断模型的训练过程中,该模型需要学习同一时间点的历史业务指标数据和当前业务指标数据的对应关系。然后,在得到当前业务指标数据的预估值后,若该预估值超出预留预警空间,则进行异常报警。

图1为一种智能业务指标数据异常诊断方案的示意图。如图1所示,图1的横坐标表示一天内的时刻,比如“0:49:40”表示这一天的0点49分40秒。图1中的纵坐标可以表示业务指标数据的具体数值。其中,曲线1为业务指标数据的真实值的变化曲线,其中,曲线1表示业务指标数据的真实值在这一天内的变化情况。曲线2为业务指标数据的估算值的变化曲线,其中,曲线2表示业务指标数据的评估值在这一天内的变化情况。曲线3为预留告警区间的上限值的变化曲线,其中,曲线3表示预留告警区间的上限值在这一天内的变化情况,曲线3可以视为是曲线2平行上移得到的。曲线4为预留告警区间的下限值的变化曲线,表示预留告警区间的下限值在这一天内的变化情况,曲线4可以视为是曲线2平行下移得到的。

根据图1所示,在0:00:00-8:16:40之间的时间段内,曲线1基本位于曲线3的上方或者位于曲线4的下方,也就是说,在这个时间段内,大量的业务指标数据的真实值超出了预留告警区间的取值范围。

在又一种相关的智能业务指标数据异常诊断方案,与上一智能业务指标数据异常诊断方案的不同之处在于,预留告警空间的宽度值可以等于历史业务指标数据的三倍标准差。图2为另一种智能业务指标数据异常诊断方案的示意图。其中,图2的横纵坐标、曲线1-4的含义与图1中的相同,在此不再赘述。

然而,上述业务指标数据异常诊断方案存在着一定的缺陷。具体缺陷如下:

首先,对于上述传统的业务指标数据异常检测方案,其是一种粗放式、全人工的异常检测方案。在该种方式中,异常判断条件和异常判断条件中的判断阈值均由人工拟定,该种方式完全依赖相关人员对历史数据的经验总结,容易产生误报漏报,且对异常判断条件的调整的周期较长,无法在较短时间得到合理的异常判断条件。

其次,对于上述智能业务指标数据异常诊断方案,存在下述缺陷:

缺陷(1),极端依赖预测单点的准确度,也就是说,不同周期内的同一时间点的历史业务指标数据不准确时,后续估算得到的当前周期内的业务指标数据也不准确。因此,一旦单点预测失准,将导致预留预警空间整体上产生较大偏离。图3为在业务指标数据的估算值失准场景下的另一种智能业务指标数据异常诊断方案的示意图。通过图2和图3对比可知,一旦业务指标数据的估算值失准,预留预警空间整体上产生较大偏离。例如,在8:16:40-21:16:30之间的时间段内,预留预警空间整体偏低,在这个时间段内业务指标数据异常的误诊断率大大升高。然而,申请人通过研究发现,真实的业务指标数据本身就存在较大波动,业务指标数据的估算值容易发生失准现象,因此该种方案的准确率和鲁棒性均较低。

缺陷(2),仅通过同一时刻的历史业务指标数据来预测当前业务指标数据,参考数据量少,数据之间的关联性差,即使历史业务指标数据在时间轴上发生少量偏移,例如偏移量小于1分钟,也容易对预估结果的估算精度产生大幅影响。

缺陷(3),预留告警空间仍旧需要人工制定,由于依赖人工经验而导致没有足够的理论支撑,最终需要与传统方案一样,即人工手动对预留告警空间的参数进行调整,从而产生容易产生误报漏报的相同问题,检测精度较低。

缺陷(4),对于预期的检测精度,只能通过人工不断调试的方式修改参数来进行适应,容易出现顾此失彼、“拆东墙补西墙”的情况,且调整周期较长。

基于此,需用一种新的业务指标数据的异常诊断方法,以克服上述缺陷中的一个或多个。

首先,为了便于理解本申请,在开始介绍数据处理方法之前,先对业务指标数据、业务指标数据的概率分布结果作具体说明。

(1)业务指标数据,业务指标数据用于反映业务各项指标的数据。以交易为例,业务指标数据可以包括:反映交易量的第一指标数据,反映交易成功率的第二指标数据,反映交易处理时延的第三指标数据等。示例性地,第一指标数据可以包括预设时间段内的失败交易的笔数,预设时间段内的交易总数等。第二指标数据可以包括预设时间段内交易的平均成功率等。第三指标数据可以包括:预设时间段内的平均处理时延。

申请人通过对大量的业务指标数据进行研究分析,发现业务指标数据存在一定的分布规律。图4为本申请提供的多日业务指标数据曲线的示意图,下面结合图4,对申请人发现的业务指标数据的分布规律作具体说明。

业务指标数据存在着周期性分布的特性,但是不同周期的同一时间点的业务指标数据会存在着一定波动。比如,如图4所示,不同日期的业务指标数据曲线的变化趋势相似。但是,通过图4可以发现,不同日期的业务指标数据曲线的变化趋势并非是完全相同的,比如从各数据曲线的尖峰可以看出,同一时刻的业务指标数据,在不同日期内存在一定的波动。示例性地,若交易量在T日的20:00达到该日最大值,则在T+1日业务量最大值并不一定出现在20:00,而是有可能出现在19:55分或者20:03分,即业务量最大值可能在20:00附近波动。

(2)业务指标数据的概率分布结果。

为了能够对业务指标数据进行更加科学的研究,申请人从量子力学中的测不准定理、电子云的物理规律中得到启示,将业务指标数据离散化、概率化。也就是说,申请人将一段时间内的业务指标数据离散后看作概率分布的实际结果,将业务指标数据的正常值看作是概率分布下大概率发生的事件,将业务指标数据的异常值看作是现有概率分布下小概率发生的事件。

基于上述启示,申请人将多日同一时段数据进行概率统计,可以得到一个概率分布结果。其中,图5是本申请提供的生成概率分布结果的逻辑示意图。可以在多日业务指标数据中,可以选取目标时间段内的数据进行概率统计,得到概率分布结果。比如,将图5中虚线椭圆框内的数据作为待处理数据,对其进行概率统计,得到箭头下方的概率分布图。其中,概率分布图的横坐标表示业务指标数据的多个基准范围。示例性地,以业务指标数据为交易成交量为例,可以将交易成交量的变化范围划为M个区间,每个区间作为一个基准范围。比如,若交易成交量的变化范围为[0,600000],若将其划分为100个基准范围,即M=100,则业务指标数据的多个基准范围可以是:[0,6000)、[6000,12000)、……、[594000,600000]等。概率分布图的纵坐标表示各基准范围对应的概率值。示例性地,若基准范围[6000,12000)对应的概率值为0.12,则表示业务指标数据落入[6000,12000)的概率为0.12。又或者,业务指标数据的多个基准范围可以是预先设置好的多个范围。

图6是本申请提供的生成交易处理时长数据的概率分布结果的逻辑示意图。可以在交易处理时长数据中,可以选取目标时间段内的数据进行概率统计,得到概率统计结果。比如,将图6中虚线椭圆框内的交易处理时长数据作为待处理数据,对其进行概率统计,得到箭头下方的概率分布图。

此外,申请人对图5和图6中的概率分布图研究还发现,业务指标数据的分布并非呈现正态分布。具体地,以图6为例,存在如下情况:1.业务指标数据在某些时刻会剧烈地震荡;2.业务指标数值的概率分布存在“长尾”现象;3.总体概率分布较“正态分布”有比较明显的偏度(偏左)、峰度(偏瘦)。

基于上述发现,本申请提供了一种数据处理方法、装置、设备和介质,可以根据包含某一时间点的多个时间点在前N个周期的业务指标数据,估算该时间点在第N个周期的业务指标数据的概率分布特征。再根据概率分布特征,确定目标时间点的业务指标数据的实际值是否异常。提高了数据处理的准确度。

下面首先对本申请实施例所提供的数据处理方法进行介绍。

图7是本申请实施例提供的一种数据处理方法的示意流程图。如图7所示,本实施例中的数据处理方法700可以包括步骤S701至步骤S703。

在步骤S701,获取多个目标数据集。

其中,每个目标数据集包括N个周期的一个时间点的业务指标数据。

首先,为了便于理解,先对周期和时间点的关系进行说明。本申请实施例中每个周期均包括多个时间点。对于N个周期的一个时间点,可以是N个周期各自的第i个时间点。比如,若一个周期为一整天,N为3,N个周期的一个时间点,可以是包括:第1天的3点、第2天的3点、以及第3天的3点。

其次,对于N个周期。N个周期是目标周期的前N个周期。也就是说,在目标周期之前、且最靠近目标周期的N个周期。即,目标周期的前一个周期、目标周期的前两个周期、……、目标周期的前N个周期。示例性地,若目标周期是7月4日,N为3,则N个周期可以是7月1日、7月2日和7月3日。

需要说明的是,N可以任意整数,可以根据具体的检测场景、检测精度需求、以及检测速度需求选择合适的N,对N的具体数值不作限定。

再其次,对于目标数据集和时间点的关系,每个目标数据集对应一个时间点,不同的目标数据集可以对应不同的时间点。比如,5个目标数据集,分布对应于2点58分、2点59分、3点00分、3点01分、3点02分。相应的,若周期是一整天,对应于2点59分的目标数据集包括:第1天的2点59分的业务指标数据、第2天的2点59分的业务指标数据、……、第N天的2点59分的业务指标数据。

在一些实施例中,多个目标数据集对应的多个时间点,可以是目标时间段内的多个时间点。示例性地,若目标时间段是1点30分-4点30分,时间点精确到分钟,多个目标数据集可以分别对应1点30分、1点31分、……、3点00分、……、4点29分、4点30分。

在一个具体的实施例中,与多个目标数据集对应的多个时间点可以是连续的时间点。当多个时间点是连续时间点时,由于输入的数据包括多个时间点对应的目标数据集,除了目标时间点之外,时间递归的神经网络模型还可以利用目标时间点邻近的多个时间点,对目标时间点的概率分布特征进行预估。

需要说明的是,步骤S701中的目标数据集的数量、目标数据集中的业务指标数据的数量均可以根据业务检测场景、检测精度需求、检测速度需求等设置,对此不作具体限定。

在一些实施例中,步骤S701具体包括:

第一步骤,确定目标数据集中的业务指标数据的数据类型。

第二步骤,在预设的多个数据读取模块中,确定与数据类型对应的目标数据读取模块。

示例性地,预设的数据读取模块可以包括:对应于存储在数据库中的数据的关系型数据库管理系统(mysql)模块、对应于存储在搜索服务器(elastic Search,ES)中的日志数据的ES模块、对应于文本文件数据的文本模块。

第三步骤,利用目标数据读取模块,获取多个目标数据集。

通过本实施例,可以实现数据中台化处理,可以对不同类型的业务指标数据灵活调用合适的数据读取模块,提高了数据处理能力,且减小了代码数量。

在步骤S702,将多个目标数据集输入预先训练的时间递归的神经网络模型,输出目标时间点的业务指标数据的概率分布特征。

步骤S702中的目标时间点是在目标周期下的多个目标数据集对应的时间点之一。其中,可以将上述多个目标数据集对应的时间点之一称为第一时间点,相应地,目标时间点称为目标周期的第一时间点。也就是说,若有K个目标数据集,分别与K个目标数据集一一对应的K个时间点分别为t

需要强调的是,目标时间点与目标数据集对应的时间点不同,目标数据集对应的时间点未限定在某个或者某些周期内,例如该时间点可以是20点40分,而不具体限定是哪一天的20点40分。而目标时间点特指目标周期内的一个时间点,比如7月24日的20点40分。

为了便于理解步骤S702,下述部分先对时间递归的神经网络模型作具体解释说明。

在一些实施例中,本申请实施例中的时间递归的神经网络模型是指能够记录当前输入之前的信息,并利用之前的信息影响当前的输出的神经网络。

在一个实施例中,时间递归的神经网络模型可以是循环神经网络(RecurrentNeural Networks,RNN)模型。其中,RNN模型的隐藏层之间的结点是有连接的,隐藏层的输入不仅包括输入层的输出,还包含上一时刻隐藏层的输出。具体地,RNN模型的隐藏层会对于每一个时刻的输入结合当前模型的状态给出一个输出。

在一个具体的示例中,若选用双向RNN模型,则可以对正向RNN的当前输出和反向RNN的当前输出通过拼接或者求和等方式生成双向RNN模型的当前输出信息。

在本申请实施例中,在生成目标时间点的业务指标数据的概率分布特征的过程中,正向RNN的当前输入包括N个周期的第一时间点的业务指标数据,以及,N个周期的第二时间点的业务指标数据。其中第二时间点是指与目标数据集对应的多个时间点中早于第一时间点的至少一个时间点。

反向RNN的当前输入包括N个周期的第一时间点的业务指标数据,以及,N个周期的第三时间点的业务指标数据。其中第三时间点是指与目标数据集对应的多个时间点中晚于第一时间点的至少一个时间点。

申请人考虑到第一时间点的业务指标数据可能在第一时间点前后波动,在预估目标周期的第一时间点的概率分布特征时,选用双向RNN模型可以根据第一时间点的业务指标数据、早于第一时间点的第二时间点的业务指标数据以及晚于第一时间点的第三时间点的业务指标数据进行预估,从而进一步提高了预估的准确度。

在一个实施例中,时间递归的神经网络模型可以是长短期记忆神经网络(LongShort Term Memory,LSTM)模型。其中,LSTM模型引入了门控模块,来处理记忆单元的记忆/遗忘、输入程度、输出程度等问题。具体地,LSTM模型主要包括遗忘门、输入门和输出门。其中,LSTM模型在每一个时刻都有一个输出和细胞状态(cell state)。

LSTM模型的内部处理流程是这样的:对于当前时刻,把上一时刻的输出和当前时刻的输入作为LSTM模型的当前时刻的输入信号,同时该输入信号也是三个门的输入。首先,当前时刻的输入信号经过一个遗忘门,如果遗忘门的输出结果接近0,表示尽量忘掉上一个时刻的输出,而接近1表示进行记忆。然后,利用遗忘门的输出结果和上一时刻的细胞状态得到上一时刻的状态残存部分。接着,经过输入门处理后的输入信号和上一时刻的状态残存部分加起来,得到当前时刻的细胞状态。最后,将经过tanh运算的当前时刻的细胞状态,和经过输出门处理后的输入信号进行运算,运算结果就是当前时刻的输出。

在一个具体的示例中,LSTM模型可以选用双向LSTM模型。其中,双向LSTM模型与双向RNN模型类似,双向LSTM模型的具体内容可参见本申请实施例上述部分对双向RNN模型的相关描述,对此不再赘述。

在一个实施例中,时间递归的神经网络模型可以是门控循环单元(gatedrecurrent unit,GRU)模型。

GRU模型具有两个门,即重置门和更新门。重置门控制着忽略前一时刻的状态信息的程度,重置门的值z

其中,GRU模型中的重置门和更新门的输入信息均为当前时刻的输入X

在一个具体的示例中,GRU模型可以选用双向GRU模型。其中,双向GRU模型与双向RNN模型类似,双向GRU模型的具体内容可参见本申请实施例上述部分对双向RNN模型的相关描述,对此不再赘述。

接着,在介绍完时间递归的神经网络模型之后,对步骤S702的具体实施方式作具体说明。

在一些实施例中,可以按照所对应的时间点的先后次序,将多个目标数据集输入预先训练好的时间递归的神经网络模型。若多个目标数据集对应的时间点按照时间先后次序依次为t

在一个实施例中,各目标数据集可以以特征向量的形式输入时间递归的神经网络模型。具体地,该特征向量可以为1×(N+1)的向量。其中,某一时间点的特征向量的元素包括:前N个周期的该时间点的业务指标数据以及该时间点的标识。示例性地,若目标周期的前N个周期分别表示为T

此外,对于业务指标数据的概率分布特征,其可以是一个1×M的向量。其中,1×M的向量中的第p个元素P

需要说明的是,概率分布特征的其他内容,可参考本申请实施例的上述部分结合图5和图6对概率分布结果的相关说明,在此不再赘述。

在步骤S703,根据概率分布特征,确定目标时间点的业务指标数据的实际值是否异常。

在一些实施例中,可以根据概率分布特征,预估出一个目标时间点的业务指标数据,再根据预估得到的目标时间点的业务指标数据与目标时间点的业务指标数据的实际值的差值是否大于预设阈值,确定目标时间点的业务指标数据的实际值是否异常。具体地,若二者的差值大于预设阈值,则证明目标时间点的业务指标数据的实际值异常。若二者的差值小于预设阈值,则证明目标时间点的业务指标数据的实际值正常。

在另一些实施例中,可以根据概率分布特征,确定目标时间点的业务指标数据的正常取值范围。然后,根据目标时间点的业务指标数据的实际值是否超出该参考取值范围,判断目标时间点的业务指标数据的实际值是否异常。具体地,若实际值超出该参考取值范围,则证明目标时间点的业务指标数据的实际值异常。若实际值未超出该参考取值范围,则证明目标时间点的业务指标数据的实际值正常。

在本申请实施例中,由于每个目标数据集包括目标周期的前N个周期中的每个时间点的业务指标数据,通过将多个时间点各自对应的目标数据集输入时间递归的神经网络模型,可以根据前N个周期的多个时间点的业务数据对目标周期的业务指标数据的概率分布特征进行预估。相较于利用预测单点的方案获取的业务指标数据估算值,本申请中的业务指标数据的概率分布特征无需依赖预测单点的准确度,提高了业务指标数据的概率分布特征的估算准确度。因此,利用业务指标数据的概率分布特征进行业务指标数据是否异常判断的检测方案能够提高数据处理的准确度。

为了提高数据处理的准确度,可以根据目标时间点的业务指标数据确定目标时间点的业务指标数据的参考取值范围来判断目标时间点的业务指标数据是否异常。图8为本申请第一方面提供的数据处理方法的另一实施例的流程图。图8与图7的不同之处在于,图7中的步骤S703具体细化为图8中的步骤S3031。

在步骤S7031中,根据概率分布特征,确定目标时间点的业务指标数据的参考取值范围。

其中,若概率分布特征包括M个基准范围各自的概率值。参考取值范围可以是由一个或多个连续的基准范围组成的更大的取值范围。参考取值范围对应的概率值等于该一个或多个连续的基准范围的概率值之和。

比如,若M个基准范围包括:[a

在一些实施例中,参考基准范围可以是根据业务指标数据的误判率V

在步骤S7032中,判断目标时间点的业务指标数据的实际值是否超出参考取值范围。

在步骤S7033中,在目标时间点的业务指标数据的实际值超出参考取值范围的情况下,确定业务指标数据异常。

另外,若目标时间点的业务指标数据的实际值未超出参考取值范围,确定业务指标数据正常。

在本申请实施例中,与直接估算出业务指标数据的一个具体数值的方案相比,可以根据目标时间点的概率分布特征,合理的设置参考取值范围,提高了检测准确度。

在一些实施例中,为了进一步提高数据处理的准确度,可以业务指标数据的误判率确定参考取值范围。此时,S7031可以具体包括下述步骤a至步骤c。

在步骤a中,确定业务指标数据的误判率。

其中,业务指标数据的误判率是指将正常的业务指标数据误判为异常的业务指标数据的概率。

在一个实施例中,步骤a的具体实施方式可以包括步骤a1和步骤a2。

在步骤a1中,确定预设告警条件的错误告警率。

其中,预设告警条件包括:多个时间点的业务指标数据的实际值异常。示例性地,若将一个时间点持续10秒,也就是说1个时间点的业务指标数据包括连续10秒的业务指标数据。预设告警条件可以包括:连续5个10秒的业务指标数据均异常。

在一个具体的实施例中,可以根据错误告警的容忍条件确定预设告警条件的错误告警率。在一个示例中,容忍条件包括:在预设时间段内错误告警的最大次数。则错误告警率等于该最大次数与预设时间段内的可能发生的最大告警次数T的比值。

例如,若预设告警条件为“连续5个10秒的业务指标数据均异常”,对错误告警的容忍条件为“每月最多1次错误告警”。

则预设告警条件的错误告警率P

需要说明的是,本实施例中,错误告警可以包括漏报、误报等情况。

在步骤a2中,根据预设告警条件的错误告警率,确定业务指标数据误判率。

在步骤a2中,由于多个时间点的业务指标数据的实际值异常会触发告警,如果其中任意一个时间点的业务指标数据的实际值是正常的,则可以认为发生了误告警。因此,可以根据预设告警条件的错误告警率确定业务指标数据的误判率。

示例性的,继续以上一示例进行说明,若预设告警条件的错误告警率P

在步骤b中,在多个基准范围中确定第一基准范围和第二基准范围。

其中,第一基准范围对应的第一概率累加值和第二基准范围对应的第二概率累加值均大于或等于误判率。第一概率累加值为从多个基准范围中左端点值最小的基准范围到第一基准范围的分布概率的累加值,第二概率累加值为从第二基准值到多个基准值中的右端点值最大的基准范围的分布概率的累加值。

示例性地,若多个基准范围准范围包括:[a

示例性地,图9是为本申请提供的一种示例性的第一基准区间和第二基准区间的示意图。如图9所示,图9中的曲线为目标时间点的概率分布特征对应的概率分布曲线。若[a

需要说明的是,在本申请实施例中,一个范围的左端点为这个范围的最小值,一个范围的右端点为这个范围的最大值。

在步骤c中,以第一基准范围的基准值为左端点,以第二基准范围的基准值为右端点,确定参考取值范围。

在一个实施例中,第一基准范围的基准值可以是第一基准范围的右端点。示例性地,继续参考图9,第一基准范围[a

为了提高数据处理的准确度,将数据输入时间递归的神经网络模型之前,可以对数据进行清洗。图10为本申请第一方面提供的数据处理方法的又一实施例的流程图。图10与图7的不同之处在于,图10中的数据处理方法还可以包括步骤S704至S706。

在步骤S704中,获取多个原始数据集。

其中,一个原始数据集对应一个时间点,原始数据集包括与其对应的时间点在N个周期内的原始业务指标数据。

示例性地,若需要预估7月4日3点00分的业务指标数据,原始业务数据可以包括7月1日、7月2日和7月3日的1点30分-4点30分间的所有业务指标数据。

在步骤S705中,利用目标聚类算法,对多个原始数据集中的原始业务指标数据进行聚类,得到至少一个聚类簇。

在一些实施例中,目标聚类算法可以是离群点检测算法(Local Outlier Factor,LOF)算法、凝聚层次聚类算法、应用于噪声空间的基于密度的聚类(Density-BasedSpatial Clustering of Applications with Noise,DBSCAN)算法中的一者,对目标聚类算法的具体类型不作限制。

在一些实施例中,可以通过推举的方式从多个候选聚类算法中选取目标聚类算法。相应地,在步骤S705之前,数据处理方法还可以包括下述三个步骤。

第一步骤、利用预设的多个候选聚类算法对多个原始业务指标数据进行聚类,得到多个候选聚类算法的聚类结果。

在一个实施例中,候选聚类算法可以包括LOF算法、凝聚层次聚类算法、DBSCAN算法中的至少两个。

第二步骤、根据多个候选聚类算法的聚类结果,确定多个候选聚类算法的聚类准确率。

第三步骤、在多个候选聚类算法中,将聚类准确率最高的候选聚类算法确定为目标聚类算法。

通过上述三个步骤,可以实现算法中台化,无需修改代码即可对不同的业务指标数据应用不同的聚类算法,且保证了聚类准确度。

在步骤S706中,在至少一个聚类簇中,将对应于同一时间点的原始业务指标数据,确定为一个目标数据集。

由于是对分别与多个时间点对应的原始数据集进行聚类,相应地通过S706可以获取多个目标数据集。

通过本实施例,通过聚类算法,可以将原始业务指标数据中明显存在异常的业务指标数据进行剔除,从而防止了异常业务指标数据对预估结果的影响,提高了数据处理的准确率。

在使用时间递归的神经网络模型之前,还需要提前对其训练。在一些实施例中,数据处理方法还可以包括下述第一步骤至第四步骤。

第一步骤,获取多个训练样本。

第二步骤,对于每一训练样本,将训练样本输入待训练的时间递归的神经网络模型,得到第N+1个周期的一个时间点的业务指标数据的预测结果。其中,训练样本包括前N个周期的一个时间点的业务指标数据。

其中,训练样本可以属于历史的任意连续N个周期。训练结果属于该任意连续N个周期的下一个周期。比如,若训练样本包括6月2日至6月4日的6点00分的业务指标数据,则预测结果可以是6月5日6点00分的业务指标数据的预估值。

第三步骤,对于每一训练样本,判断是否满足预设的训练停止条件。

在一些实施例中,预设的训练停止条件可以是根据本次训练结果得到的损失函数值达到预设要求。又或者,可以是训练次数达到预设次数阈值。

其中,训练停止条件可以根据实际场景和要求进行设置,对此不作限定。

第四步骤,对于每一训练样本,在不满足预设的训练停止条件的情况下,利用预测结果和训练样本的标签数据,调整时间递归的神经网络模型的模型参数,将多个新的训练样本输入调整后的时间递归的神经网络模型,直到满足预设的训练停止条件,得到训练后的时间递归的神经网络模型。

其中,训练样本的标签数据包括第N+1个周期的一个时间点的业务指标数据的概率分布特征。可选地,可以获取第N+1个周期的一个时间点的业务指标数据的实际值,然后将该实际值对应的多分类标签(one-hot向量)作为训练样本的标签数据。

在一些实施例中,时间递归的神经网络模型的训练参数可以包括训练优化器种类、学习率、批次大小、以及训练轮次等参数。具体参数设置可以如下述表1所示。

表1

在利用如表1示出的训练参数对本申请实施例中的时间递归的神经网络模型进行训练时,图11为本申请第一方面提供的数据处理方法的再一实施例中的损失曲线的示意图。如图11所示,其中,图11的横轴代表训练的迭代次数,即同一组训练数据被重复训练的次数。图11的纵轴代表损失函数的输出值。在训练过程中,损失函数的输出值随着训训练迭代次数的增加而减小。训练完的时间递归的神经网络模型的准确率可达到99.997%。在训练过程中,随着训练迭代次数的增加。损失函数的输出值随着训练进程而减小。由于损失函数的输出值可以被认为是模型预测结果与真实结果差距的量化体现,模型预测结果与真实结果差距也随着损失函数的输出值的减小而逐渐减小,训练完的时间递归的神经网络模型的准确率可达到99.997%。

为了验证本申请实施例训练得到的时间递归的神经网络模型,图12为本申请第一方面提供的利用训练完的时间递归的神经网络模型得到的概率分布特征的示意图。其中,图中的横坐标方向表示业务指标数据的取值,纵坐标表示各取值对应的概率。离散的竖线用于表示实际的目标时间点的业务指标数据的概率分布特征。具体地,每个竖线的横坐标表示一个基准范围,各竖线的高度值表示该基准范围对应的概率值。图中的曲线为利用训练完的时间递归的神经网络模型得到的概率分布特征对应的概率分布曲线。

通过图12可以发现,预估得到的概率分布曲线与真实的概率分布特征的轮廓基本重合,也就是说,本申请实施例提供的时间递归的神经网络模型的预测准确率较高。

在一些实施例中,图13是本申请第一方面提供的一种时间递归的神经网络模型的结构示意图。如图13所示,时间递归的神经网络模型包括:至少一个时间递归的神经网络层G1-Gx和全连接层D1。其中全连接层采用归一化指数softmax激活函数。其中,至少一个时间递归的神经网络层和全连接层用于对多个目标数据集进行串行处理。其中,x为任意整数。

也就是说,对于任意相邻的两个神经网络层,前一神经网络层的输出作为当前神经网络层的输入。第一个神经网络层的输入是多个目标数据集,最后一个神经网络层的输出经过全连接层D1,利用softmax激活函数进行多分类处理,得到目标时间点的业务指标数据的概率分布特征。

在一个实施例中,图14是本申请第一方面提供的一种示例性的时间递归的神经网络模型的结构示意图。其中,神经网络层的数量为5。图14还示出了数据的处理过程。如图13所示,神经网络层G1的输入数据可以表示为(None,1,4)。其中,None表示数据是可变的,4表示内部记忆区的大小。神经网络层G1的输出数据为(None,1,32),也就是说,数据量变成了32个。将神经网络层G1的输出数据(None,1,32)作为神经网络层G2的输入数据,得到神经网络层G2的输出数据(None,1,64),也就是说,数据量变成了64个。同理地,数据依次经过神经网络层G3、神经网络层G4和神经网络层G5后,得到神经网络层G5的输出数据(None,1,32)。将神经网络层G5的输出数据输入权连接层,得到目标时间点的业务指标数据的概率分布特征。其中,概率分布特征包括100个特征值。

在一个实施例中,每一时间递归的神经网络层包括双向的神经网络单元。其中,该部分的内容可详见步骤S702中的相关说明,在此不再赘述。

在一个具体的示例中,神经网络单元可以是GRU单元。图15是本申请第一方面提供的一种GRU单元的逻辑运算过程的示意图。

其中,该GRU单元的逻辑运算过程可以参见下述算式:

首先,重置门z

z

其中,W

其次,更新门r

r

其中,W

再其次,细胞状态

其中,W为第二权重。

最后,当前时刻的输出h

基于相同的申请构思,本申请第二方面提供了一种数据处理装置,该数据处理装置可执行上述第一方面提供的数据处理方法。图16为本申请第二方面提供的数据处理装置的一实施例的结构示意图。如图16所示,数据处理装置1600可包括第一获取模块1601、第一处理模块1602和第二处理模块1603。

第一获取模块1601用于获取多个目标数据集,其中,每个目标数据集包括N个周期的一个时间点的业务指标数据,N个周期是目标周期的前N个周期,N为任意整数。

第一处理模块1602用于将多个目标数据集输入预先训练的时间递归的神经网络模型,输出目标时间点的业务指标数据的概率分布特征,其中,目标时间点是在目标周期的多个目标数据集对应的时间点之一。

第二处理模块1603用于根据概率分布特征,确定目标时间点的业务指标数据的实际值是否异常。

根据本申请实施例中的数据处理方法、装置、设备和介质,由于每个目标数据集包括目标周期的前N个周期中的每个时间点的业务指标数据,通过将多个时间点各自对应的目标数据集输入时间递归的神经网络模型,可以根据前N个周期的多个时间点的业务数据对目标周期的业务指标数据的概率分布特征进行预估。相较于利用预测单点的方案获取的业务指标数据估算值,本申请中的业务指标数据的概率分布特征无需依赖预测单点的准确度,提高了业务指标数据的概率分布特征的估算准确度。因此,利用业务指标数据的概率分布特征进行业务指标数据是否异常判断的检测方案能够提高数据处理的准确度。

在一些实施例中,第二处理模块1603具体包括:

第一处理单元,用于根据概率分布特征,确定目标时间点的业务指标数据的参考取值范围;

获取单元,用于判断目标时间点的业务指标数据的实际值是否超出参考取值范围;

第二处理单元,用于在目标时间点的业务指标数据的实际值超出参考取值范围的情况下,确定业务指标数据异常。

在一些实施例中,第一处理单元,具体用于:

确定业务指标数据的误判率;

在多个基准范围中确定第一基准范围和第二基准范围,其中,第一基准范围对应的第一概率累加值和第二基准范围对应的第二概率累加值均大于或等于误判率,第一概率累加值为从多个基准范围中左端点值最小的基准范围到第一基准范围的分布概率的累加值,第二概率累加值为从第二基准值到多个基准值中的右端点值最大的基准范围的分布概率的累加值;

以第一基准范围的基准值为左端点,以第二基准范围的基准值为右端点,确定参考取值范围。

在一些实施例中,第一处理单元,具体用于:

确定预设告警条件的错误告警率,预设告警条件包括:多个时间点的业务指标数据的实际值异常;

根据预设告警条件的错误告警率,确定业务指标数据误判率。

在一些实施例中,第一获取模块1601,具体包括:

获取单元,用于获获取多个原始数据集,其中,一个原始数据集对应一个时间点,原始数据集包括与其对应的时间点在N个周期内的原始业务指标数据;

聚类单元,利用目标聚类算法,对多个原始数据集中的原始业务指标数据进行聚类,得到至少一个聚类簇;

处理单元,对于在至少一个聚类簇中,将对应于一个时间点的原始业务指标数据,确定为一个目标数据集。

图17为本申请第二方面提供的数据处理装置的另一实施例的结构示意图。图17与图16的不同之处在于,图17所示的数据处理装置还可包括聚类模块1604和第三处理模块1605。

聚类模块1604用于利用预设的多个候选聚类算法对多个原始业务指标数据进行聚类,得到多个候选聚类算法的聚类结果;

第四处理模块1605用于根据多个候选聚类算法的聚类结果,确定多个候选聚类算法的聚类准确率,以及,用于在多个候选聚类算法中,将聚类准确率最高的候选聚类算法确定为目标聚类算法

图18为本申请第二方面提供的数据处理装置的又一实施例的结构示意图。图18与图16的不同之处在于,图18所示的数据处理装置还可包括第二获取模块1606和训练模块1607。

第二获取模块1606用于获取多个训练样本。

训练模块1607用于针对每个训练样本分别执行以下步骤:将训练样本输入待训练的时间递归的神经网络模型,得到第N+1个周期的一个时间点的业务指标数据的预测结果,其中,训练样本包括前N个周期的一个时间点的业务指标数据;以及,用于判断是否满足预设的训练停止条件;在不满足预设的训练停止条件的情况下,利用预测结果和训练样本的标签数据,调整时间递归的神经网络模型的模型参数,将多个新的训练样本输入调整后的时间递归的神经网络模型,直到满足预设的训练停止条件,得到训练后的时间递归的神经网络模型。

其中,训练样本的标签数据包括第N+1个周期的一个时间点的业务指标数据的概率分布特征。

在一些实施例中,时间递归的神经网络模型包括:至少一个时间递归的神经网络层和全连接层,其中全连接层采用归一化指数softmax激活函数。

在一些实施例中,每一时间递归的神经网络层包括双向的神经网络单元。

在一些实施例中,时间递归的神经网络模型包括:循环神经网络RNN模型、长短期神经记忆网络LSTM模型或者门控循环单元神经网络GRU模型。

在一些实施例中,第一获取模块,具体包括:

第三处理单元,用于确定目标数据集中的业务指标数据的数据类型;

第四处理单元,用于在预设的多个数据读取模块中,确定与数据类型对应的目标数据读取模块;

获取单元,用于利用目标数据读取模块,获取多个目标数据集。

本申请第三方面还提供了一种数据处理设备。图19为本申请第三方面提供的数据处理设备的一实施例的结构示意图。如图19所示,服务器1900包括存储器1901、处理器1902及存储在存储器1901上并可在处理器1902上运行的计算机程序。

在一个示例中,上述处理器1902可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。

存储器1901可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器1901可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。

存储器可包括只读存储器(Read-Only Memory,ROM),随机存取存储器(RandomAccess Memory,RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请生物识别终端异常检测方法所描述的操作。

处理器1902通过读取存储器1901中存储的可执行程序代码来运行与可执行程序代码对应的计算机程序,以用于实现上述第一方面提供的资源处理方法。

在一个示例中,服务器1900还可包括通信接口1903和总线1904。其中,如图19所示,存储器1901、处理器1902、通信接口1903通过总线1904连接并完成相互间的通信。

通信接口1903,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。也可通过通信接口1903接入输入设备和/或输出设备。

总线1904包括硬件、软件或两者,将服务器1900的部件彼此耦接在一起。举例来说而非限制,总线1904可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(Enhanced Industry Standard Architecture,EISA)总线、前端总线(Front Side Bus,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low pincount,LPC)总线、存储器总线、微信道架构(Micro Channel Architecture,MCA)总线、外围组件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced Technology Attachment,SATA)总线、视频电子标准协会局部(Video Electronics Standards Association Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1904可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时可实现上述第一方面中任意一方面提供的资源处理方法,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,上述计算机可读存储介质可包括只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等,在此并不限定。

需要明确的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。对于服务器实施例、用户终端实施例、支付执行方设备实施例、计算机可读存储介质实施例而言,相关之处可以参见方法实施例的说明部分。本申请并不局限于上文所描述并在图中示出的特定步骤和结构。本领域的技术人员可以在领会本申请的精神之后,作出各种改变、修改和添加,或者改变步骤之间的顺序。并且,为了简明起见,这里省略对已知方法技术的详细描述。

上面参考根据本申请的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。

本领域技术人员应能理解,上述实施例均是示例性而非限制性的。在不同实施例中出现的不同技术特征可以进行组合,以取得有益效果。本领域技术人员在研究附图、说明书及权利要求书的基础上,应能理解并实现所揭示的实施例的其他变化的实施例。在权利要求书中,术语“包括”并不排除其他装置或步骤;数量词“一个”不排除多个;术语“第一”、“第二”用于标示名称而非用于表示任何特定的顺序。权利要求中的任何附图标记均不应被理解为对保护范围的限制。权利要求中出现的多个部分的功能可以由一个单独的硬件或软件模块来实现。某些技术特征出现在不同的从属权利要求中并不意味着不能将这些技术特征进行组合以取得有益效果。

技术分类

06120112231864