Video conference migration method, device and system, medium and electronic equipment
Through the signaling routing server, a new signaling server is allocated and user attribute information is obtained, and the video conference is rebuilt, which solves the interruption problem caused by signaling server failure, realizes the rapid recovery and efficient migration of video conferences, and improves the user experience.
Patent Information
- Application Number
- CN202411140723.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-19
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2044-08-19
AI Technical Summary
The signaling server failure in video conferencing causes interruption, how to continue to provide services and reduce the impact on the user experience.
The signaling routing server allocates a new signaling server, and obtains conference attribute information and user terminal equipment from the database server to obtain participating user attribute information, rebuilds the video conference to migrate to the new signaling server, and realizes the switching of the signaling server and Recovery of video conference.
It effectively reduces the migration time and computing storage cost of video conferencing, ensures the accuracy and user experience after migration, reduces the load on the database server, and avoids unnecessary information acquisition and storage.
Smart Images

Figure CN119276845A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to network communication technology, and in particular to a video conference migration method, a video conference migration device, a video conference migration system, a storage medium, and an electronic device. Background Art
[0002] Video conferencing is a network communication technology that allows real-time video exchanges through a network (such as a wired network or mobile Internet).
[0003] Video conferencing usually uses a signaling server to provide video conferencing services to participants. If a fault occurs on the signaling server side that provides the video conferencing service (such as a signaling service software fault, a signaling server hardware fault, or a signaling server access network fault, etc.), the video conferencing will be interrupted.
[0004] In the event of a video conference interruption, how to continue to provide video conference services to participating users and shield the impact of signaling server-side failures on the video conference as much as possible so that participating users have a better video conference experience is a technical issue worthy of attention. Summary of the invention
[0005] In order to solve the above technical problems, the present disclosure is proposed. The embodiments of the present disclosure provide a video conference migration method, device, system, storage medium and electronic device.
[0006] According to the first aspect of the embodiment of the present disclosure, a video conference migration method is provided, which is executed in a signaling server, and the method includes: receiving video conference takeover information from a signaling routing server; obtaining conference attribute information of the video conference to be taken over from a database server according to the video conference takeover information; obtaining participant attribute information from user terminal devices of migrated valid participants among original participants of the video conference to be taken over; and performing a reconstruction operation of the video conference to be taken over according to the conference attribute information and the participant attribute information of the migrated valid participants, so as to migrate the video conference to be taken over to the signaling server.
[0007] According to a second aspect of an embodiment of the present disclosure, another video conference migration method is provided, which is executed in a user terminal device, and the method includes: detecting the working status of a signaling server currently providing services for the video conference; in the case where it is detected that the working status is an abnormal working status, sending a request for a new signaling server information to a signaling routing server to request that the new signaling server take over the video conference; receiving new signaling server allocation information returned by the signaling routing server, and locally obtaining the participant user attribute information of the participant who uses the user terminal device to participate in the video conference; and sending a request for a new signaling server information to the user who takes over the video conference according to the new signaling server allocation information. The new signaling server of the conference sends a reconnection request carrying the participant user attribute information; wherein the participant user attribute information carried in the reconnection request is used to: enable the new signaling server to perform a reconstruction operation of the video conference to be taken over based on the conference attribute information of the video conference to be taken over obtained from the database server and the participant user attribute information of the user terminal devices of the migrated valid participants from the original participants of the video conference to be taken over, so as to migrate the video conference to be taken over to the new signaling server; and participate in the video conference migrated to the new signaling server according to the reconnection response returned by the new signaling server.
[0008] According to a third aspect of an embodiment of the present disclosure, a video conference migration device is provided, which is arranged in a signaling server, and the device includes: a takeover information receiving module, used to receive video conference takeover information from a signaling routing server; a first acquisition module, used to obtain conference attribute information of the video conference to be taken over from a database server according to the video conference takeover information received by the takeover information receiving module; a second acquisition module, used to obtain participant user attribute information from user terminal devices of migrated valid participants among original participants of the video conference to be taken over; a conference reconstruction module, used to perform a reconstruction operation of the video conference to be taken over according to the conference attribute information obtained by the first acquisition module and the participant user attribute information of the migrated valid participants obtained by the second acquisition module, so as to migrate the video conference to be taken over to the signaling server.
[0009] According to a fourth aspect of an embodiment of the present disclosure, a video conference migration device is provided, which is arranged in a user terminal device, and the device includes: a detection module, which is used to detect the working status of a signaling server currently providing services for the video conference; a first sending module, which is used to send a new signaling server request information for the video conference to a signaling routing server when the working status detected by the detection module is an abnormal working status, so as to request that the new signaling server take over the video conference; a local acquisition module, which is used to receive the new signaling server allocation information returned by the signaling routing server, and to obtain the participant user attribute information of the participant who uses the user terminal device to participate in the video conference from the local; a second sending module, which is used to obtain the new signaling server allocation information returned by the local acquisition module according to the new signaling server allocation information returned by the local acquisition module The signaling server allocates information and sends a reconnection request carrying the participant user attribute information obtained by the local acquisition module to the new signaling server that takes over the video conference; wherein the participant user attribute information carried in the reconnection request is used to: enable the new signaling server to perform the reconstruction operation of the video conference to be taken over based on the conference attribute information of the video conference to be taken over obtained from the database server and the participant user attribute information of the user terminal devices of the migrated valid participants from the original participants of the video conference to be taken over, so as to migrate the video conference to be taken over to the new signaling server; a conference joining module is used to participate in the video conference migrated to the new signaling server according to the reconnection response returned by the new signaling server.
[0010] According to a fifth aspect of an embodiment of the present disclosure, a video conference migration system is provided, the system comprising: a signaling routing server, a database server and at least two signaling servers; a video conference migration device is respectively provided in the two signaling servers; the signaling routing server is connected to each signaling server respectively, and an allocation module is provided in the signaling routing server, the allocation module is used to allocate a new signaling server for the video conference when the signaling routing server receives a message from a user terminal device for applying for a new signaling server for the video conference, and send video conference takeover information to the new signaling server; the database server is used to store conference attribute information of each video conference; the video conference migration device in the signaling server The device includes: a takeover information receiving module, which is used to receive video conference takeover information from a signaling routing server; a first acquisition module, which is used to obtain conference attribute information of the video conference to be taken over from a database server according to the video conference takeover information received by the takeover information receiving module; a second acquisition module, which is used to obtain conference user attribute information from user terminal devices of migrated valid conference users among the original conference users of the video conference to be taken over; and a conference reconstruction module, which is used to perform a reconstruction operation of the video conference to be taken over according to the conference attribute information obtained by the first acquisition module and the conference user attribute information of the migrated valid conference users obtained by the second acquisition module, so as to migrate the video conference to be taken over to the signaling server.
[0011] According to a sixth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided, wherein the storage medium stores a computer program, and the computer program is used to implement any of the above methods.
[0012] According to the seventh aspect of an embodiment of the present disclosure, an electronic device is provided, comprising: a processor; a memory for storing instructions executable by the processor; the processor is configured to read the executable instructions from the memory and execute the instructions to implement any of the above methods.
[0013] Based on a video conference migration method, device, system, storage medium and electronic device provided by the above-mentioned embodiments of the present disclosure, a signaling routing server is used to allocate a new signaling server to the video conference to be taken over, and the new signaling server is used to reconstruct the conference, thereby realizing the switching of the signaling server providing services for the video conference, which is conducive to recovering the video conference interrupted due to a failure on the signaling server side; by obtaining the conference attribute information of the video conference to be taken over from the database server, it is conducive to reducing the amount of information read from the database server to a large extent, especially in application scenarios with a large number of participating users, which can significantly reduce the amount of information read from the database server. The amount of information can be reduced, thereby avoiding the phenomenon that a large amount of information is read from the database server, making the video conference migration time uncontrollable; in addition, since the database server does not need to store the participant user attribute information, it is beneficial to save the storage space of the database server; by obtaining the participant user attribute information from the user terminal device of the migrated effective participant user among the original participant users, and using the obtained conference attribute information and the participant user attribute information of the migrated effective participant user to perform the conference reconstruction operation, it is not only beneficial to ensure the accuracy of the participant user attribute information of each participant of the migrated video conference, but also beneficial to avoid the time consumption caused by obtaining unnecessary participant user attribute information of the original participant users. It can be seen from this that the technical solution provided by the present disclosure ensures the accuracy of the migrated video conference as much as possible on the basis of minimizing the time cost, computing cost and storage cost of the video conference migration, which is beneficial to shielding the impact of the signaling server side failure on the video conference, and further beneficial to improving the experience of the participant users on the video conference.
[0014] The technical solution of the present disclosure is further described in detail below through the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] By describing the embodiments of the present disclosure in more detail in conjunction with the accompanying drawings, the above and other purposes, features and advantages of the present disclosure will become more apparent. The accompanying drawings are used to provide a further understanding of the embodiments of the present disclosure and constitute a part of the specification. Together with the embodiments of the present disclosure, they are used to explain the present disclosure and do not constitute a limitation of the present disclosure. In the drawings, the same reference numerals generally represent the same components or steps.
[0016] Figure 1 A schematic diagram of an application scenario of the video conference migration technology disclosed in the present invention;
[0017] Figure 2 A flowchart of an embodiment of a video conference migration method disclosed herein;
[0018] Figure 3 A flowchart of another embodiment of the video conference migration method disclosed herein;
[0019] Figure 4 A schematic diagram of information interaction for migrating a video conference with multiple participating users according to the present disclosure;
[0020] Figure 5 An information interaction sequence diagram for migrating a video conference with multiple participating users according to the present disclosure;
[0021] Figure 6 It is a structural schematic diagram of an embodiment of a video conference migration device disclosed in the present invention;
[0022] Figure 7 It is a structural schematic diagram of another embodiment of the video conference migration device disclosed in the present invention;
[0023] Figure 8 It is a structural diagram of an embodiment of a video conference migration system disclosed in the present invention;
[0024] Fig. 9 is a structural diagram of an electronic device provided by an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0025] The exemplary embodiments according to the present disclosure will be described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all the embodiments of the present disclosure, and it should be understood that the present disclosure is not limited to the exemplary embodiments described here.
[0026] It should be noted that the relative arrangement of components and steps, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present disclosure unless specifically stated otherwise.
[0027] Those skilled in the art can understand that the terms "first" and "second" in the embodiments of the present disclosure are only used to distinguish different steps, devices or modules, etc., and neither represent any specific technical meaning nor indicate the necessary logical order between them.
[0028] It should also be understood that in the embodiments of the present disclosure, “plurality” may refer to two or more than two, and “at least one” may refer to one, two, or more than two.
[0029] It should also be understood that any component, data or structure mentioned in the embodiments of the present disclosure can generally be understood as one or more, unless explicitly limited or otherwise indicated in the context.
[0030] In addition, the term "and / or" in this disclosure is only a description of the association relationship of associated objects, indicating that there may be three relationships, such as A and / or B, which can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this disclosure generally indicates that the associated objects before and after are in an "or" relationship.
[0031] It should also be understood that the description of the various embodiments in the present disclosure focuses on the differences between the various embodiments, and the same or similar aspects thereof can be referenced to each other, and for the sake of brevity, they will not be described one by one.
[0032] At the same time, it should be understood that for the convenience of description, the sizes of the various parts shown in the drawings are not drawn according to the actual proportional relationship.
[0033] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or uses.
[0034] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered as part of the specification.
[0035] It should be noted that like reference numerals and letters refer to similar items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.
[0036] The embodiments of the present disclosure can be applied to electronic devices such as terminal devices, computer systems, servers, etc., which can operate with many other general or special computing system environments or configurations. Examples of well-known terminal devices, computing systems, environments and / or configurations suitable for use with electronic devices such as terminal devices, computer systems or servers include, but are not limited to: personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, microprocessor-based systems, set-top boxes, programmable consumer electronics, network personal computers, small computer systems, large computer systems, and distributed cloud computing technology environments including any of the above systems, etc.
[0037] Electronic devices such as terminal devices, computer systems, servers, etc. can be described in the general context of computer system executable instructions (such as program modules) executed by computer systems. Generally, program modules can include routines, programs, target programs, components, logic, data structures, etc., which perform specific tasks or implement specific abstract data types. Computer systems / servers can be implemented in a distributed cloud computing environment. In a distributed cloud computing environment, tasks can be performed by remote processing devices linked through a communication network. In a distributed cloud computing environment, program modules can be located on local or remote computing system storage media including storage devices.
[0038] SUMMARY OF THE DISCLOSURE
[0039] In the process of implementing the present disclosure, the inventors discovered that in the technology of implementing video conferencing using a signaling server, when a signaling server is unable to continue to provide services for the video conference due to a failure, part or all of the video conferences that the signaling server is responsible for can be migrated to another signaling server so that the video conference can continue. In the process of video conference migration, it is necessary to consider not only the migration speed of the video conference to the new signaling server, but also the accuracy of the video conference to the new signaling server. For example, the relevant settings of the participating users on their user terminal devices should be consistent before and after the migration of the video conference. Improving the migration speed of the video conference and improving the accuracy of the video conference migration will help the participating users not perceive the migration of the video conference, thereby helping to minimize the impact of failures on the signaling server side on the video conference.
[0040] To improve the migration speed of video conferences, we should not only consider the information exchange process during the video migration process, but also consider factors such as the speed of information acquisition. To improve the accuracy of video conference migration, we should mainly consider the accuracy of the acquired information. Therefore, in the process of video conference migration, if we can set a reasonable video conference migration process and reasonably acquire information related to the migrated video conference, it will help improve the migration speed and accuracy of video conference migration, that is, it will help achieve fast and lossless migration of video conferences.
[0041] Exemplary Overview
[0042] The technical solution of video conference migration disclosed in the present invention can be applied to a variety of application scenarios. For example, the technical solution of video conference migration provided by the present invention can be applied to application scenarios where different types of user terminal devices participate in the same video conference, and can also be applied to application scenarios where user terminal devices based on different protocols participate in the same video conference. A specific example is Figure 1 shown.
[0043] Figure 1 In the example, it is assumed that the signaling server 101 is currently providing video conference services for multiple (e.g., 100) video conferences at the same time, and one of the multiple video conferences currently has N (N is an integer greater than 2, such as N is 100 or 1000) participating users, and these N participating users respectively access the video conference through their user terminal devices (i.e., Figure 1 100-1, 100-2, ... 100-N) in the video conference. Some of the user terminal devices (such as user terminal devices 100-1 and 100-2, etc.) access the signaling server 101 through a wired Internet network, and some of the user terminal devices (such as user terminal device 100-N, etc.) access the signaling server 101 through a mobile Internet network. The device types of these N user terminal devices can be different, such as these N user terminal devices can include: desktop computers, notebook computers, and mobile phones. Some of the N user terminal devices can participate in the video conference through an APP (Application) or a client, and some of the user terminal devices can participate in the video conference through a web page.
[0044] In the event that the signaling server 101 fails in software, hardware, or network and is unable to continue to provide video conferencing services for the above-mentioned multiple video conferences, all video conferences provided by the signaling server 101 may be migrated to one or more signaling servers. For example, all video conferences provided by the signaling server 101 may be migrated to the signaling server 102, or some of the video conferences provided by the signaling server 101 may be migrated to the signaling server 102, while other video conferences may be migrated to one or more other signaling servers ( Figure 1 If the video conference in which the N participating users participate is migrated to the signaling server 102, the user terminal device 100-1, the user terminal device 100-2, ... and the user terminal device 100-N access the signaling server 102, so that the N participating users continue to participate in the video conference.
[0045] Exemplary Methods
[0046] Figure 2 FIG. 1 is a flow chart of an embodiment of the video conference migration method disclosed in the present invention. Figure 2 The method shown includes: steps S200, S201, S202 and S203, and as Figure 2Each step shown is performed in a signaling server. The signaling server disclosed in the present invention refers to a server responsible for providing video conferencing services to participating users. For example, the video conferencing services provided may include: synchronous management of information related to the video conference, and management of the video conference status. The signaling server disclosed in the present invention may be located in the same hardware device as other servers, or may be independently set in a hardware device. Figure 2 Each step in is described separately.
[0047] S200: Receive video conference takeover information from a signaling routing server.
[0048] The signaling routing server disclosed in the present invention refers to a server that allocates a signaling server to a video conference. The signaling routing server can allocate a signaling server to a video conference to be held, or allocate a new signaling server to a video conference to be taken over.
[0049] The video conference takeover information in the present disclosure refers to information used to indicate that a video conference is migrated from an original signaling server to a new signaling server, that is, information used to indicate that the video conference served by the original signaling server needs to be taken over by the new signaling server.
[0050] In one example, the video conference takeover information in the present disclosure mainly includes: information used to determine the video conference to be taken over, such as the conference number of the video conference, etc. Of course, other information used to enable the new signaling server to implement video conference takeover may also be included, for example, information that can obtain the conference attribute information of the video conference to be taken over, which may specifically be the storage address of the conference attribute information of the video conference to be taken over (i.e., the address of the database server), etc. The present disclosure does not limit the specific content and protocol format of the video conference takeover information.
[0051] Optionally, the signaling routing server may send video conference takeover information to the signaling server under the triggering of the user terminal device of the user participating in the video conference. For example, when the user terminal device of any user participating in a video conference senses that the signaling server currently providing services for the video conference has failed, it sends a message to the signaling routing server for applying for a new signaling server for the video conference. The message may carry the conference number. After receiving the message, the signaling routing server performs a signaling server allocation operation (such as selecting a signaling server from multiple signaling servers that are not currently faulty as a new signaling server based on the principle of proximity, load balancing, or randomness), and sends the video conference takeover information to the new signaling server it has allocated.
[0052] In an optional example, the user terminal devices of multiple participants in a video conference may simultaneously or successively perceive that the signaling server currently providing services for the video conference has failed. Therefore, the signaling routing server may receive multiple messages for the same video conference for applying for a new signaling server for the video conference. When the signaling routing server receives the first message for applying for a new signaling server for the same video conference, it can perform a signaling server allocation operation and send video conference takeover information to the new signaling server it has allocated. If no response information from the new signaling server is received within the predetermined time period, the signaling server allocation operation can be performed again.
[0053] S201. Acquire conference attribute information of the video conference to be taken over from a database server according to the above-mentioned video conference takeover information.
[0054] The database server disclosed in the present invention refers to a server for storing information related to video conferencing. The information related to video conferencing stored in the database server can be maintained by one or more signaling servers. For example, the signaling server currently responsible for providing services for multiple video conferences can update the conference attribute information of each video conference stored in the database server regularly or irregularly during the process of each video conference. The database server can be located in the same hardware device as other servers (such as in the same hardware device as the signaling routing server, etc.), or it can be independently set in a hardware device.
[0055] In an application scenario, the database server in the present disclosure may not store the attribute information of the users participating in each video conference, which is not only conducive to reducing the computing overhead, storage overhead and time overhead of writing the attribute information of the users participating in each video conference into the database server during the video conference, but also conducive to reducing the computing overhead and time overhead of reading the attribute information of all the users participating in one or more video conferences from the read-write database server during the video conference migration process, thereby helping to avoid the phenomenon that the computing cost and time cost of interacting with the database server increase with the increase in the number of users participating in the conference; ultimately, it is not only conducive to reducing the maintenance cost of the video conference, but also conducive to effectively controlling the migration time of the video conference. In particular, when there are a large number of video conferences and / or a large number of users participating in the conference, the above effect is more obvious.
[0056] Optionally, the present disclosure can obtain the conference number of the video conference to be taken over from the video conference takeover information, and use the conference number to query the storage address of the conference attribute information of the video conference to be taken over, that is, the address of the database server, and then use the storage address to read the conference attribute information corresponding to the conference number from the database server. In addition, the present disclosure can also obtain the conference number and database server address information of the video conference to be taken over from the video conference takeover information, and use the database server address information to read the conference attribute information corresponding to the conference number from the database server.
[0057] Optionally, the conference attribute information of a video conference in the present disclosure refers to information used to describe the current status of the video conference. The conference attribute information of a video conference usually includes information decided by the network side, and information set entirely by the participating users themselves does not belong to the conference attribute information. In an example, the conference attribute information of a video conference may include: whether the video conference has ended, the lock and unlock status of the video conference, the list of current online participating users of the video conference, the maximum number of participating users allowed in the video conference, the maximum number of speakers allowed in the video conference, the current host of the video conference, the list of co-hosts of the video conference, the list of guests of the video conference, and the extended attributes of the video conference. The present disclosure does not limit the specific content of the conference attribute information.
[0058] S202: Acquire participant user attribute information from user terminal devices of migrated valid participants among original participants of the video conference to be taken over.
[0059] The user attribute information of the participant in the present disclosure refers to information that is set by the participant himself without the need for network-side decision-making of the video conference. For example, the user attribute information of the participant may include: private extended attributes of the participant and the status of the participant's speech resources (such as camera switch status, microphone switch status), etc.
[0060] The original participant in the present disclosure refers to the participant who participated in the video conference when the video conference was provided by the original signaling server. In one example, the original participant can be a participant in the current online participant user list of the video conference to be taken over stored in the database server.
[0061] In an application scenario, the present disclosure can use a preset screening condition to select all original conference participants in the current online conference participant user list as migration valid conference participants.
[0062] In another application scenario, the present disclosure may select some of the original conference participants in the current online conference participant user list as the migration valid conference participants according to a preset screening condition.
[0063] That is, the participant user attribute information acquired in step S202 may be participant user attribute information of all original participants of the video conference to be taken over, or may be participant user attribute information of some original participants of the video conference to be taken over.
[0064] Optionally, the above-preset screening condition can be set according to actual needs, for example, the response time of the user terminal device to the new signaling server allocation information returned by the signaling routing server can be set. By setting the screening condition to the response time, the present disclosure can flexibly control the migration time of the video conference, thereby facilitating the control of the time cost of the video conference migration.
[0065] Optionally, the signaling server in the present disclosure can obtain the attribute information of the participating users from the information carried in the reconnection participation request from the user terminal device of the original participating user of the video conference to be taken over. In one example, after the signaling routing server assigns a new signaling server to the video conference to be taken over, it will return the information of the new signaling server to the user terminal device that sent the message for applying for a new signaling server for the video conference. The user terminal device can send a reconnection participation request carrying the conference number of the video conference to be taken over, the participating user identifier and the participating user attribute information to the corresponding signaling server based on the information of the new signaling server. If the conference number carried in the reconnection participation request is the conference number of the video conference to be taken over, and the reception time of the reconnection participation request is If the time meets the predetermined time requirement, the present invention may treat the original participant as a valid participant for migration, and store the participant user attribute information carried in the reconnection request as the participant user attribute information of the valid participant for migration (such as caching it in the memory); if the conference number carried in the reconnection request is the conference number of the video conference to be taken over, and the reception time of the reconnection request does not meet the predetermined time requirement (such as timeout reception), the present invention may treat the original participant as an invalid participant for migration, and ignore the participant user attribute information carried in the reconnection request.
[0066] Since the user terminal device may not be able to send a reconnection request in time or may not send a reconnection request due to various reasons (such as network problems of the user terminal device or the participating user exiting the video conference, etc.), a reconnection request that meets the scheduled time requirements can clearly indicate that the original participating user can continue to participate normally in the video conference after the migration. However, the original participating user who cannot send a reconnection request in time or does not send a reconnection request may have doubts about whether he can continue to participate normally in the video conference after the migration. By excluding such original participating users from the effective migrated participating users, it is beneficial to avoid the cost of obtaining the participating user attribute information of the original participating users who did not promptly express their participation in the video conference after the migration during the video conference migration process. This is beneficial not only to ensure the accuracy of the obtained participating user attribute information, but also to effectively control the time for obtaining the participating user attribute information, thereby improving the accuracy of the video conference migration and controlling the time cost of the video conference migration.
[0067] Optionally, for the migration of invalid participating users, the present disclosure may determine the participating user attribute information of the migration of invalid participating users according to the preset processing method for new participating users. For example, for the migration of invalid participating users, the present disclosure may deem that the participating user has no participating user attribute information (such as the participating user attribute information of the participating user is empty). For another example, for the migration of invalid participating users, the default participating user attribute information may be used as the participating user attribute information of the migration of invalid participating users and stored (such as local cache). The present disclosure may also add the participating user identifier of the migration of invalid participating users to the current online participating user list, so that the migration of invalid participating users becomes a participating user of the video conference after migration, and send conference attribute information to the participating user. In the application scenario where the default participating user attribute information is used as the participating user attribute information of the migration of invalid participating users, the present disclosure may send conference attribute information and default participating user attribute information to the participating user, and may also broadcast the participating user attribute information to other participating users.
[0068] The present invention utilizes a preset processing method for new participating users to determine the participating user attribute information of migrated invalid participating users. This can enable the original participating users who are unable to send reconnection requests in time to participate in the migrated video conference normally without changing the existing video conference processing flow as much as possible, thereby helping to further avoid the impact of video conference migration on the user experience of participants.
[0069] Optionally, steps S201 and S202 of the present disclosure may be parallel steps or may be executed in a sequential order.
[0070] S203: Perform a reconstruction operation of the video conference to be taken over according to the conference attribute information and the attribute information of the participating users of the migrated valid participating users, so as to migrate the video conference to be taken over to the signaling server executing the steps of the method.
[0071] The reconstruction operation of executing the video conference to be taken over in the present disclosure may include: when obtaining conference attribute information, it can be determined whether there is at least one original participating user in the current list of online participating users in the conference attribute information; if there is no original participating user in the current list of online participating users, the video conference to be taken over can be set to an end state, thereby avoiding unnecessary migration of video conferences; if there is at least one original participating user in the current list of online participating users, the video conference to be taken over can be set to a conference loading state, waiting for the participating users to join.
[0072] After setting the video conference to be taken over to the conference loading state, the present disclosure can determine whether the currently acquired attribute information of the participating users meets the predetermined conditions. If the predetermined conditions are met, the conference loading state of the video conference to be taken over is terminated, and the video conference to be taken over is set to the normal conference state to avoid the adverse effects caused by the long migration time of the video conference making the participating users unable to attend the meeting normally for a long time.
[0073] The preset conditions of the present disclosure can be set according to actual needs. For example, the preset conditions may include: a condition based on a timeout and a condition based on the number of original participating users in the participating user list. A specific example is as follows:
[0074] After the video conference to be taken over is set to the conference loading state, a timer is started for a preset loading time (such as 5 seconds or 7 seconds, etc.), and if the timer has not timed out, it is continuously determined whether reconnection requests from all original participating users in the current online participating user list have been received. If the timer has not timed out, and it is determined that reconnection requests from all original participating users have been received, the conference loading state of the video conference to be taken over is terminated, and the video conference to be taken over is in a normal conference state. If only reconnection requests from some of the original participating users in the current online participating user list are received, but the timer has timed out, the conference loading state of the video conference to be taken over is terminated, and the video conference to be taken over is in a normal conference state. The present disclosure judges whether reconnection requests from all original participating users in the current online participating user list have been received, and enters the normal conference state when reconnection requests from all original participating users are received, which is conducive to shortening the migration time of the video conference to be taken over as much as possible. By timing the preset receiving time, the maximum duration for the video conference to be taken over to switch from the conference loading state to the conference normal state can be controlled, which helps to avoid the phenomenon that some original participating users fail to send reconnection requests in time, thus affecting the migration speed of the video conference.
[0075] Optionally, when the above-mentioned timer times out, if only reconnection requests from some of the original participants in the current online participant user list are received, then for the participants in the current online participant user list who have not received the reconnection request (hereinafter referred to as pending participants), the present disclosure can delete these pending participants from the current online participant user list. If the original participant is unable to send a reconnection request in time due to exiting the conference or abnormalities in the user terminal device, the present disclosure cannot determine whether these pending participants will continue to participate in the migrated video conference as soon as possible. Therefore, by deleting these pending participants from the current online participant user list, it can be ensured that the participants in the current online participant user list are valid participants who can continue to participate in the migrated video conference as soon as possible, which is conducive to ensuring the accuracy of the participant user list and avoiding the phenomenon that the participant users listed in the migrated video conference are erroneous (such as participants who exited the video conference during the migration process, or participants who cannot access the new signaling server in time, etc.).
[0076] In the present disclosure, placing the video conference to be taken over in a normal conference state can be specifically as follows: the state of the video conference to be taken over is changed from a conference loading state to a normal conference state, and after deleting the original participating users in the current online participating user list who have not sent a request to reconnect to the conference, the conference attribute information and the participating user attribute information are respectively sent to all current participating users in the current online participating user list. For example, the conference attribute information and the participating user attribute information of each participating user in the current online participating user list are both carried in the reconnection conference response, and the reconnection conference response is respectively sent to all current participating users. In addition, the present disclosure can also synchronize the normal conference state, the current online participating user list and other information to the database server after deleting the original participating users in the current online participating user list who have not sent a request to reconnect to the conference (the participating user attribute information does not need to be synchronized to the database server). By modifying the conference status and sending conference attribute information and participant user attribute information based on the current online participant user list after the deletion operation, the migration of the video conference is successfully completed within a controllable time range, and the participant user attribute information and other settings of each participant user in the migrated video conference are accurately set, avoiding setting differences caused by video conference migration.
[0077] Figure 3 FIG. 1 is a flow chart of another embodiment of the video conference migration method disclosed in the present invention. Figure 3 The method shown includes: steps S300, S301, S302 and S303, and as Figure 3 Each step shown is performed in a user terminal device. The user terminal device of the present disclosure may be specifically an electronic device such as a desktop computer, a notebook computer, a tablet computer or a smart phone. Figure 3 Each step in is described separately.
[0078] S300: Detect the working status of the signaling server currently providing services for the video conference.
[0079] This step is used to trigger the migration of the video conference. The working state of the signaling server in the present disclosure mainly includes: normal working state and abnormal working state. The user terminal device of the participating user uses this step to sense whether the signaling server currently providing the video conference service for it has a fault.
[0080] When the signaling server is unable to exchange information with the user terminal devices of the users participating in the conference due to a malfunction, the detection result of this step is that the signaling server is in an abnormal working state. When the signaling server is able to exchange information with the user terminal devices of the users participating in the conference, the detection result of this step is that the signaling server is in a normal working state.
[0081] In one example, the present disclosure can exchange information with a signaling server through a heartbeat mechanism to detect the working status of the signaling server. For example, a user terminal device of a participating user periodically sends a heartbeat message to a signaling server currently providing services for a video conference, and waits for a heartbeat response message returned by the signaling server. If the heartbeat response message returned by the signaling server is not received within a predetermined time range, the detection result is that the signaling server is in an abnormal working state. If the heartbeat response message returned by the signaling server is received within a predetermined time range, the detection result is that the signaling server is in a normal working state.
[0082] S301. When the detected working state is an abnormal working state, send a request for a new signaling server to the signaling routing server to request the new signaling server to take over the video conference.
[0083] The request for new signaling server information in the present disclosure is mainly used to trigger the migration of video conferences. Specifically, the signaling routing server is triggered to perform a signaling server allocation operation (such as selecting a signaling server from multiple signaling servers that are not currently faulty as a new signaling server based on the principle of proximity, load balancing, or randomness), and sending video conference takeover information to the new signaling server allocated to it, thereby promoting the execution of the video conference migration process. The request for new signaling server information mainly includes: the conference number of the video conference. The message that carries the request for new signaling server information can be called a message for applying for a new signaling server for the video conference. In addition, after allocating the new signaling server, the signaling routing server should also return the new signaling server allocation information to the user terminal device that sent the message for applying for a new signaling server for the video conference to notify the user terminal device that the video conference has been migrated to the new signaling server.
[0084] S302: Receive new signaling server allocation information returned by the signaling routing server, and obtain locally the participant attribute information of the participant who uses the user terminal device to participate in the video conference.
[0085] The new signaling server allocation information in the present disclosure mainly includes: conference number, and new signaling server address information, etc. The participant user attribute information in the present disclosure refers to information that does not require network-side decision-making for video conferencing and is set entirely by the participant users themselves. For example, the participant user attribute information may include: private extended attributes of the participant user and the status of the participant user's speaking resources (such as camera switch status, microphone switch status), etc. Since the user terminal device locally stores the participant user attribute information, the present disclosure can quickly obtain the participant user attribute information currently set by the participant user.
[0086] S303: Send a reconnection request carrying the attribute information of the participating users to the new signaling server that takes over the video conference according to the received new signaling server allocation information.
[0087] The present disclosure should send a reconnection request to the new signaling server in a timely manner after receiving the new signaling server allocation information. The reconnection request in the present disclosure is used to enable the original participants of the video conference to join the video conference that has been migrated to the new signaling server. In an example, the present disclosure can carry the conference number, participant user identification and participant user attribute information of the video conference to be taken over in the reconnection request, and send the reconnection request to the new signaling server according to the new signaling server address in the new signaling server allocation information.
[0088] The participant user attribute information carried in the reconnection request of the present disclosure is used to enable the new signaling server to perform the reconstruction operation of the video conference to be taken over based on the conference attribute information of the video conference to be taken over obtained from the database server and the participant user attribute information of the user terminal device of the migrated valid participant from the original participant of the video conference to be taken over, so as to migrate the video conference to be taken over to the new signaling server. The method of using the participant user attribute information carried in the reconnection request can be referred to the above-mentioned Figure 2 Description of the relevant steps in .
[0089] S304. Participate in the video conference migrated to the new signaling server according to the reconnection response returned by the new signaling server.
[0090] The reconnection response in the present disclosure is mainly used to indicate whether the participating user has been successfully added to the migrated video conference. In an example, the reconnection response may include: conference number, current online participating user list, and pre-migration conference mode, etc. In the present disclosure, according to the reconnection response returned by the new signaling server, participating in the video conference migrated to the new signaling server can specifically include: obtaining the conference number, current user list, pre-migration conference mode and other information carried in the reconnection response, and performing subsequent operations on the above information according to the existing video conference processing flow.
[0091] The present disclosure can timely trigger the migration of the video conference when the signaling server fails by detecting the working status of the signaling server providing the video conference service through the user terminal device. The user terminal device can actively report the locally stored participant user attribute information to the new signaling server, which is conducive to avoiding the phenomenon that the new signaling server reads a large amount of participant user attribute information from the database server, and makes the participant user attribute information obtained by the new signaling server the latest participant user attribute information. In this way, when the new signaling server uses the obtained conference attribute information and the participant user attribute information of the migrated valid participant user to perform the conference reconstruction operation, it is conducive to ensuring the accuracy of the participant user attribute information of each participant user of the migrated video conference, and is conducive to ensuring that the migration time of the video conference is effectively controlled. It can be seen from this that the present disclosure has formulated a video conference migration process for the user terminal device side of the participant user. The process cooperates with the video conference migration process on the network side, and can quickly and accurately realize the migration of the video conference, thereby helping to improve the participant user's experience of the video conference.
[0092] The above embodiment has a good video conference migration effect. The present disclosure can also formulate a video conference migration process different from the above embodiment for the network side (i.e., the signaling routing server and the signaling server side) and the user terminal device side. Although it is not as good as the video conference migration effect of the above embodiment, it is also a feasible video conference migration process, which can effectively solve the problem of video conference interruption caused by signaling server failure. Figure 4 and Figure 5 The video conference migration process is described.
[0093] Figure 4 Only two participating users of the video conference are shown. The two participating users respectively use user terminal device 400 - 1 and user terminal device 400 - 2 to participate in the video conference.
[0094] The signaling server 401-1 is set to be the signaling server assigned by the signaling routing server 402 to provide video conference services for the video conference when the video conference is held. If the signaling server 401-1 cannot continue to provide video conference services to the participating users due to software or hardware failures during the video conference, the signaling routing server 402 should assign a new signaling server for the video conference, such as assigning the signaling server 401-2 to continue to provide video conference services for the video conference, thereby completing the migration of the video conference. The information interaction involved in the above process includes: Figure 4 1, 2, 3, 4, 5, and 6 of .
[0095] Specifically, Figure 41 in the figure indicates that the user terminal device 400-1 exchanges information with the signaling server 401-1 through the heartbeat mechanism; Figure 4 2 in the figure indicates that the signaling server 401-1 writes the information related to the video conference (such as conference attribute information and participant user attribute information, etc.) into the information interaction in the database server 403; Figure 4 3 indicates information interaction in which the user terminal device 400-1 determines that the signaling server 401-1 fails through the heartbeat mechanism and requests the signaling routing server 402 to allocate a new signaling server; Figure 4 4 in the figure indicates that the signaling routing server 402 uses the signaling server 401-2 as a new signaling server for information exchange; Figure 4 5 indicates information interaction in which the signaling server 401 - 2 reads information related to the video conference from the database server 403 ; Figure 4 6 indicates that the user terminal device 400-1 rejoins the video conference through the information exchange of the signaling server 401-2. The user terminal device 400-2 can also rejoin the video conference through the information exchange with the signaling routing server 402 and the signaling server 401-2.
[0096] Figure 4 A timing diagram of information interaction is shown in Figure 5 shown.
[0097] Figure 5 In step 50, during the video conference, the signaling server 401-1 sends information related to the video conference (such as conference attribute information and participant user attribute information, etc.) to the database server 403, and the database server 403 stores the received information related to the video conference.
[0098] Step 51 - 1 : The user terminal device 400 - 1 sends a heartbeat message to the signaling server 401 - 1 according to the heartbeat mechanism.
[0099] Step 51 - 2 : After receiving the heartbeat message, the signaling server 401 - 1 returns a heartbeat response message to the user terminal device 400 - 1 .
[0100] Assuming that the user terminal device 400 - 1 does not receive a heartbeat response message returned by the signaling server 401 - 1 within a predetermined time range after sending the heartbeat message, go to step 52 .
[0101] Step 52: The user terminal device 400-1 sends a message to the signaling routing server 402 for applying for a new signaling server for the video conference.
[0102] Step 53: After receiving the message, signaling routing server 402 allocates a new signaling server, such as signaling server 401-2, to the video conference, and sends a message to signaling server 401-2 to notify signaling server 401-2 to become the new signaling server of the video conference.
[0103] Step 54 - 1 : After receiving the message, the signaling server 401 - 2 sends a request for reading information related to the video conference to the database server 403 .
[0104] Step 54 - 2 : After receiving the request, the database server 403 returns a message carrying information related to the video conference to the signaling server 401 - 2 .
[0105] Step 55: After notifying the signaling server 401-2 to become the new signaling server, the signaling routing server 402 may send a message to the user terminal device 400-1 for providing the new signaling server information to the user terminal device.
[0106] Step 56-1: After receiving the message sent by the signaling routing server 402, the user terminal device 400-1 sends a reconnection request carrying the conference number of the video conference and the participant user ID to the signaling server 401-2. The participant user ID is the unique ID of the participant user in the video conference.
[0107] Step 56 - 2 , after receiving the request to reconnect to the conference, the signaling server 401 - 2 adds the user terminal device 400 - 1 to the video conference, and returns a conference response message carrying the relevant information recovered from the database server 403 to the user terminal device 400 - 1 .
[0108] Since in the above-mentioned video conference migration process, all the information related to the video conference, including the user status information, is recovered from the database server 403, therefore, the amount of information recovered by the signaling server 401-2 from the database server 403 is closely related to the number of the participating users of the video conference, and the number of participating users is closely related to the efficiency of the video conference migration. In addition, the participating user attribute information in the information related to the video conference is usually set by the participating users themselves, and may not be decided by the signaling server. The signaling server will write the participating user attribute information set by the participating users themselves into the database server 403 and broadcast it to other participating users. Therefore, the user status information stored in the database server 403 may be inconsistent with the participating user attribute information set by the participating users themselves before the video conference migration due to factors such as update delay, so that the participating user attribute information carried in the participating user response message returned by the signaling server 401-2 to the user terminal device 400-1 is lagging, and the participating users can reset their attribute information.
[0109] Since the participant user attribute information is determined by the participant user himself, the participant user attribute information stored in the user terminal device 400-1 is often more accurate than that in the database server 403. If the participant user attribute information restored from the database server 403 is used to reconstruct the video conference during the video conference migration process, the video conference is more accurate than that in the database server 403. Figure 2 and Figure 3 Compared with the video conference migration process shown in the figure, the migration speed of the video conference will be reduced and the migration reliability of the video conference will be reduced.
[0110] Exemplary Devices
[0111] Figure 6 The structure diagram of an embodiment of a video conference migration device of the present disclosure is shown in FIG. The device of the embodiment is set in a signaling server, and the device of the embodiment can be used to implement the corresponding method embodiment of the present disclosure.
[0112] like Figure 6 The device shown includes: a takeover information receiving module 600, a first acquisition module 601, a second acquisition module 602 and a conference reconstruction module 603. The device may also optionally include: a new conference user processing module 604. The modules included in the device are described below.
[0113] The takeover information receiving module 600 is mainly used to receive the video conference takeover information from the signaling routing server. The specific content of the video conference takeover information and the triggering conditions for the takeover information receiving module 600 to receive the video conference takeover information can be found in the above Figure 2 The relevant description of S200 will not be described in detail here.
[0114] The first acquisition module 601 is mainly used to obtain the conference attribute information of the video conference to be taken over from the database server according to the video conference takeover information received by the takeover information receiving module 600. The specific process of the first acquisition module 600 obtaining the conference attribute information from the database server and the specific content of the conference attribute information can be found in the above Figure 2 The relevant description of S201 will not be described in detail here.
[0115] The second acquisition module 602 is mainly used to obtain the attribute information of the participating users from the user terminal devices of the migrated valid participating users among the original participating users of the video conference to be taken over. Optionally, the second acquisition module 602 includes: a first submodule 6021, a second submodule 6022 and a third submodule 6023. The first submodule 6021 is mainly used to receive a reconnection request from the user terminal device of the participating user of the video conference to be taken over. The second submodule 6022 is mainly used to use the participating user attribute information carried in the reconnection request as the participating user attribute information of the migrated valid participating users and perform a write operation when it is determined that the conference number carried in the reconnection request received by the first submodule 6021 is the conference number of the video conference to be taken over, and the receiving time of the reconnection request meets the predetermined time requirement. The third submodule 6023 is mainly used to store the participating user attribute information written by the second submodule 6022. The specific operations performed by the first submodule 6021, the second submodule 6022 and the third submodule 6023 can be referred to above Figure 2 The relevant description of S202 will not be described in detail here.
[0116] The conference reconstruction module 603 is mainly used to perform the reconstruction operation of the video conference to be taken over according to the conference attribute information obtained by the first acquisition module 601 and the participant user attribute information of the migrated valid participant users obtained by the second acquisition module 602, so as to migrate the video conference to be taken over to the new signaling server. Optionally, the conference reconstruction module 603 may include: a fourth submodule 6031 and a fifth submodule 6032. The fourth submodule 6031 is mainly used to put the video conference to be taken over into a conference loading state when it is determined that there is at least one original participant user in the participant user list in the conference attribute information obtained by the first acquisition module 601. The fifth submodule 6032 is mainly used to put the video conference to be taken over into a normal conference state when the participant user attribute information of the migrated valid participant users stored in the third submodule 6023 meets the predetermined conditions.
[0117] In one example, the fifth submodule 6032 determines that the third submodule 6023 stores the participant user attribute information of all original participant users in the participant user list, and the loading timer set for the conference loading state has not timed out, and the video conference to be taken over is in the normal conference state. For example, the fifth submodule 6032 sends the conference attribute information and the participant user attribute information of the migrated valid participant users currently stored in the third submodule 6023 to all the migrated valid participant users in the participant user list, and changes the state of the video conference to be taken over from the conference loading state to the normal conference state.
[0118] In another example, the fifth submodule 6032, when it is determined that the third submodule 6023 stores the participant user attribute information of some original participant users in the participant user list, and the loading duration timer set for the conference loading state has timed out, places the video conference to be taken over in the normal conference state. For example, in the case where the loading duration timer set for the conference loading state has timed out, the fifth submodule 6032 can delete the original participant users who have not received the reconnection request from the participant user list, and after the deletion, send the conference attribute information and the participant user attribute information of the migrated valid participant users currently stored in the third submodule 6023 to all migrated valid participant users in the participant user list, and change the state of the video conference to be taken over from the conference loading state to the normal conference state.
[0119] The specific operations performed by the fourth submodule 6031 and the fifth submodule 6032 can be referred to above. Figure 2 The relevant description of S203 will not be described in detail here.
[0120] The new conference user processing module 604 is mainly used to determine, when the second submodule 6022 determines that the conference number carried in the reconnection conference request received by the first submodule 6021 is the conference number of the video conference to be taken over, and the reception time of the reconnection conference request does not meet the predetermined time requirement, that the conference user who sent the reconnection conference request that does not meet the predetermined time requirement is regarded as an invalid conference user for migration, and the conference user attribute information of the invalid conference user for migration is determined according to the preset processing method for the new conference user. Optionally, the new conference user processing module 604 may consider that the conference user attribute information of the invalid conference user for migration is empty. Optionally, the new conference user processing module 604 may also set the conference user attribute information to the default conference user attribute information. In this application scenario, the new conference user processing module 604 may write the default conference user attribute information of the invalid conference user for migration into the cache of the third submodule 6023. The specific operations performed by the new conference user processing module 604 can refer to the above Figure 2 The relevant description of S202 will not be described in detail here.
[0121] Figure 7 7 is a schematic diagram of the structure of another embodiment of the video conference migration device of the present disclosure. The device of this embodiment is set in the user terminal device 710, and the device of this embodiment can be used to implement the corresponding method embodiment of the present disclosure.
[0122] like Figure 7 The device shown includes: a detection module 700, a first sending module 701, a local acquisition module 702, a second sending module 703 and a conference joining module 704. The modules included in the device are described below.
[0123] The detection module 700 is mainly used to detect the working status of the signaling server 720. The signaling server 720 currently provides services for a video conference, and the participating user is currently using the user terminal device 710 to participate in the video conference. The specific operations performed by the detection module 700 can be referred to above. Figure 3 The relevant description of S300 will not be described in detail here.
[0124] The first sending module 701 is mainly used to send a request for a new signaling server for the video conference to the signaling routing server 730 when the working state detected by the detection module 700 is an abnormal working state, so as to request the new signaling server to take over the video conference. The specific operations performed by the first sending module 701 can be referred to in the above Figure 3 The relevant description of S301 will not be described in detail here.
[0125] The local acquisition module 702 is mainly used to obtain the user attribute information of the participant who uses the user terminal device 710 to participate in the video conference from the local when the user terminal device 710 receives the new signaling server allocation information returned by the signaling routing server 730. The specific operations performed by the local acquisition module 702 can be referred to in the above Figure 3 The relevant description of S302 will not be described in detail here.
[0126] The second sending module 703 is mainly used to send a signal to the new signaling server (i.e., the signaling server that takes over the video conference) according to the new signaling server allocation information received by the user terminal device 710. Figure 7The signaling server 740 in the local acquisition module 702 sends a reconnection request carrying the participant user attribute information obtained by the local acquisition module 702. The participant user attribute information carried in the reconnection request is used to enable the new signaling server to perform a reconstruction operation of the video conference to be taken over based on the conference attribute information of the video conference to be taken over obtained from the database server and the participant user attribute information of the user terminal devices of the migrated valid participant users from the original participant users of the video conference to be taken over, so as to migrate the video conference to be taken over to the new signaling server. The specific operations performed by the second sending module 703 can be referred to the above Figure 3 The relevant description of S303 will not be described in detail here.
[0127] The conference joining module 704 is mainly used to participate in the video conference migrated to the signaling server 740 according to the reconnection response returned by the new signaling server (ie, the signaling server 740). The specific operations performed by the conference joining module 704 can be seen in the above Figure 3 The relevant description of S304 will not be described in detail here.
[0128] Exemplary Systems
[0129] Figure 8 FIG. 8 is a schematic diagram of the structure of an embodiment of the video conference migration system disclosed in the present invention. The system of this embodiment includes: a signaling routing server 800, a database server 801 and at least two signaling servers, such as Figure 8 Signaling server 8021 and signaling server 8022.
[0130] The signaling routing server 800 is connected to each signaling server 802 respectively. An allocation module 8001 is set in the signaling routing server 800. The allocation module 8001 is mainly used to allocate a new signaling server (such as signaling server 8022) for the video conference when the signaling routing server 800 receives a message from a user terminal device for applying for a new signaling server for the video conference, and send video conference takeover information to the new signaling server (such as signaling server 8022).
[0131] The database server 801 is used to store conference attribute information of each video conference.
[0132] The signaling server 8021 and the signaling server 8022 are respectively provided with a video conference migration device, and the video conference migration device includes: a takeover information receiving module 600, a first acquisition module 601, a second acquisition module 602, and a conference reconstruction module 603. The operations performed by the takeover information receiving module 600, the first acquisition module 601, the second acquisition module 602, and the conference reconstruction module 603, the submodules contained in each, and the operations performed by each submodule are as follows: Figure 6 The description in will not be described in detail here.
[0133] Exemplary Electronic Devices
[0134] Reference below Fig. 9 An electronic device according to an embodiment of the present disclosure is described. Fig. 9 1 shows a block diagram of an electronic device according to an embodiment of the present disclosure. Fig. 9 As shown, the electronic device 91 includes one or more processors 911 and a memory 912 .
[0135] The processor 911 may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device 91 to perform desired functions.
[0136] The memory 912 may include one or more computer program products, and the computer program product may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory, for example, may include: random access memory (RAM) and / or cache memory (cache), etc. The non-volatile memory, for example, may include: read-only memory (ROM), hard disk, and flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 911 may execute the program instructions to implement the video conference migration method of each embodiment of the present disclosure described above and / or other desired functions.
[0137] In one example, the electronic device 91 may also include: an input device 913 and an output device 914, etc., which are interconnected through a bus system and / or other forms of connection mechanisms (not shown). In addition, the input device 913 may also include, for example, a keyboard, a mouse, etc. The output device 914 may output various information to the outside. The output device 914 may include, for example, a display, a speaker, a printer, a communication network and a remote output device connected thereto, etc.
[0138] Of course, to simplify, Fig. 9Only some of the components related to the present disclosure in the electronic device 91 are shown, and components such as a bus, an input / output interface, etc. are omitted. In addition, according to specific application situations, the electronic device 91 may also include any other appropriate components.
[0139] Exemplary computer program products and computer-readable storage media
[0140] In addition to the above-mentioned methods and devices, an embodiment of the present disclosure may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the steps of the video conference migration method according to various embodiments of the present disclosure described in the above-mentioned "Exemplary Method" section of this specification.
[0141] The computer program product may be written in any combination of one or more programming languages to write program code for performing the operations of the disclosed embodiments, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0142] In addition, an embodiment of the present disclosure may also be a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, enables the processor to execute the steps of the video conference migration method according to various embodiments of the present disclosure described in the above “Exemplary Method” section of this specification.
[0143] The computer readable storage medium can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can include, for example, but is not limited to, a system, device or device of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples (non-exhaustive enumeration) of readable storage media can include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0144] The basic principles of the present disclosure are described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, effects, etc. mentioned in the present disclosure are only examples and not limitations, and it cannot be considered that these advantages, strengths, effects, etc. must be possessed by each embodiment of the present disclosure. In addition, the specific details disclosed above are only for the purpose of illustration and ease of understanding, rather than limitation, and the above details do not limit the present disclosure to the necessity of adopting the above specific details to be implemented.
[0145] Each embodiment in this specification is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the system embodiment, since it basically corresponds to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0146] The block diagrams of the devices, apparatuses, equipment, and systems involved in the present disclosure are intended only as illustrative examples and are not intended to require or imply that they must be connected, arranged, and configured in the manner shown in the block diagrams. As will be appreciated by those skilled in the art, these devices, apparatuses, equipment, and systems may be connected, arranged, and configured in any manner. Words such as "include," "comprise," "have," and the like are open words, meaning "including but not limited to," and may be used interchangeably therewith. The words "or" and "and" used herein refer to the words "and / or," and may be used interchangeably therewith, unless the context clearly indicates otherwise. The word "such as" used herein refers to the phrase "such as but not limited to," and may be used interchangeably therewith.
[0147] The method and apparatus of the present disclosure may be implemented in many ways. For example, the method and apparatus of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above order of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above, unless otherwise specifically stated. In addition, in some embodiments, the present disclosure may also be implemented as a program recorded in a recording medium, which includes machine-readable instructions for implementing the method according to the present disclosure. Therefore, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.
[0148] It should also be noted that in the apparatus, device and method of the present disclosure, each component or each step can be decomposed and / or recombined. Such decomposition and / or recombination should be regarded as equivalent solutions of the present disclosure.
[0149] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects, etc., will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the aspects shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.
[0150] The above description has been given for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present disclosure to the forms disclosed herein. Although multiple example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, changes, additions and sub-combinations thereof.
Claims
1. A video conference migration method, the method being executed in a signaling server, and the method comprising: Receiving video conference takeover information from a signaling routing server; According to the video conference takeover information, obtaining conference attribute information of the video conference to be taken over from the database server; Acquire the participant user attribute information from the user terminal device of the migrated valid participant user among the original participant users of the video conference to be taken over; According to the conference attribute information and the participant user attribute information of the migrated valid participant users, a reconstruction operation of the video conference to be taken over is performed to migrate the video conference to be taken over to the signaling server.
2. The method according to claim 1, wherein: The acquiring of the participant user attribute information from the user terminal device of the migrated valid participant user among the original participant users of the video conference to be taken over includes: Receiving a request for reconnection from a user terminal device of a participant of the video conference to be taken over; When the conference number carried in the reconnection request is the conference number of the video conference to be taken over, and the reception time of the reconnection request meets the predetermined time requirement, the participant user attribute information carried in the reconnection request is stored as the participant user attribute information of the migrated valid participant user.
3. The method according to claim 2, wherein: The method further comprises: When the conference number carried in the reconnection conference request is the conference number of the video conference to be taken over, and the reception time of the reconnection conference request does not meet the scheduled time requirement, the participating user who sent the reconnection conference request that does not meet the scheduled time requirement will be regarded as an invalid participating user for migration, and the participating user attribute information of the invalid participating user for migration will be determined according to the preset processing method for new participating users.
4. The method according to claim 2 or 3, wherein: The performing the reconstruction operation of the video conference to be taken over according to the conference attribute information and the participant user attribute information of the migrated valid participant user includes: When it is determined that there is at least one original participant in the participant user list in the conference attribute information, the video conference to be taken over is placed in a conference loading state; When the acquired attribute information of the validly migrated conference participants meets a predetermined condition, the video conference to be taken over is placed in a normal conference state.
5. The method according to claim 4, wherein: When the acquired attribute information of the valid participant in the migration satisfies a predetermined condition, the video conference to be taken over is placed in a normal conference state, including: Receiving reconnection requests from all original participants in the participant user list, and the loading timer set for the conference loading state has not timed out, placing the video conference to be taken over in a normal conference state; and Reconnection requests from some of the original participating users in the participating user list are received, and the loading timer set for the conference loading state times out, and the video conference to be taken over is placed in a normal conference state.
6. The method according to claim 5, wherein: The step of placing the video conference to be taken over in a normal conference state when the acquired attribute information of the valid conference participants satisfies a predetermined condition further includes: When the loading duration timer set for the conference loading state times out, the original conference participant who has not received the conference reconnection request is deleted from the conference participant user list.
7. The method according to claim 4, 5 or 6, wherein: The step of placing the video conference to be taken over in a normal conference state includes: The conference attribute information and the conference user attribute information of the migrated valid conference participants are respectively sent to all the migrated valid conference participants in the conference user list, and the state of the video conference to be taken over is changed from the conference loading state to the conference normal state.
8. A video conference migration method, the method being executed in a user terminal device, and the method comprising: Detect the working status of the signaling server currently providing services for the video conference; When it is detected that the working state is an abnormal working state, sending a request for a new signaling server information to the signaling routing server to request that the new signaling server take over the video conference; Receiving new signaling server allocation information returned by the signaling routing server, and locally acquiring participant user attribute information of a participant who uses the user terminal device to participate in the video conference; Sending a reconnection request carrying the participant user attribute information to a new signaling server that takes over the video conference according to the new signaling server allocation information; wherein the participant user attribute information carried in the reconnection request is used to: enable the new signaling server to perform a reconstruction operation of the video conference to be taken over based on the conference attribute information of the video conference to be taken over obtained from the database server and the participant user attribute information of the user terminal devices of the migrated valid participant users from the original participant users of the video conference to be taken over, so as to migrate the video conference to be taken over to the new signaling server; Participate in the video conference migrated to the new signaling server according to the reconnection response returned by the new signaling server.
9. A video conference migration device, the device being arranged in a signaling server, the device comprising: A takeover information receiving module, used for receiving video conference takeover information from a signaling routing server; A first acquisition module, configured to acquire conference attribute information of the video conference to be taken over from a database server according to the video conference takeover information received by the takeover information receiving module; A second acquisition module is used to acquire the attribute information of the participating users from the user terminal devices of the migrated valid participating users among the original participating users of the video conference to be taken over; A conference reconstruction module is used to perform the reconstruction operation of the video conference to be taken over according to the conference attribute information obtained by the first acquisition module and the participant attribute information of the migrated valid participant obtained by the second acquisition module, so as to migrate the video conference to be taken over to the signaling server.
10. The device according to claim 9, wherein: The second acquisition module includes: The first submodule is used to receive a request for reconnecting to the conference from a user terminal device of a participant of the video conference to be taken over; The second submodule is used to use the participant user attribute information carried in the reconnection request as the participant user attribute information of the migrated valid participant user, and perform a write operation when it is determined that the conference number carried in the reconnection request received by the first submodule is the conference number of the video conference to be taken over, and the reception time of the reconnection request meets the predetermined time requirement; The third submodule is used to store the attribute information of the participating users written by the second submodule.
11. The device according to claim 10, wherein: The device also includes: A new conference participant processing module is used to, when the second submodule determines that the conference number carried in the reconnection conference request received by the first submodule is the conference number of the video conference to be taken over, and the reception time of the reconnection conference request does not meet the scheduled time requirement, treat the conference participant who sent the reconnection conference request that does not meet the scheduled time requirement as an invalid conference participant for migration, and determine the conference participant attribute information of the invalid conference participant according to the preset processing method for the new conference participant.
12. The device according to claim 10 or 11, wherein: The conference reconstruction module includes: A fourth submodule is used to put the video conference to be taken over into a conference loading state when it is determined that there is at least one original conference participant in the conference participant user list in the conference attribute information acquired by the first acquisition module; The fifth submodule is used to put the video conference to be taken over into a normal conference state when the participant user attribute information of the migrated valid participant users stored in the third submodule meets a predetermined condition.
13. The device according to claim 12, wherein: The fifth submodule is specifically used for: If it is determined that the third submodule stores the participant user attribute information of all the original participant users in the participant user list, and the loading duration timer set for the conference loading state has not timed out, the video conference to be taken over is placed in a normal conference state; as well as When it is determined that the third submodule stores the participant user attribute information of some original participant users in the participant user list and the loading duration timer set for the conference loading state has timed out, the video conference to be taken over is placed in a normal conference state.
14. The device according to claim 13, wherein: The fifth submodule is also used for: When the loading duration timer set for the conference loading state times out, the original conference participant who has not received the conference reconnection request is deleted from the conference participant user list.
15. The device according to claim 12, 13 or 14, wherein: The fifth submodule is specifically used for: The conference attribute information and the conference user attribute information of the valid conference users currently stored in the third submodule are respectively sent to all the migrated valid conference users in the conference user list, and the state of the video conference to be taken over is changed from the conference loading state to the conference normal state.
16. A video conference migration device, the device being arranged in a user terminal device, and the device comprising: A detection module, used to detect the working status of the signaling server currently providing services for the video conference; A first sending module is used to send information requesting a new signaling server for the video conference to a signaling routing server when the working state detected by the detection module is an abnormal working state, so as to request that the new signaling server take over the video conference; A local acquisition module, used to receive the new signaling server allocation information returned by the signaling routing server, and locally acquire the participant user attribute information of the participant user who uses the user terminal device to participate in the video conference; A second sending module is used to send a reconnection request carrying the participant user attribute information obtained by the local acquisition module to the new signaling server that takes over the video conference according to the new signaling server allocation information received by the local acquisition module; wherein the participant user attribute information carried in the reconnection request is used to enable the new signaling server to perform a reconstruction operation of the video conference to be taken over based on the conference attribute information of the video conference to be taken over obtained from the database server and the participant user attribute information of the user terminal devices of the migrated valid participant users from the original participant users of the video conference to be taken over, so as to migrate the video conference to be taken over to the new signaling server; The conference joining module is used to participate in the video conference migrated to the new signaling server according to the reconnection conference response returned by the new signaling server.
17. A video conference migration system, the system comprising: A signaling routing server, a database server, and at least two signaling servers; The signaling server is provided with a video conference migration device as described in any one of claims 9 to 15; The signaling routing server is connected to each signaling server respectively, and an allocation module is provided in the signaling routing server, and the allocation module is used to allocate a new signaling server for the video conference and send video conference takeover information to the new signaling server when the signaling routing server receives a message from a user terminal device for applying for a new signaling server for the video conference; The database server is used to store the conference attribute information of each video conference; The video conference migration device in the signaling server includes: A takeover information receiving module, used for receiving video conference takeover information from a signaling routing server; A first acquisition module, configured to acquire conference attribute information of the video conference to be taken over from a database server according to the video conference takeover information received by the takeover information receiving module; A second acquisition module is used to acquire the attribute information of the participating users from the user terminal devices of the migrated valid participating users among the original participating users of the video conference to be taken over; A conference reconstruction module is used to perform the reconstruction operation of the video conference to be taken over according to the conference attribute information obtained by the first acquisition module and the participant attribute information of the migrated valid participant obtained by the second acquisition module, so as to migrate the video conference to be taken over to the signaling server.
18. A computer-readable storage medium storing a computer program, wherein the computer program is used to execute the method according to any one of claims 1 to 8.
19. An electronic device, comprising: processor; a memory for storing instructions executable by the processor; The processor is used to read the executable instructions from the memory and execute the instructions to implement the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Video conference control method and video conference control system
CN105472307A
Media server backup method, device and system
CN107231333A
Video conference method, device and system
CN108668101A
Video conference automatic recovery method and device, storage medium and electronic device
CN111246152A
Disaster tolerance processing method, server, electronic equipment and storage medium
CN112702216A