Live broadcast stream shared node scheduling method and device, equipment and medium
By receiving and evaluating the network status information of the shared nodes, dynamically dispatching the shared nodes to realize multi-parallel transmission and resource sharing of live streams, solving the problem of low resource utilization efficiency of terminal devices in live streams, and improving the efficiency and stability of live streams.
Patent Information
- Application Number
- CN202411954870.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-27
- Publication Date
- 2025-04-18
AI Technical Summary
In the prior art, terminal devices cannot fully utilize their network resources in live streaming transmission and cannot provide shared services for other live streaming streams, resulting in low network resource utilization efficiency, insufficient scalability and flexibility of live streaming transmission, and lack effective adaptability adjustment mechanisms when network fluctuations.
By receiving network status information of shared nodes pre-registered as consumer type in peer networks, including resource usage information and network quality information, evaluating the resource surplus and network quality of shared nodes in real time, and dynamically scheduling shared nodes to realize multi-parallel transmission and resource sharing of live streams.
It improves the efficiency and stability of live streaming, makes full use of network resources, reduces server pressure, reduces network latency and packet loss rate, improves user viewing experience, and enhances the scalability and flexibility of the system.
Smart Images

Figure CN119854533A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to network live broadcast technology, and in particular to a live broadcast stream sharing node scheduling method and its device, equipment, and medium. Background Art
[0002] With the development of Internet technology and the growth of user demand, the transmission technology of live streaming in the field of online live broadcast has become a key research field. The real-time nature and high bandwidth requirements of live streaming pose challenges to network transmission, especially in high-concurrency scenarios. How to efficiently and stably transmit live streaming has become the focus of technology development. In order to meet this challenge, P2P (Peer-to-Peer) technology has been introduced into the transmission of live streaming, aiming to share the distribution pressure of the server by utilizing the uplink bandwidth of the terminal device and improve the transmission efficiency of the live streaming.
[0003] Although P2P technology has been widely used, it mainly focuses on sharing existing live streams, that is, the terminal device only acts as a shared node to share the live stream of the live room that the local device needs to play and display. Although this method reduces the burden on the server to a certain extent, it does not fully utilize the network resources of the terminal device. Specifically, the terminal devices in the prior art still have limitations in the transmission of live streams. They cannot provide sharing services for other live streams on the network platform. In other words, each terminal device only participates in the transmission of the live stream related to its own viewing, without realizing the parallel transmission and resource sharing of multiple live streams.
[0004] This limitation leads to multiple problems: First, network resources are not used efficiently because the uplink bandwidth is only used when the terminal device is watching the live broadcast, and is idle when not watching. Second, due to the lack of a coordination mechanism for the parallel transmission of multiple live streams, the redundant bandwidth of the network is not fully utilized, limiting the scalability and flexibility of live stream transmission. In addition, from the perspective of the entire platform, when faced with network fluctuations and changes, there is a lack of an effective adaptive adjustment mechanism, and it is impossible to use each shared node to dynamically adjust the transmission strategy of multiple live streams according to the real-time network conditions. This is particularly evident when the network conditions are unstable or the bandwidth is limited. Summary of the invention
[0005] The purpose of the present application is to solve the above-mentioned problems and to provide a live stream sharing node scheduling method and its corresponding device, equipment, and non-volatile readable storage medium.
[0006] According to one aspect of the present application, a method for scheduling live stream sharing nodes is provided, comprising the following steps: receiving network status information periodically reported by a shared node pre-registered as a consumption type in a peer network during the process of consuming the current live stream that it is pulling and transmitting, the network status information including resource usage information and network quality information of the corresponding shared node; determining the real-time resource redundancy of the consumption type sharing node according to the periodically reported resource usage information, sorting the consumption type sharing nodes according to the real-time resource redundancy, and obtaining a resource sorting list; determining the real-time network quality score of the consumption type sharing node according to the periodically reported network quality information; screening out a target sharing node from the resource sorting list according to the real-time network quality score and the real-time resource redundancy, and pulling and transmitting the additional live stream for the shared node that consumes the additional live stream through the target sharing node.
[0007] According to another aspect of the present application, a live stream sharing node scheduling device is provided, including: a status monitoring module, configured to receive network status information periodically reported by a shared node pre-registered as a consumption type in a peer-to-peer network during the process of consuming the current live stream that it is pulling and transmitting, the network status information including resource usage information and network quality information of the corresponding shared node; a resource sorting module, configured to determine the real-time resource redundancy of the consumption type shared node according to the periodically reported resource usage information, sort the consumption type shared nodes according to the real-time resource redundancy, and obtain a resource sorting list; a node scoring module, configured to determine the real-time network quality score of the consumption type shared node according to the periodically reported network quality information; a service execution module, configured to filter out a target shared node from the resource sorting list according to the real-time network quality score and the real-time resource redundancy, and pull and transmit the additional live stream for the shared node that consumes the additional live stream through the target shared node.
[0008] According to another aspect of the present application, a live stream sharing node scheduling device is provided, comprising a central processing unit and a memory, wherein the central processing unit is used to call and run a computer program stored in the memory to execute the steps of the live stream sharing node scheduling method described in the present application.
[0009] According to another aspect of the present application, a non-volatile readable storage medium is provided, which stores a computer program implemented according to the live stream sharing node scheduling method in the form of computer-readable instructions, and when the computer program is called and executed by a computer, the steps included in the method are executed.
[0010] This application aims at the technical problems existing in the field of network live broadcast, improves the scheduling business logic of shared nodes on the server side of the network live broadcast platform, and receives the network status information reported periodically by the shared nodes pre-registered as consumption types in the peer-to-peer network, including resource usage information and network quality information, so as to grasp the resource status and network performance of each shared node in real time and accurately. Based on the real-time resource redundancy determined by the resource usage information and the real-time network quality score determined by the network quality information, the consumption type shared nodes are sorted and screened, and the target shared nodes that meet the preset strategy are accurately selected from the resource sorting list. This process effectively solves the problems of unreasonable node scheduling, low resource utilization and unstable live streaming transmission quality in traditional technologies. By dynamically evaluating the resources and network status of the nodes, the node resources are fully utilized, and the terminal devices corresponding to the shared nodes with sufficient resource redundancy and good network quality are used for the pull transmission of additional live streaming, which improves the efficiency and stability of live streaming transmission, reduces the pressure on the server, reduces the network delay and packet loss rate, and significantly improves the user's viewing experience. At the same time, the solution also enhances the scalability and flexibility of the system, can adapt to live broadcast scenes of different scales and complexities, and provides strong technical support for the development of live broadcast business. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 It is an exemplary network architecture suitable for applying the live stream sharing node scheduling method of the present application;
[0012] Figure 2 A flowchart of an embodiment of a live stream sharing node scheduling method of the present application;
[0013] Figure 3 This is a principle block diagram of the live stream sharing node scheduling device of the present application;
[0014] Figure 4 This is a structural diagram of a live stream sharing node scheduling device used in this application. DETAILED DESCRIPTION
[0015] Before describing the specific embodiments of the technical solution of the present application in detail, the network architecture and application scenarios suitable for supporting the implementation of the technical solution of the present application are first disclosed. The technical solution of the present application is applicable to a typical network live broadcast platform, such as Figure 1 As shown, the platform is composed of a live broadcast server 83, a media server 85, a peer-to-peer network, and terminal devices 90 and 92 that serve as shared nodes in the peer-to-peer network.
[0016] The live broadcast server is responsible for managing the creation of the live broadcast room, the reception and distribution of the live stream. The media server is responsible for processing the encoding, transcoding and storage of the live stream, ensuring that the live stream can be transmitted to the audience in an appropriate format and quality. A peer-to-peer network (P2P network) is a distributed network composed of multiple terminal devices. These terminal devices act as shared nodes in the peer-to-peer network and act as both clients and servers during the transmission of the live stream, assisting in the distribution of the live stream by sharing their respective uplink bandwidth.
[0017] A shared node in a peer-to-peer network refers to a terminal device that participates in the live stream sharing task. Each shared node not only requests the live stream of the current live broadcast room it is accessing for playback and local consumption, but also acts as a transmission node to provide live streams to other shared nodes if there are surplus bandwidth resources and its own network conditions meet the network service score. The live broadcast server can also act as a management server for the peer-to-peer network in this architecture, responsible for coordinating and managing the connection and data transmission between shared nodes, including the distribution of live streams and the allocation of sharing tasks.
[0018] The media server can send the processed live stream to the source node dedicated to storage. The source node can also be regarded as a shared node in the peer-to-peer network that is mainly responsible for providing downlink transmission of the live stream. The media server sends the storage address of the live stream stored in the source node to the live server, which is then distributed to each shared node directly or through the management server of the peer-to-peer network. The source nodes that store the live stream refer to those nodes that have the original data of the live stream and are responsible for providing the initial source of the live stream.
[0019] The peer-to-peer network manages each shared node through a management server, and is assisted by the computer program product installed and run according to the live stream sharing task scheduling method of the present application on the management server, so that each shared node can establish a connection and realize the mutual sharing service of the live stream. The peer-to-peer network can create a corresponding live stream sharing task for the shared node corresponding to each live stream, and construct all the shared nodes based on the same live stream as the same sharing circle, maintain the corresponding live stream sharing list for it, and record the shared node information participating in the live stream sharing task, including their network address, bandwidth and connection status. When a new shared node joins the network, the management server can match it with the existing shared node according to the network status information and surplus bandwidth resources of the shared node, and assist in establishing a connection. In this way, the shared nodes can directly exchange live stream data without having to rely entirely on the centralized server, thereby reducing the load of the server and improving the efficiency and stability of the live stream transmission. In this way, the peer-to-peer network realizes the effective distribution of the live stream, while optimizing the use of network resources, making the shared service of the live stream more efficient and reliable. In some embodiments, the live server and the management server can be integrated and implemented in the same server.
[0020] In such a network architecture, the terminal device runs a live broadcast application, and the user can watch the live content through this application. The live broadcast application not only provides the live broadcast streaming playback function, but also integrates a computer program product implemented according to the live broadcast streaming sharing task scheduling method of the present application, and the computer program product mainly contains the business logic that requires the cooperation of the shared nodes in the method of the present application. When the user starts the live broadcast application and selects a live broadcast room for viewing, the application first obtains the live broadcast stream from the live broadcast server and plays it on the user's device to realize local consumption. At the same time, according to the technical solution of the present application, the application will also evaluate the network conditions of its own device to determine whether it can participate in the sharing tasks of other live broadcast streams.
[0021] If the network service conditions of the current shared node exceed the preset condition tolerance range and there are surplus bandwidth resources, the live broadcast application will use these resources to pull the live stream of the external live broadcast room from the peer-to-peer network and transmit it to other shared nodes that need these live streams. This process not only improves the utilization efficiency of network resources, but also enhances the robustness and flexibility of live stream transmission.
[0022] The live broadcast room in this application can be a video live broadcast room, whose live broadcast stream is generally video data, or a voice live broadcast room, whose live broadcast stream is generally pure audio data. The audio data in the voice live broadcast room has relatively low requirements for system overhead, and when combined with the technical solution of this application and applied to terminal devices such as smart phones, it has more efficiency advantages.
[0023] According to the technical solution of this application, the live broadcast application can not only provide the traditional live broadcast viewing experience, but also dynamically participate in the parallel transmission of the live stream according to the network conditions, and open the parallel sharing service of the live stream of the external live broadcast room. This integration makes each terminal device running the live broadcast application a flexible sharing node, which can not only play the live stream, but also intelligently participate in the distribution process of the live stream according to the network conditions and resource conditions.
[0024] In this way, the application can maximize the use of network resources while maintaining the efficiency and stability of live streaming transmission, provide users with a smoother and higher-quality live experience, and bring platform-level benefits. It can be seen that the combination of this network architecture and application scenario provides a practical and effective implementation environment for the technical solution of the application.
[0025] See also Figure 2 According to a live stream sharing node scheduling method provided by the present application, in some embodiments of the method, the following steps are included:
[0026] Step S3100: receiving network status information periodically reported by a shared node pre-registered as a consumer type in a peer-to-peer network during the process of consuming the current live stream being pulled and transmitted by the shared node, wherein the network status information includes resource usage information and network quality information of the corresponding shared node;
[0027] The shared nodes in this application may include nodes that are consuming live streams and displaying live streams on their graphical user interfaces. It is not difficult to understand that such shared nodes are nodes that directly open their graphical user interfaces to users in the live broadcast room; they may also include nodes that do not need to consume live streams themselves but can still assist in pulling and transmitting live streams. It is not difficult to understand that the current live stream in this application refers to the live stream that is being consumed by the consumption type shared node, while the additional live stream refers to the live stream that is consumed by other shared nodes without the consumption type shared node participating in the consumption. When a shared node accesses a peer-to-peer network, it will first register with the management server to submit some basic information, such as its UUID, consumption type, etc., and inform the management server through the consumption type to indicate whether it needs to consume the live stream.
[0028] This application mainly focuses on the consumption type of shared nodes, so as to examine whether these consumption type shared nodes have resource margins to provide pull transmission services for other additional live streams. These consumption type shared nodes can periodically report their own network status information while consuming the current live stream that they are pulling and transmitting. This information includes two main parts: resource usage information and network quality information. The resource usage information covers key indicators such as the bandwidth usage margin, CPU usage margin, memory usage margin, and GPU usage margin of the shared node. These indicators mainly reflect the current resource occupancy of the shared node and the amount of available resources. Network quality information includes parameters such as packet loss rate and delay value, which directly affect the transmission quality and user experience of the live stream. In addition, it can further include information such as network penetration configuration type to indicate the NAT type configured by the shared node, so that the management server can understand the penetration capability of the shared node to match the live stream sharing task.
[0029] In order to report network status information to the management server, the shared node needs to have a corresponding monitoring and reporting component built into the live broadcast application it is running. Specifically, the shared node will collect its own resource usage information and network quality information in real time through the built-in monitoring and reporting component, and then encapsulate this data into network status information and report it to the management server. The reporting process can be completed through preset communication protocols and interfaces. For example, HTTP, WebSocket and other protocols can be used to send data to the management server through the API interface.
[0030] The reported network status information needs to contain enough details so that the management server can accurately evaluate the status of the shared node. For example, the bandwidth usage margin can be determined by monitoring the network interface traffic of the shared node; the CPU and memory usage margin can be obtained through the performance monitoring tools provided by the operating system; and the packet loss rate and delay value can be measured by network quality testing tools such as ping or traceroute.
[0031] In actual applications, different shared nodes may have different hardware configurations and network environments, so the reported network status information needs to be able to reflect these differences. The management server will evaluate and sort the shared nodes based on this information, combined with preset strategies and algorithms, to provide decision support for subsequent live stream sharing task scheduling.
[0032] Step S3200: determine the real-time resource redundancy of the consumption type shared nodes according to the resource usage information reported periodically, sort the consumption type shared nodes according to the real-time resource redundancy, and obtain a resource sorting list;
[0033] The real-time resource redundancy of consumption-type sharing nodes can realize accurate evaluation of the currently available resources of sharing nodes, thereby identifying which consumption-type sharing nodes have sufficient resource margin to participate in the sharing task of additional live streams.
[0034] Real-time resource surplus is determined based on the resource usage information reported periodically by the shared nodes. Resource usage information includes key indicators such as bandwidth usage margin, CPU usage margin, memory usage margin, and GPU usage margin, which reflect the current resource occupancy and available resources of the shared nodes. For example, bandwidth usage margin can be determined by monitoring the network interface traffic of the shared nodes; CPU and memory usage margin can be obtained through the performance monitoring tools provided by the operating system; and GPU usage margin can be measured through specific GPU monitoring tools.
[0035] In order to convert these resource usage information into real-time resource surplus, it is necessary to quantify the surplus of each specific indicator in the resource usage information, and obtain it by weighted fusion calculation of each specific indicator. The weight coefficient used for weighting can be set according to the importance and contribution of different resources, and can be a manually preset empirical value. For example, bandwidth resources may be particularly important for live streaming transmission, so they may be given a higher weight. Of course, the weight coefficient can also be adjusted according to the actual application scenario and business needs.
[0036] After the weighted fusion calculation, the result is a quantitative value that represents the real-time resource abundance, which comprehensively reflects the resource status of the shared nodes. Subsequently, the consumption type shared nodes are sorted according to the real-time resource abundance to generate a resource sorting list. This list is sorted in descending order according to the real-time resource abundance of the shared nodes, and the shared nodes with the highest resource abundance are ranked first, indicating that they have the most resources available for additional live stream sharing tasks.
[0037] In practical applications, the resource ranking list can be used for subsequent sharing node selection and task allocation. The higher the real-time resource redundancy of the sharing nodes, the greater the possibility that they will be selected to perform additional live stream sharing tasks. In this way, the management server can reasonably allocate live stream sharing tasks according to the real-time resource status of the sharing nodes, optimize resource utilization, and improve the efficiency and stability of live stream transmission.
[0038] Step S3300: Determine the real-time network quality score of the consumption type shared node according to the periodically reported network quality information;
[0039] The real-time network quality score can be determined based on the network quality information reported periodically by the shared nodes. The network quality information mainly includes two key parameters: packet loss rate and delay value, which directly affect the transmission quality and user experience of the live stream. The packet loss rate refers to the proportion of data packets lost during transmission within a certain period of time, while the delay value refers to the time it takes for a data packet to be sent and received. These two parameters can comprehensively reflect the network transmission performance of the shared node.
[0040] In order to quantify the network quality information into a real-time network quality score, the network quality information reported by each shared node needs to be added to the corresponding quality information queue. The quality information queue is used to store the network quality information of the shared nodes within a certain time window for statistical analysis.
[0041] Next, based on the quality information queue, the proportion of network quality information with poor quality in the entire queue is counted. Specifically, when the packet loss rate of a shared node exceeds a preset packet loss rate threshold or the delay value exceeds a preset delay threshold, the network quality information of the node is marked as having poor quality. The preset thresholds are set according to the general requirements of network transmission and the characteristics of live streaming, and they are the benchmarks for evaluating network quality.
[0042] After the statistics are completed, the quality difference ratio is determined as the mathematical quality score of the shared node. This score is a quantitative indicator used to characterize the network quality status of the shared node. The mathematical quality score can be calculated by multiplying the quality difference ratio by a preset score base, or a more complex calculation based on the quality difference ratio and other factors (such as network stability, historical quality records, etc.).
[0043] Finally, according to the interval of the mathematical quality score of each shared node, the effective duration of the mathematical quality score is set and maintained. Within the effective time limit, the mathematical quality score is used as the real-time network quality score of the shared node for subsequent shared node selection and task allocation. The setting of the effective duration takes into account the dynamic changes of the network status to ensure that the score can reflect the current network conditions in a timely manner.
[0044] In specific implementation, different packet loss rate thresholds and delay value thresholds, as well as different scoring bases and effective durations can be set according to different network environments and business requirements. For example, in a high-bandwidth, low-latency network environment, the threshold can be set more strictly to ensure high-quality transmission of the live stream. In scenarios where bandwidth is limited or the network environment is unstable, the threshold can be appropriately relaxed to adapt to different network conditions.
[0045] Step S3400: Filter out a target sharing node from the resource sorting list according to the real-time network quality score and the real-time resource redundancy, and pull and transmit the additional live stream to the sharing node that consumes the additional live stream through the target sharing node.
[0046] The purpose of screening target shared nodes is to identify those shared nodes from the resource sorting list that have both good network quality scores and sufficient resource margin to support additional live streaming transmission. By comprehensively considering the real-time network quality scores and real-time resource margins of the shared nodes, it is ensured that the selected shared nodes can effectively provide live streaming services for other shared nodes.
[0047] Specifically, the management server can select qualified target shared nodes from the resource sorting list based on the real-time network quality score and real-time resource abundance of the shared nodes, and compare them with the preset screening strategy and threshold. The real-time network quality score reflects the network transmission performance of the shared node, while the real-time resource abundance represents the current resource status of the shared node. These two indicators together determine whether the shared node is suitable for taking on additional live stream sharing tasks.
[0048] During the screening process, the management server can adopt multiple strategies to determine the target shared nodes. For example, one strategy can be to select those shared nodes whose real-time network quality scores are higher than a certain value and whose real-time resource abundance is several places ahead in the resource sorting list. Such shared nodes not only have good network performance, but also have sufficient resource margin to handle additional live streaming tasks. Another strategy can be to give priority to those shared nodes with higher resource abundance but slightly lower network quality scores, especially when the network quality scores are generally low, to maximize resource utilization efficiency.
[0049] In addition, the screening strategy can also be adjusted according to the network penetration configuration type. For example, for live streaming sharing tasks that require high penetration capabilities, the management server can give priority to those sharing nodes with good NAT penetration capabilities. This can be achieved by analyzing the network penetration configuration types reported by the sharing nodes and selecting those sharing nodes whose configuration types indicate high penetration capabilities.
[0050] In actual applications, the process of selecting target sharing nodes is dynamic and will be adjusted according to the real-time status of the sharing nodes and changes in network conditions. The management server will continuously monitor the status of the sharing nodes and update the resource sorting list and network quality score based on the latest network status information to ensure that the most suitable sharing node is always selected as the target node for performing additional live stream sharing tasks.
[0051] Through this comprehensive consideration and dynamically adjusted screening mechanism, the management server can effectively optimize resource allocation, improve the efficiency and stability of live streaming transmission, and ensure the smoothness and high quality of user experience. In this way, the management server can ensure that at any given moment, the best shared nodes are used to support the pulling and transmission of additional live streams, thereby improving the performance of the entire live streaming sharing network.
[0052] According to the above embodiments, the present application can specifically solve various problems existing in traditional live streaming transmission technology and achieve corresponding beneficial effects, including but not limited to:
[0053] First, by receiving the network status information periodically reported by the shared nodes pre-registered as consumption types in the peer-to-peer network, including resource usage information and network quality information, the dynamic status of each node can be grasped in real time. Then, the real-time resource redundancy of the consumption type shared nodes is determined according to the resource usage information, and sorted according to the redundancy to generate a resource sorting list, so that nodes with sufficient resource margins can be accurately identified. At the same time, the real-time network quality score of the shared node is determined according to the network quality information to further evaluate the transmission capacity of the node. Finally, the target shared nodes whose real-time network quality score and real-time resource redundancy meet the preset strategy are selected from the resource sorting list, and these nodes are used to pull and transmit additional live streams for the shared nodes that consume additional live streams, thereby realizing efficient utilization and reasonable scheduling of node resources.
[0054] Secondly, by mobilizing various terminal devices that access the live broadcast room and consume the corresponding live stream as shared nodes, and serving the shared services of multiple live streams at the same time, the data transmission pressure of the centralized server can be significantly reduced, because more live stream transmission tasks are dispersed to various shared nodes with resource surplus, thereby alleviating the server load and reducing the jamming and interruption caused by server overload. At the same time, by real-time monitoring and evaluation of the network status of the node, it can effectively reduce network delay and packet loss problems, improve the stability and smoothness of live stream transmission, and provide users with a better viewing experience. From the perspective of the entire platform, its scale effect is significant.
[0055] In addition, this application makes full use of the uplink bandwidth and computing resources of the terminal devices in the peer-to-peer network, avoids idleness and waste of resources, and improves the resource utilization of the entire network. Moreover, through a reasonable node scheduling strategy, the transmission path of the live stream can be dynamically adjusted according to the real-time status of the node, further optimizing the transmission efficiency and ensuring the efficient distribution of the live stream.
[0056] Based on any embodiment of the method of the present application, the real-time resource redundancy of the consumption type shared nodes is determined according to the resource usage information reported periodically, and the consumption type shared nodes are sorted according to the real-time resource redundancy to obtain a resource sorting list, including:
[0057] Step S3210: extracting various resource usage indicators of the consumption type shared node from the periodically reported resource usage information, including bandwidth usage margin, CPU usage margin, memory usage margin, and GPU usage margin;
[0058] In the process of determining the real-time resource surplus of consumption-type shared nodes, it is first necessary to extract key resource usage indicators from the resource usage information reported periodically. Specifically, from the resource usage information reported by the shared nodes, the resource usage indicators that need to be extracted include bandwidth usage margin, CPU usage margin, memory usage margin, and GPU usage margin. These indicators reflect the current usage and available margin of the shared nodes in terms of network bandwidth, processing power, storage capacity, and graphics processing power, respectively.
[0059] Bandwidth usage margin refers to the amount of network bandwidth that is currently unoccupied by the shared node, which is directly related to the data transmission capacity that the shared node can provide. CPU usage margin and memory usage margin represent the unused parts of the central processing unit and memory resources of the shared node, respectively. They are important indicators for measuring the processing power and data storage capacity of the shared node. GPU usage margin involves graphics processing capabilities, which is particularly important for live streaming transmission that requires high-definition video processing and rendering.
[0060] The specific values of each resource usage indicator are normalized by the shared node in advance to ensure that different resource usage data can be compared and fused under a unified measurement. Specifically, the shared node first calculates the bandwidth usage margin, subtracts the total bandwidth of the shared node from its occupied bandwidth, and then divides the result by the total bandwidth to obtain a value between 0 and 1, which represents the proportion of the unused portion of the bandwidth to the total bandwidth. For other resource usage indicators such as CPU, memory, and GPU, this is achieved by subtracting their respective usage rates from 100%, that is, if the CPU usage rate is 70%, then the normalized margin is 30%. This processing method provides a unified quantitative standard for each resource usage indicator, allowing them to be directly compared, and facilitates subsequent weighted fusion calculations, ensuring the fairness and accuracy of different resources in comprehensive evaluation.
[0061] Step S3220: weighted fusion of the corresponding surplus of each resource usage indicator is performed according to a preset weight coefficient to obtain the real-time resource surplus of the consumption type sharing node, wherein the weight coefficient reflects the importance and contribution of different resources;
[0062] Each normalized resource usage indicator (bandwidth usage margin, CPU usage margin, memory usage margin, GPU usage margin) is weighted and quantified according to its importance and contribution to the live stream transmission. The weight coefficients required for weighting can be preset, and they reflect the importance of different resources in the live stream sharing task. For example, bandwidth resources may be given a higher weight because it directly affects the data transmission rate and the quality of the live stream. The weights of CPU and memory resources may be second because they affect the ability to process the live stream. GPU usage margin is also very important for scenarios that require high-definition video processing, especially in graphics-intensive applications.
[0063] The process of weighted convergence is accomplished by multiplying each resource usage metric by its corresponding weight coefficient and then adding up these weighted values. The result of this calculation, the real-time resource surplus, is a comprehensive indicator that reflects the availability of a shared node in terms of all key resources. For example, if a shared node has a high bandwidth margin but the CPU usage is close to full capacity, then despite the abundant bandwidth resources, the limitation of CPU resources may reduce its ability to handle additional live streams. Therefore, through weighted convergence, the overall resource status of a shared node can be more accurately assessed.
[0064] In specific implementations, the weight coefficients can be adjusted based on actual network conditions, business requirements, and historical data. For example, in an environment where network bandwidth is generally high, the weights of CPU and memory resources can be increased to focus more on processing power. Conversely, in an environment where bandwidth is limited, the weight of bandwidth resources may be higher. In addition, the weight coefficients can also be adjusted based on the specific purpose of the shared node. For example, for a node that mainly processes high-definition video, the weight of GPU resources may be increased.
[0065] Step S3230: Sort the consumption type shared nodes in descending order according to the real-time resource abundance to generate a resource sorting list.
[0066] After completing the weighted fusion, the real-time resource abundance of each shared node is used as a comprehensive indicator to reflect its overall availability in terms of key resources. Next, all shared nodes are sorted according to this comprehensive indicator. The sorting process adopts descending order, that is, the shared nodes with the highest resource abundance are at the front of the list, and the nodes with the lowest resource abundance are at the end of the list. This sorting method ensures that the shared nodes with the most abundant resources can be given priority consideration for additional live stream sharing tasks.
[0067] The resource ranking list is generated dynamically, and it is updated according to the resource usage information and network status reported in real time by each shared node. This means that as the resource status of shared nodes changes, their positions in the resource ranking list will also change accordingly. For example, if a shared node's bandwidth usage suddenly increases, causing its bandwidth margin to decrease, then its real-time resource surplus will decrease and move down in the resource ranking list. Conversely, if a shared node releases a large amount of resources, its real-time resource surplus will increase and may move up in the list.
[0068] The generation and update of the resource ranking list is crucial for the scheduling of live stream sharing tasks. It not only helps the management server quickly identify the sharing nodes with the most sufficient resources, but also provides a clear framework for allocating live stream sharing tasks among sharing nodes. In this way, it can ensure that live stream sharing tasks are assigned to the sharing nodes that are most capable of processing them, thereby optimizing the performance and efficiency of the entire live stream sharing network.
[0069] This embodiment significantly improves the resource utilization efficiency and transmission stability of the live stream sharing network by accurately evaluating and dynamically sorting the real-time resource redundancy of shared nodes for selecting the target shared nodes for live stream sharing tasks. By weighted integration of the margins of key resources such as bandwidth, CPU, memory, and GPU, and assigning different weights according to their importance to live stream transmission, the management server can comprehensively consider the resource status of each shared node to ensure that high-priority tasks are assigned to the nodes with the most abundant resources. This refined resource management not only optimizes the distribution path of the live stream and reduces dependence on the central server, but also improves the scalability and adaptability of the network, so that it can quickly respond and adjust the resource allocation strategy in the face of network fluctuations and resource competition, thereby ensuring the continuity and quality of the live stream, providing users with a smoother and higher-quality live experience.
[0070] Based on any embodiment of the method of the present application, determining the real-time network quality score of the consumption type shared node according to the periodically reported network quality information includes:
[0071] Step S3310: adding the network quality information periodically reported by each consumption type shared node to the quality information queue corresponding to the shared node;
[0072] Each shared node periodically reports its network quality information, including but not limited to key parameters such as packet loss rate and latency. These parameters are direct indicators for evaluating network transmission performance and directly affect the real-time transmission quality and user experience of live streaming. In order to systematically process this data, the management server will establish a quality information queue for each shared node to store all network quality information reported by the node within a certain time window.
[0073] The construction of the quality information queue is achieved by updating the data reported by each shared node in real time. Whenever a shared node reports new network quality information, the data will be added to the corresponding quality information queue, thereby ensuring that the data in the queue can reflect the latest network status of the shared node. The quality information queue allows the management server to track the changing trend of the shared node network quality, and the queue length can be set to define the scope of historical data storage, such as saving the data of the last 30 seconds or a few minutes.
[0074] In actual operation, the update and maintenance of the quality information queue needs to consider the real-time and accuracy of the data. The management server receives reports from shared nodes at preset time intervals (for example, every 30 seconds or every minute) and adds them to the queue. At the same time, the queue arranges the data in chronological order, ensuring that the earliest reported data is at the front of the queue and the latest reported data is at the end of the queue.
[0075] In addition, the reported network quality information needs to be stored in a structured format so that the management server can easily parse and process it. For example, each piece of reported data may include fields such as timestamp, packet loss rate, and delay value, which together constitute a complete network quality record. In this way, the management server can accurately extract and analyze the network quality information of each shared node, and then calculate a real-time score that reflects its network performance.
[0076] Step S3320: Count the proportion of network quality information with poor quality in the total number of network quality information in the entire queue based on the quality information queue, and determine the proportion as the mathematical quality score of the corresponding shared node, wherein when the packet loss rate in the network quality information is greater than a preset packet loss rate threshold or the delay is greater than a preset delay threshold, it is confirmed as network quality information with poor quality;
[0077] Determining the real-time network quality score of the shared node requires analyzing and evaluating the network quality information reported by the shared node.
[0078] First, based on the data in the quality information queue, calculate the proportion of network quality information with poor quality. Specifically, it can be obtained by counting the number of records in the quality information queue whose packet loss rate exceeds the preset threshold or whose delay value exceeds the preset threshold, and dividing it by the total number of records in the queue. The preset threshold is a benchmark set based on network transmission performance requirements and live streaming characteristics to evaluate the quality of the network. For example, if the preset packet loss rate threshold is 1% and the delay threshold is 100 milliseconds, then any record exceeding these values will be considered to be of poor quality.
[0079] The calculated ratio is then determined as the mathematical quality score of the shared node. This score is a quantitative indicator that reflects the network quality status of the shared node. The mathematical quality score can be calculated using a simple ratio calculation or based on a more complex algorithm that takes into account other factors such as network stability and historical quality records. For example, if there are 10 records in the queue and the packet loss rate of 3 of them exceeds a preset threshold, the mathematical quality score can be 0.3 (i.e., 30% of the records have poor quality).
[0080] Step S3330: according to the interval of the mathematical quality score of each shared node, set and maintain the effective duration of the mathematical quality score, and within the effective duration, use the mathematical quality score as the real-time network quality score of the corresponding shared node.
[0081] After determining the real-time mathematical quality score of the shared node, it is necessary to set and maintain the validity period of the mathematical quality score to ensure that the mathematical quality score can reflect the network status of the shared node in real time and become a network quality score. It can be set based on the interval in which the mathematical quality score is located, which means that different score intervals can correspond to different validity periods. For example, shared nodes with higher scores can have a longer validity period because their network status is more stable; while shared nodes with lower scores can have a shorter validity period because their network status may need to be updated more frequently to capture rapid changes.
[0082] Specifically, the management server determines the status of the network quality of the shared node based on its mathematical quality score and assigns a validity period accordingly. This validity period can be based on preset adjustment rules. For example, if the score is in the top 25% range, the validity period may be set to 10 minutes; if the score is in the bottom 25% range, the validity period may be shortened to 5 minutes or less. This setting ensures that the score can be updated in time to cope with rapid changes in network conditions.
[0083] During the validity period, the mathematical quality score is used as the real-time network quality score of the shared node for subsequent shared node selection and task allocation. This means that during this period, the management server will use this score to evaluate whether the shared node is suitable for taking on additional live stream sharing tasks. For example, a shared node with a high real-time network quality score may be preferentially selected to transmit high-quality live streams, while a node with a lower score may be restricted or excluded from critical tasks.
[0084] In addition, the setting of the effective duration also takes into account the dynamic nature of the network. Network conditions may change rapidly due to a variety of factors (such as an increase in the number of users, network congestion, etc.), so it is necessary to update the score and adjust the effective duration in real time. The management server monitors changes in network status and updates the score and effective duration of shared nodes when necessary to maintain the accuracy and timeliness of scheduling decisions.
[0085] Through this mechanism, the live stream sharing node scheduling method can ensure that the scoring system has sufficient flexibility to cope with instant changes in the network, while maintaining stability and reducing unnecessary computing and resource allocation overhead caused by frequent changes. This design improves the efficiency and reliability of live stream transmission and optimizes the performance of the entire live stream sharing network.
[0086] This algorithm can dynamically adjust the effective duration of the shared node based on its mathematical quality score, and update the actual network quality score accordingly. This method can not only reflect the network status of the shared node in real time, but also ensure that when the network conditions change, the management server can quickly respond and adjust the task allocation of the shared node, thereby optimizing the performance and efficiency of the entire live streaming sharing network.
[0087] This embodiment significantly improves the resource scheduling efficiency and transmission stability of the live streaming sharing network by accurately evaluating and dynamically adjusting the network quality score of the shared nodes and their effective duration. By establishing a quality information queue for each shared node, the management server can continuously track and analyze the network status of the node to ensure that the network quality score (QosScore) accurately reflects the current network conditions. Using the preset packet loss rate and delay value thresholds, the proportion of information with poor network quality can be identified and counted, and then the mathematical quality score of each shared node can be calculated, which is directly related to the real-time network performance of the node.
[0088] By setting the effective duration corresponding to different scoring intervals, the timeliness of the scoring can be ensured, so that high-scoring nodes have a longer effective duration when the network is stable, while low-scoring nodes update their scores more frequently to capture rapid changes in the network. This dynamic adjustment mechanism enables the management server to respond quickly based on the latest network status, giving priority to assigning tasks to those shared nodes with good network status, while limiting or excluding those nodes with poor network status, thereby optimizing the transmission path and quality of the live stream.
[0089] In addition, this embodiment also enhances the adaptability and robustness of the network, allowing timely adjustment of the task allocation of shared nodes in the face of network fluctuations and changes to maintain the continuity and quality of the live stream. This method not only improves the efficiency of live stream transmission and user experience, but also reduces the load on the server, reduces network latency and packet loss rate, and ultimately achieves overall performance optimization of the live stream sharing network.
[0090] In a more specific embodiment of the present application to implement step S3330, adjusting the effective duration of a shared node based on its mathematical quality score can be implemented by a more specific algorithm to ensure the timeliness and accuracy of the network quality score (QosScore, which is also a mathematical quality score before confirmation). The algorithm determines the value of the effective duration (Intervel) based on the interval in which the QosScore is located, and sets the timeout time (QosExpireTs) of the network quality score accordingly.
[0091] In summary, the algorithm implementation principle of adjusting the effective duration of a shared node based on its mathematical quality score can be summarized as follows: first, a series of scoring thresholds and corresponding effective duration values are defined. Each scoring threshold corresponds to an effective duration. The scoring thresholds are arranged from high to low, and the effective duration is longer than the threshold with a high score. When the mathematical quality score of the shared node is calculated, the corresponding effective duration is assigned according to the scoring interval to which it is settled, and the current timestamp is recorded. Subsequently, the timeout of the mathematical quality score is set according to the effective duration value. If the effective duration is greater than zero, the timeout will be increased accordingly, and an additional safety margin value will be considered to adapt to the rapid changes in the network. If the effective duration is much greater than zero, the score will become invalid immediately. Finally, based on the comparison between the timeout and the current time, it is determined whether the mathematical quality score is still valid, thereby updating the actual network quality score of the shared node to ensure the real-time and accuracy of the score, so that the management server can quickly adjust the task allocation according to the latest network status and optimize the performance and efficiency of the live stream sharing network. The following is a specific implementation example at the algorithm level in accordance with this principle:
[0092] First, multiple different scoring thresholds (Score_1, Score_2, Score_3, Score_4) are defined according to the expected number of intervals. They constitute the scoring interval of QosScore and are arranged in the order of Score_1> Score_2> Score_3> Score_4. At the same time, multiple valid duration values (Vaue_1, Vaue_2, Vaue_3, Vaue_4) are defined accordingly, satisfying the relationship of Vaue_1> Vaue_2> Vaue_3> Vaue_4, representing the valid duration corresponding to different scoring intervals.
[0093] When the QosScore of a shared node is calculated, the effective duration Intervel is determined based on the comparison between its value and the preset threshold. If the QosScore is greater than or equal to the highest threshold Score_1, then Intervel is assigned the longest effective duration Vaue_1, and the current timestamp is recorded to ensure that the score is valid within Vaue_1. If the value of QosScore is between Score_2 and Score_1, Intervel is assigned the second longest effective duration Vaue_2. Similarly, if the value of QosScore is between Score_3 and Score_2, or lower than Score_4, Intervel is assigned Vaue_3 and Vaue_4 respectively.
[0094] Next, the QosScore timeout QosExpireTs is set according to the value of Intervel. If Intervel is greater than 0, that is, QosScore is in a valid state, QosExpireTs will increase the time of Intervel, and take the smaller value of QosExpireTs and QosExpireTs plus an additional value Vaue_x as the final timeout. This additional value Vaue_x can be used as a safety margin to adapt to rapid changes in network status. If Intervel is equal to 0, that is, QosScore is in an invalid state, QosExpireTs is set to 0, indicating that the score is immediately invalid.
[0095] Finally, the current actual network quality score Score is calculated. If QosExpireTs is greater than the current timestamp, that is, the QosScore is still within the valid time limit, Score will be assigned the value of QosScore, indicating that the current network quality score is valid. If QosExpireTs is less than or equal to the current timestamp, that is, the QosScore has exceeded the valid time limit, Score will be assigned a value of 0, indicating that the current network quality score has expired and needs to be re-evaluated.
[0096] This specific embodiment significantly improves the efficiency and stability of the live streaming sharing network by accurately managing the network quality score (QosScore) of the shared nodes and its effective duration. By defining a series of scoring thresholds and corresponding effective duration values, the effective duration of the shared nodes can be dynamically adjusted according to the real-time mathematical quality score of the shared nodes to ensure the timeliness and accuracy of the score. This mechanism allows the management server to quickly make scheduling decisions based on the current network status of the shared nodes, giving priority to assigning tasks to nodes with good network status, while avoiding assigning critical tasks to nodes with poor network status, thereby optimizing the transmission path and quality of the live streaming.
[0097] In addition, this embodiment enhances the system's ability to adapt to rapid changes in the network by introducing an additional safety margin value (Vaue_x), ensuring the stability and reliability of the scoring system. By updating the actual network quality score of the shared node in real time, it is possible to respond to changes in network conditions in a timely manner, reduce live streaming interruptions or quality degradation caused by network fluctuations, and improve user experience. Ultimately, this embodiment not only improves the efficiency of live streaming transmission, but also reduces the load on the server, reduces network latency and packet loss rate, optimizes the performance and efficiency of the entire live streaming sharing network, and provides users with a smoother and higher-quality live streaming experience.
[0098] On the basis of any embodiment of the method of the present application, selecting a target shared node from the resource sorting list according to the real-time network quality score and the real-time resource abundance includes:
[0099] Step S3410: respond to a live stream sharing task matching request submitted by a sharing node that needs to consume an additional live stream, and obtain a network penetration configuration type of the sharing node;
[0100] When a shared node is accessing a live broadcast room and consuming the current live broadcast stream corresponding to the live broadcast room, after it evaluates that its own resource surplus is sufficient to undertake the pull and transmission tasks of other additional live broadcast streams, it can submit a live broadcast stream sharing task matching request to the management server. The management server receives the live broadcast stream sharing task matching request from the shared node, which indicates that the shared node expects to share the pull and transmission tasks of other additional live broadcast streams and hopes to participate in the sharing tasks of additional live broadcast streams. When submitting a matching request, the shared node can provide its network penetration configuration type, that is, the NAT type. The NAT (Network Address Translation) type describes how the NAT device of the network where the shared node is located handles data packets, which directly affects the connection ability between the node and other network nodes, especially in P2P networks.
[0101] NAT types include Full Cone, Restricted Cone, Port-Restricted Cone, and Symmetric. Each NAT type has a different degree of openness to external connections. Full Cone NAT is the most open to external connections, while Symmetric NAT is the most restrictive. The NAT type of a shared node determines the node's ability to successfully establish a P2P connection, which in turn affects the allocation of live stream sharing tasks.
[0102] Step S3420: Adapting a preset selection strategy according to the network penetration configuration type, and correspondingly determining respective screening thresholds of the real-time network quality score and the real-time resource abundance;
[0103] The management server adapts the preset selection strategy according to the NAT type provided by the shared node to determine the screening threshold of the node's real-time network quality score and real-time resource abundance. This means that for shared nodes with different NAT types, the management server may set different score and resource abundance requirements to ensure the effective execution of shared tasks. For example, for full-cone NAT nodes, due to their strong connection capabilities, the management server may set a lower network quality score threshold; while for symmetric NAT nodes, due to their limited connection capabilities, a higher score threshold may need to be set to ensure the smooth progress of the task.
[0104] In one embodiment, the management server adjusts the screening threshold to optimize task allocation according to the openness of the NAT type. For full cone NAT nodes, the screening threshold is set to a network quality score greater than 70% and a resource abundance greater than 50%; for restricted cone and port restricted cone NAT nodes, the threshold is increased to a network quality score greater than 80% and a resource abundance greater than 60%; for symmetric NAT nodes, the threshold is the highest, and the network quality score must be greater than 90% and the resource abundance must be greater than 70%.
[0105] This selection strategy ensures that even when network conditions are limited, available resources are maximized and nodes that are most likely to successfully complete tasks are prioritized. In this way, the management server can reasonably allocate live stream sharing tasks based on the network penetration capabilities of the shared nodes, improve the success rate of task execution, and optimize the performance of the entire live stream sharing network.
[0106] Step S3430: Determine from the resource ranking list a shared node whose real-time network quality score and real-time resource abundance exceed the corresponding screening threshold as a target shared node.
[0107] When determining the target sharing node, it can be achieved by comparing the real-time network quality score and real-time resource surplus of the sharing nodes in the resource sorting list with their respective screening thresholds, so as to identify those sharing nodes that have both good network status and sufficient resource margin to undertake additional live stream sharing tasks.
[0108] After determining the screening threshold, the management server will traverse the resource sorting list and select those sharing nodes whose real-time network quality score and real-time resource abundance exceed their respective preset screening thresholds. These selected sharing nodes will be regarded as target sharing nodes, and they will participate in the task of pulling and transmitting additional live streams. For example, if the screening threshold set by the management server is that the network quality score is greater than 80% and the resource abundance is greater than 60%, then only the sharing nodes that meet these two conditions will be selected as the target nodes for performing the live stream sharing task.
[0109] This embodiment significantly improves the efficiency and stability of the live stream sharing network by accurately adapting the preset selection strategy according to the network penetration configuration type (NAT type) of the shared node, and setting the screening threshold of the real-time network quality score and the real-time resource redundancy accordingly. This embodiment allows the management server to reasonably allocate the live stream sharing tasks according to the network penetration capability of the shared node, and give priority to those nodes that are most likely to successfully complete the task, thereby improving the success rate of task execution. In this way, it is possible to maximize the use of available resources, optimize the transmission path and quality of the live stream, reduce network delay and packet loss rate, and provide users with a smoother and higher-quality live experience. In addition, this embodiment also enhances the adaptability and robustness of the network, allowing the task allocation of the shared node to be adjusted in time in the face of network fluctuations and changes, maintaining the continuity and quality of the live stream, and optimizing the performance of the entire live stream sharing network.
[0110] On the basis of any embodiment of the method of the present application, the target sharing node pulls and transmits the additional live stream for the sharing node that consumes the additional live stream, including:
[0111] Step S3440: Send the live stream sharing task corresponding to the additional live stream to the target sharing node;
[0112] After selecting the target sharing nodes that will undertake the live stream sharing tasks, live stream sharing tasks corresponding to the additional live streams can be sent to these nodes so that they can start providing additional live stream pulling and transmission services for other sharing nodes.
[0113] The dispatch of tasks is completed through a clear instruction, which contains the specific details of the task, such as the identifier of the live stream, the network address of the source node, the operation to be performed by the target shared node, etc. This instruction is sent to the target shared node through a preset communication protocol to ensure the accurate communication of task information and the smooth execution of the task.
[0114] Step S3450: After receiving the target sharing node's determination of whether its own network condition meets the preset condition corresponding to supporting the sharing service, the corresponding decision result returned, when the decision result indicates that it meets the condition, the target sharing node is added as a member node of the sharing circle of the additional live stream;
[0115] The management server needs to verify whether the network status of the target sharing nodes meets the preset conditions to ensure that they can smoothly provide live streaming pull and transmission services. To this end, the management server will wait for the decision result returned by the target sharing node. This decision result is obtained by the target sharing node based on its own network conditions, indicating whether it has sufficient bandwidth, low latency, and sufficient processing power to handle additional live streaming tasks. The target sharing node can determine its decision result based on key performance indicators such as its own network bandwidth usage, CPU and memory load, by comparing with the corresponding preset performance thresholds.
[0116] If the target sharing node's self-assessment results show that it meets or exceeds these preset conditions, it will return a positive decision result to the management server, indicating that it is ready and able to assume the sharing service. After receiving this positive feedback, the management server will formally add the node to the sharing circle of the additional live stream, making it a member node. The sharing circle is a node list maintained by the management server, which contains all sharing nodes that are authorized to participate in a specific live stream sharing task.
[0117] Step S3460: A member node in the sharing circle receives a pull request from a sharing node that consumes an additional live stream, and provides a pull transmission service for the additional live stream to the sharing node that consumes the additional live stream based on the network conditions determined in real time by the member node itself.
[0118] When the target sharing nodes are added to the sharing circle, as members of the sharing circle, these nodes will begin to receive pull requests from sharing nodes that need to consume additional live streams. They will provide live stream pulling and transmission services to the requesting nodes based on the network conditions they determine in real time. This includes pulling live stream data from source nodes or other sharing nodes and transmitting it to the sharing nodes requesting services, ensuring smooth transmission and efficient distribution of live streams.
[0119] Member nodes monitor their network bandwidth, latency, packet loss rate and other key performance indicators in real time to ensure that they can meet the requirements for providing live streaming services. Based on these real-time data, member nodes will decide whether to accept streaming requests from other shared nodes. If the network conditions of the member node meet the preset performance thresholds, such as sufficient bandwidth margin and low latency, then it will accept the request and start pulling live streaming data. After the data is pulled, the member node transmits the live stream to the shared node requesting the service.
[0120] In addition, member nodes will continue to evaluate their own network status during the service provision process to ensure the continuity and stability of the service. If network conditions deteriorate, such as a sudden increase in bandwidth usage or increased latency, member nodes can re-evaluate whether they can continue to provide services and report status changes to the management server in a timely manner.
[0121] This embodiment significantly improves the efficiency and reliability of the live stream sharing network through precise task dispatching and network status evaluation. By sending specific live stream sharing tasks to the target sharing nodes and determining whether they can take on additional live stream tasks based on the real-time network conditions of these nodes, the management server can effectively schedule resources to ensure the stable transmission of the live stream. This method not only optimizes the distribution path of the live stream and reduces the dependence on the central server, but also improves the scalability and adaptability of the network, so that it can quickly respond and adjust resource allocation in the face of network fluctuations and changes. As a result, the user experience is improved, the smoothness and quality of the live stream are guaranteed, and the network delay and packet loss rate are reduced, providing strong technical support for the development of the live broadcast business.
[0122] Based on any embodiment of the method of the present application, providing the pull transmission service of the additional live stream for the shared node consuming the additional live stream according to the network condition determined in real time by the member node itself, including:
[0123] Step S4110: monitor the network bandwidth usage and resource load status of the member node in real time, and calculate the currently available bandwidth usage margin and resource abundance;
[0124] Each member node can monitor its own network bandwidth usage and resource load status in real time, so as to accurately assess whether it has sufficient network conditions to support the pulling and transmission services of additional live streams.
[0125] Specifically, the member nodes can determine the bandwidth usage margin in the following way: first count the node periodic sending traffic, recorded as Flow_send, and track the pull request traffic Flow_add_second generated per second in the preset time period to form a queue Flow_queue and accumulate the traffic Flow_all. If the pull request is canceled, remove the corresponding traffic Flow_remove_second from the Flow_queue and update Flow_all. By comparing the accumulated traffic Flow_all plus the sending traffic Flow_send with the self-limited bandwidth threshold Flow_threshold, the member node can determine whether the current estimated bandwidth capacity meets the request. The bandwidth margin determined at this time is the effective bandwidth usage margin.
[0126] To determine the resource abundance, the member nodes evaluate the resource usage including CPU, memory and GPU in the manner described above. This is consistent with the determination method mentioned above, that is, by analyzing the resource usage indicators of the shared nodes, such as CPU usage margin, memory usage margin and GPU usage margin, and performing weighted fusion according to the preset weight coefficient, the real-time resource abundance is obtained.
[0127] Based on this, the member nodes can determine their currently available bandwidth usage margin and resource abundance. These data will be used to subsequently evaluate whether the member nodes can undertake the task of pulling and transmitting additional live streams.
[0128] Step S4120: Based on the network conditions represented by the calculated bandwidth usage margin and resource redundancy, evaluate whether the member node itself has sufficient network conditions to support the pull transmission service of the additional live stream;
[0129] After obtaining the bandwidth usage margin and resource abundance data, the member node compares these data with the preset performance thresholds. These preset thresholds can be set based on historical data and business needs to ensure the quality and efficiency of live streaming transmission. If the bandwidth usage margin and resource abundance of a member node are both higher than or equal to these thresholds, then it can be considered that the node has sufficient network conditions to support the pull transmission service of additional live streaming.
[0130] For example, if the preset bandwidth threshold is 100Mbps, and the current bandwidth usage margin of the member node is 150Mbps; the preset resource abundance threshold is 70%, and the resource abundance of the member node is 80%, then the member node meets the preset requirements and can undertake additional live streaming sharing tasks. On the contrary, if the bandwidth usage margin or resource abundance of the member node is lower than these thresholds, it will not be able to undertake additional live streaming tasks to avoid affecting the quality and stability of the existing live streaming.
[0131] Step S4130: When the evaluation result indicates that the network conditions meet the preset requirements, the member node responds to the stream pulling request of the shared node that consumes the additional live stream and establishes a data transmission connection with it. Through the established connection, the member node pulls the additional live stream from the source node or other shared nodes and transmits it to the shared node that consumes the additional live stream.
[0132] After confirming that their bandwidth usage margin and resource abundance meet the preset performance threshold, the member node will actively respond to the pull stream request from other shared nodes. It will establish a data transmission connection with the requester of the pull stream request, and then use the available bandwidth and resources to establish a stable network connection with the shared node requesting the live stream, so as to transmit the live stream data.
[0133] After the connection is established, the member node pulls additional live stream data from the source node or other shared nodes. After obtaining the data, the member node transmits these live streams to the shared node requesting the service. During the transmission process, the member node can dynamically adjust the transmission rate and strategy according to the changes in network conditions to ensure the smoothness and stability of the live stream. For example, if a sudden decrease in network bandwidth or increase in latency is detected, the member node may reduce the transmission rate or select a more optimal transmission path to adapt to these changes.
[0134] In addition, member nodes will continuously monitor their own network status during the service provision process to ensure the continuity and stability of the service. If the network conditions deteriorate to the point where the quality of live streaming cannot be maintained, the member nodes will promptly report to the management server and may suspend or terminate the service to avoid affecting the overall quality of the live streaming.
[0135] This embodiment achieves efficient scheduling of live stream sharing tasks by evaluating the network bandwidth usage margin and resource redundancy of the member nodes. By real-time monitoring and comparing these key indicators with preset thresholds, member nodes can accurately determine whether they have sufficient network resources to undertake additional live stream transmission tasks. This method ensures that only nodes with sufficient resources will participate in the pulling and transmission of live streams, thereby improving the stability and quality of live stream transmission. In addition, the ability to dynamically adjust transmission strategies and continuously monitor network status enables member nodes to adapt to changes in network conditions and optimize the transmission efficiency of live streams. Ultimately, this refined resource management and scheduling mechanism not only improves user experience, reduces latency and packet loss, but also enhances the overall performance and reliability of the live stream sharing network, providing users with a smoother and higher-quality live experience.
[0136] Based on any embodiment of the method of the present application, providing the pull transmission service of the additional live stream for the shared node consuming the additional live stream according to the network condition determined in real time by the member node itself, including:
[0137] Step S4210: collect multiple network performance indicators of the member node itself in real time, including any multiple of the packet loss rate and delay value corresponding to the current live stream being accessed, the network penetration configuration type score, the CPU usage margin, the memory usage margin, and the GPU usage margin;
[0138] In this embodiment, multiple specific network performance indicators of the member nodes themselves are collected in real time to evaluate whether the node can undertake the pull and transmission services of additional live streams. Specifically, the network performance indicators that the member nodes need to collect include bandwidth usage margin, packet loss rate, delay value, network penetration configuration type score, CPU usage margin, memory usage margin, and GPU usage margin. These indicators can fully reflect the network status and resource availability of the node.
[0139] Bandwidth usage margin refers to the amount of network bandwidth that is not currently occupied by the member node, which is directly related to the data transmission capacity that the node can provide. Packet loss rate and latency value are key parameters for measuring network transmission quality, which directly affect the real-time transmission quality and user experience of the live stream. The network penetration configuration type score reflects the connection capability of the node in the P2P network. Different NAT types have different effects on the connection between nodes. The CPU, memory, and GPU usage margins represent the processing power, data storage capacity, and graphics processing capacity of the node, respectively. In actual operation, member nodes will collect these network performance indicators at preset time intervals (for example, every 30 seconds or every minute) for real-time analysis to evaluate whether the node's network conditions meet the requirements for pulling and transmitting additional live streams.
[0140] Step S4220: perform weighted calculation on each collected network performance indicator according to a preset weight coefficient to obtain a network service score that comprehensively reflects the network conditions of the member nodes, wherein the weight coefficients of the packet loss rate and the delay value are configured as negative items;
[0141] The collected network performance indicators are weighted and calculated according to the preset weight coefficients to obtain a network service score that comprehensively reflects the network conditions of the member nodes. Based on this, the total indicator value of each network performance indicator is first determined. For example, for network response indicators, including packet loss rate and delay value, they are weighted and converted through specific weight coefficients to form a unified total indicator value. In this embodiment, the weight coefficients of packet loss rate and delay value are configured as negative items, because these indicators usually reflect the unfavorable aspects of network performance, and the lower their values, the better the network performance.
[0142] Specifically, the network response index focuses on the network performance index corresponding to the live stream that the member node itself is consuming. The total value of the index can be calculated by the following formula: ScoreStreamFloated = LossRateStreamA*w1+RTTStreamA*w2, where LossRateStreamA represents the packet loss rate, RTTStreamA represents the delay value, and w1 and w2 are the corresponding weight coefficients. These weight coefficients are set according to the importance of the network response index. Usually, the values of w1 and w2 will make the packet loss rate and delay value occupy an appropriate proportion in the final score.
[0143] The network configuration indicator is the network penetration configuration type score, which is set based on the NAT type of the member node. Different NAT types have different friendliness to P2P connections, which affects the transmission efficiency of the live stream. Therefore, different fixed scores ScoreFixed are set according to different NAT types, where Full Cone NAT is X, Port-RestrictedCone NAT is Y, Restricted Cone NAT and Symmetric NAT are Z, and X>Y>Z.
[0144] System overhead indicators include CPU usage margin, GPU usage margin and memory usage margin, which are quantified into a machine score floating score ScoreMachineFloated through weighted fusion. For example, ScoreMachineFloated = CPULeft*f1+GPULeft*f2+MemLeft*f3, where f1, f2 and f3 are corresponding weight coefficients, and f1>f3>f2, reflecting the importance of different resources in live streaming transmission.
[0145] Finally, the network service score ScoreFinal is obtained by weighting and fusing the total values of these indicators, and the formula is: ScoreFinal = ScoreFixed*fa + ScoreMachineFloatedfb-ScoreStreamFloatedfc. Here, fa, fb and fc are weight coefficients, and fc>fa>fb, they are arranged from large to small according to the importance of each indicator, and the weighted result of the network response indicator item is configured as a negative value by resetting its weight to a negative number to reflect its negative impact on the network service quality.
[0146] Through this weighted calculation, the network service score ScoreFinal comprehensively considers the impact of network configuration, network response and system overhead, and provides a quantitative network service condition evaluation result. This score not only reflects the network service condition of the member node, but is also directly related to the decision of whether to start a new channel and whether to maintain the existing channel, thus providing a scientific basis for the allocation and execution of live stream sharing tasks.
[0147] Step S4230: compare the calculated network service score with a preset conditional grace interval. When the network service score is lower than the conditional grace interval, the member node limits the pull transmission service of at least one additional live stream according to a preset restriction strategy.
[0148] The conditional tolerance interval is a numerical range set to ensure the quality and efficiency of live stream transmission. When the network service score of a member node is lower than this preset threshold, it means that the network conditions of the node are not sufficient to support the pull and transmission services of additional live streams, or there is a potential risk that may cause service interruption or quality degradation. In this case, the member node will limit the pull and transmission service of at least one additional live stream according to the preset restriction strategy. This restriction strategy can be to disconnect some pull requests, suspend new pull requests, and reduce the transmission rate to prioritize the service quality of the live stream currently being transmitted.
[0149] Step S4240: When the value is higher than the conditional grace interval, respond to the stream pulling request of the shared node that consumes the additional live stream, establish a data transmission connection with it, pull the additional live stream from the source node or other shared nodes through the established connection, and transmit it to the shared node that consumes the additional live stream.
[0150] When the network service score of a member node is higher than the preset condition tolerance interval, it indicates that the node has good network conditions and can support the pull and transmission services of additional live streams. In this case, the member node will actively respond to the pull request from other shared nodes and start the process of establishing a data transmission connection. A stable network connection is established with the shared node requesting the live stream to efficiently transmit the live stream data.
[0151] After the connection is established, the member node will pull additional live stream data from the source node or other shared nodes. After obtaining the data, the member node transmits these live streams to the shared node requesting the service. In addition, while providing services, the member node will continuously monitor its own network status to ensure the continuity and stability of the service. If the network conditions deteriorate to the point where the quality of the live stream transmission cannot be maintained, the member node will promptly report to the management server and may suspend or terminate the service to avoid affecting the overall quality of the live stream.
[0152] This embodiment achieves accurate scheduling and efficient management of live stream sharing tasks by monitoring and evaluating the network performance indicators of the member nodes in real time. This method ensures that only nodes with good network conditions will take on additional live stream transmission tasks, giving priority to ensuring the stability of the current live stream of the live room that the member node itself is accessing, thereby improving the transmission quality and user experience of the live stream from the perspective of the entire platform.
[0153] This embodiment collects key indicators such as packet loss rate, delay value, network penetration configuration type score, CPU usage margin, memory usage margin, and GPU usage margin in real time, and performs weighted calculation in combination with preset weight coefficients to obtain a network service score that comprehensively reflects its network service conditions. When the network service score is higher than the preset condition grace interval, the member node will actively respond to the pull stream request, establish a data transmission connection with the requesting node, and pull additional live streams from the source node or other shared nodes for transmission. During the transmission process, the transmission strategy is dynamically adjusted to adapt to changes in network conditions such as suspending services or reducing transmission rates, ensuring the stable transmission of live streams to ensure the quality and stability of live streams. In general, the application of this embodiment significantly improves the efficiency and reliability of the live stream sharing network, optimizes resource allocation, reduces network delays and packet loss rates, and improves the transmission quality of live streams, thereby providing users with a smoother and higher-quality live experience. This method also enhances the adaptability and robustness of the network, so that the system can respond quickly and maintain the continuity and quality of services in the face of network fluctuations and changes.
[0154] See also Figure 3 According to one aspect of the present application, a live stream sharing node scheduling device is provided, comprising a state monitoring module 3100, a resource sorting module 3200, a node scoring module 3300, and a service execution module 3400, wherein the state monitoring module 3100 is configured to receive network state information periodically reported by a shared node pre-registered as a consumption type in a peer-to-peer network during the process of consuming the current live stream that it is pulling and transmitting, and the network state information includes resource usage information and network quality information of the corresponding shared node; the resource sorting module 3200 is configured to determine the real-time resource redundancy of the consumption type shared node according to the resource usage information reported periodically, and sort the consumption type shared nodes according to the real-time resource redundancy to obtain a resource sorting list; the node scoring module 3300 is configured to determine the real-time network quality score of the consumption type shared node according to the network quality information reported periodically; the service execution module 3400 is configured to filter out a target shared node from the resource sorting list according to the real-time network quality score and the real-time resource redundancy, and pull and transmit the additional live stream for the shared node that consumes the additional live stream through the target shared node.
[0155] Based on any embodiment of the device of the present application, the resource sorting module 3200 includes: an indicator extraction module, which is configured to extract various resource usage indicators of consumption type shared nodes from the periodically reported resource usage information, including bandwidth usage margin, CPU usage margin, memory usage margin and GPU usage margin; a resource quantification module, which is configured to weightedly fuse the margins corresponding to each resource usage indicator according to a preset weight coefficient to obtain the real-time resource redundancy of the consumption type shared node, and the weight coefficient reflects the importance and contribution of different resources; a node sorting module, which is configured to sort the consumption type shared nodes in descending order according to the real-time resource redundancy to generate a resource sorting list.
[0156] Based on any embodiment of the device of the present application, the node scoring module 3300 includes: a reporting and queuing module, configured to add the network quality information periodically reported by each consumption type shared node to the quality information queue corresponding to the shared node; a scoring calculation module, configured to count the proportion of network quality information with poor quality in the total number of network quality information in the entire queue based on the quality information queue, and determine the proportion as the mathematical quality score of the corresponding shared node, wherein when the packet loss rate in the network quality information is greater than a preset packet loss rate threshold or the delay is greater than a preset delay threshold, it is confirmed as network quality information with poor quality; a scoring determination module, configured to set and maintain the effective duration of the mathematical quality score according to the interval in which the mathematical quality score of each shared node is located, and within the effective duration, the mathematical quality score is used as the real-time network quality score of the corresponding shared node.
[0157] Based on any embodiment of the device of the present application, the service execution module 3400 includes: a configuration determination module, which is configured to respond to a live stream sharing task matching request submitted by a shared node that needs to consume an additional live stream, and obtain the network penetration configuration type of the shared node; a threshold determination module, which is configured to adapt a preset selection strategy according to the network penetration configuration type, and correspondingly determine the respective screening thresholds of the real-time network quality score and the real-time resource abundance; a target screening module, which is configured to determine from the resource sorting list a shared node whose real-time network quality score and real-time resource abundance exceed its corresponding screening threshold as a target shared node.
[0158] Based on any embodiment of the device of the present application, the service execution module 3400 includes: a task push module, configured to send a live stream sharing task corresponding to the additional live stream to the target sharing node; a node self-determination module, configured to receive the decision result returned by the target sharing node after determining whether its own network conditions meet the preset conditions corresponding to supporting the sharing service, and when the decision result indicates that the conditions are met, the target sharing node is added as a member node of the sharing circle of the additional live stream; a stream pull response module, configured to receive a stream pull request from a sharing node that consumes the additional live stream by a member node in the sharing circle, and provide the sharing node that consumes the additional live stream with a pull transmission service for the additional live stream based on the network conditions determined in real time by the member node itself.
[0159] Based on any embodiment of the device of the present application, the stream pulling response module includes: a node monitoring module, which is configured to monitor the network bandwidth usage and resource load status of the member node itself in real time, and calculate the currently available bandwidth usage margin and resource redundancy; a condition evaluation module, which is configured to evaluate whether the member node itself has sufficient network conditions to support the pull transmission service of the additional live stream based on the network conditions represented by the calculated bandwidth usage margin and resource redundancy; a stream pulling execution module, which is configured to, when the evaluation result shows that the network conditions meet the preset requirements, the member node responds to the stream pulling request of the shared node that consumes the additional live stream, and establishes a data transmission connection with it. Through the established connection, the member node pulls the additional live stream from the source node or other shared nodes, and transmits it to the shared node that consumes the additional live stream.
[0160] Based on any embodiment of the device of the present application, the pull stream response module includes: an indicator detection module, which is configured to collect multiple network performance indicators of the member node itself in real time, including any multiple of the packet loss rate and delay value corresponding to the current live stream it is accessing, the network penetration configuration type score, the CPU usage margin, the memory usage margin and the GPU usage margin; a score determination module, which is configured to perform weighted calculation on each collected network performance indicator according to a preset weight coefficient to obtain a network service score that comprehensively reflects the network conditions of the member node, wherein the weight coefficients of the packet loss rate and the delay value are configured as negative items; a restriction execution module, which is configured to compare the calculated network service score with a preset conditional grace interval, and when the network service score is lower than the conditional grace interval, the member node limits the pull transmission service of at least one additional live stream according to a preset restriction strategy; a pull stream execution module, which is configured to respond to the pull stream request of the shared node that consumes the additional live stream when it is higher than the conditional grace interval, establish a data transmission connection with it, pull the additional live stream from the source node or other shared nodes through the established connection, and transmit it to the shared node that consumes the additional live stream.
[0161] Another embodiment of the present application also provides a live stream sharing node scheduling device. Figure 4 As shown, a schematic diagram of the internal structure of a live stream sharing node scheduling device. The live stream sharing node scheduling device includes a processor, a computer-readable storage medium, a memory, and a network interface connected through a system bus. Among them, the computer-readable non-volatile readable storage medium of the live stream sharing node scheduling device stores an operating system, a database, and computer-readable instructions. The database may store an information sequence. When the computer-readable instructions are executed by the processor, the processor can implement a live stream sharing node scheduling method.
[0162] The processor of the live stream sharing node scheduling device is used to provide computing and control capabilities to support the operation of the entire live stream sharing node scheduling device. The memory of the live stream sharing node scheduling device may store computer-readable instructions, and when the computer-readable instructions are executed by the processor, the processor may execute the live stream sharing node scheduling method of the present application. The network interface of the live stream sharing node scheduling device is used to connect and communicate with the terminal.
[0163] Those skilled in the art will understand that Figure 4 The structure shown in the figure is only a block diagram of a partial structure related to the scheme of the present application, and does not constitute a limitation on the live stream sharing node scheduling device to which the scheme of the present application is applied. The specific live stream sharing node scheduling device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.
[0164] In this embodiment, the processor is used to execute Figure 3 The memory stores the program code and various data required to execute the above modules or submodules. The network interface is used to realize data transmission between user terminals or servers. The non-volatile readable storage medium in this embodiment stores the program code and data required to execute all modules in the live stream sharing node scheduling device of this application, and the server can call the program code and data of the server to execute the functions of all modules.
[0165] The present application also provides a non-volatile readable storage medium storing computer-readable instructions. When the computer-readable instructions are executed by one or more processors, the one or more processors execute the steps of the live stream sharing node scheduling method of any embodiment of the present application.
[0166] The present application also provides a computer program product, including a computer program / instruction, which implements the steps of the method described in any embodiment of the present application when executed by one or more processors.
[0167] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments of the present application can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile readable storage medium. When the program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, the aforementioned storage medium can be a computer-readable storage medium such as a disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
[0168] In summary, the present application shows significant advantages in application. First, it greatly improves the efficiency and stability of live streaming transmission. By accurately evaluating the resource redundancy and network quality of shared nodes and rationally scheduling node resources, the live streaming can be distributed through the optimal transmission path, reducing the delay and packet loss during data transmission, and ensuring the smooth playback of live content. Secondly, it effectively alleviates the pressure of centralized servers and reduces the load and operating costs of servers. Distributing some transmission tasks to various shared nodes allows the server to focus more on the processing of core businesses, improving the reliability and scalability of the entire live broadcast system. In addition, it also makes full use of the idle resources of terminal devices in the peer-to-peer network, improves resource utilization, and provides users with richer live content and a better viewing experience. At the same time, it also has good flexibility and adaptability, can dynamically adjust the scheduling strategy according to the real-time network status and node status, quickly respond to network changes and user needs, and enhance the robustness and user experience of the live broadcast system. In short, the present application provides an efficient, stable and economical solution for the live broadcast industry, with broad application prospects and important promotion value.
Claims
1. A method for scheduling a live stream sharing node, characterized in that: include: Receiving network status information periodically reported by a shared node pre-registered as a consumer type in a peer-to-peer network during the process of consuming the current live stream being pulled and transmitted by the shared node, wherein the network status information includes resource usage information and network quality information of the corresponding shared node; Determine the real-time resource surplus of the consumption type shared nodes according to the resource usage information reported periodically, sort the consumption type shared nodes according to the real-time resource surplus, and obtain a resource sorting list; Determine the real-time network quality score of the consumer type shared node based on the periodically reported network quality information; A target sharing node is selected from the resource sorting list according to the real-time network quality score and the real-time resource abundance, and the additional live stream is pulled and transmitted to the sharing node consuming the additional live stream through the target sharing node.
2. The method for scheduling live stream sharing nodes according to claim 1, characterized in that: The real-time resource surplus of the consumption type shared nodes is determined according to the resource usage information reported periodically, and the consumption type shared nodes are sorted according to the real-time resource surplus to obtain a resource sorting list, including: Extract various resource usage indicators of the consumption type shared node from the resource usage information reported periodically, including bandwidth usage margin, CPU usage margin, memory usage margin, and GPU usage margin; According to the preset weight coefficient, the corresponding surplus of each resource usage indicator is weighted and integrated to obtain the real-time resource surplus of the consumption type sharing node. The weight coefficient reflects the importance and contribution of different resources; The consumption type shared nodes are sorted in descending order according to the real-time resource abundance to generate a resource sorting list.
3. The method for scheduling live stream sharing nodes according to claim 1, characterized in that: The real-time network quality score of the consumer type shared node is determined based on the periodically reported network quality information, including: Add the network quality information periodically reported by each consumption type shared node to the quality information queue corresponding to the shared node; Based on the statistics of the quality information queue, the proportion of network quality information with poor quality in the total number of network quality information in the entire queue is determined as the mathematical quality score of the corresponding shared node, wherein when the packet loss rate in the network quality information is greater than a preset packet loss rate threshold or the delay is greater than a preset delay threshold, it is confirmed as network quality information with poor quality; According to the interval in which the mathematical quality score of each shared node is located, the effective duration of the mathematical quality score is set and maintained. During the effective duration, the mathematical quality score is used as the real-time network quality score of the corresponding shared node.
4. The method for scheduling live stream sharing nodes according to claim 1, characterized in that: The target shared node is selected from the resource sorting list according to the real-time network quality score and the real-time resource abundance, including: Respond to the live stream sharing task matching request submitted by the sharing node that needs to consume additional live streams, and obtain the network penetration configuration type of the sharing node; According to the network penetration configuration type, a preset selection strategy is adapted to determine the respective screening thresholds of the real-time network quality score and the real-time resource abundance; A shared node whose real-time network quality score and real-time resource abundance exceed its corresponding screening threshold is determined from the resource sorting list as a target shared node.
5. The method for scheduling a live stream sharing node according to any one of claims 1 to 4, characterized in that: Pulling and transmitting the additional live stream to a shared node that consumes the additional live stream through the target shared node includes: Sending a live stream sharing task corresponding to the additional live stream to a target sharing node; After receiving the target sharing node's determination of whether its own network condition meets the preset condition corresponding to supporting the sharing service, the corresponding returned decision result, when the decision result indicates that it meets the condition, the target sharing node is added as a member node of the sharing circle of the additional live stream; The member nodes in the sharing circle receive the pull stream request from the sharing node that consumes the additional live stream, and provide the pull transmission service of the additional live stream to the sharing node that consumes the additional live stream according to the network conditions determined in real time by the member node itself.
6. The method for scheduling live stream sharing nodes according to claim 5, characterized in that: Providing a pull transmission service of the additional live stream to the shared node consuming the additional live stream according to the network condition determined in real time by the member node itself, including: Monitor the network bandwidth usage and resource load of member nodes in real time, and calculate the current available bandwidth usage margin and resource abundance; Based on the network conditions represented by the calculated bandwidth usage margin and resource abundance, evaluate whether the member node itself has sufficient network conditions to support the pull transmission service of additional live streams; When the evaluation results show that the network conditions meet the preset requirements, the member node responds to the stream pulling request of the shared node that consumes the additional live stream and establishes a data transmission connection with it. Through the established connection, the member node pulls the additional live stream from the source node or other shared nodes and transmits it to the shared node that consumes the additional live stream.
7. The method for scheduling live stream sharing nodes according to claim 5, characterized in that: Providing a pull transmission service of the additional live stream to the shared node consuming the additional live stream according to the network condition determined in real time by the member node itself, including: Collect multiple network performance indicators of the member node in real time, including the packet loss rate and delay value corresponding to the current live stream it is accessing, the network penetration configuration type score, the CPU usage margin, the memory usage margin, and any number of the GPU usage margin; According to the preset weight coefficient, the collected network performance indicators are weighted and calculated to obtain the network service score that comprehensively reflects the network conditions of the member nodes. Among them, the weight coefficients of packet loss rate and delay value are configured as negative items; The calculated network service score is compared with a preset conditional grace interval, and when the network service score is lower than the conditional grace interval, the member node limits the pull transmission service of at least one additional live stream according to a preset restriction strategy; When it is higher than the conditional grace interval, respond to the stream pulling request of the shared node that consumes the additional live stream, establish a data transmission connection with it, pull the additional live stream from the source node or other shared nodes through the established connection, and transmit it to the shared node that consumes the additional live stream.
8. A live stream sharing node scheduling device, characterized in that: include: A status monitoring module is configured to receive network status information periodically reported by a shared node pre-registered as a consumer type in a peer-to-peer network during the process of consuming the current live stream being pulled and transmitted by the shared node, wherein the network status information includes resource usage information and network quality information of the corresponding shared node; A resource sorting module is configured to determine the real-time resource surplus of the consumption type shared nodes according to the resource usage information reported periodically, sort the consumption type shared nodes according to the real-time resource surplus, and obtain a resource sorting list; A node scoring module, configured to determine a real-time network quality score of a consumption type shared node based on periodically reported network quality information; The service execution module is configured to select a target sharing node from the resource sorting list according to the real-time network quality score and the real-time resource abundance, and pull and transmit the additional live stream to the sharing node that consumes the additional live stream through the target sharing node.
9. A live stream sharing node scheduling device, comprising a central processing unit and a memory, characterized in that: The central processing unit is used to call and run the computer program stored in the memory to execute the steps of the method according to any one of claims 1 to 7.
10. A non-volatile readable storage medium, characterized in that: It stores a computer program implemented according to the method described in any one of claims 1 to 7 in the form of computer-readable instructions, and when the computer program is called and executed by a computer, the steps included in the corresponding method are executed.
Citation Information
Cited By
Multi-source multi-path scheduling method for remote sensing data transmission
CN120602991A
A multi-source multi-path scheduling method for remote sensing data transmission
CN120602991B