首页> 中国专利> 一种基于SOAP协议的消息路由方法和系统

一种基于SOAP协议的消息路由方法和系统

摘要

本发明涉及一种基于SOAP协议的消息路由方法和系统,方法包括以下步骤,加载路由配置文件,将路由配置文件中的路由数据读入内存;监听并接收来自客户端的SOAP请求报文;在所述SOAP请求报文中定位路由关键字;根据路由关键字在读入内存的路由数据中进行检索,得到路由关键字对应的目标服务器URL;根据路由关键字与目标服务器URL的对应关系,建立当前服务器与目标BSS系统的连接。本发明对SOAP协议的路由分发与业务语义分离,与业务无关,适用任何业务场景,实现不同SOAP通信报文分发或路由规则可配置,路由配置灵活,支持多种路由方式。

著录项

  • 公开/公告号CN105049519A

    专利类型发明专利

  • 公开/公告日2015-11-11

    原文格式PDF

  • 申请/专利权人 北京思特奇信息技术股份有限公司;

    申请/专利号CN201510484642.8

  • 发明设计人 张厚瑞;

    申请日2015-08-07

  • 分类号H04L29/08;

  • 代理机构北京轻创知识产权代理有限公司;

  • 代理人杨立

  • 地址 100086 北京市海淀区中关村南大街6号中电信息大厦16层

  • 入库时间 2023-12-18 12:06:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-17

    授权

    授权

  • 2016-01-06

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20150807

    实质审查的生效

  • 2015-11-11

    公开

    公开

说明书

技术领域

本发明涉及通信领域,特别涉及一种基于SOAP协议的消息路由方法和 系统。

背景技术

在移动通信领域中,电信运营商的BSS(BusinessSupportSystem,业 务支撑系统)系统升级项目时,考虑地区具有区域特性以及整个系统的稳定 性,系统割接方案在大多数情况下为多次割接,第一次只割接一个地区。这 时,多次割接的方案会造成同一个SOAP(SimpleObjectAccessProtocol,简 单对象访问协议)接口,BSS系统具有2个URL地址:新系统地址和老系统 地址,因此需要一个基于SOAP协议的消息路由程序,实现根据号段作为路 由关键字,进行报文分发。对于号段属于已割接地市,将报文转发至新系统; 对于号段属于未割接地市的业务,将报文转发至老系统。

发明内容

本发明所要解决的技术问题是提供一种基于SOAP协议的消息路由方法 和系统,解决对客户端来说,调用的服务端接口或服务有多个,对外发布的 URL地址有多个,并且URL地址需要通过路由关键字识别的问题。

本发明解决上述技术问题的技术方案如下:一种基于SOAP协议的消息 路由方法,包括以下步骤

步骤1,加载路由配置文件,将路由配置文件中的路由数据读入内存;

步骤2,监听并接收来自客户端的SOAP请求报文;

步骤3,在所述SOAP请求报文中定位路由关键字;

步骤4,在读入内存的路由数据中进行检索,得到路由关键字对应的目 标服务器URL;

步骤5,根据路由关键字与目标服务器URL的对应关系,建立当前服务 器与目标服务器的连接。

本发明的有益效果是:本发明对SOAP协议的路由分发与业务语义分离, 与业务无关,适用任何业务场景,实现不同SOAP通信报文分发或路由规则 可配置,路由配置灵活,支持多种路由方式。

为了解决所述技术问题,本发明还提供一种基于SOAP协议的消息路由 系统,包括配置文件加载模块,用于加载路由配置文件,将路由配置文件中 的路由数据读入内存;

监听模块,用于监听并接收来自客户端的SOAP请求报文;

关键字定位模块,用于在所述SOAP请求报文中定位路由关键字;

检索模块,用于在读入内存的路由数据中进行检索,得到路由关键字 对应的目标服务器URL;

链路连接模块,用于根据路由关键字与目标服务器URL的对应关系,建 立当前服务器与目标服务器的连接。

附图说明

图1为本发明一种基于SOAP协议的消息路由方法步骤流程图;

图2为本发明一种基于SOAP协议的消息路由系统与外部系统关系示意 图。

图3为本发明一种基于SOAP协议的消息路由系统内部模块关系示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本 发明,并非用于限定本发明的范围。

本技术发明是基于SOAP协议开发的,为基于HTTP协议栈之上的servlet 应用程序。

图1为本发明一种基于SOAP协议的消息路由方法步骤流程图;

如图1所示,一种基于SOAP协议的消息路由方法,包括以下步骤

步骤1,加载路由配置文件,将路由配置文件中的路由数据读入内存;

步骤2,监听并接收来自客户端的SOAP请求报文。在servlet应用程序 中,可以通过dopost方法,监听servlet请求,接收来自客户端的SOAP请 求报文。

步骤3,在所述SOAP请求报文中定位路由关键字,在servlet应用程序 中根据xmlpath定位路由关键字。

步骤4,根据定位的路由关键字,在读入内存的路由数据中进行检索, 得到路由关键字对应的目标服务器URL。

步骤5,根据路由关键字与目标服务器URL的对应关系,建立当前服务 器与目标服务器的连接,在servlet应用程序中,可以利用 HttpURLConnection建立输入输出流,从而实现建立当前服务器与目标服务 器的连接。

在步骤5之后还包括

步骤6,向目标服务器发送SOAP请求报文,并接受来自目标服务器的 应答报文;

步骤7,向客户端发送所述应答报文,并关闭连接。

所述路由配置文件记载了路由关键字与目标服务器URL的对应关系。

在步骤3之前还包括,判断接收的SOAP请求报文是否为空,如果是, 则向客户端返回默认错误报文,如果否,则执行步骤3;

在步骤5之前还包括,判断得到的目标服务器URL是否为空,如果是, 则向客户端返回默认错误报文,如果否,则执行步骤5。

在步骤5中,为每一个连接单独分配一个线程,多个线程并发执行。

在步骤5中,为每个连接的连接时间设定阈值,当连接时间超过所述阈 值时,则自动断开当前连接。

图2为本发明一种基于SOAP协议的消息路由系统与外部系统关系示意 图。如图2所示,客户端通过统一接口将SOAP请求报文发送至基于SOAP协 议的消息路由系统所在的服务器,基于SOAP协议的消息路由系统通过统一 接口接收SOAP请求报文后,根据内部定义的报文分发机制将该SOAP请求报 文分发至目标BSS系统所在的服务器中。

图3为本发明一种基于SOAP协议的消息路由系统内部模块关系示意图。 如图3所示,一种基于SOAP协议的消息路由系统,包括配置文件加载模块, 用于加载路由配置文件,将路由配置文件中的路由数据读入内存;监听模块, 用于监听并接收来自客户端的SOAP请求报文,可以通过dopost方法,监听 servlet请求,接收来自客户端的SOAP请求报文;关键字定位模块,用于在 所述SOAP请求报文中定位路由关键字,在servlet应用程序中根据xmlpath 定位路由关键字;检索模块,用于在读入内存的路由数据中进行检索,得到 路由关键字对应的目标服务器URL;链路连接模块,用于根据路由关键字与 目标服务器URL的对应关系,建立当前服务器与目标服务器的连接,在 servlet应用程序中,可以利用HttpURLConnection建立输入输出流,从而 实现建立当前服务器与目标服务器的连接。

基于SOAP协议的消息路由系统,所述路由配置文件记载了路由关键字 与目标服务器URL的对应关系。

基于SOAP协议的消息路由系统,还包括请求报文验证模块和URL验证 模块,请求报文验证模块用于判断接收的SOAP请求报文是否为空,如果是, 则向客户端返回默认错误报文,如果否,则将所述SOAP请求报文发送至关 键字定位模块;URL验证模块判断得到的目标服务器URL是否为空,如果是, 则向客户端返回默认错误报文,如果否,则将目标服务器URL发送至链路连 接模块。

基于SOAP协议的消息路由系统,链路连接模块还用于为每一个连接单 独分配一个线程,多个线程并发执行。链路连接模块还用于为每个连接的连 接时间设定阈值,当连接时间超过所述阈值时,则自动断开当前连接。

实施例一:

山东联通BSS系统升级中,由于系统割接方案为多次割接,第一次只割 接一个地市。这种割接方案,造成同一个SOAP接口,BSS系统有2个URL 地址:新系统的URL地址和老系统的URL地址。因此,需要一个基于SOAP 协议的分发程序,实现根据号段作为路由关键字,将客户端发送的URL地址 发送到目标BSS系统中,例如,对于号段属于已割接地市,将报文转发至新 BSS系统;对于号段属于未割接地市的业务,将报文转发至老BSS系统。

针对SOAP接口,在BSS系统侧的前端增加本发明所述基于SOAP协议的 消息路由系统,并配置路由数据,路由文件rt.xml样例如下:

将割接到新系统的号段,配置在<URLnew>节点下,作为节点值。其余 未配置的号段,默认是老系统的号段,号段放入map容器中。

SOAP报文的里有关键字位置为/USERSTATREQUEST/MSGBODY/MSISDN。 取号码的前7位,通过map.get是否有值,有值则表示属于新系统,否则属 于老系统。

本发明的有益效果为,对SOAP协议的路由分发与业务语义分离,与业 务无关,适用任何业务场景,实现不同SOAP通信报文分发或路由规则可配 置,路由配置灵活,支持多种路由方式,如号段路由、工号路由、业务业务 等等。使用线程池,分发效率较高。同时对连接设置超时时限,提高线程使 用率,保证线程良性运行。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明 的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发 明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号