CN117668934A - 一种基于大数据的区块链数据存储方法和装置 - Google Patents
一种基于大数据的区块链数据存储方法和装置 Download PDFInfo
- Publication number
- CN117668934A CN117668934A CN202311515120.0A CN202311515120A CN117668934A CN 117668934 A CN117668934 A CN 117668934A CN 202311515120 A CN202311515120 A CN 202311515120A CN 117668934 A CN117668934 A CN 117668934A
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- target
- block
- screening
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013500 data storage Methods 0.000 title claims abstract description 32
- 238000003860 storage Methods 0.000 claims abstract description 341
- 238000012216 screening Methods 0.000 claims abstract description 84
- 238000011084 recovery Methods 0.000 claims abstract description 10
- 230000008859 change Effects 0.000 claims description 14
- 238000010276 construction Methods 0.000 claims description 6
- 208000033748 Device issues Diseases 0.000 claims description 3
- 238000012795 verification Methods 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000005299 abrasion Methods 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013496 data integrity verification Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于大数据的区块链数据存储方法和装置,涉及区块链技术领域。该方法包括:首先,主机设备从服务器获取目标数据,然后基于这些数据生成区块数据。生成的区块数据由主机设备发布到至少一个存储设备。然后,存储设备对接收到的区块数据进行合法性校验,确保数据的完整性和合法性。在通过校验后,存储设备根据每个存储区的擦除计数值和筛选序列,从多个存储区中筛选出当前存储周期的目标存储区。最后,存储设备将生成的区块数据存储到选定的目标存储区,并对上一个周期的目标存储区存储的数据进行数据回收操作。解决了现有区块链存储方案中的随机性不满足安全要求且存储设备安全性较低的问题。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于大数据的区块链数据存储方法和装置。
背景技术
区块链是一种分布式账本技术,允许多个参与者在没有中央控制机构的情况下达成一致,并且所有交易记录都被分布式存储在网络的每个节点上。在区块链技术的使用过程中,出于密码安全学的需求,需要使用大量由随机数生成器生成的随机数。并且存储设备安全性较低。
现有的区块链数据存储方法中,大多采用算法或种子作为熵源来生成随机数,因此具有预测性和周期性,所以使得区块链中的随机性受到限制,使得攻击者有机会预测和干扰生成的随机数序列。从而威胁到区块链的安全性。
发明内容
本发明提供了一种基于大数据的区块链数据存储方法和装置,解决现有区块链存储方案中的随机性不满足安全要求且存储设备安全性较低的问题。
第一方面,本发明实施例提供了.一种基于大数据的区块链数据存储方法,方法包括:
主机设备获取服务器下发的目标数据,并基于目标数据生成区块数据;
主机设备向至少一个存储设备发布区块数据,存储设备对区块数据进行合法性校验;
在通过合法性校验的情况下,存储设备根据每个存储区的擦除计数值以及筛选序列,从多个存储区中筛选出当前存储周期的目标存储区;
存储设备将区块数据存储到当前存储周期的目标存储区,并对上一周期的目标存储区存储的数据进行数据回收。
本申请实施例提供的技术方案至少带来以下有益效果:
首先,本申请的存储设备根据每个存储区的擦除计数值以及筛选序列,从多个存储区中筛选出当前存储周期的目标存储区。这个步骤引入了筛选序列,以减少对预测性和周期性随机数生成的依赖,从而提高随机性。其次,通过根据擦除计数值和筛选序列来选择存储区,实现数据的分散存储,减少了数据集中存储带来的风险,同时可能提高了存储的效率。并且利用存储单元的噪声作为熵源来构建真正的随机数生成器。确保生成的筛选序列具有高度的随机性和不可预测性,从而安全性要求。最后,存储设备将区块数据存储到当前存储周期的目标存储区,并对上一周期的目标存储区存储的数据进行数据回收。这种周期性的数据回收可以有助于防止数据的持续累积,同时维护存储空间的有效利用。
在一种可选的实施方式中,基于目标数据生成区块数据,包括:
根据当前的区块链状态和网络要求,构建区块头;
确定目标工作量证明值,并将区块头和标工作量证明值进行组合,以生成区块数据。
在一种可选的实施方式中,根据每个存储区的擦除计数值以及筛选序列,从多个存储区中筛选出当前存储周期的目标存储区包括:
根据每个存储区的擦除计数值大小,从多个存储区中筛选出至少一个待选存储区;
根据筛选序列,从至少一个待选存储区中筛选出当前存储周期的目标存储区。
在一种可选的实施方式中,根据每个存储区的擦除计数值大小,从多个存储区中筛选出至少一个待选存储区,包括:
查找预设的擦除计数表,确定每个存储区的擦除计数值,其中,擦除计数表用于记录每个存储区的擦除计数值;
将擦除计数值小于第一阈值的存储区确定为待选存储区。
在一种可选的实施方式中,存储区包括多个存储单元筛选序列是通过以下步骤获得:
从多个待编程存储单元中筛选出目标存储单元,其中,目标存储单元具有随机读取噪声;
对目标存储单元进行读取操作,并将目标存储单元的存储状态对应的逻辑值作为筛选序列。
在一种可选的实施方式中,从多个待编程存储单元中筛选出目标存储单元,包括:
对待编程存储单元进行擦除操作;
对待编程的各存储单元进行编程,使各存储单元被编程至N个不同的编程态;其中,N为大于1;
根据各存储单元在相邻操作周期内存储状态的变化情况下,筛选出目标存储单元。
在一种可选的实施方式中,根据各存储单元在相邻操作周期内存储状态的变化情况下,筛选出目标存储单元,包括:
在第一操作周期内,获取每个存储单元的存储状态,统计存储状态位于目标状态的存储单元的第一数量;
在第二操作周期内,获取每个存储单元的存储状态,统计存储状态位于目标状态的存储单元的第二数量;
在第一数量与第二数量的差值小于第二阈值的情况下,将第一操作周期内的存储状态与第二操作周期内的存储状态不同的存储单元,确定为目标存储单元。
在一种可选的实施方式中,主机设备通过广域网与服务器连接,主机设备与存储设备通过局域网连接。
第二方面,本发明实施例提供了一种基于大数据的区块链数据存储装置,装置包括:
区块生成模块,用于主机设备获取服务器下发的目标数据,并基于目标数据生成区块数据;
区块下发模块,用于主机设备向至少一个存储设备发布区块数据,存储设备对区块数据进行合法性校验;
存储区筛选模块,用于在通过合法性校验的情况下,存储设备根据每个存储区的擦除计数值以及筛选序列,从多个存储区中筛选出当前存储周期的目标存储区;
存储模块,用于存储设备将区块数据存储到当前存储周期的目标存储区,并对上一周期的目标存储区存储的数据进行数据回收。
在一种可选的实施方式中,区块生成模块,包括:
第一构建子模块,用于根据当前的区块链状态和网络要求,构建区块头;
第二构建子模块,用于确定目标工作量证明值,并将区块头和标工作量证明值进行组合,以生成区块数据。
在一种可选的实施方式中,存储区筛选模块包括:
第一筛选子模块,用于根据每个存储区的擦除计数值大小,从多个存储区中筛选出至少一个待选存储区;
第二筛选子模块,用于根据筛选序列,从至少一个待选存储区中筛选出当前存储周期的目标存储区。
在一种可选的实施方式中,第一筛选子模块包括:
查找单元,用于查找预设的擦除计数表,确定每个存储区的擦除计数值,其中,擦除计数表用于记录每个存储区的擦除计数值;
确定单元,用于将擦除计数值小于第一阈值的存储区确定为待选存储区。
在一种可选的实施方式中,存储区筛选模块还包括真随机数生成器模块,真随机数生成器子模块包括:
筛选单元,用于从多个待编程存储单元中筛选出目标存储单元,其中,目标存储单元具有随机读取噪声;
读取单元,用于对目标存储单元进行读取操作,并将目标存储单元的存储状态对应的逻辑值作为筛选序列。
在一种可选的实施方式中,筛选单元包括:
第一执行子单元,用于对待编程存储单元进行擦除操作;
第二执行子单元,用于对待编程的各存储单元进行编程,使各存储单元被编程至N个不同的编程态;其中,N为大于1;
筛选子单元,用于根据各存储单元在相邻操作周期内存储状态的变化情况下,筛选出目标存储单元。
本发明实施例第三方面提出一种电子设备,电子设备包括:
至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本发明实施例第一方面提出方法。
本发明实施例第四方面提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例第一方面提出方法。
附图说明
图1为本发明实施例涉及的硬件运行环境的电子设备结构示意图;
图2是本发明实施例提供的一种基于大数据的区块链数据存储方法的步骤流程图;
图3是本发明实施例提供的一种基于大数据的区块链数据存储装置的功能模块示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明的方案进一步说明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的电子设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作装置、数据存储模块、网络通信模块、用户接口模块以及电子程序。
在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在电子设备中,电子设备通过处理器1001调用存储器1005中存储的基于大数据的区块链数据存储装置,并执行本发明实施例提供的基于大数据的区块链数据存储方法。
相关技术中,利用伪随机数生成器(PRNG)来存储区块链存在严重的安全性和可信度问题。区块链需要确保数据的不可篡改性和随机性,而PRNG的输出是通过确定性算法生成的,因此可能会受到攻击者的预测和分析。这导致在区块链上生成的“随机”数可能被恶意操纵,从而影响加密、随机数种子生成等关键安全功能。
基于此,申请人提出了本申请的技术构思,基于本地存储设备中的存储单元的随机噪声特性,生成真随机数生成器,从而有效地克服传统伪随机数生成器的问题,为区块链需要高度随机性和安全性的应用场景提供更加可靠的随机数。
参照图2,本发明的实施例提供了一种基于大数据的区块链数据存储方法,具体可以包括以下步骤:
S201:主机设备获取服务器下发的目标数据,并基于目标数据生成区块数据。
在本实施方式中,服务器作为中心节点,负责管理和分发数据。服务器从某个数据源获取目标数据,这些目标数据可以是任何类型的,如传感器数据、交易数据、用户信息等。服务器将这些目标数据发送给要参与的主机设备。目标数据的具体类型根据用户的实际应用场景决定。主机设备是连接到服务器的终端设备,可以是计算机、智能手机、物联网设备等。主机设备接收到服务器下发的目标数据。这些目标数据可能是用于区块链中的交易信息、传感器测量结果等。主机设备利用接收到的目标数据作为交易或信息的基础,通过区块链协议生成新的区块数据,其具体的实现步骤包括:
S2011:根据当前的区块链状态和网络要求,构建区块头。
在本实施方式中,区块链是一个不断增长的链式数据结构,每个区块都包含了前一个区块的信息。区块头是区块链中的元数据,包含了关键的信息以验证和连接区块。因此,在构建新的区块头时,首先需要获取当前区块链的状态,包括最新区块的哈希值、高度等信息。 区块链网络存储一些规则和要求,例如区块生成时间间隔、共识算法、难度调整等。这些网络要求会影响到新区块的生成。
作为示例的,首先需要获取前一个区块的哈希值、高度等信息,这些信息将用于构建新区块头。 然后设置新区块的时间戳,通常是当前时间。时间戳有助于确定区块的创建时间。最后 将本区块中的所有交易数据进行哈希,并构建 Merkle 树,最终得到 Merkle根的哈希值。这个哈希值用于验证区块中的交易数据没有被篡改。然后将这些信息放在一起,将区块头的所有字段进行组合,然后计算整个区块头的哈希值。如果计算得到的哈希值满足难度目标,这个区块头就会被添加到新的区块中,成为区块链的一部分。需要说明的是,区块头可能还包含其他信息,如版本号、交易计数等。
S2012:确定目标工作量证明值,并将区块头和标工作量证明值进行组合,以生成区块数据。
在本实施方式中,在共识机制中,需要通过计算找到一个特定的数值,使得将区块头与这个数值组合后得到的哈希值满足一定的条件,比如哈希值以一定数量的0开头。由于哈希函数的特性,只有通过不断尝试不同的数值,才能找到满足条件的目标工作量证明值。区块头是一个包含了区块相关信息的数据结构,包括前一个区块的哈希值、交易信息、时间戳等。将这些数据与不同的数值进行组合,并将结果输入哈希函数进行计算。如果计算得到的哈希值满足预设条件,即小于目标工作量证明值对应的哈希值,那么这个区块就被认为是有效的。
一旦找到满足条件的目标工作量证明值,矿工将这个值与区块头中的其他数据一起打包,形成一个新的区块数据。这个新区块的哈希值将作为下一个区块的前一个区块哈希值,形成了区块链的链接。这个过程不仅保证了区块的有效性,也确保了每个区块的生成都需要经过一定的计算工作,从而保护了网络的安全性。
S202:主机设备向至少一个存储设备发布区块数据,存储设备对区块数据进行合法性校验。
在本实施方式中,生成的区块数据被主机设备广播到区块链网络中。在本申请中,存储设备为网络附加存储(Network Attached Storage,NAS),NAS是一种专门设计用于存储、管理和共享文件的设备。NAS可以被视为一个独立的文件服务器,通常运行在一个普通的操作系统上,如Linux,而且提供了共享文件系统服务。
需要说明的是,在本申请中,主机设备通过广域网与服务器连接,主机设备与存储设备通过局域网连接。
在本实施方式中,主机设备和存储设备之间的连接是通过局域网完成的。主机设备可以方便地访问存储设备上的数据,就像访问本地存储一样。因此在该场景下,存储设备是本地存储设备,且无法与外围设备通过网络连接,即存储设备无法通过网络获取任何数据,只能存储主机设备发布的区块数据。
在这种情景下,存储设备被限定为本地存储设备,无法通过网络连接与外围设备进行数据交换,也无法获取任何来自网络的数据,只能存储主机设备发布的区块数据。首先,由于存储设备与外部网络隔离,其安全性得到了极大增强。无法通过网络连接获取数据的特性意味着潜在的网络攻击和外部干扰风险大幅降低,有助于确保存储数据的完整性和保密性。其次,这种配置简化了系统的管理和维护。由于存储设备与外部网络断开连接,管理人员可以更容易地集中关注本地存储的性能、备份和维护,而无须担心网络相关问题。最后,这种独立的存储设备有助于确保数据的可靠性。在不受网络干扰的情况下,存储设备能够更可靠地保存数据,减少了数据丢失的风险,特别是在涉及重要数据和敏感信息的情况下。综合考虑,限制存储设备为本地且与网络隔离的配置可以提供更高的安全性、简化的管理和更可靠的数据存储环境。
而主机设备与服务器之间的广域网连接允许远程访问和管理存储资源。这意味着即使主机设备与服务器不在同一地理位置,也可以通过互联网连接进行数据访问和管理,从而获取目标数据。
S203:在通过合法性校验的情况下,存储设备根据每个存储区的擦除计数值以及筛选序列,从多个存储区中筛选出当前存储周期的目标存储区。
在本实施方式中,存储设备接收到主机设备发布的区块数据后,会执行一系列验证步骤,以确保这些数据是合法的、完整的和一致的。这些校验可以包括以下几个方面:
数据完整性校验: 存储设备会检查区块数据是否在传输过程中受损或被篡改。这通常通过计算数据的哈希值并与区块中的哈希值进行比较来实现。如果哈希值匹配,说明数据没有被篡改。
数字签名验证: 如果区块数据包含数字签名,存储设备可以使用公钥来验证数字签名的有效性。数字签名可以确保数据的来源和完整性,只有拥有相应私钥的实体才能生成有效的数字签名。
格式和结构校验: 存储设备会检查区块数据的格式和结构是否符合预定的规范。这可以包括验证数据字段的类型、长度和顺序是否正确。
时间戳验证: 如果区块数据包含时间戳,存储设备可以验证时间戳的准确性,以确保数据的时间信息是合理和一致的。
权限验证: 存储设备可以检查主机设备是否有权发布数据到该存储设备。这可以通过访问控制列表、数字证书或其他身份验证机制来实现。
通过执行这些合法性校验步骤,存储设备可以确认接收到的区块数据是有效且可信的。这对于确保分布式系统中的数据一致性、安全性和完整性至关重要。在区块链等应用中,合法性校验可以防止恶意操作和错误数据进入存储系统,从而维护整个系统的可信度和稳定性。
在存储设备通过合法性校验并且无法通过网络连接与外围设备进行数据交换情况下,存储设备需要其的多个处于空闲状态的存储区中选择一个目标存储区来存储当前周期的区块数据。存储区指储存设备或媒体中的一个特定部分,例如在固态硬盘中,存储区可以是一个块或一页。根据擦除计数值和筛选序列来筛选出当前存储周期的目标存储区。这个筛选过程的目的是为了使得存储区块数据的存储区在进行动态变化,而在这个筛选的过程中,需要满足真随机筛选的要求,从而进一步保证区块链数据存储的随机性和安全性。还可以起到平衡存储单元的使用,使得所有存储单元在一段时间内都能均匀地进行写入和擦除操作,从而延长设备的寿命。而其具体的步骤包括:
S2031:根据每个存储区的擦除计数值大小,从多个存储区中筛选出至少一个待选存储区。
在本实施方式中,在存储设备中,存储单元的数据可以被擦除和重写。每次执行擦除操作都会对擦除计数值进行增加。这是为了跟踪存储单元的使用情况。擦除计数值越高,表示存储单元经历了更多次的擦除操作,具体的,其步骤包括:
S20311:查找预设的擦除计数表,确定每个存储区的擦除计数值,其中,擦除计数表用于记录每个存储区的擦除计数值;
S20312:将擦除计数值小于第一阈值的存储区确定为待选存储区。
在S20311至S20312的实施方式中,擦除计数表,是一个记录了不同存储区的擦除计数值的表格。擦除计数是指存储单元已经被擦除的次数。根据预设的规则,会将擦除计数值超过某个设定的阈值(第一阈值)的存储区标记为待选存储区。在存储设备中选择那些擦除计数值还在可接受范围内的存储单元作为待选存储区。这样做的目的可能是为了延长系统的可靠性和性能,避免使用那些可能即将失效的存储单元,从而提高存储在存储单元中的区块数据的稳定性。
作为示例的,预设的擦除计数表中记录了存储设备的不同存储区的擦除计数值。第一阈值被设置为50,意味着小于50次擦除的存储块将被标记为待选存储区。在这种情况下,从擦除计数表中查找每个存储块的擦除计数值。发现某些存储块的擦除计数未超过50。将这些擦除计数值小于50的存储块标记为待选存储区。例如,假设闪存中有存储块A、B、C和D,它们的擦除计数分别为60、30、45和55。在执行S20312步骤后,存储块B和C的擦除计数值将会被确定为待选存储区。
S2032:根据筛选序列,从至少一个待选存储区中筛选出当前存储周期的目标存储区。
在筛选出待选存储区之后,为了保证区块数据的存储源不具有规律性和可溯源性,需要随机的选择出一个目标存储区,并将目标存储区用于存储当前周期的区块数据,筛选序列由真随机数构成,基于筛选序列进行筛选的过程不会受到人为干扰或预测,因为真随机数的生成具有不可预测性。通过这种方式,可以在每个存储周期中选择不同的存储区,从而实现数据的随机分布或其他所需的目标。
而在一种可行的实施方式中,筛选序列是通过以下步骤获得:
S2030:从多个待编程存储单元中筛选出目标存储单元,其中,目标存储单元具有随机读取噪声。
在本实施方式中,在存储系统中,每个存储单元都是用来存储二进制数据的,例如0和1。然而,在实际应用中,存储单元可能会受到各种干扰和噪声的影响,导致数据的读取出现错误。其中,随机读取噪声是一种常见的干扰类型。随机读取噪声是指在读取存储单元内容时,由于电子器件的不稳定性、电磁干扰或其他因素,可能会引入一些不希望的随机位翻转。因此可以将具有随机读取噪声存储单元作为真随机数生成器的熵源。
而筛选出目标存储单元的具体实现步骤包括:
S20301:对待编程存储单元进行擦除操作;
S20302:对待编程的各存储单元进行编程,使各存储单元被编程至N个不同的编程态;其中,N为大于1;
S20303:根据各存储单元在相邻操作周期内存储状态的变化情况下,筛选出目标存储单元。
在S20301至S20303的实施方式中,首先,擦除操作是指将存储单元的数据全部清除,使其回到初始状态,以便新的数据可以被写入。这个步骤的目的是确保存储单元的初始状态是空白的,以便后续的编程操作能够正确进行。对待编程的各存储单元进行编程。编程操作是将存储单元中的数据写入特定的值,从而改变其存储状态。每个存储单元将被编程至 N 个不同的编程态,其中 N 是一个大于 1 的数值。即每个存储单元将被编程成至少两个不同的状态。根据存储单元在相邻操作周期内存储状态的变化情况,对目标存储单元进行筛选。这意味着根据存储单元在编程周期之间的状态变化情况,选择出特定的存储单元作为目标存储单元。
进一步地,根据各存储单元在相邻操作周期内存储状态的变化情况下,筛选出目标存储单元包括:
在第一操作周期内,获取每个存储单元的存储状态,统计存储状态位于目标状态的存储单元的第一数量;
在第二操作周期内,获取每个存储单元的存储状态,统计存储状态位于目标状态的存储单元的第二数量;
在第一数量与第二数量的差值小于第二阈值的情况下,将第一操作周期内的存储状态与第二操作周期内的存储状态不同的存储单元,确定为目标存储单元。
在本实施方式中,在第一个操作周期内,首先获取每个存储单元的存储状态,存储状态包括目标态和非目标态,并统计存储状态位于目标状态的存储单元数量,称之为第一数量。这意味着在第一个操作周期内记录了存储单元的当前状态,并且标记了那些处于目标状态的存储单元。在第二个操作周期内,再次获取每个存储单元的存储状态,并统计处于目标状态的存储单元数量,称之为第二数量。这一次,记录了存储单元在第二个操作周期内的状态情况。接下来,计算第一数量与第二数量的差值。如果这个差值小于第二阈值,说明在这两个周期内,目标状态存储单元的数量变化不大,即仍然保持相对稳定的数量。这种情况下,会进一步筛选出那些在第一个操作周期内的存储状态与第二个操作周期内的存储状态不同的存储单元。最终,这些在两个操作周期内存储状态发生变化的存储单元被确定为目标存储单元。
根据上述过程,在目标状态和非目标状态之间进行切换的存储单元会在两个操作周期内被筛选出来,作为目标存储单元。
作为示例的,假设有一组存储单元,初始状态如下(0和1分别表示非目标态和目标态):
存储单元 A: 1;存储单元 B: 0;存储单元 C: 0;存储单元 D: 1;存储单元 E:1。第一操作周期内,获取每个存储单元的状态,并统计目标态为“1”的存储单元数量,得到第一数量 = 3(A、D、E 是目标态)。
第二操作周期内,存储单元的状态可能会发生变化。假设经过一段时间后,存储单元的状态变为:
存储单元 A: 0;存储单元 B: 1;存储单元 C: 1;存储单元 D: 1;存储单元 E:0。在第二操作周期内,统计目标态为“1”的存储单元数量,得到第二数量 = 3(B、D、C 是目标态)。然后,计算第一数量与第二数量的差值:差值 = |第一数量 - 第二数量| = |3 - 3| = 0,因为差值为0,小于第二阈值,说明目标态为“1”的存储单元数量变化不大。最后,比较第一个操作周期内存储状态与第二个操作周期内存储状态不同的存储单元:
存储单元 A: 存储态从1变为0;存储单元 B: 存储态从0变为1;存储单元 C: 存储态从0变为1;存储单元 D: 存储态未变化;存储单元 E: 存储态从1变为0;根据上述比较,可以确定存储单元 A、B、C 和 E 是目标存储单元,因为它们在两个操作周期内的存储状态发生了变化。
而在筛选出目标存储单元之后,方法还包括:对目标存储单元进行读取操作,并将目标存储单元的存储状态对应的逻辑值作为筛选序列。
目标存储单元可以处于不同的电荷状态,这些状态在逻辑上被映射为0和1。通过读取目标存储单元的电荷状态,可以确定目标存储单元的存储状态,并将其转换为逻辑值,以供为筛选序列。对于逻辑值的表示,逻辑值0通常表示低电压状态,而逻辑值1表示高电压状态。当读取操作进行时,系统通过传递信号到目标存储单元,感知电子元件的电荷状态,并将其转换为对应的逻辑值。
S204:存储设备将区块数据存储到当前存储周期的目标存储区,并对上一周期的目标存储区存储的数据进行数据回收。
在本实施方式中,在存储过程中,当前存储周期的目标存储区被选定用于存储新的区块数据。当新的区块数据需要存储时,存储设备会选择一个适当的目标存储区,然后将该区块数据写入其中。这个过程确保了数据的合理组织和高效存储。
而对上一周期目标存储区存储的数据进行数据回收是为了优化存储空间的利用。在存储设备上,旧的或不再需要的数据会占用空间,影响存储的效率。数据回收就是指对这些无用数据所占用的存储区域进行清理和重用。在存储管理中,可能会采用各种回收策略,如标记未使用的区块、整理碎片化的空间等,以便在需要存储新数据时,能够利用之前被回收的存储区域,避免空间浪费。
综上,存储设备将区块数据存储到当前存储周期的目标存储区的过程涉及选择合适的存储区域,将新数据写入其中。而对上一周期目标存储区存储的数据进行数据回收则是为了优化存储空间的使用,确保存储设备的高效性和可靠性。
本申请提供的基于大数据的区块链数据存储方法,主机设备获取服务器下发的目标数据,并以此为基础生成区块数据,从而确保区块数据的准确性和完整性。主机设备将区块数据发布到存储设备,而存储设备对这些数据进行合法性校验,提高了数据的安全性和可信度。通过根据擦除计数值和筛选序列,在多个存储区中筛选出当前存储周期的目标存储区,实现了数据的智能分布和优化存储。这种方法有效地降低了数据写入的磨损,延长了存储设备的使用寿命。最终,将区块数据存储到当前存储周期的目标存储区,并对上一周期的目标存储区进行数据回收,进一步优化了存储资源的利用和管理效率。综合来看,这一流程不仅确保了数据的安全性和一致性,还通过智能化的数据存储管理实现了存储性能的提升和资源的优化使用。
本发明实施例还提供了一种基于大数据的区块链数据存储装置,参照图3,示出了本发明一种基于大数据的区块链数据存储装置300的功能模块图,该装置可以包括以下模块:
区块生成模块301,用于主机设备获取服务器下发的目标数据,并基于目标数据生成区块数据;
区块下发模块302,用于主机设备向至少一个存储设备发布区块数据,存储设备对区块数据进行合法性校验;
存储区筛选模块303,用于在通过合法性校验的情况下,存储设备根据每个存储区的擦除计数值以及筛选序列,从多个存储区中筛选出当前存储周期的目标存储区;
存储模块304,用于存储设备将区块数据存储到当前存储周期的目标存储区,并对上一周期的目标存储区存储的数据进行数据回收。
在一种可选的实施方式中,区块生成模块,包括:
第一构建子模块,用于根据当前的区块链状态和网络要求,构建区块头;
第二构建子模块,用于确定目标工作量证明值,并将区块头和标工作量证明值进行组合,以生成区块数据。
在一种可选的实施方式中,存储区筛选模块包括:
第一筛选子模块,用于根据每个存储区的擦除计数值大小,从多个存储区中筛选出至少一个待选存储区;
第二筛选子模块,用于根据筛选序列,从至少一个待选存储区中筛选出当前存储周期的目标存储区。
在一种可选的实施方式中,第一筛选子模块包括:
查找单元,用于查找预设的擦除计数表,确定每个存储区的擦除计数值,其中,擦除计数表用于记录每个存储区的擦除计数值;
确定单元,用于将擦除计数值小于第一阈值的存储区确定为待选存储区。
在一种可选的实施方式中,存储区筛选模块还包括真随机数生成器模块,真随机数生成器子模块包括:
筛选单元,用于从多个待编程存储单元中筛选出目标存储单元,其中,目标存储单元具有随机读取噪声;
读取单元,用于对目标存储单元进行读取操作,并将目标存储单元的存储状态对应的逻辑值作为筛选序列。
在一种可选的实施方式中,筛选单元包括:
第一执行子单元,用于对待编程存储单元进行擦除操作;
第二执行子单元,用于对待编程的各存储单元进行编程,使各存储单元被编程至N个不同的编程态;其中,N为大于1;
筛选子单元,用于根据各存储单元在相邻操作周期内存储状态的变化情况下,筛选出目标存储单元。
基于同一发明构思,本发明另一实施例提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信,
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现本发明的基于大数据的区块链数据存储方法。
上述终端提到的通信总线可以是外设部件互联标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述终端与其他设备之间的通信。存储器可以包括随机存取存储器(Random AccessMemory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
此外,为实现上述目的,本发明的实施例还提出了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现本发明实施例的基于大数据的区块链数据存储方法。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用车辆(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例方法、终端设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。“”和/或“”表示可以选择两者之中的任意一个,也可以两者都选择。而且,术语“”包括“”“”包含“”或者其任何其他变体意在涵盖非排他性地包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“”包括一个……“”限定的要素,并不排除在包括要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于大数据的区块链数据存储方法,其特征在于,所述方法包括:
主机设备获取服务器下发的目标数据,并基于所述目标数据生成区块数据;
所述主机设备向至少一个存储设备发布所述区块数据,所述存储设备对所述区块数据进行合法性校验;
在通过所述合法性校验的情况下,所述存储设备根据每个存储区的擦除计数值以及筛选序列,从多个存储区中筛选出当前存储周期的目标存储区;
所述存储设备将所述区块数据存储到所述当前存储周期的目标存储区,并对上一周期的目标存储区存储的数据进行数据回收。
2.根据权利要求1所述的基于大数据的区块链数据存储方法,其特征在于,所述基于所述目标数据生成区块数据,包括:
根据当前的区块链状态和网络要求,构建区块头;
确定目标工作量证明值,并将所述区块头和所述标工作量证明值进行组合,以生成所述区块数据。
3.根据权利要求1所述的基于大数据的区块链数据存储方法,其特征在于,根据每个存储区的擦除计数值以及筛选序列,从多个存储区中筛选出当前存储周期的目标存储区包括:
根据所述每个存储区的擦除计数值大小,从多个存储区中筛选出至少一个待选存储区;
根据所述筛选序列,从所述至少一个待选存储区中筛选出所述当前存储周期的目标存储区。
4.根据权利要求3所述的基于大数据的区块链数据存储方法,其特征在于,所述根据所述每个存储区的擦除计数值大小,从多个存储区中筛选出至少一个待选存储区,包括:
查找预设的擦除计数表,确定所述每个存储区的擦除计数值,其中,所述擦除计数表用于记录每个存储区的擦除计数值;
将擦除计数值小于第一阈值的存储区确定为所述待选存储区。
5.根据权利要求3所述的基于大数据的区块链数据存储方法,其特征在于,所述存储区包括多个存储单元所述筛选序列是通过以下步骤获得:
从多个待编程存储单元中筛选出目标存储单元,其中,所述目标存储单元具有随机读取噪声;
对所述目标存储单元进行读取操作,并将所述目标存储单元的存储状态对应的逻辑值作为所述筛选序列。
6.根据权利要求4所述的基于大数据的区块链数据存储方法,其特征在于,所述从多个待编程存储单元中筛选出目标存储单元,包括:
对所述待编程存储单元进行擦除操作;
对所述待编程的各存储单元进行编程,使各存储单元被编程至N个不同的编程态;其中,N为大于1;
根据所述各存储单元在相邻操作周期内存储状态的变化情况下,筛选出所述目标存储单元。
7.根据权利要求4所述的随机数生成方法,其特征在于,所述根据所述各存储单元在相邻操作周期内存储状态的变化情况下,筛选出所述目标存储单元,包括:
在第一操作周期内,获取每个存储单元的存储状态,统计存储状态位于目标状态的所述存储单元的第一数量;
在第二操作周期内,获取每个存储单元的存储状态,统计所述存储状态位于目标状态的所述存储单元的第二数量;
在所述第一数量与所述第二数量的差值小于第二阈值的情况下,将第一操作周期内的存储状态与第二操作周期内的存储状态不同的存储单元,确定为所述目标存储单元。
8.根据权利要求1-7任一项所述的基于大数据的区块链数据存储方法,其特征在于,所述主机设备通过广域网与所述服务器连接,所述主机设备与所述存储设备通过局域网连接。
9.一种基于大数据的区块链数据存储装置,其特征在于,所述装置包括:
区块生成模块,用于主机设备获取服务器下发的目标数据,并基于所述目标数据生成区块数据;
区块下发模块,用于所述主机设备向至少一个存储设备发布所述区块数据,所述存储设备对所述区块数据进行合法性校验;
存储区筛选模块,用于在通过所述合法性校验的情况下,所述存储设备根据每个存储区的擦除计数值以及筛选序列,从多个存储区中筛选出当前存储周期的目标存储区;
存储模块,用于所述存储设备将所述区块数据存储到所述当前存储周期的目标存储区,并对上一周期的目标存储区存储的数据进行数据回收。
10.根据权利要求9所述的基于大数据的区块链数据存储装置,其特征在于,所述区块生成模块,包括:
第一构建子模块,用于根据当前的区块链状态和网络要求,构建区块头;
第二构建子模块,用于确定目标工作量证明值,并将所述区块头和所述标工作量证明值进行组合,以生成所述区块数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311515120.0A CN117668934A (zh) | 2023-11-15 | 2023-11-15 | 一种基于大数据的区块链数据存储方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311515120.0A CN117668934A (zh) | 2023-11-15 | 2023-11-15 | 一种基于大数据的区块链数据存储方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117668934A true CN117668934A (zh) | 2024-03-08 |
Family
ID=90079873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311515120.0A Pending CN117668934A (zh) | 2023-11-15 | 2023-11-15 | 一种基于大数据的区块链数据存储方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117668934A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550122A (zh) * | 2015-12-07 | 2016-05-04 | 联想(北京)有限公司 | 一种数据处理方法、存储设备、电子设备 |
CN109508146A (zh) * | 2018-10-11 | 2019-03-22 | 广西师范大学 | 一种区块链的周期性存储空间回收方法 |
CN110011788A (zh) * | 2019-04-10 | 2019-07-12 | 深圳市网心科技有限公司 | 一种基于区块链的数据处理方法、系统及相关设备 |
CN112181303A (zh) * | 2020-09-29 | 2021-01-05 | 广东艾科技术股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN112380166A (zh) * | 2020-11-12 | 2021-02-19 | 上海保险交易所股份有限公司 | 区块链数据归档方法和装置 |
WO2021143025A1 (zh) * | 2020-01-15 | 2021-07-22 | 平安科技(深圳)有限公司 | 物联网数据传输方法、装置、介质及电子设备 |
CN113342893A (zh) * | 2021-06-09 | 2021-09-03 | 网易(杭州)网络有限公司 | 基于区块链的节点同步方法、装置、存储介质及服务器 |
CN113571113A (zh) * | 2021-07-14 | 2021-10-29 | 深圳宏芯宇电子股份有限公司 | 目标数据的解码方法、装置、电子设备和存储装置 |
CN114253871A (zh) * | 2021-12-20 | 2022-03-29 | 安徽南瑞中天电力电子有限公司 | 一种智能电表数据的存储管理方法、系统、装置 |
CN115373608A (zh) * | 2022-08-31 | 2022-11-22 | 北京奕斯伟计算技术股份有限公司 | 数据存储方法及装置 |
US20230145936A1 (en) * | 2021-11-10 | 2023-05-11 | Samsung Electronics Co., Ltd. | Storage device, storage system having the same and method of operating the same |
-
2023
- 2023-11-15 CN CN202311515120.0A patent/CN117668934A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550122A (zh) * | 2015-12-07 | 2016-05-04 | 联想(北京)有限公司 | 一种数据处理方法、存储设备、电子设备 |
CN109508146A (zh) * | 2018-10-11 | 2019-03-22 | 广西师范大学 | 一种区块链的周期性存储空间回收方法 |
CN110011788A (zh) * | 2019-04-10 | 2019-07-12 | 深圳市网心科技有限公司 | 一种基于区块链的数据处理方法、系统及相关设备 |
WO2021143025A1 (zh) * | 2020-01-15 | 2021-07-22 | 平安科技(深圳)有限公司 | 物联网数据传输方法、装置、介质及电子设备 |
CN112181303A (zh) * | 2020-09-29 | 2021-01-05 | 广东艾科技术股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN112380166A (zh) * | 2020-11-12 | 2021-02-19 | 上海保险交易所股份有限公司 | 区块链数据归档方法和装置 |
CN113342893A (zh) * | 2021-06-09 | 2021-09-03 | 网易(杭州)网络有限公司 | 基于区块链的节点同步方法、装置、存储介质及服务器 |
CN113571113A (zh) * | 2021-07-14 | 2021-10-29 | 深圳宏芯宇电子股份有限公司 | 目标数据的解码方法、装置、电子设备和存储装置 |
US20230145936A1 (en) * | 2021-11-10 | 2023-05-11 | Samsung Electronics Co., Ltd. | Storage device, storage system having the same and method of operating the same |
CN114253871A (zh) * | 2021-12-20 | 2022-03-29 | 安徽南瑞中天电力电子有限公司 | 一种智能电表数据的存储管理方法、系统、装置 |
CN115373608A (zh) * | 2022-08-31 | 2022-11-22 | 北京奕斯伟计算技术股份有限公司 | 数据存储方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109040341B (zh) | 智能合约地址的生成方法、装置、计算机设备及可读存储介质 | |
CN108446407B (zh) | 基于区块链的数据库审计方法和装置 | |
CN110599160B (zh) | 用于基于随机数证明来选择分布式共识节点的方法和装置 | |
CN107077557B (zh) | 软件应用程序发布和验证的方法及装置 | |
CN102549576B (zh) | 审核设备 | |
US10560270B2 (en) | Optimal data storage configuration in a blockchain | |
CN115210741B (zh) | 部分有序的区块链 | |
JP2021521555A (ja) | ブロックチェーンコンセンサス方法、アカウンティングノードおよびノード | |
EP3709568A1 (en) | Deleting user data from a blockchain | |
US20130024936A1 (en) | Auditing a device | |
CN108256354B (zh) | 一种基于试验数据的存储方法及存储介质 | |
CN103823763A (zh) | 用于控制对缓存结构的访问的装置 | |
CN108829899B (zh) | 数据表储存、修改、查询和统计方法 | |
US11270227B2 (en) | Method for managing a machine learning model | |
CN111488134B (zh) | 基于区块链的公开随机数生成方法及设备 | |
CN109902493B (zh) | 脚本的下发方法及服务器 | |
CN110851535A (zh) | 基于区块链的数据处理方法、装置、存储介质及终端 | |
CN112651054B (zh) | 一种内存数据完整性保护方法、装置及电子设备 | |
CN113542405A (zh) | 基于区块链的网络通信系统、方法、设备及存储介质 | |
Bazaz et al. | Towards a taxonomy of vulnerabilities | |
CN117668934A (zh) | 一种基于大数据的区块链数据存储方法和装置 | |
CN112784566A (zh) | 单证生成方法、装置、设备及存储介质 | |
US20220114276A1 (en) | Controlling a data network with respect to a use of a distributed database | |
US20210377036A1 (en) | Data structures | |
US20220337602A1 (en) | Blockchain-Based Accountable Distributed Computing System |
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 |