面向业务管理中业务层与管理层接口研究与设计
1 引言
层之间的接口是网络管理系统设计和实现的关键之一,接口直接影响网络管理系统的通信效率、管理功能和系统的可扩展性。目前传统面向设备网络管理系统中,网络层与下层之间的接口通常是标准化的SNMP(Simple Network Man-agement Protocol)接口或CMIP(Common Management Infor-maTIon Protocol)接口或Q3接口或开发商提供的专用接口。与传统的面向设备网络管理系统不同,面向业务的网络管理以网络业务为被管对象,其管理对象和管理功能均以网络业务为中心,而不再以网络设备为出发点进行设计和开发,网络设备层不可能也不需要直接向业务层提供统一的信息格式和统一的接口。
而在目前的面向业务的网络管理系统中,系统设计一般遵循分层的设计方法,即从上往下依次是业务层、网络层和网元层。网络业务管理处于业务层,它还必须得到网络层的服务支持,网络层是网络业务管理的基础和支撑,业务层需要对网络层发布相应的业务管理任务,通过收集网络层提供的相关信息,推断网络业务的状态,进而进行网络业务管理。但目前,网络层向上提供的信息还没有统一的格式,也没有统一的接口规范。因此,一方面需抽象千变万化网络业务,从而屏蔽上层各种管理业务的差异性,同时需规范网络层向上层提供的信息格式,从而在网络层和业务层之间建立一个统一规范的接口。
借鉴主动网络技术和电信网络业务管理的先进思想,提出一种基于主动网络技术的面向业务管理模型,并开发一个基于主动网络技术的面向业务管理原型系统,在该系统中,在网络层和业务层之间设计和实现一个统一接口层,使面向业务的网络管理系统的网络层和业务层能够方便地通信,同时提高网管系统的可扩展性。
2 业务的抽象
这里可将计算机网络应用理解为网络服务,而将网络服务理解为网络业务,将业务定义为由一组网络层功能支持的面向终端用户的网络应用。面向对象技术在描述被管对象方面具有很大优势,因为面向对象的分析方法是利用面向对象的信息建模概念(如实体、关系、属性等),同时运用封装、继承、多态等机制构造模拟现实系统的方法。因此,在将网络业务作为被管对象时,也应采用相同的方法进行抽象。利用面向对象技术,提出一套较为完整的业务抽象原则、抽象方法、抽象粒度、抽象等级、业务描述方法等。
2.1 网络业务的抽象原则、粒度和等级
在进行网络业务抽象时,应遵循如下原则:(1)抽象出来的业务应该能够支撑完整的用户功能需求;(2)对业务管理而言没有显著意义的、网络提供的其它业务可以不抽象为网络管理业务对象;(3)应该遵循统一性,一致性的原则,力求抽象的业务具备可重用性,兼容性。总之,在业务抽象时,需充分考虑业务对象是否是用户所关心的、对用户是否具有管理的意义、对用户是否能够支撑完整的管理功能需求。
业务的粒度对管理功能子模块的划分以及与网元的影射有直接影响。粒度太大容易抽象,但不利于功能模块的划分和与网元的影射,粒度太小,则增加系统的复杂性和实现难度。把握粒度的原则是支持功能的完整性,如果一个网络功能不能完成完整的用户功能需求,就不定义为一个管理业务对象。例如。E-mail业务需要检验用户的身份和口令,然而身份认证功能对用户而言,不是使用网络的目的,而是E-mail业务所包含的安全功能,因此不被定义为独立的业务。对网络业务的抽象应遵循统一性、一致性原则,使抽象的网络业务之间尽量不出现重叠、模棱两可的情况。利用面向对象技术,将业务进行抽象、封装,并在相关的业务之间建立继承关系,使定义的属性和管理功能在最大的范围内能够重用。例如,E-mail业务就可以分为两种,一种是基于Web的邮件,一种是利用POP和SMTP协议实现的邮件功能。
2.2 业务抽象实例
根据上述业务抽象的原则、粒度和等级,可采用面向对象的方法对业务进行抽象。从面向对象的观点来看,网络业务可视为一个抽象类,作为各种具体网络业务的公共父类。因为网络业务类定义的特性(属性和服务)每个业务子类都能继承。例如,FTP、Telnet、E-mail等业务都是网络业务Ser-vice类的子类。而E-mail业务又分为两种,一种是基于Web的邮件,一种是利用POP和SMTP协议实现的邮件功能,这两种邮件业务虽然是利用不同方式提供给用户的,但在用户的视角中,它们提供的是相同的服务,因此,既应该抽取它们的共同之处,建立邮件业务对象;又应该强调它们各自的特点。分别建立相应的业务子类对象进行管理,如图1所示。
在面向业务的网络管理系统,把可以存储、管理和操作的所有业务用一个统一的抽象名字“业务对象”标记。实际上,业务对象就是对被管对象和相关支撑资源的抽象。按照面向对象技术的思想,将具有相同管理操作、属性、特性组、通知和行为特性的业务对象组合成一个“业务对象类”。“业务对象类”只是一个虚的概念类,它仅描述类的类别。业务对象类可以派生子类,子类可继承父类的各种特征量,如图2所示。当一个具体的业务实体作为某类业务对象存在(创建)时,该实体就被称为业务对象实例。对于接口的实现,在网络层和业务层进行交互时,更多需考虑对象实例的属性,因此首先需描述对象实例的属性。对象实例的属性主要包含属性名字、属性值、对属性的操作特性等。同一个类中的属性名应具有唯一标识性。属性值可通过内在的系统手段、网络活动或管理活动读取和修改,但修改活动受属性操作特性的限制。在定义业务对象时可以规定某些属性对外部系统是只读的,也可规定属性值改变的条件等。一般每个业务对象拥有多个属性。为方便网络业务的管理。为业务对象定义许多可见属性,如业务名称、业务类型、业务响应时间、业务接入时间、业务活动访问计数、业务数据吞吐量、业务通路延迟、业务通路延迟抖动、业务通路丢包率等。如图2所示。
3 统一接口的设计
处于业务层的网络业务管理需得到网络层的服务支持,因此,网络层和业务层间通过接口进行交互,业务层需对网络层发布相应的业务管理任务。通过收集网络层提供的相关信息。推断网络业务状态,进而管理网络业务。但目前网络层向上提供的信息还没有统一格式,也没有统一的接口规范。由于网管系统中的各种设备在逻辑上和物理上都分布在整个被管网络中,并且经常处于动态变化中,而CORBA很好地结合面向对象和分布处理技术,其体系结构很好地解决了对象的可重用性、可移植性和互操作性等问题。它基于事件服务的主动服务PUSH和PULL技术,可实时收集各种告警信息、进行信息处理;同时对象之间还可以通过互相调用对方提供的服务,有分布透明的支持,业务对象和组件还可以在网络内动态迁移。为此,根据上述对业务对象的抽象、对业务对象属性的描述以及面向业务网络管理的分层结构,同时考虑到接口的实现,引入CORBA(Common Object Re-quest Architecture,公共对象请求代理体系结构)在业务层和网络层之间设计一种统一的规范接口,如图3所示。
在此规范接口方式中,各个子管理层间的通信方式有:
(1)CORBA/IDL接口即采用CORBA作为通信平台,管理层间的接口信息模型采用IDL(Interface DefiniTIon Lan-guage,接口定义语言)描述,使用C/S交互方式。该接口存在于业务管理层和网络业务层之间,各实体成员间的通信采用CORBA/IDL作为进程间的通信方式。
(2)SNMP接口即采用SNMP协议作为传送信息的方式。层次间的接口信息模型采用SMI/ASN.1的描述。使用管理者/代理的交互方式。这种接口存在于网络管理层和网元管理层以及网元管理层和网元之间,是标准化的接口。
(3)专用接口这种接口只存在于网元管理层和网元间,一般由厂家提供。
4 接口描述和实现
接口通过消息的封装来实现。在面向业务的网络管理体系结构中,为管理网络业务,定义一种协议数据单元PDU(Protocol Data Unit)描述业务数据。PDU中包含的域有serID、serType、serName、serTIme、serAddress、dataLong、 serData,各个域的含义如下serID:表示业务的编号;serType表示业务的类型,不同的编码表示与业务有关的故障、性能、配置、安全、计费等5项功能;serName表示业务的名称;serTIme表示业务管理任务得到相应的时间;serAddress表示发出管理业务任务的IP地址;dataLong表示后面数据的总长度,以Byte为单位;serData表示与该业务有关的各个属性的值,包含图3中描述的属性值;业务数据包封装在UDP中,前面依次加上UDP的头结构:2字节的UDP源端口号、2字节的UDP目的端口号、2字节校验和、2字节的信息长度。
用CORBA的IDL语言定义接口如下:
把IDL模式转换为JAVA源代码后,生成serviceMes-sageStub.java和serviceMessage Operation.java等多个文件。业务数据包封装在UDP的数据项中。业务层中客户端的桩程序把用户的请求进行编码、发送到对象实现端.并对接收到的处理结果进行解码,将结果返回给用户。网络层中服务端的框架程序对用户请求进行解码,定位所要求的对象方法并执行,将执行结果或异常信息编码后送回业务层中的用户。
在业务层的客户端要求一些特定的代码得到对远程对象的引用,一旦客户代码拥有对远程对象的引用,调用远程对象的方法就和涮用本地方法一样。网络层服务端的代码必须定义类并实例化类的远程对象,之后,在服务端要求提供一些特定的代码登记对象并导出方法给客户,则这些被导出的方法就可被远程调用。客户端的代码和服务端的代码都必须访问以上定义的IDL文件,使客户和服务器相联系。
5 结论
详细讨论与接口设计和实现相关的业务对象的抽象方法,并详细描述业务对象的属性。根据面向业务管理的需要,在业务层和网络层之间设计一个统一的接口层,并阐述该接口的描述和实现。该接口层在基于主动网络技术的面向业务网络管理原型系统中得到应用,应用结果表明该接口层能够使业务层与网络层方便地交互,提高了网管系统的可扩展性。同时由于该接口层屏蔽上层业务的差异性,对下层提供的数据格式具有透明性,可作为其他面向业务网络管理系统的通用基础设施。