一种实现语音对讲功能的系统及方法

文档序号:7887501阅读:305来源:国知局
专利名称:一种实现语音对讲功能的系统及方法
技术领域
本发明涉及网络通讯领域,更具体地说,涉及一种实现语音对讲功能的系统及方法
背景技术
即时消息通讯是ー种互联网环境下的实时交流方式,如腾讯的QQ,微软的MSN, Google的Google Talk等,作为ー种快捷、方便的应用,即时消息通讯通常采用文字及图片等信息用于日常沟通和联系,即时消息通讯具有低廉的通讯成本。而相较于语音对讲的通讯方式,实时、无需等待的快速对讲模式似乎更能满足人们持续增长的沟通需求。随着互联网技术的飞速发展和移动智能终端的不断普及,网络覆盖区域内用户量也呈现爆炸性增长趋势。由于网络建设初期可能存在规划、设计不合理,网络预期不足等因素,使整个网络扩容成本高昂、工程量巨大,因此基于现有资源,实现在线平滑扩容是需要解决的ー个技术难题。以语音对讲为例。目前手机客户端实现语音对讲功能,基本上都是基于私有类似SIP的语言来实现单ー的功能。SIP (The Session Initiation Protocol,会话启动协议)是ー个应用层的信令控制协议,用于创建、修改和释放ー个或多个參与者的会话。会话的參与者可以通过组播 (multicast)、网状单播(imicast)或两者的混合体进行通信。SIP与若干个其他协议进行协作完成会话,其只定义应该如何管理会话。基于这种灵活性,SIP被用于众多应用和服务中,包括交互式游戏、音乐和视频点播以及语音、视频和Web会议。SIP消息是基于文本的, 因而易于读取和调试,新服务的编程更加简単。此外,对SIP的扩充易于定义,可由服务提供商在新的应用中添加,不会损坏网络。网络中基于SIP的旧设备不会妨碍基于SIP的新服务。现有技术中实现语音对讲功能,要不就是基于硬件,像对讲机,有地理位置限制, 要不就是基于私有类似SIP的语言,只有単一的语音对讲功能,不方便和其他功能进行整合,达不到快速响应市场的需求。为了把原来的系统整合进来,并增加产品的特色,本发明采用XMPP来集成语音对讲服务器实现语音对讲功能,使得它能够进行平滑扩容,满足产品的需求。

发明内容
本发明要解决的技术问题在干,提供一种实现语音对讲功能的系统及方法,该系统基于XMPP协议实现,能够充分利用现有资源,实现功能的快速迭代,同吋,利用XMPP本身的协议扩展实现语音对讲功能,可完全实现向上兼容,克服了现有技术中功能単一,可整合性差的缺陷。本发明公开ー种实现语音对讲功能的系统,所述系统通过互联网及硬件设备实现,包括控制服务器、中间服务器、功能服务器及客户端,其中,所述控制服务器、中间服务器包括负载均衡单元,分别对中间服务器集群、功能服务器进行负载均衡;控制服务器对中间服务器集群进行负载均衡,返回客户端中间服务器信息给客户端;客户端通过访问中间服务器发现所需功能服务器的信息,中间服务器对功能服务器进行负载均衡返回所需功能服务器信息给客户端;客户端访问所需功能服务器,通过路由器实现与其它客户端的语音对讲。进一步地,所述客户端将功能请求以扩展XMPP协议的形式访问中间服务器,中间服务器对客户端所需的功能服务器进行负载均衡。进一步地,所述中间服务器包括IM服务器,功能服务器包括语音对讲服务器,其中,中间服务器包括注册/登录单元,用于给客户端分配系统身份信息。 进一步地,所述控制服务器、中间服务器、功能服务器通过配置的端口和地址与客户端进行通讯。本发明还公开一种实现语音对讲功能的方法,该方法包括如下步骤Sl 控制服务器对中间服务器集群进行负载均衡,返回中间服务器信息给客户端。S2 中间服务器根据客户端的功能请求对功能服务器进行负载均衡,并返回所需功能服务器信息给客户端。S3:客户端访问所需的功能服务器,客户端通过路由器实现与其他客户端的语音对讲。进一步地,所述方法还包括步骤Sl之前将中间服务器、功能服务器、XMPP服务器向控制服务器进行注册并上报心跳消息。进一步地,所述方法还包括步骤Sl之前当中间服务器注册完成或心跳消息上报到控制服务器时,控制服务器将当前所有功能服务器信息同步到中间服务器。进一步地,所述步骤S2中,客户端以扩展XMPP协议方式向中间服务器请求所支持的服务,中间服务器返回所有的功能服务器相关信息,根据服务发现协议知道中间服务器具有所需功能模块。进一步地,所述控制服务器、中间服务器、功能服务器通过配置的端口和地址与客户端进行通讯。本发明公开一种实现语音对讲功能的系统及方法,通过中间服务器基于XMPP协议集成功能服务器实现语音对讲。本技术方案结构简单、能够快速进行功能整合,充分利用现有资源,实现多种功能的快速迭代,能够完全向上兼容,加上相关服务器之间的低耦合性,部署服务非常方便,能够很好的实现平滑扩容,快速响应市场的需求。


图1是本发明实现语音对讲功能的系统结构示意图;图2为本发明实现语音对讲功能的方法流程图;图3为本发明实现语音对讲功能的方法的一种实施例流程图。
具体实施例方式为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合具体实施方式
并配合附图予以详细说明。
本发明的技术原理本发明基于XMPP协议,实现语音对讲服务功能,该功能的实现包括几个部分=XMPP协议本身的扩展、客户端对扩展协议的实现和解析、中间服务器对语音对讲服务器的负载均衡。控制服务器根据客户端的功能请求对中间服务器集群进行负载均衡,返回的中间服务器信息给客户端;客户端通过访问中间服务器发现所需功能服务器的信息,中间服务器对功能服务器进行负载均衡返回所需功能服务器信息给客户端;客户端访问所需功能服务器,通过路由器实现与其它客户端的语音对讲。参见图1,为本发明实现语音对讲功能的系统示意图。所述系统基于XMPP协议通过互联网及硬件设备实现,所述系统包括控制服务器、中间服务器、功能服务器及客户端, 控制服务器、中间服务器、功能服务器通过配置的端口和地址与客户端进行通讯。所述系统基于XMPP协议可以实现至少一种特定功能,如语音对讲、视频聊天等。所述控制服务器、中间服务器、功能服务器包括通信单元,用于与客户端进行通信;解析单元,接收通信单元的信息,对接收的信息进行解码;应答单元,根据解析单元的内容生成应答消息返回给客户端;所述控制服务器、中间服务器还包括负载均衡单元,分别用于对中间服务器集群、 功能服务器进行负载均衡;客户端包括信息单元,用于生成功能请求信息;收发单元,用于发送功能请求访问服务器,并接收服务器返回的信息;解析单元,接收收发单元的信息,并对收发的信息进行解码并解析;其中,XMPP(The Extensible Messaging and Presence Protocol,可扩展夕肖;窗、处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测,促进服务器之间的准即时操作。该协议可最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。XMPP协议被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分核心的XML流传输协议,基于XML流传输的即时通讯扩展应用,XMPP的核心XML流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台上,借助于XML易于解析和阅读的特性;XMPP的即时通讯扩展应用部分是根据IETF在这之前对即时通讯的一个抽象定义,与其他业已得到广泛使用的即时通讯协议,诸如AIM,QQ等有功能完整,完善等先进性。XMPP的扩展协议使得其支持语音和视频,本发明基于XMPP协议实现语音对讲功能。控制服务器,是服务器之间控制消息的通道。各个服务器(中间服务器、功能服务器)需要向控制服务器进行注册,并定期上报心跳消息到控制服务器。中间服务器的一个主要功能是协调控制服务器与客户端之间的功能请求,本技术方案中,中间服务器为IM服务器。IM技术全称distant Messaging,中文翻译“即时通讯”, 是一种使人们能在网上识别在线用户并于互联网上实时交换消息的技术,是电子邮件发明以来迅速崛起的在线通讯方式。IM完全基于TCP/IP网络协议族实现,TCP/IP协议族是整个互联网实现的技术基础。目前语音、视频、短信发送等信息交换功能都可以在IM工具上实现,如MSN、G00gle Talk、腾讯QQ等都是基于IM的即时通讯工具。IM服务器包括用户注
5册/登录单元,用于给客户端分配系统身份信息。IM工作方式登陆IM服务器,获取ー个自建立的历史交流对象列表(好友列表), 然后自身标记为在线状态,当对象列表中的某人在任何时候登陆上线并试图通过网络联系你时,IM系统会发送提醒消息,然后建立聊天会话通道以各种消息包括键入文字内容、语音对讲等方式进行交流。IM服务器的登陆或注销功能用于用户系统身份的识别,用户A通过在线用户列表找到B,用户B获得消息即可与A进行交谈,用户A通过IM服务器建立与B单独的通讯通道。IM通讯方式包括在线直接通讯、在线代理通讯、离线代理通讯、扩展通讯方式等。在线直接通讯方式如果用户A想与他的好友B进行聊天,用户A通过服务器发来的用户B的地址、端ロ等信息,直接向用户B发出聊天信息,此时双方通讯不在经过IM服务器中转,直接通过网络进行点对点的通讯;在线代理通讯方式用户在通讯难以建立或速度很慢时,IM服务器将主动提供消息中转服务;离线代理通讯方式用户不同时在线吋,如A向B 发送消息,IM服务器主动寄存A用户的消息,等B下次登录时,自动将消息转发给B。所述IM服务器包括负载均衡単元,当IM服务器注册或者心跳上来的时候,控制服务器把当前其他功能服务器信息同步到IM服务器,由IM服务器的负载均衡単元完成对功能服务器的负载均衡。负载均衡(Load Balance,又称为负载分担)是将负载(工作任务)进行平衡、分摊到多个操作単元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。负载均衡建立在现有网络结构之上,它提供了一种廉价又有效的方法扩展网络设备和服务器的带宽、増加呑吐量、加强网络数据处理能力、提高网络的灵活性和可用性。功能服务器包括语音对讲服务器和其他功能服务器,是具有一种或某几种特定功能的服务器。本发明中主要涉及语音对讲服务功能的服务器。当客户端在登录的时候,利用服务发现协议,可以发现到由IM服务器提供的ー个语音对讲服务,然后客户端根据协议, 再请求该服务的详细信息,此时中间服务器下发语音对讲服务器的相关參数,IM服务器对语音对讲服务器进行负载均衡,客户端根据语音对讲服务器的相关參数,路由到语音对讲服务器,完成语音对讲功能。IM服务器传输的是与即时通讯相关的指令。以前即时通讯相关的指令采用2进制的形式发送(比如QQ),或者采用纯文本指令加空格加參数加换行符的方式发送(比如 MSN)。本发明中基于XMPP协议传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了 XML格式的纯文本。该种方式使得解析更容易,人阅读起来也容易,方便了开发和查错。XMPP的核心部分就是ー个在网络上分片断发送XML的流协议。这个流协议是XMPP的即时通讯指令的传递基础,也是可以被进ー步利用的网络基础协议。即XMPP用TCP传的是 XML 流。本技术方案中,控制服务器根据客户端的功能请求对中间服务器集群进行负载均衡,返回中间服务器信息给客户端,客户端通过访问中间服务器发现所需功能服务器的信息,中间服务器对功能服务器进行负载均衡返回所需功能服务器信息给客户端,客户端访问所需功能服务器,通过路由器实现与其它客户端的语音对讲。当有多个客户端參与语音对讲功能吋,通过路由器访问语音对讲服务器即可实现,能够在现有资源基础上,实现平滑扩容,快速响应市场的需求。
参见图2,为本发明实现语音对讲功能的方法流程图。所述方法包括Sl 控制服务器对中间服务器集群进行负载均衡,返回中间服务器信息给客户端。客户端将功能请求以扩展XMPP协议的形式由发送单元把该请求发送到控制服务器,控制服务器接收XML流并解析其内容,根据客户端的功能请求对中间服务器集群进行负载均衡,并以以扩展XMPP协议的形式返回满足客户端请求的中间服务器信息给客户端。本发明技术方案中,所述方法还包括中间服务器、功能服务器向控制服务器进行注册并定期上报心跳消息。当中间服务器注册完成或心跳消息上报到控制服务器时,控制服务器将当前所有功能服务器信息同步到中间服务器。其中控制服务器、中间服务器设置有负载均衡模块,分别用于对中间服务器集群、功能服务器进行负载均衡。S2 中间服务器根据客户端的功能请求对功能服务器进行负载均衡,并返回所需功能服务器信息给客户端。客户端将功能请求以扩展XMPP协议的形式发送到中间服务器,根据服务发现协议知道中间服务器具有所需功能模块,中间服务器接收XML流并解析其内容,根据客户端的功能请求对功能服务器进行负载均衡,并以以扩展XMPP协议的形式返回所需功能服务
器信息给客户端。S3:客户端访问所需的功能服务器,客户端通过路由器实现与其他客户端的语音对讲。控制服务器、中间服务器、功能服务器通过配置的端口和地址与客户端进行通讯。所述方法适用于不同操作系统的客户端实现语音对讲。参见图3,为本发明实现语音对讲功能的方法的一种实施例流程图。第一实施例以iphone上实现语音对讲为例进行说明,具体实现步骤如下1)启动控制服务器、IM服务器和语音对讲服务器;2)语音对讲服务器通过配置的端口和地址,连接到控制服务器;3) IM服务器通过配置的端口和地址,连接到控制服务器,控制服务器将所有语音对讲服务器信息同步到IM服务器,由IM服务器的负载均衡单元对功能服务器进行负载均4) iphone客户端通过配置端口和地址,连接到控制服务器,控制服务器通过负载均衡单元对IM服务器集群进行负载均衡,返回一个IM服务器地址和端口 ;5) iphone客户端连接IM服务器,执行登录过程,根据服务发现协议,客户端知道了 IM服务器能提供语音对讲功能,IM服务器的负载均衡单元对功能服务器进行负载均衡, 返回一个语音对讲服务器地址和端口;6) iphone客户端再请求语音对讲功能的详细参数,通过IM服务器对语音对讲服务器进行负载均衡,然后路由到语音对讲服务器,并连接。7)当该用户的好友也登陆上来的时候,此时就可以发起语音对讲请求,双方就可以实现类似对讲机的语音交互。第二实施例以symbian上实现语音对讲为例进行说明,具体实现步骤如下1)启动控制服务器、IM服务器和语音对讲服务器;2)语音对讲服务器通过配置的端口和地址,连接到控制服务器;3) IM服务器通过配置的端口和地址,连接到控制服务器,控制服务器将所有语音对讲服务器信息同步到IM服务器,由IM服务器的负载均衡单元对功能服务器进行负载均4) symbian客户端通过配置端口和地址,连接到控制服务器,控制服务器通过负载均衡单元对IM服务器集群进行负载均衡,返回ー个IM服务器地址和端ロ ;5) symbian客户端连接IM服务器,执行登录过程,根据服务发现协议,客户端知道了 IM服务器能提供语音对讲功能,IM服务器的负载均衡单元对功能服务器进行负载均衡, 返回一个语音对讲服务器地址和端ロ;6) symbian客户端再请求语音对讲功能的详细參数,通过IM服务器对语音对讲服务器进行负载均衡,然后路由到语音对讲服务器,并连接。7)当该用户的好友也登陆上来的时候,此时就可以发起语音对讲请求,双方就可以实现类似对讲机的语音交互。实施本发明的一种实现语音对讲功能的系统及方法,具有以下有益的技术效果1)该系统结构简单、能够快速进行功能整合;2)充分利用原来已有的资源,实现功能的快速迭代,客户端和服务器端只需要很少的修改;3)利用XMPP本身的协议扩展,来实现语音对讲功能,完全能实现向上兼容;4)相关服务器之间的低耦合性,部署服务非常方便,能够很好的实现平滑扩容,快速响应市场的需求。
权利要求
1.一种实现语音对讲功能的系统,所述系统通过互联网及硬件设备实现,包括控制服务器、中间服务器、功能服务器及客户端,其特征在于,所述控制服务器、中间服务器包括负载均衡单元,分别对中间服务器集群、功能服务器进行负载均衡;其中,控制服务器对中间服务器集群进行负载均衡,返回中间服务器信息给客户端;客户端通过访问中间服务器发现所需功能服务器的信息,中间服务器对功能服务器进行负载均衡返回所需功能服务器信息给客户端;客户端访问所需功能服务器,通过路由器实现与其它客户端的语音对讲。
2.根据权利要求1所述的实现语音对讲功能的系统,其特征在于,所述客户端将功能请求以扩展XMPP协议的形式访问中间服务器,中间服务器对功能服务器进行负载均衡。
3.根据权利要求1所述的实现语音对讲功能的系统,其特征在于,所述中间服务器包括IM服务器,功能服务器包括语音对讲服务器,其中,中间服务器包括注册/登录单元,用于给客户端分配系统身份信息。
4.根据权利要求1所述的实现语音对讲功能的系统,其特征在于,所述控制服务器、中间服务器、功能服务器通过配置的端口和地址与客户端进行通讯。
5.一种实现语音对讲功能的方法,其特征在于,包括如下步骤51控制服务器对中间服务器集群进行负载均衡,返回中间服务器信息给客户端;52中间服务器根据客户端的功能请求对功能服务器进行负载均衡,并返回所需功能服务器信息给客户端;53客户端访问所需的功能服务器,客户端通过路由器实现与其他客户端的语音对讲。
6.根据权利要求5所述的实现语音对讲功能的方法,其特征在于,所述方法还包括步骤Si之前将中间服务器、功能服务器向控制服务器进行注册并上报心跳消息。
7.根据权利要求5所述的实现语音对讲功能的方法,其特征在于,所述方法还包括步骤Si之前当中间服务器注册完成或心跳消息上报到控制服务器时,控制服务器将当前所有功能服务器信息同步到中间服务器。
8.根据权利要求5所述的实现语音对讲功能的方法,其特征在于,所述步骤S2中,客户端以扩展XMPP协议方式向中间服务器请求所支持的服务,中间服务器返回所有的功能服务器相关信息,根据服务发现协议知道中间服务器具有所需功能模块。
9.根据权利要求5所述的实现语音对讲功能的方法,其特征在于,所述控制服务器、中间服务器、功能服务器通过配置的端口和地址与客户端进行通讯。
全文摘要
本发明公开了一种实现语音对讲功能的系统及方法,所述系统通过互联网及硬件设备实现,包括控制服务器、中间服务器、功能服务器及客户端。控制服务器对中间服务器进行负载均衡,返回中间服务器信息给客户端,中间服务器对功能服务器进行负载均衡,返回所需功能服务器信息给客户端,客户端访问所需功能服务器,通过路由器实现与其它客户端的语音对讲。本发明结构简单、能够快速进行功能整合,充分利用现有资源,能够完全向上兼容,加上相关服务器之间的低耦合性,部署服务非常方便,能够很好的实现平滑扩容,快速响应市场的需求。
文档编号H04L29/06GK102546646SQ20121001406
公开日2012年7月4日 申请日期2012年1月17日 优先权日2012年1月17日
发明者周聪伟 申请人:深圳市乐唯科技开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1