CN100596123C - 一种网关系统及其消息业务处理方法 - Google Patents
一种网关系统及其消息业务处理方法 Download PDFInfo
- Publication number
- CN100596123C CN100596123C CN200710188313A CN200710188313A CN100596123C CN 100596123 C CN100596123 C CN 100596123C CN 200710188313 A CN200710188313 A CN 200710188313A CN 200710188313 A CN200710188313 A CN 200710188313A CN 100596123 C CN100596123 C CN 100596123C
- Authority
- CN
- China
- Prior art keywords
- module
- message
- access
- scheduler
- dimension
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明公开了一种网关系统,包括调度分发模块、至少一个接入模块以及至少一个调度模块。接入模块接收第一外部实体发送的第一消息,从调度分发模块获取处理第一消息的调度模块信息,并将第一消息转发至所确定的调度模块;从调度模块接收第二消息,并发送至第二外部实体。调度模块,用于接收接入模块发送的第一消息,生成第二消息,发送至接入模块。调度分发模块,用于根据存储的调度分发策略确定处理所述第一消息的调度模块,并将所确定的调度模块信息发送给所述接入模块。本发明还公开了一种用于该网关系统的消息业务处理方法。使用本发明实现了长连接接入业务层面的消息均衡分发。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种网关系统及其消息业务处理方法。
背景技术
随着消息业务的迅猛发展及其在各行业中的广泛推广使用,目前消息业务系统的企业应用服务器连接数目越来越多,消息量也越来越大。当前消息业务系统的支撑设备都是单处理模块的双机结构系统,由于单处理模块和双机的处理能力是有限的,所以单处理模块的双机结构系统能够处理的消息容量也极其有限,无法支撑大容量消息业务的承载。同时,运营商为了便于维护和管理,要求设备集中建设。综合这两方面的原因,对于大容量的网络支撑设备的要求越来越高。
现有的一种消息业务系统是通过网关来连接企业的应用服务器及消息业务系统的内部设备。其中各企业的应用服务器,例如增值服务提供商(SP,Service Provider)服务器或内容服务提供商(CP,Content Provider)服务器等;消息业务系统的内部设备,例如短消息中心(SMSC,Short MessageService Center)或多媒体消息业务中心(MMSC,Multimedia Message ServiceCenter)等。然而,现有网关的实现方案中,可以连接外部实体的接口数不多,通常接口数小于3000,且短信处理能性能不高,例如处理能力小于5000条/秒。同时,现有的网关只有一个主调度模块,负责外部接入、消息调度、匹配存储及系统ID资源的分配等功能,所有的功能集中于一个模块。因此,现有的网关是一个接入与调度紧耦合的系统。
当需要对消息业务系统扩容时,无论需要对网关的接入功能或是调度功能进行扩容,都只能增设多个扩容网关,同时使用负载均衡器实现多个网关之间的业务均衡。但是由于负载均衡器只能实现连接均衡,即可以实现短连接业务的业务均衡,而对于长连接业务,即在一个连接内有多个会话的业务,则负载均衡器将一个连接内的所有业务转发到同一个网关,如果处理该连接的网关负载过重,则会使该连接内的多个业务处理速度下降。因此利用负载均衡器无法实现业务层面的消息均衡分发。
发明内容
本发明实施例提供一种网关系统,易于实现业务层面的消息均衡分发。
本发明实施例还提供一种网关系统的消息业务处理方法,易于实现业务层面的消息均衡分发。
为达到上述目的,本发明实施例的技术方案是这样实现的:
一种网关系统,包括调度分发模块、至少一个接入模块和至少一个调度模块,
接入模块,用于接收第一外部实体发送的第一消息,从所述调度分发模块获取处理所述第一消息的调度模块信息,并将所述第一消息转发到所确定的调度模块;从调度模块接收第二消息,并发送至第二外部实体;
调度模块,用于接收接入模块发送的第一消息,根据所述第一消息生成第二消息,发送至接入模块;
所述调度分发模块,用于存储调度分发策略,根据存储的调度分发策略确定处理所述第一消息的调度模块,并将所确定的调度模块信息发送给接入模块。
一种消息业务的处理方法,应用于包括调度分发模块、至少一个接入模块和至少一个调度模块的网关系统中,该方法包括:
接入模块接收第一外部实体发送的第一消息;从调度分发模块获取调度分发模块根据调度分发策略确定的处理所述第一消息的调度模块信息,将所述第一消息转发到所确定的调度模块;
所述调度模块根据所述第一消息生成第二消息,将所述第二消息发送到接入模块,由接入模块将所述第二消息转发至第二外部实体。
与现有技术相比,本发明实施例所提供的技术方案,网关系统包括接入层的接入模块、调度层的调度模块和调度分发模块。其中接入模块接收消息,从调度分发模块获取处理该消息的调度模块信息后,将消息转发至所确定的调度模块。调度模块对该消息进行处理后,生成新的消息发送至接入模块。然后接入模块将该新的消息发送到其它外部实体。调度分发模块根据调度分发策略确定处理消息的调度模块。可见,本发明实施例中的网关系统,使调度分发模块可以根据调度分发策略,确定处理消息的调度模块,并通过接入模块将该消息转发至相应的调度模块进行处理,从而实现了长连接接入业务层面的消息均衡分发。
同时,本发明实施例的网关系统将接入层与调度层分离出来,实现了松耦合的网关系统,当单个接入模块的连接数目需要扩展时,可增加接入模块,与各调度模块相连接,实现接入数目的扩展;当调度层的处理能力需要扩展时,可接入新的调度模块,与各接入模块分别相连,实现调度层处理能力的扩展。因此本发明实施例中网关系统可以在不影响运行的情况下,对接入和调度分别进行扩展,从而易于实现网关系统的集群扩展。
附图说明
图1为本发明实施例中的网关系统结构图;
图2为本发明实施例中网关系统启动时文件传输方式的数据配置流程图;
图3为本发明实施例中网关系统启动时分包多条消息传输的数据配置流程图;
图4为本发明实施例的网关系统中单条数据配置的方法流程图;
图5为本发明实施例的网关系统中批量数据配置的文件传输方式配置流程图;
图6为本发明实施例的网关系统中批量数据配置的分包多条消息传输配置流程图;
图7为本发明实施例中消息业务处理流程图;
图8为本发明实施例的网关系统中应用发起终端终止(AOMT,Application Originated Mobile Terminated)业务下发的方法流程图;
图9为本发明实施例的网关系统中AOMT业务回执匹配的方法流程图。
具体实施方式
本发明实施例提供的网关系统包括调度分发模块、至少一个接入模块和至少一个调度模块,其中,接入模块用于接收外部实体发送的消息,从调度分发模块获取处理该消息的调度模块信息,例如调度模块的标识信息,并将接收到的消息分发到调度模块;调度分发模块,用于保存预设的调度分发策略,根据存储的调度分发策略确定处理该消息的调度模块,并将所确定的调度模块信息发送给接入模块;调度模块,用于对接入模块发送的消息进行处理,生成新的消息,并通过接入模块,将新的消息发送外部实体。
其中调度分发模块可以独立设置,也可以设置在接入模块中。
可见,本发明实施例提供的网关系统,将接入与调度分别设置到接入层的接入模块和调度层的调度模块中,且接入层的接入模块将接收到的消息分发到调度分发模块根据调度分发策略确定的调度层的调度模块,并通过接入模块将该消息转发至相应的调度模块进行处理,从而可以实现长连接接入业务层面的消息均衡分发。
而且多个接入模块之间可以互相备份,当其中一个接入模块出现故障时,其它接入模块可以承担其接入功能,调度模块也是如此,从而提高了网关系统的可靠性。
进一步地,本发明实施例提供的网关系统还可以包括存储模块,用于存储消息实体。当存储模块的数目大于1时,还可以进一步包括存储分发模块,用于根据保存的存储分发策略,确定存储消息实体的存储模块,并将所确定的存储模块信息发送给调度模块,由调度模块将消息实体存储到相应的存储模块。存储分发模块可以独立设置,也可以设置在调度模块中。
进一步地,本发明实施例提供的网关系统还可以包括维测管理平台,用于对于网关系统中的各模块的配置数据进行集中维护和统一管理,并对外部实体的连接进行接入数目控制等。
下面结合附图,对于本发明实施例提供的网关系统的集群系统进行详细说明。
图1为本发明实施例中的网关系统结构图。如图1所示,该网关系统包括维测管理平台、接入层的n个接入模块、调度层的m个调度模块、存储层的k个存储模块、调度分发模块和存储分发模块。
其中,维测管理平台用于对网关系统中各模块的配置数据进行集中管理和维护,并进行系统监控、集中控制和维测功能。用户通过维测终端来进行配置数据的维测操作。配置数据集中存储于维测管理平台的数据库、文件或内在中。
接入层可包括多个接入模块,用于接收第一外部实体发送的消息,从调度分发模块获取处理该消息的调度模块信息,并将该消息转发到所确定的调度模块;从该调度模块接收根据该消息生成的新的消息,并发送至第二外部实体。
可以根据单模块接入能力及系统的接入要求,扩展n个接入模块。同时,可以根据所接入外部实体的数目,通过在网关系统外部设置负载均衡器,对多个外部实体的接入进行分载。同时,接入层的各接入模块之间可以实现相互备份的功能,当其中一个接入模块出现故障时,可由负载均衡器将该接入模块的接入负载分担到其它的接入模块,因此不会影响整个网关系统的工作能力。
调度层可包括多个调度模块,用于接收接入模块发送的消息,对该消息进行处理后,例如进行协议转换后,生成新的消息,并发送至接入模块。对消息的处理包括业务的处理调度,处理各业务和流程,消息的路由转发等功能。例如,对于通过接入模块接收到的发往SMSC的短消息,首先确定将其发送至SMSC中的哪个服务器,然后,通过接入模块,将其路由转发至确定的服务器。
根据单个调度模块的处理能力及网关系统的整体处理能力要求,可以配置m个调度模块来共同进行业务的调度。当其中一个调度模块出现故障时,接入模块可根据调度分发策略,将消息分发到其它调度模块,从而不会影响整个网关系统的工作能力。
存储层可包括多个存储模块,用于存储消息实体,并进行数据库或文件等的存储调度与匹配。
根据单个存储模块的存储能力及处理能力以及需要存储的数据量的大小及数量,可以配置K个存储模块来共同进行消息实体的存储与匹配。
调度分发模块,用于存储调度分发策略,根据存储的调度分发策略,确定处理网关系统所接收消息的调度模块,并将所确定的调度模块信息发送给接入模块。当调度分发策略为根据调度层各调度模块的处理能力分发消息时,调度分发模块进一步检控调度层各调度模块的调度能力,并结合各调度模块的调度能力和调度分发策略,确定处理消息的调度模块。
存储分发模块,用于存储对消息进行存储的存储分发策略,根据存储的存储分发策略确定存储消息实体的存储模块,并将所确定的存储模块信息下发至调度模块,该存储模块信息例如可以是存储模块的标识信息。当该存储分发策略是根据存储模块的处理能力进行消息实体的分发时,存储分发模块进一步对存储层各存储模块的存储数据及处理能力进行监控,并结合存储分发策略确定存储消息实体的存储模块。
以上所述的各模块可以是分别通过分立的计算机系统实现,也可以利用一台计算机系统中的一部分资源实现多个模块。
由于图1所示的网关系统由维测管理平台进行各模块配置数据的集中维护与统一管理,因此,在网关系统启动时,与各模块建立连接后,需要分别加载自身的配置数据。下面结合附图,对图1所示网关系统的数据配置流程进行详细说明。
该网关系统的数据配置流程主要包括:网关系统的各模块从维测管理平台获取配置数据,对获取的配置数据进行加载及本地存储。
该数据配置流程进一步包括在网关启动后,管理人员需要对某些模块的数据进行修改时,维测终端将管理人员配置的数据发送给维测管理平台,由维测管理平台对于配置的数据进行有效性校验,确定正确后,将配置数据下发给相应的模块。
以下详细说明数据配置流程的一个具体实施例,当然实际应用中,除以下所述的配置过程之外,本领域技术人员可以根据实际情况选择其它的具体数据配置流程或使用其它的消息进行数据配置。
在网关系统启动时,需要将维测管理平台上管理人员通过维测终端配置好的业务数据加载到各层模块,供各层模块在业务调度时使用。加载的方法包括两种:一种是以文件传输方式加载,另一种是分包多条消息加载。以下对这两种加载方式进行详细说明。
图2为本发明实施例中网关系统启动时文件传输方式的数据配置流程图。如图2所示,该流程包括以下步骤:
步骤200:各层模块(网关集群系统中的所有模块)启动与维测管理平台的连接后,向维测管理平台发送携带配置版本号的配置数据加载请求消息。
本步骤中,各层模块启动与维测管理平台的连接,例如可以是各层模块通过交换机启动与维测管理平台的传输控制协议(TCP,Transmission ControlProtocol)连接。
步骤201:维测管理平台根据配置数据加载请求消息中的配置版本号,对比自身现有存储中配置数据的版本,如果版本一致,则向相应的模块返回携带表明版本一致信息的配置数据加载应答,如果版本不一致,则从自身存储中加载配置信息到自身的指定位置,并将该指定位置携带在配置数据加载应答中通知相应模块。
其中,配置数据与相应模块可以通过设备标识来对应。
步骤202:各层模块根据配置数据加载应答,来加载本地的配置数据,并结束数据配置流程,或通过向维测管理平台发送批量数据获取消息,到配置数据加载应答中携带的指定位置获取数据。
步骤203:各层模块获取批量数据,并进行加载及本地存储。
如果各层模块在启动与维测管理平台的连接失败时,可以采用本地存储的配置数据进行加载。
图3为本发明实施例中网关系统启动时分包多条消息传输的数据配置流程图。如图3所示,该流程包括以下步骤:
步骤300:各层模块启动与维测管理平台之间的连接后,发送携带配置版本号的配置数据加载请求消息到维测管理平台。
步骤301:维测管理平台根据配置数据加载请求消息中的配置版本号,对比自身现有存储中配置数据的版本,如果版本一致,则向相应的模块返回携带版本一致信息的配置数据加载应答,如果版本不一致,则向相应的模块返回携带最新版本信息的配置数据加载应答。
步骤302:各层模块根据配置数据加载应答,来加载本地的配置数据,并结束数据配置流程,或向维测管理平台发送开始数据获取,以从维测管理平台获取配置数据加载应答中最新版本信息对应的配置数据。
步骤303:维测管理平台向相应模块返回开始数据获取应答。
步骤304~步骤306:维测管理平台向相应模块分包下发最新版本信息对应的所有配置数据;各层模块根据收到的配置数据进行加载并存储到本地。维测管理平台在所有数据都下发完毕后,发送配置数据下发结束消息给各层模块,以结束数据的下发。然后各层模块返回配置数据下发结束应答消息。
各层模块启动与维测管理平台的连接失败时,采用本地存储的配置进行加载。
在网关系统工作过程中,管理人员可能通过维测终端修改或新配置一个或多个参数,因此网关系统需要执行单条数据配置流程,或批量数据配置流程。s
图4为本发明实施例的网关系统中单条数据配置的方法流程图。如图4所示,该流程包括以下步骤:
步骤400~步骤401:管理人员通过维测终端来配置数据;维测终端发送维测数据配置消息给维测管理平台,维测管理平台对于接收到的维测数据进行有效性校验,例如是否在该参数预先设置的范围内,经有效性校验确认正确后进行存储,并回复维测数据配置应答消息给维测终端。
步骤402:维测管理平台根据配置数据与各层模块的关联关系,下发配置数据给相应模块。
步骤403:各模块对于接收的配置数据,进行内部更新及存储,并向维测管理平台回复配置数据下发应答。
图5为本发明实施例的网关系统中批量数据配置的文件传输方式配置流程图。如图5所示,该流程包括以下步骤:
步骤500~步骤501:管理人员通过维测终端来批量配置数据;维测终端发送维测数据批量变更消息给维测管理平台,维测管理平台对于接收到的批量维测数据进行有效性校验,确认正确后进行存储,并回复维测数据批量变量应答消息给维测终端。同时将批量变更的数据以确定格式的文件存储到确定目录。
步骤502~步骤503:维测管理平台根据配置数据与各层模块的关联关系,向相关的模块发送携带确定目录的配置数据批量下发通知;各相关模块向维测管理平台回复配置数据批量下发应答。
步骤504~步骤505:各模块到确定目录获取批量下发的数据文件,并进行加载及本地存储。
图6为本发明实施例的网关系统中批量数据配置的分包多条消息传输配置流程图。如图6所示,该流程包括以下步骤:
步骤600~步骤601:管理人员通过维测终端来批量配置数据;维测终端发送维测数据批量变更消息给维测管理平台,维测管理平台对于接收到的批量维测数据进行有效性校验,确认正确后进行存储,开回复维测数据批量变更应答消息给维测终端。
步骤602~步骤603:维测管理平台给数据所关联的所有模块发送配置数据批量下发开始消息;维测管理平台在收到相关模块的应答后,下发配置数据给对应的模块;各相关模块向维测管理平台回复配置数据批量下发开始应答。
步骤604~步骤606:维测管理平台将对应于相关模块的批量数据进行分包下发;各相关模块对于接收到的配置数据进行处理及本地存储。维测管理平台在相应于该相关模块的所有数据都下发完毕后,发送配置数据下发结束消息给相关模块,以结束数据的下发。
接下来,结合附图对本发明实施例所提供网关系统的消息业务处理流程进行详细说明。
消息业务处理流程主要包括:接入模块接收外部实体发送的消息;从调度分发模块获取调度分发模块根据调度分发策略确定的处理该消息的调度模块信息,将该消息转发到所确定的调度模块;调度模块对该消息进行处理,生成新的消息,将生成的新消息发送到接入模块,由接入模块发送至其它外部实体。
如果调度模块在通过接入模块接收到外部实体的消息后进一步生成消息应答,则为了将该消息应答返回至该外部实体,需要在该消息中携带该外部实体与网关所建立连接的连接标识信息。因此在发送该消息应答之前,需要由维测管理平台将该外部实体与接入模块之间的连接状态通知给各调度模块,由各调度模块存储这些连接标识信息,例如存储接入模块与连接标识的对应关系。从而使得调度模块在生成消息应答后,可以直接将消息应答发送给与消息中连接标识信息对应的接入模块。而且在完成消息业务之后断开连接时,也需要将该连接断开的状态通知给各调度模块,以使得各调度模块释放存储连接信息的资源。
图7为本发明实施例中消息业务处理流程图。如图7所示,该流程包括以下步骤:
首先,对于长连接的消息业务,网关系统内部各层模块之间对于外部实体与网关系统之间建立的TCP连接进行一系列处理:
步骤700:外部实体连接网关系统,与接入模块成功建立TCP连接。
步骤701~步骤704:外部实体向接入模块发送登录消息;接入模块发送连接通知消息给维测管理平台,通知有新的接口接入;维测管理平台进行接入数目控制,并向接入模块回送连接通知应答,其中携带接入数目控制结果;由接入模块通过登录应答,将接入数目控制结果发送给外部实体;同时接入模块根据接入数目控制结果进行后续处理。
其中,维测管理平台进行接入数目控制是指,检查该外部实体与网关系统之间建立连接的数目是否超出了限制的最大数目,如果超出了最大数目,则接入控制结果是登录失败,接入模块结束流程;否则接入控制结果是登录成功,接入模块执行以下步骤。
其中维测管理平台不执行接入数目控制时,步骤702和步骤703可以省略。
步骤705~步骤708:接入模块在确定外部实体登录成功后,通过连接通知将该外部实体与网关系统的连接状态信息发送给维测管理平台;维测管理平台通知所有的调度模块该新建立的连接状态;调度模块接收到该连接通知后,存储连接状态信息,并通过维测管理平台向接入模块回复连接通知应答,表明其获知了该连接状态。
其中连接状态信息包括连接标识信息,例如外部实体的IP地址、端口号等信息。
其次,说明消息处理流程,包括来自外部实体的消息处理流程和网关系统向外部实体发送的消息处理流程。
步骤710~步骤713:对于外部实体发送的普通业务消息,由接入模块从调度发模块获取的处理该消息的调度模块信息,将该普通业务消息发送到对应的调度模块,该普通业务消息携带有该外部实体与网关系统之间所建立连接的标识信息;调度模块接收到该普通业务消息时,根据该消息中携带的连接标识信息,对该消息进行解码、校验等内部调度处理,并将应答消息通过接入模块返回给该外部实体。
本流程还可以包括:调度模块对于接收到的普通业务消息,将其消息实体存储到存储模块。例如可以根据从存储分发模块获取存储该消息实体的存储模块信息,将消息实体存储至相应的存储模块,即该存储分发模块独立设置;或者可以根据预设的固定存储规则,将消息实体直接存储到对应的存储模块,即将存储分发模块设置在调度模块中;或者也可以由调度分发模块根据自身存储的存储分发策略,确定存储消息的存储模块,并将该存储模块信息发送到接入模块,由接入模块携带在该内部消息中发送到调度模块,然后调度模块将消息存储到对应的存储模块中,即存储分发模块可以设置在调度分发模块中;或者也可以由接入模块根据自身存储的存储分发策略确定存储模块,将该存储模块信息携带在内部消息中,发送到调度模块,然后由调度模块进行存储,即将存储分发模块设置在接入模块中。其中消息实体包括普通业务消息的消息体以及网关系统对该消息处理过程中产生的一些信息,例如用于将消息和消息应答关联的消息序号,该普通业务消息中的消息体中包含唯一标识该消息的消息标识。
本流程还可能包括:调度模块根据接收到的消息,到存储层的存储模块匹配该消息实体的过程。存储模块可以根据调度模块发送的消息中包含的消息标识与自身存储的消息标识进行匹配。
调度模块对来自外部实体的消息进行相应的处理后,将消息发送给其它的外部实体。
步骤720~步骤723:网关系统发送普通业务消息给外部实体时,调度模块将待发送的普通业务消息发送给接入模块,其中携带接收方外部实体与网关系统之间所建立连接的标识信息以及调度模块为该消息生成的消息序号;接入模块根据消息中的连接标识信息,直接找到对应的TCP连接,发送消息给相应的外部实体;接入模块接收外部实体的普通业务消息应答,其中携带表明与普通业务消息关联的消息序号,接入模块根据该消息序号,将该普通业务消息应答转发到对应的调度模块。
其中,调度模块在向外部实体发送消息时,随机产生一个消息序号,外部实体生成的该消息的应答也携带该消息序号,接入模块接收到应答后,就可以获知该应答所关联的消息,从而将该应答发送到处理对应消息的调度模块。
最后,在业务完成后,外部实体断开与网关系统之间建立的连接,或由于其它原因,使外部实体与网关系统的连接断连时,执行连接断连流程:
步骤730~步骤734:外部实体发送退出消息,接入模块向外部实体回复退出响应时,或外部实体的连接异常断连时,接入模块通过连接通知给维测管理平台发送断开连接的连接信息;由维测管理平台通知所有的调度模块连接的状态改变为断开;调度模块接收到该连接状态的改变时,释放存储相应连接状态信息的资源,同时向维测管理平台回复连接通知应答;由维测管理平台将该连接通知应答消息转发至接入模块。
其中,对于连接的接入数目控制可以由维测管理平台执行,也可以由独立的模块执行。
以下以AOMT业务为例,说明本发明实施例所提供的网关系统对短消息业务的处理流程。
本例中,外部实体SP与网关系统的接入模块1建立连接,而外部实体SMSC与网关系统的接入模块2建立连接。图8为本发明实施例的网关系统中AOMT业务下发的方法流程图。如图8所示,该流程包括以下步骤:
步骤800~步骤802:SP向接入模块1发送消息1,接入模块1进行消息校验及部分或完全解码处理,转化为内部消息1;同时向调度分发模块发送获取处理消息1的调度模块的消息,调度分发模块根据自身存储的调度分发策略,确定处理消息1的调度模块为调度模块1,并将该调度模块1的信息发送至接入模块1。
步骤803~步骤806:接入模块1将内部消息1转发到调度模块1进行调度处理;调度模块1对内部消息1进行相关的校验处理,回送内部消息1应答给接入模块1,由接入模块将内部消息1应答编码为消息1应答后,转发至SP;同时调度模块根据该消息中的接收方信息,将该内部消息1路由转发至与SMSC建立了连接的接入模块2,其中携带调度模块为该消息生成的消息序号,用于进行响应消息与原消息的关联。
步骤807~步骤809:接入模块2将接收到的内部消息2编码为消息2后,发送给SMSC;并接收SMSC给接入模块2回复的消息2应答,其中携带消息2中携带的消息序号及SMSC生成的用于进行消息匹配的消息标识;接入模块2解码为内部消息2应答后,根据该应答中携带的消息序号,将该内部消息2应答转发给处理消息1的调度模块1。
步骤810~步骤812:调度模块1向存储分发模块发送获取存储该内部消息中消息实体的存储模块的消息,存储分发模块根据自身的存储分发策略,确定存储消息1在存储模块为存储模块1,并将存储模块1的信息发送至调度模块1,调度模块1将该内部消息中消息实体及用于消息2应答中携带的消息标识存储到存储模块1。
在实际应用中,步骤810~步骤812可以不执行,因为转发消息实现了网关系统的基本功能。而步骤810~步骤812中存储消息实体的目的是在将消息发送至SMSC后,存储下来,等到SMSC下发消息成功后,根据消息标识在存储模块中匹配消息,以产生用于计费的话单等附加功能。
其中用于进行消息匹配的消息标识可以是如上所述由SMSC产生,并携带在消息应答中发送到调度模块,供调度模块存储消息实体及进行消息实体的匹配;当接收消息的外部实体为其它的网关系统时,用于进行消息匹配的消息标识还可以由本网关系统的调度模块产生,供该网关系统使用消息标识进行消息实体的存储和进行消息匹配时使用。
图9为本发明实施例的网关系统中AOMT业务回执匹配的方法流程图。如图9所示,该流程包括以下步骤:
步骤900~步骤903:SMSC将接收到的消息2下发给用户,下发成功后,发送消息2的回执消息3给接入模块2,其中携带与消息2的匹配信息,例如由SMSC产生并携带在消息2应答中发送到调度模块或由调度模块自身产生的消息标识等信息;接入模块2进行消息校验及解码处理,转化为内部消息3。同时从调度分发模块获取确定处理该消息的调度模块为调度模块2,然后将内部消息3发送到调度模块2上进行调度处理。
步骤904~步骤905:调度模块2对于内部消息3进行相关的校验处理,回送内部消息3应答给接入模块2;由接入模块2将接收到的内部消息3应答编码为消息3应答后,发送给SMSC。
步骤906~步骤908:调度模块2根据接收到的回执消息内部消息3中的匹配信息,例如消息标识,去存储分发模块查询存储消息2所对应消息实体的存储模块信息,并根据存储分发模块返回的存储模块信息,将内部消息3发送到对应的存储模块1,由存储模块1根据匹配信息进行回执消息与原消息实体的匹配。
此时,在存储模块1匹配到对应的消息实体后,调度模块可以根据该匹配结果,进行后续处理,例如生成话单用于计费等。
步骤909~步骤912:调度模块2对于匹配后的回执消息内部消息3,生成内部消息4,并根据消息中的接收方信息,将内部消息4发送给与SP建立连接的接入模块1;接入模块1对于接收到的内部消息4编码为消息4后,通过已建立的TCP连接发送给SP;并接收SP返回的消息4应答,解码为内部消息4应答后,转发给调度模块2。
至此,SP通过网关系统向SMSC发送消息,并获得该消息发送情况的消息处理流程结束。如果需要继续发送消息,则重复以上图8和图9所示的流程。
以上实施例部分所描述的调度分发策略,可以是根据各调度模块的处理能力进行分发。此时,调度模块首先检测调度层各调度模块的处理能力,然后根据检测到的处理能力,确定处理该消息的调度模块,并将确定的调度模块的信息转发至接入模块。
调度分发策略也可以是根据消息中的用户号码信息中的尾号(或倒数第N位开始的几位号码)来固定策略分发,此时利用大量的用户的随机行为来达到一种近似的均衡。例如网关系统包括三个调度模块,调度分发策略设置用户号码尾号为1至3的消息发送至调度模块1进行处理,用户号码尾号为4至6分发至调度模块2处理,其它的分发至调度模块3进行处理。调度分发模块通过检测消息中用户号码的尾号,即可确定处理该消息的调度模块。
以上实施例部分所描述的存储分发策略,可以是采用调度与存储一一对应的处理方式,来实现调度与存储的对应均衡。例如,分发到调度模块1处理的消息存储到存储模块1,而分发至调度模块2进行处理的消息则存储到存储模块2。
根据存储分发策略存储消息实体也可以是调度层对于待存储的实体,按照各存储模块的存储能力比例,分配到各存储模块进行存储。例如,可以将消息优选存储到存储空间较大的存储模块中。同时,在调度模块中存储该消息实体的存储信息,供查询回执消息对应的消息实体时使用。
根据存储分发策略存储消息实体还可以是存储分发模块进行各存储模块存储数据的记录,优先存储消息实体到空闲的模块。调度模块根据存储分发模块给的存储信息,存储消息实体到对应的存储模块。同时,在存储分发模块中存储该消息的存储信息,供查询回执消息对应的消息实体时使用。
由以上所述可以看出,本发明实施例所提供的技术方案具有以下优点:
第一,网关系统包括接入层的接入模块、调度层的调度模块和调度分发模块。其中接入模块接收消息,从调度分发模块获取处理该消息的调度模块信息后,将消息转发至所确定的调度模块。调度模块对该消息进行处理后,生成新的消息发送至接入模块。然后接入模块将该新的消息发送到其它外部实体。调度分发模块存储调度分发策略,根据存储的调度分发策略确定处理消息的调度模块,并将所确定的调度模块信息发送给接入模块。可见,本发明实施例中的网关系统,调度分发模块可以根据调度分发策略,确定处理消息的调度模块,并通过接入模块将该消息转发至相应的调度模块进行处理,从而可以实现长连接接入业务层面的消息均衡分发。
同时,本发明实施例中的网关系统将接入层与调度层分离出来,实现了松耦合的网关系统,当单个接入模块的连接数目需要扩展时,可增加接入模块,与各调度模块相连接,实现接入数目的扩展;当调度层的处理能力需要扩展时,可接入新的调度模块,与各接入模块分别相连,实现调度层处理能力的扩展。因此本发明实施例中网关系统可以对接入和调度分别进行扩展,易于实现网关系统的集群扩展。
第二,本发明实施例提供的网关系统可包括多个接入模块和调度模块,使得一个接入模块或调度模块发生故障时,可将其业务转接到其它接入模块或调度模块,从而实现了网关系统的容灾备份,提高了网关系统的可靠性。
第三,本发明实施例提供的网关系统进一步包括存储层的存储模块,当网关系统的存储能力需要扩展时,也可接入多个存储模块扩展系统的存储能力;也可以进一步包括存储分发模块,以实现消息实体的均衡存储。
第四,本发明实施例提供的网关系统进一步包括维测管理平台,用于对各层模块的配置数据进行集中存储及维护,从而使得网关系统的维护更加容易。
第五,本发明实施例所提供的网关系统中,维测管理平台可进一步实现对外部实体接入数目的限制,并将外部实体与网关系统接入模块的连接状态通知给调度层的各调度模块,使得调度模块可以根据响应消息中的连接标识信息,将响应消息直接发送到连接对应的外部实体。
而且由于负载均衡器只能实现消息的路由转发,不会对消息进行分析,因此无法将与消息关联的消息应答分发到处理消息的调度模块上,从而无法实现会话的关联流程。本发明实施例提供的网关系统中,由于调度模块可以针对每个消息产生消息序号,且外部实体的发送该消息的应答时,也可以在消息中携带消息序号,使得接入模块可以根据消息应答中携带的消息序号,将消息应答转发至处理对应消息的调度模块;同时,由于调度模块可以自身产生用于进行消息匹配的消息标识,或可以从外部实体回复的应答消息中得到用于进行消息匹配的消息标识,所以在外部实体发送携带消息标识的回执消息后,调度模块可以根据回执消息中的消息标识,到存储模块进行匹配,从而实现了会话的关联。
上述本发明实施例中描述的步骤一词不代表实施例执行方法的顺序。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (23)
1、一种网关系统,其特征在于,该网关系统包括调度分发模块、至少一个接入模块和至少一个调度模块,
接入模块,用于接收第一外部实体发送的第一消息,从所述调度分发模块获取处理所述第一消息的调度模块信息,并将所述第一消息转发到所确定的调度模块;从调度模块接收第二消息,并发送至第二外部实体;
调度模块,用于接收接入模块发送的第一消息,根据所述第一消息生成第二消息,发送至接入模块;
所述调度分发模块,用于存储调度分发策略,根据存储的调度分发策略确定处理所述第一消息的调度模块,并将所确定的调度模块信息发送给接入模块。
2、如权利要求1所述的网关系统,其特征在于,所述调度分发模块设置在所述接入模块中。
3、如权利要求1所述的网关系统,其特征在于,所述调度分发模块进一步监测多个调度模块的处理能力,根据多个调度模块的处理能力和自身存储的调度分发策略,确定处理所述第一消息的调度模块。
4、如权利要求1至3中任一项所述的网关系统,其特征在于,所述网关系统进一步包括存储模块,
所述调度模块进一步根据存储分发策略确定存储模块,在所述接入模块将第一消息转发到所述调度模块之后将第一消息的消息实体发送到所确定的存储模块进行存储;
所述存储模块,用于存储消息实体。
5、如权利要求1至3中任一项所述的网关系统,其特征在于,所述网关系统进一步包括存储分发模块和存储模块,
所述存储分发模块,用于存储存储分发策略,根据所述存储分发策略确定存储所述第一消息的消息实体的存储模块,并将所确定的存储模块信息发送至所述调度模块;
所述存储模块,用于存储消息实体;
所述调度模块进一步从所述存储分发模块获取所确定的存储模块信息,将所述第一消息的消息实体和用于进行消息匹配的消息标识存储到对应的存储模块;所述用于进行消息匹配的消息标识为所述调度模块生成的或在所述接入模块将第二消息发送到第二外部实体之后第二外部实体回复的第二消息的响应消息中携带的。
6、如权利要求5所述的网关系统,其特征在于,所述存储分发模块设置在所述调度模块或接入模块中。
7、如权利要求5所述的网关系统,其特征在于,所述调度模块进一步在第二外部实体向网关系统发送第二消息的回执消息时通过接入模块接收回执消息,其中携带所述用于进行消息匹配的消息标识;从所述存储分发模块获取回执消息对应消息实体的存储模块信息,根据所述存储模块信息和所述消息标识到相应的存储模块中匹配消息实体;
所述存储模块进一步用于根据所述消息标识,与自身存储的消息实体进行匹配。
8、如权利要求1至3中任一项所述的网关系统,其特征在于,所述网关系统进一步包括维测管理平台,用于存储配置数据,向所述网关系统的各模块下发相应的配置数据;
所述接入模块、调度模块和调度分发模块进一步从所述维测管理平台获取配置数据,对获取的数据进行加载并存储。
9、如权利要求8所述的网关系统,其特征在于,所述网关系统进一步包括维测终端,用于向维测管理平台发送配置数据;
所述维测管理平台进一步对所述维测终端发送的配置数据进行有效性校验,确定正确后进行存储。
10、如权利要求1至3中任一项所述的网关系统,其特征在于,所述网关系统进一步包括维测管理平台,用于当第一外部实体与接入模块成功建立TCP连接并向接入模块发送登录消息之后接收所述接入模块根据第一外部实体的登录消息发送的连接通知,进行接入数目控制;在接收到所述接入模块发送的连接状态信息后,将第一外部实体与所述接入模块的连接状态信息通知给各调度模块;
所述接入模块进一步与第一外部实体建立连接,通过所述连接接收第一外部实体发送的登录消息;根据所述登录消息向所述维测管理平台发送连接通知;接收所述维测管理平台的接入数目控制结果,如果所述接入数目控制结果为允许登录,则将该连接状态信息发送至维测管理平台;
所述调度模块进一步接收维测管理平台发送的所述第一外部实体与所述接入模块的连接状态信息,并进行存储。
11、如权利要求10所述的网关系统,其特征在于,所述接入模块进一步发送第一外部实体退出连接的退出消息,转发至所述维测管理平台;
所述维测管理平台进一步将第一外部实体与所述接入模块的连接断开的连接状态信息通知各调度模块;
所述调度模块进一步释放存储对应连接的连接状态信息的资源。
12、如权利要求1所述的网关系统,其特征在于,所述调度模块进一步生成消息序号,并携带在所述第二消息中;接收接入模块发送的响应消息;
接入模块进一步接收第二外部实体回复的携带所述消息序号的响应消息,根据所述消息序号,将所述响应消息转发至所述调度模块。
13、一种消息业务的处理方法,其特征在于,应用于至少包括至少一个接入模块、至少一个调度模块和调度分发模块的网关系统中,该方法包括:
接入模块接收第一外部实体发送的第一消息;从调度分发模块获取调度分发模块根据调度分发策略确定的处理所述第一消息的调度模块信息,将所述第一消息转发到所确定的调度模块;
所述调度模块根据所述第一消息生成第二消息,将所述第二消息发送到接入模块,由接入模块将所述第二消息转发至第二外部实体。
14、如权利要求13所述的方法,其特征在于,调度分发模块根据调度分发策略确定处理所述第一消息的调度模块为:
调度分发模块通过检测多个调度模块的性能,确定处理所述第一消息的调度模块。
15、如权利要求13所述的方法,其特征在于,所述接入模块将第一消息转发至调度模块之后,该方法进一步包括:
所述调度模块生成用于进行消息匹配的消息标识,将所述第一消息中消息实体和所述消息标识发送到存储模块进行存储。
16、如权利要求13所述的方法,其特征在于,所述第二消息中携带对应于所述第一消息的消息序号;
所述接入模块将第二消息发送至第二外部实体之后,该方法进一步包括:
接入模块接收第二外部实体发送的响应消息,其中携带所述消息序号;根据所述消息序号将响应消息转发至所述调度模块。
17、如权利要求16所述的方法,其特征在于,所述响应消息中进一步携带用于进行消息匹配的消息标识;
所述接入模块将响应消息转发至所述调度模块之后,该方法进一步包括:
所述调度模块将所述第一消息中消息实体及所述消息标识发送到存储模块进行存储。
18、如权利要求15或17所述的方法,其特征在于,所述调度模块将所述第一消息中消息实体及所述消息标识发送到存储模块进行存储之后,该方法进一步包括:
接入模块接收第二外部实体回复的回执消息,其中携带所述消息标识,转发到调度分发模块确定的调度模块;
该调度模块查询所述回执消息对应消息实体的存储信息,根据所述存储信息及所述消息标识,到相应的存储模块匹配消息实体。
19、如权利要求13所述的方法,其特征在于,所述接入模块接收第一外部实体发送的第一消息之前,该方法进一步包括:
所述网关系统的各模块从维测管理平台获取配置数据,对获取的配置数据进行加载并存储。
20、如权利要求19所述的方法,其特征在于,所述网关系统的各模块从维测管理平台获取配置数据之前,该方法包括:
维测终端向维测管理平台发送配置数据,维测管理平台对配置数据进行有效性校验,确认正确后进行存储。
21、如权利要求13所述的方法,其特征在于,所述接入模块接收第一外部实体发送的第一消息之前,该方法进一步包括:
接入模块与第一外部实体建立连接,并通过所述连接接收第一外部实体发送登录消息;将与第一外部实体的连接通知维测管理平台;
维测管理平台进行第一外部实体的接入数目控制,将所述接入数目控制结果发送到接入模块;
如果所述接入数目控制结果为允许登录,接入模块在确定第一外部实体登录成功后,将与第一外部实体的连接状态信息发送至维测管理平台;
维测管理平台将第一外部实体与接入模块建立连接的连接状态信息通知给各调度模块;由各调度模块存储该连接状态信息。
22、如权利要求21所述的方法,其特征在于,该方法进一步包括:
所述连接断开,或第一外部实体向接入模块发送退出消息时,接入模块将连接断开的连接状态信息发送至维测管理平台,由维测管理平台通知各调度模块;各调度模块释放存储对应连接的连接状态信息的资源。
23、如权利要求13所述的方法,其特征在于,所述第二消息中携带调度模块生成的消息序号;
所述接入模块将第二消息转发至第二外部实体之后,该方法进一步包括:
接入模块接收第二外部实体回复的携带所述消息序号的响应消息,根据所述消息序号,将所述响应消息转发至所述调度模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710188313A CN100596123C (zh) | 2007-11-16 | 2007-11-16 | 一种网关系统及其消息业务处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710188313A CN100596123C (zh) | 2007-11-16 | 2007-11-16 | 一种网关系统及其消息业务处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101159716A CN101159716A (zh) | 2008-04-09 |
CN100596123C true CN100596123C (zh) | 2010-03-24 |
Family
ID=39307639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710188313A Expired - Fee Related CN100596123C (zh) | 2007-11-16 | 2007-11-16 | 一种网关系统及其消息业务处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100596123C (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101998305A (zh) * | 2009-08-19 | 2011-03-30 | 中国移动通信集团江苏有限公司 | 一种短信的调度方法和系统 |
US20120210028A1 (en) * | 2009-11-11 | 2012-08-16 | Zte Corporation | Service scheduling system and method, and control device |
CN102685022A (zh) * | 2011-03-11 | 2012-09-19 | 中兴通讯股份有限公司 | 媒体消息回执的处理方法和具有网关功能的装置 |
CN102685253A (zh) * | 2012-05-31 | 2012-09-19 | 苏州阔地网络科技有限公司 | 一种网络会议的消息调度方法及系统 |
CN103532823B (zh) * | 2012-07-04 | 2018-11-23 | 中兴通讯股份有限公司 | 物联网消息处理方法、装置及系统 |
CN108134810B (zh) * | 2016-12-01 | 2020-01-07 | 中国移动通信有限公司研究院 | 一种确定资源调度组件的方法及其系统 |
CN110855770A (zh) * | 2019-11-07 | 2020-02-28 | 京东数字科技控股有限公司 | 消息处理方法及装置、电子设备、计算机可读存储介质 |
-
2007
- 2007-11-16 CN CN200710188313A patent/CN100596123C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101159716A (zh) | 2008-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100596123C (zh) | 一种网关系统及其消息业务处理方法 | |
EP2088791B1 (en) | Method, system and device for increasing multimedia messaging service system capacity | |
CN101374118B (zh) | 一种消息互连的方法、系统及装置 | |
CN101257460B (zh) | 即时消息临时群组会话系统及创建和即时消息发送的方法 | |
CN104144098B (zh) | 消息推送方法、系统及推送服务器设备 | |
CN101317407B (zh) | 用于在通信系统中传送消息的方法和系统 | |
CN104811459A (zh) | 用于消息服务的处理方法、装置及系统、消息服务系统 | |
CN101136943B (zh) | 一种实现扩展Diameter协议应用的系统及方法 | |
CN100466634C (zh) | 多媒体增值业务消息的处理方法和系统及采用的网关设备 | |
EP2081336B1 (en) | Business message transmission method, system and apparatus | |
CN101127947A (zh) | 一种基于移动终端登录聊天室的方法、系统及设备 | |
CN101355726A (zh) | 基于多媒体消息传递服务的数据库同步方法和系统 | |
CN101594318A (zh) | 一种实现邮件和即时消息互通的方法和系统 | |
KR100976259B1 (ko) | 무선망 환경에서 동적 ip기반의 양방향 푸시 서비스 시스템 | |
CN101656737A (zh) | 一种实现多协议接入的方法及接口平台 | |
CN101631127A (zh) | 文件传输方法及客户端 | |
CN103200214A (zh) | 离线消息集中处理方法和系统 | |
CN101155348B (zh) | 一种多媒体消息群发系统及方法 | |
EP2439881B1 (en) | Cluster system and request message distribution method for processing multi-node transaction | |
CN101778101A (zh) | 一种消息传送方法和消息传送系统 | |
EP2493135B1 (en) | Short-message transfer method, subsystem and system | |
CN101388854A (zh) | 一种多媒体消息传输的方法、系统和网关 | |
CN104993970A (zh) | 一种面向分布式系统关键运行指标数据的集中监视方法 | |
CN102282872B (zh) | 基于cpm服务来递送消息的方法及其服务器 | |
CN102137346A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100324 Termination date: 20131116 |