[go: up one dir, main page]

CN112737800A - 服务节点故障定位方法、调用链生成方法及服务器 - Google Patents

服务节点故障定位方法、调用链生成方法及服务器 Download PDF

Info

Publication number
CN112737800A
CN112737800A CN201911029150.4A CN201911029150A CN112737800A CN 112737800 A CN112737800 A CN 112737800A CN 201911029150 A CN201911029150 A CN 201911029150A CN 112737800 A CN112737800 A CN 112737800A
Authority
CN
China
Prior art keywords
identification information
service nodes
parent
service
service node
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.)
Granted
Application number
CN201911029150.4A
Other languages
English (en)
Other versions
CN112737800B (zh
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
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 CN201911029150.4A priority Critical patent/CN112737800B/zh
Publication of CN112737800A publication Critical patent/CN112737800A/zh
Application granted granted Critical
Publication of CN112737800B publication Critical patent/CN112737800B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/14Arrangements for monitoring or testing data switching networks using software, i.e. software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明适用于计算机技术领域,提出一种服务节点故障定位方法,包括:采集服务器若检测到目标应用的运行性能发生故障,则获取目标应用对应的所有服务节点的调用链;采集服务器根据每个父服务节点的第一标识信息和所有子服务节点的第二标识信息,获取每条调用链包含的父服务节点的第一调用数据和每条调用链包含的所有子服务节点的第二调用数据;采集服务器根据获取的第一调用数据和第二调用数据确定发生故障的服务节点。由于根据每条调用链包含的父服务节点的第一调用数据和每条调用链包含的所有子服务节点的第二调用数据,确定发送故障的服务节点,能够提高服务节点的故障定位效率。

Description

服务节点故障定位方法、调用链生成方法及服务器
技术领域
本发明属于计算机技术领域,尤其涉及一种服务节点故障定位方法、调用链生成方法及服务器。
背景技术
由于应用性能管理系统(Application Performance Management,APM)能够对企业系统即时监控以实现对应用程序性能管理和故障的系统化解决,使得越来越多的企业级应用接入。但是其只能通过调用日志进行服务节点故障定位,存在故障定位效率低下的问题。
发明内容
有鉴于此,本发明实施例提供了服务节点故障定位方法、调用生成方法、应用性能管理系统、采集服务器及调用链服务器,以解决现有技术中只能通过调用日志进行服务节点的故障定位,故障定位效率低下的问题。
本发明实施例的第一方面提供了一种服务节点故障定位方法,应用于应用性能管理系统,其特征在于,所述应用性能管理系统包括采集服务器和调用链服务器,所述方法包括:
所述采集服务器若检测到目标应用的运行性能发生故障,则获取所述目标应用对应的所有服务节点的调用链;其中,所述服务节点包括父服务节点和子服务节点;所述调用链为所述调用链服务器根据所述父服务节点的第一标识信息和所有所述子服务节点的第二标识信息,预先生成的每个所述父服务节点和各自对应的所有所述子服务节点的调用链;
所述采集服务器根据每个所述父服务节点的第一标识信息和所述所有子服务节点的第二标识信息,获取每条所述调用链包含的所述父服务节点的第一调用数据和每条所述调用链包含的所有所述子服务节点的第二调用数据;
所述采集服务器根据获取的所述第一调用数据和所述第二调用数据确定发生故障的服务节点。
本发明实施例的第二方面提供了一种调用链生成方法,应用于采集服务器,所述方法包括:
获取预先确定的所有应用的服务节点对应的调用数据,所述调用数据包括所述服务节点的标识信息,所述服务节点包括父服务节点和子服务节点;
分别确定每个所述父服务节点的第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息,每个所述父服务节点的第一标识信息与每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息具有预设数量的相同标识字符;
将每个所述父服务节点的第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息存储至预先确定的分布式订阅消息系统中;
其中,所述分布式订阅消息系统中存储有每个所述父服务节点的所述第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的所述第二标识信息,所述第一标识信息以及所述第二标识信息用于调用链服务器生成每个所述父服务节点和各自对应的所有所述子服务节点的服务调用链。
本发明实施例的第三方面提供了一种调用链生成方法,应用于调用链服务器,所述方法包括:
从分布式订阅消息系统中获取每个父服务节点的第一标识信息和每个所述父服务节点各自对应的所有子服务节点的第二标识信息;
其中,每个所述父服务节点的第一标识信息与每个所述服务节点各自对应的所有所述子服务节点的第二标识信息具有预设数量的相同标识字符,所述分布式订阅消息系统中存储有每个所述父服务节点的所述第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的所述第二标识信息;
每个所述父服务节点的所述第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的所述第二标识信息,均由采集服务器根据获取的目标应用的所有服务节点对应的调用数据确定,所述采集服务器将确定的所述第一标识信息和所述第二标识信息存储至所述分布式订阅消息系统中,所述调用数据包括所述服务节点的标识信息,所述服务节点包括父服务节点和子服务节点;
根据所述第一标识信息和所述第二标识信息生成每个所述父服务节点和各自对应的所有所述子服务节点的服务调用链。
本发明实施例的第四方面提供了一种应用性能管理系统,包括采集服务器和调用链服务器;
所述采集服务器包括:
检测模块,用于在若检测到目标应用的运行性能发生故障,则获取所述目标应用对应的所有服务节点的调用链;其中,所述服务节点包括父服务节点和子服务节点;所述调用链为所述调用链服务器根据所述父服务节点的第一标识信息和所有所述子服务节点的第二标识信息,预先生成的每个所述父服务节点和各自对应的所有所述子服务节点的调用链;
获取模块,用于根据每个所述父服务节点的第一标识信息和所述所有子服务节点的第二标识信息,获取每条所述调用链包含的所述父服务节点的第一调用数据和每条所述调用链包含的所有所述子服务节点的第二调用数据;
确定模块,用于根据获取的所述第一调用数据和所述第二调用数据确定发生故障的服务节点;
调用链服务器包括:
生成模块,用于根据所述父服务节点的第一标识信息和所有所述子服务节点的第二标识信息,生成每个所述父服务节点和各自对应的所有所述子服务节点的调用链。
本发明实施例的第五方面提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第二方面所述调用链生成方法的步骤,或者所述处理器执行所述计算机程序时实现如上第三方面所述调用链生成方法的步骤。
本申请第一方面提供的服务节点故障定位方法与现有技术相比,包括:采集服务器若检测到目标应用的运行性能发生故障,则获取目标应用对应的所有服务节点的调用链;采集服务器根据每个父服务节点的第一标识信息和所有子服务节点的第二标识信息,获取每条调用链包含的父服务节点的第一调用数据和每条调用链包含的所有子服务节点的第二调用数据;采集服务器根据获取的第一调用数据和第二调用数据确定发生故障的服务节点。本申请由于根据每条调用链包含的父服务节点的第一调用数据和每条调用链包含的所有子服务节点的第二调用数据,确定发送故障的服务节点,能够提高服务节点的故障定位效率。
本申请第二方面至第五方面提供的实施例与现有技术相比,有益效果与本申请第一方面提供的实施例与现有技术相比有益效果相同,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请第一实施例提供的一种应用性能管理系统;
图1a是图1中应用性能管理系统的第一应用场景图;
图1b是图1中应用性能管理系统的第二应用场景图;
图1c是图1中应用性能管理系统的第三应用场景图;
图2是本申请第二实施例提供的服务节点故障定位方法的实现流程图;
图3是本申请第三实施例提供的服务节点故障定位方法的实现流程图;
图4是本申请第四实施例提供的调用链生成方法;
图5是图4中S403的具体实施流程图;
图6是本申请第五实施例提供的调用链生成方法的实现流程图;
图7是图6中S601的具体实现流程图;
图8是本发明提供的应用性能管理系统的装置示意图;
图9是图8中采集服务器的装置示意图;
图10是图8中调用链服务器的装置示意图;
图11是本发明提供的采集服务器的示意图;
图12是本发明提供的调用链服务器的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
通常,应用性能管理系统(Application Performance Management,APM) 致力于监控和管理应用软件性能和可用性,通过监测和诊断复杂应用程序的性能问题,来保证软件应用程序的良好运行。需要说明的是,由于一个业务请求可能涉及多个应用的服务节点,当有应用的服务节点出现故障,例如调用错误或者缓慢时,应用性能管理系统只能依靠调用日志进行故障服务节点定位,整个故障查询过程需要耗费大量的人力及时间成本,查询效率低下。
针对上述技术问题,本发明实施例首先提出了一种应用性能管理系统。如图1所示,图1是本申请第一实施例提供的一种应用性能管理系统。该系统包括:采集服务器01和调用链服务器02,采集服务器01和调用链服务器02之间通信连接。
其中,采集服务器01在若检测到有目标应用的运行性能发生故障,则获取所述目标应用对应的所有服务节点的调用链;其中,所述服务节点包括父服务节点和子服务节点。
调用链服务器02根据所述父服务节点的第一标识信息和所有所述子服务节点的第二标识信息,生成每个所述父服务节点和各自对应的所有所述子服务节点的调用链。
需要说明的是,在一种可选的实现方式中,如图1a所示,是图1中应用性能管理系统的第一应用场景图。由图1a可知,调用链服务器02在生成所述调用链之后,将所述调用链存储在预先确定的数据库03中,例如混合型的非关系数据库(Cassandra数据库等),采集服务器01在所述预先确定的数据库03中获取所述目标应用对应的所有服务节点的调用链。
可以理解地,为了保证采集服务器01与调用链服务器02的工作性能,如图1a所示,所述预先确定的数据库运行在除采集服务器01与调用链服务器02 之外的服务器上,在可选地实现方式中,所述预先确定的数据库为开源的分布式数据库。
其中,所述目标应用为所述应用性能管理系统监测的所有应用中的任意一个应用。
在一种可选的实现方式中,如图1b所示,是应用性能管理系统的第二应用场景图。由图1b可知,采集服务器01与用户代理服务器04通信连接,用户代理服务器04实时监测预先接入的每个应用的所有服务节点的节点数据,并获取所有服务节点的节点数据,用户代理服务器04将获取的所有服务节点的节点数据发送至采集服务器01。
在一种可选的实现方式中,用户代理服务器04监测到有目标应用的性能故障,则将该目标应用的父服务节点的第一标识信息发送至采集服务器01。
在一种可选的实现方式中,为了提高采集服务器01和调用链服务器02处理数据的性能,如图1c所示,是图1中应用性能管理系统的第三应用场景图。由图1c可知,采集服务器01将获取的每个所述父服务节点的第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息存储至预先确定的分布式订阅消息系统05中;调用链服务器02从所述分布式订阅消息系统05中获取所述第一标识信息以及所述第二标识信息,并根据所述第一标识信息以及所述第二标识信息生成每个所述父服务节点和各自对应的所有所述子服务节点的调用链。
如图2所示,是本申请第二实施例提供的服务节点故障定位方法的实现流程图。应用于图1所示的应用性能管理系统,可由采集服务器的软件或硬件实现。由图2可知,在本实施例中,服务节点故障定位方法包括S201~S203,详述如下:
S201,若检测到目标应用的运行性能发生故障,则获取所述目标应用对应的所有服务节点的调用链;
其中,所述服务节点包括父服务节点和子服务节点;所述调用链为所述调用链服务器根据所述父服务节点的第一标识信息和所有所述子服务节点的第二标识信息,预先生成的每个所述父服务节点和各自对应的所有所述子服务节点的调用链。其中,目标应用是预先接入所述应用性能管理系统的所有应用中的任意应用。
其中,目标应用的运行性能发生故障可以是运行速度小于预设的速度阈值或者调用参数超出预设的参数阈值等。
S202,根据每个所述父服务节点的第一标识信息和所述所有子服务节点的第二标识信息,获取每条所述调用链包含的所述父服务节点的第一调用数据和每条所述调用链包含的所有所述子服务节点的第二调用数据。
其中,所述父服务节点为一个业务请求中需要首次调用数据的服务节点,所述父服务节点也可以称为源服务节点,可以理解地,一个业务请求需要经过多个服务节点才可以完成数据的调用,在本实施例中,除所述父服务节点之外的其他服务节点均为子服务节点。其中,所述服务节点为业务请求中调用的服务节点,例如,在通过应用A执行业务请求的过程中,直接或者间接调用了服务节点10、服务节点20、服务节点30以及服务节点40等,且若服务节点10 为起始调用的服务节点,则以服务节点10为该业务请求中的根服务节点,其余的服务节点为该根服务节点对应的子服务节点。
其中,每个所述父服务节点的第一标识信息与每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息具有预设数量的相同标识字符;例如,在一种可选的实现方式中,所述父服务节点的所述第一标识信息为互联网协议地址和端口信息,所述父服务节点对应的各个子服务节点的第二标识信息包括互联网协议地址、端口信息以及各个子服务节点对应的预设排列序号。其中,各个子服务节点对应的预设排列序号可以根据各个子服务节点在业务请求中被调用的先后顺序进行确定。
S203,根据获取的所述第一调用数据和所述第二调用数据确定发生故障的服务节点。
其中,所述第一调用数据包括父服务节点的调用链数据以及运行数据,所述第二调用数据包括子服务节点的调用链数据以及运行数据。其中,所述调用链数据为应用开发包生成的服务节点之间的调用数据,所述服务节点之间的调用数据包括所述服务节点之间的调用关系以及业务数据。
其中,所述运行数据为运行日志,所述运行日志用于记载所述执行所述业务请求发生的事件记录、发生所述事件记录的日期以及发生所述事件记录的时间戳信息等等。
其中,服务节点可以包括业务逻辑单元以及应用开发包,其中,业务逻辑单元用于生成运行数据,应用开发包用于生成调用链数据。
在一种可选的实现方式中,调用链包括调用链标识信息(TraceID)、服务节点之间的调用关系以及每个服务节点对应的事件信息,其中,事件信息包括事件响应的时间信息和事件属性信息,事件属性信息用于记录事件是关联事件或单一事件。
在一种可选的实现方式中,结合调用关系以及每个服务节点的事件信息对故障进行跟踪定位。例如,假设服务节点A出现了故障,则在进行故障的服务节点A定位时,首先根据调用链标识信息查找到包含服务节点A的调用链,然后查询查找到的调用链包含的服务节点之间的调用关系以及每个服务节点对应的事件信息,若查询到服务节点A对应的事件信息记录的响应时间大于预设的响应时间阈值,且事件属性信息为单一事件,则确定服务节点A为故障节点。
可以理解地,若查询到服务节点A对应的事件信息记录的响应时间大于预设的响应时间阈值,且事件属性信息为关联事件,则需查询与服务节点A具有调用关系的每个服务节点的事件信息及事件属性信息,若有与服务节点A具有调用关系的其他服务节点的响应时间大于预设的响应时间阈值,则该服务节点与服务节点A均为故障服务节点。
其中,所述调用关系可以用调用关系树进行表示,需要说明的是,调用关系树仅仅是调用关系的其中一种表示方式,在其他可能的实施方式中,还可以采用其他的表示方式对调用关系进行表示,例如调用关系图,此处不作具体限定。
通过上述分析可知,本申请提供的服务节点故障定位方法,通过在若检测到目标应用的运行性能发生故障,则获取所述目标应用对应的所有服务节点的调用链;根据每个所述父服务节点的第一标识信息和所述所有子服务节点的第二标识信息,获取每条所述调用链包含的所述父服务节点的第一调用数据和每条所述调用链包含的所有所述子服务节点的第二调用数据;根据获取的所述第一调用数据和所述第二调用数据确定发生故障的服务节点。由于根据每条调用链包含的所述父服务节点的第一调用数据和每条所述调用链包含的所有所述子服务节点的第二调用数据,确定发送故障的服务节点,能够提高服务节点的故障定位效率。
如图3所示,是本申请第三实施例提供的服务节点故障定位方法的实现流程图。由图3可知,本实施例与图2所示实施例相比,图3中的S306~S308的具体实施过程与S201~S203的具体实施过程相同,不同之处在于,在S306之前,还包括S301~S305,其中,S301~S303可由图1所示的采集服务器的软件或硬件实现,S304~S305可由图1所示的调用链服务器的软件或硬件实现,具体地,S301~305的具体实现过程详述如下:
S301,获取预先确定的所有应用的服务节点对应的调用数据,所述调用数据包括所述服务节点的标识信息,所述服务节点包括父服务节点和子服务节点。
在一个非限定性的示例中,所述预先确定的所有应用为预先接入所述应用管理系统的所有应用,例如企业的关键业务应用;所述服务节点的标识信息为唯一的可用于识别服务节点的标识信息。
S302,分别确定每个所述父服务节点的第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息,每个所述父服务节点的第一标识信息与各自对应的所有所述子服务节点的第二标识信息具有预设数量的相同标识字符。
在一个非限定性的示例中,所述父服务节点的所述第一标识信息为互联网协议地址和端口信息,所述父服务节点对应的各个子服务节点的第二标识信息包括互联网协议地址、端口信息以及各个子服务节点对应的预设排列序号。其中,各个子服务节点对应的预设排列序号可以根据各个子服务节点在业务请求中被调用的先后顺序进行确定。
在另一个非限定的示例中,所述父服务节点的所述第一标识信息为业务请求头中携带的全局唯一标识信息,所述子服务节点,对应的各个子服务节点的第二标识信息包括所述全局唯一标识信息以及各个子服务节点对应的预设排列序号。各个子服务节点对应的预设排列序号可以根据各个子服务节点在业务请求中被调用的先后顺序进行确定。
S303,将每个所述父服务节点的第一标识信息和所述父服务节点各自对应的所有所述子服务节点的第二标识信息关联存储至预先确定的分布式订阅消息系统中。
所述分布式订阅消息系统为一种快高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,例如Kafka,能够通过 Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消费。
在本实施例中,为了保证采集服务器和调用链服务器的性能,分布式订阅消息系统运行在与采集服务器和调用链服务器通信连接的其他服务器上,运行所述分布式订阅消息系统的可以是一个或者多个服务器集群。S304,从所述分布式订阅消息系统中,获取每个所述父服务节点的所述第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的所述第二标识信息。
由于每条发布到Kafka服务器集群的消息都有一个消息类别,这个消息类别被称为Topic,在本实施例中,每个所述父服务节点的所述第一标识信息与所述消息类别之间存在映射关系,根据所述映射关系,获取每个所述消息类别对应的每个所述父服务节点的第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息。
S305,根据所述第一标识信息和所述第二标识信息生成每个所述父服务节点和各自对应的所有所述子服务节点的调用链。
在一个非限定性的示例中,调用链包括调用链标识信息(TraceID)以及服务节点之间的调用关系;在另一可实现的方式中,调用链还包括事件信息,事件信息包括事件发生的时间信息和属性信息。
通过上述分析可知,采集服务器将每个所述父服务节点的所述第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的所述第二标识信息存储在分布式订阅消息系统中;调用链服务器根据所述第一标识信息和所述第二标识信息生成调用链。由所述调用链包括的调用链标识信息、服务节点之间的调用关系以及每个服务节点对应的事件信息可以用于服务节点故障定位,基于所述调用链进行服务节点的故障定位,能够提高故障定位效率。
如图4所示,是本申请第四实施例提供的调用链生成方法,应用于采集服务器,可由采集服务器的软件或硬件实现。由图4可知,本实施例提供的调用链生成方法包括S401~S403,具体地,S401~S403的具体实施过程详述如下:
S401,获取预先确定的所有应用的服务节点对应的调用数据,所述调用数据包括所述服务节点的标识信息,所述服务节点包括父服务节点和子服务节点。
S402,分别确定每个所述父服务节点的第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息,每个所述父服务节点的第一标识信息与每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息具有预设数量的相同标识字符。
S403,将每个所述父服务节点的第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息存储至预先确定的分布式订阅消息系统中。
其中,所述分布式订阅消息系统中存储有每个所述父服务节点的所述第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的所述第二标识信息,所述第一标识信息以及所述第二标识信息用于调用链服务器生成每个所述父服务节点和各自对应的所有所述子服务节点的服务调用链。
具体地,如图5所示,是图4中S403的具体实施流程图。由图5可知, S403包括:
S4031,基于每个所述父服务节点的第一标识信息遍历预先确定的数据库中存储的映射关系,查询与每个所述父服务节点的第一标识信息相匹配的消息类别。
其中,所述消息类别为所述预先确定的分布式订阅消息系统的消息队列中存储的消息的消息类别,所述映射关系为所述父服务节点的第一标识信息与消息类别之间的映射关系。
S4032,若查找到与目标父服务节点的所述第一标识信息相匹配的消息类别,则将所述目标父服务节点的所述第一标识信息和所述目标父服务节点对应的所有所述子服务节点的所述第二标识信息,作为相匹配的所述消息类别进行存储;所述目标父服务节点为所述父服务节点中的任一个。
S4033,若未查找到与所述目标父服务节点的所述第一标识信息相匹配的消息类别,则根据预设的消息类别生成方法,生成所述目标父服务节点的第一标识信息对应的所述消息类别。
在一种可选的实现方式中,所述预设的消息类别生成方法,包括:
遍历预先确定的分布式协调服务系统中存储的所有所述父服务节点的节点信息,获得所述目标父服务节点的节点信息,所述节点信息包括调用节点的互联网协议地址信息和端口信息;
根据所述调用节点的互联网协议地址和端口信息生成所述目标父服务节点的所述第一标识信息对应的所述消息类别。
需要说明的是,所述分布式协调服务系统为一种消息中转系统,可以作为分布式系统中的服务总管,例如ZooKeeper,在分布式协调服务系统的数据存储也是基于节点,但是不同于树的节点,其应用方式是基于路径引用,类似于文件路径。在本实施例中,所述分布式协调服务系统的每个节点存储有一个所述父服务节点的节点信息。
S4034,将所述目标父服务节点的第一标识信息和所述目标父服务节点对应的所有所述子服务节点的所述第二标识信息,作为生成的所述消息类别进行存储。
在一种可选的实现方式中,在所述遍历预先确定的分布式协调服务系统中存储的所有所述父服务节点的节点信息,获得所述目标父服务节点的节点信息之前,包括:向所述分布式协调服务系统发送监测所有所述应用的每个所述父服务节点的心跳信息的第一指令;
若接收到所述分布式协调服务系统返回的监测到有父服务节点的心跳信息,则向所述分布式协调服务系统发送获取该父服务节点的节点信息的第二指令;
所述第二指令用于指示所述分布式协调服务系统存储该父服务节点的节点信息。
如图6所示,是本申请第五实施例提供的调用链生成方法的实现流程图。应用于调用链服务器,可由调用链服务器的软件或硬件实现。具体包括 S601~S602,其中,S601~S602的具体实现过程详述如下:S601,从分布式订阅消息系统中获取每个父服务节点的第一标识信息和每个所述父服务节点各自对应的所有子服务节点的第二标识信息。
其中,每个所述父服务节点的第一标识信息与每个所述服务节点各自对应的所有所述子服务节点的第二标识信息具有预设数量的相同标识字符,所述分布式订阅消息系统中存储有每个所述父服务节点的所述第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的所述第二标识信息;
每个所述父服务节点的所述第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的所述第二标识信息,均由采集服务器根据获取的目标应用的所有服务节点对应的调用数据确定,所述采集服务器将确定的所述第一标识信息和所述第二标识信息存储至所述分布式订阅消息系统中,所述调用数据包括所述服务节点的标识信息,所述服务节点包括父服务节点和子服务节点;
具体地,如图7所示,是图6中S601的具体实现流程图。由图7可知, S601包括:
S6011,从预先确定的分布式协调服务系统中获取所述分布式订阅消息系统的每个消息类别的调用进度,所述分布式协调服务系统缓存有所述分布式订阅消息系统的每个消息类别的调用进度。
S6012,根据每个消息类别的调用进度确定每个所述父服务节点的第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息的获取顺序。
S6013,根据所述获取顺序依次从所述分布式订阅消息系统中,获取每个所述父服务节点的第一标识信息和每个所述父服务节点各自对应的所有子服务节点的第二标识信息。
S602,根据所述第一标识信息和所述第二标识信息生成每个所述父服务节点和各自对应的所有所述子服务节点的调用链。
在一种可选的实现方式中,调用链包括调用链标识信息(TraceID)以及服务节点之间的调用关系;在另一可实现的方式中,调用链还包括事件信息,事件信息包括事件发生的时间信息和属性信息。
通过上述分析可知,调用链服务器从分布式订阅消息系统中获取每个父服务节点的第一标识信息和每个所述父服务节点各自对应的所有子服务节点的第二标识信息;根据所述第一标识信息和所述第二标识信息生成每个所述父服务节点和各自对应的所有所述子服务节点的调用链。所述调用链可以用于服务节点故障定位,基于所述调用链进行服务节点的故障定位,能够提高故障定位效率。图8是本发明提供的应用性能管理系统的装置示意图。如图8所示,该实施例的应用性能管理系统8采集服务器81和调用链服务器82。其中,如图9 所示,是图8中采集服务器81的装置示意图,由图9可知,采集服务器81包括:检测模块810、获取模块811、确定模块812;
其中,检测模块810,用于在若检测到目标应用的运行性能发生故障,则获取所述目标应用对应的所有服务节点的调用链;其中,所述服务节点包括父服务节点和子服务节点;所述调用链为所述调用链服务器根据所述父服务节点的第一标识信息和所有所述子服务节点的第二标识信息,预先生成的每个所述父服务节点和各自对应的所有所述子服务节点的调用链;
获取模块811,用于根据每个所述父服务节点的第一标识信息和所述所有子服务节点的第二标识信息,获取每条所述调用链包含的所述父服务节点的第一调用数据和每条所述调用链包含的所有所述子服务节点的第二调用数据;
确定模块812,用于根据获取的所述第一调用数据和所述第二调用数据确定发生故障的服务节点;
在一种可选的实现方式中,采集服务器81还包括:
调用数据获取模块,用于获取预先确定的所有应用的服务节点对应的调用数据,所述调用数据包括所述服务节点的标识信息,所述服务节点包括父服务节点和子服务节点;
标识信息确定模块,用于分别确定每个所述父服务节点的第一标识信息和所述父服务节点各自对应的所有所述子服务节点的第二标识信息,每个所述父服务节点的第一标识信息与各自对应的所有所述子服务节点的第二标识信息具有预设数量的相同标识字符;
存储模块,用于将每个所述父服务节点的第一标识信息和所述父服务节点各自对应的所有所述子服务节点的第二标识信息关联存储至预先确定的分布式订阅消息系统中;
其中,所述分布式订阅消息系统中存储有每个所述父服务节点的所述第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的所述第二标识信息,所述第一标识信息以及所述第二标识信息用于调用链服务器生成每个所述父服务节点和各自对应的所有所述子服务节点的服务调用链。
在一种可选的实现方式中,存储模块包括:
遍历单元,用于基于每个所述父服务节点的第一标识信息遍历预先确定的数据库中存储的映射关系,查询与每个所述父服务节点的第一标识信息相匹配的消息类别;
其中,所述消息类别为所述预先确定的分布式订阅消息系统的消息队列中存储的消息的消息类别,所述映射关系为所述父服务节点的第一标识信息与消息类别之间的映射关系;
第一存储单元,用于在若查找到与目标父服务节点的所述第一标识信息相匹配的消息类别,则将所述目标父服务节点的所述第一标识信息和所述目标父服务节点对应的所有所述子服务节点的所述第二标识信息,作为相匹配的所述消息类别进行存储;所述目标父服务节点为所述父服务节点中的任一个;
生成单元,用于在若未查找到与所述目标父服务节点的所述第一标识信息相匹配的消息类别,则根据预设的消息类别生成方法,生成所述目标父服务节点的第一标识信息对应的所述消息类别;
第二存储单元,用于将所述目标父服务节点的第一标识信息和所述目标父服务节点对应的所有所述子服务节点的所述第二标识信息,作为生成的所述消息类别进行存储。
在一种可选的实现方式中,所述预设的消息类别生成方法,包括:
遍历预先确定的分布式协调服务系统中存储的所有所述父服务节点的节点信息,获得所述目标父服务节点的节点信息,所述节点信息包括调用节点的互联网协议地址信息和端口信息;
根据所述调用节点的互联网协议地址和端口信息生成所述目标父服务节点的所述第一标识信息对应的所述消息类别。
在一种可选的实现方式中,存储模块还包括:
第一发送单元,用于向所述分布式协调服务系统发送监测所有所述应用的每个所述父服务节点的心跳信息的第一指令;
第二发送单元,用于在若接收到所述分布式协调服务系统返回的监测到有父服务节点的心跳信息,则向所述分布式协调服务系统发送获取该父服务节点的节点信息的第二指令;
其中,所述第二指令用于指示所述分布式协调服务系统存储该父服务节点的节点信息。
其中,如图10所示,是图8中调用链服务器82的装置示意图,由图10 可知,调用链服务器82,包括:
生成模块820,用于根据所述父服务节点的第一标识信息和所有所述子服务节点的第二标识信息,预先生成的每个所述父服务节点和各自对应的所有所述子服务节点的调用链。
在一种可选的实现方式中,调用链服务器82还包括:
标识信息获取模块,用于从所述分布式订阅消息系统中,获取每个所述父服务节点的所述第一标识信息和各自对应的所有所述子服务节点的所述第二标识信息;
其中,每个所述父服务节点的第一标识信息与每个所述服务节点各自对应的所有所述子服务节点的第二标识信息具有预设数量的相同标识字符,所述分布式订阅消息系统中存储有每个所述父服务节点的所述第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的所述第二标识信息;
每个所述父服务节点的所述第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的所述第二标识信息,均由采集服务器根据获取的目标应用的所有服务节点对应的调用数据确定,所述采集服务器将确定的所述第一标识信息和所述第二标识信息存储至所述分布式订阅消息系统中,所述调用数据包括所述服务节点的标识信息,所述服务节点包括父服务节点和子服务节点。
在一种可选的实现方式中,标识信息获取模块,包括:第一获取单元,用于从预先确定的分布式协调服务系统中获取所述分布式订阅消息系统的每个消息类别的调用进度,所述分布式协调服务系统缓存有所述分布式订阅消息系统的每个消息类别的调用进度;
调用单元,用于根据每个消息类别的调用进度确定每个所述父服务节点的第一标识信息和各自对应的所有所述子服务节点的第二标识信息的获取顺序;
第二获取单元,用于根据所述获取顺序依次从所述分布式订阅消息系统中,获取每个所述父服务节点的第一标识信息和每个所述父服务节点各自对应的所有子服务节点的第二标识信息。
在一种可选的实现方式中,所述调用链包括调用链标识信息以及服务节点之间的调用关系;
生成模块820,具体用于根据所述第一标识信息和所述第二标识信息生成每个所述父服务节点和各自对应的所有所述子服务节点的调用链标识信息以及服务节点之间的调用关系。
图11是本发明提供的采集服务器的示意图。如图11所示,该实施例的采集服务器11包括:处理器110、存储器111以及存储在所述存储器111中并可在所述处理器110上运行的计算机程序112,例如鼾声调用链生成程序。所述处理器110执行所述计算机程序112时实现上述各个调用链生成方法实施例中的步骤,例如图4所示的步骤401至403。或者,所述处理器110执行所述计算机程序112时实现上述采集服务器实施例中各模块/单元的功能,例如图9所示模块810至812的功能。
示例性的,所述计算机程序112可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器111中,并由所述处理器110执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序112在所述采集服务器11 中的执行过程。例如,所述计算机程序112可以被分割成检测模块、获取模块、确定模块(虚拟装置中的模块),各模块具体功能如下:
检测模块,用于在若检测到目标应用的运行性能发生故障,则获取所述目标应用对应的所有服务节点的调用链;其中,所述服务节点包括父服务节点和子服务节点;所述调用链为所述调用链服务器根据所述父服务节点的第一标识信息和所有所述子服务节点的第二标识信息,预先生成的每个所述父服务节点和各自对应的所有所述子服务节点的调用链;
获取模块,用于根据每个所述父服务节点的第一标识信息和所述所有子服务节点的第二标识信息,获取每条所述调用链包含的所述父服务节点的第一调用数据和每条所述调用链包含的所有所述子服务节点的第二调用数据;
确定模块,用于根据获取的所述第一调用数据和所述第二调用数据确定发生故障的服务节点。
图12是本发明提供的调用链服务器的示意图。如图12所示,该实施例的调用链服务器12包括:处理器120、存储器121以及存储在所述存储器121中并可在所述处理器120上运行的计算机程序122,例如调用链生成程序。所述处理器120执行所述计算机程序122时实现上述各个调用链生成方法实施例中的步骤,例如图6所示的步骤601至602。或者,所述处理器120执行所述计算机程序122时实现上述调用链服务器实施例中各模块/单元的功能,例如图10 所示模块820的功能。
示例性的,所述计算机程序122可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器121中,并由所述处理器120执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序122在所述调用链服务器 12中的执行过程。例如,所述计算机程序122可以被分割成生成模块(虚拟装置中的模块),生成模块具体功能如下:
生成模块,用于根据所述父服务节点的第一标识信息和所有所述子服务节点的第二标识信息,预先生成的每个所述父服务节点和各自对应的所有所述子服务节点的调用链。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个通信单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种服务节点故障定位方法,应用于应用性能管理系统,其特征在于,所述应用性能管理系统包括采集服务器和调用链服务器,所述方法包括:
所述采集服务器若检测到目标应用的运行性能发生故障,则获取所述目标应用对应的所有服务节点的调用链;其中,所述服务节点包括父服务节点和子服务节点;所述调用链为所述调用链服务器根据所述父服务节点的第一标识信息和所有所述子服务节点的第二标识信息,预先生成的每个所述父服务节点和各自对应的所有所述子服务节点的调用链;
所述采集服务器根据每个所述父服务节点的第一标识信息和所述所有子服务节点的第二标识信息,获取每条所述调用链包含的所述父服务节点的第一调用数据和每条所述调用链包含的所有所述子服务节点的第二调用数据;
所述采集服务器根据获取的所述第一调用数据和所述第二调用数据确定发生故障的服务节点。
2.如权利要求1所述的服务节点故障定位方法,其特征在于,所述采集服务器若检测到目标应用的运行性能发生故障,则获取所述目标应用对应的所有服务节点的调用链之前,还包括:
所述采集服务器获取预先确定的所有应用的服务节点对应的调用数据,所述调用数据包括所述服务节点的标识信息,所述服务节点包括父服务节点和子服务节点;
所述采集服务器分别确定每个所述父服务节点的第一标识信息和所述父服务节点各自对应的所有所述子服务节点的第二标识信息,每个所述父服务节点的第一标识信息与每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息具有预设数量的相同标识字符;
所述采集服务器将每个所述父服务节点的第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息关联存储至预先确定的分布式订阅消息系统中;
所述调用链服务器从所述分布式订阅消息系统中,获取每个所述父服务节点的所述第一标识信息和各自对应的所有所述子服务节点的所述第二标识信息;
所述调用链服务器根据所述第一标识信息和所述第二标识信息生成每个所述父服务节点和各自对应的所有所述子服务节点的调用链。
3.一种调用链生成方法,应用于采集服务器,其特征在于,所述方法包括:
获取预先确定的所有应用的服务节点对应的调用数据,所述调用数据包括所述服务节点的标识信息,所述服务节点包括父服务节点和子服务节点;
分别确定每个所述父服务节点的第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息,每个所述父服务节点的第一标识信息与每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息具有预设数量的相同标识字符;
将每个所述父服务节点的第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的第二标识信息存储至预先确定的分布式订阅消息系统中;
其中,所述分布式订阅消息系统中存储有每个所述父服务节点的所述第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的所述第二标识信息,所述第一标识信息以及所述第二标识信息用于调用链服务器生成每个所述父服务节点和各自对应的所有所述子服务节点的服务调用链。
4.如权利要求3所述的调用链生成方法,其特征在于,所述将每个所述父服务节点的第一标识信息和各自对应的所有所述子服务节点的第二标识信息存储至预先确定的分布式订阅消息系统中,包括:
基于每个所述父服务节点的第一标识信息遍历预先确定的数据库中存储的映射关系,查询与每个所述父服务节点的第一标识信息相匹配的消息类别;
其中,所述消息类别为所述预先确定的分布式订阅消息系统的消息队列中存储的消息类别,所述映射关系为所述父服务节点的第一标识信息与消息类别之间的映射关系;
若查找到与目标父服务节点的所述第一标识信息相匹配的消息类别,则将所述目标父服务节点的所述第一标识信息和所述目标父服务节点对应的所有所述子服务节点的所述第二标识信息,作为相匹配的所述消息类别进行存储;所述目标父服务节点为所述父服务节点中的任一个;
若未查找到与所述目标父服务节点的所述第一标识信息相匹配的消息类别,则根据预设的消息类别生成方法,生成所述目标父服务节点的第一标识信息对应的所述消息类别;
将所述目标父服务节点的第一标识信息和所述目标父服务节点对应的所有所述子服务节点的所述第二标识信息,作为生成的所述消息类别进行存储。
5.如权利要求4所述的调用链生成方法,其特征在于,所述预设的消息类别生成方法,包括:
遍历预先确定的分布式协调服务系统中存储的所有所述父服务节点的节点信息,获得所述目标父服务节点的节点信息,所述节点信息包括调用节点的互联网协议地址信息和端口信息;
根据所述调用节点的互联网协议地址和端口信息生成所述目标父服务节点的所述第一标识信息对应的所述消息类别。
6.如权利要求5所述的调用链生成方法,其特征在于,在所述遍历预先确定的分布式协调服务系统中存储的所有所述父服务节点的节点信息,获得所述目标父服务节点的节点信息之前,包括:
向所述分布式协调服务系统发送监测所有所述应用的每个所述父服务节点的心跳信息的第一指令;
若接收到所述分布式协调服务系统返回的监测到有父服务节点的心跳信息,则向所述分布式协调服务系统发送获取该父服务节点的节点信息的第二指令;
所述第二指令用于指示所述分布式协调服务系统存储该父服务节点的节点信息。
7.一种调用链生成方法,应用于调用链服务器,其特征在于,所述方法包括:
从分布式订阅消息系统中获取每个父服务节点的第一标识信息和每个所述父服务节点各自对应的所有子服务节点的第二标识信息;
其中,每个所述父服务节点的第一标识信息与每个所述服务节点各自对应的所有所述子服务节点的第二标识信息具有预设数量的相同标识字符,所述分布式订阅消息系统中存储有每个所述父服务节点的所述第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的所述第二标识信息;
每个所述父服务节点的所述第一标识信息和每个所述父服务节点各自对应的所有所述子服务节点的所述第二标识信息,均由采集服务器根据获取的目标应用的所有服务节点对应的调用数据确定,所述采集服务器将确定的所述第一标识信息和所述第二标识信息存储至所述分布式订阅消息系统中,所述调用数据包括所述服务节点的标识信息,所述服务节点包括父服务节点和子服务节点;
根据所述第一标识信息和所述第二标识信息生成每个所述父服务节点和各自对应的所有所述子服务节点的服务调用链。
8.如权利要求7所述的调用链生成方法,其特征在于,所述从分布式订阅消息系统中获取每个父服务节点的第一标识信息和各自对应的所有子服务节点的第二标识信息,包括:
从预先确定的分布式协调服务系统中获取所述分布式订阅消息系统的每个消息类别的调用进度,所述分布式协调服务系统缓存有所述分布式订阅消息系统的每个消息类别的调用进度;
根据每个消息类别的调用进度确定每个所述父服务节点的第一标识信息和各自对应的所有所述子服务节点的第二标识信息的获取顺序;
根据所述获取顺序依次从所述分布式订阅消息系统中,获取每个所述父服务节点的第一标识信息和每个所述父服务节点各自对应的所有子服务节点的第二标识信息。
9.如权利要求7所述的调用链生成方法,其特征在于,所述调用链包括调用链标识信息以及服务节点之间的调用关系;
所述根据所述第一标识信息和所述第二标识信息生成每个所述父服务节点和各自对应的所有所述子服务节点的调用链,包括:
根据所述第一标识信息和所述第二标识信息生成每个所述父服务节点和各自对应的所有所述子服务节点的调用链标识信息以及服务节点之间的调用关系。
10.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求3至6任一项所述调用链生成方法的步骤,或实现如权利要求7至9任一项所述调用链生成方法的步骤。
CN201911029150.4A 2019-10-28 2019-10-28 服务节点故障定位方法、调用链生成方法及服务器 Active CN112737800B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911029150.4A CN112737800B (zh) 2019-10-28 2019-10-28 服务节点故障定位方法、调用链生成方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911029150.4A CN112737800B (zh) 2019-10-28 2019-10-28 服务节点故障定位方法、调用链生成方法及服务器

Publications (2)

Publication Number Publication Date
CN112737800A true CN112737800A (zh) 2021-04-30
CN112737800B CN112737800B (zh) 2023-04-28

Family

ID=75588796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911029150.4A Active CN112737800B (zh) 2019-10-28 2019-10-28 服务节点故障定位方法、调用链生成方法及服务器

Country Status (1)

Country Link
CN (1) CN112737800B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297076A (zh) * 2021-05-21 2021-08-24 建信金融科技有限责任公司 基于调用链的服务变更识别方法及装置
CN113596746A (zh) * 2021-07-22 2021-11-02 北京金山云网络技术有限公司 集群消息的处理方法、装置、电子设备和介质
CN114003472A (zh) * 2022-01-04 2022-02-01 连连(杭州)信息技术有限公司 一种数据处理方法、装置、电子设备及存储介质
CN116016109A (zh) * 2022-12-15 2023-04-25 中移信息技术有限公司 故障诊断方法、装置、设备、介质及产品
WO2023109475A1 (zh) * 2021-12-17 2023-06-22 华为技术有限公司 一种处理调用的方法、系统和设备
CN116846741A (zh) * 2023-08-31 2023-10-03 广州嘉为科技有限公司 一种告警收敛方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180253350A1 (en) * 2015-11-03 2018-09-06 Alibaba Group Holding Limited Monitoring node usage in a distributed system
CN108768752A (zh) * 2018-06-25 2018-11-06 华为技术有限公司 故障定位方法、装置以及系统
CN108900640A (zh) * 2018-08-13 2018-11-27 平安普惠企业管理有限公司 节点调用链路生成方法、装置、计算机设备及存储介质
CN109032923A (zh) * 2018-06-21 2018-12-18 深圳壹账通智能科技有限公司 基于调用链的软件测试方法、装置、终端
CN109873717A (zh) * 2019-01-18 2019-06-11 深圳壹账通智能科技有限公司 监控方法、装置、计算机设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180253350A1 (en) * 2015-11-03 2018-09-06 Alibaba Group Holding Limited Monitoring node usage in a distributed system
CN109032923A (zh) * 2018-06-21 2018-12-18 深圳壹账通智能科技有限公司 基于调用链的软件测试方法、装置、终端
CN108768752A (zh) * 2018-06-25 2018-11-06 华为技术有限公司 故障定位方法、装置以及系统
CN108900640A (zh) * 2018-08-13 2018-11-27 平安普惠企业管理有限公司 节点调用链路生成方法、装置、计算机设备及存储介质
CN109873717A (zh) * 2019-01-18 2019-06-11 深圳壹账通智能科技有限公司 监控方法、装置、计算机设备及存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297076A (zh) * 2021-05-21 2021-08-24 建信金融科技有限责任公司 基于调用链的服务变更识别方法及装置
CN113596746A (zh) * 2021-07-22 2021-11-02 北京金山云网络技术有限公司 集群消息的处理方法、装置、电子设备和介质
CN113596746B (zh) * 2021-07-22 2022-11-04 北京金山云网络技术有限公司 集群消息的处理方法、装置、电子设备和介质
WO2023109475A1 (zh) * 2021-12-17 2023-06-22 华为技术有限公司 一种处理调用的方法、系统和设备
CN114003472A (zh) * 2022-01-04 2022-02-01 连连(杭州)信息技术有限公司 一种数据处理方法、装置、电子设备及存储介质
CN114003472B (zh) * 2022-01-04 2022-04-12 连连(杭州)信息技术有限公司 一种数据处理方法、装置、电子设备及存储介质
CN116016109A (zh) * 2022-12-15 2023-04-25 中移信息技术有限公司 故障诊断方法、装置、设备、介质及产品
CN116016109B (zh) * 2022-12-15 2025-05-27 中移信息技术有限公司 故障诊断方法、装置、设备、介质及产品
CN116846741A (zh) * 2023-08-31 2023-10-03 广州嘉为科技有限公司 一种告警收敛方法、装置、设备及存储介质
CN116846741B (zh) * 2023-08-31 2023-11-28 广州嘉为科技有限公司 一种告警收敛方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112737800B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
CN112737800A (zh) 服务节点故障定位方法、调用链生成方法及服务器
US7058953B2 (en) Managing a distributed computing system
CN114745295A (zh) 数据采集方法、装置、设备和可读存储介质
US9104572B1 (en) Automated root cause analysis
CN103069749B (zh) 虚拟环境中的问题的隔离的方法和系统
WO2020018927A1 (en) System, method, and apparatus for high throughput ingestion for streaming telemetry data for network performance management
US12229032B1 (en) Evaluating machine and process performance in distributed system
US10177984B2 (en) Isolation of problems in a virtual environment
CN111770002B (zh) 测试数据转发控制方法、装置、可读存储介质和电子设备
US8443078B2 (en) Method of determining equivalent subsets of agents to gather information for a fabric
CN113656168A (zh) 一种流量的自动容灾和调度的方法、系统、介质和设备
WO2007104044A2 (en) Systems and methods for managing business issues
CN108306749B (zh) 一种监控系统报警方法、监控系统和监控装置
CN114265758A (zh) 基于软硬件一体化架构的全链路监控方法及装置
CN112131196A (zh) 一种分布式日志处理方法、装置、终端设备及存储介质
CN113132143A (zh) 服务调用追踪方法及相关产品
US8954563B2 (en) Event enrichment using data correlation
US10122602B1 (en) Distributed system infrastructure testing
CN108696559B (zh) 流处理方法及装置
CN118055000A (zh) 告警信息的生成方法和装置、存储介质及电子设备
US10949232B2 (en) Managing virtualized computing resources in a cloud computing environment
Cheng et al. Learning process models in IoT edge
WO2017189249A1 (en) Rule-governed entitlement data structure change notifications
CN115529250B (zh) 流量回放方法、装置、电子设备及存储介质
CN119854093A (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
GR01 Patent grant
GR01 Patent grant