对讲方法、中心服务器、流服务器及对讲***
技术领域
本发明涉及通信领域,特别是涉及一种对讲方法、中心服务器、流服务器及对讲***。
背景技术
随着安防行业的发展,安防监控设备引入了声音的采集、传输、存储和播放技术实施对讲,使得监控设备的用途更广,应用的场景更丰富,配合用户的需求完成更全面的监控。
现有的对讲***包括监控客户端、服务器和监控设备,监控客户端发起对讲后,将对讲信息,如音频、视频等信息通过服务器传输到监控设备进行播放。
但现有安防行业设备厂商众多,一个对讲***中可能存在众多厂商和设备型号的监控设备。客户端与不同厂商或型号的监控设备进行对讲时,需要修改对讲***,如重新开发或修改客户端的对讲程序及服务器中相应的程序,从而导致客户端与监控设备之间的对讲过程繁琐、对讲效率低,不便于用户使用。
发明内容
鉴于上述状况,有必要针对现有技术中客户端与不同型号或厂商的监控设备之间对讲效率低的问题,提供一种对讲方法、中心服务器、流服务器及对讲***。
本发明实施例提供了一种对讲方法,应用于中心服务器,所述中心服务器连接至少一台流服务器,所述对讲方法包括:
接收客户端发送的对讲请求信息,并调度一所述流服务器;
将调度的当前流服务器的IP地址信息发送至所述客户端和监控设备,以使所述客户端和所述监控设备分别建立与所述当前流服务器之间的连接通道,所述连接通道用于使所述当前流服务器将所述客户端发起的对讲信息传输至所述监控设备。
本发明实施例中,客户端与不同厂商或型号的监控设备均可快速建立连接,并进行对讲。在搭建对讲***时,只需要在监控设备中集成客户端的软件开发包(SDK),监控设备只需要按照***协议实施对讲。除新接入的监控设备需做兼容性开发外,整个对讲***包括客户端、中心服务器、流服务器均无需做任何软件开发或修改,即可实现客户端与监控设备的对讲,提高对讲***的构建效率。
上述对讲方法,其中,所述中心服务器调度一所述流服务器的步骤包括:
所述中心服务器获取每个所述流服务器的连接信息,并根据所述连接信息确定空闲流服务器;
调度一所述空闲流服务器。
中心服务器根据各个流服务器连接情况确定空闲流服务器,并调度一台空闲的流服务器进行对讲信息的转发,对流服务器进行合理调配和有效利用,从而避免流服务器负载过高而崩溃。当某台流服务器宕机后,中心服务器会调度其它流服务器接管服务。
上述对讲方法还包括:
当所述中心服务器接收到所述客户端发送的停止对讲的请求时,发送通知信息至所述当前流服务器,以使所述当前流服务器断开与所述客户端和与所述监控设备之间的连接通道。
中心服务器收到停止语音对讲的指令后通知流服务器断开与客户端和监控设备之间的连接通道,以停止对讲并释放资源,优化对讲***。
本发明实施例还提供了一种对讲方法,应用于流服务器,包括:
当接收到中心服务器发送的调度指令时,响应所述调度指令,并分别建立与所述客户端及所述监控设备之间的连接通道;
通过与所述客户端之间的连接通道接收所述客户端发送的对讲信息,并通过与所述监控设备之间的连接通道将所述对讲信息发送至所述监控设备。
与现有技术相比,本发明实施例通过设置流服务器承担对讲信息的转发工作,提高了对讲信息的传输效率,同时也便于对讲***的搭建和简化了对讲流程。通过在对讲***中设置流服务器,可建立与客户端及监控设备之间的连接通道,从而使客户端与不同厂商或型号的监控设备均可快速建立连接,提高对讲效率。
上述讲方法,其中,所述分别建立与所述客户端及所述监控设备之间的连接通道的步骤之后还包括:
当在预设的限定时间内未获取到所述客户端发送的对讲信息时,断开与所述客户端以及与所述监控设备之间的连接通道。
通过流服务器检测客户端发送的对讲信息的时间,及时停止对讲,释放***资源,提高对讲效率。
上述对讲方法,其中,所述断开与所述客户端以及与所述监控设备之间的连接通道的步骤包括:
当前流服务器发送断开连接请求至所述客户端和所述监控设备,以使所述客户端和所述监控设备分别断开与所述当前流服务器之间的连接通道,并使所述监控设备向所述客户端反馈请求结果。
本发明实施例还提供了一种中心服务器,所述中心服务器连接至少一台流服务器,所述中心服务器包括:
接收模块,用于接收客户端发送的对讲请求信息;
调度模块,用于调度流服务器;
发送模块,用于将调度的当前流服务器的IP地址信息发送至所述客户端和监控设备,以使所述客户端和所述监控设备分别建立与所述当前流服务器之间的连接通道,所述连接通道用于使所述当前流服务器将所述客户端发起的对讲信息传输至所述监控设备。
上述中心服务器,其中,所述调度模块具体用于:
所述中心服务器获取每个所述流服务器的连接信息,并根据所述连接信息确定空闲流服务器;
调度一所述空闲流服务器。
本发明实施例还提供了一种流服务器,包括:
连接建立模块,用于当接收到中心服务器发送的调度指令时,响应所述调度指令,并分别建立与所述客户端及所述监控设备之间的连接通道;
信息转发模块,用于通过与所述客户端之间的连接通道接收所述客户端发送的对讲信息,并通过与所述监控设备之间的连接通道将所述对讲信息发送至所述监控设备。
本发明实施例还提供了一种对讲***,包括客户端、中心服务器、与所述中心服务器连接的至少一台流服务器,以及监控设备,其中,
所述客户端用于发起或停止与监控设备的对讲;
所述中心服务器用于接收所述客户端和监控设备发送的信息,以及调度所述流服务器;
所述流服务器用于与所述客户端和所述监控设备建立连接通道,并通过所述连接通道将所述客户端发起的对讲信息转发至所述监控设备;
所述监控设备用于播放所述客户端发其的对讲信息。
附图说明
图1为本发明第一实施例中的对讲方法的流程图;
图2为本发明第二实施例中的对讲方法的流程图;
图3为本发明第三实施例中的对讲***的结构示意图;
图4为本发明第三实施例中的中心服务器的结构框图;
图5为本发明第三实施例中的流服务器的结构框图;
图6为本发明第三实施例中的对讲***的信令图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
本发明实施例中的对讲方法应用于对讲***中,该对讲***包括客户端、中心服务器和与中心服务器连接的至少一台流服务器,以及至少一个监控设备。该客户端安装于监控终端中用于监控该监控设备,该监控终端例如为手机、电脑、平板电脑、智能手表等可穿戴设备。客户端为用户提供登录监控平台、查询监控设备列表、启动或停止对讲,以及采集用户发出的音频或视频信息并做对应编码转换等功能。该监控设备为具备摄像头的设备,例如为门口机。流服务器用于承担对讲过程中的信息中转的功能,实现客户端与健康设备之间的对讲业务。
请参阅图1,为本发明第一实施例中的对讲方法,包括步骤S11~S15。
步骤S11,客户端发送对讲请求信息至中心服务器。
客户端发送对讲请求信息包括需要进行监控的设备标识,监控设备标识用于区分被监控的监控设备。中心服务器接收到请求信息时,根据请求信息中的设备标识查找对应的监控设备,并将请求信息发送至查找到的监控设备。
可以理解的,客户端发送或接收的信息可以通过客户端接入服务器进行转发。客户端接入服务器用于连接各个客户端,客户端通过账号登录至客户端接入服务器,客户端接入服务器对客户端进行登录验证成功后,对客户端的对讲请求的响应和转发处理。
步骤S12,中心服务器根据请求信息调度一台流服务器。
中心服务器接受客户端发送的请求信息,并调度一台流服务器作为对讲***的中转设备,同时控制监控设备启动对讲。具体实施时,中心服务器根据流服务器中的连接情况进行调度。流服务器预先注册连接至中心服务器连接,实时向流服务器发送连接信息,该连接信息包括与客户端、监控设备之间的连接情况。中心服务器根据各个流服务器的连接信息确定是否有空闲流服务器,即确定是否存在未连接客户端及终端的流服务器。若有空闲流服务器,就调度其中一台空闲流服务器。
当前流服务器的调度步骤具体为:中心服务器先发送调度指令至当前流服务器,当前流服务器响应调度指令。
流服务器除了向中心服务器发送连接信息外,还会发送对讲信息转发数量,中心流服务器在调度流服务器时时会根据对讲信息转发路数来决定,避免某些流服务器转发了过多的对讲信息。
步骤S13,调度的当前流服务器建立与所述客户端之间的第一连接通道,以及建立与一监控设备之间的第二连接通道。
具体实施时,中心服务器接收客户端发送的对讲请求信息后,将对讲请求信息通过设备接入网关发送至监控设备。监控设备接收该对讲请信息后,向设备接入网关发送接入该设备网关的请求,并接收设备接入网关基于该请求反馈的启动指令,以接入网关。
监控设备在响应设备接入网关的启动指令时,发送建立连接的指令至当前流服务器,当前流服务器执行该指令建立与流服务器之间的信息传输连接通道,即第二连接通道。之后,客户端向当前流服务器发送建立连接的指令,当前流服务器也同时建立与客户端之间的信息传输连接通道,即第一连接通道。两个连接通道建立成功的情况下,可启动对讲,否则返回对应的错误信息并向用户展示启动结果。
步骤S14,客户端通过第一连接通道发送对讲信息至当前流服务器。
步骤S15,当前流服务器接收该对讲信息并将该对讲信息通过第二连接通道发送至监控设备。
对讲启动成功后,用户通过客户端发送对讲信息,该对讲信息例如为语音信息或视频信息。客户端发送的对讲信息直接通过当前流服务器转发至监控设备。监控设备接收到对讲信息后进行播报。
与现有技术相比,本实施例通过设置流服务器承担对讲信息的转发工作,提高了对讲信息的传输效率,同时也便于对讲***的搭建和简化了对讲流程。
在搭建对讲***时,只需要在监控设备中集成客户端的软件开发包(SDK),监控设备只需要按照***协议实施对讲。不同厂商或型号的监控设备均可接入至该对讲***中,除新接入的监控设备需做兼容性开发外,整个对讲***包括客户端、中心服务器、流服务器均无需做任何软件开发或修改,即可实现客户端与监控设备的对讲,提高了对讲效率。本实施例中的对讲***兼容性强,任何厂家或型号的设备均可接入***,并完成对讲功能,且该对讲***易实现性、易维护性和低耦合,通过本实施例的方法和实施流程,每两个模块间的交互均可独立维护,不影响整体流程和效果。
请参阅图2,为本发明第二实施例中的对讲方法,包括步骤S21~S27。
步骤S21,客户端发送对讲请求信息至中心服务器。
步骤S22,中心服务器获取每个流服务器的连接信息,并根据所述连接信息确定空闲流服务器。
步骤S23,中心服务器发送一调度指令至一空闲流服务器。
中心服务器连接多个流服务器,流服务器的数量可根据监控设备的数量和使用情况进行设置。中心服务器获取各个流服务器的连接信息、对讲信息转发量等信息确定各个流服务器的使用状态。中心服务器根据流服务器的连接信息确定空闲流服务器。当中心服务器确定的空闲流服务器具备多个时,可任意调度一台空闲流服务器。
可以理解的,中心服务器也可以采用动态调度各个流服务器,根据各个空闲流服务器的对讲信息转发量确定需要调度的空闲流服务器,即调度将具有最小对讲信息转发量的空闲流服务器,从而避免某一流服务器负载过高而崩溃。当某台流服务器宕机后,中心服务器会调度其它流服务器接管服务。
中心服务器调度流服务器后,将客户端发送的对讲请求信息发送至设备接入网关。设备接入网关负责和监控设备进行适配,接入监控设备,并向监控设备转发中心服务器的控制指令同时接收设备的应答结果,并把结果回传给中心服务器。
步骤S24,当前流服务器响应中心服务器发送的调度指令,并建立与所述客户端之间的第一连接通道,以及建立与监控设备之间的第二连接通道。
步骤S25,客户端通过第一连接通道发送对讲信息至当前流服务器。
步骤S26,当前流服务器接收该对讲信息并将该对讲信息通过第二连接通道发送至监控设备。
客户端发送的对讲信息直接通过第一连接通道和第二连接通道传送至监控设备,提高了信息传输效率。
步骤S27,当当前流服务器在预设的限定时间内未获取到所述客户端发送的对讲信息时,当前流服务器断开第一连接通道和第二连接通道。
当前流服务器接收到对讲信息时,进行计时,当计时达到预设的限定时间时,则断开与客户端之间的第一连接通道,以及断开与监控设备之间的第二连接通道。该限定时间根据实际需求进行设置,例如设置为2h,当当前流服务器2h没有接收到对讲信息时,断开第一连接通道和第二连接通道,防止设备通道的占用影响对讲。
当前流服务器断开第一连接通道和第二连接通道的具体步骤为:
步骤S271,当前流服务器分别发送断开连接请求至客户端和监控设备;
步骤S272,客户端接收当前流服务器发送的断开连接请求,并将该断开连接请求发送至中心服务器,当客户端接收到中心服务器反馈的请求结果时,拆除第一连接通道;
步骤S273,监控设备接收当前流服务器发送的断开连接请求,并拆除第二连接通道,以及发送请求结果至设备接入网关;
步骤S274,设备接入网关将监控设备发送的请求结果通过中心服务器转发至客户端。
当前流服务器不仅承担对讲信息转发的工作还实时检测对讲信息的发送时间,当检测到在预设的限定时间内未接收到客户端发送的对讲消息时,向客户端和监控设备发送断开连接请求,以使客户端和监控设备拆除与当前流服务器之间的连接通道,同时向客户端反馈停止对讲的信息,用户通过查看客户端便可知道对讲停止。
可以理解的,客户端也可以主动停止对讲。客户端发送停止对讲的请求至中心服务器。中心服务器接收到客户端发送的停止对讲的请求后向客户端反馈应答信息,并将发送停止对讲的指令至流服务器和设备接入网关,以停止对讲并释放资源。当客户端接收到中心服务器反馈的应答后拆除与当前流服务器之间的连接通道。设备接入网关接收到停止指令后通知监控设备停止语音对讲,并把执行结果返回给中心服务器。监控设备收到后停止语音对讲,并拆除与流服务器的语音传输连接通道,同时反馈执行结果给设备接入网关。
本实施例中的客户端可以设置一个或多个,每个客户端可对一个或多个监控设备发起对讲。中心服务器根据各个客户端发起的对讲请求调度流服务器,通过流服务器承担对讲信息的转发工作,减轻了中心服务器的负载。流服务器在客户端和监控设备对讲过程中,对讲信息进行转发,简化了对讲流程,提高了客户端与监控设备之间的对讲效率。并且通过流服务器检测客户端发送的对讲信息的时间,及时停止对讲,释放***资源。
请参阅图3,为本发明第三实施例中的对讲***,包括客户端100、客户端接入服务器200、中心服务器300、流服务器400、设备接入网关500和监控设备600。中心服务器300、流服务器400、设备接入网关500组成一监控平台,由一个局域内网组成,提供互联网服务时开放互联网访问端口即可,客户端100可通过用户网络与监控平台建立连接,网络可以是互联网或局域网。客户端网络与监控平台网络通过路由器700连接。
该客户端100安装于监控终端中用于监控该监控设备,该监控终端例如为手机、电脑、平板电脑、智能手表等可穿戴设备。客户端100为用户提供登录监控平台、查询监控设备列表、启动或停止对讲,以及采集用户发出的音频或视频信息并做对应编码转换等功能。客户端接入服务器200用于连接客户端,客户端通过账号登录至客户端接入服务器,客户端接入服务器200对客户端进行登录验证成功后,对客户端100的对讲请求的响应和转发处理。中心服务器300接受客户端接入服务器200的指令,并按照请求调度一台流服务器400承担对讲过程中的对讲信息中转的功能,同时通知设备接入网关500控制设备启动对讲。设备接入网关500负责和监控设备进行适配,接入监控设备600,并向监控设备转发监控平台的控制指令同时接收监控设备600的应答结果,并把结果回传给中心服务器300。监控设备600为具备摄像头的设备,例如为门口机,用于接受监控平台的指令,以及与流服务器400建立连接通道接收流服务器转发的对讲信息并进行播放。
进一步的,如图4所示,所述中心服务器300包括:
接收模块310,用于接收客户端发送的对讲请求信息;
调度模块320,用于调度流服务器;
发送模块330,用于将调度的当前流服务器的IP地址信息发送至所述客户端和监控设备,以使所述客户端和所述监控设备分别建立与所述当前流服务器之间的连接通道,所述连接通道用于使所述当前流服务器将所述客户端发起的对讲信息传输至所述监控设备。
进一步的,上述中心服务器300,其中所述调度模块320具体用于:
所述中心服务器获取每个所述流服务器的连接信息,并根据所述连接信息确定空闲流服务器;
调度一所述空闲流服务器。
进一步的,如图5所示,上述流服务器400包括:
连接建立模块410,用于当接收到中心服务器发送的调度指令时,响应所述调度指令,并分别建立与所述客户端及所述监控设备之间的连接通道;
信息转发模块420,用于通过与所述客户端之间的连接通道接收所述客户端发送的对讲信息,并通过与所述监控设备之间的连接通道将所述对讲信息发送至所述监控设备。
进一步的,上述流服务器400还包括:
断开模块430,用于当在预设的限定时间内未获取到所述客户端发送的对讲信息时,断开与所述客户端以及与所述监控设备之间的连接通道。
为了便于理解该对讲***,具体可参见图6所示的对讲***的信令图,其实施过程包括以下步骤:
步骤S31,当用户通过客户端向一监控设备发起语音对讲时,客户端发送针对该监控设备的语音对讲请求至客户端接入服务器;
步骤S32,客户端接入服务器接受客户端的语音对讲请求并进行鉴权,鉴权通过后向中心服务器发送针对该监控设备的语音对讲请求;
步骤S33,中心服务器根据调度一台流服务器承担转发工作,并向客户端发送流服务器的IP地址,以及通过设备接入网关向监控设备发送该流服务器的IP地址。
步骤S34,监控设备在响应设备接入网关的启动指令时建立和流服务器的语音传输连接通道。
步骤S35,当监控设备接入网关后,客户端和流服务器也建立语音传输连接通道。当流服务器与客户端及监控设备之间的连接通道建立成功后,成功启动语音对讲功能,用户可正常发言。
步骤S36,客户端采集用户的语音信息,并将语音信息发送至向流服务器,流服务器接收后同步转发给监控设备;
步骤S37,监控设备接收流服务器的语音信息并进行转码播放。
当用户不再需要语音对讲后可主动停止语音对讲,或者客户端也可以检测用户超过一定时间不讲话的情况下主动向客户端接入服务器发送停止语音对讲指令。
步骤S38,客户端向客户端接入服务器发送停止语音对讲的指令。
步骤S39,客户端接入服务器接受该指令后向中心服务器转发指令,并当收到中心服务器的应答后拆除与流服务器之间的语音传输连接通道,并反馈执行结果客户端。
步骤S40,中心服务器收到停止语音对讲的指令后通知流服务器和设备接入网关停止语音对讲和释放资源,并把执行结果反馈给客户端接入服务器。
步骤S41,设备接入网关接收到停止指令后通知监控设备停止语音对讲,并把执行结果返回给中心服务器。
步骤S42,监控设备收到设备接入网关的通知后,后停止语音对讲,并拆除与流服务器的语音传输连接通道,同时反馈执行结果给设备接入网关。
本实施例通过设置流服务器承担对讲信息的转发工作,提高了对讲信息的传输效率,同时也便于对讲***的搭建和简化了对讲流程。在搭建对讲***时,只需要在监控设备中集成客户端的软件开发包(SDK),监控设备只需要按照***协议实施对讲,其兼容性强,任何厂家或型号的设备均可接入***,并完成对讲功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。