CN112148220B - 一种实现数据处理的方法、装置、计算机存储介质及终端 - Google Patents
一种实现数据处理的方法、装置、计算机存储介质及终端 Download PDFInfo
- Publication number
- CN112148220B CN112148220B CN202010982412.5A CN202010982412A CN112148220B CN 112148220 B CN112148220 B CN 112148220B CN 202010982412 A CN202010982412 A CN 202010982412A CN 112148220 B CN112148220 B CN 112148220B
- Authority
- CN
- China
- Prior art keywords
- lba
- block data
- data
- stored
- storage
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 53
- 238000000034 method Methods 0.000 title claims description 42
- 238000013507 mapping Methods 0.000 claims abstract description 42
- 238000004590 computer program Methods 0.000 claims description 24
- 238000013500 data storage Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 5
- 239000007787 solid Substances 0.000 description 16
- 102100022144 Achaete-scute homolog 2 Human genes 0.000 description 6
- 101000901109 Homo sapiens Achaete-scute homolog 2 Proteins 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 102100022142 Achaete-scute homolog 1 Human genes 0.000 description 5
- 101000901099 Homo sapiens Achaete-scute homolog 1 Proteins 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 2
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本文公开一种实现数据处理的方法、装置、计算机存储介质及终端,本发明实施例通过计算待存储的逻辑的块地址(LBA)区块数据的消息摘要,对消息摘要相同的LBA区块数据,通过记录包括LBA编号值和消息摘要的第一LBA映射信息完成待存储LBA区块数据的存储,避免了内容相同的区块数据在存储介质的重复写入,减少了区块链数据对存储资源的占用。
Description
技术领域
本文涉及但不限于区块链技术,尤指一种实现数据处理的方法、装置、计算机存储介质及终端。
背景技术
区块链技术利用块链式数据结构来验证和存储数据,利用分布式节点共识算法来生成和更新数据,利用密码学方式保证数据传输和访问安全,利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算形式。区块链本质上是一个去中心化的分布式存储数据库,具有去中心化、不可篡改、可追溯和公开等优点。
区块链系统中各个节点采取全量备份的存储机制,即系统各节点采取副本全冗余存储;副本全冗余存储在使得区块链系统中每一个完整节点能够对每条信息实现自主验证的同时,也给区块链系统带来了严重的存储负担。以常见的公共区块链平台作为示例,单节点仅同步完整的区块链数据就需要太字节(TB)级的存储空间。如何减少区块链区块对存储空间的消耗,降低存储成本,是区块链技术需要解决的一个问题。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种实现数据处理的方法、装置、计算机存储介质及终端,能够减少区块链数据对存储资源的占用。
本发明实施例提供了一种实现数据处理的方法,包括:
根据逻辑的块地址LBA,计算待存储的LBA区块数据的消息摘要;
判断出存在与待存储的LBA区块数据的消息摘要相同的已存储的LBA区块数据时,通过记录第一映射信息完成LBA区块数据的存储;
其中,所述待存储的LBA区块数据包括:LBA指向的待存储的区块数据;所述第一映射信息包括所述待存储的LBA区块数据的:LBA编号值、消息摘要和时间戳,时间戳记录进行区块数据存储处理的时间;所述LBA区块数据包括:包括区块链数据和用户数据在内的LBA区块数据,所述完成LBA区块数据的存储包括:将用户数据对应的LBA区块数据在三层式存储TLC区域中存储,将区块链数据对应的LBA区块数据存储在四层式存储QLC区域中。
在一种示例性实例中,所述计算待存储的LBA区块数据的消息摘要,包括:
通过预设算法计算所述待存储的LBA区块数据的哈希值,将计算出的所述哈希值作为所述消息摘要。
在一种示例性实例中,所述方法还包括:
判断出不存在与待存储的LBA区块数据的消息摘要相同的已存储的LBA区块数据时,将所述待存储的LBA区块数据复制至写缓冲区,并生成第二映射信息;
其中,所述第二映射信息包括所述待存储的LBA区块数据的:LBA编号值和消息摘要。
在一种示例性实例中,所述将待存储的LBA区块数据复制至写缓冲区之后,所述方法还包括:
判断出所述写缓冲区写满时,将所述写缓冲区中的LBA区块数据写入存储页面中,并记录存储对应关系;
根据记录的所述存储对应关系及所述第二映射信息,生成LBA区块数据的存储关联信息;
其中,所述存储对应关系包括:所述写缓冲区中的所述LBA区块数据的消息摘要与所述LBA区块数据写入的存储页面的对应关系;所述存储关联信息包括:LBA编号值、LBA区块数据写入的存储页面和时间戳,时间戳记录进行区块数据存储处理的时间;所述LBA区块数据包括:包括区块链数据和用户数据在内的LBA区块数据,所述用户数据对应的LBA区块数据存储在三层式存储TLC区域中,所述区块链数据对应的LBA区块数据存储在四层式存储QLC区域中。
在一种示例性实例中,所述生成LBA的存储关联信息之后,所述方法还包括:
在预设的存储页面存储生成的所述存储关联信息。
另一方面,本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述实现数据处理的方法。
再一方面,本发明实施例还提供一种终端,包括:存储器和处理器,所述存储器中保存有计算机程序;其中,
处理器被配置为执行存储器中的计算机程序;
所述计算机程序被所述处理器执行时实现如上述实现数据处理的方法。
还一方面,本发明实施例还提供一种实现数据处理的方法,包括:
将待读取的逻辑的块地址LBA区块数据的LBA编号值,与预先存储的存储关联信息进行比对,确定待读取的LBA区块数据写入的存储页面;
在确定的待读取的LBA区块数据写入的存储页面,读取消息摘要与待读取LBA区块数据的消息摘要相同LBA区块数据;
其中,所述待读取的LBA区块数据包括:LBA指向的待读取的区块数据;所述存储关联信息包括已存储的LBA区块数据的:LBA编号值和LBA区块数据写入的存储页面。
还一方面,本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述实现数据处理的方法。
还一方面,本发明实施例还提供一种终端,包括:存储器和处理器,所述存储器中保存有计算机程序;其中,
处理器被配置为执行存储器中的计算机程序;
所述计算机程序被所述处理器执行时实现如上述实现数据处理的方法。
还一方面,本发明实施例还提供一种实现数据处理的装置,包括:计算单元和处理单元;其中,
计算单元设置为:根据逻辑的块地址LBA,计算待存储的LBA区块数据的消息摘要;
处理单元设置为:判断出存在与待存储的LBA区块数据的消息摘要相同的已存储的LBA区块数据时,通过记录第一映射信息完成LBA区块数据的存储;
其中,所述待存储的LBA区块数据包括:LBA指向的待存储的区块数据;所述第一映射信息包括所述待存储的LBA区块数据的:LBA编号值、消息摘要和时间戳,时间戳记录进行区块数据存储处理的时间;所述LBA区块数据包括:包括区块链数据和用户数据在内的LBA区块数据,所述完成LBA区块数据的存储包括:将用户数据对应的LBA区块数据在三层式存储TLC区域中存储,将区块链数据对应的LBA区块数据存储在四层式存储QLC区域中。
还一方面,本发明实施例还提供一种实现数据处理的装置,包括:比对单元和读取单元;其中,
比对单元设置为:将待读取的逻辑的块地址LBA区块数据的LBA编号值,与预先存储的存储关联信息进行比对,确定待读取的LBA区块数据写入的存储页面;
读取单元设置为:在确定的待读取的LBA区块数据写入的存储页面,读取消息摘要与待读取LBA区块数据的消息摘要相同LBA区块数据;
其中,所述待读取的LBA区块数据包括:LBA指向的待读取的区块数据;所述存储关联信息包括已存储的LBA区块数据的:LBA编号值、LBA区块数据写入的存储页面和时间戳,时间戳记录进行区块数据存储处理的时间;所述LBA区块数据包括:包括区块链数据和用户数据在内的LBA区块数据,所述用户数据对应的LBA区块数据存储在三层式存储TLC区域中,所述区块链数据对应的LBA区块数据存储在四层式存储QLC区域中。
本发明实施例通过计算待存储的逻辑的块地址(LBA)指向的区块数据的消息摘要,对消息摘要相同的LBA区块数据,通过记录包括LBA编号值和消息摘要的第一LBA映射信息完成待存储LBA区块数据的存储,避免了内容相同的区块数据在存储介质的重复写入,减少了区块链数据对存储资源的占用。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例实现数据处理的方法的流程图;
图2为本发明实施例另一实现数据处理的方法的流程图;
图3为本发明实施例实现数据处理的装置的结构框图;
图4为本发明实施例另一实现数据处理的装置的结构框图;
图5为本发明应用示例实现数据处理的装置的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明实施例实现数据处理的方法的流程图,如图1所示,包括:
步骤101、根据逻辑的块地址LBA,计算待存储的LBA区块数据的消息摘要;这里,LBA区块数据是指区块链数据在写入存储介质过程前,参照相关技术切分后,通过LBA指向的区块数据;
其中,待存储的LBA区块数据包括:LBA指向的待存储的区块数据。
步骤102、判断出存在与待存储的LBA区块数据的消息摘要相同的已存储的LBA区块数据时,通过记录第一映射信息完成LBA区块数据的存储;
其中,第一映射信息包括待存储的LBA区块数据的:LBA编号值和消息摘要。这里,LBA编号值指:区块数据存储的逻辑的块地址信息。
在一种示例性实例中,为确保区块数据存储的准确性,会通过时间戳记录进行区块数据存储处理的时间;在一种示例性实例中,本发明实施例可以在第一映射信息中添加记录第一映射信息的时间戳。
本发明实施例通过计算待存储的逻辑的块地址(LBA)指向的区块数据的消息摘要,对消息摘要相同的LBA区块数据,通过记录包括LBA编号值和消息摘要的第一LBA映射信息完成待存储LBA区块数据的存储,避免了内容相同的区块数据在存储介质的重复写入,减少了区块链数据对存储资源的占用。
在一种示例性实例中,本发明实施例计算待存储的LBA区块数据的消息摘要,包括:
通过预设算法计算待存储的LBA区块数据的哈希值,将计算出的哈希值作为消息摘要。
在一种示例性实例中,本发明实施例中的预设算法包括国密算法(SM3)。在一种示例性实例中,本发明实施例中的预设算法还可以包括其他的可以用于计算消息摘要的算法。
在一种示例性实例中,本发明实施例方法还包括:
判断出不存在与待存储的LBA区块数据的消息摘要相同的已存储的LBA区块数据时,将待存储的LBA区块数据复制至写缓冲区,并生成第二映射信息;
其中,第二映射信息包括待存储的LBA区块数据的:LBA编号值和消息摘要。
在一种示例性实例中,为确保区块数据存储的准确性,会通过时间戳记录进行区块数据存储处理的时间;在一种示例性实例中,本发明实施例可以在第二映射信息中添加在写缓冲区复制LBA区块数据的时间戳。
在一种示例性实例中,本发明实施例可以在每一页存储页面的预设的区域,存储上述第一映射信息和第二映射信息。
在一种示例性实例中,将待存储的LBA区块数据复制至写缓冲区之后,本发明实施例方法还包括:
判断出写缓冲区写满时,将写缓冲区中的LBA区块数据写入存储页面中,并记录存储对应关系;
根据记录的存储对应关系及第二映射信息,生成LBA区块数据的存储关联信息;
其中,存储对应关系包括:写缓冲区中的LBA区块数据的消息摘要与LBA区块数据写入的存储页面的对应关系;存储关联信息包括:LBA编号值和LBA区块数据写入的存储页面。这里,存储对应关系为LBA区块数据的消息摘要与存储页面的编号的对应关系。
在一种示例性实例中,为确保区块数据存储的准确性,会通过时间戳记录进行区块数据存储处理的时间;在一种示例性实例中,本发明实施例可以在存储关联信息中添加在写缓冲区复制LBA区块数据的时间戳。
在一种示例性实例中,本发明实施例LBA写入的存储页面可以是四层式存储(QLC)固态硬盘的存储页面。
在一种示例性实例中,本发明实施例方法还包括:
对包括区块链数据和用户数据在内的LBA区块数据,将用户数据对应的LBA区块数据在三层式存储(TLC)区域中存储,将区块链数据对应的LBA区块数据在四层式存储(QLC)区域存储。
在一种示例性时实施例中,本发明实施例方法还包括:将固态硬盘的存储空间划分为TLC区域和QLC区域。
在一种示例性实例中,生成LBA的存储关联信息之后,本发明实施例方法还包括:
在预设的存储页面存储生成的存储关联信息。
本发明实施例通过存储关联信息的统一存储管理,为提升区块链数据的读取速率提供了支持。
本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述实现数据处理的方法。
本发明实施例还提供一种终端,包括:存储器和处理器,存储器中保存有计算机程序;其中,
处理器被配置为执行存储器中的计算机程序;
计算机程序被处理器执行时实现如上述实现数据处理的方法。
图2为本发明实施例另一实现数据处理的方法的流程图,如图2所示,包括:
步骤201、将待读取的逻辑的块地址LBA区块数据的LBA编号值,与预先存储的存储关联信息进行比对,确定待读取的LBA区块数据写入的存储页面;
步骤202、在确定的待读取的LBA区块数据写入的存储页面,读取消息摘要与待读取LBA区块数据的消息摘要相同LBA区块数据;
其中,待读取的LBA区块数据包括:LBA指向的待读取的区块数据;存储关联信息包括已存储的LBA区块数据的:LBA编号值和LBA区块数据写入的存储页面。
在一种示例性示例中,待读取的LBA区块数据的消息摘要,与存储LBA时采用的算法相同。
本发明实施例对根据消息摘要存储的LBA区块数据,通过获取已存储的LBA区块数据中消息摘要相同的数据即可;在降低区块链数据存储空间的同时,保证了数据的准确读取。
本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述实现数据处理的方法。
本发明实施例还提供一种终端,包括:存储器和处理器,存储器中保存有计算机程序;其中,
处理器被配置为执行存储器中的计算机程序;
计算机程序被处理器执行时实现如上述实现数据处理的方法。
图3为本发明实施例实现数据处理的装置的结构框图,如图3所示,包括:计算单元和处理单元;其中,
计算单元设置为:根据逻辑的块地址LBA,计算待存储的LBA区块数据的消息摘要;
处理单元设置为:判断出存在与待存储的LBA区块数据的消息摘要相同的已存储的LBA区块数据时,通过记录第一映射信息完成LBA区块数据的存储;
其中,待存储的LBA区块数据包括:LBA指向的待存储的区块数据;第一映射信息包括待存储的LBA区块数据的:LBA编号值和消息摘要。
本发明实施例通过计算待存储的逻辑的块地址(LBA)指向的区块数据的消息摘要,对消息摘要相同的LBA区块数据,通过记录包括LBA编号值和消息摘要的第一LBA映射信息完成待存储LBA区块数据的存储,避免了内容相同的区块数据在存储介质的重复写入,减少了区块链数据对存储资源的占用。
在一种示例性实例中,本发明实施例计算单元是设置为:
通过预设算法计算待存储的LBA区块数据的哈希值,将计算出的哈希值作为消息摘要。
在一种示例性实例中,本发明实施例处理单元还设置为:
判断出不存在与待存储的LBA区块数据的消息摘要相同的已存储的LBA区块数据时,将待存储的LBA区块数据复制至写缓冲区,并生成第二映射信息;
其中,第二映射信息包括待存储的LBA区块数据的:LBA编号值和消息摘要。
在一种示例性实例中,本发明实施例处理单元还设置为:
判断出写缓冲区写满时,将写缓冲区中的LBA区块数据写入存储页面中,并记录存储对应关系;
根据记录的存储对应关系及第二映射信息,生成LBA区块数据的存储关联信息;
其中,存储对应关系包括:写缓冲区中的LBA区块数据的消息摘要与LBA区块数据写入的存储页面的对应关系;存储关联信息包括:LBA编号值和LBA区块数据写入的存储页面。
在一种示例性实例中,本发明实施例处理单元还设置为:在预设的存储页面存储生成的存储关联信息。
图4为本发明实施例另一实现数据处理的装置的结构框图,如图4所示,包括:比对单元和读取单元;其中,
比对单元设置为:将待读取的逻辑的块地址LBA区块数据的LBA编号值,与预先存储的存储关联信息进行比对,确定待读取的LBA区块数据写入的存储页面;
读取单元设置为:在确定的待读取的LBA区块数据写入的存储页面,读取消息摘要与待读取LBA区块数据的消息摘要相同LBA区块数据;
其中,待读取的LBA区块数据包括:LBA指向的待读取的区块数据;存储关联信息包括已存储的LBA区块数据的:LBA编号值和LBA区块数据写入的存储页面。
本发明实施例对根据消息摘要存储的数据,通过获取已存储的LBA区块数据中消息摘要相同的数据即可;在降低区块链数据存储空间的同时,保证了数据的准确读取。
以下通过应用示例对本发明实施例进行简要说明,应用示例仅用于陈述本发明,并不用于限定本发明的保护范围。
应用示例
图5为本发明应用示例实现数据处理的装置的示意图,如图5所示,包括与主机通过通讯接口连接的固态硬盘,通讯接口包括但不限于通用串行总线(USB)和高速串行计算机扩展总线标准(PCIe)等;本应用示例装置还包括固态硬盘的主控,主要用于解析主机命令,对由与非型闪存(Nand Flash)构建的存储阵列进行读写控制;存储阵列主要用于进行数据存储;本发明实施例Nand Flash为QLC;本应用示例装置还包括计算单元,用于计算LBA区块数据的消息摘要;本应用示例采用国密算法(SM3)作为计算消息摘要的算法。
本应用示例区块链区块数据写入到固态硬盘的处理包括:
1、主机通过通讯接口发送写区块数据命令(vendor_cmd_write)到固态硬盘,写区块数据命令包括逻辑的块地址(LBA,Logical Block Address);
2、固态硬盘接收到写区块数据命令后,初始化SM3计算的哈希缓冲区和Nand_Flash的写缓冲区;
3、固态硬盘发送开始信号到主机;
4、主机接收到ready信号后,开始传送LBA区块数据到固态硬盘;
5、固态硬盘接收到第一个LBA(大小为512比特(Byte))区块数据后,启用SM3计算第一个LBA区块数据的哈希值,并在哈希缓冲区记录LBA区块数据的LBA编号值、LBA区块数据的哈希值及当前时间戳timetmp,假设按照存储顺序编号各LBA区块数据及对应的第二映射信息,则对第一个LBA区块数据进行处理时的第二映射信息可以表示为:<LBA1、HASH1、timetmp1>;其中,LBA1表示当前LBA区块数据的LBA编号值,HASH1表示LBA区块数据采用SM3计算获得的哈希值,timetmp1为处理LBA区块数据的时间戳,本应用示例将第一个LBA区块数据复制到的Nand_Flash写缓冲区。
6、固态硬盘继续接收第二个LBA区块数据,使用SM3计算第二个LBA区块数据的哈希值HASH2,并比较HASH2和HASH1是否相同:
HASH2和HASH1不相同,在哈希缓冲区增加第二映射信息,第二映射信息包括第二个LBA区块数据的:LBA编号值、哈希值及相应时间戳timetmp2,即<LBA2、HASH2、timetmp2>,并将第二个LBA区块数据复制到Nand_Flash写缓冲区;
HASH2和HASH1相同时,在哈希缓冲区增加第一映射信息,包括:第二个LBA区块数据的:LBA编号值、哈希值及相应的时间戳timetmp2,即<LBA2、HASH2、timetmp2>;对于哈希值相同的LBA区块数据,本应用示例不在QLC中写入。
7、Nand_Flash写缓冲区未满时,本应用示例继续在后的LBA区块数据的处理;即对在后的第i个LBA区块数据,使用SM3计算第i个LBA区块数据的哈希值HASHi,并比较HASHi和在前计算出的所有LBA区块数据的HASH是否相同:
HASHi和在前计算出的所有LBA区块数据的HASH均不相同,在哈希缓冲区增加第二映射信息,第二映射信息包括:第i个LBA区块数据的LBA编号值、哈希值及相应时间戳timetmpi,即<LBAi、HASHi、timetmpi>,并将第i个LBA区块数据复制到Nand_Flash写缓冲区;
HASHi和在前计算出的其中一个LBA区块数据的HASH相同时,在哈希缓冲区增加第一映射信息,包括:第i个LBA区块数据的LBA编号值、哈希值及相应的时间戳timetmpi,即<LBAi、HASHi、timetmpi>;
8、Nand_Flash写缓冲区写满(写缓冲区大小为QLC中一个存储页大小),将Nand_Flash写缓冲区中的LBA区块数据写入到QLC存储页面中,并记录Nand_Flash写缓冲区中的LBA区块数据的HASH和存储页面的编号的存储对应关系,即记录存储在每一个存储页面的LBA区块数据的哈希值。
9、根据步骤8记录的中的存储对应关系和哈希缓冲区中存储的第二映射信息,生成存储关联信息,存储关联信息包括:LBA编号值、LBA区块数据写入的存储页面、及在写缓冲区复制LBA区块数据的时间戳;将存储关联信息存储在预设的存储页面。
继续在新的存储页面中进行LBA区块数据的存储,直至完成所有LBA区块数据的处理。
对采用上述处理存储的LBA区块数据,本应用示例采用以下步骤进行读取:
1、主机通过通讯接口发送读区块数据命令(vendor_cmd_read)到固态硬盘,读区块数据命令中包含待读取的LBA区块数据的LBA编号值;
2、固态硬盘接收到读区块数据命令后,访问存储上述存储关联信息的存储页面;
3、固态硬盘根据vendor_cmd_read命令中的LBA编号值,比对各存储关联信息,确定待读取的LBA区块数据写入的存储页面;
4、固态硬盘从待读取的LBA区块数据写入的存储页面,根据待读取的LBA区块数据的哈希值,读取出LBA区块数据;
5、固态硬盘返回读取的LBA区块数据到主机。
本应用示例通过数据去重的方式,减少区块链区块数据对存储空间消耗。将区块数据存储于QLC中,进一步降低了区块数据的存储成本。
“本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。”
Claims (10)
1.一种实现数据处理的方法,包括:
根据逻辑的块地址LBA,计算待存储的LBA区块数据的消息摘要;
判断出存在与待存储的LBA区块数据的消息摘要相同的已存储的LBA区块数据时,通过记录第一映射信息完成LBA区块数据的存储;
其中,所述LBA区块数据是指区块链数据在写入存储介质过程前进行切分后,通过LBA指向的区块数据;所述待存储的LBA区块数据包括:LBA指向的待存储的区块数据;所述第一映射信息包括所述待存储的LBA区块数据的:LBA编号值、消息摘要和时间戳,时间戳记录进行区块数据存储处理的时间;所述LBA区块数据包括:包括区块链数据和用户数据在内的LBA区块数据,所述完成LBA区块数据的存储包括:将用户数据对应的LBA区块数据在三层式存储TLC区域中存储,将区块链数据对应的LBA区块数据存储在四层式存储QLC区域中。
2.根据权利要求1所述的方法,其特征在于,所述计算待存储的LBA区块数据的消息摘要,包括:
通过预设算法计算所述待存储的LBA区块数据的哈希值,将计算出的所述哈希值作为所述消息摘要。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断出不存在与待存储的LBA区块数据的消息摘要相同的已存储的LBA区块数据时,将所述待存储的LBA区块数据复制至写缓冲区,并生成第二映射信息;
其中,所述第二映射信息包括所述待存储的LBA区块数据的:LBA编号值和消息摘要。
4.根据权利要求3所述的方法,其特征在于,将待存储的LBA区块数据复制至写缓冲区之后,所述方法还包括:
判断出所述写缓冲区写满时,将所述写缓冲区中的LBA区块数据写入存储页面中,并记录存储对应关系;
根据记录的所述存储对应关系及所述第二映射信息,生成LBA区块数据的存储关联信息;
其中,所述存储对应关系包括:所述写缓冲区中的所述LBA区块数据的消息摘要与所述LBA区块数据写入的存储页面的对应关系;所述存储关联信息包括:LBA编号值和LBA区块数据写入的存储页面。
5.根据权利要求4所述的方法,其特征在于,所述生成LBA的存储关联信息之后,所述方法还包括:
在预设的存储页面存储生成的所述存储关联信息。
6.一种实现数据处理的方法,包括:
将待读取的逻辑的块地址LBA区块数据的LBA编号值,与预先存储的存储关联信息进行比对,确定待读取的LBA区块数据写入的存储页面;
在确定的待读取的LBA区块数据写入的存储页面,读取消息摘要与待读取LBA区块数据的消息摘要相同LBA区块数据;
其中,所述LBA区块数据是指区块链数据在写入存储介质过程前进行切分后,通过LBA指向的区块数据;所述待读取的LBA区块数据包括:LBA指向的待读取的区块数据;所述存储关联信息包括已存储的LBA区块数据的:LBA编号值、LBA区块数据写入的存储页面和时间戳,时间戳记录进行区块数据存储处理的时间;所述LBA区块数据包括:包括区块链数据和用户数据在内的LBA区块数据,所述用户数据对应的LBA区块数据存储在三层式存储TLC区域中,所述区块链数据对应的LBA区块数据存储在四层式存储QLC区域中。
7.一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1~5中任一项或6所述的实现数据处理的方法。
8.一种终端,包括:存储器和处理器,所述存储器中保存有计算机程序;其中,
处理器被配置为执行存储器中的计算机程序;
所述计算机程序被所述处理器执行时实现如权利要求1~5中任一项或6所述的实现数据处理的方法。
9.一种实现数据处理的装置,包括:计算单元和处理单元;其中,
计算单元设置为:根据逻辑的块地址LBA,计算待存储的LBA区块数据的消息摘要;
处理单元设置为:判断出存在与待存储的LBA区块数据的消息摘要相同的已存储的LBA区块数据时,通过记录第一映射信息完成LBA区块数据的存储;
其中,所述LBA区块数据是指区块链数据在写入存储介质过程前进行切分后,通过LBA指向的区块数据;所述待存储的LBA区块数据包括:LBA指向的待存储的区块数据;所述第一映射信息包括所述待存储的LBA区块数据的:LBA编号值、消息摘要和时间戳,时间戳记录进行区块数据存储处理的时间;所述LBA区块数据包括:包括区块链数据和用户数据在内的LBA区块数据,所述完成LBA区块数据的存储包括:将用户数据对应的LBA区块数据在三层式存储TLC区域中存储,将区块链数据对应的LBA区块数据在四层式存储QLC区域存储LBA区块数据。
10.一种实现数据处理的装置,包括:比对单元和读取单元;其中,
比对单元设置为:将待读取的逻辑的块地址LBA区块数据的LBA编号值,与预先存储的存储关联信息进行比对,确定待读取的LBA区块数据写入的存储页面;
读取单元设置为:在确定的待读取的LBA区块数据写入的存储页面,读取消息摘要与待读取LBA区块数据的消息摘要相同LBA区块数据;
其中,所述LBA区块数据是指区块链数据在写入存储介质过程前进行切分后,通过LBA指向的区块数据;所述待读取的LBA区块数据包括:LBA指向的待读取的区块数据;所述存储关联信息包括已存储的LBA区块数据的:LBA编号值、LBA区块数据写入的存储页面和时间戳,时间戳记录进行区块数据存储处理的时间;所述LBA区块数据包括:包括区块链数据和用户数据在内的LBA区块数据,所述用户数据对应的LBA区块数据存储在三层式存储TLC区域中,所述区块链数据对应的LBA区块数据存储在四层式存储QLC区域中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010982412.5A CN112148220B (zh) | 2020-09-17 | 2020-09-17 | 一种实现数据处理的方法、装置、计算机存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010982412.5A CN112148220B (zh) | 2020-09-17 | 2020-09-17 | 一种实现数据处理的方法、装置、计算机存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112148220A CN112148220A (zh) | 2020-12-29 |
CN112148220B true CN112148220B (zh) | 2024-03-19 |
Family
ID=73893129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010982412.5A Active CN112148220B (zh) | 2020-09-17 | 2020-09-17 | 一种实现数据处理的方法、装置、计算机存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148220B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849194B (zh) * | 2021-08-20 | 2022-10-14 | 荣耀终端有限公司 | 烧录方法和终端设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015065312A1 (en) * | 2013-10-28 | 2015-05-07 | Hitachi, Ltd. | Method and apparatus of data de-duplication for solid state memory |
CN107704466A (zh) * | 2016-08-09 | 2018-02-16 | 捷鼎国际股份有限公司 | 数据储存系统 |
CN107870740A (zh) * | 2016-09-28 | 2018-04-03 | 爱思开海力士有限公司 | 用于控制存储器的设备和方法 |
CN110720088A (zh) * | 2017-06-12 | 2020-01-21 | 净睿存储股份有限公司 | 集成到大容量存储设备的可访问快速耐久存储 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10496626B2 (en) * | 2015-06-11 | 2019-12-03 | EB Storage Systems Ltd. | Deduplication in a highly-distributed shared topology with direct-memory-access capable interconnect |
JP6884128B2 (ja) * | 2018-09-20 | 2021-06-09 | 株式会社日立製作所 | データ重複排除装置、データ重複排除方法、及びデータ重複排除プログラム |
-
2020
- 2020-09-17 CN CN202010982412.5A patent/CN112148220B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015065312A1 (en) * | 2013-10-28 | 2015-05-07 | Hitachi, Ltd. | Method and apparatus of data de-duplication for solid state memory |
CN107704466A (zh) * | 2016-08-09 | 2018-02-16 | 捷鼎国际股份有限公司 | 数据储存系统 |
CN107870740A (zh) * | 2016-09-28 | 2018-04-03 | 爱思开海力士有限公司 | 用于控制存储器的设备和方法 |
CN110720088A (zh) * | 2017-06-12 | 2020-01-21 | 净睿存储股份有限公司 | 集成到大容量存储设备的可访问快速耐久存储 |
Also Published As
Publication number | Publication date |
---|---|
CN112148220A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7984231B2 (en) | Information recording medium access device, and data recording method | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
US20140372685A1 (en) | Memory system, data storage device, user device and data management method thereof | |
CN105808163B (zh) | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 | |
US10572335B2 (en) | Metadata recovery method and apparatus | |
CN112000627B (zh) | 一种数据存储方法、系统、电子设备及存储介质 | |
US8347052B2 (en) | Initializing of a memory area | |
CN108491290B (zh) | 一种数据写入方法及装置 | |
CN105446664A (zh) | 一种对存储器进行文件存储方法和存储装置 | |
KR20210003946A (ko) | 논리적-물리적 데이터 구조 | |
US8352497B1 (en) | Page object caching for variably sized access control lists in data storage systems | |
CN107798063B (zh) | 快照处理方法和快照处理装置 | |
CN112148220B (zh) | 一种实现数据处理的方法、装置、计算机存储介质及终端 | |
US20090083477A1 (en) | Method and apparatus for formatting portable storage device | |
CN106095331B (zh) | 一种固定大文件内部资源的控制方法 | |
CN111435323B (zh) | 信息的传输方法、装置、终端、服务器及存储介质 | |
CN117012267A (zh) | 对ufs所写入数据的验证方法、控制器及介质 | |
CN111399774B (zh) | 分布式存储系统下基于快照的数据处理方法和装置 | |
CN115328851A (zh) | 一种数据保护方法、装置、设备及介质 | |
CN112148203B (zh) | 存储器管理方法、装置、电子设备及存储介质 | |
CN112433959A (zh) | 实现数据存储处理的方法、装置、计算机存储介质及终端 | |
CN112015672A (zh) | 一种存储系统中数据处理方法、装置、设备及存储介质 | |
CN116737181B (zh) | 通用闪存存储芯片及烧录方法 | |
CN107749307B (zh) | 存储系统写盘失败时的重写方法、装置、设备和存储介质 | |
CN113703671B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 230088 floor 7, block C, building J2, phase II, innovation industrial park, high tech Zone, Hefei, Anhui Province Applicant after: HEFEI DATANG STORAGE TECHNOLOGY Co.,Ltd. Address before: 100094 No. 6 Yongjia North Road, Beijing, Haidian District Applicant before: HEFEI DATANG STORAGE TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |