Method for implementing CDN service, terminal device, node server and storage medium

By introducing content location identifiers into CDN nodes, the storage capacity limitations and single points of failure in the existing CDN architecture are solved, enabling the CDN system to achieve flexibility and efficient content retrieval, and avoiding the bottlenecks and interruption risks of centralized storage.

CN113934916BActive Publication Date: 2025-11-25ZTE CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202010609262.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-06-29
Publication Date
2025-11-25
Estimated Expiration
2040-06-29

AI Technical Summary

Technical Problem

In the existing CDN architecture, content generation is only handled by content providers/operators, which lacks flexibility. Centralized storage leads to storage capacity limitations and performance bottlenecks, and single points of failure can easily cause service interruptions.

Method used

By introducing content location identifiers into CDN nodes, different origin paths can be selected based on the content location identifiers, thereby achieving flexibility in CDN networking and enabling direct uploading and downloading of content between terminal devices and CDN nodes, avoiding centralized storage control.

Benefits of technology

It improves content search efficiency and routing retrieval efficiency, prevents service interruptions caused by single points of failure, and enhances the reliability and flexibility of the CDN system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113934916B_ABST
    Figure CN113934916B_ABST
Patent Text Reader

Abstract

The application discloses a CDN service implementation method, a terminal device, a node server and a storage medium, and belongs to the communication technical field. The implementation method comprises the following steps: sending an upload request to a CDN node, wherein the upload request comprises a first content identifier; receiving an upload request response message of the CDN node, and sending media content to the CDN node; and receiving a second content identifier of the CDN node, wherein the second content identifier comprises the first content identifier and a content position identifier representing a position of the media content. According to the scheme provided in the application, all CDN nodes have the upload and download capabilities by carrying the content position identifier, and the user's device terminal can realize the upload and download of the content nearby, and the centralized storage control module is not needed to manage the user's uploaded content, and the user is not limited by the storage capacity of the centralized storage.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of this application relate to, but are not limited to, the field of communication technology, and in particular to a method for implementing CDN services, a terminal device, a node server, and a storage medium. Background Technology

[0002] CDN, as an effective transmission network, is widely used in IPTV, OTT internet telecommunications, caching acceleration, and other business systems, and is now widely deployed worldwide. Based on the needs of traditional CDN services, the industry has developed relatively mature solutions. Content is generated by content providers / operators, uploaded to a central CDN, processed and packaged, and then delivered to end users via multiple levels of CDN nodes, distributing from the center to regions, and from regions to the edge. End users are then globally redirected to edge network CDN nodes via GSLB, and these CDN nodes then provide services to users. Overall, this CDN architecture is an operational CDN, where content transmission spreads outward from the center in a tree-like structure.

[0003] In the existing CDN content service implementation method, content generation is only participated in by the content provider / operator, which is not conducive to developing a wide variety of self-media businesses. Moreover, the original copy of the content is stored in a centralized manner, which limits the storage capacity. Furthermore, the content distribution and user scheduling are controlled by a centralized module, which is prone to performance bottlenecks and single points of failure. Summary of the Invention

[0004] The following is an overview of the subject matter described in detail herein. This overview is not intended to limit the scope of the claims.

[0005] This application provides a method for implementing CDN services, a terminal device, a node server, and a storage medium. It can improve the efficiency of content retrieval based on content location identifiers, and can select different origin paths according to different content, greatly improving the flexibility of CDN networking.

[0006] Firstly, embodiments of this application provide a method for implementing CDN services, including:

[0007] Send an upload request to the CDN node, the upload request including a first content identifier;

[0008] Receive the upload request response message from the CDN node and send media content to the CDN node;

[0009] The CDN node receives a second content identifier, which includes a first content identifier and a content location identifier indicating the location of the media content.

[0010] Secondly, embodiments of this application also provide a method for implementing CDN services, including,

[0011] A first content identifier is received from a terminal device.

[0012] Based on the upload request, an upload request response message is sent to the terminal device;

[0013] Upon receiving media content uploaded by the terminal device, a content location identifier representing the location of the media content is generated;

[0014] A second content identifier is generated based on the content location identifier and the first content identifier, and the second content identifier is returned to the terminal device.

[0015] Thirdly, embodiments of this application also provide a method for implementing CDN services, including,

[0016] Send a download request for media content to a CDN node, the download request including a second content identifier;

[0017] The media content is obtained from the CDN node, and the media content is determined by the CDN node based on the first content identifier and the content location identifier in the second content identifier.

[0018] Fourthly, embodiments of this application also provide a method for implementing CDN services, including:

[0019] A download request is received from a terminal device, the download request including a second content identifier;

[0020] Media content is sent to the terminal device based on the first content identifier and the content location identifier in the second content identifier.

[0021] Fifthly, embodiments of this application also provide a method for implementing CDN services, including:

[0022] Find the CDN nodes adjacent to the current CDN node;

[0023] Collect the adjacent content routing information of the current CDN node, and construct the content routing table of the current CDN node based on the adjacent content routing information; wherein, the adjacent content routing information includes the content location information and service address of the CDN nodes adjacent to the current CDN node, and the content location information includes the content location identifier.

[0024] In a sixth aspect, embodiments of this application also provide a terminal device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, when the processor executes the computer program, it implements the implementation method of the first aspect as described above or the implementation method of the third aspect as described above.

[0025] In a seventh aspect, embodiments of this application also provide a node server, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, when the processor executes the computer program, it implements the implementation method of the second aspect as described above, or implements the implementation method of the fourth aspect as described above, or implements the implementation method of the fifth aspect as described above.

[0026] Eighthly, embodiments of this application also provide a computer-readable storage medium storing computer-executable instructions for performing the implementation method.

[0027] This application's embodiments include: generating a content location identifier corresponding to the uploaded media content after uploading; carrying the content location identifier when initiating a download request; and mapping to different CDN nodes based on the content location identifier. According to the solution provided by this application's embodiments, by carrying the content location identifier, not only can different origin-waiting paths be selected based on different content, improving the flexibility of CDN networking, but the retrieval direction of media content can also be clearly defined based on the content location identifier, effectively improving the efficiency of routing retrieval. Furthermore, all CDN nodes have upload and download capabilities, allowing user devices to upload and download content locally, eliminating the need for a centralized storage control module to manage user-uploaded content and removing limitations imposed by centralized storage capacity.

[0028] Other features and advantages of this application will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the description, claims and drawings. Attached Figure Description

[0029] The accompanying drawings are used to provide a further understanding of the technical solutions of this application and constitute a part of the specification. They are used together with the embodiments of this application to explain the technical solutions of this application and do not constitute a limitation on the technical solutions of this application.

[0030] Figure 1 This is a schematic diagram of CDN networking in existing technologies;

[0031] Figure 2 This is a schematic diagram of the network topology for implementing a CDN service according to an embodiment of this application;

[0032] Figure 3 This is a schematic diagram of a CDN system according to an embodiment of this application;

[0033] Figure 4 This is a schematic diagram of the content uploading process according to one embodiment of this application;

[0034] Figure 5 This is a flowchart of a CDN service implementation method provided in one embodiment of this application;

[0035] Figure 6 This is a flowchart of upload scheduling in one embodiment of this application;

[0036] Figure 7 This is a flowchart of a CDN service implementation method provided in another embodiment of this application;

[0037] Figure 8 This is a schematic diagram illustrating a usage scenario provided in one embodiment of this application;

[0038] Figure 9 This is a schematic diagram illustrating a usage scenario provided by another embodiment of this application;

[0039] Figure 10 This is a flowchart of a CDN service implementation method provided in another embodiment of this application;

[0040] Figure 11 This is a flowchart of download scheduling in a CDN service implementation method provided in another embodiment of this application;

[0041] Figure 12 This is a flowchart illustrating the content download process according to one embodiment of this application;

[0042] Figure 13 This is a flowchart of a CDN service implementation method provided in another embodiment of this application;

[0043] Figure 14 This is a flowchart of a CDN service implementation method provided in another embodiment of this application;

[0044] Figure 15 This is a block diagram of a CDN service implementation device provided in an embodiment of the present invention;

[0045] Figure 16 This is a block diagram of a CDN service implementation device provided in another embodiment of the present invention;

[0046] Figure 17 This is a block diagram of a CDN service implementation device provided in another embodiment of the present invention;

[0047] Figure 18This is a block diagram of a CDN service implementation device provided in another embodiment of the present invention;

[0048] Figure 19 This is a block diagram of a CDN service implementation device provided in another embodiment of the present invention. Detailed Implementation

[0049] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0050] It should be noted that although functional modules are divided in the device schematic diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart. The terms "first," "second," etc., in the specification, claims, and the aforementioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0051] Currently, the relatively mature CDN networking methods that have emerged in the industry include... Figure 1 As shown, the content is generated by the content provider / operator and uploaded to the central CDN node. The central CDN node processes and packages the content before transmitting it to the end user via multiple levels of CDN nodes. Distribution occurs from the central CDN node to regional CDN nodes, and from regional CDN nodes to edge CDN nodes. The end user then uses GSLB to globally redirect to the edge CDN nodes, which then provide services to the user. Overall, this CDN architecture is an operational CDN, where content transmission spreads outward from the center in a tree-like structure. In this approach, content generation is solely the responsibility of the content provider / operator, which is not conducive to developing diverse self-media businesses. Furthermore, the centralized storage of the original content copy limits storage capacity, and the centralized control of content distribution and user scheduling makes it prone to performance bottlenecks and single points of failure.

[0052] Existing CDN content service routing methods include two types: searching according to the global content distribution data table and performing origin routing according to fixed node dependencies. The problem with the former is that the number of records in the content distribution data table is the Cartesian product of the total number of content and the number of CDN nodes. When the number of content is large, the content distribution records are massive, resulting in low search efficiency and making it impossible to achieve distributed control. The problem with the latter is that the topology path of the origin routing is the same regardless of the content, making it impossible to select different origin routing paths based on the content.

[0053] This application provides a method for implementing CDN services, a terminal device, a node server, and a storage medium. By carrying content location identifiers, it not only allows for the selection of different origin paths based on different content, improving the flexibility of CDN networking, but also clarifies the retrieval direction of media content based on the content location identifiers, effectively improving the efficiency of routing retrieval. Furthermore, all CDN nodes have upload and download capabilities, allowing users' devices to upload and download content locally, eliminating the need for a centralized storage control module to manage user-uploaded content, effectively preventing the entire CDN service from becoming unavailable due to a single point of failure.

[0054] The embodiments of this application will be further described below with reference to the accompanying drawings.

[0055] like Figure 2 As shown, Figure 2 This is a schematic diagram of the network topology for implementing a CDN service according to an embodiment of this application. Figure 2 In this embodiment, the network topology includes several locations, and each location includes several CDN nodes. Users can access the CDN nodes from any location through terminal devices to obtain content upload and download services. After the content is injected into the CDN nodes, it can flow in any direction in the CDN network, thus realizing CDN Mesh (multi-hop, wireless mesh) networking.

[0056] like Figure 3 As shown, the CDN system of this application embodiment includes multiple CDN nodes, a scheduling server, and terminal devices. Optionally, the CDN system also includes a management module.

[0057] CDN nodes are the basic network elements that make up the content network, enabling content storage, distribution, routing, and service. The entire content network consists of interconnected CDN nodes, providing services such as content uploading, downloading, and playback to terminal devices. Each node has the same functional characteristics. Within the entire content network system, each CDN node is assigned a globally unique content location identifier. After receiving a user's upload request, a CDN node stores the content locally based on the first content identifier and returns it to the user or application by adding the content location identifier to the second content identifier generated from the first content identifier. Upon receiving a user's download request, it retrieves the second content identifier from the download request, first checking if the content exists in its local cache. If it does, it directly serves the user; otherwise, it searches for the content based on the content location identifier, sending origin requests to the CDN node where the content was uploaded level by level until the content is found. Finally, it returns the content to the user level by level. During the level-by-level forwarding of content, each CDN node along the content route caches the content according to its own strategy. Once an intermediate CDN node has cached the content, when a user subsequently requests the content and the request passes through that intermediate CDN node, the content will be found, and the intermediate CDN node will directly return the content to the user without needing to provide service from the CDN node with the content location identifier, making it faster and more efficient.

[0058] Terminal devices refer to various application terminals, specifically including PC browsers / players, STB set-top boxes, mobile phones / Pad terminals, and embedded terminals, which support interaction with CDN nodes according to standard protocols such as HTTP / RTSP. In this embodiment of the invention, according to the usage scenario, terminal devices are divided into content uploading terminal devices and content downloading terminal devices. The content uploading terminal device interacts with the scheduling server to obtain the address of the media server to be uploaded and a second content identifier with the content location identifier, and then uploads the content to the designated CDN node; the content downloading terminal device interacts with the scheduling server to obtain the download address, and then interacts with the corresponding CDN node to download the content and convert it into service formats such as media playback and web browsing.

[0059] The management module is used to manage the content location identifier and service address information of CDN nodes, and to distribute the mapping relationship between the content location identifier and the node address to all CDN nodes.

[0060] The CDN system constructed in this application does not have any special requirements for terminal devices. It can interact using existing media protocols such as RTSP / HTTP and is applicable to various terminals of existing IPTV / OTT / Internet.

[0061] CDN nodes and terminal devices each include a memory and a processor, which can be connected via a bus or other means.

[0062] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0063] The network topology and application scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. Those skilled in the art will know that with the evolution of network topology and the emergence of new application scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0064] It will be understood by those skilled in the art that Figure 2 The nodes and topology shown do not constitute a limitation on the embodiments of this application. They may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0065] exist Figure 2 In the network topology shown, each CDN node can call its stored implementation program to execute the implementation method; or, the terminal device can call its stored implementation program and cooperate with each CDN node to execute the implementation method.

[0066] Based on the above network topology and the structure of each CDN node and terminal device in the above network topology, various embodiments of the implementation method of this application are proposed.

[0067] like Figure 4 and Figure 5 As shown, Figure 5 This is a flowchart of a CDN service implementation method provided in one embodiment of this application. The implementation method is applied to a terminal device and includes, but is not limited to, steps S110, S120 and S130.

[0068] Step S110: Send an upload request to the CDN node. The upload request includes the first content identifier.

[0069] In one embodiment, a user sends an upload request to a CDN node through a terminal device, thereby establishing a transmission session between the terminal device and the CDN node.

[0070] Step S120: Receive the upload request response message from the CDN node and send the media content to the CDN node.

[0071] The media content can be audio or video media content, or document media content, such as PDF or WORD documents, and is not limited in this embodiment of the invention.

[0072] Step S130: Receive the second content identifier of the CDN node. The second content identifier includes the first content identifier and a content location identifier indicating the location of the media content.

[0073] In this embodiment, by generating a content location identifier corresponding to the uploaded media content after uploading, it is convenient for subsequent CDN services to be mapped to different CDN nodes based on the content location identifier. Moreover, the user's device terminal can upload media content from the nearest node, eliminating the need for a centralized storage control module to manage user-uploaded content. This effectively prevents the problem of the entire CDN service becoming unavailable due to a single point of failure.

[0074] In one embodiment, the content location identifier is used to indicate the location of the media content. The content location identifier may include information such as network domain, country, province (region), city, and node identifier (the node identifier may describe the node network level, cross-domain attributes, etc.).

[0075] In one embodiment, the second content identifier includes a first content identifier and a content location identifier. The second content identifier can be a simple combination of the first content identifier and the content location identifier. For example, it can be formed by arranging the first content identifier + content location identifier, or the content location identifier + first content identifier. Alternatively, the first content identifier and the content location identifier can be encrypted using a reversible encryption algorithm to obtain the second content identifier. The specific method for generating the second content identifier can be appropriately selected according to the actual application scenario, and this embodiment does not impose specific limitations.

[0076] refer to Figure 6 In one embodiment, step S110 includes, but is not limited to, the following steps:

[0077] Step S111: Send an upload scheduling request to the scheduling server. The upload scheduling request includes the location information of the terminal device.

[0078] Step S112: Receive the service address of the target CDN node returned by the scheduling server. The target CDN node is determined by the scheduling server based on the location information and the CDN node information associated with the terminal device. The CDN node information is obtained by the scheduling server based on the location information.

[0079] Step S113: Send an upload request to the target CDN node based on the service address.

[0080] In one embodiment, such as Figure 3 and Figure 4 As shown, before a user uploads media content to a CDN node through their terminal device, they need to have a suitable CDN node allocated by the scheduling server. The user sends a media content upload request to the CDN scheduling system through their terminal device. Based on the location information of the terminal device in the media content upload request, the scheduling server collects the node information of all CDN nodes near the terminal device and selects a suitable CDN node to provide services according to a strategy. The scheduling system then returns the service address of the suitable CDN node to the terminal device.

[0081] In one embodiment, the CDN node information includes at least one of the following: node status, load information, and storage capacity. The target CDN node is determined by the scheduling server based on location information and the CDN node information associated with the terminal device. The CDN node information is obtained by the scheduling server based on the location information. Here, the strategy for determining the CDN node can be based on the proximity principle, selecting the nearest CDN node for service; it can also be based on the node status, selecting a CDN node with a good node status for service; it can also be based on the load information, selecting a CDN node with a lighter load for service; or it can be based on the storage capacity, selecting a CDN node with a larger storage capacity for service.

[0082] refer to Figure 7 , Figure 7 This is a flowchart of a CDN service implementation method provided in another embodiment of this application. The implementation method is applied to a CDN node and includes, but is not limited to, steps S210, S220, S230 and S240.

[0083] Step S210: Receive an upload request from the terminal device. The upload request includes a first content identifier.

[0084] Step S220: Based on the upload request, send an upload request response message to the terminal device.

[0085] Step S230: Receive media content uploaded by the terminal device and generate a content location identifier indicating the location of the media content.

[0086] The media content can be audio or video media content, or document media content, such as PDF or WORD documents, which are not limited in this application embodiment.

[0087] In one embodiment, the CDN node receives media content uploaded by the terminal device and saves it locally. The CDN node can use memory, SSD, disk array, or other storage media to store the media content; this embodiment is not limited to any particular type. When using SSD, it can support, but is not limited to, PCI-E (Peripheral Component Interconnect Express) and NVMe (Non-Volatile Memory Express). The CDN node can read media content from memory, SSD, disk array, and other storage media to improve response speed.

[0088] In one embodiment, the content location identifier is used to indicate the location of the media content. The content location identifier may include information such as network domain, country, province (region), city, and node identifier (the node identifier may describe the node network level, cross-domain attributes, etc.).

[0089] Step S240: Generate a second content identifier based on the content location identifier and the first content identifier, and return the second content identifier to the terminal device.

[0090] In this embodiment, by generating a content location identifier corresponding to the uploaded media content after uploading, it is convenient for subsequent CDN services to be mapped to different CDN nodes based on the content location identifier. Moreover, the user's device terminal can upload media content from the nearest node, eliminating the need for a centralized storage control module to manage user-uploaded content. This effectively prevents the problem of the entire CDN service becoming unavailable due to a single point of failure.

[0091] In one embodiment, the second content identifier includes a first content identifier and a content location identifier. The second content identifier can be a simple combination of the first content identifier and the content location identifier. For example, it can be formed by arranging the first content identifier + content location identifier, or the content location identifier + first content identifier. Alternatively, the first content identifier and the content location identifier can be encrypted using a reversible encryption algorithm to obtain the second content identifier. The specific method for generating the second content identifier can be appropriately selected according to the actual application scenario, and this embodiment does not impose specific limitations.

[0092] The implementation method of CDN service provided in the above embodiments is described in detail below with specific embodiments:

[0093] Example 1:

[0094] like Figure 8 In the short video sharing scenario shown, the content location in region 1 is identified as cn-hb-wh (China-Hubei-Wuhan). Region 1 contains node 1 and node 2. Mobile user 1 is the user who created and shared the video content, and mobile user 2 is the user who watched the video content. The information of each node is as follows:

[0095] Node 1: Service address 10.1.1.1, upload service port 7070, download port 8080; content location identifier cn-hb-wh-00001;

[0096] Node 2: Service address 10.1.1.2, upload service port 7070, download port 8080; content location identifier cn-hb-wh-00002.

[0097] In region 2, the content location is identified as cn-js-nj (China-Jiangsu-Nanjing). Region 2 contains nodes 3 and 4. Mobile user 3 is the user watching the video content. The information of each node is as follows:

[0098] Node 3: Service address 10.2.1.1, upload service port 7070, download port 8080; content location identifier cn-js-nj-00001;

[0099] Node 4: Service address 10.2.1.2, upload service port 7070, download port 8080; content location identifier cn-js-nj-00002.

[0100] In this embodiment, all node signaling interactions, upload and download services use the HTTP protocol. This embodiment includes a scheduling server to provide optimal CDN node services to user requests; a CDN management system responsible for CDN topology management; and an APP Server used to enable information sharing of short videos uploaded by mobile users, sharing the short video content with other mobile users.

[0101] In this embodiment, specifically in region 1 (China-Hubei-Wuhan), mobile phone user 1 creates a short video content hello.mp4 and uploads it to node 1 within region 1. The terminal device used is a mobile phone terminal, and the specific upload process is as follows:

[0102] First, mobile user 1 opens the short video app and initiates a login request to the app server through the app server;

[0103] Then, mobile user 1 requests a CDN node as an upload node from the scheduling server via the mobile terminal, and obtains the service address of node 1 from the scheduling server (the scheduling server completes the node search based on the proximity principle and information such as node status, node storage usage, and node load).

[0104] Finally, user 1's mobile terminal establishes a media session with node 1 at address 10.1.1.1:7070 and initiates an upload request for hello.mp4 (hello.mp4 is the first content identifier). Node 1 generates a second content identifier containing the content location identifier (cn-hb-wh-00001-hello.mp4) based on the node's content location identifier and the first content identifier. After the content of hello.mp4 is uploaded, the second content identifier is returned to user 1 via an HTTP URL, and node 1 saves hello.mp4.

[0105] In this embodiment, by generating a content location identifier corresponding to the uploaded media content after uploading, it is convenient for subsequent CDN services to be mapped to different CDN nodes based on the content location identifier. Moreover, the user's device terminal can upload media content from the nearest node, eliminating the need for a centralized storage control module to manage user-uploaded content. This effectively prevents the problem of the entire CDN service becoming unavailable due to a single point of failure.

[0106] Example 2:

[0107] This embodiment and Embodiment 1 described above are based on the same application scenario. This embodiment mainly illustrates the process of a mobile phone user 4 in a certain area sharing and uploading a short video world.mp4, as follows: Figure 8 As shown, in region 3, the content location is identified as cn-sh (China-Shanghai), including node 5, and mobile user 4 is the second short video content sharing user;

[0108] Node 5 has a service address of 10.3.1.1, an upload service port of 7070, a download port of 8080, and a content location identifier of cn-sh-00001. Other regions and nodes are consistent with those in Example 1.

[0109] The specific process by which Shanghai mobile phone user 4 uploaded the short video content world.mp4 is as follows:

[0110] First, mobile user 4 opens the short video app and initiates login and authentication with the app server through the app server;

[0111] Then, mobile user 4 requests a CDN node as an upload node from the scheduling server via the mobile terminal, and obtains the service address of node 5 from the scheduling server (the scheduling system completes the node search based on the proximity principle and information such as node status, node storage usage, and node load).

[0112] Mobile user 4's mobile terminal establishes a media session with the service address 10.3.1.1:7070 of node 5 and initiates an upload request for world.mp4 (world.mp4 is the first content identifier). Node 5 generates a second content identifier containing the content location identifier (cn-sh-00001-world.mp4) based on the node's content location identifier. After the content of hello.mp4 is uploaded, the second content identifier is returned to mobile user 4 in the form of an HTTP URL, and node 5 saves world.mp4.

[0113] In this embodiment, by generating a content location identifier corresponding to the uploaded media content after uploading, it is convenient for subsequent CDN services to be mapped to different CDN nodes based on the content location identifier. Moreover, the user's device terminal can upload media content from the nearest node, eliminating the need for a centralized storage control module to manage user-uploaded content. This effectively prevents the problem of the entire CDN service becoming unavailable due to a single point of failure.

[0114] refer to Figure 10 , Figure 10 This is a flowchart of a CDN service implementation method provided in another embodiment of this application. The implementation method is applied to a terminal device and includes, but is not limited to, steps S310 and S320.

[0115] Step S310: Send a download request for media content to the CDN node. The download request includes a second content identifier.

[0116] Step S320: Obtain media content from CDN nodes. The media content is determined by CDN nodes based on the first content identifier and content location identifier in the second content identifier.

[0117] This embodiment includes a content location identifier when initiating a download request. This identifier maps to different CDN nodes, improving the flexibility of CDN networking by selecting different origin paths for different content. Furthermore, the content location identifier clearly defines the retrieval direction of media content, effectively improving routing efficiency. In addition, all CDN nodes have download capabilities, allowing users' devices to download content from the nearest node. This eliminates the need for a centralized storage control module to manage user-uploaded content, effectively preventing the entire CDN service from becoming unavailable due to a single point of failure.

[0118] In one embodiment, the content location identifier is used to indicate the location of the media content. The content location identifier may include information such as network domain, country, province (region), city, and node identifier (the node identifier may describe the node network level, cross-domain attributes, etc.).

[0119] In one embodiment, the second content identifier includes a first content identifier and a content location identifier. The second content identifier can be a simple combination of the first content identifier and the content location identifier. For example, it can be formed by arranging the first content identifier + content location identifier, or the content location identifier + first content identifier. Alternatively, the first content identifier and the content location identifier can be encrypted using a reversible encryption algorithm to obtain the second content identifier. The specific method for generating the second content identifier can be appropriately selected according to the actual application scenario, and this embodiment does not impose specific limitations.

[0120] refer to Figure 11 In one embodiment, step S310 includes, but is not limited to, the following steps:

[0121] Step S311: Send a download scheduling request to the scheduling server. The download scheduling request includes the location information of the terminal device.

[0122] Step S312: Receive the service address of the target CDN node returned by the scheduling server. The target CDN node is determined by the scheduling server based on the location information and the CDN node information associated with the terminal device. The CDN node information is obtained by the scheduling server based on the location information.

[0123] Step S313: Send a media content download request to the target CDN node based on the service address.

[0124] In this embodiment, compared with the existing routing method in CDNs that uses a global content distribution data table for lookup, the method based on content location information in this embodiment uses routing information where the amount of routing information is the square of the number of CDN nodes. Generally, the number of CDN nodes in a network is finite and fixed, therefore the amount of content location information is relatively small, resulting in higher retrieval efficiency. Furthermore, each CDN node can store routing information for all CDN nodes in the entire network, enabling the CDN to form distributed routing control, further improving routing retrieval efficiency.

[0125] In one embodiment, such as Figure 3 , Figure 4 and Figure 12As shown, before a user downloads media content from a CDN node through their terminal device, they need to be assigned a suitable CDN node by the scheduling server. The user sends a media content download request to the CDN scheduling system through their terminal device. Based on the location information of the terminal device in the media content download request, the scheduling server collects the node information of all CDN nodes near the terminal device and selects a suitable CDN node to provide services according to a strategy. The scheduling system then returns the service address of the suitable CDN node to the terminal device.

[0126] In one embodiment, the CDN node information includes at least one of the following: node status, load information, and storage capacity. The target CDN node is determined by the scheduling server based on location information and the CDN node information associated with the terminal device. The CDN node information is obtained by the scheduling server based on the location information. Here, the strategy for determining the CDN node can be based on the proximity principle, selecting the nearest CDN node for service; it can also be based on the node status, selecting a CDN node with a good node status for service; it can also be based on the load information, selecting a CDN node with a lighter load for service; or it can be based on the storage capacity, selecting a CDN node with a larger storage capacity for service.

[0127] refer to Figure 13 , Figure 13 This is a flowchart of a CDN service implementation method provided in another embodiment of this application. The implementation method is applied to a CDN node and includes, but is not limited to, steps S410 and S420.

[0128] Step S410: Receive a download request from the terminal device, the download request including a second content identifier;

[0129] Step S420: Send media content to the terminal device according to the first content identifier and the content location identifier in the second content identifier.

[0130] The media content can be audio or video media content, or document media content, such as PDF or WORD documents, and is not limited in this embodiment of the invention.

[0131] This embodiment includes a content location identifier when initiating a download request. This identifier maps to different CDN nodes, improving the flexibility of CDN networking by selecting different origin paths for different content. Furthermore, the content location identifier clearly defines the retrieval direction of media content, effectively improving routing efficiency. In addition, all CDN nodes have download capabilities, allowing users' devices to download content from the nearest node. This eliminates the need for a centralized storage control module to manage user-uploaded content, effectively preventing the entire CDN service from becoming unavailable due to a single point of failure.

[0132] In one embodiment, the content location identifier is used to indicate the location of the media content. The content location identifier may include information such as network domain, country, province (region), city, and node identifier (the node identifier may describe the node network level, cross-domain attributes, etc.).

[0133] In one embodiment, the second content identifier includes a first content identifier and a content location identifier. The second content identifier can be a simple combination of the first content identifier and the content location identifier. For example, it can be formed by arranging the first content identifier + content location identifier, or the content location identifier + first content identifier. Alternatively, the first content identifier and the content location identifier can be encrypted using a reversible encryption algorithm to obtain the second content identifier. The specific method for generating the second content identifier can be appropriately selected according to the actual application scenario, and this embodiment does not impose specific limitations.

[0134] In one embodiment, step S420 specifically involves:

[0135] Based on the first content identifier and the content location identifier, the corresponding CDN node is obtained from the management module, and the media content is returned to the device terminal directly or step by step from the CDN node.

[0136] In one embodiment, step S420 specifically involves:

[0137] Based on the first content identifier and the content location identifier, the CDN nodes that cache the media content are searched level by level until the CDN node that caches the media content is found. The CDN node that caches the media content then returns the media content to the terminal device level by level.

[0138] In one embodiment, based on a first content identifier and a content location identifier, a CDN node that caches the media content is searched level by level until a CDN node that caches the media content is found. The CDN node that caches the media content then returns the media content to the terminal device level by level, including:

[0139] Step S421: If the current CDN node has media content cached locally, then the current CDN node is determined to be a CDN node that has cached media content.

[0140] Step S422: If the current CDN node does not have cached media content locally, the next-hop CDN node is determined based on the content location identifier and the content routing table stored locally, and a back-origin request is sent to the next-hop CDN node to search for the media content. The back-origin request includes the second content identifier.

[0141] In this embodiment, after a user initiates a media content download request to a CDN node through a terminal device, the CDN node, upon receiving the download request, first determines whether it has cached the media content corresponding to the download request locally. If it has, it directly provides the service to the user through the terminal device. If not, the CDN node parses the content location identifier from the second content identifier, determines the next-hop CDN node based on the content location identifier and its local content routing table, and then sends a back-to-origin request containing the second content identifier to the next-hop CDN node for content routing. If the next-hop CDN node also does not cache the media content, it performs content routing to the next-next-hop CDN node until it finds a CDN node that caches the media content, and then returns the media content to the terminal device step by step.

[0142] In one embodiment, such as Figure 8 and Figure 9 As shown, media content is cached according to a policy at each CDN node it passes through on its return journey. When a user accesses the media content identified by the first content identifier after a previous media content download, CDN nodes 2-4 are triggered to cache the content. Subsequent users downloading the same media content will then directly access it through CDN nodes 2-4, thereby improving the access efficiency for subsequent users.

[0143] In one embodiment, such as Figure 8 and Figure 9 As shown, during the content routing process, each CDN node (1-4) will have its location identifier added to the request as a routing path. If the location identifier in the routing path of the request is found to be the same as the location identifier of this node, it indicates that the routing is in a loop. Content routing forwarding can be stopped and routing failure returned, thereby preventing the occurrence of loop routing.

[0144] For example, let's take a specific example, such as Figure 3 As shown, the user initiates a media content download request to CDN node 3 through the terminal device. The download request includes the second content identifier 1 (containing content location information) shared by the terminal device 1, and the content routing table is the content routing table.

[0145] After receiving the request, CDN node 3 first determines whether it has cached the content. If so, it directly provides the service to the user through the terminal device. If not, CDN node 3 parses and obtains the content location identifier of the media content. CDN node 3 performs route matching between the content location identifier and the node's content routing table, finds node 4, and finds a route to the content location identifier. Therefore, CDN node 3 initiates a back-to-origin request to the next hop node 4, and the request includes the second content identifier.

[0146] After receiving the request, Node 4 parses and obtains the location identifier 1 of Content 1. It first determines whether it has cached the media content. If it does, it returns the media content to CDN Node 3. If not, it performs route matching with the content routing table of the node and finds that there is a route to the node with the content location identifier 1 in the reachable node 2. Then it sends a back-to-origin request to node 2, which includes the content identifier 1.

[0147] After receiving the request, Node 2 parses the content location identifier of the media content, first checks whether it has cached the content. If so, it directly returns the content to Node 4; otherwise, it looks up the content location identifier in the content routing table to find the corresponding node - CDN Node 1, and forwards the request to CDN Node 1.

[0148] CDN node 1 obtains the media content based on content identifier 1, and then transmits the content back to CDN node 3 through nodes 2 through 4.

[0149] Finally, CDN node 3 sends the media content to content download terminal 2.

[0150] The implementation method of CDN service provided in the above embodiments is described in detail below with specific embodiments:

[0151] Example 3:

[0152] like Figure 8 In the short video sharing application scenario shown, this embodiment and the first embodiment described above are based on the same application scenario. Specifically, in region 1 (China-Hubei-Wuhan), the short video operator pushes the content hello.mp4 to mobile phone user 2 in region 1 and mobile phone user 3 in region 2. Mobile phone user 2 watches the video hello.mp4 through the APP, illustrating how users in the same region can obtain the service using the method of the present invention; in region 2 (China-Jiangsu-Nanjing), mobile phone user 3 watches the video hello.mp4 through the mobile APP, illustrating how users in different regions can obtain the service using the method of the present invention.

[0153] The process by which Wuhan mobile phone user 2 watched the short video content hello.mp4 is as follows:

[0154] First, mobile user 2 opens the short video app and initiates login and authentication through the app server;

[0155] Mobile user 2 requests node 2 from the scheduling server via the device terminal to use as a download node and obtains the service address of node 2; (the scheduling system completes the node search based on the proximity principle, node status, node load, and other information)

[0156] The APP Server pushes the short video hello.mp4 created by mobile phone user 1 to mobile phone user 2. The pushed information includes the second content identifier of the short video cn-hb-wh-00001-hello.mp4.

[0157] User 2's app downloads content from Node 2's download address 10.1.1.2:8080. Node 2 does not have this media content, so it finds the adjacent Node 1 based on the content location identifier cn-hb-wh-00001 in the content identifier. Node 2 sends a request to Node 1, and Node 1 finds the media content based on the second content identifier in the request and sends it to Node 2. The node forwards the media content to User 2, and User 2's app downloads and plays the content.

[0158] Node 2 caches the content of hello.mp4 according to the hot spot caching strategy.

[0159] The process of Nanjing mobile phone user 3 watching hello.mp4 is as follows:

[0160] Mobile user 3 opens the short video APP through the mobile terminal and initiates login and authentication through the APP Server;

[0161] The APP Server pushes the short video hello.mp4 created by mobile phone user 1 to mobile phone user 3. The pushed information includes the short video's identifier cn-hb-wh-00001-hello.mp4.

[0162] The terminal device obtains the service address 10.2.1.1:8080 of node 3 by interacting with the scheduling server and returns it to mobile phone user 3;

[0163] Mobile user 3 initiated a request to watch the short video content hello.mp4 at node 3 address 10.2.1.1:8080. The request included the content identifier cn-hb-wh-00001.

[0164] After receiving the request, Node 3 obtains the location of the content as cn-hb-wh based on the content identifier cn-hb-wh-00001. By matching and querying the content routing table of this node, it finds that there is a route to cn-hb-wh on the reachable node 4, with the location identifier cn-js-nj00002 and the service address 10.2.1.2:8080.

[0165] Node 3 sends a back-to-origin request to Node 4, which includes the location identifier cn-hb-wh-00001;

[0166] After receiving the request, Node 4 uses the location identifier cn-hb-wh-00001 and the content routing table to find Node 2, whose location identifier cn-hb-wh-00002 is the longest matching node. Therefore, Node 4 sends a back-to-origin request to Node 2, which includes the location identifier cn-hb-wh-00001. Upon receiving the request, Node 2 finds that the hello.mp4 content was cached locally when User 2 requested the content previously. So, it sends the content to Node 4, which then forwards it to Node 3. Finally, Node 3 sends the content to User 3, whose app downloads and plays the content.

[0167] Nodes 3 and 4 cache the content of hello.mp4 according to the hotspot caching strategy.

[0168] Example 4:

[0169] like Figure 9 As shown, this embodiment and the above embodiment two are based on the same application scenario. In this embodiment, mobile phone user 3 in region 2 (China-Jiangsu-Nanjing) watches the short video world.mp4 and returns to the origin node 5 through node 4, which is different from the routing path in embodiment three.

[0170] In this embodiment, the process of Nanjing mobile phone user 3 watching world.mp4 is as follows:

[0171] Mobile user 3 opens the short video app and initiates login and authentication with the app server through the app server;

[0172] The APP Server pushes the short video world.mp4 created by mobile phone user 4 to mobile phone user 3. The pushed information includes the short video's identifier cn-sh-00001-world.mp4.

[0173] The APP obtains the service address 10.2.1.1:8080 of node 3 by interacting with the scheduling system and returns it to mobile phone user 3;

[0174] Mobile user 3's APP node 3 at address 10.2.1.1:8080 initiates a request to watch the short video content world.mp4, and the request includes the second content identifier cn-sh-00001-world.mp4;

[0175] After receiving the request, Node 3 obtains the location of the content as cn-sh-00001 based on the content identifier cn-sh-00001-world.mp4. By matching and querying the content routing table of this node, it finds that there is a route to cn-sh on the reachable node 4, with the location identifier cn-sh-00001 and the service address 10.2.1.2:8080.

[0176] Node 3 sends a back-to-origin request to Node 4, which includes the location identifier cn-sh-00001;

[0177] After receiving the request, Node 4 uses the content location identifier cn-sh-00001 to find Node 5, which is reachable from the content routing table. Node 5's location identifier cn-sh-00001 is the longest matching node for that location identifier. Therefore, Node 4 sends a back-to-origin request to Node 5, which includes the location identifier cn-sh-00001. Upon receiving the request, Node 5 finds that it already contains the world.mp4 content, so it sends the content to Node 4. Node 4 then forwards the request to Node 3, and finally Node 3 sends the content to mobile user 3. Mobile user 3's app downloads the content and plays it.

[0178] Nodes 3 and 4 cache the content of world.mp4 according to the hotspot caching strategy.

[0179] Comparing Example 3 and Example 4, the routing processes for Nanjing mobile user 3 to play hello.mp4 shared by Wuhan user 1 and world.mp4 shared by Shanghai mobile user 4 show that when playing hello.mp4, the routing path is node 3->node 4->node 2->node 1, and when playing world.mp4, the routing path is node 3->node 4->node 5. This demonstrates that the method of the present invention can select different routing paths according to different content.

[0180] refer to Figure 14 , Figure 14 This is a flowchart of a CDN service implementation method provided in another embodiment of this application. The implementation method is applied to a CDN node and includes, but is not limited to, steps S510 and S520.

[0181] Step S510: Find the CDN nodes adjacent to the current CDN node.

[0182] Step S520: Collect the adjacent content routing information of the current CDN node, and construct the content routing table of the current CDN node based on the adjacent content routing information; wherein, the adjacent content routing information includes the content location information and service address of the CDN nodes adjacent to the current CDN node, and the content location information includes the content location identifier.

[0183] In this embodiment, each CDN node has its own content routing table, eliminating the need for a centralized storage control module to manage user-uploaded content. This effectively prevents the entire CDN service from becoming unavailable due to a single point of failure.

[0184] In one embodiment, in all regions, all CDN nodes can find nearby reachable CDN nodes through a self-discovery protocol or through a CDN management system. Specifically, each CDN node collects the adjacent content routing information of its neighboring nodes and then constructs its own content routing table. The adjacent content routing information includes the adjacent content routing information of the adjacent CDN nodes. Each CDN node's content routing table contains the adjacent content routing information of multiple adjacent CDN nodes.

[0185] For example, with Figure 3 Taking four CDN nodes as an example:

[0186] Within region 1, node 1 collects the adjacent content routing information of node 2 and stores it in node 1's content routing table;

[0187] Within region 1, node 2 collects the adjacent content routing information of node 1 and node 4 and stores it in node 2's content routing table;

[0188] Within region 2, node 3 collects the adjacent content routing information of node 4 and stores it in node 3's content routing table;

[0189] Within region 2, node 4 collects the adjacent content routing information of nodes 3 and 2 and stores it in node 4's content routing table.

[0190] The implementation method of CDN service provided in the above embodiments is described in detail below with specific embodiments:

[0191] Example 5:

[0192] like Figure 8 In the short video sharing usage scenario shown, this embodiment and the first embodiment above are based on the same application scenario.

[0193] In this embodiment, after the Mesh CDN is built, the process of the four nodes in the above two regions discovering and searching for neighboring nodes and collecting the adjacent content routing information of the CDN nodes is as follows:

[0194] First, within region 1, node 1 collects the adjacent content routing information of node 2 and stores it in node 1's routing table;

[0195] The routing information for the adjacent content of node 2 is as follows (YAML representation):

[0196]

[0197]

[0198] Finally, the content routing table (YAML representation) for node 1:

[0199]

[0200] Within region 1, node 2 collects the adjacent content routing information of node 1 and node 4 and stores it in node 2's content routing table;

[0201] The routing information for the adjacent content of node 1 is as follows (YAML representation):

[0202]

[0203] The routing information for the adjacent content of node 4 is as follows (YAML representation):

[0204]

[0205] The content routing table (YAML representation) of the last node 2:

[0206]

[0207] Within region 2, node 3 collects the adjacent content routing information of node 4 and stores it in node 3's content routing table; the routing table format of node 3 is similar to that of node 1 and node 2, and will not be described again below;

[0208] Within region 2, node 4 collects the adjacent content routing information of nodes 3 and 2, and stores it in node 4's routing table.

[0209] Example 4:

[0210] like Figure 9 As shown, this embodiment and the above embodiment 2 are based on the same application scenario.

[0211] In this embodiment, after the Mesh CDN is built, the process of collecting the adjacent content routing information of CDN nodes in Region 2 (Nanjing) and Region 3 (Shanghai) is as follows:

[0212] Within region 2 (Nanjing), node 3 collects the adjacent content routing information of node 4 and stores it in node 3's content routing table;

[0213] Within region 2 (Nanjing), node 4 collects the adjacent content routing information of nodes 3, 2 and 5, and stores it in node 4's content routing table;

[0214] Within region 3 (Shanghai), node 5 collects the adjacent content routing information of node 4 and stores it in node 5's content routing table.

[0215] Figure 15 This is a block diagram of an implementation device for CDN services according to an embodiment of the present invention, as shown below. Figure 15 As shown, the implementation device includes a first transmitting module 110, a second transmitting module 120, and a first receiving module 130.

[0216] The first sending module 110 is used to send an upload request to the CDN node, and the upload request includes a first content identifier;

[0217] The second sending module 120 is used to receive the upload request response message from the CDN node and send media content to the CDN node;

[0218] The first receiving module 130 is used to receive the second content identifier of the CDN node. The second content identifier includes the first content identifier and a content location identifier indicating the location of the media content.

[0219] Figure 16 This is a block diagram of an implementation device for CDN services according to an embodiment of the present invention, as shown below. Figure 16 As shown, the implementation device includes a second receiving module 210, a third sending module 220, a third receiving module 230, and a first generating module 240.

[0220] The second receiving module 210 is used to receive an upload request from the terminal device, the upload request including a first content identifier;

[0221] The third sending module 220 is used to send an upload request response message to the terminal device according to the upload request;

[0222] The third receiving module 230 is used to receive media content uploaded by the terminal device and generate a content location identifier indicating the location of the media content.

[0223] The first generation module 240 is used to generate a second content identifier based on the content location identifier and the first content identifier, and return the second content identifier to the terminal device.

[0224] Figure 17 This is a block diagram of an implementation device for CDN services according to an embodiment of the present invention, as shown below. Figure 17 As shown, the implementation device includes a fourth sending unit and a first acquisition module.

[0225] The fourth sending unit is used to send a download request for media content to the CDN node. The download request includes a second content identifier.

[0226] The first acquisition module is used to acquire media content from CDN nodes. The media content is determined by the CDN nodes based on the first content identifier and the content location identifier in the second content identifier.

[0227] Figure 18 This is a block diagram of an implementation device for CDN services according to an embodiment of the present invention, as shown below. Figure 18 As shown, the implementation device includes a fourth receiving module 410 and a fifth transmitting unit 420.

[0228] The fourth receiving module 410 is used to receive a download request from the terminal device, the download request including a second content identifier;

[0229] The fifth sending unit 420 is used to send media content to the terminal device according to the first content identifier and the content location identifier in the second content identifier.

[0230] Figure 19 This is a block diagram of an implementation device for CDN services according to an embodiment of the present invention, as shown below. Figure 19 As shown, the implementation device includes a search module and a data acquisition module.

[0231] The lookup module is used to find CDN nodes adjacent to the current CDN node;

[0232] The acquisition module is used to acquire the adjacent content routing information of the current CDN node and construct the content routing table of the current CDN node based on the adjacent content routing information. The adjacent content routing information includes the content location information and service address of the CDN nodes adjacent to the current CDN node, and the content location information includes the content location identifier.

[0233] In addition, one embodiment of this application provides a terminal device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor.

[0234] The processor and memory can be connected via a bus or other means.

[0235] It should be noted that the terminal device in this embodiment can be applied to, for example... Figure 2 , Figure 3 , Figure 8 or Figure 9 The illustrated embodiment includes the terminal device described in this embodiment, which is capable of constituting... Figure 2 , Figure 3 , Figure 8 or Figure 9 The network topology shown in the embodiments is part of the network topology. These embodiments all belong to the same inventive concept, and therefore have the same implementation principle and beneficial effects, which will not be described in detail here.

[0236] The non-transient software program and instructions required to implement the above embodiments are stored in memory. When executed by a processor, the implementation method of the above embodiments is executed, for example, the method described above. Figure 5 Method steps S110 to S130 in the text Figure 6 Method steps S111 to S113 in the text Figure 10 Method steps S310 to S320 in the text Figure 11 Method steps S311 to S313.

[0237] In addition, one embodiment of this application provides a node server, the terminal device including: a memory, a processor, and a computer program stored in the memory and executable on the processor.

[0238] The processor and memory can be connected via a bus or other means.

[0239] It should be noted that the node server in this embodiment can be applied to, for example... Figure 2 , Figure 3 , Figure 8 or Figure 9 The illustrated embodiment includes the terminal device described in this embodiment, which is capable of constituting... Figure 2 , Figure 3 , Figure 8 or Figure 9 The network topology shown in the embodiments is part of the network topology. These embodiments all belong to the same inventive concept, and therefore have the same implementation principle and beneficial effects, which will not be described in detail here.

[0240] The non-transient software program and instructions required to implement the above embodiments are stored in memory. When executed by a processor, the implementation method of the above embodiments is executed, for example, the method described above. Figure 7 Method steps S210 to S240 in the text Figure 13 Method steps S410 to S420 in the text Figure 14 Method steps S510 to S520.

[0241] Furthermore, one embodiment of this application also provides a computer-readable storage medium storing computer-executable instructions that are executed by a processor or controller, for example, by a processor in the above-described routing device embodiment, causing the processor to perform the routing method in the above-described embodiment, for example, to perform the above-described... Figure 2 Method steps S100 to S300 in the text Figure 6 Method steps S310 to S330 in the text Figure 7 Method steps S340 to S360 in the text Figure 8 Method steps S311 to S312 in the text Figure 9 Method steps S341 to S342 in the text Figure 10 Method steps S370 to S380 in the text Figure 13 Method steps S410 to S420.

[0242] It will be understood by those skilled in the art that all or some of the steps and systems in the methods disclosed above can be implemented as software, firmware, hardware, and suitable combinations thereof. Some or all of the physical components can be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, which can include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, as is known to those skilled in the art, communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.

[0243] The above is a detailed description of the preferred embodiments of this application. However, this application is not limited to the above embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of this application. All such equivalent modifications or substitutions are included within the scope defined by the claims of this application.

Claims

1. A method for implementing CDN services, applied to a terminal device, the method comprising: Send an upload request to the CDN node, the upload request including a first content identifier; Receive the upload request response message from the CDN node and send media content to the CDN node; The CDN node receives a second content identifier, which includes a first content identifier and a content location identifier indicating the location of the media content. The first content identifier and the content location identifier are used to enable the CDN node requested to download the media content to find the CDN node that caches the media content step by step, and to obtain the media content from the CDN node that caches the media content. During the process of finding the CDN node that caches the media content step by step, the CDN node that is requested to find the media content but does not cache the media content determines the next-hop CDN node based on the content location identifier and the content routing table stored locally, and sends a back-to-origin request including the second content identifier to the next-hop CDN node to find the media content.

2. The implementation method according to claim 1, characterized in that, Sending an upload request to the CDN node includes: Send an upload scheduling request to the scheduling server, the upload scheduling request including the location information of the terminal device; The system receives the service address of the target CDN node returned by the scheduling server. The target CDN node is determined by the scheduling server based on the location information and the CDN node information associated with the terminal device. The CDN node information is obtained by the scheduling server based on the location information. Send an upload request to the target CDN node based on the service address.

3. The implementation method according to claim 2, characterized in that, The CDN node information includes at least one of the following: Node status, load information, and storage capacity.

4. A method for implementing CDN services, applied to CDN nodes, the method comprising: Receive an upload request from a terminal device, wherein the upload request includes a first content identifier; Based on the upload request, an upload request response message is sent to the terminal device; The system receives media content uploaded by the terminal device and generates a content location identifier (CRI) indicating the location of the media content. The first CRI and the content location identifier enable the CDN node requested to download the media content to sequentially locate the CDN node that caches the media content and retrieve the media content from the cached CDN node. During the sequential tracing process to the CDN node that caches the media content, the CDN node requested to search for but not cached the media content determines the next-hop CDN node based on the content location identifier and its locally stored content routing table, and sends a back-to-origin request including the second CRI to the next-hop CDN node to search for the media content. The second content identifier is generated based on the content location identifier and the first content identifier, and the second content identifier is returned to the terminal device.

5. A method for implementing CDN services, applied to a terminal device, the method comprising: Send a download request for media content to a CDN node, the download request including a second content identifier; The media content is obtained from the CDN nodes. The media content is retrieved by the CDN nodes by sequentially searching for CDN nodes that cache the media content based on the first content identifier and content location identifier in the second content identifier, and then obtaining the media content from those CDN nodes. During the process of finding a CDN node that caches the media content, the CDN node that is requested to find the media content but does not cache it determines the next-hop CDN node based on the content location identifier and the locally stored content routing table, and sends a back-to-origin request including the second content identifier to the next-hop CDN node to find the media content.

6. The implementation method according to claim 5, characterized in that, Sending the media content download request to the CDN node includes: Send a download scheduling request to the scheduling server, the download scheduling request including the location information of the terminal device; The system receives the service address of the target CDN node returned by the scheduling server. The target CDN node is determined by the scheduling server based on the location information and the CDN node information associated with the terminal device. The CDN node information is obtained by the scheduling server based on the location information. The media content download request is sent to the target CDN node according to the service address.

7. The implementation method according to claim 6, characterized in that, The CDN node information includes at least one of the following: Node status, load information, and storage capacity.

8. A method for implementing CDN services, applied to CDN nodes, the method comprising: Receive a download request from a terminal device, the download request including a second content identifier; Based on the first content identifier and content location identifier in the second content identifier, the CDN nodes that cache the media content are searched level by level until a CDN node that caches the media content is found. The CDN node that caches the media content then returns the media content to the terminal device level by level. During the process of searching for CDN nodes that cache the media content, if the current CDN node does not cache the media content locally, the next-hop CDN node is determined based on the content location identifier and the locally stored content routing table, and a back-to-origin request including the second content identifier is sent to the next-hop CDN node to search for the media content.

9. The implementation method according to claim 8, characterized in that, The step-by-step search for CDN nodes that cache the media content includes: If the current CDN node has the media content cached locally, then the current CDN node is determined to be a CDN node that has cached the media content.

10. The implementation method according to claim 9, characterized in that, The steps for updating the content routing table include: Find the CDN nodes adjacent to the current CDN node; Collect the adjacent content routing information of the current CDN node, and construct the content routing table of the current CDN node based on the adjacent content routing information; wherein, the adjacent content routing information includes the content location information and service address of the CDN nodes adjacent to the current CDN node, and the content location information includes the content location identifier.

11. A method for implementing CDN services, applied to a CDN node, the method comprising: Find the CDN nodes adjacent to the current CDN node; Collect the adjacent content routing information of the current CDN node, and construct the content routing table of the current CDN node based on the adjacent content routing information; wherein, The adjacent content routing information includes the content location information and service address of CDN nodes adjacent to the current CDN node. The content location information includes a content location identifier indicating the location of the media content. The media content is uploaded to the CDN node by the terminal device based on an upload request. The upload request includes a first content identifier. The first content identifier and the content location identifier are used to enable the CDN node requested to download the media content to find the CDN node that caches the media content level by level, and obtain the media content from the CDN node that caches the media content. During the process of finding the CDN node that caches the media content level by level, the CDN node that is requested to find the media content but does not cache the media content determines the next-hop CDN node according to the content location identifier and the locally stored content routing table, and sends a back-to-origin request including a second content identifier to the next-hop CDN node to find the media content. The second content identifier is generated by the first content identifier and the content location identifier.

12. A terminal device, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, when the processor executes the computer program, it implements the implementation method as described in any one of claims 1 to 3 or the implementation method as described in any one of claims 5 to 7.

13. A node server, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, when the processor executes the computer program, it implements the implementation method as described in claim 4, or the implementation method as described in any one of claims 8 to 10, or the implementation method as described in claim 11.

14. A computer-readable storage medium storing computer-executable instructions for performing the implementation method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Distritive content sending net and distributive content sending and up transfering method

    CN101005369A