CN113535648A - 一种基于ipfs的分布式云存储方法、设备及存储介质 - Google Patents
一种基于ipfs的分布式云存储方法、设备及存储介质 Download PDFInfo
- Publication number
- CN113535648A CN113535648A CN202110847868.5A CN202110847868A CN113535648A CN 113535648 A CN113535648 A CN 113535648A CN 202110847868 A CN202110847868 A CN 202110847868A CN 113535648 A CN113535648 A CN 113535648A
- Authority
- CN
- China
- Prior art keywords
- storage
- file
- ipfs
- client
- 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
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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于IPFS的分布式云存储方法,用以解决现有的存储方法容易导致文件安全性低的技术问题。方法包括:接收来自第一客户端的上传请求指令;响应于上传请求指令,接收存储文件并基于预设分割方式对存储文件进行分割;将分割后的存储文件上传至IPFS分布式存储网络不同的存储节点中,并生成第一哈希值;生成存储文件的下载地址,并将下载地址发送给服务器;接收第一客户端发送的下载请求指令,并基于下载请求指令,在IPFS分布式存储网络中查找并下载存储文件;将存储文件发送给第一客户端。本申请通过上述方法实现了大文件的分片存储在不同的节点,保证了文件的安全性,并且在下载读取文件时,多个子存储文件并行下载占满带宽提高下载速度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于IPFS的分布式云存储方法、设备及存储介质。
背景技术
随着计算机技术的发展,相比较于本地存储,云存储成为一种重要的存储方式。云存储是将数据存放在由第三方托管的多台虚拟服务器上。由于大多数工作类协同应用软件需要使用时间跨度很长的文件,因此无法在存储机制中设置过期删除功能,而是需要将这些文件进行云存储,以方便在需要时调取文件。
但随着这些工作类协同应用软件的使用周期的增长,云存储负担也会加重,同时也会消耗占用到本地资源。同时,较大文件存储在同一存储模块下,如果存储出现故障,那么整个大文件就发生丢失,因此,存储文件的安全性太低。
发明内容
本申请实施例提供了一种基于IPFS的分布式云存储方法、设备及存储介质,用以解决现有的云存储方法存储文件的安全性低的技术问题。
一方面,本申请实施例提供了一种基于IPFS的分布式云存储方法,分布式云存储方法应用于包含多个客户端的IPFS分布式存储网络中,IPFS分布式存储网络由多个存储节点构成,其特征在于,方法包括:接收来自第一客户端的上传请求指令;响应于上传请求指令,接收存储文件并基于预设分割方式对存储文件进行分割;将分割后的存储文件上传至IPFS分布式存储网络不同的存储节点中,并生成第一哈希值;生成存储文件的下载地址,并将下载地址发送给服务器;接收第一客户端发送的下载请求指令,并基于下载请求指令,在IPFS分布式存储网络中查找并下载存储文件;将存储文件发送给第一客户端。
本申请实施例中,IPFS分布式存储网络可以并行大量的客户端同时上传存储文件,对较大的存储文件可以进行分割,分割后的各个字存储文件同时上传到IPFS分布式存储网络的存储节点。可以最大程度的占满网络带宽,提高了文件上传的效率。同时将大文件分片存储还能提高存储文件的安全性,以防止大文件全部丢失。
在本申请的一种实现方式中,下载请求指令中携带哈希信息;接收第一客户端发送的下载请求指令,并基于下载数据请求指令,在IPFS分布式存储网络中查找并下载存储文件,具体为:响应于下载请求指令,从服务器获取下载地址;基于下载地址,生成第二哈希值;将第二哈希值与第一哈希值进行比对;当第二哈希值与第一哈希值相匹配时,在IPFS分布式存储网络中查找并下载存储文件。通过哈希寻址,可以最大程度的保证文件调取下载的正确性,防止个客户端之间的存储文件的调取发生混乱。保证了存储文件的准确性。
在本申请的一种实现方式中,响应于上传请求指令,接收存储文件并基于预设分割方式对存储文件进行分割,具体包括:基于预设存储大小,对存储文件进行分割,以得到多个子存储文件。将多个子存储文件分别上传至IPFS分布式存储网络的不同的存储节点,并生成第一哈希值。将较大的文件分片存储在不同的节点中,提高了数据存储的安全性。避免了在存储网络发生故障时,整个大文件都发生丢失的情况的发生。其中,每一个子存储文件都对应有一个第一哈希值。
在本申请的一种实现方式中,在基于预设存储大小,对存储文件进行分割,以得到多个子存储文件之后,方法还包括:确定IPFS分布式存储网络的各个存储节点的存储占用信息;将各个存储节点按照存储占用从低至高的顺序进行排序;将多个子存储文件分别存储至存储占用低的多个存储节点。通过自动进行权重判别,避免了数据一直往大的存储空间里写入的现象。充分利用所有存储节点进行数据存储。
在本申请的一种实现方式中,将分割后的存储文件上传至IPFS分布式存储网络不同的存储节点中,并生成第一哈希值之前,方法还包括:为多个子存储文件分别分配标识码;其中,标识码用于标识存储文件的分割位置,并且标识码填写在存储文件分割的位置处。
在本申请的一种实现方式中,方法还包括:分别下载存储于不同存储节点的子存储文件;基于标识码,将多个子存储文件拼接起来,以得到完整的存储文件,将拼接后的完整的存储文件发送给第一客户端。通过标识码将文件拼接,避免发送给客户端的文件是多个零散的文件。
在本申请的一种实现方式中,方法还包括:生成存储文件对应的身份标识信息;基于区块链创建平台为IPFS分布式存储网络建立IPFS区块链网络,将身份标识信息上传至IPFS区块链网络;接收第二客户端发送的读取请求信息;其中,读取请求信息用于读取存储文件;通过部署在IPFS区块链网络中的智能合约,验证读取请求信息的合法性;在合法性验证通过的情况下,在IPFS分布式存储网络中下载存储文件,并将存储文件发送给第二客户端。通过设置合法性验证,其他客户端仅在验证通过的情况下才可以访问IPFS分布式云存储网络中的存储文件,这样可以防止其他非法客户端恶意窃取存储文件,确保了存储文件的安全性。
在本申请的一种实现方式中,方法还包括:在将分割后的存储文件上传至IPFS分布式存储网络不同的存储节点中,并生成第一哈希值之后,方法还包括:生成存储文件的第一文件信息;其中,第一文件信息中包含存储文件的文件类型、文件大小、文件创建时间;经预设时间周期后,接收第一客户端生成的第二文件信息;判断第一文件信息与第二文件信息是否一致;在第一文件信息与第二文件信息不一致的情况下,确定存储文件被篡改;生成提示信息并发送给第一客户端,以提示第一客户端存储文件已经被篡改。通过设置定期查阅存储文件,可以防止文件被篡改。
本申请实施例提供了一种基于IPFS的分布式云存储的设备,设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:接收来自第一客户端的上传请求指令;响应于上传请求指令,接收存储文件并基于预设分割方式对存储文件进行分割;将分割后的存储文件上传至IPFS分布式存储网络不同的存储节点中,并生成第一哈希值;生成存储文件的下载地址,并将下载地址发送给第一客户端;接收第一客户端发送的下载请求指令,并基于下载请求指令,在IPFS分布式存储网络中查找并下载存储文件;将存储数据发送给第一客户端。
本申请实施例还提供了一种基于IPFS的分布式云存储的非易失性计算机存储介质,存储有计算机可执行指令,计算机可执行指令设置为:接收来自第一客户端的上传请求指令;响应于上传请求指令,接收存储文件并基于预设分割方式对存储文件进行分割;将分割后的存储文件上传至IPFS分布式存储网络不同的存储节点中,并生成第一哈希值;生成存储文件的下载地址,并将下载地址发送给第一客户端;接收第一客户端发送的下载请求指令,并基于下载请求指令,在IPFS分布式存储网络中查找并下载存储文件;将存储数据发送给第一客户端。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种基于IPFS的分布式云存储方法流程图;
图2为本申请实施例提供的一种基于IPFS的分布式云存储设备图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
云存储是一种网上在线存储的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属服务器上。云存储模式的过程是:客户按照自己的需要,向运营有大型数据中心的托管公司购买或租赁一定容量的存储空间。数据存储运营商根据客户的需求,在后端准备存储虚拟化的资源,并以存储资源池的方式提供,客户自行使用此资源池来存放要存储的文件。
目前,协同类软件用户基数较大,聊天与分享文件等应用场景中产生的图片或文件越来越多,对后台存储造成了极大的压力。由于一些工作类协同应用场景中经常需要使用时间跨度很长的文件,所以不能简单的设置过期删除机制,导致后台存储的使用率持续飙升,维护成本极大。现有的云存储方法是将很多大宗文件,冗杂的存储在同一个存储模块下,若存储模块出现故障,则大宗文件全部发生发生丢失。文件的安全性大大降低,并且大宗文件在从云端下载时,由于受下载端口影响限制,并不能占满带宽下载,下载速度极慢,影响用户的使用体验。
星际文件系统(InterPlanetary File System,IPFS),是一个旨在创建持久且分布式存储和共享文件的网络传输协议。IPFS提供了一个高吞吐量、按内容寻址的块存储模型,及与内容相关超链接。IPFS结合了分布式散列表、鼓励块交换和一个自我认证的名字空间。IPFS没有单点故障,并且节点之间不需要相互信任。因此,将IPFS技术的底层原理融入到云存储方法中,是解决目前存储方法中的存在的问题一个研究方向。
本申请实施例提供了一种基于IPFS的分布式云存储方法,下面通过附图对本申请实施例提出的技术方案进行详细的说明。
图1为本申请实施例提供的一种基于IPFS的分布式云存储方法流程图。如图1所示,该方法主要包括以下步骤,
步骤101、接收来自第一客户端的上传请求指令,并基于预设分割方式对存储文件进行分割。
本申请实施例中,提供了一套完整的基于IPFS的云存储方法,应用在包含多个客户端的IPFS分布式存储网络中,IPFS分布式存储网络中包含多个存储节点。当其中一个客户端向IPFS分布式存储网络发送用于将本地存储文件上传到IPFS分布式存储网络里的上传请求指令时,IPFS分布式存储网络通过无线通信网络将存储文件接收。
进一步地,IPFS分布式存储网络中存在多个存储节点,都可以放入存储文件。因此,可以将占内存较大的存储文件分割成多个较小的子存储文件,然后分别放入多个存储节点中。
在本申请实施例中,首先预设了一个存储大小,基于这个存储大小对较大的存储文件进行分割,得到多个较小的存储文件。例如,预设的存储大小为100MB,对于一个占内存为800MB的视频文件,那么,对该视频文件进行分割后会得到8个100MB的小视频文件。需说明的是,若不能划分为整数个的小文件,不足100MB的部分也会单独作为一个小文件。
本申请实施例中,对较大的存储文件进行分割之后,将得到的多个较小的子存储文件分别上传至IPFS分布式存储网络中多个存储节点里面。每一个子存储文件在上传到一个IPFS分布式存储网络的存储节点之后,都会生成一个第一哈希值。需说明的是,IPFS分布式存储网络必然包含足够多数量的存储节点,以防止分割后的子存储文件的数量超出IPFS分布式存储网络的存储节点数量,导致部分子存储文件不能被存入情况的发生。
本申请实施例中,将较大的存储文件分割为多个子存储文件之后,为防止后续将多个字存储文件整合成完整的存储之前的文件出现错误,会为多个子存储文件分配标识码,标识码用于标识存储文件发生分割的位置,例如一个视频文件,经过预设的存储大小,将其分割成三等份。每个子视频文件大小为五分钟,那么标识码填写的位置在05:00位置处,05:01位置处,10:00位置处,10:01位置处。
步骤102、将分割后的存储文件上传至IPFS分布式存储网络不同的存储节点,并生成第一哈希值。
本申请实施例中,对较大的存储文件进行分割之后,将得到的多个较小的子存储文件分别上传至IPFS分布式存储网络中多个存储节点里面。每一个子存储文件在上传到一个IPFS分布式存储网络的存储节点之后,都会生成一个第一哈希值。基于IPFS分布式存储网络的底层逻辑原理,各个字存储文件在上传到IPFS分布式存储网络的多个存储节点时候,可以并行上传,充分将网络的带宽占满,以合理有效的利用网速达到最佳的文件上传速率,极大的节约了上传文件的时间,保证多个客户端都能完成文件上传。
需说明的是,IPFS分布式存储网络必然包含足够多数量的存储节点,以防止分割后的子存储文件的数量超出IPFS分布式存储网络的存储节点数量,导致部分子存储文件不能被存入情况的发生。
本申请实施例中,由于各个存储节点之前存储的文件大小不一,存储情况也必然各不相同。因此,在将分割后的多个较小的子存储文件存入各个存储节点之前,要平衡各个存储节点的权重。本申请中,具体的做法是生成统计信息表以统计各个存储节点的存储占用信息,例如,第一存储节点存储空间已占用80%,剩余200MB存储空间可用。统计好各个存储节点的存储占用信息之后,将各个存储节点按照占用存储空间从低到高排列顺序,然后将分割后的各个子存储文件从存储空间占用最低的存储节点开始,分别存储到各个存储节点之中。
需要说明的是,在对IPFS分布式存储网络的各个存储节点进行权重规划时,可以利用现有的经典红黑树算法,来对IPFS分布式存储网络的各个存储节点的权重进行动态平衡规划,红黑树算法的具体实现过程,本申请说明书对此并不作具体的限定解释。
步骤103、生成存储文件的下载地址,并将下载地址发送给服务器。
本申请实施例中,将存储文件存储到IPFS分布式存储网络之后,系统会自动生成下载地址链接,然后将下载地址链接发送给第一客户端对应的服务器。第一客户端对应的服务器接收该下载地址链接,并将与之对接的IPFS分布式存储网络存储的该下载地址链接对应的存储文件信息进行抓取。
可以知道的是,同一台服务器会接受到其提供后台服务的多个客户端发来的下载地址链接。因此,服务器将接受到的下载地址链接与存储文件进行一一对应。以防止多个客户端之间上传的下载地址链接发生混乱,导致后期各个客户端从IPFS分布式存储网络下载云存储文件时,无法准确对应的问题。
步骤104、接收第一客户端发送的下载请求指令,并基于下载请求指令,在IPFS分布式存储网络中查找并下载存储文件。
本申请实施例中,各个客户端可以是用户们日常工作生活中常用的协同类软件,在进行聊天的时候需要调取,较长时间以前的文件,例如某个音视频文件或图片文件。此时,第一客户端会发送一个下载请求指令给IPFS分布式存储网络,IPFS分布式存储网络接收到该下载请求指令之后,会查找并将该下载请求指令对应的存储文件下载下来,然后发给该第一客户端。
具体地,在本申请实施例中,IPFS分布式存储网络根据下载请求指令,从服务器中获取之前发送到服务器的下载地址链接,然后根据该下载地址链接拆解出第二哈希值,将第二哈希值与第一哈希值进行比较,在第二哈希值与第一哈希值匹配成功的情况下,IPFS分布式存储网络在其下属的各个存储节点中,将各个子存储文件下载下来。各个子存储文件同时从IPFS分布式存储网络的各个存储节点中并行下载,可以充分占满网络带宽,有效的利用带宽网速,大大的提高了文件传输的效率,节约了云存储的时间。
本申请实施例中,IPFS分布式存储网络将各个子存储文件下载完成之后,还需要将各个子存储文件拼接起来,以将各个子存储文件恢复到进行IPFS分布式云存储之前的存储文件。具体过程是:根据前述步骤中,分割后的各个子存储文件的分割位置处都填写有标识码,标识码表征的是存储文件切割的位置,利用标示码可以将各个子存储文件按照分割前的顺序排列起来,再对各个子存储文件经过格式转换操作,将子存储文件进行合并格式,以得到完整的存储文件。
步骤105、将存储文件发送给第一客户端。
本申请实施例中,经过格式合并操作后,把各个子存储文件合并成为完整的存储文件。将存储文件通过共同覆盖的无线局域网络发送给第一客户端即可。
本申请实施例中,在整个存储周期中,系统还会对文件的安全性进行检测。当有客户端的存储文件存储到IPFS分布式存储网络时候,系统会自动生成改存储文件的第一文件信息,其中第一文件信息里包含该存储文件的文件类型,比如该文件类型为视频文件,还是图片文件或是文档,以及文件的大小,文件的创建时间。
经过一定的预设周期,比如24小时之后,接收第一客户端生成的第二文件信息。由于客户端对其本地存储的文件都会有所记录,本申请实施例中,客户端对每一个存储文件都记录有第二文件信息,第二文件信息和第一文件信息的内容基本一致。
本申请实施例中,将接收到第二文件信息与存储的第一文件信息进行比较。当第一文件信息和第二文件信息不一致时,这证明存储文件已经被篡改。IPFS分布式存储网络会生成提示消息并将提示消息发送给第一客户端,以用于提示第一客户端存储的文件已经被篡改。客户端在接收到提示消息后,可以从本地再次找到该存储文件,重新将存储文件上传到IPFS分布式存储网络。
在本申请实施例中,IPFS分布式存储网络是一个开放的共享的存储网络空间。各个客户端都可以互相之间读取数据文件。但容易存在数据被篡改的现象发生。本申请实施例中,每当有一个客户端的存储文件上传到IPFS分布式存储网络时,都会生成该存储文件对应的身份标识信息,该身份标识信息具体可以是该客户端的型号、Mac地址、无线局域网络的网络信息等等。然后根据区块链创建平台,对IPFS分布式存储网络建立IPFS区块链网络,并将该存储文件的身份标识信息上传到IPFS区块链网络。
本申请实施例中,当第二客户端想要读取第一客户端存储的存储文件时,会向系统发送读取请求信息。系统接收到该读取请求信息后,通过部署在区块链网络中的智能合约,对该读取请求信息进行合法性的验证。可以理解的是,身份标识信息中必然还会包含允许对本存储文件进行访问的其余客户端的信息进行的限定。当智能合约对第二客户端的读取请求信息的合法性验证通过后,才会在IPFS分布式存储网络将第二客户端想要访问的第一客户端的存储文件下载下来。并将该存储文件发送给第二客户端。以此来保证,第一客户端的存储文件不会被其余不合法的客户端进行数据窃取,确保了存储文件的安全性。
以上是本申请实施例提供的一种基于IPFS的分布式云存储方法,基于同样的发明构思,本申请实施例还提供了一种基于IPFS的分布式云存储设备。图2为本申请实施例提供的一种基于IPFS的分布式云存储设备示意图,如图2所示,该设备主要包括:至少一个处理器201;以及,与至少一个处理器通信连接的存储器202;其中,存储器202存储有可被至少一个处理器201执行的指令,指令被至少一个处理器201执行,以使至少一个处理器201能够完成:
接收来自第一客户端的上传请求指令;响应于上传请求指令,接收存储文件并基于预设分割方式对存储文件进行分割;将分割后的存储文件上传至IPFS分布式存储网络不同的存储节点中,并生成第一哈希值;生成存储文件的下载地址,并将下载地址发送给第一客户端;接收第一客户端发送的下载请求指令,并基于下载请求指令,在IPFS分布式存储网络中查找并下载存储文件;将存储数据发送给第一客户端。
本申请实施例中,还提供了一种基于IPFS的分布式云存储的非易失性计算机存储介质,存储有计算机可执行指令,计算机可执行指令设置为:接收来自第一客户端的上传请求指令;响应于上传请求指令,接收存储文件并基于预设分割方式对存储文件进行分割;将分割后的存储文件上传至IPFS分布式存储网络不同的存储节点中,并生成第一哈希值;生成存储文件的下载地址,并将下载地址发送给第一客户端;接收第一客户端发送的下载请求指令,并基于下载请求指令,在IPFS分布式存储网络中查找并下载存储文件;将存储数据发送给第一客户端。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于IPFS的分布式云存储方法,所述分布式云存储方法应用于包含多个客户端的IPFS分布式存储网络中,所述IPFS分布式存储网络由多个存储节点构成,其特征在于,所述方法包括:
接收来自第一客户端的上传请求指令;
响应于所述上传请求指令,接收存储文件并基于预设分割方式对所述存储文件进行分割;
将分割后的所述存储文件上传至所述IPFS分布式存储网络不同的存储节点中,并生成第一哈希值;
生成所述存储文件的下载地址,并将所述下载地址发送给服务器;
接收所述第一客户端发送的下载请求指令,并基于所述下载请求指令,在所述IPFS分布式存储网络中查找并下载所述存储文件;
将所述存储文件发送给所述第一客户端。
2.根据权利要求1所述的一种基于IPFS的分布式云存储方法,其特征在于,所述下载请求指令中携带哈希信息;所述接收所述第一客户端发送的下载请求指令,并基于所述下载数据请求指令,在所述IPFS分布式存储网络中查找并下载所述存储文件,具体为:
响应于所述下载请求指令,从所述服务器获取所述下载地址;
基于所述下载地址,生成第二哈希值;
将所述第二哈希值与所述第一哈希值进行比对;
当所述第二哈希值与所述第一哈希值相匹配时,在所述IPFS分布式存储网络中查找并下载所述存储文件。
3.根据权利要求1所述的一种基于IPFS的分布式云存储方法,其特征在于,所述响应于所述上传请求指令,接收存储文件并基于预设分割方式对所述存储文件进行分割,具体包括:
基于预设存储大小,对所述存储文件进行分割,以得到多个子存储文件;
将所述多个子存储文件分别上传至所述IPFS分布式存储网络的不同的存储节点,并生成所述第一哈希值;其中,每一个子存储文件都对应有一个所述第一哈希值。
4.根据权利要求3所述的一种基于IPFS的分布式云存储方法,其特征在于,在所述基于预设存储大小,对所述存储文件进行分割,以得到多个子存储文件之后,所述方法还包括:
确定所述IPFS分布式存储网络的各个存储节点的存储占用信息;
将所述各个存储节点按照存储占用从低至高的顺序进行排序;
将多个子存储文件分别存储至存储占用低的多个存储节点。
5.根据权利要求1所述的一种基于IPFS的分布式云存储方法,其特征在于,所述将分割后的所述存储文件上传至所述IPFS分布式存储网络不同的存储节点中,并生成第一哈希值之前,所述方法还包括:
为多个子存储文件分别分配标识码;其中,所述标识码用于标识所述存储文件的分割位置,并且所述标识码填写在所述存储文件分割的位置处。
6.根据权利要求5所述的一种基于IPFS的分布式云存储方法,其特征在于,所述方法还包括:
分别下载存储于不同存储节点的多个子存储文件;
基于所述标识码,将各个所述子存储文件拼接起来,以得到完整的分割前的所述存储文件;
将拼接后的完整的所述存储文件发送给所述第一客户端。
7.根据权利要求1所述的一种基于IPFS的分布式云存储方法,其特征在于,所述方法还包括:
生成所述存储文件对应的身份标识信息;
基于区块链创建平台为所述IPFS分布式存储网络建立IPFS区块链网络,将所述身份标识信息上传至所述IPFS区块链网络;
接收第二客户端发送的读取请求信息;其中,所述读取请求信息用于读取所述存储文件;
通过部署在所述IPFS区块链网络中的智能合约,验证所述读取请求信息的合法性;
在所述合法性验证通过的情况下,在IPFS分布式存储网络中下载所述存储文件,并将所述存储文件发送给所述第二客户端。
8.根据权利要求1所述的一种基于IPFS的分布式云存储方法,其特征在于,在所述将分割后的所述存储文件上传至所述IPFS分布式存储网络不同的存储节点中,并生成第一哈希值之后,所述方法还包括:
生成所述存储文件的第一文件信息;其中,所述第一文件信息中包含所述存储文件的文件类型、文件大小、文件创建时间;
经预设时间周期后,接收所述第一客户端生成的第二文件信息;
判断所述第一文件信息与所述第二文件信息是否一致;
在所述第一文件信息与所述第二文件信息不一致的情况下,确定所述存储文件被篡改;
生成提示信息并发送给所述第一客户端,以提示所述第一客户端所述存储文件已经被篡改。
9.一种基于IPFS的分布式云存储的设备,其特征在于,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
接收来自第一客户端的上传请求指令;
响应于所述上传请求指令,接收存储文件并基于预设分割方式对所述存储文件进行分割;
将分割后的所述存储文件上传至所述IPFS分布式存储网络不同的存储节点中,并生成第一哈希值;
生成所述存储文件的下载地址,并将所述下载地址发送给服务器;
接收所述第一客户端发送的下载请求指令,并基于所述下载请求指令,在所述IPFS分布式存储网络中查找并下载所述存储文件;
将所述存储数据发送给所述第一客户端。
10.一种基于IPFS的分布式云存储的非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:
接收来自第一客户端的上传请求指令;
响应于所述上传请求指令,接收存储文件并基于预设分割方式对所述存储文件进行分割;
将分割后的所述存储文件上传至所述IPFS分布式存储网络不同的存储节点中,并生成第一哈希值;
生成所述存储文件的下载地址,并将所述下载地址发送给服务器;
接收所述第一客户端发送的下载请求指令,并基于所述下载请求指令,在所述IPFS分布式存储网络中查找并下载所述存储文件;
将所述存储数据发送给所述第一客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110847868.5A CN113535648A (zh) | 2021-07-27 | 2021-07-27 | 一种基于ipfs的分布式云存储方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110847868.5A CN113535648A (zh) | 2021-07-27 | 2021-07-27 | 一种基于ipfs的分布式云存储方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113535648A true CN113535648A (zh) | 2021-10-22 |
Family
ID=78089142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110847868.5A Pending CN113535648A (zh) | 2021-07-27 | 2021-07-27 | 一种基于ipfs的分布式云存储方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535648A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138468A (zh) * | 2021-11-15 | 2022-03-04 | 苏州浪潮智能科技有限公司 | 一种封装任务量自适应分配方法、装置及存储介质 |
CN114374683A (zh) * | 2021-12-20 | 2022-04-19 | 上海金仕达软件科技有限公司 | 一种档案文件的管理方法、系统及计算机可读存储介质 |
CN114443608A (zh) * | 2022-04-07 | 2022-05-06 | 深圳市星卡科技有限公司 | 分布式文件存储及下载方法、装置、设备及介质 |
CN115037741A (zh) * | 2022-08-11 | 2022-09-09 | 中国长江三峡集团有限公司 | 一种文件传输方法及装置 |
CN115080526A (zh) * | 2022-08-22 | 2022-09-20 | 四川蜀天信息技术有限公司 | 一种基于ipfs大文件存储的方法 |
CN115242821A (zh) * | 2022-07-26 | 2022-10-25 | 中汽创智科技有限公司 | 一种ota升级方法及装置 |
CN115529319A (zh) * | 2022-08-04 | 2022-12-27 | 熵链科技(厦门)有限公司 | 基于ipfs网络的存储服务调控方法、系统、设备及存储介质 |
CN115827785A (zh) * | 2022-12-30 | 2023-03-21 | 中国联合网络通信集团有限公司 | 数据存储方法、装置、设备及可读存储介质 |
CN116185291A (zh) * | 2023-02-06 | 2023-05-30 | 深圳市迈科龙电子有限公司 | 中间件存储方法、装置、电子设备及可读存储介质 |
-
2021
- 2021-07-27 CN CN202110847868.5A patent/CN113535648A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138468A (zh) * | 2021-11-15 | 2022-03-04 | 苏州浪潮智能科技有限公司 | 一种封装任务量自适应分配方法、装置及存储介质 |
CN114138468B (zh) * | 2021-11-15 | 2024-01-12 | 苏州浪潮智能科技有限公司 | 一种封装任务量自适应分配方法、装置及存储介质 |
CN114374683A (zh) * | 2021-12-20 | 2022-04-19 | 上海金仕达软件科技有限公司 | 一种档案文件的管理方法、系统及计算机可读存储介质 |
CN114443608A (zh) * | 2022-04-07 | 2022-05-06 | 深圳市星卡科技有限公司 | 分布式文件存储及下载方法、装置、设备及介质 |
CN115242821A (zh) * | 2022-07-26 | 2022-10-25 | 中汽创智科技有限公司 | 一种ota升级方法及装置 |
CN115529319A (zh) * | 2022-08-04 | 2022-12-27 | 熵链科技(厦门)有限公司 | 基于ipfs网络的存储服务调控方法、系统、设备及存储介质 |
CN115529319B (zh) * | 2022-08-04 | 2024-06-04 | 熵链科技(厦门)有限公司 | 基于ipfs网络的存储服务调控方法、系统、设备及存储介质 |
CN115037741A (zh) * | 2022-08-11 | 2022-09-09 | 中国长江三峡集团有限公司 | 一种文件传输方法及装置 |
CN115037741B (zh) * | 2022-08-11 | 2022-11-15 | 中国长江三峡集团有限公司 | 一种文件传输方法及装置 |
CN115080526A (zh) * | 2022-08-22 | 2022-09-20 | 四川蜀天信息技术有限公司 | 一种基于ipfs大文件存储的方法 |
CN115827785A (zh) * | 2022-12-30 | 2023-03-21 | 中国联合网络通信集团有限公司 | 数据存储方法、装置、设备及可读存储介质 |
CN116185291A (zh) * | 2023-02-06 | 2023-05-30 | 深圳市迈科龙电子有限公司 | 中间件存储方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113535648A (zh) | 一种基于ipfs的分布式云存储方法、设备及存储介质 | |
CN110417558B (zh) | 签名的验证方法和装置、存储介质及电子装置 | |
CN111736775B (zh) | 多源存储方法、装置、计算机系统及存储介质 | |
CN111736872B (zh) | 灰度发布升级方法、装置、计算机系统及可读存储介质 | |
CN112491972A (zh) | 资源获取、分发、下载方法、装置、设备及存储介质 | |
US10623470B2 (en) | Optimizing internet data transfers using an intelligent router agent | |
CN110661829B (zh) | 文件下载方法及装置、客户端和计算机可读存储介质 | |
WO2020253634A1 (zh) | 一种数据处理方法、系统及装置 | |
US11645424B2 (en) | Integrity verification in cloud key-value stores | |
CN112445570A (zh) | 一种云平台资源迁移方法及其装置、存储介质 | |
CN113411404A (zh) | 一种文件下载方法、装置、服务器及存储介质 | |
CN111460394A (zh) | 一种版权文件的验证方法、装置及计算机可读存储介质 | |
CN106899564B (zh) | 一种登录方法和装置 | |
US11159607B2 (en) | Management for a load balancer cluster | |
CN104125294A (zh) | 一种大数据安全管理方法和系统 | |
CN110855688B (zh) | 一种区块链信息处理方法及相关设备 | |
US11481232B2 (en) | Registry image management | |
WO2017096886A1 (zh) | 内容推送的方法、装置以及系统 | |
CN111444542A (zh) | 一种针对版权文件的数据处理方法、装置及存储介质 | |
CN114900497A (zh) | 一种标识序号生成方法、装置、电子设备及存储介质 | |
CN114265664A (zh) | 边缘应用部署方法、装置、设备及存储介质 | |
CN113194330A (zh) | 一种碎片化多云视频资源管理方法及系统 | |
CN111158654A (zh) | 算法调用方法、装置、服务器及存储介质 | |
CN110474954A (zh) | 基于区块链的文件分享方法、装置、计算机设备及可读存储介质 | |
CN110912953A (zh) | 一种文件存储系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |