[发明专利]基于pinpoint日志的链路构建方法有效
申请号: | 201911082453.2 | 申请日: | 2019-11-07 |
公开(公告)号: | CN110569399B | 公开(公告)日: | 2020-03-06 |
发明(设计)人: | 胡荣德;陈思成;李开宇;蔡亮;喻川 | 申请(专利权)人: | 四川新网银行股份有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901 |
代理公司: | 成都智言知识产权代理有限公司 51282 | 代理人: | 濮云杉 |
地址: | 610094 四川省成都市高*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 pinpoint 日志 构建 方法 | ||
本发明涉及基于pinpoint日志的链路构建方法,包括:步骤1:将pinpoint日志的数据写入kafka集群中,并通过kafka集群将所述的pinpoint日志解析为Span信息;步骤2:在kafka集群中每次读取一条Span信息,并根据该Span信息的事务ID和LRU算法,添加或更新双向链表中的节点;步骤3:当双向链表中的节点数量达到预设的阈值N后,将双向链表中链尾的M个节点移出双向链表,各Span信息根据各自属性中的上游Span信息的ID与上游Span信息关联后,将M个结点构建出Span信息的跟踪树,并通过DFS算法,在跟踪树中遍历出具有相同事务ID的所有Span信息的集合,形成调用链路,将调用链路的数据写入数据库。本发明能够实现直接从pinpoint系统查询和解析链路的数据,并且具有较高效率,还能够实时对数据进行处理。
技术领域
本发明涉及数据处理的方法,具体讲是基于pinpoint日志的链路构建方法。
背景技术
pinpoint(APM)为分布式事务跟踪系统(全链路分析工具),基本思想源于GoogleDapper 论文。在实际生产应用中,通过pinpoint系统可跟踪单个事务中的分布式请求,实现应用链路和接口链路的跟踪与监控分析等。
目前构建应用链路和接口链路时,是对系统和应用的信息进行统一监控和分析,对其中的应用链路和接口链路,根据调用的先后顺序实时记录链路关系,最后通过字节码增强技术,将链路关系通过编码存储于HBase表中。当从pinpoint系统的HBase数据库表中查询应用相关数据时,存在以下问题:
1. 效率低下,查询容易超时。
2. 系统经常报错“waitting for n actions to finish”。
3. 不能实时进行数据处理和全链路的监控与分析。
产生以上问题的原因包括:
1. pinpoint系统的底层数据存储为HBase表,如果当前数据量较大,且Hbase表以行主键为唯一索引时,查询目标数据的效率就极为低下。
2. pinpoint系统的底层数据加工采用字节码增强方式。这种方式的优点是方便了开发人员无需修改代码;且可收集到更多精确的数据的优势。缺点是在数据入库、查询的过程需加入编码、解析的步骤,增大了数倍的系统开销,且该技术风险较高,开源团队尚未解决。
发明内容
本发明提供了一种基于pinpoint日志的链路构建方法,可以直接从pinpoint系统查询和解析链路的数据,以及解决对双向链表中活跃结点的判断,编码和解析的效率低下、查询超时、不能实时数据处理的问题。
本发明基于pinpoint日志的链路构建方法,包括:
A.将pinpoint日志的数据写入kafka集群系统(一种高吞吐量的分布式发布订阅消息系统,可以处理消费者在网站中的所有动作流数据)中,并通过kafka集群系统将所述的pinpoint日志解析为Span信息,其中所述的Span信息为处理相应调用事务的作业,在Span信息中包含了与该事务作业相关的各种数据;
B.在kafka集群系统中每次读取一条Span信息,并根据该Span信息的事务ID和LRU算法(Least Recently Used,最近最少使用算法),添加或更新双向链表中的结点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川新网银行股份有限公司,未经四川新网银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911082453.2/2.html,转载请声明来源钻瓜专利网。