Methods and apparatus for scheduling meeting participants, storage media and electronic devices
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-14
- Publication Date
- 2026-08-14
AI Technical Summary
[0004]本申请实施例提供了一种会议对象的调度方法和装置、存储介质及电子装置,以至少解决相关技术中的设备配对方式在涉及终端调度时存在操作复杂度较高的问题
Smart Images

Figure CN116708058B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of conference scheduling technology, and more specifically, to a method and apparatus for scheduling conference participants, a storage medium, and an electronic device. Background Technology
[0002] Currently, for video conferencing systems requiring hierarchical and decentralized deployment, the main approach is to cascade multiple independently operating video conferencing systems at each level. This allows terminals at different levels to have their own independent video conferencing systems while still being able to interconnect after cascading. Furthermore, for hierarchical and decentralized video conferencing systems, each level needs top-down management authority to ensure that the higher-level system can schedule lower-level terminals to start meetings at any time (i.e., "one-click scheduling"). When a higher-level system selects any lower-level terminal, even if that terminal is already in a meeting, it must exit its original meeting and immediately join the target meeting.
[0003] However, the traditional one-click scheduling method mentioned above mainly relies on a dedicated "conference management and scheduling system" to centrally schedule terminals at all levels via specific protocol communication. The scheduling process of the conference management and scheduling system depends heavily on the special priorities specified by the user, making the scheduling process of conference terminals quite complex. Therefore, it is evident that the conference terminal scheduling methods in related technologies suffer from high operational complexity when it comes to terminal scheduling. Summary of the Invention
[0004] This application provides a method and apparatus for scheduling meeting objects, a storage medium, and an electronic device to at least solve the problem of high operational complexity in device pairing methods involving terminal scheduling in related technologies.
[0005] According to one aspect of the embodiments of this application, a method for scheduling meeting objects is provided, applied to a smart device, comprising: when a target object has entered a first sub-meeting under a first cascaded meeting, receiving a target meeting notification message, wherein the target meeting notification message is used to notify a second cascaded meeting associated with the target object; when the first cascaded meeting and the second cascaded meeting are different cascaded meetings, comparing a first meeting level of the first cascaded meeting and a second meeting level of the second cascaded meeting, wherein the first meeting level is used to represent the level difference between the object level of a participant in the first sub-meeting and the object level of a participant in a first-level sub-meeting under the first cascaded meeting, and the second meeting level is used to represent the level difference between the object level of a participant in the second sub-meeting and the object level of a participant in the first-level sub-meeting under the second cascaded meeting, wherein the second sub-meeting is a sub-meeting of the second cascaded meeting to which the target object is to participate; when the first meeting level is lower than the second meeting level, in response to the target meeting notification message, controlling the target object to exit the first sub-meeting and enter the second sub-meeting.
[0006] According to another aspect of the embodiments of this application, a scheduling device for meeting objects is also provided, applied to a smart device, comprising: a first receiving unit, configured to receive a target meeting notification message when a target object has entered a first sub-meeting under a first cascade meeting, wherein the target meeting notification message is used to notify a second cascade meeting associated with the target object; a comparison unit, configured to compare a first meeting level of the first cascade meeting and a second meeting level of the second cascade meeting when the first cascade meeting and the second cascade meeting are different cascade meetings, wherein the first meeting level is used to represent the level difference between the object level of a participant in the first sub-meeting and the object level of a participant in a first-level sub-meeting under the first cascade meeting, and the second meeting level is used to represent the level difference between the object level of a participant in the second sub-meeting and the object level of a participant in a first-level sub-meeting under the second cascade meeting, wherein the second sub-meeting is a sub-meeting of the second cascade meeting to which the target object is to participate; and a first execution unit, configured to, in response to the target meeting notification message, control the target object to exit the first sub-meeting and enter the second sub-meeting when the first meeting level is lower than the second meeting level.
[0007] According to another aspect of the embodiments of this application, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer program, which is configured to execute the scheduling method of the above-mentioned meeting object at runtime.
[0008] According to another aspect of the embodiments of this application, an electronic device is also provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the above-described scheduling method for meeting objects through the computer program.
[0009] In this embodiment, a method is adopted whereby a corresponding level is generated when a meeting is created, and entry or exit is determined based on the level. When the target object has already entered the first sub-meeting under the first cascade meeting, a target meeting notification message is received. This target meeting notification message is used to notify the second cascade meeting associated with the target object. When the first and second cascade meetings are different cascade meetings, the first meeting level of the first cascade meeting and the second meeting level of the second cascade meeting are compared. The first meeting level represents the difference between the object level of the participant in the first sub-meeting and the object level of the participant in the first-level sub-meeting under the first cascade meeting. The second meeting level represents the difference between the object level of the participant in the second sub-meeting and the object level of the participant in the first-level sub-meeting under the second cascade meeting. The difference in the level of the target object determines the sub-meeting level. The second sub-meeting is a sub-meeting of the second cascaded meeting that the target object needs to participate in. If the level of the first meeting is lower than that of the second meeting, in response to the target meeting notification message, the target object is controlled to exit the first sub-meeting and enter the second sub-meeting. Since the sub-meeting level of the same terminal can be different in different cascaded meetings, when it is necessary to schedule meeting terminals, the terminal can directly select the highest-level meeting to join, without relying on an additional meeting management and scheduling system for meeting scheduling, and without requiring users to set the priority corresponding to each meeting. This reduces deployment and maintenance costs while achieving the technical effect of reducing operational complexity, thereby solving the problem of high operational complexity in the scheduling methods of meeting terminals in related technologies when it comes to terminal scheduling. Attached Figure Description
[0010] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0011] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0012] Figure 1 This is a schematic diagram of the hardware environment for a scheduling method for conference objects according to an embodiment of this application;
[0013] Figure 2This is a flowchart illustrating an optional method for scheduling meeting objects according to an embodiment of this application;
[0014] Figure 3 This is a schematic diagram of an optional scheduling method for meeting objects according to an embodiment of this application;
[0015] Figure 4 This is a schematic diagram of another optional method for scheduling meeting objects according to an embodiment of this application;
[0016] Figure 5 This is a schematic diagram of another optional method for scheduling meeting objects according to an embodiment of this application;
[0017] Figure 6 This is a schematic diagram of another optional method for scheduling meeting objects according to an embodiment of this application;
[0018] Figure 7 This is a schematic diagram of another optional method for scheduling meeting objects according to an embodiment of this application;
[0019] Figure 8 This is a structural block diagram of an optional scheduling device for meeting objects according to an embodiment of this application;
[0020] Figure 9 This is a structural block diagram of an optional electronic device according to an embodiment of this application. Detailed Implementation
[0021] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.
[0022] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0023] According to one aspect of the embodiments of this application, a method for scheduling meeting objects is provided. Optionally, in this embodiment, the above-described method for scheduling intelligent meeting objects can be applied to, for example... Figure 1 The hardware environment shown consists of terminal device 102 and server 104. For example... Figure 1 As shown, server 104 is connected to terminal device 102 via a network and can be used to provide services (such as application services) to the terminal or clients installed on the terminal. A database can be set up on the server or independently of the server to provide data storage services for server 104.
[0024] The aforementioned network may include, but is not limited to, at least one of the following: wired network, wireless network. The aforementioned wired network may include, but is not limited to, at least one of the following: wide area network, metropolitan area network, local area network. The aforementioned wireless network may include, but is not limited to, at least one of the following: Wi-Fi, Bluetooth. Optionally, the terminal device 102 may not be limited to a PC, mobile phone, tablet computer, or other smart device that can support voice or video conferencing.
[0025] The meeting object scheduling method in this embodiment can be executed by server 104, terminal device 102, or jointly by server 104 and terminal device 102. Taking the execution of the meeting object scheduling method in this embodiment by terminal device 102 as an example... Figure 2 This is a flowchart illustrating an optional meeting object scheduling method according to an embodiment of this application, as shown below. Figure 2 As shown, the process of this method may include the following steps:
[0026] Step S202: If the target object has entered the first sub-meeting under the first cascade meeting, receive the target meeting notification message, wherein the target meeting notification message is used to notify the second cascade meeting associated with the target object.
[0027] The scheduling method for meeting objects in this embodiment can be applied to terminal scheduling scenarios in multi-level cascaded conferencing systems. Here, the multi-level cascaded conferencing system can be a conferencing system that supports multi-level video conferencing. The terminal can be a conferencing terminal device. In a multi-level cascaded conferencing system, multiple terminals at different levels can participate simultaneously. Terminals at the same level can have their own conferencing system, and conferencing systems at different levels can interconnect. The higher-level conferencing system can schedule the lower-level conferencing system at any time.
[0028] The aforementioned conferencing system can be a video conferencing system, which may include an MCU (Multipoint Control Unit, i.e., video conferencing server) and various participating devices such as software and hardware terminals, recording servers, etc. Terminals capture images and audio, encode them, and send them to the MCU. The MCU then, according to the conferencing requirements, may or may not merge the images sent from multiple terminals, and may or may not mix the audio before sending them to each participating terminal, thereby enabling audio and video communication among multiple participants.
[0029] In scenarios involving multi-level meetings, especially in government applications such as public security and emergency command, video conferencing systems often need to be deployed in a hierarchical and decentralized manner. This means that while each level of organization has its own independently operating video conferencing system, these systems must also be able to be cascaded and interconnected. Taking "province," "city," and "district / county" as different levels as examples, the conventional practice is to cascade the independently operating video conferencing systems at each level through multiple channels. Each level of video conferencing system also has top-down management authority, and the higher-level system must be able to schedule lower-level terminals to hold meetings at any time. Particularly in emergency command scenarios, in order to respond quickly to emergencies, clients have a strong demand for "one-click dispatch" of terminals at all levels.
[0030] The aforementioned "one-click scheduling" means that clicking on any subordinate terminal, even if that terminal is already in a meeting, requires the user to exit the original meeting and immediately join the target meeting. Traditionally, one-click scheduling uses a dedicated "meeting management and scheduling system" for centralized scheduling of terminals at each level via specific communication protocols. However, cascaded video conferencing systems often operate in a tree-like network environment, where only adjacent systems can communicate. In this case, a centralized meeting management and scheduling system will encounter network obstacles and be unable to schedule all terminals. Furthermore, scheduling through a dedicated meeting management and scheduling system requires users to switch between multiple systems with different business functions and to specify special priorities for specific meetings, resulting in high complexity and poor usability.
[0031] Taking the forced call-to-call scheme as an example, when the pre-opened forced call-to-call interface is invoked, the meeting management and scheduling system obtains the target meeting ID and the terminal number of the target video network meeting from the forced call-to-call interface, encapsulates them into a call-to-call request, and sends it to the target video network terminal. Then, it receives information from the target video network terminal regarding whether it is not currently engaged in any service or has been forcibly exited from its current service, and adds the target video network terminal to the target video network meeting. This allows for the forced call-to-call of a video network terminal to a meeting with the highest privileges without needing to know the service status of the terminal to be called, or whether the terminal is currently engaged in any service. The call-to-call level is very high, ensuring the normal operation of emergency command work or important meetings.
[0032] However, this solution requires an additional "meeting management and scheduling system" to centrally schedule all terminals in the meeting system. In a cascading meeting system with a tree-like network, this solution cannot schedule all terminals, presenting limitations. Furthermore, this solution requires switching between multiple systems with different business logics—the "video conferencing system" and the "meeting management and scheduling system"—and requires specifying special priorities or types when creating meetings, resulting in high user complexity and poor usability. Additionally, the separately implemented "meeting management and scheduling system" requires extra server resources, increasing development and maintenance costs, and ultimately raising the overall cost of building the video conferencing system.
[0033] To at least partially address the aforementioned issues, this embodiment allows setting a meeting level for the current level meeting during meeting creation, and recursively setting the meeting level for each lower-level sub-meeting to the current level meeting level + 1. The meeting level information is then notified to the terminal, enabling the terminal to select the highest-level meeting to join. Meeting scheduling does not require awareness of meeting priority or additional access to the "meeting management and scheduling system." It only requires creating a meeting within the corresponding level video conferencing system, thus achieving an emergency terminal scheduling function similar to "one-click scheduling."
[0034] Each level of video conferencing system can have an independently operating system, such as Figure 3 As shown, this includes, but is not limited to, meeting control services, signaling services, media services, and terminals. Meetings are created by calling the meeting control service through a web browser; the signaling service controls the transmission of messages related to joining and leaving meetings; the media service provides voice and video services; and the cascading gateway service facilitates the exchange of media streams between upper and lower levels. Figure 4 As shown, interaction with upper and lower level video conferencing systems is achieved through a cascading gateway service.
[0035] Multi-level cascading conferencing systems can be structured in a tree network, with different levels of conferencing systems distributed from top to bottom. Taking provinces, cities, and counties as different levels as an example, a multi-level video conferencing system can be structured as follows: Figure 5 As shown. It should be noted that the level of the video conferencing system to which each terminal is located in this embodiment is determined according to the level of the object using the terminal. That is, if a terminal corresponds to a provincial-level object, the video conferencing system to which the terminal is located is a provincial-level video conferencing system; if the corresponding object is a municipal-level object, the video conferencing system to which the terminal is located is a municipal-level video conferencing system. Correspondingly, the connection of the multi-level video conferencing system control service can be as follows: Figure 6 As shown, the connection of the signaling service of a multi-level video conferencing system can be as follows: Figure 7 As shown.
[0036] For situations requiring urgent scheduling of terminals in ongoing meetings, terminal scheduling can be accomplished by creating a new meeting in the terminal's parent meeting system or adding participants to an existing meeting and selecting the terminal as a participant, thereby creating a corresponding sub-meeting in the terminal's meeting system. In this embodiment, when the target object has entered the first sub-meeting under the first cascaded meeting, a target meeting notification message is received. Here, the target meeting notification message can be used to notify the second cascaded meeting associated with the target object and can be sent by a video conferencing system. The target object can be a user who can enter the first sub-meeting through a meeting terminal. When the target object enters the first sub-meeting through the first meeting terminal, the target meeting notification message can be sent to the first meeting terminal to enable the target object to receive the target meeting notification message. It should be noted that in this embodiment, sending messages to participants can be achieved by sending messages to the meeting terminals used by the participants.
[0037] The aforementioned first sub-meeting can be a sub-meeting under the first cascade meeting, corresponding to the target object and objects at the same level as the target object. Both the first and second cascade meetings can contain multiple sub-meetings, each corresponding to a different level of participants. Different sub-meetings can have the same meeting ID, and video and audio communication between different sub-meetings within a cascade meeting is interoperable. Participants at different levels can join the cascade meeting by entering the corresponding sub-meeting.
[0038] The creation of the aforementioned cascading meeting can be triggered either at the meeting terminal or by accessing the video conferencing management page in a browser. The object of the creation operation can be either a participant in the cascading meeting itself or the meeting system administrator (who may be someone who is not participating in the meeting). Creation by a participant can mean creation by the meeting chair of the cascading meeting, who can be the highest-ranking participant in the cascading meeting.
[0039] When a second cascade meeting is created by a participating object, the second cascade meeting can be created by the parent object of the target object, or by the target object or an object at the same level as the target object.
[0040] Optionally, the aforementioned target meeting notification message may be a notification to the target object to enter the first sub-meeting corresponding to the target object under the second cascade meeting, or a notification to the target object to leave the first sub-meeting under the second cascade meeting, or other notification messages.
[0041] Step S204: If the first cascade meeting and the second cascade meeting are different cascade meetings, compare the first meeting level of the first cascade meeting and the second meeting level of the second cascade meeting. The first meeting level is used to represent the level difference between the object level of the participants in the first sub-meeting and the object level of the participants in the first-level sub-meeting under the first cascade meeting. The second meeting level is used to represent the level difference between the object level of the participants in the second sub-meeting and the object level of the participants in the first-level sub-meeting under the second cascade meeting. The second sub-meeting is a sub-meeting of the second cascade meeting in which the target object is to participate.
[0042] Upon receiving a target meeting notification message, and if the target meeting notification message notifies the target object to enter the second sub-meeting, since the target object has already entered the first sub-meeting, in this embodiment, the first terminal can compare the first meeting level of the first cascaded meeting with the second meeting level of the first cascaded meeting. Here, the first meeting level can be used to represent the level difference between the object level of the participants in the first sub-meeting and the object level of the participants in the first-level sub-meetings under the first cascaded meeting. The second meeting level can be used to represent the level difference between the object level of the participants in the second sub-meeting and the object level of the participants in the first-level sub-meetings under the second cascaded meeting. The second sub-meeting can be a sub-meeting of the second cascaded meeting that the target object is to participate in.
[0043] In a cascading meeting, the meeting level of each sub-meeting can be used to represent the level difference between the participants of that sub-meeting and the participants of the first-level sub-meeting under that cascading meeting.
[0044] For example, if the participant level of a first-level sub-meeting under a first-level cascaded meeting is A, and the target object's object level is C, according to the creation instructions of the first-level cascaded meeting, the meeting level of the sub-meeting created for the participants of this first-level sub-meeting is 1. If the creator selects "participants" as the target object when creating the first-level cascaded meeting, it will trigger the creation of the first sub-meeting corresponding to the target object of level C. The meeting level of the first sub-meeting needs to be determined based on the level difference between A and C. If the difference between A and C is two levels, the meeting level of the first sub-meeting is 3.
[0045] Assume there are MCU A, a provincial-level MCU (top-level), containing terminals a1 and a2; MCU B, a municipal-level MCU under MCU A, containing terminals b1 and b2; and MCU C, a county-level MCU under MCU B, containing terminals c1 and c2. When these terminals hold cascading conferences, the conference levels of the cascading conferences created by each MCU level are shown in Table 1. If a terminal in MCU A creates conference x, the corresponding sub-conference level for MCU A is 1, for MCU B it is 2, and for MCU C it is 3. If a terminal in MCU B creates conference y, the sub-conference level for MCU B is 1, and for MCU C it is 2. If a terminal in MCU C creates conference z, the sub-conference level for MCU C is 1.
[0046] Table 1
[0047] MCU A creates a meeting x 1 2 3 MCU B creates a meeting y - 1 2 MCU C Create Meeting z - - 1
[0048] In step S206, if the first meeting level is lower than the second meeting level, in response to the target meeting notification message, control the target object to exit the first sub-meeting and enter the second sub-meeting.
[0049] Based on the comparison results, if the first meeting level is lower than the second meeting level, in response to the target meeting notification message, the target object can be controlled to exit the first sub-meeting and enter the second sub-meeting.
[0050] Optionally, if the first meeting level is higher than the second meeting level, the received target meeting notification message can be ignored.
[0051] As shown in Table 1, in the conferences, MCU A is the provincial-level MCU, the top-level MCU, containing terminals a1 and a2; MCU B is the city-level MCU under MCU A, containing terminals b1 and b2; MCU C is the county-level MCU under MCU B, containing terminals c1 and c2. Assuming terminal b1 is simultaneously set as a participant in both cascaded conference x and cascaded conference y, then because conference x has the highest confLevel value, b1 will automatically leave conference y and initiate a request to join conference x. Assuming terminal c1 is simultaneously set as a participant in cascaded conference x, cascaded conference y, and its current level conference z, then because conference x has the highest confLevel value, c1 will automatically leave conference y and conference z and initiate a request to join conference x.
[0052] Through steps S202 to S206, when the target object has entered the first sub-meeting under the first cascaded meeting, a target meeting notification message is received. This message notifies the second cascaded meeting associated with the target object. If the first and second cascaded meetings are different cascaded meetings, the first meeting level of the first cascaded meeting and the second meeting level of the second cascaded meeting are compared. The first meeting level represents the difference between the object level of the participant in the first sub-meeting and the object level of the participant in the first-level sub-meeting under the first cascaded meeting. The second meeting level represents the difference between the object level of the participant in the second sub-meeting and the object level of the participant in the first-level sub-meeting under the second cascaded meeting. The second sub-meeting is a sub-meeting of the second cascaded meeting to which the target object is to participate. If the first meeting level is lower than the second meeting level, in response to the target meeting notification message, the target object is controlled to exit the first sub-meeting and enter the second sub-meeting. This solves the problem of high operational complexity in the scheduling methods of meeting terminals in related technologies when terminal scheduling is involved, and reduces operational complexity.
[0053] In one exemplary embodiment, after receiving the target meeting notification message, the above method further includes:
[0054] S11, if the first cascade meeting and the second cascade meeting are the same cascade meeting and the target meeting notification message carries the updated meeting level of the first sub-meeting, update the first meeting level using the meeting level carried in the target meeting notification message to obtain the updated first meeting level.
[0055] S12, if the first cascade meeting and the second cascade meeting are the same cascade meeting, and the participant identifier carried in the target meeting notification message is used to indicate that the target object is not a participant in the first sub-meeting, the target object is controlled to exit the first sub-meeting by calling the meeting hang-up interface.
[0056] For existing cascading meetings, corresponding changes can be made, including but not limited to modifying participant information (e.g., adding or deleting participants) and modifying meeting information. When a cascading meeting is modified, a meeting notification message containing the modified information will be sent to the corresponding participants. The triggering and execution of the change operation can be similar to the description of the creation operation described above, and will not be repeated here.
[0057] In this embodiment, if the first cascaded meeting and the second cascaded meeting are the same cascaded meeting, and the target meeting notification message carries the updated meeting level of the first sub-meeting, the meeting level carried in the target meeting notification message can be used to update the first meeting level to obtain the updated first meeting level.
[0058] Optionally, updating the meeting level mentioned above can refer to modifying the meeting level of the first-level sub-meeting under a cascading meeting, which will synchronously trigger updates to the meeting levels of other sub-meetings within the same cascading meeting. For example, terminal a of MCU A creates a cascading meeting x, with the meeting level of sub-meeting x of MCU A being 1 and the meeting level of sub-meeting x of MCU B being 2. If terminal a modifies the meeting level of sub-meeting x of MCU A to 2, then the meeting level of sub-meeting x of MCU B will correspondingly be modified to 3.
[0059] When a participant is deleted, considering the possibility that the participant may have already entered the corresponding sub-meeting within the cascading meeting before being deleted, a corresponding meeting notification can be sent to the participant to inform them to leave the sub-meeting. In this embodiment, if the first and second cascading meetings are the same cascading meeting, and the participant identifier carried in the target meeting notification message indicates that the target participant is not a participant in the first sub-meeting, the target participant can be controlled to leave the first sub-meeting by calling the meeting hang-up interface.
[0060] This embodiment improves the efficiency of changing meeting information in cascading meetings by sending corresponding notification messages to the relevant participants when meeting information changes.
[0061] In one exemplary embodiment, before receiving the target meeting notification message, the above method further includes:
[0062] S21, Receive meeting change information, wherein the meeting change information includes the first object list after the second cascade meeting is changed, and the first object list after the change includes the object information of the participants in the second cascade meeting after the change;
[0063] S22, in response to meeting change information, merge the changed participants and the unchanged participants of the second cascade meeting to obtain a set of participants;
[0064] S23, by comparing the changed participants with the participants in the participant set, determine the participant identifier of each participant in the participant set, wherein the participant identifier of each participant is used to indicate whether each participant is a participant in the second cascade meeting;
[0065] S24, send a meeting notification message to the terminal device corresponding to each participant to notify each participant whether they are still a participant in the second-level cascade meeting.
[0066] Changes to an existing cascading meeting can be triggered via a terminal or the corresponding browser page. Based on the input change command, the meeting can be modified by calling the corresponding meeting control service interface, and then the signaling service will send the corresponding message to the participants based on the change.
[0067] In this embodiment, the signaling service can receive conference change information. Here, the conference change information may include the changed first object list of the second cascade conference. The changed first object list may include the object information of the changed participants in the second cascade conference.
[0068] Optionally, the aforementioned meeting change information can be generated by the meeting control service and sent to the signaling service via the meeting information change interface ConfChange.
[0069] In response to meeting change information, the list of participants before the change (i.e., the list of first participants in the second cascade meeting before the change) can be saved first. Then, based on the received meeting change message, the list of first participants in the second cascade meeting after the change can be loaded. To facilitate quick identification of the changed participants, in this embodiment, the changed participants and the participants before the change in the second cascade meeting can be merged to obtain a set of participants.
[0070] By comparing the changed participants with the participants in the participant set, the participant identifier of each participant in the participant set can be determined. Here, the participant identifier of each participant can be used to indicate whether each participant is a participant in the second cascade meeting.
[0071] After identifying the participant ID for each participant, a meeting notification message can be sent to each participant to inform them whether they are still a participant in the second-level cascade meeting.
[0072] Optionally, the meeting notification message sent to each participant may include information such as whether each participant is still a participant in the second-level cascade meeting, as well as information such as the meeting level.
[0073] For example, taking the participants as the participant terminals, the signaling service's handling logic for meeting changes can be as follows:
[0074] Provide a ConfChange interface for changing meeting information, used to receive meeting change information, including:
[0075] Iterate through each meeting x that has undergone changes;
[0076] Save the original list of attendees (oldAttendees).
[0077] Load the changed attribute information of meeting x, including the meeting level (confLevel) and the new attendee list (attendees);
[0078] The list of attendees before the change (oldAttendees) and the list of attendees after the change (attendees) are combined to calculate allAttendees.
[0079] Iterate through the attendee terminal n in the set of attendees allAttendees of meeting x: use the latest attendee list attendees to calculate whether the terminal is an attendee. If so, set the attribute isAttendee to 1, otherwise set isAttendee to 0; call the terminal meeting information notification interface SetConfInfo to notify the terminal n of the changed meeting attributes, including whether the attendee isAttendee and the meeting level confLevel.
[0080] Other meeting-related changes.
[0081] Correspondingly, the terminal can receive the meeting information notification message SetConfInfo from the signaling service. If the meeting number is the currently joined meeting, the terminal updates the meeting level confLevel of the currently joined meeting. If isAttendee is 0, the terminal calls the hang-up interface to exit the meeting.
[0082] In this embodiment, a meeting identifier is generated based on the meeting change information to indicate whether each participant is a participant in the second cascade meeting. This allows each participant's terminal to determine whether it needs to leave or join the meeting based on the identifier, thereby improving the efficiency of cascade meeting changes.
[0083] In one exemplary embodiment, the above method further includes:
[0084] S31, Receive a first meeting creation request, wherein the first meeting creation request is used to request the creation of a cascade meeting, and the first meeting creation request carries a first object list, which contains object information of a group of first participants in the cascade meeting to be created;
[0085] S32, in response to the first meeting creation request, cascading meetings are created level by level according to the object level of a group of first participants to obtain a second cascading meeting. The participants of each sub-meeting under the second cascading meeting include first participants of the same object level in a group of first participants. The object levels of the participants of different levels of sub-meetings under the second cascading meeting are different. The object levels of the participants of the same level sub-meetings under the second cascading meeting are the same. The meeting level of each sub-meeting is used to represent the level difference between the object level of each sub-meeting's participants and the top-level object level in a group of first participants.
[0086] When creating a cascading meeting, the creation of the cascading meeting information can be triggered by accessing the video conferencing management page on the corresponding meeting terminal or browser. In this embodiment, the meeting control service can receive a first meeting creation request. Here, the first meeting creation request can be used to request the creation of a cascading meeting.
[0087] The aforementioned first meeting creation request can carry a first object list. The first object list can contain object information for a group of first participants in the cascading meeting to be created.
[0088] Optionally, the aforementioned group of first participants can be selected by the creator of the cascading meeting. There can be multiple object levels for a group of first participants, and there can be multiple first participants at the same object level.
[0089] In response to a first meeting creation request, cascading meetings can be created level by level according to the object hierarchy of a set of first participants, resulting in a second cascading meeting. Here, the participants in each sub-meeting of the second cascading meeting can include first participants of the same object hierarchy from the set of first participants. The object hierarchy of participants in different levels of sub-meetings under the second cascading meeting can be different, while the object hierarchy of participants in sub-meetings at the same level under the second cascading meeting can be the same. The meeting hierarchy of each sub-meeting can be used to represent the hierarchy difference between the object hierarchy of each sub-meeting's participants and the top-level object hierarchy in the set of first participants.
[0090] The aforementioned concept of different participant levels in sub-conferences refers to the fact that sub-conferences created by video conferencing systems of different levels can have participants with different levels of participation. For example, in a cascading conference created by a provincial-level participant, the participant levels in sub-conferences created by city-level and county-level systems can differ. However, when multiple video conferencing systems exist at different levels, the participant levels in sub-conferences created by different systems of the same level can be the same. For example, in a cascading conference created by a provincial-level participant, the participant levels in two sub-conferences created by city-level video conferencing systems can be the same.
[0091] Optionally, the above-mentioned method of creating cascading meetings in stages can be to create different sub-meetings from top to bottom according to the object level of the participants, and each sub-meeting can be created by a video conferencing system of the corresponding level.
[0092] In this embodiment, by creating cascading meetings step by step according to the object level of a group of first participants, it can be ensured that each participant has a corresponding sub-meeting, avoiding the situation where participants cannot participate in the meeting in a timely manner due to the omission of factor meetings.
[0093] In an exemplary embodiment, in response to a first meeting creation request, cascading meetings are created hierarchically according to the object hierarchy of a first set of participants to obtain a second cascading meeting, including:
[0094] S41, in response to the first meeting creation request, the meeting server to which the participating object corresponding to the top-level object belongs is selected as the current meeting server to perform the following sub-meeting creation operation, where the object level corresponding to the current meeting server is the current object level:
[0095] Create a current-level sub-meeting for the second cascade meeting that corresponds to the current object level. The first-level sub-meetings under the second cascade meeting correspond to the top-level object level. The meeting level of the first-level sub-meetings under the second cascade meeting is the specified meeting level. The current meeting level of the current-level sub-meeting is the sum of the level difference between the current object level and the top-level object level and the specified meeting level.
[0096] Iterate through the first object list, add the first participating object with the current object level to the current level sub-meeting, and obtain the updated first object list. The updated first object list contains object information of a group of other participating objects besides the participating objects of the current level sub-meeting.
[0097] If the updated first object list is not empty, based on the conference server to which each other participant in a group belongs and the affiliation between different conference servers, the group of other participants is split into at least one group of objects to be assigned, resulting in at least one list of objects to be assigned. Each group of objects to be assigned corresponds to a next-level conference server of the current conference server. Each group of objects to be assigned includes all other participants in the group of other participants that belong to one of the next-level conference servers corresponding to each group of objects to be assigned and one of the subordinate servers of the next-level conference servers corresponding to each group of objects to be assigned.
[0098] Generate meeting creation information for each group of objects to be assigned. The meeting creation information corresponding to each group of objects to be assigned includes a list of objects to be assigned to each group and the meeting level of the next level sub-meeting of the current object level. The meeting level of the next level sub-meeting is the current meeting level plus 1.
[0099] By calling the meeting creation interface of the next-level meeting server corresponding to the next object level of each group of objects to be assigned, the meeting creation information corresponding to each group of objects to be assigned is sent to the next-level meeting server corresponding to each group of objects to be assigned. The next-level meeting server corresponding to each group of objects to be assigned acts as the current meeting server and uses the list of objects to be assigned corresponding to each group of objects to be assigned as the first object list to continue to execute the sub-meeting creation operation until the first object list is empty.
[0100] When creating cascading conferences hierarchically according to the object levels of a group of first-level participants, in response to the first conference creation request, the conference server to which the participant corresponding to the highest-level object belongs can be used as the current conference server to perform the sub-conference creation operation. Here, the object level corresponding to the current conference server can be the current object level. The conference server can be the signaling service in the aforementioned video conferencing system.
[0101] The sub-meeting creation operation described above may include: creating a current-level sub-meeting corresponding to the current object level for the second cascade meeting; traversing the first object list and adding the first participating object with the current object level to the current-level sub-meeting to obtain an updated first object list; if the updated first object list is not empty, splitting a group of other participating objects into at least one group of objects to be assigned based on the meeting server to which each other participating object belongs and the affiliation between different meeting servers, obtaining at least one list of objects to be assigned, and generating meeting creation information for each group of objects to be assigned; sending the meeting creation information corresponding to each group of objects to be assigned to the next-level meeting server corresponding to each group of objects to be assigned by calling the meeting creation interface of the next-level meeting server corresponding to each group of objects to be assigned, so that the next-level meeting server corresponding to each group of objects to be assigned can act as the current meeting server and continue to execute the sub-meeting creation operation with the list of objects to be assigned corresponding to each group of objects as the first object list, until the first object list is empty.
[0102] The first-level sub-meetings under the aforementioned second-level cascaded meeting can correspond to the level of the top-level object. The meeting level of the first-level sub-meetings under the second-level cascaded meeting can be a specified meeting level. The current meeting level of the current-level sub-meeting can be the sum of the difference between the current object level and the top-level object level and the specified meeting level. The specified meeting level can be a pre-set meeting level. The specified meeting level of the first-level sub-meetings under different cascaded meetings can be the same, can be set to 1 by default, or can be other default values.
[0103] The updated first object list can include object information for a group of other participating objects besides those in the current sub-conference. The conference creation information corresponding to each group of objects to be assigned can include a list of objects to be assigned corresponding to each group and the conference level of the next-level sub-conference of the current object level. The conference level of the next-level sub-conference can be the current conference level plus one. Each group of objects to be assigned can correspond to a next-level conference server of the current conference server. Each group of objects to be assigned can include all other participating objects from a group of other participating objects that belong to one of the next-level conference servers corresponding to each group of objects and one of the subordinate servers of the next-level conference server corresponding to each group of objects. Here, the subordinate servers of the next-level conference server can be all subordinate conference servers of the next-level conference server, and can include multiple conference servers at different levels.
[0104] For example, taking the participants as the participants' terminals and the meeting server as the meeting control service, the logic for the meeting control service to create a meeting could be as follows: It provides a meeting creation interface for creating multi-level cascading meetings, with the meeting level (confLevel) specified by a parameter. A cascading meeting consists of multiple sub-meetings at various MCU levels.
[0105] Create a meeting at this level and set the meeting level using confLevel;
[0106] Iterate through the participant list. If there are no lower-level terminals, the meeting creation interface ends. If there are lower-level terminals, for each lower-level MCU with participants, execute the following: Based on the participant information, generate the corresponding direct lower-level meeting attributes, including filtering the participant list to generate lower-level participants, setting the lower-level meeting level to confLevel+1, and generating the lower-level meeting number; call the lower-level meeting control service to create the meeting interface and create the lower-level meeting.
[0107] Meeting interface creation complete.
[0108] After the meeting is created, the meeting control service can call the corresponding interface of the signaling service to synchronize the newly created meeting information to the signaling service, and then the signaling service will send it to the corresponding terminal.
[0109] The signaling service can periodically send a ConfStart notification message at N-second intervals. By obtaining the meeting ID 'a' of meeting x, it iterates through the list of currently running meetings x to determine the participating terminal n. If it determines that participant n has registered or joined a meeting but the meeting ID is not equal to 'a', it sends a ConfStart message to terminal n, including the meeting ID 'a' and the meeting level 'confLevel'. In addition, the signaling service can also provide other signaling services to terminals, such as registration and joining.
[0110] The terminal can receive a ConfStart notification message from the signaling service indicating that meeting a has started. If the terminal is not currently in a meeting, it calls the join interface to initiate a join request to meeting a. If the terminal is already in meeting b, it compares the confLevel values of meeting b and meeting a. If the confLevel value of meeting b is less than that of meeting a, it calls the leave interface to leave meeting b and calls the join interface to initiate a join request to meeting a. If the confLevel value of meeting b is greater than or equal to that of meeting a, it ignores the ConfStart message.
[0111] In this embodiment, the object level calls the corresponding conference server level to create sub-conferences under the cascading conference, which can improve the efficiency of sub-conference creation.
[0112] In one exemplary embodiment, after creating cascading meetings hierarchically according to the object hierarchy of a first set of participants, the method further includes:
[0113] S51, Receive the first meeting modification request, wherein the first meeting modification request is used to request modification of the participants of the second cascade meeting, the first meeting modification request carries a second object list, the second object list contains object information of a group of second participants, and the group of second participants is the modified participants of the second cascade meeting;
[0114] S52, in response to the first meeting modification request, traverse the second object list to determine whether there are any newly added meeting objects in the second set of meeting objects and whether there are any meeting objects to be deleted in the first set of meeting objects;
[0115] S53, if a new participant is added to a group of second participants, the new participant is added to the third sub-meeting under the second cascade meeting, wherein the third sub-meeting corresponds to the object level of the new participant;
[0116] S54, if there is a participant to be deleted in the first group of participants, delete the participant to be deleted from the fourth sub-meeting under the second cascade meeting, wherein the fourth sub-meeting corresponds to the object level of the participant to be deleted.
[0117] For a second-level cascaded meeting that has been created, participants can be modified, including but not limited to adding or deleting participants. This modification can be initiated by the participant through the corresponding meeting terminal or a corresponding page in a browser. The modification command triggers the meeting server (i.e., the meeting control service), which then completes the corresponding meeting modifications. When meeting information changes (such as creation, modification, or deletion), the meeting control service updates the meeting information and can then call the signaling service's meeting information change interface (ConfChange) to synchronize the meeting information to the signaling service, including the meeting level (confLevel).
[0118] In this embodiment, the conference server of the first-level sub-conference under the second cascade conference can receive modification requests from the first conference. These modification requests can be sent from the conference terminal corresponding to the first-level sub-conference under the second cascade conference, or they can be sent through the conference management page on the corresponding browser.
[0119] The aforementioned first meeting modification request can be used to request modifications to the participants in the second cascading meeting. The first meeting modification request can carry a second object list. This second object list can contain object information for a group of second participants. This group of second participants can represent the modified participants in the second cascading meeting.
[0120] In response to the first meeting modification request, it is possible to determine whether there are any new and / or pending deletion participants in a second set of participants by traversing the second object list.
[0121] If a new participant is added to a second group of participants, the new participant can be added to a third sub-meeting under the second cascade meeting. Here, the third sub-meeting can correspond to the object level of the new participant.
[0122] Optionally, newly added participants can receive meeting notifications sent by the meeting server through their corresponding terminals, and determine whether they need to join the third sub-meeting in accordance with the manner described in the foregoing embodiments.
[0123] If a participant to be deleted exists within a group of first-level participants, it can be removed from the fourth sub-meeting under the second-level cascade meeting. Here, the fourth sub-meeting can correspond to the object level of the participant to be deleted.
[0124] Optionally, the participants to be deleted can receive a meeting notification sent by the meeting server through their corresponding terminals, and exit the fourth sub-meeting if they have already entered the fourth sub-meeting, in accordance with the manner described in the foregoing embodiments.
[0125] This embodiment allows for the addition or deletion of participants in already created cascading meetings. This avoids wasting time on cascading meetings due to incorrect or missing participants, while also reducing the number of meetings that need to be created and improving the user experience.
[0126] In an exemplary embodiment, when a new participant is added to a second set of participants, adding the new participant to a third sub-meeting under the second cascade meeting includes:
[0127] S61, if a new participant is added to a group of second-level participants, the meeting server corresponding to the top-level object is selected as the current meeting server, and the following object addition operation is performed. Here, the object level corresponding to the current meeting server is the current object level; the sub-meeting corresponding to the current meeting server in the second cascade meeting is the current-level sub-meeting; the first-level sub-meeting under the second cascade meeting corresponds to the top-level object level; the meeting level of the first-level sub-meeting under the second cascade meeting is the specified meeting level; and the current meeting level of the current-level sub-meeting is the sum of the difference between the current object level and the top-level object level and the specified meeting level.
[0128] If the object level of the newly added participant is the current object level, add the newly added participant to the current level sub-meeting;
[0129] If the object level of the newly added participant is a lower level of the current object level, and there is a next-level sub-meeting of the current level sub-meeting in the second cascade meeting, the meeting modification interface of the next-level meeting server corresponding to the next-level sub-meeting is called to send a second meeting modification request carrying the object information of the newly added participant to the next-level meeting server, so that the next-level meeting server can continue to perform the object addition operation as the current meeting server until the newly added participant has been added to the sub-meeting of the second cascade meeting;
[0130] If the object level of the newly added participant is a lower level of the current object level, and there is no next-level sub-meeting in the second cascade meeting, a second meeting creation request carrying the object information of the newly added participant is sent to the next-level meeting server by calling the meeting creation interface of the next-level meeting server corresponding to the next-level sub-meeting. The next-level meeting server then creates the next-level sub-meeting and continues to perform the object addition operation as the current meeting server until the newly added participant has been added to the sub-meeting of the second cascade meeting. The meeting level of the created next-level sub-meeting is the current meeting level plus 1.
[0131] If a new participant is identified within a second set of participants, the meeting server corresponding to the highest-level object can be designated as the current meeting server for object addition. Correspondingly, the object level corresponding to the current meeting server can be the current object level. The sub-meetings corresponding to the current meeting server in the second cascade can be current-level sub-meetings. The first-level sub-meetings under the second cascade can correspond to the aforementioned highest-level object. The meeting level of the first-level sub-meeting under the second cascade can be a specified meeting level. The current meeting level of the current-level sub-meeting can be the sum of the difference between the current object level and the highest-level object level, and the specified meeting level.
[0132] Optionally, the above object addition operation can be different operations performed based on the relationship between the object level of the participating object and the current object level.
[0133] If the object level of the newly added participant is the current object level, the above object addition operation can be to directly add the newly added participant to the current level sub-meeting.
[0134] When the object level of the newly added participant is a lower level of the current object level, and there is a next-level sub-meeting of the current level sub-meeting in the second cascade meeting, the above object addition operation can be performed by calling the meeting modification interface of the next-level meeting server corresponding to the next-level sub-meeting, sending a second meeting modification request carrying the object information of the newly added participant to the next-level meeting server, so that the next-level meeting server can continue to perform the object addition operation as the current meeting server until the newly added participant has been added to the sub-meeting of the second cascade meeting.
[0135] When the object level of the newly added participant is a lower level than the current object level, and there is no next-level sub-meeting in the second cascade meeting, the object addition operation can be performed by calling the meeting creation interface of the next-level meeting server corresponding to the next-level sub-meeting. This involves sending a second meeting creation request carrying the object information of the newly added participant to the next-level meeting server. The next-level meeting server then creates the next-level sub-meeting and continues the object addition operation as the current meeting server until the newly added participant has been added to the sub-meeting of the second cascade meeting. The meeting level of the created next-level sub-meeting can be the current meeting level plus 1, i.e., adding 1 to the current meeting level to determine the meeting level of the next-level sub-meeting.
[0136] For example, taking the participants as attendees and the meeting server as an MCU, when adding a new attendee, if the corresponding lower-level MCU has not created a meeting, the system generates the corresponding direct lower-level meeting attributes based on the attendee information. This includes filtering the attendee list to generate lower-level attendees, setting the lower-level meeting level to confLevel+1, generating the lower-level meeting number, etc., and then calling the lower-level meeting control service to create the meeting interface to create the lower-level meeting. If the corresponding lower-level MCU has already created a meeting, the system calls the lower-level meeting control service to modify the meeting, synchronize attendees, and does not change the lower-level meeting level.
[0137] This embodiment allows for the execution of different new participant operations based on the relationship between the participant's object level and the current object level. This reduces the number of meeting creations while improving the efficiency of meeting modifications.
[0138] In one exemplary embodiment, removing a participant from a fourth sub-meeting under a second cascaded meeting includes:
[0139] S71, if the object level of the participant to be deleted is the top-level object level, delete the participant to be deleted from the first-level sub-meeting under the second-level cascade meeting, where the fourth sub-meeting is the first-level sub-meeting under the second-level cascade meeting;
[0140] S72, if the object level of the participant to be deleted is a lower-level object level of the top-level object level, start from the meeting server corresponding to the first-level sub-meeting under the second-level cascade meeting and call the object deletion interface of the lower-level server level by level until the object deletion interface of the meeting server corresponding to the fourth sub-meeting is called, so as to delete the participant to be deleted from the fourth sub-meeting.
[0141] Deleting a participant is similar to adding one; it also requires deletion through the corresponding meeting server. In this embodiment, upon receiving a modification request from the second terminal, the meeting server, if it determines that the participant to be deleted is at the top-level object level, can directly delete the participant from the first-level sub-meeting under the second cascaded meeting. Correspondingly, the fourth sub-meeting can be the aforementioned first-level sub-meeting under the second cascaded meeting.
[0142] If the object level of the participant to be deleted is determined to be a subordinate object level of the top-level object level, the object deletion interface of the subordinate server can be called sequentially from the meeting server corresponding to the first-level sub-meeting under the second-level cascade meeting until the object deletion interface of the meeting server corresponding to the fourth sub-meeting is called, so as to delete the participant to be deleted from the fourth sub-meeting.
[0143] In this embodiment, the corresponding meeting server is invoked to delete the meeting participants based on their object level, which reduces the number of deletion steps and improves the efficiency of deleting meeting participants.
[0144] In one exemplary embodiment, after removing the participant to be deleted from the fourth sub-meeting under the second cascade meeting, the method further includes:
[0145] S81, if the fourth sub-meeting does not contain any participants and there are no subordinate sub-meetings of the fourth sub-meeting in the second cascade meeting, start calling the meeting deletion interface of the subordinate server level by level from the meeting server corresponding to the first-level sub-meeting under the second cascade meeting, until the meeting deletion interface of the meeting server corresponding to the fourth sub-meeting is called, so as to delete the fourth sub-meeting.
[0146] Considering that after deleting the participants to be deleted from the fourth sub-meeting under the second cascade meeting, there are no participants in the fourth sub-meeting and its subordinate meetings, in order to improve the utilization of server resources, in this embodiment, when the fourth sub-meeting does not contain participants and there are no subordinate sub-meetings of the fourth sub-meeting in the second cascade meeting, the meeting deletion interface of the subordinate servers can be called sequentially from the meeting server corresponding to the first-level sub-meeting under the second cascade meeting until the meeting deletion interface of the meeting server corresponding to the fourth sub-meeting is called to delete the fourth sub-meeting.
[0147] Optionally, after deleting the participants to be deleted from the fourth sub-meeting under the second cascade meeting, if the fourth sub-meeting still contains other participants, the list of participants can be modified in the meeting server of the fourth sub-meeting, but the meeting level of the fourth sub-meeting does not need to be changed.
[0148] For example, taking the participants as attendees and the meeting server as an MCU, when deleting an attendee, if the lower-level meeting corresponding to that attendee has no attendees, the lower-level meeting control service is called to delete the meeting. If the lower-level meeting corresponding to that attendee still has attendees, the meeting modification interface of the lower-level meeting control service is called to modify the attendee list, without changing the meeting level of the lower-level meeting.
[0149] In this embodiment, when there are no participants in the fourth sub-meeting under the second cascade meeting after the participants to be deleted are removed, the fourth sub-meeting and its subordinate meetings have no participants. Calling the meeting deletion interface of the corresponding meeting server to delete the fourth sub-meeting can improve the utilization of server resources.
[0150] In one exemplary embodiment, after creating cascading meetings hierarchically according to the object hierarchy of a first set of participants, the method further includes:
[0151] S91, Receive the first conference deletion request, wherein the first conference deletion request is used to request the deletion of the fifth sub-conference in the second cascade conference;
[0152] S92, in response to the first meeting deletion request, if the fifth sub-meeting has subordinate sub-meetings, the meeting deletion interface of the subordinate servers is called level by level, starting from the meeting server corresponding to the first-level sub-meeting under the second cascade meeting, until the meeting deletion interface of the meeting server corresponding to the subordinate sub-meeting of the fifth sub-meeting is called, so as to delete the subordinate sub-meeting of the fifth sub-meeting; the meeting deletion interface of the subordinate servers is called level by level, starting from the meeting server corresponding to the first-level sub-meeting under the second cascade meeting, until the meeting deletion interface of the meeting server corresponding to the fifth sub-meeting is called, so as to delete the fifth sub-meeting.
[0153] S93, if there are no subordinate sub-meetings in the fifth sub-meeting, start from the meeting server corresponding to the first-level sub-meeting under the second cascade meeting and call the meeting deletion interface of the subordinate server level by level until the meeting deletion interface of the meeting server corresponding to the fifth sub-meeting is called to delete the fifth sub-meeting.
[0154] For a second-level cascaded meeting that has already been created, in addition to modifying the participants, the meeting itself can also be modified. Modifications to the meeting include changing meeting attributes and deleting the meeting. Modifications to meeting attributes include meeting layout, meeting encoding parameters, etc. Since the participants are not modified, the new meeting attributes can be directly synchronized to each created direct subordinate meeting without changing the meeting level of the subordinate meetings. The triggering and execution of the meeting deletion operation can be similar to the description of the creation operation above, and will not be repeated here in this embodiment.
[0155] In this embodiment, the meeting server corresponding to the first-level sub-meeting under the second cascade meeting can receive a first meeting deletion request. Here, the first meeting deletion request can be sent by the meeting terminal corresponding to the first-level sub-meeting under the second cascade meeting, or it can be sent through the meeting management page on the corresponding browser. The first meeting deletion request can be used to request the deletion of the fifth sub-meeting in the second cascade meeting. The fifth sub-meeting can be a first-level sub-meeting under the second cascade meeting, or it can be a sub-meeting at another level under the second cascade meeting.
[0156] In response to the deletion request of the first meeting, if the fifth sub-meeting has subordinate sub-meetings, the subordinate sub-meetings of the fifth sub-meeting can be deleted first, and then the fifth sub-meeting can be deleted. That is, the meeting deletion interface of each subordinate server can be called sequentially, starting from the meeting server corresponding to the first-level sub-meeting under the second cascading meeting, until the meeting deletion interface of the meeting server corresponding to the subordinate sub-meeting of the fifth sub-meeting is called to delete the subordinate sub-meeting of the fifth sub-meeting. Then, the meeting deletion interface of each subordinate server can be called sequentially, starting from the meeting server corresponding to the first-level sub-meeting under the second cascading meeting, until the meeting deletion interface of the meeting server corresponding to the fifth sub-meeting is called to delete the fifth sub-meeting.
[0157] If there are no subordinate sub-meetings in the fifth sub-meeting, the meeting deletion interface of the subordinate servers can be called directly from the meeting server corresponding to the first-level sub-meeting under the second cascade meeting, until the meeting deletion interface of the meeting server corresponding to the fifth sub-meeting is called, so as to delete the fifth sub-meeting.
[0158] Alternatively, the entire second-level cascade meeting can be deleted. This can be done by deleting the first-level sub-meetings under the second-level cascade meeting, following the method described above: first delete the sub-meetings of the first-level sub-meetings under the second-level cascade meeting, and then delete the sub-meetings of the first-level sub-meetings.
[0159] For example, taking a conference server as a conference control service, the conference control service can provide a conference deletion interface. When deleting a conference, if there are subordinate conferences, the deletion interface of the subordinate conference control service is called first to delete the subordinate conference before deleting the current conference; if there are no subordinate conferences, the current conference is deleted directly.
[0160] In this embodiment, when deleting a meeting, if there are subordinate meetings, the subordinate meetings are deleted first, followed by the current meeting. This avoids missing subordinate meetings and improves the efficiency of meeting deletion.
[0161] The scheduling method for meeting objects in this application embodiment will be explained below with reference to optional examples. In this optional example, the object is the participant, and the target meeting notification message includes a meeting information notification message and a meeting start notification message.
[0162] This optional example provides a method for scheduling video conferencing system terminals. When creating a meeting, a meeting level is set for the current level meeting. Simultaneously, each lower-level sub-meeting is recursively assigned a meeting level equal to the current level meeting level + 1. The meeting level information is then communicated to the terminals, allowing them to select the highest-level meeting to join. This achieves top-down emergency scheduling of multiple meeting terminals in a cascading conferencing system with a tree-like network. It covers all video conferencing terminals in the tree network without requiring network environment modifications, offering broad coverage. Furthermore, during multi-level terminal and multi-meeting emergency scheduling, users only need to create the meeting in the corresponding level video conferencing system. They do not need to be aware of meeting priorities or access the "meeting management and scheduling system," thus achieving a "one-click" emergency terminal scheduling function. This aligns with users' administrative division management habits, allowing superiors to schedule all terminals within their jurisdiction at any time, resulting in high usability.
[0163] The scheduling method for the meeting object in this optional example may include the following steps:
[0164] Step 1: The browser provides a page to create a meeting, generates meeting attributes based on user configuration, and calls the meeting creation interface of the local meeting control service to create a cascading meeting.
[0165] It provides a page for creating meetings, allowing users to select all terminal devices on the cascading tree as participants in the cascading meeting;
[0166] The meeting attributes are generated based on user configuration, and the meeting level confLevel of this level meeting is automatically set to 1.
[0167] Create a cascading meeting by calling the meeting creation interface of the meeting control service at this level.
[0168] Step 2: The meeting control service provides a meeting creation interface to create a meeting at this level, sets the meeting level at this level using confLevel, sets the level of the lower-level meeting to confLevel+1, and calls the meeting creation interface of the lower-level meeting control service to create the lower-level meeting.
[0169] Step 3: The signaling service provides the ConfChange interface for changing meeting information, which is used to receive meeting change information and provide other signaling services such as registration and joining to the terminal.
[0170] Step 4: The terminal receives a meeting information notification message and a meeting start notification message from the signaling service, and determines whether to join or leave the meeting based on the received messages.
[0171] If the terminal receives the notification to join meeting a but has already joined meeting b, then the confLevel values of meeting b and meeting a are compared. If the confLevel value of meeting b is less than that of meeting a, then the terminal calls the exit interface to leave meeting b and calls the join interface to initiate a joining request to meeting a.
[0172] This optional example demonstrates how the video conferencing system itself can handle emergency dispatching of multiple terminals. It covers all video conferencing terminals in a tree-like network without requiring modifications to the network environment, and eliminates the need for a separate "meeting management and dispatching system," thus reducing deployment and maintenance complexity and lowering the cost of building the conferencing system.
[0173] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0174] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM (Read-Only Memory) / RAM (Random Access Memory), magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods of the various embodiments of this application.
[0175] According to another aspect of the embodiments of this application, a scheduling device for scheduling meeting objects for implementing the above-described scheduling method for meeting objects is also provided, and the scheduling device for scheduling meeting objects can be applied to smart devices. Figure 8 This is a structural block diagram of an optional meeting object scheduling device according to an embodiment of this application, such as... Figure 8 As shown, the device may include:
[0176] The first receiving unit 802 is used to receive a target meeting notification message when the target object has entered the first sub-meeting under the first cascade meeting, wherein the target meeting notification message is used to notify the second cascade meeting associated with the target object.
[0177] The comparison unit 804, connected to the first receiving unit 802, is used to compare the first meeting level of the first cascade meeting and the second meeting level of the second cascade meeting when the first cascade meeting and the second cascade meeting are different cascade meetings. The first meeting level is used to represent the difference between the object level of the participants in the first sub-meeting and the object level of the participants in the first-level sub-meeting under the first cascade meeting. The second meeting level is used to represent the difference between the object level of the participants in the second sub-meeting and the object level of the participants in the first-level sub-meeting under the second cascade meeting. The second sub-meeting is a sub-meeting of the second cascade meeting in which the target object is to participate.
[0178] The first execution unit 806, connected to the comparison unit 804, is used to control the target object to exit the first sub-meeting and enter the second sub-meeting in response to the target meeting notification message when the first meeting level is lower than the second meeting level.
[0179] It should be noted that the first receiving unit 802 in this embodiment can be used to execute the above step S202, the comparison unit 804 in this embodiment can be used to execute the above step S204, and the first execution unit 806 in this embodiment can be used to execute the above step S206.
[0180] Through the above module, when the target object has entered the first sub-meeting under the first cascade meeting, a target meeting notification message is received. This message is used to notify the second cascade meeting associated with the target object. If the first and second cascade meetings are different cascade meetings, the first meeting level of the first cascade meeting and the second meeting level of the second cascade meeting are compared. The first meeting level represents the difference between the object level of the participant in the first sub-meeting and the object level of the participant in the first-level sub-meeting under the first cascade meeting. The second meeting level represents the difference between the object level of the participant in the second sub-meeting and the object level of the participant in the first-level sub-meeting under the second cascade meeting. The second sub-meeting is the sub-meeting of the second cascade meeting that the target object is to participate in. If the first meeting level is lower than the second meeting level, in response to the target meeting notification message, the target object is controlled to exit the first sub-meeting and enter the second sub-meeting. This solves the problem of high operational complexity in the scheduling methods of meeting terminals in related technologies, and reduces operational complexity.
[0181] In one exemplary embodiment, the above-described apparatus further includes:
[0182] The update unit is used to update the first meeting level using the meeting level carried in the target meeting notification message after receiving the target meeting notification message, in the case that the first cascade meeting and the second cascade meeting are the same cascade meeting and the target meeting notification message carries the updated meeting level of the first sub-meeting, so as to obtain the updated first meeting level.
[0183] The control unit is used to control the target object to exit the first sub-meeting by calling the meeting hang-up interface when the first cascade meeting and the second cascade meeting are the same cascade meeting and the participant identifier carried in the target meeting notification message is used to indicate that the target object is not a participant in the first sub-meeting.
[0184] In one exemplary embodiment, the above-described apparatus further includes:
[0185] The second receiving unit is used to receive meeting change information before receiving the target meeting notification message. The meeting change information includes the first object list after the second cascade meeting has been changed, and the first object list after the change includes the object information of the participants in the second cascade meeting after the change.
[0186] The second execution unit is used to respond to meeting change information by combining the changed participants and the unchanged participants of the second cascade meeting to obtain a set of participants.
[0187] The determining unit is used to determine the participant identifier of each participant in the participant set by comparing the changed participant with the participants in the participant set, wherein the participant identifier of each participant is used to indicate whether each participant is a participant in the second cascade meeting;
[0188] The sending unit is used to send a meeting notification message to each participant to inform each participant whether they are still a participant in the second-level cascade meeting.
[0189] In one exemplary embodiment, the above-described apparatus further includes:
[0190] The third receiving unit is used to receive the first meeting creation request, wherein the first meeting creation request is used to request the creation of a cascade meeting, and the first meeting creation request carries a first object list, which contains object information of a group of first participants in the cascade meeting to be created;
[0191] A creation unit is used to respond to a first meeting creation request and create cascading meetings level by level according to the object level of a set of first participants to obtain a second cascading meeting. Each sub-meeting under the second cascading meeting contains first participants of the same object level from the set of first participants. The object levels of participants in different levels of sub-meetings under the second cascading meeting are different, while the object levels of participants in sub-meetings of the same level under the second cascading meeting are the same. The meeting level of each sub-meeting is used to represent the level difference between the object level of each sub-meeting's participants and the top-level object level in the set of first participants' object levels.
[0192] In one exemplary embodiment, the creation unit includes:
[0193] The first execution module is used to respond to the first meeting creation request.
[0194] The following sub-meeting creation operation will be performed using the meeting server to which the participant object corresponding to the highest-level object belongs as the current meeting server, where the object level corresponding to the current meeting server is the current object level:
[0195] Create a current-level sub-meeting for the second cascade meeting that corresponds to the current object level. The first-level sub-meetings under the second cascade meeting correspond to the top-level object level. The meeting level of the first-level sub-meetings under the second cascade meeting is the specified meeting level. The current meeting level of the current-level sub-meeting is the sum of the level difference between the current object level and the top-level object level and the specified meeting level.
[0196] Iterate through the first object list, add the first participating object with the current object level to the current level sub-meeting, and obtain the updated first object list. The updated first object list contains object information of a group of other participating objects besides the participating objects of the current level sub-meeting.
[0197] If the updated first object list is not empty, based on the conference server to which each other participant in a group belongs and the affiliation between different conference servers, the group of other participants is split into at least one group of objects to be assigned, resulting in at least one list of objects to be assigned. Each group of objects to be assigned corresponds to a next-level conference server of the current conference server. Each group of objects to be assigned includes all other participants in the group of other participants that belong to one of the next-level conference servers corresponding to each group of objects to be assigned and one of the subordinate servers of the next-level conference servers corresponding to each group of objects to be assigned.
[0198] Generate meeting creation information for each group of objects to be assigned. The meeting creation information corresponding to each group of objects to be assigned includes a list of objects to be assigned to each group and the meeting level of the next level sub-meeting of the current object level. The meeting level of the next level sub-meeting is the current meeting level plus 1.
[0199] By calling the meeting creation interface of the next-level meeting server corresponding to each group of objects to be assigned, the meeting creation information corresponding to each group of objects to be assigned is sent to the next-level meeting server corresponding to each group of objects to be assigned. The next-level meeting server corresponding to each group of objects to be assigned acts as the current meeting server and uses the list of objects to be assigned corresponding to each group of objects to be assigned as the first object list to continue to execute the sub-meeting creation operation until the first object list is empty.
[0200] In one exemplary embodiment, the above-described apparatus further includes:
[0201] The fourth receiving unit is used to receive a first meeting modification request after creating a cascading meeting level by level according to the object level of a group of first meeting participants. The first meeting modification request is used to request modification of the meeting participants of the second cascading meeting. The first meeting modification request carries a second object list, which contains object information of a group of second meeting participants. The group of second meeting participants is the meeting participants of the modified second cascading meeting.
[0202] The traversal unit is used in response to the first meeting modification request to traverse the second object list to determine whether there are any newly added meeting objects in the second set of meeting objects and whether there are any meeting objects to be deleted in the first set of meeting objects.
[0203] The addition unit is used to add a new participant to a third sub-meeting under the second cascade meeting when there is a new participant in a group of second participants. The third sub-meeting corresponds to the object level of the new participant.
[0204] The deletion unit is used to delete the participant to be deleted from the fourth sub-meeting under the second cascade meeting if there is a participant to be deleted in the first set of participants. The fourth sub-meeting corresponds to the object level of the participant to be deleted.
[0205] In one exemplary embodiment, the added unit includes:
[0206] The second execution module is used to perform the following object addition operation when a new participant is added to a group of second participant objects, with the conference server corresponding to the top-level object as the current conference server. Here, the object level corresponding to the current conference server is the current object level, and the sub-conferences of the second cascaded conference corresponding to the current conference server are the current-level sub-conferences.
[0207] The first-level sub-meetings under the second-level cascaded meeting correspond to the level of the top-level object. The meeting level of the first-level sub-meetings under the second-level cascaded meeting is the specified meeting level. The current meeting level of the current-level sub-meeting is the sum of the level difference between the current object level and the top-level object level and the specified meeting level.
[0208] If the object level of the newly added participant is the current object level, add the newly added participant to the current level sub-meeting;
[0209] If the object level of the newly added participant is a lower level of the current object level, and there is a next-level sub-meeting of the current level sub-meeting in the second cascade meeting, the meeting modification interface of the next-level meeting server corresponding to the next-level sub-meeting is called to send a second meeting modification request carrying the object information of the newly added participant to the next-level meeting server, so that the next-level meeting server can continue to perform the object addition operation as the current meeting server until the newly added participant has been added to the sub-meeting of the second cascade meeting;
[0210] If the object level of the newly added participant is a lower level of the current object level, and there is no next-level sub-meeting in the second cascade meeting, a second meeting creation request carrying the object information of the newly added participant is sent to the next-level meeting server by calling the meeting creation interface of the next-level meeting server corresponding to the next-level sub-meeting. The next-level meeting server then creates the next-level sub-meeting and continues to perform the object addition operation as the current meeting server until the newly added participant has been added to the sub-meeting of the second cascade meeting. The meeting level of the created next-level sub-meeting is the current meeting level plus 1.
[0211] In one exemplary embodiment, the deletion unit includes:
[0212] The deletion module is used to delete the participant to be deleted from the first-level sub-meeting under the second-level cascade meeting if the object level of the participant to be deleted is the top-level object level. The fourth sub-meeting is the first-level sub-meeting under the second-level cascade meeting.
[0213] The calling module is used to call the object deletion interface of each lower-level server in the case where the object level of the participant to be deleted is a lower-level object level of the top-level object level, starting from the meeting server corresponding to the first-level sub-meeting under the second-level cascade meeting, until the object deletion interface of the meeting server corresponding to the fourth sub-meeting is called, so as to delete the participant to be deleted from the fourth sub-meeting.
[0214] In one exemplary embodiment, the above-described apparatus further includes:
[0215] The first calling unit is used to call the meeting deletion interface of the lower-level server step by step, starting from the meeting server corresponding to the first-level sub-meeting under the second cascade meeting, in the case that the fourth sub-meeting does not contain any participants and there are no lower-level sub-meetings of the fourth sub-meeting in the second cascade meeting, until the meeting deletion interface of the meeting server corresponding to the fourth sub-meeting is called, so as to delete the fourth sub-meeting.
[0216] In one exemplary embodiment, the above-described apparatus further includes:
[0217] The fifth receiving unit is used to receive a first meeting deletion request after creating a cascading meeting according to the object level of a group of first participants. The first meeting deletion request is used to request the deletion of the fifth sub-meeting in the second cascading meeting.
[0218] The second calling unit, in response to the first meeting deletion request, calls the meeting deletion interface of each lower-level server sequentially, starting from the meeting server corresponding to the first-level sub-meeting under the second cascaded meeting, until it calls the meeting deletion interface of the meeting server corresponding to the lower-level sub-meeting of the fifth sub-meeting, in order to delete the lower-level sub-meeting of the fifth sub-meeting; and calls the meeting deletion interface of each lower-level server sequentially, starting from the meeting server corresponding to the first-level sub-meeting under the second cascaded meeting, until it calls the meeting deletion interface of the meeting server corresponding to the fifth sub-meeting, in order to delete the fifth sub-meeting.
[0219] If there are no subordinate sub-meetings in the fifth sub-meeting, the third calling unit will call the meeting deletion interface of the subordinate servers one by one, starting from the meeting server corresponding to the first-level sub-meeting under the second cascade meeting, until it calls the meeting deletion interface of the meeting server corresponding to the fifth sub-meeting, so as to delete the fifth sub-meeting.
[0220] It should be noted that the examples and application scenarios implemented by the above modules and corresponding steps are the same, but are not limited to the content disclosed in the above embodiments. It should also be noted that the above modules, as part of a device, can operate in environments such as... Figure 1 The hardware environment shown can be implemented through software or hardware, and the hardware environment includes the network environment.
[0221] According to another aspect of the embodiments of this application, a storage medium is also provided, which can be located on a smart device. Optionally, in this embodiment, the storage medium can be used to execute program code for the scheduling method of any of the meeting objects described in the embodiments of this application.
[0222] Optionally, in this embodiment, the storage medium may be located on at least one of the network devices in the network shown in the above embodiment.
[0223] Optionally, in this embodiment, the storage medium is configured to store program code for performing the following steps:
[0224] S1, if the target object has entered the first sub-meeting under the first cascade meeting, receive the target meeting notification message, wherein the target meeting notification message is used to notify the second cascade meeting associated with the target object;
[0225] S2, when the first cascade meeting and the second cascade meeting are different cascade meetings, compare the first meeting level of the first cascade meeting and the second meeting level of the second cascade meeting. The first meeting level is used to represent the difference between the object level of the participants in the first sub-meeting and the object level of the participants in the first-level sub-meeting under the first cascade meeting. The second meeting level is used to represent the difference between the object level of the participants in the second sub-meeting and the object level of the participants in the first-level sub-meeting under the second cascade meeting. The second sub-meeting is a sub-meeting of the second cascade meeting in which the target object is to participate.
[0226] S3, in response to the target meeting notification message, if the first meeting level is lower than the second meeting level, controls the target object to exit the first sub-meeting and enter the second sub-meeting.
[0227] Optionally, specific examples in this embodiment can refer to the examples described in the above embodiments, and will not be repeated in this embodiment.
[0228] Optionally, in this embodiment, the storage medium may include, but is not limited to, various media capable of storing program code, such as USB flash drives, ROMs, RAMs, portable hard drives, magnetic disks, or optical disks.
[0229] According to another aspect of the embodiments of this application, an electronic device for implementing the above-described scheduling method for meeting objects is also provided. The electronic device may be a smart device, a server, a terminal, or a combination thereof.
[0230] Figure 9 This is a structural block diagram of an optional electronic device according to an embodiment of this application, such as... Figure 9 As shown, it includes a processor 902, a communication interface 904, a memory 906, and a communication bus 908. The processor 902, communication interface 904, and memory 906 communicate with each other via the communication bus 908.
[0231] Memory 906 is used to store computer programs;
[0232] When processor 902 executes a computer program stored in memory 906, it performs the following steps:
[0233] S1, if the target object has entered the first sub-meeting under the first cascade meeting, receive the target meeting notification message, wherein the target meeting notification message is used to notify the second cascade meeting associated with the target object;
[0234] S2, when the first cascade meeting and the second cascade meeting are different cascade meetings, compare the first meeting level of the first cascade meeting and the second meeting level of the second cascade meeting. The first meeting level is used to represent the difference between the object level of the participants in the first sub-meeting and the object level of the participants in the first-level sub-meeting under the first cascade meeting. The second meeting level is used to represent the difference between the object level of the participants in the second sub-meeting and the object level of the participants in the first-level sub-meeting under the second cascade meeting. The second sub-meeting is a sub-meeting of the second cascade meeting in which the target object is to participate.
[0235] S3, in response to the target meeting notification message, if the first meeting level is lower than the second meeting level, controls the target object to exit the first sub-meeting and enter the second sub-meeting.
[0236] Optionally, the communication bus can be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 9 The symbol is represented by a single thick line, but this does not indicate that there is only one bus or one type of bus. The communication interface is used for communication between the aforementioned electronic device and other devices.
[0237] The memory may include RAM, or non-volatile memory, such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0238] As an example, the memory 906 described above may include, but is not limited to, the first receiving unit 802, the comparison unit 804, and the first execution unit 806 of the scheduling device for the conference objects. Furthermore, it may include, but is not limited to, other module units of the scheduling device for the conference objects, which will not be elaborated upon in this example.
[0239] The processors mentioned above can be general-purpose processors, including but not limited to: CPU (Central Processing Unit), NP (Network Processor), etc.; they can also be DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0240] Optionally, specific examples in this embodiment can refer to the examples described in the above embodiments, and will not be repeated here.
[0241] Those skilled in the art will understand that Figure 9 The structure shown is for illustrative purposes only. The device that implements the scheduling method for the above-mentioned meeting participants can be a terminal device, such as a smartphone (e.g., an Android phone, an iOS phone), a tablet computer, a PDA, a mobile Internet device (MID), a PAD, or other terminal devices. Figure 9 This does not limit the structure of the aforementioned electronic device. For example, the electronic device may also include components that are more... Figure 9 The more or fewer components shown (such as network interfaces, display devices, etc.), or having the same Figure 9 The different configurations shown.
[0242] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing the hardware related to the terminal device. The program can be stored in a computer-readable storage medium, which may include: flash drive, ROM, RAM, disk or optical disk, etc.
[0243] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0244] If the integrated units in the above embodiments are implemented as software functional units and sold or used as independent products, they can be stored in the aforementioned computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause one or more computer devices (which may be personal computers, servers, or network devices, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application.
[0245] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0246] In the several embodiments provided in this application, it should be understood that the disclosed client can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between units or modules, and may be electrical or other forms.
[0247] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of the solution provided in this embodiment, depending on actual needs.
[0248] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or at least two units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0249] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.
Claims
1. A method for scheduling meeting objects, characterized in that, include: Receive a first meeting creation request, wherein the first meeting creation request is used to request the creation of a cascade meeting, and the first meeting creation request carries a first object list, which contains object information of a group of first participants in the cascade meeting to be created; In response to the first meeting creation request, cascading meetings are created level by level according to the object level of the first group of participants to obtain a second cascading meeting. Each sub-meeting under the second cascading meeting includes participants of the same object level from the first group of participants. The object levels of participants in different levels of sub-meetings under the second cascading meeting are different, while the object levels of participants in sub-meetings of the same level under the second cascading meeting are the same. The meeting level of each sub-meeting represents the difference between the object level of each sub-meeting's participants and the highest-level object level in the first group of participants. The level-by-level creation of the cascading meeting is the creation of different levels of sub-meetings from top to bottom based on the object level of the participants. The first-level sub-meetings under the second-level meeting correspond to the highest-level object level, and the meeting level of the first-level sub-meetings under the second-level meeting is a specified meeting level. If the target object has entered the first sub-meeting under the first cascade meeting, a target meeting notification message is received, wherein the target meeting notification message is used to notify the second cascade meeting associated with the target object; When the first cascading meeting and the second cascading meeting are different cascading meetings, the first meeting level of the first cascading meeting and the second meeting level of the second cascading meeting are compared. The first meeting level is used to represent the difference between the object level of the participants in the first sub-meeting and the object level of the participants in the first-level sub-meeting under the first cascading meeting. The second meeting level is used to represent the difference between the object level of the participants in the second sub-meeting and the object level of the participants in the first-level sub-meeting under the second cascading meeting. The second sub-meeting is a sub-meeting of the second cascading meeting in which the target object is to participate. If the first meeting level is lower than the second meeting level, in response to the target meeting notification message, the target object is controlled to exit the first sub-meeting and enter the second sub-meeting.
2. The method according to claim 1, characterized in that, After receiving the target conference notification message, the method further includes: If the first cascaded meeting and the second cascaded meeting are the same cascaded meeting, and the target meeting notification message carries the updated meeting level of the first sub-meeting, the first meeting level is updated using the meeting level carried in the target meeting notification message to obtain the updated first meeting level. If the first cascaded meeting and the second cascaded meeting are the same cascaded meeting, and the participant identifier carried in the target meeting notification message is used to indicate that the target object is not a participant in the first sub-meeting, the target object can be controlled to exit the first sub-meeting by calling the meeting hang-up interface.
3. The method according to claim 2, characterized in that, Before receiving the target conference notification message, the method further includes: Receive meeting change information, wherein the meeting change information includes the first object list after the second cascade meeting has been changed, and the first object list after the change includes the object information of the participants in the second cascade meeting after the change; In response to the meeting change information, the changed participants and the participants of the second cascade meeting before the change are combined to obtain a set of participants; By comparing the modified participants with the participants in the participant set, a participant identifier is determined for each participant in the participant set, wherein the participant identifier of each participant is used to indicate whether each participant is a participant in the second cascade meeting; Send a meeting notification message to each participant to inform each participant whether they are still a participant in the second cascade meeting.
4. The method according to claim 1, characterized in that, In response to the first meeting creation request, the second cascading meeting is obtained by creating cascading meetings level by level according to the object hierarchy of the first group of participants. In response to the first meeting creation request, the meeting server to which the participant object corresponding to the top-level object belongs is selected as the current meeting server, and the following sub-meeting creation operation is performed, wherein the object level corresponding to the current meeting server is the current object level: Create a current-level sub-meeting corresponding to the current object level for the second cascaded meeting, wherein the first-level sub-meeting under the second cascaded meeting corresponds to the top-level object level, the meeting level of the first-level sub-meeting under the second cascaded meeting is a specified meeting level, and the current meeting level of the current-level sub-meeting is the sum of the level difference between the current object level and the top-level object level and the specified meeting level; Traverse the first object list and add the first participating object with the object level of the current object level to the current level sub-meeting to obtain an updated first object list, wherein the updated first object list contains object information of a group of other participating objects besides the participating objects of the current level sub-meeting; If the updated first object list is not empty, the group of other participating objects is split into at least one group of objects to be assigned based on the conference server to which each other participating object belongs and the affiliation between different conference servers, resulting in at least one list of objects to be assigned. Each group of objects to be assigned corresponds to a next-level conference server of the current conference server. Each group of objects to be assigned includes all other participating objects in the group of other participating objects that belong to one of the next-level conference servers corresponding to each group of objects to be assigned and one of the subordinate servers of the next-level conference servers corresponding to each group of objects to be assigned. For each group of objects to be assigned, a meeting creation information is generated. The meeting creation information corresponding to each group of objects to be assigned includes a list of objects to be assigned corresponding to each group of objects to be assigned and the meeting level of the next level sub-meeting of the current object level. The meeting level of the next level sub-meeting is the current meeting level plus 1. By calling the meeting creation interface of the next-level meeting server corresponding to each group of objects to be assigned, the meeting creation information corresponding to each group of objects to be assigned is sent to the next-level meeting server corresponding to each group of objects to be assigned. The next-level meeting server corresponding to each group of objects to be assigned acts as the current meeting server and uses the list of objects to be assigned corresponding to each group of objects to be assigned as the first object list to continue the sub-meeting creation operation until the first object list is empty.
5. The method according to claim 1, characterized in that, After creating cascading meetings hierarchically according to the object hierarchy of the first group of participants, the method further includes: Receive a first meeting modification request, wherein the first meeting modification request is used to request modification of the participants of the second cascade meeting, the first meeting modification request carries a second object list, the second object list contains object information of a group of second participants, the group of second participants is the modified participants of the second cascade meeting; In response to the first meeting modification request, the second object list is traversed to determine whether there are any newly added participants in the second group of participants and whether there are any participants to be deleted in the first group of participants; If a new participant is added to the second set of participants, the new participant is added to a third sub-meeting under the second cascade meeting, wherein the third sub-meeting corresponds to the object level of the new participant. If there is a participant to be deleted in the first group of participants, the participant to be deleted is removed from the fourth sub-meeting under the second cascade meeting, wherein the fourth sub-meeting corresponds to the object level of the participant to be deleted.
6. The method according to claim 5, characterized in that, When a new participant is added to the second set of participants, adding the new participant to the third sub-meeting under the second cascading meeting includes: If a new participant is added to the second group of participants, the meeting server corresponding to the top-level object is selected as the current meeting server, and the following object addition operation is performed. Here, the object level corresponding to the current meeting server is the current object level; the sub-meeting corresponding to the second cascaded meeting and the current meeting server is the current-level sub-meeting; the first-level sub-meeting under the second cascaded meeting corresponds to the top-level object level; the meeting level of the first-level sub-meeting under the second cascaded meeting is the specified meeting level; and the current meeting level of the current-level sub-meeting is the sum of the difference between the current object level and the top-level object level and the specified meeting level. If the object level of the newly added participant is the same as the current object level, the newly added participant will be added to the current level sub-meeting. If the object level of the newly added participant is a lower level of the current object level, and there is a next-level sub-meeting of the current sub-meeting in the second cascade meeting, a second meeting modification request carrying the object information of the newly added participant is sent to the next-level meeting server by calling the meeting modification interface of the next-level meeting server corresponding to the next-level sub-meeting. The next-level meeting server then continues to perform the object addition operation as the current meeting server until the newly added participant has been added to the sub-meeting of the second cascade meeting. If the object level of the newly added participant is a lower level of the current object level, and there is no next-level sub-meeting of the current sub-meeting in the second cascaded meeting, a second meeting creation request carrying the object information of the newly added participant is sent to the next-level meeting server by calling the meeting creation interface of the next-level meeting server corresponding to the next-level sub-meeting. The next-level meeting server then creates the next-level sub-meeting and continues to perform the object addition operation as the current meeting server until the newly added participant has been added to the sub-meeting of the second cascaded meeting. The meeting level of the created next-level sub-meeting is the current meeting level plus 1.
7. The method according to claim 5, characterized in that, The step of removing the participant to be deleted from the fourth sub-meeting under the second cascade meeting includes: If the object level of the participant to be deleted is the top-level object level, the participant to be deleted will be removed from the first-level sub-meeting under the second cascade meeting, wherein the fourth sub-meeting is the first-level sub-meeting under the second cascade meeting; If the object level of the participant to be deleted is a lower-level object level of the top-level object level, the object deletion interface of the lower-level server is called sequentially, starting from the conference server corresponding to the first-level sub-conference under the second cascade conference, until the object deletion interface of the conference server corresponding to the fourth sub-conference is called, so as to delete the participant to be deleted from the fourth sub-conference.
8. The method according to claim 5, characterized in that, After removing the participant to be deleted from the fourth sub-meeting under the second cascading meeting, the method further includes: If the fourth sub-meeting does not contain any participants and there are no subordinate sub-meetings of the fourth sub-meeting in the second cascaded meeting, the meeting deletion interface of the subordinate server is called level by level, starting from the meeting server corresponding to the first-level sub-meeting under the second cascaded meeting, until the meeting deletion interface of the meeting server corresponding to the fourth sub-meeting is called, so as to delete the fourth sub-meeting.
9. The method according to claim 1, characterized in that, After creating cascading meetings hierarchically according to the object hierarchy of the first group of participants, the method further includes: Receive a first meeting deletion request, wherein the first meeting deletion request is used to request the deletion of the fifth sub-meeting in the second cascading meeting; In response to the first meeting deletion request, if the fifth sub-meeting has subordinate sub-meetings, the meeting deletion interface of the subordinate servers is called sequentially from the meeting server corresponding to the first-level sub-meeting under the second cascaded meeting until the meeting deletion interface of the meeting server corresponding to the subordinate sub-meeting of the fifth sub-meeting is called to delete the subordinate sub-meeting of the fifth sub-meeting; the meeting deletion interface of the subordinate servers is called sequentially from the meeting server corresponding to the first-level sub-meeting under the second cascaded meeting until the meeting deletion interface of the meeting server corresponding to the fifth sub-meeting is called to delete the fifth sub-meeting. If the fifth sub-meeting does not have any subordinate sub-meetings, the meeting deletion interface of the subordinate servers is called sequentially, starting from the meeting server corresponding to the first-level sub-meeting under the second cascade meeting, until the meeting deletion interface of the meeting server corresponding to the fifth sub-meeting is called, so as to delete the fifth sub-meeting.
10. A scheduling device for meeting participants, characterized in that, include: The third receiving unit is used to receive a first meeting creation request, wherein the first meeting creation request is used to request the creation of a cascade meeting, and the first meeting creation request carries a first object list, which contains object information of a group of first participants in the cascade meeting to be created; A creation unit is configured to respond to the first meeting creation request by creating cascading meetings level by level according to the object level of the first group of participants, resulting in a second cascading meeting. Each sub-meeting under the second cascading meeting includes participants of the same object level from the first group of participants. The object levels of participants in different levels of sub-meetings under the second cascading meeting are different, while the object levels of participants in sub-meetings of the same level under the second cascading meeting are the same. The meeting level of each sub-meeting represents the difference between the object level of each sub-meeting's participants and the highest-level object level in the first group of participants. The level-by-level creation of the cascading meeting involves creating different levels of sub-meetings from top to bottom based on the object level of the participants. The first-level sub-meetings under the second-level meeting correspond to the highest-level object level, and the meeting level of the first-level sub-meetings under the second-level meeting is a specified meeting level. The first receiving unit is configured to receive a target meeting notification message when the target object has entered the first sub-meeting under the first cascade meeting, wherein the target meeting notification message is used to notify the second cascade meeting associated with the target object; The comparison unit is used to compare the first meeting level of the first cascaded meeting and the second meeting level of the second cascaded meeting when the first cascaded meeting and the second cascaded meeting are different cascaded meetings. The first meeting level is used to represent the difference between the object level of the participants in the first sub-meeting and the object level of the participants in the first-level sub-meeting under the first cascaded meeting. The second meeting level is used to represent the difference between the object level of the participants in the second sub-meeting and the object level of the participants in the first-level sub-meeting under the second cascaded meeting. The second sub-meeting is a sub-meeting of the second cascaded meeting to which the target object is to participate. The first execution unit is configured to, in response to the target meeting notification message, control the target object to exit the first sub-meeting and enter the second sub-meeting when the first meeting level is lower than the second meeting level.
11. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored program, wherein the program, when executed, performs the method of any one of claims 1 to 9.
12. An electronic device comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to execute the method of any one of claims 1 to 9 through the computer program.
Citation Information
Patent Citations
Method and system for expanding H.323 signaling to realize video conference canceling
CN103747200A
Multi-level conference control system and method, and multi-point control unit (MCU)
CN106027948A