CN112783440B - 一种面向区块链用户节点的数据存储方法及装置 - Google Patents

一种面向区块链用户节点的数据存储方法及装置 Download PDF

Info

Publication number
CN112783440B
CN112783440B CN202011644481.1A CN202011644481A CN112783440B CN 112783440 B CN112783440 B CN 112783440B CN 202011644481 A CN202011644481 A CN 202011644481A CN 112783440 B CN112783440 B CN 112783440B
Authority
CN
China
Prior art keywords
data
storage
user node
target
target user
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.)
Active
Application number
CN202011644481.1A
Other languages
English (en)
Other versions
CN112783440A (zh
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.)
Shenzhen University
Original Assignee
Shenzhen 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 Shenzhen University filed Critical Shenzhen University
Priority to CN202011644481.1A priority Critical patent/CN112783440B/zh
Publication of CN112783440A publication Critical patent/CN112783440A/zh
Application granted granted Critical
Publication of CN112783440B publication Critical patent/CN112783440B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Abstract

本发明公开了一种面向区块链用户节点的数据存储方法及装置,方法包括:当用户节点产生区块链数据,确定所述用户节点是否为目标用户节点,所述目标用户节点表征对所述易失性存储器中的存储空间存在使用权限的用户节点;当所述用户节点为目标用户节点,确定所述区块链数据的类型是否满足易失性存储条件;当所述区块链数据的类型满足易失性存储条件,将所述区块链数据存储到所述易失性存储器中的目标存储空间;当所述用户节点不是目标用户节点或所述区块链数据的类型不满足易失性存储条件,将所述区块链数据存储到所述非易失性存储器中。

Description

一种面向区块链用户节点的数据存储方法及装置
技术领域
本发明涉及区块链数据存储技术领域,具体涉及一种面向区块链用户节点的数据存储方法及装置。
背景技术
随着计算机硬件的不断发展,计算机性能变得越来越强,去中心化的区块链存储是未来存储界发展的一种趋势。相对来说,个人电子设备的性能依然是比不上同时代的中心化存储设备的。常见的存储设备通常包括易失性存储器和非易失性存储器,现有的一些区块链存储设备在存储文件时只会将文件切分成大小固定的数块,并根据文件内容计算哈希值以作为文件名,后直接存储到非易失性存储器中。这个过程并没有用到易失性存储器,也就是说无法利用到易失性存储器读写与擦除速度快的这一最大优点。
现有区块链存储设备主要利用设备中闲置的存储容量来保存近线数据或归档数据,这些数据往往是在一次写入后很少读取,并且较少进行擦除,因此区块链存储设备主要采用非易失性存储器,利用其在存储容量和可靠性方面的优势储存数据。但对于某些近期频繁读写、擦除的数据来说,速度更快的易失性存储器会是更好的选择。为了更好地发挥个人电子设备的硬件性能,缩小个人电子设备与中心化存储设备的差距,提升区块链数据存储、使用效率,提升区块链用户节点进行数据存储的使用体验,亟待提出一种面向区块链用户节点的数据存储方法。
发明内容
因此,本发明提供一种面向区块链用户节点的数据存储方法及装置以提升区块链数据存储、使用效率以及区块链数据存储的使用体验。
根据第一方面,本发明实施例公开了一种面向区块链用户节点的数据存储方法,用于数据存储控制装置,所述数据存储控制装置与分布式存储设备连接,所述分布式存储设备包括易失性存储器和非易失性存储器,所述方法包括:当用户节点产生区块链数据,确定所述用户节点是否为目标用户节点,所述目标用户节点表征对所述易失性存储器中的存储空间存在使用权限的用户节点;当所述用户节点为目标用户节点,确定所述区块链数据的类型是否满足易失性存储条件;当所述区块链数据的类型满足易失性存储条件,将所述区块链数据存储到所述易失性存储器中的目标存储空间;当所述用户节点不是目标用户节点或所述区块链数据的类型不满足易失性存储条件,将所述区块链数据存储到所述非易失性存储器中。
可选地,所述当用户节点产生区块链数据,确定所述用户节点是否为目标用户节点之前,所述方法还包括:根据预设易失性存储判定数据的类型,从用户节点获取与每一种预设易失性存储判定数据的类型对应的数据;根据获取到的所述每一种预设易失性存储判定数据的类型对应的数据和预设权重系数,确定所述用户节点的评分,并根据所述用户节点的评分的大小进行排序,得到排序结果;确定使用所述易失性存储器存储区块链数据的用户节点的数量;从所述排序结果中按照评分由大到小的顺序获取所述数量的用户节点作为目标用户节点;按照预设评级方式对得到的多个目标用户节点进行评级,得到多个等级的目标用户节点;根据划分出的多个目标用户节点的等级数量以及所述易失性存储器中用于存储区块链数据的存储空间大小,确定每一个等级的目标用户节点在所述易失性存储器中的目标存储空间。
可选地,所述确定使用所述易失性存储器存储区块链数据的用户节点的数量,包括:获取所述易失性存储器的存储空间;根据所述易失性存储器的存储空间,确定所述易失性存储器中用于存储区块链数据的存储空间大小;根据所述易失性存储器中用于存储区块链数据的存储空间大小以及预设的每一个用户节点所需的存储空间,得到使用所述易失性存储器存储区块链数据的用户节点的数量。
可选地,所述按照预设评级方式对得到的多个目标用户节点进行评级,得到多个等级的目标用户节点,包括:按照金字塔排列方式对所述多个目标用户节点进行评级,得到多个等级的目标用户节点。
可选地,所述当所述区块链数据的类型满足易失性存储条件,将所述区块链数据存储到所述易失性存储器中的目标存储空间,包括:当多个同一等级的目标用户节点产生的区块链数据均要存储到与所述等级对应的易失性存储器的目标存储空间中,控制评分结果高的目标用户节点优先存储;当多个同一等级的目标用户节点的评分相同,根据当前时间戳以及目标用户节点数量,确定优先进行数据存储的目标用户节点。
可选地,所述方法还包括:当得到每一个等级的目标用户节点时,响应计时操作;当间隔时长达到目标间隔时长,获取用户节点历史评级数据;将所述用户节点历史评级数据作为新的数据类型,对所述预设易失性存储判定数据的类型进行更新;重复所述根据预设易失性存储判定数据的类型,从用户节点获取与每一种预设易失性存储判定数据的类型对应的数据的步骤至所述按照预设评级方式对得到的多个目标用户节点进行评级,得到多个等级的目标用户节点的步骤,得到更新后的每一个等级的目标用户节点。
可选地,所述当所述区块链数据的类型满足易失性存储条件,将所述区块链数据存储到所述易失性存储器中的目标存储空间,包括:若任一等级的目标用户节点对应的目标存储空间使用完毕,将所述等级的目标用户节点产生的区块链数据存储到其他等级的目标用户节点对应的目标存储空间中未被占用的存储空间。
可选地,所述将所述等级的目标用户节点产生的区块链数据存储到其他等级的目标用户节点对应的目标存储空间中未被占用的存储空间,包括:将所述等级的目标用户节点产生的区块链数据存储到其他等级中等级低的目标用户节点对应的目标存储空间中未被占用的存储空间。
可选地,所述方法还包括:当至少两个不同等级的目标用户节点需要占用其他等级的目标用户节点对应的目标存储空间,控制所述至少两个不同等级的目标用户节点中等级高的目标用户节点优先占用。
可选地,所述方法还包括:当任一等级的目标用户节点执行跨等级存储操作,记录目标跨等级存储数据,所述目标跨等级存储数据包括:被占用的目标存储空间对应的目标用户节点等级、执行跨等级存储操作的所述目标用户节点的评分以及所述执行跨等级存储操作的所述目标用户节点占用的存储空间大小;对记录的所述目标跨等级存储数据,按照执行跨等级存储操作的所述目标用户节点的评分进行从低到高排序;当被占用的目标存储空间对应的目标用户节点需要存储区块链数据且剩余的目标存储空间不满足数据存储要求,按照所述从低到高的评分顺序,依次将执行跨等级存储操作的所述目标用户节点在被占用的目标存储空间存储的数据存储到非易失性存储器中,并在所述被占用的目标存储空间中删除已存储到非易失性存储器中的数据,直至所述剩余的目标存储空间与已删除存储数据后得到存储空间之和满足所述数据存储要求。
根据第二方面,本发明实施例还公开了一种面向区块链用户节点的数据存储装置,用于数据存储控制装置,所述数据存储控制装置与分布式存储设备连接,所述分布式存储设备包括易失性存储器和非易失性存储器,所述装置包括:第一确定模块,用于当用户节点产生区块链数据,确定所述用户节点是否为目标用户节点,所述目标用户节点表征对所述易失性存储器中的存储空间存在使用权限的用户节点;第二确定模块,用于当所述用户节点为目标用户节点,确定所述区块链数据的类型是否满足易失性存储条件;第一存储模块,用于当所述区块链数据的类型满足易失性存储条件,将所述区块链数据存储到所述易失性存储器中的目标存储空间;第二存储模块,用于当所述用户节点不是目标用户节点或所述区块链数据的类型不满足易失性存储条件,将所述区块链数据存储到所述非易失性存储器中。
根据第三方面,本发明实施例还公开了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如第一方面或第一方面任一可选实施方式所述的面向区块链用户节点的数据存储方法的步骤。
根据第四方面,本发明实施方式还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面任一可选实施方式所述的面向区块链用户节点的数据存储方法的步骤。
本发明技术方案,具有如下优点:
本发明提供的面向区块链用户节点的数据存储方法/装置,当用户节点产生区块链数据,确定用户节点是否为对易失性存储器中的存储空间存在使用权限的目标用户节点,当用户节点为目标用户节点,确定区块链数据的类型,当区块链数据的类型满足易失性存储条件,将区块链数据存储到易失性存储器中的目标存储空间,当用户节点不是目标用户节点或区块链数据的类型不满足易失性存储条件,将区块链数据存储到非易失性存储器中。结合用户节点的类型、待存储的区块链数据的类型以及集成快速、较少容量的易失性存储器和慢速、大容量的非易失性存储器的混合异构存储设备的存储性能,控制待存储的区块链数据在包含易失性存储器和非易失性存储器的分布式设备的存储方式,提升了区块链数据存储、使用效率,提升了区块链用户节点进行区块链数据存储的使用体验。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中面向区块链用户节点的数据存储方法的一个具体示例的流程图;
图2为本发明实施例中面向区块链用户节点的数据存储方法的一个具体示例示意图;
图3为本发明实施例中面向区块链用户节点的数据存储装置的一个具体示例的原理框图;
图4为本发明实施例中电子设备的一个具体示例图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明实施例公开了一种面向区块链用户节点的数据存储方法,用于数据存储控制装置,所述数据存储控制装置与分布式存储设备连接,所述分布式存储设备包括易失性存储器和非易失性存储器,该分布式存储设备可以是去中心化数据存储服务器或基于区块链存储的用户网盘。如图1所示,该方法包括如下步骤:
步骤101,当用户节点产生区块链数据,确定所述用户节点是否为目标用户节点,所述目标用户节点表征对所述易失性存储器中的存储空间存在使用权限的用户节点;当所述用户节点为目标用户节点,执行步骤101,当所述用户节点不是目标用户节点,执行步骤104。
示例性地,用户节点产生区块链数据的方式可以是接收到用户上传的需要打包存储在区块链中的数据或者是用户节点接收到区块链中其他用户节点广播的数据,本申请实施例对用户节点产生区块链数据的方式不作限定,本领域技术人员可以根据实际需要确定。目标用户节点的确定方式可以是预先设定,比如由于易失性存储器可支持快速读取、擦除操作,故可将区块链网络中具有快速读取、擦除操作需求的区块链用户节点作为目标用户节点;或者是由于易失性存储器的存储空间有限,可以根据存储空间限定,以最大接入区块链用户节点数为目标,在多个用户节点中选取出目标用户节点。当用户节点产生区块链数据,可以通过对该用户节点的身份与预存的目标用户节点身份进行比对来确定该产生区块链数据的用户节点是否为目标用户节点。本申请实施例对目标用户节点的确定方式不作限定,本领域技术人员可以根据实际需要确定。
步骤102,确定所述区块链数据的类型是否满足易失性存储条件;当所述区块链数据的类型满足易失性存储条件,执行步骤103;当所述区块链数据的类型不满足易失性存储条件,执行步骤104。
示例性地,用户节点产生的区块链数据的类型是否满足易失性存储条件的确定方式可以是确定区块链数据是否为近线数据或归档数据,当产生的区块链数据不是近线数据或归档数据,则判定产生的区块链数据满足易失性存储条件;也可以是通过统计预设历史时长内被执行读写或擦除操作的频率大于预设频率的数据,通过该数据确定预设数据类型,当用户节点产生的区块链数据的类型在该预设数据类型中,则判定用户产生的区块链数据满足易失性存储条件。本申请实施例对上述确定方式不作限定,本领域技术人员可以根据实际需要确定。
步骤103,将所述区块链数据存储到所述易失性存储器中的目标存储空间;
示例性地,该目标存储空间可以是易失性存储器中预设的用于存储满足易失性存储条件的区块链数据的空间,也可以是根据区块链数据的类型预先划分出的用于存储该类型数据的空间。本申请实施例对该目标存储空间不作限定,本领域技术人员可以根据实际需要确定。
步骤104,将所述区块链数据存储到所述非易失性存储器中。
本申请实施例对存储到易失性存储器的目标存储空间或存储到非易失性存储器的数据的具体存储位置不作限定,本领域技术人员可以使用现有数据存储位置管理方式进行存储。
本发明提供的面向区块链用户节点的数据存储方法,结合用户节点的类型、待存储的区块链数据的类型以及集成快速、较少容量的易失性存储器和慢速、大容量的非易失性存储器的混合异构存储设备的存储性能,控制待存储的区块链数据在包含易失性存储器和非易失性存储器的分布式设备的存储方式,提升了区块链数据存储、使用效率,提升了区块链用户节点进行区块链数据存储的使用体验。
作为本发明一个可选实施方式,步骤101之前,该方法还包括:
步骤11,根据预设易失性存储判定数据的类型,从用户节点获取与每一种预设易失性存储判定数据的类型对应的数据。
示例性地,由于易失性存储器的存储空间有限,而区块链用户节点数量较多,需要预先对用户节点是否有权限使用速度更快的易失性存储器进行选择和判定。本申请实施例通过预设多个易失性存储判定数据的类型,从用户节点获取该类型对应的数据,统计得到用户节点相关类型的数据量。本申请实施例对该预设易失性存储判定数据的类型不作限定,本领域技术人员可以根据实际需要确定,本申请实施例中该预设易失性存储判定数据的类型可以包括:用户节点拥有的文件数、文件总大小、总下载文件次数、总下载数据量、总上传文件次数、总上传数据量、总删除文件次数、总删除数据量、预设历史时长内下载文件次数、下载数据量、上传文件次数、上传数据量、删除文件次数以及删除数据量中的任意多种,具体数据类型可参见表格1所示。
步骤12,根据获取到的所述每一种预设易失性存储判定数据的类型对应的数据和预设权重系数,确定所述用户节点的评分,并根据所述用户节点的评分的大小进行排序,得到排序结果。
示例性地,对每一种预设易失性存储判定数据的类型对应的数据分配一定的权重系数,根据预设评分算法确定每个用户节点的评分。根据评分结果对用户节点进行排序,选取前vmUserNum个用户使用易失性存储器进行区块链数据存储。本申请实施例对权重系数以及预设评分算法不作限定,本领域技术人员可以根据实际需要确定。因为不同类型数据得数值相差较大,本申请实施例中对于任一种数据类型,用权重系数乘以该用户节点对应的该类型的数据值除以所有用户节点中最大的该类型数据值的方式来计算评分。
为了表达方便,定义函数rateData,通过公式(1)来计算任一用户节点单个数据类型的评分值:
Figure BDA0002880947900000091
其中,rateData为用户节点的任一种数据类型的评分;weight为权重系数。
结合公式(1),每一个用户节点的评分通过下式(2)计算:
Figure BDA0002880947900000092
其中,rate为任一用户节点的评分。具体地,每一种类型数据的权重系数可参见表1所示,表1中d可取值为7,本领域技术人员也可以根据需要取其他数值。
表1
数据类型 权重大小
拥有的文件数 0.1
拥有的文件总大小 0.1
总下载文件次数 0.3
总下载数据量 0.15
总上传文件次数 0.3
总上传数据量 0.15
总删除文件次数 -0.2
总删除数据量 -0.1
最近d天内下载文件次数 0.5
最近d天内下载数据量 0.25
最近d天内上传文件次数 0.5
最近d天内上传数据量 0.25
最近d天内删除文件次数 -0.3
最近d天内删除数据量 -0.15
步骤13,确定使用所述易失性存储器存储区块链数据的用户节点的数量;
示例性地,使用易失性存储器的用户节点的数量的确定方式可以是预先根据易失性存储器的存储空间确定或者根据用户节点的历史数据操作方式确定,统计预设时长内擦除、读取频率大于预设频率的用户节点作为使用易失性存储器的用户节点或者接收用户的易失存储需求确定。本申请实施例对该用户节点数量的确定方式不作限定,本领域技术人员可以根据实际需要确定。
步骤14,从所述排序结果中按照评分由大到小的顺序获取所述数量的用户节点作为目标用户节点。
步骤15,按照预设评级方式对得到的多个目标用户节点进行评级,得到多个等级的目标用户节点;
示例性地,预设评级方式可以是按照目标用户节点在预设历史时长内进行数据读取或擦除的频率确定,频率越大对应的目标用户节点的级别越高;或者是按照目标用户节点的总存储量进行评级。本申请实施例对具体的评级方式不作限定,本领域技术人员可以根据实际需要确定。
步骤16,根据划分出的多个目标用户节点的等级数量以及所述易失性存储器中用于存储区块链数据的存储空间大小,确定每一个等级的目标用户节点在所述易失性存储器中的目标存储空间。
示例性地,每一个等级的目标用户节点在易失性存储器中的目标存储空间的确定方式是将易失性存储器中用于存储区块链数据的存储空间大小除以等级数量得到。
作为本发明一个可选实施方式,步骤13,包括:获取所述易失性存储器的存储空间;根据所述易失性存储器的存储空间,确定所述易失性存储器中用于存储区块链数据的存储空间大小;根据所述易失性存储器中用于存储区块链数据的存储空间大小以及预设的每一个用户节点所需的存储空间,得到使用所述易失性存储器存储区块链数据的用户节点的数量。
示例性地,为了向设备的易失性存储器申请存储区块链数据的空间,需要预先确定易失性存储器中能够被占用的最大空间(vmSpace)。由于进行区块链数据存储的易失性存储器的硬件性能可能各不相同且性能存在较大差异,那么如果将vmSpace设为一个固定的数值,显然是不合理的。本申请实施例通过获取易失性存储器的硬件性能参数,并根据硬件性能数值计算出vmSpace的具体数值,具体地硬件性能参数可以通过设备的接口获取;同时由于分布式存储设备往往不只运行区块链存储程序,还需要执行其他任务,所以不可能将整个易失性存储器占满,通常情况下,在不对设备本身造成太大影响的情况下,只占用一半的易失性存储器空间时是更加合适的。故本申请实施例将使用易失性存储器总大小的一半的存储空间用于存储区块链数据。
从分布式存储设备的系统层提供的接口获知易失性存储器的空间大小后,可得出vmSpace按照下式计算得到:
vmSpace=易失性存储器总空间大小÷2
同样地,由于硬件性能不同、易失性存储器空间不同且vmUserNum的值也不相同,需要考虑用户节点平均能够分配到的易失性存储器的空间可供进行快速擦除或读取操作。本申请实施例中预设的每一个用户节点所需的存储空间(averageUserVmSpace)可设置为256MB,本申请实施例对该值不作限定,本领域技术人员可根据具体使用时的情况来具体定义,如当总易失性存储器空间小且用户节点数量较多时,可以适当减小该值;而当总易失性存储器空间大且用户节点较少时,可以适当增大该值。基于此,vmUserNum可根据下式计算得到:
vmUserNum=vmSpace÷averageUserVmSpace
作为本发明一个可选实施方式,步骤15,包括:按照金字塔排列方式对所述多个目标用户节点进行评级,得到多个等级的目标用户节点。
示例性地,多个目标用户节点的评级方式可按照金字塔排列方式按照评分从高到低进行分级。具体分级方式为:n层金字塔即有n个等级,每一等级的目标用户节点数量比例为1:3:5:...∶2n-1,等级数量n的计算方式按照下式计算:
Figure BDA0002880947900000121
其中,n为等级数量;vmSpace为易失性存储器能够被占用的最大空间;averageUserVmSpace为预设的每一个用户节点所需的存储空间。如计算得到n=3,即将多个目标用户节点划分为三个等级,可依次命名为A、B、C级,每个等级的用户组里的人数是按比例设定的,从等级由高到低的顺序,多个等级的目标用户节点的数量可形成一个金字塔结构,具体如图2所示。
等级越高的目标用户节点能够使用越大空间的易失性存储器,并且使用的优先级越高,但不同等级目标用户节点分配到的空间大小差距也不能太大,因为高等级目标用户节点数量本来就比较少,如果不同等级分配到的存储空间差距较大,会导致不同等级的目标用户节点均分到的存储空间相差太大,故本申请实施例中每个等级分到的存储空间userGroupSpace相同,即每一个等级的目标用户节点对应的目标存储空间(userGroupSpace)计算公式为:
userGroupSpace=vmSpace÷n
作为本发明一个可选实施方式,步骤103,包括:当多个同一等级的目标用户节点产生的区块链数据均要存储到与所述等级对应的易失性存储器的目标存储空间中,控制评分结果高的目标用户节点优先存储;当多个同一等级的目标用户节点的评分相同,根据当前时间戳(如unix时间戳)、目标用户节点等级以及目标用户节点数量,确定优先进行数据存储的目标用户节点。
示例性地,因为每一个等级对应的存储空间有限,在存储空间不足的情况下,如果同一等级的多个目标用户节点均要向易失性存储器对应的目标存储空间存储数据时,允许评分高的目标用户节点优先存储;当同一等级中出现多个相同评分的目标用户节点时,可采用随机的方式分配目标存储空间的使用权,该随机的计算方法为:当前时间戳mod该等级下目标用户节点数量,将此随机计算结果作为序号选择优先进行数据存储的目标用户节点。
作为本发明一个可选实施方式,该方法还包括:当得到每一个等级的目标用户节点时,响应计时操作;当间隔时长达到目标间隔时长,获取用户节点历史评级数据;将所述用户节点历史评级数据作为新的数据类型,对所述预设易失性存储判定数据的类型进行更新;重复所述根据预设易失性存储判定数据的类型,从用户节点获取与每一种预设易失性存储判定数据的类型对应的数据的步骤至所述按照预设评级方式对得到的多个目标用户节点进行评级,得到多个等级的目标用户节点的步骤,得到更新后的每一个等级的目标用户节点。
示例性地,由于用户节点的数据会随着时间发生变化,为了保证对数据读取、擦除频率较大的用户节点可以及时向易失性存储器存储数据,可按照目标间隔时长定期对用户节点评级分组结果进行更新,以实现定期更换每一个等级包含的目标用户节点,该目标间隔时长可设置为7天,本申请实施例对该目标间隔时长不作限定,本领域技术人员可以根据实际需要确定。
重新评分分组评级的依据同样可以是对用户节点进行评分,与初次计算用户节点评分的方法不同,在后续更新过程中加入用户节点的历史评级数据,在前rateTimes次评级中,如任一用户节点在历史评级过程中获得了userRate1次A级、userRate2次B级、userRate3次C级等,经过计算后存在previousRates中,作为一个新的数据类型加入对用户节点评分计算,可设置该类型数据的权重为0.3。根据不同的使用情形,rateTimes可以有不同的取值,本申请实施例对rateTimes取值不作限定,本领域技术人员可以根据具体情况决定具体的取值,值越大越适用于用户节点较不活跃的情况,值越小越适用于易失性存储器空间紧缺且用户节点数量多的情况,本申请实施例中该rateTimes=5,previousRates的计算公式为:
Figure BDA0002880947900000141
其中,n为等级数量;i为在前rateTimes次评级中,获取第i个等级的次数,A级对应第1个等级,B级对应第2个等级,C级对应第3个等级,以此类推。
作为本发明一个可选实施方式,步骤103,包括:若任一等级的目标用户节点对应的目标存储空间使用完毕,将所述等级的目标用户节点产生的区块链数据存储到其他等级的目标用户节点对应的目标存储空间中未被占用的存储空间。
示例性地,由于为不同等级的目标用户节点组计算并分配了一定存储空间的易失性存储器,在进行数据存储过程中,有可能会出现不同等级的存储空间使用不均的情况,即某些等级的目标用户节点分配到的存储空间已使用完,而其他等级的存储空间却使用的很少。为了解决此问题,本申请实施例引入了一种“跨级使用存储空间”的概念,任一等级的目标用户节点在所属等级的目标存储空间使用完毕后,可以临时占用其他等级分配到的目标存储空间,直到被占用的目标用户节点需要使用该部分被占用的空间。通过进行跨级存储,可以在保证易失性存储器的最大使用效率的同时保证了用户节点对易失性数据的存储效率以及用户节点进行数据存储的使用体验。
作为本发明一个可选实施方式,所述将所述等级的目标用户节点产生的区块链数据存储到其他等级的目标用户节点对应的目标存储空间中未被占用的存储空间,包括:将所述等级的目标用户节点产生的区块链数据存储到其他等级中等级低的目标用户节点对应的目标存储空间中未被占用的存储空间。通过将需要存储的区块链数据跨级存储到等级低的目标用户节点对应的未被占用的存储空间,保证了需要存储的区块链数据存储的及时性的同时避免存储的区块链数据占用等级较高的目标用户节点的存储空间,影响等级较高的目标用户节点后续的数据存储操作。
作为本发明一个可选实施方式,该方法还包括:当至少两个不同等级的目标用户节点需要占用其他等级的目标用户节点对应的目标存储空间,控制所述至少两个不同等级的目标用户节点中等级高的目标用户节点优先占用,保证了等级较高的目标用户节点可以及时进行数据存储,提高了等级较高的目标用户节点的数据存储体验。
作为本发明一个可选实施方式,该方法还包括:
首先,当任一等级的目标用户节点执行跨等级存储操作,记录目标跨等级存储数据,所述目标跨等级存储数据包括:被占用的目标存储空间对应的目标用户节点等级、执行跨等级存储操作的所述目标用户节点的评分以及所述执行跨等级存储操作的所述目标用户节点占用的存储空间大小;
示例性地,在欲执行跨级操作的目标用户节点申请跨级使用存储空间成功后,记录目标跨等级存储数据,可以将该目标跨等级存储数据存放到一预设数据结构中,其中该数据结构可以为K-V存储型的数据结构,Key为被占用的目标存储空间对应的目标用户节点等级,Value为一个排序型数据结构,Value的数据结构中的每个元素存储了执行跨等级存储操作的目标用户节点的评分以及执行跨等级存储操作的目标用户节点占用的存储空间大小。
其次,对记录的所述目标跨等级存储数据,按照执行跨等级存储操作的所述目标用户节点的评分进行从低到高排序;
示例性地,对记录的目标跨等级存储数据进行排序,具体排序方式可以为按照执行跨等级存储操作的目标用户节点的评分进行从低到高排序,通过按照目标用户节点的评分进行排序,可以保证Value的数据结构的第一个元素为评分最低的目标用户节点,以便于后续需要时,优先对评分低的目标用户节点对应的被占用资源进行回收。
再次,当被占用的目标存储空间对应的目标用户节点需要存储区块链数据且剩余的目标存储空间不满足数据存储要求,按照所述从低到高的评分顺序,依次将执行跨等级存储操作的所述目标用户节点在被占用的目标存储空间存储的数据存储到非易失性存储器中,并在所述被占用的目标存储空间中删除已存储到非易失性存储器中的数据,直至所述剩余的目标存储空间与已删除存储数据后得到存储空间之和满足所述数据存储要求。
示例性地,当被占用的目标存储空间对应的目标用户节点有新的数据存储请求,通过该数据结构可以得知是否有其他等级目标用户节点占用了自己的空间。当剩余的目标存储空间不满足数据存储要求时,根据排序型数据结构的顺序对被占用的空间进行“回收”,即将执行跨等级存储操作的目标用户节点在被占用的目标存储空间存储的数据,按照数据结构的顺序依次移动到非易失存储器进行存储,再从易失性存储器中删除已存储到非易失性存储器中的数据。随着不断地将执行跨等级存储操作的目标用户节点所存储的数据进行转移后,将有新的存储空间被释放出来,当初始所剩余的目标存储空间与已删除存储数据后被释放出来的存储空间之和满足数据存储要求,则结束对执行跨等级存储操作的目标用户节点的数据的转移操作。
本发明实施例提供的面向区块链用户节点的数据存储方法,在去中心化的区块链存储设备中面向用户节点设计了一种分级存储制度,根据用户节点使用存储设备时的各种相关数据计算出用户节点的评分,根据评分判断用户节点是否有权限使用易失性存储器,再将用户节点进行评级分组。在不破坏用户节点原本存储体验以及保证所有用户节点能够正常使用数据存储功能的情况下,给评分更高的用户节点带来了更好的数据存储体验。
本申请实施例提供的存储方式,利用了存储设备中相比于非易失性存储器来说速度较快的易失性存储器,根据易失性存储器的硬件设备的性能合理分配出一定的存储空间,选出了用户节点的常用数据放在该存储空间,显著提高了用户节点进行数据读写、擦除的速度。同时结合用户节点分级制度,计算出了每个等级用户节点能够使用的易失性存储器的存储空间,将这些存储空间合理地分配给了每个等级的用户节点,同时允许在空间闲置的时候允许跨级使用存储空间,保证了对分配出的易失性存储器存储空间的利用率。
本发明实施例还公开了一种面向区块链用户节点的数据存储装置,用于数据存储控制装置,所述数据存储控制装置与分布式存储设备连接,所述分布式存储设备包括易失性存储器和非易失性存储器,如图4所示,该装置包括:
第一确定模块301,用于当用户节点产生区块链数据,确定所述用户节点是否为目标用户节点,所述目标用户节点表征对所述易失性存储器中的存储空间存在使用权限的用户节点;
第二确定模块302,用于当所述用户节点为目标用户节点,确定所述区块链数据的类型是否满足易失性存储条件;
第一存储模块303,用于当所述区块链数据的类型满足易失性存储条件,将所述区块链数据存储到所述易失性存储器中的目标存储空间。
第二存储模块304,用于当所述用户节点不是目标用户节点或所述区块链数据的类型不满足易失性存储条件,将所述区块链数据存储到所述非易失性存储器中。
本发明提供的面向区块链用户节点的数据存储装置,结合用户节点的类型、待存储的区块链数据的类型以及集成快速、较少容量的易失性存储器和慢速、大容量的非易失性存储器的混合异构存储设备的存储性能,控制待存储的区块链数据在包含易失性存储器和非易失性存储器的分布式设备的存储方式,提升了区块链数据存储、使用效率,提升了区块链用户节点进行区块链数据存储的使用体验。
作为本发明一个可选实施方式,该装置还包括:第一获取模块,用于根据预设易失性存储判定数据的类型,从用户节点获取与每一种预设易失性存储判定数据的类型对应的数据;第三确定模块,用于根据获取到的所述每一种预设易失性存储判定数据的类型对应的数据和预设权重系数,确定所述用户节点的评分,并根据所述用户节点的评分的大小进行排序,得到排序结果;第四确定模块,用于确定使用所述易失性存储器存储区块链数据的用户节点的数量;第二获取模块,用于从所述排序结果中按照评分由大到小的顺序获取所述数量的用户节点作为目标用户节点;评级模块,用于按照预设评级方式对得到的多个目标用户节点进行评级,得到多个等级的目标用户节点;第五确定模块,用于根据划分出的多个目标用户节点的等级数量以及所述易失性存储器中用于存储区块链数据的存储空间大小,确定每一个等级的目标用户节点在所述易失性存储器中的目标存储空间。
作为本发明一个可选实施方式,所述第四确定模块,包括:第一获取子模块,用于获取所述易失性存储器的存储空间;确定子模块,用于根据所述易失性存储器的存储空间,确定所述易失性存储器中用于存储区块链数据的存储空间大小;第二获取子模块,用于根据所述易失性存储器中用于存储区块链数据的存储空间大小以及预设的每一个用户节点所需的存储空间,得到使用所述易失性存储器存储区块链数据的用户节点的数量。
作为本发明一个可选实施方式,所述评级模块,还用于按照金字塔排列方式对所述多个目标用户节点进行评级,得到多个等级的目标用户节点。
作为本发明一个可选实施方式,该第一存储模块,包括:第一控制模块,用于当多个同一等级的目标用户节点产生的区块链数据均要存储到与所述等级对应的易失性存储器的目标存储空间中,控制评分结果高的目标用户节点优先存储;第六确定模块,用于当多个同一等级的目标用户节点的评分相同,根据当前时间戳以及目标用户节点数量,确定优先进行数据存储的目标用户节点。
作为本发明一个可选实施方式,该装置还包括:计时模块,当得到每一个等级的目标用户节点时,响应计时操作;第三获取模块,用于当间隔时长达到目标间隔时长,获取用户节点历史评级数据;更新模块,用于将所述用户节点历史评级数据作为新的数据类型,对所述预设易失性存储判定数据的类型进行更新;第四获取模块,用于重复所述根据预设易失性存储判定数据的类型,从用户节点获取与每一种预设易失性存储判定数据的类型对应的数据的步骤至所述按照预设评级方式对得到的多个目标用户节点进行评级,得到多个等级的目标用户节点的步骤,得到更新后的每一个等级的目标用户节点。
作为本发明一个可选实施方式,该第一存储模块,还包括:第三存储模块,用于若任一等级的目标用户节点对应的目标存储空间使用完毕,将所述等级的目标用户节点产生的区块链数据存储到其他等级的目标用户节点对应的目标存储空间中未被占用的存储空间。
作为本发明一个可选实施方式,所述第三存储模块,还用于将所述等级的目标用户节点产生的区块链数据存储到其他等级中等级低的目标用户节点对应的目标存储空间中未被占用的存储空间。
作为本发明一个可选实施方式,该装置还包括:第二控制模块,用于当至少两个不同等级的目标用户节点需要占用其他等级的目标用户节点对应的目标存储空间,控制所述至少两个不同等级的目标用户节点中等级高的目标用户节点优先占用。
作为本发明一个可选实施方式,该装置还包括:记录模块,用于当任一等级的目标用户节点执行跨等级存储操作,记录目标跨等级存储数据,所述目标跨等级存储数据包括:被占用的目标存储空间对应的目标用户节点等级、执行跨等级存储操作的所述目标用户节点的评分以及所述执行跨等级存储操作的所述目标用户节点占用的存储空间大小;排序模块,用于对记录的所述目标跨等级存储数据,按照执行跨等级存储操作的所述目标用户节点的评分进行从低到高排序;第四存储模块,用于当被占用的目标存储空间对应的目标用户节点需要存储区块链数据且剩余的目标存储空间不满足数据存储要求,按照所述从低到高的评分顺序,依次将执行跨等级存储操作的所述目标用户节点在被占用的目标存储空间存储的数据存储到非易失性存储器中,并在所述被占用的目标存储空间中删除已存储到非易失性存储器中的数据,直至所述剩余的目标存储空间与已删除存储数据后得到存储空间之和满足所述数据存储要求。
本发明实施例还提供了一种电子设备,如图4所示,该电子设备可以包括处理器401和存储器402,其中处理器401和存储器402可以通过总线或者其他方式连接,图4中以通过总线连接为例。
处理器401可以为中央处理器(Central Processing Unit,CPU)。处理器401还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器402作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的面向区块链用户节点的数据存储方法对应的程序指令/模块。处理器401通过运行存储在存储器402中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的面向区块链用户节点的数据存储方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器401所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至处理器401。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器402中,当被所述处理器401执行时,执行如图1所示实施例中的面向区块链用户节点的数据存储方法。
上述电子设备具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (12)

1.一种面向区块链用户节点的数据存储方法,其特征在于,用于数据存储控制装置,所述数据存储控制装置与分布式存储设备连接,所述分布式存储设备包括易失性存储器和非易失性存储器,所述方法包括:
当用户节点产生区块链数据,确定所述用户节点是否为目标用户节点,所述目标用户节点表征对所述易失性存储器中的存储空间存在使用权限的用户节点;
当所述用户节点为目标用户节点,确定所述区块链数据的类型是否满足易失性存储条件;
当所述区块链数据的类型满足易失性存储条件,将所述区块链数据存储到所述易失性存储器中的目标存储空间;
当所述用户节点不是目标用户节点或所述区块链数据的类型不满足易失性存储条件,将所述区块链数据存储到所述非易失性存储器中;
所述当用户节点产生区块链数据,确定所述用户节点是否为目标用户节点之前,所述方法还包括:
根据预设易失性存储判定数据的类型,从用户节点获取与每一种预设易失性存储判定数据的类型对应的数据;
根据获取到的所述每一种预设易失性存储判定数据的类型对应的数据和预设权重系数,确定所述用户节点的评分,并根据所述用户节点的评分的大小进行排序,得到排序结果;
确定使用所述易失性存储器存储区块链数据的用户节点的数量;
从所述排序结果中按照评分由大到小的顺序获取所述数量的用户节点作为目标用户节点;
按照预设评级方式对得到的多个目标用户节点进行评级,得到多个等级的目标用户节点;
根据划分出的多个目标用户节点的等级数量以及所述易失性存储器中用于存储区块链数据的存储空间大小,确定每一个等级的目标用户节点在所述易失性存储器中的目标存储空间。
2.根据权利要求1所述的方法,其特征在于,所述确定使用所述易失性存储器存储区块链数据的用户节点的数量,包括:
获取所述易失性存储器的存储空间;
根据所述易失性存储器的存储空间,确定所述易失性存储器中用于存储区块链数据的存储空间大小;
根据所述易失性存储器中用于存储区块链数据的存储空间大小以及预设的每一个用户节点所需的存储空间,得到使用所述易失性存储器存储区块链数据的用户节点的数量。
3.根据权利要求1所述的方法,其特征在于,所述按照预设评级方式对得到的多个目标用户节点进行评级,得到多个等级的目标用户节点,包括:
按照金字塔排列方式对所述多个目标用户节点进行评级,得到多个等级的目标用户节点。
4.根据权利要求1所述的方法,其特征在于,所述当所述区块链数据的类型满足易失性存储条件,将所述区块链数据存储到所述易失性存储器中的目标存储空间,包括:
当多个同一等级的目标用户节点产生的区块链数据均要存储到与所述等级对应的易失性存储器的目标存储空间中,控制评分结果高的目标用户节点优先存储;
当多个同一等级的目标用户节点的评分相同,根据当前时间戳以及目标用户节点数量,确定优先进行数据存储的目标用户节点。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当得到每一个等级的目标用户节点时,响应计时操作;
当间隔时长达到目标间隔时长,获取用户节点历史评级数据;
将所述用户节点历史评级数据作为新的数据类型,对所述预设易失性存储判定数据的类型进行更新;
重复所述根据预设易失性存储判定数据的类型,从用户节点获取与每一种预设易失性存储判定数据的类型对应的数据的步骤至所述按照预设评级方式对得到的多个目标用户节点进行评级,得到多个等级的目标用户节点的步骤,得到更新后的每一个等级的目标用户节点。
6.根据权利要求1所述的方法,其特征在于,所述当所述区块链数据的类型满足易失性存储条件,将所述区块链数据存储到所述易失性存储器中的目标存储空间,包括:
若任一等级的目标用户节点对应的目标存储空间使用完毕,将所述等级的目标用户节点产生的区块链数据存储到其他等级的目标用户节点对应的目标存储空间中未被占用的存储空间。
7.根据权利要求6所述的方法,其特征在于,所述将所述等级的目标用户节点产生的区块链数据存储到其他等级的目标用户节点对应的目标存储空间中未被占用的存储空间,包括:
将所述等级的目标用户节点产生的区块链数据存储到其他等级中等级低的目标用户节点对应的目标存储空间中未被占用的存储空间。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当至少两个不同等级的目标用户节点需要占用其他等级的目标用户节点对应的目标存储空间,控制所述至少两个不同等级的目标用户节点中等级高的目标用户节点优先占用。
9.根据权利要求6-8中任一项所述的方法,其特征在于,所述方法还包括:
当任一等级的目标用户节点执行跨等级存储操作,记录目标跨等级存储数据,所述目标跨等级存储数据包括:被占用的目标存储空间对应的目标用户节点等级、执行跨等级存储操作的所述目标用户节点的评分以及所述执行跨等级存储操作的所述目标用户节点占用的存储空间大小;
对记录的所述目标跨等级存储数据,按照执行跨等级存储操作的所述目标用户节点的评分进行从低到高排序;
当被占用的目标存储空间对应的目标用户节点需要存储区块链数据且剩余的目标存储空间不满足数据存储要求,按照所述从低到高的评分顺序,依次将执行跨等级存储操作的所述目标用户节点在被占用的目标存储空间存储的数据存储到非易失性存储器中,并在所述被占用的目标存储空间中删除已存储到非易失性存储器中的数据,直至所述剩余的目标存储空间与已删除存储数据后得到存储空间之和满足所述数据存储要求。
10.一种面向区块链用户节点的数据存储装置,其特征在于,用于数据存储控制装置,所述数据存储控制装置与分布式存储设备连接,所述分布式存储设备包括易失性存储器和非易失性存储器,所述装置包括:
第一确定模块,用于当用户节点产生区块链数据,确定所述用户节点是否为目标用户节点,所述目标用户节点表征对所述易失性存储器中的存储空间存在使用权限的用户节点;
第二确定模块,用于当所述用户节点为目标用户节点,确定所述区块链数据的类型是否满足易失性存储条件;
第一存储模块,用于当所述区块链数据的类型满足易失性存储条件,将所述区块链数据存储到所述易失性存储器中的目标存储空间;
第二存储模块,用于当所述用户节点不是目标用户节点或所述区块链数据的类型不满足易失性存储条件,将所述区块链数据存储到所述非易失性存储器中;
该装置还包括:第一获取模块,用于根据预设易失性存储判定数据的类型,从用户节点获取与每一种预设易失性存储判定数据的类型对应的数据;第三确定模块,用于根据获取到的所述每一种预设易失性存储判定数据的类型对应的数据和预设权重系数,确定所述用户节点的评分,并根据所述用户节点的评分的大小进行排序,得到排序结果;第四确定模块,用于确定使用所述易失性存储器存储区块链数据的用户节点的数量;第二获取模块,用于从所述排序结果中按照评分由大到小的顺序获取所述数量的用户节点作为目标用户节点;评级模块,用于按照预设评级方式对得到的多个目标用户节点进行评级,得到多个等级的目标用户节点;第五确定模块,用于根据划分出的多个目标用户节点的等级数量以及所述易失性存储器中用于存储区块链数据的存储空间大小,确定每一个等级的目标用户节点在所述易失性存储器中的目标存储空间。
11.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-9任一所述的面向区块链用户节点的数据存储方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-9中任一项所述的面向区块链用户节点的数据存储方法的步骤。
CN202011644481.1A 2020-12-31 2020-12-31 一种面向区块链用户节点的数据存储方法及装置 Active CN112783440B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011644481.1A CN112783440B (zh) 2020-12-31 2020-12-31 一种面向区块链用户节点的数据存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011644481.1A CN112783440B (zh) 2020-12-31 2020-12-31 一种面向区块链用户节点的数据存储方法及装置

Publications (2)

Publication Number Publication Date
CN112783440A CN112783440A (zh) 2021-05-11
CN112783440B true CN112783440B (zh) 2021-11-30

Family

ID=75753585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011644481.1A Active CN112783440B (zh) 2020-12-31 2020-12-31 一种面向区块链用户节点的数据存储方法及装置

Country Status (1)

Country Link
CN (1) CN112783440B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617992A (zh) * 2018-12-29 2019-04-12 杭州趣链科技有限公司 一种基于区块链的边缘计算节点动态选举方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144363A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
CN106708444A (zh) * 2017-01-17 2017-05-24 北京联想核芯科技有限公司 数据存储方法和硬盘控制器
CN109766312A (zh) * 2019-01-07 2019-05-17 深圳大学 一种区块链存储方法、系统、装置及计算机可读存储介质
CN111475692A (zh) * 2019-01-24 2020-07-31 北京京东尚科信息技术有限公司 区块链数据的处理方法、装置及存储介质
CN110069217B (zh) * 2019-04-10 2023-02-21 新华三信息安全技术有限公司 一种数据存储方法及装置
CN110442644A (zh) * 2019-07-08 2019-11-12 深圳壹账通智能科技有限公司 区块链数据归档存储方法、装置、计算机设备和存储介质
CN110442561B (zh) * 2019-07-08 2022-10-14 南京邮电大学 基于区块链的分布式文件存储系统及其存储方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617992A (zh) * 2018-12-29 2019-04-12 杭州趣链科技有限公司 一种基于区块链的边缘计算节点动态选举方法

Also Published As

Publication number Publication date
CN112783440A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
US20200004674A1 (en) Non-deterministic window scheduling for data storage systems
US10817217B2 (en) Data storage system with improved time-to-ready
US20200004456A1 (en) Deterministic Optimization via Performance Tracking in a Data Storage System
EP3588259B1 (en) Garbage collection method for storage media, storage medium, and program product
CN107656807B (zh) 一种虚拟资源的自动弹性伸缩方法及装置
CN110545326B (zh) 集群负载调度方法、装置、电子设备和存储介质
US20060136525A1 (en) Method, computer program product and mass storage device for dynamically managing a mass storage device
US11093450B2 (en) Auto-tuned write-optimized key-value store
CN104869140B (zh) 多集群系统和控制多集群系统的数据存储的方法
WO2022141561A1 (zh) 一种面向区块链用户节点的数据存储方法及装置
CN108733306A (zh) 一种文件合并方法及装置
CN104268099A (zh) 一种管理数据读写的方法及装置
CN112783440B (zh) 一种面向区块链用户节点的数据存储方法及装置
CN113177033A (zh) 一种日志数据存储方法、装置、电子设备和介质
CN112711564B (zh) 合并处理方法以及相关设备
US11301376B2 (en) Data storage device with wear range optimization
CN115941622A (zh) 一种带宽调节方法、系统、设备及存储介质
CN113268203B (zh) 存储系统的容量均衡方法、装置、计算机设备和存储介质
CN112099943B (zh) 内存分配方法及相关设备
CN114036104A (zh) 基于分布式存储的重删数据的云归档方法、装置及系统
JP2008257607A (ja) ログファイル保存装置及びログファイル管理方法
US11681456B2 (en) Compaction policies for append-only stores
CN116069263B (zh) 文件系统的优化方法、装置、服务器、设备及存储介质
CN115190181B (zh) 一种基于云管理的资源管理方法及其系统
US20220405240A1 (en) Index node allocation method, data processing device and computer-readable medium

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
GR01 Patent grant
GR01 Patent grant