一种用于呈现服务调用信息的方法与设备与流程

文档序号:11156742阅读:254来源:国知局
一种用于呈现服务调用信息的方法与设备与制造工艺

本申请涉及计算机领域,尤其涉及一种用于呈现服务调用信息的技术。



背景技术:

随着互联网的发展,诸如服务平台、在线商城等依托于网络的应用的规模逐步扩大并采用分布式服务系统,其中,越来越多应用的服务之间相互联系和依赖也日益紧密,从而使得在分布式系统中的调用关系错综复杂,同一业务因为运行时的内外界因素不同使得其每次运行所调用的服务也不尽相同,因此在对其中业务或服务进行开发的过程难以理清调各调用服务之间的关系,现有技术在分布式服务系统中进行开发时往往依据原有的技术开发文档或路径对开发服务的关联服务进行查找和进行开发。

然而,现有技术在开发过程中难以直观的对服务分支之间的关系进行观察,查找历史开发文档和路径的方式耗时复杂且不易准确梳理服务之间的关系,下出现问题难以定位,服务间调用关系优化困难,开发效率低。



技术实现要素:

本申请的一个目的是提供一种用于呈现服务调用信息的方法与设备,用以解决分布式系统中服务调用关系直观展现问题。

为实现上述目的,根据本申请的一个方面,本申请提供了一种用于呈现服务调用信息的方法,该方法解决了分布式系统中服务调用关系直观展现问题,该方法包括:

获取分布式服务系统中的一个或多个服务调用链,其中,每个服务调用链包括被顺序调用的一个或多个服务节点;

根据所述一个或多个服务调用链生成对应的一个或多个第一服务调用拓扑,其中,每个第一服务调用拓扑由一个或多个所述服务调用链聚合而得;

呈现所述一个或多个第一服务调用拓扑中至少一个。

根据本申请的另一个方面,本申请提供了一种用于呈现服务调用信息 的设备,该设备解决了分布式系统中服务调用关系直观展现问题,该设备包括:

服务调用链获取装置,用于获取分布式服务系统中的一个或多个服务调用链,其中,每个服务调用链包括被顺序调用的一个或多个服务节点;

第一服务调用拓扑生成装置,用于根据所述一个或多个服务调用链生成对应的一个或多个第一服务调用拓扑,其中,每个第一服务调用拓扑由一个或多个所述服务调用链聚合而得;

服务调用呈现装置,用于呈现所述一个或多个第一服务调用拓扑中至少一个。

与现有技术相比,本申请获取分布式服务系统中具有服务节点调用顺序信息的服务调用链,将具有相同服务节点调用顺序的服务调用链聚合为服务调用拓扑,并呈现服务调用拓扑关系,从而解决了分布式系统中服务调用关系直观展现问题,使得分布式服务系统中的服务调用关系可以直观清晰地呈现,提升分布式服务系统中的服务调用关系在开发、优化、问题定位过程中的效率。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出根据本申请一个方面的一种用于呈现服务调用信息的方法流程图;

图2示出根据本申请另一个优选实例的一种用于呈现服务调用信息的方法流程图;

图3示出根据本申请又一个优选实例的一种用于呈现服务调用信息的方法流程图;

图4示出根据本申请另一个方面的一种用于呈现服务调用信息的设备示意图;

图5示出根据本申请另一个优选实例的一种用于呈现服务调用信息的设备示意图;

图6示出根据本申请又一个优选实例的一种用于呈现服务调用信息的设备示意图;

图7示出根据本申请再一个优选实例的显示窗口中区别呈现服务调用信息示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

图1示出根据本申请一个方面的一种用于呈现服务调用信息的方法流程图。包括步骤S1、步骤S2以及步骤S3。

其中,在步骤S1中设备1获取分布式服务系统中的一个或多个服务调用链,其中,每个服务调用链包括被顺序调用的一个或多个服务节点;在步骤S2中设备1根据所述一个或多个服务调用链生成对应的一个或多个第一服务 调用拓扑,其中,每个第一服务调用拓扑由一个或多个所述服务调用链聚合而得;在步骤S3中设备1呈现所述一个或多个第一服务调用拓扑中至少一个。

具体地,在步骤S1中设备1获取分布式服务系统中的一个或多个服务调用链,其中,每个服务调用链包括被顺序调用的一个或多个服务节点。在此,所述分布式服务系统包括但不限于面向服务架构或构建在分布式系统上的软件系统。其中,所述服务节点包括但不限于所述分布式服务系统中供调用的一项服务或一项功能,如在电商平台进行产品消费时的服务节点包括调用用户名,调用用户关联账户,调取支付页面,获取安全验证,检验账户余额等。所述服务调用链是指在所述分布式服务系统中所完成一次服务调用所涉及的服务节点及其顺序,获取所述服务调用链可以调用相关的日志信息以及系统的运行历史信息,将每次调用的服务所涉及的服务节点及其信息提取,获取包含被调用时所涉及的服务节点及其调用顺序的服务调用链可以清晰显示服务调用的过程,并获得每次服务调用的拓扑及其拓扑。

本领域技术人员应能理解上述获取服务调用链的方式仅为举例,其他现有的或今后可能出现的获取服务调用链的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,在步骤S2中设备1根据所述一个或多个服务调用链生成对应的一个或多个第一服务调用拓扑,其中,每个第一服务调用拓扑由一个或多个所述服务调用链聚合而得。其中,根据所获取的服务调用链中的服务节点顺序信息获得服务节点之间的拓扑信息,例如在获取的每个服务节点的日志信息中记录每次被调用的拓扑顺序,如A服务节点第一个被调用即为A0,为了完成A服务节点的调用而必须先调用的服务节点D则为0.1,调用D服务节点后需要调用的B服务节点则为0.2,而为了调用B服务节点必须先调用的C服务节点则为0.2.1,从而依据这一的日志信息即可记录某次调用中的节点的拓扑信息,例如A0D0.1B0.2C0.2.1。接着根据每个服务调用链中的拓扑信息,将具有相同服务节点拓扑信息的服务调用链的拓扑信息进行聚合,生成所述第一服务调用拓扑,因此所述第一服务调用拓扑代表了一种服务调用链的类型,这类服务调用链的服务节点调用顺序和拓扑关系都是相同的。

本领域技术人员应能理解上述标注服务调用链拓扑关系的方式仅为举 例,其他现有的或今后可能出现的标注服务调用链拓扑关系的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,在步骤S3中设备1呈现所述一个或多个第一服务调用拓扑中至少一个。即通过图表或其它可感知形象化的方式对所述第一服务调用拓扑中的服务节点之间的拓扑关系进行表现,例如图7中所示的分支1即为一个第一服务调用拓扑,其中方框中的树状的图形中的点即为一个服务节点,从而清晰直观的展现在服务调用中的服务节点之间的调用关系,以及相互之间的联系,从而便于开发和数据分析。

本领域技术人员应能理解上述呈现服务调用拓扑的方式仅为举例,其他现有的或今后可能出现的呈现服务调用拓扑的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

优选地,所述方法还包括在步骤S6(未示出),在步骤S6中设备1对所述服务调用链执行清洗操作。其中,所述清洗操作就是过滤掉不重要的调用对象信息。例如服务链路全部调用节点拓扑相同的两个服务调用,其中一个服务节点C在调用时会额外还会查询一些信息,例如在第1个服务调用链路中查询了缓存C1,未获取后又查询了一次数据库C2,后又将数据放至缓存C3,而在第2个服务调用链路中直接查询缓存C1就获取到了。其中,按清洗操作前的情况可能就是两个不同的链路,即C还会调用C1,C2,C3节点这些,因为这些查询的节点出错后通常在一个系统内进行,且不会反馈执行结果,其调用结果通常会反馈到C节点上,因此可以清洗忽略掉。除此外还有中间件route查询的节点等都是对模型没影响的都可以清洗掉。

本领域技术人员应能理解上述清洗服务调用链的方式仅为举例,其他现有的或今后可能出现的清洗服务调用链的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

其中,所述在步骤S2中设备1根据清洗后的所述一个或多个服务调用链生成对应的一个或多个第一服务调用拓扑,其中,每个第一服务调用拓扑由一个或多个所述服务调用链聚合而得。即将清洗操作后的具有相同服务调拓扑的服务调用链依据其日志信息或其它可获取的包含节点调用时顺序的信息 进行聚合,从而生成代表具有相同服务调用拓扑服务调用链的第一服务调用拓扑,具体地生成方式与上文中所述方法的相同。

更优选地,所述清洗操作包括以下至少任一项:

删除所述服务调用拓扑中的预定服务节点,即将所调用的例如中间件服务节点路由查询的调用节点等进行过滤。

删除所述服务调用拓扑中的未反馈调用结果信息的服务节点,即所调用的操作在系统内进行且无执行结果反馈的服务调用结果进行过滤,例如查询和调用缓存、调用数据库等节点进行删除。

图2示出根据本申请另一个优选实例的一种用于呈现服务调用信息的方法流程图。包括步骤S1、步骤S2、步骤S4以及步骤S3。

其中,在步骤S1中设备1获取分布式服务系统中的一个或多个服务调用链,其中,每个服务调用链包括被顺序调用的一个或多个服务节点;在步骤S2中设备1根据所述一个或多个服务调用链生成对应的一个或多个第一服务调用拓扑,其中,每个第一服务调用拓扑由一个或多个所述服务调用链聚合而得;在步骤S4中设备1对所述一个或多个第一服务调用拓扑中相关联的至少两个所述第一服务调用拓扑进行聚合处理,以获得对应的一个或多个第二服务调用拓扑;在步骤S3中设备1呈现所述一个或多个第二服务调用拓扑中至少一个。

在此,图2中的步骤S1、步骤S2与图1中的步骤S1、步骤S2相同或相似,在此不再赘述。

具体地,在步骤S4中设备1对所述一个或多个第一服务调用拓扑中相关联的至少两个所述第一服务调用拓扑进行聚合处理,以获得对应的一个或多个第二服务调用拓扑。即将所述多种第一服务调用拓扑中的入口服务节点相同的进行合并处理,由入口服务节点开始,依据一定的合并规则将相同的同级服务节点均合并,例如按入口服务节点将若干种服务调用拓扑进行聚合后,依次将其它的服务调用拓扑合并到第一个服务调用拓扑上,合并时递归被合并的服务调用拓扑,仅对具有相同父服务节点的子服务节点进行合并,被合并的服务调用拓扑服务节点没有可以合并的节点时直接挂在合并树的父服务节点上,因为合并的服务调用拓扑入口一样,因此一定会有相同的父服务节 点可以挂,其中父服务节点为子服务节点的上级服务节点,即从调用时间看子服务节点是接在父服务节点之后的,从而获得一个更大的服务调用链路及其拓扑关系,即为第二服务调用拓扑。

本领域技术人员应能理解上述生成第二服务调用拓扑的合并规则仅为举例,其他现有的或今后可能出现的生成第二服务调用拓扑的合并规则如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

优选地,所述相关联的至少两个所述第一服务调用拓扑满足以下至少任一项:

所述至少两个第一服务调用拓扑始于相同的服务节点,即具有相同入口服务节点的调用拓扑,如两个调用拓扑,“ABC”是一个拓扑的调用顺序,“ADE”是另一个拓扑的调用顺序,两者即均始于“A”这个相同的服务节点。

所述至少两个第一服务调用拓扑中之一的起始服务节点包含于所述至少两个第一服务调用拓扑中另一,例如,如两个调用拓扑,“ABC”是一个拓扑的调用顺序,“GAH”是另一个拓扑的调用顺序,其中“A”服务节点是前者的起始服务节点,而后者包含前者的起始节点。

更优选地,在步骤S4中设备1对所述一个或多个第一服务调用拓扑中相关联的至少两个所述第一服务调用拓扑进行聚合处理,以获得对应的一个或多个第二服务调用拓扑,其中,所述聚合处理满足所述至少两个第一服务调用拓扑中服务节点的调用顺序。例如,按调用顺序对服务节点进行聚合处理,以保证合并前端的调用拓扑先后调用顺序的先后顺序一致,例如合并时递归被合并的服务调用拓扑,仅对具有相同父服务节点的子服务节点进行合并,被合并的服务调用拓扑服务节点没有可以合并的节点时直接挂在合并树的父服务节点上,因为合并的服务调用拓扑入口一样,因此一定会有相同的父服务节点可以挂,其中父服务节点为子服务节点的上级服务节点,即从调用时间看子服务节点是接在父服务节点之后的,从而保证所述聚合处理满足所述至少两个第一服务调用拓扑中服务节点的调用顺序。

接着,在步骤S3中设备1呈现所述一个或多个第二服务调用拓扑中至少 一个。即通过图表或其它可感知形象化的方式对所述第二服务调用拓扑中的服务节点之间的拓扑关系进行表现,例如图7中所示的图中所有的树状图形即为一个第二服务调用拓扑,其中方框中的树状的图形中的点即为一个服务节点,具体呈现时可根据每个节点中对应于服务调用拓扑的名称信息进行选择和区别显示,例如,将服务调用拓扑中的每个节点中添加标签对相邻节点、相邻调用关系、相邻分支添加不同的区别标签,从而在显示时对这些标签信息进行读取,从而获得需要区别显示的对象。因此,可清晰直观的展现在服务调用中的服务节点之间以及各种服务调用链之间的联系,从而便于开发和数据分析。

本领域技术人员应能理解上述呈现服务调用拓扑的方式则仅为举例,其他现有的或今后可能出现的呈现服务调用拓扑的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

优选地,所述在步骤S3中设备1呈现所述一个或多个第二服务调用拓扑中至少一个,以及被呈现的所述第二服务调用拓扑所对应的一个或多个所述第一服务调用拓扑。即如图7中所示对树状图进行展现,将每种调用拓扑进行标注,从而既可以对全局的第二服务调用拓扑进行观察和分析,又可以点击每种调用拓扑的名称对所述第一服务调用拓扑进行观察和分析,从而可以针对性的进行数据分析和开发。

本领域技术人员应能理解上述呈现服务调用拓扑的方式则仅为举例,其他现有的或今后可能出现的呈现服务调用拓扑的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

图3示出根据本申请又一个优选实例的一种用于呈现服务调用信息的方法流程图。包括步骤S1、步骤S2、步骤S4、步骤S5以及步骤S3。

其中,在步骤S1中设备1获取分布式服务系统中的一个或多个服务调用链,其中,每个服务调用链包括被顺序调用的一个或多个服务节点;在步骤S2中设备1根据所述一个或多个服务调用链生成对应的一个或多个第一服务调用拓扑,其中,每个第一服务调用拓扑由一个或多个所述服务调用链聚合而得;在步骤S4中设备1对所述一个或多个第一服务调用拓扑中相关联的至少两个所述第一服务调用拓扑进行聚合处理,以获得对应的一个或多个第二 服务调用拓扑;在步骤S5中设备1获取用户对所述第一服务调用拓扑或第二服务调用拓扑中至少一个的调用相关信息的选择或查看操作;在步骤S3中设备1在所述第一服务调用拓扑或第二服务调用拓扑中至少一个对应的显示窗口中区别呈现所述调用相关信息。

在此,图3中的步骤S1、步骤S2与图1中的步骤S1、步骤S2相同或相似,以及图3中的步骤S4与图2中的步骤S4相同或相似,在此不再赘述。

具体地,在步骤S5中设备1获取用户对所述第一服务调用拓扑或第二服务调用拓扑中至少一个的调用相关信息的选择或查看操作。所述调用相关信息是指相邻节点、相邻调用关系、相邻分支等。通过输入设备下达指令进行选择或查看操作,如通过输入例如第一服务调用拓扑或第二服务调用拓扑的名称或其它代表信息,查看其名下的拓扑中的服务节点信息或相邻分支中的信息,例如图7所示,点击下方的分支1的名称选择查看第一服务调用拓扑分支1,其中,点击操作即为所述选择或查看操作,分支1的名称以及点击按钮后的系统对分支1中的服务节点的关联显示即为所述调用相关信息。

本领域技术人员应能理解上述选择或查看操作的方式则仅为举例,其他现有的或今后可能出现的选择或查看操作的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

优选地,所述调用相关信息包括以下至少任一项:

所述第一服务调用拓扑或第二服务调用拓扑中至少一个的一个或多个服务节点,是指所述服务调用拓扑中的服务节点例如图7中所显示的拓扑中的圆点即代表分支中的服务节点的调用相关信息。

所述第一服务调用拓扑或第二服务调用拓扑中至少一个的一个或多个服务调用关系,即指拓扑中的调用的前后以及并列的顺序关系,例如图7中所显示的拓扑中的线条即通过对线条两端的代表服务节点的圆圈进行连接表示了分支中服务节点的调用关系。

接着,在步骤S3中设备1在所述第一服务调用拓扑或第二服务调用拓扑中至少一个对应的显示窗口中区别呈现所述调用相关信息。所述区别呈现是指所显示的服务调用拓扑通过使用不同颜色、字体或添加填充色等方式实现区分显示,例如图7中的需要显示的分支即通过加深其中线条的颜色以及在 所查看的分支的显示范围内显示方框进行区分显示,从而更加直观清晰的对服务调用的拓扑关系进行显示。具体呈现时可根据每个节点中对应于分支的名称信息进行选择和区别显示,例如,将服务调用拓扑中的每个节点中添加标签对相邻节点、相邻调用关系、相邻分支添加不同的区别标签,从而在显示时对这些标签信息进行读取,从而获得需要区别显示的对象。

优选地,在步骤S3中设备1在所述第一服务调用拓扑或第二服务调用拓扑中至少一个对应的显示窗口中区别呈现所述调用相关信息,以及所述调用相关信息对应的相邻调用信息。所述相邻的调用信息是指与所显示的服务调用拓扑有相同节点,使得所述服务调用拓扑在开发或使用时会有一定几率调用或关联的相邻的其它服务调用拓扑或节点,区别显示所述相邻的调用信息可以在开发或问题定位时对相邻的服务节点进行相应的处理和分析,从而提升开发,监控或问题定位的效率。

图4示出根据本申请另一个方面的一种用于呈现服务调用信息的设备示意图。所述设备1包括服务调用链获取装置11、第一服务调用拓扑生成装置12以及服务调用呈现装置13。

其中,服务调用链获取装置11获取分布式服务系统中的一个或多个服务调用链,其中,每个服务调用链包括被顺序调用的一个或多个服务节点;第一服务调用拓扑生成装置12根据所述一个或多个服务调用链生成对应的一个或多个第一服务调用拓扑,其中,每个第一服务调用拓扑由一个或多个所述服务调用链聚合而得;服务调用呈现装置13呈现所述一个或多个第一服务调用拓扑中至少一个。

具体地,服务调用链获取装置11获取分布式服务系统中的一个或多个服务调用链,其中,每个服务调用链包括被顺序调用的一个或多个服务节点。在此,所述分布式服务系统包括但不限于面向服务架构或构建在分布式系统上的软件系统。其中,所述服务节点包括但不限于所述分布式服务系统中供调用的一项服务或一项功能,如在电商平台进行产品消费时的服务节点包括调用用户名,调用用户关联账户,调取支付页面,获取安全验证,检验账户余额等。所述服务调用链是指在所述分布式服务系统中所完成一次服务调用所涉及的服务节点及其顺序,获取所述服务调用链可以调用相关的日志信息 以及系统的运行历史信息,将每次调用的服务所涉及的服务节点及其信息提取,获取包含被调用时所涉及的服务节点及其调用顺序的服务调用链可以清晰显示服务调用的过程,并获得每次服务调用的拓扑及其拓扑。

本领域技术人员应能理解上述获取服务调用链的方式仅为举例,其他现有的或今后可能出现的获取服务调用链的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,第一服务调用拓扑生成装置12根据所述一个或多个服务调用链生成对应的一个或多个第一服务调用拓扑,其中,每个第一服务调用拓扑由一个或多个所述服务调用链聚合而得。其中,根据所获取的服务调用链中的服务节点顺序信息获得服务节点之间的拓扑信息,例如在获取的每个服务节点的日志信息中记录每次被调用的拓扑顺序,如A服务节点第一个被调用即为A0,为了完成A服务节点的调用而必须先调用的服务节点D则为0.1,调用D服务节点后需要调用的B服务节点则为0.2,而为了调用B服务节点必须先调用的C服务节点则为0.2.1,从而依据这一的日志信息即可记录某次调用中的节点的拓扑信息,例如A0D0.1B0.2C0.2.1。接着根据每个服务调用链中的拓扑信息,将具有相同服务节点拓扑信息的服务调用链的拓扑信息进行聚合,生成所述第一服务调用拓扑,因此所述第一服务调用拓扑代表了一种服务调用链的类型,这类服务调用链的服务节点调用顺序和拓扑关系都是相同的。

本领域技术人员应能理解上述标注服务调用链拓扑关系的方式仅为举例,其他现有的或今后可能出现的标注服务调用链拓扑关系的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,服务调用呈现装置13呈现所述一个或多个第一服务调用拓扑中至少一个。即通过图表或其它可感知形象化的方式对所述第一服务调用拓扑中的服务节点之间的拓扑关系进行表现,例如图7中所示的分支1即为一个第一服务调用拓扑,其中方框中的树状的图形中的点即为一个服务节点,从而清晰直观的展现在服务调用中的服务节点之间的调用关系,以及相互之间的联系,从而便于开发和数据分析。

本领域技术人员应能理解上述呈现服务调用拓扑的方式仅为举例,其他现有的或今后可能出现的呈现服务调用拓扑的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

优选地,所述设备1还包括:清洗装置16(未示出),所述清洗装置16对所述服务调用链执行清洗操作。其中,所述清洗操作就是过滤掉不重要的调用对象信息。例如服务链路全部调用节点拓扑相同的两个服务调用,其中一个服务节点C在调用时会额外还会查询一些信息,例如在第1个服务调用链路中查询了缓存C1,未获取后又查询了一次数据库C2,后又将数据放至缓存C3,而在第2个服务调用链路中直接查询缓存C1就获取到了。其中,按清洗操作前的情况可能就是两个不同的链路,即C还会调用C1,C2,C3节点这些,因为这些查询的节点出错后通常在一个系统内进行,且不会反馈执行结果,其调用结果通常会反馈到C节点上,因此可以清洗忽略掉。除此外还有中间件route查询的节点等都是对模型没影响的都可以清洗掉。

本领域技术人员应能理解上述清洗服务调用链的方式仅为举例,其他现有的或今后可能出现的清洗服务调用链的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

其中,所述第一服务调用拓扑生成装置12根据清洗后的所述一个或多个服务调用链生成对应的一个或多个第一服务调用拓扑,其中,每个第一服务调用拓扑由一个或多个所述服务调用链聚合而得。即将清洗操作后的具有相同服务调拓扑的服务调用链依据其日志信息或其它可获取的包含节点调用时顺序的信息进行聚合,从而生成代表具有相同服务调用拓扑服务调用链的第一服务调用拓扑,具体地生成方式与上文中所述方法的相同。

更优选地,所述清洗操作包括以下至少任一项:

删除所述服务调用拓扑中的预定服务节点,即将所调用的例如中间件服务节点路由查询的调用节点等进行过滤删除。

删除所述服务调用拓扑中的未反馈调用结果信息的服务节点,即所调用的操作在系统内进行且无执行结果反馈的服务调用结果进行过滤删除,例如查询和调用缓存、调用数据库等。

图5示出根据本申请另一个优选实例的一种用于呈现服务调用信息的 设备示意图。所述设备1包括服务调用链获取装置21、第一服务调用拓扑生成装置22、第二服务调用拓扑生成装置24以及服务调用呈现装置23。

其中,服务调用链获取装置21获取分布式服务系统中的一个或多个服务调用链,其中,每个服务调用链包括被顺序调用的一个或多个服务节点;第一服务调用拓扑生成装置22根据所述一个或多个服务调用链生成对应的一个或多个第一服务调用拓扑,其中,每个第一服务调用拓扑由一个或多个所述服务调用链聚合而得;第二服务调用拓扑生成装置24对所述一个或多个第一服务调用拓扑中相关联的至少两个所述第一服务调用拓扑进行聚合处理,以获得对应的一个或多个第二服务调用拓扑;服务调用呈现装置23呈现所述一个或多个第二服务调用拓扑中至少一个。

在此,图5中的服务调用链获取装置21、第一服务调用拓扑生成装置22与图4中的服务调用链获取装置11、第一服务调用拓扑生成装置12相同或相似,在此不再赘述。

具体地,第二服务调用拓扑生成装置24对所述一个或多个第一服务调用拓扑中相关联的至少两个所述第一服务调用拓扑进行聚合处理,以获得对应的一个或多个第二服务调用拓扑。即将所述多种第一服务调用拓扑中的入口服务节点相同的进行合并处理,由入口服务节点开始,依据一定的合并规则将相同的同级服务节点均合并,例如按入口服务节点将若干种服务调用拓扑进行聚合后,依次将其它的服务调用拓扑合并到第一个服务调用拓扑上,合并时递归被合并的服务调用拓扑,仅对具有相同父服务节点的子服务节点进行合并,被合并的服务调用拓扑服务节点没有可以合并的节点时直接挂在合并树的父服务节点上,因为合并的服务调用拓扑入口一样,因此一定会有相同的父服务节点可以挂,其中父服务节点为子服务节点的上级服务节点,即从调用时间看子服务节点是接在父服务节点之后的,从而获得一个更大的服务调用链路及其拓扑关系,即为第二服务调用拓扑。

本领域技术人员应能理解上述生成第二服务调用拓扑的合并规则仅为举例,其他现有的或今后可能出现的生成第二服务调用拓扑的合并规则如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

优选地,所述相关联的至少两个所述第一服务调用拓扑满足以下至少任一项:

所述至少两个第一服务调用拓扑始于相同的服务节点,即具有相同入口服务节点的调用拓扑,如两个调用拓扑,“ABC”是一个拓扑的调用顺序,“ADE”是另一个拓扑的调用顺序,两者即均始于“A”这个相同的服务节点。

所述至少两个第一服务调用拓扑中之一的起始服务节点包含于所述至少两个第一服务调用拓扑中另一,例如,如两个调用拓扑,“ABC”是一个拓扑的调用顺序,“GAH”是另一个拓扑的调用顺序,其中“A”服务节点是前者的起始服务节点,而后者包含前者的起始节点。

更优选地,所述第二服务调用拓扑生成装置24对所述一个或多个第一服务调用拓扑中相关联的至少两个所述第一服务调用拓扑进行聚合处理,以获得对应的一个或多个第二服务调用拓扑,其中,所述聚合处理满足所述至少两个第一服务调用拓扑中服务节点的调用顺序。例如,按调用顺序对服务节点进行聚合处理,以保证合并前端的调用拓扑先后调用顺序的先后顺序一致,例如合并时递归被合并的服务调用拓扑,仅对具有相同父服务节点的子服务节点进行合并,被合并的服务调用拓扑服务节点没有可以合并的节点时直接挂在合并树的父服务节点上,因为合并的服务调用拓扑入口一样,因此一定会有相同的父服务节点可以挂,其中父服务节点为子服务节点的上级服务节点,即从调用时间看子服务节点是接在父服务节点之后的,从而保证所述聚合处理满足所述至少两个第一服务调用拓扑中服务节点的调用顺序。

接着,服务调用呈现装置23呈现所述一个或多个第二服务调用拓扑中至少一个。即通过图表或其它可感知形象化的方式对所述第二服务调用拓扑中的服务节点之间的拓扑关系进行表现,例如图7中所示的图中所有的树状图形即为一个第二服务调用拓扑,其中方框中的树状的图形中的点即为一个服务节点,具体呈现时可根据每个节点中对应于服务调用拓扑的名称信息进行选择和区别显示,例如,将服务调用拓扑中的每个节点中添加标签对相邻节点、相邻调用关系、相邻分支添加不同的区别标签,从而在显示时对这些标签信息进行读取,从而获得需要区别显示的对象。因此,可清晰直观的展现 在服务调用中的服务节点之间以及各种服务调用链之间的联系,从而便于开发和数据分析。

本领域技术人员应能理解上述呈现服务调用拓扑的方式则仅为举例,其他现有的或今后可能出现的呈现服务调用拓扑的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

优选地,所述服务调用呈现装置23呈现所述一个或多个第二服务调用拓扑中至少一个,以及被呈现的所述第二服务调用拓扑所对应的一个或多个所述第一服务调用拓扑。即如图7中所示对树状图进行展现,将每种调用拓扑进行标注,从而既可以对全局的第二服务调用拓扑进行观察和分析,又可以点击每种调用拓扑的名称对所述第一服务调用拓扑进行观察和分析,从而可以针对性的进行数据分析和开发。

本领域技术人员应能理解上述呈现服务调用拓扑的方式则仅为举例,其他现有的或今后可能出现的呈现服务调用拓扑的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

图6示出根据本申请又一个优选实例的一种用于呈现服务调用信息的设备示意图。所述设备1包括所述设备1包括服务调用链获取装置31、第一服务调用拓扑生成装置32、第二服务调用拓扑生成装置34、服务调用拓扑操作获取装置35以及服务调用拓扑呈现装置33。

其中,服务调用链获取装置31获取分布式服务系统中的一个或多个服务调用链,其中,每个服务调用链包括被顺序调用的一个或多个服务节点;第一服务调用拓扑生成装置32根据所述一个或多个服务调用链生成对应的一个或多个第一服务调用拓扑,其中,每个第一服务调用拓扑由一个或多个所述服务调用链聚合而得;第二服务调用拓扑生成装置34对所述一个或多个第一服务调用拓扑中相关联的至少两个所述第一服务调用拓扑进行聚合处理,以获得对应的一个或多个第二服务调用拓扑;服务调用拓扑操作获取装置35获取用户对所述第一服务调用拓扑或第二服务调用拓扑中至少一个的调用相关信息的选择或查看操作;服务调用拓扑呈现装置33在所述第一服务调用拓扑或第二服务调用拓扑中至少一个对应的显示窗口中区别呈现所述调用相关信息。

在此,图6中的服务调用链获取装置31、第一服务调用拓扑生成装置32与图4中的服务调用链获取装置11、第一服务调用拓扑生成装置12相同或相似,以及图6中的第二服务调用拓扑生成装置34与图5中的第二服务调用拓扑生成装置24相同或相似,在此不再赘述。

具体地,服务调用拓扑操作获取装置35获取用户对所述第一服务调用拓扑或第二服务调用拓扑中至少一个的调用相关信息的选择或查看操作。所述调用相关信息是指相邻节点、相邻调用关系、相邻分支等。通过输入设备下达指令进行选择或查看操作,如通过输入例如第一服务调用拓扑或第二服务调用拓扑的名称或其它代表信息,查看其名下的拓扑中的服务节点信息或相邻分支中的信息,例如图7所示,点击下方的分支1的名称选择查看第一服务调用拓扑分支1,其中,点击操作即为所述选择或查看操作,分支1的名称以及点击按钮后的系统对分支1中的服务节点的关联显示即为所述调用相关信息。

本领域技术人员应能理解上述选择或查看操作的方式则仅为举例,其他现有的或今后可能出现的选择或查看操作的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

优选地,所述调用相关信息包括以下至少任一项:

所述第一服务调用拓扑或第二服务调用拓扑中至少一个的一个或多个服务节点,是指所述服务调用拓扑中的服务节点例如图7中所显示的拓扑中的圆点即代表分支中的服务节点的调用相关信息。

所述第一服务调用拓扑或第二服务调用拓扑中至少一个的一个或多个服务调用关系,即指拓扑中的调用的前后以及并列的顺序关系,例如图7中所显示的拓扑中的线条即通过对线条两端的代表服务节点的圆圈进行连接表示了分支中服务节点的调用关系。

接着,服务调用拓扑呈现装置33在所述第一服务调用拓扑或第二服务调用拓扑中至少一个对应的显示窗口中区别呈现所述调用相关信息。所述区别呈现是指所显示的服务调用拓扑通过使用不同颜色、字体或添加填充色等方式实现区分显示,例如图7中的需要显示的分支即通过加深其中线条的颜色以及在所查看的分支的显示范围内显示方框进行区分显示,从而更加直观清 晰的对服务调用的拓扑关系进行显示。具体呈现时可根据每个节点中对应于分支的名称信息进行选择和区别显示,例如,将服务调用拓扑中的每个节点中添加标签对相邻节点、相邻调用关系、相邻分支添加不同的区别标签,从而在显示时对这些标签信息进行读取,从而获得需要区别显示的对象。

优选地,所述服务调用拓扑呈现装置33在所述第一服务调用拓扑或第二服务调用拓扑中至少一个对应的显示窗口中区别呈现所述调用相关信息,以及所述调用相关信息对应的相邻调用信息。所述相邻的调用信息是指与所显示的服务调用拓扑有相同节点,使得所述服务调用拓扑在开发或使用时会有一定几率调用或关联的相邻的其它服务调用拓扑或节点,区别显示所述相邻的调用信息可以在开发或问题定位时对相邻的服务节点进行相应的处理和分析,从而提升开发,监控或问题定位的效率。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其 中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1