CN105049519A - 一种基于soap协议的消息路由方法和系统 - Google Patents
一种基于soap协议的消息路由方法和系统 Download PDFInfo
- Publication number
- CN105049519A CN105049519A CN201510484642.8A CN201510484642A CN105049519A CN 105049519 A CN105049519 A CN 105049519A CN 201510484642 A CN201510484642 A CN 201510484642A CN 105049519 A CN105049519 A CN 105049519A
- Authority
- CN
- China
- Prior art keywords
- message
- soap
- routing
- destination server
- keyword
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000000344 soap Substances 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012544 monitoring process Methods 0.000 claims abstract description 4
- 238000004891 communication Methods 0.000 abstract description 4
- 238000000926 separation method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于SOAP协议的消息路由方法和系统,方法包括以下步骤,加载路由配置文件,将路由配置文件中的路由数据读入内存;监听并接收来自客户端的SOAP请求报文;在所述SOAP请求报文中定位路由关键字;根据路由关键字在读入内存的路由数据中进行检索,得到路由关键字对应的目标服务器URL;根据路由关键字与目标服务器URL的对应关系,建立当前服务器与目标BSS系统的连接。本发明对SOAP协议的路由分发与业务语义分离,与业务无关,适用任何业务场景,实现不同SOAP通信报文分发或路由规则可配置,路由配置灵活,支持多种路由方式。
Description
技术领域
本发明涉及通信领域,特别涉及一种基于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通信报文分发或路由规则可配置,路由配置灵活,支持多种路由方式,如号段路由、工号路由、业务业务等等。使用线程池,分发效率较高。同时对连接设置超时时限,提高线程使用率,保证线程良性运行。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于SOAP协议的消息路由方法,其特征在于,包括以下步骤
步骤1,加载路由配置文件,将路由配置文件中的路由数据读入内存;
步骤2,监听并接收来自客户端的SOAP请求报文;
步骤3,在所述SOAP请求报文中定位路由关键字;
步骤4,根据路由关键字在读入内存的路由数据中进行检索,得到路由关键字对应的目标服务器URL;
步骤5,根据路由关键字与目标服务器URL的对应关系,建立当前服务器与目标服务器的连接。
2.根据权利要求1所述一种基于SOAP协议的消息路由方法,其特征在于,所述路由配置文件记载了路由关键字与目标服务器URL的对应关系。
3.根据权利要求1所述一种基于SOAP协议的消息路由方法,其特征在于,在步骤3之前还包括,判断接收的SOAP请求报文是否为空,如果是,则向客户端返回默认错误报文,如果否,则执行步骤3;
在步骤5之前还包括,判断得到的目标服务器URL是否为空,如果是,则向客户端返回默认错误报文,如果否,则执行步骤5。
4.根据权利要求1所述一种基于SOAP协议的消息路由方法,其特征在于,在步骤5中,为每一个连接单独分配一个线程,多个线程并发执行。
5.根据权利要求1所述一种基于SOAP协议的消息路由方法,其特征在于,在步骤5中,为每个连接的连接时间设定阈值,当连接时间超过所述阈值时,则自动断开当前连接。
6.一种基于SOAP协议的消息路由系统,其特征在于,包括
配置文件加载模块,用于加载路由配置文件,将路由配置文件中的路由数据读入内存;
监听模块,用于监听并接收来自客户端的SOAP请求报文;
关键字定位模块,用于在所述SOAP请求报文中定位路由关键字;
检索模块,用于根据路由关键字在读入内存的路由数据中进行检索,得到路由关键字对应的目标服务器URL;
链路连接模块,用于根据路由关键字与目标服务器URL的对应关系,建立当前服务器与目标服务器的连接。
7.根据权利要求6所述一种基于SOAP协议的消息路由系统,其特征在于,所述路由配置文件记载了路由关键字与目标服务器URL的对应关系。
8.根据权利要求6所述一种基于SOAP协议的消息路由系统,其特征在于,还包括请求报文验证模块,用于判断接收的SOAP请求报文是否为空,如果是,则向客户端返回默认错误报文,如果否,则将所述SOAP请求报文发送至关键字定位模块;
URL验证模块,用于判断得到的目标服务器URL是否为空,如果是,则向客户端返回默认错误报文,如果否,则将目标服务器URL发送至链路连接模块。
9.根据权利要求6所述一种基于SOAP协议的消息路由系统,其特征在于,链路连接模块,还用于为每一个连接单独分配一个线程,多个线程并发执行。
10.根据权利要求6所述一种基于SOAP协议的消息路由系统,其特征在于,链路连接模块,还用于为每个连接的连接时间设定阈值,当连接时间超过所述阈值时,则自动断开当前连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510484642.8A CN105049519B (zh) | 2015-08-07 | 2015-08-07 | 一种基于soap协议的消息路由方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510484642.8A CN105049519B (zh) | 2015-08-07 | 2015-08-07 | 一种基于soap协议的消息路由方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105049519A true CN105049519A (zh) | 2015-11-11 |
CN105049519B CN105049519B (zh) | 2018-07-17 |
Family
ID=54455722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510484642.8A Active CN105049519B (zh) | 2015-08-07 | 2015-08-07 | 一种基于soap协议的消息路由方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105049519B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112769698A (zh) * | 2021-01-06 | 2021-05-07 | 网宿科技股份有限公司 | 一种路由实现方法和装置 |
CN113098792A (zh) * | 2021-02-07 | 2021-07-09 | 北京思特奇信息技术股份有限公司 | 基于令牌绑定的接口数据通信方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1625146A (zh) * | 2003-12-02 | 2005-06-08 | 华为技术有限公司 | 一种实现智能路由共享的方法及系统 |
CN101355492A (zh) * | 2007-07-27 | 2009-01-28 | 华为技术有限公司 | 简单对象访问协议路由方法及路由系统以及相关设备 |
CN101754165A (zh) * | 2008-12-01 | 2010-06-23 | 华为技术有限公司 | 一种路由的方法、系统及设备 |
US20120016996A1 (en) * | 2010-07-16 | 2012-01-19 | Sai Samavedam | Sip-based call session server and message-routing method |
-
2015
- 2015-08-07 CN CN201510484642.8A patent/CN105049519B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1625146A (zh) * | 2003-12-02 | 2005-06-08 | 华为技术有限公司 | 一种实现智能路由共享的方法及系统 |
CN101355492A (zh) * | 2007-07-27 | 2009-01-28 | 华为技术有限公司 | 简单对象访问协议路由方法及路由系统以及相关设备 |
CN101754165A (zh) * | 2008-12-01 | 2010-06-23 | 华为技术有限公司 | 一种路由的方法、系统及设备 |
US20120016996A1 (en) * | 2010-07-16 | 2012-01-19 | Sai Samavedam | Sip-based call session server and message-routing method |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112769698A (zh) * | 2021-01-06 | 2021-05-07 | 网宿科技股份有限公司 | 一种路由实现方法和装置 |
CN113098792A (zh) * | 2021-02-07 | 2021-07-09 | 北京思特奇信息技术股份有限公司 | 基于令牌绑定的接口数据通信方法及系统 |
CN113098792B (zh) * | 2021-02-07 | 2022-11-18 | 北京思特奇信息技术股份有限公司 | 基于令牌绑定的接口数据通信方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105049519B (zh) | 2018-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101009662B (zh) | 基于负载均衡技术的报文处理方法、系统及设备 | |
CN101488928B (zh) | 一种互联企业群通信设备及互联企业群通信方法 | |
US9319241B2 (en) | Flow-based packet transport device and packet management method thereof | |
CN100452753C (zh) | 一种数据传输系统及方法 | |
US20130041943A1 (en) | Distribution system, distribution control device, and distribution control method | |
GB2589211A (en) | Methods and systems of using remote subscriber identification modules at device | |
CN102291465B (zh) | 负载均衡方法、装置和系统 | |
CN102301648A (zh) | 用于网格以及中心辐射网络的缩放式以太网oam | |
CN106302827B (zh) | 基于分布式系统的通信方法、设备及分布式系统 | |
CN106713378B (zh) | 实现多个应用服务器提供服务的方法和系统 | |
CN103067359A (zh) | 一种基于连接复用的提高服务器并发处理能力的系统及方法 | |
EP2439881B1 (en) | Cluster system and request message distribution method for processing multi-node transaction | |
US11523443B2 (en) | Extraction, conversion, and transmission of user packet from encapsulated packet | |
CN105049519A (zh) | 一种基于soap协议的消息路由方法和系统 | |
US20150381470A1 (en) | Method for deploying resource in cloud computing environment | |
CN105144658A (zh) | 使用路由器的集中式任务管理 | |
CN112235413B (zh) | 一种通用的物联网接口管理平台 | |
CN103796191A (zh) | 向用户终端发送数据的方法、装置及终端 | |
CN111600929B (zh) | 传输线路探测方法、路由策略生成方法及代理服务器 | |
US20100075700A1 (en) | Flexible capacity short message service center (SMSC) | |
CN101330664B (zh) | 多媒体业务的实现方法、系统和装置 | |
CN101753561B (zh) | 业务的集群处理方法及集群系统 | |
CN108243170A (zh) | 基于socket框架的数据访问系统及方法 | |
CN105743772A (zh) | 一种消息处理的方法及系统 | |
CN102497402B (zh) | 一种内容注入方法及系统、内容分发方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |