CN115484250A - 文件传输方法、系统、电子设备及存储介质 - Google Patents
文件传输方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115484250A CN115484250A CN202110605128.0A CN202110605128A CN115484250A CN 115484250 A CN115484250 A CN 115484250A CN 202110605128 A CN202110605128 A CN 202110605128A CN 115484250 A CN115484250 A CN 115484250A
- Authority
- CN
- China
- Prior art keywords
- file
- receiving end
- transmission
- sending end
- transmitted
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 556
- 238000000034 method Methods 0.000 title claims abstract description 168
- 238000004891 communication Methods 0.000 claims abstract description 26
- 230000008569 process Effects 0.000 claims description 33
- 238000012546 transfer Methods 0.000 claims description 33
- 238000012790 confirmation Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 description 35
- 230000006870 function Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 25
- 238000004422 calculation algorithm Methods 0.000 description 13
- 230000003993 interaction Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种文件传输方法、系统、电子设备及存储介质,涉及数据传输领域。该方法可以应用于发送端,该方法包括:发送端获取待传输的文件,待传输的文件为需要向与发送端建立近场通信连接的接收端发送的文件;发送端向接收端发送待传输的文件;当文件传输出现中断、且再次启动续传时,发送端识别需继续传输的文件是否发生变化;当需继续传输的文件未发生变化时,发送端从文件传输出现中断的断点处继续进行续传。该方法可以适用于发送端向接收端传输文件的场景。该方法中,发送端向接收端传输文件时,可以支持断点续传。
Description
技术领域
本申请实施例涉及数据传输领域,尤其涉及一种文件传输方法、系统、电子设备及存储介质。
背景技术
近场文件传输是指两个近场通信的终端设备之间进行文件传输的过程。例如,设备1可以通过蓝牙发现设备2,并与设备2在蓝牙通道上协商点对点(peer to peer,P2P)相关参数,与设备2之间建立高速P2P通道(也称链路)。然后,设备1可以通过P2P通道向设备2传输文件。
目前,终端设备之间的近场文件传输均不支持断点续传。其中,断点续传是指:终端设备之间在进行文件传输时,如果文件传输出现中断(文件传输中断时,终端设备连接可能断开,也可能未断开),则终端设备之间可以从文件传输出现中断的位置(即断点处)继续传输该文件。
发明内容
本申请实施例提供一种文件传输方法、系统、电子设备及存储介质,可以适用于发送端向接收端传输文件的场景。该方法中,发送端向接收端传输文件时,可以支持断点续传。
第一方面,本申请实施例提供一种文件传输方法,所述方法应用于发送端,所述方法包括:发送端获取待传输的文件,待传输的文件为需要向与发送端建立近场通信连接的接收端发送的文件;发送端向接收端发送待传输的文件;当文件传输出现中断、且再次启动续传时,发送端识别需继续传输的文件是否发生变化;当需继续传输的文件未发生变化时,发送端从文件传输出现中断的断点处继续进行续传。
该文件传输方法可以适用于发送端向接收端近场传输文件的场景。该方法中,发送端向接收端传输文件时,可以支持断点续传。
可选地,所述发送端识别需继续传输的文件是否发生变化,包括:发送端识别需继续传输的文件中的每一个文件是否发生变化,需继续传输的文件中是否有文件被删除,以及需继续传输的文件中是否新增了文件。
所述需继续传输的文件未发生变化,包括:需继续传输的文件中的每一个文件均未发生变化,且需继续传输的文件中没有文件被删除、也没有新增文件。
在一种可能的实现方式中,所述发送端识别需继续传输的文件中的每一个文件是否发生变化,包括:
对需继续传输的文件中的每一个文件:发送端识别再次启动续传时该文件的文件时间,与向接收端发送待传输的文件之前该文件的文件时间是否相同;当再次启动续传时该文件的文件时间,与向接收端发送待传输的文件之前该文件的文件时间相同时,发送端确定该文件未发生变化;当再次启动续传时该文件的文件时间,与向接收端发送待传输的文件之前该文件的文件时间不同时,发送端确定该文件发生变化。
可选地,需继续传输的文件发生变化,包括以下一种或多种情况:需继续传输的文件中有一个或多个文件发生变化;或者,需继续传输的文件中有一个或多个文件被删除;又或者,需继续传输的文件中新增了一个或多个文件。
在一种可能的实现场景中,需继续传输的文件包括传输出现中断的文件和还未开始传输的文件。或者,在另外一种可能的实现场景中,需继续传输的文件仅包括传输出现中断的文件。
以传输出现中断的文件为第一文件,还未开始传输的文件包括第二文件为例,所述方法还包括:当需继续传输的文件发生变化时,发送端按照如下逻辑继续向接收端传输文件。
对第一文件,如果第一文件没有被删除、也没有发生变化,发送端从第一文件的断点处对第一文件继续进行续传;如果第一文件被删除时,发送端跳过第一文件,向接收端发送其余还未开始传输的文件;如果第一文件没有被删除、但发生了变化,发送端向接收端重新发送发生变化后的第一文件。
对第二文件,如果第二文件没有被删除、也没有发生变化,发送端在后续传输至第二文件时,向接收端发送第二文件;如果第二文件没有被删除、但发生变化,发送端在后续传输至第二文件时,向接收端发送发生变化后的第二文件;如果第二文件被删除,发送端不再向接收端发送第二文件;如果第二文件为新增文件,发送端向接收端发送第二文件。
可选地,当需继续传输的文件发生变化时,发送端继续向接收端传输文件之前,所述方法还包括:发送端显示第一信息,第一信息包括需继续传输的文件发生变化的变化信息;发送端接收确认启动续传的操作。所述发送端继续向接收端传输文件,包括:发送端响应于确认启动续传的操作,继续向接收端传输文件。
可选地,所述发送端向接收端发送待传输的文件,包括:发送端将待传输的文件复制到第一缓存中;发送端向接收端发送第一缓存中的待传输的文件。
可选地,所述方法还包括:发送端向接收端发送能力查询请求消息;发送端接收来自接收端的断点续传能力确认消息,断点续传能力确认消息用于指示接收端具有支持断点续传的能力。
在一种可能的设计中,发送端配置有第一断点续传容忍时间,接收端配置有第二断点续传容忍时间;所述方法还包括:发送端与接收端基于第一断点续传容忍时间和第二断点续传容忍时间,确定断点续传目标容忍时间。
其中,断点续传目标容忍时间大于或等于第一断点续传容忍时间和第二断点续传容忍时间中的最小值,小于或等于第一断点续传容忍时间和第二断点续传容忍时间中的最大值。
当文件传输出现中断时,发送端存储第一传输信息,第一传输信息包括接收端的相关信息、待传输的文件的文件列表、已传输完成的文件、需继续传输的文件、以及断点信息中的一种或多种。当文件传输出现中断的时长达到断点续传目标容忍时间时,发送端删除第一传输信息。
本设计中,断点续传目标容忍时间可以指示发送端和目标接收端在文件传输中断后,最大等待多久删除各自缓存的传输文件。应当理解,当断点续传目标容忍时间为永久时,发送端不删除第一传输信息。
可选地,发送端包括待传输的文件的文件列表,所述方法还包括:当待传输的文件发生变化时,发送端在文件列表中标识待传输的文件发生变化的信息。
所述当文件传输出现中断、且再次启动续传时,发送端识别需继续传输的文件是否发生变化,包括:当文件传输出现中断、且再次启动续传时,发送端根据文件列表,确定需继续传输的文件是否发生变化。
可选地,所述方法还包括:当待传输的文件发生变化时,发送端向接收端发送待传输的文件发生变化的信息。
在一种可能的实现场景中,文件传输中断包括:文件传输中断、所述发送端与所述接收端未断开连接。或者,在另外一种可能的实现场景中,文件传输中断包括:文件传输中断、所述发送端与所述接收端断开连接。
当文件传输出现中断、发送端与接收端断开连接,且再次启动续传时,所述方法还包括:发送端识别再次启动续传时的接收端与文件传输中断之前的接收端是否为同一设备。
发送端从文件传输出现中断的断点处继续进行续传,包括:当再次启动续传时的接收端与文件传输中断之前的接收端为同一设备时,发送端从文件传输出现中断的断点处继续进行续传。
对于文件传输出现中断、且发送端与接收端之间的连接断开的情况,当发送端和接收端之间再次启动续传时,发送端在识别到本次续传时的接收端与上次开始传输文件时建立连接的接收端为同一设备时,再进行后续的续传流程,可以避免文件传输中断后新接入的设备(与发送端建立连接的设备)为仿冒设备而影响通信安全。
例如,当文件传输中断15分钟后,如果新接入的设备的BLE地址发生了变化,则发送端仍然可以准确识别出本次续传时的目标接收端与上次开始传输文件时建立连接的目标接收端为同一设备,可以启动后续的续传流程。
在一种可能的实现方式中,所述发送端向接收端发送待传输的文件之前,所述方法还包括:发送端接收接收端的公钥。所述发送端识别再次启动续传时的接收端与文件传输中断之前的接收端是否为同一设备,包括:发送端接收再次启动续传时的接收端的公钥;发送端识别向接收端发送待传输的文件之前接收到的接收端的公钥,与再次启动续传时的接收端的公钥是否一致;若一致,则发送端确定再次启动续传时的接收端与文件传输中断之前的接收端为同一设备;若不一致,则发送端确定再次启动续传时的接收端与文件传输中断之前的接收端为不同设备。
可选地,当文件传输出现中断、发送端与所述接收端断开连接,且再次启动续传时,所述发送端识别需继续传输的文件是否发生变化之前,所述方法还包括:发送端与接收端再次建立近场通信连接;发送端向接收端发送文件传输出现中断的断点信息;发送端接收来自接收端对断点信息的确认消息。
可选地,所述发送端向接收端发送待传输的文件之前,所述方法还包括:发送端向接收端发送第一指示消息,第一指示消息用于指示本次连接为新连接;发送端接收来自接收端对第一指示消息的确认消息。
可选地,所述发送端从文件传输出现中断的断点处继续进行续传之前,所述方法还包括:发送端向接收端发送第二指示消息,第二指示消息用于指示本次连接为基于断点的连接;发送端接收来自接收端对所述第二指示消息的确认消息。
可选地,所述发送端向接收端发送待传输的文件之前,所述方法还包括:发送端向接收端发送待传输文件的基本信息;发送端接收来自接收端对待传输文件的基本信息的确认消息。
一些实施例中,发送端与接收端之间的近场通信连接包括:蓝牙、wifi、zigbeen、红外或者usb连接。更具体地,例如可以是低功耗蓝牙连接、或者蓝牙基本速率连接、或者蓝牙增强连接、或者WIFI局域网连接、WIFI P2P连接、又或者是zigbeen、红外等其他无线连接,还或者usb、以太网等有线连接。
可选地,所述方法还包括:发送端接收删除第三文件的操作,第三文件为需继续传输的文件;发送端显示第一提示消息,所述第一提示消息用于提示第三文件正在分享中。
第二方面,本申请实施例提供一种文件传输装置,该装置可以应用于发送端,用于实现上述第一方面所述的文件传输方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元,例如,该装置可以包括:发送单元、接收单元、处理单元;发送单元、接收单元、以及处理单元可以用于配合实现上述第一方面中所述的文件传输方法。如:发送单元可以用于向接收端发送数据,接收单元可以用于接收来自接收端的数据,处理单元可以用于识别设备变化、文件变化等。
第三方面,本申请实施例提供一种电子设备,包括:处理器;存储器;以及计算机程序;其中,所述计算机程序存储在所述存储器上,当所述计算机程序被所述处理器执行时,使得所述电子设备实现如第一方面及第一方面的任意一种可能的实现方式中所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备实现如第一方面及第一方面的任意一种可能的实现方式中所述的方法。
第五方面,本申请实施例还提供一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在电子设备中运行时,使得电子设备实现如第一方面及第一方面的任意一种可能的实现方式中所述的方法。
上述第二方面至第五方面所具备的有益效果,可参考第一方面中所述,在此不再赘述。
第六方面,本申请实施例提供一种文件传输方法,所述方法应用于接收端,所述方法包括:接收端接收来自发送端的文件,接收端与发送端建立近场通信连接;当文件传输出现中断时,接收端等待发送端继续发送的文件。
可选地,所述接收端接收来自发送端的文件,包括:接收端将来自发送端的文件复制到第二缓存中,接收端等到将来自发送端的文件全部接收完成后,将第二缓存中的文件进行保存。
可选地,所述方法还包括:接收端接收来自发送端的能力查询请求消息;接收端向发送端返回断点续传能力确认消息,断点续传能力确认消息用于指示接收端具有支持断点续传的能力。
在一种可能的设计中,发送端配置有第一断点续传容忍时间,接收端配置有第二断点续传容忍时间;所述方法还包括:接收端与发送端基于第一断点续传容忍时间和第二断点续传容忍时间,确定断点续传目标容忍时间。
其中,断点续传目标容忍时间大于或等于第一断点续传容忍时间和第二断点续传容忍时间中的最小值,小于或等于第一断点续传容忍时间和第二断点续传容忍时间中的最大值。
当文件传输出现中断时,接收端存储第二传输信息,第二传输信息包括发送端的相关信息、待传输的文件的文件列表、已传输完成的文件、临时未恢复的文件、以及断点信息中的一种或多种。当文件传输出现中断的时长达到断点续传目标容忍时间时,接收端删除第二传输信息。
可选地,所述方法还包括:接收端接收来自发送端的待传输的文件发生变化的信息;接收端根据待传输的文件发生变化的信息,对第二缓存中的文件进行调整。
例如,当待传输的文件发生变化的信息包括已传输完成的文件A被删除时,接收端可以从第二缓存中删除已传输完成的文件A。
在一种可能的实现场景中,文件传输中断包括:文件传输中断、所述发送端与所述接收端未断开连接。或者,在另外一种可能的实现场景中,文件传输中断包括:文件传输中断、所述发送端与所述接收端断开连接。
在一种可能的实现方式中,所述方法还包括:接收端向发送端发送接收端的公钥。
可选地,当文件传输出现中断、发送端与所述接收端断开连接,且再次启动续传时,所述方法还包括:接收端与发送端再次建立近场通信连接;接收端接收来自发送端到的文件传输出现中断的断点信息;接收端向发送端发送/返回对断点信息的确认消息。
可选地,所述方法还包括:接收端接收来自发送端的第一指示消息,第一指示消息用于指示本次连接为新连接;接收端向发送端返回对第一指示消息的确认消息。
可选地,所述方法还包括:接收端接收来自发送端的第二指示消息,第二指示消息用于指示本次连接为基于断点的连接;接收端向发送端返回对第二指示消息的确认消息。
可选地,所述方法还包括:接收端接收来自发送端的待传输文件的基本信息;接收端向发送端返回对待传输文件的基本信息的确认消息。
一些实施例中,接收端与发送端之间的近场通信连接包括:蓝牙、wifi、zigbeen、红外或者usb连接。更具体地,例如可以是低功耗蓝牙连接、或者蓝牙基本速率连接、或者蓝牙增强连接、或者WIFI局域网连接、WIFI P2P连接、又或者是zigbeen、红外等其他无线连接,还或者usb、以太网等有线连接。
第六方面中,部分与第一方面所对应的步骤所产生的有益效果可以参考第一方面中所述,未再赘述。
第七方面,本申请实施例提供一种文件传输装置,该装置可以应用于接收端,用于实现上述第六方面所述的文件传输方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元,例如,该装置可以包括:发送单元、接收单元、处理单元;发送单元、接收单元、以及处理单元可以用于配合实现上述第六方面中所述的文件传输方法。
第八方面,本申请实施例提供一种电子设备,包括:处理器;存储器;以及计算机程序;其中,所述计算机程序存储在所述存储器上,当所述计算机程序被所述处理器执行时,使得所述电子设备实现如第六方面及第六方面的任意一种可能的实现方式中所述的方法。
第九方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备实现如第六方面及第六方面的任意一种可能的实现方式中所述的方法。
第十方面,本申请实施例还提供一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在电子设备中运行时,使得电子设备实现如第六方面及第六方面的任意一种可能的实现方式中所述的方法。
上述第七方面至第十方面所具备的有益效果,可参考第六方面中所述,在此不再赘述。
第十一方面,本申请实施例提供一种文件传输系统,包括发送端和接收端;发送端与接收端建立近场通信连接。
发送端用于获取待传输的文件,并向接收端发送待传输的文件;当文件传输出现中断、且再次启动续传时,发送端用于识别需继续传输的文件是否发生变化;当需继续传输的文件未发生变化时,发送端从文件传输出现中断的断点处继续进行续传。
可选地,发送端具体用于识别需继续传输的文件中的每一个文件是否发生变化,需继续传输的文件中是否有文件被删除,以及需继续传输的文件中是否新增了文件。
需继续传输的文件未发生变化,包括:需继续传输的文件中的每一个文件均未发生变化,且需继续传输的文件中没有文件被删除、也没有新增文件。
可选地,发送端配置有第一断点续传容忍时间,接收端配置有第二断点续传容忍时间;发送端还用于与接收端基于第一断点续传容忍时间和第二断点续传容忍时间,确定断点续传目标容忍时间。
其中,断点续传目标容忍时间大于或等于第一断点续传容忍时间和第二断点续传容忍时间中的最小值,小于或等于第一断点续传容忍时间和第二断点续传容忍时间中的最大值。
当文件传输出现中断时,发送端存储第一传输信息,第一传输信息包括接收端的相关信息、待传输的文件的文件列表、已传输完成的文件、需继续传输的文件、以及断点信息中的一种或多种。当文件传输出现中断的时长达到断点续传目标容忍时间时,发送端删除第一传输信息。
可选地,文件传输中断包括:文件传输中断、发送端与所述接收端未断开连接,或者,文件传输中断、发送端与接收端断开连接。
当文件传输出现中断、发送端与接收端断开连接,且再次启动续传时,发送端还用于识别再次启动续传时的接收端与文件传输中断之前的接收端是否为同一设备;发送端具体用于,当再次启动续传时的接收端与文件传输中断之前的接收端为同一设备时,从文件传输出现中断的断点处继续进行续传。
类似地,该文件传输系统中,发送端可以用于实现上述第一方面所述的文件传输方法中发送端可以实现的全部功能,接收端可以用于实现上述第六方面所述的文件传输方法中接收端可以实现的全部功能,在此不再一一赘述。
上述第十一所具备的有益效果,可参考第一方面和第六方面中所述,在此不再赘述。
应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
图1为本申请实施例提供的终端设备的结构示意图;
图2为本申请实施例提供的手机的设备连接设置界面的示意图;
图3为本申请实施例提供的图库的显示界面的示意图;
图4为本申请实施例提供的图库的显示界面的另一示意图;
图5为本申请实施例提供的分享界面的示意图;
图6为本申请实施例提供的文件传输界面的示意图;
图7为本申请实施例提供的文件传输界面的另一示意图;
图8为本申请实施例提供的文件传输界面的又一示意图;
图9为本申请实施例提供的文件传输界面的又一示意图;
图10为本申请实施例提供的文件传输中断之前发送端和目标接收端的交互流程示意图;
图11为本申请实施例提供的文件传输中断时发送端的续传控制流程示意图;
图12为本申请实施例提供的文件传输中断时目标接收端的续传控制流程示意图;
图13为本申请实施例提供的文件传输中断之后发送端和目标接收端的交互流程示意图;
图14为本申请实施例提供的文件传输中断之后发送端和目标接收端的另一交互流程示意图;
图15为本申请实施例提供的控制报文的格式示意图;
图16为本申请实施例提供的文件列表的示意图;
图17为本申请实施例提供的文件传输装置的结构示意图。
具体实施方式
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
近场文件传输是指两个近场通信的终端设备之间进行文件传输的过程。例如,设备1可以通过蓝牙发现设备2,并与设备2在蓝牙通道上协商点对点(peer to peer,P2P)相关参数,与设备2之间建立高速P2P通道(也称链路)。然后,设备1可以通过P2P通道向设备2传输文件。
目前,终端设备之间的近场文件传输均不支持断点续传。其中,断点续传是指:终端设备之间在进行文件传输时,如果文件传输出现中断(终端设备连接可能断开,也可能未断开),则终端设备之间可以从文件传输出现中断的位置(即断点处)继续传输该文件。导致文件传输发生中断的因素可能包括但不限于用户主动触发暂停文件传输、网络故障或终端设备故障导致文件传输中断等。
例如,以设备1向设备2传输文件A为例,当设备1和设备2之间的连接中断时,文件A的传输也会出现中断,此时,如果用户再次点击触发设备1向设备2传输文件A,则设备1需要重新向设备2传输整个文件A,而无法从文件A发生传输中断的位置(即断点处)继续向设备2传输文件A剩余的部分。
在此背景技术下,本申请实施例提供一种文件传输方法,可以适用于发送端向接收端传输文件的场景。该方法中,发送端向接收端传输文件时,可以支持断点续传。
其中,发送端和接收端分别可以是手机、大屏(如智慧屏)、平板电脑、可穿戴设备(例如智能手表、智能手环器等)、电视、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备。
示例性地,以发送端为手机为例,图1为本申请实施例提供的终端设备的结构示意图。如图1所示,手机可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是手机的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,SIM接口,和/或USB接口等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机的各种功能应用以及数据处理。例如,手机与其他设备(其他设备也可以是手机)进行文件传输时,手机的处理器110可以调用内部存储器121存储的计算机可执行程序代码,实现本申请实施例提供的文件传输方法。
内部存储器121还可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如本申请实施例中所述的第一应用)等。存储数据区可存储手机使用过程中所创建的数据(比如图像数据,电话本)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为手机供电。电源管理模块141用于连接电池142,充电管理模块140,以及处理器110。电源管理模块141也可接收电池142的输入为手机供电。
手机的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。手机中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。手机可以通过无线通信功能向其他设备传输文件。
手机可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。例如,本申请实施例中,显示屏194可以用于显示图库的显示界面、分享界面、文件传输界面等。
手机通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
可以理解的是,图1所示的结构并不构成对手机的具体限定。在一些实施例中,手机也可以包括比图1所示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置等。又或者,图1所示的一些部件可以以硬件,软件或软件和硬件的组合实现。
另外,当终端设备是其他平板电脑、可穿戴设备、车载设备、AR/VR设备、笔记本电脑、UMPC、上网本、PDA等移动终端时,这些其他终端设备的具体结构也可以参考图1所示。示例性地,其他终端设备可以是在图1给出的结构的基础上增加或减少了组件,在此不再一一赘述。
可选地,本申请实施例中,发送端和接收端可以是同一种终端设备,也可以是不同的终端设备,本申请实施例对发送端和接收端的具体设备形态均不作限制。
本申请实施提供的文件传输方法主要可以包括以下四个部分:
第一部分,发送端扫描发现至少一个接收端。
第二部分,发送端响应于第一操作,与目标接收端建立控制通道和数据通道。
其中,第一操作可以为用户在发送端上选择文件向目标接收端分享的操作。
控制通道可以用于发送端与目标接收端协商文件传输所需的各种参数,数据通道可以用于发送端与目标接收端传输文件。
在一种可能的实现方式中,控制通道和数据通道均为逻辑通道,也即,控制通道和数据通道的定义是基于其实现的不同功能进行划分的,本申请对控制通道和数据通道的具体实现并不限制。例如,控制通道和数据通道可以是同一通道,也可以是不同通道。
一些实施例中,目标接收端可以是第一部分中发送端扫描发现的至少一个接收端中的一个或多个。
另外一些实施例中,用户在发送端上选择的目标接收端也可以不是上述第一部分中发送端扫描发现的接收端。例如,当某个接收端与发送端已经建立通信连接,或者,某个接收端与发送端登录了同一个用户账号时,对于发送端而言,该接收端可以作为可信设备。用户可以在发送端直接选择该接收端作为目标接收端。
还有一些实施例中,当目标接收端包括多个时,部分目标接收端可以是第一部分中发送端扫描发现的接收端,另外一部分目标接收端可以是已经作为可信设备的接收端。
第三部分,发送端基于控制通道与目标接收端进行参数协商。
第四部分,发送端将用户执行第一操作所选择的文件复制到第一缓存(第一缓存可以称为发送缓存或传输缓存)中,并基于数据通道向目标接收端传输第一缓存中的文件。如:可以将用户执行第一操作所选择的文件从只读存储器(read only memory,ROM)中复制到第一缓存中。在发送端向目标接收端传输文件的过程中,当文件传输出现中断、且再次启动续传时,发送端识别未传输完成的文件是否发生变化。当未传输完成的文件未发生变化时,发送端从文件传输出现中断的断点处继续进行续传。未传输完成的文件也可以称为需继续传输的文件。
其中,未传输完成的文件是指用户选择的文件中还未传输到目标接收端的全部文件。例如,当用户选择的文件仅包括一个文件,且该文件传输出现中断时,未传输完成的文件即是指该文件。又例如,当用户选择的文件仅包括多个文件,某个文件传输出现中断时,未传输完成的文件即是指前述多个文件中还未开始传输的文件、以及该传输出现中断的文件。
应当理解,发送端从文件传输出现中断的断点处继续进行续传是指:发送端继续向目标接收端传输出现中断的文件的断点之后的剩余部分、以及其他还未开始传输的文件。
下面对上述第一部分至第四部分进行示例性说明。
对于第一部分和第二部分:
以发送端为手机1、接收端包括手机2和手机3为例,手机1、手机2、以及手机3中可以分别包括一个分布式开关,分布式开关也可以叫做扫描开关、设备连接开关等其他名称,在此不作限制。当用户打开手机1、手机2、以及手机3的分布式开关时,手机1可以扫描到手机2和手机3。类似的,手机2可以扫描到手机1和手机3,手机3可以扫描到手机1和手机2。手机1中可以包括多张图片。用户可以在手机1的图库中选择至少一张图片进行分享。当用户在手机1上选择至少一张图片进行分享时,手机1可以显示分享界面。分享界面可以包括手机2的标识信息和手机3的标识信息。用户可以在分享界面点击手机2的标识信息,手机1可以响应于用户点击手机2的标识信息的操作,与手机2建立控制通道和数据通道。其中,手机2即为目标接收端,用户在手机1上选择图片进行分享的操作、以及用户点击手机2的标识信息的操作即为上述第一操作。用户在手机1上选择的图片即为用户选择的需要手机1向手机2传输的文件。
示例性地,以手机的近场文件传输功能为文件分享为例,图2为本申请实施例提供的手机的设备连接设置界面的示意图。如图2所示,手机的设备连接设置界面可以包括:蓝牙、文件分享、多屏互动、USB等选项,每个选项的后边可以包括一个该选项对应的开关按钮,如:文件分享对应的开关按钮201。用户可以在图1所示的设备连接设置界面点击文件分享对应的开关按钮201,以触发手机打开或关闭文件分享功能。图2中所示的文件分享功能的状态为打开。文件分享对应的开关按钮201即为前述分布式开关。当手机的分布式开关打开时,手机可以扫描到其他设备,也可以支持被其他设备扫描。
图3为本申请实施例提供的图库的显示界面的示意图。当用户在手机1的图库中查看图片时,手机1可以显示如图3所示的图库的显示界面。如图3所示,图库的显示界面可以包括多张图片,如:图片1至图片9。用户可以在图库的显示界面中长按任意一张图片,触发图片选择功能。例如,图4为本申请实施例提供的图库的显示界面的另一示意图。如图4所示,手机1可以响应于用户长按任意一张图片的操作,在每张图片上显示选择按钮401(图4中仅示例性标出了图片1对应的选择按钮),并且在图库的显示界面下方区域显示分享按钮402、全选按钮403,还可以显示其他功能按钮,如删除按钮、更多按钮等。用户可以在图4所示的图库的显示界面中点击选择按钮401,选中一张或多张图片,并点击下方的分享按钮402,以触发手机显示用户选中的图片对应的分享界面。或者,用户也可以在图4所示的图库的显示界面中点击全选按钮403,选中全部的图片,并点击下方的分享按钮402,以触发手机显示用户选中的图片对应的分享界面。
示例性地,图5为本申请实施例提供的分享界面的示意图。假设用户在图4所示的图库的显示界面中依次点击图片1至图片5分别对应的选择按钮401,并点击分享按钮402,则手机可以响应于用户的前述操作,显示如图5所示的分享界面。如图5所示,此时,该分享界面至少可以包括:手机2的标识信息501、手机3的标识信息502。如:手机2的标识信息501可以是手机2的设备名称或设备型号,手机3的标识信息502可以是手机3的设备名称或设备型号。当用户想要将选中的图片1至图片5分享给手机2时,用户可以在图5所示的分享界面中点击手机2的标识信息501。手机1可以响应于用户点击手机2的标识信息501的操作,与手机2建立控制通道和数据通道。然后,手机1与手机2之间可以基于第三部分和第四部分所述的过程传输图片1至图片5。
应当理解,图3至图5所示仅以传输文件包括图片1至图片5为例。在其他一些示例中,传输文件也可以包括更多或更少数量的图片。或者,传输文件也可以是其他类型的文件,如:视频文件、音乐文件等。本申请对传输文件的具体文件类型不作限制。
另外,手机1显示的分享界面中包括的接收端的标识信息可能包括一个或多个,如:当手机1附近仅有一个打开分布式开关的手机2时,分享界面可能仅包括手机2的标识信息;又如,当手机1附近有打开分布式开关的手机2、手机3、手表1时,分享界面可以包括手机2的标识信息、手机3的标识信息、以及手表1的标识信息。也即,发送端可以在分享界面显示所有扫描到的接收端的标识信息,以供用户选择。可选地,用户可以选择一个或多个接收端作为目标接收端,本实施例仅以一个目标接收端为例进行说明。当用户选择多个目标接收端时,发送端与每个目标接收端分别按照本申请实施例提供的文件传输方法进行文件传输。
一些实施例中,发送端扫描到目标接收端后,已经可以获取到目标接收端的地址。发送端可以与目标接收端快速建立低功耗蓝牙(bluetooth low energy,BLE)连接、或者蓝牙基本速率(basic rate,BR)连接、或者蓝牙增强(enhanced data rate,EDR)连接、又或者P2P连接等作为控制通道。又或者,如果发送端和目标接收端已经连接到Wi-Fi网络,发送端也可以与目标接收端快速建立IP连接作为控制通道。又或者,发送端还可以使用BLE广播作为与目标接收端建立的控制通道。在此对控制通道的具体实现不作限制。
可选地,发送端与目标接收端建立数据通道可以是指:发送端与目标接收端建立高速P2P通道。
一些实施例中,控制通道和数据通道可以是同一通道。
对于第三部分:
发送端基于控制通道与目标接收端进行参数协商,可以包括:发送端通过控制通道向目标接收端发送用户选择的文件的基本信息,如:文件列表、文件的名称、大小等。目标接收端通过控制通道向发送端返回对用户选择的文件的基本信息的确认消息。
发送端基于控制通道与目标接收端完成参数协商后,即可进入第四部分。
对于第四部分:
发送端基于数据通道向目标接收端传输用户选择的文件(即第一缓存中的文件)的过程中,文件传输出现中断的情况例如可以包括两种。第一种为文件传输出现中断、但发送端与目标接收端之间的连接未断开。例如,用户主动进行暂停操作,触发发送端和目标接收端暂停文件传输时,文件传输会出现中断,但发送端与目标接收端之间的连接可能不会断开。第二种为文件传输出现中断、且发送端与目标接收端之间的连接断开。例如,发送端和/或目标接收端的网络故障或发送端和/或目标接收端发生设备故障时,可能导致文件传输出现中断、且发送端与目标接收端之间的连接断开。发送端与目标接收端之间的连接断开可以包括:发送端与目标接收端之间的控制通道和数据通道断开。
对于文件传输出现中断、但发送端与目标接收端之间的连接未断开的情况,当发送端和目标接收端之间再次启动续传时(如用户主动进行继续传输的操作,触发发送端和目标接收端继续进行文件传输时),发送端可以识别未传输完成的文件是否发生变化。当未传输完成的文件未发生变化时,发送端从文件传输出现中断的断点处继续进行续传。
对于文件传输出现中断、且发送端与目标接收端之间的连接断开的情况,当发送端和目标接收端之间再次启动续传时(如发送端和/或目标接收端的网络故障修复或发送端和/或目标接收端的设备故障消除时,可以自动启动续传),发送端需要重新与目标接收端建立控制通道和数据通道。然后,发送端基于重新建立的控制通道与目标接收端进行参数协商,具体可以包括:发送端通过控制通道向目标接收端发送断点信息,如:文件传输中断的断点位置;目标接收端通过控制通道向发送端返回对断点信息的确认消息。之后,发送端可以识别未传输完成的文件是否发生变化。当未传输完成的文件未发生变化时,发送端从文件传输出现中断的断点处继续进行续传。
可选地,本申请实施例中,发送端识别未传输完成的文件是否发生变化,包括:
1)发送端识别未传输完成的每一个文件是否发生变化;
2)发送端识别未传输完成的文件中是否有文件被删除;
3)发送端识别未传输完成的文件中是否新增了文件。
未传输完成的文件未发生变化是指:未传输完成的每一个文件均未发生变化,且未传输完成的文件中没有文件被删除、也没有新增文件。
未传输完成的文件发生了变化可以包括以下任意一种或多种情况:未传输完成的文件中有一个或多个文件发生了变化;或者,未传输完成的文件中有一个或多个文件被删除;又或者,未传输完成的文件中新增了一个或多个文件。
其中,未传输完成的文件中发生了变化或者被删除的一个或多个文件可以包括:还未开始传输的文件,和/或,传输出现中断的文件。
以发送端识别未传输完成的文件中的文件1(文件1可以是还未开始传输的文件,也可以是传输出现中断的文件)是否发生变化为例,发送端识别文件1是否发生变化的具体方式示例如下:
一些实施例中,发送端可以在开始向目标接收端传输文件前,获取文件1的文件时间(如文件时间可以是最新修改时间),文件时间格式可以为“*年*月*日*时*分*秒”,“*”表示具体的时间数值。当发送端和目标接收端之间再次启动续传时,发送端可以再次获取文件1的文件时间。发送端可以比较再次启动续传时文件1的文件时间相对于开始向目标接收端传输文件前文件1的文件时间是否有变化。如果再次启动续传时文件1的文件时间相对于开始向目标接收端传输文件前文件1的文件时间没有发生变化,如:再次启动续传时文件1的文件时间与开始向目标接收端传输文件前文件1的文件时间相同,则表示文件1在文件传输中断之后没有发生变化。如果再次启动续传时文件1的文件时间相对于开始向目标接收端传输文件前文件1的文件时间发生了变化,如:再次启动续传时文件1的文件时间晚于开始向目标接收端传输文件前文件1的文件时间,则表示文件1在文件传输中断之后发生了变化。
另外一些实施例中,发送端也可以在开始向目标接收端传输文件前,基于第一哈希算法获取文件1的哈希(hash)值。当发送端和目标接收端之间再次启动续传时,发送端可以再次基于第一哈希算法获取文件传输出现中断后文件1的hash值。发送端可以比较文件1在文件传输出现中断之前的hash值与文件传输出现中断后的hash值是否相等,如果二者相等,则表示文件1没有变化;如果二者不相等,则表示文件1在文件传输中断之后发生了变化。
示例性地,第一哈希算法可以是crc32算法、md5算法,sha1算法,sha256算法,sha512算法,sha3算法、ripdemd160算法等,本申请对第一哈希算法的类型不作限制。另外,本申请实施例对发送端识别未传输完成的每一个文件是否发生变化的方式也不作限制。
在一些实施例中,即使未传输完成的文件发生变化,也允许在预设条件下或用户授意允许的情况下,允许继续续传。例如,在确定未传输完成的文件发生变化时,向用户呈现确认请求,该请求可以用于呈现发生变化的文件的数量、比例或者内容等信息,以供用户决策是否允许续传,并在用户授意允许的情况下继续续传。
上述第四部分中,对于文件传输出现中断、但发送端与目标接收端之间的连接未断开的情况,以及文件传输出现中断、且发送端与目标接收端之间的连接断开的情况,当发送端和目标接收端之间再次启动续传,且发送端识别到未传输完成的文件发生了变化时:
如果传输出现中断的文件没有被删除、也没有发生变化,则发送端可以从传输出现中断的文件的断点处继续传输该传输出现中断的文件;如果传输出现中断的文件被删除,则发送端可以跳过该传输出现中断的文件,开始传输后续的其他文件;如果传输出现中断的文件没有被删除、但发生了变化,则发送端可以重新读取修改后的(即变化后的)该文件,并重新传输整个修改后的该文件。其中,传输出现中断的文件可以称为第一文件。
而对于未传输完成的文件中除了传输出现中断的文件之外的文件:当文件发生了变化时,发送端可以将发生了变化的文件更新至第一缓存中,在后续传输到该文件时,发送端向目标接收端传输修改后的该文件。当文件被删除时,发送端可以相应删除第一缓存中缓存的该文件,后续不再向目标接收端传输该文件。当文件为新增文件时,发送端可以将新增文件也复制到第一缓存中,后续向接收端传输该新增文件。其中,未传输完成的文件中除了传输出现中断的文件之外的文件可以是第二文件。
举例说明:
以用户通过手机1向手机2分享上述图片1至图片5为例,手机1可以依次向手机2传输图片1至图片5。假设在传输到图片2时出现中断,且图片2传输了55%,则此时图片1为已传输完成的文件,图片2至图片5为未传输完成的文件。当手机1和手机2之间再次启动续传时,手机1可以按照上述实施例中所述的方式识别图片2至图片5是否发生变化。
假设图片2至图片5未发生变化,则手机1可以从图片2的断点处(图片2的55%位置)继续进行续传。
假设图片2没有被删除、也没有发生变化:如果图片3至图片5中的某个图片发生了变化,则手机1可以从图片2的断点处继续进行续传,并将图片3至图片5中发生了变化的图片更新至第一缓存中(如图片3发生了变化时,可以用修改后的图片3替换第一缓存中的图片3),在后续传输到该发生了变化的图片时,手机1可以向手机2传输该发生了变化的图片。如果图片3至图片5中的某个图片被删除,则手机1可以从图片2的断点处继续进行续传,并相应删除第一缓存中缓存的被删除的该图片,后续不再向手机2传输该图片。如果用户又在手机上选择了图片6分享至手机2,则手机可以将图片6也复制到第一缓存中,后续向接收端传输该图片6。
假设图片2被删除,则手机1可以跳过该图片2,继续传输后续的图片3至图片5。对于图片3至图片5的传输,可以参考前面图片2没有被删除、也没有发生变化的场景中所述。
假设图片2没有被删除、但发生了变化,则手机1可以重新读取修改后的图片2,并重新传输修改后的图片2(不再从之前的断点处进行续传),然后,手机1可以继续传输后续的图片3至图片5。对于图片3至图片5的传输,同样可以参考前面图片2没有被删除、也没有发生变化的场景中所述。
一些实施例中,对于上述发送端和目标接收端之间再次启动续传,且发送端识别到未传输完成的文件发生了变化的场景,当发送端识别到未传输完成的文件中某一个或多个文件(可以包括还未开始传输的文件和/或传输中断的文件)被删除,或者,未传输完成的文件中新增了一个或多个文件时,发送端可以在文件传输界面向用户显示相应的提示消息,并在接收到用户确认启动续传的操作后,再按照前述实施例中所述的方式进行续传。如果用户在文件传输界面执行了退出续传的操作,则发送端可以退出续传流程,不再向目标接收端传输文件。发送端文件传输界面向用户显示的提示消息可以称为第一信息,第一信息包括需继续传输的文件发生变化的变化信息。
示例性地,图6为本申请实施例提供的文件传输界面的示意图。以上述图5所示的场景中,用户在手机1上选择图片1至图片5向手机2进行传输为例,手机1向手机2传输图片1至图片5的过程中,手机1可以显示图6所示的图片1至图片5对应的文件传输界面。如图6所示,该文件传输界面至少可以包括:传输进度601,如:传输进度601可以是“正在发送图片2,已完成33%”。
示例性地,图7为本申请实施例提供的文件传输界面的另一示意图。如图7所示,当手机1和手机2之间再次启动续传时,如果手机1识别到图片2被删除,手机1可以在该文件传输界面弹出一个提示框602,提示框602中可以显示图片2被删除的提示消息:“图片2被删除”。提示框602中还可以包括:继续续传按钮603、退出续传按钮604。当用户点击继续续传按钮603时,手机1可以响应于用户点击继续续传按钮603的操作,按照前述实施例中所述的方式启动续传。当用户点击退出续传按钮604时,手机1可以响应于用户点击退出续传按钮604的操作,退出续传流程,不再向手机2传输图片2至图片5。
示例性地,图8为本申请实施例提供的文件传输界面的又一示意图。如图8所示,当手机1和手机2之间再次启动续传时,如果手机1识别到用户又在手机1上选择了图片6分享至手机2,则手机1可以在该文件传输界面弹出的提示框602中可以显示新增了图片6的提示消息:“新增了图片6”。与前述图6中所述类型,用户可以点击继续续传按钮603,触发手机1按照前述实施例中所述的方式启动续传;或者,用户可以点击退出续传按钮604,触发手机1退出续传流程。
应当理解,当手机1识别到图片2被删除、且用户又在手机1上选择了图片6分享至手机2时,提示框602中可以同时包括图片2被删除的提示消息、以及新增了图片6的提示消息,此处不再详述。另外,前述“图片2被删除”、“新增了图片6”等提示消息均为示例性说明,在其他实施例中,这些提示消息也可以是其他内容,如:“图片2被删除”也可以被替换为“图片2已删除”,在此不作限制。
可选地,本申请实施例中,为区别上述第三部分中所述的“发送端基于控制通道与目标接收端进行参数协商”、以及上述第四部分中“对于文件传输出现中断、且发送端与目标接收端之间的连接断开的情况,发送端基于重新建立的控制通道与目标接收端进行参数协商”,发送端基于控制通道与目标接收端进行参数协商时,发送端还可以与目标接收端协商本次连接为新连接或基于断点的连接。如:上述第三部分中,发送端可以向目标接收端发送第一指示消息,第一指示消息用于指示本次连接为新连接。上述第四部分中,发送端可以向目标接收端发送第二指示消息,第二指示消息用于指示本次连接为基于断点的连接。目标接收端可以向发送端返回对第一指示消息或第二指示消息的确认消息。
在本实施例中,当发送端与目标接收端连接时,如果发送端与目标接收端协商本次连接为新连接,则发送端可以直接读取本地选举的文件向目标接收端进行传输。如:本地选举的文件可以是指用户选择分享的文件。如果发送端与目标接收端协商本次连接为基于断点的连接,则发送端可以按照上述第四部分中对于文件传输出现中断、且发送端与目标接收端之间的连接断开的情况中所述进行断点续传。
应当理解,本申请实施例中,当发送端基于数据通道向目标接收端传输文件正常传输完成、没有中断时,目标接收端可以直接导入已经传输完成的文件进行存储,即不存在断点续传的场景。
可选地,用户在发送端执行第一操作选择文件向目标接收端分享时,可以选择一个或多个文件;或者,选择多个文件夹,每个文件夹可以包括至少一个文件;又或者,选择多个文件与多个文件夹的组合。在此不作限制。
可选地,上述第四部分中,对于文件传输出现中断、且发送端与目标接收端之间的连接断开的情况,当发送端和目标接收端之间再次启动续传时,发送端重新与目标接收端建立控制通道和数据通道之后,发送端还可以先识别本次续传时的目标接收端与上次开始传输文件时建立连接的目标接收端(即上述第二部分中建立连接的目标接收端)是否为同一设备,如果本次续传时的目标接收端与上次开始传输文件时建立连接的目标接收端为同一设备,则表示目标接收端在文件传输中断后未发生变动(即,本次续传时的目标接收端可信),则发送端可以按照前述实施例中所述的方式进行后续的续传流程。如果本次续传时的目标接收端与上次开始传输文件时建立连接的目标接收端为不同设备,则表示目标接收端在文件传输中断后发生了变动(即,本次续传时的目标接收端不可信),则发送端可以直接退出续传流程。
在一种可能的设计中,发送端识别本次续传时的目标接收端与上次开始传输文件时建立连接的目标接收端是否为同一设备的实现方案可以包括:发送端和目标接收端预先分别生成各自独立的非对称加密密钥对(如RSA密钥对),其中,非对称加密密钥对包括公钥和私钥。发送端的公钥与目标接收端的公钥不同,发送端的私钥与目标接收端的私钥不同。在上述第三部分中,发送端基于控制通道与目标接收端进行参数协商时,发送端和目标接收端首先交换彼此的公钥。发送端和目标接收端首先交换彼此的公钥之后,对于后续的参数协商过程、以及文件传输过程,发送端和目标接收端之间进行数据传输时,可以分别使用对方的公钥对传输的数据进行加密,对方可以使用自己的私钥进行解密,以防止通信仿冒。在上述第四部分中,对于文件传输出现中断、且发送端与目标接收端之间的连接断开的情况,当发送端和目标接收端之间再次启动续传时,发送端重新与目标接收端建立控制通道和数据通道之后,发送端与目标接收端可以再次交换彼此的公钥,发送端可以验证本次续传时得到的目标接收端的公钥与上次开始传输文件时建立连接的目标接收端的公钥是否一致,如果一致,则表示本次续传时的目标接收端与上次开始传输文件时建立连接的目标接收端为同一设备。如果不一致,则表示本次续传时的目标接收端与上次开始传输文件时建立连接的目标接收端为不同设备。
在另外一种可能的设计中,发送端识别本次续传时的目标接收端与上次开始传输文件时建立连接的目标接收端是否为同一设备的实现方案也可以包括:发送端和目标接收端预先分别生成各自独立的非对称加密密钥对(如RSA密钥对),其中,非对称加密密钥对包括公钥和私钥。发送端的公钥与目标接收端的公钥不同,发送端的私钥与目标接收端的私钥不同。在上述第三部分中,发送端基于控制通道与目标接收端进行参数协商时,发送端和目标接收端首先交换彼此的公钥。发送端和目标接收端首先交换彼此的公钥之后,对于后续的参数协商过程、以及文件传输过程,发送端和目标接收端之间进行数据传输时,可以分别使用对方的公钥对传输的数据进行加密,对方可以使用自己的私钥进行解密,以防止通信仿冒。在上述第四部分中,对于文件传输出现中断、且发送端与目标接收端之间的连接断开的情况,当发送端和目标接收端之间再次启动续传时,发送端重新与目标接收端建立控制通道和数据通道之后,发送端与目标接收端也可以交换彼此的公钥的哈希值(该哈希值可以是使用上述第一哈希算法对公钥进行计算得到,如sha256算法)。发送端可以验证本次续传时得到的目标接收端的公钥的哈希值,与上次开始传输文件时建立连接的目标接收端的公钥的哈希值是否一致,如果一致,则表示本次续传时的目标接收端与上次开始传输文件时建立连接的目标接收端为同一设备。如果不一致,则表示本次续传时的目标接收端与上次开始传输文件时建立连接的目标接收端为不同设备。
可选地,本申请还有一些实施例中,上述任意一种发送端识别本次续传时的目标接收端与上次开始传输文件时建立连接的目标接收端是否为同一设备的实现方案中,在第三部分,发送端基于控制通道与目标接收端进行参数协商时,发送端和目标接收端交换彼此的公钥之后,发送端还可以生成对称密钥,并向目标接收端分发(发送)使用目标接收端的公钥进行加密后的对称密钥。目标接收端可以根据自己的公钥解密得到该对称密钥。对于后续的参数协商过程、以及文件传输过程,发送端和目标接收端之间进行数据传输时,均可以使用该对称密钥对传输的数据进行加密,对方可以使用该对称密钥进行解密,以防止通信仿冒。在此不作限制。
上述第四部分中,对于文件传输出现中断、且发送端与目标接收端之间的连接断开的情况,当发送端和目标接收端之间再次启动续传时,发送端重新与目标接收端建立控制通道和数据通道之后,发送端在识别到本次续传时的目标接收端与上次开始传输文件时建立连接的目标接收端为同一设备时,再按照前述实施例中所述的方式进行后续的续传流程,可以避免文件传输中断后新接入的设备(与发送端建立连接的设备)为仿冒设备而影响通信安全。例如,当文件传输中断15分钟后,如果新接入的设备的BLE地址发生了变化,则发送端仍然可以准确识别出本次续传时的目标接收端与上次开始传输文件时建立连接的目标接收端为同一设备,可以启动后续的续传流程。
可选地,本申请实施例中,当发送端识别到本次续传时的目标接收端与上次开始传输文件时建立连接的目标接收端为不同设备,退出续传流程时,发送端还可以在文件传输界面显示续传失败的提示消息,以提示用户续传失败。
例如,图9为本申请实施例提供的文件传输界面的又一示意图。如图9所示,当手机1和手机2之间再次启动续传时,如果手机1识别到本次续传时的目标手机与上次开始传输文件时建立连接的手机2为不同设备,则手机1退出续传流程时,还可以在文件传输界面显示续传失败的提示消息605:“连接有误,续传失败”,以提示用户续传失败。应当理解,续传失败的提示消息也可以通过弹出一个提示框进行显示,或者,续传失败的提示消息的内容也可以是其他文字,在此均不作限制。
以上主要示例性介绍了本申请实施例提供的文件传输方法中,第一部分至第四部分的实现过程。其中,前述实施例中提到的发送端退出续传流程,可以包括:发送端删除第一缓存中保存(暂存)的所有文件,不再向目标接收端传输文件。应当理解,发送端退出续传流程可以是前述实施例中所述的发送端识别到退出续传流程的触发条件而退出续传流程,或者,用户主动触发退出续传流程,如:用户点击退出续传按钮。
可选地,本申请实施例中,当发送端退出续传流程时,发送端还可以通过控制通道向目标接收端发送退出续传流程的提示消息。目标接收端接收到退出续传流程的提示消息后,可以删除其保存的临时文件。例如,发送端与目标接收端进行文件传输时,目标接收端可以将接收到的文件暂时存储到第二缓存中,并在接收到完整的文件之后,将完整的文件由第二缓存复制到文件存储空间(如:存储器)中。第二缓存中保存的文件即为临时文件。
可选地,本申请实施例中,当发送端和目标接收端之间再次启动续传,且发送端识别到未传输完成的文件中,传输出现中断的文件发生了变化时,发送端还可以向目标接收端发送传输出现中断的文件发生了变化的提示消息,该提示消息中可以包括传输出现中断的文件的变化信息,可以用于向目标接收端指示(或告知)发送端将重新向其发送修改后的该文件。
类似地,当发送端和目标接收端之间再次启动续传,且发送端识别到未传输完成的文件中,传输出现中断的文件被删除时,发送端也可以向目标接收端发送传输出现中断的文件被删除的提示消息,该提示消息可以用于向目标接收端指示(或告知)传输出现中断的文件已被删除,发送端将跳过该文件继续进行后续文件的传输。
可选地,目标接收端接收到来自发送端的传输出现中断的文件发生了变化的提示消息,和/或,传输出现中断的文件被删除的提示消息后,目标接收端可以删除第二缓存中保存的该传输出现中断的文件中已经传输过来的部分数据。
可选地,本申请实施例中,发送端和接收端中还可以分别预配置有各自的断点续传最大容忍时间。发送端和接收端的断点续传最大容忍时间的具体数值可以由手机厂商、提供文件传输服务的服务提供方、或者使用发送端、接收端的用户等人员进行配置,在此不作限制。上述第三部分中,发送端基于控制通道与目标接收端进行参数协商,还可以包括:发送端与目标接收端根据各自的断点续传最大容忍时间,协商断点续传目标容忍时间。
一些实施例中,断点续传目标容忍时间的数值的范围可以在发送端的断点续传最大容忍时间、以及接收端的断点续传最大容忍时间中的最小值至发送端的断点续传最大容忍时间、以及接收端的断点续传最大容忍时间中的最大值之间。
例如,当发送端的断点续传最大容忍时间小于接收端的断点续传最大容忍时间时,断点续传目标容忍时间可以大于或等于发送端的断点续传最大容忍时间、且小于或等于接收端的断点续传最大容忍时间。
又例如,当发送端的断点续传最大容忍时间大于接收端的断点续传最大容忍时间时,断点续传目标容忍时间可以大于或等于接收端的断点续传最大容忍时间、且小于或等于发送端的断点续传最大容忍时间。
示例性地,假设发送端的断点续传最大容忍时间为3600秒,接收端的断点续传最大容忍时间为7200秒,则发送端与目标接收端可以协商断点续传目标容忍时间为7200秒。又例如,假设发送端的断点续传最大容忍时间为永久,接收端的断点续传最大容忍时间为7200秒,则断点续传目标容忍时间为永久。
可选地,当发送端的断点续传最大容忍时间等于接收端的断点续传最大容忍时间时,断点续传目标容忍时间可以等于发送端和接收端的断点续传最大容忍时间。
本申请实施例中,发送端的断点续传最大容忍时间可以称为第一断点续传容忍时间,接收端的断点续传最大容忍时间可以称为第二断点续传容忍时间。
上述第四部分中,当文件传输出现中断时,发送端可以在本地维护一个目标接收端对应的数据库,当发送端感知到文件传输中断后,发送端可以将本次传输的第一传输信息存入目标接收端对应的数据库中。其中,第一传输信息至少可以包括:目标接收端的相关信息(如设备信息、目标接收端的公钥等)、文件列表(包括每个文件的摘要和大小等)、已传输完成的文件、未传输完成的文件(包括还未开始传输的文件、以及传输中断的文件)、断点信息等。同时,发送端可以启动一个时间定时器,该时间定时器的定时时间为前述断点续传目标容忍时间。当时间定时器计时达到断点续传目标容忍时间时,发送端可以删除目标接收端对应的数据库中存储的第一传输信息。
类似地,当文件传输出现中断时,目标接收端也可以在本地维护一个发送端对应的数据库,当目标接收端感知到文件传输中断后,目标接收端可以将本次传输的第二传输信息存入发送端对应的数据库中。其中,第二传输信息可以包括:发送端的相关信息(如设备信息、发送端的公钥等)、文件列表(包括每个文件的摘要和大小等)、已传输完成的文件、未传输完成的文件(包括还未开始传输的文件、以及传输中断的文件)、断点信息、临时未恢复的文件等。同时,目标接收端也可以启动一个时间定时器,该时间定时器的定时时间也为前述断点续传目标容忍时间。当时间定时器计时达到断点续传目标容忍时间时,目标接收端可以删除发送端对应的数据库中存储的第二传输信息。
也即,本申请实施例中,断点续传目标容忍时间可以指示发送端和目标接收端在文件传输中断后,最大等待多久删除各自缓存的传输文件。应当理解,当断点续传目标容忍时间为永久时,发送端和目标接收端可以不用分别启动时间定时器。
示例性地,一种实施方式中,发送端与目标接收端根据各自的断点续传最大容忍时间,协商断点续传目标容忍时间,可以包括:发送端向目标接收端发送发送端的断点续传最大容忍时间;目标接收端接收到发送端的断点续传最大容忍时间后,根据发送端的断点续传最大容忍时间、以及目标接收端的断点续传最大容忍时间,确定断点续传目标容忍时间。目标接收端向发送端发送断点续传目标容忍时间。相应地,发送端接收断点续传目标容忍时间。
另一种实施方式中,发送端与目标接收端根据各自的断点续传最大容忍时间,协商断点续传目标容忍时间,也可以包括:目标接收端向发送端发送目标接收端的断点续传最大容忍时间;发送端接收到目标接收端的断点续传最大容忍时间后,根据发送端的断点续传最大容忍时间、以及目标接收端的断点续传最大容忍时间,确定断点续传目标容忍时间。发送端向目标接收端发送断点续传目标容忍时间。相应地,目标接收端接收断点续传目标容忍时间。
可选地,本申请实施例中,上述第三部分中,发送端基于控制通道与目标接收端进行参数协商,还可以包括:发送端查询目标接收端是否具有支持断点续传的能力。当目标接收端具有支持断点续传的能力时,发送端按照上述第四部分中所述的方式与目标接收端进行文件传输。
例如,发送端可以向目标接收端发送断点续传能力查询请求消息。目标接收端接收到断点续传能力查询请求消息后,可以向发送端返回断点续传能力确认消息。断点续传能力确认消息可以用于向发送端指示目标接收端具有支持断点续传的能力。
示例性地,发送端和接收端具有支持断点续传的能力,是指发送端和接收端可以按照本申请实施例所述的文件传输方法进行文件传输。例如,对于某个设备而言,开发人员可以将支持断点续传能力所需的代码预先配置在该设备中,该设备可以通过查询相应的代码得知自己是否具有支持断点续传的能力。
为使本申请实施例提供的文件传输方法中,发送端和目标接收端的交互逻辑更加清晰明了,下面结合图10至图14,对前述实施例中所述的发送端和目标接收端之间的交互流程进行更具体地说明。
示例性地,图10为本申请实施例提供的文件传输中断之前发送端和目标接收端的交互流程示意图。如图10所示,文件传输中断之前发送端与目标接收端的交互流程可以包括S1001-S1014。应当理解,S1001之前,发送端已经扫描到了目标接收端。
S1001、发送端接收第一操作。
如上所述,第一操作可以为用户在发送端上选择文件向目标接收端分享的操作。目标接收端为第一部分中发送端扫描发现的至少一个接收端中的一个或多个。
S1002、发送端响应于第一操作,与目标接收端建立连接。
如上所述,发送端可以响应于第一操作,与目标接收端建立控制通道和数据通道。之后,发送端可以基于控制通道与目标接收端进行参数协商,基于数据通道向目标接收端传输文件。具体请参见S1003-S1014所述。
S1003、发送端向目标接收端发送发送端的公钥。
S1004、目标接收端向发送端发送目标接收端的公钥。
S1005、发送端向目标接收端发送断点续传能力查询请求消息。
S1006、目标接收端向发送端返回断点续传能力确认消息。
断点续传能力确认消息可以用于向发送端指示目标接收端具有支持断点续传的能力。
S1007、发送端向目标接收端发送发送端的断点续传最大容忍时间。
S1008、目标接收端根据发送端的断点续传最大容忍时间、以及目标接收端的断点续传最大容忍时间,确定断点续传目标容忍时间。
S1009、目标接收端向发送端发送断点续传目标容忍时间。
S1010、发送端向目标接收端发送第一指示消息,第一指示消息用于指示本次连接为新连接。
S1011、目标接收端向发送端返回对第一指示消息的确认消息。
S1012、发送端向目标接收端发送第一操作对应的文件的基本信息。
S1013、目标接收端向发送端返回对第一操作对应的文件的基本信息的确认消息。
S1014、发送端向目标接收端发送第一操作对应的文件。
可以理解,上述S1003-S1013所述的过程可以通过控制通道完成,S1014所述的过程可以通过数据通道完成。
另外,需要说明的是,上述图10所示的流程仅为示例性说明,本申请对S1003-S1013的执行顺序和逻辑不作限制。例如,S1007可以在S1005之前,或者,S1005和S1007也可以是一起执行,如:断点续传能力查询请求消息和发送端的断点续传最大容忍时间可以包含在同一个消息中进行发送等。
图11为本申请实施例提供的文件传输中断时发送端的续传控制流程示意图。如图11所示,当上述S1014中发送端向目标接收端发送第一操作对应的文件的过程中,文件传输出现中断时,发送端的续传控制流程可以包括S1101-S1103。
S1101、发送端将第一传输信息存入目标接收端对应的数据库中。
其中,第一传输信息至少可以包括:目标接收端的相关信息(如设备信息、目标接收端的公钥等)、文件列表(包括每个文件的摘要和大小等)、已传输完成的文件、未传输完成的文件(包括还未开始传输的文件、以及传输中断的文件)、断点信息等。
S1102、发送端启动一个时间定时器,时间定时器的定时时间为断点续传目标容忍时间。
S1103、当时间定时器计时达到断点续传目标容忍时间时,发送端删除目标接收端对应的数据库中存储的第一传输信息。
图12为本申请实施例提供的文件传输中断时目标接收端的续传控制流程示意图。如图12所示,当上述S1014中发送端向目标接收端发送第一操作对应的文件的过程中,文件传输出现中断时,目标接收端的续传控制流程可以包括S1201-S1203。
S1201、目标接收端将第二传输信息存入发送端对应的数据库中。
其中,第二传输信息至少可以包括:发送端的相关信息(如设备信息、发送端的公钥等)、文件列表(包括每个文件的摘要和大小等)、已传输完成的文件、未传输完成的文件(包括还未开始传输的文件、以及传输中断的文件)、断点信息、临时未恢复的文件等。
S1202、目标接收端启动一个时间定时器,时间定时器的定时时间为断点续传目标容忍时间。
S1203、当时间定时器计时达到断点续传目标容忍时间时,目标接收端删除发送端对应的数据库中存储的第二传输信息。
图13为本申请实施例提供的文件传输中断之后发送端和目标接收端的交互流程示意图。如图13所示,在发送端和目标接收端分别基于上述图11和图12所示的流程进行续传控制的过程中,当时间定时器计时还未达到断点续传目标容忍时间,发送端和目标接收端之间再次启动续传时:对于文件传输出现中断、但发送端与目标接收端之间的连接未断开的情况,发送端和目标接收端的交互流程可以包括S1301-S1304。
S1301、发送端向目标接收端发送断点信息。
S1302、目标接收端向发送端返回对断点信息的确认消息。
S1303、发送端识别未传输完成的文件是否发生变化。
S1304、当未传输完成的文件未发生变化时,发送端从文件传输出现中断的断点处继续向目标接收端传输文件。
图14为本申请实施例提供的文件传输中断之后发送端和目标接收端的另一交互流程示意图。如图14所示,在发送端和目标接收端分别基于上述图11和图12所示的流程进行续传控制的过程中,当时间定时器计时还未达到断点续传目标容忍时间,发送端和目标接收端之间再次启动续传时:对于文件传输出现中断、但发送端与目标接收端之间的连接未断开的情况,发送端和目标接收端的交互流程可以包括S1401-S1410。
S1401、发送端与目标接收端重新建立连接。
S1402、发送端向目标接收端发送发送端的公钥。
S1403、目标接收端向发送端发送目标接收端的公钥。
S1404、发送端验证本次连接的目标接收端的公钥与上次开始传输文件时建立连接的目标接收端的公钥是否一致。
S1405、当本次连接的目标接收端的公钥与上次开始传输文件时建立连接的目标接收端的公钥一致时,发送端向目标接收端发送第二指示消息,第二指示消息用于指示本次连接为基于断点的连接。
S1406、目标接收端向发送端返回对第二指示消息的确认消息。
S1407、发送端向目标接收端发送断点信息。
S1408、目标接收端向发送端返回对断点信息的确认消息。
S1409、发送端识别未传输完成的文件是否发生变化。
S1410、当未传输完成的文件未发生变化时,发送端从文件传输出现中断的断点处继续向目标接收端传输文件。
可以理解,上述S1402-S1409所述的过程可以通过控制通道完成,S1410所述的过程可以通过数据通道完成。
另外,也需要说明的是,上述图14所示的流程同样仅为示例性说明,本申请对S1402-S1409的执行顺序和逻辑也不作限制。
还应当理解,上述图13所示的S1304中或者图14所示的S1410中,发送端从文件传输出现中断的断点处继续向目标接收端传输文件时,如果再次碰到文件传输中断的情况,则可以继续按照前述实施例中所述的方式进行续传控制,在此不再赘述。
可选地,上述图10至图14中仅示例性给出了文件传输中断后目标接收端设备未变化、以及未传输完成的文件未发生变化的情况。对于目标接收端设备变化、以及未传输完成的文件发生变化的情况,具体可以参见前述第一部分至第四部分的相关说明中所述,在此不再用附图一一进行示例。
可选地,本申请实施例中,发送端与目标接收端进行交互时涉及到的:断点续传能力查询请求消息、断点续传能力确认消息、公钥、断点续传最大容忍时间(或称为最大容忍时间)等可以通过控制报文进行交互。例如,发送端和目标接收端可以通过向彼此发送控制报文实现控制通道和数据通道的建立、以及控制通道中相关参数的协商等。
示例性地,图15为本申请实施例提供的控制报文的格式示意图。如图15所示,控制报文可以包括控制报文的内容:类型(type)、类型的长度(len)、值(value),以及控制报文的属性:报文标识(cmdID)、控制报文的整个长度(length)、版本(version)、可变长编码长度值(optional tag length value,optional TLV),optional TLV也称可变长数据。
其中,cmdID、length、version、以及TLV的具体说明如下表1所示。
表1
type、len、以及value的具体说明如下表2所示。
表2
可选地,本申请实施例中,发送端与目标接收端进行文件传输的过程中,文件传输中断时的状态可以称为等待续传状态。发送端进入等待续传状态时,可以针对目标接收端、文件列表、文件号(如文件名称)、文件中断点位置等进行监控,识别未传输完成的文件是否发生变化(具体识别方式与前述实施例中相同)。当出现前述实施例中所述的未传输完成的文件发生变化的情况时,发送端可以在文件列表中标识未传输完成的文件发生变化的具体信息。例如,发送端可以为文件列表中的每个文件节点(文件节点可以是文件、或文件夹)增加一个状态标志,该状态标志用于标识该文件节点是否有变化、以及变化情况。如:当文件节点是某个文件时,状态标志可以标识该文件是否被删除或该文件是否有变化。当发送端和目标接收端之间再次启动续传时,发送端可以直接根据文件列表确定未传输完成的文件是否发生变化,以确定是否进行续传或向用户发出相关提示消息。例如,发送端可以根据文件列表中标识的状态标志确定未传输完成的文件是否发生变化。
也即,本实施例中,发送端识别未传输完成的文件是否发生变化的过程可以通过在进行等待续传状态时,对目标接收端、文件列表、文件号(如文件名称)、文件中断点位置等进行监控而实现。
示例性地,图16为本申请实施例提供的文件列表的示意图。如图16所示,以发送端为设备A,目标接收端为设备B,设备A向设备B传输的文件组成的文件列表包括:文件1、文件夹1、文件2、以及文件3,文件夹1包括:文件a、文件b、以及文件c为例,假设文件传输中断时,断点位置为文件2的第100个字节,文件2已经传输了20%,则设备1可以在传输中断后,开始对图16所示的文件列表进行监控。当某个文件节点发生变化时,设备1可以对图16所示的文件列表中的该文件节点对应的状态标志进行修改。如:当文件2发生变化时,设备1可以修改文件2对应的状态标志为:文件2已发生变化。又如,当文件2被删除时,设备1可以修改文件2对应的状态标志为:文件2已删除。
可选地,当发送端进入等待续传状态时,如果发送端接收端用户删除文件列表中的某个文件的操作,则发送端还可以显示该文件正在分享过程中的提示消息。如:用户删除文件2时,提示消息可以是:“文件2已经在分享过程中”。发送端在显示该文件正在分享过程中的提示消息的同时,还可以显示取消按钮、仅删除按钮、删除并退出续传按钮等选项,用户可以点击取消按钮触发发送端取消删除该文件,或者点击仅删除按钮触发发送端仅删除该文件,又或者,点击删除并退出续传按钮触发发送端删除该文件并退出续传流程。
也即,当发送端接收到删除第三文件(如文件2)的操作时,第三文件为需继续传输的文件,发送端可以显示第一提示消息,所述第一提示消息用于提示第三文件正在分享中。如:“文件2已经在分享过程中”即为第一提示消息。
可选地,发送端在监控文件列表时,如果已传输完成的文件发生了变化,则发送端还可以将在文件列表中对已传输完成的文件所在的文件节点对应的状态标志进行修改,并将已传输完成的文件的具体变化信息通知到目标接收端。当目标接收端接收到已传输完成的文件的具体变化信息后,如果已传输完成的文件还只位于目标接收端的内存(如上述第二缓存)中,则目标接收端可以删除该文件或者不作处理。如果已传输完成的文件已经导入指定目录(如根目录、或某个应用的文件目录)中,则目标接收端可以不作处理。
或者,目标接收端也可以将接收到的文件暂时不导入指定目录中,而是暂时存入一个临时目录,等到文件列表中的文件全部传输完成后,目标接收端可以再将临时目录中的全部文件导入指定目录中。在该场景下,当目标接收端接收到已传输完成的文件的具体变化信息后,目标接收端可以删除该文件。
也即,本申请实施例中,当待传输的文件发生变化时,发送端可以在文件列表中标识待传输的文件发生变化的信息。发送端还可以向接收端发送待传输的文件发生变化的信息。接收端可以根据待传输的文件发生变化的信息,对第二缓存中的文件进行调整。
在一些可能的场景中,当文件由发送端传输到目标接收端后,传输过来的文件的名称可能会与目标接收端指定目录下已有的文件的名称冲突,或者传输过来的文件的内容可能与目标接收端指定目录下已有的文件的内容一致。对此,本申请实施例中,发送端与目标接收端开始进行文件传输时,目标接收端可以将指定目录中的文件列表先导入内存,然后在内存中将传输过来的文件与指定目录中的文件列表进行比较,如果出现名称冲突的情况,则目标接收端可以预先对传输过来的文件或指定目录中发生冲突的文件进行重命名。如果出现内容一致的情况,则目标接收端可以删除本次传输过来的文件删除,避免重复。
示例性地,目标接收端可以通过比较传输过来的文件与指定目录中的文件的哈希值,确定二者是否内容一致。如果哈希值相同,则表示二者一致。如果哈希值不同,则表示二者不一致。
可选地,本申请实施例中,当发送端与目标接收端进行文件传输时,如果用户将发送端的显示界面由文件传输界面切换至其他界面(如手机的主界面),则发送端可以在其他界面显示一个悬浮控件(如悬浮球),用户可以通过点击该悬浮控件,触发发送端再次显示文件传输界面。
可选地,当用户在文件传输界面点击其他接收端的标识信息时,发送端可以响应于用户点击其他接收端的标识信息的操作,触发新的文件传输过程,其原理与前述实施例中所述的发送端和目标接收端的文件传输过程相同。
还需要说明的是,本申请实施例提供的文件传输方法还可以适用于远场P2P文件传输场景、端云(如终端设备和云端服务器)文件传输场景等,在此不作限制。
应当理解,以上各实施例中所述仅为对本申请实施例提供的文件传输方法的示例性说明。在其他一些可能的实现方式中,以上所述的各实施例也可以删减或增加某些执行步骤,或者以上实施例中所述的部分步骤的顺序也可以进行调整,本申请对此均不作限制。
对应于前述实施例中所述的文件传输方法,本申请实施例提供一种文件传输装置,该装置可以应用于发送端,用于实现前述实施例所述的文件传输方法中发送端可以实现的步骤。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。
例如,图17为本申请实施例提供的文件传输装置的结构示意图。如图17所示,该装置可以包括:发送单元1701、接收单元1703、处理单元1703;发送单元1701、接收单元1702、以及处理单元1703可以用于配合实现前述实施例所述的文件传输方法中发送端所执行的步骤。如:发送单元可以用于向接收端发送数据,接收单元可以用于接收来自接收端的数据,处理单元可以用于识别设备变化、文件变化等。
应当理解,该装置还可能包括用于实现前述实施例所述的文件传输方法中发送端所执行的步骤的其他模块或单元,如:显示单元,在此并未一一示出。
可选地,本申请实施例还提供一种文件传输装置,该装置可以应用于接收端,用于实现前述实施例所述的文件传输方法中接收端可以实现的步骤。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,该装置也可以包括:发送单元、接收单元、处理单元等;发送单元、接收单元、以及处理单元可以用于配合实现前述实施例所述的文件传输方法中接收端所执行的步骤,在此不再赘述。
应理解以上装置中单元(或称为模块)的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。
例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以称为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
在一个例子中,以上装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specific integrated circuit,ASIC),或,一个或多个数字信号处理器(digital signal process,DSP),或,一个或者多个现场可编辑逻辑门阵列(field programmable gate array,FPGA),或这些集成电路形式中至少两种的组合。
再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在一种实现中,以上装置实现以上方法中各个对应步骤的单元可以通过处理元件调度程序的形式实现。例如,该装置可以包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例所述的方法。存储元件可以为与处理元件处于同一芯片上的存储元件,即片内存储元件。
在另一种实现中,用于执行以上方法的程序可以在与处理元件处于不同芯片上的存储元件,即片外存储元件。此时,处理元件从片外存储元件调用或加载程序于片内存储元件上,以调用并执行以上方法实施例所述的方法中发送端或接收端所执行的步骤。
例如,本申请实施例还可以提供一种装置,如:电子设备。该电子设备可以包括:处理器;存储器;以及计算机程序;其中,所述计算机程序存储在所述存储器上,当所述计算机程序被所述处理器执行时,使得所述电子设备实现如前述实施例所述的文件传输方法中发送端或接收端所执行的步骤。该存储器可以位于该电子设备之内,也可以位于该电子设备之外。且该处理器包括一个或多个。
示例性地,该电子设备可以是手机、大屏(如智慧屏)、平板电脑、可穿戴设备(例如智能手表、智能手环器等)、电视、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备。
在又一种实现中,该装置实现以上方法中各个步骤的单元可以是被配置成一个或多个处理元件,这里的处理元件可以为集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或者这些类集成电路的组合。这些集成电路可以集成在一起,构成芯片。
例如,本申请实施例还提供一种芯片,该芯片可以应用于上述电子设备。芯片包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;处理器通过接口电路从电子设备的存储器接收并执行计算机指令,以实现如前述实施例所述的文件传输方法中发送端或接收端所执行的步骤。
本申请实施例还提供一种计算机程序产品,包括计算机可读代码,当计算机可读代码在电子设备中运行时,使得电子设备实现如前述实施例所述的文件传输方法中发送端或接收端所执行的步骤。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。
基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,如:程序。该软件产品存储在一个程序产品,如计算机可读存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
例如,本申请实施例还可以提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备实现如前述实施例所述的文件传输方法中发送端或接收端所执行的步骤。
可选地,本申请实施例还提供一种文件传输系统,可以包括发送端和接收端;发送端与接收端建立近场通信连接。发送端和接收端之间可以基于前述方法实施例中所述的文件传输方法进行近场文件传输。在文件传输过程中,可以支持断点续传。
例如,发送端用于获取待传输的文件,并向接收端发送待传输的文件;当文件传输出现中断、且再次启动续传时,发送端用于识别需继续传输的文件是否发生变化;当需继续传输的文件未发生变化时,发送端从文件传输出现中断的断点处继续进行续传。
可选地,发送端具体用于识别需继续传输的文件中的每一个文件是否发生变化,需继续传输的文件中是否有文件被删除,以及需继续传输的文件中是否新增了文件。
需继续传输的文件未发生变化,包括:需继续传输的文件中的每一个文件均未发生变化,且需继续传输的文件中没有文件被删除、也没有新增文件。
可选地,发送端配置有第一断点续传容忍时间,接收端配置有第二断点续传容忍时间;发送端还用于与接收端基于第一断点续传容忍时间和第二断点续传容忍时间,确定断点续传目标容忍时间。
其中,断点续传目标容忍时间大于或等于第一断点续传容忍时间和第二断点续传容忍时间中的最小值,小于或等于第一断点续传容忍时间和第二断点续传容忍时间中的最大值。
当文件传输出现中断时,发送端存储第一传输信息,第一传输信息包括接收端的相关信息、待传输的文件的文件列表、已传输完成的文件、需继续传输的文件、以及断点信息中的一种或多种。当文件传输出现中断的时长达到断点续传目标容忍时间时,发送端删除第一传输信息。
可选地,文件传输中断包括:文件传输中断、发送端与所述接收端未断开连接,或者,文件传输中断、发送端与接收端断开连接。
当文件传输出现中断、发送端与接收端断开连接,且再次启动续传时,发送端还用于识别再次启动续传时的接收端与文件传输中断之前的接收端是否为同一设备;发送端具体用于,当再次启动续传时的接收端与文件传输中断之前的接收端为同一设备时,从文件传输出现中断的断点处继续进行续传。
类似地,该文件传输系统中,发送端可以分别实现前述方法实施例中所述的文件传输方法中发送端可以实现的全部功能,接收端可以分别实现前述方法实施例中所述的文件传输方法中接收端可以实现的全部功能,在此不再一一赘述。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (25)
1.一种文件传输方法,其特征在于,所述方法应用于发送端,所述方法包括:
所述发送端获取待传输的文件,所述待传输的文件为需要向与所述发送端建立近场通信连接的接收端发送的文件;
所述发送端向所述接收端发送所述待传输的文件;
当文件传输出现中断、且再次启动续传时,所述发送端识别需继续传输的文件是否发生变化;
当所述需继续传输的文件未发生变化时,所述发送端从文件传输出现中断的断点处继续进行续传。
2.根据权利要求1所述的方法,其特征在于,所述发送端识别需继续传输的文件是否发生变化,包括:
所述发送端识别所述需继续传输的文件中的每一个文件是否发生变化,所述需继续传输的文件中是否有文件被删除,以及所述需继续传输的文件中是否新增了文件;
所述需继续传输的文件未发生变化,包括:所述需继续传输的文件中的每一个文件均未发生变化,且所述需继续传输的文件中没有文件被删除、也没有新增文件。
3.根据权利要求2所述的方法,其特征在于,所述发送端识别所述需继续传输的文件中的每一个文件是否发生变化,包括:
对所述需继续传输的文件中的每一个文件:
所述发送端识别再次启动续传时所述文件的文件时间,与向所述接收端发送所述待传输的文件之前所述文件的文件时间是否相同;
当再次启动续传时所述文件的文件时间,与向所述接收端发送所述待传输的文件之前所述文件的文件时间相同时,所述发送端确定所述文件未发生变化;
当再次启动续传时所述文件的文件时间,与向所述接收端发送所述待传输的文件之前所述文件的文件时间不同时,所述发送端确定所述文件发生变化。
4.根据权利要求2或3所述的方法,其特征在于,所述需继续传输的文件发生变化,包括以下一种或多种情况:
所述需继续传输的文件中有一个或多个文件发生变化;
或者,所述需继续传输的文件中有一个或多个文件被删除;
又或者,所述需继续传输的文件中新增了一个或多个文件。
5.根据权利要求4所述的方法,其特征在于,所述需继续传输的文件包括传输出现中断的文件和还未开始传输的文件,或者,所述需继续传输的文件仅包括传输出现中断的文件;所述传输出现中断的文件为第一文件,所述还未开始传输的文件包括第二文件;所述方法还包括:
当所述需继续传输的文件发生变化时,所述发送端按照如下逻辑继续向所述接收端传输文件;
对所述第一文件,如果所述第一文件没有被删除、也没有发生变化,所述发送端从所述第一文件的断点处对所述第一文件继续进行续传;如果所述第一文件被删除时,所述发送端跳过所述第一文件,向所述接收端发送其余还未开始传输的文件;如果所述第一文件没有被删除、但发生了变化,所述发送端向所述接收端重新发送发生变化后的所述第一文件;
对所述第二文件,如果所述第二文件没有被删除、也没有发生变化,所述发送端在后续传输至所述第二文件时,向所述接收端发送所述第二文件;如果所述第二文件没有被删除、但发生变化,所述发送端在后续传输至所述第二文件时,向所述接收端发送发生变化后的所述第二文件;如果所述第二文件被删除,所述发送端不再向所述接收端发送所述第二文件;如果所述第二文件为新增文件,所述发送端向所述接收端发送所述第二文件。
6.根据权利要求5所述的方法,其特征在于,当所述需继续传输的文件发生变化时,所述发送端继续向所述接收端传输文件之前,所述方法还包括:
所述发送端显示第一信息,所述第一信息包括所述需继续传输的文件发生变化的变化信息;
所述发送端接收确认启动续传的操作;
所述发送端继续向所述接收端传输文件,包括:
所述发送端响应于所述确认启动续传的操作,继续向所述接收端传输文件。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述发送端向所述接收端发送所述待传输的文件,包括:
所述发送端将所述待传输的文件复制到第一缓存中;
所述发送端向所述接收端发送所述第一缓存中的所述待传输的文件。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
所述发送端向所述接收端发送能力查询请求消息;
所述发送端接收来自所述接收端的断点续传能力确认消息,所述断点续传能力确认消息用于指示所述接收端具有支持断点续传的能力。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述发送端配置有第一断点续传容忍时间,所述接收端配置有第二断点续传容忍时间;所述方法还包括:
所述发送端与所述接收端基于所述第一断点续传容忍时间和所述第二断点续传容忍时间,确定断点续传目标容忍时间;
所述断点续传目标容忍时间大于或等于所述第一断点续传容忍时间和所述第二断点续传容忍时间中的最小值,小于或等于所述第一断点续传容忍时间和所述第二断点续传容忍时间中的最大值;
当文件传输出现中断时,所述发送端存储第一传输信息,所述第一传输信息包括所述接收端的相关信息、所述待传输的文件的文件列表、已传输完成的文件、需继续传输的文件、以及断点信息中的一种或多种;
当文件传输出现中断的时长达到所述断点续传目标容忍时间时,所述发送端删除所述第一传输信息。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述发送端包括所述待传输的文件的文件列表,所述方法还包括:
当所述待传输的文件发生变化时,所述发送端在所述文件列表中标识所述待传输的文件发生变化的信息;
所述当文件传输出现中断、且再次启动续传时,所述发送端识别需继续传输的文件是否发生变化,包括:
当文件传输出现中断、且再次启动续传时,所述发送端根据所述文件列表,确定所述需继续传输的文件是否发生变化。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
当所述待传输的文件发生变化时,所述发送端向所述接收端发送所述待传输的文件发生变化的信息。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述文件传输中断包括:文件传输中断、所述发送端与所述接收端未断开连接,或者,文件传输中断、所述发送端与所述接收端断开连接;
当文件传输出现中断、所述发送端与所述接收端断开连接,且再次启动续传时,所述方法还包括:
所述发送端识别再次启动续传时的接收端与文件传输中断之前的接收端是否为同一设备;
所述发送端从文件传输出现中断的断点处继续进行续传,包括:
当再次启动续传时的接收端与文件传输中断之前的接收端为同一设备时,所述发送端从文件传输出现中断的断点处继续进行续传。
13.根据权利要求12所述的方法,其特征在于,所述发送端向所述接收端发送所述待传输的文件之前,所述方法还包括:
所述发送端接收所述接收端的公钥;
所述发送端识别再次启动续传时的接收端与文件传输中断之前的接收端是否为同一设备,包括:
所述发送端接收再次启动续传时的接收端的公钥;
所述发送端识别向所述接收端发送所述待传输的文件之前接收到的所述接收端的公钥,与所述再次启动续传时的接收端的公钥是否一致;
若一致,则所述发送端确定再次启动续传时的接收端与文件传输中断之前的接收端为同一设备;
若不一致,则所述发送端确定再次启动续传时的接收端与文件传输中断之前的接收端为不同设备。
14.根据权利要求12或13所述的方法,其特征在于,当文件传输出现中断、所述发送端与所述接收端断开连接,且再次启动续传时,所述发送端识别需继续传输的文件是否发生变化之前,所述方法还包括:
所述发送端与所述接收端再次建立近场通信连接;
所述发送端向所述接收端发送文件传输出现中断的断点信息;
所述发送端接收来自所述接收端对所述断点信息的确认消息。
15.根据权利要求12-14任一项所述的方法,其特征在于,所述发送端向所述接收端发送所述待传输的文件之前,所述方法还包括:
所述发送端向所述接收端发送第一指示消息,所述第一指示消息用于指示本次连接为新连接;
所述发送端接收来自所述接收端对所述第一指示消息的确认消息。
16.根据权利要求15所述的方法,其特征在于,所述发送端从文件传输出现中断的断点处继续进行续传之前,所述方法还包括:
所述发送端向所述接收端发送第二指示消息,所述第二指示消息用于指示本次连接为基于断点的连接;
所述发送端接收来自所述接收端对所述第二指示消息的确认消息。
17.根据权利要求1-16任一项所述的方法,其特征在于,所述发送端向所述接收端发送所述待传输的文件之前,所述方法还包括:
所述发送端向所述接收端发送所述待传输文件的基本信息;
所述发送端接收来自所述接收端对所述待传输文件的基本信息的确认消息。
18.根据权利要求1-17任一项所述的方法,其特征在于,所述发送端与所述接收端之间的近场通信连接包括:蓝牙、wifi、zigbeen、红外或者usb连接。
19.根据权利要求1-18任一项所述的方法,其特征在于,所述方法还包括:
所述发送端接收删除第三文件的操作,所述第三文件为所述需继续传输的文件;
所述发送端显示第一提示消息,所述第一提示消息用于提示所述第三文件正在分享中。
20.一种文件传输系统,其特征在于,包括发送端和接收端;所述发送端与所述接收端建立近场通信连接;
所述发送端用于获取待传输的文件,并向所述接收端发送所述待传输的文件;
当文件传输出现中断、且再次启动续传时,所述发送端用于识别需继续传输的文件是否发生变化;当所述需继续传输的文件未发生变化时,所述发送端从文件传输出现中断的断点处继续进行续传。
21.根据权利要求20所述的系统,其特征在于,所述发送端具体用于识别所述需继续传输的文件中的每一个文件是否发生变化,所述需继续传输的文件中是否有文件被删除,以及所述需继续传输的文件中是否新增了文件;
所述需继续传输的文件未发生变化,包括:所述需继续传输的文件中的每一个文件均未发生变化,且所述需继续传输的文件中没有文件被删除、也没有新增文件。
22.根据权利要求20或21所述的系统,其特征在于,所述发送端配置有第一断点续传容忍时间,所述接收端配置有第二断点续传容忍时间;
所述发送端还用于与所述接收端基于所述第一断点续传容忍时间和所述第二断点续传容忍时间,确定断点续传目标容忍时间;
所述断点续传目标容忍时间大于或等于所述第一断点续传容忍时间和所述第二断点续传容忍时间中的最小值,小于或等于所述第一断点续传容忍时间和所述第二断点续传容忍时间中的最大值;
当文件传输出现中断时,所述发送端存储第一传输信息,所述第一传输信息包括所述接收端的相关信息、所述待传输的文件的文件列表、已传输完成的文件、需继续传输的文件、以及断点信息中的一种或多种;
当文件传输出现中断的时长达到所述断点续传目标容忍时间时,所述发送端删除所述第一传输信息。
23.根据权利要求20-22任一项所述的系统,其特征在于,所述文件传输中断包括:文件传输中断、所述发送端与所述接收端未断开连接,或者,文件传输中断、所述发送端与所述接收端断开连接;
当文件传输出现中断、所述发送端与所述接收端断开连接,且再次启动续传时,所述发送端还用于识别再次启动续传时的接收端与文件传输中断之前的接收端是否为同一设备;
所述发送端具体用于,当再次启动续传时的接收端与文件传输中断之前的接收端为同一设备时,从文件传输出现中断的断点处继续进行续传。
24.一种电子设备,其特征在于,包括:处理器;存储器;以及计算机程序;其中,所述计算机程序存储在所述存储器上,当所述计算机程序被所述处理器执行时,使得所述电子设备实现如权利要求1-19任一项所述的方法。
25.一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备实现如权利要求1-19任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110605128.0A CN115484250A (zh) | 2021-05-31 | 2021-05-31 | 文件传输方法、系统、电子设备及存储介质 |
EP22814849.0A EP4333315A1 (en) | 2021-05-31 | 2022-04-02 | File transmission method and apparatus, and electronic device and storage medium |
PCT/CN2022/085091 WO2022252802A1 (zh) | 2021-05-31 | 2022-04-02 | 文件传输方法、系统、电子设备及存储介质 |
US18/523,546 US20240107283A1 (en) | 2021-05-31 | 2023-11-29 | File transfer method and system, electronic device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110605128.0A CN115484250A (zh) | 2021-05-31 | 2021-05-31 | 文件传输方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115484250A true CN115484250A (zh) | 2022-12-16 |
Family
ID=84322603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110605128.0A Pending CN115484250A (zh) | 2021-05-31 | 2021-05-31 | 文件传输方法、系统、电子设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240107283A1 (zh) |
EP (1) | EP4333315A1 (zh) |
CN (1) | CN115484250A (zh) |
WO (1) | WO2022252802A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217295B (zh) * | 2007-12-29 | 2011-10-26 | 华为终端有限公司 | 基于蓝牙技术的文件发送方法、接收方法及装置 |
CN101729100B (zh) * | 2008-10-28 | 2014-04-16 | 英华达(上海)电子有限公司 | 一种基于蓝牙技术的文件传输方法和装置 |
TW201308946A (zh) * | 2011-08-10 | 2013-02-16 | Inventec Corp | 一種斷點續傳的方法 |
CN104363271B (zh) * | 2014-10-28 | 2018-01-16 | 广东欧珀移动通信有限公司 | 文件断点续传方法及装置 |
CN105450769A (zh) * | 2015-12-10 | 2016-03-30 | 浪潮通用软件有限公司 | 一种文件传输的方法及装置 |
CN111629036A (zh) * | 2020-05-13 | 2020-09-04 | 贵州国卫信安科技有限公司 | 一种支持断点续传的红外线传输文件的方法 |
-
2021
- 2021-05-31 CN CN202110605128.0A patent/CN115484250A/zh active Pending
-
2022
- 2022-04-02 EP EP22814849.0A patent/EP4333315A1/en active Pending
- 2022-04-02 WO PCT/CN2022/085091 patent/WO2022252802A1/zh active Application Filing
-
2023
- 2023-11-29 US US18/523,546 patent/US20240107283A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240107283A1 (en) | 2024-03-28 |
EP4333315A1 (en) | 2024-03-06 |
WO2022252802A1 (zh) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9792623B2 (en) | Advertisement processing method and apparatus | |
WO2021147406A1 (zh) | 一种音频输出方法及终端设备 | |
CN111221845A (zh) | 一种跨设备信息搜索方法及终端设备 | |
KR20160045635A (ko) | 통신용 논리 채널을 이용한 전자 장치 | |
WO2021017894A1 (zh) | 一种使用远程sim模块的方法及电子设备 | |
CN108605373B (zh) | 用于提供网络共享服务的方法和电子装置 | |
CN112291364A (zh) | 一种消息推送处理方法和装置 | |
WO2021073428A1 (zh) | 一种账号绑定方法、设备及系统 | |
WO2018107593A1 (zh) | 一种在不同终端间共享文件的方法及设备 | |
CN114584613B (zh) | 一种推送消息的方法、消息推送系统及电子设备 | |
WO2021179990A1 (zh) | 一种应用服务器的访问方法及终端 | |
CN117278542A (zh) | 资源访问方法和终端设备 | |
CN115484250A (zh) | 文件传输方法、系统、电子设备及存储介质 | |
WO2022174718A1 (zh) | 一种数据备份方法和电子设备 | |
JP2019068299A (ja) | 通信装置およびその制御方法、プログラム | |
WO2019205965A1 (zh) | 应用的发送、接收方法及装置、存储介质、电子装置 | |
WO2022068605A1 (zh) | 一种补丁复用方法、系统及电子设备 | |
CN114765605B (zh) | 资源访问方法和终端设备 | |
CN114374690B (zh) | 一种文件共享方法、通信系统和电子设备 | |
WO2024037500A1 (zh) | 通信方法及相关装置 | |
WO2023142696A1 (zh) | 缩略图存储方法及电子设备 | |
WO2022188812A1 (zh) | 设备之间同步软件特性的方法及电子设备 | |
EP4283464A1 (en) | Distributed device capability virtualization method, medium, and electronic device | |
WO2023088289A1 (zh) | 补丁方法及相关设备 | |
WO2023045876A1 (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 |