Cascade conference processing method, electronic equipment, storage medium and program
By using the conference organization tree structure in cascading meetings to find target conference members and manage their voice channels, the problem of voice overlay amplification and loopback in cascading meetings is solved, and processing efficiency and user experience is improved.
Patent Information
- Application Number
- CN202411499191.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-25
- Publication Date
- 2025-02-28
AI Technical Summary
In cascading meetings, voice channel multiplexing of special users leads to voice overlay amplification and voice loopback problems, affecting the user experience.
Find target conference members through the conference organization tree structure and determine the sub-conference voice channels they participate in, keep the target voice channel on, and turn off the non-target voice channel to avoid voice loopback.
The algorithm complexity of cascading meeting processing is reduced, processing efficiency and response speed are improved, and user experience is improved.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of communication technology, and in particular to a cascade conference processing method, device, electronic device, storage medium and program. Background Art
[0002] In scenarios where large meetings or specific meeting tasks are being performed, users with special roles can join multiple meetings at the same time. For example, a collaborative scheduling system is a multi-task conference system that groups meetings based on tasks, where meeting members with special roles can join up to ten meetings at the same time. In most cases, special users only listen to speeches in multiple meetings, and sometimes need to speak in a single meeting. Depending on the scope of the meeting, different venues or meetings need to be cascaded to form a conference, or cascaded meetings need to be restored to a non-cascaded state.
[0003] When multiple conferences joined by a special user are cascaded into a large conference, the following problems will occur because the user has multiple voice channels: When other members in the conference speak, the voice is sent to the special user's terminal through multiple voice channels, and the voice will be superimposed and amplified. When the special user speaks in one of the conferences, the voice will be sent back to the special user's terminal through the voice channels of other sub-conferences, resulting in voice loopback. Therefore, it is necessary to solve the voice loopback problem in cascaded conferences to improve the user experience of cascaded conferences. Summary of the invention
[0004] The embodiments of the present invention provide a cascade conference processing method, device, electronic device, storage medium and program, which can reduce the algorithm complexity of cascade conference processing, improve the processing efficiency and response speed of cascade conferences, and thus enhance user experience.
[0005] According to one aspect of the present invention, a cascade conference processing method is provided, comprising:
[0006] In response to a first conference cascade association request initiated by a conference management terminal, searching for a first target conference member in a cascade conference according to a conference organization tree structure; wherein the first conference cascade association request includes a conference cascade establishment request or a cascade conference addition conference member request; the conference organization tree structure includes a cascade conference node, a sub-conference node, and a conference member node; the cascade conference node includes a data field and a sub-conference pointer field, the sub-conference node includes a data field, a member pointer field, and a cascade conference pointer field, and the conference member node includes a data field and a sub-conference pointer field; the first target conference member participates in multiple sub-conferences;
[0007] Determining a voice channel of each of the sub-conferences in which the first target conference member participates;
[0008] Keep the first target voice channel open, and close the non-first target voice channels.
[0009] According to another aspect of the present invention, there is provided a cascade conference processing device, comprising:
[0010] A first target conference member search module is used to respond to a first conference cascade association request initiated by a conference management terminal, and search for a first target conference member in a cascade conference according to a conference organization tree structure; wherein the first conference cascade association request includes a conference cascade establishment request or a cascade conference addition conference member request; the conference organization tree structure includes a cascade conference node, a sub-conference node, and a conference member node; the cascade conference node includes a data domain and a sub-conference pointer domain, the sub-conference node includes a data domain, a member pointer domain, and a cascade conference pointer domain, and the conference member node includes a data domain and a sub-conference pointer domain; the first target conference member participates in multiple sub-conferences;
[0011] A first voice channel determination module, used to determine the voice channel of each of the sub-conferences in which the first target conference member participates;
[0012] The first voice channel processing module is used to keep the first target voice channel open and close the non-first target voice channels.
[0013] According to another aspect of the present invention, there is provided an electronic device, the electronic device comprising:
[0014] at least one processor; and
[0015] a memory communicatively connected to the at least one processor; wherein,
[0016] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the cascade conference processing method described in any embodiment of the present invention.
[0017] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the cascade conference processing method described in any embodiment of the present invention when executed.
[0018] According to another aspect of the present invention, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the cascade conference processing method described in any embodiment of the present invention is implemented.
[0019] The embodiment of the present invention responds to the first conference cascade association request such as the conference cascade establishment request or the cascade conference adding conference member request initiated by the conference management terminal, searches for the first target conference member participating in multiple sub-conferences in the cascade conference according to the conference organization tree structure, and determines the voice channels of each sub-conference participated by the first target conference member, thereby keeping the first target voice channel open and closing the non-first target voice channel, so that the first target conference member has only one conference in the cascade conference. Since the conference organization tree structure includes cascade conference nodes, sub-conference nodes and conference member nodes, and each node includes a corresponding data domain and pointer domain, the pointer domains of each node can form a chain index structure. Therefore, the first target conference member and the voice channels of each sub-conference participated in can be quickly found according to the chain index structure of the conference organization tree structure, thereby solving the problems of low conference processing efficiency and high algorithm complexity in the existing cascade conference processing method, and can reduce the algorithm complexity of cascade conference processing, improve the processing efficiency and response speed of cascade conferences, and thus improve user experience.
[0020] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0022] Figure 1 is a flow chart of a cascade conference processing method provided by Embodiment 1 of the present invention;
[0023] Figure 2 This is a schematic diagram of a data structure of a cascade conference node provided in the first embodiment of the present invention;
[0024] Figure 3 This is a schematic diagram of a data structure of a sub-conference node provided in the first embodiment of the present invention;
[0025] Figure 4 This is a schematic diagram of a data structure of a cascade conference node provided in the first embodiment of the present invention;
[0026] Figure 5 This is a structural diagram of a conference organization tree structure provided by Embodiment 1 of the present invention;
[0027] Figure 6is a flow chart of a cascade conference processing method provided by Embodiment 2 of the present invention;
[0028] Figure 7 is a flow chart of a cascade conference processing method provided by Embodiment 3 of the present invention;
[0029] Figure 8 is a schematic diagram of a cascade conference processing device provided by Embodiment 4 of the present invention;
[0030] Fig. 9 This is a schematic diagram of the structure of an electronic device provided in Embodiment 5 of the present invention. DETAILED DESCRIPTION
[0031] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0032] It should be noted that the terms "first", "second", "third", "fourth", "fifth" and (target) in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0033] At present, in order to solve the problems of voice superposition amplification and voice loopback in cascaded conferences, when cascading, canceling cascades, and adding or deleting a sub-conference, the server of the conference system needs to detect the terminal number of the conference member who generates the voice loopback through the existing voice loopback detection method, and find its multiple voice channels based on the detected terminal number of the conference member, release the redundant voice channels, and ensure that this conference member has only one conference in the cascaded conference.
[0034] At present, the existing voice loopback detection principle is as follows: Assume that the conferences to be cascaded are C1, C2, ... n , the conference members are S1, S2...S n, the set of conference members with voice loopback is R. The existing voice loopback detection steps are:
[0035] Step 1: Let i=1, j=i+1.
[0036] Step 2: Calculate the number of people who join the conference at the same time C i and C j The conference member set R i =S i ∩S j .
[0037] Step 3: R i Join the conference member set R with voice loopback, that is, R = R∪R i .
[0038] Step 4: Let j = j + 1, and repeat steps 2-3 until j = n.
[0039] Step 5: Let i=i+1, j=i+1, and repeat steps 2-4 until i=n.
[0040] Correspondingly, in the related art, when the cascade of some sub-conferences that have been cascaded is canceled, the steps for restoring the voice channel are: traverse all members of the sub-conferences that cancel the conference cascade, find out the users who have released the voice channels, re-establish the voice channels that have been released by the above users, and perform the voice loopback detection algorithm on the remaining sub-conferences in the cascaded conference. If the set of conference members with voice loopback is not empty, the redundant voice channels of the conference members in the set are released.
[0041] It can be seen that in the existing cascade conference processing method, when the maintenance terminal adds a sub-conference to the cascade conference, it is necessary to traverse all existing sub-conferences in the cascade conference multiple times, resulting in reduced cascade conference processing efficiency, and the complexity of the existing voice loopback detection algorithm is O(n 2 ), the high complexity further leads to low efficiency of cascade conference processing.
[0042] Embodiment 1
[0043] Figure 1 This is a flowchart of a cascade conference processing method provided by the first embodiment of the present invention. This embodiment can be applied to the situation where suitable colleges and universities are reasonably recommended to candidates based on their college entrance examination scores of that year. The method can be executed by a cascade conference processing device, which can be implemented by software and / or hardware, and can generally be integrated in an electronic device. The electronic device can be a server device for processing cascade conferences, and is used in conjunction with a terminal for managing conferences. The embodiment of the present invention does not limit the specific device type of the electronic device. Accordingly, Figure 1 As shown, the method includes the following operations:
[0044] S110. In response to a first conference cascade association request initiated by a conference management terminal, searching for a first target conference member in the cascade conference according to a conference organization tree structure; wherein the first conference cascade association request includes a conference cascade establishment request or a cascade conference addition conference member request; the conference organization tree structure includes a cascade conference node, a sub-conference node and a conference member node; the cascade conference node includes a data field and a sub-conference pointer field, the sub-conference node includes a data field, a member pointer field and a cascade conference pointer field, and the conference member node includes a data field and a sub-conference pointer field; the first target conference member participates in multiple sub-conferences.
[0045] Among them, the conference management terminal can be a terminal for managing multiple conferences, which can interact with the conference management server and initiate relevant requests for conference management to the server to realize the management of multi-party conferences. The first conference cascade association request can be one of the requests for managing conferences sent by the conference management terminal to the server, and the request can be used to manage cascade conferences, such as establishing a cascade conference or adding conference members to a cascade conference. The conference organization tree structure can be a tree structure constructed by the server based on the relevant information of each conference. The tree structure can store and save the relevant data of the conference in a multi-level and multi-node manner, and establish an association relationship between the information of each conference. The cascade conference can be a large conference that includes multiple sub-conferences at the same time. The first target conference member can be the relevant conference member that the server wants to find in response to the first conference cascade association request initiated by the conference management terminal. It can be understood that the first target conference member can be a conference member in the cascade conference requested to be processed in the first conference cascade association request, and participates in multiple sub-conferences at the same time.
[0046] It should be noted that in the existing voice loopback detection method, only a simple data structure is constructed for the sub-conference, for example, an array is constructed for a conference, and the array can be all the conference members participating in the conference. That is, the data structure used by the existing voice loopback detection method is relatively simple, and the cascade relationship and index relationship between different conferences will not be established.
[0047] In the embodiment of the present invention, the conference organization tree structure can be used to store the relevant data of the management conference in a specific structured manner. The conference organization tree structure uses a tree structure to store the relevant data of all conferences. Specifically, the conference organization tree structure can include three different levels of nodes: cascade conference nodes, sub-conference nodes, and conference member nodes.
[0048] The cascade conference node can be used to store and manage relevant data of the cascade conference. Figure 2 is a schematic diagram of a data structure of a cascade conference node provided by the first embodiment of the present invention. In a specific example, Figure 2As shown, optionally, a cascade conference node may include a data domain and a sub-conference pointer domain. The data domain of the cascade conference node may store basic attribute information for managing the sub-conferences included in the cascade conference, such as but not limited to the sub-conference name and conference ID (Identity document, identity identification number) number. The sub-conference pointer domain of the cascade conference node may store pointer information of each sub-conference included in the cascade conference, and the pointer information is used to store index information for managing each sub-conference. Exemplarily, the sub-conference pointer 1 in the sub-conference pointer domain of the cascade conference node is used to indicate that the cascade conference node includes sub-conference 1, and the data structure of the sub-conference node of sub-conference 1 can be quickly located and obtained through the sub-conference pointer 1.
[0049] The sub-conference node can be used to store and manage the relevant data of a single sub-conference. Figure 3 is a schematic diagram of a data structure of a sub-conference node provided in the first embodiment of the present invention. In a specific example, Figure 3 As shown, optionally, the sub-conference node may include a member pointer domain and a cascade conference pointer domain. The data domain of the sub-conference node may store basic attribute information for managing the sub-conference, such as but not limited to the sub-conference name, function, number of conference members, and conference ID number. The member pointer domain of the sub-conference node may store pointer information of each conference member included in the sub-conference, and the pointer information is used to store index information for managing each conference member. Exemplarily, the member pointer 1 in the member pointer domain of the sub-conference node is used to indicate that the sub-conference node includes conference member 1, and the data structure of the conference member node of conference member 1 can be quickly located through member pointer 1. The cascade conference pointer domain of the sub-conference node may store pointer information of each cascade conference in which the sub-conference participates, and the pointer information is used to store index information for managing each cascade conference in which the sub-conference participates. Exemplarily, the cascade conference pointer domain 1 in the cascade conference pointer domain of the sub-conference node is used to indicate that the sub-conference node participates in cascade conference 1, and the data structure of the cascade conference node of cascade conference 1 can be quickly located through cascade conference pointer domain 1. Through the two layers of pointers, namely the member pointer field and the cascade conference pointer field included in the sub-conference node, forward search of conference members and reverse tracing search of cascade conferences can be realized.
[0050] The conference member node can be used to store and manage the relevant data of conference members. Conference members are users who participate in the conference. Figure 4 is a schematic diagram of a data structure of a cascade conference node provided by the first embodiment of the present invention. In a specific example, Figure 4As shown, optionally, the conference member node may include a data domain and a sub-conference pointer domain. The data domain of the conference member node may store basic attribute information for managing the conference member, such as but not limited to the terminal number and member name of the sub-conference member. The sub-conference pointer domain of the conference member node may store pointer information of each sub-conference in which the conference member participates, and the pointer information is used to store index information for managing each sub-conference. Exemplarily, the sub-conference pointer 1 in the sub-conference pointer domain of the conference member node is used to indicate that the conference member participated in sub-conference 1, and the data structure of the sub-conference node of sub-conference 1 can be quickly located and obtained through the sub-conference pointer 1.
[0051] Figure 5 is a schematic diagram of a conference organization tree structure provided by the first embodiment of the present invention. In a specific example, Figure 5 As shown, assuming that sub-conference 1 and sub-conference 2 constitute a cascaded conference 1, the pointer field of cascaded conference node 1 corresponding to the cascaded conference 1 may include sub-conference pointer 1 of sub-conference 1 and sub-conference pointer 2 of sub-conference 2. Assuming that the conference members of sub-conference 1 include conference member 1 and conference member 2, the member pointer field of sub-conference 1 may include member pointer 1 of conference member 1 and member pointer 2 of conference member 2. At the same time, the cascaded conference pointer field of sub-conference 1 may include pointer information of the corresponding cascaded conference. It should be noted that Figure 5 In the figure, the specific structures of sub-conference node 2, conference member node 2, conference member node 3 and conference member node 4 of sub-conference 2 are not shown and simplified.
[0052] It can be seen that the embodiment of the present invention constructs a data structure with a cascade relationship and an index relationship by utilizing the conference organization tree structure, thereby visualizing the association relationship between cascade conferences, sub-conferences, and conference members. Since the sub-conference node includes both the member pointer field and the cascade conference pointer field, a chain index structure can be formed between the cascade conference, sub-conference, and conference members through corresponding pointers. Accordingly, based on the conference organization tree structure, each conference information and conference member information can be quickly indexed and traversed, thereby improving the efficiency of conference traversal processing, and further improving the response speed of the conference system.
[0053] Optionally, the first conference cascade association request may include two different types of requests: a conference cascade establishment request or a cascade conference adding conference members request. Among them, the conference cascade establishment request may be a request to establish a cascade conference or join a cascade conference. The cascade conference adding conference members request may be a request to add new conference members to the current cascade conference. When a user sends a conference cascade establishment request or a cascade conference adding conference members request to the server based on the conference management terminal, the server may respond to the request, obtain data of the conference organization tree structure, and search for the first target conference member who is participating in multiple sub-conferences at the same time in the cascade conference where the cascade operation is established or the conference member is added according to the conference organization tree structure.
[0054] Since the conference organization tree structure uses a tree structure to store relevant information of the conference, and establishes index relationships between conferences and between conferences and conference members through configured pointers, it is possible to traverse and search in an upward indexing manner according to the conference members, and the traversal process of a sub-conference can be omitted, thereby improving the processing efficiency and response speed of recording conferences.
[0055] S120: Determine the voice channels of the sub-conferences in which the first target conference members participate.
[0056] It can be understood that since the first target conference member participates in multiple sub-conferences at the same time, after finding the first target conference member in the cascade conference according to the conference organization tree structure, the voice channels of each sub-conference in which each first target conference member participates can be further determined based on the relevant information of the first target conference member stored in the conference organization tree structure.
[0057] S130: Keep the first target voice channel open, and close the non-first target voice channels.
[0058] The first target voice channel may be one of the voice channels of each sub-conference participated by the first target conference member, for example, the first voice channel. The embodiment of the present invention does not limit the sorting position of the first target voice channel in the voice channels of each sub-conference. To avoid the voice loopback problem, the number of the first target voice channel is 1. The non-first target voice channel may be other voice channels in the voice channels of each sub-conference participated by the first target conference member except the first target voice channel.
[0059] Correspondingly, after determining the voice channels of each sub-conference in which the first target conference members participate, one voice channel can be selected as the first target voice channel, and the other voice channels can be used as non-first target voice channels. The first target voice channel is kept open, and other non-first target voice channels are closed at the same time, so that the first target conference members have only one conference in the cascade conference, thereby solving the conference voice loop problem caused by multiple voice channels.
[0060] The embodiment of the present invention responds to the first conference cascade association request such as the conference cascade establishment request or the cascade conference adding conference member request initiated by the conference management terminal, searches for the first target conference member participating in multiple sub-conferences in the cascade conference according to the conference organization tree structure, and determines the voice channels of each sub-conference participated by the first target conference member, thereby keeping the first target voice channel open and closing the non-first target voice channel, so that the first target conference member has only one conference in the cascade conference. Since the conference organization tree structure includes cascade conference nodes, sub-conference nodes and conference member nodes, and each node includes a corresponding data domain and pointer domain, the pointer domains of each node can form a chain index structure. Therefore, the first target conference member and the voice channels of each sub-conference participated in can be quickly found according to the chain index structure of the conference organization tree structure, thereby solving the problems of low conference processing efficiency and high algorithm complexity in the existing cascade conference processing method, and can reduce the algorithm complexity of cascade conference processing, improve the processing efficiency and response speed of cascade conferences, and thus improve user experience.
[0061] Embodiment 2
[0062] Figure 6 This is a flowchart of a cascade conference processing method provided by the second embodiment of the present invention. This embodiment is specific based on the above embodiment. In this embodiment, a specific optional implementation method for searching for the first target conference member in the cascade conference according to the conference organization tree structure and determining the voice channels of each sub-conference in which the first target conference member participates is provided. Figure 6 As shown, the method of this embodiment may include:
[0063] S210: In response to a first conference cascade association request initiated by a conference management terminal, determine a first current cascade conference according to the first conference cascade association request.
[0064] Among them, the first conference cascade association request includes a conference cascade establishment request or a cascade conference adding conference member request; the conference organization tree structure includes cascade conference nodes, sub-conference nodes and conference member nodes; the cascade conference node includes a data field and a sub-conference pointer field, the sub-conference node includes a data field, a member pointer field and a cascade conference pointer field, and the conference member node includes a data field and a sub-conference pointer field; the first target conference member participates in multiple sub-conferences.
[0065] The first current cascade conference may be a cascade conference that the first conference cascade association request currently requests to process.
[0066] In a specific example, Figure 5 As shown, assuming that the cascade conference specified in the first conference cascade association request is cascade conference 1, cascade conference 1 can be used as the first current cascade conference. Assuming that the first conference cascade association request specifies that conference member 5 joins cascade conference 1, cascade conference 1 can be used as the first current cascade conference.
[0067] S220: Search for conference member node information of conference members for each sub-conference index included in the first current cascade conference according to the conference organization tree structure.
[0068] The conference member node information is information stored in the data structure of the conference member node.
[0069] Specifically, the conference member node information of the conference members may be searched for each sub-conference index included in the first current cascade conference according to the pointer field data in the cascade conference node corresponding to the first current cascade conference.
[0070] In a specific example, Figure 5 As shown, assuming that the first current cascade conference is cascade conference 1, the sub-conference node 1 corresponding to the sub-conference 1 can be searched according to the sub-conference pointer 1 index in the sub-conference pointer field of the cascade conference 1. Further, according to the member pointer in the member pointer field of the sub-conference node 1, the conference members included in the sub-conference 1 are obtained. That is, conference member 1 is searched through the member pointer 1 index of the sub-conference node 1, and conference member 2 is searched through the member pointer 2 index of the sub-conference node 1. Similarly, according to the sub-conference pointer 2 in the pointer field of the cascade conference 1, each conference member included in the sub-conference 2 can be searched step by step.
[0071] S230: When it is determined that the conference member node information of the current conference member includes multiple sub-conference pointers, determine the current conference member as the first target conference member.
[0072] The current conference member may be a conference member currently being analyzed. Optionally, the number of the first target conference members may be one or more, and the embodiment of the present invention does not limit the number of the first target conference members.
[0073] Correspondingly, if all conference members participating in the first current cascade conference are found by searching the indexes of each sub-conference included in the first current cascade conference according to the conference organization tree structure, the conference member node information of each conference member found can be further obtained according to the conference organization tree structure, and the pointer field in the conference member node information of each conference member can be analyzed. If a conference member's sub-conference pointer field includes multiple sub-conference pointers, it can be determined as the first target conference member.
[0074] In a specific example, Figure 5 As shown, the conference members found by searching the sub-conference indexes included in the first current cascade conference include conference member 1, conference member 2, conference member 3, and conference member 4. Among them, if only the sub-conference pointer field of conference member 1 includes multiple sub-conference pointers, such as conference member 1 includes 2 sub-conference pointers, conference member 1 can be determined as the first target conference member.
[0075] S240. Determine a target subconference in which the first target conference member participates according to the subconference pointer field of the first target conference member, and construct a first conference set according to the target subconference; wherein the first conference set includes address information of each of the target subconferences.
[0076] The target sub-conference may be a plurality of sub-conferences that members of the first target conference simultaneously participate in. The first conference set may be used to store relevant information of the target sub-conference, for example, memory address information of the target sub-conference may be stored.
[0077] Correspondingly, after determining the first target conference member, the target sub-conference in which the first target conference member participates can be further determined according to the sub-conference pointer field of the first target conference member, and the first conference set can be constructed according to the target sub-conference, for example, the address of each target sub-conference is added to the first conference set.
[0078] S250: Search for a first target cascade conference node through the cascade conference pointer field of each sub-conference node in the first conference set, and construct a second conference set according to the first target cascade conference node; wherein the second conference set includes address information of each of the first target cascade conference nodes.
[0079] The first target cascade conference node may be a cascade conference node of a cascade conference found based on each target sub-conference included in the first conference set. It is understandable that the first target cascade conference node may be a corresponding specific cascade conference node, or may be a null value. The second conference set may be used to store relevant information of the first target cascade conference node, such as memory address information of the first target cascade conference node.
[0080] Correspondingly, after obtaining the first conference set, the cascade conference pointer field of each sub-conference node in the first conference set can be further indexed and searched to obtain the cascade conference node in which each sub-conference node participates as the first target cascade conference node. It can be understood that some of the sub-conference nodes in the first conference set will participate in the cascade conference, while others are separate conferences and will not participate in the cascade conference. Therefore, the first target cascade conference node corresponding to the search of each sub-conference node may exist or be empty. If the first target cascade conference node corresponding to the search of the sub-conference node exists, the specific address information of the first target cascade conference node can be added to the corresponding position in the second conference set, and the position can be the sorting position of the conference node in the first conference set. If the first target cascade conference node corresponding to the search of the sub-conference node does not exist, a null value can be set at the corresponding position in the second conference set, and the position can be the sorting position of the conference node in the first conference set.
[0081] In a specific example, assume that the first conference set is represented by S1 = {P1, P2...P k}, S1 represents the first meeting set, P k represents the sub-conference node k, then the second conference set corresponding to the first conference set can be S2 = {PJ1, PJ2 ... PJ k}. S2 represents the second meeting set, PJ k Indicates the address information of the cascade conference node corresponding to the child conference node k. The address information can be a specific memory address or a null value.
[0082] S260: Search for a first target cascade conference node in the second conference set whose address is the same as the address of the first current cascade conference as a target set element.
[0083] The target set element may be address information of one of the first target cascade conference nodes in the second conference set, and the address information of the first target cascade conference node is the same as the address of the first current cascade conference.
[0084] S270: Save the sub-conference node address in the first conference set that has the same sequence number as the target set element in the third conference set.
[0085] The third conference set includes the voice channels of the sub-conferences in which the first target conference member participates, and the third conference set is stored in the data domain of the first target conference member.
[0086] The third conference set may be used to store relevant information of the voice channels of each sub-conference in which the first target conference members participate.
[0087] Furthermore, after the second conference set is generated, the second conference set can continue to be used as a benchmark to search for the first target cascade conference node in the second conference set whose address is the same as the address of the first current cascade conference as the target set element. After the target set elements are screened out, the sub-conference node addresses in the first conference set with the same sequence number as the target set element can be saved in the third conference set based on the target set elements. It can be understood that the third conference set can include one or more sub-conference node addresses. In this way, the voice channels of each sub-conference in which the first target conference members participate are stored in the corresponding third conference set.
[0088] In a specific example, assume that the first conference set is S1 = {P1, P2...P k}, the second conference set is S2 = {PJ1, PJ2...PJ k}, if the value of PJ2 is the address P of the first current cascade conference, the cascade conference node corresponding to PJ2 can be used as the target set element. Further, P2 in the first conference set is saved to the third conference set, that is, S3 = {P2}.
[0089] S280: Keep the first target voice channel open, and close the non-first target voice channels.
[0090] Specifically, the address of one of the sub-conferences in the third conference set can be selected as the first target voice channel, and the addresses of other sub-conferences in the third conference set can be used as non-first target voice channels. The first target voice channel can be kept open, and the non-first target voice channels can be closed.
[0091] In a specific example, suppose the sub-conferences to be cascaded are C1, C2, ... n When the conference management terminal initiates a cascade operation for n sub-conferences or adds a new conference member to a cascade conference, it can send a conference cascade establishment request to the server. Accordingly, the server can execute the following improved voice loopback detection algorithm process in response to the conference cascade establishment request initiated by the conference management terminal:
[0092] Step 1: Determine the current cascade conference according to the conference cascade establishment request, and obtain the cascade conference node information of the current cascade conference according to the conference organization tree structure. Find all sub-conferences C1, C2, ..., C included in the current cascade conference through the sub-conference pointer field of the cascade conference node information of the current cascade conference. n , record the address of the cascade conference node corresponding to the current cascade conference as P.
[0093] Step 2: Set the current processing sub-conference C i =C1.
[0094] Step 3: Get the current processing sub-conference C according to the conference organization tree structure i Member pointer field, traverse the current processing sub-conference C i All conference member nodes included in the conference member node, if the number of sub-conference pointers included in the conference member node is greater than 1, it means that there is a multi-party conference among the current conference members, and proceed to the next step; otherwise, execute step nine.
[0095] Step 4: Find the sub-conference node where the current conference member is located through the sub-conference pointer field of the current conference member node, store the address of the found sub-conference node, and obtain the first conference set S1 = {P1, P2...P k}.
[0096] Step 5: Through each sub-conference node P in S1 k The cascade conference pointer domain of the cascade conference pointer domain searches for the cascade conference nodes corresponding to each sub-conference node, stores the addresses of the found cascade conference nodes, and obtains the set second conference set S2 = {PJ1, PJ2 ... PJ k}.
[0097] Step 6: Find the target set element in set S2 whose value is equal to the address P of the current cascade conference, such as PJ1 and PJ2, and save the sub-conference node addresses P1 and P2 in S1 with the same sequence number as the target set element to the third conference set S3 = {P1, P2}.
[0098] Step 7: Save S3 to the data domain of the current conference member node.
[0099] Step 8: Close the sending and receiving directions of the voice channels after the first channel in S3.
[0100] Step 9: Set the current processing sub-conference C i =C2, and so on, until C n After processing is completed, repeat steps 3 to 8.
[0101] It should be noted that when a new conference member is added to a cascade conference, the conference organization tree structure can be updated first according to the sub-conference information of the newly added conference member. After the conference organization tree structure is updated, the conference member node corresponding to the newly added conference member and the sub-conference node of the sub-conference to which the newly added conference member is added are used as input, and then the algorithm flow of the above steps 1 to 9 is executed.
[0102] It can be seen that the above technical solution can quickly find out the conference members of multi-party conferences in the cascaded conference by using the conference organization tree structure, and quickly determine the multi-way conference channels of the conference members of the multi-party conference, so as to close the sending and receiving direction of the voice channel after the first conference of the conference members of the multi-party conference, and ensure that the multi-party conferences participated by such conference members have only one channel for voice sending and receiving after cascading, so as to achieve uninterrupted sound during conference cascading and improve user experience. At the same time, it can reduce the algorithm complexity of the cascade conference processing flow and improve the response speed of cascade conference processing.
[0103] Embodiment 3
[0104] Figure 7 1 is a flowchart of a cascade conference processing method provided by Embodiment 3 of the present invention. This embodiment is specific based on the above embodiment. In this embodiment, a specific optional implementation method for canceling the conference cascade operation after establishing the cascade conference is provided. Figure 7 As shown, the method of this embodiment may include:
[0105] S310. In response to a second conference cascade association request initiated by the conference management terminal, search for a second target conference member in the cascade conference according to the conference organization tree structure; wherein the second conference cascade association request includes a conference cascade cancellation request.
[0106] Among them, the second conference cascade association request can be another request for managing a conference sent by the conference management terminal to the server, and the request can be used to manage the cascade conference, such as canceling the cascade conference or deleting conference members in the cascade conference. The second target conference member can be the relevant conference member that the server is looking for in response to the second conference cascade association request initiated by the conference management terminal. It can be understood that the second target conference member can be a conference member who participates in multiple sub-conferences in the cascade conference requested to be processed in the second conference cascade association request. The conference cascade cancellation request can be a request to cancel the cascade operation of an established cascade conference.
[0107] In an embodiment of the present invention, after the conference system establishes one or more cascade conferences through the cascade conference processing method provided in the above embodiment, the conference management terminal can also initiate a second conference cascade association request to the server for the one or more cascade conferences that have been established, such as initiating a conference cascade cancellation request to cancel the cascade operation of one or more cascade conferences. When the server receives the conference cascade cancellation request, it can respond to the conference cascade cancellation request and search for the second target conference member who is simultaneously participating in multiple sub-conferences in the cascade conference for which the cascade operation is canceled according to the conference organization tree structure.
[0108] It should be noted that when using the existing voice loopback detection algorithm to perform conference cascade cancellation operations, for the cascade conference that cancels the cascade operation, it is necessary to first restore the voice channels that have been closed by the conference members in the cascade conference. Since the conference members may still be in other cascaded sub-conferences, it will cause a short voice channel establishment and release process, which will lead to a short sound loop.
[0109] In the embodiment of the present invention, since the conference organization tree structure adopts a tree structure to store relevant information of the conference, and establishes an index relationship between conferences and an index relationship between conferences and conference members through configured pointers, traversal and search can be performed in an upward and downward indexing manner according to the conference members, without having to first perform the operation of restoring the voice channels of some members in the conference, so the problem of short-term sound loopback will not occur, and the algorithm complexity is low, thereby improving the processing efficiency and response speed of recording conferences.
[0110] It is understandable that the cascade cancelling operation of a cascade conference only cancels the cascade relationship between the sub-conferences of the cascade conference. After a cascade conference executes the cascade cancelling operation, the sub-conferences obtained by splitting can still independently execute the sub-conference process.
[0111] In an optional embodiment of the present invention, searching for the second target conference member in the cascade conference according to the conference organization tree structure may include: determining the second current cascade conference according to the second conference cascade association request, and deleting the sub-conference pointer of the second current cascade conference according to the conference organization tree structure; searching for conference member node information of conference members for each sub-conference index included in the current sub-conference according to the conference organization tree structure; and determining the conference member including at least one set element in the third conference set stored in the conference member node information as the second target conference member.
[0112] The second current cascade conference may be the cascade conference currently requested to be processed by the second conference cascade association request. It is understandable that the number of the second current cascade conferences may be one or more. The target sub-conference pointer may be the sub-conference pointer in the second current cascade conference of the sub-conference that needs to cancel the cascade operation from the second current cascade conference. The current sub-conference may be the sub-conference currently traversed and processed.
[0113] When searching for the second target conference member in the cascade conference according to the conference organization tree structure, the second current cascade conference can be first determined according to the second conference cascade association request. If the second conference cascade association request is a conference cascade cancellation request, it is necessary to delete the target sub-conference pointer of the sub-conference that needs to cancel the cascade operation in the second current cascade conference according to the conference organization tree structure, that is, to remove the sub-conference node corresponding to the sub-conference that needs to cancel the cascade operation from the second current cascade conference, thereby completing the cancellation of the cascade operation of the relevant sub-conference from the perspective of the cascade conference node.
[0114] It is understandable that after the first target conference member in the cascade conference completes the conference cascade operation, the third conference set will be stored in the data domain of the corresponding conference member node. Each first target conference member will store a corresponding third conference set. Accordingly, after removing the sub-conference node corresponding to the sub-conference that needs to cancel the cascade operation from the second current cascade conference and the target sub-conference pointer of the second current cascade conference, the conference member node information of the conference members can be further searched for the index of each sub-conference included in the current sub-conference according to the conference organization tree structure. Furthermore, the third conference set stored in the searched conference member node information can be parsed. If the third conference set of the current conference member stores at least one set element, that is, stores the address information of multiple sub-conference nodes, indicating that the current conference member is currently participating in multiple sub-conferences at the same time, then the current conference member can be determined as the second target conference member.
[0115] S320: Determine the voice channel of each of the sub-conferences in which the second target conference members participate.
[0116] Correspondingly, after screening out the second target conference members, the voice channels of each sub-conference in which the second target conference members participate can be further determined, thereby modifying the opening status of the voice channels of each sub-conference in which the second target conference members participate according to actual conditions.
[0117] In an optional embodiment of the present invention, determining the voice channels of each sub-conference in which the second target conference member participates may include: according to the third conference set stored in the second target conference member, searching for the second target cascade conference node by indexing upward according to the conference organization tree structure, and constructing a fourth conference set according to the address information of the second target cascade conference node found; when it is determined that the value of the current set element in the fourth conference set is not empty, constructing a fifth conference set according to the address information of the current sub-conference; wherein the fifth conference set includes the voice channels of each sub-conference in which the second target conference member participates, and the fifth conference set is stored in the data field of the conference member node corresponding to the second target conference member; the above method may also include: when it is determined that the value of the current set element in the fourth conference set is empty and it is determined that the voice channel of the second target conference member of the current sub-conference is in a closed state, opening the voice channel of the second target conference member of the current sub-conference.
[0118] The second target cascade conference node may be a cascade conference node found by upward indexing according to the sub-conference address stored in the third conference set. The fourth conference set may be used to store the address information of the second target cascade conference node. The fifth conference set may be used to store the voice channels of each sub-conference participated in by the second target conference members.
[0119] Specifically, when determining the voice channels of each sub-conference in which the second target conference member participates, the third conference set stored in the data field of the conference member node corresponding to the second target conference member can be obtained. It can be understood that the third conference set can be the address information of multiple sub-conferences participated in by the second target conference member after the cascade conference is established. Since the address information of at least one sub-conference is stored in the third conference set, the address information of each sub-conference stored in the third conference set can be indexed upward step by step according to the conference organization tree structure to obtain the cascade conference node corresponding to each sub-conference included in the third conference set, and obtain the second target cascade conference node. Further, the address information of the second target cascade conference node is added to the fourth conference set. It can be understood that the number of set elements in the fourth conference set is the same as the number of set elements in the third conference set.
[0120] Correspondingly, after acquiring the fourth conference set, the value of the address information of each second target cascade conference node included in the fourth conference set can be determined in turn. If it is determined that the value of the current set element in the fourth conference set is not empty, indicating that the second target conference member is still continuing to participate in the current sub-conference, the address information of the current sub-conference can be added to the fifth conference set. The fifth conference set finally generated can be stored in the data domain of the conference member node corresponding to the second target conference member. In this way, the fifth conference set finally generated by the second target conference member can include the address information of each sub-conference in which the second target conference member still participates after the cascade operation is canceled, thereby obtaining the voice channels of each sub-conference in which the second target conference member participates after the cascade operation is canceled.
[0121] Optionally, if it is determined that the value of the current set element in the fourth conference set is empty, and it is determined that the voice channel of the second target conference member of the current sub-conference is closed, the voice channel of the second target conference member of the current sub-conference can be opened, so that the second target conference member can participate in other sub-conferences normally. If it is determined that the value of the current set element in the fourth conference set is empty, and it is determined that the voice channel of the second target conference member of the current sub-conference is open, indicating that canceling the cascade conference has no effect on the current second target conference member, no other processing is required.
[0122] S330. When it is determined that the voice channels of the sub-conferences in which the second target conference members participate are all in a closed state, select a second target voice channel from the voice channels of the sub-conferences in which the second target conference members participate, and open the second target voice channel.
[0123] Among them, the second target voice channel can be one of the voice channels of each sub-conference participated by the second target conference members, for example, it can be the first voice channel. The embodiment of the present invention does not limit the sorting position of the second target voice channel in the voice channels of each sub-conference.
[0124] Correspondingly, after determining the voice channels of each sub-conference in which the second target conference members participate, the opening status of the voice channels of each sub-conference in which the second target conference members participate can be parsed. That is, the current voice channels of each sub-conference can be parsed according to the addresses of each sub-conference stored in the fifth conference set stored in the data domain by the corresponding conference member node of the second target conference member. If it is determined that the voice channels of each sub-conference in which the second target conference members participate are all in a closed state, one of the voice channels in the voice channels of each sub-conference in which the second target conference members participate can be selected as the second target voice channel, and the second target voice channel can be opened to ensure that the second target conference members can participate in other related cascade conferences normally. Since the above-mentioned cancellation of the cascade operation process does not require the restoration of the voice channels of some members in the conference first, there will be no problem of short-term sound loopback.
[0125] In an optional embodiment of the present invention, the above method may also include: responding to a second conference cascade association request initiated by the conference management terminal, determining the second target conference member and the target deleted sub-conference according to the second conference cascade association request; wherein the second conference cascade association request includes a cascade conference deletion conference member request; obtaining the conference member node information of the second target conference member according to the conference organization tree structure, and deleting the sub-conference pointer of the target deleted sub-conference in the conference member node information of the second target conference member; determining the voice channels of each of the sub-conferences participated by the second target conference member; when it is determined that the voice channels of each of the sub-conferences participated by the second target conference member are all in a closed state, screening the second target voice channel from the voice channels of each of the sub-conferences participated by the second target conference member, and opening the second target voice channel.
[0126] The target sub-conference to be deleted may be a sub-conference that the second target conference member needs to delete. The request to delete conference members of a cascade conference may be a request to delete one or more conference members from the cascade conference.
[0127] Optionally, if the conference management terminal initiates a request to delete a conference member of a cascade conference to the server, the server can respond to the request to delete a conference member of a cascade conference, and first determine the second target conference member that needs to be deleted from the cascade conference, and the target deletion subconference that the second target conference member needs to delete accordingly. Further, the conference member node information of the second target conference member is obtained according to the conference organization tree structure, and the subconference pointer of the target deletion subconference is deleted in the subconference pointer field of the conference member node of the second target conference member. After deleting the target deletion subconference for the second target conference member, since the second target conference member may still participate in other conferences, it is also necessary to determine the voice channels of each subconference in which the second target conference member participates, and when it is determined that the voice channels of each subconference in which the second target conference member participates are all in a closed state, the second target voice channel is screened from the voice channels of each subconference in which the second target conference member participates, and the second target voice channel is opened. If it is determined that one of the voice channels of each subconference in which the second target conference member participates is in an open state, no processing is required.
[0128] It can be understood that the specific implementation method of determining and processing the voice channel of the second target conference member when the server processes the request to delete a conference member of a cascade conference is the same as the specific implementation method of the corresponding specific operation when the server processes the request to delete a conference member of a cascade conference, that is, in different second conference cascade association requests, the voice channels of each sub-conference in which the second target conference member participates are determined; when it is determined that the voice channels of each sub-conference in which the second target conference member participates are all in a closed state, the second target voice channel is screened from the voice channels of each sub-conference in which the second target conference member participates, and the specific implementation method of opening the second target voice channel is the same and will not be repeated.
[0129] In a specific example, assuming that there are N sub-conferences in the second current cascade conference, when the conference management terminal cancels the cascade operation on n (n≤N) sub-conferences in the second current cascade conference, the server responds to the conference cascade cancellation request initiated by the conference management terminal and can execute the following improved voice loopback detection algorithm process:
[0130] Step 1: Find the sub-conferences C1, C2, ..., C included in the second current cascade conference through the sub-conference pointer field of the cascade conference node corresponding to the second current cascade conference. n , remove each sub-conference pointer from the sub-conference pointer field of the cascade conference node corresponding to the second current cascade conference, and record the address of the cascade conference node corresponding to the second current cascade conference as P.
[0131] Step 2: Set the current processing sub-conference C i =C1.
[0132] Step 3: Traverse Meeting C i Analyze the S3 stored in the data fields of all meeting member nodes included in C i If the number of set elements in S3 of a meeting member node is greater than 1, e.g., S3 = {P1, P2}, then determine the meeting member corresponding to this meeting member node as the second target meeting member. Traverse the second target meeting members in sequence. For the current second target meeting member, obtain the set S3 = {P1, P2... P k} stored in the data field of the meeting member node corresponding to the current second target meeting member. According to P k in S3, sequentially index and search for sub-meeting C k and search for the second target cascaded meeting node in the cascaded meeting pointer field of the sub-meeting node corresponding to sub-meeting C k . Based on the address information PJ k of the second target cascaded meeting node, construct the fourth meeting set S4 = {PJ1, PJ2... PJ k}. It can be understood that if n < N, the values of some set elements in S4 are null values; if n = N, the values of all set elements in S4 are null values.
[0133] Step 4: Traverse the elements in S4. If the value of PJ k is null and the receive and transmit directions of the voice channel of the current second target meeting member in the P k sub-meeting are not opened, then open the receive and transmit directions of the voice channel of the current second target meeting member in the P k sub-meeting. If the receive and transmit directions of the voice channel of the current second target meeting member in the P k sub-meeting are in the open state, no processing is required; if PJ k = P, then add P k to the fifth meeting set S5. k
[0134] Step 5: Save S5 to the data field of the meeting member node corresponding to the current second target meeting member.
[0135] Step 6: Check the receive and transmit directions of the first voice channel in S5. If the receive and transmit directions of the first voice channel are already opened, it means that the sub-meeting selected for the call during the previous meeting cascading is this meeting, and no processing is required; otherwise, it means that the sub-meeting selected for the call during the previous meeting cascading has exited the cascaded meeting. At this time, the receive and transmit directions of the first voice channel need to be opened.
[0136] Step 7: Let the currently processed sub-meeting C i = C2, and so on until C n , and repeat Steps 3 - 6.
[0137] In a specific example, assume that there are N sub - meetings in the second current cascaded meeting. When it is necessary to delete the meeting member Q in the sub - meeting C n , in response to the request for deleting a meeting member initiated by the meeting management terminal, the server can execute the following improved voice loop - back detection algorithm process:
[0138] Step 1: Obtain the meeting member node corresponding to the meeting member Q, and delete the sub - meeting pointer C in the sub - meeting pointer field of the meeting member node corresponding to the meeting member Q n .
[0139] Step 2: Find the sub - meeting C included in the second current cascaded meeting through the sub - meeting pointer field of the cascaded meeting node corresponding to the second current cascaded meeting n , remove the sub - meeting pointer C corresponding to the sub - meeting C from the sub - meeting pointer field of the cascaded meeting node corresponding to the second current cascaded meeting n , and record the address of the cascaded meeting node corresponding to the second current cascaded meeting as P. n Step 3: Let the current processing sub - meeting C
[0140] = C i . n .
[0141] Step 4: Traverse the meeting member nodes of the meeting member Q included in the meeting C n , and analyze the S3 stored in the data field of the meeting member node corresponding to the meeting member Q. If the number of set elements in S3 of the meeting member node corresponding to the meeting member Q is greater than 1, such as S3 = {P1, P2}, then determine the meeting member Q as the second target meeting member. That is, the second target meeting member only includes one meeting member Q. For the meeting member Q, obtain the set S3 = {P1, P2... P k} stored in the data field of the meeting member node corresponding to the meeting member Q, and sequentially index and search for the sub - meeting C according to P k in S3, find the second target cascaded meeting node through the cascaded meeting pointer field of the sub - meeting node corresponding to the sub - meeting C k , and construct the fourth meeting set S4 = {PJ1, PJ2... PJ k} according to the address information PJ k of the second target cascaded meeting node. It can be understood that if n < N, some of the set element values in S4 are null values; if n = N, all of the set element values in S4 are null values. k Step 5: Traverse the elements in S4. If the value of PJ
[0142] is null, and PJ k 's value is null, and PJ kThe corresponding P k If the sending and receiving directions of the voice channel of conference member Q in the sub-conference are not enabled, enable P k The sending and receiving directions of the voice channel of conference member Q in the sub-conference. k In the sub-conference, if the voice channel of conference member Q is in the open state, no processing is required. k =P, then P k Joined the fifth meeting set S5.
[0143] Step 6: Save S5 to the data field of the conference member node corresponding to the conference member Q.
[0144] Step 7. Check the sending and receiving direction of the first voice channel in S5. If the sending and receiving direction of the first voice channel is turned on, it means that the sub-conference that selected the call during the last conference cascade is this conference and no processing is required. Otherwise, it means that the sub-conference that selected the call during the last conference cascade has exited the cascade conference. At this time, the sending and receiving direction of the first voice channel needs to be turned on.
[0145] The above technical solution can automatically detect voice loops through an improved voice loop detection algorithm, and eliminate voice loops by closing the voice channel's transmit and receive directions. When the cascade is canceled, the voice channel's transmit and receive directions can be automatically opened without the need to re-establish the voice channel. The channel switching speed is fast, there is no short-term voice loop problem, and the user is unaware, which can improve the user experience. The time complexity of the improved voice loop detection algorithm is O(n), which is much smaller than the time complexity of the existing voice loop detection algorithm, O(n). 2 ) is significantly reduced compared to the original one, which can improve the system response speed.
[0146] In the technical solution disclosed herein, the collection, storage, use, processing, transmission, provision and disclosure of user personal information (such as terminal numbers and names of conference members, etc.) are in compliance with the relevant laws and regulations and do not violate public order and good morals.
[0147] It should be noted that any arrangement and combination of the technical features in the above embodiments also falls within the protection scope of the present invention.
[0148] Embodiment 4
[0149] Figure 8 is a schematic diagram of a cascade conference processing device provided by Embodiment 4 of the present invention, such as Figure 8 As shown, the device includes: a first target conference member search module 410, a first voice channel determination module 420 and a first voice channel processing module 430, wherein:
[0150] The first target conference member search module 410 is used to respond to the first conference cascade association request initiated by the conference management terminal, and search for the first target conference member in the cascade conference according to the conference organization tree structure; wherein the first conference cascade association request includes a conference cascade establishment request or a cascade conference addition conference member request; the conference organization tree structure includes a cascade conference node, a sub-conference node and a conference member node; the cascade conference node includes a data field and a sub-conference pointer field, the sub-conference node includes a data field, a member pointer field and a cascade conference pointer field, and the conference member node includes a data field and a sub-conference pointer field; the first target conference member participates in multiple sub-conferences;
[0151] A first voice channel determination module 420, configured to determine a voice channel of each of the sub-conferences in which the first target conference member participates;
[0152] The first voice channel processing module 430 is used to keep the first target voice channel open and close the non-first target voice channels.
[0153] The embodiment of the present invention responds to the first conference cascade association request such as the conference cascade establishment request or the cascade conference adding conference member request initiated by the conference management terminal, searches for the first target conference member participating in multiple sub-conferences in the cascade conference according to the conference organization tree structure, and determines the voice channels of each sub-conference participated by the first target conference member, thereby keeping the first target voice channel open and closing the non-first target voice channel, so that the first target conference member has only one conference in the cascade conference. Since the conference organization tree structure includes cascade conference nodes, sub-conference nodes and conference member nodes, and each node includes a corresponding data domain and pointer domain, the pointer domains of each node can form a chain index structure. Therefore, the first target conference member and the voice channels of each sub-conference participated in can be quickly found according to the chain index structure of the conference organization tree structure, thereby solving the problems of low conference processing efficiency and high algorithm complexity in the existing cascade conference processing method, and can reduce the algorithm complexity of cascade conference processing, improve the processing efficiency and response speed of cascade conferences, and thus improve user experience.
[0154] Optionally, the first target conference member search module 410 is also used to: determine the first current cascade conference according to the first conference cascade association request; search for conference member node information of conference members according to the conference organization tree structure for each sub-conference index included in the first current cascade conference; and when it is determined that the conference member node information of the current conference member includes multiple sub-conference pointers, determine that the current conference member is the first target conference member.
[0155] Optionally, the first voice channel determination module 420 is also used to: determine the target sub-conference in which the first target conference member participates according to the sub-conference pointer field of the first target conference member, and construct a first conference set according to the target sub-conference; wherein the first conference set includes the address information of each of the target sub-conferences; search for the first target cascade conference node through the cascade conference pointer field of each sub-conference node in the first conference set, and construct a second conference set according to the first target cascade conference node; wherein the second conference set includes the address information of each of the first target cascade conference nodes; search for the first target cascade conference node in the second conference set whose address is the same as the address of the first current cascade conference as a target set element; save the sub-conference node address in the first conference set with the same sequence number as the target set element to the third conference set; wherein the third conference set includes the voice channels of each of the sub-conferences in which the first target conference member participates, and the third conference set is stored in the data field of the first target conference member.
[0156] Optionally, the above-mentioned device also includes a second target conference member search module, which is used to: respond to the second conference cascade association request initiated by the conference management terminal, and search for the second target conference member in the cascade conference according to the conference organization tree structure; wherein the second conference cascade association request includes a conference cascade cancellation request; a second voice channel determination module, which is used to: determine the voice channels of each of the sub-conferences in which the second target conference member participates; and a second voice channel processing module, which is used to: when it is determined that the voice channels of each of the sub-conferences in which the second target conference member participates are all in a closed state, filter the second target voice channel from the voice channels of each of the sub-conferences in which the second target conference member participates, and open the second target voice channel.
[0157] Optionally, the above-mentioned device also includes a target conference member and conference search module, which is used to: respond to the second conference cascade association request initiated by the conference management terminal, and determine the second target conference member and the target deleted sub-conference according to the second conference cascade association request; wherein the second conference cascade association request includes a cascade conference deletion request; a sub-conference pointer deletion module, which is used to: obtain the conference member node information of the second target conference member according to the conference organization tree structure, and delete the sub-conference pointer of the target deleted sub-conference in the conference member node information of the second target conference member; a third voice channel determination module, which is used to: determine the voice channels of each of the sub-conferences participated by the second target conference member; a third voice channel processing module, which is used to: when it is determined that the voice channels of each of the sub-conferences participated by the second target conference member are all in a closed state, filter the second target voice channel from the voice channels of each of the sub-conferences participated by the second target conference member, and open the second target voice channel.
[0158] Optionally, the second target conference member search module is also used to: determine the second current cascade conference according to the second conference cascade association request, and delete the target sub-conference pointer of the second current cascade conference according to the conference organization tree structure; search for conference member node information of conference members for each sub-conference index included in the current sub-conference according to the conference organization tree structure; and determine the conference members including at least one set element in the third conference set stored in the conference member node information as the second target conference members.
[0159] Optionally, the second voice channel determination module or the third voice channel determination module is further used to: search for the second target cascade conference node by indexing upward level by level according to the conference organization tree structure according to the third conference set stored in the second target conference member, and construct a fourth conference set according to the address information of the searched second target cascade conference node;
[0160] When it is determined that the value of the current set element in the fourth conference set is not empty, a fifth conference set is constructed according to the address information of the current sub-conference; wherein the fifth conference set includes the voice channels of each of the sub-conferences in which the second target conference member participates, and the fifth conference set is stored in the data field of the conference member node corresponding to the second target conference member; the second voice channel processing module or the third voice channel processing module is also used to: when it is determined that the value of the current set element in the fourth conference set is empty and it is determined that the voice channel of the second target conference member of the current sub-conference is in a closed state, open the voice channel of the second target conference member of the current sub-conference.
[0161] The above cascade conference processing device can execute the cascade conference processing method provided by any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method. For technical details not described in detail in this embodiment, please refer to the cascade conference processing method provided by any embodiment of the present invention.
[0162] Since the cascade conference processing device introduced above is a device that can execute the cascade conference processing method in the embodiment of the present invention, based on the cascade conference processing method introduced in the embodiment of the present invention, the technical personnel in the field can understand the specific implementation method and various variations of the cascade conference processing device in this embodiment, so how the cascade conference processing device implements the cascade conference processing method in the embodiment of the present invention is not described in detail here. As long as the technical personnel in the field implement the device used in the cascade conference processing method in the embodiment of the present invention, it belongs to the scope of protection of this application.
[0163] Embodiment 5
[0164] Fig. 9 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0165] like Fig. 9 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0166] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0167] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as the cascade conference processing method.
[0168] Optionally, the cascade conference processing method may include:
[0169] In response to a first conference cascade association request initiated by a conference management terminal, searching for a first target conference member in a cascade conference according to a conference organization tree structure; wherein the first conference cascade association request includes a conference cascade establishment request or a cascade conference addition conference member request; the conference organization tree structure includes a cascade conference node, a sub-conference node, and a conference member node; the cascade conference node includes a data field and a sub-conference pointer field, the sub-conference node includes a data field, a member pointer field, and a cascade conference pointer field, and the conference member node includes a data field and a sub-conference pointer field; the first target conference member participates in multiple sub-conferences;
[0170] Determining a voice channel of each of the sub-conferences in which the first target conference member participates;
[0171] Keep the first target voice channel open, and close the non-first target voice channels.
[0172] In some embodiments, the cascade conference processing method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the cascade conference processing method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the cascade conference processing method in any other appropriate manner (e.g., by means of firmware).
[0173] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0174] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0175] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0176] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0177] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0178] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.
[0179] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0180] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A cascade conference processing method, characterized in that: include: In response to a first conference cascade association request initiated by a conference management terminal, searching for a first target conference member in a cascade conference according to a conference organization tree structure; wherein the first conference cascade association request includes a conference cascade establishment request or a cascade conference addition conference member request; the conference organization tree structure includes a cascade conference node, a sub-conference node, and a conference member node; the cascade conference node includes a data field and a sub-conference pointer field, the sub-conference node includes a data field, a member pointer field, and a cascade conference pointer field, and the conference member node includes a data field and a sub-conference pointer field; the first target conference member participates in multiple sub-conferences; Determining a voice channel of each of the sub-conferences in which the first target conference member participates; Keep the first target voice channel open, and close the non-first target voice channels.
2. The method according to claim 1, characterized in that: The searching for the first target conference member in the cascade conference according to the conference organization tree structure includes: Determining a first current cascade conference according to the first conference cascade association request; Searching for conference member node information of conference members for each sub-conference index included in the first current cascade conference according to the conference organization tree structure; When it is determined that the conference member node information of the current conference member includes a plurality of sub-conference pointers, the current conference member is determined to be the first target conference member.
3. The method according to claim 1, characterized in that The determining of the voice channels of the sub-conferences in which the first target conference member participates includes: Determine the target sub-conference in which the first target conference member participates according to the sub-conference pointer field of the first target conference member, and construct a first conference set according to the target sub-conference; wherein the first conference set includes address information of each of the target sub-conferences; Searching for a first target cascade conference node through the cascade conference pointer field of each sub-conference node in the first conference set, and constructing a second conference set according to the first target cascade conference node; wherein the second conference set includes address information of each of the first target cascade conference nodes; searching, in the second conference set, for a first target cascade conference node whose address is the same as the address of the first current cascade conference as a target set element; The sub-conference node addresses in the first conference set having the same serial number as the target set element are saved in the third conference set; wherein the third conference set includes the voice channels of each of the sub-conferences in which the first target conference member participates, and the third conference set is stored in the data domain of the first target conference member.
4. The method according to claim 1, characterized in that The method further comprises: In response to a second conference cascade association request initiated by the conference management terminal, searching for a second target conference member in the cascade conference according to the conference organization tree structure; wherein the second conference cascade association request includes a conference cascade cancellation request; Determining a voice channel of each of the sub-conferences in which the second target conference member participates; When it is determined that the voice channels of the sub-conferences in which the second target conference members participate are all in closed state, a second target voice channel is selected from the voice channels of the sub-conferences in which the second target conference members participate, and the second target voice channel is opened.
5. The method according to claim 1, characterized in that The method further comprises: In response to a second conference cascade association request initiated by the conference management terminal, determining a second target conference member and a target deleted sub-conference according to the second conference cascade association request; wherein the second conference cascade association request includes a cascade conference deletion conference member request; Acquire the conference member node information of the second target conference member according to the conference organization tree structure, and delete the sub-conference pointer of the target deleted sub-conference in the conference member node information of the second target conference member; Determining a voice channel of each of the sub-conferences in which the second target conference member participates; When it is determined that the voice channels of the sub-conferences in which the second target conference members participate are all in closed state, a second target voice channel is selected from the voice channels of the sub-conferences in which the second target conference members participate, and the second target voice channel is opened.
6. The method according to claim 4, characterized in that The searching for the second target conference member in the cascade conference according to the conference organization tree structure includes: Determining a second current cascade conference according to the second conference cascade association request, and deleting a target sub-conference pointer of the second current cascade conference according to the conference organization tree structure; Searching for conference member node information of conference members for each sub-conference index included in the current sub-conference according to the conference organization tree structure; A conference member including at least one set element in the third conference set stored in the conference member node information is determined as the second target conference member.
7. The method according to claim 4 or 5, characterized in that: The determining of the voice channels of the sub-conferences in which the second target conference members participate includes: According to the third conference set stored in the second target conference member, searching for the second target cascade conference node by indexing upward level by level according to the conference organization tree structure, and constructing a fourth conference set according to the address information of the searched second target cascade conference node; When it is determined that the value of the current set element in the fourth conference set is not empty, construct a fifth conference set according to the address information of the current sub-conference; wherein the fifth conference set includes the voice channels of each of the sub-conferences participated in by the second target conference member, and the fifth conference set is stored in the data field of the conference member node corresponding to the second target conference member; The method also includes: when it is determined that the value of the current set element in the fourth conference set is empty and it is determined that the voice channel of the second target conference member of the current sub-conference is closed, opening the voice channel of the second target conference member of the current sub-conference.
8. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the cascade conference processing method according to any one of claims 1-7.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the cascade conference processing method described in any one of claims 1-7 when executed.
10. A computer program product comprising a computer program / instructions, wherein: When the computer program / instructions are executed by a processor, the cascade conference processing method according to any one of claims 1 to 7 is implemented.