Data Access Method, Device, Equipment and Storage Medium in Content Delivery Network

Through the coordinated judgment and generation of the access address of the self-built nodes, the problem of underutilizing self-built CDN resources is solved, and the maximum utilization of resources and efficiency improvement is achieved.

CN118921406BActive Publication Date: 2025-07-25BEIJING VOLCANO ENGINE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410915971.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-09
Publication Date
2025-07-25
Estimated Expiration
2044-07-09

AI Technical Summary

Technical Problem

In the prior art, the resources of the self-built content distribution network cannot be fully utilized, resulting in waste of resources, especially quality-insensitive data access requests cannot be effectively diverted to the self-built CDN node.

Method used

After the client determines that the data access request is a quality non-sensitive request, it requests the access address of the self-built node from the server. The server obtains the subdomain name of the self-built node through the CDN device and generates the access address. The client finally obtains the data.

Benefits of technology

The maximum utilization of self-built node resources is achieved, resource waste is reduced, and the efficiency of self-built CDN is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118921406B_ABST
    Figure CN118921406B_ABST
Patent Text Reader

Abstract

The present application discloses a data access method in a content delivery network. After obtaining a data access request, the client determines whether the data access request is a quality-insensitive request. If so, the client sends the data access request to the server to request the address of the self-built node in the CDN. After receiving the data access request, the server requests the CDN device to obtain the subdomain name of the self-built node, and then generates the access address of the self-built node, that is, the first access address, according to the subdomain name of the self-built node, and sends the first access address to the client so that the client can obtain the data to be accessed through the first access address. That is, in the present application, when the client diverts traffic to the self-built node, quality is considered but not strictly controlled, so that more quality-insensitive requests can be diverted to the self-built node to make full use of the redundant resources in the self-built node, achieve the maximum utilization of resources, and avoid resource waste.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and particularly relates to a data access method, apparatus, device, and storage medium in a content delivery network. Background Art

[0002] For some applications targeting global users, in order to better meet the needs of users and reduce access latency, service providers of such applications usually deploy servers in areas closer to users to provide a faster access experience. To further improve the access speed, service providers build their own Content Delivery Network (CDN) to reduce the load on the origin server. Building one's own CDN means that the service provider builds and manages a network composed of servers distributed in multiple geographical locations to accelerate the transmission and access of content (such as web pages, pictures, videos, etc.).

[0003] However, in some application scenarios, constraints are set to switch requests to the self-built CDN. Requests that do not meet the preset conditions cannot be diverted to the self-built CDN, resulting in waste of resources of the self-built CDN. Summary of the Invention

[0004] In view of this, embodiments of this application provide a data access method, apparatus, device, and storage medium in a content delivery network to achieve full utilization of self-built resources.

[0005] To achieve the above object, the technical solutions provided by the embodiments of this application are as follows:

[0006] In the first aspect of this application, a data access method in a content delivery network is provided. This method is applied to a client and includes:

[0007] Obtain a data access request;

[0008] If it is determined that the data access request is a quality-insensitive request, send the data access request to the server. The data access request is used to request the access address of the self-built node corresponding to the content delivery network CDN;

[0009] If the self-built node can be accessed, receive the first access address sent by the server, and obtain the data to be accessed according to the first access address. The first access address is the access address of the target self-built node

[0010] In the second aspect of this application, a data access method in a content delivery network is provided. This method is applied to a server and includes:

[0011] Receive a data access request sent by a client. The data access request is used to request the access address of the self-built node;

[0012] If it is possible to access the self-built node, send the data access request to the CDN device, where the data access request includes a first main domain name, and the first main domain name is the main domain name used to access the self-built node;

[0013] Receive the sub-domain name of the target self-built node sent by the CDN device, and generate a first access address based on the first main domain name and the sub-domain name;

[0014] Send the first access address to the client, so that the client can obtain the data to be accessed based on the first access address.

[0015] In the third aspect of the present application, a data access method in a content delivery network is provided. The method is applied to a CDN device and includes:

[0016] Receive a data access request sent by a server, where the data access request is used to request the sub-domain name of the node to be accessed;

[0017] If it is possible to access the self-built node, determine a target self-built node from at least one self-built node according to the data access request, and send the sub-domain name corresponding to the target self-built node to the server, so that the server can generate a first access address based on the main domain name of the target self-built node and the sub-domain name, and send the first access address to the client.

[0018] In the fourth aspect of the present application, a data access device in a content delivery network is provided. The device is applied to a client and includes:

[0019] A processing unit for obtaining a data access request;

[0020] A sending unit for sending the data access request to a server if it is determined that the data access request is a quality-insensitive request, where the data access request is used to request an access address of a self-built node corresponding to a content delivery network CDN;

[0021] A receiving unit for receiving the first access address sent by the server if it is possible to access the self-built node, and obtaining the data to be accessed according to the first access address, where the first access address is the access address of the target self-built node,

[0022] In the fifth aspect of the present application, a data access device in a content delivery network is provided. The device is applied to a server and includes:

[0023] A receiving unit for receiving a data access request sent by a client, where the data access request is used to request an access address of a self-built node;

[0024] A sending unit, configured to send the data access request to the CDN device if it can access the self-built node, where the data access request includes a first main domain name, and the first main domain name is the main domain name used to access the self-built node;

[0025] The receiving unit is further configured to receive a sub-domain name of the target self-built node sent by the CDN device;

[0026] A processing unit, configured to generate a first access address based on the first main domain name and the sub-domain name;

[0027] The sending unit is further configured to send the first access address to the client, so that the client can obtain the data to be accessed based on the first access address.

[0028] In a sixth aspect of the present application, there is provided a data access device in a content delivery network. The device is applied to a CDN device and includes:

[0029] A receiving unit, configured to receive a data access request sent by a server, where the data access request is used to request a sub-domain name of a node to be accessed;

[0030] A processing unit, configured to determine a target self-built node from at least one self-built node according to the data access request if it can access the self-built node;

[0031] A sending unit, configured to send the sub-domain name corresponding to the target self-built node to the server, so that the server can generate a first access address based on the main domain name of the target self-built node and the sub-domain name, and send the first access address to the client.

[0032] In a seventh aspect of the present application, there is provided an electronic device, where the device includes: a processor and a memory; the memory is configured to store instructions or computer programs; the processor is configured to execute the instructions or computer programs in the memory, so that the electronic device executes the method described in the first aspect, the second aspect, or the third aspect.

[0033] In an eighth aspect of the present application, there is provided a computer-readable storage medium, where instructions are stored in the computer-readable storage medium. When the instructions are run on a device, the device is caused to execute the method described in the first aspect, the second aspect, or the third aspect.

[0034] In a ninth aspect of the present application, there is provided a computer program product, where the computer program product includes computer programs / instructions, and when the computer programs / instructions are executed by a processor, the method described in the first aspect, the second aspect, or the third aspect is implemented.

[0035] Thus, the embodiments of the present application have the following beneficial effects:

[0036] In this application, after the client obtains a data access request, it determines whether the data access request is a quality-insensitive request. If it is, the client sends the data access request to the server to request the address of the self-built node in the CDN. After receiving the data access request, the server requests the subdomain name of the self-built node from the CDN device, and then generates the access address of the self-built node, that is, the first access address, based on the subdomain name of the self-built node, and sends the first access address to the client so that the client can obtain the data to be accessed through the first access address. That is, when the client in this application diverts traffic to the self-built node, it considers quality but does not strictly control quality, so that more quality-insensitive requests can be diverted to the self-built node to make full use of the redundant resources in the self-built node, achieve the maximization of resource utilization, and avoid resource waste. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments recorded in this application. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.

[0038] Figure 1 It is an interaction diagram of a data access method in a content delivery network provided by an embodiment of this application;

[0039] Figure 2 It is a schematic diagram of data access in a scenario of reducing the resource amount by a fixed quantity provided by an embodiment of this application;

[0040] Figure 3 It is a schematic diagram of data access for closing the ability to access the self-built node provided by an embodiment of this application;

[0041] Figure 4 It is another schematic diagram of data access for closing the ability to access the self-built node provided by an embodiment of this application;

[0042] Figures 5 - 7 It is a flowchart of a data access method in a content delivery network provided by an embodiment of this application;

[0043] Figures 8 - 10 It is a schematic diagram of the structure of a data access device in a content delivery network provided by an embodiment of this application;

[0044] Figure 11 It is a schematic diagram of the structure of an electronic device provided by an embodiment of this application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0045] To enable those skilled in the art to better understand the solution of this application, the following will clearly and completely describe the technical solutions in the embodiments of this application with reference to the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are only a part of the embodiments of this application, rather than all of them. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in this application without creative efforts shall fall within the scope of protection of this application.

[0046] Video on Demand (VOD) is a service that allows users to select and watch video content at any time. Users can watch content on demand through the Internet or other digital transmission methods. To quickly and stably transmit video content to users, VOD services usually use CDN to cache content on edge servers distributed globally. When a user requests a video, the CDN will route the request to the edge server closest to the user, thereby reducing latency and improving playback quality.

[0047] Normally, when a user initiates a VOD request through a client (such as a web page, mobile application, or smart TV), the VOD service provider will process these requests. Request processing includes verifying the user's identity, checking the subscription status, obtaining the user's device information and network conditions, etc. Based on this information, the service provider will select an appropriate video format and resolution, as well as the best edge server. The VOD service transmits the video content to the user in segments through streaming media protocols (such as HTTP Live Streaming (HLS) or Dynamic Adaptive Streaming over HTTP (DASH)). These protocols support Adaptive Bitrate (ABR) technology, which can adjust the video quality in real time according to the user's network conditions to ensure smooth playback.

[0048] The client on the user device will receive the video segments, decode and play them. The client can initiate new requests to the service according to user operations (such as pause, fast forward, playback, etc.) to achieve on-demand viewing.

[0049] Currently, to ensure the full utilization of node resources in the self-built CDN, it is considered to divert data access requests to the nodes of the self-built CDN. Usually, before diversion, it is necessary to determine whether the data access request meets the corresponding quality of service indicators. If it meets, the data access request is then diverted to the self-built CDN. This operation will limit the number of diverted requests, resulting in the inability to fully utilize the node resources in the self-built CDN and causing resource waste. Among them, determining whether a data access request meets the quality of service indicators means continuously measuring and monitoring the network and system according to the data access request to collect data related to the quality of service, and comparing the collected data related to the quality of service with the pre-set quality of service standards.

[0050] Based on this, the present application provides a method for processing data access in a content delivery network, which makes a trade-off between resource waste and quality constraints, and maximizes the diversion to self-built nodes under the condition of considering quality. Specifically, data access requests that are not sensitive to quality (do not need to strictly meet quality constraint conditions) are diverted to self-built nodes, so as to realize the effective utilization of redundant resources in self-built nodes and reduce resource waste.

[0051] Among them, self-built nodes refer to the nodes in the self-built CDN, usually servers or server clusters distributed in different geographical locations, used to store and cache static content and / or dynamic content (such as pictures, videos, CSS files, etc.), and can quickly respond to user requests.

[0052] It should be noted that the CDN in the present application is a converged CDN, which usually refers to the integration of the services of multiple different CDN providers to utilize their respective advantages to improve the overall performance and reliability of the content delivery network. Among them, the converged CDN includes a self-built CDN, and the self-built CDN includes an overseas self-built CDN. The overseas self-built CDN usually refers to establishing data centers or server facilities in a certain region or multiple regions overseas. By establishing CDNs in multiple regions, it is possible to be closer to global users, thereby improving the response speed and quality of services and reducing the latency of data transmission. At the same time, through the deployment of the self-built CDN, load balancing, traffic diversion, etc. can be achieved, improving the stability and reliability of services.

[0053] It should be noted that, to distinguish between resource scheduling in the case of having a self-built CDN and resource scheduling in the case of not having a self-built CDN, the previous scheduling scenario is called integrated scheduling, and the subsequent scheduling scenario is called ordinary scheduling. In the integrated scheduling scenario, the resources of the self-built nodes can be scheduled. Among them, the main domain names corresponding to ordinary scheduling and integrated scheduling are different, but the sub-domain names corresponding to non-self-built nodes in these two scenarios can be the same. For example, the main domain name under ordinary scheduling is x1, and its corresponding sub-domain names include a1, a2, and a3; the main domain name under integrated scheduling is x2, and its corresponding sub-domain names include a1, a2, a3, and b1. Among them, b1 is the sub-domain name of the self-built node.

[0054] Whether it is ordinary scheduling or integrated scheduling, weights can be configured for different nodes (self-built nodes and non-self-built nodes) to divert traffic to the nodes according to the weights. For example, under ordinary scheduling, the weight of the non-self-built node corresponding to a1 is 40%, the weight of the non-self-built node corresponding to a2 is 50%, and the weight of the non-self-built node corresponding to a3 is 10%. Another example is that under integrated scheduling, the weight of the non-self-built node corresponding to a1 is 8%, the weight of the non-self-built node corresponding to a2 is 10%, the weight of the non-self-built node corresponding to a3 is 2%, and the weight of the self-built node corresponding to b1 is 80%.

[0055] To facilitate understanding of the technical solution of this application, the following will be described in conjunction with the accompanying drawings.

[0056] See Figure 1 , which is an interactive flowchart of data access processing in a content delivery network provided by an embodiment of this application. As Figure 1 shown, the method includes:

[0057] S101: The client obtains a data access request.

[0058] In this embodiment, the client can detect in real time the operations triggered by the user on the client, such as the refresh operation of the video stream, the play operation, the fast forward operation, the playback operation, etc. triggered for a certain video. When detecting the operations triggered by the user, a data access request matching the operation is generated.

[0059] Among them, the data access request may include the location information and operator of the user device. The operator refers to a company that provides communication services in the communication industry, also known as a telecommunications operator or telecommunications service provider.

[0060] After generating a data access request, the client will determine whether the data access request is a quality-insensitive request. If it is, then S102 is executed. Quality-insensitive means that to a certain extent, fluctuations or reductions in quality are tolerated without having too much impact on the user experience, thus helping to optimize resource allocation. Among them, the specific manifestations of quality are closely related to the business. For example, for the business of video requests, the quality can include parameters such as video resolution, frame rate, audio clarity, frame freeze rate, and start-up rate.

[0061] A quality-insensitive request means that the quality of this request is not crucial to the user experience, or in other words, some quality degradation can be tolerated to a certain extent. For example, for video-on-demand requests, quality-insensitivity can include accepting a reduced video quality to a certain extent even when the network conditions are poor or the server load is high without affecting the user experience.

[0062] Specifically, the data access request can be determined as a quality-insensitive request in the following ways, including:

[0063] If the service corresponding to the data access request is not a video playback service, the data access request can be directly determined as a quality-insensitive request.

[0064] If the service corresponding to the data access request is a video playback service, then if the data access request is for non-first-frame data of the video, obtain the amount of data stored in the video buffer for this video; if the amount of data meets the preset conditions, determine that the data access request is a quality-insensitive request. Among them, the amount of data meeting the preset conditions indicates that the player has pre-loaded enough data into the video buffer, so as to ensure smooth playback and reduce playback freezes and interruptions caused by network latency or jitter. Among them, the preset conditions can be set according to the actual application situation, and are not limited in this embodiment.

[0065] Specifically, if the difference between the value of the service quality index corresponding to the client when playing the video and the required value is less than or equal to the preset threshold due to the amount of data, determine that the data access request is a non-quality-sensitive request. That is to say, if the amount of data does not cause much change in the service quality index corresponding to the client when playing the video, determine that the data access request is a non-quality-sensitive request.

[0066] Among them, the quality of service indicators may include the stuttering rate, startup rate, etc. The stuttering rate refers to the frequency of video pauses or stutters during video playback due to insufficient buffering. When the video player fails to obtain sufficient data in a timely manner during playback (for example, due to slow or unstable network speed), stuttering will occur. The startup rate refers to the ratio at which the video can be quickly loaded and start playing when the user starts playing the video. In other words, it measures the ability to quickly see the video content start playing after the user clicks play.

[0067] S102: If it is determined that the data access request is a quality-insensitive request, the client sends the data access request to the server.

[0068] In this embodiment, after determining that the data access request is a quality-insensitive request, the client can mark the data access request to divert the data access request to the self-built node.

[0069] In practical applications, to distinguish between data access requests in ordinary scenarios and data access requests under fusion scheduling, when the data access request is used to request the access address of the self-built node corresponding to the CDN, an identifier can be added to the data access request, and through this identifier, it is convenient for the server to identify that the data access request is used to request the access address of the self-built node. Or, there is always an identifier field in the data access request. When the value of the identifier field is the first value, it is used to request the access address of the self-built node; when the value of the identifier is the second value, it is used to request the access address of a non-self-built node.

[0070] S103: The server sends the data access request to the CDN device.

[0071] In this embodiment, the server has the ability to provide access to the self-built node. Under normal circumstances, this ability is in an enabled state, so that the server can provide the client with the access address of the self-built node. When the self-built node has a high load or fails, the above ability can be controlled to be in a closed state to provide the client with the access address of a non-self-built node.

[0072] Among them, the data access request sent by the server to the CDN device may include the location and the first main domain name. The first main domain name is the main domain name used to access the self-built node. In this embodiment, the server can maintain different main domain names, including the main domain name for fusion scheduling (the first main domain name) and the main domain name under ordinary scheduling (the second main domain name). When the server senses that the data access request is to access the self-built node, the first main domain name will be added to the data access request so that the CDN device can provide the sub-domain name of the self-built node.

[0073] Among them, the CDN device can distribute data access requests to different server nodes in the CDN network to ensure that data access requests can be responded to quickly and efficiently. Specifically, the CDN device can make intelligent selections based on factors such as the server load and geographical location.

[0074] It should be noted that when the ability of the server side to access the self-built node is in the enabled state, the first main domain name is carried in the data access request sent to the CDN device. When the ability of the server side to access the self-built node is in the disabled state, the second main domain name is carried in the data access request sent to the CDN device.

[0075] S104: If the self-built node can be accessed, the CDN device determines a target self-built node from at least one self-built node according to the data access request, and sends the sub-domain name corresponding to the target self-built node to the server.

[0076] In this embodiment, the CDN device has the ability to provide access to the self-built node. Under normal circumstances, this ability is in the enabled state, so that the sub-domain name required for the server to access the self-built node can be provided. When the load of the self-built node is too high or a failure occurs, the above ability can be controlled to be in the disabled state to provide the sub-domain name for the server to access the non-self-built node.

[0077] Specifically, if the first main domain name for accessing the self-built node is carried in the data access request and the ability on the CDN device side is in the enabled state, after receiving the data access request forwarded by the server, the CDN device will determine a target self-built node with redundant resources from at least one self-built node it manages, and send the sub-domain name of the target self-built node to the server.

[0078] Among them, the CDN device determines a target self-built node from at least one self-built node according to the data access request, including: determining at least one self-built node corresponding to the location information according to the location information in the data access request; determining the self-built node with redundant resources as the target self-built node according to the resource quota and actual resource usage corresponding to the self-built node. When there are multiple self-built nodes with redundant resources, the self-built node with the most redundant resources can be determined as the target self-built node. Or, all of these multiple self-built nodes can be determined as target self-built nodes to divert traffic to each target self-built node according to the pre-configured weights. For example, the data access request or the used bandwidth corresponding to the data access request can be diverted to different self-built nodes according to the preset weights.

[0079] In this embodiment, each self-built node can report its own resource quota and actual resource usage to the CDN device. After the CDN device receives a data access request sent by the server, it will determine whether the self-built node has sufficient redundant resources for the client to access based on the corresponding resource quota and actual resource usage of the self-built node. If there are sufficient redundant resources, the self-built node will be determined as the target self-built node, and the subdomain name of the target self-built node will be sent to the server.

[0080] Among them, the resource quota refers to the maximum amount of resources allowed to be used. The subdomain name is a more specific identifier created under the main domain name, which is usually used to organize and manage different parts or services of a website, and is defined by adding a name and a dot before the main domain name. For example, under the main domain name example.com, blog and shop in blog.example.com and shop.example.com are subdomain names.

[0081] In this embodiment, the CDN device manages the subdomain names of each self-built node. After determining the target self-built node, it will send the subdomain name of the target self-built node to the server.

[0082] S105: The server generates a first access address based on the first main domain name and the subdomain name.

[0083] S106: The server sends the first access address to the client.

[0084] In this embodiment, the server manages or maintains schedulable main domain names (including the main domain names of self-built nodes and non-self-built nodes). After receiving the subdomain name of the target self-built node sent by the relevant CDN device, it generates a first access address using the main domain name and the subdomain name of the self-built node, and sends the first access address to the client.

[0085] Among them, the first access address can be a uniform resource locator (URL). A complete URL consists of a protocol (such as HTTP or HTTPS), a subdomain name, a main domain name, a port number (optional), a path, query parameters, and a fragment.

[0086] S107: The client obtains the data to be accessed according to the first access address.

[0087] Among them, the first access address is used to point to the target self-built node. After receiving the first access address, the client will use the first access address to access the target self-built node to obtain the data to be accessed from the target self-built node.

[0088] It can be seen that the client can divert data access requests that are not sensitive to quality (without strictly meeting quality constraint conditions) to the self-built nodes, thereby achieving the effective utilization of redundant resources in the self-built nodes and reducing resource waste.

[0089] In some scenarios, there may be situations where the load of the self-built nodes is too high or there are faults. To ensure the normal operation of the self-built nodes and service quality, the following methods can be adopted:

[0090] The first method is that the CDN device reduces the resource quota of the self-built nodes. That is, by reducing the resource quota of the self-built nodes, the diversion is reduced and the load of the self-built nodes is alleviated. Specifically, the self-built nodes can actively reduce their own resource quotas and report the reduced resource quotas to the CDN device, and the CDN device updates the resource quotas of the self-built nodes it maintains.

[0091] For example, Figure 2 In the schematic diagram of the application scenario shown, in this scenario, the self-built nodes actively reduce the resource quotas and report the reduced resource quotas and the actual resource usage to the CDN device. The client sends the data access request to the CDN device through the server. The CDN device determines the appropriate self-built nodes based on the resource quotas and the actual resource usage reported by each self-built node, and feeds back the subdomains of these self-built nodes to the server.

[0092] It should be noted that Figure 2 For the specific implementation of each step in, reference can be made to Figure 1 the relevant descriptions in the method embodiment described above, which will not be elaborated herein.

[0093] The second method is that the ability to access the self-built nodes is in a closed state. This method includes the following situations: In one situation, the CDN device side closes the mechanism for accessing the self-built nodes, thereby cutting off the scheduling of redundant resources in the self-built nodes. In another situation, the ability of the server side to access the self-built nodes is in a closed state. In this case, after receiving the data access request sent by the client, before forwarding the data access request to the relevant devices of the CDN, the server adds a second main domain name to the data access request so as to obtain the subdomains of non-self-built nodes through the relevant devices of the CDN. In yet another situation, the ability of both the CDN device side and the server side to access the self-built nodes is in a closed state.

[0094] For example, Figure 3The application scenario shown is such that, in this scenario, if the CDN device closes the ability to call the self-built node but the server does not, the server can still send a data access request including the first main domain name to the CDN device. In this case, since the ability to call the self-built node in the relevant CDN devices is in a closed state, the sub-domain name of the non-self-built node is returned so that the server can generate a second access address to access the non-self-built node based on the first main domain name and the non-self-built node sub-domain name, and return this second access address to the client.

[0095] In Figure 4 the application scenario shown, if it is the server that closes the ability to call the self-built node, regardless of whether the CDN device closes the ability to call the redundant resources in the self-built node, the second main domain name is carried in the data access request sent by the server to the CDN device. The CDN device obtains the sub-domain name of the non-self-built node based on the data access request so that the server can generate an access address to access the non-self-built node, that is, the second access address, based on the second main domain name and the sub-domain name, and send this second access address to the client.

[0096] It should be noted that Figure 3 and Figure 4 For the specific implementation of the relevant steps in Figure 1 reference can be made to the relevant descriptions in the above

[0097] described embodiments, and the details will not be elaborated in this embodiment.

[0098] Generally, when the load of the self-built node is too high or there is a failure, the first method is preferred. When the first method cannot solve the above situation, the second method is then adopted.

[0099] In this embodiment, for the server, in the case where the self-built node cannot be accessed, a second access address is sent to the client so that the client can obtain the data to be accessed according to the second access address. Among them, the second access address is the access address of the non-self-built node. Specifically, when the self-built node cannot be accessed, the sub-domain name of the non-self-built node sent by the received CDN device is used to generate the second access address based on the main domain name and the sub-domain name of the non-self-built node.

[0100] Among them, for the inability to access the self-built node, it may include:

[0101] One case is that the server detects that the ability to access the self-built node configured on itself is in the closed state. That is, after detecting that it has closed the ability to access the redundant computer room, the server CDN device forwards the data access request including the second main domain name, so that the sub-domain name of the self-built node cannot be obtained.

[0102] Another case is that the ability to access the self-built node on the CDN device is in the closed state. In a specific implementation, the data access request forwarded by the server to the CDN device still carries the first main domain name for accessing the self-built node. After receiving the data access request, the CDN device returns the sub-domain name of the non-self-built node to the server.

[0103] Still another case is that the redundant resources of all self-built nodes cannot meet the bandwidth required by the data access request. That is, the remaining resources of the self-built node are not sufficient to support the data access request. In this case, the data access request forwarded by the server to the CDN device still carries the first main domain name for accessing the self-built node, and the CDN device returns the sub-domain name of the non-self-built node to the server.

[0104] It can be seen that when the client in this application diverts traffic to the self-built node, it considers the quality but does not strictly control the quality, so that more quality-insensitive requests can be diverted to the self-built node to make full use of the redundant resources in the self-built node, achieve the maximum utilization of resources, and avoid resource waste.

[0105] See Figure 5 , which is a flowchart of a data access method in a content delivery network provided by an embodiment of this application. As Figure 5 shown, this method is applied to the client and includes:

[0106] S501: Obtain a data access request.

[0107] In this embodiment, when the user browses multimedia resources through the client, corresponding operations can be triggered for the multimedia resources, and the client generates a data access request based on the triggered operations. Among them, the multimedia resources can include resources such as videos and pictures.

[0108] S502: If it is determined that the data access request is a quality-insensitive request, send the data access request to the server.

[0109] Among them, when the data access request is a quality-insensitive request, the data access request is at least used to request the access address of the CDN corresponding self-built node.

[0110] When the service types corresponding to data access requests are different, the methods for determining data access requests as quality-insensitive requests are different. When the service corresponding to the data access request is a non-video playback service, the data access request is directly determined as a quality-insensitive request. When the service corresponding to the data access request is a video playback service, if the data access request is used to request non-first-frame data of a video, the amount of data stored by the video buffer for the video is obtained; if the amount of data meets a preset condition, the data access request is determined as a quality-insensitive request.

[0111] Specifically, if the difference between the actual value of the service quality index corresponding to the client when playing the video and the required value of the service quality index corresponding to the video is less than or equal to a preset threshold due to the amount of data, the data access request is determined as a quality-insensitive request.

[0112] Among them, for the specific implementation of determining the data access request as a quality-insensitive request, reference can be made to the relevant description of S101 in the above method embodiments.

[0113] S503: If the self-built node can be accessed, receive the first access address sent by the server, and obtain the data to be accessed according to the first access address.

[0114] Among them, the first access address is the access address of the target self-built node, and the target self-built node can be a self-built node with redundancy among at least one self-built node corresponding to the CDN. Specifically, the first access address is generated by the server based on the subdomain name of the target self-built node obtained from the CDN device according to the data access request.

[0115] In some scenarios, if the self-built node cannot be accessed, receive the second access address sent by the server, and obtain the data to be accessed according to the second access address. Among them, the second access address is the access address of a non-self-built node. Among them, the inability to access the self-built node includes: the ability to access the self-built node on the server and / or the CDN device is in a closed state, or the redundant resources of the self-built node are insufficient to support the data access request.

[0116] See Figure 6 , this figure is a flowchart of a data access method in a content delivery network provided by an embodiment of the present application. As Figure 6 shown, this method is applied to the server and includes:

[0117] S601: Receive a data access request sent by the client, where the data access request is used to request the access address of the self-built node.

[0118] S602: If the self-built node can be accessed, send a data access request to the CDN device.

[0119] In this embodiment, after the server receives a data access request sent by the client, if it detects that the data access request is used to request the access address of the self-built node, the server adds a first primary domain name to the data access request, where the first primary domain name is the primary domain name used to access the self-built node.

[0120] S603: Receive the sub-domain name of the target self-built node sent by the CDN device, and generate a first access address based on the first primary domain name and the sub-domain name.

[0121] Among them, the target self-built node is a self-built node with redundant resources among at least one self-built node corresponding to the CDN device, and the target self-built node is determined by the CDN device from at least one self-built node as the self-built node that can allow the data access request to access. After determining the target self-built sub-node, the CDN device sends the sub-domain name of the target self-built node to the server, so that the server generates a first access address according to the first primary domain name and the sub-domain name.

[0122] S604: Send the first access address to the client, so that the client can obtain the data to be accessed based on the first access address.

[0123] After the server generates the first access address, it sends the first access address to the client, so that the client can use the first access address to obtain the required data.

[0124] When the self-built node cannot be accessed, the server sends a second access address to the client, so that the client can obtain the required access data according to the second access address. Among them, the second access address is the address corresponding to the non-self-built node.

[0125] Specifically, if the ability to access the self-built node on the CDN device is in the closed state or the redundant resources of the self-built node are insufficient to support the data access request, receive the sub-domain name of the non-self-built node sent by the CDN device; generate a second access address according to the first primary domain name and the sub-domain name; send the second access address to the client.

[0126] If the ability to access the self-built node on the server device is in the closed state, the data access request includes a second primary domain name, where the second primary domain name is the primary domain name used when there is no self-built node; receive the sub-domain name of the non-self-built node sent by the CDN device; generate a second access address according to the second primary domain name and the sub-domain name; send the second access address to the client.

[0127] It should be noted that for the specific implementation of each step in this embodiment, reference can be made to the relevant descriptions in S103, S105, and S106 above.

[0128] See Figure 7, This figure is a flowchart of a data access method in a content delivery network provided by an embodiment of the present application. This method is applied to a CDN device and includes:

[0129] S701: Receive a data access request sent by a server. This data access request is used to request the subdomain name of a node to be accessed.

[0130] In this embodiment, after the server receives a data access request sent by a client, it forwards this data access request to the CDN device.

[0131] Specifically, if the ability to access self-built nodes on the server is in an enabled state, the data access request sent by it to the CDN device includes a first main domain name; if the ability to access self-built nodes on the server is in a disabled state, the data access request sent by it to the CDN device includes a second main domain name.

[0132] S702: If it is possible to access self-built nodes, determine a target self-built node from at least one self-built node according to the data access request, and send the subdomain name corresponding to this target self-built node to the server.

[0133] In this embodiment, if the data access request carries a first main domain name and the ability to access self-built nodes on the CDN device is in an enabled state, determine a target self-built node from at least one self-built node, and send the subdomain name of this target self-built node to the server. Among them, the target self-built node refers to a self-built node with redundant resources, and there can be one or more.

[0134] Specifically, the CDN device will determine at least one self-built node corresponding to the location information according to the location information in the data access request; determine the self-built node with redundant resources as the target self-built node according to the resource quota and actual resource usage of the self-built node. Among them, the self-built node can regularly report its own resource quota and actual resource usage to the CDN device, so that the CDN device can accurately grasp the load situation of the self-built node and avoid the self-built node from running overloaded.

[0135] When it is detected that the actual resource usage of the self-built node is greater than the preset usage or the self-built node fails, the CDN device can perform the following operations: lower the resource quota of the self-built node; and / or, control the ability to access the self-built node to be in a disabled state.

[0136] If it is detected that the actual resource usage of the self-built node is greater than the preset usage or the self-built node fails, it indicates that the self-built node cannot be accessed. In this case, the CDN device sends the subdomain name of a non-self-built node to the server, so that the server can generate a second access address according to the main domain name (the first main domain name or the second main domain name) and the subdomain name, and send this access address to the client, so that the client can obtain the required data by accessing the non-self-built node.

[0137] It should be noted that for the specific implementation of each step in this embodiment, reference can be made to the relevant description in S104 above.

[0138] Based on the above method embodiments, the present application provides a data access device, which will be described below with reference to the accompanying drawings.

[0139] See Figure 8 , this figure shows a data access device in a content delivery network provided by an embodiment of the present application. The device 800 is applied to a client and can implement the functions of the client, specifically including: a processing unit 801, a sending unit 802, and a receiving unit 803.

[0140] Among them, the processing unit 801 is used to obtain a data access request;

[0141] The sending unit 802 is used to send the data access request to the server if it is determined that the data access request is a quality-insensitive request. The data access request is used to request the access address of the corresponding self-built node of the content delivery network CDN;

[0142] The receiving unit 803 is used to receive the first access address sent by the server if the self-built node can be accessed, and obtain the data to be accessed according to the first access address. The first access address is the access address of the target self-built node.

[0143] In some embodiments, the first access address is generated by the server according to the data access request from the subdomain name of the target self-built node obtained from the CDN device.

[0144] In some embodiments, the process of determining that the data access request is a quality-insensitive request includes: if the data access request is used to request non-first-frame data of a video, obtaining the amount of data stored in the video buffer for the video; if the amount of data meets a preset condition, determining that the data access request is a quality-insensitive request.

[0145] In some embodiments, the step of determining that the data access request is a quality-insensitive request if the amount of data meets a preset condition includes: if the amount of data makes the difference between the actual value of the service quality index corresponding to the client when playing the video and the required value of the service quality index corresponding to the video less than or equal to a preset threshold, determining that the data access request is a quality-insensitive request.

[0146] In some embodiments, the process of determining that the data access request is a quality-insensitive request includes: if the service corresponding to the data access request is not a video playback service, determining that the data access request is a quality-insensitive request.

[0147] In some embodiments, the receiving unit 803 is further configured to, if it is unable to access the self-built node, receive a second access address sent by the server, and obtain the data to be accessed according to the second access address, where the second access address is an access address of a non-self-built node.

[0148] In some embodiments, the inability to access the self-built node includes one or more of the following situations:

[0149] The ability to access the self-built node on the server and / or the CDN device is in a closed state;

[0150] The redundant resources of the self-built node are insufficient to support the data access request.

[0151] See Figure 9 , which is a structural diagram of a data access device in a content delivery network provided by an embodiment of the present application. As Figure 9 shown, the device 900 is applied to the server to implement the functions of the server, including: a receiving unit 901, a sending unit 902, and a processing unit 903.

[0152] The receiving unit 901 is configured to receive a data access request sent by the client, where the data access request is used to request an access address of the self-built node;

[0153] The sending unit 902 is configured to, if it is able to access the self-built node, send the data access request to the CDN device, where the data access request includes a first main domain name, and the first main domain name is the main domain name used to access the self-built node;

[0154] The receiving unit 901 is further configured to receive a sub-domain name of the target self-built node sent by the CDN device;

[0155] The processing unit 903 is configured to generate a first access address based on the first main domain name and the sub-domain name;

[0156] The sending unit 902 is further configured to send the first access address to the client, so that the client can obtain the data to be accessed based on the first access address.

[0157] In some embodiments, the target self-built node is a self-built node with redundant resources, and the target self-built node is a self-built node that can allow the data access request to access, determined by the CDN device from at least one self-built node according to the data access request.

[0158] In some embodiments, the sending unit 902 is further configured to send a second access address to the client if the self-built node cannot be accessed, so that the client can obtain the data to be accessed according to the second access address, where the second access address is the address corresponding to a non-self-built node.

[0159] In some embodiments, the receiving unit 901 is specifically configured to receive the sub-domain name of a non-self-built node sent by the CDN device if the ability to access the self-built node on the CDN device is in a closed state or the redundant resources of the self-built node are insufficient to support the data access request;

[0160] The processing unit 903 is specifically configured to generate a second access address according to the first main domain name and the sub-domain name;

[0161] The sending unit 902 is specifically configured to send the second access address to the client.

[0162] In some embodiments, if the ability to access the self-built node on the server device is in a closed state, the data access request includes a second main domain name, where the second main domain name is the main domain name used when accessing a non-existent self-built node;

[0163] The receiving unit 901 is specifically configured to receive the sub-domain name of a non-self-built node sent by the CDN device;

[0164] The processing unit 903 is specifically configured to generate a second access address according to the second main domain name and the sub-domain name;

[0165] The sending unit 902 is specifically configured to send the second access address to the client.

[0166] See Figure 10 , which is a structural diagram of a data access device in a content delivery network provided by an embodiment of the present application. The device 1000 is applied to a CDN device and can implement the functions of the CDN device, including: a receiving unit 1001, a processing unit 1002, and a sending unit 1003.

[0167] Among them, the receiving unit 1001 is configured to receive a data access request sent by a server, and the data access request is used to request the sub-domain name of a node to be accessed;

[0168] The processing unit 1002 is configured to determine a target self-built node from at least one self-built node according to the data access request if the self-built node can be accessed;

[0169] A sending unit 1003, configured to send the sub-domain name corresponding to the target self-built node to a server, so that the server generates a first access address according to the main domain name and the sub-domain name of the target self-built node, and sends the first access address to the client.

[0170] In some embodiments, the processing unit 1002 is specifically configured to determine at least one self-built node corresponding to the location information according to the location information in the data access request; determine the self-built node with redundant resources as the target self-built node according to the resource quota and the actual resource usage amount corresponding to the self-built node.

[0171] In some embodiments, the receiving unit 1001 is further configured to receive the resource quota and the actual resource usage amount sent by the self-built node.

[0172] In some embodiments, the processing unit 1002 is further configured to, in response to detecting that the actual resource usage amount of the self-built node is greater than the preset usage amount or the self-built node fails, lower the resource quota of the self-built node; and / or control the access ability to the self-built node to be in a closed state.

[0173] In some embodiments, the sending unit 1003 is further configured to, if the self-built node cannot be accessed, send the sub-domain name of the non-self-built node to the server, so that the server generates a second access address according to the main domain name and the sub-domain name, and sends the second access address to the client.

[0174] It should be noted that for the specific implementation of each unit in the above device embodiments, reference may be made to the relevant descriptions in the above method embodiments. The division of units in the embodiments of the present application is illustrative, and is only a logical function division. In actual implementation, there may be other division methods. The functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit. For example, in the above embodiments, the processing unit and the sending unit may be the same unit or different units. The above integrated units may be implemented in the form of hardware or in the form of software functional units.

[0175] See Figure 11 , which shows a schematic structural diagram of an electronic device 1100 suitable for implementing the embodiments of the present disclosure. The terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Tablet Computers), PMPs (Portable Multimedia Players), in-vehicle terminals (such as in-vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 11The electronic device shown is merely an example and should not impose any limitations on the functions and scope of use of the embodiments of the present disclosure.

[0176] As Figure 11 shown, the electronic device 1100 may include a processing device (such as a central processing unit, a graphics processing unit, etc.) 1101, which may perform various appropriate actions and processes according to a program stored in the read-only memory (ROM) 1102 or a program loaded from the storage device 1108 into the random access memory (RAM) 1103. In the RAM 1103, various programs and data required for the operation of the electronic device 1100 are also stored. The processing device 1101, the ROM 1102, and the RAM 1103 are connected to each other through a bus 1104. The input / output (I / O) interface 1105 is also connected to the bus 1104.

[0177] Generally, the following devices may be connected to the I / O interface 1105: an input device 1106 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 1107 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 1108 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1109. The communication device 1109 may allow the electronic device 1100 to communicate with other devices wirelessly or wiredly to exchange data. Although Figure 11 the electronic device 1100 with various devices is shown, it should be understood that it is not required to implement or include all the shown devices. Instead, more or fewer devices may be implemented or included.

[0178] In particular, according to the embodiments of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, the embodiments of the present disclosure include a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes program codes for performing the methods shown in the flowcharts. In such an embodiment, the computer program may be downloaded and installed from a network through the communication device 1109, or installed from the storage device 1108, or installed from the ROM 1102. When the computer program is executed by the processing device 1101, the above functions defined in the methods of the embodiments of the present disclosure are performed.

[0179] The electronic device provided by the embodiments of the present disclosure and the method provided by the above embodiments belong to the same inventive concept. The technical details not described in detail in this embodiment may be referred to the above embodiments, and this embodiment has the same beneficial effects as the above embodiments.

[0180] The embodiments of the present disclosure provide a computer storage medium, on which a computer program is stored, and when the program is executed by a processor, the method provided by the above embodiments is implemented.

[0181] It should be noted that the above-mentioned computer-readable medium in the present disclosure can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, 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 above. In the present disclosure, the computer-readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, apparatus, or device. In the present disclosure, the computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium can also be any computer-readable medium other than the computer-readable storage medium, and this computer-readable signal medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted by any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0182] In some embodiments, the client and the server can communicate using any currently known or future-developed network protocol such as HTTP (Hyper Text Transfer Protocol), and can be interconnected with digital data communication in any form or medium (for example, a communication network). Examples of communication networks include local area networks ("LAN"), wide area networks ("WAN"), the Internet (for example, the Internet), and end-to-end networks (for example, ad hoc end-to-end networks), as well as any currently known or future-developed networks.

[0183] The above-mentioned computer-readable medium can be included in the above-mentioned electronic device; it can also exist separately without being assembled into the electronic device.

[0184] The above-mentioned computer-readable medium carries one or more programs, and when the above-mentioned one or more programs are executed by the electronic device, the electronic device can execute the above-mentioned method.

[0185] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or combinations thereof. The above-mentioned programming languages include, but are not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, executed as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0186] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a part of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks may occur in a different order than noted in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, may be implemented by a dedicated hardware-based system that performs the specified functions or operations, or may be implemented by a combination of dedicated hardware and computer instructions.

[0187] The units described in the embodiments of the present disclosure may be implemented in software or in hardware. Among them, the name of the unit / module does not constitute a limitation to the unit itself in some cases.

[0188] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, by way of non-limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGA), application specific integrated circuits (ASIC), application specific standard products (ASSP), system on a chip (SOC), complex programmable logic devices (CPLD), and so on.

[0189] It should be noted that the embodiments in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. For the same or similar parts among the embodiments, reference can be made to each other. For the systems or devices disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the descriptions are relatively simple. For the relevant parts, reference can be made to the descriptions in the method section.

[0190] It should be understood that in this application, "at least one (item)" means one or more, and "a plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships can exist. For example, "A and / or B" can mean: only A exists, only B exists, and both A and B exist at the same time. Among them, A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. "At least one (item) of the following" or its similar expressions refer to any combination of these items, including any combination of single items (items) or plural items (items). For example, at least one (item) of a, b, or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0191] It should also be noted that in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of additional identical elements in the process, method, article or device including the said element.

[0192] The above description of the disclosed embodiments enables those skilled in the art to implement or use this application. Various modifications to these embodiments will be obvious to those skilled in the art. The general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application will not be limited to the embodiments shown herein, but rather to the broadest scope consistent with the principles and novel features disclosed herein.

Claims

1. A data access method in a content delivery network, characterized in that, The method is applied to a client and includes: Obtain a data access request; If it is determined that the data access request is a quality-insensitive request, send the data access request to the server. The data access request is used to request the access address of the self-built node corresponding to the content delivery network (CDN). If the server can access the self-built node, the data access request includes the first main domain name used to access the self-built node added by the server; If the self-built node can be accessed, receive the first access address sent by the server, and obtain the data to be accessed according to the first access address. The first access address is the access address of the target self-built node, and the first access address is generated by the server according to the first main domain name and the sub-domain name of the target self-built node obtained from the CDN device using the data access request. The ability to access the self-built node includes that the ability to access the self-built node on the server and the CDN device is in an open state and there is a self-built node with redundant resources. The target self-built node refers to a self-built node with redundant resources.

2. The method according to claim 1, wherein The process of determining that the data access request is a quality-insensitive request includes: If the data access request is used to request non-first-frame data of a video, obtain the amount of data stored by the video buffer for the video; If the amount of data meets a preset condition, determine that the data access request is a quality-insensitive request.

3. The method according to claim 2, wherein The step of, if the amount of data meets a preset condition, determining that the data access request is a quality-insensitive request includes: If the amount of data makes the difference between the actual value of the service quality index corresponding to the client when playing the video and the required value of the service quality index corresponding to the video less than or equal to a preset threshold, determine that the data access request is a quality-insensitive request.

4. The method according to claim 1, characterized in that The process of determining that the data access request is a quality-insensitive request includes: If the service corresponding to the data access request is not a video playback service, determine that the data access request is a quality-insensitive request.

5. The method according to claim 1, characterized in that, The method further includes: If the self-built node cannot be accessed, receive the second access address sent by the server, and obtain the data to be accessed according to the second access address. The second access address is the access address of a non-self-built node.

6. The method according to claim 5, characterized in that The situation where the self-built node cannot be accessed includes one or more of the following: The ability to access the self-built node on the server and / or the CDN device is in a closed state; The redundant resources of the self-built node are insufficient to support the data access request.

7. A data access method in a content delivery network, characterized in that, The method is applied to a server and includes: Receive a data access request sent by a client. The data access request is used to request the access address of a self-built node; If the self-built node can be accessed, add a first main domain name to the data access request, and send the data access request including the first main domain name to the CDN device. The first main domain name is the main domain name used to access the self-built node. The ability to access the self-built node includes that the ability to access the self-built node on the server is in an open state; Receive the sub - domain name of the target self - built node sent by the CDN device, and generate a first access address based on the first main domain name and the sub - domain name. The ability to access the self - built node on the CDN device is in an enabled state, and the target self - built node refers to a self - built node with redundant resources; Send the first access address to the client so that the client can obtain the data to be accessed based on the first access address.

8. The method according to claim 7, wherein The target self - built node is a self - built node with redundant resources, and the target self - built node is determined by the CDN device from at least one self - built node according to the data access request as a self - built node that can allow the data access request to access.

9. The method according to claim 7, characterized in that, The method further includes: If the self - built node cannot be accessed, send a second access address to the client so that the client can obtain the data to be accessed according to the second access address, and the second access address is the address corresponding to a non - self - built node.

10. The method according to claim 9, wherein The step of, if the self - built node cannot be accessed, sending a second access address to the client includes: If the ability to access the self - built node on the CDN device is in a closed state or the redundant resources of the self - built node are insufficient to support the data access request, receive the sub - domain name of the non - self - built node sent by the CDN device; Generate a second access address according to the first main domain name and the sub - domain name; Send the second access address to the client.

11. The method according to claim 9, wherein The step of, if the self - built node cannot be accessed, sending a second access address to the client includes: If the ability to access the self - built node on the server device is in a closed state, the data access request includes a second main domain name, and the second main domain name is the main domain name used when there is no existing self - built node to access; Receive the sub - domain name of the non - self - built node sent by the CDN device; Generate a second access address according to the second main domain name and the sub - domain name; Send the second access address to the client.

12. A data access method in a content delivery network, characterized in that, The method is applied to a CDN device and includes: Receive a data access request sent by the server. The data access request is used to request the sub - domain name of the node to be accessed. If the server can access the self - built node, the data access request includes a first main domain name added by the server for accessing the self - built node. The ability to access the self - built node includes that the ability to access the self - built node on the server is in an enabled state; If the self - built node can be accessed, determine a target self - built node from at least one self - built node according to the data access request, and send the sub - domain name corresponding to the target self - built node to the server so that the server can generate a first access address according to the first main domain name and the sub - domain name and send the first access address to the client. The ability to access the self - built node includes that the ability to access the self - built node on the CDN device is in an enabled state and there is a self - built node with redundant resources. The target self - built node refers to a self - built node with redundant resources.

13. The method according to claim 12, wherein The step of determining a target self - built node from at least one self - built node according to the data access request includes: Determine at least one self - built node corresponding to the location information according to the location information in the data access request; Determine the self-built node with redundant resources as the target self-built node according to the quota of resources corresponding to the self-built node and the actual usage of resources.

14. The method according to claim 13, wherein The method further includes: Receiving the quota of resources and the actual usage of resources sent by the self-built node.

15. The method according to claim 14, wherein In response to detecting that the actual usage of resources of the self-built node is greater than the preset usage or the self-built node fails, the method further includes one or more of the following: Lower the quota of resources of the self-built node; Control the ability to access the self-built node to be in a closed state.

16. The method according to claim 12, wherein The method further includes: If the self-built node cannot be accessed, send the subdomain name of the non-self-built node to the server, so that the server generates a second access address according to the main domain name and the subdomain name, and sends the second access address to the client.

17. A data access device in a content delivery network, characterized in that, The device is applied to the client and includes: A processing unit, configured to obtain a data access request; A sending unit, configured to send the data access request to the server if it is determined that the data access request is a quality-insensitive request, where the data access request is used to request the access address of the self-built node corresponding to the content delivery network CDN; A receiving unit, configured to receive the first access address sent by the server if the self-built node can be accessed, and obtain the data to be accessed according to the first access address. The first access address is the access address of the target self-built node, and the first access address is generated by the server according to the first main domain name corresponding to the target self-built node and the subdomain name of the target self-built node obtained from the CDN device using the data access request. The ability to access the self-built node includes that the ability to access the self-built node on the server and the CDN device is in an open state and there is a self-built node with redundant resources. The target self-built node refers to the self-built node with redundant resources.

18. A data access device in a content delivery network, characterized in that The device is applied to the server and includes: A receiving unit, configured to receive the data access request sent by the client, where the data access request is used to request the access address of the self-built node; A sending unit, configured to add the first main domain name to the data access request if the self-built node can be accessed, and send the data access request including the first main domain name to the CDN device. The data access request includes the first main domain name, and the first main domain name is the main domain name used to access the self-built node. The ability to access the self-built node includes that the ability to access the self-built node on the server is in an open state; The receiving unit is further configured to receive the subdomain name of the target self-built node sent by the CDN device. The ability to access the self-built node on the CDN device is in an open state, and the target self-built node refers to the self-built node with redundant resources; A processing unit, configured to generate the first access address using the first main domain name and the subdomain name; The sending unit is further configured to send the first access address to the client, so that the client obtains the data to be accessed based on the first access address.

19. A data access device in a content delivery network, characterized in that The device is applied to the CDN device and includes: A receiving unit, configured to receive a data access request sent by a server, where the data access request is used to request a sub-domain name of a node to be accessed. If the server can access a self-built node, the data access request includes a first main domain name used to access the self-built node added by the server, and the ability to access the self-built node includes that the ability to access the self-built node on the server is in an enabled state; A processing unit, configured to, if it can access a self-built node, determine a target self-built node from at least one self-built node according to the data access request. The ability to access the self-built node includes that the ability to access the self-built node on the CDN device is in an enabled state and there is a self-built node with redundant resources. The target self-built node refers to a self-built node with redundant resources; A sending unit, configured to send the sub-domain name corresponding to the target self-built node to the server, so that the server generates a first access address according to the first main domain name and the sub-domain name, and sends the first access address to a client.

20. An electronic device, characterized in that, The device includes: a processor and a memory; The memory is configured to store instructions or computer programs; The processor is configured to execute the instructions or computer programs in the memory, so that the electronic device executes the method according to any one of claims 1-16.

21. A computer-readable storage medium, characterized in that, Instructions are stored in the computer-readable storage medium, and when the instructions run on the device, the device executes the method according to any one of claims 1-16.

Citation Information

Patent Citations

  • Content distribution network routing method, system, and user terminal

    CN102668518A

  • CDN-based communication method, system and device, and storage medium

    CN114301848A