(信号与信息处理专业论文)netconf协议中子树过滤机制的研究与改进.pdf_第1页
(信号与信息处理专业论文)netconf协议中子树过滤机制的研究与改进.pdf_第2页
(信号与信息处理专业论文)netconf协议中子树过滤机制的研究与改进.pdf_第3页
(信号与信息处理专业论文)netconf协议中子树过滤机制的研究与改进.pdf_第4页
(信号与信息处理专业论文)netconf协议中子树过滤机制的研究与改进.pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

(信号与信息处理专业论文)netconf协议中子树过滤机制的研究与改进.pdf.pdf 免费下载

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

文档简介

产j 独创性( 或创新 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文 中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学 或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究 所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:茎鱼垄丝 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定, 即:研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校 有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被 查阅和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、 缩印或其它复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此 规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密 论文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 物乏廷 导师签名: i 叁蕴i 导师签名: 5 叁蕴; 1 i i 日期: 日期: i v 一 产 n e t c o n f 协议中子树过滤机制的研究与改进 摘要 随着网络的不断发展,网络的复杂性和异构性的不断增强,使 得网络管理变得十分复杂,对网络管理提出了更高的要求。传统的 网络管理协议s n m p 在网络配置、传输效率和安全性等方面的问题 日益突出。在这样的背景下,n e t c o n f 协议应运而生。 n e t c o n f 协议是基于x m l 的协议,它定义的消息报文和管 理数据全部采用x m l 语言描述,将x m l 的优势应用于网络管理中, 在配置管理方面提供了强大的功能。因此,n e t c o n f 协议引起了 广泛的关注和研究,代表了下一代网络管理的发展方向。n e t c o n f 协议中定义了一个很重要的机制子树过滤机制,用于获取数据模型 的信息。 本文着重分析了n e t c o n f 协议中子树过滤机制的原理和功 能,指出了子树过滤机制在功能方面的不足,并在此基础上提出了 新的过滤方式扩展子树过滤。扩展子树过滤扩展了n e t c o n f 协议 中子树过滤的功能,提高了子树过滤机制的灵活性和功能性。 关键词:网络管理,n e t c o n f 协议,子树过滤,扩展子树过滤 v v i r - t h er e s e a r c ha n di m p r o v m e n to ft h e s u b t r e ef 1 1 月e r i n gi nn e t c o n f a b s t r a c t a st h en e t w o r ke n o r m o u s l ye v o l v e d ,t h es c a l ea n dc o m p l e x i t yo f n e t w o r k sh a si n c r e a s e dg r e a t l y t h ec u r r e n tn e t w o r km a n a g e m e n t b e c o m e sm o r ea n dm o r ec o m p l e x ,w h i c hr e s u l t si nm o r er e q u i r e m e n t s f o rt h en e t w o r km a n a g e m e n t t h et r a d i t i o n a ls n m ph a sm o r ep r o b l e m s i nn e t w o r kc o n f i g u r a t i o n ,t r a n s p o r te f f i c i e n c ya n ds e c u r i t y ,w h i c hl e a d s t ot h eb i r t ho fn e t c o n f n e t c o n fi sax m l b a s e dn e t w o r km a n a g e m e n tp r o t o c 0 1 t h e m e s s a g ea n dm a n a g e m e n td a t ad e f i n e di nn e t c o n f a r ea 1 1d e s c r i p t e d w i t hx m l n e t c o n fa p p l i e st h ea d v a n t a g eo fx m lt on e t w o r k m a n a g e m e n t ,w h i c hp r o v i d e sp o w e r f u lf u n c t i o n sf o rt h ec o n f i g u r a t i o n m a n a g e m e n t s o ,t h en e t c o n f sb e e np a i dm a n ya t t e n t i o n s a n d r e s e a r c h e dw i d e l y n e t c o n fr e p r e s e n t st h ed e v e l o p m e n td i r e c t i o no f n e x tg e n e r a t i o nn e t w o r km a n a g e m e n t n e t c o n fd e f i n e sa ni m p o r t a n t m e c h a n i s ms u b t r e ef i l t e r i n g w h i c hi su s e dt og e tt h ei n f o r m a t i o no ft h e m a n a g e m e n t d a t a t h i sp a p e rm a i n l ya n a l y s e st h ep r i n c i p l ea n df u n c t i o no ft h e s u b t r e ef i l t e r i n gi nn e t c o n f ,a n dp o i n t st ot h es h o r t a g eo ft h es u b t r e e f i l t e r i n gi nf u n c t i o n b a s e do nt h i s ,w ep r o p o s ean e wf i l t e r i n gm e t h o d , e x t e n d e ds u b t r e e f i l t e r i n g e x t e n d e ds u b t r e ef i l t e r i n g e x t e n d st h e f u n c t i o no ft h es u b t r e ef i l t e r i n ga n di m p r o v e st h ef l e x i b i l i t ya n d f u n c t i o n a l i t vo ft h es u b t r e ef i l t e r i n g k e yw o r d s :n e t w o r km a n a g e m e n t ,n e t c o n f ,s u b t r e ef i l t e r i n g , e x t e n d e ds u b t r e ef i l t e r i n g v v 1 1 1 、 第 第 第 2 9 3 0 3 1 3l 王魁3 4 j q f j j i 4 4 4 3 j 模嗍,坦互冒f 纠 彳3 2 莉宇j 矿蜀字螽手与z 学名蕃易 i e 何彳6 4 3 3 查翰务绎纫纪与组合钳 4 3 4 命名空润查询5 5 4 3 5 亏待弱世馏? 蒯5 6 4 3 6 移篇个兹鳓j 7 4 3 7 范目务绎粥 4 3 8 子捌獬得- 与兮孝5 9 4 4 本章小结6 l 第五章子树过滤和扩展子树过滤的比较分析 6 2 5 1 子树过滤和扩展子树过滤的功能比较6 2 s 1 1 绝对路径和相对路径6 2 5 j 2 镆糍膣况6 2 5 3 彦辑关莠卯 5 1 4 命名空闯的查询6 2 5 1 j 厉行笳凹接缈卯 5 1 6 艿有裁量纺劳卯 5 1 7 范围祭斧甜 5 1 8 簿序和合并功能6 3 5 1 9 劝彪彪j 色基豸争6 3 5 2 子树过滤和扩展子树过滤的性能比较“ 5 2 1 别掰琢鳍甜 j 2 2 剧斌方:法6 4 5 2 3 荬驻房裁掰攮型钐趋学酊 5 2 4 数据模型分支数变化6 5 x 5 2 5 数据模型深整变亿 5 2 6 实验总结 5 3 本章小结 第六章总结。 6 1 全文总结。 6 2 展望。 参考文献 致谢 硕士期间发表论文 x i x n 北京邮i l 三人学硕l :r o f 究生学位论文 1 1 研究背景 1 9 8 8 年,i e t f 组织提出s n m p 协议,随后的将近二十年时间罩,s n m p 协议得到了广泛地应用,s n m p 的版本也从v l 一直发展到v 3 i 】。s n m p 从 提出到被厂商广泛采用,并发展成为网络管理的工业标准,最主要的一个原因 就是因为它的简单性和灵活性 2 】。但是s n m p 也存在很多缺点【3 】【4 】:s m i ( s i m p l em a n a g e m e n ti n f o i t m a t i o n ) 的数据表示能力有限:原子操作 难于支持复杂的配置管理操作;数据传输效率低下等等。这些缺点严重制约了 s n m p 协议的应用。此外,随着现代网络变得越来越复杂,管理数据类型变得 越来越多样化,s n m p 协议已经越来越无法满足管理需要 5 】,于是一种新的网 络管理协议应运而生,这就是n e t c o n f 协议【6 】。n e t c o n f 的i e t fr f c 的 标准化工作刚于2 0 0 6 年1 2 月完成,它是一种分层管理的配置协议,在数据表 达上采用的是x m l 7 格式。 作为新一代网络管理协议,n e t c o n f 协议定义了一种简单的网络配置管 理机制,它可以管理网络设备,提取配置数据,上载及操作新的配置数据。 n e t c o n f 允许设备显现一个完整和形式化的a p i 接口,以使应用程序能够利 用这个接口发送和接收配置数据。n e t c o n f 采用远程过程调用r p c 的模式工 作。客户机( c l i e n t ) 用x m l 编写r p c 请求( r e q u e s t ) ,并通过安全的面向连接的 会话( s e s s i o n ) 将其发送到服务器( s e r v e r ) 。服务器用x m l 编写的应答( r e s p o n s e ) 进行回复。在网络管理中,客户机对应网络管理者,服务器对应被管设备。 n e t c o n f 是面向连接的,要求对等实体之间保持持续的连接,需要认证、数 据完整性、隐私性等安全机制。 n e t c o n f 协议中定义了一个很重要的机制子树过滤。子树过滤机制 是为从n e t c o n f 树形m i b 中较为灵活的获取各种管理配置和状态信息所专 门提出的机制,是管理者用于方便获取服务器端底层数据模型信息的重要手 段。但是,子树过滤机制基于简单的内容精确匹配的过滤机制,提供了有限的 查询和过滤功能,因此在功能方面还存在许多不足。 1 2 国内外研究现状 i e t f 在2 0 0 3 年5 月成立了n e t c o n f 工作组,致力于n e t c o n f 协议标 准化的工作。经过十多个版本的更改,于2 0 0 6 年1 2 月正式发布了r f c 4 7 4 1 。 北京邮电人学硕l 研究生学位论文 第一章绪论 同时也发布了r f c 4 7 4 2 r f c 4 7 4 4 1 6 1 7 1 8 ,对三种不同的n e t c o n f 传输 方式进行规定。此后,n e t c o n f 协议不断得到完善,相继又发布了r f c 5 2 7 7 和r f c 5 5 3 9 1 2 1 2 2 ,分别对n e t c o n f 的事件通报和传输安全方面进行了标 准化定义。自从n e t c o n f 协议提出后,近几年关于n e t c o n f 网络管理协议 的研究在很多方面有了新的进展。 目前,在n e t c o n f 协议的实现方面,已经有多个研究组织和个人宣布他 们实现了基于n e t c o n f 协议的网络管理平台。来自法国l o r i a 实验室的 v i n c e n tc r i d l i g 在文献 8 d e 介绍了他们开发的基于n e t c o n f 协议的网管平台 e n s u i t e ,该平台是由一个基于w e b 的n e t c o n f 管理者、n e t c o n f 代理 和一系列可扩展的模块组成,实现了n e 7 f c o n f 协议的全部操作。由于它采用 了层次化的结构,因此可以很方便地扩展功能。韩国的p o s t e c h 大学在研究 x m l 的网络管理中提出了自己的解决方案 2 5 】,同时也使用了c 版本的 n e t c o n f 下协议原型。德国的n e ce u r o p e 公司也提供了c 版本的n e t c o n 下协议实现方案 2 6 。 在n e t c o n f 网络管理协议的研究方面,n e t c o n f 数据模型和一些基于 n e t c o n f 的应用是研究的热点。文献【1 0 】研究了如何使用x m ls c h e m a 去定 义和描述n e t c o n f 协议的元素。文献【l l 】研究了n e t c o n f 协议中可能用到 的数据类型,并用x m ls c h e m a 定义了这些数据结构。y a n a nc h a n g ,d b x i a o 在文献 9 】中分析了n e t c o n f 协议的特性并介绍了他们开发的网管系统,并通 过实验验证了n e t c o n f 比s n m p 和c l i 在配置管理方面的性能优势。文献 1 2 】 将n e t c o n f 协议应用在i p f i x p s a m p 1 3 1 4 监测探针的配置中,用于动态 的远程的获取和处理监测数据。文献 1 5 中介绍了基于n e t c o n f 协议的应用 于下一代网络的军事网络管理系统,包括系统建模架构的设计及系统性能的研 究。 目前,国内外对于n e t c o n f 协议中子树过滤的研究方面还没有相关研究 成果的发布。本文将对n e t c o n f 协议中的子树过滤机制进行研究,深入分析 n e t c o n f 协议中子树过滤存在的不足,并对其提出改进的方案。 1 3 课题的意义 n e t c o n f 协议是基于x m l 的,采用x m l 描述它的消息报文和管理数据 模型,将x m l 的优势应用在网络管理中,该协议在配置管理方面的优势使得 它很快就被广大厂商和网络管理人员接受,并投入到对它的研究之中,它代表 了目前网络管理发展的方向。目前,对于n e t c o n f 协议的研究和开发才刚刚 开始,n e t c o n f 协议还有许多值得深入分析研究的内容,n e t c o n f 协议的 2 ,l 北京邮电人学顾i :研究生学位论文第一章绪论 研究和开发对于下一代网络管理系统的发展具有重要的意义。本文系统的介绍 了n e t c o n f 协议中的子树过滤机制,简单描述了子树过滤机制算法的实现、 深入分析了子树过滤机制所实现的功能、并从功能角度对子树过滤存在的不足 进行分析、归纳和总结,在对子树过滤机制这些研究的基础上,提出了新的过 滤方式扩展子树过滤。扩展子树过滤主要依据n e t c o n f 协议中子树过滤 机制本身在功能方面的不足,扩展了n e t c o n f 协议中子树过滤的功能,并以 此向i e t f 提交了扩展子树过滤的d r a f t 。因此,本文对于子树过滤机制的研究 对于n e t c o n f 协议规范的改进和提高具有重要的意义。 1 4 论文的结构 本文着重研究和解决以下问题: 分析n e t c o n f 协议中的子树过滤机制,描述子树过滤算法的实现,分析 子树过滤实现的功能,分析协议中子树过滤机制存在的不足。提出扩展子树过 滤机制,介绍扩展子树过滤的设计的体系架构,详细阐述扩展子树过滤实现的 新的功能。最后,对协议中的子树过滤和扩展子树过滤进行功能和性能上的比 较和分析。 第一章,介绍课题提出的背景和研究课题的意义。 第二章,介绍n e t c o n f 网络管理协议的相关概念和规范。 第三章,介绍了n e t c o n f 协议中子树过滤机制的基本规范,描述了子树 过滤机制算法的实现,介绍了子树过滤的界面实现及页面上的操作,分析并测 试子树过滤实现的功能,提出了子树过滤机制在功能方面的不足。 第四章,引出扩展子树过滤的概念,介绍了我们自己定义的扩展子树过滤 的规范,描述了扩展子树过滤实现的设计的体系架构,介绍了子树过滤的界面 实现及页面上的操作,详细阐述了扩展子树过滤实现的新的功能。 第五章,对协议中的子树过滤和扩展子树过滤进行功能和性能上的比较和 分析。 第六章,对全文做了总结,对今后的工作做了展望。 最后三部分包括:列出了撰写论文过程中引用到的参考文献、对该论文的 顺利完成直接或者间接帮助我的人进行致谢、硕士期间发表的论文。 北京邮i u 人学硕t :g f 究生学位论文 第二章n e t c o n f 网络管理概论 第二章n e t c o n f 网络管理概论 2 1n e t c o n f 协议体系结构 i e t f ( i n t e m e te n g i n e e r i n gt a s kf o r c e ) 组织 2 3 】于2 0 0 3 年5 月成立了 n e t c o n f 工作组 2 4 】,目的是制定统一的网络配置协议。2 0 0 6 年1 2 月,i e t f n e t c o n f 工作组完成了基于x m l 的网络配置管理协议( 即n e t c o n f 协议) 的制定,并发布为正式标准r f c 4 7 4 1 。n e t c o n f 是一种分层管理的配置协议 【6 】,提供了安装、操作、删除网络设备配置的机制。n e t c o n f 采用可扩展标 记语言( x m l ) 表示配置数据和协议消息。使用基于r p c 的机制实现m a n a g e r 和a g e n t 之间的通信。 n e t c o n f 协议是一种分层管理的配置协议,总体结构见图2 1 。 l a y e r + - _ _ - - 掣雌- _ _ _ + 4 i c o n t e n t i i 3 io b e r a t i o n si i 2 i r p c l + - 一- - _ + i + _ _ _ _ - + 1 l t r a n s p o r t i l p r o t o c o l 1 w - x a m p l e l c o n fi g u r a ti o nd a t a l + - - - - - - - - - - _ - _ - + i l g e t - c o n f l g , ,c e d i t c o n fi g l - - - 一- - - - - - _ - + i 一- 一_ _ 一_ - _ _ - - - 一_ - _ - + l r p c ,r p c r e p l y l i + - - - - 一- 甘- + | b e e p , 8 s h s s z , c 。n s 。l e l 图2 1n e t c o n f 协议的层次结构图 从图2 1 可以看出,n e t c o n f 协议的结构分为四层,自底向上依次是传 输协议层、r p c 层、操作层、内容层。 传输协议层用于在客户机和服务器问建立通信通道,n e t c o n f 建议可以 将b e e p 、s s h 和s o a p 等协议作为该层协议。 r p c 层表示基于r p c 的通信模型。该层提供了一种简单的、不依赖于传 输的r p c 请求和响应帧机制,采用 元素来封装操作请求信息,并通 过一个安全的、面向连接的会话将请求发送给被管设备,而被管设备将采 用 元素封装r p c 请求的响应信息,然后将此响应信息发送给请 求者。 4 一 , 北京邮电人学硕l :r c f 究生学位论文第二章n e t c o n f 网络管理概论 操作层定义了一组基本操作,这些操作提供了管理设备配置、获取设备状 态信息等功能,可采用r p c 方法调用这些操作以及采用x m l 编码的参数。 n e t c o n f 中定义的基本操作包括 、 、 、 , , , , , 等。 内容层描述了网络管理所涉及的配置数据。n e t c o n f 认为内容层超出了 r f c 4 7 4 1 的讨论范围,这些数据基本上依赖于设备厂商,应另行制定数据 定义语言和内容的标准。 2 2n e t c o n f 操作 操作层是n e t c o n f 协议中重点定义的部分。n e t c o n f 协议定义了九个 基本操作,这些操作提供了用于获取网络信息、配置网络设备、复制和删除配 置数据库、锁操作和会话操作等功能。 和 操作属于取值操作。 操作用于获取设备状态数据 和r u n n i n g 数据库中的配置信息。 操作用于获得指定配置的全部或 部分信息。 、 和 属于配置操作。 操作能够修改、添加、删除指定数据库中的部分配置数据。 操 作用于删除除了r u n n i n g 数据库的某个数据库的所有数据。 操作 可以用一个完整的配置数据存储器的内容创建或替换另一个完整的配置数据 存储器。 和 属于锁操作。锁操作是为了保持配置数据库的数据同步, 防止不同的n e t c o n f 客户端同时对同一配置数据库进行操作。当进行配置操 作时,需要对相应的数据库进行加锁操作,解锁时用 操作。 和 是会话操作。 操作用于请求中 止一个n e t c o n f 会话,若一个n e t c o n f 服务器收至l j 请求, 就会关闭会话,服务器会释放与之相关的所有锁、资源和连接。 操作用于强制中止一个n e t c o n f 会话。若收到此请求,n e t c o n f 实体会异 常中断当前正在执行的任意操作,释放与之相关的锁、资源和连接。 2 3n e t c o n f 能力 在上一小节中我们总体介绍了n e t c o n f 协议的基本规范。n e t c o n f 能 力是n e t c o n f 基本规范的功能补充集,能力由u r i 唯一标识。能力扩展了 设备的基本操作,描述了附加操作和内部操作所允许的内容。客户机能够检测 5 北京邮电人学硕i :研究生学位论文第二章n e t c o n f 网络管理概论 到服务器的能力,并能使用这些能力定义的任意的附加操作、参数和内容。一 个能力定义可能指出一个或多个其依赖的能力,为支持该能力,服务器必须支 持该能力所依赖的全部能力。附加能力能随时在外部文档中定义,这就使得能 力能够不断扩展。为避免命名冲突,能力的u r i 必须是唯一的。 2 4 配置数据和状态数据 n e t c o n f 认为,从运行系统中获得的信息分为两类数据:配置数据和状 态数据。配置数据是可写的数据集,可使系统从最初默认状态转换到当前状态。 状念数据是系统的附加数据,不可以进行配置,包括只读的状态信息和统计数 据等。当一个设备执行配置操作时,如果包含状态数据,就会出现不相关的统 计数据过多、对只读的数据非法进行改写、以及数据量大等问题。因此,需要 分离配置数据和状态数据。对于配置数据和状态数据,n e t c o n f 提供了不同 的操作: 操作只获取配置数据,而 操作获取配置和状态数据。 2 5 配置数据存储器 n e t c o n f 协议定义了一个或者多个配置数据存储器,在这些数据存储器 上可以进行一些配置操作。配置数据存储器是配置数据的完全集,该完全集是 设备从初始状态到指定状态所需的全部数据的集合。配置数据存储器不包含状 态数据和各种操作命令。n e t c o n f 协议中经常用到的三种配置数据存储器是 , 和 。如果某个设备支持n e t c o n f 协议,那么 它必须包含 这个配置数据存储器。其余两个配置数据存储器并不是必 须的,而是作为设备的一种能力为某些设备所支持。 是网络设备上正 在运行的配置数据的集合,系统中只能有一个 。 存储器存 储的是一组备用的配置数据集合,它使得用户可以在不影响设备运行状态的情 况下对配置数据进行修改。 存储器存储的是设备启动时的配置数据 集,即初始化设备时的数据集。 2 6 本章小结 本章主要介绍了n e t c o n f 协议的标准和规范。首先介绍了n e t c o n f 协 议的体系结构,其分为四层,自底向上依次是传输协议层、r p c 层、操作层、 内容层。接着介绍了n e t c o n f 协议定义的九种基本的操作,这些操作提供了 用于获取网络信息、配置网络设备、复制和删除配置数据库、锁操作和会话操 作等功能。然后又介绍了n e t c o n f 能力,n e t c o n f 能力是n e t c o n f 基本 规范的功能补充集,能力由u r i 唯一标识。能力扩展了设备的基本操作,描述 6 , 一 r 北京邮电人学硕:l :研究生学位论文第二章n e t c o n f 网络管理概论 了附加操作和内部操作所允许的内容。接着又介绍了配置数据和状态数据, n e t c o n f 认为,从运行系统中获得的信息分为两类数据:配置数据和状态数 据。最后介绍了配置数据存储器的概念。 7 北京邮电人学硕i 研究生学位论文第三章了树过滤机制的研究 第三章子树过滤机制的研究 3 1 子树过滤概览 子树过滤机制是n e t c o n f 协议中为从n e t c o n f 树形m i b 中较为灵活 的获取各种管理配置和状态信息所专门提出的机制。从x m l 文档数据模型中 查询信息常用的的语言有x p a t h 19 语言和x q u e r y 2 0 语言,子树过滤机制的 功能也是从x m l 文档中获取信息,但是子树过滤机制和x p a t h 语言的机制是 不同的,本文不对此做深入的阐述。 子树过滤机制提供了选择获取数据模型中x m l 子树的功能,子树过滤的 功能封装在 和 两种操作中,通过标签 标识。 子树过滤机制基于简单的内容匹配的实施策略,提供了非常有限的选择功能。 从概念上来讲,子树过滤器由零个或者多个子树组成,这些子树表示过滤 器选择标准。在子树中的每一个包含级别,兄弟节点集都被服务器逻辑地处理, 来决定它的子树和到达根节点的路径是否包含在过滤器输出中。 所有在过滤器中一个特定子树内的元素都应该与服务器概念数据模型中相 对应的节点相匹配。x m l 命名空间可以在过滤器的数据模型中指定( 通 过x m l n s 声明) 。如果指定了命名空间,声明的命名空间应该首先与由服务器 端数据模型所支持的命名空间相匹配。只有那些和指定的命名空间相匹配的节 点才会被过滤器输出。 每一个在子树过滤器中指定的节点都代表了一个过滤器。在服务器的底层 数据模型中,只有和该节点相对应的节点会被过滤器选择。从过滤器中 元素下面的节点开始,过滤器子树必须与在底层数据模型中给出的元素的命名 空间和层次结构一致。 过滤结果的信息仅仅包括由过滤器选择的子树。在过滤器中作为叶子节点 的一些元素在过滤器输出中将被扩展,其后代将会被输出。 3 2 子树过滤组件 子树过滤由x m l 元素和属性组成。在子树过滤器中可能存在五种类型的 要素: 命名空间选择 属性匹配表达 容器节点( 也称包含节点) i k , f 北京邮电人学硕l :研究生学位论文第三章子树过滤机制的研究 选择节点( 叶子节点) 内容匹配节点 下面具体五类组件的定义和用法。 3 2 1 命名空间选择 如果使用了n a m e s p a c e ,过滤器的输出将只包含指定命名空间的元素。如 果过滤器和底层数据模型中的x m l n s 属性的内容一样,就认为名字空间是匹配 的。命名空间的选择不能自己单独使用,过滤器中至少要指定一个元素,并把 命名空间作为该元素的x m l n s 属性。 看下面这个过滤器实例,其中, 是一个选择节点,只有该节点和名字 空间h t t p - e x a m p l e c o m s c h e m a j l 2 c o n f i g 中的任意孩子节点( 来自底层数据 模型) 能包含在过滤器输出中。 内容匹配节点不能包含嵌套元素。比如:必须分解为x s d ( 删ls c h e m a d e f i n i t i o n ) 的简单类型。 逻辑上来看,多个内容匹配节点( 比如:兄弟节点) 是一种“a n d 的组 1 0 北京邮i 乜人 合关 不支 不支 不支 内容 认为 忽略 若在子树过滤器表达中,所有指定的兄弟内容匹配节点是t r u e ( 即和底层 数据模型中对应的节点相匹配) ,则过滤器输出节点按下面方式进行筛选: 兄弟节点集中的每个内容匹配节点都要包含在过滤器输出中。 如果兄弟节点集中出现容器节点,则需要对其嵌套的过滤标准进行进一步 的处理。 如果兄弟节点集中出现选择节点,则所有的选择节点的输出都要包括在过 滤器输出中,并且会抑制整个兄弟节点集的自动选择。 其他情况( 比如:兄弟节点集中既没有选择节点也没有容器节点) ,底层数 据模型中这一级的所有节点( 及其子树,如果有的话) 都会包括在过滤器 输出中( 这就叫做兄弟节点集的自动选择) 。 如果任何一个兄弟内容匹配节点测试是f a l s e ,则不需要在兄弟节点集上 进行进一步的过滤处理,而且过滤器不需要再筛选兄弟子树。 下面的过滤器实例中, 和 都是容器节点, 是内容匹配 节点。因为 元素没有兄弟节点( 没有容器节点和选择节点) ,因此过滤 输出中包括了 元素的所有兄弟节点。过滤器将输出,在 h t t p :e x a m p l e c o r r d s c h e m a 1 2 c o n f i g 命名空间下的u s e r 节点,其中u s e r 节点 匹配元素层次且其子元素 等于f r e d 。 f r e d 北京邮电人学硕i :研究生学位论文第二三章予树过滤机制的研究 3 3 子树过滤算法实现 在我们开发的系统中的子树过滤,是基于n e t c o n f 协议中子树过滤规范 的。开始时过滤器输出( 被选节点集) 是空的。每个子树过滤器都包含一个或 多个数据模型片段,这些片段代表了过滤器输出的被选数据模型( 带有所有的 孩子节点) 部分。服务器将每个子树数据片段与服务器支持的内部数据模型相 比较。如果整个子树数据片段过滤器与被支持的数据模型的相应部分精确地匹 配,则那个节点和所有它的孩子节点都包含在结果输出中。 服务器从根节点到叶子节点一起处理所有有着相同父节点的节点( 兄弟节 点) 。对于每个兄弟节点集,服务器决定哪些节点包含在过滤器输出中,哪些 兄弟子树不包含在过滤器输出中。服务器首先决定哪种类型的节点在兄弟节点 集中,然后根据它们的类型对应的处理规则处理节点。如果兄弟节点集中的任 何节点被选中,那么将递归处理每个被选节点的兄弟节点集,直到处理完所有 在过滤器中指定的所有子树的兄弟节点集( 也就是处理到了子树的最内层,叶 子节点处) 。 根据协议规定,子树过滤算法需实现命名空间过滤、属性匹配过滤、内容 匹配节点过滤、选择节点过滤和容器节点匹配。协议中也提出了子树过滤的基 本实现机制:过滤输出开始为空;过滤器中包含多个独立的、有唯一根节点的 子过滤器,每个子过滤器如果完全匹配于数据模型的某一部分,则将该部分的 节点和子节点均返回。 子树过滤算法每次处理一群兄弟节点,直至过滤器从根到叶子的每群兄弟 节点都处理完毕,多个子过滤器的根节点也被看作是兄弟节点。对于一群兄弟 节点,首先要对其进行分类,比如内容匹配节点、选择节点、容器节点,并按 其类型调用相应函数处理该节点。 首先为所有的子过滤器创建一个公共的父节点;若过滤器结构中存在内容 匹配节点,则将内容匹配节点与数据模型进

温馨提示

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

评论

0/150

提交评论