管道过滤器1剖析课件

上传人:沈*** 文档编号:241686683 上传时间:2024-07-15 格式:PPT 页数:38 大小:3.11MB
返回 下载 相关 举报
管道过滤器1剖析课件_第1页
第1页 / 共38页
管道过滤器1剖析课件_第2页
第2页 / 共38页
管道过滤器1剖析课件_第3页
第3页 / 共38页
点击查看更多>>
资源描述
管道过滤器模式管道过滤器模式主讲人:周丰负责人:胡骞、张富生一、一、体系结构:首先跟大家简单介绍一下软件的体系结构。软件的体系首先跟大家简单介绍一下软件的体系结构。软件的体系结构来源于建筑业结构来源于建筑业结构设计师:结构设计师:设计图纸设计图纸管理人员:管理人员:施工计划施工计划施工人员:施工人员:建造建筑物建造建筑物任课教师:张伟芝zhangweizhieud2act.org优秀的体系结构设计鸟巢3玛雅阿兹特克金字塔瑞士保险公司大楼任课教师:张伟芝zhangweizhieud2act.org“体系结构”的共性一组基本的构成元素构件这些要素之间的连接关系连接件这些要素连接之后形成的拓扑结构物理分布作用于这些要素或连接关系上的限制条件约束质量性能componentconnectordeploymentconstraintperformance任课教师:张伟芝zhangweizhieud2act.org类推“软件体系结构”构件:各种基本的软件构造模块(函数、对象、模式等);连接件:将它们组合起来形成完整的软件系统物理分布约束性能体系结构=构件+连接件+约束Architecture=Components+Connectors+Constraints任课教师:张伟芝zhangweizhieud2act.org体系结构与设计模式的关系体系结构设计模式惯用法二、体系结构的重要性二、体系结构的重要性 随着软件系统规模和复杂性的增加,系统总体结随着软件系统规模和复杂性的增加,系统总体结构设计的重要性已远远超过特定算法和数据结构的选构设计的重要性已远远超过特定算法和数据结构的选择,良好的体系结构是保证系统成功的关键。基于软择,良好的体系结构是保证系统成功的关键。基于软件体系结构的过程开发是现代软件开发的基本途径,件体系结构的过程开发是现代软件开发的基本途径,也是软件工程成熟的标志。软件体系结构的风格或模也是软件工程成熟的标志。软件体系结构的风格或模式包括客户式包括客户-服务器模式的体系结构,管道服务器模式的体系结构,管道-过滤器模过滤器模式的体系结构,层次式体系结构,面向对象的体系结式的体系结构,层次式体系结构,面向对象的体系结构等。构等。三、管道三、管道-过滤器模式的体系结构过滤器模式的体系结构 管道管道-过滤器模式的体系结构是面向数据流的软件过滤器模式的体系结构是面向数据流的软件体系结构。它最典型的应用是在编译系统。一个普体系结构。它最典型的应用是在编译系统。一个普通的编译系统包括词法分析器,语法分析器,语义通的编译系统包括词法分析器,语法分析器,语义分析与中间代码生成器,优化器,目标代码生成器分析与中间代码生成器,优化器,目标代码生成器等一系列对源程序进行处理的过程。人们可以将编等一系列对源程序进行处理的过程。人们可以将编译系统看作一系列过滤器的连接体,按照管道译系统看作一系列过滤器的连接体,按照管道-过滤过滤器的体系结构进行设计。此外,这种体系结构在其器的体系结构进行设计。此外,这种体系结构在其它一些领域也有广泛的应用。因此它成为软件工程它一些领域也有广泛的应用。因此它成为软件工程和软件开发中的一个突出的研究领域。和软件开发中的一个突出的研究领域。任课教师:张伟芝zhangweizhieud2act.org管道与过滤器管道与过滤器(Pipe-and-Filter)任课教师:张伟芝zhangweizhieud2act.org管道管道-过滤器风格的直观结构过滤器风格的直观结构3.13.1管道管道-过滤器模型的结构和特征过滤器模型的结构和特征 管道-过滤器模型的基本部件都有一套输入输出接口。每个部件从输入接口中读取数据,经过处理,将结果数据置于输出接口中,这样的部件称为“过滤器”。这种模型的连接者将一个过滤器的输出传送到另一个过滤器的输入,该文把这种连接者称为“管道”。在这种模型中,过滤器必须是独立的实体,每一个过滤器的状态不受其它过滤器的影响。并且,虽然人们对过滤器的输入输出有一定的规约,但过滤器并不需要知道向它提供数据流的过滤器和它要提供数据流的过滤器的内部细节。任课教师:张伟芝zhangweizhieud2act.org管道管道-过滤器的基本构成过滤器的基本构成构件:过滤器,处理数据流一个过滤器封装了一个处理步骤数据源点和数据终止点可以看作是特殊的过滤器连接件:管道,连接一个源和一个目的过滤器转发数据流连接器定义了数据流图,形成拓扑结构数据输入数据输入过滤器的基本结构如图输入数据输入数据接口接口处理中心处理中心输出数据输出数据接口接口数据输出数据输出过滤器过滤器管道管道过滤器过滤器过滤器过滤器过滤器过滤器过滤器过滤器管道管道管道管道管道-过滤器模式的系统构架任课教师:张伟芝zhangweizhieud2act.org过滤器过滤器(Filter)(Filter)目标:将源数据变换成目标数据过滤器对数据流的五种变换类型任课教师:张伟芝zhangweizhieud2act.org过滤器读取与处理数据流的方式过滤器读取与处理数据流的方式递增的读取和消费数据流在输入被完全消费之前,输出便产生了。任课教师:张伟芝zhangweizhieud2act.org过滤器的一些基本特征过滤器的一些基本特征无上下文信息不保留状态对其他过滤器无任何了解可使用数据缓冲区临时保存数据流蓄水池任课教师:张伟芝zhangweizhieud2act.org管道(Pipe)作用:在过滤器之间传送数据单向流可能具有缓冲区不同的管道中流动的数据流,具有不同的数据格式(Dataformat)原因:数据在流过每一个过滤器时,被过滤器进行了丰富、精练、转换、融合、分解等操作,因而发生了变化。任课教师:张伟芝zhangweizhieud2act.org思考:是什么力量推动数据在管道中流动数据流的分类:推式与拉式推式:前面的过滤器把新产生的数据推入管道拉式:随后的过滤器从管道中拉出所需数据推拉式:过滤器以循环的方式,从管道中拉出其输入数据,并将其处理产生的数据压入后续管道任课教师:张伟芝zhangweizhieud2act.org过滤器的分类:主动与被动主动过滤器:具有pull/push类型的过滤器被动过滤器:拉式策略推式策略系统中至少有一个主动过滤器任课教师:张伟芝zhangweizhieud2act.org主动过滤器任课教师:张伟芝zhangweizhieud2act.org具有推式策略的被动过滤器此时数据原点相当于主动过滤器任课教师:张伟芝zhangweizhieud2act.org具有推式策略的被动过滤器任课教师:张伟芝zhangweizhieud2act.org具有拉式策略的被动过滤器数据终点相当于主动过滤器任课教师:张伟芝zhangweizhieud2act.org具有拉式策略的被动过滤器任课教师:张伟芝zhangweizhieud2act.org一个混合型的管道-过滤器系统任课教师:张伟芝zhangweizhieud2act.org一个混合型的管道-过滤器系统任课教师:张伟芝zhangweizhieud2act.org带有缓冲区的混合型管道-过滤器系统任课教师:张伟芝zhangweizhieud2act.org带有缓冲区的混合型管道-过滤器系统任课教师:张伟芝zhangweizhieud2act.org过滤器的设计过滤器有如下状态:停止状态,工作状态,等待状态,休眠状态。可以将过滤器用状态转换图表示。任课教师:张伟芝zhangweizhieud2act.org过滤器的设计停止状态:表示过滤器处于待启动状态,当外部启动过滤器后,过滤器处于处理状态;处理状态:表示过滤器正在处理输入数据队列中的数据;等待状态:表示过滤器的输入数据队列为空,此时过滤器等待,当有新的数据输入时,过滤器处于处理状态;休眠状态:表示过滤器已经启动,但被挂起。任课教师:张伟芝zhangweizhieud2act.org过滤器状态转换图过滤器状态转换图任课教师:张伟芝zhangweizhieud2act.org管道过滤器风格的典型应用Unixpipes(Unix管道)DOS管道命令Complier(编译器)Imageprocessing(图像处理)Signalprocessing(信号处理)Voiceandvideostreaming(声音与图像处理)任课教师:张伟芝zhangweizhieud2act.org四、模型的优点和缺点四、模型的优点和缺点(1)设计人员将整个系统的输入输出行为理解为单个过滤器行为的叠加与组合。这样可以将问题分解,化繁为简。(2)任何两个过滤器,只要它们之间传送的数据遵守共同的规约就可以相连接。每个过滤器都有自己独立的输入输出接口,如果过滤器间传输的数据遵守其规约,只要用管道将它们连接就可以正常工作。(3)整个系统易于维护和升级:旧的过滤器可以被替代,新的过滤器可以添加到已有的系统上。软件的易于维护和升级是衡量软件系统质量的重要指标之一,在管道-过滤器模型中,只要遵守输入输出数据规约,任何一个过滤器都可以被另一个新的过滤器代替,同时为增强程序功能,可以添加新的过滤器。这样,系统的可维护性和可升级性得到了保证。(4)支持并发执行:每个过滤器作为一个单独的执行任务,可以与其它过滤器并发执行。过滤器的执行是独立的,不依赖于其它过滤器的。优点:优点:任课教师:张伟芝zhangweizhieud2act.org缺点:缺点:(1)交互式处理能力弱:管道-过滤器模型适于数据流的处理和变换,不适合为与用户交互频繁的系统建模。在这种模型中,每个过滤器都有自己的数据,这些数据或者是从磁盘存储器中读取来,或者是由另一个过滤器的输出导入进来,整个系统没有一个共享的数据区。这样,当用户要操作某一项数据时,要涉及到多个过滤器对相应数据的操作,其实现较为复杂。(2)数据的打包与解包:有时,系统中的过滤器需要有一个数据转换器来对输入输出数据进行解包打包。这样会降低系统性能,增加实现过滤器的复杂性。任课教师:张伟芝zhangweizhieud2act.org五、管道过滤器风格实现案例五、管道过滤器风格实现案例 查询出字典中包含a、b、cd子串,以end/END结尾,长度7的单词。结构类图管道过滤器 T T型型Y Y型型双桶双联过双桶双联过 滤器滤器 感谢大家欣赏
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!