CN112015697B - 一种区块链链上数据存档方法及系统 - Google Patents

一种区块链链上数据存档方法及系统 Download PDF

Info

Publication number
CN112015697B
CN112015697B CN202011166295.1A CN202011166295A CN112015697B CN 112015697 B CN112015697 B CN 112015697B CN 202011166295 A CN202011166295 A CN 202011166295A CN 112015697 B CN112015697 B CN 112015697B
Authority
CN
China
Prior art keywords
archiving
block
node
block chain
index
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
CN202011166295.1A
Other languages
English (en)
Other versions
CN112015697A (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.)
Dark Chain Technology Shenzhen Co ltd
Original Assignee
Dark Chain Technology Shenzhen 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 Dark Chain Technology Shenzhen Co ltd filed Critical Dark Chain Technology Shenzhen Co ltd
Priority to CN202011166295.1A priority Critical patent/CN112015697B/zh
Publication of CN112015697A publication Critical patent/CN112015697A/zh
Application granted granted Critical
Publication of CN112015697B publication Critical patent/CN112015697B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • 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
    • G06F16/134Distributed 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

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)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种区块链链上数据存档方法及系统,其中所述方法包括:将区块链中的传统全节点依照功能设定划分为记账节点和历史存档节点;当区块链延长到系统设定的容量限制值,触发存档操作;在记账节点区块链的相应位置将被存档的第一区块链片段替换为一索引区块,所述索引区块用来指向历史存档节点的已经存档的历史数据。通过本发明的方法可以保证普通用户可作为全节点参与记账的能力,维护区块链系统安全;保证账本全记录完整不丢失,历史全程可追溯;提高区块链系统工作效率,减轻因时间增长而产生的数据压力。

Description

一种区块链链上数据存档方法及系统
技术领域
本发明属于区块链技术领域,尤其涉及一种区块链链上数据存档方法及系统。
背景技术
区块链技术起始于2009年的比特币。作为第一代区块链技术,特征为开创了基于P2P网络无许可分布式账本新纪元。2014年以太坊在比特币的基础上改进了虚拟机,使用完备图灵机工作机制完成了其创始人将计算机构筑到分布式记账系统上的目标,开创了“世界计算机”应用先河,创建了智能合约系统,成为第二代区块链技术领头羊。
随着区块链技术的发展,区块链系统的在各个领域的应用越来越广泛。在当前的技术下,由于保障分布式账本安全的全节点需要维护从创世块到当前块的所有数据,随着区块链系统运行时间的增加,区块链各全节点的存储占用空间也越来越大。截止2020年7月14日,以太坊的全节点同步体积为420GB,同一时间比特币的全节点同步体积达到290GB。
更糟的是,这种空间需求随着时间越来越大的趋势本身也在变得越来越快。相比较以上的数据,以太坊在2019年7月14日时的全节点同步体积仅为151GB。
区块链技术给人类带来的革命性成果是分布式账本技术带来的记录不可篡改性,这个特性需要足够多的去中心化全节点来维护,而在以往使用一般个人电脑的普通用户足以担当全节点的角色。正是这些随时可参与的普通用户支撑起了整个去中心化网络的价值,维护着史无前例的存证可靠性。但是,以上所述的系统问题正在使这种价值濒临崩溃。仅以以太坊数据总量的发展趋势而言,普通用户软硬件资源所能支撑的全节点能力正在迅速被剥夺,越来越多的普通用户退出了“全节点”模式,这使区块链系统很快会面临巨大的危机。
对此,目前不存在可持续化的最终解决方案,都是一些临时的缓解手段,主要集中在使用轻量化节点技术,如轻节点、超轻节点等。而这些方法仍然无法解决存储空间需求与日俱增的问题,同时导致全节点数量下降,全节点由专业节点把控,无许可监督性受损,最终将失去去中心化记账能力,并且安全性也会下降,容易受到日蚀或者女巫等攻击。
发明内容
本发明提供了一种可解决这种危机的方案,允许让普通全节点(本发明中的记账节点)维护不超过一定体积的现用数据,将久远的历史数据存档,代之以索引。这些存档数据由一种专门的历史存档节点来维护,这些节点具有更适用于维护久远少用数据的设置。这样,区块链就可以走出负担越来越重的困境,轻装上阵走向未来。
需要指出的是,本发明所述的历史存档节点和以太坊自带的历史存档节点不是一回事。以太坊的历史存档节点(archive nodes)是一种特殊的全节点,保存了对每个历史状态额外信息的快照,用于支持深度分析,这些快照信息对于全节点的验证、查询及维护全网安全不是必须的,这类节点即可以忽略,它的使用也不能解决甚至减缓以上所述的问题。
为了达到上述目的,本发明提供一种区块链链上数据存档方法及系统,其中所述方法包括以下步骤:
步骤S101、将区块链中的传统全节点依照功能设定划分为记账节点和历史存档节点;
其中,所述记账节点负责新区块验证和记账更新,为其他节点提供数据服务,参与同步过程;
所述历史存档节点用于维护已经存档的历史数据;
步骤S103、当区块链延长到系统设定的容量限制值,触发存档操作;
步骤S105、在记账节点区块链的相应位置将被存档的第一区块链片段替换为一索引区块,所述索引区块用来指向历史存档节点的已经存档的历史数据,所述第一区块链片段为整条区块链的一部分。
其中,其他节点包括同一区块链网络中除了自身之外的节点,如其他记账节点(节点会下线,上线后需要从对等网络同步新区块)、轻节点(那些并不同步全部数据的节点,一般用在手机等存储力差的设备上,他们平时只存储区块头,需要数据时再从全节点拉,一般手机钱包使用这种节点)。
其中,所述方法还包括:
步骤S107、在历史存档节点处所述被存档的第一区块链片段增加一索引分叉,所述索引分叉包含该区块链片段的存档信息及查询标记,所述索引分叉与所述索引区块关联。
其中,所述步骤S103中所述触发存档操作包括:
步骤S1031、当区块链延长到系统设定的容量限制值,共识节点启动存档动作,将存档信息直接写成一条交易,打包进新区块,其中,所述存档信息至少包括本次存档操作所选取的区块高度信息,该信息由系统算法统一给出,全网节点应当给出一致的结果。
其中,所述步骤S103中所述触发存档操作还包括:
步骤S1033、所述新区块附加上存档标识,广播到全网进行共识;
步骤S1035、记账节点收到新区块,验证合法后记账上链;
步骤S1037、历史存档节点监听P2P网络中带所述存档标识的新区块,基于检测结果采用相应的操作。
其中,所述步骤S1037具体包括:
若检测到区块带有存档标识,等待系统所设定的确认数达到后,根据所述区块中的存档信息启动本地存档操作;
若期间发生错误,则抛弃所述区块,重新监听;
若未发生错误,则启动存档,同步存档所设定数量的区块链片段的区块到本地,并附加一个索引分叉。
所述索引分叉与所述索引区块相关联,通过索引区块与索引分叉的关联性,可以查询到相应历史存档节点中的区块。
所述索引分叉还与相应的区块链片段相关联,以便于查询。
其中,所述方法还包括:
所述历史存档节点完成存档区块链片段的同步后向全网广播通知;
所述记账节点收集历史存档节点发出的通知数,到达系统设定的数量后,启动链裁剪,记账节点在链裁剪后的本地链上进行正常记账,新区块不断加入,区块链延长。
其中,所述链裁剪具体包括:将所述区块链片段从所述区块链中切除,并替换为一个索引区块,所述索引区块包含有此次存档的信息。
其中,所述历史存档节点相互间进行日常维护,检查存档数据是否被篡改,以及所有存档区块链片段是否覆盖全部历史数据。
其中,查询历史数据时,若涉及已存档信息,则通过记账节点上的索引区块与相应历史存档节点通信,获取所需数据。
本发明还提出了一种区块链构建方法,其特征在于:
当原始区块链长度达到系统设定的容量限制值时,将所述原始区块链划分为第一段区块链和第二段区块链,所述第一段区块链中的区块的时间戳早于所述第二段区块链的时间戳;
将所述第一段区块链替换为一个索引区块,并将所述第一段区块链存储到第一节点;
通过所述索引区块寻址到所述第一段区块链中的区块;
所述索引区块与所述第二段区块链构成新的区块链,继续后续操作。
本发明还提出了一种区块链链上数据存档系统,其包括:
记账节点,其用于负责新区块验证和记账更新,为其他节点提供数据服务,参与同步过程;
历史存档节点,其用于维护已经存档的历史数据;
其中,当区块链延长到系统设定的容量限制值,触发存档操作;
在记账节点区块链的相应位置将被存档的第一区块链片段替换为一索引区块,所述索引区块用来指向历史存档节点的已经存档的历史数据。
与现有技术相比,通过本发明的方法可以保证普通用户可作为全节点参与记账的能力,维护区块链系统安全;保证账本全记录完整不丢失,历史全程可追溯;提高区块链系统工作效率,减轻因时间增长而产生的数据压力。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
图1是示出与本发明实施例一致的一种区块链链上数据存档方法流程图;
图2是示出与本发明实施例一致的触发存档操作的流程图;
图3是示出与本发明实施例一致的某一步骤的流程图;
图4是示出与本发明实施例一致的一种区块链链上数据存档系统框图;
图5是示出与本发明实施例一致的一种区块链构建方法的流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面结合附图详细说明本发明的可选实施例。
实施例一、
参见图1所示,本发明提供一种区块链链上数据存档方法及系统,其中所述方法包括以下步骤:
步骤S101、将区块链中的传统全节点依照功能设定划分为记账节点和历史存档节点;
其中,所述记账节点负责新区块验证和记账更新,为其他节点提供数据服务,参与同步过程;
所述历史存档节点用于维护已经存档的历史数据;
步骤S103、当区块链延长到系统设定的容量限制值,触发存档操作;
步骤S105、在记账节点区块链的相应位置将被存档的第一区块链片段替换为一索引区块,所述索引区块用来指向历史存档节点的已经存档的历史数据。
其中,所述第一区块链片段由多个连续区块构成,其为整条区块链的一部分,通常为时间戳更为久远的区块。
其中,其他节点包括同一区块链网络中除了自身之外的节点,如其他记账节点(节点会下线,上线后需要从对等网络同步新区块)、轻节点(那些并不同步全部数据的节点,一般用在手机等存储力差的设备上,他们平时只存储区块头,需要数据时再从全节点拉,一般手机钱包使用这种节点)。
在一个应用场景中,所述方法还可以包括:
步骤S107、在历史存档节点处所述被存档的第一区块链片段增加一索引分叉,所述索引分叉包含该区块链片段的存档信息及查询标记,所述索引分叉与所述索引区块关联。
为了便于理解本发明涉及的技术方案,故对其进行详细说明。参见图2所示,在一个应用场景中,所述步骤S103中的所述触发存档操作可以包括:
步骤S1031、当区块链延长到系统设定的容量限制值,共识节点启动存档动作,将存档信息直接写成一条交易,打包进新区块,其中,所述存档信息至少包括本次存档操作所选取的区块高度信息,该信息由系统算法统一给出,全网节点应当给出一致的结果。
即存档信息至少包括本次存档要存到哪个区块高度的高度信息。这个高度由系统算法给出,在不同节点得到确定的一致性结论。
进一步地,在不受S1031中的所述容量限制值是基于当前世界PC机的性能均值和年增长值。例如,2020年全球PC机硬盘容量平均C=512G,这个数字每年提高50%,则该容量限制值L=(50%C) * 1.5^(当年年份-2020)。
在另一个应用场景中,所述步骤S103中所述触发存档操作还可以包括:
步骤S1033、所述新区块附加上存档标识,广播到全网进行共识;
步骤S1035、记账节点收到新区块,验证合法后记账上链;
步骤S1037、历史存档节点监听P2P(Peer to Peer,对等网络)网络中带所述存档标识的新区块,基于检测结果采用相应的操作。
进一步地,参见图3所示,所述步骤S1037具体可以包括:
若检测到区块带有存档标识,等待系统所设定的确认数达到后,根据所述区块中的存档信息启动本地存档操作;
若期间发生错误,则抛弃所述区块,重新监听;
若未发生错误,则启动存档,同步存档所设定数量的区块链片段的区块到本地,并附加一个索引分叉。
所述索引分叉与所述索引区块相关联,通过索引区块与索引分叉的关联性,可以查询到相应历史存档节点中的区块。
所述索引分叉还与相应的区块链片段相关联,以便于查询。
为了便于对上述的步骤进行理解,对其中涉及的技术术语或步骤进行详细说明。在一个应用场景中,所述系统设定的确认数是基于不同的区块链系统设定的,是数据上链成为不可逆所需要的区块确认数。例如,比特币需要6次确认,具体地,在本区块上链后还要等待5个新区块上链,才可以确定本区块数据不可逆。另外一些区块链系统不是POW机制,确认数会存在不同。
另外,本发明实施例中的所述区块链链上数据存档方法还可以包括:
所述历史存档节点完成存档区块链片段的同步后向全网广播通知;
所述记账节点收集历史存档节点发出的通知数,到达系统设定的数量后,启动链裁剪,记账节点在链裁剪后的本地链上进行正常记账,新区块不断加入,区块链延长。
其中,所述链裁剪具体包括:将所述区块链片段从所述区块链中切除,并替换为一个索引区块,所述索引区块包含有此次存档的信息。
进一步地,所述历史存档节点相互间进行日常维护,检查存档数据是否被篡改,以及所有存档区块链片段是否覆盖全部历史数据。
更进一步地,查询历史数据时,若涉及已存档信息,则通过记账节点上的索引区块与相应历史存档节点通信,获取所需数据。
可以看出,本发明提出了一种分段式区块链。之前的区块链都是从头到尾一条完整的区块链。而本申请中将区块链分为多段,分别保存在两种不同的节点群上,共同组成完整的账本。
实施例二、
在实施例一的基础上,本实施例还可以包括以下内容:
参见图4所示,本发明实施例还提出了一种区块链链上数据存档系统,其包括:
记账节点,其用于负责新区块验证和记账更新,为其他节点提供数据服务,参与同步过程;
历史存档节点,其用于维护已经存档的历史数据;
其中,当区块链延长到系统设定的容量限制值,触发存档操作;
在记账节点区块链的相应位置将被存档的第一区块链片段替换为一索引区块,所述索引区块用来指向历史存档节点的已经存档的历史数据。
实施例三、
参见图5所示,本发明还提出了一种区块链构建方法,其特征在于:
当原始区块链长度达到系统设定的容量限制值时,将所述原始区块链划分为第一段区块链和第二段区块链,所述第一段区块链中的区块的时间戳早于所述第二段区块链的时间戳;
将所述第一段区块链替换为一个索引区块,并将所述第一段区块链存储到第一节点;
通过所述索引区块寻址到所述第一段区块链中的区块;
所述索引区块与所述第二段区块链构成新的区块链,继续后续操作。
其中所述第一节点为历史存档节点,其用于存储所述第一段区块链。
当所述第二段区块链的长度再次达到系统设定的容量限制值时,再次将所述第二段区块链进行划分,同时构建第二个索引区块,与此类推。
实施例四、
在上述实施例的基础上,本实施例还包括以下内容:
将传统全节点分工为两类节点,分别使用不同机制提供不同专有功能:
记账节点,其功能和机制上对应传统全节点,负责新区块验证和记账更新,为其他节点提供数据服务,参与同步过程。然而,其仅维护有限量区块数据,多余的数据将存档到历史存档节点维护;
历史存档节点,其用于维护已经存档的历史数据,这些历史数据不参与普通同步过程,不参与新区块的验证和记账更新,但参与含有存档交易的新区块的验证和记录;通过历史存档节点相互间的日常维护机制维护数据安全;
索引区块,其中被存档的第一区块链片段在记账节点区块链的相应位置浓缩成一个索引区块,包含索引信息,用来指向相关历史存档节点;在被存档的第一区块链片段在历史存档节点处包含索引区块和索引分叉,所述索引分叉包含该区块链片段的存档信息及查询标记,所述索引分叉与所述索引区块关联。
所述查询标记是可采用分类表、排序表以及关键字等,其用于提高后期对海量数据的查询效率。
实际中,记账节点可以采用传统的全节点,一般不需要特别设置,计算机安装完软件运行便自动执行此节点功能。
而历史存档节点对机器性能的要求要高许多,包括存储能力、磁盘安全、数据查询速度等。要成为历史存档节点在操作上需要自举并被程序内部代码自检过关。因此,仅有部分性能优越的节点可作为历史存档节点使用。并且历史存档节点的数量基于实际系统需求,如果数据体量越来越大,则相应的对历史存档节点的数量也会逐步增加。
历史存档节点与记账节点的数量比例最终是以保障整个系统的运行为最低要求。
参见图1至图3所示,以下为本实施例所述方法的具体步骤:
记账节点进行正常记账,新区块不断加入,区块链延长;
当区块链延长到系统设定的容量限制值,触发存档操作,由系统启动节点负责发送一个存档指令到P2P网络;系统设定的容量限制值是以PC的平均能力来确定,PC的平均能力是随着科学技术发展不断增强;
共识节点(矿工节点)启动存档动作,将存档信息直接写成一条交易打包进新区块,新区块附加上存档标识,广播到全网进行共识;
记账节点收到新区块,验证合法后记账上链;
历史存档节点监听P2P网络中带所述存档标识的新区块,若检测到区块带有存档标识,等待系统所设定的确认数达到后,根据所述区块中的存档信息启动本地存档操作;若期间发生错误,则抛弃所述区块,重新监听;若未发生错误,则启动存档,同步存档所设定数量的区块链片段的区块到本地,并附加一个索引分叉,其可附着在首或者尾区块上;
历史存档节点完成存档区块链片段的同步后向全网广播通知;
记账节点收集历史存档节点发出的通知数,到达系统设定的数量后,启动链裁剪,即将所述区块链片段从所述区块链中切除,代之以一个索引区块,所述索引区块包含有此次存档的信息;
记账节点在链裁剪后的本地链上进行正常记账,新区块不断加入,区块链延长;
历史存档节点相互间进行日常维护,检查存档数据是否被篡改,以及所有存档区块链片段是否覆盖全部历史数据;
查询时,若涉及已存档信息,则通过记账节点上的索引区块与相应历史存档节点通信,获取所需数据。
其中,所述索引分叉与所述索引区块相关联,通过索引区块与索引分叉的关联性,可以查询到相应历史存档节点中的区块。
所述索引分叉还与相应的区块链片段相关联,以便于查询。
当区块链再次延长到系统设定的容量限制值时,再次进行链裁剪,同时在索引区块上增加一个新的索引区块。以此类推。
实施例五、
在上述实施例的基础上,本公开实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行如上实施例所述的方法步骤。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(AN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
以上介绍了本发明的较佳实施方式,旨在使得本发明的精神更加清楚和便于理解,并不是为了限制本发明,凡在本发明的精神和原则之内,所做的修改、替换、改进,均应包含在本发明所附的权利要求概括的保护范围之内。

Claims (10)

1.一种区块链链上数据存档方法,其特征在于,包括以下步骤:
步骤S101、将区块链中的传统全节点依照功能设定划分为记账节点和历史存档节点;
其中,所述记账节点负责新区块验证和记账更新,为其他节点提供数据服务,参与同步过程;
所述历史存档节点用于维护已经存档的历史数据;
步骤S103、当所述区块链延长到系统设定的容量限制值,触发存档操作;
步骤S105、在记账节点区块链的相应位置将被存档的第一区块链片段替换为一索引区块,所述索引区块用来指向历史存档节点的已经存档的历史数据。
2.如权利要求1所述方法,其特征在于,所述方法还包括:
步骤S107、在历史存档节点处所述被存档的第一区块链片段增加一索引分叉,所述索引分叉包含所述第一区块链片段的存档信息及查询标记,所述索引分叉与所述索引区块关联。
3.如权利要求1所述方法,其特征在于,所述步骤S103中所述触发存档操作包括:
步骤S1031、当区块链延长到系统设定的容量限制值,共识节点启动存档动作,将存档信息直接写成一条交易,打包进新区块。
4.如权利要求3所述方法,其特征在于,所述步骤S103中所述触发存档操作还包括:
步骤S1033、所述新区块附加上存档标识,广播到全网进行共识;
步骤S1035、所述记账节点收到新区块,验证合法后记账上链;
步骤S1037、所述历史存档节点监听P2P网络中带所述存档标识的新区块,基于监听结果采用相应的操作。
5.如权利要求4所述方法,其特征在于,所述步骤S1037具体包括:
若监听到新区块带有存档标识,等待系统所设定的确认数达到后,根据所述新区块中的存档信息启动本地存档操作;若期间发生错误,则抛弃所述新区块,重新监听;
若未发生错误,则启动存档,同步存档所设定数量的第一区块链片段的新区块到所述历史存档节点,并附加一个与所述索引区块关联的索引分叉。
6.如权利要求5所述方法,其特征在于,所述方法还包括:
所述历史存档节点完成存档所述第一区块链片段的同步后向全网广播通知;
所述记账节点收集历史存档节点发出的通知数,到达系统设定的数量后,启动链裁剪,记账节点在链裁剪后的本地链上进行正常记账。
7.如权利要求6所述方法,其特征在于,所述链裁剪具体包括:将所述第一区块链片段从所述区块链中切除,并替换为一个索引区块,所述索引区块包含有此次存档的信息。
8.如权利要求1所述方法,其特征在于,所述历史存档节点相互间进行日常维护,检查存档数据是否被篡改,以及所有存档区块链片段是否覆盖全部历史数据。
9.如权利要求1所述方法,其特征在于,查询历史数据时,若涉及已存档信息,则通过记账节点上的索引区块与相应历史存档节点通信,获取所需数据。
10.一种使用如权利要求1-9任意一项所述区块链链上数据存档方法的区块链链上数据存档系统,其特征在于,包括:
记账节点,其用于负责新区块验证和记账更新,为其他节点提供数据服务,参与同步过程;
历史存档节点,其用于维护已经存档的历史数据;
其中,当区块链延长到系统设定的容量限制值,触发存档操作;
在记账节点区块链的相应位置将被存档的第一区块链片段替换为一索引区块,所述索引区块用来指向历史存档节点的已经存档的历史数据。
CN202011166295.1A 2020-10-27 2020-10-27 一种区块链链上数据存档方法及系统 Active CN112015697B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011166295.1A CN112015697B (zh) 2020-10-27 2020-10-27 一种区块链链上数据存档方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011166295.1A CN112015697B (zh) 2020-10-27 2020-10-27 一种区块链链上数据存档方法及系统

Publications (2)

Publication Number Publication Date
CN112015697A CN112015697A (zh) 2020-12-01
CN112015697B true CN112015697B (zh) 2021-02-02

Family

ID=73527719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011166295.1A Active CN112015697B (zh) 2020-10-27 2020-10-27 一种区块链链上数据存档方法及系统

Country Status (1)

Country Link
CN (1) CN112015697B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112291376B (zh) * 2020-12-31 2021-04-09 腾讯科技(深圳)有限公司 区块链系统中的数据处理方法及相关设备
CN112948350B (zh) * 2021-02-02 2023-08-01 中央财经大学 一种基于mpt验证的分布式账本模型冷数据归档及迁移存储方法
WO2023111882A1 (en) * 2021-12-17 2023-06-22 National Payments Corporation Of India A system for data archival in a blockchain network and a method thereof
CN116561231B (zh) * 2023-07-10 2023-09-22 北京银联金卡科技有限公司 一种基于分链技术的联盟链数据处理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213767A (zh) * 2018-09-19 2019-01-15 挖财网络技术有限公司 一种适用于区块链的账户数据管理方法
CN109544393A (zh) * 2019-01-22 2019-03-29 众安信息技术服务有限公司 基于区块链的数据存储方法与装置
WO2019191378A1 (en) * 2018-03-30 2019-10-03 Spyrus, Inc. Threshold secret share authentication proof and secure blockchain voting with hardware security modules
CN110515957A (zh) * 2019-09-02 2019-11-29 深圳市网心科技有限公司 一种区块链数据存储的方法、系统、设备及可读存储介质
CN111046407A (zh) * 2019-12-13 2020-04-21 山东众阳健康科技集团有限公司 一种基于区块链的数据存储系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110765318A (zh) * 2019-09-28 2020-02-07 北京瑞卓喜投科技发展有限公司 查询区块链数据的方法及装置
CN111782889A (zh) * 2020-07-07 2020-10-16 北京钢研新材科技有限公司 基于区块链的合金材料数据共享方法、系统及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019191378A1 (en) * 2018-03-30 2019-10-03 Spyrus, Inc. Threshold secret share authentication proof and secure blockchain voting with hardware security modules
CN109213767A (zh) * 2018-09-19 2019-01-15 挖财网络技术有限公司 一种适用于区块链的账户数据管理方法
CN109544393A (zh) * 2019-01-22 2019-03-29 众安信息技术服务有限公司 基于区块链的数据存储方法与装置
CN110515957A (zh) * 2019-09-02 2019-11-29 深圳市网心科技有限公司 一种区块链数据存储的方法、系统、设备及可读存储介质
CN111046407A (zh) * 2019-12-13 2020-04-21 山东众阳健康科技集团有限公司 一种基于区块链的数据存储系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于区块链的映射技术研究;黄耀驹;《中国优秀硕士学位论文全文数据库信息科技辑》;20200715;第I138-505页 *

Also Published As

Publication number Publication date
CN112015697A (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
CN112015697B (zh) 一种区块链链上数据存档方法及系统
JP7090744B2 (ja) 分散データベースクラスタシステム、及びデータ同期方法
CN107169865B (zh) 基于区块链技术的资产数据处理系统
CN110493148B (zh) 一种区块处理、区块共识和区块同步方法及装置
CN111444196B (zh) 块链式账本中全局状态的哈希的生成方法、装置及设备
TWI733514B (zh) 儲存系統、區塊鏈網路的網路節點以及基於區塊鏈的日誌結構儲存系統
CN102012851B (zh) 一种持续数据保护方法及服务器
CN110795499B (zh) 基于大数据的集群数据同步方法、装置、设备及存储介质
CN102411639B (zh) 元数据的多副本存储管理方法和系统
CN111444192B (zh) 块链式账本中全局状态的哈希的生成方法、装置及设备
WO2021057482A1 (zh) 一种区块链中布隆过滤器的生成方法及装置
CN103197988A (zh) 一种数据备份、恢复的方法、设备和数据库系统
CN111046109A (zh) 一种跨链任务处理方法、装置、设备及可读存储介质
CN114584312B (zh) 一种共识方法、区块链系统和共识节点
CN110941676B (zh) 一种配置方法、装置、设备及介质
CN110221938A (zh) 电子装置、区块链共识的方法及存储介质
CN113326165B (zh) 基于区块链的数据处理方法、设备及计算机可读存储介质
CN113630258B (zh) 一种共识方法、区块链系统和共识节点
CN111143476A (zh) 一种基于数据库的智能合约数据快速查询方法
CN110019050A (zh) 一种数据回滚方法、系统、设备及计算机可读存储介质
CN112767110A (zh) 大数据分散上链方法及系统
CN114780285A (zh) 区块链数据恢复方法及装置、电子设备
CN113761071A (zh) 一种共识方法、区块链系统和共识节点
CN115988001A (zh) 区块链系统的共识投票处理方法、装置、设备以及介质
CN113254424B (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
GR01 Patent grant
GR01 Patent grant