一种基于区块链的全链路监控方法、装置及系统制造方法及图纸

技术编号:22564689 阅读:59 留言:0更新日期:2019-11-16 11:49
本发明专利技术公开了一种基于区块链的全链路监控方法、装置及系统,所述监控方法包括:首先基于本节点的父节点的追踪标记及本节点的父节点对本节点的调用请求,生成本节点的追踪标签,并将追踪标签和本节点的父节点的哈希值发送至本节点;其次基于所述本节点的追踪标签,生成本节点的追踪数据;然后基于所述本节点的追踪数据与本节点的父节点的哈希值,生成本节点的区块标识;然后基于所述本节点的追踪标签与区块标识,生成本节点的追踪标记;最后基于异步方式,生成本节点的节点日志,并对任意本节点重复上述步骤,直至调用请求完成。本申请中通过区块链技术实现全链路监控的安全性,对节点日志进行收集,为业务系统的故障处理提供了保障。

A whole link monitoring method, device and system based on blockchain

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(应用性能管理)技术只支持单个应用的性能监控,无法聚合,也不能实现全链路追踪,而且这种方式只是对系统性能进行监控,无法对业务问题进行定位。现有的新型的全链路追踪方法,通过字节码技术,来实现分布式系统的自动全链路监控追踪,实现自动记录系统的全链路监控,无需修改任何代码,但该方式也有一些缺陷,如无法保证每个节点追踪标记的唯一性,数据可能有篡改的风险。从而如何对全链路进行加密监控及监控数据的处理、分析称为亟需解决的问题。
技术实现思路
针对上述问题,本专利技术提供一种基于区块链的全链路监控方法、装置及系统,在一次用户调用请求过程中,保证调用数据的安全性及可快速定位故障的可追溯性。<br>本专利技术的目的在于提供一种基于区块链的全链路监控方法,所述方法包括:在调用过程中调用请求经过本节点时,基于本节点的父节点的追踪标记及本节点的父节点对本节点的调用请求,生成本节点的追踪标签,并将追踪标签和本节点的父节点的哈希值发送至本节点;基于所述本节点的追踪标签,生成本节点的追踪数据;基于所述本节点的追踪数据与本节点的父节点的哈希值,生成本节点的区块标识;基于所述本节点的追踪标签与区块标识,生成本节点的追踪标记;基于异步方式,生成本节点的节点日志,并对任意本节点重复上述步骤,直至调用请求完成。进一步,所述基于所述本节点的追踪数据与本节点的父节点的哈希值,生成本节点的区块标识包括:基于本节点的追踪数据,采用梅克尔根算法计算本节点的哈希值;基于所述本节点的父节点的哈希值和计算出的本节点的哈希值组成本节点的区块标识。进一步,所述节点日志至少包括本节点的追踪标记与本节点的追踪数据。进一步,所述追踪标签包括调用链标签、本节点标签、本节点的父节点标签、父子节点关系标签。进一步,所述追踪数据包括以下一种或多种信息:调用的开始时间、协议类型、调用方地址、调用方端口、请求的服务名、调用耗时、调用结果、异常信息。进一步,当所述本节点的追踪标签无父节点标签时,所述父子节点关系标签为根标签。进一步,所述调用链标签、父子节点关系标签、本节点标签及本节点的父节点标签均采用64位整数表示。进一步,所述方法还包括对节点日志进行采集和存储:日志收集与存储模块收集节点日志;将收集的所述节点日志放置于MQ缓存区;将所述MQ缓存区中的节点日志进行排队,形成消息队列。进一步,所述方法还包括日志分布式模块通过数据传输模块读取消息队列并进行存储。进一步,所述方法还包括对节点日志进行离线分析:日志计算模块根据预设条件计算、汇聚所述日志分布式模块中目标节点日志的指标结果,并将指标结果中的所述节点日志的原始数据放置于查询数据库;日志计算模块抽取指标结果中节点日志的调用链标签,并将指标结果与所述调用链标签放置于展示模块;基于展示模块中的所述调用链标签,在查询数据库中调取具有同一调用链标签的节点日志。进一步,所述对节点日志进行离线分析还包括:将调取的所述具有同一调用链标签的节点日志按照时间进行排序;基于节点日志中的父节点标签及父子节点关系标签,形成节点日志的调用栈。本专利技术的第二个目的在于提供一种基于区块链的全链路监控装置,所述装置包括:追踪标签生成及发送模块,用于在调用过程中调用请求经过本节点时,基于本节点的父节点的追踪标记及本节点的父节点对本节点的调用请求,生成本节点的追踪标签,并将追踪标签和本节点的父节点的哈希值发送至本节点;追踪数据生成模块,用于基于所述本节点的追踪标签,生成本节点的追踪数据;区块标识生成模块,用于基于所述本节点的追踪数据与本节点的父节点的哈希值,生成本节点的区块标识;追踪标记生成模块,用于基于所述本节点的追踪标签与区块标识,生成本节点的追踪标记;日志生成模块,用于基于异步方式,生成本节点的节点日志。进一步,所述装置还包括日志分布式模块,所述日志分布式模块包括日志收集与存储模块、数据传输模块及日志分析模块,其中,所述日志收集与存储模块,用于收集节点日志,将收集的所述节点日志放置于MQ缓存区,并将所述MQ缓存区中的节点日志进行排队,形成消息队列。所述数据传输模块,用于读取消息队列并进行存储;所述日志分析模块,用于对节点日志进行离线分析。进一步,所述日志分析模块包括日志计算模块、查询数据库及展示模块,其中,所述日志计算模块,用于根据预设条件计算、汇聚日志分布式模块中目标节点日志的指标结果,并将指标结果中的节点日志的原始数据放置于查询数据库;且还用于抽取的指标结果中节点日志的调用链标签,并将指标结果及所述调用链标签发送给展示模块;所述展示模块,用于放置所述指标结果及指标结果中节点日志的调用链标签;所述查询数据库,用于存储指标结果中的节点日志的原始数据。本专利技术的第三个目的在于提供一种基于区块链的全链路监控系统,所述监控系统包括:至少一个处理器以及至少一个存储器,其中,所述存储器存储执行上述所述方法的计算机程序,所述处理器调用所述存储器中的计算机程序以执行上述所述的方法。本专利技术所述的监控方法、装置及系统具有以下有益效果:1、采用异步方式在追踪调用过程中,生成节点日志,消减高峰请求时的系统压力,保证业务的平稳进行。2、所述本节点的追踪标记中包括区块标识,且在确定每个追踪标记的追踪数据时,均依赖于父节点的追踪标记,从而保障了数据之间的关联性,同时利用区块链技术,保障了追踪数据的安全性及不可篡改性,从而提升业务系统的安全性能。3、在每个应用中设置日志收集器,实现负载均衡,且在日志收集器中增加MQ缓存区,从而将收集的节点日志形成消息队列,进行排队缓冲,优化系统性能。4、将同一条调用链的日志汇总在一起,对节点日志进行离线分析,加快业务异常查询速度。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来本文档来自技高网...

【技术保护点】
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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1