首页 / 专利库 / 银行与财务事项 / 区块链交易 / 一种应用于区块链的节点监控系统

一种应用于链的节点监控系统

阅读:95发布:2022-05-19

专利汇可以提供一种应用于链的节点监控系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种应用于 区 块 链 的 节点 监控系统 ,包括区块链节点的监控单元和以及独立于区块链节点的监控程序,监控单元包括网络监控模块、区块链监控模块、行为监控模块、状态监控模块、日志监控模块。本发明监控系统利用布置于各节点上的监控单元监控节点自身,收集监控数据,发现区块链节点的异常,并降低其造成的影响,进而利用监控处理模块突出异常节点,通过收集的数据快速分析与 定位 异常节点的 位置 和原因,对异常做出处理与控制;本发明可广泛应用于公有链、联盟链以及私有链的节点监控,尤其适用于联盟连和私有链。,下面是一种应用于链的节点监控系统专利的具体信息内容。

1.一种应用于链的节点监控系统,其特征在于:包括设置于各区块链节点上的监控单元和设置于上位机上的监控处理模块;所有区块链节点均连接至所述的监控处理模块,监控处理模块通过节点API获取各节点监控单元的监控数据,以图形化的方式展示监控数据,并突出异常节点,通过收集的监控数据快速分析与定位异常节点的位置和原因。
2.根据权利要求1所述的节点监控系统,其特征在于:所述的监控单元包括:
网络监控模块,用于监控本区块链节点与同一区块链网络中其他节点建立的TCP连接、UDP连接以及已经连接的邻居;
区块链监控模块,用于从本区块链节点监控收集整个区块链的信息,这些信息包括区块数量、区块产生速度、交易数量、合约数量以及pending/queued交易的数量;
行为监控模块,用于监控本区块链节点的行为,这些行为包括本区块链节点发起交易或合约、验证交易或合约、产生区块、启动或关闭某些服务、建立或断开连接以及发现邻居;
状态监控模块,用于监控本区块链节点的状态,这些状态包括本区块链节点的运行时间、网络状态以及节点自动化测试的结果;
日志监控模块,用于监控本区块链节点的日志。
3.根据权利要求2所述的节点监控系统,其特征在于:所述的网络监控模块还监控并统计每个TCP连接上的错误,当一定时间内某一TCP连接上的错误数量达到一定阈值,将该TCP连接对应的节点加入节点黑名单中。
4.根据权利要求2所述的节点监控系统,其特征在于:所述的网络监控模块还监控每个邻居上的错误,判断错误类型,如果某一邻居上的错误不致于断开邻居,则保留该邻居,并统计错误;否则,断开该邻居并统计错误;当某一邻居上的错误数量达到一定阈值,将该邻居对应的节点加入节点黑名单中。
5.根据权利要求3或4所述的节点监控系统,其特征在于:所述节点黑名单中存放了禁止的节点,黑名单中的每一个节点都具有时效性,超过一定时间后,节点将从黑名单中被移除;故所述的节点黑名单是用于防止恶意连接,其具有以下功能,a)使本区块链节点不向黑名单中的节点发起连接;b)使本区块链节点禁止黑名单中节点发起的连接。
6.根据权利要求1或4所述的节点监控系统,其特征在于:所述的邻居为本区块链节点与同一区块链网络中其他节点建立的且已经完成节点间身份认证的TCP连接。
7.根据权利要求2所述的节点监控系统,其特征在于:所述行为监控模块监控到的行为都将与时间戳一起被记录到行为记录表中,以供后续使用。
8.根据权利要求2所述的节点监控系统,其特征在于:所述的节点自动化测试为一组程序,该程序用于对区块链节点做一些基础的测试,以确保节点的正常运行。
9.根据权利要求1所述的节点监控系统,其特征在于:所述的监控处理模块与各区块链节点建立TCP连接,通过节点API获取各节点监控单元的监控数据。
10.根据权利要求1所述的节点监控系统,其特征在于:所述的监控处理模块通过节点API获取关于区块链节点、区块、交易以及合约的详细信息。

说明书全文

一种应用于链的节点监控系统

技术领域

[0001] 本发明属于区块链技术领域,具体涉及一种应用于区块链的节点监控系统。

背景技术

[0002] 在实际使用过程中,区块链节点可能出现各种异常情况。如黑客攻击,连续建立与断开连接,造成被攻击的区块链节点大量资源消耗在连接上,区块链节点效率降低,甚至不能正常工作,进而影响整个区块链的效率和安全。
[0003] 公有链网络拥有大量的区块链节点,某个节点出现异常情况,对整个区块链网络的影响可能比较微小。但对于联盟链和私有链而言,每一个区块链节点都很重要,任何一个节点的异常,带来的影响主要有两个方面:1)影响节点所在联盟链或私有链的性能和安全;2)此区块链节点的拥有者不能正常的获取该联盟链或私有链的数据和参与该联盟链或私有链的工作。
[0004] 针对区块链节点异常所带来的问题,区块链需要一种监控节点的方法,能够及时的发现各节点的问题和原因,及时通知区块链节点拥有者进行干预,降低问题所造成的影响。

发明内容

[0005] 鉴于上述,本发明提供了一种应用于区块链的节点监控系统,能够发现区块链节点的异常,并降低造成的影响。
[0006] 一种应用于区块链的节点监控系统,包括设置于各区块链节点上的监控单元和设置于上位机上的监控处理模块;所有区块链节点均连接至所述的监控处理模块,监控处理模块通过节点API(Application Programming Interface,应用程序编程接口)获取各节点监控单元的监控数据,以图形化的方式展示监控数据,并突出异常节点,通过收集的监控数据快速分析与定位异常节点的位置和原因。
[0007] 所述的监控单元包括:
[0008] 网络监控模块,用于监控本区块链节点与同一区块链网络中其他节点建立的TCP连接(这些TCP连接未完成节点间的身份认证)、UDP连接以及已经连接的邻居(Peer);
[0009] 区块链监控模块,用于从本区块链节点监控收集整个区块链的信息,这些信息包括区块数量、区块产生速度、交易数量、合约数量以及pending/queued交易的数量;
[0010] 行为监控模块,用于监控本区块链节点的行为,这些行为包括本区块链节点发起交易或合约、验证交易或合约、产生区块、启动或关闭某些服务、建立或断开连接以及发现邻居;
[0011] 状态监控模块,用于监控本区块链节点的状态,这些状态包括本区块链节点的运行时间、网络状态以及节点自动化测试的结果;
[0012] 日志监控模块,用于监控本区块链节点的日志。
[0013] 所述的网络监控模块还监控并统计每个TCP连接上的错误,当一定时间内某一TCP连接上的错误数量达到一定阈值,将该TCP连接对应的节点加入节点黑名单中。
[0014] 所述的网络监控模块还监控每个邻居上的错误,判断错误类型,如果某一邻居上的错误不致于断开邻居,则保留该邻居,并统计错误;否则,断开该邻居并统计错误;当某一邻居上的错误数量达到一定阈值,将该邻居对应的节点加入节点黑名单中。
[0015] 所述节点黑名单中存放了禁止的节点,黑名单中的每一个节点都具有时效性,超过一定时间后,节点将从黑名单中被移除;故所述的节点黑名单是用于防止恶意连接,其具有以下功能,a)使本区块链节点不向黑名单中的节点发起连接;b)使本区块链节点禁止黑名单中节点发起的连接。
[0016] 所述的邻居为本区块链节点与同一区块链网络中其他节点建立的且已经完成节点间身份认证的TCP连接。
[0017] 所述行为监控模块监控到的行为都将与时间戳一起被记录到行为记录表中,以供后续使用。
[0018] 所述的节点自动化测试为一组程序,该程序用于对区块链节点做一些基础的测试,以确保节点的正常运行。
[0019] 所述的监控处理模块与各区块链节点建立TCP连接,通过节点API获取各节点监控单元的监控数据。
[0020] 所述的监控处理模块通过节点API获取关于区块链节点、区块、交易以及合约的详细信息。
[0021] 所述的节点API通过JSON RPC或RESTful实现。
[0022] 本发明监控系统利用布置于各节点上的监控单元监控节点自身,收集监控数据,发现区块链节点的异常,并降低其造成的影响,进而利用监控处理模块突出异常节点,通过收集的数据快速分析与定位异常节点的位置和原因,对异常做出处理与控制;本发明可广泛应用于公有链、联盟链以及私有链的节点监控,尤其适用于联盟连和私有链。附图说明
[0023] 图1为网络监控模块的TCP连接监控流程示意图。
[0024] 图2为网络监控模块的邻居(Peer)监控流程示意图。
[0025] 图3(a)为网络监控模块拨号过程中对黑名单的使用流程示意图。
[0026] 图3(b)为网络监控模块在节点收到新TCP连接过程中对黑名单的使用流程示意图。
[0027] 图4为区块链监控该模块更新实时数据的流程示意图。
[0028] 图5为行为监控模块的行为监控流程示意图。
[0029] 图6为状态监控模块的区块链节点自动化测试流程示意图。
[0030] 图7为区块链节点监控程序通过API访问节点监控模块收集数据的示意图。

具体实施方式

[0031] 为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
[0032] 本发明节点监控系统包括区块链节点的监控单元和以及独立于区块链节点的监控程序(即由上位机上的监控处理模块实现)。监控单元是区块链节点的一部分,其由以下5个子模块实现完成:网络监控模块、区块链监控模块、行为监控模块、状态监控模块、日志监控模块;其中:
[0033] 区块链节点启动后,网络监控模块就会启动,并连接到区块链节点监控程序。网络监控模块负责监控未验证的TCP连接和邻居(Peer),并对这些连接上的错误进行处理:1)对于未验证的TCP连接上错误的监控和处理如图1所示,当收到TCP连接会进行身份验证和加密验证,如果此过程间出现错误,将会记录该连接对应的远程节点和出现错误的时间,然后统计5分钟内的该远程节点的错误数量,如果大于阈值MaxTCPErrorsCount,则将该远程节点加入到节点黑名单中,并设置其在节点黑名单中超时时间,然后断开该错误连接,否则,直接断开该错误连接;如果没有出现错误,则会得到邻居连接。2)对于邻居连接上错误的监控和处理如图2所示,对于错误的处理,与未验证的TCP连接的错误处理类似,不同之处在于,当5分钟的错误数量小于等于MaxPeerErrorsCount时,将会进一步判断错误的类型,如果错误不至于断开邻居连接,将保持邻居连接,以免降低共识效率。
[0034] 区块链节点会主动连接已知的和发现的同一网络其他节点,这些节点会加入到拨号列表。图3(a)中展示了拨号过程中对黑名单的使用。当拨号的远程节点在黑名单时,将直接跳过此节点,避免连接恶意节点。同时,还需要避免恶意节点的主动连接,图3(b)中展示了,节点收到的新TCP连接,如果连接的远程节点在节点黑名单中,则该连接是恶意连接,断开连接,否则进入连接身份和加密验证阶段。
[0035] 区块链节点监控程序可以通过区块链节点API获取当前的所有TCP连接和邻居(Peer),以及当前节点黑名单等数据。
[0036] 区块链监控模块负责收集区块数量、新区块产生速度、平均区块产生速度、交易数量、合约数量、pending/queued交易的数量等。其中区块数量、pending/queued交易的数量可以调用区块链API直接读取,新区块产生速度、平均区块产生速度可以使用以下公式计算:
[0037] 新区块产生速度=1/(th-th-1)
[0038]
[0039] 各参数含义如下:
[0040] th:新区块产生的时间
[0041] th-1:新区块的上一个区块产生的时间
[0042] vi:块i的新区块产生速度
[0043] h:最新的块号
[0044] h0:启动后产生的第一个块
[0045] 交易数量和合约数量是一个累计结果,是不能通过接口直接读取的。每当新的区块产生时,交易和合约数量都需要更新。图4展示了保持更新交易和合约数量以及新区块产生速度和平均区块产生速度的方法流程。区块链监控模块启动后,会先计算已有的交易和合约数量,然后每当区块产生后,则更新交易和合约数量,以及新区块产生速度和平均区块产生速度。区块链节点监控程序,可以利用区块链节点API读取以上收集的数据。
[0046] 行为监控模块负责监控该区块链节点的行为,所有的节点行为都将被监控和记录,比如该区块链节点发起交易或合约、验证交易或合约、产生区块、启动或关闭某些服务、建立或断开连接、发现邻居等行为。图5展示了行为监控模块的行为监控流程,每当有新的行为发生,都将获取行为发生的时间,一并写入行为记录表。如果行为是关闭节点,则关闭行为监控模块。
[0047] 区块链节点监控程序可以通过区块链节点API获取行为记录表数据。API可以提供多种获取行为数据的方式。比如可以是指定的若干最新行为,也可以是指定时间内的行为,也可以全部的行为。为了降低区块链节点的资源占用,可以通过API获取整个行为记录表,以上过滤操作也可以放到区块链节点监控程序来执行。
[0048] 状态监控模块负责监控该区块链节点的状态信息,比如该区块链节点的运行时间、网络状态、节点自动化测试结果。图6展示了状态监控模块区块链节点自动化测试,状态监控模块开启后,会周期性运行区块链节点自动化测试,生成测试报告,并记录自动化测试结果,向区块链节点监控程序提交简要测试报告。如果自动化测试出现问题,则证明节点出现了异常,不能正常工作,测试周期调整为10分钟,即10分钟后,再进行一次测试。如果测试全部通过,则测试周期调整为1小时,即1小时后再次测试。每次测试后,都更新故障时间。
[0049] 区块链节点监控程序可以通过区块链节点API获取每次自动化测试的详细测试报告。还可以向区块链节点发送自动化测试命令,进行自动化测试,获取最新的自动化测试结果。
[0050] 日志监控模块负责监控该区块链节点的日志,检查该区块链节点是否存在日志,当区块链节点监控程序获取节点日志的时候,由该模块提供。
[0051] 如图7所示,区块链节点监控程序与每一个区块链节点建立TCP连接,通过API获取区块链节点监控模块的所有数据,以图形化的方式展示数据,并且可以突出异常节点,通过收集的数据快速分析与定位异常节点的位置和原因;同时监控程序还提供一些辅助功能,使用节点API获取关于节点、区块、交易和合约等的详细信息。
[0052] 上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈