可视化区块链运维管理系统和方法
文献发布时间:2023-06-19 10:19:37
技术领域
本发明涉及区块链技术领域,具体地,涉及一种可视化区块链运维管理系统和方法。
背景技术
目前主流区块链产品尚未成熟,配套的运维管理平台要么功能缺失,要么彼此差异性很大不通用,本方案功能全面,而且采用组件化设计,模块边界划分清晰,功能实现上通用性强,可适配至绝大多数区块链产品。
系统架构设计要结合现有及未来可能出现的区块链产品,全面且深入调研市面上主流的区块链产品,以确定我们的运维管理系统要实现哪些功能、架构如何设计、模块如何划分。模块设计上要有足够高的通用性,以适配现有及未来可能出现的区块链产品。
专利文献CN109743328A(申请号:CN201910045209.2)公开了一种区块链开放云服务平台,所述平台包括账户体系管理、证书管理、区块链网络管理、节点管理、应用管理、运维监控管理、工具集成管理、智能合约管理以及数据归档管理等功能模块。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种可视化区块链运维管理系统和方法。
根据本发明提供的可视化区块链运维管理系统,包括:
区块链节点监控服务模块:运行于节点服务器上,监控服务器各项指标,判断节点运行健康情况,接收并执行系统对外接口模块下达的命令;
区块链统一交互服务模块:处理系统对外接口模块、区块链数据处理模块发送来的区块链交易,将交易封装为区块链能识别的数据格式,并负责管理用户签名用的私钥;
区块链数据处理模块:从区块链上读取数据,将区块链上原始数据清洗转化为预设数据格式并存储在自定义数据库中;
系统对外接口模块:接收来自前端用户交互界面的指令,将其分发给对应模块执行并返回执行结果给前端用户交互界面;
前端用户交互界面:为用户提供一个可视化的交互界面。
优选的,所述区块链节点监控服务模块包括:
节点运行监控模块:运行于节点服务器上,监控包括服务器CPU、内存、磁盘、网络带宽的硬件资源消耗情况,通过分析节点磁盘上的运行日志信息判断节点是否运行错误,并在运行出错的情况下发出预警。
优选的,所述区块链节点监控服务模块包括:
节点运行管理模块:运行于节点服务器上,用于接收并执行节点部署、启动、停止和重启指令,在指令执行前进行鉴权。
优选的,所述区块链统一交互服务模块包括:
用户密钥管理模块:系统将密钥加密存储在密钥管理模块,用户通过登录密码解锁密钥,进行管理操作。
优选的,所述区块链统一交互服务模块包括:
用户交易处理模块:进行区块链外部与内部的交互;
所述用户交易处理模块支持的命令包括:账户注册、链上信息查询、智能合约部署、智能合约执行、区块链系统参数设置和区块链节点准入设置。
优选的,所述区块链数据处理模块包括:
区块链数据采集模块:通过用户交易处理模块定时从区块链上采集数据;
区块链数据存储模块:按照用户的预先设定,将采集到的数据进行清洗、分析和重组,将采集到的数据构建成用户需要的组织形式,最终构建成数据仓库,以供用户进行多元化多维度的查询。
优选的,所述系统对外接口模块包括:
所述用户注册及认证模块:在用户申请注册后,管理员为用户生产密钥并设置角色,用户以可视化的形式查询区块链上的数据。
优选的,所述系统对外接口模块包括:
系统管理模块:接收来自区块链节点监控服务模块的信息,为用户提供系统健康信息及相关操作建议;
查询模块:接收来自前端用户交互界面的查询指令,调用区块链数据处理模块或者区块链统一交互服务模块获取数据并将结果返回给前端用户交互界面。
优选的,所述前端用户交互界面包括web页面和移动端app;
所述前端用户交互界面为系统前端的web页面及app提供接口,包括数据查询、系统管理、智能合约部署和节点运维相关的接口。
根据本发明提供的可视化区块链运维管理方法,包括:
步骤1:监控服务器各项指标,判断节点运行健康情况,接收并执行系统对外接口模块下达的命令;
步骤2:处理系统对外接口模块、区块链数据处理模块发送来的区块链交易,将交易封装为区块链能识别的数据格式,并负责管理用户签名用的私钥;
步骤3:从区块链上读取数据,将区块链上原始数据清洗转化为预设数据格式并存储在自定义数据库中;
步骤4:接收来自前端用户交互界面的指令,将其分发给对应模块执行并返回执行结果给前端用户交互界面。
与现有技术相比,本发明具有如下的有益效果:
1、本发明构建了一套功能全面的、可视化的区块链运维管理系统,涉及数据查询、系统运维、系统管理等多个功能,并将各个系统模块边界清晰划分,在设计及实现上有很强的通用性,可适配至绝大多数底层区块链系统;
2、本发明通过区块链统一交互服务模块构建了一套通用的与底层区块链交互的方法,与区块链交互,不再需要了解底层链的细节,所有细节由统一交互服务代为处理;
3、本发明通过区块链数据处理模块能够安全且快捷地从区块链上获取数据,并进行清洗过滤,然后按照用户预先设定的规则对数据进行转换和重组,构建数据仓库,帮助用户从多维度查询分析数据,挖掘数据中的价值。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明系统架构图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例:
如图1,根据本发明提供的一种可视化区块链运维管理系统,包括:区块链节点监控服务模块、区块链统一交互服务模块、区块链数据处理模块、系统对外接口模块,以及前端用户交互界面;
区块链节点监控服务模块运行于节点服务器上,作用是监控服务器各项指标,判断节点运行健康情况,接收并执行系统对外接口模块下达的节点部署、启动、停止、重启等命令。
区块链统一交互服务模块负责处理系统对外接口模块、区块链数据处理模块发送来的区块链交易,将交易(包括转账、查询、合约部署、合约执行、合约数据迁移等)封装为区块链可以识别的数据格式,并且还负责管理用户签名用的私钥。
区块链数据处理模块负责持续不断地从区块链上读取数据,并存储在用户自定义的数据库中,将区块链上原始数据清洗转化为可读性良好的数据格式并存储。
系统对外接口模块作为本系统的中枢,本模块构建了一套权限管理机制保证不同用户具有不同的操作权限,本模块负责接收来自前端用户交互界面的指令,将其分发给前述对应模块执行并返回执行结果给前端用户交互界面。
前端用户交互界面负责为用户提供一个可视化的交互界面。
所述区块链节点监控服务模块包括节点运行监控模块和节点运行管理模块;
所述区块链统一交互服务模块包括用户密钥管理模块和用户交易处理模块;
所述区块链数据处理模块包括区块链数据采集模块和区块链数据存储模块;
所述系统对外接口模块包括用户注册及认证模块、系统管理及查询模块;
系统管理模块负责通过接收来自区块链节点监控服务模块的信息,为用户提供系统健康信息及相关操作建议;
接收来自前端用户交互界面的管理类指令(系统参数设置、节点准入等),发送命令给区块链统一交互服务执行
查询模块负责接收来自前端用户交互界面的查询类指令,调用区块链数据处理模块或者区块链统一交互服务获取数据并将结果返回给前端用户交互界面
所述前端用户交互界面包括web页面、移动端app。
所述节点运行监控模块运行于节点服务器上,监控包括服务器CPU、内存、磁盘、网络带宽等在内硬件资源消耗情况,另外也可以通过分析节点磁盘上的运行日志信息判断节点是否运行错误,并在运行出错的情况下发出预警;
所述节点运行管理模块运行于节点服务器上,用于接收并执行节点部署、启动、停止、重启等指令,模块含有鉴权功能,操作指令需要附带权限信息,认证通过后方才执行,用于防止恶意操作;
所述用户密钥管理模块用于管理用户密钥,因为本系统在使用时会为每个用户分配一个密钥,持有不同密钥的用户,其管理权限也有所不同,系统将密钥加密存储在密钥管理模块,通过用户登录密码可以解锁密钥,以进行管理操作;
所述用户交易处理模块用于提供区块链外部与内部交互的方法,外部用户通过发送已经过高度抽象的交易命令给交易处理模块,交易处理模块即可构建出与底层链相匹配的具体交易包,这样设计为上层用户屏蔽了不同底层链之间的差异,交易处理模块支持的命令包括但不限于:账户注册、链上信息查询、智能合约部署、智能合约执行、区块链系统参数设置、区块链节点准入设置。
所述区块链数据采集模块通过用户交易处理模块,负责定时从区块链上采集数据,为了支持用户未来未知的采集需求,本模块通过采集器注册的方式设计,支持用户自定义注册感兴趣的数据集以及数据集的获取方法,由于区块链的特殊性,区块链数据仅从某一节点获取会存在恶意节点返回恶意数据的风险,因此数据采集器会随机从多个节点上获取数据,并对结果进行对比以确保数据的真实性,数据采集器支持通过RPC的方式同步获取链上数据,也支持通过websocket的方式主动监听链上用户感兴趣的事件。
所述区块链数据存储模块是在上述数据采集的基础上,按照用户的预先设定,将采集到的数据进行清洗、分析和重组,将采集到的数据构建成用户需要的组织形式,最终构建成数据仓库,以供用户进行多元化多维度的查询,本模块采用流式处理而非批次处理的方式,基于高可用的分布式集群架构,大大提高了数据加工处理的及时性,以更好地应对链上海量数据的处理请求;
所述用户注册及认证模块负责构建系统的账户体系,本系统中用户账户分为普通用户、管理员用户两种角色,在用户申请注册后,管理员为用户生产密钥并设置角色,普通用户可以以可视化的形式查询区块链上的各种数据,管理员用户在此基础上,还拥有部署、执行、冻结智能合约,节点部署、启动、准入管理、停止、重启等,系统参数配置管理,节点健康度监控等。
所述前端用户交互界面模块负责为系统前端的Web页面及App提供接口,包括数据查询相关的接口,以及系统管理、智能合约部署、节点运维等相关的接口。
所述区块链数据存储模块,包括数据转化子模块、数据落盘子模块以及数据加载子模块;
数据转化子模块将数据采集模块获取到的数据进行按规则过滤,然后按照用户预先设置的模块将数据进行转化和重组,构建符合用户需求的数据格式;
数据落盘子模块模块用于将数据进行存储,采用对象关系映射(ORM)的设计思路,支持Mysql、MongoDB、Oracle等多种底层数据库;
数据加载子模块实现了一套热数据缓存系统,对于查询频率非常高的热点数据,保证数据加载至缓存中,以提高查询效率。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
- 可视化区块链运维管理系统和方法
- 一种客户信息可视化运维管理系统及方法