Downloading method and device based on PCDN node, equipment and storage medium

By using Httpclient and HttpProxy on PCDN nodes for data download, the problems of complex, high cost and cumbersome congestion control in the existing technology are solved, and efficient file sharing and resource conservation are achieved.

CN119211216APending Publication Date: 2024-12-27LETV CLOUD NETWORK TECH (BEIJING) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411079920.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-07
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

The existing shared data method based on PCDN nodes has problems such as complex congestion control, expensive cost, cumbersome client updates and waste of traffic.

Method used

Send data download requests to the Boot server through Httpclient, use PCDNMgr to find the target PCDN node, and establish a connection with NATClient through UDP protocol, and use HttpProxy to download data, realize file download of the standard Http protocol, simplify client SDK encapsulation and save server.

Benefits of technology

It improves file sharing rate, simplifies client SDK encapsulation, saves server resources, and provides file downloads through the standard Http protocol, solving the problem of cumbersome traffic waste and updates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119211216A_ABST
    Figure CN119211216A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a downloading method and device based on PCDN nodes, equipment and a storage medium, and is applied to the technical field of network communication. The method comprises the steps that a terminal responds to a first downloading trigger instruction, and a data downloading request is sent to a Boot server through an Httpclient; an external network address which is provided and downloaded by the target PCDN node and sent by the Boot server is received through the Httpclient; then, the Tcp connection to the target PCDN node is actively initiated through the Httpclient; and a data downloading request is sent to the target PCDN node through the Httpclient, so that the target PCDN node forwards the data downloading request to the file service program through the HttpProxy for external data downloading and providing. In this way, a method for providing file downloading by using a standard Http protocol based on the PCDN node can be provided, so that the file sharing rate is improved, client SDK packaging is simplified, and servers are saved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, in particular to the field of network communication technology, and specifically to a download method, apparatus, device and storage medium based on a PCDN node. Background Art

[0002] When watching videos on demand on the Internet, it is necessary to use the Content Delivery Network (CDN) nodes for distribution. Furthermore, some nodes without external IP addresses will also be used to provide traffic sharing, such as Personal Content Delivery Network (PCDN) nodes.

[0003] However, there are many problems with the current data sharing method based on PCDN nodes. For example, the shared video mode of PCDN requires a custom congestion control algorithm, which is complex to implement and completely relies on CDN downloads, which is expensive. For another example, the client and the server are deeply bound, and the client must be updated synchronously with PCDN to ensure the use of the same traffic control, and version upgrades are cumbersome. For another example, based on the existing PCDN nodes, they need to be downloaded in advance when used, resulting in a waste of traffic. Summary of the invention

[0004] The present disclosure provides a downloading method, apparatus, device and storage medium based on a PCDN node.

[0005] According to a first aspect of the present disclosure, a PCDN node-based downloading method is provided. The method is applied to a terminal and includes:

[0006] In response to the first download trigger instruction, a data download request is sent to the Boot server through Httpclient; wherein the data download request is used for the Boot server to receive through ClientProxy, and the target PCDN node is searched through PCDNMgr according to the IP address of the terminal, a connection instruction is sent to the target PCDN node based on the UDP protocol through PCDNMgr, and the external network address provided by the target PCDN node for download is queried from NatMgr through PCDNMgr; the connection instruction is used for the target PCDN node to receive through PCDNClient, and the local startup port number is obtained through PCDNClient to start NATClient, and ready information is sent to NatMgr of the Boot server based on the Http protocol through NATClient, and the boot process is exited after receiving the http200 return; the boot of NATClient is used for the Boot server to start HttpProxy using the NATClient of the target PCDN node through PCDNClient; the boot of HttpProxy is used for the target PCDN node to actively initiate a TCP connection to the terminal through HttpProxy;

[0007] Receiving, through Httpclient, the external network address provided for download by the target PCDN node sent by the Boot server;

[0008] Actively initiate a TCP connection to the target PCDN node through Httpclient;

[0009] The data download request is sent to the target PCDN node through Httpclient, so that the target PCDN node forwards the data download request to the file service program through HttpProxy to provide external data download.

[0010] According to the above aspects and any possible implementation, an implementation is further provided, wherein the Boot server receives heartbeat information sent by at least one PCDN node through PCDNClient based on UDP protocol through PCDNMgr, and records the UUID and IP address of the PCDN node.

[0011] According to the above aspects and any possible implementation manner, an implementation manner is further provided, in which the Boot server receives a storage file name of a PCDN node.

[0012] According to the above aspect and any possible implementation manner, an implementation manner is further provided, wherein searching for a target PCDN node according to the IP address of the terminal by the PCDNMgr includes:

[0013] Based on the distance between the PCDN node and the terminal, the target PCDN node is searched for according to the IP address of the terminal by PCDNMgr.

[0014] According to the above aspects and any possible implementation manner, an implementation manner is further provided, wherein the method further includes:

[0015] If the file service program does not provide external data download corresponding to the data download request, the target PCDN node sends the data download request to the CDN node so that the CDN node provides external data download.

[0016] According to the above aspects and any possible implementation, an implementation is further provided, before responding to the first download trigger instruction and sending the data download request to the Boot server through Httpclient, the method further includes:

[0017] In response to the second download trigger instruction, a data download request is sent to the CDN node so that the CDN node provides external data download.

[0018] According to a second aspect of the present disclosure, a downloading device based on a PCDN node is provided. The device comprises:

[0019] The sending module is used to respond to the first download trigger instruction and send a data download request to the Boot server through Httpclient; wherein the data download request is used for the Boot server to receive through ClientProxy, and find the target PCDN node through PCDNMgr according to the IP address of the terminal, send a connection instruction to the target PCDN node based on the UDP protocol through PCDNMgr, and query NatMgr through PCDNMgr for the external network address provided by the target PCDN node for download; the connection instruction is used for the target PCDN node to receive through PCDNClient, and obtain the local startup port number through PCDNClient to start NATClient, send ready information to NatMgr of the Boot server based on Http protocol through NATClient, and exit after receiving http200 return; the startup of NATClient is used for the Boot server to start HttpProxy using the NATClient of the target PCDN node through PCDNClient; the startup of HttpProxy is used for the target PCDN node to actively initiate a TCP connection to the terminal through HttpProxy;

[0020] A receiving module, used for receiving, through Httpclient, the external network address provided for download by the target PCDN node sent by the Boot server;

[0021] The sending module is also used to actively initiate a TCP connection to the target PCDN node through Httpclient;

[0022] The sending module is further used to send the data download request to the target PCDN node through Httpclient, so that the target PCDN node forwards the data download request to the file service program through HttpProxy to provide external data download.

[0023] According to a third aspect of the present disclosure, a PCDN node-based download system is provided. The system includes at least one PCDN node, a Boot server, and a terminal;

[0024] At least one PCDN node sends heartbeat information to the Boot server through PCDNClient based on UDP protocol;

[0025] The Boot server receives the heartbeat information through PCDNMgr; and records the PCDN node UUID and IP address;

[0026] The terminal responds to the first download trigger instruction and sends a data download request to the Boot server through Httpclient;

[0027] The Boot server receives the data download request through ClientProxy; searches for the target PCDN node according to the IP address of the terminal through PCDNMgr; sends a connection instruction to the target PCDN node based on the UDP protocol through PCDNMgr; queries NatMgr through PCDNMgr for the external network address provided by the target PCDN node for download;

[0028] The target PCDN node receives the connection instruction through PCDNClient; obtains the local startup port number through PCDNClient to start NATClient, sends ready information to NatMgr of the Boot server based on Http protocol through NATClient, and exits after receiving http200 return;

[0029] The Boot server starts HttpProxy using the NATClient of the target PCDN node through the PCDNClient;

[0030] The target PCDN node actively initiates a TCP connection to the terminal through HttpProxy;

[0031] The Boot server sends the external network address provided by the target PCDN node for download to the Httpclient of the terminal;

[0032] The terminal actively initiates a TCP connection to the target PCDN node through Httpclient;

[0033] The terminal sends the data download request to the target PCDN node via Httpclient;

[0034] The target PCDN node forwards the data download request to the file service program through HttpProxy to provide external data download.

[0035] According to a fourth aspect of the present disclosure, an electronic device is provided, which includes a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the program, the method described above is implemented.

[0036] According to a fifth aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the method described above is implemented.

[0037] The embodiment of the present application provides a download method, apparatus, device and storage medium based on PCDN node, which are applied to a terminal and can send a data download request to a Boot server through Httpclient by responding to a first download trigger instruction; wherein the data download request is used for the Boot server to receive through ClientProxy, and find the target PCDN node according to the IP address of the terminal through PCDNMgr, send a connection instruction to the target PCDN node based on the UDP protocol through PCDNMgr, and query the target PCDN node to NatMgr through PCDNMgr to provide an external network address for download; the connection instruction is used for the target PCDN node to receive through PCDNClient, and obtain the local startup port number through PCDNClient to start NATClient, send ready information to NatMgr of the Boot server based on the Http protocol through NATClient, and receive http200 return The method exits after returning; the startup of NATClient is used by the Boot server to start HttpProxy using the NATClient of the target PCDN node through PCDNClient; the startup of HttpProxy is used by the target PCDN node to actively initiate a TCP connection to the terminal through HttpProxy; the external network address of the target PCDN node for downloading sent by the Boot server is received through Httpclient; the TCP connection to the target PCDN node is actively initiated through Httpclient; the data download request is sent to the target PCDN node through Httpclient, so that the target PCDN node forwards the data download request to the file service program through HttpProxy for external data download; based on this, a method for providing file download based on PCDN nodes using standard Http protocol can be provided, thereby improving the file sharing rate, simplifying the client SDK packaging, and saving servers.

[0038] It should be understood that the contents described in the summary of the invention are not intended to limit the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, among which:

[0040] Figure 1 A schematic diagram of a PCDN node-based download system in which embodiments of the present disclosure can be implemented is shown;

[0041] Figure 2 Shows Figure 1 Schematic diagram of the interaction between the terminal, Boot server and PCDN node shown in;

[0042] Figure 3 A flowchart of a downloading method based on a PCDN node according to an embodiment of the present disclosure is shown;

[0043] Figure 4 A block diagram of a downloading device based on a PCDN node according to an embodiment of the present disclosure is shown;

[0044] Figure 5 A block diagram of an exemplary electronic device capable of implementing embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0045] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.

[0046] In addition, the term "and / or" in this article is only a description of the association relationship between the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0047] In the present disclosure, a method for providing file download based on PCDN nodes using standard HTTP protocol can be provided, thereby improving the file sharing rate, simplifying the client SDK packaging, and saving servers.

[0048] Figure 1 The schematic diagram of a PCDN node-based download system 100 in which the embodiments of the present disclosure can be implemented is shown. The PCDN node-based download system 100 includes a terminal 102, a Boot server 104, and a PCDN node 106.

[0049] Figure 2 Shows Figure 1 Schematic diagram of interaction 200 between terminal 102, Boot server 104 and PCDN node 106 shown in FIG.

[0050] In some embodiments, at least one PCDN node 104 sends heartbeat information to the Boot server 104 through PCDNClient based on the UDP protocol; the Boot server 104 receives the heartbeat information through PCDNMgr; and records the UUID and IP address of the PCDN node 104; the terminal 102 responds to the first download trigger instruction and sends a data download request to the Boot server 104 through Httpclient; the Boot server 104 receives the data download request through ClientProxy; the Boot server 104 searches for the target PCDN node according to the IP address of the terminal 102 through PCDNMgr; the Boot server 104 sends a connection instruction to the target PCDN node through PCDNMgr based on the UDP protocol; the Boot server 104 queries NatMgr through PCDNMgr for the external network address provided by the target PCDN node for download; the target PCDN node receives the connection instruction through PCDNClient; the target PCDN node The boot port number of the local machine is obtained through PCDNClient in order to start NATClient, and the ready information is sent to NatMgr of Boot server 104 through NATClient based on the Http protocol, and the boot server 104 exits after receiving the http200 return; Boot server 104 starts HttpProxy using NATClient of the target PCDN node through PCDNClient; the target PCDN node actively initiates a TCP connection to terminal 102 through HttpProxy; Boot server 104 sends the external network address provided by the target PCDN node for download to Httpclient of terminal 102; terminal 102 actively initiates a TCP connection to the target PCDN node through Httpclient; terminal 102 sends a data download request to the target PCDN node through Httpclient; the target PCDN node forwards the data download request to the file service program through HttpProxy to provide external data download.

[0051] In some embodiments, when the interactive application scenario between the terminal, the Boot server and the PCDN node is downloading a video file in a TV program, the interaction between the terminal, the Boot server and the PCDN node may further specifically include:

[0052] PCDN nodes report heartbeats regularly using the UDP protocol through PCDNClient;

[0053] The Boot server receives heartbeat information through PCDNMgr and records the PCDN node UUID and IP location information;

[0054] The TV terminal plays the program, triggering the download of the video file; the TV terminal sends the request through Httpclient;

[0055] The Boot server receives the request through ClientProxy and searches PCDNMgr for the PCDN node based on the IP address of the TV terminal;

[0056] After the Boot server finds the optimal PCDN node, i.e. the target PCDN node, through PCDNMgr, it sends a connection instruction to the target PCDN node using the UDP protocol;

[0057] The Boot server queries NatMgr through PCDNMgr for the external network address of the target PCDN node to provide file download;

[0058] After receiving the command through PCDNClient, the target PCDN node obtains a port number of the local machine and uses this port number to start NATClient;

[0059] The target PCDN node reports the ready information to NatMgr via NATClient using the http protocol, and exits after receiving a 200 response.

[0060] The target PCDN node continues to use this port number through PCDNClient and starts an HttpProxy;

[0061] The target PCDN node actively initiates a TCP connection to the TV terminal through HttpProxy;

[0062] At the same time, the Boot server finds the file download address of the target PCDN node through PCDNMgr and finally returns it to httpclient;

[0063] The TV terminal will also actively initiate a TCP connection through httpclient; if penetration is successful, the connection is established;

[0064] The TV terminal sends a file request via httpclient, and httpproxy forwards the request to the file service program, and the download is successful;

[0065] If the file service does not have this file, the target PCDN node will request the data from the CDN node and then provide it for download.

[0066] The embodiment of the present application provides a download system based on PCDN nodes. When the PCDN node has no external network IP and the file download function can only provide external services through NAT penetration, a Proxy is used to be responsible for NAT penetration transactions before the file service. An HttpProxy process and a Boot server are started along the way to assist the penetration communication between the TV terminal and the PCDN node. The programs on the Boot server are all for letting the TV and the PCDN node know the external network addresses used by each other. Therefore, the TV terminal only needs one http client. After the request returns a 302 jump, it can download the file through a hole, thereby improving the file sharing rate, simplifying the client SDK packaging, and saving servers.

[0067] Figure 3 FIG. 3 is a flowchart of a PCDN node-based download method 300 according to an embodiment of the present disclosure. The method 300 may be Figure 1 The terminal 102 executes in.

[0068] In block 310, in response to the first download trigger instruction, a data download request is sent to the Boot server through Httpclient; wherein, the data download request is used for the Boot server to receive through ClientProxy, and the target PCDN node is searched for through PCDNMgr according to the IP address of the terminal, a connection instruction is sent to the target PCDN node based on the UDP protocol through PCDNMgr, and the external network address provided by the target PCDN node for download is queried from NatMgr through PCDNMgr; the connection instruction is used for the target PCDN node to receive through PCDNClient, and the local startup port number is obtained through PCDNClient in order to start NATClient, and the ready information is sent to NatMgr of the Boot server based on the Http protocol through NATClient, and the Boot server exits after receiving the http200 return; the startup of NATClient is used for the Boot server to start HttpProxy using the NATClient of the target PCDN node through PCDNClient; the startup of HttpProxy is used for the target PCDN node to actively initiate a TCP connection to the terminal through HttpProxy;

[0069] In block 320, the external network address of the target PCDN node for downloading sent by the Boot server is received through Httpclient.

[0070] In block 330, a TCP connection is actively initiated to the target PCDN node through Httpclient.

[0071] In block 340, a data download request is sent to a target PCDN node via Httpclient, so that the target PCDN node forwards the data download request to a file service program via HttpProxy for external data download provision.

[0072] In some embodiments, the terminal may be a client such as a television, a computer, or a mobile phone; the downloaded data may be video content or text content.

[0073] In some embodiments, the Boot server receives, through PCDNMgr, heartbeat information sent by at least one PCDN node through PCDNClient based on the UDP protocol, and records the UUID and IP address of the PCDN node.

[0074] In some embodiments, compared with the current use of UDP penetration, UDP is an unreliable connection. After sending data, both parties need to confirm whether it has been received, how much has been received, how much has been lost, and the speed of data transmission must be controlled by themselves. Therefore, it is possible to interact with multiple PCDN nodes based on the UDP protocol, so that the terminal and the PCDN node establish a connection through TCP, forming a reliable data transmission method, making the implementation of congestion control simple. Based on this, the logic of the terminal becomes very simple, completely decoupled from the PCDN node, and only an http terminal needs to be implemented without any business. When the PCDN end policy changes, the client does not need to cooperate with modification and upgrade.

[0075] In some embodiments, the Boot server receives the storage file name of the PCDN node.

[0076] In some embodiments, in terms of security and management of distributed content, a third-party product can be used to add a supervision mechanism to the data content stored in the PCDN node. When reporting the heartbeat, the PCDNClient will report the name of the file it stores to the PCDNMgr. The PCDNMgr will also check the file name to determine whether it is the user's content. If not, it will perform corresponding supervision.

[0077] In some embodiments, in addition to assisting in establishing connections, the Boot Server may also manage PCDN node content and resource usage.

[0078] In some embodiments, searching the target PCDN node according to the IP address of the terminal by PCDNMgr includes:

[0079] Based on the distance between the PCDN node and the terminal, the PCDNMgr searches for the target PCDN node according to the IP address of the terminal.

[0080] In some embodiments, most of the implementation methods of the above-mentioned downloading methods based on PCDN nodes are that the PCDN nodes need to download the content in advance, that is, it is assumed that each PCDN node has data and provides it to the terminal for use. The PCDN node can periodically report the content index information stored by itself to the server. When the terminal connects, it searches for which PCDN nodes have data based on the file index generated based on the content index information, and then establishes a connection.

[0081] In some embodiments, since there is more than one PCDN node, when determining the target PCDN node, the optimal PCDN node may be connected according to the location or distance as the target PCDN node.

[0082] According to the embodiments of the present disclosure, the following technical effects are achieved:

[0083] Able to send a data download request to the Boot server through Httpclient by responding to the first download trigger instruction; wherein, the data download request is used for the Boot server to receive through ClientProxy, and the target PCDN node is found through PCDNMgr according to the IP address of the terminal, and a connection instruction is sent to the target PCDN node based on the UDP protocol through PCDNMgr, and the external network address provided by the target PCDN node for download is queried from NatMgr through PCDNMgr; the connection instruction is used for the target PCDN node to receive through PCDNClient, and the local startup port number is obtained through PCDNClient to start NATClient, and the ready information is sent to NatMgr of the Boot server based on the Http protocol through NATClient, and the http200 return is received and then exited; the startup of NATClient is used for Bo The ot server uses the NATClient of the target PCDN node to start HttpProxy through PCDNClient; the start of HttpProxy is used for the target PCDN node to actively initiate a TCP connection to the terminal through HttpProxy; then the external network address of the target PCDN node for downloading sent by the Boot server is received through Httpclient; then the TCP connection to the target PCDN node is actively initiated through Httpclient; then the data download request is sent to the target PCDN node through Httpclient, so that the target PCDN node forwards the data download request to the file service program through HttpProxy to provide external data download; based on this, a method for providing file download based on PCDN nodes and using standard Http protocol can be provided, thereby improving the file sharing rate, simplifying the client SDK packaging, and saving servers.

[0084] In some embodiments, the above method further comprises:

[0085] If the file service program does not have an external data download provision corresponding to the data download request, the target PCDN node sends a data download request to the CDN node so that the CDN node can provide the external data download provision.

[0086] In some embodiments, at the beginning, if the PCDN node has no data, the terminal will synchronize data with the CDN node and then provide services. As time goes by, when the PCDN node stores enough data, the hit rate will also increase significantly, and the PCDN node can be used to download data. It can be seen that the above-mentioned download method based on the PCDN node provides a different download strategy. When the PCDN node has download data, data download is performed based on the PCDN node. If the PCDN node has no data, a data download request can still be sent to the CDN node to download data.

[0087] In some embodiments, before responding to the first download trigger instruction and sending the data download request to the Boot server through Httpclient, the method further includes:

[0088] In response to the second download trigger instruction, a data download request is sent to the CDN node so that the CDN node can provide external data download.

[0089] In some embodiments, under normal circumstances, the terminal will request data from the CDN node, but since CDN traffic is expensive, the terminal will choose to establish a connection with the PCDN node, and the intermediate boot server will assist in establishing the connection to complete the data download.

[0090] In some embodiments, the terminal divides the content to be played into different levels of urgency. The second download trigger instruction is used to send when the playback time is approaching but the video content has not yet been loaded. Therefore, based on the user's second download trigger instruction, when there is enough time, you can also download from the selected PCDN node; when the playback time is approaching, you can also abandon the PCDN node download and go to the CDN node, so as not to affect the playback effect and achieve the effect of no perception by the user.

[0091] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all described as a series of action combinations, but those skilled in the art should be aware that the present disclosure is not limited by the order of the actions described, because according to the present disclosure, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily required by the present disclosure.

[0092] The above is an introduction to the method embodiment. The following is a further explanation of the scheme disclosed in the present invention through an apparatus embodiment.

[0093] Figure 4 FIG. 4 is a block diagram of a PCDN node-based downloading device 400 according to an embodiment of the present disclosure. The device 400 may be included in Figure 1 The terminal 102 of the embodiment of the present invention is implemented in or as the terminal 102. Figure 4 As shown, the device 400 includes:

[0094] The sending module 410 is used to respond to the first download trigger instruction and send a data download request to the Boot server through Httpclient; wherein the data download request is used for the Boot server to receive through ClientProxy, and find the target PCDN node through PCDNMgr according to the IP address of the terminal, send a connection instruction to the target PCDN node based on the UDP protocol through PCDNMgr, and query the NatMgr through PCDNMgr for the external network address provided by the target PCDN node for download; the connection instruction is used for the target PCDN node to receive through PCDNClient, and obtain the local startup port number through PCDNClient to start NATClient, send ready information to NatMgr of the Boot server based on the Http protocol through NATClient, and exit after receiving the http200 return; the startup of NATClient is used for the Boot server to start HttpProxy using the NATClient of the target PCDN node through PCDNClient; the startup of HttpProxy is used for the target PCDN node to actively initiate a TCP connection to the terminal through HttpProxy;

[0095] The receiving module 420 is used to receive the external network address of the target PCDN node for downloading sent by the Boot server through Httpclient;

[0096] The sending module 410 is also used to actively initiate a TCP connection to the target PCDN node through Httpclient;

[0097] The sending module 410 is further used to send a data download request to a target PCDN node via Httpclient, so that the target PCDN node forwards the data download request to the file service program via HttpProxy to provide external data download.

[0098] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the described module can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0099] In the technical solution disclosed herein, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0100] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.

[0101] Figure 5 A block diagram of an exemplary electronic device 500 capable of implementing an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0102] The electronic device 500 includes a computing unit 501, which can perform various appropriate actions and processes according to a computer program stored in a ROM 502 or a computer program loaded from a storage unit 508 into a RAM 503. In the RAM 503, various programs and data required for the operation of the electronic device 500 can also be stored. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An I / O interface 505 is also connected to the bus 504.

[0103] Multiple components in the electronic device 500 are connected to the I / O interface 505, including: an input unit 506, such as a keyboard, a mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a disk, an optical disk, etc.; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 509 allows the electronic device 500 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0104] The computing unit 501 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 501 performs the various methods and processes described above, such as method 300. For example, in some embodiments, the method 300 may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 508.

[0105] In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the computing unit 501, one or more steps of the method 300 described above may be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to execute the method 300 in any other appropriate manner (e.g., by means of firmware).

[0106] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0107] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0108] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0109] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0110] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0111] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0112] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.

[0113] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A download method based on PCDN node, characterized in that: Applied to terminals, including: In response to the first download trigger instruction, a data download request is sent to the Boot server through Httpclient; wherein the data download request is used for the Boot server to receive through ClientProxy, and the target PCDN node is searched through PCDNMgr according to the IP address of the terminal, a connection instruction is sent to the target PCDN node based on the UDP protocol through PCDNMgr, and the external network address provided by the target PCDN node for download is queried from NatMgr through PCDNMgr; the connection instruction is used for the target PCDN node to receive through PCDNClient, and the local startup port number is obtained through PCDNClient to start NATClient, and ready information is sent to NatMgr of the Boot server based on the Http protocol through NATClient, and the boot process is exited after receiving the http200 return; the boot of NATClient is used for the Boot server to start HttpProxy using the NATClient of the target PCDN node through PCDNClient; the boot of HttpProxy is used for the target PCDN node to actively initiate a TCP connection to the terminal through HttpProxy; Receiving, through Httpclient, the external network address provided for download by the target PCDN node sent by the Boot server; Actively initiate a TCP connection to the target PCDN node through Httpclient; The data download request is sent to the target PCDN node through Httpclient, so that the target PCDN node forwards the data download request to the file service program through HttpProxy to provide external data download.

2. The method according to claim 1, characterized in that The Boot server receives the heartbeat information sent by at least one PCDN node through PCDNClient based on the UDP protocol through PCDNMgr, and records the UUID and IP address of the PCDN node.

3. The method according to claim 2, characterized in that The Boot server receives the storage file name of the PCDN node.

4. The method according to claim 2, characterized in that: The searching of the target PCDN node according to the IP address of the terminal by the PCDNMgr includes: Based on the distance between the PCDN node and the terminal, the target PCDN node is searched for according to the IP address of the terminal by PCDNMgr.

5. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: If the file service program does not provide external data download corresponding to the data download request, the target PCDN node sends the data download request to the CDN node so that the CDN node provides external data download.

6. The method according to any one of claims 1 to 4, characterized in that: Before responding to the first download trigger instruction and sending the data download request to the Boot server through Httpclient, the method further includes: In response to the second download trigger instruction, a data download request is sent to the CDN node so that the CDN node provides external data download.

7. A downloading device based on a PCDN node, characterized in that: Applied to terminals, including: The sending module is used to respond to the first download trigger instruction and send a data download request to the Boot server through Httpclient; wherein the data download request is used for the Boot server to receive through ClientProxy, and find the target PCDN node through PCDNMgr according to the IP address of the terminal, send a connection instruction to the target PCDN node based on the UDP protocol through PCDNMgr, and query NatMgr through PCDNMgr for the external network address provided by the target PCDN node for download; the connection instruction is used for the target PCDN node to receive through PCDNClient, and obtain the local startup port number through PCDNClient to start NATClient, send ready information to NatMgr of the Boot server based on Http protocol through NATClient, and exit after receiving http200 return; the startup of NATClient is used for the Boot server to start HttpProxy using the NATClient of the target PCDN node through PCDNClient; the startup of HttpProxy is used for the target PCDN node to actively initiate a TCP connection to the terminal through HttpProxy; A receiving module, used for receiving, through Httpclient, the external network address provided for download by the target PCDN node sent by the Boot server; The sending module is also used to actively initiate a TCP connection to the target PCDN node through Httpclient; The sending module is further used to send the data download request to the target PCDN node through Httpclient, so that the target PCDN node forwards the data download request to the file service program through HttpProxy to provide external data download.

8. A download system based on PCDN nodes, characterized in that: Includes at least one PCDN node, a Boot server, and a terminal; At least one PCDN node sends heartbeat information to the Boot server through PCDNClient based on UDP protocol; The Boot server receives the heartbeat information through PCDNMgr; And record the PCDN node UUID and IP address; The terminal responds to the first download trigger instruction and sends a data download request to the Boot server through Httpclient; The Boot server receives the data download request through ClientProxy; searches for the target PCDN node according to the IP address of the terminal through PCDNMgr; sends a connection instruction to the target PCDN node based on the UDP protocol through PCDNMgr; queries NatMgr through PCDNMgr for the external network address provided by the target PCDN node for download; The target PCDN node receives the connection instruction through PCDNClient; obtains the local startup port number through PCDNClient to start NATClient, sends ready information to NatMgr of the Boot server based on Http protocol through NATClient, and exits after receiving http200 return; The Boot server starts HttpProxy using the NATClient of the target PCDN node through the PCDNClient; The target PCDN node actively initiates a TCP connection to the terminal through HttpProxy; The Boot server sends the external network address provided by the target PCDN node for download to the Httpclient of the terminal; The terminal actively initiates a TCP connection to the target PCDN node through Httpclient; The terminal sends the data download request to the target PCDN node via Httpclient; The target PCDN node forwards the data download request to the file service program through HttpProxy to provide external data download.

9. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively coupled to the at least one processor; The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1 to 6.

10. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-6.