The invention discloses a blockchain based whole link monitoring method, device and system, the monitoring method includes: first, based on the tracking mark of the parent node of the node and the call request of the parent node of the node to the node, generating the tracking label of the node, and sending the tracking label and the hash value of the parent node of the node to the node; second, based on the node Based on the tracking data of the current node and the hash value of the parent node of the current node, the block identification of the cost node is generated; based on the tracking tag and block identification of the current node, the tracking tag of the cost node is generated; finally, based on the asynchronous mode, the node log of the cost node is generated and repeated for any local node. Step until the call request is complete. In the application, the security of the whole link monitoring is realized through the blockchain technology, and the node logs are collected, which provides a guarantee for the fault processing of the business system.
【技术实现步骤摘要】
一种基于区块链的全链路监控方法、装置及系统
本专利技术属于计算机
,特别涉及一种基于区块链的全链路监控方法、装置及系统。
技术介绍
随着公司的发展,各业务线使用的系统越来越多,每个系统专注于某一方面业务问题的解决、提供相关的服务。有些业务线比较复杂,一条完整的业务流会经历几个系统,甚至十几个系统。有时某个节点出现问题,后续操作便无法进行,现有的分布式系统的链路监控,主要包括以下解决方案:传统的分布式系统的链路追踪主要是依靠程序主动打点上报,需要开发人员书写大量的代码实现功能,且切入点不能保证正确性。目前,公司的项目对经过多个系统节点的远程过程调用请求,基本都是这种模式,需要在经历的每个系统的相关节点添加日志记录,一旦请求出现问题,需打印经历的每个节点的日志,从而确定故障位置,非常低效。传统的APM(应用性能管理)技术只支持单个应用的性能监控,无法聚合,也不能实现全链路追踪,而且这种方式只是对系统性能进行监控,无法对业务问题进行定位。现有的新型的全链路追踪方法,通过字节码技术,来实现分布式系统的自动全链路监控追踪,实现自动记录系统的全链路监控,无需修改任何代码,但该方式也有一些缺陷,如无法保证每个节点追踪标记的唯一性,数据可能有篡改的风险。从而如何对全链路进行加密监控及监控数据的处理、分析称为亟需解决的问题。
技术实现思路
针对上述问题,本专利技术提供一种基于区块链的全链路监控方法、装置及系统,在一次用户调用请求过程中,保证调用数据的安全性及可快速定位故障的可追溯性。< ...
【技术保护点】
1.一种基于区块链的全链路监控方法,其特征在于,所述方法包括:/n在调用过程中调用请求经过本节点时,基于本节点的父节点的追踪标记及本节点的父节点对本节点的调用请求,生成本节点的追踪标签,并将追踪标签和本节点的父节点的哈希值发送至本节点;/n基于所述本节点的追踪标签,生成本节点的追踪数据;/n基于所述本节点的追踪数据与本节点的父节点的哈希值,生成本节点的区块标识;/n基于所述本节点的追踪标签与区块标识,生成本节点的追踪标记;/n基于异步方式,生成本节点的节点日志,并对任意本节点重复上述步骤,直至调用请求完成。/n
【技术特征摘要】
1.一种基于区块链的全链路监控方法,其特征在于,所述方法包括:
在调用过程中调用请求经过本节点时,基于本节点的父节点的追踪标记及本节点的父节点对本节点的调用请求,生成本节点的追踪标签,并将追踪标签和本节点的父节点的哈希值发送至本节点;
基于所述本节点的追踪标签,生成本节点的追踪数据;
基于所述本节点的追踪数据与本节点的父节点的哈希值,生成本节点的区块标识;
基于所述本节点的追踪标签与区块标识,生成本节点的追踪标记;
基于异步方式,生成本节点的节点日志,并对任意本节点重复上述步骤,直至调用请求完成。
2.根据权利要求1所述的监控方法,其特征在于,基于所述本节点的追踪数据与本节点的父节点的哈希值,生成本节点的区块标识包括:
基于本节点的追踪数据,采用梅克尔根算法计算本节点的哈希值;
基于所述本节点的父节点的哈希值和计算出的本节点的哈希值组成本节点的区块标识。
3.根据权利要求1所述的监控方法,其特征在于,所述节点日志至少包括本节点的追踪标记与本节点的追踪数据。
4.根据权利要求1所述的监控方法,其特征在于,所述追踪标签包括调用链标签、本节点标签、本节点的父节点标签、父子节点关系标签。
5.根据权利要求1-3任一所述的监控方法,其特征在于,所述追踪数据包括以下一种或多种信息:
调用的开始时间、协议类型、调用方地址、调用方端口、请求的服务名、调用耗时、调用结果、异常信息。
6.根据权利要求4所述的监控方法,其特征在于,当所述本节点的追踪标签无父节点标签时,所述父子节点关系标签为根标签。
7.根据权利要求4或6所述的监控方法,其特征在于,所述调用链标签、父子节点关系标签、本节点标签及本节点的父节点标签均采用64位整数表示。
8.根据权利要求1-4、6任一所述的监控方法,其特征在于,所述方法还包括对节点日志进行采集和存储:
日志收集与存储模块收集节点日志;
将收集的所述节点日志放置于MQ缓存区;
将所述MQ缓存区中的节点日志进行排队,形成消息队列。
9.根据权利要求8所述的监控方法,其特征在于,所述方法还包括日志分布式模块通过数据传输模块读取消息队列并进行存储。
10.根据权利要求9所述的监控方法,其特征在于,所述方法还包括对节点日志进行离线分析:
日志计算模块根据预设条件计算、汇聚所述日志分布式模块中目标节点日志的指标结果,并将指标结果中的所述节点日志的原始数据放置于查询数据库;<...
【专利技术属性】
技术研发人员:焦华峰,高迪,郭栋,杨永发,陈丽,于洋,耿亮,靳胜强,巩仔明,邱慧,
申请(专利权)人:优估上海信息科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。