本发明涉及分布式存储领域,特别涉及一种java应用接口管理方法、系统、装置及计算机可读存储介质。
背景技术:
java是一种跨平台,适合于分布式计算环境的面向对象编程语言。随着互联网技术的发展,由于java的丰富特性,越来越多的web应用使用java语言进行开发。web应用伴随着用户量的增加,业务的使用程度越来越高,相应的业务对应接口的调用次数会越来越多,对应用的性能要求也越来越高。
java应用接口活跃度指的是基于java语言开发的web应用接口的活跃程度。通过获取单位时间内应用接口的调用次数及响应状态,配合应用的生命周期及接口的调用权重,综合分析接口的活跃程度。
现有技术中,无法监测java应用接口活跃度,经常导致应用接口因承受不了访问压力而出错,进一步的导致应用出错,从而降低用户体验。
为此,需要一种对高负载的java接口进行提前发现和预警的方法。
技术实现要素:
有鉴于此,本发明的目的在于提供一种java应用接口管理方法、系统、装置及计算机可读存储介质,能够对高负载的java接口进行提前发现和预警。其具体方案如下:
一种java应用接口管理方法,包括:
获取java应用接口的活跃度数据;其中,所述活跃度数据包括调用次数、响应状态和响应时间;
利用所述活跃度数据和预设的活跃度计算规则,得到所述java应用接口的当前活跃度;
判断所述java应用接口的当前活跃度是否超过预设的活跃度阈值;
若超过所述活跃度阈值,则告警。
可选的,所述利用所述活跃度数据和预设的活跃度计算规则,得到所述java应用接口的当前活跃度的过程,包括:
从权重表中获取权重值;其中,所述权重值包括访问成功权重、访问错误权重和响应时间权重;
利用所述活跃度数据、所述权重值和活跃度计算公式,得到所述java应用接口的当前活跃度;
其中,所述活跃度计算公式为:当前活跃度=((n-m)/n)*访问成功权重 ((e-b)/n)*访问错误权重 (t/a)*响应时间权重;
式中,n为当前时间响应成功次数,m为上次统计时间响应成功次数,e为当前时间接口响应错误次数,b为上次统计时间响应错误次数,t为本次统计响应时间,a为接口平均响应时间。
本发明还公开了一种java应用接口管理系统,包括:
数据获取模块,用于获取java应用接口的活跃度数据;其中,所述活跃度数据包括调用次数、响应状态和响应时间;
活跃度计算模块,用于利用所述活跃度数据和预设的活跃度计算规则,得到所述java应用接口的当前活跃度;
活跃度判断模块,用于判断所述java应用接口的当前活跃度是否超过预设的活跃度阈值;
告警模块,用于若所述活跃度判断模块判定所述java应用接口的当前活跃度超过所述活跃度阈值,则告警。
可选的,所述活跃度计算模块,包括:
权重获取单元,用于从权重表中获取权重值;其中,所述权重值包括访问成功权重、访问错误权重和响应时间权重;
活跃度计算单元,用于利用所述活跃度数据、所述权重值和活跃度计算公式,得到所述java应用接口的当前活跃度;
其中,所述活跃度计算公式为:当前活跃度=((n-m)/n)*访问成功权重 ((e-b)/n)*访问错误权重 (t/a)*响应时间权重;
式中,n为当前时间响应成功次数,m为上次统计时间响应成功次数,e为当前时间接口响应错误次数,b为上次统计时间响应错误次数,t为本次统计响应时间,a为接口平均响应时间。
本发明还公开了一种java应用接口管理装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如前述的java应用接口管理方法。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的java应用接口管理方法。
本发明中,java应用接口管理方法,包括:获取java应用接口的活跃度数据;其中,所述活跃度数据包括调用次数、响应状态和响应时间;利用所述活跃度数据和预设的活跃度计算规则,得到所述java应用接口的当前活跃度;判断所述java应用接口的当前活跃度是否超过预设的活跃度阈值;若超过所述活跃度阈值,则告警。
本发明主动获取java应用接口的活跃度数据,并对java应用接口的活跃度进行判断,能够提早发现java应用接口的负载程度,及时给用户进行告警,减少因java应用接口负载过大而产生故障。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种java应用接口管理方法流程示意图;
图2为本发明实施例公开的另一种java应用接口管理系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种java应用接口管理方法,参见图1所示,该方法包括:
s11:获取java应用接口的活跃度数据。
具体的,为了查看java应用接口的活跃度情况,查看java应用接口负载是否过高,还是还有盈余,则需要获取java应用接口能够反映活跃度的活跃度数据,其中,活跃度数据包括java应用接口的调用次数、响应状态和响应时间等数据,其中,可以具体为时间响应成功次数和时间接口响应错误次数等。
可以理解的是,调用次数反映java应用接口被使用的次数,存活时间反映java应用接口一次被使用的时长,响应状态反映java应用接口是否可用,响应时间反映java应用接口响应速度。
具体的,每次获取到的活跃度数据均可保存在相应的数据库中,一方面可以作为历史资料,另一方面便于后续活跃度计算。
进一步的,可以利用javaweb中的拦截器,在拦截器中获取接口活跃度数据,通过接口的方式获取活跃度数据。
s12:利用活跃度数据和预设的活跃度计算规则,得到java应用接口的当前活跃度。
具体的,获取到活跃度数据后,便可以根据预先设定的活跃度计算规则,利用活跃度数据,计算出java应用接口的当前活跃度。
具体的,因为java应用接口与活跃度相关的数据包括多种,因此,可以为每种数据设置权重值,权重值可以预先记录在权重表中,可以利用预设的跃度计算公式计算具体的活跃度,例如,活跃度计算公式为:当前活跃度=((n-m)/n)*访问成功权重 ((e-b)/n)*访问错误权重 (t/a)*响应时间权重;
式中,n为当前时间响应成功次数,m为上次统计时间响应成功次数,e为当前时间接口响应错误次数,b为上次统计时间响应错误次数,t为本次统计响应时间,a为接口平均响应时间,其中,权重值包括访问成功权重、访问错误权重和响应时间权重。
具体的,上述活跃度计算方法可以具体为s121至s122;其中,
s121:从权重表中获取权重值;
s122:利用活跃度数据、权重值和活跃度计算公式,得到java应用接口的当前活跃度。
具体的,当然,根据实际应用情况,可以调整具体的活跃度计算方式,可以增加参数和/或调节权重等等。
需要说明的是,为了计算活跃度,需要记录上一次的活跃度数据,每次活跃度数据为java应用接口在单位时间内的活跃度,单位时间可以为10秒,若按上述活跃度计算公式计算的话,当前计算活跃度时为首次计算,即仅存有一次的活跃度数据,则不计算java应用接口的活跃度,直到获取到下一次的活跃度数据后,计算活跃度,当然,根据计算方法的变化,计算方式同样可以相应的变化。
其中,根据调用次数可以得到接口响应次数,根据响应状态可以确定是响应成功还是响应错误,因此,利用活跃度数据中的调用次数、响应状态和响应时间可以确定出当前时间响应成功次数、上次统计时间响应成功次数、当前时间接口响应错误次数、上次统计时间响应错误次数、本次统计响应时间和接口平均响应时间等数据。
进一步的,因计算接口活跃度时,首先应关注接口的调用次数,其次为接口的响应时间,调用次数越高表示单位时间内接口活跃度越高,但是当接口调用失败或者响应时间过长时,会影响接口调用的次数,比如,单位时间内频繁调用接口,但是接口总是调用失败,则会影响之后的接口调用,例如用户在一个查询页面查看数据,总是获取不到,那么用户在一段时间内弃用此接口;响应时间越长,则会影响接口的下一次调用。为此,访问成功权重、访问错误权重和响应时间权重三个权重值之间的数值关系可以设定为访问成功权重>访问错误权重>响应时间权重>0,此权重配比能在最大程度上还原接口真实活跃度。
s13:判断java应用接口的当前活跃度是否超过预设的活跃度阈值;
s14:若超过活跃度阈值,则告警。
具体的,计算出当前活跃度后,便可以与预先设定的活跃度阈值进行判定,如果超过活跃度阈值,则说明当前java应用接口负载过大,需要告警,提示运维人员做出相应的动作,例如,减轻当前java应用接口的负载。
具体的,若未超过活跃度阈值,则不做特殊动作,继续保持正常运行。
可见,本发明实施例主动获取java应用接口的活跃度数据,并对java应用接口的活跃度进行判断,能够提早发现java应用接口的负载程度,及时给用户进行告警,减少因java应用接口负载过大而产生故障。
相应的,本发明实施例还公开了一种java应用接口管理系统,参加图2所示,该系统包括:
数据获取模块,用于获取java应用接口的活跃度数据;其中,活跃度数据包括调用次数、响应状态和响应时间;
活跃度计算模块,用于利用活跃度数据和预设的活跃度计算规则,得到java应用接口的当前活跃度;
活跃度判断模块,用于判断java应用接口的当前活跃度是否超过预设的活跃度阈值;
告警模块,用于若活跃度判断模块判定java应用接口的当前活跃度超过活跃度阈值,则告警。
可见,本发明实施例主动获取java应用接口的活跃度数据,并对java应用接口的活跃度进行判断,能够提早发现java应用接口的负载程度,及时给用户进行告警,减少因java应用接口负载过大而产生故障。
具体的,活跃度计算模块,可以包括权重获取单元和活跃度计算单元;其中,
权重获取单元,用于从权重表中获取权重值;其中,权重值包括访问成功权重、访问错误权重和响应时间权重;
活跃度计算单元,用于利用活跃度数据、权重值和活跃度计算公式,得到java应用接口的当前活跃度;
其中,活跃度计算公式为:当前活跃度=((n-m)/n)*访问成功权重 ((e-b)/n)*访问错误权重 (t/a)*响应时间权重;
式中,n为当前时间响应成功次数,m为上次统计时间响应成功次数,e为当前时间接口响应错误次数,b为上次统计时间响应错误次数。
此外,本发明实施例还公开了一种java应用接口管理装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序以实现如前述的java应用接口管理方法。
另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述的java应用接口管理方法。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的技术内容进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
1.一种java应用接口管理方法,其特征在于,包括:
获取java应用接口的活跃度数据;其中,所述活跃度数据包括调用次数、响应状态和响应时间;
利用所述活跃度数据和预设的活跃度计算规则,得到所述java应用接口的当前活跃度;
判断所述java应用接口的当前活跃度是否超过预设的活跃度阈值;
若超过所述活跃度阈值,则告警。
2.根据权利要求1所述的java应用接口管理方法,其特征在于,所述利用所述活跃度数据和预设的活跃度计算规则,得到所述java应用接口的当前活跃度的过程,包括:
从权重表中获取权重值;其中,所述权重值包括访问成功权重、访问错误权重和响应时间权重;
利用所述活跃度数据、所述权重值和活跃度计算公式,得到所述java应用接口的当前活跃度;
其中,所述活跃度计算公式为:当前活跃度=((n-m)/n)*访问成功权重 ((e-b)/n)*访问错误权重 (t/a)*响应时间权重;
式中,n为当前时间响应成功次数,m为上次统计时间响应成功次数,e为当前时间接口响应错误次数,b为上次统计时间响应错误次数,t为本次统计响应时间,a为接口平均响应时间。
3.一种java应用接口管理系统,其特征在于,包括:
数据获取模块,用于获取java应用接口的活跃度数据;其中,所述活跃度数据包括调用次数、响应状态和响应时间;
活跃度计算模块,用于利用所述活跃度数据和预设的活跃度计算规则,得到所述java应用接口的当前活跃度;
活跃度判断模块,用于判断所述java应用接口的当前活跃度是否超过预设的活跃度阈值;
告警模块,用于若所述活跃度判断模块判定所述java应用接口的当前活跃度超过所述活跃度阈值,则告警。
4.根据权利要求3所述的java应用接口管理方法,其特征在于,所述活跃度计算模块,包括:
权重获取单元,用于从权重表中获取权重值;其中,所述权重值包括访问成功权重、访问错误权重和响应时间权重;
活跃度计算单元,用于利用所述活跃度数据、所述权重值和活跃度计算公式,得到所述java应用接口的当前活跃度;
其中,所述活跃度计算公式为:当前活跃度=((n-m)/n)*访问成功权重 ((e-b)/n)*访问错误权重 (t/a)*响应时间权重;
式中,n为当前时间响应成功次数,m为上次统计时间响应成功次数,e为当前时间接口响应错误次数,b为上次统计时间响应错误次数,t为本次统计响应时间,a为接口平均响应时间。
5.一种java应用接口管理装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1或2所述的java应用接口管理方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1或2所述的java应用接口管理方法。
技术总结