CN111050188B - Data stream scheduling method, system, device and medium - Google Patents

Data stream scheduling method, system, device and medium Download PDF

Info

Publication number
CN111050188B
CN111050188B CN201911407070.8A CN201911407070A CN111050188B CN 111050188 B CN111050188 B CN 111050188B CN 201911407070 A CN201911407070 A CN 201911407070A CN 111050188 B CN111050188 B CN 111050188B
Authority
CN
China
Prior art keywords
server
data
stream
source server
source
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
CN201911407070.8A
Other languages
Chinese (zh)
Other versions
CN111050188A (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.)
Guizhou Baishancloud Technology Co Ltd
Original Assignee
Guizhou Baishancloud 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 Guizhou Baishancloud Technology Co Ltd filed Critical Guizhou Baishancloud Technology Co Ltd
Priority to CN201911407070.8A priority Critical patent/CN111050188B/en
Publication of CN111050188A publication Critical patent/CN111050188A/en
Application granted granted Critical
Publication of CN111050188B publication Critical patent/CN111050188B/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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints

Abstract

The invention provides a data flow scheduling method, a device and a system. To content distribution networks; the problems of resource waste, cost increase and low efficiency caused by traversing the source server are solved. The method comprises the following steps: a dispatching center server receives a notification sent by a source server, wherein the notification carries information of stream data issued by the source server; the dispatching center server records and maintains the corresponding relation between the source server and the stream data issued by the source server; and the dispatching center server provides the corresponding relation between the stream data and the source server to at least one server in each layer of the CDN. The technical scheme provided by the invention realizes the consistency guarantee of the push-pull data stream source server with efficiency and reliability.

Description

Data stream scheduling method, system, device and medium
The application is a divisional application of a Chinese patent application with the name of 'a data stream scheduling method, device and system' filed by the patent office of the intellectual property office of China on 09.03.7.2017. 201710138373.9.
Technical Field
The present invention relates to a Content Delivery Network (CDN), and in particular, to a method, a system, a device, and a medium for scheduling data streams in the CDN.
Background
Live broadcast is one of the most fierce applications at present, and aims at users with live broadcast requirements, and online communication and interaction of audio, video, desktop sharing, document sharing, interaction links and the like are established on the internet by utilizing the internet (or a private network) and an advanced multimedia communication technology. Taking live video as an example, the anchor locally pushes the content which is live in real time to the server (push streaming), and the audience acquires the live content which is pushed to the server by the anchor in real time from the server (pull streaming), so that the aim of interaction between the anchor and the audience is finally achieved.
In order to meet the requirement of efficient content distribution, a live broadcast platform is usually accelerated by using a Content Distribution Network (CDN), so that a user can obtain required content as close as possible, thereby reducing response time and improving real-time performance of interaction.
In a live broadcast CDN acceleration application scene, a main broadcast pushes a stream to a live broadcast source server through an edge node, and audiences acquire live broadcast content through the edge node.
Because the live broadcast source is generally composed of a plurality of clusters, and one cluster has a plurality of servers, how to ensure the consistency of the live broadcast source servers selected by the push streaming and the pull streaming becomes a key problem.
In the application scene of live transmission acceleration, a consistency hash strategy is generally adopted, specifically, a space capable of storing 2^32 times of keys can be imagined as a closed ring, all IPs of a live source server are generated into keys through a certain hash algorithm A, the keys are mapped onto the ring after processing, a stream (URL) is generated into a key1 through the hash algorithm A and is mapped onto the ring, the IP of the live source server closest to the key1 is found in the clockwise direction, and the same stream (URL) is used for push stream and pull stream to find the same live source server. However, the strategy has the disadvantages that when the live source server list is changed, the hash lists of the push stream and the pull stream are often asynchronous, and the live source servers selected by the push stream and the pull stream are inconsistent, so that the server is abnormal.
In order to solve the problem, in the prior art, generally, the live broadcast content is forwarded and pushed to a plurality of live broadcast source servers for backup, and when the live broadcast source servers selected by the pull stream and the push stream are not consistent, the backup live broadcast source servers are continuously traversed until the stream data is found. However, on one hand, the bearing capacity of the live broadcast source server is reduced, resource waste is caused, and cost is greatly increased, and on the other hand, the response time is too long due to the fact that the live broadcast source server is traversed at a high probability, and live broadcast service cannot be guaranteed.
Disclosure of Invention
The present invention aims to solve the above-described problems and provides a data flow scheduling method, apparatus and system.
According to a first aspect of the present invention, a data flow scheduling method, which is applicable to a content delivery network CDN, includes:
when any server in each layer of the CDN receives a request for accessing the stream data, determining a source server for delivering the stream data according to the instruction of a scheduling center server;
and acquiring the streaming data from the source server.
Preferably, when any server in each tier of the CDN receives a request for accessing streaming data, determining, according to an instruction of the scheduling center server, an origin server that delivers the streaming data includes:
inquiring the source server issuing the streaming data from the dispatch center server according to the request, or,
and searching a source server for issuing the stream data from a stream record which is locally stored and acquired from the dispatching center server, wherein the stream record comprises the corresponding relation between the stream data and the source server for issuing the stream data.
Preferably, the querying the source server issuing the streaming data to the dispatch center server according to the request includes:
the method comprises the steps that an edge server receives a request for accessing streaming data, selects a transfer server and forwards the request to the transfer server, and the transfer server inquires a source server for issuing the streaming data from a dispatching center server according to the request; or the like, or, alternatively,
and the edge server inquires a source server for issuing the streaming data from the dispatching center server according to the request.
Preferably, the method further comprises:
and receiving the flow record synchronized by the dispatching center server by at least one server in each hierarchy of the CDN.
According to another aspect of the present invention, a method for scheduling data streams, the method being applicable to a CDN and including:
the source server receives streaming data pushing;
and the source server informs the dispatching center server that the stream data is pushed to the source server so that the dispatching center server can record the corresponding relation between the stream data and the source server.
According to another aspect of the present invention, a method for scheduling data streams, the method being applicable to a CDN and including:
a dispatching center server receives a notification sent by a source server, wherein the notification carries information of stream data issued by the source server;
the dispatching center server records and maintains the corresponding relation between the source server and the stream data issued by the source server;
and the dispatching center server provides the corresponding relation between the stream data and the source server to at least one server in each layer of the CDN.
Preferably, the step of providing, by the scheduling center server, the correspondence between the stream data and the source server to at least one server in each tier of the CDN specifically includes:
and the dispatching center server synchronizes the flow records to at least one server in each layer of the CDN according to preset synchronization time.
Preferably, the providing, by the scheduling center server, the flow record to at least one server in each tier of the CDN includes:
the scheduling center server receives a source server request for inquiring and releasing streaming data sent by any server in each layer of the CDN;
the dispatch center server looks up the flow record, sends a notification to the server containing an indication of the origin server, or,
sending the stream record to the server.
According to another aspect of the present invention, a data flow scheduling apparatus is applicable to a CDN, and the apparatus includes:
the scheduling client module is used for determining a source server for issuing the streaming data according to the instruction of the scheduling center server when receiving a request for accessing the streaming data;
and the data pulling module is used for acquiring the streaming data from the source server.
Preferably, the scheduling client module includes at least one of:
the query unit is used for querying a source server which issues corresponding stream data to the dispatching center server according to the request;
and the searching unit is used for searching a source server for issuing corresponding stream data from a stream record which is locally stored and acquired from the dispatching center server, wherein the stream record comprises the corresponding relation between the stream data and the source server for issuing the corresponding stream data.
Preferably, the scheduling client module includes a searching unit and a querying unit, and when the source server of the corresponding streaming data cannot be found by the searching unit, the source server of the streaming data is queried by the querying unit.
Preferably, the scheduling client module further includes:
and the transit server selecting unit is used for selecting a transit server after receiving the request for accessing the streaming data and forwarding the request to the transit server.
According to another aspect of the present invention, a data flow scheduling apparatus is applicable to a CDN, and the apparatus includes:
the push receiving module is used for receiving the push of the streaming data;
and the notification module is used for notifying the dispatching center server that the stream data is pushed to the source server so that the dispatching center server can record the corresponding relation between the stream data and the source server.
According to another aspect of the present invention, a data flow scheduling apparatus is applicable to a CDN, and the apparatus includes:
the system comprises a data collection module, a source server and a server, wherein the data collection module is used for receiving a notification sent by the source server, and the notification carries information of stream data issued by the source server;
the scheduling management module is used for recording and maintaining the corresponding relation between the source server and the stream data issued by the source server;
and the synchronization module is used for providing the corresponding relation between the stream data and the source server for at least one server in each layer of the CDN.
Preferably, the synchronization module includes:
the timing synchronization unit is used for synchronizing the stream record to at least one server in each hierarchy of the CDN according to preset synchronization time;
a query unit, configured to, when the data collection module receives a source server request for querying delivery stream data sent by any server in each tier of the CDN, search the stream record, send a notification including an indication of the source server to the server, or,
and issuing the stream record to the server.
According to another aspect of the present invention, a data flow scheduling system is applicable to a CDN, and includes a scheduling center server, an origin server, and at least one server in each tier of the CDN;
the scheduling center server is configured to receive a notification that is sent by the source server and carries information of stream data issued by the source server, record and maintain a correspondence between the source server and the stream data issued by the source server, and provide the correspondence between the stream data and the source server to at least one server in each tier of the CDN;
the source server is used for receiving streaming data pushing and informing the dispatching center server that the streaming data is pushed to the source server so that the dispatching center server can record the corresponding relation between the streaming data and the source server;
and at least one server in each layer of the CDN, configured to determine, according to an instruction of the scheduling center server, an origin server that delivers the streaming data when receiving a request for accessing the streaming data, and acquire the streaming data from the origin server.
The invention provides a data stream scheduling method, a device and a system, wherein a scheduling center server for specially managing data stream scheduling is added, and the scheduling center server performs data interaction with a source server in a CDN (content delivery network) and each layered server, so that a guarantee scheme for consistency of pushing and pulling data stream source servers with efficiency and reliability is realized. After the source server receives the streaming data and finishes pushing, the source server informs a dispatching center server that the streaming data is pushed to the source server; the method comprises the steps that a dispatching center server receives a notification sent by a source server, records the corresponding relation between the source server and stream data issued by the source server, and synchronizes the corresponding relation between the stream data and the source server to at least one server in each layer of the CDN; and when any server in each layer of the CDN receives a request for accessing the stream data, determining a source server for delivering the stream data according to the instruction of the dispatching center server, and acquiring the stream data from the source server. The condition that the source server stores the streaming data is accurately managed through the dispatching center server, and the problems of resource waste, cost increase and low efficiency caused by traversing the source server are solved.
Other characteristic features and advantages of the invention will become apparent from the following description of exemplary embodiments, which is to be read in connection with the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. In the drawings, like reference numerals are used to indicate like elements. The drawings in the following description are directed to some, but not all embodiments of the invention. For a person skilled in the art, other figures can be derived from these figures without inventive effort.
Fig. 1 schematically shows an architecture of a data flow scheduling system according to an embodiment of the present invention;
fig. 2 exemplarily shows a structure of a data flow scheduling apparatus according to a first embodiment of the present invention;
fig. 3 exemplarily shows a structure of still another data flow scheduling apparatus provided in a first embodiment of the present invention;
fig. 4 exemplarily shows a structure of still another data flow scheduling apparatus provided in a first embodiment of the present invention;
fig. 5 exemplarily shows a flow of a data stream scheduling method provided by the second embodiment of the present invention;
fig. 6 exemplarily shows an architecture of a data flow scheduling system provided by a third embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. 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 invention. It should be noted that the embodiments and features of the embodiments in the present application may be arbitrarily combined with each other without conflict.
When live source servers selected by pull streaming and push streaming are not consistent, on one hand, the bearing capacity of the live source server is reduced by using a mode of traversing the backup live source server until stream data is found, so that the resource waste is caused, the cost is greatly increased, on the other hand, the response time is too long due to the fact that the live source server is traversed at a high probability, and the live service cannot be guaranteed.
In order to solve the above problem, embodiments of the present invention provide a method, an apparatus, and a system for scheduling data streams. Embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
First, a first embodiment of the present invention will be described with reference to the drawings.
The embodiment of the invention provides a data flow scheduling system, which is suitable for a CDN (content delivery network), the architecture of the system is shown in FIG. 1, and the system comprises a scheduling center server 101, an origin server 102 and at least one server 103 in each hierarchy of the CDN;
the scheduling center server 101 is configured to receive a notification that is sent by the source server 102 and carries information of stream data issued by the source server 102, record a correspondence between the source server 102 and the stream data issued by the source server 102, and provide the correspondence between the stream data and the source server 102 to at least one server 103 in each tier of the CDN;
the source server 102 is configured to receive streaming data push, and notify the scheduling center server 101 that the streaming data is pushed to the source server 102, so that the scheduling center server 101 records a corresponding relationship between the streaming data and the source server 102;
at least one server 103 in each tier of the CDN, configured to determine, according to an instruction of the scheduling center server 101, an origin server 102 that delivers the streaming data when receiving a request for accessing the streaming data, and acquire the streaming data from the origin server 102.
The CDN comprises at least one layer of server or server cluster, preferably, the CDN comprises an edge server and a transit server, and the transit server may be a parent server.
Preferably, the CDN comprises a parent server tier and an edge server tier. That is, the CDN comprises two tiers of servers.
The embodiment of the present invention further provides a data flow scheduling device, which is suitable for a CDN, and can be integrated on any server in each layer of the CDN, and the server executes a corresponding function, where the structure of the device is shown in fig. 2, and the device includes:
the scheduling client module 201 is configured to, when receiving a request for accessing the streaming data, determine a source server that issues the streaming data according to an instruction of the scheduling center server;
and the data pulling module 202 is configured to obtain the streaming data from the source server.
Preferably, the scheduling client module 201 includes at least one of the following:
the query unit 2011 is configured to query, according to the request, the scheduling center server for a source server that issues corresponding streaming data;
the searching unit 2012 is configured to search a locally stored stream record obtained from the scheduling center server for a source server that issues corresponding stream data, where the stream record includes a correspondence between a stream and the source server that issues the corresponding stream data.
Preferably, the scheduling client module 201 further includes:
a transit server selecting unit 2013, configured to, after receiving the request for accessing the streaming data, select a transit server, and forward the request to the transit server. The function of this unit can also be implemented by other modules on the server than the data stream scheduling device.
The scheduling client module 201 may be loaded on any server in each layer of the CDN in a client form, for example, as a scheduling client; preferably, the scheduling client may be fully configured on top of each tier of servers in the CDN.
An embodiment of the present invention further provides a data flow scheduling apparatus, which is suitable for a CDN, and may be integrated on an origin server, where the origin server executes a corresponding function, and a structure of the apparatus is shown in fig. 3, where the apparatus includes:
the push receiving module 301 is configured to receive streaming data push;
the scheduling client module 302 is configured to notify the scheduling center server that the streaming data has been pushed to the source server, so that the scheduling center server records a corresponding relationship between the streaming data and the source server.
An embodiment of the present invention further provides a data stream scheduling apparatus, which is suitable for a CDN, and may be integrated on a scheduling center server, where the scheduling center server executes a corresponding function, and a structure of the apparatus is shown in fig. 4, and includes:
a data collection module 401, configured to receive a notification sent by a source server, where the notification carries information of stream data issued by the source server;
a scheduling management module 402, configured to record and maintain a correspondence between the source server and stream data issued by the source server;
a synchronization module 403, configured to provide a corresponding relationship between the stream data and the source server to at least one server in each tier of the CDN.
Preferably, the scheduling management module 402 is specifically configured to maintain a flow record, where the flow record includes a correspondence between an origin server and flow data issued by the origin server.
Preferably, the synchronization module 403 includes:
a timing synchronization unit 4031, configured to synchronize the stream record to at least one server in each tier of the CDN according to preset synchronization time;
a query unit 4032, configured to, when the data collection module receives a source server request for querying delivery stream data sent by any server in each tier of the CDN, search for the stream record, and send a notification including an indication of the source server to the server, or send the stream record to the server.
Specifically, the edge server is configured to: the method is directly connected with a client or a user, the client or the user is deployed all over the country, and when the client or the user requests, the edge server which is closest to the client or the user is selected for acceleration in the first kilometer or the last kilometer, so that the condition that the client or the user fails in request due to cross-operator and cross-regional access is avoided, and the live broadcast service quality is ensured.
The transit server (e.g., parent server) is configured to: the method is directly connected with the edge server and the source server, is deployed in part of important areas, has fewer transit servers than the edge server, is used for stream aggregation, reduces the number of source return connections, relieves the bearing pressure of the source server, and ensures the stability of live broadcast service; the transit server is deployed in a pull stream scene, and a push stream scene is not deployed, because audiences of one stream can be thousands of, the audiences can be distributed all over the country, and if all edge servers pull back to the source server, the source server is easy to reach the server bottleneck, and the live broadcast service is influenced.
The source server is used for: connected to the edge server or transit server for storing streaming data, deployed only in some important areas, the origin server may be provided by the CDN operator or customer.
The dispatch center server is configured to: the method comprises the steps of interacting with a source server and a scheduling client, storing flow records, and deploying the flow records in a bgp machine room or a cluster according to actual use requirements; the source server informs the dispatching center server of the stream record, and the dispatching client synchronizes the stream record from the dispatching center server.
The scheduling client is used for: interacting with the dispatching center server, the edge server and the transit server, storing the flow record, and returning to the upstream IP dispatching, and deploying on the edge server and the transit server. The scheduling client can be arranged on any server except the source server in the CDN, and the server realizes the corresponding function.
Preferably, the scheduling center server may configure a dedicated domain name, and the scheduling client resolves a specific address of the scheduling center server through domain name resolution, so as to implement communication between servers in each layer in the CDN and the scheduling center server.
The second embodiment of the present invention will be described below with reference to the drawings.
An embodiment of the present invention provides a data flow scheduling method, where under a data flow scheduling system architecture provided in the first embodiment of the present invention, the method can ensure that consistency between source servers selected by push flow and pull flow is achieved quickly and efficiently, and a flow for completing data flow scheduling by using the method is shown in fig. 5, where the flow includes:
step 501, a source server receives streaming data pushing;
in this step, the source server receives stream data pushed by servers in the CDN such as the edge server, and stores the received stream data.
Step 502, the source server notifies the dispatch center server that the stream data has been pushed to the source server;
in this step, after the streaming data is pushed, the source server notifies the scheduling center server that the streaming data has been pushed to the source server, that is, the source server storing the streaming data is indicated, so that the scheduling center server records the correspondence between the streaming data and the source server.
Step 503, the dispatching center server receives the notification sent by the source server, and records and maintains the corresponding relationship between the source server and the stream data issued by the source server;
and carrying information of the streaming data issued by the source server in the notification.
In this step, the dispatching center server determines the corresponding relationship between the stream data and the source server according to the notification, and records the corresponding relationship. Preferably, the dispatch center server maintains (e.g., deletes, updates) a flow record, the flow record includes a correspondence between the source server and the flow data issued by the source server, and the correspondence is stored in the form of a flow record.
Step 504, the dispatching center server provides the corresponding relation between the stream data and the source server to at least one server in each layer of the CDN;
in this step, the scheduling center server may synchronize the stream record to at least one server in each of the tiers of the CDN according to a preset synchronization time, specifically, may be a periodic synchronization, may synchronize when the stream record changes (such as adding new content, deleting existing content, or modifying existing content) each time, and may also synchronize to the corresponding server according to a request of the server in the CDN. That is, the scheduling center server may actively synchronize the flow record to the server in the CDN, or the server in the CDN may actively obtain the flow record. The provision mode can be configured according to the network situation and the actual requirement.
Correspondingly, at least one server in each layer of the CDN receives the flow record that the scheduling center server actively synchronizes or should request for synchronization.
Step 505, when any server in each layer of the CDN receives a request for accessing streaming data, determining, according to an instruction of the scheduling center server, an origin server that delivers the streaming data;
when the CDN has multiple layers of servers or server clusters, for a received request, the outer-layer server forwards the request to a transit server of an adjacent inner layer, and pushes layer by layer until the innermost layer is reached, and the innermost-layer server is responsible for determining a corresponding origin server. For example, in the case of a CDN having two servers, i.e., a parent server tier and an edge server tier, after receiving a streaming data request, an edge server first selects an optimal parent server (e.g., a parent server "closest" to the edge server), forwards the request to the selected parent server, and the parent server is responsible for confirming an origin server.
There is no strict timing relationship between this step and step 504, that is, a server in the CDN may locally search and determine a source server that delivers stream data after having received a stream record synchronized by the scheduling center server; or may request the dispatch center server after receiving the streaming data request. Two cases are described below:
in case 1, a source server that issues the stream data is searched for from a stream record that is locally stored and acquired from the scheduling center server, where the stream record includes a correspondence between the stream data and the source server that issues the stream data.
And 2, inquiring the source server issuing the streaming data from the dispatching center server according to the request. Correspondingly, the scheduling center server receives a source server request for querying and delivering stream data, which is sent by any server in each layer of the CDN, searches for the stream record, sends a notification including an indication of the source server to the server, or sends the stream record to the server for server-owned query stream record confirmation. Under the scene that the CDN is provided with a father server layer and an edge server layer, the edge server receives a request for accessing streaming data, selects a father server and forwards the request to the father server, and the father server inquires a source server for releasing the streaming data from the scheduling center server according to the request; and under the condition that the CDN only has an edge server layer, the edge server inquires an origin server for delivering the streaming data from the dispatching center server according to the request.
Step 506, the server obtains the stream data from the source server.
The third embodiment of the present invention will be described below with reference to the accompanying drawings.
An embodiment of the present invention provides a data flow scheduling system, whose structure is shown in fig. 6, where a process of completing data scheduling in the system includes:
s1, the client pushes the stream (URL) to the edge server A according to the domain name resolution result.
And S2, the edge server A interacts with the scheduling client B, and the scheduling client B selects the source server C which is 'nearest' to the edge server A according to the region and the operator where the edge server A is located.
S3, the edge server a transmits the stream (URL) data to the origin server C.
S4, the source server C informs the dispatch center server D that the stream (URL) has been pushed to the source server C, and the dispatch center server D stores or updates the stream (URL) record.
S5-all scheduling clients synchronize stream records from the scheduling center server D at regular times.
S6, the user requests to access the flow (URL), and according to the domain name resolution result, the request reaches the edge server E.
And S7, the edge server E interacts with the scheduling client F, and the scheduling client F selects the parent server G which is 'nearest' to the edge server E according to the region and the operator where the edge server E is located.
S8, the edge server E sends the request to the parent server G.
S9, the father server G interacts with the dispatching client H to obtain the record of the flow (URL) and accurately find the source server C (preferably, the source is found by the edge server).
S10, the father server G and the source server C establish connection to obtain the stream (URL) data.
S11: the edge server E obtains the stream (URL) data (preferably, the edge server back source) from the parent server G.
The embodiment of the invention provides a data stream scheduling method, a device and a system, wherein a scheduling center server for specially managing data stream scheduling is added, and the scheduling center server performs data interaction with a source server in a CDN (content delivery network) and each layered server, so that a scheme for guaranteeing consistency of pushing and pulling data stream source servers with efficiency and reliability is realized. After the source server receives the streaming data and finishes pushing, the source server informs a dispatching center server that the streaming data is pushed to the source server; the method comprises the steps that a dispatching center server receives a notification sent by a source server, records the corresponding relation between the source server and stream data issued by the source server, and synchronizes the corresponding relation between the stream data and the source server to at least one server in each layer of the CDN; and when any server in each layer of the CDN receives a request for accessing the stream data, determining a source server for delivering the stream data according to the instruction of the dispatching center server, and acquiring the stream data from the source server. The condition that the source server stores the streaming data is accurately managed through the dispatching center server, and the problems of resource waste, cost increase and low efficiency caused by traversing the source server are solved.
The above-described aspects may be implemented individually or in various combinations, and such variations are within the scope of the present invention.
Finally, it should be noted that: the above examples are only for illustrating the technical solutions of the present invention, and are not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical 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 of the embodiments of the present invention.

Claims (9)

1. A method for scheduling data stream is suitable for CDN, and is characterized in that the method comprises:
the method comprises the steps that an origin server receives stream data pushed by any server in a CDN;
the source server informs a dispatching center server that the stream data is pushed to the source server, and the notification carries information of the stream data to be issued by the source server, so that the dispatching center server records the corresponding relation between the stream data and the source server in a stream recording manner;
the source server issues the streaming data.
2. The method of claim 1, wherein the method further comprises: and the source server stores the received streaming data.
3. The method of claim 1, wherein any server in the CDN comprises an edge server and a transit server.
4. The method of any of claims 1 to 3, wherein the origin server is provided by a CDN operator or a customer.
5. A method for scheduling data stream is suitable for CDN, and is characterized in that the method comprises:
the method comprises the steps that a dispatching center server receives a notification which is sent by a source server and carries information of stream data issued by the source server, the corresponding relation between the stream data and the source server is recorded in a stream recording storage mode, and the dispatching center server synchronizes the stream recording to at least one server in the CDN.
6. A method for scheduling data stream is suitable for CDN, and is characterized in that the method comprises:
when any server in the CDN receives a request for accessing stream data, determining a source server for delivering the stream data according to the corresponding relation between the stream data recorded by a scheduling center server and the source server, and acquiring the stream data from the source server; the corresponding relation between the streaming data and the source server is determined by the dispatching center server according to a notification sent by the source server, wherein the notification carries information of the streaming data to be issued by the source server;
at least one server in the CDN receives the flow records synchronized by the dispatch center server.
7. A data flow scheduling system is suitable for a CDN and is characterized by comprising a scheduling center server, an origin server and at least one server in the CDN;
the scheduling center server is configured to receive a notification that is sent by a source server and carries information of stream data issued by the source server, record a correspondence between the source server and the stream data issued by the source server, and synchronize the correspondence between the stream data and the source server with respect to at least one server in the CDN;
the source server is configured to receive streaming data pushing of any server in the CDN, and notify the scheduling center server that the streaming data has been pushed to the source server, so that the scheduling center server records a correspondence between the streaming data and the source server in a streaming recording manner;
at least one server in the CDN, configured to determine, according to an instruction of the scheduling center server, an origin server that issues streaming data when receiving a request for accessing the streaming data, and acquire the streaming data from the origin server; receiving a stream record synchronized by a dispatch center server.
8. A computer arrangement, characterized in that the computer arrangement comprises a processor for implementing the steps of the method according to any one of claims 1 to 4 when executing a computer program stored in a memory.
9. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 4.
CN201911407070.8A 2017-03-09 2017-03-09 Data stream scheduling method, system, device and medium Active CN111050188B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911407070.8A CN111050188B (en) 2017-03-09 2017-03-09 Data stream scheduling method, system, device and medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710138373.9A CN108574666B (en) 2017-03-09 2017-03-09 Data stream scheduling method, device and system
CN201911407070.8A CN111050188B (en) 2017-03-09 2017-03-09 Data stream scheduling method, system, device and medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710138373.9A Division CN108574666B (en) 2017-03-09 2017-03-09 Data stream scheduling method, device and system

Publications (2)

Publication Number Publication Date
CN111050188A CN111050188A (en) 2020-04-21
CN111050188B true CN111050188B (en) 2021-11-30

Family

ID=63577927

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710138373.9A Active CN108574666B (en) 2017-03-09 2017-03-09 Data stream scheduling method, device and system
CN201911407070.8A Active CN111050188B (en) 2017-03-09 2017-03-09 Data stream scheduling method, system, device and medium

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710138373.9A Active CN108574666B (en) 2017-03-09 2017-03-09 Data stream scheduling method, device and system

Country Status (1)

Country Link
CN (2) CN108574666B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109547825A (en) * 2018-12-28 2019-03-29 上海众源网络有限公司 A kind of multi-medium data method for pushing and device
CN111464446B (en) * 2020-04-08 2022-04-12 广州虎牙科技有限公司 Communication method and device for multi-line server access and server
CN111818121B (en) * 2020-05-26 2023-05-02 杭州爱教乐学科技有限公司 Live broadcast communication method, live broadcast communication device, computer equipment and storage medium
CN112740642B (en) * 2020-08-31 2022-05-17 华为技术有限公司 Communication method and multi-access edge computing server
CN113923470B (en) * 2021-11-24 2023-07-25 上海哔哩哔哩科技有限公司 Live stream processing method and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967873A (en) * 2015-06-29 2015-10-07 上海帝联信息科技股份有限公司 Streaming live scheduling method, system and scheduling server
CN105959354A (en) * 2016-04-25 2016-09-21 乐视控股(北京)有限公司 Load scheduling method and load scheduling system of streaming media service

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090860B2 (en) * 2007-11-05 2012-01-03 Limelight Networks, Inc. Origin request with peer fulfillment
US8266663B2 (en) * 2006-08-01 2012-09-11 At&T Intellectual Property I, L.P. Interactive content system and method
US9756142B2 (en) * 2013-03-14 2017-09-05 The Regents Of The University Of California System and method for delivering video data from a server in a wireless network by caching the video data
CN103561049A (en) * 2013-09-05 2014-02-05 乐视网信息技术(北京)股份有限公司 Method for processing terminal scheduling request, system thereof and device thereof
US10506027B2 (en) * 2014-08-27 2019-12-10 Tensera Networks Ltd. Selecting a content delivery network
CN106357539B (en) * 2015-07-17 2019-06-21 阿里巴巴集团控股有限公司 A kind of data capture method and equipment
CN105872640A (en) * 2015-12-07 2016-08-17 乐视云计算有限公司 Live broadcast video obtaining method, device and system
CN105450780B (en) * 2015-12-31 2019-01-18 深圳市网心科技有限公司 A kind of CDN system and its return source method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967873A (en) * 2015-06-29 2015-10-07 上海帝联信息科技股份有限公司 Streaming live scheduling method, system and scheduling server
CN105959354A (en) * 2016-04-25 2016-09-21 乐视控股(北京)有限公司 Load scheduling method and load scheduling system of streaming media service

Also Published As

Publication number Publication date
CN108574666B (en) 2020-08-07
CN108574666A (en) 2018-09-25
CN111050188A (en) 2020-04-21

Similar Documents

Publication Publication Date Title
CN111050188B (en) Data stream scheduling method, system, device and medium
EP3595268B1 (en) Streaming media resource distribution method, system, edge node and central dispatching system
US11095602B2 (en) Media streaming system supporting several streaming engines and using content addressing
CN110336843B (en) Content distribution method for crowdsourcing, central node and edge node
US8983983B2 (en) State operating system
WO2018161933A1 (en) Live broadcast stream transmission method, apparatus and system, and computer readable storage medium, and computer device
EP2227888B1 (en) Predictive caching content distribution network
WO2009079948A1 (en) A content buffering, querying method and point-to-point media transmitting system
US20080209067A1 (en) System And Method For Highly-Scalable Real-Time And Time-Based Data Delivery Using Server Clusters
WO2010127618A1 (en) System and method for implementing streaming media content service
WO2009143686A1 (en) Content distributing method, service redirecting method and system, node device
BR112014000597B1 (en) METHOD AND SYSTEM FOR DOWNLOADING A MULTIMEDIA FILE
US8812718B2 (en) System and method of streaming data over a distributed infrastructure
CN105472002A (en) Session synchronization method based on instant copying among cluster nodes
WO2009086784A1 (en) File content distribution method, device and system
CN101262488A (en) A content distribution network system and method
CN104735044A (en) Streaming media live broadcast method and system
CN101873354A (en) Data synchronization method and system thereof in interactive television
US10715880B2 (en) Method for creation and distribution of segmented video over distributed multicast-aware sparse networks with low latency
US20120221708A1 (en) Distributed content popularity tracking for use in memory eviction
CN101741869A (en) Method and system for providing contents
CN110933447B (en) Distributed video service architecture based on small front-end ring
Alaya et al. QoS enhancement In VoD systems: load management and replication policy optimization perspectives
JP2009230686A (en) Content management server and content management program
CN101540884B (en) Construction method of equivalent VoD system based on jump graph

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