CN110413486A - 监控系统内部调用链路的方法、装置及介质 - Google Patents

监控系统内部调用链路的方法、装置及介质 Download PDF

Info

Publication number
CN110413486A
CN110413486A CN201810402505.9A CN201810402505A CN110413486A CN 110413486 A CN110413486 A CN 110413486A CN 201810402505 A CN201810402505 A CN 201810402505A CN 110413486 A CN110413486 A CN 110413486A
Authority
CN
China
Prior art keywords
link
calling
request
module
methods
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
CN201810402505.9A
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201810402505.9A priority Critical patent/CN110413486A/zh
Publication of CN110413486A publication Critical patent/CN110413486A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • 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/3409Recording 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 for performance assessment
    • G06F11/3419Recording 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 for performance assessment by assessing time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本公开提供了一种监控系统内部链路的方法,包括:响应于请求,调用一个或多个方法处理所述请求,所述一个或多个方法形成调用链路;监控所述一个或多个方法在处理所述请求时所消耗的时长;如果所述一个或多个方法在处理所述请求时所消耗的时长的总和大于报警阈值时,触发所述调用链路的报警。本公开还提供了一种监控系统内部调用链路的装置及介质。

Description

监控系统内部调用链路的方法、装置及介质
技术领域
本公开涉及互联网技术领域,尤其涉及一种监控系统内部链路的方法、装置及介质。
背景技术
随着业务系统的飞快发展,各个系统中调用链路错综复杂。例如,在京东商城的11.11和6.18的大促期间,业务系统的流量相当于平时数十倍。若此时调用链路消耗时间过长,此时服务器吞吐量和性能的指数级下降,最终甚至会导致服务器宕机。针对该现象,现有技术是通过采用JDK的堆栈技术、zookeeper的分布式协同技术、hbase的存储技术和ASM技术解决由于调用链路消耗时间过长导致的服务器吞吐量和性能的指数级下降甚至服务器宕机的问题。但是,在实现本发明构思的过程中,发明人发现现有技术中至少存在如下问题:现有技术只是依赖于监控各个系统的上下游调用链路信息,而并不没有监控系统内部调用链路的信息。
发明内容
针对上述的技术问题,本公开提供一种监控系统内部调用链路的方法、装置及介质,进而至少在一定程度上部分解决了由于相关技术的限制和缺陷而导致的一个或者多个问题。
本公开提供了一种监控系统内部链路的方法,包括:响应于请求,调用一个或多个方法处理所述请求,所述一个或多个方法形成调用链路;监控所述一个或多个方法在处理所述请求时所消耗的时长;如果所述一个或多个方法在处理所述请求时所消耗的时长的总和大于报警阈值时,触发所述调用链路的报警。
根据本公开的实施例,上述方法还包括:根据所述一个或多个方法在处理所述请求时所消耗的时长,定位触发所述调用链路的报警原因;针对所述报警原因,设置所述调用链路的接口。
根据本公开的实施例,针对所述报警原因,设置所述调用链路的接口包括:对所述调用链路的接口进行降级,使得与所述请求相同或相似的全部或部分请求停止响应;或者通过所述调用链路的接口返回托底数据,所述托底数据包括通过所述调用链路的接口在预设时间段前返回的数据。
根据本公开的实施例,在响应于请求之前,上述方法还包括:开启对所述调用链路的监控功能;以及对所述调用链路进行配置,得到所述调用链路的参数。
根据本公开的实施例,所述参数包括以下任意一种或多种:调用链路的接口状态、调用链路的报警阈值、调用链路的淘汰策略和调用链路的报警的方式。
根据本公开的实施例,上述方法还包括将所述调用链路的参数同步到所述系统内部的服务器或服务器集群。
根据本公开的实施例,上述方法还包括记录形成所述调用链路的开始时间和结束时间。
根据本公开的实施例,记录形成所述调用链路的开始时间和结束时间包括记录所述调用一个或多个方法的开始时间和结束时间。
本公开的另一个方面提供了一种监控系统内部调用链路的装置,包括:调用模块,用于响应于请求,调用一个或多个方法处理所述请求,所述一个或多个方法形成调用链路;监控模块,用于监控所述一个或多个方法在处理所述请求时所消耗的时长;报警模块,如果所述一个或多个方法在处理所述请求时所消耗的时长的总和大于报警阈值时,触发所述调用链路的报警。
根据本公开的实施例,上述装置还包括:定位模块,用于根据所述一个或多个方法在处理所述请求时所消耗的时长,定位触发所述调用链路的报警原因;设置模块,用于针对所述报警原因,设置所述调用链路的接口。
根据本公开的实施例,上述设置模块包括:降低模块,用于对所述调用链路的接口进行降级,使得与所述请求相同或相似的全部或部分请求停止响应;或者返回模块,用于通过所述调用链路的接口返回托底数据,所述托底数据包括通过所述调用链路的接口在预设时间段前返回的数据。
根据本公开的实施例,在执行调用模块之前,上述装置还包括:开启模块,用于开启对所述调用链路的监控功能;以及配置模块,用于对所述调用链路进行配置,得到所述调用链路的参数。
根据本公开的实施例,所述参数包括以下任意一种或多种:调用链路的接口状态、调用链路的报警阈值、调用链路的淘汰策略和调用链路的报警的方式。
根据本公开的实施例,上述装置还包括同步模块,用于将所述调用链路的参数同步到所述系统内部的服务器或服务器集群。
根据本公开的实施例,上述装置还包括记录模块,用于记录形成所述调用链路的开始时间和结束时间。
根据本公开的实施例,所述记录模块还用于记录所述调用一个或多个方法的开始时间和结束时间。
本公开的另一方面提供了一种监控系统内部链路的装置。所述装置包括一个或多个处理器,以及存储装置。所述存储装置用于存储一个或多个程序。其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的用于监控系统内部调用链路的方法。
本公开的另一方面提供了一种计算机可读介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述的监控系统内部链路的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的监控系统内部链路的方法。
根据本公开的实施例,可以至少部分地解决现有技术依赖于监控各个系统的上下游调用链路信息,而并不没有监控系统内部调用链路的信息的问题,并因此可以实现监控系统内部的调用链路的技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
图1示意性示出了根据本公开实施例的监控系统内部调用链路的方法的流程图;
图2示意性示出了根据本公开另一实施例的监控系统内部调用链路的方法的流程图;
图3A和图3B示意性示出了根据本公开实施例的针对报警原因对调用链路接口设置的流程图;
图4示意性示出了根据本公开实施例的监控系统内部调用链路的装置的框图;
图5示意性示出了根据本公开另一实施例的监控系统内部调用链路的装置的框图;
图6示意性示出了根据本公开另一实施例的监控系统内部调用链路的装置的框图;
图7示意性示出了根据本公开另一实施例的监控系统内部调用链路的装置的框图;以及
图8示意性示出了根据本公开实施例的监控系统内部调用链路的计算机系统的方框图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种监控系统内部链路的方法和装置以及介质和计算设备。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
图1示意性示出了根据本公开实施例的监控系统内部调用链路的方法的流程图。
如图1所示,该方法包括步骤S101~步骤S103。
在步骤S101中,响应于请求,调用一个或多个方法处理所述请求,所述一个或多个方法形成调用链路。
在步骤S102中,监控所述一个或多个方法在处理所述请求时所消耗的时长。
在步骤S103中,如果所述一个或多个方法在处理所述请求时所消耗的时长的总和大于报警阈值时,触发所述调用链路的报警。
该方法通过监控一个或多个方法在处理请求时所消耗的时长来解决现有技术无法监控系统内部调用链路的问题,以及如果一个或多个方法在处理请求时所消耗的时长的总和大于报警阈值时,触发该调用链路的报警,以此方式可以在服务器或服务器集群的性能达到瓶颈前提前报警。
根据本公开的实施例,监控系统内部可以包括一个或多个服务器,或者一个或多个服务器集群。服务器或服务器集群可以包括用于响应请求的服务器或服务器集群。具体地,服务器或服务器集群可以是用于调用一个或多个方法处理该请求的服务器或服务器集群。其中,一个方法或多个方法可以形成监控系统内部的调用链路。
根据本公开的实施例,请求可以是用户的下单请求、查询商品请求、订单退款请求、订单物流查询请求、商品加入购物车请求、设置登录密码请求、收货地址设置请求。当然,请求也可以是监控系统服务器集群间的请求,例如,服务器集群间的数据调用请求等等,但不限于此。
在本公开的一些实施例中,在监控系统接收到请求之后,通过调用监控系统内部的一个或多个方法来处理该请求。其中,一个或多个方法可以形成监控系统内部的调用链路。例如,请求是查询商品请求,从监控系统内部调用处理查询商品请求的一个或多个方法。一个或多个方法可以包括搜索商品名称的方法、搜索商品库存的方法、搜索商品介绍的方法等等。
根据本公开的实施例,当监控系统内部的服务器或服务器集群响应请求所消耗的时间大于报警阈值时,触发调用链路的报警程序,或者也可以是触发调用链路的报警装置,例如报警器。
图2示意性示出了根据本公开实施例的监控系统内部调用链路的方法的流程图。
如图2所示,除了图1实施例描述的步骤S101~步骤S103之外,该方法还包括步骤S201和步骤S202。
在步骤S201中,根据所述一个或多个方法在处理所述请求时所消耗的时长,定位触发所述调用链路的报警原因。
在步骤S202中,针对所述报警原因,设置所述调用链路的接口。
该方法在触发调用链路的报警之后,可以通过查询处理请求时调用每个方法所消耗的时长,从而可以定位到是在调用哪个方法时出现了延迟问题,以此方式可以及时对有延迟问题的方法进行修改,从而保证了线上服务器或服务器集群可以稳定运行。
在本公开的一些实施例中,将引起报警的相关数据(例如,调用方法处理请求时所消耗的时长大于报警阈值的数据)存储到特定的数据库,当警报解除时从所述特定数据库将该数据删除,这样可以方便找出引起报警的源头。
根据本公开的实施例,响应请求所消耗的时间可以包括用于调用一个或多个方法处理该请求所消耗的时长的总和。例如,服务器或服务器集群响应请求所消耗的时间为10s。处理该请求例如调用了三个方法,并由所述三个方法形成调用链路。服务器或服务器集群在调用所述三个方法时分别耗时为2.5s、2.5s、5s。在这种情况下,可以根据调用所述三个方法时所消耗的时长,即2.5s、2.5s、5s,定位触发调用链路的报警原因,并针对该报警原因设置该调用链路的接口,以确定服务器或服务器集群可以正常运行。
根据本公开的实施例,上述方法还包括记录形成调用链路的开始时间和结束时间。例如,监控系统接收请求的时间为10:00,可以将接收请求的时间作为形成调用链路的开始时间,也可以将在接收用户请求之后的0.5s或1s的时间作为形成调用链路的开始时间。具体可以根据监控系统内部的服务器或服务器集群的性能来设定。例如,服务器或服务器集群的性能较好,那么形成调用链路的开始时间可以为接收请求的时间,即10:00,结束时间可以为10:05,进而实现了监控内部调用链路的有益效果。
根据本公开的实施例,记录形成调用链路的开始时间和结束时间可以包括记录调用一个或多个方法的开始时间和结束时间。例如,请求是查询商品请求,从监控系统内部调用一个或多个方法处理该查询商品请求,并形成调用链路。在本公开的一些实施例中,一个或多个方法可以包括搜索商品名称的方法、搜索商品库存的方法、搜索商品介绍的方法。在这种情况下,监控系统可以是监控系统内部形成链路的开始时间和结束时间。具体地,可以是监控处理该查询商品请求时调用搜索商品名称的方法、搜索商品库存的方法、搜索商品介绍的方法的开始时间和结束时间。以此方式可以详细的记录调用每个方法的时间,进一步的方便了后续根据每个方法所消耗的时间可以及时的定位出该调用链路的报警原因。
参考图3A和图3B,上述方法中的步骤S202包括步骤S301或者步骤S302。
如图3A所示,该方法包括步骤S101、步骤S102、步骤S103、步骤S201和步骤S301。
在步骤S101中,响应于请求,调用一个或多个方法处理所述请求,所述一个或多个方法形成调用链路。
在步骤S102中,监控所述一个或多个方法在处理所述请求时所消耗的时长。
在步骤S103中,如果所述一个或多个方法在处理所述请求时所消耗的时长的总和大于报警阈值时,触发所述调用链路的报警。
在步骤S201中,根据所述一个或多个方法在处理所述请求时所消耗的时长,定位触发所述调用链路的报警原因。
在步骤S301中,针对所述报警原因,对所述调用链路的接口进行降级,使得与所述请求相同或相似的全部或部分请求停止响应。
在该方法中,如果一个或多个方法在处理请求时所消耗的时长的总和大于报警阈值时,触发调用链路的报警,在这种情况下,可以针对报警原因,对调用链路的接口进行降级,使得与该请求相同或相似的全部或部分请求停止响应,以此方式可以有效地的降低服务器或服务器集群的压力。尤其是在接收请求的数量超过了服务器或服务器集群所承受的最大数量时,采用对调用链路的接口进行降级的方式可以有效的避免服务器或服务器集群宕机。
应当理解的是,与上述请求相同或相似的全部或部分请求可以指与处理上述请求所调用的方法相同的其他请求,即与该请求相同的请求。或者可以指与在处理上述请求时所调用的方法相似,例如多个方法中存在与其相同的部分方法的其他请求,即与该请求相似的请求。
在本公开的一些实施例中,如果与上述请求相同或相似的其他请求的数量超出一定数量时,可能会导致监控系统在调用方法处理请求时延迟。在这种情况下,可以通过触发调用链路的报警程序或报警装置来报警,并针对该延迟现象进行处理,具体地,可以根据处理该请求所调用的每个方法所消耗的时间,对该调用链路的接口进行降级,使得与该请求相同或相似的全部或部分请求停止响应。
根据本公开的实施例,对该调用链路的接口进行降级,具体可以根据当前服务器或服务器运行的状况对该调用链路的接口进行百分比降级。例如,如果服务器或服务器集群面临宕机的危险,此时应该对该调用链路的接口进行百分之百的降级,这样使得与请求相同或相似的全部请求停止响应,从而避免了服务器或服务器集群出现宕机。例如,如果服务器或服务器集群的当前运行速度比之前的速度慢了0.5s,此时应该对该调用链路的接口进行百分三十、百分之二十或百分之十的降级,这样使得与请求相同或相似的部分请求停止响应,以此方式可以保证一些热门请求可以正常执行。热门请求例如可以是京东商城的电器查询请求,相对应被停止的请求可以是冷门请求,例如可以是书籍查询请求,在这种情况下,为了满足大多数用户的请求可以停止执行一些冷门请求,从而提高了用户体验。
如图3B所示,该方法包括步骤S101、步骤S102、步骤S103、步骤S201和步骤S302。
在步骤S101中,响应于请求,调用一个或多个方法处理所述请求,所述一个或多个方法形成调用链路。
在步骤S102中,监控所述一个或多个方法在处理所述请求时所消耗的时长。
在步骤S103中,如果所述一个或多个方法在处理所述请求时所消耗的时长的总和大于报警阈值时,触发所述调用链路的报警。
在步骤S201中,根据所述一个或多个方法在处理所述请求时所消耗的时长,定位触发所述调用链路的报警原因。
在步骤S302中,通过所述调用链路的接口返回托底数据,所述托底数据包括通过所述调用链路的接口在预设时间段前返回的数据。
在该方法中,如果一个或多个方法在处理请求时所消耗的时长的总和大于报警阈值时,触发调用链路的报警,在这种情况下,可以针对报警原因,通过调用链路的接口返回托底数据,该托底数据包括通过调用链路的接口在预设时间段前返回的数据。例如,如果该请求是用户在对终端的网页操作时的请求,以上述方式返回托底数据可以使得用户及时在终端的网页浏览器上浏览到与该请求相关的数据,这样可以减少用户的等待时间,从而避免了给用户造成了好的体验。
在本公开的一些实施例中,托底数据可以包括与用户请求对应的接口在预设时间段前发送的数据。例如,用户请求是查询商品请求,托底数据可以是与该商品相关的数据。具体的可以是服务器或服务器集群十分钟前返回的与该商品相关的数据,例如,十分钟前返回的该商品的库存数据。此时的库存数据可能不够准确,但是至少用户及时的浏览到了与该商品相关的数据,在一定程度上降低了给用户留下不好体验的指数。
根据本公开的实施例,在执行步骤S101之前,该方法还包括开启对所述调用链路的监控功能;对所述调用链路进行配置,得到所述调用链路的参数。
在本公开的一些实施例中,在响应于请求之前,需开启处理该请求调用方法时形成的调用链路的接口的监控功能。用于监控调用方法的时间,也可以理解为监控响应该请求的时间。
在本公开的一些实施例中,上述参数可以包括以下任意一种或多种。例如,调用链路的接口状态、调用链路的报警阈值、调用链路的淘汰策略和调用链路的报警的方式。
根据本公开的实施例,调用链路的接口状态可以指调通链路接口的开启状态或者关闭状态。一般地,监控系统内部默认所有的调用链路的接口都处于关闭状态,在本公开的一些实施例中,被监控的调用链路的接口被配置为开启状态,这样方便记录形成调用链路的开始时间和结束时间。例如,被监控的调用链路的接口可以是热门请求的链路接口,相反,不被监控的链路接口可以是冷门请求的接口。例如,热门请求可以是京东商城的电器查询请求,冷门请求可以是书籍查询请求。以此方式只对热门请求进行监控是为了减轻服务器或服务器集群的运行压力。
根据本公开的实施例,报警阈值可以根据实际情况配置,例如,可以根据服务器或服务器集群的性能配置报警阈值。例如,报警阈值可以是5s、6s、7s等等,但不限于此。
根据本公开的实施例,调用链路的淘汰策略可以包括但不限于先进先出策略或优先级策略。服务器或服务器集群可以按照先进先出策略或优先级策略来淘汰请求。例如,监控的链路接口同一时刻接收到100个请求,监控系统可以按照先进先出策略对100个请求依次监控,也可以是按照优先级策略对100个请求中的优先级请求进行监控。例如,100个请求可以是电器查询请求,优先级请求可以是100个电器查询请求中比较热销电器的电器查询请求,因此被优先监控,如果监控到响应优先级请求所耗时长大于报警阈值,触发调用链路的报警,针对报警原因可以对调用链路的接口进行降级或返回托底数据,这样可以提高电器的销量。
根据本公开的实施例,调用链路的报警方式可以包括但不限于发送邮件的方式、发送短信的方式、通过聊天软件发送振动的方式、生成一个带有文字提醒的窗口。通过这些方式使得与所述服务器或服务器集群相关的人员可以及时的优化代码,保证了线上服务器或服务器集群的稳定运行。
根据本公开的实施例,在配置参数后,该方法还包括将所述调用链路的参数同步到所述系统内部的服务器或服务器集群。这样方便监控系统中每台服务器都可以使用这些参数,无需人工对其进行配置,节省了人力成本。
下面通过一个具体的应用场景对上述方法进行详细的描述。
应用场景:6.18属于京东商城的大型促销活动,在此期间需要对京东商城的后台服务器或服务器集群进行配置。具体地,可以对促销活动期间的热销商品的相关接口进行监控,如果在此期间该接口出现了数据拥挤或其他情况,以此方式可以快速的定位到问题具体原因,并针对该问题进行弥补,以免给用户留下不好的印象。例如,在促销期间京东商城的热销商品是家用电器,此时京东商城的后台监控系统监控相关的链路接口。这样可以根据监控到的时间信息来判断调用一个或多个方法处理用户请求所消耗的时长是否大于报警阈值,如果大于报警阈值,触发调用链路的报警程序或报警装置。报警之后可以以发送邮件的形式提醒相关人员,这样能够及时的优化引起报警的代码,保证了服务器或服务器集群可以稳定的运行。服务器或服务器集群也可以根据调用一个或多个方法所消耗的时长对该调用链路的接口进行降级或返回托底数据,避免了服务器或服务器集群宕机。
图4示意性示出了根据本公开实施例的监控系统内部链路的装置的框图。
如图4所示,监控系统内部调用链路的装置400包括调用模块410、监控模块420和报警模块430。
调用模块410用于响应于请求,调用一个或多个方法处理所述请求,所述一个或多个方法形成调用链路。
监控模块420用于监控所述一个或多个方法在处理所述请求时所消耗的时长。
报警模块430用于如果所述一个或多个方法在处理所述请求时所消耗的时长的总和大于报警阈值时,触发所述调用链路的报警。
根据本公开的实施例,监控系统内部调用链路的装置400用于实现图1描述的监控系统内部调用链路的方法。
该装置400通过监控一个或多个方法在处理请求时所消耗的时长来解决现有技术无法监控系统内部调用链路的问题,以及如果一个或多个方法在处理请求时所消耗的时长的总和大于报警阈值时,触发该调用链路的报警,以此方式可以在服务器或服务器集群的性能达到瓶颈前提前报警。
图5示意性示出了根据本公开另一实施例的监控系统内部链路的装置的框图。
如图5所示,除了图4实施例描述的调用模块410、监控模块420和报警模块430之外,装置500还包括定位模块510和设置模块520。
定位模块510用于根据所述一个或多个方法在处理所述请求时所消耗的时长,定位触发所述调用链路的报警原因。
设置模块520用于针对所述报警原因,设置所述调用链路的接口。
根据本公开的实施例,监控系统内部调用链路的装置500用于实现图2描述的监控系统内部调用链路的方法。
该装置500在触发调用链路的报警之后,可以通过查询处理请求时调用每个方法所消耗的时长,从而可以定位是在调用哪个方法时出现了延迟问题,以此方式可以及时对有延迟问题的方法进行修改,从而保证了线上服务器或服务器集群可以稳定运行。
图6示意性示出了根据本公开另一实施例的监控系统内部链路的装置的框图。
如图6所示,图5实施例中的设置模块520包括降级模块610或者返回模块620。
降级模块510用于对所述调用链路的接口进行降级,使得与所述请求相同或相似的全部或部分请求停止响应;或者
返回模块520用于通过所述调用链路的接口返回托底数据,所述托底数据包括通过所述调用链路的接口在预设时间段前返回的数据。
根据本公开的实施例,包括降级模块610和返回模块620的装置500可以用于实现图3A和图3B中所述的监控系统内部调用链路的方法。
图7示意性示出了根据本公开另一实施例的监控系统内部链路的装置的框图。
如图7所示,除了图4实施例描述的调用模块410、监控模块420和报警模块430之外,监控系统内部调用链路的装置700还包括开启模块710、配置模块720、同步模块730和记录模块740。
开启模块710用于开启对所述调用链路的监控功能。
配置模块720用于对所述调用链路进行配置,得到所述调用链路的参数。
同步模块730用于将所述调用链路的参数同步到所述系统内部的服务器或服务器集群。
记录模块740用于记录形成所述调用链路的开始时间和结束时间。
可以理解的是,调用模块410、监控模块420和报警模块430、定位模块510、设置模块520、降级模块610、返回模块620、开启模块710、配置模块720、同步模块730、以及记录模块740可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,调用模块410、监控模块420和报警模块430、定位模块510、设置模块520、降级模块610、返回模块620、开启模块710、配置模块720、同步模块730、以及记录模块740中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,调用模块410、监控模块420和报警模块430、定位模块510、设置模块520、降级模块610、返回模块620、开启模块710、配置模块720、同步模块730、以及记录模块740中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
图8示意性示出了根据本公开实施例的监控系统内部调用链路的计算机系统的方框图。图8示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,根据本公开实施例的监控系统内部链路的计算机系统800包括处理器801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行参考图1~图3B描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 803中,存储有系统800操作所需的各种程序和数据。处理器801、ROM 802以及RAM 803通过总线804彼此相连。处理器801通过执行ROM802和/或RAM803中的程序来执行以上参考图1~图3B描述的监控系统内部调用链路的各种步骤。需要注意,该程序也可以存储在除ROM 802和RAM 803以外的一个或多个存储器中。处理器801也可以通过执行存储在该一个或多个存储器中的程序来执行以上参考图1~图3B描述的监控系统内部调用链路的各种步骤。
根据本公开的实施例,系统800还可以包括输入/输出(I/O)接口807,输入/输出(I/O)接口807也连接至总线804。系统800还可以包括连接至I/O接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
根据本公开的实施例,上文参考流程图描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。根据本公开的实施例,计算机可读介质可以包括上文描述的ROM802和/或RAM 803和/或ROM 802和RAM 803以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行根据本公开实施例的监控系统内部链路的方法。该方法包括:响应于请求,调用一个或多个方法处理所述请求,所述一个或多个方法形成调用链路;监控所述一个或多个方法在处理所述请求时所消耗的时长;如果所述一个或多个方法在处理所述请求时所消耗的时长的总和大于报警阈值时,触发所述调用链路的报警。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (18)

1.一种监控系统内部调用链路的方法,包括:
响应于请求,调用一个或多个方法处理所述请求,所述一个或多个方法形成调用链路;
监控所述一个或多个方法在处理所述请求时所消耗的时长;
如果所述一个或多个方法在处理所述请求时所消耗的时长的总和大于报警阈值时,触发所述调用链路的报警。
2.根据权利要求1所述的方法,还包括:
根据所述一个或多个方法在处理所述请求时所消耗的时长,定位触发所述调用链路的报警原因;
针对所述报警原因,设置所述调用链路的接口。
3.根据权利要求1所述的方法,其中,针对所述报警原因,设置所述调用链路的接口包括:
对所述调用链路的接口进行降级,使得与所述请求相同或相似的全部或部分请求停止响应;或者
通过所述调用链路的接口返回托底数据,所述托底数据包括通过所述调用链路的接口在预设时间段前返回的数据。
4.根据权利要求1所述的方法,其中,在响应于请求之前,该方法还包括:
开启对所述调用链路的监控功能;以及
对所述调用链路进行配置,得到所述调用链路的参数。
5.根据权利要求4所述的方法,其中,所述参数包括以下任意一种或多种:调用链路的接口状态、调用链路的报警阈值、调用链路的淘汰策略和调用链路的报警的方式。
6.根据权利要求4所述的方法,还包括:
将所述调用链路的参数同步到所述系统内部的服务器或服务器集群。
7.根据权利要求1所述的方法,还包括:
记录形成所述调用链路的开始时间和结束时间。
8.根据权利要求7所述的方法,其中,记录形成所述调用链路的开始时间和结束时间包括:
记录所述调用一个或多个方法的开始时间和结束时间。
9.一种监控系统内部调用链路的装置,包括:
调用模块,用于响应于请求,调用一个或多个方法处理所述请求,所述一个或多个方法形成调用链路;
监控模块,用于监控所述一个或多个方法在处理所述请求时所消耗的时长;
报警模块,如果所述一个或多个方法在处理所述请求时所消耗的时长的总和大于报警阈值时,触发所述调用链路的报警。
10.根据权利要求9所述的装置,还包括:
定位模块,用于根据所述一个或多个方法在处理所述请求时所消耗的时长,定位触发所述调用链路的报警原因;
设置模块,用于针对所述报警原因,设置所述调用链路的接口。
11.根据权利要求9所述的装置,其中,设置模块包括:
降低模块,用于对所述调用链路的接口进行降级,使得与所述请求相同或相似的全部或部分请求停止响应;或者
返回模块,用于通过所述调用链路的接口返回托底数据,所述托底数据包括通过所述调用链路的接口在预设时间段前返回的数据。
12.根据权利要求9所述的装置,其中,在执行调用模块之前,该装置还包括:
开启模块,用于开启对所述调用链路的监控功能;以及
配置模块,用于对所述调用链路进行配置,得到所述调用链路的参数。
13.根据权利要求12所述的装置,其中,所述参数包括以下任意一种或多种:调用链路的接口状态、调用链路的报警阈值、调用链路的淘汰策略和调用链路的报警的方式。
14.根据权利要求12所述的装置,还包括:
同步模块,用于将所述调用链路的参数同步到所述系统内部的服务器或服务器集群。
15.根据权利要求9所述的装置,还包括:
记录模块,用于记录形成所述调用链路的开始时间和结束时间。
16.根据权利要求15所述的装置,其中,所述记录模块还用于:
记录所述调用一个或多个方法的开始时间和结束时间。
17.一种监控系统内部链路的装置,包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~8任意一项所述的方法。
18.一种计算机可读介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~8任意一项所述的方法。
CN201810402505.9A 2018-04-28 2018-04-28 监控系统内部调用链路的方法、装置及介质 Pending CN110413486A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810402505.9A CN110413486A (zh) 2018-04-28 2018-04-28 监控系统内部调用链路的方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810402505.9A CN110413486A (zh) 2018-04-28 2018-04-28 监控系统内部调用链路的方法、装置及介质

Publications (1)

Publication Number Publication Date
CN110413486A true CN110413486A (zh) 2019-11-05

Family

ID=68357395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810402505.9A Pending CN110413486A (zh) 2018-04-28 2018-04-28 监控系统内部调用链路的方法、装置及介质

Country Status (1)

Country Link
CN (1) CN110413486A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111478815A (zh) * 2020-04-13 2020-07-31 北京中指实证数据信息技术有限公司 网络性能监控方法及装置
CN113762906A (zh) * 2020-08-12 2021-12-07 北京沃东天骏信息技术有限公司 任务周期延迟的告警方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005067403A2 (en) * 2004-01-15 2005-07-28 Utstarcom Korea Limited Integrated alarm manager shared by multiple monitoring processes on an operation and maintenance processor
CN102739452A (zh) * 2012-06-28 2012-10-17 浪潮(北京)电子信息产业有限公司 资源监控方法和系统
CN105677466A (zh) * 2015-12-31 2016-06-15 百度在线网络技术(北京)有限公司 第三方应用接口的降级处理的方法和装置
CN107306196A (zh) * 2016-04-20 2017-10-31 中兴通讯股份有限公司 虚拟化服务监控方法和装置
CN107947990A (zh) * 2017-11-29 2018-04-20 佛山市因诺威特科技有限公司 一种集群安全报警处理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005067403A2 (en) * 2004-01-15 2005-07-28 Utstarcom Korea Limited Integrated alarm manager shared by multiple monitoring processes on an operation and maintenance processor
CN102739452A (zh) * 2012-06-28 2012-10-17 浪潮(北京)电子信息产业有限公司 资源监控方法和系统
CN105677466A (zh) * 2015-12-31 2016-06-15 百度在线网络技术(北京)有限公司 第三方应用接口的降级处理的方法和装置
CN107306196A (zh) * 2016-04-20 2017-10-31 中兴通讯股份有限公司 虚拟化服务监控方法和装置
CN107947990A (zh) * 2017-11-29 2018-04-20 佛山市因诺威特科技有限公司 一种集群安全报警处理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111478815A (zh) * 2020-04-13 2020-07-31 北京中指实证数据信息技术有限公司 网络性能监控方法及装置
CN111478815B (zh) * 2020-04-13 2023-04-28 北京中指实证数据信息技术有限公司 网络性能监控方法及装置
CN113762906A (zh) * 2020-08-12 2021-12-07 北京沃东天骏信息技术有限公司 任务周期延迟的告警方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
WO2020063846A1 (zh) 一种用于呈现寄宿程序的更新信息的方法与设备
US7912949B2 (en) Systems and methods for recording changes to a data store and propagating changes to a client application
CN111047243B (zh) 一种确定物流配送费用的方法和装置
CN110442608A (zh) 信息处理方法、装置、电子设备、介质及系统
CN109889586A (zh) 通信处理方法、装置、计算机可读介质及电子设备
CN109257320A (zh) 消息存储方法和装置
CN110427304A (zh) 用于银行系统的运维方法、装置、电子设备以及介质
CN110019087A (zh) 数据处理方法及其系统
US20180254962A1 (en) Augmenting functionality in distributed systems with payload headers
CN110413486A (zh) 监控系统内部调用链路的方法、装置及介质
CN110417888A (zh) 流量控制方法、流量控制装置和电子设备
CN110288331A (zh) 一种用于提供资源分配信息的方法与设备
US20180210804A1 (en) System and method for dynamic scaling of concurrent processing threads
CN107347093A (zh) 用于分布式服务器系统的配置方法和装置
CN105490835B (zh) 信息监控方法和装置
US20140365393A1 (en) Transportation capacity augmentation program methods, apparatuses and media
CN109981553A (zh) 访问控制方法及其系统、计算机系统和可读存储介质
CN110928594A (zh) 服务开发方法和平台
CN109862069A (zh) 消息处理方法和装置
CN109977982A (zh) 用户分类方法、系统、电子设备及计算机可读介质
CN109688174A (zh) 一种基于多代理商服务的虚拟业务实现方法和装置
CN109472659A (zh) 订单处理方法及系统
CN109144991A (zh) 动态分表的方法、装置、电子设备和计算机可存储介质
CN109831356A (zh) 数据处理方法、装置、系统、计算机可读存储介质
CN110276960A (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