一种文件上传方法及文件查询方法、电子设备技术

技术编号:27656077 阅读:16 留言:0更新日期:2021-03-12 14:18
本申请公开了一种文件上传方法及文件查询方法、电子设备、计算机可读存储介质。其中,所述文件上传方法包括:接收客户端上传的源文件;对所述源文件进行加密,得到加密文件;对所述源文件进行压缩,得到压缩文件;将所述压缩文件上传至分布式网络,接收所述网络返回的所述压缩文件在所述分布式网络中的文件地址;将所述加密文件和所述文件地址上传至区块链系统进行保存,其中,所述加密文件和所述文件地址与特定标识绑定。

【技术实现步骤摘要】
一种文件上传方法及文件查询方法、电子设备
本申请涉及文件处理
,尤其涉及一种文件上传方法及文件查询方法、电子设备、计算机可读存储介质。
技术介绍
分布式文件系统(DistributedFileSystem,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。DFS为分布在网络上任意位置的资源提供一个逻辑上的树形文件系统结构,从而使用户访问分布在网络上的共享文件更加简便。由于现有的分布式文件系统中,大文件是直接上传至分布式网络中存储,需占据较大存储空间,无法高效地利用服务器的存储资源。
技术实现思路
本申请实施例的目的是提供一种文件上传方法及文件查询方法、电子设备、计算机可读存储介质,能够将大文件全部压缩后再在分布式网络存储,大大节省了存储空间。为达到上述目的,本申请实施例的技术方案是这样实现的:本申请实施例提供的文件上传方法,包括:接收客户端上传的源文件;对所述源文件进行加密,得到加密文件;对所述源文件进行压缩,得到压缩文件;将所述压缩文件上传至分布式网络,接收所述分布式网络返回的所述压缩文件在所述分布式网络中的文件地址;将所述加密文件和所述文件地址上传至区块链系统进行保存,其中,所述加密文件和所述文件地址与特定标识绑定。在一可选实施方式中,所述对所述源文件进行加密,得到加密文件,包括:对所述源文件进行散列哈希加密,得到所述源文件对应的文件指纹,其中,所述文件指纹是指所述源文件对应的加密文件。在一可选实施方式中,所述对所述源文件进行压缩,得到压缩文件,包括:将所述源文件添加到待压缩文件队列,所述待压缩文件队列包括N个待压缩的源文件,N为正整数;利用M个线程对所述待压缩文件队列中的M个源文件进行并行压缩,得到M个压缩文件;M为小于等于N的正整数;将所述M个压缩文件分别添加至压缩文件队列。在一可选实施方式中,所述利用M个线程对所述待压缩文件队列中的M个源文件进行并行压缩,包括:利用M个线程从所述待压缩文件队列中并行取出M个源文件,并对所述M个源文件进行并行压缩。在一可选实施方式中,确定线程池中的处于空闲状态的线程的数量为P,P为正整数;如果P大于等于M,则唤醒所述线程池中的M个处于空闲状态的线程,唤醒后的M个线程用于处理所述M个源文件的压缩任务;如果P小于M,则等待所述线程池中的处于空闲状态的线程的数量达到M。在一可选实施方式中,所述将所述压缩文件上传至IPFS网络,包括:利用分布式线程从所述压缩文件队列中串行取出压缩文件,将取出的压缩文件上传至分布式网络。本申请实施例提供的文件查询方法,包括:接收客户端发送的特定标识;从区块链系统中查找与所述特定标识对应的加密文件和文件地址;根据所述文件地址从分布式网络获取压缩文件;对所述压缩文件进行解压,得到所述压缩文件对应的源文件;对所述源文件进行加密,得到参考加密文件;对比所述参考加密文件和区块链系统中查找到的所述加密文件是否一致,若一致,则确定从分布式网络获取到的压缩文件未被篡改。在一可选实施方式中,所述对所述源文件进行加密,得到参考加密文件,包括:对所述源文件进行散列哈希加密,得到所述源文件对应的文件指纹,其中,所述文件指纹是指所述参考加密文件。在一可选实施方式中,所述对所述压缩文件进行解压,得到所述压缩文件对应的源文件,包括:将所述压缩文件添加到待解压文件队列,所述待解压文件队列包括N个待解压的压缩文件,N为正整数;利用M个线程对所述待解压文件队列中的M个压缩文件进行并行解压,得到M个源文件;M为小于等于N的正整数;将所述M个源文件分别添加至解压文件队列。在一可选实施方式中,所述利用M个线程对所述待解压文件队列中的M个压缩文件进行并行解压,包括:利用M个线程从所述待解压文件队列中并行取出M个压缩文件,并对所述M个压缩文件进行并行解压。在一可选实施方式中,所述方法还包括:确定线程池中的处于空闲状态的线程的数量为P,P为正整数;如果P大于等于M,则唤醒所述线程池中的M个处于空闲状态的线程,唤醒后的M个线程用于处理所述M个源文件的压缩任务;如果P小于M,则等待所述线程池中的处于空闲状态的线程的数量达到M。本申请实施例提供的电子设备,包括:第一接收单元,用于接收客户端上传的源文件;加密单元,用于对所述源文件进行加密,得到加密文件;压缩单元,用于对所述源文件进行压缩,得到压缩文件;第一发送单元,用于将所述压缩文件上传至分布式网络;第二接收单元,用于接收所述分布式网络返回的所述压缩文件在所述分布式网络中的文件地址;第二发送单元,用于将所述加密文件和所述文件地址上传至区块链系统进行保存,其中,所述加密文件和所述文件地址与特定标识绑定。在一可选实施方式中,所述加密单元,具体用于对所述源文件进行散列哈希加密,得到所述源文件对应的文件指纹,其中,所述文件指纹是指所述源文件对应的加密文件。在一可选实施方式中,所述压缩单元包括:第一添加子单元,用于将所述源文件添加到待压缩文件队列,所述待压缩文件队列包括N个待压缩的源文件,N为正整数;任务处理子单元,用于利用M个线程对所述待压缩文件队列中的M个源文件进行并行压缩,得到M个压缩文件;M为小于等于N的正整数;第二添加子单元,用于将所述M个压缩文件分别添加至压缩文件队列。在一可选实施方式中,所述任务处理子单元,具体用于利用M个线程从所述待压缩文件队列中并行取出M个源文件,并对所述M个源文件进行并行压缩。在一可选实施方式中,所述任务处理子单元,还用于确定线程池中的处于空闲状态的线程的数量为P,P为正整数;如果P大于等于M,则唤醒所述线程池中的M个处于空闲状态的线程,唤醒后的M个线程用于处理所述M个源文件的压缩任务;如果P小于M,则等待所述线程池中的处于空闲状态的线程的数量达到M。在一可选实施方式中,所述第一发送单元,具体用于利用分布式线程从所述压缩文件队列中串行取出压缩文件,将取出的压缩文件上传至分布式网络。在一可选实施方式中,所述第一发送单元,具体用于利用分布式线程从所述压缩文件队列中串行取出压缩文件,将取出的压缩文件上传至分布式网络。本申请实施例提供的电子设备,包括:接收单元,用于接收客户端发送的特定标识;查找单元,用于从区块链系统中查找与所述特定标识对应的加密文件和文件地址;获取单元,用于根据所述文件地址从分布式网络获取压缩文件;解压单元,用于对所述压缩文件进行解压,得到所述压缩文件对应的源文件;加密单元,用于对所述源文件进行加密,得到参考加密文件;对比单元,用于对比所本文档来自技高网...

【技术保护点】
1.一种文件上传方法,其特征在于,所述方法包括:/n接收客户端上传的源文件;/n对所述源文件进行加密,得到加密文件;/n对所述源文件进行压缩,得到压缩文件;/n将所述压缩文件上传至分布式网络,接收所述网络返回的所述压缩文件在所述分布式网络中的文件地址;/n将所述加密文件和所述文件地址上传至区块链系统进行保存,其中,所述加密文件和所述文件地址与特定标识绑定。/n

【技术特征摘要】
1.一种文件上传方法,其特征在于,所述方法包括:
接收客户端上传的源文件;
对所述源文件进行加密,得到加密文件;
对所述源文件进行压缩,得到压缩文件;
将所述压缩文件上传至分布式网络,接收所述网络返回的所述压缩文件在所述分布式网络中的文件地址;
将所述加密文件和所述文件地址上传至区块链系统进行保存,其中,所述加密文件和所述文件地址与特定标识绑定。


2.根据权利要求1所述的方法,其特征在于,所述对所述源文件进行加密,得到加密文件,包括:
对所述源文件进行散列哈希加密,得到所述源文件对应的文件指纹,其中,所述文件指纹是指所述源文件对应的加密文件。


3.根据权利要求1所述的方法,其特征在于,所述对所述源文件进行压缩,得到压缩文件,包括:
将所述源文件添加到待压缩文件队列,所述待压缩文件队列包括N个待压缩的源文件,N为正整数;
利用M个线程对所述待压缩文件队列中的M个源文件进行并行压缩,得到M个压缩文件;M为小于等于N的正整数;
将所述M个压缩文件分别添加至压缩文件队列。


4.根据权利要求3所述的方法,其特征在于,所述利用M个线程对所述待压缩文件队列中的M个源文件进行并行压缩,包括:
利用M个线程从所述待压缩文件队列中并行取出M个源文件,并对所述M个源文件进行并行压缩。


5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
确定线程池中的处于空闲状态的线程的数量为P,P为正整数;
如果P大于等于M,则唤醒所述线程池中的M个处于空闲状态的线程,唤醒后的M个线程用于处理所述M个源文件的压缩任务;
如果P小于M,则等待所述线程池中的处于空闲状态的线程的数量达到M。


6.根据权利要求3至5中任一项所述的方法,其特征在于,所述将所述压缩文件上传至分布式网络,包括:
利用分布式网络的线程从所述压缩文件队列中串行取出压缩文件,将取出的压缩文件上传至分布式网络。


7.一种文件查询方法,其特征在于,所述方法包括:
接收客户端发送的特定标识;
从区块链系统中查找与所述特定标识对应的加密文件和文件地址;
根据所述文件地址从分布式网络获取压缩文件;
对所述压缩文件进行解压,得到所述压缩文件对应的源文件;
对所述源文件进行加密,得到参考加密文件;
对比所述参考加密文件和区块链系统中查找到的所述加密文件是否一致,若一致,则确定从分布式网络获取到的压缩文件未被篡改。


8.根据权利要求7所述的方法,其特征在于,所述对所述源文件进行加密,得到参考加密文件,包括:
对所述源文件进行散列哈希加密,得到所述源文件对应的文件指纹,其中,所述文件指纹是指所述参考加密文件。


9.根据权利要求7所述的方法,其特征在于,所述对所述压缩文件进行解压,得到所述压缩文件对应的源文件,包括:
将所述压缩文件添加到待解压文件队列,所述待解压文件队列包括N个待解压的压缩文件,N为正整数;
利用M个线程对所述待解压文件队列中的M个压缩文件进行并行解压,得到M个源文件;M为小于等于N的正整数;
将所述M个源文件分别添加至解压文件队列。


10.根据权利要求9所述的方法,其特征在于,所述利用M个线程对所述待解压文件队列中的M个压缩文件进行并行解压,包括:
利用M个线程从所述待解压文件队列中并行取出M个压缩文件,并对所述M个压缩文件进行并行解压。


11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
确定线程池中的处于空闲状态的线程的数量为P,P为正整数;
如果P大于等于M,则唤醒所述线程池中的M个处于空闲状态的线程,唤醒后的M个线程用于处理所述M个压缩文件的解压任务;
如果P小于M,则等待所述线程池中的处于空闲状态的线程的数量达到M。


12.一种电子设备,其特征在于,所述电子设备包括:
第一接收单元,用于接收客户端上传的源文件;
加密单元,用于对所述源文件进行加密,得到加密文件;
压缩单元,用于对所述源文件进行压缩,得到压缩文件;
第一发送单元,用于将所述压缩文件上...

【专利技术属性】
技术研发人员:吴良顺
申请(专利权)人:卓尔智联武汉研究院有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1