WO2018127011A1 - Scheduling method and apparatus for transmission clusters of stream data - Google Patents

Scheduling method and apparatus for transmission clusters of stream data Download PDF

Info

Publication number
WO2018127011A1
WO2018127011A1 PCT/CN2017/120140 CN2017120140W WO2018127011A1 WO 2018127011 A1 WO2018127011 A1 WO 2018127011A1 CN 2017120140 W CN2017120140 W CN 2017120140W WO 2018127011 A1 WO2018127011 A1 WO 2018127011A1
Authority
WO
WIPO (PCT)
Prior art keywords
cluster
transmission
client
transport
module
Prior art date
Application number
PCT/CN2017/120140
Other languages
French (fr)
Chinese (zh)
Inventor
殷宇辉
Original Assignee
北京奇虎科技有限公司
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 北京奇虎科技有限公司 filed Critical 北京奇虎科技有限公司
Publication of WO2018127011A1 publication Critical patent/WO2018127011A1/en

Links

Images

Classifications

    • 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/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Definitions

  • the present invention relates to the field of streaming data storage technologies, and in particular, to a scheduling method for a streaming data transmission cluster, and a scheduling device for a streaming data transmission cluster.
  • Streaming data is data that can be transmitted over the network by means of streaming.
  • Large website systems often rely on the Content Delivery Network (CDN) to transmit streaming data.
  • CDN Content Delivery Network
  • the content distribution network is added to the existing network.
  • a new layer of network structure allows users to transfer data to or near the nearest node.
  • a transmission node is deployed to buffer the stream data and provide services to the user nearby.
  • the stream data transmission needs to select one of the content distribution networks corresponding to a plurality of different operators to provide a stream data transmission server, and when the content distribution network is selected, the content distribution network is allocated to the client according to a fixed configuration relationship. It is not possible to adjust the selected content distribution network according to the network status or operating status when the network provides the streaming data transmission service for the client according to the content inventing network.
  • the present invention has been made in order to provide a scheduling method and corresponding apparatus for a streaming data transmission cluster that overcomes the above problems or at least partially solves the above problems.
  • a scheduling method for a transport cluster of streaming data including:
  • the scheduled first transport cluster is notified to the first client for transmission of the streaming data.
  • a scheduling apparatus for a transport cluster of streaming data including:
  • the relationship pre-stored module is configured to pre-store the location information of the client and the configuration relationship of the at least one transport cluster, where different transport clusters belong to different transport service providers;
  • a configuration relationship correction module configured to modify the configuration relationship according to transmission performance data of a transmission cluster of each transmission service provider
  • a cluster scheduling module configured to schedule a corresponding first transmission group for the first client according to the modified configuration relationship
  • the cluster notification module is configured to notify the first transmission cluster of the schedule to the first client for transmission of the stream data.
  • a computer program comprising computer readable code, when said computer readable code is run on a computing device, causing said computing device to perform said transport cluster of said stream data Scheduling method.
  • a computer readable medium wherein the computer program is stored.
  • a scheduling method and apparatus for a streaming data transmission cluster may be configured by pre-storing location information of a client and configuration relationship of at least one transport cluster according to transmission performance data of a transport cluster of each transport service provider.
  • the relationship is corrected, and the first transmission cluster corresponding to the first client is scheduled according to the modified configuration relationship, and the scheduled first transmission cluster is notified to the first client for transmission of the stream data, so that the client is scheduled.
  • the configuration relationship of the transport cluster can be adjusted according to the transmission performance data, and the correspondence between the location information and the transport cluster is corrected according to the transmission performance data of each transport cluster, and the problem that the streaming data transmission service cannot be provided according to the transport cluster for the client is solved. Adjust the problem of the transport cluster, such as network conditions or health.
  • FIG. 1 is a flow chart showing the steps of a scheduling method for a streaming data transmission cluster according to Embodiment 1 of the present invention
  • FIG. 2 is a flow chart showing the steps of a scheduling method for a streaming data transmission cluster according to Embodiment 2 of the present invention
  • FIG. 3 is a flow chart showing the steps of a scheduling method for a streaming data transmission cluster according to Embodiment 3 of the present invention.
  • FIG. 4 is a structural block diagram of a scheduling apparatus for a transport cluster of streaming data according to Embodiment 4 of the present invention.
  • Figure 5 shows a block diagram of a computing device for performing the method according to the invention
  • Figure 6 shows a storage unit for holding or carrying program code implementing the method according to the invention.
  • FIG. 1 is a schematic flowchart of the steps of a method for scheduling a stream of data transmission clusters according to the first embodiment of the present invention, which may include the following steps:
  • Step 101 Pre-store the configuration information of the location information of the client and the at least one transport cluster.
  • the transport cluster refers to a computer network system that is connected to each other through the Internet, and uses the server closest to each user to send music, pictures, videos, applications, and other files to the faster and more reliable. Users, to deliver high-performance, scalable and low-cost web content to users.
  • CDN Content Delivery Network
  • transport service providers refer to transport network providers that provide transport clusters with service stream data transmission.
  • any applicable supplier may be selected, and this embodiment does not limit this.
  • the transport cluster can be used for the transmission of stream data, wherein the stream data is data that can be transmitted on the network by means of streaming, and the stream data can be transmitted from one node to at least one transport node.
  • a plurality of stream data transmissions can exist simultaneously on one transmission node, and the transmission cluster is composed of multiple transmission nodes.
  • the transit node is a server that can be used to receive, store, and distribute streaming data.
  • Transport clusters are created by adding a new layer of network structure to the existing network, so that users can transmit data to or near the nearest node. The required data.
  • a transport node is deployed to buffer the stream data and provide services to the user. For example, video live applications or remote camera applications often rely on transport clusters to transmit streaming data.
  • the location information of the client may be information indicating a location area to which the client belongs or geographically belonged to the network, and may include an address segment corresponding to the network address and/or a geographical area corresponding to the location, where the network address (Network) Address) is the logical address that a node on the Internet has in the network.
  • Network Network
  • IP address International Mobile Network Address, also translated as Internet Protocol address.
  • the location information is location information obtained by the client by using the location service. For example, the client invokes geographic location information obtained by Global Positioning System.
  • the server may pre-store the configuration relationship between the location information of the client and the at least one transport cluster, where the configuration relationship is a correspondence between the location information and the at least one transport cluster, and is used according to the location information of the client.
  • the client allocates a corresponding transport cluster to provide a streaming data transfer service.
  • the configuration relationship may be a correspondence between a network address segment and at least one transport cluster, or a correspondence between a geographic region and at least one transport cluster.
  • the pre-stored configuration relationship may be any applicable configuration relationship that is manually set, or may be configured to analyze the configuration relationship of each transport cluster for different location areas according to historical data, and may be any applicable configuration relationship. This is not a limitation.
  • transmission clusters there may be multiple transmission clusters corresponding to one location information, and multiple transmission clusters may be recorded.
  • the prior ranking indicates that the transmission performance is better, and may be used as the preferred transmission cluster.
  • Step 102 Correct the configuration relationship according to transmission performance data of a transmission cluster of each transmission service provider.
  • the transmission performance data is performance data when the client and the transmission cluster perform streaming data transmission, and specifically includes a code rate, a frame rate, and the like when the stream data is transmitted.
  • the transmission performance data of the transmission cluster may be data collected by at least one client during the stream data transmission, and the transmission performance data of each transmission cluster obtained by synthesizing the data reported by the plurality of clients.
  • the transmission performance data of the transmission cluster of each transmission service provider is obtained by each client periodically, for example, the code rate when the client periodically reports the stream data transmission, and the client user selection or client.
  • the frame rate of the video stream data that is switched according to the network status.
  • the transmission performance data corresponding to each location information of each transmission cluster is determined. Since the same transmission cluster is for different geographical regions, that is, for different location information, the transmission performance data may be Differently, as time changes, the transmission performance data of each transmission cluster corresponding to each location information also changes. The configuration relationship is corrected according to the transmission performance data of each transmission cluster.
  • the modified configuration relationship may be a transmission cluster corresponding to one location information, modified to a transmission cluster with the best transmission performance data, or reordered each transmission cluster according to the transmission performance data, and the sorted transmission cluster. The order corrects the configuration relationship.
  • Step 103 Schedule a corresponding first transport cluster for the first client according to the modified configuration relationship.
  • the first client requests to allocate a transport cluster for the stream data transmission, and the server searches for the corresponding first transport cluster according to the location information of the first client according to the modified configuration relationship.
  • the first client sends the location information to the server responsible for scheduling the transmission cluster, and the server responsible for scheduling the transmission cluster searches for the transmission cluster corresponding to the location relationship of the first client according to the locally stored configuration relationship, and finds the The transport cluster is the first transport cluster.
  • the location information corresponding to the location information of the first client is Beijing Unicom
  • the transport cluster corresponding to Beijing Unicom is searched, that is, the transport cluster corresponding to the location information, and the transport cluster corresponding to Beijing Unicom is found as the first transport cluster.
  • Step 104 Notify the scheduled first transmission cluster to the first client for transmission of the stream data.
  • the server notifies the first transmission cluster that is scheduled according to the configuration relationship to the first client, and the first client establishes a connection with the first transport cluster to complete the transmission of the stream data.
  • the identifier of the first transmission cluster or the domain name address is notified to the first client, where the first client sends a stream data transmission request to the first transmission cluster according to the identifier or the domain name address, and the first transmission cluster can feed back a transmission cluster.
  • the transit node in the first client the first client establishes a connection transport stream data with the transit node.
  • the configuration relationship is corrected according to the transmission performance data of the transmission cluster of each transmission service provider by pre-storing the location information of the client and the configuration relationship of the at least one transmission cluster, according to the correction.
  • the configuration relationship is that the first transmission cluster corresponding to the first client is scheduled, and the scheduled first transmission cluster is notified to the first client for transmission of the streaming data, so that the configuration relationship of the transmission cluster is scheduled for the client.
  • the transmission performance data the correspondence between the location information and the transmission cluster is corrected according to the transmission performance data of each transmission cluster, and the network status or running status when the streaming data transmission service cannot be provided according to the transmission cluster for the client is solved. Adjust the problem of the transport cluster.
  • the transmission performance data carries a client identifier and a transmission cluster identifier corresponding to a transmission process, and the configuration relationship is performed according to transmission performance data of a transmission cluster of each transmission service provider.
  • One implementation manner of correcting is: collecting transmission performance data of multiple clients corresponding to the same location information to the same transmission cluster, and calculating an average value; by comparing whether the average value reaches a set threshold, or by comparing the same location The information corresponds to the average value of different transmission clusters, and the configuration relationship between the location information and the transmission cluster is corrected.
  • the client identifier refers to the identifier of the client that uploads the transmission performance data
  • the transport cluster identifier refers to the identifier of the transport cluster to which the client that transmits the transmission performance data is connected.
  • Each client periodically reports the transmission performance data, and the reported transmission performance data carries the client identifier and the transmission cluster identifier of the transmission process corresponding to the transmission performance data, and reports the location information of the client in the corresponding transmission process.
  • the transmission performance data of multiple clients corresponding to the same location information to the same transmission cluster is found, and the average value of the transmission performance data is calculated, and multiple clients corresponding to each location information are obtained in this manner.
  • the transmission performance data of each transmission cluster is collected and the average value is calculated separately.
  • the configuration relationship may be updated by the corresponding relationship between the transmission cluster and the location information; or
  • the configuration relationship between the location information and each transport cluster can be updated by comparing the average values of different transport clusters corresponding to the same location information according to the ranking of the average values.
  • the configuration relationship is a correspondence between a location area where the client is located and a transmission cluster
  • the modified configuration relationship is one of the first transmission clusters corresponding to the first client scheduling.
  • the implementation is as follows: extracting the network address and/or the location information of the first client; identifying the location area to which the first client belongs according to the network address and/or the location information; and searching for the location relationship according to the configuration relationship The first transport cluster of the identified location area configuration.
  • the configuration relationship is a correspondence between the location area of the client and the transport cluster, and at least one of the network address and the location information of the first client is extracted, and at least one of the network address and the location information is used to identify the location where the first client is located.
  • the location area searches for the transport cluster corresponding to the identified location area according to the modified configuration relationship, and the discovered transport cluster is the first transport cluster.
  • the network address and the location information may be reported by the client when requesting to schedule the transmission cluster.
  • FIG. 2 a schematic flowchart of a step of a method for scheduling a stream of a data transmission cluster according to a second embodiment of the present invention is shown.
  • Step 201 Pre-store the configuration relationship between the location information of the client and the at least one transport cluster.
  • Step 202 Collect transmission performance data reported by multiple clients when performing streaming data transmission with each transport cluster.
  • the transmission performance data includes at least one of a code rate and a frame rate.
  • the client can report the transmission performance data when the stream data is transmitted.
  • the transmission performance data may be reported according to the request of the server, or the transmission performance data may be reported periodically.
  • the client performs streaming data transmission with each transport cluster, the transmission performance data is reported separately, and the server collects the transmission performance data reported by each client.
  • Step 203 Correct the configuration relationship according to the transmission performance data of the transmission cluster of each transmission service provider.
  • Step 204 Receive a scheduling request of the first client to allocate a transport cluster.
  • the first client needs to transmit the stream data, and sends a scheduling request for allocating the transport cluster to the server, and the server receives the scheduling request sent by the first client.
  • the server is a cluster scheduling server, which is used to schedule the server for transmitting the cluster for the client.
  • Step 205 Search for multiple transport clusters corresponding to the first client according to the modified configuration relationship.
  • the configuration relationship between the location information and the transport cluster may be that one location information corresponds to multiple transport clusters, and according to the modified configuration relationship, the transport cluster corresponding to the location information of the first client is searched, and the transport cluster is found. For multiple transport clusters.
  • Step 206 Select a first transmission cluster that meets the setting condition from the plurality of transmission clusters.
  • a transmission cluster that satisfies the setting condition is selected from a plurality of transmission clusters, wherein the setting condition may include that the number of historical selections is lower than a set ratio, the ranking is after the historically selected transmission cluster, and is greater than a setting. Priority or transmission performance meets the set requirements.
  • a transmission cluster whose number of historical selections is lower than a set ratio is selected from a plurality of transmission clusters, for example, a selected ratio may be set for each transmission cluster in advance, if the transmission cluster is selected in history. If the number of times selected in the record is lower than the set ratio, the transmission cluster is selected.
  • the set ratio can be any applicable ratio, which is not limited in this embodiment.
  • from the plurality of transmission clusters according to the historically selected transmission cluster, the transmission cluster that has not been selected recently is selected. For example, if three of the four transmission clusters have just been selected, the selection is performed. Unselected transport cluster.
  • priority is set for multiple transmission clusters, and a transmission cluster larger than the set priority is selected.
  • the transmission clusters whose transmission performance meets the setting requirements are selected from the plurality of transmission clusters, for example, the transmission clusters larger than the set threshold are selected according to the transmission performance data. Specifically, it may be any applicable setting requirement, and this embodiment does not limit this.
  • Step 207 When the scheduling request indicates that the streaming data is uploaded, the flow identifier is allocated to the streaming data to be uploaded.
  • the flow identifier refers to an identifier that is allocated to each stream data to distinguish the stream data.
  • the server or the server that schedules the transport cluster may assign an identifier to the stream data to be uploaded.
  • the scheduling request is identified, and the transmission cluster is allocated for the transmission of the stream data according to the scheduling request, and the allocation result is fed back to the sender of the scheduling request, and the server is instructed to upload the stream data, and the server may further allocate a stream identifier for the stream data to be uploaded.
  • Step 208 Combine the flow identifier with the domain name of the scheduled transport cluster into a streaming address notification to the first client, so that the client performs the transmission of the streaming data according to the streaming address.
  • the streaming address is an address to be accessed when the client performs streaming data transmission, parsing the streaming address, initiating a handshake, establishing a connection of the streaming data transmission, and then initiating a transmission request, and the server responding to the transmission request, the client
  • the code for streaming data transmission is obtained, the client parses the code of the stream data transmission, and executes the code of the stream data transmission to start the transmission of the stream data.
  • the server that schedules the transmission cluster allocates a flow identifier and a first transport cluster for the flow data according to the scheduling request, and combines the flow identifier and the domain name of the first transport cluster into a streaming address, and sends the streaming address to the first client, The client transmits the stream data according to the streaming address.
  • the scheduling request carries a protocol type of the first client
  • the implementation manner of combining the flow identifier with a domain name of a scheduled transmission cluster into a streaming address is:
  • the protocol type is a protocol header
  • the flow identifier is combined with the domain name of the scheduled transport cluster into a streaming address.
  • the protocol type of the first client refers to the protocol type of the stream data transmission supported and selected by the first client.
  • the RTMP full name Routing Table Maintenance Protocol is in the AppleTalk protocol group
  • the routing table maintenance protocol (RTMP (Routing Table Protocol) is a transport layer protocol that establishes and maintains a routing table in an AppleTalk router.
  • RTMP is based on the Routing Information Protocol (RIP). Like RIP, RTMP uses hop count as the routing metric. The number of hops that the number of routers or other intermediate media nodes that must pass through a packet is sent from the source network to the destination network.
  • the protocol identifier of the first client is a protocol header of the transport address
  • the domain identifier is combined with the domain name of the scheduled transport cluster into a streaming address.
  • Step 209 Receive target stream data uploaded by the first client, and push the target stream data to a storage server that stores stream data of multiple transport clusters.
  • the target stream data is stream data uploaded by the first client to the transport cluster.
  • the target stream data is received, and the target stream data is pushed to a server that stores the stream data, and specifically may be a storage server dedicated to storing stream data of a plurality of transport clusters.
  • Step 210 Receive a scheduling request that the second client acquires the target stream data, and notify the first transmission cluster that stores the target stream data to the second client.
  • the scheduling request of the second client is received, and the scheduling request is a scheduling request for acquiring the target stream data, and the first transmission cluster storing the target stream data is notified to the second client according to the scheduling request of the second client. Specifically, the address of the transmission node having the target stream data in the first transmission cluster may be notified to the second client.
  • Step 211 Receive a scheduling request that the second client replaces the first transport cluster, and schedule a second transport cluster for the second client according to the configuration relationship, where the second transport cluster retrieves the Target stream data.
  • the second client sends a scheduling request to replace the first transmission cluster, for example, because the transmission speed between the second client and the first transmission cluster cannot meet the requirement of video live broadcast.
  • Receiving a scheduling request for replacing the first transport cluster scheduling a transport cluster for the second client according to the configuration relationship between the location information of the second client and the transport cluster, and scheduling the transport cluster as the second transport cluster.
  • the second transport cluster establishes a connection with the storage server storing the target stream data, and transmits the target stream data to the second transport cluster.
  • the transmission performance data reported by multiple clients when performing streaming data transmission with each transport cluster is collected by pre-storing the location information of the client and the configuration relationship of the at least one transport cluster, according to each transmission.
  • the transmission performance data of the service provider's transmission cluster is modified, so that the configuration relationship of the transmission cluster for the client can be adjusted according to the transmission performance data reported by each client, and the transmission according to each transmission cluster is realized.
  • the performance data, the relationship between the location information and the transport cluster is corrected, and the problem that the transport cluster cannot be adjusted according to the network status or the running status when the transport cluster provides the streaming data transmission service to the client is solved.
  • the first transmission cluster enables a client to allocate a transport cluster according to certain conditions when multiple transport clusters are selected according to the configuration relationship, so as to fully utilize each transport cluster.
  • the stream identifier is allocated to the stream data to be uploaded, and the domain identifier and the domain name of the scheduled transport cluster are combined into a stream transmission address notification to the first client for
  • the client performs the transmission of the streaming data according to the streaming address, so that the server that schedules the transport cluster for the client may also generate a streaming address for the streaming data, so that the client accesses the address to complete the streaming data transmission.
  • receiving the target stream data uploaded by the first client pushing the target stream data to a storage server storing stream data of the plurality of transport clusters, and receiving a scheduling request of the second client to acquire the target stream data, and Notifying the first transmission cluster storing the target stream data to the second client, so that the stream data can be saved to the storage server, and the storage server is an intermediate service for streaming data transmission across the transport cluster, and realizing the transmission of the stream data across the transport cluster .
  • FIG. 3 a schematic flowchart of a step of a method for scheduling a stream of a data transmission cluster according to a third embodiment of the present invention is shown.
  • Step 301 Pre-store the configuration relationship between the location information of the client and the at least one transport cluster.
  • Step 302 Correct the configuration relationship according to transmission performance data of a transmission cluster of each transmission service provider.
  • step 303 the first client determines that there is a new transmission cluster.
  • the transport cluster refers to a computer network system that is connected to each other through the Internet, and uses the server closest to each user to send music, pictures, videos, applications, and other files to the faster and more reliable. Users, to deliver high-performance, scalable and low-cost web content to users.
  • CDN Content Delivery Network
  • the transport cluster can be used for the transmission of stream data, wherein the stream data is data that can be transmitted on the network by means of streaming, and the stream data can be transmitted from one node to at least one transport node.
  • a plurality of stream data transmissions can exist simultaneously on one transmission node, and the transmission cluster is composed of multiple transmission nodes.
  • the transit node is a server that can be used to receive, store, and distribute streaming data.
  • Transport clusters are created by adding a new layer of network structure to the existing network, so that users can transmit data to or near the nearest node. The required data.
  • a transport node is deployed to buffer the stream data and provide services to the user. For example, video live applications or remote camera applications often rely on transport clusters to transmit streaming data.
  • At least one transport cluster provides a streaming data transmission service for the first client.
  • the first client determines that there is a new transport cluster, and the specific manner may be any applicable manner. This embodiment does not limit this.
  • the first client may obtain the first cluster list that records all the transport clusters from the cluster management server, and determine that there is a new transport cluster by comparing the first cluster list with the locally stored second cluster list; or the first client The terminal can determine that there is a new transport cluster by receiving a new transport cluster notification sent by the cluster management server.
  • the cluster management server is a server for managing a transport cluster.
  • the first client determines that there is a newly added transport cluster: the first client obtains, from the cluster management server, a first cluster list that records all transport clusters; The first client determines that there is a new transport cluster by comparing the first cluster list with the locally stored second cluster list.
  • the cluster management server is the server that manages the transport cluster.
  • the first cluster list is a list of transport clusters that are currently providing streaming data transport services on the cluster management server.
  • the second cluster list is a list of transport clusters that provide streaming data transport services local to the first client. The first client downloads from the cluster management server to the local device, and then compares the first cluster list and the second cluster list. If the first cluster list has an identifier of the transport cluster that is not in the second cluster list, it is determined that there is a new transmission. Cluster.
  • the method further includes: if the first client determines that there is a target transmission cluster that has been deleted, by comparing the first cluster list with the locally stored second cluster list, Then delete the communication configuration code corresponding to the locally saved target transmission cluster.
  • the target transport cluster is a transport cluster that no longer serves streaming data transfers.
  • the first client compares the first cluster list with the second cluster list. If the second cluster list has an identifier of the transport cluster that is not in the first cluster list, it is determined that there is a deleted target transport cluster.
  • the communication configuration code corresponding to the target transmission cluster saved locally by the first client is deleted.
  • the method further includes: the first client updating the second cluster list by using the first cluster list of the cluster management server.
  • the first client downloads the first cluster list from the cluster management server, compares the first cluster list and the second cluster list, and updates the second cluster list with the first cluster list, specifically deleting the second cluster list, and the first
  • the cluster list is saved locally as a new second cluster list, or the newly added content in the first cluster list is added to the local second cluster list, or the content deleted in the first cluster list is removed from the local second cluster. Remove from the list.
  • Step 304 The first client downloads a corresponding communication configuration code from the communication configuration code base.
  • the communication configuration code is code that can be embedded and configured to configure communication between the client and the transport cluster, and the execution communication configuration code can be used to encapsulate the scheduling request and parse the scheduling result.
  • the methods of encapsulating scheduling requests and parsing scheduling results are different, and corresponding communication configuration codes are required.
  • the communication configuration code can be script code written in the Lua programming language, and the application uses the Lua language as an embedded scripting language to achieve configurability and scalability.
  • the communication configuration code library is a database in which the communication configuration code corresponding to each transmission cluster is stored, and the communication configuration code library can be used on any applicable server, which is not limited in this embodiment. For example, it can be on a cluster management server.
  • the first client After determining that the new transmission cluster exists, the first client finds the communication configuration code corresponding to the newly added transmission cluster from the communication configuration code base, and downloads the communication configuration code corresponding to the newly added transmission cluster to the local.
  • Step 305 Schedule a corresponding first transport cluster for the first client according to the modified configuration relationship.
  • Step 306 notifying the scheduled first transmission cluster to the first client for transmission of the stream data.
  • Step 307 when the newly added transport cluster is invoked, the first client interprets and executes the communication configuration code by using a preset interpreter, and the communication configuration code performs the transmission node according to the communication protocol of the newly added transport cluster.
  • the encapsulation of the scheduling request when the newly added transport cluster is invoked, the first client interprets and executes the communication configuration code by using a preset interpreter, and the communication configuration code performs the transmission node according to the communication protocol of the newly added transport cluster.
  • the newly added transport cluster is the first transport cluster.
  • the first client calls the newly added transport cluster, which means that the first client transmits the data through the newly added transport cluster. Specifically, the first client actively selects the newly added transport cluster, or the first client receives the cluster schedule. Select a new transport cluster for the client based on the request of the first client.
  • the interpreter (English: Interpreter), also translated as an interpreter, is a computer program that translates high-level programming languages directly and line by line.
  • the interpreter does not translate the entire program at once, just like a "middleman", each time you run the program, you must first switch to another language and run it. It runs immediately after translating a line of program descriptions, then translates the next line, and then runs, so it keeps going.
  • the preset interpreter is an interpreter that can interpret and execute the communication configuration code.
  • the communication configuration code is written based on the Lua programming language
  • the preset interpreter is a general interpreter for the Lua language.
  • the communication protocol of the newly added transport cluster refers to the rules and conventions that the client must follow to complete communication or service with the transport cluster. For example, the encapsulation rule that the client sends a scheduling request to the transport cluster, the network address of the scheduling server that the client sends the scheduling request to the transport cluster, and the parsing rules after the client receives the scheduling result.
  • the first client interprets and executes the communication configuration code by using a preset interpreter to encapsulate the scheduling request, wherein the scheduling request is a scheduling request of the transmitting node sent by the client to the transmission cluster.
  • the Lua language universal interpreter is used to interpret and execute the communication configuration code corresponding to the transmission cluster, and the communication configuration code is executed to implement encapsulation of the IP scheduling request data packet to be sent by the client.
  • the content included in the data transmission request packet of different transmission clusters is different.
  • IP scheduling request data packet is the identifier of the stream data and the specific string after directly transmitting the domain name address of the cluster
  • the transport cluster contract IP scheduling request packet is a domain name address of the transport cluster in a custom format, an identifier of the stream data, and a specific string.
  • Step 308 The first client sends the encapsulated scheduling request to the newly added transport cluster.
  • the first client sends the encapsulated scheduling request to the newly added transport cluster, and may specifically send the encapsulated scheduling request when accessing the network address recorded by the communication configuration code corresponding to the transport cluster.
  • the network address may be a domain name push stream address of the transport cluster in the live broadcast application, and the domain name push stream address may be parsed to send the encapsulated scheduling request to the server for selecting the transport node in the transport cluster.
  • the communication configuration code further records a network address of the newly added transmission cluster
  • the first client sends an encapsulated scheduling request to an implementation of the newly added transmission cluster.
  • the method is: the first client sends the encapsulated scheduling request to the newly added transport cluster according to the network address of the newly added transport cluster indicated by the communication configuration code.
  • the network address of the newly added transport cluster is the domain name address of the calling transport cluster.
  • the first client resolves the network address and accesses the encapsulated scheduling request to the transport cluster corresponding to the network address.
  • Specifically analyzing the network address of the newly added transport cluster indicated by the communication configuration code may obtain the address of the server for scheduling the transport node, and then send the encapsulated scheduling request to the server.
  • Step 309 The first client performs stream data transmission according to the transmission node scheduled by the newly added transmission cluster.
  • the newly added transmission cluster is the first client scheduling transmission node, and specifically, the scheduling is performed according to at least one type of information such as the network address of the first client and the geographical location of the first client, and the selected transmission node is the first
  • the transit node with a good network connection of the client may specifically allocate the transit node for the first client according to any applicable scheduling logic, which is not limited in this embodiment.
  • the first client establishes a connection with the scheduled transit node to perform the transmission of the stream data, and specifically includes the first client uploading or downloading the stream data.
  • the first client performs the transmission of the stream data according to the transmission node scheduled by the newly added transmission cluster: the first client receives the newly added transmission a scheduling result of the cluster feedback; the first client interprets and executes the communication configuration code by using a preset interpreter, and the communication configuration code is parsed from the scheduling result according to a communication protocol of the newly added transmission cluster The node identifier of the transmission node scheduled to be newly transmitted by the cluster is transmitted; the first client performs the transmission of the stream data according to the transmission address of the transmission node corresponding to the node identifier.
  • the scheduling result of the newly added transmission cluster feedback is the transmission node in the scheduled transmission cluster, and specifically, the newly added transmission cluster schedules a transmission node in the transmission cluster for the first client according to the encapsulated scheduling request. And wherein the scheduling result encapsulates information such as a node identifier of the scheduled transmission node.
  • the transport cluster may allocate a transport node to the client according to the network address and/or the location of the first client, and may further allocate a transport node to the first client according to load balancing among multiple transport nodes, and may specifically adopt any
  • the applicable scheduling mode is not limited in this embodiment.
  • the new transmission cluster sends the scheduling result generated by the scheduling to the first client, and the first client receives the scheduling result.
  • the node identifier is an identifier of the transit node in the network, and may specifically be an identifier of the transport node in the transport cluster or a network address of the transport node, such as an IP address.
  • the first client interprets and executes the communication configuration code by using a preset interpreter, parses the scheduling result according to the communication protocol of the newly added transmission cluster, and parses out the node identifier of the scheduled transmission node from the scheduling result.
  • the Lua language universal interpreter is used to interpret and execute the communication configuration code corresponding to the newly added transmission cluster, and the communication configuration code is executed to implement parsing of the IP scheduling result data packet received by the client.
  • the content included in the data packet of different transmission cluster IP scheduling results is different.
  • Some transmission clusters agree that the result of the scheduling data packet is the identifier of the stream data directly after the network address of the transmission node, and the specific string, and some transmissions
  • the cluster contract scheduling result packet is a network address of the transport node in a custom format, an identifier of the stream data, and a specific string.
  • the transport address is a network address used for streaming data transmission, and may be combined into a transport address by a protocol corresponding protocol header of the stream data transmission, a network address of the transport node, an identifier of the stream data, and an agreed specific string.
  • the first client can find the corresponding transit node by using the node identifier, and the transport address can be generated on the first client according to the content parsed from the scheduling result, or can be directly parsed from the scheduling result.
  • the first client accesses the transport address and transmits the stream data to the transport node.
  • the method may further include: the first client sending a stream data transmission request to the cluster scheduling server, and receiving the scheduling new feedback from the cluster scheduling server. The feedback result of the transmission cluster.
  • the cluster scheduling server is a server that can schedule a transmission cluster for the first client, and specifically, the transmission cluster is selected for the first client according to the streaming data transmission request of the first client, and is fed back to the first client.
  • the cluster scheduling server can be a single server or one of the cluster scheduling server clusters.
  • the cluster scheduling server can be the same server as the cluster management server or another server different from the cluster management server.
  • the first client sends a stream data transmission request to the cluster scheduling server, where the stream data transmission request usually carries the network address of the client and/or the current location, so as to select the transmission as the cluster scheduling server for the client.
  • the basis of the cluster The first client receives the feedback result of the cluster scheduling server, where the feedback result is the scheduling result of scheduling the newly added transmission cluster, specifically including the transmission cluster selected for the first client, and may further include the stream data identifier allocated for the stream data.
  • the cluster scheduling server receives the transmission cluster for the first client as the newly added transmission cluster according to the transmission request of the first client, and the first client receives the feedback result of the cluster scheduling server.
  • the method may further include: the first client acquiring a cluster identifier of the newly added transport cluster; Before the client downloads the corresponding communication configuration code from the communication configuration code base, the method may further include: the first client searching for the corresponding communication configuration code from the communication configuration code base according to the cluster identifier of the newly added transmission cluster. .
  • the first client client obtains the cluster identifier of the newly added cluster.
  • the cluster identifier of the newly added cluster can be obtained from the list of the transport cluster.
  • the cluster identity of the newly added transport cluster can be extracted from the first cluster list.
  • the communication configuration code corresponding to the cluster identifier may be searched from the communication configuration code base according to the cluster identifier.
  • the configuration relationship is corrected according to the transmission performance data of the transmission cluster of each transmission service provider by pre-storing the location information of the client and the configuration relationship of the at least one transmission cluster, according to the correction.
  • the configuration relationship is that the first transmission cluster corresponding to the first client is scheduled, and the scheduled first transmission cluster is notified to the first client for transmission of the streaming data, so that the configuration relationship of the transmission cluster is scheduled for the client.
  • the transmission performance data the correspondence between the location information and the transmission cluster is corrected according to the transmission performance data of each transmission cluster, and the network status or running status when the streaming data transmission service cannot be provided according to the transmission cluster for the client is solved. Adjust the problem of the transport cluster.
  • the first client determines that there is a new transmission cluster, and downloads a corresponding communication configuration code from the communication configuration code base, so that when the new transmission cluster provides the streaming data transmission service, the corresponding communication configuration code is directly downloaded for the client. Add the scheduling function of the new transport cluster without adding an application update.
  • the first client interprets and executes the communication configuration code by using a preset interpreter when the new transport cluster is invoked, according to the communication configuration code.
  • the communication protocol of the transmission cluster is added to perform encapsulation of the scheduling request of the transmission node, and the encapsulated scheduling request is sent to the newly added transmission cluster, and the transmission data is transmitted according to the transmission node scheduled by the newly added transmission cluster.
  • the execution of the communication configuration code can complete the encapsulation of the scheduling request corresponding to the newly added transmission cluster, and then is used to schedule the node to schedule the transmission node, thereby implementing the hot update of the scheduling function of the newly added transmission cluster, thereby avoiding the inconvenience and failure of updating the application. .
  • FIG. 4 a structural block diagram of a scheduling apparatus for a transport cluster of streaming data according to Embodiment 4 of the present invention is shown, which may specifically include the following modules:
  • the relationship pre-stored module 401 is configured to pre-store the configuration information of the location information of the client and the at least one transport cluster, where different transport clusters belong to different transport service providers;
  • the configuration relationship correction module 402 is configured to correct the configuration relationship according to the transmission performance data of the transmission cluster of each transmission service provider;
  • the cluster scheduling module 403 is configured to schedule a corresponding first transmission cluster for the first client according to the modified configuration relationship
  • the cluster notification module 404 is configured to notify the first transmission cluster of the schedule to the first client for transmission of the stream data.
  • the transmission performance data carries a client identifier and a transport cluster identifier corresponding to a single transmission process
  • the configuration relationship correction module includes:
  • An average calculation module configured to collect transmission performance data of a plurality of clients corresponding to the same location information to the same transmission cluster, and calculate an average value
  • the relationship correction module is configured to correct the configuration relationship between the location information and the transport cluster by comparing whether the average value reaches a set threshold, or by comparing an average value of the same location information corresponding to different transport clusters.
  • the device further includes:
  • a data collection module configured to collect, before the modification of the configuration relationship, the transmission performance data of the transmission cluster according to each transmission service provider, collecting the transmission reported by multiple clients when performing streaming data transmission with each transmission cluster Performance data, the transmission performance data including a code rate and/or a frame rate.
  • the cluster scheduling module includes:
  • a cluster search module configured to search, according to the modified configuration relationship, multiple transport clusters corresponding to the first client;
  • a first cluster selection module configured to select, from the plurality of transmission clusters, a first transmission cluster that meets a set condition, where the setting condition includes that the number of historical selections is lower than a set ratio, and the transmission cluster selected in the history is selected. After that, it is greater than the set priority or the transmission performance meets the setting requirements.
  • the configuration relationship is a correspondence between a location area where the client is located and a transport cluster
  • the cluster scheduling module includes:
  • An information extraction module configured to extract network address and/or positioning information of the first client
  • An area identifying module configured to identify, according to the network address and/or the positioning information, a location area to which the first client belongs;
  • a searching module configured to find, according to the configuration relationship, a first transport cluster configured for the identified location area.
  • the device further includes:
  • a stream data receiving module configured to receive target stream data uploaded by the first client after the first transmission cluster to be scheduled is notified to the first client, and push the target stream data to store the plurality of transport clusters A storage server that streams data.
  • the device further includes:
  • the first request receiving module is configured to receive a scheduling request that the second client acquires the target stream data, and notify the first transmission cluster that stores the target stream data to the second client.
  • the device further includes:
  • a scheduling request replacement module configured to receive a scheduling request of the second client to replace the first transmission cluster, and schedule a second transmission cluster for the second client according to the configuration relationship, where the second transmission cluster is from the storage server The target stream data is retrieved.
  • the device further includes:
  • the second request receiving module is configured to receive a scheduling request of the first client to allocate the transport cluster before scheduling the corresponding first transport cluster for the first client according to the modified configuration relationship.
  • the device further includes:
  • a flow identifier allocation module configured to: when the scheduling request indicates uploading flow data, assign a flow identifier to the flow data to be uploaded;
  • the cluster notification module includes:
  • the transport address notification module is configured to combine the flow identifier with the domain name of the scheduled transport cluster into a streaming address notification to the first client, so that the client performs the transmission of the streaming data according to the streaming address.
  • the scheduling request carries the protocol type of the first client
  • the transmission address notification module includes:
  • the transport address component module is configured to combine the stream identifier with a domain name of the scheduled transport cluster into a stream transport address by using the protocol type as a protocol header.
  • the device further includes:
  • a cluster determining module configured to determine, by the first client, that a new transport cluster exists before the first transport cluster corresponding to the first client is scheduled according to the modified configuration relationship
  • a code downloading module configured to download, by the first client, a corresponding communication configuration code from the communication configuration code base
  • the new transmission cluster is a first transmission cluster, and the device further includes:
  • a scheduling request encapsulating module configured to: when the first transmission cluster to be scheduled is notified to the first client, for the transmission of the streaming data, when the newly added transmission cluster is invoked, the first client adopts a preset interpretation Interpreting and executing the communication configuration code, and the communication configuration code performs encapsulation of a scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster;
  • a scheduling request sending module configured to send, by the first client, the encapsulated scheduling request to the newly added transport cluster
  • the stream data transmission module is configured to transmit, by the first client, the stream data according to the transmission node scheduled by the newly added transmission cluster.
  • the cluster determining module includes:
  • a list obtaining module configured to acquire, by the first client, a first cluster list that records all transport clusters from the cluster management server;
  • the list comparison module is configured to determine, by the first client, that a new transport cluster exists by comparing the first cluster list with the locally stored second cluster list.
  • the device further includes:
  • a code deletion module configured to: if the first client determines that there is a deleted target transport cluster by comparing the first cluster list with the locally stored second cluster list, deleting the locally saved target transport cluster Corresponding communication configuration code.
  • the device further includes:
  • a list update module configured to update the second cluster list by the first client with the first cluster list of the cluster management server.
  • the communication configuration code further records a network address of the newly added transmission cluster
  • the scheduling request sending module includes:
  • a request sending module configured to send, by the first client, the encapsulated scheduling request to the newly added transport cluster according to the network address of the newly added transport cluster indicated by the communication configuration code.
  • the streaming data transmission module includes:
  • a scheduling result receiving module configured to receive, by the first client, a scheduling result of the newly added transmission cluster feedback
  • a node identifier parsing module configured, by the first client to interpret and execute the communication configuration code by using a preset interpreter, wherein the communication configuration code is used in the scheduling result according to a communication protocol of the newly added transport cluster Parsing out a node identifier of the transport node scheduled by the newly added transport cluster;
  • the stream data transmission module is configured to perform, by the first client, the transmission of the stream data according to the transmission address of the transmission node corresponding to the node identifier.
  • the device further includes:
  • a feedback result receiving module configured to: when the calling the new transmission cluster is invoked, the first client uses a preset interpreter to interpret and execute the communication configuration code, and the communication configuration code is added according to the Before the communication protocol of the transmission cluster performs encapsulation of the scheduling request of the transmission node, the first client sends a stream data transmission request to the cluster scheduling server, and receives a feedback result of the scheduling new transmission cluster fed back by the cluster scheduling server.
  • the device further includes:
  • An identifier obtaining module configured to acquire, after the first client determines that a new transmission cluster exists, the first client acquires a cluster identifier of the newly added transmission cluster;
  • the device also includes:
  • a code searching module configured to: before the first client downloads a corresponding communication configuration code from a communication configuration code base, the first client searches for a communication configuration code base according to a cluster identifier of the newly added transmission cluster Corresponding communication configuration code.
  • the configuration relationship is corrected according to the transmission performance data of the transmission cluster of each transmission service provider by pre-storing the location information of the client and the configuration relationship of the at least one transmission cluster, according to the correction.
  • the configuration relationship is that the first transmission cluster corresponding to the first client is scheduled, and the scheduled first transmission cluster is notified to the first client for transmission of the streaming data, so that the configuration relationship of the transmission cluster is scheduled for the client.
  • the transmission performance data the correspondence between the location information and the transmission cluster is corrected according to the transmission performance data of each transmission cluster, and the network status or running status when the streaming data transmission service cannot be provided according to the transmission cluster for the client is solved. Adjust the problem of the transport cluster.
  • modules in the devices of the embodiments can be adaptively changed and placed in one or more devices different from the embodiment.
  • the modules or units or components of the embodiments may be combined into one module or unit or component, and further they may be divided into a plurality of sub-modules or sub-units or sub-components.
  • any combination of the features disclosed in the specification, including the accompanying claims, the abstract and the drawings, and any methods so disclosed, or All processes or units of the device are combined.
  • Each feature disclosed in this specification (including the accompanying claims, the abstract and the drawings) may be replaced by alternative features that provide the same, equivalent or similar purpose.
  • the various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof.
  • a microprocessor or digital signal processor may be used in practice to implement some or all of the components of the method and apparatus for scheduling a stream of data streams in accordance with embodiments of the present invention.
  • DSP digital signal processor
  • the invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein.
  • Such a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
  • Figure 5 illustrates a computing device that can implement a scheduling method for a transport cluster of streaming data in accordance with the present invention.
  • the computing device conventionally includes a processor 510 and a computer program product or computer readable medium in the form of a memory 520.
  • the memory 520 may be an electronic memory such as a flash memory, an EEPROM (Electrically Erasable Programmable Read Only Memory), an EPROM, a hard disk, or a ROM.
  • Memory 520 has a memory space 530 for program code 531 for performing any of the method steps described above.
  • storage space 530 for program code may include various program code 531 for implementing various steps in the above methods, respectively.
  • the program code can be read from or written to one or more computer program products.
  • These computer program products include program code carriers such as hard disks, compact disks (CDs), memory cards or floppy disks. Such computer program products are typically portable or fixed storage units as described with reference to FIG.
  • the storage unit may have storage segments, storage spaces, and the like that are similarly arranged to memory 520 in the computing device of FIG.
  • the program code can be compressed, for example, in an appropriate form.
  • the storage unit includes computer readable code 531 ', ie, code readable by a processor, such as 510, that when executed by a computing device causes the computing device to perform each of the methods described above step.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A scheduling method and apparatus for transmission clusters of stream data. The method comprises: pre-storing a configuration relationship between position information of a client and at least one transmission cluster, wherein different transmission clusters belong to different transmission service suppliers; correcting the configuration relationship according to transmission performance data of the transmission clusters of each transmission service supplier; scheduling a corresponding first transmission cluster for a first client according to the corrected configuration relationship; and informing the first client of the scheduled first transmission cluster so as to use the same for transmission of stream data. The embodiments of the present invention implement the correction of the corresponding relationship between the position information and the transmission clusters according to the transmission performance data of each transmission cluster, and solve the problem wherein adjustment of transmission clusters may not be implemented according to factors such as network conditions or operating conditions when the transmission clusters provide steam data transmission service for a client.

Description

一种流数据的传输集群的调度方法和装置Scheduling method and device for transmission cluster of stream data
申请要求在2017年01月03日提交中国专利局、申请号为201710002819.5、发明名称为“一种流数据的传输集群的调度方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The application claims the priority of the Chinese patent application filed on January 3, 2017, the Chinese Patent Office, the application number is 201710002819.5, and the invention name is "a scheduling method and device for a streaming data transmission cluster", the entire contents of which are incorporated by reference. In this application.
技术领域Technical field
本发明涉及流数据存储技术领域,具体涉及一种流数据的传输集群的调度方法,以及一种流数据的传输集群的调度装置。The present invention relates to the field of streaming data storage technologies, and in particular, to a scheduling method for a streaming data transmission cluster, and a scheduling device for a streaming data transmission cluster.
背景技术Background technique
流数据为可以采用流式传输的方式在网络上传输的数据,大型网站系统经常依赖于内容分发网络(Content Delivery Network,CDN)对流数据进行传输,内容分发网络是通过在现有的网络中增加一层新的网络结构,使用户可以将数据传输到就近的节点上或从就近的节点获取所需的数据。在内容分发网络中,部署有传输节点,用于缓冲流数据,就近给用户提供服务。Streaming data is data that can be transmitted over the network by means of streaming. Large website systems often rely on the Content Delivery Network (CDN) to transmit streaming data. The content distribution network is added to the existing network. A new layer of network structure allows users to transfer data to or near the nearest node. In the content distribution network, a transmission node is deployed to buffer the stream data and provide services to the user nearby.
随着像视频直播或远程摄像头等对流数据传输质量要求较高的网络应用的发展,仅仅依靠一家供应商提供的内容分发网络来支持大型网络应用变得无法满足需要。依赖多家供应商提供内容分发网络来进行流数据的传输成为一种选择。With the development of network applications with high quality requirements for streaming data such as live video or remote cameras, it is not possible to rely on a content distribution network provided by one vendor to support large network applications. It is an option to rely on multiple vendors to provide content distribution networks for streaming data.
现有技术中,流数据传输需要在多个不同运营商对应的内容分发网络中选择一个提供流数据传输服务器,而选择内容分发网络时都是依据固定的配置关系为客户端分配内容分发网络,无法根据内容发明网络为客户端提供流数据传输服务时的网络状况或运行状况等调整选取的内容分发网络。In the prior art, the stream data transmission needs to select one of the content distribution networks corresponding to a plurality of different operators to provide a stream data transmission server, and when the content distribution network is selected, the content distribution network is allocated to the client according to a fixed configuration relationship. It is not possible to adjust the selected content distribution network according to the network status or operating status when the network provides the streaming data transmission service for the client according to the content inventing network.
发明内容Summary of the invention
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种流数据的传输集群的调度方法和相应的装置。In view of the above problems, the present invention has been made in order to provide a scheduling method and corresponding apparatus for a streaming data transmission cluster that overcomes the above problems or at least partially solves the above problems.
依据本发明的一个方面,提供了一种流数据的传输集群的调度方法,包括:According to an aspect of the present invention, a scheduling method for a transport cluster of streaming data is provided, including:
预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;Pre-storing the location information of the client and the configuration relationship of the at least one transport cluster, wherein different transport clusters belong to different transport service providers;
根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;Correcting the configuration relationship according to transmission performance data of a transmission cluster of each transmission service provider;
按照修正后的配置关系为第一客户端调度对应的第一传输集群;Scheduling a corresponding first transmission cluster for the first client according to the modified configuration relationship;
将调度的第一传输集群通知至第一客户端,以用于流数据的传输。The scheduled first transport cluster is notified to the first client for transmission of the streaming data.
根据本发明的另一方面,提供了一种流数据的传输集群的调度装置,包括:According to another aspect of the present invention, a scheduling apparatus for a transport cluster of streaming data is provided, including:
配置关系预存模块,用于预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;The relationship pre-stored module is configured to pre-store the location information of the client and the configuration relationship of the at least one transport cluster, where different transport clusters belong to different transport service providers;
配置关系修正模块,用于根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;a configuration relationship correction module, configured to modify the configuration relationship according to transmission performance data of a transmission cluster of each transmission service provider;
集群调度模块,用于按照修正后的配置关系为第一客户端调度对应的第一传输集 群;a cluster scheduling module, configured to schedule a corresponding first transmission group for the first client according to the modified configuration relationship;
集群通知模块,用于将调度的第一传输集群通知至第一客户端,以用于流数据的传输。The cluster notification module is configured to notify the first transmission cluster of the schedule to the first client for transmission of the stream data.
根据本发明的又一个方面,提供了一种计算机程序,其包括计算机可读代码,当所述计算机可读代码在计算设备上运行时,导致所述计算设备执行所述的流数据的传输集群的调度方法。According to still another aspect of the present invention, a computer program is provided, comprising computer readable code, when said computer readable code is run on a computing device, causing said computing device to perform said transport cluster of said stream data Scheduling method.
根据本发明的再一个方面,提供了一种计算机可读介质,其中存储了所述的计算机程序。According to still another aspect of the present invention, a computer readable medium is provided, wherein the computer program is stored.
根据本发明的一种流数据的传输集群的调度方法和装置可以通过预存客户端的位置信息与至少一个传输集群的配置关系,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正,按照修正后的配置关系为第一客户端调度对应的第一传输集群,将调度的第一传输集群通知至第一客户端,以用于流数据的传输,使得为客户端调度传输集群的配置关系可以根据传输性能数据进行调整,实现了根据各传输集群的传输性能数据,修正位置信息与传输集群的对应关系,解决了无法根据传输集群为客户端提供流数据传输服务时的网络状况或运行状况等调整传输集群的问题。A scheduling method and apparatus for a streaming data transmission cluster according to the present invention may be configured by pre-storing location information of a client and configuration relationship of at least one transport cluster according to transmission performance data of a transport cluster of each transport service provider. The relationship is corrected, and the first transmission cluster corresponding to the first client is scheduled according to the modified configuration relationship, and the scheduled first transmission cluster is notified to the first client for transmission of the stream data, so that the client is scheduled. The configuration relationship of the transport cluster can be adjusted according to the transmission performance data, and the correspondence between the location information and the transport cluster is corrected according to the transmission performance data of each transport cluster, and the problem that the streaming data transmission service cannot be provided according to the transport cluster for the client is solved. Adjust the problem of the transport cluster, such as network conditions or health.
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。The above description is only an overview of the technical solutions of the present invention, and the above-described and other objects, features and advantages of the present invention can be more clearly understood. Specific embodiments of the invention are set forth below.
附图说明DRAWINGS
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:Various other advantages and benefits will become apparent to those skilled in the art from a The drawings are only for the purpose of illustrating the preferred embodiments and are not to be construed as limiting. Throughout the drawings, the same reference numerals are used to refer to the same parts. In the drawing:
图1示出了根据本发明实施例一的一种流数据的传输集群的调度方法的步骤流程示意图;FIG. 1 is a flow chart showing the steps of a scheduling method for a streaming data transmission cluster according to Embodiment 1 of the present invention;
图2示出了根据本发明实施例二的一种流数据的传输集群的调度方法的步骤流程示意图;2 is a flow chart showing the steps of a scheduling method for a streaming data transmission cluster according to Embodiment 2 of the present invention;
图3示出了根据本发明实施例三的一种流数据的传输集群的调度方法的步骤流程示意图;3 is a flow chart showing the steps of a scheduling method for a streaming data transmission cluster according to Embodiment 3 of the present invention;
图4示出了根据本发明实施例四的一种流数据的传输集群的调度装置的结构框图;4 is a structural block diagram of a scheduling apparatus for a transport cluster of streaming data according to Embodiment 4 of the present invention;
图5示出了用于执行根据本发明的方法的计算设备的框图;Figure 5 shows a block diagram of a computing device for performing the method according to the invention;
图6示出了用于保持或者携带实现根据本发明的方法的程序代码的存储单元。Figure 6 shows a storage unit for holding or carrying program code implementing the method according to the invention.
具体实施方式detailed description
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While the embodiments of the present invention have been shown in the drawings, the embodiments Rather, these embodiments are provided so that this disclosure will be more fully understood and the scope of the disclosure will be fully disclosed.
参照图1,示出了根据本发明实施例一的一种流数据的传输集群的调度方法的步骤流程示意图,具体可以包括如下步骤:1 is a schematic flowchart of the steps of a method for scheduling a stream of data transmission clusters according to the first embodiment of the present invention, which may include the following steps:
步骤101,预存客户端的位置信息与至少一个传输集群的配置关系。Step 101: Pre-store the configuration information of the location information of the client and the at least one transport cluster.
在本实施例中,传输集群是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。例如内容分发网络(Content Delivery Network,CDN)。In this embodiment, the transport cluster refers to a computer network system that is connected to each other through the Internet, and uses the server closest to each user to send music, pictures, videos, applications, and other files to the faster and more reliable. Users, to deliver high-performance, scalable and low-cost web content to users. For example, the Content Delivery Network (CDN).
在本实施例中,不同的传输集群归属于不同的传输服务供应方,传输服务供应方是指提供传输集群可以服务流数据传输的传输网络供应方。具体可以选择任意适用的供应方,本实施例对此不做限制。In this embodiment, different transport clusters belong to different transport service providers, and transport service providers refer to transport network providers that provide transport clusters with service stream data transmission. Specifically, any applicable supplier may be selected, and this embodiment does not limit this.
传输集群可以用于流数据的传输,其中,流数据为可以采用流式传输的方式在网络上传输的数据,流数据可以从一个节点传输到至少一个传输节点上。一个传输节点上可以同时存在多个流数据传输,传输集群由多个传输节点组成。其中传输节点为可以用于接收、存储、分发流数据的服务器。The transport cluster can be used for the transmission of stream data, wherein the stream data is data that can be transmitted on the network by means of streaming, and the stream data can be transmitted from one node to at least one transport node. A plurality of stream data transmissions can exist simultaneously on one transmission node, and the transmission cluster is composed of multiple transmission nodes. The transit node is a server that can be used to receive, store, and distribute streaming data.
大型流数据传输系统经常依赖于传输集群对流数据进行传输,传输集群是通过在现有的网络中增加一层新的网络结构,使用户可以将数据传输到就近的节点上或从就近的节点获取所需的数据。在传输集群中,部署有传输节点,用于缓冲流数据,就近给用户提供服务。例如视频直播应用或者远程摄像头应用经常依赖于传输集群对流数据进行传输。Large-scale streaming data transmission systems often rely on transport clusters to transmit convective data. The transport clusters are created by adding a new layer of network structure to the existing network, so that users can transmit data to or near the nearest node. The required data. In the transport cluster, a transport node is deployed to buffer the stream data and provide services to the user. For example, video live applications or remote camera applications often rely on transport clusters to transmit streaming data.
客户端的位置信息是指可以表征客户端在网络上所属的位置区域或地理上所属的位置区域的信息,可以包括网络地址对应的地址段和/或定位位置对应的地理区域,其中网络地址(Network address)是互联网上的节点在网络中具有的逻辑地址。例如,IP地址(英语:Internet Protocol Address,又译为网际协议地址)。其中定位信息为客户端利用定位服务获取的地理位置信息。例如,客户端调用全球卫星定位系统获得的地理位置信息。The location information of the client may be information indicating a location area to which the client belongs or geographically belonged to the network, and may include an address segment corresponding to the network address and/or a geographical area corresponding to the location, where the network address (Network) Address) is the logical address that a node on the Internet has in the network. For example, the IP address (English: Internet Protocol Address, also translated as Internet Protocol address). The location information is location information obtained by the client by using the location service. For example, the client invokes geographic location information obtained by Global Positioning System.
在本实施例中,服务器中可以预存客户端的位置信息与至少一个传输集群的配置关系,其中配置关系为位置信息与至少一个传输集群之间的一种对应关系,用来根据客户端的位置信息为客户端分配对应的传输集群来提供流数据传输服务。例如,配置关系可以是网络地址段和至少一个传输集群的对应关系,或者地理区域和至少一个传输集群的的对应关系。In this embodiment, the server may pre-store the configuration relationship between the location information of the client and the at least one transport cluster, where the configuration relationship is a correspondence between the location information and the at least one transport cluster, and is used according to the location information of the client. The client allocates a corresponding transport cluster to provide a streaming data transfer service. For example, the configuration relationship may be a correspondence between a network address segment and at least one transport cluster, or a correspondence between a geographic region and at least one transport cluster.
预存的配置关系可以是人工设定的任意适用的配置关系,也可以是根据历史数据分析各传输集群对于不同位置区域的表现生成的配置关系,具体可以采用任意适用的配置关系,本实施例对此不做限制。The pre-stored configuration relationship may be any applicable configuration relationship that is manually set, or may be configured to analyze the configuration relationship of each transport cluster for different location areas according to historical data, and may be any applicable configuration relationship. This is not a limitation.
具体而言,一个位置信息对应的传输集群可以有多个,还可以记录多个传输集群的排序,排序靠前则代表传输性能更好,可以作为优先选取的传输集群。Specifically, there may be multiple transmission clusters corresponding to one location information, and multiple transmission clusters may be recorded. The prior ranking indicates that the transmission performance is better, and may be used as the preferred transmission cluster.
步骤102,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正。Step 102: Correct the configuration relationship according to transmission performance data of a transmission cluster of each transmission service provider.
传输性能数据为各客户端与传输集群进行流数据传输时的性能数据,具体可以包括流数据传输时的码率、帧率等。传输集群的传输性能数据可以是由至少一个客户端在进 行流数据传输时采集的数据,经综合多个客户端上报的数据得到的各传输集群的传输性能数据。The transmission performance data is performance data when the client and the transmission cluster perform streaming data transmission, and specifically includes a code rate, a frame rate, and the like when the stream data is transmitted. The transmission performance data of the transmission cluster may be data collected by at least one client during the stream data transmission, and the transmission performance data of each transmission cluster obtained by synthesizing the data reported by the plurality of clients.
在本实施例中,各传输服务供应方的传输集群的传输性能数据是由各客户端定期打点得到的,例如,客户端定期上报的流数据传输时的码率,以及客户端用户选取或客户端根据网络状况切换的视频流数据的帧率。In this embodiment, the transmission performance data of the transmission cluster of each transmission service provider is obtained by each client periodically, for example, the code rate when the client periodically reports the stream data transmission, and the client user selection or client. The frame rate of the video stream data that is switched according to the network status.
根据各客户端上报传输性能数据时携带的位置信息,确定各传输集群对应各位置信息的传输性能数据,由于同一传输集群针对不同的地理区域,也就是针对不同的位置信息,传输性能数据会有不同,随着时间变化,各传输集群对应各位置信息的传输性能数据也会变化。根据各传输集群的传输性能数据对配置关系进行修正。According to the location information carried by each client when transmitting the transmission performance data, the transmission performance data corresponding to each location information of each transmission cluster is determined. Since the same transmission cluster is for different geographical regions, that is, for different location information, the transmission performance data may be Differently, as time changes, the transmission performance data of each transmission cluster corresponding to each location information also changes. The configuration relationship is corrected according to the transmission performance data of each transmission cluster.
具体而言,修正配置关系可以是针对一个位置信息对应的传输集群,修正为传输性能数据最佳的传输集群,或者按照传输性能数据的高低对各传输集群进行重新排序,按排序后的传输集群的顺序修正配置关系。Specifically, the modified configuration relationship may be a transmission cluster corresponding to one location information, modified to a transmission cluster with the best transmission performance data, or reordered each transmission cluster according to the transmission performance data, and the sorted transmission cluster. The order corrects the configuration relationship.
步骤103,按照修正后的配置关系为第一客户端调度对应的第一传输集群。Step 103: Schedule a corresponding first transport cluster for the first client according to the modified configuration relationship.
在本实施例中,第一客户端请求为流数据传输分配一个传输集群,服务器按照修正后的配置关系,根据第一客户端的位置信息,查找到对应的第一传输集群。具体而言,第一客户端将位置信息发送给负责调度传输集群的服务器,由负责调度传输集群的服务器根据本地存储的配置关系,查找与第一客户端的位置关系对应的传输集群,查找到的传输集群为第一传输集群。例如,第一客户端的位置信息对应的所属区域为北京联通,查找与北京联通对应的传输集群,也就是与位置信息对应的传输集群,查找到与北京联通对应的传输集群为第一传输集群。In this embodiment, the first client requests to allocate a transport cluster for the stream data transmission, and the server searches for the corresponding first transport cluster according to the location information of the first client according to the modified configuration relationship. Specifically, the first client sends the location information to the server responsible for scheduling the transmission cluster, and the server responsible for scheduling the transmission cluster searches for the transmission cluster corresponding to the location relationship of the first client according to the locally stored configuration relationship, and finds the The transport cluster is the first transport cluster. For example, the location information corresponding to the location information of the first client is Beijing Unicom, and the transport cluster corresponding to Beijing Unicom is searched, that is, the transport cluster corresponding to the location information, and the transport cluster corresponding to Beijing Unicom is found as the first transport cluster.
步骤104,将调度的第一传输集群通知至第一客户端,以用于流数据的传输。Step 104: Notify the scheduled first transmission cluster to the first client for transmission of the stream data.
在本实施例中,服务器将根据配置关系调度的第一传输集群通知至第一客户端,第一客户端与第一传输集群建立连接,完成流数据的传输。具体可以是将第一传输集群的标识或者域名地址通知给第一客户端,第一客户端根据标识或域名地址将流数据传输请求发送给第一传输集群,第一传输集群可以反馈一个传输集群中的传输节点给第一客户端,第一客户端与传输节点建立连接传输流数据。In this embodiment, the server notifies the first transmission cluster that is scheduled according to the configuration relationship to the first client, and the first client establishes a connection with the first transport cluster to complete the transmission of the stream data. Specifically, the identifier of the first transmission cluster or the domain name address is notified to the first client, where the first client sends a stream data transmission request to the first transmission cluster according to the identifier or the domain name address, and the first transmission cluster can feed back a transmission cluster. The transit node in the first client, the first client establishes a connection transport stream data with the transit node.
综上所述,依据本发明实施例,通过预存客户端的位置信息与至少一个传输集群的配置关系,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正,按照修正后的配置关系为第一客户端调度对应的第一传输集群,将调度的第一传输集群通知至第一客户端,以用于流数据的传输,使得为客户端调度传输集群的配置关系可以根据传输性能数据进行调整,实现了根据各传输集群的传输性能数据,修正位置信息与传输集群的对应关系,解决了无法根据传输集群为客户端提供流数据传输服务时的网络状况或运行状况等调整传输集群的问题。In summary, according to the embodiment of the present invention, the configuration relationship is corrected according to the transmission performance data of the transmission cluster of each transmission service provider by pre-storing the location information of the client and the configuration relationship of the at least one transmission cluster, according to the correction. The configuration relationship is that the first transmission cluster corresponding to the first client is scheduled, and the scheduled first transmission cluster is notified to the first client for transmission of the streaming data, so that the configuration relationship of the transmission cluster is scheduled for the client. According to the transmission performance data, the correspondence between the location information and the transmission cluster is corrected according to the transmission performance data of each transmission cluster, and the network status or running status when the streaming data transmission service cannot be provided according to the transmission cluster for the client is solved. Adjust the problem of the transport cluster.
在本发明实施例中,优选地,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正的一种实现方式为:汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修 正。In the embodiment of the present invention, preferably, the transmission performance data carries a client identifier and a transmission cluster identifier corresponding to a transmission process, and the configuration relationship is performed according to transmission performance data of a transmission cluster of each transmission service provider. One implementation manner of correcting is: collecting transmission performance data of multiple clients corresponding to the same location information to the same transmission cluster, and calculating an average value; by comparing whether the average value reaches a set threshold, or by comparing the same location The information corresponds to the average value of different transmission clusters, and the configuration relationship between the location information and the transmission cluster is corrected.
客户端标识是指上传传输性能数据的客户端的标识,传输集群标识是指上传传输性能数据的客户端连接的传输集群的标识。The client identifier refers to the identifier of the client that uploads the transmission performance data, and the transport cluster identifier refers to the identifier of the transport cluster to which the client that transmits the transmission performance data is connected.
各客户端定期上报传输性能数据,上报的传输性能数据携带有传输性能数据对应的传输过程的客户端标识和传输集群标识,以及上报客户端在对应传输过程中的位置信息。根据客户端上报的位置信息,查找到对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并且计算传输性能数据的平均值,依此方式将每一位置信息对应的多个客户端对各传输集群的传输性能数据汇集,并分别计算平均值。Each client periodically reports the transmission performance data, and the reported transmission performance data carries the client identifier and the transmission cluster identifier of the transmission process corresponding to the transmission performance data, and reports the location information of the client in the corresponding transmission process. According to the location information reported by the client, the transmission performance data of multiple clients corresponding to the same location information to the same transmission cluster is found, and the average value of the transmission performance data is calculated, and multiple clients corresponding to each location information are obtained in this manner. The transmission performance data of each transmission cluster is collected and the average value is calculated separately.
对位置信息与传输集群的配置关系进行修正,具体可以通过比较平均值是否达到设定阈值,如果达到平均值设定阈值,则可以用对应的传输集群与位置信息的对应关系更新配置关系;或者可以通过比较同一位置信息对应的不同传输集群的平均值,按照平均值的排序,更新位置信息与各传输集群的配置关系。Correcting the configuration relationship between the location information and the transmission cluster, whether the average value is compared with the set threshold, and if the average value is set, the configuration relationship may be updated by the corresponding relationship between the transmission cluster and the location information; or The configuration relationship between the location information and each transport cluster can be updated by comparing the average values of different transport clusters corresponding to the same location information according to the ranking of the average values.
在本发明实施例中,优选地,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群的一种实现方式为:提取所述第一客户端的网络地址和/或定位信息;根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。In the embodiment of the present invention, preferably, the configuration relationship is a correspondence between a location area where the client is located and a transmission cluster, and the modified configuration relationship is one of the first transmission clusters corresponding to the first client scheduling. The implementation is as follows: extracting the network address and/or the location information of the first client; identifying the location area to which the first client belongs according to the network address and/or the location information; and searching for the location relationship according to the configuration relationship The first transport cluster of the identified location area configuration.
配置关系为客户端所处位置区域与传输集群的对应关系,提取第一客户端的网络地址、定位信息中至少一种,根据网络地址、定位信息中至少一种,识别第一客户端所处的位置区域,按照修正后的配置关系,查找识别的位置区域对应的传输集群,而且查找到的传输集群是第一传输集群。其中网络地址、定位信息可以是客户端在请求调度传输集群时上报的。The configuration relationship is a correspondence between the location area of the client and the transport cluster, and at least one of the network address and the location information of the first client is extracted, and at least one of the network address and the location information is used to identify the location where the first client is located. The location area searches for the transport cluster corresponding to the identified location area according to the modified configuration relationship, and the discovered transport cluster is the first transport cluster. The network address and the location information may be reported by the client when requesting to schedule the transmission cluster.
参照图2,示出了根据本发明实施例二的一种流数据的传输集群的调度方法的步骤流程示意图,具体可以包括如下步骤:Referring to FIG. 2, a schematic flowchart of a step of a method for scheduling a stream of a data transmission cluster according to a second embodiment of the present invention is shown.
步骤201,预存客户端的位置信息与至少一个传输集群的配置关系。Step 201: Pre-store the configuration relationship between the location information of the client and the at least one transport cluster.
在本实施例中,具体方式和其他实施例描述一致,不做赘述。In the embodiment, the specific manner is the same as the description of other embodiments, and details are not described herein.
步骤202,收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据。Step 202: Collect transmission performance data reported by multiple clients when performing streaming data transmission with each transport cluster.
传输性能数据包括码率、帧率中至少一个,客户端在进行流数据传输时可以上报传输性能数据,具体可以根据服务器的请求上报传输性能数据,也可以定期上报传输性能数据。多个客户端在与各传输集群进行流数据传输时,分别上报传输性能数据,服务器收集各客户端上报的传输性能数据。The transmission performance data includes at least one of a code rate and a frame rate. The client can report the transmission performance data when the stream data is transmitted. The transmission performance data may be reported according to the request of the server, or the transmission performance data may be reported periodically. When the client performs streaming data transmission with each transport cluster, the transmission performance data is reported separately, and the server collects the transmission performance data reported by each client.
步骤203,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正。Step 203: Correct the configuration relationship according to the transmission performance data of the transmission cluster of each transmission service provider.
在本实施例中,具体方式和其他实施例描述一致,不做赘述。In the embodiment, the specific manner is the same as the description of other embodiments, and details are not described herein.
步骤204,接收第一客户端分配传输集群的调度请求。Step 204: Receive a scheduling request of the first client to allocate a transport cluster.
在本实施例中,第一客户端需要传输流数据,向服务器发送分配传输集群的调度请求,服务器接收第一客户端发送的调度请求。其中服务器为集群调度服务器,用于为客户端调度传输集群的服务器。In this embodiment, the first client needs to transmit the stream data, and sends a scheduling request for allocating the transport cluster to the server, and the server receives the scheduling request sent by the first client. The server is a cluster scheduling server, which is used to schedule the server for transmitting the cluster for the client.
步骤205,按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群。Step 205: Search for multiple transport clusters corresponding to the first client according to the modified configuration relationship.
在本实施例中,位置信息与传输集群的配置关系可以是一个位置信息对应多个传输集群,按照修正后的配置关系,查找第一客户端的位置信息对应的传输集群,并且查找到的传输集群为多个传输集群。In this embodiment, the configuration relationship between the location information and the transport cluster may be that one location information corresponds to multiple transport clusters, and according to the modified configuration relationship, the transport cluster corresponding to the location information of the first client is searched, and the transport cluster is found. For multiple transport clusters.
步骤206,从所述多个传输集群中选取满足设定条件的第一传输集群。Step 206: Select a first transmission cluster that meets the setting condition from the plurality of transmission clusters.
在本实施例中,从多个传输集群中选取满足设定条件的传输集群,其中,设定条件可以包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。In this embodiment, a transmission cluster that satisfies the setting condition is selected from a plurality of transmission clusters, wherein the setting condition may include that the number of historical selections is lower than a set ratio, the ranking is after the historically selected transmission cluster, and is greater than a setting. Priority or transmission performance meets the set requirements.
具体而言,根据一种设定条件,从多个传输集群中选取历史选取的次数低于设定比例的传输集群,例如可以预先为各个传输集群设定选取的比例,如果传输集群在历史选取记录中被选取的次数低于设定比例,则选取该传输集群。设定比例可以为任意适用的比例,本实施例对此不做限制。根据另一种设定条件,从多个传输集群中,根据历史选取的传输集群,选取最近未被选取过的传输集群,例如4个传输集群中有3个传输集群刚刚被选取过,则选取未被选取的传输集群。根据另一种设定条件,为多个传输集群设定优先级,选取大于设定优先级的传输集群。还可以包括从多个传输集群中,选取传输性能满足设定要求的传输集群,例如根据传输性能数据选取大于设定阈值的传输集群。具体可以为任意适用的设定要求,本实施例对此不做限制。Specifically, according to a setting condition, a transmission cluster whose number of historical selections is lower than a set ratio is selected from a plurality of transmission clusters, for example, a selected ratio may be set for each transmission cluster in advance, if the transmission cluster is selected in history. If the number of times selected in the record is lower than the set ratio, the transmission cluster is selected. The set ratio can be any applicable ratio, which is not limited in this embodiment. According to another setting condition, from the plurality of transmission clusters, according to the historically selected transmission cluster, the transmission cluster that has not been selected recently is selected. For example, if three of the four transmission clusters have just been selected, the selection is performed. Unselected transport cluster. According to another setting condition, priority is set for multiple transmission clusters, and a transmission cluster larger than the set priority is selected. The transmission clusters whose transmission performance meets the setting requirements are selected from the plurality of transmission clusters, for example, the transmission clusters larger than the set threshold are selected according to the transmission performance data. Specifically, it may be any applicable setting requirement, and this embodiment does not limit this.
步骤207,识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识。Step 207: When the scheduling request indicates that the streaming data is uploaded, the flow identifier is allocated to the streaming data to be uploaded.
在本实施例中,流标识是指为区分流数据给每个流数据分配的标识,例如可以由客户端或者调度传输集群的服务器为待上传的流数据分配标识。识别调度请求,根据调度请求为流数据的传输分配传输集群,并将分配结果反馈给调度请求的发送方,指示其上传流数据,同时服务器还可以为待上传的流数据分配流标识。In this embodiment, the flow identifier refers to an identifier that is allocated to each stream data to distinguish the stream data. For example, the server or the server that schedules the transport cluster may assign an identifier to the stream data to be uploaded. The scheduling request is identified, and the transmission cluster is allocated for the transmission of the stream data according to the scheduling request, and the allocation result is fed back to the sender of the scheduling request, and the server is instructed to upload the stream data, and the server may further allocate a stream identifier for the stream data to be uploaded.
步骤208,将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。Step 208: Combine the flow identifier with the domain name of the scheduled transport cluster into a streaming address notification to the first client, so that the client performs the transmission of the streaming data according to the streaming address.
在本实施例中,流传输地址为客户端进行流数据传输时要访问的地址,通过对流传输地址进行解析,发起握手,建立流数据传输的连接后发起传输请求,服务器响应传输请求,客户端得到进行流数据传输的代码,客户端解析流数据传输的代码,执行流数据传输的代码以开始流数据的传输。In this embodiment, the streaming address is an address to be accessed when the client performs streaming data transmission, parsing the streaming address, initiating a handshake, establishing a connection of the streaming data transmission, and then initiating a transmission request, and the server responding to the transmission request, the client The code for streaming data transmission is obtained, the client parses the code of the stream data transmission, and executes the code of the stream data transmission to start the transmission of the stream data.
调度传输集群的服务器根据调度请求,为流数据分配流标识和第一传输集群,并将流标识和第一传输集群的域名组合成流传输地址,将流传输地址发送给第一客户端,以供客户端根据流传输地址进行流数据的传输。The server that schedules the transmission cluster allocates a flow identifier and a first transport cluster for the flow data according to the scheduling request, and combines the flow identifier and the domain name of the first transport cluster into a streaming address, and sends the streaming address to the first client, The client transmits the stream data according to the streaming address.
在本实施例中,优选地,所述调度请求携带所述第一客户端的协议类型,所述将所述流标识与调度的传输集群的域名组合成流传输地址的一种实现方式为:以所述协议类型为协议头,将所述流标识与调度的传输集群的域名组合成流传输地址。In this embodiment, preferably, the scheduling request carries a protocol type of the first client, and the implementation manner of combining the flow identifier with a domain name of a scheduled transmission cluster into a streaming address is: The protocol type is a protocol header, and the flow identifier is combined with the domain name of the scheduled transport cluster into a streaming address.
第一客户端的协议类型是指第一客户端支持并选择的流数据传输的协议类型,例如,RTMP全称Routing Table Maintenance Protocol(路由选择表维护协议)在AppleTalk协议组中,路由选择表维护协议(RTMP,Routing Table Protocol)是一种传输层协议,它在AppleTalk路由器中建立并维护路由选择表。RTMP基于路由选择信息协议(RIP)。 正如RIP一样,RTMP使用跳数作为路由计量标准。一个数据包从源网络发送到目标网络,必须通过的路由器或其它中间介质节点数目的计算结果即为跳数。The protocol type of the first client refers to the protocol type of the stream data transmission supported and selected by the first client. For example, the RTMP full name Routing Table Maintenance Protocol is in the AppleTalk protocol group, and the routing table maintenance protocol ( RTMP (Routing Table Protocol) is a transport layer protocol that establishes and maintains a routing table in an AppleTalk router. RTMP is based on the Routing Information Protocol (RIP). Like RIP, RTMP uses hop count as the routing metric. The number of hops that the number of routers or other intermediate media nodes that must pass through a packet is sent from the source network to the destination network.
在本实施例中,以第一客户端的协议类型为传输地址的协议头,将流标识与调度的传输集群的域名组合成流传输地址。In this embodiment, the protocol identifier of the first client is a protocol header of the transport address, and the domain identifier is combined with the domain name of the scheduled transport cluster into a streaming address.
步骤209,接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。Step 209: Receive target stream data uploaded by the first client, and push the target stream data to a storage server that stores stream data of multiple transport clusters.
在本实施例中,目标流数据为第一客户端上传至传输集群的流数据。接收目标流数据,将目标流数据推送至存储流数据的服务器,具体可以是专门用于存储多个传输集群的流数据的存储服务器。In this embodiment, the target stream data is stream data uploaded by the first client to the transport cluster. The target stream data is received, and the target stream data is pushed to a server that stores the stream data, and specifically may be a storage server dedicated to storing stream data of a plurality of transport clusters.
步骤210,接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。Step 210: Receive a scheduling request that the second client acquires the target stream data, and notify the first transmission cluster that stores the target stream data to the second client.
在本实施例中,接收第二客户端的调度请求,调度请求为获取目标流数据的调度请求,根据第二客户端的调度请求,将存放目标流数据的第一传输集群通知给第二客户端,具体可以是将第一传输集群中有目标流数据的传输节点的地址通知给第二客户端。In this embodiment, the scheduling request of the second client is received, and the scheduling request is a scheduling request for acquiring the target stream data, and the first transmission cluster storing the target stream data is notified to the second client according to the scheduling request of the second client. Specifically, the address of the transmission node having the target stream data in the first transmission cluster may be notified to the second client.
步骤211,接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。Step 211: Receive a scheduling request that the second client replaces the first transport cluster, and schedule a second transport cluster for the second client according to the configuration relationship, where the second transport cluster retrieves the Target stream data.
在本实施例中,第二客户端发出更换第一传输集群的调度请求,例如,由于第二客户端与第一传输集群之间传输速度无法满足视频直播的需要。接收更换第一传输集群的调度请求,根据第二客户端的位置信息与传输集群的配置关系,为第二客户端调度传输集群,并且调度的传输集群为第二传输集群。第二传输集群与存储有目标流数据的存储服务器建立连接,将目标流数据传输到第二传输集群上。In this embodiment, the second client sends a scheduling request to replace the first transmission cluster, for example, because the transmission speed between the second client and the first transmission cluster cannot meet the requirement of video live broadcast. Receiving a scheduling request for replacing the first transport cluster, scheduling a transport cluster for the second client according to the configuration relationship between the location information of the second client and the transport cluster, and scheduling the transport cluster as the second transport cluster. The second transport cluster establishes a connection with the storage server storing the target stream data, and transmits the target stream data to the second transport cluster.
综上所述,依据本发明实施例,通过预存客户端的位置信息与至少一个传输集群的配置关系,收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正,使得为客户端调度传输集群的配置关系可以根据各客户端上报的传输性能数据进行调整,实现了根据各传输集群的传输性能数据,修正位置信息与传输集群的对应关系,解决了无法根据传输集群为客户端提供流数据传输服务时的网络状况或运行状况等调整传输集群的问题。In summary, according to the embodiment of the present invention, the transmission performance data reported by multiple clients when performing streaming data transmission with each transport cluster is collected by pre-storing the location information of the client and the configuration relationship of the at least one transport cluster, according to each transmission. The transmission performance data of the service provider's transmission cluster is modified, so that the configuration relationship of the transmission cluster for the client can be adjusted according to the transmission performance data reported by each client, and the transmission according to each transmission cluster is realized. The performance data, the relationship between the location information and the transport cluster is corrected, and the problem that the transport cluster cannot be adjusted according to the network status or the running status when the transport cluster provides the streaming data transmission service to the client is solved.
进一步,通过接收第一客户端分配传输集群的调度请求,按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群,从所述多个传输集群中选取满足设定条件的第一传输集群,使得在根据配置关系选取了多个传输集群时,可以按照一定的条件为客户端分配一个传输集群,以充分利用各传输集群。Further, by receiving the scheduling request of the first client to allocate the transmission cluster, searching for the plurality of transmission clusters corresponding to the first client according to the modified configuration relationship, and selecting from the plurality of transmission clusters that the setting conditions are met The first transmission cluster enables a client to allocate a transport cluster according to certain conditions when multiple transport clusters are selected according to the configuration relationship, so as to fully utilize each transport cluster.
进一步,通过识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识,将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输,使得为客户端调度传输集群的服务器还可以为流数据生成流传输地址,以供客户端访问该地址完成流数据传输。Further, when the scheduling request is instructed to upload the stream data, the stream identifier is allocated to the stream data to be uploaded, and the domain identifier and the domain name of the scheduled transport cluster are combined into a stream transmission address notification to the first client for The client performs the transmission of the streaming data according to the streaming address, so that the server that schedules the transport cluster for the client may also generate a streaming address for the streaming data, so that the client accesses the address to complete the streaming data transmission.
进一步,通过接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多 个传输集群的流数据的存储服务器,接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端,使得流数据可以保存到存储服务器上,存储服务器为跨传输集群进行流数据传输的中间服务,实现了流数据跨传输集群的传输。Further, receiving the target stream data uploaded by the first client, pushing the target stream data to a storage server storing stream data of the plurality of transport clusters, and receiving a scheduling request of the second client to acquire the target stream data, and Notifying the first transmission cluster storing the target stream data to the second client, so that the stream data can be saved to the storage server, and the storage server is an intermediate service for streaming data transmission across the transport cluster, and realizing the transmission of the stream data across the transport cluster .
参照图3,示出了根据本发明实施例三的一种流数据的传输集群的调度方法的步骤流程示意图,具体可以包括如下步骤:Referring to FIG. 3, a schematic flowchart of a step of a method for scheduling a stream of a data transmission cluster according to a third embodiment of the present invention is shown.
步骤301,预存客户端的位置信息与至少一个传输集群的配置关系。Step 301: Pre-store the configuration relationship between the location information of the client and the at least one transport cluster.
在本实施例中,具体方式和其他实施例描述一致,不做赘述。In the embodiment, the specific manner is the same as the description of other embodiments, and details are not described herein.
步骤302,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正。Step 302: Correct the configuration relationship according to transmission performance data of a transmission cluster of each transmission service provider.
在本实施例中,具体方式和其他实施例描述一致,不做赘述。In the embodiment, the specific manner is the same as the description of other embodiments, and details are not described herein.
步骤303,第一客户端确定存在新增传输集群。In step 303, the first client determines that there is a new transmission cluster.
在本实施例中,传输集群是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。例如内容分发网络(Content Delivery Network,CDN)。In this embodiment, the transport cluster refers to a computer network system that is connected to each other through the Internet, and uses the server closest to each user to send music, pictures, videos, applications, and other files to the faster and more reliable. Users, to deliver high-performance, scalable and low-cost web content to users. For example, the Content Delivery Network (CDN).
传输集群可以用于流数据的传输,其中,流数据为可以采用流式传输的方式在网络上传输的数据,流数据可以从一个节点传输到至少一个传输节点上。一个传输节点上可以同时存在多个流数据传输,传输集群由多个传输节点组成。其中传输节点为可以用于接收、存储、分发流数据的服务器。The transport cluster can be used for the transmission of stream data, wherein the stream data is data that can be transmitted on the network by means of streaming, and the stream data can be transmitted from one node to at least one transport node. A plurality of stream data transmissions can exist simultaneously on one transmission node, and the transmission cluster is composed of multiple transmission nodes. The transit node is a server that can be used to receive, store, and distribute streaming data.
大型流数据传输系统经常依赖于传输集群对流数据进行传输,传输集群是通过在现有的网络中增加一层新的网络结构,使用户可以将数据传输到就近的节点上或从就近的节点获取所需的数据。在传输集群中,部署有传输节点,用于缓冲流数据,就近给用户提供服务。例如视频直播应用或者远程摄像头应用经常依赖于传输集群对流数据进行传输。Large-scale streaming data transmission systems often rely on transport clusters to transmit convective data. The transport clusters are created by adding a new layer of network structure to the existing network, so that users can transmit data to or near the nearest node. The required data. In the transport cluster, a transport node is deployed to buffer the stream data and provide services to the user. For example, video live applications or remote camera applications often rely on transport clusters to transmit streaming data.
至少一个传输集群为第一客户端提供流数据传输服务,当新增传输集群为客户端提供流数据传输服务时,第一客户端确定存在新增传输集群,具体方式可以是任意适用的方式,本实施例对此不作限定。例如,第一客户端可以通过从集群管理服务器获取记录所有传输集群的第一集群列表,通过比对第一集群列表与本地存储的第二集群列表,确定存在新增传输集群;或者第一客户端可以通过接收集群管理服务器发送的新增传输集群通知,确定存在新增传输集群。在本发明中,集群管理服务器为用于管理传输集群的服务器。At least one transport cluster provides a streaming data transmission service for the first client. When the new transport cluster provides a streaming data transmission service for the client, the first client determines that there is a new transport cluster, and the specific manner may be any applicable manner. This embodiment does not limit this. For example, the first client may obtain the first cluster list that records all the transport clusters from the cluster management server, and determine that there is a new transport cluster by comparing the first cluster list with the locally stored second cluster list; or the first client The terminal can determine that there is a new transport cluster by receiving a new transport cluster notification sent by the cluster management server. In the present invention, the cluster management server is a server for managing a transport cluster.
在本实施例中,优选地,所述第一客户端确定存在新增传输集群的一种实现方式为:所述第一客户端从集群管理服务器获取记录所有传输集群的第一集群列表;所述第一客户端通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。In this embodiment, preferably, the first client determines that there is a newly added transport cluster: the first client obtains, from the cluster management server, a first cluster list that records all transport clusters; The first client determines that there is a new transport cluster by comparing the first cluster list with the locally stored second cluster list.
集群管理服务器为用于管理传输集群的服务器。第一集群列表为存储在集群管理服务器上当前提供流数据传输服务的传输集群的列表。第二集群列表为存储在第一客户端本地的提供流数据传输服务的传输集群的列表。第一客户端从集群管理服务器下载到本 地,然后比较第一集群列表和第二集群列表,如果第一集群列表中有第二集群列表中没有的传输集群的标识,则确定存在新增的传输集群。The cluster management server is the server that manages the transport cluster. The first cluster list is a list of transport clusters that are currently providing streaming data transport services on the cluster management server. The second cluster list is a list of transport clusters that provide streaming data transport services local to the first client. The first client downloads from the cluster management server to the local device, and then compares the first cluster list and the second cluster list. If the first cluster list has an identifier of the transport cluster that is not in the second cluster list, it is determined that there is a new transmission. Cluster.
在本实施例中,优选地,所述方法还包括:若通过比对所述第一集群列表与本地存储的第二集群列表,所述第一客户端确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。In this embodiment, preferably, the method further includes: if the first client determines that there is a target transmission cluster that has been deleted, by comparing the first cluster list with the locally stored second cluster list, Then delete the communication configuration code corresponding to the locally saved target transmission cluster.
目标传输集群为不再为流数据传输提供服务的传输集群。第一客户端比较第一集群列表和第二集群列表,如果第二集群列表中有第一集群列表中没有的传输集群的标识,则确定存在已删除的目标传输集群。将第一客户端本地保存的目标传输集群对应的通信配置代码删除。The target transport cluster is a transport cluster that no longer serves streaming data transfers. The first client compares the first cluster list with the second cluster list. If the second cluster list has an identifier of the transport cluster that is not in the first cluster list, it is determined that there is a deleted target transport cluster. The communication configuration code corresponding to the target transmission cluster saved locally by the first client is deleted.
在本实施例中,优选地,所述方法还包括:所述第一客户端以所述集群管理服务器的第一集群列表更新第二集群列表。In this embodiment, preferably, the method further includes: the first client updating the second cluster list by using the first cluster list of the cluster management server.
第一客户端从集群管理服务器下载第一集群列表,比较第一集群列表和第二集群列表后,用第一集群列表更新第二集群列表,具体可以将第二集群列表删除,并将第一集群列表保存到本地作为新的第二集群列表,或者将第一集群列表中新增的内容补充到本地的第二集群列表中,或者将第一集群列表中删除的内容从本地的第二集群列表中删除。The first client downloads the first cluster list from the cluster management server, compares the first cluster list and the second cluster list, and updates the second cluster list with the first cluster list, specifically deleting the second cluster list, and the first The cluster list is saved locally as a new second cluster list, or the newly added content in the first cluster list is added to the local second cluster list, or the content deleted in the first cluster list is removed from the local second cluster. Remove from the list.
步骤304,第一客户端从通信配置代码库中下载对应的通信配置代码。Step 304: The first client downloads a corresponding communication configuration code from the communication configuration code base.
在本实施例中,通信配置代码为可以嵌入式执行的用于对客户端和传输集群之间的通信进行配置的代码,执行通信配置代码可以用于封装调度请求,解析调度结果。不同的传输集群在进行传输节点调度时,封装调度请求和解析调度结果的方式各不相同,就需要对应的不同的通信配置代码。例如,通信配置代码可以是用Lua程序设计语言编写的脚本代码,应用使用Lua语言作为嵌入式脚本语言,以此来实现可配置性、可扩展性。In this embodiment, the communication configuration code is code that can be embedded and configured to configure communication between the client and the transport cluster, and the execution communication configuration code can be used to encapsulate the scheduling request and parse the scheduling result. When different transmission clusters perform transmission node scheduling, the methods of encapsulating scheduling requests and parsing scheduling results are different, and corresponding communication configuration codes are required. For example, the communication configuration code can be script code written in the Lua programming language, and the application uses the Lua language as an embedded scripting language to achieve configurability and scalability.
通信配置代码库是指存储有各传输集群对应的通信配置代码的数据库,通信配置代码库可以在任意适用的服务器上,本实施例对此不作限定。例如可以在集群管理服务器上。The communication configuration code library is a database in which the communication configuration code corresponding to each transmission cluster is stored, and the communication configuration code library can be used on any applicable server, which is not limited in this embodiment. For example, it can be on a cluster management server.
第一客户端确定存在新增传输集群后,从通信配置代码库中查找到对应新增的传输集群的通信配置代码,并下载新增传输集群对应的通信配置代码到本地。After determining that the new transmission cluster exists, the first client finds the communication configuration code corresponding to the newly added transmission cluster from the communication configuration code base, and downloads the communication configuration code corresponding to the newly added transmission cluster to the local.
步骤305,按照修正后的配置关系为第一客户端调度对应的第一传输集群。Step 305: Schedule a corresponding first transport cluster for the first client according to the modified configuration relationship.
在本实施例中,具体方式和其他实施例描述一致,不做赘述。In the embodiment, the specific manner is the same as the description of other embodiments, and details are not described herein.
步骤306,将调度的第一传输集群通知至第一客户端,以用于流数据的传输。 Step 306, notifying the scheduled first transmission cluster to the first client for transmission of the stream data.
在本实施例中,具体方式和其他实施例描述一致,不做赘述。In the embodiment, the specific manner is the same as the description of other embodiments, and details are not described herein.
步骤307,调用所述新增传输集群时,第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装。 Step 307, when the newly added transport cluster is invoked, the first client interprets and executes the communication configuration code by using a preset interpreter, and the communication configuration code performs the transmission node according to the communication protocol of the newly added transport cluster. The encapsulation of the scheduling request.
在本实施例中,新增传输集群为第一传输集群。第一客户端调用新增传输集群是指第一客户端通过新增传输集群进行流数据传输,具体可以是第一客户端主动选择新增的传输集群,或者可以是第一客户端接收集群调度根据第一客户端的请求为客户端选择新增的传输集群。In this embodiment, the newly added transport cluster is the first transport cluster. The first client calls the newly added transport cluster, which means that the first client transmits the data through the newly added transport cluster. Specifically, the first client actively selects the newly added transport cluster, or the first client receives the cluster schedule. Select a new transport cluster for the client based on the request of the first client.
解释器(英语:Interpreter),又译为直译器,是一种电脑程序,能够把高级编程语 言一行一行直接转译运行。解释器不会一次把整个程序转译出来,只像一位“中间人”,每次运行程序时都要先转成另一种语言再作运行。它每转译一行程序叙述就立刻运行,然后再转译下一行,再运行,如此不停地进行下去。The interpreter (English: Interpreter), also translated as an interpreter, is a computer program that translates high-level programming languages directly and line by line. The interpreter does not translate the entire program at once, just like a "middleman", each time you run the program, you must first switch to another language and run it. It runs immediately after translating a line of program descriptions, then translates the next line, and then runs, so it keeps going.
针对不同的程序设计语言,会有不同的解释器。在本实施例中,预置解释器为可以解释并执行通信配置代码的解释器,例如,通信配置代码是基于Lua程序设计语言编写的,预置解释器就是Lua语言通用的解释器。There are different interpreters for different programming languages. In the present embodiment, the preset interpreter is an interpreter that can interpret and execute the communication configuration code. For example, the communication configuration code is written based on the Lua programming language, and the preset interpreter is a general interpreter for the Lua language.
新增传输集群的通信协议是指客户端与传输集群完成通信或服务所必须遵循的规则和约定。例如,客户端向传输集群发送调度请求的封装规则、客户端向传输集群发送调度请求的调度服务器的网络地址、客户端接收调度结果后的解析规则等。The communication protocol of the newly added transport cluster refers to the rules and conventions that the client must follow to complete communication or service with the transport cluster. For example, the encapsulation rule that the client sends a scheduling request to the transport cluster, the network address of the scheduling server that the client sends the scheduling request to the transport cluster, and the parsing rules after the client receives the scheduling result.
第一客户端采用预置解释器解释并执行通信配置代码,对调度请求进行封装,其中,调度请求是客户端向传输集群发送的传输节点的调度请求。例如,采用Lua语言通用解释器解释并执行传输集群对应的通信配置代码,执行通信配置代码实现对客户端要发送的IP调度请求数据包的封装。具体而言,针对不同传输集群IP调度请求数据包中包括的内容不同,有的传输集群约定IP调度请求数据包中是传输集群的域名地址后直接拼接流数据的标识以及特定字符串,有的传输集群约定IP调度请求数据包中是自定义格式的传输集群的域名地址、流数据的标识以及特定字符串。The first client interprets and executes the communication configuration code by using a preset interpreter to encapsulate the scheduling request, wherein the scheduling request is a scheduling request of the transmitting node sent by the client to the transmission cluster. For example, the Lua language universal interpreter is used to interpret and execute the communication configuration code corresponding to the transmission cluster, and the communication configuration code is executed to implement encapsulation of the IP scheduling request data packet to be sent by the client. Specifically, the content included in the data transmission request packet of different transmission clusters is different. Some transmission clusters agree that the IP scheduling request data packet is the identifier of the stream data and the specific string after directly transmitting the domain name address of the cluster, and some The transport cluster contract IP scheduling request packet is a domain name address of the transport cluster in a custom format, an identifier of the stream data, and a specific string.
步骤308,第一客户端将封装的调度请求发送至所述新增传输集群。Step 308: The first client sends the encapsulated scheduling request to the newly added transport cluster.
在本实施例中,第一客户端将封装的调度请求发送至新增传输集群,具体可以为访问传输集群对应的通信配置代码记录的网络地址时,发送封装的调度请求。例如,网络地址可以为直播应用中调用传输集群的域名推流地址,解析域名推流地址可以得到将封装的调度请求发送到用于在传输集群中选传输节点的服务器。In this embodiment, the first client sends the encapsulated scheduling request to the newly added transport cluster, and may specifically send the encapsulated scheduling request when accessing the network address recorded by the communication configuration code corresponding to the transport cluster. For example, the network address may be a domain name push stream address of the transport cluster in the live broadcast application, and the domain name push stream address may be parsed to send the encapsulated scheduling request to the server for selecting the transport node in the transport cluster.
在本实施例中,优选地,所述通信配置代码还记录有所述新增传输集群的网络地址,所述第一客户端将封装的调度请求发送至所述新增传输集群的一种实现方式为:所述第一客户端按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。In this embodiment, preferably, the communication configuration code further records a network address of the newly added transmission cluster, and the first client sends an encapsulated scheduling request to an implementation of the newly added transmission cluster. The method is: the first client sends the encapsulated scheduling request to the newly added transport cluster according to the network address of the newly added transport cluster indicated by the communication configuration code.
新增传输集群的网络地址为调用传输集群的域名地址,第一客户端解析网络地址并访问可以将封装的调度请求发送到网络地址对应的传输集群上。具体解析通信配置代码指示的新增传输集群的网络地址可以得到用于调度传输节点的服务器的地址,然后将封装的调度请求发送至服务器。The network address of the newly added transport cluster is the domain name address of the calling transport cluster. The first client resolves the network address and accesses the encapsulated scheduling request to the transport cluster corresponding to the network address. Specifically analyzing the network address of the newly added transport cluster indicated by the communication configuration code may obtain the address of the server for scheduling the transport node, and then send the encapsulated scheduling request to the server.
步骤309,第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输。Step 309: The first client performs stream data transmission according to the transmission node scheduled by the newly added transmission cluster.
在本实施例中,新增传输集群为第一客户端调度传输节点,具体可以是根据第一客户端的网络地址、所处地理位置等至少一种信息进行调度,选择的传输节点为与第一客户端网络连接状况较好的传输节点,具体可以根据任意适用的调度逻辑为第一客户端调度传输节点,本实施例对此不作限定。第一客户端与调度的传输节点建立连接,进行流数据的传输,具体可以包括第一客户端进行流数据的上传或下载。In this embodiment, the newly added transmission cluster is the first client scheduling transmission node, and specifically, the scheduling is performed according to at least one type of information such as the network address of the first client and the geographical location of the first client, and the selected transmission node is the first The transit node with a good network connection of the client may specifically allocate the transit node for the first client according to any applicable scheduling logic, which is not limited in this embodiment. The first client establishes a connection with the scheduled transit node to perform the transmission of the stream data, and specifically includes the first client uploading or downloading the stream data.
在本实施例中,优选地,所述第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输的一种实现方式为:所述第一客户端接收所述新增传输集群反馈的调度结果;所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置 代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;所述第一客户端按照所述节点标识对应的传输节点的传输地址进行流数据的传输。In this embodiment, preferably, the first client performs the transmission of the stream data according to the transmission node scheduled by the newly added transmission cluster: the first client receives the newly added transmission a scheduling result of the cluster feedback; the first client interprets and executes the communication configuration code by using a preset interpreter, and the communication configuration code is parsed from the scheduling result according to a communication protocol of the newly added transmission cluster The node identifier of the transmission node scheduled to be newly transmitted by the cluster is transmitted; the first client performs the transmission of the stream data according to the transmission address of the transmission node corresponding to the node identifier.
在本实施例中,新增传输集群反馈的调度结果为调度的传输集群中的传输节点,具体可以是新增传输集群根据封装的调度请求,为第一客户端调度传输集群中的一个传输节点,其中调度结果中封装有调度的传输节点的节点标识等信息。传输集群可以根据第一客户端的网络地址和/或所处位置为客户端分配一个传输节点,还可以包括根据多个传输节点间的负载平衡为第一客户端分配一个传输节点,具体可以采用任意适用的调度方式,本实施例对此不作限定。新增传输集群将调度产生的调度结果发送给第一客户端,第一客户端接收调度结果。In this embodiment, the scheduling result of the newly added transmission cluster feedback is the transmission node in the scheduled transmission cluster, and specifically, the newly added transmission cluster schedules a transmission node in the transmission cluster for the first client according to the encapsulated scheduling request. And wherein the scheduling result encapsulates information such as a node identifier of the scheduled transmission node. The transport cluster may allocate a transport node to the client according to the network address and/or the location of the first client, and may further allocate a transport node to the first client according to load balancing among multiple transport nodes, and may specifically adopt any The applicable scheduling mode is not limited in this embodiment. The new transmission cluster sends the scheduling result generated by the scheduling to the first client, and the first client receives the scheduling result.
节点标识为传输节点在网络中的标识,具体可以是传输节点在传输集群中的标识或者传输节点的网络地址,例如IP地址。第一客户端采用预置解释器解释并执行通信配置代码,根据新增传输集群的通信协议对调度结果进行解析,从调度结果中解析出调度的传输节点的节点标识。The node identifier is an identifier of the transit node in the network, and may specifically be an identifier of the transport node in the transport cluster or a network address of the transport node, such as an IP address. The first client interprets and executes the communication configuration code by using a preset interpreter, parses the scheduling result according to the communication protocol of the newly added transmission cluster, and parses out the node identifier of the scheduled transmission node from the scheduling result.
例如,采用Lua语言通用解释器解释并执行新增传输集群对应的通信配置代码,执行通信配置代码实现对客户端接收的IP调度结果数据包的解析。具体而言,针对不同传输集群IP调度结果数据包中包括的内容不同,有的传输集群约定调度结果数据包中是传输节点的网络地址后直接拼接流数据的标识以及特定字符串,有的传输集群约定调度结果数据包中是自定义格式的传输节点的网络地址、流数据的标识以及特定字符串。For example, the Lua language universal interpreter is used to interpret and execute the communication configuration code corresponding to the newly added transmission cluster, and the communication configuration code is executed to implement parsing of the IP scheduling result data packet received by the client. Specifically, the content included in the data packet of different transmission cluster IP scheduling results is different. Some transmission clusters agree that the result of the scheduling data packet is the identifier of the stream data directly after the network address of the transmission node, and the specific string, and some transmissions The cluster contract scheduling result packet is a network address of the transport node in a custom format, an identifier of the stream data, and a specific string.
在实施例中,传输地址为用于流数据传输的网络地址,具体可以由流数据传输的协议对应协议头、传输节点的网络地址、流数据的标识以及约定的特定字符串组合成传输地址。In an embodiment, the transport address is a network address used for streaming data transmission, and may be combined into a transport address by a protocol corresponding protocol header of the stream data transmission, a network address of the transport node, an identifier of the stream data, and an agreed specific string.
第一客户端通过节点标识可以找到对应的传输节点,传输地址可以根据从调度结果中解析出的内容在第一客户端生成,也可以直接从调度结果中解析得到。第一客户端访问传输地址,将流数据向传输节点传输。The first client can find the corresponding transit node by using the node identifier, and the transport address can be generated on the first client according to the content parsed from the scheduling result, or can be directly parsed from the scheduling result. The first client accesses the transport address and transmits the stream data to the transport node.
在本实施例中,优选地,在所述调用所述新增传输集群时,所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,还可以包括步骤:所述第一客户端向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。In this embodiment, preferably, when the calling the newly added transport cluster, the first client interprets and executes the communication configuration code by using a preset interpreter, according to the communication configuration code Before the communication protocol of the transmission cluster is added to perform the encapsulation of the scheduling request of the transmission node, the method may further include: the first client sending a stream data transmission request to the cluster scheduling server, and receiving the scheduling new feedback from the cluster scheduling server. The feedback result of the transmission cluster.
集群调度服务器为可以为第一客户端调度传输集群的服务器,具体可以根据第一客户端的流数据传输请求为第一客户端选取传输集群并反馈给第一客户端。集群调度服务器可以是单个服务器,也可以是集群调度服务器集群中的一个。集群调度服务器可以和集群管理服务器是同一个服务器,也可以是和集群管理服务器不同的另一个服务器。The cluster scheduling server is a server that can schedule a transmission cluster for the first client, and specifically, the transmission cluster is selected for the first client according to the streaming data transmission request of the first client, and is fed back to the first client. The cluster scheduling server can be a single server or one of the cluster scheduling server clusters. The cluster scheduling server can be the same server as the cluster management server or another server different from the cluster management server.
在本实施例中,第一客户端向集群调度服务器发送流数据传输请求,其中流数据传输请求通常携带有客户端的网络地址和/或当前所处位置,以作为集群调度服务器为客户端选取传输集群的依据。第一客户端接收集群调度服务器的反馈结果,其中反馈结果为调度新增传输集群的调度结果,具体包括为第一客户端选择的传输集群,还可以包括为 流数据分配的流数据标识。在本实施例中,集群调度服务器根据第一客户端的传输请求,为第一客户端调度的传输集群为新增传输集群,第一客户端接收到集群调度服务器的反馈结果。In this embodiment, the first client sends a stream data transmission request to the cluster scheduling server, where the stream data transmission request usually carries the network address of the client and/or the current location, so as to select the transmission as the cluster scheduling server for the client. The basis of the cluster. The first client receives the feedback result of the cluster scheduling server, where the feedback result is the scheduling result of scheduling the newly added transmission cluster, specifically including the transmission cluster selected for the first client, and may further include the stream data identifier allocated for the stream data. In this embodiment, the cluster scheduling server receives the transmission cluster for the first client as the newly added transmission cluster according to the transmission request of the first client, and the first client receives the feedback result of the cluster scheduling server.
在本实施例中,优选地,在所述第一客户端确定存在新增传输集群之后,还可以包括步骤:所述第一客户端获取所述新增传输集群的集群标识;在所述第一客户端从通信配置代码库中下载对应的通信配置代码之前,还可以包括步骤:所述第一客户端按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。In this embodiment, after the first client determines that there is a newly added transport cluster, the method may further include: the first client acquiring a cluster identifier of the newly added transport cluster; Before the client downloads the corresponding communication configuration code from the communication configuration code base, the method may further include: the first client searching for the corresponding communication configuration code from the communication configuration code base according to the cluster identifier of the newly added transmission cluster. .
确定存在新增传输集群后,第一客户端客户端获取新增传输集群的集群标识,例如,可以从传输集群的列表中获取新增传输集群的集群标识。例如可以从第一集群列表中提取新增传输集群的集群标识。After the new transmission cluster is determined, the first client client obtains the cluster identifier of the newly added cluster. For example, the cluster identifier of the newly added cluster can be obtained from the list of the transport cluster. For example, the cluster identity of the newly added transport cluster can be extracted from the first cluster list.
从通信配置代码库中下载对应的通信配置代码之前,可以根据集群标识从通信配置代码库中查找集群标识对应的通信配置代码。Before downloading the corresponding communication configuration code from the communication configuration code base, the communication configuration code corresponding to the cluster identifier may be searched from the communication configuration code base according to the cluster identifier.
综上所述,依据本发明实施例,通过预存客户端的位置信息与至少一个传输集群的配置关系,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正,按照修正后的配置关系为第一客户端调度对应的第一传输集群,将调度的第一传输集群通知至第一客户端,以用于流数据的传输,使得为客户端调度传输集群的配置关系可以根据传输性能数据进行调整,实现了根据各传输集群的传输性能数据,修正位置信息与传输集群的对应关系,解决了无法根据传输集群为客户端提供流数据传输服务时的网络状况或运行状况等调整传输集群的问题。In summary, according to the embodiment of the present invention, the configuration relationship is corrected according to the transmission performance data of the transmission cluster of each transmission service provider by pre-storing the location information of the client and the configuration relationship of the at least one transmission cluster, according to the correction. The configuration relationship is that the first transmission cluster corresponding to the first client is scheduled, and the scheduled first transmission cluster is notified to the first client for transmission of the streaming data, so that the configuration relationship of the transmission cluster is scheduled for the client. According to the transmission performance data, the correspondence between the location information and the transmission cluster is corrected according to the transmission performance data of each transmission cluster, and the network status or running status when the streaming data transmission service cannot be provided according to the transmission cluster for the client is solved. Adjust the problem of the transport cluster.
进一步,通过第一客户端确定存在新增传输集群,从通信配置代码库中下载对应的通信配置代码,使得当新增传输集群提供流数据传输服务时,直接下载对应的通信配置代码,为客户端添加新增传输集群的调度功能,而无需进行应用更新。Further, the first client determines that there is a new transmission cluster, and downloads a corresponding communication configuration code from the communication configuration code base, so that when the new transmission cluster provides the streaming data transmission service, the corresponding communication configuration code is directly downloaded for the client. Add the scheduling function of the new transport cluster without adding an application update.
然后第一传输集群为新增传输集群时,通过在调用所述新增传输集群时,第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至所述新增传输集群,根据所述新增传输集群调度的传输节点进行流数据的传输。使得执行通信配置代码可以完成对新增传输集群对应的调度请求的封装,继而用于调度节点调度传输节点,实现了新增传输集群的调度功能的热更新,避免了更新应用的不便和不及时。When the first transport cluster is a new transport cluster, the first client interprets and executes the communication configuration code by using a preset interpreter when the new transport cluster is invoked, according to the communication configuration code. The communication protocol of the transmission cluster is added to perform encapsulation of the scheduling request of the transmission node, and the encapsulated scheduling request is sent to the newly added transmission cluster, and the transmission data is transmitted according to the transmission node scheduled by the newly added transmission cluster. The execution of the communication configuration code can complete the encapsulation of the scheduling request corresponding to the newly added transmission cluster, and then is used to schedule the node to schedule the transmission node, thereby implementing the hot update of the scheduling function of the newly added transmission cluster, thereby avoiding the inconvenience and failure of updating the application. .
参照图4,示出了根据本发明实施例四的一种流数据的传输集群的调度装置的结构框图,具体可以包括如下模块:Referring to FIG. 4, a structural block diagram of a scheduling apparatus for a transport cluster of streaming data according to Embodiment 4 of the present invention is shown, which may specifically include the following modules:
配置关系预存模块401,用于预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;The relationship pre-stored module 401 is configured to pre-store the configuration information of the location information of the client and the at least one transport cluster, where different transport clusters belong to different transport service providers;
配置关系修正模块402,用于根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;The configuration relationship correction module 402 is configured to correct the configuration relationship according to the transmission performance data of the transmission cluster of each transmission service provider;
集群调度模块403,用于按照修正后的配置关系为第一客户端调度对应的第一传输集群;The cluster scheduling module 403 is configured to schedule a corresponding first transmission cluster for the first client according to the modified configuration relationship;
集群通知模块404,用于将调度的第一传输集群通知至第一客户端,以用于流数据的传输。The cluster notification module 404 is configured to notify the first transmission cluster of the schedule to the first client for transmission of the stream data.
在本实施例中,优选地,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述配置关系修正模块包括:In this embodiment, preferably, the transmission performance data carries a client identifier and a transport cluster identifier corresponding to a single transmission process, where the configuration relationship correction module includes:
平均值计算模块,用于汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;An average calculation module, configured to collect transmission performance data of a plurality of clients corresponding to the same location information to the same transmission cluster, and calculate an average value;
配置关系修正模块,用于通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。The relationship correction module is configured to correct the configuration relationship between the location information and the transport cluster by comparing whether the average value reaches a set threshold, or by comparing an average value of the same location information corresponding to different transport clusters.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
数据收集模块,用于在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。a data collection module, configured to collect, before the modification of the configuration relationship, the transmission performance data of the transmission cluster according to each transmission service provider, collecting the transmission reported by multiple clients when performing streaming data transmission with each transmission cluster Performance data, the transmission performance data including a code rate and/or a frame rate.
在本实施例中,优选地,所述集群调度模块包括:In this embodiment, preferably, the cluster scheduling module includes:
集群查找模块,用于按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;a cluster search module, configured to search, according to the modified configuration relationship, multiple transport clusters corresponding to the first client;
第一集群选取模块,用于从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。a first cluster selection module, configured to select, from the plurality of transmission clusters, a first transmission cluster that meets a set condition, where the setting condition includes that the number of historical selections is lower than a set ratio, and the transmission cluster selected in the history is selected. After that, it is greater than the set priority or the transmission performance meets the setting requirements.
在本实施例中,优选地,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述集群调度模块包括:In this embodiment, the configuration relationship is a correspondence between a location area where the client is located and a transport cluster, and the cluster scheduling module includes:
信息提取模块,用于提取所述第一客户端的网络地址和/或定位信息;An information extraction module, configured to extract network address and/or positioning information of the first client;
区域识别模块,用于根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;An area identifying module, configured to identify, according to the network address and/or the positioning information, a location area to which the first client belongs;
查找模块,用于按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。And a searching module, configured to find, according to the configuration relationship, a first transport cluster configured for the identified location area.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
流数据接收模块,用于在所述将调度的第一传输集群通知至第一客户端之后,接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。a stream data receiving module, configured to receive target stream data uploaded by the first client after the first transmission cluster to be scheduled is notified to the first client, and push the target stream data to store the plurality of transport clusters A storage server that streams data.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
第一请求接收模块,用于接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。The first request receiving module is configured to receive a scheduling request that the second client acquires the target stream data, and notify the first transmission cluster that stores the target stream data to the second client.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
调度请求更换模块,用于接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。a scheduling request replacement module, configured to receive a scheduling request of the second client to replace the first transmission cluster, and schedule a second transmission cluster for the second client according to the configuration relationship, where the second transmission cluster is from the storage server The target stream data is retrieved.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
第二请求接收模块,用于在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,接收第一客户端分配传输集群的调度请求。The second request receiving module is configured to receive a scheduling request of the first client to allocate the transport cluster before scheduling the corresponding first transport cluster for the first client according to the modified configuration relationship.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
流标识分配模块,用于识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;a flow identifier allocation module, configured to: when the scheduling request indicates uploading flow data, assign a flow identifier to the flow data to be uploaded;
所述集群通知模块包括:The cluster notification module includes:
传输地址通知模块,用于将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。The transport address notification module is configured to combine the flow identifier with the domain name of the scheduled transport cluster into a streaming address notification to the first client, so that the client performs the transmission of the streaming data according to the streaming address.
在本实施例中,优选地,所述调度请求携带所述第一客户端的协议类型,所述传输地址通知模块包括:In this embodiment, the scheduling request carries the protocol type of the first client, and the transmission address notification module includes:
传输地址组成模块,用于以所述协议类型为协议头,将所述流标识与调度的传输集群的域名组合成流传输地址。The transport address component module is configured to combine the stream identifier with a domain name of the scheduled transport cluster into a stream transport address by using the protocol type as a protocol header.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
集群确定模块,用于在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,第一客户端确定存在新增传输集群;a cluster determining module, configured to determine, by the first client, that a new transport cluster exists before the first transport cluster corresponding to the first client is scheduled according to the modified configuration relationship;
配置代码下载模块,用于第一客户端从通信配置代码库中下载对应的通信配置代码;a code downloading module, configured to download, by the first client, a corresponding communication configuration code from the communication configuration code base;
所述新增传输集群为第一传输集群,所述装置还包括:The new transmission cluster is a first transmission cluster, and the device further includes:
调度请求封装模块,用于在所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输之后,调用所述新增传输集群时,第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;a scheduling request encapsulating module, configured to: when the first transmission cluster to be scheduled is notified to the first client, for the transmission of the streaming data, when the newly added transmission cluster is invoked, the first client adopts a preset interpretation Interpreting and executing the communication configuration code, and the communication configuration code performs encapsulation of a scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster;
调度请求发送模块,用于第一客户端将封装的调度请求发送至所述新增传输集群;a scheduling request sending module, configured to send, by the first client, the encapsulated scheduling request to the newly added transport cluster;
流数据传输模块,用于第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输。The stream data transmission module is configured to transmit, by the first client, the stream data according to the transmission node scheduled by the newly added transmission cluster.
在本实施例中,优选地,所述集群确定模块包括:In this embodiment, preferably, the cluster determining module includes:
列表获取模块,用于所述第一客户端从集群管理服务器获取记录所有传输集群的第一集群列表;a list obtaining module, configured to acquire, by the first client, a first cluster list that records all transport clusters from the cluster management server;
列表比较模块,用于所述第一客户端通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。The list comparison module is configured to determine, by the first client, that a new transport cluster exists by comparing the first cluster list with the locally stored second cluster list.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
配置代码删除模块,用于若通过比对所述第一集群列表与本地存储的第二集群列表,所述第一客户端确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。a code deletion module, configured to: if the first client determines that there is a deleted target transport cluster by comparing the first cluster list with the locally stored second cluster list, deleting the locally saved target transport cluster Corresponding communication configuration code.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
列表更新模块,用于所述第一客户端以所述集群管理服务器的第一集群列表更新第二集群列表。a list update module, configured to update the second cluster list by the first client with the first cluster list of the cluster management server.
在本实施例中,优选地,所述通信配置代码还记录有所述新增传输集群的网络地址,所述调度请求发送模块包括:In this embodiment, preferably, the communication configuration code further records a network address of the newly added transmission cluster, and the scheduling request sending module includes:
请求发送模块,用于所述第一客户端按照所述通信配置代码指示的所述新增传输 集群的网络地址,将封装的调度请求发送至所述新增传输集群。And a request sending module, configured to send, by the first client, the encapsulated scheduling request to the newly added transport cluster according to the network address of the newly added transport cluster indicated by the communication configuration code.
在本实施例中,优选地,所述流数据传输模块包括:In this embodiment, preferably, the streaming data transmission module includes:
调度结果接收模块,用于所述第一客户端接收所述新增传输集群反馈的调度结果;a scheduling result receiving module, configured to receive, by the first client, a scheduling result of the newly added transmission cluster feedback;
节点标识解析模块,用于所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;a node identifier parsing module, configured, by the first client to interpret and execute the communication configuration code by using a preset interpreter, wherein the communication configuration code is used in the scheduling result according to a communication protocol of the newly added transport cluster Parsing out a node identifier of the transport node scheduled by the newly added transport cluster;
流数据传输模块,用于所述第一客户端按照所述节点标识对应的传输节点的传输地址进行流数据的传输。The stream data transmission module is configured to perform, by the first client, the transmission of the stream data according to the transmission address of the transmission node corresponding to the node identifier.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
反馈结果接收模块,用于在所述调用所述新增传输集群时,所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,所述第一客户端向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。a feedback result receiving module, configured to: when the calling the new transmission cluster is invoked, the first client uses a preset interpreter to interpret and execute the communication configuration code, and the communication configuration code is added according to the Before the communication protocol of the transmission cluster performs encapsulation of the scheduling request of the transmission node, the first client sends a stream data transmission request to the cluster scheduling server, and receives a feedback result of the scheduling new transmission cluster fed back by the cluster scheduling server.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
标识获取模块,用于在所述第一客户端确定存在新增传输集群之后,所述第一客户端获取所述新增传输集群的集群标识;An identifier obtaining module, configured to acquire, after the first client determines that a new transmission cluster exists, the first client acquires a cluster identifier of the newly added transmission cluster;
所述装置还包括:The device also includes:
代码查找模块,用于在所述第一客户端从通信配置代码库中下载对应的通信配置代码之前,所述第一客户端按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。a code searching module, configured to: before the first client downloads a corresponding communication configuration code from a communication configuration code base, the first client searches for a communication configuration code base according to a cluster identifier of the newly added transmission cluster Corresponding communication configuration code.
综上所述,依据本发明实施例,通过预存客户端的位置信息与至少一个传输集群的配置关系,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正,按照修正后的配置关系为第一客户端调度对应的第一传输集群,将调度的第一传输集群通知至第一客户端,以用于流数据的传输,使得为客户端调度传输集群的配置关系可以根据传输性能数据进行调整,实现了根据各传输集群的传输性能数据,修正位置信息与传输集群的对应关系,解决了无法根据传输集群为客户端提供流数据传输服务时的网络状况或运行状况等调整传输集群的问题。In summary, according to the embodiment of the present invention, the configuration relationship is corrected according to the transmission performance data of the transmission cluster of each transmission service provider by pre-storing the location information of the client and the configuration relationship of the at least one transmission cluster, according to the correction. The configuration relationship is that the first transmission cluster corresponding to the first client is scheduled, and the scheduled first transmission cluster is notified to the first client for transmission of the streaming data, so that the configuration relationship of the transmission cluster is scheduled for the client. According to the transmission performance data, the correspondence between the location information and the transmission cluster is corrected according to the transmission performance data of each transmission cluster, and the network status or running status when the streaming data transmission service cannot be provided according to the transmission cluster for the client is solved. Adjust the problem of the transport cluster.
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。The algorithms and displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general purpose systems can also be used with the teaching based on the teachings herein. The structure required to construct such a system is apparent from the above description. Moreover, the invention is not directed to any particular programming language. It is to be understood that the invention may be embodied in a variety of programming language, and the description of the specific language has been described above in order to disclose the preferred embodiments of the invention.
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。In the description provided herein, numerous specific details are set forth. However, it is understood that the embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures, and techniques are not shown in detail so as not to obscure the understanding of the description.
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施 例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。Similarly, the various features of the invention are sometimes grouped together into a single embodiment, in the above description of the exemplary embodiments of the invention, Figure, or a description of it. However, the method disclosed is not to be interpreted as reflecting the intention that the claimed invention requires more features than those recited in the claims. Rather, as the following claims reflect, inventive aspects reside in less than all features of the single embodiments disclosed herein. Therefore, the claims following the specific embodiments are hereby explicitly incorporated into the embodiments, and each of the claims as a separate embodiment of the invention.
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。Those skilled in the art will appreciate that the modules in the devices of the embodiments can be adaptively changed and placed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and further they may be divided into a plurality of sub-modules or sub-units or sub-components. In addition to such features and/or at least some of the processes or units being mutually exclusive, any combination of the features disclosed in the specification, including the accompanying claims, the abstract and the drawings, and any methods so disclosed, or All processes or units of the device are combined. Each feature disclosed in this specification (including the accompanying claims, the abstract and the drawings) may be replaced by alternative features that provide the same, equivalent or similar purpose.
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。In addition, those skilled in the art will appreciate that, although some embodiments described herein include certain features that are included in other embodiments and not in other features, combinations of features of different embodiments are intended to be within the scope of the present invention. Different embodiments are formed and formed. For example, in the following claims, any one of the claimed embodiments can be used in any combination.
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种流数据的传输集群的调度方法和装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。The various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that a microprocessor or digital signal processor (DSP) may be used in practice to implement some or all of the components of the method and apparatus for scheduling a stream of data streams in accordance with embodiments of the present invention. Some or all of the features. The invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein. Such a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
例如,图5示出了可以实现根据本发明的流数据的传输集群的调度方法的计算设备。该计算设备传统上包括处理器510和以存储器520形式的计算机程序产品或者计算机可读介质。存储器520可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器520具有用于执行上述方法中的任何方法步骤的程序代码531的存储空间530。例如,用于程序代码的存储空间530可以包括分别用于实现上面的方法中的各种步骤的各个程序代码531。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为如参考图6所述的便携式或者固定存储单元。该存储单元可以具有与图5的计算设备中的存储器520类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括计算机可读代码531’,即可以由例如诸如510之类的处理器读取的代码,这些代码当由计算设备运行时,导致该计算设备执行上面所描述的方法中的各个步骤。For example, Figure 5 illustrates a computing device that can implement a scheduling method for a transport cluster of streaming data in accordance with the present invention. The computing device conventionally includes a processor 510 and a computer program product or computer readable medium in the form of a memory 520. The memory 520 may be an electronic memory such as a flash memory, an EEPROM (Electrically Erasable Programmable Read Only Memory), an EPROM, a hard disk, or a ROM. Memory 520 has a memory space 530 for program code 531 for performing any of the method steps described above. For example, storage space 530 for program code may include various program code 531 for implementing various steps in the above methods, respectively. The program code can be read from or written to one or more computer program products. These computer program products include program code carriers such as hard disks, compact disks (CDs), memory cards or floppy disks. Such computer program products are typically portable or fixed storage units as described with reference to FIG. The storage unit may have storage segments, storage spaces, and the like that are similarly arranged to memory 520 in the computing device of FIG. The program code can be compressed, for example, in an appropriate form. Typically, the storage unit includes computer readable code 531 ', ie, code readable by a processor, such as 510, that when executed by a computing device causes the computing device to perform each of the methods described above step.
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。It is to be noted that the above-described embodiments are illustrative of the invention and are not intended to be limiting, and that the invention may be devised without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as a limitation. The word "comprising" does not exclude the presence of the elements or steps that are not recited in the claims. The word "a" or "an" The invention can be implemented by means of hardware comprising several distinct elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means can be embodied by the same hardware item. The use of the words first, second, and third does not indicate any order. These words can be interpreted as names.

Claims (40)

  1. 一种流数据的传输集群的调度方法,包括:A scheduling method for a transport cluster of streaming data, comprising:
    预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;Pre-storing the location information of the client and the configuration relationship of the at least one transport cluster, wherein different transport clusters belong to different transport service providers;
    根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;Correcting the configuration relationship according to transmission performance data of a transmission cluster of each transmission service provider;
    按照修正后的配置关系为第一客户端调度对应的第一传输集群;Scheduling a corresponding first transmission cluster for the first client according to the modified configuration relationship;
    将调度的第一传输集群通知至第一客户端,以用于流数据的传输。The scheduled first transport cluster is notified to the first client for transmission of the streaming data.
  2. 根据权利要求1所述的方法,其中,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正包括:The method according to claim 1, wherein the transmission performance data carries a client identifier and a transport cluster identifier corresponding to a transmission process, and the configuration is performed according to transmission performance data of a transport cluster of each transport service provider. The relationship amendments include:
    汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;Collecting transmission performance data of multiple clients corresponding to the same location information to the same transmission cluster, and calculating an average value;
    通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。The configuration relationship between the location information and the transport cluster is corrected by comparing whether the average value reaches a set threshold or by comparing the same location information to an average of different transport clusters.
  3. 根据权利要求1所述的方法,其中,在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,所述方法还包括:The method according to claim 1, wherein before the modifying the configuration relationship according to the transmission performance data of the transmission cluster of each transmission service provider, the method further comprises:
    收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。Collecting transmission performance data reported by a plurality of clients when performing streaming data transmission with each transport cluster, the transmission performance data including a code rate and/or a frame rate.
  4. 根据权利要求1所述的方法,其中,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群包括:The method according to claim 1, wherein the first transmission cluster corresponding to the first client scheduling according to the modified configuration relationship comprises:
    按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;And searching, according to the modified configuration relationship, multiple transmission clusters corresponding to the first client;
    从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。Selecting, by the plurality of transmission clusters, a first transmission cluster that satisfies a set condition, where the setting condition includes that the number of historical selections is lower than a set ratio, the ranking is after the historically selected transmission cluster, is greater than a set priority, or Transmission performance meets the set requirements.
  5. 根据权利要求1所述的方法,其中,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群包括:The method according to claim 1, wherein the configuration relationship is a correspondence between a location area where the client is located and a transmission cluster, and the first transmission cluster corresponding to the first client scheduling according to the modified configuration relationship includes :
    提取所述第一客户端的网络地址和/或定位信息;Extracting a network address and/or positioning information of the first client;
    根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;Identifying, according to the network address and/or the location information, a location area to which the first client belongs;
    按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。According to the configuration relationship, a first transport cluster configured for the identified location area is found.
  6. 根据权利要求1所述的方法,其中,在所述将调度的第一传输集群通知至第一客户端之后,所述方法还包括:The method of claim 1, wherein after the notifying the scheduled first transport cluster to the first client, the method further comprises:
    接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。Receiving target stream data uploaded by the first client, and pushing the target stream data to a storage server storing stream data of the plurality of transport clusters.
  7. 根据权利要求6所述的方法,其中,所述方法还包括:The method of claim 6 wherein the method further comprises:
    接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。Receiving a scheduling request of the second client to acquire the target stream data, and notifying the first transmission cluster storing the target stream data to the second client.
  8. 根据权利要求7所述的方法,其中,所述方法还包括:The method of claim 7 wherein the method further comprises:
    接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。Receiving, by the second client, a scheduling request for replacing the first transport cluster, and scheduling, according to the configuration relationship, a second transport cluster for the second client, where the second transport cluster retrieves the target flow data from the storage server .
  9. 根据权利要求1所述的方法,其中,在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,所述方法还包括:The method of claim 1, wherein the method further comprises: before the first configuration of the first transmission cluster is scheduled for the first client according to the modified configuration relationship, the method further comprising:
    接收第一客户端分配传输集群的调度请求。Receiving a scheduling request of the first client to allocate a transport cluster.
  10. 根据权利要求9所述的方法,其中,所述方法还包括:The method of claim 9 wherein the method further comprises:
    识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;When the scheduling request indicates that the streaming data is uploaded, the flow identifier is allocated to the streaming data to be uploaded;
    所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输包括:The notifying the scheduled first transmission cluster to the first client for transmission of the streaming data includes:
    将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。And combining the flow identifier with the domain name of the scheduled transport cluster into a streaming address notification to the first client, so that the client performs the transmission of the streaming data according to the streaming address.
  11. 根据权利要求10所述的方法,其中,所述调度请求携带所述第一客户端的协议类型,所述将所述流标识与调度的传输集群的域名组合成流传输地址包括:The method of claim 10, wherein the scheduling request carries a protocol type of the first client, and the combining the stream identifier with a domain name of the scheduled transport cluster into a streaming address comprises:
    以所述协议类型为协议头,将所述流标识与调度的传输集群的域名组合成流传输地址。The domain identifier is combined with the domain name of the scheduled transport cluster into a streaming address by using the protocol type as a protocol header.
  12. 根据权利要求1所述的方法,其中,在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,所述方法还包括:The method of claim 1, wherein the method further comprises: before the first configuration of the first transmission cluster is scheduled for the first client according to the modified configuration relationship, the method further comprising:
    第一客户端确定存在新增传输集群;The first client determines that there is a new transport cluster;
    第一客户端从通信配置代码库中下载对应的通信配置代码;The first client downloads a corresponding communication configuration code from the communication configuration code base;
    所述新增传输集群为第一传输集群,在所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输之后,所述方法还包括:The new transmission cluster is a first transmission cluster. After the first transmission cluster to be notified to the first client for transmission of the stream data, the method further includes:
    调用所述新增传输集群时,第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;When the newly added transport cluster is invoked, the first client interprets and executes the communication configuration code by using a preset interpreter, and the communication configuration code performs a scheduling request of the transport node according to the communication protocol of the newly added transport cluster. Package
    第一客户端将封装的调度请求发送至所述新增传输集群;The first client sends the encapsulated scheduling request to the newly added transport cluster;
    第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输。The first client performs stream data transmission according to the transmission node scheduled by the newly added transmission cluster.
  13. 根据权利要求12所述的方法,其中,所述第一客户端确定存在新增传输集群包括:The method of claim 12, wherein the determining, by the first client, that there is a new transport cluster comprises:
    所述第一客户端从集群管理服务器获取记录所有传输集群的第一集群列表;Obtaining, by the first client, a first cluster list that records all transport clusters from the cluster management server;
    所述第一客户端通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。The first client determines that there is a newly added transport cluster by comparing the first cluster list with the locally stored second cluster list.
  14. 根据权利要求13所述的方法,其中,所述方法还包括:The method of claim 13 wherein the method further comprises:
    若通过比对所述第一集群列表与本地存储的第二集群列表,所述第一客户端确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。If the first client determines that there is a deleted target transport cluster by comparing the first cluster list with the locally stored second cluster list, the communication configuration code corresponding to the locally saved target transport cluster is deleted.
  15. 根据权利要求13或14所述的方法,其中,所述方法还包括:The method of claim 13 or 14, wherein the method further comprises:
    所述第一客户端以所述集群管理服务器的第一集群列表更新第二集群列表。The first client updates the second cluster list with the first cluster list of the cluster management server.
  16. 根据权利要求12所述的方法,其中,所述通信配置代码还记录有所述新增传输集群的网络地址,所述第一客户端将封装的调度请求发送至所述新增传输集群包括:The method of claim 12, wherein the communication configuration code further records a network address of the newly added transmission cluster, and the sending, by the first client, the encapsulated scheduling request to the newly added transmission cluster comprises:
    所述第一客户端按照所述通信配置代码指示的所述新增传输集群的网络地址,将 封装的调度请求发送至所述新增传输集群。The first client sends the encapsulated scheduling request to the newly added transport cluster according to the network address of the newly added transport cluster indicated by the communication configuration code.
  17. 根据权利要求12所述的方法,其中,所述第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输包括:The method according to claim 12, wherein the transmitting, by the first client, the streaming data according to the transmission node scheduled by the newly added transmission cluster comprises:
    所述第一客户端接收所述新增传输集群反馈的调度结果;Receiving, by the first client, a scheduling result of the newly added transmission cluster feedback;
    所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;The first client interprets and executes the communication configuration code by using a preset interpreter, and the communication configuration code parses the newly added transmission from the scheduling result according to a communication protocol of the newly added transmission cluster. The node identifier of the transport node of the cluster scheduling;
    所述第一客户端按照所述节点标识对应的传输节点的传输地址进行流数据的传输。The first client performs the transmission of the stream data according to the transport address of the transport node corresponding to the node identifier.
  18. 根据权利要求12所述的方法,其中,在所述调用所述新增传输集群时,所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,所述方法还包括:The method according to claim 12, wherein, when said invoking said newly added cluster, said first client interprets and executes said communication configuration code by a preset interpreter, said communication configuration code being Before the communication protocol of the newly added transmission cluster is encapsulated by the scheduling request of the transmission node, the method further includes:
    所述第一客户端向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。The first client sends a stream data transmission request to the cluster scheduling server, and receives a feedback result of the scheduling new transmission cluster fed back by the cluster scheduling server.
  19. 根据权利要求12所述的方法,其中,在所述第一客户端确定存在新增传输集群之后,所述方法还包括:The method of claim 12, wherein after the first client determines that there is a new transport cluster, the method further comprises:
    所述第一客户端获取所述新增传输集群的集群标识;Obtaining, by the first client, a cluster identifier of the newly added transport cluster;
    在所述第一客户端从通信配置代码库中下载对应的通信配置代码之前,所述方法还包括:Before the first client downloads the corresponding communication configuration code from the communication configuration code base, the method further includes:
    所述第一客户端按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。The first client searches for a corresponding communication configuration code from the communication configuration code base according to the cluster identifier of the newly added transmission cluster.
  20. 一种流数据的传输集群的调度装置,包括:A scheduling device for a transport cluster of streaming data, comprising:
    配置关系预存模块,用于预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;The relationship pre-stored module is configured to pre-store the location information of the client and the configuration relationship of the at least one transport cluster, where different transport clusters belong to different transport service providers;
    配置关系修正模块,用于根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;a configuration relationship correction module, configured to modify the configuration relationship according to transmission performance data of a transmission cluster of each transmission service provider;
    集群调度模块,用于按照修正后的配置关系为第一客户端调度对应的第一传输集群;a cluster scheduling module, configured to schedule, according to the modified configuration relationship, a corresponding first transmission cluster for the first client;
    集群通知模块,用于将调度的第一传输集群通知至第一客户端,以用于流数据的传输。The cluster notification module is configured to notify the first transmission cluster of the schedule to the first client for transmission of the stream data.
  21. 根据权利要求20所述的装置,其中,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述配置关系修正模块包括:The device according to claim 20, wherein the transmission performance data carries a client identifier and a transport cluster identifier corresponding to a one-time transmission process, and the configuration relationship correction module comprises:
    平均值计算模块,用于汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;An average calculation module, configured to collect transmission performance data of a plurality of clients corresponding to the same location information to the same transmission cluster, and calculate an average value;
    配置关系修正模块,用于通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。The relationship correction module is configured to correct the configuration relationship between the location information and the transport cluster by comparing whether the average value reaches a set threshold, or by comparing an average value of the same location information corresponding to different transport clusters.
  22. 根据权利要求20所述的装置,其中,所述装置还包括:The device of claim 20, wherein the device further comprises:
    数据收集模块,用于在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。a data collection module, configured to collect, before the modification of the configuration relationship, the transmission performance data of the transmission cluster according to each transmission service provider, collecting the transmission reported by multiple clients when performing streaming data transmission with each transmission cluster Performance data, the transmission performance data including a code rate and/or a frame rate.
  23. 根据权利要求20所述的装置,其中,所述集群调度模块包括:The apparatus of claim 20, wherein the cluster scheduling module comprises:
    集群查找模块,用于按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;a cluster search module, configured to search, according to the modified configuration relationship, multiple transport clusters corresponding to the first client;
    第一集群选取模块,用于从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。a first cluster selection module, configured to select, from the plurality of transmission clusters, a first transmission cluster that meets a set condition, where the setting condition includes that the number of historical selections is lower than a set ratio, and the transmission cluster selected in the history is selected. After that, it is greater than the set priority or the transmission performance meets the setting requirements.
  24. 根据权利要求20所述的装置,其中,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述集群调度模块包括:The device according to claim 20, wherein the configuration relationship is a correspondence between a location area where the client is located and a transport cluster, and the cluster scheduling module includes:
    信息提取模块,用于提取所述第一客户端的网络地址和/或定位信息;An information extraction module, configured to extract network address and/or positioning information of the first client;
    区域识别模块,用于根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;An area identifying module, configured to identify, according to the network address and/or the positioning information, a location area to which the first client belongs;
    查找模块,用于按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。And a searching module, configured to find, according to the configuration relationship, a first transport cluster configured for the identified location area.
  25. 根据权利要求20所述的装置,其中,所述装置还包括:The device of claim 20, wherein the device further comprises:
    流数据接收模块,用于在所述将调度的第一传输集群通知至第一客户端之后,接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。a stream data receiving module, configured to receive target stream data uploaded by the first client after the first transmission cluster to be scheduled is notified to the first client, and push the target stream data to store the plurality of transport clusters A storage server that streams data.
  26. 根据权利要求25所述的装置,其中,所述装置还包括:The device of claim 25, wherein the device further comprises:
    第一请求接收模块,用于接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。The first request receiving module is configured to receive a scheduling request that the second client acquires the target stream data, and notify the first transmission cluster that stores the target stream data to the second client.
  27. 根据权利要求26所述的装置,其中,所述装置还包括:The device of claim 26, wherein the device further comprises:
    调度请求更换模块,用于接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。a scheduling request replacement module, configured to receive a scheduling request of the second client to replace the first transmission cluster, and schedule a second transmission cluster for the second client according to the configuration relationship, where the second transmission cluster is from the storage server The target stream data is retrieved.
  28. 根据权利要求20所述的装置,其中,所述装置还包括:The device of claim 20, wherein the device further comprises:
    第二请求接收模块,用于在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,接收第一客户端分配传输集群的调度请求。The second request receiving module is configured to receive a scheduling request of the first client to allocate the transport cluster before scheduling the corresponding first transport cluster for the first client according to the modified configuration relationship.
  29. 根据权利要求28所述的装置,其中,所述装置还包括:The device of claim 28, wherein the device further comprises:
    流标识分配模块,用于识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;a flow identifier allocation module, configured to: when the scheduling request indicates uploading flow data, assign a flow identifier to the flow data to be uploaded;
    所述集群通知模块包括:The cluster notification module includes:
    传输地址通知模块,用于将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。The transport address notification module is configured to combine the flow identifier with the domain name of the scheduled transport cluster into a streaming address notification to the first client, so that the client performs the transmission of the streaming data according to the streaming address.
  30. 根据权利要求29所述的装置,其中,所述调度请求携带所述第一客户端的协议类型,所述传输地址通知模块包括:The apparatus according to claim 29, wherein the scheduling request carries a protocol type of the first client, and the transmission address notification module comprises:
    传输地址组成模块,用于以所述协议类型为协议头,将所述流标识与调度的传输集群的域名组合成流传输地址。The transport address component module is configured to combine the stream identifier with a domain name of the scheduled transport cluster into a stream transport address by using the protocol type as a protocol header.
  31. 根据权利要求20所述的装置,其中,所述装置还包括:The device of claim 20, wherein the device further comprises:
    集群确定模块,用于在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,第一客户端确定存在新增传输集群;a cluster determining module, configured to determine, by the first client, that a new transport cluster exists before the first transport cluster corresponding to the first client is scheduled according to the modified configuration relationship;
    配置代码下载模块,用于第一客户端从通信配置代码库中下载对应的通信配置代码;a code downloading module, configured to download, by the first client, a corresponding communication configuration code from the communication configuration code base;
    所述新增传输集群为第一传输集群,所述装置还包括:The new transmission cluster is a first transmission cluster, and the device further includes:
    调度请求封装模块,用于在所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输之后,调用所述新增传输集群时,第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;a scheduling request encapsulating module, configured to: when the first transmission cluster to be scheduled is notified to the first client, for the transmission of the streaming data, when the newly added transmission cluster is invoked, the first client adopts a preset interpretation Interpreting and executing the communication configuration code, and the communication configuration code performs encapsulation of a scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster;
    调度请求发送模块,用于第一客户端将封装的调度请求发送至所述新增传输集群;a scheduling request sending module, configured to send, by the first client, the encapsulated scheduling request to the newly added transport cluster;
    流数据传输模块,用于第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输。The stream data transmission module is configured to transmit, by the first client, the stream data according to the transmission node scheduled by the newly added transmission cluster.
  32. 根据权利要求31所述的装置,其中,所述集群确定模块包括:The apparatus of claim 31, wherein the cluster determination module comprises:
    列表获取模块,用于所述第一客户端从集群管理服务器获取记录所有传输集群的第一集群列表;a list obtaining module, configured to acquire, by the first client, a first cluster list that records all transport clusters from the cluster management server;
    列表比较模块,用于所述第一客户端通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。The list comparison module is configured to determine, by the first client, that a new transport cluster exists by comparing the first cluster list with the locally stored second cluster list.
  33. 根据权利要求32所述的装置,其中,所述装置还包括:The device of claim 32, wherein the device further comprises:
    配置代码删除模块,用于若通过比对所述第一集群列表与本地存储的第二集群列表,所述第一客户端确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。a code deletion module, configured to: if the first client determines that there is a deleted target transport cluster by comparing the first cluster list with the locally stored second cluster list, deleting the locally saved target transport cluster Corresponding communication configuration code.
  34. 根据权利要求32或33所述的装置,其中,所述装置还包括:The device of claim 32 or 33, wherein the device further comprises:
    列表更新模块,用于所述第一客户端以所述集群管理服务器的第一集群列表更新第二集群列表。a list update module, configured to update the second cluster list by the first client with the first cluster list of the cluster management server.
  35. 根据权利要求31所述的装置,其中,所述通信配置代码还记录有所述新增传输集群的网络地址,所述调度请求发送模块包括:The device according to claim 31, wherein the communication configuration code further records a network address of the newly added transmission cluster, and the scheduling request sending module includes:
    请求发送模块,用于所述第一客户端按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。And a request sending module, configured to send, by the first client, the encapsulated scheduling request to the newly added transport cluster according to the network address of the newly added transport cluster indicated by the communication configuration code.
  36. 根据权利要求31所述的装置,其中,所述流数据传输模块包括:The apparatus of claim 31, wherein the streaming data transmission module comprises:
    调度结果接收模块,用于所述第一客户端接收所述新增传输集群反馈的调度结果;a scheduling result receiving module, configured to receive, by the first client, a scheduling result of the newly added transmission cluster feedback;
    节点标识解析模块,用于所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;a node identifier parsing module, configured, by the first client to interpret and execute the communication configuration code by using a preset interpreter, wherein the communication configuration code is used in the scheduling result according to a communication protocol of the newly added transport cluster Parsing out a node identifier of the transport node scheduled by the newly added transport cluster;
    流数据传输模块,用于所述第一客户端按照所述节点标识对应的传输节点的传输地址进行流数据的传输。The stream data transmission module is configured to perform, by the first client, the transmission of the stream data according to the transmission address of the transmission node corresponding to the node identifier.
  37. 根据权利要求31所述的装置,其中,所述装置还包括:The device of claim 31, wherein the device further comprises:
    反馈结果接收模块,用于在所述调用所述新增传输集群时,所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,所述第一客户端向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。a feedback result receiving module, configured to: when the calling the new transmission cluster is invoked, the first client uses a preset interpreter to interpret and execute the communication configuration code, and the communication configuration code is added according to the Before the communication protocol of the transmission cluster performs encapsulation of the scheduling request of the transmission node, the first client sends a stream data transmission request to the cluster scheduling server, and receives a feedback result of the scheduling new transmission cluster fed back by the cluster scheduling server.
  38. 根据权利要求31所述的装置,其中,所述装置还包括:The device of claim 31, wherein the device further comprises:
    标识获取模块,用于在所述第一客户端确定存在新增传输集群之后,所述第一客户端获取所述新增传输集群的集群标识;An identifier obtaining module, configured to acquire, after the first client determines that a new transmission cluster exists, the first client acquires a cluster identifier of the newly added transmission cluster;
    所述装置还包括:The device also includes:
    代码查找模块,用于在所述第一客户端从通信配置代码库中下载对应的通信配置代码之前,所述第一客户端按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。a code searching module, configured to: before the first client downloads a corresponding communication configuration code from a communication configuration code base, the first client searches for a communication configuration code base according to a cluster identifier of the newly added transmission cluster Corresponding communication configuration code.
  39. 一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算设备上运行时,导致所述计算设备执行根据权利要求1-19中的任一个所述的流数据的传输集群的调度方法。A computer program comprising computer readable code, when said computer readable code is run on a computing device, causing said computing device to perform a transport cluster of streaming data according to any of claims 1-19 Scheduling method.
  40. 一种计算机可读介质,其中存储了如权利要求39所述的计算机程序。A computer readable medium storing the computer program of claim 39.
PCT/CN2017/120140 2017-01-03 2017-12-29 Scheduling method and apparatus for transmission clusters of stream data WO2018127011A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710002819.5A CN106686101B (en) 2017-01-03 2017-01-03 Method and device for scheduling transmission cluster of streaming data
CN201710002819.5 2017-01-03

Publications (1)

Publication Number Publication Date
WO2018127011A1 true WO2018127011A1 (en) 2018-07-12

Family

ID=58849258

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/120140 WO2018127011A1 (en) 2017-01-03 2017-12-29 Scheduling method and apparatus for transmission clusters of stream data

Country Status (2)

Country Link
CN (1) CN106686101B (en)
WO (1) WO2018127011A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106686101B (en) * 2017-01-03 2020-07-17 北京奇虎科技有限公司 Method and device for scheduling transmission cluster of streaming data
CN109474535A (en) * 2017-09-07 2019-03-15 北京京东尚科信息技术有限公司 The method, apparatus and system shunted for multi- search engine
CN109756758B (en) * 2017-11-01 2021-01-01 腾讯科技(深圳)有限公司 Live broadcast control method and device
CN108768684B (en) * 2018-03-28 2022-02-22 北京京天威科技发展有限公司 Configurable network data transmission method and system
CN110912919B (en) * 2019-12-03 2020-10-23 电子科技大学 Network data acquisition method for network health condition modeling analysis

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764747A (en) * 2009-12-24 2010-06-30 北京世纪互联宽带数据中心有限公司 Intelligent dispatching method, device and system of content delivery network flow
CN102118323A (en) * 2010-01-04 2011-07-06 中兴通讯股份有限公司 Content delivery network server and content downloading method
CN102932451A (en) * 2012-10-31 2013-02-13 北龙中网(北京)科技有限责任公司 Solving system specific to content distribution network
CN103248715A (en) * 2012-02-07 2013-08-14 北京百度网讯科技有限公司 Position detection method and device for CDN
CN106686101A (en) * 2017-01-03 2017-05-17 北京奇虎科技有限公司 Scheduling method and apparatus of transmission clusters of stream data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101989951A (en) * 2010-10-28 2011-03-23 北京瑞汛世纪科技有限公司 Method, system and equipment for selecting service node
CN103297472B (en) * 2012-03-01 2018-09-04 上海盛大网络发展有限公司 A kind of reorientation method and content distribution nodes applied to content distributing network
US9479552B2 (en) * 2012-05-30 2016-10-25 Verizon Patent And Licensing, Inc. Recommender system for content delivery networks
CN103561049A (en) * 2013-09-05 2014-02-05 乐视网信息技术(北京)股份有限公司 Method for processing terminal scheduling request, system thereof and device thereof
CN104010046B (en) * 2014-06-13 2018-02-09 湖南网数科技有限公司 A kind of server selection method and system, record server, measurement server
CN105516739B (en) * 2015-12-22 2020-05-05 腾讯科技(深圳)有限公司 Video live broadcast method, transcoding server, webpage client and system
CN105959405B (en) * 2016-06-24 2019-04-05 北京兰云科技有限公司 CDN video scheduling system, method and CDN dispatch server and client

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764747A (en) * 2009-12-24 2010-06-30 北京世纪互联宽带数据中心有限公司 Intelligent dispatching method, device and system of content delivery network flow
CN102118323A (en) * 2010-01-04 2011-07-06 中兴通讯股份有限公司 Content delivery network server and content downloading method
CN103248715A (en) * 2012-02-07 2013-08-14 北京百度网讯科技有限公司 Position detection method and device for CDN
CN102932451A (en) * 2012-10-31 2013-02-13 北龙中网(北京)科技有限责任公司 Solving system specific to content distribution network
CN106686101A (en) * 2017-01-03 2017-05-17 北京奇虎科技有限公司 Scheduling method and apparatus of transmission clusters of stream data

Also Published As

Publication number Publication date
CN106686101B (en) 2020-07-17
CN106686101A (en) 2017-05-17

Similar Documents

Publication Publication Date Title
WO2018127011A1 (en) Scheduling method and apparatus for transmission clusters of stream data
WO2018127010A1 (en) Method and apparatus for scheduling transmission node
US10757067B2 (en) Just in time transcoding and packaging in IPV6 networks
US10219290B2 (en) Method, device, and system for content delivery network-based mobile terminal traffic processing
CN110336843B (en) Content distribution method for crowdsourcing, central node and edge node
EP2869537B1 (en) Using interest messages with payload to configure network nodes in named data networks
JP2020509635A (en) Network slice selection method, user equipment, and network device
US8291083B2 (en) Distributed landing pad and brick topology for content storage in content delivery networks
US8458290B2 (en) Multicast mapped look-up on content delivery networks
US10601698B2 (en) Techniques for managing telemetry data for content delivery and/or data transfer networks
US8521813B2 (en) Content replication workflow in content delivery networks
JP6606516B2 (en) Cache manifest for efficient peer-assisted streaming
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
US20120198069A1 (en) Content processing between locations workflow in content delivery networks
EP2798818A1 (en) Method and apparatus for flexible caching of delivered media
US20150327025A1 (en) Information processing apparatus and method, program, and content supply system
US20160094585A1 (en) Secure policy portal for remote storage networks
JP2018502385A (en) System and method for content retrieval from a remote network region
WO2012105967A1 (en) Asset management architecture for content delivery networks
CN113296924B (en) Content distribution method, device, system and storage medium
CN111741338A (en) HLS streaming media playing method, system, equipment and storage medium
CN110958279A (en) Data processing method and device
US20140317272A1 (en) Method of collecting information, content network management system, and node apparatus using management interface in content network based on information-centric networking
CN115514981A (en) Video stream scheduling system and related product
CN110958186A (en) Network equipment data processing method and system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17890252

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17890252

Country of ref document: EP

Kind code of ref document: A1