CN115080356B - 异常告警方法和装置 - Google Patents

异常告警方法和装置 Download PDF

Info

Publication number
CN115080356B
CN115080356B CN202210856146.0A CN202210856146A CN115080356B CN 115080356 B CN115080356 B CN 115080356B CN 202210856146 A CN202210856146 A CN 202210856146A CN 115080356 B CN115080356 B CN 115080356B
Authority
CN
China
Prior art keywords
value
monitoring
monitoring index
abnormal
curve
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210856146.0A
Other languages
English (en)
Other versions
CN115080356A (zh
Inventor
张锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202210856146.0A priority Critical patent/CN115080356B/zh
Publication of CN115080356A publication Critical patent/CN115080356A/zh
Application granted granted Critical
Publication of CN115080356B publication Critical patent/CN115080356B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Alarm Systems (AREA)

Abstract

本说明书实施例提供了一种异常告警的方法及装置。该方法中,在每一个采样周期均执行:对业务应用关联的监控指标的值进行采样;判断在当前采样周期采样到的当前监控指标值是否大于预先设置的指标阈值;如果大于,则得到N个数组;其中,该N个数组包括:由当前采样周期对应的时间点以及当前监控指标值组成的一个数组,以及在当前采样周期之前和/或之后的N‑1个采样周期对应的时间点以及对应的监控指标值组成的N‑1数组;对所述N个数组进行曲线拟合,得到拟合后的曲线的参数;根据拟合后的曲线的参数确定是否进行异常告警。本说明书实施例的方法及装置能够提高异常告警的准确性,避免误报。

Description

异常告警方法和装置
技术领域
本说明书一个或多个实施例涉及网络通信技术,尤其涉及异常告警方法和装置。
背景技术
随着互联网的发展,出现了海量的业务应用,为了保证各种业务应用的正常运行,需要对业务应用的运行情况进行监控,当发现监控指标存在异常时进行告警。
目前,进行异常告警的方法主要包括:在业务运行过程中,采集监控指标,判断采集到的监控指标的值是否大于预先设置的指标阈值,如果大于,则确定出现了异常征兆,进行告警。比如,目前出现了面向切面编程(AOP)技术,通过业务应用的切点在业务应用的程序中注入切面程序,基于切面安全技术来实现对应业务应用的各种功能,比如监控业务应用的运行过程中是否出现了隐私数据的泄露。而切面程序的注入可能会导致业务应用的运行出现异常,因此,需要进行异常告警。
然而,目前的异常告警方法在采集到的监控指标值大于指标阈值时就认为出现了异常征兆,往往会导致误判,从而进行错误的告警处理。
发明内容
本说明书一个或多个实施例描述了异常告警方法和装置,能够更加准确地进行异常告警。
根据第一方面,提供了一种异常告警方法,其中,该方法在每一个采样周期均执行:
对监控指标的值进行采样;
判断在当前采样周期采样到的当前监控指标值是否大于预先设置的指标阈值;如果大于,
则得到N个数组;其中,N为大于1的整数,该N个数组包括:由当前采样周期对应的时间点以及当前监控指标值组成的一个数组,以及在当前采样周期之前和/或之后的共N-1个采样周期对应的时间点以及对应的监控指标值组成的N-1个数组;
对所述N个数组进行曲线拟合,得到拟合后的曲线的参数;
根据拟合后的曲线的参数确定是否进行异常告警。
其中,所述监控指标包括如下中的任意一种:
针对业务应用所注入的切面的监控指标;
针对业务应用提供的一项服务的监控指标;
针对操作***层面的监控指标;
针对JAVA虚拟机的监控指标。
其中,所述对N个数组进行曲线拟合得到拟合后的曲线的参数,包括:
对所述N个数组进行指数函数形式的曲线拟合;
其中,表征该曲线的指数函数的表达式为:
Figure 727784DEST_PATH_IMAGE001
;其中,y对应监控指标值,x对应采样周期的时间点,a、b分别为指数函数的参数;
得到拟合后的曲线的参数b的值。
其中,所述根据拟合后的曲线的参数确定是否进行异常告警,包括:
判断得到的参数b的值是否大于预先设置的参数阈值B1;其中,B1表征的是对监控指标值处于高位时所持续的采样周期的数量的容忍度;
如果大于,则确定进行异常告警,否则,不进行异常告警。
其中,在判断出参数b的值大于预先设置的B1之后,并在确定进行异常告警之前,进一步包括:
计算所述N个数组中的N个监控指标值的中位数或平均值;
判断计算出的中位数或平均值是否大于所述指标阈值,如果是,则进行异常告警,并将该N个监控指标值作为监控异常数据提供给外部。
在判断出参数b的值大于预先设置的B1之后,该方法进一步包括:
判断得到的参数b的值是否大于预先设置的B2;B2大于B1;
如果参数b的值大于预先设置的B2,则确定当前出现了监控指标值处于持续高位的异常征兆;
如果参数b的值小于B2且大于B1,则确定当前出现了监控指标值处于短暂高位的异常征兆。
在进行异常告警之后,进一步包括:
根据切面业务模块、切面业务模块所在的业务应用、业务应用所在的机器、机器所在的机房中的至少两个维度,得到至少两个视角的监控异常数据;
根据该至少两个视角的监控异常数据以及相应维度的日志,综合判断当前是否需要进行故障应急处理,如果是,则进行对应维度的故障应急处理。
其中,当所述维度包括切面业务模块的维度时,所述故障应急处理包括:关闭切面业务模块中引起监控异常的切点;
和/或,
当所述维度包括切面业务模块所在的业务应用的维度时,所述故障应急处理包括:关闭业务应用的功能;
和/或,
当所述维度包括业务应用所在的机器/机房时,所述故障应急处理包括:将该机器/机房所处理的业务引流到其他机器/机房、重启机器/机房、卸载机器/机房中的业务应用、升级机器/机房中的业务应用中的至少一项。
根据第二方面,提供了异常告警装置,其中,包括:
监控指标值采集模块,配置为在每一个采样周期中对业务应用关联的监控指标的值进行采样;
启动模块,配置为判断在当前采样周期采样到的当前监控指标值是否大于预先设置的指标阈值;如果大于,则触发曲线拟合模块;
曲线拟合模块,配置为得到N个数组;其中,该N个数组包括:由当前采样周期对应的时间点以及当前监控指标值组成的一个数组,以及在当前采样周期之前和/或之后的N-1个采样周期对应的时间点以及对应的监控指标值组成的N-1数组;对N个数组进行曲线拟合,得到拟合后的曲线的参数;
告警模块,配置为根据拟合后的曲线的参数确定是否进行异常告警。
根据第三方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书任一实施例所述的方法。
本说明书各个实施例提供的异常告警方法及装置,至少能够达到如下的有益效果:
1、能够更加准确地进行异常告警,减少误报。比如,能够区分监控指标值的异常升高是否属于“毛刺”类型的异常情况,从而过滤掉毛刺类型,针对此种异常升高,不进行异常告警,减少了告警量,并减少了误报。
2、采用数学手段的方法即基于曲线拟合的方法,而非统计学方法,效率更高,计算量小,可以满足海量业务的异常告警的实时性要求。
3、在告警时,能够进一步提供异常类型,比如为监控指标值持续高位的异常类型或者监控指标值短暂高位的异常类型,从而丰富了告警内容,更加有利于故障排查。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是多个采样周期内采样到的各监控指标值形成的毛刺类型的曲线图的示意图。
图2是本说明书一个实施例中异常告警的方法的流程图。
图3是多个采样周期内采样到的各监控指标值形成的持续高位类型的曲线图的示意图。
图4是多个采样周期内采样到的各监控指标值形成的短暂高位类型的曲线图的示意图。
图5是多个采样周期内采样到的各监控指标值形成的抖动类型的曲线图的示意图。
图6是本说明书另一个实施例中的异常告警方法的流程图。
图7是本说明书一个实施例中异常告警装置的结构示意图。
图8是本说明书另一个实施例中异常告警装置的结构示意图。
具体实施方式
如前所述,目前的异常告警方法在采集到的监控指标值大于指标阈值时就认为出现了异常征兆,往往会导致误判,从而进行错误的告警处理。举例说明,对一个切面程序的监控指标进行采样,由于各种原因,比如网络的抖动、CPU调度、内存的占用与释放、垃圾回收等原因,采样得到的监控指标值(比如切点响应时间)会在非常短的几个采样周期比如一个采样周期或者两个采用周期的时间内,出现监控指标值的异常升高,大于指标阈值,但是在绝大部分的采样周期内,采样到的监控指标值都小于指标阈值,属于正常范围。如果绘制此种监控指标值的采样曲线,会得出在连续的采样周期内,监控指标值的曲线呈现“毛刺”类型的曲线形状。比如,在一个实施例中,参见图1,图1中X轴是表示采样时间的轴,单位为分钟,Y轴是表示作为监控指标值的切点响应时间的轴,单位为秒,可见,图1中的曲线呈现“毛刺”类型的曲线形状。此种情况,只是外部原因比如网络抖动或CPU调度导致的一瞬间的波动,此种波动通常会自然消失,并不是因为业务应用的运行或者切面程序出现了异常,也不会影响业务应用的正常运行,无需进行告警。但是按照现有技术的处理方法,只要得到监控指标值大于指标阈值,就认为出现了异常征兆,就会告警,从而造成了错误告警,管理人员获知了错误告警后,就会进行一系列异常排查处理,导致了各种资源的浪费。
进一步地,在实际的业务实现中,因为产生的原因复杂多样,导致监控到的上述“毛刺”的数量通常是巨大的,按照现有技术的做法,就会导致无谓地频繁告警,从而为异常告警管理造成了很大的困扰。
下面结合附图,对本说明书提供的方案进行描述。
首先需要说明的是,在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
图2是本说明书一个实施例中的异常告警方法的流程图。该方法的执行主体为异常告警装置。可以理解,该方法也可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。该方法是在对监控指标进行采样的每一个采样周期中循环进行。参见图2,该方法包括:
步骤201:在当前采样周期,对监控指标的值进行采样。
步骤203:判断在当前采样周期采样到的当前监控指标值是否大于预先设置的指标阈值;如果大于,执行步骤205,否则,进入下一个采样周期,返回步骤201。
步骤205:得到N个数组;其中,该N个数组包括:由当前采样周期对应的时间点以及当前监控指标值组成的一个数组,以及在当前采样周期之前和/或之后的N-1个采样周期对应的时间点以及对应的监控指标值组成的N-1个数组。
步骤207:对N个数组按照时间顺序排序后进行曲线拟合,得到拟合后的曲线的参数。
步骤209:根据拟合后的曲线的参数确定是否进行异常告警。
根据上述图2所示流程可以看出,本说明书实施例提供的异常告警方法在采集到的监控指标值大于指标阈值时,不是直接确定出现了异常征兆并告警,而是首先利用该监控指标值及其前/后采样周期内的监控指标值进行曲线拟合,根据拟合后的曲线的参数确定是否出现了异常征兆并告警。其中,根据拟合后的曲线的参数可以确定出拟合后的曲线是否符合异常曲线的特点,从而确定是否进行异常告警。可见,本说明实施例的方法能够更加准确地进行异常告警,减少误报。
在图2所示的本说明书实施例的方法中,不是利用统计学手段来分别计算某一次或某几次的监控指标值是否异常,从而确定是否进行异常告警,而是利用数学手段进行曲线拟合,其原理是通过刻画异常点位曲线的走势,来确定是否出现异常征兆,从而确定是否进行异常告警。正如本领域技术人员所知的,数学手段相对于统计学手段具有效率高且更加满足及时性要求的优势。面对目前海量的业务应用,海量的监控指标,海量的监控要求,服务器端会出现海量的异常监控指标,这些海量的异常监控指标有的是偶发干扰因素造成的,无需告警,有的是故障前兆需要及时告警。那么,如果利用统计学手段,将需要进行海量的运算,几乎无法满足海量业务的异常告警的实时性要求,而采用本说明书实施例的数学手段的方法即基于曲线拟合的方法,效率更高,计算量小,可以满足海量业务的异常告警的实时性要求。
本说明书实施例的方法及装置能够应用于各种业务场景中,从而实现对各种类型的监控指标的异常告警。比如,可以应用于如下业务场景中:
业务场景一、对切面程序的异常告警。
目前出现了面向切面编程(AOP)技术。各种业务应用比如服务器中的业务应用或者终端设备中的业务应用,都可以通过切点注入切面程序,从而实现各种功能。即使切面程序在运行之前已被验证为合格,但是在切面程序注入业务应用的程序之后,由于该两种程序需要耦合,因此也可能会导致切面程序的运行出现异常,因此,出现了该业务场景一,即,需要进行切面程序的异常告警。
在该业务场景一中,监控指标为针对业务应用所注入的切面的监控指标,用以监控切面程序的运行是否出现异常。
在本说明书一个实施例中,切面的监控指标可以包括如下中的任意一种:
分钟拦截数(tpm),分钟拦截数表示每分钟通过切面程序拦截业务应用的异常操作的次数;
切点响应时间(rt),切点响应时间表示从进入一个切点来执行该切点处的切面程序直到结束该切面程序并离开该切点的时间长度;
抛出异常次数(exception),抛出异常次数表示切面程序出现异常时抛出异常数据的次数。
业务场景二、针对业务应用提供的一项服务的异常告警。
业务应用需要对外提供服务,比如刷脸服务、读取数据的服务等,因此,需要对提供的服务进行异常告警。如前所述,在切面程序注入业务应用的程序之后,由于该两种程序需要耦合,因此也可能会导致业务应用提供的服务出现异常,
在该业务场景二中,监控指标为:针对业务应用提供的一项服务的监控指标。比如,服务耗时和失败数、消息订阅耗时和失败数等。
业务场景三、针对操作***的异常告警。
该业务场景三中,监控指标为:针对操作***层面的监控指标。比如,CPU使用率、内存使用率、CPU负载等。
业务场景四、针对JAVA虚拟机的异常告警。
该业务场景四中,监控指标为:针对JAVA虚拟机的监控指标。比如,YGC的耗时和次数、FGC的耗时和次数。
下面结合附图及各种例子,来对图2所示的每一个步骤分别进行说明。
首先对于步骤201:在每一个采样周期中,对监控指标的值进行采样。
如前所述,本步骤201中的监控指标可以是上述四种业务场景中的任意一个监控指标,比如为切点响应时间(rt)。
采样周期由监控需求确定,比如每秒采样一次,或者每分钟采样一次,或者每天采样一次等。
在本说明书一个实施例中,可以在业务应用程序中通过切点注入切面程序,即监控增强代码,通过该注入的监控增强代码对监控指标的值进行采样。
接下来对于步骤203:判断在当前采样周期采样到的当前监控指标值是否大于预先设置的指标阈值;如果大于,执行步骤205,否则,进入下一个采样周期,返回步骤201。
在本说明书实施例中,需要预先设置指标阈值,记为M。该指标阈值的大小可以根据专家经验设置。比如,监控指标为切点响应时间时,专家经验认为在正常情况下,该切点响应时间通常小于0.03秒。因此,可以设置M=0.03。可以理解,针对不同的业务场景,不同的监控指标,指标阈值的大小不同。
指标阈值M用于确定是否启动后续异常告警的处理流程,即,是否启动后续曲线拟合的过程。如果当前采样周期采样到的当前监控指标值大于预先设置的指标阈值,则启动后续曲线拟合的过程。
接下来对步骤205:得到N个数组;其中,该N个数组包括:由当前采样周期对应的时间点以及当前监控指标值组成的一个数组,以及在当前采样周期之前和/或之后的N-1个采样周期对应的时间点以及对应的监控指标值组成的N-1个数组。
在本步骤205中,比如当前采样周期为时刻t1,在该时刻t1采样到的监控指标值大于M,需要启动后续的曲线拟合,那么,为了更好地刻画异常点位即时刻t1附近监控指标值的变化情况,可以获取时刻t1及其附近的总共N个监控指标值来确定异常点位曲线的走势。在本说明书实施例中,该N个监控指标值可以是:在时刻t1及其之前N-1个采样周期的时刻中采样到的监控指标值,或者是在时刻t1及其之后N-1个采样周期的时刻中采样到的监控指标值,或者是在时刻t1及其之前以及之后的采样周期的时刻中采样到的监控指标值。
比如在当前采样周期即时刻t1,可以延迟T1时间即再等待N2个采样周期的时间,得到时刻t1之后的N2个采样周期中采集到的N2个监控指标的值,同时,获取t1时刻之前的N1个采样周期中已经采样得到的N1个监控指标的值,这样就得到了N=(N1+N2+1)个监控指标值,该N个监控指标值及其对应的时间点分别组成了N个数组。
接下来对步骤207:对N个数组按照时间排序后进行曲线拟合,得到拟合后的曲线的参数。
在本说明书实施例中不是利用统计学手段来分别计算某一次或某几次的监控指标值是否异常来确定是否告警,而是利用数学手段进行曲线拟合,其原理是通过刻画异常点位曲线的走势,来确定是否出现异常征兆,效率更高,可以满足海量业务的异常告警的实时性要求。
在本步骤207中,对N个数组按照时间进行排序,得到按照时间顺序排列的在N个采样周期的时刻上采集到的N个监控指标值,对该N个监控指标值进行曲线拟合。在本说明书实施例中,可以采用各种已有的方法进行曲线拟合,比如采用MATLAB(matrix&laboratory)技术进行曲线拟合。
对告警业务的特点进行分析可知,当监控指标值出现异常时,通常对应如下四种情况:
情况1:监控指标值只是瞬间突增。
在该情况1,只是在很短的时间长度内(即,在很少的连续采样周期内比如一个或者连续两个采样周期内)均采集到大于监控阈值的监控指标值。而其他采样周期采集到的监控指标值不大于监控阈值,处于正常状态。该情况1下的监控指标值形成的曲线可以如图1所示,为“毛刺”类型的曲线。
情况2:监控指标值持续高位。
在该情况2,在很长的时间长度内(即,在很长的连续采样周期内比如连续10个采样周期内)均采集到大于监控阈值的监控指标值。该情况2下的监控指标值形成的曲线可以为“持续高位”类型的曲线。比如,在一个实施例中,参见图3,图3中X轴是表示采样时间的轴,单位为分钟,Y轴是表示作为监控指标值的切点响应时间的轴,单位为秒,可见,图3中的曲线呈现“持续高位”类型的曲线形状。
情况3:监控指标值短暂高位。
在该情况3,在相对较短的时间长度内(即,在相对较少的连续采样周期内比如大于2个且小于10个的连续采样周期内)均采集到大于监控阈值的监控指标值,而其他采样周期采集到的监控指标值不大于监控阈值,处于正常状态。该情况3下的监控指标值形成的曲线可以为“短暂高位”类型的曲线。比如,在一个实施例中,参见图4,图4中X轴是表示采样时间的轴,单位为分钟,Y轴是表示作为监控指标值的切点响应时间的轴,单位为秒,可见,图4中的曲线呈现“短暂高位”类型的曲线形状。
情况4:监控指标值波动。
在该情况4,监控指标出现波动,即在连续的采样周期内,监控指标值持续进行突增及突减的交替变化。该情况4下的监控指标值形成的曲线可以为“抖动”类型的曲线。比如,在一个实施例中,参见图5,图5中X轴是表示采样时间的轴,单位为分钟,Y轴是表示作为监控指标值的切点响应时间的轴,单位为秒,可见,图5中的曲线呈现“抖动”类型的曲线形状。
结合上述4种情况的监控指标值的异常特点,可以得出,对于图1、图3、图4及图5所示的四类曲线的识别,关键在于对异常监控指标值的持续监控,需要通过一个相对显著的指标来刻画异常监控指标值形成的曲线的走势。而考虑到指数函数对于曲线两端的敏感程度远大于中心,该中心正好能够对应于启动曲线拟合的时刻,如以上描述的时刻t1,而曲线两端正好能够对应于该时刻t1附近比如时刻t1之前及之后的连续的时刻。因此,指数函数能够更好地满足本说明书实施例中对于监控指标值的异常特点的分析,即对曲线趋势的判定效果更好,比如,可以很好的识别曲线的类型属于上述四种情况中的哪一种,从而更好地判断出是否应该进行异常告警,进一步地,还可以在告警时提供当前异常的具体类型。
因此,在本步骤207中,对N个数组进行指数函数形式的曲线拟合。其中,指数函数形式的曲线所符合的函数关系式为:
Figure 985590DEST_PATH_IMAGE002
其中,y表征监控指标值,x表征采样周期的时间点,a、b分别为指数函数的参数。
因此,在本步骤207中,对于拟合后的指数函数形式的曲线,可以得到该曲线的参数a及参数b的值。
较佳地,结合指数函数形式的曲线的特点以及监控指标值的异常的特点,可以得出,在实际中,参数a的值的大小对于异常告警的过程的影响很小,可以不用考虑,而参数b的值的大小却大大影响了异常告警的过程,因此,在本步骤207中,对于拟合后的指数函数形式的曲线,可以无需得到该曲线的参数a,而只得到参数b的值。
下面通过分析来说明为什么参数a对异常告警的过程的影响很小,可以不用考虑,而参数b大大影响异常告警的过程,需要得到b的值。原因如下:
指数函数形式曲线的表达式
Figure 743330DEST_PATH_IMAGE001
,可以得到,a、b值的正负和大小,对指数函数形式的曲线趋势的影响如下:
在a值>0时:
b值>0的情况下:曲线呈增长趋势,b越大y增长速度越快。
b值<0的情况下:曲线呈下降趋势,b越小y下降速度越快。
a值>0的情况下:曲线呈增长趋势,a越大,曲线增长越靠前。
在a值<0的情况下:
y值为负数,在监控指标的场景下不存在负数,因此不会存在a<0的情况。
由上述样例场景可以看出,对曲线趋势是增长还是下降的判断主要取决于 参数b:b>0时,曲线呈增长趋势,b越大增长越厉害;b<0 时,曲线为下降趋势,b越小增长越小。
综上可以得出:
参数a的值的大小表征的是:监控指标值出现异常的时间的早晚,参数a的值越小,该异常出现的时间越早,参数a的值越大,该异常出现的时间越晚。但是,在本说明书实施例中,异常的监控指标值何时开始出现,出现时间的早晚并不能帮助区分出当前是否真的出现了异常征兆,是否应该进行异常告警。因此,可以不用计算参数a的值。
参数b的值的大小表征的是:监控指标值持续出现异常的时间长度。而参数b体现的该时间长度则能够帮助区分出当前是否真的出现了异常征兆,是否应该告警。比如,参数b体现的时间长度很小时,可以说明该异常情况对应于上述情况1的“毛刺”类型,因此,可以得出,当前不是异常前兆,无需进行异常告警。再如,参数b体现的时间长度很长时,可以是对应于上述情况2的持续高位的情况,因此,可以得出,当前是异常前兆,需要进行异常告警。
接下来对于步骤209:根据拟合后的曲线的参数确定是否进行异常告警。
如前所述,步骤207中确定出了利用上述N个数组拟合出的指数函数形式的曲线,并且确定了该曲线的参数b的值,这样,本步骤209中,根据该参数b的值的大小,来确定当前是否出现了异常征兆,是否需要进行异常告警。
在本说明书实施例中,本步骤209的一种实现过程包括:
步骤2091:判断得到的参数b的值是否大于预先设置的参数阈值B1,如果大于,则执行步骤2093,否则,执行步骤2095。
步骤2093:确定需要进行异常告警。
步骤2095:确定不进行异常告警。
其中,参数阈值B1表征的是对监控指标值处于高位时所持续的采样周期的数量(即所持续的时间长度)的容忍度。该容忍度可以根据监控指标的类型、业务场景及监控要求等各种因素来决定。比如,B1=0.03。结合图1、图3、图4及图5所示的曲线的特点可以知道,监控指标值处于高位时所持续的采样周期的数量(即所持续的时间长度)决定了是否出现异常征兆,比如,持续的采样周期的数量(即所持续的时间长度)很小时,对应于b小于等于B1的情况,说明在B1表示的容忍度之内,当前是出现了“毛刺”类型的情况,也就是说,很可能是外部原因比如网络抖动或CPU调度导致的一瞬间的波动,此种波动通常会自然消失,并不是因为业务应用的运行出现了异常,也不会影响业务应用的正常运行,无需进行异常告警。再如,持续的采样周期的数量(即所持续的时间长度)很长时比如为10个连续采样周期,对应于b大于B1的情况,说明超出了B1表示的容忍度,当前出现了“持续高位”类型的情况,很可能是被监控对象如业务应用的服务或者切面程序出现了异常导致的,因此,是异常征兆,需要进行异常告警。
在本说明书的一个实施例中,可以进一步把函数的问题域缩小,选取一个合理分布范围内的采样点的监控指标值,比如一个点突增的特别大,会严重破坏样本的统计区间,因此,可以通过中位数或者平均数等方式消除这种突增的过大影响,从而进一步降低告警误报的概率。在此种情况下,在步骤2091中判断出参数b的值大于预先设置的B1之后,并执行步骤2093之前,进一步包括:
计算N个数组中的N个监控指标值的中位数或平均值;
判断计算出的中位数或平均值是否大于指标阈值M,如果是,则执行步骤2093中的确定进行异常告警,进一步地,还可以将该N个数组中的N个监控指标值作为监控异常数据提供给管理员。
如前所述,通过比较参数b与参数阈值B1的大小,可以区分当前是否出现了毛刺类型的曲线,从而区分是否应该进行异常告警。进一步地,在本说明书的一个实施例中,当确定需要进行异常告警时,还可以进一步区分出当前出现了何种情况的异常,从而在告警时可以提供异常的具体情况。这样,在步骤2091判断出参数b的值大于预先设置的B1之后,进一步包括:
步骤209A:判断得到的参数b的值是否大于预先设置的B2;其中,B2大于B1;
步骤209B:如果参数b的值大于预先设置的B2,则确定当前出现了监控指标值处于持续高位的异常征兆,即对应于上述情况2;
执行到本步骤209B时,参数b的值不仅大于B1,更大于预先设置的B2,说明监控指标值在很长的时间内都处于高位,即都是异常值,因此,对应于上述情况2及图3。
步骤209C:如果参数b的值小于B2且大于B1,则确定当前出现了监控指标值处于短暂高位的异常征兆,即对应于上述情况3。
执行到本步骤209C时,参数b的值大于B1,但是小于B2,说明监控指标值在相对较少的时间内处于高位,因此,对应于上述情况3及图4。
参见图1、图3、图4及图5,在本说明书一个实施例中,B1=0.03,B2=0.1。
这样,在异常告警时,不仅可以通知当前出现了异常征兆,而且还可以通知当前的异常征兆的具体类型,比如属于上述情况2或者上述情况3所示的异常类型,进一步丰富了告警的信息量,更加有利于后续的故障排查。
至此,已经实现了异常告警。在本说明书一个实施例中,在进行异常告警之后,还可以进一步进行综合分析,确定是否出现了故障,从而进行应急处理。此时,步骤209之后进一步包括:
根据切面业务模块、切面业务模块所在的业务应用、业务应用所在的机器、机器所在的机房中的至少两个维度,得到至少两个视角的监控异常数据;根据该至少两个视角的监控异常数据以及相应维度的日志,综合判断当前是否需要进行故障应急处理,如果是,则进行对应维度的故障应急处理。
在本说明书一个实施例中,当维度包括切面业务模块的维度时,故障应急处理包括:关闭切面业务模块中引起监控异常的切点。
在本说明书一个实施例中,当维度包括切面业务模块所在的业务应用的维度时,所述故障应急处理包括:关闭业务应用的功能。
在本说明书一个实施例中,当维度包括业务应用所在的机器/机房时,所述故障应急处理包括如下中的至少一项:将该机器/机房所处理的业务引流到其他机器/机房、重启机器/机房、卸载机器/机房中的该业务应用或者切面程序、升级机器/机房中的该业务应用或者切面程序。
为了更加清楚地进行说明,通过图6所示的方法流程来说明在本发明一个实施例中的异常告警方法。参见图6,该方法包括:
步骤601:在当前采样周期中,对监控指标的值进行采样。
步骤603:判断在当前采样周期采样到的当前监控指标值是否大于预先设置的指标阈值M;如果大于,执行步骤605,否则,进入下一个采样周期,返回步骤601。
步骤605:得到多个数组比如16个数组。
16个数组包括:由当前采样周期对应的时间点以及当前监控指标值组成的1个数组、在当前采样周期之前的10个采样周期对应的时间点以及对应的监控指标值组成的10个数组、以及在当前采样周期之后的5个采样周期对应的时间点以及对应的监控指标值组成的5个数组。
步骤607:对16个数组按照时间顺序排序后进行指数函数形式的曲线拟合,然后得到拟合后的曲线的参数b的值。
步骤609:判断是否b>B1,如果是,执行步骤613,否则执行步骤611。
步骤611:不进行异常告警,返回步骤601。
步骤613:计算16个数组中的16个监控指标值的中位数,判断该中位数是否大于M,如果是,执行步骤615,否则执行步骤611。
步骤615:判断是否b>B2,如果是,执行步骤617,否则执行步骤619。
步骤617:进行异常告警,确定并通知当前出现了监控指标值处于持续高位的异常征兆,返回步骤601。
步骤619:进行异常告警,确定并通知当前出现了监控指标值处于短暂高位的异常征兆,返回步骤601。
在本说明书的一个实施例中,提供了一种异常告警装置。参见图7,该装置包括:
监控指标值采集模块701,配置为在每一个采样周期中对业务应用关联的监控指标的值进行采样;
启动模块702,配置为判断在当前采样周期采样到的当前监控指标值是否大于预先设置的指标阈值;如果大于,则触发曲线拟合模块;
曲线拟合模块703,配置为得到N个数组;其中,该N个数组包括:由当前采样周期对应的时间点以及当前监控指标值组成的一个数组,以及在当前采样周期之前和/或之后的N-1个采样周期对应的时间点以及对应的监控指标值组成的N-1个数组;对N个数组进行曲线拟合,得到拟合后的曲线的参数;
告警模块704,配置为根据拟合后的曲线的参数确定是否进行异常告警。
在本说明书装置的一个实施例中,监控指标包括如下中的任意一种:
针对业务应用所注入的切面的监控指标;
针对业务应用提供的一项服务的监控指标;
针对操作***层面的监控指标;
针对JAVA虚拟机的监控指标。
在本说明书装置的一个实施例中,曲线拟合模块703被配置为执行:
对N个数组进行指数函数形式的曲线拟合;
其中,表征该曲线的指数函数的表达式为:
Figure 250535DEST_PATH_IMAGE001
;其中,y对应监控指标值,x对应采样周期的时间点,a、b分别为指数函数的参数;
得到拟合后的曲线的参数b的值。
在本说明书装置的一个实施例中,告警模块703被配置为执行:
判断得到的参数b的值是否大于预先设置的参数阈值B1;其中,B1表征的是对监控指标值处于高位时所持续的采样周期的数量的容忍度;
如果大于,则确定进行异常告警,否则,不进行异常告警。
在本说明书装置的一个实施例中,告警模块704被配置为执行:
在判断出参数b的值大于预先设置的B1之后,并在确定进行异常告警之前,计算所述N个数组中的N个监控指标值的中位数或平均值;判断计算出的中位数或平均值是否大于所述指标阈值,如果是,则进行异常告警,将该N个数组中的N个监控指标值作为监控异常数据提供给管理员。
在本说明书装置的一个实施例中,告警模块704被配置为执行:在判断出参数b的值大于预先设置的B1之后,判断得到的参数b的值是否大于预先设置的B2;B2大于B1;如果参数b的值大于预先设置的B2,则确定当前出现了监控指标值处于持续高位的异常征兆;如果参数b的值小于B2且大于B1,则确定当前出现了监控指标值处于短暂高位的异常征兆。
参见图8,在本说明书一个实施例中,异常告警装置进一步包括故障处理模块801,故障处理模块801配置为执行:
根据切面业务模块、切面业务模块所在的业务应用、业务应用所在的机器、机器所在的机房中的至少两个维度,得到至少两个视角的监控异常数据;
根据该至少两个视角的监控异常数据以及相应维度的日志,综合判断当前是否需要进行故障应急处理,如果是,则进行对应维度的故障应急处理。
在图8所示的本说明书装置的一个实施例中,当维度包括切面业务模块的维度时,故障应急处理包括:关闭切面业务模块中引起监控异常的切点;
和/或,
当维度包括切面业务模块所在的业务应用的维度时,故障应急处理包括:关闭业务应用的功能;
和/或,
当维度包括业务应用所在的机器/机房时,故障应急处理包括:将该机器/机房所处理的业务引流到其他机器/机房、重启机器/机房、卸载机器/机房中的该业务应用、升级机器/机房中的该业务应用中的至少一项。
需要说明的是,上述各模块通常实现于服务器端,可以分别设置于独立的服务器,也可以其中部分或全部模块的组合设置于同一服务器。该服务器可以是单个的服务器,也可以是由多个服务器组成的服务器集群,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPs,Ⅵ irtual Private Server)服务中存在的管理难度大,服务扩展性弱的缺陷。上述各模块也可以被实现于具有较强计算能力的计算机终端。
本说明书一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。
本说明书一个实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现执行说明书中任一个实施例中的方法。
可以理解的是,本说明书实施例示意的结构并不构成对本说明书实施例的装置的具体限定。在说明书的另一些实施例中,上述装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (8)

1.异常告警方法,其中,该方法在每一个采样周期均执行:
对监控指标的值进行采样;
判断在当前采样周期采样到的当前监控指标值是否大于预先设置的指标阈值;如果大于,
则得到N个数组;其中,N为大于1的整数,该N个数组包括:由当前采样周期对应的时间点以及当前监控指标值组成的一个数组,以及在当前采样周期之前和/或之后的共N-1个采样周期对应的时间点以及对应的监控指标值组成的N-1个数组;
对所述N个数组进行曲线拟合,得到拟合后的曲线的参数;
根据拟合后的曲线的参数确定是否进行异常告警;
其中,所述对所述N个数组进行曲线拟合得到拟合后的曲线的参数,包括:
对所述N个数组进行指数函数形式的曲线拟合;
其中,表征该曲线的指数函数的表达式为:
Figure DEST_PATH_IMAGE001
;其中,y对应监控指标值,x对应采样周期的时间点,a、b分别为指数函数的参数;以及
得到拟合后的曲线的参数b的值;
其中,所述根据拟合后的曲线的参数确定是否进行异常告警,包括:
判断得到的参数b的值是否大于预先设置的参数阈值B1;其中,B1表征的是对监控指标值处于高位时所持续的采样周期的数量的容忍度;
如果大于,则确定进行异常告警,否则,不进行异常告警。
2.根据权利要求1所述的方法,其中,所述监控指标包括如下中的任意一种:
针对业务应用所注入的切面的监控指标;
针对业务应用提供的一项服务的监控指标;
针对操作***层面的监控指标;
针对JAVA虚拟机的监控指标。
3.根据权利要求1所述的方法,其中,在判断出参数b的值大于预先设置的B1之后,并在确定进行异常告警之前,进一步包括:
计算所述N个数组中的N个监控指标值的中位数或平均值;
判断计算出的中位数或平均值是否大于所述指标阈值,如果是,则进行异常告警,并将该N个监控指标值作为监控异常数据提供给外部。
4.根据权利要求1所述的方法,在判断出参数b的值大于预先设置的B1之后,该方法进一步包括:
判断得到的参数b的值是否大于预先设置的B2;B2大于B1;
如果参数b的值大于预先设置的B2,则确定当前出现了监控指标值处于持续高位的异常征兆;
如果参数b的值小于B2且大于B1,则确定当前出现了监控指标值处于短暂高位的异常征兆。
5.根据权利要求1所述的方法,在进行异常告警之后,进一步包括:
根据切面业务模块、切面业务模块所在的业务应用、业务应用所在的机器、机器所在的机房中的至少两个维度,得到至少两个视角的监控异常数据;
根据该至少两个视角的监控异常数据以及相应维度的日志,综合判断当前是否需要进行故障应急处理,如果是,则进行对应维度的故障应急处理。
6.根据权利要求5所述的方法,其中,当所述维度包括切面业务模块的维度时,所述故障应急处理包括:关闭切面业务模块中引起监控异常的切点;
和/或,
当所述维度包括切面业务模块所在的业务应用的维度时,所述故障应急处理包括:关闭业务应用的功能;
和/或,
当所述维度包括业务应用所在的机器/机房时,所述故障应急处理包括如下中的至少一项:将该机器/机房所处理的业务引流到其他机器/机房、重启机器/机房、卸载机器/机房中的业务应用或者切面程序、升级机器/机房中的业务应用或者切面程序。
7.异常告警装置,其中,包括:
监控指标值采集模块,配置为在每一个采样周期中对业务应用关联的监控指标的值进行采样;
启动模块,配置为判断在当前采样周期采样到的当前监控指标值是否大于预先设置的指标阈值;如果大于,则触发曲线拟合模块;
曲线拟合模块,配置为得到N个数组;其中,该N个数组包括:由当前采样周期对应的时间点以及当前监控指标值组成的一个数组,以及在当前采样周期之前和/或之后的N-1个采样周期对应的时间点以及对应的监控指标值组成的N-1个数组;对所述N个数组进行曲线拟合,得到拟合后的曲线的参数;
告警模块,配置为根据拟合后的曲线的参数确定是否进行异常告警;
其中,所述曲线拟合模块被配置为执行:
对所述N个数组进行指数函数形式的曲线拟合;
其中,表征该曲线的指数函数的表达式为:
Figure 473751DEST_PATH_IMAGE001
;其中,y对应监控指标值,x对应采样周期的时间点,a、b分别为指数函数的参数;
得到拟合后的曲线的参数b的值;
所述告警模块被配置为执行:
判断得到的参数b的值是否大于预先设置的参数阈值B1;其中,B1表征的是对监控指标值处于高位时所持续的采样周期的数量的容忍度;
如果大于,则确定进行异常告警,否则,不进行异常告警。
8.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-6中任一项所述的方法。
CN202210856146.0A 2022-07-21 2022-07-21 异常告警方法和装置 Active CN115080356B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210856146.0A CN115080356B (zh) 2022-07-21 2022-07-21 异常告警方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210856146.0A CN115080356B (zh) 2022-07-21 2022-07-21 异常告警方法和装置

Publications (2)

Publication Number Publication Date
CN115080356A CN115080356A (zh) 2022-09-20
CN115080356B true CN115080356B (zh) 2022-12-13

Family

ID=83260306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210856146.0A Active CN115080356B (zh) 2022-07-21 2022-07-21 异常告警方法和装置

Country Status (1)

Country Link
CN (1) CN115080356B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115437889B (zh) * 2022-11-08 2023-03-10 统信软件技术有限公司 一种应急处理方法、***及计算设备
CN116501551B (zh) * 2023-06-21 2023-09-15 山东远桥信息科技有限公司 一种数据告警产生及恢复处理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107592236A (zh) * 2016-07-07 2018-01-16 北京奇虎科技有限公司 一种推广信息相关的业务数据的监控方法和装置
CN108694106A (zh) * 2017-04-07 2018-10-23 ***通信有限公司研究院 一种终端功耗性能监测方法、装置及管控平台
CN109936470A (zh) * 2017-12-18 2019-06-25 中国电子科技集团公司第十五研究所 一种异常检测方法
WO2021179572A1 (zh) * 2020-03-12 2021-09-16 平安科技(深圳)有限公司 运维***异常指标检测模型优化方法、装置及存储介质
CN113590427A (zh) * 2021-08-09 2021-11-02 中国建设银行股份有限公司 一种监控指标异常的告警方法、装置、存储介质和设备
CN113612656A (zh) * 2021-07-26 2021-11-05 招商银行股份有限公司 网络流量检测方法、装置、终端设备及存储介质
CN114706733A (zh) * 2022-05-30 2022-07-05 支付宝(杭州)信息技术有限公司 切面程序异常的监控方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9471544B1 (en) * 2012-05-24 2016-10-18 Google Inc. Anomaly detection in a signal
CN111459761B (zh) * 2020-04-01 2024-03-01 广州虎牙科技有限公司 一种Redis配置的方法、装置、存储介质及设备
CN113726559B (zh) * 2021-08-09 2023-10-27 国网福建省电力有限公司 基于人工智能网络安全分析预警***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107592236A (zh) * 2016-07-07 2018-01-16 北京奇虎科技有限公司 一种推广信息相关的业务数据的监控方法和装置
CN108694106A (zh) * 2017-04-07 2018-10-23 ***通信有限公司研究院 一种终端功耗性能监测方法、装置及管控平台
CN109936470A (zh) * 2017-12-18 2019-06-25 中国电子科技集团公司第十五研究所 一种异常检测方法
WO2021179572A1 (zh) * 2020-03-12 2021-09-16 平安科技(深圳)有限公司 运维***异常指标检测模型优化方法、装置及存储介质
CN113612656A (zh) * 2021-07-26 2021-11-05 招商银行股份有限公司 网络流量检测方法、装置、终端设备及存储介质
CN113590427A (zh) * 2021-08-09 2021-11-02 中国建设银行股份有限公司 一种监控指标异常的告警方法、装置、存储介质和设备
CN114706733A (zh) * 2022-05-30 2022-07-05 支付宝(杭州)信息技术有限公司 切面程序异常的监控方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Identifying Intermittent Faults to Restrain BIT False Alarm based on EMD and HMM;Zhendong Shen;《IEEE》;20200205;全文 *
基于负荷突变的配电***故障告警研究与实现;霍健等;《山东电力技术》;20180225(第02期);全文 *

Also Published As

Publication number Publication date
CN115080356A (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
CN115080356B (zh) 异常告警方法和装置
CN110661659B (zh) 一种告警方法、装置、***及电子设备
CN108270618B (zh) 告警判定的方法、装置及告警***
US10558545B2 (en) Multiple modeling paradigm for predictive analytics
EP2907085B1 (en) Autonomic network sentinels
CN108845912B (zh) 服务接口调用故障的报警方法及计算设备
CN110955586A (zh) 一种基于日志的***故障预测方法、装置和设备
CN111309562B (zh) 服务器故障的预测方法、装置、设备和存储介质
CN115529595A (zh) 一种日志数据的异常检测方法、装置、设备及介质
CN110674149B (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN113806045A (zh) 一种任务分配方法、***、设备以及介质
CN110704313B (zh) Java虚拟机内存泄漏检测方法及装置
CN114490091B (zh) 工业数据采集管理***中监控规则引擎性能的方法及装置
CN113835961B (zh) 告警信息监控方法、装置、服务器及存储介质
CN114531338A (zh) 一种基于调用链数据的监控告警和溯源方法及***
CN114881112A (zh) 一种***异常检测方法、装置、设备及介质
CN110633165B (zh) 故障处理方法、装置、***服务器及计算机可读存储介质
CN112799911A (zh) 一种节点健康状态检测方法、装置、设备及存储介质
CN107566187B (zh) 一种sla违例监测方法、装置和***
CN112181600A (zh) 一种云计算资源管理方法及***
CN112134760A (zh) 链路状态监控方法、装置、设备及计算机可读存储介质
CN114138620B (zh) 一种云平台日志暴增的检测方法、装置、设备、存储介质
CN115686381B (zh) 存储集群运行状态的预测方法及装置
CN116185765B (zh) 一种告警处理方法、装置、电子设备及存储介质
CN116010212A (zh) 一种监控报警管理***、方法、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant