CN101068243A - 处理网关层与业务层的消息交互***以及发送、接收方法 - Google Patents
处理网关层与业务层的消息交互***以及发送、接收方法 Download PDFInfo
- Publication number
- CN101068243A CN101068243A CN 200710065357 CN200710065357A CN101068243A CN 101068243 A CN101068243 A CN 101068243A CN 200710065357 CN200710065357 CN 200710065357 CN 200710065357 A CN200710065357 A CN 200710065357A CN 101068243 A CN101068243 A CN 101068243A
- Authority
- CN
- China
- Prior art keywords
- message
- module
- service
- layer
- srvice instance
- 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
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种处理网关层与业务层的消息交互***以及发送、接收方法,所述***包括协议网关层与业务应用层,其中该***还包括消息分发层,用于实现协议网关层与业务应用层之间进行消息交互时消息的处理及转发;消息分发层中进一步包括用于实现协议网关层上报的统一接口、以及业务应用层调用的统一返回地址的接口模块,所述消息分发层通过所述接口模块与所述协议网关层、所述业务应用层相连。采用本发明处理网关层与业务层的消息交互***以及发送、接收方法,能通过设置消息分发层,并与设置在该消息分发层中的接口模块相匹配,实现统一接口以及调用的返回地址,更好的提供对多业务以及网络承载能力的支持。
Description
技术领域
本发明涉及消息分发技术,尤其涉及一种处理网关层与业务层的消息交互***以及发送、接收方法。
背景技术
随着社会信息化进程的不断推进,电信业务的发展进入了新阶段,在用户对传统语音业务的需求得到基本满足之后,提供基于宽带网络的数据增值业务、已经成为新阶段运营商发展的新方向,由此,运营商基于多种承载网络,包括互联网络、固定电话网络、移动网络,为用户提供了越来越多的数据增值业务。因为运营商在上述各自独立的多种承载网络中,分别提供业务,所以当提供多种业务给用户时,需要构建多种接入网络。接入网络之间不能相互融合,不仅增加了运营商相应的网络建设成本,而且难以为用户提供更好的业务。
针对上述接入网络之间不能相互融合的问题,现有技术采用的方法为:采用parlay x技术实现一网接入多种业务。也就是说,通过parlay x技术把多种网络协议封装在一个协议网关层,使得接入网络之间相互融合,并为运营商提供接入网络承载能力,获得网络承载能力,就可以在此基础上灵活的部署新的增值业务和为用户提供多种业务。这里,所述parlay x技术是parlay组织在parlay规范基础上提出的、新的开放业务架构规范,它既继承了parlay规范开放网络业务能力的特性,又对parlay规范进行了抽象和简化。
关于网络承载能力,是指接入的不同网络融合后,在融合的网络中,当提供多种业务时,网络能承载业务运行的能力。举个例子来说,发起呼叫转接业务时,根据被叫用户的手机号码,调用相应的网络承载能力,所用到的网络承载能力是话音能力;发起短信查收邮件业务时,根据用户发送的手机号码,调用相应的网络承载能力,查询数据库中手机号码绑定的邮箱,将其未读邮件信息返回到用户终端,所用到的网络承载能力是短消息、邮件能力。
现有技术采用的方法具体应用在两层结构的***上,如图1所示,现有技术两层结构组成的***,包括相连的业务应用层11和协议网关层12,其中,业务应用层11内包括一个或一个以上业务实例模块,业务应用层11具体通过业务实例模块与协议网关层12相连。每个业务实例模块是针对如呼叫转接业务、第三方呼叫业务、短信定位业务、短信接收邮件业务等具体业务请求,生成的与该请求具体业务应用相应的实例,每个业务实例模块均用于实现业务应用层11与协议网关层12之间的双向通信,以及实现多业务的交互操作,具体在图1的业务应用层11内包含两个业务实例模块131和132。
现有技术采用的方法及***的基本思想是:在业务应用层11与协议网关层12之间,每个业务实例模块通过接入网络服务的调用接口(Web Service)进行业务应用层11与协议网关层12之间的双向通信,在业务应用层11触发请求时,使运营商获得其需要部署业务调用的网络承载能力,且在协议网关层12触发请求时,使用户获得多个业务。
由于parlayx技术是根据网络承载能力,来定义协议网关层与业务应用层间的接口,也就是说,网络承载能力不同,定义的该接口也就不同。由于协议网关层在上报业务请求时,与请求对应的不同业务,其所使用的网络承载能力不同,所调用的接口也不同,因此针对协议网关上报的业务请求,与请求对应的不同业务,需要根据不同的网络承载能力修改接口,不同业务对应不同的接口。例如:一个既用到呼叫,又用到短信的业务就需要通过呼叫接口发送接收呼叫请求,同时还必须通过短信接口处理短信请求。另外,同一个业务运行时,可能会需要将运行在不同网络承载能力上的同一个业务请求,上报给同一个业务实例模块来处理,这样同一个业务请求就需要根据调用的网络承载能力,注册多个业务上报地址;相应的,对于多个业务来说,运行在同一个网络承载能力上的不同业务请求,也需要注册多个业务上报地址。因此,基于这种结构,如果有n个业务运行,协议网关层将会出现至少n个业务上报接口,如果一个业务用到了m种网络承载能力,就必须实现m种接口,这使现有技术采用的两层结构***很难对其进行支持和管理,也不利于新的业务接入***。
综上所述,现有技术存在的问题是:针对不同业务以及业务运行在不同网络上,由于网络承载能力的不同,协议网关层调用的接口不统一、业务应用层返回的调用地址不统一,导致现有技术采用的方法效率低,不能很好地提供多业务以及对多种网络承载能力的支持。
发明内容
有鉴于此,本发明的目的在于提供一种处理网关层与业务层的消息交互***,能统一接口格式、统一返回的调用地址,提高效率,更好的提供对多业务以及多种网络承载能力的支持。
本发明的另一目的在于提供一种处理网关层与业务层的消息发送方法,能统一接口格式以及返回的调用地址,从而能很好的支持运营商对网络承载能力的调用,并基于该网络承载能力部署业务。
本发明的再一目的在于提供一种处理网关层与业务层的消息接收方法,能统一接口格式、返回的调用地址,从而很好的支持用户获得多个业务。
为了达到上述目的,本发明的技术方案是这样实现的:
本发明提供一种处理网关层与业务层的消息交互***,包括协议网关层与业务应用层,关键在于,该***还包括消息分发层,用于实现所述协议网关层与所述业务应用层之间进行消息交互时消息的处理及转发;
所述消息分发层进一步包括:用于实现协议网关层上报的统一接口、以及业务应用层调用的统一返回地址的接口模块,所述消息分发层通过所述接口模块与所述协议网关层、所述业务应用层相连。
其中,所述接口模块包括:与所述协议网关层相连的协议网关层的上报请求消息的接口模块,用于实现由该协议网关层发起的、到所述消息分发层请求的网络服务调用接口Web Service;
与所述业务应用层相连的业务应用层的发送请求消息的接口模块,用于实现由该业务应用层发起的、到所述消息分发层请求的Web Service。
其中,该***还包括:与所述消息分发层相连的互联网客户端,用于实现经由所述消息分发层、在该互联网客户端与所述业务应用层之间进行的消息交互;
所述接口模块还包括:与所述互联网客户端相连的互联网客户端提交消息的接口模块,用于实现由该互联网客户端发起的、到消息分发层请求的WebService。
其中,所述消息分发层包括:消息发送模块、业务管理模块、业务实例管理模块、消息接收模块;所述消息发送模块,经由所述业务应用层的发送请求消息的接口模块与所述业务应用层相连;用于通过接收所述业务应用层中业务实例模块的请求消息以及调用业务实例管理模块,转发所述业务应用层发起的所述请求消息;
所述消息接收模块,经由所述协议网关层的上报请求消息的接口模块与所述协议网关层相连或经由所述互联网客户端提交消息的接口模块与所述互联网客户端相连;用于转发所述协议网关层或所述互联网客户端的业务请求消息,并将其转发给所述业务应用层中与其对应的、处理该业务请求消息的业务实例模块;
所述业务管理模块,用于对所述协议网关层或所述互联网客户端上报的消息,找到处理相应与该消息的业务实例模块;
所述业务实例管理模块,用于创建、保存、查找、删除业务实例模块,并在业务实例管理模块中,相应保存业务运行的信息。
本发明还提供一种处理网关层与业务层的消息发送方法,关键在于,该方法包括以下步骤:
步骤A、业务应用层向消息分发层发送封装有业务类型标识的业务请求消息,所述消息分发层将所述业务请求消息转发给协议网关层;
步骤B、根据获取的业务类型标识,所述协议网关层通过消息分发层将协议网关层的网络承载能力返回给所述业务应用层,并通过消息分发层将封装业务标识的状态消息返回给所述业务应用层;所述业务应用层根据所述网络承载能力部署业务,并根据所述业务标识处理具体业务。
其中,步骤A具体为:
步骤A1、所述业务应用层通过业务实例模块,经由业务应用层的发送请求消息的接口模块,向消息发送模块发送所述业务请求消息;
步骤A2、该消息发送模块将所述业务请求消息转发给协议网关层;
相应的,步骤B中所述协议网关层通过消息分发层将封装业务标识的状态消息返回给所述业务应用层具体为:
步骤B1、所述协议网关层将封装业务标识的状态消息转发给所述消息发送模块;所述消息发送模块将所述状态消息发送给业务实例管理模块,根据所述业务标识修改用于处理所述具体业务的业务实例的状态,并在该业务实例管理模块中保存所述业务标识以及与其对应的业务实例标识;
步骤B2、所述消息发送模块将封装所述业务标识的状态消息返回给所述业务应用层。
其中,步骤A2中还包括鉴权操作,该鉴权操作具体包括以下步骤:
步骤A21、所述消息发送模块转发封装所述业务类型标识的业务请求消息给业务管理模块,向该业务管理模块发起鉴权请求;
步骤A22、所述业务管理模块根据所述业务类型标识,判断该业务类型标识对应的业务是否与请求调用的所述协议网关层的网络承载能力匹配;
步骤A23:在判定网络承载能力匹配鉴权成功后,所述业务管理模块将所述鉴权成功的消息返回给所述消息发送模块。
本发明还提供一种处理网关层与业务层的消息接收方法,关键在于,该方法包括以下步骤:
步骤a、协议网关层向消息分发层发送业务请求消息,该业务请求消息中封装有业务标识以及业务信息;
步骤b、消息分发层根据所述业务标识以及所述业务信息处理业务请求,将所述业务请求转发给业务应用层;业务应用层根据所述业务请求,返回处理结果消息,协议网关层获得请求的业务。
其中,步骤a具体为:
所述协议网关层经由协议网关层的上报请求消息的接口模块,向消息接收模块发送所述业务请求消息;
相应的,步骤b具体为:
步骤b1、业务实例管理模块获得所述消息接收模块转发的所述业务标识以及所述业务信息,查找与所述业务标识对应的业务实例标识,判断是否存在与该业务实例标识对应的业务实例;如果不存在,则执行步骤b2,如果存在,则执行步骤b3;
步骤b2、所述业务实例管理模块向所述消息接收模块返回结果为空的消息;并根据所述业务信息,在该业务实例管理模块中,创建新的业务实例;
步骤b3、所述消息接收模块将所述协议网关层的业务请求转发给所述业务应用层的业务实例模块处理,该业务实例模块将处理结果消息返回给该协议网关层。
其中,步骤b2中所述创建新业务实例的操作流程包括以下步骤:
步骤b21、业务管理模块处理所述业务信息后生成业务类型标识、以及用于绑定所述业务实例标识与所述业务实例之间的对应关系,并实现业务实例管理模块与所述业务实例模块之间进行接口调用的参数JNDI;业务管理模块将所述业务类型标识和JNDI返回给消息接收模块;
步骤b22、消息接收模块将封装该业务类型标识和JNDI的请求处理消息发送给业务实例管理模块,在业务实例管理模块中,创建该业务类型标识对应的业务实例,并生成该业务实例的业务实例标识;将该业务实例上传给业务应用层,修改所述业务实例模块;
通过JNDI,建立业务实例管理模块与所述该业务实例模块之间的调用接口,并实现绑定该业务实例标识与该业务实例之间的对应关系,并在该业务实例模块中,把该对应关系设置成一个业务实例引用;
步骤b23、该业务实例模块将该业务实例引用返回给业务实例管理模块,并在业务实例管理模块保存该次业务运行相关的信息,包括所述业务标识和所述业务实例标识的对应关系,以及业务实例标识和业务实例引用的对应关系;
步骤b24、业务实例管理模块将封装该业务实例引用的处理消息返回给消息接收模块;消息接收模块将从协议网关层接收到的业务请求消息,封装成该业务实例模块所需要的内部消息,并通过所述业务实例的引用,调用该业务实例模块处理消息的接口,上报该业务请求消息给该业务实例模块进行处理;
步骤b25、该业务实例模块对该业务请求消息处理后,将封装处理结果的消息返回给消息接收模块,并在该消息中给出了执行下一步业务操作的信息;在当前处理结束后,保存该业务实例模块所跳转到的状态;
步骤b26、消息接收模块对该业务实例模块返回的处理结果的消息,进行解析,并将该处理结果封装成协议网关层调用所需要的返回值类型,把该返回值返回给所述协议网关层。
其中,步骤b22中还包括鉴权操作,所述鉴权操作具体包括以下步骤:
步骤b221、消息接收模块将封装所述业务类型标识的鉴权请求发送给业务管理模块;
步骤b222、业务管理模块根据所述业务类型标识,判断该业务类型标识对应的业务是否与协议网关层的网络承载能力匹配;
步骤b223、在判定网络承载能力匹配鉴权成功后,业务管理模块将鉴权成功的消息返回给消息接收模块。
其中,互联网客户端经由互联网客户端提交消息的接口模块向所述消息分发层发起业务请求。
综上所述,通过在现有两层结构***中设置与协议网关层、业务应用层相连的消息分发层,形成本发明的三层结构***,处理网关层与业务层的消息交互***。消息分发层中包括用于实现协议网关层上报的统一接口以及业务应用层调用的统一返回地址的接口模块,消息分发层通过所述接口模块与所述协议网关层、所述业务应用层相连。该消息分发层与设置在该消息分发层中的接口模块相匹配,实现统一接口以及调用的返回地址,更好的提供对多业务以及多种网络承载能力的支持。并且在此基础上,接入互联网客户端到消息分发层,实现在传统电信业务中加入互联网业务,进一步对网络融合进行了优化。
同时,本发明的消息发送以及消息接收算法用于该处理网关层与业务层的消息交互***,能对协议网关层或互联网客户端经由消息分发层与业务应用层之间的消息交互,统一进行消息地分析、处理、转发。
附图说明
图1为现有技术两层***的组成结构图;
图2为本发明***的三层组成结构图;
图3为本发明***的一个实施例的组成结构示意图;
图4为本发明发送方法原理的实现流程图;
图5为本发明发送方法的实现流程图;
图6为本发明发送方法中的鉴权操作实现流程图;
图7为本发明发送方法一个实施例的实现流程示意图;
图8为本发明接收方法原理的实现流程图;
图9为本发明接收方法中的消息分发层处理业务请求转发给业务应用层,协议网关层获得业务的实现流程图;
图10为本发明接收方法中的创建新的业务实例的实现流程图;
图11为本发明接收方法中的鉴权操作的实现流程图;
图12为本发明接收方法一个实施例的实现流程示意图。
具体实施方式
本发明的核心思想是:通过在现有两层结构***中设置一个与协议网关层、业务应用层相连的消息分发层,形成本发明的三层结构***,处理网关层与业务层的消息交互***。消息分发层用于实现分别对业务应用层、协议网关层发起请求的处理和转发,消息分发层中设置有用于实现协议网关层上报的统一接口以及业务应用层调用的统一返回地址的接口模块,该消息分发层具体通过该接口模块与协议网关层、业务应用层相连,实现业务应用层与协议网关层之间请求消息的双向交互操作,更好的提供对多业务以及多种网络承载能力的支持。
也就是说,消息分发层用于接收业务应用层发送的请求消息,将所收到的请求消息封装成符合协议网关通信格式的消息,通过所述接口模块,转发给协议网关层,从而调用协议网关层的网络承载能力;消息分发层用于接收协议网关层上报的请求消息,通过所述接口模块,将收到的请求消息准确地转发给业务应用层,由业务应用层的业务实例模块对该消息进行具体业务的处理。同时,本发明的消息发送以及消息接收算法用于该处理网关层与业务层的消息交互***,能对协议网关层经由消息分发层与业务应用层之间进行的消息交互,统一进行消息地分析、处理、转发。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
图2为本发明***的三层组成结构图,如图2所示,本发明***通过在业务应用层11、协议网关层12之间设置消息分发层14,形成面向网关层与业务层的消息交互***。其中,业务应用层11中包括一个或一个以上业务实例模块。为了对上述核心思想进行简化描述,如图2所示,业务应用层11包括两个业务实例模块131、132。业务实例模块用于针对不同的业务请求,分别执行不同的具体业务,每个业务实例模块对应于一个业务请求的具体业务处理过程,即两个业务实例模块131、132分别针对不同的业务请求进行处理,消息分发层14用于实现分别对业务应用层11、协议网关层12发起请求的处理和转发。
消息分发层14中设置有用于实现协议网关层上报的统一接口以及业务应用层调用的统一返回地址的接口模块(图中未显示),消息分发层14通过该接口模块与业务应用层11、协议网关层12相连,实现业务应用层11与协议网关层12之间请求消息的双向交互操作。也就是说,当业务应用层11主动发起调用网络承载能力的请求时,消息分发层14接收业务应用层11发送的请求消息,将所收到的请求消息封装成符合协议网关通信格式的消息,通过所述接口模块,转发给协议网关层12,并在该接口模块中为业务应用层11提供调用的统一返回地址来调用协议网关层12的网络承载能力;当协议网关层12主动发起请求时,消息分发层14接收协议网关层12上报的请求消息,通过所述接口模块,为协议网关层12提供统一的请求消息上报接口,并将收到的请求消息准确地转发给业务应用层11,由业务应用层11的两个业务实例模块131或132分别针对收到的不同业务请求消息,对该消息进行具体业务的处理。运行在消息分发层14上的业务采用统一的运行方式为:通过消息分发层14中的所述接口模块提供协议网关层上报的统一接口以及业务应用层调用的统一返回地址,并在其中传递统一的入口消息、出口消息,可以支持多个业务并发运行以及一个业务的多个业务实例模块并发执行,在消息分发层14中需要对每个运行的业务实例模块进行管理。通过消息分发层14与所述接口模块的配合实现对多业务以及多种网络承载能力的支持,完成业务应用层11与协议网关层12之间请求消息的双向交互操作。
如图2所示,由于业务应用层11、协议网关层12分别与消息分发层14进行交互的接口实现方法不同,从而导致接口模块的不同,因此为了达到统一管理并简化接口的目的,在消息分发层14中设置的所述接口模块具体包括:协议网关层12上报请求消息的接口模块和业务应用层11发送请求消息的接口模块。协议网关层12上报请求消息的接口模块用于实现由协议网关层12发起的、到消息分发层14的Web Service接口,业务应用层11发送请求消息的接口模块用于实现由业务应用层11发起的、到消息分发层14的Web Service接口。
基于上述核心思想以及参照图2描述的实现原理,根据实际应用中的具体情况,本发明的***可以有多个具体实施例。
***实施例一:
本实施例中,消息分发层1 4中设置的所述接口模块具体为两种接口模块:协议网关层12上报请求消息的接口模块,以及业务应用层11发送请求消息的接口模块的情况下。所述协议网关层12上报请求消息的接口模块又进一步包括以下相关接口:
用于实现协议网关层12上报呼叫事件给业务应用层11的接口(handleCallEvent);
用于实现协议网关层12上报放音结束或收集用户信息事件给业务应用层11的接口(handleUIEvent);
用于实现协议网关层12将发送到特定地址的短消息告知业务应用层11的接口(notifySmsReception);
用于实现协议网关层12将短消息递交状态报告给业务应用层11的接口(notifySmsDeliveryStatus);
用于实现协议网关层12上报触发式定位报告给业务应用层11的接口(notifyTriggerLocation)。
所述业务应用层11发送请求消息的接口模块中具体包括以下相关接口:
用于实现业务应用层11发起呼叫的接口(makeACall);
用于实现业务应用层11调用该接口来获得一个呼叫的信息的接口(getCallInformation);
用于实现业务应用层11结束指定的呼叫的接口(endCall);
用于实现业务应用层11取消一个呼叫建立的请求的接口(cancelCallRequest);
用于实现业务应用层11发起放音请求的接口(sendInfo);
用于实现业务应用层11给用户放提示音并收集用户的输入的接口(sendInfoAndCollect);
用于实现业务应用层11发送短消息的接口(sendSms);
用于实现业务应用层11发送短消息Logo的接口(sendSmsLogo);
用于实现业务应用层11发送短消息ring-tone的接口(sendSmsRingtone);
用于实现业务应用层11发送一条E-mail消息给用户的接口(sendEmail);
用于实现业务应用层11查询新接收到的E-mail消息的接口(getReceivedEmails);
用于实现业务应用层11请求一条指定的E-mail消息的接口(getEmailURIs);
用于实现业务应用层11请求一条指定的E-mail消息的接口(getEmail);
用于实现业务应用层11发送多媒体消息给用户的接口(sendMulMail);
用于实现业务应用层11请求用户位置信息的接口(getLocation);
用于实现业务应用层11查询用户位置的地理信息的接口(mapping);
用于实现业务应用层11查询用户位置的目录信息的接口(Directory);
用于实现业务应用层11查询路由信息的接口(route)。
采用所述两种接口模块:所述协议网关层12上报请求消息的接口模块、以及业务应用层11发送请求消息的接口模块,并且采用相应于两种接口模块的消息,在所述协议网关层12上报请求消息的接口模块中,对通过与其相应的所述相关接口所传递的消息用类的形式进行抽象描述和封装,获得协议网关层上报类消息;在所述业务应用层11发送请求消息的接口模块中,对通过与其相应的所述相关接口所传递的消息用类的形式进行抽象描述和封装,获得业务应用层请求类消息,由于采用这种统一的接口模块与传递的消息相匹配的处理方式,因此消息分发层14便于分析、处理协议网关层12或业务应用层11所传递的消息,也便于加入新的业务。
其中,协议网关层上报类消息是消息分发层14与协议网关层12之间交互时,通过parlay x技术结合Web Service接口,接入的各种网络承载能力,协议网关层12会根据网络承载能力,调用不同的Web Service接口,上报不同的消息。业务应用层请求类消息是消息分发层14与业务应用层11之间交互时,通过parlay x技术结合Web Service接口,根据不同业务请求调用不同的Web Service接口,请求不同的业务。消息分发层14除了要分析处理协议网关层12向业务应用层11发送的协议网关层上报类消息外,还需要分析处理业务应用层11向协议网关层12发送的业务应用层请求类消息。
从协议网关层12上报的所述协议网关层上报类消息具体分为三类:呼叫事件类消息、短信类消息、定位类消息。
其中,呼叫事件类消息指协议网关层12的呼叫在建立或释放等过程中,会发生一些业务应用层11关心的呼叫事件,协议网关层12会调用Web Service接口将消息发送到消息分发层14,通知业务应用层11进行处理。在呼叫建立之前,还包括一个预设置操作,即:由业务应用层11预先通过协议网关层12设置是否触发自身关心的呼叫事件。
短信类消息是指协议网关层12在发送或接收短信时,可能会触发一些业务应用层11关心的短消息类的事件,协议网关层12会调用Web Service接口将消息发送到消息分发层14,通知业务应用层11进行处理。在发送或接收短信之前,还包括一个预设置操作,即:由业务应用层11预先通过协议网关层12设置是否触发自身关心的短消息事件。
定位类消息是指业务应用层11事先在触发位置请求中设置定位条件,条件一旦满足,协议网关层12将对终端进行定位并调用Web Service接口将消息发送到消息分发层14,通知业务应用层11进行处理。
相应的,根据发送消息类型的不同,在本***实施例中设计并实现了下面几个处理发送消息的类:处理发送呼叫消息的类(CallSender),处理发送短信息的类(SmsSender),处理发送彩信信息的类(MmsSender),处理发送位置信息的类(LbsSender),处理发送邮件的类(EmailSender)。各个发送消息的类独立地完成发送各种不同的消息功能,它们之间没有交互。
***实施例二:
由于现在的电信业务越来越多的与互联网业务融合,单纯的parlay x技术不能提供对互联网资源的访问能力,也不能提供从互联网触发业务的能力,不能融合电信业务与互联网业务,因此为了提供互联网与业务应用层11的交互,本***实施例将互联网客户端15接入到消息分发层14,用于实现在常规的电信业务中增加互联网业务。
如图3所示,基于参照图2对消息分发层14中接口模块的描述以及***实施例一中的技术方案,除了在消息分发层14中设置协议网关层12上报请求消息的接口模块、以及业务应用层11发送请求消息的接口模块以外,在本***实施例中所述接口模块还包括:互联网客户端15提交消息的接口模块,用于实现由互联网客户端15发起的、到消息分发层14的Web Service接口,该接口模块中包括用于互联网客户端15向业务应用层11提交信息的接口(procWebMsg),相应的,在该接口中所传递的消息为:互联网客户端类信息,该信息是用类的形式进行抽象描述和封装的,也就是,对在互联网客户端15提交消息的接口模块中通过与其相应的所述接口procWedMsg所传递的消息进行封装,获得互联网客户端类信息;消息分发层14除了需要给互联网客户端15,提供对业务应用层11的访问能力的支持,还需要给业务应用层11提供对互联网客户端15的访问能力支持,同协议网关层12与业务应用层11之间进行消息传递一样,互联网客户端1 5与业务应用层11之间也是个双向交互过程。
***实施例三:
如图3所示,消息分发层14进一步包括以下模块:消息发送模块141、业务管理模块142、业务实例管理模块143以及消息接收模块144。其中,消息发送模块141经由所述业务应用层的发送请求消息的接口模块与业务应用层11相连,消息接收模块144经由所述协议网关层的上报请求消息的接口模块与协议网关层12相连或经由所述互联网客户端提交消息的接口模块与互联网客户端15相连。
消息发送模块141用于在业务应用层11调用协议网关层12的网络承载能力时,在业务应用层11中的业务实例模块131或132,需要通过消息发送模块141来发送请求消息。消息发送模块141在接收到业务实例模块131或132发送的请求消息,并对业务实例模块131或132所属的业务鉴权成功后,除了向协议网关层12转发请求消息外,还需要调用业务实例管理模块143保存一些与业务运行相关的信息,包括业务标识与业务实例标识的对应关系,以供后面的消息处理使用。
其中,消息发送模块141接收到业务实例模块131或132发送的请求消息包括两类:其中一类消息是无状态的消息,不影响后续上报的消息处理;另一类消息是有状态的消息,即对请求消息对应的业务执行结束后,有返回结果的消息,会影响到后续上报的消息的处理。
为了更好的描述两类请求消息,举例如下:
例如:发送彩信、发送Email等消息发送完毕后,协议网关层12不会上报与此次操作有关联的消息,所以这类消息与后续上报的消息无关,是无状态类的消息。对这类消息的处理,消息发送模块141只需要进行业务相关的鉴权等操作即可。
例如:第三方发起的呼叫、发送短消息等消息发送成功后,协议网关层12会针对发起呼叫业务的相关事件如被叫忙事件,以及发送短消息业务的请求,上报所述业务的状态报告,所以这类消息和后续上报的消息有关,是有状态的消息。对这类消息的处理,消息发送模块141除了需要进行业务相关的鉴权操作外,还需要在业务实例管理模块143中,保存业务运行有关的信息,如这次发起呼叫的业务标识(CallID)与发送该呼叫请求的业务实例标识(InstanceId)的对应关系、这次发送短消息的业务标识(RequestIdentifier)与发送该短信息请求的业务实例标识(InstanceId)的对应关系。
业务管理模块142用于完成业务相关信息的管理,主要用于对协议网关层12或互联网客户端15上报的消息,从业务配置表以及与业务运行相关的表格中找到处理该消息的业务实例模块。具体功能包括:业务查询、业务配置信息查询、业务能力鉴权、业务有效性验证、心跳检测、处理业务信息改变的通知。
业务实例管理模块143是消息分发层14的核心模块,用于完成创建、保存、查找、删除业务实例模块的功能,并在业务实例管理模块143中保存业务运行相关的信息,包括业务标识与业务实例标识的对应关系,以供后面的消息处理使用。在协议网关层12或互联网客户端15上报请求消息后,根据消息类型、参数,以及业务实例管理模块143内部保存的与业务运行相关的信息,根据业务标识与业务实例标识的对应关系,找到或要求新建一个处理该消息的业务实例模块。具体为:当协议网关层12或互联网客户端15发起第一次业务请求时,需要创建该业务对应的业务实例模块,以及业务标识与业务实例标识的对应关系,否则,直接找到已存放在业务实例管理模块143中的业务标识对应的业务实例标识,找到相应的业务实例模块,业务结束后,删除业务对应的业务实例模块。
消息接收模块144用于完成接收协议网关层12和互联网客户端15的业务请求消息,并将它转发给业务应用层11中与其对应的业务实例模块,并由该业务实例模块处理该业务请求的功能。根据业务请求消息的不同,需要新创建业务实例模块或使用原来已经创建好的业务实例模块。消息接收模块144还用于对协议网关层12或互联网客户端15发送来的消息进行封装;同时需要对业务应用层11给协议网关层12或互联网客户端1 5的返回值进行封装。
为了更好地对本***实施例加以描述,现做一对比描述,同样是用于处理消息分发,消息发送模块141与消息接收模块144在功能上存在区别:
消息发送模块141主要作用:只要找到对应的协议网关层12所在的服务器的地址,通过Web Service方式的调用,将业务应用层11中的业务实例模块发送来的消息,转发到对应的协议网关层12即可,它只起转发作用。
消息接收模块144与消息发送模块141不同的是:必须先存在某一具体的业务实例模块,才能由该业务实例模块向消息接收模块144发送消息。而消息接收模块144在接收到协议网关层12或互联网客户端15的消息时,不一定已经存在对应的业务实例模块来处理该消息,这就需要消息接收模块144与业务实例管理模块143交互,获取处理该消息的业务实例模块,才能将接收到的消息转发给业务实例模块。
基于本发明的核心思想,本发明还提供了一种消息发送方法,用于处理协议网关层与业务应用层的消息交互,如图2、图4所示,该方法包括以下步骤:
步骤101:业务应用层11向消息分发层14发送业务请求消息,该业务请求消息中封装业务类型标识,消息分发层14将所述业务请求消息转发给协议网关层12。
其中,针对不同的业务请求,根据请求的不同业务类型,分别对应不同业务类型标识,比如业务请求为呼叫业务,则对应呼叫类型标识,业务请求为短信业务,则对应短信类型标识。
步骤102:协议网关层12获取所述业务类型标识,根据该业务类型标识,协议网关层12通过消息分发层14将协议网关层的网络承载能力返回给所述业务应用层11,并通过消息分发层14将封装业务标识的状态消息返回给业务应用层11,相应于所述业务类型标识的所述业务标识对应具体业务;业务应用层11根据所述网络承载能力部署业务,业务应用层11根据业务标识处理具体业务,并结束整个流程。
其中,所述业务类型标识对应业务,业务可以为:呼叫业务、短信业务;相应于该业务,所述网络承载能力即网络能承载该业务运行的能力在对应于呼叫业务时为话音能力、在对应于短信业务时为短消息能力。相应于所述业务类型标识的业务标识对应具体业务,当一个呼叫业务对应一个针对被叫号码138xxxxxxxx的具体业务时,该呼叫业务的业务类型标识即呼叫类型标识,相应于该呼叫类型标识的所述业务标识对应该被叫号码138xxxxxxxx的具体业务。
基于步骤101、步骤102描述的消息发送方法的基本原理,如图3、图5所示,所述步骤101具体为:
步骤1011:业务应用层11通过业务实例模块131,经由业务应用层的发送请求消息的接口模块,向消息发送模块141发送所述业务请求消息,其中,相应与所述业务应用层的发送请求消息的接口模块,在该接口模块中传递的消息为业务应用层请求类消息。
步骤1012:消息发送模块141将所述业务请求消息转发给协议网关层12。
相应的,所述步骤102中协议网关层12通过消息分发层14将封装业务标识的状态消息返回给业务应用层11的操作具体为:
步骤1021:协议网关层12将封装业务标识的状态消息转发给消息发送模块141;消息发送模块141将所述状态消息发送给业务实例管理模块143,根据所述业务标识修改用于处理所述具体业务的业务实例的状态,其中,业务实例与业务实例模块131对应,业务实例与业务实例标识对应,并在业务实例管理模块143中保存所述具体业务运行的相关信息,该信息包括所述业务标识以及与其对应的业务实例标识。
步骤1022:消息发送模块141将封装所述业务标识的状态消息返回给业务应用层11。
基于上述消息发送方法的基本原理,结合步骤1011和步骤1012,如图3、图6所示,所述步骤1012还包括鉴权操作,该鉴权操作具体包括以下步骤:
步骤1012a:消息发送模块141转发封装所述业务类型标识的业务请求消息给业务管理模块142,向该业务管理模块142发起鉴权请求;
步骤1012b:业务管理模块142根据所述业务类型标识进行鉴权,判断该业务类型标识对应的业务是否与请求调用的协议网关层12的网络承载能力匹配;
步骤1012c:在判定网络承载能力匹配即鉴权成功时,业务管理模块142将所述鉴权成功的消息返回给消息发送模块141。
下面用一个具体实施例来对整个发送方法,以及在其中进一步包括鉴权操作的整个操作流程进行描述。
发送方法实施例一:
基于所述核心思想以及参照图4、图5、图6描述的方法的实现原理,本实施例中,触发的业务是第三方发起的呼叫业务,即该业务是由业务应用层发起的两方语音呼叫,如图7所示,本方法实施例对第三方发起的呼叫业务请求的消息发送方法包括以下步骤:
步骤200:业务应用层11通过业务实例模块131,经由业务应用层的发送请求消息的接口模块,向消息发送模块141发送由第三方发起的呼叫业务请求,在该业务请求的消息中封装了业务类型标识即呼叫类型标识,如:针对被叫号码的标识;
步骤201:消息发送模块141转发该封装了呼叫类型标识的业务请求,向业务管理模块142发起鉴权请求;
步骤202:业务管理模块142根据呼叫类型标识,对该呼叫类型标识对应的呼叫业务进行鉴权,鉴权用于检查业务的合法性,即判断该呼叫业务是否与请求调用的协议网关层的网络承载能力匹配,能否使用该协议网关层的网络承载能力以及该呼叫业务是否处于激活状态;
步骤203:在判定网络承载能力匹配即鉴权成功时,业务管理模块142将鉴权成功的消息返回给消息发送模块141;
步骤204:消息发送模块141调用协议网关层的接口,将封装了呼叫类型标识的业务请求转发给协议网关层12;
步骤205:协议网关层12处理该请求即协议网关层12获取所述呼叫类型标识,根据该呼叫类型标识将协议网关层的网络承载能力发送给消息发送模块141;并将封装该呼叫的业务标识的状态消息发送给消息发送模块141,其中,呼叫类型标识与该呼叫的业务标识对应;
步骤206:消息发送模块141将封装该呼叫的业务标识的状态消息发送给业务实例模块131,根据呼叫的业务标识修改用于处理所述具体业务的业务实例的状态,其中,所述具体业务即针对所述被叫号码的呼叫业务,业务实例与业务实例模块131对应,业务实例与业务实例标识对应;
步骤207:在业务实例管理模块143中保存该呼叫业务运行的相关信息,包括本次呼叫的业务标识,以及与该业务标识对应的处理该呼叫的业务实例标识;
步骤208:消息发送模块141将所述协议网关层的网络承载能力以及封装该呼叫的业务标识的状态消息返回给业务应用层11,业务应用层11根据所述协议网关层的网络承载能力部署业务,业务应用层11根据该呼叫的业务标识处理所述具体业务,并结束整个流程。
基于方法实施例一的原理,当触发的业务是发送短信业务或者定位业务也可以采用上述流程,区别仅在于业务应用层发起的业务请求消息、协议网关层返回的状态消息的具体内容不同,以及相应的业务实例管理模块中保存的与业务运行有关的信息不同。
基于本发明的核心思想,本发明还提供了一种消息接收方法,用于所述处理网关层与业务层的消息交互***,如图2、图8所示,该方法包括以下步骤:
步骤301:协议网关层12向消息分发层14发送业务请求消息,该业务请求消息中封装了业务标识以及业务信息,其中业务信息指针对具体业务的请求信息,比如呼叫业务中的具体业务请求信息为:被叫号码;
步骤302:消息分发层14根据所述业务标识以及所述业务信息处理业务请求,将所述业务请求转发给业务应用层11;业务应用层11根据所述业务请求,返回处理结果消息,协议网关层12获得请求的业务,并结束操作流程。
基于步骤301和步骤302描述的消息接收方法的基本原理,如图3、图9所示,所述步骤301具体为:
协议网关层12经由协议网关层的上报请求消息的接口模块,向消息接收模块144发送封装了业务标识以及业务信息的所述业务请求消息,其中,相应与所述协议网关层的上报请求消息的接口模块,在该接口模块中传递的消息为协议网关层上报类消息,协议网关层上报类消息进一步包括:呼叫事件类消息、短信类消息、定位类消息。
相应的,所述步骤302具体为:
步骤3021:业务实例管理模块143获得所述消息接收模块144转发的所述业务标识以及所述业务信息,在业务实例管理模块143中,查找与所述业务标识对应的业务实例标识;
步骤3022:判断是否存在与该业务实例标识对应的业务实例即通过查找与该业务实例标识对应的业务实例,判断是否存在该业务实例;如果不存在,则执行步骤3023,如果存在,则执行步骤3024;
步骤3023:业务实例管理模块143向消息接收模块144返回结果为空的信息;并根据所述业务信息,在业务实例管理模块143中,创建新的业务实例;
步骤3024:消息接收模块144将协议网关层12的业务请求转发给业务应用层11的业务实例模块处理,业务实例模块将处理结果消息返回给协议网关层12,结束操作流程。
基于上述消息接收方法的基本原理,参照图9所示的实现原理,如图3、图10所示,在步骤3023中,创建新业务实例的操作流程包括以下步骤:
步骤30231:在消息接收模块144将所述业务请求消息中的所述业务信息,转发给业务管理模块142后,业务管理模块142处理所述业务信息后生成业务类型标识,以及用于绑定所述业务实例标识与所述业务实例之间的对应关系,并实现业务实例管理模块143与业务应用层的业务实例模块之间进行接口调用的参数(JNDI);业务管理模块142将所述业务类型标识和JNDI返回给消息接收模块144,其中所述业务实例对应于所述业务实例模块;
步骤30232:消息接收模块144将封装该业务类型标识和JNDI的请求处理消息发送给业务实例管理模块143,在业务实例管理模块143中,创建该业务类型标识对应的业务实例,并生成该业务实例的业务实例标识;将该业务实例上传给业务应用层11,修改所述业务实例模块;
通过JNDI,建立业务实例管理模块143与运行在业务应用层的该业务实例模块131之间的调用接口,并实现绑定该业务实例标识与该业务实例之间的对应关系,并在该业务实例模块131中,把该对应关系设置成一个业务实例引用;
步骤30233:该业务实例模块131将该业务实例引用返回给业务实例管理模块143,并在业务实例管理模块143保存该次业务运行相关的信息,包括所述业务标识和所述业务实例标识的对应关系,以及业务实例标识和业务实例引用的对应关系;
步骤30234:业务实例管理模块143将封装该业务实例引用的处理消息返回给消息接收模块144;消息接收模块144将从协议网关层12接收到的业务请求消息,封装成业务实例模块131所需要的内部消息,并通过所述业务实例的引用,调用业务实例模块131处理消息的接口,上报该业务请求消息给该业务实例模块131进行处理;
步骤30235:业务实例模块131对该业务请求消息处理后,将封装了处理结果的消息返回给消息接收模块144,并在该消息中给出了执行下一步业务操作的信息;在当前处理结束后,保存业务实例模块131所跳转到的状态,以确保后续再收到上报的业务请求时,能从正确的状态开始处理;
步骤30236:消息接收模块144对业务实例模块13 1返回的处理结果的消息,进行解析,并将该处理结果封装成协议网关层12调用所需要的返回值类型,把该返回值返回给协议网关层12。
基于所述消息接收方法的基本原理,参照图9、图10所示的实现原理,在步骤30232中消息接收模块将封装了业务类型标识和JNDI的请求处理消息,发送给业务实例管理模块的操作中还包括鉴权操作,如图3、图11所示,该鉴权操作具体包括以下步骤:
步骤30232a:消息接收模块144将封装了所述业务类型标识的鉴权请求发送给业务管理模块142;
步骤30232b:业务管理模块142对与该业务类型标识对应的业务进行鉴权,判断该业务类型标识对应的业务是否与协议网关层的网络承载能力匹配;
步骤30232c:在判定网络承载能力匹配即鉴权成功时,业务管理模块142将鉴权成功的消息返回给消息接收模块144。
当互联网客户端15上报业务请求消息给业务应用层11时,也可以基于上述消息接收方法的基本原理,参照图9、图10、图11中描述的实现原理,实现对互联网客户端15上报的请求消息进行转发、分析、以及处理,其中,互联网客户端15经由互联网客户端提交消息的接口模块,向所述消息分发层发起业务请求;相应于所述互联网客户端提交消息的接口模块,在该接口模块中传递的消息包括:互联网客户端类信息。
以800免费电话业务为例,在部署800免费电话业务时,首先调用协议网关层提供的创建触发点的接口,在底层网络侧设置拨打800电话的触发点,当有用户拨打800免费电话时,协议网关层就会调用上报呼叫事件的(触发点)接口把呼叫事件上报给业务应用层,业务应用层返回操作指示:继续(放忙音)、停止呼叫或者呼叫转移。消息分发层将收到的呼叫事件消息分为两类:一类是会触发应用的呼叫消息,即在消息分发子***在接收到这次呼叫消息之前,并没有创建业务实例处理这个呼叫相关的消息,这个呼叫消息是第一条上报到某一业务的呼叫事件消息,消息分发层需要找到对应的业务,并创建/分配一个业务实例模块来处理该呼叫消息,把这个呼叫的业务标识和处理这个呼叫的业务实例标识对应起来,以便下次在呼叫同样业务时,直接调用。
另一类是非触发应用的呼叫消息,也就是说在上报这次呼叫消息之前,已经有业务实例模块处理过与这个呼叫相关的消息,该消息不是第一条上报到某一应用的消息,消息分发层只要找到和这个呼叫的业务标识对应的业务实例标识,再根据这个业务实例标识找到对应的业务实例模块即可,下面对用于该消息分发层的消息接收处理方法进行具体描述。
接收方法实施例一:
基于所述核心思想以及参照图8、9、10、图11中描述的实现原理,如图11所示,当触发的业务是一个呼叫业务时,并且不存在业务实例模块,需要新创建业务实例模块,本发明接收方法的实施例一为:一个对上报拨打到800号码的呼叫消息的消息接收方法包括以下步骤:
步骤400:协议网关层12向消息接收模块144发送拨打到800免费号码的呼叫业务请求,在该业务请求的消息中封装了呼叫业务的业务标识,以及业务信息即被叫号码;
步骤401:消息接收模块144将该业务请求转发给业务实例管理模块143,根据保存在业务实例管理模块143中的所述业务标识与业务实例标识的对应关系,获取处理该业务请求的所述业务实例标识,从而获取该业务实例标识对应的业务实例;由于该呼叫业务请求是上报呼叫的第一条请求,因此之前没有业务实例处理过该业务请求,业务实例管理模块143找不到处理该业务请求的业务实例,业务实例管理模块143向消息接收模块144返回结果为空的信息;
步骤402:消息接收模块144将业务请求消息中的被叫号码转发给业务管理模块142,业务管理模块142处理被叫号码后生成业务类型标识即被叫号码的标识,以及用于绑定业务实例标识与业务实例之间的对应关系,并实现业务实例管理模块143与业务实例模块131之间进行接口调用的参数(JNDI);业务管理模块142将该被叫号码的标识和JNDI返回给消息接收模块144;
步骤403:消息接收模块144将封装了该被叫号码的标识的鉴权请求发送给业务管理模块142,业务管理模块14针对与该被叫号码的标识对应的业务进行鉴权,包括该业务是否能使用协议网关层的网络承载能力、该业务是否处于激活状态;
步骤404:业务管理模块142将鉴权成功的消息返回给消息接收模块144后,消息接收模块144将封装了被叫号码的标识和JNDI的请求处理消息发送给业务实例管理模块143,在业务实例管理模块143中,创建被叫号码的标识对应的一个业务实例,并生成该业务实例的业务实例标识;将业务实例上传给业务应用层11,修改业务实例模块131;
通过JNDI,建立业务实例管理模块143与运行在业务应用层11的业务实例模块131之间的调用接口,并实现绑定业务实例标识与业务实例之间的对应关系,并在业务实例模块131中,把该对应关系设置成一个业务实例引用;
步骤405:业务实例模块131将该业务实例引用返回给业务实例管理模块143,并在业务实例管理模块143保存该次业务运行相关的信息,包括所述业务标识和所述业务实例标识的对应关系,以及业务实例标识和业务实例引用的对应关系;
步骤406:业务实例管理模块143将封装该业务实例引用的处理消息返回给消息接收模块144;消息接收模块144将从协议网关层12接收到的业务请求消息,封装成业务实例模块131所需要的内部消息,并通过业务实例的引用,调用业务实例模块131处理消息的接口,将已经封装好的该业务请求消息上报给业务实例模块131进行处理;
步骤407:业务实例模块131对该业务请求消息处理后,将封装了处理结果的消息返回给消息接收模块144,并在该消息中给出了执行下一步操作的信息,指示协议网关层12将所述业务请求即呼叫请求,路由到给定的号码;将当前处理结束后,保存当前业务实例模块131所跳转到的状态,以确保后续再收到上报的呼叫请求时,能从正确的状态开始处理;
步骤408:消息接收模块144对业务实例模块131返回的处理结果的消息,进行解析,并将该处理结果封装成协议网关层12调用所需要的返回值类型,把该返回值返回给协议网关层12。
当把呼叫路由到应用指定的号码后,后续的呼叫事件,如被叫应答或者被叫忙,同样通过协议网关层上报到业务应用层,业务应用层应用根据当前运行到的状态,并根据上报的呼叫事件对协议网关层做出下一步操作的指示:继续(放忙音)、停止呼叫或者呼叫转移。本发明的接收方法实施二为:一个对上报被叫忙消息的消息接收方法的操作流程,并且在该流程中已存在业务实例模块。
接收方法实施例二:
基于如图11所示接收方法实施一的实现原理,本接收方法实施中的处理步骤与接收方法实施一的区别在于:由于在业务实例管理模块143中已经创建过了业务实例,并在其中保存了该呼叫业务请求的业务标识与业务实例标识的对应关系,该业务实例标识与业务实例的对应关系。而且设置了用来实现绑定业务实例标识与业务实例之间对应关系的业务实例引用,建立了业务实例管理模块143与运行在业务应用层11的该业务实例模块131之间的调用接口,因此,当消息接收模块144转发协议网关层12的呼叫业务请求给运行在业务应用层11的业务实例模块131时,直接通过业务实例标识找到相应的业务实例,并通过该业务实例模块131对协议网关层12上报的业务请求进行处理。
基于如图11所示接收方法实施一的实现原理,当触发的业务是发送到特殊号码的短消息业务、定位业务、以及互联网客户端提交的业务时,也可以采用上述流程,区别仅在于协议网关层发起的业务请求消息、业务应用层返回的状态消息的具体内容不同,以及业务实例管理模块中保存的与业务运行有关的信息不同。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (12)
1、一种处理网关层与业务层的消息交互***,包括协议网关层与业务应用层,其特征在于,该***还包括消息分发层,用于实现所述协议网关层与所述业务应用层之间进行消息交互时消息的处理及转发;
所述消息分发层进一步包括:用于实现协议网关层上报的统一接口、以及业务应用层调用的统一返回地址的接口模块,所述消息分发层通过所述接口模块与所述协议网关层、所述业务应用层相连。
2、根据权利要求1所述的消息交互***,其特征在于,所述接口模块包括:
与所述协议网关层相连的协议网关层的上报请求消息的接口模块,用于实现由该协议网关层发起的、到所述消息分发层请求的网络服务调用接口WebService;
与所述业务应用层相连的业务应用层的发送请求消息的接口模块,用于实现由该业务应用层发起的、到所述消息分发层请求的Web Service。
3、根据权利要求2所述的消息交互***,其特征在于,该***还包括:
与所述消息分发层相连的互联网客户端,用于实现经由所述消息分发层、在该互联网客户端与所述业务应用层之间进行的消息交互;
所述接口模块还包括:与所述互联网客户端相连的互联网客户端提交消息的接口模块,用于实现由该互联网客户端发起的、到消息分发层请求的WebService。
4、根据权利要求3所述的消息交互***,其特征在于,所述消息分发层包括:消息发送模块、业务管理模块、业务实例管理模块、消息接收模块;
其中,所述消息发送模块,经由所述业务应用层的发送请求消息的接口模块与所述业务应用层相连;用于通过接收所述业务应用层中业务实例模块的请求消息以及调用业务实例管理模块,转发所述业务应用层发起的所述请求消息;
所述消息接收模块,经由所述协议网关层的上报请求消息的接口模块与所述协议网关层相连或经由所述互联网客户端提交消息的接口模块与所述互联网客户端相连;用于转发所述协议网关层或所述互联网客户端的业务请求消息,并将其转发给所述业务应用层中与其对应的、处理该业务请求消息的业务实例模块;
所述业务管理模块,用于对所述协议网关层或所述互联网客户端上报的消息,找到处理相应与该消息的业务实例模块;
所述业务实例管理模块,用于创建、保存、查找、删除业务实例模块,并在业务实例管理模块中,相应保存业务运行的信息。
5、一种处理网关层与业务层的消息发送方法,其特征在于,包括以下步骤:
步骤A、业务应用层向消息分发层发送封装有业务类型标识的业务请求消息,所述消息分发层将所述业务请求消息转发给协议网关层;
步骤B、根据获取的业务类型标识,所述协议网关层通过消息分发层将协议网关层的网络承载能力返回给所述业务应用层,并通过消息分发层将封装业务标识的状态消息返回给所述业务应用层;所述业务应用层根据所述网络承载能力部署业务,并根据所述业务标识处理具体业务。
6、根据权利要求5所述的消息发送方法,其特征在于,步骤A具体为:
步骤A1、所述业务应用层通过业务实例模块,经由业务应用层的发送请求消息的接口模块,向消息发送模块发送所述业务请求消息;
步骤A2、该消息发送模块将所述业务请求消息转发给协议网关层;
相应的,步骤B中所述协议网关层通过消息分发层将封装业务标识的状态消息返回给所述业务应用层具体为:
步骤B1、所述协议网关层将封装业务标识的状态消息转发给所述消息发送模块;所述消息发送模块将所述状态消息发送给业务实例管理模块,根据所述业务标识修改用于处理所述具体业务的业务实例的状态,并在该业务实例管理模块中保存所述业务标识以及与其对应的业务实例标识;
步骤B2、所述消息发送模块将封装所述业务标识的状态消息返回给所述业务应用层。
7、根据权利要求6所述的消息发送方法,其特征在于,步骤A2中还包括鉴权操作,该鉴权操作具体包括以下步骤:
步骤A21、所述消息发送模块转发封装所述业务类型标识的业务请求消息给业务管理模块,向该业务管理模块发起鉴权请求;
步骤A22、所述业务管理模块根据所述业务类型标识,判断该业务类型标识对应的业务是否与请求调用的所述协议网关层的网络承载能力匹配;
步骤A23:在判定网络承载能力匹配鉴权成功后,所述业务管理模块将所述鉴权成功的消息返回给所述消息发送模块。
8、一种处理网关层与业务层的消息接收方法,其特征在于,包括以下步骤:
步骤a、协议网关层向消息分发层发送业务请求消息,该业务请求消息中封装有业务标识以及业务信息;
步骤b、消息分发层根据所述业务标识以及所述业务信息处理业务请求,将所述业务请求转发给业务应用层;业务应用层根据所述业务请求,返回处理结果消息,协议网关层获得请求的业务。
9、根据权利要求8所述的消息接收方法,其特征在于,步骤a具体为:
所述协议网关层经由协议网关层的上报请求消息的接口模块,向消息接收模块发送所述业务请求消息;
相应的,步骤b具体为:
步骤b1、业务实例管理模块获得所述消息接收模块转发的所述业务标识以及所述业务信息,查找与所述业务标识对应的业务实例标识,判断是否存在与该业务实例标识对应的业务实例;如果不存在,则执行步骤b2,如果存在,则执行步骤b3;
步骤b2、所述业务实例管理模块向所述消息接收模块返回结果为空的消息;并根据所述业务信息,在该业务实例管理模块中,创建新的业务实例;
步骤b3、所述消息接收模块将所述协议网关层的业务请求转发给所述业务应用层的业务实例模块处理,该业务实例模块将处理结果消息返回给该协议网关层。
10、根据权利要求9所述的消息接收方法,其特征在于,步骤b2中所述创建新业务实例的操作流程包括以下步骤:
步骤b21、业务管理模块处理所述业务信息后生成业务类型标识、以及用于绑定所述业务实例标识与所述业务实例之间的对应关系,并实现业务实例管理模块与所述业务实例模块之间进行接口调用的参数JNDI;业务管理模块将所述业务类型标识和JNDI返回给消息接收模块;
步骤b22、消息接收模块将封装该业务类型标识和JNDI的请求处理消息发送给业务实例管理模块,在业务实例管理模块中,创建该业务类型标识对应的业务实例,并生成该业务实例的业务实例标识;将该业务实例上传给业务应用层,修改所述业务实例模块;
通过JNDI,建立业务实例管理模块与所述该业务实例模块之间的调用接口,并实现绑定该业务实例标识与该业务实例之间的对应关系,并在该业务实例模块中,把该对应关系设置成一个业务实例引用;
步骤b23、该业务实例模块将该业务实例引用返回给业务实例管理模块,并在业务实例管理模块保存该次业务运行相关的信息,包括所述业务标识和所述业务实例标识的对应关系,以及业务实例标识和业务实例引用的对应关系;
步骤b24、业务实例管理模块将封装该业务实例引用的处理消息返回给消息接收模块;消息接收模块将从协议网关层接收到的业务请求消息,封装成该业务实例模块所需要的内部消息,并通过所述业务实例的引用,调用该业务实例模块处理消息的接口,上报该业务请求消息给该业务实例模块进行处理;
步骤b25、该业务实例模块对该业务请求消息处理后,将封装处理结果的消息返回给消息接收模块,并在该消息中给出了执行下一步业务操作的信息;在当前处理结束后,保存该业务实例模块所跳转到的状态;
步骤b26、消息接收模块对该业务实例模块返回的处理结果的消息,进行解析,并将该处理结果封装成协议网关层调用所需要的返回值类型,把该返回值返回给所述协议网关层。
11、根据权利要求10所述的消息接收方法,其特征在于,步骤b22中还包括鉴权操作,所述鉴权操作具体包括以下步骤:
步骤b221、消息接收模块将封装所述业务类型标识的鉴权请求发送给业务管理模块;
步骤b222、业务管理模块根据所述业务类型标识,判断该业务类型标识对应的业务是否与协议网关层的网络承载能力匹配;
步骤b223、在判定网络承载能力匹配鉴权成功后,业务管理模块将鉴权成功的消息返回给消息接收模块。
12、根据权利要求8所述的消息接收方法,其特征在于,互联网客户端经由互联网客户端提交消息的接口模块向所述消息分发层发起业务请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710065357A CN101068243B (zh) | 2007-04-12 | 2007-04-12 | 处理网关层与业务层的消息交互***以及发送、接收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710065357A CN101068243B (zh) | 2007-04-12 | 2007-04-12 | 处理网关层与业务层的消息交互***以及发送、接收方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101068243A true CN101068243A (zh) | 2007-11-07 |
CN101068243B CN101068243B (zh) | 2010-05-19 |
Family
ID=38880678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710065357A Expired - Fee Related CN101068243B (zh) | 2007-04-12 | 2007-04-12 | 处理网关层与业务层的消息交互***以及发送、接收方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101068243B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111441A (zh) * | 2010-12-22 | 2011-06-29 | 北京新媒传信科技有限公司 | 多渠道数据业务受理***及方法 |
CN103036729A (zh) * | 2012-12-31 | 2013-04-10 | 华为技术有限公司 | 一种开放网络能力的***、方法和相关网元 |
CN103942055A (zh) * | 2014-04-30 | 2014-07-23 | 北京邮电大学 | 面向融合网络混合服务流程编制语言的开发***及方法 |
CN106210101A (zh) * | 2016-07-20 | 2016-12-07 | 上海携程商务有限公司 | 消息管理***及消息管理方法 |
WO2017032110A1 (zh) * | 2015-08-25 | 2017-03-02 | 腾讯科技(深圳)有限公司 | 一种应用消息的处理***、方法及应用设备 |
WO2018032941A1 (zh) * | 2016-08-16 | 2018-02-22 | 中兴通讯股份有限公司 | 管理数据的方法及装置 |
CN109150719A (zh) * | 2018-08-21 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种基于qt的c/s架构消息路由方法及装置 |
CN110309002A (zh) * | 2019-05-29 | 2019-10-08 | 北京达佳互联信息技术有限公司 | 消息处理方法、装置、电子设备及存储介质 |
CN112131087A (zh) * | 2020-09-19 | 2020-12-25 | 中国电子科技集团公司第二十研究所 | 一种模拟软件通信层与业务应用层解耦***及实现方法 |
CN112738281A (zh) * | 2021-03-31 | 2021-04-30 | 深圳佳兆业科技集团有限公司 | 服务调用*** |
CN115543270A (zh) * | 2022-10-08 | 2022-12-30 | 睿珀智能科技有限公司 | 基于消息驱动的软件架构方法、***及设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499790A (zh) * | 2002-11-08 | 2004-05-26 | 深圳市中兴通讯股份有限公司 | 软交换设备对外开放业务接口的方法 |
US20070011322A1 (en) * | 2003-09-30 | 2007-01-11 | Corrado Moiso | Method and system for providing access to web services |
US7739389B2 (en) * | 2003-11-20 | 2010-06-15 | International Business Machines Corporation | Providing web services from a service environment with a gateway |
-
2007
- 2007-04-12 CN CN200710065357A patent/CN101068243B/zh not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111441B (zh) * | 2010-12-22 | 2014-04-16 | 北京新媒传信科技有限公司 | 多渠道数据业务受理***及方法 |
CN102111441A (zh) * | 2010-12-22 | 2011-06-29 | 北京新媒传信科技有限公司 | 多渠道数据业务受理***及方法 |
CN103036729A (zh) * | 2012-12-31 | 2013-04-10 | 华为技术有限公司 | 一种开放网络能力的***、方法和相关网元 |
CN103942055A (zh) * | 2014-04-30 | 2014-07-23 | 北京邮电大学 | 面向融合网络混合服务流程编制语言的开发***及方法 |
US10268532B2 (en) | 2015-08-25 | 2019-04-23 | Tencent Technology (Shenzhen) Company Limited | Application message processing system, method, and application device |
WO2017032110A1 (zh) * | 2015-08-25 | 2017-03-02 | 腾讯科技(深圳)有限公司 | 一种应用消息的处理***、方法及应用设备 |
CN106210101A (zh) * | 2016-07-20 | 2016-12-07 | 上海携程商务有限公司 | 消息管理***及消息管理方法 |
CN106210101B (zh) * | 2016-07-20 | 2019-06-18 | 上海携程商务有限公司 | 消息管理***及消息管理方法 |
WO2018032941A1 (zh) * | 2016-08-16 | 2018-02-22 | 中兴通讯股份有限公司 | 管理数据的方法及装置 |
CN109150719A (zh) * | 2018-08-21 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种基于qt的c/s架构消息路由方法及装置 |
CN110309002A (zh) * | 2019-05-29 | 2019-10-08 | 北京达佳互联信息技术有限公司 | 消息处理方法、装置、电子设备及存储介质 |
CN112131087A (zh) * | 2020-09-19 | 2020-12-25 | 中国电子科技集团公司第二十研究所 | 一种模拟软件通信层与业务应用层解耦***及实现方法 |
CN112131087B (zh) * | 2020-09-19 | 2024-04-16 | 中国电子科技集团公司第二十研究所 | 一种模拟软件通信层与业务应用层解耦***及实现方法 |
CN112738281A (zh) * | 2021-03-31 | 2021-04-30 | 深圳佳兆业科技集团有限公司 | 服务调用*** |
CN115543270A (zh) * | 2022-10-08 | 2022-12-30 | 睿珀智能科技有限公司 | 基于消息驱动的软件架构方法、***及设备 |
CN115543270B (zh) * | 2022-10-08 | 2023-06-16 | 睿珀智能科技有限公司 | 基于消息驱动的软件架构方法、***及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101068243B (zh) | 2010-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101068243A (zh) | 处理网关层与业务层的消息交互***以及发送、接收方法 | |
CN1171427C (zh) | 在使用话路启动协议(sip)的综合电信网中用于提供增值业务(vas)的***和方法 | |
CN1210655C (zh) | 服务器设备和信息处理方法 | |
CN1257631C (zh) | 一种基于互联网的短消息传送***及数据传送的方法 | |
CN1797461A (zh) | 一种广告业务信息发布***及其发布方法 | |
CN1249640A (zh) | 具有用户应用程序和电话程序之间的应用编程接口和方法的无线通信装置和方法 | |
CN1711784A (zh) | 用于发送sms以及文本消息的***和方法 | |
CN1925462A (zh) | 高速缓存*** | |
CN1382347A (zh) | 服务脚本执行和管理的网络体系结构和方法 | |
CN1582596A (zh) | 电信网络中控制及启用移动电话中高级服务和用户界面的方法、装置和配置 | |
CN1838642A (zh) | 利用即时消息***实现问答业务的方法及*** | |
CN101068378A (zh) | 实现多媒体消息业务***容灾的方法、***及设备 | |
CN1889771A (zh) | 一种hlr以及将传统移动终端接入ims域的方法及*** | |
CN1503537A (zh) | 服务控制网络*** | |
CN1725689A (zh) | 电信网络呼叫中心***及其实现方法 | |
CN1196073C (zh) | 电子商务*** | |
CN1176556C (zh) | 一种移动数据业务网络***及其通信方法 | |
CN1792062A (zh) | 中介网络***和方法 | |
CN1625882A (zh) | 定义数字项适配的协商机制的方法 | |
CN1277392C (zh) | 一种实现多媒体消息服务业务单节点接入的处理方法 | |
CN1272927C (zh) | 智能网用户发送短消息***的短消息鉴权计费方法 | |
CN1794872A (zh) | 一种无线接入网中会话中止方法 | |
CN1723680A (zh) | 用于在呼叫中使用一回铃音更换和推置一补充服务的一声音源的方法和设备 | |
CN1791263A (zh) | 一种定位上报服务方法 | |
CN1878068A (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: 20100519 Termination date: 20140412 |