CN116594565A - 文件拷贝方法、装置及电子设备 - Google Patents
文件拷贝方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116594565A CN116594565A CN202310593846.XA CN202310593846A CN116594565A CN 116594565 A CN116594565 A CN 116594565A CN 202310593846 A CN202310593846 A CN 202310593846A CN 116594565 A CN116594565 A CN 116594565A
- Authority
- CN
- China
- Prior art keywords
- file
- copying
- copied
- equipment
- target file
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种文件拷贝方法、装置及电子设备,如果接收到将第一设备中预先存储的目标文件拷贝至多个待拷贝设备的拷贝请求,获取目标文件的文件大小,根据文件大小,采用多线程方式将目标文件拷贝至每个待拷贝设备;其中,多线程的线程数量根据预设的网络带宽和预设的文件传输速率确定。该方式中,当需要从第一设备向多个待拷贝设备拷贝目标文件时,可以采用多线程方式拷贝,并且,多线程的线程数量根据网络带宽和文件传输速率确定,从而可以提高文件传输效率,同时提高网络带宽的利用率。
Description
技术领域
本发明涉及文件处理技术领域,尤其是涉及一种文件拷贝方法、装置及电子设备。
背景技术
伴随云计算应用的发展,信息化逐渐覆盖到社会的各个领域。日常工作生活越来越多的通过网络来进行交流交互,网络数据量和速度也在不断增加。为满足日益增加的数据量的存储、加工和传输的需求,许多大容量的存储服务器应运而生,存储数据的硬盘数量也在不断增加。5G、AI、云技术的快速普及和发展,数据的产生呈几何级数增长,必然会带来更大的挑战,相关技术通常采用单线程方式串行传输数据,尤其在大型文件传输的过程中,该方式会出现文件传输效率低、网络带宽闲置较多的问题。
发明内容
本发明的目的在于提供一种文件拷贝方法、装置及电子设备,以提高文件传输效率,提高网络带宽的利用率。
本发明提供的一种文件拷贝方法,方法包括:如果接收到将第一设备中预先存储的目标文件拷贝至多个待拷贝设备的拷贝请求,获取目标文件的文件大小;根据文件大小,采用多线程方式将目标文件拷贝至每个待拷贝设备;其中,多线程的线程数量根据预设的网络带宽和预设的文件传输速率确定。
进一步的,根据文件大小,采用多线程方式将目标文件拷贝至每个待拷贝设备的步骤包括:根据文件大小和预设的文件传输速率,计算采用单线程方式拷贝目标文件的拷贝时间;如果文件大小大于第一预设阈值,和/或,拷贝时间大于第二预设阈值,将第一设备作为发送设备,从多个待拷贝设备中选取第二设备;其中,第二设备的数量与发送设备的数量相匹配;采用多线程方式将目标文件从发送设备并行拷贝至第二设备;将发送设备和第二设备作为新的发送设备,重复执行从多个待拷贝设备中选取第二设备的步骤,直至将目标文件拷贝至每个待拷贝设备。
进一步的,采用多线程方式将目标文件从发送设备并行拷贝至第二设备的步骤包括:按照线程数量拆分目标文件,得到与线程数量相同的多个子文件;将多个子文件分配至多个线程,以将每个子文件通过各自对应的线程拷贝至第二设备;通过第二设备组合接收到的每个子文件,得到目标文件。
进一步的,方法还包括:如果文件大小小于第一预设阈值,且拷贝时间小于第二预设阈值,将目标文件通过每个线程分别拷贝至每个待拷贝设备。
进一步的,多线程的线程数量通过下述方式确定:计算网络带宽和文件传输速率的比值,得到线程数量。
进一步的,方法还包括:通过每个待拷贝设备校验接收到的目标文件。
本发明提供的一种文件拷贝装置,装置包括:获取模块,用于如果接收到将第一设备中预先存储的目标文件拷贝至多个待拷贝设备的拷贝请求,获取目标文件的文件大小;拷贝模块,用于根据文件大小,采用多线程方式将目标文件拷贝至每个待拷贝设备;其中,多线程的线程数量根据预设的网络带宽和预设的文件传输速率确定。
进一步的,拷贝模块还用于:根据文件大小和预设的文件传输速率,计算采用单线程方式拷贝目标文件的拷贝时间;如果文件大小大于第一预设阈值,和/或,拷贝时间大于第二预设阈值,将第一设备作为发送设备,从多个待拷贝设备中选取第二设备;其中,第二设备的数量与发送设备的数量相匹配;采用多线程方式将目标文件从发送设备并行拷贝至第二设备;将发送设备和第二设备作为新的发送设备,重复执行从多个待拷贝设备中选取第二设备的步骤,直至将目标文件拷贝至每个待拷贝设备。
本发明提供的一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述任一项的文件拷贝方法。
本发明提供的一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述任一项的文件拷贝方法。
本发明提供的文件拷贝方法、装置及电子设备,如果接收到将第一设备中预先存储的目标文件拷贝至多个待拷贝设备的拷贝请求,获取目标文件的文件大小,根据文件大小,采用多线程方式将目标文件拷贝至每个待拷贝设备;其中,多线程的线程数量根据预设的网络带宽和预设的文件传输速率确定。该方式中,当需要从第一设备向多个待拷贝设备拷贝目标文件时,可以采用多线程方式拷贝,并且,多线程的线程数量根据网络带宽和文件传输速率确定,从而可以提高文件传输效率,同时提高网络带宽的利用率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种文件拷贝方法的流程图;
图2为本发明实施例提供的一种文件拷贝方式的示意图;
图3为本发明实施例提供的另一种文件拷贝方式的示意图;
图4为本发明实施例提供的一种文件拷贝装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术通常采用单线程方式串行方式传输数据,在大型文件传输的过程中,该方式无法满足传输效率越来越高的需求,对大文件的传输有90%的网络带宽是在闲置的,等待时间过长传输效果不明显,性能不理想。基于此,本发明实施例提供了一种文件拷贝方法、装置及电子设备,该技术可以应用于文件传输拷贝应用中,尤其可以应用于对大型文件的传输拷贝应用中。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种文件拷贝方法进行介绍,如图1所示,该方法包括如下步骤:
步骤S102,如果接收到将第一设备中预先存储的目标文件拷贝至多个待拷贝设备的拷贝请求,获取目标文件的文件大小。
上述第一设备可以是服务器等电子设备;上述多个待拷贝设备可以是多个服务器组成的服务器集群;上述目标文件可以是预先存储在第一设备中的文件,该目标文件的文件大小可能较大,也可能较小;在实际实现时,当需要将目标文件从第一设备拷贝至多个待拷贝设备时,可以先获取该目标文件的文件大小,通常情况下,如果目标文件中包含的数据量较大,则文件大小也较大,反之,如果目标文件中包含的数据量较小,则文件大小也较小。
步骤S104,根据文件大小,采用多线程方式将目标文件拷贝至每个待拷贝设备;其中,多线程的线程数量根据预设的网络带宽和预设的文件传输速率确定。
上述多线程可以理解为在一个进程中,同时开启多个线程,让多个线程同时去执行某些任务或功能,以提高程序的运行效率。上述网络带宽可以理解为在单位时间(一般指的是1秒钟)内能传输的数据量;当需要拷贝文件时,上述文件传输速率可以理解为是对单个文件的拷贝速率,比如,在单位时间内可以拷贝的数据量;在实际实现时,可以根据网络带宽和文件传输速率确定线程数量,比如,可以根据网络带宽和文件传输速率之间的比值确定多线程的线程数量;根据上述目标文件的文件大小,采用多线程方式执行对目标文件的拷贝操作。
上述文件拷贝方法,如果接收到将第一设备中预先存储的目标文件拷贝至多个待拷贝设备的拷贝请求,获取目标文件的文件大小,根据文件大小,采用多线程方式将目标文件拷贝至每个待拷贝设备;其中,多线程的线程数量根据预设的网络带宽和预设的文件传输速率确定。该方式中,当需要从第一设备向多个待拷贝设备拷贝目标文件时,可以采用多线程方式拷贝,并且,多线程的线程数量根据网络带宽和文件传输速率确定,从而可以提高文件传输效率,同时提高网络带宽的利用率。
本发明实施例还提供了另一种文件拷贝方法,该方法在上述实施例方法的基础上实现,该方法包括如下步骤:
步骤一,如果接收到将第一设备中预先存储的目标文件拷贝至多个待拷贝设备的拷贝请求,获取目标文件的文件大小。
步骤二,根据文件大小和预设的文件传输速率,计算采用单线程方式拷贝目标文件的拷贝时间。
由于相关技术通常采用单线程方式串行传输数据,当获取到目标文件的文件大小后,可以先计算采用相关技术中的单线程方式串行传输拷贝目标文件时所需要的拷贝时间,比如,目标文件的文件大小为10T,根据预设的文件传输速率计算得到的拷贝时间为1小时等。
步骤三,如果文件大小大于第一预设阈值,和/或,拷贝时间大于第二预设阈值,将第一设备作为发送设备,从多个待拷贝设备中选取第二设备;其中,第二设备的数量与发送设备的数量相匹配。
上述第一预设阈值和第二预设阈值都可以根据实际需求进行设置;如果目标文件的文件大小大于第一预设阈值,可以认为该目标文件较大,包含的数据量较多;如果拷贝时间大于第二预设阈值,可以认为采用单线程方式拷贝目标文件需要花费较长的时间;在第一次执行拷贝操作时,上述第二设备可以是多个待拷贝设备中的任意一个设备,具体可以根据实际需求选择;在实际实现时,如果目标文件的文件大小大于第一预设阈值,或者,采用单线程方式拷贝目标文件的拷贝时间大于第二预设阈值,或者,目标文件的文件大小大于第一预设阈值且拷贝时间大于第二预设阈值,由于在第一次执行拷贝操作时,只有第一设备中预先存储有目标文件,且第一设备只有一个,此时可以将第一设备作为发送设备,再从多个待拷贝设备中选取一个第二设备。
步骤四,采用多线程方式将目标文件从发送设备并行拷贝至第二设备;其中,多线程的线程数量根据预设的网络带宽和预设的文件传输速率确定。
多线程的线程数量通过下述方式确定:计算网络带宽和文件传输速率的比值,得到线程数量。
在实际实现时,可以将网络带宽除以单个文件的文件传输速率,得到多个线程的线程数量,比如,网络带宽100G,单个文件的文件拷贝速率1G,则线程数量n可以为100/1=100。
该步骤四可以通过以下步骤A至步骤C实现:
步骤A,按照线程数量拆分目标文件,得到与线程数量相同的多个子文件。
为方便说明,继续以上述线程数量n为100为例,此时可以将目标文件拆分为100个子文件进行传输拷贝,为保证传输效率达到最大化,可以将目标文件平均拆分为100个子文件,即每个子文件的数据量大小相同,为便于区分每个子文件以及后续的子文件组合,可以对每个子文件进行编号,如子文件1、子文件2等。
步骤B,将多个子文件分配至多个线程,以将每个子文件通过各自对应的线程拷贝至第二设备。
将每个子文件分配至每个线程,由于子文件的数量与多个线程的线程数量相同,因此,可以每个子文件对应一个线程,将每个子文件通过其对应的线程拷贝至第二设备。
步骤C,通过第二设备组合接收到的每个子文件,得到目标文件。
第二设备接收到每个子文件后,可以对每个子文件进行组合,具体的,可以根据每个子文件的编号按顺序进行组合,得到目标文件,至此完成了将目标文件拷贝至第二设备。
步骤五,将发送设备和第二设备作为新的发送设备,重复执行从多个待拷贝设备中选取第二设备的步骤,直至将目标文件拷贝至每个待拷贝设备。
由于第二设备中已拷贝完成目标文件,此时可以将当前的发送设备即第一设备,与第二设备共同作为新的发送设备,重复执行从多个待拷贝设备中选取第二设备的步骤,需要说明的是,此时由于发送设备的数量为两个,因此,选取的第二设备的数量也为两个,采用多线程方式将目标文件从每个发送设备并行拷贝至每个第二设备,重复执行该步骤直至将目标文件拷贝至每个待拷贝设备。
比如,参见图2所示的一种文件拷贝方式的示意图;文件1为单个文件夹,其中含有几T数据,现将文件1从服务器1号拷贝到整个集群机器中,服务器2-n为等待拷贝数据的服务器主机。若单个文件10T需要拷贝时间为1小时,通过多线程的方式将服务器1号中的文件夹内的文件分为n个线程进行拷贝,n为网络带宽除以单个文件的文件传输速率,通过该方式可以将拷贝时间缩短为传统拷贝方式的1/n,将拷贝完成的服务器1号和服务器2号作为新的发送设备向等待拷贝队列中的服务器进行拷贝,如图2所示,将服务器2号中的目标文件拷贝至服务器3号,将服务器1号中的目标文件拷贝至服务器4号,此时,服务器3号和服务器4号中都保存了目标文件,此时,继续将拷贝完成的服务器1号、服务器2号、服务器3号和服务器4号作为新的发送设备向等待拷贝队列中的服务器进行拷贝,如图2所示,将服务器3号中的目标文件拷贝至服务器5号,将服务器4号中的目标文件拷贝至服务器6号,将服务器1号中的目标文件拷贝至服务器7号,将服务器2号中的目标文件拷贝至服务器8号,依次类推,直至将目标文件拷贝至每个待拷贝设备,该方式可以将服务器的网络带宽利用率发挥到普通的最大速率为2的n次幂。
步骤六,如果文件大小小于第一预设阈值,且拷贝时间小于第二预设阈值,将目标文件通过每个线程分别拷贝至每个待拷贝设备。
如果目标文件的文件大小小于第一预设阈值,可以认为该目标文件较小,包含的数据量较少;如果拷贝时间小于第二预设阈值,可以认为采用单线程方式拷贝目标文件需要花费的时间较短;在实际实现时,若需要拷贝的目标文件比较小,比如,1分钟可以拷贝完成一个文件夹内容,则通过多线程的方式将文件夹内的文件分为n个线程进行拷贝,n为网络带宽除单个文件的文件传输速率,如图3所示的另一种文件拷贝方式的示意图,可以每个线程向一台服务器进行传输,这种并行传输的方式可以使传输效率达到原来的n倍,传输时间压缩为原来的1/n。
步骤七,通过每个待拷贝设备校验接收到的目标文件。
每个待拷贝设备接收到目标文件后,可以对接收到的目标文件进行校验,比如,校验目标文件的完整性、是否被篡改等,具体可以参考相关技术,在此不再赘述。
上述文件拷贝方法,可以根据目标文件的文件大小以及采用单线程方式拷贝目标文件的拷贝时间,选择不同的拷贝方式,实现了拷贝方式的多元化,在点对点的传输过程中对文件夹做单个文件级别的批量传输,可以充分利用网络带宽,使传输效率达到最大化,等待时间变短,降低了时间成本,提高了服务器集群大文件传输的灵活性、完整性、严密性。适应了大文件传输的未来需求,可持续对大文件服务器集群传输进行快速、准确地配置,适用场景更灵活,提高了文件拷贝的性价比和运维的便利性。该方式还提高了文件传输效率,以及网络带宽的利用率。
本发明实施例提供了一种文件拷贝装置,如图4所示,装置包括:获取模块40,用于如果接收到将第一设备中预先存储的目标文件拷贝至多个待拷贝设备的拷贝请求,获取目标文件的文件大小;拷贝模块41,用于根据文件大小,采用多线程方式将目标文件拷贝至每个待拷贝设备;其中,多线程的线程数量根据预设的网络带宽和预设的文件传输速率确定。
上述文件拷贝装置,如果接收到将第一设备中预先存储的目标文件拷贝至多个待拷贝设备的拷贝请求,获取目标文件的文件大小,根据文件大小,采用多线程方式将目标文件拷贝至每个待拷贝设备;其中,多线程的线程数量根据预设的网络带宽和预设的文件传输速率确定。该装置中,当需要从第一设备向多个待拷贝设备拷贝目标文件时,可以采用多线程方式拷贝,并且,多线程的线程数量根据网络带宽和文件传输速率确定,从而可以提高文件传输效率,同时提高网络带宽的利用率。
进一步的,拷贝模块还用于:根据文件大小和预设的文件传输速率,计算采用单线程方式拷贝目标文件的拷贝时间;如果文件大小大于第一预设阈值,和/或,拷贝时间大于第二预设阈值,将第一设备作为发送设备,从多个待拷贝设备中选取第二设备;其中,第二设备的数量与发送设备的数量相匹配;采用多线程方式将目标文件从发送设备并行拷贝至第二设备;将发送设备和第二设备作为新的发送设备,重复执行从多个待拷贝设备中选取第二设备的步骤,直至将目标文件拷贝至每个待拷贝设备。
进一步的,拷贝模块还用于:按照线程数量拆分目标文件,得到与线程数量相同的多个子文件;将多个子文件分配至多个线程,以将每个子文件通过各自对应的线程拷贝至第二设备;通过第二设备组合接收到的每个子文件,得到目标文件。
进一步的,该装置还用于:如果文件大小小于第一预设阈值,且拷贝时间小于第二预设阈值,将目标文件通过每个线程分别拷贝至每个待拷贝设备。
进一步的,该装置还包括线程数量确定模块,多线程的线程数量通过线程数量确定模块确定:计算网络带宽和文件传输速率的比值,得到线程数量。
进一步的,该装置还用于:通过每个待拷贝设备校验接收到的目标文件。
本发明实施例所提供的文件拷贝装置,其实现原理及产生的技术效果和前述文件拷贝方法实施例相同,为简要描述,文件拷贝装置实施例部分未提及之处,可参考前述文件拷贝方法实施例中相应内容。
本发明实施例还提供了一种电子设备,参见图5所示,该电子设备包括处理器130和存储器131,该存储器131存储有能够被处理器130执行的机器可执行指令,该处理器130执行机器可执行指令以实现上述文件拷贝方法。
进一步地,图5所示的电子设备还包括总线132和通信接口133,处理器130、通信接口133和存储器131通过总线132连接。
其中,存储器131可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口133(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线132可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器130可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器130中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器131,处理器130读取存储器131中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述文件拷贝方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的文件拷贝方法、装置及电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种文件拷贝方法,其特征在于,所述方法包括:
如果接收到将第一设备中预先存储的目标文件拷贝至多个待拷贝设备的拷贝请求,获取所述目标文件的文件大小;
根据所述文件大小,采用多线程方式将所述目标文件拷贝至每个所述待拷贝设备;其中,所述多线程的线程数量根据预设的网络带宽和预设的文件传输速率确定。
2.根据权利要求1所述的方法,其特征在于,根据所述文件大小,采用多线程方式将所述目标文件拷贝至每个所述待拷贝设备的步骤包括:
根据所述文件大小和预设的文件传输速率,计算采用单线程方式拷贝所述目标文件的拷贝时间;
如果所述文件大小大于第一预设阈值,和/或,所述拷贝时间大于第二预设阈值,将所述第一设备作为发送设备,从所述多个待拷贝设备中选取第二设备;其中,所述第二设备的数量与所述发送设备的数量相匹配;
采用多线程方式将所述目标文件从所述发送设备并行拷贝至所述第二设备;
将所述发送设备和所述第二设备作为新的发送设备,重复执行从所述多个待拷贝设备中选取第二设备的步骤,直至将所述目标文件拷贝至每个所述待拷贝设备。
3.根据权利要求2所述的方法,其特征在于,采用多线程方式将所述目标文件从所述发送设备并行拷贝至所述第二设备的步骤包括:
按照所述线程数量拆分所述目标文件,得到与所述线程数量相同的多个子文件;
将所述多个子文件分配至多个线程,以将每个所述子文件通过各自对应的线程拷贝至所述第二设备;
通过所述第二设备组合接收到的每个子文件,得到所述目标文件。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述文件大小小于所述第一预设阈值,且所述拷贝时间小于所述第二预设阈值,将所述目标文件通过每个线程分别拷贝至每个所述待拷贝设备。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述多线程的线程数量通过下述方式确定:
计算所述网络带宽和所述文件传输速率的比值,得到所述线程数量。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过每个所述待拷贝设备校验接收到的所述目标文件。
7.一种文件拷贝装置,其特征在于,所述装置包括:
获取模块,用于如果接收到将第一设备中预先存储的目标文件拷贝至多个待拷贝设备的拷贝请求,获取所述目标文件的文件大小;
拷贝模块,用于根据所述文件大小,采用多线程方式将所述目标文件拷贝至每个所述待拷贝设备;其中,所述多线程的线程数量根据预设的网络带宽和预设的文件传输速率确定。
8.根据权利要求7所述的装置,其特征在于,所述拷贝模块还用于:
根据所述文件大小和预设的文件传输速率,计算采用单线程方式拷贝所述目标文件的拷贝时间;
如果所述文件大小大于第一预设阈值,和/或,所述拷贝时间大于第二预设阈值,将所述第一设备作为发送设备,从所述多个待拷贝设备中选取第二设备;其中,所述第二设备的数量与所述发送设备的数量相匹配;
采用多线程方式将所述目标文件从所述发送设备并行拷贝至所述第二设备;
将所述发送设备和所述第二设备作为新的发送设备,重复执行从所述多个待拷贝设备中选取第二设备的步骤,直至将所述目标文件拷贝至每个所述待拷贝设备。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-6任一项所述的文件拷贝方法。
10.一种机器可读存储介质,其特征在于,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现权利要求1-6任一项所述的文件拷贝方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310593846.XA CN116594565A (zh) | 2023-05-24 | 2023-05-24 | 文件拷贝方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310593846.XA CN116594565A (zh) | 2023-05-24 | 2023-05-24 | 文件拷贝方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116594565A true CN116594565A (zh) | 2023-08-15 |
Family
ID=87607784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310593846.XA Pending CN116594565A (zh) | 2023-05-24 | 2023-05-24 | 文件拷贝方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116594565A (zh) |
-
2023
- 2023-05-24 CN CN202310593846.XA patent/CN116594565A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI714847B (zh) | 區塊鏈共識網路中處理共識請求的方法、裝置和電子設備 | |
EP3754498B1 (en) | Architecture for offload of linked work assignments | |
CN115210693A (zh) | 具有可预测时延的存储事务 | |
TWI430102B (zh) | 網路卡資源配置方法、儲存媒體、及電腦 | |
US20240127054A1 (en) | Remote artificial intelligence (ai) acceleration system | |
CN109960671B (zh) | 一种数据传输系统、方法及计算机设备 | |
WO2021051782A1 (zh) | 区块链的共识方法、装置及设备 | |
WO2023104194A1 (zh) | 一种业务处理方法及装置 | |
WO2023160092A1 (zh) | 一种区块链交易的处理方法、区块链节点及电子设备 | |
WO2023160088A1 (zh) | 一种区块链交易的处理方法、区块链节点及电子设备 | |
US20240275740A1 (en) | RDMA Data Transmission System, RDMA Data Transmission Method, and Network Device | |
CN117724874B (zh) | 用于管理共享接收队列的方法、计算机设备及介质 | |
CN115729450A (zh) | 写入请求阈值化 | |
US20220263869A1 (en) | Data validation for zero copy protocols | |
US20230325149A1 (en) | Data processing method and apparatus, computer device, and computer-readable storage medium | |
CN110955461B (zh) | 计算任务的处理方法、装置、系统、服务器和存储介质 | |
CN116594565A (zh) | 文件拷贝方法、装置及电子设备 | |
CN116961696A (zh) | 一种双模模块通信方法、装置、电子设备及存储介质 | |
US20230082780A1 (en) | Packet processing load balancer | |
WO2018106392A1 (en) | Technologies for multi-core wireless network data transmission | |
CN113485805B (zh) | 基于异构加速平台的分布式计算调整方法、装置及设备 | |
CN111625701B (zh) | 搜索方法、装置、服务器及存储介质 | |
CN110990490A (zh) | 区块链网络中区块链的入账方法、装置、设备及介质 | |
CN116737088B (zh) | 一种对象迁移方法、装置、电子设备及存储介质 | |
CN113419988B (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 |