CN108322351B - 生成拓扑图的方法和装置、故障确定方法和装置 - Google Patents

生成拓扑图的方法和装置、故障确定方法和装置 Download PDF

Info

Publication number
CN108322351B
CN108322351B CN201810179938.2A CN201810179938A CN108322351B CN 108322351 B CN108322351 B CN 108322351B CN 201810179938 A CN201810179938 A CN 201810179938A CN 108322351 B CN108322351 B CN 108322351B
Authority
CN
China
Prior art keywords
component
micro
micro service
service component
service
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.)
Active
Application number
CN201810179938.2A
Other languages
English (en)
Other versions
CN108322351A (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201810179938.2A priority Critical patent/CN108322351B/zh
Publication of CN108322351A publication Critical patent/CN108322351A/zh
Application granted granted Critical
Publication of CN108322351B publication Critical patent/CN108322351B/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/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/065Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving logical or physical relationship, e.g. grouping and hierarchies
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Exchange Systems With Centralized Control (AREA)

Abstract

本发明实施例提供了一种生成拓扑图的方法和装置,以及故障确定方法和装置,其中,生成拓扑图的方法,包括:获取各微服务组件的调用信息,一个微服务组件的调用信息表示:各微服务组件中与该微服务组件存在调用关系的其他微服务组件,各微服务组件为正在运行的微服务组件;分别针对各微服务组件,确定对应的组件节点;基于获取的各微服务组件的调用信息,确定各组件节点之间的链路;基于确定的各组件节点,以及各组件节点之间的链路,生成各微服务组件的调用关系拓扑图。应用本发明实施例能够实现生成各微服务组件之间的调用关系拓扑图。

Description

生成拓扑图的方法和装置、故障确定方法和装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种生成拓扑图的方法和装置,以及故障确定方法和装置。
背景技术
微服务架构是一项在云中部署应用和服务的新技术。以购物网站的手机应用程序生成一个订单界面为例,分别需要由负责会员管理的微服务组件提供会员信息,由负责商品管理的微服务组件提供商品信息,由负责订单管理的微服务组件提供订单信息,以及由负责财务结算的微服务组件提供价格信息等具有不同功能的微服务组件配合完成。
可见,在微服务架构中,大量的微服务组件相互紧密耦合。为了实现一个业务功能,需要调用多个微服务组件,且多个微服务组件之间的调用关系非常复杂,难以理清,在某些特殊场景下,比如当业务功能出现故障时,由于需要花费大量时间理清与该业务功能有关的所有微服务组件之间的调用关系,导致在短时间内难以定位出现故障的微服务组件。
发明内容
本发明实施例的目的在于提供生成拓扑图的方法和装置,以及故障确定方法和装置,以实现生成各微服务组件之间的调用关系拓扑图,以及根据调用关系拓扑图快速排查出现故障的微服务组件。具体技术方案如下:
本发明实施例提供了一种生成拓扑图的方法,所述方法包括:
获取各微服务组件的调用信息,一个微服务组件的调用信息表示:所述各微服务组件中与该微服务组件存在调用关系的其他微服务组件,所述各微服务组件为正在运行的微服务组件;
分别针对所述各微服务组件,确定对应的组件节点,一个微服务组件对应一个组件节点;
基于获取的所述各微服务组件的调用信息,确定各组件节点之间的链路,其中,存在调用关系的两个微服务组件,其各自对应的组件节点之间存在链路;
基于确定的各组件节点,以及各组件节点之间的链路,生成所述各微服务组件的调用关系拓扑图。
可选的,所述各微服务组件为正在运行的且预设的微服务组件。
可选的,所述各微服务组件为预设时间段内正在运行的微服务组件。
可选的,所述获取各微服务组件的调用信息的步骤,包括:
按照预设的获取周期,获取各微服务组件的调用信息。
本发明实施例又提供了一种故障确定方法,所述方法包括:
当业务功能出现故障时,确定实现所述业务功能需要直接调用的根微服务组件;
在预先生成的调用关系拓扑图中,确定与所述根微服务组件存在调用关系的分支微服务组件,所述调用关系拓扑图中的组件节点表示正在运行的微服务组件,且存在链路的两个组件节点,其各自对应的微服务组件之间存在调用关系;
在所述根微服务组件与所述分支微服务组件中,确定出现故障的微服务组件。
可选的,所述在所述根微服务组件与所述分支微服务组件中,确定出现故障的微服务组件的步骤,包括:
查看所述根微服务组件与所述分支微服务组件的状态信息;
将状态信息为故障的微服务组件,确定为出现故障的微服务组件。
本发明实施例再提供了一种生成拓扑图的装置,所述装置包括:
获取单元,用于获取各微服务组件的调用信息,一个微服务组件的调用信息表示:所述各微服务组件中与该微服务组件存在调用关系的其他微服务组件,所述各微服务组件为正在运行的微服务组件;
第一确定单元,用于分别针对所述各微服务组件,确定对应的组件节点,一个微服务组件对应一个组件节点;
第二确定单元,用于基于获取的所述各微服务组件的调用信息,确定各组件节点之间的链路,其中,存在调用关系的两个微服务组件,其各自对应的组件节点之间存在链路;
生成单元,用于基于确定的各组件节点,以及各组件节点之间的链路,生成所述各微服务组件的调用关系拓扑图。
可选的,所述各微服务组件为正在运行的且预设的微服务组件。
可选的,所述各微服务组件为预设时间段内正在运行的微服务组件。
可选的,获取单元,具体用于按照预设的获取周期,获取各微服务组件的调用信息。
本发明实施例再提供了一种故障确定装置,所述装置包括:
第一确定单元,用于当业务功能出现故障时,确定实现所述业务功能需要直接调用的根微服务组件;
第二确定单元,用于在预先生成的调用关系拓扑图中,确定与所述根微服务组件存在调用关系的分支微服务组件,所述调用关系拓扑图中的组件节点表示正在运行的微服务组件,且存在链路的两个组件节点,其各自对应的微服务组件之间存在调用关系;
第三确定单元,用于在所述根微服务组件与所述分支微服务组件中,确定出现故障的微服务组件。
可选的,所述第三确定单元,包括:查看子单元和确定子单元;
所述查看子单元,用于查看所述根微服务组件与所述分支微服务组件的状态信息;
所述确定子单元,用于将状态信息为故障的微服务组件,确定为出现故障的微服务组件。
本发明实施例再提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的生成拓扑图的方法。
本发明实施例再提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的生成拓扑图的方法。
本发明实施例再提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的故障确定方法。
本发明实施例再提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的生成拓扑图的方法。
本发明实施例再提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的生成微服务组件的故障确定方法。
本发明实施例提供的一种生成拓扑图的方法和装置,首先,获取各微服务组件的调用信息,一个微服务组件的调用信息表示:各微服务组件中与该微服务组件存在调用关系的其他微服务组件,各微服务组件为正在运行的微服务组件;然后,分别针对各微服务组件,确定对应的组件节点,一个微服务组件对应一个组件节点;并且,基于获取的各微服务组件的调用信息,确定各组件节点之间的链路,其中,存在调用关系的两个微服务组件,其各自对应的组件节点之间存在链路;最后,基于确定的各组件节点,以及各组件节点之间的链路,生成各微服务组件的调用关系拓扑图。这样,可以根据正在运行的微服务组件与其他微服务组件之间的调用关系,生成微服务组件之间的调用关系拓扑图。通过该调用关系拓扑图,能够理清一个微服务架构中正在运行的各微服务组件之间的调用关系。
本发明实施例提供的一种故障确定方法和装置,当业务功能出现故障时,能够确定实现该业务功能需要直接调用的根微服务组件,在预先生成的调用关系拓扑图中,确定与根微服务组件存在调用关系的分支微服务组件,从而在根微服务组件与分支微服务组件中,确定出现故障的微服务组件。这样,在某些特殊场景下,比如当业务功能出现故障时,可以通过该调用关系拓扑图显示的各微服务组件之间的调用关系,快速准确地排查出故障的微服务组件,提高工作效率。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例的生成拓扑图的方法的流程图;
图2为本发明实施例中的调用关系拓扑图的示意图;
图3为本发明实施例的故障确定方法的流程图;
图4为本发明实施例中步骤303的具体流程图;
图5为本发明实施例的生成微服务组件的调用关系拓扑图的系统的示意图;
图6为本发明实施例的生成拓扑图的装置的结构图;
图7为本发明实施例的故障确定装置的结构图;
图8为本发明实施例的电子设备的一种示意图;
图9为本发明实施例的电子设备的又一种示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
微服务架构是一项在云中部署应用和服务的新技术。以购物网站的手机应用程序生成一个订单界面为例,分别需要由负责会员管理的微服务组件提供会员信息,由负责商品管理的微服务组件提供商品信息,由负责订单管理的微服务组件提供订单信息,以及由负责财务结算的微服务组件提供价格信息等具有不同功能的微服务组件配合完成。
可见,在微服务架构中,大量的微服务组件相互紧密耦合。为了实现一个业务功能,需要调用多个微服务组件,且多个微服务组件之间的调用关系非常复杂,难以理清,在某些特殊场景下,比如当业务功能出现故障时,由于需要花费大量时间理清与该业务功能有关的所有微服务组件之间的调用关系,导致在短时间内难以定位出现故障的微服务组件。
为了解决上述问题,本发明实施例提供了生成拓扑图的方法和装置,以及故障确定方法和装置,可以根据正在运行的微服务组件与其他微服务组件之间的调用关系,生成微服务组件之间的调用关系拓扑图。通过该调用关系拓扑图,能够理清一个微服务架构中正在运行的各微服务组件之间的调用关系。在某些特殊场景下,比如当业务功能出现故障时,可以通过该调用关系拓扑图显示的各微服务组件之间的调用关系,快速准确地排查出故障的微服务组件,提高工作效率。
本发明实施例提供了一种生成拓扑图的方法。参见图1,图1为本发明实施例的生成拓扑图的方法的流程图,包括如下步骤:
步骤101,获取各微服务组件的调用信息。
其中,一个微服务组件的调用信息表示:各微服务组件中与该微服务组件存在调用关系的其他微服务组件,各微服务组件为正在运行的微服务组件。
在本步骤中,可以获取微服务架构下,正在运行的各微服务组件的调用信息,其中,调用信息包括:针对各微服务组件中的一个微服务组件,与该微服务组件存在调用关系的其他微服务组件。也就是说,通过本步骤,可以获取正在运行的各微服务组件之间的调用关系,以便根据正在运行的各微服务组件之间的调用关系,生成各微服务组件的调用关系拓扑图。
一种实现方式中,各微服务组件为正在运行的且预设的微服务组件。
具体的,可以通过预设的关键的微服务组件,使得在本步骤中,仅获取正在运行的关键的微服务组件之间的调用关系,而无需获取正在运行的但非关键的微服务组件之间的调用关系。其中,关键的微服务组件,可以是用户重点关注的微服务组件,也可以是高危的微服务组件,具体可以根据实际需求来预设。
又一种实现方式中,各微服务组件为预设时间段内正在运行的微服务组件。
具体的,可以通过预设时间段,使得在本步骤中,仅获取预设时间段内正在运行的微服务组件,而无需获取在预设时间段以外,正在运行的微服务组件之间的调用关系。其中,预设时间段,可以业务功能重点保障的时间段,也可以是业务功能使用最为频繁的时间段,具体可以根据实际需求来预设。
再一种实现方式中,步骤101可以包括:
按照预设的获取周期,获取各微服务组件的调用信息。
在具体实施过程中,可以按照预设的获取周期来获取各微服务组件的调用信息,以提高处理效率。当然,也可以实时获取各微服务组件的调用信息。
步骤102,分别针对各微服务组件,确定对应的组件节点。
其中,一个微服务组件对应一个组件节点。
在本步骤中,可以分别确定每个微服务组件对应的组件节点,也就是说,针对正在运行的每个微服务组件,均确定一个组件节点,以便通过后续步骤生成调用关系拓扑图。
步骤103,基于获取的各微服务组件的调用信息,确定各组件节点之间的链路。
其中,存在调用关系的两个微服务组件,其各自对应的组件节点之间存在链路。
在本步骤中,可以根据步骤101获取到的各微服务组件的调用信息,分别确定各组件节点之间的链路。也就是说,只要正在运行的两个微服务组件之间存在调用关系,就可以在这两个微服务组件对应的组件节点之间连接链路,以便通过后续步骤生成调用关系拓扑图。
步骤104,基于确定的各组件节点,以及各组件节点之间的链路,生成各微服务组件的调用关系拓扑图。
在本步骤中,可以根据步骤102确定的组件节点以及步骤103确定的组件节点之间的链路,生成正在运行的各微服务组件之间的调用关系拓扑图,以便通过该调用关系拓扑图,理清一个微服务架构中正在运行的各微服务组件之间的调用关系。
比如,在正在运行的微服务组件包括微服务组件A、微服务组件B、微服务组件C、微服务组件D和微服务组件E,微服务组件A与微服务组件B之间存在调用关系,微服务组件A与微服务组件C之间存在调用关系,微服务组件B与微服务组件E之间存在调用关系,微服务组件C与微服务组件E之间存在调用关系,微服务组件D与微服务组件E之间存在调用关系,生成的各微服务组件之间的调用关系拓扑图如图2所示,图2为本发明实施例中的调用关系拓扑图的示意图。
在图2中,圆圈A为微服务组件A对应的组件节点,圆圈B为微服务组件B对应的组件节点,圆圈C为微服务组件C对应的组件节点,圆圈D为微服务组件D对应的组件节点,圆圈E为微服务组件E对应的组件节点;并且,圆圈A与圆圈B之间存在链路,表示圆圈A与圆圈C之间存在调用关系,圆圈A与圆圈C之间存在链路,表示微服务组件A与微服务组件C之间存在调用关系,圆圈B与圆圈E之间存在链路,表示微服务组件B与微服务组件E之间存在调用关系,圆圈C与圆圈E之间存在链路,表示微服务组件C与微服务组件E之间存在调用关系,圆圈D与圆圈E之间存在链路,表示微服务组件D与微服务组件E之间存在调用关系。
可见,本发明实施例提供的生成拓扑图的方法,可以通过先获取各微服务组件的调用信息;然后,分别针对各微服务组件,确定对应的组件节点,并且基于获取的各微服务组件的调用信息,确定各组件节点之间的链路;最后,基于确定的各组件节点以及各组件节点之间的链路,生成各微服务组件的调用关系拓扑图。这样,可以根据正在运行的微服务组件与其他微服务组件之间的调用关系,生成微服务组件之间的调用关系拓扑图。通过该调用关系拓扑图,能够理清一个微服务架构中正在运行的各微服务组件之间的调用关系。
结合上述图1的具体实现方式,在另一种具体实现方式中,本发明实施例还提供了一种故障确定方法,可以在业务功能出现故障的场景下,根据图1所述的生成拓扑图的方法生成的调用关系拓扑图,快速准确地排查出故障的微服务组件。参见图3,图3为本发明实施例的故障确定方法的流程图,包括如下步骤:
步骤301,当业务功能出现故障时,确定实现该业务功能需要直接调用的根微服务组件。
在本步骤中,在业务功能出现故障的场景下,可以确定实现该业务功能需要直接调用的根微服务组件,以根据该根微服务组件,在调用关系拓扑图中确定更多的分支微服务组件。
以购物网站的手机应用程序生成一个订单界面为例,实现生成一个订单界面的业务功能需要直接调用的根微服务组件可以包括:负责会员管理的微服务组件、负责商品管理的微服务组件、负责订单管理的微服务组件、以及负责财务结算的微服务组件;可以理解的,根微服务组件为了实现自身功能,还可以调用其他的分支微服务组件。
步骤302,在预先生成的调用关系拓扑图中,确定与根微服务组件存在调用关系的分支微服务组件。
其中,调用关系拓扑图中的组件节点表示正在运行的微服务组件,且存在链路的两个组件节点,其各自对应的微服务组件之间存在调用关系。
在本步骤中,在步骤301已确定该业务功能的根微服务组件之后,可以在调用关系拓扑图中,确定与该根微服务组件存在调用关系的多个分支微服务组件,以便从根微服务组件和分支微服务组件中排查出故障的微服务组件。
其中,调用关系拓扑图可以根据图1所述的生成拓扑图的方法预先生成。
步骤303,在根微服务组件与分支微服务组件中,确定出现故障的微服务组件。
在本步骤中,在步骤301和步骤303确定出实现该业务功能需要调用的根微服务组件与分支微服务组件之后,可以在已确定的根微服务组件与分支微服务组件中,确定出现故障的微服务组件,以便修改该故障的微服务组件,恢复该业务功能。
在一种实现方式中,参考图4,图3为本发明实施例中步骤303的具体流程图,步骤303可以包括如下子步骤:
子步骤11,查看根微服务组件与分支微服务组件的状态信息。
子步骤12,将状态信息为故障的微服务组件,确定为出现故障的微服务组件。
具体的,可以通过监控设备,查看根微服务组件与分支微服务组件的状态信息,将状态信息为故障的微服务组件,确定为出现故障的微服务组件。当然,也可以通过测试各根微服务组件与各分支微服务组件的功能,来排查出现故障的微服务组件。
可见,本发明实施例提供的故障确定方法,可以通过先确定实现业务功能需要直接调用的根微服务组件;然后,在预先生成的调用关系拓扑图中,确定与根微服务组件存在调用关系的分支微服务组件;最后,在根微服务组件与分支微服务组件中,确定出现故障的微服务组件。这样,在某些特殊场景下,比如当业务功能出现故障时,可以通过该调用关系拓扑图显示的各微服务组件之间的调用关系,快速准确地排查出故障的微服务组件,提高工作效率。
本发明实施例另提供了一种生成微服务组件的调用关系拓扑图的系统。参见图5,图5为本发明实施例的生成微服务组件的调用关系拓扑图的系统的示意图。如图5所示,生成微服务组件的调用关系拓扑图的系统包括微服务组件501、服务提供者502、服务注册中心503和服务拓扑分析模块504。
生成微服务组件的调用关系拓扑图的系统的工作流程如下:
第一步:服务提供者502将所管理的各微服务组件501的调用信息注册到服务注册中心503。
第二步,服务注册中心503获取各微服务组件501的调用信息,并将获取到的各微服务组件501的调用信息发送至服务拓扑分析模块504。
其中,一个微服务组件的调用信息表示:各微服务组件中与该微服务组件存在调用关系的其他微服务组件,各微服务组件为正在运行的微服务组件。
第三步,服务拓扑分析模块504分别针对各微服务组件501,确定对应的组件节点。
其中,一个微服务组件对应一个组件节点。
第四步,服务拓扑分析模块504基于获取的各微服务组件的调用信息,确定各组件节点之间的链路。
其中,存在调用关系的两个微服务组件,其各自对应的组件节点之间存在链路。
第五步,服务拓扑分析模块504基于确定的各组件节点,以及各组件节点之间的链路,生成各微服务组件的调用关系拓扑图。
需要说明的是,生成微服务组件的调用关系拓扑图的系统的处理流程中的细节和技术效果,可以参考图1至图3所示的生成拓扑图的方法中的相关说明。
可见,本发明实施例提供的生成微服务组件的调用关系拓扑图的系统,能够根据正在运行的微服务组件与其他微服务组件之间的调用关系,生成微服务组件之间的调用关系拓扑图。通过该调用关系拓扑图,能够理清一个微服务架构中正在运行的各微服务组件之间的调用关系。在某些特殊场景下,比如当业务功能出现故障时,可以通过该调用关系拓扑图显示的各微服务组件之间的调用关系,快速准确地排查出故障的微服务组件,提高工作效率。
本发明实施例再提供了一种预览视频的装置。参见图6,图6为本发明实施例的生成拓扑图的装置的结构图,该装置包括:
获取单元601,用于获取各微服务组件的调用信息,一个微服务组件的调用信息表示:各微服务组件中与该微服务组件存在调用关系的其他微服务组件,各微服务组件为正在运行的微服务组件;
第一确定单元602,用于分别针对各微服务组件,确定对应的组件节点,一个微服务组件对应一个组件节点;
第二确定单元603,用于基于获取的各微服务组件的调用信息,确定各组件节点之间的链路,其中,存在调用关系的两个微服务组件,其各自对应的组件节点之间存在链路;
生成单元604,用于基于确定的各组件节点,以及各组件节点之间的链路,生成各微服务组件的调用关系拓扑图。
可选的,各微服务组件为正在运行的且预设的微服务组件。
可选的,各微服务组件为预设时间段内正在运行的微服务组件。
可选的,获取单元601,具体用于按照预设的获取周期,获取各微服务组件的调用信息。
可见,本发明实施例提供的生成拓扑图的装置,可以根据正在运行的微服务组件与其他微服务组件之间的调用关系,生成微服务组件之间的调用关系拓扑图。通过该调用关系拓扑图,能够理清一个微服务架构中正在运行的各微服务组件之间的调用关系。
本发明实施例再提供了一种故障确定装置。参见图7,图7为本发明实施例的故障确定装置的结构图,该装置包括:
第一确定单元701,用于当业务功能出现故障时,确定实现业务功能需要直接调用的根微服务组件;
第二确定单元702,用于在预先生成的调用关系拓扑图中,确定与根微服务组件存在调用关系的分支微服务组件,调用关系拓扑图中的组件节点表示正在运行的微服务组件,且存在链路的两个组件节点,其各自对应的微服务组件之间存在调用关系;
第三确定单元703,用于在根微服务组件与分支微服务组件中,确定出现故障的微服务组件。
可选的,第三确定单元703,包括:查看子单元和确定子单元;
查看子单元,用于查看根微服务组件与分支微服务组件的状态信息;
确定子单元,用于将状态信息为故障的微服务组件,确定为出现故障的微服务组件。
可见,本发明实施例提供的生成拓扑图的装置,可以通过先确定实现业务功能需要直接调用的根微服务组件;然后,在预先生成的调用关系拓扑图中,确定与根微服务组件存在调用关系的分支微服务组件;最后,在根微服务组件与分支微服务组件中,确定出现故障的微服务组件。这样,在某些特殊场景下,比如当业务功能出现故障时,可以通过该调用关系拓扑图显示的各微服务组件之间的调用关系,快速准确地排查出故障的微服务组件,提高工作效率。
本发明实施例再提供了一种电子设备,参考图8,图8为本发明实施例的电子设备的一种示意图,如图8所示,电子设备包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:
获取各微服务组件的调用信息,一个微服务组件的调用信息表示:各微服务组件中与该微服务组件存在调用关系的其他微服务组件,各微服务组件为正在运行的微服务组件;
分别针对各微服务组件,确定对应的组件节点,一个微服务组件对应一个组件节点;
基于获取的各微服务组件的调用信息,确定各组件节点之间的链路,其中,存在调用关系的两个微服务组件,其各自对应的组件节点之间存在链路;
基于确定的各组件节点,以及各组件节点之间的链路,生成各微服务组件的调用关系拓扑图。
可见,本发明实施例提供的电子设备,可以根据正在运行的微服务组件与其他微服务组件之间的调用关系,生成微服务组件之间的调用关系拓扑图。通过该调用关系拓扑图,能够理清一个微服务架构中正在运行的各微服务组件之间的调用关系。
本发明实施例再提供了一种电子设备,参考图9,图9为本发明实施例的电子设备的又一种示意图,如图9所示,电子设备包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
当业务功能出现故障时,确定实现业务功能需要直接调用的根微服务组件;
在预先生成的调用关系拓扑图中,确定与根微服务组件存在调用关系的分支微服务组件,调用关系拓扑图中的组件节点表示正在运行的微服务组件,且存在链路的两个组件节点,其各自对应的微服务组件之间存在调用关系;
在根微服务组件与分支微服务组件中,确定出现故障的微服务组件。
可见,本发明实施例提供的电子设备,可以通过先确定实现业务功能需要直接调用的根微服务组件;然后,在预先生成的调用关系拓扑图中,确定与根微服务组件存在调用关系的分支微服务组件;最后,在根微服务组件与分支微服务组件中,确定出现故障的微服务组件。这样,在某些特殊场景下,比如当业务功能出现故障时,可以通过该调用关系拓扑图显示的各微服务组件之间的调用关系,快速准确地排查出故障的微服务组件,提高工作效率。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的再一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的生成拓扑图的方法。
在本发明提供的再一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的故障确定方法。
在本发明提供的再一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的生成拓扑图的方法。
在本发明提供的再一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的故障确定方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

Claims (11)

1.一种故障确定方法,其特征在于,应用于一种生成微服务组件的调用关系拓扑图的系统,所述系统包括微服务组件、服务提供者、服务注册中心和服务拓扑分析模块,所述方法包括:
所述服务提供者将所管理的各微服务组件的调用信息注册到所述服务注册中心;
所述服务注册中心获取所述各微服务组件的调用信息,并将获取到的所述各微服务组件的调用信息发送至所述服务拓扑分析模块;其中,一个微服务组件的调用信息表示:所述各微服务组件中与该微服务组件存在调用关系的其他微服务组件,所述各微服务组件为正在运行的微服务组件;
所述服务拓扑分析模块分别针对所述各微服务组件,确定对应的组件节点,一个微服务组件对应一个组件节点;
所述服务拓扑分析模块基于获取的所述各微服务组件的调用信息,确定各组件节点之间的链路,其中,存在调用关系的两个微服务组件,其各自对应的组件节点之间存在链路;
所述服务拓扑分析模块基于确定的各组件节点,以及各组件节点之间的链路,生成所述各微服务组件的调用关系拓扑图;
当业务功能出现故障时,确定实现所述业务功能需要直接调用的根微服务组件;
在所述调用关系拓扑图中,确定与所述根微服务组件存在调用关系的分支微服务组件,所述调用关系拓扑图中的组件节点表示正在运行的微服务组件,且存在链路的两个组件节点,其各自对应的微服务组件之间存在调用关系;
在所述根微服务组件与所述分支微服务组件中,确定出现故障的微服务组件。
2.根据权利要求1所述的方法,其特征在于,
所述各微服务组件为正在运行的且预设的微服务组件。
3.根据权利要求1所述的方法,其特征在于,
所述各微服务组件为预设时间段内正在运行的微服务组件。
4.根据权利要求1所述的方法,其特征在于,
获取各微服务组件的调用信息的步骤,包括:
按照预设的获取周期,获取各微服务组件的调用信息。
5.根据权利要求1所述的方法,其特征在于,所述在所述根微服务组件与所述分支微服务组件中,确定出现故障的微服务组件的步骤,包括:
查看所述根微服务组件与所述分支微服务组件的状态信息;
将状态信息为故障的微服务组件,确定为出现故障的微服务组件。
6.一种故障确定装置,其特征在于,所述装置包括:
注册单元,用于将服务提供者所管理的各微服务组件的调用信息注册到服务注册中心;
获取单元,用于获取各微服务组件的调用信息,一个微服务组件的调用信息表示:所述各微服务组件中与该微服务组件存在调用关系的其他微服务组件,所述各微服务组件为正在运行的微服务组件;第一确定单元,用于分别针对所述各微服务组件,确定对应的组件节点,一个微服务组件对应一个组件节点;
第二确定单元,用于基于获取的所述各微服务组件的调用信息,确定各组件节点之间的链路,其中,存在调用关系的两个微服务组件,其各自对应的组件节点之间存在链路;
生成单元,用于基于确定的各组件节点,以及各组件节点之间的链路,生成所述各微服务组件的调用关系拓扑图;
第一确定单元,用于当业务功能出现故障时,确定实现所述业务功能需要直接调用的根微服务组件;
第二确定单元,用于在所述调用关系拓扑图中,确定与所述根微服务组件存在调用关系的分支微服务组件,所述调用关系拓扑图中的组件节点表示正在运行的微服务组件,且存在链路的两个组件节点,其各自对应的微服务组件之间存在调用关系;
第三确定单元,用于在所述根微服务组件与所述分支微服务组件中,确定出现故障的微服务组件。
7.根据权利要求6所述的装置,其特征在于,
所述各微服务组件为正在运行的且预设的微服务组件。
8.根据权利要求6所述的装置,其特征在于,
所述各微服务组件为预设时间段内正在运行的微服务组件。
9.根据权利要求6所述的装置,其特征在于,
获取单元,具体用于按照预设的获取周期,获取各微服务组件的调用信息。
10.根据权利要求6所述的装置,其特征在于,
所述第三确定单元,包括:查看子单元和确定子单元;
所述查看子单元,用于查看所述根微服务组件与所述分支微服务组件的状态信息;
所述确定子单元,用于将状态信息为故障的微服务组件,确定为出现故障的微服务组件。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
CN201810179938.2A 2018-03-05 2018-03-05 生成拓扑图的方法和装置、故障确定方法和装置 Active CN108322351B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810179938.2A CN108322351B (zh) 2018-03-05 2018-03-05 生成拓扑图的方法和装置、故障确定方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810179938.2A CN108322351B (zh) 2018-03-05 2018-03-05 生成拓扑图的方法和装置、故障确定方法和装置

Publications (2)

Publication Number Publication Date
CN108322351A CN108322351A (zh) 2018-07-24
CN108322351B true CN108322351B (zh) 2021-09-10

Family

ID=62901160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810179938.2A Active CN108322351B (zh) 2018-03-05 2018-03-05 生成拓扑图的方法和装置、故障确定方法和装置

Country Status (1)

Country Link
CN (1) CN108322351B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109672662B (zh) * 2018-10-11 2021-03-26 中山大学 一种微服务环境中服务依赖关系构建方法
CN109634816A (zh) * 2018-11-27 2019-04-16 平安科技(深圳)有限公司 应用管理方法及终端设备
CN109710446A (zh) * 2018-12-28 2019-05-03 江苏满运软件科技有限公司 支付调用过程校验方法、系统、设备以及介质
CN109873715B (zh) * 2019-01-11 2021-07-02 中山大学 一种微服务架构下的服务调用关系合理性检测方法
CN109885458A (zh) * 2019-01-16 2019-06-14 深圳壹账通智能科技有限公司 基于cat的监控方法、装置、计算机系统及存储介质
CN109933452B (zh) * 2019-03-22 2020-06-19 中国科学院软件研究所 一种面向异常传播的微服务智能监测方法
CN110417574B (zh) * 2019-05-21 2022-01-07 腾讯科技(深圳)有限公司 一种拓扑分析方法、装置和存储介质
CN110287081A (zh) * 2019-06-21 2019-09-27 腾讯科技(成都)有限公司 一种服务监控系统和方法
CN110442641B (zh) * 2019-08-06 2022-07-12 中国工商银行股份有限公司 一种链路拓扑图展示方法、装置、存储介质及设备
CN110609761B (zh) * 2019-09-06 2020-10-16 北京三快在线科技有限公司 确定故障源的方法、装置、存储介质和电子设备
CN111049878B (zh) * 2019-10-23 2023-03-21 平安科技(深圳)有限公司 微服务调用链具象化的方法、装置、电子装置及存储介质
CN110943858B (zh) * 2019-11-21 2022-07-12 中国联合网络通信集团有限公司 一种故障定位方法及装置
CN113051446A (zh) * 2019-12-26 2021-06-29 百度国际科技(深圳)有限公司 拓扑关系查询方法、装置、电子设备和介质
CN111242428A (zh) * 2019-12-31 2020-06-05 华为技术有限公司 微服务处理方法、装置、设备及存储介质
CN111506505A (zh) * 2020-04-13 2020-08-07 北京奇艺世纪科技有限公司 一种测试用例获取方法及装置
CN111679953B (zh) * 2020-06-09 2022-04-12 平安科技(深圳)有限公司 基于人工智能的故障节点识别方法、装置、设备和介质
US20220083876A1 (en) * 2020-09-17 2022-03-17 International Business Machines Corporation Shiftleft topology construction and information augmentation using machine learning
CN112287183A (zh) * 2020-10-30 2021-01-29 北京字节跳动网络技术有限公司 一种链路拓扑图展示方法、装置及计算机存储介质
CN112416318B (zh) * 2020-11-03 2021-10-08 前海飞算云智软件科技(深圳)有限公司 微服务开发方法、装置、存储介质及电子设备
CN112615743B (zh) * 2020-12-18 2022-09-16 南京云柜网络科技有限公司 拓扑图绘制方法及装置
CN113014435B (zh) * 2021-03-15 2022-10-11 杭州米络星科技(集团)有限公司 链路探测方法、装置、电子设备及存储介质
CN115599881A (zh) * 2021-06-24 2023-01-13 中兴通讯股份有限公司(Cn) 工作流创建方法、系统、电子设备和计算机可读存储介质
CN115766838A (zh) * 2021-09-01 2023-03-07 中兴通讯股份有限公司 微服务逻辑网络及其构建方法、装置、设备、可读介质
CN115016905A (zh) * 2022-04-14 2022-09-06 北京字节跳动网络技术有限公司 一种调用拓扑图生成方法及装置
CN117453280B (zh) * 2023-09-12 2024-05-14 湖南长银五八消费金融股份有限公司 一种代码拓扑和业务拓扑生成方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102308522A (zh) * 2011-07-21 2012-01-04 华为技术有限公司 一种定位网络故障的方法、设备及系统
CN103716287A (zh) * 2012-09-29 2014-04-09 西门子公司 一种信息泄露路径分析方法和装置
CN104777401A (zh) * 2015-03-18 2015-07-15 航天科工深圳(集团)有限公司 电网故障定位方法
JP2016012781A (ja) * 2014-06-27 2016-01-21 日本電信電話株式会社 パケット転送経路設定回路、パケット転送スイッチ、パケット転送経路設定方法及びパケット転送方法
CN106209400A (zh) * 2015-04-30 2016-12-07 华为技术有限公司 一种定位故障的方法和设备
CN106790718A (zh) * 2017-03-16 2017-05-31 北京搜狐新媒体信息技术有限公司 服务调用链路分析方法及系统
CN108449205A (zh) * 2018-03-05 2018-08-24 深圳市物联微电子有限公司 一种树型拓扑结构无线自组网链路故障定位方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102308522A (zh) * 2011-07-21 2012-01-04 华为技术有限公司 一种定位网络故障的方法、设备及系统
CN103716287A (zh) * 2012-09-29 2014-04-09 西门子公司 一种信息泄露路径分析方法和装置
JP2016012781A (ja) * 2014-06-27 2016-01-21 日本電信電話株式会社 パケット転送経路設定回路、パケット転送スイッチ、パケット転送経路設定方法及びパケット転送方法
CN104777401A (zh) * 2015-03-18 2015-07-15 航天科工深圳(集团)有限公司 电网故障定位方法
CN106209400A (zh) * 2015-04-30 2016-12-07 华为技术有限公司 一种定位故障的方法和设备
CN106790718A (zh) * 2017-03-16 2017-05-31 北京搜狐新媒体信息技术有限公司 服务调用链路分析方法及系统
CN108449205A (zh) * 2018-03-05 2018-08-24 深圳市物联微电子有限公司 一种树型拓扑结构无线自组网链路故障定位方法

Also Published As

Publication number Publication date
CN108322351A (zh) 2018-07-24

Similar Documents

Publication Publication Date Title
CN108322351B (zh) 生成拓扑图的方法和装置、故障确定方法和装置
CN108400904B (zh) 一种基于微服务架构的健康检查方法和装置
CN109032824A (zh) 数据库校验方法、装置、计算机设备和存储介质
CN109299015B (zh) 一种软件测试方法、装置及系统
US10630399B2 (en) Testing distributed applications that have an established exchange in an advanced message queuing protocol (AMQP) message broker
CN111475376A (zh) 处理测试数据的方法、装置、计算机设备和存储介质
CN108390786B (zh) 一种业务运维方法、装置及电子设备
CN113315828B (zh) 一种流量录制方法、装置及流量录制设备、存储介质
CN113141405B (zh) 服务访问方法、中间件系统、电子设备和存储介质
CN110740057A (zh) 一种业务部署方法以及区块链平台
US20110047274A1 (en) System and Method to Manage a Policy Related to a Network-Based Service
CN111813418A (zh) 分布式链路跟踪方法、装置、计算机设备及存储介质
CN115705190A (zh) 依赖程度的确定方法及装置
CN112650689A (zh) 测试方法、装置、电子设备及存储介质
CN112115103A (zh) 文件地址显示方法、装置、电子设备及可读存储介质
CN115037653B (zh) 业务流量监控方法、装置、电子设备和存储介质
CN111884932B (zh) 一种链路确定方法、装置、设备和计算机可读存储介质
CN114968822A (zh) 接口测试方法、装置、计算机设备及存储介质
CN110618943B (zh) 安防服务测试方法、装置、电子设备及可读存储介质
CN113419952A (zh) 云服务管理场景测试装置与方法
CN114285756A (zh) 服务调用依赖关系分析方法及相关装置
CN112579325A (zh) 一种业务对象的处理方法、装置、电子设备和存储介质
CN111225075A (zh) 物联网定向访问业务的配置方法及装置
CN115065627B (zh) 参数修改方法、装置、电子设备及存储介质
CN112667447B (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