CN116010517A - 基于区块链的数据处理方法、装置、设备及可读存储介质 - Google Patents
基于区块链的数据处理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN116010517A CN116010517A CN202211696650.5A CN202211696650A CN116010517A CN 116010517 A CN116010517 A CN 116010517A CN 202211696650 A CN202211696650 A CN 202211696650A CN 116010517 A CN116010517 A CN 116010517A
- Authority
- CN
- China
- Prior art keywords
- data
- blockchain
- archived
- node
- state
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于区块链的数据处理方法、装置、设备及计算机可读存储介质,应用于区块链上的任一节点,区块链上的各个节点中至少有一个节点为归档节点,方法包括:若接收到数据归档请求,则遍历本节点上存储的区块链上的各区块链数据,从各区块链数据中查找到待归档数据,其中,待归档数据包括数据标识和数据内容;将待归档数据的数据内容进行清除;若本节点为归档节点,则将待归档数据存储至区块链外,以对待归档数据进行归档。本发明实现了一种清除区块链上的待归档数据进行基于区块链的数据处理的方案,以提高区块链的存储能力。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于区块链的数据处理方法、装置、设备及计算机可读存储介质。
背景技术
随着科技的发展,区块链技术的运用也越来越频繁。随着时间的推移,区块链上的新增存储数据也会越来越多,虽然区块链的数据存储容量会随时间呈线性增长,但当数据的增长速度较快时,可能出现数据增长速度大于数据存储容量增长速度的情况,使得区块链的可存储数据容量较低,从而导致区块链的存储能力较低。
发明内容
本发明的主要目的在于提供一种基于区块链的数据处理方法、装置、设备及计算机可读存储介质,旨在提供一种清除区块链上的待归档数据进行基于区块链的数据处理的方案,以提高区块链的存储能力。
为实现上述目的,本发明提供一种基于区块链的数据处理方法,应用于区块链上的任一节点,所述区块链上的各个节点中至少有一个节点为归档节点,所述基于区块链的数据处理方法包括以下步骤:
若接收到数据归档请求,则遍历本节点上存储的所述区块链上的各区块链数据,从各所述区块链数据中查找到待归档数据,其中,所述待归档数据包括数据标识和数据内容;
将所述待归档数据的所述数据内容进行清除;
若本节点为所述归档节点,则将所述待归档数据存储至区块链外,以对所述待归档数据进行归档。
可选地,所述遍历本节点上存储的所述区块链上的各区块链数据,从各所述区块链数据中查找到待归档数据的步骤包括:
获取所述数据归档请求携带的预设数据标识,根据所述预设数据标识,遍历本节点上存储的所述区块链上的各所述区块链数据;
若各所述区块链数据中存在数据标识与所述预设数据标识相同的目标区块链数据,则获取存储于所述区块链上的区块链数据状态文件,其中,所述区块链数据状态文件包括各所述区块链数据的数据标识和数据状态之间的对应关系;
若所述区块链数据状态文件中所述目标区块链数据对应的数据状态为未归档状态,则将所述目标区块链数据作为所述待归档数据。
可选地,在所述将所述待归档数据存储至区块链外的步骤之后,还包括:
将所述区块链数据状态文件中所述目标区块链数据的数据标识对应的数据状态由未归档状态更新为已归档状态。
可选地,在所述将所述待归档数据存储至区块链外的步骤之后,还包括:
获取所述待归档数据存储至区块链外的数据存储时间;
将所述数据存储时间和所述待归档数据的数据标识记录为所述待归档数据对应的归档日志信息。
可选地,在所述将存储于所述区块链上的所述待归档数据对应的数据内容清除的步骤之后,还包括:
若接收到数据恢复请求,则根据所述数据恢复请求携带的恢复数据标识,遍历区块链外存储的已归档数据,从各所述已归档数据中查找到待恢复数据;
根据所述待恢复数据的数据标识,将所述待恢复数据的数据内容存储至所述区块链上,以对所述已归档数据进行数据恢复。
可选地,在所述将所述数据内容存储至区块链上的节点的步骤之后,还包括:
将存储于所述区块链上的区块链数据状态文件中所述待恢复数据的数据标识对应的数据状态由已归档状态更新为未归档状态。
可选地,所述基于区块链的数据处理方法包括:
若接收到数据查询请求,则根据所述数据查询请求携带的查询数据标识,对所述区块链上存储的区块链数据状态文件进行查询;
若所述查询数据标识对应的数据状态为已归档状态,则根据所述查询数据标识,对区块链外存储的已归档数据进行查询,得到待查询数据;
若所述查询数据标识对应的数据状态为未归档状态,则根据所述查询数据标识,对各所述区块链数据进行查询,得到待查询数据。
为实现上述目的,本发明还提供一种基于区块链的数据处理装置,应用于区块链上的任一节点,所述区块链上的各个节点中至少有一个节点为归档节点,所述基于区块链的数据处理装置包括:
查找模块,用于若接收到数据归档请求,则遍历本节点上存储的所述区块链上的各区块链数据,从各所述区块链数据中查找到待归档数据,其中,所述待归档数据包括数据标识和数据内容;
清除模块,用于将所述待归档数据的所述数据内容进行清除;
存储模块,用于若本节点为所述归档节点,则将所述待归档数据存储至区块链外,以对所述待归档数据进行归档。
可选地,所述查找模块还用于:
获取所述数据归档请求携带的预设数据标识,根据所述预设数据标识,遍历本节点上存储的所述区块链上的各所述区块链数据;
若各所述区块链数据中存在数据标识与所述预设数据标识相同的目标区块链数据,则获取存储于所述区块链上的区块链数据状态文件,其中,所述区块链数据状态文件包括各所述区块链数据的数据标识和数据状态之间的对应关系;
若所述区块链数据状态文件中所述目标区块链数据对应的数据状态为未归档状态,则将所述目标区块链数据作为所述待归档数据。
可选地,在所述将所述待归档数据存储至区块链外的步骤之后,所述基于区块链的数据处理装置还用于:
将所述区块链数据状态文件中所述目标区块链数据的数据标识对应的数据状态由未归档状态更新为已归档状态。
可选地,在所述将所述待归档数据存储至区块链外的步骤之后,所述基于区块链的数据处理装置还用于:
获取所述待归档数据存储至区块链外的数据存储时间;
将所述数据存储时间和所述待归档数据的数据标识记录为所述待归档数据对应的归档日志信息。
可选地,在所述将存储于所述区块链上的所述待归档数据对应的数据内容清除的步骤之后,所述基于区块链的数据处理装置还用于:
若接收到数据恢复请求,则根据所述数据恢复请求携带的恢复数据标识,遍历区块链外存储的已归档数据,从各所述已归档数据中查找到待恢复数据;
根据所述待恢复数据的数据标识,将所述待恢复数据的数据内容存储至所述区块链上,以对所述已归档数据进行数据恢复。
可选地,在所述将所述数据内容存储至区块链上的节点的步骤之后,所述基于区块链的数据处理装置还用于:
将存储于所述区块链上的区块链数据状态文件中所述待恢复数据的数据标识对应的数据状态由已归档状态更新为未归档状态。
可选地,所述基于区块链的数据处理装置还用于:
若接收到数据查询请求,则根据所述数据查询请求携带的查询数据标识,对所述区块链上存储的区块链数据状态文件进行查询;
若所述查询数据标识对应的数据状态为已归档状态,则根据所述查询数据标识,对区块链外存储的已归档数据进行查询,得到待查询数据;
若所述查询数据标识对应的数据状态为未归档状态,则根据所述查询数据标识,对各所述区块链数据进行查询,得到待查询数据。
为实现上述目的,本发明还提供一种基于区块链的数据处理设备,所述基于区块链的数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的数据处理程序,所述基于区块链的数据处理程序被所述处理器执行时实现如上所述的基于区块链的数据处理方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于区块链的数据处理程序,所述基于区块链的数据处理程序被处理器执行时实现如上所述的基于区块链的数据处理方法的步骤。
本发明应用于区块链上的任一节点,所述区块链上的各个节点中至少有一个节点为归档节点,若接收到数据归档请求,则遍历本节点上存储的所述区块链上的各区块链数据,从各所述区块链数据中查找到待归档数据,其中,所述待归档数据包括数据标识和数据内容;将所述待归档数据的所述数据内容进行清除;若本节点为所述归档节点,则将所述待归档数据存储至区块链外,以对所述待归档数据进行归档,实现了区块链的数据归档以及数据清理,避免了当区块链上的新增存储数据的增长速度较快时,可能出现数据增长速度大于数据存储容量增长速度情况的技术缺陷,节省了区块链的数据容量,从而提高了区块链的存储能力。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明基于区块链的数据处理方法第一实施例的流程示意图;
图3为本发明实施例涉及的一实施场景下的数据归档的流程示意图;
图4为本发明实施例涉及的一实施场景下的数据恢复的流程示意图;
图5为本发明实施例涉及的一实施场景下的数据查询的流程示意图;
图6为本发明基于区块链的数据处理装置较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
提出基于区块链的数据处理方法的各个实施例。
参照图2,图2为本发明基于区块链的数据处理方法第一实施例的流程示意图。
本发明实施例提供了基于区块链的数据处理方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。在本实施例中,基于区块链的数据处理方法的执行主体可以是个人电脑、智能手机等设备,在本实施例中并不做限制,以下为便于描述,省略执行主体进行各实施例的阐述。在本实施例中,所述基于区块链的数据处理方法包括:
步骤S10,若接收到数据归档请求,则遍历本节点上存储的所述区块链上的各区块链数据,从各所述区块链数据中查找到待归档数据,其中,所述待归档数据包括数据标识和数据内容;
在本实施例中,需要说明的是,所述区块链上为区块链内,所述待归档数据为存储于区块链上的需要归档至区块链外的区块链数据,所述待归档数据可以为所述区块链上使用频率较高的暖数据,也可以为所述区块链上使用频率较低的冷数据,所述待归档数据可以为一条,也可以为多条。所述区块链与外界可通过远程服务器进行通信。所述数据归档请求可以由用户发送,也可以响应于用户的操作。所述数据标识为与所述数据内容相对应的可用于索引所述数据的标识信息,所述标识信息可以为数字信息和/或字母信息,也可以为图像标记信息,还可以为数字信息和/或字母信息与图像标记信息之间的任意组合,所述数据标识信息可以为数据ID(Identity document,标识号)。
示例性地,若接收到数据归档请求,则遍历本节点上存储的所述区块链上的区块链数据,从各所述区块链数据中查找到待归档数据的数据标识和数据内容。
在可行一实施方式中,若接收到数据归档请求,则遍历本节点上存储的所述区块链上的各区块链数据,获取各所述区块链数据对应的数据标签,其中,所述数据标签包括待归档标签或者不归档标签,所述数据标签可以由用户设置,也可以由各所述已存储数据对应的数据使用频率生成;在各所述区块链数据中选取所述数据标签为所述待归档标签的目标区块链数据(以下称为目标第一区块链数据,以示区分),将所述目标第一区块链数据作为所述待归档数据。
在可行另一实施方式中,若接收到数据归档请求,则遍历本节点上存储的所述区块链上的各区块链数据,获取各所述区块链数据对应的数据使用频率,在各所述区块链数据中选取所述数据使用频率小于预设频率阈值的目标区块链数据(以下称为目标第二区块链数据,以示区分),其中,所述预设频率阈值为预先设置的判定所述区块链数据使用较频繁的所述数据使用频率的临界值,将所述目标第二区块链数据作为所述待归档数据。
可以理解的是,由于区块链为一个在分布式环境下众多可信节点共同维护的且不可篡改的账本,区块链在不断地新增数据,且区块链上的已存储数据良莠不齐,包括用户偏向使用的数据、用户不偏向使用的数据、使用频率高的数据和使用频率低的数据等等,而针对于用户不偏向使用的数据和/或使用频率低的数据,也即,所述待归档数据,则可对其进行归档,从而在不影响区块链的使用效率的前提下提高区块链的可存储数据容量。
可以理解的是,若接收到针对于数据使用频率大于预设频率阈值的目标区块链数据(以下称为目标第三区块链数据,以示区分)时,输出所述目标第三区块链数据对应的数据使用频率以提示用户,从而避免用户归档失误。
步骤S20,将所述待归档数据的所述数据内容进行清除;
在本实施例中,需要说明的是,所述区块链外为除区块链以外的可存储数据的装置或软件,所述区块链外可以为服务器、数据库、星际文件系统等其他可存储数据的装置或软件。所述数据内容为包含数据具体逻辑的内容,所述数据内容可以为交易集数据和/或读写集数据。
示例性地,将所述待归档数据的所述数据内容进行清除,将所述待归档数据的所述数据标识保留。
若检测到所述数据内容清除完毕,则通过异步执行对所述区块链的存储空间进行释放,为避免同步执行数据内容清除和存储空间释放时可能存在的数据紊乱情况的技术缺陷,通过在数据内容清除完毕后对存储空间的释放进行异步执行,从而提高了区块链的数据清除和空间释放的准确性。
在可行一实施方式中,将所述第一数据内容和所述第一数据标识信息存储至链外配置文件中,其中,所述链外配置文件包括区块链外的数据内容和数据标识信息之间的一一对应关系。
步骤S30,若本节点为所述归档节点,则将所述待归档数据存储至区块链外,以对所述待归档数据进行归档。
可以理解的是,为避免各个节点均将所述待归档数据存储至区块链外,造成区块链外存储数据库的数据冗余,因此,设置归档节点,仅当应用节点为归档节点时,才需要将待归档数据存储至区块链外,从而避免了区块链外存储数据库的数据冗余。
示例性地,若本节点为所述归档节点,则将所述待归档数据存储至区块链外,以对所述待归档数据进行归档;若本节点不为所述归档节点,则不将所述待归档数据存储至区块链外。
可选地,在所述步骤S30之后,还包括:
在可行一实施方式中,若检测到所述待归档数据对应的数据信息存储完毕,则将所述待归档数据存储至区块链外的数据存储时间以及所述带归档数据的数据标识记录为所述待归档数据对应的归档日志信息,并存储至预设归档文件,其中,所述预设归档文件包括各已归档数据对应的归档日志信息,以供用户实时查询各所述已归档数据对应的数据存储信息。
在可行一实施方式中,参照图3,图3为一实施场景下的数据归档的流程示意图,图3包括:远程服务器(图示的RPC(Remote Procedure Call,远程过程调用)server)、待归档数据(图示的区块数据)、待归档数据的数据内容(图示的交易)、待归档数据的数据标识(图示的索引),通过远程服务器在区块链上的各区块链数据进行查询,得到待归档数据,将待归档数据存储至链外,将区块链上待归档数据的数据内容进行清理,保留待归档数据的数据标识。
本发明实施例应用于区块链上的任一节点,所述区块链上的各个节点中至少有一个节点为归档节点,若接收到数据归档请求,则遍历本节点上存储的所述区块链上的各区块链数据,从各所述区块链数据中查找到待归档数据,其中,所述待归档数据包括数据标识和数据内容;将所述待归档数据的所述数据内容进行清除;若本节点为所述归档节点,则将所述待归档数据存储至区块链外,以对所述待归档数据进行归档,实现了区块链的数据归档以及数据清理,避免了当区块链上的新增存储数据的增长速度较快时,可能出现数据增长速度大于数据存储容量增长速度情况的技术缺陷,节省了区块链的数据容量,从而提高了区块链的存储能力。
进一步地,基于上述第一实施例,提出本发明基于区块链的数据处理方法第二实施例,在本实施例中,所述步骤S10包括:
步骤S11,获取所述数据归档请求携带的预设数据标识,根据所述预设数据标识,遍历本节点上存储的所述区块链上的各所述区块链数据;
在本实施例中,需要说明的是,所述预设数据标识可以为一个,也可以为多个。
在可行一实施方式中,获取所述数据归档请求携带的预设数据内容,根据所述预设数据内容,遍历本节点上存储的所述区块链上的各所述区块链数据,从各所述区块链数据中查找到待归档数据。
步骤S12,若各所述区块链数据中存在数据标识与所述预设数据标识相同的目标区块链数据,则获取存储于所述区块链上的区块链数据状态文件,其中,所述区块链数据状态文件包括各所述区块链数据的数据标识和数据状态之间的对应关系;
示例性地,若各所述区块链数据中存在数据标识与所述预设数据标识相同的目标区块链数据(以下称为目标第四区块链数据,以示区分),则获取存储于所述区块链上的区块链数据状态文件,其中,所述区块链数据状态文件包括各所述区块链数据的数据标识和数据状态之间的对应关系;若各所述区块链数据中不存在数据标识与所述预设数据标识相同的目标第四区块链数据,则返回执行步骤:获取所述数据归档请求携带的预设数据标识,直至各所述区块链数据中存在数据标识与所述预设数据标识相同的目标区块链数据。
步骤S13,若所述区块链数据状态文件中所述目标区块链数据对应的数据状态为未归档状态,则将所述目标区块链数据作为所述待归档数据。
示例性地,若所述区块链数据状态文件中所述目标区块链数据对应的数据状态为未归档状态,则将所述目标区块链数据作为所述待归档数据;若所述区块链数据状态文件中所述目标区块链数据对应的数据状态为已归档状态,则返回执行步骤:获取所述数据归档请求携带的预设数据标识,直至所述区块链数据状态文件中所述目标区块链数据对应的数据状态为未归档状态。
可以理解的是,当需要归档的所述待归档数据的数据内容为交易数据时,可直接执行上述步骤查询区块链数据,当需要归档的所述待归档数据的数据内容为业务数据时,可调用智能合约执行上述步骤查询区块链数据。
可以理解的是,由于智能合约具有规范性的特征,其将判断逻辑量化为计算机代码,在最大限度减少语言的模棱两可以及模糊性,避免了直接采用链上配置文件进行数据查询的方法时,可能存在数据查询错误情况的技术缺陷,从而提高了区块链的数据查询准确性。
其中,所述步骤S30之后,还包括:
步骤S31,将所述区块链数据状态文件中所述目标区块链数据的数据标识对应的数据状态由未归档状态更新为已归档状态。
示例性地,根据所述目标区块链数据查询所述区块链数据状态文件,得到所述目标区块链数据对应的数据状态,将所述数据状态由未归档状态更新为已归档状态。
本发明实施例中,通过获取所述数据归档请求携带的预设数据标识,根据所述预设数据标识,遍历本节点上存储的所述区块链上的各所述区块链数据;若各所述区块链数据中存在数据标识与所述预设数据标识相同的目标区块链数据,则获取存储于所述区块链上的区块链数据状态文件,其中,所述区块链数据状态文件包括各所述区块链数据的数据标识和数据状态之间的对应关系;若所述区块链数据状态文件中所述目标区块链数据对应的数据状态为未归档状态,则将所述目标区块链数据作为所述待归档数据,通过对预设数据标识进行数据是否存在和数据是否归档的判断,从而避免区块链数据不存在待归档数据和/或待归档数据的二次归档,进而提高了区块链数据归档的准确性。
进一步地,基于上述第一和/或第二实施例,提出本发明基于区块链的数据处理方法第三实施例,在本实施例中,所述步骤S20之后,还包括:
步骤S21,若接收到数据恢复请求,则根据所述数据恢复请求携带的恢复数据标识,遍历区块链外存储的已归档数据,从各所述已归档数据中查找到待恢复数据;
示例性地,若接收到数据恢复请求,则获取所述数据恢复请求携带的恢复数据标识,根据所述恢复数据标识,遍历区块链外存储的已归档数据,从各所述已归档数据中查找到待恢复数据。
步骤S22,根据所述待恢复数据的数据标识,将所述待恢复数据的数据内容存储至所述区块链上,以对所述已归档数据进行数据恢复。
示例性地,根据所述待恢复数据的数据标识,遍历本节点上存储的所述区块链上的各区块链数据,将所述待恢复数据的数据内容存储至与所述待恢复数据的数据标识相同的区块链上,以对所述已归档数据进行数据恢复。
其中,所述步骤S22之后,还包括:
步骤S23,将存储于所述区块链上的区块链数据状态文件中所述待恢复数据的数据标识对应的数据状态由已归档状态更新为未归档状态。
示例性地,根据所述待恢复数据的数据标识,查询存储于所述区块链上的所述区块链数据状态文件,得到所述待恢复数据对应的数据状态,将所述数据状态由已归档状态更新为未归档状态。
在可行一实施方式中,在检测到所述待恢复数据在区块链上恢复完毕后,通过异步执行对所述区块链的存储空间进行释放。
在可行一实施方式中,参照图4,图4为一实施场景下的数据恢复的流程示意图,图4包括:远程服务器(图示的RPC(Remote Procedure Call,远程过程调用)server)、待恢复数据(图示的完整区块数据)、待恢复数据对应的数据状态(图示的区块数据的状态),通过远程服务器在区块链外进行查询得到待恢复数据,将待恢复数据的数据信息存储至区块链,对待恢复数据进行恢复,在检测到待恢复数据恢复完毕后,通过异步执行对所述区块链的存储空间进行释放,将待恢复数据对应的数据状态修改为已恢复状态。
本发明实施例中,通过若接收到数据恢复请求,则根据所述数据恢复请求携带的恢复数据标识,遍历区块链外存储的已归档数据,从各所述已归档数据中查找到待恢复数据;根据所述待恢复数据的数据标识,将所述待恢复数据的数据内容存储至所述区块链上,以对所述已归档数据进行数据恢复,实现了区块链上已归档数据的恢复,从而可在需要用到已归档数据时,及时在区块链上对其进行恢复。
进一步地,基于上述第一和/或第二实施例和/或第三实施例,提出本发明基于区块链的数据处理方法第四实施例,在本实施例中,所述基于区块链的数据处理方法包括:
步骤A10,若接收到数据查询请求,则根据所述数据查询请求携带的查询数据标识,对所述区块链上存储的区块链数据状态文件进行查询;
在本实施例中,需要说明的是,所述待查询数据可以为一条数据,也可以为多条数据,所述一条数据可以来源于区块链上,也可以来源于区块链外。所述数据查询请求可以由用户指示确定,也可以根据区块链需要使用的数据确定。
示例性地,若接收到数据查询请求,则获取所述数据查询请求携带的查询数据标识,根据所述查询数据标识,对所述区块链上存储的区块链数据状态文件进行查询。
步骤A20,若所述查询数据标识对应的数据状态为已归档状态,则根据所述查询数据标识,对区块链外存储的已归档数据进行查询,得到待查询数据;
步骤A30,若所述查询数据标识对应的数据状态为未归档状态,则根据所述查询数据标识,对各所述区块链数据进行查询,得到待查询数据。
在可行一实施方式中,参照图5,图5为一实施场景下的数据查询的流程示意图,图5包括:远程服务器(图示的RPC(Remote Procedure Call,远程过程调用)server)。通过远程服务器在区块链上对待查询数据进行查询,得到待查询数据对应的数据状态,若数据状态信息为已归档状态,则在区块链外对待查询数据进行查询。
本发明实施例中,若接收到数据查询请求,则根据所述数据查询请求携带的查询数据标识,对所述区块链上存储的区块链数据状态文件进行查询;若所述查询数据标识对应的数据状态为已归档状态,则根据所述查询数据标识,对区块链外存储的已归档数据进行查询,得到待查询数据;若所述查询数据标识对应的数据状态为未归档状态,则根据所述查询数据标识,对各所述区块链数据进行查询,得到待查询数据,实现了区块链上的多节点查询以及区块链外的查询,从而提高了区块链上和区块链外的数据查询效率。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
需要说明的是,本发明实施例基于区块链的数据处理设备,所述基于区块链的数据处理设备可以是智能手机、个人计算机、服务器等设备,在此不做具体限制。
如图1所示,该基于区块链的数据处理设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对基于区块链的数据处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于区块链的数据处理程序。操作系统是管理和控制设备硬件和软件资源的程序,支持基于区块链的数据处理程序以及其它软件或程序的运行。在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与服务器建立通信连接;而处理器1001可以用于调用存储器1005中存储的基于区块链的数据处理程序,并执行以下操作:
确定存储于区块链上的待归档数据,其中,所述待归档数据来源于所述区块链上的至少一区块链节点;
将所述待归档数据对应的数据信息存储至区块链外,以对所述待归档数据进行归档,其中,所述数据信息包括所述待归档数据对应的数据内容;
将存储于所述区块链上的所述待归档数据对应的数据内容清除。
进一步地,所述将所述待归档数据对应的数据信息存储至区块链外,以对所述待归档数据进行归档的操作包括:
根据所述待归档数据对应的数据标识信息,查询所述区块链得到所述待归档数据对应的数据内容;
将所述待归档数据对应的数据标识信息和对应的数据内容存储至区块链外,以对所述待归档数据进行归档。
进一步地,所述根据所述待归档数据对应的数据标识信息,查询所述区块链得到所述待归档数据对应的数据内容的操作包括:
获取所述区块链对应的第一智能合约,其中,所述第一智能合约包括所述区块链上存储数据对应的数据标识信息以及对应的数据状态信息之间的对应关系;
根据所述第一智能合约,查询所述区块链得到所述待归档数据对应的数据内容。
进一步地,所述将数据信息存储至区块链外,对所述待归档数据进行归档的操作之后,处理器1001还可以用于调用存储器1005中存储的基于区块链的数据处理程序,执行以下操作:
获取所述区块链外对应的第二智能合约,其中,所述第二智能合约包括所述区块链外存储数据对应的数据标识信息以及对应的数据状态信息之间的对应关系;
根据所述待归档数据对应的数据标识信息,更新所述第二智能合约。
进一步地,所述将存储于所述区块链上的所述待归档数据对应的数据内容清除的之后,处理器1001还可以用于调用存储器1005中存储的基于区块链的数据处理程序,执行以下操作:
依据所述待归档数据对应的数据信息,对所述区块链对应的第一智能合约进行更新。
进一步地,处理器1001还可以用于调用存储器1005中存储的基于区块链的数据处理程序,执行以下操作:
若检测到针对于待恢复数据的数据恢复指令,则根据所述待恢复数据对应的数据标识信息和所述区块链外对应的第二智能合约,对所述区块链外进行查询得到所述待恢复数据对应的数据内容;
将所述待恢复数据对应的数据内容与所述区块链上所述待恢复数据对应的数据标识信息进行关联存储,以对所述待恢复数据进行区块链上的恢复。
进一步地,处理器1001还可以用于调用存储器1005中存储的基于区块链的数据处理程序,执行以下操作:
若检测到针对于待查询数据的数据查询指令,则根据所述待查询数据对应的数据标识信息,对所述区块链上对应的第一智能合约进行查询,得到查询结果分类和查询结果;
若所述查询结果分类包括数据已归档结果类别,则根据所述待查询数据对应的数据标识信息,对所述区块链外对应的第二智能合约进行查询,得到所述待查询数据对应的数据内容;
若所述查询结果分类包括数据未归档结果类别,则将所述查询结果作为所述待查询数据对应的数据内容。
此外,本发明实施例还提出一种基于区块链的数据处理装置,参照图6,应用于区块链上的任一节点,所述区块链上的各个节点中至少有一个节点为归档节点,所述基于区块链的数据处理装置包括:
查找模块10,用于若接收到数据归档请求,则遍历本节点上存储的所述区块链上的各区块链数据,从各所述区块链数据中查找到待归档数据,其中,所述待归档数据包括数据标识和数据内容;
清除模块20,用于将所述待归档数据的所述数据内容进行清除;
存储模块30,用于若本节点为所述归档节点,则将所述待归档数据存储至区块链外,以对所述待归档数据进行归档。
进一步地,所述查找模块10还用于:
获取所述数据归档请求携带的预设数据标识,根据所述预设数据标识,遍历本节点上存储的所述区块链上的各所述区块链数据;
若各所述区块链数据中存在数据标识与所述预设数据标识相同的目标区块链数据,则获取存储于所述区块链上的区块链数据状态文件,其中,所述区块链数据状态文件包括各所述区块链数据的数据标识和数据状态之间的对应关系;
若所述区块链数据状态文件中所述目标区块链数据对应的数据状态为未归档状态,则将所述目标区块链数据作为所述待归档数据。
进一步地,在所述将所述待归档数据存储至区块链外的步骤之后,所述基于区块链的数据处理装置还用于:
将所述区块链数据状态文件中所述目标区块链数据的数据标识对应的数据状态由未归档状态更新为已归档状态。
进一步地,在所述将所述待归档数据存储至区块链外的步骤之后,所述基于区块链的数据处理装置还用于:
获取所述待归档数据存储至区块链外的数据存储时间;
将所述数据存储时间和所述待归档数据的数据标识记录为所述待归档数据对应的归档日志信息。
进一步地,在所述将存储于所述区块链上的所述待归档数据对应的数据内容清除的步骤之后,所述基于区块链的数据处理装置还用于:
若接收到数据恢复请求,则根据所述数据恢复请求携带的恢复数据标识,遍历区块链外存储的已归档数据,从各所述已归档数据中查找到待恢复数据;
根据所述待恢复数据的数据标识,将所述待恢复数据的数据内容存储至所述区块链上,以对所述已归档数据进行数据恢复。
进一步地,在所述将所述数据内容存储至区块链上的节点的步骤之后,所述基于区块链的数据处理装置还用于:
将存储于所述区块链上的区块链数据状态文件中所述待恢复数据的数据标识对应的数据状态由已归档状态更新为未归档状态。
进一步地,所述基于区块链的数据处理装置还用于:
若接收到数据查询请求,则根据所述数据查询请求携带的查询数据标识,对所述区块链上存储的区块链数据状态文件进行查询;
若所述查询数据标识对应的数据状态为已归档状态,则根据所述查询数据标识,对区块链外存储的已归档数据进行查询,得到待查询数据;
若所述查询数据标识对应的数据状态为未归档状态,则根据所述查询数据标识,对各所述区块链数据进行查询,得到待查询数据。
本发明基于区块链的数据处理装置各实施例,均可参照本发明基于区块链的数据处理方法各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有基于区块链的数据处理程序,所述基于区块链的数据处理程序被处理器执行时实现如下所述的基于区块链的数据处理方法的步骤。
本发明基于区块链的数据处理设备和计算机可读存储介质各实施例,均可参照本发明基于区块链的数据处理方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于区块链的数据处理方法,其特征在于,应用于区块链上的任一节点,所述区块链上的各个节点中至少有一个节点为归档节点,所述基于区块链的数据处理方法包括以下步骤:
若接收到数据归档请求,则遍历本节点上存储的所述区块链上的各区块链数据,从各所述区块链数据中查找到待归档数据,其中,所述待归档数据包括数据标识和数据内容;
将所述待归档数据的所述数据内容进行清除;
若本节点为所述归档节点,则将所述待归档数据存储至区块链外,以对所述待归档数据进行归档。
2.如权利要求1所述的基于区块链的数据处理方法,其特征在于,所述遍历本节点上存储的所述区块链上的各区块链数据,从各所述区块链数据中查找到待归档数据的步骤包括:
获取所述数据归档请求携带的预设数据标识,根据所述预设数据标识,遍历本节点上存储的所述区块链上的各所述区块链数据;
若各所述区块链数据中存在数据标识与所述预设数据标识相同的目标区块链数据,则获取存储于所述区块链上的区块链数据状态文件,其中,所述区块链数据状态文件包括各所述区块链数据的数据标识和数据状态之间的对应关系;
若所述区块链数据状态文件中所述目标区块链数据对应的数据状态为未归档状态,则将所述目标区块链数据作为所述待归档数据。
3.如权利要求2所述的基于区块链的数据处理方法,其特征在于,在所述将所述待归档数据存储至区块链外的步骤之后,还包括:
将所述区块链数据状态文件中所述目标区块链数据的数据标识对应的数据状态由未归档状态更新为已归档状态。
4.如权利要求1所述的基于区块链的数据处理方法,其特征在于,在所述将所述待归档数据存储至区块链外的步骤之后,还包括:
获取所述待归档数据存储至区块链外的数据存储时间;
将所述数据存储时间和所述待归档数据的数据标识记录为所述待归档数据对应的归档日志信息。
5.如权利要求1所述的基于区块链的数据处理方法,其特征在于,在所述将存储于所述区块链上的所述待归档数据对应的数据内容清除的步骤之后,还包括:
若接收到数据恢复请求,则根据所述数据恢复请求携带的恢复数据标识,遍历区块链外存储的已归档数据,从各所述已归档数据中查找到待恢复数据;
根据所述待恢复数据的数据标识,将所述待恢复数据的数据内容存储至所述区块链上,以对所述已归档数据进行数据恢复。
6.如权利要求5所述的基于区块链的数据处理方法,其特征在于,在所述将所述数据内容存储至区块链上的节点的步骤之后,还包括:
将存储于所述区块链上的区块链数据状态文件中所述待恢复数据的数据标识对应的数据状态由已归档状态更新为未归档状态。
7.如权利要求1至6中任一项所述的基于区块链的数据处理方法,其特征在于,所述基于区块链的数据处理方法包括:
若接收到数据查询请求,则根据所述数据查询请求携带的查询数据标识,对所述区块链上存储的区块链数据状态文件进行查询;
若所述查询数据标识对应的数据状态为已归档状态,则根据所述查询数据标识,对区块链外存储的已归档数据进行查询,得到待查询数据;
若所述查询数据标识对应的数据状态为未归档状态,则根据所述查询数据标识,对各所述区块链数据进行查询,得到待查询数据。
8.一种基于区块链的数据处理装置,其特征在于,应用于区块链上的任一节点,所述区块链上的各个节点中至少有一个节点为归档节点,所述基于区块链的数据处理装置包括:
查找模块,用于若接收到数据归档请求,则遍历本节点上存储的所述区块链上的各区块链数据,从各所述区块链数据中查找到待归档数据,其中,所述待归档数据包括数据标识和数据内容;
清除模块,用于将所述待归档数据的所述数据内容进行清除;
存储模块,用于若本节点为所述归档节点,则将所述待归档数据存储至区块链外,以对所述待归档数据进行归档。
9.一种基于区块链的数据处理设备,其特征在于,所述基于区块链的数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的数据处理程序,所述基于区块链的数据处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的基于区块链的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于区块链的数据处理程序,所述基于区块链的数据处理程序被处理器执行时实现如权利要求1至7中任一项所述的基于区块链的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211696650.5A CN116010517A (zh) | 2022-12-28 | 2022-12-28 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211696650.5A CN116010517A (zh) | 2022-12-28 | 2022-12-28 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116010517A true CN116010517A (zh) | 2023-04-25 |
Family
ID=86034948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211696650.5A Pending CN116010517A (zh) | 2022-12-28 | 2022-12-28 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010517A (zh) |
-
2022
- 2022-12-28 CN CN202211696650.5A patent/CN116010517A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101054994B1 (ko) | 영속성 관리 방법, 장치 및 컴퓨터 판독 가능 매체 | |
CN107391632B (zh) | 数据库存储处理方法、装置、计算设备及计算机存储介质 | |
US10114765B2 (en) | Automatic recovery of application cache warmth | |
US11461267B2 (en) | Method, device and computer readable medium for accessing files | |
CN110677280B (zh) | 服务节点切换方法、装置、设备及计算机可读存储介质 | |
CN110968478B (zh) | 日志采集方法、服务器及计算机存储介质 | |
KR101365840B1 (ko) | 이벤트 모니터의 동작의 방법, 컴퓨터 판독가능 매체 및 작업 아이템 이벤트 모니터 | |
US20060161591A1 (en) | System and method for intelligent deletion of crawled documents from an index | |
EP3786802B1 (en) | Method and device for failover in hbase system | |
CN116501783A (zh) | 一种分布式数据库数据导入方法及系统 | |
US11853229B2 (en) | Method and apparatus for updating cached information, device, and medium | |
CN112685417B (zh) | 数据库操作方法、系统、装置、服务器及存储介质 | |
KR101666440B1 (ko) | 환형큐 기반의 인-메모리 데이터베이스 시스템에서의 데이터 처리방법 | |
CN110263060B (zh) | 一种erp电子附件管理方法及计算机设备 | |
CN116010517A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
US7441252B2 (en) | Cache control device, and method and computer program for the same | |
CN108959548B (zh) | 业务请求的处理方法及装置 | |
CN112306957A (zh) | 获取索引节点号的方法、装置、计算设备和存储介质 | |
US9852031B2 (en) | Computer system and method of identifying a failure | |
CN111405015B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN114844771A (zh) | 微服务系统的监测方法、装置、存储介质、程序产品 | |
CN109740027B (zh) | 数据交换方法、装置、服务器和存储介质 | |
CN106970964B (zh) | 基于共享内存的gps数据信息查询方法及系统 | |
CN109522308B (zh) | 一种连接句柄管理方法和装置 | |
CN116795296B (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 |