WO2023147750A1 - 边缘集群调度方法及装置 - Google Patents

边缘集群调度方法及装置 Download PDF

Info

Publication number
WO2023147750A1
WO2023147750A1 PCT/CN2022/143875 CN2022143875W WO2023147750A1 WO 2023147750 A1 WO2023147750 A1 WO 2023147750A1 CN 2022143875 W CN2022143875 W CN 2022143875W WO 2023147750 A1 WO2023147750 A1 WO 2023147750A1
Authority
WO
WIPO (PCT)
Prior art keywords
transcoding
edge cluster
task
edge
tasks
Prior art date
Application number
PCT/CN2022/143875
Other languages
English (en)
French (fr)
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 WO2023147750A1 publication Critical patent/WO2023147750A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25825Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone

Definitions

  • the present disclosure relates to the technical field of the Internet, and in particular to an edge cluster scheduling method and device.
  • transcoding the video stream is an essential link.
  • the format of the video stream can be converted, and the bit rate of the audio/video stream pushed by the anchor can be reduced without affecting the quality of the user's viewing, reducing the freeze rate when the user watches the live broadcast.
  • Transcoding generally adopts two methods: central transcoding or edge transcoding.
  • the edge clusters are deployed on the edge of each city, and the physical distance to users is relatively close, which facilitates resource transmission with users and reduces transmission delays.
  • Edge transcoding is to push the anchor’s audio/video stream to the edge cluster to complete
  • central transcoding is to push the anchor’s audio/video stream to the central cluster to complete.
  • edge transcoding has the following advantages:
  • edge transcoding There are a large number of edge clusters. At present, most of the management and scheduling of edge clusters rely on manual completion, which makes the transcoding efficiency of edge clusters slow and cannot make full use of edge clusters. The waste of resources also affects the fast and normal execution of transcoding tasks.
  • embodiments of the present disclosure are proposed in order to provide an edge cluster scheduling method and device for overcoming the above problems or at least partially solving the above problems.
  • an edge cluster scheduling method which includes:
  • the transcoding information determine the transcoding tasks that do not meet the preset transcoding conditions
  • transcoding tasks that do not meet the preset transcoding conditions and all transcoding tasks determine the failure rate of the transcoding tasks of the edge cluster
  • the delivery strategy of the transcoding task of the edge cluster is determined to ensure the normal execution of the transcoding task.
  • obtaining the transcoding information of the edge cluster further includes:
  • the transcoding information includes the transcoding start time, transcoding completion time, bit rate of the transcoding stream, number of frames of the transcoding stream, and bit rate of the source video stream and/or the number of frames of the source video stream;
  • determining the transcoding tasks that do not meet the preset transcoding conditions further includes:
  • the transcoding task corresponding to the transcoding information is a transcoding task that does not meet the preset transcoding conditions.
  • judging whether the transcoding information meets preset transcoding conditions further includes:
  • determining the failure ratio of the transcoding tasks of the edge cluster further includes:
  • determining the delivery strategy of the transcoding task of the edge cluster, so as to ensure the normal execution of the transcoding task further includes:
  • transcoding task failure rate of the edge cluster is greater than the first transcoding threshold and less than the second transcoding threshold, adjust the number of transcoding tasks issued by the edge cluster according to the transcoding task failure rate;
  • the delivery of the transcoding task to the edge cluster is suspended.
  • the method further includes:
  • the method also includes:
  • generating a transcoding task according to the anchor's source video stream, and determining the edge cluster to which the transcoding task is to be delivered further includes:
  • the transcoding task is generated according to the source video stream of the anchor, and the edge cluster to be delivered is determined according to the delivery factor of the transcoding task; the delivery factor includes the geographical distance, the failure rate of the transcoding task of the edge cluster, and the transcoding consumption of the edge cluster time and/or resource idleness of the edge cluster.
  • generating a transcoding task according to the anchor's source video stream, and determining the edge cluster to be delivered according to the delivery factor of the transcoding task further includes:
  • the transcoding task of the second edge cluster If not, take the first edge cluster as the center origin, and obtain at least one second edge cluster according to the preset range; for at least one second edge cluster, according to the geographical distance from the anchor, the transcoding task of the second edge cluster The failure ratio, the transcoding time consumption of the second edge cluster and/or the resource idleness of the second edge cluster are sorted, and the second edge cluster ranked first is selected as the edge cluster to be delivered.
  • the method also includes:
  • the transcoding task will be delivered to the central cluster.
  • the method also includes:
  • the edge cluster According to the received heartbeat information regularly uploaded by at least one edge cluster, add at least one edge cluster in a surviving state to the scheduling queue, so that the edge cluster can be screened to execute the delivered transcoding task.
  • this method is executed by a scheduling service created by the server.
  • an edge cluster scheduling device which includes:
  • An acquisition module adapted to acquire transcoding information of edge clusters
  • the task determination module is adapted to determine transcoding tasks that do not meet the preset transcoding conditions according to the transcoding information
  • a ratio determination module adapted to determine the failure ratio of transcoding tasks of the edge cluster
  • the delivery policy module is adapted to determine the delivery strategy of the transcoding task of the edge cluster according to the failure rate of the transcoding task of the edge cluster, so as to ensure the normal execution of the transcoding task.
  • a computing device including: a processor, a memory, a communication interface, and a communication bus, and the processor, the memory, and the communication interface complete mutual communication through the communication bus;
  • the memory is used to store at least one executable instruction, and the executable instruction causes the processor to execute the operation corresponding to the above edge cluster scheduling method.
  • a non-volatile computer-readable storage medium stores at least one executable instruction, and the executable instruction causes a processor to execute The operation corresponding to the above edge cluster scheduling method.
  • a computer program product includes the calculation program stored on the above-mentioned non-volatile computer-readable storage medium.
  • the transcoding information of the edge cluster can be obtained, and the transcoding tasks that do not meet the preset transcoding conditions can be determined in real time, so that according to the transcoding tasks that do not meet the preset transcoding conditions and For all transcoding tasks, determine the failure rate of transcoding tasks in the edge cluster, so as to adjust the corresponding transcoding task delivery strategy in time, so that while ensuring that the transcoding tasks can be executed normally, it also maximizes the utilization rate of the edge cluster .
  • FIG. 1 shows a flowchart of an edge cluster scheduling method according to an embodiment of the present disclosure
  • FIG. 2 shows a flow chart of an edge cluster scheduling method according to another embodiment of the present disclosure
  • FIG. 3 shows a schematic structural diagram of an edge cluster scheduling device according to an embodiment of the present disclosure
  • Fig. 4 shows a schematic structural diagram of a computing device according to an embodiment of the present disclosure.
  • Video transcoding technology converts a video signal from one format to another.
  • Edge node user-side server, deployed on the edge of each city. The physical distance to the user is closer, and the transmission delay is lower.
  • Edge transcoding transcoding is performed on the nodes of the edge cluster to which the anchor directly pushes.
  • Test stream transcoding task Transcoding task generated by non-host streaming, used to test whether the edge cluster is running normally.
  • Uplink scheduling When the host clicks to start broadcasting, the server will select a push node for scheduling to the host according to the host's information.
  • FIG. 1 shows a flowchart of an edge cluster scheduling method according to an embodiment of the present disclosure. As shown in FIG. 1, the method includes the following steps:
  • Step 101 acquire the transcoding information of the edge cluster.
  • Edge transcoding means that the edge clusters complete the transcoding processing of the source video stream generated by the anchor live broadcast. Although the single-point problem of central transcoding is avoided, the number of edge clusters is too large, and the probability of problems will increase. However, the existing edge transcoding method still needs to rely on manual operations to process the edge cluster on-line and off-line after the edge cluster itself has an operation problem. Increased the consumption of labor costs.
  • the embodiment of the present disclosure monitors the edge cluster in real time when the edge cluster executes the transcoding task, and obtains the transcoding information generated by the edge cluster during the transcoding process.
  • the transcoding information includes transcoding information such as the time spent on transcoding and various parameter information of the generated transcoding stream, etc., which can characterize the execution of the transcoding task. Set the corresponding preset transcoding conditions for different aspects such as stream quality, which are not limited here.
  • Step S102 according to the transcoding information, determine the transcoding tasks that do not meet the preset transcoding conditions.
  • the preset transcoding conditions can be set in advance, and different preset transcoding conditions can be set according to the implementation situation. etc., there is no limitation here.
  • the obtained transcoding information is compared with the preset transcoding conditions to determine whether the transcoding tasks meet the preset transcoding conditions, and then determine the transcoding tasks that do not meet the preset transcoding conditions.
  • the edge cluster can complete the transcoding tasks normally, and can continue to receive the source video stream generated by the host during the live broadcast, and execute the corresponding transcoding tasks without processing them.
  • Step S103 according to the transcoding tasks that do not meet the preset transcoding conditions and all the transcoding tasks, determine the failure rate of the transcoding tasks in the edge cluster.
  • the transcoded stream obtained by edge cluster transcoding may have problems such as long transcoding time consumption and poor viewing quality of the transcoded stream.
  • the transcoding task of the edge cluster is a transcoding task that does not meet the preset transcoding conditions, it is necessary to make statistics on the running status of the edge cluster in a timely manner, so as to adjust the subsequent delivery strategy and ensure the normal execution of the transcoding task. Provide users with a better viewing experience.
  • the failure ratio of the transcoding tasks of the edge cluster can be calculated according to the transcoding tasks that do not meet the preset transcoding conditions and all the transcoding tasks, for example, according to the transcoding tasks performed by the edge cluster that do not meet the preset transcoding conditions
  • the number of coding tasks and the total number of all transcoding tasks executed are calculated to obtain the failure rate of the transcoding tasks of the edge cluster.
  • Step S104 determining a delivery policy of the transcoding task of the edge cluster according to the failure rate of the transcoding task of the edge cluster, so as to ensure the normal execution of the transcoding task.
  • the calculated failure rate of the transcoding task of the edge cluster adjust the delivery strategy of the transcoding task of the edge cluster in a timely manner.
  • Transcoding tasks are sent to avoid the occurrence of transcoding tasks that do not meet the preset transcoding conditions, to ensure a transcoding stream that provides users with a good viewing experience, so that the delivered transcoding tasks can be executed normally and quickly. If the failure rate of the transcoding task of the edge cluster is low, you can continue to execute the delivered transcoding task, and use the edge cluster to the maximum extent to ensure that the transmission delay rate of the provided user's transcoding stream is low, and the user's viewing lag is low and other advantages.
  • the transcoding tasks that do not meet the preset transcoding conditions can be determined in real time, and then based on the transcoding tasks that do not meet the preset transcoding conditions and all transcoding tasks Transcoding task, calculating the failure ratio of transcoding tasks in the edge cluster, so as to adjust the corresponding transcoding task distribution strategy in time, so that while ensuring the normal execution of the transcoding task, it also maximizes the utilization rate of the edge cluster.
  • FIG. 2 shows a flowchart of an edge cluster scheduling method according to an embodiment of the present disclosure. As shown in FIG. 2, the method includes the following steps:
  • step S201 a transcoding task is generated according to the anchor's source video stream, and an edge cluster to which the transcoding task is to be delivered is determined.
  • the embodiments of the present disclosure can be executed on the server side, for example, a scheduling service is created on the server side, and each step is executed by the scheduling service.
  • the scheduling service can be a process or a thread, etc., and does not affect the execution of other services of the server.
  • the source video stream When the anchor starts live broadcasting, the source video stream will be generated accordingly, and the scheduling service will perform uplink scheduling on it, and generate the corresponding transcoding task according to the source video stream generated by the anchor live broadcast, and determine the transcoding task to be delivered according to the delivery factor of the transcoding task edge clusters. Delivery factors include geographical distance, failure rate of transcoding tasks of edge clusters, transcoding time consumption of edge clusters, idle resources of edge clusters, etc.
  • the first edge cluster of the transcoding task can be determined according to the geographical distance from the anchor, that is, based on the principle of distance priority, the transmission delay can be reduced, and the source video generated by the anchor's live broadcast can be quickly received flow.
  • the first edge cluster it is necessary to further determine whether the number of transcoding tasks delivered by the first edge cluster has not reached.
  • the number of transcoding tasks delivered is related to the normal operation status of the edge cluster and the failure rate of transcoding tasks.
  • the first edge cluster According to the processing capability of the first edge cluster, set it to the highest value, or set it to infinity; if the first edge cluster is in an abnormal operation state (downtime, network failure, etc., non-survival state), the number of transcoding tasks issued by it is set to 0; if the first edge cluster is in normal operation and its transcoding task failure rate is high, the number of transcoding tasks issued will be reduced accordingly, such as 2, to avoid multiple non-compliance caused by executing too many transcoding tasks. Transcoding tasks with preset transcoding conditions, etc.
  • the number of delivered transcoding tasks When judging whether the number of delivered transcoding tasks has not been reached, if the number of delivered transcoding tasks is greater than 0, it means that the number of delivered transcoding tasks has not been reached, and the first edge cluster is regarded as the edge cluster to be delivered. If the current number of transcoding tasks delivered is 0, it means that the number of transcoding tasks delivered has reached the first edge cluster and cannot be delivered transcoding tasks, and the edge cluster to be delivered needs to be re-determined.
  • the number of transcoding tasks delivered decreases in turn according to the number of transcoding tasks executed by the first edge cluster, and each time the first edge cluster executes a transcoding task, the number of transcoding tasks delivered is reduced by one; or, the transcoding task The number of issued transcoding tasks remains unchanged.
  • the number of transcoding tasks executed by the first edge cluster and the number of issued transcoding tasks it is judged whether the number of executed transcoding tasks is equal to the number of issued transcoding tasks.
  • the specific implementation is set according to the implementation situation, and is not limited here.
  • At least one second edge cluster can be obtained by screening according to the preset range.
  • the preset range sets a specific distance according to the implementation situation, which is not limited here.
  • the at least one second edge cluster can be sorted according to the geographical distance from the anchor, the transcoding task failure ratio of the second edge cluster, the second The time-consuming transcoding of the edge cluster and the idle resources of the second edge cluster are sorted, and the second edge cluster that is sorted first is selected as the edge cluster to be delivered.
  • Screening the second edge clusters that are geographically close to the host can reduce transmission delays; screening the second edge clusters with a low transcoding task failure rate can ensure the normal execution of the transcoding task; screening the transcoding tasks takes less time
  • the second edge cluster can quickly execute and complete the transcoding task; the second edge cluster with high resource idleness (such as high remaining bandwidth) can be screened to quickly execute and complete the transcoding task.
  • the transcoding task can be directly delivered to the central cluster, and the central cluster will complete the transcoding task, so as to avoid the excessive cost of searching for the edge cluster to be delivered multiple times. Multiple time costs etc.
  • the embodiment of the present disclosure also needs to screen the edge clusters in the surviving state to execute the delivered transcoding task, so as to ensure that the transcoding task can be executed normally.
  • the scheduling service will also receive heartbeat information regularly uploaded by at least one edge cluster. According to the received heartbeat information regularly uploaded by at least one edge cluster, it can be determined that the edge cluster is in the alive state. The edge cluster that has not uploaded heartbeat information is currently is not alive. Add at least one edge cluster in the surviving state to the scheduling queue, so as to filter the edge clusters in the surviving state from the scheduling queue to execute the delivered transcoding task.
  • Step S202 sending the transcoding task to the edge cluster, so that the edge cluster can transcode the source video stream according to the transcoding task.
  • the transcoding task After determining the edge cluster to be delivered, deliver the transcoding task to the edge cluster. Specifically, it is recorded that the transcoding task is executed by the edge cluster, and at the same time, such as the delivery time of the transcoding task can be recorded. Correspondingly, the source video stream generated by the anchor will be directly pushed to the edge cluster, and the edge cluster will transcode the source video stream.
  • Step S203 monitoring and obtaining the transcoding information of the edge cluster performing the transcoding task, and judging whether the transcoding information of the edge cluster meets the preset transcoding conditions.
  • the dispatching service monitors and obtains the transcoding information generated during the transcoding process uploaded regularly by the edge cluster performing the transcoding task.
  • the transcoding information includes such as transcoding start time, transcoding completion time, transcoding The code rate of the code stream, the number of frames of the transcode stream, the code rate of the source video stream, the number of frames of the source video stream, etc.
  • the transcoding time spent by the edge cluster to perform the transcoding task can be calculated; according to the bit rate of the transcoding stream, the number of frames of the transcoding stream, and the source video stream
  • the code rate of the source video stream and the number of frames of the source video stream can be calculated to obtain the jitter rate of the transcoded stream and the jitter rate of the source video stream, and then the ratio of the jitter rate of the transcoded stream to the jitter rate of the source video stream can be calculated.
  • the preset duration is 30s, which can be set according to the specific implementation situation.
  • the edge cluster takes a long time to execute the transcoding task, which affects the execution efficiency of the transcoding task, and it is judged that the transcoding information of the edge cluster does not meet the preset transcoding conditions ; Or, determine whether the ratio of the jitter rate of the transcoded stream to the jitter rate of the source video stream is greater than the preset jitter threshold, and the preset jitter threshold is set to a value greater than 1 or higher, which can be set according to the implementation situation.
  • the ratio of the jitter rate of the code stream to the jitter rate of the source video stream is greater than the preset jitter threshold, it means that the jitter rate of the transcoded stream generated by the transcoding task is much greater than the jitter rate of the source video stream, and the generated transcoded stream will affect the user's viewing experience, it is judged that the transcoding information of the edge cluster does not meet the preset transcoding conditions; or, the above two judgments can be combined, and when the results of both judgments are yes, it is judged that the transcoding information of the edge cluster does not meet the preset transcoding conditions condition.
  • the above is an example, and it is set according to the implementation situation, and is not limited here.
  • Step S204 according to the transcoding tasks that do not meet the preset transcoding conditions and all the transcoding tasks, determine the failure ratio of the transcoding tasks in the edge cluster.
  • the scheduling service When it is judged that the transcoding information of the edge cluster does not meet the preset transcoding conditions, the scheduling service records the transcoding task of the edge cluster as a transcoding task that does not meet the preset transcoding conditions. Specifically, it can be set by the scheduling service for each edge cluster A transcoding task record, which counts the number of transcoding tasks that do not meet the preset transcoding conditions for each edge cluster in at least one time window and the total number of all transcoding tasks of the edge cluster. The number of transcoding tasks of the encoding condition and the total number of all transcoding tasks of the edge cluster are calculated to obtain the failure ratio of the transcoding tasks of the edge cluster within at least one time window.
  • the failure rate of transcoding tasks of the edge cluster within a time window the number of transcoding tasks that do not meet the preset transcoding conditions within a time window/the total number of all transcoding tasks of the edge cluster within a time window.
  • a time window unit can be 1 minute, and can also be set according to the implementation situation, which is not limited here.
  • the status of the edge cluster's execution of the transcoding task can be updated in time according to the time window, which is convenient for timely adjustment of the delivery strategy, and to deal with various problems that may occur in the edge cluster.
  • the edge cluster ensures the normal execution of transcoding tasks.
  • Step S205 determining a delivery policy of the transcoding task of the edge cluster according to the failure rate of the transcoding task of the edge cluster, so as to ensure the normality of the transcoding task.
  • the failure rate of the transcoding task of the edge cluster different delivery strategies can be set in advance. Specifically, if the failure rate of the transcoding task of the edge cluster is greater than the first transcoding threshold and less than the second transcoding threshold, the second transcoding threshold Greater than the first transcoding threshold, for example, the first transcoding threshold is 20%, and the second transcoding threshold is 40%. Adjust the number of transcoding tasks delivered by the edge cluster. Considering the possible failure of the edge cluster, adjust the delivery of transcoding tasks in time to prevent excessive losses. Half of the number of transcoding tasks with preset transcoding conditions.
  • the failure rate of the transcoding task of the edge cluster is greater than the second transcoding threshold, for example, the failure rate of the transcoding task of the edge cluster is greater than 40%, it can be confirmed that there is an abnormality in the edge cluster, and the delivery of the transcoding task to the edge cluster is suspended. Edge clusters are fused.
  • the edge cluster has an abnormal fault, most of them use manual operation and maintenance to go offline and offline.
  • the server cannot know whether the edge cluster is back to normal in time, and it needs to manually notify the edge cluster whether it is back to normal.
  • the real-time nature of manual notification cannot be guaranteed, resulting in recovery
  • a normal edge cluster cannot deliver transcoding tasks to it in time, and the resources of the edge cluster are idle.
  • the scheduling service sends the test flow transcoding task to the edge cluster at regular intervals to maintain real-time monitoring of the edge cluster.
  • the test stream transcoding task is to send the test video stream to the edge cluster, and the edge cluster transcodes the test video stream, pulls the test transcode stream after transcoding by the edge cluster, and judges the transcode generated by the edge cluster according to the test transcode stream Whether the information meets the preset transcoding conditions. If so, it means that the edge cluster has recovered and can perform the transcoding task normally, then add it to the scheduling queue again, and resume sending transcoding tasks to the edge cluster.
  • the scheduling service can know the running status of the edge cluster in time, and add the edge cluster that is running normally and in the surviving state to the scheduling queue for scheduling. , to issue transcoding tasks to avoid an edge cluster running normally but being idle, and to ensure that resources can maximize their utilization value.
  • the edge cluster that best matches the transcoding task is screened out through the delivery factor, and the transcoding task is delivered to it. While ensuring the quality of the transcoding task, it also ensures that the transmission delay is reduced, so as to reduce Switching costs increase switching benefits.
  • By monitoring and obtaining the transcoding information of the edge clusters that perform the transcoding tasks it is possible to detect edge clusters that may have abnormalities in time, adjust the delivery strategy, and avoid transcoding losses.
  • the edge clusters of the edge clusters are regularly tested for streaming transcoding tasks. If the edge clusters are found to be back to normal in time, they can be allowed to participate in the transcoding tasks immediately. The entire process does not require manual intervention, and while saving manpower, it can maximize the use of edge clusters and improve resource utilization.
  • Fig. 3 shows a schematic structural diagram of an edge cluster scheduling device provided by an embodiment of the present disclosure. As shown in Figure 3, the device 300 includes:
  • An acquisition module 310 adapted to acquire the transcoding information of the edge cluster
  • the task determination module 320 is adapted to determine transcoding tasks that do not meet the preset transcoding conditions according to the transcoding information
  • the ratio determination module 330 is adapted to determine the failure ratio of the transcoding tasks of the edge cluster according to the transcoding tasks that do not meet the preset transcoding conditions and all the transcoding tasks;
  • the delivery policy module 340 is adapted to determine the delivery policy of the transcoding task of the edge cluster according to the failure rate of the transcoding task of the edge cluster, so as to ensure the normal execution of the transcoding task.
  • the obtaining module 310 is further adapted to:
  • the transcoding information includes the transcoding start time, transcoding completion time, bit rate of the transcoding stream, number of frames of the transcoding stream, and bit rate of the source video stream and/or the number of frames of the source video stream;
  • the task determination module 320 is further adapted to:
  • the transcoding task corresponding to the transcoding information is a transcoding task that does not meet the preset transcoding conditions.
  • the task determination module 320 is further adapted to:
  • the ratio determination module 330 is further adapted to:
  • the failure ratio of the transcoding tasks of the edge cluster within at least one time window is determined.
  • the issuing policy module 340 is further adapted to:
  • transcoding task failure rate of the edge cluster is greater than the first transcoding threshold and less than the second transcoding threshold, adjust the number of transcoding tasks issued by the edge cluster according to the transcoding task failure rate;
  • the delivery of the transcoding task to the edge cluster is suspended.
  • the device also includes: a test module 350, adapted to:
  • the device further includes: a first delivery module 360, adapted to:
  • the first delivery module 360 is further adapted to:
  • the transcoding task is generated according to the source video stream of the anchor, and the edge cluster to be delivered is determined according to the delivery factor of the transcoding task; the delivery factor includes the geographical distance, the failure rate of the transcoding task of the edge cluster, and the transcoding consumption of the edge cluster time and/or resource idleness of the edge cluster.
  • the first delivery module 360 is further adapted to:
  • the transcoding task of the second edge cluster If not, take the first edge cluster as the center origin, and obtain at least one second edge cluster according to the preset range; for at least one second edge cluster, according to the geographical distance from the anchor, the transcoding task of the second edge cluster The failure ratio, the transcoding time consumption of the second edge cluster and/or the resource idleness of the second edge cluster are sorted, and the second edge cluster ranked first is selected as the edge cluster to be delivered.
  • the device further includes: a second delivery module 370, adapted to:
  • the transcoding task will be delivered to the central cluster.
  • the device also includes: a queue module 380, adapted to:
  • the edge cluster According to the received heartbeat information regularly uploaded by at least one edge cluster, add at least one edge cluster in a surviving state to the scheduling queue, so that the edge cluster can be screened to execute the delivered transcoding task.
  • the edge cluster scheduling device by monitoring the transcoding information generated by the edge cluster during the execution of the transcoding task, it can judge whether the transcoding task is qualified in real time. By recording the unqualified transcoding tasks of the edge cluster and calculating the failure ratio of the transcoding tasks of the edge cluster, it is convenient to adjust the corresponding transcoding task distribution strategy in time, so that the transcoding task can be executed normally while doing its best Efforts should be made to develop the utilization rate of edge clusters.
  • the present disclosure also provides a non-volatile computer-readable storage medium.
  • the non-volatile computer-readable storage medium stores at least one executable instruction, and the executable instruction can execute the edge cluster scheduling method in any of the above method embodiments. .
  • Fig. 4 shows a schematic structural diagram of a computing device according to an embodiment of the present disclosure, and the specific embodiment of the present disclosure does not limit the specific implementation of the computing device.
  • the computing device may include: a processor (processor) 402 , a communication interface (Communications Interface) 404 , a memory (memory) 406 , and a communication bus 408 .
  • processor processor
  • Communication interface Communication Interface
  • memory memory
  • the processor 402 , the communication interface 404 , and the memory 406 communicate with each other through the communication bus 408 .
  • the communication interface 404 is used to communicate with network elements of other devices such as clients or other servers.
  • the processor 402 is configured to execute the program 410, and specifically, may execute relevant steps in the foregoing embodiment of the edge cluster scheduling method.
  • the program 410 may include program codes including computer operation instructions.
  • the processor 402 may be a central processing unit CPU, or an ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement the present disclosure.
  • the one or more processors included in the computing device may be of the same type, such as one or more CPUs, or may be different types of processors, such as one or more CPUs and one or more ASICs.
  • the memory 406 is used to store the program 410 .
  • the memory 406 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
  • the program 410 may be specifically configured to enable the processor 402 to execute the edge cluster scheduling method in any of the foregoing method embodiments.
  • each step in the program 410 refer to the corresponding descriptions in the corresponding steps and units in the above-mentioned edge cluster scheduling embodiment, and details are not repeated here.
  • the specific working process of the above-described devices and modules can refer to the corresponding process description in the foregoing method embodiments, and details are not repeated here.
  • modules in the device in the embodiment can be adaptively changed and arranged in one or more devices different from the embodiment.
  • Modules or units or components in the embodiments may be combined into one module or unit or component, and furthermore may be divided into a plurality of sub-modules or sub-units or sub-assemblies.
  • All features disclosed in this specification including accompanying claims, abstract and drawings) and any method or method so disclosed may be used in any combination, except that at least some of such features and/or processes or units are mutually exclusive. All processes or units of equipment are combined.
  • Each feature disclosed in this specification may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
  • the various component embodiments of the present disclosure may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof.
  • a microprocessor or a digital signal processor (DSP) may be used in practice to implement some or all functions of some or all components according to the present disclosure.
  • DSP digital signal processor
  • the present disclosure can also be implemented as an apparatus or apparatus program (eg, computer program and computer program product) for performing a part or all of the methods described herein.
  • Such a program realizing the present disclosure may be stored on a computer-readable medium, or may have the form of one or more signals.
  • Such a signal may be downloaded from an Internet site, or provided on a carrier signal, or provided in any other form.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开公开了一种边缘集群调度方法及装置,方法包括:获取边缘集群的转码信息,根据转码信息,确定不符合预设转码条件的转码任务;根据不符合预设转码条件的转码任务和全部转码任务,确定边缘集群的转码任务失败比率;根据边缘集群的转码任务失败比率确定边缘集群的转码任务的下发策略,以保障转码任务的正常执行。

Description

边缘集群调度方法及装置
相关申请的交叉参考
本申请要求于2022年2月7日提交中国专利局、申请号为2022101165468、名称为“边缘集群调度方法及装置”的中国专利公开的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开涉及互联网技术领域,具体涉及一种边缘集群调度方法及装置。
背景技术
在直播业务中,对视频流进行转码是必不可少的一个环节。通过转码,实现将视频流的格式进行转换,在不影响用户观看画质的情况下降低主播推送的音/视频流的码率,降低用户观看直播时的卡顿率。
转码一般采用中心转码或边缘转码两种方式。其中,边缘集群部署在各个城市边缘,与用户物理距离较近,方便与用户之间的资源传输,降低传输延迟。边缘转码即将主播的音/视频流推送给边缘集群完成,中心转码即将主播的音/视频流推送给中心集群完成。边缘转码与中心转码相比,更具有以下优势:
(1)中心转码存在单点问题,若中心集群本身出现运行问题,导致中心集群的各个转码流均无法观看;
(2)将所有直播的视频流均推送给中心集群进行中心转码造成带宽占用较多,带宽费用成本较高;
(3)所有直播的视频流均由中心集群进行中心转码导致转码任务不能在第一时间完成等。
但边缘转码也存在一定问题,边缘集群的数量较多,目前对边缘集群的管理、调度等大多依赖人工完成,使得边缘集群的转码效率较慢,不能最大力度的利用边缘集群,造成一定的资源浪费,也影响转码任务的快速正常执行。
发明内容
鉴于上述问题,提出了本公开实施例以便提供一种克服上述问题或者至少部分地解决上述问题的边缘集群调度方法及装置。
根据本公开实施例的第一方面,提供了一种边缘集群调度方法,其包括:
获取边缘集群的转码信息;
根据转码信息,确定不符合预设转码条件的转码任务;
根据不符合预设转码条件的转码任务和全部转码任务,确定边缘集群的转码任务失败比率;
根据边缘集群的转码任务失败比率确定边缘集群的转码任务的下发策略,以保障转码任务的正常执行。
可选地,获取边缘集群的转码信息进一步包括:
监控获取执行转码任务的边缘集群定时上传的转码信息;转码信息包括转码开始时间、转码完成时间、转码流的码率、转码流的帧数、源视频流的码率和/或源视频流的帧数;
根据转码信息,确定不符合预设转码条件的转码任务进一步包括:
判断转码信息是否符合预设转码条件;
若否,确定转码信息对应的转码任务为不符合预设转码条件的转码任务。
可选地,判断所述转码信息是否符合预设转码条件进一步包括:
根据转码信息确定得到转码耗时和/或转码流的抖动率与源视频流的抖动率比值;
判断转码耗时是否大于预设转码时长,和/或,转码流的抖动率与源视频流的抖动率比值是否大于预设抖动阈值;
若是,则判断边缘集群的转码信息不符合预设转码条件。
可选地,根据不符合预设转码条件的转码任务和全部转码任务,确定边缘集群的转码任务失败比率进一步包括:
统计至少一个时间窗口内边缘集群的不符合预设转码条件的转码任务数量以及边缘集群的全部转码任务总数;
根据边缘集群的不符合预设转码条件的转码任务数量以及边缘集群的全部转码任务总数确定至少一个时间窗口内边缘集群的转码任务失败比率。
可选地,根据边缘集群的转码任务失败比率确定边缘集群的转码任务的下发策略,以保障转码任务的正常执行进一步包括:
若边缘集群的转码任务失败比率大于第一转码阈值,小于第二转码阈值,则根据转码任务失败比率调整边缘集群的转码任务下发数量;
和/或,
若边缘集群的转码任务失败比率大于第二转码阈值,暂停对边缘集群下发转码任务。
可选地,在暂停对边缘集群下发转码任务之后,该方法还包括:
定时下发测试流转码任务给边缘集群;
拉取得到边缘集群转码后的测试转码流,并根据测试转码流判断边缘集群产生的转码信息是否符合预设转码条件;
若是,恢复对边缘集群下发转码任务。
可选地,该方法还包括:
根据主播的源视频流生成转码任务,并确定转码任务待下发的边缘集群;
将转码任务下发给边缘集群,以供边缘集群根据转码任务对源视频流进行转码。
可选地,根据主播的源视频流生成转码任务,并确定转码任务待下发的边缘集群进一步包括:
根据主播的源视频流生成转码任务,按照转码任务的下发因子确定待下发的边缘集群;下发因子包括地理位置距离、边缘集群的转码任务失败比率、边缘集群的转码耗时和/或边缘集群的资源空闲量。
可选地,根据主播的源视频流生成转码任务,按照转码任务的下发因子确定待下发的边缘集群进一步包括:
根据主播的源视频流生成转码任务;
根据与主播的地理位置距离,确定转码任务的第一边缘集群;
判断第一边缘集群的转码任务下发数量是否未达到;
若是,则将第一边缘集群作为待下发边缘集群;
若否,则以第一边缘集群为中心原点,按照预设范围筛选得到至少一个第二边缘集群;对至少一个第二边缘集群按照与主播的地理位置距离远近、第二边缘集群的转码任务失败比率、第二边缘集群的转码耗时和/或第二边缘集群的资源空闲量进行排序,筛选排序在先的第二边缘集群作为待下发边缘集群。
可选地,该方法还包括:
若在预设范围内未筛选得到第二边缘集群,则将转码任务下发给中心集群。
可选地,该方法还包括:
根据接收到的至少一个边缘集群定时上传的心跳信息,将处于存活状态的至少一个边缘集群添加至调度队列,以供筛选边缘集群执行下发的转码任务。
可选地,该方法由服务端创建的调度服务执行。
根据本公开实施例的第二方面,提供了一种边缘集群调度装置,其包括:
获取模块,适于获取边缘集群的转码信息;
任务确定模块,适于根据转码信息,确定不符合预设转码条件的转码任务;
比率确定模块,适于确定边缘集群的转码任务失败比率;
下发策略模块,适于根据边缘集群的转码任务失败比率确定边缘集群的转码任务的下发策略,以保障转码任务的正常执行。
根据本公开实施例的第三方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述边缘集群调度方法对应的操作。
根据本公开实施例的第四方面,提供了一种非易失性计算机可读存储介质,该非易失性计算机可读存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述边缘集群调度方法对应的操作。
根据本公开实施例的第五方面,提供了一种计算机程序产品,该计算机程序产品包括存储在上述非易失性计算机可读存储介质上的计算程序。
根据本公开的提供的边缘集群调度方法及装置,获取边缘集群的转码信息,可以实时确定不符合预设转码条件的转码任务,从而根据不符合预设转码条件的转码任务和全部转码任务,确定边缘集群的转码任务失败比率,便于及时调整对应的转码任务下发策略,使得在保障转码任务可以正常被执行的同时,也尽最大力度开发边缘集群的利用率。
上述说明仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。
附图概述
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本公开的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本公开一个实施例的边缘集群调度方法的流程图;
图2示出了根据本公开另一个实施例的边缘集群调度方法的流程图;
图3示出了根据本公开一个实施例的边缘集群调度装置的结构示意图;
图4示出了根据本公开一个实施例的一种计算设备的结构示意图。
本公开的较佳实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先,对本公开一个或多个实施例涉及的名词术语进行解释。
转码:视频转码技术将视频信号从一种格式转换成另一种格式。
边缘节点:用户侧服务器,部署在各个城市边缘。与用户物理距离较近,传输延迟较低。
边缘转码:在主播直接推送到的边缘集群的节点上进行转码。
测试流转码任务:非主播推流产生的转码任务,用于测试边缘集群是否运行正常。
上行调度:主播点击开播时,服务器会根据主播的信息,为其调度选择一个推流节点给主播。
图1示出了根据本公开一实施例的边缘集群调度方法的流程图,如图1所示,该方法包括如下步骤:
步骤101,获取边缘集群的转码信息。
边缘转码即由边缘集群完成对主播直播所产生的源视频流的转码处理,虽然避免了中心转码的单点问题,但边缘集群的数量过多,其出现问题的几率会增加。而现有边缘转码方式在边缘集群自身出现运行问题后,还需要依赖人工操作对边缘集群进行上线下线处理,不能及时调整对边缘集群的调度,无法及时应对转码任务的正常执行,也增加了人力成本的消耗。
本公开实施例在边缘集群执行转码任务时,实时地监控边缘集群,获取 边缘集群在转码过程中产生的转码信息。转码信息包括如转码耗时、生成的转码流的各种参数信息等可以表征转码任务执行情况的转码信息,预设转码条件可以从如转码消耗时长、得到的转码流的质量等不同方面设置对应的预设转码条件,此处不做限定。
步骤S102,根据转码信息,确定不符合预设转码条件的转码任务。
具体地,预设转码条件可以预先设置,根据实施情况设置不同的预设转码条件,符合预设转码条件的转码任务如正常执行的转码任务、转码质量良好的转码任务等,此处不做限定。
将获取的转码信息与预设转码条件进行比较,判断转码任务是否符合预设转码条件,从中确定不符合预设转码条件的转码任务。对于符合预设转码条件的转码任务,即边缘集群可以正常完成转码任务,后续可以继续接收主播在直播时产生的源视频流,执行对应的转码任务,无需对其进行处理。对于不符合预设转码条件的转码任务,需要及时关注其边缘集群可能存在的问题,以便及时应对发生问题的边缘集群,调整调度策略。
步骤S103,根据不符合预设转码条件的转码任务和全部转码任务,确定边缘集群的转码任务失败比率。
当根据转码信息确定存在不符合预设转码条件的转码任务,说明边缘集群转码得到的转码流可能存在如转码耗时较长、转码流观看质量较差等问题。当边缘集群的转码任务为不符合预设转码条件的转码任务时,需要及时地对边缘集群的运行情况进行统计,以便调整后续的下发策略,保障转码任务的正常执行,以提供给用户较佳的观看体验。
具体地,可以根据不符合预设转码条件的转码任务和全部转码任务,来计算该边缘集群的转码任务失败比率,如根据该边缘集群执行的不符合预设转码条件的转码任务数量和执行的全部转码任务的总数,计算得到边缘集群的转码任务失败比率。
步骤S104,根据边缘集群的转码任务失败比率确定边缘集群的转码任务的下发策略,以保障转码任务的正常执行。
根据计算得到的边缘集群的转码任务失败比率,及时地调整对该边缘集群的转码任务的下发策略,如边缘集群的转码任务失败比率较高时,减少或暂停向该边缘集群下发转码任务,以避免再产生不符合预设转码条件的转码任务,保障提供给用户良好观看体验的转码流,使下发的转码任务可以正常快速地被执行。若边缘集群的转码任务失败比率较低,可以继续执行下发的转码任务,最大力度地使用该边缘集群,保障提供的用户的转码流传输延迟 率较低,用户观看卡顿度低等优势。
根据本公开提供的边缘集群调度方法,通过边缘集群的转码信息,可以实时确定出不符合预设转码条件的转码任务,进而根据不符合预设转码条件的转码任务和全部转码任务,计算边缘集群的转码任务失败比率,便于及时调整对应的转码任务下发策略,使得在保障转码任务可以正常被执行的同时,也尽最大力度开发边缘集群的利用率。
图2示出了根据本公开一实施例的边缘集群调度方法的流程图,如图2所示,该方法包括以下步骤:
步骤S201,根据主播的源视频流生成转码任务,并确定转码任务待下发的边缘集群。
本公开实施例可以在服务端执行,如在服务端创建调度服务,由调度服务来执行各步骤。调度服务可以为进程或线程等,不影响服务器其它服务的执行。
主播开始直播时,会相应的产生源视频流,调度服务对其进行上行调度,根据主播直播所产生的源视频流生成对应的转码任务,按照转码任务的下发因子先确定待下发的边缘集群。下发因子包括如地理位置距离、边缘集群的转码任务失败比率、边缘集群的转码耗时、边缘集群的资源空闲量等。
具体地,在生成转码任务后,可以先根据与主播的地理位置距离,确定转码任务的第一边缘集群,即基于距离优先原则,降低传输延迟,可以快速接收到主播直播产生的源视频流。在确定第一边缘集群后,还需要进一步判断第一边缘集群的转码任务下发数量是否未达到。转码任务下发数量与边缘集群的正常运行状态、转码任务失败比率等相关,如第一边缘集群为正常运行状态,其转码任务失败比率为0,则其转码任务下发数量可以根据第一边缘集群的处理能力设置为最高值,或者设置为无穷大;如第一边缘集群为非正常运行状态(宕机、网络故障等非存活状态),则其转码任务下发数量设置为0;如第一边缘集群为正常运行状态,其转码任务失败比率较高,则其转码任务下发数量会相应下调,如2个,避免其执行过多转码任务产生多个不符合预设转码条件的转码任务等。判断其转码任务下发数量是否未达到时,如当前转码任务下发数量大于0,则说明转码任务下发数量未达到,将第一边缘集群作为待下发边缘集群。如当前转码任务下发数量为0,说明转码任务下发数量已达到第一边缘集群不能在被下发转码任务,需要重新确定待下发边缘集群。此处,转码任务下发数量根据第一边缘集群已执行的转码任务数量依次减少,第一边缘集群每执行完成一个转码任务,转码任务下发 数量减一;或者,转码任务下发数量不变,根据第一边缘集群已执行的转码任务数量与转码任务下发数量进行比较,判断已执行的转码任务数量是否等于转码任务下发数量,若是,则达到转码任务下发数量;若否,则未达到转码任务下发数量。具体实施根据实施情况设置,此处不做限定。
当判断转码任务下发数量达到时,需要重新确定待下发边缘集群,可以基于第一边缘集群,以第一边缘集群为中心原点,按照预设范围筛选得到至少一个第二边缘集群。预设范围根据实施情况设置具体的距离大小,此处不做限定。在筛选得到位于预设范围内的至少一个第二边缘集群后,对至少一个第二边缘集群进行排序,可以按照与主播的地理位置距离远近、第二边缘集群的转码任务失败比率、第二边缘集群的转码耗时、第二边缘集群的资源空闲量等进行排序,筛选排序在先的第二边缘集群作为待下发边缘集群。筛选与主播的地理位置距离较近的第二边缘集群,可以降低传输延迟;筛选转码任务失败比率较低的第二边缘集群,可以保障转码任务的正常执行;筛选转码耗时低的第二边缘集群,可以快速执行完成转码任务;筛选资源空闲量高(如带宽剩余量高)的第二边缘集群,可以快速执行完成转码任务等。在排序时,可以对不同条件设置不同权重,基于不同权重不同条件计算优先级,遍历优先级高低进行排序,筛选排序在先的第二边缘集群,可以得到成本收益最优化的边缘集群来执行转码任务。
进一步地,若在预设范围内未筛选得到第二边缘集群,可以将转码任务直接下发给中心集群,由中心集群来完成转码任务,以避免多次查找待下发边缘集群花费过多时间成本等。
进一步地,在筛选边缘集群时,考虑到边缘集群可能存在的宕机、网络状况不佳等状况,如边缘集群在执行一个转码任务后发生宕机问题,若继续向该边缘集群下发后续的转码任务,会导致转码任务无法及时完成。因此,本公开实施例还需要筛选处于存活状态的边缘集群,来执行下发的转码任务,保障转码任务可以正常执行。具体地,调度服务还会接收至少一个边缘集群定时上传的心跳信息,根据接收到的至少一个边缘集群定时上传的心跳信息,可以确定该边缘集群处于存活状态,未上传心跳信息的边缘集群则当前处于非存活状态。将处于存活状态的至少一个边缘集群添加至调度队列中,以供从调度队列中筛选处于存活状态的边缘集群执行下发的转码任务。
步骤S202,将转码任务下发给边缘集群,以供边缘集群根据转码任务对源视频流进行转码。
在确定待下发的边缘集群后,将转码任务下发给边缘集群。具体地,记 录该转码任务由该边缘集群执行,同时,可以记录如转码任务下发时间等。对应的,主播产生的源视频流会直接推送给边缘集群,由边缘集群对源视频流进行转码。
步骤S203,监控获取执行转码任务的边缘集群的转码信息,判断边缘集群的转码信息是否符合预设转码条件。
在边缘集群转码过程中,调度服务监控获取执行转码任务的边缘集群定时上传的在转码过程中所产生的转码信息,转码信息包括如转码开始时间、转码完成时间、转码流的码率、转码流的帧数、源视频流的码率、源视频流的帧数等。根据转码信息,如转码开始时间、转码完成时间可以计算得到边缘集群执行转码任务所花费的转码耗时;根据转码流的码率、转码流的帧数、源视频流的码率、源视频流的帧数可以分别计算得到转码流的抖动率与源视频流的抖动率,进而计算得到转码流的抖动率与源视频流的抖动率比值等。判断转码耗时是否大于预设转码时长,预设时长如30s,可以根据具体实施情况设置。判断若转码耗时大于预设转码时长,则说明边缘集群执行转码任务所花费的时间较长,影响转码任务执行效率,则判断边缘集群的转码信息不符合预设转码条件;或者,判断转码流的抖动率与源视频流的抖动率比值是否大于预设抖动阈值,预设抖动阈值设置为如大于1或者更高的数值,具体可以根据实施情况设置,若判断转码流的抖动率与源视频流的抖动率比值大于预设抖动阈值,则说明转码任务生成的转码流的抖动率已经远大于源视频流的抖动率,生成的转码流影响用户观看体验,则判断边缘集群的转码信息不符合预设转码条件;或者,可以综合以上两种判断,当两种判断结果均为是时,判断边缘集群的转码信息不符合预设转码条件。以上为举例说明,具体根据实施情况设置,此处不做限定。
步骤S204,根据不符合预设转码条件的转码任务和全部转码任务,确定边缘集群的转码任务失败比率。
当判断边缘集群的转码信息不符合预设转码条件,调度服务记录边缘集群的转码任务为不符合预设转码条件的转码任务,具体可以如由调度服务为每一个边缘集群设置一个转码任务记录,统计每一个边缘集群在至少一个时间窗口内的不符合预设转码条件的转码任务数量以及该边缘集群的全部转码任务总数,根据边缘集群的不符合预设转码条件的转码任务数量以及边缘集群的全部转码任务总数计算得到至少一个时间窗口内边缘集群的转码任务失败比率。如一个时间窗口内边缘集群的转码任务失败比率=一个时间窗口内的不符合预设转码条件的转码任务数量/一个时间窗口内的边缘集群的全部转码任务总数。一个时间窗口单位可以为1分钟,也可以根据实施情况 设置,此处不做限定。基于一个时间窗口来计算边缘集群的转码任务失败比率,可以按照时间窗口及时更新边缘集群执行转码任务的情况,便于及时调整下发策略,应对边缘集群可能出现的各种问题,最大力度使用边缘集群同时,保障转码任务正常执行。
步骤S205,根据边缘集群的转码任务失败比率确定边缘集群的转码任务的下发策略,以保障转码任务的正常。
根据边缘集群的转码任务失败比率,可以预先设置不同的下发策略,具体地,若边缘集群的转码任务失败比率大于第一转码阈值,小于第二转码阈值,第二转码阈值大于第一转码阈值,如第一转码阈值为20%,第二转码阈值为40%,当边缘集群的转码任务失败比率大于20%,小于40%时,根据转码任务失败比率调整边缘集群的转码任务下发数量,考虑到边缘集群可能存在故障,及时调整下发转码任务,防止损失过大,如将转码任务下发数量调整为边缘集群转码任务的不符合预设转码条件的转码任务数量的一半。或者,若边缘集群的转码任务失败比率大于第二转码阈值,如边缘集群的转码任务失败比率大于40%,可以确认边缘集群确定存在异常,暂停对边缘集群下发转码任务,对边缘集群进行熔断。
进一步地,当边缘集群存在异常故障后,大多采用人工运维操作上下线,服务器无法及时获知边缘集群是否恢复正常,还需要人工通知边缘集群是否恢复正常,无法保障人工通知的实时性,导致恢复正常的边缘集群不能及时向其下发转码任务,边缘集群的资源空闲。本公开实施例中,当边缘集群熔断后,由调度服务定时下发测试流转码任务给边缘集群,保持对边缘集群的实时监控。测试流转码任务是发送测试视频流给边缘集群,由边缘集群对测试视频流进行转码,拉取得到边缘集群转码后的测试转码流,根据测试转码流判断边缘集群产生的转码信息是否符合预设转码条件,若是,说明边缘集群已经恢复,可以正常执行转码任务,则重新将其添加至调度队列中,恢复对边缘集群下发转码任务。通过测试流转码任务可以快速及时地确定边缘集群是否恢复正常,且无需人工干预,调度服务可以及时获知边缘集群的运行状态,将正常运行处于存活状态的边缘集群加入调度队列中,对其进行调度,下发转码任务,避免某边缘集群正常运行却处于空闲状态,保障资源最大力度发挥其利用价值。
根据本公开提供的边缘集群调度方法,通过下发因子筛选出与转码任务最匹配的边缘集群,为其下发转码任务,保障转码任务质量的同时,也保障降低传输延迟,以降低转换成本提高转换收益。通过监控获取执行转码任务的边缘集群的转码信息,能够及时发现可能存在异常的边缘集群,调整下发 策略,避免造成转码损失,对于确定存在异常的边缘集群及时进行熔断,对熔断后的边缘集群进行定时测试流转码任务尝试,及时发现边缘集群恢复正常,可以立刻让其参与至转码任务中。整个过程无需人工干涉,在节省人力的同时能够最大力度的利用边缘集群,提高资源利用率。
图3示出了本公开一实施例提供的边缘集群调度装置的结构示意图。如图3所示,该装置300包括:
获取模块310,适于获取边缘集群的转码信息;
任务确定模块320,适于根据转码信息,确定不符合预设转码条件的转码任务;
比率确定模块330,适于根据不符合预设转码条件的转码任务和全部转码任务,确定边缘集群的转码任务失败比率;
下发策略模块340,适于根据边缘集群的转码任务失败比率确定边缘集群的转码任务的下发策略,以保障转码任务的正常执行。
可选地,获取模块310进一步适于:
监控获取执行转码任务的边缘集群定时上传的转码信息;转码信息包括转码开始时间、转码完成时间、转码流的码率、转码流的帧数、源视频流的码率和/或源视频流的帧数;
任务确定模块320进一步适于:
判断转码信息是否符合预设转码条件;
若否,确定转码信息对应的转码任务为不符合预设转码条件的转码任务。
可选地,任务确定模块320进一步适于:
根据转码信息确定得到转码耗时和/或转码流的抖动率与源视频流的抖动率比值;
判断转码耗时是否大于预设转码时长,和/或,转码流的抖动率与源视频流的抖动率比值是否大于预设抖动阈值;
若是,则判断边缘集群的转码信息不符合预设转码条件。
可选地,比率确定模块330进一步适于:
统计至少一个时间窗口内边缘集群的不符合预设转码条件的转码任务数量以及边缘集群的全部转码任务总数;
根据边缘集群的不符合预设转码条件的转码任务数量以及边缘集群的 全部转码任务总数确定得到至少一个时间窗口内边缘集群的转码任务失败比率。
可选地,下发策略模块340进一步适于:
若边缘集群的转码任务失败比率大于第一转码阈值,小于第二转码阈值,则根据转码任务失败比率调整边缘集群的转码任务下发数量;
和/或,
若边缘集群的转码任务失败比率大于第二转码阈值,暂停对边缘集群下发转码任务。
可选地,装置还包括:测试模块350,适于:
定时下发测试流转码任务给边缘集群;
拉取得到边缘集群转码后的测试转码流,并根据测试转码流判断边缘集群产生的转码信息是否符合预设转码条件;
若是,恢复对边缘集群下发转码任务。
可选地,装置还包括:第一下发模块360,适于:
根据主播的源视频流生成转码任务,并确定转码任务待下发的边缘集群;
将转码任务下发给边缘集群,以供边缘集群根据转码任务对源视频流进行转码。
可选地,第一下发模块360进一步适于:
根据主播的源视频流生成转码任务,按照转码任务的下发因子确定待下发的边缘集群;下发因子包括地理位置距离、边缘集群的转码任务失败比率、边缘集群的转码耗时和/或边缘集群的资源空闲量。
可选地,第一下发模块360进一步适于:
根据主播的源视频流生成转码任务;
根据与主播的地理位置距离,确定转码任务的第一边缘集群;
判断第一边缘集群的转码任务下发数量是否未达到;
若是,则将第一边缘集群作为待下发边缘集群;
若否,则以第一边缘集群为中心原点,按照预设范围筛选得到至少一个第二边缘集群;对至少一个第二边缘集群按照与主播的地理位置距离远近、第二边缘集群的转码任务失败比率、第二边缘集群的转码耗时和/或第二边缘 集群的资源空闲量进行排序,筛选排序在先的第二边缘集群作为待下发边缘集群。
可选地,该装置还包括:第二下发模块370,适于:
若在预设范围内未筛选得到第二边缘集群,则将转码任务下发给中心集群。
可选地,该装置还包括:队列模块380,适于:
根据接收到的至少一个边缘集群定时上传的心跳信息,将处于存活状态的至少一个边缘集群添加至调度队列,以供筛选边缘集群执行下发的转码任务。
可选地,由服务端创建的调度服务执行。
以上各模块的描述参照方法实施例中对应的描述,在此不再赘述。
根据本公开提供的边缘集群调度装置,通过监控边缘集群在执行转码任务过程中产生的转码信息,可以实时判断转码任务是否合格。通过记录边缘集群的转码任务不合格情况,计算边缘集群的转码任务失败比率,便于及时调整对应的转码任务下发策略,使得在保障转码任务可以正常被执行的同时,也尽最大力度开发边缘集群的利用率。
本公开还提供了一种非易失性计算机可读存储介质,非易失性计算机可读存储介质存储有至少一可执行指令,可执行指令可执行上述任意方法实施例中的边缘集群调度方法。
图4示出了根据本公开一实施例的一种计算设备的结构示意图,本公开的具体实施例并不对计算设备的具体实现做限定。
如图4所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述边缘集群调度方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC (Application Specific Integrated Circuit),或者是被配置成实施本公开的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行上述任意方法实施例中的边缘集群调度方法。程序410中各步骤的具体实现可以参见上述边缘集群调度实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本公开也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的内容,并且上面对特定语言所做的描述是为了披露本公开的较佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴 随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本公开的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本公开的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本公开的一些或者全部部件的一些或者全部功能。本公开还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本公开的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本公开进行说明而不是对本公开进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。

Claims (16)

  1. 一种边缘集群调度方法,其包括:
    获取边缘集群的转码信息;
    根据所述转码信息,确定不符合预设转码条件的转码任务;
    根据所述不符合预设转码条件的转码任务和全部转码任务,确定所述边缘集群的转码任务失败比率;
    根据所述边缘集群的转码任务失败比率确定所述边缘集群的转码任务的下发策略,以保障转码任务的正常执行。
  2. 根据权利要求1所述的方法,其中,所述获取边缘集群的转码信息进一步包括:
    监控获取执行转码任务的边缘集群定时上传的转码信息;所述转码信息包括转码开始时间、转码完成时间、转码流的码率、转码流的帧数、源视频流的码率和/或源视频流的帧数;
    所述根据所述转码信息,确定不符合预设转码条件的转码任务进一步包括:
    判断所述转码信息是否符合预设转码条件;
    若否,确定所述转码信息对应的转码任务为不符合预设转码条件的转码任务。
  3. 根据权利要求2所述的方法,其中,所述判断所述转码信息是否符合预设转码条件进一步包括:
    根据所述转码信息确定得到转码耗时和/或转码流的抖动率与所述源视频流的抖动率比值;
    判断所述转码耗时是否大于预设转码时长,和/或,所述转码流的抖动率与所述源视频流的抖动率比值是否大于预设抖动阈值;
    若是,则判断所述边缘集群的转码信息不符合预设转码条件。
  4. 根据权利要求1所述的方法,其中,所述根据所述不符合预设转码条件的转码任务和全部转码任务,确定所述边缘集群的转码任务失败比率进一步包括:
    统计至少一个时间窗口内所述边缘集群的不符合预设转码条件的转码任务数量以及所述边缘集群的全部转码任务总数;
    根据所述边缘集群的不符合预设转码条件的转码任务数量以及所述边 缘集群的全部转码任务总数确定至少一个时间窗口内所述边缘集群的转码任务失败比率。
  5. 根据权利要求1所述的方法,其中,所述根据所述边缘集群的转码任务失败比率确定所述边缘集群的转码任务的下发策略,以保障转码任务的正常执行进一步包括:
    若所述边缘集群的转码任务失败比率大于第一转码阈值,小于第二转码阈值,则根据所述转码任务失败比率调整所述边缘集群的转码任务下发数量;
    和/或,
    若所述边缘集群的转码任务失败比率大于第二转码阈值,暂停对所述边缘集群下发转码任务。
  6. 根据权利要求5所述的方法,其中,在所述暂停对所述边缘集群下发转码任务之后,所述方法还包括:
    定时下发测试流转码任务给所述边缘集群;
    拉取得到所述边缘集群转码后的测试转码流,并根据所述测试转码流判断所述边缘集群产生的转码信息是否符合预设转码条件;
    若是,恢复对所述边缘集群下发转码任务。
  7. 根据权利要求1-6中任一项所述的方法,其中,所述方法还包括:
    根据主播的源视频流生成转码任务,并确定所述转码任务待下发的边缘集群;
    将所述转码任务下发给所述边缘集群,以供所述边缘集群根据所述转码任务对所述源视频流进行转码。
  8. 根据权利要求7所述的方法,其中,所述根据主播的源视频流生成转码任务,并确定所述转码任务待下发的边缘集群进一步包括:
    根据主播的源视频流生成转码任务,按照转码任务的下发因子确定待下发的边缘集群;所述下发因子包括地理位置距离、边缘集群的转码任务失败比率、边缘集群的转码耗时和/或边缘集群的资源空闲量。
  9. 根据权利要求8所述的方法,其中,所述根据主播的源视频流生成转码任务,按照转码任务的下发因子确定待下发的边缘集群进一步包括:
    根据主播的源视频流生成转码任务;
    根据与主播的地理位置距离,确定所述转码任务的第一边缘集群;
    判断所述第一边缘集群的转码任务下发数量是否未达到;
    若是,则将所述第一边缘集群作为待下发边缘集群;
    若否,则以所述第一边缘集群为中心原点,按照预设范围筛选得到至少一个第二边缘集群;对所述至少一个第二边缘集群按照与所述主播的地理位置距离远近、第二边缘集群的转码任务失败比率、第二边缘集群的转码耗时和/或第二边缘集群的资源空闲量进行排序,筛选排序在先的第二边缘集群作为待下发边缘集群。
  10. 根据权利要求9所述的方法,其中,所述方法还包括:
    若在预设范围内未筛选得到第二边缘集群,则将所述转码任务下发给中心集群。
  11. 根据权利要求1-10中任一项所述的方法,其中,所述方法还包括:
    根据接收到的至少一个边缘集群定时上传的心跳信息,将处于存活状态的所述至少一个边缘集群添加至调度队列,以供筛选边缘集群执行下发的转码任务。
  12. 根据权利要求1-11中任一项所述的方法,其中,所述方法由服务端创建的调度服务执行。
  13. 一种边缘集群调度装置,其包括:
    获取模块,适于获取边缘集群的转码信息;
    任务确定模块,适于根据所述转码信息,确定不符合预设转码条件的转码任务;
    比率确定模块,适于根据所述不符合预设转码条件的转码任务和全部转码任务,确定所述边缘集群的转码任务失败比率;
    下发策略模块,适于根据所述边缘集群的转码任务失败比率确定所述边缘集群的转码任务的下发策略,以保障转码任务的正常执行。
  14. 一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
    所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-12中任一项所述的边缘集群调度方法对应的操作。
  15. 一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求 1-12中任一项所述的边缘集群调度方法对应的操作。
  16. 一种计算机程序产品,该计算机程序产品包括存储在非易失性计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被处理器执行时,使该处理器执行如权利要求1-12任一所述的边缘集群调度方法对应的操作。
PCT/CN2022/143875 2022-02-07 2022-12-30 边缘集群调度方法及装置 WO2023147750A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210116546.8 2022-02-07
CN202210116546.8A CN114679592A (zh) 2022-02-07 2022-02-07 边缘集群调度方法及装置

Publications (1)

Publication Number Publication Date
WO2023147750A1 true WO2023147750A1 (zh) 2023-08-10

Family

ID=82072901

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/143875 WO2023147750A1 (zh) 2022-02-07 2022-12-30 边缘集群调度方法及装置

Country Status (2)

Country Link
CN (1) CN114679592A (zh)
WO (1) WO2023147750A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117155930A (zh) * 2023-11-01 2023-12-01 腾讯科技(深圳)有限公司 分布式系统的节点确定方法、任务处理方法及相关装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114679592A (zh) * 2022-02-07 2022-06-28 上海哔哩哔哩科技有限公司 边缘集群调度方法及装置
US12052447B1 (en) * 2022-06-27 2024-07-30 Amazon Technologies, Inc. Dynamically moving transcoding of content between servers
CN115174948B (zh) * 2022-06-30 2023-12-15 上海哔哩哔哩科技有限公司 基于转码资源的调度方法及装置
CN115499671B (zh) * 2022-09-20 2024-02-06 上海哔哩哔哩科技有限公司 直播推流服务滚动发布方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040146111A1 (en) * 2002-11-05 2004-07-29 Stmicroelectronics Sa Systems for transcoding sub-picture data and methods of operating the same
WO2009119721A1 (ja) * 2008-03-26 2009-10-01 日本電気株式会社 映像トランスコーダ監視装置、その方法及びその監視プログラム
CN101888542A (zh) * 2010-06-11 2010-11-17 北京数码视讯科技股份有限公司 视频转码的帧级码率控制方法及转码器
CN105516347A (zh) * 2015-12-31 2016-04-20 浙江大华系统工程有限公司 一种流媒体服务器的负载均衡调配的方法及装置
CN106850747A (zh) * 2016-12-23 2017-06-13 上海网达软件股份有限公司 一种分布式实时转码系统的转码节点管理系统及方法
CN111176848A (zh) * 2019-12-31 2020-05-19 北大方正集团有限公司 集群任务的处理方法、装置、设备和存储介质
CN114679592A (zh) * 2022-02-07 2022-06-28 上海哔哩哔哩科技有限公司 边缘集群调度方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9184884B2 (en) * 2012-05-18 2015-11-10 Futurewei Technologies, Inc. System and method for cloud-based live media ingestion and transcoding
CN110062262B (zh) * 2019-04-12 2022-05-03 北京字节跳动网络技术有限公司 视频数据的转码控制方法、装置、电子设备和存储介质
CN111432236A (zh) * 2020-03-20 2020-07-17 北京百度网讯科技有限公司 用于输出信息的方法和装置
CN111629233B (zh) * 2020-05-29 2022-03-25 北京华夏电通科技股份有限公司 音视频转码方法及装置
CN111901631B (zh) * 2020-07-30 2023-02-17 有半岛(北京)信息科技有限公司 一种直播视频的转码方法、装置、服务器和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040146111A1 (en) * 2002-11-05 2004-07-29 Stmicroelectronics Sa Systems for transcoding sub-picture data and methods of operating the same
WO2009119721A1 (ja) * 2008-03-26 2009-10-01 日本電気株式会社 映像トランスコーダ監視装置、その方法及びその監視プログラム
CN101888542A (zh) * 2010-06-11 2010-11-17 北京数码视讯科技股份有限公司 视频转码的帧级码率控制方法及转码器
CN105516347A (zh) * 2015-12-31 2016-04-20 浙江大华系统工程有限公司 一种流媒体服务器的负载均衡调配的方法及装置
CN106850747A (zh) * 2016-12-23 2017-06-13 上海网达软件股份有限公司 一种分布式实时转码系统的转码节点管理系统及方法
CN111176848A (zh) * 2019-12-31 2020-05-19 北大方正集团有限公司 集群任务的处理方法、装置、设备和存储介质
CN114679592A (zh) * 2022-02-07 2022-06-28 上海哔哩哔哩科技有限公司 边缘集群调度方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117155930A (zh) * 2023-11-01 2023-12-01 腾讯科技(深圳)有限公司 分布式系统的节点确定方法、任务处理方法及相关装置
CN117155930B (zh) * 2023-11-01 2024-02-06 腾讯科技(深圳)有限公司 分布式系统的节点确定方法、任务处理方法及相关装置

Also Published As

Publication number Publication date
CN114679592A (zh) 2022-06-28

Similar Documents

Publication Publication Date Title
WO2023147750A1 (zh) 边缘集群调度方法及装置
US11362961B2 (en) Service processing method and system and device
CN109194984B (zh) 一种基于边缘计算的视频帧调度方法
CN110769278B (zh) 一种分布式视频转码方法及系统
CN104394486B (zh) 一种基于云桌面的视频流处理方法及装置
US8271646B2 (en) Network scoring system and method
US9215268B1 (en) System and method for selection and switching of content sources for a streaming content session
EP3447970B1 (en) Live broadcast system in peer-to-peer network and node management method
Reddy et al. Qos-Aware Video Streaming Based Admission Control And Scheduling For Video Transcoding In Cloud Computing
US20100049864A1 (en) Multimedia broadcast system and method
US9553909B2 (en) System and method for assignment and switching of content sources for a streaming content session
CN102438181A (zh) 在iptv系统内调整心跳消息发送时间的方法及系统
US7983166B2 (en) System and method of delivering video content
CN112543354B (zh) 业务感知的分布式视频集群高效伸缩方法和系统
CN113438129B (zh) 数据采集方法及装置
US20180109819A1 (en) Method and Device for Network-Assisted Client-Centric QoE Optimization
CN114071168A (zh) 混流直播流调度方法及装置
CN113630438A (zh) 流处理任务调度方法和分布式流处理系统
Farahani et al. CSDN: CDN-aware QoE optimization in SDN-assisted HTTP adaptive video streaming
WO2014015665A1 (zh) 数据处理方法、装置和系统
EP3691261A1 (en) Method and device for locating video service fault, and storage medium
WO2020244283A1 (zh) 一种视频业务处理方法、系统及装置
CN114679589B (zh) 直播混流服务动态调整方法及装置
CN114845141A (zh) 边缘转码方法及装置
CN106789699B (zh) 一种分布式在线流处理服务系统

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE