CN113254264A - 一种区块链的数据备份方法、装置及存储介质 - Google Patents

一种区块链的数据备份方法、装置及存储介质 Download PDF

Info

Publication number
CN113254264A
CN113254264A CN202110401426.8A CN202110401426A CN113254264A CN 113254264 A CN113254264 A CN 113254264A CN 202110401426 A CN202110401426 A CN 202110401426A CN 113254264 A CN113254264 A CN 113254264A
Authority
CN
China
Prior art keywords
node
backup
data
contract
backup node
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.)
Granted
Application number
CN202110401426.8A
Other languages
English (en)
Other versions
CN113254264B (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.)
Zhuo Erzhi Lian Wuhan Research Institute Co Ltd
Original Assignee
Zhuo Erzhi Lian Wuhan Research Institute 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 Zhuo Erzhi Lian Wuhan Research Institute Co Ltd filed Critical Zhuo Erzhi Lian Wuhan Research Institute Co Ltd
Priority to CN202110401426.8A priority Critical patent/CN113254264B/zh
Publication of CN113254264A publication Critical patent/CN113254264A/zh
Application granted granted Critical
Publication of CN113254264B publication Critical patent/CN113254264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开一种区块链的数据备份方法,包括:区块链中的主节点基于所述至少一个备份节点的在线时长、掉线率和数据同步的正确率至少之一进行正序排序,确认排在最前的至少一个备份节点为所述第一备份节点;所述主节点确定所述主节点与所述第一备份节点之间的第一合约;所述主节点基于所述第一合约向所述第一备份节点发送第一数据;所述第一数据用于所述第一备份节点备份所述第一数据。本申请还公开一种区块链的数据备份装置和存储介质,通过本申请公开的区块链的数据备份方法、装置和存储介质,可以提升数据的安全性。

Description

一种区块链的数据备份方法、装置及存储介质
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链的数据备份方法、装置及存储介质。
背景技术
在区块链的分布式存储***中,通常会用到星际文件***(Inter PlanetaryFile System,IPFS)进行数据存储,将重要数据备份在某一个节点中;但是存储在单个节点的数据仍然存在丢失的可能。如果单个节点出现故障,可能导致无法找到对应的数据,产生异常。因此,如何提升备份数据的安全性,是亟需解决的技术问题。
发明内容
本申请实施例提供一种区块链的数据备份方法、装置及存储介质,可以提升区块链中备份数据的安全性。
本申请实施例的技术方案是这样实现的:
第一方面,本申请提供一种区块链的数据备份方法,包括:
区块链中的主节点基于至少一个备份节点对应的行为信息确定第一备份节点;
所述主节点确定所述主节点与所述第一备份节点之间的第一合约;
所述主节点基于所述第一合约向所述第一备份节点发送第一数据;所述第一数据用于所述第一备份节点备份所述第一数据。
上述方案中,所述区块链中的主节点基于至少一个备份节点对应的行为信息确定第一备份节点,包括:
所述主节点基于所述至少一个备份节点的在线时长、掉线率和数据同步的正确率至少之一进行正序排序,确认排在最前的至少一个备份节点为所述第一备份节点。
上述方案中,所述方法还包括:
所述主节点向所述第一备份节点发送第一请求信息;所述第一请求信息用于请求所述第一备份节点的备份信息;所述第一备份节点的备份信息至少包括所述第一备份节点对应的数据信息和所述第一备份节点对应的行为信息;
基于所述第一备份节点的备份信息,确定所述主节点和第一备份节点之间能否进行数据备份。
上述方案中,所述主节点确定第一合约包括:
所述主节点将使用第一密钥加密的所述第一合约发送至所述第一备份节点;
接收使用第二密钥加密的所述第一合约;所述使用第二密钥加密的第一合约中包括所述第一合约的建立时间和所述第一合约的持续时间区间;
在所述第一合约的持续时间区间内,所述主节点基于所述第一合约向所述第一备份节点发送所述第一数据;
所述第一密钥与所述第二密钥为密钥对。
上述方案中,所述基于所述第一合约,所述主节点向所述第一备份节点发送第一数据,包括:
在所述主节点需要备份数据的情况下,所述主节点将需要备份的所述第一数据存储至所述第一合约中,生成第二合约,将基于第一密钥加密的所述第二合约发送至所述第一备份节点;
若所述第一备份节点确认备份所述第一数据,则所述主节点接收基于第二密钥加密的所述第二合约。
上述方案中,所述方法还包括以下之一:
第三节点确认所述第一数据在所述主节点的哈希值和所述第一数据在所述第一备份节点的哈希值是否相同;若所述第一数据在所述主节点的哈希值和所述第一数据在所述第一备份节点的哈希值不同,则使用第二备份节点替换所述第一备份节点;
所述第三节点确认所述第一备份节点的在线时长;若所述第一备份节点的在线时长小于第一阈值,则使用第二备份节点替换所述第一备份节点;
所述第三节点确认所述第一备份节点的掉线率;若所述第一备份节点的掉线率大于或等于第二阈值,则使用第二备份节点替换所述第一备份节点;
其中,所述第三节点包括区块链上除所述主节点和所述第一备份节点以外的节点。
第二方面,本申请实施例提供一种区块链的数据备份方法,包括:
第一备份节点基于主节点发送的第一请求信息,向所述主节点发送所述第一备份节点的备份信息;
所述第一备份节点确定所述主节点与所述第一备份节点之间的第一合约;
所述第一备份节点基于所述第一合约,接收所述主节点发送的第一数据。
上述方案中,所述第一备份节点确定第一合约包括:
接收主节点发送的使用第一密钥加密的第一合约;
若所述第一备份节点认同所述第一合约,所述第一备份节点将使用第二密钥加密的第一合约发送至所述主节点;
在所述第一合约的持续时间区域内,所述第一备份节点基于所述第一合约接收所述主节点发送的第一数据;和/或,所述第一备份节点存储所述主节点发送的所述第一数据;
所述第一密钥与所述第二密钥为密钥对。
上述方案中,所述基于所述第一合约,所述第一备份节点接收所述主节点发送的第一数据,包括:
接收基于第一密钥加密的所述第二合约;所述第二合约包括所述第一数据和所述第一合约;
若所述第一备份节点确认备份所述第一数据,则所述第一备份节点向所述主节点发送基于第二密钥加密的所述第二合约;
所述第一备份节点存储所述第一数据。
第三方面,本申请实施例提供一种区块链的数据备份装置,所述装置包括:
第一确定单元,用于基于至少一个备份节点对应的行为信息确定第一备份节点;确定所述主节点与所述第一备份节点之间的第一合约;
第一发送单元,用于基于所述第一合约向所述第一备份节点发送第一数据;所述第一数据用于所述第一备份节点备份所述第一数据。
第四方面,本申请实施例提供一种区块链的数据备份装置,所述装置包括:
第二发送单元,用于基于主节点发送的第一请求信息,向所述主节点发送所述第一备份节点的备份信息;
第二确定单元,用于确定所述主节点与所述第一备份节点之间的第一合约;
第二接收单元,用于接收所述主节点发送的第一数据。
第五方面,本申请实施例提供一种存储介质,存储有可执行程序,所述可执行程序被处理器执行时,实现上述区块链的数据备份装置执行的区块链的数据备份方法。
第六方面,本申请实施例提供一种区块链的数据备份装置,所述区块链的数据备份装置使得处理器执行上述区块链的数据备份装置。
本申请实施例提供的区块链的数据备份方法、装置及存储介质,区块链中的主节点基于至少一个备份节点对应的行为信息确定第一备份节点;所述主节点确定所述主节点与所述第一备份节点之间的第一合约;所述主节点基于所述第一合约向所述第一备份节点发送第一数据;所述第一数据用于所述第一备份节点备份所述第一数据。如此,可以提升备份数据的安全性。。
附图说明
图1为本申请实施例提供的区块链的数据备份方法的一种可选流程示意图;
图2为本申请实施例提供的区块链的数据备份方法的另一种可选流程示意图;
图3为本申请实施例提供的区块链的数据备份方法的又一种可选流程示意图;
图4为本申请实施例提供的区块链的数据备份方法的再一种可选流程示意图;
图5为本申请实施例提供的区块链中主节点的可选结构示意图;
图6为本申请实施例提供的区块链中第一备份节点的可选结构示意图;
图7为本申请实施例提供的区块链的数据备份装置的硬件组成结构示意图。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在区块链的分布式存储***中,通常会用到IPFS技术,但是存储在单个节点的数据仍然存在丢失的可能。如果单个节点出现故障,可能导致***无法找到对应的数据,产生异常。
特别是,现有IPFS***中,通常采用的一种备份方式是将数据直接备份在分布式的服务器本地,或者将数据单独集中备份在一个新的服务器中。但是这类备份方法均存在不足,一旦备份节点出现故障,整个***的安全性都将会受到影响。
基于区块链的备份方法中存在的问题,本申请提出一种区块链的数据备份方法,能够解决现有技术方案中无法解决的技术难题和缺点。
图1示出了本申请实施例提供的区块链的数据备份方法的一种可选流程示意图,将根据各个步骤进行说明。
步骤S101,区块链中的主节点基于所述至少一个备份节点的在线时长、掉线率和数据同步的正确率至少之一进行正序排序,确认排在最前的至少一个备份节点为所述第一备份节点。
在一些实施例中,区块链中的主节点基于至少一个备份节点对应的行为信息确定第一备份节点。其中,所述至少一个备份节点对应的行为信息可以至少包括:至少一个备份节点的在线时长、掉线率和数据同步的正确率之一;所述第一备份节点包括至少一个备份节点。
在一些实施例中,所述主节点基于所述至少一个备份节点的在线时长、掉线率和数据同步的正确率至少之一进行正序排序,确认排在最前的至少一个备份节点为所述第一备份节点。
具体实施时,所述主节点对所述至少一个备份节点的在线时长、掉线率和数据同步的正确率进行加权求和,确认综合值,基于所述综合值对所述至少一个备份节点进行正序排序。其中,所述在线时长、掉线率和数据同步的正确率的权重因子完全不同或不完全相同。
具体实施时,所述主节点还可以基于所述待备份数据的重要程度等级,确定第一备份节点。例如,若所述待备份数据为重要数据,则确认综合值大于第一数值的至少一个备份节点为所述第一备份节点(例如大于第一数值的至少一个备份节点为位于第一位至第a位的备份节点);若所述待备份数据为一般重要数据,则确认综合值小于或等于第一数值,且大于第二数值的至少一个备份节点为所述第一备份节点(例如小于或等于第一数值,且大于第二数值的至少一个备份节点为位于在第a+1位至第b位的备份节点);若所述待备份的数据为非重要数据,则确认综合值小于或等于第二数值,且大于第三数值至少一个备份节点为所述第一备份节点(例如小于或等于第二数值,且大于第三数值的至少一个备份节点为位于在第b+1位至第c位的备份节点)。其中,a、b、c均为正整数;a<b<c。
步骤S102,主节点确定所述主节点与所述第一备份节点之间的第一合约。
在一些实施例中,所述区块链中的主节点确定所述主节点与所述第一备份节点之间的第一合约。
具体实施时,所述主节点向所述第一备份节点发送第一请求信息;所述第一请求信息用于请求所述第一备份节点的备份信息;所述第一备份节点的备份信息至少包括所述第一备份节点对应的数据信息和所述第一备份节点对应的行为信息;基于所述第一备份节点的备份信息,确定所述主节点和所述第一备份节点之间能否进行数据备份。
若确认所述主节点和所述第一备份节点之间能够进行数据备份,所述方法还包括:
所述主节点将使用第一密钥加密的所述第一合约发送至所述第一备份节点;接收所述第一备份节点发送的使用第二密钥加密的所述第一合约;所述使用第二密钥加密的第一合约中包括所述第一合约的建立时间和所述第一合约的持续时间区间;在所述第一合约的持续时间区间内,所述主节点基于所述第一合约向所述第一备份节点发送所述第一数据;所述第一密钥与所述第二密钥为密钥对。
步骤S103,所述主节点基于所述第一合约向所述第一备份节点发送第一数据。
在一些实施例中,所述主节点基于所述第一合约向所述第一备份节点发送第一数据;所述第一数据用于所述第一备份节点备份所述第一数据。
具体实施时,在所述主节点需要备份数据的情况下,所述主节点将需要备份的所述第一数据存储至所述第一合约中,生成第二合约,将基于第一密钥加密的所述第二合约发送至所述第一备份节点;若所述第一备份节点确认备份所述第一数据,则所述主节点接收基于第二密钥加密的所述第二合约。
可选的,所述主节点接收基于第二密钥加密的所述第二合约后的第一时间区间内,所述主节点还可以向所述第一备份节点发送第三数据;相应地,所述第一备份节点直接备份所述第三数据。
如此,通过本申请实施例提供的区块链的数据备份方法,区块链中的主节点基于至少一个备份节点对应的行为信息确定第一备份节点;所述主节点确定所述主节点与所述第一备份节点之间的第一合约;所述主节点基于所述第一合约向所述第一备份节点发送第一数据;所述第一数据用于所述第一备份节点备份所述第一数据;提升了IPFS***中数据备份的安全性,数据备份的流程中,所述主节点和所述第一备份节点基于第一合约执行数据备份,减少了外部的干预,同时还可以避免恶意节点篡改数据的概率。
图2示出了本申请实施例提供的区块链的数据备份方法的另一种可选流程示意图,将根据各个步骤进行说明。
步骤S201,第一备份节点基于主节点发送的第一请求信息,向所述主节点发送所述第一备份节点的备份信息。
在一些实施例中,所述第一备份节点接收所述主节点发送的第一请求信息;所述第一请求信息用于请求所述第一备份节点的备份信息。其中,所述第一备份节点的备份信息至少包括所述第一备份节点对应的数据信息和所述第一备份节点对应的行为信息;所述第一备份节点对应的行为信息可以至少包括:所述第一备份节点的在线时长、掉线率和数据同步的正确率之一。
若所述主节点确定所述主节点和所述第一备份节点之间能够进行数据备份,所述方法还包括步骤S202。
步骤S202,第一备份节点确定所述主节点与所述第一备份节点之间的第一合约。
在一些实施例中,所述第一备份节点接收主节点发送的使用第一密钥加密的第一合约;若所述第一备份节点认同所述第一合约,所述第一备份节点将使用第二密钥加密的第一合约发送至所述主节点;在所述第一合约的持续时间区域内,所述第一备份节点基于所述第一合约接收所述主节点发送的第一数据;和/或,所述第一备份节点存储所述主节点发送的所述第一数据;所述第一密钥与所述第二密钥为密钥对。
步骤S203,第一备份节点基于所述第一合约,接收所述主节点发送的第一数据。
在一些实施例中,所述第一备份节点基于所述第一合约,接收所述主节点发送的所述第一数据,并存储所述第一数据。
具体实施时,所述第一备份节点接收基于第一密钥加密的所述第二合约;所述第二合约包括所述第一数据和所述第一合约;若所述第一备份节点确认备份所述第一数据,则所述第一备份节点向所述主节点发送基于第二密钥加密的所述第二合约;所述第一备份节点存储所述第一数据。
如此,通过本申请实施例提供的区块链的数据备份方法,第一备份节点基于主节点发送的第一请求信息,向所述主节点发送所述第一备份节点的备份信息;第一备份节点确定所述主节点与所述第一备份节点之间的第一合约;第一备份节点基于所述第一合约,接收所述主节点发送的第一数据;提升了IPFS***中数据备份的安全性,数据备份的流程中,所述主节点和所述第一备份节点基于第一合约执行数据备份,减少了外部的干预,同时还可以避免恶意节点篡改数据的概率。
图3示出了本申请实施例提供的区块链的数据备份方法的又一种可选流程示意图,将根据各个步骤进行说明。
步骤S301,区块链中的主节点基于至少一个备份节点对应的行为信息确定第一备份节点。
在一些实施例中,区块链中的主节点基于至少一个备份节点对应的行为信息确定第一备份节点。其中,所述至少一个备份节点对应的行为信息可以至少包括:至少一个备份节点的在线时长、掉线率和数据同步的正确率之一;所述第一备份节点包括至少一个备份节点。
在一些实施例中,所述主节点基于所述至少一个备份节点的在线时长、掉线率和数据同步的正确率至少之一进行正序排序,确认排在最前的至少一个备份节点为所述第一备份节点。
具体实施时,所述主节点对所述至少一个备份节点的在线时长、掉线率和数据同步的正确率进行加权求和,基于加权求和的结果对所述至少一个备份节点进行正序排序。其中,所述在线时长、掉线率和数据同步的正确率的权重因子完全不同或不完全相同。
步骤S302,主节点向所述第一备份节点发送第一请求信息。
在一些实施例中,所述第一请求信息用于请求所述第一备份节点的备份信息;所述第一备份节点的备份信息至少包括所述第一备份节点对应的数据信息和所述第一备份节点对应的行为信息;基于所述第一备份节点的备份信息,确定所述主节点和所述第一备份节点之间能否进行数据备份。
步骤S303,第一备份节点基于主节点发送的第一请求信息,向所述主节点发送所述第一备份节点的备份信息。
在一些实施例中,所述第一备份节点接收所述主节点发送的第一请求信息;所述第一请求信息用于请求所述第一备份节点的备份信息。其中,所述第一备份节点对应的行为信息可以至少包括:所述第一备份节点的在线时长、掉线率和数据同步的正确率之一。
步骤S304,主节点与第一备份节点之间确认第一合约。
在一些实施例中,所述主节点与所述第一备份节点之间通过交互的方式确认所述第一合约。
具体实施时,所述主节点将使用第一密钥加密的所述第一合约发送至所述第一备份节点;若所述第一备份节点认同所述第一合约,所述第一备份节点将使用第二密钥加密的第一合约发送至所述主节点;所述主节点接收所述第一备份节点发送的使用第二密钥加密的所述第一合约;所述使用第二密钥加密的第一合约中包括所述第一合约的建立时间和所述第一合约的持续时间区间;在所述第一合约的持续时间区间内,所述主节点基于所述第一合约向所述第一备份节点发送所述第一数据;所述第一密钥与所述第二密钥为密钥对。
步骤S305,所述主节点基于所述第一合约向所述第一备份节点发送第一数据。
在一些实施例中,所述主节点基于所述第一合约向所述第一备份节点发送第一数据;所述第一数据用于所述第一备份节点备份所述第一数据。
具体实施时,在所述主节点需要备份数据的情况下,所述主节点将需要备份的所述第一数据存储至所述第一合约中,生成第二合约,将基于第一密钥加密的所述第二合约发送至所述第一备份节点;若所述第一备份节点确认备份所述第一数据,则所述主节点接收基于第二密钥加密的所述第二合约。
可选的,所述主节点接收基于第二密钥加密的所述第二合约后的第一时间区间内,所述主节点还可以向所述第一备份节点发送第三数据;相应地,所述第一备份节点直接备份所述第三数据。
步骤S306,第一备份节点基于所述第一合约,接收所述主节点发送的第一数据。
在一些实施例中,所述第一备份节点基于所述第一合约,接收所述主节点发送的所述第一数据,并存储所述第一数据。
具体实施时,所述第一备份节点接收基于第一密钥加密的所述第二合约;所述第二合约包括所述第一数据和所述第一合约;若所述第一备份节点确认备份所述第一数据,则所述第一备份节点向所述主节点发送基于第二密钥加密的所述第二合约;所述第一备份节点存储所述第一数据。
在一些可选实施例中,所述方法还可以包括:
步骤S307,第三节点监控第一备份节点。
在一些实施例中,所述第三节点包括区块链上除所述主节点和所述第一备份节点以外的节点。
具体实施时,所述第三节点确认所述第一数据在所述主节点的哈希值和所述第一数据在所述第一备份节点的哈希值是否相同;若所述第一数据在所述主节点的哈希值和所述第一数据在所述第一备份节点的哈希值不同,则使用第二备份节点替换所述第一备份节点;
或者,所述第三节点确认所述第一备份节点的在线时长;若所述第一备份节点的在线时长小于第一阈值,则使用第二备份节点替换所述第一备份节点;
或者,所述第三节点确认所述第一备份节点的掉线率;若所述第一备份节点的掉线率大于或等于第二阈值,则使用第二备份节点替换所述第一备份节点。
如此,通过本申请实施例提供的区块链的数据备份方法,提升了IPFS***中数据备份的安全性,数据备份的流程中,所述主节点和所述第一备份节点基于第一合约执行数据备份,减少了外部的干预,同时,通过区块链中的其他节点对第一备份节点进行监控,还可以避免恶意节点篡改数据。
图4示出了本申请实施例提供的区块链的数据备份方法的再一种可选流程示意图。
步骤S401,主节点确认第一备份节点。
确定存储关键数据的主节点后,需要确定与所述主节点对应的至少一个备份节点,并同步备份主节点的关键数据。
具体的,统计IPFS中至少一个节点的每日平均在线时间(实际操作中,可能会出现部分节点因为某些故障掉线,导致各个节点的在线时间不一致),确认所述至少一个节点的每日平均在线时间的历史平均值,进行每日平均在线时间的排序。根据需求选取至少一个备份节点作为第一备份节点,
区块链中其他存储关键数据的主节点也按照上述方案确认备份节点,每一个主节点都至少有一个备份节点与其对应。
具体实施时,所述主节点还可以基于所述待备份数据的重要程度等级,确定第一备份节点。例如,若所述待备份数据为重要数据,则确认综合值大于第一数值的至少一个备份节点为所述第一备份节点(例如大于第一数值的至少一个备份节点为位于第一位至第a位的备份节点);若所述待备份数据为一般重要数据,则确认综合值小于或等于第一数值,且大于第二数值的至少一个备份节点为所述第一备份节点(例如小于或等于第一数值,且大于第二数值的至少一个备份节点为位于在第a+1位至第b位的备份节点);若所述待备份的数据为非重要数据,则确认综合值小于或等于第二数值,且大于第三数值至少一个备份节点为所述第一备份节点(例如小于或等于第二数值,且大于第三数值的至少一个备份节点为位于在第b+1位至第c位的备份节点)。其中,a、b、c均为正整数;a<b<c。
步骤S402,主节点与第一备份节点之间基于第一合约备份数据。
在一些实施例中,所述主节点与所述第一备份节点基于第一合约备份数据可以包括:所述主节点与所述第一备份节点之间确认第一合约;所述主节点与所述第一备份节点之间基于所述第一合约备份数据。
具体实施时,主节点向所述第一备份节点发送第一请求信息;所述第一请求信息用于请求所述第一备份节点的备份信息;所述第一备份节点的备份信息至少包括所述第一备份节点对应的数据信息和所述第一备份节点对应的行为信息;基于所述第一备份节点的备份信息,确定所述主节点和所述第一备份节点之间能否进行数据备份。
所述第一备份节点接收所述第一请求后,向所述主节点发送所述第一备份节点的备份信息。
所述主节点对所述第一备份节点的备份信息进行评估,若所述主节点基于所述第一备份节点的备份信息确认与所述第一备份节点进行数据备份,生成第一合约;所述主节点将使用非对称加密私钥(第一密钥)加密的所述第一合约发送至所述第一备份节点。
若所述第一备份节点认同所述第一合约,所述第一备份节点使用非对称加密私钥(第二密钥)对所述第一合约进行加密,并在所述第一合约中添加所述第一合约的建立时间(第一备份节点认同后,所述第一合约才正式建立)和所述第一合约的持续时间区间;并发送至所述主节点。
在所述第一合约的持续时间区间内,所述主节点基于所述第一合约向所述第一备份节点发送所述第一数据;所述第一密钥与所述第二密钥为密钥对。
在上述流程中,所述主节点与所述第一备份节点中任一方在任一环节拒绝或无响应,则所述第一合约确认失败。
在一些可选实施例中,所述第一合约可以包括:
Figure BDA0003020492330000131
步骤S403,更新第一合约。
所述第一合约建立后,在所述第一合约的持续时间区间内,若所述主节点或所述第一备份节点中需要更新数据(或备份数据)则更新所述第一合约。
具体实施时,所述主节点发起第一合约更新,将需要备份的第一数据存储至所述第一合约中,生成第二合约,将基于第一密钥加密的所述第二合约发送至所述第一备份节点。
所述第一备份节点接收所述第二合约后,基于所述主节点的公钥对所述第二合约进行解密,若所述第一备份节点确认备份所述第一数据,则所述第一备份节点向所述主节点发送基于第二密钥加密的所述第二合约;所述第一备份节点存储所述第一数据。
所述主节点接收所述第二密钥加密的所述第二合约后,基于所述第一备份节点的公钥对所述第二合约进行解密,验证所述第一备份节点的签名;验证通过后,将所述第二合约存储至所述区块链上。所述主节点或所述第一备份节点在所述第二合约中添加确认第二合约的时间。其中,所述第二合约为更新后的所述第一合约。
在上述流程中,所述主节点与所述第一备份节点中任一方在任一环节拒绝或无响应,则所述第一合约更新失败。
步骤S404,第三节点监控第一备份节点。
在一些实施例中,所述第三节点包括区块链上除所述主节点和所述第一备份节点以外的节点。可选的,所述第三节点周期性监控所述第一备份节点的履约情况。
具体实施时,所述第三节点确认所述第一数据在所述主节点的哈希值和所述第一数据在所述第一备份节点的哈希值是否相同;若所述第一数据在所述主节点的哈希值和所述第一数据在所述第一备份节点的哈希值不同,则使用第二备份节点替换所述第一备份节点;
或者,所述第三节点确认所述第一备份节点的在线时长;若所述第一备份节点的在线时长小于第一阈值,则使用第二备份节点替换所述第一备份节点;
或者,所述第三节点确认所述第一备份节点的掉线率;若所述第一备份节点的掉线率大于或等于第二阈值,则使用第二备份节点替换所述第一备份节点。
如此,通过本申请实施例提供的区块链的数据备份方法,包括基于备份节点的选择方法和同伴(第三节点)协助监测的第一合约备份方案。通过特定规则选择备份节点后,主节点与第一备份节点双方建立复制契约(第一合约),并构建同伴协助监测的复制契约备份方案,互相存储对方的数据,并且可以随时更新备份数据。在复制契约履行的过程中,使用一种基于同伴协助监测的监测机制来监测第一备份节点对于复制契约的履行情况,一旦监测机制发现第一备份节点没有履行约定,则取消复制契约,根据备份节点选择算法重新选取备份节点。减少了外部的干预,还可以避免恶意节点篡改数据。
图5示出了本申请实施例提供的区块链中主节点的可选结构示意图,将根据各个部分进行说明。
在一些实施例中,所述区块链中的主节点500包括:第一确定单元501和第一发送单元502。
所述第一确定单元501,用于基于至少一个备份节点对应的行为信息确定第一备份节点;确定所述主节点与所述第一备份节点之间的第一合约;
所述第一发送单元502,用于基于所述第一合约向所述第一备份节点发送第一数据;所述第一数据用于所述第一备份节点备份所述第一数据。
所述第一确定单元501,具体用于基于所述至少一个备份节点的在线时长、掉线率和数据同步的正确率至少之一进行正序排序,确认排在最前的至少一个备份节点为所述第一备份节点。
所述第一发送单元502,还用于向所述第一备份节点发送第一请求信息;所述第一请求信息用于请求所述第一备份节点的备份信息;所述第一备份节点的备份信息至少包括所述第一备份节点对应的数据信息和所述第一备份节点对应的行为信息;
所述第一确定单元501,具体用于基于所述第一备份节点的备份信息,确定所述主节点和所述第一备份节点之间能否进行数据备份。
所述第一发送单元502,还用于将使用第一密钥加密的所述第一合约发送至所述第一备份节点;
在一些实施例中,所述区块链中的主节点500还包括:第一接收单元503。
所述第一接收单元503,用于接收使用第二密钥加密的所述第一合约;所述使用第二密钥加密的第一合约中包括所述第一合约的建立时间和所述第一合约的持续时间区间;
在所述第一合约的持续时间区间内,所述主节点基于所述第一合约向所述第一备份节点发送所述第一数据;
所述第一密钥与所述第二密钥为密钥对。
所述第一发送单元502,具体用于在所述主节点需要备份数据的情况下,将需要备份的所述第一数据存储至所述第一合约中,生成第二合约,将基于第一密钥加密的所述第二合约发送至所述第一备份节点;
所述第一接收单元503,还用于若所述第一备份节点确认备份所述第一数据,则接收基于第二密钥加密的所述第二合约。
图6示出了本申请实施例提供的区块链中第一备份节点的可选结构示意图,将根据各个部分进行说明。
在一些实施例中,所述区块链中的第一备份节点600包括:第二发送单元601、第二确定单元602和第二接收单元603。
所述第二发送单元601,用于基于主节点发送的第一请求信息,向所述主节点发送所述第一备份节点的备份信息;
所述第二确定单元602,用于确定所述主节点与所述第一备份节点之间的第一合约;
所述第二接收单元603,用于接收所述主节点发送的第一数据。
所述第二接收单元603,还用于接收主节点发送的使用第一密钥加密的第一合约;
若所述第一备份节点认同所述第一合约,所述第二发送单元601,还用于将使用第二密钥加密的第一合约发送至所述主节点;
所述第二接收单元603,还用于在所述第一合约的持续时间区域内,基于所述第一合约接收所述主节点发送的第一数据;
所述区块链中的第一备份节点600还可以包括:存储单元604。
所述存储单元604,用于所述第一备份节点存储所述主节点发送的所述第一数据;所述第一密钥与所述第二密钥为密钥对。
所述第二接收单元603,用于接收基于第一密钥加密的所述第二合约;所述第二合约包括所述第一数据和所述第一合约;
所述第二发送单元601,用于若所述第一备份节点确认备份所述第一数据,则所述第一备份节点向所述主节点发送基于第二密钥加密的所述第二合约。
图7是本申请实施例提供的区块链的数据备份装置的硬件组成结构示意图,所述区块链的数据备份装置700可以是所述区块中主节点对应的装置,也可以是区块链中第一备份节点对应的装置。
区块链的数据备份装置700包括:至少一个处理器701、存储器702和至少一个网络接口704。区块链的数据备份装置700中的各个组件通过总线***705耦合在一起。可理解,总线***705用于实现这些组件之间的连接通信。总线***705除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线***705。
可以理解,存储器702可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,ErasableProgrammable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,ElectricallyErasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagneticrandom access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,SynchronousStatic Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random AccessMemory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random AccessMemory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data RateSynchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器702旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例中的存储器702用于存储各种类型的数据以支持区块链的数据备份装置700的操作。这些数据的示例包括:用于在区块链的数据备份装置700上操作的任何计算机程序,如应用程序722。实现本申请实施例方法的程序可以包含在应用程序722中。
所述本申请实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,所述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。所述的处理器701可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器701可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,区块链的数据备份装置700可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、FPGA、通用处理器、控制器、MCU、MPU、或其他电子元件实现,用于执行前述方法。
本申请实施例还提供了一种存储介质,用于存储计算机程序。
可选的,该存储介质可应用于本申请实施例中的第一客户端,并且该计算机程序使得计算机执行本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围,凡在本申请的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种区块链的数据备份方法,其特征在于,所述方法包括:
区块链中的主节点基于所述至少一个备份节点的在线时长、掉线率和数据同步的正确率至少之一进行正序排序,确认排在最前的至少一个备份节点为所述第一备份节点;
所述主节点确定所述主节点与所述第一备份节点之间的第一合约;
所述主节点基于所述第一合约向所述第一备份节点发送第一数据;所述第一数据用于所述第一备份节点备份所述第一数据。
2.根据权利要求1所述的方法,其特征在于,所述主节点确定所述主节点与所述第一备份节点之间的第一合约包括:
所述主节点将使用第一密钥加密的所述第一合约发送至所述第一备份节点;
接收使用第二密钥加密的所述第一合约;所述使用第二密钥加密的第一合约中包括所述第一合约的建立时间和所述第一合约的持续时间区间;
在所述第一合约的持续时间区间内,所述主节点基于所述第一合约向所述第一备份节点发送所述第一数据;
所述第一密钥与所述第二密钥为密钥对。
3.根据权利要求1所述的方法,其特征在于,所述主节点基于所述第一合约向所述第一备份节点发送第一数据,包括:
在所述主节点需要备份数据的情况下,所述主节点将需要备份的所述第一数据存储至所述第一合约中,生成第二合约,将基于第一密钥加密的所述第二合约发送至所述第一备份节点;
若所述第一备份节点确认备份所述第一数据,则所述主节点接收基于第二密钥加密的所述第二合约。
4.一种区块链的数据备份方法,其特征在于,所述方法包括:
第一备份节点基于主节点发送的第一请求信息,向所述主节点发送所述第一备份节点的备份信息;
所述第一备份节点确定所述主节点与所述第一备份节点之间的第一合约;
所述第一备份节点基于所述第一合约,接收所述主节点发送的第一数据。
5.根据权利要求4所述的方法,其特征在于,所述第一备份节点确定第一合约包括:
接收主节点发送的使用第一密钥加密的第一合约;
若所述第一备份节点认同所述第一合约,所述第一备份节点将使用第二密钥加密的第一合约发送至所述主节点;
在所述第一合约的持续时间区域内,所述第一备份节点基于所述第一合约接收所述主节点发送的第一数据;和/或,所述第一备份节点存储所述主节点发送的所述第一数据;
所述第一密钥与所述第二密钥为密钥对。
6.根据权利要求4所述的方法,其特征在于,所述基于所述第一合约,所述第一备份节点接收所述主节点发送的第一数据,包括:
接收基于第一密钥加密的所述第二合约;所述第二合约包括所述第一数据和所述第一合约;
若所述第一备份节点确认备份所述第一数据,则所述第一备份节点向所述主节点发送基于第二密钥加密的所述第二合约;
所述第一备份节点存储所述第一数据。
7.一种区块链的数据备份装置,其特征在于,所述装置包括:
第一确定单元,用于基于所述至少一个备份节点的在线时长、掉线率和数据同步的正确率至少之一进行正序排序,确认排在最前的至少一个备份节点为所述第一备份节点;
第一发送单元,用于基于所述第一合约向所述第一备份节点发送第一数据;所述第一数据用于所述第一备份节点备份所述第一数据。
8.一种区块链的数据备份装置,其特征在于,所述装置包括:
第二确定单元,用于确定所述主节点与所述第一备份节点之间的第一合约;
第二接收单元,用于接收所述主节点发送的第一数据。
9.一种存储介质,存储有可执行程序,其特征在于,所述可执行程序被处理器执行时,实现权利要求1至3任一项所述的区块链的数据备份方法;
或者,实现权利要求4至6任一项所述的区块链的数据备份方法。
10.一种区块链的数据备份装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,其特征在于,所述处理器运行所述可执行程序时执行如权利要求1至3任一项所述的区块链的数据备份方法的步骤;
或者,执行如权利要求4至6任一项所述的区块链的数据备份方法。
CN202110401426.8A 2021-04-14 2021-04-14 一种区块链的数据备份方法、装置及存储介质 Active CN113254264B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110401426.8A CN113254264B (zh) 2021-04-14 2021-04-14 一种区块链的数据备份方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110401426.8A CN113254264B (zh) 2021-04-14 2021-04-14 一种区块链的数据备份方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN113254264A true CN113254264A (zh) 2021-08-13
CN113254264B CN113254264B (zh) 2023-06-09

Family

ID=77222040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110401426.8A Active CN113254264B (zh) 2021-04-14 2021-04-14 一种区块链的数据备份方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN113254264B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114281605A (zh) * 2022-03-07 2022-04-05 杭州费尔斯通科技有限公司 一种基于区块链分区存储的计算方法和***

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271283A (zh) * 2018-09-06 2019-01-25 北京云测信息技术有限公司 一种基于区块链的数据备份方法
CN110351363A (zh) * 2019-07-12 2019-10-18 全链通有限公司 数据备份方法、设备及计算机可读存储介质
CN110798308A (zh) * 2019-10-31 2020-02-14 支付宝(杭州)信息技术有限公司 一种区块链的签名方法和***
CN111209113A (zh) * 2019-12-31 2020-05-29 卓尔智联(武汉)研究院有限公司 基于智能合约的资源分配方法、装置、设备和存储介质
US10880076B1 (en) * 2019-08-29 2020-12-29 Blockstack Pbc Backup of encrypted information stored off-chain in a blockchain-based decentralized storage system
WO2020258831A1 (zh) * 2019-06-28 2020-12-30 创新先进技术有限公司 用于区块链***中的主节点切换处理的方法及装置
CN112486736A (zh) * 2020-12-28 2021-03-12 山西中液互联能源有限公司 一种基于区块链数据备份***及备份方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271283A (zh) * 2018-09-06 2019-01-25 北京云测信息技术有限公司 一种基于区块链的数据备份方法
WO2020258831A1 (zh) * 2019-06-28 2020-12-30 创新先进技术有限公司 用于区块链***中的主节点切换处理的方法及装置
CN110351363A (zh) * 2019-07-12 2019-10-18 全链通有限公司 数据备份方法、设备及计算机可读存储介质
US10880076B1 (en) * 2019-08-29 2020-12-29 Blockstack Pbc Backup of encrypted information stored off-chain in a blockchain-based decentralized storage system
CN110798308A (zh) * 2019-10-31 2020-02-14 支付宝(杭州)信息技术有限公司 一种区块链的签名方法和***
CN111209113A (zh) * 2019-12-31 2020-05-29 卓尔智联(武汉)研究院有限公司 基于智能合约的资源分配方法、装置、设备和存储介质
CN112486736A (zh) * 2020-12-28 2021-03-12 山西中液互联能源有限公司 一种基于区块链数据备份***及备份方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114281605A (zh) * 2022-03-07 2022-04-05 杭州费尔斯通科技有限公司 一种基于区块链分区存储的计算方法和***
CN114281605B (zh) * 2022-03-07 2022-06-21 杭州费尔斯通科技有限公司 一种基于区块链分区存储的计算方法和***

Also Published As

Publication number Publication date
CN113254264B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
CN108111604B (zh) 区块链共识方法、装置和***、标识信息处理方法和装置
Reiter The Rampart toolkit for building high-integrity services
CN111045855B (zh) 备份数据的方法、装置和计算机程序产品
US11082482B2 (en) Block chain encoding with fair delay for distributed network devices
EP3777030B1 (en) Asynchronous processing of blockchain blocks
CN117544296A (zh) 受控加密私钥的发布
CN111242617A (zh) 用于执行交易正确性验证的方法及装置
CN111786812A (zh) 节点管理方法、装置、计算机设备和存储介质
US10756896B2 (en) Trustless account recovery
US10749670B2 (en) Block chain decoding with fair delay for distributed network devices
CN111314060B (zh) 一种密钥更新方法、设备及存储介质
US11836714B2 (en) Secure and trustworthy bridge for transferring assets across networks with different data architecture
CN111211911B (zh) 一种协同签名方法、装置、设备及***
CN111212139A (zh) 对信任节点信息进行更新的方法及装置
JP2024529864A (ja) 監視者の更新プールを用いて異なるネットワークにわたって資産を転送するためのセキュアかつ信頼できるブリッジ
CN112463454B (zh) 数据恢复方法、服务器、终端设备及存储介质
CN112073433B (zh) 一种ssl证书更新方法、装置、电子设备及存储介质
CN112307504B (zh) 一种安全多方计算方法、装置、电子设备及存储介质
WO2019243816A1 (en) Leader selection for permissioned blockchain
CN113254264A (zh) 一种区块链的数据备份方法、装置及存储介质
US20240134959A1 (en) Password management system and method for providing access to a password protected device
CN113326503A (zh) 一种证书管理方法及计算设备
US20230275750A1 (en) System and method for secure storage and distribution of encryption keys
CN109284633B (zh) 用于区块链网络***的数据处理方法和数据处理装置
KR102447063B1 (ko) 개선된 pbft 기반의 블록체인 관리 방법, 블록체인 시스템 및 노드 장치

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