CN112131013A - 分布式系统中调用链的监控方法、装置、设备及存储介质 - Google Patents

分布式系统中调用链的监控方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112131013A
CN112131013A CN201910554439.1A CN201910554439A CN112131013A CN 112131013 A CN112131013 A CN 112131013A CN 201910554439 A CN201910554439 A CN 201910554439A CN 112131013 A CN112131013 A CN 112131013A
Authority
CN
China
Prior art keywords
monitoring
node
distributed
message queue
identifier
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
CN201910554439.1A
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.)
SF Technology Co Ltd
SF Tech Co Ltd
Original Assignee
SF 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 SF Technology Co Ltd filed Critical SF Technology Co Ltd
Priority to CN201910554439.1A priority Critical patent/CN112131013A/zh
Publication of CN112131013A publication Critical patent/CN112131013A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种分布式系统中调用链的监控方法、装置、设备及存储介质。该方法包括:接收分布式请求,并根据预设的监控规则生成唯一对应分布式请求的监控标识;在分布式请求执行的每次调用中,调用节点将监控标识传递至被调用节点,其中,分布式请求的执行访问到消息队列时,通过消息队列传递监控标识;基于监控标识,生成分布式请求执行中被调用的各节点的监控信息,并将各监控信息发送至监控系统,使得监控系统能够根据监控标识获取监控信息。根据本申请实施例提供的技术方案,该方法使得当分布式请求的执行中调用到消息队列时,依然可以使用同一个监控标识标记消息队列之后被调用到的节点,并生成完整的调用链监控信息。

Description

分布式系统中调用链的监控方法、装置、设备及存储介质
技术领域
本申请一般涉及数据处理领域,尤其涉及一种分布式系统中调用链的监控方法、装置、设备及存储介质。
背景技术
现有分布式系统中,当一次分布式请求的执行中,调用到消息队列时,由于消息队列不能将分布式请求的监控标识传递到下一节点,从而导致消息队列之后被调用到的节点不能根据监控标识生成监控信息,进而导致不能使用同一监控标识标记一个分布式请求的调用链监控信息。
发明内容
鉴于现有技术在具有消息队列的分布式系统中不能使用同一监控标识标记一个分布式请求的调用链监控信息的问题,本申请提出了一种分布式系统中调用链的监控方法、装置、设备及存储介质,能够使得在具有消息队列的分布式系统中同一分布式请求可以使用同一个监控标识进行标记,并生成完整的调用链监控信息。
第一方面,本申请实施例提供了一种分布式系统中调用链的监控装置,应用于分布式系统,分布式系统包括若干节点和消息队列,该装置包括:
接收生成模块,用于接收分布式请求,并根据预设的监控规则生成唯一对应分布式请求的监控标识;
传递模块,用于在分布式请求执行的每次调用中,调用节点将监控标识传递至被调用节点,其中,分布式请求的执行访问到消息队列时,通过消息队列传递监控标识;
生成发送模块,用于基于监控标识,生成分布式请求执行中被调用的各节点的监控信息,并将各监控信息发送至监控系统,使得监控系统能够根据监控标识获取监控信息。
可选地,传递模块包括:
合并单元,用于消息队列的调用节点将监控标识合并到业务消息中,消息队列的调用节点为向消息队列写入业务消息的节点;
读取单元,用于消息队列的被调用节点从业务消息中读取监控标识,消息队列的被调用节点为从消息队列中读取业务消息的节点。
可选地,监控信息包括:监控标识、调用节点标识、被调用节点标识、发起调用的时间、收到响应的时间、被调用的时间、发出响应的时间。
可选地,生成发送模块还用于:
一次调用发生时,调用节点更新发起调用的时间和收到响应的时间,并将更新后的监控信息发送至监控系统;
被调用节点更新调用节点标识、被调用节点标识、被调用的时间和发出响应的时间,并将更新后的监控信息发送至监控系统。
第二方面,本申请实施例提供了一种分布式系统中调用链的监控装置,应用于监控系统,包括:
接收模块,用于接收每个分布式请求的执行中各节点的监控信息,监控信息包括根据消息队列传递的监控标识生成的相关节点的监控信息,监控标识为当分布式系统接收到接收分布式请求时,据预设的监控规则生成且唯一对应分布式请求;
存储模块,用于存储监控信息。
第三方面,本申请实施例提供了一种分布式系统中调用链的监控方法,应用于分布式系统,分布式系统包括若干节点和消息队列,包括:
接收分布式请求,并根据预设的监控规则生成唯一对应分布式请求的监控标识;
在分布式请求执行的每次调用中,调用节点将监控标识传递至被调用节点,其中,分布式请求的执行访问到消息队列时,通过消息队列传递监控标识;
基于监控标识,生成分布式请求执行中被调用的各节点的监控信息,并将各监控信息发送至监控系统,使得监控系统能够根据监控标识获取监控信息。
可选地,分布式请求的执行访问到消息队列时,通过消息队列传递监控标识包括:
消息队列的调用节点将监控标识合并到业务消息中,消息队列的调用节点为向消息队列写入业务消息的节点;
消息队列的被调用节点从业务消息中读取监控标识,消息队列的被调用节点为从消息队列中读取业务消息的节点。
第四方面,本申请实施例提供了一种分布式系统中调用链的监控方法,应用于监控系统,包括:
接收每个分布式请求的执行中各节点的监控信息,监控信息包括根据消息队列传递的监控标识生成的相关节点的监控信息,监控标识为当分布式系统接收到接收分布式请求时,据预设的监控规则生成且唯一对应分布式请求;
存储监控信息。
第五方面,本申请实施例提供了一种算机设备,设备包括:
一个或者多个处理器;
存储器,用于存储一个或者多个程序;
当一个或者多个程序被一个或者多个处理器执行时,使得一个或者多个处理器执行实现如权利要求第三方面和/或第四方面任一的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序用于:
计算机程序被处理器执行时实现如权利要求第三方面和/或第四方面任一的方法。
综上所述,本申请实施例提供的分布式系统中调用链的监控装置,接收分布式系统各节点发送的监控信息,并存储,该监控信息包括根据消息队列传递的监控标识生成的相关节点的监控信息;进一步地,由于在获取该监控信息时,通过将监控标识合并到业务消息中,从而在消息队列传递消息时,将监控标识也一起传递到下一节点;解决了现有监控系统不能接收到一个分布式请求的完整调用链监控信息,而导致无法查询到完整的调用链监控信息问题;进而使得在具有消息队列的分布式系统中查询监控信息时能够通过一个监控标识查询到整个调用链的监控信息。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,附图仅用于示出优选实施方法的目的,而并不认为是对本发明的限制。另外还需要说明的是,为了便于描述,附图中仅示出了本发明相关的部分而非全部。
图1是根据本申请实施例示出的一种分布式系统中调用链的监控方法实施环境架构图;
图2是根据本申请实施例示出的一种分布式系统端的分布式系统中调用链的监控方法流程图;
图3是根据本申请实施例示出的一种分布式系统端的分布式系统中调用链的监控方法示意图;
图4是根据本申请实施例示出的一种监控系统端的分布式系统中调用链的监控方法流程图;
图5是根据本申请实施例示出的一种分布式系统端的分布式系统中调用链的监控装置框图;
图6是根据本申请实施例示出的另一种监控系统端的分布式系统中调用链的监控装置框图;
图7是根据本申请实施例示出的一种计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1是根据本申请实施例示出的一种分布式系统中调用链的监控的实施环境架构图。如图1所示,该实施环境架构包括:分布式系统100和监控系统200。
其中,分布式系统100包括若干节点(如图1中所示的节点101,节点102和节点103)和消息队列104。进一步地,每个节点都有一个唯一节点标识与其对应,以唯一标识一个节点。
另外,各节点在执行操作时,比如,该节点发起调用或被调用时,都会根据该操作生成相应的监控信息,并上报给监控系统200。
其中,监控系统200用于接收并存储分布式系统100上报的监控信息。进一步地,当监控系统200存储监控信息时,可以根据监控标识存储,即将同一监控标识的监控信息存储在同一位置。也可以根据节点标识进行存储,比如,将带有同一节点标识的监控信息存储在同一位置。
其中,监控标识是唯一标识分布式请求的全局变量(有关监控标识的生成规则在下文中具体介绍),一个分布式请求对应设置一个监控标识,且可以理解的是,在分布式系统中一个分布式请求的执行需要调用多个节点来实现。因此,当一个分布式请求执行中调用到某个节点时,采用该监控标识与节点标识结合的方式描述本次调用。
另外,监控系统200用于当接收到监控信息查询请求时,根据查询请求中携带的监控标识查询存储的监控信息。
图2是根据本申请实施例示出的一种分布式系统中调用链的监控方法的流程图。图2所示的方法可以由图1中的分布式系统100执行,如图2所示,该方法包括以下步骤:
步骤201,接收分布式请求,并根据预设的监控规则生成唯一对应分布式请求的监控标识。
其中,接收分布式请求可以为用户通过客户端向分布式系统发起,分布式系统接收该请求。当然也可以是通过其它方法向分布式系统发起请求,在此不做限制。
其中,预设的监控规则可以为按照分布式请求发起的先后顺序依次使用数字、字母或数字与字母结合作为监控标识,比如,第一个分布式请求的监控标识为1,第二个分布式请求的标识为2,依此类推。预设的监控规则可以为以需要生成监控标识的时间以基础,确定监控标识,比如,需要生成监控标识的时间为2018年05月12日,12:30:12则生成的监控标识可以为20180512123012。当然预设的监控规则还可以是其它规则,只要一个监控标识能够唯一标识一个分布式请求即可,该监控标识是分布式请求的全局标识,也就是该分布式请求实现中所调用的节点都用该监控标识来标识。
步骤202,在分布式请求执行的每次调用中,调用节点将监控标识传递至被调用节点,其中,分布式请求的执行访问到消息队列时,通过消息队列传递监控标识。
当分布式系统接收到分布式请求后,接收到分布式请求的第一个节点被调用,并执行相应操作,之后第一个节点调用第二个节点,依次执行。在执行各调用过程中,前一个发起调用的节点将监控标识传递给后一个被调用的节点,当分布式请求的执行访问到消息队列时,通过消息队列传递监控标识,以使得当分布式请求的执行中调用到消息队列时,监控标识也能被传递。具体地,可以通过消息队列的调用节点,消息队列和消息队列的被调用节点相互配合传递监控标识。
可选地,通过消息队列传递监控标识包括如下步骤:
首先,消息队列的调用节点将监控标识合并到业务消息中,消息队列的调用节点为向消息队列写入业务消息的节点;
然后,消息队列的被调用节点从业务消息中读取监控标识,消息队列的被调用节点为从消息队列中读取业务消息的节点。
其中,消息队列的调用节点将监控标识合并到业务消息中,包括该调用节点可以直接将监控标识与业务消息拼接到一起,得到一个新的业务消息。该方法思路清晰简单,易于开发者理解操作;具体地,可以将监控标识放置在承载该业务消息的消息队列协议中,更具体地,可以放置在该协议的消息体的自定义结构中,这样就不需要对调用消息队列的节点的业务逻辑进行改写。这样当消息队列的调用节点从消息队列中读取业务消息时,就可以读取到监控标识。可以理解的是上述业务消息是指分布式系统内部的消息。此处具体指在执行该分布式请求的过程中,向消息队列写入消息的节点所生成的消息。
另外,需要说明的是,将监控标识合并到业务消息中这一执行过程还可以通过在分布式系统里设置一个单独的功能模块完成,以减少对分布式系统各节点的业务逻辑进行改写。可选地,可以为如下过程:
该功能模块监控业务执行过程,当监控到有节点向消息队列发送业务消息时,截获该业务消息,并从发送该业务消息的节点获取当前分布式请求的监控标识;将该监控标识与业务消息合并到一起。
进一步地,对于步骤201和步骤202,示例性地,在图1所示的实施环境中,用户通过分布式请求的客户端向分布式系统发起分布式请求,节点102接收该分布式请求,并生成业务消息为“订单已创建”。则本步骤可以为:节点101接收到客户端发送的分布式请求时,根据预设的监控规则生成监控标识1,节点101根据该分布式请求调用节点102,节点102将该监控标识1与业务消息“订单已创建”合并,生成新的业务消息“订单已创建+1”;并将该新的业务消息“订单已创建+1”发送给消息队列;节点103读取“订单已创建+1”,即可获取到监控标识1。
步骤203,基于监控标识,生成分布式请求执行中被调用的各节点的监控信息,并将各监控信息发送至监控系统,使得监控系统能够根据监控标识获取监控信息。
可选地,监控信息包括:监控标识、调用节点标识、被调用节点标识、发起调用的时间、收到响应的时间、被调用的时间、发出响应的时间、调用类型、异常信息等。
其中,节点标识可以是根据预设的监控规则,向分布式系统的每个节点配置自身的节点标识,用于唯一标识每个节点。
另外,向分布式系统的每个节点配置自身的节点标识,可以在分布式请求执行到各节点前的任意时间设置,以便在分布式请求执行到该节点时,可以直接获取该节点的节点标识,以通过该节点标识标记该分布式请求的执行。比如,可以在开发人员开发阶段设置各节点标识。
可选地,基于监控标识,生成分布式请求执行中被调用的各节点的监控信息包括如下两部分内容:
一次调用发生时,调用节点更新发起调用的时间和收到响应的时间,并将更新后的监控信息发送至监控系统;
被调用节点更新调用节点标识、被调用节点标识、被调用的时间和发出响应的时间,并将更新后的监控信息发送至监控系统。
示例性的,参照图3,对于步骤201、202和203,可以为如下过程:
用户通过分布式请求的客户端向分布式系统发起分布式请求;
第1节点接收该分布式请求,并生成监控标识1,然后执行该分布式请求,并根据该分布式请求调用第2节点;之后,第1节点生成监控信息(TraceID:1,Pspanid:,Spanid:1000,cs:20:01:57)并上报给监控系统,然后,将该监控标识传递给第2节点;
第2节点接收该监控标识1并执行调用过程,在执行调用的过程中,生成业务消息,并将业务消息与监控标识1合并,生成“业务消息+1”然后发送给消息队列;之后,第2节点生成监控信息(TraceID:1,Psp anid:1000,Spanid:1001,sr:20:01:58和TraceID:1,Pspanid:1000,Spani d:1001,cs:20:01:59)并上报给监控系统;
第3节点根据调用请求,从消息队列中读取“业务消息+1”,并从其中获取监控标识1,生成监控信息(TraceID:1,Pspanid:1001,Spani d:1002,sr:20:02:00),并上报监控系统;之后,执行相应的调用过程,并将回应第2节点,此时,第3节点确定回应第2节点的时间并更新监控信息(更新后的监控信息为:TraceID:1,Pspanid:1001,Spanid:1002,sr:20:02:00,ss:20:02:09)上报监控系统;
接着,第2节点回应第1节点,并确定回应时间,以更新第2节点监控信息(更新后的监控信息为:TraceID:1,Pspanid:1000,Spanid:1001,cs:20:01:59,cr:20:02:10和TraceID:1,Pspanid:1001,Spanid:1002,sr:20:02:00,ss:20:02:09)并上报监控系统;第1节点接收回应,并根据回应时间更新第1节点的监控信息(TraceID:1,Pspanid:,Spanid:1000,cs:20:01:57,cr:20:02:15)并上报监控系统。
其中,TraceID表示监控标识,Pspanid表示上一节点标识,Spanid表示本节点标识,cs表示作为调用节点发起调用,cr表示作为调用节点收到响应,sr表示作为被调用节点接收被调用,ss表示作为被调用节点发送响应。这里需要说明的是,调用节点和被调用节点是针对一次调用而言。对于一个节点而言,在一次调用中可能是调用节点,在另一个调用中可能是被调用节点。例如在图3中第1节点调用第2节点时,第2节点为被调用节点;而在第2节点调用第3节点时,第2节点为调用节点。
另外,需要说明的是,在本实施例中,消息队列只是用于传递业务消息和监控标识,并没有将消息队列的相关操作生成监控信息,上报监控系统。然而,在其它实施例中,消息队列可以将其相关操作生成监控信息,并上报监控系统。
另外,图1所示的分布式系统还可以包括监控管理端,用于管理分布式请求。具体地,可以包括:
(1)对分布式请求进行认证。比如,认证接收到的分布式请求是否有权限被执行,执行后生成的监控信息是否有权被上报等。具体地,当分布式系统接收到分布式请求时,通过判断发起该分布式请求的用户是否为注册用户,如是不是,则不执行该分布式请求,或者只允许执行分布式请求,但不允许将对应的监控信息上报到监控系统。
(2)对分布请求进行限流。具体地,当分布式系统接收到分布式请求时,监控管理端根据分布式系统当前正在执行的分布式请求的数量,判断是否允许执行新的分布式请求。比如,正在执行的分布式请求的数量大于允许的数量限制时,则拒绝执行新接收到分布请求,当正在执行的分布式请求的数量减少到允许的数量限制时,重新执行新接收到分布请求。
当然该监控管理端还可以完成其它功能,在此不做详述。
另外,需要说明的是,上述监控方法由图1所示的分布式系统执行时,在接收到分布式请求时,不需要与监控系统进行交互就可以立刻执行生成监控标识,获取监控信息,上报监控信息等相当操作,从而减少了交互所引起的耗时或错误,进而提高上报的数据的及时性和精度。
但是,仍需要说明的是上述监控方法也可以由图1所示的监控系统200执行,此时可以减少对业务逻辑的入侵。因此,在应用中,可以结合实际情况,选择合适的监控方法。另外,当该监控方法由监控系统200执行时,执行过程与上述步骤相同或相似,在此不做赘述。
综上所述,本申请实施例提供的分布式系统中调用链的监控方法,通过将监控标识合并到业务消息中,从而在消息队列传递消息时,将监控标识也一起传递到下一节点;解决了现有分布式系统中,在调用到消息队列时,不能将监控标识传递到下一节点,从而使下一节点不能使用监控标识生成监控信息,进而导致整个分布请求的调用链监控中断的问题;从而使得同一分布式请求可以使用同一个监控标识进行标记,并生成完整的调用链监控信息。
图4是本申请实施例示出的另一种分布式系统中调用链的监控方法的流程图。图4所示的方法可以由图1中的监控系统200执行,如图4所示,该方法包括以下步骤:
步骤301,接收每个分布式请求的执行中各节点的监控信息,监控信息包括根据消息队列传递的监控标识生成的相关节点的监控信息,监控标识为当分布式系统接收到接收分布式请求时,据预设的监控规则生成且唯一对应分布式请求;
步骤302,存储监控信息。
其中,存储监控信息时可以根据监控标识存储,即将同一监控标识的监控信息对应存储,或可以存储在同一位置。当然也可以按照其它依据进行存储,比如,还可以根据节点标识进行存储。
另外,本实施例提供的调用链方法方法还包括以下步骤:当接收到监控信息查询请求时,获取查询请求携带的监控标识,根据监控标识获取相应的监控信息,并显示。当然,查询请求还可能携带节点标识,此时也可以根据节点标识查询与该节点标识相关的监控信息,并显示。
综上所述,本申请实施例提供的分布式系统中调用链的监控方法,接收分布式系统各节点发送的监控信息,并存储,该监控信息包括根据消息队列传递的监控标识生成的相关节点的监控信息;进一步地,由于在获取该监控信息时,通过将监控标识合并到业务消息中,从而在消息队列传递消息时,将监控标识也一起传递到下一节点;解决了现有监控系统,不能接收到一个分布式请求的完整调用链监控信息,而导致无法查询到完整的调用链监控信息问题;进而使得在查询监控信息时能够通过一个监控标识查询到一个完整的调用链的监控信息。
本说明书中的实施例均采用递进的方式描述,各个实施例子之间的相似部分相互参见。每个步骤下的实施例侧重于该步骤下的具体方法。以上的所描述的实施方案仅仅是示意性的,具体实施例仅是对本发明做举例说明,本发明所属技术领域的技术人员在不脱离本发明实施例所述原理的前提,还可以做出若干改进和润色,这些改进也应视为本发明的保护范围。
图5是根据本申请实施例示出的一种分布式系统中调用链的监控装置框图。该装置可以安装在如图1所示的分布式系统100中,如图5所示,该装置包括:
接收生成模块401,用于接收分布式请求,并根据预设的监控规则生成唯一对应分布式请求的监控标识;
传递模块402,用于在分布式请求执行的每次调用中,调用节点将监控标识传递至被调用节点,其中,分布式请求的执行访问到消息队列时,通过消息队列传递监控标识;
生成发送模块403,用于基于监控标识,生成分布式请求执行中被调用的各节点的监控信息,并将各监控信息发送至监控系统,使得监控系统能够根据监控标识获取监控信息。
可选地,传递模块402包括:
合并单元4021,用于消息队列的调用节点将监控标识合并到业务消息中,消息队列的调用节点为向消息队列写入业务消息的节点;
读取单元4022,用于消息队列的被调用节点从业务消息中读取监控标识,消息队列的被调用节点为从消息队列中读取业务消息的节点。
可选地,监控信息包括:监控标识、调用节点标识、被调用节点标识、发起调用的时间、收到响应的时间、被调用的时间、发出响应的时间。
可选地,生成发送模块403还用于:
一次调用发生时,调用节点更新发起调用的时间和收到响应的时间,并将更新后的监控信息发送至监控系统;
被调用节点更新调用节点标识、被调用节点标识、被调用的时间和发出响应的时间,并将更新后的监控信息发送至监控系统。
另外,需要说明的是,上述监控装置也可以安装在图1所示的监控系统200中。当该监控装置安装在监控系统200中时,装置结构和功能与上述装置相同或相似,在此不做赘述。
另外,需要说明的是,装置实施例中的相关内容,请参照方法实施例,在此不做赘述。
综上所述,本申请实施例提供的分布式系统中调用链的监控装置,通过将监控标识合并到业务消息中,从而在消息队列传递消息时,将监控标识也一起传递到下一节点;解决了现有分布式系统中,在调用到消息队列时,不能将监控标识传递到下一节点,从而使下一节点不能使用监控标识生成监控信息,进而导致整个分布请求的调用链监控中断的问题;从而使得同一分布式请求可以使用同一个监控标识进行标记,并生成完整的调用链监控信息。
图6是根据本申请实施例示出的一种分布式系统中调用链的监控装置框图。该装置可以安装在如图1所示的监控系统200中,如图6所示,该装置包括:
接收模块501,用于接收每个分布式请求的执行中各节点的监控信息,监控信息包括根据消息队列传递的监控标识生成的相关节点的监控信息,监控标识为当分布式系统接收到接收分布式请求时,据预设的监控规则生成且唯一对应分布式请求;
存储模块502,用于存储监控信息。
另外,需要说明的是,装置实施例中的相关内容,请参照方法实施例,在此不做赘述。
综上所述,本申请实施例提供的分布式系统中调用链的监控装置,接收分布式系统各节点发送的监控信息,并存储,该监控信息包括根据消息队列传递的监控标识生成的相关节点的监控信息;进一步地,由于在获取该监控信息时,通过将监控标识合并到业务消息中,从而在消息队列传递消息时,将监控标识也一起传递到下一节点;解决了现有监控系统,不能接收到一个分布式请求的完整调用链监控信息,而导致无法查询到完整的调用链监控信息问题;进而使得在查询监控信息时能够通过一个监控标识查询到一个完整的调用链的监控信息。
图7是根据本申请实施例示出的一种计算机系统的结构示意图,计算机系统包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有系统操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明的实施例,上文参考流程图2和/或3描述的过程可以被实现为计算机软件程序。例如,本发明流程图2和/或3描述的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收生成模块401,生成发送模块402,传递模块403。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的分布式系统中调用链的监控方法。
例如,所述电子设备可以实现如图1中所示的:步骤201,接收分布式请求,并根据预设的监控规则生成唯一对应分布式请求的监控标识;其中,分布式请求的执行访问到消息队列时,通过消息队列传递监控标识。步骤202,基于监控标识,生成分布式请求执行中被调用的各节点的监控信息,并将各监控信息发送至监控系统,使得监控系统能够根据监控标识获取监控信息。又如,所述电子设备可以实现如图2和图4中所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。
综上所述,本申请实施例提供的分布式系统中调用链的监控计算机系统或计算机可读介质,通过将监控标识合并到业务消息中,从而在消息队列传递消息时,将监控标识也一起传递到下一节点;解决了现有分布式系统中,在调用到消息队列时,不能将监控标识传递到下一节点,从而使下一节点不能使用监控标识生成监控信息,进而导致整个分布请求的调用链监控中断的问题;从而使得同一分布式请求可以使用同一个监控标识进行标记,并生成完整的调用链监控信息。
上述仅为本申请较佳实施例及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种分布式系统中调用链的监控装置,应用于分布式系统,所述分布式系统包括若干节点和消息队列,其特征在于,所述装置包括:
接收生成模块,用于接收分布式请求,并根据预设的监控规则生成唯一对应所述分布式请求的监控标识;
传递模块,用于在所述分布式请求执行的每次调用中,调用节点将所述监控标识传递至被调用节点,其中,所述分布式请求的执行访问到所述消息队列时,通过所述消息队列传递所述监控标识;
生成发送模块,用于基于所述监控标识,生成所述分布式请求执行中被调用的各节点的监控信息,并将所述各节点的监控信息发送至监控系统,使得所述监控系统能够根据所述监控标识获取所述监控信息。
2.根据权利要求1所述的分布式系统中调用链监控装置,其特征在于,所述传递模块包括:
合并单元,用于所述消息队列的调用节点将所述监控标识合并到业务消息中,所述消息队列的调用节点为向所述消息队列写入所述业务消息的节点;
读取单元,用于所述消息队列的被调用节点从所述业务消息中读取所述监控标识,所述消息队列的被调用节点为从所述消息队列中读取所述业务消息的节点。
3.根据权利要求1所述的分布式系统中调用链监控装置,其特征在于,
所述监控信息包括:所述监控标识、调用节点标识、被调用节点标识、发起调用的时间、收到响应的时间、被调用的时间、发出响应的时间。
4.根据权利要求3所述的分布式系统中调用链监控装置,其特征在于,所述生成发送模块还用于:
一次调用发生时,调用节点更新所述发起调用的时间和所述收到响应的时间,并将更新后的监控信息发送至所述监控系统;
被调用节点更新所述调用节点标识、所述被调用节点标识、所述被调用的时间和所述发出响应的时间,并将更新后的监控信息发送至监控系统。
5.一种分布式系统中调用链的监控装置,应用于监控系统,其特征在于,包括:
接收模块,用于接收每个分布式请求的执行中各节点的监控信息,所述监控信息包括根据消息队列传递的监控标识生成的相关节点的监控信息,所述监控标识为当分布式系统接收到接收分布式请求时,据预设的监控规则生成且唯一对应所述分布式请求;
存储模块,用于存储所述监控信息。
6.一种分布式系统中调用链的监控方法,应用于分布式系统,所述分布式系统包括若干节点和消息队列,其特征在于,包括:
接收分布式请求,并根据预设的监控规则生成唯一对应所述分布式请求的监控标识;
在所述分布式请求执行的每次调用中,调用节点将所述监控标识传递至被调用节点,其中,所述分布式请求的执行访问到所述消息队列时,通过所述消息队列传递所述监控标识;
基于所述监控标识,生成所述分布式请求执行中被调用的各节点的监控信息,并将各监控信息发送至监控系统,使得监控系统能够根据所述监控标识获取所述监控信息。
7.根据权利要求6所述的分布式系统中调用链监控方法,其特征在于,所述分布式请求的执行访问到所述消息队列时,通过所述消息队列传递所述监控标识包括:
所述消息队列的调用节点将所述监控标识合并到所述业务消息中,所述消息队列的调用节点为向所述消息队列写入业务消息的节点;
所述消息队列的被调用节点从所述业务消息中读取所述监控标识,所述消息队列的被调用节点为从所述消息队列中读取业务消息的节点。
8.一种分布式系统中调用链的监控方法,应用于监控系统,其特征在于,包括:
接收每个分布式请求的执行中各节点的监控信息,所述监控信息包括根据消息队列传递的监控标识生成的相关节点的监控信息,所述监控标识为当分布式系统接收到接收分布式请求时,据预设的监控规则生成且唯一对应所述分布式请求;
存储所述监控信息。
9.一种计算机设备,其特征是,所述设备包括:
一个或者多个处理器;
存储器,用于存储一个或者多个程序;
当所述一个或者多个程序被所述一个或者多个处理器执行时,使得所述一个或者多个处理器执行所述实现如权利要求6-8任一所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序用于:
所述计算机程序被处理器执行时实现如权利要求6-8任一所述的方法。
CN201910554439.1A 2019-06-25 2019-06-25 分布式系统中调用链的监控方法、装置、设备及存储介质 Pending CN112131013A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910554439.1A CN112131013A (zh) 2019-06-25 2019-06-25 分布式系统中调用链的监控方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910554439.1A CN112131013A (zh) 2019-06-25 2019-06-25 分布式系统中调用链的监控方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112131013A true CN112131013A (zh) 2020-12-25

Family

ID=73850064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910554439.1A Pending CN112131013A (zh) 2019-06-25 2019-06-25 分布式系统中调用链的监控方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112131013A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022110675A1 (zh) * 2020-11-25 2022-06-02 平安普惠企业管理有限公司 基于人工智能的日志生成方法、装置、计算机设备和介质
CN115550214A (zh) * 2022-08-17 2022-12-30 青岛海尔科技有限公司 任务监控方法、装置、存储介质及电子装置
CN115589307A (zh) * 2022-09-07 2023-01-10 支付宝(杭州)信息技术有限公司 分布式系统的风险监测方法和装置
CN115858309A (zh) * 2022-12-30 2023-03-28 北京百度网讯科技有限公司 面向分布式系统的数据监控方法、装置和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874424A (zh) * 2017-01-25 2017-06-20 杭州淘淘搜科技有限公司 一种基于MongoDB和Redis的网页数据采集处理方法及系统
CN108183927A (zh) * 2017-11-22 2018-06-19 链家网(北京)科技有限公司 一种分布式系统中链路调用的监控方法及系统
CN108600045A (zh) * 2018-04-05 2018-09-28 厦门快商通信息技术有限公司 一种服务链路监控方法及装置
US20180324222A1 (en) * 2017-05-05 2018-11-08 Dell Products, L.P. Testing distributed applications that have an established exchange in an advanced message queuing protocol (amqp) message broker
CN108984325A (zh) * 2018-07-20 2018-12-11 北京北信源信息安全技术有限公司 消息队列消费方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874424A (zh) * 2017-01-25 2017-06-20 杭州淘淘搜科技有限公司 一种基于MongoDB和Redis的网页数据采集处理方法及系统
US20180324222A1 (en) * 2017-05-05 2018-11-08 Dell Products, L.P. Testing distributed applications that have an established exchange in an advanced message queuing protocol (amqp) message broker
CN108183927A (zh) * 2017-11-22 2018-06-19 链家网(北京)科技有限公司 一种分布式系统中链路调用的监控方法及系统
CN108600045A (zh) * 2018-04-05 2018-09-28 厦门快商通信息技术有限公司 一种服务链路监控方法及装置
CN108984325A (zh) * 2018-07-20 2018-12-11 北京北信源信息安全技术有限公司 消息队列消费方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022110675A1 (zh) * 2020-11-25 2022-06-02 平安普惠企业管理有限公司 基于人工智能的日志生成方法、装置、计算机设备和介质
CN115550214A (zh) * 2022-08-17 2022-12-30 青岛海尔科技有限公司 任务监控方法、装置、存储介质及电子装置
CN115589307A (zh) * 2022-09-07 2023-01-10 支付宝(杭州)信息技术有限公司 分布式系统的风险监测方法和装置
CN115858309A (zh) * 2022-12-30 2023-03-28 北京百度网讯科技有限公司 面向分布式系统的数据监控方法、装置和电子设备
CN115858309B (zh) * 2022-12-30 2023-12-22 北京百度网讯科技有限公司 面向分布式系统的数据监控方法、装置和电子设备

Similar Documents

Publication Publication Date Title
CN112131013A (zh) 分布式系统中调用链的监控方法、装置、设备及存储介质
CN109145023B (zh) 用于处理数据的方法和装置
CN111177112A (zh) 基于运维管理系统的数据库阻断方法、装置及电子设备
CN110377440B (zh) 信息处理方法和装置
CN110658794A (zh) 一种制造执行系统
CN107104999B (zh) 服务接口调用请求的处理方法和装置
WO2019075845A1 (zh) 链路调用关系的构建方法、装置、计算机设备及存储介质
CN110609755A (zh) 跨区块链节点的消息处理方法及装置、设备、介质
CN112615753A (zh) 一种链路异常追踪方法、第一节点、第二节点以及链路
CN109873861B (zh) 跨区块链节点的交互方法及装置、存储介质及电子设备
RU2696299C2 (ru) Управление при инициировании элементарных задач на серверной платформе
US20210165681A1 (en) Method and apparatus for processing a service of an abnormal server
JP4516594B2 (ja) メッセージ送信制御方法、メッセージ送信制御装置、及びメッセージ送信制御プログラム
CN116761144A (zh) 一种设备接入物联网平台的方法及装置
CN113409153A (zh) 业务流程管理系统与业务流程处理方法、设备及存储介质
CN110071840A (zh) 升级方法、装置及客户端
CN115756544A (zh) 一种设备更新方法、装置、电子设备及存储介质
CN111273970B (zh) 智能合约的调用方法、装置、系统、介质及电子设备
CN113127158B (zh) 用于执行数据处理任务的方法及装置
CN109120692B (zh) 用于处理请求的方法和装置
CN113283891A (zh) 信息处理方法、装置和电子设备
US8549537B2 (en) Middleware bridge system and method
CN108288135B (zh) 系统兼容方法及装置、计算机可读存储介质及电子设备
CN111314457B (zh) 设置虚拟私有云的方法和装置
CN115174588B (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