CN113132758B - Control method, device and computer program product of content distribution network - Google Patents

Control method, device and computer program product of content distribution network Download PDF

Info

Publication number
CN113132758B
CN113132758B CN202110410760.XA CN202110410760A CN113132758B CN 113132758 B CN113132758 B CN 113132758B CN 202110410760 A CN202110410760 A CN 202110410760A CN 113132758 B CN113132758 B CN 113132758B
Authority
CN
China
Prior art keywords
streaming media
transmission channel
data transmission
time
cdn
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
CN202110410760.XA
Other languages
Chinese (zh)
Other versions
CN113132758A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110410760.XA priority Critical patent/CN113132758B/en
Publication of CN113132758A publication Critical patent/CN113132758A/en
Application granted granted Critical
Publication of CN113132758B publication Critical patent/CN113132758B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The disclosure provides a control method, a control device, an electronic device, a computer readable storage medium and a computer program product of a content distribution network, and relates to the technical fields of artificial intelligence such as data processing, cloud service, multimedia technology and the like. One embodiment of the method comprises the following steps: a data transmission channel for transmitting stream media data between the stream media center and the stream media center is established, a restarting instruction is generated when the stream media data is determined to meet the preset jitter condition, the data transmission channel between the stream media center and the restarting instruction is controlled to be disconnected based on the restarting instruction, and a new data transmission channel between the stream media center and the restarting instruction is established again.

Description

Control method, device and computer program product of content distribution network
Technical Field
The present disclosure relates to the field of computer technology, and in particular, to the field of cloud services, and more particularly, to a method and apparatus for controlling a content distribution network, an electronic device, a computer readable storage medium, and a computer program product.
Background
The content delivery network CDN (Content Delivery Network, CDN for short) is an intelligent virtual network constructed on the basis of the existing network, and by means of the edge servers deployed in various places, a user can obtain required content nearby through load balancing, content delivery, scheduling and other functional modules of the center platform, network congestion is reduced, and user access response speed and hit rate are improved.
In the prior art, in order to meet the requirement of watching live content of a large number of users, the live content is often required to be delivered by using the CDN, but when the high-level CDN is unstable in streaming to the streaming media center due to some abnormal reasons, the playing of all subsequent nodes and clients connected with the affected CDN is blocked, and the watching experience of the downstream users is affected.
Disclosure of Invention
The embodiment of the disclosure provides a control method, a control device, electronic equipment, a computer readable storage medium and a computer program product of a content distribution network.
In a first aspect, an embodiment of the present disclosure proposes a method for controlling a content distribution network, including: CDN nodes applied to a content delivery network CDN, comprising: establishing a data transmission channel between the streaming media center and the streaming media center, wherein the data transmission channel is used for transmitting streaming media data; determining that the streaming media data meets a preset jitter condition; and generating a restarting instruction, controlling to disconnect the data transmission channel between the restarting instruction and the streaming media center, and reestablishing a new data transmission channel between the restarting instruction and the streaming media center.
In a second aspect, an embodiment of the present disclosure provides a control device of a content delivery network, which is applied to a CDN node in a content delivery network CDN, including: a transmission channel establishing unit configured to establish a data transmission channel with the streaming media center, wherein the data transmission channel is used for transmitting streaming media data; a jitter monitoring unit configured to determine that the streaming media data satisfies a preset jitter condition; and a restart control unit configured to generate a restart instruction, and control disconnection of the data transmission channel with the streaming media center based on the restart instruction, and reestablish a new data transmission channel with the streaming media center.
In a third aspect, an embodiment of the present disclosure provides an electronic device, including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to implement a method of controlling a content distribution network as described in any one of the implementations of the first aspect when executed.
In a fourth aspect, embodiments of the present disclosure provide a non-transitory computer-readable storage medium storing computer instructions for enabling a computer to implement a method of controlling a content distribution network as described in any one of the implementations of the first aspect when executed.
In a fifth aspect, embodiments of the present disclosure provide a computer program product comprising a computer program which, when executed by a processor, is capable of implementing a method of controlling a content distribution network as described in any of the implementations of the first aspect.
The embodiment of the disclosure provides a control method, a device, an electronic device, a computer readable storage medium and a computer program product for a content distribution network, wherein a data transmission channel for transmitting streaming media data between the device and a streaming media center is established, a restarting instruction is generated when the streaming media data is determined to meet a preset jitter condition, the restarting instruction is used for controlling to disconnect the data transmission channel between the device and the streaming media center, and a new data transmission channel between the device and the streaming media center is reestablished.
The present disclosure provides a method for correspondingly updating a data transmission channel, when a CDN node in a content delivery network CDN receives streaming media data to generate jitter, a new data transmission channel between the CDN node and a streaming media center can be automatically re-established to replace a data transmission channel having transmission blocking in the past, so as to solve the problem of jitter generated when the CDN node receives streaming media data, facilitate the improvement of stability of receiving streaming media data by the CDN, and improve viewing experience of downstream users.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following specification.
Drawings
Other features, objects and advantages of the present disclosure will become more apparent upon reading of the detailed description of non-limiting embodiments, made with reference to the following drawings:
FIG. 1 is an exemplary system architecture in which the present disclosure may be applied;
fig. 2 is a flowchart of a control method of a content distribution network according to an embodiment of the present disclosure;
fig. 3 is a flowchart of another control method of a content distribution network according to an embodiment of the present disclosure;
Fig. 4 is a flowchart of a control method of still another content distribution network according to an embodiment of the present disclosure;
fig. 5 is a block diagram of a control device of a content distribution network according to an embodiment of the present disclosure;
fig. 6 is a schematic structural diagram of an electronic device adapted to execute a control method of a content distribution network according to an embodiment of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding, and should be considered as merely exemplary. Accordingly, one of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness. It should be noted that, without conflict, the embodiments of the present disclosure and features of the embodiments may be combined with each other.
Fig. 1 illustrates an exemplary system architecture 100 to which embodiments of a control method, apparatus, electronic device, and computer readable storage medium of the content distribution network of the present disclosure may be applied.
As shown in fig. 1, system architecture 100 may illustratively include CDN nodes 101, 102, 103, network 104, and streaming media center 105 in a content delivery network CDN. Network 104 is the medium used to provide communication links between CDN nodes 101, 102, 103 and streaming media center 105. The network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
CDN nodes 101, 102, 103 interact with streaming media center 105 over network 104 to receive and send streaming media data, restart instructions, etc. Various applications for implementing information communication between the CDN nodes 101, 102, 103 and the streaming media center 105 may be installed on the CDN nodes, for example, a live broadcast application, a file cloud storage application, an instant messaging application, and the like.
CDN nodes 101, 102, 103 and streaming media center 105 may be hardware or software. When the CDN nodes 101, 102, 103 are hardware, they may be various terminal devices, servers, etc. for implementing storage and forwarding; when the CDN nodes 101, 102, 103 are software, they may be installed in the above-mentioned various terminal devices and servers, and they may be implemented as a plurality of software or software modules, or may be implemented as a single software or software module, which is not specifically limited herein. When the streaming media center 105 is hardware, it may be implemented as a distributed server cluster formed by a plurality of servers, or may be implemented as a single server; when the server is software, the server may be implemented as a plurality of software or software modules, or may be implemented as a single software or software module, which is not particularly limited herein.
The CDN nodes 101, 102, 103 may provide various services through various built-in applications, taking a live broadcast application that provides playing of live broadcast content as an example, the CDN nodes 101, 102, 103 may achieve the following effects when running the live broadcast application: first, a streaming media data transmission channel for transmitting streaming media data is established with a streaming media center 105 through a network 104, and when it is determined that the streaming media data meets a preset jitter condition, a restart instruction is generated, and based on the restart instruction, the data transmission channel with the streaming media center is controlled to be disconnected, and a new data transmission channel with the streaming media center is re-established.
It should be understood that the number of CDN nodes 101, 102, 103 and streaming media center 105 in fig. 1 is merely illustrative. There may be any number of CDN nodes, networks, and streaming media centers, as desired for implementation.
Referring to fig. 2, fig. 2 is a flowchart of a control method of a content distribution network according to an embodiment of the disclosure, where the flowchart 200 includes the following steps:
in step 201, a data transmission channel is established with a streaming media center.
In the present embodiment, a data transmission channel for transmitting streaming media data with a streaming media center is established by an execution body of a control method of a content delivery network (e.g., CDN nodes 101, 102, 103 shown in fig. 1).
It should be noted that, the establishment of the data transmission channel with the streaming media center may be initiated by the execution body, or may be initiated by the streaming media center, in which case, after the execution body receives the data transmission channel establishment request, the data transmission channel for transmitting the streaming media data is established between the execution body and the streaming media center.
Step 202, determining that the streaming media data meets a preset jitter condition.
In this embodiment, after the data transmission channel is established with the streaming media center based on the step 201, the executing body performs data transmission with the streaming media center through the data transmission channel, obtains corresponding streaming media data, and detects whether jitter exists in the received streaming media data, and whether the jitter degree meets a preset jitter condition.
The jitter condition of the streaming media data comprises: whether the number of received files in unit time is lower than the theoretical standard number, whether the time required for receiving two pieces of reference data exceeds the theoretical time, whether the theoretical time is exceeded for a certain period of time, and the like.
Step 203, a restart instruction is generated, and based on the restart instruction, the data transmission channel between the data transmission channel and the streaming media center is controlled to be disconnected, and a new data transmission channel between the data transmission channel and the streaming media center is reestablished.
In this embodiment, when it is determined in step 202 that the streaming media data meets the preset jitter condition, after a corresponding restart instruction is generated, the restart instruction may be sent to the streaming media center to disconnect the data transmission channel between the current streaming media center and the streaming media center, and then a new data transmission channel between the current streaming media center and the streaming media data is reestablished.
After generating the restart instruction, the execution body may control the execution body to disconnect the current data transmission channel according to the restart instruction, and then send a new data transmission channel request locally through the execution body and/or to the streaming media center to establish a new data transmission channel between the execution body and the streaming media data.
According to the control method of the content delivery network, when the CDN node in the content delivery network CDN receives streaming media data to generate jitter, a new data transmission channel between the CDN node and the streaming media center can be automatically reestablished to replace a data transmission channel with transmission blocking in the prior art, so that the problem that the CDN node receives the streaming media data to generate jitter is solved, stability of the CDN receiving the streaming media data is facilitated to be improved, and viewing experience of downstream users is improved.
In some optional implementations of this embodiment, further to improve the use experience of the downstream client in the CDN network for the user, to attach the actual use experience of the user, determining whether the streaming media data meets the preset jitter condition according to the feedback information on the client side may include: receiving instruction information from a client; based on the instruction information, it is determined that the streaming media data satisfies the preset jitter condition.
Specifically, instruction information from the client is received, where the instruction information may be katon instruction information directly generated by a user according to a judgment standard of a preset jitter condition, or parameter information of the streaming media data may be received at the client side, and exemplary may be frame information received in unit time, etc., and after receiving the instruction information, the execution body may correspondingly determine whether the streaming media data meets the preset jitter condition.
In some optional implementations of the present embodiments, controlling to disconnect a data transmission channel with a streaming media center based on a restart instruction, and reestablishing a new data transmission channel with the streaming media center includes: and in response to the acquisition of a plurality of restarting instructions in a preset time period, controlling to disconnect the data transmission channel between the restarting instruction and the streaming media center, and reestablishing a new data transmission channel between the restarting instruction and the streaming media center.
Specifically, a corresponding preset time period can be preset according to an actual detection requirement, so that continuous detection of the data transmission condition of the CDN node and the streaming media center is realized, when a plurality of restarting instructions are continuously acquired in the preset time period, the fact that the transmission connection between the CDN node and the streaming media center is blocked is determined, the control is performed to disconnect the data transmission channel between the CDN node and the streaming media center, and a new data transmission channel between the streaming media center is reestablished, so that the fact that the data transmission channel between the CDN node and the streaming media center is reestablished due to the fact that an error detection result caused by single errors possibly exists is avoided, and the impact resistance and reliability of a system formed by the CDN node and the streaming media center are improved.
Referring to fig. 3, fig. 3 is a flowchart of another control method of a content distribution network according to an embodiment of the disclosure, where the flowchart 300 includes the following steps:
step 301, a data transmission channel is established with a streaming media center.
At step 302, at least two streaming media segments are extracted from the streaming media data.
In this embodiment, at least two streaming media fragments are obtained from the streaming media data, and the extracted streaming media fragments may be in the same complete streaming media file or in two different complete streaming media files, and after determining at least two streaming media fragments, parameter information of the streaming media fragments is extracted.
Optionally, in order to ensure the viewing experience of the complete streaming media file in the streaming media data, it is preferable to extract at least two streaming media fragments from the same streaming media file, so as to achieve the purpose of detecting the playing quality of the complete streaming media file.
Step 303, determining a first time difference between every two at least two streaming media segments.
In this embodiment, a first time difference between every two streaming media segments is determined according to the obtained parameter information of the streaming media segments, where the first time difference is a time difference between the played contents corresponding to the two segments.
In some optional implementations of this embodiment, in order to achieve the purpose of conveniently and accurately obtaining the first time difference while considering the generation efficiency and accuracy of the first time difference, a manner of determining the first time difference between two or more streaming media segments may be: respectively acquiring a first time stamp corresponding to the first streaming media fragment and a second time stamp corresponding to the second streaming media fragment; the difference between the first time stamp and the second time stamp is determined as the first time difference.
Step 304, determining an actual time when at least two streaming media fragments are received, and determining a second time difference between the actual times of the at least two streaming media fragments.
In this embodiment, the actual time of receiving the at least two streaming media segments is determined, where the actual time may be determined based on the recording time of the execution body actually receiving each streaming media segment, and after determining that the actual time of obtaining the streaming media segments is reached, a second time difference between two actual times of each streaming media segment is determined according to the obtained actual time.
It should be understood that the second time difference in the combined form of all the different streaming media segments may not be calculated here, but the second time difference in the combined form of the streaming media segments with the first time difference generated in step 303 needs to be calculated.
In step 305, it is determined that the streaming media data satisfies the preset jitter condition based on the second time difference and the first time difference.
In this embodiment, whether the streaming media data meets the preset jitter condition is determined according to the relationship between the first time difference and the second time difference in the combination of the same different streaming media segments determined in the steps 304 and 305, where the preset jitter condition may be set according to parameters such as the actual transmission capability, the experience tolerance of the user, and the like, and, for example, when the second time difference is higher than the preset time of the first time difference or exceeds the preset multiple of the first time difference, it is determined that the streaming media data meets the preset jitter condition.
Step 306, generating a restart instruction, controlling to disconnect the data transmission channel with the streaming media center based on the restart instruction, and reestablishing a new data transmission channel with the streaming media center.
Steps 301 and 306 are identical to steps 201 to 202 shown in fig. 2, and the same parts are referred to the corresponding parts of the previous embodiment, and will not be described again here.
The present embodiment further provides a way to determine whether the streaming media data satisfies the jitter condition based on the embodiment shown in fig. 2, so as to further provide efficiency of generating the determination result under the condition of ensuring the quality of the determination result.
In some optional implementations of this embodiment, the streaming media data comprises streaming media video, at least one of the at least two streaming media segments comprises a start frame of the streaming media video and at least another of the at least two streaming media segments comprises an end frame of the streaming media video.
Specifically, when the streaming media data is composed of at least one streaming media video, when determining the streaming media fragments, at least the start frame and the end frame of the complete streaming media video are determined as the streaming media fragments for determining that the streaming media data meets the preset jitter condition, so as to realize complete detection of the transmission condition of the complete streaming media video, not only can the detection efficiency of whether the streaming media data meets the preset jitter condition be improved, but also the integrity of the streaming media video obtained by a user can be considered, the situation that the content of the streaming media video is segmented due to restarting in the transmission process of the complete streaming media video is avoided, and the user experience of the user at the client side is affected.
Referring to fig. 4, fig. 4 is a flowchart of another control method of a content distribution network according to an embodiment of the disclosure, where the flowchart 400 includes the following steps:
in step 401, a data transmission channel is established with a streaming media center.
Step 402, determining that the streaming media data satisfies a preset jitter condition.
The above steps 401 to 402 are identical to the steps 201 to 202 shown in fig. 2, and the same parts are referred to the corresponding parts of the previous embodiment, and will not be described herein again.
Step 403, obtaining the setup time of the data transmission channel.
In this embodiment, the time for establishing the data transmission channel in which the execution body and the streaming media center currently perform communication is obtained.
And step 404, in response to the time length of the current time of the time interval being established exceeding the preset time length, the data transmission channel between the data transmission channel and the streaming media center is controlled to be disconnected, and a new data transmission channel between the data transmission channel and the streaming media center is reestablished.
In this embodiment, after the time of establishing the data transmission channel determined in step 403 exceeds the current time by a preset period, the data transmission channel between the data transmission channel and the streaming media center is further controlled to be disconnected, and a new data transmission channel between the data transmission channel and the streaming media center is re-established.
Based on the embodiments shown in fig. 2 and/or fig. 3, the present embodiment further determines that the setup time of the data transmission channel currently used for the communication between the execution body and the streaming media center satisfies the preset time condition, and then performs an operation of reestablishing a new data transmission channel between the execution body and the streaming media center, so as to avoid blocking data transmission caused by frequent setup of the new data transmission channel between the execution body and the streaming media center.
In some optional implementations of this embodiment, further comprising: and generating notification information in response to the time length of the current time of the establishment time interval not exceeding the preset time length, and not responding to the restarting instruction.
Specifically, when it is determined that the duration of the current time of the time interval is not longer than the preset duration, corresponding notification information is generated to inform that the operation of reestablishing the new data transmission channel between the execution and the streaming media center is not suitable, and the generated restarting instruction is not responded, so that the problem that the data transmission is blocked due to frequent establishment of the new data transmission channel between the execution main body and the streaming media center is avoided.
On the basis of any of the foregoing embodiments, since the content delivery network CDN is generally provided with multi-level CDN nodes, in order to ensure that each CDN node in the content delivery network CDN is in a condition that can normally receive streaming media data, stability and availability of the entire content delivery network CDN are ensured, and the CDN nodes can be preset as CDN nodes with priority specified in the CDN, so as to monitor and adjust the CDN nodes with priority specified in order to achieve the foregoing objective.
Further, in some optional implementations, since the content delivery network CDN is generally provided with a plurality of levels of CDN nodes, in order to ensure that the entire content delivery network CDN can continuously receive the streaming media data from the streaming media center, the CDN node is preferably set as the CDN node of the uppermost layer in the content delivery network CDN.
For further understanding, the disclosure also provides a specific implementation scheme in combination with a specific application scenario.
After the uppermost CDN node in the content delivery network CDN establishes a data transmission channel for transmitting streaming media data with the streaming media center, the CDN node continuously transmits streaming media data.
The start frame A1 and the end frame A2 belonging to the streaming video a are extracted from the streaming data.
The first time difference between the start frame A1 and the end frame A2 is determined to be 120s based on the time stamp information of each of the start frame A1 and the end frame A2.
The actual time of receiving the start frame A1 is determined to be 3:21, and the actual time of receiving the end frame A2 is determined to be 6:02, a second time difference between the start frame A1 and the end frame A2 is determined to be 161s.
The preset jitter condition is set such that when the ratio of the first time difference to the second time difference is less than 80%, the preset jitter condition is considered to be satisfied, and the ratio between the first time difference and the second time difference obtained this time is determined to be about 75% and less than 80% according to the preset jitter condition, so that it is determined that the streaming media data satisfies the preset jitter condition.
And generating a restarting instruction, controlling to disconnect the data transmission channel between the restarting instruction and the streaming media center, and reestablishing a new data transmission channel between the restarting instruction and the streaming media center.
In the application scenario, it can be seen that when the uppermost CDN node in the content delivery network CDN receives the streaming media data to generate jitter, a new data transmission channel between the uppermost CDN node and the CDN node streaming media center can be automatically re-established to replace a data transmission channel having transmission blocking in advance, so as to solve the problem that the CDN node receives the streaming media data to generate jitter.
With further reference to fig. 5, as an implementation of the method shown in the foregoing figures, the present disclosure provides an embodiment of a control apparatus of a content delivery network, where the apparatus may be applied to a CDN node in a content delivery network CDN, and the embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 2, and the apparatus may be specifically applied to various electronic devices.
As shown in fig. 5, the control device 500 of the content distribution network of the present embodiment may include: a transmission channel establishment unit 501, a jitter monitoring unit 502, and a restart control unit 503. Wherein, the transmission channel establishment unit 501 is configured to establish a data transmission channel with the streaming media center, wherein the data transmission channel is used for transmitting streaming media data; a jitter monitoring unit 502 configured to determine that the streaming media data satisfies a preset jitter condition; a restart control unit 503 configured to generate a restart instruction, and control disconnection of the data transmission channel with the streaming center based on the restart instruction, and reestablish a new data transmission channel with the streaming center.
In the present embodiment, in the control apparatus 500 of the content distribution network: the specific processing and technical effects of the transmission channel establishment unit 501, the jitter monitoring unit 502, and the restart control unit 503 may refer to the relevant descriptions of steps 201-203 in the corresponding embodiment of fig. 2, and are not repeated here.
In some alternative implementations of the present embodiment, the jitter monitoring unit 502 includes: a streaming media segment acquisition subunit configured to extract at least two streaming media segments from the streaming media data; a first time difference generating subunit configured to determine a first time difference between the at least two streaming media segments; a second time difference generation subunit configured to determine an actual time when the at least two streaming media segments are received, and determine a second time difference between the actual times of the at least two streaming media segments; and a jitter condition generation subunit configured to determine, based on the second time difference and the first time difference, that the streaming media data satisfies the preset jitter condition.
In some alternative implementations of the present embodiment, the jitter monitoring unit 502 includes: an instruction receiving subunit configured to receive instruction information from the client; and a jitter condition generation subunit configured to determine, based on the instruction information, that the streaming media data satisfies the preset jitter condition.
In some optional implementations of the present embodiment, the first time difference generating subunit includes: the time stamp obtaining module is configured to obtain a first time stamp corresponding to the first streaming media fragment and a second time stamp corresponding to the second streaming media fragment respectively; a first time difference acquisition module configured to determine a difference between the first time stamp and the second time stamp as the first time difference.
In some optional implementations of this embodiment, the restart control unit 503 is further configured to control disconnection of the data transmission channel with the streaming media center and reestablishment of a new data transmission channel with the streaming media center in response to obtaining a plurality of restart instructions within a preset period of time.
In some optional implementations of the present embodiment, the restart control unit 503 includes: a setup time acquisition subunit configured to acquire a setup time of the data transmission channel; and the restarting control subunit is configured to control to disconnect the data transmission channel between the streaming media center and reestablish a new data transmission channel between the streaming media center in response to the time length of the current time of the establishment time interval exceeding the preset time length.
In some optional implementations of this embodiment, the restart control subunit is further configured to generate the notification information in response to the duration of the current time of the setup interval not exceeding the preset duration, and not in response to the restart instruction.
In some optional implementations of this embodiment, the streaming media data comprises streaming media video, at least one of the at least two streaming media segments comprises a start frame of the streaming media video and at least another of the at least two streaming media segments comprises an end frame of the streaming media video.
In some optional implementations of this embodiment, the CDN node is a CDN node in the CDN having a preset priority that is a specified priority.
In some optional implementations of this embodiment, the CDN node of the specified priority is an uppermost CDN node in the content delivery network.
The embodiment exists as an embodiment of the device corresponding to the embodiment of the method, and when the CDN node in the content delivery network CDN receives the streaming media data to generate jitter, the control device of the content delivery network provided by the embodiment can automatically reestablish a new data transmission channel with the CDN node streaming media center to replace a data transmission channel with transmission katon in the prior art, so as to solve the problem of jitter generated when the CDN node receives the streaming media data, thereby being convenient for improving the stability of receiving the streaming media data by the CDN and improving the viewing experience of downstream users.
According to an embodiment of the present disclosure, the present disclosure further provides an electronic device including: at least one processor; and a memory communicatively coupled to the at least one processor; the memory stores instructions executable by the at least one processor to enable the at least one processor to implement a control method for any one of the content distribution networks described above when executed.
According to an embodiment of the present disclosure, there is also provided a readable storage medium storing computer instructions for enabling a computer to implement a control method of any one of the content distribution networks described above when executed.
The disclosed embodiments provide a computer program product which, when executed by a processor, enables a control method of any one of the content distribution networks described above.
Fig. 6 illustrates a schematic block diagram of an example electronic device 600 that may be used to implement embodiments of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 6, the apparatus 600 includes a computing unit 601 that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 602 or a computer program loaded from a storage unit 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 may also be stored. The computing unit 601, ROM 602, and RAM 603 are connected to each other by a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
Various components in the device 600 are connected to the I/O interface 605, including: an input unit 606 such as a keyboard, mouse, etc.; an output unit 607 such as various types of displays, speakers, and the like; a storage unit 608, such as a magnetic disk, optical disk, or the like; and a communication unit 609 such as a network card, modem, wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The computing unit 601 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 601 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the respective methods and processes described above, for example, a control method of a content distribution network. For example, in some embodiments, the control method of the content distribution network may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 608. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 600 via the ROM 602 and/or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the computing unit 601, one or more steps of the control method of the content distribution network described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the control method of the content distribution network in any other suitable way (e.g. by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the internet.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also called a cloud computing server or a cloud host, and is a host product in a cloud computing service system, so as to solve the defects of large management difficulty and weak service expansibility in the traditional physical host and virtual private server (VPS, virtual Private Server) service. Servers may also be divided into servers of a distributed system or servers that incorporate blockchains.
According to the technical scheme of the embodiment of the disclosure, when the CDN node in the content delivery network CDN receives the streaming media data to generate jitter, a new data transmission channel between the CDN node and the streaming media center can be automatically reestablished to replace a data transmission channel with transmission blocking in the prior art, so that the problem of jitter generated when the CDN node receives the streaming media data is solved, the stability of the CDN receiving the streaming media data is conveniently improved, and the watching experience of a downstream user is improved.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure may be performed in parallel, sequentially, or in a different order, provided that the desired results of the technical solutions provided by the present disclosure are achieved, and are not limited herein.
The above detailed description should not be taken as limiting the scope of the present disclosure. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present disclosure are intended to be included within the scope of the present disclosure.

Claims (23)

1. A control method of a content delivery network is applied to CDN nodes in the content delivery network CDN, and comprises the following steps:
establishing a data transmission channel between the CDN node local and a streaming media center, wherein the data transmission channel is used for transmitting streaming media data;
determining that the streaming media data meets a preset jitter condition;
generating a restarting instruction, controlling to disconnect the data transmission channel between the starting point and the streaming media center based on the restarting instruction, and sending a new data transmission channel request to the streaming media center locally through the CDN node and/or to reestablish the new data transmission channel between the starting point and the streaming media center.
2. The method of claim 1, wherein the determining that the streaming media data satisfies a preset jitter condition comprises:
extracting at least two streaming media fragments from the streaming media data;
determining a first time difference between every two streaming media fragments;
determining the actual time of receiving the at least two streaming media fragments, and determining a second time difference between every two actual times of the at least two streaming media fragments;
and determining that the streaming media data meets the preset jitter condition based on the second time difference and the first time difference.
3. The method of claim 1, wherein the determining that the streaming media data satisfies a preset jitter condition comprises:
receiving instruction information from a client;
and determining that the streaming media data meets the preset jitter condition based on the instruction information.
4. The method of claim 2, wherein the at least two streaming media segments comprise a first streaming media segment and a second streaming media segment, and the determining the first time difference between the at least two streaming media segments comprises:
respectively acquiring a first time stamp corresponding to the first streaming media fragment and a second time stamp corresponding to the second streaming media fragment;
a difference between the first timestamp and the second timestamp is determined as the first time difference.
5. The method of claim 1, wherein the controlling to disconnect the data transmission channel from the streaming media center and reestablish a new data transmission channel from the streaming media center based on the reboot command comprises:
and in response to the acquisition of a plurality of restarting instructions in a preset time period, controlling to disconnect the data transmission channel between the streaming media center and the data transmission channel, and reestablishing a new data transmission channel between the streaming media center and the data transmission channel.
6. The method of claim 1, wherein the controlling to disconnect the data transmission channel from the streaming media center and reestablish a new data transmission channel from the streaming media center based on the reboot command comprises:
acquiring the establishment time of the data transmission channel;
and in response to the time length of the current time of the time interval being established exceeding the preset time length, controlling to disconnect the data transmission channel between the streaming media center and reestablishing a new data transmission channel between the streaming media center.
7. The method of claim 6, further comprising:
and generating notification information in response to the time length of the current time of the time interval is not longer than the preset time length, and not responding to the restarting instruction.
8. The method of claim 2 or 4, wherein the streaming data comprises streaming video, at least one of the at least two streaming segments comprises a start frame of the streaming video and at least another of the at least two streaming segments comprises an end frame of the streaming video.
9. The method of claim 1 wherein the CDN nodes are CDN nodes of the CDN for which a preset priority is a specified priority.
10. The method of claim 9, wherein the priority-assigned CDN node is an uppermost CDN node in the content delivery network.
11. A control device of a content delivery network, applied to CDN nodes in a content delivery network CDN, comprising:
a transmission channel establishing unit configured to establish a data transmission channel between the CDN node local and a streaming media center, wherein the data transmission channel is used for transmitting streaming media data;
a jitter monitoring unit configured to determine that the streaming media data satisfies a preset jitter condition;
and the restarting control unit is configured to generate a restarting instruction, control to disconnect the data transmission channel between the restarting instruction and the streaming media center, and send a new data transmission channel request to the streaming media center locally through the CDN node and/or to reestablish a new data transmission channel between the starting control unit and the streaming media center.
12. The apparatus of claim 11, wherein the jitter monitoring unit comprises:
a streaming media segment acquisition subunit configured to extract at least two streaming media segments from the streaming media data;
a first time difference generating subunit configured to determine a first time difference between the at least two streaming media segments;
A second time difference generating subunit configured to determine an actual time when the at least two streaming media segments are received, and determine a second time difference between two actual times of the at least two streaming media segments;
and a jitter condition generation subunit configured to determine, based on the second time difference and the first time difference, that the streaming media data satisfies the preset jitter condition.
13. The apparatus of claim 11, wherein the jitter monitoring unit comprises:
an instruction receiving subunit configured to receive instruction information from the client;
and the jitter condition generation subunit is configured to determine that the streaming media data meets the preset jitter condition based on the instruction information.
14. The apparatus of claim 12, wherein the first time difference generation subunit comprises:
the time stamp obtaining module is configured to obtain a first time stamp corresponding to the first streaming media fragment and a second time stamp corresponding to the second streaming media fragment respectively;
a first time difference acquisition module configured to determine a difference between the first time stamp and the second time stamp as the first time difference.
15. The apparatus of claim 11, wherein the restart control unit is further configured to control disconnection of the data transmission channel with the streaming media center and re-establishment of a new data transmission channel with the streaming media center in response to acquisition of a plurality of restart instructions within a preset period of time.
16. The apparatus of claim 11, wherein the restart control unit comprises:
a setup time acquisition subunit configured to acquire a setup time of the data transmission channel;
and the restarting control subunit is configured to control the disconnection of the data transmission channel between the streaming media center and the reestablishment of a new data transmission channel between the streaming media center in response to the fact that the time length of the current time of the establishment time interval exceeds the preset time length.
17. The apparatus of claim 16, wherein the restart control subunit is further configured to generate notification information in response to the duration of the set-up interval current time not exceeding a preset duration and not in response to the restart instruction.
18. The apparatus of claim 12 or 14, wherein the streaming data comprises streaming video, at least one of the at least two streaming segments comprises a start frame of the streaming video and at least another of the at least two streaming segments comprises an end frame of the streaming video.
19. The apparatus of claim 11, wherein the CDN nodes are CDN nodes of the CDN for which a preset priority is a specified priority.
20. The apparatus of claim 19, wherein the priority-assigned CDN node is an uppermost CDN node in the content delivery network.
21. A content delivery network CDN control system, comprising:
CDN nodes configured to perform the control method of the content delivery network according to any of claims 1-10;
the streaming media center is configured to transmit streaming media data to the CDN node through a data transmission channel; and according to the input instruction, restarting the instruction to disconnect the data transmission channel, and reestablishing a new data transmission channel between the CDN node and the data transmission channel.
22. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of controlling a content distribution network according to any one of claims 1-10.
23. A non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the control method of the content distribution network of any one of claims 1-10.
CN202110410760.XA 2021-04-16 2021-04-16 Control method, device and computer program product of content distribution network Active CN113132758B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110410760.XA CN113132758B (en) 2021-04-16 2021-04-16 Control method, device and computer program product of content distribution network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110410760.XA CN113132758B (en) 2021-04-16 2021-04-16 Control method, device and computer program product of content distribution network

Publications (2)

Publication Number Publication Date
CN113132758A CN113132758A (en) 2021-07-16
CN113132758B true CN113132758B (en) 2023-05-12

Family

ID=76777193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110410760.XA Active CN113132758B (en) 2021-04-16 2021-04-16 Control method, device and computer program product of content distribution network

Country Status (1)

Country Link
CN (1) CN113132758B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113676746B (en) 2021-08-23 2022-08-05 北京百度网讯科技有限公司 Method, apparatus, device and medium for detecting live broadcast jitter

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101083604A (en) * 2007-07-18 2007-12-05 中兴通讯股份有限公司 Method for selecting and switching stream media server in content distributed network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100559776C (en) * 2005-01-20 2009-11-11 杨金钰 A kind of stream media system
CN100433660C (en) * 2006-09-30 2008-11-12 杭州华三通信技术有限公司 Method and equipment for realizing fast detection
CN102624584B (en) * 2012-03-01 2018-02-23 中兴通讯股份有限公司 Chain circuit detecting method and device
CN103051546B (en) * 2012-12-12 2015-07-08 中国科学院计算技术研究所 Delay scheduling-based network traffic conflict prevention method and delay scheduling-based network traffic conflict prevention system
US9922124B2 (en) * 2016-01-29 2018-03-20 Yogesh Rathod Enable user to establish request data specific connections with other users of network(s) for communication, participation and collaboration
CN106803967A (en) * 2017-02-13 2017-06-06 北京奇虎科技有限公司 A kind for the treatment of method and apparatus of live data
CN112153419A (en) * 2019-06-28 2020-12-29 北京字节跳动网络技术有限公司 Network resource configuration adjusting method, device, server and storage medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101083604A (en) * 2007-07-18 2007-12-05 中兴通讯股份有限公司 Method for selecting and switching stream media server in content distributed network

Also Published As

Publication number Publication date
CN113132758A (en) 2021-07-16

Similar Documents

Publication Publication Date Title
US10313452B2 (en) Migrating a chat message service provided by a chat server to a new chat server
WO2021237433A1 (en) Message pushing method and apparatus, and electronic device and computer-readable medium
WO2021134928A1 (en) Method, device, system and apparatus for p2p network-based data transmission, and medium
CN110166791B (en) Connection establishing method, device, equipment and storage medium
CN107645517B (en) Data pushing method and device
CN108243222A (en) Server network architecture method and device
CN104010228A (en) Apparatus and method for level-based self-adjusting peer-to-peer media streaming
CN113132758B (en) Control method, device and computer program product of content distribution network
CN106411713B (en) State notification method and server
US9088629B2 (en) Managing an electronic conference session
CN104243473B (en) A kind of method and device of data transmission
CN106657172A (en) Method and device for realizing information push
US11973824B2 (en) Method for data transmission of audio and video in end-to-end system
US20230063599A1 (en) Edge computing network, data transmission method and apparatus, device and storage medium
CN113420275B (en) Data connection processing method, related device and computer program product
US10462078B2 (en) Using signals extracted from a VOIP data stream to distinguish between network congestion and link losses
CN107979876B (en) Data transmission method and terminal
CN112953794B (en) Network detection method, device, equipment and storage medium of router
CN105007143A (en) Call preservation and recovery method and system
CN117675778B (en) Audio playing method, system, equipment and medium based on network broadcasting
CN108574622B (en) Instant message processing method and device based on XMPP
CN112866133A (en) Method and device for acquiring MSS (maximum segment size) in common
CN113783769B (en) Method and device for transmitting message in automatic driving and relay equipment
CN113014961A (en) Video pushing and transmitting method, visual angle synchronizing method and device and storage medium
CN116527950A (en) Live streaming method, edge node, platform, electronic 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