[go: up one dir, main page]

CN105049519A - 一种基于soap协议的消息路由方法和系统 - Google Patents

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

Info

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
Application number
CN201510484642.8A
Other languages
English (en)
Other versions
CN105049519B (zh
Inventor
张厚瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201510484642.8A priority Critical patent/CN105049519B/zh
Publication of CN105049519A publication Critical patent/CN105049519A/zh
Application granted granted Critical
Publication of CN105049519B publication Critical patent/CN105049519B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols 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协议的消息路由方法和系统
技术领域
本发明涉及通信领域,特别涉及一种基于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协议的消息路由系统,其特征在于,链路连接模块,还用于为每个连接的连接时间设定阈值,当连接时间超过所述阈值时,则自动断开当前连接。
CN201510484642.8A 2015-08-07 2015-08-07 一种基于soap协议的消息路由方法和系统 Active CN105049519B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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