- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
Parlay技术中负荷控制机制研究
录入:edatop.com 点击:
摘 要 研究作为下一代业务提供技术的Parlay技术中涉及的负荷控制机制。本文构建的Parlay体系分为三个层次组成:实现协议映射的TC-CORBA关口、提供Parlay API(Application Programming Interface)的呼叫控制能力服务器、提供业务逻辑运行环境的应用服务器。本文在这些层次展开对负荷控制机制的研究。
关键词 Parlay 负荷控制 TC-CORBA 应用服务器
1 引言
Parlay应用编程接口(Parlay,API,Parlay Application Programming Interface)是一套开放的业务接口标准规范,它基于分布式技术使用统一建模语言(UML,Unified Modeling Language)定义了一套完整的业务应用编程接口集合。Parlay API屏蔽了各类网络资源的操作细节,降低了业务开发的技术门槛,业务开发商使用它提供的强大的网络访问功能,可以方便地对网络进行控制,为用户快速开发新业务。
Parlay网关是实现Parlay API的物理设备,由它把底层CAMEL应用部分(CAP,CAMEL Application Part)、事务处理能力应用部分(TCAP,Transaction Capabilties Application Part)、移动应用部分(MAP,Mobile Application Part)、会话初始化协议(SIP,Session Initiation Protocol)等协议映射为标准的提供给运行业务逻辑程序的应用服务器使用。Parlay网关由框架服务器和能力服务器组成,应用服务器接入框架服务器后,通过鉴权、业务发现、业务选择和业务使用条约签署等操作获得能力服务器事先向框架服务器注册的业务能力管理类对象引用。这些引用一般包括呼叫控制管理类引用、用户交互管理类引用和计费管理类引用等,这些引用都对应于能力服务器中的对象,应用服务器在分布式的环境下操作这些引用关联对象中包含的方法就可以对 网关进行控制,从而实现用户业务的控制功能。
参照Parlay API规范体系结构,我们构建了如图1所示的Parlay最小功能体系结构模型,在该模型的基础上我们研究Parlay技术负荷控制机制。模型中各模块间通过对象请求代理(ORB,Object Request Broker)总线连接,框架服务器通过名字服务器的方式向外公布其初始接入对象引用;企业经营管理工具向框架服务器订购业务能力功能、获取应用服务器中业务逻辑程序的接入参数;应用服务器运行业务逻辑,它通过框架服务器获得符合要求的已注册的呼叫控制能力服务器中运行的IpCallControlManager对象的引用,实现对呼叫的管理和控制;呼叫控制能力服务器主要实现负荷控制、建立呼叫对象、允许或禁止呼叫相关事件通知、控制呼叫选路、请求呼叫信息、控制呼叫计费、翻译和监视呼叫等功能:TC-CORBA关口用于把CAP协议转换为基于CORBA的API,屏蔽底层协议操作细节。
本文在TC-CORBA关口、呼叫控制能力服务器和应用服务器三个层次展开对负荷控制机制的研究。
2 TC-CORBA关口负荷控制
CAP协议映射遵循OMG提出的TC-CORBA规范,该规范主要由协议翻译部分和协议交互部分组成。协议翻译部分把传统的CAP操作转变为和其对应的IDL接口方法操作,在TC-CORBA中实现其发起方接口,在呼叫控制能力服务器中实现其响应方接口。协议交互部分封装SS7 TCAP协议栈API,根据具体的对话原语类型和成分原语类型转换为关口中的TcPduUser对象,TcPduUser对象再调用规范翻译响应接口方法,把呼叫数据上传给呼叫控制能力服务器;相反,在呼叫控制能力服务器向网络发送数据时,调用跟本次呼叫相关的规范翻译发起接口方法,发起接口接着调用关口中的TcPduProvider对象,由它调用SS7 TCAP协议栈API发送TCAP原语。
如图2所示,当关口中的TC_SS7进程从SS7 TCAP协议栈API接收到一个带有TC_INVOKE成分原语的TC-BEGIN对话原语后,TC_SS7选取一个当前轻负荷的TcFacotry进程,由它创建用户处理本次呼叫的TcPduUser对象和TcPduProvider对象,TC_SS7和TcFactor之间通过CORBA方式进行通信。当TcPduUser对象的begin_ind()方法被TC_SS7调用时,TcFactory也选取一个当前轻负荷的呼叫控制能力服务器创建规范翻译接口如CAP_v2_gsmSSF_to_gsmSCF_ACInitiator接口由这些接口实现CAP操作参数的传递。
3 呼叫控制能力服务器负荷控制
呼叫控制能力服务器IpCallControlManager接口中的setCallLoadControl()方法向应用服务器提供一个允许或禁止指定地址范围的呼叫负荷控制方法,梅绞娇以设定允许或禁止过负载控制的地址或地址范围、负载控制设置的时间间隔、呼叫接受率。当具有相同业务逻辑功能的多个应用服务器调用该方法时,Parlay网关就获得了多个用于处理该类业务的呼叫处理应用接口引用。
如图3所示,当呼叫控制能力服务器中CAP_v2_gsmSSF_to_gsmSCF_ACResponder接口的InitialDP()方法被调用时,如果此时的系统状态不满足一个业务逻辑设定的呼叫接收率条件则该方法选择具有相同功能的、由另外一个应用服务器提供的呼叫处理应用接口引用,处理本次呼叫,这样就实现了呼叫控制能力服务器选择适当负荷应用服务器处理呼叫的负荷控制功能。
4 应用服务器应用服务器
如图4所示,业务逻辑程序设计模型的基本思想是,采用基于前后台分发机制的多线程的状态机技术。在前台主机上的IpAppCallControlManager对象的callEventNotify()方法处于初始呼叫监听状态,当接收到一个业务的初始呼叫请求时,在后台服务器上由后台业务逻辑守护程序创建一个IpAppCall对象,同时创建一个状态机线程,其中IpAppCall对象用于接收后续呼叫请求信息,同它对应线程中的状态机用来分析呼叫请示信息,并对后续呼叫过程进行控制。
具体描述如下:
(1)Parlay网关调用应用服务器前台IpAppCallControlManager服务器上IpAppCallControlManager对象的callEventNotify()方法,通知初始呼叫事件到达;
(2)callEventNotify()方法选择合适的后台服务器,要求其中的业务后台守护程序创建IpAppCall对象;前后台之间也使用CORBA方式进行通信;后台服务的伺服程序在接受到前台要求创建一个新的IpAppCall对象时,创建一个IpAppCall对象,并把该对象的引用传递给前台服务器,前台服务器再把该引用传递给parlay网关;
(3)业务后台守护程序创建一个IpAppCall对象处理本次呼叫,并获得Parlay网关中 IpCall对象的引用;
(4)业务后台守护程序把IpAppCall对象引用传递给前台服务器;
(5)前台服务器再通过callEventNotify()把IpAppCall对象引用返回给Parlay网关;
(6)在后续的本次呼叫会话中,Parlay网关调用IpAppCall对象中的方法;
(7)IpAppCall对象在后续的呼叫控制过程中直接利用获得IpCall对象引用、IpUICall对象引用和IpChargingSession对象引用和Parlay网关进行交互。
状态机对象中的状态机分析判决数据内容,决定下一步的动作,调用Parlay网关中的相应对象的方法传递控制数据。
另外需要说明的是,在业务用户一次呼叫律师事务所过程中,需要实例化一些IpAppUICall对象和IpAppChargingSession对象,这些对象运行在后台服务器上,它们是系统在和用户进行信息交互时产生的,它们和IpAppCall对象运行在同一台物理设备上。为提供各后台服务器的自治性,在每个后台服务器上都拥有自己的IpAppUIManager对象和IpAppChargingManager对象,由它们管理各自服务器上的IpAppUICall对象和IpAppChargingSession对象,而IpAppcall对象由前台服务器上的IpAppCallControlManager对象进行管理。
5 结束语
在作者构建的系统中采用HP OpenCall SS7协议栈提供TCAP API收发TCAP对话原语和成分原语,传递CAP操作参数。 TC-CORBA关口向呼叫控制能力服务器提供和CAP操作相对应的规范翻译发起接口,屏蔽协议操作细节。对应用服务器的业务逻辑而言,需要操作的只是呼叫控制能力服务器提供的标准Parlay API接口,它们都构建在Orbix产品提供的CORBA平台上。作者分别在TC-CORBA关口、呼叫控制能力服务器、应用服务器三个层次有效验证了基于本文研究内容的负荷控制机制,即通过原型系统的开发和测试证明了该负荷控制机制的有效性。
*高等学校博士学科点专项科研基金资助课题(No.20030013006);国家移动通信产品研究开发专项基金项目(下一代移动智能网络的开发及应用);电子信息产业发展基金重点项目(下一代网络核心业务平台);电子信息产业发展基金项目(移动通信增值服务平台及应用系统)。
----《电信工程技术与标准化》
作者:马旭涛 朱晓民 廖建新
关键词 Parlay 负荷控制 TC-CORBA 应用服务器
1 引言
Parlay应用编程接口(Parlay,API,Parlay Application Programming Interface)是一套开放的业务接口标准规范,它基于分布式技术使用统一建模语言(UML,Unified Modeling Language)定义了一套完整的业务应用编程接口集合。Parlay API屏蔽了各类网络资源的操作细节,降低了业务开发的技术门槛,业务开发商使用它提供的强大的网络访问功能,可以方便地对网络进行控制,为用户快速开发新业务。
Parlay网关是实现Parlay API的物理设备,由它把底层CAMEL应用部分(CAP,CAMEL Application Part)、事务处理能力应用部分(TCAP,Transaction Capabilties Application Part)、移动应用部分(MAP,Mobile Application Part)、会话初始化协议(SIP,Session Initiation Protocol)等协议映射为标准的提供给运行业务逻辑程序的应用服务器使用。Parlay网关由框架服务器和能力服务器组成,应用服务器接入框架服务器后,通过鉴权、业务发现、业务选择和业务使用条约签署等操作获得能力服务器事先向框架服务器注册的业务能力管理类对象引用。这些引用一般包括呼叫控制管理类引用、用户交互管理类引用和计费管理类引用等,这些引用都对应于能力服务器中的对象,应用服务器在分布式的环境下操作这些引用关联对象中包含的方法就可以对 网关进行控制,从而实现用户业务的控制功能。
参照Parlay API规范体系结构,我们构建了如图1所示的Parlay最小功能体系结构模型,在该模型的基础上我们研究Parlay技术负荷控制机制。模型中各模块间通过对象请求代理(ORB,Object Request Broker)总线连接,框架服务器通过名字服务器的方式向外公布其初始接入对象引用;企业经营管理工具向框架服务器订购业务能力功能、获取应用服务器中业务逻辑程序的接入参数;应用服务器运行业务逻辑,它通过框架服务器获得符合要求的已注册的呼叫控制能力服务器中运行的IpCallControlManager对象的引用,实现对呼叫的管理和控制;呼叫控制能力服务器主要实现负荷控制、建立呼叫对象、允许或禁止呼叫相关事件通知、控制呼叫选路、请求呼叫信息、控制呼叫计费、翻译和监视呼叫等功能:TC-CORBA关口用于把CAP协议转换为基于CORBA的API,屏蔽底层协议操作细节。
本文在TC-CORBA关口、呼叫控制能力服务器和应用服务器三个层次展开对负荷控制机制的研究。
2 TC-CORBA关口负荷控制
CAP协议映射遵循OMG提出的TC-CORBA规范,该规范主要由协议翻译部分和协议交互部分组成。协议翻译部分把传统的CAP操作转变为和其对应的IDL接口方法操作,在TC-CORBA中实现其发起方接口,在呼叫控制能力服务器中实现其响应方接口。协议交互部分封装SS7 TCAP协议栈API,根据具体的对话原语类型和成分原语类型转换为关口中的TcPduUser对象,TcPduUser对象再调用规范翻译响应接口方法,把呼叫数据上传给呼叫控制能力服务器;相反,在呼叫控制能力服务器向网络发送数据时,调用跟本次呼叫相关的规范翻译发起接口方法,发起接口接着调用关口中的TcPduProvider对象,由它调用SS7 TCAP协议栈API发送TCAP原语。
如图2所示,当关口中的TC_SS7进程从SS7 TCAP协议栈API接收到一个带有TC_INVOKE成分原语的TC-BEGIN对话原语后,TC_SS7选取一个当前轻负荷的TcFacotry进程,由它创建用户处理本次呼叫的TcPduUser对象和TcPduProvider对象,TC_SS7和TcFactor之间通过CORBA方式进行通信。当TcPduUser对象的begin_ind()方法被TC_SS7调用时,TcFactory也选取一个当前轻负荷的呼叫控制能力服务器创建规范翻译接口如CAP_v2_gsmSSF_to_gsmSCF_ACInitiator接口由这些接口实现CAP操作参数的传递。
3 呼叫控制能力服务器负荷控制
呼叫控制能力服务器IpCallControlManager接口中的setCallLoadControl()方法向应用服务器提供一个允许或禁止指定地址范围的呼叫负荷控制方法,梅绞娇以设定允许或禁止过负载控制的地址或地址范围、负载控制设置的时间间隔、呼叫接受率。当具有相同业务逻辑功能的多个应用服务器调用该方法时,Parlay网关就获得了多个用于处理该类业务的呼叫处理应用接口引用。
如图3所示,当呼叫控制能力服务器中CAP_v2_gsmSSF_to_gsmSCF_ACResponder接口的InitialDP()方法被调用时,如果此时的系统状态不满足一个业务逻辑设定的呼叫接收率条件则该方法选择具有相同功能的、由另外一个应用服务器提供的呼叫处理应用接口引用,处理本次呼叫,这样就实现了呼叫控制能力服务器选择适当负荷应用服务器处理呼叫的负荷控制功能。
4 应用服务器应用服务器
如图4所示,业务逻辑程序设计模型的基本思想是,采用基于前后台分发机制的多线程的状态机技术。在前台主机上的IpAppCallControlManager对象的callEventNotify()方法处于初始呼叫监听状态,当接收到一个业务的初始呼叫请求时,在后台服务器上由后台业务逻辑守护程序创建一个IpAppCall对象,同时创建一个状态机线程,其中IpAppCall对象用于接收后续呼叫请求信息,同它对应线程中的状态机用来分析呼叫请示信息,并对后续呼叫过程进行控制。
具体描述如下:
(1)Parlay网关调用应用服务器前台IpAppCallControlManager服务器上IpAppCallControlManager对象的callEventNotify()方法,通知初始呼叫事件到达;
(2)callEventNotify()方法选择合适的后台服务器,要求其中的业务后台守护程序创建IpAppCall对象;前后台之间也使用CORBA方式进行通信;后台服务的伺服程序在接受到前台要求创建一个新的IpAppCall对象时,创建一个IpAppCall对象,并把该对象的引用传递给前台服务器,前台服务器再把该引用传递给parlay网关;
(3)业务后台守护程序创建一个IpAppCall对象处理本次呼叫,并获得Parlay网关中 IpCall对象的引用;
(4)业务后台守护程序把IpAppCall对象引用传递给前台服务器;
(5)前台服务器再通过callEventNotify()把IpAppCall对象引用返回给Parlay网关;
(6)在后续的本次呼叫会话中,Parlay网关调用IpAppCall对象中的方法;
(7)IpAppCall对象在后续的呼叫控制过程中直接利用获得IpCall对象引用、IpUICall对象引用和IpChargingSession对象引用和Parlay网关进行交互。
状态机对象中的状态机分析判决数据内容,决定下一步的动作,调用Parlay网关中的相应对象的方法传递控制数据。
另外需要说明的是,在业务用户一次呼叫律师事务所过程中,需要实例化一些IpAppUICall对象和IpAppChargingSession对象,这些对象运行在后台服务器上,它们是系统在和用户进行信息交互时产生的,它们和IpAppCall对象运行在同一台物理设备上。为提供各后台服务器的自治性,在每个后台服务器上都拥有自己的IpAppUIManager对象和IpAppChargingManager对象,由它们管理各自服务器上的IpAppUICall对象和IpAppChargingSession对象,而IpAppcall对象由前台服务器上的IpAppCallControlManager对象进行管理。
5 结束语
在作者构建的系统中采用HP OpenCall SS7协议栈提供TCAP API收发TCAP对话原语和成分原语,传递CAP操作参数。 TC-CORBA关口向呼叫控制能力服务器提供和CAP操作相对应的规范翻译发起接口,屏蔽协议操作细节。对应用服务器的业务逻辑而言,需要操作的只是呼叫控制能力服务器提供的标准Parlay API接口,它们都构建在Orbix产品提供的CORBA平台上。作者分别在TC-CORBA关口、呼叫控制能力服务器、应用服务器三个层次有效验证了基于本文研究内容的负荷控制机制,即通过原型系统的开发和测试证明了该负荷控制机制的有效性。
*高等学校博士学科点专项科研基金资助课题(No.20030013006);国家移动通信产品研究开发专项基金项目(下一代移动智能网络的开发及应用);电子信息产业发展基金重点项目(下一代网络核心业务平台);电子信息产业发展基金项目(移动通信增值服务平台及应用系统)。
----《电信工程技术与标准化》
作者:马旭涛 朱晓民 廖建新