一种应用于区块链的节点监控系统技术方案

技术编号:14816109 阅读:77 留言:0更新日期:2017-03-15 11:05
本发明专利技术公开了一种应用于区块链的节点监控系统,包括区块链节点的监控单元和以及独立于区块链节点的监控程序,监控单元包括网络监控模块、区块链监控模块、行为监控模块、状态监控模块、日志监控模块。本发明专利技术监控系统利用布置于各节点上的监控单元监控节点自身,收集监控数据,发现区块链节点的异常,并降低其造成的影响,进而利用监控处理模块突出异常节点,通过收集的数据快速分析与定位异常节点的位置和原因,对异常做出处理与控制;本发明专利技术可广泛应用于公有链、联盟链以及私有链的节点监控,尤其适用于联盟连和私有链。

【技术实现步骤摘要】

本专利技术属于区块链
,具体涉及一种应用于区块链的节点监控系统
技术介绍
在实际使用过程中,区块链节点可能出现各种异常情况。如黑客攻击,连续建立与断开连接,造成被攻击的区块链节点大量资源消耗在连接上,区块链节点效率降低,甚至不能正常工作,进而影响整个区块链的效率和安全。公有链网络拥有大量的区块链节点,某个节点出现异常情况,对整个区块链网络的影响可能比较微小。但对于联盟链和私有链而言,每一个区块链节点都很重要,任何一个节点的异常,带来的影响主要有两个方面:1)影响节点所在联盟链或私有链的性能和安全;2)此区块链节点的拥有者不能正常的获取该联盟链或私有链的数据和参与该联盟链或私有链的工作。针对区块链节点异常所带来的问题,区块链需要一种监控节点的方法,能够及时的发现各节点的问题和原因,及时通知区块链节点拥有者进行干预,降低问题所造成的影响。
技术实现思路
鉴于上述,本专利技术提供了一种应用于区块链的节点监控系统,能够发现区块链节点的异常,并降低造成的影响。一种应用于区块链的节点监控系统,包括设置于各区块链节点上的监控单元和设置于上位机上的监控处理模块;所有区块链节点均连接至所述的监控处理模块,监控处理模块通过节点API(ApplicationProgrammingInterface,应用程序编程接口)获取各节点监控单元的监控数据,以图形化的方式展示监控数据,并突出异常节点,通过收集的监控数据快速分析与定位异常节点的位置和原因。所述的监控单元包括:网络监控模块,用于监控本区块链节点与同一区块链网络中其他节点建立的TCP连接(这些TCP连接未完成节点间的身份认证)、UDP连接以及已经连接的邻居(Peer);区块链监控模块,用于从本区块链节点监控收集整个区块链的信息,这些信息包括区块数量、区块产生速度、交易数量、合约数量以及pending/queued交易的数量;行为监控模块,用于监控本区块链节点的行为,这些行为包括本区块链节点发起交易或合约、验证交易或合约、产生区块、启动或关闭某些服务、建立或断开连接以及发现邻居;状态监控模块,用于监控本区块链节点的状态,这些状态包括本区块链节点的运行时间、网络状态以及节点自动化测试的结果;日志监控模块,用于监控本区块链节点的日志。所述的网络监控模块还监控并统计每个TCP连接上的错误,当一定时间内某一TCP连接上的错误数量达到一定阈值,将该TCP连接对应的节点加入节点黑名单中。所述的网络监控模块还监控每个邻居上的错误,判断错误类型,如果某一邻居上的错误不致于断开邻居,则保留该邻居,并统计错误;否则,断开该邻居并统计错误;当某一邻居上的错误数量达到一定阈值,将该邻居对应的节点加入节点黑名单中。所述节点黑名单中存放了禁止的节点,黑名单中的每一个节点都具有时效性,超过一定时间后,节点将从黑名单中被移除;故所述的节点黑名单是用于防止恶意连接,其具有以下功能,a)使本区块链节点不向黑名单中的节点发起连接;b)使本区块链节点禁止黑名单中节点发起的连接。所述的邻居为本区块链节点与同一区块链网络中其他节点建立的且已经完成节点间身份认证的TCP连接。所述行为监控模块监控到的行为都将与时间戳一起被记录到行为记录表中,以供后续使用。所述的节点自动化测试为一组程序,该程序用于对区块链节点做一些基础的测试,以确保节点的正常运行。所述的监控处理模块与各区块链节点建立TCP连接,通过节点API获取各节点监控单元的监控数据。所述的监控处理模块通过节点API获取关于区块链节点、区块、交易以及合约的详细信息。所述的节点API通过JSONRPC或RESTful实现。本专利技术监控系统利用布置于各节点上的监控单元监控节点自身,收集监控数据,发现区块链节点的异常,并降低其造成的影响,进而利用监控处理模块突出异常节点,通过收集的数据快速分析与定位异常节点的位置和原因,对异常做出处理与控制;本专利技术可广泛应用于公有链、联盟链以及私有链的节点监控,尤其适用于联盟连和私有链。附图说明图1为网络监控模块的TCP连接监控流程示意图。图2为网络监控模块的邻居(Peer)监控流程示意图。图3(a)为网络监控模块拨号过程中对黑名单的使用流程示意图。图3(b)为网络监控模块在节点收到新TCP连接过程中对黑名单的使用流程示意图。图4为区块链监控该模块更新实时数据的流程示意图。图5为行为监控模块的行为监控流程示意图。图6为状态监控模块的区块链节点自动化测试流程示意图。图7为区块链节点监控程序通过API访问节点监控模块收集数据的示意图。具体实施方式为了更为具体地描述本专利技术,下面结合附图及具体实施方式对本专利技术的技术方案进行详细说明。本专利技术节点监控系统包括区块链节点的监控单元和以及独立于区块链节点的监控程序(即由上位机上的监控处理模块实现)。监控单元是区块链节点的一部分,其由以下5个子模块实现完成:网络监控模块、区块链监控模块、行为监控模块、状态监控模块、日志监控模块;其中:区块链节点启动后,网络监控模块就会启动,并连接到区块链节点监控程序。网络监控模块负责监控未验证的TCP连接和邻居(Peer),并对这些连接上的错误进行处理:1)对于未验证的TCP连接上错误的监控和处理如图1所示,当收到TCP连接会进行身份验证和加密验证,如果此过程间出现错误,将会记录该连接对应的远程节点和出现错误的时间,然后统计5分钟内的该远程节点的错误数量,如果大于阈值MaxTCPErrorsCount,则将该远程节点加入到节点黑名单中,并设置其在节点黑名单中超时时间,然后断开该错误连接,否则,直接断开该错误连接;如果没有出现错误,则会得到邻居连接。2)对于邻居连接上错误的监控和处理如图2所示,对于错误的处理,与未验证的TCP连接的错误处理类似,不同之处在于,当5分钟的错误数量小于等于MaxPeerErrorsCount时,将会进一步判断错误的类型,如果错误不至于断开邻居连接,将保持邻居连接,以免降低共识效率。区块链节点会主动连接已知的和发现的同一网络其他节点,这些节点会加入到拨号列表。图3(a)中展示了拨号过程中对黑名单的使用。当拨号的远程节点在黑名单时,将直接跳过此节点,避免连接恶意节点。同时,还需要避免恶意节点的主动连接,图3(b)中展示了,节点收到的新TCP连接,如果连接的远程节点在节点黑名单中,则该连接是恶意连接,断开连接,否则进入连接身份和加密验证阶段。区块链节点监控程序可以通过区块链节点API获取当前的所有TCP连接和邻居(Peer),以及当前节点黑名单等数据。区块链监控模块负责收集区块数量、新区块产生速度、平均区块产生速度、交易数量、合约数量、pending/queued交易的数量等。其中区块数量、pending/queued交易的数量可以调用区块链API直接读取,新区块产生速度、平均区块产生速度可以使用以下公式计算:新区块产生速度=1/(th-th-1)各参数含义如下:th:新区块产生的时间th-1:新区块的上一个区块产生的时间vi:块i的新区块产生速度h:最新的块号h0:启动后产生的第一个块交易数量和合约数量是一个累计结果,是不能通过接口直接读取的。每当新的区块产生时,交易和合约数量都需要更新。图4展示了保持更新交易和合约数量以及新区块产生速本文档来自技高网...
一种应用于区块链的节点监控系统

【技术保护点】
一种应用于区块链的节点监控系统,其特征在于:包括设置于各区块链节点上的监控单元和设置于上位机上的监控处理模块;所有区块链节点均连接至所述的监控处理模块,监控处理模块通过节点API获取各节点监控单元的监控数据,以图形化的方式展示监控数据,并突出异常节点,通过收集的监控数据快速分析与定位异常节点的位置和原因。

【技术特征摘要】
1.一种应用于区块链的节点监控系统,其特征在于:包括设置于各区块链节点上的监控单元和设置于上位机上的监控处理模块;所有区块链节点均连接至所述的监控处理模块,监控处理模块通过节点API获取各节点监控单元的监控数据,以图形化的方式展示监控数据,并突出异常节点,通过收集的监控数据快速分析与定位异常节点的位置和原因。2.根据权利要求1所述的节点监控系统,其特征在于:所述的监控单元包括:网络监控模块,用于监控本区块链节点与同一区块链网络中其他节点建立的TCP连接、UDP连接以及已经连接的邻居;区块链监控模块,用于从本区块链节点监控收集整个区块链的信息,这些信息包括区块数量、区块产生速度、交易数量、合约数量以及pending/queued交易的数量;行为监控模块,用于监控本区块链节点的行为,这些行为包括本区块链节点发起交易或合约、验证交易或合约、产生区块、启动或关闭某些服务、建立或断开连接以及发现邻居;状态监控模块,用于监控本区块链节点的状态,这些状态包括本区块链节点的运行时间、网络状态以及节点自动化测试的结果;日志监控模块,用于监控本区块链节点的日志。3.根据权利要求2所述的节点监控系统,其特征在于:所述的网络监控模块还监控并统计每个TCP连接上的错误,当一定时间内某一TCP连接上的错误数量达到一定阈值,将该TCP连接对应的节点加入节点黑名单中。4.根据权利要求2所述的节点监控系统,其特征在于:所述的网...

【专利技术属性】
技术研发人员:黄步添石太彬陈建海刘振广王云霄王津航王备张维赛王从礼
申请(专利权)人:杭州云象网络技术有限公司
类型:发明
国别省市:浙江;33

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

1