Apparatus and method for downloading large amounts of data - Patents.com
The described method and apparatus improve browser efficiency during large data downloads by using a download agent to manage threads and perform socket-based downloads, allowing the browser to be used for other tasks while downloads are in progress.
Patent Information
- Application Number
- JP2024089906
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-12-11
- Filing Date
- 2024-06-03
- Publication Date
- 2025-04-02
- Estimated Expiration
- 2044-06-03
AI Technical Summary
Existing downloading technologies through browsers are inefficient as they require continuous Alive signals to maintain the download thread, preventing the browser from being used for other tasks during the download process.
A method and apparatus that utilize a download agent to manage large data downloads by assigning a thread for each download request and performing socket-based downloads, allowing the browser to be used for other tasks while the download is in progress.
Enables simultaneous use of the browser for other tasks during large data downloads, improving user productivity by allowing downloads to run in the background without blocking browser functionality.
Smart Images

Figure 0007656131000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a downloading technique, and more particularly to an apparatus for downloading large amounts of data and a method therefor. [Background technology]
[0002] When downloading data through a browser, a request must be sent from the web and a response must be waited for, and in order to maintain the download thread, an Alive signal must be continuously transmitted, so the browser cannot be used for other tasks during the download. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Korean Patent Publication No. 2011-0025055 Summary of the Invention [Problem to be solved by the invention]
[0004] It is an object of the present invention to provide an apparatus for downloading large amounts of data and a method therefor. [Means for solving the problem]
[0005] The method for downloading large amounts of data of the present invention includes a step of a browser module receiving a download request for data, a step of the browser module determining whether the download request meets a predetermined event condition, a step of the browser module transmitting the download request to a download agent by providing download information corresponding to the download request to the download agent as a result of the determination, and a step of the download agent downloading the data according to the download information.
[0006] The method further includes, upon completion of the download, an export module processes the data according to a predetermined file format and exports the downloaded data.
[0007] The step of downloading the data may further comprise allocating a thread to the download agent whenever the download request is received, and performing a download process in a socket manner through the allocated thread.
[0008] The event condition includes a case where the volume of data corresponding to the download request is equal to or larger than a predetermined volume.
[0009] The event condition includes a case where the download speed at the time of the download request is less than a predetermined speed.
[0010] The event condition includes a case where a time required for downloading based on the data volume according to the download request and the download speed at the time of the download request is equal to or longer than a predetermined time.
[0011] The method for downloading large amounts of data of the present invention includes a step of a browser module receiving a download request for data, a step of the browser module determining whether the download request matches a predetermined event condition, and a step of the browser module transmitting the download request to the download agent by providing download information corresponding to the download request to the download agent as a result of the determination, a step of the download agent allocating a thread in response to the download request and performing downloading in a socket manner through the allocated thread, and a step of the download agent downloading the data according to the download information.
[0012] The apparatus for downloading large amounts of data of the present invention includes a browser module that, upon receiving a download request for data, determines whether the download request meets a predetermined event condition, and, if the determination results in the download request meeting a predetermined event condition, transmits the download request to the download agent by providing download information corresponding to the download request to the download agent, and the download agent that downloads the data according to the download information.
[0013] The apparatus further includes an export module that processes the data according to a predetermined file format and exports the downloaded data once the download is complete.
[0014] The download agent allocates a thread whenever the download request is received, and performs a download process in a socket manner through the allocated thread.
[0015] The event condition includes a case where the volume of data corresponding to the download request is equal to or larger than a predetermined volume.
[0016] The event condition includes a case where the download speed at the time of the download request is less than a predetermined speed.
[0017] The event condition includes a case where a time required for downloading based on the data volume according to the download request and the download speed at the time of the download request is equal to or longer than a predetermined time.
[0018] The apparatus for downloading large amounts of data of the present invention further includes a browser module that, upon receiving a download request for data, determines whether the download request meets a predetermined event condition, and, if the download request meets a predetermined event condition as a result of the determination, transmits the download request to the download agent by providing download information corresponding to the download request to the download agent, the download agent that allocates a thread in response to the download request and performs a download process according to the download information in a socket manner through the allocated thread, and an export module that, upon completion of download, processes data according to a predetermined file format and exports the downloaded data. Effect of the Invention
[0019] When downloading via a browser, the browser cannot be used for other tasks during the download time, but in the case of the present invention, downloading and exporting are performed on behalf of the browser using local resources via an agent, so that the user can use the browser after requesting a download without waiting for the download to complete. [Brief description of the drawings]
[0020] [Figure 1] 1 is a diagram illustrating a system for downloading large amounts of data according to an embodiment of the present invention. [Diagram 2] 1 is a diagram illustrating a configuration of a terminal device for downloading large amounts of data according to an embodiment of the present invention. [Diagram 3] 2 is a flow chart illustrating a method for downloading large amounts of data according to an embodiment of the present invention. [Figure 4] 11 is a screen example illustrating a method for downloading large amounts of data according to an embodiment of the present invention. [Diagram 5] 11 is a screen example illustrating a method for downloading large amounts of data according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0021] It should be noted that in the following description, only the parts necessary for understanding the embodiments of the present invention will be described, and the description of other parts will be omitted to the extent that it does not deviate from the gist of the present invention.
[0022] The terms and words used in the following specification and claims should not be interpreted as being limited to their ordinary or dictionary meanings, but should be interpreted as meanings and concepts that correspond to the technical ideas of the present invention based on the principle that the inventor can appropriately define the concepts of terms to best describe his / her invention. Therefore, the embodiments described in this specification and the configurations shown in the drawings are merely preferred embodiments of the present invention and do not fully describe the technical ideas of the present invention, so it should be understood that there may be various equivalents and modifications that can replace them at the time of filing this application.
[0023] Hereinafter, embodiments of the present invention will be described in more detail with reference to the accompanying drawings. First, a system for downloading large amounts of data according to an embodiment of the present invention will be described. Fig. 1 is a diagram for explaining a system for downloading large amounts of data according to an embodiment of the present invention. Fig. 2 is a diagram for explaining a configuration of a terminal device for downloading large amounts of data according to an embodiment of the present invention.
[0024] Referring to FIG. 1, a system for downloading large amounts of data according to an embodiment of the present invention includes a server device 100 and a terminal device 200.
[0025] The server device 100 is basically an entity existing on a network, which stores data having information required by the terminal device 200 and provides the corresponding data in response to a request from the terminal device 200.
[0026] The terminal device 200 is basically a device used by a user. Representative examples of the terminal device 200 include a personal computer and a notebook computer. The terminal device 200 can connect to the server device 100 via a network and download data corresponding to user input.
[0027] According to an embodiment of the present invention, when the terminal device 200 receives a download request through the browser, the terminal device 200 transmits the download request to an agent, generates a new thread through the agent, and performs downloading from the generated thread in a socket manner, thereby allowing the user to use the browser for other tasks.
[0028] Meanwhile, referring to FIG. 2, the terminal device 200 includes a terminal communication module 210 , a browser module 220 , a download agent 230 and an export module 240 .
[0029] The browser module 220 is a module for controlling the browser handle, the browser interface, and the browser process. The browser module 220 can receive a request to download data by a user input (e.g., a link selection for download data). Then, the browser module 220 determines whether the download request matches a predetermined event condition.
[0030] According to one embodiment, the event condition may be that the amount of data corresponding to the download request is equal to or greater than a predetermined amount, i.e., the browser module 220 acquires the amount of data corresponding to the download request, and if the acquired amount of data is equal to or greater than a predetermined amount, it may determine that the condition is met.
[0031] According to another embodiment, the event condition may be that the download speed at the time of the download request is less than a predetermined speed. The browser module 220 may estimate the download speed and determine that the condition is met if the estimated download speed is less than the predetermined speed.
[0032] According to another embodiment, the event condition may be a case where the download time required based on the data volume according to the download request and the download speed at the time of the download request is equal to or longer than a predetermined time. The browser module 220 derives the volume and download speed of the data to be downloaded, estimates the download time required from the derived data volume and download speed, and determines that the condition is met if the estimated download time is equal to or longer than a predetermined time.
[0033] If the download request does not match a predefined event condition, the browser module 220 downloads the corresponding data. The browser module 220 performs downloading in an HTTP manner. On the other hand, if the download request matches a predefined event condition, the browser module 220 transmits a download request to the download agent 230. In this case, the browser module 220 can transmit the download request to the download agent 230 by providing download information corresponding to the download request to the download agent 230. Here, the download information includes a link, a data name, a file format for export, etc.
[0034] The download agent 230 is for performing downloading in a socket manner. Each time a download request is transmitted from the browser module 220, a thread corresponding to the download request is allocated. Also, the download process is performed in a socket manner through the allocated thread. In this way, the download agent 230 can simultaneously download multiple data as shown in FIG. 5 by allocating a thread each time a download request is transmitted and performing a download process in a socket manner through the allocated thread.
[0035] The export module 250 processes the downloaded data into a predetermined file format and exports it. The file format can be selected from a variety of formats, such as HTML, JSON, CSV, Excel, Hangul, MS-word, and PPT.
[0036] Next, a method for downloading large amounts of data according to an embodiment of the present invention will be described. Figure 3 is a flow chart for explaining a method for downloading large amounts of data according to an embodiment of the present invention. Figures 4 and 5 are examples of screens for explaining a method for downloading large amounts of data according to an embodiment of the present invention.
[0037] 3, the browser module 220 may receive a download request for data through a user input in step S110. When receiving such input, the user may select a file format for exporting the downloaded data, as shown in FIG.
[0038] Accordingly, in step S120, the browser module 220 determines whether the previously received download request (S110) satisfies a predetermined event condition.
[0039] According to one embodiment, the event condition may be that the amount of data corresponding to the download request is equal to or greater than a predetermined amount. That is, the browser module 220 adds the attribute “Range:bytes=0-1” to the HTTP header, and then acquires the amount of data corresponding to the download request using the HTTP GET method. If the acquired amount of data is equal to or greater than a predetermined amount, the event condition may be met.
[0040] According to another embodiment, the event condition may be a case where the download speed at the time of the download request is less than a predetermined speed. The browser module 220 may estimate the download speed by transmitting a beacon signal to a test server (not shown) for testing and receiving a response signal from the server. That is, the download speed may be estimated based on the round trip time (RTT) of the beacon signal and the response signal. Thus, the browser module 220 may determine that the condition is met if the estimated download speed is less than the predetermined speed.
[0041] According to another embodiment, the event condition may be a case where the amount of data requested for download and the download time required based on the download speed at the time of the download request are equal to or longer than a predetermined time. The browser module 220 may derive the amount of data to be downloaded and the download speed in the above-described manner, and then estimate the download time required from the derived amount of data and download speed. In addition, the browser module 220 may determine that the condition is met if the estimated download time is equal to or longer than a predetermined time.
[0042] If it is determined in step S120 that the download request does not match the predetermined event condition, the browser module 220 downloads the corresponding data in step S160. In step S160, the browser module 220 downloads the data in the HTTP format.
[0043] Meanwhile, if it is determined in step S120 that the download request meets a predetermined event condition, the browser module 220 transmits the download request to the download agent 230 in step S130. In this case, the browser module 220 can transmit the download request to the download agent 230 by providing download information corresponding to the download request to the download agent 230.
[0044] The download agent 230 that has received the download request can download the data according to the download information.
[0045] To this end, the download agent 230 allocates a thread whenever a download request is received in step S140, and then performs a download process in a socket manner through the allocated thread in step S150.
[0046] In this manner, the download agent 230 can simultaneously download multiple pieces of data as shown in FIG. 5 by allocating a thread each time a download request is transmitted and performing a download process in a socket manner through the allocated thread (51).
[0047] When the download is complete, the export module 250 processes the data in accordance with a predetermined file format previously (S110) and exports the downloaded data (Export) in step S170. For example, as shown in Fig. 5, the export module 250 can process the data into an Excel file and export it (53).
[0048] The method according to the embodiment of the present invention described above may be realized in the form of a program readable by various computer means and recorded on a computer-readable recording medium. Here, the recording medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. For example, the recording medium may include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions, such as ROMs, RAMs, flash memories, and the like. Examples of program instructions may include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc. Such hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, or vice versa.
[0049] Although the present invention has been described above using several preferred embodiments, these embodiments are illustrative and not limiting. As such, it is understood that those skilled in the art can make various changes and modifications according to the doctrine of equivalents without departing from the spirit of the present invention and the scope of rights presented in the appended claims. [Explanation of symbols]
[0050] 100: Server device 200: Terminal device 210: Terminal communication module 220: Browser module 230: Download Agent 240: Export module
Claims
1. A method for downloading large amounts of data, comprising: receiving a download request for data by a browser module; The browser module determining whether the download request matches a predefined event condition; If the download request matches a predetermined event condition as a result of the determination, the browser module transmits the download request to the download agent by providing download information corresponding to the download request to the download agent; the download agent downloading the data according to the download information; 23. A method for downloading comprising:
2. When the download is complete, 2. The method for downloading according to claim 1, further comprising the step of: an export module processing the data according to a predetermined file format and exporting the downloaded data.
3. The step of downloading the data includes:
2. The method of claim 1, wherein the download agent allocates a thread whenever the download request is received, and performs a download process in a socket manner through the allocated thread.
4. The method of claim 1 , wherein the event condition includes a case where a volume of data corresponding to the download request is equal to or larger than a predetermined volume.
5. The method of claim 1 , wherein the event condition includes a case where a download speed at the time of the download request is less than a predetermined speed.
6. 2. The method of claim 1, wherein the event condition includes a case where a download time required based on a data volume corresponding to the download request and a download speed at the time of the download request is equal to or exceeds a predetermined time.
7. An apparatus for downloading large amounts of data, comprising: When you receive a request to download your data, determining whether the download request meets a predetermined event condition; a browser module for transmitting the download request to a download agent by providing download information corresponding to the download request to the download agent when the download request matches a predetermined event condition as a result of the determination; the download agent downloading the data according to the download information; 13. An apparatus for downloading comprising:
8. The apparatus for downloading according to claim 7, further comprising an export module for processing data according to a predetermined file format and exporting the downloaded data when the download is completed.
9. The download agent includes:
8. The apparatus of claim 7, further comprising: a thread allocated whenever the download request is received; and a download process is performed in a socket manner through the allocated thread.
10. The apparatus of claim 7 , wherein the event condition includes a case where a volume of data corresponding to the download request is equal to or larger than a predetermined volume.
11. The apparatus of claim 7, wherein the event condition includes a case where a download speed at the time of the download request is less than a predetermined speed.
12. 8. The apparatus of claim 7, wherein the event condition includes a case where a download time required based on a data volume corresponding to the download request and a download speed at the time of the download request is equal to or exceeds a predetermined time.
Citation Information
Patent Citations
Information providing method, information providing server device, information communication system, mobile telephone terminal device, and control program
JP2005005901A
Content distributing system, content distributing method, apparatus and method of processing content, apparatus and method of supplying content, recording medium, and program
JP2005159930A
Method for providing local resource to web browser and system implementing the same
KR1020180076593A
KR2011-0025055
System and method to display a web page as scheduled by a user
US20080005672A1