CN112948350B - 一种基于mpt验证的分布式账本模型冷数据归档及迁移存储方法 - Google Patents

一种基于mpt验证的分布式账本模型冷数据归档及迁移存储方法 Download PDF

Info

Publication number
CN112948350B
CN112948350B CN202110145771.XA CN202110145771A CN112948350B CN 112948350 B CN112948350 B CN 112948350B CN 202110145771 A CN202110145771 A CN 202110145771A CN 112948350 B CN112948350 B CN 112948350B
Authority
CN
China
Prior art keywords
data
block
mpt
cold
cold data
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
CN202110145771.XA
Other languages
English (en)
Other versions
CN112948350A (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.)
Central university of finance and economics
Original Assignee
Central university of finance and economics
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 Central university of finance and economics filed Critical Central university of finance and economics
Priority to CN202110145771.XA priority Critical patent/CN112948350B/zh
Publication of CN112948350A publication Critical patent/CN112948350A/zh
Application granted granted Critical
Publication of CN112948350B publication Critical patent/CN112948350B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种基于MPT验证的分布式账本模型冷数据归档及迁移存储方法,包括:智能合约自动判断是否满足冷数据归档条件,各节点基于冷数据区块头构建MPT冷数据快照;各节点通过共识算法争夺记账权,触发智能合约自动打包具备包含MPT数据快照的创世区块;新增节点基于新的创世区块同步数据,无需保存全量账本数据;达到节点存储上限的冷数据迁移存储至外接存储设备,保留迁移数据的MPT,用于验证数据的真伪。本发明可以实现冷数据的归档和迁移,节省了存储空间,并实现了冷数据的验证。

Description

一种基于MPT验证的分布式账本模型冷数据归档及迁移存储 方法
技术领域
本发明属于分布式账本模型的数据归档及迁移存储技术领域,更具体的说是涉及一种基于MPT验证的分布式账本模型冷数据归档及迁移存储方法。
背景技术
分布式账本模型是一种由去中心化节点共同维护存储的信息不可篡改和伪造的分布式数据存储基础设施,所有参与节点保存全量账本数据,通过共识算法保证数据的一致性。近年来,随着区块链3.0时代的到来,分布式账本模型开始从金融应用逐渐拓展至医疗、政务等行业,分布式账本所存储的数据量呈现爆发性的增长。目前,区块链2.0的代表以太坊的数据存储量已经超过1T,意味着新加入的节点至少需要超过1T的存储空间才能备份全量账本数据,普通的计算机设备已经无法承担如此庞大的数据存储资源消耗。因此分布式账本技术的历史数据激增限制了大量节点的加入,也阻碍了各类应用的落地。已有的分布式账本数据归档方法采用数据压缩实现,但是随着数据的爆发式增长,压缩后的数据仍需要消耗巨大的存储开销。此外,压缩数据可能破坏原始数据导致原始数据的丢失,损害分布式账本模型的存储可靠性。
因此,如何提供一种基于MPT验证的分布式账本模型冷数据归档及迁移存储方法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,为了解决现有技术中在分布式账本模型中的大量数据存储所带来的数据膨胀和节点扩张问题,本发明提供了一种基于MPT验证的分布式账本模型冷数据归档及迁移存储方法。
为了实现上述目的,本发明采用如下技术方案:
一种基于MPT验证的分布式账本模型冷数据归档及迁移存储方法,包括:智能合约自动判断是否满足冷数据归档条件,各节点基于冷数据区块头构建MPT冷数据快照;各节点通过共识算法争夺记账权,触发智能合约自动打包具备包含MPT数据快照的创世区块;新增节点基于新的创世区块同步数据,无需保存全量账本数据;达到节点存储上限的冷数据迁移存储至外接存储设备,保留迁移数据的MPT,用于验证数据的真伪。
优选的,具体包括如下步骤:
节点执行定时任务,收集一个时间窗口或固定区块数量的冷数据区块,通过Hash计算构建MPT存储结构,作为冷数据快照;
所有节点打包冷数据快照,并通过PoW共识算法竞争新的创世区块记账权;
获得记账权的全节点创建新的具备时间属性的创世区块,包括区块头、区块体;区块头包括时间戳、冷数据MPT根,区块体保存完整的冷数据MPT数据快照;
上述冷数据归档操作由所有节点执行冷数据归档智能合约自动化完成;
当新增节点加入当前分布式账本网络时,同步新的创世区块,基于已有的数据快照继续新增账本数据,之前的节点仍保留全量的账本数据;
如果节点达到存储上限,基于本地存储的冷数据按上述方法构建MPT数据快照,然后将冷数据迁移至外接存储设备,并保留迁移数据的MPT数据快照用于数据验证。
优选的,所述冷数据MPT数据快照包括:
针对历史冷数据区块头通过Hash计算构建MPT存储结构;
MPT以键值对形式存储区块头数据,其中键为区块序号,值为区块头Hash。
优选的,所述冷数据归档操作由所有节点执行冷数据归档智能合约自动化完成,包括:
启动定时任务定期判断时间窗口获区块数量是否满足冷数据归档条件;
如果满足,则获取分布式账本全量数据,只针对全量数据区块头构建MPT;
打包具备时间属性的创世区块,将时间戳、上述MPT根记录为区块头,将上述完整MPT记录为区块体;
新的创世区块保存了所有历史区块头的MPT结构,实现全量数据的验证和追溯。
优选的,当新增节点加入当前分布式账本网络时,同步新的创世区块包括:
基于MPT数据快照创建具备时间属性的创世区块,包括历史区块头、历史区块体;
历史区块头包括当前时间戳、所述历史区块头数据构建的MPT根;
历史区块体包括历史区块头数据构建的完整MPT数据快照;
具备时间属性的创世区块包含数据归档的时间戳,用于区分不同的归档创世区块;
新增节点基于最新的归档创世区块同步区块数据,无需保存全量账本数据;
已有全量账本数据的节点则继续保存历史账本数据。
优选的,所述基于已有的数据快照继续新增账本数据包括:
收集交易池中现有的交易数据,直至满足设定的每个区块存储上限;
分布式账本节点通过共识算法争夺记账权;
成功获得记账权的节点获取新创世区块Hash,并记录时间戳、交易数据Merkle树,打包成新的区块追加至创世区块结尾;
其他节点同步新增的区块,更新本地保存的分布式账本数据。
优选的,所述冷数据迁移存储至外接存储设备包括:
当任意节点达到其存储上限时,管理员可手动或设置自动触发冷数据迁移的自动化监控程序将冷数据迁移存储至外接存储设备;
迁移之前需要基于区块头构建MPT数据快照,并将此MPT数据快照打包为该节点的创世区块,如果新的区块更新则基于该创世区块增加区块;
迁移部分数据通过新的创世区块中保存的MPT验证数据的真伪。
一种基于MPT验证的分布式账本模型冷数据归档及迁移存储装置,包括:
MPT冷数据快照构建模块,通过智能合约自动判断是否满足冷数据归档条件,各节点基于冷数据区块头构建MPT冷数据快照;
创世区块触发模块,通过各节点通过共识算法争夺记账权,触发智能合约自动打包具备包含MPT数据快照的创世区块;
数据同步模块,用于新增节点基于新的创世区块同步数据,无需保存全量账本数据;
冷数据迁移模块,将达到节点存储上限的冷数据迁移存储至外接存储设备,保留迁移数据的MPT,用于验证数据的真伪。
一种计算机可读存储介质,存储有计算机可执行指令,上述指令在被执行时用于实现权利要求1-7任一项所述的方法。
一种电子设备,包括自动化监控的计算机程序,计算机程序包括计算机可执行指令,上述指令在被执行时用于实现权利要求1-7任一项所述的方法。
本发明的有益效果在于:
本发明可以基于不常访问的冷数据区块头Hash构建MPT数据快照,并基于MPT数据快照构建归档创世区块,新加入分布式账本网络中的节点基于新的创世区块同步更新数据,无需同步全量账本数据,降低了数据的存储开销,解决了数据无限膨胀问题。由于早期加入分布式账本网络中的节点仍保留了全量的账本数据,随着数据的膨胀,面临着超出节点存储范围的问题,因此可以通过将冷数据迁移至外接存储设备解决此问题。为了保证外接存储设备的数据可验证性,基于区块头Hash构建MPT冷数据存储快照,并基于MPT打包创世区块,新增的区块数据基于创世区块同步新的数据,从而实现节点存储空间的扩充。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明的框架图。
图2附图为本发明MPT冷数据快照存储机制概要图。
图3附图为本发明冷数据归档智能合约实施流程图。
图4附图为本发明冷数据迁移自动化监控程序实施流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种基于MPT验证的分布式账本模型冷数据归档及迁移存储方法,包括:智能合约自动判断是否满足冷数据归档条件,各节点基于冷数据区块头构建MPT(MerklePatriciaTree)冷数据快照;各节点通过共识算法争夺记账权,触发智能合约自动打包具备包含MPT数据快照的创世区块;新增节点基于新的创世区块同步数据,无需保存全量账本数据;达到节点存储上限的冷数据迁移存储至外接存储设备,保留迁移数据的MPT,用于验证数据的真伪。
其中,基于智能合约自动打包具备时间属性的归档创世区块包括:启动定时任务定期判断时间窗口是否满足冷数据归档条件;如果满足,则获取分布式账本冷数据,针对区块头计算Hash,构建MPT数据快照;基于数据快照打包具备时间属性的创世区块,将时间戳、MPT根记录为区块头,将完整的冷数据MPT数据快照记录为区块体;新的创世区块保存了所有历史区块头的MPT结构,可以实现全量数据的验证和追溯。
参考附图1,当数据归档智能合约被触发后,将时间窗口T内的数据进行打包,生成MPT数据快照。当在下一个时间窗口T+1内有新增节点4加入时,节点4基于上一时间窗口的MPT数据快照,创建新的创世区块,并基于此创世区块继续同步区块,无需保存历史时间窗口的全量账本数据。新创世区块中的MPT数据快照可以用于历史数据验证,但无法对历史数据值进行查询,需要借助上一时间窗口加入的节点进行辅助数据查询。
此外,如果节点达到设备存储上限,需要进行数据迁移操作。首先每个节点本地执行自动监控程序,启动定时任务监控设备存储情况。如果满足数据迁移条件,则将历史冷数据迁移至外接存储设备,并基于迁移数据创建MPT数据快照构建的创世区块,并继续同步区块数据。被迁移的数据通常为访问频率极低的冷数据,创世区块内的MPT数据快照可用于数据验证,外界存储设备可用于辅助查询。
参考附图2,图2展示MPT数据快照结构。MPT数据结构是默克尔树和压缩前缀树两种树结构的结合,通过区块头hash存储用于历史区块验证信息,通过分支节点将拥有公共前缀的数据信息进行压缩存储。在打包MPT数据快照时,首先将区块进行二进制编码(图示以5位二进制区块序号为例),作为MPT存储的键值key,区块头Hash作为存储值value,由于键值key有大量公共前缀,因此采用MPT数据结构可以对大量历史账本数据进行存储结构优化,不仅可以用于历史区块验证,也可以提升历史账本数据的压缩率。
本实施例中,一种基于MPT验证的分布式账本模型冷数据归档及迁移存储方法,具体包括如下步骤:
节点执行定时任务,收集一个时间窗口或固定区块数量的冷数据区块,通过Hash计算构建MPT存储结构,作为冷数据快照;
所有节点打包冷数据快照,并通过PoW共识算法竞争新的创世区块记账权;
获得记账权的全节点创建新的具备时间属性的创世区块,包括区块头、区块体;区块头包括时间戳、冷数据MPT根、Hash之以及区块体Hash,区块体保存完整的冷数据MPT数据快照;
上述冷数据归档操作由所有节点执行冷数据归档智能合约自动化完成;
当新增节点加入当前分布式账本网络时,同步新的创世区块,基于已有的数据快照继续新增账本数据,之前的节点仍保留全量的账本数据;
如果节点达到存储上限,基于本地存储的冷数据按上述方法构建MPT数据快照,然后将冷数据迁移至外接存储设备,并保留迁移数据的MPT数据快照用于数据验证;
上述冷数据迁移操作可以由节点管理员手动执行或冷数据迁移自动化监控程序完成;
参与基于MPT验证的冷数据归档及迁移的分布式账本模型的节点节省了存储空间,并且具备冷数据真实性验证的属性。
本实施例中,所述冷数据MPT数据快照包括:针对历史冷数据区块头通过Hash计算(例如sha256)构建MPT存储结构;MPT以键值对形式存储区块头数据,其中键为区块序号,值为区块头Hash。
本实施例中,所述冷数据归档操作由所有节点执行冷数据归档智能合约自动化完成,包括:
启动定时任务定期判断时间窗口获区块数量是否满足冷数据归档条件;
如果满足,则获取分布式账本全量数据,只针对全量数据区块头构建MPT快照数据;
打包具备时间属性的创世区块,将时间戳、上述MPT根记录为区块头,将上述完整MPT记录为区块体;
新的创世区块保存了所有历史区块头的MPT结构,可以实现全量数据的验证和追溯。
参考附图3,图3展示数据归档流程。数据归档由归档智能合约执行完成。当满足数据归档条件(例如区块数量大于阈值T),则触发数据归档智能合约执行。首先,由节点打包MPT数据快照,并创建归档创世区块,节点打包完成后广播区块,由分布式账本网络中的节点进行PoW共识验证,如果验证通过则将归档创世区块进行全网广播。当有新增节点加入网络时,则以新创建的归档创世区块为基础同步新的区块数据,无需保存全量历史账本数据。
本实施例中,当新增节点加入当前分布式账本网络时,同步新的创世区块包括:
基于MPT数据快照创建具备时间属性的创世区块,包括历史区块头、历史区块体;
历史区块头包括当前时间戳、所述历史区块头数据构建的MPT根;
历史区块体包括历史区块头数据构建的完整MPT数据快照;
具备时间属性的创世区块包含数据归档的时间戳,用于区分不同的归档创世区块;
新增节点基于最新的归档创世区块同步区块数据,无需保存全量账本数据;
已有全量账本数据的节点则继续保存历史账本数据。
本实施例中,所述基于已有的数据快照继续新增账本数据包括:
收集交易池中现有的交易数据,直至满足设定的每个区块存储上限;
分布式账本节点通过共识算法争夺记账权;
成功获得记账权的节点获取新创世区块Hash,并记录时间戳、交易数据Merkle树,打包成新的区块追加至创世区块结尾;
其他节点同步新增的区块,更新本地保存的分布式账本数据。
本实施例中,所述冷数据迁移存储至外接存储设备包括:
当任意节点达到其存储上限时,管理员可手动或设置自动触发冷数据迁移的自动化监控程序将冷数据迁移存储至外接存储设备;
迁移之前需要基于区块头构建MPT数据快照,并将此MPT数据快照打包为该节点的创世区块,如果新的区块更新则基于该创世区块增加区块;
迁移部分数据通过新的创世区块中保存的MPT验证数据的真伪,如果需要查询迁移数据内容,需借助外接存储设备查询,但查询频率极低。
本实施例中,所述冷数据迁移操作主要包括:
启动自动化监控程序定期判断当前节点存储空间是否满足冷数据迁移条件;
如果满足,则对需迁移的冷数据区块的区块头进行Hash运算,构建MPT;
打包当前节点的迁移创世区块,将时间戳、上述MPT根记录为区块头,将上述完整MPT记录为区块体;
新的迁移创世区块保存了所有历史区块头的MPT结构,可以实现迁移数据的验证和追溯。
参考附图4,图4展示数据迁移流程。数据迁移由自动监控程序触发后自动化执行。当满足数据迁移条件(例如存储空间小于阈值T),则触发数据迁移操作。首先,由待迁移数据的节点打包MPT数据快照,并创建迁移创世区块,节点打包完成后将数据迁移至外接存储设备。当节点接收到分布式账本网络的数据同步消息时,该节点以新的迁移创世区块为基础同步新增的区块数据。当有数据验证需求时,可以基于迁移创世区块的MPT数据快照对数据进行验证。当有数据查询需求时,需访问外接存储设备完成迁移数据查询操作。
本实施例中,存储在分布式账本的数据经过冷数据归档和迁移之后节省了存储空间,重新具备了数据继续膨胀的条件,并且具备归档迁移数据的抗篡改抗抵赖属性,细节内容包括:
分布式账本网络中在每次冷数据归档前加入的节点才需要保存冷数据的全量数据信息,新增节点会基于归档后的创世区块同步新增的区块数据,节省了新增节点的存储空间,有利于分布式账本网络的扩张;
归档后的创世区块保存了冷数据MPT数据快照信息,如果需要查询冷数据,可以向存储完整数据的节点发起请求,并通过归档创世区块的MPT验证数据的真伪;
如果较早加入分布式账本网络的节点因存储账本全量数据即将达到存储上限,可以通过冷数据迁移操作将部分数据迁移至外接存储设备中,基于迁移数据的MPT数据快照可以实现数据的验证,可以借助外接存储设备查询迁移数据的内容;
不常被访问到的冷数据通过MPT构建归档和迁移创世区块,大大降低了分布式账本数据扩张的成本,通过MPT验证实现数据验证和追溯,保证分布式账本内容的抗篡改和抗抵赖属性。
本发明还提供了一种基于MPT验证的分布式账本模型冷数据归档及迁移存储装置,包括:
MPT冷数据快照构建模块,通过智能合约自动判断是否满足冷数据归档条件,各节点基于冷数据区块头构建MPT冷数据快照;
创世区块触发模块,通过各节点通过共识算法争夺记账权,触发智能合约自动打包具备包含MPT数据快照的创世区块;
数据同步模块,用于新增节点基于新的创世区块同步数据,无需保存全量账本数据;
冷数据迁移模块,将达到节点存储上限的冷数据迁移存储至外接存储设备,保留迁移数据的MPT,用于验证数据的真伪。
本发明还提供了一种计算机可读存储介质,存储有计算机可执行指令,上述指令在被执行时用于实现上述基于MPT验证的分布式账本模型冷数据归档及迁移存储方法。
本发明还提供了一种电子设备,包括自动化监控的计算机程序,计算机程序包括计算机可执行指令,上述指令在被执行时用于实现上述基于MPT验证的分布式账本模型冷数据归档及迁移存储方法。
本发明可以基于不常访问的冷数据区块头Hash构建MPT数据快照,并基于MPT数据快照构建归档创世区块,新加入分布式账本网络中的节点基于新的创世区块同步更新数据,无需同步全量账本数据,降低了数据的存储开销,解决了数据无限膨胀问题。由于早期加入分布式账本网络中的节点仍保留了全量的账本数据,随着数据的膨胀,面临着超出节点存储范围的问题,因此可以通过将冷数据迁移至外接存储设备解决此问题。为了保证外接存储设备的数据可验证性,基于区块头Hash构建MPT冷数据存储快照,并基于MPT打包创世区块,新增的区块数据基于创世区块同步新的数据,从而实现节点存储空间的扩充。
实施例
本发明将冷数据通过归档和迁移的方式存储为MPT数据快照,通过构建新的创世区块减轻节点同步数据的存储开销以及查询数据的计算开销,其中冷数据归档和迁移的过程如下:
1)归档智能合约定期判断是否满足冷数据归档条件,如果满足执行2);
2)保存当前时间窗口的MPT数据快照,并基于此构建归档创世区块;
3)新加入网络中的节点基于归档创世区块同步账本数据,无需同步全量账本数据;
4)节点管理员或自动化监控程序定期判断当前节点的存储空间,如果满足冷数据迁移条件,则执行5);
5)将当前节点的冷数据保存为MPT数据快照,并基于此构建迁移创世区块;
6)新增的区块数据基于迁移创世区块同步区块数据,节省节点的存储与查询开销。
分布式账本的冷数据归档和迁移验证过程包括:待迁移和归档的冷数据的区块头进行Hash运算,构建MPT数据快照。数据快照以创世区块的形式存储,其中区块头包括迁移和归档的时间戳、MPT根,区块体包括完整的冷数据MPT数据快照。当需要验证创世区块中保存时间戳之前的数据时,可通过查询仍保存完整冷数据的节点,并通过节点自己的创世区块中的区块体对该数据进行真实性校验。冷数据对新加入的节点不是数据透明的,但是新加入节点对冷数据的访问频率极低,并且可以通过访问其他节点获取冷数据内容,并通过创世区块的冷数据快照验证数据真伪,保证了在节省自己存储空间的情况下,可以实现冷数据的查询和验证。冷数据的归档操作可以通过智能合约自动执行,所有节点执行共识算法竞争获取冷数据快照的记账权,当新的节点加入时,只需要同步归档创世区块,在此基础上同步新的区块,而无需同步全量数据,如有新增区块则在经过共识验证的归档创世区块后直接追加新的区块,无需保存全量的账本数据。
本发明可以实现冷数据的归档和迁移,节省了存储空间,并实现了冷数据的验证。通过MPT构建数据快照,并打包成新的创世区块,通过执行智能合约将数据的归档操作自动化,节省了数据维护和管理的成本,提高了效率。冷数据的归档和迁移快照通过MPT的形式打包成创世区块,新的节点加入只需在此基础上继续追加新的区块,虽然无法直接查询冷数据的内容,但是可以通过MPT对冷数据进行验证,完整的冷数据保存在归档之前加入的节点中。通过此方案可以大大减轻新节点加入分布式账本网络的存储负担,有利于网络的扩张。本方案精准解决分布式账本模型中的冷数据归档迁移的验证和分布式账本网络的扩展问题。
随着分布式账本技术在多行业的应用拓展,分布式账本中的数据存储量正以爆发式的速度增长,海量信息对节点的硬件存储能力提出了挑战,特别是现有的分布式账本模型中通过节点全量存储所有数据备份实现账本数据的不可篡改等优于普通分布式数据库的特性,但是此特性也造成了极大的存储开销资源的浪费。大多节点需要存储大量冷数据耗费存储空间,并且随着时间的推移,冷数据会占据越来越多的存储空间,影响分布式账本网络的扩张。为了提高节点存储资源的利用率,可以结合传统数据库中使用到的冷数据归档和迁移技术,通过设置冷数据的判断条件将其进行定期的归档和迁移,不仅节省了存储空间,当需要使用全量数据确认时,可以通过查询冷数据MPT数据快照验证归档和迁移数据的正确性。
默克尔帕特里夏树(MerklePatriciaTree,MPT)是一种融合了默克尔树和压缩前缀树两种树结构优点的数据结构,提供了一种快速检索维护数据Hash标识的树状结构。MPT支持快速回滚,并提供了一种默克尔证明的数据验证机制。不仅支持轻节点的扩展,还可以实现简单支付验证。但是保存基于全量交易构建的区块体仍然消耗大量的存储开销,对于不常被访问到的冷数据,大量存储开销造成了不必要的资源浪费,以及全节点的巨大的数据查询开销。因此,采用本实施方式,可以将不常访问到的冷数据进行归档和迁移存储,通过采用MPT对冷数据区块头做快照存储,基于数据快照可以验证归档或者迁移的数据是否遭到篡改或伪造。通过智能合约和自动化监控程序定期自动化判断数据归档和迁移的条件,降低了数据维护的成本,提升了数据管理效率。本发明提出的基于MPT验证的分布式账本模型冷数据归档及迁移存储方式实现了节点存储开销和查询开销,并具备可追溯和不可篡改的特性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种基于MPT验证的分布式账本模型冷数据归档及迁移存储方法,其特征在于,包括:智能合约自动判断是否满足冷数据归档条件,各节点基于冷数据区块头构建MPT冷数据快照;各节点通过共识算法争夺记账权,触发智能合约自动打包具备包含MPT数据快照的创世区块;新增节点基于新的创世区块同步数据,无需保存全量账本数据;达到节点存储上限的冷数据迁移存储至外接存储设备,保留迁移数据的MPT,用于验证数据的真伪;
具体包括如下步骤:
节点执行定时任务,收集一个时间窗口或固定区块数量的冷数据区块,通过Hash计算构建MPT存储结构,作为冷数据快照;
所有节点打包冷数据快照,并通过PoW共识算法竞争新的创世区块记账权;
获得记账权的全节点创建新的具备时间属性的创世区块,包括区块头、区块体;区块头包括时间戳、冷数据MPT根,区块体保存完整的冷数据MPT数据快照;
上述冷数据归档操作由所有节点执行冷数据归档智能合约自动化完成;
当新增节点加入当前分布式账本网络时,同步新的创世区块,基于已有的数据快照继续新增账本数据,之前的节点仍保留全量的账本数据;
如果节点达到存储上限,基于本地存储的冷数据按上述方法构建MPT数据快照,然后将冷数据迁移至外接存储设备,并保留迁移数据的MPT数据快照用于数据验证;
当新增节点加入当前分布式账本网络时,同步新的创世区块包括:
基于MPT数据快照创建具备时间属性的创世区块,包括历史区块头、历史区块体;
历史区块头包括当前时间戳、所述历史区块头数据构建的MPT根;
历史区块体包括历史区块头数据构建的完整MPT数据快照;
具备时间属性的创世区块包含数据归档的时间戳,用于区分不同的归档创世区块;
新增节点基于最新的归档创世区块同步区块数据,无需保存全量账本数据;
已有全量账本数据的节点则继续保存历史账本数据。
2.根据权利要求1所述的一种基于MPT验证的分布式账本模型冷数据归档及迁移存储方法,其特征在于,所述冷数据MPT数据快照包括:
针对历史冷数据区块头通过Hash计算构建MPT存储结构;
MPT以键值对形式存储区块头数据,其中键为区块序号,值为区块头Hash。
3.根据权利要求1所述的一种基于MPT验证的分布式账本模型冷数据归档及迁移存储方法,其特征在于,所述冷数据归档操作由所有节点执行冷数据归档智能合约自动化完成,包括:
启动定时任务定期判断时间窗口获区块数量是否满足冷数据归档条件;
如果满足,则获取分布式账本全量数据,只针对全量数据区块头构建MPT;
打包具备时间属性的创世区块,将时间戳、上述MPT根记录为区块头,将完整的冷数据MPT数据快照记录为区块体;
新的创世区块保存了所有历史区块头的MPT结构,实现全量数据的验证和追溯。
4.根据权利要求1所述的一种基于MPT验证的分布式账本模型冷数据归档及迁移存储方法,其特征在于,所述基于已有的数据快照继续新增账本数据包括:收集交易池中现有的交易数据,直至满足设定的每个区块存储上限;
分布式账本节点通过共识算法争夺记账权;
成功获得记账权的节点获取新创世区块Hash,并记录时间戳、交易数据Merkle树,打包成新的区块追加至创世区块结尾;
其他节点同步新增的区块,更新本地保存的分布式账本数据。
5.根据权利要求1所述的一种基于MPT验证的分布式账本模型冷数据归档及迁移存储方法,其特征在于,所述冷数据迁移存储至外接存储设备包括:
当任意节点达到其存储上限时,管理员可手动或设置自动触发冷数据迁移的自动化监控程序将冷数据迁移存储至外接存储设备;
迁移之前需要基于区块头构建MPT数据快照,并将此MPT数据快照打包为该节点的创世区块,如果新的区块更新则基于该创世区块增加区块;
迁移部分数据通过新的创世区块中保存的MPT验证数据的真伪。
6.一种基于MPT验证的分布式账本模型冷数据归档及迁移存储装置,其特征在于,包括:
MPT冷数据快照构建模块,通过智能合约自动判断是否满足冷数据归档条件,各节点基于冷数据区块头构建MPT冷数据快照;
创世区块触发模块,通过各节点通过共识算法争夺记账权,触发智能合约自动打包具备包含MPT数据快照的创世区块;
数据同步模块,用于新增节点基于新的创世区块同步数据,无需保存全量账本数据;
冷数据迁移模块,将达到节点存储上限的冷数据迁移存储至外接存储设备,保留迁移数据的MPT,用于验证数据的真伪;
装置运行时执行如下步骤:
节点执行定时任务,收集一个时间窗口或固定区块数量的冷数据区块,通过Hash计算构建MPT存储结构,作为冷数据快照;
所有节点打包冷数据快照,并通过PoW共识算法竞争新的创世区块记账权;
获得记账权的全节点创建新的具备时间属性的创世区块,包括区块头、区块体;区块头包括时间戳、冷数据MPT根,区块体保存完整的冷数据MPT数据快照;
上述冷数据归档操作由所有节点执行冷数据归档智能合约自动化完成;
当新增节点加入当前分布式账本网络时,同步新的创世区块,基于已有的数据快照继续新增账本数据,之前的节点仍保留全量的账本数据;
如果节点达到存储上限,基于本地存储的冷数据按上述方法构建MPT数据快照,然后将冷数据迁移至外接存储设备,并保留迁移数据的MPT数据快照用于数据验证;
当新增节点加入当前分布式账本网络时,同步新的创世区块包括:
基于MPT数据快照创建具备时间属性的创世区块,包括历史区块头、历史区块体;
历史区块头包括当前时间戳、所述历史区块头数据构建的MPT根;
历史区块体包括历史区块头数据构建的完整MPT数据快照;
具备时间属性的创世区块包含数据归档的时间戳,用于区分不同的归档创世区块;
新增节点基于最新的归档创世区块同步区块数据,无需保存全量账本数据;
已有全量账本数据的节点则继续保存历史账本数据。
7.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,上述指令在被执行时用于实现权利要求1-5任一项所述的方法。
8.一种电子设备,其特征在于,包括自动化监控的计算机程序,计算机程序包括计算机可执行指令,上述指令在被执行时用于实现权利要求1-5任一项所述的方法。
CN202110145771.XA 2021-02-02 2021-02-02 一种基于mpt验证的分布式账本模型冷数据归档及迁移存储方法 Active CN112948350B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110145771.XA CN112948350B (zh) 2021-02-02 2021-02-02 一种基于mpt验证的分布式账本模型冷数据归档及迁移存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110145771.XA CN112948350B (zh) 2021-02-02 2021-02-02 一种基于mpt验证的分布式账本模型冷数据归档及迁移存储方法

Publications (2)

Publication Number Publication Date
CN112948350A CN112948350A (zh) 2021-06-11
CN112948350B true CN112948350B (zh) 2023-08-01

Family

ID=76241824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110145771.XA Active CN112948350B (zh) 2021-02-02 2021-02-02 一种基于mpt验证的分布式账本模型冷数据归档及迁移存储方法

Country Status (1)

Country Link
CN (1) CN112948350B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111183450A (zh) * 2019-09-12 2020-05-19 阿里巴巴集团控股有限公司 日志结构存储系统
CN112084201A (zh) * 2020-08-27 2020-12-15 东软集团股份有限公司 分布式账本处理方法和装置、存储介质和电子设备
CN112291376A (zh) * 2020-12-31 2021-01-29 腾讯科技(深圳)有限公司 区块链系统中的数据处理方法及相关设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108055138B (zh) * 2018-02-01 2020-03-17 国家计算机网络与信息安全管理中心 基于区块链的应用分发记录方法和系统
CN109117097B (zh) * 2018-09-05 2020-06-12 深圳正品创想科技有限公司 一种基于区块链的数据存储方法及系统
CN109345388B (zh) * 2018-09-20 2020-09-08 百度在线网络技术(北京)有限公司 区块链智能合约验证方法、装置及存储介质
US11036395B2 (en) * 2018-10-18 2021-06-15 Nec Corporation Secure and transparent pruning for blockchains
CN110011788B (zh) * 2019-04-10 2020-12-25 深圳市网心科技有限公司 一种基于区块链的数据处理方法、系统及相关设备
CN110245944B (zh) * 2019-05-20 2021-04-27 创新先进技术有限公司 基于用户类型的收据存储方法和节点
CN110347660B (zh) * 2019-06-28 2020-08-11 阿里巴巴集团控股有限公司 基于区块链的分级存储方法及装置、电子设备
CN110442644A (zh) * 2019-07-08 2019-11-12 深圳壹账通智能科技有限公司 区块链数据归档存储方法、装置、计算机设备和存储介质
CN110543446B (zh) * 2019-08-21 2020-11-24 杭州趣链科技有限公司 一种基于快照的区块链直接归档方法
CN111339116A (zh) * 2020-02-29 2020-06-26 中央财经大学 一种基于区块链的用于开放银行数据共享的方式
CN111160913B (zh) * 2020-04-02 2020-07-17 支付宝(杭州)信息技术有限公司 区块链账户余额的存证、恢复方法及装置
CN112015697B (zh) * 2020-10-27 2021-02-02 暗链科技(深圳)有限公司 一种区块链链上数据存档方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111183450A (zh) * 2019-09-12 2020-05-19 阿里巴巴集团控股有限公司 日志结构存储系统
CN112084201A (zh) * 2020-08-27 2020-12-15 东软集团股份有限公司 分布式账本处理方法和装置、存储介质和电子设备
CN112291376A (zh) * 2020-12-31 2021-01-29 腾讯科技(深圳)有限公司 区块链系统中的数据处理方法及相关设备

Also Published As

Publication number Publication date
CN112948350A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
CN107526775B (zh) 一种区块链数据归档的方法
US11934356B2 (en) Synchronization of metadata in a distributed storage system
AU2018236167B2 (en) Methods, devices and systems for maintaining consistency of metadata and data across data centers
CN102521269B (zh) 一种基于索引的计算机连续数据保护方法
CN107038162B (zh) 基于数据库日志的实时数据查询方法和系统
CN102054035B (zh) 一种基于数据范围的数据库数据同步方法
CN109542979B (zh) 一种区块链系统快速同步及简精数据存储的方式
WO2021091489A1 (en) Method and apparatus for storing time series data, and server and storage medium thereof
CN106933703B (zh) 一种数据库数据备份的方法、装置及电子设备
CN104778225A (zh) 一种非结构化数据多存储系统中同步数据的方法
CN110795499B (zh) 基于大数据的集群数据同步方法、装置、设备及存储介质
CN111552687A (zh) 时序数据的存储方法、查询方法、装置、设备及存储介质
CN111651519B (zh) 数据同步方法、数据同步装置、电子设备及存储介质
CN105447168B (zh) Mp4格式的碎片文件恢复与重组的方法
CN110647531A (zh) 数据同步方法、装置、设备及计算机可读存储介质
CN111722962A (zh) 一种针对cdp数据的存储系统及其方法
CN111523004B (zh) 一种边缘计算网关数据的存储方法及系统
CN112948350B (zh) 一种基于mpt验证的分布式账本模型冷数据归档及迁移存储方法
CN108182198B (zh) 存储先进控制器运行数据的控制装置和读取方法
WO2021258360A1 (zh) 一种车载数据存储方法及系统
CN104731716A (zh) 一种数据存储方法
CN111858767A (zh) 同步数据的处理方法、装置、设备及存储介质
CN111797068A (zh) 一种基于区块链和ipfs的物联网数据管理系统和方法
CN115328931A (zh) 数据库集群数据校验方法、装置、存储介质及电子设备
Goncalves et al. DottedDB: Anti-entropy without merkle trees, deletes without tombstones

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