一种实现多对象数据交互应答和呼叫功能的系统及方法

文档序号:7887498阅读:309来源:国知局
专利名称:一种实现多对象数据交互应答和呼叫功能的系统及方法
技术领域
本发明涉及网络通讯领域,更具体地说,涉及一种实现多对象数据交互应答和呼叫功能的系统及方法
背景技术
即时消息通讯是一种互联网环境下的实时交流方式,如腾讯的QQ,微软的MSN, Google的Google Talk等,作为一种快捷、方便的应用,已成为人们进行网络沟通最常见的工具之一。即时通讯的群系统有效的对用户进行组织,并提供群内用户沟通平台,能够满足多个用户即时、快速沟通。聊天室也是网络用户沟通的一种方式,具有进入方便、安装方便、 用户身份不需要通过身份的频繁验证就可以与成员沟通、用户包容性强等优点。以手机客户端实现语音对讲为例。手机客户端实现多对象呼叫功能,一种是基于会议组或者临时呼叫实现,该种方式必须有其他服务器来实现客户端联系人的管理和群组的管理;另外一种是类似电台的实时多对象数据交互应答系统,用户进入某个频道,可以接收到语音信息。公开号为CN101079718A的发明专利公开了一种即时通讯群到聊天室系统的切换方法和系统,该方法在即时通讯IM群内的一个IM群客户端向设置在网络节点上的切换/ 变换服务器发送请求切换信息;所述切换/变换服务器将所述IM群内对应用户的消息导入聊天室系统的一个聊天室中,向IM群内所述IM群客户发送启动聊天室信息;所述IM群客户端启动聊天室客户端。本发明可实现将IM群内的部分或全体用户平滑迁移到聊天室系统的一个聊天室,满足群内讨论话题开放给外部用户参与的请求。现有技术中公开的所对象呼叫功能的方法不适合成千上万的客户同时加入对讲会话的模式,否则控制消息就有可能会导致服务器瘫痪;而目前的多对象数据交互应答方式,用户的参与基本上为零。为实现快速整合语音对讲服务器和客户端,本发明提出一种实现多对象数据交互应答和呼叫功能的系统及方法。

发明内容
本发明要解决的技术问题在于,提供一种实现多对象数据交互应答和呼叫功能的系统及方法,在XMPP协议下,实现快速整合语音对讲服务器和客户端,实现既支持多对象呼叫对讲,也适合多对象数据交互应答方式,并且用户可以很方便地参与对讲讨论,用户的参与积极性得到很大的提高。本发明公开一种实现多对象数据交互应答和呼叫功能的系统,所述系统通过互联网及硬件设备实现,包括控制服务器、中间服务器、功能服务器、语音接入服务器及客户端, 所述控制服务器、语音接入服务器包括负载均衡单元,分别对中间服务器集群、功能服务器进行负载均衡;所述中间服务器完成语音对讲服务的路由功能;其中,控制服务器对中间服务器集群进行负载均衡,返回中间服务器信息给客户端,中间服务器对语音对讲服务路由,返回语音接入服务器信息给客户端,语音接入服务器根据客户端的不同功能请求对功能服务器进行负载均衡,客户端访问所需功能服务器,实现多对象数据交互应答和呼叫功能。进一步地,所述客户端将功能请求以扩展XMPP协议的形式访问中间服务器,中间服务器对客户端所需功能服务器进行负载均衡。进一步地,客户端向语音接入服务器请求数据交互应答功能,语音接入服务器对数据交互应答服务器进行负载均衡,返回数据交互应答单元列表信息给客户端,客户端访问某数据交互应答单元并路由到管理该数据交互应答单元的相应服务器,实现数据交互应答。进一步地,所述客户端向语音接入服务器请求实现多对象数据交互应答功能,语音接入服务器还下发某个语音对讲服务器信息给客户端,所述语音对讲服务器仅用于返回语音信息给客户端,实现多对象数据交互应答功能。进一步地,客户端向语音接入服务器请求多对象呼叫功能,语音接入服务器对语音对讲服务器进行负载均衡,客户端路由访问语音对讲服务器,实现多对象呼叫功能。本发明还公开一种实现多对象数据交互应答和呼叫功能的方法,该方法包括如下步骤Sl 控制服务器对中间服务器集群进行负载均衡,返回所需的中间服务器信息给客户端;S2 中间服务器根据客户端的功能请求返回语音接入服务器信息给客户端;S3 客户端通过中间服务器路由访问语音接入服务器;S4:语音接入服务器根据客户端的不同功能请求对功能服务器进行负载均衡,客户端访问相应功能服务器,实现多对象数据交互应答和呼叫功能。进一步地,所述步骤S4中客户端向语音接入服务器请求数据交互应答功能,语音接入服务器对数据交互应答服务器进行负载均衡,返回数据交互应答单元列表信息给客户端,客户端访问某数据交互应答单元并路由到管理该数据交互应答单元的相应服务器,实现数据交互应答。进一步地,所述步骤S4中客户端向语音接入服务器请求实现多对象数据交互应答功能,语音接入服务器还下发某个语音对讲服务器信息给客户端,所述语音对讲服务器仅用于返回语音信息给客户端,实现多对象数据交互应答功能。进一步地,所述步骤S4中客户端向语音接入服务器请求多对象呼叫功能,语音接入服务器对语音对讲服务器进行负载均衡,客户端路由访问语音对讲服务器,实现多对象呼叫功能。进一步地,所述方法还包括步骤Sl之前将中间服务器、功能服务器、语音接入服务器向控制服务器进行注册并上报心跳消息,当中间服务器注册完成或心跳消息上报到控制服务器时,控制服务器将当前语音接入服务器信息同步到中间服务器。本发明公开一种实现多对象数据交互应答和呼叫功能的系统及方法,通过中间服务器实现语音对讲路由,语音接入服务器对数据交互应答服务器和语音对讲服务器进行负载均衡,采用不同的方式基于XMPP协议实现多对象数据交互应答和呼叫功能的语音对讲服务。本发明技术方案结构简单、能够快速进行功能整合,充分利用现有资源,实现多种功能的快速迭代,利用XMPP本身的协议扩展,能够完全向上兼容,加上相关服务器之间的低耦合性,部署服务非常方便,能够很好的实现平滑扩容,快速响应市场的需求。


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