一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种节省区块链节点存储开销的方法、系统及存储介质与流程

2022-06-05 07:46:20 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,更具体地说,它涉及一种节省区块链节点存储开销的方法、系统及存储介质。


背景技术:

2.当前的区块链应用场景中,部分场景可能需要存储一些大体积的非结构化数据,但是现有的区块链存储系统并不能高效地存储这些数据(同时还要保持所有所存数据能被智能合约访问)。究其原因,传统区块链系统设计之初没有认真考虑存储需求,所以其数据模型采用了最简单的缺乏数据存储层次的设计方案,默认所有的数据都存储在本地硬盘上,在运行时可以在微秒级的时延中读出这些数据,既没有兼容基于分布式存储的上层执行环境,也没有区分数据。以比特币和以太坊为例,当前比特币的单节点大小已经突破了350g。(数据来源:https://www.blockchain.com/charts/blocks-size)。
3.而以太坊的全节点大小,已经突破了1t。(数据来源:https://eth.tokenview.com/cn/chart/dailychainsize)。
4.结合图1所示,从比特币和以太坊区块增长的趋势看,随着时间地推移以及区块的不断增加,全节点的存储数据呈现快速增长的趋势,未来的节点存储的数据量将不断增大,并不断提高节点的存储开销。因此,寻求一种节省区块链节点存储开销的方法是非常重要的研究课题。


技术实现要素:

5.针对背景技术中提出的节点存储的数据量未来将不断增大并不断提高节点的存储开销的技术问题,本发明把区块链数据分为冷热数据,热数据每个节点都存,冷数据分布式存储,从而大大节省存储开销。
6.为实现上述目的,本发明提供了如下技术方案一:
7.一种节省区块链节点存储开销的方法,包括以下步骤:
8.s100、对网络交易广播数据进行区块链区域分配;
9.s200、区块链在个节点之间建立对点传输机制和信任机制;
10.s300、获取需要被区块链区域存储的交易数据;
11.s400、录入、储存和管理数据,管理数据的方式是将区块链数据分为冷热数据;热数据存储于每个节点,冷数据划分为n部分,并分别对应存储至n个节点中;
12.所述热数据为:需要被计算节点频繁访问的数据;所述冷数据为:不经常访问数据。
13.通过上述技术方案,本发明将区块链存储数据分为冷热数据,热数据每个节点都存储并维护,冷节点分层分布式存储。全网以6节点为例,将全网的冷数据分成3份(n=3),节点1维护冷数据1/3,节点2维护冷数据2/3,节点3维护冷数据3/3,当其中一节点需要查找历史冷数据,但本节点查找不到时,可以向邻近的节点请求冷数据,从而达到请求完整数据
的目的。同时,为防止部分节点意外宕机,无法提供服务,分布式存储需要考虑容灾备份的需求,整个系统中每份冷数据可设置有多个副本或多个纠错码意义下的备份,如附图所示,节点4/5/6同样分布式存储一份完整的冷数据。
14.相比于现有的存储方式,本发明提出的区块链数据存储方式下,冷数据的全网总存储量为2份,相较于每个节点都存储的方式,冷数据的存储内存减少2/3,大大节省了存储开销,并同样保证了数据的完整性和可靠性。
15.本发明进一步设置为:利用算法定期将存储在热存储中的数据淘汰至冷存储中,并在数据需要被读取时,冷数据重新加载回热存储,实现冷热数据的转换。
16.通过上述技术方案,冷热数据转换,相互访问更新,解除冷热数据分层存储对数据访问效率的限制。
17.本发明进一步设置为:整个系统中每份冷数据设置有多个副本或多个纠错码意义下的备份;目的在于节点内冷数据缺失时除可向临近节点请求访问外还可向备份副本内进行请求访问数据,即所述冷数据的划分的数量n小于总节点数。
18.通过上述技术方案,全网以6节点为例,将全网的冷数据分成3份(n=3),节点1维护冷数据1/3,节点2维护冷数据2/3,节点3维护冷数据3/3,当其中一节点需要查找历史冷数据,但本节点查找不到时,可以向邻近的节点请求冷数据,从而达到请求完整数据的目的。n=3《6,从而让全节点内的冷数据存储有2份,不止一份。相较于传统的区块链节点存储方法,节省了开销,同时也保证了数据的完整性和可靠性。
19.为实现上述目的,本发明提供了如下技术方案二:
20.一种节省区块链节点存储开销的系统,包括区块链和位于区块链上的若干节点,区块链用于在各个节点之间建立点对点传输机制和信任机制,节点包括:
21.数据获取模块,用于获取网络广播数据,并进行区块链存储、记账;
22.数据管理模块,用于将区块链数据分为冷热数据,热数据存储于每个节点,冷数据划分为n部分,并分别对应存储至n个节点中;
23.报告生成模块,用于将管理后的数据存储内存情况形成可视化报表。
24.通过上述技术方案,本发明将区块链存储数据分为冷热数据,热数据每个节点都存储并维护,冷节点分层分布式存储。全网以6节点为例,将全网的冷数据分成3份(n=3),节点1维护冷数据1/3,节点2维护冷数据2/3,节点3维护冷数据3/3,当其中一节点需要查找历史冷数据,但本节点查找不到时,可以向邻近的节点请求冷数据,从而达到请求完整数据的目的。同时,为防止部分节点意外宕机,无法提供服务,分布式存储需要考虑容灾备份的需求,整个系统中每份冷数据可设置有多个副本或多个纠错码意义下的备份,如附图所示,节点4/5/6同样分布式存储一份完整的冷数据。
25.本发明进一步设置为:所述数据获取模块用于对全网广播交易数据进行获取,并通过代码实现其功能。
26.本发明进一步设置为:所述数据管理模块通过算法实现其管理功能。
27.本发明进一步设置为:所述报告生成模块通过辅助管理软件实现其生成报告功能。
28.为实现上述目的,本发明提供了如下技术方案三:
29.一种节省区块链节点存储开销的存储介质,其上存储有计算机程序,该程序被处
理器执行,实现节省区块链节点存储开销的方法。
30.通过上述技术方案,通过存储介质存储实现节省区块链节点存储开销方法的计算机程序,并被计算机处理器执行。
31.综上所述,本发明具有以下有益效果:
32.本发明将区块链存储数据分为冷热数据,热数据每个节点都存储并维护,冷节点分布式存储,同样以6节点为例,将全网的冷数据分成3份,节点1维护冷数据1/3,节点2维护冷数据2/3,节点3维护冷数据3/3,当其中一节点需要查找历史冷数据,但本节点查找不到时,可以向邻近的节点请求冷数据,从而达到请求完整数据的目的。同时,为防止部分节点意外宕机,无法提供服务,分布式存储需要考虑容灾备份的需求,整个系统中每份冷数据有多个副本或多个纠错码意义下的备份,如上图所示,节点4/5/6同样分布式存储一份完整的冷数据。
33.相比于现有的存储方式,本发明提出的区块链数据存储方式下,冷数据的全网总存储量为2份,相较于每个节点都存储的方式,冷数据的存储减少2/3,大大节省了存储开销。
附图说明
34.图1为现有技术参照图;
35.图2为实施例一区块链数据分层存储设计原理示意图;
36.图3为实施例二使用lru算法定期进行冷热数据转换的原理示意图。
具体实施方式
37.下面结合实施例及附图对本发明作进一步的详细说明,但本发明的实施方式不仅限于此。
38.实施例1
39.一种节省区块链节点存储开销的方法,结合图2和图3所示,包括以下步骤:
40.s100、对网络交易广播数据进行区块链区域分配;
41.s200、区块链在个节点之间建立对点传输机制和信任机制;
42.s300、获取需要被区块链区域存储的交易数据;
43.s400、录入、储存和管理数据,管理数据的方式是将区块链数据分为冷热数据。热数据存储于每个节点,冷数据划分为n部分,并分别对应存储至n个节点中;热数据为:需要被计算节点频繁访问的数据;冷数据为:不经常访问数据。
44.整个系统中每份冷数据设置有多个副本或多个纠错码意义下的备份;目的在于节点内冷数据缺失时除可向临近节点请求访问外还可向备份副本内进行请求访问数据,即冷数据的划分的数量n小于总节点数。
45.为实现上述节省区块链节点存储开销的方法,设计一种系统,该系统包括区块链和位于区块链上的若干节点,区块链用于在各个节点之间建立点对点传输机制和信任机制,节点包括:
46.数据获取模块,用于获取网络广播数据,并进行区块链存储、记账;
47.数据管理模块,用于将区块链数据分为冷热数据,热数据存储于每个节点,冷数据
划分为n部分,并分别对应存储至n个节点中;
48.报告生成模块,用于将管理后的数据存储内存情况形成可视化报表。
49.数据获取模块用于对全网广播交易数据进行获取,并通过代码实现其功能。数据管理模块通过算法实现其管理功能。报告生成模块通过辅助管理软件实现其生成报告功能。
50.为实现上述节省区块链节点存储开销的方法,该方法由计算机程序执行,需要存储介质对该计算机程序进行存储。一种节省区块链节点存储开销的存储介质,其上存储有计算机程序,该程序被处理器执行,实现方法权利要求中的节省区块链节点存储开销的方法。
51.实施例2
52.一种节省区块链节点存储开销的方法,结合图2和图3所示,包括以下步骤:
53.s100、对网络交易广播数据进行区块链区域分配;
54.s200、区块链在个节点之间建立对点传输机制和信任机制;
55.s300、获取需要被区块链区域存储的交易数据;
56.s400、录入、储存和管理数据,管理数据的方式是将区块链数据分为冷热数据;热数据存储于每个节点,冷数据划分为n部分,并分别对应存储至n个节点中;
57.热数据为:需要被计算节点频繁访问的数据;冷数据为:不经常访问数据。
58.利用算法定期将存储在热存储中的数据淘汰至冷存储中,并在数据需要被读取时,冷数据重新加载回热存储,实现冷热数据的转换。
59.整个系统中每份冷数据设置有多个副本或多个纠错码意义下的备份;目的在于节点内冷数据缺失时除可向临近节点请求访问外还可向备份副本内进行请求访问数据,即冷数据的划分的数量n小于总节点数。
60.为实现上述节省区块链节点存储开销的方法,设计一种系统,该系统包括区块链和位于区块链上的若干节点,区块链用于在各个节点之间建立点对点传输机制和信任机制,节点包括:
61.数据获取模块,用于获取网络广播数据,并进行区块链存储、记账;
62.数据管理模块,用于将区块链数据分为冷热数据,热数据存储于每个节点,冷数据划分为n部分,并分别对应存储至n个节点中;
63.报告生成模块,用于将管理后的数据存储内存情况形成可视化报表。
64.数据获取模块用于对全网广播交易数据进行获取,并通过代码实现其功能。数据管理模块通过算法实现其管理功能。报告生成模块通过辅助管理软件实现其生成报告功能。
65.为实现上述节省区块链节点存储开销的方法,该方法由计算机程序执行,需要存储介质对该计算机程序进行存储。一种节省区块链节点存储开销的存储介质,其上存储有计算机程序,该程序被处理器执行,实现方法权利要求中的节省区块链节点存储开销的方法。
66.以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也
应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献