《一种扩展XMPP服务器开放平台的系统及方法.pdf》由会员分享,可在线阅读,更多相关《一种扩展XMPP服务器开放平台的系统及方法.pdf(9页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102438027 A (43)申请公布日 2012.05.02 C N 1 0 2 4 3 8 0 2 7 A *CN102438027A* (21)申请号 201210014112.3 (22)申请日 2012.01.17 H04L 29/06(2006.01) (71)申请人深圳市乐唯科技开发有限公司 地址 518000 广东省深圳市福田区泰然工业 区厂房205栋2层203、205、206 (72)发明人周聪伟 (74)专利代理机构北京品源专利代理有限公司 11332 代理人宋松 (54) 发明名称 一种扩展XMPP服务器开放平台的系统及方 法 (57) 摘要 。
2、本发明公开一种扩展XMPP服务器开放平台 的系统,OpenAPI服务器,对将要集成到XMPP服 务器的所有第三方应用处理为不同的服务集成 到XMPP服务器;XMPP服务器,接收客户端发出的 订阅及退订数据,通过OpenAPI服务器并路由到 第三方应用系统,完成客户端对XMPP服务器集成 的所有第三方应用对应服务的订阅及取消订阅; 第三方应用系统,对客户端对已订阅的服务发 出的服务请求数据进行处理,并将处理结果通过 OpenAPI服务器及XMPP服务器透传给客户端。本 发明完成了服务功能的快速迭代,方便了服务提 供方和客户端之间的交互,简化了服务的发布。 (51)Int.Cl. (19)中华人民。
3、共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 5 页 附图 1 页 CN 102438035 A 1/2页 2 1.一种扩展XMPP服务器开放平台的系统,其特征在于,包括:第三方应用系统、 OpenAPI服务器及XMPP服务器;所述OpenAPI服务器,与第三方应用系统连接,对将要集成 到XMPP服务器的所有第三方应用处理为不同的服务集成到XMPP服务器;所述XMPP服务 器,与客户端连接,接收客户端发出的订阅及退订数据,通过OpenAPI服务器并路由到第三 方应用系统,完成客户端对XMPP服务器集成的所有第三方应用对应服务的订阅及取消订 阅;所述第三方应用系统,对客。
4、户端对已订阅的服务发出的服务请求数据进行处理,并将处 理结果通过OpenAPI服务器及XMPP服务器透传给客户端。 2.根据权利要求1扩展XMPP服务器开放平台的系统,其特征在于,所述OpenAPI服务 器,对将要集成到XMPP服务器的所有第三方应用进行注册,从而获得与所有第三方应用对 应的账号和相关信息,并将所述账号和相关信息将作为不同的XMPP服务集成到XMPP服务 器。 3.根据权利要求2扩展XMPP服务器开放平台的系统,其特征在于,所述客户端,通过 XMPP的服务发现协议发现集成到XMPP服务器中与第三方应用对应的所有服务,并可以对 所有服务进行订阅;所述订阅,即向XMPP服务器发出订。
5、阅数据,XMPP服务器对订阅数据进 行处理后,通过OpenAPI服务器获得与订阅数据对应的服务的详细信息,并把订阅的服务 作为联系人显示在客户端;同时,取消订阅时,已订阅的服务将从客户端的联系人列表中消 失。 4.根据权利要求3扩展XMPP服务器开放平台的系统,其特征在于,还包括:控制服务 器;所述控制服务器,与客户端连接,向客户端下发XMPP服务器的端口和地址;所述客户端 通过所述端口和地址连接XMPP服务器。 5.根据权利要求4扩展XMPP服务器开放平台的系统,其特征在于,所述第三方应用系 统中所有的第三方应用、OpenAPI服务器、XMPP服务器及控制服务器之间的数据通信均是 通过thr。
6、ift实现跨平台调用。 6.一种扩展XMPP服务器开放平台的方法,其特征在于,包括如下步骤: A、控制服务器向客户端下发XMPP服务器的端口和地址;客户端通过所述端口和地址 连接XMPP服务器; B、OpenAPI服务器对将要集成到XMPP服务器的所有第三方应用处理为不同的服务集 成到XMPP服务器; C、客户端通过XMPP的服务发现协议发现集成到XMPP服务器中与第三方应用对应的所 有服务,并完成服务的订阅或取消订阅; D、客户端对已订阅的服务通过XMPP服务器及OpenAPI服务器向第三方应用系统发送 服务请求数据; E、第三方应用系统对传入的服务请求数据进行处理,并将处理结果通过Open。
7、API服务 器及XMPP服务器透传给客户端。 7.根据权利要求6所述的扩展XMPP服务器开放平台的方法,其特征在于,所述步骤B 具体包括:OpenAPI服务器对将要集成到XMPP服务器的所有第三方应用进行注册,从而获 得与所有第三方应用对应的账号和相关信息,并将所述账号和相关信息将作为不同的XMPP 服务集成到XMPP服务器。 8.根据权利要求7所述的扩展XMPP服务器开放平台的方法,其特征在于,所述步骤C 权 利 要 求 书CN 102438027 A CN 102438035 A 2/2页 3 具体包括:客户端通过XMPP的服务发现协议发现集成到XMPP服务器中与第三方应用对应 的所有服务。
8、,并可以对所有服务进行订阅;所述订阅,即向XMPP服务器发出订阅数据,XMPP 服务器对订阅数据进行处理后,通过OpenAPI服务器获得与订阅数据对应的服务的详细信 息,并把订阅的服务作为联系人显示在客户端;同时,取消订阅时,XMPP服务器将根据退订 数据,从客户端的联系人列表除去已订阅的服务。 权 利 要 求 书CN 102438027 A CN 102438035 A 1/5页 4 一种扩展 XMPP 服务器开放平台的系统及方法 技术领域 0001 本发明涉及计算机通信领域,尤其涉及一种扩展XMPP服务器开放平台的系统及 方法。 背景技术 0002 应用程序编程接口(Application。
9、 Programming Interface,即API)是一些预先定 义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力, 而又无需访问源码,或理解内部工作机制的细节。在互联网时代,把网站的服务封装成一系 列计算机易识别的数据接口开放出去,供第三方开发者使用,这种行为就叫做开放网站的 API,与之对应的,所开放的API就被称作OpenAPI。XMPP为可扩展通讯和表示协议,其可 用于服务类实时通讯、表示和需求,响应服务中的XML数据元流式传输;其中XML为可扩展 标记语言,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类 型,是一种允许用户对自己。
10、的标记语言进行定义的源语言。 0003 目前,几乎所有的主流平台都在公开其API使得自己成为一个管道。在即时通 讯(Instant Messenger,即IM)领域,已经有很多的比如新浪微博、腾讯微博等都有自己的 OpenAPI,它们实现的方式都是基于超文本传输协议(HyperText Transfer Protocol,即 HTTP)提供的一些访问接口,使得用户可以通过这些OpenAPI,来满足开发的需要。但是,目 前已有的OpenAPI,都是其已有功能的一个接口抽象,并没有为其系统带来功能和业务上的 扩展,而且发布服务过程复杂。 发明内容 0004 针对上述技术问题,本发明的目的在于提供一。
11、种扩展XMPP服务器开放平台的系 统及方法,其基于XMPP实现服务器OpenAPI的扩展,使OpenAPI所在的系统充分利用原有 的服务资源,实现功能的快速迭代,而且方便了服务提供方和用户之间的交互,简化了服务 的发布。 0005 为达到上述目的,本发明是通过以下技术方案来实现的: 0006 一种扩展XMPP服务器开放平台的系统,包括:第三方应用系统、OpenAPI服务器 及XMPP服务器;所述OpenAPI服务器,与第三方应用系统连接,对将要集成到XMPP服务 器的所有第三方应用处理为不同的服务集成到XMPP服务器;所述XMPP服务器,与客户端 连接,接收客户端发出的订阅及退订数据,通过Op。
12、enAPI服务器并路由到第三方应用系统, 完成客户端对XMPP服务器集成的所有第三方应用对应服务的订阅及取消订阅;所述第三 方应用系统,对客户端对已订阅的服务发出的服务请求数据进行处理,并将处理结果通过 OpenAPI服务器及XMPP服务器透传给客户端。 0007 特别的,所述OpenAPI服务器,对将要集成到XMPP服务器的所有第三方应用进行 注册,从而获得与所有第三方应用对应的账号和相关信息,并将所述账号和相关信息将作 为不同的XMPP服务集成到XMPP服务器。 说 明 书CN 102438027 A CN 102438035 A 2/5页 5 0008 特别的,所述客户端,通过XMPP的。
13、服务发现协议发现集成到XMPP服务器中与第三 方应用对应的所有服务,并可以对所有服务进行订阅;所述订阅,即向XMPP服务器发出订 阅数据,XMPP服务器对订阅数据进行处理后,通过OpenAPI服务器获得与订阅数据对应的 服务的详细信息,并把订阅的服务作为联系人显示在客户端;同时,取消订阅时,已订阅的 服务将从客户端的联系人列表中消失。 0009 特别的,所述扩展XMPP服务器开放平台的系统还包括:控制服务器;所述控制服 务器,与客户端连接,向客户端下发XMPP服务器的端口和地址;所述客户端通过所述端口 和地址连接XMPP服务器。 0010 特别的,所述第三方应用系统中所有的第三方应用、Open。
14、API服务器、XMPP服务器 及控制服务器之间的数据通信均是通过thrift实现跨平台调用。 0011 本发明还公开了一种扩展XMPP服务器开放平台的方法,包括如下步骤: 0012 A、控制服务器向客户端下发XMPP服务器的端口和地址;客户端通过所述端口和 地址连接XMPP服务器; 0013 B、OpenAPI服务器对将要集成到XMPP服务器的所有第三方应用处理为不同的服 务集成到XMPP服务器; 0014 C、客户端通过XMPP的服务发现协议发现集成到XMPP服务器中与第三方应用对应 的所有服务,并完成服务的订阅或取消订阅; 0015 D、客户端对已订阅的服务通过XMPP服务器及OpenAP。
15、I服务器向第三方应用系统 发送服务请求数据; 0016 E、第三方应用系统对传入的服务请求数据进行处理,并将处理结果通过OpenAPI 服务器及XMPP服务器透传给客户端。 0017 特别的,所述步骤B具体包括:OpenAPI服务器对将要集成到XMPP服务器的所有 第三方应用进行注册,从而获得与所有第三方应用对应的账号和相关信息,并将所述账号 和相关信息将作为不同的XMPP服务集成到XMPP服务器。 0018 特别的,所述步骤C具体包括:客户端通过XMPP的服务发现协议发现集成到XMPP 服务器中与第三方应用对应的所有服务,并可以对所有服务进行订阅;所述订阅,即向 XMPP服务器发出订阅数据,。
16、XMPP服务器对订阅数据进行处理后,通过OpenAPI服务器获得 与订阅数据对应的服务的详细信息,并把订阅的服务作为联系人显示在客户端;同时,取消 订阅时,XMPP服务器将根据退订数据,从客户端的联系人列表除去已订阅的服务。 0019 本发明的有益效果为,所述一种扩展XMPP服务器开放平台的系统及方法,基于 XMPP协议集成第三方应用完成扩展XMPP服务器的开放平台;OpenAPI服务器对将要集成到 XMPP服务器的所有第三方应用处理为不同的服务集成到XMPP服务器;客户端通过XMPP的 服务发现协议发现集成到XMPP服务器中与第三方应用对应的所有服务,并完成服务的订 阅或取消订阅;客户端对已。
17、订阅的服务通过XMPP服务器及OpenAPI服务器向第三方应用系 统发送服务请求数据;第三方应用系统对传入的服务请求数据进行处理,并将处理结果通 过OpenAPI服务器及XMPP服务器透传给客户端;且第三方应用系统中所有的第三方应用、 OpenAPI服务器、XMPP服务器及控制服务器之间的数据通信均是通过thrift实现跨平台 调用。本发明的技术方案完成了服务功能的快速迭代,使客户端能够充分利用原来已有的 服务资源,方便了服务提供方和客户端之间的交互,简化了服务的发布,并且在集成第三方 说 明 书CN 102438027 A CN 102438035 A 3/5页 6 服务的基础上,可以形成一。
18、定的业务逻辑规则,主动向XMPP服务器的所有用户推送相关信 息,达到很好的用户黏性。 附图说明 0020 下面根据附图和实施例对本发明作进一步详细说明。 0021 图1为本发明扩展XMPP服务器开放平台的系统框图; 0022 图2为本发明扩展XMPP服务器开放平台的方法流程图。 具体实施方式 0023 下面结合附图和实施例对本发明作进一步说明。请参照图1所示,图1为本发明 扩展XMPP服务器开放平台的系统框图。 0024 本实施例中,一种扩展XMPP服务器开放平台的系统,包括:控制服务器、第三方应 用系统、OpenAPI服务器及XMPP服务器;其中,所述第三方应用系统包括若干个第三方应 用,不。
19、同的第三方应用为客户端提供不同的服务;所述XMPP服务器为IM服务器;所述第三 方应用系统中所有的第三方应用、OpenAPI服务器、IM服务器及控制服务器之间的数据通 信均是通过thrift实现跨平台调用。所述thrift是用来进行可扩展且跨语言的服务的开 发软件框架,它结合了功能强大的软件堆栈和代码生成引擎,以构建在C+、Java、Python、 PHP、C#、JavaScript等这些编程语言间无缝结合的、高效的服务。 0025 所述控制服务器,与客户端连接,向客户端下发IM服务器的端口和地址;客户端 根据IM服务的端口和地址连接IM服务器。 0026 所述OpenAPI服务器,与第三方应。
20、用系统连接,对将要集成到IM服务器的所有第 三方应用处理为不同的服务集成到IM服务器。 0027 OpenAPI服务器对将要集成到IM服务器的所有第三方应用进行注册,从而获得与 所有第三方应用对应的账号和相关信息,并将所述账号和相关信息将作为不同的XMPP服 务集成到IM服务器。这样一来,第三方应用就与IM服务器建立交互的双向通道。此时, 第三方应用在IM服务器对应于一个IM服务,具有一个独立的账号和显示名。客户端通过 XMPP机制和服务刷新,可以发现该IM服务器上提供的这些服务。 0028 所述IM服务器,与客户端连接,接收客户端发出的订阅及退订数据,通过OpenAPI 服务器并路由到第三方。
21、应用系统,完成客户端对IM服务器集成的所有第三方应用对应服 务的订阅及取消订阅。 0029 客户端通过服务刷新及XMPP机制如XMPP的服务发现协议,发现集成到IM服务器 中与第三方应用对应的所有服务,并可以对所有服务进行订阅;所述订阅,即向IM服务器 发出订阅数据,IM服务器对订阅数据进行处理后,通过OpenAPI服务器获得与订阅数据对 应的服务的详细信息,并把订阅的服务作为联系人显示在客户端;同时,取消订阅时,已订 阅的服务将从客户端的联系人列表中消失。 0030 所述第三方应用系统,对客户端对已订阅的服务发出的服务请求数据进行处理, 并将处理结果通过OpenAPI服务器及IM服务器透传给。
22、客户端。 0031 参照图2所示,图2为本发明扩展XMPP服务器开放平台的方法流程图。 0032 本实施例中,一种扩展XMPP服务器开放平台的方法,基于XMPP协议集成第三方应 说 明 书CN 102438027 A CN 102438035 A 4/5页 7 用完成扩展XMPP服务器的开放平台,其中,所述第三方应用系统包括若干个第三方应用, 不同的第三方应用为客户端提供不同的服务;所述XMPP服务器为IM服务器;所述第三方 应用系统中所有的第三方应用、OpenAPI服务器、IM服务器及控制服务器之间的数据通信 均是通过thrift实现跨平台调用;所述方法包括如下步骤: 0033 步骤101、。
23、控制服务器向客户端下发IM服务器的端口和地址。在客户端连接到控 制服务器后,控制服务器将向客户端下发IM服务器的端口和地址。 0034 步骤102、客户端根据IM服务的端口和地址连接到IM服务器。 0035 步骤103、OpenAPI服务器对将要集成到IM服务器的所有第三方应用处理为不同 的服务集成到IM服务器。 0036 OpenAPI服务器对将要集成到IM服务器的所有第三方应用进行注册,从而获得与 所有第三方应用对应的账号和相关信息,并将所述账号和相关信息将作为不同的XMPP服 务集成到IM服务器。这样一来,第三方应用就与IM服务器建立交互的双向通道。此时, 第三方应用在IM服务器对应于一。
24、个IM服务,具有一个独立的账号和显示名。客户端通过 XMPP机制和服务刷新,可以发现该IM服务器上提供的这些服务。 0037 步骤104、客户端通过XMPP的服务发现协议发现集成到IM服务器中与第三方应用 对应的所有服务,并完成服务的订阅或取消订阅。 0038 客户端通过服务刷新及XMPP机制如XMPP的服务发现协议,发现集成到IM服务器 中与第三方应用对应的所有服务,并可以对所有服务进行订阅;所述订阅,即向IM服务器 发出订阅数据,IM服务器对订阅数据进行处理后,通过OpenAPI服务器获得与订阅数据对 应的服务的详细信息,并把订阅的服务作为联系人显示在客户端;同时,取消订阅时,已订 阅的服。
25、务将从客户端的联系人列表中消失。 0039 步骤105、客户端对已订阅的服务通过IM服务器及OpenAPI服务器向第三方应用 系统发送服务请求数据。客户端根据需要,对已订阅的服务所对应的第三方应用发送服务 请求数据,获得所需的各种服务信息。 0040 步骤106、第三方应用系统中的第三方应用对接收的服务请求数据进行处理,并将 处理结果通过OpenAPI服务器及IM服务器透传给客户端。 0041 本发明具体应用到IM系统中时,以客户端需要获取天气服务为例,具体工作过程 如下: 0042 1)启动控制服务器、IM服务器、天气预报的服务和OpenAPI服务器。 0043 2)客户端刷新当前服务。 0。
26、044 3)IM服务器返回当前所有的服务,并标识那个服务已经订阅,那个服务没有订阅。 0045 4)如果已经订阅天气服务,会作为一个联系人显示在联系人列表中,客户端可以 选择天气,并和他聊天。 0046 5)发送类似“深圳”或者其他城市名,就可以获取整个城市的当前的天气情况。 0047 所述本发明的技术方案,基于XMPP协议集成第三方应用完成扩展IM服务器的开 放平台;OpenAPI服务器对将要集成到IM服务器的所有第三方应用处理为不同的服务集 成到IM服务器;客户端通过XMPP的服务发现协议发现集成到IM服务器中与第三方应用 对应的所有服务,并完成服务的订阅或取消订阅;客户端对已订阅的服务通。
27、过IM服务器及 OpenAPI服务器向第三方应用系统发送服务请求数据;第三方应用系统对传入的服务请求 说 明 书CN 102438027 A CN 102438035 A 5/5页 8 数据进行处理,并将处理结果通过OpenAPI服务器及IM服务器透传给客户端;且第三方应 用系统中所有的第三方应用、OpenAPI服务器、IM服务器及控制服务器之间的数据通信均 是通过thrift实现跨平台调用。本发明完成了服务功能的快速迭代,使客户端能够充分利 用原来已有的服务资源,方便了服务提供方和客户端之间的交互,简化了服务的发布。 0048 上述仅为本发明的较佳实施例及所运用技术原理,任何熟悉本技术领域的技术人 员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围 内。 说 明 书CN 102438027 A CN 102438035 A 1/1页 9 图1 图2 说 明 书 附 图CN 102438027 A 。