首页 > 范文大全 > 正文

基于CORBA技术的EDFA远程监控软件架构设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于CORBA技术的EDFA远程监控软件架构设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘要】随着光纤通信网络规模的不断扩大,多厂商设备环境下的网络管理是网络管理研究和网管系统建设中的难点。作为其中关键设备的edfa,同样需要有一套智能化的网络监控系统来对它们加以管理。而CORBA技术以其在标准性、规范性、开放性等方面的优势,是目前构建网管系统最为理想的一种解决方案。

【关键词】CORBA;EDFA;分布式应用

目前,EDFA(Erbium Doped Fiber Amplifier)的电路设计已经使其成为了相对独立的智能化嵌入式设备,在对其进行相应的应用模式设置后,就可以运行在无人监管的状态下。但是,随着光纤通信网络应用规模的不断扩大,EDFA的使用量也随之迅速增多、而且应用分布的结构日趋复杂,在这样的前提下,为了监控EDFA的运行状态以防止意外的运行异常,或者针对相关应用需要人为更改EDFA的工作模式,所以必需要构建一套专门的EDFA网络监控系统来对EDFA的实时运行状态加以管理。

一、EDFA控制的演化

由于EDFA的工作稳定性直接影响到光纤通信网络的传输性能,所以对于EDFA的电路设计要求非常严格,几乎要为其在实际应用中遇到的各类问题都备有相对的解决方案,因此,一个独立的EDFA模块本身就可以工作在没有任何设备干预的状态之中。

随着光纤通信网络技术的日益复杂化,对EDFA的实际应用也提出了多种要求,有时就需要人为参与一些对它的操作设置,这样就需要有外部的相应软件对它进行监控。最普通的方法是在计算机中设计一个控制软件,通过使用与EDFA中匹配的通信协议,就可以很好的监控EDFA的工作状态。

单机的EDFA控制虽然设计简单、操作方便,但是这种模式的管理使得资源消耗比较浪费,因此又提出了多机控制方式,即一台计算机同时管理多台EDFA,监控方式可以采用针对特定单机的访问模式,也可以采用分时轮循多机的访问模式。

但是对于EDFA网络的集中管理,新的问题又出现了。第一,EDFA在区域上的分布比较随机,很可能所要管理的EDFA由几个不同的计算机单独管理,第二,所有的EDFA种类比较繁多,因此其通信协议也不尽相同,无法使用统一的通信协议对其进行管理。针对这样的问题,有一种方法可以非常有效的解决,那就是采用分布式应用的方式来设计远程监控软件

二、CORBA简介

CORBA(Common Object Request Broker Architecture公共对象请求体系结构)是由OMG组织制定的一种标准的面向对象的应用程序体系规范。由对象请求ORB、对象服务、公共设施、域接口和应用接口这几个部分组成。其核心部分就是对象请求ORB(Object Request Broker)。ORB提供了一种机制,通过这种机制,对象可以透明地发出请求和接收响应。分布的、可以互操作的对象可以利用ORB构造进行互操作的应用。ORB可看作是在对象之间建立客户/服务关系的一种中间件。基于ORB,客户可以透明的调用服务对象提供的方法,该服务对象可以与客户运行在同一台机器上,也可以运行在其他机器上通过网络与客户进行交互。ORB截取客户发送的请求,并负责在该软件总线上找到实现该请求的服务对象,然后完成参数、方法调用,并返回最终结果。

ORB最重要的特性是提供了客户与目标对象之间的交互透明性,具体屏蔽了以下几个内容:

对象位置:客户不必知道目标对象的物理位置。目标对象可能与客户一起驻留在同一个进程中或同一机器的不同进程中,也有可能驻留在网络上的远程机器上;

对象实现:客户不必知道有关对象实现的具体细节。例如对象设计所采用的编程语言,对象所在结点的硬件平台和操作系统等;

对象的执行状态:客户不必知道目标对象在被其发送调用请求时是否处于活动状态,如果目标对象不是活动的,那么在ORB传送客户的调用请求之前,会自动的将它激活;

对象通信机制:客户不必知道ORB所使用的通信机制,如TCP/IP、管道、共享内存、本地方法调用等;

数据的表示:客户不必知道本地机器和远程机器对数据的表示方法是否相同。

ORB的这些特点使应用程序开发者不必过多的了解底层分布式编程的细节,而把精力集中在自己的具体应用设计上。

三、实现原理

在客户向目标对象发送请求之前,必须知道目标对象所支持的相关服务,而目标对象通过界面定义来说明它所能提供的服务。corba的对象界面由OMG IDL来定义。IDL(接口定义语言)是一个纯说明性语言,与主机上具体采用的编程语言无关。只要是支持CORBA开发的编程语言工具,它都可以通过自己独特的IDL编译器来编译IDL文件,这就强制性的使界面与对象实现分离,即可以用不同的编程语言来实现目标对象。

IDL编译器除了将IDL文件映射成相对应的编程语言之外,还会根据IDL文件中的界面定义来产生客户方的存根和服务方的框架。存根代表客户创建并发出请求,框架则把这个请求交给CORBA对象来实现。具体的说,存根为客户提供了一种机制,使客户不用关心ORB的细节,它负责将客户请求的参数进行封装和发送,并对返回的结果进行接收和解封装。而框架在接收到客户的请求后,会先将请求参数解封装,从中识别客户请求所需要的服务,然后调用对象实现,并把执行结果进行封装后返回给客户。

当然,CORBA的底层细节是实现ORB通信的关键,其中包括为ORB之间通信规定传输文法和信息格式的GIOP(Global Inter_ORB Protocol)、如何在TCP/IP网络上交换GIOP消息的IIOP(Internet Inter_ORB Protocol)、标准对象引用格式IOR(Interoperability Object Reference),还有联系对象实现和ORB本身的对象适配器等。由于这些内容不用程序开发者过多的关注,所以不在这里详述。