Video conference server and communication method

文档序号:196163 发布日期:2021-11-02 浏览:40次 中文

阅读说明:本技术 一种视频会议服务器及通信方法 (Video conference server and communication method ) 是由 崔振熠 任竑烨 段孝超 王云刚 于 2021-06-24 设计创作,主要内容包括:本申请涉及视频会议技术领域,尤其涉及一种视频会议服务器及通信方法。一定程度上可以解决视频会议中信令服务单元升级时,需要人工指定升级时间段,造成用户体验差的问题。本申请提供的视频会议服务器及通信方法,在视频会议进行过程中,对信令服务单元进行系统升级,升级完成后,读取数据库中预存的视频会议内容,并将所述视频会议内容加载到信令服务单元的内存中,从而使得系统升级前信令服务单元中的视频会议内容完成恢复,客户端对信令服务单元升级、重启无感知,大大提高了用户使用视频会议系统的用户体验。(The present application relates to the field of video conference technologies, and in particular, to a video conference server and a communication method. The problem of poor user experience caused by the fact that an upgrading time period needs to be specified manually when a signaling service unit in a video conference is upgraded can be solved to a certain extent. According to the video conference server and the communication method, the signaling service unit is subjected to system upgrading in the video conference process, after the upgrading is completed, 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 is upgraded, a client side cannot sense the upgrading and restarting of the signaling service unit, and the user experience of a user using the video conference system is greatly improved.)

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 carry out system upgrading;

after the upgrade is finished, reading first video conference content prestored 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 by a signaling service unit before the upgrade;

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 upgraded;

and responding to the conference request instruction, and controlling the client to join the video conference based on the first video conference content and the second video conference content.

2. The videoconference server of claim 1, wherein the signaling service unit is further configured to:

and 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 which joins the video conference before the signaling service unit is upgraded.

3. The videoconference server of claim 2, wherein the signaling service unit is further configured to:

and if the content of the first video conference is inconsistent with the content of the second video conference, starting a connection establishment service, controlling a first client to join the video conference based on the content of the first video conference, and controlling a second client to join the video conference, wherein the second client is the client which sends a conference joining request instruction after the signaling service unit is upgraded.

4. The videoconference server of claim 1, wherein the videoconference content comprises: user information, publish flow information and subscribe flow information of the client.

5. The videoconference 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.

6. The videoconference server of claim 1, wherein the signaling service unit is configured with a mirroring service interface, the signaling service unit further configured to:

and storing the video conference content in the signaling service unit into a database through the mirror image service interface.

7. 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 the database to obtain the current signaling service unit data;

traversing all rooms related to the data of the current signaling service unit;

traversing all room information under each room;

reading corresponding first video conference content in the room information;

and loading the first video conference content into a memory of the current signaling service unit.

8. A method of communication, characterized in that,

responding to the received system upgrading instruction, and controlling the signaling service unit to carry out system upgrading;

after the upgrade is finished, reading first video conference content prestored 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 by the signaling service unit before the upgrade is finished;

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 upgraded;

and responding to the conference request instruction, and controlling the client to join the video conference based on the first video conference content and the second video conference content.

9. The communication method of claim 8, wherein the method further comprises:

and 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 which joins the video conference before the signaling service unit is upgraded.

10. The communication method of claim 9, wherein the method further comprises:

and if the content of the first video conference is inconsistent with the content of the second video conference, starting a connection establishment service, controlling a first client to join the video conference based on the content of the first video conference, and controlling a second client to join the video conference, wherein the second client is the client which sends a conference joining request instruction after the signaling service unit is upgraded.

Technical Field

The present application relates to the field of video conference technologies, and in particular, to a video conference server and a communication method.

Background

The video conference system used by the current users, wherein the conference participants are distributed all over the world, is a 7 x 24 hour operation system. Any software system inevitably encounters restart and downtime caused by design defects and external environment changes at the beginning of design, and is necessarily accompanied by operations such as upgrading, maintenance and the like in the implementation process of the software system. Therefore, on the premise of ensuring that the normal operation of the conference system is not influenced and the user does not perceive the interruption, the smooth upgrade of the system is an urgent need.

In the related art, in the aspect of system upgrade, currently, an upgrade mode is adopted, in which an upgrade time period is manually specified, for example, 1 to 2 points in the morning is selected, and in the time period, online traffic is relatively small, or an upgrade notice is issued to inform a user that the user does not need to access a target website in the specified time period, so that system upgrade is realized.

However, the video conference system is for users all over the world, and there is no specific time slot with less traffic for the server to upgrade, so it is clear that this upgrading method is not suitable for the video conference system facing users all over the world today, thereby reducing the user experience.

Disclosure of Invention

The application provides a video conference server and a communication method, so that after a signaling service unit is upgraded, a user cannot perceive the upgrading and restarting of the signaling service unit, and the user experience is improved.

The embodiment of the application is realized 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 carry out system upgrading;

after the upgrade is finished, reading first video conference content prestored 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 by a signaling service unit before the upgrade;

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 upgraded;

and responding to the conference request instruction, and controlling the client to join 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:

and 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 which joins the video conference before the signaling service unit is upgraded.

The video conference server according to an embodiment of the present application, wherein the signaling service unit is further configured to:

and if the content of the first video conference is inconsistent with the content of the second video conference, starting a connection establishment service, controlling a first client to join the video conference based on the content of the first video conference, and controlling a second client to join the video conference, wherein the second client is the client which sends a conference joining request instruction after the signaling service unit is upgraded.

The videoconference server according to an embodiment of the present application, wherein,

the video conference content comprises: user information, publish flow information and subscribe flow information of the client.

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.

According to an embodiment of the present application, in the video conference server, the signaling service unit is configured with a mirror service interface, and the signaling service unit is further configured to:

and storing the video conference content in the signaling service unit into a database through the mirror image service interface.

According to an embodiment of the present application, the signaling service unit is configured to read 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 the database to obtain the current signaling service unit data;

traversing all rooms related to the data of the current signaling service unit;

traversing all room information under each room;

reading corresponding first video conference content in the room information;

and loading the first video conference content into a memory of the current signaling service unit.

A second aspect of an embodiment of the present application provides a communication method, including:

responding to the received system upgrading instruction, and controlling the signaling service unit to carry out system upgrading;

after the upgrade is finished, reading first video conference content prestored 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 by the signaling service unit before the upgrade is finished;

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 upgraded;

and responding to the conference request instruction, and controlling the client to join 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:

and 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 which joins the video conference before the signaling service unit is upgraded.

The communication method according to an embodiment of the present application, wherein the method further includes:

and if the content of the first video conference is inconsistent with the content of the second video conference, starting a connection establishment service, controlling a first client to join the video conference based on the content of the first video conference, and controlling a second client to join the video conference, wherein the second client is the client which sends a conference joining request instruction after the signaling service unit is upgraded.

The technical scheme provided by the application comprises the following beneficial effects:

according to the technical scheme, based on the video conference server and the communication method provided by the embodiment of the application, the signaling service unit is subjected to system upgrading in the video conference process, the video conference content prestored in the database is read after the upgrading is finished, 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 restored before the system is upgraded, a client side cannot sense the upgrading and restarting of the signaling service unit, and the user experience of a user using the video conference system is greatly improved.

Drawings

In order to more clearly explain the technical solution of the present application, the drawings needed to be used in the embodiments will be briefly described below, and it is obvious to those skilled in the art that other drawings can be obtained according to the drawings without any creative effort.

Fig. 1 schematically illustrates a simplified diagram of a video conference system provided by an embodiment of the present application;

fig. 2 is a block diagram illustrating a configuration of a videoconference server provided by embodiments of the present application;

fig. 3 is a flowchart illustrating a communication method in a video conference according to an embodiment of the present application;

figure 4 illustrates a flow diagram for storing videoconference content within a signaling service unit, according to some embodiments;

FIG. 5 illustrates a flow diagram for reading video conferencing content in a database, according to some embodiments;

FIG. 6 is a signaling flow diagram illustrating a user conference operation prior to a smooth upgrade of a signaling service element in accordance with further embodiments;

fig. 7 is a signaling flow diagram illustrating a user conference operation after a signaling service unit is smoothly upgraded according to other embodiments.

Detailed Description

The technical solutions in the embodiments of the present invention will be described clearly and completely with reference to the accompanying drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.

It should be noted that the brief descriptions of the terms in the present application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of the present application. These terms should be understood in their ordinary and customary meaning unless otherwise indicated.

The terms "first," "second," "third," and the like in the description and claims of this application and in the above-described drawings are used for distinguishing between similar or analogous 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" and "comprising," 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 expressly 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 functionality associated with that element.

Fig. 1 is a schematic diagram of a video conference system according to an embodiment of the present application.

The video conference system 100 provided by the present application includes a conference center 110, a terminal 300, and a network 200.

The conference center 100 will be explained first, and the conference center 100 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, respectively an application module 111, a control module 112, a processing module 113 and a storage module 114.

The hardware of the application module 111 includes a display screen, which includes a display screen with a touch function or a conventional display screen, and the display screen can display application information received from each terminal and display a completion state of an interactive instruction.

The application module 111 also comprises a microphone, a loudspeaker and a camera, the initiator of the conference may also be a participant in the conference, with which a multiparty conference may be participated at the conference centre 100.

The application module 111 further comprises a key and a shell, wherein the key is used for controlling functions of conference entering, conference switching, recording, browsing, PC connection control, audio-to-text conversion and the like; the shell is a hollow cavity, and the interior of the shell is used for placing terminal equipment of the conference center 100.

The application module 111 further includes at least one mainstream audio/video and other interface terminal, such as usb, HDMI, VGA, etc., for implementing data transmission and control of audio/video.

The application module 111 is mainly used for all connections and interactions outside the conference center 100. For example: audio and video data information and other file transmission of the conference center 100 and each terminal, call in and call out of a telephone, call in and call out of third party communication, receiving an application instruction of a terminal user, 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, and is used for receiving the 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 and processing 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 multi-party conference system described in the present application, the processing of the data information does not involve the conversion operation of the encoding mode, and the control module 112 may pass through the processing module 113 to directly access the audio/video of the storage module 114 for performing the read/write operation.

If the read-write request received by the control module 112 is from the terminal 300, the third party media requires the control module 112 to first determine whether the encoding mode of the terminal needs transcoding, and if so, the request is sent to the processing module 113, and the media data in the converted encoding format is stored. Both cases require the control module 113 to feed back the processing result to the application module 112.

The control register of the control module 112 may record the information of the conference participants who successfully access the conference, where the information includes the terminal identification number of the terminal 300 where the conference participants are located, the audio/video encoding 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 quickly 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 from the control module 112, process a specific transaction, and feed back a processing result to the control module, where the specific transaction includes transcoding the received audio/video into data in a default coding mode of the conference center 100 and also includes reverse coding mode conversion, and then perform read/write operation on the storage module 114, thereby completing communication between the conference center 100 and the third-party communication terminal 300.

The processor may comprise any type of conventional processor or microprocessor that interprets and executes programmed instructions.

The processing module 113 reads a text file or other files from the storage module 114, and then sends the files to the application module 111, and further sends the files 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 used for storing the audio/video data and the text data received and processed by the conference center 100 according to a default encoding mode of the conference center, and receiving access and reading of the application module.

The memory includes a non-volatile memory element (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, where various components are remote from each other but accessible by the processor convention center 100.

The terminal 300 for use with the convention center 100 will be further described below.

With continued reference to fig. 1, the video conference 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.

The hardware terminal 301 is a hardware device customized for the video conference system, and may include at least one or a combination of a microphone, a speaker, a camera, a central processing unit, and an audio/video processor. Also includes at least one memory; at least one communication chip, the communication mode of which can be one or more of Wifi, 3G, LTE, bluetooth, RFID/NFC, wired connection, or any type of communication mode supporting a protocol for exchanging messages between connected devices through connection; the terminal can be one or a combination of usb, HDMI, VGA or other types of interface terminals; and a display screen, function keys and the like can be further included for operation in the conference.

The software terminal 302 is a software terminal applied to a computer system customized for the video conference system, and performs information interaction with the conference center 100 by using hardware and software of the computer where the software terminal is located.

The hardware terminal 301 and the software terminal 302 are customized terminals, and the audio and video coding mode of the terminals is the same as that of the conference center 100, so that audio and video coding conversion is not required in the conference process, and network delay is small.

The third-party mobile device communication app303, which includes a widely-used WeChat mobile phone client, or a QQ mobile phone client, interacts information with the conference center 100 by using hardware and software of the third-party mobile device.

The third party computer communication software 304, including widely used WeChat computer client, QQ computer client software, etc., interacts with the conference center 100 by utilizing the hardware and software of the computer in which it is located.

The third-party hardware terminal 305 includes devices such as a fixed-line telephone and a mobile phone, which can join the conference application by actively initiating the conference, and perform information interaction with the conference center 100 by using the third-party hardware terminal.

The communication network 200 provides a channel for the conference center 100 and the terminal 300 to perform information interaction. Network 200 is a managed IP network or public telephone network managed by a service provider; network 200 may also be, for example, using wireless protocols and technologies such as WiFi, WiMax, etc.; the network 200 may also be a packet-switched network, such as a local area network, a wide area network, a metropolitan area network, the Internet, or other similar type of network environment; 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 adopted modes is to manually designate an upgrading time period, such as 1 point-2 points in the morning, the online flow is relatively low in the time period, or an upgrading notice is issued to inform the user that the user does not need to access a target website in the designated time period, so that the system upgrading is realized. The upgrading mode needs to interrupt the existing service content, then carries out system upgrading, and runs a new version system to provide service to the outside after upgrading is completed, wherein the process needs to interrupt service, and the interruption time length is determined according to the upgrading process length.

However, the current video conference system is oriented to global users, no specific time period with less flow can be provided for the server to upgrade, and the manually specified upgrading time period, such as 1 point-2 points in the morning, is only suitable for part of users and cannot be used as a time period with relatively less flow on line as a reference; meanwhile, for interrupting the existing service content, when the information system is large in scale, multiple in nodes and wide in coverage, the stop of the system can bring great negative effects, and sometimes even bring loss to users; in addition, part of the system is not allowed to be interrupted in the operation process. It can be seen that the above upgrading method is not suitable for the video conference system facing global users nowadays.

In addition, based on the above problems, the developer provides a new mode of upgrading the video conference system, that is, a smooth transition connection of the server program is established, for example, nginx starts a new process in the upgrading process 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 all long connections, and the smooth transition method of the above-mentioned Nginx is only applicable to short connections, so that establishing a smooth transition connection of a server program cannot be applied to upgrading of the video conference system as a general upgrading mode.

The video conference system is divided into a video stream layer and a signaling layer in a software layer, the video stream layer and the signaling layer are two different network models of communication, the network communication of the video stream adopts a UDP protocol, and the UDP protocol is not a connection type protocol, so that the video conference system has the advantages of low resource consumption and high processing speed, so that generally, UDP is used for audio, video and common data during transmission, and the receiving result cannot be greatly influenced even if one or two data packets are occasionally lost. The signaling layer adopts a TCP protocol, the TCP protocol is a general network protocol, is oriented to connection and reliable byte stream service, and needs to be reestablished after the network is disconnected or the signaling service unit is restarted, because the information of the client needs to be reestablished, but the video stream does not need to be disconnected, and the video conference can be normally carried out.

Therefore, in the process of video conference, video jamming or data loss does not affect the specific conference, namely, the video conference is a UDP protocol, data loss can exist, and the video conference process cannot be greatly affected; however, if the conference information of the client, including the identity, name, own key and other account information of the user, is lost in the signaling layer, the information can not be lost, and the information can be confused if the conference information is lost or the information is wrong, so that the signaling layer must ensure the integrity of the information and must completely reply the information in the upgrading process.

Based on this, in order to maintain the continuity of the video conference signaling service unit in the running process of the video conference, 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 the user is greatly improved.

As shown in fig. 2, an embodiment of the present application provides a video conference server, which includes a signaling service unit and a database, where the database is used to store video conference content in the signaling service unit, and as an implementation manner, the video conference content includes: user information, publish flow information and subscribe flow information of the client.

As shown in fig. 3, an embodiment of the present application provides a communication method for 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 system upgrade, and may be issued periodically or aperiodically by the control unit.

In some embodiments, after the signaling service unit system is upgraded, or during the upgrade process, an abnormal state occurs, which may cause the signaling service unit to restart, and after the restart, all data in the signaling service unit may be lost, that is, all user states return to the origin, for the client, when the client is reconnected with the signaling service unit again, an operation flow of a conference entry needs to be executed again, and the operation flow is relatively resource-consuming for the use of the whole video conference system. For the client, the restart of the signaling service unit can make the client obviously feel the state of video jitter in the process of video conference, and the client needs to reestablish the connection with the signaling service unit.

In the embodiment of the application, after the signaling service unit system is upgraded, the following operations are executed: s200, after the upgrade is completed, reading first video conference content prestored in a database, and loading the first video conference content into a memory of a signaling service unit, wherein it needs to be noted that the first video conference content is client information carried by the signaling service unit before the upgrade.

In some embodiments, in the process of a video conference, the video conference content is periodically stored in a database in a specific manner, when the signaling service unit is upgraded, after the signaling service unit is restarted, the first video conference content pre-stored in the database is read, and the first video conference content is loaded into a memory of the signaling service unit, where the first video conference content is client information carried by the signaling service unit before the signaling service unit is upgraded, so that an operation performed when the client enters the conference is not started from an origin, which is equivalent to recovery based on original information, and therefore, a user is unaware when the signaling service unit is restarted or disconnected. Specifically, the videoconference content includes user information, publish flow information and subscribe flow information of the client, that is, videoconference content stored in the database by the signaling service unit before upgrading, and is called directly from the database when such information needs to be read, and when the signaling service unit completes upgrading and restarting and the user reconnects, the user information, publish flow information and subscribe flow information are read from all of the database without omission and are transmitted to the user, and then the conference entering operation is performed, so that the client carried by the signaling service unit before upgrading is not required to be repeatedly executed.

In some embodiments, before a signaling service unit is upgraded, restarted or has a problem, the video conference content in the signaling service unit is stored into a database in a serialized manner, where the serialized manner refers to a process of converting a scattered data structure in a memory into a continuous byte stream when data needs to be stored and transmitted.

It can be seen that the serialized storage needs to record the state of the video conference without interruption, and stores the client information of the conference in the database, and in the process of data storage, generally, uninterrupted is difficult to implement, so that the conference state can be recorded in a periodic manner, for example, once every 1 second, because of periodic acquisition, the following situation occurs, and if an abnormal situation occurs in the process of writing for 1 second, the information in the 1 second is completely or partially not written, so that the situation that the information cannot be recovered after the restart occurs, and the data is lost and incompletely written is caused. Therefore, data loss is inevitably caused, and the client information needs to be written as completely as possible, so that the client cannot sense the upgrade and restart of the signaling service unit, and the effect of smooth upgrade is achieved.

In some embodiments, as shown in fig. 4, the step of periodically storing the video conference content in the signaling service unit in a 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; and S205, periodically writing the corresponding room information in the signaling service unit into a database.

It should be noted that, firstly, there are many signaling service units on the communication transmission channel, each signaling service unit usually covers more contents of the video conference, for example, there are currently 10 signaling service units working on the line, and the 10 signaling service units share one database, so that, when data is recovered, it needs to first determine which information is the content in our current signaling service unit. Based on this, in the embodiment of the present application, the video conference content is stored in the database in a data storage manner of a tree structure, specifically, the first-level node is set as the current signaling service unit address to distinguish the online signaling service units; 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 client and publisher and respectively represent client information in a room. Therefore, when data is recovered, the content of the current signaling service unit is firstly found from the primary node, then all room information is found in the current signaling service unit, since many rooms are possible in one signaling service unit within 24 hours, many meetings are opened, the user information of each room is found out under the room information, and then the user information, the publishing stream information and the subscribing stream information of the client are found out under each room.

As shown in fig. 5, specifically, the following steps may be performed to read the video conference content pre-stored in the database and load the video conference content into the memory of the signaling service unit: s206, traversing all the signaling service unit data in the database to obtain the current signaling service unit data; s207, traversing all rooms related to the data of the current signaling service unit; s208, traversing all room information under each room; s209, reading corresponding video conference content in the room information; s210, loading the video conference content into a memory of the current signaling service unit.

In some embodiments, because the video conference has a lot of information, it needs to be effectively stored as a format in a database and also needs to be effectively read, which is equivalent to a two-way operation, and the content needs to be written in and read out accurately. 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 image service interface. The configured mirror image service interface can abstract the video conference content into a data structure to be stored in a database. The video conference mirroring service interface is equivalent to the format it stores in the database, i.e. it can store the client information in the video conference in the most efficient way.

In the embodiment of the 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 executed: s300, receiving a request conference-entering instruction sent by the 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 after the signaling service unit is upgraded.

In the embodiment of the application, the first video conference content is client information carried before the signaling service unit is upgraded, namely, pre-stored video content written into the database, after the signaling service unit is upgraded and restarted, the first video conference content is called from the database, and the second video conference content is client information carried after the signaling service unit is upgraded.

S400, responding to the conference request instruction, and controlling the client to join in the video conference based on the first video conference content and the second video conference content.

In the process of the video conference, the client side is continuously connected with the signaling service unit, a meeting request instruction (Join) is sent to the signaling service unit, the signaling service unit replies (Response), and all the client sides in the video conference are carried in the reply. Therefore, in order to prevent the external environment from changing during the restart of the signaling service unit, that is, to add a new client, the first video conference content and the second video conference content need to be compared, and the video conference content is verified and reconstructed according to the comparison result, thereby completing the conference-entering operation.

In some embodiments, the videoconference server communication method further comprises:

s401, if the content of the first video conference is consistent with that of the second video conference, starting a connection establishment service and controlling a first client to join the video conference, wherein the first client is a client which joins the video conference before the signaling service unit is upgraded;

s402, if the content of the first video conference is inconsistent with the content of the second video conference, starting a connection establishment service, controlling a first client to join the video conference based on the content of the first video conference, and controlling a second client to join the video conference, wherein the second client is the client which sends a conference joining request instruction after the signaling service unit is upgraded.

After the upgrade is restarted, the signaling service unit needs to reconnect the user, and in the normal video conference connection process, that is, before the smooth upgrade, a conventional conference joining operation needs to be performed, and in some embodiments, as shown in fig. 6, the client needs to perform the following conference joining operations:

the client sends a conference entering request (Join) to the signaling service unit, the signaling service unit replies (Response) and sends a notice (Notify) to other clients, and the reply of the signaling service unit carries information of all other clients in the conference;

the client issues information (Publish), the signaling service unit replies (Response), and sends a notification (Notify) to other clients;

after all clients receive the notification (Notify), the clients Subscribe (Subscribe) as required through a Negotiation 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 connection establishment between the client and the server, and because transmission of each signaling is on the network, and a fault inevitably exists on the network, such as network disconnection, network fault, or server restart, and the like, a communication form needs to be established between the client and the signaling service unit, as an implementation manner, for example, after the client and the signaling service unit communicate at an interval of 1 second, whether the client exists or not is notified, and if the client does not reply after more than 10 seconds, disconnection between the client and the signaling service unit is indicated, and resources need to be cleared and reconnection is required. Due to the upgrade of the server, after the client is disconnected (disconnected) from the signaling service unit, in the conventional form, reconnection (reconnection) is required, and after the reconnection is successful, the session operations are repeated, that is, Join, Publish, and Subscribe operations (accompanied by Unjoin, Unpblish, Unsbscrimbe, and other operations) are re-executed, that is, the previous session flow needs to be re-executed after the server is restarted, including the reconfiguration of user information, the subscription flow of the user, and the distribution of flow information in the signaling service unit.

After the technical scheme in the embodiment of the application is adopted, the smoothly upgraded signaling service unit only needs to be reconnected to the first client which is added into the video conference before the signaling service unit is upgraded based on the content of the first video conference. Specifically, as shown in fig. 7, the smoothly upgraded conference entry operation includes the following steps:

the client sends a conference joining request (Join) to the signaling service unit end, the signaling service unit end replies (Response) and sends a notice (Notify) to other clients, and the reply carries information of all other users in the conference;

the client issues information (Publish), the signaling service unit replies (Response), and sends a notification (Notify) to other clients;

after all clients receive the notification (Notify), subscribing (Subscribe) according to needs; after the signaling service unit receives the upgrading instruction, the client is disconnected (disconnected) with the signaling service unit, the signaling service unit finishes upgrading and restarts, and reconnection (Rejoin) with the client is needed after restarting;

the signaling service unit receives the Join request (Join) command sent by the client again, replies (Response), and sends a notice (Notify) to other clients, wherein the reply carries all client information in the conference:

the method comprises the steps that a conference request instruction sent by a client is second video conference content, the second video conference content is client information carried by a signaling service unit after being upgraded, the client information carried by the signaling service unit after being upgraded is compared with client information in video conference content called from a database, if the client information is consistent with the client information, the external environment is unchanged in the process of restarting the signaling service unit, namely no new user is added, at the moment, the video conference content called from the database is directly loaded into the signaling service unit, and conference entering operation of the first client, namely the client which is added into the video conference before the signaling service unit is upgraded is completed; if the difference is not consistent, the external environment is changed in the restarting process of the signaling service unit, namely a new user is added, namely a second client requesting for conference entering is sent after the signaling service unit is upgraded, at the moment, the video conference content called in the database is directly loaded into the signaling service unit aiming at the video conference content called in the database, and the client added to the video conference before the signaling service unit is upgraded is controlled to enter the conference; and re-executing the conference-entering operation for the second client, that is, re-executing Join, Publish, and Subscribe operations (and accompanying Unjoin, Unpblish, Unsbscript, etc.), that is, the previous conference-entering process only needs to be re-executed for the newly-added second client after the server is restarted, including user information, user subscription stream, and publishing stream information, and for the first client information stored in the database before the upgrade, the conference-entering operation does not need to be re-executed, and the first client information is directly loaded into the signaling service unit.

The embodiment of the application provides a video conference signaling service unit communication method, which comprises the following steps:

responding to the received system upgrading instruction, and controlling the signaling service unit to carry out system upgrading;

after the upgrade is finished, reading first video conference content prestored 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 by the signaling service unit before the upgrade is finished;

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 upgraded;

and responding to the conference request instruction, and controlling the client to join the video conference based on the first video conference content and the second video conference content.

The method further comprises the following steps:

and 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 which joins the video conference before the signaling service unit is upgraded.

And if the content of the first video conference is inconsistent with the content of the second video conference, starting a connection establishment service, controlling a first client to join the video conference based on the content of the first video conference, and controlling a second client to join the video conference, wherein the second client is the client which sends a conference joining request instruction after the signaling service unit is upgraded.

The method has the advantages that in the embodiment, the video conference server and the communication method are used for carrying out system upgrading on the signaling service unit in the video conference process, reading video conference content prestored in the database after upgrading is finished, and loading the video conference content into the memory of the signaling service unit, so that the video conference content in the signaling service unit is restored before the system is upgraded, a client side cannot sense the upgrading and restarting of the signaling service unit, and user experience of a user using the video conference system is greatly improved.

Reference throughout this specification to "embodiments," "some embodiments," "one embodiment," or "an embodiment," or the like, 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" or the like 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, the particular features, structures, or characteristics shown or described in connection with one embodiment may be combined, in whole or in part, with the 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.

Moreover, those skilled in the art will appreciate that aspects of the present application may be illustrated and described in terms of several patentable species or situations, including any new and useful combination of processes, machines, manufacture, or materials, or any new and useful improvement thereon. Accordingly, various aspects of the present application may be embodied entirely in hardware, entirely in software (including firmware, resident software, micro-code, etc.) or in a combination of hardware and software. The above hardware or software may be referred to as "data blocks," modules, "" engines, "" units, "" components, "or" systems. Furthermore, aspects of the present application may be represented as a computer product, including computer readable program code, embodied in one or more computer readable media.

It is to 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 above description is merely exemplary of the present application and is presented to enable those skilled in the art to understand and practice the present 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 is to 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.

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种音频数据的采集方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类