一种基于动态分片的文件传输方法及电子设备与流程

摘要: 本申请属于数据处理,尤其是涉及一种基于动态分片的文件传输方法及电子设备。背景技术:1、在云存储、企业网盘、数据备份、对象存储及文件同步等场景中,大文件通常采用分...
一种基于动态分片的文件传输方法及电子设备与流程

本申请属于数据处理,尤其是涉及一种基于动态分片的文件传输方法及电子设备。

背景技术:

1、在云存储、企业网盘、数据备份、对象存储及文件同步等场景中,大文件通常采用分片上传方式,然而分块哈希计算耗时、前后端交互频次和文件块复用,天然存在性能矛盾。相关技术中,分片大小通常采用固定值,或者主要依据网络带宽、客户端性能、服务器负载等因素进行调整。分片粒度越细,通常越有利于发现可复用的数据,但同时会增加哈希计算次数、索引查询次数以及客户端与服务器之间的交互次数,最终上传总耗时长;分片粒度越粗,则能够减少计算和交互开销,但可能降低重复数据识别的粒度,数据块复用率底,增加写存储次数,导致服务器负载高,上传总耗时长。

技术实现思路

1、有鉴于此,本申请旨在提出一种基于动态分片的文件传输方法及电子设备,以至少解决大文件分片传输中数据分片无法同时兼顾数据复用、哈希计算成本及前后端交互成本的问题。

2、本申请提供一种基于动态分片的文件传输方法,包括:获取目标文件;目标文件为待传输文件;对目标文件进行采样处理,获得文件采样特征信息;根据文件采样特征信息以及预存储的历史文件数据,确定目标文件对应的预测复用参数,预测复用参数用于表征目标文件中数据被已有存储数据复用的可能程度;获取传输过程中的计算成本参数和通信交互参数;根据预测复用参数调整计算成本参数和通信交互参数对应的权重;基于调整后的计算成本参数权重和通信交互参数权重确定目标文件对应的目标分片参数;根据目标分片参数对目标文件进行分片,并执行传输处理。

3、进一步的,采样处理包括:获取目标文件头区域、尾区域、中间区域和随机区域中的至少一种采样区域,并对采样区域中的数据执行哈希处理,以获得采样哈希信息。

4、文件采样特征信息包括采样区域数据对应的采样哈希信息、采样区域位置、采样区域长度以及目标文件大小信息、目标文件类型信息中的至少一种。

5、进一步的,历史文件数据包括历史文件采样特征信息、历史文件真实复用结果、历史文件分片参数、历史预测复用参数和历史预测误差中的至少一种。

6、进一步的,确定目标文件对应的预测复用参数包括:根据当前文件采样特征信息与历史文件采样特征信息进行匹配,获得候选历史文件记录;根据候选历史文件记录的特征相似度及对应的历史真实复用结果确定预测复用参数。

7、进一步的,计算成本参数用于表征客户端数据处理能力;计算成本参数根据客户端执行哈希处理任务时单位时间内处理的数据量确定,并根据客户端处理器性能、当前处理负载、内存状态和后台任务数量中的至少一种进行修正。

8、进一步的,通信交互参数用于表征上传过程中客户端与服务端交互承载能力;通信交互参数根据网络时延、可用带宽、服务器请求负载、请求队列长度、接口限流状态、存储索引查询压力以及资源配额中的至少一种确定。

9、进一步的,根据预测复用参数调整计算成本参数和通信交互参数对应的权重;包括:根据预测复用参数提高或者降低计算成本参数对应的权重,并相应调整通信交互参数对应的权重,以使计算成本参数和通信交互参数的相对影响程度随预测复用程度变化。

10、进一步的,基于调整后的计算成本参数权重和通信交互参数权重确定目标文件对应的目标分片参数包括:根据计算成本参数、通信交互参数以及调整后的权重获得综合评价结果;根据综合评价结果与预设映射关系确定目标分片参数;目标分片参数包括分片大小、分片数量、并发传输数量、批量查询数量和预取数量中的至少一种。

11、进一步的,还包括,在执行分片传输时,对分片数据计算分片哈希,将分片哈希发送至服务端进行已存数据查询;对于服务端确定已存在的分片,建立复用关系而不重复上传对应分片数据;对于服务端确定不存在的分片,上传对应分片数据。

12、本申请还提供了一种基于动态分片的文件传输系统,包括:文件获取模块,用于获取目标文件,其中目标文件为待传输文件;采样模块,用于对目标文件进行采样处理,获得文件采样特征信息;复用参数预测模块,用于根据文件采样特征信息和历史文件数据确定预测复用参数;计算成本评估模块,用于获得客户端计算成本参数;交互能力评估模块,用于确定通信交互参数;权重调整模块,用于根据预测复用参数调整计算成本参数和通信交互参数对应的权重;分片决策模块,用于确定目标分片参数;传输执行模块,用于根据目标分片参数执行分片校验及传输;反馈更新模块,用于根据实际复用结果更新历史文件数据。

13、本申请还提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现上述任一种基于动态分片的文件传输方法的步骤。

14、本申请还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被处理器执行时实现上述任一种基于动态分片的文件传输方法的步骤。

15、本申请还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述任一种基于动态分片的文件传输方法的步骤。

16、本申请通过首先对待传输目标文件进行采样处理,获得文件采样特征信息;并根据文件采样特征信息以及预存储的历史文件数据,确定待传输目标文件对应的预测复用参数,实现在正式分片上传之前利用采样特征预测潜在复用程度,使文件自身的数据复用特性能够提前参与分片决策;然后获取传输过程中的计算成本参数和通信交互参数,根据预测复用参数调整计算成本参数和通信交互参数对应的权重,并基于调整后的计算成本参数权重和通信交互参数权重确定目标文件对应的目标分片参数,实现将预测复用参数与客户端计算成本和系统交互承载能力综合考虑,从而在大文件分片传输中同时兼顾数据复用、哈希计算成本及前后端交互成本,最后,根据目标分片参数对待传输目标文件进行分片,并执行传输处理,从而解决了相关技术中大文件的高效稳定传输问题。

1.一种基于动态分片的文件传输方法,其特征在于:

2.根据权利要求1所述的基于动态分片的文件传输方法,其特征在于:所述采样处理包括:获取所述目标文件头区域、尾区域、中间区域和随机区域中的至少一种采样区域,并对所述采样区域中的数据执行哈希处理,以获得采样哈希信息;

3.根据权利要求1所述的基于动态分片的文件传输方法,其特征在于:所述历史文件数据包括历史文件采样特征信息、历史文件真实复用结果、历史文件分片参数、历史预测复用参数和历史预测误差中的至少一种。

4.根据权利要求3所述的基于动态分片的文件传输方法,其特征在于:所述确定所述目标文件对应的预测复用参数包括:根据当前文件采样特征信息与历史文件采样特征信息进行匹配,获得候选历史文件记录;根据候选历史文件记录的特征相似度及对应的历史真实复用结果确定所述预测复用参数。

5.根据权利要求1所述的基于动态分片的文件传输方法,其特征在于:所述计算成本参数用于表征客户端数据处理能力;所述计算成本参数根据客户端执行哈希处理任务时单位时间内处理的数据量确定,并根据客户端处理器性能、当前处理负载、内存状态和后台任务数量中的至少一种进行修正。

6.根据权利要求1所述的基于动态分片的文件传输方法,其特征在于:所述通信交互参数用于表征上传过程中客户端与服务端交互承载能力;所述通信交互参数根据网络时延、可用带宽、服务器请求负载、请求队列长度、接口限流状态、存储索引查询压力以及资源配额中的至少一种确定。

7.根据权利要求1所述的基于动态分片的文件传输方法,其特征在于:所述根据所述预测复用参数调整所述计算成本参数和所述通信交互参数对应的权重;包括:根据预测复用参数提高或者降低计算成本参数对应的权重,并相应调整通信交互参数对应的权重,以使计算成本参数和通信交互参数的相对影响程度随预测复用程度变化。

8.根据权利要求1所述的基于动态分片的文件传输方法,其特征在于:所述基于调整后的计算成本参数权重和通信交互参数权重确定所述目标文件对应的目标分片参数包括:根据计算成本参数、通信交互参数以及调整后的权重获得综合评价结果;根据所述综合评价结果与预设映射关系确定目标分片参数;所述目标分片参数包括分片大小、分片数量、并发传输数量、批量查询数量和预取数量中的至少一种。

9.根据权利要求1所述的基于动态分片的文件传输方法,其特征在于:还包括,在执行分片传输时,对分片数据计算分片哈希,将分片哈希发送至服务端进行已存数据查询;对于服务端确定已存在的分片,建立复用关系而不重复上传对应分片数据;对于服务端确定不存在的分片,上传对应分片数据。

10.一种电子设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述权利要求1-9任一所述的基于动态分片的文件传输方法。