Live streaming transmission fault processing method and device based on edge computing and medium
By using edge computing to analyze and process live streaming transmission faults in real time, the problems of slow response speed and insufficient fault tolerance of centralized processing methods are solved, achieving rapid fault response and improved stability.
Patent Information
- Application Number
- CN202511023382.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-23
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2045-07-23
AI Technical Summary
In the live streaming industry, sudden failures such as network problems and streaming server hardware failures are unavoidable, which affect the smoothness of live streaming and user experience. Centralized server processing methods have slow response speeds and are susceptible to failures in the central data center.
The live streaming transmission fault handling method adopts edge computing. It collects indicator data in real time in the edge data center for fault analysis, identifies the target machine based on load information, network quality and service status information, reduces the data transmission time of indicator data, improves response speed, and independently completes fault handling when the central data center fails.
It improved fault response speed, reduced the chain reaction caused by central computer room failures, enhanced the fault tolerance of the live streaming system, and improved the smoothness, stability and user experience of the live stream.
Smart Images

Figure CN120529103B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of edge computing, in particular, to an edge computing-based live streaming failure processing method and device and medium. BACKGROUND
[0002] In the live streaming field of the live streaming industry, various sudden failures (such as network problems and / or streaming server hardware failures, etc.) are difficult to avoid, which seriously affects the viewing fluency and user experience of live streaming.
[0003] In order to monitor and handle various sudden failures in a timely manner, in related technologies, the centralized server or data center is generally used to complete the failure monitoring and handling, but this processing method has the problem of slow response speed. SUMMARY
[0004] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the DETAILED DESCRIPTION. This summary is not intended to identify key features or essential features of the claimed technology, nor is it intended to be used to limit the scope of the claimed technology.
[0005] In a first aspect, the present disclosure provides an edge computing-based live streaming failure processing method applied to an edge machine room, wherein the edge machine room includes machines deployed with streaming services, and the edge computing-based live streaming failure processing method comprises:
[0006] In response to receiving index data of a first machine in the edge machine room, determining failure information of the first machine according to the index data;
[0007] In a case where the failure information represents a failure of the first machine, determining a target machine in a second machine based on at least one of load information, network quality information, and service state information, wherein the second machine is a machine in the edge machine room other than the first machine;
[0008] Transmitting address information of the target machine to the first machine, and the first machine is configured to, in a case where a live audience end receives a stream-pulling request, transmit the address information of the target machine to the live audience end, so that the live audience end sends the stream-pulling request to the target machine.
[0009] In a second aspect, the present disclosure provides an edge computing-based live streaming failure processing device applied to an edge machine room, wherein the edge machine room includes machines deployed with streaming services, and the edge computing-based live streaming failure processing device comprises:
[0010] The first determining module is configured to determine, in response to receiving the index data of the first machine in the edge machine room, failure information of the first machine according to the index data.
[0011] The second determining module is configured to determine, in the case that the failure information represents a failure of the first machine, a target machine in the second machine based on at least one of the load information, the network quality information, and the service state information, wherein the second machine is a machine in the edge machine room other than the first machine.
[0012] The first transmitting module is configured to transmit address information of the target machine to the first machine, and the first machine is configured to, in the case that a live streaming request of a live audience end is received, transmit the address information of the target machine to the live audience end, so that the live audience end sends the live streaming request to the target machine.
[0013] In a third aspect, the present disclosure provides a computer readable medium having a computer program stored thereon, wherein the computer program is executed by a processing device to implement the steps of the method in the first aspect.
[0014] In a fourth aspect, the present disclosure provides an electronic device, comprising:
[0015] a storage device having a computer program stored thereon;
[0016] a processing device configured to execute the computer program in the storage device to implement the steps of the method in the first aspect.
[0017] In a fifth aspect, the present disclosure provides a computer program product comprising a computer program, wherein the computer program is executed by a processor to implement the steps of the method in the first aspect.
[0018] By the technical solution, the edge machine room can be used for fault analysis and processing. Compared with the related art that transmits index data to the central machine room for fault analysis and processing, on the one hand, the transmission time of the index data can be reduced, so that the response speed to the fault can be improved when the machine fails, thereby reducing the influence of the fault on the live broadcast and improving the user experience. On the other hand, the chain reaction caused by the failure of the central machine room can be reduced, that is, when the central machine room is abnormal, the edge machine room can still independently complete fault analysis and processing, thereby significantly enhancing the fault tolerance of the live broadcast transmission system. In addition, since the target machine is determined based on at least one of the load information, the network quality information and the service state information, when the target machine is determined, the hardware resource usage of the machine, the network transmission performance of the machine and the service running status of the machine can be comprehensively considered, thereby reducing the performance bottleneck caused by high load, reducing the communication problems caused by network delay or instability, and reducing the fault caused by service exception or connection overload, thereby improving the smoothness, stability and user experience of the live broadcast when the live audience end pulls the stream to the target machine.
[0019] Other features and advantages of the present disclosure will be described in detail in the following detailed description section. BRIEF DESCRIPTION OF DRAWINGS
[0020] The above and other features, advantages, and aspects of embodiments of the present disclosure will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:
[0021] Figure 1 A flowchart illustrating a process of handling a live broadcast transmission fault in the related art is shown;
[0022] Figure 2 is a flowchart of a live broadcast transmission fault handling method based on edge computing according to an exemplary embodiment of the present disclosure;
[0023] Figure 3 is a flowchart of another live broadcast transmission fault handling method based on edge computing according to an exemplary embodiment of the present disclosure;
[0024] Figure 4 is a structural block diagram of a live broadcast transmission fault handling apparatus based on edge computing according to an exemplary embodiment of the present disclosure;
[0025] Figure 5 is a structural schematic diagram of an electronic device according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0026] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is understood that the present disclosure can be embodied in various forms and should not be interpreted as being limited to the embodiments set forth herein; rather, these embodiments are provided so as to more completely and thoroughly understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for illustrative purposes and are not intended to limit the scope of protection of the present disclosure.
[0027] It should be understood that each of the steps recited in the method embodiments of the present disclosure can be performed in different orders and / or in parallel. In addition, the method embodiments can include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.
[0028] The term "comprising" and variations thereof as used herein are open-ended, that is "including but not limited to". The term "based on" is "based, at least in part, on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Related terms are defined in the following description.
[0029] It should be noted that the terms "first", "second", and the like in the present disclosure are only used to distinguish different devices, modules or units, and are not intended to limit the order or interdependence of the functions performed by these devices, modules or units.
[0030] It should be noted that the adjectives "one", "more" mentioned in the present disclosure are illustrative and not limiting, and those skilled in the art should understand that "one or more" should be understood unless the context clearly indicates otherwise.
[0031] The names of the messages or information exchanged between the devices in the embodiments of the present disclosure are only for illustrative purposes, and are not intended to limit the scope of the messages or information.
[0032] It can be understood that, before using the technical solutions disclosed in the embodiments of the present disclosure, the type, scope of use, use scenario, etc. of the personal information involved in the present disclosure should be informed to the user and the authorization of the user should be obtained in accordance with relevant laws and regulations.
[0033] For example, when responding to the active request of the user, the user is sent a prompt message to explicitly prompt the user that the operation requested to be performed will require the acquisition and use of the personal information of the user. Thus, the user can voluntarily choose whether to provide personal information to the software or hardware, such as electronic devices, application programs, servers or storage media, etc. that perform the operation of the technical solutions of the present disclosure.
[0034] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0035] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.
[0036] Meanwhile, it is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and related provisions.
[0037] As mentioned in the background section, related technologies generally rely on centralized servers or data centers to perform fault monitoring and handling; however, this approach suffers from problems such as slow response times.
[0038] For example, such as Figure 1 As shown, a live streaming transmission system in related technologies typically includes a central data center and edge data centers. The edge data center includes machines deployed with streaming services and a metrics agent service for collecting metrics data. The central data center deploys a fault avoidance decision service. When the live streaming transmission system is operating, the metrics agent service uploads the collected metrics data to the fault avoidance decision service in the central data center. The fault avoidance decision service analyzes and processes the metrics data to obtain machine fault information and, in the event of a machine failure, deletes the domain name information for the faulty machine from the domain name resolution system.
[0039] When processing data in this way, the data transmission path is long because the indicator data needs to be transmitted to the edge data center first, and then to the central data center. This increases data transmission time and results in a slower fault response speed. Furthermore, since fault analysis and processing rely entirely on the central data center, a failure in the central data center will severely impact the fault handling capabilities of the entire live streaming transmission system, potentially causing complete failure and affecting its normal operation. This could even lead to serious problems such as live stream interruptions, ultimately impacting the user experience.
[0040] In view of this, the present disclosure provides a method, apparatus and medium for handling live broadcast transmission faults based on edge computing, in order to solve the above-mentioned technical problems.
[0041] The edge computing-based live streaming fault processing method provided by the present disclosure is applied to an edge machine room, and the edge machine room includes a machine on which a streaming service is deployed, so that the index data of the machine can be analyzed for faults and processed by the edge machine room. Compared with the related art in which the index data is transmitted to a central machine room for fault analysis and fault processing, the transmission time of the data index can be reduced, and the fault response speed can be improved.
[0042] The embodiments of the present disclosure are further explained in conjunction with the accompanying drawings.
[0043] Figure 2 is a flowchart of an edge computing-based live streaming fault processing method according to an exemplary embodiment of the present disclosure. Referring to Figure 2 , the edge computing-based live streaming fault processing method can include the following steps:
[0044] S201: In response to receiving index data of a first machine in an edge machine room, determining fault information of the first machine according to the index data.
[0045] For example, as shown in Figure 3 , an obstacle avoidance decision service can be deployed in the edge machine room, so that during the operation of the machine, the index data of the machine can be collected in real time or periodically by the index agent service deployed in the edge machine room, and the collected index data can be transmitted to the obstacle avoidance decision service in the edge machine room. After receiving the index data, the obstacle avoidance decision service can preprocess the index data, for example, can perform outlier filtering, time series smoothing, and / or multi-index correlation analysis on the index data. Then, a preset rule engine can be used to analyze the preprocessed data index to determine whether the data index is abnormal, and further determine whether the machine is faulty.
[0046] The calculation rule can include threshold triggering and combination conditions. The threshold triggering is used to determine whether the data index is abnormal based on the data index and a preset data index threshold, and further determine whether the machine is faulty or abnormal. The threshold can be a fixed value, or can be adaptively adjusted according to historical data, and the embodiments of the present disclosure do not make any limitation on this. For example, 20:00-23:59 on weekends is a business peak period, and historical data shows that network latency during the business peak period will increase, so the network latency threshold can be increased. For example, the threshold for determining whether the network is congested during the business peak period can be set to 150 ms, and the threshold for determining whether the network is congested during the non-business peak period can be set to 100 ms.
[0047] The combination condition is used to characterize whether the machine has a fault or an anomaly in combination with multiple data indicators. The combination condition can be determined according to actual conditions, and the embodiments of the present disclosure do not make any limitation on this. For example, when the bandwidth utilization is greater than 90% and the network delay is greater than 100 ms, it can be determined that the network is congested.
[0048] The multi-indicator correlation analysis refers to a comprehensive analysis of the mutual relationship between multiple related indicators to find out potential correlation patterns, causal relationships or problem sources, so as to more comprehensively understand the system running state and accurately locate the problem. For example, when the frame freezing rate is greater than 3%, the data indicators of the network layer can be associated for troubleshooting first. If it is found that the packet loss rate is greater than 10% and the bandwidth utilization is less than 50%, the data indicators of the service layer can be further associated. If the service process state is normal, but the "TCP (Transmission Control Protocol) retransmission" error appears in the log, it can be determined that the root cause is network link failure. In this case, when using the rule engine for subsequent calculation and analysis, attention can be paid to the rules related to the network, because the problems of other data indicators are likely to be caused by network problems, so they can be temporarily ignored, thereby improving the analysis efficiency and reducing unnecessary waste of computing resources.
[0049] The indicator data of the machine can include network layer indicator data, computing layer indicator data and / or application layer indicator data, and of course can also include other data, and the embodiments of the present disclosure do not make any limitation on this. The network layer indicator data can include network packet loss rate, bandwidth utilization, and coding error rate, etc. The computing layer indicator data can include central processing unit usage, memory usage, and disk input / output latency, etc. The application layer indicator data can include live code rate, frame rate, first frame duration, stream pulling success rate, and 100-second frame freezing rate, etc.
[0050] S202: In the case of characterizing the first machine fault, based on at least one of the load information, the network quality information and the service state information, a target machine is determined in the second machine, wherein the second machine is a machine in the edge machine room except the first machine.
[0051] The load information can be used to represent the hardware resource usage of the machine, for example, can include central processor usage, memory occupancy and / or disk read / write speed, etc. The network quality information can be used to represent the network transmission performance of the machine, for example, can include network bandwidth, network delay and / or network packet loss rate, etc. The service state information can be used to represent the service running status of the machine, for example, can include live service process survival state and / or current concurrent connection number, etc. Therefore, when the target machine is determined in the second machine based on at least one of the load information, the network quality information and the service state information, the hardware resource usage of the machine, the network transmission performance of the machine and the service running status of the machine can be comprehensively considered, the performance bottleneck caused by too high load can be reduced, the communication problem caused by network delay or instability can be reduced, and the fault caused by service exception or connection overload can be reduced. Therefore, when the live audience end pulls the stream to the target machine, the smoothness, stability and user experience of the live broadcast can be improved.
[0052] It should be understood that the edge machine room generally includes multiple machines, and therefore the second machine in the embodiment can include multiple, and accordingly, determining the target machine in the second machine based on at least one of the load information, the network quality information and the service state information can include:
[0053] For each second machine, determining a selection score of the second machine according to at least one of the load information, the network quality information and the service state information of the second machine; and determining the target machine according to the selection score of each second machine.
[0054] It should be understood that the selection scores corresponding to different second machines can be the same or different. When the selection scores corresponding to different second machines are different, the second machine with the highest selection score can be selected as the target machine. When the selection scores corresponding to multiple second machines are the same, any one of the multiple second machines can be selected as the target machine.
[0055] In a possible manner, the load information can include central processor usage, memory usage and disk input / output latency, the network quality information can include bandwidth utilization and historical packet loss rate, and the service state information can include the survival state of the live service process between the streaming service and the live audience end and the concurrent connection number between the streaming service and the live audience end. Accordingly, determining the selection score of the second machine according to at least one of the load information, the network quality information and the service state information of the second machine can include:
[0056] The load score of the second machine is determined according to the central processor usage, the memory usage and the disk input / output waiting time; the network score of the second machine is determined according to the bandwidth utilization and the historical packet loss rate; the service score of the second machine is determined according to the survival state and the number of concurrent connections; and the selection score of the second machine is determined according to the load score, the network score and the service score.
[0057] For example, the data indicator threshold of each data indicator can be set in advance, and the first selection score can be assigned when the data indicator is greater than the corresponding data indicator threshold, and the second selection score can be assigned when the data indicator is less than or equal to the corresponding data indicator threshold, and the second selection score is greater than the first selection score. Then, the sum of the selection scores of each data indicator is counted to obtain the selection score of the second machine.
[0058] For example, the first selection score is set to 0, and the second selection score is set to 10. If the obtained central processor usage is less than the central processor usage threshold, the selection score 10 can be assigned to the central processor usage; if the memory usage is less than the memory usage threshold, the selection score 10 can be assigned to the memory usage; if the disk input / output waiting time is greater than the disk input / output waiting time threshold, the selection score 0 can be assigned to the disk input / output waiting time. Finally, the sum of the selection scores of the central processor usage, the memory usage and the disk input / output waiting time is counted to obtain the load score of the second machine, i.e. 20 points. Similarly, the network score and the service score of the second machine can be obtained. Finally, the sum of the load score, the network score and the service score is calculated to obtain the selection score of the second machine.
[0059] It should be understood that the load information, the network quality information and the service state information have different degrees of influence on data transmission when the machine transmits the streaming media data. Therefore, in order to improve the transmission quality of the live data, different weights can be assigned to the load score, the network score and the service score based on the degree of influence of the load information, the network quality information and the service state information on data transmission when determining the target machine based on the load information, the network quality information and the service state information, so that a suitable machine can be selected more accurately, and the transmission quality of the live data can be improved. In addition, since the network quality information has the most direct influence on the streaming media data transmission, and it is crucial to the continuity of data transmission, the network quality information can be assigned a higher weight in the possible ways to further improve the transmission quality of the live data. For example, the load score can be assigned a weight of 0.3, the network score can be assigned a weight of 0.4, and the service score can be assigned a weight of 0.3. Therefore, after obtaining the load score, the network score and the service score, the selection score of the second machine can be determined by the following formula:
[0060]
[0061] wherein, denotes a selection score, denotes a load score, denotes a network score, denotes a service score.
[0062] In a possible manner, determining the load score of the second machine according to the central processor usage rate, the memory usage rate and the disk input / output latency can comprise:
[0063] determining a first usage difference value obtained by subtracting the central processor usage rate from a preset central processor usage rate threshold, and determining a first numerical value obtained by dividing the first usage difference value by the central processor usage rate threshold, multiplying the first numerical value by a first preset score to obtain a first load score; determining a second usage difference value obtained by subtracting the memory usage rate from a preset memory usage rate threshold, and determining a second numerical value obtained by dividing the second usage difference value by the memory usage rate threshold, multiplying the second numerical value by the first preset score to obtain a second load score; determining a time difference value obtained by subtracting the disk input / output latency from a preset disk input / output latency threshold, and determining a third numerical value obtained by dividing the time difference value by the disk input / output latency threshold, multiplying the third numerical value by the first preset score to obtain a third load score; and determining the load score of the second machine according to the first load score, the second load score and the third load score.
[0064] wherein, the central processor usage rate threshold, the memory usage rate threshold, the disk input / output latency threshold and the first preset score can be determined according to actual conditions, and the embodiments of the present disclosure do not make any limitation on this. For example, the central processor usage rate threshold can be set to 60%, the memory usage rate threshold can be set to 70%, the disk input / output latency threshold can be set to 10 ms, and the first preset score is set to 100. Thus, after obtaining the central processor, the memory usage rate and the disk input / output latency of the second machine, they can be respectively brought into the following formula to obtain the first load score, the second load score and the third load score:
[0065]
[0066]
[0067]
[0068] wherein, denotes the first load score, denotes the central processor usage rate, denotes the central processor usage rate threshold, denotes the second load score, represents a memory usage rate, represents a memory usage rate threshold value, represents a third load score, represents a disk input / output latency, represents a disk input / output latency threshold value.
[0069] After obtaining the first load score, the second load score and the third load score, a load score of the second machine can be obtained by summing the first load score, the second load score and the third load score.
[0070] It should be understood that the central processor usage rate, the memory usage rate and the disk input / output latency have different degrees of influence on data transmission when the machine transmits the streaming data. Therefore, in order to further improve the transmission quality of the live data, when the load score is determined based on the central processor usage rate, the memory usage rate and the disk input / output latency, different weights can be assigned to the first load score, the second load score and the third load score based on the degrees of influence of the central processor usage rate, the memory usage rate and the disk input / output latency on data transmission. For example, the first load score can be assigned a weight of 0.4, the second load score can be assigned a weight of 0.3, and the third load score can be assigned a weight of 0.3. Thus, after obtaining the first load score, the second load score and the third load score, the load score of the second machine can be determined by the following formula:
[0071]
[0072] wherein, represents a load score, represents a first load score, represents a second load score, represents a third load score.
[0073] In a possible manner, determining the network score of the second machine according to the bandwidth utilization rate and the historical packet loss rate can include:
[0074] determining a utilization difference obtained by subtracting the bandwidth utilization rate from a preset bandwidth utilization rate threshold value, and determining a fourth value obtained by dividing the utilization difference by the bandwidth utilization rate threshold value, multiplying the fourth value by a second preset score to obtain a first network score; determining a packet loss rate difference obtained by subtracting the historical packet loss rate from a preset historical packet loss rate threshold value, and determining a fifth value obtained by dividing the packet loss rate difference by the historical packet loss rate threshold value, multiplying the fifth value by the second preset score to obtain a second network score; and determining the network score of the second machine according to the first network score and the second network score.
[0075] The bandwidth utilization rate threshold and the historical packet loss rate threshold can be determined according to actual conditions, the second preset score can be the same as or different from the first preset score, and the embodiments of the present disclosure do not make any limitation in this regard. For example, the bandwidth utilization rate threshold can be set to 80%, the historical packet loss rate threshold can be set to 1%, and the second preset score is set to 100. Thus, after the bandwidth utilization rate and the historical packet loss rate of the second machine are obtained, the first network score and the second network score can be obtained by respectively bringing them into the following formulas:
[0076]
[0077]
[0078] wherein, represents the first network score, represents the bandwidth utilization rate, represents the bandwidth utilization rate threshold, represents the second network score, represents the historical packet loss rate, represents the historical packet loss rate threshold.
[0079] After the first network score and the second network score are obtained, the network score of the second machine can be obtained by summing the first network score and the second network score.
[0080] It should be understood that the bandwidth utilization rate and the historical packet loss rate have different degrees of influence on data transmission when the machine transmits the stream media data. Thus, in order to further improve the transmission quality of the live data, when the network score is determined based on the bandwidth utilization rate and the historical packet loss rate, different weights can be assigned to the first network score and the second network score based on the degrees of influence of the bandwidth utilization rate and the historical packet loss rate on data transmission. For example, the first network score can be assigned a weight of 0.6, and the second network score can be assigned a weight of 0.4. Thus, after the first network score and the second network score are obtained, the network score of the second machine can be determined by the following formula:
[0081]
[0082] wherein, represents the network score, represents the first network score, represents the second network score.
[0083] In a possible manner, determining the service score of the second machine according to the survival state and the number of concurrent connections can include:
[0084] According to the survival state and the preset corresponding relationship, a target coefficient is determined, and the target coefficient is multiplied by the third preset score to obtain a first service score, wherein the preset corresponding relationship is used to represent the corresponding relationship between the survival state and the coefficient; an absolute difference value between the number of concurrent connections and the preset number of concurrent connection threshold is determined, and the absolute difference value is divided by the number of concurrent connection threshold to obtain a sixth value, the sixth value is subtracted by 1 to obtain a seventh value, and the seventh value is multiplied by the third preset score to obtain a second service score; according to the first service score and the second service score, the service score of the second machine is determined.
[0085] The preset corresponding relationship and the number of concurrent connection threshold can be determined according to actual conditions, the third preset score can be the same as the first preset score and / or the second preset score, or can be different, and the embodiments of the present disclosure do not make any limitation on this. For example, the number of concurrent connection threshold can be set to 60% of the maximum carrying capacity, the third preset score can be set to 100, and the preset corresponding relationship can be as shown in Table 1.
[0086] Table 1: Preset corresponding relationship
[0087]
[0088] Therefore, after obtaining the survival state and the number of concurrent connections of the second machine, the first service score and the second service score can be obtained by respectively bringing them into the following formula:
[0089]
[0090]
[0091] wherein, the first service score is represented by S1, the target coefficient is represented by a, the second service score is represented by S2, the number of concurrent connections is represented by n, the number of concurrent connection threshold is represented by N.
[0092] It should be understood that the survival state and the number of concurrent connections have different degrees of influence on data transmission when the machine transmits streaming media data. Therefore, in order to further improve the transmission quality of live data, different weights can be allocated to the first service score and the second service score based on the degree of influence of the survival state and the number of concurrent connections on data transmission when determining the service score based on the survival state and the number of concurrent connections. For example, the first service score can be allocated a weight of 0.6, and the second service score can be allocated a weight of 0.4, and thus the service score of the second machine can be determined by the following formula after obtaining the first service score and the second service score:
[0093]
[0094] wherein, denotes a service score, denotes a first service score, denotes a second service score.
[0095] S203: transmit the address information of the target machine to the first machine, and the first machine is configured to, in a case where a live audience end initiates a pull streaming request, transmit the address information of the target machine to the live audience end, so that the live audience end initiates the pull streaming request to the target machine.
[0096] The address information can be domain name information of the machine, IP (Internet Protocol) information of the machine, or other information, and the embodiments of the present disclosure do not make any limitation on this.
[0097] In a possible manner, in order to enable the live audience end to clearly know that the first machine has failed, a failure code for identifying machine failure can be preset, for example, a 302 code. In this way, when the address information of the target machine is transmitted to the first machine, the failure code can also be transmitted to the live audience end. After receiving the failure code and the address information of the target machine, the live audience end can know that the first machine has failed, and can initiate a pull streaming request to the target machine according to the address information of the target machine.
[0098] Through the above technical solution, the edge machine room can be used for fault analysis and processing. Compared with the related art in which the index data is transmitted to the central machine room for fault analysis and processing, on the one hand, the transmission time of the index data can be reduced, so that the response speed to the fault can be improved when the machine fails, thereby reducing the influence of the fault on the live broadcast and improving the user experience. On the other hand, the chain reaction caused by the failure of the central machine room can be reduced, that is, the edge machine room can still independently complete fault analysis and processing when the central machine room is abnormal, thereby significantly enhancing the fault tolerance of the live broadcast system. In addition, since the target machine is determined based on at least one of the load information, the network quality information, and the service state information, when the target machine is determined, the hardware resource usage of the machine, the network transmission performance of the machine, and the service running status of the machine can be comprehensively considered, thereby reducing the performance bottleneck caused by high load, reducing the communication problems caused by network delay or instability, and reducing the fault caused by service exception or connection overload, thereby improving the fluency, stability, and user experience of the live broadcast when the live audience end pulls the stream from the target machine.
[0099] It should be understood that in the edge computing mechanism, the edge machine room generally includes multiple, and the machine room states of different edge machine rooms are different. Therefore, in order to enable the live audience end to further improve the smoothness, stability and user experience of live broadcast when pulling the stream to the target machine, in a possible manner, the machine room in each edge machine room can also transmit the index data of the machine in the machine room to the center machine room, so that the center machine room can select the target machine in different edge machine rooms based on the index data of the machine, and transmit the selection result to the edge machine room to cover the decision result of the edge machine room. That is, in a possible manner, the live broadcast transmission fault processing method based on edge computing can also include:
[0100] transmitting the index data of the first machine to the center machine room, the center machine room being configured to determine a third machine based on the index data of a plurality of machines including the first machine, and transmit address information of the third machine to the edge machine room; and transmitting the address information of the third machine transmitted by the center machine room to the first machine, the first machine being configured to update the address information of the target machine to the address information of the third machine, and in a case where a stream pulling request of the live audience end is received, transmit the address information of the third machine to the live audience end, so that the live audience end sends the stream pulling request to the third machine.
[0101] It should be understood that when the edge machine room makes a decision on the target machine room, the decision result can be obtained quickly due to the short data transmission path and small data processing amount (based on the load information, network quality information and service state information of each machine in the edge machine room). While the center machine room makes a decision on the target machine room, it takes a long time to obtain the decision result due to the long data transmission path and large data processing amount (the decision needs to be made based on the index data of different machines in different edge machine rooms). At the same time, since the center machine room makes a decision based on the index data of different machines in different edge machine rooms, the decision range of the center machine room is wider and the decision result is better. The disclosed embodiments first feed back the decision result of the edge machine room to the first machine, and then cover the decision result of the center machine room with the decision result of the edge machine room, so as to improve the response speed to the fault through the decision result of the edge machine room, and then the smoothness, stability and user experience of live broadcast can be further improved through the decision result of the center machine room.
[0102] In a possible manner, the live broadcast transmission fault processing method based on edge computing can also include:
[0103] In a case where the fault information characterizes a first machine fault, historical index data of the first machine is acquired, and the historical index data is input into a machine learning model to obtain a fault recovery time of the first machine. The machine learning model is configured to output a corresponding fault recovery time according to the input historical index data. Within a preset time period before the fault recovery time, a live audience end's pull stream request is allocated to the first machine based on a preset strategy. The preset strategy is configured to characterize a gradual increase in the allocation of the live audience end's pull stream request to the first machine within the preset time period.
[0104] For example, the historical index data of the first machine can be input into the machine learning model to obtain recovery times of different data indicators, and then the fault recovery time of the first machine can be determined based on the recovery times of the different data indicators. For example, if the fault recovery time is 10:00 and the preset time period is 30 minutes, the live audience end's pull stream request can be allocated to the first machine at 9:30, and the allocation of the live audience end's pull stream request to the first machine can be gradually increased. For example, 5% of the pull stream request can be allocated to the first machine first, and the running status of the machine is observed. If the running status is good, 10% of the pull stream request can be allocated to the first machine, and the running status of the machine is continuously observed. If the running status is poor, the allocation of the pull stream request to the first machine can be reduced.
[0105] In this way, the fault recovery time of the machine can be predicted based on the historical index data and the machine learning model, so that the online recovery process of the machine is triggered in advance and the pull stream request is gradually increased, thereby achieving efficient scheduling of fault recovery, reducing business interruption time, and further improving the overall stability and user experience of the live streaming system.
[0106] It should be understood that when the live audience end initiates the pull stream request, the live streaming service provider will randomly allocate an address information of a machine to the live audience end. If there is a faulty machine in the edge machine room, there is a case where the address information allocated to the live audience end is the address information of the faulty machine. In this case, although the faulty machine will feedback the address information of the target machine to the live audience end, the live audience end needs to initiate the pull stream request again, thereby increasing the waiting time of the live audience end and affecting the user experience. Therefore, in a possible manner, in order to reduce the waiting time of the live audience end, the edge machine room can also upload the decision result including the fault information to the central machine room after obtaining the decision result, as shown in FIG. 8. After receiving the decision result, the central machine room can delete the domain name information of the faulty machine in the domain name resolution system, so that subsequent live audience ends will not obtain the address information of the faulty machine when obtaining the address information of the machine, thereby reducing the number of times of initiating the pull stream request by the live audience end, and further reducing the user waiting time and improving the user experience. Figure 3
[0107] In a possible manner, when the fault information represents that the first machine has network packet loss or insufficient bandwidth, in order to repair the fault in time, the edge machine room can automatically start a forward error correction mechanism or an automatic repeat request mechanism to repair the lost data packet; meanwhile, the edge machine room can also automatically adjust the code rate and resolution of the video stream according to the real-time network state, so as to adapt to the network change and ensure the smoothness of the live broadcast.
[0108] In a possible manner, in order to accurately locate and repair the fault, after the first machine fails, the system log (such as network disconnection, crash, and downtime), the application log (such as failure rate rising), and the network quality data can be associated and analyzed to locate the root cause. After the fault is repaired, the system configuration (such as firewall rule and encoding parameter) before and after the recovery can be compared to ensure that there is no residual error configuration, further reduce the probability of fault recurrence, and improve the stability of the live broadcast system.
[0109] Further, in order to verify the stability of the machine after the fault is repaired, an isolated test environment can be created, and the live broadcast stream data of the machine during the fault can be replayed in the isolated test environment, so that potential problems can be found in time and optimized and adjusted by simulating the load and fault conditions in the real scene, thereby reducing the probability of fault recurrence and further improving the stability of the live broadcast system.
[0110] Based on the same concept, the embodiment of the present disclosure also provides a live broadcast transmission fault processing device based on edge computing, which is applied to an edge machine room including a machine in which a streaming service is deployed. The live broadcast transmission fault processing device based on edge computing can include Figure 4 as shown, comprising:
[0111] A first determination module 401 is configured to, in response to receiving index data of a first machine in an edge machine room, determine fault information of the first machine according to the index data.
[0112] A second determination module 402 is configured to, in a case where the fault information represents that the first machine fails, determine a target machine in a second machine based on at least one of load information, network quality information, and service state information, wherein the second machine is a machine in the edge machine room except the first machine.
[0113] A first transmission module 403 is configured to transmit address information of the target machine to the first machine, and the first machine is configured to, in a case where a live audience end transmits a pull stream request, transmit the address information of the target machine to the live audience end, so that the live audience end sends the pull stream request to the target machine.
[0114] By the live streaming transmission fault processing apparatus 400 based on edge computing, fault analysis and processing can be performed by the edge machine room, compared with transmitting the index data to the central machine room for fault analysis and processing, on the one hand, the transmission time of the index data can be reduced, so that the response speed to the fault can be improved when the machine fails, thereby reducing the influence of the fault on the live streaming and improving the user experience. On the other hand, the chain reaction caused by the failure of the central machine room can be reduced, that is, the edge machine room can still independently complete fault analysis and processing when the central machine room is abnormal, thereby significantly enhancing the fault tolerance of the system. In addition, since the target machine is determined based on at least one of the load information, the network quality information and the service state information, when the target machine is determined, the hardware resource usage of the machine, the network transmission performance of the machine and the service running status of the machine can be considered comprehensively, thereby reducing the performance bottleneck caused by high load, reducing the communication problems caused by network delay or instability, and reducing the fault caused by service exception or connection overload, thereby improving the smoothness, stability and user experience of the live streaming when the live streaming audience end pulls the stream to the target machine.
[0115] In a possible manner, the second machine includes a plurality of, correspondingly, the second determining module 402 can include:
[0116] The first determining submodule is configured to determine a selection score of each second machine according to at least one of the load information, the network quality information and the service state information of the second machine.
[0117] The second determining submodule is configured to determine the target machine according to the selection score of each second machine.
[0118] In a possible manner, the load information includes the central processing unit usage, the memory usage and the disk input / output latency, the network quality information includes the bandwidth utilization and the historical packet loss rate, and the service state information includes the survival state of the live streaming service process between the streaming service and the live streaming audience end and the number of concurrent connections between the streaming service and the live streaming audience end. Correspondingly, the first determining submodule can include:
[0119] The first determining unit is configured to determine the load score of the second machine according to the central processing unit usage, the memory usage and the disk input / output latency.
[0120] The second determining unit is configured to determine the network score of the second machine according to the bandwidth utilization and the historical packet loss rate.
[0121] The third determining unit is configured to determine the service score of the second machine according to the survival state and the number of concurrent connections.
[0122] The fourth determining unit is configured to determine a selection score of the second machine according to the load score, the network score and the service score.
[0123] In a possible implementation, the first determining unit can include:
[0124] The first determining sub-unit is configured to determine a first usage difference value obtained by subtracting the CPU usage from a preset CPU usage threshold, and determine a first numerical value obtained by dividing the first usage difference value by the CPU usage threshold, multiply the first numerical value by a first preset score to obtain the first load score;
[0125] The second determining sub-unit is configured to determine a second usage difference value obtained by subtracting the memory usage from a preset memory usage threshold, and determine a second numerical value obtained by dividing the second usage difference value by the memory usage threshold, multiply the second numerical value by the first preset score to obtain the second load score;
[0126] The third determining sub-unit is configured to determine a time difference value obtained by subtracting the disk input / output waiting time from a preset disk input / output waiting time threshold, and determine a third numerical value obtained by dividing the time difference value by the disk input / output waiting time threshold, multiply the third numerical value by the first preset score to obtain the third load score;
[0127] The fourth determining sub-unit is configured to determine the load score of the second machine according to the first load score, the second load score and the third load score.
[0128] In a possible implementation, the second determining unit can include:
[0129] The fifth determining sub-unit is configured to determine a utilization difference value obtained by subtracting the bandwidth utilization from a preset bandwidth utilization threshold, and determine a fourth numerical value obtained by dividing the utilization difference value by the bandwidth utilization threshold, multiply the fourth numerical value by a second preset score to obtain the first network score;
[0130] The sixth determining sub-unit is configured to determine a packet loss rate difference value obtained by subtracting the historical packet loss rate from a preset historical packet loss rate threshold, and determine a fifth numerical value obtained by dividing the packet loss rate difference value by the historical packet loss rate threshold, multiply the fifth numerical value by the second preset score to obtain the second network score;
[0131] The seventh determining sub-unit is configured to determine the network score of the second machine according to the first network score and the second network score.
[0132] In a possible implementation, the third determining unit can include:
[0133] The eighth determining subunit is configured to determine a target coefficient according to a preset correspondence relationship between the survival state and the target coefficient, and multiply the target coefficient by a third preset score to obtain a first service score, wherein the preset correspondence relationship is used to represent a corresponding relationship between the survival state and the coefficient.
[0134] The ninth determining subunit is configured to determine an absolute difference between the number of concurrent connections and a preset number of concurrent connection threshold, divide the absolute difference by the number of concurrent connection threshold to obtain a sixth numerical value, subtract the sixth numerical value from 1 to obtain a seventh numerical value, and multiply the seventh numerical value by the third preset score to obtain a second service score.
[0135] The tenth determining subunit is configured to determine a service score of the second machine according to the first service score and the second service score.
[0136] In a possible manner, the live streaming transmission fault processing apparatus 400 based on edge computing can further include:
[0137] The second transmission module is configured to transmit the index data of the first machine to a central machine room, and the central machine room is configured to determine a third machine based on the index data of a plurality of machines including the first machine, and transmit address information of the third machine to the edge machine room.
[0138] The third transmission module is configured to transmit the address information of the third machine transmitted by the central machine room to the first machine, and the first machine is configured to update the address information of the target machine to the address information of the third machine, and in the case that a live audience end pulls a stream, transmit the address information of the third machine to the live audience end, so that the live audience end sends a pull stream request to the third machine.
[0139] In a possible manner, the live streaming transmission fault processing apparatus 400 based on edge computing can further include:
[0140] The first processing module is configured to, in the case that the fault information represents a fault of the first machine, acquire historical index data of the first machine, and input the historical index data into a machine learning model to obtain a fault recovery time of the first machine, and the machine learning model is configured to output a corresponding fault recovery time according to the input historical index data.
[0141] The second processing module is configured to, within a preset time period before the fault recovery time, allocate a pull stream request of a live audience end to the first machine based on a preset strategy, and the preset strategy is used to represent that the pull stream request of the live audience end to the first machine is gradually increased within the preset time period.
[0142] Based on the same concept, the embodiments of the present disclosure further provide a computer readable medium having a computer program stored thereon, and the program is executed by a processing device to implement the steps of any of the above-mentioned live streaming transmission fault processing methods based on edge computing.
[0143] Based on the same idea, the embodiments of the present disclosure further provide an electronic device, which can include:
[0144] a storage device having stored thereon a computer program;
[0145] a processing device configured to execute the computer program in the storage device to implement the steps of any of the above-mentioned live streaming failure handling methods based on edge computing.
[0146] Based on the same idea, the embodiments of the present disclosure further provide a computer program product, which includes a computer program configured to implement the steps of any of the above-mentioned live streaming failure handling methods based on edge computing when executed by a processor.
[0147] Reference will now be made to the following description Figure 5 , which shows a structural schematic diagram of an electronic device 500 suitable for implementing the embodiments of the present disclosure. The terminal device in the embodiments of the present disclosure can include, but is not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Tablet Personal Computers), PMPs (Portable Multimedia Players), vehicle-mounted terminals (e.g., vehicle-mounted navigation terminals), and the like, as well as fixed terminals such as digital TVs, desktop computers, and the like. Figure 5 The electronic device shown is merely an example and should not impose any limitation on the functions and use range of the embodiments of the present disclosure.
[0148] As shown in Figure 5 , the electronic device 500 can include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 501, which can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 502 or loaded from a storage device 508 into a random access memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the electronic device 500 are also stored. The processing device 501, the ROM 502, and the RAM 503 are connected to each other through a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0149] Generally, the following devices can be connected to the I / O interface 505: input devices 506 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, and the like; output devices 507 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, and the like; storage devices 508 including, for example, a magnetic tape, a hard disk, and the like; and communication devices 509. The communication devices 509 can allow the electronic device 500 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 5Electronic device 500 is shown with various means, but it is understood that not all of the shown means need be implemented or present. More or less means can alternatively be implemented or present.
[0150] In particular, in accordance with embodiments of the present disclosure, the processes described above with reference to the flowcharts can be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program comprising program code for executing the methods illustrated by the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication means 509, or installed from storage means 508, or installed from ROM 502. When the computer program is executed by processing means 501, the above-mentioned functions defined in the methods of the embodiments of the present disclosure are performed.
[0151] It should be noted that the computer-readable medium described above in the present disclosure can be a computer-readable signal medium or a computer-readable storage medium or any combination thereof. The computer-readable storage medium, for example, can be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any suitable combination thereof. More specific examples of the computer-readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, the computer-readable storage medium can be any tangible medium that contains or stores a program used by or in connection with an instruction execution system, apparatus, or device. In the present disclosure, the computer-readable signal medium can include a data signal propagated in baseband or propagated as a carrier wave in a propagated data signal, in which the computer-readable program code is carried. Such a propagated data signal can take a variety of forms, including but not limited to electro-magnetic, optical, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium that is not a computer-readable storage medium and that can be used to carry or store program code used by or in connection with an instruction execution system, apparatus, or device. Program code contained in the computer-readable medium can be transmitted using any suitable medium, including but not limited to wire, cable, optical fiber, RF (radio frequency), etc., or any suitable combination thereof.
[0152] In some embodiments, communications can be conducted using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol), and can be interconnected with digital data communications of any form or medium (e.g., a communications network). Examples of communications networks include local area networks ("LANs"), wide area networks ("WANs"), internetworks (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed networks.
[0153] The computer readable medium described above can be included in the electronic device described above; or can exist separately from the electronic device and be not assembled into the electronic device.
[0154] The computer readable medium described above carries one or more programs, when the one or more programs are executed by the electronic device, cause the electronic device to: in response to receiving index data of a first machine in an edge machine room, determine failure information of the first machine according to the index data; in a case where the failure information represents a failure of the first machine, determine a target machine in a second machine based on at least one of load information, network quality information, and service state information, wherein the second machine is a machine in the edge machine room other than the first machine; and transmit address information of the target machine to the first machine, and the first machine is configured to, in a case where a live streaming request of a live audience end is received, transmit the address information of the target machine to the live audience end, so that the live audience end sends a live streaming request to the target machine.
[0155] Computer program code for carrying out operations of the present disclosure can be written in any one or more of a number of programming languages or combinations of languages including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages such as C or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network ("LAN") or a wide area network ("WAN"), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a computer system including a computer system, can be provided that operates to perform the operations described herein.
[0156] The computer program product of the first aspect can include one or more non-transitory computer-readable media storing instructions that, when executed, cause one or more processors to perform the operations of the method of the first aspect. The computer program product of the first aspect can include a computer-readable medium storing instructions that, when executed, cause one or more processors to perform the operations of the method of the first aspect.
[0157] The modules involved in the embodiments of the present disclosure can be implemented in the form of software or in the form of hardware. In some cases, the name of the module does not constitute a limitation on the module itself.
[0158] The functions described above in the present document can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, example types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (ASICs), Application-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
[0159] In the context of the present disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium will include one or more lines of electrical connections, portable computer disks, hard disk drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the foregoing.
[0160] The above description merely illustrates the preferred embodiment of the disclosure and a principle of applied technologies. It should be understood by those skilled in the art that the disclosed range of the disclosure is not limited to the technical solutions formed by the specific combinations of the technical features described above, and should also cover other technical solutions formed by the combinations of the technical features described above or their equivalent features without departing from the disclosed concept. For example, the technical solutions formed by the mutual replacement of the above-described features and the technical features with similar functions disclosed in the disclosure (but not limited to) can be formed.
[0161] Furthermore, although operations are depicted in a particular, sequential order, this should not be understood as requiring or implying that the operations are performed in the order illustrated or sequentially. In certain circumstances, multitasking and parallel processing can be advantageous. Likewise, although specific implementation details are contained in the above discussion, these should not be construed as limiting the scope of the disclosure. Certain features described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable sub-combination.
[0162] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely illustrative of the example forms of implementing the claims. As to the means for performing the operations of the apparatus in the above-described embodiments, the specific manner in which the various modules perform the operations has been described in detail in the embodiments related to the method, and will not be described here.
Claims
1. A live streaming transmission fault handling method based on edge computing, characterized in that, Applied to edge data centers, which include machines deployed with streaming services, the edge computing-based live streaming transmission fault handling method includes: In response to receiving the indicator data of the first machine in the edge data room, the fault information of the first machine is determined based on the indicator data, wherein the indicator data is used to characterize the indicator data of at least one of the network layer, computing layer and application layer of the first machine. When the fault information indicates a fault in the first machine, the load score of the second machine is determined based on the CPU utilization, memory utilization, and disk I / O latency. The network score of the second machine is determined based on the bandwidth utilization and historical packet loss rate. The service score of the second machine is determined based on the liveness status of the live service process between the streaming service and the live viewer and the number of concurrent connections between the streaming service and the live viewer. Based on the load score, the network score, and the service score, a target machine is determined among the second machines, wherein the second machine is a machine in the edge data center other than the first machine. The address information of the target machine is transmitted to the first machine. The first machine is used to transmit the address information of the target machine to the live stream viewer when it receives a pull request from the live stream viewer, so that the live stream viewer sends the pull request to the target machine.
2. The live streaming transmission fault handling method based on edge computing according to claim 1, characterized in that, The second machine includes multiple machines, and determining the target machine from among the second machines based on the load score, the network score, and the service score includes: For each of the second machines, a selection score for the second machine is determined based on the load score, the network score, and the service score. The target machine is determined based on the selection score of each of the second machines.
3. The live streaming transmission fault handling method based on edge computing according to claim 2, characterized in that, The determination of the load score for the second machine based on CPU utilization, memory utilization, and disk I / O latency includes: A first utilization difference is obtained by subtracting the CPU utilization from a preset CPU utilization threshold, and a first value is obtained by dividing the first utilization difference by the CPU utilization threshold. The first value is then multiplied by a first preset score to obtain a first load score. A second utilization rate difference is obtained by subtracting the memory utilization rate from a preset memory utilization rate threshold, and a second value is obtained by dividing the second utilization rate difference by the memory utilization rate threshold. The second value is then multiplied by the first preset score to obtain a second load score. The time difference obtained by subtracting the disk input / output waiting time from the preset disk input / output waiting time threshold is determined, and the third value obtained by dividing the time difference by the disk input / output waiting time threshold is determined. The third value is then multiplied by the first preset score to obtain the third load score. The load score of the second machine is determined based on the first load score, the second load score, and the third load score.
4. The live streaming transmission fault handling method based on edge computing according to claim 2, characterized in that, The process of determining the network score of the second machine based on bandwidth utilization and historical packet loss rate includes: Determine the utilization difference obtained by subtracting the bandwidth utilization from the preset bandwidth utilization threshold, and determine the fourth value obtained by dividing the utilization difference by the bandwidth utilization threshold. Multiply the fourth value by the second preset score to obtain the first network score. Determine the packet loss rate difference obtained by subtracting the historical packet loss rate from the preset historical packet loss rate threshold, and determine the fifth value obtained by dividing the packet loss rate difference by the historical packet loss rate threshold. Multiply the fifth value by the second preset score to obtain the second network score. The network score of the second machine is determined based on the first network score and the second network score.
5. The live streaming transmission fault handling method based on edge computing according to claim 2, characterized in that, The step of determining the service score of the second machine based on the live service process status between the streaming service and the live viewer's client, and the number of concurrent connections between the streaming service and the live viewer's client, includes: Based on the survival status of the live service process between the streaming service and the live viewer, and the preset correspondence, a target coefficient is determined, and the target coefficient is multiplied by a third preset score to obtain a first service score. The preset correspondence is used to characterize the correspondence between the survival status and the coefficient. Determine the absolute difference between the number of concurrent connections between the streaming service and the live viewer and a preset threshold for the number of concurrent connections, divide the absolute difference by the threshold for the number of concurrent connections to obtain a sixth value, subtract the sixth value from 1 to obtain a seventh value, and multiply the seventh value by the third preset score to obtain a second service score. The service score of the second machine is determined based on the first service score and the second service score.
6. The live streaming transmission fault handling method based on edge computing according to any one of claims 1-5, characterized in that, The edge computing-based live streaming transmission fault handling method also includes: The indicator data of the first machine is transmitted to the central computer room, which is used to determine the third machine based on the indicator data of multiple machines including the first machine, and transmits the address information of the third machine to the edge computer room. The address information of the third machine transmitted from the central computer room is transmitted to the first machine. The first machine is used to update the address information of the target machine to the address information of the third machine and, upon receiving a pull request from a live stream viewer, transmit the address information of the third machine to the live stream viewer so that the live stream viewer sends the pull request to the third machine.
7. The live streaming transmission fault handling method based on edge computing according to any one of claims 1-5, characterized in that, The edge computing-based live streaming transmission fault handling method also includes: When the fault information indicates a fault in the first machine, historical indicator data of the first machine is obtained, and the historical indicator data is input into a machine learning model to obtain the fault recovery time of the first machine. The machine learning model is used to output the corresponding fault recovery time based on the input historical indicator data. Within a preset time period prior to the fault recovery time, streaming requests for live viewers are allocated to the first machine based on a preset strategy. The preset strategy is used to indicate that streaming requests for live viewers are gradually increased to the first machine within the preset time period.
8. A live streaming transmission fault handling device based on edge computing, characterized in that, Applied to edge data centers, which include machines deployed with streaming services, the edge computing-based live streaming fault handling device includes: The first determining module is configured to, in response to receiving indicator data of the first machine in the edge data room, determine the fault information of the first machine based on the indicator data, wherein the indicator data is used to characterize the indicator data of at least one of the network layer, computing layer and application layer of the first machine. The second determining module is used to determine the load score of the second machine based on the CPU utilization, memory utilization, and disk I / O latency when the fault information indicates a fault in the first machine; determine the network score of the second machine based on the bandwidth utilization and historical packet loss rate; determine the service score of the second machine based on the liveness status of the live service process between the streaming service and the live viewer and the number of concurrent connections between the streaming service and the live viewer; and determine the target machine among the second machines based on the load score, the network score, and the service score, wherein the second machine is a machine in the edge data center other than the first machine. The first transmission module is used to transmit the address information of the target machine to the first machine. The first machine is used to transmit the address information of the target machine to the live stream viewer when it receives a pull request from the live stream viewer, so that the live stream viewer sends the pull request to the target machine.
9. A computer-readable medium having a computer program stored thereon, characterized in that, When executed by a processing device, the computer program performs the steps of the method according to any one of claims 1-7.
10. An electronic device, characterized in that, include: A storage device on which computer programs are stored; A processing device for executing the computer program in the storage device to implement the steps of the method according to any one of claims 1-7.
11. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1-7.
Citation Information
Patent Citations
Data processing method and device
CN113055693A
CDN-based file resource management system and method
CN119276887A