数据流体系结构风格4_第1页
数据流体系结构风格4_第2页
数据流体系结构风格4_第3页
数据流体系结构风格4_第4页
数据流体系结构风格4_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

.软件体系结构和应用4流体系结构样式、主要内容、4.1流体系结构样式的基本特征4.2管道-过滤器(pipe-and-filter)4.3批(batchsequential)4.4批和补丁4.1流体系结构样式的基本特征,流样式的直观理解adataforlowsystemsoneinwhichativalitionfordatacontrolstheomputation (数据可用性执行处理) thettructurerofthedingdimonationdbyorderlymotionofdatafromprocesstoprocessinapuradatalowsystem thereisnootherinteractionbe 在流系统中,处理之间没有数据交换以外的交互)、数据流样式的基本组件(component ) components : dataprocessingcomponents (基本组件:数据处理) interfacesareinputportsandoutputports (组件接口:输入端口和输出端口)inputportsreaddata; outputportswritedata (从输入端口读取数据,向输出端口写入数据)computealmodel : readdatafrominputports,compute, writedatatooutputports (计算模型:从输入端口读取,通过计算/处理写入输出端口)数据流的连接器,connectors :数据流(连接器:数据流)-Uni-directional, usuallyasynchronous buffered (单向,通常为异步,有缓冲区)-interacesarereaderanwriterrors (接口角色: reader和writer ) computealmodel (计算模型:将数据从一个处理的输出端口传送到另一个处理的输入端口)、数据流样式的拓扑结构、数据流VS .控制流和vonNeumann计算机体系结构将控制流与数据流区分开请举几个例子,两种典型的数据流样式,Pipe-and-Filter (管道过滤器) BatchSequential (批处理),4.2管道和过滤器样式Pipe-and-Filter, 从水管系统来看,Pipe-and-Filter、基本定义、上下文:数据不断生成,系统需要对这些数据进行一些处理(分析、计算、变换等)。 解决方案:将系统分解为几个一致的处理步骤,将这些步骤连接到数据流,一个步骤的输出是另一个步骤的输入-每个处理步骤都由过滤元素实现-流程步骤之间的数据传输由管道负责。 每个处理步骤(过滤器)具有一系列的输入和输出,其中,过滤器读取从管道输入的数据流并对其进行内部处理以生成输出数据流,并将该输出数据流写入管道中。、Pipe-And-Filter样式的基本构成, components :过滤器-处理过滤器数据流- afilltreconsupseratesaprocessingstep (algorithmorcomputation ) (一个过滤器封装了处理程序) connectors : apipecconnectsasourceandasinkfilter (连接器:连接管道源和目标过滤器- pipemovedatafromafilter )可将数据源和数据端点视为特殊过滤器ut (传输数据流)-Dataisastreamof“objects”(数据是特定类型的“对象”流) topology : connectorsefinedataflowgraph (连接器定义流图形,拓扑图形) 1过滤器(filter ) increntermanatellytransformsoftthesourcedataintosinkdata (目标:将源数据转换为目标数据) streamtostreamtransferformat (将数据流转换为数据流)renringichdatabycompotionandaddinginformation (通过计算和增加信息来丰富数据) refininebydisitilingdataorremovingirrelevendata (通过浓缩和减少数据来精简数据)tranformationdatabychangitsrepresentation (通过改变数据表示法decomposedatatomultiplestarea (将一个数据流分割为多个数据流)mergeemulplestreamsintoonestream (将多个数据流整合为一个数据流), 过滤器对数据流的五种转换类型,过滤器读取和处理数据流的方式,increntermanatellytransformdatafromthesourcetothesink在完全消耗输入之前生成输出。 过滤器的基本特性,filtersareindependentties,i.e .nocontextinprocessingres (无上下文信息)nostatereserviceationbetweeninstantiations (状态) noknowledgeofupstream/downstream filters (对其他过滤器一无所知)-collectonscanbeeuseddtobffffffferthedapsedthrughtpipes :文件trees,etc.(可以使用数据缓冲区临时存储数据流)蓄水池, 双管movedatafromafiltersoutputtonoafilters input (启用:在过滤器之间传输数据)wenwareflowfromonedatasourcetoonedatasink (单向流) apipemayimplementabuffer (可能有缓冲区)pipeformdatatransmissiongraph (管道形成传输图)流经不同管道的数据流具有不同的数据格式(Dataformat )。 原因:每次数据流过过滤器时,过滤器都进行了丰富、精炼、转换、融合、分解等操作,发生了变化。管道中流动的数据类型,pipeebetweentwothreadedsingleptrocess (e.g.) Java流流mmmaycontecontreferencestoosharedlangeobjectspipebetweentwoprocessesonasingehostcomputer (e.g . unixnamedpipesstremammaycontecontreferencestoosharedobjs (e.g .files ) pipewebentwoprocessesinadistributedsystem (e.g . internet sockets (互联网套件)stritamcontentsimitedto rawbytes -protocossimplementinghigh-level abstractions (e.g .passpipesasreference,passcone ) .流经配管的资料类型, tray off兼容性和可用性 every isa stream vs.type safety streamofpersons streamoftexts popularstreamtabormats ciitextlinesswithlinesseparator-record stream (recordattributearestrings ) separatedbytabulatororcomma ) nestedrecordstream (recordertatibuteisinturnasequence )streamrepresentingatreetraversal (inner codes/leafnodesenumeratedinpreor ) in order )typedstreamwithaheadercontactiningsitetypeinformation (e.g . column headings -事件流(event streams ).管道-过滤样式更改,数据流分类:推式和拉式,question : whatistheforcethatmatma (什么样的力量使数据流入管道? ) three choice allwithforectemaningfromfilters :push : datasourcepusdataindownstreamdirect (推送:当前过滤器将新生成的数据推送到管道) pull : datainkpullsdatafromupsream (拉式:以下过滤器从管道中提取所需数据)push/pull : afilitialsactivelypullingfromupstream, computing andpushingdownstream (推拉式:滤波器循环地从管道中提取其输入数据,将处理产生的数据推入后续的管道)、滤波器的分类:有源和被动、 active filter : driversthedataflowonthepipes.pul push )过滤器: isdrivenbythedataflowonthe (输入/输出) pipes(passivefilter :由管道内的输入或输出数据流驱动) Attention:系统具有至少一个活动过滤器(可以通过外部环境(例如用户输入)进行输入),是用于无源过滤器的两种策略。 pul strategy : thefiltersispasiveobjectthatisdrivenbythesubsequentpipeelementthatpullsoutputdatafromthefilter; (采用拉式策略的无源过滤器:此过滤器由后续过滤器的“拉式”行为执行,后续过滤器不会主动执行。) push strategy : thefiltersispaseviceobjethatisdribenthepreviouspilienethatsiseiveddataintothefiltter.(采用推送策略的无源滤波器:此滤波器通过上述滤波器的“推送”动作来执行)、采用推送策略的无源滤波器、采用拉送策略的无源滤波器、混合型配管滤波器系统、混合型配管滤波器系统、带缓冲器的混合型可缓冲混合式管道滤波器系统、滤波器状态、停止状态:表示滤波器的激活状态,且滤波器在从外部激活之后进入处理状态。 处理状态:表示筛选器正在处理输入数据队列中的数据。 等待状态:如果筛选器的输入数据队列为空,则筛选器等待,如果有新的数据输入,则筛选器表示处于处理状态。,Pipe-And-Filter型式的典型应用,Pipe-And-Filter型式的典型应用,Complier(scan,parse,generatecode,)(编译器) Unixpipes(Unix管道) Imageprocessing (图像处理) Signalprocessing (信号处理) vociceandsvideotreaming (声音和图像处理),管道-过滤器样式的例子,管道-过滤器管道-过滤器样式示例: UNIX shell、管道-过滤器样式示例:编译器(1)、管道-过滤器样式示例:编译器(2)、管道-过滤器样式的优点在于系统中的组件具有良好的隐藏性和高聚集性, 具有低耦合性的设计者支持软件重用,可以将整个系统的I/o行为视为多个滤波器行为的简单合成:只要提供适合于在两个滤波器之间传输的数据, 两个筛选器都可以连接,以提高系统维护和性能:可以将新筛选器添加到现有系统中,并用改进的筛选器替换旧筛选器。允许分析属性(如吞吐量和死锁)支持并行运行:每个筛选器都具有单独的、管道过滤器样式的缺点通常是工艺成批结构。 这是因为过滤器可以逐步处理数据,但是由于它们是独立的,因此设计者必须将每个过滤器视为从输入到输出的完整转换。不适合交互式应用程序此问题在需要逐步查看更改时尤为严重,因为数据传输没有共

温馨提示

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

最新文档

评论

0/150

提交评论