(通信与信息系统专业论文)通信软件体系结构研究与应用.pdf_第1页
(通信与信息系统专业论文)通信软件体系结构研究与应用.pdf_第2页
(通信与信息系统专业论文)通信软件体系结构研究与应用.pdf_第3页
(通信与信息系统专业论文)通信软件体系结构研究与应用.pdf_第4页
(通信与信息系统专业论文)通信软件体系结构研究与应用.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

浮, ,一一一 华中科技大学硕士学位论文 摘要7 p 乙 f 通信业的飞速发展促使逼信歙仕的开发者必须通过开发具有良好可扩 展性、易维护性、可移植性的通信软件,迅速高效的满足用户不同的需求, 而传统软件设计方法只侧重软件功能和算法的设计实现,已难以适应这种 变化j ) 本文通过深入研究通信软件体系结构理论和方法,结合大容量 g p r s - h l r 系统的开发,探讨了如何从系统设计的角度解决这一问题。 本文重点研究了如何将软件体系结构理论和方法应用于通信软件的系 统设计。在综合分析现有几种通信软件结构体系风格的基础上,提出了一 种新的扩展型层次体系结构,通过将系统划分为协议层、系统支持模块和 层次处理模块3 部分,提高系统的可扩展性、易维护性和可移植性;同时 通过构造设计空间,分析了通信机制、线索控制机制、结构扩展等关键技 术在改善系统性能方面的表现。 论文紧密联系大容量g p r s h l r 系统的开发,利用扩展型层次结构进 行h l r 系统的系统结构设计,详细阐述了通信软件体系结构设计在该系 统中的成功应用。在此结构框架中,实现进一步的创新性优化设计:通过 单进程多线程的有限状态机模型和对称多处理机制实现m a p 对话的并行 控制;利用消息分拣功能提高h l r 系统的用户容量、处理能力以及组网 能力;通过系统支持模块为m a p 对话提供独立完善的线索资源管理功能; 利用以信息跟踪分析为核心的层次管理功能,进行系统监视和管理维护。 愫统综合测试表明通信软件体系结构理论和方法的应用极大提高了软 件开发效率和软件质量,并为h l r 系统处理能力最终达到设计要求做出 了决定性的贡献。户 关键词:软件体系结构;g p r s ;h l r ;m a p ;可扩展性;消息分拣 华中科技大学硕士学位论文 a b s t r a c t w i mt h e r a p i dd e v e l o p m e n t o fc o m m u n i c a t i o n s c o m m u n i c a t i o ns o f t w a r e d e v e l o p e r sh a v et os a t i s f yu s e r s d i f f e r e n tr e q u i r e m e n t sr a p i d l ya n de f f i c i e n t l yb y d e v e l o p i n gt h es o f t w a r ew i t hg o o ds e a l a b i l i t y , e a s eo fm a i n t e n a n c ea n dp o r t a b i l i t y b u tt h et r a d i t i o n a ld e s i g nm e t h o di sf o c u s e do nt h er e a l i z a t i o no ff u n c t i o n sa n d a l g o r i t h m s ,i th a r d l ya d a p t s t ot h i s c h a n g e b a s e d o i lt h e d e e p r e s e a r c ho f c o m m u n i c a t i o ns o f t w a r ea r c h i t e c t u r ea n dt h e d e v e l o p m e n t o f h i g h c a p a b i l i t y g p r s h l rs y s t e m t h i sp a p e rd i s c u s s e sh o wt os o l v et h i sp r o b l e mi nt e r m so f s y s t e md e s i g n n ei s s u eo fh o wt oa p p l yt h es o f t w a r ea r c h i t e c t u r et h e o r i e sa n d d e s i g nm e t h o d s i nt h es y s t e md e s i g no fc o m m u n i c a t i o ns o f t w a r ei sr e s e a r c h e dp r i m a d l y b a s e do n t h ec o m p r e h e n s i v ea n a l y s i so fs e v e r a lc o m m u n i c a t i o ns o f t w a r ea r c h i t e c t u r es t y l e s ,a n e w l ye x t e n d e dl a y e ra r c h i t e c t u r ei sp r e s e n t e dt oi m p r o v et h es o f t w a r es y s t e m s p e r f o r m a n c e sb yp a r t i t i o n i n g t h es y s t e mi n t ot h r e ep a r t s :p r o t o c o ll a y e r , s y s t e m s u p p o r tm o d u l ea n dl a y e rm a n a g e m e n tm o d u l e a n ds o m ek e yt e c h n i q u e s ,s u c ha s c o m m u n i c a t i o nm e c h a n i s m s ,c l u e - c o n t r o lm e c h a n i s m sa n ds t r u c t u r ee x t e n s i o n s ,a n d t h e i rb e h a v i o r si nt e r m so f i m p r o v i n gs y s t e mp e r f o r m a n c e s a r e a n a l y z e db y c o n s t r u c t i n gad e s i g ns p a c e n l ed e v e l o p m e n to fg p r s h l r s y s t e mi st i g h t l ya s s o c i a t e di nt h i sp a p e r t h e s u c c e s s f u la p p l i c a t i o no fc o m m u n i c a t i o ns o f t w a r ea r c i d t e c t u r ei nt h es t r u c t u r ed e s i g n o fh l r s y s t e mi s d e s c r i b e di nd e t a i l sb yu s i n gt h ee x t e n d e dl a y e ra r c h i t e c t u r e f a r t h e ri n n o v a t i v eo p t i m i z a t i o nd e s i g n sa l er e a l i z e di nt h i ss t r u c t u r e :u s i n gt h ef m i t e s t a t em a c h i n ea n ds m pt or e a l i z et h ep a r a l l e lc o n t r o lo fm a p d i a l o g u e s ;u s i n gt h e m e s s a g ed i s t r i b u t i n g f u n c t i o nt o i m p r o v et h e s u b s c r i b e rc a p a b i l i t i e s ,p r o c e s s i n g a b i l i t i e so fn r s y s t e m ;u s i n gt h es y s t e ms u p p o r tm o d u l e t op r o v i d em a p d i a l o g u e s w i t hi n d e p e n d e n ta n d c o m p l e t ec l u er e s o u l o em a n a g e m e n tf u n c t i o n ;u s i n gt h el a y e r m a n a g e m e n tf u n c t i o nb a s e do ni n f o r m a t i o nt r a c et op e r f o r ms y s t e mm o n i t o ra n d m a i n t e n a n c e n e s y s t e m si n t e g r a t e dt e s t s i n d i c a t et h a tt h ea p p l i c a t i o no fc o m m u n i c a t i o n s o f t w a r ea r c h i t e c t u r ei m p r o v e sd e s i g ne f f i c i e n c i e sa n ds o f t w a r eq u a l i t i e sg r e a t l y , a n d 1 1 p o s0 一n 吨7 pe o n t d b , , t i o nt ot h e9 c h ;e v p n e 一+ o ft 盯p s 一? ? ;o p n n 州归n t s s c a l a b i l i t y ;m e s s a g ed i s t r i b u t i n g 华中科技大学硕士学位论文 1 绪论 1 1 通信软件开发技术要求以及发展现状 随着信息时代的到来,通信业界正面临着巨大的变化和激烈的竞 争,能够快速部署新业务成为业务提供商在竞争中取胜的关键,因 此通信软件的开发者必须迅速高效的开发出满足用户不同需求的通信 软件,这使得软件的功能日趋复杂。而另一方面,通信软件在非功能 属性上的要求也不断的提高,开发出具有良好可移植性、可扩展性、 易维护性的通信软件以提高软件的质量也越来越受到人们的重视。 以往,增加通信速度的研究工作集中于物理介质访问方法和硬件处 理平台。光纤的广泛使用、g b p s 网络传输技术的发展、v l s i 技术的 广泛应用、多处理器芯片和多处理机技术的发展、操作系统性能的提 高,使通信软件的硬件处理平台能力不断提升,于是通信软件的处理 能力必须得到提升与硬件处理能力相适应,否则软件功能难以得到充 分发挥心1 。这对通信协议软件的开发技术提出的新的要求,不仅要按 照协议的要求实现各种功能,更要在软件的实时性、处理能力等方面 有良好的表现。同时也从另一个角度对软件的可移植性提出了要求, 使通信软件能独立于硬件控制和软件执行平台、操作系统,跟上硬件 技术和操作系统的发展,方便的移植到并充分利用性能更好的平台。 大多数通信软件还面临着这样的困难,无法预测所提供业务的发展 及对未知问题的解决能力”1 。我们所希望的软件系统应该具有一种良 好的可扩展性。当业务量较小的时候,可以用一个处理能力较小的系 统来实现,既节省投资又满足需求;当业务量增大的时候,又可以通 过软件系统的扩展,提高处理能力,满足新的需求。并且,在原有系 统的基础上能较容易的添加新的功能,并且尽可能小的影响原有系统。 这实际上也是对通信软件提出了可维护性的要求,开发的软件必须一 种有效的管理机制,提供故障监视、诊断、排除的机制和具体方法。 同时,开发具有良好可移植性、可扩展性、易维护性的软件产品, 可以克服目前软件生产周期长、耗资大的困难,未来的软件产品必须 依赖于组合和重用现有的软件,以具有快速开发新的应用的能力。日 华中科技大学硕士学位论文 前大部分的软件开发设计都是从头开始的设计,这种设计最终将让位 于具有可重用特性的构造块来构造软件的技术。所谓可重用的构造块 也称为软构件,是独立于特定的程序设计语言和应用系统、可重用的 软件成分。随着通信软件系统越来越大,越来越复杂,软件设计已不 再停留于传统的“算法十数据结构= 程序”的计算设计模式。对于任 何大型通信软件系统的设计,更关键的是计算单元和这些单元之间的 交互作用”1 。软件开发已经从单纯的侧重功能实现,走向软件体系结 构层次上的设计。 软件体系结构是一个程序或系统的构件的组织结构,它们之间的关 联关系,以及支配系统设计和演化的原则和方针”1 。例如我们所熟悉 的客户机,服务器体系结构,o s i 开放互联分层体系结构,以及在分布 计算领域发展的公共对象请求代理体系结构( c o r b a :c o m m o no b j e c t r e q u e s tb r o k e ra r c h i t e c t u r e ) 。经验表明,在软件体系结构上的投资效 益是相当可观的。h p ,a t & t ,g t e ,i b m ,n e c 和t o s h i b a 的报告 现实,采用软件体系结构的方法的产品投入市场的时间缩短了1 5 2 倍,质量提高了5 1 0 倍”1 。这说明对软件体系结构的研究和投资是 极为必须和必要的。 1 2 移动通信技术的发展现状 移动通信的发展经过了第一代、第二代,现在正在向这第三代发展。 第一代系统为模拟系统,如美国的a m p s ,英国的t a c s ,北欧四国的 n m t 一4 5 0 等。它们传送模拟语音,采用f d m a 通信方式。曲于频谱 利用率底、保密性能不好、业务少等缺点,这种最初的移动通信系统 已经逐渐被第二代数字化的系统取代。 第二代的系统包括欧洲的g s m 系统,日本的j d c ,美国的d a m p s 等。主要有两种技术体制:时分多址( t d m a ) 和码分多址( c d m a ) 。 t d m a 技术的代表系统是g s m ,它将频谱分为若干个时隙( 时间片) , 然后将通话分配到特定的时隙中。c d m a 是一种以扩频通信为基础的 凋制和多址技术,它不把信道分成时隙而是允许用户都可以使用整 个1 2 5 m h z 的信道,依靠一个标识代码把通话区分开来,即每个电话 呼叫都分配一个独特的数字代码,使其有别于使用同一频谱的其它呼 叫。 华中科技大学硕士学位论文 为了更有效地利用频谱,更方便的传递数据、图像等多媒体的信息, 近年来出现了第三代移动通信( 3 g ) 的概念。第三代移动通信网必须 具有较大的带宽容量和较远的覆盖距离,必须有能力提供固定数据速 率和随机速率的数据通信业务,特别要能够让移动( 或半移动) 用户方便 地完成对i n t e r n e t i n t r a n e t 的宽带接入,进行多媒体通信。该通信网还 可引用新型业务和技术,对用户提供价格较低的通信业务和移动终端。 许多国家和企业已制定第三代系统的标准,并在为自己的标准争夺市 场。这其中包括w c d m a 、t d c d m a 、c d m a 2 0 0 0 等“1 。 我国建立得较为完善的是作为第二代的数字化的g s m 网络,使用 的是8 0 0 m h z 和9 0 0 m h z 的频谱,这只能提供l 亿到2 亿的用户容量, 如果要使我国的手机普及率达到西方国家的5 0 ,g s m 的容量是远远 不够的。而且当今的移动通信需要更高速的数据传输,而g s m 主要是 语音业务,只附带有9 6 k b s 的数据传输,远不能满足当今信息社会的 要求。中国的移动通信必然要向第三代发展。但是,要在短期内建立 一个像g s m 那样大的3 g 网络显然是不可能的,当前的解决办法是以 g p r s 网络作为过渡,先满足高速数据传输的需求。 g p r s 网络是在g s m 网络的基础上添加g p r s 的服务节点,在完 全不影响原有的g s m 业务的基础上,为移动用户提供高速的数据传 输,可以满足用户日益增长的数据信息业务的需求,而且成本低廉。 g p r s 的服务节点可以为用户提供i p 地址,可以连接到i n t e r n e t 上, 这样就把随时随地的移动通信和巨大的信息网络连接起来,提供了大 量的新的数据业务,其意义非常重大。g p r s 可以动态的分配1 至8 个时隙给包数据传输,动态的提供9 至1 5 0 k b s 的传输速率,而且上 行和下行的数据传输是可以完全分开的,可以很方便的提供不对称的 数据传输”1 。另外,g p r s 将网络端和无线端严格的分开,它在完全 不影响原有的g s m 业务的基础上的前提下解决了网络端的数据传输 问题,使得这个网络也可以被其他的无线接人技术利用,所以今后如 果在此基础上建立3 g 的网络重点将放在无线端的完善,可见g p r s 决不是一个临时性的网络,它可以成为3 g 网络的组成部分。 华中科技大学硕士学位论文 1 3 本文的研究背景、内容和意义 1 3 1 g p r s - i - i l r 系统的开发背景及作者的主要工作 华中科技大学金鹏华中通信研究所是广州金鹏集团有限公司的主 要技术依托单位“1 。一九九七年十二月承担了金鹏j p m 1g s m 移动通 信系统的h l r 的研制工作,一九九八年十一月,该h l r 系统配合金 鹏移动交换机在河北省邯郸市开通实验局,并通过信息产业部组织的 入网测试和专家方案评审,于一九九九年三月获得入网许可证。随着 我国移动通信和互联网业务的飞速发展,移动互联网成为新的市场热 点。广州金鹏集团为适应这一市场变化趋势,与移动通讯的著名企业 m o t o r o l a 公司签署了产品合作协议,共同开发g s m 基础上具有较高速 率数据接人的g p r s 系统,金鹏负责其中g p r s 。h l r 子系统的产品开 发任务。经过公司领导的慎重考虑,决定由华中金鹏研究所继续承担 这一任务,与m o t o r o l a 公司密切合作,达到协议规定的目标。 本文的实践与应用部分是该项目的一个重要组成部分,本人在该 项目中承担的主要任务有:参与g p r s h l r 系统的总体方案设计、m a p 协议处理系统的方案设计与编程实现、h l r 数据库与前端七号处理平 台的扩展连接设计与编程实现、g p r s h l r 系统的联调与测试等等。 1 3 2 本文的研究内容与意义 h l r 系统是典型的通信软件,具有较高的可扩展、易维护和易维护 设计要求。本文首先从软件体系结构的角度,分析现有几种通信软件 结构体系风格的优缺点,提出了一种新的扩展型层次体系结构进行通 信软件的设计,并从系统结构、通信机制、线索控制机制、扩展性等 方面对其进行分析。然后,将该软件体系结构的研究应用于g p r s h l r 系统的设计,并进一步讨论了通信协议软件设计中必须涉及到的多线 索并行处理、系统扩展、资源管理服务、层次管理维护等问题,研究 在实际开发中的实现策略,对通信软件做进一步的优化设计。最后对 h l r 系统进行了测试,并对整个工作做了研究总结和展望。 g p r s h l r 系统的成功开发对金鹏公司的发展有着十分重要的战 略意义;同时,通过通信软件体系结构的研究和系统的优化设计,本 文提出的通信软件体系结构和设计方法具有一定的普遍性,非常值得 同行们借鉴和参考,并有待于在今后的研发中得以完善。 华中科技大学硕士学位论文 2 软件体系结构研究 本章首先介绍了软件体系结构的基本概念,然后从软件体系结构风 格和设计空间两个方面,对基于软件体系结构的软件设计方法进行研 究。 2 1 软件体系结构概念 软件体系结构( s o f t w a r ea r c h i t e c t u r e ) 源于六七十年代d i j k s t r a 和 p a r n a s 等对软件的组织和结构的研究,是几十年来软件设计所取得的 成果积累的产物,是软件设计走上成熟的必然趋势。 起初,人们把软件设计的重点放在数据结构和算法的选择上,随着 系统越来越大,越来越复杂,整个系统的结构和规格说明显得越来越 重要。在系统的结构级设计中需要考虑的问题不是数据结构和算法, 而是系统总体结构组织、全局控制、通讯协议、同步机制、数据存取 方式、系统功能在设计元素中的分配、设计元素的组织、伸缩性和性 能、系统演化的程度、设计方案的选择等”。这些问题就属于软件体 系结构级的设计。 抽象的说,软件的体系结构包括对构建矛统的元素描述、元素之间 的互联方式、指导元素互联的模式以及对这些模式的约束“1 。一般而 言,一个特定的软件系统是由一系列组件( c o m p o n e n t s ) 和组件间的连接 ( c o n n e c t o r s ) 构成的。组件可能是服务器、数据库、过滤器、层次系统 里的层等,而组件间的连接可能是过程调用、数据共享、事件广播、 协议等。 实际上人们在软件设计中已经利用到了一些规范的模型,例如 c l i e n t s e r v e r 结构、层次结构等。但是我们不仅希望以特定的方式来理 解特定的系统,更希望寻找体系结构中的共性,对特定领域形成通用 的体系结构范型,找出设计原则,将设计技巧规范的表达出来与别人 交流”1 。这是一个庞大且令人振奋的目标,其意义在于为软件的系统 设计提供一种规范的表示、设计方法,提高软件生产的效率和质量。 由于软件体系结构只是最近才作为一个独立的研究和发展领域,所 以目前仍没有统一或者标准的定义。我们采用下面的定义作为探究软 华中科技大学硕士学位论文 件体系结构的出发点:“软件体系结构是一个程序或系统的构件的组织 结构,它们之间的关联关系,以及支配系统设计和演化的原则和方针。” 1 1 】 软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了 系统需求和构成系统的元素之间的对应关系,提供一些设计决策的基 本原理。它主要代表软件设计的最初设计决策,反映了系统层设计的 问题,在系统设计中主要关注和系统整体相关的非功能性因素需求。 所谓功能性是指功能、行为、实时性、计算精度等是否满足领域的 要求,需要考虑同领域知识密切相关的算法、对象的结构、组件的功 能等。所谓非功能性,是指系统是否容易集成,是否容易修改,是否 容易测试,是否容易升级,而这些特性正是在设计组件的结构,组 件的划分原则,组件的相互之间联系时需要考虑的问题,也正是在进行 体系结构设计时要重点考虑的问题。 2 2 基于软件体系结构的软件设计方法 传统的基于“瀑布”法的软件设计,采取自顶向下的设计方法,重 点是实现软件功能的具体算法和数据结构呻1 ,虽然它也有系统级的设 计,但是其设计结构和模式一般与特定的应用紧密结合,难以提供统 一规范的模型和设计原则,并向类似的设计领域推广和移植。 基于软件体系结构的软件设计,重点不是实现功能的具体算法和数 据结构,而是根据与系统整体相关的非功能性因素需求,设计组件的 结构,组件的划分原则,组件的相互之间联系川。以此作为出发点进行 软件的系统级设计,必须从软件的设计框架和设计需求两个方面综合 考虑着手。 我们所希望的设计框架,不是面对特定应用的程序结构,而是既能 够定义软件结构的组件和其互联关系的体系结构,又具有类似领域软 件的设计共性,可以指导如何整合系统的原则1 5 1 。我们将其称之为软 件体系结构风格。 体系结构风格从整体上规定了设计范畴,但是要满足与系统整体相 关的非功能性需求,还必须考虑设计需求特性。我们不希望把满足需 求的各种选择局限于特定的程序应用,而是希望能够在一个可控制的 范围内面向整个设计领域( 如专家系统、通信系统、控制系统) 做一 华中科技大学硕士学位论文 个针对各种设计指标的通盘考察,并对相应的解决方法做出可比较的 评价,从而为满足设计需求提供设计指导,进而与体系结构风格相 结合,有目的的进行软件结构设计。我们把这个可控的需求特性和设 计选择领域称为设计空间。 下面就从软件体系结构风格和设计空间两方面进行基于软件体系 结构的软件设计方法研究。 2 3 软件体系结构风格 体系结构风格规定了一种设计模式,它是众多系统中所共同拥有的 结构和语义特征,指导如何将各模块和子系统组合成一个完整系统1 。 它定义了有相同组织结构模式的一系列系统,并定义了各组件之间连 接的约束。 采用有规则的特定模式进行系统组织是软件体系设计的一个重要 特点。随着系统设计者意识到研究特定组织原则和特定领域软件结构 的价值,许多的特定的设计模式已经发展了数十年1 0 1 。在软件的结构 级设计中,我们用到的一些常规模式有c l i e n t s e r v e r ,层次结构等;也 有一些模式与特定的设计方法有关,如面向对象的组织结构;而另一 些组织结构则与特定的系统有关,如i s o o s i 网络体系结构。 软件体系结构风格贝i j 站在一个更抽象和概括的角度提供了一个设 计框架,希望从这些特定的模式中提取结构的共性和设计原则,对体 系结构的组件、组件连接关系、系统组合进行全面的分类”。组件可 是服务器、数据库、过滤器、层等,而组件问的连接可能是过程调用、 数据共享、事件广播、协议等1 4 10 在此基础上,将其按照一定模式组 合,这些部件的属性就可以决定系统的属性,从而形成一种体系机构 风格。 下面我们将考察五个常用的体系结构风格,并从结构的扩展性、执 行效率、控制方式等方面比较其异同之处,分析各自的适用范围。 2 3 1 主程序子过毫:l 系结构风格 该结构是最简单,也是最常用的软件结构。整个软件在逻辑上为一 个主程序,所有的数据一般采用公共数据方式( 公共变量或数据文件) 存储,主程序和子过程处于同一地址空间,系统功能由子过程完成, 7 华中科技大学硕士学位论文 而主程序始终掌握整个计算的控制权。 图2 一l 主程序,子过程体系结构风格示意图 该结构的优点是效率高,在实时性要求较高的非开放系统中应用较 广。缺点是所有的子过程之间耦合度高,可复用性很低”。因此本软 件体系结构是一个不开放的,缺乏可扩展性的结构。 2 3 2 管道一过滤器( p i p e - - f i l t e r ) 风格 该结构是当前软件设计的又一常用的组织结构,反映了面向结构的 模块化设计思想。 图2 2 管道,过滤器体系结构风格示意图 系统按功能划分为许多组件。组件表现为具有输入和输出接口的黑 箱,被称为过滤器。系统的数据表示抽象为连接过滤器的管道中的数 据流,过滤器从输入管道得到原始数据,计算后向输出管道输出结果 数据。此风格特点是过滤器必须是独立的实体,它不能与其他过滤器 共享数据和状态,并且过滤器的标识在相互之间是并不知道的。本结 构的一个退化的例子为“连续批处理”系统,管道完全退化,系统中的 所有的过滤器首尾相连。 管道一过滤器结构的优点是所有的模块均相互独立,模块之间的交 互通过定义好的数据格式( 通常为文件或者消息) 进行通信,模块间耦 合度降低,模块可复用性得以提高。 其缺点首先是它仅适用于由较少的模块通过基本串行结构形成的 华中科技大学硕士学位论文 简单系统1 2 10 另外,每个模块必须具备对与之连接的所有模块的输入 输出数据进行语法分析的能力,系统的效率有所降低。同时,增加新 的模块,必须修改所有与之相连的模块,体系结构可适应性不强。 u n i x s h e l l 程序就是管道一过滤器结构的一个例子。 2 3 3 基于抽象数据类型的面向对象体系结构 这种风格建立在数据抽象和面向对象的基础之上,数据的表示方法 和它们的操作封装在抽象数据类型或对象中,对象之间通过对彼此接 口的调用来发生相互作用,而系统通过对象的相互作用完成系统功能 1 6 1 。此种结构已经被许多开发者用于通信系统建模与设计。 注: o b j 是抽象数据类 型: 图2 - 3 基于抽象数据类型的面向对象体系结构风格示意图 本结构的优点是:( 1 ) 设计者可以更容易的将问题域分解为相互作 用的对象集合;( 2 ) 因为某一对象对其它对象隐蔽了它的表示,只要接 口稳定,一个对象的改变并不影响其它对象。 这种结构缺点是:( 1 ) 对象之间呈现网状的调用结构,一个对象接 口的变化将要求所有与之显式交互的对象修改;( 2 ) 由于对象间存在间 接调用和成环的递归调用可能性,系统结构复杂,有时可维护性反而 变差。 本结构适用于系统中抽象类接口稳定,但具体对象类型容易变动的 情况,如通信系统建模体系结构。 华中科技大学硕士学位论文 2 3 4 层次系统风格 层次系统按照等级组织成一个层次结构,每一层为上一层提供服 务,并作为下一层的客户。如图2 4 所示,在层次系统中,各层只对 相邻的层可见,内层除了其相邻的外层,对其他所有层都屏蔽起来( 有 些层会提供某些特殊函数供非相邻层使用) 。连接器由决定层间交互的 协议决定,通常可以是函数调用、事件或者消息。 图2 - 4 层次系统体系结构风格示意图 这种风格的优点:( 1 ) 层与层之间结构明确,便于建模;( 2 j 又j q 系 统改进,因为每一层只与上下相邻两层交互,所以改变每一层的功能 最多只影响两层;( 3 ) 支持软件重用,与抽象数据类型风格一样,只要 给相邻层提供相同的接1 3 ,允许每一层用不同方法实现,这使得在标 准接口上构建不同的实现成为可能。 这种风格的缺点为不是所有系统都可以被容易的构建成层次系统 1 2 1 ,并且即使一个系统可以在逻辑上分成层次结构,但考虑到性能问 题,需要在逻辑高层功能和低层实现上有更紧密的耦合。 这种结构在通信协议软件的开发中经常用到。 2 3 5 基于事件的隐式调用风格 本结构存在一个和所有的组件相连接的框架部件,其结构如图2 - 5 所示。所有的组件仅和框架联系而互相独立 1 。所有组件在框架注册 自身响应的事件,当某一组件调用其他组件的过程时,先向框架触发 事件,框架将事件广播或发到接受事件的对象,以这种隐式调用方式 华中科技大学硕士学位论文 导致另一个组件中的过程被调用。 图2 5 基于事件的隐式调用体系结构风格示意图 本结构的优点是组件仅和框架有关,组件的更新将不会影响其他的 组件。任何声明了数据和接1 :3 的软件组件,只需将其在框架中注册就 可以加入系统而不会对原系统产生影响。 该结构的缺点是:( 1 ) 组件放弃了对系统的控制,一个组件触发一 个事件时不能确定其他组件是否会影响它,并且即使它知道事件注册 了哪些组件的过程,也难以保证过程被调用的顺序;( 2 ) 组件无法通过 事件携带大量的交互数据,当系统各组件联系紧密且有大量高速数据 交互要求时,此结构就不合适了。 所以虽然基于事件隐式调用的软件体系结构能够灵活的在框架上 配置组件,但对于某些实时性较高和有大量数据交互的通信系统软件, 如协议处理软件系统和电信级的大容量数据库,一个完全基于事件隐 式调用的软件体系结构是不合适的1 6 1 。这一方面是由于事件无法携带 大量的数据,对于有大景公共数据交换的系统不适用;另一方面由于 系统的各组件之间的联络十分紧密,在处理的过程中各组件均提供实 时服务,数据流速度要求极高,无法忍耐也没有必要通过框架寻找提 供服务的组件。 2 3 6 综合分析 以上五种常用风格的组件类型、组件连接和系统合成方式各有特 色,均有其独到的优点和适用面。比如主程序,子过程体系风格设计效 率高;管道一过滤器风格下的软件各模块之问耦合程度较低,程序可移 植性较好;基于抽象数据类型的面向对象风格则极其适合系统软件抽 象结构的划分与建模;在层次体系风格下设计软件非常有利于系统的 华中科技大学硕士学位论文 扩展和移植;而基于事件的隐式调用风格通过框架的引入避免了组件 更新对原有系统的影响。 因此在实际的软件设计中,应该根据所设计领域的特点综合分析各 种软件体系风格,设计出合适的软件体系结构。将软件体系结构的理 论应用于软件系统的开发,应该针对特定领域的特点和开发需求,根 据实际情况选择和设计适合要求的软件体系结构框架,从而提高软件 开发效率,降低系统开发费用,提高软件可重用性和可维护性。 因此如何选择一个合适的技术来满足一系列需求成为另一个值得 注意的问题,这就要在体系设计空间中进行有指导的选择。 2 4 设计空间 构造一个设计空间7 1 ( d e s i g ns p a c e s ) ,是为了使系统设计者能够对 各种候选的结构设计技术方案和系统特性需求进行描述和分类。在设 计空间里面,我们可以明确设计规则以决定各种技术选择的优劣,并 基于设计需求选择合适的系统设计方案。 由于系统设计需求特性和可供选择的技术方案的多样性,设计空间 应该是多维的,其各维分别描述了一项系统特性需求或设计选择,各 维度值与系统需求特性或技术选择有关1 5 1 , 图2 - 6 是一个简单的二维 设计空间,其中进程间同步机制( 如消息、信号灯) 及它们的响应时 间( 快、中等、慢) 分别作为设计空间的二维,分别代表系统的需求 特性和技术实现方案。某一系统设计与设计空间中的某一点相对应, 其坐标值则对应于与其相关的需求特性和技术方案,系统a 采用消息 机制,系统b 采用信号灯机制。 应用设计空间进行结构设计的一个关键是合适的选择可以反映系 , 统需求或评价标准( 即系统功能或表现) 的维,同时选择可以反映技 术选择的维。这些维空间之间的交互关系可以提供直接的设计指导: 哪种结构设计技术方案能最好的满足一个新系统的设计需求。如图2 - 6 中可以看出消息机制能比信号灯机制提供更快的响应时间。 华中科技大学硕士学位论文 响应时间 m e s s a gs e m a p h o r eo t h e r进程间同步机制 图2 6 一个简单的设计空间 设计空间概念的提出为我们明确系统设计需求特性和技术实现方 案指标,并建立两者联系,对系统结构进行育指导的设计提供了一种 有效的方法。在实际的结构设计中,需求特性和技术方案均具有多样 性,这样就需要将两个方面的指标综合考察,为实现最佳系统设计选 择出好的方案。 2 5 小结 本章侧重介绍利用软件体系结构理论和方法进行软件的结构设计, 为了给系统设计提供具有一定规范性的设计模型和设计原则,我们引 入软件体系风格和设计空间两个概念,试图分别从设计框架和系统结 构特性两方面进行设计分析。 软件体系风格侧重系统的组件、组件间的连接和系统整合的设计规 范化,并从中提取系统结构的共性和设计原则,提供一种设计框架; 仅有框架还是不够的,选择一个合适的结构还必须满足一系列的设计 需求特性,我们在设计空间内综合考察系统需求特性和技术实现方案, 为系统设计提供了一种有效的设计指导。 下一章将在本章的基础上,结合通信领域软件设计的特点和要求, 对通信软件的体系结构设计进行研究。 华中科技大学硕士学位论文 3 通信软件体系结构设计研究 本章首先介绍了通信软件的设计要求,然后从体系结构的框架设计 和设计空间的技术选择两方面,对通信软件体系结构的设计进行研究 与分析。 3 1 通信软件设计简介 3 1 1 通信软件的特点 一般来说,凡是用来实现两个或多个实体( 计算机、电信终端、交 换设备等) 之间相互通信的软件都可称为通信软件。按照应用领域的 不同,通信软件主要分为两大类:电信软件和计算机网络软件1 8 10 电 信软件主要包括电话交换软件、移动通信软件、智能网软件等;计算 机网络软件包括各种网络协议和网络应用软件。实际上,随着通信技 术的发展,这二者也在逐渐融合,其区别也不很明显了。我们所讨论 的通信软件一般有以下的基本特点: ( 1 ) 分层结构 通信软件一般都按照层( l a y e r ) 或级( l e v e l ) 的方式进行组织,每一层 都建立在它的上层之上。如t c p i p 协议栈把系统分为应用层、传输层、 网络层和数据链路层,上下层之间通过原语进行通信。 ( 2 ) 实时性强 很多通信软件系统属于实时系统,系统的正确性不仅依赖于处理结 果,还依赖于产生结果的时间,系统必须在规定的时间内完成处理。 ( 3 ) 并发性强 通信软件必须能够“同时”为成千上万的用户服务,需要具有很 强的并发处理能力。 ( 4 ) 高可靠性 通信软件,特别是电信级的系统,一旦投入运行,就要一直运行下 去,万一出现故障,将会造成极大的损失,因此要求系统具有高可靠 性。 华中科技大学硕士学位论文 3 1 2 通信软件设计要求 通信软件从设计结构上看主要由下层协议栈和上层应用软件组成。 按照通信软件的层次性特点,下层作为上层服务的提供者,上层作 为下层服务的用户,层问通信通过原语( p r i m i t i v e ) 方式,不同机器上的 对等层之间对话的实现则采用层间协议。协议栈表示某一系统所使用 的所有协议列表,开发上层应用时必须用到低层协议栈提供的服务。 上层的应用软件利用下层协议栈作为通信和服务通道,构建上层业务。 协议栈构筑了系统功能实现的基础,而要利用基于原语的协议栈实 现基本的应用系统,就必须定义一组由协议标准规定的流程“钔。进行 通信系统开发时,正确理解原语和流程这两个术语很关键。原语用来 描述层间传递的结构或消息。原语一般有四种类型:请求、指示、响 应和确认。每个原语的参数的数量是可变的,这由相关流程决定。这 些参数表示层间的通信信息。而一个流程则由多条原语组成,按照协 议规定提供具体的功能,其实现方法一般采用有限状态机心们。 值得指出的是,协议栈及其应用的实现还必须依赖于低层网络、系 统总线、实时操作系统( r t o s ) 和处理器( c p u ) 等系统资源。多数应用 系统需要r t o s 以便同时处理多个流程和或呼叫。 另一方面,软件系统的性能还依赖于有效的操作、维护和管理( o a m ) 机制,必须有一个o a m 实体和开放的接e l ,为通信系统提供如下服 务:启动配置和动态配置;获得运行状态和统计信息;控制系统资源; 给o a m 实体提供运行警告和跟踪信息。并通过这个开放接口使得 o a m 实体能从本地或远程进行操作维护。 因此设计一个性能良好的通信软件系统,除了在协议理解的基础上 进行设计,更需要涉及到软件体系结构的设计与实现,在系统结构、 全局控制结构、通讯机制、伸缩性与性能等方面对其进行综合分析和 优化设计,以求通信系统软件具有良好的可扩展性、易维护性和可移 植性。 3 2 结构设计 通信软件设计要求的多样性决定了通信软件体系结构的设计应该 是多种体系设计风格在通信领域中的融合。 华中科技大学硕士学位论文 3 2 1 层次体系风格应用 通过前一章对各种软件体系设计风格的分析比较,采用层次体系结 构风格设计软件由于层次之间结构明确,便于建模,在逻辑结构上适 应了通信软件分层设计的要求;而层次体系风格在系统扩展和软件重 用方面的优势也使采用该风格设计通信软件可以保证一定的可扩展 性、易维护性和可移植性。 因此在通信领域运用层次体系风格进行软件的层次体系结构设计, 适合包括下层协议栈和上层应用软件在内的通信软件开发,其结构图 如图3 1 所示。 按照o s i 参考模型心,层与层之间的通信由服务接人点s a p 2 2 1 ( s e r v i c ea c c e s sp o i n t ) 实现。在该结构中,上层作为下层服务的用户 ( s e r v i c eu s e r ) ,下层作为上层的服务提供者( s e r v i c e p r o v i d e r ) ,通过s a p 为上层提供服务扎”。 s e r v i c e u s e t s e r v i c e p r o v i d e r 图3 一l 层次体系结构图 这种基本的层次体系从逻辑上描述了层次关系和不同层次之间的 互联要求,在结构上有以下优点: 可懂性和可适应性 通过将复杂的整体问题分解成若干比较简单的相对独立成分,即整 体问题局部化,使得一个复杂的通信系统分解成许多功能单一的层次, 并且各层次之间组织结构和依赖关系清晰明了,增加了系统的可懂性 和可适应性。 可靠性和可移植性 层次结构使得系统设计的每一步都建立在可靠的基础上,因为层 华中科技大学硕士学位论文 次结构是单向依赖的,上层通过s a p 获取下层服务,其提供的功能建 立在下层基础之上,或者说上层功能是下层功能的扩充和延伸。只要 下层的各模块设计正确,就为上层功能模块的设计提供了可靠的基 础,从而提高了系统的可靠性和可移植性。 易维护性和可扩展性 这种层次结构的优点还在增加或替换某一层对系统其他层次影响 较小,易于系统修改和扩展。 3 2 2 各种体系风格综合应用 层间耦合结构分析 仅从逻辑上对通信软件的结构设计进行层次划分还是不够的,层与 层之间的耦合结构也直接影响到软件性能。耦合结构一般有两种,一 种采用主程序子过程风格,上下层之间通过函数调用紧密耦合;另一 种则类似管道一过滤器这种模块相互独立的松散耦合形式,上下层间通 过消息进行通信。显然前者效率较高,而后者模块独立性较强,层次 结构应该支持这两种不同的层次耦合方式,以适应不同的应用场合。 系统服务与层次管理功能的抽象 层次结构设计易于实现协议功能的扩充,但对实现功能非常重要的 各种系统支持服务,如内存管理、队列管理,以及各层次的操作管理 维护功能并没有在该体系中具体表现出来。从提高系统的可扩展性、 易维护性、可移植性等方面考虑,需要将这两部分功能单独抽象出来, 对现有的层次体系结构进行扩展和优化。 通信系统结构技术的发展是与整个计算机技术的发展相联系的,当 前计算机技术发展的突出特点是要求广泛的信息和资源共享。对通信 软件的设计而言,为协议功能的实现提供内存管理、队列管理等系统 服务的模块就相当于一个服务平台,向应用程序提供共享的资源和服 务:对管理模块而言,各层功能模块是处于其维护之下的客户 客户,服务者的对象关系,促使客户服务器结构在通信软件结构波汀中 应用和发展。 华中科技大学硕士学位论文 按此分析,将系统支持和层次管

温馨提示

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

评论

0/150

提交评论