服务接口的监控方法和监控系统的制作方法

文档序号:10654426阅读:575来源:国知局
服务接口的监控方法和监控系统的制作方法
【专利摘要】本发明实施例提供的服务接口的监控方法,通过入口方法获得服务接口的接口信息,通过检索服务接口平台获得服务接口的状态信息,通过状态信息和接口信息确定服务接口的当前执行情况。进一步地,通过在图形界面上展示关系树,不但能直观地获得服务接口之间的依赖关系,而且能直观地获得在那个服务接口阻塞,从而快速地定位到问题。
【专利说明】
服务接口的监控方法和监控系统
技术领域
[0001 ]本发明涉及计算机技术领域,具体涉及一种服务接口的监控方法和监控系统。
【背景技术】
[0002]随着互联网的发展,应用系统的规模日益庞大,系统之间的依赖关系变得错综复杂,一个系统功能,可能会涉及到多个服务接口,当系统出现问题的时候,很难直观的看出到底是哪个服务接口发生了故障,需通过日志一步步筛查,需要耗费大量的时间,由此可能给公司带来经济和商业信誉上的损失。
[0003]例如,在前台执行一个查询操作,需要调用系统内部及外部多个接口,此时前端页面还在等待响应,其实后台服务端已经报错连不上某个服务接口,我们需要找到当前不通的接口名称(一般通过手动查询日志,找到异常信息,检查是哪个接口发生了问题,确定发生问题的接口名称),然后到接口服务平台上去搜索,如发现接口挂了,或者有死亡冲突节点、有组名冲突的问题等,然后联系接口负责人,重启或者手动删除有冲突的IP。当一个接口问题解决完毕,我们再次点击查询功能,如果发现程序仍然无法响应,那么上述的一堆操作又要重复性上演。
[0004]从上面的例子可以看出,采用这种人工查找日志(需要对该系统日志比较熟悉),然后联系接口负责人,接口负责人再进行接口问题处理,以修复故障。这样的定位问题速度比较慢,且排查起来不够直观。

【发明内容】

[0005]有鉴于此,本发明提供一种服务接口的监控方法和监控系统,以解决上述问题。
[0006]根据本发明的第一方面,本发明提供一种服务接口的监控方法,包括:根据所述用户请求获取入口方法作为第I级服务接口 ;重复执行根据所述η级服务接口获取第n+1级的服务接口的步骤,直至获得所有的服务接口 ;获得所述I级到第η级的服务接口的接口信息和接口状态;其中,所述第η级的服务接口和所述第n+1级的服务接口为调用关系,所述η为大于等于I的整数。
[0007]优选地,所述根据所述用户请求获取入口方法包括:配置spring拦截器,拦截用户请求;以及从所述用户请求中找到所述入口方法。
[0008]优选地,所述根据所述η级服务接口获取第n+1级的服务接口包括:提取所述第η级服务接口的涉及的所有的实例方法;判断每一所述实例方法是否为服务接口;以及从确定为服务接口的所述实例方法作为所述第n+1级服务接口。
[0009]优选地,所述判断每一所述实例方法是否为服务接口包括:将在spring容器中配置的所述实例方法作为服务接口。
[0010]优选地,所述获得所述I级到第η级的服务接口的接口信息和接口状态包括:通过java的反射机制获得所述服务接口的接口信息;以及检索接口服务平台获得所述服务接口的服务状态。[0011 ]优选地,还包括:通过嵌套map存储所述第I级到第η级服务接口的服务信息和接口状态。
[0012]优选地,还包括:构建所述服务节点的依赖关系的关系树;以及通过图形界面显示所述关系树。
[0013]优选地,通过不同的颜色表示所示服务节点的状态信息。
[0014]优选地,还包括:通过配置服务获取所述服务接口的接口信息。
[0015]根据本发明的第二方面,本发明提供一种服务接口的监控系统,包括:请求获取单元,用于根据所述用户请求获取入口方法作为第I级服务接口;接口获取单元,用于多次执行根据所述η级服务接口获取第n+1级的服务接口的步骤,直至获得所有的服务接口 ;信息获取单元,用于获得所述I级到第η级的服务接口的接口信息和接口状态,其中,所述第η级的服务接口和所述第n+1级的服务接口为调用关系,所述η为大于等于I的整数。
[0016]优选地,还包括:监控显示界面,用于构建所述服务节点的依赖关系的关系树;以及通过图形界面显示所述关系树。
[0017]优选地,还包括:配置界面,用于配置所述信息获取单元获取的接口信息。
[0018]本发明实施例提供的服务接口的监控方法,通过入口方法获得服务接口的接口信息,通过检索服务接口平台获得服务接口的状态信息,通过状态信息和接口信息确定服务接口的当前执行情况。进一步地,通过在图形界面上展示关系树,不但能直观地获得服务接口之间的依赖关系,而且能直观地获得在那个服务接口阻塞,从而快速地定位到问题。
【附图说明】
[0019]通过参照以下附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
[0020]图1是根据本发明实施例的服务接口的监控方法的流程图;
[0021]图2是根据本发明实施例的服务接口的关系树的示意图;
[0022]图3是根据本发明实施例的服务接口的监控系统的结构图。
【具体实施方式】
[0023]以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
[0024]附图中的流程图、框图图示了本发明实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个模块、程序段或仅仅是一段代码,所述模块、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的模块和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。
[0025]图1是根据本发明实施例的服务接口的监控方法的流程图。所述监控方法包括步骤 101-106。
[0026]在步骤101中,根据用户请求获取入口方法。
[0027]当应用系统启动后,用户通过业务系统的客户端提交用户请求。在本步骤中获取用户请求,从中获得入口方法。在java应用系统中,可以采用以下手段获得入口方法:通过配置spring拦截器,拦截用户发出的请求,找到用户本次请求的入口方法。
[0028]在步骤102,根据入口方法获得第2级的服务接口。
[0029]在java应用系统中,通过java反射机制,找到入口方法的控制层中所有的实例变量,在spring容器中,找到这些实例变量,检查它是否为服务接口。这里,服务接口为外部应用提供给本系统的接口服务,例如,jsf服务或者webservice服务。服务接口存储在服务接口平台上,便于集中管理所有的服务接口。服务接口平台可以设置为服务器或者集群管理,如zookeeper集群。向服务接口平台提交查询请求,并将检索到的服务接口状态和服务接口名称存储到缓存云中。
[0030]JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
[0031 ]在步骤103,获得第2级的服务接口的接口信息和接口状态。
[0032]在本步骤中,通过向服务接口平台提交查询请求,获得服务接口状态。服务接口平台上存储有公共服务接口,用于向其他应用系统提供访问的接口。服务接口平台可以采集服务接口的接口状态供应用系统检索,或者每次应用系统提交查询请求时,服务接口平台访问对应的服务接口获得其接口当前的状态。接口状态包括正常和异常两种,正常的接口为能够提供服务的接口。同时,通过java的反射机制,获得每个服务接口的接口信息,如,类名称,类方法和成员名称,父类。或者可以设置配置服务,通过配置服务设置每个服务接口的接口信息,通过接口名称检索配置服务获得接口信息。
[0033]在步骤104,是否已获取所有的服务接口。
[0034]判断当前的接口是否不再包含新的接口,如果是,则方法结束,如果否,执行步骤105。
[0035]在步骤105,根据第η级服务接口获得第n+1级服务接口。
[0036]在本步骤中,通过java的反射机制获得当前的服务接口里包含的所有实例方法,判断每个实例方法是否为服务接口。本步骤和步骤102的步骤类似,这里就不再赘述。
[0037]在步骤106,获得第η+1级的服务接口的接口信息和接口状态。
[0038]在本步骤中,通过java的反射机制,能够获得每个服务接口的接口信息,如,类名称,类方法和成员名称,父类。或者可以设置配置服务,通过配置服务设置每个服务接口的接口信息,通过接口名称检索配置服务获得接口信息。向服务接口平台提交查询请求,获得第η+1级服务接口的接口状态。
[0039]本发明实施例提供的服务接口的监控方法,通过入口方法获得服务接口的接口信息,通过检索服务接口平台获得服务接口的状态信息,通过状态信息和接口信息确定服务接口的当前执行情况。进一步地,通过在图形界面上展示关系树,不但能直观地获得服务接口之间的依赖关系,而且能直观地获得在那个服务接口阻塞,从而快速地定位到问题。
[0040]在优选的实施例中,上述服务接口的关系树通过键值对的数据结构存储,服务接口的具体信息另外存储在哈希表中,根据服务接口的标识检索哈希表去获取服务接口的具体信息。
[0041]在另一个优选的实施例中,上述监控方法还包括:构建服务节点的依赖关系的关系树;以及通过图形界面显示关系树。如图2所示。在图2中,嵌套map中的key为服务接口的名称,通过不同颜色表示服务接口的状态,点击服务接口,显示服务接口的接口信息。应注意,在图2中,有两种不同的颜色表示正常和异常两种状态。当前一个服务接口状态异常时,后一个服务接口已表示为异常,因为系统已经阻塞到当前的服务接口上了。
[0042]图3是根据本发明实施例的服务接口的监控系统的结构图。在图3中,服务接口的监控系统包括:请求获取单元301、接口获取单元302和信息获取单元303。
[0043]请求获取单元301根据用户请求获取入口方法作为第I级服务接口;
[0044]接口获取单元302多次执行根据η级服务接口获取第n+1级的服务接口的步骤,直至获得所有的服务接口 ;
[0045]信息获取单元303获得I级到第η级的服务接口的接口信息和接口状态,其中,第η级的服务接口和第n+1级的服务接口为调用关系,η为大于等于I的整数。
[0046]在一个优选的实例中,请求获取单元301通过配置spring拦截器,拦截用户请求,从用户请求中找到入口方法。
[0047]在一个优选的实例中,接口获取单元302被配置为:提取第η级服务接口的涉及的所有的实例方法,判断每一实例方法是否为服务接口;以及从确定为服务接口的实例方法作为第n+1级服务接口。其中,将在spring容器中配置的实例方法作为服务接口。
[0048]在一个优选的实例中,信息获取单元303通过java的反射机制获得所述服务接口的接口信息,检索接口服务平台获得服务接口的服务状态。
[0049]在一个优选的实例中,通过嵌套map存储第I级到第η级服务接口的服务信息和接口状态。
[0050]在一个优选的实例中,还包括监控显示界面,构建服务节点的依赖关系的关系树;以及通过图形界面显示关系树。并通过不同的颜色表示所示服务节点的状态信息。
[0051]系统的各个模块或单元可以通过硬件、固件或软件实现。软件例如包括采用JAVA、C/C++/C#、SQL等各种编程语言形成的编码程序。虽然在方法以及方法图例中给出本发明实施例的步骤以及步骤的顺序,但是所述步骤实现规定的逻辑功能的可执行指令可以重新组合,从而生成新的步骤。所述步骤的顺序也不应该仅仅局限于所述方法以及方法图例中的步骤顺序,可以根据功能的需要随时进行调整。例如将其中的某些步骤并行或按照相反顺序执行。
[0052]根据本发明的系统和方法可以部署在单个或多个服务器上。例如,可以将不同的模块分别部署在不同的服务器上,形成专用服务器。或者,可以在多个服务器上分布式部署相同的功能单元、模块或系统,以减轻负载压力。所述服务器包括但不限于在同一个局域网以及通过Internet连接的多个PC机、PC服务器、刀片机、超级计算机等。
[0053]以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种服务接口的监控方法,包括: 根据所述用户请求获取入口方法作为第I级服务接口 ; 重复执行根据所述η级服务接口获取第n+1级的服务接口的步骤,直至获得所有的服务接口; 获得所述I级到第η级的服务接口的接口信息和接口状态; 其中,所述第η级的服务接口和所述第n+1级的服务接口为调用关系,所述η为大于等于I的整数。2.根据权利要求1所述的监控方法,其中,所述根据所述用户请求获取入口方法包括: 配置spring拦截器,拦截用户请求;以及 从所述用户请求中找到所述入口方法。3.根据权利要求2所述的监控方法,所述根据所述η级服务接口获取第n+1级的服务接口包括: 提取所述第η级服务接口的涉及的所有的实例方法; 判断每一所述实例方法是否为服务接口 ;以及 从确定为服务接口的所述实例方法作为所述第n+1级服务接口。4.根据权利要求3所述的监控方法,其中,所述判断每一所述实例方法是否为服务接口包括: 将在spring容器中配置的所述实例方法作为服务接口。5.根据权利要求1所述的监控方法,其中,所述获得所述I级到第η级的服务接□的接口信息和接口状态包括: 通过java的反射机制获得所述服务接口的接口信息;以及 检索接口服务平台获得所述服务接口的服务状态。6.根据权利要求1至5所述的监控方法,还包括:通过嵌套map存储所述第I级到第η级服务接口的服务信息和接口状态。7.根据权利要求1所述的监控方法,还包括:构建所述服务节点的依赖关系的关系树;以及通过图形界面显示所述关系树。8.根据权利要求7所述的监控方法,其中,通过不同的颜色表示所示服务节点的状态信息。9.根据权利要求1所述的监控方法,还包括:通过配置服务获取所述服务接口的接口信息。10.一种服务接口的监控系统,包括: 请求获取单元,用于根据所述用户请求获取入口方法作为第I级服务接口 ; 接口获取单元,用于多次执行根据所述η级服务接口获取第n+1级的服务接口的步骤,直至获得所有的服务接口 ; 信息获取单元,用于获得所述I级到第η级的服务接口的接口信息和接口状态,其中,所述第η级的服务接□和所述第n+1级的服务接□为调用关系,所述η为大于等于I的整数。11.根据权利要求10所述的监控系统,还包括:监控显示界面,用于构建所述服务节点的依赖关系的关系树;以及通过图形界面显示所述关系树。12.根据权利要求11所述的监控系统,还包括:配置界面,用于配置所述信息获取单元 获取的接口信息。
【文档编号】G06F11/30GK106021068SQ201610366179
【公开日】2016年10月12日
【申请日】2016年5月27日
【发明人】田红悦
【申请人】北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1