CN115499671A - Live broadcast push flow service rolling release method and device - Google Patents

Live broadcast push flow service rolling release method and device Download PDF

Info

Publication number
CN115499671A
CN115499671A CN202211144711.7A CN202211144711A CN115499671A CN 115499671 A CN115499671 A CN 115499671A CN 202211144711 A CN202211144711 A CN 202211144711A CN 115499671 A CN115499671 A CN 115499671A
Authority
CN
China
Prior art keywords
edge computing
computing node
bandwidth
target edge
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211144711.7A
Other languages
Chinese (zh)
Other versions
CN115499671B (en
Inventor
孙袁袁
沈家辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202211144711.7A priority Critical patent/CN115499671B/en
Publication of CN115499671A publication Critical patent/CN115499671A/en
Application granted granted Critical
Publication of CN115499671B publication Critical patent/CN115499671B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2181Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26291Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client

Landscapes

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

Abstract

The application discloses a rolling publishing method and a rolling publishing device for live push streaming service, wherein the method comprises the following steps: the method comprises the steps of obtaining real-time use bandwidths of all edge computing nodes in an edge cluster, and calculating to obtain a first bandwidth utilization rate; a version updating step, namely determining a target edge computing node to be offline in the edge cluster according to the first bandwidth utilization rate; downloading the target edge computing node, updating the plug flow service version of the target edge computing node, and uploading the updated target edge computing node; and a step of circularly updating, namely repeatedly executing the step of obtaining and the step of version updating, and performing push flow service rolling release on the offline target edge computing node until the push flow services of all edge computing nodes in the edge cluster finish version updating. And determining the target edge computing node to carry out push flow service rolling release according to the first bandwidth utilization rate, avoiding the influence on the anchor during version updating and ensuring that the available edge computing node exists.

Description

Live broadcast push flow service rolling release method and device
Technical Field
The application relates to the technical field of internet, in particular to a live push streaming service rolling publishing method and device.
Background
During live broadcast, a stream pushing link is established between the edge computing node and the anchor, the anchor stream is received, and various processing services such as transcoding and the like are carried out. The push flow process is a long link, i.e. if the anchor does not actively cut off the flow, the link will not be broken. But for the service on the edge computing node, when the service needs upgrading for version updating, the push flow link with the anchor is actively disconnected.
Each time a service on an edge computing container updates a version, the live stream on the node may be disconnected, affecting the user who uses the node's anchor, watching, resulting in a poor user viewing experience.
Disclosure of Invention
In view of the above problems, the present application has been made to provide a method and an apparatus for scrolling publishing a live push streaming service, which overcome or at least partially solve the above problems.
According to a first aspect of an embodiment of the present application, a live streaming service rolling publishing method is provided, which includes:
the method comprises the steps of obtaining real-time use bandwidths of all edge computing nodes in an edge cluster, and calculating to obtain a first bandwidth utilization rate;
a version updating step, namely determining a target edge computing node to be offline in the edge cluster according to the first bandwidth utilization rate; downloading the target edge computing node, updating the plug flow service version of the target edge computing node, and uploading the updated target edge computing node;
and a step of cyclic updating, which is to repeatedly execute the step of obtaining and the step of version updating, and carry out rolling release of the push flow service on the offline target edge computing node until the push flow service of all edge computing nodes in the edge cluster finishes version updating.
Optionally, the obtaining step further comprises:
acquiring real-time use bandwidth of each edge computing node in an edge cluster;
determining a first bandwidth utilization rate according to the real-time use bandwidth and the configuration bandwidth of each edge computing node; the first bandwidth utilization rate is determined according to the ratio of the sum of the real-time use bandwidths of all the edge computing nodes to the configuration bandwidth of the edge cluster; the configuration bandwidth of the edge cluster is determined according to the sum of the configuration bandwidths of the edge computing nodes.
Optionally, determining a target edge computing node to be offline in the edge cluster according to the first bandwidth usage further includes:
judging whether the first bandwidth utilization rate is lower than a preset first utilization rate threshold value or not;
if so, determining reserved used bandwidth according to the first bandwidth utilization rate and the configuration bandwidth of the edge cluster;
determining idle bandwidth according to reserved use bandwidth and configuration bandwidth of the edge cluster;
and determining a target edge computing node to be offline according to the idle bandwidth.
Optionally, determining the reserved bandwidth according to the first bandwidth usage and the configured bandwidth of the edge cluster further includes:
determining the current used bandwidth of the edge cluster according to the first bandwidth utilization rate and the configuration bandwidth of the edge cluster;
determining reserved use bandwidth according to the current use bandwidth of the edge cluster; the reserved bandwidth of use is greater than the current bandwidth of use.
Optionally, determining, according to the idle bandwidth, a target edge computing node to be offline further includes:
determining the offline number of target edge computing nodes to be offline according to the idle bandwidth and the configuration bandwidth of the edge computing nodes;
and sequencing the real-time use bandwidths of the edge computing nodes with the plurality of versions not updated from small to large, and selecting a plurality of edge computing nodes which are sequenced in the first order and meet the offline number as target edge computing nodes to be offline.
Optionally, determining, according to the idle bandwidth, a target edge computing node to be offline further includes:
determining the offline number of target edge computing nodes to be offline according to the idle bandwidth and the configuration bandwidth of the edge computing nodes;
and randomly selecting a plurality of edge computing nodes with the un-updated versions and according with the offline number as target edge computing nodes to be offline.
Optionally, the downloading the target edge computing node, and updating the push flow service version of the target edge computing node further includes:
marking the state of the target edge computing node as a down line state;
and issuing an update version to the target edge computing node for updating the push flow service version.
Optionally, before updating the push flow service version of the target edge computing node, the method further includes:
judging whether the target edge computing node meets a preset updating verification condition or not; the preset updating verification conditions comprise whether the second broadband utilization rate of the target edge computing node is lower than a preset second utilization rate threshold value and/or whether the real-time user watching number of the live broadcast stream of the target edge computing node is lower than a preset number threshold value; the second bandwidth utilization rate is determined according to the ratio of the real-time utilization bandwidth of the target edge computing node to the configuration bandwidth of the target edge computing node;
and if so, updating the plug flow service version of the target edge computing node.
Optionally, the target edge computing node after online updating further includes:
acquiring heartbeat information reported by a target edge computing node in real time; the heartbeat information includes version information;
judging whether the version information is updated version information;
if yes, determining that the push flow service version of the target edge computing node is updated, and marking the state of the target edge computing node as an online state.
Optionally, the step of cyclically updating further comprises:
after the target edge computing node is updated online, acquiring heartbeat information reported by each edge computing node in an edge cluster in real time, and judging whether version information in the heartbeat information is updated version information;
if not, the acquiring step and the version updating step are repeatedly executed, and the target edge computing nodes which are offline are subjected to rolling release of the push flow service until the version information in the heartbeat information of all the edge computing nodes in the edge cluster is updated version information.
Optionally, the method further comprises:
judging whether the current time is the offline time of a preset edge computing node;
and if so, downloading the edge computing node, and updating the plug flow service version of the downloaded edge computing node.
Optionally, the method is performed by a scheduling service.
According to a second aspect of the embodiments of the present application, there is provided a live streaming service rolling publishing device, including:
the acquisition module is suitable for acquiring real-time use bandwidth of each edge computing node in the edge cluster and calculating to obtain a first bandwidth utilization rate;
the version updating module is suitable for determining a target edge computing node to be offline in the edge cluster according to the first bandwidth utilization rate; downloading the target edge computing node, updating the plug flow service version of the target edge computing node, and uploading the updated target edge computing node;
and the cyclic updating module is suitable for repeatedly executing the obtaining module and the version updating module, and performing push flow service rolling release on the offline target edge computing node until the push flow services of all the edge computing nodes in the edge cluster finish version updating.
According to a third aspect of embodiments herein, there is provided a computing device comprising: the system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication through the communication bus;
the memory is used for storing at least one executable instruction, and the executable instruction enables the processor to execute the operation corresponding to the live push streaming service rolling release method.
According to a fourth aspect of the embodiments of the present application, a computer storage medium is provided, where at least one executable instruction is stored in the storage medium, and the executable instruction causes a processor to execute an operation corresponding to the above live push streaming service roll publishing method.
According to the live broadcast push flow service rolling release method and device, the target edge computing node is determined according to the first bandwidth utilization rate to carry out push flow service rolling release, the influence on the anchor is avoided when the version is updated, and the existence of the available edge computing node is guaranteed. And the off-line and on-line of the target edge computing node and the version updating of the plug-flow service are automatically completed, so that the labor cost for manual version updating is saved.
The foregoing description is only an overview of the technical solutions of the present application, and the present application can be implemented according to the content of the description in order to make the technical means of the present application more clearly understood, and the following detailed description of the present application is given in order to make the above and other objects, features, and advantages of the present application more clearly understandable.
Drawings
Various additional advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the application. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
FIG. 1 illustrates a flow diagram of a method for roll publishing of a live push streaming service according to one embodiment of the present application;
FIG. 2 shows a main push flow process diagram;
FIG. 3 is a schematic diagram illustrating configuration of edge compute nodes offline for versioning service updates;
FIG. 4 shows a flow diagram of a method for roll publishing of a live push streaming service according to another embodiment of the present application;
fig. 5 is a schematic structural diagram illustrating a rolling publishing device of a live push streaming service according to an embodiment of the present application;
FIG. 6 illustrates a schematic structural diagram of a computing device according to an embodiment of the present application.
Detailed Description
Exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
First, the noun terms to which one or more embodiments of the present application relate are explained.
Live streaming: the transmission of the live audio and video data is transmitted as a stable continuous flow to a user for watching through a network;
live broadcasting and stream pulling: the method comprises the steps of pulling a live broadcast stream to a source site appointed by a user through a live broadcast cloud platform;
edge computing node: a service for receiving a push flow;
and (4) rolling and releasing: and taking out one or more servers to stop service, and putting the servers into use again after updating is carried out.
Fig. 1 is a flowchart illustrating a method for rolling distribution of a live push streaming service according to an embodiment of the present application, where as shown in fig. 1, the method includes the following steps:
step S101, obtaining real-time use bandwidth of each edge computing node in the edge cluster, and calculating to obtain a first bandwidth utilization rate.
In the live broadcast process, after the anchor is played, as shown in fig. 2, the anchor requests the scheduling service to obtain a push stream address. The method includes that the heartbeat reported by an edge computing node is timed so as to report that the node is normal to a scheduling service, the scheduling service generally selects an edge computing node IP reported by the normal heartbeat to be allocated to an anchor IP, the anchor pushes a stream to the edge computing node corresponding to the IP address, and a CDN (Content Delivery Network) returns a source from the edge computing node and pulls the stream to a user for viewing. Both the hosted push flow and the CDN back source occupy the bandwidth of the edge compute node. The bandwidth of the edge computing node is the amount of data that can be transmitted in a unit time (generally, 1 second), and when the used bandwidth of the edge computing node reaches the configured bandwidth, the edge computing node cannot continue to carry more traffic, otherwise, the quality of the main stream and the quality of the user viewing are very poor due to network congestion.
In the prior art, when a version of a push streaming service is released, edge computing nodes are often manually selected to be released in batches, for example, 10 edge computing node update versions are selected at one time, and then 10 edge computing node update versions are selected at intervals of several hours, so that the release period is long, and much labor is consumed to participate. When the version is updated, edge computing nodes are selected randomly, for example, a cluster in the XX area includes 2 edge computing nodes, and if the 2 edge computing nodes are selected simultaneously when the edge computing nodes are selected randomly, the edge computing nodes cannot be distributed nearby when the XX area is in anchor push, which causes that only the edge computing nodes in a far area can be pushed, which causes that a network link is lengthened, and further, the network link is very easily affected by network fluctuation.
Based on the above consideration, in the embodiment of the present application, when the live streaming service is published in a rolling manner, the streaming service is distributed in a rolling manner by taking each edge cluster as a unit, so that not only are edge computing nodes in the edge cluster ensured to be normally executed by the main streaming, but also version updating of the streaming service of the edge computing nodes can be realized. Specifically, the real-time bandwidth used by each edge computing node in the edge cluster is obtained first, so that whether the edge computing node has a link with a main broadcast, a CDN and the like can be determined, and whether the edge computing node is offline or not can be determined subsequently. Specifically, according to the real-time bandwidth of each edge computing node and the pre-agreed configuration bandwidth of each edge computing node, the first bandwidth utilization rate may be calculated, for example, the first bandwidth utilization rate = the sum of the real-time bandwidth of each edge computing node/the configuration bandwidth of the edge cluster, and the configuration bandwidth of the edge cluster is determined according to the sum of the configuration bandwidth of each edge computing node.
And step S102, determining a target edge computing node to be offline in the edge cluster according to the first bandwidth utilization rate.
The current real-time use bandwidth of the edge cluster can be determined according to the first bandwidth utilization rate, so that the consumed bandwidth meeting the requirements of main broadcasting push flow, source return and the like can be determined, edge computing nodes corresponding to other bandwidths can be used as target edge computing nodes to be offline, the target edge computing nodes to be offline do not influence the requirements of live broadcasting on the bandwidth, and the target edge computing nodes which continuously provide services can be ensured to exist in the edge cluster.
And step S103, downloading the target edge computing node, and updating the push flow service version of the target edge computing node.
After the target edge compute node is determined, it may be set offline. When the edge computing node is offline, the state of the target edge computing node may be marked as an offline state, or may be set in other manners of distinguishing different states of the offline target edge computing node and the normally operating edge computing node, which is not limited herein. And the offline target edge computing node does not continue to carry traffic any more so as to ensure that the live streaming is not influenced by the version updating of the streaming service. When updating, the new version can be directly issued to the offline target edge computing node, and the target edge computing node automatically updates the version.
And step S104, updating the target edge computing node on line.
After the version of the target edge computing node is updated, if the state of the target edge computing node is marked as the online state again, the updated target edge computing node is online again, and the like, the target edge computing node starts to bear the flow again.
Step S105, judging whether the push flow service of all edge computing nodes in the edge cluster completes version updating.
After the target edge computing node is updated online again, judging whether the push flow services of all edge computing nodes in the edge cluster finish the version updating or not, if so, finishing the version updating of the push flow service; if not, the steps S101-S104 are executed in a circulating manner, the target edge computing nodes which are determined to be offline are subjected to push flow service rolling release, namely after the versions of the push flow service are updated when partial target edge computing nodes in the edge cluster are offline, the target edge computing nodes are online again, then other target edge computing nodes are offline, and the versions of the push flow service are updated until the push flow service of all the edge computing nodes in the edge cluster is updated.
The overall processing flow is as shown in fig. 3, in the embodiment of the present application, the scheduling service executes the above steps, and after determining the target edge computing node, the scheduling service configures a corresponding target edge computing node to be offline, updates its plug flow service version, and automatically sends the version to the offline target edge computing node (i.e., the version service in fig. 3), thereby implementing automatic update of the plug flow service version of the edge computing node.
According to the live streaming service rolling release method, the target edge computing node is determined according to the first bandwidth utilization rate to carry out the rolling release of the streaming service, so that the influence on the anchor is avoided when the version is updated, and the existence of the available edge computing node is guaranteed. And the off-line and on-line of the target edge computing node and the version updating of the plug-flow service are automatically completed, so that the labor cost for manual version updating is saved.
Fig. 4 is a flowchart illustrating a method for roll publishing of a live push streaming service according to an embodiment of the present application, where the method includes the following steps, as shown in fig. 4:
step S401, determining whether the current time is the offline time of the preset edge computing node.
When the push flow service is updated, the offline time of the edge computing node may also be preset, that is, the update time of the push flow service is preset, for example, 12-00. The offline time of the preset edge computing node may be set according to implementation, and is not limited herein.
Judging whether the current time is the offline time of a preset edge computing node, if so, executing a subsequent step S402 to select a target edge computing node to be offline and updating the push flow service; if not, if the live broadcast late peak time period is 20-00, each edge computing node receives a large amount of push streams, and the push stream service version is updated at this time, which easily causes the problems of poor viewing experience of users and the like, and the target edge computing node to be offline can be selected to update the push stream service after waiting for the offline time of the preset edge computing node. Or, if the current time is determined to be the offline time of the preset edge computing node, and according to the historical data, the offline time of the edge computing node at the preset edge computing node does not carry traffic or carries less traffic, in the offline time period of the preset edge computing node, the edge computing node may be directly offline, and the push flow service version of the offline edge computing node is updated, which is not limited herein.
Step S402, obtaining real-time use bandwidth of each edge computing node in the edge cluster, and calculating to obtain a first bandwidth utilization rate.
This step can refer to the description of step S101, and is not described herein again.
In step S403, it is determined whether the first bandwidth utilization rate is lower than a preset first utilization rate threshold.
The first bandwidth utilization rate represents the bandwidth utilization condition of the edge cluster, and the first bandwidth utilization rates at different time are different according to the actual condition. Considering that when the first bandwidth utilization rate is higher, such as 80% or more, in order to provide better viewing effect for users, a part of idle bandwidth is reserved to avoid the problems of sudden bandwidth usage increase, insufficient bandwidth and the like. Therefore, in the embodiment of the present application, the first bandwidth utilization rate is determined, and when it is determined whether the first bandwidth utilization rate is lower than the preset first utilization rate threshold, if the preset first utilization rate threshold is set to 40%, if yes, step S404 is executed to determine the target edge computing node to be offline, and if not, the waiting may be continued, and after the first bandwidth utilization rate is lower than the preset first utilization rate threshold, processing and the like are performed.
Step S404, determining reserved use bandwidth according to the first bandwidth utilization rate and the configuration bandwidth of the edge cluster; determining idle bandwidth according to reserved use bandwidth and configuration bandwidth of the edge cluster; and determining a target edge computing node to be offline according to the idle bandwidth.
The current used bandwidth of the edge cluster may be determined according to the first bandwidth usage rate and the configured bandwidth of the edge cluster, for example, if the first bandwidth usage rate is 40%, and the configured bandwidth of the edge cluster is at most 20G, it may be determined that the current used bandwidth is 20 × 40% =8G. In order to guarantee the watching quality of users, the reserved use bandwidth needs to be larger than the current use bandwidth, and the users can be guaranteed to respond to various bandwidth use conditions in time, such as suddenly increasing the stream pushing flow and the like. The reserved usage bandwidth may be 2 times of the current usage bandwidth, such as 8 × 2 =1lg, which is set according to the implementation, and is not limited herein. According to the reserved use bandwidth and the configuration bandwidth of the edge cluster, the idle bandwidth can be determined. Free bandwidth = configured bandwidth of edge cluster-reserved used bandwidth, e.g. 20-16=4g.
According to the idle bandwidth and the configuration bandwidth of the edge computing nodes, target edge computing nodes to be offline can be determined, such as the idle bandwidth 4G, the configuration bandwidth of each edge computing node is 2G, and the number of the target edge computing nodes to be offline is 4/2=2. Because a plurality of edge computing nodes exist in the edge cluster, when a target edge computing node to be offline is determined, the real-time use bandwidths of the edge computing nodes of which the versions are not updated can be sequenced from small to large, namely the edge computing nodes with more idle bandwidths are sequenced first, so that the influence on a main broadcast and a user during offline is reduced as much as possible, a plurality of edge computing nodes which are sequenced first and meet the offline number are selected as the target edge computing nodes to be offline, and the lower line number is 2 for example, 2 edge computing nodes which are sequenced first are selected as the target edge computing nodes to be offline; or, the flow borne by the edge computing node may be a push flow of 1 anchor, or may be a push flow of multiple anchors, the push flow time durations of different anchors cannot be determined, and the affected user groups cannot be determined, and multiple edge computing nodes with the number of downlinks and with the version not updated may be randomly selected as target edge computing nodes to be downlinked. For example, the specifically selected target edge computing node to be offline may be set according to an implementation situation, and is not limited herein.
And step S405, downloading the target edge computing node, and updating the push flow service version of the target edge computing node.
And marking the state of the target edge computing node as an offline state to finish the offline of the target edge computing node. After the stream is off line, considering that the target edge computing node may still have the situation that the anchor stream is not finished or the user still watches at present, directly updating the version of the stream pushing service may also affect the anchor or the user, and therefore, before updating the version of the stream pushing service, whether the target edge computing node meets the preset updating check condition is judged. The preset updating verification conditions include whether the second broadband utilization rate of the target edge computing node is lower than a preset second utilization rate threshold value or not, whether the real-time user watching number of the live stream of the target edge computing node is lower than a preset number threshold value or not and the like. The second bandwidth usage rate is determined according to a ratio of a real-time usage bandwidth of the target edge computing node to a configuration bandwidth of the target edge computing node, for example, the second bandwidth usage rate = real-time usage bandwidth of the target edge computing node/configuration bandwidth of the target edge computing node. If the preset second utilization rate threshold is set to 1% (here, considering that 24-hour stream pushing may exist, the preset second utilization rate threshold is set to 1%), and when the second bandwidth utilization rate is lower than the preset second utilization rate threshold, it is determined that the preset update verification condition is met; or the preset number of people threshold is set to be 10 people, the real-time user watching number of each live stream on the target edge computing node is obtained, when the number of the live streams is lower than the preset number of people threshold, the influence on the users is small, and the judgment is made to accord with the preset updating verification condition; or when all the conditions are met, judging that the preset updating verification condition is met, and not limiting the situation.
And after judging that the preset updating and checking conditions are met, issuing an updating version to the target edge computing node for updating the push flow service version.
Step S406, the updated target edge computing node is online.
When the target edge computing node updates the push stream service version, the scheduling service can also acquire heartbeat information reported by the target edge computing node in real time, wherein the heartbeat information comprises version information. Judging whether the version information is the updated version information or not, if so, comparing the version information with the issued updated version information, and judging whether the version information is consistent with the issued updated version information; or comparing the version information with the version information of the previous heartbeat information, judging whether the version information is inconsistent or not, and the like, thereby determining whether the version information is updated version information or not. And if the version information is judged to be updated version information, determining that the push flow service version of the target edge computing node is updated, marking the state of the target edge computing node as an online state, and online the target edge computing node after updating the push flow service version to enable the target edge computing node to bear the flow again.
Step S407, after the target edge computing node is updated online, acquiring heartbeat information reported by each edge computing node in the edge cluster in real time, and determining whether version information in the heartbeat information is updated version information.
After the target edge computing node is updated online, acquiring heartbeat information reported by each edge computing node in the edge cluster in real time, judging whether version information in the heartbeat information is updated version information, if not, indicating that edge computing nodes with un-updated versions exist, repeatedly executing the steps S402-S406, and performing rolling release on the edge computing nodes with un-updated versions until version information in the heartbeat information reported by all edge computing nodes of the edge cluster is updated version information, and updating the push flow service versions of all edge computing nodes of the edge cluster is completed.
According to the live streaming service rolling publishing method, the target edge computing node to be offline is selected within the offline time range of the preset edge computing node, and the influence on the anchor and the user is reduced. And determining reserved use bandwidth according to the first bandwidth utilization rate, ensuring normal operation of live broadcast, and finishing rolling release of the push streaming service by the off-line target edge computing node. Before the version of the target edge computing node is updated, whether the target edge computing node meets a preset updating check condition is judged, so that the influence on the anchor and the user is further reduced when the version of the push streaming service is updated.
Fig. 5 shows a schematic structural diagram of a live push streaming service rolling publishing device provided by an embodiment of the present application. As shown in fig. 5, the apparatus includes:
an obtaining module 510, adapted to obtain real-time bandwidth usage of each edge computing node in an edge cluster, and calculate to obtain a first bandwidth usage rate;
a version update module 520 adapted to determine a target edge computing node to be offline in the edge cluster according to the first bandwidth utilization; downloading the target edge computing node, updating the plug flow service version of the target edge computing node, and uploading the updated target edge computing node;
and a loop updating module 530 adapted to repeatedly execute the obtaining module 510 and the version updating module 520, and perform rolling release of the push flow service on the offline target edge computing node until the push flow service of all edge computing nodes in the edge cluster completes the version updating.
Optionally, the obtaining module 510 is further adapted to:
acquiring real-time use bandwidth of each edge computing node in the edge cluster;
determining a first bandwidth utilization rate according to the real-time use bandwidth and the configuration bandwidth of each edge computing node; the first bandwidth utilization rate is determined according to the ratio of the sum of real-time used bandwidths of all edge computing nodes to the configuration bandwidth of an edge cluster; and the configuration bandwidth of the edge cluster is determined according to the sum of the configuration bandwidths of all the edge computing nodes.
Optionally, the version update module 520 is further adapted to:
judging whether the first bandwidth utilization rate is lower than a preset first utilization rate threshold value or not;
if so, determining reserved used bandwidth according to the first bandwidth utilization rate and the configuration bandwidth of the edge cluster;
determining idle bandwidth according to reserved use bandwidth and configuration bandwidth of the edge cluster;
and determining a target edge computing node to be offline according to the idle bandwidth.
Optionally, the version update module 520 is further adapted to:
determining the current use bandwidth of the edge cluster according to the first bandwidth use rate and the configuration bandwidth of the edge cluster;
determining reserved use bandwidth according to the current use bandwidth of the edge cluster; the reserved bandwidth of use is greater than the current bandwidth of use.
Optionally, the version update module 520 is further adapted to:
determining the offline number of target edge computing nodes to be offline according to the idle bandwidth and the configuration bandwidth of the edge computing nodes;
and sequencing the real-time use bandwidths of the edge computing nodes with the plurality of versions not updated from small to large, and selecting a plurality of edge computing nodes which are sequenced in the first order and meet the offline number as target edge computing nodes to be offline.
Optionally, the version update module 520 is further adapted to:
determining the offline number of target edge computing nodes to be offline according to the idle bandwidth and the configuration bandwidth of the edge computing nodes;
and randomly selecting a plurality of edge computing nodes with the un-updated versions and according with the offline number as target edge computing nodes to be offline.
Optionally, the version update module 520 is further adapted to:
marking the state of the target edge computing node as a down line state;
and issuing an update version to the target edge computing node for updating the push flow service version.
Optionally, the apparatus further comprises: a judgment and verification module 540, adapted to judge whether the target edge computing node meets a preset update and verification condition; the preset updating verification conditions comprise whether the second broadband utilization rate of the target edge computing node is lower than a preset second utilization rate threshold value and/or whether the real-time user watching number of the live broadcast stream of the target edge computing node is lower than a preset number threshold value; the second bandwidth utilization rate is determined according to the ratio of the real-time utilization bandwidth of the target edge computing node to the configuration bandwidth of the target edge computing node; and if so, updating the plug flow service version of the target edge computing node.
Optionally, the version update module 520 is further adapted to:
acquiring heartbeat information reported by a target edge computing node in real time; the heartbeat information includes version information;
judging whether the version information is updated version information;
if yes, determining that the push flow service version of the target edge computing node is updated, and marking the state of the target edge computing node as an online state.
Optionally, the loop update module 530 is further adapted to:
after the target edge computing node is updated online, acquiring heartbeat information reported by each edge computing node in an edge cluster in real time, and judging whether version information in the heartbeat information is updated version information;
if not, the obtaining module 510 and the version updating module 520 are repeatedly executed, and the rolling release of the push flow service is performed on each offline target edge computing node until the version information in the heartbeat information of all edge computing nodes in the edge cluster is the updated version information.
Optionally, the apparatus further comprises: a time judging module 550 adapted to judge whether the current time is the offline time of the preset edge computing node; and if so, downloading the edge computing node, and updating the plug flow service version of the downloaded edge computing node.
Optionally, by a scheduling service.
The descriptions of the modules refer to the corresponding descriptions in the method embodiments, and are not repeated herein.
According to the live streaming service rolling release device, the target edge computing node is determined according to the first bandwidth utilization rate to carry out the rolling release of the streaming service, so that the influence on the anchor is avoided when the version is updated, and the existence of the available edge computing node is guaranteed. And the off-line and on-line of the target edge computing node and the version updating of the plug-flow service are automatically completed, so that the labor cost for manual version updating is saved.
The application also provides a nonvolatile computer storage medium, and the computer storage medium stores at least one executable instruction which can execute the live streaming service rolling release method in any method embodiment.
Fig. 6 is a schematic structural diagram of a computing device according to an embodiment of the present application, and the specific embodiment of the present application does not limit the specific implementation of the computing device.
As shown in fig. 6, the computing device may include: a processor (processor) 602, a communication Interface 604, a memory 606, and a communication bus 608.
Wherein:
the processor 602, communication interface 604, and memory 606 communicate with one another via a communication bus 608.
A communication interface 604 for communicating with network elements of other devices, such as clients or other servers.
The processor 602 is configured to execute the program 610, and may specifically execute relevant steps in the foregoing live push streaming service rolling distribution method embodiment.
In particular, program 610 may include program code comprising computer operating instructions.
The processor 602 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more Integrated circuits configured to implement the present Application. The computing device includes one or more processors, which may be the same type of processor, such as one or more CPUs; or may be different types of processors such as one or more CPUs and one or more ASICs.
And a memory 606 for storing a program 610. Memory 606 may comprise high-speed RAM memory, and may also include non-volatile memory (non-volatile memory), such as at least one disk memory.
The program 610 may be specifically configured to enable the processor 602 to execute a live push streaming service rolling distribution method in any of the method embodiments described above. For specific implementation of each step in the program 610, reference may be made to corresponding steps and corresponding descriptions in units in the foregoing live push streaming service rolling publishing embodiment, which are not described herein again. It can be clearly understood by those skilled in the art that, for convenience and simplicity of description, the specific working processes of the above-described devices and modules may refer to the corresponding process descriptions in the foregoing method embodiments, and are not described herein again.
The algorithms or displays presented herein are not inherently related to any particular computer, virtual system, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. Moreover, this application is not intended to refer to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the present application as described herein, and any descriptions of specific languages are provided above to disclose preferred embodiments of the present application.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the application may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the application, various features of the application are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the application and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this application.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed 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 furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Moreover, those skilled in the art will appreciate that while some embodiments herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the application and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the present application may be implemented in hardware, or in software modules 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 according to the present application. The present application may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present application may be stored on a computer readable medium or may be in the form of one or more signals. Such a signal may be downloaded from an internet website, or provided on a carrier signal, or provided in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the application, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The application may 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 one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names. The steps in the above embodiments should not be construed as limited to the order of execution unless otherwise specified.

Claims (15)

1. A rolling publishing method of a live push streaming service comprises the following steps:
the method comprises the steps of obtaining real-time use bandwidths of all edge computing nodes in an edge cluster, and calculating to obtain a first bandwidth utilization rate;
a version updating step, namely determining a target edge computing node to be offline in the edge cluster according to the first bandwidth utilization rate; downloading the target edge computing node, updating the plug flow service version of the target edge computing node, and downloading the updated target edge computing node;
and a step of cyclic updating, in which the step of obtaining and the step of version updating are repeatedly executed, and push flow service rolling release is carried out on the offline target edge computing node until the push flow service of all the edge computing nodes in the edge cluster completes the version updating.
2. The method of claim 1, wherein the obtaining step further comprises:
acquiring real-time use bandwidth of each edge computing node in the edge cluster;
determining a first bandwidth utilization rate according to the real-time use bandwidth and the configuration bandwidth of each edge computing node; the first bandwidth utilization rate is determined according to the ratio of the sum of real-time utilization bandwidths of all edge computing nodes to the configuration bandwidth of the edge cluster; and the configuration bandwidth of the edge cluster is determined according to the sum of the configuration bandwidths of all the edge computing nodes.
3. The method of claim 1 or 2, wherein the determining a target edge compute node to be dropped off in the edge cluster according to the first bandwidth usage further comprises:
judging whether the first bandwidth utilization rate is lower than a preset first utilization rate threshold value or not;
if so, determining reserved used bandwidth according to the first bandwidth utilization rate and the configuration bandwidth of the edge cluster;
determining idle bandwidth according to the reserved use bandwidth and the configuration bandwidth of the edge cluster;
and determining a target edge computing node to be offline according to the idle bandwidth.
4. The method of claim 3, wherein the determining reserved bandwidth usage from the first bandwidth usage and a configured bandwidth of an edge cluster further comprises:
determining the current use bandwidth of the edge cluster according to the first bandwidth use rate and the configuration bandwidth of the edge cluster;
determining reserved use bandwidth according to the current use bandwidth of the edge cluster; the reserved used bandwidth is larger than the current used bandwidth.
5. The method of claim 3, wherein the determining a target edge compute node to be dropped according to the spare bandwidth further comprises:
determining the offline number of the target edge computing node to be offline according to the idle bandwidth and the configuration bandwidth of the edge computing node;
and sequencing the real-time use bandwidths of the edge computing nodes with the plurality of versions not updated from small to large, and selecting a plurality of edge computing nodes which are sequenced in the first order and meet the offline number as target edge computing nodes to be offline.
6. The method of claim 3, wherein the determining a target edge compute node to be dropped according to the spare bandwidth further comprises:
determining the offline number of the target edge computing node to be offline according to the idle bandwidth and the configuration bandwidth of the edge computing node;
and randomly selecting a plurality of edge computing nodes with the un-updated versions and according with the offline number as target edge computing nodes to be offline.
7. The method of claim 1, wherein the downlinking the target edge computing node, and updating the push flow service version of the target edge computing node further comprises:
marking the state of the target edge computing node as a down state;
and issuing an update version to the target edge computing node for updating the push flow service version.
8. The method of any of claims 1-7, wherein prior to the updating the push flow service version of the target edge compute node, the method further comprises:
judging whether the target edge computing node meets a preset updating verification condition or not; the preset updating and checking condition comprises whether a second broadband utilization rate of the target edge computing node is lower than a preset second utilization rate threshold value and/or whether the real-time user watching number of the live stream of the target edge computing node is lower than a preset number threshold value; the second bandwidth utilization rate is determined according to the ratio of the real-time utilization bandwidth of the target edge computing node to the configuration bandwidth of the target edge computing node;
and if so, updating the push flow service version of the target edge computing node.
9. The method of any of claims 1-8, wherein the uplinked updated target edge compute node further comprises:
acquiring heartbeat information reported by the target edge computing node in real time; the heartbeat information includes version information;
judging whether the version information is updated version information or not;
if yes, determining that the push flow service version of the target edge computing node is updated, and marking the state of the target edge computing node as an online state.
10. The method of any of claims 1-9, wherein the loop updating step further comprises:
after the target edge computing node is updated online, acquiring heartbeat information reported by each edge computing node in the edge cluster in real time, and judging whether version information in the heartbeat information is updated version information;
if not, the obtaining step and the version updating step are repeatedly executed, and the target edge computing nodes of all offline are subjected to rolling release of the plug flow service until the version information in the heartbeat information of all the edge computing nodes in the edge cluster is updated.
11. The method according to any one of claims 1-6, wherein the method further comprises:
judging whether the current time is the offline time of a preset edge computing node or not;
and if so, downloading the edge computing node, and updating the plug flow service version of the downloaded edge computing node.
12. The method of any of claims 1-11, wherein the method is performed by a scheduling service.
13. A live push streaming service roll publishing device, comprising:
the acquisition module is suitable for acquiring real-time use bandwidth of each edge computing node in the edge cluster and calculating to obtain a first bandwidth utilization rate;
the version updating module is suitable for determining a target edge computing node to be offline in the edge cluster according to the first bandwidth utilization rate; off-line the target edge computing node, updating the plug flow service version of the target edge computing node, and on-line the updated target edge computing node;
and the cyclic updating module is suitable for repeatedly executing the acquiring module and the version updating module, and performing push flow service rolling release on the offline target edge computing node until the push flow services of all the edge computing nodes in the edge cluster finish version updating.
14. A computing device, comprising: the system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication through the communication bus;
the memory is used for storing at least one executable instruction, and the executable instruction causes the processor to execute the operation corresponding to the rolling issuing method of the live push streaming service in any one of claims 1-12.
15. A computer storage medium having at least one executable instruction stored therein, the executable instruction causing a processor to perform operations corresponding to the live push streaming service rolling distribution method of any one of claims 1-12.
CN202211144711.7A 2022-09-20 2022-09-20 Live broadcast push stream service rolling release method and device Active CN115499671B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211144711.7A CN115499671B (en) 2022-09-20 2022-09-20 Live broadcast push stream service rolling release method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211144711.7A CN115499671B (en) 2022-09-20 2022-09-20 Live broadcast push stream service rolling release method and device

Publications (2)

Publication Number Publication Date
CN115499671A true CN115499671A (en) 2022-12-20
CN115499671B CN115499671B (en) 2024-02-06

Family

ID=84471265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211144711.7A Active CN115499671B (en) 2022-09-20 2022-09-20 Live broadcast push stream service rolling release method and device

Country Status (1)

Country Link
CN (1) CN115499671B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104038842A (en) * 2014-06-18 2014-09-10 百视通网络电视技术发展有限责任公司 Method and device for pre-fetching requested program information in CDN (Content Delivery Network) network
CN110868310A (en) * 2018-08-27 2020-03-06 中国移动通信有限公司研究院 CDN edge node online and offline method, device and system
CN110896404A (en) * 2018-09-12 2020-03-20 华为技术有限公司 Data processing method and device and computing node
CN112541426A (en) * 2020-12-10 2021-03-23 天津(滨海)人工智能军民融合创新中心 Communication bandwidth self-adaptive data processing method based on unmanned aerial vehicle cluster cooperative sensing
CN114518956A (en) * 2021-12-29 2022-05-20 北京邮电大学 Load balancing method and device based on queue overhead under edge streaming media
CN114679592A (en) * 2022-02-07 2022-06-28 上海哔哩哔哩科技有限公司 Edge cluster scheduling method and device
CN114866790A (en) * 2022-03-25 2022-08-05 上海哔哩哔哩科技有限公司 Live streaming scheduling method and device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104038842A (en) * 2014-06-18 2014-09-10 百视通网络电视技术发展有限责任公司 Method and device for pre-fetching requested program information in CDN (Content Delivery Network) network
CN110868310A (en) * 2018-08-27 2020-03-06 中国移动通信有限公司研究院 CDN edge node online and offline method, device and system
CN110896404A (en) * 2018-09-12 2020-03-20 华为技术有限公司 Data processing method and device and computing node
CN112541426A (en) * 2020-12-10 2021-03-23 天津(滨海)人工智能军民融合创新中心 Communication bandwidth self-adaptive data processing method based on unmanned aerial vehicle cluster cooperative sensing
CN114518956A (en) * 2021-12-29 2022-05-20 北京邮电大学 Load balancing method and device based on queue overhead under edge streaming media
CN114679592A (en) * 2022-02-07 2022-06-28 上海哔哩哔哩科技有限公司 Edge cluster scheduling method and device
CN114866790A (en) * 2022-03-25 2022-08-05 上海哔哩哔哩科技有限公司 Live streaming scheduling method and device

Also Published As

Publication number Publication date
CN115499671B (en) 2024-02-06

Similar Documents

Publication Publication Date Title
US10832284B2 (en) Method and device and system for processing promotion information
CN111343436B (en) Track traffic video monitoring method and system based on cloud edge cooperation
CN105678586B (en) Information supporting method and device
CN105451034B (en) A kind of advertisement control method for playing back and system
CN108600300B (en) Log data processing method and device
CN108521856A (en) Dispatching method in content distributing network and equipment
CN107333148B (en) Method for processing video frequency and device, computer storage medium and equipment
CN112306567B (en) Cluster management system and container management and control method
CN110336885A (en) Fringe node distribution method, device, dispatch server and storage medium
CN110689254A (en) Data processing method and device, electronic equipment and computer readable storage medium
CN110418154A (en) A kind of multi-medium data method for pushing, apparatus and system
CN110324654A (en) Main broadcaster end live video frame processing method, device, equipment, system and medium
CN111383084A (en) Auction method and system
CN115168020A (en) Instance deployment method and device, cloud system, computing equipment and storage medium
CN114679592A (en) Edge cluster scheduling method and device
CN107004003B (en) Model parameter fusion method and device
CN109962947A (en) Method for allocating tasks and device in a kind of peer-to-peer network
CN105915932A (en) Booking message push method and device
CN115499671A (en) Live broadcast push flow service rolling release method and device
CN109995824A (en) Method for scheduling task and device in a kind of peer-to-peer network
CN107493485B (en) Resource control method and device and IPTV server
CN115334010B (en) Query information processing method and device, storage medium and electronic device
CN115002495A (en) Animation processing method and device
CN112788135A (en) Resource scheduling method, device and storage medium
CN108881939B (en) Video CDN processing method and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant