一种数据波动的处理方法、装置及设备与流程

文档序号:18476341发布日期:2019-08-20 21:08阅读:540来源:国知局
一种数据波动的处理方法、装置及设备与流程

本说明书涉及计算机技术领域,尤其涉及一种数据波动的处理方法、装置及设备。



背景技术:

随着业务的快速发展,服务器越来越多,中间件、应用程序、微服务、数据库等也越来越多样化,为了使得各项业务能够平稳稳定的运行,在业务运营活动中,需要对各项业务的业务量进行监测,以及时发现可能出现的异常情况。

在业务运营活动中,为了监测各项业务的业务量,需要对相应业务的业务指标进行监测,并对该业务指标的波动进行分析,其中,可以包括判断业务指标的波动是否发生异常,而对于异常波动的业务指标,可以定位异常波动发生的维度,并对定位结果进行可理解的文案展示等。为了满足上述需求,通常可以通过下述方法处理:数据分析人员可以对待分析业务的业务数据进行人工分析,然后,通过预先设定的阈值判断某业务的业务指标是否发生异常,并对发生异常的维度进行手工筛查,直到找到出现异常的维度为止,最后通过分析筛查的出现异常的维度的结果,人工整理分析报告,以得到业务指标发生异常波动的原因等。上述整个处理过程持续时间较长,并且需要耗费大量人力资源。同时,由于分析过程有人为的疏忽等因素存在,这样会很容易遗漏真正出现异常波动的信息。为此,需要提供一种更高效更加节省资源的业务量异常波动的监测分析方案。



技术实现要素:

本说明书实施例的目的是提供一种数据波动的处理方法、装置及设备,以提供一种能够快速高效的生成最佳索引的技术方案。

为了实现上述技术方案,本说明书实施例是这样实现的:

本说明书实施例提供的一种数据波动的处理方法,所述方法包括:

获取目标业务数据;

根据所述目标业务数据,确定所述目标业务数据中待检测的业务指标;

如果检测到所述业务指标发生异常波动,则根据预定的维度选择算法从所述业务指标对应的维度中选择目标维度进行维度拆解处理,所述目标维度为预测引起所述业务指标发生异常波动的维度;

根据所述目标维度中包含的子项值,确定所述目标维度的拆解结果;

根据所述目标维度的拆解结果,生成所述业务指标发生异常波动的原因信息。

可选地,所述根据预定的维度选择算法从所述业务指标对应的维度中选择目标维度进行维度拆解处理,包括:

根据jensen-shannon散度算法计算所述业务指标对应的维度的预期值和观测值的交叉熵;

根据所述业务指标对应的维度的预期值和观测值的交叉熵,从所述业务指标对应的维度中选择交叉熵大于预定阈值的目标维度,并将所述目标维度进行维度拆解处理。

可选地,所述根据所述目标维度中包含的子项值,确定所述目标维度的拆解结果,包括:

基于所述目标维度中包含的子项值,确定每个所述子项值对应的贡献度;

基于所述每个所述子项值对应的贡献度,确定所述目标维度的拆解结果。

可选地,所述基于所述每个所述子项值对应的贡献度,确定所述目标维度的拆解结果,包括:

基于所述每个所述子项值对应的贡献度,从所述目标维度中包含的子项值对应的贡献度中选择预定数量的不同子项值对应的贡献度;

基于选择的预定数量的不同子项值对应的贡献度,确定所述目标维度的拆解结果。

可选地,所述基于所述目标维度中包含的子项值,确定每个所述子项值对应的贡献度,包括:

获取所述目标维度中包含的每个子项值分别与所述业务指标发生异常波动对应的数值之间的比值;

将得到的所述比值作为相应子项值对应的贡献度。

可选地,所述基于所述每个所述子项值对应的贡献度,确定所述目标维度的拆解结果,包括:

分别将每个所述子项值对应的贡献度与预定贡献度阈值进行比较,获取小于所述预定贡献度阈值的贡献度对应的子项;

将获取的子项和所述目标维度确定为所述目标维度的拆解结果。

可选地,所述基于所述每个所述子项值对应的贡献度,确定所述目标维度的拆解结果,包括:

所述基于所述每个所述子项值对应的贡献度,确定由所述子项值对应的贡献度构成的数组的平均贡献度和贡献度标准差;

根据所述每个所述子项值对应的贡献度、所述平均贡献度和所述贡献度标准差,确定所述目标维度的拆解结果。

可选地,所述根据所述目标维度的拆解结果,生成所述业务指标发生异常波动的原因信息,包括:

根据所述目标维度的拆解结果,构建所述业务指标发生异常波动的维度拆解结果树;

基于构建的维度拆解结果树,生成所述业务指标发生异常波动的原因信息。

本说明书实施例提供的一种数据波动的处理装置,所述装置包括:

数据获取模块,用于获取目标业务数据;

待测指标确定模块,用于根据所述目标业务数据,确定所述目标业务数据中待检测的业务指标;

维度拆解模块,用于如果检测到所述业务指标发生异常波动,则根据预定的维度选择算法从所述业务指标对应的维度中选择目标维度进行维度拆解处理,所述目标维度为预测引起所述业务指标发生异常波动的维度;

拆解结果确定模块,用于根据所述目标维度中包含的子项值,确定所述目标维度的拆解结果;

异常原因生成模块,用于根据所述目标维度的拆解结果,生成所述业务指标发生异常波动的原因信息。

可选地,所述维度拆解模块,包括:

熵计算单元,用于根据jensen-shannon散度算法计算所述业务指标对应的维度的预期值和观测值的交叉熵;

维度拆解单元,用于根据所述业务指标对应的维度的预期值和观测值的交叉熵,从所述业务指标对应的维度中选择交叉熵大于预定阈值的目标维度,并将所述目标维度进行维度拆解处理。

可选地,所述拆解结果确定模块,包括:

贡献度确定单元,用于基于所述目标维度中包含的子项值,确定每个所述子项值对应的贡献度;

拆解结果确定单元,用于基于所述每个所述子项值对应的贡献度,确定所述目标维度的拆解结果。

可选地,所述拆解结果确定模块,包括:

处理单元,用于所述基于所述每个所述子项值对应的贡献度,确定由所述子项值对应的贡献度构成的数组的平均贡献度和贡献度标准差;

拆解结果确定单元,用于根据所述每个所述子项值对应的贡献度、所述平均贡献度和所述贡献度标准差,确定所述目标维度的拆解结果。

本说明书实施例提供的一种数据波动的处理设备,所述数据波动的处理设备包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

获取目标业务数据;

根据所述目标业务数据,确定所述目标业务数据中待检测的业务指标;

如果检测到所述业务指标发生异常波动,则根据预定的维度选择算法从所述业务指标对应的维度中选择目标维度进行维度拆解处理,所述目标维度为预测引起所述业务指标发生异常波动的维度;

根据所述目标维度中包含的子项值,确定所述目标维度的拆解结果;

根据所述目标维度的拆解结果,生成所述业务指标发生异常波动的原因信息。

由以上本说明书实施例提供的技术方案可见,本说明书实施例通过获取的目标业务数据,确定目标业务数据中待检测的业务指标,如果检测到该业务指标发生异常波动,则根据预定的维度选择算法从该业务指标对应的维度中选择目标维度进行维度拆解处理,目标维度为预测引起该业务指标发生异常波动的维度,根据目标维度中包含的子项值,确定目标维度的拆解结果,根据目标维度的拆解结果,生成该业务指标发生异常波动的原因信息,这样,采用基于各维度分布不一致性的大小来选择维度,并用预定的维度选择算法来衡量不一致性,分布变化最大的维度,即为最有可能发生异常的维度,同时,采用维度选择算法选择相应的维度进行拆解,异常点在该维度的分布最集中,同时结合子项的选择,选中对业务指标发生异常波动影响最大的子项,完成对异常点的定位,整个过程不需人工参与,因此,节省了大量人力资源,而且保证最终结果不会因为人工的疏忽而出现错误。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书一种数据波动的处理方法实施例;

图2为本说明书另一种数据波动的处理方法实施例;

图3为本说明书一种维度拆解示意图;

图4为本说明书一种a城市交易笔数中职业维度和用户频次维度相邻两周期的变化示意图;

图5为本说明书一种a城市周同比波动职业贡献度示意图;

图6为本说明书一种数据波动的处理装置实施例;

图7为本说明书一种数据波动的处理设备实施例。

具体实施方式

本说明书实施例提供一种数据波动的处理方法、装置及设备。

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

实施例一

如图1所示,本说明书实施例提供一种数据波动的处理方法,该方法的执行主体可以为服务器或终端设备,其中,服务器可以是由一个单独的服务器构成,也可以是由多个服务器构成的服务器集群,该服务器可以是某数据库的查询服务器等,终端设备可以如手机或平板电脑等移动终端设备,还可以如个人计算机等设备。该方法可以用于异常波动的定位等处理中,该方法具体可以包括以下步骤:

在步骤s102中,获取目标业务数据。

其中,目标业务数据可以是与某一项或多项业务相关的数据,例如可以是与支付业务相关的数据,或可以是与保险业务相关的数据,或还可以是与某快递业务相关的数据等。

在实施中,随着业务的快速发展,服务器越来越多,中间件、应用程序、微服务、数据库等也越来越多样化,为了使得各项业务能够平稳稳定的运行,在业务运营活动中,需要对各项业务的业务量进行监测,以及时发现可能出现的异常情况。

在业务运营活动中,为了监测各项业务的业务量,需要对相应业务的业务指标进行监测,并对该业务指标的波动进行分析,其中,可以包括判断业务指标的波动是否发生异常,而对于异常波动的业务指标,可以定位异常波动发生的维度,并对定位结果进行可理解的文案展示等。为了满足上述需求,通常可以通过下述方法处理:数据分析人员可以对待分析业务的业务数据进行人工分析,然后,通过预先设定的阈值判断某业务的业务指标是否发生异常,并对发生异常的维度进行手工筛查,直到找到出现异常的维度为止,最后通过分析筛查的出现异常的维度的结果,人工整理分析报告,以得到业务指标发生异常波动的原因等。上述整个处理过程持续时间较长,并且需要耗费大量人力资源。同时,由于分析过程有人为的疏忽等因素存在,这样会很容易遗漏真正出现异常波动的信息。为此,需要提供一种更高效更加节省资源的业务量异常波动的监测分析方案。

本说明书实施例提供一种可以实现上述业务量异常波动的监测分析方案,具体可以包括以下内容:业务指标的波动,如线下购物业务中,线下交易笔数的周同比增长或下跌,不是线下购物业务中的所有维度的所有取值都是均匀波动的,具体如以职业维度为例,职业维度中可以包括大学生、白领和蓝领等,在实际应用中,可能大学生具有较大幅度的周同比增长,而白领和蓝领对应的周同比却基本维持不变,则可以判定整体的业务量波动大部分集中在大学生等。基于此,当需要检测某业务的业务量是否发生异常时,可以针对该业务,从相应的数据库中获取与该业务相关的业务数据,在实际应用中,获取的业务数据可以是预定时间段产生的数据,例如从当前时刻之前的7天内的业务数据或从当前时刻之前的24小时内的业务数据等。基于此,针对该业务,可以预先设定业务周期,如上述的24小时或7天等,可以在间隔多个业务周期后或每个业务周期后进行业务量是否异常的检测。同时,在获取业务数据的过程中,可以获取当前周期的业务数据,以及当前周期上一周期或当前周期之前的多个周期的业务数据。

在步骤s104中,根据目标业务数据,确定目标业务数据中待检测的业务指标。

其中,业务指标可以是预定业务相关的指标,业务指标可以包括一个,也可以包括多个,例如某城市中某商品的线下交易笔数,具体如长沙市商品a的线下交易笔数等,业务指标不仅可以包括某城市中某商品的线下交易笔数,还可以包括线下交易用户数量等。业务指标可以根据实际情况设定,本说明书实施例对此不做限定。

在实施中,通过上述处理过程得到目标业务数据后,可以对目标业务数据中包含的业务指标进行分析,确定需要检测的业务指标。在实际应用中,可以包括多种确定待检测的业务指标的方式,例如,可以根据实际情况,为每一项业务预先设定待检测的业务指标,或者,可以为每一项业务中包含的业务指标设置相应的权重,在确定待检测的业务指标时,可以基于每个业务指标对应的权重进行计算,可以将计算结果由大到小进行排序,从中可以选取排在前n(其中,n为大于或等于1的整数)位的计算结果,并可以将选取的计算结果对应的业务指标确定为待检测的业务指标等。

在步骤s106中,如果检测到上述业务指标发生异常波动,则根据预定的维度选择算法从该业务指标对应的维度中选择目标维度进行维度拆解处理,目标维度为预测引起业务指标发生异常波动的维度。

其中,维度选择算法可以是用于从业务指标中选择一个或多个维度以表征业务指标发生异常波动的维度的算法,维度选择算法可以包括多种,例如,可以通过机器学习机制,并通过训练样本对某算法进行训练,以使得训练得到能够从业务指标中选择出用于表征业务指标发生异常波动的维度的维度选择算法(或维度选择模型等),或者,还可以将当前周期的某维度的业务数据与当前周期之前的周期的该维度的业务数据进行比较,如果两者的差值大于预定阈值,则可以选取该维度,否则,可以对下一维度进行上述处理,直到业务指标中包含的维度均完成上述处理为止,从而选取相应的维度,基于上述过程可以构建相应的维度选择算法等。维度拆解处理可以是从业务指标中包含的维度中拆解出某一个或多个维度的处理。

在实施中,可以预先设定不同业务的业务指标正常的波动范围,其中,业务指标正常的波动范围可以随着时间段的不同而不同,例如,9:00~18:00之间,某业务指标的正常波动范围为10~50,18:00~22:00之间,该业务指标的正常波动范围为60~100等,具体可以根据实际情况设定,本说明书实施例对此不做限定。确定目标业务数据中待检测的业务指标后,可以从目标业务数据中获取待检测的业务指标对应的波动范围,然后,可以将获取的波动范围与预先设定的该业务指标正常的波动范围进行比较,如果获取的波动范围处于正常的波动范围内,则表明该业务指标正常,否则,表明该业务指标异常或该业务指标发生异常波动等。例如,某业务指标在9:00~18:00的正常波动范围为10~50,如果目标业务数据对应的时间段为9:00~18:00,且该业务指标在9:00~18:00之间的某时刻的数值小于10或大于50,则可以确定该业务指标发生异常波动,如果该业务指标在9:00~18:00之间的波动范围为10~30(或10~40或20~40或30~50等),则可以确定该业务指标正常。

对于在确定该业务指标发生异常波动的情况,可以预先设定相应的处理机制,本说明书实施例中,考虑到该业务指标发生异常波动,应该是由该业务指标中的某一个或多个维度出现异常而导致,为了进一步确定该业务指标发生异常波动是由哪一个或多个维度出现异常而导致,可以对该业务指标进行维度拆解处理。其中,维度拆解处理可以是找出对该业务指标发生异常波动影响较大的“关键点”,对该业务指标发生异常波动产生的原因进行定位。维度拆解的过程是对业务指标这一整体进行切割的过程,找出整体中“波动最严重”的那部分(即维度)。

基于维度拆解处理,可以通过多种方式进行业务量异常波动监测,例如,方式一,从整体开始对业务指标进行拆解,每一步拆解的目标维度、拆解深度均由人工选择,此处理方式逻辑简单,可解释性较好,由于拆解过程人工指定每一步的拆解维度选择,最终的结果就是被关注的“关键点”,但此方式下需人工参与,拆解结果的质量取决于拆解者的业务经验。方式二,每一步的拆解维度进行自动化的选择,选择依据是设置某种阈值(通常选择波动幅度或者贡献度阈值等),选择满足该阈值的维度。此处理方式可解释性好,阈值选择相当于一种预定规则,其中的选择结果可以解释为符合相应的规则等,计算复杂度低,但此方式下需要根据阈值进行选择,只考虑到目标维度是否满足阈值,而没有考虑到目标维度的整体分布,这样可能会错过真正存在异常的维度等。为此,本说明书实施例提供另一种处理方式,具体可以参见下述相关内容:通过上述处理过程,如果确定上述业务指标发生异常波动,则可以使用预先设定的维度选择算法从该业务指标对应的维度中选择一个或多个维度(即目标维度)以表征业务指标发生异常波动,然后,可以将选择的目标维度从该业务指标中拆解出来。

在步骤s108中,根据目标维度中包含的子项值,确定目标维度的拆解结果。

在实施中,每一个维度都会包含有相应的子项值,例如,职业维度可以包含白领、蓝领和大学生等多个不同的子项,每个子项可以对应一个子项值,例如,大学生可以对应一个线下交易笔数的数值作为其子项值,白领也可以对应一个线下交易笔数的数值作为其子项值,蓝领也可以对应一个线下交易笔数的数值作为其子项值等。通过上述步骤s106的处理拆解出目标维度后,可以获取目标维度中包含的子项,并获取每个子项对应的子项值,然后,可以将目标维度中包含的子项的子项值和该子项对应的正常子项值进行比较,可以将子项值不同于相应的正常子项值对应的子项提取出来,可以将提取的子项作为可能造成相应维度出现异常的因素,此时,可以将该子项与相应的维度对应存储,并以此作为拆解结果,以完成对该维度的拆解处理。通过上述处理过程,可以完成对某维度的拆解处理。

需要说明的是,如果目标维度中包含的子项的子项值均为正常子项值,则表明目标维度可拆解出的子项个数为0,此时,可以确定目标维度没有拆解结果。

在步骤s110中,根据目标维度的拆解结果,生成业务指标发生异常波动的原因信息。

在实施中,可以对目标维度的拆解结果进行统计分析,可以基于统计分析的结果进行总结归纳处理,生成业务指标发生异常波动的原因信息,该原因信息可以是以文本数据的形式呈现,此时,可以将该原因信息(即文本数据)呈现给技术人员或用户等。

通过上述方式可以对某一层完成上述维度拆解处理,然后,还可以自动的循环迭代进入下一层的维度拆解处理(交叉维度拆解)。在实际应用中,还可以在每一层完成维度拆解处理后,由人工参与决定下一次继续拆解哪些维度等,具体可以根据实际情况设定,本说明书实施例对此不做限定。

本说明书实施例提供一种数据波动的处理方法,通过获取的目标业务数据,确定目标业务数据中待检测的业务指标,如果检测到该业务指标发生异常波动,则根据预定的维度选择算法从该业务指标对应的维度中选择目标维度进行维度拆解处理,目标维度为预测引起该业务指标发生异常波动的维度,根据目标维度中包含的子项值,确定目标维度的拆解结果,根据目标维度的拆解结果,生成该业务指标发生异常波动的原因信息,这样,采用基于各维度分布不一致性的大小来选择维度,并用预定的维度选择算法来衡量不一致性,分布变化最大的维度,即为最有可能发生异常的维度,同时,采用维度选择算法选择相应的维度进行拆解,异常点在该维度的分布最集中,同时结合子项的选择,选中对业务指标发生异常波动影响最大的子项,完成对异常点的定位,整个过程不需人工参与,因此,节省了大量人力资源,而且保证最终结果不会因为人工的疏忽而出现错误。

实施例二

如图2所示,本说明书实施例提供一种数据波动的处理方法,该方法的执行主体可以为服务器或终端设备,其中,服务器可以是由一个单独的服务器构成,也可以是由多个服务器构成的服务器集群,该服务器可以是某数据库的查询服务器等,终端设备可以如手机或平板电脑等移动终端设备,还可以如个人计算机等设备。该方法可以用于异常波动的定位等处理中,该方法具体可以包括以下步骤:

在步骤s202中,获取目标业务数据。

在步骤s204中,根据目标业务数据,确定目标业务数据中待检测的业务指标。

本说明书示例中,维度选择可以采用jensen-shannon散度算法,根据观测值与预期值的分布不一致性来定位异常发生的维度,具体可以参见下述步骤s206的处理。

在步骤s206中,如果检测到上述业务指标发生异常波动,则根据jensen-shannon散度算法计算该业务指标对应的维度的预期值和观测值的交叉熵。

其中,jensen-shannon散度算法可以是用于衡量在真实分布下,使用非真实分布所指定的策略来消除系统的不确定性所需要付出的努力的大小的算法。预期值可以是该业务指标对应的维度在正常情况下的数值,观测值可以是该业务指标对应的维度在实际情况下观测到的数值等。

在实施中,如果检测到上述业务指标发生异常波动,则可以预先设定相应的处理机制,本说明书实施例中,可以使用jensen-shannon散度算法计算该业务指标对应的交叉熵,并通过交叉熵进行维度选择,具体地,考虑到该业务指标发生异常波动,应该是由该业务指标中的某一个或多个维度出现异常而导致,为了进一步确定该业务指标发生异常波动是由哪一个或多个维度出现异常而导致,可以通过jensen-shannon散度算法计算该业务指标对应的维度中每一个维度的预期值和观测值的交叉熵,即可以从上述目标业务数据中获取该业务指标对应的维度中的某一个维度的数值(即观测值),然后,可以确定该维度的预期值,可以将该维度的观测值和预期值代入下述公式(1)中进行计算,

得到该维度的交叉熵d(p,q),其中,d(p,q)表示交叉熵,pi表示该维度的第i个观测值(或者表示该维度的第i个预期值),qi表示该维度的第i个预期值(或者表示该维度的第i个观测值),p表示该维度的观测值(或者预期值),q表示该维度的预期值(或者观测值),或者,pi表示该维度的第i个预期值,qi表示该维度的第i个观测值,p表示该维度的预期值,q表示该维度的观测值。该维度的预期值和该维度的观测值的分布越相似,交叉熵越小,反之,如果该维度的交叉熵较大,则说明该维度分布与该维度的预期分布不相似,此时,可以确定该维度越有可能是引起业务指标发生异常波动的主因,这样,也就越容易被jensen-shannon散度算法选中进行后续的维度拆解处理。

在步骤s208中,根据上述业务指标对应的维度的预期值和观测值的交叉熵,从该业务指标对应的维度中选择交叉熵大于预定阈值的目标维度,并将目标维度进行维度拆解处理。

其中,预定阈值可以是预先设定的任意数值,具体如50或100等,本说明书实施例对此不作限定。目标维度可以为预测或可能引起上述业务指标发生异常波动的维度。

在实施中,通过上述步骤s206的处理得到上述业务指标对应的维度的预期值和观测值的交叉熵后,可以分别将该业务指标对应的维度中的每一个维度的交叉熵与预定阈值进行比较,可以将大于预定阈值的交叉熵对应的维度确定为较优的拆解维度(即目标维度),可以从该业务指标对应的维度中选择目标维度,并可以对目标维度进行维度拆解处理,以将目标维度从该业务指标对应的维度中拆解出来。

如图3所示,对于城市这一业务指标,可以包括商家、区域(区县等)、行业、职业和用户频次等维度,其中对职业维度、用户频次维度和行业维度进行了维度拆解处理,其中,职业维度中包括医务人员、白领和大学生等子项,用户频次维度中包括高频、中频和低频等子项,行业维度中包括行业线、间连和口碑行业等子项。

如图4所示,基于职业维度的示意图,可以得知当前周期相对上一周期大学生的跌幅明显大于其他职业,因此,很可能大学生子项可能是引起业务指标发生异常波动的主因。基于用户频次维度的示意图,可以得知当前周期相对上一周期各个频次的跌幅均匀,因此,用户频次维度可能不会引起业务指标发生异常波动,用户频次维度可以无需拆解,而只对职业维度进行拆解。

在步骤s210中,基于目标维度中包含的子项值,确定每个子项值对应的贡献度。

其中,贡献度可以包括正数和负数,且一个维度的所有子项的贡献度之和为1。当某维度下存在某一个或多个子项值的变化方向与异常值的变化方向相反时,则该一个或多个子项的贡献度数值为负数,此时,其他子项的贡献度数值也可能大于1,但是该维度下所有子项的贡献度之和为1。维度的子项即各维度的具体取值,如职业维度的子项可以为:大学生、白领、蓝领等,子项值可以是维度的子项的子项值,例如子项为大学生,则相应的子项值可以为大学生交易笔数的数值等。

在实施中,可以通过贡献度进行子项选择,被选中的子项即为该维度异常主要集中的点,具体地,每一个维度都会包含有相应的子项,以及每个子项对应有子项值。通过上述步骤s208的处理拆解出目标维度后,可以获取目标维度中包含的子项,并获取每个子项对应的子项值,然后,可以基于上述贡献度的相关内容,可以计算目标维度中包含的每个子项对应的贡献度,从而得到目标维度中包含的每个子项对应的贡献度。

上述步骤s210的具体处理方式可以多种多样,以下再提供一种可选的处理方式,具体可以包括以下步骤一和步骤二。

步骤一,获取目标维度中包含的每个子项值分别与上述业务指标发生异常波动对应的数值之间的比值。

步骤二,将得到的上述比值作为相应子项值对应的贡献度。

在实施中,可以设定贡献度=子项值/业务指标发生异常波动对应的数值,则可以将目标维度中包含的每个子项值和上述业务指标发生异常波动对应的数值代入到上述公式中进行计算,得到每个子项值对应的贡献度。例如,职业维度包括大学生、白领和蓝领等三个子项,若大学生对应的子项值为18万,白领对应的子项值为1万,蓝领对应的子项值为1万,上述业务指标发生异常波动对应的数值为20万,则大学生对应的贡献度=18万/20万=0.9,白领对应的贡献度为0.05,蓝领对应的贡献度为0.05。

在步骤s212中,基于每个子项值对应的贡献度,确定目标维度的拆解结果。

在实施中,贡献度大的子项即为对业务指标发生异常波动影响较大的“关键点”。一个维度最终选择的子项个数可能为0个、1个或多个,当某维度最终选择的子项个数为0时,则该维度没有拆解结果。可以基于每个子项值对应的贡献度,从中选择一个或多个贡献度,并可以将选择的贡献度对应的子项值、相应的子项和对应的维度作为目标维度的拆解结果。

上述步骤s212的具体处理方式可以多种多样,以下提供三种可选的处理方式,具体可以包括以下内容:

方式一:

步骤一,基于每个子项值对应的贡献度,从目标维度中包含的子项值对应的贡献度中选择预定数量的不同子项值对应的贡献度。

其中,预定数量可以根据实际情况设定,具体如1或3等,本说明书实施例对此不做限定。

在实施中,可以根据每个子项值对应的贡献度的大小,对多个贡献度进行由大到小排序,从中可以选取排列在最前的预定数量的贡献度。

步骤二,基于选择的预定数量的不同子项值对应的贡献度,确定目标维度的拆解结果。

方式二:

步骤一,分别将每个子项值对应的贡献度与预定贡献度阈值进行比较,获取小于预定贡献度阈值的贡献度对应的子项。

步骤二,将获取的子项和目标维度确定为目标维度的拆解结果。

方式三:

步骤一,基于每个子项值对应的贡献度,确定由该子项值对应的贡献度构成的数组的平均贡献度和贡献度标准差。

步骤二,根据每个子项值对应的贡献度、平均贡献度和贡献度标准差,确定目标维度的拆解结果。

在实施中,可以预先设定贡献度的选取规则,例如贡献度<0.5且(贡献度-平均贡献度)<2*贡献度标准差等。通过上述步骤一得到每个子项值对应的贡献度、平均贡献度和贡献度标准差后,可以将上述数值代入到上述不等式中,确定上述不等式是否成立,如果成立,则可以获取该贡献度,相应的子项及其子项值,以确定目标维度的拆解结果。基于上述贡献度的选取规则,假设贡献度的分布符合高斯分布,落在距平均贡献度的距离为2倍的贡献度标准差范围内的概率约为95%,距平均贡献度距离大于2倍的贡献度标准差的可以认为是对业务指标发生异常波动贡献较大的“异常点”会被选出。

如图5所示,当前周期的周同比波动职业贡献度中,业务指标发生异常波动中整体下跌258320,其中,大学生子项下跌188647,大学生子项下跌在整体下跌中占比高于70%,因此,大学生子项会被选取出来。

在步骤s214中,根据目标维度的拆解结果,构建上述业务指标发生异常波动的维度拆解结果树。

在步骤s216中,基于构建的维度拆解结果树,生成上述业务指标发生异常波动的原因信息。

通过步骤s214和步骤s216构造维度拆解结果树来对异常波动的点进行定位,整个定位过程是逐步细化迭代进行的,不断进行维度交叉下钻,直到树的叶子节点,即为异常波动的原因定位结果,整个过程不需人工参与。

基于上述对异常波动的业务指标构造维度拆解结果树,树的叶子节点即为异常波动的原因定位结果,构造过程为根据维度选择算法选择维度,并根据子项选择算法选择子项。此外,还可以实现下述处理:通过上述处理方式拆解完一层的维度后,可以自动的循环迭代进入下一层维度的拆解(交叉维度),还可以每一层的维度拆解结束后,人工参与决定继续拆解哪些维度等。

基于上述内容,本说明书实施例采用自动化维度选择的方法每次选择当前最优拆解维度,异常点在该维度的分布最集中,同时结合子项选择,选中对业务指标发生异常波动贡献度最大的子项,自动化的完成异常点的定位。同时,采用基于各维度分布不一致性的大小来选择维度,并用jensen-shannon散度算法来衡量不一致性,分布变化最大的维度,即为最有可能发生异常的维度。

本说明书实施例提供一种数据波动的处理方法,通过获取的目标业务数据,确定目标业务数据中待检测的业务指标,如果检测到该业务指标发生异常波动,则根据预定的维度选择算法从该业务指标对应的维度中选择目标维度进行维度拆解处理,目标维度为预测引起该业务指标发生异常波动的维度,根据目标维度中包含的子项值,确定目标维度的拆解结果,根据目标维度的拆解结果,生成该业务指标发生异常波动的原因信息,这样,采用基于各维度分布不一致性的大小来选择维度,并用预定的维度选择算法来衡量不一致性,分布变化最大的维度,即为最有可能发生异常的维度,同时,采用维度选择算法选择相应的维度进行拆解,异常点在该维度的分布最集中,同时结合子项的选择,选中对业务指标发生异常波动影响最大的子项,完成对异常点的定位,整个过程不需人工参与,因此,节省了大量人力资源,而且保证最终结果不会因为人工的疏忽而出现错误。

实施例三

以上为本说明书实施例提供的数据波动的处理方法,基于同样的思路,本说明书实施例还提供一种数据波动的处理装置,如图6所示。

该数据波动的处理装置包括:数据获取模块601、待测指标确定模块602、维度拆解模块603、拆解结果确定模块604和异常原因生成模块605,其中:

数据获取模块601,用于获取目标业务数据;

待测指标确定模块602,用于根据所述目标业务数据,确定所述目标业务数据中待检测的业务指标;

维度拆解模块603,用于如果检测到所述业务指标发生异常波动,则根据预定的维度选择算法从所述业务指标对应的维度中选择目标维度进行维度拆解处理,所述目标维度为预测引起所述业务指标发生异常波动的维度;

拆解结果确定模块604,用于根据所述目标维度中包含的子项值,确定所述目标维度的拆解结果;

异常原因生成模块605,用于根据所述目标维度的拆解结果,生成所述业务指标发生异常波动的原因信息。

本说明书实施例中,所述维度拆解模块603,包括:

熵计算单元,用于根据jensen-shannon散度算法计算所述业务指标对应的维度的预期值和观测值的交叉熵;

维度拆解单元,用于根据所述业务指标对应的维度的预期值和观测值的交叉熵,从所述业务指标对应的维度中选择交叉熵大于预定阈值的目标维度,并将所述目标维度进行维度拆解处理。

本说明书实施例中,所述拆解结果确定模块604,包括:

贡献度确定单元,用于基于所述目标维度中包含的子项值,确定每个所述子项值对应的贡献度;

拆解结果确定单元,用于基于所述每个所述子项值对应的贡献度,确定所述目标维度的拆解结果。

本说明书实施例中,所述拆解结果确定单元,用于基于所述每个所述子项值对应的贡献度,从所述目标维度中包含的子项值对应的贡献度中选择预定数量的不同子项值对应的贡献度;基于选择的预定数量的不同子项值对应的贡献度,确定所述目标维度的拆解结果。

本说明书实施例中,所述贡献度确定单元,用于获取所述目标维度中包含的每个子项值分别与所述业务指标发生异常波动对应的数值之间的比值;将得到的所述比值作为相应子项值对应的贡献度。

本说明书实施例中,所述拆解结果确定模块604,包括:

子项获取单元,用于分别将每个所述子项值对应的贡献度与预定贡献度阈值进行比较,获取小于所述预定贡献度阈值的贡献度对应的子项;

拆解结果确定单元,用于将获取的子项和所述目标维度确定为所述目标维度的拆解结果。

本说明书实施例中,所述拆解结果确定模块604,包括:

处理单元,用于所述基于所述每个所述子项值对应的贡献度,确定由所述子项值对应的贡献度构成的数组的平均贡献度和贡献度标准差;

拆解结果确定单元,用于根据所述每个所述子项值对应的贡献度、所述平均贡献度和所述贡献度标准差,确定所述目标维度的拆解结果。

本说明书实施例中,所述异常原因生成模块605,包括:

构建单元,用于根据所述目标维度的拆解结果,构建所述业务指标发生异常波动的维度拆解结果树;

异常原因生成单元,用于基于构建的维度拆解结果树,生成所述业务指标发生异常波动的原因信息。

本说明书实施例提供一种数据波动的处理装置,通过获取的目标业务数据,确定目标业务数据中待检测的业务指标,如果检测到该业务指标发生异常波动,则根据预定的维度选择算法从该业务指标对应的维度中选择目标维度进行维度拆解处理,目标维度为预测引起该业务指标发生异常波动的维度,根据目标维度中包含的子项值,确定目标维度的拆解结果,根据目标维度的拆解结果,生成该业务指标发生异常波动的原因信息,这样,采用基于各维度分布不一致性的大小来选择维度,并用预定的维度选择算法来衡量不一致性,分布变化最大的维度,即为最有可能发生异常的维度,同时,采用维度选择算法选择相应的维度进行拆解,异常点在该维度的分布最集中,同时结合子项的选择,选中对业务指标发生异常波动影响最大的子项,完成对异常点的定位,整个过程不需人工参与,因此,节省了大量人力资源,而且保证最终结果不会因为人工的疏忽而出现错误。

实施例四

以上为本说明书实施例提供的数据波动的处理装置,基于同样的思路,本说明书实施例还提供一种数据波动的处理设备,如图7所示。

所述数据波动的处理设备可以为上述实施例提供的终端设备或服务器。

数据波动的处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对数据波动的处理设备中的一系列计算机可执行指令。更进一步地,处理器701可以设置为与存储器702通信,在数据波动的处理设备上执行存储器702中的一系列计算机可执行指令。数据波动的处理设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706。

具体在本实施例中,数据波动的处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对数据波动的处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:

获取目标业务数据;

根据所述目标业务数据,确定所述目标业务数据中待检测的业务指标;

如果检测到所述业务指标发生异常波动,则根据预定的维度选择算法从所述业务指标对应的维度中选择目标维度进行维度拆解处理,所述目标维度为预测引起所述业务指标发生异常波动的维度;

根据所述目标维度中包含的子项值,确定所述目标维度的拆解结果;

根据所述目标维度的拆解结果,生成所述业务指标发生异常波动的原因信息。

本说明书实施例中,所述根据预定的维度选择算法从所述业务指标对应的维度中选择目标维度进行维度拆解处理,包括:

根据jensen-shannon散度算法计算所述业务指标对应的维度的预期值和观测值的交叉熵;

根据所述业务指标对应的维度的预期值和观测值的交叉熵,从所述业务指标对应的维度中选择交叉熵大于预定阈值的目标维度,并将所述目标维度进行维度拆解处理。

本说明书实施例中,所述根据所述目标维度中包含的子项值,确定所述目标维度的拆解结果,包括:

基于所述目标维度中包含的子项值,确定每个所述子项值对应的贡献度;

基于所述每个所述子项值对应的贡献度,确定所述目标维度的拆解结果。

本说明书实施例中,所述基于所述每个所述子项值对应的贡献度,确定所述目标维度的拆解结果,包括:

基于所述每个所述子项值对应的贡献度,从所述目标维度中包含的子项值对应的贡献度中选择预定数量的不同子项值对应的贡献度;

基于选择的预定数量的不同子项值对应的贡献度,确定所述目标维度的拆解结果。

本说明书实施例中,所述基于所述目标维度中包含的子项值,确定每个所述子项值对应的贡献度,包括:

获取所述目标维度中包含的每个子项值分别与所述业务指标发生异常波动对应的数值之间的比值;

将得到的所述比值作为相应子项值对应的贡献度。

本说明书实施例中,所述基于所述每个所述子项值对应的贡献度,确定所述目标维度的拆解结果,包括:

分别将每个所述子项值对应的贡献度与预定贡献度阈值进行比较,获取小于所述预定贡献度阈值的贡献度对应的子项;

将获取的子项和所述目标维度确定为所述目标维度的拆解结果。

本说明书实施例中,所述基于所述每个所述子项值对应的贡献度,确定所述目标维度的拆解结果,包括:

所述基于所述每个所述子项值对应的贡献度,确定由所述子项值对应的贡献度构成的数组的平均贡献度和贡献度标准差;

根据所述每个所述子项值对应的贡献度、所述平均贡献度和所述贡献度标准差,确定所述目标维度的拆解结果。

本说明书实施例中,所述根据所述目标维度的拆解结果,生成所述业务指标发生异常波动的原因信息,包括:

根据所述目标维度的拆解结果,构建所述业务指标发生异常波动的维度拆解结果树;

基于构建的维度拆解结果树,生成所述业务指标发生异常波动的原因信息。

本说明书实施例提供一种数据波动的处理设备,通过获取的目标业务数据,确定目标业务数据中待检测的业务指标,如果检测到该业务指标发生异常波动,则根据预定的维度选择算法从该业务指标对应的维度中选择目标维度进行维度拆解处理,目标维度为预测引起该业务指标发生异常波动的维度,根据目标维度中包含的子项值,确定目标维度的拆解结果,根据目标维度的拆解结果,生成该业务指标发生异常波动的原因信息,这样,采用基于各维度分布不一致性的大小来选择维度,并用预定的维度选择算法来衡量不一致性,分布变化最大的维度,即为最有可能发生异常的维度,同时,采用维度选择算法选择相应的维度进行拆解,异常点在该维度的分布最集中,同时结合子项的选择,选中对业务指标发生异常波动影响最大的子项,完成对异常点的定位,整个过程不需人工参与,因此,节省了大量人力资源,而且保证最终结果不会因为人工的疏忽而出现错误。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在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