CN116955095A - 接口的动态监测方法、装置、电子设备及存储介质 - Google Patents
接口的动态监测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116955095A CN116955095A CN202310779042.9A CN202310779042A CN116955095A CN 116955095 A CN116955095 A CN 116955095A CN 202310779042 A CN202310779042 A CN 202310779042A CN 116955095 A CN116955095 A CN 116955095A
- Authority
- CN
- China
- Prior art keywords
- interface
- determining
- threshold
- time interval
- prediction result
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012544 monitoring process Methods 0.000 title claims abstract description 36
- 230000004044 response Effects 0.000 claims abstract description 74
- 238000012937 correction Methods 0.000 claims description 42
- 230000002159 abnormal effect Effects 0.000 claims description 30
- 238000012806 monitoring device Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000015556 catabolic process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008439 repair process Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring 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)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种接口的动态监测方法、装置、电子设备及存储介质,能够在当前时间区间内采集接口群内每个接口的调用数据,得到的数据汇总清单,将采集到的数据进行存储,避免实时进行数据获取造成的服务器资源的占用,提高接口的响应速度,提高监测的准确性。然后,根据当前时间区间内的实际故障情况和预测结果进行频度阈值的修正,使得下一时间区间内的新的预测结果更加准确,实现了动态的风险监测,且提高了风险预测的准确性,保障业务高效运行,减少宕机等故障带来的经济损失。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种接口的动态监测方法、装置、电子设备及存储介质。
背景技术
在互联网行业应用系统产品快速迭代的背景下,抓取用户的需求焦点,及时评价接口的生命周期至关重要。但是,盲目开展接口开发,疏于风险监测,高频度的接口调用会引起服务器宕机、资源崩溃,影响正常业务,造成巨额经济损失。
发明内容
有鉴于此,本申请的目的在于提出一种接口的动态监测方法、装置、电子设备及存储介质用于在接口调用时进行风险监测。
基于上述目的,本申请的第一方面提供了一种接口的动态监测方法,包括:
在当前时间区间内采集接口群内每个接口的调用数据,得到数据汇总清单;
根据频度阈值和所述数据汇总清单进行故障预测,得到预测结果,并根据所述预测结果进行预警;
确定所述当前时间区间内的实际故障情况,并根据所述预测结果和所述实际故障情况对所述频度阈值进行阈值修正,得到修正阈值;
根据所述修正阈值确定所述当前时间区间的下一时间区间的新的预测结果,并根据所述新的预测结果进行预警,其中,所述当前时间区间和所述下一时间区间为连续的时间区间。
本申请的第二方面提供了一种接口的动态监测装置,包括:
数据采集模块,被配置为:在当前时间区间内采集接口群内每个接口的调用数据,得到的数据汇总清单;
第一预警模块,被配置为:根据频度阈值和所述数据汇总清单进行故障预测,得到预测结果,并根据所述预测结果进行预警;
阈值修正模块,被配置为:确定所述当前时间区间内的实际故障情况,并根据所述预测结果和所述实际故障情况对所述频度阈值进行阈值修正,得到修正阈值;
第二预警模块,被配置为:根据所述修正阈值确定所述当前时间区间的下一时间区间的新的预测结果,并根据所述新的预测结果进行预警,其中,所述当前时间区间和所述下一时间区间为连续的时间区间。
本申请的第三方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本申请第一方面提供的所述的方法。
本申请的第四方面提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行本申请第一方面提供的所述方法。
从上面所述可以看出,本申请提供的接口的动态监测方法、装置、电子设备及存储介质,能够在当前时间区间内采集接口群内每个接口的调用数据,得到的数据汇总清单,将采集到的数据进行存储,避免实时进行数据获取造成的服务器资源的占用,提高接口的响应速度,提高监测的准确性。然后,根据频度阈值和数据汇总清单进行故障预测,得到预测结果,并根据预测结果进行预警,根据频度阈值可以确定当前时间区间内是否有故障发生的可能,并根据预测结果进行预警,以告知用户是否存在发生故障的风险。然后,确定当前时间区间内的实际故障情况,并根据预测结果和实际故障情况对频度阈值进行阈值修正,得到修正阈值,根据修正阈值确定当前时间区间的下一时间区间的新的预测结果,并根据新的预测结果进行预警,其中,当前时间区间和下一时间区间为连续的时间区间。根据当前时间区间内的实际故障情况和预测结果进行频度阈值的修正,使得下一时间区间内的新的预测结果更加准确,实现了动态的风险监测,且提高了风险预测的准确性,保障业务高效运行,减少宕机等故障带来的经济损失。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例接口的动态监测方法的流程图;
图2为本申请实施例故障预测的流程图;
图3为本申请实施例确定异常接口清单的流程图;
图4为本申请实施例确定实际故障情况的流程图;
图5为本申请实施例进行阈值修正的流程图;
图6为本申请实施例接口的动态监测装置的结构示意图;
图7为本申请实施例电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
基于上述背景技术的描述,相关技术中还存在如下的情况:
存储接口调用日志数据,分调用方和被调用方两个维度统计服务调用次数、平均响应时长、平均无故障时间,根据业务需要设定指标阈值,进行实时监测和预警通知。一是对于调用次数低的接口群,及时清退优化,二是统计分析正常高频调用的接口群,挖掘用户关注焦点,深入展开进行数据分析,推进功能深化建设,三是对于超时响应的接口群,推进整改优化,提升接口质量。其中,服务是指具有同类业务属性、查询同类业务数据的接口群。
但是,在监测过程中极其依赖于原始调用日志数据,而日志数据需要通过管理流程规范调用行为和入参行为,增加了服务器资源占用。实时监测也会给服务器带来压力,使服务器执行速度变慢,使服务器只能满足每短时间(例如半小时)的监测,监测效用有所降低,且日志数据中接口的成功调用和失败调用的规则,需要所有调用方和被调用方遵守,如果存在违规的调用方或被调用方,则会降低调用成功的准确性,使得无法准确的预测到可能发生的故障。
本申请实施例提供的接口的动态监测方法、装置、电子设备及存储介质,能够在当前时间区间内采集接口群内每个接口的调用数据,得到的数据汇总清单,将采集到的数据进行存储,避免实时进行数据获取造成的服务器资源的占用,提高接口的响应速度,提高监测的准确性。然后,根据频度阈值和数据汇总清单进行故障预测,得到预测结果,并根据预测结果进行预警,根据频度阈值可以确定当前时间区间内是否有故障发生的可能,并根据预测结果进行预警,以告知用户是否存在发生故障的风险。然后,确定当前时间区间内的实际故障情况,并根据预测结果和实际故障情况对频度阈值进行阈值修正,得到修正阈值,根据修正阈值确定当前时间区间的下一时间区间的新的预测结果,并根据新的预测结果进行预警,其中,当前时间区间和下一时间区间为连续的时间区间。根据当前时间区间内的实际故障情况和预测结果进行频度阈值的修正,使得下一时间区间内的新的预测结果更加准确,实现了动态的风险监测,且提高了风险预测的准确性,保障业务高效运行,减少宕机等故障带来的经济损失。
在一些实施例中,如图1所示,接口的动态监测方法,包括:
步骤101:在当前时间区间内采集接口群内每个接口的调用数据,得到数据汇总清单。
具体实施时,本申请实施例定义了新的接口调用规则,在接调用方的应用系统发出调用请求后,根据该应用系统的身份信息(例如ID信息)确定该应用系统的访问权限,如果该系统的访问权限为允许访问,则被调用的方的接口群可以响应该调用请求。且本申请实施例还定义了新的接口成功响应规则,在调用方的应用系统发出调用请求后,可以通过过滤器在调用请求的请求头中添加一个参数reqStartTime和固定值插入位,该参数的值为当前时间(可以精确到毫秒)即为开始响应时刻,该固定值插入位在目标接口(响应调用请求的接口)成功响应后,会插入一个固定值参数,该固定值参数和reqStartTime参数会和反馈数据一起进行发送,然后,通过拦截器在目标接口返回反馈数据时获取固定值参数和reqStartTime参数,如果固定值插入位为空或者插入的固定值参数为0,则确定该调用请求失败;如果固定值插入位插入的固定值参数为1(也可以是其他固定值,在此不做限定)确定该调用请求响应成功,目标接口的调用次数增加一次,并将当前时间作为结束响应时间存储至数据汇总清单中,同时将开始响应时间、应用系统的身份信息存储至数据汇总清单中。采用插入固定值的方式进行接口是否响应成功的判定,无需调用方参与判定过程,即使存在违规的调用方也不会影响成功率的监测。
其中,将调用数据进行存储,并在需要时进行调取,可以节约实施进行监测所占用的资源,提高接口的响应速度。
需要说明的是,当前时间区间可以是提前标定的又有特定区间长度的一个时间段,区间长度可以为1分钟、10分钟,一小时等,然后可以每24小时(每天)进行一次重置。以每天的零点作为开始,1分钟为区间长度,则第一个当前时间区间为[0:00,0:01]。
步骤102:根据频度阈值和数据汇总清单进行故障预测,得到预测结果,并根据预测结果进行预警。
具体实施时,根据数据汇总清单可以清楚的计算出每个接口群中每个接口的接口调用频度,由于高频度的接口调用会引起服务器宕机、资源崩溃,影响正常业务的进行,所以需要通过频度阈值对每个接口进行故障预测,得到预测结果。
在存在调用频度大于等于频度阈值的接口时,说明该接口的调用频度存在异常,属于高危接口,可能导致服务器宕机,所以预测结果为存在宕机风险,进行风险预警的同时,将该接口的每次调动的开始响应时间、结束响应时间、调用次数、调用频度和调用方应用系统的身份信息和该接口的身份信息进行展示,使用户可以迅速的了解到高危接口是哪个接口,并明确异常运行接口的时间信息、调用方信息、调用次数,尽快明确产生高频度调用的原因,甚至可以根据调用方应用系统的身份信息快速定位频繁调用接口的应用系统,紧急关停该应用系统的访问权限,保证服务器不会出现宕机故障。
在不存在调用频度大于等于频度阈值的接口时,说明不存在使服务器产生故障的接口,所以预测结果为不存在宕机风险,此时,可以不进行预警,也可以可以获取记录一些异常接口的清单,通过展示异常接口信息来进行预警,使得用户明确各个接口的运行情况,以调整接口群内接口的数量及接口质量。
步骤103:确定当前时间区间内的实际故障情况,并根据预测结果和实际故障情况对频度阈值进行阈值修正,得到修正阈值。
具体实施时,由于频度阈值是进行故障预警的关键参数,且服务器的工作状态也不会一直保持不变,导致服务器产生宕机的极限调用频度可能存在差异,所以如果使用一个固定不变的数值,其预测准确性将无法得到保证,所以本申请实施例中需要在使用过程中对频度阈值进行修正,例如,如果预测结果为不存在宕机,但是实际使用过程中发生了服务器宕机,则说明根据频度阈值进行故障预测存在了误判,说明频度阈值在当前运行环境下数值过于宽松,需要进行范围缩紧,根据预设的修订值减小该频度阈值,使得后面的预测结果变得更加精准。
如果预测结果为存在宕机,但是实际使用过程中并没有发生服务器宕机,则说明根据频度阈值进行故障预测存在了误判,说明频度阈值在当前运行环境下数值过于严苛,需要进行范围放宽,根据预设的修订值增大该频度阈值,使得后面的预测结果变得更加精准。而未出现误判时,可以使用零值修订值对频度阈值进行修正,修正前后频度阈值不变,属于无效修正。只要出现误判就进行一次频度阈值的有效修正,使得预测结果可以动态的保持一定的准确性。
步骤104:根据修正阈值确定当前时间区间的下一时间区间的新的预测结果,并根据新的预测结果进行预警,其中,当前时间区间和下一时间区间为连续的时间区间。
具体实施时,在任意相邻时间区间中,根据当前时间区间T对频度阈值进行修正,随着时间的推进,在下一时间区间T+1成为当前时间区间后使用修正后的频度阈值进行故障预测,然后,在下下个时间区间T+2使用下一时间区间T+1修正后的频度阈值进行故障预测及预警,实现了频度阈值的动态优化,使得预测结果和预警内容更加的准确,使用户可以及时的处理高危接口(关闭高危接口的部分或全部应用系统的访问权限,且此过程也可以自动完成),降低高频度的接口调用引起服务器宕机、资源崩溃的可能性,保证业务的正常运行,避免造成经济损失。
在一些可选实施例中,步骤101包括:
步骤1011:响应于接收到应用系统发送的接口调用请求,确定应用系统的身份信息。
具体实施时,以快递查询场景为例,单用户通过客户端在快递查询的应用系统中进行快递查询时,用户会在应用系统的快递查询界面输入手机号或快递单号(均为调用接口的参数),然后点击查询,这时应用系统的查询界面就会显示与手机号或快递单号对应的快递信息,此时就已经完成了一次数据库服务器接口的调用。
可以将接口调用划分成三个个部分:
第一部分:通过客户端向接口调用方(应用系统)输入调用接口的参数(手机号或快递单号);
第二部分:点击查询触控按键,是调用接口的触发点,在点击查询后,应用系统向接口被调用方(数据库服务器)发送调用请求;
第三部分:接口被调用方(接口提供方)响应调用请求,根据参数将反馈信息(快递信息)发送至应用系统,此时,一次接口调用完成。
其中,在接收到接口请求后,还需要确定应用系统的身份信息,用以确定该应用系统是否被允许进行接口调用。
步骤1012:根据身份信息确定应用系统的访问权限。
具体实施时,如果服务器频繁的接收到具有相同参数的相同的调用请求,可能就会进行预警,进而导致应用系统的访问权限被关闭,导致无法完成接口的调用,所以需要确定应用系统的身份信息,然后根据身份信息确定应用系统的访问权限。
步骤1013:响应于访问权限为允许访问,确定开始响应时刻,并向应用系统发送反馈数据。
具体实施时,如果应用系统的访问权限没有被关闭,则确定其访问权限为允许访问,接口获取到参数信息,将当前时刻确定为响应开始时刻,并向应用系统发送反馈数据。
步骤1014:响应于反馈数据中存在预设的固定值参数,确定接口响应成功,并确定结束响应时刻。
具体实施时,通过拦截器在接口返回反馈数据时获取固定值参数和reqStartTime参数,如果固定值插入位为空或者插入的固定值参数为0,则确定该调用请求失败;如果固定值插入位插入的固定值参数为1(也可以是其他固定值,在此不做限定)确定该调用请求响应成功,并将当前时间作为结束响应时间存储至数据汇总清单中。
步骤1015:统计每个接口成功响应的调用次数。
具体实施时,对于任意一个接口,在数据汇总清单中,成功进行一次接口调动,就会将其中调用次数项的数值加一,以此完成每个接口的调用次数的统计。
步骤1016:整合每个接口的开始响应时刻、结束响应时刻和调用次数,得到调用数据,并将调用数据存储至数据汇总清单。
具体实施时,将每个接口的开始响应时刻、结束响应时刻和调用次数进行整合,分类存储(例如清单的第一列用于存储接口身份信息,第二列用于存储调用次数)至数据汇总清单中。将数据存储值汇总清单中不但可以避免实时监测获取数据带来的服务器资源的占用,还可以在宕机重启后直接调取宕机前的数据,进而进行频度阈值的修正,提高预测结果的准确性。
综上所述本申请提供的动态监测方法,能够在当前时间区间内采集接口群内每个接口的调用数据,得到的数据汇总清单,将采集到的数据进行存储,避免实时进行数据获取造成的服务器资源的占用,提高接口的响应速度,提高监测的准确性。然后,根据频度阈值和数据汇总清单进行故障预测,得到预测结果,并根据预测结果进行预警,根据频度阈值可以确定当前时间区间内是否有故障发生的可能,并根据预测结果进行预警,以告知用户是否存在发生故障的风险。然后,确定当前时间区间内的实际故障情况,并根据预测结果和实际故障情况对频度阈值进行阈值修正,得到修正阈值,根据修正阈值确定当前时间区间的下一时间区间的新的预测结果,并根据新的预测结果进行预警,其中,当前时间区间和下一时间区间为连续的时间区间。根据当前时间区间内的实际故障情况和预测结果进行频度阈值的修正,使得下一时间区间内的新的预测结果更加准确,实现了动态的风险监测,且提高了风险预测的准确性,保障业务高效运行,减少宕机等故障带来的经济损失。
在一些实施例中,如图2所示,根据频度阈值和数据汇总清单进行故障预测,得到预测结果,并根据预测结果进行预警,包括:
步骤201:根据数据汇总清单确定接口群中每个接口的调用次数。
具体实施时,在数据汇总清单中直接确定当前时刻下每个每个接口的调用次数。
步骤202:根据调用次数确定每个接口的调用频度。
具体实施时,根据调用次数和预设的时间长度可以计算出该时间长度内接口的调用频度,调用频度=调用次数/时间长度。其中,时间长度可以根据该服务器的繁忙程度和服务类型进行设定,在此不做具体限定,但是,该时间长度应小于等于当前时间区间的长度。
步骤203:根据调用频度和频度阈值确定是否存在超频接口。
具体实施时,对于接口群内的任意一个接口,如果该接口的调用频度大于等于频度阈值,说明该接口为超频接口;如果该接口的调用频度小于于频度阈值,说明该接口为正常的高频接口,可以用来挖掘用户关注焦点,深入展开进行数据分析。
步骤204:响应于存在超频接口,确定预测结果为存在宕机风险,进行宕机预警。
具体实施时,如果存在超频接口,说明可能存在服务器宕机的风险,进行宕机预警,在预警后,如果入户开启的自动修复模式,可以根据数据汇总清单确定调用该接口次数较多的几个应用系统,并关闭这些应系统的访问权限。如果未开启自动修复模式,可以将这些应用进行突出显示,以方便用户进行手动处理。
步骤205:响应于不存在超频接口,确定预测结果为不存在宕机风险,根据数据汇总清单确定异常接口清单,并利用显示设备对异常接口清单进行展示。
具体实施时,如果不存在超频接口,说明不存在服务器宕机的风险,根据数据汇总清单确定异常接口清单,并利用显示设备对异常接口清单进行展示。
在一些实施例中,调用数据包括每个接口的调用次数、开始响应时刻和结束响应时刻;则如图3所示,根据数据汇总清单确定异常接口清单,包括:
步骤301:根据调用次数确定调用成功率。
具体实施时,调用成功率=调用次数/总调用次数,其中,调用次数为接口成功响应调用请求后得到成功响应次数,总调用次数为接收到调用请求的次数,即使响应失败也进行一次计数。
步骤302:根据开始响应时刻和结束响应时刻确定单一接口响应时长。
具体实施时,单一接口响应时长=结束响应时刻-开始响应时刻(保留两位小数)。
步骤303:根据单一接口响应时间和调用次数确定平均接口响应时长。
具体实施时,平均接口响应时长=接口群中所有接口的单一接口响应时长的和/接口群中所有接口的调用次数和。
步骤304:根据预设的阈值集合、调用成功率、单一接口响应时长、平均响应时长和每个接口的调用次数确定异常接口清单。
在一些实施例中,阈值集合包括次数阈值、成功率阈值、第一时长阈值和第二时长阈值;则对于接口群的任意一个接口,步骤304包括:
步骤3041:响应于调度次数小于等于次数阈值,确定该接口为冗余接口。
具体实施时,调度次数小于等于次数阈值,确定该接口为冗余接口,因为次数阈值一般为一个数值较小的数值,例如2,如果连续几个时间区间内,同一接口均被确定为冗余接口,用户可以对这些冗余接口进行清退或优化。
步骤3042:响应于调用成功率小于等于成功率阈值,确定该接口为失效接口。
具体实施时,当调用成功率小于等于成功率阈值,确定该接口为失效接口,因为该接口频频调用失败,可能存在故障,需要在后续对该接口进行修复。
步骤3043:响应于单一接口调用时长大于等于第一时长阈值,确定该接口为超时接口。
具体实施时,当单一接口调用时长大于等于第一时长阈值,确定该接口为超时接口,调用超时会影响后续其他应用系统的调用,导致其他调用请求被延时,造成资源浪费,需要在后续进行接口修复。
步骤3044:整合全部的冗余接口、失效接口和超时接口,得到异常接口集合。
具体实施时,冗余接口、失效接口和超时接口一般不会导致服务器宕机这样的严重故障,所以将这些异常接口进行汇总,得到异常接口集合,使用户可以根据异常接口集合了解到存在异常的接口,并根据异常接口集合进行接口的修复,提高服务器的运行效率。
步骤3045:响应于平均接口响应时长大于等于第二时长阈值,确定接口群存在异常,将接口群确定为异常接口集合。
具体实施时,当平均接口响应时长大于等于第二时长阈值,确定接口群整体存在异常,将接口群确定为异常接口集合,因为整个接口群的响应时间都比较慢,说明接口需要进行进行优化整改,以提高接口质量。其中,步骤3041至步骤3044是一种确定异常接口集合情况,而步骤3045是另一种确定异常接口集合情况,一般情况下,执行时可以先进行步骤3045的判定(也可以先执行步骤3041至步骤3044的判定),因为此时全部的接口均需要优化。也可以同时执行两种确定方式,同时进行展示,使用户充分了解当前服务的状态,进而方便用户进行后续的修复或优化。
在一些实施例中,如图4所示,确定当前时间区间内的实际故障情况,包括:
步骤401:响应于在当前区间内出现了宕机,确定存在实际故障。
具体实施时,如果在当前时间区间内出现了服务器宕机、资源崩溃等情况,说明在当前时间区间内发生了实际的故障,则可以确定存在实际故障。
步骤402:响应于在当前时间区间内没有出现宕机,确定不存在实际故障。
具体实施时,如果在当前时间区间内没有出现了服务器宕机、资源崩溃等情况,说明在当前时间区间内没有发生实际的故障,只需要对异常接口进行监测即可,则可以确定不存在实际故障。
在一些实施例中,如图5所示,根据预测结果和实际故障情况对频度阈值进行阈值修正,得到修正阈值,包括:
步骤501:响应于当前区间存在实际故障,且预测结果为不存在宕机风险,根据预设的修订值对频度阈值进行减小修订,得到第一修正阈值。
具体实施时,如果预测结果为不存在宕机,但是实际使用过程中发生了服务器宕机,则说明根据频度阈值进行故障预测存在了误判,说明频度阈值在当前运行环境下数值过于宽松,无法有效的进行故障预测,需要进行数值缩紧,以增大超频接口的检出率,可以根据预设的修订值对频度阈值进行减小修订,得到第一修正阈值,使得下一时间区间的预测结果变得更加精准。
步骤502:响应于当前区间不存在实际故障,且预测结果为存在宕机风险,根据预设的修订值对频度阈值进行增大修订,得到第二修正阈值。
具体实施时,如果预测结果为存在宕机,但是实际使用过程中没有发生服务器宕机,则说明根据频度阈值进行故障预测存在了误判,说明频度阈值在当前运行环境下数值过于严苛,无法有效的进行故障预测,需要进行数值放宽,以减小超频接口的检出率,可以根据预设的修订值对频度阈值进行增大修订,得到第二修正阈值,使得下一时间区间的预测结果变得更加精准。
步骤503:响应于当前区间存在实际故障,且预测结果为存在宕机风险,根据预设的零值对频度阈值进行无效修正。
具体实施时,具体实施时,如果预测结果为存在宕机,且实际使用过程中发生了服务器宕机,则说明根据频度阈值进行故障预测是准确的,说明频度阈值在当前运行环境下数值取值合理,可以有效的进行故障预测,超频接口的检出率合适,根据预设的零值对频度阈值进行无效修正,使得频度阈值不发生变化,可以直接用于下一时间区间的故障预测。
步骤504:响应于当前区间不存在实际故障,且预测结果为不存在宕机风险,根据预设的零值对频度阈值进行无效修正。
具体实施时,如果预测结果为不存在宕机,且实际使用过程中没有发生服务器宕机,则说明根据频度阈值进行故障预测是准确的,说明频度阈值在当前运行环境下数值取值合理,可以有效的进行故障预测,超频接口的检出率合适,根据预设的零值对频度阈值进行无效修正,使得频度阈值不发生变化,可以直接用于下一时间区间的故障预测。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种接口的动态监测装置。
参考图6,所述接口的动态监测装置,包括:
数据采集模块10,被配置为:在当前时间区间内采集接口群内每个接口的调用数据,得到的数据汇总清单;
第一预警模块20,被配置为:根据频度阈值和数据汇总清单进行故障预测,得到预测结果,并根据预测结果进行预警;
阈值修正模块30,被配置为:确定当前时间区间内的实际故障情况,并根据预测结果和实际故障情况对频度阈值进行阈值修正,得到修正阈值;
第二预警模块40,被配置为:根据修正阈值确定当前时间区间的下一时间区间的新的预测结果,并根据新的预测结果进行预警,其中,当前时间区间和下一时间区间为连续的时间区间。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的接口的动态监测方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的接口的动态监测方法。
图7示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的接口的动态监测方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的接口的动态监测方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的接口的动态监测方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种接口的动态监测方法,其特征在于,包括:
在当前时间区间内采集接口群内每个接口的调用数据,得到数据汇总清单;
根据频度阈值和所述数据汇总清单进行故障预测,得到预测结果,并根据所述预测结果进行预警;
确定所述当前时间区间内的实际故障情况,并根据所述预测结果和所述实际故障情况对所述频度阈值进行阈值修正,得到修正阈值;
根据所述修正阈值确定所述当前时间区间的下一时间区间的新的预测结果,并根据所述新的预测结果进行预警,其中,所述当前时间区间和所述下一时间区间为连续的时间区间。
2.根据权利要求1所述的方法,其特征在于,所述根据频度阈值和所述数据汇总清单进行故障预测,得到预测结果,并根据所述预测结果进行预警,包括:
根据所述数据汇总清单确定所述接口群中每个接口的调用次数;
根据所述调用次数确定是否存在超频接口;
响应于存在所述超频接口,确定所述预测结果为存在宕机风险,进行宕机预警;
响应于不存在所述超频接口,确定所述预测结果为不存在宕机风险,根据所述数据汇总清单确定异常接口清单,并利用显示设备对所述异常接口清单进行展示。
3.根据权利要求2所述的方法,其特征在于,所述确定所述当前时间区间内的实际故障情况,包括:
响应于在所述当前区间内出现了宕机,确定存在所述实际故障;
响应于在所述当前时间区间内没有出现宕机,确定不存在所述实际故障。
4.根据权利要求3所述的方法,其特征在于,所述根据所述预测结果和所述实际故障情况对所述频度阈值进行阈值修正,得到修正阈值,包括:
响应于所述当前区间存在所述实际故障,且所述预测结果为不存在宕机风险,根据预设的修订值对所述频度阈值进行减小修订,得到所述第一修正阈值;
响应于所述当前区间不存在所述实际故障,且所述预测结果为存在宕机风险,根据预设的修订值对所述频度阈值进行增大修订,得到所述第二修正阈值;
响应于所述当前区间存在所述实际故障,且所述预测结果为存在宕机风险,根据预设的零值对所述频度阈值进行无效修正;
响应于所述当前区间不存在所述实际故障,且所述预测结果为不存在宕机风险,根据预设的零值对所述频度阈值进行无效修正。
5.根据权利要求2所述的方法,其特征在于,所述调用数据包括每个接口的调用次数、开始响应时刻和结束响应时刻;
所述根据所述数据汇总清单确定异常接口清单,包括:
根据所述调用次数确定调用成功率;
根据所述开始响应时刻和所述结束响应时刻确定单一接口响应时长;
根据所述单一接口响应时间和所述调用次数确定平均接口响应时长;
根据预设的阈值集合、所述调用成功率、所述单一接口响应时长、所述平均响应时长和每个接口的所述调用次数确定所述异常接口清单。
6.根据权利要求5所述的方法,其特征在于,所述阈值集合包括次数阈值、成功率阈值、第一时长阈值和第二时长阈值;
所述根据预设的阈值集合、所述调用成功率、所述平均响应时长和每个接口的所述调用次数确定所述异常接口清单,包括:
对于所述接口群的任意一个接口:
响应于所述调度次数小于等于所述次数阈值,确定该接口为冗余接口;响应于所述调用成功率小于等于所述成功率阈值,确定该接口为失效接口;响应于所述单一接口调用时长大于等于所述第一时长阈值,确定该接口为超时接口;
整合全部的所述冗余接口、所述失效接口和超时接口,得到所述异常接口集合;或者,
响应于所述平均接口响应时长大于等于所述第二时长阈值,确定所述接口群存在异常,将所述接口群确定为所述异常接口集合。
7.根据权利要求5所述的方法,其特征在于,所述在当前时间区间内采集接口群内每个接口的调用数据,得到数据汇总清单,包括:
响应于接收到应用系统发送的接口调用请求,确定所述应用系统的身份信息;
根据所述身份信息确定所述应用系统的访问权限;
响应于所述访问权限为允许访问,确定所述开始响应时刻,并向所述应用系统发送反馈数据;
响应于所述反馈数据中存在预设的固定值参数,确定接口响应成功,并确定所述结束响应时刻;
统计每个接口成功响应的调用次数;
整合每个接口的开始响应时刻、结束响应时刻和所述调用次数,得到所述调用数据,并将所述调用数据存储至所述数据汇总清单。
8.一种接口的动态监测装置,其特征在于,包括:
数据采集模块,被配置为:在当前时间区间内采集接口群内每个接口的调用数据,得到的数据汇总清单;
第一预警模块,被配置为:根据频度阈值和所述数据汇总清单进行故障预测,得到预测结果,并根据所述预测结果进行预警;
阈值修正模块,被配置为:确定所述当前时间区间内的实际故障情况,并根据所述预测结果和所述实际故障情况对所述频度阈值进行阈值修正,得到修正阈值;
第二预警模块,被配置为:根据所述修正阈值确定所述当前时间区间的下一时间区间的新的预测结果,并根据所述新的预测结果进行预警,其中,所述当前时间区间和所述下一时间区间为连续的时间区间。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的方法。
10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310779042.9A CN116955095A (zh) | 2023-06-28 | 2023-06-28 | 接口的动态监测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310779042.9A CN116955095A (zh) | 2023-06-28 | 2023-06-28 | 接口的动态监测方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116955095A true CN116955095A (zh) | 2023-10-27 |
Family
ID=88457457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310779042.9A Pending CN116955095A (zh) | 2023-06-28 | 2023-06-28 | 接口的动态监测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116955095A (zh) |
-
2023
- 2023-06-28 CN CN202310779042.9A patent/CN116955095A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180365085A1 (en) | Method and apparatus for monitoring client applications | |
US8516499B2 (en) | Assistance in performing action responsive to detected event | |
CN111178760B (zh) | 风险监测方法、装置、终端设备及计算机可读存储介质 | |
CN109543891B (zh) | 容量预测模型的建立方法、设备及计算机可读存储介质 | |
CN111897724B (zh) | 一种适用于云平台的自动化测试方法及装置 | |
CN112307057A (zh) | 数据的处理方法及装置、电子设备、计算机存储介质 | |
CN111240876B (zh) | 微服务的故障定位方法、装置、存储介质及终端 | |
JP6413537B2 (ja) | 障害予兆通報装置および予兆通報方法、予兆通報プログラム | |
CN111522703A (zh) | 监控访问请求的方法、设备和计算机程序产品 | |
CN112069049A (zh) | 数据监控管理方法、装置、服务器及可读存储介质 | |
CN111680104B (zh) | 数据同步方法、装置、计算机设备及可读存储介质 | |
CN114609995B (zh) | 故障控制方法、装置、系统、设备、介质及产品 | |
CN111090593A (zh) | 确定崩溃归属的方法、装置、电子设备及存储介质 | |
CN112241362A (zh) | 一种测试方法、装置、服务器及存储介质 | |
CN108255710B (zh) | 一种脚本的异常检测方法及其终端 | |
CN116955095A (zh) | 接口的动态监测方法、装置、电子设备及存储介质 | |
CN113472881B (zh) | 在线终端设备的统计方法和装置 | |
KR102464688B1 (ko) | 모니터링 결과의 이벤트 등급 결정 방법 및 장치 | |
CN113806155B (zh) | 一种基于物联网的工业设备管理方法和系统 | |
CN115878358A (zh) | 异常日志分析方法、装置、电子设备及存储介质 | |
CN104881354A (zh) | 云盘监控方法及装置 | |
CN113312197A (zh) | 批量故障的确定方法和装置,计算机存储介质和电子设备 | |
CN115190008B (zh) | 故障处理方法、故障处理装置、电子设备及存储介质 | |
CN115396280B (zh) | 告警数据的处理方法、装置、设备及存储介质 | |
CN114936113B (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 |