File transmission method and apparatus, electronic device, storage medium, and program product
By downloading and displaying the file contents sent by the sending terminal in real time on the receiving terminal, the problem of low file transfer efficiency in the prior art is solved, and more efficient file transfer and better user experience are achieved.
Patent Information
- Application Number
- PCT/CN2024/104193
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-01
- Filing Date
- 2024-07-08
- Publication Date
- 2025-03-06
AI Technical Summary
In the prior art, the file transfer efficiency between the sending terminal and the receiving terminal is low, and it is impossible to quickly transmit files from the sending terminal to the receiving terminal.
By displaying the file receiving page on the receiving terminal and responding to the trigger operation of the receiving control, downloading the target file contents sent by the sending terminal, displaying the file sending status information in real time until the target file transfer is completed.
The file transfer efficiency between the sending terminal and the receiving terminal is improved, so that the receiving terminal can receive target files in real time, and improve the user's experience and enthusiasm for transferring files.
Smart Images

Figure CN2024104193_06032025_PF_FP_ABST
Abstract
Description
File transmission method, device, electronic device, storage medium and program product
[0001] Related applications
[0002] This application claims priority to Chinese patent application number 2023111318214, filed on September 1, 2023, entitled “File transfer method, device, electronic device, storage medium and program product,” the entire text of which is hereby incorporated by reference. Technical Field
[0003] The present application relates to the technical field of data transmission, and specifically to a file transmission method, device, electronic device, storage medium and program product, wherein the storage medium is a computer-readable storage medium and the program product is a computer program product. Background Art
[0004] With the development of data transmission technology, sending terminals and receiving terminals can implement various transmission services through data transmission technology, such as text message transmission service and file transmission service.
[0005] Among them, for file transfer services, the current commonly used approach is: the sending terminal uploads the file to the server through a communication application. After the file upload is completed, the receiving terminal downloads the file from the server. This method cannot quickly transfer files from the sending terminal to the receiving terminal.
[0006] In summary, there is currently a problem of low efficiency in file transmission between a sending terminal and a receiving terminal.
[0007] Summary of the Invention
[0008] Embodiments of the present application provide a file transmission method, device, electronic device, storage medium, and program product.
[0009] A file transmission method, applied to a receiving terminal, comprising:
[0010] Displaying a file receiving page, displaying a receiving control for a target file on the file receiving page, where the target file is a file sent by a sending terminal to the receiving terminal;
[0011] In response to a trigger operation on the receiving control, while the sending terminal is sending the target file, starting to download the content of the target file sent by the sending terminal, displaying a file download page for the target file, and displaying file sending status information on the file download page, wherein the file sending status information indicates that the sending terminal is sending the target file;
[0012] When the sending terminal completes sending the target file, download progress information indicating that part of the target file has been downloaded is displayed on the file download page.
[0013] Accordingly, an embodiment of the present application provides a file transmission device, comprising:
[0014] a first display unit, configured to display a file receiving page, wherein a receiving control for a target file is displayed on the file receiving page, where the target file is a file sent by a sending terminal to the receiving terminal;
[0015] a downloading unit, configured to, in response to a triggering operation on the receiving control, start downloading the content of the target file sent by the sending terminal during the process of the sending terminal sending the target file;
[0016] a second display unit, configured to display a file download page of the target file in response to a trigger operation on the receiving control, and display file sending status information on the file download page, wherein the file sending status information indicates that the sending terminal is sending the target file;
[0017] The third display unit is configured to display download progress information indicating that part of the target file has been downloaded on the file download page when the sending terminal completes sending the target file.
[0018] This application also provides another file transmission method, which is applied to a sending terminal, including:
[0019] Displaying a file sending page, wherein the identification of the target file and a sending control for the target file are displayed on the file sending page;
[0020] In response to a trigger operation on the sending control, sending the target file to a receiving terminal, so that the receiving terminal starts downloading the content of the target file sent by the sending terminal during the process of the sending terminal sending the target file;
[0021] A file transfer page of the target file is displayed, wherein the file transfer page includes a sending progress indicator of the target file.
[0022] Accordingly, the present application provides another file transmission device, comprising:
[0023] a fourth display unit, configured to display a file sending page, wherein the identification of a target file and a sending control for the target file are displayed on the file sending page;
[0024] a sending unit, configured to send the target file to a receiving terminal in response to a triggering operation on the sending control, so that the receiving terminal starts downloading the content of the target file sent by the sending terminal during the process of the sending terminal sending the target file;
[0025] The fifth display unit is configured to display a file transfer page of the target file, wherein the file transfer page includes a sending progress indicator of the target file.
[0026] This application also provides another file transfer method, which is applied to the target server, including:
[0027] receiving at least one current file block of a target file and associated file upload information of the current file block from a sending terminal;
[0028] Based on the current file block and the associated file upload information, updating the preset file set to obtain an updated file set;
[0029] When receiving the target file download information sent by the receiving terminal, filtering out the file block corresponding to the target file download information and the associated file download information corresponding to the file block from the preset file set;
[0030] The file block and the associated file download information are returned to the receiving terminal, so that the receiving terminal obtains the target file when the sending terminal sends the target file.
[0031] Accordingly, the present application provides another file transmission device, comprising:
[0032] A receiving unit, configured to receive at least one current file block of a target file and associated file upload information of the current file block sent by a sending terminal;
[0033] an updating unit, configured to update a preset file set based on the current file block and the associated file upload information to obtain an updated file set;
[0034] a screening unit configured to, upon receiving target file download information sent by a receiving terminal, screen out, from the preset file set, a file block corresponding to the target file download information and associated file download information corresponding to the file block;
[0035] The returning unit is configured to return the file block and the associated file download information to the receiving terminal, so that the receiving terminal can obtain the target file when the sending terminal sends the target file.
[0036] In addition, an embodiment of the present invention further provides an electronic device, including a processor and a memory, wherein the memory stores an application program, and the processor is configured to run the application program in the memory to implement the file transmission method provided by the embodiment of the present invention.
[0037] In addition, an embodiment of the present application further provides a computer-readable storage medium, which stores a computer program. The computer program is suitable for loading by a processor to execute any file transfer method provided in the embodiment of the present application.
[0038] In addition, an embodiment of the present application also provides a computer program product, including a computer program, which implements any file transfer method provided in the embodiment of the present application when the computer program is executed by a processor.
[0039] The details of one or more embodiments of the present application are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the present application will become apparent from the description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0041] FIG1 is a schematic diagram of a scenario of a file transmission method provided in an embodiment of the present application;
[0042] FIG2 is a flowchart illustrating a file transmission method according to an embodiment of the present application;
[0043] FIG3 is a schematic diagram of a file message display page provided in an embodiment of the present application;
[0044] FIG4 is a schematic diagram of a file receiving page provided in an embodiment of the present application;
[0045] FIG5 is a schematic diagram of a file termination reception page provided in an embodiment of the present application;
[0046] FIG6 is a second schematic diagram of a file message display page provided in an embodiment of the present application;
[0047] FIG7 is a schematic diagram of a file download page provided in an embodiment of the present application;
[0048] FIG8 is a schematic diagram of a file message display page provided in an embodiment of the present application;
[0049] FIG9 is a second schematic diagram of a file download page provided in an embodiment of the present application;
[0050] FIG10 is a schematic diagram of a file message display page provided in an embodiment of the present application;
[0051] FIG11 is a schematic diagram of a file suspension receiving page provided in an embodiment of the present application;
[0052] FIG12 is a schematic diagram of a file message display page provided in an embodiment of the present application;
[0053] FIG13 is a schematic diagram of a file message display page provided in an embodiment of the present application;
[0054] FIG14 is a schematic diagram of a file expiration page provided in an embodiment of the present application;
[0055] FIG15 is a schematic diagram of an expiration reminder page provided in an embodiment of the present application;
[0056] FIG16 is a second flow chart illustrating a method for transferring files according to an embodiment of the present application;
[0057] FIG17 is a flowchart of a file transfer method according to an embodiment of the present application;
[0058] FIG18 is a schematic diagram of a file transfer page provided in an embodiment of the present application;
[0059] FIG19 is a second schematic diagram of a file transfer page provided in an embodiment of the present application;
[0060] FIG20 is a schematic diagram of a resending page provided in an embodiment of the present application;
[0061] FIG21 is a schematic diagram of a file transfer page provided in an embodiment of the present application;
[0062] FIG22 is a fourth schematic diagram of a file transfer page provided in an embodiment of the present application;
[0063] FIG23 is a schematic diagram of a file transfer page provided in an embodiment of the present application;
[0064] FIG24 is a schematic diagram of a file transfer page provided in an embodiment of the present application;
[0065] FIG25 is a schematic diagram of a candidate resending page provided in an embodiment of the present application;
[0066] FIG26 is a fourth flow chart illustrating a method for transferring files according to an embodiment of the present application;
[0067] FIG27 is a fifth flow chart illustrating a method for transferring files according to an embodiment of the present application;
[0068] FIG28 is a schematic diagram of a file transmission method provided in an embodiment of the present application;
[0069] FIG29 is a timing diagram of a file transmission method provided in an embodiment of the present application;
[0070] FIG30 is a schematic diagram of a target file sending process according to an embodiment of the present application;
[0071] FIG31 is a comparison diagram of the effects of the present application and the existing related technologies;
[0072] FIG32 is a schematic diagram of the structure of a file transmission device provided in an embodiment of the present application;
[0073] FIG33 is a second structural diagram of a file transmission device provided in an embodiment of the present application;
[0074] FIG34 is a third structural diagram of a file transmission device provided in an embodiment of the present application;
[0075] Figure 35 is a schematic structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0076] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0077] The present invention provides a method, device, electronic device, computer-readable storage medium, and computer program product for file transmission. The file transmission device can be integrated into an electronic device, which can be a server or a terminal.
[0078] Among them, the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, network acceleration services (Content Delivery Network, CDN), and basic cloud computing services such as big data and artificial intelligence platforms. The terminal can be a smart phone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, car terminal, etc., but is not limited to these. The terminal and the server can be directly or indirectly connected through wired or wireless communication, and this application does not limit this.
[0079] For example, referring to Figure 1, taking the case where a file transmission device is integrated in an electronic device, where the electronic device is a receiving terminal, the receiving terminal displays a file receiving page, and a receiving control for a target file is displayed on the file receiving page, where the target file is a file sent by the sending terminal to the receiving terminal; in response to a triggering operation on the receiving control, during the process of the sending terminal sending the target file, the content of the target file sent by the sending terminal starts to be downloaded, and a file download page for the target file is displayed, and file sending status information is displayed on the file download page, where the file sending status information indicates that the sending terminal is sending the target file; when the sending terminal completes sending the target file, download progress information indicating that part of the content of the target file has been downloaded is displayed on the file download page.
[0080] Among them, the file transfer method provided by the embodiment of the present application relates to data transmission technology. The file transfer method can respond to the trigger operation of the receiving control for the target file in the file receiving page, so that the receiving terminal can download the target file sent by the sending terminal, so that the receiving terminal can display the file sending status information on the file download page of the target file. In this way, when the sending terminal completes the sending of the target file, the receiving terminal completes the download of part of the content of the target file, so that the receiving terminal can display the download progress information indicating that part of the content of the target file has been downloaded. That is, the file transfer method can enable the receiving terminal to receive the target file in real time during the process of the sending terminal sending the target file, which can improve the file transfer efficiency between the sending terminal and the receiving terminal, and improve the user experience and enthusiasm for file transmission.
[0081] It can be understood that in the specific implementation of this application, related data such as target files, file blocks, file sending status information, download progress information, etc. are involved. When the following embodiments of this application are applied to specific products or technologies, permission or consent is required, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions.
[0082] It should be noted that the order of description of the following embodiments is not intended to limit the preferred order of the embodiments.
[0083] This embodiment will be described from the perspective of a file transmission device, which can be specifically integrated into a receiving terminal; wherein the receiving terminal may include a tablet computer, a laptop computer, a personal computer (PC), a wearable device, a virtual reality device or other smart device that can obtain data.
[0084] A file transmission method, applied to a receiving terminal, comprising:
[0085] A file receiving page is displayed, and a receiving control for a target file is displayed on the file receiving page. The target file is a file sent by a sending terminal to a receiving terminal. In response to a triggering operation on the receiving control, during the process of the sending terminal sending the target file, the content of the target file sent by the sending terminal is downloaded, and a file download page for the target file is displayed. File sending status information is displayed on the file download page. The file sending status information indicates that the sending terminal is sending the target file. When the sending terminal completes sending the target file, download progress information indicating that part of the content of the target file has been downloaded is displayed on the file download page.
[0086] As shown in FIG2 , the specific process of the file transmission method is as follows: Step S201 to Step S203:
[0087] S201: Display a file receiving page. Display a receiving control for a target file on the file receiving page. The target file is a file sent by a sending terminal to a receiving terminal.
[0088] The target file is a file sent from the sending terminal to the receiving terminal, and the file receiving page includes a receiving control for the target file.
[0089] The target file may include at least one file or at least one file. Specifically, the target file may include but is not limited to at least one of a text file, a picture file, a video file, and an audio file. When the target file is at least one of a text file, a picture file, a video file, and an audio file, each file may include at least one file.
[0090] Of course, the target file may include at least two types of files. For example, the target file may include a text file and a video file. In this case, for example, the text file and the video file can be placed in the same file package such as a compressed package. Based on this, the sending terminal sends the target file to the receiving terminal in the form of a file package such as a compressed package. Then, the receiving terminal can download the target file in the form of a file package.
[0091] The receiving control may be a control for downloading and receiving a target file sent by a sending terminal. Specifically, the receiving control may be displayed in various forms on the file receiving page, such as an icon, text, or a combination of an icon and text.
[0092] In step S201, the method of "displaying the file receiving page" can be: when the sending terminal starts to send the target file, the file message display page corresponding to the target file is displayed, and the file display control is displayed on the file message display page; in response to the trigger operation of the file display control, the file receiving page is displayed.
[0093] The file message display page may be a page for displaying file-related content of the target file. The file-related content may include, but is not limited to, file-related messages and file-related controls for the target file. The file message display page may be an instant messaging page. For example, a receiving user on a receiving terminal may log in to an instant messaging application to display the file message display page. The receiving user may refer to an account logged into the instant messaging application on the receiving terminal.
[0094] The file display control may carry information that instructs the sending terminal to start sending the target file. The display form of the file display control in the file message display page may include an icon and text.
[0095] Regarding the step of “displaying a file receiving page in response to a triggering operation on the file display control”, the receiving terminal may display the file receiving page in response to a click operation or a touch operation on the file display control.
[0096] S202. In response to a trigger operation on a receiving control, during the process of the sending terminal sending the target file, the content of the target file sent by the sending terminal starts to be downloaded, and a file download page of the target file is displayed. File sending status information is displayed on the file download page, and the file sending status information indicates that the sending terminal is sending the target file.
[0097] The file download page includes file sending status information, that is, the file download page displays the file sending status information, and the file sending status information indicates that the sending terminal is sending the target file.
[0098] With respect to step S202, after displaying the file receiving page, the present application may respond to a triggering operation on a receiving control in the file receiving page and display a file download page for the target file.
[0099] Steps S201 and S202 are described below using a specific example. For example, when the target file is a text file, the sending user in the sending terminal can log in to an instant messaging application. The sending user can refer to an account logged in to the instant messaging application in the sending terminal. The receiving user in the receiving terminal can also log in to the instant messaging application in the receiving terminal. The sending terminal then sends the text file to the receiving user in the receiving terminal via the sending user.
[0100] When the sending terminal begins sending a text file, the receiving terminal displays a file message display page for the text file via the instant messaging application. As shown in Figure 3, this file message display page can be an instant messaging session page between the sending and receiving users. The sending user's object identifier 31 is displayed on the instant messaging session page, and the object identifier can be displayed as an image. The instant messaging session page can also include a file display control 32, which can display a text file icon and the text file's name. As shown in Figure 3, the text file's name can be "First Quarter Financial Report Data.key."
[0101] When a user, for example, triggers a file display control, the receiving terminal displays a file receiving page in response to the triggering operation. As shown in FIG4 , the file receiving page includes a text file receiving control 41, candidate file icons 42 for the text file, and a target return control 43. The text file name may be, for example, "First Quarter Financial Report Data.key," and the text file size attribute information may be, for example, "File Size: 361MB."
[0102] Before the receiving control 41 is triggered, the object can display the file message display page shown in FIG3 in response to a click operation on the target return control 43 .
[0103] In an embodiment of the present application, after displaying the file download page of the target file, the sending terminal may stop sending the target file. Accordingly, the receiving terminal will respond to this situation. Specifically, when the sending terminal stops sending the target file, the file termination reception page is displayed, and the file termination reception page includes a page return control and a stop transmission indication information of the target file; in response to the triggering operation of the page return control, the file message display page is displayed, and the first file status indication mark is displayed on the file message display page, and the first file status indication mark indicates that the transmission of the target file has been terminated.
[0104] There may be many reasons why the sending terminal stops sending the target file, such as network interruption, or the object operates the sending terminal to stop sending the target file, etc., wherein the object operates the sending terminal, such as the sending terminal pausing sending the target file, or the sending terminal checking and killing the instant messaging application.
[0105] Furthermore, when the sending terminal stops sending the target file and the stop time exceeds a preset time threshold, a file reception termination page may be displayed.
[0106] The page return control may be displayed in the form of an icon or text. The transmission stop instruction information may be information indicating that the sending terminal stops sending the target file.
[0107] Here, the target file is a text file as an example for explanation. For example, when the sending terminal stops sending a text file, the present application displays a file termination reception page, as shown in Figure 5. The text termination reception page may include a page return control 51, the name of the text file such as "first quarter financial report data.key", the size attribute information of the text file such as "file size: 361MB" and the stop transmission instruction information of the text file such as "the other party stops sending". Then, when the object clicks on the page return control, the receiving terminal can display the file message display page in response to the click operation on the page return control, and then, as shown in Figure 6, the first file status indicator 61 is displayed on the file message display page. The display form of the first file status indicator 61 can be an icon. Among them, the first file status indicator 61 can be displayed on the file display control 32.
[0108] In an embodiment of the present application, after displaying the file download page of the target file, you can cancel the download of the target file, and then continue to download the target file. For example, the file download page includes a cancel control. On this basis, the receiving terminal can display the file receiving page in response to the triggering operation of the cancel control; and continue to download the target file in response to the triggering operation of the receiving control on the file receiving page.
[0109] It can be understood here that when the receiving terminal displays the file receiving page in response to the triggering operation on the cancel control, this situation indicates that the receiving terminal has canceled downloading the target file.
[0110] Here, the target file is a text file as an example for explanation. For example, as shown in Figure 7, the file download page displays file sending status information such as "the other party is sending a file", a status icon 71 corresponding to the file sending status information, and a cancel control 72, wherein the status icon 71 can be a dynamic icon. The cancel control on the file download page can be displayed in the form of a text mark such as "Cancel Download". When the subject clicks the cancel control, the receiving terminal cancels the download of the text file and displays the file receiving page as shown in Figure 4. Then, when the subject clicks the receive control 41 in the file receiving page, the receiving terminal can continue to download the text file in response to the trigger operation on the receive control.
[0111] Furthermore, when a click operation is performed on the receive control 41 on the file receiving page, the receiving terminal obtains the expiration status of the target file in response to the click operation on the receive control 41. The expiration status may indicate whether the target file has expired. If the expiration status indicates that the target file has not expired, the text file download continues. If the expiration status indicates that the target file has expired, the file expiration page is displayed. As shown in Figure 14, the file expiration page includes file expiration indication information such as "File Expired" and a target page return control 141.
[0112] Then, when a click operation is performed on the target page return control 141, the receiving terminal can display a file message display page in response to the click operation on the target page return control 141, wherein the file message display page can also include a first file status indicator, and the first file status indicator indicates that the target file transmission is terminated, as shown in the aforementioned Figure 6.
[0113] The first file status indicator can be displayed on the file display control. When the file display control in the file message display page is clicked, an expiration reminder page is displayed, as shown in Figure 15. The expiration reminder page may include expiration reminder information, such as "File Expired," and a confirmation control 151 corresponding to the expiration reminder information. When the confirmation control 151 is triggered, the receiving terminal can hide the expiration reminder page in response to the triggering operation on the confirmation control and display the file message display page shown in Figure 6.
[0114] The file download page shown in Figure 7 may also include a candidate return control 73. Before the receiving terminal cancels downloading the text file, when the subject clicks on the candidate return control 73, a file message display page is displayed. As shown in Figure 8, a third file status indicator 81 is displayed on the file message display page, indicating that the target file is being sent. The third file status indicator 81 can be displayed on the file display control 32. The third file status indicator 81 can be displayed as an icon, specifically a dynamic icon.
[0115] After the file receiving page is displayed, the receiving terminal can download the target file. Specifically, the receiving terminal can download the target file in the following manner:
[0116] S2021. In response to a trigger operation on a receiving control, in the process of the sending terminal sending the target file, initial file download information of the target file is obtained.
[0117] Regarding step S2021, it can be understood here that when the object triggers the receiving control, the receiving terminal displays the file download page of the target file on the display interface. At the same time, the receiving terminal can obtain the initial file download information of the target file to download the target file.
[0118] The initial file download information may refer to information used to download the target file. Specifically, the initial file download information may include but is not limited to at least one of a file block identifier of a file block in the target file, sequence information of the file block, file block download information of the file block in the target file, and reference download information associated with the file block download information.
[0119] A file block may refer to the file content used to compose a target file. When a sending terminal segments the target file, candidate file blocks may be obtained. The sending terminal may then send the candidate file blocks so that the receiving terminal can download the candidate file blocks as file blocks. File block download information may include, but is not limited to, at least one of transmission status information of the file block and sequence information of the file block. Reference download information may refer to information used in conjunction with the file block download information to download the file block. The reference download information may include, but is not limited to, at least one of reference transmission status information of the file block and reference sequence information of the file block.
[0120] For step S2021, the method of the step "obtaining initial file download information of the target file" can be: obtaining the file identifier of the target file; sending a file download request carrying the file identifier to the target server, so that the target server returns the initial file download information based on the file identifier; receiving the initial file download information of the target file.
[0121] The step of "obtaining the file identifier of the target file" may be performed by: obtaining a file message of the target file sent by the sending terminal; and extracting the file identifier of the target file from the file message.
[0122] Specifically, the step of "obtaining the file message of the target file sent by the sending terminal" can be: sending a message acquisition request to the message server, so that the message server returns the file message corresponding to the message acquisition request, and the file message is the message sent by the sending terminal to the message server; receiving the file message.
[0123] Among them, for the file message, it can be understood here that when the receiving terminal receives the file message, the file display control corresponding to the file message will be displayed in the displayed file message display page, specifically the file display control 32 shown in Figure 3.
[0124] The target server may include a cache server and a storage server. The cache server may be a server that temporarily stores data, such as a target file, for a preset period of time. The cache server may be a server corresponding to the geographical area where the receiving terminal is located. The storage server may be a server that can permanently store data.
[0125] The present application can cache the target file and related information of the target file in the cache server, and can also cache the target file and related information of the target file in the storage server. Based on this, the step of "sending a file download request carrying a file identifier to the target server so that the target server returns the initial file download information based on the file identifier" can be as follows: sending a file download request carrying a file identifier to the cache server so that the cache server queries the initial file download information corresponding to the file identifier; when the initial file download information returned by the cache server is not received, sending a file download request carrying a file identifier to the storage server so that the storage server returns the initial file download information based on the file identifier; and receiving the initial file download information returned by the storage server.
[0126] It is understandable here that the cache server corresponding to the geographical area where the receiving terminal is located may not have the initial file download information and the target file. Based on this, the receiving terminal requests the storage server for the initial file download information.
[0127] It can be understood here that the cache server can only store the interaction data between the receiving terminal and the sending terminal in the geographical area where the cache server is located, the interaction data such as the target file and the related information of the target file such as the initial file download information; the receiving terminal and the sending terminal located in the same geographical area can correspond to the same cache server, and the receiving terminal and the sending terminal located in different geographical areas can correspond to different cache servers, and different cache servers can store different interaction data.
[0128] When a cache server receives data exchanged between a receiving terminal and a sending terminal, it can send the data to a storage server for storage. Therefore, if a receiving terminal fails to obtain initial file download information from a cache server corresponding to its geographic area, it will request the initial file download information from the storage server.
[0129] S2022: Request the target server for the file block and the associated file download information corresponding to the file block according to the initial file download information, so that the target server returns the file block and the associated file download information.
[0130] The initial file download information includes file block download information and reference download information associated with the file block download information. Based on this, after obtaining the initial file download information, the present application can request the target server for the file blocks of the target file and the associated file download information corresponding to the file blocks. Specifically, for step S2022, the method of "requesting the target server for the file blocks of the target file and the associated file download information corresponding to the file blocks based on the initial file download information" can be: fusing the file block download information and the reference download information to obtain fused download information; and based on the fused download information, requesting the target server for the file blocks of the target file and the associated file download information corresponding to the file blocks.
[0131] The step of "fusing the file block download information and the reference download information to obtain fused download information" may be performed as follows: determining, in the sequence information included in the file block download information, target sequence information that is identical to the reference sequence information included in the reference download information; determining, in the transmission status information of the file block download information, target transmission status information corresponding to the target sequence information; fusing the target transmission status information with the reference transmission status information in the reference download information to obtain fused transmission status information; and generating fused download information based on the fused transmission status information.
[0132] The fused transmission status information may be used as the fused download information; or the fused download information may be used based on the fused status information and the target sequence information.
[0133] For example, the sending terminal can divide the target file into 256 candidate file blocks and then upload the candidate file blocks to the target server according to the sequence information of each candidate file block in the target file. When the candidate file block is successfully uploaded to the target server, the transmission status information corresponding to the candidate file block can be 1; when the file block is not successfully uploaded to the target server, the transmission status information corresponding to the candidate file block can be 0.
[0134] Accordingly, when a receiving terminal requests a file block from a candidate file block, the file block download information may include sequence information and transmission status information for each of the 256 file blocks. The reference download information may include reference sequence information and reference transmission status information for each of the 129th through 256th file blocks. Based on this, the present application can determine that the target sequence information in the file block download information that is identical to the reference sequence information in the reference download information is for blocks 129 through 256.
[0135] Accordingly, in the transmission status information of the file block download information, the target transmission status information corresponding to the target sequence information is the transmission status information of the 129th to 256th file blocks. Based on this, the candidate transmission status information of the 129th to 256th file blocks in the reference download information can be added to the transmission status information of the 129th to 256th file blocks in the file block download information to obtain the merged download information.
[0136] After the file block download information and the reference download information are merged to obtain the merged download information, the present application can request the file block and the associated file download information corresponding to the file block from the target server. Specifically, the method of "requesting the file block and the associated file download information corresponding to the file block from the target server based on the merged download information" can be: identifying the current transmission status of the file block corresponding to the merged download information in the merged download information; when the current transmission status is the uploaded status, requesting the file block corresponding to the associated file download information and the associated file download information corresponding to the file block from the target server.
[0137] The uploaded status may refer to a status that has been successfully uploaded to the target server.
[0138] When the fusion transmission status information in the fusion download information is 1, it can be determined that the current transmission status of the file block is uploaded; when the fusion transmission status information in the fusion download information is 0, it can be determined that the current transmission status of the file block is not uploaded.
[0139] S2023: Receive associated file download information and file blocks, and use the associated file download information as initial file download information.
[0140] The server may return at least one file block at a time; when the server returns multiple file blocks at a time, the receiving terminal may receive multiple file blocks in parallel.
[0141] S2024. Return to the step of requesting the target server for the file blocks and the associated file download information corresponding to the file blocks according to the initial file download information, until each associated file download information is the initial file download information, thereby obtaining multiple file blocks corresponding to the target file, and combining the multiple file blocks to obtain the target file.
[0142] In step S2024, the step of "combining multiple file blocks to obtain a target file" may be performed by splicing the file blocks based on sequence information of the file blocks to obtain the target file.
[0143] S203: When the sending terminal completes sending the target file, download progress information indicating that part of the target file has been downloaded is displayed on the file download page.
[0144] The download progress information indicates that part of the target file has been downloaded.
[0145] It can be understood here that since the sending terminal can receive file blocks while sending file blocks, based on this, when the sending terminal completes sending the target file, the download progress information displayed in the file download page indicates that part of the content of the target file has been downloaded.
[0146] Specifically, this description uses the example of a text file as the target file. When the sending terminal completes sending the text file, the receiving terminal has already downloaded a portion of the target file. As shown in FIG9 , the download progress information may include a progress bar 91 and corresponding progress indication information, such as "File Receiving." The progress bar may be a circular progress bar.
[0147] As shown in FIG9 , the file download page may also include a candidate page return control 92. When the subject can click on the candidate page return control 92, the receiving terminal can display a file message display page in response to the click on the candidate page return control 92. As shown in FIG10 , the file message display page may display a fourth file status indicator 101, indicating that the receiving terminal is downloading the target file. The fourth file status indicator 101 may be displayed on the file display control 32.
[0148] In an embodiment of the present application, after the download progress information of the target file is displayed on the file download page, the target file can continue to be downloaded when the receiving terminal suspends receiving the target file. Specifically, when the receiving terminal suspends receiving the target file, the receiving terminal can display a file suspension reception page, and the file suspension reception page includes a continue reception control; in response to the triggering operation of the continue reception control, the target file continues to be downloaded.
[0149] The receiving terminal may pause receiving the target file due to a network interruption or due to an object operation. When the receiving terminal pauses receiving the target file due to an object operation, the file download page may further include a pause control. Based on this, before the step of "displaying the file reception pause page", the receiving terminal may pause receiving the target file and display the file reception pause page in response to the triggering operation on the pause control.
[0150] After the receiving terminal displays the file abort reception page, the present application can display the file abort reception page. The file abort reception page includes not only a continue reception control but also a return control. Based on this, after the step of "displaying the file abort reception page," the receiving terminal can also return to display the file display page. Specifically, the receiving terminal can display a file message display page in response to a trigger operation on the return control; and display a second file status indicator on the file message display page, the second file status indicator indicating that the target file transmission has been aborted.
[0151] The display form of the return control in the file stop receiving page may include an icon or a text mark.
[0152] The file receiving abort page is described here using a text file as an example. For example, as shown in Figure 9 , the file download page may also include a pause control, with a progress bar 91 positioned above the pause control. In response to a triggering operation on the pause control, the receiving terminal pauses receiving the text file and displays the file receiving abort page. As shown in Figure 11 , the file receiving abort page may include a return control 111 and a continue receiving control 112.
[0153] Before the subject triggers the continue receiving control 112, if the subject can trigger the return control, the receiving terminal can display the file message display page in response to the triggering operation on the return control 111; as shown in Figure 12, the second file status indicator 121 is displayed on the file message display page. When the subject triggers the continue receiving control, the receiving terminal can continue downloading the text file in response to the triggering operation on the continue receiving control.
[0154] It should be noted that when a network interruption causes the receiving terminal to suspend receiving the target file, the receiving terminal may display the file reception suspension page as shown in FIG11 . In this case, when the return control 111 on the file reception suspension page is clicked, the receiving terminal may display a file message display page, as shown in FIG13 . The file message display page displays a second file status indicator and file reception status information such as "Reception Interrupted." The file reception status information may refer to information about the receiving terminal's reception status of the target file.
[0155] Furthermore, when the receiving terminal suspends receiving the target file due to a network interruption or a triggering operation on the pause control, the receiving terminal responds to a click operation on the continue receiving control 112 in the file suspension receiving page to obtain the candidate deadline status of the target file, wherein the candidate deadline status may refer to whether the target file is expired; when the candidate deadline status indicates that the target file has not expired, the text file continues to be downloaded; when the candidate deadline status indicates that the target file has expired, the file expiration page shown in Figure 14 is displayed.
[0156] Then, when the target page return control 141 is clicked, the receiving terminal can display a message display page as shown in FIG13 in response to the click operation on the target page return control 141, wherein the file message display page displays a second file status indicator that can be displayed on the file display control. When the file display control is clicked, an expiration prompt page as shown in FIG15 is displayed.
[0157] Furthermore, when the sending terminal completes sending of the target file and the receiving terminal has completely received the target file, the receiving terminal may display a file message display page, which may be as shown in FIG. 3 .
[0158] Regarding steps S201 to S203, the target file is a text file as an example for further explanation, as shown in FIG16 , specifically as shown in steps S1 to S17:
[0159] S1. When the sending terminal starts to send the target file, a file message display page corresponding to the target file is displayed.
[0160] Among them, the file message display page displays a file display control.
[0161] S2. In response to a triggering operation on a file display control in a file message display page, a file receiving page is displayed.
[0162] The file receiving page includes a receiving control for the target file.
[0163] S3. In response to a triggering operation on a receiving control in the file receiving page, determining whether the sending terminal has completed sending the target file.
[0164] When the sending terminal has not completed sending the target file, step S4 is executed; when the sending terminal has completed sending the target file, step S7 is executed.
[0165] S4. Display a file download page including file sending status information.
[0166] The file sending status information indicates that the sending terminal is sending the target file.
[0167] S5. Determine whether the sending terminal stops sending the target file.
[0168] When the sending terminal stops sending the target file and the stop time exceeds the preset time threshold, step S6 is executed; when the sending terminal does not stop sending the target file and the sending terminal completes sending the target file, step S7 is executed.
[0169] S6. Display a file reception termination page including transmission stop instruction information.
[0170] S7. Display download progress information of the target file on the file download page.
[0171] The download progress information indicates that part of the target file has been downloaded.
[0172] S8. Determine whether to suspend receiving the target file.
[0173] When the receiving of the target file is suspended, step S9 is executed; when the receiving of the target file is not suspended, the receiving of the target file is continued.
[0174] S9. Displaying a file receiving suspension page including a continue receiving control.
[0175] S10 : In response to a trigger operation on a continue receiving control, obtaining a candidate deadline status of a target file.
[0176] S11. Determine whether the candidate expiration status indicates that the target file has expired.
[0177] When the candidate deadline status indicates that the target file has not expired, step S12 is executed; when the candidate deadline status indicates that the target file has expired, step S17 is executed.
[0178] S12. Continue downloading the target file.
[0179] S13: Determine whether the receiving terminal actively stops receiving the target file.
[0180] When the receiving terminal responds to the triggering operation of the cancel control in the file download page, it is determined that the receiving terminal actively stops receiving the target file. In this case, step S14 is executed.
[0181] When the receiving terminal is in a network interruption state, it is determined that the receiving terminal passively stops receiving the target file. In this case, the process returns to step S5.
[0182] S14. Display the file receiving page.
[0183] S15. In response to a triggering operation on a receiving control on a file receiving page, obtaining the expiration status of the target file.
[0184] S16: Determine whether the expiration status indicates that the target file has expired.
[0185] When the expiration status indicates that the target file has expired, step S17 is executed; when the expiration status indicates that the target file has not expired, step S5 is returned to be executed.
[0186] S17. Display the file expiration page.
[0187] The present application can display a file receiving page, and display a receiving control for the target file on the file receiving page, where the target file is a file sent by the sending terminal to the receiving terminal; in response to a triggering operation on the receiving control, during the process of the sending terminal sending the target file, the content of the target file sent by the sending terminal starts to be downloaded, and a file download page for the target file is displayed, and file sending status information is displayed on the file download page, where the file sending status information indicates that the sending terminal is sending the target file; when the sending terminal completes sending the target file, download progress information indicating that part of the content of the target file has been downloaded is displayed on the file download page. Since the present application can respond to the triggering operation of the receiving control for the target file in the file receiving page, the receiving terminal can receive the target file, so that the receiving terminal can receive the target file in real time during the process of the sending terminal sending the target file, so as to improve the file transmission efficiency between the sending terminal and the receiving terminal, so that the receiving terminal can display the file sending status information on the file download page of the target file, so as to improve the user's experience of file transmission; in this way, when the sending terminal completes the sending of the target file, the receiving terminal can complete the downloading of part of the content of the target file, so as to improve the file transmission efficiency between the sending terminal and the receiving terminal, so that the receiving terminal can display the download progress information indicating that part of the content of the target file has been downloaded, so as to improve the user's experience and enthusiasm of file transmission.
[0188] The method described in the above embodiment will be further described in detail below with examples.
[0189] In this embodiment, the file transmission device is specifically integrated into an electronic device, and the electronic device serves as a sending terminal.
[0190] As shown in FIG. 17 , a file transmission method is shown in FIG. 17 . The specific process is as follows: Step S1701 to Step S1703 :
[0191] S1701: Display a file sending page, and display a target file and a sending control for the target file on the file sending page.
[0192] The file sending page includes a target file identifier and a send control for the target file. The send control may be a control for sending the target file. The target file identifier includes, but is not limited to, at least one of a file name or a file icon of the target file.
[0193] In step S1701, the method of "displaying the file sending page" can be: displaying the file transfer page, the file transfer page includes a file selection control; responding to a trigger operation on the file selection control; obtaining multiple candidate files; and displaying the file sending page in response to a selection operation on the candidate files.
[0194] It can be understood here that, in response to the selection operation on the candidate files, the sending terminal selects the target file from the candidate files and displays a file sending page.
[0195] S1702: In response to a trigger operation on a sending control, the target file is sent to the receiving terminal, so that the receiving terminal starts downloading the content of the target file sent by the sending terminal while the sending terminal is sending the target file.
[0196] For step S1702, the present application can set the trigger operation for the sending control as a time countdown. When the time countdown for the trigger control ends, the sending terminal responds to the trigger operation for the sending control and sends the target file to the receiving terminal, so that the receiving terminal starts downloading the content of the target file sent by the sending terminal during the process of the sending terminal sending the target file.
[0197] Alternatively, for step S1702, a candidate object such as a user may click on the send control, and in response, the sending terminal may send the target file to the receiving terminal in response to the trigger operation on the send control, so that the receiving terminal starts downloading the content of the target file sent by the sending terminal during the process of the sending terminal sending the target file.
[0198] In an embodiment of the present application, the sending terminal may directly send the target file to the receiving terminal, or, while the sending terminal is sending the target file to the target server, the receiving terminal may download the target file from the target server.
[0199] In the case where the receiving terminal downloads the target file from the target server while the sending terminal is sending the target file to the target server, in step S1702, the specific method of the step "sending the target file to the receiving terminal in response to the triggering operation on the sending control" can be as shown in steps S17021 to S17024:
[0200] S17021. In response to a trigger operation on a sending control, split the target file to obtain at least one candidate file block.
[0201] In step S17021, the step of "splitting the target file to obtain at least one candidate file block" may be performed by: obtaining preset splitting parameters; and splitting the target file based on the preset splitting parameters to obtain at least one candidate file block.
[0202] The preset splitting parameter may refer to a parameter used to split the target file into at least one candidate file block. The preset splitting parameter may include the size of the candidate file block to be split. For example, the preset splitting parameter may be set to 1MB. In this application, the target file may be split into candidate file blocks of 1MB in size.
[0203] S17022. Filter out at least one current file block from the candidate file blocks, and obtain associated file upload information corresponding to the current file block.
[0204] The current file block is a file block that has not been uploaded. Specifically, the current file block is a file block that has been uploaded to the target server.
[0205] After the target file is split into candidate file blocks, the current file block can be selected from the candidate file blocks to upload the current file block to the target server.
[0206] It can be understood here that after splitting the target file into candidate files, the candidate sequence information corresponding to each candidate file block can be obtained. Based on this, in step S17022, the step of "screening out at least one current file block from the candidate file blocks" can be: based on the candidate sequence information, at least one current file block is screened out from the candidate file blocks.
[0207] For example, at least one candidate file block may be sequentially selected as the current file block according to the candidate sequence information. For example, the third candidate file block and the fourth candidate file block may be selected as the current file block.
[0208] In step S17022, the method of the step "obtaining the associated file upload information corresponding to the current file block" can be: obtaining the preset file transfer information corresponding to the current file block, and detecting the upload status information of the uploaded target file block in the candidate file block; based on the upload status information, updating the preset file transfer information to obtain the associated file upload information corresponding to the current file block.
[0209] The preset file transmission information may refer to transmission information corresponding to a preset target file. Specifically, the preset file transmission information may include preset upload status information and candidate sequence information corresponding to each candidate file block in a preset number of candidate file blocks.
[0210] Among them, the method of the step "detecting the upload status information of the target file block that has been uploaded in the candidate file block" can be: obtaining the file block upload record; querying the file block sequence information of the target file block that has been uploaded in the candidate file block in the file block upload record; when the file block sequence information exists, extracting the upload status information corresponding to the file block sequence information in the file block upload record, and using the upload status information corresponding to the file block sequence information as the upload status information of the target file block.
[0211] Among them, the step of "updating the preset file transfer information based on the upload status information to obtain the associated file upload information corresponding to the current file block" can be: replacing the preset upload status information in the preset file transfer information with the upload status information to obtain the associated file upload information corresponding to the current file block.
[0212] Accordingly, since the upload status information may only replace part of the preset upload status information, for example, there are 10 candidate file blocks, among which the first 5 candidate file blocks with sequence information are uploaded target file blocks, then only these 5 target file blocks have upload status information. Correspondingly, only the upload status information of these 5 target file blocks can replace the preset upload status information corresponding to these 5 target file blocks. Based on this, the associated file upload information may include the associated upload information corresponding to the candidate file blocks, and the associated upload information may include the upload status information and the candidate sequence information, or include the upload status information, the preset status information and the candidate sequence information.
[0213] The step "obtaining the associated file upload information corresponding to the current file block" is explained here using an example. For example, the present application may use bit states 0 and 1 to represent the upload status information and the preset status information. When the target file has not been uploaded, the preset upload status information may be set to 0. When an uploaded target file block exists in the candidate file blocks, the preset upload information corresponding to the target file block may be replaced by the upload status information corresponding to the target file block. For example, the preset upload information 0 corresponding to the target file block may be replaced by the upload status information 1 corresponding to the target file block, so as to update the preset file transfer information and obtain the associated file upload information.
[0214] S17023. Send the current file block and the associated file upload information to the target server, so that the target server sends the current file block of the target file to the receiving terminal based on the associated file upload information.
[0215] Among them, after the sending terminal sends at least one current file block and associated file upload information to the target server, when the target server receives the current file block and associated file upload information, the target server can store the current file block and associated file upload information so that the receiving terminal can download it from the target server.
[0216] S17024. Return to the step of selecting at least one current file block from the candidate file blocks until each candidate file block is a current file block, so that the target server sends each current file block of the target file to the receiving terminal.
[0217] S1703: Display a file transfer page of the target file, where the file transfer page includes a sending progress indicator of the target file.
[0218] The file transfer page includes a target file sending progress indicator, which can indicate the progress of the target file being sent by the sending terminal.
[0219] The file transfer page may be a candidate instant messaging session page. The candidate instant messaging session page may be an instant messaging session page between a sending user in a sending terminal and a receiving user in a receiving terminal. The sending user and the receiving user may display the instant messaging session page through an instant messaging application.
[0220] The file transfer page may further include a transfer status control widget corresponding to a transfer progress indicator. Specifically, the transfer progress indicator may be displayed on the transfer status widget.
[0221] After the step of "displaying the file transfer page of the target file", the present application can also stop sending the target file to the receiving terminal. Specifically, when the sending terminal sends the target file, in response to the trigger operation of the transmission status control control, stop sending the target file to the receiving terminal; and replace the sending progress indicator with a stop indicator for stopping sending the target file.
[0222] Here, the target file is a text file as an example for explanation, wherein the file transfer page is a candidate instant messaging session page. Specifically, the file transfer page is an instant messaging session page between a sending user in a sending terminal and a receiving user in a receiving terminal.
[0223] As shown in Figure 18, when the sending terminal sends a text file, the file transfer page may include a transmission status control 181, a file name displayed on the transmission status control 181 such as "first quarter financial report data.key", and a sending progress indicator 182 displayed on the transmission status control 181.
[0224] When the object can click the transmission status control, the sending terminal can stop sending the text file to the receiving terminal in response to the stop operation of the transmission status control. At this time, as shown in Figure 19, the sending progress mark on the file transfer page is replaced with a stop mark 191 for stopping sending the text file.
[0225] In the present application, after stopping sending the target file to the receiving terminal, the target file may become invalid. In this case, the target file can be resent. Specifically, when the stop time of stopping sending the target file to the receiving terminal exceeds a preset time threshold, in response to a triggering operation on the transmission status control control, a resending page is displayed, and the resending page includes a resending control; in response to the triggering operation on the resending control, the target file is resent to the receiving terminal.
[0226] It is understood that when the target file is stopped from being sent to the receiving terminal for a period exceeding a preset time threshold, the target file may become invalid. In this case, if the sending terminal needs to send the target file, the sending terminal needs to resend the target file. The sending terminal can send the target file to the target server so that the target server can send the target file to the receiving terminal.
[0227] The resending page may be displayed in a pop-up window. When the resending page is a pop-up window, the resending page may be displayed on top of the file transfer page.
[0228] Here, the target file is a text file as an example. For example, when the stop time of stopping sending the target file to the receiving terminal exceeds the preset time threshold, in response to the trigger operation of the transmission status control control, a resend page is displayed. As shown in Figure 20, the resend page includes a resend control 201, a target cancel control 202 and resend indication information such as "The pause time is too long and the file needs to be resent."
[0229] When the candidate object clicks the resend control 201, the sending terminal resends the target file to the receiving terminal in response to the click operation on the resend control 201. At this time, as shown in Figure 24, the receiving terminal hides the resend page and displays the file transfer page. The stop mark 191 on the file transfer page is replaced with the termination mark 211, and the candidate transmission status control 241 is displayed. The termination mark 211 can indicate that the target file has terminated transmission. The file name such as "first quarter financial report data.key" and the candidate transmission progress mark 242 are displayed on the candidate transmission status control 241. Among them, the candidate transmission progress mark 242 indicates the progress of the sending terminal in sending the target file. Among them, the display form of the candidate transmission progress mark 242 can be the same as the display form of the transmission progress mark.
[0230] When the candidate object clicks the target cancel control 202, the sending terminal hides the resend page in response to the click operation on the target cancel control 202 and displays the file transfer page, as shown in Figure 21, and the stop mark 191 on the file transfer page is replaced with the termination mark 211.
[0231] After replacing the sending progress identifier with the stop identifier for stopping sending the target file, the present application may further replace the stop identifier with the sending progress identifier. Specifically, when the sending terminal stops sending the target file, in response to the triggering operation of the transmission status control control, the target file continues to be sent to the receiving terminal; and the stop identifier is replaced with the sending progress identifier.
[0232] For example, when the sending terminal stops sending the target file, the transfer status control on the file transfer page displays a stop icon. When the object can click the transfer status control, the sending terminal can respond to the stop operation on the transfer status control and continue to send the target file to the receiving terminal; at this time, the stop icon on the transfer status control is replaced by a sending progress icon.
[0233] After the target file transfer page is displayed, if the sending terminal loses network connectivity, the sending progress indicator is replaced with a candidate stop indicator on the file transfer page, and an interruption indication message is displayed. The candidate stop indicator instructs the sending terminal to stop sending the target file, and the interruption indication message indicates that the sending terminal has interrupted the sending of the target file.
[0234] When the sending terminal is disconnected from the network, as shown in Figure 22 , the file transfer page includes a candidate stop indicator 221 and an interruption indication such as "Sending interrupted." If the sending terminal interrupts the transmission of the target file for a period exceeding the target preset time threshold, in response to a triggering operation on the transmission status control 181, a candidate resend page, as shown in Figure 25 , is displayed. The candidate resend page includes a candidate resend control 251, a candidate cancel control 252, and an interruption indication such as "The interruption time is too long, the file needs to be resent." At this point, the sending terminal hides the candidate resend page and displays the file transfer page, as shown in Figure 24 .
[0235] When the candidate performs a click operation on the candidate resending control 251 in the candidate resending page, the sending terminal resends the target file to the receiving terminal in response to the click operation on the candidate resending control 251 .
[0236] When the candidate object clicks the candidate cancel control 252 , the sending terminal hides the new page in response to the click operation on the candidate cancel control 252 and displays the file transmission page shown in FIG. 21 .
[0237] After "displaying the file transfer page of the target file", when the target file stops being sent, the application status information of the instant messaging application used by the sending terminal to send the target file is detected, and it is determined whether the application status information indicates that the instant messaging application is closed; when the application status information indicates that the instant messaging application is closed, the instant messaging application is started and the file transfer page shown in Figure 22 is displayed. The file transfer page includes a candidate stop mark 221 and interruption indication information such as "sending interrupted".
[0238] When the interruption time of the sending terminal for interrupting the sending of the target file does not exceed the target preset time threshold, the sending terminal continues to send the target file in response to the triggering operation on the transmission status control component 181.
[0239] When the sending terminal interrupts sending the target file for a period exceeding the target preset time threshold, the processing method of the sending terminal can refer to the above description of Figures 20 and 21 and will not be repeated here.
[0240] After step S1703, when the sending terminal completes sending the target file, a file transfer page is displayed, and the sending progress indicator on the file transfer page is replaced with a completion indicator. As shown in FIG23 , the file transfer page includes a completion indicator 231 and the file name of the target file, such as "first quarter financial report data.key".
[0241] Regarding steps S1701 to S1703, the target file is a text file as an example for further explanation, as shown in FIG27 , specifically as shown in steps S2701 to S2718:
[0242] S2701. Display a file sending page including a file sending control.
[0243] S2702: In response to a trigger operation on a sending control, the target file is sent to the receiving terminal, so that the receiving terminal starts downloading the content of the target file sent by the sending terminal while the sending terminal is sending the target file.
[0244] S2703: Display a file transfer page including a sending progress indicator of the target file.
[0245] S2704: Determine whether the sending terminal actively stops sending the target file.
[0246] For step S2704, when the sending terminal sends the target file, when the sending terminal responds to the trigger operation of the transmission status control control and stops sending the target file to the receiving terminal, in this case, it can be determined that the sending terminal actively suspends sending the target file, and step S2705 is executed; when the sending terminal does not respond to the trigger operation of the transmission status control control and does not stop sending the target file to the receiving terminal, in this case, it can be determined that the sending terminal does not actively suspend sending the target file, and step S2709 is executed.
[0247] S2705. On the file transfer page, the sending progress indicator is replaced with a stop indicator for stopping sending the target file.
[0248] S2706: Determine whether the stop time of sending the target file to the receiving terminal exceeds a preset time threshold.
[0249] When the stop time exceeds a preset time threshold, such as 5 days, step S2707 is executed; when the stop time does not exceed the preset time threshold, step S2709 is executed.
[0250] S2707: In response to the triggering operation on the transmission status control control, display a resending page including a resending control.
[0251] S2708: In response to the triggering operation on the resending control, resend the target file to the receiving terminal.
[0252] S2709: Determine whether the sending terminal is disconnected from the network.
[0253] When the sending terminal is disconnected from the network, execute step S2710; when the sending terminal is not disconnected from the network, execute step S2714.
[0254] S2710. On the file transfer page, the sending progress indicator is replaced with a candidate stop indicator, and interruption indication information is displayed.
[0255] S2711: Determine whether the interruption time of the sending terminal interrupting the sending of the target file exceeds the target preset time threshold.
[0256] When the interruption time of the sending terminal interrupting the sending of the target file exceeds the target preset time threshold, step S2712 is executed; when the interruption time of the sending terminal interrupting the sending of the target file does not exceed the target preset time threshold, step S2714 is executed.
[0257] S2712: Displaying a page including candidate resending pages in response to a trigger operation on the transmission status control widget.
[0258] S2713: In response to the triggering operation on the candidate resending control, resend the target file to the receiving terminal.
[0259] S2714: Detect application status information of the sending terminal.
[0260] S2715: Determine whether the application status information indicates that the instant messaging application is closed.
[0261] When the application status information indicates that the instant messaging application is closed, step S2716 is executed; when the application status information does not indicate that the instant messaging application is closed, the target file continues to be sent.
[0262] S2716. When the instant messaging application is started, a file transfer page is displayed.
[0263] S2717: Determine whether the interruption time of the sending terminal interrupting the sending of the target file exceeds the target preset time threshold.
[0264] When the interruption time of the sending terminal interrupting the sending of the target file exceeds the target preset time threshold, the process returns to step S2707; when the interruption time of the receiving terminal interrupting the sending of the target file does not exceed the target preset time threshold, the process proceeds to step S2718.
[0265] S2718: In response to the triggering operation on the transmission status control component, continue to send the target file.
[0266] The embodiment of the present application can display a file sending page, which includes an identifier of the target file and a sending control for the target file; in response to a trigger operation on the sending control, the target file is sent to the receiving terminal, so that the receiving terminal starts downloading the content of the target file sent by the sending terminal while the sending terminal is sending the target file; and a file transfer page for the target file is displayed, which includes a sending progress identifier for the target file. Since the sending terminal of the embodiment of the present application can send the target file to the receiving terminal in response to a trigger operation on the sending control, so that the receiving terminal receives the target file when the sending terminal sends the target file, the file transfer efficiency between the sending terminal and the receiving terminal is improved. Then, the embodiment of the present application can also display a sending progress identifier for the target file on the file transfer page, so that the user can perceive the sending progress of the target file, thereby improving the user's file transfer experience.
[0267] The method described in the above embodiment will be further described in detail below with examples.
[0268] In this embodiment, the file transmission device is specifically integrated into an electronic device, and the electronic device serves as the target server.
[0269] As shown in FIG. 26 , a file transmission method is described, wherein the specific process is shown in steps S2601 to S2604:
[0270] S2601: Receive at least one current file block of a target file and associated file upload information of the current file block from a sending terminal.
[0271] The target file may include multiple candidate file blocks, and the current file block may refer to the file block currently being uploaded by the sending terminal among the multiple candidate file blocks. The sending terminal may upload multiple current file blocks in parallel at one time.
[0272] Among them, the specific information of the associated file upload can be found in the description of the previous application embodiment.
[0273] Prior to step S2601, the target server may receive a file upload request for the target file from the sending terminal; then, based on the file upload request, the target file identifier is returned to the sending terminal, enabling the sending terminal to send a file message including the file identifier to the receiving terminal. It should be understood that when the receiving terminal receives the file message, a file display control corresponding to the file message is displayed on the displayed file message display page.
[0274] It should be noted that when a sending terminal sends a file message including a file identifier to a receiving terminal, the sending terminal sends the file message to a message server, and then the receiving terminal can pull the file message from the message server. The message server may refer to a server that is at least used to receive and send file messages.
[0275] It is understood that after the sending terminal obtains the file identifier from the target server, the sending terminal may send the current file block of the target file to the target server and send the file message to the message server in parallel.
[0276] S2602: Based on the current file block and the associated file upload information, the preset file set is updated to obtain an updated file set.
[0277] It should be noted here that step S2601 and step S2602 are a continuously looping process. For example, after step S2602, the updated file set can be used as the preset file set, and the execution returns to execute at least one current file block of the target file sent by the receiving sending terminal and the associated file upload information of the current file block until the sending terminal stops sending the current file block and the associated file upload information to the target server, thereby obtaining the updated file set.
[0278] In the embodiment of the present application, the target server may include a cache server and a storage server. The explanation of the cache server and the storage server can be found in the explanation of the embodiment of the previous application, and will not be repeated here.
[0279] (1) For cache servers;
[0280] In the present application, a cache server may be used to receive at least one current file block of a target file and associated file upload information of the current file block sent by a sending terminal.
[0281] Then, for step S2602, the target server may adopt a cache server to update the preset file set based on the current file block and the associated file upload information to obtain an updated file set.
[0282] The preset file set includes a preset file block subset and a preset transmission information subset. The preset file block subset may refer to a set of file blocks used by the cache server to store the current file block sent by the sending terminal; the preset transmission information subset may refer to a set of associated file upload information sent by the sending terminal used by the cache server to store.
[0283] The specific method of the step "using a cache server to update the preset file set based on the current file block and the associated file upload information to obtain an updated file set" can be: using the cache server to update the preset file block subset based on the current file block to obtain an updated file block subset; using the cache server to update the preset transmission information subset based on the associated file upload information to obtain an updated transmission information subset; generating an updated file set based on the updated file block subset and the updated transmission information subset.
[0284] In this application, the current file block can be stored in a preset file block subset to obtain an updated file block subset. It should be noted that after the current file block is stored, it can be called a file block. Based on this, when the receiving terminal downloads the target file, the file block can be downloaded from the preset file block subset of the target server.
[0285] Among them, the associated file upload information can be stored in a preset transmission information subset to obtain an updated transmission information subset; specifically, the associated file upload information can be stored in a preset transmission information subset, and the associated file upload information can replace the historical associated file upload information in the preset transmission information subset to obtain an updated transmission information subset.
[0286] The historical associated file upload information may refer to associated file upload information within a historical period.
[0287] In this application, after a cache server is used to receive at least one current file block of a target file and associated file upload information of the current file block sent by a sending terminal, the cache server may be used to send the current file block and associated file upload information to a storage server.
[0288] (2) For storage servers;
[0289] When the storage server receives the current file block and associated file upload information sent by the cache server, the target server can use the cache server to send the current file block and associated file upload information to the storage server; the target server can use the storage server to receive the current file block and associated file upload information, and based on the current file block and associated file upload information, update the preset file data set to obtain an updated file data set.
[0290] The updated file data set includes a preset binding data subset and a preset upload information subset. The preset binding data subset may be a set for storing the current file block and the reference upload information of the current file block; the preset upload information subset may be a set for storing the associated file upload information.
[0291] The associated file upload information includes two types of information in the associated file upload information of the candidate file blocks, for example, (1) associated file upload information of the candidate file blocks that are strongly associated with the current file block; (2) associated file upload information of the candidate file blocks that are weakly associated with the current file block; and (3) associated file upload information of the current file block.
[0292] The reference upload information may include (1) associated upload information of candidate file blocks that are strongly associated with the current file block; and (2) associated upload information of the current file block. The specific explanation of the associated upload information can be found in the previous embodiment of the application, and will not be repeated here.
[0293] It is understood that when splitting the target file, the sending terminal can split the target file into multiple independent candidate file blocks of 1MB in size. Then, the sending terminal can divide the 128 candidate file blocks into a block. When the candidate file block and the current file block are in the same block, this situation can be said to be strongly correlated with the current file block. When the candidate file block and the current file block are not in the same block, for example, when the candidate file block and the current file block are in two adjacent blocks, this situation can be said to be weakly correlated with the current file block.
[0294] In this application, each block can use 16 bytes to represent the reference upload information corresponding to the block. The associated file upload information can include the reference upload information of the block where the current file block is located and the reference upload information of the adjacent blocks of the current file block, or only include the reference upload information of the block where the current file block is located.
[0295] When uploading the current file block, the sending terminal can send the current file block and its associated file upload information to the target server. However, if the associated file upload information occupies too many bytes, it will easily lead to data instability. Based on this, the application can set the associated file upload information to include reference upload information corresponding to up to three blocks.
[0296] For example, when the sending terminal uploads the 100th current file block, the associated file upload information carried by the 100th current file block includes 16 bytes of reference upload information corresponding to the first block; when the sending terminal uploads the 200th current file block, the associated file upload information carried by the 200th current file block includes (1) 16 bytes of reference upload information corresponding to the first block; and (2) 16 bytes of reference upload information corresponding to the second block.
[0297] When the sending terminal uploads the 300th current file block, the associated file upload information carried by the 300th current file block includes (1) 16 bytes of reference upload information corresponding to the first block; (2) 16 bytes of reference upload information corresponding to the second block; and (3) 16 bytes of reference upload information corresponding to the third block.
[0298] Similarly, when the sending terminal uploads the 800th current file block, the associated file upload information carried by the 800th current file block includes (1) 16 bytes of reference upload information corresponding to the fifth block; (2) 16 bytes of reference upload information corresponding to the sixth block; and (3) 16 bytes of reference upload information corresponding to the seventh block.
[0299] In an embodiment of the present application, after receiving the current file block and the associated file upload information, the storage server can update the preset file data set. Specifically, the step of "updating the preset file data set based on the current file block and the associated file upload information to obtain an updated file data set" can be as follows: the storage server is used to extract the reference upload information corresponding to the current file block from the associated file upload information, and the current file block and the reference upload information are bound to obtain file block binding data; the storage server is used to update the preset binding data subset based on the file block binding data to obtain an updated binding data subset; the storage server is used to update the preset upload information subset based on the associated file upload information to obtain an updated upload information subset; based on the updated upload information subset and the updated binding data subset, the updated file data set is determined.
[0300] Among them, a storage server can be used to store the file block binding data in a preset binding data subset, and replace the historical file block binding data in the preset data subset to update the preset binding data subset; a storage server can be used to store the associated file upload information in a preset upload information subset, and replace the historical associated file upload information in the preset upload information subset to update the preset upload information subset.
[0301] The historical file block binding data may refer to the file block binding data within a historical time.
[0302] The step of "using the storage server to update the preset upload information subset based on the associated file upload information to obtain an updated upload information subset" is described herein by way of example. For example, before updating the preset upload information subset, the target server may pre-establish a block index within the preset upload information subset, with each block index including index information corresponding to the current block. The index information may include preset reference upload information corresponding to the current block where the current file block is located, as well as preset reference upload information for the block immediately following the current block.
[0303] For example, the first block index includes the preset reference upload information of the first block and the preset reference upload information of the second block; the second block index includes the preset reference upload information of the second block and the preset reference upload information of the third block; the third block index includes the preset reference upload information of the third block and the preset reference upload information of the fourth block, and so on.
[0304] The preset reference upload information may include preset status information corresponding to the candidate file block and candidate sequence information corresponding to the candidate file block. The preset status information may be set to 0, indicating that the candidate file block has not yet been uploaded. It should be noted that during the first update, the preset status information is 0; in subsequent rounds of updates after the first update, the preset status information may not be 0.
[0305] Then, the process of updating the upload information subset can be, for example: for example, when uploading the 100th current file block, the first block index needs to be updated, and the first block index includes the preset status information of the first block and the preset status information of the second block; the present application can update the first block index based on the associated file upload information of the 100th current file block to obtain an updated first block index, wherein, in the index information of the updated first block index, the preset status information of the first block has been updated to obtain the updated status information. Under normal circumstances, the updated status information is 1; the preset status information of the second block is 0.
[0306] When uploading the 200th current file block, the updated first block index is used as the first block index, the updated status information is used as the preset status information, and the first and second block indexes are updated. When uploading the 200th current file block, the preset status information for the second block is updated. This ensures that the receiving terminal can download the first block before downloading the second block, and download the reference download information for the third block, allowing it to continue downloading the target file's blocks.
[0307] When uploading the 300th current file block, in this case, the updated first block index is used as the first block index, the updated second block index is used as the second block index, and the update status information is used as the preset status information. Then, the first block index, the second block index, and the third block index are updated. And so on.
[0308] S2603: When the target file download information sent by the receiving terminal is received, the file block corresponding to the target file download information and the associated file download information corresponding to the file block are screened out from the preset file set.
[0309] In step S2603, the method of the step of "filtering out the file blocks corresponding to the target file download information and the associated file download information corresponding to the file blocks in the preset file set" can be: extracting the sequence information of the file blocks to be downloaded in the target file download information; extracting the file blocks corresponding to the sequence information in the preset file block subset of the preset file set; and extracting the associated file download information corresponding to the sequence information in the preset transmission information subset of the preset file set.
[0310] The associated file download information may include reference download information of the block where the file block is located, reference download information of adjacent blocks of the block where the file block is located, or reference download information of the block where the file block is located.
[0311] It can be understood here that the reference download information may be the reference upload information corresponding to when the sending terminal uploads the current file block.
[0312] S2604: Return the file block and associated file download information to the receiving terminal, so that the receiving terminal can obtain the target file when the sending terminal sends the target file.
[0313] It should be noted here that step S2603 and step S2604 are a continuously cyclic process. After step S2604, the present application can generate target file download information based on the associated file download information, and return to the execution step. When the target file download information sent by the receiving terminal is received, the file block corresponding to the target file download information and the associated file download information corresponding to the file block are filtered out in the preset file collection until each associated file download information is the target file download information, so that the receiving terminal receives the target service and returns the file block corresponding to each target file download information.
[0314] The associated file download information can be used as the initial file download information, and then, based on the initial file download information, the target file download information can be generated. The present application can identify, in the initial file download information, the sequence information of the file blocks whose current transmission status is uploaded, and use the sequence information of the file blocks in the uploaded status as the target file download information; or, alternatively, use the initial file download information as the target file download information.
[0315] It should be noted here that, in the embodiment of the present application, the loop process of step S2601 and step S2602 and the loop process of step S2603 and step S2604 can be parallel processes.
[0316] Regarding step S2601 and step S2604, the following description is given by taking the example of the receiving terminal downloading the target file from the storage server.
[0317] As shown in Figure 28, the sending terminal can divide the target file into multiple candidate file blocks, and divide the candidate file blocks into n blocks, such as block 1, block 2, ..., and block n. Among them, the present application can treat 128 candidate file blocks as a block, each candidate file block has corresponding associated upload information, and the associated upload information of each candidate file block can be represented by a 1-bit state. Based on this, each block can have corresponding 128 bit states, such as 1 or 0. Since block n is the last block, block n includes 88 candidate file blocks, based on this, block n can correspond to 88 bit states. In this example, the associated upload information is represented by the bit state. It should be noted here that when the candidate file block has been uploaded, the corresponding bit state is 1, and when the candidate file block has not been uploaded, the corresponding bit state is 1.
[0318] As shown in Figure 28, for example, a sending terminal is currently sending the current file block x in upload block 3 to the target server's cache server, where x1 represents the bit status of the current file block. When the sending terminal sends current file block x, it also carries the associated file upload information corresponding to the current file block. For example, the associated file upload information includes the bit status of block 1, block 2, and block 3. The cache server then sends the current file block x, the bit status of block 1, block 2, and block 3 to the storage server.
[0319] After receiving the current file block x, the bit status of block 1, the bit status of block 2, and the bit status of block 3, the storage server can bind the current file block x of block 3 and the bit status of block 3 to obtain file block binding data, and update the preset binding data subset in the storage server to obtain an updated binding data subset. The storage server's preset upload information subset is updated with the bit status of block 1, the bit status of block 2, and the bit status of block 3 to obtain an updated upload information subset.
[0320] When the sending terminal stores the target file in the target server, the receiving terminal can request the target server to download the target file. When the receiving terminal cannot find the target file from the cache server of the target server, the receiving terminal can request the target file from the storage server.
[0321] For example, when the receiving terminal requests the first file block from the storage server, it may send a file download request carrying a file identifier to the storage server, so that the storage server returns initial file download information and the first file block based on the file identifier.
[0322] After requesting the first file block from the storage server, the receiving terminal may continue to request file blocks. For example, the receiving terminal may download file block y in the second block from the storage server.
[0323] The receiving terminal can send the target file download information of file block y to the storage server. After receiving the target file download information, the storage server can obtain the reference download information of file block y and file block y from the updated binding data subset based on the target file download information, such as the bit status of block 2, and the file block download information obtained from the preset upload information subset, such as the bit status of block 2 and the bit status of block 3. Then, the storage server can send the current file block x, the reference download information and the file block download information together to the receiving terminal.
[0324] After receiving the current file block x, the reference download information, and the file block download information, the receiving terminal may fuse the reference download information and the file block download information to obtain fused download information; then, based on the fused download information, target file download information may be generated; and then, the target file download information may be sent to the storage server to request the file block and associated file download information.
[0325] The fused download information may be used as the target file download information, or sequence information of file blocks whose current transmission status is uploaded may be identified in the fused download information, and the sequence information of file blocks in the uploaded status may be used as the target file download information.
[0326] The receiving terminal can also use the fused download information to update the local bit state of the receiving terminal to obtain the updated bit state. As shown in Figure 28, the local bit state can be set by the receiving terminal corresponding to the bit state of each block of the sending terminal.
[0327] In the embodiment of the present application, the target server can be used as a transfer station for the target file, so that the receiving terminal can download the target file while the sending terminal is uploading the target file, thereby improving the file transmission efficiency.
[0328] According to the method described in the above embodiment, a further detailed description is given here by taking the target server including a cache server as an example.
[0329] As shown in FIG. 29 , a file transmission method is described, wherein the specific process is shown in steps S2901 to S2917:
[0330] S2901: The sending terminal displays a file sending page including an identifier of a target file and a sending control for the target file.
[0331] Specifically, the sending terminal can display a file transfer page, which includes a file selection control; respond to a trigger operation on the file selection control; obtain multiple candidate files; and respond to the selection operation on the candidate file, display a file sending page including an identifier of the target file and a sending control for the target file.
[0332] S2902: The sending terminal sends a file upload request to the cache server in response to a trigger operation on the sending control.
[0333] Regarding step S2902, it can be understood here that the sending terminal sends a file upload request to the cache server in response to the trigger operation of the send control to send the target file to the cache server, so that the target file can be sent to the receiving terminal through the cache server, so that the receiving terminal receives the target file when the sending terminal sends the target file.
[0334] After step S2902, the sending terminal may further display a file transfer page of the target file, where the file transfer page includes a sending progress indicator of the target file.
[0335] Among them, after the step of "displaying the file transfer page of the target file", the present application can also stop sending the target file to the receiving terminal. Specifically, when the sending terminal sends the target file, in response to the trigger operation of the transmission status control control, stop sending the target file to the receiving terminal; and replace the sending progress indicator with a stop indicator for stopping sending the target file.
[0336] Among them, after the present application stops sending the target file to the receiving terminal, the target file may become invalid. In this case, the target file can be resent. Specifically, when the stop time of stopping sending the target file to the receiving terminal exceeds a preset time threshold, in response to the triggering operation of the transmission status control control, a resending page is displayed, and the resending page includes a resending control; in response to the triggering operation of the resending control, the target file is resent to the receiving terminal.
[0337] S2903: The cache server receives the file upload request and returns a file identifier to the sending terminal based on the file upload request.
[0338] S2904: The sending terminal receives the file identifier and generates a file message based on the file identifier.
[0339] S2905: The sending terminal sends a file message including a file identifier to the message server.
[0340] S2906. The message server receives and stores the file message.
[0341] S2907: The sending terminal splits the target file to obtain at least one candidate file block.
[0342] Specifically, the step of "splitting the target file to obtain at least one candidate file block" may be performed by: obtaining preset splitting parameters; and splitting the target file based on the preset splitting parameters to obtain at least one candidate file block.
[0343] S2908. The sending terminal selects at least one current file block from the candidate file blocks, and obtains the associated file upload information corresponding to the current file block.
[0344] Among them, the step of "obtaining the associated file upload information corresponding to the current file block" can be: obtaining the preset file transfer information corresponding to the current file block, and detecting the upload status information of the uploaded target file block in the candidate file block; based on the upload status information, updating the preset file transfer information to obtain the associated file upload information corresponding to the current file block.
[0345] S2909: The sending terminal sends the current file block and associated file upload information to the cache server.
[0346] S2910: The cache server receives the current file block and the associated file upload information, and updates the preset file set based on the current file block and the associated file upload information to obtain an updated file set.
[0347] In step S2910, the preset file set includes a preset file block subset and a preset transmission information subset; the cache server updates the preset file set based on the current file block and the associated file upload information, and the method for obtaining the updated file set can be: using the cache server to update the preset file block subset based on the current file block to obtain an updated file block subset; using the cache server to update the preset transmission information subset according to the associated file upload information to obtain an updated transmission information subset; generating an updated file set based on the updated file block subset and the updated transmission information subset.
[0348] S2911. The receiving terminal pulls the file message including the file identifier from the message server.
[0349] S2912: The receiving terminal displays a file message display page including a file display control corresponding to the file message.
[0350] S2913: The receiving terminal displays a file receiving page including a receiving control for the target file in response to the triggering operation on the file display control.
[0351] S2914: The receiving terminal displays a file download page for the target file in response to the triggering operation on the receiving control.
[0352] The file download page includes file sending status information, that is, the file download page displays the file sending status information, and the file sending status information indicates that the sending terminal is sending the target file.
[0353] In an embodiment of the present application, after displaying the file download page of the target file, the sending terminal may stop sending the target file. Accordingly, the receiving terminal will respond to this situation. Specifically, when the sending terminal stops sending the target file, the file termination reception page is displayed, and the file termination reception page includes a page return control and a stop transmission indication information of the target file; in response to the triggering operation of the page return control, the file message display page is displayed, and the first file status indication mark is displayed on the file message display page, and the first file status indication mark indicates that the transmission of the target file has been terminated.
[0354] In an embodiment of the present application, after displaying the file download page of the target file, you can cancel the download of the target file, and then continue to download the target file. For example, the file download page includes a cancel control. On this basis, the receiving terminal can display the file receiving page in response to the triggering operation of the cancel control; and continue to download the target file in response to the triggering operation of the receiving control on the file receiving page.
[0355] S2915: The receiving terminal sends target file download information to the cache server.
[0356] Specifically, the receiving terminal may send the target file download information to the cache server by: obtaining initial file download information of the target file and using the initial file download information as the target file download information; and sending the target file download information to the cache server.
[0357] Among them, the step of "obtaining initial file download information of the target file" can be: obtaining the file identifier of the target file; sending a file download request carrying the file identifier to the target server, so that the target server returns the initial file download information based on the file identifier; receiving the initial file download information of the target file.
[0358] Specifically, the step of "obtaining the file identifier of the target file" may be performed by: obtaining a file message of the target file sent by the sending terminal; and extracting the file identifier of the target file from the file message.
[0359] Specifically, the step of "sending a file download request carrying a file identifier to a target server so that the target server returns initial file download information based on the file identifier" can be as follows: sending a file download request carrying a file identifier to a cache server so that the cache server queries the initial file download information corresponding to the file identifier; when the initial file download information returned by the cache server is not received, sending a file download request carrying a file identifier to a storage server so that the storage server returns the initial file download information based on the file identifier; and receiving the initial file download information returned by the storage server.
[0360] S2916: The cache server selects the file block corresponding to the target file download information and the associated file download information corresponding to the file block from the preset file set.
[0361] S2917: The cache server returns the file block and associated file download information to the receiving terminal, so that the receiving terminal can obtain the target file when the sending terminal sends the target file.
[0362] Step S2905 and step S2907 can be performed in parallel. Step S2911 can be performed before or after any step after step S2905 and before step S2911. Step S2914 and step S2915 can be performed in parallel.
[0363] Steps S2901 to S2917 are further explained here.
[0364] As shown in Figure 30, the sending terminal displays a file sending page that includes the identifier of the target file and a send control for the target file. In response to a trigger operation on the send control, the sending terminal sends a file upload request to the cache server. The cache server then receives the file upload request and, based on the file upload request, returns a file identifier to the sending terminal. The sending terminal receives the file identifier and generates a file message based on the file identifier. The sending terminal then sends a file message including the file identifier to the message server. Upon receiving the file message, the message server can return a success message to the sending terminal.
[0365] The sending terminal can send the target file to the cache server. Specifically, the sending terminal can split the target file to obtain at least one candidate file block. Then, the sending terminal filters out at least one current file block from the candidate file blocks and obtains the associated file upload information corresponding to the current file block. For example, the sending terminal filters out at least one current file block from the candidate file blocks, where the current file block can be called a fragment. For example, the current file block can include fragment 1 and fragment 2 as shown in Figure 30. The sending terminal can also obtain the bit status of the uploaded fragment and use the bit status of the uploaded fragment as the associated file upload information corresponding to the current file block. The bit status can be recorded as bit in this application.
[0366] The sending terminal can send fragment 1 and the bits of the fragments uploaded before fragment 1, and fragment 2 and the bits of the fragments uploaded before fragment 2 to the cache server in parallel. When the cache server receives fragment 1 and the bits of the fragments uploaded before fragment 1, and fragment 2 and the bits of the fragments uploaded before fragment 2, and updates the preset file set, it can then return success information to the sending terminal respectively.
[0367] By analogy, the sending terminal can continuously send the fragments and the bits of the previously uploaded fragments to the cache server, causing the cache server to update the preset file set, until all fragments of the target file are sent to the cache server. When the sending terminal completes sending all fragments of the target file to the cache server, it sends a message indicating that the upload is complete. When the cache server receives the message indicating that the upload is complete, it returns a success message to the sending terminal.
[0368] Of course, when the network is interrupted, or the sending terminal stops sending the target file, the sending terminal may stop sending the target file.
[0369] When the sending terminal sends the fragment to the cache server, the receiving terminal can send a message acquisition request to the message server to request the file information of the target file. When the message server receives the message acquisition request, the message server returns the file information to the receiving terminal.
[0370] The receiving terminal can then generate a file download request based on the file identifier in the file message and, based on the file download request, request the cache server to download the first segment of the target file. The cache server can return the first segment and initial file download information corresponding to the first segment based on the file identifier. The initial file download information can include the bits of the segments uploaded by the sending terminal. After receiving the initial download information, the receiving terminal can update the local bit status based on the initial download information.
[0371] The receiving terminal can then use the initial file download information as the target file download information and continue to request fragments from the cache server, such as fragment 1 and fragment 2. Each time the cache server returns a fragment to the receiving terminal, it will carry the associated file download information corresponding to the fragment. The cache server can then use the associated file download information as the initial file download information, and use the initial file download information as the target file download information to continue requesting fragments from the cache server, and so on, until all fragments of the target file are downloaded.
[0372] Of course, when the network is interrupted, or the receiving terminal stops receiving the target file, or the sending terminal stops sending the target file, the receiving terminal may stop downloading the target file.
[0373] The present application can improve the efficiency of file transmission between the receiving terminal and the sending terminal. As shown in Figure 31, the present application can realize the parallel uploading and downloading of the target file; while in the existing related technologies, the uploading and downloading of the target file, as well as the transmission of file messages are serial. It can be seen that in the existing related technologies, the transmission of the target file takes a longer time.
[0374] This application supports downloading the target file during upload, which can effectively shorten the waiting time from when the user receives the target file to when he clicks to complete the download, while also ensuring the consistency of the message timing between the sending terminal and the receiving terminal.
[0375] The present application can display a file receiving page, and display a receiving control for the target file on the file receiving page, where the target file is a file sent by the sending terminal to the receiving terminal; in response to a triggering operation on the receiving control, during the process of the sending terminal sending the target file, the content of the target file sent by the sending terminal starts to be downloaded, and a file download page for the target file is displayed, and file sending status information is displayed on the file download page, where the file sending status information indicates that the sending terminal is sending the target file; when the sending terminal completes sending the target file, download progress information indicating that part of the content of the target file has been downloaded is displayed on the file download page. Since the present application can respond to the triggering operation of the receiving control for the target file in the file receiving page, the receiving terminal can receive the target file, so that the receiving terminal can receive the target file in real time during the process of the sending terminal sending the target file, so as to improve the file transmission efficiency between the sending terminal and the receiving terminal, so that the receiving terminal can display the file sending status information on the file download page of the target file, so as to improve the user's experience of file transmission; in this way, when the sending terminal completes the sending of the target file, the receiving terminal can complete the downloading of part of the content of the target file, so as to improve the file transmission efficiency between the sending terminal and the receiving terminal, so that the receiving terminal can display the download progress information indicating that part of the content of the target file has been downloaded, so as to improve the user's experience and enthusiasm of file transmission.
[0376] In order to better implement the above method, an embodiment of the present application also provides a file transmission device, which can be integrated into an electronic device, such as a receiving terminal, which can include a tablet computer, a laptop computer and / or a personal computer, etc.
[0377] For example, as shown in FIG32 , the file transmission apparatus may include a first display unit 3201 , a second display unit 3202 , a third display unit 3203 and a downloading unit 304 , as follows:
[0378] (1) a first display unit 3201;
[0379] The first display unit 3201 may be used to display a file receiving page, and display a receiving control for a target file on the file receiving page. The target file is a file sent from a sending terminal to a receiving terminal.
[0380] For example, the first display unit 3201 can also be used to display the file message display page corresponding to the target file when the sending terminal starts to send the target file, and display the file display control on the file message display page; in response to the trigger operation of the file display control, display the file receiving page.
[0381] (2) a second display unit 3202;
[0382] The second display unit 3202 can be used to respond to the trigger operation of the receiving control. During the process of the sending terminal sending the target file, the sending terminal starts downloading the content of the target file sent by the sending terminal, and displays the file download page of the target file. The file sending status information is displayed on the file download page. The file sending status information indicates that the sending terminal is sending the target file.
[0383] For example, the second display unit 3202 can also be used to display a file termination reception page when the sending terminal stops sending the target file. The file termination reception page includes a page return control and stop transmission indication information of the target file; in response to a trigger operation on the page return control, a file message display page is displayed, and a first file status indication mark is displayed on the file message display page. The first file status indication mark indicates that the transmission of the target file has been terminated.
[0384] For example, the file download page includes a cancel control; the second display unit 3202 can also be used to display the file receiving page in response to a trigger operation on the cancel control; and continue downloading the target file in response to a trigger operation on the receiving control on the file receiving page.
[0385] (3) a third display unit 3203;
[0386] The third display unit 3203 may be configured to display download progress information indicating that part of the target file has been downloaded on the file download page when the sending terminal completes sending the target file.
[0387] For example, the third display unit 3203 can be used to display a file suspension reception page when the receiving terminal pauses receiving the target file, and the file suspension reception page includes a continue receiving control; in response to a trigger operation on the continue receiving control, the target file continues to be downloaded.
[0388] (4) Download unit 304;
[0389] The downloading unit 304 may be configured to start downloading the content of the target file sent by the sending terminal in response to a triggering operation on the receiving control while the sending terminal is in the process of sending the target file.
[0390] The download unit 304 can be used to respond to a trigger operation on the receiving control and, during the process of the sending terminal sending the target file, obtain initial file download information of the target file; request the target server for the file blocks of the target file and the associated file download information corresponding to the file blocks based on the initial file download information, so that the target server returns the file blocks and the associated file download information; receive the associated file download information and the file blocks, and use the associated file download information as the initial file download information; return to the step of requesting the target server for the file blocks and the associated file download information corresponding to the file blocks based on the initial file download information, until each piece of associated file download information is the initial file download information, thereby obtaining multiple file blocks corresponding to the target file, and combining the multiple file blocks to obtain the target file.
[0391] For example, the download unit 304 can be specifically used to obtain the file identifier of the target file; send a file download request carrying the file identifier to the target server, so that the target server returns initial file download information based on the file identifier; and receive the initial file download information of the target file.
[0392] As can be seen from the above, the first display unit 3201 of the embodiment of the present application can be used to display a file receiving page, and display a receiving control for the target file on the file receiving page, where the target file is a file sent by the sending terminal to the receiving terminal; the second display unit 3202 can be used to respond to a trigger operation on the receiving control, and in the process of the sending terminal sending the target file, start downloading the content of the target file sent by the sending terminal, and display the file download page of the target file, and display the file sending status information on the file download page, where the file sending status information indicates that the sending terminal is sending the target file; the third display unit 3203 can be used to display download progress information indicating that part of the content of the target file has been downloaded on the file download page when the sending terminal completes the sending of the target file. Since the present application can respond to the triggering operation of the receiving control for the target file in the file receiving page, the receiving terminal can receive the target file, so that the receiving terminal can receive the target file in real time during the process of the sending terminal sending the target file, so as to improve the file transmission efficiency between the sending terminal and the receiving terminal. In this way, the receiving terminal can display the file sending status information on the file download page of the target file to improve the user's experience of file transmission; in this way, when the sending terminal completes the sending of the target file, the receiving terminal can complete the downloading of part of the content of the target file to improve the file transmission efficiency between the sending terminal and the receiving terminal. In this way, the receiving terminal can display the download progress information indicating that part of the content of the target file has been downloaded, so as to improve the user's experience and enthusiasm for file transmission.
[0393] In order to better implement the above method, an embodiment of the present application also provides a file transmission device, which can be integrated into an electronic device, such as a sending terminal, which can include a tablet computer, a laptop computer and / or a personal computer, etc.
[0394] For example, as shown in FIG33 , the file transmission apparatus may include a fourth display unit 3301 , a sending unit 3302 , and a fifth display unit 3303 , as follows:
[0395] (1) fourth display unit 3301;
[0396] The fourth display unit 3301 may be used to display a file sending page, and display an identifier of a target file and a sending control for the target file on the file sending page.
[0397] (2) sending unit 3302;
[0398] The sending unit 3302 may be configured to send the target file to the receiving terminal in response to a trigger operation on the sending control, so that the receiving terminal starts downloading the content of the target file sent by the sending terminal while the sending terminal is sending the target file.
[0399] For example, the sending unit 3302 can be used to split the target file in response to a trigger operation on the sending control to obtain at least one candidate file block; filter out at least one current file block from the candidate file blocks, and obtain associated file upload information corresponding to the current file block, where the current file block is a file block that has not been uploaded; send the current file block and the associated file upload information to the target server, so that the target server sends the current file block of the target file to the receiving terminal based on the associated file upload information; return to execute the step of filtering out at least one current file block from the candidate file blocks until each candidate file block is the current file block, so that the target server sends each current file block of the target file to the receiving terminal.
[0400] (3) fifth display unit 3303;
[0401] The fifth display unit 3303 may be configured to display a file transfer page of the target file, where the file transfer page includes a sending progress indicator of the target file.
[0402] For example, the fifth display unit 3303 can be used to stop sending the target file to the receiving terminal in response to a trigger operation on the transmission status control control when the sending terminal sends the target file; and replace the sending progress indicator with a stop indicator for stopping sending the target file.
[0403] For example, the fifth display unit 3303 can be used to continue sending the target file to the receiving terminal in response to a trigger operation on the transmission status control control when the sending terminal stops sending the target file; and replace the stop mark with a sending progress mark.
[0404] The fourth display unit 3301 of the embodiment of the present application can be used to display a file sending page, which includes an identifier of the target file and a sending control for the target file; the sending unit 3302 can be used to send the target file to the receiving terminal in response to a trigger operation on the sending control, so that the receiving terminal starts downloading the content of the target file sent by the sending terminal during the process of the sending terminal sending the target file; the fifth display unit 3303 can be used to display a file transfer page for the target file, which includes a sending progress identifier of the target file. Since the sending terminal of the embodiment of the present application can send the target file to the receiving terminal in response to a trigger operation on the sending control, so that the receiving terminal receives the target file when the sending terminal sends the target file, the file transfer efficiency between the sending terminal and the receiving terminal is improved. Then, the embodiment of the present application can also display a sending progress identifier of the target file in the file transfer page, so that the user can perceive the sending progress of the target file, thereby improving the user's file transfer experience.
[0405] In order to better implement the above method, an embodiment of the present application further provides a file transmission device, which can be integrated into an electronic device, such as a server.
[0406] For example, as shown in FIG34 , the file transmission apparatus may include a receiving unit 3401, an updating unit 3402, a screening unit 3403, and a returning unit 3404, as follows:
[0407] (1) receiving unit 3401;
[0408] The receiving unit 3401 may be configured to receive at least one current file block of a target file and associated file upload information of the current file block from a sending terminal.
[0409] (2) Update unit 3402;
[0410] The updating unit 3402 may be configured to update the preset file set based on the current file block and the associated file upload information to obtain an updated file set.
[0411] For example, the target server includes a cache server and a storage server; the update unit 3402 can be used to use the cache server to update the preset file set based on the current file block and associated file upload information to obtain an updated file set; use the cache server to send the current file block and associated file upload information to the storage server; use the storage server to receive the current file block and associated file upload information, and based on the current file block and associated file upload information, update the preset file data set to obtain an updated file data set.
[0412] (3) screening unit 3403;
[0413] The screening unit 3403 may be configured to, upon receiving the target file download information sent by the receiving terminal, screen out the file blocks corresponding to the target file download information and the associated file download information corresponding to the file blocks from the preset file set.
[0414] (4) Return unit 3404;
[0415] The returning unit 3404 may be configured to return the file block and associated file download information to the receiving terminal, so that the receiving terminal can obtain the target file when the sending terminal sends the target file.
[0416] The present application also provides an electronic device, as shown in FIG35 , which shows a schematic diagram of the structure of the electronic device involved in the embodiment of the present invention. Specifically:
[0417] The electronic device may include components such as a processor 3501 with one or more processing cores, a memory 3502 with one or more computer-readable storage media, a power supply 3503, and an input unit 3504. Those skilled in the art will appreciate that the electronic device structure shown in FIG35 does not limit the electronic device and may include more or fewer components than shown, or combine certain components, or arrange the components differently.
[0418] Processor 3501 is the control center of the electronic device. It connects all parts of the electronic device using various interfaces and circuits. It executes the various functions of the electronic device and processes data by running or executing software programs and / or modules stored in memory 3502 and accessing data stored in memory 3502. Optionally, processor 3501 may include one or more processing cores. Preferably, processor 3501 may integrate an application processor and a modem processor. The application processor primarily handles the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into processor 3501.
[0419] The memory 3502 can be used to store software programs and modules. The processor 3501 executes various functional applications and data processing by running the software programs and modules stored in the memory 3502. The memory 3502 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.); the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 3502 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage device. Accordingly, the memory 3502 may also include a memory controller to provide the processor 3501 with access to the memory 3502.
[0420] The electronic device also includes a power supply 3503 for supplying power to various components. Preferably, the power supply 3503 can be logically connected to the processor 3501 via a power management system, thereby enabling the power management system to manage charging, discharging, and power consumption. The power supply 3503 can also include one or more DC or AC power supplies, a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator, and other arbitrary components.
[0421] The electronic device may further include an input unit 3504, which may be used to receive input digital or character information and generate keyboard, mouse, joystick, optical or trackball signal input related to user settings and function control.
[0422] Although not shown, the electronic device may further include a display unit, etc., which will not be described in detail here. Specifically, in this embodiment, the processor 3501 in the electronic device will load the executable files corresponding to the processes of one or more application programs into the memory 3502 according to the following instructions, and the processor 3501 will run the application programs stored in the memory 3502 to implement various functions as follows:
[0423] A file receiving page is displayed, and a receiving control for a target file is displayed on the file receiving page. The target file is a file sent by a sending terminal to a receiving terminal. In response to a triggering operation on the receiving control, during the process of the sending terminal sending the target file, the content of the target file sent by the sending terminal is downloaded, and a file download page for the target file is displayed. File sending status information is displayed on the file download page. The file sending status information indicates that the sending terminal is sending the target file. When the sending terminal completes sending the target file, download progress information indicating that part of the content of the target file has been downloaded is displayed on the file download page.
[0424] The specific implementation of the above operations can be found in the previous embodiments and will not be repeated here.
[0425] Those skilled in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be accomplished by a computer program, or by controlling related hardware through a computer program. The computer program may be stored in a computer-readable storage medium and loaded and executed by a processor.
[0426] To this end, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. The computer program can be loaded by a processor to execute any file transfer method provided in the embodiment of the present application.
[0427] The specific implementation of the above operations can be found in the previous embodiments and will not be repeated here.
[0428] The computer-readable storage medium may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.
[0429] Since the instructions stored in the computer-readable storage medium can execute the steps in any file transfer method provided in the embodiments of the present application, the beneficial effects that can be achieved by any file transfer method provided in the embodiments of the present application can be achieved. Please refer to the previous embodiments for details and will not be repeated here.
[0430] According to one aspect of the present application, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the electronic device to perform the methods provided in the various optional implementations provided in the above embodiments.
[0431] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0432] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art could make various modifications and improvements without departing from the spirit of the present application, all of which fall within the scope of protection of the present application. Therefore, the scope of protection of the present patent application shall be determined by the appended claims.
Claims
1. A file transmission method, applied to a receiving terminal, comprising: Displaying a file receiving page, displaying a receiving control for a target file on the file receiving page, wherein the target file is a file sent by a sending terminal to the receiving terminal; In response to a trigger operation on the receiving control, during the process of the sending terminal sending the target file, start downloading the content of the target file sent by the sending terminal, display a file download page of the target file, and display file sending status information on the file download page, wherein the file sending status information indicates that the sending terminal is sending the target file; When the sending terminal completes sending the target file, download progress information indicating that part of the target file has been downloaded is displayed on the file download page.
2. The file transmission method according to claim 1, wherein the displaying the file receiving page comprises: When the sending terminal starts to send the target file, a file message display page corresponding to the target file is displayed, and a file display control is displayed on the file message display page; In response to a trigger operation on the file display control, the file receiving page is displayed.
3. The file transmission method according to claim 2, further comprising: When the sending terminal stops sending the target file, a file receiving termination page is displayed, wherein the file receiving termination page includes a page return control and stop transmission indication information of the target file; In response to a trigger operation on the page return control, the file message display page is displayed, and a first file status indicator is displayed on the file message display page, wherein the first file status indicator indicates that the transmission of the target file is terminated.
4. The file transfer method according to any one of claims 1 to 3, wherein the file download page includes a cancel control; the method further includes In response to a triggering operation on the cancel control, displaying the file receiving page; In response to a triggering operation on a receiving control of the file receiving page, the target file continues to be downloaded.
5. The file transmission method according to any one of claims 1 to 4, further comprising: When the receiving terminal suspends receiving the target file, a file receiving suspension page is displayed, wherein the file receiving suspension page includes a continue receiving control; In response to the triggering operation on the continue receiving control, the target file continues to be downloaded.
6. The file transmission method according to claim 5, wherein the file receiving suspension page comprises a return control; the method further comprises: In response to a trigger operation on the return control, displaying the file message display page; A second file status indication mark is displayed on the file message display page, and the second file status indication mark indicates that the transmission of the target file is terminated.
7. The file transmission method according to any one of claims 1 to 6, wherein during the process of the sending terminal sending the target file, starting to download the content of the target file sent by the sending terminal comprises: In the process of the sending terminal sending the target file, obtaining initial file download information of the target file; According to the initial file download information, requesting the target server for the file block of the target file and the associated file download information corresponding to the file block, so that the target server returns the file block and the associated file download information; receiving the associated file download information and the file block, and using the associated file download information as the initial file download information; Return to the step of requesting the target server for the file blocks of the target file and the associated file download information corresponding to the file blocks according to the initial file download information, until each associated file download information is the initial file download information, to obtain multiple file blocks corresponding to the target file, and combine the multiple file blocks to obtain the target file.
8. The file transmission method according to claim 7, wherein the step of obtaining the initial file download information of the target file comprises: Obtaining a file identifier of the target file; Sending a file download request carrying the file identifier to the target server, so that the target server returns the initial file download information based on the file identifier; Initial file download information of the target file is received.
9. The file transmission method according to claim 8, wherein the target server comprises a cache server and a storage server; and sending the file download request carrying the file identifier to the target server so that the target server returns the initial file download information based on the file identifier, comprising: Sending a file download request carrying the file identifier to the cache server, so that the cache server queries initial file download information corresponding to the file identifier; When the initial file download information returned by the cache server is not received, sending a file download request carrying the file identifier to the storage server, so that the storage server returns the initial file download information based on the file identifier; Receive initial file download information returned by the storage server.
10. The file transmission method according to any one of claims 7 to 9, wherein the initial file download information comprises file block download information and reference download information associated with the file block download information; and the requesting the target server for the file block of the target file and the associated file download information corresponding to the file block according to the initial file download information comprises: Merging the file block download information and the reference download information to obtain merged download information; Based on the fused download information, a request is made to the target server for the file blocks of the target file and the associated file download information corresponding to the file blocks.
11. The file transmission method according to claim 10, wherein the requesting the target server for the file block and the associated file download information corresponding to the file block based on the fused download information comprises: Identifying, in the fused download information, a current transmission status of a file block corresponding to the fused download information; When the current transmission state is the uploaded state, the target server is requested to obtain the file block corresponding to the associated file download information and the associated file download information corresponding to the file block.
12. A file transmission method, applied to a sending terminal, comprising: Displaying a file sending page, displaying an identifier of a target file and a sending control for the target file on the file sending page; In response to a trigger operation on the sending control, sending the target file to a receiving terminal, so that the receiving terminal starts downloading the content of the target file sent by the sending terminal during the process of the sending terminal sending the target file; A file transfer page of the target file is displayed, wherein the file transfer page includes a sending progress indicator of the target file.
13. The file transfer method according to claim 11, wherein the file transfer page further displays a transfer status control corresponding to the sending progress indicator; after the file transfer page of the target file is displayed, the method further comprises: When the sending terminal sends the target file, in response to a trigger operation on the transmission status control control, stop sending the target file to the receiving terminal; The sending progress mark is replaced by a stop mark for stopping sending the target file.
14. The file transmission method according to claim 13, after replacing the sending progress mark with a stop mark for stopping sending the target file, the method further comprises: When the sending terminal stops sending the target file, in response to a trigger operation on the transmission status control control, continue to send the target file to the receiving terminal; The stop mark is replaced by the sending progress mark.
15. The file transmission method according to claim 13 or 14, after stopping sending the target file to the receiving terminal, the method further comprises: When the stop time of stopping sending the target file to the receiving terminal exceeds a preset time threshold, in response to a trigger operation on the transmission status control control, displaying a resending page, the resending page including a resending control; In response to a trigger operation on the resending control, the target file is resent to the receiving terminal.
16. The file transmission method according to any one of claims 12 to 15, wherein in response to a trigger operation on the sending control, sending the target file to a receiving terminal comprises: In response to a trigger operation on the sending control, splitting the target file to obtain at least one candidate file block; Filtering out at least one current file block from the candidate file blocks, and acquiring associated file upload information corresponding to the current file block, wherein the current file block is a file block that has not been uploaded; Sending the current file block and the associated file upload information to a target server, so that the target server sends the current file block of the target file to the receiving terminal based on the associated file upload information; Return to the step of selecting at least one current file block from the candidate file blocks until each of the candidate file blocks is the current file block, so that the target server sends each current file block of the target file to the receiving terminal.
17. The file transmission method according to claim 16, wherein the step of obtaining the associated file upload information corresponding to the current file block comprises: Acquire preset file transmission information corresponding to the current file block, and detect upload status information of the uploaded target file blocks in the candidate file blocks; Based on the upload status information, the preset file transmission information is updated to obtain the file upload information corresponding to the current file block.
18. A file transmission method, applied to a target server, comprising: Receiving at least one current file block of a target file and associated file upload information of the current file block sent by a sending terminal; Based on the current file block and the associated file upload information, updating the preset file set to obtain an updated file set; When receiving the target file download information sent by the receiving terminal, filtering out the file block corresponding to the target file download information and the associated file download information corresponding to the file block from the preset file set; The file block and the associated file download information are returned to the receiving terminal, so that the receiving terminal obtains the target file when the sending terminal sends the target file.
19. According to the file transmission method of claim 18, the target server includes a cache server and a storage server; the updating of the preset file set based on the current file block and the associated file upload information to obtain the updated file set includes: Using the cache server to update the preset file set based on the current file block and the associated file upload information to obtain an updated file set; After the cache server is used to update the preset file set based on the current file block and the associated file upload information to obtain the updated file set, the method further includes: Using the cache server, sending the current file block and the associated file upload information to the storage server; The storage server is used to receive the current file block and the associated file upload information, and based on the current file block and the associated file upload information, a preset file data set is updated to obtain an updated file data set.
20. The file transmission method according to claim 19, wherein the updated file data set comprises a preset binding data subset and a preset upload information subset; and the updating of the preset file data set based on the current file block and the associated file upload information to obtain the updated file data set comprises: Using the storage server to extract reference upload information corresponding to the current file block from the associated file upload information, and binding the current file block and the reference upload information to obtain file block binding data; Using the storage server to update the preset binding data subset based on the file block binding data to obtain an updated binding data subset; Using the storage server to update the preset upload information subset based on the associated file upload information to obtain an updated upload information subset; The update file data set is determined based on the update upload information subset and the update binding data subset.
21. A file transmission device, comprising: A first display unit is used to display a file receiving page, and display a receiving control for a target file on the file receiving page, where the target file is a file sent by a sending terminal to the receiving terminal; A downloading unit, configured to, in response to a triggering operation on the receiving control, start downloading the content of the target file sent by the sending terminal during the process of the sending terminal sending the target file; A second display unit, configured to display a file download page of the target file in response to a trigger operation on the receiving control, and display file sending status information on the file download page, wherein the file sending status information indicates that the sending terminal is sending the target file; The third display unit is configured to display download progress information indicating that part of the target file has been downloaded on the file download page when the sending terminal completes sending the target file.
22. A file transmission device, comprising: A fourth display unit is used to display a file sending page, on which an identifier of a target file and a sending control for the target file are displayed; a sending unit, configured to send the target file to a receiving terminal in response to a trigger operation on the sending control, so that the receiving terminal starts downloading the content of the target file sent by the sending terminal during the process of the sending terminal sending the target file; A fifth display unit is used to display a file transfer page of the target file, wherein the file transfer page includes a sending progress indicator of the target file.
23. A file transmission device, comprising: A receiving unit, configured to receive at least one current file block of a target file and associated file upload information of the current file block sent by a sending terminal; An updating unit, configured to update a preset file set based on the current file block and the associated file upload information to obtain an updated file set; a screening unit, configured to, when receiving target file download information sent by a receiving terminal, screen out a file block corresponding to the target file download information and associated file download information corresponding to the file block from the preset file set; The returning unit is used to return the file block and the associated file download information to the receiving terminal, so that the receiving terminal can obtain the target file when the sending terminal sends the target file.
24. An electronic device comprising a processor and a memory, wherein the memory stores an application program, and the processor is used to run the application program in the memory to execute the steps in the file transmission method according to any one of claims 1 to 20.
25. A computer-readable storage medium storing a computer program, wherein the computer program is suitable for being loaded by a processor to execute the file transmission method according to any one of claims 1 to 20.
26. A computer program product, wherein the computer program product stores a computer program, wherein the computer program is suitable for being loaded by a processor to execute the file transmission method according to any one of claims 1 to 20.
Citation Information
Patent Citations
Display method and terminal equipment
CN110928842A
File transmission method and device and storage medium
CN112583923A
Page display method and device, electronic equipment and storage medium
CN115712478A
Method, electronic device and non-transitory computer-readable storage medium for connecting P2P network node
US20170180468A1