CN113596380B - Video conference server and communication method - Google Patents
Video conference server and communication method Download PDFInfo
- Publication number
- CN113596380B CN113596380B CN202110742265.9A CN202110742265A CN113596380B CN 113596380 B CN113596380 B CN 113596380B CN 202110742265 A CN202110742265 A CN 202110742265A CN 113596380 B CN113596380 B CN 113596380B
- Authority
- CN
- China
- Prior art keywords
- video conference
- client
- service unit
- signaling service
- conference content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/402—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel non-real time sessions, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services
- H04L65/4025—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel non-real time sessions, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services where none of the additional parallel sessions is real time or time sensitive, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
The application relates to the technical field of video conferences, in particular to a video conference server and a communication method. The method can solve the problem that the user experience is poor because an upgrade time period is required to be manually designated when the signaling service unit is upgraded in the video conference to a certain extent. According to the video conference server and the communication method, in the video conference process, the signaling service unit is subjected to system upgrading, after the upgrading is completed, the video conference content prestored in the database is read, and the video conference content is loaded into the memory of the signaling service unit, so that the video conference content in the signaling service unit is recovered before the system upgrading, the client side has no perception on the upgrading and restarting of the signaling service unit, and the user experience of a user using the video conference system is greatly improved.
Description
Technical Field
The application relates to the technical field of video conferences, in particular to a video conference server and a communication method.
Background
The video conference system used by the current users, conference participation users are distributed worldwide, and the video conference system is a 7.24 hour operation system. Any software system inevitably encounters restarting and downtime caused by design defects and external environment changes at the beginning of design, and is inevitably accompanied by operations such as upgrading and maintenance in the implementation process of the software system. Therefore, on the premise of ensuring that the normal operation of the conference system is not affected and the user is not aware of the interruption, the system is enabled to be smoothly upgraded.
In the related art, in terms of system upgrade, an upgrade mode is currently adopted, wherein an upgrade time period is manually designated, for example, 1-2 am is selected, in the time period, the online traffic is relatively low, or an upgrade notice is issued to inform a user that a target website is not required to be accessed in the designated time period, so that the system upgrade is realized.
However, the video conference system is aimed at global users, and no specific time period with less traffic can be used for upgrading the server, so that the upgrading mode is not suitable for the video conference system facing global users nowadays, and the user experience is reduced.
Disclosure of Invention
The application provides a video conference server and a communication method, which enable a signaling service unit to have no perception on upgrading and restarting of a user after upgrading is completed, and improve user experience.
Embodiments of the present application are implemented as follows:
a first aspect of an embodiment of the present application provides a video conference server, including:
a database;
a signaling service unit;
the signaling service unit is configured to:
responding to the received system upgrading instruction, and controlling the signaling service unit to upgrade the system;
after the upgrading is finished, reading first video conference content pre-stored in a database, and loading the first video conference content into a memory of a signaling control unit, wherein the first video conference content is client information carried before the signaling service unit is upgraded;
Receiving a request conference participation instruction sent by a client, wherein the request conference participation instruction sent by the client comprises second video conference content, and the second video conference content is client information carried by a signaling service unit after being updated;
and responding to the request conference participation instruction, and controlling the client to participate in the video conference based on the first video conference content and the second video conference content.
The video conference server according to an embodiment of the present application, wherein the signaling service unit is further configured to:
if the first video conference content is consistent with the second video conference content, starting a connection establishment service, and controlling a first client to join the video conference, wherein the first client is a client joining the video conference before upgrading a signaling service unit.
The video conference server according to an embodiment of the present application, wherein the signaling service unit is further configured to:
if the first video conference content is inconsistent with the second video conference content, starting a connection establishment service, controlling a first client to join the video conference based on the first video conference content, and controlling a second client to join the video conference, wherein the second client is a client which sends a request for joining an instruction after the signaling service unit is upgraded.
A video conference server according to an embodiment of the present application, wherein,
the video conference content includes: user information of the client, release stream information and subscription stream information.
The video conference server according to an embodiment of the present application, wherein the signaling service unit is further configured to:
and periodically storing the video conference content in the signaling control unit into a database.
The video conference server according to an embodiment of the present application, wherein the signaling service unit is configured with a mirror service interface, and is further configured to:
and storing the video conference content in the signaling service unit into a database through the mirror image service interface.
The video conference server according to an embodiment of the present application, wherein the signaling service unit is configured to perform reading a first video conference content pre-stored in a database, and load the first video conference content into a memory of the signaling service unit according to the following steps:
traversing all signaling service unit data in a database to obtain current signaling service unit data;
traversing all rooms associated with the current signaling service unit data;
Traversing out all room information under each room;
reading corresponding first video conference content in the room information;
and loading the first video conference content into the memory of the current signaling service unit.
A second aspect of embodiments of the present application provides a communication method, the method including:
responding to the received system upgrading instruction, controlling the signaling service unit to upgrade the system;
after the upgrading is finished, reading first video conference content pre-stored in a database, and loading the first video conference content into a memory of a signaling service unit, wherein the first video conference content is client information carried before the signaling service unit is upgraded;
receiving a request conference participation instruction sent by a client, wherein the request conference participation instruction sent by the client comprises second video conference content, and the second video conference content is client information carried by a signaling service unit after being updated;
and responding to the request conference participation instruction, and controlling the client to participate in the video conference based on the first video conference content and the second video conference content.
The communication method according to an embodiment of the present application, wherein the method further includes:
If the first video conference content is consistent with the second video conference content, starting a connection establishment service, and controlling a first client to join the video conference, wherein the first client is a client joining the video conference before upgrading a signaling service unit.
The communication method according to an embodiment of the present application, wherein the method further includes:
if the first video conference content is inconsistent with the second video conference content, starting a connection establishment service, controlling a first client to join the video conference based on the first video conference content, and controlling a second client to join the video conference, wherein the second client is a client which sends a request for joining an instruction after the signaling service unit is upgraded.
The technical scheme provided by the application comprises the following beneficial effects:
according to the video conference server and the communication method, in the video conference process, the signaling service unit is subjected to system upgrading, after the upgrading is completed, video conference content pre-stored in the database is read, and the video conference content is loaded into the memory of the signaling service unit, so that the video conference content in the signaling service unit is recovered before the system upgrading, and the client is not aware of the upgrading and restarting of the signaling service unit, thereby greatly improving the user experience of a user using the video conference system.
Drawings
In order to more clearly illustrate the technical solutions of the present application, the drawings that are needed in the embodiments will be briefly described below, and it will be obvious to those skilled in the art that other drawings can be obtained from these drawings without inventive effort.
Fig. 1 schematically illustrates a schematic view of a videoconferencing system provided by an embodiment of the present application;
fig. 2 illustrates a block diagram of a video conference server configuration provided in an embodiment of the present application;
fig. 3 is a flowchart schematically illustrating a communication method in a video conference according to an embodiment of the present application;
fig. 4 illustrates a video conference content storage flow diagram in a signaling service unit in accordance with some embodiments;
FIG. 5 illustrates a flow diagram for video conferencing content reading in a database in accordance with some embodiments;
FIG. 6 illustrates a signaling flow diagram for a user-in operation prior to a smooth upgrade of a signaling service element in accordance with further embodiments;
fig. 7 illustrates a signaling flow diagram for a user-in operation after a smooth upgrade of a signaling service element in accordance with further embodiments.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
It should be noted that the brief description of the terms in the present application is only for convenience in understanding the embodiments described below, and is not intended to limit the embodiments of the present application. Unless otherwise indicated, these terms should be construed in their ordinary and customary meaning.
The terms "first," second, "" third and the like in the description and in the claims and in the above drawings are used for distinguishing between similar or similar objects or entities and not necessarily for describing a particular sequential or chronological order, unless otherwise indicated. It is to be understood that the terms so used are interchangeable under appropriate circumstances.
The terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a product or apparatus that comprises a list of elements is not necessarily limited to all elements explicitly listed, but may include other elements not expressly listed or inherent to such product or apparatus.
The term "module" refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware or/and software code that is capable of performing the function associated with that element.
Fig. 1 is a schematic diagram of a video conference system provided in an embodiment of the present application.
The video conference system 100 provided herein includes a conference center 110, a terminal 300, and a network 200.
First, a description will be given of the conference center 100, which is a terminal used by a conference initiator for management and control of the video conference system 100.
Functionally, the conference center 100 includes 4 modules, which are an application module 111, a control module 112, a processing module 113, and a storage module 114, respectively.
The hardware of the application module 111 includes a display screen including a display screen having a touch function or a conventional display screen that can display application information received from the respective terminals and display a completion state of the interactive instruction.
The application module 111 further includes a key and a housing, where the key is used to control functions such as entering a conference, switching a conference, recording, browsing, PC connection control, and converting audio to text; the housing is a hollow cavity, and the interior of the housing is used for placing terminal equipment of the conference center 100.
The application module 111 further includes at least one main stream audio and video and other interface terminals, such as usb, HDMI, VGA, etc., for implementing data transmission and control of audio and video.
The application module 111 is mainly used for all connections and interactions outside the conference center 100. For example: the conference center 100 transmits audio and video data information and other files of each terminal, accesses and exhalates telephones, accesses and exhalates third party communications, receives application instructions of terminal users, and the like. In addition, the application module 100 needs to feed back the processing result of the conference center 100 to each terminal.
The control module 112 includes a control register and a control circuit for receiving information sent by the application module 111 and sending an operation instruction to the processing module 113 or the storage module 114.
The control module 112 is mainly responsible for receiving the data information of each terminal 300 sent by the application center 111, classifying the information, and sending the information to a specific processing center or a storage center.
It should be noted that, if the terminal 300 is a physical hardware or software terminal customized by the multiparty conference system described in the present application, the processing of the data information does not involve the coding mode conversion operation, and the control module 112 may directly access the audio and video of the storage module 114 to perform the read/write operation beyond the processing module 113.
If the read-write request received by the control module 112 is from the communication software of the third party, the third party media requirement control module 112 first determines whether the coding mode of the terminal needs transcoding, and if so, sends the request to the processing module 113, and the media data with the converted coding format is stored. The control module 113 needs to feed back the processing result to the application module 112.
The control register of the control module 112 may record participant information of a meeting that is successfully accessed into the meeting, where the information includes a terminal identifier of the terminal 300 where the participant is located, an audio/video coding mode of the terminal 300, and the like. According to the capacity of the control register, a reasonable storage amount is set so that the conference center 100 can accurately and rapidly provide the connection service when the same terminal 300 device is accessed again.
The processing module 113 includes an audio/video codec chip and a processor, and is configured to receive an instruction of the control module 112, process a specific transaction, and feed back a processing result to the control module, where the specific transaction includes transcoding received audio/video into data of a default coding mode of the conference center 100, and also includes reverse coding mode conversion, and then perform a read/write operation on the storage module 114, so as to complete communication between the conference center 100 and the third party communication terminal 300.
The processor may include any type of conventional processor or microprocessor that interprets and executes programming instructions.
The processing module 113 reads a text file or other file from the storage module 114 and then transmits the file to the application module 111, which in turn transmits the file to the terminal 300.
The processing module 113 reads audio data from the storage module 114 and converts the audio data into a text file.
The storage module 114 includes a memory, and is configured to store the audio/video data and the text data received and processed by the conference center 100 according to a default coding manner of the conference center, and receive access and reading from the application module.
The memory includes non-volatile memory elements (e.g., ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM)). It should be noted that the memory may have a distributed architecture in which various components are remote from each other but accessible by the processor conference center 100.
The terminal 300 for use with the conference center 100 will be further described below.
With continued reference to fig. 1, the videoconferencing system terminal 300 of the present embodiment includes a hardware terminal 301, a software terminal 302, a third party mobile device communication app303, third party computer communication software 304, and a third party hardware terminal 305.
Hardware terminal 301 is a customized hardware device for a video conferencing system as described herein and may include at least one or a combination of more of a microphone, a speaker, a camera, a central processing unit, and an audio-video processor. Further comprising at least one memory; at least one communication chip, which may be one or more combinations of Wifi, 3G, LTE, bluetooth, RFID/NFC, wired connection, or any type of communication that supports protocols for exchanging messages between connected devices through a connection; at least one mainstream audio video interface terminal, which may be one or more combinations of usb, HDMI, VGA or other types of interface terminals; a display screen, function keys, etc. may also be included for use in the conference.
The software terminal 302 is a software terminal that is customized for the videoconferencing system and that is applied to the computer system to interact with the conference center 100 by utilizing the hardware and software of the computer at which it is located.
The above hardware terminal 301 and the software terminal 302 are customized terminals, and the audio/video coding mode is the same as that of the conference center 100, so that audio/video coding conversion is not required in the conference process, and network delay is small.
The third party mobile device communication app303, including a more widely applied WeChat cell phone client, or QQ cell phone client, interacts with the conference center 100 by utilizing the hardware and software of the third party mobile device in which it resides.
Third party computer communications software 304, including widely used WeChat computer clients, QQ computer client software, etc., interact with the conference center 100 by utilizing the hardware and software of the computer at which it resides.
Third party hardware terminals 305, including landline telephones, mobile telephones, etc., may all participate in the conference by actively initiating a conference joining application, and by utilizing the third party hardware terminal, information interaction with the conference center 100 may be performed.
Communication network 200 provides a pathway for information interaction between convention center 100 and terminals 300. Network 200 is a managed IP network or public telephone network managed by a service provider; network 200 may also use wireless protocols and technologies such as WiFi, wiMax, etc., for example; network 200 may also be a packet-switched network such as a local area network, wide area network, metropolitan area network, the Internet, or other similar type of network environment; the network 200 may be a fixed wireless network, a wireless Local Area Network (LAN), a wireless Wide Area Network (WAN), a Personal Area Network (PAN), a Virtual Private Network (VPN), an intranet, or other suitable network system.
When a signaling service unit in a video conference system used by a user is upgraded at present, one of the modes is to manually designate an upgrade time period, such as 1-2 a.m., in which the online traffic is relatively low, or issue an upgrade notice to inform the user that a target website is not to be accessed in the designated time period, so that the system upgrade is realized. The upgrade mode needs to interrupt the existing service content, then upgrade the system, and after upgrade is completed, the new version system is operated to provide service to the outside.
However, the video conference system is oriented to global users, no specific time period with low flow can be provided for the server to upgrade, and the manually appointed upgrade time period, such as 1 to 2 am, is only suitable for part of users and cannot be used as a time period with relatively low flow on line as a reference; meanwhile, for interrupting the existing service content, when the information system is large in scale, more in nodes and wide in coverage, the stopping operation of the system can bring about great negative influence, and sometimes even loss can be brought to users; in addition, some systems do not allow for interruption of operation during operation. It can be seen that the above-described upgrade is not applicable to today's worldwide user-oriented video conferencing systems.
Based on the above problems, the developer provides a new upgrade mode of the video conference system, that is, establishes a smooth transition connection of the server program, for example, the nginx starts a new process in the upgrade process, which is used to accept the new connection, and saves the old process until the connection is released.
However, the user signaling in the video conference system is long connection, and the above-mentioned smooth transition method of nginnx is only suitable for short connection, so that the establishment of a smooth transition connection of a server program cannot be applied to the upgrade of the video conference system as a general upgrade mode.
The video conference system is divided into a video stream and a signaling layer in a software layer, the video stream and the signaling layer are network models with different communication, the network communication of the video stream adopts a UDP protocol, and the UDP protocol does not belong to a connection type protocol, so that the video conference system has the advantages of low resource consumption and high processing speed, and generally, more UDP is used for transmitting audio, video and common data because the audio, video and common data can not greatly influence a receiving result even if one or two data packets are lost occasionally. The signaling layer adopts a TCP protocol, the TCP protocol is a universal network protocol, connection-oriented and reliable byte stream service is adopted, and connection needs to be reestablished after a network is disconnected or a signaling service unit is restarted, because the information of a client needs to be reestablished, but a video stream does not need to be disconnected, and a video conference can be normally carried out.
Therefore, in the video conference process, video jamming or data loss does not affect the specific conference process, namely, the UDP protocol is adopted, so that the data loss can exist, and the video conference process is not greatly affected; however, if the session information of the client, including the identity, name, key of the client and other account information, is in the signaling layer, the session information cannot be lost, and once the session information is lost or wrong, the information is confused, so the signaling layer must ensure the integrity of the information, and must fully reply the information in the upgrading process.
Based on the method, in order to keep continuity of the video conference signaling service unit in the video conference operation process, the embodiment of the application provides a method for smoothly upgrading the signaling service unit in the video conference, after the signaling service unit is upgraded, the video conference content in the signaling service unit before the system is upgraded is recovered, and the client has no perception on the upgrading and restarting of the signaling service unit, so that the user experience of using the video conference system by a user is greatly improved.
As shown in fig. 2, an embodiment of the present application provides a video conference server, including a signaling service unit and a database, where the database is configured to store video conference content in the signaling service unit, and as an implementation manner, the video conference content includes: user information of the client, release stream information and subscription stream information.
As shown in fig. 3, an embodiment of the present application provides a communication method of a video conference signaling service unit, including:
s100, responding to the received system upgrading instruction, and controlling the signaling service unit to upgrade the system.
In some embodiments, the system upgrade instruction is used to instruct the signaling service unit to perform a system upgrade, and may be issued by the control unit periodically or aperiodically.
In some embodiments, after the signaling service unit system is upgraded, or in the process of upgrading, an abnormal state occurs, which causes the signaling service unit to restart, after the signaling service unit is restarted, all data in the signaling service unit is lost, that is, all user states return to the origin, and when the client is reconnected to the signaling service unit, an operation flow of a conference needs to be re-executed, and the operation flow is relatively resource-consuming for the use of the whole video conference system. For the client, restarting the signaling service unit can make the client obviously feel the jittered state of the video in the video conference process, and the client needs to reestablish connection with the signaling service unit.
In the embodiment of the present application, after the signaling service unit system upgrade is completed, the following operations are performed: and S200, after the upgrading is finished, reading first video conference content pre-stored in a database, and loading the first video conference content into a memory of a signaling service unit, wherein the first video conference content is client information carried before the upgrading of the signaling service unit.
In some embodiments, during the video conference, the video conference content is periodically stored in a database in a specific manner, after the signaling service unit is upgraded, the first video conference content pre-stored in the database is read and loaded into the memory of the signaling service unit after the signaling service unit is restarted, and the first video conference content is client information carried by the signaling service unit before the upgrade, so that an operation performed by the client is not started from the origin, which is equivalent to recovering on the basis of the original information, and therefore, the signaling service unit is not perceived by the user in the state of restarting or disconnecting. Specifically, the video conference content includes user information, release stream information and subscription stream information of the client, in other words, the video conference content stored in the database before the signaling service unit is updated, when such information needs to be read, the video conference content is directly called from the database, when the signaling service unit is reconnected after the updating and restarting are completed, all the user information, release stream information and subscription stream information are read from the database and are transmitted to the user, and the client carried by the signaling service unit before the updating is not required to be repeatedly executed after the later conference entering operation.
In some embodiments, before a signaling service unit upgrades, restarts, or goes wrong, the video conference content in the signaling service unit is periodically serialized and stored in a database, where serialization refers to a process of converting a dispersed data structure in a memory into a continuous byte stream when data needs to be stored and transmitted.
Therefore, the serialized storage needs to record the state of the video conference uninterruptedly, the client information of the conference is stored in the database, and in the process of data storage, the uninterrupted state is generally difficult to realize, so that the conference state can be recorded in a periodical manner, for example, the conference state is written once every 1 second, and due to periodical acquisition, the following conditions occur, for example, abnormal conditions occur in the process of writing for 1 second, all or part of the information is not written in the 1 second, so that the condition that the information cannot be recovered after restarting occurs, and the incomplete writing of the data is caused. Therefore, the data is inevitably lost, and the client information is required to be written completely as far as possible, so that the client is not perceived after the signaling service unit is upgraded and restarted, and the effect of smooth upgrade is achieved.
In some embodiments, as shown in fig. 4, the step of periodically serializing and storing the video conference content in the signaling service unit into the database is performed by:
s201, acquiring video conference content, wherein the video conference content comprises user information, release stream information and subscription stream information of a client; s202, structuring the video conference content data into a plurality of room information; s203, storing the video conference content data in a room corresponding to the room information; s204, associating the room with a corresponding signaling service unit; s205, the corresponding room information in the signaling service unit is written into the database periodically.
It should be noted that, first, there are many signaling service units on the communication transmission channel, each signaling service unit usually covers more video conference content, for example, there are 10 signaling service units currently working on line, and the 10 signaling service units share a database, so when recovering data, it is necessary to determine which information is the content in our current signaling service unit first. Based on the above, in the embodiment of the present application, a tree-structured data storage manner is adopted to store video conference content in a database, specifically, a primary node is set as a current signaling service unit address, so as to distinguish an on-line signaling service unit; the secondary node is set as a room and used for distinguishing room information under the current signaling service unit; the three-level nodes are set as clients and publisher, and represent client information under the room respectively. Therefore, during data recovery, the content of the current signaling service unit is found from the primary node, then all room information is found in the current signaling service unit, as many rooms can exist in one signaling service unit within 24 hours, the user information of each room is found under the room information, and then the user information, the release stream information and the subscription stream information of the client are found under each room.
As shown in fig. 5, the steps of reading the video conference content pre-stored in the database and loading the video conference content into the memory of the signaling service unit may be specifically performed as follows: s206, traversing all signaling service unit data in the database to obtain current signaling service unit data; s207, traversing all rooms associated with the current signaling service unit data; s208, traversing all room information under each room; s209, reading the corresponding video conference content in the room information; s210, loading the video conference content into a memory of a current signaling service unit.
In some embodiments, because of the large amount of information in the video conference, it needs to be effectively stored in a format in the database, and at the same time, it needs to be effectively read, which is equivalent to a bi-directional operation, and it needs to write the content and accurately read the content. In the method provided in the embodiment of the present application, in a signaling service unit, video conference content in the signaling service unit is stored in a serialized manner through the mirror service interface. The configured mirror service interface is capable of abstracting video conferencing content into a data structure for storage in a database. The video conference mirroring service interface corresponds to the format in which it is stored in the database, i.e. it is able to store the client information in the video conference in the most efficient way.
In this embodiment of the present application, after the upgrade is completed, the first video conference content pre-stored in the database is read, and after the first video conference content is loaded into the memory of the signaling control unit, the following operations are performed: s300, receiving a request conference entering instruction sent by a client, wherein the request conference entering instruction sent by the client comprises second video conference content, and the second video conference content is client information carried by a signaling service unit after being updated.
In this embodiment of the present application, the first video conference content is client information carried before the signaling service unit is upgraded, that is, pre-stored video content written into the database, and after the signaling service unit is upgraded and restarted, the first video conference content is invoked from the database, and the second video conference content is client information carried after the signaling service unit is upgraded.
And S400, responding to the request conference participation instruction, and controlling the client to participate in the video conference based on the first video conference content and the second video conference content.
In the process of video conference, the client side is continuously connected with the signaling service unit, and sends a request conference entering instruction (Join) to the signaling service unit, and the signaling service unit replies (Response) with all the client sides in the video conference. Therefore, in order to prevent the external environment from changing during the restarting process of the signaling service unit, that is, to join a new client, the first video conference content and the second video conference content need to be compared, and the video conference content needs to be checked and reconstructed according to the comparison result, so as to complete the conference joining operation.
In some embodiments, the video conference server communication method further comprises the steps of:
s401, if the first video conference content is consistent with the second video conference content, starting a connection establishment service, and controlling a first client to join the video conference, wherein the first client is a client joining the video conference before upgrading a signaling service unit;
and S402, if the first video conference content is inconsistent with the second video conference content, starting a connection establishment service, controlling the first client to join the video conference based on the first video conference content, and controlling the second client to join the video conference, wherein the second client is a client for sending a conference joining request instruction after the signaling service unit is upgraded.
The signaling service unit needs to reconnect the user after the upgrade is restarted, and in the normal video conference connection process, that is, before the smooth upgrade, a conventional conference call needs to be performed, and in some embodiments, as shown in fig. 6, the client needs to perform the following conference call operations:
the client sends a meeting request (Join) to the signaling service unit, the signaling service unit replies (Response) and sends a notification (Notify) to other clients, and the signaling service unit replies and carries all other client information in the meeting;
The client performs information release (publishing), the signaling service unit replies (Response), and sends notification (Notify) to other clients;
after all clients receive the notification (notification), they Subscribe (Subscribe) according to the need through Negotiation (notification) process, and send the subscribed information to the signaling service unit.
In the transmission process of the user signaling, the client and the signaling service unit check whether the connection exists through the heartbeat. The heartbeat connection is used as a form of establishing connection between the client and the service end, and because transmission of each signaling is on the network, and faults, such as disconnection, network faults, restarting of the server, and the like, inevitably exist on the network, the client and the signaling service unit are required to establish a communication form, and as an implementation mode, for example, communication is performed between the client and the signaling service unit at intervals of 1 second, whether the opposite party exists or not is informed, if the communication is not replied for more than 10 seconds, the connection between the client and the signaling service unit is disconnected, and resources need to be cleaned and the connection is reconnected. Due to the upgrade of the server, when the client is disconnected from the signaling service unit (Disconnect), in the conventional manner, a reconnection (reoin) is required, and after the reconnection is successful, the above-mentioned session operation is repeated, that is, the session operation is re-executed Join, publish, subscribe (and is accompanied with Unjoin, unpublish, unsubscribe operations, etc.), that is, the previous session process needs to be re-executed once after the server is restarted, including reconfiguring the user information, the subscription flow of the user, and the release flow information in the signaling service unit.
After the technical scheme in the embodiment of the application is adopted, the signaling service unit after being smoothly upgraded is based on the content of the first video conference, and only the first client added into the video conference before the signaling service unit is upgraded needs to be reconnected. Specifically, as shown in fig. 7, the smoothly updated conference joining operation includes the following steps:
the client sends a meeting request (Join) to the signaling service unit end, the signaling service unit end replies (Response), and sends a notification (Notify) to other clients, wherein the reply carries all other user information in the meeting;
the client performs information release (publishing), the signaling service unit replies (Response), and sends notification (Notify) to other clients;
after all clients receive the notification (Notify), subscribing (Subscribe) according to the need; after receiving the upgrade instruction, the signaling service unit disconnects the client from the signaling service unit, and the signaling service unit completes the upgrade and restarts, and after restarting, the client needs to reconnect with the client;
the signaling service unit re-accepts the meeting request (Join) instruction sent by the client, and replies (Response), and sends notification (Notify) to other clients, wherein the reply carries all client information in the meeting:
The request meeting instruction sent by the client is second video meeting content, the second video meeting content is client information carried by the signaling service unit after being updated, the client information carried by the signaling service unit after being updated is compared with the client information in the video meeting content called from the database, if the client information is consistent with the client information, the external environment is unchanged in the restarting process of the signaling service unit, namely, no new user is added, at the moment, the video meeting content called from the database is directly loaded into the signaling service unit, and meeting operation of the first client, namely, the client added into the video meeting before the signaling service unit is updated is completed; if the two types of the video conference contents are inconsistent, the external environment is changed in the restarting process of the signaling service unit, namely, a new user is added, namely, the signaling service unit is upgraded and then a second client which requests to enter a conference is sent, at the moment, the video conference contents which are called in the database are directly loaded into the signaling service unit aiming at the video conference contents which are called in the database, and the client which is added into the video conference before the signaling service unit is upgraded is controlled to enter the conference; the session operation is re-executed for the second client, that is, the session operation is re-executed Join, publish, subscribe (and associated with Unjoin, unpublish, unsubscribe, etc.), that is, the previous session flow only needs to be re-executed for the newly added second client after the server is restarted, including the user information, the subscription flow of the user, and the release flow information, and the session operation is not required to be re-executed for the first client information stored in the database before the update, and the first client information is directly loaded into the signaling service unit.
The embodiment of the application provides a communication method of a video conference signaling service unit, which comprises the following steps:
responding to the received system upgrading instruction, controlling the signaling service unit to upgrade the system;
after the upgrading is finished, reading first video conference content pre-stored in a database, and loading the first video conference content into a memory of a signaling service unit, wherein the first video conference content is client information carried before the signaling service unit is upgraded;
receiving a request conference participation instruction sent by a client, wherein the request conference participation instruction sent by the client comprises second video conference content, and the second video conference content is client information carried by a signaling service unit after being updated;
and responding to the request conference participation instruction, and controlling the client to participate in the video conference based on the first video conference content and the second video conference content.
The method further comprises the steps of:
if the first video conference content is consistent with the second video conference content, starting a connection establishment service, and controlling a first client to join the video conference, wherein the first client is a client joining the video conference before upgrading a signaling service unit.
If the first video conference content is inconsistent with the second video conference content, starting a connection establishment service, controlling a first client to join the video conference based on the first video conference content, and controlling a second client to join the video conference, wherein the second client is a client which sends a request for joining an instruction after the signaling service unit is upgraded.
The video conference server and the communication method have the beneficial effects that in the embodiment, in the video conference process, the signaling service unit is subjected to system upgrading, after the upgrading is completed, the video conference content prestored in the database is read, and the video conference content is loaded into the memory of the signaling service unit, so that the video conference content in the signaling service unit is recovered before the system upgrading, the client does not feel the upgrading and restarting of the signaling service unit, and the user experience of using the video conference system by a user is greatly improved.
Reference throughout this specification to "multiple embodiments," "some embodiments," "one embodiment," or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, appearances of the phrases "in various embodiments," "in some embodiments," "in at least one other embodiment," or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. Thus, a particular feature, structure, or characteristic shown or described in connection with one embodiment may be combined, in whole or in part, with features, structures, or characteristics of one or more other embodiments without limitation. Such modifications and variations are intended to be included within the scope of the present application.
Furthermore, those skilled in the art will appreciate that the various aspects of the invention are illustrated and described in the context of a number of patentable categories or circumstances, including any novel and useful procedures, machines, products, or materials, or any novel and useful modifications thereof. Accordingly, aspects of the present application may be performed entirely by hardware, entirely by software (including firmware, resident software, micro-code, etc.) or by a combination of hardware and software. The above hardware or software may be referred to as a "data block", "module", "engine", "unit", "component" or "system". Furthermore, aspects of the present application may take the form of a computer product, comprising computer-readable program code, embodied in one or more computer-readable media.
It should be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that an article or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
The foregoing is merely a specific embodiment of the application to enable one skilled in the art to understand or practice the application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
It will be understood that the present application is not limited to what has been described above, and that various modifications and changes may be made without departing from the scope thereof. The scope of the application is limited only by the appended claims.
Claims (8)
1. A video conference server, comprising:
a database;
a signaling service unit;
the signaling service unit is configured to:
responding to the received system upgrading instruction, and controlling the signaling service unit to upgrade the system;
after the upgrading is finished, reading first video conference content pre-stored in a database, and loading the first video conference content into a memory of a signaling control unit, wherein the first video conference content is client information carried before the signaling service unit is upgraded;
Receiving a request conference participation instruction sent by a client, wherein the request conference participation instruction sent by the client comprises second video conference content, and the second video conference content is client information carried by a signaling service unit after being updated;
and responding to the request meeting instruction, if the first video conference content is consistent with the second video conference content, starting a connection establishment service, and controlling a first client to join the video conference, wherein the first client is a client joining the video conference before upgrading the signaling service unit.
2. The videoconference server of claim 1, wherein the signaling service unit is further configured to:
if the first video conference content is inconsistent with the second video conference content, starting a connection establishment service, controlling a first client to join the video conference based on the first video conference content, and controlling a second client to join the video conference, wherein the second client is a client which sends a request for joining an instruction after the signaling service unit is upgraded.
3. The video conference server of claim 1, wherein the video conference content comprises: user information of the client, release stream information and subscription stream information.
4. The video conference server of claim 1, wherein the signaling control unit is further configured to:
and periodically storing the video conference content in the signaling control unit into a database.
5. The videoconference server of claim 1, wherein the signaling service is configured with a mirror service interface, the signaling service further configured to:
and storing the video conference content in the signaling service unit into a database through the mirror image service interface.
6. The video conference server according to claim 1, wherein reading the first video conference content pre-stored in the database and loading the first video conference content into the memory of the signaling service unit comprises:
traversing all signaling service unit data in a database to obtain current signaling service unit data;
traversing all rooms associated with the current signaling service unit data;
traversing out all room information under each room;
reading corresponding first video conference content in the room information;
and loading the first video conference content into the memory of the current signaling service unit.
7. A communication method, characterized in that,
responding to the received system upgrading instruction, controlling the signaling service unit to upgrade the system;
after the upgrading is finished, reading first video conference content pre-stored in a database, and loading the first video conference content into a memory of a signaling service unit, wherein the first video conference content is client information carried before the signaling service unit is upgraded;
receiving a request conference participation instruction sent by a client, wherein the request conference participation instruction sent by the client comprises second video conference content, and the second video conference content is client information carried by a signaling service unit after being updated;
and responding to the request meeting instruction, if the first video conference content is consistent with the second video conference content, starting a connection establishment service, and controlling a first client to join the video conference, wherein the first client is a client joining the video conference before upgrading the signaling service unit.
8. The communication method according to claim 7, characterized in that the method further comprises:
if the first video conference content is inconsistent with the second video conference content, starting a connection establishment service, controlling a first client to join the video conference based on the first video conference content, and controlling a second client to join the video conference, wherein the second client is a client which sends a request for joining an instruction after the signaling service unit is upgraded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110742265.9A CN113596380B (en) | 2021-06-24 | 2021-06-24 | Video conference server and communication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110742265.9A CN113596380B (en) | 2021-06-24 | 2021-06-24 | Video conference server and communication method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113596380A CN113596380A (en) | 2021-11-02 |
CN113596380B true CN113596380B (en) | 2023-05-09 |
Family
ID=78245636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110742265.9A Active CN113596380B (en) | 2021-06-24 | 2021-06-24 | Video conference server and communication method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113596380B (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101918937A (en) * | 2007-12-05 | 2010-12-15 | 生命力有限公司 | Use the system that is used for collaborative conferencing of streaming interactive video |
CN102546773A (en) * | 2010-12-15 | 2012-07-04 | 微软公司 | Providing resilient services |
CN103763507A (en) * | 2014-01-09 | 2014-04-30 | 深圳市迪威视讯股份有限公司 | Video conference terminal, server and video conference terminal upgrading system and method |
JP2015222900A (en) * | 2014-05-23 | 2015-12-10 | Necエンジニアリング株式会社 | Remote conference system, remote conference server, remote conference method, and program |
CN109803178A (en) * | 2019-01-03 | 2019-05-24 | 视联动力信息技术股份有限公司 | A kind of terminal staging method and device |
CN110502259A (en) * | 2019-07-16 | 2019-11-26 | 视联动力信息技术股份有限公司 | Server version upgrade method, video network system, electronic equipment and storage medium |
CN112559013A (en) * | 2020-12-24 | 2021-03-26 | 厦门亿联网络技术股份有限公司 | Video conference service system and gray scale upgrading method and device thereof |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8150917B2 (en) * | 2006-09-22 | 2012-04-03 | Microsoft Corporation | High availability conferencing |
US8605132B1 (en) * | 2010-03-26 | 2013-12-10 | Insors Integrated Communications | Methods, systems and program products for managing resource distribution among a plurality of server applications |
US20130151623A1 (en) * | 2011-12-07 | 2013-06-13 | Reginald Weiser | Systems and methods for translating multiple client protocols via a conference bridge |
US9021301B2 (en) * | 2012-06-14 | 2015-04-28 | Logitech Europe S.A. | High availability conferencing architecture |
-
2021
- 2021-06-24 CN CN202110742265.9A patent/CN113596380B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101918937A (en) * | 2007-12-05 | 2010-12-15 | 生命力有限公司 | Use the system that is used for collaborative conferencing of streaming interactive video |
CN102546773A (en) * | 2010-12-15 | 2012-07-04 | 微软公司 | Providing resilient services |
CN103763507A (en) * | 2014-01-09 | 2014-04-30 | 深圳市迪威视讯股份有限公司 | Video conference terminal, server and video conference terminal upgrading system and method |
JP2015222900A (en) * | 2014-05-23 | 2015-12-10 | Necエンジニアリング株式会社 | Remote conference system, remote conference server, remote conference method, and program |
CN109803178A (en) * | 2019-01-03 | 2019-05-24 | 视联动力信息技术股份有限公司 | A kind of terminal staging method and device |
CN110502259A (en) * | 2019-07-16 | 2019-11-26 | 视联动力信息技术股份有限公司 | Server version upgrade method, video network system, electronic equipment and storage medium |
CN112559013A (en) * | 2020-12-24 | 2021-03-26 | 厦门亿联网络技术股份有限公司 | Video conference service system and gray scale upgrading method and device thereof |
Also Published As
Publication number | Publication date |
---|---|
CN113596380A (en) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111246152B (en) | Video conference automatic recovery method and device, storage medium and electronic device | |
CN113630574A (en) | Video call method and terminal equipment | |
CN109586929B (en) | Conference content transmission method and device, electronic equipment and storage medium | |
CN113141531B (en) | Method and device for cross-device playback control, and playback device | |
CN111865632B (en) | Switching method of distributed data storage cluster and switching instruction sending method and device | |
TW202147834A (en) | Synchronizing local room and remote sharing | |
CN110895469A (en) | Upgrading method, device, electronic device and storage medium for dual-system hot standby system | |
CN111880865A (en) | Multimedia data pushing method and device, electronic equipment and storage medium | |
EP3217596B1 (en) | Communication terminal, communication system, and data transmission method | |
CN112398689A (en) | Network recovery method and device, storage medium and electronic equipment | |
CN113114778A (en) | Data transmission method and device, electronic equipment and storage medium | |
CN111355915B (en) | A video call method and system | |
CN112131135B (en) | Ciphertext operation debugging method and system and device for ciphertext operation debugging | |
CN103581607A (en) | Method for transmitting video stream to local endpoint host using remote camera device | |
CN113596380B (en) | Video conference server and communication method | |
WO2013175717A1 (en) | Videoconference system | |
JP4229774B2 (en) | Session control program and communication terminal device | |
CN109426575B (en) | Call service processing method and device | |
CN114902620B (en) | Gateway system, gateway equipment identity determining method, device and storage medium | |
JP2017069936A (en) | Communication terminal, communication system, output method, and program | |
CN115720193A (en) | Multicast-based software deployment method and device | |
CN115695388A (en) | Control method and device for multimedia conference | |
JP2019201322A (en) | Remote maintenance system and information processing method | |
CN114554230B (en) | Method, device, terminal, computer equipment and storage medium for processing wheat connecting state | |
CN114363665B (en) | Multi-service code stream pushing method, system, computer equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |