CN110019235A - 基于区块链的数据存储、恢复方法、装置、设备及介质 - Google Patents

基于区块链的数据存储、恢复方法、装置、设备及介质 Download PDF

Info

Publication number
CN110019235A
CN110019235A CN201711476499.3A CN201711476499A CN110019235A CN 110019235 A CN110019235 A CN 110019235A CN 201711476499 A CN201711476499 A CN 201711476499A CN 110019235 A CN110019235 A CN 110019235A
Authority
CN
China
Prior art keywords
block
write
node
block chain
description information
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
CN201711476499.3A
Other languages
English (en)
Other versions
CN110019235B (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.)
Baidu Online Network Technology Beijing Co Ltd
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201711476499.3A priority Critical patent/CN110019235B/zh
Publication of CN110019235A publication Critical patent/CN110019235A/zh
Application granted granted Critical
Publication of CN110019235B publication Critical patent/CN110019235B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种基于区块链的数据存储、数据恢复方法、装置、设备及存储介质。数据存储方法包括:区块写入节点向多个关联节点发送区块写入请求,区块写入请求包括:待写入信息、与写入区块对应的第一场景描述信息以及第一区块描述信息;区块写入节点接收所述区块生成节点发送的区块成功写入反馈。本发明实施例的技术方案可以在区块链发送损坏或者丢失时,实现对区块链的有效还原,并有效解决数据存储和共享完全依赖单一中心的问题,保证了数据不可篡改性和可信性和数据的安全性。与现有的数据存储方式相比,增加了参与用户的安全感,数据更难以丢失,更加安全。

Description

基于区块链的数据存储、恢复方法、装置、设备及介质
技术领域
本发明实施例涉及信息处理技术,尤其涉及一种基于区块链的数据存储、数据恢复方法、装置、设备及存储介质。
背景技术
随着互联网技术的不断发展,数据呈现海量增加,因此,对数据的存储以及共享技术的要求也在不断的提高。目前,使用的比较广泛以及普遍的是“中心化”的数据存储方式。
在“中心化”的数据储存和共享的方式中,数据统一存储在中心节点上,中心节点拥有数据的完整权限,用户必须对中心节点“无限信任”才能保证数据的可信度,同时,如果中心节点丢失数据,那么用户也无法获取到这些数据了。
发明内容
本发明实施例提供了一种基于区块链的数据存储、数据恢复方法、装置、设备及存储介质,以优化现有的基于中心化的数据存储技术,提高数据存储的安全性。
第一方面,本发明实施例提供了一种基于区块链的数据存储方法,包括:
区块写入节点向多个关联节点发送区块写入请求,所述区块写入请求包括:待写入信息、与写入区块对应的第一场景描述信息以及第一区块描述信息;
其中,所述区块写入请求由所述多个关联节点进行分别验证,在根据各所述关联节点对所述区块写入请求的验证结果以及预设共识机制确定所述区块写入请求通过共识时,由设定数量的关联节点选取出的区块生成节点构造与所述区块写入请求对应的写入区块添加于主区块链的尾部;
所述区块写入节点接收所述区块生成节点发送的区块成功写入反馈。
第二方面,本发明实施例还提供了一种基于区块链的数据存储方法,包括:
区块生成节点接收区块写入节点发送的区块写入请求,所述区块写入请求包括:待写入信息、与写入区块对应的第一场景描述信息以及第一区块描述信息;
其中,所述区块写入请求由所述区块写入节点的多个关联节点进行分别验证;在根据各所述关联节点对所述区块写入请求的验证结果以及预设共识机制,确定所述区块写入请求通过共识时,由设定数量的关联节点选取出所述区块生成节点;
所述区块生成节点根据所述区块写入请求,构造写入区块添加于主区块链的尾部;
所述区块生成节点向所述区块写入节点发送区块成功写入反馈。
第三方面,本发明实施例还提供了一种基于区块链的数据恢复方法,包括:
第一恢复节点获取待恢复的主区块链的当前末位区块;
所述第一恢复节点根据所述当前末位区块中的目标场景描述信息,以及与自身节点或至少多个关联节点对应的备份区块链,确定位于所述当前末位区块之后的待恢复区块;
所述第一恢复节点将所述待恢复区块发送至与所述第一恢复节点对应的多个关联节点;
其中,所述多个关联节点用于根据与所述待恢复区块对应的目标区块描述信息对所述待恢复区块进行共识验证,并在验证通过时向所述第一恢复节点发送验证通过响应;
所述第一恢复节点根据接收到的所述验证通过响应,将所述待恢复区块加入至所述待恢复的主区块链的尾部;
返回执行获取待恢复的主区块链的当前末位区块的操作,直至完成对所述待恢复的主区块链中全部区块的恢复。
第四方面,本发明实施例还提供了一种基于区块链的数据恢复方法,包括:
第二恢复节点根据外部索引数据库恢复指令,从主区块链中的创世区块开始,依次读取一个区块;其中,所述主区块链的区块中包括:包括有区块类型的目标场景描述信息,所述区块类型包括索引类型;
所述第二恢复节点在读取至索引类型的索引模板区块时,获取所述索引模板区块的模板数据结构;
所述第二恢复节点在读取至索引类型的其他区块时,根据所述模板数据结构,将所述索引类型的区块中的区块内容恢复至外部索引数据库中;
所述第二恢复节点在完成对所述主区块链中全部区块的处理时,确定对所述外部索引数据库完成恢复。
第五方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序所述处理器执行所述程序时实现如本发明实施例中任一所述的基于区块链的数据存储方法或者基于区块链的数据恢复方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的基于区块链的数据存储方法或者基于区块链的数据恢复方法。
本发明实施例提供了一种基于区块链的数据存储、数据恢复方法、装置、设备及存储介质,通过将区块链技术应用于数据存储中,并在区块链的各个区块中加入用于完整描述区块链自身的描述信息(也即:目标场景描述信息以及目标区块描述信息)的技术手段,可以在区块链发送损坏或者丢失时,能够实现区块链的有效还原,并有效解决数据存储和共享完全依赖单一中心的问题,保证了数据不可篡改性和可信性和数据的安全性。与现有的数据存储方式相比,增加了参与用户的安全感,数据更难以丢失,更加安全。
附图说明
图1是本发明实施例一中的一种基于区块链的数据存储方法的流程图;
图2是本发明实施例二中的一种基于区块链的数据存储方法的流程图;
图3a是本发明实施例三中的一种基于区块链的数据存储方法的流程图;
图3b是本发明实施例三中的一种区块链数据结构的示意图;
图4是本发明实施例四中的一种基于区块链的数据还原方法的流程图;
图5a是本发明实施例五中的一种基于区块链的数据还原方法的流程图;
图5b是本发明实施例五中的一种外部索引数据库的还原过程的示意图;
图6是本发明实施例六中的一种基于区块链的数据存储装置的结构图;
图7是本发明实施例七中的一种基于区块链的数据存储装置的结构图;
图8是本发明实施例八中的一种基于区块链的数据还原装置的结构图;
图9是本发明实施例九中的一种基于区块链的数据还原装置的结构图;
图10是本发明实施例十中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的一种基于区块链的数据存储方法的流程图,本实施例可适用于区块写入节点根据需要在主区块链中写入新的区块的情况,该方法可以由本发明实施例提供的基于区块链的数据存储装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在区块写入节点中,例如,分布式存储服务器集群中的一台服务器,或者PC机或者平板电脑等。如图1所示,本实施例的方法具体包括:
S110、区块写入节点向多个关联节点发送区块写入请求,所述区块写入请求包括:待写入信息、与写入区块对应的第一场景描述信息以及第一区块描述信息。
为了便于理解,首先将基于区块链的存储机制进行简单介绍。区块链是一种去中心化的数据库。它包含一张被称为区块的列表,有着持续增长并且排列整齐的记录。每个区块都包含一个时间戳和一个与前一区块的链接,设计区块链使得数据不可篡改,一旦记录下来,在一个区块中的数据将不可逆。
其中,能够在区块链中增加区块的机器被称为节点。多个节点共同维护的区块链一般被称为主区块链。当一个节点期望在主区块链中增加一个新的区块时(也即,该节点期望对由主区块链所确定的数据进行增加、删除或者修改等操作),该节点就成为了区块写入节点。该区块写入节点首先向多个关联节点(与该节点共同维护主区块链的节点)分别发送区块写入请求(例如,以广播的方式),各个关联节点都会对接收到的该区块写入请求进行验证,并得到相应的验证结果(例如,验证通过或者验证不通过等),在根据各关联节点得到的验证结果,以及预设的共识机制(例如,全部关联节点均验证通过,则确定达成共识,或者全部关联节点中设定比例的节点(例如,80%或者90%等)均验证通过,则确定达成共识等),确定对所述区块写入请求达成共识时,各个关联节点再分别选举出一个节点,并将最终大多数关联节点均选举出的节点作为区块生成节点,用于生成一个新的区块,并在该区块中写入与区块写入请求发送的区块写入请求对应的信息以最终生成写入区块添加于所述主区块链中。区块生成节点在成功添加所述写入区块后,会向该区块写入节点发送区块成功写入反馈。
也即:所述区块写入请求由所述多个关联节点进行分别验证,在根据各所述关联节点对所述区块写入请求的验证结果以及预设共识机制确定所述区块写入请求通过共识时,由设定数量的关联节点选取出的区块生成节点构造与所述区块写入请求对应的写入区块添加于主区块链的尾部。
在本实施例中,所述主区块链通过区块链的实现机制,分别存储于各个关联节点中,但是对各个关联节点来说,好像是大家共同维护一个主区块链一样。也就是说,当一个区块生成节点在本地的主区块链中添加一个区块时,通过区块链实现机制,会把这个新增的区块同步到其他节点的主区块链中,以保证数据本身(主区块链)各个关联节点上都存有备份,避免了数据在某一节点被篡改。此外,在某一节点上,某个数据被修改或者删除时,可以同步被其他节点感知,可以拒绝这个数据的修改或者如果认同此次的修改,可以同步修改内容;同时这种方法也提供了数据安全的保证,当某个节点因为故障等原因造成数据丢失的话,那么该节点可从存有相同数据的其他节点同步数据,以保证数据恢复到当前时间点;这样避免了数据丢失而造成的损失。这是将区块链技术引入数据存储领域的一大好处。
进一步的,发明人考虑到一种极端情况,也即在各个节点中存储的主区块链均发生损坏时,现有技术使用的区块链技术则会造成全部核心数据的缺失。基于此,创造性的提出在主区块链中携带有自解释或者自描述信息,以实现对主区块链自身的还原。
在本实施例中,使用主区块链中各个区块中包含的目标场景描述信息以及目标区块描述信息作为上述自解释或者自描述信息。为了最终得到上述目标场景描述信息以及目标区块描述信息,需要区块写入节点首先确定与写入区块对应的第一场景描述信息以及第一区块描述信息。进而可以帮助区块生成节点将目标场景描述信息以及目标区块描述信息写入至该新的区块中。其中,目标场景描述信息以及目标区块描述信息中包括的具体信息将在后文进行详述。
在本实施例的一个可选的实施方式中,与写入区块对应的第一场景描述信息包括:区块类型,所述区块类型包括:数据类型、索引类型、链接类型、备份类型或者权限类型。
其中,数据类型的区块可以用来存储数据,索引类型的区块可以用来存储数据索引(数据的存储目录),链接类型的区块可以用来存储两个不同主区块链的链接关系,备份类型的区块可以用来存储备份数据,以及,权限类型的区块可以用来存储权限数据(例如,XX节点可以对XX区块存储的数据进行更改)等。
进一步的,与写入区块对应的第一场景描述信息还可以包括:用于对所述写入区块的body域进行加密的第一密钥识别码,所述第一密钥识别码与设定加密方式相对应。
在本实施例的一个可选的实施方式中,与写入区块对应的第一区块描述信息包括下述至少一项:所述区块写入节点的身份标识、所述待写入信息的原始信息的签名、所述待写入信息的加密结果的签名、所述待写入信息的原始信息的签名的密钥信息、以及所述写入区块的区块加密算法等。
S120、所述区块写入节点接收所述区块生成节点发送的区块成功写入反馈。
在所述区块写入节点接收到所述区块成功写入反馈后,确定所要写入的信息已经被成功加入所述主区块链中。
进一步的,在所述区块写入节点接收所述区块生成节点发送的区块成功写入反馈之后,还可以包括:所述区块写入节点根据所述区块成功写入反馈,更新备份区块链。
在本实施例中,为了实现对主区块链的自我还原,除了需要在主区块链的各个区块中加入目标场景描述信息以及目标区块描述信息之外,还需要在各个节点中建立对主区块链的一个或者多个备份区块链,这样在主区块链发生损坏时,可以基于备份区块链以及所述目标场景描述信息以及目标区块描述信息,实现对主区块链的恢复。
相应的,所述区块写入节点根据所述区块成功写入反馈,更新备份区块链,可以包括:
如果所述备份区块链为所述区块写入节点的独占备份区块链,则所述区块写入节点根据所述区块成功写入反馈,独立更新所述独占备份区块链;
如果所述备份区块链为所述区块写入节点与至少一个共享备份节点的共享备份区块链,则所述区块信息写入节点与所述共享备份节点按照共识协调机制,根据所述区块成功写入反馈,共同配合更新所述共享备份区块链。
其中,若每个节点都拥有对应的独占备份区块链,则主区块链和备份区块链数据存储方式可以相同;若节点需要与其他节点共享备份区块链,则需要共享方通过共识协调节点顺序,根据顺序对每个区块进行签名,并根据共识的加密方式进行加密,同时加密的密钥在共享方之间是不同的,不互相知晓的,用以防止某一共享方擅自篡改共享备份区块链。这样在恢复时,根据协调的节点顺序倒序进行解密,最终获取到原主区块链的数据。
本发明实施例提供了一种基于区块链的数据存储方法,通过将区块链应用于数据存储技术中,并在用于生成写入区块的数据中加入第一场景描述信息以及第一区块描述信息,以最终能够得到用于完整描述区块链自身的描述信息(也即:目标场景描述信息以及目标区块描述信息)的技术手段,可以在区块链发送损坏或者丢失时,能够实现区块链的有效还原,并有效解决数据存储和共享完全依赖单一中心的问题,保证了数据不可篡改性和可信性和数据的安全性。与现有的数据存储方式相比,增加了参与用户的安全感,数据更难以丢失,更加安全。
实施例二
图2为本发明实施例二提供的一种基于区块链的数据存储方法的流程图,本实施例可适用于区块生成节点根据区块写入节点的请求生成写入区块添加于主区块链中的情况,该方法可以由本发明实施例提供的基于区块链的数据存储装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在区块写入节点中,例如,分布式存储服务器集群中的一台服务器,或者PC机或者平板电脑等。如图2所示,本实施例的方法具体包括:
S210、区块生成节点接收区块写入节点发送的区块写入请求,所述区块写入请求包括:待写入信息、与写入区块对应的第一场景描述信息以及第一区块描述信息。
如前所述,所述区块写入请求由所述区块写入节点的多个关联节点进行分别验证;在根据各所述关联节点对所述区块写入请求的验证结果以及预设共识机制,确定所述区块写入请求通过共识时,由设定数量的关联节点选取出所述区块生成节点;
其中,与写入区块对应的第一场景描述信息包括:区块类型,所述区块类型包括:数据类型、索引类型、链接类型、备份类型或者权限类型。
与写入区块对应的第一区块描述信息包括下述至少一项:所述区块写入节点的身份标识、所述待写入信息的原始信息的签名、所述待写入信息的加密结果的签名、所述待写入信息的原始信息的签名的密钥信息、以及所述写入区块的区块加密算法。
进一步的,与写入区块对应的第一场景描述信息还包括:用于对所述写入区块的body域进行加密的第一密钥识别码,所述第一密钥识别码与设定加密方式相对应。
S220、所述区块生成节点根据所述区块写入请求,构造写入区块添加于主区块链的尾部。
在本实施例的一个可选的实施方式中,所述区块生成节点根据所述区块写入请求,构造写入区块添加于主区块链的尾部,可以包括:
所述区块生成节点将与所述写入区块对应的区块链关联场景描述信息加入所述第一场景描述信息中,生成与所述写入区块对应的目标场景描述信息;
其中,所述与写入区块对应的区块链关联场景描述信息包括下述至少一项:当前数据版本、区块身份标识、区块偏移量、区块时间、所述主区块链的当前末位区块的身份标识以及区块密钥唯一识别码;
所述区块生成节点将自身节点的身份标识加入所述第一区块描述信息中,生成与所述写入区块对应的目标区块描述信息;
所述区块生成节点将所述目标场景描述信息、所述目标区块描述信息以及所述待写入信息添加于空白区块中形成所述写入区块,并将所述写入区块加入所述主区块链的尾部。
S230、所述区块生成节点向所述区块写入节点发送区块成功写入反馈。
在本实施例中,所述区块生成节点在成功将所述写入区块加入所述主区块链的尾部后,向区块写入节点发送区块成功写入反馈。
进一步的,与上述实施例相类似,所述区块生成节点可以在确定区块成功写入后,更新备份区块链,所述备份区块链可以为独占备份区块链,也可以为共享备份区块链,不同类型的备份区块链具有不同的备份方式。
更进一步的,其他关联节点(除去区块生成节点以及区块写入节点之外的其他节点)在确定上述写入区块被成功写入后,更新与各自对应的备份区块链。
本发明实施例提供了一种基于区块链的数据存储方法,通过将区块链应用于数据存储技术中,并在区块链的各个区块中加入用于完整描述区块链自身的描述信息(也即:目标场景描述信息以及目标区块描述信息)的技术手段,可以在区块链发送损坏或者丢失时,能够实现区块链的有效还原,并有效解决数据存储和共享完全依赖单一中心的问题,保证了数据不可篡改性和可信性和数据的安全性。与现有的数据存储方式相比,增加了参与用户的安全感,数据更难以丢失,更加安全。
在上述各实施例的基础上,在所述区块生成节点根据所述区块写入请求,构造所述写入区块添加于主区块链的尾部之后,还可以包括:
监听者管理者获取预先在所述主区块链中注册的监听者发送的区块链变更信息;
所述监听者管理者向预先注册的至少一个合法监听节点发送所述区块链变更信息。
其中,每个主区块链上可以注册监听者,用以监听数据的增加、删除、修改等操作,当某个节点对某一主区块链进行操作的时候,监听者会感知到这一操作,并把操作记录下来,发给监听者管理器,监听者管理器会根本监听者上的注册信息向允许接收监听操作的节点(也即,合法监听节点)广播监听到的操作,以满足合法监听节点的实际监听处理需求。
实施例三
图3a为本发明实施例三提供的一种基于区块链的数据存储方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,将所述区块生成节点根据所述区块写入请求,构造写入区块添加于主区块链的尾部的操作进行具体化。相应的,本实施例的方法具体包括:
S310、区块生成节点接收区块写入节点发送的区块写入请求,所述区块写入请求包括:待写入信息、与写入区块对应的第一场景描述信息以及第一区块描述信息。
S320、所述区块生成节点将与所述写入区块对应的区块链关联场景描述信息加入所述第一场景描述信息中,生成与所述写入区块对应的目标场景描述信息。
其中,所述与写入区块对应的区块链关联场景描述信息包括下述至少一项:当前数据版本、区块身份标识、区块偏移量、区块时间、所述主区块链的当前末位区块的身份标识以及区块密钥唯一识别码。
相应的,所述目标场景描述信息具体包括有:所述第一场景描述信息以及所述区块链关联场景描述信息的组合。
S330、所述区块生成节点将自身节点的身份标识加入所述第一区块描述信息中,生成与所述写入区块对应的目标区块描述信息。
相应的,所述目标区块描述信息具体包括有:所述第一区块描述信息以及所述区块生成节点自身节点的身份标识的组合。
S340、所述区块生成节点将所述目标场景描述信息作为header域信息添加于所述空白区块中,得到第一中间区块。
S350、所述区块生成节点将所述目标区块描述信息作为body域中的元数据添加于所述第一中间区块中,得到第二中间区块。
S360、所述区块生成节点将所述待写入信息作为所述body域中的区块信息添加于所述第二中间区块中,得到所述写入区块。
S370、所述区块生成节点获取所述第一场景描述信息中包括的用于对所述写入区块的body域进行加密的第一密钥识别码。
其中,所述第一密钥识别码与设定加密方式相对应。
S380、所述区块生成节点根据所述第一密钥识别码,获取body域加密密钥。
S390、所述区块生成节点使用所述body域加密密钥,对所述写入区块中的所述body域进行加密,并在所述写入区块中的所述body域中加入所述设定加密方式以及所述第一密钥识别码。
通过对body域进行加密的方式,可以进一步保证区块中数据的安全性,防止非法节点对数据的篡改,进一步提高主区块链中数据的可靠性。
其中,在图3b中示出了一种区块链数据结构的示意图。如图3b所示,一个区块中具体包括有两个部分:header域以及body域,而body域中进一步存储两部分信息:metadata域信息(用于存储元数据信息)以及区块信息。通过在各个区块中按照上述数据结构构造区块,可以使得最终的主区块链中携带有自描述或者自包含信息,进而可以实现对主区块链数据的自我恢复。
S3100、所述区块生成节点向所述区块写入节点发送区块成功写入反馈。
本发明实施例的技术方案通过将区块链应用于数据存储技术中,并在区块链的各个区块中加入用于完整描述区块链自身的描述信息(也即:目标场景描述信息以及目标区块描述信息)的技术手段,可以在区块链发送损坏或者丢失时,能够实现区块链的有效还原,并有效解决数据存储和共享完全依赖单一中心的问题,保证了数据不可篡改性和可信性和数据的安全性。与现有的数据存储方式相比,增加了参与用户的安全感,数据更难以丢失,更加安全。
在上述各实施例的基础上,所述区块生成节点将所述目标场景描述信息、所述目标区块描述信息以及所述待写入信息添加于空白区块中形成所述写入区块,具体包括:
所述区块生成节点如果根据所述目标场景描述信息,确定所述写入区块包括索引区块,则查找所述主区块链中预先建立的索引模板区块;
所述区块生成节点根据所述索引模板区块中的模板数据结构,将所述目标场景描述信息、所述目标区块描述信息以及所述待写入信息添加于空白区块中形成所述写入区块。
在上述各实施例的基础上,在所述区块生成节点根据所述索引模板区块中的模板数据结构,将所述目标场景描述信息、所述目标区块描述信息以及所述待写入信息添加于空白区块中形成所述写入区块之后,还包括:
所述区块生成节点将所述写入节点中包括的所述待写入信息,按照所述模板数据结构写入外部索引数据库中,以实现对所述主区块链中数据的快速查询。
典型的,在主区块链建立的时候,可以传入索引的模板(schema),同时模板也以模板区块的形式加入该主区块链,该主区块链中,后续任何区块类型为索引类型的区块都以这个模板为标准进行建立。也即:在写入索引类型的区块候,会以模板区块的数据结构为模板,按照对应数据结构写入该区块,此外,可以进一步将写入的该索引类型的区块以索引模板的数据结构写入外部索引数据库中以支持快速查询。
其中,所述外部索引数据库中,存储所述主区块链中所存储数据的索引信息,通过获取主区块链中区块类型为索引类型的区块中的数据,构造的所述外部索引数据库。
需要再次强调的是,通过在区块链中单独定义索引类型的区块,可以实现在外部索引数据库发生故障时,基于上述索引类型的区块实现对外部索引数据库中的数据恢复,以进一步提高整个系统的稳健性以及稳定性。
实施例四
图4为本发明实施例四提供的一种基于区块链的数据还原方法的流程图,本实施例可适用于第一还原节点对待恢复的主区块链进行还原的情况,该方法可以由本发明实施例提供的基于区块链的数据还原装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在第一还原节点中,例如,分布式存储服务器集群中的一台服务器,或者PC机或者平板电脑等。如图4所示,本实施例的方法具体包括:
S410、第一恢复节点获取待恢复的主区块链的当前末位区块。
在本实施例中,可以单独设定一个管理平台,随时监控各个节点的状态,每个节点会每隔一个定时时间(比如20s或者30s这样的时间间隔)会向管理平台上报节点还存活,并把自己的主区块链信息签名同时上报给管理平台,如果管理平台超过定时时间的2倍时间或者3倍时间没有收到这个节点信息的上报,则会认为这个节点已经死亡;或者收到节点信息的上报,发现的签名的主区块链和其他大多数其他节点上报的主区块链不一样,则会认定某个节点或者某个节点上报的主区块链不正常,也即,需要对主区块链进行恢复。
当然,还可以采取其他分布式失败检测的算法(比如Gossip协议)确定是否需要对主区块链进行恢复,本实施例对此并不进行限制。
一般来说,如果管理平台确定一个节点死亡了,大多情况下会人工介入,调查是因为网络抖动还是网络断了还是系统关机等原因引起了节点的死亡,并由人工帮忙这个节点重启。这个死亡后重启的节点,会进而作为第一恢复节点,将本地的主区块链进行恢复,以和其他具有相同权限的节点的主区块链保持一致。特别的,如果系统中包括的全部节点全部出现故障(系统发生崩溃),通过本发明实施例中的主区块链的区块的数据结构,可以重建整个场景和应用信息,完全恢复成崩溃前的样子。
其中,待恢复的主区块链即为与所述第一恢复节点对应的,当前完好的主区块链,在极端情况下,所述待恢复的主区块链中可以仅包括创世区块。
其中,所述待恢复的主区块链中各个区块的数据结构与本发明任意实施例所述的区块的数据结构相同。也即:包括如前文所述的目标场景描述信息以及目标区块描述信息。
S420、所述第一恢复节点根据所述当前末位区块中的目标场景描述信息,以及与自身节点或至少多个关联节点对应的备份区块链,确定位于所述当前末位区块之后的待恢复区块。
第一恢复节点可以首先在本地查找备份区块链,获取与所述当前末位区块相邻的一个待恢复区块,如果本地的备份区块链同样发生故障,可以进而在其他关联节点的备份区块链中继续查找。通过上述设置,即使所有节点的主区块链全部故障,只要各个节点的备份区块链能够完整拼接出一个主区块链,就能实现对该主区块链的还原。大大提高了系统的还原以及自愈能力。
S430、所述第一恢复节点将所述待恢复区块发送至与所述第一恢复节点对应的多个关联节点;
在第一恢复节点查找到一个待恢复区块之后,并不是直接将其加入待恢复的主区块链中,而是首先将上述待恢复区块分别发送至多个关联节点处,由各个关联节点根据所述待恢复区块中包括的目标区块描述信息,对该待恢复区块进行共识验证(具体共识验证方式与前述实施例相类似)。只有共识通过后,第一恢复节点才会将其添加于主区块链中;如果未通过共识,第一恢复节点会重新查找新的待恢复区块,并重新有多个关联节点进行共识验证,依次类推。
也即:所述多个关联节点用于根据与所述待恢复区块对应的目标区块描述信息对所述待恢复区块进行共识验证,并在验证通过时向所述第一恢复节点发送验证通过响应。
S440、所述第一恢复节点根据接收到的所述验证通过响应,将所述待恢复区块加入至所述待恢复的主区块链的尾部。
在所述第一恢复节点根据接收到的所述验证通过响应,将所述待恢复区块加入至所述待恢复的主区块链的尾部之后,还包括:
所述第一恢复节点获取所述待恢复区块中的目标场景描述信息中包括的目标区块类型;
所述第一恢复节点根据所述目标区块类型,执行对应的场景重建操作。
S450、判断是否完成对所述待恢复的主区块链中全部区块的恢复:若是,结束流程;否则,返回执行S410。
本发明实施例的技术方案通过将区块链应用于数据存储技术中,并在区块链的各个区块中加入用于完整描述区块链自身的描述信息(也即:目标场景描述信息以及目标区块描述信息)的技术手段,可以在区块链发送损坏或者丢失时,能够实现区块链的有效还原,并有效解决数据存储和共享完全依赖单一中心的问题,保证了数据不可篡改性和可信性和数据的安全性。与现有的数据存储方式相比,增加了参与用户的安全感,数据更难以丢失,更加安全。
实施例五
图5a为本发明实施例五提供的一种基于区块链的数据还原方法的流程图,本实施例可适用于第二还原节点对外部索引数据库进行还原的情况,该方法可以由本发明实施例提供的基于区块链的数据还原装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在第二还原节点中,例如,分布式存储服务器集群中的一台服务器,或者PC机或者平板电脑等。如图5a所示,本实施例的方法具体包括:
S510、第二恢复节点根据外部索引数据库恢复指令,从主区块链中的创世区块开始,依次读取一个区块。
其中,所述主区块链的区块中包括:包括有区块类型的目标场景描述信息,所述区块类型包括索引类型。
在本实施例中,所述外部索引数据库中,存储所述主区块链中所存储数据的索引信息,通过获取主区块链中区块类型为索引类型的区块中的数据,构造的所述外部索引数据库。所述主区块链中各个区块的数据结构与本发明任意实施例所述的区块的数据结构相同。也即:包括如前文所述的目标场景描述信息以及目标区块描述信息。
其中,在管理平台多个某一个节点检测到该外部索引数据库发生故障或者数据丢失时,可以由管理平台指定的方式,或者多个节点选举的方式获取一个节点作为第二恢复节点,并向该第二恢复节点发送外部索引数据库恢复指令,并由该第二恢复节点主导恢复该外部索引数据库。
恢复方式为:从所述主区块链的创世区块开始,依次读取主区块链中包括的全部索引类型的区块,并根据该索引类型的区块中记录的信息更新所述外部索引数据库,在对主区块链中全部索引区块处理完毕后,即可实现对外部索引数据库的恢复。
S520、所述第二恢复节点在读取至索引类型的索引模板区块时,获取所述索引模板区块的模板数据结构。
在本实施例中,主区块链中的索引模板区块,记录了外部索引数据库中的数据存储结构,因此,在读取至索引类型的索引模板区块时,需要首先获取所述索引模板区块的模板数据结构。
S530、所述第二恢复节点在读取至索引类型的其他区块时,根据所述模板数据结构,将所述索引类型的区块中的区块内容恢复至外部索引数据库中。
S540、所述第二恢复节点在完成对所述主区块链中全部区块的处理时,确定对所述外部索引数据库完成恢复。
其中,在图5b中示出了一种外部索引数据库的还原过程的示意图。如图5b所示,第二恢复节点可以根据读取至的索引类型区块的区块内容,首先检查外部索引数据库是否存储具有上述区块内容,若存储有,则可以跳过该区块内容的恢复(例如,索引A以及索引B),而继续读取新的索引类型区块,在当前读取区块的区块内容未完整存储于外部索引数据库时(发生了数据的丢失),则会将该区块内容恢复于所述外部索引数据库中(例如,索引C)。
本发明实施例的技术方案通过在主区块链的数据结构中定义了索引类型的区块,可以实现在外部索引数据库发生故障时,通过一次读取主区块链中包括的各个区块,可以基于索引模板区块和索引类型的区块,完整还原出外部索引数据库中包括的全部数据,大大提高了整个系统的恢复能力。
实施例六
图6为本发明实施例六提供的一种基于区块链的数据存储装置的结构示意图,应用于区块写入节点中,如图6所示,所述装置包括:
区块写入请求发送模块610,用于向多个关联节点发送区块写入请求,所述区块写入请求包括:待写入信息、与写入区块对应的第一场景描述信息以及第一区块描述信息;
其中,所述区块写入请求由所述多个关联节点进行分别验证,在根据各所述关联节点对所述区块写入请求的验证结果以及预设共识机制确定所述区块写入请求通过共识时,由设定数量的关联节点选取出的区块生成节点构造与所述区块写入请求对应的写入区块添加于主区块链的尾部;
区块成功写入反馈接收模块620,用于接收所述区块生成节点发送的区块成功写入反馈。
本发明实施例提供了一种基于区块链的数据存储装置,通过将区块链应用于数据存储技术中,并在用于生成写入区块的数据中加入第一场景描述信息以及第一区块描述信息,以最终能够得到用于完整描述区块链自身的描述信息(也即:目标场景描述信息以及目标区块描述信息)的技术手段,可以在区块链发送损坏或者丢失时,能够实现区块链的有效还原,并有效解决数据存储和共享完全依赖单一中心的问题,保证了数据不可篡改性和可信性和数据的安全性。与现有的数据存储方式相比,增加了参与用户的安全感,数据更难以丢失,更加安全。
在上述各实施例的基础上,与写入区块对应的第一场景描述信息可以包括:区块类型,所述区块类型包括:数据类型、索引类型、链接类型、备份类型或者权限类型;
与写入区块对应的第一区块描述信息可以包括下述至少一项:所述区块写入节点的身份标识、所述待写入信息的原始信息的签名、所述待写入信息的加密结果的签名、所述待写入信息的原始信息的签名的密钥信息、以及所述写入区块的区块加密算法。
在上述各实施例的基础上,与写入区块对应的第一场景描述信息还可以包括:用于对所述写入区块的body域进行加密的第一密钥识别码,所述第一密钥识别码与设定加密方式相对应。
在上述各实施例的基础上,还可以包括:备份区块链更新模块,用于在接收所述区块生成节点发送的区块成功写入反馈之后,根据所述区块成功写入反馈,更新备份区块链。
在上述各实施例的基础上,备份区块链更新模块,具体可以用于:
如果所述备份区块链为所述区块写入节点的独占备份区块链,则所述区块写入节点根据所述区块成功写入反馈,独立更新所述独占备份区块链;
如果所述备份区块链为所述区块写入节点与至少一个共享备份节点的共享备份区块链,则所述区块信息写入节点与所述共享备份节点按照共识协调机制,根据所述区块成功写入反馈,共同配合更新所述共享备份区块链。
上述基于区块链的数据存储装置可执行本发明任意实施例所提供的基于区块链的数据存储方法,具备执行的基于区块链的数据存储方法相应的功能模块和有益效果。
实施例七
图7为本发明实施例七提供的一种基于区块链的数据存储装置的结构示意图,应用于区块生成节点中,如图7所示,所述装置包括:
区块写入请求接收模块710,用于接收区块写入节点发送的区块写入请求,所述区块写入请求包括:待写入信息、与写入区块对应的第一场景描述信息以及第一区块描述信息;
其中,所述区块写入请求由所述区块写入节点的多个关联节点进行分别验证;在根据各所述关联节点对所述区块写入请求的验证结果以及预设共识机制,确定所述区块写入请求通过共识时,由设定数量的关联节点选取出所述区块生成节点;
写入区块构造模块720,用于根据所述区块写入请求,构造写入区块添加于主区块链的尾部;
区块成功写入反馈发送模块730,用于向所述区块写入节点发送区块成功写入反馈。
本发明实施例提供了一种基于区块链的数据存储装置,通过将区块链应用于数据存储技术中,并在区块链的各个区块中加入用于完整描述区块链自身的描述信息(也即:目标场景描述信息以及目标区块描述信息)的技术手段,可以在区块链发送损坏或者丢失时,能够实现区块链的有效还原,并有效解决数据存储和共享完全依赖单一中心的问题,保证了数据不可篡改性和可信性和数据的安全性。与现有的数据存储方式相比,增加了参与用户的安全感,数据更难以丢失,更加安全。
在上述各实施例的基础上,与写入区块对应的第一场景描述信息可以包括:区块类型,所述区块类型包括:数据类型、索引类型、链接类型、备份类型或者权限类型;
与写入区块对应的第一区块描述信息可以包括下述至少一项:所述区块写入节点的身份标识、所述待写入信息的原始信息的签名、所述待写入信息的加密结果的签名、所述待写入信息的原始信息的签名的密钥信息、以及所述写入区块的区块加密算法。
在上述各实施例的基础上,与写入区块对应的第一场景描述信息还可以包括:用于对所述写入区块的body域进行加密的第一密钥识别码,所述第一密钥识别码与设定加密方式相对应。
在上述各实施例的基础上,写入区块构造模块,具体包括:
目标场景描述信息生成单元,用于将与所述写入区块对应的区块链关联场景描述信息加入所述第一场景描述信息中,生成与所述写入区块对应的目标场景描述信息;
其中,所述与写入区块对应的区块链关联场景描述信息包括下述至少一项:当前数据版本、区块身份标识、区块偏移量、区块时间、所述主区块链的当前末位区块的身份标识以及区块密钥唯一识别码;
目标区块描述信息生成单元,用于将自身节点的身份标识加入所述第一区块描述信息中,生成与所述写入区块对应的目标区块描述信息;
写入区块综合写入单元,用于将所述目标场景描述信息、所述目标区块描述信息以及所述待写入信息添加于空白区块中形成所述写入区块,并将所述写入区块加入所述主区块链的尾部。
在上述各实施例的基础上,写入区块综合写入单元具体用于:
将所述目标场景描述信息作为header域信息添加于所述空白区块中,得到第一中间区块;
将所述目标区块描述信息作为body域中的元数据添加于所述第一中间区块中,得到第二中间区块;
将所述待写入信息作为所述body域中的区块信息添加于所述第二中间区块中,得到所述写入区块。
在上述各实施例的基础上,写入区块综合写入单元具体还用于:
在将所述待写入信息作为所述body域中的区块信息添加于所述第二中间区块中,得到所述写入区块之后,获取所述第一场景描述信息中包括的用于对所述写入区块的body域进行加密的第一密钥识别码,所述第一密钥识别码与设定加密方式相对应;
根据所述第一密钥识别码,获取body域加密密钥;
使用所述body域加密密钥,对所述写入区块中的所述body域进行加密,并在所述写入区块中的所述body域中加入所述设定加密方式以及所述第一密钥识别码。
在上述各实施例的基础上,写入区块综合写入单元,具体用于:
如果根据所述目标场景描述信息,确定所述写入区块包括索引区块,则查找所述主区块链中预先建立的索引模板区块;根据所述索引模板区块中的模板数据结构,将所述目标场景描述信息、所述目标区块描述信息以及所述待写入信息添加于空白区块中形成所述写入区块。
在上述各实施例的基础上,还包括:外部索引数据库写入单元,用于:
在根据所述索引模板区块中的模板数据结构,将所述目标场景描述信息、所述目标区块描述信息以及所述待写入信息添加于空白区块中形成所述写入区块之后,将所述写入节点中包括的所述待写入信息,按照所述模板数据结构写入外部索引数据库中,以实现对所述主区块链中数据的快速查询。
在上述各实施例的基础上,还包括,主区块链变更信息发送模块,用于:
在根据所述区块写入请求,构造所述写入区块添加于主区块链的尾部之后,监听者管理者获取预先在所述主区块链中注册的监听者发送的主区块链变更信息;所述监听者管理者向预先注册的至少一个合法监听节点发送所述主区块链变更信息。
上述基于区块链的数据存储装置可执行本发明任意实施例所提供的基于区块链的数据存储方法,具备执行的基于区块链的数据存储方法相应的功能模块和有益效果。
实施例八
图8为本发明实施例八提供的一种基于区块链的数据恢复装置的结构示意图,应用于第一恢复节点中,如图8所示,所述装置包括:
当前末位区块获取模块810,用于获取待恢复的主区块链的当前末位区块;
待恢复区块确定模块820,用于根据所述当前末位区块中的目标场景描述信息,以及与自身节点或至少多个关联节点对应的备份区块链,确定位于所述当前末位区块之后的待恢复区块;
待恢复区块发送模块830,用于将所述待恢复区块发送至与所述第一恢复节点对应的多个关联节点;
其中,所述多个关联节点用于根据与所述待恢复区块对应的目标区块描述信息对所述待恢复区块进行共识验证,并在验证通过时向所述第一恢复节点发送验证通过响应;
主区块链恢复模块840,用于根据接收到的所述验证通过响应,将所述待恢复区块加入至所述待恢复的主区块链的尾部;
重复执行模块850,用于触发当前末位区块获取模块的执行,直至完成对所述待恢复的主区块链中全部区块的恢复。
本发明实施例的技术方案通过将区块链应用于数据存储技术中,并在区块链的各个区块中加入用于完整描述区块链自身的描述信息(也即:目标场景描述信息以及目标区块描述信息)的技术手段,可以在区块链发送损坏或者丢失时,能够实现区块链的有效还原,并有效解决数据存储和共享完全依赖单一中心的问题,保证了数据不可篡改性和可信性和数据的安全性。与现有的数据存储方式相比,增加了参与用户的安全感,数据更难以丢失,更加安全。
在上述各实施例的基础上,还包括:场景重建模块,用于在根据接收到的所述验证通过响应,将所述待恢复区块加入至所述待恢复的主区块链的尾部之后,获取所述待恢复区块中的目标场景描述信息中包括的目标区块类型;根据所述目标区块类型,执行对应的场景重建操作。
上述基于区块链的数据恢复装置可执行本发明任意实施例所提供的基于区块链的数据恢复方法,具备执行的基于区块链的数据恢复方法相应的功能模块和有益效果。
实施例九
图9为本发明实施例九提供的一种基于区块链的数据恢复装置的结构示意图,应用于第二恢复节点中,如图9所示,所述装置包括:
区块读取模块910,用于根据外部索引数据库恢复指令,从主区块链中的创世区块开始,依次读取一个区块;其中,所述主区块链的区块中包括:包括有区块类型的目标场景描述信息,所述区块类型包括索引类型;
模板数据结构获取模块920,用于在读取至索引类型的索引模板区块时,获取所述索引模板区块的模板数据结构;
区块内容恢复模块930,用于在读取至索引类型的其他区块时,根据所述模板数据结构,将所述索引类型的区块中的区块内容恢复至外部索引数据库中;
外部索引数据库恢复模块940,用于在完成对所述主区块链中全部区块的处理时,确定对所述外部索引数据库完成恢复。
本发明实施例的技术方案通过在主区块链的数据结构中定义了索引类型的区块,可以实现在外部索引数据库发生故障时,通过一次读取主区块链中包括的各个区块,可以基于索引模板区块和索引类型的区块,完整还原出外部索引数据库中包括的全部数据,大大提高了整个系统的恢复能力。
上述基于区块链的数据恢复装置可执行本发明任意实施例所提供的基于区块链的数据恢复方法,具备执行的基于区块链的数据恢复方法相应的功能模块和有益效果。
实施例十
图10为本发明实施例十提供的一种计算机设备的结构示意图。图10示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图10显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图10中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种基于区块链的数据存储方法。
也即,所述处理单元执行所述程序时实现:区块写入节点向多个关联节点发送区块写入请求,所述区块写入请求包括:待写入信息、与写入区块对应的第一场景描述信息以及第一区块描述信息;其中,所述区块写入请求由所述多个关联节点进行分别验证,在根据各所述关联节点对所述区块写入请求的验证结果以及预设共识机制确定所述区块写入请求通过共识时,由设定数量的关联节点选取出的区块生成节点构造与所述区块写入请求对应的写入区块添加于主区块链的尾部;所述区块写入节点接收所述区块生成节点发送的区块成功写入反馈。
或者,所述处理单元执行所述程序时实现:区块生成节点接收区块写入节点发送的区块写入请求,所述区块写入请求包括:待写入信息、与写入区块对应的第一场景描述信息以及第一区块描述信息;其中,所述区块写入请求由所述区块写入节点的多个关联节点进行分别验证;在根据各所述关联节点对所述区块写入请求的验证结果以及预设共识机制,确定所述区块写入请求通过共识时,由设定数量的关联节点选取出所述区块生成节点;所述区块生成节点根据所述区块写入请求,构造写入区块添加于主区块链的尾部;所述区块生成节点向所述区块写入节点发送区块成功写入反馈。
又例如实现本发明实施例所提供的一种基于区块链的数据恢复方法。
也即,所述处理单元执行所述程序时实现:第一恢复节点获取待恢复的主区块链的当前末位区块;所述第一恢复节点根据所述当前末位区块中的目标场景描述信息,以及与自身节点或至少多个关联节点对应的备份区块链,确定位于所述当前末位区块之后的待恢复区块;所述第一恢复节点将所述待恢复区块发送至与所述第一恢复节点对应的多个关联节点;其中,所述多个关联节点用于根据与所述待恢复区块对应的目标区块描述信息对所述待恢复区块进行共识验证,并在验证通过时向所述第一恢复节点发送验证通过响应;所述第一恢复节点根据接收到的所述验证通过响应,将所述待恢复区块加入至所述待恢复的主区块链的尾部;返回执行获取待恢复的主区块链的当前末位区块的操作,直至完成对所述待恢复的主区块链中全部区块的恢复。
或者,所述处理单元执行所述程序时实现:第二恢复节点根据外部索引数据库恢复指令,从主区块链中的创世区块开始,依次读取一个区块;其中,所述主区块链的区块中包括:包括有区块类型的目标场景描述信息,所述区块类型包括索引类型;所述第二恢复节点在读取至索引类型的索引模板区块时,获取所述索引模板区块的模板数据结构;所述第二恢复节点在读取至索引类型的其他区块时,根据所述模板数据结构,将所述索引类型的区块中的区块内容恢复至外部索引数据库中;所述第二恢复节点在完成对所述主区块链中全部区块的处理时,确定对所述外部索引数据库完成恢复。
实施例十一
本发明实施例十一提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的基于区块链的数据存储方法,或者基于区块链的数据恢复方法。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (25)

1.一种基于区块链的数据存储方法,其特征在于,包括:
区块写入节点向多个关联节点发送区块写入请求,所述区块写入请求包括:待写入信息、与写入区块对应的第一场景描述信息以及第一区块描述信息;
其中,所述区块写入请求由所述多个关联节点进行分别验证,在根据各所述关联节点对所述区块写入请求的验证结果以及预设共识机制确定所述区块写入请求通过共识时,由设定数量的关联节点选取出的区块生成节点构造与所述区块写入请求对应的写入区块添加于主区块链的尾部;
所述区块写入节点接收所述区块生成节点发送的区块成功写入反馈。
2.根据权利要求1所述的方法,其特征在于,与写入区块对应的第一场景描述信息包括:区块类型,所述区块类型包括:数据类型、索引类型、链接类型、备份类型或者权限类型;
与写入区块对应的第一区块描述信息包括下述至少一项:所述区块写入节点的身份标识、所述待写入信息的原始信息的签名、所述待写入信息的加密结果的签名、所述待写入信息的原始信息的签名的密钥信息、以及所述写入区块的区块加密算法。
3.根据权利要求2所述的方法,其特征在于,与写入区块对应的第一场景描述信息还包括:用于对所述写入区块的body域进行加密的第一密钥识别码,所述第一密钥识别码与设定加密方式相对应。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述区块写入节点接收所述区块生成节点发送的区块成功写入反馈之后,还包括:
所述区块写入节点根据所述区块成功写入反馈,更新备份区块链。
5.根据权利要求4所述的方法,其特征在于,所述区块写入节点根据所述区块成功写入反馈,更新备份区块链,包括:
如果所述备份区块链为所述区块写入节点的独占备份区块链,则所述区块写入节点根据所述区块成功写入反馈,独立更新所述独占备份区块链;
如果所述备份区块链为所述区块写入节点与至少一个共享备份节点的共享备份区块链,则所述区块信息写入节点与所述共享备份节点按照共识协调机制,根据所述区块成功写入反馈,共同配合更新所述共享备份区块链。
6.一种基于区块链的数据存储方法,其特征在于,包括:
区块生成节点接收区块写入节点发送的区块写入请求,所述区块写入请求包括:待写入信息、与写入区块对应的第一场景描述信息以及第一区块描述信息;
其中,所述区块写入请求由所述区块写入节点的多个关联节点进行分别验证;在根据各所述关联节点对所述区块写入请求的验证结果以及预设共识机制,确定所述区块写入请求通过共识时,由设定数量的关联节点选取出所述区块生成节点;
所述区块生成节点根据所述区块写入请求,构造写入区块添加于主区块链的尾部;
所述区块生成节点向所述区块写入节点发送区块成功写入反馈。
7.根据权利要求6所述的方法,其特征在于,与写入区块对应的第一场景描述信息包括:区块类型,所述区块类型包括:数据类型、索引类型、链接类型、备份类型或者权限类型;
与写入区块对应的第一区块描述信息包括下述至少一项:所述区块写入节点的身份标识、所述待写入信息的原始信息的签名、所述待写入信息的加密结果的签名、所述待写入信息的原始信息的签名的密钥信息、以及所述写入区块的区块加密算法。
8.根据权利要求7所述的方法,其特征在于,与写入区块对应的第一场景描述信息还包括:用于对所述写入区块的body域进行加密的第一密钥识别码,所述第一密钥识别码与设定加密方式相对应。
9.根据权利要求7或8所述的方法,其特征在于,所述区块生成节点根据所述区块写入请求,构造所述写入区块添加于主区块链的尾部,包括:
所述区块生成节点将与所述写入区块对应的区块链关联场景描述信息加入所述第一场景描述信息中,生成与所述写入区块对应的目标场景描述信息;
其中,所述与写入区块对应的区块链关联场景描述信息包括下述至少一项:当前数据版本、区块身份标识、区块偏移量、区块时间、所述主区块链的当前末位区块的身份标识以及区块密钥唯一识别码;
所述区块生成节点将自身节点的身份标识加入所述第一区块描述信息中,生成与所述写入区块对应的目标区块描述信息;
所述区块生成节点将所述目标场景描述信息、所述目标区块描述信息以及所述待写入信息添加于空白区块中形成所述写入区块,并将所述写入区块加入所述主区块链的尾部。
10.根据权利要求9所述的方法,其特征在于,所述区块生成节点将所述目标场景描述信息、所述目标区块描述信息以及所述待写入信息添加于空白区块中形成所述写入区块,包括:
所述区块生成节点将所述目标场景描述信息作为header域信息添加于所述空白区块中,得到第一中间区块;
所述区块生成节点将所述目标区块描述信息作为body域中的元数据添加于所述第一中间区块中,得到第二中间区块;
所述区块生成节点将所述待写入信息作为所述body域中的区块信息添加于所述第二中间区块中,得到所述写入区块。
11.根据权利要求10所述的方法,其特征在于,在所述区块生成节点将所述待写入信息作为所述body域中的区块信息添加于所述第二中间区块中,得到所述写入区块之后,还包括:
所述区块生成节点获取所述第一场景描述信息中包括的用于对所述写入区块的body域进行加密的第一密钥识别码,所述第一密钥识别码与设定加密方式相对应;
所述区块生成节点根据所述第一密钥识别码,获取body域加密密钥;
所述区块生成节点使用所述body域加密密钥,对所述写入区块中的所述body域进行加密,并在所述写入区块中的所述body域中加入所述设定加密方式以及所述第一密钥识别码。
12.根据权利要求9所述的方法,其特征在于,所述区块生成节点将所述目标场景描述信息、所述目标区块描述信息以及所述待写入信息添加于空白区块中形成所述写入区块,具体包括:
所述区块生成节点如果根据所述目标场景描述信息,确定所述写入区块包括索引区块,则查找所述主区块链中预先建立的索引模板区块;
所述区块生成节点根据所述索引模板区块中的模板数据结构,将所述目标场景描述信息、所述目标区块描述信息以及所述待写入信息添加于空白区块中形成所述写入区块。
13.根据权利要求12所述的方法,其特征在于,在所述区块生成节点根据所述索引模板区块中的模板数据结构,将所述目标场景描述信息、所述目标区块描述信息以及所述待写入信息添加于空白区块中形成所述写入区块之后,还包括:
所述区块生成节点将所述写入节点中包括的所述待写入信息,按照所述模板数据结构写入外部索引数据库中,以实现对所述主区块链中数据的快速查询。
14.根据权利要求6所述的方法,其特征在于,在所述区块生成节点根据所述区块写入请求,构造所述写入区块添加于主区块链的尾部之后,还包括:
监听者管理者获取预先在所述主区块链中注册的监听者发送的主区块链变更信息;
所述监听者管理者向预先注册的至少一个合法监听节点发送所述主区块链变更信息。
15.一种基于区块链的数据恢复方法,其特征在于,包括:
第一恢复节点获取待恢复的主区块链的当前末位区块;
所述第一恢复节点根据所述当前末位区块中的目标场景描述信息,以及与自身节点或至少多个关联节点对应的备份区块链,确定位于所述当前末位区块之后的待恢复区块;
所述第一恢复节点将所述待恢复区块发送至与所述第一恢复节点对应的多个关联节点;
其中,所述多个关联节点用于根据与所述待恢复区块对应的目标区块描述信息对所述待恢复区块进行共识验证,并在验证通过时向所述第一恢复节点发送验证通过响应;
所述第一恢复节点根据接收到的所述验证通过响应,将所述待恢复区块加入至所述待恢复的主区块链的尾部;
返回执行获取待恢复的主区块链的当前末位区块的操作,直至完成对所述待恢复的主区块链中全部区块的恢复。
16.根据权利要求15所述的方法,其特征在于,在所述第一恢复节点根据接收到的所述验证通过响应,将所述待恢复区块加入至所述待恢复的主区块链的尾部之后,还包括:
所述第一恢复节点获取所述待恢复区块中的目标场景描述信息中包括的目标区块类型;
所述第一恢复节点根据所述目标区块类型,执行对应的场景重建操作。
17.一种基于区块链的数据恢复方法,其特征在于,包括:
第二恢复节点根据外部索引数据库恢复指令,从主区块链中的创世区块开始,依次读取一个区块;其中,所述主区块链的区块中包括:包括有区块类型的目标场景描述信息,所述区块类型包括索引类型;
所述第二恢复节点在读取至索引类型的索引模板区块时,获取所述索引模板区块的模板数据结构;
所述第二恢复节点在读取至索引类型的其他区块时,根据所述模板数据结构,将所述索引类型的区块中的区块内容恢复至外部索引数据库中;
所述第二恢复节点在完成对所述主区块链中全部区块的处理时,确定对所述外部索引数据库完成恢复。
18.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的基于区块链的数据存储方法。
19.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的基于区块链的数据存储方法。
20.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求6-14中任一所述的基于区块链的数据存储方法。
21.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求6-14中任一所述的基于区块链的数据存储方法。
22.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求15-16中任一所述的基于区块链的数据恢复方法。
23.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求15-16中任一所述的基于区块链的数据恢复方法。
24.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求17所述的基于区块链的数据恢复方法。
25.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求17所述的基于区块链的数据恢复方法。
CN201711476499.3A 2017-12-29 2017-12-29 基于区块链的数据存储、恢复方法、装置、设备及介质 Active CN110019235B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711476499.3A CN110019235B (zh) 2017-12-29 2017-12-29 基于区块链的数据存储、恢复方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711476499.3A CN110019235B (zh) 2017-12-29 2017-12-29 基于区块链的数据存储、恢复方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN110019235A true CN110019235A (zh) 2019-07-16
CN110019235B CN110019235B (zh) 2021-08-17

Family

ID=67187176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711476499.3A Active CN110019235B (zh) 2017-12-29 2017-12-29 基于区块链的数据存储、恢复方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN110019235B (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110442622A (zh) * 2019-08-07 2019-11-12 北京艾摩瑞策科技有限公司 涉及区块链的搜索数据处理方法及其装置
CN110457425A (zh) * 2019-08-05 2019-11-15 腾讯科技(深圳)有限公司 一种案例存储方法、装置、设备及存储介质
CN110688261A (zh) * 2019-11-13 2020-01-14 杭州新链科技有限公司 一种基于区块链的数字档案异构电子文件云灾备系统
CN110750541A (zh) * 2019-10-18 2020-02-04 天津理工大学 一种基于区块链的数据存储索引系统及方法
CN110989934A (zh) * 2019-12-05 2020-04-10 达闼科技成都有限公司 区块链节点数据存储方法、区块链系统及区块链节点
CN110995776A (zh) * 2019-10-12 2020-04-10 平安科技(深圳)有限公司 区块链的区块分发方法、装置、计算机设备和存储介质
CN111026569A (zh) * 2019-10-25 2020-04-17 贵阳信息技术研究院(中科院软件所贵阳分部) 一种在联盟链中修复指定区块数据的方法
CN111538785A (zh) * 2020-04-23 2020-08-14 北京海益同展信息科技有限公司 区块链的数据写入方法、装置、系统及电子设备
CN111611258A (zh) * 2020-05-27 2020-09-01 杭州海康威视系统技术有限公司 流数据的恢复方法和存储设备
CN111709048A (zh) * 2020-05-15 2020-09-25 山西警察学院 一种基于私有链的数据安全共享的方法
CN111737104A (zh) * 2019-10-25 2020-10-02 北京沃东天骏信息技术有限公司 区块链网络服务平台及其测试用例共享方法、存储介质
CN111835863A (zh) * 2020-07-23 2020-10-27 上海优扬新媒信息技术有限公司 电子资源处理方法、装置、设备及存储介质
CN112184206A (zh) * 2020-09-30 2021-01-05 杭州复杂美科技有限公司 数据获取方法、设备和存储介质
CN112948179A (zh) * 2021-02-26 2021-06-11 北京邮电大学 一种区块链节点的数据恢复方法、装置及电子设备
CN113297625A (zh) * 2021-07-23 2021-08-24 北京笔新互联网科技有限公司 基于区块链的数据共享系统、方法和电子设备
CN113721833A (zh) * 2020-11-26 2021-11-30 北京沃东天骏信息技术有限公司 存储信息的方法、获取信息的方法、装置、设备和介质
CN113886124A (zh) * 2021-10-04 2022-01-04 杭州复杂美科技有限公司 非法节点识别方法、计算机设备和存储介质
CN113900598A (zh) * 2021-12-10 2022-01-07 北京百度网讯科技有限公司 基于区块链的数据存储方法、装置、设备以及存储介质
CN114168685A (zh) * 2021-12-15 2022-03-11 北京天德科技有限公司 一种基于区块链系统的新型数据库架构及运行方法
CN116893787A (zh) * 2023-09-06 2023-10-17 四川易利数字城市科技有限公司 一种基于区块链大数据应用的磁盘存储方法
CN117057974A (zh) * 2023-08-14 2023-11-14 摩尔线程智能科技(北京)有限责任公司 一种gpu大数据平台、电子设备和存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516203A (zh) * 2016-01-27 2016-04-20 北京博明信德科技有限公司 一种基于指纹分散存储的安全认证方法及系统
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
CN106295406A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 一种用于区块链自安全存储系统及其方法
CN106598490A (zh) * 2016-11-25 2017-04-26 深圳前海微众银行股份有限公司 区块链数据的访问方法和区块链管理系统
CA2948239A1 (en) * 2015-08-13 2017-05-10 The Toronto-Dominion Bank Systems and methods for detecting and resolving data inconsistencies among networked devices using hybrid private-public blockchain ledgers
CN106973036A (zh) * 2017-02-07 2017-07-21 杭州云象网络技术有限公司 一种基于非对称加密的区块链隐私保护方法
CN107103252A (zh) * 2017-04-27 2017-08-29 电子科技大学 基于区块链的数据访问控制方法
CN107292181A (zh) * 2017-06-20 2017-10-24 无锡井通网络科技有限公司 基于区块链的数据库系统及使用该系统的使用方法
CN107315786A (zh) * 2017-06-12 2017-11-03 腾讯科技(深圳)有限公司 业务数据存储方法及装置
CN107516180A (zh) * 2017-08-25 2017-12-26 迅鳐成都科技有限公司 一种基于区块链提高仓储交易安全和操作效率的系统及方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2948239A1 (en) * 2015-08-13 2017-05-10 The Toronto-Dominion Bank Systems and methods for detecting and resolving data inconsistencies among networked devices using hybrid private-public blockchain ledgers
CN105516203A (zh) * 2016-01-27 2016-04-20 北京博明信德科技有限公司 一种基于指纹分散存储的安全认证方法及系统
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
CN106295406A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 一种用于区块链自安全存储系统及其方法
CN106598490A (zh) * 2016-11-25 2017-04-26 深圳前海微众银行股份有限公司 区块链数据的访问方法和区块链管理系统
CN106973036A (zh) * 2017-02-07 2017-07-21 杭州云象网络技术有限公司 一种基于非对称加密的区块链隐私保护方法
CN107103252A (zh) * 2017-04-27 2017-08-29 电子科技大学 基于区块链的数据访问控制方法
CN107315786A (zh) * 2017-06-12 2017-11-03 腾讯科技(深圳)有限公司 业务数据存储方法及装置
CN107292181A (zh) * 2017-06-20 2017-10-24 无锡井通网络科技有限公司 基于区块链的数据库系统及使用该系统的使用方法
CN107516180A (zh) * 2017-08-25 2017-12-26 迅鳐成都科技有限公司 一种基于区块链提高仓储交易安全和操作效率的系统及方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HUAWEI ZHAO等: "Lightweight Backup and Efficient Recovery Scheme for Health Blockchain Keys", 《2017 IEEE 13TH INTERNATIONAL SYMPOSIUM ON AUTONOMOUS DECENTRALIZED SYSTEM (ISADS)》 *
梅颖: "安全存储医疗记录的区块链方法研究", 《江西师范大学学报(自然科学版)》 *
王博等: "以区块链为基础打造智慧城市大数据基础平台", 《智慧城市评论》 *

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457425B (zh) * 2019-08-05 2024-05-03 腾讯科技(深圳)有限公司 一种案例存储方法、装置、设备及存储介质
CN110457425A (zh) * 2019-08-05 2019-11-15 腾讯科技(深圳)有限公司 一种案例存储方法、装置、设备及存储介质
CN110597946A (zh) * 2019-08-05 2019-12-20 腾讯科技(深圳)有限公司 一种案例存储方法、装置、设备及存储介质
CN110597946B (zh) * 2019-08-05 2024-04-23 腾讯科技(深圳)有限公司 一种案例存储方法、装置、设备及存储介质
CN110442622A (zh) * 2019-08-07 2019-11-12 北京艾摩瑞策科技有限公司 涉及区块链的搜索数据处理方法及其装置
CN110995776A (zh) * 2019-10-12 2020-04-10 平安科技(深圳)有限公司 区块链的区块分发方法、装置、计算机设备和存储介质
CN110750541B (zh) * 2019-10-18 2023-05-02 天津理工大学 一种基于区块链的数据存储索引系统及方法
CN110750541A (zh) * 2019-10-18 2020-02-04 天津理工大学 一种基于区块链的数据存储索引系统及方法
CN111026569A (zh) * 2019-10-25 2020-04-17 贵阳信息技术研究院(中科院软件所贵阳分部) 一种在联盟链中修复指定区块数据的方法
CN111737104A (zh) * 2019-10-25 2020-10-02 北京沃东天骏信息技术有限公司 区块链网络服务平台及其测试用例共享方法、存储介质
CN111026569B (zh) * 2019-10-25 2023-09-15 贵阳信息技术研究院(中科院软件所贵阳分部) 一种在联盟链中修复指定区块数据的方法
CN110688261A (zh) * 2019-11-13 2020-01-14 杭州新链科技有限公司 一种基于区块链的数字档案异构电子文件云灾备系统
CN110989934A (zh) * 2019-12-05 2020-04-10 达闼科技成都有限公司 区块链节点数据存储方法、区块链系统及区块链节点
CN110989934B (zh) * 2019-12-05 2023-08-25 达闼机器人股份有限公司 区块链节点数据存储方法、区块链系统及区块链节点
CN111538785A (zh) * 2020-04-23 2020-08-14 北京海益同展信息科技有限公司 区块链的数据写入方法、装置、系统及电子设备
CN111709048A (zh) * 2020-05-15 2020-09-25 山西警察学院 一种基于私有链的数据安全共享的方法
CN111611258B (zh) * 2020-05-27 2023-09-19 杭州海康威视系统技术有限公司 流数据的恢复方法和存储设备
CN111611258A (zh) * 2020-05-27 2020-09-01 杭州海康威视系统技术有限公司 流数据的恢复方法和存储设备
CN111835863A (zh) * 2020-07-23 2020-10-27 上海优扬新媒信息技术有限公司 电子资源处理方法、装置、设备及存储介质
CN111835863B (zh) * 2020-07-23 2023-04-18 度小满科技(北京)有限公司 电子资源处理方法、装置、设备及存储介质
CN112184206A (zh) * 2020-09-30 2021-01-05 杭州复杂美科技有限公司 数据获取方法、设备和存储介质
CN113721833A (zh) * 2020-11-26 2021-11-30 北京沃东天骏信息技术有限公司 存储信息的方法、获取信息的方法、装置、设备和介质
CN112948179A (zh) * 2021-02-26 2021-06-11 北京邮电大学 一种区块链节点的数据恢复方法、装置及电子设备
CN112948179B (zh) * 2021-02-26 2022-07-22 北京邮电大学 一种区块链节点的数据恢复方法、装置及电子设备
CN113297625B (zh) * 2021-07-23 2021-11-02 北京笔新互联网科技有限公司 基于区块链的数据共享系统、方法和电子设备
CN113297625A (zh) * 2021-07-23 2021-08-24 北京笔新互联网科技有限公司 基于区块链的数据共享系统、方法和电子设备
CN113886124B (zh) * 2021-10-04 2023-05-30 杭州复杂美科技有限公司 非法节点识别方法、计算机设备和存储介质
CN113886124A (zh) * 2021-10-04 2022-01-04 杭州复杂美科技有限公司 非法节点识别方法、计算机设备和存储介质
CN113900598A (zh) * 2021-12-10 2022-01-07 北京百度网讯科技有限公司 基于区块链的数据存储方法、装置、设备以及存储介质
CN114168685A (zh) * 2021-12-15 2022-03-11 北京天德科技有限公司 一种基于区块链系统的新型数据库架构及运行方法
CN117057974A (zh) * 2023-08-14 2023-11-14 摩尔线程智能科技(北京)有限责任公司 一种gpu大数据平台、电子设备和存储介质
CN117057974B (zh) * 2023-08-14 2024-04-09 摩尔线程智能科技(北京)有限责任公司 一种gpu大数据平台、电子设备和存储介质
CN116893787A (zh) * 2023-09-06 2023-10-17 四川易利数字城市科技有限公司 一种基于区块链大数据应用的磁盘存储方法
CN116893787B (zh) * 2023-09-06 2023-12-05 四川易利数字城市科技有限公司 一种基于区块链大数据应用的磁盘存储方法

Also Published As

Publication number Publication date
CN110019235B (zh) 2021-08-17

Similar Documents

Publication Publication Date Title
CN110019235A (zh) 基于区块链的数据存储、恢复方法、装置、设备及介质
TWI725655B (zh) 用於在可信執行環境中執行子邏輯代碼的程式執行和資料證明的方法、設備和系統
TWI751402B (zh) 一種資料同步方法、分散式系統、電腦可讀取儲取媒體、電腦設備及分散式設備
US11444783B2 (en) Methods and apparatuses for processing transactions based on blockchain integrated station
CN109361740A (zh) 一种区块链的区块生成方法、装置、设备和介质
CN109522363B (zh) 基于区块链的云平台同步方法、系统、设备及存储介质
CN105933374B (zh) 一种移动终端数据备份方法、系统及移动终端
CN109040063A (zh) 车辆ecu密钥的确定方法、装置、设备及存储介质
EP4191498A1 (en) Data communication method and apparatus, computer device, and storage medium
US9455827B2 (en) Communication apparatus, computer program product, and communication system
US11783339B2 (en) Methods and apparatuses for transferring transaction based on blockchain integrated station
WO2023131002A1 (zh) 区块链共识方法及计算机可读存储介质
CN111680105A (zh) 基于区块链的分布式关系型数据库的管理方法及系统
CN112468571B (zh) 内外网数据同步方法、装置、电子设备及存储介质
CN109344631A (zh) 区块链的数据修改及区块验证方法、装置、设备和介质
CN110059089A (zh) 数据同步方法、装置、存储介质及电子设备
CN110647759B (zh) 数据记录方法、节点、设备、存储介质及区块链系统
CN108256354A (zh) 一种基于试验数据的存储方法及存储介质
CN111786785B (zh) 基于区块链的配电物联网节点切换方法及装置
CN114039733B (zh) 一种针对联盟链的存证业务转移方法、装置及设备
US10785025B1 (en) Synchronization of key management services with cloud services
US20180060974A1 (en) Social networking relationships processing method, system, and storage medium
CN111400771A (zh) 目标分区的校验方法及装置、存储介质、计算机设备
WO2016086356A1 (zh) 一种无线通信网络中的鉴权方法、相关装置及系统
CN115776501A (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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190716

Assignee: SHANGHAI YOUYANG NEW MEDIA INFORMATION TECHNOLOGY Co.,Ltd.

Assignor: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd.

Contract record no.: X2019110000005

Denomination of invention: Data storage and recovery method, device and equipment based on block chain and medium

License type: Common License

Record date: 20191119

EE01 Entry into force of recordation of patent licensing contract
GR01 Patent grant
GR01 Patent grant