CN111414426A - 一种基于区块链的数据处理方法及系统 - Google Patents

一种基于区块链的数据处理方法及系统 Download PDF

Info

Publication number
CN111414426A
CN111414426A CN202010221681.XA CN202010221681A CN111414426A CN 111414426 A CN111414426 A CN 111414426A CN 202010221681 A CN202010221681 A CN 202010221681A CN 111414426 A CN111414426 A CN 111414426A
Authority
CN
China
Prior art keywords
storage
data
backup
stored
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.)
Pending
Application number
CN202010221681.XA
Other languages
English (en)
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.)
Beijing Yuntu Kerui Technology Co ltd
Original Assignee
Beijing Yuntu Kerui 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 Yuntu Kerui Technology Co ltd filed Critical Beijing Yuntu Kerui Technology Co ltd
Priority to CN202010221681.XA priority Critical patent/CN111414426A/zh
Publication of CN111414426A publication Critical patent/CN111414426A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof

Abstract

本发明提供一种基于区块链的数据处理方法及系统,所述方法包括:接收数据存储请求,所述数据存储请求包括待存储数据;对所述待存储数据进行拆分,获得多个存储数据块;为每个存储数据块分配对应的存储节点,并将每个存储数据块存储到对应的存储节点;根据各个备份节点的资源信息以及备份节点筛选规则,筛选出预设数量的备份节点对每个存储数据块进行备份并生成预设数量的备份证明信息;根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成并生成备份记录。所述系统用于执行上述方法。本发明实施例提供的基于区块链的数据处理方法及系统,提高了数据存储的安全性。

Description

一种基于区块链的数据处理方法及系统
技术领域
本发明涉及数据处理技术领域,具体涉及一种基于区块链的数据处理方法及系统。
背景技术
随着互联网云计算的发展,云存储给企业提供了存储服务,企业可以通过运营商的云存储服务,将自己的数据上传到运营商的服务器保存。
对于存储服务,数据的安全性、保密性、可用性是存储服务的关键点。需要同时确保这些功能,存储服务才能够放心的使用,企业的服务才能够正常的运转。对于运营商提供给企业的存储服务,如果出现网络故障或者数据遗失,存储服务不可用,就会影响到企业的存储服务的可用性。而且,由于数据都在运营商的的服务器中存储,那么保障数据的安全性和保密性尤其重要。
发明内容
针对现有技术中的问题,本发明实施例提供一种基于区块链的数据处理方法及系统,能够至少部分地解决现有技术中存在的问题。
一方面,本发明提出一种基于区块链的数据处理方法,包括:
接收数据存储请求,所述数据存储请求包括待存储数据;
对所述待存储数据进行拆分,获得多个存储数据块;
为每个存储数据块分配对应的存储节点,并将每个存储数据块存储到对应的存储节点;
根据各个备份节点的资源信息以及备份节点筛选规则,筛选出预设数量的备份节点对每个存储数据块进行备份并生成预设数量的备份证明信息;
根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成并生成备份记录。
另一方面,本发明提供一种基于区块链的数据处理系统,包括:
接收模块,用于接收数据存储请求,所述数据存储请求包括待存储数据;
拆分模块,用于对所述待存储数据进行拆分,获得多个存储数据块;
存储模块,用于为每个存储数据块分配对应的存储节点,并将每个存储数据块存储到对应的存储节点;
备份模块,用于根据各个备份节点的资源信息以及备份节点筛选规则,筛选出预设数量的备份节点对每个存储数据块进行备份并生成预设数量的备份证明信息;
确认模块,用于根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成并生成备份记录。
再一方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述基于区块链的数据处理方法的步骤。
又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述基于区块链的数据处理方法的步骤。
本发明实施例提供的基于区块链的数据处理方法及系统,能够接收包括待存储数据的数据存储请求,对待存储数据进行拆分,获得多个存储数据块,为每个存储数据块分配对应的存储节点,并将每个存储数据块存储到对应的存储节点,根据各个备份节点的资源信息以及备份节点筛选规则,筛选出预设数量的备份节点对每个存储数据块进行备份并生成预设数量的备份证明信息,根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成并生成备份记录,通过对待存储数据进行拆分,并对每个存储数据块进行备份,提高了数据存储的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例提供的分布式存储系统的结构示意图。
图2是本发明一实施例提供的基于区块链的数据处理方法的流程示意图。
图3是本发明另一实施例提供的基于区块链的数据处理方法的流程示意图。
图4是本发明又一实施例提供的基于区块链的数据处理方法的流程示意图。
图5是本发明一实施例提供的基于区块链的数据处理系统的结构示意图。
图6是本发明另一实施例提供的基于区块链的数据处理系统的结构示意图。
图7是本发明又一实施例提供的基于区块链的数据处理系统的结构示意图。
图8是本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1是本发明一实施例提供的分布式存储系统的结构示意图,如图1所示,本发明实施例提供的分布式存储系统包括多个存储节点1、多个备份节点2和至少一个验证节点3,其中:
每个存储节点与每个备份节点通信连接,每个备份节点与每个验证节点通信连接,每个存储节点与每个验证节点通信连接。
存储节点1用于存储待存储数据的存储数据块并生成存储证明信息,备份节点2用于备份存储数据块并生成备份证明信息,验证节点3用于根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成并生成备份记录;其中,所述待存储数据包括多个存储数据块,每个存储数据块存储到一个存储节点并备份到预设数量个备份节点。所述预设数量根据实际需要进行设置,本发明实施例不做限定。
例如,所述分布式存储系统包括n个存储节点,同时n个存储节点在用于数据备份时可以作为所述分布式存储系统的备份节点。可理解的是,对于同一个存储数据块,对于的存储节点和备份节点是不同的节点。
本发明实施例提供的分布式存储系统,引入区块链技术,所述分布式存储系统的每个节点与一个区块链节点对应,即每个存储节点与一个区块链节点对应,每个备份节点与一个区块链节点对应,每个验证节点与一个区块链节点对应。所述分布式存储系统的各个节点的路由可以采用符合分布式散列表(Distributed Hash Table,简称DHT)算法的路由规则,需要存储的待存储数据采用默克有向无环图(Merkle directed acyclic graph,简称Merkle DAG)的数据存储模型进行拆分整理,获得所述待存储数据的多个存储数据块,所述分布式存储系统的各个节点之间的数据交换基于BitSwap协议。所述分布式存储系统用于执行本发明实施例提供的基于区块链的数据处理方法。
图2是本发明一实施例提供的基于区块链的数据处理方法的流程示意图,如图2所示,本发明实施例提供的基于区块链的数据处理方法,包括:
S201、接收数据存储请求,所述数据存储请求包括待存储数据;
具体地,用户可以通过用户终端向分布式存储系统发送数据存储请求,所述数据存储请求包括待存储数据,所述待存储数据是需要存储的数据。所述分布式存储系统会接收所述数据存储请求。其中,用户终端包括但不限于台式机、笔记本电脑、服务器等电子设备。
S202、对所述待存储数据进行拆分,获得多个存储数据块;
具体地,所述分布式存储系统在接收到所述待存储数据之后,对所述待存储数据进行拆分,获得所述待存储数据的多个存储数据块。
例如,所述分布式存储系统可以按照Merkle DAG数据存储模型对所述待存储数据进行拆分整理,获得所述待存储数据的多个存储数据块。
S203、为每个存储数据块分配对应的存储节点,并将每个存储数据块存储到对应的存储节点;
具体地,所述分布式存储系统在获得所述待存储数据的多个存储数据块之后,可以为每个存储数据块分配一个的存储节点来存储所述存储数据块,然后将每个存储数据块存储到对应的存储节点。
例如,所述分布式存储系统可以通过DHT算法将每个存储数据块与一个存储节点对应。预先将各个存储节点与从0开始的自然数对应,计算每个存储数据块的哈希值,用每个存储数据块的哈希值除以存储节点的总数,获得的余数所对应的存储节点作为该存储数据块对应的存储节点。
S204、根据各个备份节点的资源信息以及备份节点筛选规则,筛选出预设数量的备份节点对每个存储数据块进行备份并生成预设数量的备份证明信息;
具体地,所述分布式存储系统在存储完每个存储数据块之后,会对每个存储数据块进行备份,可以根据每个备份节点的资源信息以及备份节点的筛选规则,筛选出预设数量的备份节点,然后将每个存储数据块存储到预设数量的备份节点上,并生成备份证明信息,所述备份证明信息用于证明完成了存储数据块的备份。其中,每个备份节点都会生成备份证明信息。所述资源信息包括但不限于CPU使用率、内存使用率和存储空间剩余量。所述备份节点的筛选规则根据实际需要进行设置,本发明实施例不做限定。存储数据块的备份可以通过智能合约实现。
例如,所述备份证明信息可以采用复制证明(Proof of Replication)来实现,复制证明是一种交互式协议。证明者P,首先承诺存储某数据D的n个不同的副本(独立物理副本),然后通过响应协议来说服验证者V,表明证明者P确实已经存储了每个副本。比如证明者可以通过对一组随机数据进行采样和提交小量数据来生成拥有的概率证明作为给用户的响应协议。所述复制证明的具体实现方式根据实际需要进行选择,本发明实施例不做限定。
S205、根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成并生成备份记录。
具体地,每个存储数据块在备份完成之后,会生成预设数量的备份证明信息,对于所述待存储数据的多个存储数据块,所述分布式存储系统会对所述待存储数据的每个存储数据块的预设数量的备份证明信息进行验证,如果每个存储数据块的预设数量的备份证明信息都通过验证,那么所述分布式存储系统确认所述待存储数据存储完成。在所述待存储数据备份完成之后,会生成所述待存储数据的备份记录,所述备份记录用于记录所述待存储数据的多个存储数据块存储的存储节点以及每个存储数据块备份的备份节点。其中,所述备份记录可以存储到每个区块链节点上,所述备份记录可以采用链式存储。
本发明实施例提供的基于区块链的数据处理方法,能够接收包括待存储数据的数据存储请求,对待存储数据进行拆分,获得多个存储数据块,为每个存储数据块分配对应的存储节点,并将每个存储数据块存储到对应的存储节点,根据各个备份节点的资源信息以及备份节点筛选规则,筛选出预设数量的备份节点对每个存储数据块进行备份并生成预设数量的备份证明信息,根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成并生成备份记录,通过对待存储数据进行拆分,并对每个存储数据块进行备份,提高了数据存储的安全性。
图3是本发明另一实施例提供的基于区块链的数据处理方法的流程示意图,如图3所示,在上述各实施例的基础上,进一步地,本发明实施例提供的基于区块链的数据处理方法还包括:
S301、定期对所述待存储数据的多个存储数据块的存储数据和备份数据进行有效性验证;
具体地,在所述待存储数据存储到所述分布式存储系统中之后,为了防止所述待存储数据被删除或者篡改,所述分布式存储系统会定期对所述待存储数据的多个存储数据块的存储数据和备份数据进行有效性验证,获得每个存储数据块的存储数据验证结果和备份数据的验证结果。其中,所述存储数据块的存储数据是存储在存储节点的存储数据块,所述存储数据块的备份数据是存在备份节点的存储数据块。所述定期根据实际需要进行设置,本发明实施例不做限定。
例如,所述分布式存储系统可以通过时空证明对所述待存储数据的多个存储数据块的存储数据和备份数据进行有效性验证。时空证明就是时间维度上的复制证明,时空证明用于在时间维度上,保证数据不被删除,一直存在。所述分布式存储系统定期获取每个存储数据块的时空证明,根据每个存储数据块的时空证明判断每个存储数据块的存储数据和备份数据是否相同。所述时空证明可以包括:上一次时空证明的结果,本次的时间戳,以及存储数据块的采样结果。
例如,所述分布式存储系统可以获取所述存储数据块的存储数据的哈希值和所述存储数据块的各个备份数据的哈希值,判断各个备份数据的哈希值以及所述存储数据的哈希值是否相同,如果某个备份数据的哈希值与各个备份数据的哈希值以及所述存储数据的哈希值中多数相同的哈希值不同,那么该备份数据没有通过有效性验证。如果各个备份数据的哈希值以及存储数据的哈希值相同,那么所述存储数据块的存储数据和备份数据通过有效性验证。
S302、若判断获知所述存储数据块的存储数据或者备份数据没有通过有效性验证,则同步所述存储数据块的未通过有效性验证的存储数据或者备份数据。
具体地,所述分布式存储系统在获得每个存储数据块的存储数据验证结果和备份数据的验证结果之后,如果所述存储数据块的存储数据验证结果或者备份验证结果为不通过,那么断获知所述存储数据块的存储数据或者备份数据没有通过有效性验证。所述分布式存储系统会根据通过验证的存储数据或者备份数据,对未通过验证的存储数据或者备份数据进行同步,使每个存储数据块的存储数据和备份数据一致。
例如,存储数据块a有一个存储数据a0和3个备份数据a1、a2和a3,当存储数据a0、备份数据a1和备份数据a3都通过有效性验证,而备份数据a2没有通过有效性验证时,可以根据存储数据a0对备份数据a2进行同步,即用存储数据a0替换备份数据a2,重新获得备份数据a2
本发明实施例提供的基于区块链的数据处理方法,在待存储数据存储完成之后,定期对待存储数据进行有效性校验,并在校验不通过时,对校验不通过的存储数据或者备份数据进行同步,有效防止数据被非法篡改,进一步提高了数据的安全性。
图4是本发明又一实施例提供的基于区块链的数据处理方法的流程示意图,如图4所示,在上述各实施例的基础上,进一步地,所述根据各个存储数据块的存储证明信息和所述预设数量的备份证明信息,确认所述待存储数据存储完成包括:
S2051、对每个存储数据块的备份证明信息进行验证;
具体地,由于每个存储数据块都会备份到预设数量个存储节点上,每个存储数据块有预设数量个备份证明信息,所述分布式存储系统会对所述存储数据块的每个备份证明信息进行验证,获得所述存储数据块的每个备份证明信息的验证结果。
例如,所述备份证明信息包括存储数据块在备份节点的备份数据的哈希值,将备份数据的哈希值与存储数据块的原始哈希值进行比较,如果备份数据的哈希值与存储数据块的原始哈希值相同,那么备份节点对应的备份证明信息的验证结果为通过,如果备份数据的哈希值与存储数据块的原始哈希值不相同,那么备份节点对应的备份证明信息的验证结果为不通过。其中,存储数据块的原始哈希值可以是在将所述待存储数据拆分为多个存储数据块之后,计算各个存储数据块的哈希值时获得的。
S2052、若判断获知所述存储数据块的备份证明信息通过验证,则确认所述存储数据块存储完成;
具体地,所述分布式存储系统在获得所述存储数据块的每个备份证明信息的验证结果之后,如果所述存储数据块的每个备份证明信息的验证结果都为通过,那么可以确认所述存储数据块存储完成。如果有任何一个备份证明信息的验证结果为不通过,那么所述存储数据块的存储没有完成,可以在验证结果为不通过的备份证明信息对应的备份节点上重新备份所述存储数据块。
S2053、若判断获知所述待存储数据的多个存储数据块存储完成,则确认所述待存储数据存储完成。
具体地,所述待存储数据被拆分为多个存储数据块,如果所述分布式存储系统确认出所述待存储数据的多个存储数据块存储完成,说明所述待存储数据存储完成。
例如,待存储数据b被拆分成N个存储数据块,每个存储数据块都有M个备份,当所述分布式存储系统确认N个存储数据块存储完成,那么可以确认待存储数据b存储完成。
在上述各实施例的基础上,进一步地,所述为每个存储数据块分配对应的存储节点包括:
根据每个存储数据块的哈希值、存储节点的数量以及匹配规则,确定每个存储数据块对应的存储节点。
具体地,所述分布式存储系统在将所述待存储数据拆分为多个存储数据块之后,可以计算每个存储数据块的哈希值,并计算每个存储数据块的哈希值除以存储节点的数量的余数,将余数对应的存储节点作为每个存储数据块对应的存储节点。其中,每个存储节点对应一个自然数,各个存储节点对应的自然数从0开始顺序排列。
例如,所述分布式存储系统包括3个存储节点:node1、node2和node3,分别对应0、1和2。待存储数据c被拆分为3个存储数据块:c1、c2和c3,计算其中一个存储数据块c1的哈希值,获得一个16进制数,用上述16进制数除以3,假设获得的余数为2,那么存储数据块c1与存储节点node3对应,用存储节点node3来存储数据块c1。同理,也可以获得存储数据块c2和c3对应的存储节点。
下面以一个具体的实施例来说明本发明实施例提供的基于区块链的数据处理方法的实现过程。
分布式存储系统A包括10个存储节点,这个10个存储节点同时也作为备份节点,分布式存储系统A还包括1个验证节点,10个存储节点和1个验证节点构成一个区块链网络。其中,10个存储节点的编号从0至9。
用户甲有数据需要存储,用户甲将需要存储的数据作为待存储数据x携带在数据存储请求中通过台式机B发送个分布式存储系统A。分布式存储系统A的验证节点接收到上述数据存储请求之后,从上述存储请求中获得待存储数据x,然后按照Merkle DAG数据存储模型将待存储数据x拆分为3个存储数据块:存储数据块x1、存储数据块x2和存储数据块x3。所述验证节点计算上述3个存储数据块的原始哈希值,然后计算获得存储数据块x1的原始哈希值除以10的余数为1,将存储数据块x1与1号存储节点对应,计算获得存储数据块x2的原始哈希值除以10的余数为2,将存储数据块x2与2号存储节点对应,计算获得存储数据块x3的原始哈希值除以10的余数为3,将存储数据块x3与3号存储节点对应。
所述验证节点会将存储数据块x1发送给1号存储节点存储,将存储数据块x2发送给2号存储节点存储,将存储数据块x3发送给3号存储节点存储。1号存储节点存储完存储数据块x1之后,会在区块链网络中广播存储信息,所述存储信息可以包括存储数据块x1的哈希值以及存储数据块x1的磁盘空间剩余量。1号存储节点根据其他9个存储节点的磁盘空间剩余量,对9个存储节点按照磁盘空间剩余量的大小进行降序排序,然后获得磁盘空间剩余量最大的3个作为存储数据块x1的备份节点,假设获得3号存储节点、6号存储节点和9号存储节点作为存储数据块x1的备份节点。存储数据块x1会向3号存储节点、6号存储节点和9号存储节点发送存储数据块x1以及存储数据块x1的哈希值。3号存储节点会接收存储数据块x1并对储数据块x1进行备份,然后根据存储数据块x1的备份数据,计算存储数据块x1的备份数据的哈希值,通过存储数据块x1的备份数据的哈希值与1号存储节点发送的哈希值对存储数据块x1的备份数据的进行验证,存储数据块x1的备份数据的哈希值与接收到的哈希值相同时验证通过,接着生成存储数据块x1的备份证明信息并在区块链网络中广播储数据块x1的备份证明信息,存储数据块x1的备份证明信息可以包括存储数据块x1的备份数据的哈希值。同理,6号存储节点和9号存储节点也会备份存储数据块x1,并广播储数据块x1的备份证明信息。同理,存储数据块x2和存储数据块x3的存储以及备份过程,与存储数据块x1的存储以及备份过程类似,此处不进行赘述。
所述验证节点会接收到3号存储节点、6号存储节点和9号存储节点广播的存储数据块x1的备份数据的哈希值,并与存储数据块x1的原始哈希值进行比较,如果存储数据块x1的三个备份数据的哈希值与存储数据块x1的原始哈希值相同,那么可以确认存储数据块x1存储完成。同理,所述验证节点可以对存储数据块x2和存储数据块x3是否存储完成进行确认。验证节点在确认存储数据块x1、存储数据块x2和存储数据块x3存储完成之后,可以确认待存储数据x存储完成。
所述验证节点可以定期获取存储数据块x1在1号存储节点上的存储数据的哈希值px0,以及存储数据块x1在3号存储节点、6号存储节点和9号存储节点上的备份数据的哈希值px3、px6和px9,然后将哈希值px0、哈希值px3、哈希值px6和哈希值px9分别与存储数据块x1的原始哈希值进行比较,如果哈希值px0、哈希值px3、哈希值px6和哈希值px9都与存储数据块x1的原始哈希值相同,那么说明存储数据块x1的存储数据和备份数据一致,存储数据块x1的存储数据和备份数据通过有效性验证。如果哈希值px0、哈希值px3和哈希值px6与存储数据块x1的原始哈希值相同,而哈希值px9与存储数据块x1的原始哈希值不相同,说明9号存储节点上存储的存储数据块x1的备份数据出现错误,所述验证节点可以发送数据同步信息给1号存储节点,使1号存储节点将存储数据块x1发送给9号存储节点,使9号存储节点重新对存储数据块x1进行备份。同理,存储数据块x2和存储数据块x3也可以进行上述过程,进行存储数据块x2和存储数据块x3的有效性验证,以保证存储数据块x2和存储数据块x3的可靠性和完整性。
图5是本发明一实施例提供的基于区块链的数据处理系统的结构示意图,如图5所述,本发明实施例提供的基于区块链的数据处理系统包括接收模块501、拆分模块502、存储模块503、备份模块504和确认模块505,其中:
接收模块501用于接收数据存储请求,所述数据存储请求包括待存储数据;拆分模块502用于对所述待存储数据进行拆分,获得多个存储数据块;存储模块503用于为每个存储数据块分配对应的存储节点,并将每个存储数据块存储到对应的存储节点;备份模块504用于根据各个备份节点的资源信息以及备份节点筛选规则,筛选出预设数量的备份节点对每个存储数据块进行备份并生成预设数量的备份证明信息;确认模块505用于根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成并生成备份记录。
具体地,用户可以通过用户终端向分布式存储系统发送数据存储请求,所述数据存储请求包括待存储数据,所述待存储数据是需要存储的数据。接收模块501会接收所述数据存储请求。其中,用户终端包括但不限于台式机、笔记本电脑、服务器等电子设备。
在接收到所述待存储数据之后,拆分模块502对所述待存储数据进行拆分,获得所述待存储数据的多个存储数据块。
在获得所述待存储数据的多个存储数据块之后,存储模块503可以为每个存储数据块分配一个的存储节点来存储所述存储数据块,然后将每个存储数据块存储到对应的存储节点。
在存储完每个存储数据块之后,备份模块504会对每个存储数据块进行备份,可以根据每个备份节点的资源信息以及备份节点的筛选规则,筛选出预设数量的备份节点,然后将每个存储数据块存储到预设数量的备份节点上,并生成备份证明信息,所述备份证明信息用于证明完成了存储数据块的备份。其中,每个备份节点都会生成备份证明信息。所述资源信息包括但不限于CPU使用率、内存使用率和存储空间剩余量。所述备份节点的筛选规则根据实际需要进行设置,本发明实施例不做限定。存储数据块的备份可以通过智能合约实现。
每个存储数据块在备份完成之后,会生成预设数量的备份证明信息,对于所述待存储数据的多个存储数据块,确认模块505会对所述待存储数据的每个存储数据块的预设数量的备份证明信息进行验证,如果每个存储数据块的预设数量的备份证明信息都通过验证,那么所述分布式存储系统确认所述待存储数据存储完成。在所述待存储数据备份完成之后,会生成所述待存储数据的备份记录,所述备份记录用于记录所述待存储数据的多个存储数据块存储的存储节点以及每个存储数据块备份的备份节点。其中,所述备份记录可以存储到每个区块链节点上,所述备份记录可以采用链式存储。
本发明实施例提供的基于区块链的数据处理系统,能够接收包括待存储数据的数据存储请求,对待存储数据进行拆分,获得多个存储数据块,为每个存储数据块分配对应的存储节点,并将每个存储数据块存储到对应的存储节点,根据各个备份节点的资源信息以及备份节点筛选规则,筛选出预设数量的备份节点对每个存储数据块进行备份并生成预设数量的备份证明信息,根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成并生成备份记录,通过对待存储数据进行拆分,并对每个存储数据块进行备份,提高了数据存储的安全性。
图6是本发明另一实施例提供的基于区块链的数据处理系统的结构示意图,如图6所示,在上述各实施例的基础上,进一步地,本发明实施例提供的基于区块链的数据处理系统还包括验证模块506和同步模块507,其中:
验证模块506用于定期对所述待存储数据的多个存储数据块的存储数据和备份数据进行有效性验证;同步模块507用于在判断获知所述存储数据块的存储数据或者备份数据没有通过有效性验证之后,则同步所述存储数据块的未通过有效性验证的存储数据或者备份数据。
具体地,在所述待存储数据存储到所述分布式存储系统中之后,为了防止所述待存储数据被删除或者篡改,验证模块506会定期对所述待存储数据的多个存储数据块的存储数据和备份数据进行有效性验证,获得每个存储数据块的存储数据验证结果和备份数据的验证结果。其中,所述存储数据块的存储数据是存储在存储节点的存储数据块,所述存储数据块的备份数据是存在备份节点的存储数据块。所述定期根据实际需要进行设置,本发明实施例不做限定。
在获得每个存储数据块的存储数据验证结果和备份数据的验证结果之后,如果所述存储数据块的存储数据验证结果或者备份验证结果为不通过,那么同步模块507断获知所述存储数据块的存储数据或者备份数据没有通过有效性验证。同步模块507会根据通过验证的存储数据或者备份数据,对未通过验证的存储数据或者备份数据进行同步,使每个存储数据块的存储数据和备份数据一致。
图7是本发明又一实施例提供的基于区块链的数据处理系统的结构示意图,如图7所示,在上述各实施例的基础上,进一步地,确认模块505包括验证子模块5051、判断子模块5052和确认子模块5053,其中:
验证子模块5051用于对每个存储数据块的备份证明信息进行验证;判断子模块5052用于在判断获知所述存储数据块的备份证明信息通过验证之后,确认所述存储数据块存储完成;确认子模块5053用于在判断获知所述待存储数据的多个存储数据块存储完成之后,确认所述待存储数据存储完成。
具体地,由于每个存储数据块都会备份到预设数量个存储节点上,每个存储数据块有预设数量个备份证明信息,验证子模块5051会对所述存储数据块的每个备份证明信息进行验证,获得所述存储数据块的每个备份证明信息的验证结果。
在获得所述存储数据块的每个备份证明信息的验证结果之后,如果所述存储数据块的每个备份证明信息的验证结果都为通过,那么判断子模块5052可以确认所述存储数据块存储完成。如果有任何一个备份证明信息的验证结果为不通过,那么所述存储数据块的存储没有完成,可以在验证结果为不通过的备份证明信息对应的备份节点上重新备份所述存储数据块。
所述待存储数据被拆分为多个存储数据块,如果确认子模块5053确认出所述待存储数据的多个存储数据块存储完成,说明所述待存储数据存储完成。
在上述各实施例的基础上,进一步地,存储模块503具体用于:
根据每个存储数据块的哈希值、存储节点的数量以及匹配规则,确定每个存储数据块对应的存储节点。
具体地,在将所述待存储数据拆分为多个存储数据块之后,存储模块503可以计算每个存储数据块的哈希值,并计算每个存储数据块的哈希值除以存储节点的数量的余数,将余数对应的存储节点作为每个存储数据块对应的存储节点。其中,每个存储节点对应一个自然数,各个存储节点对应的自然数从0开始顺序排列。
本发明实施例提供的系统的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图8是本发明一实施例提供的电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)801、通信接口(Communications Interface)802、存储器(memory)803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信。处理器801可以调用存储器803中的逻辑指令,以执行如下方法:接收数据存储请求,所述数据存储请求包括待存储数据;对所述待存储数据进行拆分,获得多个存储数据块;为每个存储数据块分配对应的存储节点,并将每个存储数据块存储到对应的存储节点;根据各个备份节点的资源信息以及备份节点筛选规则,筛选出预设数量的备份节点对每个存储数据块进行备份并生成预设数量的备份证明信息;根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成并生成备份记录。
此外,上述的存储器803中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:接收数据存储请求,所述数据存储请求包括待存储数据;对所述待存储数据进行拆分,获得多个存储数据块;为每个存储数据块分配对应的存储节点,并将每个存储数据块存储到对应的存储节点;根据各个备份节点的资源信息以及备份节点筛选规则,筛选出预设数量的备份节点对每个存储数据块进行备份并生成预设数量的备份证明信息;根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成并生成备份记录。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:接收数据存储请求,所述数据存储请求包括待存储数据;对所述待存储数据进行拆分,获得多个存储数据块;为每个存储数据块分配对应的存储节点,并将每个存储数据块存储到对应的存储节点;根据各个备份节点的资源信息以及备份节点筛选规则,筛选出预设数量的备份节点对每个存储数据块进行备份并生成预设数量的备份证明信息;根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成并生成备份记录。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于区块链的数据处理方法,其特征在于,包括:
接收数据存储请求,所述数据存储请求包括待存储数据;
对所述待存储数据进行拆分,获得多个存储数据块;
为每个存储数据块分配对应的存储节点,并将每个存储数据块存储到对应的存储节点;
根据各个备份节点的资源信息以及备份节点筛选规则,筛选出预设数量的备份节点对每个存储数据块进行备份并生成预设数量的备份证明信息;
根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成并生成备份记录。
2.根据权利要求1所述的方法,其特征在于,还包括:
定期对所述待存储数据的多个存储数据块的存储数据和备份数据进行有效性验证;
若判断获知所述存储数据块的存储数据或者备份数据没有通过有效性验证,则同步所述存储数据块的未通过有效性验证的存储数据或者备份数据。
3.根据权利要求1所述的方法,其特征在于,所述根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成包括:
对每个存储数据块的备份证明信息进行验证;
若判断获知所述存储数据块的备份证明信息通过验证,则确认所述存储数据块存储完成;
若判断获知所述待存储数据的多个存储数据块存储完成,则确认所述待存储数据存储完成。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述为每个存储数据块分配对应的存储节点包括:
根据每个存储数据块的哈希值、存储节点的数量以及匹配规则,确定每个存储数据块对应的存储节点。
5.一种基于区块链的数据处理系统,其特征在于,包括:
接收模块,用于接收数据存储请求,所述数据存储请求包括待存储数据;
拆分模块,用于对所述待存储数据进行拆分,获得多个存储数据块;
存储模块,用于为每个存储数据块分配对应的存储节点,并将每个存储数据块存储到对应的存储节点;
备份模块,用于根据各个备份节点的资源信息以及备份节点筛选规则,筛选出预设数量的备份节点对每个存储数据块进行备份并生成预设数量的备份证明信息;
确认模块,用于根据各个存储数据块的预设数量的备份证明信息,确认所述待存储数据存储完成并生成备份记录。
6.根据权利要求5所述的系统,其特征在于,还包括:
验证模块,用于定期对所述待存储数据的多个存储数据块的存储数据和备份数据进行有效性验证;
同步模块,用于在判断获知所述存储数据块的存储数据或者备份数据没有通过有效性验证之后,则同步所述存储数据块的未通过有效性验证的存储数据或者备份数据。
7.根据权利要求5所述的系统,其特征在于,所述确认模块包括:
验证子模块,用于对每个存储数据块的备份证明信息进行验证;
判断子模块,用于在判断获知所述存储数据块的备份证明信息通过验证之后,确认所述存储数据块存储完成;
确认子模块,用于在判断获知所述待存储数据的多个存储数据块存储完成之后,确认所述待存储数据存储完成。
8.根据权利要求5至7任一项所述的系统,其特征在于,所述存储模块具体用于:
根据每个存储数据块的哈希值、存储节点的数量以及匹配规则,确定每个存储数据块对应的存储节点。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述方法的步骤。
CN202010221681.XA 2020-03-26 2020-03-26 一种基于区块链的数据处理方法及系统 Pending CN111414426A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010221681.XA CN111414426A (zh) 2020-03-26 2020-03-26 一种基于区块链的数据处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010221681.XA CN111414426A (zh) 2020-03-26 2020-03-26 一种基于区块链的数据处理方法及系统

Publications (1)

Publication Number Publication Date
CN111414426A true CN111414426A (zh) 2020-07-14

Family

ID=71491426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010221681.XA Pending CN111414426A (zh) 2020-03-26 2020-03-26 一种基于区块链的数据处理方法及系统

Country Status (1)

Country Link
CN (1) CN111414426A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112311798A (zh) * 2020-11-02 2021-02-02 大连理工大学 一种基于对等超媒体分发协议的数据块交换方法
CN113194127A (zh) * 2021-04-21 2021-07-30 统信软件技术有限公司 一种数据存储方法、数据传输方法及计算设备
CN113886135A (zh) * 2020-10-20 2022-01-04 支付宝(杭州)信息技术有限公司 一种区块链数据的恢复方法和装置
US20220020014A1 (en) * 2020-07-20 2022-01-20 Jiangsu Aowei Holdings Co., Ltd. Transaction mode-based electronic contract preservation system
CN114579353A (zh) * 2020-12-01 2022-06-03 中国移动通信集团四川有限公司 数据备份方法、数据恢复方法、系统、装置以及存储介质
CN114969803A (zh) * 2021-04-27 2022-08-30 中移互联网有限公司 一种数据存储方法、装置及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667884A (zh) * 2017-04-01 2018-10-16 华为技术有限公司 镜像分发方法、镜像获取方法及装置
CN109242636A (zh) * 2018-09-26 2019-01-18 盈盈(杭州)网络技术有限公司 一种基于区块链的数据交易系统及其实现方法
CN109271115A (zh) * 2018-10-11 2019-01-25 重庆晨鲸科技有限公司 存储共享方法、装置、区块链分布式网络拓扑
CN109271283A (zh) * 2018-09-06 2019-01-25 北京云测信息技术有限公司 一种基于区块链的数据备份方法
CN109684413A (zh) * 2018-12-25 2019-04-26 深圳市网心科技有限公司 一种区块链存储证明方法、系统及电子设备和存储介质
CN109936620A (zh) * 2019-01-21 2019-06-25 中国联合网络通信集团有限公司 基于区块链的存储方法及装置、系统与存储介质
CN110134336A (zh) * 2019-05-17 2019-08-16 上海坎通智能科技有限公司 分布式存储设备双存储动态调整优化系统
CN110399338A (zh) * 2019-04-13 2019-11-01 西安电子科技大学 基于区块链的分布式文件索引系统及方法、云存储服务器
CN110647503A (zh) * 2019-10-09 2020-01-03 重庆特斯联智慧科技股份有限公司 一种分布式存储方法及装置
US20200034548A1 (en) * 2018-07-30 2020-01-30 EMC IP Holding Company LLC Decentralized policy publish and query system for multi-cloud computing environment
US10554407B1 (en) * 2018-07-12 2020-02-04 Protocol Labs, Inc. Protocols for decentralized networks

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667884A (zh) * 2017-04-01 2018-10-16 华为技术有限公司 镜像分发方法、镜像获取方法及装置
US10554407B1 (en) * 2018-07-12 2020-02-04 Protocol Labs, Inc. Protocols for decentralized networks
US20200034548A1 (en) * 2018-07-30 2020-01-30 EMC IP Holding Company LLC Decentralized policy publish and query system for multi-cloud computing environment
CN109271283A (zh) * 2018-09-06 2019-01-25 北京云测信息技术有限公司 一种基于区块链的数据备份方法
CN109242636A (zh) * 2018-09-26 2019-01-18 盈盈(杭州)网络技术有限公司 一种基于区块链的数据交易系统及其实现方法
CN109271115A (zh) * 2018-10-11 2019-01-25 重庆晨鲸科技有限公司 存储共享方法、装置、区块链分布式网络拓扑
CN109684413A (zh) * 2018-12-25 2019-04-26 深圳市网心科技有限公司 一种区块链存储证明方法、系统及电子设备和存储介质
CN109936620A (zh) * 2019-01-21 2019-06-25 中国联合网络通信集团有限公司 基于区块链的存储方法及装置、系统与存储介质
CN110399338A (zh) * 2019-04-13 2019-11-01 西安电子科技大学 基于区块链的分布式文件索引系统及方法、云存储服务器
CN110134336A (zh) * 2019-05-17 2019-08-16 上海坎通智能科技有限公司 分布式存储设备双存储动态调整优化系统
CN110647503A (zh) * 2019-10-09 2020-01-03 重庆特斯联智慧科技股份有限公司 一种分布式存储方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JUAN BENET: "IPFS - Content Addressed, Versioned, P2P File System", 《HTTPS://ARXIV.ORG/PDF/1407.3561V1.PDF》 *
刘斌等: "内存数据库技术在电网实时监测中的应用研究", 《计算机工程与设计》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220020014A1 (en) * 2020-07-20 2022-01-20 Jiangsu Aowei Holdings Co., Ltd. Transaction mode-based electronic contract preservation system
CN113886135A (zh) * 2020-10-20 2022-01-04 支付宝(杭州)信息技术有限公司 一种区块链数据的恢复方法和装置
CN112311798A (zh) * 2020-11-02 2021-02-02 大连理工大学 一种基于对等超媒体分发协议的数据块交换方法
CN114579353A (zh) * 2020-12-01 2022-06-03 中国移动通信集团四川有限公司 数据备份方法、数据恢复方法、系统、装置以及存储介质
CN113194127A (zh) * 2021-04-21 2021-07-30 统信软件技术有限公司 一种数据存储方法、数据传输方法及计算设备
CN113194127B (zh) * 2021-04-21 2022-08-12 统信软件技术有限公司 一种数据存储方法、数据传输方法及计算设备
CN114969803A (zh) * 2021-04-27 2022-08-30 中移互联网有限公司 一种数据存储方法、装置及存储介质
CN114969803B (zh) * 2021-04-27 2023-08-15 中移互联网有限公司 一种数据存储方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN111414426A (zh) 一种基于区块链的数据处理方法及系统
CN107819828B (zh) 数据传输方法、装置、计算机设备和存储介质
US10664353B2 (en) Method and system for byzantine fault-tolerance replicating of data on a plurality of servers
CN108270874B (zh) 应用程序的更新方法及装置
TWI751402B (zh) 一種資料同步方法、分散式系統、電腦可讀取儲取媒體、電腦設備及分散式設備
CA2866449C (en) Telemetry system for a cloud synchronization system
CN111988203B (zh) 节点选举方法、装置及存储介质
CN109981279B (zh) 一种区块链系统、通信方法、装置、设备及介质
US8954793B2 (en) Method and a storage server for data redundancy
CN111510333B (zh) 基于k3s平台的联盟区块链系统、实现方法及装置
CN111786812A (zh) 节点管理方法、装置、计算机设备和存储介质
CN111339551B (zh) 数据的验证方法及相关装置、设备
CN105187218A (zh) 一种多核心基础设施的数字化记录签名、验证方法
CN111311254A (zh) 一种基于区块链的业务处理方法、装置和系统
US20200320225A1 (en) Apparatus and method of creating a data chain in a data structure that can be cryptographically proven to contain valid data
CN111026711A (zh) 基于区块链数据存储方法、装置、计算机设备及存储介质
CN114422331A (zh) 容灾切换方法、装置及系统
CN112131041A (zh) 用于管理数据放置的方法、设备和计算机程序产品
CN112073401B (zh) 一种基于HTTPS协议web应用自动更新证书的方法、程序及介质
CN111327680A (zh) 认证数据同步方法、装置、系统、计算机设备和存储介质
CN114127724A (zh) 针对多副本存储的完整性审计
CN110618989A (zh) 信息处理方法、信息处理装置及相关产品
CN115348278A (zh) 区块链的分布式存储方法
CN111522875B (zh) 一种全量数据同步的分布式系统数据副本一致性监测方法
CN114528139A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200714