[发明专利]一种基于XMPP的异构终端消息互通的方法、服务器及系统有效
申请号: | 201510883085.7 | 申请日: | 2015-12-03 |
公开(公告)号: | CN105515947B | 公开(公告)日: | 2018-08-21 |
发明(设计)人: | 韩志永;苏会杰;齐幸辉;侯位昭;张建中;杨莹;翟晓亮;李川;许杨;梁栋;赵康;王阳;詹克通;祝胜强;孙安宅;郝志刚;倪洪印;周冰;臧艳军 | 申请(专利权)人: | 河北远东通信系统工程有限公司 |
主分类号: | H04L12/58 | 分类号: | H04L12/58;H04L29/08 |
代理公司: | 河北东尚律师事务所 13124 | 代理人: | 王文庆 |
地址: | 050200 河北省石*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 xmpp 终端 消息 互通 方法 服务器 系统 | ||
1.一种XMPP服务器,包括消息收发模块和消息路由模块,其特征在于:还包括智能路由插件和多个业务插件;
所述消息收发模块用于与XMPP客户端之间完成XMPP消息的接收和发送;同时,接收消息路由模块发送来的回复消息;
所述消息路由模块用于把XMPP消息分发到智能路由插件中;同时,将智能路由插件发送来的回复消息交由消息收发模块;
所述智能路由插件用于根据XMPP消息中的业务类型和路由号码以及智能路由插件的路由规则,把XMPP消息按照路由策略路由到对应的业务插件;同时,将业务插件回复的消息交由消息路由模块;
所述多个业务插件用于接收外部的适配协议,并根据适配协议对智能路由插件发送来的XMPP消息进行协议适配后对外输出;
所述的智能路由插件包括业务插件管理模块、业务类型配置模块、路由规则配置模块和消息智能路由模块;
所述业务插件管理模块用于注册各种业务插件所支持的业务类型;
所述业务类型配置模块用于配置XMPP服务器所支持的业务类型以及业务类型的失败路由;
所述路由规则配置模块用于配置路由规则;其中,所述的路由规则由数字、分号和X字母组成,用于表示业务类型到各种业务插件之间映射关系;
所述消息智能路由模块根据业务类型配置模块的配置结果来判断XMPP服务器是否支持XMPP消息中的业务类型,如果支持,则根据XMPP消息中的路由号码以及路由规则,按照最长前缀位数匹配规则路由XMPP消息;如果路由成功,则将XMPP消息转发到对应的业务插件;如果路由失败,则根据业务类型的失败路由将XMPP消息路由到对应业务插件;否则,返回业务类型错误消息到消息路由模块。
2.根据权利要求1所述的一种XMPP服务器,其特征在于:所述的最长前缀位数匹配规则具体为:路由号码的长度与路由规则的长度相同;并且,路由规则中最长数字前缀和路由号码中与路由规则最长数字前缀相同长度的前缀相同。
3.一种基于XMPP的异构终端消息互通的系统,其特征在于:包括如权利要求1至2所述的任一XMPP服务器、XMPP客户端以及一个或多个第三方系统;
所述XMPP客户端用于将外部输入数据按照扩展XMPP协议生成XMPP消息后,将XMPP消息发送至XMPP服务器,同时,接收XMPP服务器回复的消息;
所述XMPP服务器用于接收XMPP消息,完成XMPP消息的智能路由和协议适配,并发送适配后消息至第三方系统;
所述第三方系统用于接收来自XMPP服务器的消息,根据第三方系统的协议进行回复。
4.根据权利要求3所述的一种基于XMPP的异构终端消息互通的系统,其特征在于,所述的XMPP客户端包括人机交互模块、协议封装解析模块和消息收发模块;
所述人机交互模块用于将外部输入数据输出至协议封装解析模块,同时,将协议封装解析模块发送来的解析后的XMPP消息进行呈现;
所述协议封装解析模块用于将外部输入数据按照扩展XMPP协议进行封装得到XMPP消息后交由消息收发模块,同时,将XMPP服务器返回或推送过来的XMPP消息进行解析后交由人机交互模块呈现;
所述消息收发模块用于发送协议封装解析模块的XMPP消息到XMPP服务器,同时,接收XMPP服务器返回或推送过来的XMPP消息。
5.根据权利要求3或4所述的一种基于XMPP的异构终端消息互通的系统,其特征在于,所述的扩展XMPP协议包括IQ节消息子标签和IQ节消息子标签的子标签;其中,IQ节消息子标签包括命名空间、业务类型和路由号码,所述的命名空间用于区别XMPP协议已有IQ节消息,业务类型用于代表XMPP服务器实现不同的功能,路由号码用于作为XMPP消息路由的依据;IQ节消息子标签的子标签根据业务类型进行扩展。
6.一种基于XMPP的异构终端消息互通的方法,其特征在于,包括以下步骤:
A.XMPP客户端获取XMPP服务器中的业务类型,根据扩展XMPP协议生成XMPP消息后向XMPP服务器发送;
B.XMPP服务器接收XMPP消息,根据XMPP消息中的命名空间分发XMPP消息到XMPP服务器的智能路由插件;
C.XMPP服务器的智能路由插件路由XMPP消息到对应的业务插件;
D.业务插件将XMPP消息根据第三方系统的协议进行协议适配,将适配后的消息发送到第三方系统的异构客户端;
步骤A中所述的扩展XMPP协议包括IQ节消息子标签和IQ节消息子标签的子标签;其中,IQ节消息子标签包括命名空间、业务类型和路由号码,所述的命名空间用于区别XMPP协议已有IQ节消息,业务类型用于代表XMPP服务器实现不同的功能,路由号码用于作为XMPP消息路由的依据;IQ节消息子标签的子标签根据业务类型进行扩展;
所述步骤C具体包括以下步骤:
第一步:智能路由插件接收消息路由模块分发的XMPP消息;
第二步:消息智能路由模块解析XMPP消息中的业务类型和路由号码;
第三步:消息智能路由模块根据业务类型配置模块的配置结果来判断XMPP服务器是否支持XMPP消息中的业务类型,如果支持,则执行第四步;否则,转入第八步;
第四步:消息智能路由模块根据业务类型获取路由规则,无路由规则时,转第六步,否则,执行第五步;
第五步:根据最长前缀位数匹配规则,对路由号码进行匹配,判断是否匹配成功,如果匹配成功,则转第七步;如果匹配失败,则转第六步;
第六步:获取失败路由,判断失败路由是否存在,如果存在,转第七步,否则转第八步;
第七步:路由消息到对应的业务插件;
第八步:返回XMPP客户端消息处理结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河北远东通信系统工程有限公司,未经河北远东通信系统工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510883085.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种网络社区群体语音通信系统
- 下一篇:消息发送方法及装置