Conference control method and system, electronic equipment and storage medium

By directly establishing a multicast tree between nodes and dynamically updating the transmission path in cross-domain audio and video conferences, the problems of high transmission quality and cost between clusters are solved, and fast conference joining and a stable audio and video experience are achieved.

CN120614429APending Publication Date: 2025-09-09HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410257281.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-03-06
Publication Date
2025-09-09

AI Technical Summary

Technical Problem

In cross-domain audio and video conferencing, the transmission path selection between clusters leads to large fluctuations in transmission quality and high costs, affecting user experience and economic benefits.

Method used

During the conference establishment phase, nodes bound to members directly establish connections with nodes bound to other members to form a multicast tree, avoiding interaction with the control center and quickly completing path establishment. The control center calculates a new multicast tree based on link status and transmission costs, updates connections between nodes, and adapts to network changes.

Benefits of technology

It reduces user waiting time for joining meetings, improves audio and video experience, dynamically adjusts transmission paths to ensure quality and control costs, reduces delays and packet loss, and improves meeting reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120614429A_ABST
    Figure CN120614429A_ABST
Patent Text Reader

Abstract

The invention discloses a conference control method and system, electronic equipment and a storage medium, the method is applied to a first node bound with a first member in a conference, and the method comprises the following steps: establishing a connection between the first node and a second node bound with a second member according to an area to which the second member in the conference belongs; receiving a multicast tree of the conference sent by the control center; the multicast tree is obtained by the control center according to the link state between the nodes bound by the members in the conference and the transmission cost of the area to which the nodes bound by the members belong; and updating the connection between the first node and the second node based on the multicast tree. The nodes bound by the members are directly connected with the nodes bound by other members, so that the establishment of a multicast tree is quickly completed, the time of first frame data when a user participates in a conference is reduced, and after the conference is established, the connection among the nodes bound by the members is updated by receiving a new multicast tree calculated by a control center so as to adapt to the link state change, and the user experience is improved. And the data transmission cost is effectively reduced while the audio and video experience of the user is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a conference control method, system, electronic device, and storage medium. Background Art

[0002] With the advancement of digital technology, audio and video conferencing technologies play a vital role in social development. To provide global audio and video conferencing communication services, service providers typically deploy clusters for these services in different countries and regions. Cross-domain audio and video conferencing data transmission primarily involves client-to-cluster transmission and inter-cluster transmission. Because clusters must traverse long, transnational links, and because regional carrier rates vary, transmission quality fluctuates significantly and costs are high.

[0003] Considering the characteristics of transmission quality and transmission cost of cross-domain audio and video conferencing, how to establish a suitable transmission path between clusters is a key issue to improve the cross-domain user audio and video experience and transmission cost. Summary of the Invention

[0004] The purpose of this application is to propose a conference control method, system, electronic device and storage medium to address the deficiencies of the above-mentioned existing technologies, and this purpose is achieved through the following technical solutions.

[0005] A first aspect of the present application provides a conference control method, characterized in that the conference includes members located in different areas, and the method is applied to a first node bound to a first member in the conference, where the first member is any member in the conference, and the method includes:

[0006] establishing a connection between the first node and a second node bound to the second member according to a region to which the second member in the conference belongs, wherein the second member is a member other than the first member;

[0007] Receiving a multicast tree of the conference sent by a control center; the multicast tree is obtained by the control center based on the link status between nodes bound to each member in the conference and the transmission cost of the area to which the node bound to each member belongs;

[0008] A connection between the first node and the second node is updated based on the multicast tree.

[0009] The conference control method described in the first aspect above has at least the following beneficial effects or advantages:

[0010] During the conference establishment phase, nodes bound to joining members directly establish connections with nodes bound to other joining members without waiting for interaction with the control center, so as to quickly complete the establishment of the multicast tree, avoid excessive waiting time for joining the conference, reduce the first frame data transmission time when users join the conference, and improve the user's audio and video experience. After the conference is established, due to dynamic changes in network quality, the connections between the bound nodes of each member are updated by receiving the new multicast tree calculated by the control center to adapt to changes in link quality and ensure the user's audio and video experience. Since the new multicast tree calculated by the control center takes into account both transmission cost and transmission quality, it can control transmission costs while ensuring the data transmission quality of members in different areas, effectively reducing data transmission costs.

[0011] A second aspect of the present application provides a conference control method, wherein the conference includes members located in different areas and is applied to a control center. The method includes:

[0012] Determining a multicast tree of the nodes bound to each member according to the link status reported by the nodes bound to each member in the conference and the transmission cost of the area to which the nodes bound to each member belong;

[0013] Based on the amount of member-generated data reported by the nodes bound to each member at different times, the target node whose activity is lower than the preset threshold is determined;

[0014] The multicast tree of the target node is sent to the nodes bound to each member, so that the nodes bound to each member update the connections between the nodes bound to each member based on the multicast tree.

[0015] The conference control method described in the second aspect above has at least the following beneficial effects or advantages:

[0016] The control center collects the link status reported by each node and calculates the multicast tree of the nodes bound to each member based on the real-time link status and the transmission cost of each region. This effectively combats problems such as delay and packet loss caused by changes in cross-regional link status, and avoids transmission paths with high transmission costs, so that transmission quality and transmission costs are balanced. When sending the multicast tree, the activity of the node is tracked by the amount of data generated by the members reported by the node, and the multicast tree of the node with low activity is selected and sent to each node for update to reduce the impact of path switching on the audio and video experience.

[0017] A third aspect of the present application provides a conference control system, wherein the conference includes members located in different areas, the system including a control center, a first node bound to a first member of the conference, and a second node bound to a second member of the conference;

[0018] The first node is configured to establish a connection between the first node and the second node according to a region to which the second member in the conference belongs;

[0019] The control center is configured to receive link states reported by nodes bound to each member in the conference, determine a multicast tree of nodes bound to each member based on the link states and the transmission cost of the region to which the nodes bound to each member belong, determine nodes whose activity is lower than a preset threshold based on the amount of member-generated data reported by the nodes bound to each member at different times, and send the multicast tree of nodes whose activity is lower than the preset threshold to the nodes bound to each member;

[0020] The first node is configured to update a connection between the first node and the second node based on the multicast tree.

[0021] The fourth aspect of the present application proposes an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the method described in the first or second aspect above.

[0022] A fifth aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, wherein the program is executed by a processor to implement the method as described in the first or second aspect above.

[0023] The above description is only an overview of the technical solution of this application. In order to more clearly understand the technical means of this application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of this application more obvious and easy to understand, the specific implementation methods of this application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0025] Figure 1 is a schematic diagram of an application scenario according to an exemplary embodiment;

[0026] Figure 2A This is a flow chart of an embodiment of a conference control method according to an exemplary embodiment;

[0027] Figure 2B FIG1 is a schematic diagram of a new and old multicast tree according to an exemplary embodiment;

[0028] Figure 2C-2D FIG1 is a schematic diagram showing a multicast tree update according to an exemplary embodiment;

[0029] Figure 3 is a flow chart of another conference control method according to an exemplary embodiment;

[0030] Figure 4 is a schematic diagram of a hardware structure of an electronic device according to an exemplary embodiment;

[0031] Figure 5 The figure is a schematic structural diagram of a storage medium according to an exemplary embodiment. DETAILED DESCRIPTION

[0032] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of systems and methods consistent with certain aspects of the present application, as detailed in the appended claims.

[0033] The terms used in this application are for the purpose of describing specific embodiments only and are not intended to limit this application. As used in this application and the appended claims, the singular forms "a," "an," "the," and "the" are intended to include the plural forms, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.

[0034] It should be understood that although the terms first, second, third, etc. may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0035] Cross-domain audio and video conferencing occurs when multiple members from different regions join the same conference. Each member connects to the cluster closest to it and receives and transmits audio and video data through the cluster. Clusters in different regions also transmit data to each other to ensure that members in different regions can receive each other's audio and video data.

[0036] Data transmission in cross-domain audio and video conferencing primarily involves member-to-cluster transmission and cluster-to-cluster transmission. From a transmission quality perspective, communication between members and nearby clusters traverses shorter network paths within the same region, typically resulting in better network quality. However, communication between clusters traverses longer paths, crosses international links, and must traverse cross-border firewalls, resulting in significant fluctuations in network quality over time and quality deviations. From a transmission cost perspective, communication between members and nearby clusters is typically within the same region, resulting in lower costs. However, cluster-to-cluster transmission traverses international links, resulting in higher costs. Furthermore, cross-domain transmission between different regions often results in significant differences in network operator charges.

[0037] It can be seen that the key issue currently facing cross-domain audio and video conferencing is how to establish a suitable transmission path between clusters to improve the audio and video experience and transmission costs.

[0038] like Figure 1 As shown in the figure, it is a schematic diagram of the application scenario of cross-domain audio and video conferencing. The members to be involved in the conference are located in different regions. Each member will be bound to a cluster node deployed in the region. The establishment and optimization of the transmission path between the cluster nodes bound to each member is the key to affecting the audio and video experience and transmission cost. Figure 1 The three members A, B, and C are located in area 1, area 2, and area 3 respectively. Member A chooses to bind to cluster node 1.1 located in area 1, member B chooses to bind to cluster node 2.1 located in area 2, and member C chooses to bind to cluster node 3.1 located in area 3. Therefore, the establishment and optimization of the transmission path between these three cluster nodes is the key.

[0039] In addition, it also includes a control center, which is used to manage nodes in clusters deployed in different areas. Specifically, the control center can be an integration of multiple controllers, and data synchronization will be performed between the controllers. Each controller manages a cluster.

[0040] It should be noted here that the interaction between nodes in the cluster can be called data plane interaction, and the interaction between the control center and the nodes in the cluster can be called control plane interaction.

[0041] Based on this, the conference control method proposed in this application, on the node side of the conference members bound, in the conference establishment stage, the member-bound nodes directly establish connections with the nodes bound to other members based on the regions to which other members in the conference belong, without waiting for interaction with the control center, so as to quickly complete the establishment of the transmission path, thereby obtaining the multicast tree of the nodes bound to each member, avoiding excessively long waiting time for joining the meeting, reducing the first frame data transmission time when the user joins the meeting, and improving the user's audio and video experience. After the conference is established, due to the dynamic changes in network quality, the connections between the member-bound nodes are updated by receiving the new multicast tree calculated by the control center to adapt to the changes in link quality and ensure the user's audio and video experience. Since the new multicast tree calculated by the control center takes into account both transmission cost and transmission quality, it can control the transmission cost while ensuring the data transmission quality of members in different regions, effectively reducing the data transmission cost.

[0042] It can be seen that during the conference establishment phase, the nodes of each member in the conference establish connections directly with the nodes bound to other members on the data plane based on the regions to which other members belong, without interacting with the control plane, thereby accelerating the establishment of the conference and reducing the first frame data time. At the same time, this can also ensure that the data plane works independently. Even if the control plane fails, the conference can still be successfully established. Since the data plane's dependence on the control plane is reduced during the conference establishment phase, higher reliability can be provided. Since the transmission path established through the direct connection of the data plane does not take into account the network transmission quality, after the conference is established, it may cause increased latency and increased packet loss, causing conference freezes, screen distortion, etc. Therefore, after the conference is established, the control plane will optimize the transmission path accordingly to avoid the problems of increased latency and increased packet loss. That is, the control center considers both the transmission cost and the transmission quality to calculate the new multicast tree to optimize and update the transmission path.

[0043] Furthermore, on the control center side, by collecting the real-time link status reported by each node and calculating the multicast tree of the nodes bound to each member based on the link status and the transmission cost of the area to which each node belongs, it is possible to effectively combat delays, packet loss and other problems caused by changes in cross-regional link status, avoid transmission paths with high transmission costs, and achieve a balance between transmission quality and transmission costs. When updating, the activity of the node is tracked by the amount of data generated by the members reported by the node, and the multicast tree of the node with low activity is selected and sent to each node for update to reduce the impact of path switching on the audio and video experience.

[0044] The conference control method disclosed in the embodiment of the present application is not only applicable to cross-domain audio and video conferences, but also to cross-domain live broadcast conferences in live broadcast scenarios.

[0045] The following describes in detail the technical solution of this application and how it solves the aforementioned technical problems using specific embodiments. The several specific embodiments listed can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments. The following describes the embodiments of this application in detail with reference to the accompanying drawings.

[0046] Example 1:

[0047] Figure 2A This is a flow chart of an embodiment of a conference control method according to an exemplary embodiment. The conference control method is applied to the first node bound to the first member in the conference. The first member can be any member in the conference. Figure 1 In the scenario shown, the first member can be any member among members A, B, and C.

[0048] like Figure 2A As shown, the conference control method includes the following steps:

[0049] Step 201: Establish a connection between a first node and a second node bound to the second member according to the region to which the second member belongs in the conference, where the second member is a member other than the first member.

[0050] Step 202: Receive the multicast tree of the conference sent by the control center. The multicast tree is obtained by the control center based on the link status between the nodes bound to each member in the conference and the transmission cost of the area to which the node bound to each member belongs.

[0051] Step 203: Update the connection between the first node and the second node based on the multicast tree.

[0052] In an embodiment of the present application, the representation of the belonging area is the area information of the second member. As long as the relevant information of the second node bound to the second member is determined based on the area information, the connection between the first node and the second node can be directly established to realize data communication between the two nodes.

[0053] Specifically, the first member can be used as the stream-pulling end, and the second member as the stream-pushing end. The first node bound to the first member uses the relevant information of the second node bound to the second member to send a direct connection request to the second node bound to the second member, establishing a connection between the two nodes. This ensures that when the first member is acting as the stream-pulling end, it can receive data from other members in the conference acting as stream-pushing ends. This shows that the conference establishment phase is equivalent to the rapid multicast tree establishment of the stream-pulling end in reverse connection.

[0054] The multicast tree includes sending and receiving nodes, and records the transmission path from the sending node to the receiving node. The multicast tree is represented as a tree structure, with the sending node as the root node. Because the control center determines the link status between nodes bound to each conference member and the transmission cost of the region to which each node belongs, the connections between nodes bound to each member, as updated by the multicast tree, can balance the transmission quality and cost of conference data.

[0055] Each member in a meeting can act as both a pusher and a puller. Typically, during a meeting, only one person is speaking, so only one member is in the pusher role at any given time. All other members act as pullers, receiving data from the pusher. Therefore, for each member in a meeting, if they are acting as a pusher, a multicast tree with the node bound to that member as the root node will be involved. This tree records the transmission paths from the root node to the nodes bound to other members. Based on the transmission paths recorded in the multicast tree, connections between nodes bound to each member can be updated and optimized.

[0056] It should be noted here that the above descriptions of “first node” and “second node” are intended to distinguish that the first member and the second member are bound to different nodes.

[0057] At this point, the above is completed Figure 2A In the conference control process shown in the figure, during the conference establishment phase, nodes bound to joining members directly establish connections with nodes bound to other joining members without waiting for interaction with the control center, so as to quickly complete the multicast tree establishment, avoid excessive waiting time for joining the conference, reduce the first frame data transmission time when users join the conference, and improve the user's audio and video experience. After the conference is established, due to dynamic changes in network quality, the connections between the bound nodes of each member are updated by receiving the new multicast tree calculated by the control center to adapt to changes in link quality and ensure the user's audio and video experience. Since the new multicast tree calculated by the control center takes into account both transmission cost and transmission quality, it can control the transmission cost while ensuring the data transmission quality of members in different areas, effectively reducing the data transmission cost.

[0058] In some embodiments of the present application, for the process of establishing a connection between the first node and the second node bound to the second member based on the area to which the second member in the meeting belongs in step 201, the conference identifier of the second member can be obtained from the control center, and then the area to which the second member belongs can be determined based on the obtained conference identifier, and the node address of the second node bound to the second member can be determined in the node list corresponding to the area to which the second member belongs based on the obtained conference identifier, and the connection between the first node and the second node can be established using the node address, which is the connection between the first node bound to the first member and the second node bound to the second member.

[0059] In this embodiment, each member of a conference is assigned a unique conference identifier that includes the member's region and the conference ID. Therefore, by parsing the conference identifier, the region of the second member can be determined. This allows the first node associated with the first member to directly establish a connection with the second node associated with the second member based on the conference identifier, thus completing the conference establishment without waiting for interaction with the control center.

[0060] Because the control center manages the nodes in the cluster deployed in each region, it maintains a global node list, as shown in Table 1. This list contains the identifiers and addresses of the nodes in each region. Therefore, during initialization, the control center can pre-distribute this global node list to each node. This allows the first node bound to the first member to obtain the node list corresponding to the region to which the second member belongs based on this locally stored global node list.

[0061]

[0062] Table 1

[0063] In an optional embodiment, in the process of determining the node address of the second node bound to the second member in the node list corresponding to the area to which the second member belongs based on the obtained conference identifier, a hash result is obtained by performing a hash calculation on the conference identifier. The hash calculation uses the same hash algorithm as the hash algorithm used when the second member selects the node to be bound from the node list corresponding to the area to which the second member belongs. Then, a node identifier matching the hash result is determined in the node list, and the node address corresponding to the node identifier is obtained.

[0064] Among them, since the hash algorithm used when performing hash calculation on the first node bound to the first member is the same as the hash algorithm used when the second member selects the node to be bound from the node list corresponding to the area to which it belongs, the node address finally selected from the node list must be the address of the real binding node on the second member side.

[0065] In some embodiments of the present application, with respect to the process of updating the connection between the first node and the second node based on the multicast tree in step 203, when the first node bound to the first member is not the root node in the multicast tree, a comparison result is obtained by comparing the connection relationship of the first node recorded in the multicast tree with the connection relationship of the first node and the second node bound to the second member, and based on the comparison result, the connection between the first node and the second node is updated.

[0066] Among them, if the first node bound to the first member is not the root node in the multicast tree, it means that the first member is not a push-stream end in the multicast tree, but a pull-stream end, and needs to pull the conference data from the root node of the multicast tree through the transmission path. The transmission path from the root node to the first node recorded in the multicast tree includes the connection relationship of the first node.

[0067] The above comparison results include two situations: the connection relationship of the first node is reversed or not reversed. By performing the connection switching operation of the first node according to the comparison result, the problems of packet loss and data loop can be solved. Figure 2B The new multicast tree and the old multicast tree shown indicate that the member bound to node N1 is used as the push end, and the members bound to nodes N2-N5 are used as the pull end. Therefore, with node N1 as the root node, by comparing the new multicast tree with the old multicast tree, the connection relationship between node N2 and node N3 is reversed. Therefore, the connection relationship between node N2 and node N3 is reversed. The connection relationship pointing to node N5 has changed, but there is no reversal, and the connection relationship pointing to node N4 has not changed.

[0068] In an optional embodiment, in the process of updating the connection between the first node and the second node according to the comparison result, if the comparison result is that the connection relationship of the first node has reversed, a connection is first established between the first node and the root node in the multicast tree, and then the connections with connection relationships pointing to the first node except the connection between the first node and the root node are disconnected, and timing is started. When the timing reaches a preset duration, a new connection relationship of the first node is established according to the record of the connection relationship pointing to the first node in the multicast tree, and the connection between the first node and the root node is disconnected; if the comparison result is that the connection relationship of the first node has not reversed, a new connection relationship of the first node is established according to the record of the connection relationship pointing to the first node in the multicast tree, and the connection with the connection relationship pointing to the first node is disconnected.

[0069] In this implementation, if the first node's connection relationship is reversed, a connection switch is implemented by adding a directly connected intermediate multicast tree between the old and new multicast trees. Specifically, the intermediate multicast tree is first established, the old multicast tree connection is disconnected, and then the new multicast tree connection is established, and then the intermediate multicast tree connection is disconnected. This allows each node to independently complete the update without synchronization or collaboration with other nodes, resulting in fast update convergence and ensuring an update without packet loss or data loops. If the first node's connection relationship is not reversed, a new connection for the first node can be directly established, and then the old connection for the first node is disconnected, thereby implementing a connection switch.

[0070] It can be seen that when switching the connection of a node, the root node of the multicast tree is not considered. When switching the connection, only the changes of the connection pointing to the node itself are considered. For nodes with no changes in the connection pointing to the node itself, no operation is performed.

[0071] Continue with the above Figure 2B For example, Figure 2C As shown, when the multicast tree is updated for node N5 whose connection relationship has changed but not reversed, node N5 first establishes a new connection relationship with node N4, and then disconnects the old connection whose connection relationship is directed to node N5.

[0072] Furthermore, if Figure 2D As shown, for nodes N2 and N3 whose connection relationships are reversed, first, node N2 establishes a connection with the root node N1, and node N3 establishes a connection with the root node N1, to ensure that the data of the root node can be transmitted to nodes N2 and N3 during the connection switching process to avoid data loops. Then node N3 disconnects the old connection pointing to itself, that is, the connection with node N2. Since node N2 does not have an old connection pointing to itself, there is no need to disconnect any connection. Node N2 and node N3 both wait for a certain period of time to ensure that each node completes the disconnection of the old connection. Then node N3 establishes a new connection relationship pointing to itself, that is, a connection with the root node N1, and node N2 establishes a new connection relationship pointing to itself, that is, a connection with node N3. Node N2 and node N3 disconnect the connection previously established with the root node.

[0073] In other embodiments of the present application, after executing step 201, in order to facilitate the control center to dynamically calculate the multicast tree taking into account transmission quality and transmission cost, and to select an appropriate time to send the multicast tree to the node, for the first node bound to the first member, when the first member generates data, the amount of data generated can be sent to the control center so that the control center can determine the activity of the first node; and the link status between the first node and the second node can be collected periodically, and the collected link status can be sent to the control center.

[0074] When the first member speaks, they generate data that needs to be transmitted to the other member, the second member. This data reflects the activity of the streaming end. Link status can be expressed as latency rate, packet loss rate, etc., which can reflect the quality of network transmission.

[0075] Example 2:

[0076] Based on the above Figure 2A Based on the embodiment shown, Figure 3 This is a flow chart of another conference control method according to an exemplary embodiment. The conference control method is applied to a control center and includes the following steps:

[0077] Step 301: Determine the multicast tree of the nodes bound to each member according to the link status reported by the nodes bound to each member in the conference and the transmission cost of the area to which the nodes bound to each member belong.

[0078] Step 302: Determine a target node whose activity is lower than a preset threshold based on the amount of member-generated data reported by the nodes bound to each member at different times.

[0079] Step 303: Send the multicast tree of the target node to the nodes bound to each member, so that the nodes bound to each member update the connections between the nodes bound to each member based on the multicast tree.

[0080] In this embodiment, the link status between two nodes can reflect the network transmission quality, and the transmission costs in different areas can reflect the charging differences in different areas. Therefore, the multicast tree calculated by the control center is the most appropriate transmission path obtained after combining the two indicators of transmission quality and transmission cost.

[0081] In a conference, since each member has the possibility of sending data as a streaming end, it is necessary to calculate the multicast tree for the node bound to each member separately. In other words, the root node in the multicast tree is the node bound to the corresponding member.

[0082] The amount of data reported at different times can reflect the activity of the corresponding members. For example, the total amount of data generated by the members in the time period closest to the current system time can be used as the activity. By sending the multicast tree of the target node with relatively low activity to the nodes bound to each member to complete the multicast tree update, the impact of connection switching on the audio and video experience can be reduced.

[0083] Based on the above-mentioned embodiment 2, the control center collects the link status reported by each node, and calculates the multicast tree of the nodes bound to each member based on the real-time link status and the transmission cost of each region, so as to effectively combat problems such as delay and packet loss caused by changes in cross-regional link status, and avoid transmission paths with high transmission costs, so that the transmission quality and transmission cost are balanced. When sending down the multicast tree, the activity of the node is tracked by the amount of data generated by the members reported by the node, and the multicast tree of the node with low activity is selected and sent to each node for updating, so as to reduce the impact of path switching on the audio and video experience.

[0084] In some embodiments of the present application, for the process of determining the multicast tree of the nodes bound to each member in the meeting based on the link status reported by the nodes bound to each member in the meeting and the transmission cost of the area to which the nodes bound to each member belong, a directed graph can be established based on the link status reported by the nodes bound to each member in the meeting and the transmission cost of the area to which the nodes bound to each member belong, and then, for the nodes bound to each member, the multicast tree when the node bound to the member is used as the root node can be determined based on the directed graph, thereby obtaining the multicast tree of the nodes bound to the member.

[0085] In the directed graph, a point represents a region, an edge represents a link between two regions, and the weight of the edge is represented by the weighted sum of the link state between the nodes in the two regions and the transmission cost of the edge pointing to the region.

[0086] When calculating the multicast tree based on the directed graph, relevant algorithms may be used, including but not limited to the directed Steiner tree algorithm, the minimum tree graph algorithm, and the like.

[0087] In this embodiment, considering that traffic charging standards vary across different regions in cross-domain scenarios, a multicast tree is calculated using link status and transmission cost to ensure cross-domain transmission quality and reduce bandwidth costs. Traditional solutions for optimizing multicast trees typically aim to minimize latency from the pusher to the puller or minimize bandwidth consumption. However, this approach is not suitable for cross-domain scenarios. While traditional solutions take bandwidth consumption into account, they do not directly translate into cost. Therefore, simply reducing bandwidth consumption does not necessarily translate into cost reductions.

[0088] In other embodiments of the present application, in step 301, the process of determining the multicast tree of each member's bound node based on the link status reported by each member's bound node and the transmission cost of the region to which each member's bound node belongs can be performed once every update cycle. This update cycle can be based on learning link change patterns based on historically collected link status, and a machine learning model can predict an appropriate update cycle based on the link change patterns.

[0089] By optimizing the calculation of the multicast tree according to the update cycle, it is possible to adapt to the dynamic variability of link status in cross-domain scenarios and solve the problems of increased transmission delay and increased packet loss.

[0090] In other embodiments of the present application, before determining the multicast tree of the nodes to which each member is bound in step 301, the control center can receive the conference number and area information sent by the nodes to which each member is bound, and generate a conference identifier for each member based on the conference number and area information, so that each member corresponds to a unique conference identifier, which facilitates obtaining the area based on the conference identifier.

[0091] Based on the above Figure 2A and Figure 3 Based on the embodiment shown, combined with the above Figure 1 In the application scenario shown, the present application also provides a conference control system, which includes a control center, a first node bound to the first member in the conference, and a second node bound to the second member in the conference. The conference includes members located in different areas, wherein the first member is any member in the conference, and the second member is any member in the conference except the first member.

[0092] During the initialization phase, the control center sends the global node list to the nodes in the cluster deployed in each region.

[0093] During the conference establishment phase, the control center generates a conference identifier consisting of a conference number and area information for the members to join the meeting. The first node bound to the first member obtains the conference identifier of the second member from the control center, and then determines the area to which the second member belongs based on the obtained conference identifier. Based on the obtained conference identifier, the node address of the second node bound to the second member is determined in the node list corresponding to the area to which the second member belongs, and the node address is used to establish a connection between the first node and the second node, thereby quickly completing the establishment of the multicast tree for transmitting the first frame data.

[0094] It should be noted here that for the multicast tree formed during the conference establishment phase, the corresponding node is the root node, the nodes bound to other members are leaf nodes, and there are direct connections between the root node and each leaf node.

[0095] After the conference is established, it enters a stable phase. The nodes bound to each member in the conference will report the link status and the amount of data generated by the member in real time. This allows the control center to regularly establish a directed graph based on the link status reported by each member's bound node and the transmission cost of the area to which each member's bound node belongs. The control center then determines the multicast tree for each member's bound node based on this directed graph, with the member's bound node as the root node, thereby obtaining the multicast tree for the node bound to that member. Furthermore, based on the amount of member-generated data reported by each member's bound node at different times, the control center determines the target node whose activity is below a preset threshold and sends the target node's multicast tree to each member's bound node.

[0096] In the case that the first node bound to the first member is not the root node in the received multicast tree, a comparison result is obtained by comparing the connection relationship of the first node recorded in the multicast tree with the connection relationship between the first node and the second node. If the comparison result is that the connection relationship of the first node has been reversed, a connection is first established between the first node and the root node in the multicast tree, and then the connections with connection relationships pointing to the first node except the connection between the first node and the root node are disconnected, and timing is started. When the timing reaches a preset time, a new connection relationship of the first node is established according to the record of the connection relationship pointing to the first node in the multicast tree, and the connection between the first node and the root node is disconnected. If the comparison result is that the connection relationship of the first node has not been reversed, a new connection relationship of the first node is established according to the record of the connection relationship pointing to the first node in the multicast tree, and the connection with the connection relationship pointing to the first node is disconnected.

[0097] At this point, the node completes the update of the multicast tree.

[0098] It should be noted that the multicast tree formed by each member's bound node during the conference stability phase still has the corresponding node as the root node, but the nodes bound to other members may be leaf nodes or not, and the transmission path from the root node to each leaf node may not be a direct path. Figure 2B As shown in the figure, both the old and new multicast trees are calculated by the control center after the conference is successfully established, taking into account transmission quality and transmission cost. It can be seen that in the old multicast tree, there is root node N1 and leaf nodes N3, N4, and N5, but the transmission paths from root node N1 to leaf nodes N3, N4, and N5 are not direct paths. Similarly, in the new multicast tree, there is root node N1 and leaf node N5, but the transmission paths from root node N1 to leaf node N5 are also not direct paths.

[0099] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0100] The embodiments of the present application also provide an electronic device corresponding to the conference control method provided in the aforementioned embodiments, so as to execute the aforementioned conference control method.

[0101] Figure 4This is a hardware structure diagram of an electronic device according to an exemplary embodiment. The electronic device includes: a communication interface 601, a processor 602, a memory 603, and a bus 604. The communication interface 601, the processor 602, and the memory 603 communicate with each other via the bus 604. The processor 602 can execute the conference control method described above by reading and executing machine-executable instructions corresponding to the control logic of the conference control method in the memory 603. The details of the method are described in the above embodiments and will not be repeated here.

[0102] The memory 603 mentioned in this application can be any electronic, magnetic, optical or other physical storage system, and can contain stored information, such as executable instructions, data, etc. Specifically, the memory 603 can be RAM (Random Access Memory), flash memory, a storage drive (such as a hard disk drive), any type of storage disk (such as an optical disk, DVD, etc.), or a similar storage medium, or a combination thereof. The communication connection between the system network element and at least one other network element is realized through at least one communication interface 601 (which can be wired or wireless), and the Internet, wide area network, local area network, metropolitan area network, etc. can be used.

[0103] The bus 604 may be an ISA bus, a PCI bus, or an EISA bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. The memory 603 is used to store programs, and the processor 602 executes the programs after receiving an execution instruction.

[0104] The processor 602 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by an integrated logic circuit of the hardware in the processor 602 or an instruction in the form of software. The above-mentioned processor 602 can be a general-purpose processor, including a network processor (NP), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The various methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in conjunction with the embodiments of the present application can be directly embodied as a hardware decoding processor for execution, or can be completed by a combination of hardware and software modules in the decoding processor.

[0105] The electronic device provided in the embodiment of the present application and the conference control method provided in the embodiment of the present application are based on the same inventive concept and have the same beneficial effects as the methods adopted, operated or implemented by them.

[0106] The present application also provides a computer-readable storage medium corresponding to the conference control method provided in the above embodiment. Figure 5 As shown, the computer-readable storage medium is a CD 30 on which a computer program (ie, a program product) is stored. When the computer program is run by a processor, the conference control method provided by any of the aforementioned embodiments is executed.

[0107] It should be noted that examples of the computer-readable storage medium may also include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other optical or magnetic storage media, which are not listed here one by one.

[0108] The computer-readable storage medium provided in the above-mentioned embodiment of the present application and the conference control method provided in the embodiment of the present application are based on the same inventive concept and have the same beneficial effects as the method adopted, run or implemented by the application program stored therein.

[0109] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present application that follow the general principles of the present application and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, and the true scope and spirit of the present application are indicated by the following claims.

[0110] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0111] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.

Claims

1. A conference control method, characterized in that: The conference includes members located in different areas, and the method is applied to a first node bound to a first member of the conference, where the first member is any member of the conference, and includes: establishing a connection between the first node and a second node bound to the second member according to a region to which the second member in the conference belongs, wherein the second member is a member other than the first member; Receiving a multicast tree of the conference sent by a control center; the multicast tree is obtained by the control center based on the link status between nodes bound to each member in the conference and the transmission cost of the area to which the node bound to each member belongs; A connection between the first node and the second node is updated based on the multicast tree.

2. The method according to claim 1, characterized in that The establishing, according to the region to which the second member in the conference belongs, a connection between the first node and a second node bound to the second member includes: Obtaining a conference identifier of a second member in the conference from a control center; Determining the region to which the second member belongs based on the obtained conference identifier; Determining, according to the acquired conference identifier, a node address of a second node bound to the second member in a node list corresponding to the region to which the second member belongs; A connection is established between the first node and a second node bound to the second member using the first node address.

3. The method according to claim 2, characterized in that The determining, based on the acquired conference identifier, the node address of the second node bound to the second member in the node list corresponding to the region to which the second member belongs includes: Performing a hash calculation on the conference identifier to obtain a hash result, where the hash calculation uses the same hash algorithm as the hash algorithm used by the second member when selecting a node to be bound from the node list corresponding to the region to which it belongs; Determine a node identifier that matches the hash result in the first node list, and obtain a node address corresponding to the first node identifier.

4. The method according to claim 1, wherein The updating the connection between the first node and the second node based on the multicast tree includes: When the first node is not a root node in the multicast tree, comparing the connection relationship of the first node recorded in the multicast tree with the connection relationship between the first node and the second node to obtain a comparison result; According to the comparison result, the connection between the first node and the second node is updated.

5. The method according to claim 4, characterized in that Updating the connection between the first node and the second node according to the comparison result includes: If the comparison result shows that the connection relationship of the first node has been reversed, establish a connection between the first node and the root node in the multicast tree, disconnect all connections pointing to the first node except the connection between the first node and the root node, start a timer, and when the timer reaches a preset timer, establish a new connection relationship for the first node based on the record in the multicast tree that indicates that the connection relationship points to the first node, and disconnect the first node from the root node. If the comparison result shows that the connection relationship of the first node has not been reversed, a new connection relationship of the first node is established according to the record of the connection relationship pointing to the first node in the multicast tree, and the connection relationship pointing to the first node is disconnected.

6. The method according to any one of claims 1 to 5, characterized in that After establishing a connection between the first node and the second node bound to the second member, the method further includes: When the first member generates data, the generated data volume is sent to the control center; The link status between the first node and the second node is collected periodically, and the collected link status is sent to the control center.

7. A conference control method, characterized in that: The conference includes members located in different areas and is applied to a control center. The method includes: Determining a multicast tree of the nodes bound to each member according to the link status reported by the nodes bound to each member in the conference and the transmission cost of the area to which the nodes bound to each member belong; Based on the amount of member-generated data reported by the nodes bound to each member at different times, the target node whose activity is lower than the preset threshold is determined; The multicast tree of the target node is sent to the nodes bound to each member, so that the nodes bound to each member update the connections between the nodes bound to each member based on the multicast tree.

8. The method according to claim 7, characterized in that The determining, based on the link status reported by the node bound to each member in the conference and the transmission cost of the area to which the node bound to each member belongs, a multicast tree of the node bound to each member includes: A directed graph is established based on the link status reported by the nodes bound to each member in the conference and the transmission cost of the area to which the nodes bound to each member belong; For each node bound to a member, a multicast tree with the node bound to the member as a root node is determined according to the directed graph to obtain the multicast tree of the node bound to the member.

9. The method according to any one of claims 7-8, characterized in that Before determining the multicast tree of the node to which each member is bound, the method further includes: Receive the meeting number and region information sent by the node bound to each member; A conference identifier for each member is generated according to the conference number and the region information.

10. A conference control system, characterized in that: The conference includes members located in different areas, and the system includes a control center, a first node bound to a first member of the conference, and a second node bound to a second member of the conference; The first node is configured to establish a connection between the first node and the second node according to a region to which the second member in the conference belongs; The control center is configured to receive link states reported by nodes bound to each member in the conference, determine a multicast tree of nodes bound to each member based on the link states and the transmission cost of the area to which the nodes bound to each member belong, determine nodes whose activity is lower than a preset threshold based on the amount of member-generated data reported by the nodes bound to each member at different times, and send the multicast tree of nodes whose activity is lower than the preset threshold to the nodes bound to each member; The first node is configured to update a connection between the first node and the second node based on the multicast tree.

11. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: The processor executes the program to implement the method according to any one of claims 1 to 9.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that: The program is executed by a processor to implement the method according to any one of claims 1 to 9.