异常检测方法、装置、设备及存储介质与流程
未命名
07-13
阅读:73
评论:0

1.本公开涉及人工智能技术领域,尤其涉及机器学习、信息预测、以及信息推荐等技术领域。
背景技术:
2.机器学习在人们的日常工作和生活中,发挥着越来越重要的作用。在诸如网络购物、视频或新闻等信息推荐、路径规划以及订单分发等众多领域和应用场景中,机器学习均发挥着重要的作用。
3.机器学习一般指在某个具体的应用场景下,针对学习数据,制定相应学习策略,按照对应的学习策略进行训练和调优后,得到机器学习模型并应用到实际场景中,可以用来预测实际场景中的数据变化趋势。例如,在信息推荐等场景中,点击率模型或转化率模型等常常被用在排序或过滤等策略中。
4.机器学习模型从生产到应用涉及诸多环节,例如可包括特征抽取、模型训练、模型更新以及模型预估等,其中某一个环节存在问题,就可能会导致根据模型的输出所确定的预估数据发生异常。
技术实现要素:
5.本公开提供了一种异常检测方法、装置、设备及存储介质。
6.根据本公开的一方面,提供了一种异常检测方法,包括:
7.根据目标机房上报的针对目标数据指标的异常波动信息,确定波动分布情况,其中,所述目标机房中部署有目标预估模型,所述目标预估模型用于针对所述目标数据指标进行预估以得到对应的预估数据,所述波动分布情况包括异常波动的起始时间与所述目标机房的累计数量的关联关系;
8.判断所述波动分布情况是否满足预设特征,若满足,则在所述起始时间的关联时间段内,查找预设变更事件;
9.根据所述预设变更事件的查找结果生成所述异常波动的异常原因提示信息。
10.根据本公开的另一方面,提供了一种异常检测装置,包括:
11.波动分布情况确定模块,用于根据目标机房上报的针对目标数据指标的异常波动信息,确定波动分布情况,其中,所述目标机房中部署有目标预估模型,所述目标预估模型用于针对所述目标数据指标进行预估以得到对应的预估数据,所述波动分布情况包括异常波动的起始时间与所述目标机房的累计数量的关联关系;
12.特征判定模块,用于判断所述波动分布情况是否满足预设特征;
13.变更事件查找模块,用于在所述波动分布情况满足所述预设特征的情况下,在所述起始时间的关联时间段内,查找预设变更事件;
14.第一异常原因提示信息生成模块,用于根据所述预设变更事件的查找结果生成所述异常波动的异常原因提示信息。
15.根据本公开的另一方面,提供了一种电子设备,包括:
16.至少一个处理器;以及
17.与所述至少一个处理器通信连接的存储器;其中,
18.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任意实施例所述的方法。
19.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开任意实施例所述的方法。
20.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开任意实施例所述的方法。
21.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
22.附图用于更好地理解本方案,不构成对本公开的限定。其中:
23.图1是根据本公开实施例提供的一种模型应用过程示意图;
24.图2是根据本公开实施例提供的一种异常检测方法的流程图;
25.图3是根据本公开实施例提供的又一种异常检测方法的流程图;
26.图4是根据本公开实施例提供的另一种异常检测方法的流程图;
27.图5是根据本公开实施例提供的一种异常检测过程示意图;
28.图6是根据本公开实施例提供的一种异常检测装置的结构示意图;
29.图7是用来实现本公开实施例的异常检测方法的电子设备的框图。
具体实施方式
30.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
31.为了便于理解本公开实施例,下面对相关技术进行介绍。随着机器学习应用的广泛性增加,机器学习的算法也越来越复杂,而机器学习模型的应用效果却很难用同一个标准来追踪和衡量,因为不同的模型有不同的应用场景,结合所作用的业务差异,模型所预估出的结果也会产生不同的作用。当模型预估结果出现问题时,目前通常从模型自身角度出发,对模型的效果进行评估,例如利用曲线下面积(area under the curve,auc)或均方误差(mean squared error,mse)等模型评估指标来评估模型应用效果,然而,这些模型评估指标的计算需要依赖后验数据作为数据源,后验数据需要等待真实数据(如信息预测场景下的点击数据或转换数据等),时效性差。若模型出现问题,还需要人工追溯模型作用到线上的过程来定位导致预估数据出现的问题,增加问题定位和止损时间,在进行追溯时,往往需要人工进行追溯模型从生产到应用的每个阶段。图1是根据本公开实施例提供的一种模型应用过程示意图,如图1所示,模型从生产到应用的环节经过了离线的特征抽取、模型训练、模型更新以及在线的模型预估等多个阶段,还涉及在线日志落盘以及拼接日志等,不同
的数据可能会分散在不同平台,模型应用链路长且影响因素多,给人工排查增加了难度,增加问题定位的耗时,延长问题影响时间,且人工成本高。
32.本公开实施例提供一种自动生成异常波动异常原因提示信息的异常检测方案。
33.图2是根据本公开实施例提供的一种异常检测方法的流程图,本公开实施例可适用于对模型应用过程中出现预估数据异常波动时自动定位问题的情况,可应用于信息(如物品信息、新闻、资讯、文章、音乐以及视频等等)推荐场景,还可以用于如网络购物、路径规划以及订单分发等需要使用机器学习模型进行数据预估的各种应用场景。该方法可由一种异常检测装置来执行,该装置可采用硬件和/或软件的方式来实现,可配置于电子设备中。参考图2,该方法具体包括如下:
34.s201、根据目标机房上报的针对目标数据指标的异常波动信息,确定波动分布情况,其中,所述目标机房中部署有目标预估模型,所述目标预估模型用于针对所述目标数据指标进行预估以得到对应的预估数据,所述波动分布情况包括异常波动的起始时间与所述目标机房的累计数量的关联关系;
35.s202、判断所述波动分布情况是否满足预设特征,若满足,则在所述起始时间的关联时间段内,查找预设变更事件;
36.s203、根据所述预设变更事件的查找结果生成所述异常波动的异常原因提示信息。
37.其中,目标预估模型可以是机器学习模型,可以根据具体的应用场景实现不同的数据预估功能,以信息推荐场景为例,目标预估模型可以是点击率模型或转化率模型等,也即可用于预估点击率或预估转化率等。目标数据指标可理解为利用目标预估模型进行预估的数据项目,如上述举例的点击率或转化率等。利用目标预估模型针对目标数据指标进行预估得到的数据,记为预估数据,如预估得到的点击率的具体数值。在一些应用场景中,可设置多个用于针对目标数据指标进行预估的预估模型,目标预估模型可以为多个预估模型中当前正在使用的预估模型,不同预估模型的网络结构或预估策略等可能存在差异,可以根据当前的实际场景选择目标预估模型,一般由程序自动进行选择,例如,以点击率为例,在识别到当前场景为应用场景1时,采用第一点击率预测模型,而在识别到当前场景为应用场景2时,采用第二点击率预测模型。这样,当预估模型较多时,人工排查的方式很难快速查找到目标预估模型,增加了问题定位耗时。本公开实施例中,可以动态维护目标数据指标与目标预估模型之间的目标对应关系,利用该目标对应关系,在出现异常波动时,可以快速得知当前使用的目标预估模型,进而有针对性地进行问题排查。
38.示例性的,对于具体的业务场景来说,由于需要处理的数据量较大,通常将同一目标预估模型部署于多个机房中,每个机房分别利用自身内部部署的目标预估模型对分配到自身的流量(可理解为预估请求)进行数据预估,部署有目标预估模型的机房构成的集合记为预设机房集合。目标机房包含于预设机房集合,可理解为预设机房集合中预估数据发生异常波动的机房,也即,利用目标机房中部署的目标预估模型进行预估后得到的预估数据发生了异常波动。
39.示例性的,异常波动可以理解为预估数据超出了预设数值范围,该预设数值范围可以理解为正常数值范围。预设数值范围的确定可以根据实际需求设定,例如根据实际的业务场景或业务需求设定的固定范围,或者根据目标数据指标在历史周期内的真实值确定
的周期性动态更新的范围。异常波动信息可包括发生异常波动的起始时间,还可包括异常波动幅度、异常波动持续时长或异常波动的结束时间等。
40.本公开实施例中,波动分布情况包括异常波动的起始时间与所述目标机房的累计数量的关联关系。示例性的,模型从生产到应用的各个环节中,可能对预估数据产生影响的因素有很多,经发明人研究发现,影响因素可包括数据因素、程序因素、实验因素、流量因素、特征因素和性能因素等。其中,数据因素可包括离线训练产出的模型数据存在问题,导致更新到线上预估使用后,预估结果出现波动。程序因素可包括在线预估的程序或代码模块出现问题,导致预估结果有误。实验因素可包括某个实验的配置、程序或数据出现问题,对应的实验结果出现异常,常见的实验比如ab实验(abtest),即将研究样本分为实验组和对照组,两组采用流量成分类似的分组请求,然后对比在近似流量成分下实验组和对照组的结果差异是否符合预期。流量因素可包括线上请求模型预估的流量成分发生了突变,例如出现了热点新闻,或用户分布发生了变化,会导致这部分流量进入模型后,训练产出的模型出现较大偏差,应用到在线后预估出现问题。特征因素可包括特征维度的覆盖率发生了变化,可能由特征抽取代码变化、特征明文变化以及在离线特征不一致等引起异常波动,具体比如某个重要特征的空值覆盖率突然变高或变低,也会影响模型预估结果。性能因素可包括在线预估的机器异常带来的性能问题,也会直接导致预估结果出现异常。与上述因素相关的变更事件都可能会造成预估数据的异常波动,而一些变更事件发生后,异常波动的起始时间和出现异常的机房的数量存在一定的关联关系,因此,可以通过确定波动分布情况来进行变更事件的定位。
41.示例性的,可获取目标机房上报的针对目标数据指标的异常波动信息,并根据异常波动信息确定波动分布情况,具体可以是根据目标时段内获取的异常波动信息确定波动分布情况,目标时段例如可以是最近的预设时长(如2小时)内,还可以是首次收到异常波动信息时刻开始的预设时长内,其中,首次收到异常波动信息时刻可以理解为超过设定时长(如1小时)未收到过预设机房集合中的机房上报的异常波动信息后收到异常波动信息的时刻。
42.其中,上述关联关系,可以是每个起始时间分别对应的目标机房的累计数量等。例如,在时间a,机房1和机房2中的预估数据发生异常波动,则会收到机房1和机房2上报的包含起始时间为a的异常波动信息,则时间a对应的目标机房的累计数量为2,随后,在时间b,机房3和机房4中的预估数据也发生异常波动,则会收到机房3和机房4上报的包含起始时间为b的异常波动信息,则时间b对应的目标机房的累计数量为4。
43.示例性的,预设特征可以是目标机房的累计数量随着起始时间的推进的变化特征,也可以是目标机房的累计数量是否超过相应数量阈值或在预设机房集合中机房总数的占比是否超过相应比例阈值的特征等,可根据需要进行查找的变更事件的特点来确定,例如,前者可以是数据因素相关的变更事件,后者可以是性能因素相关的变更事件等。
44.若满足预设特征,可以在起始时间的关联时间段内,查找预设变更事件。示例性的,在多个所述起始时间中的首个起始时间之前的预设时间段内,或者,在包含首个起始时间的预设时间段内,查找预设变更事件。预设时间段例如可以是首个起始时间之前的最近30分钟。若在首个起始时间之前发生了预设变更事件,则可以认为所发生的预设变更事件很可能引起预估数据的异常波动,根据查找结果生成异常波动的异常原因提示信息。
45.可选的,若查找到目标预设变更事件,则根据目标预设变更事件对应的变更信息生成所述异常波动的异常原因提示信息。变更信息中可以包括所查找到的预设变更事件(记为目标预设变更事件)的类型、名称、以及变更记录(如可包括变更时间和变更内容等)等。
46.可选的,在生成异常原因提示信息后,可以将异常原因提示信息以报警方式发送至相关人员侧,以供相关人员利用异常原因提示信息进行进一步的问题排查并采取相应的措施进行处理。可选的,还可对本轮异常波动造成的业务影响进行分析,比如对本轮波动对系统稳定性或平台收益指标等相关指标造成的影响进行分析,并将分析结果一同发送至相关人员侧。
47.本公开实施例提供的异常检测方法,根据目标机房上报的针对目标数据指标的异常波动信息,确定波动分布情况,其中,目标机房中部署有用于针对目标数据指标进行预估以得到对应的预估数据的目标预估模型,波动分布情况包括异常波动的起始时间与目标机房的累计数量的关联关系,判断波动分布情况是否满足预设特征,若满足,则在起始时间的关联时间段内,查找预设变更事件,根据预设变更事件的查找结果生成异常波动的异常原因提示信息。通过采用上述技术方案,以预估模型的在线波动为分析对象,自动对发生异常波动的机房的分布情况进行分析,在满足与预设变更事件发生后引起的波动分布特征后,自动在波动起始时间的关联时间段内进行预设变更事件的查找,并根据查找结果快速生成准确有效的异常原因提示信息,辅助相关人员及时采取相应措施,提高预估模型应用过程中的异常原因定位的速度和准确度,有利于缩短问题影响时间,并有效节约人工成本。
48.在一种可选实施方式中,所述预设变更事件包括目标预估模型变更事件和/或在线预估代码模块变更事件;所述预设特征包括所述目标机房的累计数量随着所述起始时间的推进,呈现阶段性递增趋势。这样设置的好处在于,可以快速准确地识别到目标预估模型变更事件和/或在线预估代码模块变更事件。
49.示例性的,目标预估模型变更事件可对应于上述的数据因素,可理解为目标预估模型从模型生产到最终模型的应用,也即模型从离线训练更新到在线使用的过程中发生的变更,该变更可以涉及目标预估模型本身的模型数据相关,可包括离线训练数据变更、训练参数变更、或对模型输出的数据进行二次处理以得到预估数据的过程中的处理代码变更等。将经过更新的离线模型发布到线上时,通常不会进行全量发布,也即不会发布到预设机房集合中的每个机房,而是分批次地逐渐增加发布,如从10%的机房,到20%的机房,再到30%的机房等。这样,预设机房集合中的部分机房采用变更前的目标预估模型进行数据预估,而部分机房采用变更后的目标预估模型进行数据预估,若本次变更事件存在问题,则部署了变更后的目标预估模型的机房会上报异常波动信息,随着分批次发布的进行,目标机房的累计数量随着起始时间的推进,呈现阶段性递增趋势。其中,阶段性递增趋势可以理解为,相邻的两个起始时间分别对应的目标机房的累计数量的差值,超过预设差值阈值,该预设差值阈值可以与目标预估模型的分批次发布策略和预设机房集合中的机房总数相关,例如每次发布10%的机房,机房总数为100,则预设差值阈值可以设置为10或与10接近的数值。
50.示例性的,在线预估代码模块变更事件可对应于上述的程序因素。在线预估代码模块可理解为加载有目标预估模型的线上模块,在线使用模型来进行预估的过程封装在该
模块中,在模块内实现特征抽取、模型数据获取、特征聚合以及数据预估等一系列过程。如果该模块中某一环节对应的代码有问题,也会导致最终预估结果发生波动。在线预估代码模块在应用过程中,也存在代码更新的情况,在线预估代码模块变更事件可以理解为在线预估代码模块中的代码变更。将经过代码变更的在线预估代码模块发布到线上进行使用时,通常也不会进行全量发布,也即不会发布到预设机房集合中的每个机房,而是分批次地逐渐增加发布。这样,预设机房集合中的部分机房采用变更前的在线预估代码模块进行数据预估,而部分机房采用变更后的在线预估代码模块进行数据预估,若本次变更事件存在问题,则采用了变更后的在线预估代码模块的机房会上报异常波动信息,随着分批次发布的进行,目标机房的累计数量随着起始时间的推进,呈现阶段性递增趋势。其中,阶段性递增趋势可以理解为,相邻的两个起始时间分别对应的目标机房的累计数量的差值,超过预设差值阈值,该预设差值阈值可以与在线预估代码模块的分批次发布策略和预设机房集合中的机房总数相关。
51.图3是根据本公开实施例提供的又一种异常检测方法的流程图,在上述各可选实施例基础上进行优化,进一步细化了在线预估代码模块变更事件的查找过程。如图3所示,该方法可包括:
52.s301、根据目标机房上报的针对目标数据指标的异常波动信息,确定波动分布情况。
53.其中,目标机房中部署有目标预估模型,目标预估模型用于针对目标数据指标进行预估以得到对应的预估数据,波动分布情况包括异常波动的起始时间与目标机房的累计数量的关联关系。
54.s302、判断波动分布情况是否满足预设特征,若满足,则执行s303;否则,结束流程。
55.其中,预设特征包括目标机房的累计数量随着起始时间的推进,呈现阶段性递增趋势。
56.s303、在起始时间的关联时间段内,查找目标预估模型变更事件。
57.可选的,查找变更时间处于起始时间的关联时间段内的目标预估模型对应的变更记录。目标预估模型对应的变更记录,如可包括目标预估模型的变更时间和变更内容等。变更记录可包含于更新单中,可查询目标预估模型对应的更新单地址,通过访问更新单地址来找到变更时间处于关联时间段内的变更记录,例如,查找首个异常波动的起始时间前30分钟内的变更记录。
58.s304、根据目标映射关系确定目标预估模型当前对应的目标在线预估代码模块,其中,目标映射关系包括目标预估模型和加载有目标预估模型的在线预估代码模块之间的对应关系。
59.示例性的,在具体的应用场景中,在线预估代码模块通常存在多个,可以根据当前的实际需求选择对目标预估模型进行加载的在线预估代码模块,一般由程序自动进行选择,例如,以点击率为例,在识别到当前场景为应用场景3时,采用第一在线预估代码模块加载目标点击率预测模型,而在识别到当前场景为应用场景4时,采用第二在线预估代码模块加载目标点击率预测模型。这样当在线预估代码模块较多时,人工排查的方式很难快速查找到目标在线预估代码模块,增加了问题定位耗时。本公开实施例中,可以动态维护目标预
估模型与在线预估代码模块之间的目标映射关系,例如,在将目标预估模型加载至某个在线预估代码模块之后,记录目标映射关系,若目标在线预估代码模块发生了变化,则及时对目标映射关系进行更新。利用该目标映射关系,在出现异常波动时,可以快速得知当前使用的目标在线预估代码模块,进而有针对性地进行问题排查。
60.s305、查找变更时间处于起始时间的关联时间段内的目标在线预估代码模块对应的变更记录。
61.目标在线预估代码模块对应的变更记录,如可包括目标在线预估代码模块的变更时间和变更内容等。变更记录可包含于更新单中,可查询目标在线预估代码模块对应的更新单地址,通过访问更新单地址来找到变更时间处于关联时间段内的变更记录,例如,查找首个异常波动的起始时间前30分钟内的变更记录。
62.需要说明的是,s303和s304-s305的执行顺序也可互换或并行执行等,具体不做限定。
63.s306、根据目标预估模型变更事件的查找结果和在线预估代码模块变更事件的查找结果,生成异常波动的异常原因提示信息。
64.示例性的,可以将查找到的更新单的链接包含于生成的异常原因提示信息中,也可将更新单中的变更记录包含于异常原因提示信息中,具体不做限定。
65.本公开实施例提供的异常检测方法,在波动分布情况符合目标预估模型变更事件和在线预估代码模块变更事件对应的预设特征时,可以自动确定当前使用的目标预估模型以及利用目标映射关系确定加载有该目标预估模型的目标在线预估代码模块,并查找变更时间处于起始时间的关联时间段内的变更记录,若查找到匹配的变更记录,则可快速定位异常原因,并生成相应的提示信息,进一步提升问题定位效率。
66.在一种可选实施方式中,在所述判断所述波动分布情况是否满足预设特征之后,还包括:若满足,则判断所述目标机房对应的第一流量波动趋势与所述预估数据的波动趋势是否相匹配;其中,所述根据所述预设变更事件的查找结果生成所述异常波动的异常原因提示信息,包括:若所述第一流量波动趋势与所述预估数据的波动趋势相匹配,则根据所述目标机房对应的第一流量波动信息和所述预设变更事件的查找结果,生成所述异常波动的异常原因提示信息。这样设置的好处在于,当分配至机房的用户流量发生变化时,也可能会导致预估数据的异常波动,也即异常波动可能是由数据因素、程序因素和流量因素共同影响下造成的,在排查预设变更事件的同时,进行流量因素的排查,可以更加全面地定位异常原因。
67.在一种可选实施方式中,在所述判断所述波动分布情况是否满足预设特征之后,还包括:若不满足,则判断所述目标机房对应的第二流量波动趋势与所述预估数据的波动趋势是否相匹配;若匹配,则根据所述目标机房对应的第二流量波动信息生成所述异常波动的异常原因提示信息。这样设置的好处在于,若波动分布情况不满足预设特征,可以基本排除预设变更事件产生的影响,对流量因素进行进一步排查,可以更加明确地定位异常原因。
68.图4是根据本公开实施例提供的另一种异常检测方法的流程图,在上述各可选实施例基础上进行优化,增加了针对流量因素进行排查的相关步骤。如图4所示,该方法可包括:
69.s401、根据目标机房上报的针对目标数据指标的异常波动信息,确定波动分布情况。
70.s402、判断波动分布情况是否满足预设特征,若是,则执行s403;否则,执行s407。
71.s403、在起始时间的关联时间段内,查找预设变更事件。
72.s404、判断目标机房对应的第一流量波动趋势与预估数据的波动趋势是否相匹配,若是,则执行s405;否则,执行s406。
73.示例性的,获取目标机房中的第一流量波动信息,流量可以采用请求数进行量化,也即流量波动可以是用户请求的数量的变化。第一流量波动趋势可以理解为单个目标机房中,在该目标机房中预估数据发生异常波动的起始时间到结束时间之间的流量波动趋势,针对该目标机房,可以判断第一流量波动趋势与该目标机房内的预估数据的波动趋势是否匹配,如递增或递减方向是否一致。对于存在多个目标机房的情况,可以是判断是否每个目标机房对应的第一流量波动趋势均与对应的预估数据的波动趋势相匹配,若均匹配,可认为异常波动与流量因素相关。
74.s405、根据目标机房对应的第一流量波动信息和预设变更事件的查找结果,生成异常波动的异常原因提示信息。
75.示例性的,第一流量波动信息可以包括请求数的波动曲线以及波动幅度的相关信息,还可包括目标机房的流量切换记录等。
76.s406、根据预设变更事件的查找结果生成异常波动的异常原因提示信息。
77.s407、判断目标机房对应的第二流量波动趋势与预估数据的波动趋势是否相匹配,若是,则执行s408;否则,结束流程。
78.示例性的,第二流量波动趋势可以理解为单个目标机房中,在该目标机房中预估数据发生异常波动的起始时间到结束时间之间的流量波动趋势,针对该目标机房,可以判断第二流量波动趋势与该目标机房内的预估数据的波动趋势是否匹配,也即递增或递减方向是否一致。对于存在多个目标机房的情况,可以是判断是否每个目标机房对应的第二流量波动趋势均与对应的预估数据的波动趋势相匹配,若均匹配,可认为异常波动与流量因素相关。
79.s408、根据目标机房对应的第二流量波动信息生成异常波动的异常原因提示信息。
80.示例性的,第二流量波动信息可以包括请求数的波动曲线以及波动幅度的相关信息,还可包括目标机房的流量切换记录等。
81.可选的,若目标机房对应的第二流量波动趋势与预估数据的波动趋势不匹配,也可生成异常原因参考信息,该参考信息中可以提示异常原因排除预设变更事件和流量波动,异常原因为实验因素、特征因素和性能因素中的至少一种,以便相关人员能够对这三种因素进行有针对性的排查,从而也可提高问题定位效率。
82.本公开实施例提供的异常检测方法,在波动分布情况符合预设变更事件对应的预设特征时,可以自动查找变更时间处于起始时间的关联时间段内的设变更事件,以及排查流量波动是否会引起预估数据的异常波动,根据两方面的排查结果生成异常原因提示信息,若不符合预设特征,则排查流量波动是否会引起预估数据的异常波动并生成相应的提示信息,可有效提升问题定位效率以及问题排查的全面性和准确度。
83.图5是根据本公开实施例提供的一种异常检测过程示意图,如图5所示,在线上机房发生异常波动时,分析是否线上波动有分阶段特征,如从单机波动变为多机波动,若符合该特征,则查看波动开始的前30分钟内的变更,包括模型变更、程序变更以及流量波动,若存在匹配的变更,则生成异常原因的提示信息,以进行报警通知,则相关人员能够及时准确地获悉线上预估数据波动的原因。
84.图6是根据本公开实施例提供的一种异常检测装置的结构示意图,本公开实施例可适用于对模型应用过程中出现预估数据异常波动时自动定位问题的情况。该装置可用于执行本公开实施例中的异常检测方法,可采用硬件和/或软件的方式来实现,可配置于电子设备中。参考图6,该异常检测装置600具体包括:
85.波动分布情况确定模块601,用于根据目标机房上报的针对目标数据指标的异常波动信息,确定波动分布情况,其中,所述目标机房中部署有目标预估模型,所述目标预估模型用于针对所述目标数据指标进行预估以得到对应的预估数据,所述波动分布情况包括异常波动的起始时间与所述目标机房的累计数量的关联关系;
86.特征判定模块602,用于判断所述波动分布情况是否满足预设特征;
87.变更事件查找模块603,用于在所述波动分布情况满足所述预设特征的情况下,在所述起始时间的关联时间段内,查找预设变更事件;
88.第一提示信息生成模块604,用于根据所述预设变更事件的查找结果生成所述异常波动的异常原因提示信息。
89.本公开实施例提供的异常检测装置,以预估模型的在线波动为分析对象,自动对发生异常波动的机房的分布情况进行分析,在满足与预设变更事件发生后引起的波动分布特征后,自动在波动起始时间的关联时间段内进行预设变更事件的查找,并根据查找结果快速生成准确有效的异常原因提示信息,辅助相关人员及时采取相应措施,提高预估模型应用过程中的异常原因定位的速度和准确度,有利于缩短问题影响时间,并有效节约人工成本。
90.在一种可选实施方式中,所述预设变更事件包括目标预估模型变更事件和/或在线预估代码模块变更事件;所述预设特征包括所述目标机房的累计数量随着所述起始时间的推进,呈现阶段性递增趋势。
91.在一种可选实施方式中,其中,所述变更事件查找模块包括:
92.代码模块确定单元,用于在所述波动分布情况满足所述预设特征的情况下,根据目标映射关系确定所述目标预估模型当前对应的目标在线预估代码模块,其中,所述目标映射关系包括所述目标预估模型和加载有所述目标预估模型的在线预估代码模块之间的对应关系;
93.第一查找单元,用于查找变更时间处于所述起始时间的关联时间段内的所述目标在线预估代码模块对应的变更记录。
94.在一种可选实施方式中,还包括:
95.第一趋势判定模块,用于在所述波动分布情况满足所述预设特征的情况下,判断所述目标机房对应的第一流量波动趋势与所述预估数据的波动趋势是否相匹配;
96.其中,所述第一提示信息生成模块具体用于:在所述第一流量波动趋势与所述预估数据的波动趋势相匹配的情况下,根据所述目标机房对应的第一流量波动信息和所述预
设变更事件的查找结果,生成所述异常波动的异常原因提示信息。
97.在一种可选实施方式中,还包括:
98.第二趋势判定模块,用于在所述波动分布情况不满足所述预设特征的情况下,判断所述目标机房对应的第二流量波动趋势与所述预估数据的波动趋势是否相匹配;
99.第二提示信息生成模块,用于在所述第二流量波动趋势与所述预估数据的波动趋势相匹配的情况下,根据所述目标机房对应的第二流量波动信息生成所述异常波动的异常原因提示信息。
100.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等,均符合相关法律法规的规定,且不违背公序良俗。
101.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
102.图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
103.如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
104.设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
105.计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如异常检测方法。例如,在一些实施例中,异常检测方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到ram 703并由计算单元701执行时,可以执行上文描述的异常检测方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行异常检测方法。
106.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中
实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
107.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
108.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
109.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
110.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)区块链网络和互联网。
111.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
112.人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包
括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
113.云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
114.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
115.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
技术特征:
1.一种异常检测方法,包括:根据目标机房上报的针对目标数据指标的异常波动信息,确定波动分布情况,其中,所述目标机房中部署有目标预估模型,所述目标预估模型用于针对所述目标数据指标进行预估以得到对应的预估数据,所述波动分布情况包括异常波动的起始时间与所述目标机房的累计数量的关联关系;判断所述波动分布情况是否满足预设特征,若满足,则在所述起始时间的关联时间段内,查找预设变更事件;根据所述预设变更事件的查找结果生成所述异常波动的异常原因提示信息。2.根据权利要求1所述的方法,其中,所述预设变更事件包括目标预估模型变更事件和/或在线预估代码模块变更事件;所述预设特征包括所述目标机房的累计数量随着所述起始时间的推进,呈现阶段性递增趋势。3.根据权利要求2所述的方法,其中,在所述起始时间的关联时间段内,查找在线预估代码模块变更事件,包括:根据目标映射关系确定所述目标预估模型当前对应的目标在线预估代码模块,其中,所述目标映射关系包括所述目标预估模型和加载有所述目标预估模型的在线预估代码模块之间的对应关系;查找变更时间处于所述起始时间的关联时间段内的所述目标在线预估代码模块对应的变更记录。4.根据权利要求1所述的方法,在所述判断所述波动分布情况是否满足预设特征之后,还包括:若满足,则判断所述目标机房对应的第一流量波动趋势与所述预估数据的波动趋势是否相匹配;其中,所述根据所述预设变更事件的查找结果生成所述异常波动的异常原因提示信息,包括:若所述第一流量波动趋势与所述预估数据的波动趋势相匹配,则根据所述目标机房对应的第一流量波动信息和所述预设变更事件的查找结果,生成所述异常波动的异常原因提示信息。5.根据权利要求1所述的方法,在所述判断所述波动分布情况是否满足预设特征之后,还包括:若不满足,则判断所述目标机房对应的第二流量波动趋势与所述预估数据的波动趋势是否相匹配;若匹配,则根据所述目标机房对应的第二流量波动信息生成所述异常波动的异常原因提示信息。6.一种异常检测装置,包括:波动分布情况确定模块,用于根据目标机房上报的针对目标数据指标的异常波动信息,确定波动分布情况,其中,所述目标机房中部署有目标预估模型,所述目标预估模型用于针对所述目标数据指标进行预估以得到对应的预估数据,所述波动分布情况包括异常波动的起始时间与所述目标机房的累计数量的关联关系;特征判定模块,用于判断所述波动分布情况是否满足预设特征;
变更事件查找模块,用于在所述波动分布情况满足所述预设特征的情况下,在所述起始时间的关联时间段内,查找预设变更事件;第一提示信息生成模块,用于根据所述预设变更事件的查找结果生成所述异常波动的异常原因提示信息。7.根据权利要求6所述的装置,其中,所述预设变更事件包括目标预估模型变更事件和/或在线预估代码模块变更事件;所述预设特征包括所述目标机房的累计数量随着所述起始时间的推进,呈现阶段性递增趋势。8.根据权利要求7所述的装置,其中,所述变更事件查找模块包括:代码模块确定单元,用于在所述波动分布情况满足所述预设特征的情况下,根据目标映射关系确定所述目标预估模型当前对应的目标在线预估代码模块,其中,所述目标映射关系包括所述目标预估模型和加载有所述目标预估模型的在线预估代码模块之间的对应关系;第一查找单元,用于查找变更时间处于所述起始时间的关联时间段内的所述目标在线预估代码模块对应的变更记录。9.根据权利要求6所述的装置,还包括:第一趋势判定模块,用于在所述波动分布情况满足所述预设特征的情况下,判断所述目标机房对应的第一流量波动趋势与所述预估数据的波动趋势是否相匹配;其中,所述第一提示信息生成模块具体用于:在所述第一流量波动趋势与所述预估数据的波动趋势相匹配的情况下,根据所述目标机房对应的第一流量波动信息和所述预设变更事件的查找结果,生成所述异常波动的异常原因提示信息。10.根据权利要求6所述的装置,还包括:第二趋势判定模块,用于在所述波动分布情况不满足所述预设特征的情况下,判断所述目标机房对应的第二流量波动趋势与所述预估数据的波动趋势是否相匹配;第二提示信息生成模块,用于在所述第二流量波动趋势与所述预估数据的波动趋势相匹配的情况下,根据所述目标机房对应的第二流量波动信息生成所述异常波动的异常原因提示信息。11.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。12.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-5中任一项所述的方法。
技术总结
本公开提供了异常检测方法、装置、设备及存储介质,涉及人工智能技术领域,尤其涉及机器学习、信息预测、以及信息推荐等技术领域。具体实现方案为:根据目标机房上报的针对目标数据指标的异常波动信息,确定波动分布情况,其中,目标机房包中部署有用于针对目标数据指标进行预估以得到对应的预估数据的目标预估模型,波动分布情况包括异常波动的起始时间与目标机房的累计数量的关联关系,判断波动分布情况是否满足预设特征,若满足,则在起始时间的关联时间段内,查找预设变更事件,根据预设变更事件的查找结果生成异常波动的异常原因提示信息。通过采用上述技术方案,可提高预估模型应用过程中的异常原因定位的速度和准确度,节约人工成本。节约人工成本。节约人工成本。
技术研发人员:于茜 宋云蛟 王念
受保护的技术使用者:百度在线网络技术(北京)有限公司
技术研发日:2023.04.23
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/