CN113836204A - 接口异常检测方法、装置、电子设备和存储介质 - Google Patents

接口异常检测方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113836204A
CN113836204A CN202111144485.8A CN202111144485A CN113836204A CN 113836204 A CN113836204 A CN 113836204A CN 202111144485 A CN202111144485 A CN 202111144485A CN 113836204 A CN113836204 A CN 113836204A
Authority
CN
China
Prior art keywords
index
interface
current period
index value
value
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.)
Pending
Application number
CN202111144485.8A
Other languages
English (en)
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.)
Anhui Tingjian Technology Co ltd
Original Assignee
Anhui Tingjian 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 Anhui Tingjian Technology Co ltd filed Critical Anhui Tingjian Technology Co ltd
Priority to CN202111144485.8A priority Critical patent/CN113836204A/zh
Publication of CN113836204A publication Critical patent/CN113836204A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供一种接口异常检测方法、装置、电子设备和存储介质,其中方法包括:确定待检测接口于当前时期的指标值;基于所述待检测接口于所述当前时期之前的历史指标值,确定所述当前时期的指标影响系数,基于所述当前时期的指标影响系数,确定所述当前时期针对所述待检测接口的指标阈值;基于所述当前时期的指标值和所述指标阈值,对所述待检测接口进行异常检测。本发明提供的方法、装置、电子设备和存储介质,基于当前时期的指标值和历史指标值,确定当前时期的指标影响系数,由此实现指标阈值的动态调整,保证指标阈值的合理性,能够有效减少虚警、漏警的情况,提高接口异常检测的可靠性和准确性,保证业务系统的稳定运行。

Description

接口异常检测方法、装置、电子设备和存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种接口异常检测方法、装置、电子设备和存储介质。
背景技术
随着海量数据时代的来临,业务系统中接口访问流量的剧增。如何及时发现接口异常并排查处理,从而保证接口的正常运行,乃至业务系统的正常运行,越来越受到人们的重视。
目前的接口异常检测,多是依赖人工经验的方式,为业务系统中接口的各个指标分别设置固定阈值,通过比较实时指标值及其对应阈值的大小,判断接口是否存在异常。
但凭借人工经验设置的阈值,带有极大的主观性,无法保证接口异常检测的可靠性。且在实际运行过程中,业务系统中各个接口的指标值都在实时变化,采用固定的阈值进行异常检测,极易发生虚警或者漏警。
发明内容
本发明提供一种接口异常检测方法、装置、电子设备和存储介质,用以解决现有技术中人为设置固定阈值用于接口异常检测可靠性和准确性差的问题。
本发明提供一种接口异常检测方法,包括:
确定待检测接口于当前时期的指标值;
基于所述待检测接口于所述当前时期之前的历史指标值,确定所述当前时期的指标影响系数,基于所述当前时期的指标影响系数,确定所述当前时期针对所述待检测接口的指标阈值;
基于所述当前时期的指标值和所述指标阈值,对所述待检测接口进行异常检测。
根据本发明提供的一种接口异常检测方法,所述基于所述待检测接口于所述当前时期之前的历史指标值,确定所述当前时期的指标影响系数,包括:
基于各时间维度对所述历史指标值进行统计,得到各时间维度下所述当前时期的统计指标值和参考指标值;
基于各时间维度下所述当前时期的统计指标值和参考指标值,确定所述当前时期的指标影响系数。
根据本发明提供的一种接口异常检测方法,所述基于各时间维度对所述历史指标值进行统计,得到各时间维度下所述当前时期的统计指标值和参考指标值,包括:
以所述当前时期为终点,确定所述时间维度为日时的目标时段;
基于所述历史指标值中所述当前时期所处日的目标时段内的指标值,以及所述当前时期的指标值,确定所述时间维度为日时的统计指标值;
基于所述历史指标值中每日所述目标时段内的指标值,确定所述时间维度为日时的参考指标值。
根据本发明提供的一种接口异常检测方法,所述基于各时间维度对所述历史指标值进行统计,得到各时间维度下所述当前时期的统计指标值和参考指标值,包括:
基于所述历史指标值中每日所述当前时期的指标值,以及所述当前时期的指标值,确定所述时间维度为检测周期的统计指标值;
基于所述历史指标值中每日所述当前时期以外的指标值,确定所述时间维度为检测周期的参考指标值。
根据本发明提供的一种接口异常检测方法,所述基于所述当前时期所属的各个时期单位的统计指标值和期望指标值,确定所述当前时期的指标影响系数,包括:
基于各时间维度下所述当前时期的统计指标值与参考指标值的比值,确定各时间维度下的影响系数;
基于各时间维度下的影响系数,确定所述当前时期的指标影响系数。
根据本发明提供的一种接口异常检测方法,所述基于所述当前时期的指标影响系数,确定所述当前时期针对所述待检测接口的指标阈值,包括:
基于所述当前时期的指标影响系数,以及所述待检测接口的接口指标常数,确定所述当前时期针对所述待检测接口的指标阈值;
所述接口指标常数基于所述历史指标值确定。
根据本发明提供的一种接口异常检测方法,所述接口指标常数基于如下步骤确定:
基于所述历史指标值的分布情况,确定初始常数;
基于所述历史指标值中每日的日期类型,对所述初始常数进行调整,得到所述接口指标常数。
本发明还提供一种接口异常检测装置,包括:
指标值确定单元,用于确定待检测接口于当前时期的指标值;
阈值确定单元,用于基于所述待检测接口于所述当前时期之前的历史指标值,确定所述当前时期的指标影响系数,基于所述当前时期的指标影响系数,确定所述当前时期针对所述待检测接口的指标阈值;
异常检测单元,用于基于所述当前时期的指标值和所述指标阈值,对所述待检测接口进行异常检测。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述接口异常检测方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述接口异常检测方法的步骤。
本发明提供的接口异常检测方法、装置、电子设备和存储介质,基于当前时期的指标值和历史指标值,确定当前时期的指标影响系数,由此实现指标阈值的动态调整,保证指标阈值的合理性,能够有效减少虚警、漏警的情况,提高接口异常检测的可靠性和准确性,保证业务系统的稳定运行。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图简要地说明,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的接口异常检测方法的流程示意图;
图2是本发明提供的接口异常检测方法中步骤120的流程示意图;
图3是本发明提供的接口异常检测方法中步骤121的流程示意图;
图4是本发明提供的以日为时间维度的指标值示意图;
图5是本发明提供的以检测周期为时间维度的指标值示意图;
图6是本发明提供的接口异常检测方法中步骤122的流程示意图;
图7是本发明提供的接口指标常数确定方法的流程示意图;
图8是本发明提供的接口异常检测装置的结构示意图;
图9是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
业务系统中通常存在多个接口,这些接口在业务系统的运行过程中会被调用,从而实现业务系统承担功能的正常运转,随着海量数据时代的来临,业务系统中接口访问流量的剧增。如何及时发现接口异常并排查处理,从而保证接口的正常运行,乃至业务系统的正常运转,越来越受到人们的重视。
目前的接口异常检测,多是依赖人工经验的方式,为业务系统中接口的各个指标分别设置固定阈值,通过比较实时指标值及其对应阈值的大小,判断接口是否存在异常。但凭借人工经验设置的阈值,带有极大的主观性,无法保证接口异常检测的可靠性。且在实际运行过程中,业务系统中各个接口的指标值都在实时变化,采用固定的阈值进行异常检测,极易发生虚警或者漏警。例如接口流量在业务高峰时比在业务低峰时要大,一定范围内的上下浮动属于正常情况,如果采用固定的阈值进行异常检测,则在业务高峰期接口正常工作的情况下也可能产生大量的异常告警,即虚警,在业务低峰期会出现接口存在异常但没有产生告警的情况,即漏警。
另外,相关技术中还存在基于规则进行接口异常检测的方式,具体可以在业务系统开发过程中,设置针对接口日志的输出规则,在接口性能指标异常的情况下,将输出日志级别设置为错误(ERROR),即可在解析接口输出日志时根据其日志级别判定接口是否存在异常。但是导致接口指标异常的可能原因有很多,如业务高峰期、业务系统故障、恶意调用等,在业务系统开发时很难考虑到全部的情况,由此导致输出规则的设置并不合理。
针对上述问题,本发明实施例提供一种接口异常检测方法,图1是本发明提供的接口异常检测方法的流程示意图,如图1所示,该方法包括:
步骤110,确定待检测接口于当前时期的指标值。
具体地,待检测接口可以是业务系统中的任意一个或者多个需要进行异常检测的接口。在异常检测过程中,可以获取待检测接口于当前时期的指标值,此处所指的当前时期,可以是一个时间段,即单位时间,例如在周期性的异常检测中,可以预先设置检测周期,例如每分钟更新一次接口的指标值,则待检测接口于当前时期的指标值可以是最新更新得到的一分钟的指标值,又例如异常检测可以是在某些预先设定的条件之下触发的,待检测接口于当前时期的指标值可以是触发异常检测后一个时间段的指标值。
考虑到不同接口可能在业务系统中承担不同的工作职能,不同接口在进行异常检测时需要关注的指标可以相同也可以不同,具体关注的指标可以是一项也可以是多项,例如可以是“单位时间内平均响应时长”、“单位时间内请求数”等,此处当前时期的指标值可以是当前时期的一项指标的指标值,也可以是当前时期的多项指标的指标值。
步骤120,基于待检测接口于当前时期之前的历史指标值,确定当前时期的指标影响系数,基于当前时期的指标影响系数,确定当前时期针对待检测接口的指标阈值。
具体地,针对于当前时期的指标值,可以通过将指标值与指标阈值进行比较的方式,判断指标值对应的指标是否存在异常,进而判断待检测接口是否存在异常。但是考虑到指标值可能会随着业务高低峰的变化上下浮动,固定不变的指标阈值显然无法满足异常检测的需求,本发明实施例中基于当前时期的指标值,以及待检测接口的历史指标值,对指标阈值进行动态调整。
此处,在当前时期的指标值为单一指标的指标值的情况下,待检测接口的历史指标值同为该单一指标的历史指标值,在当前时期的指标值包括多个指标的指标值的情况下,待检测接口的历史指标值同样包括多个指标的历史指标值,考虑到各个指标之间相互独立,以下以单一指标的情况进行说明。针对多个指标的情况,其中每个指标均可依据单一指标的情况执行,此处不作赘述。
针对任一指标,历史指标值即该指标在历史上的指标值,此处的历史是相对于当前时期而言的,即历史指标值是在当前时期之前检测所得的该指标的指标值,历史指标值可以一段时间内检测到的多个单位时间各自的指标值,例如可以是当前日期之前30天内每个单位时间的指标值,也可以是当前日期之前于一周内每个单位时间的指标值,历史指标值所覆盖的是时间段的长短,可以根据业务系统的具体功能等确定,本发明实施例对此不作具体限定。
通过关注待检测接口的历史指标值,可以了解对应指标在业务高峰低谷的波动情况和波动范围,从而评估当前时期的业务繁忙程度,由此得到当前时期的指标影响系数。当前时期的指标影响系数用于表征当前时期的业务繁忙程度对于指标阈值的影响,如果当前时期的指标值在历史指标值中处于较低的水平,则当前时期可能处于业务低谷,当前时期的指标影响系数可能小于1,从而降低指标阈值,如果当前时期的指标值在历史指标值中处于较高的水平,则当前时期可能处于业务高峰,当前时期的指标影响系数可能大于1,从而提高指标阈值。
在得到当前时期的指标影响系数之后,即可基于当前时期的指标影响系数确定当前时期针对待检测接口的指标阈值。例如,可以将预先设定的固定阈值与当前时期的指标影响系数相乘,从而得到针对当前时期的指标阈值,也可以基于历史指标值确定指标阈值,并且在此基础上结合当前时期的指标影响系数对指标阈值进行调整,从而得到针对当前时刻的指标阈值,本发明实施例对此不作具体限定。
步骤130,基于当前时期的指标值和指标阈值,对待检测接口进行异常检测。
具体地,基于步骤120所得的指标阈值,是针对当前时期进行动态调整后得到的,在此基础上,应用当前时期的指标值和指标阈值进行比较,即可准确可靠地实现对应指标是否存在异常的判断,进而实现待检测接口的异常检测。
本发明实施例提供的方法,基于当前时期的指标值和历史指标值,确定当前时期的指标影响系数,由此实现指标阈值的动态调整,保证指标阈值的合理性,能够有效减少虚警、漏警的情况,提高接口异常检测的可靠性和准确性,保证业务系统的稳定运行。
基于上述实施例,考虑到业务高低峰的变化可能具备周期性,而此处的周期性可能涉及到多个时间维度,例如与办公相关的业务系统,以日作为一个时间维度时,其业务高峰期在工作日,业务低谷期在休息日;而以小时作为一个时间维度时,其业务高峰期在工作时间,如上午11点和下午17点,业务低谷期在休息时间,如晚22点至凌晨5点。本发明实施例在确定当前时期的指标影响系数时,也可以从多个时间维度进行考虑。
相应地,图2是本发明提供的指标影响系数确定方法的流程示意图,如图2所示,步骤120中,基于待检测接口于当前时期之前的历史指标值,确定当前时期的指标影响系数,包括:
步骤121,基于各时间维度对历史指标值进行统计,得到各时间维度下当前时期的统计指标值和参考指标值。
此处,可以预先根据业务高低峰变化的周期性,设置一个或者多个时间维度,此处的时间维度可以是一日或者半日,也可以是一个小时或者一分钟等,本发明实施例对此不作具体限定。
针对于每一个时间维度,均可以分别统计该时间维度下,当前时期的统计指标值和参考指标值,此处统计指标值用于反映通常在当前时期所处的时间维度下的指标值,例如时间维度为一天时,统计指标值可以是当前时期所处的一天,即当天的指标值的情况,又例如时间维度为一小时时,统计指标值可以是当前时期所处的小时的指标值情况,此处既可以包括当天当前时期所处的小时的指标值情况,也可以包括历史上每天当前时期所处的小时的指标值情况。
参考指标值用于反映当前时期所处的时间维度之外的指标值,由此体现更加宽泛的时间范围内,更加常见的指标值的情况,作为当前时期的统计指标值所反映的业务繁忙程度的参考。例如时间维度为一天时,统计指标值可以是当前时期所处的一天之前的,即当天之前历史上每天的指标值的情况,又例如时间维度为一小时时,统计指标值可以是当前时期所处的小时以外其他时间的指标值情况,此处既可以包括当天当前时期所处的小时以外其他时间的指标值情况,也可以包括历史上每天当前时期所处的小时以外其他时间的指标值情况。
步骤122,基于各时间维度下当前时期的统计指标值和参考指标值,确定所当前时期的指标影响系数。
具体地,针对于每一个时间维度,均可以通过比较该时间维度下当前时期的统计指标值和参考指标值,衡量该时间维度下的业务繁忙程度,在此基础上,结合各个时间维度对于业务繁忙程度的衡量,即可得到融合了各个时间维度的业务繁忙程度的指标影响系数。
本发明实施例提供的方法,从不同时间维度衡量当前时期的业务繁忙程度,有助于提高指标影响系数对于业务繁忙程度表征的可靠性和准确性,从而提高基于指标阈值进行异常检测的准确性。
基于上述任一实施例,时间维度可以为一日,即统计指标值和参考指标值均是以日为单位进行统计的。
图3是本发明提供的接口异常检测方法中步骤121的流程示意图,如图3所述,步骤121包括:
步骤1211-1,以当前时期为终点,确定时间维度为日时的目标时段。
具体地,将一日作为时间维度时,可以将当前时期在一日中的位置作为目标时段的终点,从而定位目标时段。例如当前时期为当日中的第50分钟,则一日中第1分钟至第50分钟为目标时段。
步骤1211-2,基于历史指标值中当前时期所处日的目标时段内的指标值,以及当前时期的指标值,确定时间维度为日时的统计指标值。
具体地,确定目标时段之后,即可从历史指标值中获取当日起始至当前时期之前的指标值,再结合当前时期的指标值,由此得到统计指标值。例如,当前时期为当日中的第50分钟,则可以从历史指标值中获取当日第1分钟至第49分钟的指标值,再结合步骤110获取到的第50分钟的指标值,即可计算统计指标值,具体计算时,可以将当日第1分钟至第50分钟的指标值的均值,作为统计指标值。
步骤1211-3,基于历史指标值中每日所述目标时段内的指标值,确定时间维度为日时的参考指标值。
具体地,可以从历史指标值中提取每日目标时段内的指标值,并由此统计得到历史上每日的目标时段统计值。此处,以日为时间维度的目标时段统计值,可以反映历史上每日在目标时段内的业务情况,目标时段统计值可以是目标时段内的指标值之和,也可以是目标时段内的指标值的均值,本发明实施例对此不作具体限定,例如可以将历史指标值中某一日第1分钟至第50分钟的指标值求平均,作为该日的目标时段统计值。
在得到历史指标值中每日的目标时段统计值后,即可由此确定以日为时期单位时的参考指标值。例如,可以将每日的目标时段统计值的均值作为参考指标值,也可以将每日的目标时段统计值的分布情况视为正态分布,由此计算正态分布的期望值,作为参考指标值。
本发明实施例提供的方法,以日为时间维度,反映业务高峰低谷对于不同日的影响,从而提高指标阈值动态调整的可靠性。
基于上述任一实施例,图4是本发明提供的以日为时间维度的指标值示意图,图4用于指示将日作为时间维度时,当前时期所属日的统计指标值和参考指标值的获取方式。其中,统计指标值即图4中斜线填充位置的各指标值的均值,可以记为m,历史指标值中每日的目标时段统计值即图4中交叉线填充的一列位置中各指标值的均值,每日均对应一列,按照距离今日向前推,可将前1日的目标时段统计值记为m1,将前2日的目标时段统计值记为m2,……,将前30日的目标时段统计值记为m30。
在得到历史上每日的目标时段统计值之后,即可计算正态分布下m1、m2、…、m30的期望值,即参考指标值M。
在分别得到统计指标值m和参考指标值M之后,即可计算得到将日作为时间维度时的影响系数A=m/M,A亦可以称为日期系数。
基于上述任一实施例,时间维度可以为检测周期,此处的检测周期即指标值的更新周期,检测周期可以是一分钟、5分钟、10分钟或者1小时等。此时,统计指标值和参考指标值均可以检测周期为单位进行统计。
相应地,步骤121包括:
基于历史指标值中每日当前时期的指标值,以及当前时期的指标值,确定时间维度为检测周期的统计指标值;
基于历史指标值中每日当前时期以外的指标值,确定时间维度为检测周期的参考指标值。
具体地,由于检测周期即指标值的更新周期,当前时期自成一个检测周期,考虑到每天均会对该时期的指标值进行检测,在针对该检测周期进行统计时,可以跨越自然日的影响,基于历史指标值中历史上每日在当前时期的指标值,以及步骤110中获取的当前时期的指标值,确定时间维度为检测周期的统计指标值。例如,检测周期为1分钟,当前时期为一日中的第50分钟,则可以从历史指标值中获取历史上每日的第50分钟的指标值,再结合步骤110获取到的第50分钟的指标值,即可计算统计指标值,具体计算时,可以将每日第50分钟的指标值的均值,作为统计指标值。
作为参考,时间维度为检测周期的参考指标值可以基于历史指标值中历史上每日除当前时期以外获取的指标值确定。根据检测周期的时长,可以将每日划分为多个检测周期,每个检测周期均对应一个指标值,每日中均有一个检测周期为当前时期,除当前时期之外的各个检测周期的指标值,均可以用于确定参考指标值。例如,检测周期为1分钟,每日均有1440个检测周期,当前时期为一日中的第50分钟,则可以将历史指标值中历史上的每天,除第50分钟以外的每分钟的指标值分别进行统计,从而得到参考指标值。具体计算时,可以求除第50分钟以外的每分钟的指标值的均值作为参考指标值,也可以先计算每分钟的指标值在各天中的均值,在此基础上计算一天中各分钟的指标值的正态分布下的期望,作为参考指标值。
本发明实施例提供的方法,以检测周期为时间维度,反映业务高峰低谷对于同一日内不同时段的影响,从而提高指标阈值动态调整的可靠性。
基于上述任一实施例,图5是本发明提供的以检测周期为时间维度的指标值示意图,图5用于指示将检测周期作为时间维度时,当前时期的统计指标值和参考指标值的获取方式。其中,统计指标值即图5中点填充位置的各指标值的均值,可以记为n,历史指标值中除当前时期以外的每个检测周期的统计值即图5中空白填充的一行位置中各指标值的均值,每个检测周期均对应一行,按照每日从前往后的顺序记录各个检测周期的统计值,例如00:00-00:01为第1分钟,第1分钟的统计值为n1,00:01-00:02为第2分钟,第2分钟的统计值为n2,……,23:59-00:00为第1440分钟,第1440分钟的统计值为n1440。
在得到每日每个检测周期的统计值之后,即可计算正态分布下n1、n2、…、n1440的期望值,即参考指标值N。
在分别得到统计指标值n和参考指标值N之后,即可计算得到将检测周期作为时间维度时的影响系数B=n/N,B亦可以称为时间系数。
基于上述任一实施例,图6是本发明提供的接口异常检测方法中步骤122的流程示意图,如图6所示,步骤122包括:
步骤1221,基于各时间维度下所述当前时期的统计指标值与参考指标值的比值,确定各时间维度下的影响系数。
具体地,针对于每一个时间维度,均可以通过比较该时间维度下当前时期的统计指标值和参考指标值,衡量该时间维度下的业务繁忙程度,可以将统计指标值和参考指标值的比值,作为该时间维度下的影响系数。
步骤1222,基于各时间维度下的影响系数,确定当前时期的指标影响系数。
具体地,在得到各时间维度下的影响系数的基础上,可以通过加权求和或者直接相乘等方式对各时间维度下的影响系数进行融合,从而得到融合了各个时间维度的业务繁忙程度的指标影响系数。
本发明实施例提供的方法,从不同时间维度衡量当前时期的业务繁忙程度,有助于提高指标影响系数对于业务繁忙程度表征的可靠性和准确性,从而提高基于指标阈值进行异常检测的准确性。
基于上述任一实施例,步骤120中,所述基于当前时期的指标影响系数,确定当前时期针对待检测接口的指标阈值,包括:
基于当前时期的指标影响系数,以及待检测接口的接口指标常数,确定当前时期针对待检测接口的指标阈值;
接口指标常数基于历史指标值确定。
具体地,待检测接口的接口指标常数用于反映待检测接口处于通常的业务繁忙程度下的指标阈值,通常的业务繁忙程度下,指标值大于接口指标常数,则待检测接口可能存在异常,指标值小于或者等于接口指标常数,则指标值在正常范围内,待检测接口正常。
考虑到人为设置接口指标常数,会携带很多主观考虑,影响异常检测的可靠性,本发明实施例中应用历史指标值确定接口指标常数,例如可以计算历史指标值中各个指标值的均值,在此基础上均值乘以大于1的系数,作为接口指标常数,又例如可以对历史指标值中各个指标值进行无监督聚类,以此区分历史指标值中的正常指标值和异常指标值,并将正常指标值中的最大值作为接口指标常数。
在此基础上,结合当前时期的指标影响系数,以及待检测接口的接口指标常数,即可确定当前时期针对待检测接口的指标阈值,具体可以是直接将指标影响系数与接口指标常数相乘,从而得到指标阈值。
基于上述任一实施例,图7是本发明提供的接口指标常数确定方法的流程示意图,如图7所示,接口指标常数基于如下步骤确定:
步骤710,基于历史指标值的分布情况,确定初始常数。
具体地,历史指标值包含了当前时期之前一段时间检测所得的指标值,这些指标值分布在不同的时期。可以通过统计历史指标值中各指标值的分布情况,例如可以统计历史指标值中各个指标值取值出现的次数,由此得到历史指标值的分布情况,并基于历史指标值的分布情况,计算历史指标值的分布期望,基于分布期望确定初始常数。又例如,可以计算历史指标值的分布期望和和标准差,基于分布期望和和标准差确定初始常数。其中分布期望用于反映历史指标值的平均值的情况,标准差用于反映历史指标值分布的离散情况。
例如,可以将历史指标值的分布情况视为正态分布,将历史指标值在正态分布下的期望作为历史指标值的分布期望,将历史指标值在正态分布下的标准差作为历史指标值的标准差。
进一步地,历史指标的分布情况中,分布期望反映的是历史指标值的平均情况,而平均情况通常是正常状态下的情况,并非指标正常和异常的界限。而指标异常的取值和指标正常的取值之间差异的大小,恰好可以通过标准差反映,标准差越大,历史指标值分布得越分散,指标异常的取值和指标正常的取值之间差异越大,标准差越小,历史指标值分布得越集中,指标异常的取值和指标正常的取值之间差异越小,因此可以基于标准差的大小,确定分布期望的调整量的大小,由此调整得到能够初步反映待检测接口处于通常的业务繁忙程度下的指标阈值,即初始常数。
步骤720,基于历史指标值中每日的日期类型,对初始常数进行调整,得到接口指标常数。
具体地,考虑到业务繁忙程度的波动,很大程度上与历史指标值所涵盖的每日的日期类型有关,例如办公系统的业务繁忙程度,与工作日和节假日相关,此时关注的日期类型可以是工作日或者节假日,又例如购物系统的业务繁忙程度,与促销日相关,此处关注的日期类型可以是促销日或者非促销日。
显然,历史指标值中包含的每种日期类型的日期天数的多少或者占比,都会直接影响到初始常数的大小,例如历史指标值包含的多数均是促销日下的指标值,而促销日下的指标值显然偏高,则由此得到的初始常数可能会偏高,因此需要基于历史指标值中每日的日期类型,对初始常数进行调整。
对初始常数进行调整时,可以参考历史指标值中各类日期类型所占的比例,以及各类日期类型在通常情况下的比例,从而将基于历史指标值所得的初始常数,调整到更加符合通常情况下各类日期类型占比的环境下,从而得到接口指标常数。例如,可以基于历史指标值中各类日期类型所占的比例,以及各类日期类型在通常情况下的比例,构建纠偏因子,通过纠偏因子与初始常数相乘,得到接口指标常数。
本发明实施例提供的方法,结合历史指标值中每日的日期类型,确定接口指标常数,以确保接口指标常数获取的可靠性和准确性。
基于上述任一实施例,步骤710中,可以基于历史指标值的分布情况中的标准差调整分布期望,得到初始常数,具体表示为如下公式:
C0=E+aσ
式中,C0为初始常数,E为分布期望,σ为标准差,a为标准差系数,a可以为2、3或者0.5、0.8等,a的取值是预先设定好的。
作为优选,a可以取3,根据正态分布的3σ原则,服从正态分布的指标值在3σ范围内波动属于正常情况,超过3σ则存在较大可能是异常情况。
基于上述任一实施例,步骤720中,日期类型可以划分为工作日和节假日两类,假设通常情况下工作日和节假日的比例为7:3,在对初始常数进行调整时,可以统计历史指标值中工作日的天数h,以及历史指标值包含的总天数H,由此确定纠正因子(10*h/7+10*(H-h)/3),在此基础上,接口指标常数C可以表示为C0*(10*h/7+10*(H-h)/3)。
基于上述任一实施例,本发明实施例提供一种接口异常检测方法,可以应用于检测业务系统中各个接口的性能和流量异常问题。
进一步地,业务系统为Java系统时,后端Java应用一般包含许多个接口,接口在运行过程中会被前端调用,接口被调用会产生接口日志,写入到服务器的文本文件中。具体可以使用轻量级日志采集器FileBeat采集上述文本文件中的接口日志,再使用应用程序日志管理平台Logstash将非结构化的日志按照一定的规则转换为结构化(例如用二维表表示的)日志,最后存储在搜索服务器ElasticSearch中。由此,可以实现接口日志实时收集的,即后端Java应用将一条接口日志写入到文本文件中之后,就能立即在ElasticSearch中查询到这条日志,并且是以结构化的形式进行存储。通过ElasticSearch中的结构化的日志数据,可以读取到后端Java应用中的接口在何时被前端调用,以及被调用时的性能表现的指标,此处的指标可以包括“单位时间内平均响应时长”、“单位时间内请求数”等,单位时间一般取一分钟。ElasticSearch中会存储历史数据和截止到当前时期的数据。
在针对业务系统中的各接口进行异常检测的过程中,每次接收到任一接口于当前时期的任一指标的指标值,即需要根据该接口针对该指标的历史指标值,确定当前时期该接口针对该指标的指标阈值,从而实现针对该接口中该指标的异常检测。
例如,针对指标“单位时间内平均响应时长”,可以从日为时间维度,计算“单位时间内平均响应时长”的日期系数A、时间系数B和接口指标常数C,由此得到“单位时间内平均响应时长”的指标阈值T=A*B*C。在此基础上,若当前时期的指标值大于T,则“单位时间内平均响应时长”存在异常,对应接口可能有异常,否则“单位时间内平均响应时长”指标正常。
又例如,针对指标“单位时间内请求数”,计算“单位时间内请求数”的日期系数A’、时间系数B’和接口指标常数C’,由此得到“单位时间内请求数”的指标阈值T’=A’*B’*C’。在此基础上,若当前时期的指标值大于T’,则“单位时间内请求数”存在异常,对应接口可能有异常,否则“单位时间内请求数”指标正常。
此外,针对任一接口,若存在至少一个指标异常,则确定该接口异常,进行告警。
基于上述任一实施例,图8是本发明提供的接口异常检测装置的结构示意图,如图8所示,接口异常检测装置包括:
指标值确定单元810,用于确定待检测接口于当前时期的指标值;
阈值确定单元820,用于基于所述待检测接口于所述当前时期之前的历史指标值,确定所述当前时期的指标影响系数,基于所述当前时期的指标影响系数,确定所述当前时期针对所述待检测接口的指标阈值;
异常检测单元830,用于基于所述当前时期的指标值和所述指标阈值,对所述待检测接口进行异常检测。
本发明实施例提供的装置,基于当前时期的指标值和历史指标值,确定当前时期的指标影响系数,由此实现指标阈值的动态调整,保证指标阈值的合理性,能够有效减少虚警、漏警的情况,提高接口异常检测的可靠性和准确性,保证业务系统的稳定运行。
基于上述任一实施例,阈值确定单元820包括:
指标统计子单元,用于基于各时间维度对所述历史指标值进行统计,得到各时间维度下所述当前时期的统计指标值和参考指标值;
系数确定子单元,用于基于各时间维度下所述当前时期的统计指标值和参考指标值,确定所述当前时期的指标影响系数。
基于上述任一实施例,指标统计子单元用于:
以所述当前时期为终点,确定所述时间维度为日时的目标时段;
基于所述历史指标值中所述当前时期所处日的目标时段内的指标值,以及所述当前时期的指标值,确定所述时间维度为日时的统计指标值;
基于所述历史指标值中每日所述目标时段内的指标值,确定所述时间维度为日时的参考指标值。
基于上述任一实施例,指标统计子单元用于:
基于所述历史指标值中每日所述当前时期的指标值,以及所述当前时期的指标值,确定所述时间维度为检测周期的统计指标值;
基于所述历史指标值中每日所述当前时期以外的指标值,确定所述时间维度为检测周期的参考指标值。
基于上述任一实施例,系数确定子单元用于:
基于各时间维度下所述当前时期的统计指标值与参考指标值的比值,确定各时间维度下的影响系数;
基于各时间维度下的影响系数,确定所述当前时期的指标影响系数。
基于上述任一实施例,阈值确定单元820用于:
基于所述当前时期的指标影响系数,以及所述待检测接口的接口指标常数,确定所述当前时期针对所述待检测接口的指标阈值;
所述接口指标常数基于所述历史指标值确定。
基于上述任一实施例,该装置还包括指标常数确定单元,用于:
基于所述历史指标值的分布情况,确定初始常数;
基于所述历史指标值中每日的日期类型,对所述初始常数进行调整,得到所述接口指标常数。
图9示例了一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(Communications Interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行接口异常检测方法,该方法包括:
确定待检测接口于当前时期的指标值;
基于所述待检测接口于所述当前时期之前的历史指标值,确定所述当前时期的指标影响系数,基于所述当前时期的指标影响系数,确定所述当前时期针对所述待检测接口的指标阈值;
基于所述当前时期的指标值和所述指标阈值,对所述待检测接口进行异常检测。
此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的接口异常检测方法,该方法包括:
确定待检测接口于当前时期的指标值;
基于所述待检测接口于所述当前时期之前的历史指标值,确定所述当前时期的指标影响系数,基于所述当前时期的指标影响系数,确定所述当前时期针对所述待检测接口的指标阈值;
基于所述当前时期的指标值和所述指标阈值,对所述待检测接口进行异常检测。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的接口异常检测方法,该方法包括:
确定待检测接口于当前时期的指标值;
基于所述待检测接口于所述当前时期之前的历史指标值,确定所述当前时期的指标影响系数,基于所述当前时期的指标影响系数,确定所述当前时期针对所述待检测接口的指标阈值;
基于所述当前时期的指标值和所述指标阈值,对所述待检测接口进行异常检测。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种接口异常检测方法,其特征在于,包括:
确定待检测接口于当前时期的指标值;
基于所述待检测接口于所述当前时期之前的历史指标值,确定所述当前时期的指标影响系数,基于所述当前时期的指标影响系数,确定所述当前时期针对所述待检测接口的指标阈值;
基于所述当前时期的指标值和所述指标阈值,对所述待检测接口进行异常检测。
2.根据权利要求1所述的接口异常检测方法,其特征在于,所述基于所述待检测接口于所述当前时期之前的历史指标值,确定所述当前时期的指标影响系数,包括:
基于各时间维度对所述历史指标值进行统计,得到各时间维度下所述当前时期的统计指标值和参考指标值;
基于各时间维度下所述当前时期的统计指标值和参考指标值,确定所述当前时期的指标影响系数。
3.根据权利要求2所述的接口异常检测方法,其特征在于,所述基于各时间维度对所述历史指标值进行统计,得到各时间维度下所述当前时期的统计指标值和参考指标值,包括:
以所述当前时期为终点,确定所述时间维度为日时的目标时段;
基于所述历史指标值中所述当前时期所处日的目标时段内的指标值,以及所述当前时期的指标值,确定所述时间维度为日时的统计指标值;
基于所述历史指标值中每日所述目标时段内的指标值,确定所述时间维度为日时的参考指标值。
4.根据权利要求2所述的接口异常检测方法,其特征在于,所述基于各时间维度对所述历史指标值进行统计,得到各时间维度下所述当前时期的统计指标值和参考指标值,包括:
基于所述历史指标值中每日所述当前时期的指标值,以及所述当前时期的指标值,确定所述时间维度为检测周期的统计指标值;
基于所述历史指标值中每日所述当前时期以外的指标值,确定所述时间维度为检测周期的参考指标值。
5.根据权利要求2所述的接口异常检测方法,其特征在于,所述基于所述当前时期所属的各个时期单位的统计指标值和期望指标值,确定所述当前时期的指标影响系数,包括:
基于各时间维度下所述当前时期的统计指标值与参考指标值的比值,确定各时间维度下的影响系数;
基于各时间维度下的影响系数,确定所述当前时期的指标影响系数。
6.根据权利要求1至5中任一项所述的接口异常检测方法,其特征在于,所述基于所述当前时期的指标影响系数,确定所述当前时期针对所述待检测接口的指标阈值,包括:
基于所述当前时期的指标影响系数,以及所述待检测接口的接口指标常数,确定所述当前时期针对所述待检测接口的指标阈值;
所述接口指标常数基于所述历史指标值确定。
7.根据权利要求6所述的接口异常检测方法,其特征在于,所述接口指标常数基于如下步骤确定:
基于所述历史指标值的分布情况,确定初始常数;
基于所述历史指标值中每日的日期类型,对所述初始常数进行调整,得到所述接口指标常数。
8.一种接口异常检测装置,其特征在于,包括:
指标值确定单元,用于确定待检测接口于当前时期的指标值;
阈值确定单元,用于基于所述待检测接口于所述当前时期之前的历史指标值,确定所述当前时期的指标影响系数,基于所述当前时期的指标影响系数,确定所述当前时期针对所述待检测接口的指标阈值;
异常检测单元,用于基于所述当前时期的指标值和所述指标阈值,对所述待检测接口进行异常检测。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述接口异常检测方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述接口异常检测方法的步骤。
CN202111144485.8A 2021-09-28 2021-09-28 接口异常检测方法、装置、电子设备和存储介质 Pending CN113836204A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111144485.8A CN113836204A (zh) 2021-09-28 2021-09-28 接口异常检测方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111144485.8A CN113836204A (zh) 2021-09-28 2021-09-28 接口异常检测方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN113836204A true CN113836204A (zh) 2021-12-24

Family

ID=78967048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111144485.8A Pending CN113836204A (zh) 2021-09-28 2021-09-28 接口异常检测方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113836204A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116886517A (zh) * 2023-09-04 2023-10-13 江苏点石乐投科技有限公司 一种基于流量数据的告警系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213654A (zh) * 2018-07-05 2019-01-15 北京奇艺世纪科技有限公司 一种异常检测方法及装置
CN110535864A (zh) * 2019-08-30 2019-12-03 北京达佳互联信息技术有限公司 服务异常检测方法、装置、设备及存储介质
CN111611517A (zh) * 2020-05-13 2020-09-01 咪咕文化科技有限公司 指标监控方法、装置、电子设备及存储介质
CN111831517A (zh) * 2020-01-15 2020-10-27 北京嘀嘀无限科技发展有限公司 一种数据处理方法、装置、电子设备及存储介质
CN112712113A (zh) * 2020-12-29 2021-04-27 广州品唯软件有限公司 一种基于指标的告警方法、装置及计算机系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213654A (zh) * 2018-07-05 2019-01-15 北京奇艺世纪科技有限公司 一种异常检测方法及装置
CN110535864A (zh) * 2019-08-30 2019-12-03 北京达佳互联信息技术有限公司 服务异常检测方法、装置、设备及存储介质
CN111831517A (zh) * 2020-01-15 2020-10-27 北京嘀嘀无限科技发展有限公司 一种数据处理方法、装置、电子设备及存储介质
CN111611517A (zh) * 2020-05-13 2020-09-01 咪咕文化科技有限公司 指标监控方法、装置、电子设备及存储介质
CN112712113A (zh) * 2020-12-29 2021-04-27 广州品唯软件有限公司 一种基于指标的告警方法、装置及计算机系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116886517A (zh) * 2023-09-04 2023-10-13 江苏点石乐投科技有限公司 一种基于流量数据的告警系统及方法
CN116886517B (zh) * 2023-09-04 2023-11-24 江苏点石乐投科技有限公司 一种基于流量数据的告警系统及方法

Similar Documents

Publication Publication Date Title
US10965565B2 (en) Method and apparatus for monitoring bandwidth condition
CN112162878A (zh) 数据库故障发现方法、装置、电子设备及存储介质
CN110471821B (zh) 异常变更检测方法、服务器及计算机可读存储介质
CN109509082B (zh) 银行应用系统的监控方法及装置
CN107689956B (zh) 一种异常事件的威胁评估方法及装置
CN113312578B (zh) 一种数据指标的波动归因方法、装置、设备、及介质
CN112559023B (zh) 一种变更风险的预测方法、装置、设备及可读存储介质
CN110727533A (zh) 一种告警的方法、装置、设备和介质
WO2013086999A1 (zh) 联机系统的自动化健康检查方法和装置
CN113836204A (zh) 接口异常检测方法、装置、电子设备和存储介质
CN110673973B (zh) 应用程序编程接口api的异常确定方法和装置
CN110855484B (zh) 自动检测业务量变化的方法、系统、电子设备和存储介质
US20240080252A1 (en) Method, apparatus and computer program product for improving dynamic retry of resource service
CN111984455A (zh) 超时数据的检测方法、装置、服务器和计算机存储介质
CN117354206A (zh) 一种监控api接口的方法、装置、系统和介质
CN111783883A (zh) 一种异常数据的检测方法及装置
CN110503477B (zh) 订单的毛利异常原因的分析方法、系统、设备和存储介质
CN113609454A (zh) 一种异常交易检测方法和装置
CN113626283A (zh) 一种分布式系统节点资源评估方法、装置
CN116308215B (zh) 一种组批出款信息的生成方法、装置及相关设备
CN114513441B (zh) 基于区块链的系统维护方法、装置、设备及存储介质
CN111626841A (zh) 对联机交易进行监控的方法、系统及相关设备
CN114978863B (zh) 一种数据处理方法、装置、计算机设备及可读存储介质
CN112148491B (zh) 数据处理方法及装置
GB2514136A (en) Integration platform monitoring

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