[发明专利]一种分布式链路跟踪、分析方法及服务器、全局调度器在审
申请号: | 201611140248.3 | 申请日: | 2016-12-12 |
公开(公告)号: | CN108228432A | 公开(公告)日: | 2018-06-29 |
发明(设计)人: | 冯书志;任震宇 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 龙洪;栗若木 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 服务器 分布式集群 全局调度 跟踪标识 链路跟踪 事件信息 用户请求 数据量 分析 大型数据库 服务器发送 扩展性问题 查询请求 分开保存 链路分析 事件产生 事件搜索 数据存储 网络带宽 中央仓库 链路 搜索 存储 返回 申请 | ||
一种分布式链路跟踪、分析方法及服务器、全局调度器,分布式集群中的服务器在处理用户请求的过程中,在产生细节事件时伴随产生用于细节事件搜索的元事件,所述元事件中包含跟踪标识和事件产生时刻的信息,且数据量小于对应细节事件的数据量;所述服务器将产生的所述细节事件和元事件分开保存在本地。分布式集群中的全局调度器向所述分布式集群中的服务器发送链路查询请求,接收所述服务器在本地搜索后返回的与所述跟踪标识相关的事件信息;并基于接收到的事件信息对所述用户请求进行链路分析。本申请采取本地存储、按需分析的方式,去除了中央仓库和大型数据库,解决了数据存储、分析和网络带宽的成本高以及扩展性问题。
技术领域
本发明涉及计算机技术,更具体地,涉及一种分布式链路跟踪、分析方法及服务器、全局调度器。
背景技术
跟踪(tracing)是计算机系统跟踪系统运行状况的一种技术,多用于调试、监控和跟踪目的。它类似记录日志,但性能更好,对目标系统干扰更低,覆盖更广,常用于记录更高频、更底层的事件。
在计算机科学的Tracing领域中,“事件”(在下文称为细节事件)是指处理器运行到某指定代码点时,由于满足事先在该代码点设定的条件而触发一系列的操作,具有可识别性。比如用户事先在程序代码某处设定布尔变量,当处理器运行到这里,检测到该布尔变量为真时,就会触发事件,执行一系列事先安排的操作。这些操作通常是在日志中记录下这次事件的相关信息,比如事件名称、事件发生时刻、线程ID、事件携带的其他数据等。
“代码植入”(instrumentation)即术语“事件”中提到的由用户在应用程序的代码某处(由用户选择)植入一段逻辑(由用户设定),通常是记录事件包含的各种信息。它有动态和静态之分,动态记录植入是指不需要在程序代码里事先加入用于tracing的代码,而是由操作系统内核或者特权进程在目标程序运行期间在用户指定的代码位置(比如函数的头、尾部)加入特殊指令集,达到运行用户设定代码逻辑的目的。静态植入是用户修改应用程序源码来加入用于tracing的代码逻辑。被植入的程序称为埋点的服务器程序(instrumented binary)。
有些事件是非独立、彼此有关系的。比如用户应用程序用TCP协议发数据包(事件A),TCP数据段通过本地网卡传出去(事件B),TCP检测到该数据段丢失进而重发这个数据段(事件C)。在整个重传段的过程中如果能在上述各个关键点记录下包含时间戳并携带有用信息的事件(A、B、C),并且把这些有因果关系的事件从记录事件的总集合中挑选出来按照顺序(比如时间顺序)排列好,就能对用户数据包的发送延迟性给出定量的解释。上述挑选彼此有关系的事件并排序的过程叫做“事件关联”。
当代的互联网服务通常都是用大规模分布式集群来实现的,用户的一次请求很可能会散发到一个或多个集群去处理。集群中的各个服务器在这个请求的处理过程中可能承担不同的角色,最终协力完成请求,将结果返回给用户。为了更好的理解整个服务/系统、定位故障、优化性能,开发者/管理员一般会采用tracing技术来记录各个服务器上的操作的信息,然后对记录下来的信息进行汇总和分析。比如人们关心单个用户请求在其生命周期内各个处理阶段所花费的时间、资源等。服务器处理用户请求时,产生和记录相关信息的过程叫“链路跟踪”,之后对这些信息数据做分析的过程叫“链路分析”。
关于如何关联事件,业界有两种解决方案-黑盒跟踪和白盒跟踪。黑盒方案的优点是轻便,不修改应用程序代码,对应用方完全透明。它或者采用统计的方法从通讯消息包获得信息—因而是不精确的,或者根据收集到的各功能模块之间的交互消息根据消息之间内在的因果关系精确的跟踪。因此它的缺点是有可能在一定程度上不精确,另外在推断关联时有更大的资源消耗。采取黑盒方案的跟踪系统有vPath、BoarderPartrol、PreciseTracer等。白盒方案需要代码植入(instrumentation),这是它的缺点。优点是推断关联比较简单,事件关联精确。采取白盒方案的跟踪系统有X-Trace、PinPoint、Magpie、Dapper、鹰眼等。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611140248.3/2.html,转载请声明来源钻瓜专利网。