CN113946545A - 一种数据存储方法、装置、电子设备及可读存储介质 - Google Patents

一种数据存储方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN113946545A
CN113946545A CN202111091951.0A CN202111091951A CN113946545A CN 113946545 A CN113946545 A CN 113946545A CN 202111091951 A CN202111091951 A CN 202111091951A CN 113946545 A CN113946545 A CN 113946545A
Authority
CN
China
Prior art keywords
data
dependent node
extended
layer
dependent
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
Application number
CN202111091951.0A
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.)
Zhejiang Weipian Technology Co ltd
Zhejiang Nanometer Technology Co ltd
Original Assignee
Zhejiang Weipian Technology Co ltd
Zhejiang Nanometer Technology Co ltd
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 Zhejiang Weipian Technology Co ltd, Zhejiang Nanometer Technology Co ltd filed Critical Zhejiang Weipian Technology Co ltd
Priority to CN202111091951.0A priority Critical patent/CN113946545A/zh
Publication of CN113946545A publication Critical patent/CN113946545A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请公开了一种数据存储方法、装置、电子设备及可读存储介质。所述方法包括:获取待存储数据;在待存储数据的存储过程中,预先计算当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引,并同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引;在内部扩展依赖节点缓存空间中缓存所述扩展依赖节点索引;根据缓存的所述扩展依赖节点索引,从扩展层对应的外部存储空间中提取所述扩展依赖节点对应的扩展依赖节点数据,并根据所述本层依赖节点索引,同步获取所述本层依赖节点对应的本层依赖节点数据;在内存缓存空间中缓存所述扩展依赖节点数据和所述本层依赖节点数据。本申请可以提高运行效率,缩短运行时间,同时节省计算资源。

Description

一种数据存储方法、装置、电子设备及可读存储介质
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据存储方法、装置、电子设备及可读存储介质。
背景技术
复制证明是一种新型的存储证明策略。它可以让证明人提供存储证明给用户,证明用户的数据已经被复制存储到证明人唯一的专用物理存储设备上了。当证明人承诺存储某数据的n个不同的副本(独立物理副本),然后通过复制证明交互协议来向验证者提供证明,证明证明人确实已经存储了该数据的每个副本。该算法在数学上定义为一个在多项式时间内完成的算法,并假设一个副本很难快速产生。该算法实施过程可以包括:1、设置阶段,在此阶段,系统设置公共参数;2、复制阶段:在此阶段,任何一方或多方根据原始数据D计算产生一个唯一的序列数;3、证明阶段:证明构造者会接到挑战,并必须产生一个证明,证明他拥有一个副本,且该副本源自原始数据D,证明构造者当且仅当他已经拥有这个副本时,才能成功应对这个挑战,即在证明构造者接到挑战时几乎不可能马上产生一个副本;4、验证阶段:在接到证明后,验证者检验该证明的有效性,并判断接受或拒绝该证明。
目前,常用的复制证明算法为堆叠深度鲁棒图共识机制算法,该算法是将整个数据扇区(在此实例中设为32Gbit)以32bit为单位分成一个个数据节点,扇区的数据处理分为11层(lε[1,11]),从上到下计算,上一层成为下一层的扩展(expansion)。一个节点的计算依赖自身以及扩展的一些节点,其中自身依赖6个节点,扩展依赖8个节点。自身依赖节点是从当前计算节点所在层随机选择的该节点前6个节点,其中必须包含其左边最近数据;扩展依赖节点是当前计算节点所在层之上一层中随机选择的8个数据节点。在某一层上的某个节点和其他节点的依赖关系如图2。算法通过对自身依赖的节点数据、扩展依赖的节点数据,以及ID信息和长度信息进行SHA256计算得到当前节点数据。
由于每一层上的某个节点的数据,必须依赖该节点前面6个节点数据,特别是必须包含其左边最近数据,因此在同一层的计算上,必须一个个的按顺序由左至右进行计算。由于下层节点依赖于上一层节点数据,因此在不同层的计算上,必须一层层的按顺序由上至下进行计算。该过程包含依赖关系的计算和依赖节点的数据读取,因此该过程极度消耗计算资源。
发明内容
本申请提供一种数据存储方法、装置、电子设备及可读存储介质,以解决现有技术中复制证明算法极度消耗计算资源的问题。
第一方面,本申请实施例提供了一种数据存储方法,所述方法包括以下步骤:
在待存储数据的存储过程中,预先计算当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引,并同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引;
在内部扩展依赖节点缓存空间中缓存所述扩展依赖节点索引;
根据缓存的所述扩展依赖节点索引,从扩展层对应的外部存储空间中提取所述扩展依赖节点对应的扩展依赖节点数据,并根据所述本层依赖节点索引,同步获取所述本层依赖节点对应的本层依赖节点数据;
在内存缓存空间中缓存所述扩展依赖节点数据和所述本层依赖节点数据。
可选地,所述预先计算当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引,包括:
基于feistel加密算法,计算得到当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引。
可选地,所述同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引,包括:
基于chacha8算法同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引。
可选地,所述在内存缓存空间中缓存所述扩展依赖节点数据和所述本层依赖节点数据,包括:
在缓存所述扩展依赖节点数据和所述本层依赖节点数据的过程中,确定缓存的数据量是否达到数据量阈值;
若是,则降低数据缓存速度,当缓存空间已满时停止缓存。
第二方面,本申请实施例提供了一种数据存储装置,所述装置包括以下模块:
依赖节点索引计算模块,用于在待存储数据的存储过程中,预先计算当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引,并同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引;
扩展依赖节点索引缓存模块,用于在内部扩展依赖节点缓存空间中缓存所述扩展依赖节点索引;
依赖节点数据获取模块,用于根据缓存的所述扩展依赖节点索引,从扩展层对应的外部存储空间中提取所述扩展依赖节点对应的扩展依赖节点数据,并根据所述本层依赖节点索引,同步获取所述本层依赖节点对应的本层依赖节点数据;
依赖节点数据缓存模块,用于在内存缓存空间中缓存所述扩展依赖节点数据和所述本层依赖节点数据。
可选地,所述依赖节点索引计算模块包括:
扩展依赖节点索引计算单元,用于基于feistel加密算法,计算得到当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引。
可选地,所述依赖节点索引计算模块包括:
本层依赖节点索引计算单元,用于基于chacha8算法同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引。
可选地,所述依赖节点数据缓存模块包括:
缓存数据量确定单元,用于在缓存所述扩展依赖节点数据和所述本层依赖节点数据的过程中,确定缓存的数据量是否达到数据量阈值;
缓存数据降低单元,用于在缓存的数据量达到数据量阈值时,降低数据缓存速度,当缓存空间已满时停止缓存。
第三方面,本申请实施例提供了一种电子设备,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述的数据存储方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的数据存储方法的步骤。
与现有技术相比,本申请包括以下优点:
本申请实施例提供了一种数据存储方法、装置、电子设备及可读存储介质。通过在待存储数据的存储过程中,预先计算当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引,并同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引,在内部扩展依赖节点缓存空间中缓存扩展依赖节点索引,根据缓存的扩展依赖节点索引,从扩展层对应的外部存储空间中提取扩展依赖节点对应的扩展依赖节点数据,并根据本层依赖节点索引,同步获取本层依赖节点对应的本层依赖节点数据,在内存缓存空间中缓存扩展依赖节点数据和本层依赖节点数据。本申请实施例通过预先计算所有节点的扩展依赖节点,在进行数据存储时,可以将复制阶段内的多个计算环节由顺序执行改为并行计算后,提高了运行效率,缩短了运行时间,同时节省了计算资源。
附图说明
图1为本申请实施例提供的一种数据存储方法的步骤流程图;
图2为本申请实施例提供的一种自身依赖节点的示意图;
图3为本申请实施例提供的一种芯片架构的示意图;
图4为本申请实施例提供的一种数据存储装置的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
实施例一
参照图1,示出了本申请实施例提供的一种数据存储方法的步骤流程图,如图1所示,该数据存储方法具体可以包括如下步骤:
步骤101:在待存储数据的存储过程中,预先计算当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引,并同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引。
本申请实施例可以应用于将复制阶段内的多个计算环节由顺序执行改为并行计算的场景中。
待存储数据是指用于进行存储的数据,而对于待存储数据的数据类型可以根据业务需求而定,本实施例对此不加以限制。
在待存储数据的存储过程中,可以预先计算当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引,并同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引。
在本示例中,复制过程中,扩展依赖节点索引的计算采用feistel加密算法,参数与节点索引和序号相关,不依赖其他动态参数。
自身依赖节点计算依赖当前节点前的6个节点,采用chacha8加密算法得出,其参数节点索引和特定种子相关,不依赖其他动态参数。
在同步计算得到本层依赖节点索引和扩展依赖节点索引之后,执行步骤102。
步骤102:在内部扩展依赖节点缓存空间中缓存所述扩展依赖节点索引。
在同步计算得到本层依赖节点索引和扩展依赖节点索引之后,可以将扩展依赖节点索引缓存至内部扩展依赖节点缓存空间中。
在内部扩展依赖节点缓存空间中缓存扩展依赖节点索引之后,执行步骤103。
步骤103:根据缓存的所述扩展依赖节点索引,从扩展层对应的外部存储空间中提取所述扩展依赖节点对应的扩展依赖节点数据,并根据所述本层依赖节点索引,同步获取所述本层依赖节点对应的本层依赖节点数据。
在同步计算得到本层依赖节点索引和扩展依赖节点索引之后,可以根据缓存的扩展依赖节点索引从扩展层对应的外部存储空间中提取扩展依赖节点对应的扩展依赖节点数据。并根据本层依赖节点索引同步获取本层依赖节点对应的本层依赖节点数据。
在同步获取到扩展依赖节点数据和本层依赖节点数据之后,执行步骤104。
步骤104:在内存缓存空间中缓存所述扩展依赖节点数据和所述本层依赖节点数据。
在同步获取到扩展依赖节点数据和本层依赖节点数据之后,可以在内部缓存空间中缓存扩展依赖节点数据和本层依赖节点数据,在依赖节点数据的缓存过程中,若缓存的数据量达到数据量阈值可以降低数据缓存速度,并当缓存控件已满时停止缓存,具体地,当依赖节点缓存将要溢出时,减慢数据填充速度,当缓存已满时停止填充。
对于上述过程可以参照下述几个步骤的描述:
1、预先计算所有节点的扩展依赖节点,并将计算得到的节点放置在扩展依赖节点索引缓存中,以便后续使用;
1.a、根据缓存的扩展依赖节点索引,从外部存储器中提取相应数据节点数据,填充于依赖节点数据缓存中,该步骤可以和上述步骤1同步执行;
1.b、计算多个节点的自身依赖节点,获得自身依赖节点索引;
1.c、从外部存储器中提取相应自身依赖节点数据,填充于依赖节点数据缓存中;此数据与1.a中缓存数据保存在一起。
上述步骤1.a、步骤1.b和步骤1.c可以同步进行。
在1.c步骤中提取自身依赖节点数据时,最近的某些节点可能还没有计算完成,因此可在缓存的相应位置标记为空;当相应节点计算完成后,填充该位置;如图2所示,a节点的自身依赖节点数据可预读取,当预读b节点的自身依赖节点数据时,a节点计算尚未完成,预读c节点的自身依赖节点数据时,a、b节点计算尚未完成,因此不可预读取。
步骤1.a-步骤1.c的同步由同步处理控制器完成,当依赖节点缓存将要溢出时,减慢数据填充速度,当缓存已满时停止填充。
对于本申请实施例的方案可以通过芯片架构来实现,对于该芯片架构可以结合图3进行如下详细描述。
如图3所示,为所述芯片架构。
10为扩展依赖节点计算模块,该模块可以包括feistel加密模块,负责计算所有扩展依赖节点,并将所得结果保存在缓存70中。
20为自身依赖节点计算模块,该模块可以包括chacha8加密模块,负责计算自身依赖节点,并将所得结果保存在缓存80中。
30为外部存储,在该模块中保存了需要进行存储证明的数据副本,以及数据复制过程中的中间数据;30获得依赖节点索引后,预读取数据输出到40。
40为依赖节点数据缓存,该模块的数据结构可以包括但不限于FIFO队列或者环,其上每个节点保存如下信息:
1、ID信息,包括replica ID和节点编号;
2、自身依赖的节点数据;
3、扩展依赖的节点数据;
4、长度信息。
若所要预读取的数据尚未准备好,则标记该数据所在位置为空,一个节点对应的所有依赖节点数据进入缓存后可以进行后续SHA256运算。
50为SHA256计算模块,该模块可以从40提取预读取的节点数据进行SHA256计算,计算结果输出到30,同时填充到其在40中相应的原先标记为空的位置
60为同步处理控制器,该模块可以监控40缓冲的空间使用情况和50的计算速度,调节10、20的计算速度,调整填充40、70缓存的速度,确保50计算某节点前全部所需数据已经预读取到40。
70为扩展依赖节点缓存,可以负责缓存各节点位于其上一层数据中的扩展依赖数据节点的索引,该数据用于复制阶段的全程。
80为自身依赖节点缓存,可以负责缓存各节点位于本层数据中的自身依赖数据节点的索引。
本申请实施例提供的数据存储方法,通过在待存储数据的存储过程中,预先计算当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引,并同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引,在内部扩展依赖节点缓存空间中缓存扩展依赖节点索引,根据缓存的扩展依赖节点索引,从扩展层对应的外部存储空间中提取扩展依赖节点对应的扩展依赖节点数据,并根据本层依赖节点索引,同步获取本层依赖节点对应的本层依赖节点数据,在内存缓存空间中缓存扩展依赖节点数据和本层依赖节点数据。本申请实施例通过预先计算所有节点的扩展依赖节点,在进行数据存储时,可以将复制阶段内的多个计算环节由顺序执行改为并行计算后,提高了运行效率,缩短了运行时间,同时节省了计算资源。
实施例二
参照图4,示出了本申请实施例提供的一种数据存储装置的结构示意图,如图4所示,该数据存储装置400具体可以包括如下模块:
依赖节点索引计算模块410,用于在待存储数据的存储过程中,预先计算当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引,并同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引;
扩展依赖节点索引缓存模块420,用于在内部扩展依赖节点缓存空间中缓存所述扩展依赖节点索引;
依赖节点数据获取模块430,用于根据缓存的所述扩展依赖节点索引,从扩展层对应的外部存储空间中提取所述扩展依赖节点对应的扩展依赖节点数据,并根据所述本层依赖节点索引,同步获取所述本层依赖节点对应的本层依赖节点数据;
依赖节点数据缓存模块440,用于在内存缓存空间中缓存所述扩展依赖节点数据和所述本层依赖节点数据。
可选地,所述依赖节点索引计算模块410包括:
扩展依赖节点索引计算单元,用于基于feistel加密算法,计算得到当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引。
可选地,所述依赖节点索引计算模块420包括:
本层依赖节点索引计算单元,用于基于chacha8算法同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引。
可选地,所述依赖节点数据缓存模块包括:
缓存数据量确定单元,用于在缓存所述扩展依赖节点数据和所述本层依赖节点数据的过程中,确定缓存的数据量是否达到数据量阈值;
缓存数据降低单元,用于在缓存的数据量达到数据量阈值时,降低数据缓存速度,当缓存空间已满时停止缓存。
本申请实施例提供的数据存储装置,通过在待存储数据的存储过程中,预先计算当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引,并同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引,在内部扩展依赖节点缓存空间中缓存扩展依赖节点索引,根据缓存的扩展依赖节点索引,从扩展层对应的外部存储空间中提取扩展依赖节点对应的扩展依赖节点数据,并根据本层依赖节点索引,同步获取本层依赖节点对应的本层依赖节点数据,在内存缓存空间中缓存扩展依赖节点数据和本层依赖节点数据。本申请实施例通过预先计算所有节点的扩展依赖节点,在进行数据存储时,可以将复制阶段内的多个计算环节由顺序执行改为并行计算后,提高了运行效率,缩短了运行时间,同时节省了计算资源。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
另外地,本申请实施例还提供了一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的数据存储方法。
本申请实施例还提供了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的数据存储方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种数据存储方法和一种数据存储装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种数据存储方法,其特征在于,所述方法包括以下步骤:
在待存储数据的存储过程中,预先计算当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引,并同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引;
在内部扩展依赖节点缓存空间中缓存所述扩展依赖节点索引;
根据缓存的所述扩展依赖节点索引,从扩展层对应的外部存储空间中提取所述扩展依赖节点对应的扩展依赖节点数据,并根据所述本层依赖节点索引,同步获取所述本层依赖节点对应的本层依赖节点数据;
在内存缓存空间中缓存所述扩展依赖节点数据和所述本层依赖节点数据。
2.根据权利要求1所述的方法,其特征在于,所述预先计算当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引,包括:
基于feistel加密算法,计算得到当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引。
3.根据权利要求1所述的方法,其特征在于,所述同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引,包括:
基于chacha8算法同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引。
4.根据权利要求1所述的方法,其特征在于,所述在内存缓存空间中缓存所述扩展依赖节点数据和所述本层依赖节点数据,包括:
在缓存所述扩展依赖节点数据和所述本层依赖节点数据的过程中,确定缓存的数据量是否达到数据量阈值;
若是,则降低数据缓存速度,当缓存空间已满时停止缓存。
5.一种数据存储装置,其特征在于,所述装置包括以下模块:
依赖节点索引计算模块,用于在待存储数据的存储过程中,预先计算当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引,并同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引;
扩展依赖节点索引缓存模块,用于在内部扩展依赖节点缓存空间中缓存所述扩展依赖节点索引;
依赖节点数据获取模块,用于根据缓存的所述扩展依赖节点索引,从扩展层对应的外部存储空间中提取所述扩展依赖节点对应的扩展依赖节点数据,并根据所述本层依赖节点索引,同步获取所述本层依赖节点对应的本层依赖节点数据;
依赖节点数据缓存模块,用于在内存缓存空间中缓存所述扩展依赖节点数据和所述本层依赖节点数据。
6.根据权利要求5所述的装置,其特征在于,所述依赖节点索引计算模块包括:
扩展依赖节点索引计算单元,用于基于feistel加密算法,计算得到当前存储层的所有数据节点的扩展依赖节点对应的扩展依赖节点索引。
7.根据权利要求5所述的装置,其特征在于,所述依赖节点索引计算模块包括:
本层依赖节点索引计算单元,用于基于chacha8算法同步计算得到多个节点的本层依赖节点对应的本层依赖节点索引。
8.根据权利要求5所述的装置,其特征在于,所述依赖节点数据缓存模块包括:
缓存数据量确定单元,用于在缓存所述扩展依赖节点数据和所述本层依赖节点数据的过程中,确定缓存的数据量是否达到数据量阈值;
缓存数据降低单元,用于在缓存的数据量达到数据量阈值时,降低数据缓存速度,当缓存空间已满时停止缓存。
9.一种电子设备,其特征在于,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的数据存储方法的步骤。
10.一种可读存储介质,其特征在于,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1至4中任一项所述的数据存储方法的步骤。
CN202111091951.0A 2021-09-17 2021-09-17 一种数据存储方法、装置、电子设备及可读存储介质 Pending CN113946545A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111091951.0A CN113946545A (zh) 2021-09-17 2021-09-17 一种数据存储方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111091951.0A CN113946545A (zh) 2021-09-17 2021-09-17 一种数据存储方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN113946545A true CN113946545A (zh) 2022-01-18

Family

ID=79328271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111091951.0A Pending CN113946545A (zh) 2021-09-17 2021-09-17 一种数据存储方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113946545A (zh)

Similar Documents

Publication Publication Date Title
US20200356901A1 (en) Target variable distribution-based acceptance of machine learning test data sets
JP6804668B2 (ja) ブロックデータ検証方法および装置
US11706020B2 (en) Circuit and method for overcoming memory bottleneck of ASIC-resistant cryptographic algorithms
EP3678346A1 (en) Blockchain smart contract verification method and apparatus, and storage medium
US20080307189A1 (en) Data partitioning via bucketing bloom filters
CN106445643B (zh) 克隆、升级虚拟机的方法及设备
CN106850802B (zh) 一种区块链生成方法、分布式节点和区块链网络
CN109033475A (zh) 一种文件存储方法、装置、设备及存储介质
CN109408590B (zh) 分布式数据库的扩容方法、装置、设备及存储介质
CN104239435A (zh) 一种基于图片缩略处理的分布式图片缓存方法
US20160162506A1 (en) Bloom Filter Generation Method and Apparatus
CN106878370A (zh) 一种本地缓存的更新方法和设备
US20190014016A1 (en) Data acquisition device, data acquisition method and storage medium
CN112286459A (zh) 一种数据处理方法、装置、设备及介质
CN111966631A (zh) 一种可快速分发的镜像文件生成方法、系统、设备和介质
US20200135156A1 (en) Method and apparatus for correcting delay between accompaniment audio and unaccompanied audio, and storage medium
CN110717050B (zh) 一种知识图谱数据库的访问方法及装置
CN112906825A (zh) 实现机器学习模型的分布式训练的方法和计算节点
CN112579623A (zh) 存储数据的方法、装置、存储介质及设备
CN112511629B (zh) 一种mpt结构的账户树的数据压缩方法及系统
WO2014107265A1 (en) Method and apparatus for performing bilingual word alignment
CN111638925A (zh) 一种接口方法表生成方法、函数指针查询方法及装置
CN110097361B (zh) 一种基于x11算法的区块链动态算力共识方法及计算机系统
CN113946545A (zh) 一种数据存储方法、装置、电子设备及可读存储介质
WO2023071566A1 (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