专利名称:一种基于即时通信技术的文件发布方法
技术领域:
本发明涉及多业务融合的网络服务系统,特别涉及到一种基于即时通信技术 的文件发布方法。
背景技术:
IM (Instant Messaging,即时通信)是一种实时的互联网交流方式,是继电 子邮件和万维网之后的第三大互联网应用。IM主要用于私人之间的日常交流和 保持联系,除此之外,它还被广泛地应用于办公领域,如讨论问题、协商工作进 程等。IM的实时性,使它能够有效地用于服务器之间传递数据,进行远程服务 调用。很多公司都开始将IM作为一条主线,围绕其展开多项特色服务,有效融 合其各项业务。如基于IM技术的文件传输、语音视频服务、新闻订阅服务、网 络游戏服务等。XMPP (Extensible Messaging and Presence Protocol,可扩展消息处理及在线 协议)是一套先进的即时通信协议。它采用XML (Extensible Makeup Language, 可扩展标记语言)语言定义协议中的命令和数据,利用XML通用性强、易扩展, 以及机器可读的优点,方便了协议在功能上的扩展及其在应用上的互通。XMPP 核心协议由RFC (Request for Comments) 3920和RFC 3921组成,包含了-一系 列扩展协议(XEPs, XMPP Extension Protocols )。扩展协议XEP-0060定义了一 种发布订阅机制,而XEP-0137在此基础上提供了一种发布流式(stream)信息 的办法。其典型步骤为1、信息消费者到发布服务器上订阅某种类型的信息;2、 信息发布者往发布服务器上发布某个类型的信息;3、发布服务器通知所有订阅 了该类型信息的消费者;4、信息消费者到信息发布者处获取实际的信息。上述 机制存在诸多不足之处,如只有信息发布者在线时,消费者才能获取它发布的信 息;所有信息消费者都需要到发布者处获取信息,增加了发布者的网络流量;当 信息发布者网速较慢或发布信息很大时,消费者的服务质量难以保证
发明内容
本发明的目的在于克服XMPP扩展协议的缺陷,提高基于即时通信技术文 件发布的服务质量,从而提供一种基于即时通信技术的文件发布方法。为达到上述发明目的,本发明提供的基于即时通信技术的文件发布方法,包 括初始化过程和文件发布机制。所述服务器初始化过程包括以下步骤11) 由XMPP网络中的IM服务器定义合法文件服务器的IP (Internet Protocol,因特网协议)地址和JID (Jabber Identifier, Jabber标识符)标识,并 建立一个在线文件服务器列表;其中,IM服务器实现了 XMPP扩展协议 XEP-0060中所述发布订阅功能;12) 文件服务器根据XMPP协议将服务支持信息发送到IM服务器;13) IM服务器根据消息发布者的IP地址和JID标识,判断该实体是否为合 法的文件服务器,如合法,向所述文件服务器反馈成功信息,并将该文件服务器 加入到在线文件服务器列表中;否则,向所述文件服务器反馈失败消息。所述文件发布机制包括如下步骤-21) 文件发布者通过客户端向发布服务器发送发布消息;所述发布消息含有 发布文件的属性信息;所述发布文件的属性信息包括该文件的唯一标识、描述与 类型;22) 发布服务器根据发布文件的唯一标识判断该文件是否已经存在于发布服 务器的发布文件列表中,如果已经存在,根据所述发布消息更改发布服务器中该 发布文件的属性信息,向文件发布者返回成功消息,发布过程完成;否则,继续 执行步骤23);23) 发布服务器根据消息发布者的IP地址和JID标识,判断该发布者是否 为合法文件服务器之一,如果是,继续执行步骤27);否则继续执行步骤24);24) 发布服务器从在线文件服务器列表中选择一个在线文件服务器,将该在 线文件服务器的JID标识返回给文件发布者;25) 文件发布者将发布文件以及该文件的属性信息传送给步骤23)中选择 的文件服务器;26) 所述文件服务器向发布服务器发送发布消息,所述发布消息含有步骤 24)中接收到的发布文件的属性信息;所述发布文件的属性信息包括该文件的唯 一标识、描述与类型;27) 发布服务器在发布文件列表中添加一条新记录,所述新记录中包含所述 发布文件的属性信息。所述步骤11)中,所述IM服务器定义合法的文件服务器是将具有一系列IP 地址或一系列JID标识的服务器作为的合法的文件服务器。IM服务器用这种办 法来防止任意客户端伪装成文件服务器来盗取用户信息。所述发布文件的属性信息还包括文件名称、文件大小,文件格式,文件创建 时间,文件版权信息等。所述发布文件的唯一标识由两部分组成,第一部分是文件内容摘要,第二部 分为文件发布者的JID标识;所述内容摘要根据文件的内容通过哈希算法(如 MD5、 SHA1等)生成。内容摘要只与文件的内容本身相关,而与文件的其它属 性如描述、类型等无关。系统中,具有同样内容摘要的文件可以看作是同一个文 件。所述步骤24)中,从在线文件服务器列表中选择一个在线文件服务器时采 用随机选择算法,Round-Robin算法或其它能够在多个文件服务器之间实现负 载均衡的选择算法。本发明提供的文件发布方法,作为XMPP扩展协议所述信息发布订阅方法 的一个补充。使用此方法发布文件后,发布者不必保持在线,其他用户可以从文 件服务器下载到该发布文件;发布者发布文件后,无论该文件被下载多少次,对 发布者都只产生一次流量,减少了发布者的网络流量;文件服务器网速和带宽更 有保证,提高了用户下载文件时的服务质量。
图1是本发明的文件发布的总体框架图2是本发明服务器初始化的流程图;图3是本发明文件发布的流程图;图4是本发明文件发布的时序图;图5是本发明所涉及的三类实体的示意图。
具体实施方式
本发明提供的文件发布解决方案,涉及到三类实体IM服务器、文件服务 器和客户端(如图5所示)。其中,IM服务器是实现了 XMPP基本协议和相关扩展协议的即时通信服务 器,它包含负责管理信息发布订阅的模块,本发明中称为发布服务器。发布服务 器拥有独立的JID,能够与其它客户端通信。IM服务器主要负责用户管理、消 息路由、订阅关系管理等基础功能。客户端指实现了 XMPP协议即时通信客户端,它通常是硬件设备上的软件 实体。文件服务器负责存储用户发布的文件,作为一个特殊的客户端来实现,拥有 独立的JID,能够通过IM服务器与其它客户端通信。客户端可以通过各种无线或有线方式连接到IM服务器,包括xDSL (使用 电话线方式进行数据通信的传输机制)、WLAN (802.11a、 802.11b、 802.11g等)、 WWAN(802.16)以及各种以太网接入方式(10Mbps、 100Mbps、 1000Mbps以及 10Gbps)。IM服务器和文件服务器则通过以太网局域网直接连接。 下面结合附图和具体实施例,对本发明提供的基于即时通信技术文件发布方 法作进一步阐述。本发明提供的基于即时通信技术文件发布方法包括初始化过程和文件发布 机制。实施例1如图1所示,本发明提供的基于即时通信技术的文件发布包括 步骤100:初始化过程。 步骤200:文件发布方法。本实施案例中,步骤100的初始化过程如图2所示,包括如下子步骤 步骤110:通过配置文件或者数据库,定义合法文件服务器的IP地址和JID标识,并初始化一个空的在线文件服务器列表;步骤111:文件服务器将其所提供的功能和实现的服务细节发送给IM服务 器。本实施案例中通过xmlns=http:〃jabber.org/protocol/disco#infopub来表明该实 体实现了本发明中所述的扩展协议;步骤112: IM服务器根据消息发送者的IP地址和JID标识,判断该实体是 否合法的文件服务器。IP地址和JID标识都可以直接从会话属性中直接获取,不 需要消息中额外附带;步骤113:如果该实体是合法的文件服务器,IM服务器将它加入在线文件服 务器列表中;否则,IM服务器反馈错误信息。如图3和图4所示,步骤200的文件发布方法包括如下子步骤 步骤210:提供界面,供用户输入待共享文件的类型和描述等属性; 步骤211:客户端向发布服务器发送发布命令,命令中包含了该发布文件的 唯一标识、类型和描述等属性。本实施案例中,文件的唯一标识由两部分组成, 第一部分为文件内容的SHA1摘要,第二部分为文件发布者的JID。步骤212:发布服务器收到消息后,通过文件的唯一标识检査该文件是否己 经存在于发布文件列表中,如果已经存在,根据所述发布消息更改发布服务器中 该发布文件的属性信息(发布文件的属性信息还可以包括文件名称、文件大小, 文件格式,文件创建时间,文件版权信息等),向文件发布者返回成功消息;否 则,继续执行步骤213。步骤213:发布服务器根据文件发布者的IP地址和JID标识判断该发布者是 否为合法的文件服务器之一,如果是,继续执行步骤217;否则,继续执行步骤214;步骤214:发布服务器从在线文件服务器列表中选择一个在线文件服务器,将该在线文件服务器的JID标识返回给文件发布者。从在线文件服务器列表中选 择一个在线文件服务器时采用随机选择算法,Round-Robin算法或其它能够在
多个文件服务器之间实现负载均衡的选择算法。步骤215:文件发布者将发布文件以及该发布文件的属性信息传送给步骤 214)中选择的文件服务器,并指定该发布文件的创建者为该文件发布者的JID;步骤216:所述文件服务器向发布服务器发送发布消息,所述发布消息含有 步骤215)中接收到的发布文件的属性信息;所述发布文件的属性信息包括该文 件的唯一标识、描述与类型。步骤217:发布服务器在发布文件列表中添加一条新记录,所述新记录中包 含所述发布文件的属性信息。
权利要求
1. 一种基于即时通信技术的文件发布方法,包括初始化过程和文件发布机制,其特征在于,所述服务器初始化过程包括以下步骤11)由XMPP网络中的IM服务器定义合法文件服务器的IP地址和JID标识,并建立一个在线文件服务器列表;其中,IM服务器是实现了XMPP扩展协议XEP-0060中发布订阅功能的IM服务器;12)文件服务器根据XMPP协议将服务支持信息发送到IM服务器;13)IM服务器根据文件服务器的IP地址和JID标识,判断该文件服务器是否为合法的文件服务器,如合法,向所述文件服务器反馈成功信息,并将该文件服务器加入到在线文件服务器列表中;否则,向所述文件服务器反馈失败消息。所述文件发布机制包括如下步骤21)文件发布者通过客户端向发布服务器发送发布消息;所述发布消息含有发布文件的属性信息;所述发布文件的属性信息包括该文件的唯一标识、描述与类型;22)发布服务器根据发布文件的唯一标识判断该文件是否已经存在于发布服务器的发布文件列表中,如果已经存在,根据所述发布消息更改发布服务器中该发布文件的属性信息,向文件发布者返回成功消息,发布过程完成;否则,继续执行步骤23);23)发布服务器根据文件发布者的IP地址和JID标识判断该发布者是否为合法文件服务器之一,如果是,继续执行步骤27);否则,继续执行步骤24);24)发布服务器从在线文件服务器列表中选择一个在线文件服务器,将该在线文件服务器的JID标识返回给信息发布者;25)文件发布者将发布文件以及该文件的属性信息传送给步骤24)中选择的文件服务器;26)所述文件服务器向发布服务器发送发布消息,所述发布消息含有步骤25)中接收到的发布文件的属性信息;所述发布文件的属性信息包括该文件的唯一标识、描述与类型;27)发布服务器在发布文件列表中添加一条新记录,所述新记录中包含所述发布文件的属性信息。
2、 按权利要求1所述的基于即时通信技术的文件发布方法,其特征在于, 所述发布文件的属性信息还包括文件名称、文件大小,文件格式,文件创建时间, 文件版权信息。
3、 按权利要求1所述的基于即时通信技术的文件发布方法,其特征在于, 所述发布文件的唯一标识由两部分组成,第一部分是文件内容摘要,第二部分为 信息发布者的JID标识;所述内容摘要根据文件的内容通过哈希算法生成。
4、 按权利要求1所述的基于即时通信技术的文件发布方法,其特征在于, 所述步骤24)中,从在线文件服务器列表中选择一个在线文件服务器时采用随 机选择算法,Round-Robin算法或其它能够在多个文件服务器之间实现负载均衡 的选择算法。
全文摘要
本发明涉及一种基于即时通信技术的文件发布方法,包括初始化过程和文件发布机制,其初始化过程是由XMPP网络中的IM服务器定义合法文件服务器的IP地址和JID标识,并建立一个在线文件服务器列表的过程;文件发布机制包括文件发布者通过客户端向发布服务器发送发布消息;发布服务器从在线文件服务器列表中选择一个在线文件服务器,将该在线文件服务器的JID标识返回给信息发布者;文件发布者将发布文件以及该文件的属性信息传送给所述文件服务器;所述文件服务器向发布服务器发送发布消息;发布服务器在发布文件列表中添加一条新记录。本发明优点在于发布者不必保持在线;减少发布者的网络流量;提高了用户下载文件时的服务质量。
文档编号H04L29/06GK101212474SQ20061017164
公开日2008年7月2日 申请日期2006年12月31日 优先权日2006年12月31日
发明者吕红亮, 晔 李, 汤迪斌, 王劲林, 湘 钱 申请人:中国科学院声学研究所