File transmission processing method and device, nonvolatile storage medium and electronic equipment

By assigning different file retrieval addresses to multiple terminals, parallel transmission between the server and terminals is achieved, solving the problem of high server performance and bandwidth requirements in video playback applications, and improving file transfer efficiency and server stability.

CN116055479BActive Publication Date: 2026-02-24BEIJING ULTRA HD VIDEO TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310119003.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-06
Publication Date
2026-02-24
Estimated Expiration
2043-02-06

AI Technical Summary

Technical Problem

In video playback applications, the server needs to distribute a large number of video files, which leads to high demands on server performance and bandwidth, causing network congestion, disk I/O blockage, and slow system response. Existing technologies have not been able to effectively solve these problems.

Method used

By obtaining the first number of concurrent file transfers supported by the server, the multiple terminals with transfer relationships with the server and their corresponding second number of transfers are determined, and a different file retrieval address is assigned to each terminal so that multiple terminals can transfer files in parallel, reducing dependence on the server.

Benefits of technology

It reduces the equipment requirements and data transmission pressure on the server, improves file transfer efficiency and server stability, reduces transmission resource consumption, and solves the problem of high transmission limitations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116055479B_ABST
    Figure CN116055479B_ABST
Patent Text Reader

Abstract

The application discloses a file transmission processing method and device, a nonvolatile storage medium and an electronic device. The method comprises the following steps: acquiring a first transmission quantity supported by a server for concurrent file transmission; determining a plurality of terminals having a transmission relationship with the server, and determining second transmission quantities corresponding to the plurality of terminals respectively, wherein the second transmission quantities corresponding to the plurality of terminals respectively are transmission quantities supported by the plurality of terminals respectively for concurrent file transmission; determining file acquisition addresses corresponding to the plurality of terminals respectively based on the first transmission quantity and the second transmission quantities corresponding to the plurality of terminals respectively; and respectively issuing the corresponding file acquisition addresses to the plurality of terminals, so that the plurality of terminals perform file transmission based on the corresponding file acquisition addresses. The application solves the technical problem in the prior art that the server uniformly issues files, the performance and bandwidth demand of the server are high, the file transmission efficiency is not ideal, and the transmission limitation is high.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data transmission technology, and more specifically, to a file transfer processing method, apparatus, non-volatile storage medium, and electronic device. Background Technology

[0002] In some video playback applications, numerous display devices need to play the same video file. These video files are typically large, and transmitting even a single file requires significant resources. These terminal playback devices all retrieve video files from the server simultaneously, placing high demands on server bandwidth and disk I / O (Input / Output) requirements. This can lead to network congestion, disk I / O blockage, and slow system response. Current technologies address this by increasing the number of services and server bandwidth, but this significantly increases server-side costs. Without expanding the server, the only solution is to limit the transmission rate, which in turn leads to a substantial increase in file transfer time.

[0003] There is currently no effective solution to the above problems. Summary of the Invention

[0004] This invention provides a file transfer processing method, apparatus, non-volatile storage medium, and electronic device to at least solve the technical problems in related technologies where files are uniformly distributed by a server, resulting in high demands on server performance and bandwidth, leading to unsatisfactory file transfer efficiency and high transmission limitations.

[0005] According to one aspect of the present invention, a file transfer processing method is provided, comprising: obtaining a first number of concurrent file transfers supported by a server; determining a plurality of terminals having a transfer relationship with the server, and determining a second number of transfers corresponding to each of the plurality of terminals, wherein the second number of transfers corresponding to each of the plurality of terminals is the number of concurrent file transfers supported by each of the plurality of terminals; determining a file acquisition address corresponding to each of the plurality of terminals based on the first number of transfers and the second number of transfers corresponding to each of the plurality of terminals; and sending the corresponding file acquisition address to each of the plurality of terminals, for the plurality of terminals to perform file transfers based on the corresponding file acquisition address.

[0006] According to another aspect of the present invention, a file transfer processing apparatus is provided, comprising: an acquisition module, configured to acquire a first number of concurrent file transfers supported by a server; a first determination module, configured to determine a plurality of terminals having a transfer relationship with the server, and to determine a second number of transfers corresponding to each of the plurality of terminals, wherein the second number of transfers corresponding to each of the plurality of terminals is the number of concurrent file transfers supported by each of the plurality of terminals; a second determination module, configured to determine a file acquisition address corresponding to each of the plurality of terminals based on the first number of transfers and the second number of transfers corresponding to each of the plurality of terminals; and a sending module, configured to send the corresponding file acquisition address to each of the plurality of terminals, for the plurality of terminals to perform file transfers based on the corresponding file acquisition address.

[0007] According to another aspect of the present invention, a non-volatile storage medium is provided, the non-volatile storage medium storing a plurality of instructions adapted to be loaded by a processor and executed by any one of the file transfer processing methods described herein.

[0008] According to another aspect of the present invention, an electronic device is provided, comprising: one or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement any of the file transfer processing methods described above.

[0009] In this embodiment of the invention, a method is adopted to alleviate server pressure by using terminal inter-transfer. This involves obtaining a first number of concurrent file transfers supported by the server; determining multiple terminals with transmission relationships to the server, and determining a second number of transfers corresponding to each of the multiple terminals, where the second number of transfers for each terminal represents the number of concurrent file transfers supported by each terminal; determining file retrieval addresses corresponding to each of the multiple terminals based on the first number of transfers and the second number of transfers for each terminal; and issuing the corresponding file retrieval addresses to each of the multiple terminals for file transfer. This achieves the goals of reducing server equipment requirements, reducing server data transmission pressure, and reducing transmission resource consumption. It also improves file transfer efficiency, enhances server stability, and reduces transmission limitations caused by server performance limitations. Furthermore, it solves the technical problems in related technologies where files are uniformly distributed by the server, resulting in high demands on server performance and bandwidth, leading to unsatisfactory file transfer efficiency and significant transmission limitations. Attached Figure Description

[0010] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:

[0011] Figure 1 This is a flowchart of an optional file transfer processing method provided by an embodiment of the present invention;

[0012] Figure 2 This is a flowchart of another optional file transfer processing method provided by an embodiment of the present invention;

[0013] Figure 3 This is a schematic diagram of an optional file transfer processing method provided according to an embodiment of the present invention;

[0014] Figure 4 This is a schematic diagram of an optional file transfer processing device provided according to an embodiment of the present invention. Detailed Implementation

[0015] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0016] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0017] According to an embodiment of the present invention, a method embodiment for file transfer processing is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0018] Figure 1 This is a flowchart of a file transfer processing method according to an embodiment of the present invention, such as... Figure 1 As shown, the method includes the following steps, with the server as the execution entity:

[0019] Step S102: Obtain the first number of concurrent file transfers supported by the server;

[0020] It is understandable that the server obtains the first number of concurrent file transfers it supports. This first number of transfers is sent in parallel and is limited by the server's performance, thus affecting the file transfer efficiency.

[0021] Optionally, the aforementioned server can be of various types, such as a remote cloud server, where the server communicates with multiple terminals via wired or wireless means, and the aforementioned file can be a video file.

[0022] In one optional embodiment, obtaining the first number of concurrent file transfers supported by the server includes: determining the server's first transmission bandwidth and first caching capacity, as well as a preset first transmission rate; and determining the first number of concurrent file transfers supported by the server based on the first transmission bandwidth, the first caching capacity, and the first transmission rate.

[0023] Understandably, to ensure that the file transfer rate for each file is not too low, it is necessary to determine the server's first transmission bandwidth, which represents the network transmission resources the server can utilize; the server's first caching capacity, which characterizes the server's own performance and data throughput; and the server's preset first transfer rate, which is used to avoid unsatisfactory file transfer rates due to the number of concurrent files. Based on the first transmission bandwidth, first caching capacity, and first transfer rate, the first number of concurrent file transfers supported by the server is determined.

[0024] Optionally, the aforementioned first caching capability can be of various types, such as the server's disk I / O performance.

[0025] Step S104: Determine multiple terminals that have a transmission relationship with the server, and determine the second transmission quantity corresponding to each of the multiple terminals, wherein the second transmission quantity corresponding to each of the multiple terminals is the number of concurrent file transfers supported by each of the multiple terminals.

[0026] It is understandable that multiple terminals request files from the server, and there is a transmission relationship between them and the server. In order to utilize the hardware performance and transmission resources of multiple terminals, it is necessary to determine the second number of concurrent file transfers that each terminal can support if mutual transfer processing is performed using multiple terminals.

[0027] Optionally, the aforementioned multiple terminals can be of various types, such as: multiple terminals being actual playback devices, or multiple virtual terminals.

[0028] It should be noted that, due to restrictions on data transfer between some devices, the aforementioned terminals are terminals that are allowed to communicate with each other and have access permissions to each other.

[0029] In one optional embodiment, determining the second transmission quantity corresponding to each of the plurality of terminals includes: determining the second transmission bandwidth and second buffering capacity corresponding to each of the plurality of terminals, and a preset second transmission rate; and determining the second transmission quantity corresponding to each of the plurality of terminals based on the second transmission bandwidth and second buffering capacity corresponding to each of the plurality of terminals, and the second transmission rate.

[0030] It is understandable that if multiple terminals are used for file transfer, to ensure that the transfer rate of each file is not too low, it is necessary to determine the second transmission bandwidth corresponding to each terminal, which represents the network transmission resources that each terminal can occupy; the second buffer capacity corresponding to each terminal, which characterizes the performance and data throughput of each terminal; and the preset second transmission rate for each terminal, in order to avoid unsatisfactory file transfer rates due to the number of concurrent files. Based on the second transmission bandwidth, second buffer capacity, and second transmission rate corresponding to each terminal, the second transmission quantity corresponding to each terminal is determined.

[0031] Optionally, there are various ways to set the second transmission rate, such as determining the second transmission rate without affecting other applications in the terminal.

[0032] Step S106: Based on the first transmission quantity and the second transmission quantity corresponding to each of the multiple terminals, determine the file acquisition address corresponding to each of the multiple terminals.

[0033] It is understood that the first transmission quantity is the number of concurrent transmissions supported by the server, and the second transmission quantity is the number of concurrent file transfers supported by multiple terminals. In related technologies, it is common to use a method where all files are distributed by the server, and the file retrieval addresses corresponding to multiple terminals are the same, all being the server's address. However, in this embodiment, in order to alleviate server pressure and improve transmission efficiency, multiple terminals may have different file retrieval addresses. Based on the first transmission quantity and the second transmission quantity corresponding to each of the multiple terminals, the file retrieval addresses corresponding to each of the multiple terminals are determined.

[0034] In an optional embodiment, determining the file retrieval addresses corresponding to the plurality of terminals based on the first transmission quantity and the second transmission quantity corresponding to each of the plurality of terminals includes: determining a predetermined arrangement order among the plurality of terminals; determining, according to the predetermined arrangement order, the first terminal with the first transmission quantity among the plurality of terminals, and the number of second terminals to be allocated among the plurality of terminals excluding the first terminals; determining the file retrieval addresses corresponding to the first terminals with the first transmission quantity based on the address of the server; determining the target terminals included in the first terminals with the first transmission quantity; and determining the file retrieval addresses corresponding to the second terminals to be allocated based on the address of the target terminals.

[0035] It is understandable that, due to the sequential nature of address allocation, a predetermined arrangement order is determined among multiple terminals. According to this predetermined order, a first number of terminals (the first in terms of transmission quantity) and a second number of terminals (excluding the first terminals) to be allocated are identified. These first terminals are those that the server can support for parallel delivery. Based on the server's address, the file retrieval addresses corresponding to the first number of terminals are determined. The second terminals require file transfers to be performed by some or all of the first number of terminals. The target terminals included in the first number of terminals are identified, and based on their addresses, the file retrieval addresses corresponding to the second number of terminals to be allocated are determined. That is, the second terminals do not directly retrieve files from the server but rather from the target terminals. Through this process, the first terminals assist the server in performing the delivery, alleviating server pressure and effectively improving transmission capacity.

[0036] In an optional embodiment, the determination of the target terminals included in the first terminals of the first transmission quantity includes: based on the second transmission quantity corresponding to the first terminals of the first transmission quantity, grouping the second terminals of the number of terminals to be allocated according to the predetermined arrangement order to obtain a sequential grouping result, wherein each group in the sequential grouping result corresponds to a first terminal according to the predetermined arrangement order, and the number of second terminals included in each group is not greater than the second transmission quantity corresponding to the corresponding first terminal; and determining the first terminal corresponding to each group as the target terminal.

[0037] It is understandable that, since the number of second terminals to be allocated is transmitted by one or more executable files from the number of first terminals in the first transmission quantity, in order to determine which first terminal provides transmission for which second terminal, it is necessary to group the second terminals to be allocated according to a predetermined order based on the second transmission quantity corresponding to each of the first terminals in the first transmission quantity, obtaining a sequential grouping result. Each group in the sequential grouping result corresponds to a first terminal according to a predetermined order. In other words, the second transmission quantity (e.g., 3) corresponding to each first terminal in the first transmission quantity (e.g., 5) can be regarded as the number of concurrent transmissions supported by each first terminal. The number of second terminals included in each group is no greater than the second transmission quantity corresponding to the corresponding first terminal. That is, each of the 5 first terminals can provide file transmission for 3 second terminals. The number of terminals to be allocated is 6. According to a predetermined order, the 6 second terminals are grouped into 2 groups of 3, obtaining a sequential grouping result. The first group of the 2 groups of second terminals corresponds to the first terminal in the first transmission quantity, and the second group of the 2 groups of second terminals corresponds to the second terminal in the first transmission quantity, determining the first terminal corresponding to each group as the target terminal.

[0038] To illustrate this, consider this example: Ten terminals require the same file. The server should ideally be able to transmit all ten files simultaneously. However, the server only transmits six files at a time. The file retrieval addresses for the first six terminals are set to the server's address, while the remaining four terminals are to be assigned files. Each of the first six terminals supports a second transmission of two files. Therefore, there are two target terminals among the first six, such as target terminal A and target terminal B. Each target terminal receives files from two terminals to be assigned. In other words, the file retrieval addresses for the first two terminals of the remaining four terminals are target terminal A, and the file retrieval addresses for the last two terminals are target terminal B.

[0039] Step S108: Send the corresponding file retrieval address to the aforementioned multiple terminals respectively, so that the aforementioned multiple terminals can transfer files based on the corresponding file retrieval address.

[0040] It is understandable that after the server determines the file retrieval address corresponding to each terminal, since the default file retrieval address is the server's address, the server needs to send the corresponding file retrieval address to multiple terminals respectively, so that multiple terminals can perform file transfer processing based on the corresponding file retrieval address.

[0041] Through the above steps S102 to S108, the equipment requirements for the server can be reduced, the data transmission pressure on the server can be reduced, and the transmission resource consumption can be reduced. This achieves the technical effects of improving file transmission efficiency, improving server stability, and reducing the transmission limitations caused by server performance. In turn, it solves the technical problem in related technologies where files are uniformly distributed by the server, which has high requirements for server performance and bandwidth, resulting in unsatisfactory file transmission efficiency and high transmission limitations.

[0042] Figure 2 This is a flowchart of a file transfer processing method according to an embodiment of the present invention, such as... Figure 2 As shown, the method includes the following steps, with the execution entities being a server and multiple terminals:

[0043] Step S202: The server obtains the first number of concurrent file transfers supported by the server.

[0044] It is understandable that the server obtains the first number of concurrent file transfers it supports. This first number of transfers is sent in parallel and is limited by the server's performance, thus affecting the file transfer efficiency.

[0045] In step S204, the server determines multiple terminals that have a transmission relationship with the server, and determines the second transmission quantity corresponding to each of the multiple terminals, wherein the second transmission quantity corresponding to each of the multiple terminals is the number of concurrent file transmissions supported by each of the multiple terminals.

[0046] It is understandable that multiple terminals request files from the server, and there is a transmission relationship between them and the server. In order to utilize the hardware performance and transmission resources of multiple terminals, the server needs to determine the second number of concurrent file transfers that each terminal can support if mutual transfer processing is performed with the help of multiple terminals.

[0047] Step S206: The server determines the file acquisition address corresponding to each of the multiple terminals based on the first transmission quantity and the second transmission quantity corresponding to each of the multiple terminals.

[0048] It can be understood that the first transmission quantity is the number of concurrent transmissions supported by the server, and the second transmission quantity is the number of concurrent file transfers supported by multiple terminals. Based on the first transmission quantity and the second transmission quantity corresponding to each of the multiple terminals, the server determines the file acquisition address corresponding to each of the multiple terminals.

[0049] In step S208, the server sends the corresponding file acquisition address to each of the multiple terminals.

[0050] It is understandable that after the server determines the file retrieval address corresponding to each terminal, since the default file retrieval address is the server's address, the server needs to send the corresponding file retrieval address to multiple terminals respectively, so that multiple terminals can perform file transfer processing based on the corresponding file retrieval address.

[0051] Optionally, the server may send the file name to be transmitted to multiple terminals along with the corresponding file acquisition address.

[0052] Optionally, the aforementioned terminals may parse and process the instructions issued by the server.

[0053] In step S210, the aforementioned multiple terminals transfer files based on their corresponding file retrieval addresses.

[0054] It is understandable that the aforementioned multiple terminals transfer files according to their respective file acquisition addresses to obtain the required files.

[0055] In one optional embodiment, the plurality of terminals perform file transfer based on corresponding file retrieval addresses, including: a first terminal among the plurality of terminals whose corresponding file retrieval address is the address of the server retrieves a predetermined file from the server; a second terminal among the plurality of terminals whose corresponding file retrieval address is the address of a target terminal included in the first terminal retrieves the predetermined file from the target terminal, wherein the predetermined file is obtained by the target terminal included in the first terminal from the server.

[0056] It can be understood that among multiple terminals, the first terminal whose file retrieval address is the server's address directly performs file transfer processing for the server, and the corresponding first terminal retrieves the predetermined file from the server. The second terminal among multiple terminals whose file retrieval address is the address of a target terminal included in the first terminal performs file transfer processing for the corresponding target terminal, and the corresponding second terminal retrieves the predetermined file from the target terminal. The predetermined file is obtained by the target terminal included in the first terminal from the server.

[0057] Optionally, when the target terminal receives a file acquisition request from the corresponding second terminal for acquiring the predetermined file, the target terminal determines whether the predetermined file has been downloaded from the server. If the target terminal determines that the predetermined file has not been downloaded from the server, the target terminal starts transmission to the second terminal that sent the file acquisition request after the predetermined file reaches a predetermined size, until the entire predetermined file is transmitted to the second terminal that sent the file acquisition request.

[0058] Optionally, the above-mentioned terminals can transfer files based on the corresponding file acquisition address in various ways, such as saving the files to the terminal's local storage while transferring them until the file transfer is complete.

[0059] Through the above steps S202 to S210, the equipment requirements for the server can be reduced, the data transmission pressure on the server can be reduced, and the transmission resource consumption can be reduced. This achieves the technical effects of improving file transmission efficiency, improving server stability, and reducing the transmission limitations caused by server performance. In turn, it solves the technical problem in related technologies where files are uniformly distributed by the server, which has high requirements for server performance and bandwidth, resulting in unsatisfactory file transmission efficiency and high transmission limitations.

[0060] Based on the above embodiments and optional embodiments, the present invention proposes an optional implementation method. Figure 3 This is a schematic diagram of an optional file transfer processing method provided by an embodiment of the present invention, such as... Figure 3 As shown, the application scenario involves a server distributing the same video file to multiple terminals. The following provides a detailed explanation of each step:

[0061] Step S1: The server receives a video file distribution instruction, which includes a list of required terminal devices, the video file name, and the video file path. This instruction informs the server of the terminal devices, video file name, and video file path to be distributed.

[0062] Step S2: Calculate the number of files that the server can transmit simultaneously (i.e. concurrently). Based on the server's bandwidth and disk I / O performance, and while ensuring the rate of each file transmission channel, estimate the maximum number of files that the server can transmit simultaneously, N1.

[0063] Step S3: Calculate the number of files that the terminal can transfer simultaneously (i.e. concurrently). Based on the terminal's bandwidth and disk I / O performance, determine the rate of each file transfer channel while ensuring that other applications on the terminal do not affect normal operation, and estimate the second number N2 of files that the terminal can transfer simultaneously at most.

[0064] Step S4: Determine the file retrieval address for each terminal. Based on the terminal device list obtained by the server in Step 1, determine the predetermined arrangement order among the terminals. According to the first transmission quantity N1 of files simultaneously transmitted by the server in Step 2, set the file retrieval addresses of the first N1 terminals in the terminal device list to the server's address. According to the second transmission quantity N2 of files simultaneously transmitted by each terminal in Step 3, according to the predetermined arrangement order, the file retrieval addresses of the N2 terminals following the first N1 terminals are set to the address of the first terminal among the first N1 terminals, the file retrieval addresses of the next N2 terminals are set to the address of the second terminal, and so on, until the file retrieval addresses are set for all terminal devices.

[0065] Step S5: The server issues a video file retrieval command. The server sends the corresponding file retrieval address and file name to each of the aforementioned terminals.

[0066] Step S6: The terminal requests to obtain a video file. The terminal receives and parses the video file retrieval instruction, and requests the file specified in the instruction from the corresponding file retrieval address.

[0067] Step S7: The server transfers the file. After receiving the request from the terminal, the server locates the corresponding file in its local storage and transfers the file to the requesting terminal.

[0068] Step S8: Terminal transfers files. After receiving a request from another terminal, the terminal locates the corresponding file in its local storage. If the file is currently being downloaded from the server, the transfer will begin only after the file reaches a certain size to ensure file integrity.

[0069] Step S9: The terminal saves the file. The terminal transfers the file from the target server or device, saving it to local storage as it is transferred, until the file transfer is complete.

[0070] The above optional implementation methods achieve at least the following effects: during the transmission of video files to multiple terminal devices, by leveraging the transmission capabilities of the terminal side, the number of servers is effectively reduced, disk I / O usage is reduced, server network bandwidth usage is reduced, the transmission efficiency of video files is improved, and server stability is ensured.

[0071] It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.

[0072] This embodiment also provides a file transfer processing apparatus for implementing the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the terms "module" and "apparatus" can refer to a combination of software and / or hardware that performs a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0073] According to embodiments of the present invention, an apparatus embodiment for implementing a file transfer processing method is also provided. Figure 4 This is a schematic diagram of a file transfer processing apparatus according to an embodiment of the present invention, such as... Figure 4 As shown, the above-mentioned file transfer processing device includes: an acquisition module 402, a first determination module 404, a second determination module 406, and a distribution module 408. The device will be described below.

[0074] Module 402 is used to obtain the first number of concurrent file transfers supported by the server;

[0075] The first determining module 404, connected to the obtaining module 402, is used to determine multiple terminals that have a transmission relationship with the server, and to determine the second transmission quantity corresponding to each of the multiple terminals, wherein the second transmission quantity corresponding to each of the multiple terminals is the number of concurrent file transmissions supported by each of the multiple terminals.

[0076] The second determining module 406, connected to the first determining module 404, is used to determine the file acquisition address corresponding to each of the multiple terminals based on the first transmission quantity and the second transmission quantity corresponding to each of the multiple terminals.

[0077] The sending module 408, connected to the second determining module 406, is used to send corresponding file acquisition addresses to the multiple terminals respectively, so that the multiple terminals can transfer files based on the corresponding file acquisition addresses.

[0078] In a file transfer processing apparatus provided in this embodiment of the invention, an acquisition module 402 is used to acquire a first number of concurrent file transfers supported by the server; a first determination module 404, connected to the acquisition module 402, is used to determine multiple terminals that have a transmission relationship with the server, and to determine a second number of transfers corresponding to each of the multiple terminals, wherein the second number of transfers corresponding to each of the multiple terminals is the number of concurrent file transfers supported by each of the multiple terminals; a second determination module 406, connected to the first determination module 404, is used to determine a file acquisition address corresponding to each of the multiple terminals based on the first number of transfers and the second number of transfers corresponding to each of the multiple terminals; and a sending module 408, connected to the second determination module 406, is used to send the corresponding file acquisition address to each of the multiple terminals, so that the multiple terminals can perform file transfers based on the corresponding file acquisition address. This achieves the goals of reducing server equipment requirements, reducing server data transmission pressure, and reducing transmission resource consumption. It also improves file transfer efficiency, enhances server stability, and reduces transmission limitations caused by server performance. In turn, it solves the technical problem in related technologies where files are uniformly distributed by the server, which has high requirements for server performance and bandwidth, resulting in unsatisfactory file transfer efficiency and high transmission limitations.

[0079] It should be noted that the above modules can be implemented by software or hardware. For example, for the latter, it can be implemented in the following ways: the above modules can be located in the same processor; or the above modules can be located in different processors in any combination.

[0080] It should be noted that the aforementioned acquisition module 402, first determination module 404, second determination module 406, and distribution module 408 correspond to steps S102 to S108 in the embodiments. The instances and application scenarios implemented by the above modules and corresponding steps are the same, but are not limited to the content disclosed in the above embodiments. It should be noted that the above modules, as part of the device, can run in a computer terminal.

[0081] It should be noted that the optional or preferred implementation methods of this embodiment can be found in the relevant descriptions in the embodiments, and will not be repeated here.

[0082] The aforementioned file transfer processing device may further include a processor and a memory. The acquisition module 402, the first determination module 404, the second determination module 406, the sending module 408, etc., are all stored in the memory as program units, and the processor executes the aforementioned program units stored in the memory to realize the corresponding functions.

[0083] The processor contains a core that retrieves the corresponding program unit from memory. One or more cores may be configured. Memory may include non-persistent memory in computer-readable media, random access memory (RAM), and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory includes at least one memory chip.

[0084] This invention provides a non-volatile storage medium storing a program that, when executed by a processor, implements a file transfer processing method.

[0085] This invention provides an electronic device including a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, it performs the following steps: obtaining a first number of concurrent file transfers supported by the server; determining multiple terminals with which the server has a transfer relationship, and determining a second number of transfers corresponding to each of the multiple terminals, wherein the second number of transfers corresponding to each of the multiple terminals is the number of concurrent file transfers supported by each of the multiple terminals; determining file retrieval addresses corresponding to each of the multiple terminals based on the first number of transfers and the second number of transfers corresponding to each of the multiple terminals; and sending the corresponding file retrieval addresses to each of the multiple terminals for file transfer based on the corresponding file retrieval addresses. The device in this document can be a server, a PC, etc.

[0086] The present invention also provides a computer program product, which, when executed on a data processing device, is suitable for executing an initialization program having the following method steps: obtaining a first number of concurrent file transfers supported by the server; determining multiple terminals with which the server has a transfer relationship, and determining a second number of transfers corresponding to each of the multiple terminals, wherein the second number of transfers corresponding to each of the multiple terminals is the number of concurrent file transfers supported by each of the multiple terminals; determining a file retrieval address corresponding to each of the multiple terminals based on the first number of transfers and the second number of transfers corresponding to each of the multiple terminals; and sending the corresponding file retrieval address to each of the multiple terminals for the multiple terminals to perform file transfers based on the corresponding file retrieval address.

[0087] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0088] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0089] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0090] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0091] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0092] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0093] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0094] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0095] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0096] The above are merely embodiments of the present invention and are not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of the present invention should be included within the scope of the claims of the present invention.

Claims

1. A file transfer processing method, characterized in that, include: Get the first number of concurrent file transfers supported by the server; The system identifies multiple terminals that have a transmission relationship with the server, and determines a second transmission quantity corresponding to each of the multiple terminals, wherein the second transmission quantity corresponding to each of the multiple terminals is the number of concurrent file transfers supported by each of the multiple terminals. Based on the first transmission quantity and the second transmission quantity corresponding to each of the plurality of terminals, the file acquisition address corresponding to each of the plurality of terminals is determined; The system sends corresponding file retrieval addresses to the multiple terminals respectively, so that the multiple terminals can transfer files based on the corresponding file retrieval addresses. The step of determining the file retrieval addresses corresponding to the plurality of terminals based on the first transmission quantity and the second transmission quantity corresponding to the plurality of terminals includes: determining a predetermined arrangement order among the plurality of terminals; determining, according to the predetermined arrangement order, a first terminal with the first transmission quantity among the plurality of terminals, and a number of second terminals among the plurality of terminals excluding the first terminal; determining the file retrieval addresses corresponding to the first terminals with the first transmission quantity based on the address of the server; determining the target terminals included in the first terminals with the first transmission quantity; and determining the file retrieval addresses corresponding to the second terminals of the number of terminals to be allocated based on the address of the target terminals.

2. The method according to claim 1, characterized in that, The first number of concurrent file transfers supported by the server includes: Determine the server's first transmission bandwidth and first caching capacity, as well as the preset first transmission rate; Based on the first transmission bandwidth, the first caching capacity, and the first transmission rate, the first number of concurrent file transfers supported by the server is determined.

3. The method according to claim 1, characterized in that, Determining the second transmission quantity corresponding to each of the plurality of terminals includes: Determine the second transmission bandwidth and second buffer capacity corresponding to the plurality of terminals respectively, as well as the preset second transmission rate; Based on the second transmission bandwidth and second buffer capacity corresponding to the plurality of terminals respectively, and the second transmission rate, the second transmission quantity corresponding to the plurality of terminals is determined.

4. The method according to claim 1, characterized in that, The target terminals included in the first terminal that determines the first transmission quantity include: Based on the second transmission quantity corresponding to the first terminal with the first transmission quantity, the second terminals with the number of terminals to be allocated are grouped according to the predetermined arrangement order to obtain a sequential grouping result. Each group in the sequential grouping result corresponds to the first terminal according to the predetermined arrangement order, and the number of second terminals included in each group is not greater than the second transmission quantity corresponding to the first terminal. The first terminal corresponding to each group is determined as the target terminal.

5. A file transfer processing method, characterized in that, include: The server obtains the first number of concurrent file transfers supported by the server; The server determines multiple terminals that have a transmission relationship with the server, and determines a second transmission quantity corresponding to each of the multiple terminals, wherein the second transmission quantity corresponding to each of the multiple terminals is the number of concurrent file transmissions supported by each of the multiple terminals. The server determines the file acquisition address corresponding to each of the multiple terminals based on the first transmission quantity and the second transmission quantity corresponding to each of the multiple terminals. The server sends the corresponding file acquisition address to each of the multiple terminals; The multiple terminals transfer files based on corresponding file retrieval addresses; The server determines the file retrieval addresses corresponding to the plurality of terminals based on the first transmission quantity and the second transmission quantity corresponding to each of the plurality of terminals, including: determining a predetermined arrangement order among the plurality of terminals; determining, according to the predetermined arrangement order, a first terminal among the plurality of terminals with the first transmission quantity, and a number of second terminals among the plurality of terminals excluding the first terminal; determining the file retrieval addresses corresponding to the first terminals with the first transmission quantity based on the server's address; determining the target terminals included in the first terminals with the first transmission quantity; and determining the file retrieval addresses corresponding to the second terminals of the number of terminals to be allocated based on the addresses of the target terminals.

6. The method according to claim 5, characterized in that, The multiple terminals perform file transfers based on corresponding file retrieval addresses, including: The first terminal among the plurality of terminals whose file retrieval address is the address of the server retrieves the predetermined file from the server; The second terminal, whose file acquisition address is the address of the target terminal included in the first terminal, obtains the predetermined file from the target terminal, wherein the predetermined file is obtained by the target terminal included in the first terminal from the server.

7. A file transfer processing device, characterized in that, include: The acquisition module is used to obtain the first number of concurrent file transfers supported by the server; The first determining module is used to determine multiple terminals that have a transmission relationship with the server, and to determine the second transmission quantity corresponding to each of the multiple terminals, wherein the second transmission quantity corresponding to each of the multiple terminals is the number of transmissions that each of the multiple terminals supports for concurrent file transmission. The second determining module is used to determine the file acquisition address corresponding to each of the plurality of terminals based on the first transmission quantity and the second transmission quantity corresponding to each of the plurality of terminals. The distribution module is used to distribute corresponding file retrieval addresses to the multiple terminals respectively, so that the multiple terminals can perform file transfer based on the corresponding file retrieval addresses; The second determining module is further configured to: determine a predetermined arrangement order among the plurality of terminals; determine, according to the predetermined arrangement order, the first terminal in the plurality of terminals with the first number of transmissions, and the second terminal in the plurality of terminals excluding the first terminal; determine, based on the address of the server, the file retrieval addresses corresponding to the first terminal in the first number of transmissions; determine the target terminals included in the first terminal in the first number of transmissions; and determine, based on the address of the target terminal, the file retrieval addresses corresponding to the second terminal in the number of terminals to be allocated.

8. A non-volatile storage medium, characterized in that, The non-volatile storage medium stores multiple instructions, which are adapted to be loaded by a processor and executed by the file transfer processing method according to any one of claims 1 to 6.

9. An electronic device, characterized in that, include: One or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement the file transfer processing method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Data transmission between a terminal and an associated server

    CN110741660A

  • File distributing system and method

    JP2019032680A