一种链路拓扑图展示方法、装置及计算机存储介质
技术领域
本公开涉及数据可视化技术领域,具体而言,涉及一种链路拓扑图展示方法、装置及计算机存储介质。
背景技术
在微服务架构中,一般需要调用很多服务节点才能完成一项功能,且多个服务节点在通过设定的服务方法进行调用时,会发生流量流转。当前监测各个服务节点调用过程中的流量分布情况是微服务治理的关键环节。
在用户对使用微服务架构实现的某个功能进行流量监测时,服务器会将整个架构的流量流转情况展示给用户,由于整个架构的流量流转情况中包含大量的服务节点、服务方法以及流量数据,用户无法直观的获取到自己关注的服务节点之间的流量分布情况,流量信息查看效率较低。
发明内容
本公开实施例至少提供一种链路拓扑图展示方法、装置及计算机存储介质。
第一方面,本公开实施例提供了一种链路拓扑图展示方法,所述方法包括:
根据用户选择的目标中心节点,确定并展示与所述目标中心节点关联的多个上下游节点;
确定所述多个上下游节点中被用户选择的至少一个目标上下游节点;
基于所述目标中心节点、所述至少一个目标上下游节点、以及所述目标中心节点与每个所述目标上下游节点之间的调用方法,生成并展示当前链路拓扑图。
在一种可能的实施方式中,生成并展示当前链路拓扑图之后,还包括:
响应针对所述当前链路拓扑图中任一所述目标上下游节点的目标触发操作,将该目标上下游节点作为新的目标中心节点,确定并展示与所述新的目标中心节点关联的多个上下游节点;
确定与所述新的目标中心节点关联的所述多个上下游节点中被用户选择的至少一个新的目标上下游节点;
基于所述当前链路拓扑图、所述至少一个新的目标上下游节点、以及所述新的目标中心节点与每个所述新的目标上下游节点之间的调用方法,生成并展示更新后的当前链路拓扑图。
在一种可能的实施方式中,根据用户选择的目标中心节点,确定并展示与所述目标中心节点关联的多个上下游节点,包括:
根据用户选择的目标中心节点,以及存储的链路拓扑信息,确定并展示所述目标中心节点关联的多个上下游节点。
在一种可能的实施方式中,展示当前链路拓扑图,包括:
在当前页面同步展示所述多个上下游节点和所述当前链路拓扑图。
在一种可能的实施方式中,在当前页面同步展示所述多个上下游节点和所述当前链路拓扑图,包括:
在当前页面的第一区域展示所述目标中心节点的上游节点、第二区域展示所述目标中心节点的下游节点、以及第三区域展示所述当前链路拓扑图;所述第二区域为位于所述第一区域和第三区域之间的区域。
在一种可能的实施方式中,确定所述多个上下游节点中被用户选择的至少一个目标上下游节点之后,所述方法还包括:
将展示的所述多个上下游节点中的目标上下游节点进行突出显示。
在一种可能的实施方式中,将展示的所述多个上下游节点中的目标上下游节点进行突出显示,包括:
将展示的所述多个上下游节点中的目标上下游节点进行置顶显示和/或为所述目标上下游节点添加预设标识符。
在一种可能的实施方式中,在当前页面同步展示所述多个上下游节点和所述当前链路拓扑图之后,所述方法还包括:
响应全局查看指令,对所述当前链路拓扑图进行全页面展示。
在一种可能的实施方式中,生成并展示当前链路拓扑图,还包括:
根据用户设置的错误率阈值,在所述当前链路拓扑图中存在目标调用方法对应的错误率超过所述错误率阈值时,在当前链路拓扑图中对所述目标调用方法对应的连接边进行突出显示。
第二方面,本公开实施例还提供了一种链路拓扑图展示装置,包括:
第一展示模块,用于根据用户选择的目标中心节点,确定并展示与所述目标中心节点关联的多个上下游节点。
确定模块,用于确定所述多个上下游节点中被用户选择的至少一个目标上下游节点。
第二展示模块,用于基于所述目标中心节点、所述至少一个目标上下游节点、以及所述目标中心节点与每个所述目标上下游节点之间的调用方法,生成并展示当前链路拓扑图。
在一种可能的实施方式中,所述装置还包括更新模块,具体用于响应针对所述当前链路拓扑图中任一所述目标上下游节点的目标触发操作,将该目标上下游节点作为新的目标中心节点,确定并展示与所述新的目标中心节点关联的多个上下游节点;确定与所述新的目标中心节点关联的所述多个上下游节点中被用户选择的至少一个新的目标上下游节点;基于所述当前链路拓扑图、所述至少一个新的目标上下游节点、以及所述新的目标中心节点与每个所述新的目标上下游节点之间的调用方法,生成并展示更新后的当前链路拓扑图。
在一种可能的实施方式中,所述第一展示模块,具体用于根据用户选择的目标中心节点,以及存储的链路拓扑信息,确定并展示与所述目标中心节点关联的多个上下游节点。
在一种可能的实施方式中,所述第二展示模块,具体用于在当前页面同步展示所述多个上下游节点和所述当前链路拓扑图。
在一种可能的实施方式中,所述第二展示模块,还具体用于在当前页面的第一区域展示所述目标中心节点的上游节点、第二区域展示所述目标中心节点的下游节点、以及第三区域展示所述当前链路拓扑图;所述第二展示区域为位于所述第一区域和第三区域之间的区域。
在一种可能的实施方式中,所述第二展示模块,还具体用于将展示的所述多个上下游节点中的目标上下游节点进行突出显示。
在一种可能的实施方式中,所述第二展示模块,还具体用于将展示的所述多个上下游节点中的目标上下游节点进行置顶显示和/或为所述目标上下游节点添加预设标识符。
在一种可能的实施方式中,所述装置还包括第三展示模块,用于响应全局查看指令,对所述当前链路拓扑图进行全页面展示。
在一种可能的实施方式中,所述第二展示模块,还具体用于根据用户设置的错误率阈值,在所述当前链路拓扑图中存在目标调用方法对应的错误率超过所述错误率阈值时,在当前链路拓扑图中对所述目标调用方法对应的连接边进行突出显示。
第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本公开实施例提供的链路拓扑图展示方法、装置及计算机存储介质,当用户选择目标中心节点后,服务器会将与目标中心节点关联的多个上下游节点展示给用户,用户可以在上述多个上下游节点中选择自己关注的目标上下游节点,在用户选择至少一个目标上下游节点后,服务器基于目标中心节点与每个目标上下游节点之间的调用方法,生成当前链路拓扑图;这里,当前链路拓扑图中仅包含用户选择的目标中心节点、用户选择的目标上下游节点、以及基于上述目标中心节点与上述目标上下游节点之间的调用方法生成的用于连接上述目标中心节点与上述目标上下游节点的调用路径,从而用户能够直观的查看到自己关注的服务节点之间的流量分布情况,提高了流量信息的查看效率。
进一步的,用户在对上述链路拓扑图中的目标上下游节点的上下游的流量分布感兴趣时,可以继续对链路拓扑图进行扩展:服务器可以将链路拓扑图中被选中的目标上下游节点作为新的目标中心节点,并将与该新的目标中心节点关联的多个上下游节点展示给用户,用户可以在上述多个上下游节点中选择自己关注的新的目标上下游节点,服务器基于新的目标中心节点与每个新的目标上下游节点之间的调用方法,生成更新后的当前链路拓扑图,从而实现对链路拓扑图的快速扩展,由此实现了对上下游流量分布情况的连续性扩展查询。
关于上述链路拓扑图展示装置、电子设备、及计算机可读存储介质的效果描述参见上述链路拓扑图展示方法的说明,这里不再赘述。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种链路拓扑图展示方法的流程图;
图2示出了本公开实施例所提供的通过链路拓扑图展示方法,确定的与目标中心节点关联的上下游节点的展示页面的示意图;
图3示出了本公开实施例所提供的一种当前链路拓扑图的展示页面的示意图;
图4示出了本公开实施例所提供的一种当前链路拓扑图全局展示页面的示意图;
图5示出了本公开实施例所提供的一种更新当前链路拓扑图的方法的流程图;
图6示出了本公开实施例所提供的一种更新后的当前链路拓扑图的展示页面的示意图;
图7示出了本公开实施例所提供的一种链路拓扑图展示装置的示意图;
图8示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,在用户对使用微服务架构实现的某个功能进行流量监测时,服务器会将整个架构的流量流转情况展示给用户,由于整个架构的流量流转情况中包含大量的服务节点、服务方法以及流量数据,用户无法直观的获取到自己关注的服务节点之间的流量分布情况,流量信息查看效率较低。
基于上述研究,本公开提供了一种链路拓扑图展示方法、装置及计算机存储介质,当用户选择目标中心节点后,服务器会将与目标中心节点关联的多个上下游节点展示给用户,用户可以在上述多个上下游节点中选择自己关注的目标上下游节点,在用户选择至少一个目标上下游节点后,服务器基于目标中心节点与每个目标上下游节点之间的调用方法,生成当前链路拓扑图;这里,当前链路拓扑图中仅包含用户选择的目标中心节点、用户选择的目标上下游节点、以及基于上述目标中心节点与上述目标上下游节点之间的调用方法生成的用于连接上述目标中心节点与上述目标上下游节点的调用路径,从而用户能够直观的查看到自己关注的服务节点之间的流量分布情况,提高了流量信息的查看效率。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种链路拓扑图展示方法进行详细介绍,本公开实施例所提供的链路拓扑图展示方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该链路拓扑图展示方法可以通过处理器服务存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为服务器为例对本公开实施例提供的链路拓扑图展示方法加以说明。
实施例一
在微服务架构中,一般需要调用很多服务节点才能完成一项功能,对上述功能中的多个服务节点在调用过程中的流量监测是当前服务治理的关键环节,本公开实施例通过下述步骤S101~步骤S103,生成用户关心的服务节点之间的链路拓扑图,并将上述链路拓扑图展示给用户,使用户能够通过上述链路拓扑图监测自己关注的服务节点之间的流量分布情况,具体描述如下。
参见图1所示,为本公开实施例提供的链路拓扑图展示方法的流程图,所述方法包括步骤S101~S103,其中:
S101、根据用户选择的目标中心节点,确定并展示与所述目标中心节点关联的多个上下游节点。
这里,若在开发一项功能时,设置该功能的架构为微服务架构,则该项功能需要调用多个服务节点才能实现。
其中,目标中心节点为用户在该项功能需要调用的多个服务节点中选择的自己关注的服务节点;这里,用户可以在初始服务节点输入框中输入自己关注的服务节点作为目标中心节点,也可以在服务节点列表中选择自己关注的服务节点作为目标中心节点。
这里,该项功能中的多个服务节点中每个服务节点可以通过预设的调用方法进行调用,且调用过程中会显示服务节点之间的流量分布情况。
其中,上下游节点为在微服务框架中,通过预设的调用方法调用出的与目标中心节点关联的服务节点。
这里,服务器中预先存储有链路拓扑信息;其中,链路拓扑信息中包含微服务框架结构中全部的服务节点、各个服务节点之间上下游关系、以及各个服务节点对应的调用方法。
这里,与目标中心节点关联的多个上下游节点可以通过上游节点列表、下游节点列表的方式展示给用户。
在具体实施中,用户在服务节点列表中选择目标中心节点后,服务器根据用户选择的目标中心节点、以及服务器中预先存储的链路拓扑信息中该目标中心节点在微服务框架结构中与其他服务节点之间的上下游关系,确定该目标中心节点关联的上下游节点,并将该目标中心节点关联的上下游节点展示给用户。
示例性的,若服务器根据用户选择的目标中心节点point1、以及服务器根据预先存储的链路拓扑信息中该目标中心节点point1在微服务框架结构中与其他服务节点之间的上下游关系,确定与point1关联的多个上游节点为point2、point3、point4、point5;多个下游节点为point6、point7、point8、point9;通过上游节点列表和下游节点列表将上游节点和下游节点分别展示给用户,具体的展示页面如图2所示,图2示出的展示页面中包括:用户选择的初始服务节点:point1,该目标中心节点对应的多个调用方法包括:调用方法1、调用方法2、调用方法3、调用方法4、调用方法5(其中,用户可以在页面中给出的调用方法列表中选中目标中心节点对应的调用方法,这里,调用方法列表在页面中可以用“下拉三角形”指示用户点击,当用户点击页面中服务方法框中的“下拉三角形”按钮时,会将调用方法列表展示给用户,用户可以在调用方法列表中选择调用方法),上游节点列表:point2、point3、point4、point5,下游节点列表:point6、point7、point8、point9,当前中心节点:point1;图2示出的展示页面还包括指示用户用于对上下游节点进行查找的“查找节点”输入框以及查找按钮;还包括用于提示用户的进行相关操作的指示信息和点击按键,可以包括:用于提示用户进行渲染链路拓扑图的“渲染链路图”按钮,用于提示用户查看上一步操作的“上一步”按钮和用于提示用户进行链路拓扑图预览的“生成预览”按钮。
在具体实施中,用户可以在上述目标中心节点关联的上下游节点中选择自己关注的服务节点,并基于步骤S102~步骤S103,生成用于监测目标中心节点与自己关注的服务节点之间流量分布情况的链路拓扑图,具体描述如下。
S102、确定所述多个上下游节点中被用户选择的至少一个目标上下游节点。
在具体实施中,用户在步骤S101展示的目标中心节点关联的上下游节点中对自己关注的上下游节点进行选中触发操作,服务器在接收到用户针对至少一个上下游节点的选中触发操作后,确定被用户选择的至少一个目标上下游节点,并通过步骤S103,生成当前链路拓扑图。
在一种可能的实施方式中,可以将被用户选择的目标上下游节点在展示页面上进行突出显示;这里,可以将被用户选择的目标上下游节点置顶显示和/或为目标上下游节点添加预设标识符;其中,预设标识符可以为星标。
示例性的,用户根据图2所示的展示页面中的上下游节点列表,选择自己关注的目标上下游节点:point3、point4、point8;服务器在接收到用户对目标上下游节点的选中触发操作后,确定被用户选择的目标上游节点为:point3、point4、目标下游节点为:point8;并将被用户选择的目标上下游节点置顶显示,并在被用户选择的目标上下节点添加星标。
S103、基于所述目标中心节点、所述至少一个目标上下游节点、以及所述目标中心节点与每个所述目标上下游节点之间的调用方法,生成并展示当前链路拓扑图。
其中,当前链路拓扑图中包括目标中心节点、用户选择的至少一个目标上下游节点、以及连接目标中心节点与每个目标上下游节点的调用路径;这里,调用路径中包含目标中心节点与每个目标上下游节点之间的流量分布情况。
这里,由于目标中心节点与基于步骤S102确定的被用户选择的至少一个目标上下游节点中的每个目标上下游节点之间包含至少一种调用方法,因此可以通过下述方法生成连接目标中心节点与每个目标上下游节点的调用路径:当目标中心节点与目标上下游节点之间包含多种调用方法时,服务器可以基于预设合并策略,将上述多种调用方法进行合并,并将上述多种调用方法中每种调用方法对应的流量分布情况相加,得到目标中心节点与目标上下游节点之间调用路径,这里,调用路径中包含的流量分布情况为上述多种调用方法中每种调用方法对应的流量分布情况之和;当目标中心节点与目标上下游节点之间仅包含一种调用方法时,则直接将该调用方法作为目标中心节点与目标上下游节点之间的调用路径,这里,调用路径中包含的流量分布情况为该调用方法对应的流量分布情况。
在具体实施中,在确定目标中心节点与每个目标上下游节点之间的调用路径之后;服务器基于用户选择的目标中心节点、以及用户选择的每个目标上下游节点、以及连接目标中心节点与每个目标上下游节点之间的调用路径,生成当前链路拓扑图,并将上述当前链路拓扑图展示给用户,以使用户能够通过上述当前链路拓扑图监控目标中心节点与每个目标上下游节点之间的流量分布情况。
在一种可能的实施方式中,可以在当前页面同步展示所述多个上下游节点和所述当前链路拓扑图。
具体的,可以在当前页面的第一区域展示与目标中心节点关联的多个上游节点,在第二区域展示与目标中心节点关联的多个下游节点,在第三区域展示通过步骤S101~S103生成的当前链路拓扑图;其中,第二区域可以为位于第一区域和第三区域之间的区域。
在一种可能的实施方式中,为了便于用户在当前链路拓扑图中查看到目标中心节点,可以在生成并展示当前链路拓扑图时,将目标中心节点进行突出显示,其中,突出显示的方法可以是将目标中心节点标蓝、也可以是对目标中心节点进行高亮显示,还可以用在节点中画斜线的方式突出目标中心节点。
示例性的,当用户选择的目标中心节点为point1,服务器根据预先存储的链路拓扑信息中该目标中心节点point1在微服务框架结构中与其他服务节点之间的上下游关系,确定与point1关联的上游节点为point2、point3、point4、point5;下游节点为point6、point7、point8、point9;并将上述与point1关联的上下游节点point2、point3、point4、point5、point6、point7、point8、point9通过上下游节点列表的方式展示给用户,具体展示页面如图2所示;用户根据图2所示的展示页面中的上下游节点列表,选择自己关注的目标上下游节点:point3、point4、point8;服务器基于用户对目标上下游节点的选中触发操作,确定被用户选择的目标上游节点为:point3、point4、目标下游节点为:point8;若目标中心节点point1对应的调用方法为调用方法1、调用方法2、调用方法3、调用方法4、调用方法5;若目标中心节点point1与目标上游节点point3之间的调用方法包含调用方法1和调用方法2,且调用方法1对应的流量分布情况占整个微服务框架流量分布情况的5%、调用方法2对应的流量分布情况占整个微服务框架流量分布情况的15%,则根据预设合并策略,将调用方法1与调用方法2进行合并,并将调用方法1对应的流量分布情况与调用方法2对应的流量分布情况相加,得到连接目标中心节点point1与目标上游节点point3的调用路径1(这里,调用路径1中包含的流量分布情况占整个微服务框架流量分布情况的20%);若目标中心节点point1与目标上游节点point4之间的调用方法仅包含调用方法3,且调用方法3对应的流量分布情况占整个微服务框架流量分布情况的5%,则将调用方法3作为连接目标中心节点point1与目标上游节点point4的调用路径2(这里,调用路径2中包含的流量分布情况占整个微服务框架流量分布情况的5%);若目标中心节点point1与目标下游节点point8之间的调用方法仅包含调用方法4,且调用方法4对应的流量分布情况占整个微服务框架流量分布情况的6%,则将调用方法4作为连接目标中心节点point1与目标上游节点point8的调用路径3(这里,调用路径3中包含的流量分布情况占整个微服务框架流量分布情况的6%);基于目标中心节点point1、以及用户选择的目标上下游节点point3、point4、point8、以及连接目标中心节点point1与用户选择的目标上游节点point3的调用路径1、以及连接目标中心节点point1与用户选择的目标上游节点point4的调用路径2、以及连接目标中心节点point1与用户选择的目标下游节点point8的调用路径3,生成当前链路拓扑图,并在展示页面同步展示上述当前链路拓扑图、上下游节点以及目标上下游节点,在展示页面中将目标上下游节点置顶显示并添加星标,并将链路拓扑图中的目标中心节点point1突出显示。具体展示页面如图3所示。
在一种可能的实施方式中,在当前页面同步展示所述多个上下游节点和所述当前链路拓扑图之后,用户可根据页面上指示信息,对当前链路拓扑图进行全局查看;服务器响应针对当前链路图的全局查看指令,将当前链路拓扑图进行全页面展示。
其中,提示指示信息可以为“生成预览”指示按钮。
示例性的,用户在点击当前界面展示的“生成预览”指示按钮,会生成全局查看指令,服务器响应上述全局查看指令,并将当前链路拓扑图在整个页面进行展示。具体的全局展示页面如图4所示。
在一种可能的实施方式中,在微服务框架中,会预先设置每个服务节点之间的流量使用量,同时会预先设定每个服务节点之间的流量分布错误率阈值,当存在两个服务节点(服务节点a、服务节点b)使用目标调用方法进行调用后,服务节点a、服务节点b之间的流量分布错误率阈值超过预设的流量分布错误率阈值时,则表示上述通过目标调用方法从服务节点a调用服务节点b时,产生的流量超过预设的流量使用量,则可以在生成并展示当前链路拓扑图时,将连接上述服务节点a、服务节点b的调用路径进行标红突出显示,以便用户根据上述标红突出显示,得知服务节点a、服务节点b之间的流量分布情况存在异常,以便用户采取提高上述两个服务节点之间的预设的流量使用量或者改进上述两个服务节点之间的目标调用方法的方式,改善上述两个服务节点之间的流量分布情况。
本公开实施例提供的链路拓扑图展示的方法中,当用户选择目标中心节点后,服务器会将与目标中心节点关联的多个上下游节点展示给用户,用户可以在上述多个上下游节点中选择自己关注的目标上下游节点,在用户选择至少一个目标上下游节点后,服务器基于目标中心节点与每个目标上下游节点之间的调用方法,生成当前链路拓扑图;这里,当前链路拓扑图中仅包含用户选择的目标中心节点、用户选择的目标上下游节点、以及基于上述目标中心节点与上述目标上下游节点之间的调用方法生成的用于连接上述目标中心节点与上述目标上下游节点的调用路径,当前链路拓扑图中的包含的信息简洁明了,从而用户能够直观的查看到自己关注的服务节点之间的流量分布情况,提高了流量信息的查看效率。
在一种可能的实施方式中,在基于上述步骤S101~S103,生成并展示当前链路拓扑图之后,用户可以根据展示的当前链路拓扑图,点击当前链路拓扑图中任一目标上下游节点,服务器可以根据用户对当前链路拓扑图中进行点击操作的目标上下游节点,扩展当前链路拓扑图,具体描述如图5示出的更新当前链路拓扑图的方法中的步骤S501~步骤S503所示。
S501、响应针对所述当前链路拓扑图中任一所述目标上下游节点的目标触发操作,将该目标上下游节点作为新的目标中心节点,确定并展示与所述新的目标中心节点关联的多个上下游节点。
其中,目标触发操作为触发该目标上下游节点更新为新的目标中心节点的操作,可以为单击节点操作,也可以双击节点操作,还可以为连击节点操作等用于选中当前链路拓扑图中的任一目标上下游节点的操作。
这里,可以通过上下游节点列表展示与新的目标中心节点关联的多个上下游节点。
具体的,在根据步骤S101~步骤S103,生成并展示的当前链路拓扑图之后,用户根据展示的当前链路拓扑图,对当前链路拓扑图中任一目标上下游节点进行目标触发操作,服务器在接收到上述针对当前链路拓扑图中任一目标上下游节点的目标触发操作后,将上述受到目标触发操作的目标上下游节点作为新的目标中心节点,并基于预先存储的该新的目标中心节点在微服务框架结构中与其他服务节点之间的上下游关系,确定与该新的目标中心节点关联的多个上下游节点,并通过上下游节点列表将上述与新的目标中心节点关联的多个上下游节点展示给用户。
示例性的,设定目标触发操作为单击节点操作,且目标下游节点point8对应的上游节点为point1、point10、下游节点为point11、point12;若用户对图3所示的当前链路拓扑图中的目标下游节点point8进行单击节点操作,服务器响应用户针对point8的单击节点操作,将point8作为新的目标中心节点,并基于预先存储的point8在微服务框架结构中与其他服务节点之间的上下游关系,确定与新的目标中心节点关联的上游节点为point1、point10,下游节点为point11、point12,并将上述上游节点为point1、point10和下游节点为point11、point12通过节点列表的形式分别展示给用户。
S502、确定与所述新的目标中心节点关联的所述多个上下游节点中被用户选择的至少一个新的目标上下游节点。
这里,可以通过将被用户选择的新的目标上下游节点置顶显示并添加星标的方式,将被用户选择的新的目标上下游节点进行突出显示。
在具体实施中,用户在步骤S501展示的新的目标中心节点关联的上下游节点中对自己关注的上下游节点进行选中触发操作,服务器在接收到用户针对至少一个上下游节点的选中触发操作后,确定被用户选择的至少一个新的目标上下游节点,将被用户选择的新的目标上下游节点置顶显示并添加星标,然后通过步骤S503,生成更新后的当前链路拓扑图。
示例性的,用户在步骤S501中展示的上下游节点列表中选择自己关注的新的目标上下游节点:point10、point12;服务器在接收到用户对新的目标上下游节点的选中触发操作后,确定被用户选择的新的目标上游节点为:point10、目标下游节点为:point12;将被用户选择的新的目标上下游节点置顶显示并添加星标。
S503、基于所述当前链路拓扑图、所述至少一个新的目标上下游节点、以及所述新的目标中心节点与每个所述新的目标上下游节点之间的调用方法,生成并展示更新后的当前链路拓扑图。
其中,更新后的当前链路拓扑图中包括新的目标中心节点、用户选择的至少一个新的目标上下游节点、以及连接新的目标中心节点与每个新的目标上下游节点的调用路径和基于步骤S101~步骤S103生成的当前链路拓扑图;这里,调用路径中包含新的目标中心节点与每个新的目标上下游节点之间的流量分布情况。
这里,确定连接新的目标中心节点与每个新的目标上下游节点之间的调用路径的方法与步骤S103中确定连接目标中心节点与每个目标上下游节点之间的调用路径的方法一致,在这里不再赘述。
这里,可以在当前展示页面的第一区域展示与新的目标中心节点关联的多个上游节点,在第二区域展示与新的目标中心节点关联的多个下游节点,在第三区域展示更新后的当前链路拓扑图;其中,第二区域可以为位于第一区域和第三区域之间的区域。
在具体实施中,服务器基于新的目标中心节点与每个新的目标上下游节点之间的调用方法,确定新的目标中心节点与每个新的目标上下游节点之间的调用路径;然后服务器基于用户选择的新的目标中心节点、以及用户选择的每个新的目标上下游节点、以及连接新的目标中心节点与每个新的目标上下游节点之间的调用路径、以及当前链路拓扑图,生成更新后的当前链路拓扑图,并将上述更新后的当前链路拓扑图展示给用户,以使用户能够通过上述更新后的当前链路拓扑图监控新的目标中心节点与每个新的目标上下游节点之间的流量分布情况。
在一种可能的实施方式中,为了便于用户在更新后的链路拓扑图中查看到目标中心节点以及新的目标中心节点,则可以在生成并展示更新后的当前链路拓扑图时,将新的目标中心节点进行标蓝或在节点中用画一条斜线的方式突出显示,将上一个目标中心节点(即步骤S101~步骤S103中的目标中心节点)进行标绿或在节点中用画两条斜线的方式突出显示。
示例性的,当用户在如图3所示的当前链路拓扑图中选择的新的目标中心节点为point8,服务器根据预先存储的链路拓扑信息中该新的目标中心节点point8在微服务框架结构中与其他服务节点之间的上下游关系,确定与point8关联的上游节点为point1、point10;下游节点为point11、point12;并将上述与point8关联的上下游节点point1、point10、point11、point12通过上下游节点列表的方式展示给用户;用户根据展示页面中的上下游节点列表,选择自己关注的新的目标上下游节点:point10、point12;服务器在接收到用户对新的目标上下游节点的选中触发操作后,确定被用户选择的新的目标上游节点为:point10、新的目标下游节点为:point12;若新的目标中心节点point8对应的调用方法包括调用方法1、调用方法2、调用方法3、调用方法4、调用方法5;若新的目标中心节点point8与新的目标上游节点point10之间的调用方法包含调用方法1和调用方法2,且调用方法1对应的流量分布情况占整个微服务框架流量分布情况的5%、调用方法2对应的流量分布情况占整个微服务框架流量分布情况的15%,则根据预设合并策略,将调用方法1与调用方法2进行合并,并将调用方法1对应的流量分布情况与调用方法2对应的流量分布情况相加,得到连接新的目标中心节点point8与新的目标上游节点point10的调用路径4(这里,调用路径4中包含的流量分布情况占整个微服务框架流量分布情况的20%);若新的目标中心节点point8与目标下游节点point12之间的调用方法仅包含调用方法3,且调用方法3对应的流量分布情况占整个微服务框架流量分布情况的5%,则将调用方法3作为连接新的目标中心节点point8与新的目标下游节点point12的调用路径5(这里,调用路径5中包含的流量分布情况占整个微服务框架流量分布情况的5%);服务器基于如图3所示的当前链路拓扑图、新的目标中心节点point8、以及用户选择的新的目标上下游节点point10、point12、以及连接新的目标中心节点point8与用户选择的新的目标上游节点point10的调用路径4、以及连接新的目标中心节点point8与用户选择的新的目标下游节点point12的调用路径5,生成更新后的当前链路拓扑图,并在展示页面同步展示上述更新后的当前链路拓扑图、上下游节点以及新的目标上下游节点,同时将新的目标上下游节点置顶显示并添加星标,并将更新后的链路拓扑图中新的目标中心节点point8通过在表示point8的节点图标中画一条斜线的方式进行突出显示,将更新后的链路拓扑图中上个目标中心节点point1通过在表示point1的节点图标中画两条斜线的方式进行突出显示。具体展示页面如图6所示。
在一种可能的实施方式中,在当前页面同步展示多个上下游节点和更新后的当前链路拓扑图之后,用户可根据页面上指示信息“生成预览”指示按钮,对更新后的当前链路拓扑图进行全局查看;用户在点击上述“生成预览”指示按钮后,服务器响应针对更新后的当前链路图的全局查看指令,将更新后的当前链路拓扑图进行全页面展示。
本公开实施例中,用户在对上述链路拓扑图中的目标上下游节点的上下游的流量分布感兴趣时,可以继续对链路拓扑图进行拓展;可以点击当前链路拓扑图中的任一目标上下游节点,在用户点击任一目标上下游节点之后,服务器可以将链路拓扑图中被选中的目标上下游节点作为新的目标中心节点,并将与该新的目标中心节点关联的多个上下游节点展示给用户,用户可以在上述多个上下游节点中选择自己关注的新的目标上下游节点,服务器基于新的目标中心节点与每个新的目标上下游节点之间的调用方法,生成更新后的当前链路拓扑图,从而实现对链路拓扑图的快速扩展,由此实现了对上下游流量分布情况的连续性扩展查询。
实施例二
参照图7所示,为本公开实施例提供的一种链路拓扑图展示装置700的示意图,所述装置包括:第一展示模块701、确定模块702、第二展示模块703;其中,
第一展示模块701,用于根据用户选择的目标中心节点,确定并展示与所述目标中心节点关联的多个上下游节点。
确定模块702,用于确定所述多个上下游节点中被用户选择的至少一个目标上下游节点。
第二展示模块703,用于基于所述目标中心节点、所述至少一个目标上下游节点、以及所述目标中心节点与每个所述目标上下游节点之间的调用方法,生成并展示当前链路拓扑图。
本公开实施例中,当用户选择目标中心节点后,服务器会将与目标中心节点关联的多个上下游节点展示给用户,用户可以在上述多个上下游节点中选择自己关注的目标上下游节点,在用户选择至少一个目标上下游节点后,服务器基于目标中心节点与每个目标上下游节点之间的调用方法,生成当前链路拓扑图;这里,当前链路拓扑图中仅包含用户选择的目标中心节点、用户选择的目标上下游节点、以及基于上述目标中心节点与上述目标上下游节点之间的调用方法生成的用于连接上述目标中心节点与上述目标上下游节点的调用路径,从而用户能够直观的查看到自己关注的服务节点之间的流量分布情况,提高了流量信息的查看效率。
在一种可能的实施方式中,所述装置还包括更新模块,具体用于响应针对所述当前链路拓扑图中任一所述目标上下游节点的目标触发操作,将该目标上下游节点作为新的目标中心节点,确定并展示与所述新的目标中心节点关联的多个上下游节点;确定与所述新的目标中心节点关联的所述多个上下游节点中被用户选择的至少一个新的目标上下游节点;基于所述当前链路拓扑图、所述至少一个新的目标上下游节点、以及所述新的目标中心节点与每个所述新的目标上下游节点之间的调用方法,生成并展示更新后的当前链路拓扑图。
在一种可能的实施方式中,第一展示模块701,具体用于根据用户选择的目标中心节点,以及存储的链路拓扑信息,确定并展示与所述目标中心节点关联的多个上下游节点。
在一种可能的实施方式中,第二展示模块703,具体用于在当前页面同步展示所述多个上下游节点和所述当前链路拓扑图。
在一种可能的实施方式中,第二展示模块703,还具体用于在当前页面的第一区域展示所述目标中心节点的上游节点、第二区域展示所述目标中心节点的下游节点、以及第三区域展示所述当前链路拓扑图;所述第二展示区域为位于所述第一区域和第三区域之间的区域。
在一种可能的实施方式中,第二展示模块703,还具体用于将展示的所述多个上下游节点中的目标上下游节点进行突出显示。
在一种可能的实施方式中,第二展示模块703,还具体用于将展示的所述多个上下游节点中的目标上下游节点进行置顶显示和/或为所述目标上下游节点添加预设标识符。
在一种可能的实施方式中,所述装置还包括第三展示模块,用于响应全局查看指令,对所述当前链路拓扑图进行全页面展示。
在一种可能的实施方式中,第二展示模块703,还具体用于根据用户设置的错误率阈值,在所述当前链路拓扑图中存在目标调用方法对应的错误率超过所述错误率阈值时,在当前链路拓扑图中对所述目标调用方法对应的连接边进行突出显示。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本申请实施例还提供了一种计算机设备。参照图8所示,为本申请实施例提供的计算机设备800的结构示意图,包括处理器801、存储器802、和总线803。其中,存储器802用于存储执行指令,包括内存8021和外部存储器8022;这里的内存8021也称内存储器,用于暂时存放处理器801中的运算数据,以及与硬盘等外部存储器8022交换的数据,处理器801通过内存8021与外部存储器8022进行数据交换,当计算机设备800运行时,处理器801与存储器802之间通过总线803通信,使得处理器801执行以下指令:
根据用户选择的目标中心节点,确定并展示与所述目标中心节点关联的多个上下游节点;确定所述多个上下游节点中被用户选择的至少一个目标上下游节点;基于所述目标中心节点、所述至少一个目标上下游节点、以及所述目标中心节点与每个所述目标上下游节点之间的调用方法,生成并展示当前链路拓扑图。
其中,处理器801的具体处理流程可以参照上述方法实施例的记载,这里不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的链路拓扑图展示方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的链路拓扑图展示方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。