CN117573021A - 一种文件传输方法、装置、电子设备及存储介质 - Google Patents

一种文件传输方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117573021A
CN117573021A CN202210942060.XA CN202210942060A CN117573021A CN 117573021 A CN117573021 A CN 117573021A CN 202210942060 A CN202210942060 A CN 202210942060A CN 117573021 A CN117573021 A CN 117573021A
Authority
CN
China
Prior art keywords
target
file
storage space
virtual storage
subfiles
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
Application number
CN202210942060.XA
Other languages
English (en)
Inventor
张琳婧
李崇
靳贞珍
席振寅
张树海
齐鹏
张艳茹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kunlun Digital Technology Co ltd
China National Petroleum Corp
Original Assignee
Kunlun Digital Technology Co ltd
China National Petroleum Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kunlun Digital Technology Co ltd, China National Petroleum Corp filed Critical Kunlun Digital Technology Co ltd
Priority to CN202210942060.XA priority Critical patent/CN117573021A/zh
Publication of CN117573021A publication Critical patent/CN117573021A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Abstract

本申请提供了一种文件传输方法、装置、电子设备及存储介质,该方法包括:在文件发送端创建第一虚拟存储空间,并在文件接收端创建第二虚拟存储空间;其中,第一虚拟存储空间用于存储文件发送端发送的第一目标文件;根据预设的分割规则,在第一虚拟存储空间中,将第一目标文件分割为多个第一目标子文件;在满足传输要求的时候,将多个第一目标子文件分别发送到第二虚拟存储空间,并在第二虚拟存储空间中,将多个第一目标子文件合并为第一目标文件,以供文件接收端使用,完成第一目标文件的传输。本申请大大提高了传输效率,保证了第一目标文件传输时的安全性。

Description

一种文件传输方法、装置、电子设备及存储介质
技术领域
本申请涉及文件传输技术领域,具体而言,涉及一种文件传输方法、装置、电子设备及存储介质。
背景技术
文件传输(file transfer),是将一个文件或其中的一部分从一个计算机系统传到另一个计算机系统。它可能把文件传输至另一计算机中去存储,或访问远程计算机上的文件,或把文件传输至另一计算机上去运行(作为一个程序)或处理(作为数据),或把文件传输至打印机去打印。由于网路中各个计算机的文件系统往往不相同,因此,要建立全网公用的文件传输规则,称作文件传输协议(FTP)。
随着信息化的普及,文件传输是现在一项很重要的技术,涉及到本地计算机和远程服务器或者不同计算机之间的交互过程。文件传输支持多种类型的文件,如图像、文字、音视频等。文件传输是基于既定的文件传输协议来实现的,涉及到不同设备间的网络通信。现有技术中,根据文件的物理地址进行传输的方式传输效率低,不能满足高效的传输需求。
发明内容
有鉴于此,本申请的目的在于提供一种文件传输方法、装置、电子设备及存储介质,克服了现有技术中存在的问题。
第一方面,本申请实施例提供了一种文件传输方法,所述方法包括:
在文件发送端创建第一虚拟存储空间,并在文件接收端创建第二虚拟存储空间;其中,所述第一虚拟存储空间用于存储所述文件发送端发送的第一目标文件;
根据预设的分割规则,在所述第一虚拟存储空间中,将所述第一目标文件分割为多个第一目标子文件;
在满足传输要求的时候,将多个所述第一目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将多个所述第一目标子文件合并为所述第一目标文件,以供文件接收端使用,完成所述第一目标文件的传输。
在本申请一些技术方案中,通过以下方式得到第一目标子文件:
根据所述第一目标文件的文件大小和传输协议的传输速度,确定所述第一目标文件的分割数量;
将所述第一目标文件分割为所述分割数量的第一目标子文件。
在本申请一些技术方案中,上述第二虚拟存储空间用于保存接收到的所述第一目标子文件;所述方法还包括:
按照所述第二虚拟存储空间保存所述第一目标子文件的数量,记录所述第一目标子文件的发送进度。
在本申请一些技术方案中,各个所述第一目标子文件对应设置有编号,在检测到传输中断时,所述方法还包括:
根据所述发送进度和各个所述第一目标子文件的编号,从所述第一虚拟存储空间包含的多个所述第一目标文件中,确定待发送的所述第一目标子文件;
在再次满足传输要求的时候,将待发送的所述第一目标子文件继续发送到所述第二虚拟存储空间。
在本申请一些技术方案中,各个所述第一目标子文件还对应设置有内容标识,且同一个所述第一目标子文件的所述编号和所述内容标识之间具有映射关系;所述方法还包括:
所述第一虚拟存储空间在接收到需要传输的第二目标文件时,对所述第一目标文件和所述第二目标文件的内容进行检测;
若所述第一目标文件的内容包含所述第二目标文件的全部内容,从所述第一目标文件包含的多个第一目标子文件中,确定出与所述第二目标文件的内容对应的复用目标子文件;
根据所述第二目标文件的内容出现顺序,将所述复用目标子文件对应的编号进行重新排序,得到所述复用目标子文件的复用顺序;
在满足传输要求的时候,按照所述复用顺序,将所述复用目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将所述复用目标子文件合并为所述第二目标文件,以供文件接收端使用,完成所述第二目标文件的传输。
在本申请一些技术方案中,上述方法还包括:
若所述第一目标文件的内容未包含所述第二目标文件的全部内容,根据预设的分割规则,在所述第一虚拟存储空间中,将所述第二目标文件分割为多个第二目标子文件;
在满足传输要求的时候,将多个所述第二目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将多个所述第二目标子文件合并为所述第二目标文件,以供文件接收端使用,完成所述第二目标文件的传输。
在本申请一些技术方案中,各个所述第一目标子文件对应设置有编号;通过以下方式发送所述第一目标子文件:
按照所述编号预设的初始顺序,将多个所述第一目标子文件依次发送到所述第二虚拟存储空间,并记录所述第一目标子文件的发送进度。
第二方面,本申请实施例提供了一种文件传输装置,所述装置包括:
创建模块,用于在文件发送端创建第一虚拟存储空间,并在文件接收端创建第二虚拟存储空间;其中,所述第一虚拟存储空间用于存储所述文件发送端发送的第一目标文件;
分割模块,用于根据预设的分割规则,在所述第一虚拟存储空间中,将所述第一目标文件分割为多个第一目标子文件;
传输模块,用于在满足传输要求的时候,将多个所述第一目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将多个所述第一目标子文件合并为所述第一目标文件,以供文件接收端使用,完成所述第一目标文件的传输。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的文件传输方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的文件传输方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请方法包括在文件发送端创建第一虚拟存储空间,并在文件接收端创建第二虚拟存储空间;其中,所述第一虚拟存储空间用于存储所述文件发送端发送的第一目标文件;根据预设的分割规则,在所述第一虚拟存储空间中,将所述第一目标文件分割为多个第一目标子文件;在满足传输要求的时候,将多个所述第一目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将多个所述第一目标子文件合并为所述第一目标文件,以供文件接收端使用,完成所述第一目标文件的传输。本申请将从文件发送端获取的第一目标文件保存在第一虚拟存储空间中,并从第一虚拟存储空间中将第一目标文件分为多个第一目标子文件进行传输,在文件接收端的第二虚拟存储空间中合并为第一目标文件,这样的传输方式大大提高了传输效率,保证了第一目标文件传输时的安全性。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种文件传输方法的流程示意图;
图2示出了本申请实施例所提供的一种文件分割示意图;
图3示出了本申请实施例所提供的一种文件传输装置示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按初始顺序实现,没有逻辑的上下文关系的步骤可以反转初始顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
文件传输(file transfer),是将一个文件或其中的一部分从一个计算机系统传到另一个计算机系统。它可能把文件传输至另一计算机中去存储,或访问远程计算机上的文件,或把文件传输至另一计算机上去运行(作为一个程序)或处理(作为数据),或把文件传输至打印机去打印。由于网路中各个计算机的文件系统往往不相同,因此,要建立全网公用的文件传输规则,称作文件传输协议(FTP)。
随着信息化的普及,文件传输是现在一项很重要的技术,涉及到本地计算机和远程服务器或者不同计算机之间的交互过程。文件传输支持多种类型的文件,如图像、文字、音视频等。文件传输是基于既定的文件传输协议来实现的,涉及到不同设备间的网络通信。现有技术中,根据文件的物理地址进行传输的方式:硬件设备由很多的圆形磁道组成,将每个磁道分成多个小块用于存储文件信息。获取文件是通过机械臂的摆动和盘片转动找到所需要的文件首地址然后进行操作的。这样在每次传输文件前都需要从头开始查找所需文件存储的地址,过程繁琐且耗时,当网络中断次数过多需要多次重新下载,对于硬件设备的损耗也较大。在远程服务器繁忙、网络不稳定或者硬件设备性能差的问题可能会导致文件传输中断,待一切问题恢复正常后,之前已传输的文件进度将会丢失,需要重新传输,导致资源的浪费以及传输效率低。
基于此,本申请实施例提供了一种文件传输方法、装置、电子设备及存储介质,下面通过实施例进行描述。
图1示出了本申请实施例所提供的一种文件传输方法的流程示意图,其中,该方法包括步骤S101-S103;具体的:
S101、在文件发送端创建第一虚拟存储空间,并在文件接收端创建第二虚拟存储空间;其中,所述第一虚拟存储空间用于存储所述文件发送端发送的第一目标文件;
S102、根据预设的分割规则,在所述第一虚拟存储空间中,将所述第一目标文件分割为多个第一目标子文件;
S103、在满足传输要求的时候,将多个所述第一目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将多个所述第一目标子文件合并为所述第一目标文件,以供文件接收端使用,完成所述第一目标文件的传输。
本申请将从文件发送端获取的第一目标文件保存在第一虚拟存储空间中,并从第一虚拟存储空间中将第一目标文件分为多个第一目标子文件进行传输,在文件接收端的第二虚拟存储空间中合并为第一目标文件,这样的传输方式大大提高了传输效率,保证了第一目标文件传输时的安全性。
下面对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
S101、在文件发送端创建第一虚拟存储空间,并在文件接收端创建第二虚拟存储空间;其中,所述第一虚拟存储空间用于存储所述文件发送端发送的第一目标文件。
本申请提供一种文件传输方法,这里文件的具体形式不做具体限定,包括文字文件、音频文件、视频文件和图像文件等。文件传输是在文件发送端和文件接收端进行的,这里文件发送端和文件接收端包括手机、电脑、Pad等设备。传统的发送方式是文件发送端直接将文件发送给传输服务器,传输服务器将文件发送给文件接收端,这种传输方式将文件作为整体进行发送,传输时间拉长,效率低,安全性低。为了提高文件传输的效率和安全性,本申请中的传输服务器不直接连接文件发送端与文件接收端,而是在文件发送端创建了一个第一虚拟存储空间,在文件接收端创建了一个第二虚拟存储空间,传输过程变为了文件发送端→第一虚拟存储空间→传输服务器→第二虚拟存储空间→文件接收端。本申请中的第一虚拟存储空间和第二虚拟存储空间均为Redis(Remote Dictionary Server)。
在文件发送端创建了第一虚拟存储空间之后,文件发送端将需要发送给文件接收端的第一目标文件发送给第一虚拟存储空间,第一虚拟存储空间接收到第一目标文件之后,将第一目标文件进行储存。
S102、根据预设的分割规则,在所述第一虚拟存储空间中,将所述第一目标文件分割为多个第一目标子文件。
第一虚拟存储空间中存储了第一目标文件之后,本申请需要对第一目标文件进行分割,将第一目标文件分割为多个第一目标子文件,第一目标子文件用于后续的传输。这里的第一目标子文件表征的是第一目标文件的一部分,将所有的第一目标子文件进行合并还能够组成完整的第一目标文件。
在对第一目标文件进行分割的时候,本申请设置了分割规则,根据分割规则对第一目标文件进行分割。这里的分割规则由第一目标文件的文件大小和文件发送端与文件接收端之间的传输协议确定。具体的分割方式如图2所示,包括步骤S201-S202:
S201、根据所述第一目标文件的文件大小和传输协议的传输速度,确定所述第一目标文件的分割数量;
S202、将所述第一目标文件分割为所述分割数量的第一目标子文件。
在传输前获取第一目标文件的文件大小(或者总量)Cfile,基于当前文件大小和传输协议(以国内网速标准E为例)来计算文件分割的最小单位Cmin及分割的数量Nfile
其中cmin=E×10,E的范围为1.5MB~10MB,该范围根据文件大小来选择。即文件大时可选择较大值,文件过小时选择较小值。具体设定如下所示:
S103、在满足传输要求的时候,将多个所述第一目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将多个所述第一目标子文件合并为所述第一目标文件,以供文件接收端使用,完成所述第一目标文件的传输。
在将第一目标子文件分割之后,在传输服务器满足传输要求的时候,将多个第一目标子文件分别发送到第二虚拟存储空间。这里的传输要求包括传输协议通畅、电能充足等。如果因为某些原因导致传输服务器不能够满足传输要求的话,则会导致传输中断。本申请将原本较大的第一目标文件分为多个较小的第一目标子文件进行传输,每次第一目标子文件传输的时间较短,效率高,安全性高。在所有的第一目标子文件都传输到第二虚拟存储空间之后,在第二虚拟存储空间中,将所有的第一目标子文件进行合并,即可得到完整的第一目标文件。文件接收端可以在第二虚拟存储空间中直接使用,也可以从第二虚拟存储空间中取出第一目标文件进行使用。
本申请实施例中,作为一可选实施例,为了避免在传输过程中发生传输中断,本申请在对第一目标文件切割得到多个第一目标子文件之后,还为各个所述第一目标子文件对应设置了编号。本申请在对带有编号的第一目标子文件进行发送的时候,有两种方法发送方式,第一种方式为无序发送,第二种方式为按照编号的初始顺序进行发送。本申请在发送的第一目标子文件(包括上述两种发送方式)时,是通过复制发送的,也就是说,本申请中第一虚拟存储空间在将第一目标子文件发送给第二虚拟存储空间之后,第一虚拟存储空间中还保留有第一目标文件和该第一目标文件对应的第一目标子文件,每个第一目标子文件还对应有自己的编号。本申请中的第二虚拟存储空间在接收到第一虚拟存储空间发送的第一目标子文件后,将接收到的所述第一目标子文件进行保存。
针对第一种发送方式,本申请从第一虚拟存储空间中随机获取第一目标子文件,并将该第一目标子文件发送到第二日虚拟存储空间。第二虚拟存储空间将接收到的第一目标子文件进行保存,本申请按照第二虚拟存储空间中保存的第一目标子文件的数量,记录第一目标子文件的发送进度。例如,第一目标子文件的分割数量为五(编号分别为1、2、3、4、5),第二存储空间中已经保存了三个第一目标子文件,那么第一目标子文件的发送进度就是百分之六十。需要注意注意的是,第一种方式为无序发送,即不考虑第一目标子文件自身的编号。也就是说,上述百分之六十的发送进度中的编号1、2、3、4、5中的任意三个编号。
具体的,本申请根据上述计算出来的分割数量,从第一目标文件的文件头开始至第一目标文件的文件尾结束,将第一目标文件平均分割为上述分割数量的份数。并且按照分割的顺序分别对第一目标文件设置了编号。例如,第一目标文件为{A,B,C},第一目标文件被分为了三分第一目标子文件A,第一目标子文件B,第一目标子文件C,则第一目标子文件A对应编号1,第一目标子文件B对应编号2,第一目标子文件C对应编号3。从第一目标子文件A,第一目标子文件B,第一目标子文件C中随机获取一个目标子文件进行发送,直到将三个目标子文件都发送到第二虚拟存储空间。然后,根据第二虚拟存储空间存储目标子文件的数量,确定出发送的进度。例如,第一虚拟存储空间中包含有第一目标子文件A,第一目标子文件B,第一目标子文件C和第一目标子文件D。第一虚拟存储空间在发送第一目标子文件C的时候,数据丢失了,导致第二虚拟存储空间没有接受到或者没有保存第一目标子文件C。此时第二虚拟存储空间已经存储了第一目标子文件A和第一目标子文件B,则本申请记录的第一目标子文件的发送进度为百分之五十。
针对第二种发送方式:对于带有编号的第一目标子文件,本申请是按照所述编号预设的初始顺序,将多个所述第一目标子文件依次发送到所述第二虚拟存储空间,并记录所述第一目标子文件的发送进度。
具体的,本申请根据上述计算出来的分割数量,从第一目标文件的文件头开始至第一目标文件的文件尾结束,将第一目标文件平均分割为上述分割数量的份数。并且按照分割的顺序分别对第一目标文件设置了编号。例如,第一目标文件为{A,B,C},第一目标文件被分为了三分第一目标子文件A,第一目标子文件B,第一目标子文件C,则第一目标子文件A对应编号1,第一目标子文件B对应编号2,第一目标子文件C对应编号3。预设的编号的顺序为1、2、3,则第一目标子文件的发送顺序为第一目标子文件A,第一目标子文件B,第一目标子文件C。由于本申请为第一目标子文件设置了标号,根据第一目标子文件标号,就能记录第一目标子文件的发送进度。
本申请第二种发送方式记录第一目标物子文件的发送进度是按照所述第二虚拟存储空间保存所述第一目标子文件的编号记录的。也就是说,在第一目标子文件在传输的过程中,不管发送了什么原因导致第二虚拟存储空间中没有保存该第一目标子文件,则第一目标子文件的发送进度为该第一目标子文件的前一个第一目标子文件。例如,第一虚拟存储空间中包含有第一目标子文件A,第一目标子文件B,第一目标子文件C和第一目标子文件D,第一虚拟存储空间需要分别进行发送。第一虚拟存储空间在发送第一目标子文件C的时候,数据丢失了,导致第二虚拟存储空间没有接收到或者没有保存第一目标子文件C。此时第二虚拟存储空间已经存储了第一目标子文件A和第一目标子文件B,则本申请记录的第一目标子文件的发送进度为第一目标子文件B。
本申请实施例中,作为一可选实施例,在检测到传输中断时,所述方法还包括:
根据所述发送进度和各个所述第一目标子文件的编号,从所述第一虚拟存储空间包含的多个所述第一目标文件中,确定待发送的所述第一目标子文件;
在再次满足传输要求的时候,按照所述编号预设的初始顺序,将待发送的所述第一目标子文件继续发送到所述第二虚拟存储空间。
在第一目标文件传输的过程中,如果传输中断了,本申请检测到传输服务器再次满足传输要求的时候,能够从中断时没有发送的第一目标子文件接着继续发送,不需要从头重新发送,提高了发送效率。
具体的,针对第一种发送方式,在发生中断的时候,对第二虚拟存储空间中保存的第一目标子文件的数量和每个第一目标子文件对应的编号进行检测,通过检测可以确定第二虚拟存储空间中已经存储的是哪些具体的第一目标子文件。通过与第一目标文件所有的第一目标子文件进行对比,从所有的第一目标子文件中去除第二虚拟存储空间已经保存第一目标子文件,将剩余的第一目标子文件作为待发送的第一目标子文件。在再次满足传输要求的时候,从待发送的第一目标子文件中再次随机选取,并继续发送,直至将所有待发送的第一目标子文件都发送到第二虚拟存储空间为止。
针对第二种发送方式,在发生中断的时候,从第一虚拟存储空间包含的多个第一目标子文件中排除第二虚拟存储中已经存储的第一目标子文件,将剩余的第一目标子文件作为待发送的第一目标子文件。根据待发送的第一目标子文件的编号在预设的初始顺序中的位置,依次继续发送,直至将所有待发送的第一目标子文件都发送到第二虚拟存储空间为止。如上述实施例中传输中断的情况,在传输恢复的时候,本申请继续发送第一目标子文件C和第一目标子文件D,而非从第一目标子文件A重新开始发送。
本申请实施例中,作为一可选实施例,为了提高传输效率,避免后续传输的目标文件重复进行分割,本申请中各个所述第一目标子文件还对应设置有内容标识,且同一个所述第一目标子文件的所述编号和所述内容标识之间具有映射关系。在第一目标文件传输结束后,所述方法还包括:
所述第一虚拟存储空间在接收到需要传输的第二目标文件时,对所述第一目标文件和所述第二目标文件的内容进行检测;
若所述第一目标文件的内容包含所述第二目标文件的全部内容,从所述第一目标文件包含的多个第一目标子文件中,确定出与所述第二目标文件的内容对应的复用目标子文件;
在满足传输要求的时候,将所述复用目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将所述复用目标子文件合并为所述第二目标文件,以供文件接收端使用,完成所述第二目标文件的传输。
若所述第一目标文件的内容未包含所述第二目标文件的全部内容,根据预设的分割规则,在所述第一虚拟存储空间中,将所述第二目标文件分割为多个第二目标子文件;
在满足传输要求的时候,将多个所述第二目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将多个所述第二目标子文件合并为所述第二目标文件,以供文件接收端使用,完成所述第二目标文件的传输。
本申请在分割得到第一目标子文件之后,对各个第一目标子文件的内容进行检测,根据第一目标子文件的内容为该第一目标子文件设置一个内容标识。这里的内容标识起到不同内容之间的区分作用。例如,内容A和内容B设置不同的内容标识。在为第一目标子文件设置了内容标识之后,为了能够快速找到该第一目标子文件,本申请将同一个第一目标子文件的编号和内容标识之间建立了映射关系。也就是说,根据这个了映射关系可以通过一个第一目标子文件的编号可以找到该第一目标子文件的内容标识,即可以找到该第一目标子文件。通过内容标识号,也可以快速找到该第一目标子文件的编号。
本申请完成第一目标文件的传输后,再次传输第二目标文件的时候,为了提高传输效率,本申请先对第二目标文件的内容进行检测。具体的检测方式为,将第二目标文件的内容与第一目标文件的内容进行对比。通过第一目标文件的内容与第二目标文件的内容进行对比,确定第一目标文件与第二目标文件之间的关系。第一目标文件与第二目标文件之间的关系包括:第一目标文件的内容包含所述第二目标文件的全部内容和第一目标文件的内容未包含所述第二目标文件的全部内容。这里第一目标文件的内容包含所述第二目标文件的全部内容包括:第一目标文件的内容与第二目标文件的内容相同,第一目标文件的内容除了第二目标文件的内容相同之外还包含有其他内容。本申请中的第一目标文件的内容与第二目标文件的内容相同包括了信息相同且信息出现的顺序也相同和信息相同且信息出现的顺序不同。以下为本申请认为的第一目标文件内容包含第二目标文件的全部内容的情况:例如,第一目标文件为{A,B,C},第二目标文件为{A,B,C},本申请认为第一目标文件与第二目标文件的内容相同。第一目标文件为{A,B,C},第二目标文件为{A,C,B},本申请认为第一目标文件与第二目标文件的内容相同。第一目标文件为{A,B,C,D},第二目标文件为{A,B,C},本申请认为第一目标文件包含第二目标文件。第一目标文件为{A,B,C,D},第二目标文件为{C,A},本申请认为第一目标文件包含第二目标文件。
如果第一目标文件包含第二目标文件的全部内容,本申请不在对第二目标文件进行分割,而是直接使用已经分割的第一目标子文件进行传输。从第一目标文件中确定与第二目标文件对应的第一目标子文件(复用目标子文件)。
在对复用目标子文件进行传输的时候,本申请中也使用了两种传输方式:无序发送方式,按照编号的顺序发送方式。针对无序发送方式:将复用目标子文件随机取出发送给第二虚拟存储空间,直至发送完毕。针对按照编号的顺序发送方式:由于这些第一目标子文件在第一目标文件中的出现顺序可能与在第二目标文件中的出现顺序不同,所以本申请在得到了复用目标子文件之后,需要对复用目标子文件的编号重新进行排序。具体的排序方式就是复用目标子文件在第二目标文件中的出现顺序。例如,与第二目标文件内容对应的复用目标子文件为复用目标子文件D、复用目标子文件K、复用目标子文件M。复用目标子文件D、复用目标子文件K、复用目标子文件M的初始编号为11、20和36。而在第二目标文件中的顺序为复用目标子文件M、复用目标子文件D、复用目标子文件K。则对复用目标子文件M、复用目标子文件D、复用目标子文件K重新排序后的复用顺序为36、20和11。在对第二目标文件进行传输的时候,按照编号36、20和11的顺序传输复用目标子文件M、复用目标子文件D、复用目标子文件K。将复用目标子文件发送到第二虚拟存储空间之后的处理过程与第一目标子文件的处理过程相同,次数不在赘述。
如果检测得到第一目标文件的内容未包含所述第二目标文件的全部内容的话,则按照对第一目标文件的处理方式对第二目标文件进行处理。后续再次传输的第三目标文件、第四目标文件……第N目标文件的处理过程与第二目标文件的处理过程相同,此处不再赘述。
本申请实施例中,作为一可选实施例,本申请提出了基于Redis的文件传输方法,在文件首次传输时对文件进行一个分割,根据传输文件大小、国内网速标准来计算分割片段大小。然后通过片段传输方式来记录传输进度,将已传输片段按照<索引,片段>形式存储在Redis上,当传输中断仍不会丢失进度。这样节省时间成本,并且Redis可持久化存储数据,在下次传输相同文件时可以直接从Redis进行传输,与传统的硬件设备之间传输不同的内存传输方法,不仅保证了传输的稳定性同时提升了传输效率。
图3示出了本申请实施例所提供的一种文件传输装置的结构示意图,所述装置包括:
创建模块,用于在文件发送端创建第一虚拟存储空间,并在文件接收端创建第二虚拟存储空间;其中,所述第一虚拟存储空间用于存储所述文件发送端发送的第一目标文件;
分割模块,用于根据预设的分割规则,在所述第一虚拟存储空间中,将所述第一目标文件分割为多个第一目标子文件;
传输模块,用于在满足传输要求的时候,将多个所述第一目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将多个所述第一目标子文件合并为所述第一目标文件,以供文件接收端使用,完成所述第一目标文件的传输。
通过以下方式得到第一目标子文件:
根据所述第一目标文件的文件大小和传输协议的传输速度,确定所述第一目标文件的分割数量;
将所述第一目标文件分割为所述分割数量的第一目标子文件。
各个所述第一目标子文件对应设置有编号;通过以下方式发送所述第一目标子文件:
按照所述编号预设的初始顺序,将多个所述第一目标子文件依次发送到所述第二虚拟存储空间,并记录所述第一目标子文件的发送进度。
所述第二虚拟存储空间用于保存接收到的所述第一目标子文件;所述方法还包括:
按照所述第二虚拟存储空间保存所述第一目标子文件的数量,记录所述第一目标子文件的发送进度。
在检测到传输中断时,传输模块还用于:
在再次满足传输要求的时候,根据所述发送进度,从所述第一虚拟存储空间包含的多个所述第一目标文件中,确定待发送的所述第一目标子文件;
按照所述编号预设的初始顺序,将待发送的所述第一目标子文件继续发送到所述第二虚拟存储空间。
各个所述第一目标子文件还对应设置有内容标识,且同一个所述第一目标子文件的所述编号和所述内容标识之间具有映射关系;传输模块还用于:
所述第一虚拟存储空间在接收到需要传输的第二目标文件时,对所述第一目标文件和所述第二目标文件的内容进行检测;
若所述第一目标文件的内容包含所述第二目标文件的全部内容,从所述第一目标文件包含的多个第一目标子文件中,确定出与所述第二目标文件的内容对应的复用目标子文件;
在满足传输要求的时候,将所述复用目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将所述复用目标子文件合并为所述第二目标文件,以供文件接收端使用,完成所述第二目标文件的传输。
若所述第一目标文件的内容未包含所述第二目标文件的全部内容,根据预设的分割规则,在所述第一虚拟存储空间中,将所述第二目标文件分割为多个第二目标子文件;
在满足传输要求的时候,将多个所述第二目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将多个所述第二目标子文件合并为所述第二目标文件,以供文件接收端使用,完成所述第二目标文件的传输。
如图4所示,本申请实施例提供了一种电子设备,用于执行本申请中的文件传输方法,该设备包括存储器、处理器、总线及存储在该存储器上并可在该处理器上运行的计算机程序,其中,上述处理器执行上述计算机程序时实现上述的文件传输方法的步骤。
具体地,上述存储器和处理器可以为通用的存储器和处理器,这里不做具体限定,当处理器运行存储器存储的计算机程序时,能够执行上述的文件传输方法。
对应于本申请中的文件传输方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的文件传输方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述的文件传输方法。
在本申请所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的编号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种文件传输方法,其特征在于,所述方法包括:
在文件发送端创建第一虚拟存储空间,并在文件接收端创建第二虚拟存储空间;其中,所述第一虚拟存储空间用于存储所述文件发送端发送的第一目标文件;
根据预设的分割规则,在所述第一虚拟存储空间中,将所述第一目标文件分割为多个第一目标子文件;
在满足传输要求的时候,将多个所述第一目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将多个所述第一目标子文件合并为所述第一目标文件,以供文件接收端使用,完成所述第一目标文件的传输。
2.根据权利要求1所述的方法,其特征在于,通过以下方式得到第一目标子文件:
根据所述第一目标文件的文件大小和传输协议的传输速度,确定所述第一目标文件的分割数量;
将所述第一目标文件分割为所述分割数量的第一目标子文件。
3.根据权利要求1所述的方法,其特征在于,所述第二虚拟存储空间用于保存接收到的所述第一目标子文件;所述方法还包括:
按照所述第二虚拟存储空间保存所述第一目标子文件的数量,记录所述第一目标子文件的发送进度。
4.根据权利要求3所述的方法,其特征在于,各个所述第一目标子文件对应设置有编号;在检测到传输中断时,所述方法还包括:
根据所述发送进度和各个所述第一目标子文件的编号,从所述第一虚拟存储空间包含的多个所述第一目标文件中,确定待发送的所述第一目标子文件;
在再次满足传输要求的时候,将待发送的所述第一目标子文件继续发送到所述第二虚拟存储空间。
5.根据权利要求4所述的方法,其特征在于,各个所述第一目标子文件还对应设置有内容标识,且同一个所述第一目标子文件的所述编号和所述内容标识之间具有映射关系;所述方法还包括:
所述第一虚拟存储空间在接收到需要传输的第二目标文件时,对所述第一目标文件和所述第二目标文件的内容进行检测;
若所述第一目标文件的内容包含所述第二目标文件的全部内容,从所述第一目标文件包含的多个第一目标子文件中,确定出与所述第二目标文件的内容对应的复用目标子文件;
在满足传输要求的时候,将所述复用目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将所述复用目标子文件合并为所述第二目标文件,以供文件接收端使用,完成所述第二目标文件的传输。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述第一目标文件的内容未包含所述第二目标文件的全部内容,根据预设的分割规则,在所述第一虚拟存储空间中,将所述第二目标文件分割为多个第二目标子文件;
在满足传输要求的时候,将多个所述第二目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将多个所述第二目标子文件合并为所述第二目标文件,以供文件接收端使用,完成所述第二目标文件的传输。
7.根据权利要求1~3任一项所述的方法,其特征在于,各个所述第一目标子文件对应设置有编号;通过以下方式发送所述第一目标子文件:
按照所述编号预设的初始顺序,将多个所述第一目标子文件依次发送到所述第二虚拟存储空间,并记录所述第一目标子文件的发送进度。
8.一种文件传输装置,其特征在于,所述装置包括:
创建模块,用于在文件发送端创建第一虚拟存储空间,并在文件接收端创建第二虚拟存储空间;其中,所述第一虚拟存储空间用于存储所述文件发送端发送的第一目标文件;
分割模块,用于根据预设的分割规则,在所述第一虚拟存储空间中,将所述第一目标文件分割为多个第一目标子文件;
传输模块,用于在满足传输要求的时候,将多个所述第一目标子文件分别发送到所述第二虚拟存储空间,并在所述第二虚拟存储空间中,将多个所述第一目标子文件合并为所述第一目标文件,以供文件接收端使用,完成所述第一目标文件的传输。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的文件传输方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的文件传输方法的步骤。
CN202210942060.XA 2022-08-08 2022-08-08 一种文件传输方法、装置、电子设备及存储介质 Pending CN117573021A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210942060.XA CN117573021A (zh) 2022-08-08 2022-08-08 一种文件传输方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210942060.XA CN117573021A (zh) 2022-08-08 2022-08-08 一种文件传输方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117573021A true CN117573021A (zh) 2024-02-20

Family

ID=89863033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210942060.XA Pending CN117573021A (zh) 2022-08-08 2022-08-08 一种文件传输方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117573021A (zh)

Similar Documents

Publication Publication Date Title
CN1988535B (zh) 文件存储同步方法、系统及客户端
US8793384B2 (en) Recovery of disconnected channels over a reliable protocol
US10735373B2 (en) Communications over multiple protocol interfaces in a computing environment
US10812599B2 (en) Method and system for creating virtual non-volatile storage medium, and management system
CN105450785B (zh) 一种文件传输方法和装置
WO2017097106A1 (zh) 一种文件差量的传输方法以及装置
EP3444722B1 (en) Installation of operating system
US8806159B2 (en) Data storage resource management systems and methods
CN114338548A (zh) 报文分流方法、装置、网络设备及计算机可读存储介质
CN104965835A (zh) 一种分布式文件系统的文件读写方法及装置
CN108055594B (zh) 边缘切片的实现方法、装置、计算机设备及存储介质
CN113115120A (zh) 视频切片方法、装置、电子设备及存储介质
CN102077186A (zh) 传送存储盘映像的方法和系统
CN103065096A (zh) 一种数据保护方法、装置及系统
CN111835801B (zh) 文件下载方法、装置、服务器、边缘设备、终端及介质
CN117573021A (zh) 一种文件传输方法、装置、电子设备及存储介质
CN105159790A (zh) 一种数据抢救方法及文件服务器
CN110795405B (zh) 一种分片数据还原方法、终端设备及存储介质
CN113163003A (zh) 文件传输方法、云端服务器、客户端以及雾节点路由器
US8316149B2 (en) Information communication system, server, content holding device, content receiving device, information processing method, and program
US9244927B1 (en) System and method for record level multiplexing of backup data to storage media
CN111405313A (zh) 存储流媒体数据的方法和系统
US20090182887A1 (en) Data transmission and writing method using multicast data flows
CN114051047B (zh) 一种会话消息的备份方法、装置、网络设备和存储介质
US20170116218A1 (en) Method for synchronizing data deduplication dictionary

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