区块链系统的动态存储扩容方法、系统、设备及存储介质技术方案

技术编号:32809689 阅读:10 留言:0更新日期:2022-03-26 20:03
本发明专利技术提供了一种区块链系统的动态存储扩容方法、电子设备及可读存储介质,其中动态扩容存储方法包括根据预先配置的第一配置文件,启动用于存储区块链数据的分布式文件存储系统;进而启动分布式存储插件,并判断区块链网络的节点是否需要启动分布式存储插件;在节点启动分布式存储插件的情况下,获取分布式文件存储系统的第二配置文件并由控制器根据第二配置文件初始化分布式文件接口,以实现区块链系统的扩容需求。本技术方案采用插件式架构,实现了基于分布式存储插件的动态存储扩容,用来存储区块链系统产生的大量区块数据,可以满足几乎任意数量的业务需求,同时不影响区块链系统本身高效的数据查找执行效率,具有可推广价值。可推广价值。可推广价值。

【技术实现步骤摘要】
区块链系统的动态存储扩容方法、系统、设备及存储介质


[0001]本专利技术涉及分布式系统存储
,具体地,公开了一区块链系统的动态扩容存储方法、系统、电子设备及可读存储介质,该方法基于分布式文件系统(HDFS)和快速存储引擎(RocksDB)实现区块链系统数据存储的动态扩容。

技术介绍

[0002]随着互联网技术的不断告诉发展,其自身所存在的问题也不断的暴露:主要表现为数据存储中心化和数据处理中心化导致的各方信任难以达成,数据生成和处理历史难以追溯、参与方隐私难以得到有效保护、数据价值难以得到深入挖掘、数据治理难以落地实现。
[0003]由于这些问题的存在,区块链(Blockchain)技术应运而生。区块链技术发展到现在,对现有互联网技术存在的关键问题提出了对应的解决方案并且将技术和产业推向了一个新的高度。随着技术的普及以及商业化,大量企事业单位开始将自己的业务通过智能合约部署在区块链上,底层区块链为这些业务提供服务的形态包括:开放联盟链、区块链系统(Blockchain as a service,BAAS)以及公有链。
[0004]随着业务复杂性的提升以及时间过程的不断积累,在区块链上产生的数据会越来越多:截至2021年11月份,以太坊的链上全量数据已经突破1050GB。可以预见的是,随着时间的推移,区块链上产生的数据量还会持续以大约每年1.8倍的速度高速增长,这对于区块链节点中的存储数据维护任务将会产生巨大的挑战。同样地,联盟链上的数据同样会随着业务和时间的增长而持续高速增长。目前急需一种工程上可行的扩容存储方案来解决这一难题。
[0005]Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low

cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
[0006]Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
[0007]RocksDB存储和访问数百PB的数据是一个非常大的挑战,开源的RocksDB就是FaceBook开放的一种嵌入式、持久化存储、KV型且非常适用于fast storage的存储引擎。
[0008]传统的数据访问都是RPC,但是这样的话访问速度会很慢,不适用于面向用户的实时访问的场景。随着fast storage的流行,越来越多的应用可以通过在flash中管理数据并快速直接的访问数据。这些应用就需要使用到一种嵌入式的database。
[0009]使用嵌入式的database的原因有很多。当数据请求频繁访问内存或者fast storage时,网路延时会增加响应时间,比如:访问数据中心网络耗时可能就耗费50ms,跟访问数据的耗时一样多,甚至更多。这意味着,通过RPC访问数据有可能是本地直接访问耗时
的两倍。另外,机器的core数越来越多,storage

IOPS的访问频率也达到了每秒百万次,传统数据库的锁竞争和context切换会成为提高storage

IOPS的瓶颈。所以需要一种容易扩展和针对未来硬件趋势可以定制化的database,RocksDB就是一种选择。

技术实现思路

[0010]针对现有技术中存在的上述缺陷,本专利技术提供一种基于区块链系统(Baas)的动态扩容存储方法、系统、电子设备及可读存储介质。
[0011]具体地,在本申请的第一方面提供了一种区块链系统的动态扩容存储方法,所述动态存储扩容方法采用区块链石墨烯架构,所述区块链系统基于分布式文件系统(HDFS)和快速存储引擎(RocksDB),在区块链系统存在扩容需求的情况下,动态扩容存储方法包括:
[0012]根据预先配置的第一配置文件,启动用于存储区块链数据的分布式文件存储系统;
[0013]启动分布式文件存储系统的分布式存储插件;
[0014]判断区块链网络的节点是否启动分布式存储插件:
[0015]在节点启动分布式存储插件的情况下,获取分布式文件存储系统的第二配置文件;
[0016]分布式文件存储系统的控制器根据第二配置文件初始化分布式文件接口,以实现区块链系统的扩容需求。
[0017]在上述第一方面的一种可能的实现中,分布式文件存储系统的控制器用于实现区块链系统对应的信息的存储和读取;
[0018]区块链网络中的功能模块通过调用控制器获取区块链系统对应的信息。
[0019]在上述第一方面的一种可能的实现中,区块链系统对应的信息包括历史区块数据和账户数据,历史区块数据包括区块链系统运行产生的历史账本数据;
[0020]历史区块数据以文件数据的形式存储于分布式文件存储系统中;
[0021]账户数据存储于键值对存储引擎中,键值对存储引擎的存储文件以文件数据的形式存储于分布式文件存储系统中。
[0022]在上述第一方面的一种可能的实现中,在节点未启动分布式存储插件的情况下,分布式文件存储系统的控制器初始化分布式文件接口,以实现区块链系统对应的信息的存储和读取。
[0023]本申请的第二方面提供了一种区块链系统的动态扩容存储系统,应用于上述第一方面提供的动态扩容存储方法中,包括:
[0024]第一配置单元,用于根据预先配置的第一配置文件,启动用于存储区块链数据的分布式文件存储系统;
[0025]启动单元,用于启动分布式文件存储系统的分布式存储插件;
[0026]判断模块,用于判断区块链网络的节点是否启动分布式存储插件;
[0027]第二配置单元,用于在节点启动分布式存储插件的情况下,获取分布式文件存储系统的第二配置文件;
[0028]分布式文件存储系统的控制器根据第二配置文件初始化分布式文件接口,以实现区块链系统的扩容需求。
[0029]在上述第二方面的一种可能的实现中,区块链系统对应的信息包括历史区块数据和账户数据,历史区块数据包括区块链系统运行产生的历史账本数据;
[0030]历史区块数据以文件数据的形式存储于分布式文件存储系统中;
[0031]账户数据存储于键值对存储引擎中,键值对存储引擎的存储文件以文件数据的形式存储于分布式文件存储系统中。
[0032]在上述第二方面的一种可能的实现中,分布式文件存储系统还包括缓存寄存器,缓存寄存器设置有预设的动态缓存容量;
[0033]缓存寄存器用于在满足区块链系统的读写速度需求的情况下控制分布式文件存储系统的内存使用量。
[0034]在上述第二方面的一种可能的实现中,分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链系统的动态存储扩容方法,其特征在于,所述动态存储扩容方法采用区块链石墨烯架构,所述区块链系统基于分布式文件系统和快速存储引擎,在所述区块链系统存在存储扩容需求的情况下,所述动态存储扩容方法包括:根据预先配置的第一配置文件,启动用于存储区块链数据的分布式文件存储系统;启动所述分布式文件存储系统的分布式存储插件;判断区块链网络的节点是否启动所述分布式存储插件:在所述节点启动所述分布式存储插件的情况下,获取所述分布式文件存储系统的第二配置文件;所述分布式文件存储系统的控制器根据所述第二配置文件初始化分布式文件接口,以实现所述区块链系统的扩容需求。2.如权利要求1所述的区块链系统的动态存储扩容方法,其特征在于,所述分布式文件存储系统的控制器用于实现所述区块链系统对应的信息的存储和读取;所述区块链网络中的功能模块通过调用所述控制器获取所述区块链系统对应的信息。3.如权利要求2所述的区块链系统的动态存储扩容方法,其特征在于,所述区块链系统对应的信息包括历史区块数据和账户数据,所述历史区块数据包括所述区块链系统运行产生的历史账本数据;所述历史区块数据以文件数据的形式存储于所述分布式文件存储系统中;所述账户数据存储于键值对存储引擎中,所述键值对存储引擎的存储文件以文件数据的形式存储于所述分布式文件存储系统中。4.如权利要求1所述的区块链系统的动态存储扩容方法,其特征在于,在所述节点未启动所述分布式存储插件的情况下,所述分布式文件存储系统的控制器初始化分布式文件接口,,以实现所述区块链系统对应的信息的存储和读取。5.如权利要求1所述的区块链系统的动态存储扩容方法,其特征在于,所述区块链系统对应的信息包括历史区块数据和账户数据,所述历史区块数据包括所述区块链系统运行产生的历史账本数据;所述历史区块数据以文件数据的形式存储于所述分布式文件存储系统中;所述...

【专利技术属性】
技术研发人员:解旻王顺利
申请(专利权)人:上海蜂哈网络科技有限公司
类型:发明
国别省市:

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

1