CN114301848B - CDN-based communication method, system, equipment and storage medium - Google Patents

CDN-based communication method, system, equipment and storage medium Download PDF

Info

Publication number
CN114301848B
CN114301848B CN202111510104.3A CN202111510104A CN114301848B CN 114301848 B CN114301848 B CN 114301848B CN 202111510104 A CN202111510104 A CN 202111510104A CN 114301848 B CN114301848 B CN 114301848B
Authority
CN
China
Prior art keywords
acquisition request
content acquisition
content
client
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111510104.3A
Other languages
Chinese (zh)
Other versions
CN114301848A (en
Inventor
郑完富
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202111510104.3A priority Critical patent/CN114301848B/en
Publication of CN114301848A publication Critical patent/CN114301848A/en
Application granted granted Critical
Publication of CN114301848B publication Critical patent/CN114301848B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

The embodiment of the application provides a CDN-based communication method, a CDN-based communication system, CDN-based communication equipment and a CDN-based storage medium. The method comprises the following steps: receiving a content acquisition request sent by a client; determining the urgent situation of the content acquisition request according to the information carried in the content acquisition request; when the emergency situation is an emergency situation, sending the content requested by the content acquisition request to the client; and when the emergency situation is a non-emergency situation, sending the content acquisition request to a scheduling node so that the scheduling node schedules the content acquisition request to a target service node. The scheme provided by the embodiment of the application not only can avoid poor user experience caused by longer delay of the urgent content acquisition request, but also can be compatible with the scheme advantage of scheduling based on the content acquisition request.

Description

CDN-based communication method, system, equipment and storage medium
Technical Field
The present application relates to the field of communications technologies, and in particular, to a CDN-based communication method, system, device, and storage medium.
Background
At present, the number of websites is continuously increased, and the available resources are increasingly abundant, and particularly, streaming media such as video, audio and the like are greatly emerging. The network access flow increases in multiple times, which causes problems of network congestion, server overload, overlong waiting time of users and the like, and reduces the transmission performance of the whole network content.
In order to alleviate network congestion and increase the speed and success rate of users' acquisition of resources, CDN (Content DeliveryNetwork ) technologies have evolved. The traffic scheduling manner of the edge node in the CDN is 302 scheduling. The scheduling 302 has a problem of long delay, such as long first packet delay, which affects user experience.
Disclosure of Invention
In view of the foregoing, the present application has been made to provide a CDN-based communication method, system, device, and storage medium that solve or at least partially solve the foregoing problems.
Thus, in one embodiment of the application, a method of communication is provided, wherein the method is adapted for a serving node; the method comprises the following steps:
receiving a content acquisition request sent by a client;
determining the urgent situation of the content acquisition request according to the information carried in the content acquisition request;
when the emergency situation is an emergency situation, sending the content requested by the content acquisition request to the client;
and when the emergency situation is a non-emergency situation, sending the content acquisition request to a scheduling node so that the scheduling node schedules the content acquisition request to a target service node.
In yet another embodiment of the present application, there is provided a communication system including: the system comprises a client, a service node, a dispatching center and a target service node;
the client is used for sending a content acquisition request to the service node;
the service node is used for receiving the content acquisition request sent by the client; determining the urgent situation of the content acquisition request according to the information carried in the content acquisition request; when the emergency situation is an emergency situation, sending the content requested by the content acquisition request to the client; and when the emergency situation is a non-emergency situation, sending the content acquisition request to a scheduling node so that the scheduling node schedules the content acquisition request to a target service node.
In yet another embodiment of the present application, a communication method is provided, where the method is applicable to CDN cache nodes; the method comprises the following steps:
receiving a content acquisition request sent by a client;
determining the urgent situation of the content acquisition request according to the information carried in the content acquisition request;
when the emergency situation is an emergency situation, sending the content requested by the content acquisition request to the client;
And when the emergency situation is a non-emergency situation, the content acquisition request is sent to a CDN dispatching node so that the CDN dispatching node dispatches the content acquisition request to a target CDN cache node.
In yet another embodiment of the present application, a service node is provided. The service node comprises: a memory, a processor, and a communication component, wherein,
the memory is used for storing programs;
the processor is coupled with the memory and the communication component respectively, and is used for executing the program stored in the memory so as to realize the communication method.
In a further embodiment of the present application, a computer-readable storage medium storing a computer program which, when executed by a computer, is capable of implementing the communication method of any one of the above.
In the technical scheme provided by the embodiment of the application, the content acquisition request sent by the client side does not arrive at the scheduling node first, but arrives at the service node first; after receiving the content acquisition request, the service node judges the urgent situation of the content acquisition request, and if the urgent situation is urgent, the service node directly returns the requested content to the client; and if not, sending the message to a dispatching node for dispatching. In this way, for an urgent content acquisition request, the client can acquire the requested content only by establishing one connection with the service node, and the client does not need to establish one connection with the scheduling center or with the service node as in the existing scheduling scheme, so that the waiting time of the client can be reduced, and the user experience is improved; and for the non-urgent content acquisition request, the non-urgent content acquisition request is sent to a scheduling node for scheduling to find a proper target service node, so that accurate scheduling is realized. Therefore, the technical scheme provided by the embodiment of the application not only can avoid poor user experience caused by longer delay of the urgent content acquisition request, but also can be compatible with the scheme advantage of scheduling based on the content acquisition request.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions of the prior art, the following description will briefly explain the drawings used in the embodiments or the description of the prior art, and it is obvious that the drawings in the following description are some embodiments of the present application, and other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a signaling diagram of a conventional scheduling scheme according to an embodiment of the present application;
fig. 2 is a schematic diagram of a communication system according to an embodiment of the present application;
FIG. 3 is a flow chart of a communication method according to an embodiment of the present application;
fig. 4 is a signaling diagram of a communication method according to an embodiment of the present application;
fig. 5 is a block diagram of a communication device according to an embodiment of the present application;
fig. 6 is a block diagram of a service node according to an embodiment of the present application.
Detailed Description
Currently, the traffic scheduling manners related to the edge node in the CDN mainly include DNS (Domain Name System ) scheduling and 302 scheduling. Among them, DNS scheduling has drawbacks such as scheduling bias, low hit rate, inability to cope with traffic sudden increase. 302 scheduling is a precise scheduling based on content acquisition requests, namely precise scheduling based on uniform resource locators (Uniform Resource Locator, URLs), and is used for solving scheduling deviation caused by inaccurate DNS scheduling so as to face traffic burst conditions and improve hit rate. However, in DNS scheduling, the client needs to establish a connection with the service node only once, and in 302 scheduling, the client needs to establish a connection with the scheduling node and also needs to establish a connection with the service node once. It can be seen that 302 scheduling requires at least one more establishment than DNS scheduling. In general, the connection needs to take a long time, and delay, such as first packet delay, is greatly increased. When the content acquisition request is an https request, 302 schedules, besides requiring more than one creation of a link, more than one domain name resolution and more than one https handshake, which greatly increases delay and affects user experience.
The existing 302 scheduling scheme will be described with reference to fig. 1:
s1, the client sends a content acquisition request to a scheduling node.
S2, after receiving the content acquisition request, the scheduling node determines a target service node from a plurality of service nodes in the CDN according to the IP address and/or URL of the client in the content acquisition request.
And S3, the IP address or the domain name of the target service node is sent to the client.
And S4, the client sends a content acquisition request to the target service node according to the IP address or domain name of the target service node.
S5, the target service node determines whether the content requested by the content acquisition request is cached locally.
If the content is cached, the target service node directly sends the content requested by the content acquisition request to the client; if not, S6 is performed.
And S6, the target service node sends a source request back to the source station server.
And S7, the source station server sends the content requested by the content acquisition request to the target service node according to the source return request.
S8, the target service node caches the sliced content requested by the sliced content acquisition request locally and forwards the sliced content to the client.
When the content acquisition request is an http (HyperText Transfer Protocol ) request, the IP address of the target service node is transmitted to the client. When the content acquisition request is an https (Hyper TextTransfer Protocol over Secure Socket Layer, hypertext transfer security protocol) request, the domain name of the target service node is sent to the client, after the client receives the domain name of the target service node, the client needs to request the domain name resolution server to perform domain name resolution to obtain the IP address of the target service node, and then https handshake is performed with the target service node according to the IP address of the target service node to establish connection.
It is well known that establishing a connection, domain name resolution, https handshake takes a long time. For example, when the content acquisition request is a first packet request for streaming media from a client, the user needs to wait a long time to acquire the first packet. Taking video on demand as an example, the long first frame time (also called the first screen time) can affect the user experience. The first frame time refers to the time from the start of the click to the display of the first frame of the video.
In order to solve or partially solve the above technical problems, the embodiment of the present application provides a new scheduling scheme: the content acquisition request sent by the client side does not arrive at the scheduling node first, but arrives at the service node first; after receiving the content acquisition request, the service node judges the urgent situation of the content acquisition request, and if the urgent situation is urgent, the service node directly returns the requested content to the client; and if not, sending the message to a dispatching node for dispatching. In this way, for an urgent content acquisition request, the client can acquire the requested content only by establishing one connection with the service node, and the client does not need to establish one connection with the scheduling center or with the service node as in the existing scheduling scheme, so that the waiting time of the client can be reduced, and the user experience is improved; and for the non-urgent content acquisition request, the non-urgent content acquisition request is sent to a scheduling node for scheduling to find a proper target service node, so that accurate scheduling is realized. Therefore, the technical scheme provided by the embodiment of the application not only can avoid poor user experience caused by longer delay of the urgent content acquisition request, but also can be compatible with the scheme advantage of scheduling based on the content acquisition request.
In order to enable those skilled in the art to better understand the present application, the following description will clearly and completely describe the technical solution according to the embodiments of the present application according to the accompanying drawings. It will be apparent that the described embodiments are only some, but not all, embodiments of the application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
Furthermore, in some of the flows described in the specification, claims, and drawings above, a plurality of operations occurring in a particular order may be included, and the operations may be performed out of order or concurrently with respect to the order in which they occur. The sequence numbers of operations such as 101, 102, etc. are merely used to distinguish between the various operations, and the sequence numbers themselves do not represent any order of execution. In addition, the flows may include more or fewer operations, and the operations may be performed sequentially or in parallel. It should be noted that, the descriptions of "first" and "second" herein are used to distinguish different messages, devices, modules, etc., and do not represent a sequence, and are not limited to the "first" and the "second" being different types.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a product or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such product or system. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a commodity or system comprising such elements.
Before introducing the communication method provided by the embodiment of the application, the communication architecture related to the embodiment of the application is described. Fig. 2 shows a schematic diagram of a communication system according to an embodiment of the present application. As shown in fig. 2, the communication system includes: client 10, service node 20, scheduling node 30, and target service node 40. Wherein, the liquid crystal display device comprises a liquid crystal display device,
a client 10 for sending a content acquisition request to the service node 20;
the service node 20 is configured to receive the content acquisition request sent by the client 10; determining the urgent situation of the content acquisition request according to the information carried in the content acquisition request; when the urgent situation is an emergency situation, transmitting the content requested by the content acquisition request to the client 10; when the emergency situation is a non-emergency situation, the content acquisition request is sent to the scheduling node 30 to be scheduled by the scheduling node 30 to the target service node 40.
In an example, the client 10 may generate the domain name resolution request and the content acquisition request in response to a content acquisition operation triggered by a user on a page presented by the client 10. The domain name resolution request includes a domain name corresponding to the requested content. The client 10 may send a domain name resolution request to a domain name resolution server for domain name resolution by the domain name resolution server to obtain the IP address of the service node 20 and return to the client 10. After receiving the IP address of the service node 20, the client 10 establishes a connection with the service node 20 according to the IP address of the service node 20, and transmits a content acquisition request to the target node 20 through the connection.
Alternatively, the domain name resolution process may specifically include a DNS scheduling process, that is, the service node 20 is determined by DNS scheduling.
In a specific application scenario, the service node 20 in this embodiment is a CDN cache node, and the target service node 40 is a target CDN cache node; the scheduling node 30 may be a CDN scheduling node. The CDN scheduling node may determine a target CDN cache node from a plurality of alternative CDN cache nodes according to the content acquisition request. The plurality of alternative CDN cache nodes may include CDN cache nodes or may not include CDN cache nodes as described above. When the plurality of alternative CDN cache nodes includes a CDN cache node, the target CDN cache node and the CDN cache node may be the same.
Each CDN cache node is responsible for processing the request of the user, and if the content requested by the user is cached and valid on the node, the cached content is sent to the user; otherwise, the CDN cache node can proxy the user to initiate a backtracking request to the source station server so as to acquire the content of the user request and forward the content to the user, and the processing of the request is completed.
The client 10 may be any device with a certain computing power, for example, a smart phone, a tablet computer, a desktop computer, a notebook computer, a smart wearable device, etc., which is not limited in this embodiment. The basic structure of the client 10 may include: a processor and a memory. The amount of processor and memory depends on the configuration and type of client 10. The Memory may include volatile such as RAM, nonvolatile such as Read-Only Memory (ROM), flash Memory, or the like, or both. The memory typically stores an operating system (OperatingSystem, OS), one or more application programs, program data, and the like. In addition to the processing unit and memory, the client 10 also includes some basic configuration, such as a network card chip, an IO bus, an audio-video component, and the like. Optionally, the client 10 may also include some peripheral devices, such as a keyboard, mouse, stylus, etc. Other peripheral devices are well known in the art and are not described in detail herein.
In one implementation, the service node 20 is configured to determine, according to information carried in the content acquisition request, a start position of the content requested by the content acquisition request; and determining the urgency of the content acquisition request according to the starting position.
The specific implementation principles and interaction procedures of the constituent elements of the system, such as the client 10, the service node 20, the scheduling node 30, and the target service node 40, will be described in more detail in the following embodiments, and reference may be made to the following method embodiments.
Fig. 3 is a schematic flow chart of a communication method according to an embodiment of the application. The method is applicable to the service node.
In an example, the service node may be a cache node in the CDN. As shown in fig. 3, the method includes:
101. and receiving a content acquisition request sent by the client.
102. And determining the urgency of the content acquisition request according to the information carried in the content acquisition request.
103. And when the emergency situation is an emergency situation, sending the content requested by the content acquisition request to the client.
104. And when the emergency situation is a non-emergency situation, sending the content acquisition request to a scheduling node so that the scheduling node schedules the content acquisition request to a target service node.
In 101, the content acquisition request may carry a URL of the requested content, and may also carry an IP address of the client. The content acquisition request refers to an acquisition request for network content, and may specifically be a play request, a download request, or the like. In some application scenarios, the content acquisition request may specifically be a content acquisition request for streaming media. The streaming media can specifically comprise video and audio. The video may include video-on-demand and live video.
In general, streaming media belongs to a large file, and in order to promote service, a fragmentation request method is adopted. Namely: the client makes requests in multiple times, each time requesting one piece of content in the streaming media. Thus, in an example, the content acquisition request may specifically include a fragmented content acquisition request for streaming media. The fragmented content acquisition request is for requesting acquisition of one fragmented content of the streaming media.
Taking video on demand as an example, after a user plays a certain video through client click, the client will not load the video in full amount at a time, but will request each piece of content of the video in sequence, that is, send out a piece of content acquisition request for each piece of content in sequence. The request for acquiring the segmented content carries the range of the requested segmented content. The range may be set in a setting field in the fragmented content acquisition request, which may be located at the head or tail of the fragmented content acquisition request, which is specifically a range field.
For example: after the user clicks and plays the video a through the client, the client sequentially sends out a first segment content acquisition request, a second segment content acquisition request, a third segment content acquisition request, … and a 10 th segment content acquisition request according to the sequence. Wherein, the range field carried in the first fragment content acquisition request is 0-10M; the range field carried in the second fragment content acquisition request is 10M-20M; the range field carried in the third fragment content acquisition request is 20M-30M; …; the range field carried in the 10 th fragment content acquisition request is 90M-100M. The first fragmented content acquisition request may be issued immediately after the user clicks to play video a, the second fragmented content acquisition request may be issued when video a is played to the 5M position, the third fragmented content acquisition request may be issued when video a is played to the 15M position, and so on.
In one implementation manner, in 102, the client may carry the urgency of the content acquisition request for the client to acquire the content requested by the content acquisition request. Specifically, if the client side needs to acquire the content requested by the content acquisition request urgently, the content acquisition request can carry the urgent identifier, otherwise, the content acquisition request can carry the non-urgent identifier or the identifier of any related urgent situation. In this way, after receiving the content acquisition request sent by the client, the service node determines the urgency of the content acquisition request according to the urgency carried in the content acquisition request.
In 103, the urgent situation of the content acquisition request is an emergency situation, which means that the client needs to acquire the content requested by the content acquisition request urgently, and the delay needs to be reduced as much as possible, so that the service node directly improves the content requested by the client. If the service node caches the content requested by the content acquisition request, directly sending the content to the client; if the service node does not cache the content requested by the content acquisition request, the service node source station server initiates a backtracking request to acquire the content requested by the content acquisition request from the source station server and forwards the content to the client.
It should be noted here that, for an urgent content acquisition request, the client needs to establish a connection with the service node only once, even if the service node is not a preferred node, for example: the request delay is smaller than the request delay of the existing scheduling scheme requiring establishment of two connections, if the content requested by the content acquisition request is not cached or if the node which is not closest to the client is not cached.
In the above 104, the urgent situation of the content acquisition request is a non-urgent situation, which means that the client does not need to acquire the content requested by the content acquisition request urgently. In order to achieve accurate scheduling, the content acquisition request may be sent to a scheduling node, which schedules the content acquisition request to a target serving node.
The scheduling node can determine a target service node from a plurality of candidate service nodes according to the content acquisition request. Since the scheduling node is scheduled based on the content acquisition request, the scheduling is finer grained and more accurate. The plurality of alternative service nodes may include the service node or may not include the service node, which is not particularly limited in the embodiments of the present application.
In the technical scheme provided by the embodiment of the application, the content acquisition request sent by the client side does not arrive at the scheduling node first, but arrives at the service node first; after receiving the content acquisition request, the service node judges the urgent situation of the content acquisition request, and if the urgent situation is urgent, the service node directly returns the requested content to the client; and if not, sending the message to a dispatching node for dispatching. In this way, for an urgent content acquisition request, the client can acquire the requested content only by establishing one connection with the service node, and the client does not need to establish one connection with the scheduling center or with the service node as in the existing scheduling scheme, so that the waiting time of the client can be reduced, and the user experience is improved; and for the non-urgent content acquisition request, the non-urgent content acquisition request is sent to a scheduling node for scheduling to find a proper target service node, so that accurate scheduling is realized. Therefore, the technical scheme provided by the embodiment of the application not only can avoid poor user experience caused by longer delay of the urgent content acquisition request, but also can be compatible with the scheme advantage of scheduling based on the content acquisition request.
In one implementation, the content acquisition request includes a fragmented content acquisition request for streaming media. In 102, the "determining the urgent situation of the content acquisition request according to the information carried in the content acquisition request" includes:
1021. and determining the starting position of the segmented content requested by the segmented content acquisition request according to the information carried in the segmented content acquisition request.
1022. And determining the urgency of the fragment content acquisition request according to the starting position.
In 1021, the start position of the requested piece of content of the piece of content acquisition request may be determined according to the range of the requested piece of content carried in the piece of content acquisition request.
For example: and if the range field carried in the segmented content acquisition request is 0-10M, the starting position of the segmented content acquisition request is 0.
For another example: the range field carried in the segmented content acquisition request is 10M-20M, which indicates that the starting position of the segmented content acquisition request is 10M.
The location referred to herein is understood to be a location in the streaming media.
In an example, the "determining the urgency of the tile content obtaining request according to the starting position" in the above 1022 may include:
And S11, if the starting position is the starting position of the streaming media, determining that the urgent situation of the segmented content acquisition request is an emergency situation.
Taking video on demand as an example, the first package request of streaming media is generally urgent, the shorter the time delay is, the shorter the waiting time of the user is, and the user experience, such as playing experience, can be improved; subsequent slicing requests for streaming media are typically non-urgent because the video segments requested by the previous slicing request are available to the client for a period of time and, therefore, are time-efficient.
The starting position of the streaming media is as follows: 0. if the starting position of the requested segmented content is the starting position of the streaming media, the segmented content acquisition request is the first packet request, and the urgent situation of the content acquisition request can be determined to be an emergency situation.
In another example, the "determining the urgency of the tile content obtaining request according to the starting position" in the foregoing 1022 may include:
s21, determining the playing position of the streaming media at the client according to the information carried in the fragment content acquisition request.
S22, determining the unreported buffer quantity of the streaming media at the client according to the playing position and the starting position.
S23, determining the urgent situation of the segmented content acquisition request according to the buffer quantity.
In actual application, if the buffering quantity is smaller than or equal to a preset buffering threshold value, determining that the urgent situation of the segmented content acquisition request is the urgent situation. In one example, if the amount of buffering is greater than a preset buffering threshold, it is determined that the urgent situation of the fragmented content acquisition request is a non-urgent situation.
The preset buffer threshold value can be an empirical value, or can be calculated by means of data statistics, analysis and the like.
Currently, many video or music websites provide a play drag function by which a user can drag a play progress bar to a designated position for play according to his own needs. When a user drags to a location that is not currently cached, the client may issue a content acquisition request, also called a drag request, for the location, so as to avoid waiting too long for the user, and also to minimize the request delay. Accordingly, the "determining the urgency of the content acquisition request according to the information carried in the content acquisition request" in 102 may include:
1023. and determining whether the fragment content acquisition request carries a drag playing parameter.
1023. If the segmented content acquisition request carries the drag playing parameter, determining that the urgent situation of the segmented content acquisition request is an emergency situation.
The drag play parameter carried in the fragment content acquisition request may specifically be a start field. For example: the drag play parameters are: start:50, that is, the starting position of the piece of content requested by the piece of content acquisition request is 50M of the streaming media.
In practical application, the step 1023 may be performed before the step 1021, that is, it is determined whether the request for obtaining the fragmented content carries the drag playing parameter; if the segmented content acquisition request carries the drag playing parameter, determining that the urgent situation of the segmented content acquisition request is an emergency situation; and if the fragment content acquisition request does not carry the drag playing parameter, triggering the steps 1021 and 1022.
Alternatively, the scheduling node may redirect the content acquisition request to the target serving node. That is, the scheduling node sends the IP address or domain name of the target service node to the client according to the client IP address carried in the content acquisition request. The client sends a content acquisition request to the target service node according to the IP address or domain name of the target service node to provide the requested content to the client by the target service node. The content acquisition request sent by the client to the target service node may carry a scheduling identifier to inform the target service node that the content acquisition request is a scheduled request, so that the target service node only needs to directly provide the requested content, and the urgent situation of the request cannot be judged. The above-described redirection may be a temporary redirection. Thus, in an example, the "sending the content acquisition request to a scheduling node to schedule the content acquisition request to a target service node by the scheduling node when the urgent situation is a non-urgent situation" in 104 above may include:
1041. And when the emergency situation is a non-emergency situation, sending the content acquisition request to the scheduling node so as to temporarily redirect the content acquisition request to a target service node by the scheduling node.
The target service node is determined by the scheduling node from a plurality of candidate service nodes according to the content acquisition request; the target service node is configured to send the content requested by the content acquisition request to the client.
The plurality of alternative service nodes may or may not include the service node, and may specifically be set according to actual needs, which is not specifically limited in the embodiment of the present application.
The scheduling node can determine a target service node from a plurality of candidate service nodes according to a URL carried in the content acquisition request and a client IP address and a preset scheduling strategy; or the scheduling node may input the URL and the client IP address carried in the content acquisition request into a pre-trained scheduling model, so as to determine the target service node from the multiple candidate service nodes by the scheduling model. The specific implementation of the scheduling model may be referred to in the prior art, and will not be described herein.
Taking the content acquisition request as an http request as an example, the scheduling node may send the IP address of the target service node to the client according to the IP address of the client. And the client establishes connection with the target service node according to the IP address of the target service node and sends a content acquisition request.
Specifically, the scheduling node may add the IP address of the target service node to the address location field in the response message, add 302 a status code to the response message, and then return the response message to the client. After receiving the response information, the client analyzes 302 the status code, and knows to the target service node to obtain the requested content.
The technical solution provided by the embodiment of the present application will be described by way of example with reference to fig. 4:
step 201, the client sends a request for obtaining the fragmented content of the streaming media to the service node.
Step 202, a service node determines the urgent situation of a segmented content acquisition request according to information carried in the segmented content acquisition request.
If so, execute step 203; if not, step 204 is performed.
Step 203, the service node sends the piece of content requested by the piece of content acquisition request and the 200 state code to the client.
Step 204, sending the fragment content acquisition request to a scheduling node.
Step 205, the scheduling node determines a target service node from a plurality of candidate service nodes according to the fragment content acquisition request.
Step 206, the scheduling node adds 302 a status code in the response information, adds the IP address of the target service node to the address location field in the response information, and sends the response information to the client.
Step 207, the client sends a fragment content acquisition request to the target service node according to the IP address of the target service node in the location field in the response information.
Step 208, the target service node queries whether the requested piece of content is cached locally according to the piece of content acquisition request.
Step 209, if the target service node determines that the local content requested by the content obtaining request is not cached, the target service node sends a source request back to the source server.
Step 210, the source station server sends the piece content requested by the piece content acquisition request to the target service node according to the source return request.
Step 211, the target service node caches the piece content requested by the piece content acquisition request locally and forwards the piece content to the client.
The method has the advantages that the user request resource is intelligently judged, the emergency request (such as the first packet request) and the non-emergency request (such as the non-first packet request) are provided with different scheduling service modes, so that not only can the first frame experience of the conventional 302 scheduling be improved, but also the playing drag experience of the conventional 302 scheduling can be improved.
The following provides a communication method based on a Content Delivery Network (CDN), wherein the method is applicable to CDN cache nodes; the method comprises the following steps:
receiving a content acquisition request sent by a client;
determining the urgent situation of the content acquisition request according to the information carried in the content acquisition request;
when the emergency situation is an emergency situation, sending the content requested by the content acquisition request to the client;
and when the emergency situation is a non-emergency situation, the content acquisition request is sent to a CDN dispatching node so that the CDN dispatching node dispatches the content acquisition request to a target CDN cache node.
What needs to be explained here is: details of each step in the method provided in the embodiment of the present application may be referred to corresponding details in the above embodiment, which are not described herein. In addition, the method provided in the embodiment of the present application may further include other part or all of the steps in the above embodiments, and specific reference may be made to the corresponding content of the above embodiments, which is not repeated herein.
Fig. 5 is a block diagram of a communication device of a service node according to an embodiment of the present application. As shown in fig. 5, the apparatus includes:
a receiving module 301, configured to receive a content acquisition request sent by a client;
a determining module 302, configured to determine, according to information carried in the content acquisition request, a urgency condition of the content acquisition request;
a first sending module 303, configured to send, when the urgent situation is an emergency situation, content requested by the content obtaining request to the client;
and a second sending module 304, configured to send the content acquisition request to a scheduling node to schedule the content acquisition request to a target service node by the scheduling node when the emergency situation is a non-emergency situation.
Optionally, the content acquisition request includes a fragmented content acquisition request for streaming media;
the determining module 302 is specifically configured to:
determining the starting position of the segmented content requested by the segmented content acquisition request according to the information carried in the segmented content acquisition request;
and determining the urgency of the fragment content acquisition request according to the starting position.
Optionally, the determining module 302 is specifically configured to:
And if the starting position is the starting position of the streaming media, determining that the urgent situation of the segmented content acquisition request is an emergency situation.
Optionally, the determining module 302 is specifically configured to:
determining the playing position of the streaming media at the client according to the information carried in the fragment content acquisition request;
determining the buffer memory of the streaming media which is not played at the client according to the playing position and the starting position;
and determining the urgency of the segmented content acquisition request according to the cache quantity.
Optionally, the determining module 302 is specifically configured to:
before determining the starting position of the segmented content requested by the segmented content acquisition request according to the information carried in the segmented content acquisition request, determining whether the segmented content acquisition request carries a drag play parameter or not;
if the segmented content acquisition request carries the drag playing parameter, determining that the urgent situation of the segmented content acquisition request is an emergency situation.
Optionally, the determining module 302 is specifically configured to: and if the segmented content acquisition request does not carry the drag playing parameter, triggering the step of determining the starting position of the segmented content requested by the segmented content acquisition request according to the information carried in the segmented content acquisition request.
Optionally, the second sending module 304 is specifically configured to:
when the emergency situation is a non-emergency situation, sending the content acquisition request to the scheduling node to temporarily redirect the content acquisition request to a target service node by the scheduling node;
the target service node is determined by the scheduling node from a plurality of candidate service nodes according to the content acquisition request;
the target service node is configured to send the content requested by the content acquisition request to the client.
What needs to be explained here is: the communication device provided in the foregoing embodiments may implement the technical solutions described in the foregoing method embodiments, and the specific implementation principles of the foregoing modules may refer to corresponding contents in the foregoing method embodiments, which are not repeated herein.
Fig. 6 is a schematic structural diagram of a service node according to an embodiment of the present application. As shown in fig. 6, the service node includes a memory 1101, a processor 1102, and a communication component 1103. The memory 1101 may be configured to store other various data to support operations on the serving node. Examples of such data include instructions for any application or method operating on the service node. The memory 1101 may be implemented by any type of volatile or non-volatile memory device or combination thereof, such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disk.
The memory 1101 is configured to store a program;
the processor 1102 is coupled to the memory 1101 and the communication unit 1103, respectively, and is configured to:
receiving a content acquisition request sent by a client;
determining the urgent situation of the content acquisition request according to the information carried in the content acquisition request;
when the urgent situation is an emergency situation, controlling the communication component 1103 to send the content requested by the content acquisition request to the client;
when the emergency situation is a non-emergency situation, the communication component 1103 is controlled to send the content acquisition request to a scheduling node to schedule the content acquisition request to a target service node by the scheduling node.
Further, as shown in fig. 6, the service node further includes: a display 1104, a power supply component 1105, an audio component 1106, and other components. Only some of the components are schematically shown in fig. 6, which does not mean that the service node only comprises the components shown in fig. 6.
Besides the above functions, each unit in the service node may also implement other functions, and specifically, reference may be made to the description of the above method embodiment, which is not repeated herein.
Accordingly, the embodiments of the present application also provide a computer-readable storage medium storing a computer program capable of implementing the steps or functions of the communication method provided by the above-mentioned method embodiments when the computer program is executed by a computer.
The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
From the above description of the embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus necessary general hardware platforms, or of course may be implemented by means of hardware. Based on this understanding, the foregoing technical solution may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method described in the respective embodiments or some parts of the embodiments.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present application, and are not limiting; although the application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims (12)

1. A method of communication, wherein the method is adapted for a serving node; the method comprises the following steps:
receiving a content acquisition request sent by a client;
determining the urgent situation of the content acquisition request according to the information carried in the content acquisition request;
when the emergency situation is an emergency situation, sending the content requested by the content acquisition request to the client;
and when the emergency situation is a non-emergency situation, sending the content acquisition request to a scheduling node so that the scheduling node schedules the content acquisition request to a target service node.
2. The method of claim 1, wherein the content acquisition request comprises a fragmented content acquisition request for streaming media;
According to the information carried in the content acquisition request, determining the urgent situation of the content acquisition request comprises the following steps:
determining the starting position of the segmented content requested by the segmented content acquisition request according to the information carried in the segmented content acquisition request;
and determining the urgency of the fragment content acquisition request according to the starting position.
3. The method of claim 2, wherein determining the urgency of the fragmented content retrieval request based on the starting location comprises:
and if the starting position is the starting position of the streaming media, determining that the urgent situation of the segmented content acquisition request is an emergency situation.
4. The method of claim 2, wherein determining the urgency of the fragmented content retrieval request based on the starting location comprises:
determining the playing position of the streaming media at the client according to the information carried in the fragment content acquisition request;
determining the buffer memory of the streaming media which is not played at the client according to the playing position and the starting position;
and determining the urgency of the segmented content acquisition request according to the cache quantity.
5. The method according to any one of claims 2 to 4, wherein determining the urgency of the content acquisition request from information carried in the content acquisition request further comprises:
before determining the starting position of the segmented content requested by the segmented content acquisition request according to the information carried in the segmented content acquisition request, determining whether the segmented content acquisition request carries a drag play parameter or not;
if the segmented content acquisition request carries the drag playing parameter, determining that the urgent situation of the segmented content acquisition request is an emergency situation.
6. The method of claim 5, wherein determining the urgency of the content acquisition request based on information carried in the content acquisition request further comprises:
and if the segmented content acquisition request does not carry the drag playing parameter, triggering the step of determining the starting position of the segmented content requested by the segmented content acquisition request according to the information carried in the segmented content acquisition request.
7. The method of any of claims 1-4, wherein when the emergency situation is a non-emergency situation, sending the content acquisition request to a scheduling node to schedule the content acquisition request to a target serving node by the scheduling node comprises:
When the emergency situation is a non-emergency situation, sending the content acquisition request to the scheduling node to temporarily redirect the content acquisition request to a target service node by the scheduling node;
the target service node is determined by the scheduling node from a plurality of candidate service nodes according to the content acquisition request;
the target service node is configured to send the content requested by the content acquisition request to the client.
8. A communication system, comprising: the system comprises a client, a service node, a dispatching center and a target service node;
the client is used for sending a content acquisition request to the service node;
the service node is used for receiving the content acquisition request sent by the client; determining the urgent situation of the content acquisition request according to the information carried in the content acquisition request; when the emergency situation is an emergency situation, sending the content requested by the content acquisition request to the client; and when the emergency situation is a non-emergency situation, sending the content acquisition request to a scheduling node so that the scheduling node schedules the content acquisition request to a target service node.
9. The system according to claim 8, wherein the service node is configured to determine, according to information carried in the content acquisition request, a start position of the content requested by the content acquisition request; and determining the urgency of the content acquisition request according to the starting position.
10. A communication method based on a content delivery network CDN, wherein the method is applicable to CDN cache nodes; the method comprises the following steps:
receiving a content acquisition request sent by a client;
determining the urgent situation of the content acquisition request according to the information carried in the content acquisition request;
when the emergency situation is an emergency situation, sending the content requested by the content acquisition request to the client;
and when the emergency situation is a non-emergency situation, the content acquisition request is sent to a CDN dispatching node so that the CDN dispatching node dispatches the content acquisition request to a target CDN cache node.
11. A service node, comprising: a memory, a processor, and a communication component, wherein,
the memory is used for storing programs;
the processor is coupled to the memory, the communication component, respectively, for executing the program stored in the memory to implement the communication method of any one of claims 1 to 7, 10.
12. A computer readable storage medium storing a computer program, wherein the computer program is capable of implementing the communication method of any one of claims 1 to 7, 10 when executed by a computer.
CN202111510104.3A 2021-12-10 2021-12-10 CDN-based communication method, system, equipment and storage medium Active CN114301848B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111510104.3A CN114301848B (en) 2021-12-10 2021-12-10 CDN-based communication method, system, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111510104.3A CN114301848B (en) 2021-12-10 2021-12-10 CDN-based communication method, system, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114301848A CN114301848A (en) 2022-04-08
CN114301848B true CN114301848B (en) 2023-08-29

Family

ID=80967242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111510104.3A Active CN114301848B (en) 2021-12-10 2021-12-10 CDN-based communication method, system, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114301848B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117319500A (en) * 2022-06-24 2023-12-29 华为云计算技术有限公司 Content providing method and device

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645858A (en) * 2005-02-24 2005-07-27 广东省电信有限公司研究院 Service system for distributed reciprocal flow media and realizing method for requesting programm
WO2010101496A1 (en) * 2009-03-03 2010-09-10 Telefonaktiebolaget L M Ericsson (Publ) Methods and arrangements for prioritization in a peer-to-peer network
CN104427005A (en) * 2013-08-20 2015-03-18 阿里巴巴集团控股有限公司 Method and system for realizing accurate request scheduling on content delivery network
US9088634B1 (en) * 2012-05-07 2015-07-21 Amazon Technologies, Inc. Dynamic media transcoding at network edge
CN107172186A (en) * 2017-06-12 2017-09-15 中国联合网络通信集团有限公司 Content acquisition method and system
CN107948684A (en) * 2017-11-20 2018-04-20 广州虎牙信息科技有限公司 Direct broadcasting room video playing control method, device and server
CN108184149A (en) * 2017-12-29 2018-06-19 北京奇艺世纪科技有限公司 A kind of video CD N method for optimizing scheduling and device
CN109104617A (en) * 2018-09-05 2018-12-28 杭州领智云画科技有限公司 Video request response method and system
CN109542613A (en) * 2017-09-22 2019-03-29 中兴通讯股份有限公司 Distribution method, device and the storage medium of service dispatch in a kind of CDN node
CN110839049A (en) * 2018-08-15 2020-02-25 阿里巴巴集团控股有限公司 Data scheduling method and system based on domain name system
WO2020168957A1 (en) * 2019-02-18 2020-08-27 华为技术有限公司 Method for scheduling edge node of content distribution network, and apparatus
CN113301072A (en) * 2020-04-13 2021-08-24 阿里巴巴集团控股有限公司 Service scheduling method and system, scheduling equipment and client
CN113497817A (en) * 2020-03-20 2021-10-12 北京金山云网络技术有限公司 Traffic scheduling method and device, edge node of CDN (content delivery network) and server

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9025458B2 (en) * 2012-10-23 2015-05-05 Verizon Patent And Licensing Inc. Reducing congestion of media delivery over a content delivery network
US20170171344A1 (en) * 2015-12-15 2017-06-15 Le Holdings (Beijing) Co., Ltd. Scheduling method and server for content delivery network service node

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645858A (en) * 2005-02-24 2005-07-27 广东省电信有限公司研究院 Service system for distributed reciprocal flow media and realizing method for requesting programm
WO2010101496A1 (en) * 2009-03-03 2010-09-10 Telefonaktiebolaget L M Ericsson (Publ) Methods and arrangements for prioritization in a peer-to-peer network
US9088634B1 (en) * 2012-05-07 2015-07-21 Amazon Technologies, Inc. Dynamic media transcoding at network edge
CN104427005A (en) * 2013-08-20 2015-03-18 阿里巴巴集团控股有限公司 Method and system for realizing accurate request scheduling on content delivery network
CN107172186A (en) * 2017-06-12 2017-09-15 中国联合网络通信集团有限公司 Content acquisition method and system
CN109542613A (en) * 2017-09-22 2019-03-29 中兴通讯股份有限公司 Distribution method, device and the storage medium of service dispatch in a kind of CDN node
CN107948684A (en) * 2017-11-20 2018-04-20 广州虎牙信息科技有限公司 Direct broadcasting room video playing control method, device and server
CN108184149A (en) * 2017-12-29 2018-06-19 北京奇艺世纪科技有限公司 A kind of video CD N method for optimizing scheduling and device
CN110839049A (en) * 2018-08-15 2020-02-25 阿里巴巴集团控股有限公司 Data scheduling method and system based on domain name system
CN109104617A (en) * 2018-09-05 2018-12-28 杭州领智云画科技有限公司 Video request response method and system
WO2020168957A1 (en) * 2019-02-18 2020-08-27 华为技术有限公司 Method for scheduling edge node of content distribution network, and apparatus
CN113497817A (en) * 2020-03-20 2021-10-12 北京金山云网络技术有限公司 Traffic scheduling method and device, edge node of CDN (content delivery network) and server
CN113301072A (en) * 2020-04-13 2021-08-24 阿里巴巴集团控股有限公司 Service scheduling method and system, scheduling equipment and client

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Optimizing Multi-Cloud CDN Deployment and Scheduling Strategies Using Big Data Analysis;Congjie Wang et al.;《2017 IEEE International Conference on Services Computing (SCC)》;全文 *

Also Published As

Publication number Publication date
CN114301848A (en) 2022-04-08

Similar Documents

Publication Publication Date Title
US20180205976A1 (en) Method and apparatus of obtaining video fragment
JP7252356B2 (en) MOBILE EDGE COMPUTING NODE SELECTION METHOD, APPARATUS AND SYSTEM AND COMPUTER PROGRAM
US10791190B2 (en) Systems and methods for avoiding server push of objects already cached at a client
US11924650B2 (en) System, method and service product for content delivery
CN108063769B (en) Method and device for realizing content service and content distribution network node
WO2017096830A1 (en) Content delivery method and scheduling proxy server for cdn platform
US9058402B2 (en) Chronological-progression access prioritization
CN110933517B (en) Code rate switching method, client and computer readable storage medium
EP2763494A1 (en) Internet access method, terminal and storage medium
EP2787742B1 (en) Method and system for transmitting network video
EP2880839B1 (en) Web caching method and system for content distribution network (cdn)
WO2010088490A1 (en) Application, usage & radio link aware transport network scheduler
CN111510789B (en) Video playing method, system, computer equipment and computer readable storage medium
JP2017538987A (en) System and method for accelerating user agent signaling requests by a transport accelerator
WO2017161757A1 (en) Method and system for distributing streaming media file
WO2018233539A1 (en) Video processing method, computer storage medium, and device
CN115834556B (en) Data transmission method, system, device, storage medium and program product
EP3286967B1 (en) Technique for scheduling transmission of content in an access network
CN114301848B (en) CDN-based communication method, system, equipment and storage medium
CN113301072A (en) Service scheduling method and system, scheduling equipment and client
CN108460042B (en) Page display method, related equipment and system
CN115297095B (en) Back source processing method, device, computing equipment and storage medium
US11182452B2 (en) Web acceleration via learning
CN115733883B (en) Method and device for refreshing CDN cache
CN114615333B (en) Resource access request processing method, device, equipment and medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant