(计算机软件与理论专业论文)桌面视频会议体系结构设计与实现.pdf_第1页
(计算机软件与理论专业论文)桌面视频会议体系结构设计与实现.pdf_第2页
(计算机软件与理论专业论文)桌面视频会议体系结构设计与实现.pdf_第3页
(计算机软件与理论专业论文)桌面视频会议体系结构设计与实现.pdf_第4页
(计算机软件与理论专业论文)桌面视频会议体系结构设计与实现.pdf_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

桌面视频会议体系结构设计和实现 摘要 摘要 伴随着i n t e r n e t 的迅猛发展,基于i n t e m e t 的应用也如雨后春笋,桌面视频会议就是其 中之一。桌面视频会议消除了人们空间上的距离,使得人们随时随地的可以轻松的进行沟 通。然而目前有许多问题影响基于i n t e r n e t 的的会议的使用,如网络带宽的限制,伴随桌 面视频会议规模的扩大而带来的会议控制问题,所以这些都急需解决。为了解决带宽问题, 人们一方面铺设高速度的网络,另一方面人们开发高校的压缩算法。同时为了解决控制问 题人们也进行很多探索,提出了些结构。而本文集中讨论桌面视频会议的体系结构问题, 并在此基础上提出了一个体系结构,它综合了集中控制、分散控制和三层体系结构的优点, 并且在局域网上实验取得了很好的效果。 本文提出的结构之所以有效、可行,关键在于我们将各种会议工具的控制进行了高度 的抽象和概括,并在此基础上将会议控制数据进行分类,进而提出了c c c 和c c s 的概念, 这样使得我们提出的体系结构简洁、灵活、有效。 关键字:软件体系结构桌面视频会议会议控制c o r b a 事件服务三层体系结构j a v a 共 享开发工具包j a v a 媒体框架推( 通信) 模型拉( 通信) 模型体系结构描述语言l r m p 她1 负 桌面视频会议体系结构设计和实现 摘要 a b s t r a c t w i t hq u i c k l yd e v e l o p m e n to fi n t e r a c t ,m a n yk i n d so fa p p l i c a t i o n sb a s e do ni n t e m e ta p p e a r a n d d e s k t o pv i d e o c o n f e r e n c i n g i s o n e d e s k t o pv i d e o c o n f e r e n c i n g m a k e s p a c e d i s t a n c e d i s a p p e a rb e t w e e np e r s o n sa n dm a k ei tp o s s i b l et h a tp e o p l ec o m m u n i c a t ea ta n yp l a c e a ta n y t i m e b u tt h e r ea r em a n yp r o b l e mw h i c hb l o c ka p p l y i n go fd e s k t o pv i d e o c o n f e r e n c i n g ,s u c ha s b a n d w i d t ha n dc o n f e r e n c ec o n t r o lp r o b l e mb e c a u s eo fd e s k t o pv i d e o c o n f e r e n c i n gs c a l e ,n e e d t os o l v e i no r d e rt os o l v ep r o b l e mo fb a n d w i d t h ,o nt h eo n eh a n dp e o p l ep a v eh i g hs p e e d n e t w o r k ,o n t h eo t h e rh a n dd e v e l o ph i g he f f i c i e n c y a l g o r i t h m o fc o m p r e s s i o n a tt h es a m e t i m e ,p e o p l ea l s op u tf o r w a r ds o m ek i n d sa r c h i t e c t u r ei n o r d e rt os o l v ep r o b l e mo fc o n f e r e n c e c o n t r 0 1 i nt h i sp a p e rw ec o n c e n t r a t eo nd e s k t o pv i d e o c o n f e r e n c i n g a r c h i t e c t u r ea n da l s ow e p u t f o r w a r da na r c h i t e c t u r e w h i c hh a st h ea d v a n t a g e so fc e n t r a l i z e dc o n t r o la n d l o o s e l yc o n t r o la n d t h r e e t i e ra r c h i t e c t u r e ,a n dw ea l s oe x p e r i m e n ti to nl o c a ln e t w o r ka n dg a i ng o o dr e s u l t s t h ea r c h i t e c t u r ew e p u tf o r w a r d i sv e r ye f f i c i e n c ya n df e a s i b l eb e c a u s ew ea b s t r a c ta l lk i n d s o fc o n f e r e n c et o o l sh i g h l ya n dt h e nw e c l a s s i f yc o n f e r e n c ec o n t r o ld a t a ,n e x tw ep u tf o r w a r dt h e c o n c e p t sc c c ( c o n f e r e n c ec o n t r o lc l i e n t ) a n dc c s ( c o n f e r e n c ec o n t r o ls e r v e r ) ,w h i c hm a k et h e a r c h i t e c t u r ec l e a r l ya n d e f f i c i e n c y k e y w o r d s o f t w a r ea r c h i t e c t u r ed e s k t o pv i d e o c o n f e r e n c i n g c o n f e r e n c ec o n t r o lc o r b ae v e n ts e r v i c e t h r e e t i e ra r c h i t e c t u r ej s d tj m fp u s hm o d e lp u l lm o d e la d l l i g h t - w e i g h tr e l i a b l em u l t i c a s t p r o t o c o l 笫2 页 桌面视频会议体系结构设 十和实现 绪论 一 第一章绪论 1 1桌面视频会议历史和发展 桌面视频会议是一种通俗的说法更确切的说应该是桌面多媒体会议( d e s k t o p m u l t i m e d i ac o n f e r e n c e ) 它是由视频会议( v i d e o c o n f e r e n c i n g ) 发展而来的视频会议产生 于6 0 年代,随着7 0 年代的数字式传输的出现,8 0 年代编码和信息压缩技术的发展,到 9 0 年代视频会议系统已发展成熟。视频会议的未来发展可以划分为四股潮流。 第一潮就是目前已投入使用、受人喜爱的拨号组群电视会议。拨号组群( 或群组) 与 其他方式相比,拨号组群电视会议可能更为成熟,但它不可能发展为最大的潮流。拨号组 群是一种”预先安排“的”共享式”组群会议环境,它未必属于个人。 第二潮为基于i s d n 的桌面视频会议系统。基于i s d n 的桌面视频会议系统第二个潮流 与组群系统相比有它自已不同的特征,它不是一种组群共享式环境,而且会议不必预先安 排。它都依赖于i s d n 。通信载体组织正在加大它们在这一技术上的投资力度,以期增大 它们在国际国内范围的覆盖面。 第三潮是基于l a n 的产品。l a n 上的组播视频会议与前述两种会议方式相比,有它 自已不同的特征,首先,它被设计为多用户共用方式,考虑一下l a n 的多路复用运作方 式可以发现,在其中与多人通信是一件非常简单的事情,它有内置的协议,并使多用户会 议以及加入或退出会议变得非常简便。事实上,这正是这模式非常诱人之处。其次, 在于它的使用非常自然方便,它支持过去的工作环境以及目前一直使用的工件环境。在熟 悉的p c 协作环境上层,媒体工具如视频邮件与集中式存储环境等在l a n 中都是可访问和 可使用的。最大的不同在于,它是一种公司内部的应用,而不是全球性的应用。首先它是 一种低代价网络,而且它是公司业务所需的最基本的部分。 最后一个潮流是末来之潮,这个最大的潮流就是i n t e r n e t 上的组播视频会议,尽管它也 将是最有争议的潮流。它具有许多l a n 产品所具有的特征,并且也被设计为多用户共同 模式,它是一种支持多人讨论会的高效方式。只要愿意个人可以随时加入或退出会议, 桥式工作模式只允许每一个人有一条线,而它在任何时段内都是开放的。6 4 k b l s 或1 2 8 k b s 随时可用t 不论你愿意与否,它是一种颇为自然顺畅的会议环境。使用过i n t e 耵l e t 和w e b 的人都知道,在i n t e r n e t 和w e b 上要快速到达许多地点是非常容易的。i n t e m c t 视频会议具 有其服务器环境所具有的所有特征。它把i n t e m e t 本身的财富作为自己通信能力的一部分, 所以它是通信能力和信息资源结合的产物,同时它还在全球性环境适用,时区不同已不成 第1 页 桌面视频会议体系结构设计和实现 绪论 问题。 1 2问题的提出 毫无疑问基于i n t e m e t 的桌面视频会议会成为将来的主要潮流,但是目前除了需要解 决,如网络异构、带宽、安全等问题,我们仍然面临一个非常重要的问题:桌面视频会议 应该采用什么样的体系结构才能够满足会议规模的不断扩大,而会议性能不下降,这主要 体现为三个个方面:一方面在会议体系结构不作修改的情况下能够容纳新的会议工具,使 得系统能够充满活力;另一方面体现为在体系结构不作改变的情况能够对新的会议工具实 施有效控制:最后还表现为会议控制不受参会人数量的限制,即与会人的多少不影响会议 控制的性能。 因此本文针对上述问题和要求提出桌面视频会议的一种体系结构,它综合了集中控制、 分散控制和三层体系结构的优点,并给出了用c o r b ae v e n ts e r v i c e 实现的桌面视频会议控 制。桌面视频会议是比较复杂的软件,为了清晰的表达我们所设计的会议结构,我们采用 了由c a r n e g i em e l l o nu n i v e r s i t y 大学的d a v i dg a r l a n 等人所设计的软件a c m e 来表达;另 一方面软件构架作为一门新兴科学,在软件设计和开发中起着越来越重要的作用,希望以 此推进对软件构架的认识和重视。同时本文给出我们设计的网络实现的语言工具和要点。 1 3 目前桌面视频会议结构 为了推动基于i n t e m e t 的桌面视频会议的发展,人们一方面致力于压缩算法的研究,以 解决目前针对视频、音频应用的带宽和异构问题;另一方面为了提高会议性能,人们又在 桌面视频会议体系结构方面做研究,通过提出好的体系结构来提高桌面视频会议的整体性 能。 目前国内关于桌面视频会议体系结构的文章基本没有,国外虽有一些讨论,但大都是 实验室产品或限于理论的研究,而且结构大都限于集中式,即将数据集中在服务器端,所 有的控制都要经由服务器,这很容易形成网络和访问的瓶颈,如图1 - 1 所示。另一种目前 认为较好的结构是分散式的会议控制,此种结构在一定程度上解决了集中控制的反应时间 和数据库服务器负载过重的问题,但是对于主持人的计算机要求很高,主持人的计算机一 旦崩溃,则整个会议即崩溃,安全系数低:另外这种结构因为把控制集中在主持人那里, 带来的另一个问题是会议的维护困难。同时,目前桌面视频会议的应用程序和控制没有分 开,这不利于会议的扩充。 第2 页 桌面视频会议体系结构设计和实现 图1 - 1 集中体系结构 1 4 本文结构 本文首先介绍了桌面视频会议的功能、分类等基本知识,在此基础上给出了会议控制的 相关概念和我们的总结;其次介绍了软件体系结构作为一门新兴学科的发展历史,并对目 前较常见的体系风格给出了总结和分析,这一节可以认为是我们设计的网络会议体系结构 的做的铺垫;接下来对目前比较前沿的由c a r n e g i em e l l o nu n i v e r s i t y 大学设计的软件体系 结构设计软件a c m e 进行了介绍,a c m e 是软件体系结构发展的一个分支软件体系结 构的描述语言;并由此给出我们所设计的用a c m e 的表述的桌面视频会议体系结构:最后 给出我们在对此结构的实现。 第3 页 桌面视频会议体系结构设计和实现 网络会议研究 第二章网络会议研究 2 1桌面视频会议基本功能设计 爵视频通讯:实现用户问多点即时音视频交流,有音频交流、视频交流、音频+ 视频 三种通讯方式。 文字交流:提供文字交流的功能,使所有的会议成员可以方便地进行及时有效文字的沟 通。 桌面直播:每个会议终端不仅可看到与会者的视频还可以看到与会者的同步桌面。充 分展现多媒体的协作。 文件传输:提供了文件传输功能,通讯双方可在交谈的同时传输文件,给某个会议成 员或者传输文件给所有的会议成员。 基于w e b 的会议管理:用户可以通过浏览器远程管理会议,如申请会议,设置参加会 议的用户密码,设置会议带宽。 可靠灵活的会议控制:会议终端支持两种会议控制模式,主席控制模式和会议自动进 行模式,提供可靠的会议安全机制和灵活的会议控制机制,保证企业会议的正常进行。 会议主持人管理机制:会议终端为会议主持人提供了较高级别的权限,包括中止当前 发言人的发言、将与会者请出当前会议、同意当前与会者的申请发言请求和拒绝当前与会 者的申请发言请求。 2 2 桌面视频会议分类 2 2 1 根据控制策略分类 有主持人的会议:主持人对各种会议工具有控制权,即可以指定谁可以参加会 议,具有什么权限等。 音频触发的会议:会议不需要主持人,依靠音频触发,现在大多数语音聊天室 是基于这种类型的。 2 2 2 从传输内容角度分类 文件会议系统:与会者共享屏幕上的一个或多个窗口,通过这些窗口交换信息,这样 的窗口称为共享白板,用户在这个白板上进行交互式的讨论或对文件进行修改等。文件会 议系统可以传输图文,但不能传递语音。 数据会议系统:在文件会议系统的基础上,在相同的通信线路上增加同时传送声音的 第4 贾 桌面视频会议体系结构设计和实现 瑚络会议研究 功能,就成为数据会议。 可视会议系统:在数据会议系统基础t ,再增加静态图像或准动态图像传输的功能, 便构成了可视会议系统。 桌面视频会议系统:可以支持语音、视频、文本、图形等多种媒体,因此也称为多媒 体会议系统( m u l t i m e d i ac o n f e r e n c es y s t e m ) 。桌面视频会议系统是视频会议系统发展的方 向。从狭义角度讲,前两种会议系统并不属于视频会议系统。 2 3 桌面视频会议控制功能设计 对于桌面视频会议控制我们定义两种服务:- - v e 用户可见服务,另一种用户不可见服 务。可见服务由用户激发并会引起不同的行为,如创建或终止会议、管理和指定角色、检 查权限、加入或离开会议等;不可见服务是指如两种不同结构但兼容会议的互联问题,如 基于s i p 基于h 3 2 3 会议如何连接。我们这里主要讨论如何实现可见服务,因此主要控制 功能包含如下: 应用程序控制:在j 下确的初始状态下,应用程序可以在本地或远端启动,每个启动的 应用程序需要告知其它参与人。 成员控制:谁参加了会议,对应用程序有哪些控制权限。 f l o o r 控制:对一个特定的应用程序,谁对输入有控制权限。 网络管理:在终端之间建立和解除网络连接,带宽的适应。 会议管理:启动、结束会议,通知参会人,如何邀请参会人参加会议。( 不在本文讨论 范围) 2 4 桌面视频会议控制的要求 分散控制:为了满足不同规模的会议要求,应将控制功能分散,避免在控制处形 成系统的瓶颈。 可以适应桌面视频会议规模扩充:所设计的会议控制平台能够满足不同会议的规 模,即伴随会议规模扩大,会议控制性能仍然可以满足要求。 控制独立于应用程序:很多桌面视频会议系统没有将会议控制与应用程序分开, 这样就是的控制策略不灵活,而且不容易引入新的会议工具。我们设计的原则是 会议控制与具体的应用程序分开来,以保证任何应用程序都可引入到会议中来, 而且使得控制策略灵活。另一方面,因为控制策略与应用程序分开,因此有利于 会议工具的开发和标准化,同时能使不同的公司开发的桌面视频会议相容。 鹪5 酉 桌面视频会议体系结构设计和实现 网络会议研究 控制功能可扩充:当有新的控制要求提出时,应该在不做大的修改的情况下满足 要求。 2 5 本文限定 本文所谈的桌面视频会议是指多媒体会议系统,它支持支持语音、视频、文本、图形等 多种媒体,而且是有主持人的会议,即权限控制集中在主持人那里。 粥6 页 桌面视频会议体系结构设计和实现 软件体系结构及常用风格分析 第三章软件体系结构及常用风格分析 3 1为什么提出软件体系结构 随着软件规模和复杂度的增加设计、说明和分析整个系统的结构变得非常关键。d a v i d g a r l a n 和m a r vs h a w 提出,结构方面主要涉及以下主要问题:由组件( c o m p o n e n t ) 构成 的系统如何组织;全局控制结构、通信的协议、同步、数据存取;为设计组件的功能;组 件的分布和合成;系统扩充性和性能等,所有这些问题都是体软件系结构级的设计。过去 很多年来,体系结构设计一直是软件工程的一个分支,然而人们目前已经认识到,对于复 杂系统的设计具有一个好的体系结构是至关重要的。好的结构可以使得一个系统在许多关 键的方面满足需求,如:性能、可靠性、扩展性、互操作性等,相反,差的体系结构造成 的后果将是灾难性的。 尽管如此,人们从不同角度出发,对软件体系结构的定义不同,目前仍然没有形成标 准、一致的认识,因此体系结构研究还处于发展的处级阶段。但是研究者普遍支持这样的 观点:软件体系结构包括系统总体组织、全局控制、通信协议、同步、数据存取、设计元 素的功能、设计元素的组织、规模、性能、设计方案选择等。并且在以下几个方面形成了 较为统一的认识2 2 1 【2 5 】。 体系结构是软件的系统的层次上的组成和行为,是设计过程中不可缺少的一个阶 段,对于复杂软件的后期设计活动起着重要的作用; 体系结构是由软部件和部件之间的关系组成,部件又有自身的体系结构; 部件的描述有三个方面:计算功能、结构特性、其它特性; 目前没有哪个关于软件体系结构描述可以说是完整的。 3 2 软件体系结构的重要作用 软件体系结构的定义:程序的体系结构是指系统的结构,这个结构包含构成其的组件、 组件的外部特性和组件间的联系矧。尽管软件体系结构的定义有很多,但其核心的意思都 是指对系统的总体结构进行描述。 由此可见,软件体系结构在需求和代码之间起关键作用,因为它是二者之间的桥梁如 图3 - 1 所示。通过给出系统的抽象描述,体系结构暴露出系统的一些特性,而又隐藏一些 不必要了解的。比较完美的体系结构应该使得纵观全系统成为可能,并允许设计者说明系 统满足一定要求的能力,以及提供构架系统的蓝本。细致的讲,软件体系结构在软件开发 第7 页 桌面视频会议体系结构设计和实现 软件体系结构及常用风格分折 的至少6 个方面起着关键的作用( 2 引。 理解:通过呈现对于系统设计来说易于理解的高层抽象,使得理解大型系统简化。 而且体系结构的描述给出了系统设计层的限制; 复用:体系结构设计可以以几种方式支持复用。目前复用的工作主要集中在建立 组件库,另外,也支持复合组件和框架的复用; 构建:体系结构的描述提供了软件组件及其相互依赖性的信息。例如,分层结构 给出每一层之间的界限以及每一层的调用限制; 演进;体系结构使组件的功能和组件间的连接分开,无论是从性能还是从复用方 面考虑,这样升级时易于处理:另外体系结构因为给出了系统负载信息,这样使 得估算升级成本很方便: 分析:体系结构提供了一些新的分析手段,包括健壮性分析、体系结构一致性分 析、属性分析、依赖分析等; 管理:经验已经显示,在软件开发的工业化进程中,成功项i i 都把可行的软件体 系结构为重要的里程碑。对软件体系结构的正确的评价可以使得理解需求、实施 策略和潜在风险估计更加清晰; 沟通:清晰的软件体系结构可以使得用户在性价比方面做出选择,利于用户和开 发设计人员的沟通【2 5 1 。 图3 1 需求、结构、代码关系 3 3 软件体系结构目前的发展 软件体系结构作为一门学科出现经历了很长时间。最初人们对软件体系结构的描述主 第8 页 桌面视频会议体系结构设计和实现 软件体系结构及常用风格分析 要采用b o x a n d 1 i n e 的方式,用方框表示组件,用线条表示连接,但是没有标准,不一致。 这样就使得沟通和发展困难,表现为一人所做的工作很难为其他人理解利用。随着人们渐 渐认识到软件体系结构在软件开发过程中的核心地位,许多人开始提议将这一领域规范 化。于是在软件体系结构设计中开始遵循一些准则,创建一些这方面的工作词汇。接下来, 工具设计商开始考虑对软件体系结构设计的支持,语言设计者开始设计语言。 在工业界,有两个趋势使得软件体系结构的重要性更加突出。一个是认识到在构建复 杂系统方面共享方法、模式的重要性,另一个是认识到在某一特定领域提供可重用的框架 的重要性。 近些年来,在软件体系结构领域主要的发展体现在以下三个方面:体系结构描述语言 和工具的出现、体系结构的标准化、体系结构设计专家的出现。 3 4 如何描述软件体系结构 b o x a n d - l i n e 的描述方式会带来一系列问题,如表达的不清晰,非规范的图不利于分析, 如致性、完整性、正确性分析。为了解决这些问题开发出了体系结构的描述语言和工 具。下面就体系结构设计用到的概念给予介绍。 c o m p o n e n t s :是指一个系统的主要运算和数据存储部件,典型的例如,c l i e n t s 、 s e r v e r s 、f i l t e r s 、o b j e c t s 等。每个部件一般具有多个接i z l ( i n t e r f a c e ) ,每个接口定 义一个与其他c o m p o n e n t 及环境相互作用( i n t e r a c t i o n ) 的点( p o i n t ) 。 c o n n e c t o r s :指c o m p o n e n t s 之间的相互连接和作用。典型的例如,p i p e s 、p r o c e d u r e c a l l 、e v e n tb r o a d c a s t 等,但是其也可以包括更复杂的联系,如c l i e n t s e r v e r 协议 或者数据库与应用之间的s q l 连接。c o n n e c t o r s 也有接口,其定义了r o l e s ,由 c o n n e c t o r 所代表的相互作用( i n t e r a c t i o n ) 的相关部件执行。 s y s t e m s :指由c o n n e c t o r s 和c o m p o n e n t s 组成的图。s y s t e m 可能是层次结构的( 子 系统) :c o n n e c t o r s 和c o m p o n e n t s 可以代表具有内部结构的子系统。 p r o p e r t i e s :代表一个系统及其c o m p o n e n t s 的语义信息,例如:关于每一个 c o m p o n e n t 和c o n n e c t o r 的性能的描述一吞吐量( t h r o u g h p u t ) 和延时( b t e n c y ) 等。 c o n s t r a i n s :指对一个结构设计来说,无论其怎样改进条件必须为真的部分。典型 的包括对p e r o p e r t y 的值的限制、拓扑结构的限制,例如。可以连接到服务器的客 户数。 第9 页 桌面视频会议体系结构设计和实现 软件体系结构及常用风格分析 s t y l e s :指相互连接的s y s t e m 家族,例如p i p e s 、f i l t e r s 等。 3 5目前常用体系结构风格及其分析 3 5 1 管道( p i p e s ) 和过滤器( f i l t e r s ) 在此风格中,每个组件都有一系列的输入和输出。每个组件从它的输入读入数据流, 把处理的数据流送往它的输出。输出可在输入结束前开始。这旱的组件就是过滤器。而连 接过滤器的连接器称为管道,其把一个过滤器的输出发至另一个过滤器的输入。过滤器必 须是独立的实体,特别地,它们不能与其它的过滤器分享状态( s t a t e ) 。而且过滤器不必知 道它要处理的数据从哪个过滤器流入和处理完的数据要流向哪个过滤器,它们的详细规范 应只反映对输入管道所要出现的数据流的限制和保证输出流的样式。另外外,管道输出的 正确性和过滤器网络的工作不应该依赖这些过滤器执行增量处理的顺序。 一般的讲,此风格的包括:管道线( p i p e l i n e s ) ,通过管道把过滤器的拓扑限定为线性 排列:具有边界的管道,它限制在管道中传输的数据量:分类的管道,有界管道( b o u n d e d p i p e s ) ,对通过管道的数据量做限定:特定类型管道( t y p e dp i p e s ) ,对两个过滤器传递的 数据的类型做详细的描述。 用u n i xs h e l l 写的程序。u n i x 通过为连接组件( 如u n i x 进程) 提供符号以及为了实施 管道而提供的运行机制来支持这种样式。应用此架构的最好例子是编译器,编译器的各个 阶段包括有词法分析、语法分析、语义分析、产生代码。 此风格的优点。首先此风格使得设计者可以把整个系统的输a 输出行为看作由单个过 滤器的行为的组合。其次,可以比较好的支持复用,任何两个过滤器都可以挂接在一起。 最后,系统容易维护。新的过滤器可以容易加入,不需要的过滤器很容易移除。 此风格的缺点。首先,管道和过滤器的风格很容易退化为批处理的方式。因为虽然管 道支持增量流,但是设计时必须认为过滤器转换了所有的数据并输出。其次,当需要维护 两个独立的而又相关连的流时,性能会受到影响。最后,依赖实现机制,过滤器可能需要 对数据解析和打包,这又会影响性能和过滤器的复杂性。 3 5 2 面向对象 在此风格中,数据描述以及与数据有关的操作北封装在一个抽象数据类型或对象中。 在此风格中,组件就是对象。对象是一系列我们称作管理者的实例。因为这些组件对保持 资源( 这里是数据描述) 的完整性负责。对象问通过函数和过程调用来交互。这个样式中 的两个重要方面是:i 。一个对象对保持数据的完整性负责( 通常是通过维护一系列的不 薷1 0 页 桌面视频会议体系结构设计和实现 软件体系结构_ ; 之常用风格分析 变量) 2 。数据描述隐藏在其他对象中。 抽象数据类型和面向对象的系统的使用日益广泛。他们有许多的变化,例如,一些系 统允许对象并发执行任务,其它系统允许对象有多接口。 面向对象的系统有许多的优点,其中的一些使大家所熟知的。因为对象把数据描述从 客户( c l i e n t s ) 隐藏,有可能来改变实施而不影响那些客户。此外,对一系列关于它们操 作的数据的访问程序的建造允许设计者把问题分解成互动的对象。 但面向对象的系统也有缺点。最突出的是一个对象为了与另一个对象交互( 通过过程 调用) ,它必须知道那个对象的标识,相对比之,例如,与管道和过滤器系统相比较,在 管道和过滤器系统中,过滤器并不需要为了与其他的过滤器交互而知道系统中其它的过滤 器。此方面的重要性是:无论何时。当一个对象的标示改变时,就需要修改所有显示调用 那个对象的对象。在面向过程的语言中,这就要求对使用那个修改模块的每个模块修改其 输入,此外,会产生副作用:若a 使用对象b ,c 也使用对象b ,那么,c 对b 的影响对 a 来说是不期望的。 3 5 3 基于事件的非显示调用 在一个系统中,组件接1 5 1 提供一系列过程和函数的以使得组件相互连系在一起。然而 近来,人们对另外一种集成技术很关注,可以称作隐含调用或广播选择( s e l e c t i v e b r o a d c a s t ) 。 这种思想就是一个组件广播一个或多个事件,而不是激火某一个过程或函数。系统中 其他组件通过一个过程与所感兴趣的事件关联。但事件发生时相关连的过程被调用。就 体系结构面言,采用这种风格的组件都有一组与相关事件关联的过程和一组事件。此风格 最大的不同点在于事件的发出者不知道哪个组件受到影响,而且不知道过程的处理顺序。 非显示调用的一个重要的优点是,它很好地支持重用。系统可以通过为系统事件注册 任何组件来把这些组件引进系统。第二个优点是非显示调用引进了系统的演进,组件可以 被其它组件取代而没有对在系统中的其它组件的接口的影响。相对比之,在一个基于显示 显示调用的系统中,提供系统功能的组件一旦变化,所有倒入这个模块的其它模块也得相 应变化。 非显示调用的主要缺点是:组件放弃了对计算的控制权,丽这些计算是由系统执行的。 当一个组件通知一个事件时,它并不知道什么样的组件将会对所通知的事件做出反应,更 糟糕的是,即使它知道什么样的组件将会对所通知的事件做出反应,它也不能依赖这些事 件的调用顺序,它也不知道这些事件什么时候完成。另一个问题是关于数据交换的,有些 第1 1 页 桌面视频会渡体系结构设计和实现 软件体系结构及常用风格分析 时候,数据能通过事件传递,但在其它的一些情况中,事件系统必须依赖一个共享的储存 场所来交互。在此情况下,整体的性能和资源管理将会成为一个关键的问题。最后,对于 程序执行结果的正确性判断存在问题,因为事件的通知及过程的调用都依赖于当时的环 境。 3 5 4 分层系统 一个分层系统被组织成分层的结构。每一层对它的上层提供服务,并且作为客户对 它的下层进行服务。在一些分层系统中,内部层只对相邻层可见,对其它层不可见,除非 某些专门选择出来的功能对其它层可见。因此在这些系统中,组件在某层上作为一个虚拟 机来运行( 在其它的分层系统中,层可能由一些部分上是不透明的) 由协议定义的连接器 决定了每层之间是怎样交互的。拓扑约束主要包括邻接层问的交互限制。 在这种架构中,最为人熟知的是分层的通信协议。在此应用领域,在一定的抽象层次 上,每一层为通信提供一定的功能。底层定义底层的交互,最低一层定义硬件之间的连接。 其它的应用领域包括数据系统和操作系统。 分层系统有一些很好的属性。首先,它支持逐层递增的抽象设计。这允许实施者把一 个系统的问题分成系列递增的解决步骤。第二,每一层最多只与它的上层或下层进行交 互,所以一层的功能的改变最多只影响两层。第三,它支持重用,像抽象数据类型一样, 相同层的不同实施方案能相互替换( 假设他们支持相同的对其邻接层的接口) 这样导致定 义标准层接口的可能性。不同的实施者可按照标准接口构造层( 例子如o s ii s o 模型和一些 xw i n d o w 系统) 。 但分层系统也有缺点,并不是所有的系统能容易构造为分层的风格,并且即使一个在 逻辑上能分层,考虑到性能,则需要在高层次的功能和低于邻层的层上实施紧密的耦各。 此外,很难正确对层进行抽象,特别是在标准的分层模型中。 3 5 5 仓库技术 在仓库模式中,有两类完全不同的组件,代表目前状态的核心数据结构( 仓库) 以及 对核心数据结构进行操作的独立的组件。不同的系统,对于仓库来说,其和它的外部组件 中的交互可能差异可能很大。 根据控制策略的选择,主要有两类仓库技术。如果是由输入流激发进程执行,则仓库 应是一个传统的数据库。另一方面,若当前的中心数据结构触发进程执行,则仓库看成是 黑板。 b l a c k b o a r d 模型通常由三个主要部分组成: 第1 2 页 桌面视频会议体系结构设计和实现 软件体系结构及常用风格分析 知识源( t h ek n o w l e d g es o u r c e s ) :分离的、独立的与应用程序有关的知识包。知识 包之间通过黑板来交互。 黑板数据结构:解决问题的状态数据,以与应用程序相关的形式来组织。知识源 对黑板修改以逐步解决问题。 控制:完全是由黑板的状态来驱动。黑板中的修改会引起知识源的反应。 需要注意的是,控制可至于知识源里。也可放在黑板中,一个分离的模块,或者是以 上提到的联合体。 传统上,黑板系统被应用于需要对信号处理的复杂的解释的系统中,如语音识别等。 3 56 客户服务器 “客户,服务器”指一个应用系统整体分成两个逻辑上分离的部分,一个客户和个服 务器。服务器可以是数据库服务器和操作服务器,数据库服务器需要处理和存储大量的数 据信息,数据的存储和快速检索机制是重要的方面;操作服务器以提供操作服务为主,是 数据库服务器的基础;服务器由服务器接口、调度管理、事务处理、共享资源管理、通信 组成。客户完成数据显示和用户交互以及对应用逻辑的处理;客户由交互界面、请求表达、 服务代理、通信组成。 客户的用户交互界面用来接收用户的输入、提交用户的操作请求、显示操作请求返回的 结果;服务器接口是提供给客户与服务器进行联系的窗1 3 或“标准”它体现了服务器所 能够提供的操作服务,是客户与服务器连接的桥梁,事务处理计算负责完成接口所提供的 各种计算和处理。共享资源是服务器维持的内部公共信息和其它资源。它为操作请求的实 现提供信息的资源。调度管理根据客户的请求和内部工作状态,管理客户请求,调配系统 资源,快速高效的完成操作请求处理,并将结果返回给客户,通信部件负责实现与服务器 的联系。 客户与服务器的通信需要五元组连接来标识,( 协议,本地网络地址,本地端口号,远 地网络地址,远地端r a g ) 。客户与服务器地连接可以是同步的,也可以是异步的,连接 可以是过程的连接,也可以使用消息的连接。 为了处理很多的客户请求,服务器可以建立等待队列的方式处理客户请求,也可以采 用进程或线程的方式调度。 桌面视频会议体系结构设计和实现 用a c m e 描述桌面视频会议体系结构 第四章用a c m e 描述桌面视频会议体系结构 4 1 a c m e 介绍 a c m e 是c a r e g i e m e l l o n 大学提出并研究的体系结构描述语言环境。它是一个通用的 软件体系结构和体系结构族的描述语言。它把系统描述成通过连接器实现交互的部件的 图,并支持把部件和连接器分解表示成子系统,支持元素族和类型的描述和支持更复杂系 统的扩展。 但是,a c m e 不支持对系统行为、功能特性、与可执行代码的关系的描述,有关方面 只能通过特性的描述信息表达。因此a c m e 可以与其他体系结构的分析、编译、设计、可 视化工具组合使用。 对于体系结构很重要的四个方面- - s t r u c t u r e 、p r o p e r t i e s 、c o n s t r a i n s 、t y p e s 和s t y l e s , a c m e 都提供支持。下面分别介绍s t r u c t u r e 、p r o p e r t i e s 、c o n s t r a i n s 、t y p e s 和s t y l e s 。 4 1 1 在a c m e 中表达体系结构 尽管对于体系结构设计还没有形成一致的认识,但都认为它是对系统高层的抽象。所 有的方法都提供了从粗粒度部件来把握系统的结构和行为,远离实现层的诸如数据表达和 算法设计问题。a c m e 是第二代a d l 语言,它提供了形式或半形式化描述体系结构的方 法,帮助设计者表达设计决策和依据。a c m e 提供的概念是在不同的a d l 中共同的,尽 管a c m e 是基于表达系统的静态结构的,但a c m e 不局限于此,还可以通过a c m e 的结 构表达可重构的动态体系结构。同时a c m e 还可以表达设计选择,a c m e 可以用来描述 体系结构的集合,而不是单个固定的结构。 4 1 2 a c m e 核心概念 s t r u c t u r e a c m e 中用7 种实体定义s t r u c t u r e ,分别是:c o m p o n e n t 、c o n n e c t o r s 、s y s t e m s 、p o r t s 、 r o l e s 、r e p r e s e n t a t i o n s 和r e p m a p s 。 a c m e 的c o m p o n e n t s 代表系统的主要运行部件和存贮部件,它们是系统计算的核 心,每个部件又有一个或多个接口( p o r t ) 。部件可以代表单个执行的进程、服务 器、文件系统、数据库、数据过滤器等,部件通过连接器联系在一起; p o r t 定义了c o m p o n e n t 之间及c o m p o n e n t 与环境相互作用的点,例如可以是个过 桌面视频会议体系结构设计和实现 用a c m e 描述桌面视频会议体系结构 程调用符号。但是p o r t 也可以定义更为复杂的接口,例如需要按一定顺序执行的 过程调用或事件广播接口( e v e n tb r o a d c a s ti n t e r f a c e ) : s y s t e m 定义为由节点和弧构成的图,其中节点代表c o m p o n e n t ,弧代表c o n n e c t o r : c o n n e c t o r 代表c o m p o n e n t 之间的相互连接。c o n n e c t o r s 也有接口,接口由一组角 色( r o l e s ) 定义。典型的连接器可以定义同步通信的模型、通信的协议、通信通道 的特性等。直关的看,连接器对应体系结构图中的线; r o l e 指的是由c o n n e c t o r 代表的相互作用的部件。例如r p c 类型的c o n n e c t o r 可以 有两个r o l e s - - c a l l e r 和c a l l e e ,p i p e 类型的c o n n e c t o r 有r e a d i n g 和w r i t i n g 两个r o l e s , 消息型的c o n n e c t o r 有s e n d e r 和r e c e i v e r 两个r o l e s ,也有的c o n n e c t o r 包含多个r o l e s , 如广播型( e v e n tb r o a dc a s t ) c o n n e c t o r 可能有一个e v e n t a n n o u n c e rr o l e s 和任意多 个e v e n t r e c e i v e rr o l e s : r e p r e s e n t a t i o n :为了支持层次结构的描述,a c m e 允许c o m p o n e n t 和c o n n e c t o r 可 以是更细致和更深入的分解,这样的描述称作r e p r e s e n t a t i o n ; r e - m a p :当c o m p o n e n t 和c o n n e c t o r 是r e p r e s e n t a t i o n 的时候,必须有一种方法能够 指明内部如何与c o m p o n e n t 或者c o n n e c t o r 的接1 2 1 的通信,r e m a p 即是此用途。 p r o p e r t i e s 对于软件体系结构来说,仅仅靠上面所讲s t r u c t u r e 来描述是不够的,n n i 狳, 了s t r u c t u r e 之外还有其他重要的,如调度限制、资源消耗等。为了解决这类问题,a c m e 引入了p r o p e r t y 概念。每个p r o p e r t y 都有一个名字、类型和一个值,描述s t r u c t u r e 的每个元素都可以包含 一个或多个属性。 设计约束( d e s i g nc o n s t r a i n s ) 对于体系结构描述来说,设计约束是非常关键的组成部分,它指明了软件演进时的约束条 件,具有不可更改性。约束可以和 任意个a c m e 的设计元素关联,约束的范围由关联 的元素决 定。例如,如果约束是和s y s t e m 关联,约束对于s y s t e m 内的任意一个元素都 有效;如果约束是和一个c o m p o n e n t 关联,那么约束只对此c o m p o n e n t 有效。 第1 5 页 桌面视频会议体系结构设计和实现 用a c m e 描述桌面视频会议体系结构 t y p e s 和s t y l e s 插述体系结构的一个重要方法是能够定义风格( s t y l e s ) 。风格使得用户可以定义一些 特殊的设计元素以及对他们的使用约束。 a c m e 可以使用特定s y s t e m 的类型,从而封装起常用的结构和联系。对于a c m e 来 说可以定义三种类型:p r o p e r t y 类型、s t r u c t u r a l 类型、及s

温馨提示

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

评论

0/150

提交评论