WO2018127010A1 - Method and apparatus for scheduling transmission node - Google Patents

Method and apparatus for scheduling transmission node Download PDF

Info

Publication number
WO2018127010A1
WO2018127010A1 PCT/CN2017/120138 CN2017120138W WO2018127010A1 WO 2018127010 A1 WO2018127010 A1 WO 2018127010A1 CN 2017120138 W CN2017120138 W CN 2017120138W WO 2018127010 A1 WO2018127010 A1 WO 2018127010A1
Authority
WO
WIPO (PCT)
Prior art keywords
cluster
transmission
transport
client
scheduling
Prior art date
Application number
PCT/CN2017/120138
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 WO2018127010A1 publication Critical patent/WO2018127010A1/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/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • 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/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Definitions

  • the present invention relates to the field of transmission scheduling technologies, and in particular, to a scheduling method of a transmission node and a scheduling apparatus of the transmission node.
  • 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 client needs to prepare scheduling request packets of different formats and send them to different content distribution networks for server scheduling.
  • the client needs to be upgraded, and the server scheduling function corresponding to the newly added content distribution network is integrated into the new version by applying the update method.
  • the client application it is inconvenient to rely on the application update to update the scheduling function corresponding to the newly added content distribution network, and it is difficult to update in time.
  • the update cannot be implemented. Scheduling function.
  • the present invention has been made in order to provide a scheduling method and corresponding apparatus for a transmission node that overcomes the above problems or at least partially solves the above problems.
  • a scheduling method for a transmission node including:
  • the communication configuration code When the new transmission cluster is invoked, the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster;
  • the transmission of the stream data is performed according to the transmission node scheduled by the newly added transmission cluster.
  • a scheduling apparatus for a transmission node including:
  • a cluster determining module configured to determine that a new transport cluster exists
  • a configuration code downloading module configured to download a corresponding communication configuration code from the communication configuration code base
  • a scheduling request encapsulating module configured to: when the new transmission cluster is invoked, interpreting and executing the communication configuration code by using a preset interpreter, and performing, by the communication configuration code, a transmission node according to a communication protocol of the newly added transmission cluster The encapsulation of the scheduling request;
  • a scheduling request sending module configured to send the encapsulated scheduling request to the newly added transmission cluster
  • a stream data transmission module configured to perform stream data transmission according to the transmission node scheduled by the newly added transmission cluster.
  • a computer program comprising computer readable code, when the computer readable code is run on a computing device, causing the computing device to perform the scheduling method of the transmitting node .
  • a computer readable medium wherein the computer program is stored.
  • the scheduling method and apparatus for the transmission node according to the present invention can download the corresponding communication configuration code from the communication configuration code base by determining that the new transmission cluster exists, so that when the new transmission cluster provides the streaming data transmission service, the corresponding download is directly downloaded.
  • the communication configuration code adds the scheduling function of the newly added transport cluster to the client without applying the application update. Then, when the new transmission cluster is invoked, the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster. Sending the encapsulated scheduling request to the newly added transport cluster, and transmitting the stream data according to the transport node scheduled by the newly added transport 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. 1 is a flow chart showing the steps of a scheduling method of a transmission node according to Embodiment 1 of the present invention
  • FIG. 2 is a schematic flow chart showing the steps of a scheduling method of a transmission node according to Embodiment 2 of the present invention
  • FIG. 3 is a flow chart showing the steps of a scheduling method of a transmission node according to Embodiment 3 of the present invention.
  • FIG. 4 is a structural block diagram of a scheduling apparatus of a transmission node 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 a step of a scheduling method of a transmitting node according to the first embodiment of the present invention, which may specifically include the following steps:
  • step 101 it is determined 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 client.
  • the client determines that there is a new transport cluster.
  • the specific manner may be any applicable manner. This is not limited.
  • the client may obtain a 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 client may receive A new transport cluster notification sent by the cluster management server determines that there is a new transport cluster.
  • the cluster management server is a server for managing a transport cluster.
  • Step 102 Download a corresponding communication configuration code from a 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 client After the client determines that there is a new transport cluster, it finds the communication configuration code corresponding to the newly added transport cluster from the communication configuration code base, and downloads the communication configuration code corresponding to the newly added transport cluster to the local.
  • Step 103 When the newly added transport cluster is invoked, the preset interpreter is used to interpret and execute the communication configuration code, and the communication configuration code performs encapsulation of the scheduling request of the transport node according to the communication protocol of the newly added transport cluster. .
  • the client invokes the newly added transport cluster to refer to the client transmitting the data through the newly added transport cluster.
  • the client may actively select the newly added transport cluster, or the client may receive the cluster scheduling according to the client.
  • the end request selects a new transport cluster for the client.
  • the interpreter (English: Interpreter), also translated as an interpreter, is a computer program that can translate 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 scheduling request is encapsulated by using a preset interpreter to interpret and execute the communication configuration code, wherein the scheduling request is a scheduling request of the transmitting node sent by the client to the transport cluster.
  • a preset interpreter to interpret and execute the communication configuration code corresponding to the transmission cluster
  • 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 104 Send the encapsulated scheduling request to the newly added transport cluster.
  • the encapsulated scheduling request is sent to the newly added transport cluster, and specifically, when the network address recorded by the communication configuration code corresponding to the transport cluster is accessed, the encapsulated scheduling request is sent.
  • 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.
  • Step 105 Perform transmission of stream data according to the transmission node scheduled by the newly added transmission cluster.
  • the newly added transmission cluster is a client scheduling transmission node, which may be scheduled according to at least one type of information such as a network address of the client and a geographical location, and the selected transmission node is connected to the client network.
  • the transmission node may be scheduled for the client according to any applicable scheduling logic, which is not limited in this embodiment.
  • the client establishes a connection with the scheduled transmission node to perform the transmission of the stream data, and specifically includes the client uploading or downloading the stream data.
  • the corresponding communication configuration code is downloaded from the communication configuration code base, so that when the newly added transmission cluster provides the streaming data transmission service, the corresponding communication is directly downloaded.
  • the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster. Sending the encapsulated scheduling request to the newly added transport cluster, and transmitting the stream data according to the transport node scheduled by the newly added transport 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. .
  • the determining that there is a newly added transport cluster is: obtaining, by the cluster management server, a first cluster list that records all transport clusters; by comparing the first cluster list with A second cluster list stored locally determines that there is a new transport cluster.
  • 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 stored locally at the client. The client downloads from the cluster management server to the local device, and then compares the first cluster list with the second cluster list. If there is an identifier of the transport cluster that is not in the second cluster list in the first cluster list, it is determined that there is a new transport cluster.
  • the method further includes: if the target transmission cluster that has been deleted is determined by comparing the first cluster list with the locally stored second cluster list, deleting the locally saved The communication configuration code corresponding to the target transmission cluster.
  • the target transport cluster is a transport cluster that no longer serves streaming data transfers. Comparing the first cluster list and the second cluster list, if there is an identifier of the transport cluster that is not in the first cluster list in the second cluster list, it is determined that there is a deleted target transport cluster. Delete the communication configuration code corresponding to the target transport cluster saved locally by the client.
  • the method further includes: updating the second cluster list by using the first cluster list of the cluster management server.
  • the communication configuration code further records a network address of the newly added transmission cluster
  • an implementation manner of sending the encapsulated scheduling request to the newly added transmission cluster is: And sending 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, and the network address is resolved and the access can send the encapsulated scheduling request to the transport cluster corresponding to the network address.
  • 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.
  • the method further includes: acquiring a cluster identifier of the newly added transport cluster; and downloading a corresponding one in the slave communication configuration code base.
  • the corresponding communication configuration code may be searched from the communication configuration code base according to the cluster identifier of the newly added transmission cluster.
  • the client After determining that there is a new transport cluster, the client obtains the cluster ID of the newly added transport cluster.
  • the cluster identifier of the newly added transport cluster can be obtained from the list of transport clusters.
  • 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 can be searched from the communication configuration code base according to the cluster identifier.
  • the communication configuration code of a certain transmission cluster is updated. Specifically, by comparing the code corresponding to the transmission cluster in the communication configuration code base with the locally stored code, it is found that the communication configuration code is updated, and the communication is performed.
  • the corresponding code in the configuration code base can be updated to the local. For example, it is possible to directly compare whether the code corresponding to the transport cluster in the communication configuration code base and the code corresponding to the locally stored transport cluster are the same to determine whether the communication configuration code of the transport cluster is updated. Alternatively, whether the communication configuration code of the transport cluster is updated may be compared according to whether the version number of the code corresponding to the transport cluster in the communication configuration code base is the same as the version number of the code corresponding to the locally stored transport cluster.
  • the updated communication configuration code is downloaded from the communication configuration code base, and the updated communication configuration code may be used for the transmission of the streaming data, specifically, when the transmission cluster in which the communication configuration code is updated is called, the preset interpreter is used to interpret and perform the update.
  • Obtaining a communication configuration code wherein the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the transmission cluster, sends the encapsulated scheduling request to the transmission cluster, and then performs streaming data according to the transmission node scheduled by the transmission cluster. transmission.
  • the new method generally has success rate, accuracy, efficiency, and security. Other aspects have certain advantages.
  • FIG. 2 is a schematic flowchart of a step of a scheduling method of a transit node according to Embodiment 2 of the present invention, which may specifically include the following steps:
  • step 201 the streaming data transmission client is started.
  • the streaming data transmission client may be a client that uploads streaming data to the transport cluster, or a client that downloads streaming data from the transport cluster, for example, in a live video application, uploading an anchor of the video stream data.
  • the client the viewer client that downloads the video stream data.
  • step 202 it is determined that there is a new transmission cluster.
  • the streaming data transmission client After the streaming data transmission client is started, it is detected whether there is a new transmission cluster, and the detection result is that the new transmission cluster is determined.
  • the specific manner is consistent with the description of other embodiments, and details are not described herein.
  • Step 202 Download a corresponding communication configuration code from the communication configuration code base.
  • Step 204 Send a stream data transmission request to the cluster scheduling server, and receive a feedback result of the scheduling new transmission cluster fed back by the cluster scheduling server.
  • the cluster scheduling server is a server that can schedule a transmission cluster for the client. Specifically, the client can select a transmission cluster and feed back to the client according to the stream data transmission request of the 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 streaming data transmission client sends a streaming data transmission request to the cluster scheduling server, where the streaming data transmission request usually carries the network address of the client and/or the current location, so as to select the cluster scheduling server as the client.
  • the stream data transmission client receives the feedback result of the cluster scheduling server, wherein the feedback result is a scheduling result of scheduling the newly added transmission cluster, specifically including a transmission cluster selected for the client, and may further include a stream data identifier allocated for the stream data.
  • the cluster scheduling server is configured as a new transmission cluster for the transmission cluster scheduled by the client according to the transmission request of the client, and the client receives the feedback result of the cluster scheduling server.
  • Step 205 When the newly added transport cluster is invoked, the preset interpreter is used to interpret and execute the communication configuration code, and the communication configuration code performs encapsulation of the scheduling request of the transport node according to the communication protocol of the newly added transport cluster. .
  • Step 206 Send the encapsulated scheduling request to the newly added transport cluster.
  • Step 207 Receive a scheduling result that is fed back by the newly added transmission cluster.
  • 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 according to the encapsulated scheduling request, where
  • the scheduling result encapsulates information such as the 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 location of the client, and may also allocate a transport node to the client according to load balancing among multiple transport nodes, and may adopt any applicable scheduling manner. This embodiment does not limit this.
  • the new transmission cluster sends the scheduling result generated by the scheduling to the client, and the client receives the scheduling result.
  • Step 208 Interpreting and executing the communication configuration code by using a preset interpreter, and parsing, by the communication configuration code, the new transmission cluster scheduling from the scheduling result according to the communication protocol of the newly added transmission cluster.
  • the node ID of the transport node The node ID of the transport node.
  • 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 preset interpreter is used to interpret and execute the communication configuration code, and the scheduling result is parsed according to the communication protocol of the newly added transmission cluster, and the node identifier of the scheduled transmission node is parsed 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.
  • Step 209 Perform stream data transmission according to a transport address of the transport node corresponding to the node identifier.
  • 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 corresponding transport node can be found by the node identifier, and the transport address can be generated on the client according to the content parsed from the scheduling result, or can be directly parsed from the scheduling result.
  • the client accesses the transport address and transmits the stream data to the transport node.
  • the scheduling function of the newly added transmission cluster is added to the client without applying the application update.
  • the system sends a stream data transmission request to the cluster scheduling server, and receives the feedback result of the scheduling new transmission cluster fed back by the cluster scheduling server, so as to implement the request scheduling distribution transmission cluster.
  • the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster, and
  • the encapsulated scheduling request is sent to the newly added transmission cluster, and the scheduling result fed back by the newly added transmission cluster is received, and the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code is added according to the new Transmitting a communication protocol of the cluster, parsing, from the scheduling result, a node identifier of the transmission node scheduled by the newly added transmission cluster, and transmitting the stream data according to the transmission address of the transmission node corresponding to the node identifier.
  • the execution communication configuration code can complete encapsulation of the scheduling request corresponding to the newly added transmission cluster, and then be used to schedule the node to schedule the transmission node, complete the analysis of the scheduling result of the feedback of the transmission cluster, and then obtain the scheduled transmission node, and implement the new The hot update of the scheduling function of the transmission cluster avoids the inconvenience and inconvenience of updating the application.
  • FIG. 3 a schematic flowchart of a step of a scheduling method of a transit node according to Embodiment 3 of the present invention is shown, which may specifically include the following steps:
  • Step 301 The cluster scheduling server prestores a configuration relationship between the location information of the client and the at least one transport cluster.
  • the cluster scheduling server is configured to schedule the transport cluster, select one transport cluster among the multiple transport clusters and feed back to the requester, for example, to schedule the transport cluster for the client that issues the cluster scheduling request.
  • 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 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 cluster scheduling 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 of the client.
  • the information allocates a corresponding transport cluster to the client to provide a streaming data transmission 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 302 The cluster scheduling server corrects the configuration relationship according to the transmission performance data of the 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 streaming data transmission, and the transmission performance data of each transmission cluster obtained by synthesizing data reported by multiple 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 cluster scheduling server determines the transmission performance data of each location information corresponding to each transmission cluster according to the location information carried by each client when transmitting the performance data, because the same transmission cluster is for different geographical areas, that is, for different location information, the transmission performance The data will be different. As time changes, the transmission performance data of each transmission cluster corresponding to each location information will also change. 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.
  • 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.
  • the cluster scheduling server collects transmission performance data of multiple clients corresponding to the same location information to the same transmission cluster, and calculates an average value; the cluster scheduling server compares whether the average value reaches a set threshold. Or correct the configuration relationship between the location information and the transport cluster by comparing the same location information to the average of different transport clusters.
  • 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 to the cluster scheduling server, 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 cluster scheduling server corrects the configuration relationship between the location information and the transport cluster. Specifically, it can compare whether the average value reaches the set threshold. If the average value is set, the corresponding configuration of the transport cluster and the location information can be used to update the configuration. Relationship; or the relationship between the location information and each transport cluster may 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.
  • step 303 it is determined that there is a new transmission cluster.
  • the client is the first client, and the specific manner of the step is the same as that of the other embodiments.
  • the specific manner of the step is the same as that of the other embodiments.
  • Step 304 Download a corresponding communication configuration code from the communication configuration code base.
  • the client is the first client, and the specific manner of the step is the same as that of the other embodiments.
  • the specific manner of the step is the same as that of the other embodiments.
  • Step 305 The cluster scheduling server schedules the corresponding first transmission 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 according to the modified configuration relationship, the cluster scheduling server finds the corresponding first transport cluster according to the location information of the first client.
  • the first client sends the location information to the server responsible for scheduling the transmission cluster, and the cluster scheduling server searches for the transmission cluster corresponding to the location relationship of the first client according to the locally stored configuration relationship, and the found transmission 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.
  • the implementation manner of the first transmission cluster corresponding to the first client scheduling according to the modified configuration relationship is: the cluster scheduling server searches for the first according to the modified configuration relationship. a plurality of transport clusters configured by a client; the cluster scheduling server selects, from the plurality of transport clusters, a first transport 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 sorting After the historically selected transport cluster, greater than the set priority or transmission performance meets the set requirements.
  • the configuration relationship between the location information and the transport cluster may be that one location information corresponds to multiple transport clusters, and the cluster scheduling server searches for the transport cluster corresponding to the location information of the first client according to the modified configuration relationship, and finds The transport cluster is a multi-transport cluster.
  • 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.
  • the configuration relationship is a correspondence between a location area where the client is located and a transmission cluster
  • the modified configuration relationship is a type of the first transmission cluster corresponding to the first client scheduling.
  • the implementation manner is: the cluster scheduling server extracts the network address and/or the positioning information of the first client; the cluster scheduling server identifies the location area to which the first client belongs according to the network address and/or the positioning information; the cluster scheduling server According to the configuration relationship, a first transport cluster configured for the identified location area is found.
  • 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.
  • Step 306 The cluster scheduling server notifies the scheduled first transmission cluster to the first client for transmission of the stream data.
  • the cluster scheduling 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.
  • Step 307 When the newly added transport cluster is invoked, the preset interpreter is used to interpret and execute the communication configuration code, and the communication configuration code performs encapsulation of the scheduling request of the transport node according to the communication protocol of the newly added transport cluster. .
  • the newly added transmission cluster is the first transmission cluster, and the specific manner of the step is the same as that of the other embodiments. For brevity, no further details are provided herein.
  • Step 308 Send the encapsulated scheduling request to the newly added transport cluster.
  • the newly added transmission cluster is the first transmission cluster, and the specific manner of the step is the same as that of the other embodiments. For brevity, no further details are provided herein.
  • Step 309 Perform transmission of stream data according to the transmission node scheduled by the newly added transmission cluster.
  • the newly added transmission cluster is the first transmission cluster, and the specific manner of the step is the same as that of the other embodiments. For brevity, no further details are provided herein.
  • the method before the modifying the configuration relationship according to the transmission performance data of the transmission cluster of each transmission service provider, the method further includes the following steps: the cluster scheduling server collects multiple clients in the Transmission performance data reported by each transmission cluster when performing streaming data transmission, the transmission performance data including a code rate and/or a frame rate.
  • 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.
  • the method further includes the step of: the cluster scheduling server receives the target stream data uploaded by the first client, and the target is The streaming data is pushed to a storage server that stores stream data of a plurality of 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.
  • the method further includes the step that the cluster scheduling server receives the scheduling request of the second client to acquire the target stream data, and notifies the first transmission cluster that stores the target stream data to the second client.
  • the cluster scheduling server receives the scheduling request of the second client, and the scheduling request is a scheduling request for acquiring the target stream data, and notifying the first transmission cluster storing the target stream data to the second according to the scheduling request of the second client.
  • the client may specifically notify the second client of the address of the transit node having the target stream data in the first transport cluster.
  • the method further includes the following steps: the cluster scheduling server receives the scheduling request of the second client to replace the first transmission cluster, and schedules the second transmission cluster for the second client according to the configuration relationship.
  • the second transport cluster retrieves the target stream data from the storage server.
  • 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 method before the first transmission cluster corresponding to the first client is scheduled according to the modified configuration relationship, the method further includes the step of: the cluster scheduling server receives the scheduling of the first client to allocate the transmission cluster. request.
  • the first client needs to transmit the stream data, and sends a scheduling request for allocating the transport cluster to the cluster scheduling 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.
  • the method further includes the following steps: the cluster scheduling server, when the scheduling request indicates that the scheduling request indicates the uploading of the stream data, assigning a flow identifier to the stream data to be uploaded;
  • a client in an implementation manner for the transmission of the streaming data, is: the cluster scheduling server combines the flow identifier with the domain name of the scheduled transport cluster into a streaming address notification to the first client, for the client to The streaming address performs transmission of streaming data.
  • 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.
  • 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: a cluster
  • the scheduling server combines the flow identifier with the domain name of the scheduled transport cluster into a streaming address with the protocol type as a protocol header.
  • the protocol type of the first client refers to the protocol type of the streaming data transmission supported and selected by the first client, for example, the Real Time Messaging Protocol (RTMP).
  • the protocol is based on TCP and is a family of protocols, including RTMP basic protocols and RTMPT/RTMPS/RTMPE variants.
  • RTMP is a network protocol designed for real-time data communication. It is mainly used for audio, video and data communication between the Flash/AIR platform and the streaming/interactive server supporting RTMP.
  • Software that supports this protocol includes Adobe Media Server/Ultrant Media Server/red5 and more.
  • 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.
  • the corresponding communication configuration code is downloaded from the communication configuration code base, so that when the newly added transmission cluster provides the streaming data transmission service, the corresponding communication is directly downloaded.
  • the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster. Sending the encapsulated scheduling request to the newly added transport cluster, and transmitting the stream data according to the transport node scheduled by the newly added transport 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. .
  • the configuration relationship is corrected according to the transmission performance data of the transport cluster of each transport service provider by pre-storing the location information of the client and the configuration relationship of the at least one transport cluster, and the first client is configured according to the modified configuration relationship. Dispatching the corresponding first transmission cluster, and notifying the scheduled first transmission cluster to the first client for transmission of the stream data, so that the configuration relationship of scheduling the transmission cluster for the client can be adjusted according to the transmission performance data, and realizing According to the transmission performance data of each transmission cluster, the correspondence between the location information and the transmission cluster is corrected, and the problem that the transmission 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.
  • FIG. 4 a structural block diagram of a scheduling apparatus of a transmission node according to Embodiment 4 of the present invention is shown, which may specifically include the following modules:
  • a cluster determining module 401 configured to determine that a new transport cluster exists
  • the configuration code downloading module 402 is configured to download a corresponding communication configuration code from the communication configuration code base;
  • the scheduling request encapsulation module 403 is configured to: when the new transmission cluster is invoked, interpret and execute the communication configuration code by using a preset interpreter, and perform, by the communication configuration code, a transmission node according to a communication protocol of the newly added transmission cluster. Encapsulation of the scheduling request;
  • a scheduling request sending module 404 configured to send the encapsulated scheduling request to the newly added transport cluster
  • the stream data transmission module 405 is configured to perform stream data transmission according to the transmission node scheduled by the newly added transmission cluster.
  • the cluster determining module includes:
  • a list obtaining module configured to acquire, from the cluster management server, a first cluster list that records all transport clusters
  • the list comparison module is configured to determine that there is a new transport cluster by comparing the first cluster list with the locally stored second cluster list.
  • the device further comprises:
  • a configuration code deletion module configured to delete the communication configuration code corresponding to the locally saved target transmission cluster if the target transmission cluster that has been deleted is determined by comparing the first cluster list with the locally stored second cluster list.
  • the device further comprises:
  • a list update module configured to update the second cluster list 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 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 stream data transmission module comprises:
  • a scheduling result receiving module configured to receive a scheduling result of the feedback of the newly added transmission cluster
  • a node identifier parsing module configured to interpret and execute the communication configuration code by using a preset interpreter, and parsing the new one from the scheduling result by the communication configuration code according to a communication protocol of the newly added transport cluster Transmitting the node identifier of the transport node scheduled by the cluster;
  • a stream data transmission module configured to perform stream data transmission according to a transport address of the transport node corresponding to the node identifier.
  • the device further comprises:
  • a feedback result receiving module configured to interpret and execute the communication configuration code by using a preset interpreter when the calling the new transmission cluster is invoked, where the communication configuration code is performed according to a communication protocol of the newly added transmission cluster Before encapsulating the scheduling request of the transit node, sending a stream data transmission request to the cluster scheduling server, and receiving a feedback result of the scheduling new transmission cluster fed back by the cluster scheduling server.
  • the device further comprises:
  • An identifier obtaining module configured to acquire a cluster identifier of the newly added transport cluster after determining that a newly added transport cluster exists
  • the configuration code downloading module is specifically configured to search for a corresponding communication configuration code from the communication configuration code base according to the cluster identifier of the newly added transmission cluster.
  • the device further comprises:
  • the client startup module is configured to start the streaming data transmission client before determining that the newly added transmission cluster exists.
  • the device further includes:
  • 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 before the determining that the newly added transport cluster exists, where different transport clusters belong to different transport service providers;
  • a configuration relationship correction module configured to: the cluster scheduling server corrects the configuration relationship according to transmission performance data of a transmission cluster of each transmission service provider;
  • the newly added transmission cluster is a first transmission cluster, and the device includes:
  • a cluster scheduling module configured to interpret and execute the communication configuration code by using a preset interpreter when the calling the new transmission cluster is invoked, and transmitting, by the communication configuration code, according to a communication protocol of the newly added transmission cluster Before the encapsulation of the scheduling request of the node, the cluster scheduling server schedules the corresponding first transmission cluster for the first client according to the modified configuration relationship;
  • the cluster notification module is configured by the cluster scheduling server to notify the first transmission cluster of the scheduling 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 by the cluster scheduling server to collect transmission performance data of multiple 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 different transport clusters corresponding to the same location information.
  • the device further includes:
  • a data collection module configured to collect, when the configuration relationship is corrected according to the transmission performance data of the transmission cluster of each transmission service provider, the cluster scheduling server collects, when the plurality of clients perform streaming data transmission with each transmission cluster
  • the transmitted transmission 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, by the cluster scheduling server to search for multiple transport clusters corresponding to the first client according to the modified configuration relationship
  • a first cluster selection module configured, by the cluster scheduling server, selecting, 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 ranking is in a history selection After the transmission cluster, greater than the set priority or transmission performance meets the set 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: the cluster scheduling server extracts a network address and/or location information of the first client;
  • the area identification module is configured to identify, by the cluster scheduling server, the location area to which the first client belongs according to the network address and/or the location information;
  • a searching module configured by the cluster scheduling server, according to the configuration relationship, to find a first transport cluster configured for the identified location area.
  • the device further includes:
  • a stream data receiving module configured to: after the first transmission cluster to be scheduled is notified to the first client, the cluster scheduling server receives the target stream data uploaded by the first client, and pushes the target stream data to store multiple A storage server that transfers streaming data for a cluster.
  • the device further includes:
  • the first request receiving module is configured to receive, by the cluster scheduling server, 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, by the cluster scheduling server, 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
  • the storage server retrieves the target stream data.
  • the device further includes:
  • a second request receiving module configured to receive, by the cluster scheduling server, a scheduling request of the first client to allocate the transmission cluster, before scheduling the corresponding first transmission cluster for the first client according to the modified configuration relationship.
  • the device further includes:
  • a flow identifier allocation module configured to: when the cluster scheduling server identifies that the scheduling request indicates uploading stream data, assigning a stream identifier to the stream data to be uploaded;
  • the cluster notification module includes:
  • the transport address notification module is configured to: the cluster scheduling server combines 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 use, by the cluster scheduling server, the protocol type as a protocol header, and combine the flow identifier with a domain name of the scheduled transport cluster into a streaming address.
  • the corresponding communication configuration code is downloaded from the communication configuration code base, so that when the newly added transmission cluster provides the streaming data transmission service, the corresponding communication is directly downloaded.
  • the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster. Sending the encapsulated scheduling request to the newly added transport cluster, and transmitting the stream data according to the transport node scheduled by the newly added transport 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. .
  • 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 functionality of some or all of the components of the scheduling method and apparatus of the transmitting node in accordance with embodiments of the present invention.
  • 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.
  • 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 transmitting node 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)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A method and apparatus for scheduling a transmission node. The method comprises: determining that a newly added transmission cluster exists; downloading a corresponding communication configuration code from a communication configuration code library; when the newly added transmission cluster is invoked, using a pre-set interpreter to interpret and execute the communication configuration code, and the communication configuration code encapsulating, according to a communication protocol of the newly added transmission cluster, a scheduling request of a transmission node; sending the encapsulated scheduling request to the newly added transmission cluster; and according to the transmission node scheduled by the newly added transmission cluster, transmitting streaming data. According to the technical solution, when a newly added transmission cluster provides a streaming data transmission service, a corresponding communication configuration code is directly downloaded to add a scheduling function of the newly added transmission cluster for a client, without the need to perform application updating, such that a hot update of the scheduling function of the newly added transmission cluster is implemented, and the inconvenience of and delay in updating an application are avoided.

Description

一种传输节点的调度方法和装置Scheduling method and device for transmission node
申请要求在2017年01月03日提交中国专利局、申请号为201710002635.9、发明名称为“一种传输节点的调度方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The application claims the priority of the Chinese Patent Application, which is filed on Jan. 03, 2017, the entire disclosure of which is hereby incorporated by reference. in.
技术领域Technical field
本发明涉及传输调度技术领域,具体涉及一种传输节点的调度方法以及一种传输节点的调度装置。The present invention relates to the field of transmission scheduling technologies, and in particular, to a scheduling method of a transmission node and a scheduling apparatus of the transmission node.
背景技术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.
由于不同的内容分发网络的调度接口和方式不尽相同,针对不同的内容分发网络,客户端需要准备不同格式的调度请求包,并发送到不同的内容分发网络进行服务器的调度。现有技术中,当有新增的内容分发网络接入流数据传输服务时,需要对客户端进行版本升级,以应用更新的方式将新增的内容分发网络对应的服务器调度功能集成到新版的客户端应用中。然而,一方面,依赖应用更新来更新新增内容分发网络对应的调度功能很不方便,很难做到及时更新,两一方面,用户如果不对应用进行更新就无法实现更新新增内容分发网络对应的调度功能。Because the scheduling interfaces and methods of different content distribution networks are different, for different content distribution networks, the client needs to prepare scheduling request packets of different formats and send them to different content distribution networks for server scheduling. In the prior art, when there is a new content distribution network access stream data transmission service, the client needs to be upgraded, and the server scheduling function corresponding to the newly added content distribution network is integrated into the new version by applying the update method. In the client application. However, on the one hand, it is inconvenient to rely on the application update to update the scheduling function corresponding to the newly added content distribution network, and it is difficult to update in time. On both sides, if the user does not update the application, the update cannot be implemented. Scheduling function.
发明内容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 transmission node 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 transmission node is provided, including:
确定存在新增传输集群;Make sure there is a new transport cluster;
从通信配置代码库中下载对应的通信配置代码;Download the corresponding communication configuration code from the communication configuration code base;
调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;When the new transmission cluster is invoked, the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster;
将封装的调度请求发送至所述新增传输集群;Sending the encapsulated scheduling request to the newly added transport cluster;
根据所述新增传输集群调度的传输节点进行流数据的传输。The transmission of the stream data is performed according to the transmission node scheduled by the newly added transmission cluster.
根据本发明的另一方面,提供了一种传输节点的调度装置,包括:According to another aspect of the present invention, a scheduling apparatus for a transmission node is provided, including:
集群确定模块,用于确定存在新增传输集群;a cluster determining module, configured to determine that a new transport cluster exists;
配置代码下载模块,用于从通信配置代码库中下载对应的通信配置代码;a configuration code downloading module, configured to download a corresponding communication configuration code from the communication configuration code base;
调度请求封装模块,用于调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;a scheduling request encapsulating module, configured to: when the new transmission cluster is invoked, interpreting and executing the communication configuration code by using a preset interpreter, and performing, by the communication configuration code, a transmission node according to a communication protocol of the newly added transmission cluster The encapsulation of the scheduling request;
调度请求发送模块,用于将封装的调度请求发送至所述新增传输集群;a scheduling request sending module, configured to send the encapsulated scheduling request to the newly added transmission cluster;
流数据传输模块,用于根据所述新增传输集群调度的传输节点进行流数据的传输。And a stream data transmission module, configured to perform stream data transmission according to the transmission node scheduled by the newly added transmission cluster.
根据本发明的又一个方面,提供了一种计算机程序,其包括计算机可读代码,当所述计算机可读代码在计算设备上运行时,导致所述计算设备执行所述的传输节点的调度方法。According to still another aspect of the present invention, a computer program is provided, comprising computer readable code, when the computer readable code is run on a computing device, causing the computing device to perform the scheduling method of the transmitting node .
根据本发明的再一个方面,提供了一种计算机可读介质,其中存储了所述的计算机程序。According to still another aspect of the present invention, a computer readable medium is provided, wherein the computer program is stored.
根据本发明的传输节点的调度方法和装置可以通过确定存在新增传输集群,从通信配置代码库中下载对应的通信配置代码,使得当新增传输集群提供流数据传输服务时,直接下载对应的通信配置代码,为客户端添加新增传输集群的调度功能,而无需进行应用更新。然后在调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至所述新增传输集群,根据所述新增传输集群调度的传输节点进行流数据的传输。使得执行通信配置代码可以完成对新增传输集群对应的调度请求的封装,继而用于调度节点调度传输节点,实现了新增传输集群的调度功能的热更新,避免了更新应用的不便和不及时。The scheduling method and apparatus for the transmission node according to the present invention can download the corresponding communication configuration code from the communication configuration code base by determining that the new transmission cluster exists, so that when the new transmission cluster provides the streaming data transmission service, the corresponding download is directly downloaded. The communication configuration code adds the scheduling function of the newly added transport cluster to the client without applying the application update. Then, when the new transmission cluster is invoked, the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster. Sending the encapsulated scheduling request to the newly added transport cluster, and transmitting the stream data according to the transport node scheduled by the newly added transport 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. .
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。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示出了根据本发明实施例一的一种传输节点的调度方法的步骤流程示意图;1 is a flow chart showing the steps of a scheduling method of a transmission node according to Embodiment 1 of the present invention;
图2示出了根据本发明实施例二的一种传输节点的调度方法的步骤流程示意图;2 is a schematic flow chart showing the steps of a scheduling method of a transmission node according to Embodiment 2 of the present invention;
图3示出了根据本发明实施例三的一种传输节点的调度方法的步骤流程示意图;3 is a flow chart showing the steps of a scheduling method of a transmission node according to Embodiment 3 of the present invention;
图4示出了根据本发明实施例四的一种传输节点的调度装置的结构框图;4 is a structural block diagram of a scheduling apparatus of a transmission node 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 a step of a scheduling method of a transmitting node according to the first embodiment of the present invention, which may specifically include the following steps:
步骤101,确定存在新增传输集群。In step 101, it is determined 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 client. When the new transport cluster provides the streaming data transmission service for the client, the client determines that there is a new transport cluster. The specific manner may be any applicable manner. This is not limited. For example, the client may obtain a 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 client may receive A new transport cluster notification sent by the cluster management server determines that there is a new transport cluster. In the present invention, the cluster management server is a server for managing a transport cluster.
步骤102,从通信配置代码库中下载对应的通信配置代码。Step 102: Download a corresponding communication configuration code from a 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 the client determines that there is a new transport cluster, it finds the communication configuration code corresponding to the newly added transport cluster from the communication configuration code base, and downloads the communication configuration code corresponding to the newly added transport cluster to the local.
步骤103,调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装。Step 103: When the newly added transport cluster is invoked, the preset interpreter is used to interpret and execute the communication configuration code, and the communication configuration code performs encapsulation of the scheduling request of the transport node according to the communication protocol of the newly added transport cluster. .
在本实施例中,客户端调用新增传输集群是指客户端通过新增传输集群进行流数据传输,具体可以是客户端主动选择新增的传输集群,或者可以是客户端接收集群调度根据客户端的请求为客户端选择新增的传输集群。In this embodiment, the client invokes the newly added transport cluster to refer to the client transmitting the data through the newly added transport cluster. Specifically, the client may actively select the newly added transport cluster, or the client may receive the cluster scheduling according to the client. The end request selects a new transport cluster for the client.
解释器(英语:Interpreter),又译为直译器,是一种电脑程序,能够把高级编程语言一行一行直接转译运行。解释器不会一次把整个程序转译出来,只像一位“中间人”,每次运行程序时都要先转成另一种语言再作运行。它每转译一行程序叙述就立刻运行,然后再转译下一行,再运行,如此不停地进行下去。The interpreter (English: Interpreter), also translated as an interpreter, is a computer program that can translate 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 scheduling request is encapsulated by using a preset interpreter to interpret and execute the communication configuration code, wherein the scheduling request is a scheduling request of the transmitting node sent by the client to the transport 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.
步骤104,将封装的调度请求发送至所述新增传输集群。Step 104: Send the encapsulated scheduling request to the newly added transport cluster.
在本实施例中,将封装的调度请求发送至新增传输集群,具体可以为访问传输集群对应的通信配置代码记录的网络地址时,发送封装的调度请求。例如,网络地址可以为直播应用中调用传输集群的域名推流地址,解析域名推流地址可以得到将封装的调度请求发送到用于在传输集群中选传输节点的服务器。In this embodiment, the encapsulated scheduling request is sent to the newly added transport cluster, and specifically, when the network address recorded by the communication configuration code corresponding to the transport cluster is accessed, the encapsulated scheduling request is sent. 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.
步骤105,根据所述新增传输集群调度的传输节点进行流数据的传输。Step 105: Perform transmission of stream data according to the transmission node scheduled by the newly added transmission cluster.
在本实施例中,新增传输集群为客户端调度传输节点,具体可以是根据客户端的网络地址、所处地理位置等至少一种信息进行调度,选择的传输节点为与客户端网络连接状况较好的传输节点,具体可以根据任意适用的调度逻辑为客户端调度传输节点,本实施例对此不作限定。客户端与调度的传输节点建立连接,进行流数据的传输,具体可以包括客户端进行流数据的上传或下载。In this embodiment, the newly added transmission cluster is a client scheduling transmission node, which may be scheduled according to at least one type of information such as a network address of the client and a geographical location, and the selected transmission node is connected to the client network. For a good transmission node, the transmission node may be scheduled for the client according to any applicable scheduling logic, which is not limited in this embodiment. The client establishes a connection with the scheduled transmission node to perform the transmission of the stream data, and specifically includes the client uploading or downloading the stream data.
综上所述,依据本发明实施例,通过确定存在新增传输集群,从通信配置代码库中下载对应的通信配置代码,使得当新增传输集群提供流数据传输服务时,直接下载对应的通信配置代码,为客户端添加新增传输集群的调度功能,而无需进行应用更新。然后在调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至所述新增传输集群,根据所述新增传输集群调度的传输节点进行流数据的传输。使得执行通信配置代码可以完成对新增传输集群对应的调度请求的封装,继 而用于调度节点调度传输节点,实现了新增传输集群的调度功能的热更新,避免了更新应用的不便和不及时。In summary, according to the embodiment of the present invention, by determining that there is a newly added transmission cluster, the corresponding communication configuration code is downloaded from the communication configuration code base, so that when the newly added transmission cluster provides the streaming data transmission service, the corresponding communication is directly downloaded. Configure the code to add scheduling capabilities for the new transport cluster to the client without applying an application update. Then, when the new transmission cluster is invoked, the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster. Sending the encapsulated scheduling request to the newly added transport cluster, and transmitting the stream data according to the transport node scheduled by the newly added transport 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. .
在本发明实施例中,优选地,所述确定存在新增传输集群的一种实现方式为:从集群管理服务器获取记录所有传输集群的第一集群列表;通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。In an embodiment of the present invention, preferably, the determining that there is a newly added transport cluster is: obtaining, by the cluster management server, a first cluster list that records all transport clusters; by comparing the first cluster list with A second cluster list stored locally determines that there is a new transport cluster.
集群管理服务器为用于管理传输集群的服务器。第一集群列表为存储在集群管理服务器上当前提供流数据传输服务的传输集群的列表。第二集群列表为存储在客户端本地的提供流数据传输服务的传输集群的列表。客户端从集群管理服务器下载到本地,然后比较第一集群列表和第二集群列表,如果第一集群列表中有第二集群列表中没有的传输集群的标识,则确定存在新增的传输集群。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 stored locally at the client. The client downloads from the cluster management server to the local device, and then compares the first cluster list with the second cluster list. If there is an identifier of the transport cluster that is not in the second cluster list in the first cluster list, it is determined that there is a new transport cluster.
在本发明实施例中,优选地,所述方法还包括:若通过比对所述第一集群列表与本地存储的第二集群列表,确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。In an embodiment of the present invention, preferably, the method further includes: if the target transmission cluster that has been deleted is determined by comparing the first cluster list with the locally stored second cluster list, deleting the locally saved The communication configuration code corresponding to the target transmission cluster.
目标传输集群为不再为流数据传输提供服务的传输集群。比较第一集群列表和第二集群列表,如果第二集群列表中有第一集群列表中没有的传输集群的标识,则确定存在已删除的目标传输集群。将客户端本地保存的目标传输集群对应的通信配置代码删除。The target transport cluster is a transport cluster that no longer serves streaming data transfers. Comparing the first cluster list and the second cluster list, if there is an identifier of the transport cluster that is not in the first cluster list in the second cluster list, it is determined that there is a deleted target transport cluster. Delete the communication configuration code corresponding to the target transport cluster saved locally by the client.
在本发明实施例中,优选地,所述方法还包括:以所述集群管理服务器的第一集群列表更新第二集群列表。In an embodiment of the present invention, preferably, the method further includes: updating the second cluster list by using the first cluster list of the cluster management server.
从集群管理服务器下载第一集群列表,比较第一集群列表和第二集群列表后,用第一集群列表更新第二集群列表,具体可以将第二集群列表删除,并将第一集群列表保存到本地作为新的第二集群列表,或者将第一集群列表中新增的内容补充到本地的第二集群列表中,或者将第一集群列表中删除的内容从本地的第二集群列表中删除。Downloading the first cluster list from the cluster management server, comparing the first cluster list and the second cluster list, updating the second cluster list with the first cluster list, specifically deleting the second cluster list, and saving the first cluster list to Locally as a new second cluster list, or add the new content in the first cluster list to the local second cluster list, or delete the content deleted in the first cluster list from the local second cluster list.
在本发明实施例中,优选地,所述通信配置代码还记录有所述新增传输集群的网络地址,所述将封装的调度请求发送至所述新增传输集群的一种实现方式为:按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。In an embodiment of the present invention, preferably, the communication configuration code further records a network address of the newly added transmission cluster, and an implementation manner of sending the encapsulated scheduling request to the newly added transmission cluster is: And sending 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, and the network address is resolved and the access can send 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.
在本发明实施例中,优选地,在所述确定存在新增传输集群之后,所述方法还包括:获取所述新增传输集群的集群标识;在所述从通信配置代码库中下载对应的通信配置代码之前,还可以按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。In the embodiment of the present invention, after the determining that there is a newly added transmission cluster, the method further includes: acquiring a cluster identifier of the newly added transport cluster; and downloading a corresponding one in the slave communication configuration code base. Before the communication configuration code, the corresponding communication configuration code may be searched from the communication configuration code base according to the cluster identifier of the newly added transmission cluster.
确定存在新增传输集群后,客户端获取新增传输集群的集群标识,例如,可以从传输集群的列表中获取新增传输集群的集群标识。例如可以从第一集群列表中提取新增传输集群的集群标识。After determining that there is a new transport cluster, the client obtains the cluster ID of the newly added transport cluster. For example, the cluster identifier of the newly added transport cluster can be obtained from the list of transport clusters. 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 can be searched from the communication configuration code base according to the cluster identifier.
在本发明实施例中,确定某个传输集群的通信配置代码发生更新,具体可以通过对比通信配置代码库中该传输集群对应的代码与本地存储的代码,发现通信配置代码发生更新,就将通信配置代码库中对应代码更新到本地即可。例如,可以直接对比通信配置代码库中该传输集群对应的代码和本地存储的该传输集群对应的代码是否相同来判断该传输集群的通信配置代码是否发生更新。或者可以对比通信配置代码库中该传输集群对应的代码的版本号和本地存储的该传输集群对应的代码的版本号是否相同来判断该传输集群的通信配置代码是否发生更新。In the embodiment of the present invention, it is determined that the communication configuration code of a certain transmission cluster is updated. Specifically, by comparing the code corresponding to the transmission cluster in the communication configuration code base with the locally stored code, it is found that the communication configuration code is updated, and the communication is performed. The corresponding code in the configuration code base can be updated to the local. For example, it is possible to directly compare whether the code corresponding to the transport cluster in the communication configuration code base and the code corresponding to the locally stored transport cluster are the same to determine whether the communication configuration code of the transport cluster is updated. Alternatively, whether the communication configuration code of the transport cluster is updated may be compared according to whether the version number of the code corresponding to the transport cluster in the communication configuration code base is the same as the version number of the code corresponding to the locally stored transport cluster.
进一步,从通信配置代码库中下载更新的通信配置代码,可以采用更新的通信配置代码进行流数据的传输,具体包括调用通信配置代码发生更新的传输集群时,采用预置解释器解释并执行更新得到的通信配置代码,由通信配置代码按照该传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至该传输集群,然后根据该传输集群调度的传输节点进行流数据的传输。一般来说,供应商修改了对其传输集群的调度请求的方式的情况下,虽然此时一般都会兼容旧的调度请求的方式,但新的方式一般在成功率,准确率,效率,安全性等方面有一定的优势。Further, the updated communication configuration code is downloaded from the communication configuration code base, and the updated communication configuration code may be used for the transmission of the streaming data, specifically, when the transmission cluster in which the communication configuration code is updated is called, the preset interpreter is used to interpret and perform the update. Obtaining a communication configuration code, wherein the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the transmission cluster, sends the encapsulated scheduling request to the transmission cluster, and then performs streaming data according to the transmission node scheduled by the transmission cluster. transmission. In general, when a vendor modifies the way in which a scheduling request is transmitted to a cluster, although the old scheduling request is generally compatible at this time, the new method generally has success rate, accuracy, efficiency, and security. Other aspects have certain advantages.
参照图2,示出了根据本发明实施例二的一种传输节点的调度方法的步骤流程示意图,具体可以包括如下步骤:2 is a schematic flowchart of a step of a scheduling method of a transit node according to Embodiment 2 of the present invention, which may specifically include the following steps:
步骤201,启动流数据传输客户端。In step 201, the streaming data transmission client is started.
在本实施例中,流数据传输客户端可以为向传输集群上传流数据的客户端,也可以为从传输集群下载流数据的客户端,例如,在视频直播应用中,上传视频流数据的主播客户端、下载视频流数据的观众客户端。In this embodiment, the streaming data transmission client may be a client that uploads streaming data to the transport cluster, or a client that downloads streaming data from the transport cluster, for example, in a live video application, uploading an anchor of the video stream data. The client, the viewer client that downloads the video stream data.
步骤202,确定存在新增传输集群。In step 202, it is determined that there is a new transmission cluster.
在本实施例中,在启动流数据传输客户端后,检测是否存在新增传输集群,并且检测结果为确定存在新增传输集群,具体方式和其他实施例描述一致,不做赘述。In this embodiment, after the streaming data transmission client is started, it is detected whether there is a new transmission cluster, and the detection result is that the new transmission cluster is determined. The specific manner is consistent with the description of other embodiments, and details are not described herein.
步骤202,从通信配置代码库中下载对应的通信配置代码。Step 202: Download a corresponding communication configuration code from the communication configuration code base.
在本实施例中,具体方式和其他实施例描述一致,不做赘述。In the embodiment, the specific manner is the same as the description of other embodiments, and details are not described herein.
步骤204,向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。Step 204: Send a stream data transmission request to the cluster scheduling server, and receive a feedback result of the scheduling new transmission cluster fed back by the cluster scheduling server.
集群调度服务器为可以为客户端调度传输集群的服务器,具体可以根据客户端的流数据传输请求为客户端选取传输集群并反馈给客户端。集群调度服务器可以是单个服务器,也可以是集群调度服务器集群中的一个。集群调度服务器可以和集群管理服务器是同一个服务器,也可以是和集群管理服务器不同的另一个服务器。The cluster scheduling server is a server that can schedule a transmission cluster for the client. Specifically, the client can select a transmission cluster and feed back to the client according to the stream data transmission request of the 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 streaming data transmission client sends a streaming data transmission request to the cluster scheduling server, where the streaming data transmission request usually carries the network address of the client and/or the current location, so as to select the cluster scheduling server as the client. The basis for the transport cluster. The stream data transmission client receives the feedback result of the cluster scheduling server, wherein the feedback result is a scheduling result of scheduling the newly added transmission cluster, specifically including a transmission cluster selected for the client, and may further include a stream data identifier allocated for the stream data. In this embodiment, the cluster scheduling server is configured as a new transmission cluster for the transmission cluster scheduled by the client according to the transmission request of the client, and the client receives the feedback result of the cluster scheduling server.
步骤205,调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装。Step 205: When the newly added transport cluster is invoked, the preset interpreter is used to interpret and execute the communication configuration code, and the communication configuration code performs encapsulation of the scheduling request of the transport node according to the communication protocol of the newly added transport cluster. .
在本实施例中,该步骤具体方式和其他实施例描述一致,为简洁起见,此处不另赘述。In this embodiment, the specific manner of the step is the same as that of the other embodiments. For the sake of brevity, no further details are provided herein.
步骤206,将封装的调度请求发送至所述新增传输集群。Step 206: Send the encapsulated scheduling request to the newly added transport cluster.
在本实施例中,该步骤具体方式和其他实施例描述一致,为简洁起见,此处不另赘述。In this embodiment, the specific manner of the step is the same as that of the other embodiments. For the sake of brevity, no further details are provided herein.
步骤207,接收所述新增传输集群反馈的调度结果。Step 207: Receive a scheduling result that is fed back by the newly added transmission cluster.
在本实施例中,新增传输集群反馈的调度结果为调度的传输集群中的传输节点,具体可以是新增传输集群根据封装的调度请求,为客户端调度传输集群中的一个传输节点,其中调度结果中封装有调度的传输节点的节点标识等信息。传输集群可以根据客户端的网络地址和/或所处位置为客户端分配一个传输节点,还可以包括根据多个传输节点间的负载平衡为客户端分配一个传输节点,具体可以采用任意适用的调度方式,本实施例对此不作限定。新增传输集群将调度产生的调度结果发送给客户端,客户端接收调度结果。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 according to the encapsulated scheduling request, where The scheduling result encapsulates information such as the 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 location of the client, and may also allocate a transport node to the client according to load balancing among multiple transport nodes, and may adopt any applicable scheduling manner. This embodiment does not limit this. The new transmission cluster sends the scheduling result generated by the scheduling to the client, and the client receives the scheduling result.
步骤208,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识。Step 208: Interpreting and executing the communication configuration code by using a preset interpreter, and parsing, by the communication configuration code, the new transmission cluster scheduling from the scheduling result according to the communication protocol of the newly added transmission cluster. The node ID of the transport node.
节点标识为传输节点在网络中的标识,具体可以是传输节点在传输集群中的标识或者传输节点的网络地址,例如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 preset interpreter is used to interpret and execute the communication configuration code, and the scheduling result is parsed according to the communication protocol of the newly added transmission cluster, and the node identifier of the scheduled transmission node is parsed 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.
步骤209,按照所述节点标识对应的传输节点的传输地址进行流数据的传输。Step 209: Perform stream data transmission according to a transport address of the transport node corresponding to the node identifier.
在实施例中,传输地址为用于流数据传输的网络地址,具体可以由流数据传输的协议对应协议头、传输节点的网络地址、流数据的标识以及约定的特定字符串组合成传输地址。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 corresponding transport node can be found by the node identifier, and the transport address can be generated on the client according to the content parsed from the scheduling result, or can be directly parsed from the scheduling result. The client accesses the transport address and transmits the stream data to the transport node.
综上所述,依据本发明实施例,通过启动流数据传输客户端,确定存在新增传输集群,从通信配置代码库中下载对应的通信配置代码,使得当新增传输集群提供流数据传输服务时,直接下载对应的通信配置代码,为客户端添加新增传输集群的调度功能,而 无需进行应用更新。In summary, according to the embodiment of the present invention, by starting the streaming data transmission client, determining that there is a new transmission cluster, downloading a corresponding communication configuration code from the communication configuration code base, so that when the new transmission cluster provides the streaming data transmission service When the corresponding communication configuration code is directly downloaded, the scheduling function of the newly added transmission cluster is added to the client without applying the application update.
然后向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果,实现请求调度分配传输集群。在调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至所述新增传输集群,接收所述新增传输集群反馈的调度结果,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识,按照所述节点标识对应的传输节点的传输地址进行流数据的传输。使得执行通信配置代码可以完成对新增传输集群对应的调度请求的封装,继而用于调度节点调度传输节点,以及完成对传输集群反馈的调度结果的解析,继而获得调度的传输节点,实现了新增传输集群的调度功能的热更新,避免了更新应用的不便和不及时。Then, the system sends a stream data transmission request to the cluster scheduling server, and receives the feedback result of the scheduling new transmission cluster fed back by the cluster scheduling server, so as to implement the request scheduling distribution transmission cluster. When the newly added transmission cluster is invoked, the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster, and The encapsulated scheduling request is sent to the newly added transmission cluster, and the scheduling result fed back by the newly added transmission cluster is received, and the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code is added according to the new Transmitting a communication protocol of the cluster, parsing, from the scheduling result, a node identifier of the transmission node scheduled by the newly added transmission cluster, and transmitting the stream data according to the transmission address of the transmission node corresponding to the node identifier. The execution communication configuration code can complete encapsulation of the scheduling request corresponding to the newly added transmission cluster, and then be used to schedule the node to schedule the transmission node, complete the analysis of the scheduling result of the feedback of the transmission cluster, and then obtain the scheduled transmission node, and implement the new The hot update of the scheduling function of the transmission cluster avoids the inconvenience and inconvenience of updating the application.
参照图3,示出了根据本发明实施例三的一种传输节点的调度方法的步骤流程示意图,具体可以包括如下步骤:Referring to FIG. 3, a schematic flowchart of a step of a scheduling method of a transit node according to Embodiment 3 of the present invention is shown, which may specifically include the following steps:
步骤301,集群调度服务器预存客户端的位置信息与至少一个传输集群的配置关系。Step 301: The cluster scheduling server prestores a configuration relationship between the location information of the client and the at least one transport cluster.
集群调度服务器用于调度传输集群,在多个传输集群中选取一个传输集群并反馈给请求方,例如为发出集群调度请求的客户端调度传输集群。The cluster scheduling server is configured to schedule the transport cluster, select one transport cluster among the multiple transport clusters and feed back to the requester, for example, to schedule the transport cluster for the client that issues the cluster scheduling request.
在本实施例中,不同的传输集群归属于不同的传输服务供应方,传输服务供应方是指提供传输集群可以服务流数据传输的传输网络供应方。具体可以选择任意适用的供应方,本实施例对此不做限制。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.
客户端的位置信息是指可以表征客户端在网络上所属的位置区域或地理上所属的位置区域的信息,可以包括网络地址对应的地址段和/或定位位置对应的地理区域,其中网络地址(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 cluster scheduling 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 of the client. The information allocates a corresponding transport cluster to the client to provide a streaming data transmission 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.
步骤302,集群调度服务器根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正。Step 302: The cluster scheduling server corrects the configuration relationship according to the transmission performance data of the 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 streaming data transmission, and the transmission performance data of each transmission cluster obtained by synthesizing data reported by multiple 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.
集群调度服务器根据各客户端上报传输性能数据时携带的位置信息,确定各传输集群对应各位置信息的传输性能数据,由于同一传输集群针对不同的地理区域,也就是针对不同的位置信息,传输性能数据会有不同,随着时间变化,各传输集群对应各位置信息的传输性能数据也会变化。根据各传输集群的传输性能数据对配置关系进行修正。The cluster scheduling server determines the transmission performance data of each location information corresponding to each transmission cluster according to the location information carried by each client when transmitting the performance data, because the same transmission cluster is for different geographical areas, that is, for different location information, the transmission performance The data will be different. As time changes, the transmission performance data of each transmission cluster corresponding to each location information will also change. 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.
在本实施例中,优选地,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正的一种实现方式为:集群调度服务器汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;集群调度服务器通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。In this embodiment, 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 of the modification is: the cluster scheduling server collects transmission performance data of multiple clients corresponding to the same location information to the same transmission cluster, and calculates an average value; the cluster scheduling server compares whether the average value reaches a set threshold. Or correct the configuration relationship between the location information and the transport cluster by comparing the same location information to the average of different transport clusters.
客户端标识是指上传传输性能数据的客户端的标识,传输集群标识是指上传传输性能数据的客户端连接的传输集群的标识。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 to the cluster scheduling server, 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.
集群调度服务器对位置信息与传输集群的配置关系进行修正,具体可以通过比较平均值是否达到设定阈值,如果达到平均值设定阈值,则可以用对应的传输集群与位置信息的对应关系更新配置关系;或者可以通过比较同一位置信息对应的不同传输集群的平均值,按照平均值的排序,更新位置信息与各传输集群的配置关系。The cluster scheduling server corrects the configuration relationship between the location information and the transport cluster. Specifically, it can compare whether the average value reaches the set threshold. If the average value is set, the corresponding configuration of the transport cluster and the location information can be used to update the configuration. Relationship; or the relationship between the location information and each transport cluster may 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.
步骤303,确定存在新增传输集群。In step 303, it is determined that there is a new transmission cluster.
在本实施例中,客户端为第一客户端,且该步骤的具体方式和其他实施例描述一致,为简洁起见,此处不另赘述。In this embodiment, the client is the first client, and the specific manner of the step is the same as that of the other embodiments. For the sake of brevity, no further details are provided herein.
步骤304,从通信配置代码库中下载对应的通信配置代码。Step 304: Download a corresponding communication configuration code from the communication configuration code base.
在本实施例中,客户端为第一客户端,且该步骤的具体方式和其他实施例描述一致,为简洁起见,此处不另赘述。In this embodiment, the client is the first client, and the specific manner of the step is the same as that of the other embodiments. For the sake of brevity, no further details are provided herein.
步骤305,集群调度服务器按照修正后的配置关系为第一客户端调度对应的第一传 输集群。Step 305: The cluster scheduling server schedules the corresponding first transmission 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 according to the modified configuration relationship, the cluster scheduling server finds the corresponding first transport cluster according to the location information of the first client. Specifically, the first client sends the location information to the server responsible for scheduling the transmission cluster, and the cluster scheduling server searches for the transmission cluster corresponding to the location relationship of the first client according to the locally stored configuration relationship, and the found transmission 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.
在本实施例中,优选地,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群的一种实现方式为:集群调度服务器按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;集群调度服务器从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。In this embodiment, preferably, the implementation manner of the first transmission cluster corresponding to the first client scheduling according to the modified configuration relationship is: the cluster scheduling server searches for the first according to the modified configuration relationship. a plurality of transport clusters configured by a client; the cluster scheduling server selects, from the plurality of transport clusters, a first transport 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 sorting After the historically selected transport cluster, greater than the set priority or transmission performance meets the set requirements.
在本实施例中,位置信息与传输集群的配置关系可以是一个位置信息对应多个传输集群,集群调度服务器按照修正后的配置关系,查找第一客户端的位置信息对应的传输集群,并且查找到的传输集群为多个传输集群。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 the cluster scheduling server searches for the transport cluster corresponding to the location information of the first client according to the modified configuration relationship, and finds The transport cluster is a multi-transport cluster.
在本实施例中,从多个传输集群中选取满足设定条件的传输集群,其中,设定条件可以包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。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.
在本实施例中,优选地,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群的一种实现方式为:集群调度服务器提取所述第一客户端的网络地址和/或定位信息;集群调度服务器根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;集群调度服务器按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。In this embodiment, 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 a type of the first transmission cluster corresponding to the first client scheduling. The implementation manner is: the cluster scheduling server extracts the network address and/or the positioning information of the first client; the cluster scheduling server identifies the location area to which the first client belongs according to the network address and/or the positioning information; the cluster scheduling server According to the configuration relationship, a first transport cluster configured for the identified location area is found.
配置关系为客户端所处位置区域与传输集群的对应关系,提取第一客户端的网络地址、定位信息中至少一种,根据网络地址、定位信息中至少一种,识别第一客户端所处的位置区域,按照修正后的配置关系,查找识别的位置区域对应的传输集群,而且查找到的传输集群是第一传输集群。其中网络地址、定位信息可以是客户端在请求调度传输集群时上报的。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.
步骤306,集群调度服务器将调度的第一传输集群通知至第一客户端,以用于流数据的传输。Step 306: The cluster scheduling server notifies the scheduled first transmission cluster to the first client for transmission of the stream data.
在本实施例中,集群调度服务器将根据配置关系调度的第一传输集群通知至第一客户端,第一客户端与第一传输集群建立连接,完成流数据的传输。具体可以是将第一传输集群的标识或者域名地址通知给第一客户端,第一客户端根据标识或域名地址将流数据传输请求发送给第一传输集群,第一传输集群可以反馈一个传输集群中的传输节点给第一客户端,第一客户端与传输节点建立连接传输流数据。In this embodiment, the cluster scheduling 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.
步骤307,调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装。Step 307: When the newly added transport cluster is invoked, the preset interpreter is used to interpret and execute the communication configuration code, and the communication configuration code performs encapsulation of the scheduling request of the transport node according to the communication protocol of the newly added transport cluster. .
在本实施例中,所述新增传输集群为第一传输集群,该步骤的具体方式和其他实施例描述一致,为简洁起见,此处不另赘述。In this embodiment, the newly added transmission cluster is the first transmission cluster, and the specific manner of the step is the same as that of the other embodiments. For brevity, no further details are provided herein.
步骤308,将封装的调度请求发送至所述新增传输集群。Step 308: Send the encapsulated scheduling request to the newly added transport cluster.
在本实施例中,所述新增传输集群为第一传输集群,该步骤的具体方式和其他实施例描述一致,为简洁起见,此处不另赘述。In this embodiment, the newly added transmission cluster is the first transmission cluster, and the specific manner of the step is the same as that of the other embodiments. For brevity, no further details are provided herein.
步骤309,根据所述新增传输集群调度的传输节点进行流数据的传输。Step 309: Perform transmission of stream data according to the transmission node scheduled by the newly added transmission cluster.
在本实施例中,所述新增传输集群为第一传输集群,该步骤的具体方式和其他实施例描述一致,为简洁起见,此处不另赘述。In this embodiment, the newly added transmission cluster is the first transmission cluster, and the specific manner of the step is the same as that of the other embodiments. For brevity, no further details are provided herein.
在本实施例中,优选地,在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,还可以包括步骤:集群调度服务器收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。In this embodiment, before the modifying the configuration relationship according to the transmission performance data of the transmission cluster of each transmission service provider, the method further includes the following steps: the cluster scheduling server collects multiple clients in the Transmission performance data reported by each transmission cluster when performing streaming data transmission, the transmission performance data including a code rate and/or a frame rate.
传输性能数据包括码率、帧率中至少一个,客户端在进行流数据传输时可以上报传输性能数据,具体可以根据服务器的请求上报传输性能数据,也可以定期上报传输性能数据。多个客户端在与各传输集群进行流数据传输时,分别上报传输性能数据,服务器收集各客户端上报的传输性能数据。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.
在本实施例中,优选地,在所述将调度的第一传输集群通知至第一客户端之后,还可以包括步骤:集群调度服务器接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。In this embodiment, after the notifying the scheduled first transmission cluster to the first client, the method further includes the step of: the cluster scheduling server receives the target stream data uploaded by the first client, and the target is The streaming data is pushed to a storage server that stores stream data of a plurality of 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.
在本实施例中,优选地,还可以包括步骤:集群调度服务器接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。In this embodiment, preferably, the method further includes the step that the cluster scheduling server receives the scheduling request of the second client to acquire the target stream data, and notifies the first transmission cluster that stores the target stream data to the second client.
在本实施例中,集群调度服务器接收第二客户端的调度请求,调度请求为获取目标流数据的调度请求,根据第二客户端的调度请求,将存放目标流数据的第一传输集群通知给第二客户端,具体可以是将第一传输集群中有目标流数据的传输节点的地址通知给第二客户端。In this embodiment, the cluster scheduling server receives the scheduling request of the second client, and the scheduling request is a scheduling request for acquiring the target stream data, and notifying the first transmission cluster storing the target stream data to the second according to the scheduling request of the second client. The client may specifically notify the second client of the address of the transit node having the target stream data in the first transport cluster.
在本实施例中,优选地,还可以包括步骤:集群调度服务器接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。In this embodiment, the method further includes the following steps: the cluster scheduling server receives the scheduling request of the second client to replace the first transmission cluster, and schedules the second transmission cluster for the second client according to the configuration relationship. The second transport cluster retrieves the target stream data from the storage server.
在本实施例中,第二客户端发出更换第一传输集群的调度请求,例如,由于第二客户端与第一传输集群之间传输速度无法满足视频直播的需要。接收更换第一传输集群的调度请求,根据第二客户端的位置信息与传输集群的配置关系,为第二客户端调度传输集群,并且调度的传输集群为第二传输集群。第二传输集群与存储有目标流数据的存储服务器建立连接,将目标流数据传输到第二传输集群上。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 this embodiment, before the first transmission cluster corresponding to the first client is scheduled according to the modified configuration relationship, the method further includes the step of: the cluster scheduling server receives the scheduling of the first client to allocate the transmission cluster. request.
在本实施例中,第一客户端需要传输流数据,向集群调度服务器发送分配传输集群的调度请求,服务器接收第一客户端发送的调度请求。其中服务器为集群调度服务器,用于为客户端调度传输集群的服务器。In this embodiment, the first client needs to transmit the stream data, and sends a scheduling request for allocating the transport cluster to the cluster scheduling 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.
在本实施例中,优选地,还可以包括步骤:集群调度服务器识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输的一种实现方式为:集群调度服务器将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。In this embodiment, the method further includes the following steps: the cluster scheduling server, when the scheduling request indicates that the scheduling request indicates the uploading of the stream data, assigning a flow identifier to the stream data to be uploaded; A client, in an implementation manner for the transmission of the streaming data, is: the cluster scheduling server combines the flow identifier with the domain name of the scheduled transport cluster into a streaming address notification to the first client, for the client to The streaming address performs transmission of streaming data.
在本实施例中,流标识是指为区分流数据给每个流数据分配的标识,例如可以由客户端或者调度传输集群的服务器为待上传的流数据分配标识。识别调度请求,根据调度请求为流数据的传输分配传输集群,并将分配结果反馈给调度请求的发送方,指示其上传流数据,同时服务器还可以为待上传的流数据分配流标识。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.
在本实施例中,流传输地址为客户端进行流数据传输时要访问的地址,通过对流传输地址进行解析,发起握手,建立流数据传输的连接后发起传输请求,服务器响应传输请求,客户端得到进行流数据传输的代码,客户端解析流数据传输的代码,执行流数据传输的代码以开始流数据的传输。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: a cluster The scheduling server combines the flow identifier with the domain name of the scheduled transport cluster into a streaming address with the protocol type as a protocol header.
第一客户端的协议类型是指第一客户端支持并选择的流数据传输的协议类型,例如,RTMP协议(Real Time Messaging Protocol,实时消息传输协议)。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。The protocol type of the first client refers to the protocol type of the streaming data transmission supported and selected by the first client, for example, the Real Time Messaging Protocol (RTMP). The protocol is based on TCP and is a family of protocols, including RTMP basic protocols and RTMPT/RTMPS/RTMPE variants. RTMP is a network protocol designed for real-time data communication. It is mainly used for audio, video and data communication between the Flash/AIR platform and the streaming/interactive server supporting RTMP. Software that supports this protocol includes Adobe Media Server/Ultrant Media Server/red5 and more.
在本实施例中,以第一客户端的协议类型为传输地址的协议头,将流标识与调度的传输集群的域名组合成流传输地址。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.
综上所述,依据本发明实施例,通过确定存在新增传输集群,从通信配置代码库中下载对应的通信配置代码,使得当新增传输集群提供流数据传输服务时,直接下载对应的通信配置代码,为客户端添加新增传输集群的调度功能,而无需进行应用更新。然后在调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至所述新增传输集群,根据所述新增传输集群调度的传输节点进行流数据的传输。使得执行通信配置代码可以完成对新增传输集群对应的调度请求的封装,继而用于调度节点调度传输节点,实现了新增传输集群的调度功能的热更新,避免了更新应用的不便和不及时。In summary, according to the embodiment of the present invention, by determining that there is a newly added transmission cluster, the corresponding communication configuration code is downloaded from the communication configuration code base, so that when the newly added transmission cluster provides the streaming data transmission service, the corresponding communication is directly downloaded. Configure the code to add scheduling capabilities for the new transport cluster to the client without applying an application update. Then, when the new transmission cluster is invoked, the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster. Sending the encapsulated scheduling request to the newly added transport cluster, and transmitting the stream data according to the transport node scheduled by the newly added transport 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. .
进一步,通过预存客户端的位置信息与至少一个传输集群的配置关系,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正,按照修正后的配置关系为第一客户端调度对应的第一传输集群,将调度的第一传输集群通知至第一客户端,以用于流数据的传输,使得为客户端调度传输集群的配置关系可以根据传输性能数据进行调整,实现了根据各传输集群的传输性能数据,修正位置信息与传输集群的对应关系,解决了无法根据传输集群为客户端提供流数据传输服务时的网络状况或运行状况等调整传输集群的问题。Further, the configuration relationship is corrected according to the transmission performance data of the transport cluster of each transport service provider by pre-storing the location information of the client and the configuration relationship of the at least one transport cluster, and the first client is configured according to the modified configuration relationship. Dispatching the corresponding first transmission cluster, and notifying the scheduled first transmission cluster to the first client for transmission of the stream data, so that the configuration relationship of scheduling the transmission cluster for the client can be adjusted according to the transmission performance data, and realizing According to the transmission performance data of each transmission cluster, the correspondence between the location information and the transmission cluster is corrected, and the problem that the transmission 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.
参照图4,示出了根据本发明实施例四的一种传输节点的调度装置的结构框图,具体可以包括如下模块:Referring to FIG. 4, a structural block diagram of a scheduling apparatus of a transmission node according to Embodiment 4 of the present invention is shown, which may specifically include the following modules:
集群确定模块401,用于确定存在新增传输集群;a cluster determining module 401, configured to determine that a new transport cluster exists;
配置代码下载模块402,用于从通信配置代码库中下载对应的通信配置代码;The configuration code downloading module 402 is configured to download a corresponding communication configuration code from the communication configuration code base;
调度请求封装模块403,用于调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;The scheduling request encapsulation module 403 is configured to: when the new transmission cluster is invoked, interpret and execute the communication configuration code by using a preset interpreter, and perform, by the communication configuration code, a transmission node according to a communication protocol of the newly added transmission cluster. Encapsulation of the scheduling request;
调度请求发送模块404,用于将封装的调度请求发送至所述新增传输集群;a scheduling request sending module 404, configured to send the encapsulated scheduling request to the newly added transport cluster;
流数据传输模块405,用于根据所述新增传输集群调度的传输节点进行流数据的传输。The stream data transmission module 405 is configured to perform stream data transmission according to the transmission node scheduled by the newly added transmission cluster.
优选地,所述集群确定模块包括:Preferably, the cluster determining module includes:
列表获取模块,用于从集群管理服务器获取记录所有传输集群的第一集群列表;a list obtaining module, configured to acquire, from the cluster management server, a first cluster list that records all transport clusters;
列表比较模块,用于通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。The list comparison module is configured to determine that there is a new transport cluster by comparing the first cluster list with the locally stored second cluster list.
优选地,所述装置还包括:Preferably, the device further comprises:
配置代码删除模块,用于若通过比对所述第一集群列表与本地存储的第二集群列表,确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。And a configuration code deletion module, configured to delete the communication configuration code corresponding to the locally saved target transmission cluster if the target transmission cluster that has been deleted is determined by comparing the first cluster list with the locally stored second cluster list.
优选地,所述装置还包括:Preferably, the device further comprises:
列表更新模块,用于以所述集群管理服务器的第一集群列表更新第二集群列表。a list update module, configured to update the second cluster list with the first cluster list of the cluster management server.
优选地,所述通信配置代码还记录有所述新增传输集群的网络地址,所述调度请求发送模块包括: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 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.
优选地,所述流数据传输模块包括:Preferably, the stream data transmission module comprises:
调度结果接收模块,用于接收所述新增传输集群反馈的调度结果;a scheduling result receiving module, configured to receive a scheduling result of the feedback of the newly added transmission cluster;
节点标识解析模块,用于采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;a node identifier parsing module, configured to interpret and execute the communication configuration code by using a preset interpreter, and parsing the new one from the scheduling result by the communication configuration code according to a communication protocol of the newly added transport cluster Transmitting the node identifier of the transport node scheduled by the cluster;
流数据传输模块,用于按照所述节点标识对应的传输节点的传输地址进行流数据的传输。And a stream data transmission module, configured to perform stream data transmission according to a transport address of the transport node corresponding to the node identifier.
优选地,所述装置还包括:Preferably, the device further comprises:
反馈结果接收模块,用于在所述调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。a feedback result receiving module, configured to interpret and execute the communication configuration code by using a preset interpreter when the calling the new transmission cluster is invoked, where the communication configuration code is performed according to a communication protocol of the newly added transmission cluster Before encapsulating the scheduling request of the transit node, sending a stream data transmission request to the cluster scheduling server, and receiving a feedback result of the scheduling new transmission cluster fed back by the cluster scheduling server.
优选地,所述装置还包括:Preferably, the device further comprises:
标识获取模块,用于在所述确定存在新增传输集群之后,获取所述新增传输集群的集群标识;An identifier obtaining module, configured to acquire a cluster identifier of the newly added transport cluster after determining that a newly added transport cluster exists;
所述配置代码下载模块,具体用于按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。The configuration code downloading module is specifically configured to search for a corresponding communication configuration code from the communication configuration code base according to the cluster identifier of the newly added transmission cluster.
优选地,所述装置还包括:Preferably, the device further comprises:
客户端启动模块,用于在所述确定存在新增传输集群之前,启动流数据传输客户端。The client startup module is configured to start the streaming data transmission client before determining that the newly added transmission cluster exists.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
配置关系预存模块,用于在所述确定存在新增传输集群之前,集群调度服务器预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;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 before the determining that the newly added transport cluster exists, where different transport clusters belong to different transport service providers;
配置关系修正模块,用于集群调度服务器根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;a configuration relationship correction module, configured to: the cluster scheduling server corrects the configuration relationship according to transmission performance data of a transmission cluster of each transmission service provider;
所述新增传输集群为第一传输集群,所述装置包括:The newly added transmission cluster is a first transmission cluster, and the device includes:
集群调度模块,用于在所述调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,集群调度服务器按照修正后的配置关系为第一客户端调度对应的第一传输集群;a cluster scheduling module, configured to interpret and execute the communication configuration code by using a preset interpreter when the calling the new transmission cluster is invoked, and transmitting, by the communication configuration code, according to a communication protocol of the newly added transmission cluster Before the encapsulation of the scheduling request of the node, the cluster scheduling server schedules the corresponding first transmission cluster for the first client according to the modified configuration relationship;
集群通知模块,用于集群调度服务器将调度的第一传输集群通知至第一客户端,以用于流数据的传输。The cluster notification module is configured by the cluster scheduling server to notify the first transmission cluster of the scheduling 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 by the cluster scheduling server to collect transmission performance data of multiple 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 different transport clusters corresponding to the same location information.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
数据收集模块,用于在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,集群调度服务器收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。a data collection module, configured to collect, when the configuration relationship is corrected according to the transmission performance data of the transmission cluster of each transmission service provider, the cluster scheduling server collects, when the plurality of clients perform streaming data transmission with each transmission cluster The transmitted transmission 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, by the cluster scheduling server to search for multiple transport clusters corresponding to the first client according to the modified configuration relationship;
第一集群选取模块,用于集群调度服务器从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。a first cluster selection module, configured, by the cluster scheduling server, selecting, 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 ranking is in a history selection After the transmission cluster, greater than the set priority or transmission performance meets the set 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: the cluster scheduling server extracts a network address and/or location information of the first client;
区域识别模块,用于集群调度服务器根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;The area identification module is configured to identify, by the cluster scheduling server, the location area to which the first client belongs according to the network address and/or the location information;
查找模块,用于集群调度服务器按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。And a searching module, configured by the cluster scheduling server, according to the configuration relationship, to find 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: after the first transmission cluster to be scheduled is notified to the first client, the cluster scheduling server receives the target stream data uploaded by the first client, and pushes the target stream data to store multiple A storage server that transfers streaming data for a cluster.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
第一请求接收模块,用于集群调度服务器接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。The first request receiving module is configured to receive, by the cluster scheduling server, 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, by the cluster scheduling server, 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 The storage server retrieves the target stream data.
在本实施例中,优选地,所述装置还包括:In this embodiment, preferably, the device further includes:
第二请求接收模块,用于在所述按照修正后的配置关系为第一客户端调度对应的 第一传输集群之前,集群调度服务器接收第一客户端分配传输集群的调度请求。And a second request receiving module, configured to receive, by the cluster scheduling server, a scheduling request of the first client to allocate the transmission cluster, before scheduling the corresponding first transmission 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 cluster scheduling server identifies that the scheduling request indicates uploading stream data, assigning a stream identifier to the stream data to be uploaded;
所述集群通知模块包括:The cluster notification module includes:
传输地址通知模块,用于集群调度服务器将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。The transport address notification module is configured to: the cluster scheduling server combines 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 use, by the cluster scheduling server, the protocol type as a protocol header, and combine the flow identifier with a domain name of the scheduled transport cluster into a streaming address.
综上所述,依据本发明实施例,通过确定存在新增传输集群,从通信配置代码库中下载对应的通信配置代码,使得当新增传输集群提供流数据传输服务时,直接下载对应的通信配置代码,为客户端添加新增传输集群的调度功能,而无需进行应用更新。然后在调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至所述新增传输集群,根据所述新增传输集群调度的传输节点进行流数据的传输。使得执行通信配置代码可以完成对新增传输集群对应的调度请求的封装,继而用于调度节点调度传输节点,实现了新增传输集群的调度功能的热更新,避免了更新应用的不便和不及时。In summary, according to the embodiment of the present invention, by determining that there is a newly added transmission cluster, the corresponding communication configuration code is downloaded from the communication configuration code base, so that when the newly added transmission cluster provides the streaming data transmission service, the corresponding communication is directly downloaded. Configure the code to add scheduling capabilities for the new transport cluster to the client without applying an application update. Then, when the new transmission cluster is invoked, the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster. Sending the encapsulated scheduling request to the newly added transport cluster, and transmitting the stream data according to the transport node scheduled by the newly added transport 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. .
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。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.
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。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 functionality of some or all of the components of the scheduling method and apparatus of the transmitting node in accordance with embodiments of the present invention. . 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 transmitting node 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 (42)

  1. 一种传输节点的调度方法,包括:A scheduling method for a transmission node, comprising:
    确定存在新增传输集群;Make sure there is a new transport cluster;
    从通信配置代码库中下载对应的通信配置代码;Download the corresponding communication configuration code from the communication configuration code base;
    调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;When the new transmission cluster is invoked, the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code performs encapsulation of the scheduling request of the transmission node according to the communication protocol of the newly added transmission cluster;
    将封装的调度请求发送至所述新增传输集群;Sending the encapsulated scheduling request to the newly added transport cluster;
    根据所述新增传输集群调度的传输节点进行流数据的传输。The transmission of the stream data is performed according to the transmission node scheduled by the newly added transmission cluster.
  2. 根据权利要求1所述的方法,其中,所述确定存在新增传输集群包括:The method of claim 1, wherein the determining that there is a new transport cluster comprises:
    从集群管理服务器获取记录所有传输集群的第一集群列表;Obtaining a list of the first clusters of all transport clusters from the cluster management server;
    通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。It is determined that there is a new transport cluster by comparing the first cluster list with the locally stored second cluster list.
  3. 根据权利要求2所述的方法,其中,所述方法还包括:The method of claim 2, wherein the method further comprises:
    若通过比对所述第一集群列表与本地存储的第二集群列表,确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。If it is determined that there is a target transmission cluster that has been deleted by comparing the first cluster list with the locally stored second cluster list, the communication configuration code corresponding to the locally saved target transmission cluster is deleted.
  4. 根据权利要求2或3所述的方法,其中,所述方法还包括:The method of claim 2 or 3, wherein the method further comprises:
    以所述集群管理服务器的第一集群列表更新第二集群列表。Updating the second cluster list with the first cluster list of the cluster management server.
  5. 根据权利要求1所述的方法,其中,所述通信配置代码还记录有所述新增传输集群的网络地址,所述将封装的调度请求发送至所述新增传输集群包括:The method of claim 1, wherein the communication configuration code further records a network address of the newly added transport cluster, and the sending the encapsulated scheduling request to the newly added transport cluster comprises:
    按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。And sending 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.
  6. 根据权利要求1所述的方法,其中,所述根据所述新增传输集群调度的传输节点进行流数据的传输包括:The method according to claim 1, wherein the transmitting the stream data according to the transmission node scheduled by the newly added transmission cluster comprises:
    接收所述新增传输集群反馈的调度结果;Receiving a scheduling result of the new transmission cluster feedback;
    采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;Interpreting and executing the communication configuration code by using a preset interpreter, and parsing, by the communication configuration code, the transmission node of the newly added transmission cluster from the scheduling result according to the communication protocol of the newly added transmission cluster Node identifier
    按照所述节点标识对应的传输节点的传输地址进行流数据的传输。The transmission of the stream data is performed according to the transmission address of the transmission node corresponding to the node identifier.
  7. 根据权利要求1所述的方法,其中,在所述调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,所述方法还包括:The method according to claim 1, wherein, when said calling said newly added transport cluster, said communication configuration code is interpreted and executed by a preset interpreter, said new communication cluster is followed by said communication configuration code Before the communication protocol is encapsulated by the scheduling request of the transmission node, the method further includes:
    向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。Sending a stream data transmission request to the cluster scheduling server, and receiving a feedback result of the scheduling new transmission cluster fed back by the cluster scheduling server.
  8. 根据权利要求1所述的方法,其中,在所述确定存在新增传输集群之后,所述方法还包括:The method of claim 1, wherein after the determining that there is a new transmission cluster, the method further comprises:
    获取所述新增传输集群的集群标识;Obtaining a cluster identifier of the newly added transport cluster;
    在所述从通信配置代码库中下载对应的通信配置代码之前,所述方法还包括:Before the downloading the corresponding communication configuration code in the communication configuration code library, the method further includes:
    按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代 码。The corresponding communication configuration code is searched from the communication configuration code base according to the cluster identifier of the newly added transmission cluster.
  9. 根据权利要求1所述的方法,其中,在所述确定存在新增传输集群之前,所述方法还包括:The method of claim 1, wherein before the determining that there is a new transmission cluster, the method further comprises:
    启动流数据传输客户端。Start the streaming data transfer client.
  10. 根据权利要求1所述的方法,其中,在所述确定存在新增传输集群之前,所述方法还包括:The method of claim 1, wherein before the determining that there is a new transmission cluster, the method further comprises:
    集群调度服务器预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;The cluster scheduling server prestores 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;
    集群调度服务器根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;The cluster scheduling server corrects the configuration relationship according to transmission performance data of the transmission cluster of each transmission service provider;
    所述新增传输集群为第一传输集群,在所述调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,所述方法包括:The newly added transmission cluster is a first transmission cluster, and when the new transmission cluster is invoked, the communication configuration code is interpreted and executed by using a preset interpreter, and the communication configuration code is added according to the new transmission. Before the cluster communication protocol performs encapsulation of the scheduling request of the transport node, the method includes:
    集群调度服务器按照修正后的配置关系为第一客户端调度对应的第一传输集群;The cluster scheduling server schedules the corresponding first transmission cluster for the first client according to the modified configuration relationship;
    集群调度服务器将调度的第一传输集群通知至第一客户端,以用于流数据的传输。The cluster scheduling server notifies the scheduled first transport cluster to the first client for transmission of the stream data.
  11. 根据权利要求10所述的方法,其中,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正包括:The method according to claim 10, 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:
    集群调度服务器汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;The cluster scheduling server collects transmission performance data of multiple clients corresponding to the same location information to the same transmission cluster, and calculates an average value;
    集群调度服务器通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。The cluster scheduling server corrects the configuration relationship between the location information and the transport cluster by comparing whether the average value reaches a set threshold or by comparing the same location information to an average of different transport clusters.
  12. 根据权利要求10所述的方法,其中,在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,所述方法还包括:The method according to claim 10, 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:
    集群调度服务器收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。The cluster scheduling server collects transmission performance data reported by multiple clients when performing streaming data transmission with each transport cluster, and the transmission performance data includes a code rate and/or a frame rate.
  13. 根据权利要求10所述的方法,其中,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群包括:The method according to claim 10, wherein the scheduling of the first transmission cluster corresponding to the first client according to the modified configuration relationship comprises:
    集群调度服务器按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;The cluster scheduling server searches for multiple transmission clusters corresponding to the first client according to the modified configuration relationship;
    集群调度服务器从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。The cluster scheduling server selects, from the plurality of transmission clusters, a first transmission cluster that meets the 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, and the setting is greater than a setting. Priority or transmission performance meets the set requirements.
  14. 根据权利要求10所述的方法,其中,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群包括:The method of claim 10, wherein the configuration relationship is a correspondence between a location area where the client is located and a transport cluster, and the first transport cluster corresponding to the first client scheduling according to the modified configuration relationship includes :
    集群调度服务器提取所述第一客户端的网络地址和/或定位信息;The cluster scheduling server extracts network address and/or positioning information of the first client;
    集群调度服务器根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;Identifying, by the cluster scheduling server, the location area to which the first client belongs according to the network address and/or the location information;
    集群调度服务器按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。The cluster scheduling server searches for the first transport cluster configured for the identified location area according to the configuration relationship.
  15. 根据权利要求10所述的方法,其中,在所述将调度的第一传输集群通知至第一客户端之后,所述方法还包括:The method of claim 10, wherein after the notifying the scheduled first transport cluster to the first client, the method further comprises:
    集群调度服务器接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。The cluster scheduling server receives the target stream data uploaded by the first client, and pushes the target stream data to a storage server that stores stream data of the plurality of transport clusters.
  16. 根据权利要求15所述的方法,其中,所述方法还包括:The method of claim 15 wherein the method further comprises:
    集群调度服务器接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。The cluster scheduling server receives the scheduling request of the second client to acquire the target stream data, and notifies the first transmission cluster that stores the target stream data to the second client.
  17. 根据权利要求16所述的方法,其中,所述方法还包括:The method of claim 16 wherein the method further comprises:
    集群调度服务器接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。Receiving, by the cluster scheduling server, a scheduling request of the second client to replace the first transport cluster, and scheduling, by the configuration relationship, a second transport cluster for the second client, where the second transport cluster retrieves the Target stream data.
  18. 根据权利要求10所述的方法,其中,在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,所述方法还包括:The method of claim 10, wherein the method further comprises: before the first transmission cluster is scheduled by the first client according to the modified configuration relationship, the method further comprises:
    集群调度服务器接收第一客户端分配传输集群的调度请求。The cluster scheduling server receives the scheduling request of the first client to allocate the transport cluster.
  19. 根据权利要求18所述的方法,其中,所述方法还包括:The method of claim 18, wherein the method further comprises:
    集群调度服务器识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;When the cluster scheduling server identifies that the scheduling request indicates uploading stream data, assigning a stream identifier to the stream data to be uploaded;
    所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输包括:The notifying the scheduled first transmission cluster to the first client for transmission of the streaming data includes:
    集群调度服务器将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。The cluster scheduling server combines 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.
  20. 根据权利要求19所述的方法,其中,所述调度请求携带所述第一客户端的协议类型,所述将所述流标识与调度的传输集群的域名组合成流传输地址包括:The method of claim 19, 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 cluster scheduling server combines the flow identifier with the domain name of the scheduled transport cluster into a streaming address with the protocol type as a protocol header.
  21. 一种传输节点的调度装置,包括:A scheduling device for a transmission node, comprising:
    集群确定模块,用于确定存在新增传输集群;a cluster determining module, configured to determine that a new transport cluster exists;
    配置代码下载模块,用于从通信配置代码库中下载对应的通信配置代码;a configuration code downloading module, configured to download a corresponding communication configuration code from the communication configuration code base;
    调度请求封装模块,用于调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;a scheduling request encapsulating module, configured to: when the new transmission cluster is invoked, interpreting and executing the communication configuration code by using a preset interpreter, and performing, by the communication configuration code, a transmission node according to a communication protocol of the newly added transmission cluster The encapsulation of the scheduling request;
    调度请求发送模块,用于将封装的调度请求发送至所述新增传输集群;a scheduling request sending module, configured to send the encapsulated scheduling request to the newly added transmission cluster;
    流数据传输模块,用于根据所述新增传输集群调度的传输节点进行流数据的传输。And a stream data transmission module, configured to perform stream data transmission according to the transmission node scheduled by the newly added transmission cluster.
  22. 根据权利要求21所述的装置,其中,所述集群确定模块包括:The apparatus of claim 21, wherein the cluster determination module comprises:
    列表获取模块,用于从集群管理服务器获取记录所有传输集群的第一集群列表;a list obtaining module, configured to acquire, from the cluster management server, a first cluster list that records all transport clusters;
    列表比较模块,用于通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。The list comparison module is configured to determine that there is a new transport cluster by comparing the first cluster list with the locally stored second cluster list.
  23. 根据权利要求22所述的装置,其中,所述装置还包括:The device of claim 22, wherein the device further comprises:
    配置代码删除模块,用于若通过比对所述第一集群列表与本地存储的第二集群列表,确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。And a configuration code deletion module, configured to delete the communication configuration code corresponding to the locally saved target transmission cluster if the target transmission cluster that has been deleted is determined by comparing the first cluster list with the locally stored second cluster list.
  24. 根据权利要求22或23所述的装置,其中,所述装置还包括:The device according to claim 22 or 23, wherein the device further comprises:
    列表更新模块,用于以所述集群管理服务器的第一集群列表更新第二集群列表。a list update module, configured to update the second cluster list with the first cluster list of the cluster management server.
  25. 根据权利要求21所述的装置,其中,所述通信配置代码还记录有所述新增传输集群的网络地址,所述调度请求发送模块包括:The device according to claim 21, 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 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.
  26. 根据权利要求21所述的装置,其中,所述流数据传输模块包括:The apparatus of claim 21 wherein said streaming data transmission module comprises:
    调度结果接收模块,用于接收所述新增传输集群反馈的调度结果;a scheduling result receiving module, configured to receive a scheduling result of the feedback of the newly added transmission cluster;
    节点标识解析模块,用于采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;a node identifier parsing module, configured to interpret and execute the communication configuration code by using a preset interpreter, and parsing the new one from the scheduling result by the communication configuration code according to a communication protocol of the newly added transport cluster Transmitting the node identifier of the transport node scheduled by the cluster;
    流数据传输模块,用于按照所述节点标识对应的传输节点的传输地址进行流数据的传输。And a stream data transmission module, configured to perform stream data transmission according to a transport address of the transport node corresponding to the node identifier.
  27. 根据权利要求21所述的装置,其中,所述装置还包括:The device of claim 21, wherein the device further comprises:
    反馈结果接收模块,用于在所述调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。a feedback result receiving module, configured to interpret and execute the communication configuration code by using a preset interpreter when the calling the new transmission cluster is invoked, where the communication configuration code is performed according to a communication protocol of the newly added transmission cluster Before encapsulating the scheduling request of the transit node, sending a stream data transmission request to the cluster scheduling server, and receiving a feedback result of the scheduling new transmission cluster fed back by the cluster scheduling server.
  28. 根据权利要求21所述的装置,其中,所述装置还包括:The device of claim 21, wherein the device further comprises:
    标识获取模块,用于在所述确定存在新增传输集群之后,获取所述新增传输集群的集群标识;An identifier obtaining module, configured to acquire a cluster identifier of the newly added transport cluster after determining that a newly added transport cluster exists;
    所述装置还包括:The device also includes:
    代码查找模块,用于在所述从通信配置代码库中下载对应的通信配置代码之前,按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。And a code searching module, configured to search for a corresponding communication configuration code from the communication configuration code base according to the cluster identifier of the newly added transmission cluster before downloading the corresponding communication configuration code in the slave communication configuration code base.
  29. 根据权利要求21所述的装置,其中,所述装置还包括:The device of claim 21, wherein the device further comprises:
    客户端启动模块,用于在所述确定存在新增传输集群之前,启动流数据传输客户端。The client startup module is configured to start the streaming data transmission client before determining that the newly added transmission cluster exists.
  30. 根据权利要求20所述的装置,其中,所述装置还包括:The device of claim 20, wherein the device further comprises:
    配置关系预存模块,用于在所述确定存在新增传输集群之前,集群调度服务器预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;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 before the determining that the newly added transport cluster exists, where different transport clusters belong to different transport service providers;
    配置关系修正模块,用于集群调度服务器根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;a configuration relationship correction module, configured to: the cluster scheduling server corrects the configuration relationship according to transmission performance data of a transmission cluster of each transmission service provider;
    所述新增传输集群为第一传输集群,所述装置包括:The newly added transmission cluster is a first transmission cluster, and the device includes:
    集群调度模块,用于在所述调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,集群调度服务器按照修正后的配置关系为第一客户端调度对应的第一传输集群;a cluster scheduling module, configured to interpret and execute the communication configuration code by using a preset interpreter when the calling the new transmission cluster is invoked, and transmitting, by the communication configuration code, according to a communication protocol of the newly added transmission cluster Before the encapsulation of the scheduling request of the node, the cluster scheduling server schedules the corresponding first transmission cluster for the first client according to the modified configuration relationship;
    集群通知模块,用于集群调度服务器将调度的第一传输集群通知至第一客户端,以用于流数据的传输。The cluster notification module is configured by the cluster scheduling server to notify the first transmission cluster of the scheduling to the first client for transmission of the stream data.
  31. 根据权利要求30所述的装置,其中,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述配置关系修正模块包括:The device according to claim 30, 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 by the cluster scheduling server to collect transmission performance data of multiple 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 different transport clusters corresponding to the same location information.
  32. 根据权利要求30所述的装置,其中,所述装置还包括:The device of claim 30, wherein the device further comprises:
    数据收集模块,用于在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,集群调度服务器收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。a data collection module, configured to collect, when the configuration relationship is corrected according to the transmission performance data of the transmission cluster of each transmission service provider, the cluster scheduling server collects, when the plurality of clients perform streaming data transmission with each transmission cluster The transmitted transmission performance data, the transmission performance data including a code rate and/or a frame rate.
  33. 根据权利要求30所述的装置,其中,所述集群调度模块包括:The apparatus of claim 30, wherein the cluster scheduling module comprises:
    集群查找模块,用于集群调度服务器按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;a cluster search module, configured, by the cluster scheduling server to search for multiple transport clusters corresponding to the first client according to the modified configuration relationship;
    第一集群选取模块,用于集群调度服务器从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。a first cluster selection module, configured, by the cluster scheduling server, selecting, 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 ranking is in a history selection After the transmission cluster, greater than the set priority or transmission performance meets the set requirements.
  34. 根据权利要求30所述的装置,其中,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述集群调度模块包括:The device according to claim 30, 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: the cluster scheduling server extracts a network address and/or location information of the first client;
    区域识别模块,用于集群调度服务器根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;The area identification module is configured to identify, by the cluster scheduling server, the location area to which the first client belongs according to the network address and/or the location information;
    查找模块,用于集群调度服务器按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。And a searching module, configured by the cluster scheduling server, according to the configuration relationship, to find a first transport cluster configured for the identified location area.
  35. 根据权利要求30所述的装置,其中,所述装置还包括:The device of claim 30, wherein the device further comprises:
    流数据接收模块,用于在所述将调度的第一传输集群通知至第一客户端之后,集群调度服务器接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。a stream data receiving module, configured to: after the first transmission cluster to be scheduled is notified to the first client, the cluster scheduling server receives the target stream data uploaded by the first client, and pushes the target stream data to store multiple A storage server that transfers streaming data for a cluster.
  36. 根据权利要求35所述的装置,其中,所述装置还包括:The device of claim 35, wherein the device further comprises:
    第一请求接收模块,用于集群调度服务器接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。The first request receiving module is configured to receive, by the cluster scheduling server, 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.
  37. 根据权利要求36所述的装置,其中,所述装置还包括:The device of claim 36, wherein the device further comprises:
    调度请求更换模块,用于集群调度服务器接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。a scheduling request replacement module, configured to receive, by the cluster scheduling server, 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 The storage server retrieves the target stream data.
  38. 根据权利要求30所述的装置,其中,所述装置还包括:The device of claim 30, wherein the device further comprises:
    第二请求接收模块,用于在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,集群调度服务器接收第一客户端分配传输集群的调度请求。And a second request receiving module, configured to receive, by the cluster scheduling server, a scheduling request of the first client to allocate the transmission cluster, before the first transmission cluster corresponding to the first client is scheduled according to the modified configuration relationship.
  39. 根据权利要求38所述的装置,其中,所述装置还包括:The device of claim 38, wherein the device further comprises:
    流标识分配模块,用于集群调度服务器识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;a flow identifier allocation module, configured to: when the cluster scheduling server identifies that the scheduling request indicates uploading stream data, assigning a stream identifier to the stream data to be uploaded;
    所述集群通知模块包括:The cluster notification module includes:
    传输地址通知模块,用于集群调度服务器将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。The transport address notification module is configured to: the cluster scheduling server combines 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.
  40. 根据权利要求39所述的装置,其中,所述调度请求携带所述第一客户端的协议类型,所述传输地址通知模块包括:The apparatus according to claim 39, 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 use, by the cluster scheduling server, the protocol type as a protocol header, and combine the flow identifier with a domain name of the scheduled transport cluster into a streaming address.
  41. 一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算设备上运行时,导致所述计算设备执行根据权利要求1-20中的任一个所述的传输节点的调度方法。A computer program comprising computer readable code causing the computing device to perform a scheduling method of a transmitting node according to any one of claims 1-20 when the computer readable code is run on a computing device.
  42. 一种计算机可读介质,其中存储了如权利要求41所述的计算机程序。A computer readable medium storing the computer program of claim 41.
PCT/CN2017/120138 2017-01-03 2017-12-29 Method and apparatus for scheduling transmission node WO2018127010A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710002635.9A CN106657371B (en) 2017-01-03 2017-01-03 Scheduling method and device for transmission node
CN201710002635.9 2017-01-03

Publications (1)

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

Family

ID=58838023

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/120138 WO2018127010A1 (en) 2017-01-03 2017-12-29 Method and apparatus for scheduling transmission node

Country Status (2)

Country Link
CN (1) CN106657371B (en)
WO (1) WO2018127010A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110445835A (en) * 2019-07-03 2019-11-12 平安科技(深圳)有限公司 The connection method of Redis server, device, computer equipment and storage medium
CN112426722A (en) * 2020-12-09 2021-03-02 网易(杭州)网络有限公司 Node map hot updating method and device, storage medium and computer equipment
CN113794726A (en) * 2021-09-16 2021-12-14 杭州登虹科技有限公司 Multi-sip scheduling method and system
CN114798036A (en) * 2022-05-17 2022-07-29 青岛沃柏斯智能实验科技有限公司 Intelligent control's integrated experimental facilities

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106657371B (en) * 2017-01-03 2020-01-21 北京奇虎科技有限公司 Scheduling method and device for transmission node
CN112422367B (en) * 2020-11-11 2021-10-22 成都渊数科技有限责任公司 Method and system for realizing network delay detection by cloud control strategy and multi-protocol

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932451A (en) * 2012-10-31 2013-02-13 北龙中网(北京)科技有限责任公司 Solving system specific to content distribution network
CN103747043A (en) * 2013-12-24 2014-04-23 乐视网信息技术(北京)股份有限公司 CDN server dispatching method, CDN control center and system
CN105847398A (en) * 2016-04-25 2016-08-10 乐视控股(北京)有限公司 Business scheduling method, scheduling server and business server
CN105871815A (en) * 2016-03-22 2016-08-17 乐视网信息技术(北京)股份有限公司 Data transmitting method and device
CN106657371A (en) * 2017-01-03 2017-05-10 北京奇虎科技有限公司 Method and device for scheduling transmission node

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166985B (en) * 2011-12-09 2018-02-27 上海盛大网络发展有限公司 A kind of GSLB dispatching method, data transmission method, apparatus and system
CN104702702B (en) * 2012-01-11 2018-03-23 北京奇虎科技有限公司 A kind of data downloading system and method
CN103647820B (en) * 2013-12-09 2016-11-23 华为数字技术(苏州)有限公司 Referee method and arbitration device for distributed cluster system
CN104852971B (en) * 2015-04-24 2020-11-10 青岛海尔智能家电科技有限公司 Plug-in protocol device and data communication method based on plug-in protocol

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932451A (en) * 2012-10-31 2013-02-13 北龙中网(北京)科技有限责任公司 Solving system specific to content distribution network
CN103747043A (en) * 2013-12-24 2014-04-23 乐视网信息技术(北京)股份有限公司 CDN server dispatching method, CDN control center and system
CN105871815A (en) * 2016-03-22 2016-08-17 乐视网信息技术(北京)股份有限公司 Data transmitting method and device
CN105847398A (en) * 2016-04-25 2016-08-10 乐视控股(北京)有限公司 Business scheduling method, scheduling server and business server
CN106657371A (en) * 2017-01-03 2017-05-10 北京奇虎科技有限公司 Method and device for scheduling transmission node

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110445835A (en) * 2019-07-03 2019-11-12 平安科技(深圳)有限公司 The connection method of Redis server, device, computer equipment and storage medium
CN110445835B (en) * 2019-07-03 2023-04-07 平安科技(深圳)有限公司 Redis server connection method, device, computer equipment and storage medium
CN112426722A (en) * 2020-12-09 2021-03-02 网易(杭州)网络有限公司 Node map hot updating method and device, storage medium and computer equipment
CN112426722B (en) * 2020-12-09 2024-06-11 网易(杭州)网络有限公司 Method and device for thermally updating node map, storage medium and computer equipment
CN113794726A (en) * 2021-09-16 2021-12-14 杭州登虹科技有限公司 Multi-sip scheduling method and system
CN114798036A (en) * 2022-05-17 2022-07-29 青岛沃柏斯智能实验科技有限公司 Intelligent control's integrated experimental facilities
CN114798036B (en) * 2022-05-17 2024-01-26 青岛沃柏斯智能实验科技有限公司 Intelligent control integrated experimental equipment

Also Published As

Publication number Publication date
CN106657371B (en) 2020-01-21
CN106657371A (en) 2017-05-10

Similar Documents

Publication Publication Date Title
WO2018127010A1 (en) Method and apparatus for scheduling transmission node
WO2018127011A1 (en) Scheduling method and apparatus for transmission clusters of stream data
KR102305064B1 (en) Video live broadcasting method and device
US8291083B2 (en) Distributed landing pad and brick topology for content storage in content delivery networks
US8478858B2 (en) Policy management for content storage in content delivery networks
US8458290B2 (en) Multicast mapped look-up on content delivery networks
US8396970B2 (en) Content processing between locations workflow in content delivery networks
US8126986B2 (en) Advanced content and data distribution techniques
US8615577B2 (en) Policy based processing of content objects in a content delivery network using mutators
JP2020509635A (en) Network slice selection method, user equipment, and network device
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
JP6606516B2 (en) Cache manifest for efficient peer-assisted streaming
US20120198070A1 (en) Content Replication Workflow in Content Delivery Networks
EP2113150A2 (en) Improved distribution of content on a network
CN113296924B (en) Content distribution method, device, system and storage medium
WO2012105967A1 (en) Asset management architecture for content delivery networks
CN111741338A (en) HLS streaming media playing method, system, equipment and storage medium
US20150207888A1 (en) Multicast mapped look-up on content delivery networks
WO2018121681A1 (en) Method and device for remotely opening stream data transmission
US20210344741A1 (en) A method and device for feeding back a resource file
CN112788135B (en) Resource scheduling method, equipment and storage medium
JP4605479B2 (en) Transmission device and transmission method, reception device and reception method, transmission / reception system, and transmission / reception method
US8316149B2 (en) Information communication system, server, content holding device, content receiving device, information processing method, and program
US20230171441A1 (en) Method providing to a user terminal a target multimedia content available at a master server
US20090313317A1 (en) Wider Delivery Of Multimedia Content

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: 17890614

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: 17890614

Country of ref document: EP

Kind code of ref document: A1