CN108616574B - 管理数据的存储方法、设备及存储介质 - Google Patents

管理数据的存储方法、设备及存储介质 Download PDF

Info

Publication number
CN108616574B
CN108616574B CN201810292279.3A CN201810292279A CN108616574B CN 108616574 B CN108616574 B CN 108616574B CN 201810292279 A CN201810292279 A CN 201810292279A CN 108616574 B CN108616574 B CN 108616574B
Authority
CN
China
Prior art keywords
management data
management
area unit
data
block
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
CN201810292279.3A
Other languages
English (en)
Other versions
CN108616574A (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810292279.3A priority Critical patent/CN108616574B/zh
Publication of CN108616574A publication Critical patent/CN108616574A/zh
Priority to PCT/CN2019/078825 priority patent/WO2019184775A1/zh
Application granted granted Critical
Publication of CN108616574B publication Critical patent/CN108616574B/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/1448Management of the data involved in backup or backup restore
    • 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
    • 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/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • H04L41/0856Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种管理数据的存储方法、设备及存储介质,属于信息处理技术领域。所述方法包括:当第一区域单元中的第一管理数据库节点获取到更新后的管理数据时,在第一区域单元的管理数据链存储该更新后的管理数据,并指示第二管理数据库节点在第二区域单元的管理数据链中存储该更新后的管理数据。由此可知,在本申请中,当第一管理数据库节点存储更新后的管理数据时,其他区域单元的管理数据库节点也将存储更新后的管理数据,以实现每个区域单元的管理数据库节点中都存储有管理数据,且存储的管理数据一致,以便于后续每个区域单元可以从自身的管理数据链中获取管理数据,提高了区域单元导致获取管理数据的效率。

Description

管理数据的存储方法、设备及存储介质
技术领域
本申请涉及信息处理技术领域,特别涉及一种管理数据的存储方法、设备及存储介质。
背景技术
伴随着信息的增长,以及网络互连技术的发展,传统数据中心的规模越来越大,出现了跨地域的分布式云数据中心。目前,分布式云数据中心通常包括多个区域单元(Region),分布于多个地域,每个区域单元和一个地域对应,且每个区域单元用于管理本地域内的数据。另外,各个区域单元共用一套管理数据,该管理数据包括区域单元运行所必需的信息,比如身份认证数据和系统配置参数等。由于各个区域单元共用一套管理数据,因此如何对管理数据进行存储以实现该管理数据的全局共享变得越来越重要。
相关技术中,对于分布式云数据中心包括的多个区域单元,在该多个区域单元的某个区域单元中设置全球(Global)区域,在初始化时将管理数据存储至该全球区域中,其他区域单元可以通过访问该区域单元获取该管理数据,以实现管理数据的全局共享。之后,当需要对管理数据进行更新时,更新存储在全球区域中的管理数据,其他区域单元同样可以通过访问该区域单元获取更新之后的管理数据。
在上述方法中,由于将管理数据集中存储在分布式云数据中心的一个区域单元中,因此其他区域单元都必须从该区域单元中获取管理数据,从而导致获取管理数据的效率不高。另外,若存储管理数据的区域单元出现问题,将导致其他区域单元无法获取到管理数据。
发明内容
为了解决相关技术中获取管理数据的效率不高的问题,本申请提供了一种管理数据的存储方法、设备及存储介质。所述技术方案如下:
第一方面,提供一种管理数据的存储方法,应用于分布式云数据中心,该分布式云数据中心包括多个区域单元,该方法包括:
第一管理数据库节点获取更新后的管理数据,并在第一区域单元的管理数据链存储该更新后的管理数据,该第一管理数据库节点为该多个区域单元中的第一区域单元所具有的管理数据库节点;
该第一管理数据库节点指示第二管理数据库节点在第二区域单元的管理数据链中存储该更新后的管理数据,该第二区域单元为该多个区域单元中除了该第一区域单元之外的任一个区域单元,该第二区域单元具有该第二管理数据库节点,该多个区域单元中不同区域单元的管理数据链用于相互容灾备份。
在本申请中,分布式云数据中心包括多个区域单元,当第一区域单元中的第一管理数据库节点获取到更新后的管理数据时,在第一区域单元的管理数据链存储该更新后的管理数据,并指示第二管理数据库节点在第二区域单元的管理数据链中存储该更新后的管理数据。由此可知,在本申请中,当第一管理数据库节点存储更新后的管理数据时,其他区域单元的管理数据库节点也将存储更新后的管理数据,以实现每个区域单元的管理数据库节点中都存储有管理数据,且存储的管理数据一致。也即,在本申请中,每个区域单元中都存储有管理数据,以便于后续每个区域单元可以从自身的管理数据链中获取管理数据,提高了区域单元导致获取管理数据的效率。另外,若某个区域单元出现问题,由于每个区域单元的管理数据链中都存储有管理数据,因此不会出现其他区域单元无法获取到管理数据的情况。
可选地,每个区域单元的管理数据链包括多个第一区块,该多个第一区块中的每个第一区块包括一个管理数据,每个区域单元的管理数据链为第一树形结构,该多个第一区块分别为该第一树形结构中的节点;
第一管理数据库节点在第一区域单元的管理数据链存储该更新后的管理数据,包括:
该第一管理数据库节点生成新的第一区块,该新的第一区块包括该更新后的管理数据;
该第一管理数据库节点将该新的第一区块添加为第一信任路径中的最后一个第一区块;
该第一管理数据库节点指示第二管理数据库节点在第二区域单元的管理数据链中存储该更新后的管理数据,包括:
该第一管理数据库节点指示该第二管理数据库节点将该新的第一区块添加为第二信任路径中的最后一个第一区块。
具体地,为了便于高效管理管理数据,各个区域单元中的管理数据链是由多个区块组成的树形结构,树形结构中的每个节点为一个区块,每个区块包括一个管理数据,以便于后续可以根据区块获取对应的管理数据。
可选地,该第一信任路径在该第一区域单元的管理数据链中拥有最多节点,该第二信任路径在该第二管理数据库节点所在的该第二区域单元的管理数据链中拥有最多节点。
实际应用中,为了提高管理数据链中的数据的可信度,对于任一区域单元,该区域单元的管理数据链中的信任路径为管理数据链中拥有最多节点的路径。也即,每个区域单元都将自身的管理数据链中拥有节点最多的路径确定为信任路径。
可选地,每个区域单元还包括变更审计数据链,每个区域单元的变更审计数据链包括多个第二区块,该多个第二区块之间相互连接形成具有至少一个分支的第二树型结构,该多个第二区块分别为该第二树型结构中的节点;
第一管理数据库节点将该新的第一区块添加为第一信任路径中的最后一个第一区块,包括:
该第一管理数据库节点根据该第一区域单元的变更审计数据链中的第三信任路径确定该第一信任路径,该第三信任路径在该第一区域单元的变更审计数据链中拥有最多节点。
另外,在实际应用中,可能需要将当前的管理数据恢复至历史时刻的管理数据,也即需要重新定义管理数据链中的信任路径,此时,上述每个区域单元都将自身的管理数据链中拥有节点最多的路径确定为信任路径的方法已经不适用于该场景。因此,在本申请中,可以为每个区域单元设置有变更审计数据链,该变更审计数据链中的区块用于指示管理数据链中的信任路径。
可选地,该方法还包括:
该第一管理数据库节点接收管理数据读取请求,根据该第三信任路径确定该第一信任路径,并在该第一信任路径中的最后一个第一区块读取该更新后的管理数据。
当每个区域单元的管理数据库节点中还包括变更审计数据链时,当第一管理数据库节点需要获取管理数据时,需先通过变更审计数据链中的第三信任路径确定管理数据链中的第一信任路径,以通过第一信任路径获取管理数据。
可选地,每个第一区块具有时间戳,每个第一区块的时间戳用于指示其上管理数据对应的时刻;
该方法还包括:
该第一管理数据库节点接收数据恢复请求,获取该数据恢复请求中携带的指定时刻,其中,该数据恢复请求用于指示将该指定时刻的管理数据确定为有效的管理数据;
该第一管理数据库节点根据该指定时刻,在该第一区域单元的管理数据链中查询时间戳与该指定时刻匹配的第一区块;
该第一管理数据库节点根据查找到的第一区块,生成新的第二区块,将该新的第二区块添加为该第三信任路径中的最后一个第二区块,该新的第二区块用于根据该查找到的第一区块重置该第一信任路径。
当每个区域单元的管理数据库节点中还包括变更审计数据链时,由于变更审计数据链中的区块用于指示管理数据链中的信任路径,因此,当需要将管理数据恢复至历史指定时刻时的管理数据时,只需在变更审计数据链中增加新的第二区块即可。
第二方面,提供了一种管理数据的存储设备,应用于分布式云数据中心中的第一管理数据库节点,该分布式云数据中心包括多个区域单元,该第一管理数据库节点为该多个区域单元中的第一区域单元所具有的管理数据库节点,该管理数据的存储具有实现上述第一方面中管理数据的存储方法行为的功能。该管理数据的存储设备包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的管理数据的存储方法。
第三方面,提供了一种管理数据的存储设备,该管理数据的存储设备的结构中包括处理器和存储器,该存储器用于存储支持管理数据的存储设备执行上述第一方面所提供的管理数据的存储方法的程序,以及存储用于实现上述第一方面所提供的管理数据的存储方法所涉及的数据。该处理器被配置为用于执行该存储器中存储的程序。该存储设备的操作设备还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的管理数据的存储方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的管理数据的存储方法。
上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本申请提供的技术方案带来的有益效果是:
在本申请中,分布式云数据中心包括多个区域单元,当第一区域单元中的第一管理数据库节点获取到更新后的管理数据时,在第一区域单元的管理数据链存储该更新后的管理数据,并指示第二管理数据库节点在第二区域单元的管理数据链中存储该更新后的管理数据。由此可知,在本申请中,当第一管理数据库节点存储更新后的管理数据时,其他区域单元的管理数据库节点也将存储更新后的管理数据,以实现每个区域单元的管理数据库节点中都存储有管理数据,且存储的管理数据一致。也即,在本申请中,每个区域单元中都存储有管理数据,以便于后续每个区域单元可以从自身的管理数据链中获取管理数据,提高了区域单元导致获取管理数据的效率。另外,若某个区域单元出现问题,由于每个区域单元的管理数据链中都存储有管理数据,因此不会出现其他区域单元无法获取到管理数据的情况。
附图说明
图1A为本申请实施例提供的一种区块链的结构示意图;
图1B是本申请实施例提供的一种P2P网络示意图;
图2A是本申请实施例提供的一种存分布式云数据中心的示意图;
图2B是本申请实施例提供的另一种分布式云数据中心的示意图;
图3是本申请实施例提供的一种计算机设备的结构示意图;
图4是本申请实施例提供的一种管理数据的存储方法流程图;
图5是本申请实施例提供的另一种管理数据的存储方法流程图;
图6是本申请实施例提供的另一种管理数据的存储方法流程图;
图7是本申请实施例提供的另一种管理数据的存储方法流程图;
图8是本申请实施例提供的一种管理数据的存储设备框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本发明提供一种用于分布式云数据中心的分布式管理数据库。该分布式管理数据库包括多个管理数据库节点,用于存储分布式云数据中心的管理数据。分布式云数据中心的每个区域单元均具有一个管理数据库节点,用于将分布式云数据中心的管理数据存储至管理数据库节点对应的管理数据链。每个管理数据节点对应一个管理数据链,各个管理数据链中存储的管理数据互为灾备。分布式云数据中心更新管理数据后,第一管理数据库节点获取更新后的管理数据,并存储至对应的管理数据链,随后指示其余区域单元的管理数据库节点存储更新后的管理数据,各管理数据链存储的更新后的管理数据用于相互容灾备份。
在本发明的一个实施例中,每个管理数据库节点包含一个管理数据链。管理数据链由区块链技术实现。
为了后续便于说明,在此先对本申请实施例涉及的区块链技术进行解释说明。
区块链是根据对等(Peer to Peer,P2P)网络形成的一个分布式的数据库,网络中包括多个节点,任意两个节点之间相互连接,每个节点中维护了一个不断增长的、且按顺序排列的区块组成的链。每一个区块都包含了一个时间戳,并被连接到它之前的一个区块。根据设计,区块链本身具有防止数据被修改的特性,也即,一旦数据被记录在区块中,就不能再返回修改。在P2P网络和分布式时间戳服务器的帮助下,一个区块链数据库可以进行自动管理。区块链就像一个开放的、分布式的总账本,它可以高效地、安全地、永久地记录交易信息。
图1A为本申请实施例提供的一种区块链的结构示意图,如图1A所示,区块链包括多个区块,该多个区块形成具有至少一个分支的树形结构,每个区块分别为树形结构中的一个节点。区块链的信任路径(格子方框标识的区块构成的路径)拥有的节点最多,由第一个区块(白色方框标识的区块)开始一直连接到最新的区块,其他存在于信任路径之外区块(斜条纹方框标识的区块)构成的路径为无效路径。
区块是一种记录交易的数据结构,由区块主体和区块头组成。区块主体负责记录前一段时间内的所有交易信息。区块头包括:版本号、父区块哈希值、Merkle根、时间戳、难度值、随机数。其中,Merkle根是由区块主体中所有交易的哈希值逐级两两哈希计算出的数值,用于检验一笔交易是否在该区块中存在。时间戳用于记录该区块的产生时间。难度值表示该区块工作量证明的难度目标。父区块哈希值用于实现区块之间的连接,随机数用于实现挖矿机制。
接下来对区块链的工作原理进行介绍:
图1B是本申请实施例提供的一种P2P网络示意图,该网络中包括多个节点。假如当前节点A与节点B之间进行资源转移,此时可以通过以下几个步骤实现网络中的每个节点对此次交易进行记账,也即,每个节点都将此次交易写入自身的区块链中。
(1)节点A利用私钥对要转移的资源的上一次交易信息和节点B的公钥签署一个数字签名,并将该签名附加在要转移的资源的末尾,得到交易单。
(2)节点A将该交易单在网络中进行广播。
(3)网络中的每个节点通过挖矿机制获取根据该交易单中的生成区块的权利,也即,每个节点在检测到交易单时,通过公钥验证其有效性,在验证有效之后,开始解数学题。解题的过程为:寻找一个数值,使该数值与上一区块的哈希值以及目前收到的交易单通过指定算法计算得到的哈希值满足预设条件。
(4)若节点C解题成功,则根据题解和交易单生成区块,并在网络中广播生成的区块。
(5)除节点C之外的其他节点在检测到该生成的区块时,通过区块中的题解验证该区块的有效性,在确定该区块有效之后将该区块放入区块链的最长链的末端。
需要说明的是,图1B中仅以6个节点为例进行说明,图1B并不构成对本申请实施例提供的P2P网络中包括的节点的个数的限制。
图2A是本发明实施例提供的一种存储管理数据的分布式云数据中心的示意图,如图2A所示,该分布式云数据中心包括多个区域单元,每个区域单元包括管理系统、业务系统和管理数据库节点,每个区域单元的管理数据库节点包括管理数据链,管理数据链由区块链技术实现。分布式云数据平台的业务系统和管理系统根据业务的需要,生成管理数据或通过管理数据库节点读取管理数据,用于虚拟机重建、容灾等业务或功能。需要说明的是,在图2A中仅以两个区域单元为例进行说明,图2A并不构成对本发明实施例提供的分布式云数据中心中的区域单元的个数的限制。
需要说明的是,管理数据库节点可以还包括数据库访问层,该数据库访问层用于对管理系统或业务系统访问管理数据库节点提供访问接口。也即,每个区域单元的管理系统通过数据库访问层与自身的管理数据库节点连接,以通过管理系统和管理数据库节点的交互实现管理数据的写入和读取。也即,每个区域单元的数据库访问层用于提供管理数据库节点的访问入口,屏蔽管理数据库节点的内部细节,以实现访问管理数据库节点内的数据是对业务系统透明的。
如图2A所示,每个区域单元的管理系统分别与自身的数据库访问层和业务系统连接,每个区域单元的数据库访问层与自身的管理数据链连接,各个区域单元的管理数据链之间通过第一P2P网络连接。
其中,每个区域单元的管理系统对外提供运营运维操作入口,供用户进行运行运维管理,如资源申请、发放、计量计费、资源统计、告警监督、系统安全部署以及维护升级等。
具体地,在管理系统进行诸如资源申请、发放、计量计费、资源统计、告警监督、系统安全部署以及维护升级等操作时,管理系统可能需要获取管理数据,此时管理系统将通过数据库访问层从管理数据链中获取管理数据。
每个区域单元的管理系统与自身的业务系统连接,用于实现资源的调度、计量监控,以及提供业务活动的支持等。
具体地,在业务系统进行诸如资源的调度、计量监控,以及提供业务活动的支持等操作中时,业务系统也可能需要获取管理数据,此时业务系统将向管理系统发送数据获取请求,以使管理系统通过数据库访问层从管理数据链中获取管理数据,并将获取的管理数据返回给业务系统。
另外,每个区域单元的管理数据链包括多个第一区块,该多个第一区块之间相互连接形成具有至少一个分支的第一树型结构,该多个第一区块分别为第一形结构中的节点,每个第一区块用于存储在对应时间戳时更新的管理数据。也即,每个区域单元的管理数据库节点用于存储管理数据,且是通过管理数据库节点中的管理数据链来存储管理数据。
可选地,如图2A所示,每个区域单元的管理数据库节点还包括数据库缓存,每个区域单元的数据库访问层还分别与自身的数据库缓存连接。其中,数据库缓存用于缓存最新的管理数据。
可选地,如图2A所示,该分布式云数据中心中的每个区域单元还包括容灾管理系统,每个区域单元的容灾管理系统分别与自身的管理系统和业务系统连接,各个区域单元的容灾管理系统之间通过网络连接。
其中,每个区域单元的容灾管理系统用于负责对自身的业务系统进行容灾管理。因此,容灾管理系统的功能主要包括:
(1)对外提供业务容灾管理操作入口,供容灾管理员配置容灾策略、占位虚拟机、存储域网络(Storage Area Network,SAN)存储逻辑单元号(Logical Unit Number,LUN)映射关系等;在灾难发生时,触发容灾切换;灾难恢复后执行回切等;
(2)对接业务系统,实现对业务系统的容灾控制,如虚拟机按照设定顺序拉起,状态监控等;
(3)容灾管理系统需要与管理系统交互,以便获得管理信息,主要是业务虚拟机的信息,如规格、镜像、卷信息以及其租户组织归属等信息;
(4)业务容灾管理系统还需要与对端业务容灾管理系统交互以便协同运作。
下面以容灾切换和容灾回切为例具体说明本申请实施例提供的容灾管理系统的功能。
(1)容灾切换
当第一区域单元的容灾管理系统接收到容灾切换请求时,进行容灾切换,该容灾切换请求用于指示第一区域单元处理发生故障的第三区域单元的业务。其中,第一区域单元为云数据中心中任一区域单元。
具体地,当第一区域单元的容灾管理系统接收到容灾切换请求时,将容灾切换请求转发至第一区域单元的管理系统,第一区域单元的管理系统从第一区域单元的管理数据库节点中获取管理数据,第一区域单元的管理系统对获取的管理数据进行处理,以重建业务虚拟机,用于处理所第三区域单元的业务。
需要说明的是,容灾切换请求由管理人员通过预设操作触发,也即,在第三区域单元发生故障后,管理人员可以通过第一区域单元的容灾管理系统实现容灾切换,以实现由第一区域单元处理第三区域单元的业务。
其中,第一区域单元的管理系统对获取的管理数据进行处理,以重建业务虚拟机的实现方式为:第一区域单元的管理系统将获取的管理数据发送至第一区域单元的容灾管理系统,第一区域单元的的容灾管理系统对接收到的管理数据进行处理,并将处理之后的管理数据发送至第一区域单元的业务系统,第一区域单元的业务系统根据第一区域单元的的容灾管理系统处理之后的管理数据重建业务虚拟机。
也即,在第一区域单元的容灾管理系统接收到容灾切换请求之后,最终是由第一区域单元的业务系统根据接收到的管理数据进行业务虚拟机的重建,以处理第三区域单元的业务。
(2)容灾回切
在第一区域单元发生故障后,当第一区域单元的业务系统接收到容灾回切请求时,将容灾回切请求发送至第一区域单元的管理系统,该容灾回切请求用于指示第一区域单元重新处理业务,第一区域单元的管理系统从第一区域单元的管理数据库节点中获取管理数据,第一区域单元的管理系统对获取的管理数据进行处理,以重建业务虚拟机,用于处理第一区域单元的业务。
需要说明的是,容灾回切请求由管理人员通过预设操作触发,也即,在第一区域单元发生故障后,管理人员可以通过第一区域单元的容灾管理系统实现容灾回切,以使第一区域单元可以重新开始处理业务。
其中,第一区域单元的管理系统对获取的管理数据进行处理,以重建业务虚拟机已在上述容灾切换的过程中进行了详细说明,在此不再展开阐述。第一区域单元的管理系统从第一区域单元的管理数据库节点中获取管理数据的实现方式同样已在上述容灾切换中已经进行了详细说明,在此也不再展开阐述。
需要说明的是,在相关技术的区块链技术中,为了提升区块链被攻击和篡改的难度,网络中的节点在对有效区块确认之后,是将区块链的树形结构中具有最多节点的路径作为信任路径,并将有效区块添加在信任路径的末端。区块链中包含最多节点的信任路径也可以叫做区块链中的最长链,本发明对此不做限制。因此,在上述图2A所示的分布式云数据中心中,当每次需要从管理数据链中获取管理数据时,是从管理数据链的信任路径的末端区块中获取管理数据。也即是,在图2A所示的分布式云数据中心,管理数据链默认将包含最多节点的路径确定为信任路径,也即最长链确定为信任链。
但是,在实际应用中,区域单元在某个时刻可能需要将管理数据恢复至某个历史时刻时的管理数据,也即,区域单元需要根据实际情况对自身的管理数据链进行修改。因此,在本申请实施例中,将相关技术的区块链进行改造,使其能够不再只信任包含最多节点的路径,而是可以灵活的指定其信任的路径,以满足分布式云数据中心的需求。此时,由于管理数据链不再只信任包含最多节点的路径,因此当管理数据链需要获取管理数据时,需要告知管理数据链哪条路径为信任路径。具体地,在本申请实施例中,通过在管理数据库节点中设置变更审计数据链来指示管理数据链中的信任路径。
图2B是本申请实施例提供的另一种存储管理数据的分布式云数据中心的示意图,如图2B所示,该分布式云数据中心包括多个区域单元,每个区域单元包括管理系统、业务系统和管理数据库节点,每个区域单元的管理数据库节点包括管理数据链和变更审计数据链。需要说明的是,在图2B中仅以两个区域单元为例进行说明,图2B并不构成对本申请实施例提供的分布式云数据中心中的区域单元的个数的限制。
和图2A所示的分布式云数据中心一样,图2B所示的分布式云数据中心的管理数据库节点也包括数据库访问层。其中,数据库访问层的功能和图2A所示的分布式云数据中心中的数据库访问层的功能一样,在次不再详细阐述。
此时,每个区域单元的管理系统分别与自身的数据库访问层和业务系统连接,每个区域单元的数据库访问层与自身的管理数据链和变更审计数据链连接,各个区域单元的管理数据链之间通过第一P2P网络连接,各个区域单元的变更审计数据链之间通过第二P2P网络连接。
其中,每个区域单元的变更审计数据链包括多个第二区块,该多个第二区块之间相互连接形成具有至少一个分支的第二树型结构,该多个第二区块分别为第二树型结构中的节点。每个第一区块和每个第二区块均存在对应的时间戳,每个第二区块用于指示在对应的时间戳时管理数据链中的信任路径的末端区块。此时,当区域单元需要获取管理数据时,需要根据变更审计数据链确定管理数据链的信任路径,然后再根据确定的信任路径从管理数据链中获取管理数据。
另外,图2B所示的分布式云数据中心中的管理系统、业务系统以及管理数据链和图2A所示的分布式云数据中心中的管理系统、业务系统以及管理数据链的功能一样,在此不再详细阐述。
可选地,如图2B所示,该分布式云数据中心还可以包括数据库缓存和容灾管理系统,且图2B所示的分布式云数据中心中的数据库缓存和容灾管理系统的连接关系和功能和图2A所示的分布式云数据中心中的数据库缓存和容灾管理系统的连接关系和功能一样,在此同样不再详细阐述。
最后需要说明的是,无论是上述图2A所示的分布式云数据中心,还是图2B所示的分布式云数据中心,该分布式云数据中心的基础设施和软件系统通常会划分为管理域和业务域。业务域由各个区域单元的业务系统以计算、网络、存储资源以池化的形式构成,为最终用户提供业务服务,如云主机服务、物理机服务、存储服务、网络服务等。
而管理域则由各个区域单元的管理系统和管理数据构成,支撑云数据中心运营和运维活动的正常开展,包括服务的开通、计量,用户的使用资源的身份认证,安全保障等。
值得注意的是,在上述图2A所示的分布式云数据中心以及图2B所示的分布式云数据中心中,管理数据库节点、管理数据链、变更审计数据链、数据库访问层、数据库缓存、第一区块以及第二区块均是本申请实施例根据相关模块的功能采用的名称,实际应用中,也可以根据相关模块的功能采用其他名称,本申请实施例在此不做具体限定。
图3是本申请实施例提供的一种计算机设备的结构示意图。图2A或图2B中的区域单元可以通过图3所示的计算机设备来实现。参见图3,该计算机设备包括至少一个处理器301、通信总线302、存储器303以及至少一个通信接口304。
处理器301可以是一个通用中央处理器(Central Processing Unit,CPU)、微处理器、特定应用集成电路(application-specific integrated circuit,ASIC)或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线302可包括一通路,在上述组件之间传送信息。
存储器303可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器303可以是独立存在,通过通信总线302与处理器301相连接。存储器303也可以和处理器301集成在一起。
通信接口304,使用任何收发器一类的设备,用于与其它设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
在具体实现中,作为一种实施例,处理器301可以包括一个或多个CPU,例如图3中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,例如图3中所示的处理器301和处理器305。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,计算机设备还可以包括输出设备306和输入设备307。输出设备306和处理器301通信,可以以多种方式来显示信息。例如,输出设备306可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备307和处理器301通信,可以以多种方式接收用户的输入。例如,输入设备307可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的计算机设备可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备可以是台式机、便携式电脑、网络服务器、掌上电脑(PersonalDigital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备或者嵌入式设备。本申请实施例不限定计算机设备的类型。
其中,存储器303用于存储执行本申请方案的程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的程序代码308。程序代码308中可以包括一个或多个软件模块。图2A或图2B中所示的区域单元可以通过处理器301以及存储器303中的程序代码308中的一个或多个软件模块,来确定用于开发应用的数据。
图4是本申请实施例提供的一种管理数据的存储方法流程图,应用于图2A的分布式云数据中心中,如图4所示,该方法包括如下步骤:
步骤401:第一管理数据库节点获取更新后的管理数据,并在第一区域单元的管理数据链存储该更新后的管理数据,第一管理数据库节点为多个区域单元中的第一区域单元所具有的管理数据库节点。
其中,第一区域单元为该多个区域单元中任一区域单元,由于区域单元中的管理数据链用于存储管理数据,因此,当第一区域单元的第一管理数据库节点接收到管理数据时,可以将该更新后的管理数据存储至自身的管理数据链中。
具体地,由于每个区域单元的管理数据链包括多个第一区块,该多个第一区块中的每个第一区块包括一个管理数据,每个区域单元的管理数据链为第一树形结构,该多个第一区块分别为第一树形结构中的节点,因此,第一管理数据库节点在第一区域单元的管理数据链存储该更新后的管理数据的实现方式可以为:第一管理数据库节点生成新的第一区块,该新的第一区块包括该更新后的管理数据,该第一管理数据库节点将新的第一区块添加为第一信任路径中的最后一个第一区块,该第一信任路径在第一区域单元的管理数据链中拥有最多节点。
由于在图2A所示的分布式云数据中心中,管理数据链中默认的信任路径为包含最多节点的路径,因此,当第一区域单元的第一管理数据库节点在生成第一区块时,可以将该生成的第一区块添加至自身的管理数据链中具有最多节点的路径的末端。
另外,第一区域单元的第一管理数据库节点获取更新后的管理数据的实现方式为:当第一区域单元的管理数据链通过挖矿机制获取到携带管理数据的交易单时,将交易单携带的管理数据确定为更新后的管理数据,该交易单为第二区域单元的管理数据链根据更新之后的管理数据生成并在第一P2P网络中广播的,第二区域单元为除第一区域单元之外的任一区域单元。
需要说明的是,第二区域单元的管理数据链广播的交易单是采用私钥签名之后的交易单,因此,当第一单元区域单元接收到该交易单时,还需采用公钥验证签名的有效性,以确定该交易单的有效性,在确定该交易单有效之后,再执行根据该交易单生成第一区块的步骤。
其中,当每个区域单元的管理数据库节点还包括数据库缓存时,第二区域单元的管理数据链根据更新之后的管理数据生成交易单的实现方式为:
当用户通过第二区域单元对管理数据进行更新时,第二区域单元的管理系统将接收到用户通过预设操作触发的多条配置请求,对于任意一条配置请求,第二区域单元的管理系统获取该配置请求携带的配置信息,并将该配置信息发送给第二区域单元的业务系统,第二区域单元的业务系统根据该配置信息进行相关配置的实施,并在完成实施时向第二区域单元的管理系统响应配置结果,第二区域单元的管理系统根据该配置结果将该配置结果对应的配置信息通过第二区域单元的数据库访问层写入数据库缓存。当第二区域单元的管理系统接收到针对所有配置请求的配置结果时,显示接收到的配置结果,当接收到用户通过预设操作触发的针对配置结果的验收通过信息时,确定配置完成,并通过第二区域单元的数据库访问层获取缓存在第二区域单元的数据库缓存中的所有配置信息,并将获取的所有的配置信息进行打包,得到更新之后的管理数据,然后根据更新之后的管理数据生成交易单,并采用私钥对该交易单进行签名。
也即,在本申请实施例中,管理数据链中的第一区块是基于交付行为粒度划分的,该交付行为包括任何对管理数据进行更新的行为,比如,对管理数据的扩容、对管理数据的升级或对管理数据的改造等。
其中,预设操作可以为点击操作、选择操作或语音操作等。
可选地,当每个区域单元的管理数据库节点还包括数据库缓存时,第一区域单元的管理数据库节点将生成的第一区块添加至自身的管理数据链的信任路径的末端之后,还可将获取到的管理数据缓存在数据库缓存中。具体地,第一区域单元的管理数据链将获取到的管理数据发送至第一区域单元的数据库访问层,第一区域单元的数据库访问层将该管理数据写入第一区域单元的数据库缓存。
另外,第一区域单元的管理数据链中第一个第一区块是根据分布式云数据中心的发行商设置的出厂配置数据得到的。也即,在初始化状态时,第一区域单元的管理数据链根据初始化时的管理数据生成第一个第一区块。
其中,初始化时的管理数据也即分布式云数据中心的发行商设置的出厂配置数据。
步骤402:该第一管理数据库节点指示第二管理数据库节点在第二区域单元的管理数据链中存储该更新后的管理数据,第二区域单元为多个区域单元中除了第一区域单元之外的任一个区域单元,第二区域单元具有第二管理数据库节点,该多个区域单元中不同区域单元的管理数据链用于相互容灾备份。
其中,该第一管理数据库节点指示第二管理数据库节点在第二区域单元的管理数据链中存储该更新后的管理数据,也即是,第一管理数据库节点指示第二管理数据库节点将该新的第一区块添加为第二信任路径中的最后一个第一区块。具体地,该第一管理数据库节点通过广播实现步骤402:该第一区域单元的第一管理数据库节点在第一P2P网络中广播该生成新的第一区块,以使除第一区域单元之外的每个区域单元的管理数据库节点将该生成的新的第一区块加入自身的管理数据链的具有最多节点的路径的末端,其中,第一P2P网络为连接该多个区域单元中的各个区域单元的管理数据链的网络。
需要说明的是,由于分布式云数据中心的各个区域单元共用一套管理数据,因此,需保证各个区域单元中的管理数据链中存储的数据的一致性。因此,当第一区域单元的管理数据库节点在生成新的第一区块之后,还需在第一P2P网络中传输该生成的新的第一区块,以使其他区域单元将该生成的新的第一区块加入自身的管理数据链的具有最多节点的路径的末端,以实现对其他区域单元的管理数据链的更新的目的。
在本申请实施例中,分布式云数据中心包括多个区域单元,当第一区域单元中的第一管理数据库节点获取到更新后的管理数据时,在第一区域单元的管理数据链存储该更新后的管理数据,并指示第二管理数据库节点在第二区域单元的管理数据链中存储该更新后的管理数据。由此可知,在本申请中,当第一管理数据库节点存储更新后的管理数据时,其他区域单元的管理数据库节点也将存储更新后的管理数据,以实现每个区域单元的管理数据库节点中都存储有管理数据,且存储的管理数据一致。也即,在本申请中,每个区域单元中都存储有管理数据,以便于后续每个区域单元可以从自身的管理数据链中获取管理数据,提高了区域单元导致获取管理数据的效率。另外,若某个区域单元出现问题,由于每个区域单元的管理数据链中都存储有管理数据,因此不会出现其他区域单元无法获取到管理数据的情况。
图5是本申请实施例提供的另一种管理数据的存储方法流程图,应用于图2A所示的分布式云数据中心中,且图5所示的管理数据的存储方法用于对图4所示的管理数据的存储方法进一步展开说明。具体地,如图5所示,该方法包括如下步骤:
步骤501:第一管理数据库节点获取更新后的管理数据,并在第一区域单元的管理数据链存储该更新后的管理数据,第一管理数据库节点为多个区域单元中的第一区域单元所具有的管理数据库节点。
其中,步骤501的实现方式和图4所示的实施例中的步骤401的实现方式基本相同,在次不再详细阐述。
步骤502:该第一管理数据库节点指示第二管理数据库节点在第二区域单元的管理数据链中存储该更新后的管理数据,第二区域单元为多个区域单元中除了第一区域单元之外的任一个区域单元,第二区域单元具有第二管理数据库节点,该多个区域单元中不同区域单元的管理数据链用于相互容灾备份。
其中,步骤502的实现方式和图4所示的实施例中的步骤402的实现方式基本相同,在次同样不再详细阐述。
上述步骤501至步骤502用于解释说明图2A所示的分布式云数据中心的某个区域单元的管理数据链的生成过程。下述步骤503用于解释说明如何从分布式云数据中心某个区域单元的管理数据链中读取管理数据。
步骤503:第一区域单元的第一管理数据库节点接收管理数据读取请求,在自身的管理数据链的信任路径的末端的区块读取管理数据。
其中步骤503可以通过下述步骤5031至步骤5033来实现:
步骤5031:当第一区域单元的业务系统接收到管理数据读取请求时,将管理数据读取请求转发给第一区域单元的管理系统。
其中,该管理数据读取请求由用户通过操作触发,由图2A或图2B所示的分布式云数据中心可知,每个区域单元的业务系统并不与管理数据库节点连接,而是由每个区域单元的管理系统与管理数据库节点连接,因此,当第一区域单元的业务系统接收到管理数据读取请求时,需将管理数据读取请求转发给第一区域单元的管理系统。
步骤5032:第一区域单元的管理系统从第一区域单元的第一管理数据库节点中获取管理数据。
具体地,步骤5032的实现方式为:当第一区域单元的管理系统接收到该管理数据读取请求时,第一区域单元的管理系统向第一区域单元的数据库访问层发送管理数据请求消息,第一区域单元的数据库访问层接收管理数据请求消息,并根据第一区域单元的管理数据链确定管理数据,第一区域单元的数据库访问层向第一区域单元的管理系统发送确定的管理数据。
可选地,当每个区域单元的管理数据库节点还包括数据库缓存时,第一区域单元的管理数据库节点在自身的管理数据链的信任路径的末端的生成的第一区块读取该管理数据之前,第一区域单元的管理数据库节点确定自身的数据库缓存中是否存储有该管理数据,若是,第一区域单元的第一管理数据库节点从自身的数据库缓存中获取该管理数据,若否,第一区域单元的第一管理数据库节点再执行在自身的管理数据链的具有最多节点的路径末端的生成的第一区块读取该管理数据的步骤。
具体地,第一区域单元的数据库访问层根据第一区域单元的管理数据链确定管理数据之前,还可以先确定第一区域单元的数据库缓存中是否存储有管理数据,若是,则从第一区域单元的数据库缓存中获取管理数据;若否,则执行根据第一区域单元的管理数据链和变更审计数据链确定管理数据的步骤。
也即,第一区域单元的管理系统是通过第一区域单元的数据库访问层获取管理数据的,而第一区域单元的数据库访问层在从管理数据链中获取管理数据之前,先确定数据库缓存中是否存储有管理数据,以提高获取管理数据的效率,若第一区域单元的数据库访问层没有从第一区域单元的数据库缓存中获取到管理数据,则再从管理数据链中获取管理数据。
其中,第一区域单元的数据库访问层根据第一区域单元的管理数据链确定管理数据的实现方式可以为:第一区域单元的数据库访问层向第一区域单元的管理数据链转发管理数据去取请求,当第一区域单元的管理数据链接收到该管理数据读取请求时,第一区域单元的管理数据链查找具有最多节点的路径的末端的第一区块,并从查找到的第一区块中获取管理数据,第一区域单元的管理数据链将获取的管理数据发送至第一区域单元的数据库访问层。
步骤5033:第一区域单元的管理系统将获取的管理数据发送至第一区域单元的业务系统。
当第一区域单元的管理系统接收到第一区域单元的数据库访问层发送的管理数据,第一区域单元的管理系统将接收到的管理数据发送至第一区域单元的业务系统,以完成读取管理数据的过程。
上述步骤503用于解释说明如何从图2A所示的云分布数据中心中读取管理数据,实际应用中,若分布式云数据中心的某个区域单元发生故障,则有可能导致该区域单元的管理数据链也出现问题,此时需要对该区域单元的管理数据链进行恢复。下述步骤504用于解释说明如何对区域单元的管理数据链进行恢复。
步骤504:在第一区域单元发生故障导致自身的管理数据链出现问题后,第一区域单元的第一管理数据库节点接收数据恢复请求,将自身的管理数据链重新加入第一P2P网络,并从第一P2P网络中重新加载区块信息,返回数据恢复确认消息。
具体地,步骤504可以通过以下几个步骤实现:
(1)在第一区域单元发生故障后,当第一区域单元的管理系统接收到数据恢复请求时,将数据恢复请求发送至第一区域单元的数据库访问层,数据恢复请求用于指示重新加载管理数据链,第一区域单元的数据库访问层接收数据恢复请求,并向第一区域单元的管理数据链发送网络加入请求。
其中,数据恢复请求由管理人员通过预设操作触发,也即,在第一区域单元发生故障后,当管理人员需要恢复该第一区域单元时,可以通过预设操作触发该数据恢复请求。
另外,由于第一区域单元在发生故障时,第一区域单元的管理数据链可能已经不在第一P2P网络中,因此,需先通过网络加入请求使第一区域单元的管理数据链重新加入第一P2P网络,以重新恢复第一区域单元的管理数据链中的区块数据。
(2)第一区域单元的管理数据链接收网络加入请求,重新加入第一P2P网络,并从第一P2P网络中重新加载区块信息,在得到自身的各个区块之后向第一区域单元的数据库访问层发送第一网络加入确认消息。
其中,第一区域单元的管理数据链接收网络加入请求,重新加入第一P2P网络的实现方式为:第一区域单元的管理数据链在第一P2P网路中广播网络加入请求,该网络加入请求携带第一区域单元的身份信息,当第一P2P网路中的其他区域单元接收到该网络加入请求时,对第一区域单元的身份信息进行验证,并广播验证结果,以确定是否允许第一区域单元加入第一P2P网路。
第一区域单元从第一P2P网络中重新加载区块信息的实现方式可以为:第一区域单元的管理数据链向第一P2P网络中任意一个其他区域单元的管理数据链发送管理数据链获取请求,当其他区域单元的管理数据链接收到该管理数据链获取请求时,向第一区域单元的管理数据链发送自身的链条中的区块,以使第一区域单元的管理数据链可以得到各个区块。
(3)第一区域单元的数据库访问层接收第一网络加入确认消息,并向第一区域单元的管理系统发送数据恢复确认消息。
当第一区域单元的数据库访问层接收到第一区域单元的管理数据链发送的第一网络加入确认消息时,确定当前第一区域单元的管理数据链的数据得到恢复,因此,第一区域单元的数据库访问层可以向第一区域单元的管理系统发送数据恢复确认消息。
进一步地,当每个区域单元的管理数据库节点还包括数据库缓存时,在第一区域单元发生故障时,第一区域单元的数据库缓存中的存储的管理数据可能已失效,因此,当第一区域单元的管理数据链中的数据得到恢复时,可以重新将最新的管理数据存储至第一区域单元的数据库缓存中。
具体地,第一区域单元的数据库访问层确定第一区域单元的数据库缓存中是否存储有管理数据,若否,则根据第一区域单元的管理数据链确定管理数据,并将确定的管理数据写入第一区域单元的数据库缓存中。
其中,第一区域单元的数据库访问层根据第一区域单元的管理数据链和确定管理数据在步骤504中已进行了详细解释说明,在此不再展开说明。
在本申请实施例中,分布式云数据中心包括多个区域单元,当第一区域单元中的第一管理数据库节点获取到更新后的管理数据时,在第一区域单元的管理数据链存储该更新后的管理数据,并指示第二管理数据库节点在第二区域单元的管理数据链中存储该更新后的管理数据。由此可知,在本申请中,当第一管理数据库节点存储更新后的管理数据时,其他区域单元的管理数据库节点也将存储更新后的管理数据,以实现每个区域单元的管理数据库节点中都存储有管理数据,且存储的管理数据一致。也即,在本申请中,每个区域单元中都存储有管理数据,以便于后续每个区域单元可以从自身的管理数据链中获取管理数据,提高了区域单元导致获取管理数据的效率。另外,若某个区域单元出现问题,由于每个区域单元的管理数据链中都存储有管理数据,因此不会出现其他区域单元无法获取到管理数据的情况。
图6是本申请实施例提供的另一种存储管理数据的方法流程图,应用于图2B的分布式云数据中心中,如图6所示,该方法包括如下步骤:
步骤601:第一区域单元的第一管理数据库节点获取更新后的管理数据,根据该更新后的管理数据生成新的第一区块,该第一区域单元为多个区域单元中的任一区域单元。
其中,根据该更新后的管理数据生成新的第一区块,也即是,生成的新的第一区块包括该更新后的管理数据。另外,第一管理数据库节点获取更新后的管理数据的实现方式以及生成新的第一区块的实现方式已经在图4实施例中的步骤中进行了详细解释,在此不再展开阐述。
步骤602:该第一区域单元的第一管理数据库节点存储生成的第一区块。
在本申请实施例中,管理数据链的信任路径不再是默认的具有最多节点的路径,而是指定的信任路径,因此,当该第一区域单元的第一管理数据库节点生成第一区块之后,需要先通过变更审计数据链确定当前的第一信任路径,并将该第一区块添加至自身的管理数据链中第一信任路径的末端。
具体地,步骤602的实现方式为:第一管理数据库节点根据第一区域单元的变更审计数据链中的第三信任路径确定第一信任路径,第三信任路径在第一区域单元的变更审计数据链中拥有最多节点,并将该新的第一区块添加为第一信任路径中的最后一个第一区块。
需要说明的是,在本发明实施例中,采用变更审计链存储管理数据链中当前信任路径的信息,变更审计链自身信息的可信度仍采用只信任具有最多节点的路径的方法保证,获取和写入信任路径的操作由系统内部完成,从而有效保证信任路径条信息的可信度。也即是,第三信任路径在第一区域单元的变更审计数据链中拥有最多节点。
也即,在本发明实施例中,是由变更审计数据链中的区块来记录管理数据链中的信任路径信息。因此,当第一区域单元的管理数据链将生成的第一区块添加至自身的信任路径的末端之前,第一区域单元的管理数据链通过第一区域单元的数据库访问层确定第一区域单元的变更审计数据链中的具有最多节点的路径的末端区块,并根据第一区域单元的变更审计数据链中的具有最多节点的路径的末端区块确定自身的信任路径。
具体地,第一管理数据库节点根据第一区域单元的变更审计数据链中的第三信任路径确定第一信任路径的实现方式可以为:第一区域单元的管理数据链可以向第一区域单元的数据库访问层发送信任路径读取请求,当第一区域单元的数据库访问层接收到该信任路径读取请求时,将该信任路径读取请求发送至第一区域单元的变更审计数据链。当第一区域单元的变更审计数据链接收到该信任路径读取请求时,确定自身的具有最多节点的路径的末端的第二区块,从具有最多节点的路径的末端的第二区块中获取第一区域单元的管理数据链中的信任路径的末端的第一区块的标识,并将获取的第一区块的标识发送至第一区域单元的数据库访问层。第一区域单元的数据库访问层将接收到的第一区块的标识发送至第一区域单元的管理数据链。当第一区域单元的管理数据链接收到该第一区块的标识时,从自身的数据链中查找末端区块的标识为该第一区块的标识的路径,将查找到的路径确定为第一信任路径。
可选地,当每个区域单元的管理数据库节点还包括数据库缓存时,第一区域单元的管理数据库节点将生成的第一区块添加至自身的管理数据链的第一信任路径的末端之后,还可将接收到的管理数据缓存在数据库缓存中。具体地,第一区域单元的管理数据链将接收到的管理数据发送至第一区域单元的数据库访问层,第一区域单元的数据库访问层将该管理数据写入第一区域单元的数据库缓存。
另外,第一区域单元的管理数据链中第一个第一区块是根据分布式云数据中心的发行商设置的出厂配置数据得到的。也即,在初始化状态时,第一区域单元的管理数据链根据初始化时的管理数据生成第一个第一区块。且第一区域单元的管理数据链通过第一区域单元的数据库访问层向第一区域单元的变更审计数据链发送第二更新请求,第一区域单元的变更审计数据链接收第二更新请求,并生成第一个第二区块,第一个第二区块用于指示第一区域单元的管理数据链中信任路径的末端区块为第一个第一区块。
其中,初始化时的管理数据也即分布式云数据中心的发行商设置的出厂配置数据。
另外,当第一区域单元的管理数据链在信任路径的末端添加生成的第一区块之后,表明当前管理数据链中第一信任路径的末端的第一区块发生了变化,因此需要对变更审计数据链进行更新。具体地,管理数据链可以生成第一更新请求,并根据该第一更新请求通过下述步骤603实现对变更审计数据链的更新。
步骤603:第一区域单元的第一管理数据库节点向自身的变更审计数据链发送第一更新请求,并在自身的变更审计数据链具有最多节点的路径的末端新增第二区块,新增的第二区块用于指示第一区域单元的管理数据链中的信任路径的末端区块为该生成的第一区块。
具体地,步骤603的实现方式可以为:第一区域单元的管理数据链向第一区域单元的数据库访问层发送第一更新请求,该第一更新请求携带步骤601中生成的第一区块的标识。当第一区域单元的数据库访问层接收到该第一更新请求时,将该第一更新请求发送至第一区域单元的变更审计数据链。第一区域单元的变更审计数据链接收第一更新请求,并在自身具有最多节点的路径中新增第二区块,当前新增的第二区块用于指示当前第一区域单元的管理数据链中的信任路径的末端区块为生成的第一区块。
由于第一更新请求携带步骤601中生成的第一区块的标识,因此,当第一区域单元的变更审计数据链接收到该第一更新请求时,根据第一更新请求中携带的第一区块的标识生成第二区块,并将生成的第二区块添加至自身具有最多节点的路径的末端,生成的第二区块中存储有步骤601中生成的第一区块的标识。
步骤604:第一区域单元的第一管理数据库节点在第一P2P网络中广播该生成的第一区块,以使除该第一区域单元之外的每个区域单元的管理数据库节点将生成的第一区块加入自身的管理数据链的信任路径的末端,并使该第一区域单元之外的每个区域单元的管理数据库节点在自身变更审计数据链具有最多节点的路径中新增第二区块。
需要说明的是,由于分布式云数据中心的各个区域单元共用一套管理数据,因此,需保证各个区域单元中的管理数据链和变更审计数据链中存储的数据的一致性。因此,当第一区域单元的管理数据链在生成第一区块之后,还需在第一P2P网络中传输生成的第一区块,以使其他区域单元根据步骤604更新自身的管理数据链和变更审计数据链。
其中,其他区域单元的变更审计数据链在自身的具有最多节点的路径中新增第二区块的实现方式和第一区域的变更审计数据链在自身的具有最多节点的路径中新增第二区块的实现方式基本相同,在此不再详细阐述。
在本申请实施例中,分布式云数据中心包括多个区域单元,每个区域单元的管理数据库节点包括管理数据链和变更审计数据链。当第一区域单元获取到更新后的管理数据时,根据该更新后的管理数据生成第一区块,并根据变更审计数据链确定管理数据链的第一信任路径,然后根据该第一信任路径将该第一区块存储至管理数据链中。之后,第一区域单元的管理数据库节点在第一P2P网络中广播生成的第一区块,以使除第一区域单元之外的每个区域单元的管理数据库节点将该生成的第一区块加入自身的管理数据链的信任路径的末端。也即,在本申请实施例中,每个区域单元中都存储有管理数据,以便于后续每个区域单元可以从自身的管理数据链中获取管理数据,提高了区域单元导致获取管理数据的效率。另外,若某个区域单元出现问题,由于每个区域单元的管理数据链中都存储有管理数据,因此不会出现其他区域单元无法获取到管理数据的情况。
图7是本申请实施例提供的另一种存储管理数据的方法流程图,应用于图2B所示的分布式云数据中心中,且图7所示的存储管理数据的方法用于对图6所示的存储管理数据的方法进一步展开说明。具体地,如图6所示,该方法包括如下步骤:
步骤701:第一区域单元的第一管理数据库节点获取更新后的管理数据,根据该更新后的管理数据生成第一区块,该第一区域单元为多个区域单元中的任一区域单元。
其中,步骤701的实现方式和图6所示的实施例中的步骤601的实现方式基本相同,在次同样不再详细阐述。
步骤702:该第一区域单元的第一管理数据库节点存储生成的第一区块。
其中,步骤702的实现方式和图6所示的实施例中的步骤602的实现方式基本相同,在次同样不再详细阐述。
步骤703:第一区域单元的第一管理数据库节点向自身的变更审计数据链发送第一更新请求,并在自身的变更审计数据链的具有最多节点的路径的末端新增第二区块,新增的第二区块用于指示第一区域单元的管理数据链中的信任路径的末端区块为该生成的第一区块。
其中,步骤703的实现方式和图6所示的实施例中的步骤603的实现方式基本相同,在次同样不再详细阐述。
步骤704:第一区域单元的第一管理数据库节点在第一P2P网络中广播该生成的第一区块,以使除该第一区域单元之外的每个区域单元的管理数据库节点将生成的第一区块加入自身的管理数据链的信任路径的末端,并使该第一区域单元之外的每个区域单元的管理数据库节点在自身变更审计数据链的具有最多节点的路径中新增第二区块。
其中,步骤704的实现方式和图6所示的实施例中的步骤604的实现方式基本相同,在次同样不再详细阐述。
上述步骤701至步骤704用于解释说明如何确定每个区域单元的管理数据链和变更审计数据链,也即,用于解释说明向每个区域单元的管理数据链和变更审计数据链写入管理数据的过程。接下来针对区域单元的管理数据链和变更审计数据链的应用展开说明。其中,针对区域单元的管理数据链和变更审计数据链的应用包括以下两个方面:
(1)如何从区域单元的管理数据链和变更审计数据链中读取管理数据;
(2)如何根据区域单元的管理数据链和变更审计数据链进行管理数据的恢复。
其中,下述步骤705用于解释说明如何从区域单元的管理数据链和变更审计数据链中读取管理数据,下述步骤706和步骤707用于解释说明如何根据区域单元的管理数据链和变更审计数据链进行管理数据的恢复。
步骤705:当第一区域单元的第一管理数据库节点接收管理数据读取请求,获取管理数据。
在本申请实施例中,第一区域单元的第一管理数据库节点接收管理数据读取请求,确定自身的变更审计数据链中的具有最多节点的路径的末端区块,第一区域单元的第一管理数据库节点根据自身的变更审计数据链中的具有最多节点的路径的末端区块确定自身管理数据链中的信任路孔,第一区域单元的第一管理数据库节点在自身的管理数据链的具有最多节点的路径末端的第一区块读取该管理数据。也即是,第一管理数据库节点根据第三信任路径确定第一信任路径,并在第一信任路径中的最后一个第一区块读取管理数据。
具体地,上述过程可以通过下述步骤7051至步骤7053来实现:
步骤7051:当第一区域单元的业务系统接收到管理数据读取请求时,将管理数据读取请求转发给第一区域单元的管理系统。
其中,该管理数据读取请求由用户通过操作触发,由图2B所示的分布式云数据中心可知,每个区域单元的业务系统并不与管理数据库节点连接,而是由每个区域单元的管理系统与管理数据库节点连接,因此,当第一区域单元的业务系统接收到管理数据读取请求时,需将管理数据读取请求转发给第一区域单元的管理系统。
步骤7052:第一区域单元的管理系统从第一区域单元的管理数据库节点中获取管理数据。
具体地,步骤7052的实现方式为:当第一区域单元的管理系统接收到该管理数据读取请求时,第一区域单元的管理系统向第一区域单元的数据库访问层发送该管理数据读取请求,第一区域单元的数据库访问层接收该管理数据读取请求,并根据第一区域单元的管理数据链和变更审计数据链确定管理数据,第一区域单元的数据库访问层向第一区域单元的管理系统发送确定的管理数据。
进一步地,当每个区域单元的管理数据库节点还包括数据库缓存时,第一区域单元的数据库访问层根据第一区域单元的管理数据链和变更审计数据链确定管理数据之前,还可以先确定第一区域单元的数据库缓存中是否存储有管理数据,若是,则从第一区域单元的数据库缓存中获取管理数据;若否,则执行根据第一区域单元的管理数据链和变更审计数据链确定管理数据的步骤。
也即,第一区域单元的管理系统是通过第一区域单元的数据库访问层获取管理数据的,而第一区域单元的数据库访问层在从管理数据链和变更审计数据链中获取管理数据之前,先确定数据库缓存中是否存储有管理数据,以提高获取管理数据的效率,若第一区域单元的数据库访问层没有从第一区域单元的数据库缓存中获取到管理数据,则再从管理数据链和变更审计数据链中获取管理数据。
其中,第一区域单元的数据库访问层根据第一区域单元的管理数据链和变更审计数据链确定管理数据的实现方式可以为:第一区域单元的数据库访问层向第一区域单元的变更审计数据链发送信任路径读取请求,第一区域单元的变更审计数据链接收信任路径读取请求,并查找自身的具有最多节点的路径的末端第二区块,第一区域单元的变更审计数据链根据查找到的第二区块,确定第一区域单元的管理数据链的信任路径的末端的第一区块的标识,并将信任路径的末端的第一区块的标识发送至第一区域单元的数据库访问层,第一区域单元的数据库访问层将信任路径的末端的第一区块的标识发送至第一区域单元的管理数据链,第一区域单元的管理数据链根据信任路径的末端的第一区块的标识查找对应的第一区块,并从查找到的第一区块中获取管理数据,第一区域单元的管理数据链将获取的管理数据发送至第一区域单元的数据库访问层。
也即,第一区域单元的数据库访问层是先通过第一区域单元的变更审计数据链确定第一区域单元的管理数据中的信任路径,然后再根据确定的信任链从管理数据链中获取管理数据,以保证获取到的管理数据的可信性。
步骤7053:第一区域单元的管理系统将获取的管理数据发送至第一区域单元的业务系统。
当第一区域单元的管理系统接收到第一区域单元的数据库访问层发送的管理数据,第一区域单元的管理系统将接收到的管理数据发送至第一区域单元的业务系统,以完成读取管理数据的过程。
步骤706:在第一区域单元发生故障导致自身的管理数据链出现问题后,当第一区域单元的第一管理数据库节点接收第一类数据恢复请求时,第一区域单元的第一管理数据库节点进行数据恢复。
也即,在第一区域单元发生故障导致自身的管理数据链出现问题后,第一区域单元的第一管理数据库节点接收第一类数据恢复请求,将自身的管理数据链重新加入第一P2P网络,从第一P2P网络中重新加载区块信息,并将自身的变更审计数据链重新加入第二P2P网络,从第二P2P网络中重新加载区块信息,第一区域单元的第一管理数据库节点返回数据恢复确认消息。
具体地,上述过程可以通过以下几个步骤实现:
(1)在第一区域单元发生故障后,当第一区域单元的管理系统接收到第一类数据恢复请求时,将第一类数据恢复请求发送至第一区域单元的数据库访问层,第一类数据恢复请求用于指示重新加载管理数据链和变更审计数据链,第一区域单元的数据库访问层接收第一类数据恢复请求,并分别向第一区域单元的管理数据链和变更审计数据链发送网络加入请求。
其中,第一类数据恢复请求由管理人员通过预设操作触发,也即,在第一区域单元发生故障后,当管理人员需要恢复该第一区域单元时,可以通过预设操作触发该第一类数据恢复请求。
另外,由于第一区域单元在发生故障时,第一区域单元的管理数据链和变更审计数据链可能已经不再第一P2P网络和第二P2P网络中,因此,需先通过网络加入请求使第一区域单元的管理数据链和变更审计数据链重新加入第一P2P网络和第二P2P网络,以重新恢复第一区域单元的管理数据链和变更审计数据链中的区块数据。
(2)第一区域单元的管理数据链接收网络加入请求,重新加入第一P2P网络,并从第一P2P网络中重新加载区块信息,在得到自身的各个区块之后向第一区域单元的数据库访问层发送第一网络加入确认消息,第一区域单元的变更审计数据链接收网络加入请求,重新加入第二P2P网络,并从第二P2P网络中重新加载区块信息,在得到自身的各个区块之后向第一区域单元的数据库访问层发送第二网络加入确认消息。
其中,第一区域单元的管理数据链接收网络加入请求,重新加入第一P2P网络的实现方式为:第一区域单元的管理数据链在第一P2P网路中广播网络加入请求,该网络加入请求携带第一区域单元的身份信息,当第一P2P网路中的其他区域单元接收到该网络加入请求时,对第一区域单元的身份信息进行验证,并广播验证结果,以确定是否允许第一区域单元加入第一P2P网路。
第一区域单元从第一P2P网络中重新加载区块信息的实现方式可以为:第一区域单元的管理数据链向第一P2P网络中任意一个其他区域单元的管理数据链发送管理数据链获取请求,当其他区域单元的管理数据链接收到该管理数据链获取请求时,向第一区域单元的管理数据链发送自身的链条中的区块,以使第一区域单元的管理数据链可以得到各个区块。
第一区域单元从第二P2P网络中重新加载区块信息的实现方式可以为:第一区域单元的变更审计数据链向第二P2P网络中任意一个其他区域单元的变更审计数据链发送变更审计数据链获取请求,当其他区域单元的变更审计数据链接收到该变更审计数据链获取请求时,向第一区域单元的变更审计数据链发送自身的链条中的区块,以使第一区域单元的变更审计数据链可以得到各个区块。
(3)第一区域单元的数据库访问层接收第一网络加入确认消息和第二网络加入确认消息,并向第一区域单元的管理系统发送数据恢复确认消息。
当第一区域单元的数据库访问层分别接收到第一区域单元的管理数据链发送的第一网络加入确认消息和第一区域单元的变更审计数据链发送的第二网络加入确认消息时,确定当前第一区域单元的管理数据链和变更审计数据链中的数据得到恢复,因此,第一区域单元的数据库访问层可以向第一区域单元的管理系统发送数据恢复确认消息。
进一步地,当每个区域单元的管理数据库节点还包括数据库缓存时,在第一区域单元发生故障时,第一区域单元的数据库缓存中的存储的管理数据可能已失效,因此,当第一区域单元的管理数据链和变更审计数据链中的数据得到恢复时,可以重新将最新的管理数据存储至第一区域单元的数据库缓存中。
具体地,第一区域单元的数据库访问层确定第一区域单元的数据库缓存中是否存储有管理数据,若否,则根据第一区域单元的管理数据链和变更审计数据链确定管理数据,并将确定的管理数据写入第一区域单元的数据库缓存中。
其中,第一区域单元的数据库访问层根据第一区域单元的管理数据链和变更审计数据链确定管理数据在步骤705中已进行了详细解释说明,在此不再展开说明。
为了后续便于说明,将上述对第一区域中的管理数据库节点中的管理数据链和变更审计数据链进行恢复的过程称为第一类型的数据恢复。另外,该第一类型的数据恢复可以应用于容灾回切过程中,也可以应用于区域单元对应的设备或系统发生故障而导致本地存储的管理数据被损坏的场景中。
下述步骤707用于介绍本申请实施例提供的第二类型数据恢复,该第二类型数据恢复应用于逻辑错误场景。其中,逻辑错误场景是指由于有意或无意的失误,管理数据被按照正常的配置流程配置成错误的值的场景,该场景下由于配置流程正常,所以全部区域单元的当前有效数据都会被配置成错误数据。该场景下,为了恢复到正确数据,必须从历史上某一正确的时刻进行恢复,具体可以通过下述步骤707实现。
步骤707:当第一区域单元的第一管理数据库节点接收第二类数据恢复请求时,第一区域单元的第一管理数据库节点进行数据恢复,第二类数据恢复请求用于指示将指定时刻时的管理数据确定为有效的管理数据。
其中,第一区域单元的管理数据库节点进行数据恢复的实现方式可以为:第一管理数据库节点获取数据恢复请求中携带的指定时刻,第一管理数据库节点根据该指定时刻,在第一区域单元的管理数据链中查询时间戳与该指定时刻匹配的第一区块,该第一管理数据库节点根据查找到的第一区块,生成新的第二区块,将该新的第二区块添加为第三信任路径中的最后一个第二区块,该新的第二区块用于根据该查找到的第一区块重置第一信任路径。
具体地,当第一区域单元的管理系统接收到第二类数据恢复请求时,将第二类数据恢复请求发送至第一区域单元的数据库访问层,第一区域单元的数据库访问层根据指定时刻,从第一区域单元的管理数据链中查询时间戳与指定时刻匹配的第一区块,第一区域单元的数据库访问层根据查找到的第一区块,向第一区域单元的变更审计数据链发送信任路径重置请求,第一区域单元的变更审计数据链接收信任路径重置请求,并在自身具有最多节点的路径的末端新增一个第二区块,当前新增的第二区块用于指示当前管理数据链的信任路径的末端区块为查找的第一区块,第一区域单元的变更审计数据链向第一区域单元的数据库访问层发送信任路径重置确认消息,第一区域单元的数据库访问层接收信任链重置确认消息,并向第一区域单元的管理系统发送数据恢复确认消息。
其中,第一区域单元的数据库访问层根据指定时刻,从第一区域单元的管理数据链中查询时间戳与指定时刻匹配的第一区块的实现方式为:第一区域单元的数据库访问层向第一区域单元的管理数据链发送区块查询请求,该区块查询请求携带该指定时刻,当第一区域单元的管理数据链接收到该区块查询请求时,根据该指定时刻从自身的链条中查找时间戳与该指定时刻匹配的第一区块,并将查找到的第一区块的标识发送至第一区域单元的数据库访问层。
此时,第一区域单元的数据库访问层向第一区域单元的变更审计数据链发送的信任路径重置请求中携带该查找到的第一区块的标识,以使第一区域单元的变更审计数据链将该第一区块的标识存储至新增的第二区块中。
进一步地,由于在第二类型数据恢复中,全部区域单元的当前有效数据都会被配置成错误数据,因此,第一区域单元的变更审计数据链在自身的具有最多节点的路径的末端新增一个第二区块之后,第一区域单元的变更审计数据链在第二P2P网络中广播当前新增的第二区块,以使除第一区域单元之外的每个区域单元将当前新增的第二区块添加至自身的变更审计数据链的具有最多节点的路径的末端,以实现对全部区域单元的有效数据进行重新配置。
其中,当每个区域单元的管理数据库节点还包括数据库缓存时,在进行第二类型数据恢复时,表明当前数据库缓存中存储的数据也为错误的数据,因此,第一区域单元的数据库访问层向第一区域单元的管理系统发送数据恢复确认消息之前,还可以确定查找到的第一区块中的管理数据,并将确定的管理数据写入第一区域单元的数据库缓存,以使第一区域单元的数据库缓存中的管理数据得到更新。
在本申请实施例中,分布式云数据中心包括多个区域单元,每个区域单元的管理数据库节点包括管理数据链和变更审计数据链。当第一区域单元获取到更新后的管理数据时,根据该更新后的管理数据生成第一区块,并根据变更审计数据链确定管理数据链的第一信任路径,然后根据该第一信任路径将该第一区块存储至管理数据链中。之后,第一区域单元的管理数据库节点在第一P2P网络中广播生成的第一区块,以使除第一区域单元之外的每个区域单元的管理数据库节点将该生成的第一区块加入自身的管理数据链的信任路径的末端。也即,在本申请实施例中,每个区域单元中都存储有管理数据,以便于后续每个区域单元可以从自身的管理数据链中获取管理数据,提高了区域单元导致获取管理数据的效率。另外,若某个区域单元出现问题,由于每个区域单元的管理数据链中都存储有管理数据,因此不会出现其他区域单元无法获取到管理数据的情况。
参见图8,本申请实施例提供了一种管理数据的存储设备800,应用于分布式云数据中心中的第一管理数据库节点,该第一管理数据库节点为多个区域单元中的第一区域单元所具有的管理数据库节点,该分布式云数据中心包括多个区域单元,如图8所示,该设备包括第一存储模块801和第二存储模块802:
第一存储模块801,用于执行图4实施例中的步骤401或图5实施例中的步骤501;
第一存储模块802,用于执行图4实施例中的步骤402或图5实施例中的步骤502;
可选地,每个区域单元的管理数据链包括多个第一区块,该多个第一区块中的每个第一区块包括一个管理数据,每个区域单元的管理数据链为第一树形结构,该多个第一区块分别为该第一树形结构中的节点;
第一存储模块801包括:
生成单元,用于生成新的第一区块,该新的第一区块包括该更新后的管理数据;
添加单元,用于将该新的第一区块添加为第一信任路径中的最后一个第一区块;
该第二存储模块包括:
指示单元,用于指示该第二管理数据库节点将该新的第一区块添加为第二信任路径中的最后一个第一区块。
可选地,该第一信任路径在该第一区域单元的管理数据链中拥有最多节点,该第二信任路径在该第二管理数据库节点所在的该第二区域单元的管理数据链中拥有最多节点。
可选地,每个区域单元还包括变更审计数据链,每个区域单元的变更审计数据链包括多个第二区块,该多个第二区块之间相互连接形成具有至少一个分支的第二树型结构,该多个第二区块分别为该第二树型结构中的节点;
该第一存储模块801还包括:
确定单元,用于根据该第一区域单元的变更审计数据链中的第三信任路径确定该第一信任路径,该第三信任路径在该第一区域单元的变更审计数据链中拥有最多节点。
可选地,该设备还包括:
第一接收模块,用于接收管理数据读取请求,根据该第三信任路径确定该第一信任路径,并在该第一信任路径中的最后一个第一区块读取该更新后的管理数据。
可选地,每个第一区块具有时间戳,每个第一区块的时间戳用于指示其上管理数据对应的时刻;
该设备800还包括:
第二接收模块,用于接收数据恢复请求,获取该数据恢复请求中携带的指定时刻,其中,该数据恢复请求用于指示将该指定时刻的管理数据确定为有效的管理数据;
查询模块,用于根据该指定时刻,在该第一区域单元的管理数据链中查询时间戳与该指定时刻匹配的第一区块;
生成模块,用于根据查找到的第一区块,生成新的第二区块,将该新的第二区块添加为该第三信任路径中的最后一个第二区块,该新的第二区块用于根据该查找到的第一区块重置该第一信任路径。
在本申请实施例中,分布式云数据中心包括多个区域单元,当第一区域单元中的第一管理数据库节点获取到更新后的管理数据时,在第一区域单元的管理数据链存储该更新后的管理数据,并指示第二管理数据库节点在第二区域单元的管理数据链中存储该更新后的管理数据。由此可知,在本申请中,当第一管理数据库节点存储更新后的管理数据时,其他区域单元的管理数据库节点也将存储更新后的管理数据,以实现每个区域单元的管理数据库节点中都存储有管理数据,且存储的管理数据一致。也即,在本申请中,每个区域单元中都存储有管理数据,以便于后续每个区域单元可以从自身的管理数据链中获取管理数据,提高了区域单元导致获取管理数据的效率。另外,若某个区域单元出现问题,由于每个区域单元的管理数据链中都存储有管理数据,因此不会出现其他区域单元无法获取到管理数据的情况。
需要说明的是:上述实施例提供的管理数据的存储设备在进行管理数据的存储时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的管理数据的存储设备与管理数据的存储方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(Digital Versatile Disc,DVD))、或者半导体介质(例如:固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

1.一种管理数据的存储方法,其特征在于,应用于分布式云数据中心,所述分布式云数据中心包括多个区域单元,所述多个区域单元中的每个区域单元包括管理数据链和变更审计数据链,所述方法包括:
第一管理数据库节点获取更新后的管理数据,并基于第一区域单元的变更审计数据链记录的信任路径信息在第一区域单元的管理数据链存储所述更新后的管理数据,所述第一管理数据库节点为所述多个区域单元中的第一区域单元所具有的管理数据库节点,所述信任路径信息为所述第一区域单元的管理数据链中的信任路径信息;
所述第一管理数据库节点指示第二管理数据库节点在第二区域单元的管理数据链中存储所述更新后的管理数据,所述第二区域单元为所述多个区域单元中除了所述第一区域单元之外的任一个区域单元,所述第二区域单元具有所述第二管理数据库节点,所述多个区域单元中不同区域单元的管理数据链用于相互容灾备份。
2.根据权利要求1所述的方法,其特征在于,每个区域单元的管理数据链包括多个第一区块,所述多个第一区块中的每个第一区块包括一个管理数据,每个区域单元的管理数据链为第一树形结构,所述多个第一区块分别为所述第一树形结构中的节点;
所述第一管理数据库节点基于第一区域单元的变更审计数据链记录的信任路径信息在第一区域单元的管理数据链存储所述更新后的管理数据,包括:
所述第一管理数据库节点生成新的第一区块,所述新的第一区块包括所述更新后的管理数据;
所述第一管理数据库节点基于第一区域单元的变更审计数据链记录的信任路径信息确定第一信任路径;
所述第一管理数据库节点将所述新的第一区块添加为所述第一信任路径中的最后一个第一区块;
所述第一管理数据库节点指示第二管理数据库节点在第二区域单元的管理数据链中存储所述更新后的管理数据,包括:
所述第一管理数据库节点指示所述第二管理数据库节点将所述新的第一区块添加为第二信任路径中的最后一个第一区块。
3.根据权利要求2所述的方法,其特征在于,所述第一信任路径在所述第一区域单元的管理数据链中拥有最多节点,所述第二信任路径在所述第二管理数据库节点所在的所述第二区域单元的管理数据链中拥有最多节点。
4.根据权利要求2所述的方法,其特征在于,每个区域单元的变更审计数据链包括多个第二区块,所述多个第二区块之间相互连接形成具有至少一个分支的第二树型结构,所述多个第二区块分别为所述第二树型结构中的节点;
所述第一管理数据库节点基于第一区域单元的变更审计数据链记录的信任路径信息确定第一信任路径,包括:
所述第一管理数据库节点根据所述第一区域单元的变更审计数据链中的第三信任路径确定所述第一信任路径,所述第三信任路径在所述第一区域单元的变更审计数据链中拥有最多节点。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述第一管理数据库节点接收管理数据读取请求,根据所述第三信任路径确定所述第一信任路径,并在所述第一信任路径中的最后一个第一区块读取所述更新后的管理数据。
6.根据权利要求4所述的方法,其特征在于,每个第一区块具有时间戳,每个第一区块的时间戳用于指示其上管理数据对应的时刻;
所述方法还包括:
所述第一管理数据库节点接收数据恢复请求,获取所述数据恢复请求中携带的指定时刻,其中,所述数据恢复请求用于指示将所述指定时刻的管理数据确定为有效的管理数据;
所述第一管理数据库节点根据所述指定时刻,在所述第一区域单元的管理数据链中查询时间戳与所述指定时刻匹配的第一区块;
所述第一管理数据库节点根据查找到的第一区块,生成新的第二区块,将所述新的第二区块添加为所述第三信任路径中的最后一个第二区块,所述新的第二区块用于根据所述查找到的第一区块重置所述第一信任路径。
7.一种管理数据的存储设备,其特征在于,应用于分布式云数据中心中的第一管理数据库节点,所述分布式云数据中心包括多个区域单元,所述多个区域单元中的每个区域单元包括管理数据链和变更审计数据链,所述第一管理数据库节点为多个区域单元中的第一区域单元所具有的管理数据库节点,所述设备包括:
第一存储模块,用于获取更新后的管理数据,并基于第一区域单元的变更审计数据链记录的信任路径信息在第一区域单元的管理数据链存储所述更新后的管理数据,所述第一管理数据库节点为所述多个区域单元中的第一区域单元所具有的管理数据库节点,所述信任路径信息为所述第一区域单元的管理数据链中的信任路径信息;
第二存储模块,用于指示第二管理数据库节点在第二区域单元的管理数据链中存储所述更新后的管理数据,所述第二区域单元为所述多个区域单元中除了所述第一区域单元之外的任一个区域单元,所述第二区域单元具有所述第二管理数据库节点,所述多个区域单元中不同区域单元的管理数据链用于相互容灾备份。
8.根据权利要求7中所述的设备,其特征在于,每个区域单元的管理数据链包括多个第一区块,所述多个第一区块中的每个第一区块包括一个管理数据,每个区域单元的管理数据链为第一树形结构,所述多个第一区块分别为所述第一树形结构中的节点;
所述第一存储模块包括:
生成单元,用于生成新的第一区块,所述新的第一区块包括所述更新后的管理数据;
确定单元,用于基于第一区域单元的变更审计数据链记录的信任路径信息确定第一信任路径;
添加单元,用于将所述新的第一区块添加为所述第一信任路径中的最后一个第一区块;
所述第二存储模块包括:
指示单元,用于指示所述第二管理数据库节点将所述新的第一区块添加为第二信任路径中的最后一个第一区块。
9.根据权利要求8中所述的设备,其特征在于,所述第一信任路径在所述第一区域单元的管理数据链中拥有最多节点,所述第二信任路径在所述第二管理数据库节点所在的所述第二区域单元的管理数据链中拥有最多节点。
10.根据权利要求8所述的设备,其特征在于,每个区域单元的变更审计数据链包括多个第二区块,所述多个第二区块之间相互连接形成具有至少一个分支的第二树型结构,所述多个第二区块分别为所述第二树型结构中的节点;
所述确定单元,还用于根据所述第一区域单元的变更审计数据链中的第三信任路径确定所述第一信任路径,所述第三信任路径在所述第一区域单元的变更审计数据链中拥有最多节点。
11.根据权利要求10所述的设备,其特征在于,所述设备还包括:
第一接收模块,用于接收管理数据读取请求,根据所述第三信任路径确定所述第一信任路径,并在所述第一信任路径中的最后一个第一区块读取所述更新后的管理数据。
12.根据权利要求10中所述的设备,其特征在于,每个第一区块具有时间戳,每个第一区块的时间戳用于指示其上管理数据对应的时刻;
所述设备还包括:
第二接收模块,用于接收数据恢复请求,获取所述数据恢复请求中携带的指定时刻,其中,所述数据恢复请求用于指示将所述指定时刻的管理数据确定为有效的管理数据;
查询模块,用于根据所述指定时刻,在所述第一区域单元的管理数据链中查询时间戳与所述指定时刻匹配的第一区块;
生成模块,用于根据查找到的第一区块,生成新的第二区块,将所述新的第二区块添加为所述第三信任路径中的最后一个第二区块,所述新的第二区块用于根据所述查找到的第一区块重置所述第一信任路径。
13.一种管理数据的存储设备,其特征在于,应用于分布式云数据中心中的第一管理数据库节点,所述分布式云数据中心包括多个区域单元,所述多个区域单元中的每个区域单元包括管理数据链和变更审计数据链,所述第一管理数据库节点为所述多个区域单元中的第一区域单元所具有的管理数据库节点,所述设备包括存储器和处理器;
所述处理器执行所述存储器中的计算机指令,用于实现权利要求1-6中任一项所述的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1-6任一项所述的方法。
CN201810292279.3A 2018-03-30 2018-03-30 管理数据的存储方法、设备及存储介质 Active CN108616574B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810292279.3A CN108616574B (zh) 2018-03-30 2018-03-30 管理数据的存储方法、设备及存储介质
PCT/CN2019/078825 WO2019184775A1 (zh) 2018-03-30 2019-03-20 管理数据的存储方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810292279.3A CN108616574B (zh) 2018-03-30 2018-03-30 管理数据的存储方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN108616574A CN108616574A (zh) 2018-10-02
CN108616574B true CN108616574B (zh) 2020-06-16

Family

ID=63659550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810292279.3A Active CN108616574B (zh) 2018-03-30 2018-03-30 管理数据的存储方法、设备及存储介质

Country Status (2)

Country Link
CN (1) CN108616574B (zh)
WO (1) WO2019184775A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108616574B (zh) * 2018-03-30 2020-06-16 华为技术有限公司 管理数据的存储方法、设备及存储介质
CN109634679B (zh) * 2018-10-16 2023-04-11 平安科技(深圳)有限公司 区块链配置更新方法、装置、设备及存储介质
CN109600433B (zh) * 2018-12-06 2022-03-29 北京磁云数字科技有限公司 一种系统内数据汇总方法及装置
CN110287170B (zh) * 2019-06-28 2021-05-11 杭州复杂美科技有限公司 数据库升级方法、状态数据调用方法、设备和存储介质
CN111061735B (zh) * 2019-12-13 2023-07-25 度小满科技(北京)有限公司 一种基于单链区块链的扩容方法及装置
CN112099990A (zh) * 2020-08-31 2020-12-18 新华三信息技术有限公司 一种容灾备份方法、装置、设备及机器可读存储介质
CN112256667B (zh) * 2020-09-16 2024-03-22 珠海市新德汇信息技术有限公司 多生物特征归一方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107104816A (zh) * 2017-03-07 2017-08-29 阿里巴巴集团控股有限公司 一种信息变更监控方法和装置
CN107276762A (zh) * 2017-05-08 2017-10-20 飞天诚信科技股份有限公司 一种多协议区块链的工作方法及装置
CN107273759A (zh) * 2017-05-08 2017-10-20 上海点融信息科技有限责任公司 用于保护区块链数据的方法、设备以及计算机可读存储介质
CN107657438A (zh) * 2017-09-18 2018-02-02 联动优势科技有限公司 一种区块链生成方法、数据验证方法、节点及系统
CN107846282A (zh) * 2017-11-03 2018-03-27 法信公证云(厦门)科技有限公司 一种基于区块链技术的电子数据分布式保管方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9967334B2 (en) * 2015-03-02 2018-05-08 Dell Products Lp Computing device configuration and management using a secure decentralized transaction ledger
WO2017109140A1 (en) * 2015-12-22 2017-06-29 Bigchaindb Gmbh Decentralized, tamper-resistant, asset-oriented database system and method of recording a transaction
US9967096B2 (en) * 2016-05-23 2018-05-08 Accenture Global Solutions Limited Rewritable blockchain
CN108616574B (zh) * 2018-03-30 2020-06-16 华为技术有限公司 管理数据的存储方法、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107104816A (zh) * 2017-03-07 2017-08-29 阿里巴巴集团控股有限公司 一种信息变更监控方法和装置
CN107276762A (zh) * 2017-05-08 2017-10-20 飞天诚信科技股份有限公司 一种多协议区块链的工作方法及装置
CN107273759A (zh) * 2017-05-08 2017-10-20 上海点融信息科技有限责任公司 用于保护区块链数据的方法、设备以及计算机可读存储介质
CN107657438A (zh) * 2017-09-18 2018-02-02 联动优势科技有限公司 一种区块链生成方法、数据验证方法、节点及系统
CN107846282A (zh) * 2017-11-03 2018-03-27 法信公证云(厦门)科技有限公司 一种基于区块链技术的电子数据分布式保管方法及系统

Also Published As

Publication number Publication date
CN108616574A (zh) 2018-10-02
WO2019184775A1 (zh) 2019-10-03

Similar Documents

Publication Publication Date Title
CN108616574B (zh) 管理数据的存储方法、设备及存储介质
CN110915166B (zh) 区块链
US11055703B2 (en) Smart contract lifecycle management
CN109683826B (zh) 用于分布式存储系统的扩容方法和装置
EP3208714B1 (en) Data reconstruction method, apparatus and system in distributed storage system
US10922303B1 (en) Early detection of corrupt data partition exports
US11061605B1 (en) Dynamically performing managed file transfer based on policies
US20170255687A1 (en) Content item block replication protocol for multi-premises hosting of digital content items
US11966307B2 (en) Re-aligning data replication configuration of primary and secondary data serving entities of a cross-site storage solution after a failover event
JP5496839B2 (ja) 複製データベースのハイブリッド・レプリケーションのための装置、コンピュータ実装方法及びコンピュータ・ソフトウエア・プログラム
CN109522363B (zh) 基于区块链的云平台同步方法、系统、设备及存储介质
WO2018176265A1 (zh) 分布式存储系统的访问方法和相关装置和相关系统
US9589153B2 (en) Securing integrity and consistency of a cloud storage service with efficient client operations
EP3745269B1 (en) Hierarchical fault tolerance in system storage
US9077613B2 (en) System and method for graph based K-redundant resiliency for IT cloud
US20190138402A1 (en) Optimizing database migration in high availability and disaster recovery computing environments
CN105069152B (zh) 数据处理方法及装置
US20230052935A1 (en) Asynchronous accounting method and apparatus for blockchain, medium and electronic device
US20170193070A1 (en) System and method for a distributed replication lock for active-active geo-redundant systems
CN104023061A (zh) 一种lustre的oss高可用集群方案
CN111338834B (zh) 数据存储方法和装置
CN110442601B (zh) 一种Openstack镜像数据并行加速的方法和装置
US20220382637A1 (en) Snapshotting hardware security modules and disk metadata stores
GB2565932B (en) Storing data in dispersed storage network with consistency
CN112947847B (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
TR01 Transfer of patent right

Effective date of registration: 20220221

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right