文件传输方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:37304089 阅读:4 留言:0更新日期:2023-04-21 22:49
本申请提供了一种文件传输方法、装置、电子设备及计算机可读存储介质。其中,该方法包括:根据目标文件的文件信息确定相应数量的读线程读取所述目标文件,并将所述目标文件存储到与所述读线程对应的源端数据缓存队列;通过与所述读线程数量相同的传输线程读取所述源端数据缓存队列中的所述目标文件,并将所述目标文件存储到与写线程对应的目的端数据缓存队列;通过写线程将所述目的端数据缓存队列中的所述目标文件写入到目的端文件服务器。本申请实施例通过根据目标文件的文件信息设置相应数量的读线程、传输线程以及写线程以实现对目标文件的传输,能够实现小文件并行传输,大文件分块后并行传输,提高文件传输效率。提高文件传输效率。提高文件传输效率。

【技术实现步骤摘要】
文件传输方法、装置、电子设备及计算机可读存储介质


[0001]本申请涉及数据传输领域,具体而言,涉及一种文件传输方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]随着互联网的迅速发展,各个机构已广泛利用互联网向外提供服务,如政府对外提供便民服务的接口,这类场景中的文件同步需求较为特殊:文件服务器至少有一个位于有保密和安全需求的内部网络,另一个可能与互联网连通供外界操作,也可能是其他的安全域,它们的数据传输需要经过隔离设备的转发才能实现。为了尽可能不使用客户端软件,避免客户端被破解的风险,政府和用户的交互通常使用公有的文件传输协议和网络通信协议,将所有数据同步与清洗功能的实现都放在安全数据交换设备上。但是随着各种业务的快速发展,对文件的同步的效率和准确率提出了更高的要求,目前的这种文件传输方法传输效率较低,不能满足大量文件同步需求。

技术实现思路

[0003]有鉴于此,本申请实施例的目的在于提供一种文件传输方法、装置、电子设备及计算机可读存储介质,能够提高文件传输的效率。
[0004]第一方面,本申请实施例提供了一种文件传输方法,包括:根据目标文件的文件信息确定相应数量的读线程读取所述目标文件,并将所述目标文件存储到与所述读线程对应的源端数据缓存队列;通过与所述读线程数量相同的传输线程读取所述源端数据缓存队列中的所述目标文件,并将所述目标文件存储到与写线程对应的目的端数据缓存队列;通过写线程将所述目的端数据缓存队列中的所述目标文件写入到目的端文件服务器。
[0005]在上述实现过程中,通过根据目标文件的文件信息设置相应数量的读线程、传输线程以及写线程以实现对目标文件的传输。对于大文件可以设
[0006]置多个读线程、传输线程以及写线程对该目标文件的各个文件块进行并行5传输,对于小文件也可以通过设置多个读线程、传输线程以及写线程对各个小文件进行并行传输,提高了目标文件的传输效率。
[0007]在一个实施例中,所述根据目标文件的文件信息确定相应数量的读线程读取所述目标文件,包括:判断所述目标文件的文件大小是否大于大文
[0008]件阈值;若所述目标文件的文件大小大于所述大文件阈值,则根据所述目0标文件的文件大小和预设线程分配规则确定所述读线程的数量;通过所述数量的读线程读取所述目标文件。
[0009]在上述实现过程中,通过将目标文件的文件大小和大文件阈值进行比较,在确定目标文件为大文件后,进一步基于比较结果和预设的线程分配
[0010]规则确定该目标文件需要的读线程数量,以通过多个读线程读取目标文件,5以将大文件分块后进行并行传输,提高了文件传输效率。
[0011]在一个实施例中,所述通过所述数量的读线程读取所述目标文件,包括:每个所述读线程分别从所述目标文件的不同偏移地址读取所述目标文件的一部分,并确定相应的任务编号。
[0012]在上述实现过程中,每个读线程分别从目标文件的不同偏移地址读取0目标文件的一部分,且确定该目标文件各个部分相应的任务编号,在实现对大文件分块并行传输的同时,还能对目标文件的各个部分的先后顺序进行标记,以在对目标文件分部分传输后,能够将该目标文件还原,在提高目标文件的传输效率的同时,提高了目标文件传输的准确性。
[0013]在一个实施例中,所述通过写线程将所述目的端数据缓存队列中的所5述目标文件写入到目的端文件服务器,包括:根据所述任务编号将所述目
[0014]的端数据缓存队列中的所述目标文件的各个部分合并后,通过所述写线程写入到目的端文件服务器。
[0015]在上述实现过程中,在将目标文件写入到目的端文件服务器前,先将目标文件的各个部分按照任务编号进行合并后,以将目标文件还原到与传输前一致,提高了目标文件传输的准确性。
[0016]在一个实施例中,所述根据所述目标文件的文件大小和预设线程分配规则确定所述读线程的数量之后,所述方法还包括:判断当前的线程的数量是否满足所述目标文件所需线程的数量,所述线程包括读线程、传输线程和写线程;若不满足,则根据当前的线程的数量和所述目标文件所需线程的数量的差异产生相应数量的线程和数据缓存队列,所述数据缓存队列包括源端数据缓存队列和目的端数据缓存队列。
[0017]在上述实现过程中,在当前的线程的数量不能满足目标文件所需的线程的数量时,可以根据当前的线程的数量和目标文件所需线程的数量的差值确定需要生产的线程数量,以生产相应数量的线程,实现目标文件的并行传输,提高文件传输效率。
[0018]在一个实施例中,所述方法还包括:若所述目标文件的文件大小小于所述大文件阈值,则根据当前的读线程的数量读取相应数量的所述目标文件。
[0019]在上述实现过程中,在确定出目标文件为小文件时,可以根据目标文件的数量确定相应数量的读线程读取对应的目标文件,以实现多个目标文件的并行传输,提高目标文件的传输效率。
[0020]在一个实施例中,所述方法还包括:轮询验证所述读线程、所述传输线程和所述写线程的状态;若存在无响应线程,则删除所述无响应线程传输的文件。
[0021]在上述实现过程中,在轮询时若发现无响应线程,则将该无响应线程传输的文件删除,以防止无响应线程在传输文件时出错导致被传输的文件发生错误,提高了文件传输的准确性。
[0022]第二方面,本申请实施例还提供一种文件传输装置,包括:读取模块:
[0023]用于根据目标文件的文件大小确定相应数量的读线程读取所述目标文件,并将所述目标文件存储到与所述读线程对应的源端数据缓存队列;传输模
[0024]块:用于通过与所述读线程数量相同的传输线程读取所述源端数据缓存队5列中的所述目标文件,并将所述目标文件存储到与写线程对应的目的端数据缓存队列;写入模块:用于通过写线程将所述目的端数据缓存队列中的所述目标文件写入到目的端文件服务器。
[0025]第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储
[0026]器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运0行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一
[0027]方面的任一种可能的实施方式中的方法的步骤。
[0028]第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上
[0029]述第一方面,或第一方面的任一种可能的实施方式中文件传输方法的步骤。5为使本申请的上述目的、特征和优点能更明显易懂,下文特举实施例,
[0030]并配合所附附图,作详细说明如下。
附图说明
[0031]为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些0实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,
[0032]在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件传输方法,其特征在于,包括:根据目标文件的文件信息确定相应数量的读线程读取所述目标文件,并将所述目标文件存储到与所述读线程对应的源端数据缓存队列;通过与所述读线程数量相同的传输线程读取所述源端数据缓存队列中的所述目标文件,并将所述目标文件存储到与写线程对应的目的端数据缓存队列;通过写线程将所述目的端数据缓存队列中的所述目标文件写入到目的端文件服务器。2.根据权利要求1所述的方法,其特征在于,所述根据目标文件的文件信息确定相应数量的读线程读取所述目标文件,包括:判断所述目标文件的文件大小是否大于大文件阈值;若所述目标文件的文件大小大于所述大文件阈值,则根据所述目标文件的文件大小和预设线程分配规则确定所述读线程的数量;通过所述数量的读线程读取所述目标文件。3.根据权利要求2所述的方法,其特征在于,所述通过所述数量的读线程读取所述目标文件,包括:每个所述读线程分别从所述目标文件的不同偏移地址读取所述目标文件的一部分,并确定相应的任务编号。4.根据权利要求3所述的方法,其特征在于,所述通过写线程将所述目的端数据缓存队列中的所述目标文件写入到目的端文件服务器,包括:根据所述任务编号将所述目的端数据缓存队列中的所述目标文件的各个部分合并后,通过所述写线程写入到目的端文件服务器。5.根据权利要求4所述的方法,其特征在于,所述根据所述目标文件的文件大小和预设线程分配规则确定所述读线程的数量之后,所述方法还包括:判断当前的线程的数量是否满足所述目标文件所需线程的数量,所述线程包括读线程、传...

【专利技术属性】
技术研发人员:余奕陈斌范瑞强
申请(专利权)人:北京天融信网络安全技术有限公司北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:

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

1