CN112988667B - 一种基于区块链网络的数据存储方法及装置 - Google Patents
一种基于区块链网络的数据存储方法及装置 Download PDFInfo
- Publication number
- CN112988667B CN112988667B CN202110515287.1A CN202110515287A CN112988667B CN 112988667 B CN112988667 B CN 112988667B CN 202110515287 A CN202110515287 A CN 202110515287A CN 112988667 B CN112988667 B CN 112988667B
- Authority
- CN
- China
- Prior art keywords
- node
- storage
- multimedia data
- data
- target
- 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
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000012795 verification Methods 0.000 claims abstract description 81
- 238000012545 processing Methods 0.000 claims description 65
- 238000004590 computer program Methods 0.000 claims description 23
- 238000000605 extraction Methods 0.000 claims description 15
- 238000007405 data analysis Methods 0.000 claims description 10
- 238000011156 evaluation Methods 0.000 claims description 9
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/41—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种基于区块链网络的数据存储方法及装置,其中的方法包括:接收目标设备发送的存储请求;将多媒体数据存储至目标存储节点的本地空间,并生成多媒体数据的目标存储证明;将目标存储证明发送至共识节点,以使共识节点在接收到目标设备发送的关于多媒体数据的上链请求后,根据目标存储证明对多媒体数据进行共识校验,并在多媒体数据通过共识校验后,将多媒体数据的数据标识存储至区块链网络的区块链中。采用本申请实施例可提高区块链网络的运行效率和稳定性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于区块链网络的数据存储方法、一种基于区块链网络的数据存储装置、一种基于区块链网络的数据存储设备以及一种计算机可读存储介质。
背景技术
随着计算机技术的快速发展,区块链网络逐渐受到用户关注,越来越多的用户或企业选择将数据存储至区块链网络,以防止数据被篡改。目前,现有技术通常是采用区块链网络中的区块链来存储用户或企业上传的数据的。然而,如果将所有数据均存储至区块链,特别是一些存储内存较大的数据,会造成区块链的数据量较大,进而影响区块链网络的运行效率和稳定性。
发明内容
本申请实施例提供一种基于区块链网络的数据存储方法及装置,能够在区块链网络中将多媒体数据的共识和存储分离,提高区块链网络的运行效率和稳定性。
一方面,本申请实施例提供了一种基于区块链网络的数据存储方法,区块链网络包含共识节点以及目标存储节点,该数据存储方法由目标存储节点执行,该数据存储方法包括:
接收目标设备发送的存储请求,存储请求中携带多媒体数据;
将多媒体数据存储至目标存储节点的本地空间,并生成多媒体数据的目标存储证明,目标存储证明用于证明目标存储节点已存储多媒体数据;
将目标存储证明发送至共识节点,以使共识节点在接收到目标设备发送的关于多媒体数据的上链请求后,根据目标存储证明对多媒体数据进行共识校验,并在多媒体数据通过共识校验后,将多媒体数据的数据标识存储至区块链网络的区块链中;其中,区块链中的数据标识用于指示多媒体数据被成功存储至区块链网络中。
另一方面,本申请实施例提供了一种基于区块链网络的数据存储方法,区块链网络包含共识节点以及目标存储节点,该数据存储方法由共识节点执行,该数据存储方法包括:
接收目标设备发送的关于多媒体数据的上链请求;
获取关于多媒体数据的目标存储证明,目标存储证明是由目标存储节点接收到目标设备发送的存储请求后,生成并发送给共识节点的,目标存储证明用于证明目标存储节点已存储多媒体数据;
按照共识校验策略根据目标存储证明对多媒体数据进行共识校验,并在多媒体数据通过共识校验后,将多媒体数据的数据标识存储至区块链网络的区块链中;其中,区块链中的数据标识用于指示多媒体数据被成功存储至区块链网络中。
另一方面,本申请实施例提供了一种基于区块链网络的数据存储装置,区块链网络包含共识节点以及目标存储节点,该数据存储装置搭载于目标存储节点上;该数据存储装置包括:
接收单元,用于接收目标设备发送的存储请求,存储请求中携带多媒体数据;
处理单元,用于将多媒体数据存储至目标存储节点的本地空间,并生成多媒体数据的目标存储证明,目标存储证明用于证明目标存储节点已存储多媒体数据;
处理单元,还用于将目标存储证明发送至共识节点,以使共识节点在接收到目标设备发送的关于多媒体数据的上链请求后,根据目标存储证明对多媒体数据进行共识校验,并在多媒体数据通过共识校验后,将多媒体数据的数据标识存储至区块链网络的区块链中;其中,区块链中的数据标识用于指示多媒体数据被成功存储至区块链网络中。
在一种实现方式中,处理单元用于生成多媒体数据的目标存储证明时,具体用于:
获取多媒体数据的数据标识,以及获取目标存储节点的节点标识;
基于数据标识以及目标存储节点的节点标识,生成多媒体数据的目标存储证明。
在一种实现方式中,处理单元用于获取多媒体数据的数据标识时,具体用于:
对多媒体数据进行数据分析,得到多媒体数据的数据属性信息;
对数据属性信息进行哈希运算,得到多媒体数据的数据标识,或者,将多媒体数据的数据属性信息作为多媒体数据的数据标识。
在一种实现方式中,处理单元用于对多媒体数据进行数据分析,得到多媒体数据的数据属性信息时,具体用于执行以下至少一项:
对多媒体数据进行特征提取处理,得到多媒体数据的数据特征,并将数据特征添加至多媒体数据的数据属性信息中;
对多媒体数据进行关键字提取处理,得到多媒体数据的关键字信息,并将关键字信息添加至多媒体数据的数据属性信息中;
若多媒体数据为文本,则对多媒体数据进行摘要提取处理,得到多媒体数据的摘要信息,并将摘要信息添加至多媒体数据的数据属性信息中。
在一种实现方式中,若区块链网络中包含第一节点类型下的N个存储节点,N为大于1的整数;且目标存储节点为N个存储节点中的一个存储节点,第一节点类型是指:需至少两个存储节点共同维护一个数据的节点类型;处理单元,还用于:
从N个存储节点中除目标存储节点以外的存储节点中,选取M个参考存储节点,M∈[1,N-1];
将多媒体数据同步给M个参考存储节点,以使每个参考存储节点在存储多媒体数据后,向共识节点发送关于多媒体数据的参考存储证明,以使共识节点在接收到上链请求后,根据目标存储证明和各个参考存储节点发送的参考存储证明对多媒体数据进行共识校验。
在一种实现方式中,处理单元,还用于:
接收访问设备发送的数据访问请求,数据访问请求中携带多媒体数据的数据标识以及访问设备的设备标识;
根据数据标识从区块链中读取多媒体数据的当前归属权信息,当前归属权信息包括:具有多媒体数据的归属权的当前设备的设备标识;当前设备是指:在接收到数据访问请求时,拥有多媒体数据的归属权的设备;
采用访问设备的设备标识对当前归属权信息进行标识命中处理,若成功命中,则确定访问设备具有多媒体数据的访问权限,并向访问设备返回多媒体数据。
另一方面,本申请实施例提供了一种基于区块链网络的数据存储装置,区块链网络包含共识节点以及目标存储节点,该数据存储装置搭载于共识节点上,该数据存储装置包括:
获取单元,用于接收目标设备发送的关于多媒体数据的上链请求;
获取单元,还用于获取关于多媒体数据的目标存储证明,目标存储证明是由目标存储节点接收到目标设备发送的存储请求后,生成并发送给共识节点的,目标存储证明用于证明目标存储节点已存储多媒体数据;
处理单元,用于按照共识校验策略根据目标存储证明对多媒体数据进行共识校验,并在多媒体数据通过共识校验后,将多媒体数据的数据标识存储至区块链网络的区块链中;其中,区块链中的数据标识用于指示多媒体数据被成功存储至区块链网络中。
在一种实现方式中,目标存储证明被存储至区块链中;处理单元用于按照共识校验策略根据目标存储证明对多媒体数据进行共识校验时,具体用于:
获取目标存储节点的目标节点类型,目标节点类型为第一节点类型或第二节点类型;第一节点类型是指需至少两个存储节点共同维护一个数据的节点类型;第二节点类型是指一个存储节点独立维护一个数据的节点类型;
若目标节点类型为第一节点类型,则统计区块链中已存储的关于多媒体数据的存储证明的数量;若统计到的数量大于数量阈值,确定多媒体数据通过共识校验;
若目标节点类型为第二节点类型,则确定多媒体数据通过共识校验。
在一种实现方式中,若区块链网络中包含第一节点类型下的N个存储节点,N为大于1的整数;且目标存储节点为N个存储节点中的一个存储节点,则多媒体数据被同步存储至N个存储节点中的M个参考存储节点中,M∈[1,N-1];处理单元,还用于:
接收访问设备发送的数据访问请求,数据访问请求中携带多媒体数据的数据标识以及访问设备的设备标识;
根据数据标识从区块链中读取多媒体数据的当前归属权信息,当前归属权信息包括:具有多媒体数据的归属权的当前设备的设备标识;当前设备是指:在接收到数据访问请求时,拥有多媒体数据的归属权的设备;
采用访问设备的设备标识对当前归属权信息进行标识命中处理,若成功命中,则从M个参考存储节点和目标存储节点中,选取基准存储节点;
通过基准存储节点向目标设备发送多媒体数据。
在一种实现方式中,处理单元用于从M个参考存储节点和目标存储节点中,选取基准存储节点时,具体用于:
从M个参考存储节点和目标存储节点中,随机选取一个存储节点作为基准存储节点;
或者,计算M个参考存储节点和目标存储节点中,各个存储节点与共识节点之间的距离,并将与共识节点之间的距离最短的存储节点作为基准存储节点;
或者,检测M个参考存储节点和目标存储节点中,各个存储节点的网络状态,将网络状态满足预设条件的存储节点作为基准存储节点。
在一种实现方式中,处理单元用于通过基准存储节点向目标设备发送多媒体数据时,具体用于:
向基准存储节点发送数据获取请求,数据获取请求用于请求基准存储节点返回多媒体数据;接收基准存储节点返回的多媒体数据,并将多媒体数据发送至访问设备;
或者,向基准存储节点发送数据通知消息,数据通知消息用于通知基准存储节点将多媒体数据发送至访问设备;
或者,将基准存储节点的节点标识返回至访问设备,以使访问设备基于基准存储节点的节点标识向基准存储节点发送数据访问请求,并接收基准存储节点返回的多媒体数据。
在一种实现方式中,处理单元,还用于:
确定目标设备具有多媒体数据的归属权;
根据目标设备的设备标识生成多媒体数据的初始归属权信息,并将初始归属权信息存储至区块链中;
若接收到目标设备发送的归属权更新信息,则在区块链中根据归属权更新信息对初始归属权信息进行更新。
在一种实现方式中,共识校验策略是以智能合约的形式存储在区块链中;或者,共识校验策略内嵌于共识节点的操作系统中。
另一方面,本申请实施例提供一种基于区块链网络的数据存储设备,该设备包括:
处理器,适于执行计算机程序;
计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时,实现如上述的基于区块链网络的数据存储方法。
另一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序适于由处理器加载并执行如上述的基于区块链网络的数据存储方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。数据存储设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该数据存储设备执行上述的基于区块链网络的数据存储方法。
本申请实施例中,目标设备向目标存储节点发送存储请求,并由目标存储节点响应存储请求将存储请求携带的多媒体数据存储至目标存储节点;目标存储节点还生成关于多媒体数据的目标存储证明,并将目标存储证明发送至共识节点,以便于共识节点在对多媒体数据共识校验成功之后,能够将关于多媒体数据的数据标识存储至区块链,这样区块链中的数据标识指示了区块链网络已经成功存储多媒体数据。上述过程中,可采用与共识节点相互独立的目标存储节点来存储数据量较大的多媒体数据,而只将数据量较小的数据标识存储至区块链,这种将多媒体数据和数据标识分离存储的方式,在一定程度上可提高多媒体数据的安全性,相较于将多媒体数据存储至区块链而言,可以有效地减少区块链的存储压力,进而减小共识节点的存储压力,提高共识节点的运行效率和稳定性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a示出了本申请一个示例性实施例提供的一种数据共享系统的架构示意图;
图1b示出了本申请一个示例性实施例提供的一种区块的结构示意图;
图1c示出了本申请一个示例性实施例提供的一种基于区块链网络的数据存储系统的架构示意图;
图2示出了本申请一个示例性实施例提供的一种基于区块链网络的数据存储方法的流程示意图;
图3示出了本申请一个示例性实施例提供的一种上传多媒体数据的界面示意图;
图4示出了本申请一个示例性实施例提供的一种多方搭建存储节点的示意图;
图5示出了本申请一个示例性实施例提供的一种显示通知消息的界面示意图;
图6示出了本申请一个示例性实施例提供的另一种基于区块链网络的数据存储方法的流程示意图;
图7示出了本申请一个示例性实施例提供的又一种基于区块链网络的数据存储方法的流程示意图;
图8示出了本申请一个示例性实施例提供的一种访问设备获取多媒体数据的示意图;
图9示出了本申请一个示例性实施例提供的一种通过基准存储节点返回多媒体数据的示意图;
图10示出了本申请一个示例性实施例提供的一种基于区块链网络的数据存储装置的结构示意图;
图11示出了本申请一个示例性实施例提供的另一种基于区块链网络的数据存储装置的结构示意图;
图12示出了本申请一个示例性实施例提供的一种基于区块链网络的数据存储设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例涉及区块链技术,下面对区块链技术的相关术语及概念进行简要介绍:
区块链网络可以理解为一个数据共享系统100,数据共享系统100可是指用于进行节点与节点之间数据共享的系统,该数据共享系统100的一种示例性结构可参见图1a;如图1a所示,该数据共享系统100中可以包括多个节点101,多个节点101可以是指数据共享系统100中各个客户端(或终端设备、服务器等)。为了保证数据共享系统100内的信息互通,数据共享系统100中的每个节点之间可以存在信息连接,以使节点之间可以实现信息传输,进而实现信息共享。其中,节点之间实现信息连接的方式可包括:对于数据共享系统100中的每个节点,均具有与其对应的节点标识,而且数据共享系统100中的每个节点均可以存储有数据共享系统100中其他节点的节点标识,这样任一节点可根据其他节点的节点标识,实现信息共享(如将生成的区块广播至数据共享系统100中的其他节点)。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明:
表1 节点标识列表
节点名称 | 节点标识 |
节点1 | 117.114.151.174 |
节点2 | 117.116.189.145 |
… | … |
节点S(S为正整数) | xx.xx.xx.xx |
数据共享系统100中的每个节点均存储一条相同的区块链。区块链(blockchain或block chain)是分布式数据存储、P2P(Peer to Peer,点对点)传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链由多个区块组成,每个区块中包括输入信息,节点通过存储区块链实现存储输入信息。其中,区块的结构示意图可参见图1b,如图1b所示,区块的创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
其中,数据共享系统100中的节点对输入信息进行共识,并在共识成功后将输入信息生成的区块上链(即将区块添加至区块链)的过程可包括:当数据共享系统100中的任意节点接收到输入信息时,数据共享系统100中的其他节点便根据共识算法对该输入信息进行共识,并在共识成功后将该输入信息生成区块,以及将该区块添加至区块链,进而实现对该输入信息的分布式存储,使得数据共享系统100中全部节点上存储的数据均一致。其中,上述提及的根据共识算法对输入信息进行共识的节点,通常被称为共识节点,在此说明。
经实践发现,共识节点的存储空间是有限的,如果将所有共识成功的数据均存储至共识节点所包含的区块链中,可能会导致共识节点的存储压力较大,减小共识节点的剩余内存空间,进而导致共识节点的运行效率较低,稳定性较差等。例如,待存储的数据为占用存储内存较大的大文件数据(如大存储内存的音视频数据等)时,将该大文件数据存储至共识节点所包含的区块链中,会造成共识节点的存储空间缩小,进而降低共识节点的共识效率。并且,当区块链被应用于一些对信息安全性较高的场景中时,例如,待存储的数据为涉及个人隐私或国家安全的相关数据时,也不适用于所有共识节点均存储数据。基于此,为了提高区块链网络中节点的存储效率,以及维护数据的安全性和隐私性;本申请实施例提出了一种基于区块链网络的数据存储方案,该基于区块链网络的数据存储方案可简称为数据存储方案,该数据存储方案在区块链网络中引入了与共识节点相互独立的、且负责存储的存储节点,并通过存储节点来负责区块链上的数据的存储,而不用将数据存储至区块链;这种将数据存储和数据共识分离开来,可以减轻共识节点的存储压力,且确保了共识节点能够对数据进行共识校验,也有利于数据的隐私保护。
在具体实现中,该数据存储方案可应用于图1c所示的基于区块链网络的数据存储系统。如图1c所示,该基于区块链网络的数据存储系统可包括但不限于:区块链网络中的节点设备(如共识节点101以及存储节点102)和目标设备103。本申请实施例对各个节点设备(如共识节点101、存储节点102)和目标设备103的数量和种类不作限定。例如,在图1c中共识节点101的数量为4个,存储节点102的数量为2个,但实际应用中,共识节点101的数量可能大于4个(如100个),存储节点102的数量可能大于2个(如50个)。再如,目标设备103可以是指用户终端、终端设备等,目标设备可包括但不限于:智能手机、平板电脑、便携式个人计算机、移动互联网设备、智能电视、车载设备、头戴设备等智能设备,而节点设备(如共识节点101以及存储节点102)可以是指具备较大存储空间和具有较强计算能力的服务器,服务器可以包括但不限于:数据处理服务器、Web服务器、应用服务器等等具有复杂计算能力的设备。目标设备和服务器(如共识节点、存储节点)可以通过有线或无线方式进行直接或间接地通信连接,本申请实施例并不对目标设备和服务器之间的连接方式进行限定。
具体的,本申请实施例提及的基于区块链网络的数据存储方案,可以由图1c所示的数据存储系统中的目标设备103、共识节点101以及存储节点102共同执行。其中,该数据存储方案的大致流程可参见图1c,如图1c所示:①目标用户可使用目标设备103向目标存储节点102(如任一存储节点)发送存储请求,存储请求中携带多媒体数据(如文件、音视频、图像等数据);目标存储节点102接收目标设备103发送的存储请求,并响应于存储请求,将多媒体数据存储至目标存储节点102的本地空间,以及基于多媒体数据生成目标存储证明,该目标存储证明可用于证明目标存储节点已存储多媒体数据;目标存储节点102还将目标存储证明发送至共识节点101(如任一共识节点,或与目标存储节点距离最近的共识节点,或专门用于接收存储证明的共识节点,等等)。②共识节点101接收目标存储节点102发送的目标存储证明,并将目标存储证明以区块形式添加至区块链中,以实现将目标存储证明上链。③目标用户可通过目标设备103向共识节点101发送上链请求,该上链请求用于请求共识节点101将多媒体数据的数据标识进行上链。④共识节点101接收到目标设备103发送的上链请求后,响应于上链请求,对多媒体数据进行共识校验,并在共识校验成功后,将多媒体数据的数据标识以区块形式存储至区块链中,实现对多媒体数据的数据标识的上链;区块链中的数据标识可以指示多媒体数据已经成功存储至区块链网络中。需要说明的是,上述是以目标设备103不属于区块链网络中的节点设备为例进行说明的,但可以理解的是,目标设备103也可以作为区块链网络中的节点设备,在此不作详细阐述。
本申请实施例中,通过在区块链网络中引入存储节点(如目标存储节点),并基于存储节点来负责存储多媒体数据,而将基于多媒体数据生成的目标存储证明发送至共识节点,以使共识节点将多媒体数据的数据标识存储至区块链网络的区块链上,区块链中的数据标识可以用于表征数据标识指示的多媒体数据已存储至区块链网络。上述过程中,可采用与共识节点相互独立的目标存储节点来存储数据量较大的多媒体数据,而只将数据量较小的数据标识存储至区块链,这种将多媒体数据和数据标识分离存储的方式,在一定程度上可提高多媒体数据的安全性,相较于将多媒体数据存储至区块链而言,可以有效地减少区块链的存储压力,进而减小共识节点的存储压力,提高共识节点的运行效率和稳定性。
基于上述描述的基于区块链网络的数据存储方案,本申请实施例提出更为详细的基于区块链网络的数据存储方法,下面将结合附图对本申请实施例提出的基于区块链网络的数据存储方法进行详细介绍。
请参见图2,图2示出了本申请一个示例性实施例提供的一种基于区块链网络的数据存储方法的流程示意图;该数据存储方法可以由图1c所示系统中的目标存储节点(即任一存储节点)来执行,该数据存储方法包括但不限于步骤S201-S203:
S201,接收目标设备发送的存储请求。
目标设备可以是指目标用户所使用的设备,如智能手机、个人电脑等;当目标用户具有将多媒体数据存储至区块链网络的需求时,目标用户可使用目标设备向目标存储节点发送存储请求,该存储请求中携带多媒体数据,以使目标存储节点在接收到存储请求后,响应于存储请求对多媒体数据进行存储。其中,多媒体数据可包括但不限于:图像、文件、音频、视频等数据,本申请实施例对多媒体数据的类型不作限定。
一种目标用户通过目标设备将多媒体数据发送至目标存储节点的示例性过程可参见图3,如图3所示,在目标设备的终端屏幕中显示上传界面301,目标用户可以在上传界面301中上传待存储的多媒体数据,如上传的待存储的多媒体数据为文件;上传界面301中包括提交选项3011,当提交选项3011被触发时,目标设备基于多媒体数据生成存储请求,并将存储请求发送至目标存储节点。可以理解的是,图3所示的上传界面301的样式以及上传多媒体数据的流程均是示例性的,在实际应用场景中,上传界面301的样式以及上传多媒体数据的流程均是可以发生变化的,特在此说明。
S202,将多媒体数据存储至目标存储节点的本地空间,并生成多媒体数据的目标存储证明。
目标存储节点接收目标设备发送的存储请求后,可响应存储请求,将存储请求所携带的多媒体数据存储至目标存储节点的本地空间中。当然,根据业务需求的不同,目标存储节点在将多媒体数据存储至本地空间之前,还可以对多媒体数据进行合法性校验,并在校验成功之后,才执行将多媒体数据存储至本地空间的步骤。其中,所谓合法性校验可以是指:①校验多媒体数据的数据格式是否满足目标存储节点(或区块链网络)对数据格式的要求;如目标存储节点存储的数据的数据格式为文件格式,当多媒体数据的格式为表格格式时,确定对多媒体数据校验失败,即不能将多媒体数据存储至目标存储节点的本地空间。②校验多媒体数据是否为合法或符合道义道德的数据;如校验多媒体数据是否包含暴力数据、虚假信息等,当检测到多媒体数据包含非法数据或违反道德的信息时,确定对多媒体数据校验失败。③校验多媒体数据的来源是否符合规则;如设定区块链存储的数据均应该来源于公司A,当多媒体数据来源于公司B时,确定对多媒体数据校验失败,即不能将多媒体数据存储至目标存储节点的本地空间;等等。上述只是示例性的列举了几种合法性校验,本申请对目标存储节点对多媒体数据的校验方式不作限定,在此说明。
举例来说:假设区块链网络是关于票据存储的网络,即区块链中只存储与票据相关的数据,如发票数据、开票方数据等等;当目标存储节点接收到多媒体数据之后,目标存储节点可检测多媒体数据是否为与票据相关的数据,如检测多媒体数据是否为发票数据;若多媒体数据不为与票据相关的数据,则目标存储节点不对多媒体数据进行存储,即存储失败,反之,若多媒体数据为与票据相关的数据,则目标存储节点对多媒体数据进行存储,即存储成功。
目标存储节点在接收到目标设备发送的存储请求后,还响应于存储请求,基于存储请求所携带的多媒体数据生成多媒体数据的目标存储证明;目标存储证明类似于一张证明凭证,若目标存储节点拥有目标存储证明,则表示目标存储节点已经成功存储多媒体数据。其中,目标存储证明生成多媒体数据的目标存储证明的方式可包括但不限于:获取多媒体数据的数据标识,以及获取目标存储节点的节点标识;并基于多媒体数据的数据标识和目标存储节点的节点标识,生成多媒体数据的目标存储证明;这样目标存储证明中可包括多媒体数据的数据标识以及目标存储节点的节点标识。
如前述对区块链技术的相关介绍可知,目标存储节点的节点标识可能是IP地址以及其他任一种能够用于标识该节点的信息(如目标存储节点(或目标存储节点设备)出厂时分配的唯一标识码,或者是目标存储节点新增进区块链网络时为该目标存储节点设备分配的唯一标识码等等);目标存储节点的节点标识可用于唯一标识该目标存储节点,即根据该节点标识可查找到与该节点标识具有对应关系的唯一的目标存储节点。同理,多媒体数据的数据标识也可以用于唯一标识该多媒体数据,即根据该数据标识可查询到该数据标识对应的唯一的多媒体数据。其中,确定多媒体数据的数据标识的方式可包括但不限于:对多媒体数据进行数据分析,得到多媒体数据的数据属性信息;并对数据属性信息进行哈希运算,得到多媒体数据的数据标识,或者,直接将多媒体数据的数据属性信息作为多媒体数据的数据标识。其中,哈希算法可包括但不限于:MD4(Message Digest4)算法、MD5(MessageDigest5)算法、SHA1(Secure Hash Algorithm1)算法等等,本申请实施例对具体采用哪种哈希算法不作限定。
可以根据数据属性信息是否能够唯一标识多媒体数据,来确定采用上述描述的哪一种方式来确定多媒体数据的数据标识。例如:多媒体数据为交易数据,则多媒体数据的数据属性信息可以包括本次交易的订单号,该订单号可以唯一标识交易数据,所以可以将订单号直接作为多媒体数据的数据标识。再如:多媒体数据为文本,则多媒体数据的数据属性信息可以包括文本的文本名称,该文本名称并不能唯一标识该文本,如存在两篇同名的文本等,所以可以对该文本的文本名称进行哈希运算,得到多媒体数据的数据标识。
其中,在多媒体数据的数据属性信息不能唯一标识该多媒体数据的情况下,目标存储节点对多媒体数据进行数据分析,得到多媒体数据的数据属性信息的实现方式可包括以下至少一项:①对多媒体数据进行特征提取处理,得到多媒体数据的数据特征,并将数据特征添加至多媒体数据的数据属性信息中;其中,根据多媒体数据的类型不同,对多媒体数据进行特征提取的方式也不相同;例如,多媒体数据为图像,则可对图像的颜色、形状、边界等进行特征提取,得到对应的数据特征;再如,多媒体数据为音频,则可对音频进行频域特征、能量特征的提取等等。②对多媒体数据进行关键字提取处理,得到多媒体数据的关键字信息,并将关键字信息添加至多媒体数据的数据属性信息中;具体实现中,可确定多媒体数据中的多个候选词,并从多个候选词中确定出比较重要的词作为关键字信息,进而实现对多媒体数据的关键字信息的提取;例如,当多媒体数据为音频时,可从音频的音频信息(如音频名称、内存、时间等信息)中确定出关键字信息。③若多媒体数据为文本,则对多媒体数据进行摘要提取处理,得到多媒体数据的摘要信息,并将摘要信息添加至多媒体数据的数据属性信息中;所谓摘要提取处理可以是指对文本进行处理,包括简化、精炼文本内容,得到文本的中心内容的过程,文本的摘要信息在一定程度上可以表达文本的主要内容。综上述,多媒体数据的数据属性信息可是对多媒体数据进行处理后得到的,数据属性信息可包括:多媒体数据的数据特征、多媒体数据的关键字信息以及多媒体数据的摘要信息。但不难理解的是,多媒体数据的数据属性信息还可以是由存储请求携带的、直接由目标设备发送给目标存储节点的;例如,多媒体数据为交易数据,则多媒体数据的数据属性信息可包括订单号,则该订单号可以是包含于存储请求中,由目标设备直接发送至目标存储节点的;等等。
值得注意的是,上述描述的确定多媒体数据的数据标识的过程是由目标存储节点来执行的,但在实际的应用场景中,确定多媒体数据的数据标识的过程也可以由目标设备来执行,这样可省略目标存储节点计算多媒体数据的数据标识的过程,降低对目标存储节点的计算能力的要求,提高目标存储节点的存储效率。本申请实施例对确定多媒体数据的数据标识的执行主体不作限定,在此说明。
另外,如果区块链网络中包含多个存储节点,那么本申请实施例还支持存储节点之间进行多媒体数据的同步,这样可将多媒体数据在区块链网络中进行分布式存储,实现多媒体数据的备份;其中,存储节点之间可以采用P2P(peer-to-peer lending,互联网金融点对点借贷平台)链路进行多媒体数据的传输,提高多媒体数据的同步效率。具体实现中,若区块链网络中包含第一节点类型下的N个存储节点,N为大于1的整数;且目标存储节点为N个存储节点中的一个存储节点,第一节点类型是指:需至少两个存储节点共同维护一个数据的节点类型,即需要多个存储节点来对任一数据进行同步存储的节点类型;那么当目标存储节点接收到目标设备发送的多媒体数据之后,目标存储节点可从N个存储节点中除目标存储节点以外的存储节点中选取M个参考存储节点,M∈[1,N-1];并将多媒体数据同步给M个参考存储节点,以使M个参考存储节点中每个参考存储节点在存储多媒体数据后,向共识节点发送关于多媒体数据的参考存储证明,以使共识节点在接收到上链请求后,根据目标存储证明和各个参考存储节点发送的参考存储证明对多媒体数据进行共识校验。其中,M的具体取值可以是由管理人员根据业务需求设置的,本申请实施例对M的具体取值不作限定。
其中,当目标存储节点的节点类型为第一节点类型时,可将目标存储节点理解为一种多中心存储节点,即区块链网络中存在多个存储节点来对同一数据进行同步存储。上述描述的第一节点类型下的多个存储节点对多媒体数据同步存储的实现方式,适用于多方维护多媒体数据存储的应用场景。在多方共同维护多媒体数据存储的应用场景中,参与多媒体数据的存储的各方可以分别搭建一个或多个存储节点来存储多媒体数据,并且多方的存储节点之间或者任一方的多个存储节点之间可以采用P2P链路方式进行多媒体数据的同步。下面结合附图4所示的票据存储场景为例,来对多方共同维护多媒体数据存储的场景进行说明,如图4所示,在票据存储的应用场景中,会涉及到税务局、开票方以及用户方,那么税务局和开票方可以作为维护多媒体数据存储的两方,则税务局和开票方可分别搭建存储节点来存储发票;例如,税务局搭建了存储节点1、存储节点2、存储节点3以及存储节点4,开票方搭建了存储节点5以及存储节点6;当税务局搭建的任一存储节点(如存储节点1)接收到多媒体数据(即发票)时,该任一存储节点可以将多媒体数据同步给税务局搭建的其他存储节点以及开票方搭建的存储节点,以实现各个存储节点分布式存储多媒体数据。
需要说明的是,图4中是以目标设备将多媒体数据发送至存储节点1为例进行介绍的,但实际应用场景中,目标设备可以是将多媒体数据发送至除存储节点1之外的其他存储节点(如存储节点5);并且,存储节点1接收到多媒体数据后,可以有选择的将多媒体数据同步至税务局的部分存储节点或开票方的部分存储节点,如只将多媒体数据同步至税务局的存储节点2和存储节点4中。另外,本申请实施例还支持存储节点1将多媒体数据同步至任一参考存储节点(如存储节点4)后,由该任一参考存储节点将多媒体数据继续同步至其他参考存储节点;基于此,本申请实施例对存储节点之间同步多媒体数据的方式不作限定。
另外,搭建存储节点的各方的等级可能并不相同,那么各方根据等级的不同,搭建的存储节点的数量和等级,以及用于存储某种多媒体数据的存储节点的数量可能并不相同;这里的等级可以是指存储多媒体数据的优先级,例如等级越高的存储节点,相较于等级较低的存储节点来说,可以优先对多媒体数据进行存储,当然,等级还可以定义为其他含义,在此不作详细阐述。举例来说,在由公司1、公司2以及公司3共同维护多媒体数据存储的应用场景中,设定公司的等级越高,该公司搭建的存储节点的等级越高,公司可搭建的存储节点的数量越多,可用于存储目标多媒体数据(如任一多媒体数据)的存储节点的数量越多。现假设公司1的等级>公司2的等级>公司3的等级,那么可确定公司1搭建的存储节点的数量和等级>公司2搭建的存储节点的数量和等级>公司3搭建的存储节点的数量和等级,且公司1用于存储目标多媒体数据的存储节点的数量>公司2用于存储目标多媒体数据的存储节点的数量>公司3用于存储目标多媒体数据的存储节点的数量。上述对参与存储多媒体数据的各方划分等级的方式,能够更好地满足一些业务需求,提供更为丰富的应用场景。
S203,将目标存储证明发送至共识节点。
目标存储节点生成关于多媒体数据的目标存储证明后,还可以将目标存储证明发送至共识节点,以使共识节点在接收到目标设备发送的关于多媒体数据的上链请求后,根据目标存储证明对多媒体数据进行共识校验,并在多媒体数据通过共识校验后,将多媒体数据的数据标识存储至区块链网络的区块链中;其中,区块链中的数据标识用于指示多媒体数据被成功存储至区块链网络中。
当然,在目标存储节点将目标存储证明成功发送至共识节点之后,目标存储节点还可以向目标设备返回通知消息,该通知消息用于通知目标用户已经成功将多媒体数据存储至区块链网络中、且多媒体数据的数据标识已成功发送至共识节点。其中,目标设备接收到通知消息时的界面示意图可参见图5,如图5所示,当目标设备接收到目标存储节点发送的通知消息501时,可以在目标设备的终端屏幕中输出通知消息501,具体可以将通知消息501显示于上传界面301之上;本申请实施例对通知消息的显示位置和显示方式不作限定,在此说明。
本申请实施例中,目标设备向目标存储节点发送存储请求,并由目标存储节点响应存储请求将存储请求携带的多媒体数据存储至目标存储节点;目标存储节点还生成关于多媒体数据的目标存储证明,并将目标存储证明发送至共识节点,以便于共识节点在对多媒体数据共识校验成功之后,能够将关于多媒体数据的数据标识存储至区块链,这样区块链中的数据标识指示了区块链网络已经成功存储多媒体数据。上述过程中,可采用与共识节点相互独立的目标存储节点来存储数据量较大的多媒体数据,而只将数据量较小的数据标识存储至区块链,这种将多媒体数据和数据标识分离存储的方式,在一定程度上可提高多媒体数据的安全性,相较于将多媒体数据存储至区块链而言,可以有效地减少区块链的存储压力,进而减小共识节点的存储压力,提高共识节点的运行效率和稳定性。
请参见图6,图6示出了本申请一个示例性实施例提供的另一种基于区块链网络的数据存储方法的流程示意图;该数据存储方法可以由图1c所示系统中的共识节点来执行,该数据存储方法包括但不限于步骤S601-S603:
S601,接收目标设备发送的关于多媒体数据的上链请求。
目标设备发送的上链请求用于请求共识节点将多媒体数据的数据标识存储至区块链中。上链请求中可携带多媒体数据的数据标识,该数据标识可以是目标设备生成的,或者是目标存储节点生成后返回给目标设备的,这样共识节点在接收到目标设备发送的上链请求后,可通过解析上链请求获取到多媒体数据的数据标识。可选的,上链请求中也可以不携带多媒体数据的数据标识,而只携带多媒体数据,这样共识节点在接收到上链请求后,可采用与目标存储节点(或目标设备)生成多媒体数据的数据标识一样的生成策略对多媒体数据进行运算,得到多媒体数据的数据标识;例如,如果目标存储节点是对多媒体数据的数据属性信息进行哈希运算,得到多媒体数据的数据标识的,则共识节点也可以对上链请求中携带的多媒体数据的数据属性信息进行同样的哈希运算,得到多媒体数据的数据标识。
S602,获取关于多媒体数据的目标存储证明。
其中,目标存储证明是由目标存储节点接收到目标设备发送的存储请求后,生成并发送给共识节点的,共识节点可以将目标存储证明存储至区块链网络的区块链中;目标存储证明用于证明目标存储节点已存储多媒体数据。具体实现中,共识节点在接收到目标设备发送的关于多媒体数据的上链请求后,共识节点可基于步骤S601的多种实现方式获取多媒体数据的数据标识,那么共识节点可以根据多媒体数据的数据标识从区块链中查询是否存在与数据标识相匹配的目标存储证明。如果在共识节点根据数据标识执行查询目标存储证明的步骤之前,区块链中已经存储多媒体数据的目标存储证明,即目标设备在共识节点将目标存储证明存储至区块链之后,才将上链请求发送至共识节点,那么共识节点可以根据数据标识到关于多媒体数据的目标存储证明。如果在共识节点根据数据标识执行查询目标存储证明的步骤之前,区块链中未存储多媒体数据的目标存储证明,如目标设备在未将存储请求发送至目标存储节点之前,或者在共识节点未将目标存储证明存储至区块链之前,目标设备就将上链请求发送至共识节点,那么共识节点不能根据上链请求携带的多媒体数据的数据标识从区块链中查询到数据标识相关的目标存储证明,此时共识节点可返回查询失败的提示信息给目标设备,以便于目标设备提示用户多媒体数据的数据标识上链失败。
S603,按照共识校验策略根据目标存储证明对多媒体数据进共识校验,并在多媒体数据通过共识校验后,将多媒体数据的数据标识存储至区块链网络的区块链中。
共识校验策略可是指根据目标存储证明对多媒体数据进行共识校验的一种校验方法(或逻辑);该共识校验策略可以是由管理人员根据业务需求设定的。其中,该共识校验策略可以智能合约的形式存储在区块链中的,智能合约也可以是指证明合约;在共识节点需要对多媒体数据进行共识时,共识节点可从区块链中获取到该共识校验策略,以便于按照共识校验策略对多媒体数据进行共识校验,这种将共识校验策略以智能合约形式存储的方式,有利于随时对智能合约进行扩展和更新,操作简单便捷。或者,该共识校验策略也可以内嵌于共识节点的操作系统中,换句话说,将共识校验策略进行编程,并将得到的程序编码进共识节点的操作系统中,这样共识节点的共识校验逻辑与共识一体,可以提高共识校验的性能,适用性较广,能够支持非图灵完备(即不支持智能合约的设备)的区块链。
具体实现中,共识节点按照共识校验策略根据目标存储证明对多媒体数据进行共识校验的过程可包括:共识节点获取目标存储节点的目标节点类型,目标节点类型为第一节点类型或第二节点类型;第一节点类型是指需至少存储节点共同维护一个数据的节点类型,第二节点类型是指一个存储节点独立维护一个数据的节点类型;若目标节点类型为第一节点类型,则统计区块链中已存储的关于多媒体数据的存储证明的数量,若统计到的数量大于数量阈值,则确定多媒体数据通过共识校验;反之,若目标节点类型为第二节点类型,则确定多媒体数据通过共识校验。
其中,第一节点类型的具体描述可参见图2所示实施例中步骤S202所示的相关描述,在此不作赘述。第二节点类型下的目标存储节点可以理解为一种强中心存储节点;当目标存储节点的节点类型为第二节点类型时,上述描述的第二节点类型下的目标存储节点对多媒体数据进行校验的实现方式,适用于具有权威方的应用场景。权威方可以是指核心企业或第三方数据托管机构,在这种应用场景下,由权威方来负责搭建存储节点,以及负责多媒体数据的存储,这种由权威方负责多媒体数据的存储的方式,在一定程度上可确保多媒体数据的安全性和隐私性。权威方可以只搭建一个存储节点来存储多媒体数据,权威方也可以搭建多个存储节点,扩大存储内存来存储多媒体数据,但多个存储节点的归属权均属于权威方。举例来说,在票据存储的场景中,涉及税务局、开票方以及用户方,那么税务局可以作为权威方负责搭建存储节点,以及负责多媒体数据的存储。
基于上述描述可知,根据目标存储节点的节点类型的不同,共识节点对多媒体数据进行共识校验的方式也不相同。如果目标存储节点的节点类型为第二节点类型,表示目标存储节点为强中心存储节点,即区块链中只需该强中心存储节点对多媒体数据进行存储,那么当共识节点从区块链中获取到目标存储证明时,就表示强中心存储节点已经成功存储多媒体数据,则可以确定共识节点对多媒体数据共识校验成功。如果目标存储节点的节点类型为第一节点类型,表示目标存储节点为多中心存储节点,即区块链网络中的数据需要多方搭建的存储节点来共同维护,换句话说,区块链网络中还存在所有权属于其他单位(或企业、个人等)的存储节点;在这种实现方式下,共识节点需要校验区块链网络中的其他存储节点中是否存在数量阈值的存储节点对多媒体数据进行存储,只有存储多媒体数据的存储节点的数量大于数据阈值时,才表示各方均存储有多媒体数据,进而确定多媒体数据通过共识校验。
正如前述图2所示实施例的相关描述,在目标存储节点的节点类型为第一节点类型时,目标存储节点可以将多媒体数据同步给参考存储节点,以便于参考存储节点生成关于多媒体数据的参考存储证明,并将参考存储证明发送至共识节点,以便于共识节点将参考存储证明存储至区块链;那么共识节点校验存储多媒体数据的存储节点的数量的过程,可以是通过统计区块链中存储的关于多媒体数据的存储证明的数量来实现的。例如,若共识节点根据多媒体数据的数据标识在区块链中统计到5个关于多媒体数据的存储证明,包括目标存储证明和参考存储证明,则可以确定区块链网络中的目标存储节点以及4个参考存储节点对多媒体数据进行了存储。
其中,上述提及的数量阈值可以是管理人员根据业务需求设置的一个固定数值;例如,管理人员根据某一业务的业务需求设置的数量阈值为3,且区块链网络中存在5个存储节点,那么当共识节点从区块链中统计的关于多媒体数据的存储证明的数量为4时,表示区块链网络中存在4个存储节点对多媒体数据进行存储,则确定对多媒体数据的共识校验成功。另外,如图2所示实施例中步骤S202所示的相关描述可知,区块链网络中包括的各个存储节点还可以被划分为不同的等级;那么数量阈值还可以是根据不同等级下存储节点的数量确定的。具体实现,共识节点根据数据标识从区块链中获取关于多媒体数据的一个或多个存储证明,并获取该一个或多个存储证明所指示的存储节点的等级;共识节点统计不同等级下的各个存储节点的数量;若不同等级下的各个存储节点的数量均大于该等级所对应的数量阈值,则确定对多媒体数据共识校验成功。
举例来说,假设区块链网络中包括:等级1下的存储节点A、存储节点B,等级2下的存储节点C、存储节点D以及存储节点E,等级3下的存储节点F、存储节点G;设定存储证明的数量阈值包括:等级1下存储节点发送的存储证明的数量阈值为1、等级2下存储节点发送的存储证明的数量阈值为1,以及等级3下存储节点发送的存储证明的数量阈值为1;现共识节点根据数据标识从区块链中获取到:存储节点A发送的存储证明1、存储节点B发送的存储证明2、存储节点C发送的存储证明3、存储节点D发送的存储证明4、存储节点F发送的存储证明5、存储节点G发送的存储证明6;则确定共识节点获取到的存储证明的数量为6个,且等级1下存储节点发送的存储证明的数量2>等级1下存储节点发送的存储证明的数量阈值1、等级2下存储节点发送的存储证明的数量2>等级2下存储节点发送的存储证明的数量阈值1,以及等级3下存储节点发送的存储证明的数量2>等级3下存储节点发送的存储证明的数量阈值1,那么确定不同等级下的存储节点对应的存储证明的数量均大于各个等级所对应的数量阈值,即确定共识节点对多媒体数据共识校验成功。
可以理解的是,除采用上述描述的检测存储证明的数量是否大于数量阈值,来判断多媒体数据是否通过共识校验外,本申请实施例还支持通过计算多媒体数据的存储评估分值是否大于分值阈值,来判断多媒体数据是否通过共识校验。具体实现中,共识节点根据数据标识从区块链中获取关于多媒体数据的一个或多个存储证明,并获取该一个或多个存储证明所指示的存储节点的等级;共识节点对不同等级下的各个存储节点对应的存储证明的数量进行加权求和运算,得到多媒体数据的存储评估分值;若存储评估分值大于分值阈值,则确定对多媒体数据共识校验成功。
举例来说,假设区块链网络中包括:等级1下的存储节点A、存储节点B,等级2下的存储节点C、存储节点D以及存储节点E,等级3下的存储节点F、存储节点G;设定分值阈值为1.8,设定等级1的权重为40%、等级2的权重为20%以及等级3的权重为40%;现共识节点根据数据标识从区块链中获取到:存储节点A发送的存储证明1、存储节点B发送的存储证明2、存储节点C发送的存储证明3、存储节点D发送的存储证明4、存储节点F发送的存储证明5、存储节点G发送的存储证明6;则确定共识节点获取到的存储证明的数量为6个,且对3个等级下的各个存储节点对应的存储证明的数量进行加权求和运算,得到多媒体数据的存储评估分值=2*40%+2*20%+2*40%=2,则多媒体数据的存储评估分值2>分值阈值1.8,则确定共识节点对多媒体数据共识校验成功。
需要说明的是,上述给出的几种对多媒体数据的共识校验方式均是示例性的,其他共识校验方式同样适用于本申请实施例。另外,基于前述描述可知,共识节点对多媒体数据进行共识校验的过程,与共识节点将存储证明存储至区块链的过程,是较为独立的两个过程;基于此,在预设时间段内,当共识节点在第一时刻(如任一时刻)统计到关于多媒体数据的存储证明的数量小于或等于数量阈值时,共识节点只能确定在该第一时刻对多媒体数据共识校验失败;共识节点还可以在第二时刻再次统计多媒体数据的存储证明的数量,并判断多媒体数据的存储证明的数量是否大于数量阈值,直至预设时间段结束;其中,第二时刻在预设时间段内是位于第一时刻之后的。
本申请实施例中,共识节点接收关于多媒体数据的目标存储证明,并在对多媒体数据共识成功后,将多媒体数据的数据标识存储至区块链中,区块链中的数据标识用于指示多媒体数据被成功存储至区块链网络中。上述过程中,可采用与共识节点相互独立的目标存储节点来存储数据量较大的多媒体数据,而只将数据量较小的数据标识存储至区块链,这种将多媒体数据和数据标识分离存储的方式,在一定程度上可提高多媒体数据的安全性,相较于将多媒体数据存储至区块链而言,可以有效地减少区块链的存储压力,进而减小共识节点的存储压力,提高共识节点的运行效率和稳定性。
请参见图7,图7示出了本申请一个示例性实施例提供的又一种基于区块链网络的数据存储方法的流程示意图;该数据存储方法可以由图1c所示系统中的目标设备、存储节点以及共识节点共同执行,该数据存储方法包括但不限于步骤S701-S716:
S701,目标设备向目标存储节点发送存储请求。
S702,目标存储节点响应存储请求,将多媒体数据存储至目标存储节点的本地空间,以及生成关于多媒体数据的目标存储证明。
S703,目标存储节点将目标存储证明发送至共识节点。
S704,共识节点接收目标存储节点发送的目标存储证明,并将目标存储证明存储至区块链中。
S705,目标存储节点将多媒体数据同步至参考存储节点。
S706,参考存储节点接收目标存储节点发送的多媒体数据,并将多媒体数据存储至参考存储节点的本地空间,以及生成关于多媒体数据的参考存储证明。
S707,参考存储节点将参考存储证明发送至共识节点。
S708,共识节点将参考存储证明存储至区块链中。
S709,目标设备向共识节点发送上链请求。
S710,共识节点响应于上链请求,对多媒体数据进行共识校验,并在共识校验成功时,将多媒体数据的数据标识存储至区块链中。
需要说明的是,步骤S701-S710所示的具体实施过程可参见前述图2所示实施例中步骤S201-S203,以及图6所示实施例中步骤S601-S603所示的具体实施过程的相关描述,在此不作赘述。另外,本申请实施例对步骤S703-S704,与步骤S705-S708的执行先后顺序不作限定;换句话说,目标存储节点可以先将目标存储证明发送至共识节点,以使共识节点将目标存储证明上链,再将多媒体数据同步至参考存储节点,以使参考存储节点对多媒体数据进行存储;或者,目标存储证明可以先将多媒体数据同步至参考存储节点,以使参考存储节点对多媒体数据进行存储,再将目标存储证明发送至共识节点,以使共识节点将目标存储证明上链;或者,目标存储节点还可以同时执行将目标存储证明发送至共识节点,以及将多媒体数据同步至参考存储节点的步骤。
S711,目标设备向共识节点发送归属权更新信息。
S712,共识节点接收目标设备发送的归属权更新信息,并根据归属权更新信息对初始归属权信息进行更新。
步骤S711-S712中,区块链网络的区块链中存储有关于多媒体数据的归属权信息,归属权信息中包含:一个或多个具有访问多媒体数据的访问权限的设备标识;为便于后续描述,本申请实施例将区块链中存储的、未被更新过的归属权信息称为初始归属权信息。其中,区块链存储初始归属权信息,以及对初始归属权信息更新的过程可包括:共识节点接收目标设备发送的上链请求,则共识节点确定目标设备具有多媒体数据的归属权,则共识节点根据目标设备的设备标识生成多媒体数据的初始归属权信息,该初始归属权信息中包含目标设备的设备标识,并将初始归属权信息存储至区块链中;若共识节点接收到目标设备发送的归属权更新信息,则在区块链中根据归属权更新信息对初始归属权信息进行更新。其中,对初始归属权信息进行更新可包括:新增具有多媒体数据的访问权限的设备标识、替换原有的具有多媒体数据的访问权限的设备标识以及删除原有的具有多媒体数据的访问权限的设备标识中的一种或多种;这样归属权更新信息中可包括:新增的设备标识、替换的设备标识以及删除的设备标识中的一个或多个。
当然,初始归属权信息除由共识节点生成外,还可以是由目标设备发送给共识节点的,此时初始归属权信息中除包括目标设备的设备标识外,还可以包括目标用户自定义的其他设备的设备标识。或者,初始归属权信息也可以是目标设备向目标存储节点发送存储请求时,携带于存储请求中的;当共识节点对多媒体数据共识校验成功后,共识节点在将多媒体数据的数据标识上链时,也将初始归属权信息进行上链。或者,区块链中存储的多媒体数据的初始归属权限信息还可以是:在目标设备向目标存储节点发送存储请求后的任意时刻,由目标设备发送给共识节点或目标存储节点的。综上所述,本申请实施例对多媒体数据的初始归属权信息存储至区块链的过程不作限制。
S713,访问设备向目标存储节点发送数据访问请求。
S714,目标存储节点响应访问设备发送的数据访问请求,将多媒体数据返回至访问设备。
步骤S713-S714中,目标存储节点以及参考存储节点可以对多媒体数据进行存储,那么本申请实施例还支持访问设备向目标存储节点(或任一参考存储节点)发送数据访问请求,该数据访问请求用于向目标存储节点请求返回多媒体数据;其中,访问设备可以是任一设备,例如,访问设备可以是指目标设备,本申请实施例对访问设备不作限定。具体实现中,目标存储节点可以接收访问设备发送的数据访问请求,该数据访问请求中携带多媒体数据的数据标识以及访问设备的设备标识,访问设备可以是指任一可以与目标存储节点进行通信的设备;目标存储节点可以根据多媒体数据的数据标识从区块链中读取多媒体数据的当前归属权信息,当前归属权信息包括:具有多媒体数据的归属权的当前设备的设备标识,当前设备可是指:在接收到数据访问请求时,拥有多媒体数据的归属权的设备;目标存储节点采用访问设备的设备标识对当前归属权信息进行标识命中处理,若命中成功,则确定访问设备具有多媒体数据的访问权限,并由目标存储节点向访问设备返回多媒体数据。可以理解的是,目标设备也可以是向参考存储节点发送的数据访问请求,这样参考存储节点可执行上述步骤。
下面以附图8所示的场景示意图,来简单介绍上述描述的访问设备请求获取多媒体数据的场景。如图8所示,访问设备可以向目标存储节点发送数据访问请求,数据访问请求中携带多媒体数据的数据标识,这样在目标存储节点接收到数据访问请求后,可以根据数据访问请求中携带的数据标识从区块链中获取到与数据标识相关的多媒体数据的当前归属权信息;目标存储节点再根据数据访问请求中携带的访问设备的设备标识,与当前归属权信息中包含一个或多个设备标识进行标识命中处理,当在当前归属权信息中存在访问设备的设备标识时,确定访问设备的设备标识命中当前归属权信息,则确定命中成功,此时,表示访问设备具有访问多媒体数据的权限,则目标存储节点可将多媒体数据返回给访问设备。上述根据访问设备的设备标识对多媒体数据的当前归属权信息进行命中,并在命中成功后才执行多媒体数据的返回操作,可避免多媒体数据被非法盗用,提高多媒体数据的安全性。
S715,访问设备向共识节点发送数据访问请求。
S716,共识节点通过基准存储节点向访问设备返回多媒体数据。
步骤S715- S716中,共识节点可以将多媒体数据的数据标识存储至区块链网络的区块链中,那么区块链中的数据标识可用于指示多媒体数据被成功存储至区块链网络中。基于此,本申请实施例还支持访问设备向共识节点发送数据访问请求,该数据访问请求用于向共识节点请求返回多媒体数据。具体实现中,若区块链网络中包含第一节点类型下的N个存储节点,N为大于1的整数;且目标存储节点为N个存储节点中的一个存储节点,则多媒体数据被同步至N个存储节点中的M个参考存储节点中,M∈[1,N-1];共识节点可以接收访问设备发送的数据访问请求,该数据访问请求中携带多媒体数据的数据标识以及访问设备的设备标识;共识节点根据数据标识从区块链中读取多媒体数据的当前归属权信息,当前归属权信息是在接收到数据访问请求时,区块链中所存储的最新的归属权限信息,当前归属权信息包括:具有多媒体数据的归属权的当前设备的设备标识,当前设备是指:在接收到数据访问请求时,拥有多媒体数据的归属权的设备;采用访问设备的设备标识对当前归属权信息进行标识命中处理,若成功命中,则从M个参考存储节点和目标存储节点中,选取基准存储节点,并通过基准存储节点向目标设备发送多媒体数据。
需要说明的是,区块链中存储的多媒体数据的当前归属权限信息是:目标存储节点接收到数据访问请求时,存储于区块链中的归属权限信息。该当前归属权限信息可以是指初始归属权限信息,也可以是对初始归属权信息进行更新后的归属权信息。本申请实施例对当前归属权信息具体为初始归属权信息,还是为更新后的初始归属权信息不作限定。
在访问设备的设备标识对当前归属权信息成功命中时,表示访问设备具有对多媒体数据的访问权限,则可以从存储有多媒体数据的M个参考存储节点和目标存储节点中,选取基准存储节点,以便于通过基准存储节点向目标设备发送多媒体数据。从存储有多媒体数据的M个参考存储节点和目标存储节点中,选取基准存储节点的实现方式可包括但不限于:①从M个参考存储节点和目标存储节点中,随机选取一个存储节点作为基准存储节点。或者,②计算M个参考存储节点和目标存储节点中,各个存储节点与共识节点之间的距离,并将与共识节点之间的距离最短的存储节点作为基准存储节点;例如,M=2,且参考存储节点1与共识节点之间的距离为1千米,参考存储节点2与共识节点之间的距离为1.1千米,目标存储节点与共识节点之间的距离为0.9千米,则确定目标存储节点与共识节点之间的距离最短,则将目标存储节点作为基准存储节点。或者,③检测M个参考存储节点和目标存储节点中,各个存储节点的网络状态,并将网络状态满足预设条件的存储节点作为基准存储节点;其中,存储节点的网络状态可用于反映存储节点传输数据的速率,当存储节点的网络状态较好时,存储节点传输数据的速率较快,而当存储节点的网络状态较差时,存储节点传输数据的速率较低。可选的,当按照网络状态对存储节点进行排序,例如,按照网络状态从优到差的顺序对存储节点进行排序,得到存储节点的排序序列时,可确定排序序列中排序位置为第一个位置的存储节点的网络状态最好,则可确定第一个位置的存储节点的网络状态满足预设条件,此时可将排序位置为第一个位置的存储节点作为基准存储节点;将排序位置为第一位置的存储节点作为基准存储节点,这样有利于对多媒体数据的快速传输,提高传输效率。需要说明的是,上述给出的几种确定基准存储节点的方式均为举例,其他适用的确定基准存储节点的方式同样可应用于本申请实施例。
共识节点在成功选取基准存储节点之后,还可以通过基准存储节点向访问设备返回多媒体数据,具体可包括但不限于如下几种通过基准存储节点向访问设备返回多媒体数据的实现方式:①共识节点向基准存储节点发送数据获取请求,数据获取请求用于请求基准存储节点返回多媒体数据;共识节点接收基准存储节点返回的多媒体数据,并将多媒体数据发送至访问设备。这种实现方式下,通过基准存储节点返回多媒体数据的流程示意图可参见图9的第一幅图。②共识节点向基准存储节点发送数据通知消息,数据通知消息用于通知基准存储节点将多媒体数据发送至访问设备,即共识节点可以直接通知基准存储节点向访问设备返回多媒体数据,此时数据通知消息中可携带访问设备的设备标识,以便于基准存储节点能够根据访问设备的设备标识找到访问设备。这种实现方式下,通过基准存储节点返回多媒体数据的流程示意图可参见图9的第二幅图。③共识节点将基准存储节点的节点标识返回至访问设备,以使访问设备基于基准存储节点的节点标识向基准存储节点发送数据访问请求,并接收基准存储节点返回的多媒体数据;换句话说,共识节点可以将基准存储节点的节点标识返回给访问设备,这样访问设备可以基于基准存储节点的节点标识向基准存储节点请求返回多媒体数据。这种实现方式下,通过基准存储节点返回多媒体数据的流程示意图可参见图9的第三幅图。需要说明的是,上述给出的几种通过基准存储节点返回多媒体数据的方式均为举例,其他适用的通过基准存储节点返回多媒体数据的方式同样可应用于本申请实施例。
本申请实施例中,通过在区块链网络中引入存储节点(如目标存储节点),并基于存储节点来负责存储多媒体数据,而将基于多媒体数据生成的目标存储证明发送至共识节点,以使共识节点将多媒体数据的数据标识存储至区块链网络的区块链上,存储于区块链中的数据标识可以用于表征数据标识指示的多媒体数据已存储至区块链网络。上述过程中,可采用与共识节点相互独立的目标存储节点来存储数据量较大的多媒体数据,而只将数据量较小的数据标识存储至区块链,这种将多媒体数据和数据标识分离存储的方式,在一定程度上可提高多媒体数据的安全性,相较于将多媒体数据存储至区块链而言,可以有效地减少区块链的存储压力,进而减小共识节点的存储压力,提高共识节点的运行效率和稳定性。
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方法,相应地,下面提供了本申请实施例的装置。
图10示出了本申请一个示例性实施例提供的一种基于区块链网络的数据存储装置的结构示意图,该基于区块链网络的数据存储装置可以是运行于目标存储节点中的一个计算机程序(包括程序代码);该基于区块链网络的数据存储装置可以用于执行图2、图7所示的方法实施例中的部分或全部步骤。其中,区块链网络包含共识节点以及目标存储节点,该数据存储装置搭载于目标存储节点上;请参见图10,该基于区块链网络的数据存储装置包括如下单元:
接收单元1001,用于接收目标设备发送的存储请求,存储请求中携带多媒体数据;
处理单元1002,用于将多媒体数据存储至目标存储节点的本地空间,并生成多媒体数据的目标存储证明,目标存储证明用于证明目标存储节点已存储多媒体数据;
处理单元1002,还用于将目标存储证明发送至共识节点,以使共识节点在接收到目标设备发送的关于多媒体数据的上链请求后,根据目标存储证明对多媒体数据进行共识校验,并在多媒体数据通过共识校验后,将多媒体数据的数据标识存储至区块链网络的区块链中;其中,区块链中的数据标识用于指示多媒体数据被成功存储至区块链网络中。
在一种实现方式中,处理单元1002用于生成多媒体数据的目标存储证明时,具体用于:
获取多媒体数据的数据标识,以及获取目标存储节点的节点标识;
基于数据标识以及目标存储节点的节点标识,生成多媒体数据的目标存储证明。
在一种实现方式中,处理单元1002用于获取多媒体数据的数据标识时,具体用于:
对多媒体数据进行数据分析,得到多媒体数据的数据属性信息;
对数据属性信息进行哈希运算,得到多媒体数据的数据标识,或者,将多媒体数据的数据属性信息作为多媒体数据的数据标识。
在一种实现方式中,处理单元1002用于对多媒体数据进行数据分析,得到多媒体数据的数据属性信息时,具体用于执行以下至少一项:
对多媒体数据进行特征提取处理,得到多媒体数据的数据特征,并将数据特征添加至多媒体数据的数据属性信息中;
对多媒体数据进行关键字提取处理,得到多媒体数据的关键字信息,并将关键字信息添加至多媒体数据的数据属性信息中;
若多媒体数据为文本,则对多媒体数据进行摘要提取处理,得到多媒体数据的摘要信息,并将摘要信息添加至多媒体数据的数据属性信息中。
在一种实现方式中,若区块链网络中包含第一节点类型下的N个存储节点,N为大于1的整数;且目标存储节点为N个存储节点中的一个存储节点,第一节点类型是指:需至少两个存储节点共同维护一个数据的节点类型;处理单元1002,还用于:
从N个存储节点中除目标存储节点以外的存储节点中,选取M个参考存储节点,M∈[1,N-1];
将多媒体数据同步给M个参考存储节点,以使每个参考存储节点在存储多媒体数据后,向共识节点发送关于多媒体数据的参考存储证明,以使共识节点在接收到上链请求后,根据目标存储证明和各个参考存储节点发送的参考存储证明对多媒体数据进行共识校验。
在一种实现方式中,处理单元1002,还用于:
接收访问设备发送的数据访问请求,数据访问请求中携带多媒体数据的数据标识以及访问设备的设备标识;
根据数据标识从区块链中读取多媒体数据的当前归属权信息,当前归属权信息包括:具有多媒体数据的归属权的当前设备的设备标识;当前设备是指:在接收到数据访问请求时,拥有多媒体数据的归属权的设备;
采用访问设备的设备标识对当前归属权信息进行标识命中处理,若成功命中,则确定访问设备具有多媒体数据的访问权限,并向访问设备返回多媒体数据。
根据本申请的一个实施例,图10所示的基于区块链网络的数据存储装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,该基于区块链网络的数据存储装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2、图7所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图10中所示的基于区块链网络的数据存储装置,以及来实现本申请实施例的基于区块链网络的数据存储方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本申请实施例中,接收单元1001在接收到目标设备发送的存储请求后,可由处理单元1002将存储请求携带的多媒体数据存储至目标存储节点的本地空间,而处理单元1002将基于多媒体数据生成的目标存储证明发送至共识节点,以使共识节点将多媒体数据的数据标识存储至区块链网络的区块链上,区块链中的数据标识可以用于表征数据标识指示的多媒体数据已存储至区块链网络。上述过程中,可采用与共识节点相互独立的目标存储节点来存储数据量较大的多媒体数据,而只将数据量较小的数据标识存储至区块链,这种将多媒体数据和数据标识分离存储的方式,在一定程度上可提高多媒体数据的安全性,相较于将多媒体数据存储至区块链而言,可以有效地减少区块链的存储压力,进而减小共识节点的存储压力,提高共识节点的运行效率和稳定性。
图11示出了本申请一个示例性实施例提供的一种基于区块链网络的数据存储装置的结构示意图,该基于区块链网络的数据存储装置可以是运行于目标存储节点中的一个计算机程序(包括程序代码);该基于区块链网络的数据存储装置可以用于执行图6、图7所示的方法实施例中的部分或全部步骤。其中,区块链网络包含共识节点以及目标存储节点,该数据存储装置搭载于共识节点上;请参见图11,该基于区块链网络的数据存储装置包括如下单元:
获取单元1101,用于接收目标设备发送的关于多媒体数据的上链请求;
获取单元1101,还用于获取关于多媒体数据的目标存储证明,目标存储证明是由目标存储节点接收到目标设备发送的存储请求后,生成并发送给共识节点的,目标存储证明用于证明目标存储节点已存储多媒体数据;
处理单元1102,用于按照共识校验策略根据目标存储证明对多媒体数据进行共识校验,并在多媒体数据通过共识校验后,将多媒体数据的数据标识存储至区块链网络的区块链中;其中,区块链中的数据标识用于指示多媒体数据被成功存储至区块链网络中。
在一种实现方式中,目标存储证明被存储至区块链中;处理单元1102用于按照共识校验策略根据目标存储证明对多媒体数据进行共识校验时,具体用于:
获取目标存储节点的目标节点类型,目标节点类型为第一节点类型或第二节点类型;第一节点类型是指需至少两个存储节点共同维护一个数据的节点类型;第二节点类型是指一个存储节点独立维护一个数据的节点类型;
若目标节点类型为第一节点类型,则统计区块链中已存储的关于多媒体数据的存储证明的数量;若统计到的数量大于数量阈值,确定多媒体数据通过共识校验;
若目标节点类型为第二节点类型,则确定多媒体数据通过共识校验。
在一种实现方式中,若区块链网络中包含第一节点类型下的N个存储节点,N为大于1的整数;且目标存储节点为N个存储节点中的一个存储节点,则多媒体数据被同步存储至N个存储节点中的M个参考存储节点中,M∈[1,N-1];处理单元1102,还用于:
接收访问设备发送的数据访问请求,数据访问请求中携带多媒体数据的数据标识以及访问设备的设备标识;
根据数据标识从区块链中读取多媒体数据的当前归属权信息,当前归属权信息包括:具有多媒体数据的归属权的当前设备的设备标识;当前设备是指:在接收到数据访问请求时,拥有多媒体数据的归属权的设备;
采用访问设备的设备标识对当前归属权信息进行标识命中处理,若成功命中,则从M个参考存储节点和目标存储节点中,选取基准存储节点;
通过基准存储节点向目标设备发送多媒体数据。
在一种实现方式中,处理单元1102用于从M个参考存储节点和目标存储节点中,选取基准存储节点时,具体用于:
从M个参考存储节点和目标存储节点中,随机选取一个存储节点作为基准存储节点;
或者,计算M个参考存储节点和目标存储节点中,各个存储节点与共识节点之间的距离,并将与共识节点之间的距离最短的存储节点作为基准存储节点;
或者,检测M个参考存储节点和目标存储节点中,各个存储节点的网络状态,将网络状态满足预设条件的存储节点作为基准存储节点。
在一种实现方式中,处理单元1102用于通过基准存储节点向目标设备发送多媒体数据时,具体用于:
向基准存储节点发送数据获取请求,数据获取请求用于请求基准存储节点返回多媒体数据;接收基准存储节点返回的多媒体数据,并将多媒体数据发送至访问设备;
或者,向基准存储节点发送数据通知消息,数据通知消息用于通知基准存储节点将多媒体数据发送至访问设备;
或者,将基准存储节点的节点标识返回至访问设备,以使访问设备基于基准存储节点的节点标识向基准存储节点发送数据访问请求,并接收基准存储节点返回的多媒体数据。
在一种实现方式中,处理单元1102,还用于:
确定目标设备具有多媒体数据的归属权;
根据目标设备的设备标识生成多媒体数据的初始归属权信息,并将初始归属权信息存储至区块链中;
若接收到目标设备发送的归属权更新信息,则在区块链中根据归属权更新信息对初始归属权信息进行更新。
在一种实现方式中,共识校验策略是以智能合约的形式存储在区块链中;或者,共识校验策略内嵌于共识节点的操作系统中。
根据本申请的一个实施例,图10所示的基于区块链网络的数据存储装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,该基于区块链网络的数据存储装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图6、图7所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图10中所示的基于区块链网络的数据存储装置,以及来实现本申请实施例的基于区块链网络的数据存储方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本申请实施例中,获取单元1101接收关于多媒体数据的目标存储证明后,由处理单元1102对多媒体数据进行共识,并在共识成功后,将多媒体数据的数据标识存储至区块链中,区块链中的数据标识用于指示多媒体数据被成功存储至区块链网络中。上述过程中,可采用与共识节点相互独立的目标存储节点来存储数据量较大的多媒体数据,而只将数据量较小的数据标识存储至区块链,这种将多媒体数据和数据标识分离存储的方式,在一定程度上可提高多媒体数据的安全性,相较于将多媒体数据存储至区块链而言,可以有效地减少区块链的存储压力,进而减小共识节点的存储压力,提高共识节点的运行效率和稳定性。
图12示出了本申请一个示例性实施例提供的一种基于区块链网络的数据存储设备的结构示意图。请参见图12,该终端包括处理器1201、通信接口1202以及计算机可读存储介质1203。其中,处理器1201、通信接口1202以及计算机可读存储介质1203可通过总线或者其它方式连接。其中,通信接口1202用于接收和发送数据。计算机可读存储介质1203可以存储在终端的存储器中,计算机可读存储介质1203用于存储计算机程序,计算机程序包括程序指令,处理器1201用于执行计算机可读存储介质1203存储的程序指令。处理器1201(或称CPU(Central Processing Unit,中央处理器))是终端的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的处理系统。并且,在该存储空间中还存放了适于被处理器1201加载并执行的一条或多条的指令,这些指令可以是一个或多个的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器的计算机可读存储介质。
在一个实施例中,该计算机可读存储介质中存储有一条或多条指令;由处理器1201加载并执行计算机可读存储介质中存放的一条或多条指令,以实现上述社交会话方法实施例中的相应步骤;具体实现中,区块链网络包含共识节点以及目标存储节点,该数据存储设备可以是指目标存储节点;计算机可读存储介质中的一条或多条指令由处理器1201加载并执行如下步骤:
接收目标设备发送的存储请求,存储请求中携带多媒体数据;
将多媒体数据存储至目标存储节点的本地空间,并生成多媒体数据的目标存储证明,目标存储证明用于证明目标存储节点已存储多媒体数据;
将目标存储证明发送至共识节点,以使共识节点在接收到目标设备发送的关于多媒体数据的上链请求后,根据目标存储证明对多媒体数据进行共识校验,并在多媒体数据通过共识校验后,将多媒体数据的数据标识存储至区块链网络的区块链中;其中,区块链中的数据标识用于指示多媒体数据被成功存储至区块链网络中。
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器1201加载并在执行生成多媒体数据的目标存储证明时,具体执行如下步骤:
获取多媒体数据的数据标识,以及获取目标存储节点的节点标识;
基于数据标识以及目标存储节点的节点标识,生成多媒体数据的目标存储证明。
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器1201加载并在执行获取多媒体数据的数据标识时,具体执行如下步骤:
对多媒体数据进行数据分析,得到多媒体数据的数据属性信息;
对数据属性信息进行哈希运算,得到多媒体数据的数据标识,或者,将多媒体数据的数据属性信息作为多媒体数据的数据标识。
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器1201加载并在执行对多媒体数据进行数据分析,得到多媒体数据的数据属性信息时,具体执行如下至少一项:
对多媒体数据进行特征提取处理,得到多媒体数据的数据特征,并将数据特征添加至多媒体数据的数据属性信息中;
对多媒体数据进行关键字提取处理,得到多媒体数据的关键字信息,并将关键字信息添加至多媒体数据的数据属性信息中;
若多媒体数据为文本,则对多媒体数据进行摘要提取处理,得到多媒体数据的摘要信息,并将摘要信息添加至多媒体数据的数据属性信息中。
在一种实现方式中,若区块链网络中包含第一节点类型下的N个存储节点,N为大于1的整数;且目标存储节点为N个存储节点中的一个存储节点,第一节点类型是指:需至少两个存储节点共同维护一个数据的节点类型;计算机可读存储介质中的一条或多条指令由处理器1201加载并还执行如下步骤:
从N个存储节点中除目标存储节点以外的存储节点中,选取M个参考存储节点,M∈[1,N-1];
将多媒体数据同步给M个参考存储节点,以使每个参考存储节点在存储多媒体数据后,向共识节点发送关于多媒体数据的参考存储证明,以使共识节点在接收到上链请求后,根据目标存储证明和各个参考存储节点发送的参考存储证明对多媒体数据进行共识校验。
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器1201加载并还执行如下步骤:
接收访问设备发送的数据访问请求,数据访问请求中携带多媒体数据的数据标识以及访问设备的设备标识;
根据数据标识从区块链中读取多媒体数据的当前归属权信息,当前归属权信息包括:具有多媒体数据的归属权的当前设备的设备标识;当前设备是指:在接收到数据访问请求时,拥有多媒体数据的归属权的设备;
采用访问设备的设备标识对当前归属权信息进行标识命中处理,若成功命中,则确定访问设备具有多媒体数据的访问权限,并向访问设备返回多媒体数据。
在另一个实施例中,该计算机可读存储介质中存储有一条或多条指令;由处理器1201加载并执行计算机可读存储介质中存放的一条或多条指令,以实现上述社交会话方法实施例中的相应步骤;具体实现中,区块链网络包含共识节点以及目标存储节点,该数据存储设备可以是指共识节点;计算机可读存储介质中的一条或多条指令由处理器1201加载并执行如下步骤:
接收目标设备发送的关于多媒体数据的上链请求;
获取关于多媒体数据的目标存储证明,目标存储证明是由目标存储节点接收到目标设备发送的存储请求后,生成并发送给共识节点的,目标存储证明用于证明目标存储节点已存储多媒体数据;
按照共识校验策略根据目标存储证明对多媒体数据进行共识校验,并在多媒体数据通过共识校验后,将多媒体数据的数据标识存储至区块链网络的区块链中;其中,区块链中的数据标识用于指示多媒体数据被成功存储至区块链网络中。
在一种实现方式中,目标存储证明被存储至区块链中;计算机可读存储介质中的一条或多条指令由处理器1201加载并在执行按照共识校验策略根据目标存储证明对多媒体数据进行共识校验时,具体执行如下步骤:
获取目标存储节点的目标节点类型,目标节点类型为第一节点类型或第二节点类型;第一节点类型是指需至少两个存储节点共同维护一个数据的节点类型;第二节点类型是指一个存储节点独立维护一个数据的节点类型;
若目标节点类型为第一节点类型,则统计区块链中已存储的关于多媒体数据的存储证明的数量;若统计到的数量大于数量阈值,确定多媒体数据通过共识校验;
若目标节点类型为第二节点类型,则确定多媒体数据通过共识校验。
在一种实现方式中,若区块链网络中包含第一节点类型下的N个存储节点,N为大于1的整数;且目标存储节点为N个存储节点中的一个存储节点,则多媒体数据被同步存储至N个存储节点中的M个参考存储节点中,M∈[1,N-1];计算机可读存储介质中的一条或多条指令由处理器1201加载并还执行如下步骤:
接收访问设备发送的数据访问请求,数据访问请求中携带多媒体数据的数据标识以及访问设备的设备标识;
根据数据标识从区块链中读取多媒体数据的当前归属权信息,当前归属权信息包括:具有多媒体数据的归属权的当前设备的设备标识;当前设备是指:在接收到数据访问请求时,拥有多媒体数据的归属权的设备;
采用访问设备的设备标识对当前归属权信息进行标识命中处理,若成功命中,则从M个参考存储节点和目标存储节点中,选取基准存储节点;
通过基准存储节点向目标设备发送多媒体数据。
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器1201加载并在执行从M个参考存储节点和目标存储节点中,选取基准存储节点时,具体执行如下步骤:
从M个参考存储节点和目标存储节点中,随机选取一个存储节点作为基准存储节点;
或者,计算M个参考存储节点和目标存储节点中,各个存储节点与共识节点之间的距离,并将与共识节点之间的距离最短的存储节点作为基准存储节点;
或者,检测M个参考存储节点和目标存储节点中,各个存储节点的网络状态,将网络状态满足预设条件的存储节点作为基准存储节点。
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器1201加载并在执行通过基准存储节点向目标设备发送多媒体数据时,具体执行如下步骤:
向基准存储节点发送数据获取请求,数据获取请求用于请求基准存储节点返回多媒体数据;接收基准存储节点返回的多媒体数据,并将多媒体数据发送至访问设备;
或者,向基准存储节点发送数据通知消息,数据通知消息用于通知基准存储节点将多媒体数据发送至访问设备;
或者,将基准存储节点的节点标识返回至访问设备,以使访问设备基于基准存储节点的节点标识向基准存储节点发送数据访问请求,并接收基准存储节点返回的多媒体数据。
在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器1201加载并还执行如下步骤:
确定目标设备具有多媒体数据的归属权;
根据目标设备的设备标识生成多媒体数据的初始归属权信息,并将初始归属权信息存储至区块链中;
若接收到目标设备发送的归属权更新信息,则在区块链中根据归属权更新信息对初始归属权信息进行更新。
在一种实现方式中,共识校验策略是以智能合约的形式存储在区块链中;或者,共识校验策略内嵌于共识节点的操作系统中。
本申请实施例中,通过在区块链网络中引入存储节点(如目标存储节点),并基于存储节点来负责存储多媒体数据,而将基于多媒体数据生成的目标存储证明发送至共识节点,以使共识节点将多媒体数据的数据标识存储至区块链网络的区块链上,存储于区块链中的数据标识可以用于表征数据标识指示的多媒体数据已存储至区块链网络。上述过程中,可采用与共识节点相互独立的目标存储节点来存储数据量较大的多媒体数据,而只将数据量较小的数据标识存储至区块链,这种将多媒体数据和数据标识分离存储的方式,在一定程度上可提高多媒体数据的安全性,相较于将多媒体数据存储至区块链而言,可以有效地减少区块链的存储压力,进而减小共识节点的存储压力,提高共识节点的运行效率和稳定性。
本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。数据存储设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该数据存储设备执行上述基于区块链网络的数据存储方法。
本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用,使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种基于区块链网络的数据存储方法,其特征在于,所述区块链网络包含共识节点以及目标存储节点,所述共识节点包含区块链,所述方法由所述目标存储节点执行,所述目标存储节点的节点类型为第一节点类型或第二节点类型;当所述节点类型为所述第一节点类型时,所述区块链网络中包含所述第一节点类型下的N个存储节点,N为大于1的整数,所述目标存储节点为所述N个存储节点中的一个存储节点,且每个存储节点对应一个等级;所述方法包括:
接收目标设备发送的存储请求,所述存储请求中携带多媒体数据;
将所述多媒体数据存储至所述目标存储节点的本地空间,并生成所述多媒体数据的目标存储证明,所述目标存储证明用于证明所述目标存储节点已存储所述多媒体数据;
若所述节点类型为所述第一节点类型,则从所述N个存储节点中除所述目标存储节点以外的存储节点中选取M个参考存储节点,M∈[1,N-1];并将所述多媒体数据同步给所述M个参考存储节点,以使所述每个参考存储节点在存储所述多媒体数据后,向所述共识节点发送关于所述多媒体数据的参考存储证明,以使所述共识节点在接收到所述目标设备发送的关于所述多媒体数据的上链请求后,根据所述目标存储证明和所述每个参考存储节点发送的参考存储证明对所述多媒体数据进行共识校验,并在所述多媒体数据通过共识校验后,将所述多媒体数据的数据标识存储至所述区块链网络的区块链中;其中,所述区块链中的数据标识用于指示所述多媒体数据被成功存储至所述区块链网络中;
其中,所述共识节点对所述多媒体数据进行共识校验的方式为:若统计到所述区块链网络中所述目标存储证明和所述参考存储证明之和大于数量阈值,则确定共识校验成功;或者,若统计到不同等级下已存储所述多媒体数据的存储节点对应的存储证明的数量均大于所述不同等级所对应的数量阈值,则确定共识校验成功;或者,对不同等级下已存储所述多媒体数据的存储节点对应的存储证明的数量进行加权求和运算,若加权求和运算得到的存储评估分值大于分值阈值,则确定共识校验成功。
2.如权利要求1所述的方法,其特征在于,所述生成所述多媒体数据的目标存储证明,包括:
获取所述多媒体数据的数据标识,以及获取所述目标存储节点的节点标识;
基于所述数据标识以及所述目标存储节点的节点标识,生成所述多媒体数据的目标存储证明。
3.如权利要求2所述的方法,其特征在于,所述获取所述多媒体数据的数据标识,包括:
对所述多媒体数据进行数据分析,得到所述多媒体数据的数据属性信息;
对所述数据属性信息进行哈希运算,得到所述多媒体数据的数据标识,或者,将所述多媒体数据的数据属性信息作为所述多媒体数据的数据标识。
4.如权利要求3所述的方法,其特征在于,所述对所述多媒体数据进行数据分析,得到所述多媒体数据的数据属性信息,包括以下至少一项:
对所述多媒体数据进行特征提取处理,得到所述多媒体数据的数据特征,并将所述数据特征添加至所述多媒体数据的数据属性信息中;
对所述多媒体数据进行关键字提取处理,得到所述多媒体数据的关键字信息,并将所述关键字信息添加至所述多媒体数据的数据属性信息中;
若所述多媒体数据为文本,则对所述多媒体数据进行摘要提取处理,得到所述多媒体数据的摘要信息,并将所述摘要信息添加至所述多媒体数据的数据属性信息中。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收访问设备发送的数据访问请求,所述数据访问请求中携带所述多媒体数据的数据标识以及所述访问设备的设备标识;
根据所述数据标识从所述区块链中读取所述多媒体数据的当前归属权信息,所述当前归属权信息包括:具有所述多媒体数据的归属权的当前设备的设备标识;所述当前设备是指:在接收到所述数据访问请求时,拥有所述多媒体数据的归属权的设备;
采用所述访问设备的设备标识对所述当前归属权信息进行标识命中处理,若成功命中,则确定所述访问设备具有所述多媒体数据的访问权限,并向所述访问设备返回所述多媒体数据。
6.一种基于区块链网络的数据存储方法,其特征在于,所述区块链网络包含共识节点以及目标存储节点,所述共识节点包含区块链,所述目标存储节点的节点类型为第一节点类型或第二节点类型;当所述节点类型为所述第一节点类型时,所述区块链网络中包含所述第一节点类型下的N个存储节点,N为大于1的整数,所述目标存储节点为所述N个存储节点中的一个存储节点,且每个存储节点对应一个等级;所述方法由所述共识节点执行,所述方法包括:
接收目标设备发送的关于多媒体数据的上链请求;
获取关于所述多媒体数据的目标存储证明和参考存储证明,所述目标存储证明是由所述目标存储节点接收到所述目标设备发送的存储请求后,生成并发送给所述共识节点的,所述目标存储证明用于证明所述目标存储节点已存储所述多媒体数据;所述参考存储证明是由所述目标存储节点将所述多媒体数据同步至所述区块链网络中除所述目标存储节点以外的M个参考存储节点后,由所述M个参考存储节点存储所述多媒体数据后生成并发送给所述共识节点的;
按照共识校验策略根据所述目标存储证明以及所述参考存储证明对所述多媒体数据进行共识校验,并在所述多媒体数据通过共识校验后,将所述多媒体数据的数据标识存储至所述区块链网络的区块链中;其中,所述区块链中的数据标识用于指示所述多媒体数据被成功存储至所述区块链网络中;
其中,所述共识节点对所述多媒体数据进行共识校验的方式为:若统计到所述区块链网络中所述目标存储证明和所述参考存储证明之和大于数量阈值,则确定共识校验成功;或者,若统计到不同等级下已存储所述多媒体数据的存储节点对应的存储证明的数量均大于所述不同等级所对应的数量阈值,则确定共识校验成功;或者,对不同等级下已存储所述多媒体数据的存储节点对应的存储证明的数量进行加权求和运算,若加权求和运算得到的存储评估分值大于分值阈值,则确定共识校验成功。
7.如权利要求6所述的方法,其特征在于,所述目标存储证明被存储至所述区块链中;所述按照共识校验策略根据所述目标存储证明对所述多媒体数据进行共识校验,包括:
获取所述目标存储节点的目标节点类型,所述目标节点类型为第一节点类型或第二节点类型;所述第一节点类型是指需至少两个存储节点共同维护一个数据的节点类型;所述第二节点类型是指一个存储节点独立维护一个数据的节点类型;
若所述目标节点类型为所述第一节点类型,则统计所述区块链中已存储的关于所述多媒体数据的存储证明的数量;若统计到的数量大于数量阈值,则确定所述多媒体数据通过共识校验;
若所述目标节点类型为所述第二节点类型,则确定所述多媒体数据通过共识校验。
8.如权利要求6所述的方法,其特征在于,若所述区块链网络中包含第一节点类型下的N个存储节点,N为大于1的整数;且所述目标存储节点为所述N个存储节点中的一个存储节点,则所述多媒体数据被同步存储至所述N个存储节点中的M个参考存储节点中,M∈[1,N-1];所述方法还包括:
接收访问设备发送的数据访问请求,所述数据访问请求中携带所述多媒体数据的数据标识以及所述访问设备的设备标识;
根据所述数据标识从所述区块链中读取所述多媒体数据的当前归属权信息,所述当前归属权信息包括:具有所述多媒体数据的归属权的当前设备的设备标识;所述当前设备是指:在接收到所述数据访问请求时,拥有所述多媒体数据的归属权的设备;
采用所述访问设备的设备标识对所述当前归属权信息进行标识命中处理,若成功命中,则从所述M个参考存储节点和所述目标存储节点中,选取基准存储节点;
通过所述基准存储节点向所述目标设备发送所述多媒体数据。
9.如权利要求8所述的方法,其特征在于,所述从所述M个参考存储节点和所述目标存储节点中,选取基准存储节点,包括:
从所述M个参考存储节点和所述目标存储节点中,随机选取一个存储节点作为基准存储节点;
或者,计算所述M个参考存储节点和所述目标存储节点中,各个存储节点与所述共识节点之间的距离,并将与所述共识节点之间的距离最短的存储节点作为基准存储节点;
或者,检测所述M个参考存储节点和所述目标存储节点中,各个存储节点的网络状态,将网络状态满足预设条件的存储节点作为基准存储节点。
10.如权利要求8所述的方法,其特征在于,所述通过所述基准存储节点向所述目标设备发送所述多媒体数据,包括:
向所述基准存储节点发送数据获取请求,所述数据获取请求用于请求所述基准存储节点返回所述多媒体数据;接收所述基准存储节点返回的所述多媒体数据,并将所述多媒体数据发送至所述访问设备;
或者,向所述基准存储节点发送数据通知消息,所述数据通知消息用于通知所述基准存储节点将所述多媒体数据发送至所述访问设备;
或者,将所述基准存储节点的节点标识返回至所述访问设备,以使所述访问设备基于所述基准存储节点的节点标识向所述基准存储节点发送数据访问请求,并接收所述基准存储节点返回的所述多媒体数据。
11.如权利要求6所述的方法,其特征在于,所述方法还包括:
确定所述目标设备具有所述多媒体数据的归属权;
根据所述目标设备的设备标识生成所述多媒体数据的初始归属权信息,并将所述初始归属权信息存储至所述区块链中;
若接收到所述目标设备发送的归属权更新信息,则在所述区块链中根据所述归属权更新信息对所述初始归属权信息进行更新。
12.如权利要求6所述的方法,其特征在于,所述共识校验策略是以智能合约的形式存储在所述区块链中;或者,所述共识校验策略内嵌于所述共识节点的操作系统中。
13.一种基于区块链网络的数据存储装置,其特征在于,所述区块链网络包含共识节点以及目标存储节点,所述共识节点包含区块链,所述数据存储装置搭载于所述目标存储节点上;所述目标存储节点的节点类型为第一节点类型或第二节点类型;当所述节点类型为所述第一节点类型时,所述区块链网络中包含所述第一节点类型下的N个存储节点,N为大于1的整数,所述目标存储节点为所述N个存储节点中的一个存储节点,且每个存储节点对应一个等级;所述数据存储装置包括:
接收单元,用于接收目标设备发送的存储请求,所述存储请求中携带多媒体数据;
处理单元,用于将所述多媒体数据存储至所述目标存储节点的本地空间,并生成所述多媒体数据的目标存储证明,所述目标存储证明用于证明所述目标存储节点已存储所述多媒体数据;
所述处理单元,还用于若所述节点类型为所述第一节点类型,则从所述N个存储节点中除所述目标存储节点以外的存储节点中选取M个参考存储节点,M∈[1,N-1];并将所述多媒体数据同步给所述M个参考存储节点,以使所述每个参考存储节点在存储所述多媒体数据后,向所述共识节点发送关于所述多媒体数据的参考存储证明,以使所述共识节点在接收到所述目标设备发送的关于所述多媒体数据的上链请求后,根据所述目标存储证明和所述每个参考存储节点发送的参考存储证明对所述多媒体数据进行共识校验,并在所述多媒体数据通过共识校验后,将所述多媒体数据的数据标识存储至所述区块链网络的区块链中;其中,所述区块链中的数据标识用于指示所述多媒体数据被成功存储至所述区块链网络中;
其中,所述共识节点对所述多媒体数据进行共识校验的方式为:若统计到所述区块链网络中所述目标存储证明和所述参考存储证明之和大于数量阈值,则确定共识校验成功;或者,若统计到不同等级下已存储所述多媒体数据的存储节点对应的存储证明的数量均大于所述不同等级所对应的数量阈值,则确定共识校验成功;或者,对不同等级下已存储所述多媒体数据的存储节点对应的存储证明的数量进行加权求和运算,若加权求和运算得到的存储评估分值大于分值阈值,则确定共识校验成功。
14.一种基于区块链网络的数据存储装置,其特征在于,所述区块链网络包含共识节点以及目标存储节点,所述共识节点包含区块链,所述目标存储节点的节点类型为第一节点类型或第二节点类型;当所述节点类型为所述第一节点类型时,所述区块链网络中包含所述第一节点类型下的N个存储节点,N为大于1的整数,所述目标存储节点为所述N个存储节点中的一个存储节点,且每个存储节点对应一个等级;所述数据存储装置搭载于所述共识节点上,所述数据存储装置包括:
获取单元,用于接收目标设备发送的关于多媒体数据的上链请求;
所述获取单元,还用于获取关于所述多媒体数据的目标存储证明和参考存储证明,所述目标存储证明是由所述目标存储节点接收到所述目标设备发送的存储请求后,生成并发送给所述共识节点的,所述目标存储证明用于证明所述目标存储节点已存储所述多媒体数据;所述参考存储证明是由所述目标存储节点将所述多媒体数据同步至所述区块链网络中除所述目标存储节点以外的M个参考存储节点后,由所述M个参考存储节点存储所述多媒体数据后生成并发送给所述共识节点的;
处理单元,用于按照共识校验策略根据所述目标存储证明以及所述参考存储证明对所述多媒体数据进行共识校验,并在所述多媒体数据通过共识校验后,将所述多媒体数据的数据标识存储至所述区块链网络的区块链中;其中,所述区块链中的数据标识用于指示所述多媒体数据被成功存储至所述区块链网络中;
其中,所述共识节点对所述多媒体数据进行共识校验的方式为:若统计到所述区块链网络中所述目标存储证明和所述参考存储证明之和大于数量阈值,则确定共识校验成功;或者,若统计到不同等级下已存储所述多媒体数据的存储节点对应的存储证明的数量均大于所述不同等级所对应的数量阈值,则确定共识校验成功;或者,对不同等级下已存储所述多媒体数据的存储节点对应的存储证明的数量进行加权求和运算,若加权求和运算得到的存储评估分值大于分值阈值,则确定共识校验成功。
15.一种基于区块链网络的数据存储设备,其特征在于,所述区块链网络包含共识节点以及目标存储节点,所述共识节点包含区块链,所述目标存储节点的节点类型为第一节点类型或第二节点类型;当所述节点类型为所述第一节点类型时,所述区块链网络中包含所述第一节点类型下的N个存储节点,N为大于1的整数,所述目标存储节点为所述N个存储节点中的一个存储节点,且每个存储节点对应一个等级;所述数据存储设备为所述目标存储节点或所述共识节点,所述数据存储设备包括:
处理器,适于执行计算机程序;
计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1-5任一项所述的基于区块链网络的数据存储方法,或执行如权利要求6-12任一项所述的基于区块链网络的数据存储方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,计算机程序适于由处理器加载并执行如权利要求1-5任一项所述的基于区块链网络的数据存储方法,或执行如权利要求6-12任一项所述的基于区块链网络的数据存储方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110515287.1A CN112988667B (zh) | 2021-05-12 | 2021-05-12 | 一种基于区块链网络的数据存储方法及装置 |
PCT/CN2022/088368 WO2022237497A1 (zh) | 2021-05-12 | 2022-04-22 | 一种基于区块链网络的数据存储方法及装置 |
EP22806467.1A EP4231167A4 (en) | 2021-05-12 | 2022-04-22 | DATA STORAGE METHOD AND DEVICE BASED ON A BLOCKCHAIN NETWORK |
US17/983,997 US20230078541A1 (en) | 2021-05-12 | 2022-11-09 | Data storage method and apparatus based on blockchain network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110515287.1A CN112988667B (zh) | 2021-05-12 | 2021-05-12 | 一种基于区块链网络的数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112988667A CN112988667A (zh) | 2021-06-18 |
CN112988667B true CN112988667B (zh) | 2021-09-07 |
Family
ID=76337632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110515287.1A Active CN112988667B (zh) | 2021-05-12 | 2021-05-12 | 一种基于区块链网络的数据存储方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230078541A1 (zh) |
EP (1) | EP4231167A4 (zh) |
CN (1) | CN112988667B (zh) |
WO (1) | WO2022237497A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988667B (zh) * | 2021-05-12 | 2021-09-07 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据存储方法及装置 |
CN114281605B (zh) * | 2022-03-07 | 2022-06-21 | 杭州费尔斯通科技有限公司 | 一种基于区块链分区存储的计算方法和系统 |
CN114466050B (zh) * | 2022-04-11 | 2022-11-08 | 国汽智控(北京)科技有限公司 | 基于区块链的车载数据处理方法、装置及电子设备 |
CN116090020B (zh) * | 2023-04-13 | 2023-06-30 | 中国人民解放军海军潜艇学院 | 基于区块链的信息存储方法和装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597241A (zh) * | 2020-12-10 | 2021-04-02 | 浙江大学 | 一种基于区块链的分布式数据库存储方法及系统 |
CN112734448A (zh) * | 2021-01-12 | 2021-04-30 | 成都库珀区块链科技有限公司 | 基于区块链的农产品溯源方法、系统、设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11126613B2 (en) * | 2018-04-24 | 2021-09-21 | Duvon Corporation | Autonomous exchange via entrusted ledger immutable distributed database |
US10911240B2 (en) * | 2018-07-23 | 2021-02-02 | Hitachi, Ltd. | Off-chain blockchain storage with validation |
US10671308B2 (en) * | 2018-08-07 | 2020-06-02 | International Business Machines Corporation | Private and fault-tolerant storage of segmented data |
CN111224793B (zh) * | 2018-11-27 | 2021-06-01 | 华为技术有限公司 | 数据存储方法、装置、计算机设备及可读存储介质 |
US11500729B2 (en) * | 2019-03-26 | 2022-11-15 | Acronis International Gmbh | System and method for preserving data using replication and blockchain notarization |
CN111177257A (zh) * | 2019-12-13 | 2020-05-19 | 东软集团股份有限公司 | 一种区块链的数据存储及访问方法、装置以及设备 |
CN111262876B (zh) * | 2020-01-22 | 2022-05-27 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备以及存储介质 |
CN111639074A (zh) * | 2020-05-06 | 2020-09-08 | 深圳前海微众银行股份有限公司 | 一种基于区块链的数据存储方法及装置 |
CN112988667B (zh) * | 2021-05-12 | 2021-09-07 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据存储方法及装置 |
-
2021
- 2021-05-12 CN CN202110515287.1A patent/CN112988667B/zh active Active
-
2022
- 2022-04-22 WO PCT/CN2022/088368 patent/WO2022237497A1/zh unknown
- 2022-04-22 EP EP22806467.1A patent/EP4231167A4/en active Pending
- 2022-11-09 US US17/983,997 patent/US20230078541A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597241A (zh) * | 2020-12-10 | 2021-04-02 | 浙江大学 | 一种基于区块链的分布式数据库存储方法及系统 |
CN112734448A (zh) * | 2021-01-12 | 2021-04-30 | 成都库珀区块链科技有限公司 | 基于区块链的农产品溯源方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4231167A1 (en) | 2023-08-23 |
US20230078541A1 (en) | 2023-03-16 |
WO2022237497A1 (zh) | 2022-11-17 |
EP4231167A4 (en) | 2024-05-22 |
CN112988667A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112988667B (zh) | 一种基于区块链网络的数据存储方法及装置 | |
CN109766673A (zh) | 一种联盟式音视频版权区块链系统及音视频版权上链方法 | |
CN112101942B (zh) | 基于区块链的交易请求处理方法、系统、装置及设备 | |
CN112235420B (zh) | 基于区块链的数据同步方法、系统及相关设备 | |
WO2022134951A1 (zh) | 一种数据同步方法、装置、设备以及计算机可读存储介质 | |
CN109474838B (zh) | 一种数据处理方法、设备、系统及存储介质 | |
CN110266872B (zh) | 通讯录数据的管控方法、装置及云通讯录系统、计算机设备、计算机可读存储介质 | |
US20190342382A1 (en) | Method and electronic device for supporting artificial participation in decision-making of blockchain | |
CN113326165B (zh) | 基于区块链的数据处理方法、设备及计算机可读存储介质 | |
CN112883117A (zh) | 一种数据同步方法、设备以及计算机可读存储介质 | |
JP2023547716A (ja) | マークル証明エンティティ | |
CN110807209B (zh) | 一种数据处理方法、设备及存储介质 | |
CN110660466A (zh) | 结合区块链的物联网的个人健康数据上链方法及系统 | |
JP2024535784A (ja) | 分散台帳内の高速コンセンサスのための方法及びシステム | |
CN111339551B (zh) | 数据的验证方法及相关装置、设备 | |
US20230325521A1 (en) | Data processing method and apparatus based on blockchain network, device, and storage medium | |
KR102456903B1 (ko) | 이더리움과 ipfs를 활용한 전자문서 관리 시스템 및 그 방법 | |
CN111339189B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN116107801A (zh) | 交易处理方法及相关产品 | |
CN117121440A (zh) | 统一资源标识符 | |
CN117036038B (zh) | 一种基于联盟链的交易处理方法、装置、设备及存储介质 | |
US20230224162A1 (en) | Managing standard operating procedures using distributed ledger networks | |
CN112883038B (zh) | 一种基于区块链的数据管理方法、计算机及可读存储介质 | |
CN117155953A (zh) | 一种数据处理方法、装置、计算机设备以及可读存储介质 | |
US20240163118A1 (en) | Blockchain-based data processing method, device, and readable storage medium |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40045486 Country of ref document: HK |