(计算机软件与理论专业论文)cdma电信管理网中agent研究及基于jdmk的实现.pdf_第1页
(计算机软件与理论专业论文)cdma电信管理网中agent研究及基于jdmk的实现.pdf_第2页
(计算机软件与理论专业论文)cdma电信管理网中agent研究及基于jdmk的实现.pdf_第3页
(计算机软件与理论专业论文)cdma电信管理网中agent研究及基于jdmk的实现.pdf_第4页
(计算机软件与理论专业论文)cdma电信管理网中agent研究及基于jdmk的实现.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机软件与理论专业论文)cdma电信管理网中agent研究及基于jdmk的实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 文章论述了c d m ai s 一9 5 电信管理网a g e n t 的分析与设计及基于j d m k 的实 现,包括信息建模、集群协作、事务处理和公共管理信息服务c m i s 。文章结合 j d m k m b e a n 的组件和容器技术,给出了一种信息建模方法,采用虚实管理对象、 主动对象和非递归遍历算法优化信息模型的数据存储与信息检索;为了提高a g e n t 的关键任务事务处理的性能和可靠性,文章融合代理和集群技术,提出a g e n t 的 三种集群关系:动态协作、负荷分担和容错控制;为保证信息模型操作的完整性 和一致性,研究了a g e n t 的嵌套事务和分布式事务两种事务处理模型,并针对其 特点分别设计了状态回溯和改进的两段锁提交算法;采用线程池和对象流动优化 c m i s 执行,并测试分析a g e n t 的运行性能。 关键词:电信管理网代理信息模型集秩嵌套事务 t a b s t r a c t a b s t r a c t t h i sp a p e rd i s c u s s e sa n a l y s i sa n dd e s i g no fa g e n ti nc d m ai s 一9 5t m na n di t s i m p l e m e n t a t i o n b a s e do nj d m k w h i c hi n c l u d e si n f o r m a t i o n m o d e l i n g c l u s t e r c o i l a b o r a t i o n ,t r a n s a c t i o np r o c e s s i n ga n dc o m m o nm a n a g e m e n ti n f o r m a t i o ns e r v i c e a n e wk i n do fi n f o r m a t i o nm o d e l i n gm e t h o di ss u p p o r t e dw i t hc o m p o n e n ta n dc o n t a i n e r t e c h n o l o g yo fj d m 刚m b e a n a n d i n f o r m a t i o nm o d e l sd a t as t o r a g ea n di t si n f o r m a t i o n s e a r c ha r eo p t i m i z e db yt h em e a n so fv i r t u a la n da c t u a lm a n a g e do b j e c t ,a c t i v eo b j e c t a n dn o n r e c u r s i v es e a r c ha r i t h m e t i c f o rt h ep r o m o t i o no f p e r f o r m a n c ea n dr e l i a b i l i t yo f k e yt a s k t r a n s a c t i o no fa g e n t ,t h ea r t i c l em e r g e st e c h n o l o g yo fa g e n ta n dc l u s t e r ,a n d d i s c u s s e st h r e ek i n d so fc l u s t e rr e l a t i o nb e t w e e na g e n t s :d y n a m i cc o l l a b o r a t i o n 1 0 a d s h a r e e r r o rc o n t r 0 1 b a s e do nj d m k t h e i rs o l u t i o ni sd i s c u s s e d i no r d e rt oe n s u r e i n t e g r a l i t ya n dc o n s i s t e n c yo fi n f o r m a t i o nm o d e l so p e r a t i o n n e s t e dt r a n s a c t i o na n d d i s t r i b u t e dt r a n s a c t i o ni n a g e n t i sr e s e a r c h e d 0 nt h eb a s i so fc h a r a c t e r i s t i c so f t r a n s a c t i o n ,t w ok i n d so fa r i t h m e t i ci sd e s i g n e d ,w h i c ha r er e v e r s es e a r c hf o rs t a t eo f c h i l dt r a n s a c t i o na n di m p r o v e d2 - p h a s e c o m m i t m e n tp r o t o c 0 1 t h ee x e c u t i o no fc m i s i s o p t i m i z e db yt h r e a dp o o la n do b j e c tf l o w , a n dp e r f o r m a n c eo fa g e n ti sa n a l y z e d t h r o u g h t e s t k e y w o r d s :t e l e c o m m u n i c a t i o nm a n a g e m e n t n e ti n f o r m a t i o nm o d e l a g e n t c l u s t e rn e s t e dt r a n s a c t i o n 第一章绪论 第一章绪论 1 1 引言 c d m ai s 9 5 【i 是新一代移动通信技术。2 0 0 1 年,在国内正式开始c d m a 电信网建设。为了保证电信网长期可靠的运行,方便日常的操作与维护,因此需 要同时架构电信管理网,提供各种管理功能,如配置管理、性能统计、故障管理 和信令跟踪等。现有的操作维护模块( o m m ) 存在许多的缺点,比如:组网单 一,同时只能管理一个网元i2 1 ;不能为省级或全国的网管中心提供标准的管理接 口:系统的跨平台可移植性很差;无法实现代码复用;难以适应实际建网过程中 的各种操作维护需求,以及不能满足未来电信网络( 如3 g 网络等) 发展提出的 管理需求等。 每一种新系统、新业务的投入都可能引入与其相关的监控与管理系统。在这 种情况下,为保证向用户提供优良的服务,建立高度自动化的电信网络管理系统 是十分必要的,同时提供跨区跨局多级多层次的网络管理服务。因此,对于c d m a i s 一9 5 网管系统,现阶段主要研究工作是如何架构操作维护中心( o m c ) ,形成 互联、分级的管理体系,能够对多个网元同时进行管理。并且能够方便的与省或 全国网管中心集成,形成全国电信管理网。 目前,全国管理网的建设遵循t m n 2 1 的技术规范,t m n 是i t u t 制定的 关于电信管理网的系列技术标准。其标准协议、接口定义和信息模型,使各o s ”1 系统具有良好的互通性。因此,c d m a 的o m c 应架构在t m n 的基础上,以 便全国管理网的建设。 t m n 从三个方面描述其体系结构:功能结构、信息结构和物理结构1 2 j f 4 】,这 三种体系结构是相互对应的。其信息体系结构应用o s i 系统管理的原则,引入 了管理者和代理( m a n a g e r a g e n t ) 州p u 的概念,强调在面向事务( t r a n s a c t i o n o r i e n t e d ) 处理的信息交换中采用面向对象( o b j e c t o r i e n t e d ) 的技术,主要包括 管理信息模型及管理信息交换两个方面。 图1 1 管理者与代理者 t m n a g e n t 一般与人工智能中研究的智能a g e n t 是有区别的。它是功能与服 务的提供者,是静态和被动的,对应t m n 功能结构的中介功能或q 适配功能。 c d m a 电信网管a g e n t 研究及基丁:j d m k 的实现 它能够直接管理网元,具有网元的所有知识和信息模型,可以直接或间接感知网 元变化,能够接收和处理m a n a g e r 的c m i s ( c o m m o nm a n a g e m e n ti n f o r m a t i o n s e r v i c e ) 1 5 1 请求,完成m a n a g e r 对网元的各种管理功能和管理业务。 t m n 强调的是标准性和互通性,标准的接口、标准的协议、标准的信息模 型,使各厂商的o m c 系统很容易集成,但同时也带来了目标太大太远、抽象化 要求太高、m i b 的标准化进程太缓慢、o s i 满栈协议的效率不高等问题。t m n 自身也有一个需要发展的问题,到目前为止,t m n 的建议并未涉及到如何实现 各种功能块( o s f 、m f 、o a f ) 【”,如何进行分布式处理,如何保证关键业务处 理的可靠性等。 t m na g e n t 不仅要处理本地m a n a g e r 的c m i s 请求,还要处理操作维护中 心、省或全国网管中心的c m i s 请求,并且还需实时检测网元的故障信息、自动 统计网元性能数据等。一旦a g e n t 出现问题,整个系统就会陷入瘫痪,因此t m n 系统的性能和可靠性关键在a g e n t 的设计和架构上。目前,提高系统性能和可靠 性的技术是集群技术,如果将代理技术和集群技术相融合,可实现多级、动态的 c l u s t e ra g e n t ,以解决c d m a 网管灵活、可靠的组网需求。 1 - 2t m n a g e n t 和集群技术研究现状 对于t m na g e n t ,i t u t 研究主要集中在管理信息库( m i b ) 、事件前转鉴别 器( e f d ) 、标准接口和交互协 义等,强调的是标准性和互通性。 ( 1 ) m i b :是对网元知识的抽象描述,是a g e n t 与网元的功能实体之间交 换信息的标准和知识规则,因此a g e n t 与具体的网元是独立,只要给a g e n t 装入不同的m i b ,a g e n t 就可以管理不同类型的网元,比如:m s c 、h l r 、 b s c t 3 l 等。 ( 2 ) e f d :将a g e n t 检测到的故障信息、统计到的性能数据或与m i b 相关 的其它事件前转到m a n a g e r 或别的a g e n t 。 ( 3 ) 标准接口:是m a n a g e r 操纵a g e n t 管理信息库m i b 的c m i s 原语,有 七种:m _ g e t 、m _ s e t 、m _ c r e a t e 、m _ d e l e t e 、r e _ i n v o k e 、m _ e v e n t r e p o r t 和m _ c a n c e l _ g e t 。 ( 4 )交互协议:m a n a g e r 与a g e n t 的交互协议是公共管理信息协议c m i p , 保证异构环境下m a n a g e r 与a g e n t 的互通。 对于t m n a g e n t 的具体实现,如c m i s 请求的执行、m i b 的建模和a g e n t 之间的协作等,目前i t u t 研究还未涉及,不同的t m n 开发系统有不同的设计 和实现,现有的t m n 开发系统主要是基于c 或c + + 实现的,如d s e t 、v e r t e l 等,而对基于j a v a 实现的研究比较少。 集群1 6 i i t o 是一种并行的或分布式的处理系统,由很多连接在一起的独立的计 算机组成,像一个单独集成的计算资源一样协同工作。计算机节点可以是一个单 第一章绪论 处理器或多处理器的系统( p c 、工作站或s m p ,拥有内存、i o 设备和操作系统。 一个集群系统一般是指连接在一起的两个或多个计算机( 节点) ) 。节点可以是 在一起的,也可以是物理上分散而通过l a n 连结在一起的。一个通过l a n 连接 在一起的计算机集群对于用户和应用程序来说像一个单一的系统,并且提供快速、 可靠的服务,这在以往只能通过更昂贵的、专用的共享内存系统来达到,典型的 集群系统结构如图1 2 所示。 图1 2 集群计算机体系结构 集群的研究主要集中在两个方面:高性能( h p ) 和高可用性( h a ) 。h p 是属 于任务分担型集群,每个处理任务,能够根据当前任务负荷的状态,进行任务的 分割和调度,在不同的节点并行处理各子任务,从而提高系统整体的性能。高可 用性集群是属于容错型集群,能够为关键服务提供长期稳定的服务。集群系统主 要是对现有操作系统的延伸,比如:微软的m s c s 和i b m 的r s 6 0 0 0s p 等,对 应用级的集群研究不多,主要集中在w e b 服务器的负载均衡上。因此,a g e n t 与 集群技术的融合是一个新的研究点,可提高代理的关键性任务事务计算的可靠性 与性能。 1 3 论文工作 基于t m n 的c d m ai s 一9 5 和c d m a2 0 0 0l x 电信管理网o m c 系统的研究内 容很多,如m a n a g e r 、a g e n t 、c m i s 、c m i p 、e f d 、g d m o 、m i b 等【2 l 。本文作 者负责a g e n t 的研究和开发,以保证o m c 系统的可靠长期的运行。作者论证与 设计了a g e n t 两阶段开发工作的目标、内容及其实现方案。在第一阶段( 2 0 0 0 年 1 1 月至2 0 0 1 年9 月) ,开发a g e n t 的基本功能,主要完成下面的工作: ( 1 ) 研究基于j d m k 的信息模型建模方法 ( 2 ) a g e n t 体系结构和分布式协作设计,即c l u s t e r a g e n t 级联结构。 ( 3 ) 基于j d m k 开发a g e n t 的c m i s 功能执行体,如线程池等 第二阶段( 2 0 0 1 年1 0 月) ,开发a g e n t 的高级功能,正在进行下面的预研和 设计工作: ( 1 ) a g e n t 事务处理 ( 2 、a g e n t 负载均衡和容错控制 c d m a 电信网管a g e n t 研究及基于j d m k 的实现 1 4 论文结构 本文论述了c d m ai s 9 5t m n a g e n t 的分析与设计,其内容主要包括三个方 面:信息建模、协作关系和事务处理。全文主要内容分为五章。第二章基于j d m k 给出t m n a g e n t 信息建模方法和模型优化算法;第三章融合t m na g e n t 和集群 技术,提出和阐述了c l u s t e ra g e n t 的概念、特点和体系结构,并就其中涉及的分 布式协作、均衡负载和容错控制等技术进行研究;第四章研究了a g e n t 的嵌套事 务和分布式事务两种事务处理模型,并针对其特点分别设计状态回溯和改进的两 段锁提交算法。第五章叙述了a g e n t 可扩展的容器结构,为将来基于i p 交换和电 路交换的网元混合组网的管理提供一种解决方案。 第二章a g e n t 信息建模 第二章a g e n t 信息建模 2 1m i b 含义与作用 m i b ( m a n a g e m e n t i n f o r m a t i o nb a s e ) 是c d m a 具体网元的抽象和描述。是 a g e n t 的知识表示,也是网元信息的镜像。电信网元的任何变化,都会映射到信 息模型,对信息模型的任何c m i s 操作,也会作用到相应的网元。m i b 与a g e n t 关系就如知识与人脑的关系一样,当a g e n t 装入不同的m i b 就可以管理不同的网 元。m i b 建模的好坏和运行性能,直接关系到a g e n t 的处理能力。因此,应针对 不同通信网的特点,建立优化的信息模型m i b 。并且a g e n t 动态协作、事务处理 和集群计算等都与m i b 密切相关,因此本章主要叙述如何针对c d m a 特点建立 优化的信息模型,并基于j d m k 给出一种新的实现算法。 2 2m a n a g e d0 b j e e t 信息模型的最小粒度是m o ( m a n a g e do b j e c t ) ,m o 具有网元的知识和相 应的规则,是网元相应部分的抽象和映射,为m a n a g e r 提供逻辑的操作视图,具 有一定的自治能力和感知能力。对于c d m a 移动通信设备,可对其物理和逻辑组 织进行切分和抽象形成相应的m 0 。每个m o 表示个相对独立的可管单元,同 类的m o 可以归类抽象成m o c ( m a n a g e do b j e c tc l a s s ) 。m o 相互作用构成一 个逻辑整体,完整的描述出网元的全部信息,根据其包容关系,形成m i t ( m a n a g e m e n ti n f o r m a t i o n g e e ) ,如图2 1 所示。m o 的动态增删,可以适应网元 内部组件的动态调整。 图2 1m o 与网元 网元: 包容关系描述的是管理对象实例之间的一种非对称关系,一个管理对象实例 可以包容相同或不同的管理对象实例。包容关系用来实现对管理对象实例的命名, 实际上可以看作是现实世界的继承关系,如:文件、记录、记录项,一个管理对 象实例只能包容于一个管理对象实例中。每一个管理对象类都有一个关键属性用 于实例的命名,称为r d n ( r e l a t i v ed i s t i n g u i s h e dn a m e ) ,它能够在所有兄弟对 象实例中唯一标识自己。在管理信息树中,从根到某对象实例的r d n 序列称为 d n ( d i s t i n g u i s h e d n a m e ) ,用来在管理域中唯一标识自己。管理对象实例的命名由 c d m ar g 言n 管a g e n t 研究及基于j d m k 的实现 命名绑定( n a m i n g b i n d i n g ) 确定,按照命名绑定对实例进行命名也就确定了它们之 间的包容关系。 管理对象类( m o c ) 运用面向对象技术,将各种不同的可管理资源( 比如:单 板、信令、链路、路由、事件、日志甚至o m c 系统本身等) 中的管理系统所关心 的特征转换为抽象的、统一的、与具体资源独立的管理信息。 m o 是一种软件抽象,是m o c 的实例,般分为数据部分和功能部分。它 是a g e n t 的信息细胞和感知触角,并采用封装技术,对外而言,只有边界是可见 的,而其执行部分是隐藏的。外界必须通过管理边界采用m o 提供的服务才能获 得此m o 的信息。 图2 2 m o 的概念描述 如图2 2 所示,m o 被描绘成一个不透明的球体,包围了真正的资源。m o 对 m a n a g e r 或别的a g e n t 是可见的,而由m o 表示的资源的内部功能对外界是不可 见的,对资源的操作只能通过m o 传递信息,其信息主要有m o 的属性信息、状 态信息、告警事件、性能数据等。可以通过m o 的服务对m o 进行操作,这些操 作分为两类,一类是面向其信息的,如:g e t 、s e t 、a d d 、r e m o v e 等操作,g e t 与 s e t 是获取与设置m o 的属性值,a d d 与r e m o v e 是增加与减少m o 的属性;另一 类是面向m o 本身的,如:c r e a t e 、d e l e t e 操作,如果网元的组成部分增加了,如 单板的增加、链路的分配、号码分析、性能统计任务的定义等,都可以用c r e a t e 创建一个m o 进行描述,相反可以用d e l e t e 减少一个m o 。 2 3j d m k ,m b e a n j d m k ( j a v ad y n a m i cm a n a g e m e n t k i t1 是基于j m x ( j a v a m a n a g e m e n t e x t e n t i o n ) 规范的纯j a v a 开发包,并且使用了j a v a b e a n 技术。因此我们将j d m k 作为信息建模和a g e n t 架构的支撑平台。下面对j d m k 作一简要叙述,详细内容 可参考s u n 公司的j d m k 规范j a v a t mm a n a g e m e n te x t e n s i o n s :i n s t r u m e n t a t i o na n d a g e n ts p e c i f i c a t i o n ,v 1 0 。 j d m k 主要是利用了j a v a 技术体制中的组件( b e a n ) 和容器( c o n t a i n e 0 技术, 实现一种轻量级、分布式、m a n a g e f f a g e n t 架构、可灵活伸缩扩充的集成管理解 决方案。其管理对象可以是具体设备,也可以是应用程序。其管理范围可以从简 第二章a g c m 信息建模 单的打印设备到电信级的各种系统。j d m k 具有动态灵活的体系构架,如图2 1 3 所示,分为三层:m a n a g e rl e v e l 、a g e n tl e v e l 和i n s t r u m e n t a t i o n l e v e l 。 m 扑a g e rl c v c l o 广1n 广1 m b c a “s 。“。 a g e n tl e v e l 可冈鬻 i n s t r u m c n 诅t i o n r e s o u k e l 、 1 l e v e l 图2 3j d m k 体系结构 i n s t r u m e n t a t i o nl e v e l 是设备层,对可管资源的信息进行封装和抽象,对a g e n t 或m a n a g e r 暴露网元可管理的信息。其中核心元素和技术是m b e a n 。m b e a n 是 m a n a g e d b e a n 的简称,是从j a v a b e a n 的思想演化而来,具有封装、重用和继承等 特点,可以实现真正的对象分布和确保严格的类型安全和信息保护。m b e a n 可以 是软件、硬件、服务甚至用户等一切可管资源信息的抽象,封装后对外提供一种 统一的操作接口:属性( a t t r i b u t e ) 、操作( a c t i o n ) 和通知( n o t i f i c a t i o n ) ,用 g e t t e r s e t t e r 来进行每个属性的读写控制,提供推拉两种模式的通知机制。 a g e n tl e v e l 是代理层,主要由m b e a n s e r v e r 、服务m b e a n 和协议适配器或连 接器等组成。其中m b e a n s e r v e r 是整个系统的中枢,集中控制着各种m b e a n ,每 个m b e a n 都必须向m b e a n s e r v e r 注册,并且提供唯一的标识:对象名 ( o b j e c t n a m e ) m b e a n s e r v e r 对外( m a n a g e r 或其他的a g e n t ) 提供统一的接口来 操纵所有向它注册或将要注册的m b e a n ,比如:注册m b e a n 、注销m b e a n 、读 写属性、收发通知等。 2 4 建模方法 m b e a n 与m o 描述的都是一个被管对象,但他们之间并不完全等同。通过分 析研究,作者给出基于j d m k 的三种建模:采用细粒度、粗粒度和两者相结合。 这三种方法有各自的优缺点,在实现时可以根据设备的情况和功能需求选择其中 的一种,下面进一步论述三种建模方法。 ( 1 ) 细粒度:一个m b e a n 对象对应一个管理对象。将每一个抽象形成的m o c 映射为m b e a n ,m b e a n 具有m o c 的所有的基本信息:属性、操作和通 知的描述。每增加一个管理对象就实例化一个m b e a n 。 ( 2 ) 粗粒度:一个m b e a n 对应所有的管理对象,也就是实现管理信息树m i t 的所有功能,表征整个网元的信息。m b e a r t 包括每个m o 的属性、操作 和通知。 c d m a 电信网管a g e n t 研究及基于j d m k 的实现 ( 3 ) 综合方法:是两种方法的折衷,用一个m b e a n 对象对应一个特定管理对 象类m o c 的所有管理对象。 在细粒度方法中,资源m b e a n 与m o 成一对应关系,实现完全的面向对 象和真正的对象分布,可以确保严格的类型安全,但是m b e a n 对象比较多;在粗 粒度中,可以实现较高的性能,但不是面向对象的方法,不能实现对象的分布, m b e a n 实际上成为结构化系统中的个功能a g e n t ,难以实现代码的重用和功能 的扩充,而且本身也失去了j d m k 动态、灵活的扩展性;在综合方法中,不能实 现对象的完全分布,但有较少的m b e a n 对象,因此不会对性能产生太大的影响。 2 5 实现算法 目前其它厂家主要采用c 或c + + 的传统的数据结构或者c + + 的c l a s s 来实现 信息模型,也有用b e r t 3 3 l ( b a s i ee n c o d er u l e ) + 码流实现。用c 或c + 十实现具有效 率高、运行稳定等优点,但实现比较繁琐,如果采用第三方的封装代码,扩充不 灵活而且很难移植;用b e r 码流表示,在系统启动时,由于需对信息进行复杂的 编解码,整个信息模型装入系统比较耗时,作者给出基于j d m k 的实现。 信息模型的实现主要包括两个方面:包容关系和信息描述。管理对象m o 以 包容关系形成m i t ,在j d m k 中没有直接提供包容关系。根据j d m k 的特点, 提出如下三种实现方法: ( 1 ) 使用对象标识 m o 是以d n 作为标识的。d n 是由r d n ( r e l m i v e d i s t i n g u i s h e dn a m e ) 的序 列组成,每个r d n 是由属性名和值组成。子m o 的d n 是其父m o 的d n 加上 该m o 的r d n 组成,因此d n 本身就体现了m o 的包容关系。在j d m k 中,标 识m b e a n 的是o b j e c t n a m e ,其组成模式是:【d o m a i n n a m e :p r o p e r t y = v a l u e 【, p r o p e r t y = v a l u e + 。将p r o p e r t y - - v a l u e 与r d n 一一对应起来,就可用o b j e c t n a m e 表示d n ,也就能实现m o 的包容关系。 d n 在不同的系统中,有不同的实现方式,比如:数组、链表等。通过分析 m i t ,发现一般情况下,同一个m o c 的实例不可能形成直接或间接的父子关系。 因此,为了提高检索的速度,以及方便与o b j e c t n a m e 的映射,可将d n 设计成一 个哈希表。哈希表的直接实现很复杂,可通过继承j a v a 的h a s h t a b l e ,得到哈希表 的基本操作功能。用哈希表的k e y 表示命名绑定属性名,用v a l u e 表示命名绑定 属性值。根据o b j e c t n a m e 的定义,o b j e c t n a m e 有如下的映射关系;o b j e c t n a m e = d o m a i n n a m e :d n 。 ( 2 ) 用j d m k 提供的关系服务 将每个子m b e a n 作为父m b e a n 的角色( r o l e ) 加入父m b e a n ,这样就可以形 a s n l 的编码方式 第二章a g e n t 信息建模 图2 4 关系服务实现包容关系 成m b e a n 的包容关系。r e l a t i o n 表示的是包含与被包含的关系,可以包含任意多 个角色( r o l e ) 。每个角色的信息( r o l e l n f o ) 需在对应的r e l a t i o n t y p e 中定义。使用 r e l a t i o n 组成包含关系,至少有两种方式: ( a )仅仅使用j d m k 中定义的r e l a t i o n ,是一种最直接、最简单的使用方 式。r e l a t i o n 只是作为关联父子m o 的辅助结构,父子m o 全部作为 r e l a t i o n 的角色。 ( b ) r e l a t i o n 本身表示包含对象( c o n t a i n i n go b j e c t ) ,而角色表示被包含对象 ( c o n t a i n e do b j e c t ) ,这时需编写自己的关系类,比如:m s c f u n c t i o n , 通过继承r e l a t i o n 得到关系服务的基本功能,这是比较灵活的使用方 式。r e l a t i o n 本身就是m o ,并且对于下级m o ,它就是r e l a t i o n ;而对 于上级m o ,它就是角色。 ( 3 ) 构建m ! t 的拓扑结构 利用传统的数据结构b + 树或平衡二叉树等构建m i t 的拓扑结构,其中的每 个节点n o d e n 只有少量的信息,比如:m o 的状态或索引标识d n n 。然后将每个 m b e a n n 的对象名o b j e c t n a m e n 与d n n 关联起来,就可以间接的实现m o 的包容关 系。 为了提高索引速度,根据d n 的特点,本文综合( 1 ) 和( 3 ) 两种方法,采 用一维的哈希表( h a s h t a b l e ) 和向量( v e c t o r ) 构建m i t ,并且采用非递归算法 遍历。其算法如下: 将所有节点的d n “作为哈希表的k e y ,每一个节点的所有子节点的d n 构成 向量v e c t o r “,v e c t o r 作为d n “在哈希表中所对应的值v a l u e 。则键和值有这样的 对应关系:( k e y ,v a l u e ) = ( d n “,v e c t o r ) ,如图2 5 所示。该结构使用了冗余的存 储空间,不过具有快速操作和检索的能力。 1 0 c d m a 电信网管a g e n t 研究及基于j d m k 的实现 h a s h t a b l e d n n j 一”r 、t - - o n 1 一卜d n j llj,1 - - - - i 7 一i i,li 时i d n j j= l l 南 li v e c t o r “ 图2 5m i t 存储结构 对m i t 的操作主要有三种:增加节点、删除节点和获取子节点。当增加一个 节点时,比如:d n j ,假设其父m o 的标识为d n “可以将d n j 裂变为两个部分: d n n , r d 州) ,在哈希表中添加表项( d n j ,v e c t o ? ) ,其中v e c t o r ) 为空,通过d n “ 快速检索到v e c t o r ,将d n 】加入其中。对于删除,执行相反的操作。 对于获取子节点主要是指c m i s 的s c o p e 操作。s c o p e 有四种类型,详细 介绍可参看3 2 2 节。在上述的实现结构中,再引入一个向量v e c t o rs c o p e 作为 辅助结构存放中间结果,可以方便的实现广度优先的非递归的遍历。比如:获取 d n “的所有子节点,先获取v e c t o r o 作为v e c t o rs c o p e 的初始值,然后扩展节点 d n 。,得到子m o 集合v e c t o r l ,在末端将其加入v e c t o rs c o p e ,如果v e c t o r 为空 则不执行操作;如此重复扩展,直至v e c t o rs c o p e 的最后一个元素。详细算法参 看附录a 。 对于信息描述,根据不同的建模粒度原则采用相应的算法。在j d m k 中,有 四类m b e a n :s t a n d a r d m b e a n ,d y n a m i c m b e a n ,o p e n m b e a n s 和m o d e l m b e a n s 。 t m n 信息建模只需用到前两种。s t a n d a r d m b e a n 由两部分组成:i n t e r f a c e 和c l a s s , 具有与j a v a b e a n s t m 组件相同的模式结构。根据需求,在i n t e r f a c e 中定义所有需要 对外暴露的接口:m b e a n 的属性和操作。如果属性是只读的,在i n t e r f a c e 只定义 g e r e r 方法;如果是可写的还需定义s e r e r 方法。如果有与m o 相关的操作,也需 在i n t e r f a c e 中申明,并且在c l a s s 中实现。如果m o 有通知上报,则m b e a n 还需 实现接口n o t i f i c a t i o n b r o a d c a s t e r 。在建模时,选用s t a n d a r d m b e a n 实现比较方便 简单,易于维护。d y n a m i c m b e a n :也是由两部分组成:i n t e r f a c e 和c l a s s ,但所 有的m b e a n 都实现统一的接口d y n a m i c m b e a n 。d y n a m i c m b e a n 与s t a n d a r d m b e a n 相比具有更高的速率和更灵活的实现方式。 如果管理对象不是很多,在1 0 万个以下,就可以利用细粒度建模。采用细粒 度建模,可以架构伸缩性极好的信息模型,因此,一般应该采用细粒度建模方法。 下面从模型关系和信息抽象进一步叙述细粒度建模方法和实现原理。 l o 之间的关 系分为直接或间接关系、对称或非对称关系两大类: 第二章a g e n t 信息建模 ( 1 ) 直接或间接关系:若管理对象a 的操作直接改变b ,造成b 的部分信息 的改变,则a 与b 存在直接关系;若b 的信息改变又影响到c 则a 与 c 存在间接关系:间接关系是两个或两个以上直接关系级联传递而推出的 关系。 ( 2 1 对称或非对称关系:当管理对象a 的信息改变影响b ,而b 的类似信息 改变同样影响a 时,它们之间的关系是对称的,否则为非对称。 此外,t m n 还规定了m o 之间的几种专门关系; ( 1 )服务关系:非对称,一个m 0 是另一个m 0 的服务提供者: ( 2 )对等关系:对称,能用相同通信规则进行通信的一对相似的m o ; ( 3 )首选次选:非对称,一对m o 中前者是首选,后者是次选i ( 4 )主备关系:非对称,一个m o 是另一个m o 的备份: ( 5 )组关系:非对称,个m o 是另一个m o 标识的一组m o 中的个; 建模时,m b e a n s e r v e r 作为信息模型的枢纽,为每个m b e a n 提供操纵其它 m b e a n 的入口。因此,m b e a n 之间通过m b e a n s e r v e r 进行关联,其模型如图2 6 所示。 m b e a n s e r v e r 图2 6 m b e a n 实现m o 的关联关系 因为m b e a n 具有封装性、独立性和对等性,可以灵活的组合和交互,从而实现 t m n 管理对象的各种交互关系。 信息抽象包括对象基本信息( 属性、操作和通知) 和m o c 的继承关系的描 述和实现。m b e a n 本身是由类( c l a s s ) 和接口( i n t e r f a c e ) 组成,完全符合面向对象 的思想,可以方便的封装基本信息和实现继承,其继承又包括接口继承和类继承。 对于粗粒度建模,如果管理资源的操纵信息比较少或者本身适于集中控制, 就可用粗粒度建模。此时,m b e a n 接收所有的操作请求,内部需进行相关的并发 控制,采用其他的辅助结构实现包容关系。 对于综合方法,具有粗细粒度两种建模方法的特点,每个m b e a n 对应一类管 理对象。在m b e a n 内部,进行与粗粒度相同的功能控制。在m b e a n 之间,又具 有细粒度的关联关系控制算法。 c d m a 电信网管a g e n t 研究及基于j d m k 的实现 2 6 1 信息存储 2 6 模型优化 m o 实例的信息存储对外界表现为m i t 树,但是实例的属性信息的具体存储 有三种方式。由于每种m o 的存储方式都有各自的特点,针对业务处理的实际情 况和开发需求灵活采取不同的m o 的存在形式。尽可能的做到性能与资源相权衡, 并能满足系统的运行需求。 ( 1 ) 内存和d b 共存 这是一般m o 的存储方式,也就是所谓的实m o ,它的数据在内存和数据库 中各有一份。当需获取数据时,直接从内存获取,可保证系统运行的速度;当改 变属性值时,才将变化的数据存入数据库中。在设置属性值时,需有措施保证内 存与数据库中的数据的一致性,比如事务处理。 ( 2 ) 只在d b 中存储( 虚m o ) 针对目前系统的需求,m o 的数量可能巨大,粗略计算可达数万个。因此所 有的m o 组织成m i t ,且都在内存中存放,系统将不堪负荷。为减小系统负荷, 本文提出虚m o 的概念。此类m o 在内存中没有实例,实例存储在数据库中。虚 m o 的效率与实m o 相比,主要是在获取数据的速度上稍慢一些。如果对数据库 的存取速度能满足系统的需求,就可以采取虚m o 的存储方式,例如性能管理和 故障管理的历史数据。 虚m o 的实现方式有多种形式。针对系统目前信息模型的管理需求,比如不 实现复杂的s c o p e ,f i l t e r i n g 等操作,可以采取更简单灵活的实现方式。当对虚 m o 操作时,可以直接映射到对数据库的操作,而不必再重新构造虚m o 的实例。 m o 的一个实例,对应数据库的一条记录。因此对m o 的并发操作,可以利用数 据库的事务处理和加锁解锁机制。虚m o 实现原理是,用一个m b e a n 代表m o c 的所有实例,该m b e a n 封装对数据库的所有操作,提供与实m o 的相同调用接 口。对该m b e a n 的操作不用加锁,可以并发调用它的接口函数,比如可以同时调 用它的s e t 函数。也就是可以在不同的线程空间,对数据库的同一表单进行操作, 用数据库保证并发操作的正确性。 第二章a g e n t 信息建模 ( 3 ) 在网元中存储 实时动态数据,反映的是系统当前的运行信息,对数据的获取、设置均直接 与网元进行交互。一般可以用如下方式,实现数据的实时性:前台任何属性变化, 均迅速上报至a g e n t ,将数据同步到信息模型中:同样对信息模型的修改,也需 及时同步到前台。 2 6 2 实现机制 由于m o 的数量和大小不同,为了优化性能本文给出两种m o 的实现机制: 触发器方式与主动对象方式。触发器实质是一些回调函数,是为了数据和操作的 集中处理,比如:m o 数据的存取、m o 与网元通信等。主动对象是指在m o 内 部嵌入一个线程,能够频繁的与外界通信,完成一些复杂的任务,比如表示测量 任务的m o 。 ( 1 ) 触发器方式 当对该m o 执行g e t 、s e t 、c r e a t e 、d e l e t e 、e v e n t r e p o r t 时,由a g e n t 调用相 应的触发器。如果m o 在操作期间需要更新数据库、向网元同步,则可以调用相 应接口。对于用触发器实现的m o ,统一定义触发器接口t o p ,其中包括所有 m o 操作的回调函数 ( 2 ) 主动对象方式 一些m o ,由于需要频繁地与外界交互或者需要自动定时发起操作,比如测 量任务。或者实质上并不是与n e 对应的的一般的m o ,而是为了利用c m i s 完 成一定功能,比如向网元传输配置文件。这些m o 如果实现为触发器方式,则运 行效率不高或无法实现。 采用这种方式实现时,所有的管理操作都由a g e n t 直接转给该m o ,如s e t 、 g e t 、d e l e t e 、e v e n t r e p o r t 等操作。在响应某个操作时,可能会有新的请求到来。因 此,m o 如果只有一个执行体,这就要求通讯支撑或者m o 自身提供消息缓冲的 机制。如果m o 有多个执行体,应在通信支撑的配合下,完成并发操作。m o 的 c d m a 电信网管a g e n t 研究及基于j d m k 的实现 实现方式记录在信息模型中,其中登记了m o 是触发器方式还是主动对象方式 如果是主动对象方式,还应包括功能实体的寻址方式。 第

温馨提示

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

评论

0/150

提交评论