System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及区块链,尤其涉及一种基于区块链的文件处理方法、文件处理装置、文件处理设备以及计算机可读存储介质。
技术介绍
1、随着互联网技术的普及,越来越多的用户通过互联网上传或下载文件,例如图片、文本、视频等格式的文件。
2、目前的技术方案中,通常将文件放在大型的中心服务器上,从中心服务器上下载文件。在这种技术方案中,不仅下载效率较低,而且,如果中心服务器发生故障,容易导致文件丢失、无法下载等问题。
技术实现思路
1、本申请实施例的目的是提供一种文件处理方法、文件处理装置、文件处理设备以及计算机可读存储介质,以解决由于中心服务器发生故障导致文件丢失、无法下载的问题,提高文件下载效率。
2、为解决上述技术问题,本申请实施例是这样实现的:
3、根据本申请实施例的第一方面,提供了一种基于区块链的文件处理方法,包括:接收客户端对区块链上的目标文件的文件下载请求,所述文件下载请求包含所述客户端的网络地址信息以及所述目标文件的文件地址信息;基于所述客户端的网络地址信息确定所述目标文件在所述区块链上的实际下载节点;基于所述文件地址信息从所述实际下载节点下载所述目标文件,将下载的所述目标文件返回至所述客户端。
4、在本申请的一些实施例中,基于上述方案,基于所述客户端的网络地址信息确定所述目标文件在所述区块链上的实际下载节点,包括:基于所述客户端的网络地址信息从候选节点集中选取距所述客户端距离最近的第一节点,所述候选节点集包含所述客户端从所述区块链上的节
5、在本申请的一些实施例中,基于上述方案,将所述第一节点作为所述目标文件在所述区块链上的实际下载节点,包括:判断所述第一节点的负载是否小于第一预定阈值;若小于所述第一预定阈值,则将所述第一节点作为所述目标文件在所述区块链上的实际下载节点;若大于等于所述第一预定阈值,则基于所述网络地址信息通过负载均衡的方式确定所述目标文件在所述区块链上的实际下载节点。
6、在本申请的一些实施例中,基于上述方案,所述方法还包括:在下载完成之后,确定所述实际下载节点是否属于所述候选节点集;若所述实际下载节点不属于所述候选节点集,则确定从所述实际下载节点下载文件的下载次数;若所述下载次数大于所述预定次数阈值,则将所述实际下载节点加入到所述候选节点集。
7、在本申请的一些实施例中,基于上述方案,基于所述客户端的网络地址信息确定所述目标文件在所述区块链上的实际下载节点,包括:基于所述客户端的网络地址信息确定所述区块链上距所述客户端距离最近的第二节点;判断所述第二节点的负载是否小于第二预定阈值;若小于所述第二预定阈值,则将所述第二节点作为所述目标文件在所述区块链上的实际下载节点;若大于等于所述第二预定阈值,则基于所述网络地址信息通过负载均衡的方式确定所述目标文件在所述区块链上的实际下载节点。
8、在本申请的一些实施例中,基于上述方案,所述方法还包括:若确定了所述目标文件在所述区块链上的实际下载节点,则将所述文件下载请求转发至所述实际下载节点;从所述文件下载请求中提取所述目标文件的所述文件地址信息。
9、在本申请的一些实施例中,基于上述方案,所述方法还包括:对所述目标文件进行哈希运算,得到所述目标文件的哈希值;基于所述哈希值以及预定字符串生成所述目标文件的所述文件地址信息。
10、在本申请的一些实施例中,基于上述方案,所述方法还包括:接收将所述目标文件上传至所述区块链的文件上传请求;控制所述区块链上的各个节点对所述目标文件进行共识处理;若所述区块链上的各个节点达成共识,则将所述目标文件同步至所述区块链的各个节点。
11、在本申请的一些实施例中,基于上述方案,将下载的所述目标文件返回至所述客户端,包括:从所述文件下载请求中提取所述客户端的标识信息;若根据所述标识信息判定所述客户端为移动客户端,则对所述目标文件进行压缩;将压缩后的所述目标文件返回至所述客户端。
12、根据本申请实施例的第二方面,提供了一种基于区块链的文件处理方法,应用于客户端,包括:发送对区块链上的目标文件的文件下载请求,所述文件下载请求包含所述客户端的网络地址信息以及所述目标文件的文件地址信息;接收所述区块链上的实际下载节点基于所述文件地址信息返回的所述目标文件,所述实际下载节点根据所述网络地址信息确定。
13、在本申请的一些实施例中,基于上述方案,发送对区块链上的目标文件的文件下载请求,包括:向所述区块链上的候选节点发送对目标文件的文件下载请求,所述候选节点包含从所述区块链上的节点下载文件的下载次数大于预定次数阈值的节点。
14、在本申请的一些实施例中,基于上述方案,所述文件处理方法还包括:确定从所述实际下载节点下载文件的下载次数;若所述下载次数大于预定次数阈值,则将所述实际下载节点作为所述客户端从所述区块链上下载文件的候选节点。
15、根据本申请实施例的第三方面,提供了一种基于区块链的文件处理装置,包括:第一接收模块,用于接收客户端对区块链上的目标文件的文件下载请求,所述文件下载请求包含所述客户端的网络地址信息以及所述目标文件的文件地址信息;节点确定模块,用于基于所述客户端的网络地址信息确定所述目标文件在所述区块链上的实际下载节点;下载模块,用于基于所述文件地址信息从所述实际下载节点下载所述目标文件,将下载的所述目标文件返回至所述客户端。
16、在本申请的一些实施例中,基于上述方案,所述节点确定模块包括:第一节点确定单元,用于基于所述客户端的网络地址信息从候选节点集中选取距所述客户端距离最近的第一节点,所述候选节点集包含所述客户端从所述区块链上的节点下载文件的下载次数大于预定次数阈值的节点;下载节点确定单元,用于将所述第一节点作为所述目标文件在所述区块链上的实际下载节点。
17、在本申请的一些实施例中,基于上述方案,所述下载节点确定单元包括:判断单元,用于判断所述第一节点的负载是否小于第一预定阈值;第一确定单元,用于若小于所述第一预定阈值,则将所述第一节点作为所述目标文件在所述区块链上的实际下载节点;第二确定单元,用于若大于等于所述第一预定阈值,则基于所述网络地址信息通过负载均衡的方式确定所述目标文件在所述区块链上的实际下载节点。
18、在本申请的一些实施例中,基于上述方案,所述文件处理装置还包括:节点判断模块,用于在下载完成之后,确定所述实际下载节点是否属于所述候选节点集;下载次数确定模块,用于若所述实际下载节点不属于所述候选节点集,则确定从所述实际下载节点下载文件的下载次数;节点加入模块,用于若所述下载次数大于所述预定次数阈值,则将所述实际下载节点加入到所述候选节点集。
19、在本申请的一些实施例中,基于上述方案,所述节点确定模块包括:第二节点确定单元,用于基于所述客户端的网络地址信息确定所述区块链上距所述客户本文档来自技高网...
【技术保护点】
1.一种基于区块链的文件处理方法,其特征在于,包括:
2.根据权利要求1所述的文件处理方法,其特征在于,基于所述客户端的网络地址信息确定所述目标文件在所述区块链上的实际下载节点,包括:
3.根据权利要求2所述的文件处理方法,其特征在于,将所述第一节点作为所述目标文件在所述区块链上的实际下载节点,包括:
4.根据权利要求3所述的文件处理方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的文件处理方法,其特征在于,基于所述客户端的网络地址信息确定所述目标文件在所述区块链上的实际下载节点,包括:
6.根据权利要求1所述的文件处理方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的文件处理方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的文件处理方法,其特征在于,所述方法还包括:
9.根据权利要求1至8中任一项所述的文件处理方法,其特征在于,将下载的所述目标文件返回至所述客户端,包括:
10.一种基于区块链的文件处理方法,应用于客户端,其特征在于,包括:<
...【技术特征摘要】
1.一种基于区块链的文件处理方法,其特征在于,包括:
2.根据权利要求1所述的文件处理方法,其特征在于,基于所述客户端的网络地址信息确定所述目标文件在所述区块链上的实际下载节点,包括:
3.根据权利要求2所述的文件处理方法,其特征在于,将所述第一节点作为所述目标文件在所述区块链上的实际下载节点,包括:
4.根据权利要求3所述的文件处理方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的文件处理方法,其特征在于,基于所述客户端的网络地址信息确定所述目标文件在所述区块链上的实际下载节点,包括:
6.根据权利要求1所述的文件处理方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的文件处理方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的文件处理方法,其特征在于,所述方法还包括:
9.根据权利要求1至8中任一项所述的文件处理方法...
【专利技术属性】
技术研发人员:刘丹,
申请(专利权)人:创新先进技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。