CN114301848A - CDN-based communication method, system, device and storage medium - Google Patents

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

Info

Publication number
CN114301848A
CN114301848A CN202111510104.3A CN202111510104A CN114301848A CN 114301848 A CN114301848 A CN 114301848A CN 202111510104 A CN202111510104 A CN 202111510104A CN 114301848 A CN114301848 A CN 114301848A
Authority
CN
China
Prior art keywords
acquisition request
content acquisition
content
node
client
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.)
Granted
Application number
CN202111510104.3A
Other languages
Chinese (zh)
Other versions
CN114301848B (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

Images

Abstract

The embodiment of the application provides a communication method, a communication system, communication equipment and a storage medium based on a CDN. The method comprises the following steps: receiving a content acquisition request sent by a client; determining the urgency condition of the content acquisition request according to the information carried in the content acquisition request; when the emergency situation is an emergency situation, the content requested by the content acquisition request is sent to the client; and when the emergency condition is a non-emergency condition, the content acquisition request is sent 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 long delay of the urgent content acquisition request, but also can be compatible with the advantage of the scheme for scheduling based on the content acquisition request.

Description

CDN-based communication method, system, device 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, resources available for access are becoming rich, and especially, streaming media such as video and audio are emerging in large quantities. The network access flow is multiplied and increased, which causes the problems of network congestion, server overload, overlong user waiting time and the like, and the transmission performance of the whole network content is reduced.
In order to alleviate network congestion and improve the speed and success rate of acquiring resources by users, a Content Delivery Network (CDN) technology has been developed. There is 302 scheduling for traffic scheduling mode of edge node in CDN. Among them, the 302 scheduling has a problem of long delay, for example, long delay of the first packet, which affects user experience.
Disclosure of Invention
In view of the above, the present application is proposed to provide a CDN-based communication method, system, device and storage medium that solve the above problems, or at least partially solve the above problems.
Thus, in one embodiment of the present application, a communication method 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 urgency condition of the content acquisition request according to the information carried in the content acquisition request;
when the emergency situation is an emergency situation, the content requested by the content acquisition request is sent to the client;
and when the emergency condition is a non-emergency condition, the content acquisition request is sent to a scheduling node so that the scheduling node schedules the content acquisition request to a target service node.
In another embodiment of the present application, there is provided a communication system, including: the system comprises a client, service nodes, 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 urgency condition of the content acquisition request according to the information carried in the content acquisition request; when the emergency situation is an emergency situation, the content requested by the content acquisition request is sent to the client; and when the emergency condition is a non-emergency condition, the content acquisition request is sent to a scheduling node so that the scheduling node schedules the content acquisition request to a target service node.
In another embodiment of the present application, a communication method is provided, where the method is applied to a CDN cache node; the method comprises the following steps:
receiving a content acquisition request sent by a client;
determining the urgency condition of the content acquisition request according to the information carried in the content acquisition request;
when the emergency situation is an emergency situation, the content requested by the content acquisition request is sent to the client;
and when the emergency condition is a non-emergency condition, the content acquisition request is sent to a CDN scheduling node so that the CDN scheduling node schedules 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 communications component, wherein,
the memory is used for storing programs;
the processor is coupled to the memory and the communication component, respectively, and configured to execute the program stored in the memory to implement the communication method.
In yet another embodiment of the present application, there is provided a computer-readable storage medium storing a computer program capable of implementing the communication method of any one of the above when executed by a computer.
In the technical scheme provided by the embodiment of the application, the content acquisition request sent by the client 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 delay condition of the content acquisition request, and if the content acquisition request is urgent, the service node directly returns the requested content to the client; and if not, sending the information to a scheduling node for scheduling. Therefore, for an emergency content acquisition request, the client can acquire the requested content only by establishing connection with the service node once, and does not need to establish connection with the service node once as well as the scheduling center once 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 non-emergency content acquisition requests, sending the content acquisition requests to a scheduling node for scheduling to find a proper target service node, and realizing accurate scheduling. Therefore, the technical scheme provided by the embodiment of the application can not only avoid poor user experience caused by long delay of the urgent content acquisition request, but also be compatible with the advantage of the scheme for scheduling based on the content acquisition request.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative efforts.
Fig. 1 is a signaling diagram of an existing scheduling scheme provided by 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 flowchart illustrating 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 disclosure.
Detailed Description
Currently, the traffic scheduling modes related to the edge node in the CDN mainly include DNS (Domain Name System) scheduling and 302 scheduling. The DNS scheduling has the disadvantages of scheduling bias, low hit rate, and inability to cope with traffic surges. The 302 scheduling is an accurate scheduling based on a content obtaining request, that is, an accurate scheduling based on a Uniform Resource Locator (URL), and is used to solve a scheduling deviation caused by inaccurate DNS scheduling, so as to face a traffic sudden increase condition and improve a hit rate. However, the client in DNS scheduling only needs to establish a connection with the service node once, and the client in 302 scheduling needs to establish a connection with the scheduling node not only once but also once. It can be seen that the 302 schedule requires at least one more connection than the DNS schedule. Generally, the connection takes a long time, which greatly increases the delay, such as the first packet delay. When the content acquisition request is an https request, 302 scheduling requires not only one more association, but also one more domain name resolution and one more https handshake, which may greatly increase latency and affect user experience.
The conventional 302 scheduling scheme will be described with reference to fig. 1:
and S1, the client sends the content acquisition request to the scheduling node.
And 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 client IP address and/or URL in the content acquisition request.
And S3, sending the IP address or the domain name of the target service node to the client.
S4, the client sends the content acquisition request to the target service node according to the IP address or the domain name of the target service node.
S5, the target service node determines whether the content requested by the content obtaining 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 executed.
And S6, the target service node sends a source return request 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 back-source request.
And S8, the target service node locally caches the fragment content requested by the fragment content acquisition request and forwards the fragment content to the client.
And when the content acquisition request is an http (HyperText Transfer Protocol) request, sending the IP address of the target service node to the client. When the content acquisition request is an https (Hyper text transfer Protocol over Secure Socket Layer) request, sending the domain name of the target service node to the client, after receiving the domain name of the target service node, requesting a domain name resolution server to perform domain name resolution to obtain the IP address of the target service node, and then performing https handshake with the target service node according to the IP address of the target service node to establish connection.
It is known that establishing a connection, domain name resolution, https handshake takes a long time. For example, when the content acquisition request is a first package request of the client for the streaming media, the user needs to wait for a long time before acquiring the first package. Taking video on demand as an example, the first frame time (also referred to as the first screen time) is long, which may affect the user experience. The first frame time refers to the time from the start of the user clicking to the display of the first frame of the video.
In order to solve or partially solve the above technical problem, an embodiment of the present application provides a new scheduling scheme: the content acquisition request sent by the client does not arrive at the dispatching node first, but arrives at the service node first; after receiving the content acquisition request, the service node judges the delay condition of the content acquisition request, and if the content acquisition request is urgent, the service node directly returns the requested content to the client; and if not, sending the information to a scheduling node for scheduling. Therefore, for an emergency content acquisition request, the client can acquire the requested content only by establishing connection with the service node once, and does not need to establish connection with the service node once as well as the scheduling center once 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 non-emergency content acquisition requests, sending the content acquisition requests to a scheduling node for scheduling to find a proper target service node, and realizing accurate scheduling. Therefore, the technical scheme provided by the embodiment of the application can not only avoid poor user experience caused by long delay of the urgent content acquisition request, but also be compatible with the advantage of the scheme for scheduling based on the content acquisition request.
In order to make the technical solutions better understood by those skilled in the art, the technical solutions in the embodiments of the present application will be clearly and completely described below according to the drawings in the embodiments of the present application. It is to be understood that the embodiments described are only a few embodiments of the present application and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Further, in some flows described in the specification, claims, and above-described figures of the present application, a number of operations are included that occur in a particular order, which operations may be performed out of order or in parallel as they occur herein. The sequence numbers of the operations, e.g., 101, 102, etc., are used merely to distinguish between the various operations, and do not represent any order of execution per se. Additionally, 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", "second", etc. in this document are used for distinguishing different messages, devices, modules, etc., and do not represent a sequential order, nor limit the types of "first" and "second" to be different.
It is also noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a good 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 good or system. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a commodity or system that includes the element.
Before a communication method provided by an embodiment of the present application is described, a communication architecture related to the embodiment of the present application is described. Fig. 2 shows a schematic diagram of a communication system provided by an embodiment of the present application. As shown in fig. 2, the communication system includes: client 10, serving node 20, scheduling node 30, and target serving node 40. Wherein the content of the first and second substances,
a client 10, configured to send a content obtaining request to the service node 20;
the service node 20 is configured to receive the content obtaining request sent by the client 10; determining the urgency condition of the content acquisition request according to the information carried in the content acquisition request; when the emergency situation is an emergency situation, the content requested by the content acquisition request is sent to the client 10; when the emergency situation is a non-emergency situation, the content retrieval request is sent to the scheduling node 30 for the scheduling node 30 to schedule the content retrieval request to the target serving 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 comprises a domain name corresponding to the requested content. The client 10 may send the domain name resolution request to the domain name resolution server, so that the domain name resolution server performs domain name resolution to obtain the IP address of the service node 20 and returns the IP address 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 sends a content acquisition request to the target node 20 through the connection.
Optionally, 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 can 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 the CDN cache nodes. When the multiple candidate CDN cache nodes include 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 initiates a backtracking request to the source station server by acting on the user to obtain content of the user request and then forwards the content to the user, thereby completing processing of the request.
The client 10 may be any device with certain computing capability, for example, a smart phone, a tablet computer, a desktop computer, a notebook computer, a smart wearable device, and the like, which is not particularly limited in this embodiment. The basic structure of the client 10 may include: a processor and a memory. The number of processors and memories depends on the configuration and type of client 10. The Memory may include volatile, such as RAM, non-volatile, such as Read-Only Memory (ROM), flash Memory, etc., or both. The memory typically stores an Operating System (OS), one or more application programs, and may also store program data and the like. In addition to the processing unit and the memory, the client 10 also includes some basic configurations, 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 will not be described in detail herein.
In an implementation scheme, the service node 20 is configured to determine, according to information carried in the content obtaining request, a starting position of content requested by the content obtaining request; and determining the urgency condition of the content acquisition request according to the initial position.
The specific implementation principles and interaction process of the components 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, which can be referred to as the following method embodiments.
Fig. 3 is a flowchart illustrating a communication method according to an embodiment of the present application. The method is applicable to a 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 a client.
102. And determining the delay condition 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 condition is a non-emergency condition, the content acquisition request is sent to a scheduling node so that the scheduling node schedules the content acquisition request to a target service node.
In the foregoing 101, the content obtaining request may carry a URL of the requested content, and may also carry an IP address of the client. The content obtaining request refers to a obtaining request for network content, and may specifically be a play request, a download request, and the like. In some application scenarios, the content obtaining request may specifically be a content obtaining request for streaming media. The streaming media may specifically include video and audio. The videos may include on-demand videos and live videos.
Generally, streaming media belongs to a large file, and a fragment request method is adopted to promote services. Namely: the client requests for a plurality of times, and requests for one fragment content in the streaming media each time. Therefore, in an example, the content acquisition request may specifically include a fragmented content acquisition request for streaming media. The fragmented content acquisition request is used for requesting to acquire one fragmented content of the streaming media.
Taking video on demand as an example, after a user clicks and plays a certain video through a client, the client does not load the video in full at one time, but requests each piece of content of the video in sequence, that is, sends out a piece content acquisition request for each piece of content in sequence. The fragment content acquisition request carries the range of the requested fragment content. The range may be set in a setting field in the fragment content acquisition request, where the setting field may be located at the head or the tail of the fragment content acquisition request, and the setting field is specifically a range field.
For example: the file size of the video A is 100M, and after a user clicks to play the video A through a client, the client can sequentially send out a first fragment content acquisition request, a second fragment content acquisition request, a third fragment content acquisition request, … and a 10 th fragment content acquisition request. Wherein, the range field carried in the first fragment content acquisition request is 0-10M; a range field carried in the second fragment content acquisition request is 10-20M; a range field carried in the third fragment content acquisition request is 20-30M; …, respectively; the range field carried in the 10 th fragment content acquisition request is 90-100M. The first fragment content acquisition request may be sent immediately after the user clicks to play the video a, the second fragment content acquisition request may be sent when the video a is played to the 5M position, the third fragment content acquisition request may be sent when the video a is played to the 15M position, and so on.
In an implementation manner, in the above 102, the client may carry, in the content obtaining request, a urgency condition of obtaining the content requested by the content obtaining request by the client. Specifically, if the client needs to acquire the content requested by the content acquisition request urgently, the content acquisition request may carry an urgent identifier, otherwise, the content acquisition request may carry a non-urgent identifier or may not carry any identifier related to the urgent situation. In this way, after receiving the content acquisition request sent by the client, the service node determines the urgency condition of the content acquisition request according to the urgency condition carried in the content acquisition request.
In 103, the urgent case of the content acquisition request is an emergency case, which means that the client needs to acquire the content requested by the content acquisition request urgently, and the time delay needs to be reduced as much as possible. 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, a client only needs to establish a connection with a service node 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 which needs to establish two connections, rather than caching the content requested by the content acquisition request or the node which is not closest to the client.
In the above 104, the content obtaining request is not urgent, which means that the client does not need to obtain the content requested by the content obtaining request urgently. To achieve accurate scheduling, the content retrieval request may be sent to a scheduling node, which schedules the content retrieval request to a target serving node.
The scheduling node can determine a target service node from the multiple candidate service nodes according to the content acquisition request. Because the scheduling node is scheduled based on the content acquisition request, the scheduling is finer in granularity and more accurate. The plurality of candidate service nodes may include the service node or may not include the service node, which is not specifically limited in this embodiment of the present application.
In the technical scheme provided by the embodiment of the application, the content acquisition request sent by the client 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 delay condition of the content acquisition request, and if the content acquisition request is urgent, the service node directly returns the requested content to the client; and if not, sending the information to a scheduling node for scheduling. Therefore, for an emergency content acquisition request, the client can acquire the requested content only by establishing connection with the service node once, and does not need to establish connection with the service node once as well as the scheduling center once 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 non-emergency content acquisition requests, sending the content acquisition requests to a scheduling node for scheduling to find a proper target service node, and realizing accurate scheduling. Therefore, the technical scheme provided by the embodiment of the application can not only avoid poor user experience caused by long delay of the urgent content acquisition request, but also be compatible with the advantage of the scheme for scheduling based on the content acquisition request.
In one implementation, the content acquisition request comprises a fragmented content acquisition request for streaming media. The aforementioned step 102 of "determining a urgency condition of the content acquisition request according to the information carried in the content acquisition request" includes:
1021. and determining the initial position of the fragment content requested by the fragment content acquisition request according to the information carried in the fragment content acquisition request.
1022. And determining the urgency condition of the fragment content acquisition request according to the initial position.
In 1021, the start position of the segment content requested by the segment content acquiring request may be determined according to the range of the requested segment content carried in the segment content acquiring request.
For example: and if the range field carried in the fragment content acquisition request is 0-10M, the starting position of the fragment content acquisition request is 0.
For another example: and if the range field carried in the fragment content acquisition request is 10M-20M, it indicates that the starting position of the fragment content acquisition request is 10M.
The position referred to herein is understood to be a position in the streaming medium.
In an example, the "determining a urgency condition of the slice content acquisition request according to the starting location" in 1022 above may include:
and S11, if the starting position is the starting position of the streaming media, determining that the emergency situation of the slicing content obtaining request is an emergency situation.
Taking video on demand as an example, the first packet request of the streaming media is generally urgent, and the shorter the time delay is, the shorter the waiting time of the user is, so that the user experience, such as playing experience, can be improved; subsequent requests for fragmentation of streaming media are generally non-urgent, because the video segment requested by the previous request for fragmentation is available for the client to play for a while, and therefore, the time is abundant.
The starting position of the streaming media is, for example: 0. if the starting position of the requested fragmented content is the starting position of the streaming media, it indicates that the fragmented content acquisition request is a first packet request, and it can be determined that the emergency situation of the content acquisition request is an emergency situation.
In another example, the "determining a urgency condition of the slice content acquisition request according to the starting location" in 1022 above 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.
And S22, determining the unplayed buffer amount of the streaming media at the client according to the playing position and the starting position.
And S23, determining the urgency condition of the fragment content acquisition request according to the buffer amount.
In actual application, if the cache amount is less than or equal to the preset cache threshold, determining that the cache condition of the fragment content acquisition request is a cache condition. In an example, if the caching amount is greater than a preset caching threshold, it is determined that the emergency condition of the fragmented content acquisition request is a non-emergency condition.
The preset buffer threshold may be an empirical value, or may be calculated by means of data statistics, analysis, or the like.
At present, many video or music websites provide a play dragging function, and a user can drag a play progress bar to a designated position for playing according to the need of the user through the function. When a user drags to a position which is not cached currently, a client sends a content acquisition request, also called a drag request, for the position, and in order to avoid that the user waits too long, the request delay needs to be reduced as much as possible. Therefore, the "determining the urgency condition of the content acquisition request according to the information carried in the content acquisition request" in the foregoing 102 may include:
1023. and determining whether the fragment content acquisition request carries a dragging playing parameter.
1023. And if the segment content acquisition request carries the dragging and playing parameters, determining that the emergency condition of the segment content acquisition request is an emergency condition.
The dragging and playing parameter carried in the fragment content obtaining request may specifically be a start field. For example: the dragging playing parameters are as follows: start: 50, that is, the starting position of the fragmented content requested by the fragmented content acquisition request is the position 50M of the streaming media.
In actual application, the step 1023 may be executed before the step 1021, that is, it is determined whether the fragment content acquisition request carries a drag play parameter; if the fragment content acquisition request carries the dragging playing parameter, determining that the emergency condition of the fragment content acquisition request is an emergency condition; if the segment content acquisition request does not carry the drag play parameter, the above steps 1021 and 1022 are triggered.
Optionally, the scheduling node may redirect the content acquisition request to a target service 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 the domain name of the target service node, so that the target service node provides the requested content to the client. The content obtaining request sent by the client to the target service node may carry a scheduling identifier to inform the target service node that the content obtaining request is a scheduled request, so that the target service node may directly provide the requested content, and the urgency of the request cannot be determined. The redirection may be a temporary redirection. Thus, in an example, the step 104 of "sending the content obtaining request to the scheduling node to schedule the content obtaining request to the target service node when the emergency situation is a non-emergency situation" may include:
1041. and when the emergency condition is a non-emergency condition, the content acquisition request is sent to the dispatching node so that the dispatching node can redirect the content acquisition request to a target service node temporarily.
The target service node is determined by the scheduling node in a plurality of alternative service nodes according to the content acquisition request; and the target service node is used for sending the content requested by the content acquisition request to the client.
The plurality of candidate service nodes may or may not include the service node, and may be specifically set according to actual needs, which is not specifically limited in this embodiment of the application.
The scheduling node can determine a target service node from a plurality of alternative service nodes according to the URL and the client IP address carried in the content acquisition request 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 that the scheduling model determines the target service node from the multiple candidate service nodes. The specific implementation of the scheduling model can be referred to in the prior art, and is not described herein again.
Taking the 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. 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 message, the client analyzes the 302 state code, and knows that the target service node acquires the requested content.
The technical solution provided by the embodiment of the present application will be described below by way of example with reference to fig. 4:
step 201, the client sends a request for acquiring the segment content of the streaming media to the service node.
Step 202, the service node determines the urgency condition of the fragment content acquisition request according to the information carried in the fragment content acquisition request.
If so, go to step 203; if not, go to step 204.
Step 203, the service node sends the fragment content requested by the fragment content acquisition request and the 200 state code to the client.
And step 204, sending the fragment content acquisition request to a scheduling node.
And step 205, the scheduling node determines a target service node from the multiple alternative service nodes according to the fragment content acquisition request.
Step 206, the dispatching node adds 302 a status code in the response message, adds the IP address of the target service node to the address location field in the response message, and sends the response message to the client.
Step 207, the client sends the 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.
And step 208, the target service node inquires whether the requested fragment content is cached locally according to the fragment content acquisition request.
Step 209, if the target service node determines that the fragment content requested by the fragment content acquisition request is not cached locally, the target service node sends a back-source request to the source station server.
Step 210, the source station server sends the fragmented content requested by the fragmented content acquisition request to the target service node according to the back source request.
And step 211, the target service node locally caches the fragment content requested by the fragment content acquisition request and forwards the fragment content to the client.
The resource requested by the user is intelligently judged, and different scheduling service modes are provided for the emergency request (such as the first packet request) and the non-emergency request (such as the non-first packet request), so that the first frame experience of the conventional 302 scheduling can be improved, and the playing and dragging experience of the conventional 302 scheduling can also be improved.
A communication method based on a content delivery network CDN will be provided below, where the method is applicable to a CDN cache node; the method comprises the following steps:
receiving a content acquisition request sent by a client;
determining the urgency condition of the content acquisition request according to the information carried in the content acquisition request;
when the emergency situation is an emergency situation, the content requested by the content acquisition request is sent to the client;
and when the emergency condition is a non-emergency condition, the content acquisition request is sent to a CDN scheduling node so that the CDN scheduling node schedules the content acquisition request to a target CDN cache node.
Here, it should be noted that: the content of each step in the method provided by the embodiment of the present application, which is not described in detail in the foregoing embodiment, may refer to the corresponding content in the foregoing embodiment, and is not described herein again. In addition, the method provided in the embodiment of the present application may further include, in addition to the above steps, other parts or all of the steps in the above embodiments, and specific reference may be made to corresponding contents in the above embodiments, which is not described herein again.
Fig. 5 is a block diagram illustrating a communication apparatus 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 obtaining request sent by a client;
a determining module 302, configured to determine a urgency condition of the content acquisition request according to information carried in the content acquisition request;
a first sending module 303, configured to send, when the emergency situation is an emergency situation, the content requested by the content obtaining request to the client;
a second sending module 304, configured to send the content obtaining request to a scheduling node when the emergency situation is a non-emergency situation, so that the scheduling node schedules the content obtaining request to a target service node.
Optionally, the content obtaining request includes a fragmented content obtaining request for streaming media;
the determining module 302 is specifically configured to:
determining the initial position of the fragment content requested by the fragment content acquisition request according to the information carried in the fragment content acquisition request;
and determining the urgency condition of the fragment content acquisition request according to the initial 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 emergency condition of the fragment content acquisition request is an emergency condition.
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 non-played buffer amount of the streaming media at the client according to the playing position and the starting position;
and determining the emergency condition of the fragment content acquisition request according to the buffer amount.
Optionally, the determining module 302 is specifically configured to:
before determining the initial position of the fragment content requested by the fragment content acquisition request according to the information carried in the fragment content acquisition request, determining whether the fragment content acquisition request carries a dragging playing parameter;
and if the segment content acquisition request carries the dragging and playing parameters, determining that the emergency condition of the segment content acquisition request is an emergency condition.
Optionally, the determining module 302 is specifically configured to: and if the fragment content acquisition request does not carry the dragging playing parameter, triggering the step of determining the initial position of the fragment content requested by the fragment content acquisition request according to the information carried in the fragment content acquisition request.
Optionally, the second sending module 304 is specifically configured to:
when the emergency situation is a non-emergency situation, the content acquisition request is sent to the dispatching node so that the dispatching node can redirect the content acquisition request to a target service node temporarily;
the target service node is determined by the scheduling node in a plurality of alternative service nodes according to the content acquisition request;
and the target service node is used for sending the content requested by the content acquisition request to the client.
Here, it should be noted that: the communication device provided in the above embodiments may implement the technical solutions described in the above method embodiments, and the specific implementation principle of each module may refer to the corresponding content in the above method embodiments, and is not described herein again.
Fig. 6 shows a schematic structural diagram of a service node according to an embodiment of the present application. As shown in fig. 6, the service node comprises 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 service 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 or combination of volatile or non-volatile memory devices 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 disks.
The memory 1101 is used for storing programs;
the processor 1102, respectively coupled to the memory 1101 and the communication component 1103, is configured to:
receiving a content acquisition request sent by a client;
determining the urgency condition of the content acquisition request according to the information carried in the content acquisition request;
when the emergency situation is an emergency situation, controlling the communication component 1103 to send the content requested by the content obtaining request to the client;
when the emergency situation is a non-emergency situation, the communication component 1103 is controlled to send the content obtaining request to a scheduling node so that the scheduling node schedules the content obtaining request to a target service node.
Further, as shown in fig. 6, the service node further includes: display 1104, power components 1105, audio components 1106, and the like. Only some of the components are schematically shown in fig. 6, and it is not meant that the service node includes only the components shown in fig. 6.
In addition to the above functions, each unit in the service node may also implement other functions, which may be referred to in the description of the method embodiment and will not be described herein again.
Accordingly, the present application further provides a computer-readable storage medium storing a computer program, where the computer program can implement the steps or functions of the communication method provided by the above method embodiments when executed by a computer.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware. With this understanding in mind, the above-described technical solutions may be embodied in the form of a software product, which can be stored in a computer-readable storage medium such as ROM/RAM, magnetic disk, optical disk, etc., and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in the embodiments or some parts of the embodiments.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions in 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 urgency condition of the content acquisition request according to the information carried in the content acquisition request;
when the emergency situation is an emergency situation, the content requested by the content acquisition request is sent to the client;
and when the emergency condition is a non-emergency condition, the content acquisition request is sent 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;
determining the urgency condition of the content acquisition request according to the information carried in the content acquisition request, including:
determining the initial position of the fragment content requested by the fragment content acquisition request according to the information carried in the fragment content acquisition request;
and determining the urgency condition of the fragment content acquisition request according to the initial position.
3. The method of claim 2, wherein determining the urgency of the fragmented content acquisition request according to the starting location comprises:
and if the starting position is the starting position of the streaming media, determining that the emergency condition of the fragment content acquisition request is an emergency condition.
4. The method of claim 2, wherein determining the urgency of the fragmented content acquisition request according to 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 non-played buffer amount of the streaming media at the client according to the playing position and the starting position;
and determining the emergency condition of the fragment content acquisition request according to the buffer amount.
5. The method according to any one of claims 2 to 4, wherein determining the urgency of the content acquisition request according to information carried in the content acquisition request further includes:
before determining the initial position of the fragment content requested by the fragment content acquisition request according to the information carried in the fragment content acquisition request, determining whether the fragment content acquisition request carries a dragging playing parameter;
and if the segment content acquisition request carries the dragging and playing parameters, determining that the emergency condition of the segment content acquisition request is an emergency condition.
6. The method of claim 5, wherein determining the urgency of the content acquisition request according to information carried in the content acquisition request further comprises:
and if the fragment content acquisition request does not carry the dragging playing parameter, triggering the step of determining the initial position of the fragment content requested by the fragment content acquisition request according to the information carried in the fragment content acquisition request.
7. The method of any of claims 1-4, wherein sending the content fetch request to a scheduling node for scheduling by the scheduling node the content fetch request to a target serving node when the urgency condition is a non-urgency condition includes:
when the emergency situation is a non-emergency situation, the content acquisition request is sent to the dispatching node so that the dispatching node can redirect the content acquisition request to a target service node temporarily;
the target service node is determined by the scheduling node in a plurality of alternative service nodes according to the content acquisition request;
and the target service node is used for sending the content requested by the content acquisition request to the client.
8. A communication system, comprising: the system comprises a client, service nodes, 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 urgency condition of the content acquisition request according to the information carried in the content acquisition request; when the emergency situation is an emergency situation, the content requested by the content acquisition request is sent to the client; and when the emergency condition is a non-emergency condition, the content acquisition request is sent 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 starting position of content requested by the content acquisition request; and determining the urgency condition of the content acquisition request according to the initial position.
10. A communication method based on a Content Delivery Network (CDN), wherein the method is suitable for CDN cache nodes; the method comprises the following steps:
receiving a content acquisition request sent by a client;
determining the urgency condition of the content acquisition request according to the information carried in the content acquisition request;
when the emergency situation is an emergency situation, the content requested by the content acquisition request is sent to the client;
and when the emergency condition is a non-emergency condition, the content acquisition request is sent to a CDN scheduling node so that the CDN scheduling node schedules the content acquisition request to a target CDN cache node.
11. A service node, comprising: a memory, a processor, and a communications 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 to realize the communication method of any one of claims 1 to 7 and 10.
12. A computer-readable storage medium storing a computer program, wherein the computer program is capable of implementing the communication method according to any one of claims 1 to 7 and 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 true CN114301848A (en) 2022-04-08
CN114301848B 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)

Cited By (1)

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

Citations (15)

* 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
US20140112140A1 (en) * 2012-10-23 2014-04-24 Verizon Patent And Licensing, Inc. Reducing congestion of media delivery over a content delivery 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
US20170171344A1 (en) * 2015-12-15 2017-06-15 Le Holdings (Beijing) Co., Ltd. Scheduling method and server for content delivery network service node
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

Patent Citations (15)

* 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
US20140112140A1 (en) * 2012-10-23 2014-04-24 Verizon Patent And Licensing, Inc. Reducing congestion of media delivery over a content delivery network
CN104427005A (en) * 2013-08-20 2015-03-18 阿里巴巴集团控股有限公司 Method and system for realizing accurate request scheduling on 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
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 (2)

* Cited by examiner, † Cited by third party
Title
CONGJIE WANG ET AL.: "Optimizing Multi-Cloud CDN Deployment and Scheduling Strategies Using Big Data Analysis", 《2017 IEEE INTERNATIONAL CONFERENCE ON SERVICES COMPUTING (SCC)》 *
刘云毅 等: "基于MEC的边缘CDN业务调度方案及测试分析", 《电子技术应用》 *

Cited By (1)

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

Also Published As

Publication number Publication date
CN114301848B (en) 2023-08-29

Similar Documents

Publication Publication Date Title
US20180205976A1 (en) Method and apparatus of obtaining video fragment
US8886769B2 (en) Selective content pre-warming in content delivery networks based on user actions and content categorizations
WO2017096830A1 (en) Content delivery method and scheduling proxy server for cdn platform
RU2632410C2 (en) Preliminary caching in cdn controlled by application
US20170164020A1 (en) Content delivery method for content delivery network platform and scheduling proxy server
CN108063769B (en) Method and device for realizing content service and content distribution network node
US9058402B2 (en) Chronological-progression access prioritization
CN110933517B (en) Code rate switching method, client and computer readable storage medium
EP2880839B1 (en) Web caching method and system for content distribution network (cdn)
CN107147921B (en) Video playing acceleration method and device based on slice and intelligent CDN scheduling
US8495171B1 (en) Indiscriminate virtual containers for prioritized content-object distribution
CN111510789B (en) Video playing method, system, computer equipment and computer readable storage medium
CN111614736A (en) Network content resource scheduling method, domain name scheduling server and electronic equipment
US11706498B2 (en) Playback method, system, device and readable storage medium of live broadcast content
US20120221681A1 (en) Method, apparatus and system for hierarchically requesting contents in a http streaming system
WO2020155959A1 (en) Definition switching method and apparatus, computer device, and readable storage medium
WO2018233539A1 (en) Video processing method, computer storage medium, and device
CN115834556B (en) Data transmission method, system, device, storage medium and program product
CN113301072A (en) Service scheduling method and system, scheduling equipment and client
CN114301848B (en) CDN-based communication method, system, equipment and storage medium
CN108460042B (en) Page display method, related equipment and system
CN115297095B (en) Back source processing method, device, computing equipment and storage medium
CN117642724A (en) Stream analysis using server-less computing system
US10296580B1 (en) Delivering parsed content items
CN113612701A (en) Data processing method, data processing device, computer equipment and storage 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