[发明专利]服务调用链路分析方法及系统在审
申请号: | 201710157586.6 | 申请日: | 2017-03-16 |
公开(公告)号: | CN106790718A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 于兰恒;李元甲;舒志龙;李晓情 | 申请(专利权)人: | 北京搜狐新媒体信息技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/24 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 王宝筠 |
地址: | 100084 北京市海淀区中*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 服务 调用 分析 方法 系统 | ||
技术领域
本发明属于计算机技术领域,尤其涉及一种服务调用链路分析方法及系统。
背景技术
随着互联网技术高速发展,为了支撑日益增长的庞大业务量,通常将服务整合、拆分,使得服务不仅能通过集群部署抵挡流量冲击,又能根据业务需要进行灵活扩展。
但是,一个请求少则经过三、四个服务调用完成,多则跨越几十个甚至上百个服务节点。即使分布式系统的开发者,也很难清楚地说出某个服务的调用链路,而且,服务调用链路动态变化。这种分布式结构,如果业务流出现错误和异常,如何定位哪个节点出现了问题,如何分析服务链路的瓶颈并对其进行优化。因此,亟需一种分布式调用链跟踪系统,其中,zipkin是一款开源的分布式实时数据追踪系统,其主要功能是聚焦来自各个异构系统的实时监控数据,用来追踪分布式微服务架构下的系统延时问题,但是,zipkin功能单一,只能实时分析调用状况,不能得到整个系统中各个应用之间的调用关系、调用耗时等参数,不能很好地预估各个环节的薄弱点。
发明内容
有鉴于此,本申请实施例提供一种服务调用分析方法及装置,以解决现有的调用链跟踪系统无法获得整个系统的调用关系、调用耗时等参数,不能预估各个调用环节的薄弱点的问题。
第一方面,本申请提供一种服务调用链路分析方法,应用于服务端,包括:
获取服务调用请求的对应的日志信息,所述日志信息包括所述调用追踪标识、服务名、调用类型、调用时间信息、调用节点信息、调用结果和异常信息,所述调用追踪标识与所述服务调用请求一一对应,且所述调用追踪标识在服务调用请求对应的调用链路中传递;
根据所述日志信息得到所述调用追踪标识对应的调用信息,所述调用信息包括整个服务调用链路中各个调用节点对应的调用时间、服务名、调用耗时、调用来源信息及调用关系;
将所述调用信息及所述调用追踪标识对应存储到数据库中;
分析数据库中每一个调用追踪标识对应的调用信息,得到整个服务调用系统中各个节点之间调用关系,以及各个节点的调用参数。
可选地,将所述调用信息及所述调用追踪标识对应存储到数据库中,包括:
以所述调用追踪标识为行/列关键字,以调用节点信息为列/行关键字,对应存储所述调用信息,且所述数据库中所述调用节点的先后顺序与所述调用追踪标识对应的调用关系一致。
可选地,所述方法还包括:
为所述调用信息创建索引,所述索引包括服务名、调用耗时、异常信息和调用方信息。
可选地,所述根据所述日志信息得到所述调用追踪标识对应的调用信息,包括:
根据所述调用时间信息计算每个节点对应的调用耗时;
分析包含所述调用追踪标识的全部日志信息,得到所述调用追踪标识对应的各个节点之间的调用关系;
分析包含所述调用追踪标识的全部日志信息,得到所述调用追踪标识对应的调用来源信息。
可选地,所述分析数据库中每一个调用追踪标识对应的调用信息,得到整个服务调用系统中各个节点之间调用关系,以及各个节点的调用参数,包括:
以所述调用追踪标识为单元从所述数据库中读取对应的调用信息;
解析所述调用追踪标识对应的调用信息,得到具有依赖关系的调用树,所述调用树中各个节点的值包括调用次数、异常次数和调用耗时;
对所述调用树中每个节点的值进行聚合分析,得到每秒查询率、平均耗时、调用关系和调用来源。
可选地,所述获取所述服务调用请求的日志信息,包括:
从日志消息队列中读取所述服务调用请求对应的日志信息,所述日志消息队列中的信息由设置在客户端和服务端的上下文信息的埋点收集得到。
第二方面,本申请提供一种服务调用链路分析系统,应用于服务端,包括:
数据获取模块,用于获取服务调用请求的对应的日志信息,所述日志信息包括所述调用追踪标识、服务名、调用类型、调用时间信息、调用节点信息、调用结果和异常信息,所述调用追踪标识与所述服务调用请求一一对应,且所述调用追踪标识在服务调用请求对应的调用链路中传递;
实时处理模块,用于根据所述日志信息得到所述调用追踪标识对应的调用信息,所述调用信息包括整个服务调用链路中各个调用节点对应的调用时间、服务名、调用耗时、调用来源信息及调用关系;
数据存储模块,用于将所述调用信息及所述调用追踪标识对应存储到数据库中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京搜狐新媒体信息技术有限公司,未经北京搜狐新媒体信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710157586.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:辉光保护系统和电气机器
- 下一篇:电机的电晕屏蔽系统