[go: up one dir, main page]

WO2018157850A1 - Multi-thread segmented downloading method, device, client device, electronic device and storage medium - Google Patents

Multi-thread segmented downloading method, device, client device, electronic device and storage medium Download PDF

Info

Publication number
WO2018157850A1
WO2018157850A1 PCT/CN2018/077844 CN2018077844W WO2018157850A1 WO 2018157850 A1 WO2018157850 A1 WO 2018157850A1 CN 2018077844 W CN2018077844 W CN 2018077844W WO 2018157850 A1 WO2018157850 A1 WO 2018157850A1
Authority
WO
WIPO (PCT)
Prior art keywords
interval
request
segment
download
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2018/077844
Other languages
French (fr)
Chinese (zh)
Inventor
蔡灿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Uc Network Technology Co Ltd
Original Assignee
Guangzhou Uc Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Uc Network Technology Co Ltd filed Critical Guangzhou Uc Network Technology Co Ltd
Publication of WO2018157850A1 publication Critical patent/WO2018157850A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Definitions

  • the present application relates to network download technology, and in particular to a multi-thread segment download method, a multi-thread segment download device, a client device, an electronic device, and a storage medium.
  • Multi-threaded segmentation download technology is a very common download solution.
  • a file to be downloaded is divided into a plurality of section segments.
  • This technique takes advantage of multithreading by initiating multiple download requests for multiple interval segments through multiple threads during the same time period. Each thread is responsible for downloading one of the multiple interval segments. Then, the data of each interval segment after the download is merged into a complete file. This greatly speeds up the download efficiency. With multi-threaded segmentation download technology, you can grab more bandwidth and achieve faster download speeds.
  • Multi-threaded download client devices include Thunder, QQ Cyclone, PP Assistant client and so on.
  • multi-threaded segment download devices are integrated into many applications such as browsers. For example, users can download files directly from a browser.
  • the steps of multi-threaded segment downloading are as follows. First, a heuristic request is made to the network to request a download of the file. When a download response is received, the file size is obtained based on the header of the download response. Disconnect the probe request. The file is equally divided into N interval segments based on the file size. A plurality of download requests are respectively initiated for the N interval segments for downloading.
  • N+1 requests including a probe request and N download requests
  • the heuristic request is only used to obtain the file size for partitioning the file.
  • the probe request is not used for actual downloads, but it puts pressure on the processing of the server. If multiple download tasks are initiated at the same time, the probe request may add a lot of burden to the server.
  • the probe request A is initiated and the number of bytes of the file is 600.
  • disconnect the probe request A Suppose that it takes 5 seconds to send a probe request and receive its response.
  • the file is divided into three interval segments equally, which are [0 to 200], [200 to 400], and [400 to 600].
  • Three download requests are initiated for the three interval segments, respectively. It is assumed that the time taken to initiate the three download requests is also 5 seconds. Therefore, during the download process, four requests were initiated and the actual download of the data started after 10 seconds.
  • a multi-thread segment downloading method comprising: initiating a heuristic request, wherein the heuristic request is for requesting to download a file from a network; receiving a download response to obtain a size of the file; The size divides the file into a plurality of interval segments, wherein the interval segment in which the probe request is located is a first interval segment; a download request is initiated for other interval segments other than the first interval segment; and the first interval segment to be downloaded by the heuristic request The data and the data of other interval segments are merged into the file.
  • the size of the file is obtained based on the “content-range” or “content-length” field in the response header of the download response.
  • the plurality of section segments have the same size.
  • the size of the first interval segment is larger than the size of each interval segment in the other interval segments.
  • the difference between the first interval segment and each of the other segment segments is set based on the network speed.
  • the difference between each of the first interval segment and the other interval segments is set based on the amount of data that has been downloaded by the heuristic request when the download request is initiated.
  • a multi-threaded segment downloading device including a probe requesting module, a receiving module, a dividing module, a download requesting module, a merging module, and a setting module.
  • the heuristic requesting device is used to initiate a heuristic request, wherein the heuristic request is for requesting to download a file from the network.
  • the receiving module is configured to receive a download response to obtain the size of the file.
  • the dividing module is configured to divide the file into a plurality of interval segments according to the size of the file, wherein the interval segment in which the probe request is located is the first interval segment.
  • the download request module is configured to initiate a download request for other interval segments other than the first interval segment.
  • the merging module is used to merge the data of the first interval segment downloaded by the heuristic request and the data of other interval segments into a file.
  • the setting module is configured to set a difference between the first interval segment and each of the other segment segments based on the network speed.
  • the setting module may further be configured to set a difference between the first interval segment and each of the other interval segments by the amount of data that has been downloaded by the heuristic request when the download request is initiated.
  • a client device for performing a multi-thread segment download method according to an embodiment.
  • an electronic device comprising a memory and a processor; wherein the memory is for storing a computer program, and executing candidate intermediate data and result data generated by the computer program; the processor is coupled to the memory, When the computer program is executed by the processor, the processor performs the steps of: initiating a heuristic request, wherein the heuristic request is for requesting to download a file from the network; receiving a download response to obtain a size of the file; The file is divided into a plurality of interval segments, wherein the interval segment in which the probe request is located is a first interval segment; a download request is initiated for other interval segments other than the first interval segment; The data of the first interval segment requested to be downloaded and the data of the other interval segments are merged into the file.
  • a computer readable storage medium carrying one or more computer programs thereon, the one or more processors being executed by one or more processors Performing a multi-threaded segment downloading method, comprising: initiating a heuristic request, wherein the heuristic request is for requesting to download a file from a network; receiving a download response to obtain a size of the file; The file is divided into a plurality of interval segments, wherein the interval segment in which the probe request is located is a first interval segment; a download request is initiated for other interval segments other than the first interval segment; The data of the first interval segment and the data of the other interval segments are merged into the file.
  • the time to start multi-threaded segment downloading can be reduced.
  • FIG. 1A is a schematic flowchart of a multi-thread segment downloading method according to an embodiment of the present application.
  • FIG. 1B is a schematic block diagram of a multi-threaded segment download device in accordance with one embodiment of the present application.
  • FIG. 2 is a schematic block diagram of an electronic device in accordance with another embodiment of the present application.
  • FIG. 3 is a schematic diagram of one embodiment of a network system to which the technical solution of the present application can be applied.
  • FIG. 1A is a schematic flowchart of a multi-thread segment downloading method according to an embodiment of the present application.
  • a probe request is initiated.
  • the heuristic request is for requesting to download a file from the network.
  • the heuristic request can request a complete file.
  • a user sends a heuristic request to a server or device on the network through a client device in the electronic device or a multi-threaded segment download device in the application software.
  • the server or device on the network returns the download response to the user after receiving the request, so that the user can start the download operation.
  • a download response is received to obtain the size of the file.
  • the size of the file can be obtained based on the "content-range” or “content-length” field in the response header of the download response. As the technology evolves, the size of the file can also be obtained based on other fields or information.
  • step S1300 the file is divided into a plurality of section segments according to the size of the file.
  • the interval segment in which the probe request is located is the first interval segment.
  • the first interval segment does not indicate that the interval segment is the position of the interval segment, but represents the interval segment in which the trial request is located.
  • a download request is initiated for other interval segments other than the first interval segment.
  • a plurality of interval segments are equally divided, and the plurality of interval segments have the same size.
  • the total number of bytes of a file is 600, and the file is equally divided into three sections, which are [0 to 200], [200 to 400], and [400 to 600], respectively.
  • the thread in which the probe request is located is not terminated, but continues to be downloaded. For example, when the download amount of the thread reaches the size of the first interval [0 to 200], the thread is disconnected and the download is stopped.
  • the embodiment of the present application does not stop the download of the probe request. Therefore, when a download request for another interval segment is initiated, the heuristic request has already downloaded a portion of the data. Since the probe request is disconnected in the prior art, the prior art does not need to be considered for the case where the probe request has downloaded a part of the data. In the embodiment of the present application, considering the case, the size of the first interval segment may be larger than the size of each of the other interval segments.
  • the network speed is getting faster and faster.
  • a large amount of data may have been downloaded through the heuristic request.
  • the advantages of multi-threaded segmentation download may not be fully utilized. For example, when the data of other interval segments is being downloaded, the first interval segment has been downloaded.
  • the network speed is fast, when dividing a plurality of interval segments, the amount of data downloaded through the heuristic request has exceeded the size of the first interval segment, which may cause repeated downloading or waste of network resources.
  • the difference between the first interval segment and each of the other segment segments can be set based on the network speed.
  • the download of the first interval segment can be consistent with the download of other interval segments to be completed simultaneously or substantially simultaneously.
  • the difference between the first interval segment and each of the other segment segments is determined by the download amount of the probe request.
  • the difference between the first interval segment and each of the other interval segments may also be set based on the amount of data that has been downloaded by the heuristic request when the download request is initiated.
  • step S1500 the data of the first section segment downloaded by the heuristic request and the data of the other section segments are merged into the file.
  • the download process of the probe request is not terminated. This way, the number of times a download request is initiated can be reduced. This can reduce the processing pressure of the server. In addition, this speeds up downloads and improves the user's download experience.
  • the segment download device includes operations for performing the multi-thread segment download method according to the embodiment.
  • FIG. 1B is a schematic block diagram of a multi-threaded segment download device in accordance with one embodiment of the present application.
  • the multi-threaded segment downloading device 100 includes a heuristic request module 102, a receiving module 104, a partitioning module 106, a download requesting module 108, a merging module 110, and a setting module 112.
  • the heuristic request module 102 is configured to initiate a heuristic request, wherein the heuristic request module 102 is configured to request to download a file from a network.
  • the receiving module 104 is configured to receive a download response to obtain a size of the file.
  • the dividing module 106 is configured to divide the file into a plurality of interval segments according to the size of the file, wherein the interval segment in which the probe request is located is the first interval segment.
  • the download request module 108 is configured to initiate a download request for other interval segments other than the first interval segment.
  • the merging module 110 is configured to merge the data of the first interval segment downloaded by the heuristic request and the data of other interval segments into the file.
  • the setting module 112 is configured to set a difference between the first interval segment and each of the other interval segments based on the network speed.
  • the setting module 112 can also be configured to set a difference between the first interval segment and each of the other interval segments by the amount of data that has been downloaded by the heuristic request when the download request is initiated.
  • the electronic device is, for example, a notebook computer, a smart phone, a tablet computer, or the like. Further, the electronic device may also be a server or the like.
  • FIG. 2 is a schematic block diagram of an electronic device in accordance with another embodiment of the present application.
  • the electronic device 2000 can include a processor 2010, a memory 2020, an interface device 2030, a communication device 2040, a display device 2050, an input device 2060, a speaker 2070, a microphone 2080, and the like.
  • the processor 2010 can be, for example, a central processing unit CPU, a microprocessor MCU, or the like.
  • the memory 2020 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a nonvolatile memory such as a hard disk, and the like.
  • the processor 2010 is coupled to the memory 2020 via a bus.
  • the interface device 2030 includes, for example, a USB interface, a headphone jack, and the like.
  • the communication device 2040 can perform wired or wireless communication, for example.
  • the display device 2050 is, for example, a liquid crystal display, a touch display, or the like.
  • Input device 2060 can include, for example, a touch screen, a keyboard, and the like. The user can input/output voice information through the speaker 2070 and the microphone 2080.
  • the electronic device shown in Figure 2 is merely illustrative and is in no way intended to limit the application, its application or use.
  • the memory 2020 is used to store computer programs and to execute candidate intermediate data and result data generated by the computer programs.
  • the computer program is executed by the processor 2010 to perform the multi-thread segment download method described above with reference to FIG.
  • FIG. 2 the present application may relate only to some of the devices, such as processor 2010 and storage device 2020, and the like.
  • a technician can design an instruction in accordance with the teachings disclosed herein. How the instructions control the processor for operation is well known in the art and will not be described in detail herein.
  • FIG. 3 is a schematic diagram of one embodiment of a network system to which the technical solution of the present application can be applied.
  • the server 3040 and the electronic devices 3020 and 3030 are connected to each other through a network 3010.
  • the connection may include a wired connection, a wireless connection, or a combination of both.
  • the technical solution in the above embodiment can be implemented in any of the server 3040, the electronic devices 3020, 3030.
  • the probe request A is initiated, and the number of bytes of the obtained file is 600. Assume that the probe request takes 5 seconds.
  • the file is divided into three interval segments equally, which are [0 to 200], [200 to 400], and [400 to 600].
  • the thread requesting the request A is used to download the first interval segment [0-200].
  • the download of the thread is stopped.
  • a download request is initiated for the interval segments [200 to 400] and [400 to 600], respectively.
  • the size of the first interval segment may be larger than the other interval segments.
  • the application can be an apparatus, method, and/or computer program product.
  • the computer program product can comprise a computer readable storage medium having computer readable program instructions embodied thereon for causing a processor to implement various aspects of the present application.
  • the application also provides a computer readable storage medium carrying one or more computer program programs thereon.
  • the one or more processors When the computer program is executed by one or more processors, the one or more processors perform a multi-thread segment download method, including: initiating a probe request, wherein the probe request is for requesting to download a file from the network; Downloading a response to obtain a size of the file; dividing the file into a plurality of interval segments according to a size of the file, wherein the interval segment in which the probe request is located is a first interval segment; The other section segments other than the section segment initiate a download request; the data of the first section segment downloaded by the heuristic request and the data of the other section segments are merged into the file.
  • the computer readable storage medium can be a tangible device that can hold and store the instructions used by the instruction execution device.
  • the computer readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
  • Non-exhaustive list of computer readable storage media include: portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM) Or flash memory), static random access memory (SRAM), portable compact disk read only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device, for example, with instructions stored thereon A raised structure in the hole card or groove, and any suitable combination of the above.
  • a computer readable storage medium as used herein is not to be interpreted as a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (eg, a light pulse through a fiber optic cable), or through a wire The electrical signal transmitted.
  • the computer readable program instructions described herein can be downloaded from a computer readable storage medium to various computing/processing devices or downloaded to an external computer or external storage device over a network, such as the Internet, a local area network, a wide area network, and/or a wireless network.
  • the network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and/or edge servers.
  • a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium in each computing/processing device .
  • Computer program instructions for performing the operations of the present application can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine related instructions, microcode, firmware instructions, state setting data, or in one or more programming languages.
  • the computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer, partly on the remote computer, or entirely on the remote computer or server. carried out.
  • the remote computer can be connected to the user's computer via any kind of network, including a local area network (LAN) or wide area network (WAN), or can be connected to an external computer (eg, using an Internet service provider to access the Internet) connection).
  • the customized electronic circuit such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), can be customized by utilizing state information of computer readable program instructions.
  • Computer readable program instructions are executed to implement various aspects of the present application.
  • the computer readable program instructions can be provided to a general purpose computer, a special purpose computer, or a processor of other programmable data processing apparatus to produce a machine such that when executed by a processor of a computer or other programmable data processing apparatus Means for implementing the functions/acts specified in one or more of the blocks of the flowcharts and/or block diagrams.
  • the computer readable program instructions can also be stored in a computer readable storage medium that causes the computer, programmable data processing device, and/or other device to operate in a particular manner, such that the computer readable medium storing the instructions includes An article of manufacture that includes instructions for implementing various aspects of the functions/acts recited in one or more of the flowcharts.
  • the computer readable program instructions can also be loaded onto a computer, other programmable data processing device, or other device to perform a series of operational steps on a computer, other programmable data processing device or other device to produce a computer-implemented process.
  • instructions executed on a computer, other programmable data processing apparatus, or other device implement the functions/acts recited in one or more of the flowcharts and/or block diagrams.
  • each block in the flowchart or block diagram can represent a module, a program segment, or a portion of an instruction that includes one or more components for implementing the specified logical functions.
  • Executable instructions can also occur in a different order than those illustrated in the drawings. For example, two consecutive blocks may be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented in a dedicated hardware-based system that performs the specified function or function. Or it can be implemented by a combination of dedicated hardware and computer instructions. It is well known to those skilled in the art that implementation by hardware, implementation by software, and implementation by a combination of software and hardware are equivalent.
  • the multi-thread segment downloading method, the device, the client device, the electronic device, and the storage medium of the present application can reduce the number of times the download request is initiated and the time for starting the multi-threaded segment download by not stopping the download process of the probe request. It can reduce the processing pressure of the server, and speed up the download speed, thereby improving the user's download experience.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Disclosed in the present application are a multi-thread segmented downloading method, device, client device, electronic device and storage medium. The method includes: initiating a probe request, the probe request being used to request that a file be downloaded from the Internet; receiving a download response so as to obtain a file size; dividing the file into multiple interval segments according to the file size, the interval segment in which the probe request is located being a first interval segment; initiating a download request for the interval segments other than the first interval segment; and merging data of the first interval segment which is downloaded by means of the probe request with data of the other interval segments so as to form a file. According to one embodiment of the present application, the time needed to start a multi-thread segmented download may be reduced.

Description

多线程分段下载方法、设备、客户端设备、电子设备及存储介质Multi-thread segment downloading method, device, client device, electronic device and storage medium 技术领域Technical field

本申请涉及网络下载技术,以及具体来说,涉及一种多线程分段下载方法、多线程分段下载设备、客户端设备、电子设备及存储介质。The present application relates to network download technology, and in particular to a multi-thread segment download method, a multi-thread segment download device, a client device, an electronic device, and a storage medium.

背景技术Background technique

随着网络技术的发展,在很多情况下,用户需要从网络下载文件。With the development of network technology, in many cases, users need to download files from the network.

多线程分段下载技术是一种很常见的下载方案。在多线程分段下载技术中,将需要下载的文件分割成多个区间段。这种技术利用了多线程的优势,在同一时间段内通过多个线程针对多个区间段发起多个下载请求。每一个线程负责下载多个区间段中的一个区间段。然后,将下载后各个区间段的数据被合并成完整的文件。这样大大加快了下载效率。通过多线程分段下载技术,可以抢占更多的带宽,从而达到更快的下载速度。Multi-threaded segmentation download technology is a very common download solution. In the multi-thread segmentation downloading technique, a file to be downloaded is divided into a plurality of section segments. This technique takes advantage of multithreading by initiating multiple download requests for multiple interval segments through multiple threads during the same time period. Each thread is responsible for downloading one of the multiple interval segments. Then, the data of each interval segment after the download is merged into a complete file. This greatly speeds up the download efficiency. With multi-threaded segmentation download technology, you can grab more bandwidth and achieve faster download speeds.

常见的多线程下载客户端设备包括迅雷、QQ旋风、PP助手客户端等。另外,诸如浏览器等的很多应用软件中也集成了多线程分段下载设备。例如,用户可以直接通过浏览器下载文件。Common multi-threaded download client devices include Thunder, QQ Cyclone, PP Assistant client and so on. In addition, multi-threaded segment download devices are integrated into many applications such as browsers. For example, users can download files directly from a browser.

在现有技术中,多线程分段下载的步骤如下。首先,向网络发起试探请求,以请求下载文件。当收到下载响应时,基于下载响应的信息头获取文件大小。断开试探请求的连接。基于文件大小将文件平均划分成N个区间段。针对所述N个区间段分别发起多个下载请求,以进行下载。In the prior art, the steps of multi-threaded segment downloading are as follows. First, a heuristic request is made to the network to request a download of the file. When a download response is received, the file size is obtained based on the header of the download response. Disconnect the probe request. The file is equally divided into N interval segments based on the file size. A plurality of download requests are respectively initiated for the N interval segments for downloading.

在现有技术的方案中,如果文件被划分成N个区间段,则需要发送N+1个请求,包括试探请求和N个下载请求。在现有技术的方案中,试探请求仅用于获取文件大小,以用于划分文件。每次发起向服务器发起请求,都需要重新建立一次TCP连接。试探请求没有用于实际下载,但是却给服务器的处理造成压力。如果同时发起的多个下载任务,则试 探请求可能会给服务器增加许多负担。In the prior art solution, if the file is divided into N interval segments, N+1 requests, including a probe request and N download requests, need to be sent. In prior art solutions, the heuristic request is only used to obtain the file size for partitioning the file. Each time you initiate a request to the server, you need to re-establish a TCP connection. The probe request is not used for actual downloads, but it puts pressure on the processing of the server. If multiple download tasks are initiated at the same time, the probe request may add a lot of burden to the server.

例如,在现有技术中,发起试探请求A,并得到文件的字节数是600。接着,断开试探请求A的连接。假设发送试探请求并接收到其响应的耗时是5秒。将文件平均分成3个区间段,分别是[0~200]、[200~400]、[400~600]。分别针对所述三个区间段发起三个下载请求。假设发起所述三个下载请求的耗时也是5秒。因此,在下载过程中,发起了四个请求,并且在10秒之后才开始真正下载数据。For example, in the prior art, the probe request A is initiated and the number of bytes of the file is 600. Next, disconnect the probe request A. Suppose that it takes 5 seconds to send a probe request and receive its response. The file is divided into three interval segments equally, which are [0 to 200], [200 to 400], and [400 to 600]. Three download requests are initiated for the three interval segments, respectively. It is assumed that the time taken to initiate the three download requests is also 5 seconds. Therefore, during the download process, four requests were initiated and the actual download of the data started after 10 seconds.

此外,在现有技术中,在每个下载任务真正开始之前,都必需等待试探请求的下载响应,以得到文件大小。之后,才能发起下载请求,以开始下载文件。这意味着,从用户点击下载到真正开始下载,需要多进行一次请求,延长了操作时间。假设试探请求的下载响应需要5秒钟,发起下载请求也需要5秒,那么真正开始下载是在用户点击下载时的10秒钟之后。这拖延了下载开始的时间,降低了用户的下载体验。In addition, in the prior art, it is necessary to wait for the download response of the probe request to obtain the file size before each download task actually starts. After that, a download request can be initiated to begin downloading the file. This means that from the user's click to download to the actual start of the download, an additional request is required, extending the operating time. Suppose the download response of the probe request takes 5 seconds, and it takes 5 seconds to initiate the download request. Then the download is actually started 10 seconds after the user clicks the download. This delays the start of the download and reduces the user's download experience.

因此,需要提供一种新的技术方案,针对上述现有技术中的至少一个技术问题进行改进。Therefore, there is a need to provide a new technical solution for improving at least one of the above-mentioned prior art problems.

发明内容Summary of the invention

本申请的一个目的是提供一种用于多线程分段下载的技术方案。It is an object of the present application to provide a technical solution for multi-threaded segment downloading.

根据本申请的第一方面,提供了一种多线程分段下载方法,包括:发起试探请求,其中所述试探请求用于请求从网络下载文件;接收下载响应以获取文件的大小;根据文件的大小将文件划分成多个区间段,其中试探请求所处的区间段是第一区间段;针对第一区间段之外的其它区间段发起下载请求;以及将通过试探请求下载的第一区间段的数据和其它区间段的数据合并成所述文件。According to a first aspect of the present application, a multi-thread segment downloading method is provided, comprising: initiating a heuristic request, wherein the heuristic request is for requesting to download a file from a network; receiving a download response to obtain a size of the file; The size divides the file into a plurality of interval segments, wherein the interval segment in which the probe request is located is a first interval segment; a download request is initiated for other interval segments other than the first interval segment; and the first interval segment to be downloaded by the heuristic request The data and the data of other interval segments are merged into the file.

在本申请实施例中,试探请求的请求头中的“range”字段的值是“bytes=0-”。In the embodiment of the present application, the value of the "range" field in the request header of the probe request is "bytes=0-".

在本申请实施例中,基于下载响应的响应头中的“content-range”或“content-length”字段获取文件的大小。In the embodiment of the present application, the size of the file is obtained based on the “content-range” or “content-length” field in the response header of the download response.

在本申请实施例中,多个区间段的大小相同。In the embodiment of the present application, the plurality of section segments have the same size.

在本申请实施例中,第一区间段的大小大于其它区间段中的每个 区间段的大小。In the embodiment of the present application, the size of the first interval segment is larger than the size of each interval segment in the other interval segments.

在本申请实施例中,基于网络速度设置第一区间段与其它区间段中的每个区间段的差值。In the embodiment of the present application, the difference between the first interval segment and each of the other segment segments is set based on the network speed.

在本申请实施例中,基于在发起下载请求时通过试探请求已经下载的数据量,设置第一区间段与其它区间段中的每个区间段的差值。In the embodiment of the present application, the difference between each of the first interval segment and the other interval segments is set based on the amount of data that has been downloaded by the heuristic request when the download request is initiated.

根据本申请的第二方面,提供了一种多线程分段下载设备,包括试探请求模块、接收模块、划分模块、下载请求模块、合并模块以及设置模块。试探请求设备用于发起试探请求,其中试探请求用于请求从网络下载文件。接收模块用于接收下载响应以获取文件的大小。划分模块用于根据文件的大小将文件划分成多个区间段,其中试探请求所处的区间段是第一区间段。下载请求模块用于针对之外第一区间段之外的其它区间段发起下载请求。合并模块用于将通过试探请求下载的第一区间段的数据和其它区间段的数据合并成文件。设置模块基于网络速度,用于设置第一区间段与其它区间段中的每个区间段的差值。设置模块还可以基于在发起下载请求时,通过试探请求已经下载的数据量,用于设置第一区间段与其它区间段中的每个区间段的差值。According to a second aspect of the present application, a multi-threaded segment downloading device is provided, including a probe requesting module, a receiving module, a dividing module, a download requesting module, a merging module, and a setting module. The heuristic requesting device is used to initiate a heuristic request, wherein the heuristic request is for requesting to download a file from the network. The receiving module is configured to receive a download response to obtain the size of the file. The dividing module is configured to divide the file into a plurality of interval segments according to the size of the file, wherein the interval segment in which the probe request is located is the first interval segment. The download request module is configured to initiate a download request for other interval segments other than the first interval segment. The merging module is used to merge the data of the first interval segment downloaded by the heuristic request and the data of other interval segments into a file. The setting module is configured to set a difference between the first interval segment and each of the other segment segments based on the network speed. The setting module may further be configured to set a difference between the first interval segment and each of the other interval segments by the amount of data that has been downloaded by the heuristic request when the download request is initiated.

根据本申请的第三方面,提供了一种客户端设备,所述客户端用于执行根据实施例的多线程分段下载方法。According to a third aspect of the present application, there is provided a client device for performing a multi-thread segment download method according to an embodiment.

根据本申请的第四方面,提供了一种电子设备,包括存储器和处理器;其中所述存储器用于存储计算机程序,以及执行计算机程序产生的候选中间数据以及结果数据;处理器耦接存储器,当计算机程序由处理器执行时,处理器执行以下步骤:发起试探请求,其中所述试探请求用于请求从网络下载文件;接收下载响应以获取所述文件的大小;根据所述文件的大小将所述文件划分成多个区间段,其中所述试探请求所处的所述区间段是第一区间段;针对所述第一区间段之外的其它区间段发起下载请求;将通过所述试探请求下载的所述第一区间段的数据和所述其它区间段的数据合并成所述文件。According to a fourth aspect of the present application, there is provided an electronic device comprising a memory and a processor; wherein the memory is for storing a computer program, and executing candidate intermediate data and result data generated by the computer program; the processor is coupled to the memory, When the computer program is executed by the processor, the processor performs the steps of: initiating a heuristic request, wherein the heuristic request is for requesting to download a file from the network; receiving a download response to obtain a size of the file; The file is divided into a plurality of interval segments, wherein the interval segment in which the probe request is located is a first interval segment; a download request is initiated for other interval segments other than the first interval segment; The data of the first interval segment requested to be downloaded and the data of the other interval segments are merged into the file.

根据本申请的第五方面,提供了一种计算机可读存储介质,其上承载一个或多个计算机程序,所述计算机程序被一个或多个处理器执行时,所述一个或多个处理器执行实现一种多线程分段下载方法,包括:发起试探请求,其中所述试探请求用于请求从网络下载文件;接收下载 响应以获取所述文件的大小;根据所述文件的大小将所述文件划分成多个区间段,其中所述试探请求所处的所述区间段是第一区间段;针对所述第一区间段之外的其它区间段发起下载请求;将通过所述试探请求下载的所述第一区间段的数据和所述其它区间段的数据合并成所述文件。According to a fifth aspect of the present application, there is provided a computer readable storage medium carrying one or more computer programs thereon, the one or more processors being executed by one or more processors Performing a multi-threaded segment downloading method, comprising: initiating a heuristic request, wherein the heuristic request is for requesting to download a file from a network; receiving a download response to obtain a size of the file; The file is divided into a plurality of interval segments, wherein the interval segment in which the probe request is located is a first interval segment; a download request is initiated for other interval segments other than the first interval segment; The data of the first interval segment and the data of the other interval segments are merged into the file.

根据本申请的一个实施例,可以减小开始多线程分段下载的时间。According to one embodiment of the present application, the time to start multi-threaded segment downloading can be reduced.

通过以下参照附图对本申请的示例性实施例的详细描述,本申请的其它特征及其优点将会变得清楚。Other features and advantages of the present application will become apparent from the following detailed description of the exemplary embodiments.

附图说明DRAWINGS

被结合在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且连同其说明一起用于解释本申请的原理。The accompanying drawings, which are incorporated in FIG

图1A是根据本申请的一个实施例的多线程分段下载方法的示意性流程图。FIG. 1A is a schematic flowchart of a multi-thread segment downloading method according to an embodiment of the present application.

图1B是根据本申请的一个实施例的多线程分段下载设备的示意性框图。FIG. 1B is a schematic block diagram of a multi-threaded segment download device in accordance with one embodiment of the present application.

图2是根据本申请的另一个实施例的电子设备的示意性框图。2 is a schematic block diagram of an electronic device in accordance with another embodiment of the present application.

图3是可以应用本申请的技术方案的网络系统的一个实施方式的示意图。FIG. 3 is a schematic diagram of one embodiment of a network system to which the technical solution of the present application can be applied.

具体实施方式detailed description

现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。Various exemplary embodiments of the present application will now be described in detail with reference to the drawings. It should be noted that the relative arrangement of the components and steps, numerical expressions and numerical values set forth in the embodiments are not intended to limit the scope of the application.

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。The following description of the at least one exemplary embodiment is merely illustrative and is in no way

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。Techniques, methods and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail, but the techniques, methods and apparatus should be considered as part of the specification, where appropriate.

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是 示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。In all of the examples shown and discussed herein, any specific values are to be construed as illustrative only and not as a limitation. Thus, other examples of the exemplary embodiments may have different values.

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。It should be noted that similar reference numerals and letters indicate similar items in the following figures, and therefore, once an item is defined in one figure, it is not required to be further discussed in the subsequent figures.

下面,参照附图描述根据本申请的各个实施例。Hereinafter, various embodiments according to the present application will be described with reference to the accompanying drawings.

<方法><method>

图1A是根据本申请的一个实施例的多线程分段下载方法的示意性流程图。FIG. 1A is a schematic flowchart of a multi-thread segment downloading method according to an embodiment of the present application.

如图1A所示,在步骤S1100,发起试探请求。所述试探请求用于请求从网络下载文件。As shown in FIG. 1A, in step S1100, a probe request is initiated. The heuristic request is for requesting to download a file from the network.

所述试探请求可以请求完整的文件。例如,所述试探请求的请求头中的“range”字段的值是“bytes=0-”,这表示所请求的文件的数据流的区间段是从第0字节到最后。The heuristic request can request a complete file. For example, the value of the "range" field in the request header of the probe request is "bytes=0-", which means that the section of the data stream of the requested file is from the 0th byte to the last.

例如,用户通过电子设备中的客户端设备或者应用软件中的多线程分段下载设备向网络上的服务器或设备发送试探请求。网络上的服务器或设备在收到所述请求之后将下载响应返回给用户,以便用户开始下载操作。For example, a user sends a heuristic request to a server or device on the network through a client device in the electronic device or a multi-threaded segment download device in the application software. The server or device on the network returns the download response to the user after receiving the request, so that the user can start the download operation.

在步骤S1200,接收下载响应以获取文件的大小。At step S1200, a download response is received to obtain the size of the file.

例如,基于现有技术的方案,可以基于下载响应的响应头中的“content-range”或“content-length”字段获取文件的大小。随着技术的发展,也可以基于其他字段或信息获取所述文件的大小。For example, based on the prior art scheme, the size of the file can be obtained based on the "content-range" or "content-length" field in the response header of the download response. As the technology evolves, the size of the file can also be obtained based on other fields or information.

在步骤S1300,根据文件的大小将文件划分成多个区间段。试探请求所处的区间段是第一区间段。这里,第一区间段不表示该区间段是该区间段的位置,而表示试探请求所处的区间段。In step S1300, the file is divided into a plurality of section segments according to the size of the file. The interval segment in which the probe request is located is the first interval segment. Here, the first interval segment does not indicate that the interval segment is the position of the interval segment, but represents the interval segment in which the trial request is located.

在步骤S1400,针对之外第一区间段之外的其它区间段发起下载请求。At step S1400, a download request is initiated for other interval segments other than the first interval segment.

在一个例子中,平均划分多个区间段,多个区间段的大小相同。例如,文件的总字节数为600,该文件被平均划分成3个区间段,分别是[0~200]、[200~400]、[400~600]。In one example, a plurality of interval segments are equally divided, and the plurality of interval segments have the same size. For example, the total number of bytes of a file is 600, and the file is equally divided into three sections, which are [0 to 200], [200 to 400], and [400 to 600], respectively.

这里,试探请求所处的线程不被终止,而是继续进行下载。例如,当线程的下载量达到第一区间段的大小[0~200]时,断开线程并停止下载。Here, the thread in which the probe request is located is not terminated, but continues to be downloaded. For example, when the download amount of the thread reaches the size of the first interval [0 to 200], the thread is disconnected and the download is stopped.

例如,可以针对其他区间段[200~400]和[400~600]发起下载请求,因此下载请求的请求头中的”range”字段的值分别被设置为“bytes=200-400”和“bytes=400-600”,以下载对应区间段的数据。For example, a download request can be initiated for other interval segments [200-400] and [400-600], so the values of the "range" field in the request header of the download request are set to "bytes=200-400" and "bytes", respectively. =400-600" to download the data of the corresponding interval segment.

此外,与现有技术不同之处在于,本申请的实施例不停止试探请求的下载。因此,当发起其他区间段的下载请求时,试探请求已经下载了一部分数据。由于在现有技术中,试探请求被断开,因此,现有技术不需要针对试探请求已经下载了一部分数据的情况进行考虑。在本申请的实施例则考虑到这一种情况,第一区间段的大小可以大于其它区间段中的每个区间段的大小。Moreover, the difference from the prior art is that the embodiment of the present application does not stop the download of the probe request. Therefore, when a download request for another interval segment is initiated, the heuristic request has already downloaded a portion of the data. Since the probe request is disconnected in the prior art, the prior art does not need to be considered for the case where the probe request has downloaded a part of the data. In the embodiment of the present application, considering the case, the size of the first interval segment may be larger than the size of each of the other interval segments.

进一步地,随着网络技术发展,网络速度越来越快。当发起其它下载请求时,可能已经通过试探请求下载了大量数据。如果按照现有技术的平均划分区间段的方式,可能不能充分利用多线程分段下载的优势。例如,当其他区间段的数据正在下载时,第一区间段已经下载完毕。另外,如果网络速度很快,当划分多个区间段时,通过试探请求下载的数据量已经超过第一区间段的大小,这可能造成重复下载或网络资源的浪费。Further, with the development of network technology, the network speed is getting faster and faster. When other download requests are initiated, a large amount of data may have been downloaded through the heuristic request. If the average segmentation interval is in accordance with the prior art, the advantages of multi-threaded segmentation download may not be fully utilized. For example, when the data of other interval segments is being downloaded, the first interval segment has been downloaded. In addition, if the network speed is fast, when dividing a plurality of interval segments, the amount of data downloaded through the heuristic request has exceeded the size of the first interval segment, which may cause repeated downloading or waste of network resources.

因此,可以基于网络速度设置第一区间段与其它区间段中的每个区间段的差值。这样,例如,在一般情况下使得第一区间段的下载与其它区间段的下载能够一致,以同时或基本同时完成。例如,可以基于网络速度预测,当开始其它区间段的下载时,通过试探请求的下载量来确定第一区间段与其他区间段的每个区间段的差值。Therefore, the difference between the first interval segment and each of the other segment segments can be set based on the network speed. Thus, for example, in general, the download of the first interval segment can be consistent with the download of other interval segments to be completed simultaneously or substantially simultaneously. For example, based on the network speed prediction, when the download of the other interval segments is started, the difference between the first interval segment and each of the other segment segments is determined by the download amount of the probe request.

可选地,还可以基于在发起下载请求时,通过试探请求已经下载的数据量,设置第一区间段与其它区间段中的每个区间段的差值。Optionally, the difference between the first interval segment and each of the other interval segments may also be set based on the amount of data that has been downloaded by the heuristic request when the download request is initiated.

在步骤S1500,将通过试探请求下载的第一区间段的数据和其它区间段的数据合并成所述文件。At step S1500, the data of the first section segment downloaded by the heuristic request and the data of the other section segments are merged into the file.

在所述实施例中,试探请求的下载进程不被终止。这样,可以减少发起下载请求的次数。这可以减小服务器的处理压力。此外,这还可以加快下载速度,从而提升用户的下载体验。In the described embodiment, the download process of the probe request is not terminated. This way, the number of times a download request is initiated can be reduced. This can reduce the processing pressure of the server. In addition, this speeds up downloads and improves the user's download experience.

<设备><device>

本领域技术人员应当理解,在电子技术领域中,可以通过软件、硬件以及软件和硬件结合的方式,将上述方法体现在产品中本领域技术人员很容易基于上面公开的方法,产生一种多线程分段下载设备,所述设备包括用于执行根据所述实施例的多线程分段下载方法中的各个操作。It should be understood by those skilled in the art that in the field of electronic technology, the above method can be embodied in a product by software, hardware, and a combination of software and hardware. Those skilled in the art can easily generate a multi-thread based on the method disclosed above. The segment download device includes operations for performing the multi-thread segment download method according to the embodiment.

图1B是根据本申请的一个实施例的多线程分段下载设备的示意性框图。如图1B所示,所述多线程分段下载设备100包括试探请求模块102、接收模块104、划分模块106、下载请求模块108、合并模块110以及设置模块112。试探请求模块102用于发起试探请求,其中所述试探请求模块102用于请求从网络下载文件。接收模块104用于接收下载响应以获取文件的大小。划分模块106用于根据文件的大小将文件划分成多个区间段,其中试探请求所处的区间段是第一区间段。下载请求模块108用于针对第一区间段之外的其它区间段发起下载请求。合并模块110用于将通过试探请求下载的第一区间段的数据和其它区间段的数据合并成所述文件。设置模块112基于网络速度,用于设置第一区间段与其它区间段中的每个区间段的差值。设置模块112还可以基于在发起下载请求时,通过试探请求已经下载的数据量,用于设置第一区间段与其它区间段中的每个区间段的差值。FIG. 1B is a schematic block diagram of a multi-threaded segment download device in accordance with one embodiment of the present application. As shown in FIG. 1B, the multi-threaded segment downloading device 100 includes a heuristic request module 102, a receiving module 104, a partitioning module 106, a download requesting module 108, a merging module 110, and a setting module 112. The heuristic request module 102 is configured to initiate a heuristic request, wherein the heuristic request module 102 is configured to request to download a file from a network. The receiving module 104 is configured to receive a download response to obtain a size of the file. The dividing module 106 is configured to divide the file into a plurality of interval segments according to the size of the file, wherein the interval segment in which the probe request is located is the first interval segment. The download request module 108 is configured to initiate a download request for other interval segments other than the first interval segment. The merging module 110 is configured to merge the data of the first interval segment downloaded by the heuristic request and the data of other interval segments into the file. The setting module 112 is configured to set a difference between the first interval segment and each of the other interval segments based on the network speed. The setting module 112 can also be configured to set a difference between the first interval segment and each of the other interval segments by the amount of data that has been downloaded by the heuristic request when the download request is initiated.

此外,基于上面公开的方法,还可以产生一种客户端设备,所述客户端设备执行根据所述实施例的多线程分段下载方法。Further, based on the method disclosed above, it is also possible to generate a client device that performs the multi-thread segment download method according to the embodiment.

本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机系统软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由应当来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。对于技术人员来说,软件实现方式和硬件实现方式是等同的。技术人员可以根据需要选择软件或硬件来实现上述方案。因此,这里不对具体的软件或硬件进行限制。It is well known to those skilled in the art that with the development of electronic information technology such as large scale integrated circuit technology and the trend of software hardware, it has become difficult to clearly define the software and hardware boundaries of computer systems. Because any operation can be implemented in software, it can also be implemented by it. Execution of any instruction can be done by hardware, as well as by software. Whether a hardware implementation or a software implementation is used for a certain machine function depends on non-technical factors such as price, speed, reliability, storage capacity, and change cycle. For the technician, the software implementation and the hardware implementation are equivalent. The technician can select software or hardware as needed to implement the above solution. Therefore, no specific software or hardware is limited here.

<电子设备><electronic equipment>

可以在电子设备中实现根据本申请的各个实施例。所述电子设备例如是笔记本电脑、智能手机、平板电脑等。此外,所述电子设备还可以是服务器等。Various embodiments in accordance with the present application can be implemented in an electronic device. The electronic device is, for example, a notebook computer, a smart phone, a tablet computer, or the like. Further, the electronic device may also be a server or the like.

图2是根据本申请的另一个实施例的电子设备的示意性框图。2 is a schematic block diagram of an electronic device in accordance with another embodiment of the present application.

如图2所示,电子设备2000可以包括处理器2010、存储器2020、接口装置2030、通信装置2040、显示装置2050、输入装置2060、扬声器2070、麦克风2080,等等。As shown in FIG. 2, the electronic device 2000 can include a processor 2010, a memory 2020, an interface device 2030, a communication device 2040, a display device 2050, an input device 2060, a speaker 2070, a microphone 2080, and the like.

处理器2010例如可以是中央处理器CPU、微处理器MCU等。存储器2020例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。处理器2010通过总线耦接存储器2020。接口装置2030例如包括USB接口、耳机接口等。通信装置2040例如能够进行有有线或无线通信。显示装置2050例如是液晶显示屏、触摸显示屏等。输入装置2060例如可以包括触摸屏、键盘等。用户可以通过扬声器2070和麦克风2080输入/输出语音信息。The processor 2010 can be, for example, a central processing unit CPU, a microprocessor MCU, or the like. The memory 2020 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a nonvolatile memory such as a hard disk, and the like. The processor 2010 is coupled to the memory 2020 via a bus. The interface device 2030 includes, for example, a USB interface, a headphone jack, and the like. The communication device 2040 can perform wired or wireless communication, for example. The display device 2050 is, for example, a liquid crystal display, a touch display, or the like. Input device 2060 can include, for example, a touch screen, a keyboard, and the like. The user can input/output voice information through the speaker 2070 and the microphone 2080.

图2所示的电子设备仅是解释性的,并且决不是为了要限制本申请、其应用或用途。The electronic device shown in Figure 2 is merely illustrative and is in no way intended to limit the application, its application or use.

在这个实施例中,所述存储器2020用于存储计算机程序,以及执行所述计算机程序产生的候选中间数据以及结果数据。当所述电子设备2000运行时,计算机程序由处理器2010执行前面参照图1所述的多线程分段下载方法。本领域技术人员应当理解,尽管在图2中示出了多个装置,但是,本申请可以仅涉及其中的部分装置,例如,处理器2010和存储装置2020等。技术人员可以根据本申请所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。In this embodiment, the memory 2020 is used to store computer programs and to execute candidate intermediate data and result data generated by the computer programs. When the electronic device 2000 is running, the computer program is executed by the processor 2010 to perform the multi-thread segment download method described above with reference to FIG. It will be understood by those skilled in the art that although a plurality of devices are illustrated in FIG. 2, the present application may relate only to some of the devices, such as processor 2010 and storage device 2020, and the like. A technician can design an instruction in accordance with the teachings disclosed herein. How the instructions control the processor for operation is well known in the art and will not be described in detail herein.

<实施方式><Embodiment>

图3是可以应用本申请的技术方案的网络系统的一个实施方式的示意图。FIG. 3 is a schematic diagram of one embodiment of a network system to which the technical solution of the present application can be applied.

如图3所示,服务器3040、电子设备3020、3030通过网络3010相互连接。所述连接可以包括有线连接、无线连接或二者的结合。As shown in FIG. 3, the server 3040 and the electronic devices 3020 and 3030 are connected to each other through a network 3010. The connection may include a wired connection, a wireless connection, or a combination of both.

可以在服务器3040、电子设备3020、3030的任何一个中实现上 述实施例中的技术方案。The technical solution in the above embodiment can be implemented in any of the server 3040, the electronic devices 3020, 3030.

例如,根据本申请的实施例,发起试探请求A,得到文件的字节数是600。假设试探请求耗时5秒。例如,将文件平均分成三个区间段,分别是[0~200]、[200~400]、[400~600]。试探请求A的线程用于下载第一区间段[0~200]。当该线程下载的数据量达到200字节时,停止该线程的下载。分别针对区间段[200~400]、[400~600]发起下载请求。For example, according to an embodiment of the present application, the probe request A is initiated, and the number of bytes of the obtained file is 600. Assume that the probe request takes 5 seconds. For example, the file is divided into three interval segments equally, which are [0 to 200], [200 to 400], and [400 to 600]. The thread requesting the request A is used to download the first interval segment [0-200]. When the amount of data downloaded by the thread reaches 200 bytes, the download of the thread is stopped. A download request is initiated for the interval segments [200 to 400] and [400 to 600], respectively.

可选地,如前面所述,第一区间段的大小可以大于其它区间段。Alternatively, as described above, the size of the first interval segment may be larger than the other interval segments.

在这个实施例中,发起了三个请求,并且在5秒后开始真正下载数据。In this embodiment, three requests are initiated and the actual download of data begins after 5 seconds.

<存储介质><Storage Medium>

本申请可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本申请的各个方面的计算机可读程序指令。The application can be an apparatus, method, and/or computer program product. The computer program product can comprise a computer readable storage medium having computer readable program instructions embodied thereon for causing a processor to implement various aspects of the present application.

本申请还提供一种计算机可读存储介质,其上承载一个或多个计算机指令程序。计算机指令程序被一个或多个处理器执行时,一个或多个处理器执行实现一种多线程分段下载方法,包括:发起试探请求,其中所述试探请求用于请求从网络下载文件;接收下载响应以获取所述文件的大小;根据所述文件的大小将所述文件划分成多个区间段,其中所述试探请求所处的所述区间段是第一区间段;针对所述第一区间段之外的其它区间段发起下载请求;将通过所述试探请求下载的所述第一区间段的数据和所述其它区间段的数据合并成所述文件。The application also provides a computer readable storage medium carrying one or more computer program programs thereon. When the computer program is executed by one or more processors, the one or more processors perform a multi-thread segment download method, including: initiating a probe request, wherein the probe request is for requesting to download a file from the network; Downloading a response to obtain a size of the file; dividing the file into a plurality of interval segments according to a size of the file, wherein the interval segment in which the probe request is located is a first interval segment; The other section segments other than the section segment initiate a download request; the data of the first section segment downloaded by the heuristic request and the data of the other section segments are merged into the file.

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储 有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。The computer readable storage medium can be a tangible device that can hold and store the instructions used by the instruction execution device. The computer readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (non-exhaustive list) of computer readable storage media include: portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM) Or flash memory), static random access memory (SRAM), portable compact disk read only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device, for example, with instructions stored thereon A raised structure in the hole card or groove, and any suitable combination of the above. A computer readable storage medium as used herein is not to be interpreted as a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (eg, a light pulse through a fiber optic cable), or through a wire The electrical signal transmitted.

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。The computer readable program instructions described herein can be downloaded from a computer readable storage medium to various computing/processing devices or downloaded to an external computer or external storage device over a network, such as the Internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium in each computing/processing device .

用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言-诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。Computer program instructions for performing the operations of the present application can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine related instructions, microcode, firmware instructions, state setting data, or in one or more programming languages. Source code or object code written in any combination, including object oriented programming languages such as Smalltalk, C++, etc., as well as conventional procedural programming languages such as the "C" language or similar programming languages. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer, partly on the remote computer, or entirely on the remote computer or server. carried out. In the case of a remote computer, the remote computer can be connected to the user's computer via any kind of network, including a local area network (LAN) or wide area network (WAN), or can be connected to an external computer (eg, using an Internet service provider to access the Internet) connection). In some embodiments, the customized electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), can be customized by utilizing state information of computer readable program instructions. Computer readable program instructions are executed to implement various aspects of the present application.

这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由 计算机可读程序指令实现。Aspects of the present application are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (system) and computer program products according to embodiments of the present application. It will be understood that each block of the flowchart illustrations and/or FIG. <RTIgt; </ RTI> and combinations of blocks in the flowcharts and/or block diagrams can be implemented by computer readable program instructions.

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。The computer readable program instructions can be provided to a general purpose computer, a special purpose computer, or a processor of other programmable data processing apparatus to produce a machine such that when executed by a processor of a computer or other programmable data processing apparatus Means for implementing the functions/acts specified in one or more of the blocks of the flowcharts and/or block diagrams. The computer readable program instructions can also be stored in a computer readable storage medium that causes the computer, programmable data processing device, and/or other device to operate in a particular manner, such that the computer readable medium storing the instructions includes An article of manufacture that includes instructions for implementing various aspects of the functions/acts recited in one or more of the flowcharts.

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。The computer readable program instructions can also be loaded onto a computer, other programmable data processing device, or other device to perform a series of operational steps on a computer, other programmable data processing device or other device to produce a computer-implemented process. Thus, instructions executed on a computer, other programmable data processing apparatus, or other device implement the functions/acts recited in one or more of the flowcharts and/or block diagrams.

附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。The flowchart and block diagrams in the Figures illustrate the architecture, functionality and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagram can represent a module, a program segment, or a portion of an instruction that includes one or more components for implementing the specified logical functions. Executable instructions. In some alternative implementations, the functions noted in the blocks may also occur in a different order than those illustrated in the drawings. For example, two consecutive blocks may be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending upon the functionality involved. It is also noted that each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts, can be implemented in a dedicated hardware-based system that performs the specified function or function. Or it can be implemented by a combination of dedicated hardware and computer instructions. It is well known to those skilled in the art that implementation by hardware, implementation by software, and implementation by a combination of software and hardware are equivalent.

以上已经描述了本申请的各实施例,上述说明是示例性的,并非 穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本申请的范围由所附权利要求来限定。The embodiments of the present application have been described above, and the foregoing description is illustrative, not limiting, and not limited to the disclosed embodiments. Numerous modifications and changes will be apparent to those skilled in the art without departing from the scope of the invention. The choice of terms used herein is intended to best explain the principles, practical applications, or technical improvements in the various embodiments of the embodiments, or to enable those of ordinary skill in the art to understand the embodiments disclosed herein. The scope of the application is defined by the appended claims.

工业实用性Industrial applicability

本申请的多线程分段下载方法、设备、客户端设备、电子设备以及存储介质,通过试探请求的下载进程不被终止,可以减少发起下载请求的次数以及开始多线程分段下载的时间,还可以降低服务器的处理压力,更可以加快下载速度,从而提升用户的下载体验。The multi-thread segment downloading method, the device, the client device, the electronic device, and the storage medium of the present application can reduce the number of times the download request is initiated and the time for starting the multi-threaded segment download by not stopping the download process of the probe request. It can reduce the processing pressure of the server, and speed up the download speed, thereby improving the user's download experience.

Claims (15)

一种多线程分段下载方法,包括:A multi-thread segment downloading method includes: 发起试探请求,其中所述试探请求用于请求从网络下载文件;Initiating a heuristic request, wherein the heuristic request is for requesting to download a file from a network; 接收下载响应以获取所述文件的大小;Receiving a download response to obtain the size of the file; 根据所述文件的大小将所述文件划分成多个区间段,其中所述试探请求所处的所述区间段是第一区间段;Dividing the file into a plurality of interval segments according to a size of the file, wherein the interval segment in which the heuristic request is located is a first interval segment; 针对所述第一区间段之外的其它区间段发起下载请求;以及Initiating a download request for other interval segments other than the first interval segment; 将通过所述试探请求下载的所述第一区间段的数据和所述其它区间段的数据合并成所述文件。The data of the first section segment downloaded by the heuristic request and the data of the other section segments are merged into the file. 根据权利要求1所述的方法,其中所述试探请求的请求头中的“range”字段的值是“bytes=0-”。The method of claim 1 wherein the value of the "range" field in the request header of the heuristic request is "bytes = 0-". 根据权利要求1所述的方法,其中基于下载响应的响应头中的“content-range”或“content-length”字段获取所述文件的大小。The method of claim 1, wherein the size of the file is obtained based on a "content-range" or "content-length" field in a response header of the download response. 根据权利要求1所述的方法,其中所述多个区间段的大小相同。The method of claim 1 wherein said plurality of interval segments are the same size. 根据权利要求1所述的方法,其中所述第一区间段的大小大于所述其它区间段中的每个区间段的大小。The method of claim 1 wherein the size of the first interval segment is greater than the size of each of the other interval segments. 根据权利要求5所述的方法,其中基于网络速度,设置所述第一区间段与所述其它区间段中的每个区间段的差值。The method of claim 5, wherein a difference between each of the first interval segment and the other interval segment is set based on a network speed. 根据权利要求5所述的方法,其中基于在发起所述下载请求时,通过所述试探请求已经下载的数据量,设置所述第一区间段与所述其它区间段中的每个区间段的差值。The method according to claim 5, wherein each of the first interval segment and the other interval segment is set based on an amount of data that has been downloaded by the heuristic request when the download request is initiated Difference. 一种多线程分段下载设备,包括:A multi-threaded segment downloading device, comprising: 试探请求模块,用于发起试探请求,其中所述试探请求模块用于 请求从网络下载文件;a trial request module, configured to initiate a probe request, wherein the probe request module is configured to request to download a file from a network; 接收模块,用于接收下载响应以获取所述文件的大小;a receiving module, configured to receive a download response to obtain a size of the file; 划分模块,用于根据所述文件的大小将所述文件划分成多个区间段,其中所述试探请求所处的所述区间段是第一区间段;a dividing module, configured to divide the file into a plurality of interval segments according to a size of the file, where the interval segment in which the heuristic request is located is a first interval segment; 下载请求模块,用于针对所述第一区间段之外的其它区间段发起下载请求;以及a download request module, configured to initiate a download request for other interval segments other than the first interval segment; 合并模块,用于将通过所述试探请求下载的所述第一区间段的数据和所述其它区间段的数据合并成所述文件。And a merging module, configured to merge data of the first interval segment downloaded by the heuristic request and data of the other interval segments into the file. 根据权利要求8所述的多线程分段下载设备,还包括设置模块,基于网络速度,用于设置所述第一区间段与所述其它区间段中的每个区间段的差值。The multi-thread segment download device of claim 8, further comprising a setting module for setting a difference value between each of the first interval segment and the other interval segment based on a network speed. 根据权利要求8所述的多线程分段下载设备,还包括设置模块,基于在发起所述下载请求时,通过所述试探请求已经下载的数据量,用于设置所述第一区间段与所述其它区间段中的每个区间段的差值。The multi-thread segment downloading device according to claim 8, further comprising a setting module, configured to set the first interval segment and the location based on the amount of data that has been downloaded by the heuristic request when the download request is initiated The difference between each interval segment in the other interval segments. 一种客户端设备,所述客户端设备执行权利要求1-7中的任何一项所述的多线程分段下载方法。A client device that performs the multi-thread segment download method of any one of claims 1-7. 一种电子设备,包括存储器和处理器;其中所述存储器用于存储计算机程序,以及执行所述计算机程序产生的候选中间数据以及结果数据;所述处理器耦接所述存储器,当所述计算机程序由所述处理器执行时,所述处理器执行以下操作步骤:An electronic device comprising a memory and a processor; wherein the memory is for storing a computer program, and executing candidate intermediate data and result data generated by the computer program; the processor is coupled to the memory when the computer When the program is executed by the processor, the processor performs the following steps: 发起试探请求,其中所述试探请求用于请求从网络下载文件;Initiating a heuristic request, wherein the heuristic request is for requesting to download a file from a network; 接收下载响应以获取所述文件的大小;Receiving a download response to obtain the size of the file; 根据所述文件的大小将所述文件划分成多个区间段,其中所述试探请求所处的所述区间段是第一区间段;Dividing the file into a plurality of interval segments according to a size of the file, wherein the interval segment in which the heuristic request is located is a first interval segment; 针对所述第一区间段之外的其它区间段发起下载请求;以及Initiating a download request for other interval segments other than the first interval segment; 将通过所述试探请求下载的所述第一区间段的数据和所述其它区间段的数据合并成所述文件。The data of the first section segment downloaded by the heuristic request and the data of the other section segments are merged into the file. 根据权利要求12所述的电子设备,其中基于网络速度,所述处理器执行设置所述第一区间段与所述其它区间段中的每个区间段的差值。The electronic device of claim 12, wherein the processor performs setting a difference between each of the first interval segment and the other interval segment based on a network speed. 根据权利要求12所述的电子设备,其中基于在发起所述下载请求时,通过所述试探请求已经下载的数据量,所述处理器执行设置所述第一区间段与所述其它区间段中的每个区间段的差值。The electronic device of claim 12, wherein the processor performs setting the first interval segment and the other interval segment based on an amount of data that has been downloaded by the heuristic request when the download request is initiated The difference between each interval segment. 一种计算机可读存储介质,其上承载一个或多个计算机程序,所述计算机程序被一个或多个处理器执行时,所述一个或多个处理器执行权利要求1至7任一项所述的多线程分段下载方法。A computer readable storage medium carrying one or more computer programs executed by one or more processors, the one or more processors executing any one of claims 1 to 7 The multi-thread segmentation download method described.
PCT/CN2018/077844 2017-03-03 2018-03-02 Multi-thread segmented downloading method, device, client device, electronic device and storage medium Ceased WO2018157850A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710123956.4A CN106982249A (en) 2017-03-03 2017-03-03 Multithreading segmentation method for down loading, equipment, client device and electronic equipment
CN201710123956.4 2017-03-03

Publications (1)

Publication Number Publication Date
WO2018157850A1 true WO2018157850A1 (en) 2018-09-07

Family

ID=59338734

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/077844 Ceased WO2018157850A1 (en) 2017-03-03 2018-03-02 Multi-thread segmented downloading method, device, client device, electronic device and storage medium

Country Status (2)

Country Link
CN (1) CN106982249A (en)
WO (1) WO2018157850A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112769949A (en) * 2021-01-20 2021-05-07 杭州鸿泉物联网技术股份有限公司 File transmission method and device, electronic equipment and storage medium

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106982249A (en) * 2017-03-03 2017-07-25 广州优视网络科技有限公司 Multithreading segmentation method for down loading, equipment, client device and electronic equipment
CN109525624B (en) * 2017-09-20 2022-01-04 腾讯科技(深圳)有限公司 Container login method and device and storage medium
CN108306961A (en) * 2018-01-29 2018-07-20 广东五科技股份有限公司 A kind of file block method for down loading and device
CN108536779A (en) * 2018-03-29 2018-09-14 努比亚技术有限公司 Interface merging method, server, terminal, system and computer-readable medium
CN109496418B (en) * 2018-05-31 2021-10-08 杭州橙云科技创新服务有限公司 File download method, device and device/terminal/server
CN110912955B (en) * 2018-09-17 2022-04-05 阿里巴巴集团控股有限公司 Container mirror image downloading and uploading method and device
CN110784520A (en) * 2019-09-30 2020-02-11 北京字节跳动网络技术有限公司 File downloading method and device and electronic equipment
CN114500496A (en) * 2020-10-27 2022-05-13 华为终端有限公司 Target data downloading method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702592A (en) * 2015-01-08 2015-06-10 三星电子(中国)研发中心 Method and device for downloading stream media
CN104768051A (en) * 2015-03-06 2015-07-08 深圳市九洲电器有限公司 Self-adaption switching method and system for multi-coding form program streams
CN105897911A (en) * 2016-05-20 2016-08-24 广州优视网络科技有限公司 File downloading method and device and user terminal
CN106254566A (en) * 2016-10-31 2016-12-21 乐视控股(北京)有限公司 A kind of data download processing method and device
US9552221B1 (en) * 2013-12-23 2017-01-24 Google Inc. Monitoring application execution using probe and profiling modules to collect timing and dependency information
CN106982249A (en) * 2017-03-03 2017-07-25 广州优视网络科技有限公司 Multithreading segmentation method for down loading, equipment, client device and electronic equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506950A (en) * 2014-12-29 2015-04-08 珠海全志科技股份有限公司 Multithread download method and download device in network streaming media play, and download equipment
CN106254561B (en) * 2016-10-12 2019-12-17 上海安馨信息科技有限公司 real-time off-line downloading method and system for network resource file

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552221B1 (en) * 2013-12-23 2017-01-24 Google Inc. Monitoring application execution using probe and profiling modules to collect timing and dependency information
CN104702592A (en) * 2015-01-08 2015-06-10 三星电子(中国)研发中心 Method and device for downloading stream media
CN104768051A (en) * 2015-03-06 2015-07-08 深圳市九洲电器有限公司 Self-adaption switching method and system for multi-coding form program streams
CN105897911A (en) * 2016-05-20 2016-08-24 广州优视网络科技有限公司 File downloading method and device and user terminal
CN106254566A (en) * 2016-10-31 2016-12-21 乐视控股(北京)有限公司 A kind of data download processing method and device
CN106982249A (en) * 2017-03-03 2017-07-25 广州优视网络科技有限公司 Multithreading segmentation method for down loading, equipment, client device and electronic equipment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112769949A (en) * 2021-01-20 2021-05-07 杭州鸿泉物联网技术股份有限公司 File transmission method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN106982249A (en) 2017-07-25

Similar Documents

Publication Publication Date Title
WO2018157850A1 (en) Multi-thread segmented downloading method, device, client device, electronic device and storage medium
TW201935343A (en) File processing method, device, and equipment
US9544399B2 (en) Visually depicting cloud resource utilization during execution of an application
WO2018201746A1 (en) Video pre-loading method, device, video player and electronic device
AU2015340844B2 (en) Controlling execution of threads in a multi-threaded processor
US20200150986A1 (en) Path-sensitive contextual help system
WO2018177032A1 (en) Method and device for processing response data, client device and electronic device
WO2018171289A1 (en) Method and device for storing data to database, middleware device, and server
WO2019085653A1 (en) Page information display method, device, and client
CN110391938A (en) Method and apparatus for deploying services
CN114528269A (en) Method, electronic device and computer program product for processing data
CN111198996A (en) Page display method and device and electronic equipment
CN116569141A (en) workflow patching
CN107291566A (en) The method and apparatus that delay task is performed
US10754669B2 (en) Running an application within an application execution environment and preparation of an application for the same
CN107515947A (en) picture loading method and its system
KR20250050980A (en) Image processing method and device, apparatus and medium
US10769063B2 (en) Spin-less work-stealing for parallel copying garbage collection
CN113810773B (en) Video downloading method and device, electronic equipment and storage medium
US9304780B2 (en) User initiated data rollback using operating system partitions
CN114510284A (en) Page loading method, apparatus, electronic device and readable storage medium
US11366613B2 (en) Method and apparatus for writing data
US10839036B2 (en) Web browser having improved navigational functionality
US9471339B1 (en) Enhanced computer performance based on selectable device capabilities
CN118796270A (en) Instruction encoding method, device, electronic device and medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18761373

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18761373

Country of ref document: EP

Kind code of ref document: A1