CN113596380B - 一种视频会议服务器及通信方法 - Google Patents

一种视频会议服务器及通信方法 Download PDF

Info

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
Application number
CN202110742265.9A
Other languages
English (en)
Other versions
CN113596380A (zh
Inventor
崔振熠
任竑烨
段孝超
王云刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juhaokan Technology Co Ltd
Original Assignee
Juhaokan Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Juhaokan Technology Co Ltd filed Critical Juhaokan Technology Co Ltd
Priority to CN202110742265.9A priority Critical patent/CN113596380B/zh
Publication of CN113596380A publication Critical patent/CN113596380A/zh
Application granted granted Critical
Publication of CN113596380B publication Critical patent/CN113596380B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/402Support 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/4025Support 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network 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

本申请涉及视频会议技术领域,尤其涉及一种视频会议服务器及通信方法。一定程度上可以解决视频会议中信令服务单元升级时,需要人工指定升级时间段,造成用户体验差的问题。本申请提供的视频会议服务器及通信方法,在视频会议进行过程中,对信令服务单元进行***升级,升级完成后,读取数据库中预存的视频会议内容,并将所述视频会议内容加载到信令服务单元的内存中,从而使得***升级前信令服务单元中的视频会议内容完成恢复,客户端对信令服务单元升级、重启无感知,大大提高了用户使用视频会议***的用户体验。

Description

一种视频会议服务器及通信方法
技术领域
本申请涉及视频会议技术领域,尤其涉及一种视频会议服务器及通信方法。
背景技术
目前用户使用的视频会议***,会议参与用户遍布全球,是一种7*24小时运行***。任何软件***在设计之初不可避免地遇到由设计缺陷、外部环境变化引起的重启、宕机,并且在软件***实施过程中必然会伴随升级、维护等操作。因此,在保证不影响会议***正常运行、不让用户感知中断的前提下,使***得到平滑升级是一个迫切需求。
相关技术中,在***升级方面,目前采用的升级方式为,人工指定升级时间段,例如选择凌晨1点-2点,在该时间段,线上流量相对较少,或者发布一个升级公告告知用户在指定时间段内不要访问目的网址,从而实现***升级。
然而,视频会议***是针对全球用户,并没有流量较少的特定时间段可以供服务器升级,可见,该种升级方式并不适用于如今面向全球用户的视频会议***,从而降低了用户体验。
发明内容
本申请提供了一种视频会议服务器及通信方法,使得信令服务单元在升级完成之后,用户对其升级、重启无感知,提升用户体验。
本申请的实施例是这样实现的:
本申请实施例的第一方面提供一种视频会议服务器,包括:
数据库;
信令服务单元;
所述信令服务单元,被配置为:
响应于接收到的***升级指令,控制所述信令服务单元进行***升级;
升级完成后,读取数据库中预存的第一视频会议内容,并将所述第一视频会议内容加载到信令控制单元的内存中,所述第一视频会议内容为信令服务单元升级前所携带的客户端信息;
接收客户端发送的请求入会指令,其中,客户端发送的请求入会指令包括第二视频会议内容,所述第二视频会议内容为信令服务单元升级后所携带的客户端信息;
响应于所述请求入会指令,基于所述第一视频会议内容与第二视频会议内容,控制所述客户端加入视频会议。
根据本申请一实施例的视频会议服务器,其中,所述信令服务单元,还被配置为:
若第一视频会议内容与第二视频会议内容一致,则开启连接建立服务,并控制第一客户端加入视频会议,所述第一客户端为信令服务单元升级前加入视频会议的客户端。
根据本申请一实施例的视频会议服务器,其中,所述信令服务单元,还被配置为:
若第一视频会议内容与第二视频会议内容不一致,则开启连接建立服务,控制第一客户端基于所述第一视频会议内容加入视频会议,以及,控制第二客户端加入视频会议,所述第二客户端为信令服务单元升级后发送请求入会指令的客户端。
根据本申请一实施例的视频会议服务器,其中,
所述视频会议内容,包括:客户端的用户信息、发布流信息和订阅流信息。
根据本申请一实施例的视频会议服务器,其中,所述信令服务单元,还被配置为:
周期性的将信令控制单元中的视频会议内容存储至数据库中。
根据本申请一实施例的视频会议服务器,其中,所述信令服务单元,配置有镜像服务接口,所述信令服务单元,还被配置为:
通过所述镜像服务接口将信令服务单元中的视频会议内容存储至数据库中。
根据本申请一实施例的视频会议服务器,其中,所述信令服务单元被配置为按照以下步骤执行读取数据库中预存的第一视频会议内容,并将所述第一视频会议内容加载到信令服务单元的内存中:
遍历数据库中所有的信令服务单元数据,得到当前信令服务单元数据;
遍历出所述当前信令服务单元数据关联的所有房间;
在每个房间下遍历出所有的房间信息;
读取所述房间信息中对应的第一视频会议内容;
将所述第一视频会议内容加载到所述当前信令服务单元的内存中。
本申请实施例的第二方面提供一种通信方法,所述方法包括:
响应于接收到的***升级指令,控制信令服务单元进行***升级;
升级完成后,读取数据库中预存的第一视频会议内容,并将所述第一视频会议内容加载到信令服务单元的内存中,所述第一视频会议内容为信令服务单元升级前所携带的客户端信息;
接收客户端发送的请求入会指令,其中,客户端发送的请求入会指令包括第二视频会议内容,所述第二视频会议内容为信令服务单元升级后所携带的客户端信息;
响应于所述请求入会指令,基于第一视频会议内容与第二视频会议内容,控制所述客户端加入视频会议。
根据本申请一实施例的通信方法,其中,所述方法还包括:
若第一视频会议内容与第二视频会议内容一致,则开启连接建立服务,并控制第一客户端加入视频会议,所述第一客户端为信令服务单元升级前加入视频会议的客户端。
根据本申请一实施例的通信方法,其中,所述方法还包括:
若第一视频会议内容与第二视频会议内容不一致,则开启连接建立服务,控制第一客户端基于所述第一视频会议内容加入视频会议,以及,控制第二客户端加入视频会议,所述第二客户端为信令服务单元升级后发送请求入会指令的客户端。
本申请提供的技术方案包括以下有益效果:
由以上技术方案可知,基于本申请实施例提供的视频会议服务器及通信方法,在视频会议进行过程中,对信令服务单元进行***升级,升级完成后,读取数据库中预存的视频会议内容,并将所述视频会议内容加载到信令服务单元的内存中,从而使得***升级前信令服务单元中的视频会议内容完成恢复,客户端对信令服务单元升级、重启无感知,大大提高了用户使用视频会议***的用户体验。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示例性示出了本申请实施例提供的视频会议***的简图;
图2示例性示出了本申请实施例提供的视频会议服务器配置框图;
图3示例性示出了本申请实施例提供的视频会议中通信方法的流程图;
图4示例性示出了根据一些实施例的信令服务单元中视频会议内容存储流程图;
图5示例性示出了根据一些实施例中的数据库中视频会议内容读取流程图;
图6示例性示出了根据另一些实施例中的信令服务单元平滑升级前用户入会操作信令流程图;
图7示例性示出了根据另一些实施例中的信令服务单元平滑升级后用户入会操作信令流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语″第一″、″第二″、″第三″等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语″包括″和″具有″以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语″模块″是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
图1为本申请实施例提供的一种视频会议***的简图。
本申请提供的视频会议***100包括会议中心110、终端300和网络200。
首先将对会议中心100进行阐述,会议中心100为会议发起者使用的终端,用于视频会议***100的管理和控制。
在功能上,会议中心100包括4个模块,分别是应用模块111,控制模块112,处理模块113和存储模块114。
应用模块111的硬件包括显示屏,所述显示屏包括具有触摸功能的显示屏或传统的显示屏,所示显示屏可以显示接收来自各个终端的申请信息,并且显示交互指令的完成状态。
应用模块111还包括麦克风、扬声器和摄像头,会议的发起者也可以是会议的参与者,利用所述麦克风和摄像头组件可以在会议中心100所在地参与多方会议。
应用模块111还包括按键及外壳,所述按键用于控制进入会议、会议切换、记录、浏览、PC连接控制、音频转文字等功能;所述外壳为中空的腔体,其内部用于放置会议中心100终端设备。
应用模块111还包括至少一个主流的音视频和其它接口端子,例如usb,HDMI,VGA等,用于实现音视频的数据传输和控制。
应用模块111主要用于会议中心100对外的一切连接与交互。例如:会议中心100和各个终端的音视频数据信息以及其他文件传输,电话的接入和呼出,第三方通信的接入与呼出,接收终端用户的申请指令等。此外,应用模块100还需要将会议中心100的处理结果反馈至各个终端。
控制模块112包括控制寄存器和控制电路,用于接收应用模块111发送的信息并发送操作指令至处理模块113或存储模块114。
控制模块112主要负责接收应用中心111发送的各终端300的数据信息,并将所诉信息分类处理,发送至具体处理中心或者存储中心。
需要说明的是,如果终端300是本申请所述多方会议***定制的物理硬件或者软件终端,则数据信息的处理不涉及编码方式转换操作,控制模块112可以越过处理模块113直接访问存储模块114的音视频进行读写操作。
若控制模块112接收的读写请求来自终端300是第三方的通信软件,则第三方媒体需要控制模块112先进行判断所述终端的编码方式是否需要转码,如果需要则将请求发送至处理模块113,经转换编码格式的媒体数据进行存储。上述两种情况控制模块113都需要将所述的处理结果反馈至应用模块112。
控制模块112的控制寄存器可以将成功接入会议的的与会者信息进行记录,所述信息包括与会者所在终端300的终端识别号,终端300的音视频编码方式等。根据控制寄存器的容量大小,设定合理的存储数量,以便在再次相同终端300设备接入时,会议中心100能够准确快速的提供连接服务。
处理模块113包括音视频编解码芯片和处理器,用于接收控制模块112的指令处理具体的事务并将处理结果反馈至控制模块,所述具体的事务包括将收到的音视频转码为会议中心100默认编码方式的数据,也包括反向的编码方式转换,然后对存储模块114进行读写操作,从而完成会议中心100与第三方通信终端300的通信。
所述处理器可以包括解释和执行编程指令的任何类型的传统处理器或微处理器。
处理模块113从存储模块114中读取文本文件或者其他文件,然后将所述文件发送至应用模块111,进而将所述文件发送至终端300。
处理模块113从存储模块114读取音频数据并将所述音频数据转换为文本文件。
存储模块114包括存储器,用于会议中心100接收处理的音视频数据及文本数据按照会议中心默认编码方式进行存储,并接受应用模块的访问读取。
所述存储器包括非易失性存储器元件(例如,ROM、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM))。需要说明的是,所述存储器可以具有分布式架构,其中各种部件彼此远离但是可被处理器会议中心100访问。
下面将就与会议中心100配套使用的终端300进行进一步的阐述。
继续参考图1在本实施例的视频会议***终端300包括硬件终端301,软件终端302,第三方移动设备通信app303,第三方计算机通信软件304,第三方硬件终端305。
硬件终端301是本申请所述的视频会议***定制的硬件装置,可以包括麦克风,扬声器,摄像头,中央处理器,音视频处理器其中的至少一个或多个的组合。还包括至少一个存储器;至少一种通讯芯片,所述通讯芯片的通讯方式可以为Wifi、3G、LTE、蓝牙、RFID/NFC、有线连接、或支持通过连接在连接的设备之间交换消息的协议的任何类型的通讯方式的一种或多种组合;至少一个主流音视频接口端子,所述端子可以为usb,HDMI,VGA或其它类型接口端子的一种或多种组合;还可以包括显示屏,功能按键等用于会议中的操作。
软件终端302为视频会议***定制的应用在计算机***上的软件终端,通过利用所在计算机的硬件和软件,与会议中心100进行信息交互。
上述硬件终端301和软件终端302由于为定制终端,其音视频编码方式与会议中心100的编码方式相同,因此在会议过程中不需要进行音视频的编码转换,网络延时小。
第三方移动设备通信app303,包括应用较为广泛微信手机客户端,或QQ手机客户端,通过利用所在第三方移动设备的硬件和软件,与会议中心100进行信息交互。
第三方计算机通信软件304,包括广泛使用的微信计算机客户端,QQ计算机客户端软件等,通过利用所在计算机的硬件和软件,与会议中心100进行信息交互。
第三方硬件终端305,包括固定电话,移动电话等设备,上述设备都可以通过主动发起会议加入申请参与会议,通过利用所在第三方硬件终端,与会议中心100进行信息交互。
通信网络200为会议中心100和终端300进行信息交互提供通道。网络200是由服务提供商管理的被管理IP网络或公用电话网络;网络200也可以是例如使用诸如WiFi、WiMax等无线协议和技术;网络200还可以是分组交换网络,诸如局域网、广域网、城域网、因特网或其他类似类型的网络环境;网络200可以是固定无线网络、无线局域网(LAN)、无线广域网(WAN)、个人局域网(PAN)、虚拟专用网络(VPN)、内联网或其他合适的网络***。
目前用户使用的视频会议***中信令服务单元进行升级时,采用的方式之一为在人工指定升级时间段,如凌晨1点-2点,在该时间段,线上流量相对较少,或者发布一个升级公告告知用户在指定时间段内不要访问目的网址,从而实现***升级。该种升级方式需要中断现有的服务内容,然后再进行***升级,升级完成之后,再运行新版本***,对外提供服务,该过程需要是中断业务的,中断时长视升级过程长短而定。
但是如今的视频会议***面向的是全球用户,并没有流量较少的特定时间段可以供服务器升级,上述人工指定升级时间段,如凌晨1点-2点,只适用于部分用户,并不能作为一种线上流量相对较少的时间段作为参考;同时,对于中断现有的服务内容,当信息***规模大,节点多,覆盖面广时,***的停止运行会带来很大负面影响,有时甚至会给用户带来损失;另外,部分***在运行过程中是不允许中断运行的。可见,上述升级方式并不适用于如今面向全球用户的视频会议***。
再者,基于上述问题,开发者又给出一种新的视频会议***升级方式,即建立服务端程序平滑过渡连接,例如nginx在升级过程中会启动新的进程,用来接受新的连接,将旧进程保存旧的连接直至连接释放。
然而,视频会议***中的用户信令均为长连接,上述Nginx的平滑过渡方法只适用于短连接,因此,建立服务端程序平滑过渡连接并不能作为一种普遍的升级方式应用于视频会议***的升级中。
视频会议***在软件层分为视频流和信令层,视频流和信令层是两个通信不一样的网络模型,视频流的网络通信采用的是UDP协议,UDP协议是不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。而信令层采用的是TCP协议,TCP协议是一种通用的网络协议,面向连接的、可靠的字节流服务,网络断连或者信令服务单元重启后,需要重新建立连接,因为客户端的信息需要重建,但是视频流是不需要断开的,视频会议可以正常进行。
因此,在视频会议进行的过程中,视频卡顿或者数据丢失是不会影响具体的会议进行的,即为UDP协议,可以存在数据丢失,不会对视频会议过程有太大的影响;但是如果在信令层,客户端的入会信息,包括用户的身份、名称、自己的秘钥以及其他的账户信息,则不能丢失,一旦丢失或者信息错误,会导致信息混乱,因此,信令层必须保证信息的完整性,必须在升级的过程中将信息完全回复。
基于此,为了保持视频会议信令服务单元在视频会议运行过程中的连续性,本申请实施例提供了一种视频会议中信令服务单元平滑升级的方法,在信令服务单元升级完成之后,使得***升级前信令服务单元中的视频会议内容完成恢复,客户端对信令服务单元升级、重启无感知,大大提高了用户使用视频会议***的用户体验。
如图2所示,本申请实施例提供一种视频会议服务器,包括信令服务单元和数据库,其中,数据库,用于对信令服务单元中的视频会议内容进行存储,作为一种实施方式,所述视频会议内容,包括:客户端的用户信息、发布流信息和订阅流信息。
如图3所示,本申请实施例提供一种视频会议信令服务单元的通信方法,包括:
S100、响应于接收到的***升级指令,控制信令服务单元进行***升级。
一些实施例中,***升级指令用于指示信令服务单元进行***升级,可以是控制单元定期或者不定期下发的。
一些实施例中,在信令服务单元***升级完成后,或者在升级的过程中,出现异常状态,均会导致信令服务单元重启,在重启之后,信令服务单元中所有的数据便会丢失,即相当于所有的用户状态都回到了原点,对于客户端来说,再重新与信令服务单元连接时,需要重新执行一遍入会的操作流程,该流程对于整个视频会议***的使用来说是比较消耗资源的。对于客户端来说,信令服务单元的重启,会使得客户端在视频会议进行的过程中,明显感觉到视频发生抖动的状态,客户端需要与信令服务单元重新建立连接。
本申请实施例中,信令服务单元***升级完成后,执行以下操作:S200、升级完成后,读取数据库中预存的第一视频会议内容,并将所述第一视频会议内容加载到信令服务单元的内存中,需要说明的是,所述第一视频会议内容为信令服务单元升级前所携带的客户端信息。
一些实施例中,在视频会议进行的过程中,会周期性的将视频会议内容存储以特定的方式存储在数据库中,当信令服务单元升级完成,重启之后,读取数据库中预存的第一视频会议内容,并将所述第一视频会议内容加载到信令服务单元的内存中,而所述第一视频会议内容为信令服务单元升级前所携带的客户端信息,如此一来,对于客户端来说入会执行的操作不是从原点进行启动的,相当于在原有信息的基础上进行恢复,因此,信令服务单元在重启或者断开的状态下,用户是无感知的。具体的,该视频会议内容包括客户端的用户信息、发布流信息和订阅流信息,换句话说,也就是信令服务单元在升级之前所存储在数据库中的视频会议内容,当需要读取此类信息时,直接从数据库中进行调用,当信令服务单元完成升级重启之后,用户重新连接的时候,会将这些用户信息、发布流信息和订阅流信息从数据库中不遗漏的全部读取出来,并透给用户,之后的入会操作,则不需要信令服务单元升级前所携带的客户端再进行重复执行。
在一些实施例中,在信令服务单元升级、重启或者出现问题之前,周期性的将所述信令服务单元中的视频会议内容序列化存储至数据库中,序列化是指当数据需要存储和传输时,把内存中分散的数据结构转换为连续的字节流的过程。
可见,该序列化的存储需要不间断的记录视频会议的状态,将会议的客户端信息存储在数据库中,而在数据存储的过程中,一般的不间断较难实现,因此,可以采用周期性的方式记录会议状态,比如间隔1秒钟写入一次,由于是周期性的采集,那么会出现以下情况,如在1秒钟写入的过程中发生了异常情况,则会导致在这1秒钟的信息全部或者部分未被写入,从而出现重启后不能恢复的情况,造成数据的丢失不完全写入。因此,不可避免的会导致数据的丢失,需要尽量做到客户端信息尽可能完全的写入,才会在信令服务单元升级重启之后,客户端无感知,达到平滑升级的效果。
一些实施例中,如图4所示,通过下述步骤执行周期性的将所述信令服务单元中的视频会议内容序列化存储至数据库中:
S201、获取视频会议内容,所述视频会议内容包括客户端的用户信息、发布流信息和订阅流信息;S202、将所述视频会议内容数据结构化为多个房间信息;S203、将所述视频会议内容数据存储在房间信息所对应的房间中;S204、将所述房间与其对应的信令服务单元相关联;S205、周期性的将信令服务单元中对应的房间信息写入数据库中。
需要说明的是,首先,在通信传输通道上会有很多信令服务单元,每个信令服务单元通常会涵盖较多视频会议内容,比如,线上目前有10台信令服务单元工作,该10台信令服务单元共用一个数据库,因此,在数据恢复时,需要首先判断哪一个信息是我们当前信令服务单元中的内容。基于此,本申请实施例中采用树形结构的数据存储方式将视频会议内容存储在数据库中,具体的,将一级节点设置为当前信令服务单元地址,用以区分线上信令服务单元;二级节点设置为房间,用以区分当前信令服务单元下的房间信息;三级节点设置为client和publisher,分别代表房间下的客户端信息。因此,在数据恢复时,首先从一级结点找到当前信令服务单元的内容,然后在当前信令服务单元内找出所有的房间信息,由于一台信令服务单元上24小时之内可能会有很多房间,开很多会,在房间信息下找出每个房间的用户信息,再在每个房间下找出客户端的用户信息、发布流信息和订阅流信息。
如图5所示,具体可按照下述步骤执行读取数据库中预存的视频会议内容并将所述视频会议内容加载到信令服务单元的内存中:S206、遍历数据库中所有的信令服务单元数据,得到当前信令服务单元数据;S207、遍历出所述当前信令服务单元数据关联的所有房间;S208、在每个房间下遍历出所有的房间信息;S209、读取所述房间信息中对应的视频会议内容;S210、将所述视频会议内容加载到当前信令服务单元的内存中。
在一些实施例中,由于视频会议中的信息很多,它需要有效的存储为数据库中的格式的同时还需要有效的读取,相当于一个双向操作,既要将内容写进去,又要准确的读出来。在本申请实施例中提供的方法为,在信令服务单元中,通过所述镜像服务接口将所述信令服务单元中的视频会议内容进行序列化存储。配置的镜像服务接口,能够将视频会议内容抽象成数据结构存储在数据库中。视频会议镜像服务接口,相当于它在数据库中存储的格式,也就是说,其能够以最有效的方式将视频会议中的客户端信息进行存储。
本申请实施例中,升级完成后,读取数据库中预存的第一视频会议内容,并将所述第一视频会议内容加载到信令控制单元的内存中之后,执行以下操作:S300、接收客户端发送的请求入会指令,其中,客户端发送的请求入会指令包括第二视频会议内容,所述第二视频会议内容为信令服务单元升级后所携带的客户端信息。
本申请实施例中,第一视频会议内容为信令服务单元升级前所携带的客户端信息,即写入数据库中的预存视频内容,信令服务单元升级重启之后,从数据库中进行调取,第二视频会议内容为信令服务单元升级后所携带的客户端信息。
S400、响应于所述请求入会指令,基于所述第一视频会议内容与第二视频会议内容,控制所述客户端加入视频会议。
在视频会议进行的过程中,客户端会不断与信令服务单元进行连接,并向信令服务单元发送请求入会指令(Join),信令服务单元进行回复(Response),回复中携带视频会议中所有的客户端。因此,为了防止信令服务单元重启过程中外部环境有变化,也就是加入新的客户端,需要对上述第一视频会议内容与第二视频会议内容讲行对比,根据对比结果对视频会议内容进行校验以及重建,从而完成入会操作。
一些实施例中,视频会议服务器通信方法还包括以下步骤:
S401、若第一视频会议内容与第二视频会议内容一致,则开启连接建立服务,并控制第一客户端加入视频会议,所述第一客户端为信令服务单元升级前加入视频会议的客户端;
S402、若第一视频会议内容与第二视频会议内容不一致,则开启连接建立服务,控制第一客户端基于所述第一视频会议内容加入视频会议,以及,控制第二客户端加入视频会议,所述第二客户端为信令服务单元升级后发送请求入会指令的客户端。
信令服务单元在升级重启之后是需要重新连接用户的,在普通的视频会议连接过程中,也就是在平滑升级之前,需要进行常规的入会操作,一些实施例中,如图6所示,客户端需要执行以下入会操作:
客户端向信令服务单元发送入会请求(Join),信令服务单元进行回复(Response),并向其他客户端发送通知(Notify),信令服务单元回复中携带会议中所有的其他客户端信息;
客户端进行信息发布(Publish),信令服务单元进行回复(Response),并向其他客户端发送通知(Notify);
待所有客户端收到通知(Notify)后,通过协商(Negotiation)过程,根据需要进行订阅(Subscribe),并将订阅后的信息发送至信令服务单元。
在上述用户信令的传输过程中,客户端和信令服务单元通过心跳检查连接是否存在。心跳连接作为客户端和服务端建立连接的一种形式,由于各个信令的传输是在网络上,而网络上不可避免的存在故障,比如断网、网络故障、或者服务器重启等,因此需要客户端和信令服务单元建立通信形式,作为一种实施方式,比如客户端与信令服务单元之间间隔1秒进行通信一下,通知对方是否存在,设置为超过10秒未回复,则说明相互之间的连接断开,需要清理资源,重新连接。由于服务器的升级,当客户端与信令服务单元断连(Disconnect)后,在传统形式下,则需要重新连接(Rejoin),重连成功后,重复上述入会操作,即重新执行Join、Publish、Subscribe操作(并伴随Unjoin、Unpublish、Unsubscribe等操作),也就是说,之前的入会流程在服务器重启之后均需要重新执行一遍,包括信令服务单元中重新配置用户信息、用户的订阅流和发布流信息。
采用本申请实施例中的技术方案之后,平滑升级后的信令服务单元,基于上述第一视频会议内容,对于信令服务单元升级前加入视频会议的第一客户端,只需要重新连接即可。具体的,如图7所示,平滑升级后的入会操作包括以下步骤:
客户端向信令服务单元端发送入会请求(Join),信令服务单元端进行回复(Response),并向其他客户端发送通知(Notify),回复中携带会议中所有的其他用户信息;
客户端进行信息发布(Publish),信令服务单元进行回复(Response),并向其他客户端发送通知(Notify);
待所有客户端收到通知(Notify)后,根据需要进行订阅(Subscribe);信令服务单元接收到升级指令后,客户端与信令服务单元断连(Disconnect),信令服务单元完成升级,并进行重启,重启以后需要与客户端进行重新连接(Rejoin);
信令服务单元重新接受客户端发送的入会请求(Join)指令,并进行回复(Response),且向其他客户端发送通知(Notify),回复中携带会议中所有的客户端信息:
客户端发送的请求入会指令即为第二视频会议内容,该第二视频会议内容为信令服务单元升级后所携带的客户端信息,将信令服务单元升级后所携带的客户端信息与从数据库中调取的视频会议内容中的客户端信息进行比对,若保持一致,说明在信令服务单元重启过程中外部环境无变化,即无新的用户加入,此时将数据库中调取的视频会议内容直接加载至信令服务单元中,完成第一客户端即信令服务单元升级前加入视频会议的客户端的入会操作;如果不一致,说明在信令服务单元重启过程中外部环境有变化,即有新的用户加入,即信令服务单元升级后发送请求入会指令的第二客户端,此时,针对于数据库中调取的视频会议内容,将数据库中调取的视频会议内容直接加载至信令服务单元中,控制信令服务单元升级前加入视频会议的客户端入会;而针对于第二客户端则重新执行入会操作,即重新执行Join、Publish、Subscribe操作(并伴随Unjoin、Unpublish、Unsubscribe等操作),也就是说,之前的入会流程在服务器重启之后只需要针对新加入的第二客户端重新执行,包括用户信息、用户的订阅流和发布流信息,而对于升级之前数据库中存储的第一客户端信息不需要重新执行入会操作,直接将其加载至信令服务单元中即可。
本申请实施例提供一种视频会议信令服务单元通信方法,所述方法包括:
响应于接收到的***升级指令,控制信令服务单元进行***升级;
升级完成后,读取数据库中预存的第一视频会议内容,并将所述第一视频会议内容加载到信令服务单元的内存中,所述第一视频会议内容为信令服务单元升级前所携带的客户端信息;
接收客户端发送的请求入会指令,其中,客户端发送的请求入会指令包括第二视频会议内容,所述第二视频会议内容为信令服务单元升级后所携带的客户端信息;
响应于所述请求入会指令,基于第一视频会议内容与第二视频会议内容,控制所述客户端加入视频会议。
所述方法还包括:
若第一视频会议内容与第二视频会议内容一致,则开启连接建立服务,并控制第一客户端加入视频会议,所述第一客户端为信令服务单元升级前加入视频会议的客户端。
若第一视频会议内容与第二视频会议内容不一致,则开启连接建立服务,控制第一客户端基于所述第一视频会议内容加入视频会议,以及,控制第二客户端加入视频会议,所述第二客户端为信令服务单元升级后发送请求入会指令的客户端。
本申请的有益效果在于,在上述实施例中,一种视频会议服务器及通信方法,在视频会议进行过程中,对信令服务单元进行***升级,升级完成后,读取数据库中预存的视频会议内容,并将所述视频会议内容加载到信令服务单元的内存中,从而使得***升级前信令服务单元中的视频会议内容完成恢复,客户端对信令服务单元升级、重启无感知,大大提高了用户使用视频会议***的用户体验。
本说明书通篇提及的″多个实施例″、″一些实施例″、″一个实施例″或″实施例″等,意味着结合该实施例描述的具体特征、结构或特性包括在至少一个实施例中。因此,本说明书通篇出现的短语″在多个实施例中″、″在一些实施例中″、″在至少另一个实施例中″或″在实施例中″等并不一定都指相同的实施例。此外,在一个或多个实施例中,具体特征、结构或特性可以任何合适的方式进行组合。因此,在无限制的情形下,结合一个实施例示出或描述的具体特征、结构或特性可全部或部分地与一个或多个其他实施例的特征、结构或特性进行组合。这种修改和变型旨在包括在本申请的范围之内。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为″数据块″、″模块″、″引擎″、″单元″、″组件″或″***″。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
需要说明的是,术语″包括″、″包含″或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
应当理解的是,本申请并不局限于上面已经描述的内容,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (8)

1.一种视频会议服务器,其特征在于,包括:
数据库;
信令服务单元;
所述信令服务单元,被配置为:
响应于接收到的***升级指令,控制所述信令服务单元进行***升级;
升级完成后,读取数据库中预存的第一视频会议内容,并将所述第一视频会议内容加载到信令控制单元的内存中,所述第一视频会议内容为信令服务单元升级前所携带的客户端信息;
接收客户端发送的请求入会指令,其中,客户端发送的请求入会指令包括第二视频会议内容,所述第二视频会议内容为信令服务单元升级后所携带的客户端信息;
响应于所述请求入会指令,若第一视频会议内容与第二视频会议内容一致,则开启连接建立服务,并控制第一客户端加入视频会议,所述第一客户端为信令服务单元升级前加入视频会议的客户端。
2.根据权利要求1所述的视频会议服务器,其特征在于,所述信令服务单元,还被配置为:
若第一视频会议内容与第二视频会议内容不一致,则开启连接建立服务,控制第一客户端基于所述第一视频会议内容加入视频会议,以及,控制第二客户端加入视频会议,所述第二客户端为信令服务单元升级后发送请求入会指令的客户端。
3.根据权利要求1所述的视频会议服务器,其特征在于,所述视频会议内容,包括:客户端的用户信息、发布流信息和订阅流信息。
4.根据权利要求1所述的视频会议服务器,其特征在于,所述信令控制单元,还被配置为:
周期性的将信令控制单元中的视频会议内容存储至数据库中。
5.根据权利要求1所述的视频会议服务器,其特征在于,所述信令服务单元,配置有镜像服务接口,所述信令服务单元,还被配置为:
通过所述镜像服务接口将信令服务单元中的视频会议内容存储至数据库中。
6.根据权利要求1所述的视频会议服务器,其特征在于,读取数据库中预存的第一视频会议内容,并将所述第一视频会议内容加载到信令服务单元的内存中,包括:
遍历数据库中所有的信令服务单元数据,得到当前信令服务单元数据;
遍历出所述当前信令服务单元数据关联的所有房间;
在每个房间下遍历出所有的房间信息;
读取所述房间信息中对应的第一视频会议内容;
将所述第一视频会议内容加载到所述当前信令服务单元的内存中。
7.一种通信方法,其特征在于,
响应于接收到的***升级指令,控制信令服务单元进行***升级;
升级完成后,读取数据库中预存的第一视频会议内容,并将所述第一视频会议内容加载到信令服务单元的内存中,所述第一视频会议内容为信令服务单元升级前所携带的客户端信息;
接收客户端发送的请求入会指令,其中,客户端发送的请求入会指令包括第二视频会议内容,所述第二视频会议内容为信令服务单元升级后所携带的客户端信息;
响应于所述请求入会指令,若第一视频会议内容与第二视频会议内容一致,则开启连接建立服务,并控制第一客户端加入视频会议,所述第一客户端为信令服务单元升级前加入视频会议的客户端。
8.根据权利要求7所述的通信方法,其特征在于,所述方法还包括:
若第一视频会议内容与第二视频会议内容不一致,则开启连接建立服务,控制第一客户端基于所述第一视频会议内容加入视频会议,以及,控制第二客户端加入视频会议,所述第二客户端为信令服务单元升级后发送请求入会指令的客户端。
CN202110742265.9A 2021-06-24 2021-06-24 一种视频会议服务器及通信方法 Active CN113596380B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110742265.9A CN113596380B (zh) 2021-06-24 2021-06-24 一种视频会议服务器及通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110742265.9A CN113596380B (zh) 2021-06-24 2021-06-24 一种视频会议服务器及通信方法

Publications (2)

Publication Number Publication Date
CN113596380A CN113596380A (zh) 2021-11-02
CN113596380B true CN113596380B (zh) 2023-05-09

Family

ID=78245636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110742265.9A Active CN113596380B (zh) 2021-06-24 2021-06-24 一种视频会议服务器及通信方法

Country Status (1)

Country Link
CN (1) CN113596380B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101918937A (zh) * 2007-12-05 2010-12-15 生命力有限公司 使用流动互动式视频的用于合作会议的***
CN102546773A (zh) * 2010-12-15 2012-07-04 微软公司 提供复原***
CN103763507A (zh) * 2014-01-09 2014-04-30 深圳市迪威视讯股份有限公司 视频会议终端、服务端、视频会议终端的升级***及方法
JP2015222900A (ja) * 2014-05-23 2015-12-10 Necエンジニアリング株式会社 遠隔会議システム、遠隔会議サーバ、遠隔会議方法及びプログラム
CN109803178A (zh) * 2019-01-03 2019-05-24 视联动力信息技术股份有限公司 一种终端升级方法和装置
CN110502259A (zh) * 2019-07-16 2019-11-26 视联动力信息技术股份有限公司 服务器版本升级方法、视联网***、电子设备及存储介质
CN112559013A (zh) * 2020-12-24 2021-03-26 厦门亿联网络技术股份有限公司 一种视频会议服务***及其灰度升级方法、装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101918937A (zh) * 2007-12-05 2010-12-15 生命力有限公司 使用流动互动式视频的用于合作会议的***
CN102546773A (zh) * 2010-12-15 2012-07-04 微软公司 提供复原***
CN103763507A (zh) * 2014-01-09 2014-04-30 深圳市迪威视讯股份有限公司 视频会议终端、服务端、视频会议终端的升级***及方法
JP2015222900A (ja) * 2014-05-23 2015-12-10 Necエンジニアリング株式会社 遠隔会議システム、遠隔会議サーバ、遠隔会議方法及びプログラム
CN109803178A (zh) * 2019-01-03 2019-05-24 视联动力信息技术股份有限公司 一种终端升级方法和装置
CN110502259A (zh) * 2019-07-16 2019-11-26 视联动力信息技术股份有限公司 服务器版本升级方法、视联网***、电子设备及存储介质
CN112559013A (zh) * 2020-12-24 2021-03-26 厦门亿联网络技术股份有限公司 一种视频会议服务***及其灰度升级方法、装置

Also Published As

Publication number Publication date
CN113596380A (zh) 2021-11-02

Similar Documents

Publication Publication Date Title
US8726082B2 (en) Method and system for providing incomplete action monitoring and service for data transactions
CN111246152B (zh) 视频会议自动恢复方法及装置、存储介质、电子装置
CN113630574A (zh) 视频通话方法及终端设备
CN112114761A (zh) 一种无线投屏控制方法、装置、终端设备及可读存储介质
EP3217596B1 (en) Communication terminal, communication system, and data transmission method
CN111880865A (zh) 多媒体数据推送方法、装置、电子设备及存储介质
CN110895469A (zh) 双机热备***的升级方法、装置及电子设备和存储介质
TW202147834A (zh) 同步本地房間和遠端共享
CN112398689A (zh) 网络恢复方法、装置、存储介质及电子设备
CN113114778A (zh) 一种数据传输方法、装置、电子设备以及存储介质
CN112131135B (zh) 一种密文运算调试方法、***和用于密文运算调试的装置
CN103581607A (zh) 使用远程摄像机设备将视频流传递到本地端点主机的方法
CN113596380B (zh) 一种视频会议服务器及通信方法
WO2013175717A1 (ja) テレビ会議システム
CN114902620B (zh) 网关***、网关设备身份确定方法、装置及存储介质
JP4229774B2 (ja) セッション制御プログラムと通信端末装置
JP2017069936A (ja) 通信端末、通信システム、出力方法、及びプログラム
CN115720193A (zh) 一种基于组播的软件部署方法及装置
CN115695388A (zh) 一种多媒体会议的控制方法及装置
CN109426575B (zh) 通话业务处理方法及装置
JP2019201322A (ja) 遠隔メンテナンスシステム及び情報処理方法
CN103941961A (zh) 一种应用更新的提示方法、装置及设备
CN114554230B (zh) 连麦状态处理方法、装置、终端、计算机设备及存储介质
CN114363665B (zh) 多业务码流推送方法、***、计算机设备和存储介质
CN112637542B (zh) 通话连接建立方法、装置、计算机设备和存储介质

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