CN117440004A - 一种资源存储系统、方法、设备以及存储介质 - Google Patents
一种资源存储系统、方法、设备以及存储介质 Download PDFInfo
- Publication number
- CN117440004A CN117440004A CN202311754176.1A CN202311754176A CN117440004A CN 117440004 A CN117440004 A CN 117440004A CN 202311754176 A CN202311754176 A CN 202311754176A CN 117440004 A CN117440004 A CN 117440004A
- Authority
- CN
- China
- Prior art keywords
- resource
- data storage
- storage
- blockchain
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013500 data storage Methods 0.000 claims abstract description 366
- 238000007726 management method Methods 0.000 claims abstract description 244
- 238000012795 verification Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 8
- 230000005284 excitation Effects 0.000 claims description 6
- 238000012550 audit Methods 0.000 claims description 5
- 238000012797 qualification Methods 0.000 claims description 5
- 238000013475 authorization Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 230000003993 interaction Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 239000012141 concentrate Substances 0.000 description 2
- 101100366082 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SNF7 gene Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 208000011580 syndromic disease Diseases 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- 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/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种资源存储系统、方法、设备以及存储介质,属于区块链的技术领域,系统中一个资源管理区块链管理多个数据存储区块链,资源管理区块链响应于资源发行者对目标资源的存储操作获取目标资源,根据多个数据存储区块链各自对应的服务信息,确定目标数据存储区块链,并将目标资源发送至目标数据存储区块链;目标数据存储区块链将目标资源存储在对应的存储节点,并将目标资源对应的存储凭证标识与资源摘要信息发送至资源管理区块链进行记录,资源管理区块链对目标数据存储区块链分配激励资源。本申请实施例旨在合理地存储资源。
Description
技术领域
本申请实施例涉及区块链的技术领域,具体而言,涉及一种资源存储系统、方法、设备以及存储介质。
背景技术
NFT(Non-Fungible Token)是非同质化通证,与同质化通证不同,同质化通证每个通证是完全相同的,而NFT则具有唯一性和真实性,即每个NFT都是独一无二的,因此可以用NFT锚定独一无二的非同质化的数字资产,如房产、艺术品、音乐、影片、游戏资产以及其他形式的创意作品等。
NFT还具有可验证的特性,即可以证明数字资产的发行者和持有者,且NFT的所有权属于用户,从而使得NFT在数字资产的领域得到广泛应用。
但是NFT应用过程中仍然面临资源数据存储安全问题的阻碍,如果NFT资源无法被安全地存储,那么NFT所承载的内容的价值就无法得到保障,由于不同类型的NFT资源对应而且不同价值,单独依赖于一种资源存储方式并不能适用于不同的资源,因此如何对每个NFT资源进行合理地存储是一个亟待解决的问题。
发明内容
本申请实施例提供一种资源存储系统、方法、设备以及存储介质,旨在合理地存储资源。
第一方面本申请实施例提供一种资源存储系统,所述系统包括一个资源管理区块链与多个数据存储区块链,所述资源管理区块链管理所述多个数据存储区块链,其中:
所述资源管理区块链用于响应于资源发行者对目标资源的存储操作,获取所述目标资源;根据所述多个数据存储区块链各自对应的服务信息,确定所述目标资源对应的目标数据存储区块链,并将所述目标资源发送至所述目标数据存储区块链,其中,所述服务信息包括服务类型、服务质量以及服务代价;
所述目标数据存储区块链用于将所述目标资源存储在对应的存储节点,并将所述目标资源对应的存储凭证标识与资源摘要信息发送至所述资源管理区块链进行记录;
所述资源管理区块链用于对存储所述目标资源的所述目标数据存储区块链分配激励资源。
可选地,所述资源管理区块链还用于:
响应于资源发行者对目标资源的第一存储操作,获取所述目标资源以及所述目标资源对应的存储条件,所述存储条件包括所述目标资源对应的存储类型、存储质量以及存储成本范围;
根据所述目标资源对应的存储条件与所述多个数据存储区块链各自对应的服务信息,确定所述目标资源对应的目标数据存储区块链。
可选地,所述资源管理区块链还用于:
根据所述目标资源对应的存储条件与所述多个数据存储区块链各自对应的服务信息,在所述多个数据存储区块链中确定所述目标资源对应的至少一个候选数据存储区块链;
并响应于所述资源发行者的选择操作,在所述至少一个候选数据存储区块链中确定目标数据存储区块链。
可选地,所述资源管理区块链还用于:
响应于资源发行者对目标资源的第二存储操作,获取所述目标资源以及初选数据存储区块链,并对所述初选数据存储区块链进行校验;
若所述初选数据存储区块链满足校验,将所述初选数据存储区块链作为所述目标资源对应的目标数据存储区块链。
可选地,在对所述初选数据存储区块链进行校验时,所述资源管理区块链用于在可用存储区块链管理列表中查询是否存在所述初选数据存储区块链的标识;若所述可用存储区块链管理列表中存在所述初选数据存储区块链的标识,则所述初选数据存储区块链满足校验;
其中,所述可用存储区块链管理列表中包含所述资源管理区块链审核通过且允许授权的所有数据存储区块链的标识。
可选地,所述多个数据存储区块链中每个数据存储区块链上部署有用于将存储凭证上链的凭证上链合约;
所述目标数据存储区块链用于在将所述目标资源存储在对应的存储节点后,调用所述凭证上链合约,将所述目标资源对应的存储凭证存储在所述目标数据存储区块链中。
可选地,所述资源管理区块链用于通过预设的资源管理合约在所述目标数据存储区块链上获取所述目标资源的存储凭证标识,并在所述资源管理区块链上记录所述目标资源的存储凭证标识与资源摘要信息,所述资源管理合约用于对所述资源管理区块链对应的所有数据存储区块链上存储的资源进行资源检索以及资源存储记录。
可选地,所述资源管理区块链还用于通过所述资源管理合约在所述资源管理区块链上获取并记录存储所述目标资源的所述目标数据存储区块链的存储链标识。
可选地,所述资源管理区块链上部署有用于对数据存储区块链进行管理与注册的存储链管理合约;
所述资源管理区块链用于响应于任一数据存储区块链的注册请求,调用预设的存储链管理合约对该数据存储区块链进行注册。
可选地,所述资源管理区块链用于在响应于任一数据存储区块链的注册请求后,调用所述存储链管理合约的存储服务类型列表接口向该数据存储区块链发送存储服务类型列表,所述存储服务类型列表中将所述资源管理区块链管理的多个数据存储区块链划分为多个存储服务类型;
当该数据存储区块链的存储服务类型存在于所述存储服务类型列表中时,所述存储链管理合约的注册接口用于获取该数据存储区块链发送的注册信息,对该数据存储区块链进行注册;
当该数据存储区块链的存储服务类型未存在于所述存储服务类型列表中时,所述存储链管理合约的注册接口用于获取该数据存储区块链发送的携带有新的存储服务类型的注册信息,对该数据存储区块链进行注册,并在所述存储服务类型列表中添加所述新的存储服务类型。
可选地,所述资源管理区块链为公链,对任一数据存储区块链进行注册时,所述资源管理区块链用于根据该数据存储区块链的注册信息直接进行注册。
可选地,所述资源管理区块链为联盟链,对任一数据存储区块链进行注册时,所述资源管理区块链用于对该数据存储区块链的资质与性能进行验证,验证通过时完成该数据存储区块链的注册,验证不通过时拒绝该数据存储区块链的注册。
可选地,所述资源管理区块链还用于为完成注册的任一数据存储区块链创建一个初始化的账户。
可选地,所述资源管理区块链上部署有用于对任一数据存储区块链分配激励资源或扣除激励资源的存储激励与惩罚合约;
在目标存储区块链存储所述目标资源后,所述资源管理区块链用于调用所述存储激励与惩罚合约,在所述目标数据存储区块链对应的账户中分配激励资源。
可选地,所述资源管理区块链还用于响应于对目标资源的读取操作,获取目标资源的存储凭证标识;根据所述目标资源对应的存储凭证标识,确定存储所述目标资源的目标数据存储区块链,并向所述目标数据存储区块链发送读取请求;
所述目标数据存储区块链用于响应于所述读取请求,将存储的所述目标资源的资源数据发送至所述资源管理区块链。
可选地,所述资源管理区块链还用于在所述目标数据存储区块链中读取所述目标资源的资源数据失败时,调用预设的存储激励与惩罚合约扣除所述目标数据存储区块链的激励资源。
可选地,所述资源管理区块链用于调用所述存储激励与惩罚合约获取所述目标数据存储区块链最新的扣除时间,并确定当前时间与所述目标数据存储区块链最新的扣除时间之间的时间间隔是否大于预设的扣除时间间隔;
当所述当前时间与所述目标数据存储区块链最新的扣除时间之间的时间间隔大于预设的扣除时间间隔时,对所述目标数据存储区块链扣除激励资源,并将当前时间作为所述目标数据存储区块链最新的扣除时间。
可选地,所述多个数据存储区块链中每个数据存储区块链与所述资源管理区块链之间设置有一个跨链模块;
所述跨链模块用于将对应的数据存储区块链注册到所述资源管理区块链上,协助所述资源管理区块链将资源数据存储在该数据存储区块链上,以及为所述资源管理区块链提供从该数据存储区块链上读取指定资源数据的服务。
可选地,所述资源管理区块链包括资源管理区块链节点网络、第一标识服务模块、第一凭证服务模块以及资源发行与交易模块;
所述资源管理区块链节点网络,用于为所述资源管理区块链提供分布式存储及计算能力;
所述第一标识服务模块,用于提供任一实体的身份标识注册、身份验证、身份查询以及身份更新的业务;
所述第一凭证服务模块,用于提供交易凭证模板服务和凭证服务,所述交易凭证模板服务包括交易模板的注册、更新以及查询业务,所述凭证服务包括凭证签发与验证以及可验证表达的签发与验证;
所述资源发行与交易模块,用于为资源发行者提供资源发行服务,并为资源发行者与资源购买方之间提供资源交易服务。
可选地,所述多个数据存储区块链中每个数据存储区块链还包括数据存储区块链节点网络、第二标识服务模块、第二凭证服务模块以及数据存储模块;
所述数据存储区块链节点网络,用于为所述数据存储区块链提供分布式存储及计算能力;
所述第二标识服务模块,用于生成存储凭证或数据存储区块链对应的标识;
所述第二凭证服务模块,用于提供存储凭证模板以及存储凭证的签发与验证;
所述数据存储模块,用于实现该数据存储区块链的存储服务。
第二方面,本申请实施例提供一种资源存储方法,应用于第一方面所述的资源存储系统中的资源管理区块链,所述方法包括:
响应于资源发行者对目标资源的存储操作,获取所述目标资源;
根据所述多个数据存储区块链各自对应的服务信息,确定所述目标资源对应的目标数据存储区块链,所述服务信息包括服务类型、服务质量以及服务代价;
将所述目标资源发送至所述目标数据存储区块链对应的存储节点进行存储,获取并记录所述目标数据存储区块链针对所述目标资源的存储凭证标识与资源摘要信息;
对存储所述目标资源的所述目标数据存储区块链分配激励资源。
第三方面,本申请实施例提供一种计算机设备,包括:至少一个处理器,以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时执行实施例第二方面所述的资源存储方法。
第四方面,本申请实施例提供一种非易失性可读存储介质,所述非易失性可读存储介质存储有计算机程序,其中,所述计算机程序被处理器执行时执行实施例第二方面所述的资源存储方法。
有益效果:
资源管理区块链响应于资源发行者对目标资源的存储操作,获取所述目标资源,然后根据所述多个数据存储区块链各自对应的服务信息,确定所述目标资源对应的目标数据存储区块链,所述服务信息包括服务类型、服务质量以及服务代价;接着将所述目标资源发送至所述目标数据存储区块链;所述目标数据存储区块链将所述目标资源存储在对应的存储节点,并将所述目标资源对应的存储凭证标识与资源摘要信息发送至所述资源管理区块链进行记录;资源管理区块链对存储目标资源的目标数据存储区块链分配激励资源。
资源管理区块链管理有多个数据存储区块链,通过将资源的管理和存储分开,使得资源管理区块链可容纳的资源数量大幅度增加,并且可以扩展更多不同存储类型或不同存储方式的数据存储区块链,具有更强的可扩展能力。
当需要存储目标资源时,资源管理区块链可以根据多个数据存储区块链各自对应的服务信息,如服务类型、服务质量以及服务代价,确定更适合于存储目标资源的数据存储区块链,从而可以提供更适应于目标资源的存储服务,更加合理地存储目标资源。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1示出了本申请实施例提供的资源存储系统的示意图;
图2示出了本申请实施例提供的资源存储系统的示意图;
图3示出了本申请实施例提供的资源管理区块链的系统架构示意图;
图4示出了本申请实施例提供的资源存储方法的步骤流程图;
图5示出了本申请实施例提供的数据存储区块链的注册示意图;
图6示出了本申请实施例提供的目标资源的读取示意图;
图7示出了本申请实施例提供的计算机设备的示意图;
图8示出了本申请实施例提供的非易失性可读存储介质的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本实施例中的英文缩写的含义如下:
NFT:Non-Fungible Token,非同质化通证;
URI:Uniform Resource Identifier,统一资源标识符;
URL:Uniform Resource Locator,统一资源定位器;
IPFS:InterPlanetary File System,星际文件系统;
DID:Decentralized Identifier,分布式身份标识符;
VC:Verifiable Credential,可验证凭证。
NFT作为是非同质化通证,因为NFT具有唯一性和真实性,即每个NFT都是独一无二的,因此可以用NFT锚定独一无二的非同质化的数字资产,如房产、艺术品、音乐、影片、游戏资产以及其他形式的创意作品等,而且NFT还具有可验证的特性,即可以证明数字资产的发行者和持有者,且NFT的所有权属于用户,从而使得NFT在数字资产的领域得到广泛应用。
但是NFT的存储问题一直是发展面临的阻碍,如果NFT无法被安全的存储,那么NFT所承载的内容的价值就无法得到保障,虽然对于NFT的存储也有现有的多种方法,但是NFT表征的资产的价值不同,如果单独依赖一种存储方式是无法满足不同类型的NFT应用场景。
为此本实施例提供一种资源存储系统,可以提供更适应于资源的存储服务,从而更加合理地存储资源。
参照图1,示出了本申请实施例提供的一种资源存储系统的示意图,如图1,所述系统包括一个资源管理区块链与多个数据存储区块链,资源管理区块链上可以注册多个数据存储区块链,并且资源管理区块链管理多个数据存储区块链各自对应的服务信息。
资源存储系统中存储的资源可以是NFT资源,在其它实施方式中,也可以是其他需要进行存储的资源。
参照图2,示出了本申请实施例提供的一种资源存储系统的示意图,如图2所示,资源存储系统还包括用于资源管理区块链和多个数据存储区块链进行数据交互的跨链模块,具体地,所述资源管理区块链与每个数据存储区块链之间设置有一个跨链模块,所述跨链模块用于进行所述资源管理区块链与一个数据存储区块链之间的数据交互。
具体地,所述跨链模块用于将对应的数据存储区块链注册到所述资源管理区块链上,协助所述资源管理区块链将资源数据存储在该数据存储区块链上,以及为所述资源管理区块链提供从该数据存储区块链上读取指定资源数据的服务。
在实际实施的过程中,跨链模块可以是用于实现数据交互的软件模块,也可以是连接资源管理区块链的节点设备和任一数据存储区块链的节点设备之间的实体模块。
如图2,多个数据存储区块链可以针对于资源(如NFT资源)采用不同的存储方式,如提供的3条数据存储区块链中的存储方式可以不同。
数据存储区块链-1是采用直接链上存储方式,直接链上存储方式针对NFT资源存储空间较小的场景,比如小像素图像(类似于像素头像NFT),可以直接在链上存储;直接链上存储方式意味着只要该数据存储区块链网络存在,NFT资源就会存在,可以保证其永久存储,但是这种存储方式对链上存储空间的开销非常大,会导致链上存储空间随着NFT资源数量增长而迅速膨胀,并且对于存储空间较大的NFT资源(如视频)该方式则不适用。
数据存储区块链-2可以采用云链结合存储方式,即将资源存储在互联网的服务器上(如本地服务器或云服务器),并将访问资源对应的统一资源标识符(URI)或统一资源定位器(URL)以及资源内容的哈希值存储到数据存储区块链上,这样既能保证资源内容可验证且无法被篡改,也能通过URI或URL获取资源内容,极大地节省了链上存储空间的开销,NFT发行者还可以选择将资源存储在云存储上,如百度云、阿里云等。
数据存储区块链-3采用第三方分布式存储方式,NFT发行者可以选择将资源存储在第三方的分布式存储网络上,如IPFS(InterPlanetary File System,星际文件系统),IPFS是一个基于分布式哈希表进行内容寻址的分布式存储系统,每个NFT资源对应一个文件,而每个文件会基于内容计算出一个唯一的哈希相当于该文件的指纹,通过将资源文件存储到IPFS系统中,而只需把文件哈希存储到数据存储区块链上即可,因此通过IPFS存储,可以让所存储的文件具有不可篡改性且NFT链上存储开销小,另外IPFS的存储机制,可以保障每个资源文件会被多个IPFS节点冗余备份,这样极大地降低了服务器或节点故障导致的资源丢失风险。
在其他实施方式中,资源管理区块链管理的数据存储区块链的数量以及每个数据存储区块链的存储方式本实施例中不做限制,可以根据实际需求进行自定义配置。
在一种可行的实施方式中,所述资源管理区块链还包括资源管理区块链节点网络、第一标识服务模块、第一凭证服务模块以及资源发行与交易模块,所述资源管理区块链中还预先部署有存储链管理合约、资源管理合约以及存储激励与惩罚合约。
所述资源管理区块链节点网络,用于为所述资源管理区块链提供分布式存储及计算能力,是由多个分布式节点构成的资源管理区块链节点对等网络,通过一种共识机制维护一个账本(即链上数据)。
所述资源管理区块链中预先部署有存储链管理合约、资源管理合约以及存储激励与惩罚合约,所述存储链管理合约用于数据存储区块链的管理与注册,所述资源管理合约用于对资源管理区块链对应的所有数据存储区块链上存储的资源进行资源检索以及资源存储记录,所述存储激励与惩罚合约用于对任一数据存储区块链分配激励资源或扣除激励资源。
各个合约本质上是一段能执行合约条款的计算程序,运行在区块链上,用于操作账本上的数据,区块链应用程序通过它与区块链账本进行数据交互,每个合约中的预设的某一条款一旦达成触发条件,则合约代码会自动执行无需人为操控,并且每个合约还包含一组预先定义的合约接口供外部程序调用,完成链上数据的读写,可以通过设计并编译合约代码,然后在区块链上完成合约部署。
在部署合约时,可以根据不同的区块链技术采用不同的部署操作,示例地,在开源联盟链,如FISCO BCOS上,可用通过开源组件WeBASE提供的智能合约管理功能实现合约的可视化编译与部署,而在另一种开源联盟链HyperLedger Fabric上,可用通过开源项目提供的命令行脚本完成对链码(包含智能合约的程序)的编译与部署;在实际的实施过程,可以根据不同的区块链采用不同的合约部署方式。
所述第一标识服务模块,用于提供任一实体的身份标识注册、身份验证、身份查询以及身份更新的业务;所述第一凭证服务模块,用于提供交易凭证模板服务和凭证服务,所述交易凭证模板服务包括交易模板的注册、更新以及查询业务,所述凭证服务包括凭证签发与验证以及可验证表达的签发与验证;所述资源发行与交易模块,用于为资源发行者提供资源发行服务,并为资源发行者与资源购买方之间提供资源交易服务。
每个数据存储区块链中也部署有凭证上链合约,所述凭证上链合约用于将该数据存储区块链的存储节点生成的资源对应的存储凭证存储在数据存储区块链中;每个数据存储区块链还包括数据存储区块链节点网络、第二标识服务模块、第二凭证服务模块以及数据存储模块;所述数据存储区块链节点网络,用于为所述数据存储区块链提供分布式存储及计算能力;所述第二标识服务模块,用于生成存储凭证或数据存储区块链对应的标识;所述第二凭证服务模块,用于提供存储凭证模板以及存储凭证的签发与验证;所述数据存储模块,用于实现该数据存储区块链的存储服务。
资源管理区块链可以是公链也可以是联盟链,本实施方式中以开源联盟链FISCOBCOS为例介绍存储资源管理区块链的系统架构。
参照图3,示出了本申请实施例提供的资源管理区块链的系统架构示意图,基于开源联盟链FISCO BCOS,开源区块链管理组件WeBASE以及开源分布式数字身份组件WeIdentity,可以构建符合W3C(World Wide Web Consortium,万维网联盟) DID和VC标准的资源管理区块链的系统架构。
如图3所示,资源管理区块链的系统架构包括通过RESTful(RepresentationalState Transfer,表现层状态转移)接口交互数据的前端和后端两部分。
其中,前端具有的主要功能包括:
链上数据浏览:可以查看资源管理区块链上的区块数据,交易数据;
资源管理:为用户提供NFT资源的提交、修改及删除等交互功能;
数字凭证:提供存储凭证的查看以及校验等功能;
登录认证:为用户提供登录认证功能。
后端具有的主要功能包括:
存储凭证管理:完成存储凭证的增、删、改以及查等功能;
资源管理:完成如NFT资源的增、删、改以及查等功能;
智能合约管理:完成智能合约(包括存储链管理合约、资源管理合约以及存储激励与惩罚合约)的查看、修改与提交功能;
DID服务:主提供注册身份DID、身份验证以及身份查询与更新功能;
VC服务:主要提供凭证模板管理和凭证管理两个部分功能。
其中,后端使用WeBASE组件提供的交互接口完成区块链数据的管理功能,如合约管理、交易数据管理、节点管理以及私钥管理等管理功能;使用WeIdentity组件的交互接口完成分布式数字身份DID及可验证凭证交互相关的功能,如提供证书模板、证书签发、选择性凭证以及验证凭证等功能;使用开源联盟链平台FISCO BCOS作为区块链节点网络基础平台,使用MySQL存储关键数据(如包括NFT资源数据、凭证文件、用户数据等)。
每个数据存储区块链的系统架构的实现与资源管理区块链类似,区别在于加入数据存储功能的实现部分而无需考虑NFT资源管理相关功能,并且数据存储区块链上部署的合约为凭证上链智能合约。
参照图4,示出了本申请实施例提供的一种资源存储方法的步骤流程图,应用于资源存储系统,所述方法可以包括以下步骤:
S101:所述资源管理区块链响应于资源发行者对目标资源的存储操作,获取所述目标资源。
当资源发行者需要对目标资源进行存储时,资源管理区块链为资源发行者提供资源发行服务以及相应的发行操作界面,在实际实施的时候,资源发行者可以通过发行操作界面进行存储操作从而上传目标资源,如目标NFT资源。
S102:所述资源管理区块链根据所述多个数据存储区块链各自对应的服务信息,确定所述目标资源对应的目标数据存储区块链,并将所述目标资源发送至所述目标数据存储区块链。
资源管理区块链上维护其管理的所有数据存储区块链各自对应的服务信息,服务信息包括但不限于服务类型、服务质量以及服务代价,还可以包括服务对象范围,服务对象的大小等信息,例如对于采用直接链上存储方式的数据存储区块链,其服务对象是小像素图像等信息都可以预先在资源管理区块链上的进行存储。
在一种可行的实施方式中,可以在资源管理区块链上预设不同的资源与不同的数据存储区块链的服务信息之间的存储关系,当获取到资源发行者上传的目标资源后,可以对目标资源和存储关系进行映射,示例地,可以对资源的对象类型、价值以及大小等因素映射到服务信息不同的数据存储区块链,当需要存储目标资源时,判断目标资源的对象、价值以及大小等信息,然后根据多个数据存储区块链各自对应的服务信息,确定目标资源对应的数据存储区块链,还可以根据存储代价的大小以及数据存储区块链的存储空间余量,选择目标数据存储区块链。
在另一种可行的实施方式中,还允许发行者在上传目标资源的同时,设定目标资源的存储条件,具体地,响应于资源发行者对目标资源的第一存储操作,获取所述目标资源以及所述目标资源对应的存储条件,所述存储条件包括所述目标资源对应的存储类型、存储质量以及存储成本范围;然后再根据目标资源对应的存储条件与多个数据存储区块链各自对应的服务信息,确定目标资源对应的目标数据存储区块链。
示例地,可以由资源管理区块链上的存储链管理合约提供的GetGranted接口获取可用存储区块链管理列表,可用存储区块链管理列表中包含资源管理区块链审核通过且允许授权的所有数据存储区块链的标识,然后根据目标资源对应的存储条件与多个当前可用的数据存储区块链各自对应的服务信息,在多个数据存储区块链中确定目标资源对应的至少一个候选数据存储区块链供资源发行者进行选择,响应于资源发行者的选择操作,在至少一个候选数据存储区块链中确定目标数据存储区块链。
在另一种可行的实施方式中,还允许资源发行者自行指定用于存储目标资源的目标数据存储区块链,但是需要对指定的数据存储区块链进行校验。
具体地,所述资源管理区块链在响应于资源发行者对目标资源的第二存储操作后,获取所述目标资源以及初选数据存储区块链,并对所述初选数据存储区块链进行校验;若所述初选数据存储区块链满足校验,将所述初选数据存储区块链作为所述目标资源对应的目标数据存储区块链。
在对所述初选数据存储区块链进行校验时,所述资源管理区块链用于在可用存储区块链管理列表中查询是否存在所述初选数据存储区块链的标识;所述可用存储区块链管理列表中包含所述资源管理区块链审核通过且允许授权的所有数据存储区块链的标识。
若所述可用存储区块链管理列表中存在所述初选数据存储区块链的标识,则所述初选数据存储区块链满足校验;若可用存储区块链管理列表中没有初选数据存储区块链的标识,则表征指定的初选数据存储区块链不适于存储,可以向发行者的发行操作界面显示提示信息。
通过多种确定目标数据存储区块链的方式,不仅可以由资源管理区块链为发行者智能提供更适应于目标资源的存储方式,还可以支持NFT资源发行者自主抉择存储方式,提高了整个资源存储系统和存储方法的灵活性。
在确定好目标数据存储区块链后,资源管理区块链通过与目标数据存储区块链之间的跨链模块,将目标资源发送至目标数据存储区块链进行存储。
S103:所述目标数据存储区块链将所述目标资源存储在对应的存储节点,并将所述目标资源对应的存储凭证标识与资源摘要信息发送至所述资源管理区块链进行记录。
具体地,资源管理区块链和目标数据存储区块链之间的跨链模块把目标资源的数据转发到目标数据存储区块链,目标数据存储区块链根据自身的存储方式或存储规则,确定用于存储目标资源的存储节点,存储目标资源的存储节点在完成存储后生成创建存储凭证,即VC凭证。
在一种可行的实施方式中,采用不同存储方式中存储凭证的生成过程可以不同,示例地,若目标数据存储区块链采用云链结合存储方式,完成数据云上存储后创建存储凭证,并把目标资源的访问URL及目标资源的数据内容哈希写入存储凭证的声明内容;若采用直接链上存储方式,只需创建存储凭证,把目标资源的数据或将目标资源序列化处理后得到的字符串格式写入凭证声明内容即可;若采用IPFS的存储方式,在完成资源文件在IPFS系统上的存储后,下一步创建存储凭证,并把目标资源的数据文件的哈希(可根据此哈希在IPFS上获取资源文件)及IPFS的访问接口地址写入凭证声明内容。
在实际实施时,可以根据目标数据存储区块链的存储方式的不同进行存储凭证生成方式,本申请实施例不做限制。
在生成目标资源的存储凭证后,通过目标数据存储区块链中预设的凭证上链合约,将存储节点生成的目标资源对应的存储凭证存储在目标数据存储区块链中,即完成存储凭证上链,目标数据存储区块链中的第二标识服务模块可以生成存储凭证标识,即存储凭证DID。
在生成目标资源的存储凭证标识后,通过跨链模块调用资源管理区块链上预设的资源管理合约提供的资源存储记录写入接口,将目标资源的存储凭证标识与资源摘要信息写入资源管理区块链中进行记录。
在一种可行的实施方式中,除了目标资源的存储凭证标识与资源摘要信息,还可以通过预设的资源管理合约在资源管理区块链上维护的所有数据存储区块链的存储链标识中,获取并记录所述目标数据存储区块链的存储链标识,即目标数据存储区块链的存储链DID,便于后续读取目标资源时,更加准确地定位至存储目标资源的目标数据存储区块链。
S104:所述资源管理区块链对存储所述目标资源的所述目标数据存储区块链分配激励资源。
在目标数据存储区块链完成目标资源的存储后,资源管理区块链可以对目标数据存储区块链分配本次存储的激励资源,激励资源的形式可以根据实际应用的需求进行自定义设置,如激励资源可以是本次存储的费用,或者为目标数据存储区块链分配系统预设的权益积分,权益积分可以兑换为实际的存储收益,权益积分也可以用于兑换系统预设的任一资源,根据实际应用的需求可以对权益积分进行适应性的应用,本实施例不做限制。
在一种可行的实施方式中,在完成目标资源的存储后,资源管理区块链调用所述存储激励与惩罚合约的支付接口,即Pay接口,在所述目标数据存储区块链对应的账户中对所述目标资源的存储分配激励资源,示例地可以是支付本次存储的费用。
本方法中,资源管理区块链连接有不同的数据存储区块链,当需要存储目标资源时,可以根据多个数据存储区块链各自对应的服务信息,确定更适合于存储目标资源的数据存储区块链,或者由发行者指定目标资源的目标数据存储区块链,从而可以提供更适应于目标资源的存储服务,更加合理地存储目标资源。
并且本实施例通过将NFT资源存储过程中将资源的管理和存储分开,使得资源管理区块链可容纳的资源数量大幅度增加,并且可以扩展更多不同存储类型或不同存储方式的数据存储区块链,具有更强的可扩展能力。
在一种可行的实施方式中,任一数据存储区块链在资源管理区块链上的注册过程为:资源管理区块链响应于任一数据存储区块链的注册请求,调用预设的存储链管理合约对该数据存储区块链进行注册,所述存储链管理合约用于对数据存储区块链进行管理与注册。
参照图5,示出了本申请实施例提供的数据存储区块链的注册示意图,具体地,当任一数据存储区块链需要进行注册时,该数据存储区块链的跨链模块向资源管理区块链的存储链管理合约的存储服务类型列表接口,即GetCategory接口发送注册请求。
资源管理区块链响应于任一数据存储区块链发送的注册请求,由存储链管理合约的存储服务类型列表接口,即GetCategory接口,向该数据存储区块链发送存储服务类型列表,存储服务类型列表中将资源管理区块链管理的多个数据存储区块链划分为多个存储服务类型,示例地,多个存储服务类型包括云存储服务类型、第三方存储服务类型以及线下磁盘存储服务类型等,则基于阿里云的数据存储区块链和基于百度云的数据存储区块链都属于云存储服务类型,基于IPFS的数据存储区块链则属于第三方存储服务类型。
当该数据存储区块链的存储服务类型存在于所述存储服务类型列表中时,跨链模块向所述存储链管理合约的注册接口,即Register接口发送该数据存储区块链的注册信息,当资源管理区块链管理的存储链管理合约的Register接口获取该数据存储区块链发送的注册信息后,对该数据存储区块链进行注册。
当该数据存储区块链的存储服务类型未存在于所述存储服务类型列表中时,跨链模块向所述存储链管理合约的注册接口,即Register接口发送该数据存储区块链携带有新的存储服务类型的注册信息,存储链管理合约的注册接口,即Register接口获取该数据存储区块链发送的携带有新的存储服务类型的注册信息,对该数据存储区块链进行注册,并在所述存储服务类型列表中添加所述新的存储服务类型。
资源管理区块链可以是公链,在对任一数据存储区块链进行注册时,可以根据该数据存储区块链的注册信息直接进行注册。
资源管理区块链还可以是联盟链,此时对任一数据存储区块链进行注册时,所述资源管理区块链要对该数据存储区块链的资质与性能进行验证,验证通过时完成该数据存储区块链的注册,验证不通过时拒绝该数据存储区块链的注册。
具体地,当资源管理区块链为联盟链时,可以由审核用户对该数据存储区块链的资质与性能进行验证,验证通过时完成该数据存储区块链的注册,验证不通过时拒绝该数据存储区块链的注册。
审核用户可以通过存储链管理合约的GetNew接口从资源管理区块链中获取待验证的数据存储区块链进行审核,验证该数据存储区块链资质和性能,审核通过则调用存储链管理合约的Grant接口允许或授权该数据存储区块链,否则调用存储链管理合约的Deny接口拒绝该数据存储区块链,进行注册的数据存储区块链的跨链模块可以通过存储链管理合约的GetStatus接口查询审核结果。
对于完成注册的任一数据存储区块链,资源管理区块链调用预设的存储激励与惩罚合约的CreateAccount接口,为该数据存储区块链创建一个初始化的账户。
参照图6,示出了本申请实施例提供的目标资源的读取示意图,读取过程包括以下步骤:
S201:所述资源管理区块链响应于对目标资源的读取操作,获取目标资源的存储凭证标识。
当需要读取目标资源时,可以在资源管理区块链上传目标资源的存储凭证标识,即存储凭证DID。
S202:所述资源管理区块链根据所述目标资源对应的存储凭证标识,确定存储所述目标资源的目标数据存储区块链,并向所述目标数据存储区块链发送读取请求。
通过目标资源的存储凭证DID读取目标资源的数据时,资源管理区块链节点依据存储凭证DID首先定位至目标数据存储区块链,并通过对应的跨链模块从数据存储区块链上读取指定的资源数据。
由存储凭证DID与目标数据存储区块链的映射可以利用DID各字段含义实现,例如DID1= wid:eth:123456789abc,该DID被字符‘:’分为三个部分;其中:
第一部分:即‘wid’是DID scheme(类似URL中的http、https、ftp等协议);
第二部分:即‘eth’是DID方法名称(无统一标准,通常是一个区块链名,可根据场景设计,,如eth即以太坊);
第三部分:即‘123456789abc’是一个唯一标识符,由DID方法内部定义与解析。
因此,只要预先将资源管理区块链中的多个数据存储区块链的名称设置为不同的,则可以通过DID的前2个字段定位至不同的数据存储区块链。
为了避免根据存储凭证DID无法准确定位至目标数据存储区块链,还可以在存储目标资源时,将目标资源的存储凭证DID和目标数据存储区块链的存储链DID同时记录在资源管理区块链中,从而根据存储有目标资源存储的目标数据存储区块链的存储链DID,可直接定位对应的数据存储区块链。
资源存储区块链在根据目标资源的存储凭证标识或者存储链DID确定存储目标资源的目标数据存储区块链后,向目标数据存储区块链发送目标资源的读取请求,读取请求中携带有目标资源的存储凭证标识。
S203:所述目标数据存储区块链响应于所述读取请求,将存储的所述目标资源的资源数据发送至所述资源管理区块链。
存储有目标资源的目标数据存储区块链响应于读取请求,根据读取请求中携带的存储凭证标识,在存储目标资源的存储节点中读取目标资源,并通过与自身连接的跨链模块返回至资源管理区块链。
在一种可行的实施方式中,当向所述目标数据存储区块链发送读取请求之后,若读取失败,资源管理区块链则调用预设的存储激励与惩罚合约的Penalty接口对所述目标数据存储区块链的账户中的激励资源进行扣除,从而进行读取失败的惩罚。
为了避免出现对任一数据存储区块链进行恶意惩罚,在一种可行的实施方式中,资源管理区块链还可以调用所述存储激励与惩罚合约获取所述目标数据存储区块链最新的扣除时间,并确定当前时间与所述目标数据存储区块链最新的扣除时间之间的时间间隔是否大于预设的扣除时间间隔。
当所述当前时间与所述目标数据存储区块链最新的扣除时间之间的时间间隔大于预设的扣除时间间隔时,对所述目标数据存储区块链扣除激励资源,并将当前时间作为所述目标数据存储区块链最新的扣除时间。
当所述当前时间与所述目标数据存储区块链最新的扣除时间之间的时间间隔小于或等于预设的扣除时间间隔时,对所述目标数据存储区块链不进行本次读取失败的惩罚。
其中,预设的扣除时间间隔可以由各个数据存储区块链自己提供,也可以预先写在资源管理区块链的存储激励与惩罚合约的代码中,预设的惩罚时间间隔本实施例不做限制,根据实际应用的需求进行选择。
本实施例提供了基于多架构的数据存储区块链的资源存储系统与方法,可以支持多样化资源存储的机制,一个资源管理区块链可以对接并管理多个数据存储区块链,从而支持不同且多样的数据存储方式,并且通过将资源的管理业务与数据存储分离,使得资源管理区块链可以专注于资源管理及业务,数据存储区块链专注于具体存储机制,进一步使资源管理区块链可容纳的NFT资源数量规模得到了极大提高,资源管理区块链和任一个数据存储区块链之间通过跨链和DID与VC的资源数据存储凭证方式,实现了跨链可信交互,既支持本系统内部不同区块链间的可信交互,也支持与第三方平台的可信交互实现数据交互,同时简化了资源管理区块链的处理逻辑(如无需考虑资源如何存储),又使其具有更高的可扩展性。
在资源管理区块链和数据存储区块链上都配置合约进行智能化管理,减少了人工干预,可以根据目标资源在多个数据存储区块链中选择适应于目标资源的价值的存储服务,从而可以提供更适应于目标资源的存储服务,更加合理地存储目标资源,同时也允许资源发行者,如NFT发行商可以自主、灵活地选择一种资源存储方式,提高了资源存储方法的灵活性。
在一种可行的实施方式中,本实施例提供的资源存储系统和资源存储方法中的部分数据结构可以进行如下定义:
1、数据存储区块链对象:StorageChain
Class StorageChain{
String name;//数据存储区块链名称
String did;//数据存储区块链DID
Float fee;//单位存储空间的激励或费用
Float penalty;//一次读取失败的扣除值
Long minTsInterval;//两次扣除之间的最小时间间隔(预设的扣除时间间隔)
String status;//数据存储区块链的审核状态
ChainAccount account; //收益账户
}
2、存储服务定义:StorageService
Class StorageService{
Int category;//存储服务类型
String description;//服务描述
List<StorageChain>chainList;//数据存储区块链队列
//对象初始化函数
StorageService(){
//为chainList创建一个空队列,初始化其它参数
}}
3、存储服务类型定义:StorageCategory
Emum StorageCategory{
ON_CHAIN_T1;//链上存储方式
OFF_CHAIN_CLOUD;//云链结合存储方式
OFF_CHAIN_IPFS;//分布式数据存储IPFS方式
}
4、数据存储区块链状态定义:ChainStatus
Emum ChainStatus{
CHECKING;//待审核
GRANTED;//已允许或授权
DENIED;//被拒绝
}
5、数据存储区块链账户定义:ChainAccount
Class ChainAccount{
Float balance;//账户余额
TimeStamp lastPenaltyTs;//上次扣除的时间戳(最新的扣除时间)
}
在一种可行的实施方式中,部分处理算法的伪代码如下:
A、存储链管理合约初始化伪代码
输入:无;输出:无
//初始化存储服务队列
List<StorageService>serviceList = new ArrayList<>()
//创建一个链上存储服务对象,并添加到存储服务队列;
StorageService t1 = new StorageService();
t1.category = StorageCategory.ON_CHAIN_T1;//链上存储类型
t1.description= “An on-chain storage service”//存储服务描述
serviceList.add(t1);//加入存储服务队列
//创建一个云链结合存储服务对象,并添加到存储服务队列;
StorageService t2 = new StorageService();
t2.category = StorageCategory.OFF_CHAIN_CLOUD;//云链结合存储类型
t2.description= “An off-chain storage service via cloud”//存储服务描述
serviceList.add(t2);//加入存储服务队列
//创建一个IPFS存储服务对象,并添加到存储服务队列;
StorageService t3 = new StorageService();
t3.category = StorageCategory.OFF_CHAIN_IPFS;//云链结合存储类型
t3.description= “An off-chain storage service via IPFS”//存储服务描述
serviceList.add(t3);//加入存储服务队列
B、存储链管理合约Register接口:注册数据存储区块链的伪代码
输入:存储服务类型storageType, 存储链对象storageChain
输出:处理结果,0:正常,否则为异常(输出异常定义码)
StorageService targetService = null;
//根据storageType遍历存储服务队列serviceList,获取对应的存储服务对象targetService
For(StorageService: st in serviceList){
If(st.category == storageType){
targetService = st;
Break;
}}
If(targetService != null){
storageChain.status = ChainStatus.CHECKING.toString();
//设置为待审核状态
storageService.chainList.add(storageChain)
//把注册的数据存储区块链对象加入存储链队列
return 0//返回代码:处理成功;
}
Return -1;//返回代码:存储服务类型不存在
C、存储链管理合约接口Grant:授权或允许数据存储区块链的伪代码
输入:数据存储区块链的存储链DID,chainDid
输出:处理结果,0:正常,否则为异常(输出异常定义码)
StorageChain target = null;
//根据DID遍历当前已注册的数据存储区块链,获取数据存储区块链target
For(StorageService: st in serviceList){
For(StorageChain chain in st.chainList){
If(chain.did == chainDid){
target= chain;
Break;
}
If(target != null) Break;
}
If(target != null){
target.status = ChainStatus.GRANTED.toString();//设置为已授权或允许状态
Return 0;//返回代码:处理成功;
}
Return -1;//返回代码:不存在指定的数据存储区块链;
D、存储激励与惩罚合约接口CreateAccount:创建数据存储区块链的账户的伪代码
输入:存储链DID,chainDid
输出:处理结果,0:正常,否则为异常(输出异常定义码)
StorageChain target = null;
//根据chainDid遍历当前已注册的数据存储区块链,获取目标数据存储区块链target
For(StorageService: st in serviceList){
For(StorageChain chain in st.chainList){
If(chain.did == chainDid){
target= chain;
Break;
}
If(target != null) Break;
}
If(target != null){
ChainAccount Ac = new ChainAccount(); //初始化账户的参数
Ac.balance = 0;
Ac.lastPenaltyTs = new Timestamp(new Date().getTime());
target.account = Ac;
return 0//返回代码:创建成功;
}
Return -1;//返回代码:数据存储区块链不存在
E、存储激励与惩罚合约Pay接口:向数据存储区块链支付存储激励的伪代码
输入:存储链DID,chainDid,存储激励或收益income
输出:处理结果,0:正常,否则为异常(输出异常定义码)
StorageChain target = null;
//根据chainDid遍历当前已注册的数据存储区块链,获取目标数据存储区块链target
For(StorageService: st in serviceList){
For(StorageChain chain in st.chainList){
If(chain.did == chainDid){
target= chain;
Break;
}
If(target != null) Break;
}
If(target == null)
Return -1;//返回代码:数据存储区块链不存在
If(target.account != null){
ChainAccount Ac = target.account; //收益账户
Ac.balance = Ac.balance + income;//把收益值加到收益余额上
return 0//返回代码:处理成功;
}
Return -1;//返回代码:数据存储区块链的账户不存在
F、存储激励与惩罚合约Penalty接口:向数据存储区块链施加扣除惩罚的伪代码
输入:存储链DID,chainDid,扣除值 penVal
输出:处理结果,0:正常,否则为异常(输出异常定义码)
StorageChain target = null;
//根据chainDid遍历当前已注册的数据存储区块链,获取数据存储区块链target
For(StorageService: st in serviceList){
For(StorageChain chain in st.chainList){
If(chain.did == chainDid){
target= chain;
Break;
}
If(target != null) Break;
}
If(target == null)
Return -1;//返回代码:数据存储区块链不存在
If(target.account != null){
ChainAccount Ac = target.account;//收益账户
Float loss = target.penalty;//扣除值,也支持由接口输入参数指定
Timestamp now = new Timestamp(new Date().getTime()); //获取当前时间
If(now - Ac.lastPenaltyTs<target.minTsInterval)//判断扣除时间间隔是否满足
Return -2;//返回代码:扣除时间间隔未满足条件
Ac.balance = Ac.balance - loss;//把收益余额上扣减扣除值
Ac.lastPenaltyTs =now;//更新最近扣除时间
return 0//返回代码:处理成功;
}
Return -3;//返回代码:数据存储区块链的账户不存在。
参照图7,示出了本申请实施例提供的一种计算机设备的示意图,一种计算机设备501包括:至少一个处理器520,以及存储器510,所述存储器510存储有可在所述处理器520上运行的计算机程序511,其中,所述处理器520执行所述计算机程序511时执行如实施例所述的资源存储方法。
参照图8,示出了本申请实施例提供的一种非易失性可读存储介质的示意图,所述非易失性可读存储介质601存储有计算机程序610,其中,所述计算机程序610被处理器执行时执行如实施例所述的资源存储方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (23)
1.一种资源存储系统,其特征在于,所述系统包括一个资源管理区块链与多个数据存储区块链,所述资源管理区块链管理所述多个数据存储区块链,其中:
所述资源管理区块链用于响应于资源发行者对目标资源的存储操作,获取所述目标资源;根据所述多个数据存储区块链各自对应的服务信息,确定所述目标资源对应的目标数据存储区块链,并将所述目标资源发送至所述目标数据存储区块链,其中,所述服务信息包括服务类型、服务质量以及服务代价;
所述目标数据存储区块链用于将所述目标资源存储在对应的存储节点,并将所述目标资源对应的存储凭证标识与资源摘要信息发送至所述资源管理区块链进行记录;
所述资源管理区块链用于对存储所述目标资源的所述目标数据存储区块链分配激励资源 。
2.根据权利要求1所述的系统,其特征在于,所述资源管理区块链还用于:
响应于资源发行者对目标资源的第一存储操作,获取所述目标资源以及所述目标资源对应的存储条件,所述存储条件包括所述目标资源对应的存储类型、存储质量以及存储成本范围;
根据所述目标资源对应的存储条件与所述多个数据存储区块链各自对应的服务信息,确定所述目标资源对应的目标数据存储区块链。
3.根据权利要求2所述的系统,其特征在于,所述资源管理区块链还用于:
根据所述目标资源对应的存储条件与所述多个数据存储区块链各自对应的服务信息,在所述多个数据存储区块链中确定所述目标资源对应的至少一个候选数据存储区块链;
并响应于所述资源发行者的选择操作,在所述至少一个候选数据存储区块链中确定目标数据存储区块链。
4.根据权利要求1所述的系统,其特征在于,所述资源管理区块链还用于:
响应于资源发行者对目标资源的第二存储操作,获取所述目标资源以及初选数据存储区块链,并对所述初选数据存储区块链进行校验;
若所述初选数据存储区块链满足校验,将所述初选数据存储区块链作为所述目标资源对应的目标数据存储区块链。
5.根据权利要求4所述的系统,其特征在于,在对所述初选数据存储区块链进行校验时,所述资源管理区块链用于在可用存储区块链管理列表中查询是否存在所述初选数据存储区块链的标识;若所述可用存储区块链管理列表中存在所述初选数据存储区块链的标识,则所述初选数据存储区块链满足校验;
其中,所述可用存储区块链管理列表中包含所述资源管理区块链审核通过且允许授权的所有数据存储区块链的标识。
6.根据权利要求1所述的系统,其特征在于,所述多个数据存储区块链中每个数据存储区块链上部署有用于将存储凭证上链的凭证上链合约;
所述目标数据存储区块链用于在将所述目标资源存储在对应的存储节点后,调用所述凭证上链合约,将所述目标资源对应的存储凭证存储在所述目标数据存储区块链中。
7.根据权利要求1所述的系统,其特征在于,所述资源管理区块链用于通过预设的资源管理合约在所述目标数据存储区块链上获取所述目标资源的存储凭证标识,并在所述资源管理区块链上记录所述目标资源的存储凭证标识与资源摘要信息,所述资源管理合约用于对所述资源管理区块链对应的所有数据存储区块链上存储的资源进行资源检索以及资源存储记录。
8.根据权利要求7所述的系统,其特征在于,所述资源管理区块链还用于通过所述资源管理合约在所述资源管理区块链上获取并记录存储所述目标资源的所述目标数据存储区块链的存储链标识。
9.根据权利要求1所述的系统,其特征在于,所述资源管理区块链上部署有用于对数据存储区块链进行管理与注册的存储链管理合约;
所述资源管理区块链用于响应于任一数据存储区块链的注册请求,调用预设的存储链管理合约对该数据存储区块链进行注册。
10.根据权利要求9所述的系统,其特征在于,所述资源管理区块链用于在响应于任一数据存储区块链的注册请求后,调用所述存储链管理合约的存储服务类型列表接口向该数据存储区块链发送存储服务类型列表,所述存储服务类型列表中将所述资源管理区块链管理的多个数据存储区块链划分为多个存储服务类型;
当该数据存储区块链的存储服务类型存在于所述存储服务类型列表中时,所述存储链管理合约的注册接口用于获取该数据存储区块链发送的注册信息,对该数据存储区块链进行注册;
当该数据存储区块链的存储服务类型未存在于所述存储服务类型列表中时,所述存储链管理合约的注册接口用于获取该数据存储区块链发送的携带有新的存储服务类型的注册信息,对该数据存储区块链进行注册,并在所述存储服务类型列表中添加所述新的存储服务类型。
11.根据权利要求10所述的系统,其特征在于,所述资源管理区块链为公链,对任一数据存储区块链进行注册时,所述资源管理区块链用于根据该数据存储区块链的注册信息直接进行注册。
12.根据权利要求10所述的系统,其特征在于,所述资源管理区块链为联盟链,对任一数据存储区块链进行注册时,所述资源管理区块链用于对该数据存储区块链的资质与性能进行验证,验证通过时完成该数据存储区块链的注册,验证不通过时拒绝该数据存储区块链的注册。
13.根据权利要求9所述的系统,其特征在于,所述资源管理区块链还用于为完成注册的任一数据存储区块链创建一个初始化的账户。
14.根据权利要求13所述的系统,其特征在于,所述资源管理区块链上部署有用于对任一数据存储区块链分配激励资源或扣除激励资源的存储激励与惩罚合约;
在目标存储区块链存储所述目标资源后,所述资源管理区块链用于调用所述存储激励与惩罚合约,在所述目标数据存储区块链对应的账户中分配激励资源。
15.根据权利要求1所述的系统,其特征在于,
所述资源管理区块链还用于响应于对目标资源的读取操作,获取目标资源的存储凭证标识;根据所述目标资源对应的存储凭证标识,确定存储所述目标资源的目标数据存储区块链,并向所述目标数据存储区块链发送读取请求;
所述目标数据存储区块链用于响应于所述读取请求,将存储的所述目标资源的资源数据发送至所述资源管理区块链。
16.根据权利要求15所述的系统,其特征在于,所述资源管理区块链还用于在所述目标数据存储区块链中读取所述目标资源的资源数据失败时,调用预设的存储激励与惩罚合约扣除所述目标数据存储区块链的激励资源。
17.根据权利要求16所述的系统,其特征在于,所述资源管理区块链用于调用所述存储激励与惩罚合约获取所述目标数据存储区块链最新的扣除时间,并确定当前时间与所述目标数据存储区块链最新的扣除时间之间的时间间隔是否大于预设的扣除时间间隔;
当所述当前时间与所述目标数据存储区块链最新的扣除时间之间的时间间隔大于预设的扣除时间间隔时,对所述目标数据存储区块链扣除激励资源,并将当前时间作为所述目标数据存储区块链最新的扣除时间。
18.根据权利要求1-17任一所述的系统,其特征在于,所述多个数据存储区块链中每个数据存储区块链与所述资源管理区块链之间设置有一个跨链模块;
所述跨链模块用于将对应的数据存储区块链注册到所述资源管理区块链上,协助所述资源管理区块链将资源数据存储在该数据存储区块链上,以及为所述资源管理区块链提供从该数据存储区块链上读取指定资源数据的服务。
19.根据权利要求1-17任一所述的系统,其特征在于,所述资源管理区块链包括资源管理区块链节点网络、第一标识服务模块、第一凭证服务模块以及资源发行与交易模块;
所述资源管理区块链节点网络,用于为所述资源管理区块链提供分布式存储及计算能力;
所述第一标识服务模块,用于提供任一实体的身份标识注册、身份验证、身份查询以及身份更新的业务;
所述第一凭证服务模块,用于提供交易凭证模板服务和凭证服务,所述交易凭证模板服务包括交易模板的注册、更新以及查询业务,所述凭证服务包括凭证签发与验证以及可验证表达的签发与验证;
所述资源发行与交易模块,用于为资源发行者提供资源发行服务,并为资源发行者与资源购买方之间提供资源交易服务。
20.根据权利要求1-17任一所述的系统,其特征在于,所述多个数据存储区块链中每个数据存储区块链还包括数据存储区块链节点网络、第二标识服务模块、第二凭证服务模块以及数据存储模块;
所述数据存储区块链节点网络,用于为所述数据存储区块链提供分布式存储及计算能力;
所述第二标识服务模块,用于生成存储凭证或数据存储区块链对应的标识;
所述第二凭证服务模块,用于提供存储凭证模板以及存储凭证的签发与验证;
所述数据存储模块,用于实现该数据存储区块链的存储服务。
21.一种资源存储方法,其特征在于,应用于权利要求1-20任一所述的资源存储系统中的资源管理区块链,所述方法包括:
响应于资源发行者对目标资源的存储操作,获取所述目标资源;
根据所述多个数据存储区块链各自对应的服务信息,确定所述目标资源对应的目标数据存储区块链,所述服务信息包括服务类型、服务质量以及服务代价;
将所述目标资源发送至所述目标数据存储区块链对应的存储节点进行存储,获取并记录所述目标数据存储区块链针对所述目标资源的存储凭证标识与资源摘要信息;
对存储所述目标资源的所述目标数据存储区块链分配激励资源。
22.一种计算机设备,其特征在于,包括:至少一个处理器,以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时执行如权利要求21所述的资源存储方法。
23.一种非易失性可读存储介质,其特征在于,所述非易失性可读存储介质存储有计算机程序,其中,所述计算机程序被处理器执行时执行如权利要求21所述的资源存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311754176.1A CN117440004B (zh) | 2023-12-19 | 2023-12-19 | 一种资源存储系统、方法、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311754176.1A CN117440004B (zh) | 2023-12-19 | 2023-12-19 | 一种资源存储系统、方法、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117440004A true CN117440004A (zh) | 2024-01-23 |
CN117440004B CN117440004B (zh) | 2024-03-15 |
Family
ID=89551946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311754176.1A Active CN117440004B (zh) | 2023-12-19 | 2023-12-19 | 一种资源存储系统、方法、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117440004B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108596649A (zh) * | 2018-03-22 | 2018-09-28 | 深圳市网心科技有限公司 | 账本奖励结算方法、服务器及计算机可读存储介质 |
CN109359159A (zh) * | 2018-09-30 | 2019-02-19 | 深圳前海微众银行股份有限公司 | 分布式存储方法、系统及设备 |
CN110839071A (zh) * | 2019-11-05 | 2020-02-25 | 腾讯科技(深圳)有限公司 | 一种基于区块链的信息存储方法、设备及存储介质 |
US20200177519A1 (en) * | 2019-07-15 | 2020-06-04 | Alibaba Group Holding Limited | Allocating virtual resource based on block chain |
US20200294140A1 (en) * | 2018-06-08 | 2020-09-17 | Alibaba Group Holding Limited | Blockchain-based financing |
CN111738844A (zh) * | 2020-07-17 | 2020-10-02 | 浙江网商银行股份有限公司 | 基于区块链的资源分配系统、方法以及装置 |
CN114036234A (zh) * | 2021-11-15 | 2022-02-11 | 东软集团股份有限公司 | 区块链数据存储系统及方法 |
CN116451280A (zh) * | 2023-03-15 | 2023-07-18 | 蚂蚁区块链科技(上海)有限公司 | 基于区块链的资产管理方法和装置 |
CN116894732A (zh) * | 2023-08-04 | 2023-10-17 | 咪咕文化科技有限公司 | 数字资产管理方法、装置、系统及可读存储介质 |
CN116961876A (zh) * | 2023-07-24 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 用于区块链的虚拟资源管理方法、装置、设备及存储介质 |
-
2023
- 2023-12-19 CN CN202311754176.1A patent/CN117440004B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108596649A (zh) * | 2018-03-22 | 2018-09-28 | 深圳市网心科技有限公司 | 账本奖励结算方法、服务器及计算机可读存储介质 |
US20200294140A1 (en) * | 2018-06-08 | 2020-09-17 | Alibaba Group Holding Limited | Blockchain-based financing |
CN109359159A (zh) * | 2018-09-30 | 2019-02-19 | 深圳前海微众银行股份有限公司 | 分布式存储方法、系统及设备 |
US20200177519A1 (en) * | 2019-07-15 | 2020-06-04 | Alibaba Group Holding Limited | Allocating virtual resource based on block chain |
CN110839071A (zh) * | 2019-11-05 | 2020-02-25 | 腾讯科技(深圳)有限公司 | 一种基于区块链的信息存储方法、设备及存储介质 |
CN111738844A (zh) * | 2020-07-17 | 2020-10-02 | 浙江网商银行股份有限公司 | 基于区块链的资源分配系统、方法以及装置 |
CN114036234A (zh) * | 2021-11-15 | 2022-02-11 | 东软集团股份有限公司 | 区块链数据存储系统及方法 |
CN116451280A (zh) * | 2023-03-15 | 2023-07-18 | 蚂蚁区块链科技(上海)有限公司 | 基于区块链的资产管理方法和装置 |
CN116961876A (zh) * | 2023-07-24 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 用于区块链的虚拟资源管理方法、装置、设备及存储介质 |
CN116894732A (zh) * | 2023-08-04 | 2023-10-17 | 咪咕文化科技有限公司 | 数字资产管理方法、装置、系统及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117440004B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7720767B2 (en) | Method and system to support dynamic rights and resources sharing | |
CN105164633B (zh) | 由可信提供商进行的配置和验证 | |
CN111294379B (zh) | 区块链网络服务平台及其权限托管方法、存储介质 | |
JPWO2018158936A1 (ja) | ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム | |
US11431503B2 (en) | Self-sovereign data access via bot-chain | |
JP2023532959A (ja) | 許可制ブロックチェーンのためのプライバシー保護アーキテクチャ | |
US11968301B2 (en) | Decentralized asset identifiers for cross-blockchain networks | |
MX2012009022A (es) | Estructura de concesion de licencias de funciones genericas. | |
CN109104419B (zh) | 一种区块链账号的生成方法及系统 | |
JP7561920B2 (ja) | 管理方法、管理装置、及び、プログラム | |
CN110138767B (zh) | 事务请求的处理方法、装置、设备和存储介质 | |
KR20200112236A (ko) | 분산 식별자 관리 방법 및 장치 | |
US20200311051A1 (en) | Data linkage management method, data linkage management system, and node | |
CN110225039A (zh) | 权限模型获取、鉴权方法、网关、服务器以及存储介质 | |
CN117440004B (zh) | 一种资源存储系统、方法、设备以及存储介质 | |
CN112181599A (zh) | 模型训练方法、装置及存储介质 | |
CN110851813A (zh) | 身份验证方法、区块链系统的节点装置和区块链系统 | |
KR20200065507A (ko) | 블록체인의 개인키 권한 조절 시스템 및 그 방법 | |
JP7421443B2 (ja) | データ移行方法、データ移行システム、およびノード | |
US20230370266A1 (en) | Token management method, end-user management apparatus, and token processing apparatus | |
GB2604000A (en) | Blockchain selective world state database | |
CN113761496A (zh) | 一种基于区块链的身份校验方法及装置和电子设备 | |
KR20210027011A (ko) | 피어 노드, 피어 노드에서 수행되는 처리 방법 및 블록체인 플랫폼 시스템 | |
CN117061089B (zh) | 一种投票管理方法、装置、设备及存储介质 | |
US12052369B2 (en) | Method for securing private structured databases within a public blockchain |
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 |