基于ATCA的高可用性软交换系统架构研究.doc_第1页
基于ATCA的高可用性软交换系统架构研究.doc_第2页
基于ATCA的高可用性软交换系统架构研究.doc_第3页
基于ATCA的高可用性软交换系统架构研究.doc_第4页
基于ATCA的高可用性软交换系统架构研究.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于ATCA的高可用性软交换系统架构研究1. 背景12. ATCA技术及相关标准规范23. 模块化通信平台设计方案44. HA系统设计要点65. 总体结构方案简述76. 结构框图及各主要模块功能96.1 系统接口106.2 中间件服务116.3 硬件平台管理136.4 HPI链接库146.5 命令行管理156.6 SNMP管理156.7 消息/事件分发156.8 应用程序组件156.9 中间件管理服务接口157. 方案说明177.1 功能点规模估算177.2 界定项目范围177.3 计算总体系统特征值177.4 计算调整因子187.5 应用公式计算FP值187.6 讨论187.7 中间件方案研究197.8 模块货价化和系统兼容性设计的考虑208. 系统的主要功能201. 背景现有的电信设备基本上都是专有设备,在当前通信系统中99是以专有结构为基础构建的,因而通信设备的开发成本高、开发周期长,用户也受制于单一的资源和单一的设计。PICMG自1995年出版CompactPCI规范以来,秉承PCI在开放性、高性能、低成本、通用操作系统等方面的优点。但是,随着CompactPCI开始在电信领域的应用,2.0规范已越来越不能满足高可用性设备的需要,如:可靠性无法满足99.999%的电信要求,并行总线系统无法保证高实用性,缺少单一的管理实体来负责整个系统中所有单板的管理等等。传统的软交换系统采用基于服务器平台的架构,难以满足在可靠性、管理性和可用性等方面都提出了很高要求的高端通信设备市场需求,主要表现在:系统性能受到相关计算机资源以及网络交换设备等限制;缺乏高可用性服务支持,尤其是冗余备份、热插拔、在线升级等;系统管理功能有待完善。ATCA(高级通信计算架构)是PICMG 3.x系列标准的名称,作为下一代电信级通信产品的系列标准规范,支持电信级特性,其主要目标是为电信级通信应用提供标准化的平台架构。该标准融合了最新的高速互连技术和下一代处理器技术,能够提高通信服务器的可靠性、管理性和可用性。基于ATCA的通信设备逐渐开始被广泛关注,并成为一个公用平台,在各个通信系统网元中得到了应用。为探索基于ATCA平台的高可用性软交换系统架构技术,并与已有成熟的软交换产品结合最终形成具备高可用性的软交换通信产品,我司开展了对该领域的相关技术、标准规范及实现和应用的研究工作,在搭建功能样机进行了验证的基础上,实现了技术产品化,成为我司新一代的通信架构平台。2. ATCA技术及相关标准规范ATCA平台融合了最新的高速互连技术和下一代处理器技术,能够提高通信服务器的可靠性、可用性和可管理性,很好地满足高端软交换通信系统产品的要求。ATCA的提出具有重大的意义:(1) 是第一个专门为电信应用设计的开放式平台;(2) 引入了新技术特别是硬件技术;(3) 整合了协议接口,提高互操作性;(4) 增强了系统可用性。ATCA标准体系主要包括主标准PICMG 3.0及几个附属标准PICMG 3.1-3.5,其框架如下:图1 ATCA标准体系ATCA主要有以下特点:l 使设计系统能达到最小99.999%可用性;l 提供为安全服务的冗余备份功能;l 支持热插拔,确保不中断工作;l 最大带宽可达2.5Tbit/s;l 传输速率可达3.125Gbit/s;l 支持多种不同的协议:Ethernet(PICMG3.1)、Infiniband(PICMG3.2)、Rapid I/O(PIFMG3.3)、PCI-Express(PICMG3.4);l 每板高达200w的散热功率;l 全方位的机箱系统管理。ATCA技术为电信级通信设备带来的优越性: 更强大的设备性能ATCA技术融合了最新的高速互连技术和下一代处理器技术,如:提供最高可达40Gbps的通信接口,以及提供每板高达200w的散热功率等,使得基于ATCA技术的通信设备比传统架构下的设备具有更高的吞吐量和业务处理能力。 更完善的系统管理ATCA为通信系统管理提供了多层次、可扩展的管理能力,包括:对底层硬件全方面管理的机箱管理、基于TCP/IP簇的高速率管理服务以及带内应用程序管理等。 更高的服务可用性ATCA支持冗余备份、热倒换、在线升级等多种可用性管理功能,通过集成可恢复性、冗余性、可维护性及可管理性等特性,为通信系统提供高度的服务可用性(达到99.999%和更高)。ATCA的机箱管理系统主要关注底层硬件管理服务,其目的是监视、控制以及保证ATCA单板和其他机箱元件的正常运行,主要包含以下组成部分: 负责管理和监视系统中各个现场可替换单元(FRU)的分布式管理控制器; 为上述分布式管理控制器及全局系统管理器提供通信、管理和控制的智能平台管理接口(IPMI)架构; 为单板提供基于TCP/IP的高层次、高速度管理服务,如:远程复位、SNMP管理、远程磁盘服务等等。图2 ATCA的机箱管理系统机箱管理主要提供以下功能: 管理/跟踪FRU的安装和机框的通用基础架构,特别是电源、散热和互连; 使系统管理通过系统管理接口参与管理/跟踪。上层软件系统能通过HPI(Hardware Platform Interface,硬件平台接口)访问ATCA的机箱管理器。SAF(Service Availability Forum,服务可用性论坛)制订的HPI是管理高可用电信系统平台的工业标准接口。HPI的基本概念来源于智能平台管理接口Intelligent Platform Management Interface(IPMI),后者是早期的普通计算机架构中已存在的监控标准。在ATCA规范中IPMI机箱管理的目的是监视、控制以及保证ATCA单板以及其他框内部见的正常运行。IPMI系统监控系统的正常运行、报告故障状态并且在需要的时候采取合适的动作,机箱管理系统可以通过IPMI系统获取部件、传感器的信息、接受单板以及智能FRU的事件通知和故障通知。而更为抽象的HPI则定义了一种监视和控制高可用性系统的通用机制(接口)。监视和控制系统的能力是通过一套一致的、独立于平台的程序接口来提供。HPI规范提供了数据结构和函数的功能性定义,用以完成可管理的平台和系统子集之间的互操作。HPI使得应用程序和中间件(称为HPI客户端)能够通过标准接口访问和控制硬件器件。其主要目标是实现HPI用户的代码可在不同的硬件平台之间移植。SAF规范使得电信级系统和服务能够利用商业货架化构件块来构建。这种建立在开放标准的硬件和软件之上的模块化架构,具备更大的可重用性和更快的新产品引入。此外,SAF还为HPI标准在ATCA系统中的应用制定了HPI到ATCA映射规范,实际上主要是针对ATCA机箱管理完成IPMI接口与上层中间件管理接口之间的映射转换。SAF制定的AIS(应用程序接口规范)包含了可用性管理框架(AMF),是提供高可用性服务的中间件软件实体,它使群集中的资源协同起来成为一个消除单点故障的系统。AMF和高可用性应用程序在群集中实现,而AIS的核心服务则提供了群集的基本功能。AIS的核心服务包括:集群成员关系服务、检查点服务、全局锁定服务、事件分发服务、消息队列服务。以下是一个典型的SAF高可用性系统模型:图3 SAF高可用性系统模型事实上在后面的讨论中我们将看到,当前流行的成熟HA中间件都基本参照了上述模型并且均提供了符合SAF标准的软件接口。可见SAF标准及模型在HA领域已被广泛接受和认可,我们今后HA系统的设计和开发也应该遵守这些标准。3. 模块化通信平台设计方案模块化通信平台(Modular Communications Platforms (MCP))是基于工业标准的通信基础架构平台和构件块,在整个价值链中,包括:解决方案的灵活性、市场快速响应性、卖商选择、成本等方面可发挥效益。MCP为网络设备提供商(NEPs)提供可重用的开发、部署平台。利用MCP设计架构可实现符合ATCA标准的通信设备单元/构件块的通用性和互操作性,特别是针对一些电信级网元的实现:网络时钟、自动化保护和机箱管理。以下是基于MCP设计的通信网元结构框图:图4 基于MCP设计的通信网元结构框图其中,服务器逻辑功能模块主要负责应用层软件功能,提供网络中资源管理和控制,如:在VOIP网络中的软交换服务器、计费系统,又如:无线网络中的移动交换中心服务器等等。交换机则主要负责数据/载荷的路由处理功能。对于要求高可用性的电力通信系统,基于分组交换的通信网络包含了软交换服务器、媒体服务器、网关,以及网络交换机等多种网络元素。应用MCP设计架构,可分别将各种服务器与交换机网元集成在ATCA机架中。在服务器中利用ATCA技术提供对冗余备份的支持,系统控制、业务处理和存储等刀片服务器以及连接网络均组成冗余负荷分担模式。服务器的架构设计如下图所示:图5 服务器的架构设计基于MCP设计的服务器刀片软件模块主要包括:电信级操作系统、消息传输层插件、提供管理接口的中间件、完成业务功能的应用程序服务器,以及网络管理对象模型等等。服务器刀片的典型软件框图示例如下:图6 服务器刀片的典型软件框图我们在设计本系统架构时参考了上述模型。4. HA系统设计要点可用性(availability)是通过系统的可靠性(reliability)和可维护性(maintainability)来度量的。工程上通常用平均无故障时间(MTTF)来度量系统的可靠性,用平均维修时间(MTTR)来度量系统的可维护性。于是可用性被定义为: HA = MTTF/(MTTF+MTTR)*100%业界根据可用性把计算机系统分为如下几类:表1 可用性分类可用比例%年停机时间可用性分类99.53.7天常规系统(Conventional)99.98.8小时可用系统(Available)99.9952.6分钟高可用系统(Highly Available)99.9995.3分钟故障恢复(Fault Resilient)99.999932秒容错(Fault Tolerant)目前市场上的HA系统主要有以下三种工作方式:(1)、主从方式(非对称方式)工作原理:主机工作,备机处于监控准备状况;当主机宕机时,备机接管主机的一切工作,待主机恢复正常后,按使用者的设定以自动或手动方式将服务切换到主机上运行,数据的一致性通过共享存储系统解决。(2)、双机双工方式(互备互援)工作原理:两台主机同时运行各自的服务工作且相互监测情况,当任一台主机宕机时,另一台主机立即接管它的一切工作,保证工作实时,应用服务系统的关键数据存放在共享存储系统中。(3)、集群工作方式(多服务器互备方式)工作原理:多台主机一起工作,各自运行一个或几个服务,各为服务定义一个或多个备用主机,当某个主机故障时,运行在其上的服务就可以被其它主机接管。对于双机热备份方式的数据存储,又有两种实现模式:一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式(通过实时复制数据到对端),也称为纯软件方式。后者避免了磁盘阵列的单点故障,降低了投资成本,还克服了双机的物理位置距离限制,因而是本方案的首选实现方式。总的来说,通信系统的可用性的层次可以分为:l 系统级;l 设备级;l 单元模块级。本系统的HA设计主要是针对设备级和单元模块级。具体来说,HA设计是为了使系统持续地做正确的事情。可以从3个方面提升系统的可用性:延迟失效,快速恢复,安全保障。系统软件的HA设计点主要包括:表2 系统软件的HA设计点分类设计点延迟失效鲁棒性/容错互助/负荷分担故障隔离控制资源竞争兼容性快速恢复倒换/备份补丁远程/在线升级检查回滚看门狗心跳/监视恢复/修复在线诊断自检安全保障告警事件/日志鉴权/授权加密在进行系统架构和方案设计的时候我们需要考虑上述设计需求。5. 总体结构方案简述以太网软交换系统终端1终端2终端3终端n媒体/信令网关PSTN目前的软交换系统采用基于服务器平台的架构,为满足高端通信产品对高可靠性、管理性和可用性等方面的要求,本方案在不改变现有软交换系统的业务功能的前提下,将之移植到ATCA平台上,同时建立一个基本的系统管理架构,使软交换系统在可用性方面得到提高。软交换系统在NGN网络中所处的核心地位如下图所示。图7 在NGN网络中的软交换系统本方案的软交换系统将软交换核心控制模块及其他业务应用程序模块部署在一个多槽位的ATCA机箱中。该机箱主要由机框、背板、一对主备机箱管理板、一对主备千兆交换板、若干块业务处理刀片和/或承载板,以及电源、散热等模块组成。本方案的设计重点是系统管理部分,其主要功能是:实现软交换系统的冗余备份/倒换、组件运行状况检查、硬件热插拔/复位/告警等高可用性管理,以及基本的系统管理操作(命令行、SNMP)等。机箱管理、系统管理及各业务模块的部署方案如下:表3 各模块的部署计划及软硬件配置环境模块数量部署操作系统冗余模型核心呼叫控制2两块互为备份计算刀片Linux2N冗余软交换系统管理/中间件22N冗余数据库2主备冗余其他业务应用程序若干负荷分担或N+M冗余机箱管理2或1机箱管理板Linux2N冗余或无备份,可集成交换网络交换机2或1交换板/外置/集成VxWorks或Linux2N冗余或无备份,可被集成网络交换机机箱管理呼叫控制A/S数据库A/S其他业务应用程序系统管理模块A/S系统控制节点1ATCA刀片呼叫控制S/A数据库S/A其他业务应用程序系统管理模块S/A系统控制节点2ATCA刀片告警/散热/电源等系统控制终端系统的软硬件模块逻辑部署图如下:图8 软硬件模块部署图本方案将软交换系统部署和配置在一个由若干ATCA刀片组成的高可用性群集之中,并且实现系统的高可用性管理。一个群集由一至两个系统控制节点以及0至多个载荷节点组成,最小的配置是单一个系统控制节点。系统控制节点完成群集的高可用性管理功能,主要包括:服务组件的热备份、冗余、倒换、组件运行状况监察、硬件热插拔/复位/告警(仅限于ATCA机箱环境)等。载荷节点则承载业务和应用服务。软交换系统的各个应用程序组件均可通过配置文件描述部署到系统控制节点和/或载荷节点上。鉴于刀片的性能完全满足系统要求,为节省板卡数量和成本,本方案将核心呼叫控制及其他业务应用程序模块与系统控制管理都部署在相同的刀片节点上。6. 结构框图及各主要模块功能应用程序操作系统硬件核心服务:消息/事件分发等操作系统适配/抽象HPI链接库高可用性管理硬件平台管理系统维护管理软交换系统管理的系统层次架构如下图所示:图9 软交换系统管理的系统层次架构其中:核心服务层主要完成对操作系统的适配抽象、群集内部透明消息传递/转发等核心功能;高可用性管理层完成AIS规范及其他扩展服务功能;HPI链接库完成远程HPI访问接口功能;硬件平台管理模块通过HPI接口完成对整个系统的硬件监视和管理功能;系统维护管理层则提供各种形式和协议的系统维护功能以及系统模型描述。中间件服务应用程序组件操作系统HPI链接库命令行 / SNMP消息/事件分发等硬件平台管理中间件接口如所上节所述,主要的系统管理与业务模块都驻留在系统控制节点上。为对需要开发的系统进行分解和估算,按照上述系统层次架构设计,系统控制节点上的软件系统结构简化框图如下所示。图10 软件系统结构框图其中:中间件服务是指SAF制定的AIS包含的可用性管理框架(AMF)。AMF是提供可用性服务的中间件软件实体,它使群集中的冗余资源协同起来消除单点故障,并提供了对一个包含若干节点的逻辑群集的视图。AMF为应用程序提供API以获得高可用性,它决定并检查组件的状态,也允许组件查询相关的状态信息。本方案主要应用AMF、群集成员关系服务(CLM)和检查点(Checkpoint)服务,以实现软交换系统的冗余备份/倒换、组件运行状况检查(Healthcheck)功能。硬件平台管理及HPI链接库连接到ATCA机箱管理模块的HPI接口,根据底层硬件上报的事件和中间件及应用程序的请求,完成对底层硬件的热插拔和复位等管理操作,并且通过SNMP等方式上报硬件告警信息。命令行(CLI)和SNMP分别为系统管理员和自动化管理工具软件提供了系统管理功能,主要包括:群集资源组件/服务的构建、状态查询和设置等管理,以及告警/事件报告。消息/事件分发模块提供了系统核心服务层功能,包括内部的消息/事件的转发机制。应用程序组件是完成软交换系统业务功能的各个模块。应用程序的中间件接口是应用程序组件与中间件管理服务之间的桥梁。由于现有的应用程序并非按照AIS标准的要求设计,为适应中间件管理服务的系统模型和接口标准,需要分别为应用程序组件设计相应的适配接口模块。操作系统提供本节点内的底层硬件抽象封装、内存/进程/消息队列等管理。6.1 系统接口系统接口主要包括:系统维护接口、中间件管理服务接口和基于HPI标准的硬件平台管理接口。系统接口连接关系如下图所示:图11 系统接口连接关系以下分模块说明。6.2 中间件服务AIS的标准核心服务提供了群集的基本功能,包括以下几个区域(Area):群集成员关系服务、检查点服务、锁定服务、事件服务、消息服务、信息模型管理服务、日志服务和通知服务。其功能具体描述如下:表4 中间件服务功能AIS中的服务功能描述Availability Management Framework(AMF)可用性管理框架、Cluster Membership(CLM) Service群集成员关系服务提供标准的系统组件建模方法和标准的监视、故障报告/恢复/修复机制,并提供监察群集节点加入/离开群集的功能。Checkpoint(CKPT) Service检查点服务监察“检查点”的存在和搜集,主用组件记录检查点使备份组件在倒换时可恢复上次完好状态。同步检查点的增删并维护群集中的检查点清单。Lock(LCK) Service锁定服务提供对分布式客户端竞争访问一个群集资源的控制手段。Event(EVT) Service事件服务提供标准的方法异步地发布和订阅群集中的事件。Message(MSG) Service消息服务为分布式应用提供在其之间发送消息的标准方法,监察消息队列(组)且当阅读进程宕机时能保存未读取的消息。Information Model Management (IMM) Service信息模型管理服务以UML方式定义AIS信息模型,并提供API以创建、访问和管理信息模型的对象,包括静态和运行时的对象和属性配置。Log Service日志服务提供API给应用程序记录和转发群集重大信息给系统管理者或自动管理工具。Notification(NTF) Service通知服务基于ITU-T故障管理模型,围绕解释事件或状态变化的通知,而不仅是事件本身。在本方案中最重要的服务区域是AMF/CLM及检查点服务,实现软交换系统的冗余备份/倒换、组件运行状况检查功能。需要支持的AMF/CLM标准服务API接口有:表5 支持的AMF/CLM标准服务API服务分组API链接库生存周期管理saAmfInitialize()saAmfSelectionObjectGet()saAmfDispatch()saAmfFinalize()组件注册/注销saAmfComponentRegister()saAmfComponentUnregister()saAmfComponentNameGet()CSI管理saAmfHAStateGet()saAmfCSISetCallbackTsaAmfCSIRemoveCallbackTsaAmfCSIQuiescingComplete()组件生存周期管理saAmfComponentTerminateCallbackTsaAmfProxiedComponentInstantiateCallbackTsaAmfProxiedComponentCleanupCallbackT组件运行状况检查saAmfHealthCheckStart()saAmfHealthCheckStop()saAmfHealthCheckCallbackTsaAmfHealthCheckConfirm()保护组管理saAmfProtectionGroupTrack()saAmfProtectionGroupTrackCallbackTsaAmfProtectionGroupTrackStop()组件错误报告saAmfComponentErrorReport()saAmfComponentErrorClear()组件回应saAmfResponse()CLM服务saClmInitialize()saClmSelectionObjectGet()saClmDispatch()saClmFinalize()saClmClusterTrack()saClmClusterTrackCallbackTsaClmClusterTrackStop()saClmClusterNodeGet()saClmClusterNodeGetAsync()saClmClusterNodeGetCallbackT需要支持的检查点服务API接口有:表6 支持的检查点服务API服务分组API链接库生存周期管理saCkptInitialize()saCkptSelectionObjectGet()saCkptDispatch()saCkptFinalize()检查点管理saCkptCheckpointOpen()saCkptCheckpointOpenCallabackTsaCkptCheckpointOpenAsync()saCkptCheckpointClose()saCkptCheckpointUnlink()saCkptActiveReplicaSet()saCkptCheckpointRetentionDurationSet()saCkptCheckpointStatusGet()数据段管理saCkptSectionIterationInitialize()saCkptSectionIterationNext()saCkptSectionIterationFinalize()saCkptSectionCreate()saCkptSectionExpirationTimeSet()saCkptSectionDelete()saCkptCheckpointWrite()数据管理saCkptSectionOverwrite()saCkptCheckpointRead()saCkptCheckpointSynchronize()saCkptCheckpointSynchronizeAsync()saCkptCheckpointSynchronizeCallbackT数据更新通知【注】CkptRegisterCkptArrivalCallback()CkptCkptArrivalCallbackT【注】为对AIS的补充。通常,中间件都包含以XML形式描述的系统配置信息和应用程序配置信息。6.3 硬件平台管理硬件平台管理模块是中间件与ATCA机箱底层硬件平台及其他智能管理平台之间的桥梁,通过HPI访问机箱管理器提供的底层平台接口,主要为中间件提供以下服务:l 从HPI接收热插拔事件,通知AMF有关其关心的硬件实体加入、即将/突然拔出(以便及时调整在硬件实体上驻留的服务组件和应用组件部署);这里涉及了两个地址领域的映射,一个是HPI使用的FRU资源ID,另一个是中间件使用的节点ID或物理位置信息(槽位号)。l 从HPI接收传感器及其他事件,并且根据严重程度转发给中间件相关组件进行处理;这里也涉及了两个地址领域的映射。l 为中间件提供复位节点、硬件资源、热插拔及其他硬件层面操作的接口,其中节点地址由硬件平台管理模块映射为FRU资源ID。l 支持本机箱范围内HPI的部分SNMP功能。需要支持的HPI B.02.01版本API接口有:表7 支持的HPI B.02.01版本API服务分组API通用APIsaHpiVersionGet()域相关APIsaHpiSessionClose()saHpiSessionOpen()saHpiDiscover()saHpiRptEntryGet()saHpiRptEntryGetByResourceId()saHpiSubscribe()saHpiUnsubscribe()saHpiEventGet()资源相关APIsaHpiRdrGet()saHpiAutoExtractTimeoutSet()saHpiAutoInsertTimeoutSet()saHpiHotSwapPolicyCancel()saHpiResourceActiveSet()saHpiResourceInactiveSet()saHpiHotSwapStateGet()saHpiHotSwapActionRequest()saHpiHotSwapIndicatorStateGet()saHpiResourceResetStateSet()saHpiResourcePowerStateSet()除上述API之外,中间件/硬件平台管理模块还依赖以下HPI产生的事件: 热插拔/替换事件(SAHPI_ET_HOTSWAP); 传感器事件(SAHPI_ET_SENSOR); 资源事件(SAHPI_ET_RESOURCE)。6.4 HPI链接库系统控制节点机箱管理器HPI接口OpenHPI远程客户端SocketSocketHPI接口HPI内部基础架构OpenHPI服务器进程PluginPluginIPMI插件硬件平台管理HPI链接库HPI链接库利用OpenHPI远程客户端,为硬件平台管理模块提供了通过以太网方式远程访问机箱管理HPI接口的功能。系统节点上的HPI链接库与ATCA机箱管理器之间的连接示意图如下:图12 HPI链接库与ATCA机箱管理器的连接示意图通过网络还可实现HPI的分布式级联,以实现对堆叠的ATCA机框进行集中式管理。6.5 命令行管理命令行管理模块为本地和远程终端提供了系统管理访问,如:组件状态管理、监视和测试/调试等功能。系统管理员使用命令行的方式通常为:使用ATCA机箱以外的控制台或计算机终端登录到软交换系统控制节点,执行管理系统提供的命令行启动命令,再分别进入各个命令行管理模式输入命令行操作,在终端读取执行结果和输出。6.6 SNMP管理SNMP管理模块为远程网络管理终端提供了灵活的系统管理方式,包括:AMF模型管理、硬件平台管理以及告警通知等,使用SNMP的SET/GET/ Notification/Trap操作可以管理服务组件和应用组件的相关属性。SNMP主代理可由Net-SNMP等开源软件提供,扮演着与SNMP管理器接口的角色,转发SNMP报文到合适的SNMP子代理上。SNMP子代理向主代理注册,以便接受对该MIB的所有操作。通常SNMP命令是从一个ATCA机箱以外的控制台或计算机上的监视/管理终端(如:MIB浏览器)发给SNMP主代理的,后者再把命令传递给子代理。子代理通过内部的链接库与MIB对象管理模块通信,以设置或获取信息库中的值,并将操作结果返回给主代理。6.7 消息/事件分发消息/事件分发模块提供了系统内部的消息/事件的转发机制,是高效、可靠的消息分发服务,支持进程内部/之间以及节点之间的通信。中间件及应用程序组件均可使用该模块以API链接库的方式提供的服务。通常该模块与中间件服务集成在一起提供。6.8 应用程序组件应用程序组件是完成软交换系统业务功能的各个模块。各模块以进程的形式运行,除了数据库以外,各模块分别按照AIS的建模规则抽象成不同冗余模型的组件形式接受中间件服务的管理。6.9 中间件管理服务接口本节介绍了中间件管理服务接口的功能和组成。应用程序的中间件接口是应用程序组件与中间件管理服务之间的桥梁,也可称为服务代理。由于现有的应用程序并非按照AIS标准的要求设计,为适应中间件管理服务的系统模型和接口标准,需要分别为应用程序组件设计相应的适配接口模块。对于已有在节点上运行的软件系统,可以通过增加若干个新线程成为满足AIS标准的组件,即:直接注册在AMF框架控制下而具备高层次服务可用性的组件。新增线程作为组件的注册进程,接受来自AMF的所有管理请求,并且通过现有软件系统的管理接口将上述请求转换为对已有软件系统的具体实际行动。此外,AIS标准组件还可充当其他不能直接注册到AMF的组件的代理。以单个进程的组件为例,如下图所示:图13 AIS标准的组件代理应用程序AMF接口AMFAMF初始化/ HA状态设置/注册/ 状况检查/错误报告 保护组通知检查点接口检查点服务CkPt初始化/ 更新通知注创建检查点/读取/写入 注AIS的补充在本方案中主要涉及的中间件服务是AMF/CLM及检查点服务,以实现应用组件的冗余备份/倒换、组件运行状况检查功能。因此需要为每个应用程序组件设计上述两个服务的接口,如下图所示。图14 AMF和检查点服务接口AMF接口:包括AMF初始化、组件注册、获取服务名称/事件对象、分发事件、错误报告等接口函数,以及组件生存周期(CLC)管理、运行状况检查(心跳)、主备HA状态控制增删/切换、保护组通知等回调函数。检查点接口:包括检查点服务初始化、创建、打开、关闭、撤销、读取、写入/同步等操作接口函数,以及检查点更新回调函数。其中检查点更新回调函数是对AIS规范的补充。此外,系统还需要实现虚拟IP地址功能。这是为克服由于2N冗余模型的主用应用程序组件倒换到备份节点上导致其IP的改变,应使用虚拟IP地址进行通信,以屏蔽主用应用程序组件的物理地址的变化。7. 方案说明7.1 功能点规模估算功能点估算(Function Point Estimation)是一种基于顾客的观点、标准的测量/估算软件项目规模的方法技术。从已经界定的软件范围开始,根据范围的描述将软件分解为可以被单独估算的功能单元,然后估算每一个功能的功能点(FP)值。这种分析方法是按照功能为估算单元进行分解,同样也适合于以其它元素作为估算单元,例如类、对象、业务过程。功能单元是指分解到的最小可估算单元。FP值是按照经验,使用复杂度参数进行估算调整过的量化的数值。估算的基本过程如下:a) 界定项目范围;b) 分解项目到可以被估算的最小功能单元;c) 识别功能单元的类型,估算复杂度;d) 计算总体系统特征值;e) 计算调整因子;f) 应用公式计算FP值。7.2 界定项目范围中间件服务应用程序组件操作系统HPI链接库命令行 / SNMP消息/事件分发硬件平台管理中间件接口本方案需要估算的范围如下图中的阴影部分所示:图15 本方案需要估算的范围图中的粗黑线框标识了范围的边界,在这里没有把HPI链接库划入范围,是因为可以直接使用现成的开源OpenHPI模块;没有把应用程序组件(如:核心呼叫控制等)划入范围,是因为本方案不计划改变现有应用程序组件的功能;没有把中间件接口划入范围,是因为其与应用程序组件关联密切,接口随应用程序组件不同而异;而中间件接口与中间件服务等模块之间的接口则是可以明确的。将软件项目分解到可以被估算的最小功能单元,再识别功能单元的类型,估算复杂度,从而得到未调整的功能点FP=1057。7.3 计算总体系统特征值表8 总体系统特征序号i总体系统特征Ci描述1数据通信5系统使用了多种的通信协议。2分布数据处理5在系统中的大多组件动态地执行处理功能。3性能3在所有业务期间响应时间或吞吐量都是重要的,但没有特别针对CPU使用进行设计,系统接口对处理期限有所限制。4硬件负荷4在中央处理器或专用处理器上应用程序的某些操作需要限制。5事务频度4应用程序的用户需要较高的事务频度,或在设计阶段需要进行性能分析以满足业务层面的要求。6在线数据输入5超过30的事务有数据交互。7终端用户效率3为满足终端用户效率的要求需要6项以上的设计,但用户没有其他特殊要求。8在线更新11-3个内部文件需要更新。9处理复杂度3有三项复杂处理组件:扩展逻辑处理、重新执行因异常导致未完成的事务、应付多输入/输出的复杂处理。10重用性5应用程序经过打包和/或文档化以便重用,并且可以根据用户的参数来自定义应用程序。11易安装性1用户无需特别的考虑,但是在安装时需要设置。12易操作性5应用程序被设计成无人看管的操作,除了启动或关闭外不需操作者介入系统的操作,具有自动错误修复。13跨平台性2需要在设计时考虑多种环境,应用程序设计为在相似的硬件和/或软件环境中运行。14可扩展性2有两项特性实现灵活修改:提供灵活的查询和报告工具以处理简单的请求;业务控制数据通过在线交互处理保存在数据库,并且在下次启动时生效。7.4 计算调整因子根据上表计算调整因子:VAF=0.65+(Ci/100)=1.13。7.5 应用公式计算FP值调整后的系统FP=未调整的FP*调整因子=1057*1.13=1194。7.6 讨论该FP换算为C语言代码行约为:15万行。若以250行/人月的软件生产率计算,约计600人月,以一个20人规模的软件团队(包含:团队经理、系统设计师、开发工程师、测试工程师等)就需要2年左右的时间完成开发和测试【借助IBM模型计算工作量为:500人月/22人/25月】。并且上述估算还没有将AIS标准的其他服务功能(如:锁定服务等)包含在内。一种可能的设计开发方案是:在预研基础上,结合当前的软交换系统架构,设计一个简化方案,直接在目前的软交换系统上做扩展和完善实现。逐步实现以下功能:1) 适用产品系列化后的平台架构;2) 系统的冗余备份/倒换;3) 组件运行状况检查;4) 硬件热插拔/复位/告警;5) 基本的系统管理操作。该设计开发方案的优点是:1) 在现有平台基础上进行平滑过渡,对原业务功能产生的冲击尽可能地降低;2) 设计出来的系统架构比较简单,效率较高。但是上述开发方案有以下缺点:1) 由于受原有架构影响,并且是自下而上地扩展,平台架构设计可能会比较凌乱;2) 没有按照AIS等标准规范设计,将来可能面临第三方应用程序无法嵌入的问题;3) 自行设计开发针对系统控制节点和相关监控功能模块级别的设计等这些模块存在较大的技术风险。4) 自行开发需要投入的工作量巨大(见上述软件估算)。可见,为及时推出基于ATCA技术的软交换系统产品,节省人力资源投入和减小开发过程中的技术风险,完全有必要考虑引入国际上已经出现的相关开源工程,进行消化之后为我所用。7.7 中间件方案研究应用程序操作系统硬件核心服务:消息/事件分发等操作系统适配/抽象HPI链接库高可用性管理硬件平台管理系统维护管理事实上,尽管各种中间件方案的内部实现甚至接口千差万别,但是其分层次的软件架构和主要功能模块都是很相似的,自下而上包括:硬件、操作系统、操作系统适配/核心服务、HPI链接库、硬件平台管理、高可用性管理、系统维护管理,以及应用程序。其中:操作系统适配/核心服务、硬件平台管理、高可用性管理和系统维护管理模块(见图中灰色部分)是由中间件方案具体实现。图16 中间件实现的系统功能(灰色部分)对当前流行的几种中间件(OpenSAF机构的OpenSAF,OpenClovis公司的OpenClovis,Enea公司的Element和GoAhead公司的SelfReliant)方案进行对比,下表给出了各种中间件方案相对应的模块名称。表9 各种中间件方案相对应的模块中间件方案OpenSAFOpenClovisElementSelfReliant公司或机构OpenSAFOpenClovisEneaGoAhead操作系统适配分层式增强型快速可移植(LEAP)操作系统抽象(OSAL)操作系统抽象(OSAL)核心服务核心服务:消息/事件分发等消息分发服务(MDS)传输对象(TO)、智能对象通信(IOC)、远程方法分发(RMD)Enea LINX Messaging消息服务硬件平台管理HPI集成服务(HISv)硬件抽象层(HAL)、机架管理器(CM)硬件抽象层(HAL)、SAF-HPI管理器、机架管理程序集成平台服务、平台资源管理服务高可用性管理AIS服务、其他补充服务ASP高可用性领域高可用性框架高可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论