基于xmpp协议的实现机顶盒之间即时通信的方法

文档序号:7870386阅读:178来源:国知局
专利名称:基于xmpp协议的实现机顶盒之间即时通信的方法
技术领域
本发明涉及数字电视技术领域,特别是一种基于XMPP协议的实现机顶盒之间即时通信的方法。
背景技术
现有的数字机顶盒通讯模式有两种:信息以广播形式从头端发布到终端数字机顶盒。终端数字机顶盒以http形式发送请求到头端,头端对请求进行响应,再以点对点形式发送内容到终端机顶盒。可扩展消息处理现场协议(以下简称为XMPP)是基于可扩展标记语言(以下简称为XML)的协议,它用于即时消息(以下简称为IM)以及在线现场探测。它促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。现有的数字机顶盒通信模式主要存在以下弊端:1、客户端定时发起询问。在较多客户端的环境下,鉴于服务器端的性能,不得不将询问周期拉长,造成服务器端无法及时实现对对客户端的行为进行控制。2、下载方式一般为HTTP或FTP等直接下载方式。受限于服务器端同时支持的下载连接数限制,该方法无法支撑较多客户端同时在线,且对服务器端的网络出口带宽依赖性很强,造成响应效率的 不足。3、终端机顶盒之间没有任何联系,都是孤立的。

发明内容
本发明的目的在于提出了一种基于XMPP协议的实现机顶盒之间即时通信的方法,该方法适用于大量用户数字电视机顶盒之间、数字电视机顶盒与服务器之间的即时通 目。本发明的技术解决方案如下:一种基于XMPP协议的实现机顶盒之间即时通信的方法,服务器为XMPP服务器,采用开源的openf ire技术,客户端(终端机顶盒)采用开源的gloox技术,传输格式采用jason序列化格式。网络结构描述:如果客户端A和客户端B在同一个服务器A网络中,网络结构图如图1所示。假设客户端A想和客户端B通话,他们两人的账号都在服务器A的服务器上,当客户端A输入信息按下传送钮之后,一连串的事件就发生了:1.客户端A将她的信息传送到服务器A ;2.服务器A再将信息寄送给客户端B,如果客户端B不在线,那么存储信息以待稍后寄送。
如果客户端A和客户端B不在同一个服务器网络中,网络结构图如图2所示。假设客户端A想和客户端B通话,客户端A的账号在服务器A的服务器上,客户端B的账号在服务器B的服务器上,当客户端A输入信息按下传送钮之后,一连串的事件就发生了:1.客户端A将她的信息传送到服务器A XMPP服务器;2.服务器A XMPP服务器打开与服务器B XMPP服务器的链接;3.服务器B XMPP服务器再将信息寄送给客户端B,如果B不在线,那么存储信息以待稍后寄送。原理:1.0penfire是基于XMPP协议的IM即时通信服务器端的一个实现,Openfire提供了一些基本功能,但都是非常的基本的功能,同时它提供了插件的扩展,我们通过插件扩展这种方式来增加新的功能,完成我们系统的要求。我们系统中使用的Openfire的版本是
3.7.0。2.Gloox是一个开源的跨平台的C++实现XMPP协议的开发包客户端,我们系统中使用的版本是1.0。终端机顶盒安装gloox系统,以mac地址为客户号。3.JSON是一种轻量级的数据交换格式,比XML格式具有更高的编码效率。有益效果:现有数字电视系统头端没有办法主动对指定机顶盒进行访问,请求一般由客户端主动发起,定时向服务器端轮询是否有任务,然后发起任务下载。在较多客户端的环境下,受限于服务器端的性能,这种方式使得服务器端无法及时实现对客户端的行为的控制,下载无法兼顾快速和可控,且服务器端可支撑的客户端数量有限。终端机顶盒之间没有任何联系,都是一个个孤立的终端。本发明提出的在数字机顶盒系统中引入XMPP协议组建系统,头端为XMPP服务器,终端机顶盒为客户端,使整个系统都可以进行即时通信,包括头端和终端机顶盒之间以及机顶盒之间的即时通信。建立一个真正的互联互通的数字电视系统。


图1是客户端A和客户端B在同一个服务器的网络结构示意图。图2是客户端A和客户端B在两个服务器的网络结构示意图。图3是机顶盒客户端gloox到服务器openfire消息流程图。
具体实施例方式下面结合附图和实施例对本发明做进一步的详细说明,以求更为清楚地阐述本发明的内容,但不能因此限制本发明的保护范围。本发明中服务器端采用开源的openfire技术,客户端(终端机顶盒)用开源的gloox技术,传输格式用jason序列化格式。请先参阅图1,图1是客户端A和客户端B在同一个服务器的网络结构示意图,如图所示,假设client A想和client B通话,他们两人的账号都在server A的服务器上,当client A输入信息按下传送钮之后,一连串的事件就发生了:1.Client A客户端将她的信息传送到server A XMPP服务器;
2.Server A XMPP服务器再将信息寄送给client B,如果B不在线,那么存储信息以待稍后寄送。具体步骤如下,见图3:步骤S1:客户端都需要在服务器中注册;步骤S2:客户端发送初始流给服务器;步骤S3:服务器使用一个流标记作为响应发送给客户端;步骤S4:服务器发送纯文本通信协议的扩展协议扩展给客户端,并带有多种认证机制与流特征说明(包括流的认证机制、压缩方式、流的出处、注册信息等);步骤S5:客户端发送纯文本通信协议的扩展协议命令给服务器;步骤S6:服务器通知客户端是否允许处理,如允许,则执行步骤S7,否则执行步骤S19 ;步骤S7:客户端与服务器端进行安全传输层协议协商,如果协商成功,则客户端初始化一个新流到服务器,否则,客户端请求连接失败,关闭连接;步骤S8:服务器发送带有流特征的流头作为响应;步骤S9:客户端选择其中一种认证机制;步骤SlO:服务器对客户端进行认证,认证成功则进入步骤S11,否则进入步骤S19。步骤Sll:认证成功,客户端初始化一个新流给服务器;步骤S12:服务器发送流头来响应客户端,并带有流的特征说明(包括压缩方式,绑定、会话等信息,但是不包括认证机制说明);步骤S13:客户端发送一个请求/响应机制到服务器;步骤S14:服务器判断是否接收客户端提供的请求/响应机制,不接受则进入步骤S19,接受则进入步骤S15 ;步骤S15:服务器返回一个类型为请求/响应机制的节点给客户端;步骤S16:客户端向服务器请求会话;步骤S17:服务器告知客户端会话已建立;步骤S18:不同客户端之间进行正常消息通信;步骤S19:通信结束服务器关闭流。图2是客户端A和客户端B在两个服务器的网络结构示意,如图所示,假设clientA想和client B通话,client A的账号都在server A的服务器上,client B的账号在server B的服务器上,当client A输入信息按下传送钮之后,一连串的事件就发生了:1.client A客户端将她的信息传送到server A XMPP服务器;2.server A XMPP服务器打开与server B XMPP服务器的链接;3.server B XMPP服务器再将信息寄送给client B,如果B不在线,那么存储信息以待稍后寄送。具体步骤如下:步骤SlOl:客户端都需要在服务器中注册;步骤S102:客户端发送初始流给服务器;步骤S103:服务器使用一个流标记作为响应发送给客户端;
步骤S104:服务器发送纯文本通信协议的扩展协议扩展给客户端,并带有多种认证机制与流特征说明(包括流的认证机制、压缩方式、流的出处、注册信息等);服务器发送纯文本通信协议的扩展协议扩展给客户端,并带有多种认证机制与流特征说明(比如包括流的压缩方式、流的类型等);步骤S105:客户端发送纯文本通信协议的扩展协议命令给服务器;步骤S106:服务器通知客户端是否允许处理,如允许执行步骤S107,否则,客户端请求连接失败,关闭连接;步骤S107:客户端与服务器端进行安全传输层协议协商,如果协商成功,则客户端初始化一个新流到服务器,否则,客户端请求连接失败,关闭连接;步骤S108:服务器发送带有任何可利用流特征的流头作为响应;步骤S109:客户端选择其中一种认证机制;步骤SllO:服务器对客户端进行认证,认证成功则执行步骤S110,否则关闭连接;步骤Slll:客户端初始化一个新流给服务器;步骤S112:服务器发送流头来响应客户端,并带有流的特征说明(包括压缩方式,绑定、会话等信息,但是不包括认证机制说明);步骤S113:客户端发送一个请求/响应机制到服务器;步骤S114:服务器判断是否接收客户端提供的请求/响应机制,不接受则关闭连接,接受则执行步骤SI 15 ;步骤S115:服务器返回一个类型为请求/响应机制的节点给客户端;步骤S116:客户端向服务器请求会话;步骤S117:服务器告知客户端会话已建立;步骤S118:客户端A发送消息给客户端A ;步骤S119:服务器A接收到客户端A消息;步骤S120:服务器A通过域名系统服务器发送消息给服务器B ;步骤S121:服务器B发送接收到的服务器A的消息给客户端B;步骤S122:客户端B接收到客户端A的消息;步骤S123:客户端之间进行正常消息通信。经试用表明,本发明采用头端为XMPP服务器,终端机顶盒为客户端,实现头端和终端机顶盒,机顶盒之间的即时通信,建立了一个真正的互联互通的数字电视系统。
权利要求
1.一种基于XMPP协议的实现机顶盒之间即时通信的方法,特征在于: 所有的服务器为XMPP服务器,采用开源的openfire,使用的客户端的终端机顶盒安装安装gloox系统,以mac地址为客户号;传输格式采用jason序列化格式,该方法包括: 当客户端A和客户端B在同一个服务器A网络中,客户端A和客户端B之间的通信: ①客户端A将她的信息传送到服务器A; ②服务器A再将信息寄送给客户端B,如果客户端B不在线,那么存储信息以待稍后寄送; 当客户端A和客户端B分别在服务器A和服务器B的网络中,客户端A和客户端B的通信包括下列步骤: ①客户端A将信息传送到服务器A; ②服务器A打开与服务器B的链接; ③服务器B再将信息寄送给客户端B,如果B不在线,那么存储信息以待稍后寄送。
2.根据权利要求1所述的机顶盒之间即时通信的方法,其特征在于,当客户端A和客户端B在同一个服务器网络中,具体包括下列步骤: 步骤S1:客户端都需要在服务器中注册; 步骤S2:客户端发送初始流给服务器; 步骤S3:服务器使用一个流标记作为响应发送给客户端; 步骤S4:服务器发送纯文本通信协议的扩展协议扩展给客户端,并带有认证机制与任何其它流特征说明; 步骤S5:客户端发送纯文本通信协议的扩展协议命令给服务器; 步骤S6:服务器通知客户端是否允许处理,如允许,则执行步骤S7,否则执行步骤S19 ; 步骤S7:客户端与服务器端进行安全传输层协议协商,如果协商成功,则客户端初始化一个新流到服务器,否则,客户端请求连接失败,关闭连接; 步骤S8:服务器发送带有任何可利用流特征的流头作为响应; 步骤S9:客户端选择一种认证机制; 步骤SlO:服务器对客户端进行认证,认证成功则进入步骤S11,否则进入步骤S19。
步骤Sll:认证成功,客户端初始化一个新流给服务器; 步骤S12:服务器发送流头来响应客户端,并带有流的其它特征,但是不包括认证机制; 步骤S13:客户端发送一个请求/响应机制到服务器; 步骤S14:服务器判断是否接收客户端提供的请求/响应机制,不接受则进入步骤S19,接受则进入步骤S15 ; 步骤S15:服务器返回一个类型为请求/响应机制的节点给客户端; 步骤S16:客户端向服务器请求会话; 步骤S17:服务器告知客户端会话已建立; 步骤S18:不同客户端之间进行正常消息通信; 步骤S19:通信结束服务器关闭流。
3.根据权利要求1所述的机顶盒之间即时通信的方法,其特征在于,当客户端A和客户端B分别在服务器A和服务器B的网络中,具体包括下列步骤: 步骤SlOl:客户端都需要在服务器中注册; 步骤S102:客户端发送初始流给服务器; 步骤S103:服务器使用一个流标记作为响应发送给客户端; 步骤S104:服务器发送纯文本通信协议的扩展协议扩展给客户端,并带有认证机制与任何其它流特征说明; 步骤S105:客户端发送纯文本通信协议的扩展协议命令给服务器; 步骤S106:服务器通知客户端是否允许处理,如允许执行步骤S107,否则,客户端请求连接失败,关闭连接; 步骤S107:客户端与服务器端进行安全传输层协议协商,如果协商成功,则客户端初始化一个新流到服务器,否则,客户端请求连接失败,关闭连接; 步骤S108:服务器发送带有任何可利用流特征的流头作为响应; 步骤S109:客户端选择一种认证机制; 步骤SllO:服务器对客户端进行认证,认证成功则执行步骤S110,否则关闭连接。
步骤Slll:认证成功,客户端初始化一个新流给服务器; 步骤S112:服务器发送流头来响应客户端,并带有流的其它特征,但是不包括认证机 制; 步骤S113:客户端发送一个请求/响应机制到服务器; 步骤S114:服务器判断是否接收客户端提供的请求/响应机制,不接受则关闭连接,接受则执行步骤SI 15 ; 步骤S115:服务器返回一个类型为请求/响应机制的节点给客户端; 步骤S116:客户端向服务器请求会话; 步骤S117:服务器告知客户端会话已建立; 步骤SI 18:客户端A发送消息给客户端A ; 步骤S119:服务器A接收到客户端A消息; 步骤S120:服务器A通过域名系统服务器发送消息给服务器B ; 步骤S121:服务器B发送接收到的服务器A的消息给客户端B ; 步骤S122:客户端B接收到客户端A的消息; 步骤S123:客户端之间进行正常消息通信。
全文摘要
一种基于XMPP协议的实现机顶盒之间即时通信的方法,包括当客户端A和客户端B在同一个服务器A网络中,客户端A和客户端B之间的通信①客户端A将她的信息传送到服务器A;②服务器A再将信息寄送给客户端B,如果客户端B不在线,那么存储信息以待稍后寄送;当客户端A和客户端B分别在服务器A和服务器B的网络中,客户端A和客户端B的通信包括下列步骤①客户端A将信息传送到服务器A;②服务器A打开与服务器B的链接;③服务器B再将信息寄送给客户端B,如果B不在线,那么存储信息以待稍后寄送。本发明实现头端和终端机顶盒之间以及机顶盒之间的即时通信,建立了一个真正的互联互通的数字电视系统。
文档编号H04L12/58GK103118069SQ20121057613
公开日2013年5月22日 申请日期2012年12月26日 优先权日2012年12月26日
发明者李员宝, 顾亚平, 林海, 张俊 申请人:上海现代先进超精密制造中心有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1