CN110032545A - 基于区块链的文件存储方法、***及电子设备 - Google Patents
基于区块链的文件存储方法、***及电子设备 Download PDFInfo
- Publication number
- CN110032545A CN110032545A CN201910238716.8A CN201910238716A CN110032545A CN 110032545 A CN110032545 A CN 110032545A CN 201910238716 A CN201910238716 A CN 201910238716A CN 110032545 A CN110032545 A CN 110032545A
- Authority
- CN
- China
- Prior art keywords
- file
- storage
- stored
- node
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000003860 storage Methods 0.000 claims abstract description 313
- 238000004891 communication Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000005055 memory storage Effects 0.000 claims 1
- 230000000116 mitigating effect Effects 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 157
- 238000005516 engineering process Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 21
- 238000012544 monitoring process Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 11
- 238000012550 audit Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000000151 deposition Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000006798 recombination Effects 0.000 description 2
- 238000005215 recombination Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了基于区块链的文件存储方法、***及电子设备。该文件存储方法包括区块链网络的文件管理节点向文件存储网络的存储管理节点发送待存储文件,以使所述存储管理节点将所述待存储文件划分为多个数据块,将所述多个数据块分别存储于所述文件存储网络的多个存储节点中,并生成所述待存储文件在所述文件存储网络中的存储索引;所述文件管理节点接收来自所述存储管理节点的所述存储索引,将所述存储索引存储于所述区块链网络中。通过上述方式减轻区块链网络的存储压力,提高区块链网络的运行效率。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及基于区块链的文件存储方法、***及电子设备。
背景技术
区块链技术是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用技术集合。从数据角度来看,区块链按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,所述数据结构通过密码学方式保证其不可篡改和不可伪造。从技术角度来看,区块链技术整合了多种不同的技术,通过构建区块链网络,使得网络内的每个节点都允许获得一份完整的数据块拷贝,并基于共识机制以及竞争计算来维持基于区块链的数据块的更新。由此,通过多节点沟通构成的端到端网络实现数据存储和管理的去中心化和去信任。
目前,基于区块链的各类应用越来越多,基于区块链的存储安全性,越来越多的区块链应用中会选择将各类文件存储于区块链网络,但随着产生和存入的文件数量的增加,导致区块链网络的存储负担越来越大,严重影响了区块链网络的运行效率。
发明内容
本申请主要解决的技术问题是提供一种基于区块链的文件存储方法、***及电子设备,该文件存储方法能够提高减轻区块链网络的存储压力。
为了解决上述问题,本申请第一方面提供了一种基于区块链的文件存储方法,所述文件存储方法包括:
区块链网络的文件管理节点向文件存储网络的存储管理节点发送待存储文件,以使所述存储管理节点将所述待存储文件划分为多个数据块,将所述多个数据块分别存储于所述文件存储网络的多个存储节点中,并生成所述待存储文件在所述文件存储网络中的存储索引;
所述文件管理节点接收来自所述存储管理节点的所述存储索引,将所述存储索引存储于所述区块链网络中。
为了解决上述问题,本申请第二方面提供了另一种基于区块链的文件存储方法,所述文件存储方法包括:
文件存储网络的存储管理节点接收来自区块链网络的文件管理节点的待存储文件;
所述存储管理节点将接收到的所述待存储文件划分为多个数据块,并将所述多个数据块分别存储于所述文件存储网络的多个存储节点中;
所述存储管理节点基于所述多个数据块生成所述待存储文件在所述文件存储网络中的存储索引,并将所述存储索引反馈至所述文件管理节点,以使所述文件管理节点将所述存储索引存储于所述区块链网络中。
为了解决上述问题,本申请第三方面提供了一种电子设备,该电子设备包括相互通信的区块链网络和文件存储网络,其中,所述区块链网络中至少包括文件管理节点,所述文件存储网络中至少包括存储管理节点;
所述文件管理节点用于执行上述的文件存储方法中的对应步骤,所述存储管理节点用于执行上述的文件存储方法中的对应步骤。
为了解决上述问题,本申请第四方面提供了一种基于区块链的文件存储***,该文件存储***包括:
包括相互通信的区块链网络和文件存储网络,其中,所述区块链网络中至少包括文件管理节点,所述文件存储网络中至少包括存储管理节点;
所述文件管理节点用于执行上述的文件存储方法中的对应步骤,所述存储管理节点用于执行上述的文件存储方法中的对应步骤。
上述方案中,基于区块链的文件存储方法将用户相关节点的设备将待存储文件以多个数据块的形式分布式存储在文件存储网络中,同时将存储索引存储在区块链网络中。使得用户需通过区块链网络进行身份认证、交易共识等操作后,才能通过区块链网络获取存储索引以从文件存储网络中获取待存储文件的全部或部分内容,进而基于区块链技术提高了待存储文件的存储安全性;减轻了区块链网络的运行负担,保证了区块链网络的运行速度和稳定性能。
附图说明
图1是本申请区块链平台基础架构的架构示意图;
图2是本申请一实施例中采用的区块链的区块的结构示意图;
图3是本申请基于区块链的文件存储***一实施例的结构示意图;
图4是本申请基于区块链的文件存储方法第一实施例的流程示意图;
图5是图4中步骤S11的一实施方式的流程示意图;
图6是本申请基于区块链的文件存储方法第二实施例的流程示意图;
图7是本申请基于区块链的文件存储方法第三实施例的流程示意图;
图8是本申请基于区块链的网页防篡改***一实施例的结构示意图;
图9是本申请基于区块链的网页文件存储方法实施例的流程示意图;
图10是本申请基于区块链的网页防篡改方法一实施例的流程示意图;
图11是本申请电子设备一实施例的结构示意图;
图12是本申请存储介质一实施例的结构示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“***”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
区块链技术是随比特币等数字加密货币而兴起的一种新型的分布式数据组织方法及运算方式。其最大特点是:去中心化,这使得数据能够实现分布式集体维护,极大提高数据运算、管理、维护效率;共识节点间基于一套共识机制,通过竞争计算共同维护整个区块链,任一节点失效,其余节点仍能正常工作。同时搭载非对称加密技术的区块链具备高安全性、可追溯性,能有效防止数据泄露或非法篡改。本申请提出利用区块链技术和分布式存储技术的结合来实现待存储文件的存储,待存储文件可以是普通用户上传的各类型文件(如视频文件、音频文件、文本文件等),也可以是金融机构上传的金融相关文件(如审计文件、会计文件等),也可以是各类单位机构通过自身局域网向外部广域网发布的各类信息文件(如通过其网站发布的网页文件、通过其公众号发布的推送文件等)等。
为便于理解本申请文件存储***中的区块链网络,先对本申请采用的区块链技术进行举例说明。在一具体应用中,电子设备运行该区块链技术以成为该区块链网络的节点,该区块链平台基础架构如图1所示,包括区块链的展现层、应用层、服务层,以及区块链核心支撑模块。
其中,展现层用于将***功能进行展示,进而实现用户交互,各个文件主体可通过***客户端登陆相应展现层显示的界面访问应用层并以获取信息资源,包括注册界面、操作执行界面、查询界面、应用管理界面、管理员界面等。应用层用于展示区块链网络的具体功能,是文件存储的重要环节,按功能的不同可划分为用户管理、权限控制、目录管理等。服务层用于通过分布式服务器对应用相关功能进行有效的整合和管理,例如用户注册、用户身份管理、加解密服务、分布式账本服务、智能合约服务、数据管理服务等。
区块链核心支撑模块包括数据层、网络层、共识层和合约层。其中,数据层用于封装底层数据区块以及相关的数据加密和时间戳等技术。并且,可利用不可逆加密算法(如SHA256算法)对文件数据进行至少一次(如两次)计算,生成唯一的区块链ID,即哈希(Hash)值。具体地,该区块链可为区块私有链,以保证该区块链并非完全公开,只有注册的会员节点才可访问。
网络层封装了区块链网络***的P2P组网方式、消息传播协议和数据验证机制等要素,使各节点地位对等且以扁平式拓扑结构相互连通和相互,拥有分布式、自治性、开放可自由进出等特性。区块链网络中每一个节点都能参与区块数据的校验和记账过程,仅当区块数据通过全网大部分节点验证后,才能记入区块链。区块链这种去中心化设计保证文件数据不可篡改、不可伪造。
共识层,封装了在决策权高度分散的拓扑网络中快速完成共识的方法,以参与区块链网络的共识机制。
合约层,封装有数据访问策略的合约代码,合约代码中的条件被触发时,自动执行相应交易,同时可通过合约内容规定相应的访问条件对相应的数据进行访问等。
区块链网络用一种去中心化的方式来收集,打包且安全保护待存储文件,并把待存储文件的相关信息锚定到区块链上。具体的,区块链网络可以采用区块联盟链或区块链私有链的网络来实现。区块链网络的节点不断变换在网络***中所承担的责任,永远不会只有一个节点在控制整个网络***,即不会只有一个记账节点进行记账。每个节点都只是网络***中的一部分。区块链的节点定时如每一分钟变换一次角色,没有节点会永久控制网络***的任何一部分。
在一实施例中,区块链核心支撑模块的数据层的区块封装可如图2所示。该区块链的区块包括区块头21(Header)和区块体22(Body)。该区块体22存储有至少一条对执行业务相关的数据进行设定哈希运算得到的哈希值。该区块头21可以封装有当前版本号211、前一区块地址212、当前区块的目标哈希值213、当前区块PoW(工作量证明)共识过程的解随机数214、Merkle根215(Merkle-root)以及时间戳216等信息。其中,该当前版本号211,用于标示软件及协议的相关版本信息;该前一区块地址212,也可称为前一区块哈希值,通过该值才可将每个区块首尾相连组成了区块链;该解随机数214为记录解密该区块相关数学题的答案的值;该Merkle根215是由区块体22中所有数据哈希值计算出来的,用于检验相关数据是否存在于该区块中;该时间戳216用于记录该区块20产生的时间。可以理解的是,该区块的结构可根据采用的区块链技术的不同进行调整,例如共识过程不采用Pow共识机制,则不存在上述的解随机数。
在一具体应用中,该区块链底层***可由分层结构的区块(Block)组成。根部是目录区块(Directory Block)。这些区块构成了一个微型链,链上存储着压缩过的引用(reference)。为了避免数据规模过大,目录区块(Directory Block)中的引用只是记录区块(Entry Block)的哈希值。
目录区块对应这个***的第一分层,是记录该记录区块完整性(Hash值)证明的区块。目录区块是由所有服务器中定义的所有记录区块组合到一起建造而生成的。因此,每个服务器都拥有所有的记录区块,所有的目录区块,和所有记录(Entry)。
记录区块(Entry Block)对应这个***的第二分层,是记录Entry完整性(Hash值)证明的区块。在寻找记录的应用会需要记录区块,可以从一个数字指纹搜索到所有可能相关的数据的存储、处理、共享、访问等记录。记录区块包含着电子记录的哈希值。电子记录的哈希值同时证明了数据的存在和在分布式散列表(DHT)网络中找到记录的钥匙。
记录区块(Entry Block)包含了和一个链ID有关的全部Entry。如果某个Entry是关联到某个记录区块(Entry Block)的话,那么可以认为这个Entry并不存在。这样的设计能让应用程序很容易的证伪,方便的识别哪些Entry是真实可靠的。
请参阅图3,图3是本申请基于区块链的文件存储***一实施例的结构示意图。如图3所示,本实施例的文件存储***30包括可相互通信的区块链网络31和文件存储网络32;其中,区块链网络31中包括有文件管理节点311、记账节点312和用户节点313。
本实施例中,文件管理节点311为对应于待存储文件的设备终端,文件管理节点311具有向区块链网络31上传待存储文件,对待存储文件进行编辑、增删等操作权限,待存储文件由文件管理节点311向区块链网络31进行提交,以基于本实施例的文件存储***30进行文件存储。记账节点312可进行区块链网络31的记账,每个记账节点312为具有竞争记账能力的节点,以将文件管理节点311与区块链网络31中的交互操作及相关信息进行记账操作。进一步,本实施例的文件管理节点311也可复用为区块链网络31中的记账节点312,执行相关的记账操作。用户节点313为普通用户节点313,用户节点313可在经过文件管理节点311的认证后通过区块链网络31获取由文件管理节点311提交而存储于文件存储网络32中的待存储文件。
在本实施例中,文件管理节点311根据不同的具体应用场景而根据实际应用进行设置。例如,在审计文件存储的应用场景下,文件管理节点311即为发生经济活动的企业节点,相应的,待存储文件即为企业在发生经济活动时随之产生的财务报告、财务报表等需要被审计的待审计文件;在该应用场景中,文件管理节点311也可为审计机构节点,相应的待存储文件即为经过审计操作而产生的审计评价报告、审计意见书、审计工作底稿等审计文件。若在网页发布的应用场景中,通常需要对发布的网页文件进行存储备份,此时,文件管理节点311即对应于具备网页编辑、更新和确认发布等权限的网页管理***,相应的待存储文件即为发布的网页文件。可以理解的是,上述两种应用场景仅是基于本实施例的文件存储方法的具体应用举例,在实际应用中可根据实际的应用需求设置相应的文件管理节点311,而不仅限于上述两种应用场景。
进一步,本实施例的区块链网络31中还包括用户管理节点314,用于对文件管理节点311、用户节点313和记账节点312进行身份注册,管理文件管理节点311、用户节点313和记账节点312的身份信息、数据共享策略等各种业务功能。本实施例中,用户管理节点314可设置为对应的证书授权中心(Certificate Authority),文件管理节点311、用户节点313和记账节点312在加入区块链网络31时,向证书授权中心发起注册请求,证书授权中心基于注册请求向对应的节点提供能够表明该节点身份信息的数字证书,其中,数据证书可包括向该节点分配的公钥和私钥。申请注册的节点获取到分配的公钥和私钥后,将私钥存储在自身本地,将公钥广播至区块链网络31。
上述文件管理节点311、用户节点313、记账节点312和用户管理节点314具体可以为任意电子设备,例如服务器、手机、计算机、平板电脑等,在一实施例,该记账节点312为区块链服务器、用户管理节点314为具有业务处理能力的应用服务器,且可作为基于区块链网络31的存证***。可以理解的是,上述文件管理节点311、用户节点313、记账节点312和用户管理节点314之间可相互通信,本实施例中的文件管理节点311、用户节点313和用户管理节点314作为区块链节点,例如为区块链的轻量记账节点312。另外,上述节点的区分均是根据通过该节点登录的身份信息确定的,故上述节点的相应主体都需要事先在区块链平台上完成注册(在一应用中,该区块链为区块私有链或区块联盟链,故事先在区块链平台上完成身份注册),并获取相应的公钥和私钥,确定其身份可信后,允许开展如下涉及文件存储的相关业务。
进一步参阅图3,本实施例的文件存储网络32包括存储管理节点321和若干个存储节点322。存储管理节点321用于与区块链网络31进行信息和数据的交互,此外,存储管理节点321可对待存储文件执行预设的文件存储操作,以完成待存储文件的存储。文件存储网络32中的每个存储节点322均可用于存储待存储文件。本实施例中,存储管理节点321和存储节点322可复用,用户可根据实际需求在若干个存储节点322中选择一个存储节点322作为存储管理节点321;例如,从若干个存储节点322中选择与文件管理节点311的通信效率最高(例如,与文件管理节点311的通信路径最短、通信速率最高等)的一个存储节点322作为存储管理节点321。
进一步,本实施例中区块链网络31可布置于企业单元所在的局域网内,相应的,文件管理节点311、用户节点313、记账节点312和用户管理节点314即为企业单元的局域网内的电子设备。例如,区块链网络31可布置于某企业单元的局域网内,相应的,文件管理节点311可为该企业单元的重要部门(如财会部门、网页发布部门等)对应的节点,用户节点313即可为企业内部其他部门的节点。此外,文件存储网络32可布置于相同的局域网内,此时文件存储***30为以该企业为核心的内部文件存储***30,相应的,存储的文件不便于被企业外部其他用户获取,此外,对企业的服务器等设备具有较高要求。在其他实施方式中,文件存储网络32也可布置于广域网内;此时,可在区块链网络31和文件存储网络32之间设置隔离装置,以提高区块链网络31的安全性。
请参阅图4,图4是本申请基于区块链的文件存储方法第一实施例的流程示意图。本实施例的文件存储方法可应用于图3所示的文件存储***,如图4所示,本实施例的文件存储方法可包括如下步骤:
在步骤S11中,区块链网络的文件管理节点向文件存储网络的存储管理节点发送待存储文件。
文件管理节点为对应于待存储文件的设备终端,用户通过文件管理节点在得到了待存储文件后,将待存储文件发送至区块链网络之外的文件存储网络的存储管理节点。随后,存储管理节点即可对待存储文件进行相关存储操作以将待存储文件存储至文件存储网络中。
其中,存储管理节点可采用分布式文件***如星际文件***(InterPlanetaryFile System,IPFS)的分布式存储方式,将待存储文件以多个数据块的形式分别存储于不同存储节点。具体的,存储管理节点将待存储文件划分为多个数据块,将划分成的多个数据块分别存储至文件存储网络中的多个存储节点中;根据划分的多个数据块生成待存储文件在文件存储网络中的存储索引,并将生成的存储索引发送回文件管理节点。本实施例中,每个存储节点可以选择存储其感兴趣的文件内容,例如:用户可通过存储管理节点事先指定特定的存储节点存储特定结构或非结构化数据的文件内容,或存储节点可根据待存储文件的文件内容敏感程度来进行选择性存储。
本实施例中由存储管理节点生成的存储索引用于指向了构成待存储文件的每个数据块在文件存储网络中的存储节点,基于存储索引即可知晓每个数据块存储在哪个存储节点中,进而从多个存储节点处分别获取所需的数据块。
本实施例的存储索引是存储管理节点基于划分出的每个数据块的内容生成的。具体的,存储管理节点基于划分出多个数据块的内容,分别对每个数据块进行哈希计算,得到对应于每个数据块的数据块哈希值。进一步,存储管理节点根据划分数据块时每个数据块的划分顺序将得到的数据块哈希值组成一哈希值数组(哈希值数组中的每个数据块哈希值分别对应于划分出的数据块,数据块哈希值排列顺序即是每个数据块在待存储文件中的组成顺序)。进一步,存储管理节点对该哈希值数组进行哈希计算得到最终哈希值,最终哈希值即可理解为对应于待存储文件的文件哈希值。由此,存储管理节点即可基于哈希值数组和待存储文件的文件哈希值生成存储索引。
其中,存储管理节点在对待存储文件执行上述存储操作时,可基于每个数据块的数据块哈希值删除多个数据块中内容相同的数据块,使得内容相同的数据块不会被重复存储,但存储索引中仍保留有相应的数据块哈希值;由此,即可减轻文件存储网络的存储压力,且有保证了在获取待存储文件时可得到完整的文件内容。
存储管理节点在对待存储文件进行数据块划分时可按一定的数据块容量进行划分,例如,可设置最大容量256KB,即将待存储文件按其内容顺序,每256KB即划分一个数据块,直至将待存储文件完全划分,因此最后一个数据块的大小可能小256KB。
由于每个数据块哈希值是基于相应数据块的内容得到的,且文件哈希值从本质上也是基于待存储文件的内容得到的;因此基于数据块哈希值和文件哈希值得到的存储索引是基于文件内容进行数据块寻址的索引。当用户需要获取待存储文件时,可基于存储索引中的文件哈希值和数据块哈希值即获取到相应的数据块,进而获取待存储文件。
上述存储管理节点执行的存储操作结合IPFS的存储方式,将待存储文件以多个数据块的形式分别存储于不同存储节点。但可以理解的是,在其他实施例中,存储管理节点也可采用其他分布式文件存储方式实现对对待存储文件的存储。
进一步参阅图3所示的文件存储***,在一实施方式中,文件管理节点可包括文件提交节点和文件发布节点。其中,文件提交节点对应于待存储文件的主体设备,用于获取或形成待存储文件,并向文件发布节点发送待存储文件;文件发布节点可理解为对应文件提交节点进行确认的设备,用于接收来自文件提交节点的待存储文件,且与文件存储网络的存储管理节点进行信息数据交互,以实现将待存储文件存储于区块链网络之外的文件存储网络中。本实施例中,文件提交节点和文件发送节点之间可通过区块链网络进行双向的身份认证。如图5所示,步骤S11可包括如下步骤:
在步骤S111中,区块链网络的文件提交节点对待存储文件进行计算得到对应的数字指纹;将数字指纹存储于区块链网络中,并向文件发布节点发送待存储文件。
本实施例中,文件提交节点在向文件发布节点发送待存储文件时,对待存储文件进行哈希计算,得到对应于待存储文件的数字指纹,并利用其自身私钥加密该数字指纹。进一步,文件提交节点将加密后的数字指纹上传至区块链网络;由此,区块链网络中的其他节点即可获取到经过文件提交节点的私钥加密的数字指纹,进而对文件提交节点的身份进行认证,同时也可对待存储文件的真实性进行认证。
在步骤S112中,文件发布节点获取数字指纹,利用数字指纹判断文件提交节点是否能够通过身份认证。
本实施例中,文件发布节点被设置为对文件提交节点的身份进行认证的功能节点,以确保文件提交节点的身份真实性和待存储文件的准确性。具体的,文件发布节点从区块链网络中获取经过文件提交节点的私钥加密后的数字指纹和文件提交节点的公钥,判断利用文件提交节点的公钥是否能够解密加密后的数字指纹,若是,则确定用于加密数字指纹的私钥和解密数字指纹的公钥对应于相同身份的节点,即可确定文件提交节点通过身份认证。
进一步,文件发布节点可对解密后的数字指纹进行确认,以判断待存储文件是否在传输过程中被修改。具体的,文件提交节点可对其接收到的来自文件提交节点的待存储文件进行哈希计算得到一哈希值,将计算得到的哈希值与解密得到的数字指纹进行比对,判断两者是否相同,若是,则确定待存储文件未被修改,否则,则确定待存储文件被修改。本实施例中,若文件发布节点确定文件提交节点通过身份认证,且待存储文件未被修改,则继续执行步骤113;否则,结束流程,同时文件发布节点将其判断结果反馈回文件提交节点。
在步骤S113中,文件发布节点向文件存储网络的存储管理节点发送接收到的待存储文件。
进一步,文件发布节点即可将待存储文件发送至文件存储网络的存储管理节点,以使存储管理节点对待存储文件执行上述步骤S11中记载的存储操作。
在步骤S12中,文件管理节点接收来自存储管理节点的存储索引,将存储索引存储于区块链网络中。
区块链网络的文件管理节点在接收到存储管理节点发送的存储索引后,即将存储索引存储于区块链网络中,即完成了对待存储文件的存储流程。进一步,基于上述图5所示的步骤S111至步骤S113的步骤流程,存储管理节点接收的待存储文件是来自文件发布节点的,即区块链网络和文件存储网络之间的信息交互节点是区块链网络的文件发布节点和文件存储网络的存储管理节点;由此,存储管理节点生成的存储索引相应的也是发送至文件发布节点,换言之,存储索引由文件发布节点接收并存储至区块链网络中。
本实施例的文件存储方法将区块链网络中产生的待存储文件以分布式存储的方式存储于区块链网络之外的文件存储网络,进而到达减少区块链网络中的存储量,减轻区块链网络的运行负担的目的,即保证了区块链网络的运行速度和稳定性能。
进一步,请参阅图6,图6是本申请基于区块链的文件存储方法第二实施例的流程示意图。本实施例的文件存储方法同样可应用于图3所示的文件存储***,本实施例是基于图4至图5所示的文件存储方法第一实施例扩展得到的,如图6所示,本实施例的文件存储方法在图4所示的步骤S12之后还可包括如下步骤:
在步骤S13中,文件管理节点接收到与待存储文件对应的文件恢复指令时,基于文件恢复指令向文件存储网络的存储管理节点发送存储索引。
本实施例中,当需要获取已经存储于文件存储网络中的待存储文件时,即可触发相应的文件恢复指令。文件管理节点获取到文件恢复指令后,即可响应文件恢复指令而从区块链网络中获取与待存储文件对应的存储索引,进而将该存储索引发送至文件存储网络的存储管理节点。
存储管理节点在接收到存储索引后,即可响应文件获取指令,根据存储索引中包含的数据块哈希值从相应的存储节点处获取相应的数据块,并获取到的数据块发送回文件管理节点。
本实施例文件管理节点包括文件提交节点和文件发布节点,由此,接收文件恢复指令的具体节点在不同的应用场景下可以不同,文件恢复指令可由文件提交节点接收,再发送至文件发布节点,由文件发布节点发送基于文件恢复指令向文件存储网络的存储管理节点发送存储索引;此外,也可直接将文件恢复指令发送给文件发布节点,由文件发布节点发送基于文件恢复指令向文件存储网络的存储管理节点发送存储索引。
在步骤S14中,文件管理节点接收来自存储管理节点的多个数据块,利用多个数据块重组得到待存储文件。
文件管理节点接收到存储管理节点发送的多个数据块之后,即可根据每个数据块哈希值的顺序对多个数据块进行重组,进而恢复待存储文件。本实施例中,接收来自存储管理节点的多个数据块的为文件发布节点;即由文件发布节点接收来自存储管理节点的多个数据块,利用多个数据块重组得到待存储文件。
在其他实施方式中,由于待存储文件是以划分后的多个数据块进行分布式存储的;因此,在获取待存储文件时也可仅获取待存储文件中的部分内容。具体的,用户可通过想要获取的部分内容的数据块哈希值对这部分内容进行检索,由此,存储管理节点即可仅获取并向文件发布节点发送对应于用户指定的这部分内容的数据块,由此,文件发布节点对这部分内容的数据块进行重组后得到的即为用户指定的待存储文件的部分内容。
本实施例结合区块链技术和分布式文件***例如星际文件***,将待存储文件以多个数据块的形式分布式存储在文件存储网络中,同时将存储索引存储在区块链网络中。使得用户需通过区块链网络进行身份认证、交易共识等操作后,才能通过区块链网络获取存储索引以从文件存储网络中获取待存储文件的全部或部分内容,进而基于区块链技术提高了待存储文件的存储安全性。
进一步,请参阅图7,图7是本申请基于区块链的文件存储方法第三实施例的流程示意图。本实施例的文件存储方法同样可应用于图3所示的文件存储***,本实施例是基于图4至图5所示的文件存储方法第一实施例扩展得到的,如图7所示,本实施例的文件存储方法在图4所示的步骤S12之后还可包括如下步骤:
在步骤S15中,文件管理节点确定待存储文件被更新时,获取更新后的待存储文件,向存储管理节点发送更新后的待存储文件。
本实施例在完成上述图4至图5所示的文件存储方法第一实施例,完成待存储文件的存储后,用户仍可通过文件管理节点对待存储文件进行修改、再次编辑等更新操作,进而形成更新后的待存储文件。
本实施例的文件管理节点可包括上述的文件提交节点和文件发布节点,即用户通过文件提交节点形成更新后的待存储文件,将更新后的待存储文件发送至文件发布节点。进一步,文件发布节点将更新后的待存储文件发送至文件存储网络的存储管理节点,以使存储管理节点基于更新后的待存储文件执行存储操作,完成文件存储流程。
本实施例中,存储管理节点接收到更新后的待存储文件,可更新后的待存储文件进行存储,并更新相应的存储索引。具体的,存储管理节点按同样的数据块划分方式对更新后的待存储文件进行数据块划分,并计算每个数据块的数据块哈希值,由此即可通过数据块哈希值之间的比对(包括本次计算得到的数据块哈希值之间的比对,以及本次计算得到数据块哈希值和存储索引中记录的数据块哈希值的比对)从更新后的待存储文件中解析出相对于原来的待存储文件的更新的文件内容,以及更新的文件内容中的重复内容,进而可将更新后的待存储文件中与原来的待存储文件相同的内容进行删除,以及将更新后的待存储文件的更新部分的重复内容进行删除,而对删除后剩余的部分内容进行存储,并基于这部分内容计算得到相应的数据块哈希值对存储索引进行更新,得到更新后的存储索引。
在步骤S16中,文件管理节点接收来自存储管理节点的更新后的存储索引,将更新后的存储索引存储在区块链网络中。
文件管理节点可接收到由存储管理节点发送的更新后的存储索引,进而将对应于更新后的待存储文件的更新后的存储索引存储在区块链网络中。本实施例中接收更新后的存储索引的节点为文件发布节点。
本实施例的文件存储方法基于上述的存储操作,在待存储文件被更新后可仅对内容不同的部分进行存储,并基于这部分内容计算得到的数据块哈希值更新存储索引;而不会对相同内容的部分进行重复存储,提高了文件存储速率,同时也可减轻文件存储网络的存储压力。
可以理解的是,图6所示的文件存储方法第二实施例是获取已存储的待存储文件的方法实施例,图7所示的文件存储方法第三实施例是对更新的待存储文件的方法实施例。换言之,图6和图7所示的文件存储方法第二实施例和第三实施例为基于不同的文件需求(获取待存储文件或更新待存储文件)的情况下提出的不同的实施例,两者之间并不冲突,可根据实际需求择一执行。
进一步,请参阅图8,图8是本申请基于区块链的网页防篡改***一实施例的结构示意图。本实施例的网页防篡改***40如8图所示,其包括可相互通信的区块链网络41和文件存储网络42。其中,本实施例的区块链网络41和文件存储网络42可分别与图3所示的文件存储***的区块链网络31和文件存储网络32相同。
结合网页相关***设备可知,文件管理节点411即对应于进行网页文件发布的企业单位的网页内容管理***411,而文件管理节点411包括文件提交节点411a和文件发布节点411b。由此,文件提交节点411a即对应于网页内容管理***411中的网页内容管理控制服务器411a,文件发布节点411b即对应于网页内容管理***411中的网页发布服务器411b。
此外,本实施例的网页防篡改***40还包括监测节点43,其中,监测节点43对应于进行网页发布的站点服务器43,具体的,在站点服务器43中配置相应的监测模块。站点服务器43用于对其所发布的网页文件进行监测。在一实施方式中,站点服务器43还可包括网页同步服务模块、防攻击模块和网页监控模块;其中,网页同步服务模块用于接收网页管理服务器发送来的合法的网页文件,更新站点服务器43上的网页内容;防攻击模块主要对网页访问进行保护;网页监控模块用于对所有监控网页所在服务器的站点进行配置,以及对选择站点之后的该站点内的程序目录进行配置。
基于上述网页防篡改***40,在进行网页文件发布时,用户通过区块链网络41中的网页内容管理控制服务器411a形成页面化的网页文件;进一步,网页内容管理控制服务器411a将页面化的网页文件发送至网页发布服务器411b。网页发布服务器411b接收到网页文件后,一方面基于网页文件执行相应的网页文件的发布流程的相关步骤;另一方面执行网页文件的原始文件的存储流程的相关步骤,在对网页文件进行发布的同时存储其原始文件。
完成网页文件的发布和其原始文件的存储后,配置有监测模块的站点服务器43即可对发布的网页文件是否被篡改进行监测。当监测节点43监测到网页文件被篡改时,向网页发布服务器411b发送相应的文件恢复指令,以报告网页文件被篡改。网页发布服务器411b接收到文件恢复指令后,向存储管理节点发送相应的文件获取指令,以使存储管理节点从文件存储网络42中获取对应于原始文件的多个数据块。网页发布服务器411b即可接受来自存储管理节点的对应于原始文件的多个数据块进行重组,进而得到相应的网页文件的原始文件;当网页发布服务器411b恢复网页文件的原始文件后,即可基于该原始文件再次进行网页文件的发布。
进一步,本实施例的区块链网络41布置于局域网内,文件存储网络42布置于广域网内,其中,区块链网络41和文件存储网络42之间可设置隔离装置47。此外,本实施例的网页防篡改***中,区块链网络41和文件存储网络42之间还设置有交换机45和防火墙46;广域网的用户可通过广域网内的用户端49对网页文件进行访问,用户端49与站点服务器43之间也设置有防火墙46。
本实施例将网页发布***与图3所示的文件存储***进行有机结合,对发布的网页文件的原始文件进行存储,实现原始文件的安全备份。结合区块链技术部署监测节点43,令监测节点43结合区块链技术实现对已发布的网页文件进行篡改监测,基于区块链技术的不可篡改的特点,提高了网页是否被篡改的监测准确度和实时性。
请参阅图9,图9是本申请基于区块链的网页文件存储方法实施例的流程示意图。本实施例的网页文件存储方法应用于图8所示的网页防篡改***,如图9所示,本实施例的网页文件存储方法可包括如下步骤:
在步骤S21中,区块链网络的文件提交节点向文件发布节点发送形成的网页文件,并基于网页文件的内容计算得到网页文件的原始文件标识,将原始文件标识存储于区块链网络。
区块链网络的文件提交节点即为网页内容管理控制服务器,文件发布节点即为网页发布服务器。用户通过区块链网络中的网页内容管理控制服务器执行网页的编辑、审核、签发等工作,形成页面化的网页文件。在网页发布流程中,网页内容管理控制服务器并不负责将其形成的网页文件向外发布,因此,网页内容管理控制服务器向网页发布服务器发送形成的网页文件。
进一步,本实施例中网页内容管理控制服务器还基于形成的网页文件的内容计算得到网页文件在未发布时的文件标识,令该文件标识为原始文件标识,将原始文件标识存储于区块链网络。具体的,基于未发布的网页文件的内容进行哈希计算得到网页文件的数字指纹,将该数字指纹作为对应于网页文件的原始文件标识,将数字指纹存储于区块链网络。
在步骤S22中,文件发布节点接收来自文件提交节点的网页文件,将未发布的网页文件作为其原始文件,向文件存储网络的存储管理节点发送原始文件。
网页发布服务器接收到网页文件后,一方面基于网页文件生成相应的发布目录,并将网页文件和发布目录发送至站点服务器,以使站点服务器能够基于该网页文件完成网页文件的对外发布工作。另一方面,网页发布服务器将未发布的网页文件作为其原始文件,向文件存储网络的存储管理节点发送该原始文件。
在一实施方式中,网页发布服务器在向站点服务器和存储管理节点发送网页文件之前,网页内容管理控制服务器和网页发布服务器之间还可基于区块链网络对双方的身份进行认证,当双方均确定对方的通过身份认证后,网页发布服务器才执行向站点服务器和存储管理节点发送网页文件的流程。
进一步,存储管理节点即可基于接收到的网页文件的原始文件后,对原始文件执行相应的存储操作。本实施例中存储管理节点执行的存储操作可与图4至图6所示的文件存储方法中记载的存储操作相同,此处不再赘述。
在步骤S23中,文件发布节点接收来自存储管理节点的存储索引,将存储索引存储于区块链网络中。
网页发布服务器在接收到存储管理节点发送的存储索引后,即将存储索引存储于区块链网络中,即完成了对网页文件的原始文件的存储流程。
本实施例的网页文件存储方法实施例将上述图4至图7所示的文件存储方法第一实施例至第三实施例结合图8所示的网页防篡改***,实现了在进行网页发布的同时结合区块链技术和分布式存储技术,令网页文件的原始文件以多个数据块的形式安全性更高的存储备份。
进一步,请参阅图10,图10是本申请基于区块链的网页防篡改方法一实施例的流程示意图。本实施例的网页防篡改方法可应用于图8所示的网页防篡改***,具体的,本实施例的网页防篡改方法可在图9所示的网页文件存储方法实施例之后执行,用于对发布的网页文件进行防篡改监测和恢复。如图10所示,本实施例的网页防篡改方法可包括如下步骤:
在步骤S31中,区块链网络的文件管理节点确定其所发布的网页文件被篡改时,向文件存储网络的存储管理节点发送对应于网页文件的原始文件的文件获取指令。
在完成网页文件的发布和其原始文件的存储后,配置有监测模块的站点服务器作为网页文件的监测节点,对发布的网页文件是否被篡改进行监测。当监测节点监测到网页文件被篡改时,向网页发布服务器发送相应的文件恢复指令,以报告网页文件被篡改。网页发布服务器接收到文件恢复指令即可确定其所发布的网页文件被篡改。
进一步,网页发布服务器向存储管理节点发送相应的文件获取指令,以使存储管理节点从文件存储网络中获取对应于原始文件的多个数据块。具体的,网页发布服务器响应文件恢复指令,基于网页文件的文件标识信息从区块链网络中获取相应的存储索引。存储索引指向了构成原始文件的多个数据块。由此,网页发布服务器即可向文件存储网络的存储管理节点发送相应的存储索引和文件获取指令。在一实施方式中,存储索引和文件获取指令可打包成一个信息包进行发送,也可作为单独的信息指令进行发送。
可理解的是,在网页文件通过某一站点服务器进行发布时携带有相应站点信息,即使网页文件的内容被篡改,但其站点信息是相对固定不变的,因此,本实施例中将网页文件的站点信息作为文件标识信息,以令网页发布服务器基于文件标识信息能够具体确定出是哪个网页文件被篡改,进而获取该网页文件的原始文件的存储索引。
存储管理节点即可相应文件获取指令,根据存储索引从文件存储网络中的多个存储节点处获取对应于原始文件的多个数据块,并向网页发布服务器发送获取的多个数据块。
本实施例中站点服务器对网页文件是否被篡改进行监测具体包括如下内容:
站点服务器实时或周期性的获取通过其发布的网页文件的文件内容(可通过爬虫技术等网页内容获取技术,本实施例不做具体限制),基于该文件内容计算得到发布后的网页文件的发布文件标识,并从区块链网络中获取对应于相同的网页文件在发布前的原始文件标识;进一步,将发布文件标识和原始文件标识进行比对,判断两者是否一致。若两者一致,则可确定网页文件未被篡改,站点服务器则继续对网页文件进行监测;若两者不一致,则可确定发布的网页文件可能已被篡改,站点服务器即向网页发布服务器发送文件恢复指令。
在一实施例中,网页发布服务器接收到来自站点服务器的文件恢复指令后还可向站点服务器发送相应的提示信息,进而令站点服务器在网页文件的页面上显示该提示信息,以使在完成网页文件恢复之前提示访问该网页文件的用户。此外,网页发布服务器也可阻断网页文件的访问通道,进而使得在完成网页文件恢复之前阻止用户对网页文件的访问。
在步骤S32中,文件管理节点接收来自存储管理节点的多个数据块,并利用多个数据块重组得到原始文件。
网页发布服务器可接收来自存储管理节点的多个数据块,进而可利用多个数据块进行重组而得到备份的原始文件。可理解的是,此时恢复的原始文件的内容与之前发布的网页文件的内容相同。本实施例中,步骤S32中网页发布服务器对原始文件的重组方式与图6所示的步骤S14的文件管理节点对待存储文件的重组方式相同,具体可参见步骤S14的说明,此处不再赘述。
在步骤S33中,文件管理节点基于原始文件再次进行网页发布。
网页发布服务器恢复网页文件的原始文件后,即可基于恢复后的原始文件再次进行网页发布,由于两次进行网页发布的文件内容相同,即可达到恢复网页文件的目的。
本实施例将区块链技术、分布式存储技术以及网页发布技术进行有机结合,进而实现对网页文件进行实时监控,准确判断其内容是否被篡改,快速进行网页恢复的目的;令网页发布的过程有迹可循,提高网页发布的安全性,提升网页文件是否被篡改的监测准确性,进而增强了整个网页发布和防篡改***的工作性能。
进一步,请参阅图11,图11是本申请电子设备一实施例的结构示意图。如图11所示,本实施例的电子设备110可以为图3或图8中所示的文件提交节点311a/411a、文件发布节点311b/411b、用户节点313或记账节点312,又或图8中所示的监测节点43。电子设备110可具体为与文件提交节点311a/411a、文件发布节点311b/411b、用户节点313、记账节点312或监测节点43对应的电脑、手机、平板电脑、服务器等终端。本实施例的电子设备110为文件提交节点311a/411a、文件发布节点311b/411b、用户节点313或记账节点312时,其中部署有如图1所示的区块链平台基础架构,能作为区块链网络中的节点加入区块链网络中。
进一步,本实施例的电子设备110可包括通过设在电子设备110内部的处理器1101和存储器1102,处理器1101和存储器1102通过总线连接。该存储器1102存储有处理器1101可执行的计算机指令,处理器1101执行该计算机指令以实现上述图4至图7所示的基于区块链的文件存储方法第一实施例和第三实施例中的任意一个或多个实施例,以及图9所示的基于区块链的网页文件存储方法实施例,又或图10所示的基于区块链的网页防篡改方法实施例。
进一步,请参阅图12,图12是本申请存储介质一实施例的结构示意图。如图12所示,本实施例中的存储介质120中存储有能够被执行的计算机指令1201,该计算机指令1201被执行能够实现上述图4至图7所示的基于区块链的文件存储方法第一实施例和第三实施例中的任意一个或多个实施例,以及图9所示的基于区块链的网页文件存储方法实施例,又或图10所示的基于区块链的网页防篡改方法实施例。
本实施例中,该存储介质120可以是智能终端的存储模块、移动存储装置(如移动硬盘、U盘等)、网络云盘、应用存储平台或服务器等具备存储功能的介质。此外,该存储介质120还可以为上述图3或图8中所示的用户节点313对应终端的存储装置,或记账节点312、文件管理节点311/411对应的服务器;或图3或图8中所示的文件存储网络32中的任意一个存储节点;又或为图11中所示的存储器1102。
上述方案可实现以下有益效果:
(1)建立完整的网页操作鉴权、页面监控、实时恢复、阻断预警等全流程一体化的网页安全防护体系,从网页产生源头增强安全性。
(2)每个区块链节点都拥有相同的网页文件的原始网页的哈希备份,即使个别节点发生数据损毁事件,也不会影响整个***网页恢复与更新。
(3)网页任一微小的篡改都会导致其相应哈希值的巨大变化,并被区块链对等网络实时监测出来、自动执行发布阻断与报警,进而保证每次发布的网页内容真实可信。
(4)网页的每个更新版本的哈希值均会被存储并关联到相应网页管理操作者,进一步对网页编辑操作进行安全防护。
(5)网页文件的原始网页一旦生成并发布存证于区块链上,则不可篡改、且每次内容更新、增删、发布等操作都会有迹可循。
(6)当检测到网页疑似被恶意篡改时,利用智能合约的实现秒级、自动实时网页恢复。
(7)利用区块链来存证网页文件的原始网页的数字指纹,并利用IPFS等分布式文件***来存储网页内容;既满足了网页安全防护的高等级需求,确保网页不可篡改,又一定程度降低存储资源与宽带消耗,最终使整个***安全、性能、响应速度等方面达到令人满意的水平。
以上描述中,为了说明而不是为了限定,提出了诸如特定***结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
Claims (10)
1.一种基于区块链的文件存储方法,其特征在于,包括:
区块链网络的文件管理节点向文件存储网络的存储管理节点发送待存储文件,以使所述存储管理节点将所述待存储文件划分为多个数据块,将所述多个数据块分别存储于所述文件存储网络的多个存储节点中,并生成所述待存储文件在所述文件存储网络中的存储索引;
所述文件管理节点接收来自所述存储管理节点的所述存储索引,将所述存储索引存储于所述区块链网络中。
2.根据权利要求1所述的文件存储方法,其特征在于,
所述文件管理节点包括文件提交节点和文件发布节点;
所述区块链网络的文件管理节点向文件存储网络的存储管理节点发送待存储文件,包括:
区块链网络的所述文件提交节点对待存储文件进行计算得到对应的数字指纹;将所述数字指纹存储于所述区块链网络中,并向所述文件发布节点发送所述待存储文件;
所述文件发布节点获取所述数字指纹,利用所述数字指纹判断所述文件提交节点是否能够通过身份认证;若是,则向文件存储网络的存储管理节点发送接收到的所述待存储文件。
3.根据权利要求2所述的文件存储方法,其特征在于,
所述文件提交节点将所述数字指纹存储于所述区块链网络中,包括:
所述文件提交节点利用自身私钥加密所述数字指纹,将加密后的所述数字指纹存储于所述区块链网络中;
所述文件发布节点获取所述数字指纹,利用所述数字指纹判断所述文件提交节点是否能够通过身份认证,包括:
所述文件发布节点获取所述加密后的数字指纹及所述文件提交节点的公钥,判断利用所述文件提交节点的公钥是否能够解密所述加密后的数字指纹;若是,则确定所述文件提交节点通过身份认证。
4.根据权利要求1所述的文件存储方法,其特征在于,
所述文件存储方法还包括:
所述文件管理节点确定所述待存储文件被更新时,获取更新后的待存储文件,向所述存储管理节点发送所述更新后的待存储文件,以使所述存储管理节点将所述更新后的待存储文件中待存储更新文件存储于所述文件存储网络中,并更新所述存储索引,得到更新后的存储索引;
所述文件管理节点接收来自所述存储管理节点的所述更新后的存储索引,将所述更新后的存储索引存储在所述区块链网络中。
5.根据权利要求1所述的文件存储方法,其特征在于,
所述文件存储方法还包括:
所述文件管理节点接收到与所述待存储文件对应的文件恢复指令时,基于所述文件恢复指令向所述文件存储网络的存储管理节点发送所述存储索引,以使所述存储管理节点基于所述存储索引从所述文件存储网络的多个存储节点中分别提取出与所述待存储文件对应的多个数据块;
所述文件管理节点接收来自所述存储管理节点的所述多个数据块,利用所述多个数据块重组得到所述待存储文件。
6.一种基于区块链的文件存储方法,其特征在于,包括:
文件存储网络的存储管理节点接收来自区块链网络的文件管理节点的待存储文件;
所述存储管理节点将接收到的所述待存储文件划分为多个数据块,并将所述多个数据块分别存储于所述文件存储网络的多个存储节点中;
所述存储管理节点基于所述多个数据块生成所述待存储文件在所述文件存储网络中的存储索引,并将所述存储索引反馈至所述文件管理节点,以使所述文件管理节点将所述存储索引存储于所述区块链网络中。
7.根据权利要求6所述的文件存储方法,其特征在于,
所述存储管理节点基于所述多个数据块生成所述待存储文件在所述文件存储网络中的存储索引,包括:
所述存储管理节点分别对所述多个数据块进行计算得到对应的多个数据块哈希值;
基于所述多个数据块哈希值计算得到与所述待存储文件对应的文件哈希值;
利用所述多个数据块哈希值和所述文件哈希值构成所述待存储文件在所述文件存储网络中的存储索引。
8.根据权利要求7所述的文件存储方法,其特征在于,
所述基于所述多个数据块哈希值计算得到与所述待存储文件对应的文件哈希值,包括:
将所述多个数据块哈希值按对应的所述多个数据块的划分顺序进行排列,构成哈希值数组;
对所述哈希值数组进行哈希计算得到最终哈希值,令所述最终哈希值为与所述待存储文件对应的文件哈希值。
9.一种电子设备,其特征在于,包括相互连接的存储器和处理器,其中,
所述存储器用于存储所述处理器执行的计算机指令;
所述处理器用于运行所述存储器存储的所述计算机指令,以实现权利要求1-5任意一项所述的文件存储方法中的区块链网络的文件管理节点执行的相应步骤,或权利要求6-8任意一项所述的文件存储方法中的文件存储网络的存储管理节点执行的相应步骤。
10.一种基于区块链的文件存储***,其特征在于,包括相互通信的区块链网络和文件存储网络,其中,所述区块链网络中至少包括文件管理节点,所述文件存储网络中至少包括存储管理节点;
所述文件管理节点用于执行权利要求1-5任意一项所述的文件存储方法中的对应步骤,所述存储管理节点用于执行权利要求6-8任意一项所述的文件存储方法中的对应步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910238716.8A CN110032545A (zh) | 2019-03-27 | 2019-03-27 | 基于区块链的文件存储方法、***及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910238716.8A CN110032545A (zh) | 2019-03-27 | 2019-03-27 | 基于区块链的文件存储方法、***及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110032545A true CN110032545A (zh) | 2019-07-19 |
Family
ID=67236738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910238716.8A Pending CN110032545A (zh) | 2019-03-27 | 2019-03-27 | 基于区块链的文件存储方法、***及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110032545A (zh) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535833A (zh) * | 2019-08-07 | 2019-12-03 | 中国石油大学(北京) | 一种基于区块链的数据共享控制方法 |
CN110647503A (zh) * | 2019-10-09 | 2020-01-03 | 重庆特斯联智慧科技股份有限公司 | 一种分布式存储方法及装置 |
CN110781155A (zh) * | 2019-10-18 | 2020-02-11 | 赛尔网络有限公司 | 基于ipfs的数据存储读取方法、***、设备和介质 |
CN110990486A (zh) * | 2019-11-29 | 2020-04-10 | 北京有名知行科技有限公司 | 基于网络数据交互的区块链通证发放和存证方法及装置 |
CN111061698A (zh) * | 2019-12-30 | 2020-04-24 | 语联网(武汉)信息技术有限公司 | 以太坊合约数据的存储方法及装置 |
CN111104386A (zh) * | 2019-11-04 | 2020-05-05 | 北京海益同展信息科技有限公司 | 一种文件存储方法、终端及存储介质 |
CN111125023A (zh) * | 2019-11-15 | 2020-05-08 | 北京十分科技有限公司 | 文件的审核、审核控制、发布方法及对应装置 |
CN111209262A (zh) * | 2020-01-10 | 2020-05-29 | 浪潮天元通信信息***有限公司 | 一种基于区块链的大规模分布式安全存储*** |
CN111310238A (zh) * | 2020-02-12 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 文件管理方法、装置 |
CN111414648A (zh) * | 2020-03-04 | 2020-07-14 | 传神语联网网络科技股份有限公司 | 语料鉴权方法及装置 |
CN111414434A (zh) * | 2020-05-20 | 2020-07-14 | 毕红伟 | 基于区块链的数据交易管理网络、交易设备和存储介质 |
CN111541753A (zh) * | 2020-04-16 | 2020-08-14 | 深圳市网心科技有限公司 | 区块链数据的分布式存储***、方法、计算机设备及介质 |
CN111600720A (zh) * | 2020-05-20 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN111681723A (zh) * | 2020-04-27 | 2020-09-18 | 山东浪潮通软信息科技有限公司 | 一种基于区块链的健康信息管理方法及设备、介质 |
CN111882260A (zh) * | 2020-06-15 | 2020-11-03 | 合肥维天运通信息科技股份有限公司 | 一种基于区块链和ipfs的物流资料公示方法及*** |
CN111950025A (zh) * | 2020-08-21 | 2020-11-17 | 安徽高山科技有限公司 | 一种基于区块链智能合约的文件分布式存储方法 |
CN112084164A (zh) * | 2020-09-16 | 2020-12-15 | 厦门市美亚柏科信息安全研究所有限公司 | 一种基于区块链与星际文件***的数据存证方法及*** |
CN112347040A (zh) * | 2020-09-30 | 2021-02-09 | 宇龙计算机通信科技(深圳)有限公司 | 文件管理方法、装置、存储介质及终端 |
CN112581305A (zh) * | 2019-09-29 | 2021-03-30 | 国网重庆市电力公司 | 一种基于区块链的变电站检修现场验收断面的***及方法 |
CN112667592A (zh) * | 2020-12-24 | 2021-04-16 | 平安科技(深圳)有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN112667746A (zh) * | 2020-12-30 | 2021-04-16 | 浙江甲骨文超级码科技股份有限公司 | 基于区块链的数据存储方法、设备、电子装置和存储设备 |
CN112800455A (zh) * | 2019-11-13 | 2021-05-14 | 源源通科技(青岛)有限公司 | 一种分布式数据存储***,机顶盒设备和数据存储方法 |
CN113094334A (zh) * | 2021-03-22 | 2021-07-09 | 四块科技(天津)有限公司 | 基于分布式存储的数字服务方法、装置、设备及储存介质 |
CN113254767A (zh) * | 2021-05-24 | 2021-08-13 | 深圳和锐网络科技有限公司 | 大数据搜索方法、装置、计算机设备及存储介质 |
CN113282562A (zh) * | 2021-05-07 | 2021-08-20 | 范佳媛 | 一种基于私有链的文件管理方法及*** |
WO2022028484A1 (zh) * | 2020-08-04 | 2022-02-10 | 中国人民银行数字货币研究所 | 共享文件的方法、装置及*** |
CN114254150A (zh) * | 2022-03-01 | 2022-03-29 | 天津安锐捷技术有限公司 | 一种基于区块链的分布式视频存储***及存储方法 |
CN114374706A (zh) * | 2022-01-11 | 2022-04-19 | 北京易智时代数字科技有限公司 | 一种基于分布式架构的内容安全管理方法 |
CN114599036A (zh) * | 2022-05-09 | 2022-06-07 | 北京乐开科技有限责任公司 | 一种多用户参与的nas文件安全操作方法及*** |
CN114880692A (zh) * | 2022-07-05 | 2022-08-09 | 浙江数秦科技有限公司 | 基于区块链的贷款合同存证方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108062202A (zh) * | 2017-12-15 | 2018-05-22 | 中链科技有限公司 | 一种文件分块存储方法及*** |
US20180285479A1 (en) * | 2017-04-03 | 2018-10-04 | Superna Inc. | Scalable audit analytics |
CN109376122A (zh) * | 2018-09-25 | 2019-02-22 | 深圳市元征科技股份有限公司 | 一种文件管理方法、***及区块链节点设备和存储介质 |
CN109409122A (zh) * | 2018-09-13 | 2019-03-01 | 远光软件股份有限公司 | 文件存储方法及其电子设备、存储介质 |
CN109491968A (zh) * | 2018-11-13 | 2019-03-19 | 浙江鲸腾网络科技有限公司 | 一种文件处理方法、装置、设备及计算机可读存储介质 |
CN109491965A (zh) * | 2018-09-13 | 2019-03-19 | 远光软件股份有限公司 | 购售电合同的存储方法及其网络和电子设备 |
-
2019
- 2019-03-27 CN CN201910238716.8A patent/CN110032545A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180285479A1 (en) * | 2017-04-03 | 2018-10-04 | Superna Inc. | Scalable audit analytics |
CN108062202A (zh) * | 2017-12-15 | 2018-05-22 | 中链科技有限公司 | 一种文件分块存储方法及*** |
CN109409122A (zh) * | 2018-09-13 | 2019-03-01 | 远光软件股份有限公司 | 文件存储方法及其电子设备、存储介质 |
CN109491965A (zh) * | 2018-09-13 | 2019-03-19 | 远光软件股份有限公司 | 购售电合同的存储方法及其网络和电子设备 |
CN109376122A (zh) * | 2018-09-25 | 2019-02-22 | 深圳市元征科技股份有限公司 | 一种文件管理方法、***及区块链节点设备和存储介质 |
CN109491968A (zh) * | 2018-11-13 | 2019-03-19 | 浙江鲸腾网络科技有限公司 | 一种文件处理方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
李小燕: "网络可信身份认证技术演变史及发展趋势研究", 《网络空间安全》, vol. 09, no. 11 * |
苏宣瑞 等: "一种基于区块链的身份识别技术", 《中兴通讯技术》 * |
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535833A (zh) * | 2019-08-07 | 2019-12-03 | 中国石油大学(北京) | 一种基于区块链的数据共享控制方法 |
CN110535833B (zh) * | 2019-08-07 | 2020-06-09 | 中国石油大学(北京) | 一种基于区块链的数据共享控制方法 |
CN112581305A (zh) * | 2019-09-29 | 2021-03-30 | 国网重庆市电力公司 | 一种基于区块链的变电站检修现场验收断面的***及方法 |
CN110647503A (zh) * | 2019-10-09 | 2020-01-03 | 重庆特斯联智慧科技股份有限公司 | 一种分布式存储方法及装置 |
CN110781155A (zh) * | 2019-10-18 | 2020-02-11 | 赛尔网络有限公司 | 基于ipfs的数据存储读取方法、***、设备和介质 |
CN110781155B (zh) * | 2019-10-18 | 2022-06-24 | 赛尔网络有限公司 | 基于ipfs的数据存储读取方法、***、设备和介质 |
CN111104386B (zh) * | 2019-11-04 | 2023-09-01 | 京东科技信息技术有限公司 | 一种文件存储方法、终端及存储介质 |
CN111104386A (zh) * | 2019-11-04 | 2020-05-05 | 北京海益同展信息科技有限公司 | 一种文件存储方法、终端及存储介质 |
CN112800455A (zh) * | 2019-11-13 | 2021-05-14 | 源源通科技(青岛)有限公司 | 一种分布式数据存储***,机顶盒设备和数据存储方法 |
CN111125023A (zh) * | 2019-11-15 | 2020-05-08 | 北京十分科技有限公司 | 文件的审核、审核控制、发布方法及对应装置 |
CN110990486A (zh) * | 2019-11-29 | 2020-04-10 | 北京有名知行科技有限公司 | 基于网络数据交互的区块链通证发放和存证方法及装置 |
CN111061698B (zh) * | 2019-12-30 | 2023-09-05 | 语联网(武汉)信息技术有限公司 | 以太坊合约数据的存储方法及装置 |
CN111061698A (zh) * | 2019-12-30 | 2020-04-24 | 语联网(武汉)信息技术有限公司 | 以太坊合约数据的存储方法及装置 |
CN111209262B (zh) * | 2020-01-10 | 2023-06-16 | 浪潮通信信息***有限公司 | 一种基于区块链的大规模分布式安全存储*** |
CN111209262A (zh) * | 2020-01-10 | 2020-05-29 | 浪潮天元通信信息***有限公司 | 一种基于区块链的大规模分布式安全存储*** |
CN111310238B (zh) * | 2020-02-12 | 2024-05-14 | 腾讯科技(深圳)有限公司 | 文件管理方法、装置 |
CN111310238A (zh) * | 2020-02-12 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 文件管理方法、装置 |
CN111414648A (zh) * | 2020-03-04 | 2020-07-14 | 传神语联网网络科技股份有限公司 | 语料鉴权方法及装置 |
CN111414648B (zh) * | 2020-03-04 | 2023-05-12 | 传神语联网网络科技股份有限公司 | 语料鉴权方法及装置 |
CN111541753A (zh) * | 2020-04-16 | 2020-08-14 | 深圳市网心科技有限公司 | 区块链数据的分布式存储***、方法、计算机设备及介质 |
CN111541753B (zh) * | 2020-04-16 | 2024-02-27 | 深圳市迅雷网络技术有限公司 | 区块链数据的分布式存储***、方法、计算机设备及介质 |
CN111681723A (zh) * | 2020-04-27 | 2020-09-18 | 山东浪潮通软信息科技有限公司 | 一种基于区块链的健康信息管理方法及设备、介质 |
CN111600720A (zh) * | 2020-05-20 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN111414434A (zh) * | 2020-05-20 | 2020-07-14 | 毕红伟 | 基于区块链的数据交易管理网络、交易设备和存储介质 |
CN111600720B (zh) * | 2020-05-20 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN111882260A (zh) * | 2020-06-15 | 2020-11-03 | 合肥维天运通信息科技股份有限公司 | 一种基于区块链和ipfs的物流资料公示方法及*** |
WO2022028484A1 (zh) * | 2020-08-04 | 2022-02-10 | 中国人民银行数字货币研究所 | 共享文件的方法、装置及*** |
CN111950025A (zh) * | 2020-08-21 | 2020-11-17 | 安徽高山科技有限公司 | 一种基于区块链智能合约的文件分布式存储方法 |
CN112084164A (zh) * | 2020-09-16 | 2020-12-15 | 厦门市美亚柏科信息安全研究所有限公司 | 一种基于区块链与星际文件***的数据存证方法及*** |
CN112347040A (zh) * | 2020-09-30 | 2021-02-09 | 宇龙计算机通信科技(深圳)有限公司 | 文件管理方法、装置、存储介质及终端 |
CN112667592A (zh) * | 2020-12-24 | 2021-04-16 | 平安科技(深圳)有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN112667592B (zh) * | 2020-12-24 | 2024-05-07 | 平安科技(深圳)有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN112667746A (zh) * | 2020-12-30 | 2021-04-16 | 浙江甲骨文超级码科技股份有限公司 | 基于区块链的数据存储方法、设备、电子装置和存储设备 |
CN113094334A (zh) * | 2021-03-22 | 2021-07-09 | 四块科技(天津)有限公司 | 基于分布式存储的数字服务方法、装置、设备及储存介质 |
CN113282562A (zh) * | 2021-05-07 | 2021-08-20 | 范佳媛 | 一种基于私有链的文件管理方法及*** |
CN113282562B (zh) * | 2021-05-07 | 2023-12-26 | 范佳媛 | 一种基于私有链的文件管理方法及*** |
CN113254767A (zh) * | 2021-05-24 | 2021-08-13 | 深圳和锐网络科技有限公司 | 大数据搜索方法、装置、计算机设备及存储介质 |
CN114374706A (zh) * | 2022-01-11 | 2022-04-19 | 北京易智时代数字科技有限公司 | 一种基于分布式架构的内容安全管理方法 |
CN114374706B (zh) * | 2022-01-11 | 2024-05-28 | 北京易智时代数字科技有限公司 | 一种基于分布式架构的内容安全管理方法 |
CN114254150A (zh) * | 2022-03-01 | 2022-03-29 | 天津安锐捷技术有限公司 | 一种基于区块链的分布式视频存储***及存储方法 |
CN114599036A (zh) * | 2022-05-09 | 2022-06-07 | 北京乐开科技有限责任公司 | 一种多用户参与的nas文件安全操作方法及*** |
CN114599036B (zh) * | 2022-05-09 | 2022-08-05 | 北京乐开科技有限责任公司 | 一种多用户参与的nas文件安全操作方法及*** |
CN114880692A (zh) * | 2022-07-05 | 2022-08-09 | 浙江数秦科技有限公司 | 基于区块链的贷款合同存证方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110032545A (zh) | 基于区块链的文件存储方法、***及电子设备 | |
CN109450910B (zh) | 基于区块链的数据共享方法、数据共享网络及电子设备 | |
CN109409122B (zh) | 文件存储方法及其电子设备、存储介质 | |
CN109525671B (zh) | 基于区块链的数据存储方法、电子设备及存储介质 | |
Liang et al. | Provchain: A blockchain-based data provenance architecture in cloud environment with enhanced privacy and availability | |
EP3070630B1 (en) | Data system and method | |
CN109040271B (zh) | 一种分布式环境下的网络设备完整性保护方法 | |
CN109951490A (zh) | 基于区块链的网页防篡改方法、***及电子设备 | |
US20190036895A1 (en) | Data distribution over nodal elements | |
CN102170440B (zh) | 适用于存储云间数据安全迁移的方法 | |
CN115210741B (zh) | 部分有序的区块链 | |
US11580240B2 (en) | Protecting sensitive data | |
CN111444277B (zh) | 一种基于区块链技术的反恐情报协同共享平台及方法 | |
CN109753815B (zh) | 基于区块链的数据处理方法、数据处理网络及电子设备 | |
CN114128214B (zh) | 用于配置区块链的安全层 | |
CN109472164A (zh) | 合同数据的验证方法及其网络和电子设备 | |
CN108830733A (zh) | 一种信息处理方法、区块链集群及*** | |
CN112749969B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN109491965A (zh) | 购售电合同的存储方法及其网络和电子设备 | |
CN112241919A (zh) | 具有数据流控制的多域区块链网络 | |
AU2019320957C1 (en) | Managing trust points in ledger systems | |
JP2023504492A (ja) | データ・オブジェクトの効率的しきい値ストレージ | |
CN113495920A (zh) | 一种基于区块链的内容审核***、方法、装置和存储介质 | |
Li et al. | Deduplication with blockchain for secure cloud storage | |
Ulybyshev et al. | (WIP) blockhub: Blockchain-based software development system for untrusted environments |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190719 |
|
RJ01 | Rejection of invention patent application after publication |