掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及区块链技术领域,尤其涉及一种区块链数据管理方法及装置、电子设备及介质。

背景技术

区块链系统中各个参与节点以区块为提交单位进行持久化,并长期维护所有历史交易数据。由于区块链的只可追加特性,使得单个节点维护的区块链数据量会越来越大。更紧迫地是,区块链系统中每个节点上存储的是全量数据。例如,1个有10余个节点组成的小型区块链商用系统,总体上对存储容量的需求就是单个节点的10倍之多。而在一些知名的公有区块链系统中,单个节点的区块链数据大小已突破300GB,有的区块链单个节点数据大小已经超过5TB。随之而来的是愈发增加区块链存储成本。

另一方面,在实际的区块链商用系统中,上链数据更大、更频繁,为了加快区块数据落盘速度、数据查询速度、新加入节点同步区块的速度,区块链管理服务提供者往往会选用带宽和IOPS(Input/Output Operations Per Second,每秒进行读写操作的次数)的指标都较高的设备作为存储设施。在Hyperledger Fabric区块链系统(Hyperledger Fabric区块链系统是由Linux基金会发起创建的开源区块链分布式账本)中,区块头较大,单个交易数据包数据较多,单个交易大小往往数KB,对存储设备的性能和容量要求更高。显然,这增加了企业上链的成本,尤其是联盟中的中小微企业。

因此,如何提供一种区块链数据管理方案,能够在优化区块链数据存储的同时,保证区块链数据的正常使用是本领域技术人员亟待解决的技术问题。

发明内容

本发明提供一种区块链数据管理方法及装置、电子设备及介质,能够在优化区块链数据存储的同时,保证区块链数据的正常使用。

第一方面,本发明提供一种区块链数据管理方法,包括:

获取区块链系统的当前所有区块文件的属性参数值;

基于所述属性参数值与预设阈值的关系在当前所有区块文件中确定目标归档文件;

将所述目标归档文件由当前存储区域转移到归档存储区域。

进一步地,所述获取区块链系统的当前所有区块文件的属性参数值包括:

获取区块链系统的区块链账本;

确定每个区块链账本对应的区块文件数量以及文件大小值。

进一步地,所述基于所述属性参数值与预设阈值的关系在当前所有区块文件中确定目标归档文件包括:

对每个区块链账本确定区块文件数量是否大于归档触发数量;

如果是,则将区块链账本中存档时间最长的N个区块文件作为第一目标归档文件;其中,N为账本当前区块文件数量减去留下的最小区块文件数量;所述最小区块文件数量为区块链账本至少要保留的区块文件的数量;

对每个区块链账本确定区块文件大小值是否大于归档触发大小值;

如果是,则将区块链账本中存档时间最长的区块文件作为第二目标归档文件;其中,所述第二目标归档文件的文件大小值为区块大小值减去所述归档触发大小值;

其中,所述区块文件大小值为区块链账本的所有区块文件的大小值之和。

进一步地,所述将所述目标归档文件由当前存储区域转移到归档存储区域,包括:

读取目标归档文件的区块文件路径、区块文件序列号,生成对应的归档文件绝对路径;

根据所述归档文件绝对路径转移所述目标归档文件到归档存储区域,并将当前区块数据目录下的目标归档文件拷贝到归档数据目录;

删除当前存储区块数据目录已经转移的目标归档文件;

更新归档检查点,并将所述归档检查点中的数据进行持久化存储。

进一步地,所述归档存储区域包括云存储服务器或专有文件系统服务器。

进一步地,所述基于所述属性参数值与预设阈值的关系在当前所有区块文件中确定目标归档文件包括:

统计区块链系统中所有区块链账本的全局区块文件数量以及全局文件大小值;

基于所述全局区块文件数量与第一阈值确定第一全局目标归档文件;

基于所述全局文件大小值与第二阈值确定第二全局目标归档文件;

将第一全局目标归档文件和所述第二全局目标归档文件确定为目标归档文件;

其中,当对所述第一全局目标归档文件和所述第二全局目标归档文件进行归档后,每个区块链账本剩余的区块文件数量不小于最小区块文件个数

其中,当对所述全局目标归档文件进行归档后,每个区块链账本剩余的区块文件数量不小于最小区块文件个数。

进一步地,还包括:

接收用户对区块链的离散查询请求;

响应于所述离散查询请求,获取区块链的文件位置指针;

若文件位置指针指向的区块文件编号不大于归档检查点中的区块文件编号,则从归档区块数据目录读取区块文件;若文件位置指针指向的区块文件编号大于归档检查点中的区块文件编号,则从当前区块数据目录读取区块文件,从本地的账本数据目录下查找区块文件。

进一步地,还包括:

接收用户对区块链的连续查询请求,所述连续查询请求包括目标区块查询范围区间;

若确定区块链的文件位置指针隔断所述目标区块查询范围区间,则从范围起始区块文件到隔断位置的查询使用归档区块数据目录;而大于隔断位置的区块文件数据使用本地区块数据目录。

第二方面,本发明提供一种区块链数据管理装置,包括:

参数获取模块,用于获取区块链系统的当前所有区块文件的属性参数值;

目标确定模块,用于基于所述属性参数值与预设阈值的关系在当前所有区块文件中确定目标归档文件;

目标转移模块,用于将所述目标归档文件由当前存储区域转移到归档存储区域。

进一步地,所述参数获取模块包括:

账本获取单元,用于获取区块链系统的区块链账本;

属性确定单元,用于确定每个区块链账本对应的区块文件数量以及文件大小值。

进一步地,所述目标确定模块包括:

数量确定单元,用于对每个区块链账本确定区块文件数量是否大于归档触发数量;

第一目标确定单元,用于如果是,则将区块链账本中存档时间最长的N个区块文件作为第一目标归档文件;其中,N为账本当前区块文件数量减去留下的最小区块文件数量;所述最小区块文件数量为区块链账本至少要保留的区块文件的数量;

大小确定单元,用于对每个区块链账本确定区块文件大小值是否大于归档触发大小值;

第二目标确定单元,用于如果是,则将区块链账本中存档时间最长的区块文件作为第二目标归档文件;其中,所述第二目标归档文件的文件大小值为区块大小值减去所述归档触发大小值;

其中,所述区块文件大小值为区块链账本的所有区块文件的大小值之和。

进一步地,所述目标转移模块,包括:

路径生成单元,用于读取目标归档文件的区块文件路径、区块文件序列号,生成对应的归档文件绝对路径;

文件转移单元,用于根据所述归档文件绝对路径转移所述目标归档文件到归档存储区域,并将当前区块数据目录下的目标归档文件拷贝到归档数据目录;

文件删除单元,用于删除当前存储区块数据目录已经转移的目标归档文件;

目录更新单元,用于更新归档检查点,并将所述归档检查点中的数据进行持久化存储。

进一步地,所述归档存储区域包括云存储服务器或专有文件系统服务器。

进一步地,所述目标确定模块包括:

全局属性统计单元,用于统计区块链系统中所有区块链账本的全局区块文件数量以及全局文件大小值;

全局目标文件确定单元,用于基于所述全局区块文件数量与第一阈值确定第一全局目标归档文件;基于所述全局文件大小值与第二阈值确定第二全局目标归档文件;将第一全局目标归档文件和所述第二全局目标归档文件确定为目标归档文件;

其中,当对所述第一全局目标归档文件和所述第二全局目标归档文件进行归档后,每个区块链账本剩余的区块文件数量不小于最小区块文件个数

其中,当对所述全局目标归档文件进行归档后,每个区块链账本剩余的区块文件数量不小于最小区块文件个数。

进一步地,还包括:

离散查询请求模块,用于接收用户对区块链的离散查询请求;

第一响应模块,用于响应于所述离散查询请求,获取区块链的文件位置指针;

离散查询模块,用于若文件位置指针指向的区块文件编号不大于归档检查点中的区块文件编号,则从归档区块数据目录读取区块文件;若文件位置指针指向的区块文件编号大于归档检查点中的区块文件编号,则从当前区块数据目录读取区块文件,从本地的账本数据目录下查找区块文件。

进一步地,还包括:

连续查询请求模块,用于接收用户对区块链的连续查询请求,所述连续查询请求包括目标区块查询范围区间;

连续查询模块,用于若确定区块链的文件位置指针隔断所述目标区块查询范围区间,则从范围起始区块文件到隔断位置的查询使用归档区块数据目录;而大于隔断位置的区块文件数据使用本地区块数据目录。

第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述区块链数据管理方法的步骤。

第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述区块链数据管理方法的步骤。

本发明提供的一种区块链数据管理方法及装置、电子设备及介质,通过基于当前所有区块文件的属性参数值确定在当前所有区块文件确定目标归档文件,并且进行归档,从而可以在以较小的存储资源预算,实现区块链系统中账本数据持久化所需的大容量存储和高性能写盘、查询需求,归档的文件可以放在特定的归档存储区域,能够在优化区块链数据存储的同时,保证区块链数据的正常使用。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种区块链数据管理方法的流程图之一;

图2为本发明实施例提供的区块链节点上的账本数据组织逻辑模型结构示意图;

图3为本发明实施例提供的一种区块链数据管理方法的流程图之二;

图4为本发明实施例提供的一种区块链数据管理方法的应用账本模型示意图;

图5为本发明实施例提供的一种区块链数据管理装置的结构示意图;

图6是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合图1-图3描述本发明的区块链数据管理方法。

图1为本发明实施例提供的一种区块链数据管理方法的流程图之一;图2为本发明实施例提供的区块链节点上的账本数据组织逻辑模型结构示意图;图3为本发明实施例提供的一种区块链数据管理方法的流程图之二。

在本发明一种具体实施方式中,本发明提供一种区块链数据管理方法,包括:

步骤110:获取区块链系统的当前所有区块文件的属性参数值;

在本发明实施例中,为了进一步降低客户使用区块链服务产生的存储成本,同时依旧享有新的区块数据快速落盘、区块(交易)查询响应速度快、新节点较快的同步速度,本发明实施例提出区块数据归档方法,旨在以较小的存储资源预算,实现区块链系统中账本数据持久化所需的大容量存储和高性能写盘、查询需求。

本发明实施例的基本思想是将区块数据持久化存储的大容量需求和读写磁盘的性能问题分别进行处理。通过高配小容量或中等容量的高性能存储设施维护最近区块数据,以满足区块数据落盘、查询所要求的性能;而通过低配大容量的存储设施维护历史区块数据,满足容量需求,也就是进行归档区块文件的存储。

在本发明实施例中,针对多账本设计的区块链系统,当然也可以是单账本设计的区块链系统。每个账本的区块在功能上分为配置区块和普通区块,其中配置区块仅包含1个账本配置交易,普通区块包含1个或多个普通交易,每个普通区块包含最近配置区块的编号。配置区块主要对用户身份认证和访问权限进行控制。一般的,当新成员加入(成员退出)、更新管理员用户证书时会产生1个新的配置区块。普通区块中会包含最近的配置区块高度。区块以区块数据文件的形式组织,1个区块文件通常包含多个区块。区块文件的大小可灵活设置。1个账本通常对应多个区块数据文件。每个区块所在的区块文件编号及其在当前所有区块文件的起始偏移、区块内交易ID及在块内偏移量会以索引的形式保存在索引数据库中。目的是为了加快区块和交易查询速度,该机制对区块链系统正常运转至关重要。本发明也适用于多种节点类型的区块链系统。例如,共识和记账分离的区块链系统,即共识节点和记账节点都持有区块数据。图2是区块链节点上的账本数据组织逻辑模型。

在本发明实施例中,首先可以获取区块链系统的区块链账本;然后确定每个区块链账本对应的区块文件数量以及文件大小值。也就是说,可以获取在区块链系统中到底存在几个区块链账本,并且确定每个区块链对应的区块文件个数和整个账本的区块文件的总文件大小值。

步骤120:基于所述属性参数值与预设阈值的关系在当前所有区块文件中确定目标归档文件;

具体地,在获取了区块链账本的属性参数值后,可以根据区块链账本的数量确定需要归档的目标归档文件,具体地,可以包括单账本层面的归档配置和多账本全局层面2种配置方式。

对于单账本层面归档配置。每个账本的归档受最大区块文件个数、最大区块文件数据量、最小区块文件个数3个参数控制。这些参数的具体作用说明如下:

(1)最大区块文件个数指定当前账本触发归档的区块文件应大于该参数。

(2)最大区块文件数据量指定当前账本触发归档的区块文件数据量应大于该参数。单位可以是KB、MB、GB等。

(3)最小区块文件个数指定当前账本应保留的区块文件个数。一般的,最大区块文件个数应严格大于最小区块文件个数。

只有当且仅当当前账本的区块文件个数超过配置的最大区块文件个数或累计的区块文件大小超过配置的最大区块文件数据量才触发归档模块。

若每个账本的区块文件个数大于配置的最小区块个数但不满足配置的最大区块文件个数或最大区块文件大小,此时不满足账本层面的归档。但是这些区块数据文件及其区块数据大小会对全局的归档配置做出贡献。

本发明因为考虑到多账本的区块链系统,它们往往支持多个账本,每个账本就是1个逻辑上的区块链。当账本层面不满足归档,但每个账本当前的区块文件又超过配置的最小区块文件时,会进一步检查是否满足全局归档条件。

(b)对于多账本全局层面配置,也就是全局归档的情况,全局归档条件受全局最大区块文件个数和全局最大区块文件数据量2个参数控制,满足任意1个皆可以进行文件归档。全局最大区块文件个数(全局最大区块文件数据量)是每个账本当前所有区块文件个数(区块文件数据量)的总和。在全局归档下,会对当前所有的账本按区块文件数量降序排列,即优先归档区块文件更多(区块数据量更大)的账本。当然,此时每个区块链账本仍要保留账本层面配置的最小区块文件个数。

具体地,在进行全局区块链系统的归档时,可以首先统计区块链系统中所有区块链账本的全局区块文件数量以及全局文件大小值;基于所述全局区块文件数量与第一阈值确定第一全局目标归档文件;

基于所述全局文件大小值与第二阈值确定第二全局目标归档文件;

将第一全局目标归档文件和所述第二全局目标归档文件确定为目标归档文件;

其中,当对所述第一全局目标归档文件和所述第二全局目标归档文件进行归档后,每个区块链账本剩余的区块文件数量不小于最小区块文件个数。

也就是说,为了实现基于所述属性参数值与预设阈值的关系在当前所有区块文件中确定目标归档文件可以基于文件数量进行归档文件的确定,也可以基于文件大小进行归档文件的确定,但是在归档后也要保证每个区块链账本的最小区块文件数量。具体地,可以对每个区块链账本确定区块文件数量是否大于归档触发数量;如果是,则将区块链账本中存档时间最长的N个区块文件作为第一目标归档文件;其中,N为账本当前区块文件数量减去留下的最小区块文件数量;所述最小区块文件数量为区块链账本至少要保留的区块文件的数量;或对每个区块链账本确定区块文件大小值是否大于归档触发大小值;如果是,则将区块链账本中存档时间最长的区块文件作为第二目标归档文件;其中,所述第二目标归档文件的文件大小值为区块大小值减去所述归档触发大小值;其中,所述区块文件大小值为区块链账本的所有区块文件的大小值之和。

步骤130:将所述目标归档文件由当前存储区域转移到归档存储区域。

在确定了目标归档文件(可以是第一目标归档文件,也可以是第二目标归档文件)后,可以对这些目标归档文件进行归档操作,具体地,可以将所述目标归档文件由当前存储区域转移到归档存储区域,包括:

步骤210:读取目标归档文件的区块文件路径、区块文件序列号,生成对应的归档文件绝对路径;

步骤220:根据所述归档文件绝对路径转移所述目标归档文件到归档存储区域,并将当前区块数据目录下的目标归档文件拷贝到归档数据目录;

步骤230:删除当前存储区块数据目录已经转移的目标归档文件;

步骤240:更新归档检查点,并将所述归档检查点中的数据进行持久化存储。

具体地,在实践中,可以将将账本状态切换到归档状态;然后读取要归档账本下的区块文件路径、区块文件序列号,生成对应的归档文件绝对路径;其次,可以执行文件拷贝操作,将正常的区块数据目录下的区块文件拷贝1份到归档数据目录;在此,可以更新归档检查点中的区块文件序号,同时对最新的归档检查点信息进行持久化存储;紧接着在正常的区块数据目录下裁剪掉已归档的区块文件,腾出有限的存储空间;重复进行操作,直到将当前批次需要归档的目标归档文件全部归档完毕。在归档完毕后,可以重置账本状态、等待下一次归档检查。具体地,文件系统归档,即将归档的区块数据文件转存到本机文件系统归档目录下(该目录可按需挂载相应配置的磁盘或存储设施)。外部存储系统,即将归档的区块数据转存到云存储或专有文件系统服务。

而且,在进行归档信息的查询时,可以在归档检查点信息优选使用键值数据库存储,具体可以可用专用的键存储。在本发明实施例中可以使用两种归档模式,即自动归档模式和手动归档模式。自动归档模式是在区块链共识节点或记账节点运行过程中,共识或记账节点后台执行的归档模块根据归档配置模块设定的定时任务参数自动激活,若满足归档条件则归档区块数据文件。自动归档模式配置启动后不需要人为干预,能够根据配置规则及时归档区块数据文件。手动归档模式是在区块链共识节点或记账节点暂停状态下,通过归档工具完成归档操作。

请参考图4,图4为本发明实施例提供的一种区块链数据管理方法的应用账本模型示意图。

在本发明的又一具体实施方式中,区块数据归档不仅要做到腾出有限容量的高性能存储空间,同时还要满足区块链系统运行中的查询需要,不管该查询请求是来自业务层面还是区块链系统设计本身存在查询设计。本发明实施例支持归档区块数据和正常账本数据作为数据源的查询需求。

本发明实施例中的区块数据存在于两个不同的存储位置,因此称为双源区块,进行查询的基本处理思想是优先从区块(交易)索引库中读取归档检查点信息,再判断是否切换查询目录。根据查询请求的来源,可以分为离散查询和连续查询。离散查询通常来自区块链系统的客户端应用;连续查询多见于区块链系统节点间的数据交换。例如,记账节点从排序节点拉取区块。两种查询具体工作如下:

对于离散查询,即从某个特定的区块文件中查询某个区块(交易),可以进行以下步骤:接收用户对区块链的离散查询请求;响应于所述离散查询请求,获取区块链的文件位置指针;若文件位置指针指向的区块文件编号不大于归档检查点中的区块文件编号,则从归档区块数据目录读取区块文件;若文件位置指针指向的区块文件编号大于归档检查点中的区块文件编号,则从当前区块数据目录读取区块文件,从本地的账本数据目录下查找区块文件。

对于连续查询,即查询的区块文件是1个范围区间,该区间起始区块文件可能位于归档的区块数据目录,结束区块文件可能在正常的账本区块数据目录。此时的处理方式略有不同。比较复杂的1种情况是,若归档检查点中区块文件编号隔断范围区间,则范围起始区块文件到隔断点中的查询会使用归档区块数据目录,而大于隔断点的区块文件数据使用正常的区块数据目录。

也就是说,在一般的情况下,图4中的正常账本数据中的当前区块数据已经可以满足一般的查询需求,优先在当前区块数据中进行查询,而如果在当前区块数据中不能查询到需要的数据,则需要查询与当前区块数据对应的归档区块数据,当前区块数据与归档区块数据在区块链账本上属于连续的区块数据。

此外,鉴于配置区块对某些区块链系统的节点正常运行的重要性,本发明将最近的配置区块统一存储到专用的最近配置区块文件中,保证区块链节点顺利重启。区块链节点加载配置区块时优先从最近的配置区块文件中获取。

为了实现连续查询,具体地可以进行以下步骤:接收用户对区块链的连续查询请求,所述连续查询请求包括目标区块查询范围区间;若确定区块链的文件位置指针隔断所述目标区块查询范围区间,则从范围起始区块文件到隔断位置的查询使用归档区块数据目录;而大于隔断位置的区块文件数据使用本地区块数据目录。

本发明实施例能够对占用高性能存储设施的历史区块数据文件进行归档,释放宝贵的存储资源以接收新的区块数据,同时支持用户对归档的历史区块、历史交易数据查询的需求。就使用体验而言,用户是无感知的,用户是无法区分节点数据是否已被归档。就区块链服务成本而言,应用本发明后的区块链服务会极大地降低存储预算。这是本发明所带来的最直接的经济效应。为潜在的区块链用户带来显著的预算开支节省,加速区块链服务普惠化进程。这是本发明所产生的最直接的社会效益,本发明实施例围绕检查点机制、状态转移机制建立了一套归档方法,可支持单账本、多账本的归档;归档实现方式多样,既可支持文件系统归档,也支持外部存储系统归档;归档触发模式支持自动归档和手动归档。

下面对本发明提供的区块链数据管理装置进行描述,下文描述的区块链数据管理装置与上文描述的区块链数据管理方法可相互对应参照。

请参考图5,图5为本发明实施例提供的一种区块链数据管理装置的结构示意图。

在本发明又一具体实施方式中,本发明提供一种区块链数据管理装置500,包括:

参数获取模块510,用于获取区块链系统的当前所有区块文件的属性参数值;

目标确定模块520,用于基于所述属性参数值与预设阈值的关系在当前所有区块文件中确定目标归档文件;

目标转移模块530,用于将所述目标归档文件由当前存储区域转移到归档存储区域。

进一步地,所述参数获取模块包括:

账本获取单元,用于获取区块链系统的区块链账本;

属性确定单元,用于确定每个区块链账本对应的区块文件数量以及文件大小值。

进一步地,所述目标确定模块包括:

数量确定单元,用于对每个区块链账本确定区块文件数量是否大于归档触发数量;

第一目标确定单元,用于如果是,则将区块链账本中存档时间最长的N个区块文件作为第一目标归档文件;其中,N为账本当前区块文件数量减去留下的最小区块文件数量;所述最小区块文件数量为区块链账本至少要保留的区块文件的数量;

大小确定单元,用于对每个区块链账本确定区块文件大小值是否大于归档触发大小值;

第二目标确定单元,用于如果是,则将区块链账本中存档时间最长的区块文件作为第二目标归档文件;其中,所述第二目标归档文件的文件大小值为区块大小值减去所述归档触发大小值;

其中,所述区块文件大小值为区块链账本的所有区块文件的大小值之和。

进一步地,所述目标转移模块,包括:

路径生成单元,用于读取目标归档文件的区块文件路径、区块文件序列号,生成对应的归档文件绝对路径;

文件转移单元,用于根据所述归档文件绝对路径转移所述目标归档文件到归档存储区域,并将当前区块数据目录下的目标归档文件拷贝到归档数据目录;

文件删除单元,用于删除当前存储区块数据目录已经转移的目标归档文件;

目录更新单元,用于更新归档检查点,并将所述归档检查点中的数据进行持久化存储。

进一步地,所述归档存储区域包括云存储服务器或专有文件系统服务器。

进一步地,所述目标确定模块包括:

全局属性统计单元,用于统计区块链系统中所有区块链账本的全局区块文件数量以及全局文件大小值;

全局目标文件确定单元,用于基于所述全局区块文件数量与第一阈值确定第一全局目标归档文件;

基于所述全局文件大小值与第二阈值确定第二全局目标归档文件;

将第一全局目标归档文件和所述第二全局目标归档文件确定为目标归档文件;

其中,当对所述第一全局目标归档文件和所述第二全局目标归档文件进行归档后,每个区块链账本剩余的区块文件数量不小于最小区块文件个数。

进一步地,还包括:

离散查询请求模块,用于接收用户对区块链的离散查询请求;

第一响应模块,用于响应于所述离散查询请求,获取区块链的文件位置指针;

离散查询模块,用于若文件位置指针指向的区块文件编号不大于归档检查点中的区块文件编号,则从归档区块数据目录读取区块文件;若文件位置指针指向的区块文件编号大于归档检查点中的区块文件编号,则从当前区块数据目录读取区块文件,从本地的账本数据目录下查找区块文件。

进一步地,还包括:

连续查询请求模块,用于接收用户对区块链的连续查询请求,所述连续查询请求包括目标区块查询范围区间;

连续查询模块,用于若确定区块链的文件位置指针隔断所述目标区块查询范围区间,则从范围起始区块文件到隔断位置的查询使用归档区块数据目录;而大于隔断位置的区块文件数据使用本地区块数据目录。

图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行区块链数据管理方法,该方法包括:获取区块链系统的当前所有区块文件的属性参数值;基于所述属性参数值与预设阈值的关系在当前所有区块文件中确定目标归档文件;将所述目标归档文件由当前存储区域转移到归档存储区域。

此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的区块链数据管理方法,该方法包括:获取区块链系统的当前所有区块文件的属性参数值;基于所述属性参数值与预设阈值的关系在当前所有区块文件中确定目标归档文件;将所述目标归档文件由当前存储区域转移到归档存储区域。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的区块链数据管理方法,该方法包括:获取区块链系统的当前所有区块文件的属性参数值;基于所述属性参数值与预设阈值的关系在当前所有区块文件中确定目标归档文件;将所述目标归档文件由当前存储区域转移到归档存储区域。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术分类

06120112881191