WO2023193599A1 - 文件传输方法、装置及终端设备 - Google Patents
文件传输方法、装置及终端设备 Download PDFInfo
- Publication number
- WO2023193599A1 WO2023193599A1 PCT/CN2023/082847 CN2023082847W WO2023193599A1 WO 2023193599 A1 WO2023193599 A1 WO 2023193599A1 CN 2023082847 W CN2023082847 W CN 2023082847W WO 2023193599 A1 WO2023193599 A1 WO 2023193599A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- file
- transmission
- communication methods
- communication
- receiving end
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 508
- 230000005540 biological transmission Effects 0.000 title claims abstract description 240
- 238000004891 communication Methods 0.000 claims abstract description 486
- 238000012546 transfer Methods 0.000 claims description 75
- 238000004590 computer program Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 15
- 238000012216 screening Methods 0.000 claims description 8
- 230000001413 cellular effect Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000001914 filtration Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000003672 processing method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000009365 direct transmission Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013441 quality evaluation Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000007474 system interaction Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Definitions
- This application belongs to the field of data transmission technology, and particularly relates to file transmission methods, devices and terminal equipment.
- embodiments of the present application provide file transmission methods, devices and terminal equipment, which can solve the problem of long file transmission time in the prior art.
- the first aspect of the embodiment of the present application provides a file transmission method, which is applied to the sending end and includes:
- multiple communication methods including:
- multiple communication methods are determined from the communication methods that can perform file transmission with the receiving end, including:
- the method before determining a plurality of communication methods from the communication methods that can perform file transmission with the receiving end, the method further includes:
- the communication methods that can be used for file transfer with the receiving end are filtered, and based on the remaining communication methods after filtering, a variety of communication methods are determined from the communication methods that can be used for file transfer with the receiving end. method of operation.
- multiple communication methods are used to transmit the file content of the file to be transmitted to the receiving end in parallel, including:
- multiple communication methods are used to transmit the file content of the file to be transmitted to the receiving end in parallel, which also includes:
- the multiple communication methods include a first communication method and a second communication method. There are two starting position points, which are the file header and file tail of the file to be transferred. The first communication method corresponds to the file header, and the second communication method corresponds to the file tail.
- Control each of the multiple communication methods to transmit the file content of the file to be transmitted to the receiving end in parallel starting from its corresponding starting position including:
- the first communication method is controlled to start from the head of the file
- the second communication method is started from the end of the file
- the file content of the file to be transmitted is transmitted to the receiving end in parallel.
- a second aspect of the embodiment of the present application provides a file transmission device, including:
- Communication acquisition module used to acquire multiple communication methods.
- the parallel transmission module is used to use multiple communication methods to transmit the file contents of the files to be transmitted to the receiving end in parallel.
- a third aspect of the embodiment of the present application provides a terminal device.
- the terminal device includes a memory and a processor.
- the memory stores a computer program that can run on the processor.
- the processor executes the The computer program enables the terminal device to implement the steps of the file transmission method described in any one of the above first aspects.
- a fourth aspect of the embodiments of the present application provides a computer-readable storage medium, including: storing a computer program.
- the terminal device implements any one of the above first aspects. Steps of file transfer method.
- a fifth aspect of the embodiments of the present application provides a computer program product, which when the computer program product is run on a terminal device, causes the terminal device to execute the file transfer method described in any one of the above first aspects.
- a sixth aspect of the embodiments of the present application provides a chip system.
- the chip system includes a processor, the processor is coupled to a memory, and the processor executes a computer program stored in the memory to implement any of the above-mentioned aspects of the first aspect.
- the chip system may be a single chip or a chip module composed of multiple chips.
- the embodiments of the present application have beneficial effects as follows: the embodiments of the present application simultaneously use multiple communication methods supported by the sending end and the receiving end to transmit the file content of the file to be transmitted in parallel.
- file transfer efficiency can be greatly improved, resulting in faster file transfer speeds and reduced transfer time. This in turn can improve the user experience of file transfer.
- Figure 1 is a schematic flowchart of a file transmission method provided by an embodiment of the present application.
- Figure 2 is a schematic flowchart of a file transmission method provided by an embodiment of the present application.
- Figure 3 is a schematic flowchart of a file transmission method provided by an embodiment of the present application.
- Figure 4 is a schematic flowchart of a file transmission method provided by an embodiment of the present application.
- Figure 5 is a schematic flowchart of a file transmission method provided by an embodiment of the present application.
- Figure 6 is a schematic diagram of the application scenario of the starting position point provided by an embodiment of the present application.
- Figure 7 is a schematic diagram of the application scenario of the starting position point provided by an embodiment of the present application.
- Figure 8 is a schematic flowchart of a file transmission method provided by an embodiment of the present application.
- Figure 9 is a schematic flowchart of a file transmission method provided by an embodiment of the present application.
- Figure 10 is a schematic diagram of an application scenario of file transmission provided by an embodiment of the present application.
- Figure 11 is a schematic flow chart of transmitting file content through communication provided by an embodiment of the present application.
- Figure 12 is a system interaction diagram of a file transmission method provided by an embodiment of the present application.
- Figure 13 is a schematic structural diagram of a file transmission device provided by an embodiment of the present application.
- Figure 14 is a schematic structural diagram of a terminal device provided by an embodiment of the present application.
- the sending end and the receiving end are two different terminal devices.
- the sending end refers to the terminal device that sends files
- the receiving end refers to the terminal device that receives files. Since a single terminal device may need to send files or receive files in different usage scenarios. Therefore, in actual applications, the sender and receiver are only named to differentiate the terminal equipment in a single scenario, and do not constitute a limitation on the terminal equipment.
- the files that need to be transferred are called files to be transferred.
- multiple means two or more.
- the file transmission method provided by the embodiment of the present application can be applied to terminal devices such as mobile phones, computers, tablets, and wearable devices. At this time, the terminal device is the execution subject of the file transmission method provided by the embodiment of the present application.
- the embodiment of the present application There are no restrictions on the specific type of terminal equipment.
- terminal devices often support more than one communication method.
- terminal devices such as smartphones, tablets, and laptops often support two or more communication methods.
- the embodiment of the present application proposes a file transmission method.
- this embodiment of the present application will simultaneously use multiple communication methods supported by the sending end and the receiving end to transmit the file content of the file to be transferred in parallel.
- file transfer efficiency can be greatly improved, resulting in faster file transfer speeds and reduced transfer time. This in turn can improve the user experience of file transfer.
- FIG 1 shows an implementation flow chart of the file transmission method provided in Embodiment 1 of the present application. The details are as follows:
- the sending end obtains a communication method that can transmit files with the receiving end.
- each terminal device may be the same or different.
- smartphones generally support communication methods such as WiFi, Bluetooth, cellular networks, NFC, and data lines
- Computers generally support communication methods such as WiFi, Bluetooth, NFC, and data lines
- Desktop computers or laptops generally support communication methods such as WiFi, Bluetooth, and wired broadband.
- file transfer between terminal devices is divided into two situations:
- Scenario 2 Terminal devices are connected to a LAN or WAN, and files are transferred based on the accessed network.
- WiFi can be used for direct transmission.
- Bluetooth can be used for direct transmission only when the sender and receiver have Bluetooth functions at the same time.
- the sending end before transmitting files in this embodiment of the present application, the sending end first needs to determine a communication method that can transmit files with the receiving end. This will facilitate subsequent determination of the specific communication method to be used.
- the embodiments of the present application do not place too many restrictions on the implementation method of determining the communication mode supported by the sending end and the receiving end, and can be selected or set by technicians according to actual needs.
- the sending end can ask the receiving end whether it supports the corresponding communication method according to the communication method it supports.
- S101 can be replaced by: S1011 and S1012.
- the sending end sends the communication method information it supports to the receiving end.
- the sending end receives the communication method information that can be used for file transmission returned by the receiving end for the communication method information of the sending end, and determines the communication method that can be used for file transfer with the receiving end based on the received communication method information.
- the sending end since the sending end is not sure which communication methods the receiving end supports, it can first inform the receiving end of the communication methods it supports. Correspondingly, the communication mode information supported by the sending end is recorded in the communication mode information supported by the sending end.
- the receiving end can learn the communication methods supported by the sending end. At this time, the receiving end will refer to the communication methods it supports for matching to determine which communication methods can be used for file transfer with the sending end. Then notify the sending end of these determined communication methods. That is, information about the communication method that can perform file transfer is returned to the sending end.
- the receiving end can ask the sending end whether it supports the corresponding communication method according to the communication method it supports.
- S101 can be replaced by: S1013 and S1014.
- the receiving end sends the communication method information it supports to the sending end.
- the sending end receives the communication method information sent by the receiving end and supported by the receiving end, and determines the communication method that can transmit files with the receiving end.
- the receiving end first notifies the sending end of the communication methods it supports.
- the sending end determines the communication method that can transmit files between the two based on the communication method supported by the receiving end.
- the receiving end can actively execute S1013 and inform the sending end of the communication methods it supports.
- the sending end first sends an inquiry request. After receiving the inquiry request, the receiving end performs the operation of S1013. There are no too many restrictions here and can be determined according to actual needs.
- both embodiments of the present application through active or passive communication between the sending end and the receiving end, the other party is informed of the communication methods supported by itself, thereby accurately determining all the communication methods supported by both parties that can carry out file transmission.
- Both embodiments can be applied to various actual usage scenarios, and can accurately determine all communication methods supported by the sending end and the receiving end that can perform file transmission, and have extremely strong compatibility with usage scenarios. At the same time, it will also help in the subsequent accurate selection of the actual communication method.
- S101 can be replaced by: the sending end reads the preset multiple communication methods and uses them as communication methods for file transfer with the receiving end.
- the embodiments of this application can be applied to a variety of practical scenarios. Including but not limited to some scenarios where the sending end and receiving end are relatively fixed, and the communication methods supported by the two are also relatively fixed. For another example, today's smart devices often support a variety of communication methods, and the supported communication methods are often similar in type and quantity. In these scenarios, by presetting some default communication methods, the time for the sender to execute S101 to determine the file transfer communication method with the receiver can be shortened, thereby shortening the entire file transfer time.
- S102 Determine multiple communication methods for file transmission from the communication methods that can be used for file transmission with the receiving end.
- the number of communication methods to be selected can be preset by technical personnel according to actual needs.
- S102 may be replaced by: determining a preset number of communication methods for file transmission from the communication methods that can perform file transmission with the receiving end.
- technicians can preset the number of communication methods to be selected according to actual needs, and set a rule or method for sorting the communication methods.
- S102 can be replaced with: S1021.
- the specific sorting method is not too limited here and can be set by technical personnel.
- the communication modes may be sorted according to the transmission speed from fast to slow. They can also be sorted according to the order of the transmission stability of the communication method from best to worst.
- the preset number is not limited here and can be any natural number greater than 1.
- S102 can be replaced by: S10211 and S10212.
- S10212 Use a preset number of communication methods before sorting as communication methods for file transmission.
- a comprehensive transmission quality evaluation of communication methods will be performed based on transmission speed and transmission stability, and the top several communication methods with the best transmission quality evaluation will be selected as the communication method for transferring files.
- the specific transmission quality evaluation method is not too limited here and can be set by technical personnel.
- a weighted summation of transmission speed and transmission stability may be performed, and the sum value may be used as a score of transmission quality. The higher the score, the higher the quality of the transmission.
- the type and quantity of the required communication methods can be selected according to the size of the actual required transmission file (ie, the file to be transmitted).
- S102 can be replaced with: S1022.
- S1022 Obtain the file volume of the file to be transmitted, and determine multiple communication methods for file transmission from the communication methods that can be used for file transmission with the receiving end based on the file volume.
- the more communication methods used the higher the file transfer efficiency.
- a smaller number of communication methods can also achieve rapid file transmission.
- the type and quantity of required communication methods are determined based on the size of the file to be transmitted.
- the specific determination method is not too limited here and can be selected or set by technicians according to actual needs.
- a correspondence between the file volume and the type and quantity of communication methods can be set, and the final communication method can be determined based on the actual file volume and correspondence.
- one or more volume thresholds can be set, and when the file volume has a different size relationship from the volume threshold, the corresponding type and number of communication methods can be set.
- the sending end determines the type and quantity of communication methods based on the relationship between the actual file volume of the file to be transmitted and the volume threshold, and determines the final communication method.
- a volume threshold is set to 50M. And set it to select as many as possible from WiFi, cellular network, Bluetooth and wired transmission when the file to be transferred is larger than 50M. When the file to be transferred is less than 50M, choose any two communication methods from WiFi, cellular network, Bluetooth and wired transmission.
- the number of files to be transmitted may be more than one.
- the type and number of required communication methods may be selected according to the file size and number of files to be transmitted.
- S102 can be replaced with: S10221.
- S10221 Obtain the file volume and file number of the file to be transferred, and determine multiple communication methods for file transfer from the communication methods that can be used for file transfer with the receiving end based on the file volume and file number.
- the file volume in the embodiment of this application refers to the total file size to be transmitted). file size). Therefore, this embodiment of the present application will select a communication method based on both the file size and the number of files to achieve a balance between transmission speed, transmitter power consumption, and user experience.
- the embodiments of the present application do not place too many limitations on the method of determining the communication method based on the file volume and the number of files, and the specific methods can be selected or set by technicians according to actual needs.
- a correspondence relationship between file volume, file quantity, and communication method type and quantity can be set, and the final communication method can be determined based on the actual file volume, file quantity, and correspondence relationship.
- the file volume and number of files can be divided into multiple situations, and the type and number of communication methods corresponding to each situation can be set.
- the sending end determines the type and quantity of communication methods based on the actual file size and number of files to be transmitted, and determines the final communication method. Let’s take an example to illustrate. Assume that the file size and number of files are divided into three situations. The types and quantities of communication methods corresponding to each situation are as follows:
- Case a The file size is greater than 50M, and the number of files is any value. At this point, choose as much as possible from WiFi, cellular, Bluetooth, and wired transmission.
- Case b The file size is less than 50M, and the number of files is greater than 2. At this point, choose as much as possible from WiFi, cellular, Bluetooth, and wired transmission.
- Case c The file size is at least 50M, and the number of files is at least 2. Choose any two communication methods from WiFi, cellular, Bluetooth and wired transmission.
- the embodiment of the present application can first filter the communication methods according to the usage status of each communication method, and then perform the determination operation of the communication method in S102. Based on this, referring to Figure 4, in this embodiment of the present application, after S101 and before S102, S1000 and S1001 are also included.
- S1000 Obtain the usage status of each communication method in the sending end among the communication methods that can transmit files with the receiving end.
- S1001 Filter the communication methods that can transmit files with the receiving end according to the usage status of each communication method. And based on the remaining communication methods after screening, the operation of S102 is performed.
- S102 can be adaptively adjusted to determine multiple communication methods for file transmission from the remaining communication methods after screening.
- the usage status of the communication method is divided into an idle status and an in-use status.
- the idle state means that the communication method currently has no data or file transfer tasks
- the in-use state means that the communication method currently has data or file transfer tasks. All communication methods in the idle state can be retained during filtering for selection in S102. For communication methods that are in use, considering that the user is currently using them, in order to reduce the impact on the user experience, you can choose to exclude some or all of them when filtering.
- the embodiments of this application do not place too many limitations on the specific communication mode processing method in use, and can be set by technicians themselves.
- Processing method 1 When filtering, remove all communication methods that are in use.
- Processing method 2 When filtering, count the number of all idle communication methods. If the number is greater than 2, all communication methods in use will be eliminated. If the number is less than 2, select some or all communication methods from the communication methods in use to retain them, and the rest can be eliminated. The sum of the number of retained communication methods in use and the number of idle communication methods must be greater than 2.
- technicians can choose the processing method used according to actual needs. Other processing methods can also be set up by technicians themselves.
- the above-mentioned steps S101 and S102 are essentially to determine the communication method ultimately used for file transmission. Therefore, in this embodiment of the present application, S101 and S102 can be replaced together with: obtaining multiple communication methods.
- S103 Use the determined multiple communication methods to transmit the file content of the file to be transmitted to the receiving end in parallel.
- the sender After determining the specific communication method to be used, the sender starts transferring files.
- This embodiment of the present application will use these communication methods to transmit the file content of the file to be transmitted in parallel, that is, several communication methods can transmit different file contents at the same time.
- the embodiments of the present application do not place too many restrictions on the specific parallel transmission method, which can be set by technical personnel according to actual needs.
- various communication methods can be used to start parallel transmission of file contents starting from different locations in the files to be transmitted until all file contents of all files to be transmitted are transmitted to the receiving end.
- the file content of the file to be transmitted is transmitted in parallel by filtering out the communication methods available to the sending end and the receiving end, and selecting multiple communication methods from them. Therefore, compared with the traditional single communication method for file transmission, the embodiment of the present application can greatly improve the file transmission efficiency and improve the file transmission speed. This further improves the user experience when transferring files.
- all the file contents of the file to be transferred can be sent to the receiving end, and the transfer of the file to be transferred can be completed.
- the sending end or the receiving end can determine the completion of the transfer. For example, for the sending end, it can be determined whether all the file contents of the file to be transferred are sent through communication.
- the receiving end it can be determined whether all the files of the file to be transmitted have been received. file content.
- the embodiments of this application do not limit the subject that specifically determines whether the transmission is completed. It can be either the sending end or the receiving end, and the details can be determined according to actual application conditions.
- the receiving end can inform the sending end of the completion of the transmission after judging that the transmission is completed.
- the embodiments of this application do not place too many restrictions on the method for determining whether the transmission is completed, and it can also be set by technicians themselves.
- the receiving end can also perform integrity verification on the received files to be transmitted to prevent transmission problems or transmission identification.
- the method of integrity verification is not too limited here and can be set by technicians themselves.
- hash verification can be used for integrity verification.
- S103 can be replaced by S1031 and S1032:
- one or more starting position points are first determined in the file to be transmitted. And determine the corresponding starting position point for each communication method.
- any position point can read and transmit the file content to both sides of the position point.
- the same file content does not need to be transmitted repeatedly through multiple communication methods. Therefore, when the file head and file tail are used as the starting position points, they only need to correspond to one communication method.
- a single starting position point can correspond to one or two communication methods, but each communication method corresponds to a starting position point.
- the embodiments of this application do not place too many restrictions on the determination method of the starting position points in the transmission file, the specific number of starting position points, and the corresponding relationship between each starting position point and the communication mode. Technical personnel can Set according to actual needs.
- the file header and file tail can be used as two fixed starting position points.
- the two communication methods can be corresponding to the two starting position points, and the operation of S1032 can be performed.
- the value range of h is as follows:
- the only starting position point must be a position point in the file to be transmitted that is not at the beginning or end of the file. Referring to part (a) of Figure 6, the starting position point must be selected between the beginning of the file and the end of the file.
- the determination of the starting position point can be determined by the sending end, or can be determined by the receiving end and notified to the sending end.
- the receiving end determines the starting position point
- any processing or judgment logic involved in the starting position point is implemented by the receiving end.
- the corresponding S1031 is: the sending end receives one or more starting position points sent by the receiving end, and the starting position points corresponding to each of the multiple communication modes.
- the embodiment of the present application does not limit the subject that determines the starting position point, and it can be set by technicians themselves.
- the sending end controls multiple communication methods to start from their corresponding starting position points and transmit the file content of the file to be transmitted to the receiving end in parallel.
- the embodiment of the present application After determining the starting position point corresponding to each communication mode, the embodiment of the present application will read the file content of the file to be transmitted from the starting position point, and control each communication mode to send the readings at the corresponding starting position point in parallel. The text taken out file content.
- FIG. 6 An example is used to illustrate, with reference to part (b) of Figure 6 .
- communication method 1 there are two communication methods actually used, namely communication method 1 and communication method 2, and there are two starting position points, namely the file header (starting position point 1) and the file tail (starting position point 2) .
- communication method 1 corresponds to the file header
- communication method 2 corresponds to the file tail.
- the embodiment of the present application reads the file content of the file to be transmitted starting from the file header and the file tail respectively.
- the file content read from the file header will be sent to the receiving end through communication method 1.
- the file content read from the end of the file is synchronously sent to the receiving end using communication method 2.
- part (c) of Figure 6 The embodiment of the present application is based on the embodiment of part (b) of Figure 6, and adds a communication method 3 and a corresponding starting position point 3.
- the starting position point 3 is anywhere between the head of the file and the end of the file.
- the embodiment of the present application will also read the file content of the file to be transferred starting from the starting position point 3 . And using communication mode 3, the file content read from the starting position point 3 is sent to the receiving end in parallel with communication mode 1 and communication mode 2.
- a corresponding starting position point is set for each communication method, and the file content is transmitted starting from the respective starting position point.
- a variety of communication methods can be used to achieve synchronous transmission of files to be transferred. This improves the transmission efficiency and speed of files to be transferred.
- S1031 can be replaced by: S10311 and S10312.
- the transmission task volume of the communication method refers to the amount of file content required to be transmitted by the communication method during the file transmission process.
- the embodiments of this application do not place too many restrictions on the setting method of the transmission task volume, which can be determined according to actual needs.
- the transmission task volume may be preset by technicians. For example, technicians can preset the proportion of transmission tasks between various communication methods.
- the sending end then confirms the final actual transmission task volume of each communication method based on the preset transmission task volume ratio and the actual situation of the files to be transmitted. In other optional embodiments, considering that the actual transmission capabilities of different communication methods are different, there will be a certain difference in the transmission speed of the file content.
- the corresponding transmission task volume can be determined according to the transmission speed of the communication method.
- the transmission task volume of a single communication method is positively related to its transmission speed, for example, it can be directly proportional.
- the starting position point is the position where each communication method starts transmitting file content, in order to match the transmission task volume of the communication method with the starting position point as much as possible to increase the transmission speed.
- the location point of the transmission file is positioned based on the proportion of transmission tasks between the communication methods, thereby determining the location point that can be used as the starting location point. Then select the required starting position point from these positioned position points.
- S1031 For relevant description of the starting position point, please refer to the description of S1031, which will not be described again here.
- Solution 1 Use the file header, 1/3 of the file to be transferred, and 2/3 of the file to be transferred, a total of 3 position points, as the starting position points. At this time, reference can be made to part (b) of Figure 7 .
- Option 2 Use 1/3 of the file to be transferred, 2/3 of the file to be transferred and the end of the file as the starting position. At this time, reference can be made to part (c) of Figure 7 .
- Option 3 Use 1/3 of the file to be transferred and 2/3 of the file to be transferred, a total of 2 position points, as the starting position points. At this time, reference can be made to part (d) of Figure 7 .
- the transmission task amount of the communication mode can be synchronously associated with the file content amount between the actual starting position points.
- each communication method can reduce the possibility of transmission across the starting location point. This improves the overall transfer speed of files to be transferred.
- the transmission speed is increased.
- corresponding transmission tasks will be set for each communication method. And it will adjust the transmission method of the files to be transferred based on the completion of its own transmission tasks by each communication method.
- S103 it also includes: obtaining the transmission task amount of each communication mode among the multiple communication modes.
- the file content of the file to be transmitted is transmitted in parallel to the receiving end using the determined multiple communication methods.
- This embodiment of the present application will monitor the completion of each communication method's own transmission tasks.
- the embodiment of this application provides at least two optional processing solutions:
- Each communication method can complete its own transmission task. After completing its own transmission task, wait for the transmission of the file to be transferred to be completed.
- Option 2 After the communication method completes its own transmission task, it assists other communication methods in transmitting the remaining untransmitted file content. To speed up transfer, retrieve transfer time. At this time, communication methods that have not completed their own transmission tasks will continue to transmit file content.
- the sending end does not need to perform any more operations at this time and can continue to transmit the file content using the communication method being transmitted normally.
- the process of executing S103 also includes:
- the embodiment of the present application will use the idle communication method to assist in transmitting the remaining file content, which can improve the utilization of the communication method. This improves transmission efficiency and speed and shortens transmission time.
- the embodiments of the present application do not place too many restrictions on the method of assisting in transmitting the remaining file content. It can be selected or set by technicians according to actual needs. For example, in some optional embodiments, the communication method with the largest remaining transmission task volume can be found and used as the target communication method. Let the idle communication method and the target communication method transmit the remaining transmission tasks of the target communication method in parallel.
- the communication method with the lowest transmission task completion degree can also be found and used as the target communication method. Let the idle communication method and the target communication method transmit the remaining transmission tasks of the target communication method in parallel. Among them, the completion degree of the transmission task volume of a single communication method is equal to its remaining transmission task volume divided by its total transmission task volume.
- the first communication method and the second communication method are used for file transmission.
- the first communication method corresponds to the file header
- the second communication method corresponds to the file tail.
- the first communication method and the second communication method may be selected through S101 and S102, or may be selected based on preset settings by technicians, which are not limited here.
- S1031 and S1032 can be replaced by: S2031 and S2032.
- S2031 use the file header and file tail of the file to be transmitted as the starting position point, where the first communication method corresponds to the file header, and the second communication method corresponds to the file tail.
- S2032 control the first communication method to start from the head of the file, and the second communication method to start from the end of the file, and transmit the file content of the file to be transmitted to the receiving end in parallel.
- the sending end reads the file content of the file to be transmitted starting from the synchronization of the file header and the file tail.
- the first communication method is used to transmit the file content read from the head of the file
- the second communication method is used to transmit the file content read from the end of the file in parallel until all the file contents of the file to be transferred are sent to Receiving end.
- two communication methods are used to transmit files, and the file content is read and sent from the file header and file tail respectively. Since the file content is transmitted starting from both ends, and there is no other starting position point between the two ends of the file to be transmitted, the embodiment of the present application does not need to divide the transmission tasks in the communication mode.
- the two communication methods have no corresponding transfer task volume.
- the sending end only needs to continuously read the file content from both ends to the middle, and transfer it to the two communication methods for transmission.
- the last two communication methods can synchronously complete the transmission of the final file content at a certain point in the file to be transferred, and neither of them need to wait for the other communication method during the transmission process.
- the embodiments of the present application can, on the one hand, eliminate the need to allocate the transmission task volume, and on the other hand, avoid the occurrence of idle communication modes due to unreasonable division of the transmission task volume. Furthermore, the embodiments of the present application can maximize the communication transmission capabilities of the two communication methods, improve transmission efficiency and speed, and reduce transmission time.
- file content is transmitted.
- the communication method only sends the file content of a specific length to the sending end each time.
- the location information of the file content in the file to be transferred is also sent to the sending end so that the sending end can write the file content.
- the sending end obtains the length of the file content transmitted in a single communication mode and uses it as the target length.
- the length of the file content transmitted in a single communication mode can be informed by the receiving end to the sending end by sending a request. It can also be that technicians set the target length of the communication method in advance based on the actual transmission principle and capabilities of the communication method.
- the target length of WiFi can be set to 64K
- the target length of Bluetooth can be set to 4K.
- the sending end starts from the starting position corresponding to the communication mode, reads the file content of the target length each time, and sends the read file content and the position information of the file content in the file to be transmitted to the sending end. Until there is no transmission task in the communication mode, or the sending end completes the transmission of the file to be transmitted.
- the position information may be an offset position relative to the content of the previously sent file, or an offset position relative to the starting position point corresponding to the communication method, or it may be a specific position point in the file to be transmitted.
- the transmission of file content through communication is a process of multiple transmissions. That is, the file content is transmitted to the receiving end in units of the target length multiple times until there is no need to continue transmitting the file content.
- the target length is the theoretical length of a single transmission. In actual applications, there may be situations where the length of the remaining untransmitted file content of a certain communication method is less than the target length.
- the communication method can still transmit the file content that is less than the target length. For example, assume that the target length of communication method 1 is 128K, and the file content to be transferred needs to be transferred using communication method 1, and only 64K of the file content remains to be transferred. At this time, the sending end can still use communication mode 1 to continue transmitting the remaining 64K file content.
- the receiving end receives the file content and the location information corresponding to the file content, and writes the received file content into the locally created file to be transferred based on the location information corresponding to the file content.
- the transmission method in the embodiment of this application is suitable for every communication method.
- each communication method completes the transmission of file content through multiple transmissions, so that the embodiment of the present application can better adapt to the actual characteristics of each communication method. Improve the efficiency and speed of file transfer and reduce transfer time.
- the receiving end uses communication mode 3 to start monitoring data.
- communication method 3 is a communication method for basic communication between the sender and the receiver.
- the type of communication method 3 can be determined according to the actual application scenario. It should be noted that communication method 3 is only an example name.
- communication method 3 can also be communication method 1 or communication method 2. That is, in practical applications, the communication side Formula 3 can be used as a basic communication method and also as one of the communication methods for transferring files.
- the sending end connects to the receiving end through communication mode 3, and sends communication information and file information of the file to be transmitted to the receiving end.
- the file information includes the total file length of the file to be transferred (that is, the file size) and the file hash value.
- the communication information includes information such as the listening ports or channels of communication mode 1 and communication mode 2.
- the receiving end After receiving the communication information and file information, the receiving end saves the information, creates a target file with a length equal to the total length of the file, and returns a response response to the sending end.
- the sending end After receiving the response, the sending end establishes communication mode 1 and communication mode server respectively, and sends a channel ready message to the receiving end.
- S405 After receiving the channel ready message, the receiving end starts the clients of communication mode 1 and communication mode 2, and connects to the servers corresponding to communication mode 1 and communication mode 2 respectively.
- S406 The receiving end sends a request message for reading from the head of the file through communication mode 1, and sends a request message for reading from the end of the file through communication mode 2 in parallel.
- the request message contains the file offset position where the requested file content begins and the requested length of the file content.
- the sending end responds to the client requests of communication method 1 and communication method 2 through the servers of communication method 1 and communication method 2. That is, the file content of the file to be transmitted is read based on the file offset position and request length in the received request message, and the file content is sent to the receiving end in parallel through communication method 1 and communication method 2.
- the receiving end selects the starting location point and informs the sending end.
- the sending end After receiving the corresponding request message, the sending end starts reading and sending the file content according to the starting position selected by the receiving end: the file header and the file tail.
- the receiving end receives the file content sent by communication mode 1 and communication mode 2, and writes the received file content into the target file according to the file offset position and the requested length.
- the receiving end checks the total length of the received file content. If the total length of the file content is less than the total length of the file to be transferred, the operation returns to S406. If the total length of the file content is equal to the total length of the file to be transferred, S410 is executed.
- S406 to S409 are loop operations. Each time the file content is sent, the sending end will read the file content with the length requested by the receiving end and send it out through the corresponding communication method. Regarding the content of the request length, please refer to the description of the target length in S301, which will not be described again here.
- the receiving end is responsible for checking whether the transmission of the file to be transmitted is completed based on the total length of the received file content. If the transmission is not completed, the operations from S406 to S409 are repeated. If the transmission is completed, continue to perform the subsequent operation of S410.
- S410 The receiving end checks whether the hash value of the target file is the same as the file hash value of the file to be transmitted. If they are the same, it is determined that the file transfer is successful. If they are not the same, it is determined that the file transfer failed.
- the embodiment of the present application by using two types of communications to transmit the file content starting from the beginning and end of the file to be transmitted, the transmission capability of the communication method can be maximized. Compared with traditional single communication method file transmission, the embodiments of the present application can greatly improve the transmission efficiency, increase the transmission speed, and shorten the transmission time.
- FIG. 13 shows a schematic structural diagram of the file transmission device provided by the embodiment of the present application. For convenience of explanation, only the parts related to the embodiment of the present application are shown.
- the file transmission device includes:
- the communication acquisition module 131 is used to acquire multiple communication methods.
- the parallel transmission module 132 is used to use multiple communication methods to transmit the file content of the file to be transmitted to the receiving end in parallel.
- the communication acquisition module 131 includes:
- the communication acquisition submodule obtains the communication method that can transfer files with the receiving end.
- the communication filtering module is used to determine multiple communication methods from the communication methods that can be used for file transfer with the receiving end.
- the communication screening module includes:
- the first communication screening module is used to obtain the file volume of the file to be transmitted, and determine multiple communication methods from the communication methods that can be used for file transmission with the receiving end according to the file volume. or
- the second communication screening module is used to obtain the file volume and number of files to be transmitted, and determine multiple communication methods from the communication methods that can transmit files with the receiving end based on the file volume and the number of files.
- the third communication screening module is used to obtain the transmission speed and transmission stability of each communication method that can transmit files with the receiving end.
- a variety of communication methods are determined from the communication methods that can be used for file transfer with the receiving end.
- the file transmission device also includes:
- the status acquisition module is used to obtain the usage status of each communication method in the sender among the communication methods that can perform file transfer with the receiver.
- the fourth communication screening module is used to filter the communication methods that can carry out file transmission with the receiving end according to the usage status of each communication method, and based on the remaining communication methods after filtering, execute the communication methods that can carry out file transmission with the receiving end.
- the operations of multiple communication methods are determined in the communication method.
- the parallel transmission module 132 includes:
- the position point determination module is used to determine one or more starting position points in the file to be transmitted, and determine the starting position points corresponding to each communication mode among multiple communication methods.
- the parallel transmission submodule is used to control each communication method among multiple communication methods, starting from its corresponding starting position point, and transmit the file content of the file to be transmitted to the receiving end in parallel.
- the parallel transmission module 132 also includes:
- the task volume acquisition module is used to obtain the transmission task volume of each communication method among multiple communication methods.
- multiple communication methods include a first communication method and a second communication method.
- the first communication method corresponds to the file header
- the second communication method corresponds to the file tail.
- the parallel transmission submodule includes:
- the first communication method is controlled to start from the head of the file
- the second communication method is started from the end of the file
- the file content of the file to be transmitted is transmitted to the receiving end in parallel.
- sequence number of each step in the above embodiment does not mean the order of execution.
- the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.
- the term “if” may be interpreted as “when” or “once” or “in response to determining” or “in response to detecting” depending on the context. ". Similarly, the phrase “if determined” or “if [the described condition or event] is detected” may be interpreted, depending on the context, to mean “once determined” or “in response to determining” or “upon detection of [described condition or event]” or “in response to detection of [described condition or event].”
- first, second, third, etc. are only used to distinguish the description, and cannot be understood as indicating or implying relative importance. It should also be understood that, although the terms “first,” “second,” etc. are used in the text to describe various elements in some embodiments of the present application, these elements should not be limited by these terms. These terms are only used to distinguish one element from another.
- a first table could be named a second table, and similarly, a second table could be named a first table, without departing from the scope of the various described embodiments.
- the first table and the second table are both tables, but they are not the same table.
- the file transfer method provided by the embodiment of this application can be applied to mobile phones, tablet computers, wearable devices, vehicle-mounted devices, augmented reality (AR)/virtual reality (VR) devices, notebook computers, and super mobile personal computers.
- AR augmented reality
- VR virtual reality
- terminal devices such as ultra-mobile personal computers (UMPCs), netbooks, and personal digital assistants (PDAs)
- UMPCs ultra-mobile personal computers
- PDAs personal digital assistants
- the terminal device may be a station (ST) in a WLAN, a cellular phone, a cordless phone, a Session Initiation Protocol (Session Initiation Protocol, SIP) phone, a Wireless Local Loop (Wireless Local Loop, WLL) station, Personal digital assistant (PDA) devices, handheld devices with wireless communication capabilities, computing devices or other processing devices connected to wireless modems, vehicle-mounted devices, Internet of Vehicles terminals, computers, laptops, handheld communication devices , handheld computing devices, satellite wireless devices, wireless modem cards, television set top boxes (STBs), customer premise equipment (CPE) and/or other equipment used to communicate over wireless systems and the following First-generation communication systems, such as terminal equipment in 5G networks or terminal equipment in future evolved Public Land Mobile Network (Public Land Mobile Network, PLMN) networks.
- ST station
- PLMN Public Land Mobile Network
- the wearable device may also be a general term for devices that are wearable by applying wearable technology to intelligently design daily wear, such as glasses, gloves, Watches, clothing and shoes, etc.
- a wearable device is a portable device that is worn directly on the body or integrated into the user's clothing or accessories.
- Wearable devices are not just hardware devices, but also achieve powerful functions through software support, data interaction, and cloud interaction.
- Broadly defined wearable smart devices include full-featured, large-sized devices that can achieve complete or partial functions without relying on smartphones, such as smart watches or smart glasses, and those that only focus on a certain type of application function and need to be used in conjunction with other devices such as smartphones. , such as various smart bracelets and smart jewelry for physical sign monitoring.
- Figure 14 is a schematic structural diagram of a terminal device (which can be a transmitter or a receiver) provided by an embodiment of the present application.
- the terminal device 14 of this embodiment includes: at least one processor 140 (only one is shown in Figure 14), a memory 141, and the memory 141 stores information that can run on the processor 140.
- Computer Programs142 When the processor 140 executes the computer program 142, it implements the steps in each of the above file transmission method embodiments, such as steps 101 to 103 shown in FIG. 1 . Alternatively, when the processor 140 executes the computer program 142, it implements the functions of each module/unit in each of the above device embodiments, such as the functions of modules 131 to 133 shown in FIG. 13 .
- the terminal device 14 may be a computing device such as a desktop computer, a notebook, a PDA, a cloud server, etc.
- the terminal device may include, but is not limited to, a processor 140 and a memory 141.
- FIG. 14 is only an example of the terminal device 14 and does not constitute a limitation on the terminal device 14. It may include more or less components than shown, or some components may be combined, or different components may be used. , for example, the terminal device may also include an input sending device, a network access device, a bus, etc.
- the so-called processor 140 can be a central processing unit (Central Processing Unit, CPU), or other general-purpose processor, digital signal processor (Digital Signal Processor, DSP), application specific integrated circuit (Application Specific Integrated Circuit, ASIC), Ready-made field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
- a general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.
- the memory 141 may be an internal storage unit of the terminal device 14 in some embodiments, such as a hard disk or memory of the terminal device 14 .
- the memory 141 may also be an external storage device of the terminal device 14, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), or a secure digital (SD) equipped on the terminal device 14. Card, Flash Card, etc.
- the memory 141 may also include both an internal storage unit of the terminal device 14 and an external storage device.
- the memory 141 is used to store operating systems, application programs, boot loaders (Boot Loaders), data, and other programs, such as program codes of the computer programs.
- the memory 141 can also be used to temporarily store data that has been sent or is to be sent.
- each functional unit in each embodiment of the present application can be integrated into one processing unit, each unit can exist physically alone, or two or more units can be integrated into one unit.
- the above integrated units can be implemented in the form of hardware or software functional units.
- An embodiment of the present application also provides a terminal device, which includes at least one memory, at least one processor, and a computer program stored in the at least one memory and executable on the at least one processor, so When the processor executes the computer program, the terminal device implements the steps in any of the above method embodiments.
- Embodiments of the present application also provide a computer-readable storage medium.
- the computer-readable storage medium stores a computer program.
- the steps in each of the above method embodiments can be implemented.
- Embodiments of the present application provide a computer program product.
- the steps in the above method embodiments can be implemented when the terminal device executes it.
- Embodiments of the present application also provide a chip system.
- the chip system includes a processor.
- the processor is coupled to a memory.
- the processor executes a computer program stored in the memory to implement the steps in each of the above method embodiments. .
- the integrated module/unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
- the present application can implement all or part of the processes in the methods of the above embodiments, which can also be completed by instructing relevant hardware through a computer program.
- the computer program can be stored in a computer-readable storage medium, and the computer can When the program is executed by the processor, the steps of each of the above method embodiments can be implemented.
- the computer program includes computer program code, which may be in the form of source code, object code, executable file or some intermediate form.
- the computer-readable storage medium may include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a mobile hard disk, a magnetic disk, an optical disk, a computer memory, and a read-only memory (ROM). ), random access memory (Random Access Memory, RAM), electrical carrier signals, telecommunications signals, and software distribution media, etc.
- the units described as separate components may or may not be physically separated.
- the components shown as units may or may not be physical units, that is, they may be located in one place, or they may be distributed to multiple networks. on the unit. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了文件传输方法、装置及终端设备,适用于数据传输技术领域,该方法包括:获取多种通信方式;利用多种通信方式,将待传输文件的文件内容并行传输至接收端。本申请可以极大地提高文件传输效率,使得文件传输速度加快,传输时间减少。
Description
本申请要求于2022年04月07日在中国专利局提交的、申请号为202210361593.9、发明名称为“文件传输方法、装置及终端设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请属于数据传输技术领域,尤其涉及文件传输方法、装置及终端设备。
随着信息时代的发展和技术的进步,数据正在***式增长。随之增加的不仅是数据的数量,还有单个文件的体积。例如,一张图片的体积从几KB增长至几十M,一首歌曲的体积从几百KB增长至几十M,一个视频的体积从几M增长至几十G。
大体积的文件往往可以承载更多的信息,从而给用户带来更加优质的文件使用体验,但同时也给文件传输带来了更大的挑战。受限于终端设备之间通信方式的传输速度,用户若想在不同终端设备之间传输文件,往往需要等待较长的时间,从而导致用户体验下降。
综上,目前亟需一种可以快速传输文件的方法,以提高对文件的传输速度,减少文件传输时间。
有鉴于此,本申请实施例提供了文件传输方法、装置及终端设备,可以解决现有技术中文件传输时间较长的问题。
本申请实施例的第一方面提供了一种文件传输方法,应用于发送端,包括:
获取多种通信方式。
利用多种通信方式,将待传输文件的文件内容并行传输至接收端。
在第一方面的第一种可能的实现方式中,获取多种通信方式,包括:
获取可与接收端进行文件传输的通信方式。
从可与接收端进行文件传输的通信方式中确定出多种通信方式。
在第一方面的第二种可能的实现方式中,从可与接收端进行文件传输的通信方式中确定出多种通信方式,包括:
获取待传输文件的文件体积,并根据文件体积从可与接收端进行文件传输的通信方式中确定出多种通信方式。或者
获取待传输文件的文件体积和文件数量,并根据文件体积和文件数量,从可与接收端进行文件传输的通信方式中确定出多种通信方式。或者
获取可与接收端进行文件传输的通信方式中,每种通信方式的传输速度和传输稳定性。根据传输速度和传输稳定性,从可与接收端进行文件传输的通信方式中确定出多种通信方式。
在第一方面的第三种可能的实现方式中,在从可与接收端进行文件传输的通信方式中确定出多种通信方式之前,还包括:
获取可与接收端进行文件传输的通信方式中,每种通信方式在发送端中的使用状态。
根据每种通信方式的使用状态,对可与接收端进行文件传输的通信方式进行筛选,并基于筛选后剩余的通信方式,执行从可与接收端进行文件传输的通信方式中确定出多种通信方式的操作。
在第一方面的第四种可能的实现方式中,利用多种通信方式,将待传输文件的文件内容并行传输至接收端,包括:
在待传输文件中确定一个或多个起始位置点,并确定出多种通信方式中,每种通信方式分别对应的起始位置点。
控制多种通信方式中的每种通信方式,从各自对应的起始位置点处开始,并行传输待传输文件的文件内容至接收端。
在第一方面的第五种可能的实现方式中,利用多种通信方式,将待传输文件的文件内容并行传输至接收端,还包括:
获取多种通信方式中每种通信方式的传输任务量。
在利用多种通信方式,将待传输文件的文件内容并行传输至接收端的过程中,包括:
若在完成对待传输文件的传输之前,多种通信方式中存在通信方式已完成其对应的传输任务量,则利用该已完成对应传输任务量的通信方式,对待传输文件中未传输的文件内容进行并行传输。
在第一方面的第六种可能的实现方式中,多种通信方式包括第一通信方式和第二通信方式。起始位置点共有两个,分别为待传输文件的文件头部和文件尾部。其中,第一通信方式对应文件头部,第二通信方式对应文件尾部。
控制多种通信方式中的每种通信方式,从各自对应的起始位置点处开始,并行传输待传输文件的文件内容至接收端,包括:
控制第一通信方式从文件头部开始,第二通信方式从文件尾部开始,并行传输待传输文件的文件内容至接收端。
本申请实施例的第二方面提供了一种文件传输装置,包括:
通信获取模块,用于获取多种通信方式。
并行传输模块,用于利用多种通信方式,将待传输文件的文件内容并行传输至接收端。
本申请实施例的第三方面提供了一种终端设备,所述终端设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,使得终端设备实现如上述第一方面中任一项所述文件传输方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,包括:存储有计算机程序,所述计算机程序被处理器执行时,使得终端设备实现如上述第一方面中任一项所述文件传输方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述文件传输方法。
本申请实施例的第六方面提供了一种芯片***,所述芯片***包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述第一方面任一项所述的文件传输方法。
其中,芯片***可以是单个芯片或者,多个芯片组成的芯片模组。
可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例同时使用发送端和接收端支持的多种通信方式,对待传输文件的文件内容进行并行传输。通过同时使用多种通信方式进行文件传输,可以极大地提高文件传输效率,使得文件传输速度加快,传输时间减少。进而可以提高文件传输的用户体验。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的文件传输方法的流程示意图;
图2是本申请一实施例提供的文件传输方法的流程示意图;
图3是本申请一实施例提供的文件传输方法的流程示意图;
图4是本申请一实施例提供的文件传输方法的流程示意图;
图5是本申请一实施例提供的文件传输方法的流程示意图;
图6是本申请一实施例提供的起始位置点的应用场景示意图;
图7是本申请一实施例提供的起始位置点的应用场景示意图;
图8是本申请一实施例提供的文件传输方法的流程示意图;
图9是本申请一实施例提供的文件传输方法的流程示意图;
图10是本申请一实施例提供的文件传输的应用场景示意图;
图11是本申请一实施例提供的通信方式传输文件内容的流程示意图;
图12是本申请一实施例提供的文件传输方法的***交互图;
图13是本申请实施例提供的文件传输装置的结构示意图;
图14是本申请实施例提供的终端设备的结构示意图。
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
首先应当说明地,在本申请实施例中,发送端和接收端是不同的两个终端设备。其中发送端是指发送文件的终端设备,接收端是指接收文件的终端设备。由于单个终端设备在不同使用场景下,既可能需要发送文件,又可能需要接收文件。因此实际应用中,发送端和接收端仅是针对单个场景下终端设备的区分命名,并不构成对终端设备的限定。
在本申请的一些实施例中,将所需传输的文件称为待传输文件。
另外,在本申请实施例中,“多个”是指两个或两个以上。
本申请实施例提供的文件传输方法可以应用于手机、电脑、平板电脑和可穿戴设备等终端设备上,此时终端设备即为本申请实施例提供的文件传输方法的执行主体,本申请实施例对终端设备的具体类型不作任何限制。
为了实现不同终端设备之间的文件传输,可以采用WiFi、蜂窝网络、蓝牙或者有线连接等通信方式传输文件。但无论使用哪种通信方式,其传输能力都是较为有限的。因此实际应用中很容易受到所选用通信方式的传输速度限制,导致文件传输速度较慢,用户体验不佳的情况。
实际应用中发现,终端设备支持的通信方式往往不止一种。例如智能手机、平板电脑和笔记本电脑等终端设备,往往都会支持两种或以上的通信方式。如常见的WiFi、蓝牙、蜂窝网络、NFC、数据线、有线宽带等通信方式。
基于上述实际情况,为了提高文件传输速度,本申请实施例提出了一种文件传输方法。在进行终端设备之间的文件传输时,本申请实施例会同时使用发送端和接收端支持的多种通信方式,对待传输文件的文件内容进行并行传输。通过同时使用多种通信方式进行文件传输,可以极大地提高文件传输效率,使得文件传输速度加快,传输时间减少。进而可以提高文件传输的用户体验。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本申请实施例一提供的文件传输方法的实现流程图,详述如下:
S101,发送端获取可与接收端进行文件传输的通信方式。
实际应用中,每个终端设备支持的通信方式可能相同也可能存在差异。例如常见的终端设备中,智能手机一般会支持WiFi、蓝牙、蜂窝网络、NFC和数据线等通信方式,平板
电脑一般会支持WiFi、蓝牙、NFC和数据线等通信方式,台式电脑或笔记本电脑,一般会支持WiFi、蓝牙和有线宽带等通信方式。
为了实现文件传输,首先需要确认出发送端和接收端支持相互传输文件的通信方式。在本申请实施例中,终端设备之间的文件传输分为两种情况:
情况1:终端设备之间进行直连传输。
情况2:终端设备之间接入局域网或广域网,并基于接入的网络进行文件传输。
针对情况1,WiFi、蓝牙、NFC和有线连接等通信方式,均可以实现。此时需发送端和接收端均支持相同的通信方式才可。例如比如发送端和接收端同时具备WiFi功能时,才能使用WiFi进行直连传输。又比如发送端和接收端同时具备蓝牙功能时,才能使用蓝牙进行直连传输。
针对情况2,则需WiFi和蜂窝网络等具有接入局域网或广域网功能的通信方式才能实现。此时对于发送端和接收端,可以无需使用相同的通信方式进行文件传输。例如发送端通过WiFi接入互联网,而接收端通过蜂窝网络接入互联网。此时发送端和接收端仍可以相互传输文件。
基于上述两种情况,本申请实施例在传输文件之前,发送端首先需要确定出与接收端可进行文件传输的通信方式。以便于后续确定出具体使用的通信方式。其中,本申请实施例不对确定发送端和接收端支持通信方式的实现方法做过多限定,可由技术人员根据实际需求选取或设定。
作为确定发送端和接收端支持的通信方式的一种可选实现方式。在本申请实施例中,可以由发送端根据自己支持的通信方式,询问接收端是否支持对应的通信方式。此时S101可以被替换为:S1011和S1012。
S1011,发送端将自身支持的通信方式信息发送至接收端。
S1012,发送端接收由接收端针对发送端的通信方式信息返回的,可进行文件传输的通信方式信息,并根据接收到的通信方式信息,确定出可与接收端进行文件传输的通信方式。
在本申请实施例中,由于发送端不确定接收端支持哪些通信方式,因此可以先将自己所支持的通信方式告知接收端。对应的,发送端发送的自身支持的通信方式信息中,记录有发送端所支持的通信方式。
接收端在接收到通信方式信息后,可以得知发送端支持的通信方式。此时接收端会参考自身支持的通信方式,来进行匹配,以判断出哪些通信方式是可以与发送端进行文件传输的。再将确定出的这些通信方式告知发送端。即将可以进行文件传输的通信方式的信息返回至发送端。
以一实例进行举例说明。假设发送端支持WiFi、蓝牙和NFC,而接收端仅支持WiFi和蓝牙。此时仅WiFi和蓝牙是发送端和接收端可以进行文件传输的通信方式。相应的,此时接收端将记录有WiFi和蓝牙的通信方式信息返回至发送端。发送端接收到返回的通信方式信息之后,即可获知发送端和接收端支持的通信方式包含WiFi和蓝牙。
作为确定发送端和接收端支持的通信方式的另一种可选实现方式。在本申请实施例中,可以由接收端根据自己支持的通信方式,询问发送端是否支持对应的通信方式。此时S101可以被替换为:S1013和S1014。
S1013,接收端将自身支持的通信方式信息发送至发送端。
S1014,发送端接收由接收端发送的,接收端支持的通信方式信息,确定出可与接收端进行文件传输的通信方式。
本申请实施例与前一实施例的不同之处在于,本申请实施例是由接收端先将自身支持的通信方式告知发送端。由发送端根据接收端支持的通信方式,确定两者之间可以进行文件传输的通信方式。其中,接收端既可以是主动执行S1013,将自身支持的通信方式告知发送端。也可以是在S1013之前,先由发送端发送询问请求。接收端在接收到询问请求之后,再执行S1013的操作。此处不做过多限定,可以可根据实际需求确定。
在上述本申请的两个实施例中,通过发送端与接收端之间主动或被动的交流,告知对方自身所支持的通信方式,从而准确确定出双方所支持的所有可以进行文件传输的通信方式。两个实施例均可以适用于各种实际使用场景,并准确确定出发送端和接收端所支持的所有可以进行文件传输的通信方式,具有极强的使用场景兼容性。同时还有助于后续对实际使用的通信方式的准确选用。
作为确定发送端和接收端支持的通信方式的又一种可选实现方式。在本申请实施例中,可由技术人员预先设置默认的几种通信方式,作为发送端可与接收端进行文件传输的通信方式。此时S101可被替换为:发送端读取预设的多种通信方式,并作为可与接收端进行文件传输的通信方式。
本申请实施例可适用于多种实际场景。包括但不限于如一些发送端和接收端相对较为固定的场景,此时两者支持的通信方式亦相对较为固定。又例如现在的智能设备往往都会支持较多种通信方式,且支持的通信方式往往种类和数量都差不多。在这些场景之中,通过预设一些默认的通信方式,可以缩短发送端执行S101确定与接收端进行文件传输通信方式的时间,从而缩短整个文件传输的时间。
S102,从可与接收端进行文件传输的通信方式中确定出多种用于进行文件传输的通信方式。
考虑到发送端与接收端可进行文件传输的通信方式可能有较多种,理论上可以全部用于文件传输。但实际应用中这些通信方式全部开启使用,又可能会导致终端设备出现性能下降,功耗过大等问题,进而影响用户使用体验。因此在S101确定出发送端与接收端可进行文件传输的通信方式之后,本申请实施例中可以对通信方式进行部分或全部选取。其中,本申请实施例不对选取的具体方式做过多限定,可由技术人员根据实际需求选取或设定。例如,可以仅选取其中传输速度较快的前m种通信方式。其中m可以是大于1的任意自然数。
作为选取通信方式的一种可选实现方式。在本申请实施例中,可由技术人员根据实际需求预先设置所需选取的通信方式数量。在此基础上,S102可以被替换为:从可与接收端进行文件传输的通信方式中确定出预设数量种用于进行文件传输的通信方式。
作为选取通信方式的另一种可选实现方式。在本申请实施例中,可由技术人员根据实际需求预先设置所需选取的通信方式数量,以及设置一种对通信方式排序的规则或方法。在此基础上,S102可以被替换为:S1021。
S1021,对可与接收端进行文件传输的通信方式进行排序,并将排序前预设数量种的通信方式,作为用于进行文件传输的通信方式。
其中,具体的排序方式此处不做过多限定,可由技术人员自行设定。例如,在一些实施例中,可以根据通信方式的传输速度从快到慢的顺序来进行排序。也可以根据通信方式的传输稳定性从好到差的顺序来进行排序。同理,预设数量此处亦不做限定,可以是大于1的任意自然数。
作为选取通信方式的另一种可选实现方式。在前一实施例的基础上,在本申请实施例中,可以同时根据通信方式的传输速度和传输稳定性来进行综合排序。此时S102可以被替换为:S10211和S10212。
S10211,根据通信方式的传输速度和传输稳定性,对可与接收端进行文件传输的通信方式进行传输质量评估,并按照传输质量从高到低进行排序。
S10212,将排序前预设数量种的通信方式,作为用于进行文件传输的通信方式。
在本申请实施例中,会基于传输速度和传输稳定性对通信方式进行综合传输质量评估,并取其中评估传输质量最佳的前几种通信方式作为传输文件的通信方式。其中,具体的传输质量评估方式此处不做过多限定,可由技术人员自行设定。例如,在一些可选实施例中,可以对传输速度和传输稳定性进行加权求和,并将和值作为传输质量的分数。分数越高,传输质量越高。
作为选取通信方式的又一种可选实现方式。在本申请实施例中,可以根据实际所需传输文件(即待传输文件)的体积大小来选择所需的通信方式的种类及数量。在此基础上,参考图2,S102可以被替换为:S1022。
S1022,获取待传输文件的文件体积,并根据文件体积,从可与接收端进行文件传输的通信方式中确定出多种用于进行文件传输的通信方式。
理论上采用越多种的通信方式,文件传输效率越高。但考虑到实际应用中当文件体积较小时,较少数量的通信方式亦可以实现文件快速传输。此时若选用较多的通信方式进行传输,一方面会增加发送端的功耗,另一方面还可能会对用户的使用体验造成影响。因此在本申请实施例中,会根据待传输文件的体积大小来确定所需的通信方式的种类及数量。具体的确定方式此处不做过多限定,可由技术人员根据实际需求选取或设置。作为本申请的一个可选实施例,可以设置一个文件体积与通信方式的种类及数量的对应关系,并根据实际的文件体积和对应关系来确定最终的通信方式。
作为本申请的一个可选实施例,可以设置一个或多个体积阈值,并设置当文件体积与体积阈值不同的大小关系时,分别对应的通信方式的种类及数量。在此基础上,发送端再根据实际待传输文件的文件体积与体积阈值的大小关系,来确定通信方式的种类及数量,并确定最终的通信方式。以一实例进行示例说明,假设设置一个体积阈值为50M。并设置当待传输文件大于50M时,从WiFi、蜂窝网络、蓝牙和有线传输中尽可能的多选取。当待传输文件小等于50M时,则从WiFi、蜂窝网络、蓝牙和有线传输中任选两种通信方式。
在前一实施例的基础上,作为选取通信方式的又一种可选实现方式。在本申请实施例中,待传输文件数量可以不止一个,此时可以根据待传输文件的文件体积和文件数量来选择所需的通信方式的种类及数量。在此基础上,参考图3,S102可以被替换为:S10221。
S10221,获取待传输文件的文件体积和文件数量,并根据文件体积和文件数量,从可与接收端进行文件传输的通信方式中确定出多种用于进行文件传输的通信方式。
实际应用中发现,当待传输文件数量较多时,即使总的文件体积不大,单种通信方式传输的速度还是会相对较慢(本申请实施例中的文件体积,是指待传输文件的总文件体积)。因此本申请实施例会同时结合文件体积和文件数量来选取通信方式,以实现传输速度和发送端功耗和用户体验等维度的平衡。其中,本申请实施例不对具体根据文件体积和文件数量确定通信方式的方法做过多限定,具体可由可由技术人员根据实际需求选取或设置。作为本申请的一个可选实施例,可以设置一个文件体积、文件数量和通信方式的种类及数量的对应关系,并根据实际的文件体积、文件数量和对应关系来确定最终的通信方式。
作为本申请的一个可选实施例,可以将文件体积和文件数量划分为多种情况,并设置每种情况下分别对应的通信方式的种类及数量。在此基础上,发送端再根据实际待传输文件的文件体积和文件数量情况,来确定通信方式的种类及数量,并确定最终的通信方式。以一实例举例进行示例说明,假设将文件体积和文件数量划分3种情况,其中每种情况对应的通信方式的种类及数量如下:
情况a、文件体积大于50M,文件数量为任意值。此时从WiFi、蜂窝网络、蓝牙和有线传输中尽可能的多选取。
情况b、文件体积小等于50M,且文件数量大于2。此时从WiFi、蜂窝网络、蓝牙和有线传输中尽可能的多选取。
情况c、文件体积小等于50M,且文件数量小等于2。从WiFi、蜂窝网络、蓝牙和有线传输中任选两种通信方式。
作为选取通信方式的又一种可选实现方式。考虑到实际情况中用户在需要进行文件传输的同时,也可能会使用其他占用通信方式的功能。例如用户可能在利用WiFi播放在线视频,或者在利用蜂窝网络进行视频通话,又或者在通过蓝牙耳机播放音乐。在这些场景中,用户对已被占用的通信方式是具有实时使用需求的。因此若直接使用这些已被占用的通信方式来传输文件,可能会对用户正常使用发送端造成一定的影响。例如造成在线视频卡顿、
视频通话卡顿或者蓝牙耳机播放音乐断断续续。基于此,本申请实施例可以先根据各个通信方式的使用状态来对通信方式进行筛选,再进行S102对通信方式的确定操作。基于此,参考图4,在本申请实施例中,在S101之后,在S102之前,还包括:S1000和S1001。
S1000,获取可与接收端进行文件传输的通信方式中,各个通信方式在发送端中的使用状态。
S1001,根据各个通信方式的使用状态,对可与接收端进行文件传输的通信方式进行筛选。并基于筛选后剩余的通信方式,执行S102的操作。
此时S102可以适应性地调整为:从筛选后剩余的通信方式中确定出多种用于进行文件传输的通信方式。
在本申请实施例中,将通信方式的使用状态划分为空闲状态和使用中状态。其中空闲状态是指通信方式当前没有数据或文件传输任务,使用中状态则是指通信方式当前有数据或文件传输任务。对于空闲状态的通信方式,筛选时均可以保留下来,以备S102中选取。而对于处于使用中状态的通信方式,考虑到用户当前正在使用,为了减少对用户体验的影响,在筛选时可以选择部分或全部剔除。本申请实施例不对具体使用中状态的通信方式处理方法做过多限定,可由技术人员自行设定。
作为本申请的一个可选实施例,在本申请实施例中有两种可选的使用中状态的通信方式处理方法:
处理方法1、筛选时,将所有处于使用中状态的通信方式均剔除掉。
处理方法2、筛选时,统计所有处于空闲状态的通信方式的数量。如果数量大等于2,则将所有处于使用中状态的通信方式均剔除掉。如果数量小于2,则从处于使用中状态的通信方式中选取部分或全部通信方式保留下来,其余的可以剔除掉。其中保留下来的使用中状态的通信方式数量,与处于空闲状态的通信方式的数量和,需大等于2。
实际应用中,技术人员可根据实际需求来选取所使用的处理方法。亦可以由技术人员自行设置其他处理方法。
作为本申请的一个可选实施例,上述S101和S102的步骤,实质是为了确定出最终用于文件传输的通信方式。因此在本申请实施例中,可以将S101和S102一起替换为:获取多种通信方式。
在将S101和S102一起替换为“获取多种通信方式”的基础上,作为本申请的又一个可选实施例。在本申请实施例中,可以由技术人员预先设置好确定数量和种类的通信方式。此时亦可以无需进行S101和S102对通信方式的选取,以提升整体文件传输的速度。具体设置的通信方式数量和种类此处不做过多限定,可由技术人员根据实际需求设定。
S103,利用确定出的多种通信方式,将待传输文件的文件内容并行传输至接收端。
在确定出具体使用的通信方式之后,发送端开始传输文件。为了提高传输效率,提升传输速度。本申请实施例会利用这些通信方式并行对待传输文件的文件内容进行传输,即几种通信方式同时传输不同的文件内容。其中,本申请实施例不对具体并行传输的方法做过多限定,可由技术人员根据实际需求设定。例如,在一些可选实施例中,可以利用各个通信方式从待传输文件中不同的位置点出发开始并行传输文件内容,直至将所有待传输文件的所有文件内容均传输至接收端。
在本申请实施例中,通过筛选出发送端和接收端可用的通信方式,并从中选取出多种通信方式来并行传输待传输文件的文件内容。从而使得本申请实施例相对传统的单一通信方式传输文件而言,可以极大地提高文件传输效率,提高文件传输速度。进而提升用户进行文件传输时的使用体验。
作为本申请的一个实施例。理论上将待传输文件的所有文件内容都发送到接收端,即可完成对待传输文件的传输。而实际在进行文件传输的过程中,可以由发送端或者接收端来实现对传输完成的判断。例如,对于发送端,可以判断是否将待传输文件的所有文件内容都通过通信方式发送出去。而对于接收端,则可以判断是否接收到待传输文件的所有文
件内容。本申请实施例不对具体判断传输是否完成的主体做过多限定,既可以是发送端也可以是接收端,具体可根据实际应用情况确定。当判断主体为接收端时,可以由接收端在判断出传输完成后,再告知发送端传输完成。同时本申请实施例也不对传输是否完成判断方法做过多限定,亦可由技术人员自行设定。
另外,在完成传输的基础上,接收端还可以对接收到的待传输文件进行完整性校验,以防止传输出现问题或者传输识别。完整性校验的方法此处亦不做过多限定,可由技术人员自行设定。例如可以利用哈希校验的方式进行完整性校验。
作为本申请中实现对待传输文件并行传输的一种可选实现方式。参考图5,在本申请实施例中,S103可以替换为S1031和S1032:
S1031,在待传输文件中确定一个或多个起始位置点,并确定出多种通信方式中每种通信方式分别对应的起始位置点。
在本申请实施例中,为了实现对文件内容的并行传输,首先会在待传输文件中确定出一个或多个起始位置点。并确定好每种通信方式各自对应的起始位置点。其中,考虑到除文件头部和文件尾部以外,任意位置点均可以向位置点两侧进行文件内容读取传输。而文件传输过程中,同一文件内容无需多种通信方式重复传输。因此,文件头部和文件尾部作为起始位置点时,仅需对应一种通信方式。除文件头部和文件尾部以外,单个起始位置点可以对应一种或两种通信方式,但每种通信方式对应一个起始位置点。在此基础上,本申请实施例不对待传输文件中起始位置点的确定方式、起始位置点的具体数量,以及各个起始位置点与通信方式的对应关系做过多限定,可由技术人员根据实际需求设定。
作为本申请的一个可选实施例,可以将文件头部和文件尾部作为固定的两个起始位置点。此时若仅使用2种通信方式进行文件传输,在S1031中,则可以将2种通信方式与2个起始位置点进行对应,并执行S1032的操作。
作为本申请中确定起始位置点及其具体数量的一种可选实现方式。设最终确定出用于文件传输的通信方式数量为m,起始位置点的总数为h,其中m为大于1的自然数,h为大等于1的自然数。为了使得每种通信方式都有一个起始位置点进行文件内容传输,在本申请实施例中,h的取值范围如下:
m为奇数时,(m+1)/2≤h≤m。其中,当取h=(m+1)/2时,h个起始位置点中,最多有一个1个起始位置点为文件头部和文件尾部。即不包含文件头部和文件尾部,或者仅1个起始位置点为文件头部和文件尾部。
m为偶数时,m/2≤h≤m。其中,当取h=m/2时,h个起始位置点中,不包含文件头部或者文件尾部。
在上述取值范围内,技术人员可以根据实际需求自行选取具体的起始位置点数量,此处不做过多限定。
以一实例进行举例说明,假设m=2,此时1≤h≤2。当取h=1时,唯一的一个起始位置点,须为待传输文件中非文件头部或文件尾部的位置点。参考图6的(a)部分,此时起始位置点须在文件头部和文件尾部之间选取。而当取h=2时,理论上可以在待传输文件中任取两个位置点作为起始位置点。例如,可以将文件头部和文件尾部均作为起始位置点。
应当特别说明地,在本申请所有实施例中,对于起始位置点的确定,既可以是由发送端确定,亦可以是由接收端确定并告知发送端。当由接收端确定起始位置点时,若涉及到对起始位置点的处理或判断逻辑,均是由接收端来实现。相应的S1031则为:发送端接收由接收端发送的一个或多个起始位置点,以及多种通信方式中每种通信方式分别对应的起始位置点。本申请实施例不对确定起始位置点的主体进行限定,可由技术人员自行设定。
S1032,发送端控制多种通信方式从各自对应的起始位置点开始,并行传输待传输文件的文件内容至接收端。
在确定出每种通信方式对应的起始位置点之后,本申请实施例会从起始位置点处读取待传输文件的文件内容,并控制每种通信方式并行发送各自对应起始位置点处读取出的文
件内容。
以一实例进行举例说明,参考图6的(b)部分。假设实际使用的通信方式有2种,分别为通信方式1和通信方式2,起始位置点有2个,分别为文件头部(起始位置点1)和文件尾部(起始位置点2)。且通信方式1对应文件头部,通信方式2对应文件尾部。在此基础上,本申请实施例会从文件头部和文件尾部分别开始读取待传输文件的文件内容。同时,会将从文件头部开始读取出的文件内容,通过通信方式1发送至接收端。将从文件尾部开始读取出的文件内容,同步使用通信方式2发送至接收端。
以另一实例进行举例说明,参考图6的(c)部分。本申请实施例是在图6的(b)部分实施例的基础上,增加了一种通信方式3,以及对应的起始位置点3。其中起始位置点3处于文件头部和文件尾部之间的任一位置。在图6的(b)部分实施例的基础上,本申请实施例还会从起始位置点3开始读取待传输文件的文件内容。并使用通信方式3,将从起始位置点3处读取出的文件内容,与通信方式1和通信方式2并行发送至接收端。
在本申请实施例中,通过给每种通信方式设置相应的起始位置点,并从各自的起始位置点处开始进行文件内容的传输。可以实现使用多种通信方式,对待传输文件的同步传输。进而提升对待传输文件的传输效率和速度。
作为本申请中确定起始位置点的一种可选实现方式。在本申请实施例中,S1031可以被替换为:S10311和S10312。
S10311,获取多种通信方式中每种通信方式的传输任务量。
其中,通信方式的传输任务量是指文件传输过程中,该通信方式所需传输的文件内容量。本申请实施例不对传输任务量的设置方法做过多限定,可根据实际需求确定。例如在一些可选的实施例中,传输任务量可以是技术人员预先设置。如可以由技术人员预设设置好各种通信方式之间的传输任务量比例。在S10311中,再由发送端根据预设的传输任务量比例和实际待传输文件的情况,来确认最终每种通信方式实际的传输任务量。而在另一些可选的实施例中,考虑到实际不同通信方式的传输能力不同,导致对文件内容的传输速度会存在一定的差异。为了充分利用好各个通信方式的传输能力,以提高对待传输文件整体的传输速度。可以根据通信方式的传输速度来确定对应的传输任务量。其中单种通信方式的传输任务量与其传输速度成正相关,例如可以成正比。
S10312,根据多种通信方式中每种通信方式之间的传输任务量的比例,在待传输文件中确定一个或多个起始位置点,并确定出多种通信方式中每种通信方式分别对应的起始位置点。
由于起始位置点是各个通信方式开始传输文件内容的位置点,为了尽可能将通信方式的传输任务量与起始位置点相匹配,以提升传输速度。在本申请实施例中,会根据通信方式之间的传输任务量比例来对传输文件进行位置点定位,从而确定出可以作为起始位置点的位置点。再从这些定位出的位置点中,选取出所需的起始位置点。关于起始位置点的相关说明,可以参考对S1031的说明,此处不予赘述。
以一实例进行举例说明。假设使用通信方式1、通信方式2和通信方式3共3种通信方式传输文件内容,且3种通信方式的传输任务量比例为1:1:1。此时可以参考图7的(a)部分,按照1:1:1对待传输文件的文件内容进行位置点定位,可以得到文件头部、待传输文件的1/3处、待传输文件的2/3处以及文件尾部共4个可用位置点。在此基础上,可以有3种起始位置点的选取方案,分别如下:
方案1、将文件头部、待传输文件的1/3处和待传输文件的2/3处,共3个位置点,作为起始位置点。此时可参考图7的(b)部分。
方案2、将待传输文件的1/3处、待传输文件的2/3处和文件尾部,共3个位置点,作为起始位置点。此时可参考图7的(c)部分。
方案3、将待传输文件的1/3处和待传输文件的2/3处,共2个位置点,作为起始位置点。此时可参考图7的(d)部分。
在本申请实施例中,通过按照通信方式传输任务量比例的方式定位起始位置点,可以将通信方式的传输任务量,与实际起始位置点之间的文件内容量同步关联起来。从而使得后续传输过程中,每种通信方式都可以减少跨起始位置点传输的情况可能性。进而提高整体对待传输文件的传输速度。
作为本申请的一个可选实施例,为了提高对待传输文件的传输效率,提升传输速度。在本申请实施例中,会给各个通信方式设置对应的传输任务量。并会在根据各个通信方式对自身传输任务量的完成情况,来调整对待传输文件的传输方式。参考图8,详述如下:
在S103中,还包括:获取多种通信方式中每种通信方式的传输任务量。
其中,关于传输任务量的设置方法,可参考上述S10311中,此处不予赘述。
同时,在执行S103,利用确定出的多种通信方式,将待传输文件的文件内容并行传输至接收端的过程中。本申请实施例会监测各个通信方式对自身传输任务量的完成情况。
在完成对待传输文件的传输之前,若多种通信方式中存在通信方式已完成其对应的传输任务量。此时,本申请实施例中提供至少2种可选的处理方案:
方案1:由通信方式各自完成自己的传输任务量即可,在完成自己的传输任务量之后,等待待传输文件传输完成。
方案2:通信方式在完成自己的传输任务量之后,协助其他的通信方式传输剩余未传输完成的文件内容。以加快传输速度,检索传输时间。此时未完成自身传输任务量的通信方式,仍会继续传输文件内容。
对于方案1,此时发送端无需再进行更多的操作,正常使用正在传输的通信方式继续传输文件内容即可。而对于方案2,则在执行S103的过程中,还包括:
S1030,若在完成对待传输文件的传输之前,多种通信方式中存在通信方式已完成其对应的传输任务量,则利用该已完成对应传输任务量的通信方式,对待传输文件中未传输的文件内容进行并行传输。
当某一通信方式完成了自身的传输任务量,说明该通信方式已闲置。此时本申请实施例会利用该已闲置的通信方式来协助传输剩余的文件内容,可以提高对通信方式的利用率。从而提升传输效率和速度,缩短传输时间。其中,本申请实施例不对协助传输剩余文件内容的方式做过多限定。可由技术人员根据实际需求选取或设置。例如在一些可选实施例中,可以找出当前传输任务量剩余最多的通信方式并作为目标通信方式。让闲置的通信方式与目标通信方式,并行传输目标通信方式剩余的传输任务量。而在另一些可选实施例中,亦可以找出传输任务量完成度最低的通信方式并作为目标通信方式。让闲置的通信方式与目标通信方式,并行传输目标通信方式剩余的传输任务量。其中,单个通信方式的传输任务量完成度,等于其剩余的传输任务量除以其总的传输任务量。
作为本申请的一个可选实施例。在图5对应的实施例的基础上,本申请实施例中,使用第一通信方式和第二通信方式共2种通信方式来进行文件传输。起始位置点共有2个,分别为待传输文件的文件头部和文件尾部。其中第一通信方式对应文件头部,第二通信方式对应文件尾部。在本申请实施例中,第一通信方式和第二通信方式既可以是通过S101和S102筛选出来的,亦可以是根据技术人员预先设置选取的,此处不做限定。相应的,参考图9,在本申请实施例中S1031和S1032可以被替换为:S2031和S2032。
S2031,将待传输文件的文件头部和文件尾部作为起始位置点,其中第一通信方式对应文件头部,第二通信方式对应文件尾部。
S2032,控制第一通信方式从文件头部开始,第二通信方式从文件尾部开始,并行传输待传输文件的文件内容至接收端。
参考图10,是本申请实施例中文件传输时的场景示意图。在本申请实施例中,发送端会从文件头部和文件尾部同步开始读取待传输文件的文件内容。同时,使用第一通信方式传输从文件头部开始读取到的文件内容,使用第二通信方式并行传输从文件尾部开始读取到的文件内容,直至将待传输文件的所有文件内容均发送至接收端。
在本申请实施例中,使用2种通信方式传输文件,且分别从文件头部和文件尾部两端开始读取和发送文件内容。由于从两端开始传输文件内容,且待传输文件的两端之间无其他的起始位置点等,使得本申请实施例无需再进行通信方式的传输任务划分。在文件传输过程中,2种通信方式没有对应的传输任务量。发送端只需不断的从两端向中间读取文件内容,并交由2种通信方式进行传输即可。最后2种通信方式可以在待传输文件的某一位置点同步完成最后的文件内容传输,传输过程中两者均无需等待另外一个通信方式。因此本申请实施例一方面可以无需对传输任务量的分配工作,另一方面又可以避免出现由于传输任务量划分不合理,导致出现闲置通信方式的情况出现。进而本申请实施例可以最大程度的发挥出2种通信方式的通信传输能力,提高传输效率和速度,减少传输时间。
作为本申请中通信方式传输文件内容的一个具体实施例。为了实现通信方式对待传输文件的文件内容传输,在本申请实施例中,通信方式每次仅会发送一个特定长度的文件内容至发送端。同时还会发送该文件内容在待传输文件内的位置信息给发送端,以便发送端进行文件内容写入。参考图11,详述如下:
S301,发送端获取通信方式单次传输的文件内容长度,并作为目标长度。
其中,通信方式单次传输的文件内容长度,可以是接收端通过发送请求等方式告知发送端。亦可以是技术人员根据通信方式的实际传输原理和能力,预先设置好通信方式的目标长度。
由于每种通信方式的实际传输原理和能力不同,不同通信方式对应的目标长度可以存在一定的差异。例如在一些可选实施例中,WiFi的目标长度可以设置为64K,而蓝牙的目标长度可以设置为4K。
S302,发送端从通信方式对应的起始位置点开始,每次读取目标长度的文件内容,并将读取出的文件内容,以及该文件内容在待传输文件内的位置信息给发送端。直至通信方式无传输任务,或者发送端完成对待传输文件的传输。
其中,位置信息可以是相对前一次发送的文件内容的偏移位置,或者相对通信方式对应的起始位置点的偏移位置,也可以是在待传输文件中为具***置点。
在本申请实施例中,通信方式对文件内容的传输是一个多次传输的过程。即将文件内容以目标长度为单位,多次传输至接收端,直至无需再继续传输文件内容为止。应当理解的,目标长度是一个单次传输的理论长度,实际应用中可能会出现某一通信方式剩余未传输的文件内容长度不足目标长度的情况。此时通信方式仍可以对不足目标长度的文件内容进行传输。例如假设通信方式1的目标长度为128K,而待传输文件需要利用通信方式1传输的文件内容仅剩64K未完成传输。此时发送端仍可以利用通信方式1开继续传输剩余的64K文件内容。
S303,接收端接收文件内容及文件内容对应的位置信息,并根据文件内容对应的位置信息将接收到的文件内容写入在本地创建的待传输文件。
本申请实施例的传输方法适用于每种通信方式。在本申请实施例中,每种通信方式均是多次传输的方式完成文件内容的传输,使得本申请实施例可以较好地适应每种通信方式的实际特点。提高对文件传输的效率和速度,减少传输时间。
作为本申请中传输文件的一个具体实施例。在本申请实施例中,使用通信方式1和通信方式2两种通信方式进行文件传输,同时基于通信方式3进行基础通信。起始位置点共有2个,分别为待传输文件的文件头部和文件尾部。其中通信方式1对应文件头部,通信方式2对应文件尾部。在此基础上,参考图12,是本申请实施例的***交互示意图。发送端和接收端进行文件传输的操作详述如下:
S401,接收端使用通信方式3开始监听数据。
在本申请实施例中,通信方式3是发送端和接收端进行基础通信的通信方式,具体可根据实际应用场景确定通信方式3的种类。其中需要说明地,通信方式3仅仅是举例性命名,实际应用中,通信方式3也可以是通信方式1或通信方式2。即实际应用中,通信方
式3可以在作为基础通信方式的同时,也作为传输文件的通信方式之一。
S402,发送端通过通信方式3连接到接收端,并发送通信信息和待传输文件的文件信息至接收端。文件信息中包含待传输文件的文件总长度(即文件体积大小)和文件哈希值。通信信息中包含通信方式1和通信方式2的监听端口或者信道等信息。
S403,接收端接收到通信信息和文件信息后保存信息,创建一个长度为文件总长度的目标文件,并向发送端返回响应应答。
S404,发送端接收到响应之后,分别建立通信方式1和通信方式服务端,并向接收端发送通道准备就绪报文。
S405,接收端在接收到通道准备就绪报文后,启动通信方式1和通信方式2的客户端,并分别连接通信方式1和通信方式2对应的服务端。
S406,接收端通过通信方式1发送从文件头部开始读取的请求报文,并行通过通信方式2发送从文件尾部开始读取的请求报文。请求报文中包含请求文件内容开始的文件偏移位置以及对文件内容的请求长度。
S407,发送端通过通信方式1和通信方式2的服务端,响应通信方式1和通信方式2的客户端请求。即根据接收到的请求报文中的文件偏移位置和请求长度来读取待传输文件的文件内容,并通过通信方式1和通信方式2将文件内容并行发送至接收端。
在本申请实施例中,由接收端选择起始位置点并告知发送端。由发送端在接收到对应的请求报文之后,按照接收端选择的起始位置点:文件头部和文件尾部,开始进行文件内容的读取和发送。
S408,接收端接收通信方式1和通信方式2发送的文件内容,并按照文件偏移位置和请求长度,将接收到的文件内容写入目标文件之中。
S409,接收端检查接收到的文件内容总长度。若文件内容总长度小于待传输文件的文件总长度,则返回执行S406的操作。若文件内容总长度等于待传输文件的文件总长度,则执行S410。
在本申请实施例中,S406至S409为循环操作。每次发送文件内容时,发送端都会读取接收端请求长度的文件内容,并交由对应的通信方式发送出去。其中关于请求长度的内容,可以参考S301中对目标长度的说明,此处不予赘述。
本申请实施例中,由接收端负责根据接收到的文件内容总长度,检查待传输文件是否传输完成。若没传输完成,则重新循环S406至S409的操作。若传输完成,则继续执行后续的S410的操作。
S410,接收端检查目标文件的哈希值是否与待传输文件的文件哈希值相同。若相同,则判定此次文件传输成功。若不相同,则判定此次文件传输失败。
在本申请实施例中,通过使用两种通信从待传输文件的首尾开始传输文件内容,可以最大程度的发挥通信方式的传输能力。相对传统的单通信方式的文件传输,本申请实施例可以极大地提高传输效率,提升传输速度,缩短传输时间。
应当理解地,在无逻辑冲突的前提下,上述各个本申请实施例之间可以相互组合实施,以适应实际的应用需求。这些组合后得到的具体实施例或实施方案,仍属于本申请的保护范围内。
对应于上文实施例所述的文件传输方法,图13示出了本申请实施例提供的文件传输装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图13,该文件传输装置包括:
通信获取模块131,用于获取多种通信方式。
并行传输模块132,用于利用多种通信方式,将待传输文件的文件内容并行传输至接收端。
作为本申请的一个实施例,通信获取模块131,包括:
通信获取子模块,获取可与接收端进行文件传输的通信方式。
通信筛选模块,用于从可与接收端进行文件传输的通信方式中确定出多种通信方式。
作为本申请的一个实施例,通信筛选模块,包括:
第一通信筛选模块,用于获取待传输文件的文件体积,并根据文件体积从可与接收端进行文件传输的通信方式中确定出多种通信方式。或者
第二通信筛选模块,用于获取待传输文件的文件体积和文件数量,并根据文件体积和文件数量,从可与接收端进行文件传输的通信方式中确定出多种通信方式。或者
第三通信筛选模块,用于获取可与接收端进行文件传输的通信方式中,每种通信方式的传输速度和传输稳定性。根据传输速度和传输稳定性,从可与接收端进行文件传输的通信方式中确定出多种通信方式。
作为本申请的一个实施例,文件传输装置,还包括:
状态获取模块,用于获取可与接收端进行文件传输的通信方式中,每种通信方式在发送端中的使用状态。
第四通信筛选模块,用于根据每种通信方式的使用状态,对可与接收端进行文件传输的通信方式进行筛选,并基于筛选后剩余的通信方式,执行从可与接收端进行文件传输的通信方式中确定出多种通信方式的操作。
作为本申请的一个实施例,并行传输模块132,包括:
位置点确定模块,用于在待传输文件中确定一个或多个起始位置点,并确定出多种通信方式中,每种通信方式分别对应的起始位置点。
并行传输子模块,用于控制多种通信方式中的每种通信方式,从各自对应的起始位置点处开始,并行传输待传输文件的文件内容至接收端。
作为本申请的一个实施例,并行传输模块132,还包括:
任务量获取模块,用于获取多种通信方式中每种通信方式的传输任务量。
在利用多种通信方式,将待传输文件的文件内容并行传输至接收端的过程中,包括:
若在完成对待传输文件的传输之前,多种通信方式中存在通信方式已完成其对应的传输任务量,则利用该已完成对应传输任务量的通信方式,对待传输文件中未传输的文件内容进行并行传输。
作为本申请的一个实施例,多种通信方式包括第一通信方式和第二通信方式。起始位置点共有两个,分别为待传输文件的文件头部和文件尾部。其中,第一通信方式对应文件头部,第二通信方式对应文件尾部。在本申请实施例中,并行传输子模块,包括:
控制第一通信方式从文件头部开始,第二通信方式从文件尾部开始,并行传输待传输文件的文件内容至接收端。
本申请实施例提供的文件传输装置中各模块实现各自功能的过程,具体可参考前述图1所示实施例以及其他相关方法实施例的描述,此处不再赘述。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”
或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。还应理解的是,虽然术语“第一”、“第二”等在文本中在一些本申请实施例中用来描述各种元素,但是这些元素不应该受到这些术语的限制。这些术语只是用来将一个元素与另一元素区分开。例如,第一表格可以被命名为第二表格,并且类似地,第二表格可以被命名为第一表格,而不背离各种所描述的实施例的范围。第一表格和第二表格都是表格,但是它们不是同一表格。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的文件传输方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
例如,所述终端设备可以是WLAN中的站点(STAION,ST),可以是蜂窝电话、无绳电话、会话启动协议(Session InitiationProtocol,SIP)电话、无线本地环路(Wireless Local Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、车联网终端、电脑、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线设备、无线调制解调器卡、电视机顶盒(set top box,STB)、用户驻地设备(customer premise equipment,CPE)和/或用于在无线***上进行通信的其它设备以及下一代通信***,例如,5G网络中的终端设备或者未来演进的公共陆地移动网络(Public Land Mobile Network,PLMN)网络中的终端设备等。
作为示例而非限定,当所述终端设备为可穿戴设备时,该可穿戴设备还可以是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,如智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
图14是本申请一实施例提供的终端设备(可以是发送端或者接收端)的结构示意图。如图14所示,该实施例的终端设备14包括:至少一个处理器140(图14中仅示出一个)、存储器141,所述存储器141中存储有可在所述处理器140上运行的计算机程序142。所述处理器140执行所述计算机程序142时实现上述各个文件传输方法实施例中的步骤,例如图1所示的步骤101至103。或者,所述处理器140执行所述计算机程序142时实现上述各装置实施例中各模块/单元的功能,例如图13所示模块131至133的功能。
所述终端设备14可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器140、存储器141。本领域技术人员可以理解,图14仅仅是终端设备14的示例,并不构成对终端设备14的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入发送设备、网络接入设备、总线等。
所称处理器140可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器141在一些实施例中可以是所述终端设备14的内部存储单元,例如终端设备14的硬盘或内存。所述存储器141也可以是所述终端设备14的外部存储设备,例如所述终端设备14上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器141还可以既包括所述终端设备14的内部存储单元也包括外部存储设备。所述存储器141用于存储操作***、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器141还可以用于暂时地存储已经发送或者将要发送的数据。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请实施例还提供了一种终端设备,所述终端设备包括至少一个存储器、至少一个处理器以及存储在所述至少一个存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时,使所述终端设备实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种芯片***,所述芯片***包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述各个方法实施例中的步骤。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络
单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
- 一种文件传输方法,其特征在于,应用于发送端,包括:获取多种通信方式;利用所述多种通信方式,将待传输文件的文件内容并行传输至接收端。
- 根据权利要求1所述的文件传输方法,其特征在于,所述获取多种通信方式,包括:获取可与所述接收端进行文件传输的通信方式;从所述可与所述接收端进行文件传输的通信方式中确定出所述多种通信方式。
- 根据权利要求2所述的文件传输方法,其特征在于,所述从所述可与所述接收端进行文件传输的通信方式中确定出所述多种通信方式,包括:获取所述待传输文件的文件体积,并根据所述文件体积从所述可与所述接收端进行文件传输的通信方式中确定出所述多种通信方式;或者获取所述待传输文件的文件体积和文件数量,并根据所述文件体积和所述文件数量,从所述可与所述接收端进行文件传输的通信方式中确定出所述多种通信方式;或者获取所述可与所述接收端进行文件传输的通信方式中,每种通信方式的传输速度和传输稳定性;根据所述传输速度和传输稳定性,从所述可与所述接收端进行文件传输的通信方式中确定出所述多种通信方式。
- 根据权利要求2或3所述的文件传输方法,其特征在于,在所述从所述可与所述接收端进行文件传输的通信方式中确定出所述多种通信方式之前,还包括:获取所述可与所述接收端进行文件传输的通信方式中,每种通信方式在发送端中的使用状态;根据每种通信方式的所述使用状态,对所述可与所述接收端进行文件传输的通信方式进行筛选,并基于筛选后剩余的通信方式,执行所述从所述可与所述接收端进行文件传输的通信方式中确定出所述多种通信方式的操作。
- 根据权利要求1所述的文件传输方法,其特征在于,所述利用所述多种通信方式,将待传输文件的文件内容并行传输至接收端,包括:在所述待传输文件中确定一个或多个起始位置点,并确定出所述多种通信方式中,每种通信方式分别对应的所述起始位置点;控制所述多种通信方式中的每种通信方式,从各自对应的所述起始位置点处开始,并行传输所述待传输文件的文件内容至所述接收端。
- 根据权利要求1所述的文件传输方法,其特征在于,所述利用所述多种通信方式,将待传输文件的文件内容并行传输至接收端,还包括:获取所述多种通信方式中每种通信方式的传输任务量;在所述利用所述多种通信方式,将待传输文件的文件内容并行传输至接收端的过程中,包括:若在完成对所述待传输文件的传输之前,所述多种通信方式中存在通信方式已完成其对应的所述传输任务量,则利用该已完成对应所述传输任务量的通信方式,对所述待传输文件中未传输的文件内容进行并行传输。
- 根据权利要求5所述的文件传输方法,其特征在于,所述多种通信方式包括第一通信方式和第二通信方式;所述起始位置点共有两个,分别为所述待传输文件的文件头部和文件尾部;其中,所述第一通信方式对应所述文件头部,所述第二通信方式对应所述文件尾部;所述控制所述多种通信方式中的每种通信方式,从各自对应的所述起始位置点处开始,并行传输所述待传输文件的文件内容至所述接收端,包括:控制所述第一通信方式从所述文件头部开始,所述第二通信方式从所述文件尾部开始,并行传输所述待传输文件的文件内容至所述接收端。
- 一种文件传输装置,其特征在于,包括:通信获取模块,用于获取多种通信方式;并行传输模块,用于利用所述多种通信方式,将待传输文件的文件内容并行传输至接收端。
- 一种终端设备,其特征在于,所述终端设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至7任一项所述方法的步骤。
- 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现根据权利要求1至7任一项所述方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210361593.9A CN114615259A (zh) | 2022-04-07 | 2022-04-07 | 文件传输方法、装置及终端设备 |
CN202210361593.9 | 2022-04-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023193599A1 true WO2023193599A1 (zh) | 2023-10-12 |
Family
ID=81869768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/082847 WO2023193599A1 (zh) | 2022-04-07 | 2023-03-21 | 文件传输方法、装置及终端设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114615259A (zh) |
WO (1) | WO2023193599A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114615259A (zh) * | 2022-04-07 | 2022-06-10 | 百富计算机技术(深圳)有限公司 | 文件传输方法、装置及终端设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070112848A1 (en) * | 2005-11-17 | 2007-05-17 | Steve Wang | Method and system for concurrently processing multiple large data files transmitted using a multipart format |
WO2017166522A1 (zh) * | 2016-03-29 | 2017-10-05 | 乐视控股(北京)有限公司 | 终端设备间传输文件的方法、终端设备及文件传输*** |
CN110493342A (zh) * | 2019-08-21 | 2019-11-22 | 北京明朝万达科技股份有限公司 | 文件传输方法、装置、电子设备及可读存储介质 |
CN112333235A (zh) * | 2020-09-26 | 2021-02-05 | 深圳市星谷科技有限公司 | 一种多运营商多网聚合的文件传输方法、***及智能终端 |
CN114615259A (zh) * | 2022-04-07 | 2022-06-10 | 百富计算机技术(深圳)有限公司 | 文件传输方法、装置及终端设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105100140B (zh) * | 2014-05-04 | 2019-05-14 | 腾讯科技(深圳)有限公司 | 文件传输方法和*** |
CN105227649A (zh) * | 2015-09-21 | 2016-01-06 | 北京金山安全软件有限公司 | 一种文件传输方法及装置 |
US10686867B2 (en) * | 2017-05-12 | 2020-06-16 | Guavus, Inc. | Scaled in-order record input ingestion for file-based streams in multi-threaded environments |
CN107659968A (zh) * | 2017-10-13 | 2018-02-02 | 惠州Tcl移动通信有限公司 | 移动终端及其数据传输方法、及存储介质 |
CN108769274B (zh) * | 2018-08-27 | 2021-12-24 | 优视科技新加坡有限公司 | 一种对话式文件传输方法、装置和设备/终端/服务器 |
-
2022
- 2022-04-07 CN CN202210361593.9A patent/CN114615259A/zh active Pending
-
2023
- 2023-03-21 WO PCT/CN2023/082847 patent/WO2023193599A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070112848A1 (en) * | 2005-11-17 | 2007-05-17 | Steve Wang | Method and system for concurrently processing multiple large data files transmitted using a multipart format |
WO2017166522A1 (zh) * | 2016-03-29 | 2017-10-05 | 乐视控股(北京)有限公司 | 终端设备间传输文件的方法、终端设备及文件传输*** |
CN110493342A (zh) * | 2019-08-21 | 2019-11-22 | 北京明朝万达科技股份有限公司 | 文件传输方法、装置、电子设备及可读存储介质 |
CN112333235A (zh) * | 2020-09-26 | 2021-02-05 | 深圳市星谷科技有限公司 | 一种多运营商多网聚合的文件传输方法、***及智能终端 |
CN114615259A (zh) * | 2022-04-07 | 2022-06-10 | 百富计算机技术(深圳)有限公司 | 文件传输方法、装置及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114615259A (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7873758B2 (en) | Cellular phone and portable storage device using the same | |
US9319345B2 (en) | Methods and systems for rapid data acquisition over the internet | |
WO2014169860A1 (zh) | 一种数据传输方法及设备 | |
WO2023193599A1 (zh) | 文件传输方法、装置及终端设备 | |
JP2019186930A (ja) | ブルートゥーススピーカーにおける連続ウェイクアップ遅延低減の方法、装置及びブルートゥーススピーカー | |
CN102006368A (zh) | 基于移动终端记忆卡缓存技术的流媒体音频文件播放方法 | |
WO2022037176A1 (zh) | 核间通信方法、装置、电子组件以及电子设备 | |
CN100495464C (zh) | 一种基于蓝牙的数字电视机遥控器 | |
CN103369034A (zh) | 一种将照片发送到数码相框的方法、***及装置 | |
WO2022199478A1 (zh) | 信道状态信息csi的上报方法及相关产品 | |
WO2020044086A1 (zh) | 一种文件传输与播放的方法、装置和设备/终端/服务器 | |
EP3804244B1 (en) | Systems and methods for transport layer processing of server message block protocol messages | |
CN103856558B (zh) | 一种用于终端应用的数据处理方法和装置 | |
US20170346890A1 (en) | File Download Method and Play Device | |
CN114640706B (zh) | 数据传输方法、电子设备及计算机可读存储介质 | |
CN102065146B (zh) | 用于优化嵌入式终端在p2p应用中的存储效率的方法与设备 | |
EP1430401B1 (en) | Extended content storage method and apparatus | |
US8438237B2 (en) | Sharing of access to a storage device | |
WO2022222556A1 (zh) | 一种蓝牙设备中编解码能力的获取方法及电子设备 | |
CN112889096A (zh) | 一种动态调整avrcp版本的方法及终端设备 | |
US7861007B2 (en) | Method and apparatus for multimedia display in a mobile device | |
CN116049096B (zh) | 一种数据迁移方法、电子设备及存储介质 | |
WO2024140279A1 (zh) | 传输文件的方法及电子设备 | |
US10986040B2 (en) | Network communication apparatus and method of the same | |
CN114938363B (zh) | 语音数据传输装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23784163 Country of ref document: EP Kind code of ref document: A1 |