CN115794945A - 区块链数据存储方法、装置、可读存储介质及计算机设备 - Google Patents

区块链数据存储方法、装置、可读存储介质及计算机设备 Download PDF

Info

Publication number
CN115794945A
CN115794945A CN202211482881.6A CN202211482881A CN115794945A CN 115794945 A CN115794945 A CN 115794945A CN 202211482881 A CN202211482881 A CN 202211482881A CN 115794945 A CN115794945 A CN 115794945A
Authority
CN
China
Prior art keywords
data
node
storage
blockchain
cluster group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202211482881.6A
Other languages
English (en)
Inventor
熊焕亮
赵应丁
刘兴森
陈穆熙
熊杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangxi Agricultural University
Original Assignee
Jiangxi Agricultural University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangxi Agricultural University filed Critical Jiangxi Agricultural University
Priority to CN202211482881.6A priority Critical patent/CN115794945A/zh
Publication of CN115794945A publication Critical patent/CN115794945A/zh
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种区块链数据存储方法、装置、可读存储介质及计算机设备,应用于区块链系统,该区块链系统包括本地节点和虚拟集群群组,该虚拟集群群组包括多个代理节点,该方法包括:获取用户发起的数据存储请求,并判断本地节点的可用存储空间是否大于或等于本地节点内预设的本地存储空间阈值;若是,将数据请求中的区块链数据存储在本地节点;若否,将数据请求中的区块链数据拆分后分散存储至虚拟集群群组的各个代理节点中。本发明综合本地节点存储容量和其他代理节点的存储容量调整存储位置,缓解数据量增多时节点的存储压力。

Description

区块链数据存储方法、装置、可读存储介质及计算机设备
技术领域
本发明涉及数据处理领域,特别是涉及一种区块链数据存储方法、装置、可读存储介质及计算机设备。
背景技术
区块链是一个共享数据库,存储于其中的数据或信息具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术创造了可靠的“合作”机制,具有广阔的运用前景。
数据流在加工过程中产生的临时文件、加工过程中需要查找的信息等均保存在区块链内。由于区块链是分布式系统,每个节点的存储能力参差不齐,当区块链数据规模不断地扩大时,一定会因存储空间不足,导致大量节点退出区块链网络,使得整个区块链系统无法正常工作。
因此,需要提出一种方法,解决节点因存储空间不足导致整个区块链系统崩溃的问题。
发明内容
鉴于上述状况,有必要针对现有技术中因存储空间不足导致整个区块链系统崩溃的问题,提供一种区块链数据存储方法、装置、可读存储介质及计算机设备。
一种区块链数据存储方法,应用于区块链系统,所述区块链系统包括本地节点和虚拟集群群组,所述虚拟集群群组包括多个代理节点,所述区块链数据存储方法包括:
获取用户发起的数据存储请求,并判断所述本地节点的可用存储空间是否大于或等于所述本地节点内预设的本地存储空间阈值;
若是,将所述数据请求中的区块链数据存储在所述本地节点;
若否,将所述数据请求中的区块链数据拆分后分散存储至所述虚拟集群群组的各个代理节点中,并将代理节点中的数据设置为压缩定长格式进行实时动态更新。
进一步的,上述区块链数据存储方法,其中,所述将所述数据请求中的区块链数据存储至所述虚拟集群群组的代理节点中的步骤包括:
首先将需要存储的数据与存储节点按照数据属性、节点属性以及两者相关联系进行存储关系映射。这个加一个存储关系映射模型。
比较所述虚拟集群群组的代理节点存储模块内预设的节点映射值和虚拟集群群组的可用空间,所述节点映射值为所述虚拟集群群组的代理节点保留的最小剩余存储空间。;
当所述虚拟集群群组的可用空间大于或等于所述节点映射值时,将所述数据请求中的区块链数据拆分后分散存储至所述虚拟集群群组的各个代理节点中;
当所述虚拟集群群组的可用空间小于所述节点映射值时,增加代理节点的数量,使得所述虚拟集群群组可用空间大于或等于节点映射值,并将所述数据请求中的区块链数据拆分后分散存储至所述虚拟集群群组的各个代理节点中。
进一步的,上述区块链数据存储方法,其中,所述将所述数据请求中的区块链数据存储至所述虚拟集群群组的代理节点中的步骤之后还包括:
这里将拆分后的大量数据片通过数据压缩等手段进行定长格式的转化,定长压缩格式模型,改进点是降低存储数据的冗余。
根据数据存储周期划分各个区块中存储的数据,并将数据通过压缩手段处理,设置压缩成定长模式的数据模型,尽量增大单个节点的存储容量阀值,在有限的容量中存储更多被压缩后数据类型一致的数据块,待到节点内存储数据超出数据存储周期阈值时,将超出数据存储周期阈值的历史数值转存至云端服务器。
进一步的,上述区块链数据存储方法,其中,所述将所述数据请求中的区块链数据存储至所述虚拟集群群组的代理节点中的步骤之后还包括:
获取各个区块中存储数据在预设存储时间内的查询频次,并将查询频次低于阈值次数的数据转存至云端服务器,这样做可以降低查询云端数据所需的时长,增加远近端的存储数据查询效率。
进一步的,上述区块链数据存储方法,还包括:
当获取到用户输入的关键词查询信息时,使用二次线性映射散列函数进行散列查询,以查询所述关键词查询信息对应的数据,所述二次线性映射散列函数用于通过查找数据的存储位置并访问所述位置的内容实现数据查询。
本发明还公开了一种区块链数据存储装置,应用于区块链系统,所述区块链系统包括本地节点和虚拟集群群组,所述虚拟集群群组包括多个代理节点,所述区块链数据存储装置包括:
判断模块,用于获取用户发起的数据存储请求,并判断所述本地节点的可用存储空间是否大于或等于所述本地节点内预设的本地存储空间阈值;
第一存储模块,用于当所述本地节点的可用存储空间大于或等于所述本地存储空间阈值时,将所述数据请求中的区块链数据存储在所述本地节点;
第二存储模块,用于当所述本地节点的可用存储空间小于所述本地存储空间阈值时,将所述数据请求中的区块链数据拆分后分散存储至所述虚拟集群群组的各个代理节点中。
进一步的,上述区块链数据存储装置,还包括:
第一转存模块,用于根据数据存储周期划分各个区块中存储的数据,并将超出数据存储周期阈值的历史数值转存至云端服务器。
进一步的,上述区块链数据存储装置,还包括:
第二转存模块,用于获取各个区块中存储数据在预设存储时间内的查询频次,并将查询频次低于阈值次数的数据转存至云端服务器。
进一步的,上述区块链数据存储装置,还包括:
查询模块,用于当获取到用户输入的关键词查询信息时,使用二次线性映射散列函数进行散列查询,以查询所述关键词查询信息对应的数据,所述二次线性映射散列函数用于通过查找数据的存储位置并访问所述位置的内容实现数据查询。
本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述的区块链数据存储方法。
本发明还公开一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的区块链数据存储方法。
本发明中,当本地节点空间无法满足存储数据的需求时,将数据存储请求转至代理节点直至数据得到保存。转存时先拆分数据并分散存储至所有代理节点,每个代理节点需要保存的数据量减少,从而减轻每个节点数据存储的负担。综合本地节点存储容量和其他代理节点的存储容量调整存储位置,缓解数据量增多时节点的存储压力。
附图说明
图1为本发明第一实施例中的区块链数据存储方法的流程图;
图2为本发明第二实施例中的区块链数据存储方法的流程图;
图3为本发明第三实施例中的区块链数据存储装置的结构框图;
图4为本发明实施例中计算机设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
请参阅图1,为本发明第一实施例中的区块链数据存储方法应用于区块链系统,该区块链系统包括本地节点和虚拟集群群组,该虚拟集群群组包括多个代理节点。所述区块链数据存储方法包括步骤S11~S13。
步骤S11,获取用户发起的数据存储请求,并判断所述本地节点的可用存储空间是否大于或等于所述本地节点内预设的本地存储空间阈值。
步骤S12,当所述本地节点的可用存储空间大于或等于所述本地节点内预设的本地存储空间阈值时,将所述数据请求中的区块链数据存储在所述本地节点。
用户通过网络密钥等身份验证登录区块链系统,在区块链系统中发起数据存储请求。区块链系统获取到用户发起的数据存储请求时,需要将请求的区块链数据进行存储。区块链系统首先考虑将区块链数据存储在本地节点,即判断本地节点的可用存储空间是否大于本地节点内预设的本地存储空间阈值,该本地存储空间阈值即为事先设置好的本地节点保留的最小剩余存储空间。
若本地节点的本地可用存储容量小于本地存储空间阈值,则暂停此节点的数据存储工作,同时将数据转移到代理节点;否则将该数据存储至本地节点。
步骤S13,当所述本地节点的可用存储空间小于所述本地节点内预设的本地存储空间阈值时,将所述数据请求中的区块链数据拆分后分散存储至所述虚拟集群群组的各个代理节点中。
当确定将该区块链数据存储在代理节点时,将该区块链数据分散存储至虚拟集群群组的所有代理节点,使得每个代理节点需要保存的数据量减少,从而减轻每个代理节点数据存储的负担。
进一步的,所述数据请求中的区块链数据拆分后分散存储至所述虚拟集群群组的各个代理节点中的步骤包括:
S131,比较所述虚拟集群群组的存储模块内预设的节点映射值和虚拟集群群组的可用空间,所述节点映射值为所述本地节点内预设的本地存储空间阈值;
S132,当所述虚拟集群群组的可用空间大于或等于所述节点映射值时,将所述数据请求中的区块链数据导入所述虚拟集群群组的各个代理节点中进行存储;
S133,当所述虚拟集群群组的可用空间小于所述节点映射值时,增加代理节点的数量,使得所述虚拟集群群组可用空间大于或等于节点映射值,并将所述数据请求中的区块链数据导入所述虚拟集群群组的各个代理节点中进行存储。
当虚拟集群群组的可用空间大于或等于节点映射值时,将数据导入该虚拟集群群组的代理节点进行存储。当虚拟集群群组的可用空间小于节点映射值时,将增加代理节点的数量,使得虚拟集群群组可用空间大于或等于节点映射值。
本实施例中当本地节点空间无法满足存储数据的需求时,将数据存储请求转至代理节点直至数据得到保存。转存时先拆分数据并分散存储至所有代理节点,每个代理节点需要保存的数据量减少,从而减轻每个节点数据存储的负担。综合本地节点存储容量和其他代理节点的存储容量调整存储位置,缓解数据量增多时节点的存储压力。
具体的,在本发明的另一实施例中,当用户在区块链系统发起数据存储请求时,首先由本地节点接收到该请求,本地节点检测自身的可用存储容量,比较自身的可用存储容量是否小于区块链系统预设的本地存储空间阈值,若自身的本地可用存储容量小于本地存储空间阈值,则暂停此节点的数据存储工作,同时将数据转移到虚拟集群群组;否则本地节点将数据存储至本地。
虚拟集群群组接收到数据存储请求时,根据代理节点数据储存模块内预设的节点映射值和虚拟集群群组可用空间,判断代理节点是否能够存储数据。若虚拟集群群组的可用空间大于或等于节点映射值,将数据拆分后分散存储至所有代理节点,每个代理节点需要保存的数据量减少,从而减轻每个节点数据存储的负担。否则将增加代理节点的数量,使得虚拟集群群组的可用空间大于或等于节点映射值。
具体的,本地节点包含数据存储模块和存储容量优化模块,数据存储模块用以存储区块链数据,存储容量优化模块用以判断当前节点是否需要将区块链数据存储请求转至代理节点。代理节点包含数据存储模块和存储容量优化模块,数据存储模块用以存储导入的区块链数据,存储容量优化模块用以判断当前节点映射值和虚拟群群组可用空间是否满足数据存储需求。
请参阅图2,为本发明第二实施例中的区块链数据存储方法,应用于区块链系统,该区块链系统包括本地节点和虚拟集群群组,该虚拟集群群组包括多个代理节点。所述区块链数据存储方法包括步骤S21~S27。
步骤S21,获取用户发起的数据存储请求,并判断所述本地节点的可用存储空间是否大于或等于所述本地节点内预设的本地存储空间阈值。
步骤S22,当所述本地节点的可用存储空间大于或等于所述本地存储空间阈值时,将所述数据请求中的区块链数据存储在所述本地节点。
步骤S23,当所述本地节点的可用存储空间小于所述本地存储空间阈值时,比较所述虚拟集群群组的存储模块内预设的节点映射值和虚拟集群群组的可用空间。其中,所述节点映射值为所述本地节点内预设的本地存储空间阈值。
步骤S24,当所述虚拟集群群组的可用空间大于或等于所述节点映射值时,将所述数据请求中的区块链数据拆分后分散存储至所述虚拟集群群组的各个代理节点中。
步骤S25,当所述虚拟集群群组的可用空间小于所述节点映射值时,增加代理节点的数量,使得所述虚拟集群群组可用空间大于或等于节点映射值,并将所述数据请求中的区块链数据拆分后分散存储至所述虚拟集群群组的各个代理节点中。
区块链系统获取到用户发起的数据存储请求时,需要将请求的区块链数据进行存储。区块链系统首先考虑将区块链数据存储在本地节点,即判断本地节点的可用存储空间是否大于本地节点内预设的本地存储空间阈值,该本地存储空间阈值即为请求存储的区块链数据的大小。
若本地节点的本地可用存储容量小于本地存储空间阈值,则暂停此节点的数据存储工作,同时将数据转移到代理节点;否则将该数据存储至本地节点。
当确定将该区块链数据存入代理节点时,将该区块链数据分散存储至虚拟集群群组的所有代理节点,使得每个代理节点需要保存的数据量减少,从而减轻每个代理节点数据存储的负担。
具体实施时,本地节点和代理节点都采用键值对的存储方式存储区块链的数据,相较于云端存储,都属于本地存储。这些节点的存储方式的具体描述为:
1.写入区块头数据,依次写入的数据为区块高度、交易哈希值和前一个区块哈希值;
2.写入交易数据,依次写入的数据为区块包含交易总量和每笔交易详细数据;
3.写入区块的元数据(Metadata),依次写入的数据为元数据总量和每个元数据项信息。
在写入数据的过程中会以键值对(Key-Value)的形式保存区块和交易在blockfile文件中的索引信息,以方便区块链的快速查询。索引信息格式在数据库(levelDB/couchDB)中存储的最终的LevelKey值由前缀标志和区块hash组成,而LevelValue的值由区块高度,区块hash,本地文件信息(文件名,文件偏移等信息),每个交易在文件中的偏移列表和区块的元数据组成,区块链系统按照特定的编码方式将上述的信息拼接成数据库中的value。
步骤S26,根据数据存储周期划分各个区块中存储的数据,并将超出数据存储周期阈值的历史数值转存至云端服务器。
每个区块中都存有区块链数据,并预设对应区块的存储周期阈值。区块链系统比较区块中当前数据已存储时间和预设存储周期阈值的大小关系,若已存储时间大于预设存储周期阈值,则将该区块中的历史数据转存至云端服务器,否则继续存储在本地。
云端服务器系统中采用星际文件系统(IPFS),这是一个面向全球的、点对点的分布式文件系统。该文件系统先将区块链历史数据内容分片,再分布式地存储到IPFS网络节点中,并且应用分布式哈希表(DHT)索引文件,通过单个节点的分布式哈希表提供文件地址查询,再直接点对点传输文件,传输速度极快。
步骤S27,获取各个区块中存储数据在预设存储时间内的查询频次,并将查询频次低于阈值次数的数据转存至云端服务器。
区块链系统记录有各区块中存储数据的被查询频次,被查询频次较低的区块中的历史数据一般认为是实用性较弱的数据,继续保存在本地存储空间中会浪费内存,该部分数据将转存至云端服务器中,当数据量增多时可缓解节点的存储压力;相对而言被查询频次更高的数据则可以继续保存在本地存储空间中。
进一步的,在他实施例中,区块链数据保存至节点后,区块链系统还为保存的区块链数据添加检索关键词,用户输入相似关键词可对节点中的区块链数据进行检索。当获取到用户输入的关键词查询信息时,区块链系统可使用二次线性映射散列函数进行散列查询。查找区块链数据是通过查找其存储位置并访问该位置的内容实现的,使用二次线性映射散列函数进行散列查询可更快计算出区块链数据存储位置,从而提高数据查询效率。
二次线性映射散列函数进行散列查询具体实现方法如下:
首先构建线性映射散列函数h1(x),散列函数h1(x)用于记录含有N个元素的数据集中的最大值xmax和最小值xmin,并据此定义投影斜率
Figure BDA0003962446750000091
和元素中值
Figure BDA0003962446750000092
可将h1(x)写成:
Figure BDA0003962446750000093
定义一个长度为N个元素的数组A,初始化数组A,统计每个元素被投影次数并将其存放在数组A中;
对每一个元素x,求出n=h1(x),并令A[n]=A[n]+1,此时数组A中记录的数据为第一次线性映射后每个位置中的元素个数;
接着将数组A变换为A[n]=A[n]+A[n-1],此时数组A中的值为元素实际位置范围,即n号位置的元素的实际位置在A[n-1]-(A[n]-1)之间。根据此时再根据数组A的数据通过散列函数h2(x)进行二次映射可查询到某元素的位置,h2(x)可表示为:
Figure BDA0003962446750000094
Figure BDA0003962446750000101
其中,n=h1(x),
Figure BDA0003962446750000102
将存储的区块链数据代入该过程,可得到各数据的存储位置,从而在查询时快速定位到该数据。
本实施例中的区块链数据存储方法,具有以下有益效果:
综合本地节点存储容量和其他代理节点的存储容量调整存储位置,缓解数据量增多时节点的存储压力;
根据各区块数据储存周期和数据的被查询频次,将部分本地数据转存至云端服务器,进一步缓解系统的存储压力;
为存储的数据标注关键词便于用户进行模糊检索;
使用高效的散列查询算法,缩短数据检索过程,使用户高效、准确地获取到目标数据。
请参阅图3,为本发明第三实施例中的区块链数据存储装置,应用于区块链系统,所述区块链系统包括本地节点和虚拟集群群组,所述虚拟集群群组包括多个代理节点,所述区块链数据存储装置包括:
判断模块31,用于获取用户发起的数据存储请求,并判断所述本地节点的可用存储空间是否大于或等于所述本地节点内预设的本地存储空间阈值;
第一存储模块32,用于当所述本地节点的可用存储空间大于或等于所述本地存储空间阈值时,将所述数据请求中的区块链数据存储在所述本地节点;
第二存储模块33,用于当所述本地节点的可用存储空间小于所述本地存储空间阈值时,将所述数据请求中的区块链数据拆分后分散存储至所述虚拟集群群组的各个代理节点中。
进一步的,上述区块链数据存储装置,还包括:
第一转存模块,用于根据数据存储周期划分各个区块中存储的数据,并将超出数据存储周期阈值的历史数值转存至云端服务器。
进一步的,上述区块链数据存储装置,还包括:
第二转存模块,用于获取各个区块中存储数据在预设存储时间内的查询频次,并将查询频次低于阈值次数的数据转存至云端服务器。
进一步的,上述区块链数据存储装置,还包括:
查询模块,用于当获取到用户输入的关键词查询信息时,使用二次线性映射散列函数进行散列查询,以查询所述关键词查询信息对应的数据,所述二次线性映射散列函数用于通过查找数据的存储位置并访问所述位置的内容实现数据查询。
本发明实施例所提供的区块链数据存储装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明另一方面还提出一种计算机设备,请参阅图4,所示为本发明第四实施例当中的计算机设备,包括处理器10、存储器20以及存储在存储器上并可在处理器上运行的计算机程序30,所述处理器10执行所述计算机程序30时实现如上述的高效精确搜索的麻将智能决策方法。
其中,所述计算机设备可以为但不限于个人电脑、服务器等机设备。处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器20中存储的程序代码或处理数据等。
其中,存储器20至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器20在一些实施例中可以是计算机设备的内部存储单元,例如该计算机设备的硬盘。存储器20在另一些实施例中也可以是计算机设备的外部存储装置,例如计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器20还可以既包括计算机设备的内部存储单元也包括外部存储装置。存储器20不仅可以用于存储安装于计算机设备的应用软件及各类数据等,还可以用于暂时地存储已经输出或者将要输出的数据。
可选地,该计算机设备还可以包括用户接口、网络接口、通信总线等,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机设备中处理的信息以及用于显示可视化的用户界面。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置与其他电子装置之间建立通信连接。通信总线用于实现这些组件之间的连接通信。
需要指出的是,图4示出的结构并不构成对计算机设备的限定,在其它实施例当中,该计算机设备可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的高效精确搜索的麻将智能决策方法。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置中获取指令并执行指令的系统)使用,或结合这些指令执行系统、装置而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或结合这些指令执行系统、装置而使用的设备。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种区块链数据存储方法,其特征在于,应用于区块链系统,所述区块链系统包括本地节点和虚拟集群群组,所述虚拟集群群组包括多个代理节点,所述区块链数据存储方法包括:
获取用户发起的数据存储请求,并判断所述本地节点的可用存储空间是否大于或等于所述本地节点内预设的本地存储空间阈值;
若是,将所述数据请求中的区块链数据存储在所述本地节点;
若否,将所述数据请求中的区块链数据拆分后分散存储至所述虚拟集群群组的各个代理节点中。
2.如权利要求1所述的区块链数据存储方法,其特征在于,所述将所述数据请求中的区块链数据存储至所述虚拟集群群组的代理节点中的步骤包括:
比较所述虚拟集群群组的代理节点存储模块内预设的节点映射值和虚拟集群群组的可用空间,所述节点映射值为代理节点内预设的存储空间阈值;
当所述虚拟集群群组的可用空间大于或等于所述节点映射值时,将所述数据请求中的区块链数据拆分后分散存储至所述虚拟集群群组的各个代理节点中;
当所述虚拟集群群组的可用空间小于所述节点映射值时,增加代理节点的数量,使得所述虚拟集群群组可用空间大于或等于节点映射值,并将所述数据请求中的区块链数据拆分后分散存储至所述虚拟集群群组的各个代理节点中。
3.如权利要求1所述的区块链数据存储方法,其特征在于,所述将所述数据请求中的区块链数据存储至所述虚拟集群群组的代理节点中的步骤之后还包括:
根据数据存储周期划分各个区块中存储的数据,并将超出数据存储周期阈值的历史数值转存至云端服务器。
4.如权利要求1所述的区块链数据存储方法,其特征在于,所述将所述数据请求中的区块链数据存储至所述虚拟集群群组的代理节点中的步骤之后还包括:
获取各个区块中存储数据在预设存储时间内的查询频次,并将查询频次低于阈值次数的数据转存至云端服务器。
5.如权利要求1所述的区块链数据存储方法,其特征在于,还包括:
当获取到用户输入的关键词查询信息时,使用二次线性映射散列函数进行散列查询,以查询所述关键词查询信息对应的数据,所述二次线性映射散列函数用于通过查找数据的存储位置并访问所述位置的内容实现数据查询。
6.一种区块链数据存储装置,其特征在于,应用于区块链系统,所述区块链系统包括本地节点和虚拟集群群组,所述虚拟集群群组包括多个代理节点,所述区块链数据存储装置包括:
判断模块,用于获取用户发起的数据存储请求,并判断所述本地节点的可用存储空间是否大于或等于所述本地节点内预设的本地存储空间阈值;
第一存储模块,用于当所述本地节点的可用存储空间大于或等于所述本地存储空间阈值时,将所述数据请求中的区块链数据存储在所述本地节点;
第二存储模块,用于当所述本地节点的可用存储空间小于所述本地存储空间阈值时,将所述数据请求中的区块链数据拆分后分散存储至所述虚拟集群群组的各个代理节点中。
7.如权利要求6所述的区块链数据存储装置,其特征在于,还包括:
第一转存模块,用于根据数据存储周期划分各个区块中存储的数据,并将超出数据存储周期阈值的历史数值转存至云端服务器。
8.如权利要求6所述的区块链数据存储装置,其特征在于,还包括:
第二转存模块,用于获取各个区块中存储数据在预设存储时间内的查询频次,并将查询频次低于阈值次数的数据转存至云端服务器。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5中任一项所述的区块链数据存储方法。
10.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的区块链数据存储方法。
CN202211482881.6A 2022-11-24 2022-11-24 区块链数据存储方法、装置、可读存储介质及计算机设备 Withdrawn CN115794945A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211482881.6A CN115794945A (zh) 2022-11-24 2022-11-24 区块链数据存储方法、装置、可读存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211482881.6A CN115794945A (zh) 2022-11-24 2022-11-24 区块链数据存储方法、装置、可读存储介质及计算机设备

Publications (1)

Publication Number Publication Date
CN115794945A true CN115794945A (zh) 2023-03-14

Family

ID=85441057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211482881.6A Withdrawn CN115794945A (zh) 2022-11-24 2022-11-24 区块链数据存储方法、装置、可读存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN115794945A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116226138A (zh) * 2023-05-08 2023-06-06 湖南三湘银行股份有限公司 一种基于区块链的信息漏洞处理方法及装置
CN116662453A (zh) * 2023-08-01 2023-08-29 天津理工大学 基于区块链的数字资产存储方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116226138A (zh) * 2023-05-08 2023-06-06 湖南三湘银行股份有限公司 一种基于区块链的信息漏洞处理方法及装置
CN116662453A (zh) * 2023-08-01 2023-08-29 天津理工大学 基于区块链的数字资产存储方法
CN116662453B (zh) * 2023-08-01 2023-11-03 天津理工大学 基于区块链的数字资产存储方法

Similar Documents

Publication Publication Date Title
CN115794945A (zh) 区块链数据存储方法、装置、可读存储介质及计算机设备
KR102007070B1 (ko) 메모리 관리 시의 중복 제거를 위해서 기준 세트로 기준 블록을 취합하는 기법
US20180260114A1 (en) Predictive models of file access patterns by application and file type
US9047330B2 (en) Index compression in databases
CN102292720B (zh) 用于管理数据存储系统的数据对象的方法和设备
WO2022121171A1 (zh) 相似文本匹配方法、装置、电子设备及计算机存储介质
US10025511B2 (en) Method for storing a dataset including dividing the dataset into sub-datasets each with a subset of values of an attribute of the dataset
US20220292093A1 (en) Techniques For In Memory Key Range Searches
US20130232117A1 (en) Creation of synthetic backups within deduplication storage system by a backup application
US11238040B2 (en) Grouping in analytical databases
CN103635900A (zh) 基于时间的数据分割
CN103562914A (zh) 节约资源型扩展文件系统
CN110347651A (zh) 基于云存储的数据同步方法、装置、设备及存储介质
US10915533B2 (en) Extreme value computation
CN112699142A (zh) 冷热数据处理方法、装置、电子设备及存储介质
CN115269523A (zh) 基于人工智能的文件存储与查询方法及相关设备
US8566324B1 (en) Inverted index and inverted list process for storing and retrieving information
US11281704B2 (en) Merging search indexes of a search service
US9576004B1 (en) Free space management in databases
CN100367203C (zh) 一种字符串引用方法
CN116842012A (zh) 一种Redis集群的分片存储方法、装置、设备及存储介质
CN113544683A (zh) 数据一般化装置、数据一般化方法、程序
WO2021189694A1 (zh) 用户智能化分层方法、装置、电子设备及可读存储介质
CN114168084A (zh) 文件合并方法、文件合并装置、电子设备以及存储介质
CN113110804A (zh) 重复图片删除方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20230314

WW01 Invention patent application withdrawn after publication