支持逻辑多链的私有区块链运行支撑系统及其工作方法与流程

文档序号:12121758阅读:257来源:国知局
支持逻辑多链的私有区块链运行支撑系统及其工作方法与流程

本发明涉及支持逻辑多链的私有区块链运行支撑系统及其工作方法。



背景技术:

区块链是比特币的底层技术,本质上是一个去中心化的数据库,该数据库是公开的且无法篡改的,且没有中心点,数据一旦计入区块链,人人都可以查询来验证数据是否存在。区块链使用密码学方法相关联产生的数据块,每一个数据块中包含了一次数据交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链通过密码学、P2P网络、去中心化共识机制实现了数据的不可篡改性。区块链适用于任何业务及服务电子化的数据可信问题,早期的应用领域以数字货币为主,随着发展成熟逐渐过渡到更多的行业应用,如智能合约、证券交易、电子商务、物联网、社交通讯、文件存储、存在性证明、身份验证、股权众筹。

区块链分为公有区块链和私有区块链,公有区块链面向互联网领域,由开放的某个群体内部指定多个预选的节点为数据写入者,每个块的生成由所有的预选节点共同决定,其他任何人可以通过该区块链开放的API进行限定查询。私有区块链使用区块链技术在组织内部进行构建分布式区块平台,构建者可以是一个公司,也可以是个人,独享该区块链的写入权限。在以公有链应用场景时,区块链需求主要解决币类应用为主,支持货币、自动交易,强调分布式、开放性设计,目前均是单链应用。考虑到数据安全和私密性需要,很多企业需要在企业内部建设只供本企业使用的区块链平台,目前私有区块链沿袭公有链的技术模式,实现均是单链模式。但是在企业内部,业务条块分割,每个业务由一个系统负责,各业务系统间相对独立,只用单链模式记录数据就需要将毫不相干的各类业务数据记录在同一个链条上,这就导致该链条上数据内容混乱,管理困难,有问题不方便在区块链上进行数据追溯,影响数据可信,从而失去了适应区块链技术的目的。

现有技术亟需解决的技术问题是:如何对企业内部各类关键数据进行可信存储,如何将不同业务的关键数据进行方便清晰的分类管理。



技术实现要素:

本发明的目的就是为了解决上述问题,提供支持逻辑多链的私有区块链运行支撑系统及其工作方法,解决了目前企业内部在关键数据使用区块链技术进行可信出的过程中,遇到的单链结构的区块链系统不能满足企业不同业务数据的分类管理问题,在现有通用区块链系统的基础上,构造支持逻辑多链的私有区块链运行支撑系统,实现私有区块链由单链到多链的创新性转变,支持树形结构的业务关键数据管理体系,同时实现多链模式的区块链运行监控管理,提高私有区块链的易用性和适用性。

为了实现上述目的,本发明采用如下技术方案:

支持逻辑多链的私有区块链运行支撑系统,包括:

监控单元,用于监控运行情况;

访问单元,用于对外提供访问通道;

运行单元,用于运行控制,协调存储单元中各存储单元节点协同工作,支撑各链条区块的自动增长、数据交易和数据同步;

存储单元,包括若干存储单元节点,用于区块链数据在多存储单元节点上的存储管理,区块链数据在各存储单元节点间实时同步。

所述监控单元,包括节点监控模块、链条监控模块、区块监控模块、应用监控模块、性能监测模块和预警通知模块;

所述节点监控模块,用于监控各存储单元节点运行情况,包括存储单元节点分布、各存储单元节点状态、各存储单元节点数据分布和存储单元节点间数据同步情况;

所述链条监控模块,用于监控各业务需可信存储数据区块链条的运转情况,包括链条数量、各链条状态、链条包含的长度、链条增长速度、链条所属应用、链条数据分布和链条的创建属性信息;

所述区块监控模块,用于监控各链条的区块运行情况,包括区块的创建属性、现有区块的数量、当前区块的创建速度、区块数据量和最近的交易区块;

所述应用监控模块,用于监控接入的应用系统情况,包括应用系统的名称、地址、访问权限、与链条的关系、最近的访问时间、数据写入频率和写入数据量;

所述性能监测模块,用于监控运行效率,包括整体吞吐量、总吞吐量、总数据量、总体容量和剩余容量;

所述预警通知模块,用于出现异常后的预警通知,包括运行出现异常风险的预警、运行异常的报警和异常的自动分析修复。

所述访问单元,包括应用注册模块、应用授权模块、链条创建模块、链条下载模块、链条核验模块和区块读写模块;

所述应用注册模块,用于接收企业业务系统的注册;

所述应用授权模块,用于将一个业务系统创建的链条访问权限授予另一个业务系统,授权后的链条才允许跨业务系统使用;

所述链条创建模块,用于业务系统创建本业务系统使用的区块链;

所述链条下载模块,用于业务系统下载有权限访问的整链条数据;

所述链条核验模块,用于业务系统核验存储数据的正确性和有无被篡改;

所述区块读写模块,用于接收业务系统写入的业务关键数据,以及将写入的数据进行读取。

所述运行单元,包括权限体系模块、节点竞争计算模块、多链树模块、区块读写模块、区块持久化模块和区块节点同步模块;

所述权限体系模块,用于管理多链的访问权限,不同链条通过权限控制供不同的业务应用隔离使用,业务应用访问自己创建的链条,也访问已通过授权的其他链条;

所述节点竞争计算模块,用于通过算力竞争,在产生新区块时,各存储单元节点计算各自新区块的Hash值,然后通过各节点投票选举下一个区块的Hash值,确定下一个区块的产生节点;

所述多链树模块,用于组织管理存储单元存储的多链区块,包括链接的创建、结束、销毁以及链条间的关系维护;

所述区块访问模块,用于业务系统将所要保存的可信数据写入到指定区块上,以及数据写入后针对指定区块数据读取访问;

所述区块持久化模块,用于将区块读写模块写入的数据持久化到存储单元的文件存储区,区块写入的数据不直接存储到文件存储区,而是先放在节点内存区,区块持久化模块负责将缓存区的数据写入到数据文件中;

所述区块节点同步模块,用于区块数据写入时只保存到一个存储单元节点,区块节点同步模块负责将新保存的数据实时同步到其他存储单元节点中,由于不同存储单元节点存在同时写数据的情况,区块节点同步时实现了不同节点间的数据合并问题。

所述存储单元由多个存储单元节点组成,每个存储单元节点包括多链区块区和文件存储区;

所述多链区块区,用于存储多链结构的区块链,包括一个或若干个管理链区块,每个管理链与若干个业务链连接;所述管理链用于存储业务链的区块头节点信息;每个业务链就是一个业务,业务链与业务链之间头节点相互关联,实现多链条机制;通过每个管理链区块定义一个分业务管理链的头部信息,每个分业务管理链再链接多个业务链,构成链条树形管理体系;

所述文件存储区,用于将区块链在文件系统上持久化保存,支持文件数据库和关系数据库两种模式,文件数据库存储区块链数据信息,关系数据库存储节点信息、链条关系和区块信息。

支持逻辑多链的私有区块链运行支撑系统的工作方法,包括如下步骤:

步骤(1):访问单元的应用注册模块接收企业业务系统的注册请求,注册企业业务系统成为合法连接应用;

步骤(2):根据企业业务系统业务需求设计链条组织结构,按照部门各业务相对独立的设计原则,企业总体业务设计一个企业业务管理链,每个部门的业务设计一个部门业务管理链,部门业务管理链链接到企业业务管理链,部门内的不同业务设计各自的业务链,业务链链接到部门业务管理链,形成树形链条结构;

步骤(3):根据企业链条设计,访问单元的链条创建模块创建企业业务管理链条,运行单元的多链树模块构建逻辑的区块链,链条创建完成后,访问单元的应用授权模块给企业应用授权,授权信息经运行单元的权限体系模块授权生效;

步骤(4):接收企业应用的创建业务链条请求,访问单元的链条创建模块创建业务链条;

步骤(5):区块读写模块接收各企业业务系统的数据写入要求,节点竞争计算模块比较各存储节点的计算能力,选定计算能力强的存储节点,将企业业务系统的可信存储数据写入,运行单元的区块持久化模块将数据写入到存储单元,并使用区块节点同步模块将区块数据同步到存储单元的存储单元节点模块;

步骤(6):接收各企业业务系统的数据核验要求,访问单元的链条下载模块为用户提供待核验的区块信息,然后链条核验模块验证区块信息的真实性;

步骤(7):监控单元,监控私有区块链的运行情况,节点监控模块监控各存储节点的运行情况,链条监控模块监控各链条运行情况,区块监控模块监控链条下区块的运行情况,应用监控模块监控应用访问情况,性能监控模式监测性能,若监控过程出现问题,使用预警通知模块及时报告系统异常。

本发明的有益效果:

首先实现了一个可靠的私有区块链的系统,方便了各企业构建企业内部的私有区块链平台,降低私有区块链的使用门槛,有利于私有区块链系统在不同类型企业内部的快速推广使用;其次实现了一种树形多链模式的支持,是和企业内部现有的业务信息系统治理结构对等实现,为企业构造全企业的统一的通用私有区块链支撑平台提供了支撑,解决了原有单链模式下各业务系统单独建设区块链平台后造成的数据割裂。通过构建企业统一的私有区块链运行支撑系统,可实现企业内部关键数据全生命周期的可信管理,为政府监管企业可信运行、统一行业数据标准、强化企业内外审计奠定了基础。

实现树形结构的区块链条结构体系,解决企业内部关键数据的树形分类管理需要,在实现关键业务数据在可信存储的基础上,达到好存储、好检索、好管理、好使用的应用效果。

附图说明

图1是本发明提供的一种支持逻辑多链的区块链运行支撑系统示意图。

图2是本发明提供的一种支持逻辑多链的区块链运行支撑系统流程示意图。

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

如图1所示,一种支持逻辑多链的区块链运行支撑系统,包括监控单元101、访问单元102、运行单元103、存储单元104。

所述监控单元101,用于企业构建多链私有区块链运行支撑系统的信息部门管理和监控系统的运行情况;

所述监控单元101,包括节点监控模块1011、链条监控模块1012、区块监控模块1013、应用监控模块1014、性能监测模块1015、预警通知模块1016;

所述节点监控模块1011,用于监控支持多链的私有区块链运行支撑系统各节点运行情况,包括节点分布、各节点状态、各节点数据分布、节点间数据同步情况等;

所述链条监控模块1012,用于监控支持多链的私有区块链运行支撑系统各链条的运转情况,包括链条数量、各链条状态、链条包含的长度、链条增长速度、链条所属应用、链条数据分布、链条的创建属性信息等;

所述区块监控模块1013,用于监控支持多链的私有区块链运行支撑系统各链条的区块运行情况,包括区块的创建属性、现有区块的数量、当前区块的创建速度、区块数据量、最近的交易区块等;

所述应用监控模块1014,用于监控支持多链的私有区块链运行支撑系统接入的应用系统情况,包括应用系统的名称、地址、访问权限、和链条的关系、最近的访问时间、数据写入频率、写入数据量等;

所述性能监测模块1015,用于监控支持多链的私有区块链运行支撑系统的运行效率,包括系统整体的吞吐量、总吞吐量、总数据量、系统总体容量、系统剩余容量等;

所述预警通知模块1016,用于支持多链的私有区块链运行支撑系统出现异常后的预警通知,包括运行出现异常风险的预警、运行异常的报警、异常的自动分析修复等。

所述访问单元102,用于对外提供多链私有区块链运行支撑系统的访问通道,业务系统通过访问单元使用该系统,系统支撑WS,RESTFUL等多种协议的访问接入;

所述访问单元102,包括应用注册模块1021、应用授权模块1022、链条创建模块1023、链条下载模块1024、链条核验模块1025、区块读写模块1026;

所述应用注册1021,用于需要使用私有区块链运行支撑系统的业务系统注册访问用户使用,注册后的业务应用系统才可以使用其他访问功能;

所述应用授权模块1022,用于将一个业务系统创建的链条访问权限授予另一个业务系统,授权后的链条才可以跨业务系统使用;

所述链条创建模块1023,用于业务系统创建本系统使用的区块链;

所述链条下载模块1024,用于业务系统下载有权限访问的整链条数据;

所述链条核验模块1025,用于业务系统核验存储到私多链有区块链运行支撑系统中的数据正确性、有无被篡改;

所述区块数据读写模块1026,用于业务系统将业务关键数据写入到多链私有区块链运行支撑系统中,以及将写入的数据进行读取。

所述运行单元103,用于多链私有区块链运行支撑系统的运行控制,协调各存储节点协同工作,支撑各链条区块的自动增长、数据交易和数据同步等;

所述运行单元103,包括权限体系模块1031、节点竞争计算模块1032、多链树模块1033、区块访问模块1034、区块持久化模块1035、区块节点同步模块1036;

所述权限体系模块1031,用于管理多链的访问权限,不同链条可以通过权限控制供不同的业务应用隔离使用,业务应用能访问自己创建的链条,也能访问已通过授权的其他链条;

所述节点竞争计算模块1032,多链私有区块链运行支撑系统由多个分布式去中心化的节点组成,为保证区块产生过程的公正可信,何时由谁产生区块由多节点通过算力竞争产生,通过算力竞争,在需产生新区块时,各节点计算各自新区块的Hash值,然后通过各节点投票选举下一个区块的Hash值,确定下一个区块的产生节点;

所述多链树模块1033,用于组织管理存储单元存储的多链区块,包括链接的创建、结束、销毁以及链条间的关系维护;

所述区块访问模块1034,用于业务系统将所要保存的可信数据写入到区块链系统的某个区块上,以及数据写入后针对某个区块数据读取访问;

所述区块持久化模块1035,用于将区块读写模块写入的数据持久化到存储单元的文件存储区,区块链运行支撑平台为提高效率和保障数据安全,区块写入的数据不直接到文件存储区,先放在缓存区,区块持久化模块负责将缓存区数据写入到文件系统中;

所述区块节点同步模块1036,用于同步多链私有区块链运行支撑系统下属的不同节点数据,区块数据写入时只保存到一个存储节点,区块节点同步模块负责将新保存的数据实时同步到其他节点中,由于不同节点存在同时写数据的情况,区块节点同步时需实现不同节点间的数据合并问题。

所述存储单元104,用于区块链数据在多节点上的存储管理,存储单元节点至少有三个以上节点组成,数据在各节点间实时同步,一个节点更新,其他节点数据同步更新。

所述存储单元104,由多个同质数据存储单元节点组成(1041-104N),每个存储单元节点包括多链区块区模块10411、文件存储区模块10412;

所述多链区块区模块10411,用于存储多链结构的区块链,一般包括一个管理链和多个业务链,管理链存储各业务链的区块头节点信息,每个业务一个业务链,通过链条头部节点的关联,实现多链条机制,各链条关系分类清晰,如果业务场景比较复杂,管理链也可拆分为多链模式,即管理链也可以有多条,一个企业总控管理链条,通过每个区块定义一个分业务管理链的头部信息,每个分业务管理链再链接多个业务链,就构成了适应企业复杂应用场景的链条树形管理体系;

所述文件存储区模块10412,用于将多链区块在文件系统上持久化保存,支持文件数据库和关系数据库两种模式,文件数据库存储区块链数据信息,关系数据库存储复杂的节点信息、链条关系、区块信息等。

如图2所示,一种支持逻辑多链的区块链运行支撑方法,包括以下步骤:

步骤201:私有区块链运行支撑系统接收企业业务系统的注册请求,访问单元102的应用注册模块1021,注册企业业务系统成为合法连接应用;

步骤202:私有区块链运行支撑系统根据企业业务系统业务需求设计链条组织结构,按照部门各业务相对独立的设计原则,企业总体业务设计一个企业业务管理链,每个部门的业务设计一个部门业务管理链,部门业务管理链链接到企业业务管理链,部门内的不同业务设计各自的业务链,业务链链接到部门业务管理链,形成树形链条结构;

步骤203:私有区块链运行支撑系统根据企业链条设计,使用访问单元102的链条创建模块1023创建企业业务管理链条,链条创建模块1023使用运行单元103的多链树模块1033构建逻辑的多区块链,链条创建完成后,使用访问单元102的应用授权模块1022模块给企业应用授权,授权信息经运行单元103的权限体系模块1031授权生效;

步骤204:私有区块链运行支撑系统接收企业应用的创建业务链条请求,使用各自的连接用户和密码,创建链条,创建链条使用访问单元102的链条创建模块1023;

步骤205:私有区块链运行支撑系统接收各企业业务系统的数据写入要求,节点竞争计算模块1032比较各存储节点的计算能力,选定可写入的存储节点,使用访问单元102的区块读写模块1026,将业务系统的企业应用需可信存储数据写入到私有区块链运行支撑系统中,运行单元103的区块持久化模块1035将数据写入到存储单元104,并使用区块节点同步模块1036将区块数据同步到存储单元104的存储单元节点模块1041-104N;

步骤206:私有区块链运行支撑系统接收各企业业务系统的数据核验要求,使用访问单元102的链条下载模块1024下载需核验的区块信息,然后使用链条核验模块1025验证区块信息的真实性;

步骤207:监控单元101,监控私有区块链的运行情况,节点监控模块1011监控各存储节点的运行情况,链条监控模块1012监控各链条运行情况,区块监控模块1013监控链条下区块的运行情况,应用监控模块1014监控应用访问情况,性能监控模式1015监测系统整体性能,若监控过程出现问题,使用预警通知模块1016及时报告系统异常。

方便了各企业构建企业内部的私有区块链平台,降低私有区块链的使用门槛,有利于私有区块链系统在不同类型企业内部的快速推广使用,通过实现树形结构的区块链条结构体系,解决企业内部关键数据的树形分类管理需要,实现关键业务数据在可信存储的基础上,分类管理和存储不同业务的关键数据,达到好存储、好检索、好管理、好使用的应用效果。一种支持逻辑多链的私有区块链运行支撑系统可实现企业内部关键数据全生命周期的可信管理,为政府监管企业可信运行、统一行业数据标准、强化企业内外审计奠定了基础。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1