File downloading method and device, equipment, storage medium and computer program product

By using the bitstream download technology, the bitstream seed cluster and content distribution network accelerate the node cluster to download file data simultaneously, the problem of download speed being affected by seed health and peer connection quality is solved, and faster and more stable download speed is achieved, improving the user experience.

CN119892823APending Publication Date: 2025-04-25BEIJING QIHOOD TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510045939.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-10
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

Existing bitstream download technology In some cases, the download speed may be affected by seed health and peer connection quality, and there are defects such as slow download speed and failed download.

Method used

The first data block is downloaded through the bitstream seed cluster, and the second data block is downloaded through the content distribution network acceleration node cluster, the first data block and the second data block are assembled to obtain the downloaded file.

Benefits of technology

Take advantage of the acceleration advantages of content distribution network nodes to improve download speed and stability and improve user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119892823A_ABST
    Figure CN119892823A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of computers, and discloses a file downloading method, device and equipment, a storage medium and a computer program product.The method comprises the steps that in response to a file downloading request, to-be-downloaded data corresponding to a to-be-downloaded file is divided into a first data block and a second data block, the first data block is downloaded through a bit stream seed cluster, and the second data block is downloaded through a bit stream seed cluster; a second data block is downloaded through the content distribution network acceleration node cluster, and the first data block and the second data block are assembled to obtain a downloaded file; the file data is downloaded through the bit stream seed cluster and the content distribution network acceleration node cluster at the same time, so that the downloading speed and stability can be improved by utilizing the acceleration advantage of the content distribution network nodes, and the user experience can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a file downloading method, device, equipment, storage medium and computer program product. Background Art

[0002] BitTorrent is a protocol and technology for large-scale file sharing, which allows users to share files in a distributed manner, thereby reducing the burden on the server and increasing the download speed. However, in some cases, the download speed of existing BitTorrent download technology may be affected by the health of the seed and the quality of the peer node connection, resulting in slow download speed and download failure. Summary of the invention

[0003] The main purpose of the present application is to provide a file downloading method, apparatus, device, storage medium and computer program product, aiming to solve the technical problem that in some cases, the download speed of the existing bitstream downloading technology may be affected by the health of the seed and the quality of the connection with the peer node, resulting in the defects of slow download speed and download failure.

[0004] To achieve the above object, the present application provides a file downloading method, the file downloading method comprising:

[0005] In response to a file download request, dividing the to-be-downloaded data corresponding to the to-be-downloaded file into a first data block and a second data block;

[0006] Downloading the first data block through a bitstream seed cluster, and downloading the second data block through a content distribution network acceleration node cluster;

[0007] The first data block and the second data block are assembled to obtain a download completion file.

[0008] Optionally, downloading the first data block through a bitstream seed cluster, and downloading the second data block through a content distribution network acceleration node cluster, includes:

[0009] Selecting a peer node from a bitstream seed cluster, and downloading the first data block through the peer node;

[0010] A content distribution network node is selected from the content distribution network acceleration node cluster, and the second data block is downloaded through the content distribution network node.

[0011] Optionally, selecting a content distribution network node from a content distribution network acceleration node cluster and downloading the second data block through the content distribution network node includes:

[0012] Create an independent thread;

[0013] A content distribution network node is selected from a content distribution network acceleration node cluster through the independent thread, and the second data block is downloaded through the content distribution network node.

[0014] Optionally, selecting a content distribution network node from a content distribution network acceleration node cluster through the independent thread includes:

[0015] Requesting the content distribution network service for the content distribution network node information corresponding to the file to be downloaded through the independent thread;

[0016] A content distribution network node is selected from a content distribution network acceleration node cluster based on the content distribution network node information.

[0017] Optionally, selecting a content distribution network node from a content distribution network acceleration node cluster based on the content distribution network node information includes:

[0018] Parsing the content distribution network node information to obtain node address information and node availability;

[0019] A content delivery network node is selected from a content delivery network acceleration node cluster according to the node address information and the node availability.

[0020] Optionally, selecting a peer node from a bitstream seed cluster and downloading the first data block through the peer node includes:

[0021] Matching the data to be downloaded with the download data of the nodes in the bitstream seed cluster;

[0022] A peer node is selected from the bitstream seed cluster according to the matching result, and the first data block is downloaded through the peer node.

[0023] Optionally, assembling the first data block and the second data block to obtain the download completion file includes:

[0024] Filling the first data block and the second data block into the file to be downloaded to obtain filled data blocks;

[0025] The filled data blocks are assembled in a preset order to obtain a download completion file.

[0026] Optionally, assembling the filled data blocks in a preset order to obtain a downloaded file includes:

[0027] Verifying the filled data block to obtain a verified data block;

[0028] The verified data blocks are assembled according to a preset order to obtain a download completion file.

[0029] Optionally, verifying the filled data block to obtain a verified data block includes:

[0030] Compare the hash value of the filled data block with the hash value of the seed file corresponding to the file download request;

[0031] The filled data block is verified according to the comparison result to obtain a data block that passes the verification.

[0032] Optionally, in response to the file download request, dividing the to-be-downloaded data corresponding to the to-be-downloaded file into a first data block and a second data block includes:

[0033] In response to a file download request, obtaining a seed file corresponding to the file download request;

[0034] Parsing the seed file to obtain a file to be downloaded;

[0035] The data to be downloaded corresponding to the file to be downloaded is divided into a first data block and a second data block.

[0036] Optionally, after assembling the first data block and the second data block to obtain the downloaded file, the method further includes:

[0037] Generate a download completion notification corresponding to the downloaded file, and display the download completion notification;

[0038] Obtain a temporary file corresponding to the downloaded file, and clean up the temporary file.

[0039] In addition, to achieve the above purpose, the present application also proposes a file downloading device, the file downloading device comprising:

[0040] A data partitioning module, configured to, in response to a file download request, partition the data to be downloaded corresponding to the file to be downloaded into a first data block and a second data block;

[0041] A data download module, configured to download the first data block through a bitstream seed cluster, and download the second data block through a content distribution network acceleration node cluster;

[0042] The data assembly module is used to assemble the first data block and the second data block to obtain a download completion file.

[0043] Optionally, the data download module is further used to select a peer node from a bitstream seed cluster and download the first data block through the peer node; select a content distribution network node from a content distribution network acceleration node cluster, and download the second data block through the content distribution network node.

[0044] Optionally, the data download module is further used to create an independent thread; select a content distribution network node from a content distribution network acceleration node cluster through the independent thread, and download the second data block through the content distribution network node.

[0045] Optionally, the data download module is further used to request content distribution network node information corresponding to the file to be downloaded from the content distribution network service through the independent thread; and select a content distribution network node from the content distribution network acceleration node cluster based on the content distribution network node information.

[0046] Optionally, the data download module is further used to parse the content distribution network node information to obtain node address information and node availability; and select a content distribution network node from the content distribution network acceleration node cluster according to the node address information and the node availability.

[0047] Optionally, the data download module is further used to match the data to be downloaded with download data of nodes in the bitstream seed cluster; select a peer node from the bitstream seed cluster according to the matching result, and download the first data block through the peer node.

[0048] In addition, to achieve the above objectives, the present application also proposes a file downloading device, which includes a memory, a processor, and a file downloading program stored in the memory and executable on the processor, wherein the file downloading program is configured to implement the file downloading method described above.

[0049] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, on which a file download program is stored, and when the file download program is executed by a processor, the file download method as described above is implemented.

[0050] In addition, to achieve the above-mentioned purpose, the present application also provides a computer program product, which includes a file downloading program, and when the file downloading program is executed by a processor, it implements the file downloading method described above.

[0051] One or more technical solutions proposed in this application have at least the following technical effects:

[0052] In the present application, it is disclosed that in response to a file download request, the data to be downloaded corresponding to the file to be downloaded is divided into a first data block and a second data block, the first data block is downloaded through a bitstream seed cluster, and the second data block is downloaded through a content distribution network acceleration node cluster, and the first data block and the second data block are assembled to obtain a downloaded file; since the present application downloads file data through the bitstream seed cluster and the content distribution network acceleration node cluster at the same time, it is possible to utilize the acceleration advantage of the content distribution network node to improve the download speed and stability, thereby improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0054] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0055] Figure 1 This is a flow chart of the first embodiment of the method for downloading application documents;

[0056] Figure 2 This is an interactive schematic diagram of an embodiment of a method for downloading application documents;

[0057] Figure 3 This is a flow chart of the second embodiment of the method for downloading application documents;

[0058] Figure 4 This is a flowchart of the third embodiment of the method for downloading application documents;

[0059] Figure 5 This is a schematic diagram of the module structure of the file downloading device according to the embodiment of the present application;

[0060] Figure 6 This is a schematic diagram of the device structure of the hardware operating environment involved in the file downloading method in the embodiment of the present application.

[0061] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0062] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.

[0063] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.

[0064] BitTorrent is a protocol and technology for large-scale file sharing, which allows users to share files in a distributed manner, thereby reducing the burden on the server and increasing the download speed. However, in some cases, the download speed of existing BitTorrent download technology may be affected by the health of the seed and the quality of the peer node connection, resulting in slow download speed and download failure.

[0065] Therefore, in order to overcome the above defects, the present application provides a solution, which includes: in response to a file download request, dividing the data to be downloaded corresponding to the file to be downloaded into a first data block and a second data block, downloading the first data block through a bitstream seed cluster, and downloading the second data block through a content distribution network acceleration node cluster, assembling the first data block and the second data block to obtain a downloaded file; since the present application downloads file data through the bitstream seed cluster and the content distribution network acceleration node cluster at the same time, it can utilize the acceleration advantage of the content distribution network node to improve the download speed and stability, thereby improving the user experience.

[0066] It should be noted that the execution subject of this embodiment can be a file downloading device with data processing, network communication and program running functions, such as a computer, or other electronic devices that can achieve the same or similar functions, and this embodiment does not impose any restrictions on this.

[0067] Based on this, the present application embodiment provides a file download method, referring to Figure 1 , Figure 1 This is a flow chart of the first embodiment of the method for downloading documents of this application.

[0068] In a first embodiment, the file downloading method includes:

[0069] Step S10: In response to the file download request, divide the to-be-downloaded data corresponding to the to-be-downloaded file into a first data block and a second data block.

[0070] It should be understood that in order to make full use of resources from different sources to improve download efficiency and download success rate, in this embodiment, in response to a file download request, the data to be downloaded corresponding to the file to be downloaded is divided into a first data block and a second data block. Among them, the file download request may refer to an instruction initiated by a user through a client or a browser to obtain a specific file from a server or a network. The file to be downloaded may refer to a target file that the user wants to download, which may be any type of file such as a movie, music, or a document. The data to be downloaded may refer to all data contents contained in the file to be downloaded, and these data may be divided into multiple data blocks during the download process for easy transmission and processing. The first data block may refer to the first part of the data to be downloaded after being divided, and the first data block may include multiple data blocks. The second data block may refer to the second part of the data to be downloaded after being divided, and together with the first data block, it constitutes a complete file to be downloaded, and the second data block may also include multiple data blocks.

[0071] In a specific implementation, when a user initiates a file download request, the data to be downloaded can be divided into multiple data blocks based on factors such as file size, network conditions, and download strategy, and then the multiple data blocks can be divided into first data blocks and second data blocks based on peer node information of the bitstream seed cluster and content distribution network node information of the content distribution network acceleration node cluster.

[0072] Further, in order to improve the accuracy of identifying the file to be downloaded, the step S10 includes: in response to a file download request, obtaining a seed file corresponding to the file download request; parsing the seed file to obtain the file to be downloaded; dividing the data to be downloaded corresponding to the file to be downloaded into a first data block and a second data block. The seed file may refer to a small file containing file information (such as file name, size, hash value, index and location of file fragments, etc.), which can be used in the BitTorrent protocol so that users can download and share large files.

[0073] In a specific implementation, when a user initiates a file download request through a client or browser, the request can be identified and the corresponding seed file can be located (for example, the user has provided a link to the seed file or directly opened the seed file in the client). The seed file is parsed using the BitTorrent protocol or related tools to extract information about the file to be downloaded, such as the file name, size, hash value, and index and location of the file fragments.

[0074] Step S20: downloading the first data block through a bitstream seed cluster, and downloading the second data block through a content distribution network acceleration node cluster.

[0075] It is understandable that in order to make full use of the advantages of the two technologies, an efficient and stable file download service is achieved. In this embodiment, the first data block is downloaded through a bitstream seed cluster, and the second data block is downloaded through a content distribution network acceleration node cluster. Among them, the bitstream seed cluster may refer to a distributed download network based on the BitTorrent protocol, which is composed of multiple nodes, and these nodes jointly provide a piecemeal download service for the file. Each node has a portion of the data of the file and can share this data with other nodes. The content distribution network acceleration node cluster may refer to a distributed network architecture, consisting of multiple geographically dispersed nodes. These nodes cache the content of the original server and distribute the content to the node closest to the user based on the user's geographical location and network conditions to improve download speed and user experience.

[0076] In the specific implementation, the first data block is downloaded through the BitTorrent seed cluster, because the BitTorrent protocol is suitable for distributed download of large-scale files and can make full use of idle resources in the network. For the second data block, the CDN acceleration node cluster is used to download, because CDN can significantly increase the download speed and reduce latency, especially for large-volume, high-concurrency download scenarios.

[0077] Step S30: Assemble the first data block and the second data block to obtain a download completion file.

[0078] It should be understood that in order to ensure the integrity and correctness of the file, in this embodiment, the first data block and the second data block are assembled to obtain a download completion file, wherein the download completion file may refer to a complete file formed after all the data blocks to be downloaded are successfully downloaded and correctly assembled.

[0079] In a specific implementation, after the first data block and the second data block are downloaded, the first data block and the second data block can be reassembled according to the original order of the file to form a complete download completed file.

[0080] For ease of understanding, refer to Figure 2 This invention is provided for illustration, but is not intended to limit the present application. Figure 2 This is an interactive diagram of an embodiment of the method for downloading application documents. Figure 2 In the example, it is assumed that the data to be downloaded of the file to be downloaded is divided into 9 data blocks, data blocks 1, 2 and 3 are divided into the first data block, and data blocks 4, 5, 6, 7, 8 and 9 are divided into the second data block. The first data block is downloaded through the BitTorrent seed cluster, and the second data block is downloaded through the CDN acceleration node cluster. After the first data block and the second data block are downloaded, the first data block and the second data block are reassembled according to the original order of the file to form a complete download file.

[0081] This embodiment downloads file data through the bitstream seed cluster and the content distribution network acceleration node cluster at the same time, thereby being able to utilize the acceleration advantage of the content distribution network nodes to improve the download speed and stability, thereby being able to enhance the user experience.

[0082] Furthermore, in order to ensure that the data blocks are correctly placed in the file, the step S30 includes: filling the first data block and the second data block into the file to be downloaded to obtain filled data blocks; assembling the filled data blocks in a preset order to obtain a downloaded file. The preset order may refer to a specific order in which the data blocks are assembled into a complete file during the file assembly process, which may be consistent with the storage order of the file on the disk.

[0083] In a specific implementation, during the download process, data blocks may be continuously received. Once a data block is downloaded, the data block is filled into the corresponding position of the file to be downloaded. After all data blocks are downloaded and filled into the file, the data blocks may be assembled into a complete file in a preset order.

[0084] Furthermore, in order to timely discover and correct errors in data blocks and avoid using erroneous data for file assembly, the filled data blocks are assembled in a preset order to obtain the downloaded file, including: verifying the filled data blocks to obtain data blocks that pass the verification; assembling the data blocks that pass the verification in a preset order to obtain the downloaded file. The data blocks that pass the verification may refer to data blocks that have been verified and confirmed to be correct.

[0085] In a specific implementation, after the data filling is completed, each data block can be verified. The verification method can include hash verification, cyclic redundancy check (CRC) verification, etc. to ensure the integrity and correctness of the data. The data blocks that have been verified and confirmed to be correct are used for subsequent file assembly. After all data blocks are downloaded and verified, the data blocks are assembled into a complete file in a preset order.

[0086] It can be understood that verifying the filled data block to obtain the verified data block can be by comparing the hash value of the filled data block with the hash value of the seed file corresponding to the file download request; verifying the filled data block according to the comparison result to obtain the verified data block.

[0087] Furthermore, in order to facilitate the user to understand the download progress and results and avoid unnecessary waste of resources, after step S30, it also includes: generating a download completion notification corresponding to the download completion file and displaying the download completion notification; obtaining a temporary file corresponding to the download completion file and cleaning up the temporary file. Among them, the download completion notification may refer to a notification or prompt information displayed to the user by the client or browser after the user completes the file download. Temporary files may refer to some files created during the download process for storing part of the downloaded data or temporary data.

[0088] In a specific implementation, after the file assembly is completed, the client or browser can generate a download completion notification and display the notification to the user through the user interface. The notification can include information such as the file name, size, and download completion time. During the download process, some files are created to store part of the downloaded data or temporary data. These temporary files are usually no longer needed after the download is completed, so they can be cleaned up to avoid unnecessary waste of resources.

[0089] Reference Figure 3 , Figure 3 This is a flow chart of the second embodiment of the method for downloading application files. Figure 1 The first embodiment shown proposes a second embodiment of the method for downloading files of the present application.

[0090] In the second embodiment, the step S20 includes:

[0091] Step S201: select a peer node from a bitstream seed cluster, and download the first data block through the peer node.

[0092] It should be noted that a peer node may refer to a node in a bittorrent seed cluster that provides file segment download services and is also a client that downloads segments provided by other nodes.

[0093] It should be understood that selecting a peer node from the bitstream seed cluster and downloading the first data block through the peer node may be to match the data to be downloaded with the download data of the node in the bitstream seed cluster; selecting a peer node from the bitstream seed cluster based on the matching result, and downloading the first data block through the peer node.

[0094] In a specific implementation, in a BitTorrent seed cluster, multiple peer nodes can be searched and connected to, and these peer nodes have part or all of the data of the file that the user wishes to download. Then, one or more of the peer nodes can be selected to download the first data block.

[0095] Step S202: Select a content distribution network node from the content distribution network acceleration node cluster, and download the second data block through the content distribution network node.

[0096] It should be noted that a content delivery network node may refer to a single node in a CDN node cluster, which is responsible for caching and distributing specific content to improve the download or access speed of users.

[0097] In a specific implementation, the CDN node cluster may be composed of multiple geographically dispersed nodes, each of which caches a copy or fragment of the file. One or more nodes may be selected from the CDN node cluster to download the second data block according to the user's geographical location and network conditions.

[0098] This embodiment selects a peer node from a bitstream seed cluster and downloads the first data block through the peer node, selects a content distribution network node from a content distribution network acceleration node cluster, and downloads the second data block through the content distribution network node, thereby further improving the download speed of the data block.

[0099] Reference Figure 4 , Figure 4 This is a flow chart of the third embodiment of the method for downloading files of the present application. Based on the above embodiments, the third embodiment of the method for downloading files of the present application is proposed.

[0100] In the third embodiment, the step S202 includes:

[0101] Step S2021: Create an independent thread.

[0102] It should be understood that in order to maintain the smoothness of the CDN download process, in this embodiment, an independent thread can be created and CDN download can be performed through the independent thread. The independent thread can refer to a thread in a computer program that can independently execute tasks, which does not share the execution path with the main thread or other threads, but can share the resources of the process.

[0103] Step S2022: selecting a content distribution network node from the content distribution network acceleration node cluster through the independent thread, and downloading the second data block through the content distribution network node.

[0104] It is understandable that after the independent thread is created, the independent thread is responsible for selecting a CDN node from the CDN node cluster and downloading the second data block through the CDN node. The process of selecting a CDN node can be based on various factors, such as node availability, download speed, geographical location, and distance from the user, etc., which are not limited in this embodiment.

[0105] This embodiment creates an independent thread and performs CDN download through the independent thread, thereby maintaining the smoothness of the CDN download process.

[0106] Furthermore, in order to improve the download speed and efficiency, in this embodiment, the optimal CDN node can be selected based on the CDN node information to download the data block, and the step S2022 includes: requesting the content distribution network node information corresponding to the file to be downloaded from the content distribution network service through the independent thread; selecting a content distribution network node from the content distribution network acceleration node cluster based on the content distribution network node information. Among them, the content distribution network service can be a system that provides content distribution network (CDN) acceleration services, and realizes rapid distribution and transmission of data by deploying multiple nodes. Content distribution network node information can refer to detailed information about each node in the content distribution network, including the address, status, load, etc. of the node.

[0107] It can be understood that selecting a content distribution network node from a content distribution network acceleration node cluster based on content distribution network node information can be to parse the content distribution network node information to obtain node address information and node availability; and select a content distribution network node from a content distribution network acceleration node cluster based on the node address information and node availability.

[0108] For ease of understanding, refer to Figure 2 This invention is provided for illustration, but is not intended to limit the present application. Figure 2 This is an interactive diagram of an embodiment of the method for downloading application documents. Figure 2 In the method for downloading a file, the steps include:

[0109] 1. Start file download: The user launches the BitTorrent client and adds the seed file to start downloading the file.

[0110] 2. Data block division: divide the data to be downloaded of the file to be downloaded into 9 data blocks, divide data blocks 1, 2 and 3 into first data blocks, and divide data blocks 4, 5, 6, 7, 8 and 9 into second data blocks.

[0111] 3. Start a separate thread to request CDN service: Start a separate thread to request CDN service for CDN node information of the file to be downloaded.

[0112] 4. Get CDN node information: Get CDN acceleration node information about the file to be downloaded from the CDN service, including the node address and availability.

[0113] 5. Request block data: According to the CDN node information, send requests to each CDN node in turn to obtain the block data of the file.

[0114] 6. Filling data blocks: Fill the file with the first data block and the second data block obtained from different sources (BitTorrent protocol and CDN service) in different orders.

[0115] 7. Data verification: Verify each data block to ensure the integrity and correctness of the data.

[0116] 8. File assembly: Assemble all filled data blocks into a complete file in the correct order.

[0117] 9. Complete download: After the download is complete, perform necessary processing to ensure that the file has been completely downloaded and is available

[0118] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the method for downloading the documents of the present application. More simple transformations based on this technical concept are all within the scope of protection of the present application.

[0119] This application also provides a file download device, please refer to Figure 5 , the file downloading device comprises:

[0120] A data partitioning module 10, configured to partition the data to be downloaded corresponding to the file to be downloaded into a first data block and a second data block in response to a file download request;

[0121] A data download module 20, configured to download the first data block through a bitstream seed cluster, and download the second data block through a content distribution network acceleration node cluster;

[0122] The data assembling module 30 is used to assemble the first data block and the second data block to obtain a download completion file.

[0123] The file download device provided by the present application adopts the file download method in the above embodiment, which can solve the technical problem that the download speed of the existing bitstream download technology may be affected by the seed health and the quality of the peer node connection in some cases, and there are defects such as slow download speed and download failure. Compared with the prior art, the beneficial effects of the file download device provided by the present application are the same as the beneficial effects of the file download method provided by the above embodiment, and the other technical features in the file download device are the same as the features disclosed in the above embodiment method, which will not be repeated here.

[0124] The present application provides a file downloading device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the file downloading method in the above-mentioned embodiment 1.

[0125] Reference below Figure 6 , which shows a schematic diagram of the structure of a file download device suitable for implementing the embodiment of the present application. The file download device in the embodiment of the present application may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 6 The file downloading device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0126] like Figure 6 As shown, the file download device may include a processing device 1001 (e.g., a central processing unit, a graphics processor, etc.), which can perform various appropriate actions and processes according to a program stored in a ROM (Read Only Memory) 1002 or a program loaded from a storage device 1003 to a RAM (Random Access Memory) 1004. In the RAM 1004, various programs and data required for the operation of the file download device are also stored. The processing device 1001, the ROM 1002, and the RAM 1004 are connected to each other via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems can be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touch pad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, an LCD (Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the file download device to communicate with other devices wirelessly or by wire to exchange data. Although the figure shows a file download device with various systems, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems can be implemented or have alternatively.

[0127] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.

[0128] The file download device provided by the present application adopts the file download method in the above embodiment, which can solve the technical problem that the download speed of the existing bitstream download technology may be affected by the seed health and the quality of the peer node connection in some cases, and there are defects such as slow download speed and download failure. Compared with the prior art, the beneficial effects of the file download device provided by the present application are the same as the beneficial effects of the file download method provided by the above embodiment, and the other technical features in the file download device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.

[0129] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0130] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

[0131] The present application provides a computer-readable storage medium having computer-readable program instructions (ie, computer programs) stored thereon, and the computer-readable program instructions are used to execute the file downloading method in the above-mentioned embodiment.

[0132] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, RAM (Random Access Memory), ROM (Read Only Memory), EPROM (Erasable Programmable Read Only Memory) or flash memory, optical fiber, CD-ROM (CD-Read Only Memory, portable compact disk read-only memory), optical storage device, magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination of the above.

[0133] The computer-readable storage medium may be included in the file downloading device; or may exist independently without being assembled into the file downloading device.

[0134] The computer-readable storage medium carries one or more programs. When the one or more programs are executed by the file downloading device, the file downloading device executes the file downloading method.

[0135] The computer program code for performing the operation of the present application can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer and partially on the remote computer, or completely on the remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a LAN (Local Area Network) or a WAN (Wide Area Network), or it can be connected to an external computer (e.g., using an Internet service provider to connect through the Internet).

[0136] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0137] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.

[0138] The readable storage medium provided by the present application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned file download method, and can solve the technical problem that the existing bitstream download technology may be affected by the seed health and the quality of the peer node connection in some cases, and there are defects such as slow download speed and download failure. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided by the present application are the same as the beneficial effects of the file download method provided by the above-mentioned embodiment, which will not be repeated here.

[0139] The present application also provides a computer program product, including a computer program, which implements the above-mentioned file downloading method when executed by a processor.

[0140] The computer program product provided by the present application can solve the technical problem that in some cases, the download speed of the existing bitstream download technology may be affected by the seed health and the quality of the peer node connection, resulting in slow download speed and download failure. Compared with the prior art, the beneficial effects of the computer program product provided by the present application are the same as those of the file download method provided by the above embodiment, and will not be elaborated here.

[0141] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are included in the patent protection scope of the present application.

[0142] The present application discloses A1, a file downloading method, the file downloading method comprising:

[0143] In response to a file download request, dividing the to-be-downloaded data corresponding to the to-be-downloaded file into a first data block and a second data block;

[0144] Downloading the first data block through a bitstream seed cluster, and downloading the second data block through a content distribution network acceleration node cluster;

[0145] The first data block and the second data block are assembled to obtain a download completion file.

[0146] A2. The file downloading method as described in A1, wherein the first data block is downloaded through a bitstream seed cluster, and the second data block is downloaded through a content distribution network acceleration node cluster, comprising:

[0147] Selecting a peer node from a bitstream seed cluster, and downloading the first data block through the peer node;

[0148] A content distribution network node is selected from the content distribution network acceleration node cluster, and the second data block is downloaded through the content distribution network node.

[0149] A3. The file downloading method as described in A2, wherein selecting a content distribution network node from a content distribution network acceleration node cluster and downloading the second data block through the content distribution network node comprises:

[0150] Create an independent thread;

[0151] A content distribution network node is selected from a content distribution network acceleration node cluster through the independent thread, and the second data block is downloaded through the content distribution network node.

[0152] A4. The file downloading method as described in A3, wherein the selecting a content distribution network node from a content distribution network acceleration node cluster by the independent thread comprises:

[0153] Requesting the content distribution network service for the content distribution network node information corresponding to the file to be downloaded through the independent thread;

[0154] A content distribution network node is selected from a content distribution network acceleration node cluster based on the content distribution network node information.

[0155] A5. The file downloading method as described in A4, wherein the step of selecting a content distribution network node from a content distribution network acceleration node cluster based on the content distribution network node information comprises:

[0156] Parsing the content distribution network node information to obtain node address information and node availability;

[0157] A content delivery network node is selected from a content delivery network acceleration node cluster according to the node address information and the node availability.

[0158] A6. The file downloading method as described in A2, wherein selecting a peer node from a bitstream seed cluster and downloading the first data block through the peer node comprises:

[0159] Matching the data to be downloaded with the download data of the nodes in the bitstream seed cluster;

[0160] A peer node is selected from the bitstream seed cluster according to the matching result, and the first data block is downloaded through the peer node.

[0161] A7. The file downloading method as described in any one of A1 to A6, wherein the assembling of the first data block and the second data block to obtain the downloaded file comprises:

[0162] Filling the first data block and the second data block into the file to be downloaded to obtain filled data blocks;

[0163] The filled data blocks are assembled in a preset order to obtain a download completion file.

[0164] A8. The file downloading method as described in A7, wherein the filled data blocks are assembled in a preset order to obtain a downloaded file, comprising:

[0165] Verifying the filled data block to obtain a verified data block;

[0166] The verified data blocks are assembled according to a preset order to obtain a download completion file.

[0167] A9. The file downloading method as described in A8, wherein the checking of the filled data blocks to obtain the data blocks that pass the check comprises:

[0168] Compare the hash value of the filled data block with the hash value of the seed file corresponding to the file download request;

[0169] The filled data block is verified according to the comparison result to obtain a data block that passes the verification.

[0170] A10. The file downloading method as described in any one of A1 to A6, wherein in response to the file download request, dividing the data to be downloaded corresponding to the file to be downloaded into a first data block and a second data block comprises:

[0171] In response to a file download request, obtaining a seed file corresponding to the file download request;

[0172] Parsing the seed file to obtain a file to be downloaded;

[0173] The data to be downloaded corresponding to the file to be downloaded is divided into a first data block and a second data block.

[0174] A11. The file downloading method as described in any one of A1 to A6, wherein after assembling the first data block and the second data block to obtain the downloaded file, the method further comprises:

[0175] Generate a download completion notification corresponding to the downloaded file, and display the download completion notification;

[0176] Obtain a temporary file corresponding to the downloaded file, and clean up the temporary file.

[0177] The present application also discloses B12, a file downloading device, the file downloading device comprising:

[0178] A data partitioning module, configured to, in response to a file download request, partition the data to be downloaded corresponding to the file to be downloaded into a first data block and a second data block;

[0179] A data download module, configured to download the first data block through a bitstream seed cluster, and download the second data block through a content distribution network acceleration node cluster;

[0180] The data assembly module is used to assemble the first data block and the second data block to obtain a download completion file.

[0181] B13. In the file downloading device as described in B12, the data downloading module is further used to select a peer node from a bitstream seed cluster and download the first data block through the peer node; select a content distribution network node from a content distribution network acceleration node cluster, and download the second data block through the content distribution network node.

[0182] B14. In the file downloading device as described in B13, the data downloading module is further used to create an independent thread; select a content distribution network node from the content distribution network acceleration node cluster through the independent thread, and download the second data block through the content distribution network node.

[0183] B15. In the file downloading device as described in B14, the data downloading module is further used to request the content distribution network service through the independent thread for the content distribution network node information corresponding to the file to be downloaded; and select a content distribution network node from the content distribution network acceleration node cluster based on the content distribution network node information.

[0184] B16. In the file downloading device as described in B15, the data downloading module is further used to parse the content distribution network node information to obtain node address information and node availability; and select a content distribution network node from the content distribution network acceleration node cluster based on the node address information and the node availability.

[0185] B17. In the file downloading device as described in B13, the data downloading module is further used to match the data to be downloaded with the download data of the nodes in the bitstream seed cluster; select a peer node from the bitstream seed cluster according to the matching result, and download the first data block through the peer node.

[0186] The present application also discloses C18, a file downloading device, which includes: a memory, a processor, and a file downloading program stored in the memory and executable on the processor, wherein the file downloading program implements the file downloading method described above when executed by the processor.

[0187] The present application also discloses D19, a storage medium, on which a file download program is stored, and when the file download program is executed by a processor, the file download method as described above is implemented.

[0188] The present application also discloses E20, a computer program product, which includes a file downloading program, and when the file downloading program is executed by a processor, the file downloading method as described above is implemented.

Claims

1. A file downloading method, characterized in that: The file downloading method comprises: In response to a file download request, dividing the to-be-downloaded data corresponding to the to-be-downloaded file into a first data block and a second data block; Downloading the first data block through a bitstream seed cluster, and downloading the second data block through a content distribution network acceleration node cluster; The first data block and the second data block are assembled to obtain a download completion file.

2. The file downloading method according to claim 1, characterized in that: The downloading of the first data block through a bitstream seed cluster and the downloading of the second data block through a content distribution network acceleration node cluster include: Selecting a peer node from a bitstream seed cluster, and downloading the first data block through the peer node; A content distribution network node is selected from the content distribution network acceleration node cluster, and the second data block is downloaded through the content distribution network node.

3. The file downloading method according to claim 2, characterized in that: The step of selecting a content distribution network node from a content distribution network acceleration node cluster and downloading the second data block through the content distribution network node includes: Create independent threads; A content distribution network node is selected from a content distribution network acceleration node cluster through the independent thread, and the second data block is downloaded through the content distribution network node.

4. The file downloading method according to claim 3, characterized in that: The selecting a content distribution network node from a content distribution network acceleration node cluster by the independent thread includes: Requesting the content distribution network service for the content distribution network node information corresponding to the file to be downloaded through the independent thread; A content distribution network node is selected from a content distribution network acceleration node cluster based on the content distribution network node information.

5. The file downloading method according to claim 4, characterized in that: The selecting a content distribution network node from a content distribution network acceleration node cluster based on the content distribution network node information includes: Parsing the content distribution network node information to obtain node address information and node availability; A content delivery network node is selected from a content delivery network acceleration node cluster according to the node address information and the node availability.

6. The file downloading method according to claim 2, characterized in that: The selecting a peer node from the bitstream seed cluster and downloading the first data block through the peer node includes: Matching the data to be downloaded with the download data of the nodes in the bitstream seed cluster; A peer node is selected from the bitstream seed cluster according to the matching result, and the first data block is downloaded through the peer node.

7. A file downloading device, characterized in that: The file downloading device comprises: A data partitioning module, configured to, in response to a file download request, partition the data to be downloaded corresponding to the file to be downloaded into a first data block and a second data block; A data download module, configured to download the first data block through a bitstream seed cluster, and download the second data block through a content distribution network acceleration node cluster; The data assembly module is used to assemble the first data block and the second data block to obtain a download completion file.

8. A file downloading device, characterized in that: The file downloading device comprises: a memory, a processor, and a file downloading program stored in the memory and executable on the processor, wherein the file downloading program implements the file downloading method according to any one of claims 1 to 6 when executed by the processor.

9. A storage medium, characterized in that: The storage medium stores a file downloading program, and when the file downloading program is executed by the processor, the file downloading method according to any one of claims 1 to 6 is implemented.

10. A computer program product, characterized in that The computer program product comprises a file downloading program, and when the file downloading program is executed by a processor, the file downloading method according to any one of claims 1 to 6 is implemented.