WO2022095574A1 - 一种基于区块链的资源共享的方法及装置 - Google Patents
一种基于区块链的资源共享的方法及装置 Download PDFInfo
- Publication number
- WO2022095574A1 WO2022095574A1 PCT/CN2021/116178 CN2021116178W WO2022095574A1 WO 2022095574 A1 WO2022095574 A1 WO 2022095574A1 CN 2021116178 W CN2021116178 W CN 2021116178W WO 2022095574 A1 WO2022095574 A1 WO 2022095574A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- resource
- file
- queried
- resource file
- block
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 56
- 238000012795 verification Methods 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000000638 solvent extraction Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 13
- 238000012546 transfer Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 239000004744 fabric Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- 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/176—Support for shared access to files; File sharing support
-
- 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/137—Hash-based
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于区块链的资源共享的方法及装置,该方法包括获取待存储的资源文件,将资源文件进行分块处理,得到多个资源分块,根据资源文件和多个资源分块,生成资源文件的路由表,将多个资源分块和路由表存储至区块链。通过把资源文件进行分块处理,得到多个资源分块后,再将多个资源分块进行上链处理,可以实现资源文件在区块链上存储,能够保证资源文件共享时的安全性,同时防止资源文件被篡改。
Description
相关申请的交叉引用
本申请要求在2020年11月06日提交中国专利局、申请号为202011228411.8、申请名称为“一种基于区块链的资源共享的方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本发明涉及区块链技术领域,尤其涉及一种基于区块链(Block Chain)的资源共享的方法及装置。
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。在金融领域的区块链技术中,大文件存储是一个重要的研究问题。
现有区块链系统限于处理能力的影响,在解决大文件存储问题,一直采用的是使用链外系统的方式,区块链上仅存储文件摘要信息,以此来进行存证。但是这种文件存储与区块链系统分离的方式无法实现文件本身在区块链系统上的共识,进而无法保证文件的安全性和不可篡改的问题。
发明内容
本发明实施例提供一种基于区块链的资源共享的方法及装置,用以提高资源共享的安全性。
第一方面,本发明实施例提供一种基于区块链的资源共享的方法,包括:
获取待存储的资源文件;
将所述资源文件进行分块处理,得到多个资源分块;根据所述资源文件 和所述多个资源分块,生成所述资源文件的路由表;
将所述多个资源分块和所述路由表存储至区块链。
上述技术方案中,通过把资源文件进行分块处理,得到多个资源分块后,再将多个资源分块进行上链处理,可以实现资源文件在区块链上存储,能够保证资源文件共享时的安全性,同时防止资源文件被篡改。
可选的,所述将所述资源文件进行分块处理,得到多个资源分块,包括:
采用字节流处理的方式将所述资源文件进行分块处理,得到所述多个资源分块。
可选的,所述根据所述资源文件和所述多个资源分块,生成所述资源文件的路由表,包括:
对各资源分块进行哈希处理,得到各资源分块的哈希值;
根据所述各资源分块的哈希值,生成默克尔树;
对所述资源文件及各资源分块进行统计,得到所述资源文件的文件信息;
根据所述各资源分块的哈希值、所述默克尔树的根植和所述资源文件的文件信息,生成所述资源文件的路由表。
可选的,所述资源文件的文件信息至少包括标识信息、资源分块的数量和资源分块的序号。
可选的,所述将所述多个资源分块和所述路由表存储至区块链,包括:
根据各资源分块的哈希值确定所述区块链上是否存在哈希值相同的资源分块,若是,则确定出所述多个资源分块中与所述区块链上哈希值不同的资源分块;
将所述与所述区块链上哈希值不同的资源分块和所述路由表存储至所述区块链。
第二方面,本发明实施例提供一种基于区块链的资源共享的方法,所述方法包括:
获取待查询的资源文件的标识信息;
根据所述待查询的资源文件的标识信息从所述区块链上获取所述待查询 的资源文件的路由表;
根据所述待查询的资源文件的路由表从所述区块链上获取所述待查询的资源文件的各资源分块;
对所述待查询的资源文件的各资源分块进行校验,并在确定校验通过后根据所述待查询的资源文件的路由表中各资源分块的序号将所述待查询的资源文件的各资源分块进行整合,得到所述待查询的资源文件。
可选的,所述待查询的资源文件的路由表包括所述待查询的资源文件的各资源分块的哈希值;
所述根据所述待查询的资源文件的路由表从所述区块链上获取所述待查询的资源文件的各资源分块,包括:
以所述待查询的资源文件的各资源分块的哈希值为键,从所述区块链上获取所述待查询的资源文件的各资源分块。
可选的,所述待查询的资源文件的路由表是所述待查询的资源文件的提供方根据所述待查询的资源文件的各资源分块的哈希值和所述待查询的资源文件的文件信息确定的。
可选的,所述对所述待查询的资源文件的各资源分块进行校验,包括:
对所述待查询的资源文件的各资源分块进行哈希计算,得到所述待查询的资源文件的各资源分块的哈希值;
根据所述待查询的资源文件的各资源分块的哈希值,得到默克尔树的根哈希值;
确定所述默克尔树的根哈希值是否与所述待查询的资源文件的路由表中的相同,若是,则确定校验通过,否则确定校验不通过。
第三方面,本发明实施例提供一种基于区块链的资源共享的装置,包括:
获取单元,用于获取待存储的资源文件;
处理单元,用于将所述资源文件进行分块处理,得到多个资源分块;根据所述资源文件和所述多个资源分块,生成所述资源文件的路由表;将所述多个资源分块和所述路由表存储至区块链。
可选的,所述处理单元具体用于:
采用字节流处理的方式将所述资源文件进行分块处理,得到所述多个资源分块。
可选的,所述处理单元具体用于:
对各资源分块进行哈希处理,得到各资源分块的哈希值;
根据所述各资源分块的哈希值,生成默克尔树;
对所述资源文件及各资源分块进行统计,得到所述资源文件的文件信息;
根据所述各资源分块的哈希值、所述默克尔树的根植和所述资源文件的文件信息,生成所述资源文件的路由表。
可选的,所述资源文件的文件信息至少包括标识信息、资源分块的数量和资源分块的序号。
可选的,所述处理单元具体用于:
根据各资源分块的哈希值确定所述区块链上是否存在哈希值相同的资源分块,若是,则确定出所述多个资源分块中与所述区块链上哈希值不同的资源分块;
将所述与所述区块链上哈希值不同的资源分块和所述路由表存储至所述区块链。
第四方面,本发明实施例提供一种基于区块链的资源共享的装置,包括:
获取单元,用于获取待查询的资源文件的标识信息;
处理单元,用于根据所述待查询的资源文件的标识信息从所述区块链上获取所述待查询的资源文件的路由表;根据所述待查询的资源文件的路由表从区块链上获取所述待查询的资源文件的各资源分块;对所述待查询的资源文件的各资源分块进行校验,并在确定校验通过后根据所述待查询的资源文件的路由表中各资源分块的序号将所述待查询的资源文件的各资源分块进行整合,得到所述待查询的资源文件。
可选的,所述待查询的资源文件的路由表包括所述待查询的资源文件的各资源分块的哈希值;
所述处理单元具体用于:
以所述待查询的资源文件的各资源分块的哈希值为键,从所述区块链上获取所述待查询的资源文件的各资源分块。
可选的,所述待查询的资源文件的路由表是所述待查询的资源文件的提供方根据所述待查询的资源文件的各资源分块的哈希值和所述待查询的资源文件的文件信息确定的。
可选的,所述处理单元具体用于:
对所述待查询的资源文件的各资源分块进行哈希计算,得到所述待查询的资源文件的各资源分块的哈希值;
根据所述待查询的资源文件的各资源分块的哈希值,得到默克尔树的根哈希值;
确定所述默克尔树的根哈希值是否与所述待查询的资源文件的路由表中的相同,若是,则确定校验通过,否则确定校验不通过。
第五方面,本发明实施例还提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述基于区块链的资源共享的方法。
第六方面,本发明实施例还提供一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述基于区块链的资源共享的方法。
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构的示意图;
图2为本发明实施例提供的一种基于区块链的资源共享的方法的流程示意图;
图3为本发明实施例提供的一种资源文件分块处理的示意图;
图4为本发明实施例提供的一种资源分块传输的示意图;
图5为本发明实施例提供的一种基于区块链的资源共享的方法的流程示意图;
图6为本发明实施例提供的一种合同流转签署的流程示意图;
图7为本发明实施例提供的一种资源共享的系统结构示意图;
图8为本发明实施例提供的一种视频剪辑文件存储的示意图;
图9为本发明实施例提供的一种基于区块链的资源共享的装置的结构示意图;
图10为本发明实施例提供的一种基于区块链的资源共享的装置的结构示意图。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种系统架构。如图1所示,该系统架构可以包括区块链100和多个资源共享的参与方200(1~n);
其中,参与方200可以为参与资源共享的不同的机构,该多个参与方200位于同一区块链中,其中在共享某个资源文件时,由其中一个参与方200制作资源文件并上传区块链,再由其它资源共享的参与方200从区块链上查询该资源文件。
该区块链100由多个区块组成,用于存储共享的资源文件。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2详细的示出了本发明实施例提供的一种基于区块链的资源共享的方法的流程,该流程可以由基于区块链的资源共享的装置执行。
如图2所示,该流程具体包括:
步骤201,获取待存储的资源文件。
在本发明实施例中,该资源文件可以为需要进行资源共享的文件,也可以为普通文件。
步骤202,将所述资源文件进行分块处理,得到多个资源分块;根据所述资源文件和所述多个资源分块,生成所述资源文件的路由表。
其中,可以采用字节流处理的方式按照预设分块大小将资源文件进行分块处理,得到多个资源分块。然后对各资源分块进行哈希处理,得到各资源分块的哈希值,根据各资源分块的哈希值,生成默克尔树,对资源文件及各资源分块进行统计,得到资源文件的文件信息。最后根据各资源分块的哈希值、默克尔树的根植和资源文件的文件信息,生成资源文件的路由表。该预设分块大小可以依据经验设置。其中,资源文件的文件信息至少包括标识信息、资源分块的数量和资源分块的序号等,此外还可以包括资源大小、资源分块的大小和资源分块的起止字节(在原文件中的起始字节及终止字节)等信息。该标识信息可以为资源文件的文件名称、身份标识号等信息。该默克尔树的根植即为该默克尔树的根哈希值。
具体的,如图3所示,将资源文件资源在区块链上以分块的形式进行存储,以此来弥补区块链系统处理能力的不足,为了保证资源的可用性,需要创建一张资源的路由表,以此路由表来检索个分块的具体信息,并获取文件。资源路表包含两部分,分别为路由表头包含:资源名称,merkle(默克尔)树的根哈希,资源大小及资源总的分块数量;路由表体包含:各分块的具体信息即对分块资源进行哈希运算获得的分块哈希,分块在文件中的序号(根据此字段保证各分块能够拼成完整的文件),资源分块的大小,该资源分块在原 文件中的起始字节及终止字节数。具体的过程如下:
1、资源文件可采取字节流处理的方式对文件进行分块处理,具体实施方案,将资源文件转换为字节输入流,按照预设的分块大小,如300kb等对资源文件输入流进行分割,可以发现,资源分块前面序列的分块大小都为300kb,只有最后一个分块可能小于300kb,以这种方式完成对文件的分块操作。
2、各资源分块进行哈希处理,得到各分块资源的哈希值,即为路由表中的分块哈希字段。该字段同样为后续分块文件在链上存储的键值。
3、为了保证分块文件的不可篡改性,通过各资源分块构建merkle树,并将merkle根值填入到路由表的merkle root字段,此字段可以作为资源校验的依据,如分块文件被篡改,则可通过该值进行核验。
4、对资源文件及各分块文件进行处理,获取资源大小,分块数量,分块序号、分块大小及分块起始终止字节,即可得到完整的资源路由表。
需要说明的是,本发明实施例中所提获取路由表的方式可以为在链下处理,即参与方的客户端进行处理。也可以利用智能合约在链上处理,须知利用智能合约在链上处理资源分块获取相应的路由表亦属于本发明实施例的保护范围。
步骤203,将所述多个资源分块和所述路由表存储至区块链。
当得到各资源分块和路由表之后,就可以进行上链操作,即将各资源分块和路由表存储至区块链。该步骤可以通过区块链SDK同区块链系统的智能合约进行交互,完成文件各资源分块及资源路由表信息的上链处理。例如可以通过文件传输模块来实现,其中,如图4所示,文件传输模块可以具有以下功能:
1、由于资源分块一般为byte(字节)数组的形式在系统中存在,但是由于应用系统同区块链底层智能合约语言存在不同,如应用系统为java(计算机编程语言)语言,Fabric(开源的分布式账本技术平台)系统智能合约语言为Go(Golang,编程语言),这两种语言对字节的取值范围不同java为[-128,127],Go为[0,127],因此直接以文件字节数组交互,在执行上链操作时 会出现字节取值不一致的问题,因此需要在文件传输模块设立编解码功能块,对资源分块进行Base64编解码操作,分别进行文件的上链及查询操作。
2、文件传输模块具备上链失败重试操作,由于网络问题等原因,上链过程存在失败的情况,因此为了保证资源分块的成功上链,需要进行资源上链失败重试的操作。
3、文件传输模块可以包括异步上链模块,由于资源文件较大,因此执行上链操作会有延时的情况,需要在传输模块设立异步上链机制,待异步操作执行完毕后,将上链结果传递给参与方的客户端。
4、当文件较大时,可能文件的分块数量会较多,因此在进行文件查询操作的时候,需要进行多线程操作,保证文件的快速查询,因此文件传输模块需要具备多线程查询文件功能。
待资源分块存储完成后,则可进行路由表的存储操作,待路由表存储完成,则资源文件的存储过程完成。
当某个制作资源文件的参与方将资源文件上传至区块链之后,其它资源共享方就可以从区块链上查询该资源文件。具体可以如图5所示的流程,包括:
步骤501,获取待查询的资源文件的标识信息。
当某资源共享分需要查询区块链上共享的资源文件时,可以发送待查询的资源文件的标识信息,该标识信息可以为资源文件的文件名称、身份标识号等信息。
步骤502,根据所述待查询的资源文件的标识信息从区块链上获取所述待查询的资源文件的路由表。
通过标识信息就可以从区块链上查询到该待查询的资源文件的路由表,这是由其它资源提供方存储到区块链上的。
步骤503,根据所述待查询的资源文件的路由表从所述区块链上获取所述待查询的资源文件的各资源分块。
待查询的资源文件的路由表包含了待查询的资源文件的各资源分块的哈 希值,具体的,可以待查询的资源文件的各资源分块的哈希值为键,从区块链上获取待查询的资源文件的各资源分块。
其中,依据上述实施例可知,该待查询的资源文件的路由表是待查询的资源文件的提供方根据待查询的资源文件的各资源分块的哈希值和待查询的资源文件的文件信息确定的。具体的确定方式已在上述实施例详述,不再赘述。
步骤504,对所述待查询的资源文件的各资源分块进行校验,并在确定校验通过后根据所述待查询的资源文件的路由表中各资源分块的序号将所述待查询的资源文件的各资源分块进行整合,得到所述待查询的资源文件。
当得到待查询的资源文件的各资源分块时,就可以按照各资源分块的序号进行整合,此前需要先对各资源分块进行校验,只有校验通过后才能表明资源文件没有被篡改。
其中,在对资源分块进行校验时,可以先对待查询的资源文件的各资源分块进行哈希计算,得到待查询的资源文件的各资源分块的哈希值,然后根据待查询的资源文件的各资源分块的哈希值,得到默克尔树的根哈希值。最后确定默克尔树的根哈希值是否与待查询的资源文件的路由表中的相同,若是,则确定校验通过,否则确定校验不通过。
例如,根据资源名称,从链上获取资源的路由表信息,路由表信息包含各资源分块的哈希值,及序号,以该哈希值作为键的信息,从链上获取各资源分块。
对获取到的资源分块进行哈希校验,查验获取到的资源分块哈希后是否同路由表中资源分块的键值相同,将资源分块进行merkle根哈希计算,查验所获得的值是否同路由表中的merkle根相等,如果校验通过,则证明资源文件未被篡改。
最后根据路由表中的资源分块序号,将各资源分块按顺序进行整合,方式同分块过程相反,将各资源分块按顺序转换为流信息后进行文件拼接,整合完毕后,则将资源文件进行输出,即可获得原资源文件。
此外,随着区块链处理性能的提升,上述文件分块处理或拼接的过程可以在区块链上的智能合约里进行。
需要说明的是,为了避免相同的资源分块重复上传区块链,使得区块链的处理能力降低,在将多个资源分块和路由表进行区块链的上链操作时,可以先根据各资源分块的哈希值确定区块链上是否存在哈希值相同的资源分块,若是,则确定出多个资源分块中与区块链上哈希值不同的资源分块。最后再将与区块链上哈希值不同的资源分块和路由表进行区块链的上链操作。这种方式可以提高区块链的处理能力,增加处理效率。
为了更好的解释本发明实施例,下面将在具体的实施场景下来描述上述基于区块链的资源共享的过程。
实施例一:多方合同签署方案。
涉及到多方合作的业务场景中,一般需要各方共同进行合同签署,现有的方式一般采取一方起草合同,其余各参与方审核合同,确立终稿,待无异议后,则分别由各方进行签署,一般采取邮寄的方式,一方签后,邮寄给另一方,直至所有方都签署完毕。如果牵涉到的公司比较多,且相距较远的话,整个持续过程会比较长,效率也会非常低。
本实施例采用Fabric为区块链底层,实现基于区块链的多方合同签署区块链平台,使用本专利所提方案,多方合同签署从定稿开始,就将合同定稿文件分块上传到区块链系统,参与方从区块链系统上下载定稿文件,并将文件签署后,上传至区块链平台,如果各方有签约先后顺序的话,可在区块链系统上依次签署。
基于上述资源文件共享的流程,该多方合同签署的流程步骤如下:
1、由参与方将合同定稿电子版进行分块,并构建合同定稿文件的路由表。
2、通过文件传输模块及区块链SDK,将各合同定稿分块文件上传至区块链系统,以文件分块的哈希值为键,文件分块本身为值进行存储,待文件分块信息上传完毕后,将合同定稿路由表上链存储。
3、A公司通过查询校验模块获取合同定稿文件后,进行签署,完毕后A 公司签署后的合同电子版上传至区块链系统,由图6可知,A公司签署后的合同文件同定稿文件相比可能只有最后一个分块不同,因此A公司在上传文件的时候,只需上传同定稿文件不同的最后一个分块就行,其余的可以复用合同定稿文件。
3、B公司在A公司上传完毕后,可通过A公司签署后的文件路由表,获取A公司签署后的合同,B公司拿到合同后,进行签署,签署完毕后,同样,如图6所示,只需上传与A公司签署后不同的最后一个分块即可,并将自己签署后的文件路由表上传至区块链。
本发明实施例提供多方签署合约的流程具有以下优势:
1、合同的各个版本在链上都能够追踪到,通过各合同版本的路由表,获取到不同的合同,签约流程都放在链上,确保整个过程可信,并且能够极大的缩短邮递合同产生的时间成本。
2、合同签署,一般只会更改文件的几个分块,因此签署后的文件在进行上链的时候,只需将改动的部分进行上链存储即可,其余未改动的部分可不再进行重复上链,能够在很大程度上减轻存储压力,由于资源路由表的存在,可以确保文件未被修改,并能够获取到文件各个状态的原文。
需要说明的是,本发明实施例只是为了辅助说明该本发明的核心内容,具体实际应用时,还需考虑隐私保护、加密等。
实施例二:分布式视频网站剪辑存储。
视频网站除了网站本身提供的电影、电视、公开课等资源外,还有一部分为用户根据网站电影电视等资源进行二次创作,也即是常说的影视剪辑。针对于这类场景,本发明实施例考虑实现一个分布式的视频网站平台,Fabric为底层区块链平台,其上部署资源存储、查询智能合约。
基于上述资源共享的流程,分布式视频网站剪辑存储案例的实现步骤如下:
1、通过如图7所示的资源共享的系统结构,通过资源分块模块将电影、电视等资源进行资源分块,构建各资源文件的路由表。
2、通过文件传输模块及区块链SDK,将各资源分块文件上传至区块链系统,以资源分块的哈希值为键,资源分块本身为值进行存储,待资源各分块信息上传完毕后,将资源路由表上链存储。
3、如图8所示,用户进行二次创作的剪辑视频,分别由视频剪辑文件的第一个分块,资源文件1的第2个分块以及资源文件2的最后一个分块组成,则对于用户来说,将剪辑文件上传平台的时候,实际上只需上传第一个文件分块及该剪辑文件的路由信息即可。
4、由于资源分块在链上存储的形式为分块哈希值为键,资源分块为值,因此只要分块哈希值一致,则资源文件信息必然一致。因此剪辑文件上传区块链的时候,由于其所包含的部分资源分块可能已在链上存储,因此不需重复存储。
5、用户在观看或者下载该剪辑文件的时候,如图8所示,只需通过该剪辑文件的路由表,获取分块文件,即可获取到该剪辑文件的各个组成部分。
这种方式能够大大的减少这类应用的存储,相同哈希值的资源分块只需存储一遍即可。也可发现使用本专利所设计方案,在进行文件下载,组成目标文件的各部分,可能会来自于不同的文件分块,最终也能成功的还原目标文件。
本发明实施例提出的一种基于区块链的资源共享存储方案。首先,在资源文件进行上链的时候,对资源文件进行处理,将大的资源进行分块处理,并生成资源文件的路由表,接着将资源文件块进行上链,以资源块的哈希摘要为键,资源块本身为值进行上链,等资源文件块上链完成后,再将资源路由表进行上链处理。各参与方即可根据文件资源路由表,查询到各个文件分块,并进行资源块整合,获得原有文件,检验文件是否被篡改,是否为源文件。由于资源进行分块处理,可将资源切割大小设置的较小,以满足现阶段区块链的处理能力;用户根据文件路由表获取到各个文件分块,还原资源文件,并对资源文件进行校验处理;由于资源文件块是以文件哈希值进行存储,因此,在上传其他资源的时候,如果存在哈希值相同的资源分块,则可不必 再进行重复上传,在资源改动较为频繁且每次修订都需上链场景下,则可大幅度减小区块链系统的存储压力。通过本方案可有效解决大资源文件上链的问题。
在本发明实施例中,获取待存储的资源文件,将资源文件进行分块处理,得到多个资源分块,根据资源文件和多个资源分块,生成资源文件的路由表,将多个资源分块和路由表进行区块链的上链操作,以使其它资源共享方从区块链上查询资源文件。通过把资源文件进行分块处理,得到多个资源分块后,再将多个资源分块进行上链处理,可以实现资源文件在区块链上存储,能够保证资源文件共享时的安全性,同时防止资源文件被篡改。
基于相同的技术构思,图9示例性的示出了本发明实施例提供的一种基于区块链的资源共享的装置的结构,该装置可以执行基于区块链的资源共享的流程。
如图9所示,该装置具体包括:
获取单元901,用于获取待存储的资源文件;
处理单元902,用于将所述资源文件进行分块处理,得到多个资源分块;根据所述资源文件和所述多个资源分块,生成所述资源文件的路由表;将所述多个资源分块和所述路由表存储至区块链。
可选的,所述处理单元902具体用于:
采用字节流处理的方式将所述资源文件进行分块处理,得到所述多个资源分块。
可选的,所述处理单元902具体用于:
对各资源分块进行哈希处理,得到各资源分块的哈希值;
根据所述各资源分块的哈希值,生成默克尔树;
对所述资源文件及各资源分块进行统计,得到所述资源文件的文件信息;
根据所述各资源分块的哈希值、所述默克尔树的根植和所述资源文件的文件信息,生成所述资源文件的路由表。
可选的,所述资源文件的文件信息至少包括标识信息、资源分块的数量 和资源分块的序号。
可选的,所述处理单元902具体用于:
根据各资源分块的哈希值确定所述区块链上是否存在哈希值相同的资源分块,若是,则确定出所述多个资源分块中与所述区块链上哈希值不同的资源分块;
将所述与所述区块链上哈希值不同的资源分块和所述路由表存储至所述区块链。
基于相同的技术构思,图10示例性的示出了本发明实施例提供的一种基于区块链的资源共享的装置的结构,该装置可以执行基于区块链的资源共享的流程。
如图10所示,该装置具体包括:
获取单元1001,用于获取待查询的资源文件的标识信息;
处理单元1002,用于根据所述待查询的资源文件的标识信息从所述区块链上获取所述待查询的资源文件的路由表;根据所述待查询的资源文件的路由表从区块链上获取所述待查询的资源文件的各资源分块;对所述待查询的资源文件的各资源分块进行校验,并在确定校验通过后根据所述待查询的资源文件的路由表中各资源分块的序号将所述待查询的资源文件的各资源分块进行整合,得到所述待查询的资源文件。
可选的,所述待查询的资源文件的路由表包括所述待查询的资源文件的各资源分块的哈希值;
所述处理单元1002具体用于:
以所述待查询的资源文件的各资源分块的哈希值为键,从所述区块链上获取所述待查询的资源文件的各资源分块。
可选的,所述待查询的资源文件的路由表是所述待查询的资源文件的提供方根据所述待查询的资源文件的各资源分块的哈希值和所述待查询的资源文件的文件信息确定的。
可选的,所述处理单元1002具体用于:
对所述待查询的资源文件的各资源分块进行哈希计算,得到所述待查询的资源文件的各资源分块的哈希值;
根据所述待查询的资源文件的各资源分块的哈希值,得到默克尔树的根哈希值;
确定所述默克尔树的根哈希值是否与所述待查询的资源文件的路由表中的相同,若是,则确定校验通过,否则确定校验不通过。
基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用存储器中存储的程序指令,按照获得的程序执行上述基于区块链的资源共享的方法。
基于相同的技术构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行计算机可读指令时,使得计算机执行上述基于区块链的资源共享的方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的 处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (20)
- 一种基于区块链的资源共享的方法,其特征在于,包括:获取待存储的资源文件;将所述资源文件进行分块处理,得到多个资源分块;根据所述资源文件和所述多个资源分块,生成所述资源文件的路由表;将所述多个资源分块和所述路由表存储至区块链。
- 如权利要求1所述的方法,其特征在于,所述将所述资源文件进行分块处理,得到多个资源分块,包括:采用字节流处理的方式将所述资源文件进行分块处理,得到所述多个资源分块。
- 如权利要求1所述的方法,其特征在于,所述根据所述资源文件和所述多个资源分块,生成所述资源文件的路由表,包括:对各资源分块进行哈希处理,得到各资源分块的哈希值;根据所述各资源分块的哈希值,生成默克尔树;对所述资源文件及各资源分块进行统计,得到所述资源文件的文件信息;根据所述各资源分块的哈希值、所述默克尔树的根植和所述资源文件的文件信息,生成所述资源文件的路由表。
- 如权利要求3所述的方法,其特征在于,所述资源文件的文件信息至少包括标识信息、资源分块的数量和资源分块的序号。
- 如权利要求1至4任一项所述的方法,其特征在于,所述将所述多个资源分块和所述路由表存储至区块链,包括:根据各资源分块的哈希值确定所述区块链上是否存在哈希值相同的资源分块,若是,则确定出所述多个资源分块中与所述区块链上哈希值不同的资源分块;将所述与所述区块链上哈希值不同的资源分块和所述路由表存储至所述区块链。
- 一种基于区块链的资源共享的方法,其特征在于,所述方法包括:获取待查询的资源文件的标识信息;根据所述待查询的资源文件的标识信息从区块链上获取所述待查询的资源文件的路由表;根据所述待查询的资源文件的路由表从所述区块链上获取所述待查询的资源文件的各资源分块;对所述待查询的资源文件的各资源分块进行校验,并在确定校验通过后根据所述待查询的资源文件的路由表中各资源分块的序号将所述待查询的资源文件的各资源分块进行整合,得到所述待查询的资源文件。
- 如权利要求6所述的方法,其特征在于,所述待查询的资源文件的路由表包括所述待查询的资源文件的各资源分块的哈希值;所述根据所述待查询的资源文件的路由表从所述区块链上获取所述待查询的资源文件的各资源分块,包括:以所述待查询的资源文件的各资源分块的哈希值为键,从所述区块链上获取所述待查询的资源文件的各资源分块。
- 如权利要求6所述的方法,其特征在于,所述待查询的资源文件的路由表是所述待查询的资源文件的提供方根据所述待查询的资源文件的各资源分块的哈希值和所述待查询的资源文件的文件信息确定的。
- 如权利要求6至8任一项所述的方法,其特征在于,所述对所述待查询的资源文件的各资源分块进行校验,包括:对所述待查询的资源文件的各资源分块进行哈希计算,得到所述待查询的资源文件的各资源分块的哈希值;根据所述待查询的资源文件的各资源分块的哈希值,得到默克尔树的根哈希值;确定所述默克尔树的根哈希值是否与所述待查询的资源文件的路由表中的相同,若是,则确定校验通过,否则确定校验不通过。
- 一种基于区块链的资源共享存储的装置,其特征在于,包括:获取单元,用于获取待存储的资源文件;处理单元,用于将所述资源文件进行分块处理,得到多个资源分块;根据所述资源文件和所述多个资源分块,生成所述资源文件的路由表;将所述多个资源分块和所述路由表存储至区块链。
- 如权利要求10所述的装置,其特征在于,所述处理单元具体用于:采用字节流处理的方式将所述资源文件进行分块处理,得到所述多个资源分块。
- 如权利要求10所述的装置,其特征在于,所述处理单元具体用于:对各资源分块进行哈希处理,得到各资源分块的哈希值;根据所述各资源分块的哈希值,生成默克尔树;对所述资源文件及各资源分块进行统计,得到所述资源文件的文件信息;根据所述各资源分块的哈希值、所述默克尔树的根植和所述资源文件的文件信息,生成所述资源文件的路由表。
- 如权利要求12所述的装置,其特征在于,所述资源文件的文件信息至少包括标识信息、资源分块的数量和资源分块的序号。
- 如权利要求10至13任一项所述的装置,其特征在于,所述处理单元具体用于:根据各资源分块的哈希值确定所述区块链上是否存在哈希值相同的资源分块,若是,则确定出所述多个资源分块中与所述区块链上哈希值不同的资源分块;将所述与所述区块链上哈希值不同的资源分块和所述路由表存储至区块链。
- 一种基于区块链的资源共享的装置,其特征在于,包括:获取单元,用于获取待查询的资源文件的标识信息;处理单元,用于根据所述待查询的资源文件的标识信息从所述区块链上获取所述待查询的资源文件的路由表;根据所述待查询的资源文件的路由表从区块链上获取所述待查询的资源文件的各资源分块;对所述待查询的资源 文件的各资源分块进行校验,并在确定校验通过后根据所述待查询的资源文件的路由表中各资源分块的序号将所述待查询的资源文件的各资源分块进行整合,得到所述待查询的资源文件。
- 如权利要求15所述的装置,其特征在于,所述待查询的资源文件的路由表包括所述待查询的资源文件的各资源分块的哈希值;所述处理单元具体用于:以所述待查询的资源文件的各资源分块的哈希值为键,从所述区块链上获取所述待查询的资源文件的各资源分块。
- 如权利要求15所述的装置,其特征在于,所述待查询的资源文件的路由表是所述待查询的资源文件的提供方根据所述待查询的资源文件的各资源分块的哈希值和所述待查询的资源文件的文件信息确定的。
- 如权利要求15至17任一项所述的装置,其特征在于,所述处理单元具体用于:对所述待查询的资源文件的各资源分块进行哈希计算,得到所述待查询的资源文件的各资源分块的哈希值;根据所述待查询的资源文件的各资源分块的哈希值,得到默克尔树的根哈希值;确定所述默克尔树的根哈希值是否与所述待查询的资源文件的路由表中的相同,若是,则确定校验通过,否则确定校验不通过。
- 一种计算设备,其特征在于,包括:存储器,用于存储程序指令;处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至9任一项所述的方法。
- 一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至9任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011228411.8 | 2020-11-06 | ||
CN202011228411.8A CN112328565A (zh) | 2020-11-06 | 2020-11-06 | 一种基于区块链的资源共享的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022095574A1 true WO2022095574A1 (zh) | 2022-05-12 |
Family
ID=74316934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/116178 WO2022095574A1 (zh) | 2020-11-06 | 2021-09-02 | 一种基于区块链的资源共享的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112328565A (zh) |
WO (1) | WO2022095574A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115914758A (zh) * | 2022-11-18 | 2023-04-04 | 广东轻工职业技术学院 | 基于区块链云计算的影视特效处理技术体系 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328565A (zh) * | 2020-11-06 | 2021-02-05 | 中国银联股份有限公司 | 一种基于区块链的资源共享的方法及装置 |
CN114201116A (zh) * | 2021-12-17 | 2022-03-18 | 深圳前海微众银行股份有限公司 | 智能合约部署方法、装置、设备、介质及程序产品 |
CN114785517B (zh) * | 2022-04-06 | 2024-03-19 | 浙江数秦科技有限公司 | 基于区块链的关联业务数据共享方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108062202A (zh) * | 2017-12-15 | 2018-05-22 | 中链科技有限公司 | 一种文件分块存储方法及系统 |
US20190334726A1 (en) * | 2018-04-30 | 2019-10-31 | Dell Products L.P. | Blockchain-based method and system for immutable resource allocation in a cloud computing environment |
CN111698092A (zh) * | 2020-05-29 | 2020-09-22 | 湖南天河国云科技有限公司 | 基于零知识证明和区块链的文件存储证明方法、系统及介质 |
CN112328565A (zh) * | 2020-11-06 | 2021-02-05 | 中国银联股份有限公司 | 一种基于区块链的资源共享的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273410B (zh) * | 2017-05-03 | 2020-07-07 | 上海点融信息科技有限责任公司 | 基于区块链的分布式存储 |
KR102285798B1 (ko) * | 2018-12-19 | 2021-08-05 | 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. | 공유되는 비밀 기반 블록체인 스토리지 |
CN110062034B (zh) * | 2019-04-01 | 2021-11-12 | 中科天御(苏州)科技有限公司 | 一种区块链大文件安全存储方法及系统 |
-
2020
- 2020-11-06 CN CN202011228411.8A patent/CN112328565A/zh active Pending
-
2021
- 2021-09-02 WO PCT/CN2021/116178 patent/WO2022095574A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108062202A (zh) * | 2017-12-15 | 2018-05-22 | 中链科技有限公司 | 一种文件分块存储方法及系统 |
US20190334726A1 (en) * | 2018-04-30 | 2019-10-31 | Dell Products L.P. | Blockchain-based method and system for immutable resource allocation in a cloud computing environment |
CN111698092A (zh) * | 2020-05-29 | 2020-09-22 | 湖南天河国云科技有限公司 | 基于零知识证明和区块链的文件存储证明方法、系统及介质 |
CN112328565A (zh) * | 2020-11-06 | 2021-02-05 | 中国银联股份有限公司 | 一种基于区块链的资源共享的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115914758A (zh) * | 2022-11-18 | 2023-04-04 | 广东轻工职业技术学院 | 基于区块链云计算的影视特效处理技术体系 |
CN115914758B (zh) * | 2022-11-18 | 2024-01-26 | 广东轻工职业技术学院 | 基于区块链云计算的影视特效处理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112328565A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022095574A1 (zh) | 一种基于区块链的资源共享的方法及装置 | |
KR102322729B1 (ko) | 블록체인 월드 스테이트 머클 패트리샤 트라이 서브트리의 업데이트 | |
US11050549B2 (en) | Blockchain-based transaction method and apparatus, and remitter device | |
CN110869967B (zh) | 用于并行处理区块链交易的系统和方法 | |
KR102277289B1 (ko) | 블록체인 월드 스테이트 머클 패트리샤 트리 서브트리 구성 | |
US11032077B2 (en) | Blockchain-based transaction method and apparatus, and remitter device | |
US11501533B2 (en) | Media authentication using distributed ledger | |
Ehmke et al. | Proof-of-property: a lightweight and scalable blockchain protocol | |
US8856532B2 (en) | Digital signatures of composite resource documents | |
US11108555B2 (en) | Performing map iterations in a blockchain-based system | |
US20210067344A1 (en) | Cryptographically securing data files in a collaborative environment | |
US11251969B2 (en) | Performing map iterations in a blockchain-based system | |
US11604608B2 (en) | Blockchain transaction processing systems and methods | |
CN103106068A (zh) | 物联网大数据快速校验方法 | |
WO2020037400A1 (en) | System, method, and computer program for secure authentication of live video | |
US11657021B2 (en) | Information deletion assurance system using distributed ledger | |
CN110827034B (zh) | 用于发起区块链交易的方法及装置 | |
CN112182112A (zh) | 基于区块链的分布式数据动态存储方法和电子设备 | |
CN116955355A (zh) | 一种区块数据处理方法、装置及电子设备 | |
CN104184594B (zh) | 文档联合签名方法和系统 | |
CN115361376A (zh) | 政务文件上传方法、装置、电子设备及存储介质 | |
JP2009237934A (ja) | ファイル変換装置、ファイル変換方法及びプログラム | |
US11755782B2 (en) | Validating primary subsets of received sensor data using computer cryptographic processing | |
US20240163118A1 (en) | Blockchain-based data processing method, device, and readable storage medium | |
CN118036576A (zh) | 一种pdf文件添加批注签章方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21888273 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21888273 Country of ref document: EP Kind code of ref document: A1 |