本发明专利技术实施例提供的服务接口的监控方法,通过入口方法获得服务接口的接口信息,通过检索服务接口平台获得服务接口的状态信息,通过状态信息和接口信息确定服务接口的当前执行情况。进一步地,通过在图形界面上展示关系树,不但能直观地获得服务接口之间的依赖关系,而且能直观地获得在那个服务接口阻塞,从而快速地定位到问题。
【技术实现步骤摘要】
本专利技术涉及计算机
,具体涉及一种服务接口的监控方法和监控系统。
技术介绍
随着互联网的发展,应用系统的规模日益庞大,系统之间的依赖关系变得错综复杂,一个系统功能,可能会涉及到多个服务接口,当系统出现问题的时候,很难直观的看出到底是哪个服务接口发生了故障,需通过日志一步步筛查,需要耗费大量的时间,由此可能给公司带来经济和商业信誉上的损失。例如,在前台执行一个查询操作,需要调用系统内部及外部多个接口,此时前端页面还在等待响应,其实后台服务端已经报错连不上某个服务接口,我们需要找到当前不通的接口名称(一般通过手动查询日志,找到异常信息,检查是哪个接口发生了问题,确定发生问题的接口名称),然后到接口服务平台上去搜索,如发现接口挂了,或者有死亡冲突节点、有组名冲突的问题等,然后联系接口负责人,重启或者手动删除有冲突的IP。当一个接口问题解决完毕,我们再次点击查询功能,如果发现程序仍然无法响应,那么上述的一堆操作又要重复性上演。从上面的例子可以看出,采用这种人工查找日志(需要对该系统日志比较熟悉),然后联系接口负责人,接口负责人再进行接口问题处理,以修复故障。这样的定位问题速度比较慢,且排查起来不够直观。
技术实现思路
有鉴于此,本专利技术提供一种服务接口的监控方法和监控系统,以解决上述问题。根据本专利技术的第一方面,本专利技术提供一种服务接口的监控方法,包括:根据所述用户请求获取入口方法作为第1级服务接口;重复执行根据所述n级服务接口获取第n+1级的服务接口的步骤,直至获得所有的服务接口;获得所述1级到第n级的服务接口的接口信息和接口状态;其中,所述第n级的服务接口和所述第n+1级的服务接口为调用关系,所述n为大于等于1的整数。优选地,所述根据所述用户请求获取入口方法包括:配置spring拦截器,拦截用户请求;以及从所述用户请求中找到所述入口方法。优选地,所述根据所述n级服务接口获取第n+1级的服务接口包括:提取所述第n级服务接口的涉及的所有的实例方法;判断每一所述实例方法是否为服务接口;以及从确定为服务接口的所述实例方法作为所述第n+1级服务接口。优选地,所述判断每一所述实例方法是否为服务接口包括:将在spring容器中配置的所述实例方法作为服务接口。优选地,所述获得所述1级到第n级的服务接口的接口信息和接口状态包括:通过java的反射机制获得所述服务接口的接口信息;以及检索接口服务平台获得所述服务接口的服务状态。优选地,还包括:通过嵌套map存储所述第1级到第n级服务接口的服务信息和接口状态。优选地,还包括:构建所述服务节点的依赖关系的关系树;以及通过图形界面显示所述关系树。优选地,通过不同的颜色表示所示服务节点的状态信息。优选地,还包括:通过配置服务获取所述服务接口的接口信息。根据本专利技术的第二方面,本专利技术提供一种服务接口的监控系统,包括:请求获取单元,用于根据所述用户请求获取入口方法作为第1级服务接口;接口获取单元,用于多次执行根据所述n级服务接口获取第n+1级的服务接口的步骤,直至获得所有的服务接口;信息获取单元,用于获得所述1级到第n级的服务接口的接口信息和接口状态,其中,所述第n级的服务接口和所述第n+1级的服务接口为调用关系,所述n为大于等于1
的整数。优选地,还包括:监控显示界面,用于构建所述服务节点的依赖关系的关系树;以及通过图形界面显示所述关系树。优选地,还包括:配置界面,用于配置所述信息获取单元获取的接口信息。本专利技术实施例提供的服务接口的监控方法,通过入口方法获得服务接口的接口信息,通过检索服务接口平台获得服务接口的状态信息,通过状态信息和接口信息确定服务接口的当前执行情况。进一步地,通过在图形界面上展示关系树,不但能直观地获得服务接口之间的依赖关系,而且能直观地获得在那个服务接口阻塞,从而快速地定位到问题。附图说明通过参照以下附图对本专利技术实施例的描述,本专利技术的上述以及其它目的、特征和优点将更为清楚,在附图中:图1是根据本专利技术实施例的服务接口的监控方法的流程图;图2是根据本专利技术实施例的服务接口的关系树的示意图;图3是根据本专利技术实施例的服务接口的监控系统的结构图。具体实施方式以下基于实施例对本专利技术进行描述,但是本专利技术并不仅仅限于这些实施例。在下文对本专利技术的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本专利技术。为了避免混淆本专利技术的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。附图中的流程图、框图图示了本专利技术实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个模块、程序段或仅仅是一段代码,所述模块、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的模块和程序段。因此附图的方框
以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对专利技术本身的限制。图1是根据本专利技术实施例的服务接口的监控方法的流程图。所述监控方法包括步骤101-106。在步骤101中,根据用户请求获取入口方法。当应用系统启动后,用户通过业务系统的客户端提交用户请求。在本步骤中获取用户请求,从中获得入口方法。在java应用系统中,可以采用以下手段获得入口方法:通过配置spring拦截器,拦截用户发出的请求,找到用户本次请求的入口方法。在步骤102,根据入口方法获得第2级的服务接口。在java应用系统中,通过java反射机制,找到入口方法的控制层中所有的实例变量,在spring容器中,找到这些实例变量,检查它是否为服务接口。这里,服务接口为外部应用提供给本系统的接口服务,例如,jsf服务或者webservice服务。服务接口存储在服务接口平台上,便于集中管理所有的服务接口。服务接口平台可以设置为服务器或者集群管理,如zookeeper集群。向服务接口平台提交查询请求,并将检索到的服务接口状态和服务接口名称存储到缓存云中。JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。在步骤103,获得第2级的服务接口的接口信息和接口状态。在本步骤中,通过向服务接口平台提交查询请求,获得服务接口状态。服务接口平台上存储有公共服务接口,用于向其他应用系统提供访问的接口。服务接口平台可以采集服务接口的接口状态供应用系统检索,或者每次应用系统提交查询请求时,服务接口平台访问对应的服务接口获得其接口当前的状态。接口状态包括正常和异常两种,正常的接口为能够提供服务的接口。同时,通过java的反射机制,获得每个服务接口的接口信息,如,类名称,类方法和成员名称,父类。或者可以设置配置服务,通过配置服务设置每个服务接口的接口信息,通过接口名称检
索配置服务获得接口信息。在步骤104,是否已获取所有的服务接口。判断当前的接口是否不再包含新的接口,如果是,则方法结束,如果否,执行步骤105。在步骤105,根据第n级服务接口获得第n+1级服务接口。在本步骤中,通过java的反射机制获得当前的服本文档来自技高网...
【技术保护点】
一种服务接口的监控方法,包括:根据所述用户请求获取入口方法作为第1级服务接口;重复执行根据所述n级服务接口获取第n+1级的服务接口的步骤,直至获得所有的服务接口;获得所述1级到第n级的服务接口的接口信息和接口状态;其中,所述第n级的服务接口和所述第n+1级的服务接口为调用关系,所述n为大于等于1的整数。
【技术特征摘要】
1.一种服务接口的监控方法,包括:根据所述用户请求获取入口方法作为第1级服务接口;重复执行根据所述n级服务接口获取第n+1级的服务接口的步骤,直至获得所有的服务接口;获得所述1级到第n级的服务接口的接口信息和接口状态;其中,所述第n级的服务接口和所述第n+1级的服务接口为调用关系,所述n为大于等于1的整数。2.根据权利要求1所述的监控方法,其中,所述根据所述用户请求获取入口方法包括:配置spring拦截器,拦截用户请求;以及从所述用户请求中找到所述入口方法。3.根据权利要求2所述的监控方法,所述根据所述n级服务接口获取第n+1级的服务接口包括:提取所述第n级服务接口的涉及的所有的实例方法;判断每一所述实例方法是否为服务接口;以及从确定为服务接口的所述实例方法作为所述第n+1级服务接口。4.根据权利要求3所述的监控方法,其中,所述判断每一所述实例方法是否为服务接口包括:将在spring容器中配置的所述实例方法作为服务接口。5.根据权利要求1所述的监控方法,其中,所述获得所述1级到第n级的服务接口的接口信息和接口状态包括:通过java的反射机制获得所述服务接口的接口信息;以及检索接口服务平台获...
【专利技术属性】
技术研发人员:田红悦,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。