第30卷增刊2008年11月舰 船 科 学 技 术
SH I P SC I E NCE AND TECHNOLOGY Vol .30,Supp le ment
Nov .,2008
基于ICE 的分布式网管技术的研究与实现
卢 虹,王近涛
(武汉船舶通信研究所,湖北武汉430081)
摘 要: 
介绍了最新的网络通信中间件———I CE;研究了基于I CE 中间件分布式网管的管理模型;阐述了利用I CE 中间件构建分布式网管系统的优势;给出了实际的例子说明运用I CE 构建分布式网管的实现流程。
关键词: 分布式网管;通信中间件;I CE
中图分类号: T N915   文献标识码: A
文章编号: 1672-7649(2008)S -0132-03 DO I:1013404/j 1issn 11672-764912008.S .033
Research and im plem en t a ti on of d istr i buted network managem en t technology ba sed on ICE
LU Hong,WANG J in 2tao
(W uhan Mariti m e Communicati on Research I nstitute,W uhan 430079,China )
Abstract: This paper intr oduces the latest m iddle ware called I CE,analyses the model of distributed net w ork manage ment based on I CE,and expounds advantage of using I CE t o design distributed net w ork man 2age ment .Finally,it gives the actual exa mp le which de monstrate the i m p le ment fl ow of using I CE t o set up the distributed net w ork manag ment .
Key words: distributed net w ork mange ment;communicti on m iddle ware;I CE
收稿日期:2008-08-20
作者简介:卢虹(1968-),女,高级工程师,主要研究方向为船舶通信系统控制管理。
学雷锋好榜样歌词
0 引 言
当前,通信网络的规模不断扩大,复杂性不断增
加,异构也越来越多。一个网络往往由若干个子网组成,因此网络的管理也变得更加复杂和重要。传统的网络管理主要采用集中式管理模式,但该模式难以适应业务负荷的增加。因此,分布式网络管理被提出并采用。
分布式网络管理系统的功能由分布在网络中的多个同级别的管理者共同实现。每个管理者管理一个域,当需要另一个域的管理信息时,管理者可以通过与同级别的管理者通信来获取。这种结构很适合众多域且无明显从属关系的大型网络结构。
分布式网络管理与集中式网络管理的建设规模相反,系统的处理方式采用分布式实现。分布式实现主要有如下优点:
1)由于大规模的集中导致系统处理负荷急剧增加,从负载均衡和健壮性的角度考虑,分布式的处理
都是最佳的解决办法;
2)合理的分布式处理方式,有效地提供了系统的扩展能力,也为网络管理的大规模集中提供了解决途径。然而开发这样复杂,可扩展性强、高性能的、与平台无关的分布式网管系统,必然需要选择强大的网络通信机制和良好的系统架构设计。
1 网络通信中间件I CE
传统的网络管理系统总体采用单一的C /S 架构,即Server 提供各种服务,Client 向服务调用各种请求。但是面对当前的各种复杂网络,这样的架构难以满足各种功能的负载,因此对网络管理的功能加以区分,将各种功能负载分布式实现才是妥当的选择。分布式网管系统采用松耦合、分布式模块架构,这种由分布式模块组成的大型软件系统,远远比单一模块更灵活,更加适宜扩展与伸缩,甚至可以通过模块互
换操作完成软件功能的定制[1]
I CE (I nternet Communicati on Engine )是一种面向
 增刊卢 虹,等:基于ICE的分布式网管技术的研究与实现
对象的分布式计算技术,它是一种介于操作系统与应用程序之间独立的分布式中间件平台,采用I CE的代理———服务模型架构,可以将网络管理功能的实现以服务的形式分配到各个分布式的应用组件上,各个组件的实现采用I CE提供的接口标准,使得分布式网管系统能够方便的实现。哈尔滨旅游景区
I CE解决了以前中间件(如CORBA)对象模型存在的若干问题:不透明的对象引用;弱对象标识;缺少多重接口;缺少异常继承;类型系统过于复杂等。同时,I CE还提供了多种对象服务:安全服务———
允许在公网上进行安全的通信,并安全地通过防火墙和网络地址转换边界;对象持久服务———使用应用定义的事务边界,把对象状态自动存储在数据库中;事件服务———高效地把事件分发给大量用户,既支持TCP/I P,也支持UDP;软件修补服务———用于安全而自动地对客户进行软件更新等。
I CE运用在分布式网管中具有如下优势:
1)I CE不但支持很多的编程语言,尤其是当前应用最广泛的几种面向对象语言(如C++,Java等),而且还可以将这些语言综合到一个简单的分布式应用中。
2)I CE既支持分布式应用也支持面向对象的应用。
3)I CE是一种开源技术,因此,每个人可以对其进行编程以满足自己的需要,从而保证I CE的实现有更好的灵活性。
4)I CE提供了程序开发的协同性。这一点保证了建立在不同I CE产品上的分布式对象可以相互通讯。
5)支持多种底层通信协议。在协议和传输机制上,I CE协议可以在各种流和数据报传输机制上运行。目前,I CE可以把T CP/I P和SS L用作流传输机制;把UDP用作数据报传输机制。尤其是在局域网中,把UDP用作传输机制进行事件分发极其高效,使得系统的开销小,效率也就更高。
6)可以方便地穿越防火墙。由于I CE连接具有双向性,如果客户建立了一个与服务器的连接,服务器则可在该连接上完成客户提供的回调操作。
7)具有强大事件分发部署功能。为了获取更好的通信性能,可以利用I CE提供的I CESt or m服务。
I CESt or m是一种发布———订阅服务,能够解除客户与服务器的耦合。
2 I CE的网络模型
当前网络的一个重要特征就是采用S NMP作为网络管理协议,但S NMP存在着明显的不足,主要原因其设置简单。首先,在安全方面有较大漏洞,使网络入侵者有可能访问网络中传递的信息,甚至可能关闭某些终端。此外,由于它对数据的描述过于简单,因此所能处理的信息不够详细,结构也不是很好,不能适应飞速发展的21世纪网络。目前,分布式的网络管理系统和网络管理的智能化已成了网络管理发展的重要方向。因此,基于I CE的网络管理系统就成为以后网络管理研究的一个优选技术和方向[2]。
分布式网管借助这种中间件在不同的对象间共享资源,为分布式网管的实现提供了对象间的互操作支持。从本质上讲,I CE为构建面向对象的客户/服务器模式的应用提供了工具、应用程序接口和库支持[3]。I CE的网络模型如图1所示
图1 I CE的网络模型
Fig11 Net w ork module of I CE
客户端与服务器这2个角不是对应用的特定组成部分的严格指称,而是表示在某个请求从发生到结束期间,应用的某些部分所承担的角。客户是主动的实体,它们向服务器发出服务请求。服务器是被动的实体,它们提供服务,响应客户请求。从服务器不发出请求、而只是响应请求的角度看,许多服务器通常不是纯粹的服务器,它们常常充当某些客户的服务器,但为了完成客户的请求,它们又会充当另外的服务器的客户。与此类似,从只请求服务的意义上,客户端也不是纯粹的客户,而是客户/服务器的混合体。这种模式为不同域的管理者间互相调用提供了支持。
在典型的客户/服务器模式的应用中,开发者使用自己的描述语言或一种公认的标准来定义设备之间需要使用的协议。协议的定义需要依赖于实现所用的语言、网络传输的情况和其他许多因素,而I CE 使这个过程变得很简单。
在I CE中,协议的定时是通过使用S L I CE(Speci2 ficati on Language for I CE)语言实现,它描述了相关应用程序间进行调用的接口和交互的数据结构,是一种十分简单的,且与编程语言无关的描述语言。通过I CE提供的语言映射工具,就可将S L I CE中定义的接
3
3
1
口描述和数据结构映射成符合对应编程语言的代码。
S L I CE 作为客户和服务器间进行调用和数据编码方式的契约,它定义的各种接口在客户端调用以代理的方式驻留,在服务器端则是实现了各种接口和方法,以服务的形式驻留。当客户端有一个调用请求时,I CE 的实时内核负责调用方法和所传递参数的整编,然后发送给服务器端的实时内核,服务器端完成各种客户请求调用的分派,并将结果反馈给客户端。服务器端各种服务的实现对客户端而言,物体位置和实现方法都是透明的。
3 基于I CE 的分布式网管的设计
网管系统中各种服务模块采用I CE 提供的软件
总线机制,。I CE 软件总线标准提供了各个模块互操作的机制,通过该机制实现分布式网管各个域的管理模块之间相互功能的调用,控制台程序通过各服务模块的代理来访问具体的服务并调用各种操作,其分布式网管架构如图2所示。控制台上的代理调用各种服务的流程如图3所示
图2 基于I CE 的分布式网管架构
Fig 12 Fra me work of distributed net w ork manage ment based on I
CE
图3 代理调用服务流程
Fig 13 Fl ow 2chart f or p r oxy invoking service
如何去起诉欠款人
分布式网管的实现按照上述模型分为3部分:接
口定义、域管理服务模块实现和控制台程序实现。以下以网管系统中常用的2种操作:设置参数和查询参数来说明如何利用I CE 实现分布式网管。
311 接口定义
域管理模块和控制台程序间的接口采用I CE 提供的描述语言S L I CE 来定义,定义的接口作为服务模块和代理之间的合约,描述应用所使用的各种类型及对象接口。这种定义与实现的语言无关,由I CE 提供的编译器把定义的接口映射成特定语言的类型定义和AP I 。
interface SetPara mData {
int Set D ata (string data );};
interface QueryPara mData {
int Query Data (string data );}
I nterface 是接口定义的关键字,此处定义了2种
接口SetPara mData 和QueryPara mData,int 和sting 数据类型是I CE 提供的内建类型,利用slice2cpp 编译器将接口定义映射成C ++语言的纯虚类,int 和string 映射成C ++语言的std::int 和std::string 类型。312 域管理服务模块的实现
域管理服务模块是I CE 架构服务端的实现,它是S L I CE 接口中定义的各种功能的具体实现,是一组可
以提供特定功能的对象的聚合体。在域管理模块中
要实现QueryPara mData 和SetPara mData 两种接口的具体功能。
class SetPara mData I :public SetPara mData
{具体实现 };
class QueryPara mData I :public QueryPara mData {具体实现 };
服务端利用I CE 提供的Co mmunictaorPtr 类完成代理和服务之间通信链路的建立,它包含了传输的协议(T CP /UDP /SS L )、传输的端点和端口等信息内容。Co mmunicat orPtr 完成对象适配器Object A dap ter 的创建。
Object A dap ter 类调用Add ()方法完成所有服务
的加载、注册工作,并调用activate ()方法激活服务的功能,各个应用服务注册到对象适配器后生成1个惟
一的I CE::I dentity 类型的标示,当代理发送请求调用到服务端后,服务端根据惟一的标示到对应的服务,并对请求做出响应。
在收到代理端发送的关闭所有服务的调用后,Object A dap ter 调用deactivate ()方法注销所有服务,
并负责各种资源的释放。
(下转第138页)
3)计算水平LP DA轴向长度L和偶极子数N。
根据几何关系可推导出L=λ
max (1-1/B
s
)co tα/4,
λ
max 为最长工作波长;N=1+ln B
s
/ln(1/τ),若计算
得出的N不是整数,应将小数进行取整。以上3步骤反复计算几次,确定最佳值。
4)计算水平LP DA各偶极子长度l n及间距d n。
设最长偶极子长度为l
1
令l1=λmax/2,按下列公式
计算l
n
=τ・l n-1,d n=2・σ・l n,(n=2,3,…,N)。
5)计算垂直LP DA各偶极子相对水平LP DA各
洛克王国宠物偶极子的间距d′
n
。先根据τ、σ值由式(6)计算
δ=-π/2时的p值;再根据几何关系得到d′
n
=d n・[(τ-p-1)/(1-τ)]。
6)根据集合线特性阻抗Z0,确定集合线的间距
和线径。可以由公式Z
=138lg22D/d[3]估算得出设计值。初步设计后,通过数值计算或商用软件仿真以及实验调整。在调整中,试于垂直LP DA的馈电点处加一对偶极子以改善匹配。
4 极化特性误差分析
1)由于LP DA辐射场的实部和虚部是周期性微小变化的,垂直LP DA的偶极子的移动变化使辐射场的周期性变化不一定与水平的同步,造成振幅和相位的误差,引起极化特性的变化。
2)由于垂直LP DA的相应偶极子移动而不改变偶极子长度(为了增加相移),使其α′减小,使垂直增益略微变化,因而垂直极化辐射场略微变化,引起极化特性变化。
3)由于垂直LP DA的输入阻抗与水平LP DA的不完全相同,使得二者馈电的相位和振幅不完全相同,引起极化特性变化。
公积金装修贷款以上误差分析都是为了使P LP DA实现宽带工作而造成的,它们只能通过大量的数值分析和实验调整得到改善。这正是我们今后应做的工作。
参考文献:
[1] SchillerM.Logarithm ic2peri odic antenna receive signals of
any polarizati on[J].Ne w fr om Rohde&Sch warz,1976,16
(74):15-17.
[2] L iu X A.Computati on of Polarizability for Per pendicular
LP D Antennas[A].Pr oceedings of the1994I nternati onal
conference on Computati onal Electr omagetics and Its App li2
北京特小吃cati ons[C],1994:383-386.
[3] W akabayashi R,Shi m ada K,Ka waka m i H,et al.Circularly
Polarized Log2Peri odic D i pole Antenna f or E M I M easure2
ments[J].I EEE TRANS ACTI O NS ON E LECT ROMAG2
NETI C COM P ATI B I L I TY,1999,41(2):93-99.
[4] Carrel R.The design of l og2peri odic di pole antennas[R].
Antenna Lab.,Univ.Illinois,U rbana,I L,Tech.Rep.52,
Sep t.1961.
(上接第134页)
313 控制台的实现
控制台程序是通过调用服务的代理来实现,所以首先要创建QueryPara mData和SetParamData的本地代理。创建代理的函数原型如下:
I CE::ObjectPrx stringToPr oxy(string strPara m);
参数stringPara m包含的是服务的标示、传输协议、服务所在主机的地址和端口号等信息,代理创建成功后,就可以在本地调用远程的各种服务了。
4 结 语
分布式网络管理是目前网络管理研究的一个主要领域。本文深入研究了I CE对分布式网络管理的  支持特性,阐述了一种基于I CE中间件的分布式网管系统模型。利用I CE的实现机制并结合实际需求,介绍了如何构建和实现分布式的网络管理系统,为其实现搭建了一个基本框架。
参考文献:
[1] 唐亚哲,李增智,等.基于元管理模型的分布式网络管理
机制研究[J].西安交通大学学报,2001,35(2):213-
215.
[2] 李战国,唐亚哲,李增智.分布式网络管理技术及实现
[J].数据通信,2000,(3):26-28.
[3] M ichi H,Mark S.D istributed Pr ogra mm ing with I CE Revi2
si on31210[E B/OL],htt p:// oc,2007-07.