Data stream scheduling method of audio and video network, storage medium, and electronic device

By building and decoupling the tree path of the audio and video network, edge nodes perform data flow scheduling, solving the problems of high mesh distribution costs and high control-side management scheduling pressure in CDN and large-scale low-latency live broadcast scenarios, and achieving the effect of reducing data flow scheduling costs and reducing management scheduling pressure.

WO2025073205A1PCT designated stage expired Publication Date: 2025-04-10ZTE CORP
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/113175
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-10-07
Filing Date
2024-08-19
Publication Date
2025-04-10

AI Technical Summary

Technical Problem

The existing RTN technology has problems such as high cost of mesh distribution and high pressure on control-side management and scheduling in CDN scenarios and large-scale low-latency live broadcast scenarios.

Method used

By constructing a tree path between each edge node based on the network topology data of the audio and video network, and decoupling the tree path to the corresponding edge nodes according to the source node, each edge node schedules the data flow according to the tree path.

Benefits of technology

It reduces the cost of scheduling audio and video network data flow, reduces the pressure on control-side management and scheduling, and supports CDN, large-scale low-delay live broadcast and other scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024113175_10042025_PF_FP_ABST
    Figure CN2024113175_10042025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a data stream scheduling method of an audio and video network, a storage medium, and an electronic device. The method comprises: constructing a tree-like path among edge nodes on the basis of network topology data of an audio and video network; on the basis of source nodes, decoupling the tree-like path to corresponding edge nodes; and the edge nodes scheduling a data stream on the basis of the tree-like path.
Need to check novelty before this filing date? Find Prior Art

Description

Data stream scheduling method, storage medium and electronic device for audio and video network

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application is based on Chinese patent application CN202311281740.2, filed on October 7, 2023, entitled “Data stream scheduling method, storage medium and electronic device for audio and video networks”, and claims the priority of the patent application, and all the disclosed contents are incorporated into this application by reference. Technical Field

[0003] The embodiments of the present disclosure relate to the field of communications, and in particular to a data stream scheduling method, storage medium, and electronic device for an audio and video network. Background Art

[0004] In recent years, with the development of the real-time clock (RTC) industry, the boundaries between real-time audio and video transmission networks (RTN) and content delivery networks (CDN) have become increasingly blurred. As a new form of audio and video network, RTN needs to be able to integrate multiple networks and multiple scenarios, continuing to evolve towards larger scale, lower latency, and lower costs. However, for CDN scenarios and large-scale low-latency live broadcasts, RTN technology currently has the following pain points:

[0005] First, mesh distribution is expensive. Conventional RTN systems are suitable for mesh or point-to-point distribution scenarios. However, in large-scale, low-latency live streaming scenarios like CDN, if every path runs from the data source node to the destination node, the pressure and cascading costs of mesh distribution will increase significantly, making it almost impossible to meet business needs.

[0006] Second, the control-side management and scheduling pressure is high. Conventional RTN systems perform global management and scheduling on the control side. However, CDN nodes typically contain a large number of streaming media instances, which are not on the same order of magnitude as the streaming media instances in RTN nodes. If forwarding instances are unified under the control-side management and scheduling, the pressure on the control-side management and scheduling will be greatly increased.

[0007] Therefore, how to integrate CDN capabilities and large-scale low-latency live broadcast capabilities into the RTN system to reduce mesh distribution costs and control-side management and scheduling pressure has become a difficult problem that needs to be solved urgently.

[0008] Summary of the Invention

[0009] Embodiments of the present disclosure provide a data stream scheduling method, a storage medium, and an electronic device for an audio and video network.

[0010] According to one embodiment of the present disclosure, a data stream scheduling method for an audio and video network is provided, comprising: constructing a tree path between edge nodes based on network topology data of the audio and video network; decoupling the tree path to the corresponding edge node according to the source node; and each edge node scheduling the data stream according to the tree path.

[0011] According to another embodiment of the present disclosure, a computer-readable storage medium is provided, in which a computer program is stored. The computer program is configured to execute the steps of any one of the above method embodiments when running.

[0012] According to another embodiment of the present disclosure, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any one of the above method embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] FIG1 is a hardware structure block diagram of a computer terminal for a data stream scheduling method for an audio and video network according to an embodiment of the present disclosure;

[0014] FIG2 is a schematic diagram of a network architecture for running a data stream scheduling method for an audio and video network according to an embodiment of the present disclosure;

[0015] FIG3 is a flow chart of data flow scheduling of an audio and video network according to an embodiment of the present disclosure;

[0016] FIG4 is a structural block diagram of a data stream scheduling device for an audio and video network according to an embodiment of the present disclosure;

[0017] FIG5 is a schematic diagram of network topology and data according to an embodiment of the present disclosure;

[0018] FIG6 is an example diagram of a node-level tree path of dynamic programming according to an embodiment of the present disclosure;

[0019] FIG7 is a schematic diagram of a path protocol according to an embodiment of the present disclosure;

[0020] FIG8 is a schematic diagram of a load balancing tree distribution principle according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0021] Hereinafter, the embodiments of the present disclosure will be described in detail with reference to the accompanying drawings and in combination with the embodiments.

[0022] It should be noted that the terms "first", "second", etc. in the description and claims of the embodiments of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0023] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking operation on a computer terminal as an example, FIG1 is a hardware structure block diagram of a computer terminal of a data stream scheduling method for an audio and video network according to an embodiment of the present disclosure. As shown in FIG1 , the computer terminal may include one or more (only one is shown in FIG1 ) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the above-mentioned computer terminal may also include a transmission device 106 and an input and output device 108 for communication functions. It will be understood by those skilled in the art that the structure shown in FIG1 is only for illustration and does not limit the structure of the above-mentioned computer terminal. For example, the computer terminal may also include more or fewer components than those shown in FIG1 , or have a configuration different from that shown in FIG1 .

[0024] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the data stream scheduling method of the audio and video network in the embodiment of the present disclosure. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implementing the above-mentioned method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely located relative to the processor 102, and these remote memories may be connected to the computer terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0025] The transmission device 106 is used to receive or transmit data via a network. A specific example of the aforementioned network may include a wireless network provided by a communications provider of a computer terminal. In one embodiment, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0026] Figure 2 is a schematic diagram of the network architecture for implementing the data stream scheduling method for an audio and video network according to an embodiment of the present disclosure. The embodiment of the present disclosure can operate on the network architecture shown in Figure 2. As shown in Figure 2, the network architecture includes a control center and edge nodes. The control center is located in a logical node of the RTN system's central cloud and includes network element modules such as network awareness and path planning. Network awareness is responsible for managing and synchronizing data such as edge nodes, network topology, and network detection. Path planning is responsible for dynamically planning tree paths based on real-time network topology and detection data, and decoupling and synchronizing them to edge nodes based on source nodes. Edge nodes are located in logical nodes of the RTN system's edge cloud and include network element modules such as network detection, edge agents, instance scheduling, and streaming media instances. Network detection is responsible for performing network detection on neighboring nodes based on detection requests issued by network awareness. Edge agents are responsible for, firstly, receiving identity documents (IDs) and Internet Protocol (IP) mapping data synchronized by network awareness and providing a query mechanism; secondly, receiving tree paths synchronized by path planning, maintaining edge paths, and providing a query mechanism. Instance Scheduling: First, it monitors the status of streaming instances through the keepalive interface; second, it provides load balancing and routing; and third, it automatically switches when a streaming instance anomaly is detected. Streaming instances are responsible for transmitting service data streams. They obtain transmission paths and mappings from edge proxies, encapsulate and parse path headers, and distribute data in a tree-like manner based on the optimal path.

[0027] In this embodiment, a method for data stream scheduling of an audio and video network running on the above-mentioned computer terminal or network architecture is provided. FIG3 is a flow chart of data stream scheduling of an audio and video network according to an embodiment of the present disclosure. As shown in FIG3 , the flow chart includes the following steps:

[0028] Step S302: constructing a tree path between edge nodes based on the network topology data of the audio and video network;

[0029] In an exemplary embodiment, a tree-like path between each edge node is constructed based on the network topology data of the audio and video network, including: obtaining the network topology data of the audio and video network, quantizing the network topology data based on the network detection data of each edge node; and constructing a tree-like path between each edge node based on the quantized network topology data.

[0030] In an exemplary embodiment, the network detection data includes at least one of the following: a network packet loss rate of each edge node; delay data of each edge node; and bandwidth data of each edge node.

[0031] In actual implementation, the control center's network perception module can initiate data detection requests to the network detection modules of each edge node based on the real-time network topology. This drives each edge node to conduct network detection with adjacent nodes, collecting data such as packet loss rate, latency, and bandwidth between nodes, and immediately synchronizing this data with the route plan. The network detection cycle can be set to seconds, allowing for real-time awareness of network changes.

[0032] Step S304: decouple the tree path to the corresponding edge nodes according to the source nodes;

[0033] In an exemplary embodiment, decoupling the tree path to corresponding edge nodes according to source nodes includes: decoupling the tree path to the same edge node as the root node of the tree path according to source nodes in the form of a nested array.

[0034] In actual implementation, after dynamically planning a tree-like path from each node to other nodes, path planning decouples the tree-like path in real time by source node, synchronously sinking the tree-like path to the edge proxy module at the same edge node as the tree-like path root, completing the decoupling of the tree-like path data from the center to the edge. The tree-like path decoupled by source node can be expressed as a nested array: the elements of the outer array represent a piece of path information, and the entire array represents all path information from the source node to other nodes; the elements of the inner array represent a node information, and the entire array represents a path information in the order of the elements.

[0035] In an exemplary embodiment, after decoupling the tree-like paths to corresponding edge nodes according to source nodes, the method further includes: each edge node storing and maintaining the tree-like paths.

[0036] In an exemplary embodiment, each edge node stores and maintains the tree path, including: each edge node stores and maintains the tree path through a target node mapping table.

[0037] In actual implementation, considering that CDN and large-scale low-latency live broadcast scenarios require data distribution to multiple different target nodes, and that existing RTN scenarios require data transmission to a single target node, it is necessary to query the tree path of multiple target nodes while also being compatible with querying the single path of a single target node. This single path can be stored and maintained. Furthermore, since the source node of the tree path is always the local node, different paths can be distinguished by the target node. Therefore, the tree path maintained by the edge agent can be expressed in the form of a target node mapping table.

[0038] Step S306: Each edge node schedules the data flow according to the tree path.

[0039] In an exemplary embodiment, each edge node schedules the data flow according to the tree path, including: a source node among the edge nodes obtains the corresponding tree path according to a transmission request of a target node, and schedules the data flow according to the tree path.

[0040] In an exemplary embodiment, the source node obtains the corresponding tree path based on the transmission request of the target node, including: when the transmission request comes from different edge nodes, the streaming media instance of the source node obtains the corresponding tree path based on the identity ID of the source node and the ID of the target node.

[0041] In an exemplary embodiment, the streaming media instance of the source node obtains the corresponding tree path based on the identity identification ID of the source node and the ID of the target node, including: when the number of target nodes is equal to 1, the source node obtains one path information; when the number of target nodes is greater than 1, the source node obtains multiple path information, and the source node combines the multiple path information into a tree path and sends it to each edge node in the path information in the form of a branch nested array.

[0042] In actual implementation, when the source and target nodes are different, depending on whether it is a CDN or large-scale low-latency live broadcast scenario, a distinction is made between a single target node and multiple target nodes obtaining the data stream from the same source node. The rules are as follows: Single target node: The edge proxy directly returns a single path. Multiple target nodes: The edge proxy combines multiple path information into a tree path and returns it. The tree path in the tree path acquisition stage can be expressed as a branch nested array: the elements of the outer array represent a branch, and the whole represents all branches of the tree path; the elements of the inner array represent a node, and the whole indicates that the node represented by the first element will distribute data to the nodes of the following elements, that is, branches.

[0043] In an exemplary embodiment, after the source node in the edge node obtains the corresponding tree path according to the transmission request of the target node, the method further includes: the source node encapsulating the tree path in a path header of the media packet protocol stack.

[0044] In an exemplary embodiment, data flows are scheduled according to a tree path, including: a source node parses a path header to obtain path information including an IP address of a next-hop node; the source node copies a data packet to be transmitted according to the number of next-hop nodes and transmits the data packet to the next-hop node; the next-hop node determines whether it is a target node, and ends scheduling the data flow if it is a target node; if it is not a target node, the data flow is scheduled according to the path information obtained by parsing the path header.

[0045] In actual implementation, when scheduling data streams, service data distribution to streaming instances can be tailored to the actual service situation and streaming instance availability. Load balancing can be used to distribute services, ensuring balanced service load across each streaming instance and ensuring efficient service transmission. The specific service distribution method is not restricted and can be adjusted based on actual circumstances. For example, blank streaming instances can be reserved to accommodate sudden service demands.

[0046] Through the above steps, a data flow scheduling method for an audio and video network is provided. This method constructs a tree-like path between edge nodes based on the network topology data of the audio and video network; decouples the tree-like path to the corresponding edge node according to the source node; and each edge node schedules the data flow according to the tree-like path. This method solves the problems of high mesh distribution costs and heavy management and scheduling pressure on the control side in related technologies, thereby reducing the cost of data flow scheduling in audio and video networks and alleviating the management and scheduling pressure on the control side.

[0047] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the embodiment of the present disclosure is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, disk, CD-ROM), including a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the method described in the embodiment of the present disclosure.

[0048] This embodiment also provides a data stream scheduling device for an audio and video network. This device is used to implement the above-mentioned embodiments and preferred implementations. Details already described will not be repeated here. As used below, the term "module" may refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.

[0049] Figure 4 is a structural block diagram of a data stream scheduling device for an audio and video network according to an embodiment of the present disclosure. As shown in Figure 4, the scheduling device 40 includes: a path construction module 410, which is configured to construct a tree path between each edge node based on the network topology data of the audio and video network; a path decoupling module 420, which is configured to decouple the tree path to the corresponding edge node according to the source node; and a data scheduling module 430, which is configured to schedule the data stream according to the tree path.

[0050] It should be noted that the above modules can be implemented through software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0051] An embodiment of the present disclosure further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any one of the above method embodiments when running.

[0052] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.

[0053] An embodiment of the present disclosure further provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0054] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0055] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail here.

[0056] Obviously, those skilled in the art should understand that the modules or steps of the above-mentioned embodiments of the present disclosure can be implemented using a general-purpose computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented using program codes executable by the computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be performed in a different order than herein, or they can be made into individual integrated circuit modules, or multiple modules or steps can be made into a single integrated circuit module for implementation. Thus, the embodiments of the present disclosure are not limited to any specific combination of hardware and software.

[0057] In order to enable those skilled in the art to better understand the technical solutions of the embodiments of the present disclosure, the following is an elaboration with reference to specific scenario embodiments.

[0058] Example 1

[0059] In this scenario embodiment, the specific steps of the data stream scheduling method for the audio and video network provided by the embodiment of the present disclosure are described in detail in combination with the network architecture shown in FIG2 .

[0060] Step 1. Data management and synchronization

[0061] When initializing the RTN system, changing nodes, or changing network topology, the following operations are required: first, configure the node and network topology information in the network perception module of the control center, and then synchronize the configured data to the path planning module of the control center and the edge agent module of the edge node.

[0062] 1.1. Configure nodes and network topology

[0063] Based on the actual deployment of RTN nodes, configure the IP address, Uniform Resource Locator (URL), and other information for each RTN node on the Network Awareness Node page in the control center. Once this information is configured, Network Awareness automatically generates a node ID for each node. Based on the actual RTN network connectivity, configure the connection edge information for each RTN node on the Network Awareness Network Topology page to generate a network topology diagram. Once this information is configured, Network Awareness automatically generates a network topology table.

[0064] FIG5 is a schematic diagram of network topology and data according to an embodiment of the present disclosure. As shown in FIG5 , it is a network topology diagram and generated data configured by network perception according to the actual deployment of the RTN system.

[0065] 1.2. Synchronize network topology and node mapping information

[0066] Network perception synchronizes network topology data to the path planning module in real time, and synchronizes the mapping data of the node's IP and ID to the edge agent module of each edge node in real time.

[0067] 1.3 Synchronous network detection data

[0068] Based on the real-time network topology, network awareness initiates data detection requests to the network detection module of each edge node. This drives each edge node to conduct network detection with adjacent nodes, collecting data such as packet loss rate, latency, and bandwidth between nodes, and immediately syncing this data with the route planner. The network detection cycle can be set to seconds, enabling real-time awareness of network changes.

[0069] Step 2: Dynamically plan the node-level tree path

[0070] Path planning first constructs a network topology map based on network topology data synchronized with Network Awareness. It then quantifies the network topology based on network probe data. Finally, it calculates the tree-like paths from each node to all other nodes. Each time the path planner receives updated probe data from Network Awareness Synchronization, it performs a new round of calculations and planning in real time, dynamically generating a node-level tree-like path.

[0071] FIG6 is an example diagram of a dynamically planned node-level tree path according to an embodiment of the present disclosure. As shown in FIG6 , the tree path is generated by real-time planning based on the network topology in step 1.

[0072] Step 3: Decouple paths by source node

[0073] After dynamically planning a tree-like path from each node to other nodes, the path planner decouples the tree-like path in real time by source node, synchronously sinking the tree-like path to the edge proxy module at the same edge node as the tree-like path root, completing the decoupling of the tree-like path data from the center to the edge. The tree-like path in the source node decoupling stage can be expressed as a nested array: the elements of the outer array represent a piece of path information, and the entire array represents all path information from the source node to other nodes; the elements of the inner array represent a node information, and the entire array represents a path information in the order of the elements.

[0074] For example, according to the tree path planned in step 2, the path planning is expressed in the form of a nested array. Then, the path information of the edge agent that is synchronously sunk to edge node 1 with source node 1 is:

[0075] [[1,2],[1,3],[1,4],[1,2,5],[1,2,6],[1,4,7],[1,4,8],[1,4,8,9]]

[0076] The path information of the edge agent that is synchronously sunk to edge node 2 according to source node 2 is:

[0077] [[2,1],[2,1,3],[2,1,4],[2,5],[2,6],[2,1,4,7],[2,5,9,8],[2,5,9]]

[0078] Step 4: Maintain edge paths

[0079] The edge agent stores and maintains the tree path data. Considering that CDN and large-scale low-latency live broadcast scenarios need to distribute data to multiple different target nodes, and considering that the original RTN scenario needs to transmit data to a single target node, that is, it is necessary to query the tree paths of multiple target nodes, and also to be compatible with querying the single path of a single target node, so that the single path can be stored and maintained; and, since the source nodes of the tree path are all local nodes, different paths can be distinguished by the target node. Therefore, the tree path in the tree path maintenance stage of the edge agent can be expressed in the form of a target node mapping table: each path is stored using a map, the key represents the target node, and the value represents the complete path from the source node to the target node. The path expression format is the same as the inner array in step 3.

[0080] For example, according to the tree path information synchronously sunk in step 3, the edge agent of edge node 1 expresses it in the form of a target node mapping table, and the path information stored and maintained is:

[0081] <2,[1,2]>、<3,[1,3]>、<4,[1,4]>、<5,[1,2,5]>、<6,[1,2,6]>、<7,[1,4,7]>、<8,[1,4,8]>、<9,[1,4,8,9]>

[0082] Step 5: Get the tree path

[0083] When business data needs to be transmitted through the RTN system, that is, when the streaming media instance of the source node receives a transmission request from the streaming media instance of the target node, it first determines how to obtain a path based on the target node and instance. The rules are as follows:

[0084] 1) Same instance: No node-level path acquisition is required; the streaming instance itself can do this.

[0085] 2) Different instances of the same node: There is no need to obtain the node-level path, and the streaming media instances within the node are cascaded.

[0086] 3) Different nodes: Node-level paths need to be obtained. The source streaming instance carries the source node ID and target node ID to the edge agent of this node to obtain the path.

[0087] Furthermore, in the case of different nodes, depending on whether it is a CDN or a large-scale low-latency live broadcast scenario, it is distinguished whether a single target node or multiple target nodes obtain the data stream of the same source node. The rules are as follows:

[0088] Single target node: The edge proxy directly returns a single path. The path expression format is the same as the inner array in step 3.

[0089] Multiple target nodes: The edge agent combines multiple path information into a tree path and returns it. The tree path in the tree path acquisition stage can be expressed in the form of a branch nested array: the elements of the outer array represent a branch, and the whole represents all branches of the tree path; the elements of the inner array represent a node, and the whole means that the node represented by the first element will distribute data to the nodes of the following elements, that is, branches.

[0090] For example, based on the path information maintained by the edge proxy in edge node 1 in step 4, the source node is 1. When the RTN system needs to transmit service data to target node 5, the source node's streaming instance queries the local edge proxy and obtains the path information: [1, 2, 5]. When the RTN system needs to transmit service data to target nodes 2, 3, 4, 5, 6, 7, 8, and 9, the source node's streaming instance queries the local edge proxy and obtains the path information: [[1, 2, 3, 4], [2, 5, 6], [4, 7, 8], [8, 9]]. This branched nested array indicates that when data flows to node 1, node 1 needs to replicate the data twice and distribute it to nodes 2, 3, and 4. When data flows to node 2, node 2 needs to replicate the data twice and distribute it to nodes 5 and 6. And so on.

[0091] Step 6: Encapsulate tree path information

[0092] After the streaming media instance of the source node obtains the tree path, it needs to encapsulate the tree path information in the path header of the media packet protocol stack and define the format and fields of the path header. Figure 7 is a schematic diagram of the path protocol according to an embodiment of the present disclosure. As shown in Figure 7, the source and destination ports: the source port is the sending port of this node, the destination port is the receiving port of the target node, and the destination port of the intermediate node is a fixed value. Length: the length of the path header. Business type: used to identify whether it is a single target node or multiple target nodes, thereby adopting different methods of parsing path information. Node ID length: 00 represents 1 byte, and 01 represents 2 bytes. Path information: fill in this field according to the path expression form of step 5, where in the case of a tree path, different branches are distinguished by the "0" identifier. For example, the tree path in step 5 can be represented in the path protocol as: 123402560478089.

[0093] Step 7: Load balancing tree distribution

[0094] In the disclosed embodiments, when distributing service data to streaming media instances, load balancing can be employed, taking into account the actual service conditions and streaming media instance availability, to ensure balanced service load across each streaming media instance and ensure efficient service transmission. In actual implementation, the specific service distribution method is not limited and can be adjusted based on actual circumstances. For example, blank streaming media instances can be reserved to accommodate sudden service demands.

[0095] FIG8 is a schematic diagram of a load balancing tree-like distribution principle according to an embodiment of the present disclosure. As shown in FIG8 , in an embodiment of the present disclosure, service data is distributed in a tree-like manner using a load balancing method, including the following steps:

[0096] 7.1. The streaming media instance of the source node parses the path header according to the path protocol agreed in step 6 and obtains the ID list and port information of the next hop node.

[0097] 7.2. The streaming media instance of the source node carries the ID of each node and queries the edge proxy of this node to map the ID of each node of the next hop to the IP address of each node.

[0098] 7.3. Streaming media example of the source node. First, the data packet is copied at this node. The number of copies is equal to the number of nodes that need to be transmitted to the next hop. Then, according to the IP addresses and ports of all the nodes in the next hop, the copied data packet is transmitted to all the edge nodes of the next hop, completing the distribution of the tree path branches.

[0099] 7.4. The instance scheduling module of the intermediate node receives the business data flow, selects an available streaming instance in the node through the load balancing mechanism, and performs data transmission.

[0100] 7.5. The streaming media instance at the intermediate node receives the service data stream, parses the media packet path header, obtains the path information, retrieves the "0" identifier, and then finds the first path node after the "0" identifier. It determines whether the path node is the current intermediate node. If so, branch distribution is required, continuing with steps 7-1 through 7-4. If not, it continues traversing the path information until it reaches the last "0" identifier and the next path node. If the current intermediate node has not been found after traversal, it is determined that the intermediate node is the target node and distribution ends.

[0101] For example, according to the path information obtained in step 6, source node 1 parses the path header and obtains the next hops as nodes 2, 3, and 4. The source node copies the data packet into three copies and transmits them to nodes 2, 3, and 4 respectively; node 2 parses the path header and obtains the next hops as nodes 5 and 6. The local node copies the data packet into two copies and transmits them to nodes 5 and 6 respectively; node 3 parses the path header and finds that the local node has no next hop, so it ends the distribution; node 4 parses the path header and obtains the next hops as nodes 7 and 8. The local node copies the data packet into two copies and transmits them to nodes 7 and 8 respectively; and so on.

[0102] In summary, the disclosed embodiments provide a data stream scheduling method for an audio and video network, which solves a series of problems in integrating CDN capabilities and large-scale low-latency live broadcast capabilities into the RTN system. Among them, through dynamic tree planning and distribution, first, the control side dynamically plans the tree path; then, the tree path is expressed in the form of a nested array and sent to each edge node; then, the tree path is expressed in the form of a target node mapping table for storage; then, the tree path is expressed in the form of a branch nested array and encapsulated into a custom tree path protocol header; finally, when the streaming media instance parses the path header to obtain the tree path branch, data is copied on this instance, and the data stream is distributed to different nodes at the next hop. This method utilizes the management of tree path information and the reuse of edge nodes to avoid the problems of high pressure and high cost of full-link node mesh distribution, and can support scenarios such as CDN, large-scale low-latency live broadcast, and single-transmitter and multiple-receiver. Through central node-level scheduling and edge instance-level scheduling and distribution, the control side first collects node-level data and plans a node-level tree path. Next, it decouples the path by source node and sinks the node-level path to each edge node. The streaming instance then obtains the path by querying the local node. The streaming instance then maps the next-hop node ID in the path to the node IP address through local query and transmits it to the next-hop node. Finally, the next-hop node selects a streaming instance for distribution through internal load balancing. This method utilizes the principle of hierarchical management to reduce system complexity, minimize signaling interactions between the control and transmission sides, and alleviate the instance-level scheduling pressure on the control side and the pressure on edge nodes on the transmission side to obtain paths from the control side.

[0103] The data stream scheduling method for audio and video networks provided in the embodiments of the present disclosure is applicable to real-time audio and video related industries, such as CDN live broadcast, cloud computing, video conferencing, video Internet of Things, interactive live broadcast, and Extended Reality (XR). It is also applicable to services that require accelerated data transmission, including the accelerated transmission of media and non-media data such as audio and video, text, and images.

[0104] The above description is merely a preferred embodiment of the present disclosure and is not intended to limit the present disclosure. Those skilled in the art will appreciate that various modifications and variations of the present disclosure are possible. Any modifications, equivalent substitutions, or improvements made within the principles of the present disclosure should be included within the scope of protection of the present disclosure.

Claims

1. A data stream scheduling method for an audio and video network, comprising: Construct a tree path between edge nodes based on the network topology data of the audio and video network; Decoupling the tree path to the corresponding edge nodes according to the source nodes; Each of the edge nodes schedules the data flow according to the tree path.

2. The method according to claim 1, wherein: The step of constructing a tree path between edge nodes according to the network topology data of the audio and video network includes: Acquire the network topology data of the audio and video network, and quantify the network topology data according to the network detection data of each edge node; The tree-like path between the edge nodes is constructed according to the quantified network topology data.

3. The method according to claim 2, wherein: The network detection data includes at least one of the following: The network packet loss rate of each edge node; Delay data of each edge node; Bandwidth data of each of the edge nodes.

4. The method according to claim 1, wherein: Decoupling the tree path to the corresponding edge node according to the source node includes: The tree path is decoupled to the edge node which is the same as the root node of the tree path according to the source node in the form of a nested array.

5. The method according to claim 1, wherein: After decoupling the tree-like path to the corresponding edge node according to the source node, the method further includes: Each edge node stores and maintains the tree path.

6. The method according to claim 5, wherein: Each edge node stores and maintains the tree path, including: Each edge node stores and maintains the tree path through a target node mapping table.

7. The method according to claim 1, wherein: Each of the edge nodes schedules the data flow according to the tree path, including: The source node in the edge node obtains the corresponding tree path according to the transmission request of the target node, and schedules the data flow according to the tree path.

8. The method according to claim 7, wherein: The source node obtains the corresponding tree path according to the transmission request of the target node, including: In the case where the transmission request comes from different edge nodes, the streaming media instance of the source node is based on the The source node's identity ID and the target node's ID obtain the corresponding tree path.

9. The method according to claim 8, wherein: The streaming media instance of the source node acquires the corresponding tree path according to the identity ID of the source node and the ID of the target node, including: When the number of the target nodes is equal to 1, the source node obtains a piece of path information; When the number of the target nodes is greater than 1, the source node obtains multiple pieces of the path information, and the source node combines the multiple pieces of the path information into a tree-like path, and sends them to each edge node in the path information in the form of a branch nested array.

10. The method according to claim 7, wherein: After the source node in the edge node obtains the corresponding tree path according to the transmission request of the target node, the method further includes: The source node encapsulates the tree path in a path header of a media packet protocol stack.

11. The method according to claim 10, wherein: Scheduling the data flow according to the tree path includes: The source node parses the path header to obtain path information including the IP address of the next hop node; The source node copies the data packet to be transmitted according to the number of the next-hop nodes, and transmits the data packet to the next-hop nodes; The next hop node determines whether it is a target node, and if it is a target node, terminates the scheduling of the data flow; if it is not a target node, schedules the data flow according to the path information obtained by parsing the path header.

12. A computer-readable storage medium having a computer program stored therein, wherein: When the computer program is executed by a processor, the method described in any one of claims 1 to 11 is implemented.

13. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method according to any one of claims 1 to 11 when executing the computer program.

Citation Information

Patent Citations

  • Data stream scheduling method, storage medium and electronic device for audio and video network

    CN117014636B

  • Audio and video system, access method, routing forwarding method and readable storage medium

    CN114501161A

  • Network load balancing method and device based on link and equipment states

    CN116232977A

  • Scheduling path configuration method and device, equipment and storage medium

    CN116233256A

  • Route planning method and device for real-time audio and video network

    CN116668364A