体系结构范文

时间:2023-03-03 08:23:38

体系结构

体系结构范文第1篇

关键词:件体系结构;模型;作用;意义

中国分类号:TP311.5

文献标识码:A

文章编号:1006-8228(2011)08-01-03

引言

件体系结构是由件元素的外在可见性质以及元素之间的关系组成的一种结构。就如同计算机系统结构在计算机工程中的重要作用一样,件体系结构这种思想也是现代件工程中的一个重要组成部分,成为了近十多年来件工程发展最为迅速的研究领域之一。研究表明,件体系结构在件开发的各个阶段都起到了十分重要的作用,它不但可以控制件的复杂性和提供高层次的复用,而且在件工程的前期工作中,应用件体系结构可以使开发者更早地从全局考虑关键性设计问题,从而保持整个件系统的一致性。

1、件体系结构的定义

虽然件体系结构在件工程领域中有着广泛的应用,但迄今为止还没有一个被大家所公认的定义。许多专家学者从不同角度和不同侧面对件体系结构进行了刻画,较为典型的定义有:

(1)Dewayne Perry和Alex Wolf曾这样定义:件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一点在其他的定义和方法中基本上得到保持。

(2)Mary Shaw和David Garlan认为件体系结构是件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。体系结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织、规模和性能,各设计方案的选择等。件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等。

(3)Kruchten指出,件体系结构是从四个角度对件系统的不同方面描述:从概念角度描述系统的主要构件及它们之间的关系;从模块角度描述功能分解与层次结构;从运行角度描述了系统的动态结构;从代码角度描述了各种代码和库函数在开发环境中的组织。

(4)Hayes Roth则认为件体系结构是―个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。

(5)David Garlan~1]Dewne Perry于1995年在IEEE件工程学报上采用如下的定义:件体系结构是一个程序/系统各构件的结构、它们之间的相互关系以及进行设计的原则和随时间进化的指导方针。

(6)Barry Boehm和他的学生提出,件体系结构包括:一个件和系统构件、互联及约束的集合;一个系统需求说明的集合;一个基本原理一用以说明这一构件、互联和约束能够满足系统需求。

(7)1997年,Bass,Ctements和Kazrnan在《使用件体系结构》一书中给出如下的定义:一个程序或计算机系统的件体系结构包括一个或一组件构件、件构件的外部的可见特性及其相互关系。其中,“件外部的可见特性”是指件构件提供的服务、性能、特性、错误处理、共享资源使用等。

2、应用现状

2.1 形成研究热点。仍处于非形式化水平

自20世纪90年代后期以来,件体系结构的研究成为一个热点。广大件工作者已经认识到件体系结构研究的重大意义和它对件系统设计开发的重要性,开展了很多研究和实践工作。

从件体系结构研究的现状,来看,当前的研究和对件体系结构的描述,在很大程度上来说还停留在非形式化的基础上。件构架仍然缺乏必要的工具,这种工具应该是显式描述的、有独立性的形式化工具。

在目前通用的件开发方法中,系统描述通常是用非形式化的图和文本,不能描述系统期望的存在于构件之间的接口,不能描述不同的组成系统的组合关系的意义。这种描述难以被开发人员理解,更不能用来分析其一致性和完整性等特性。

当一个件系统中的构件之间几乎以一种非形式化的方法描述时,系统的重用性也会受到影响,一个系统结构设计很难移植到另一个系统中去。对系统构件和连接关系的结构化假设没有得到显式的、形式化的描述时,把这样的系统构件移植到另―个系统中去将是有风险的,甚至是不可能的。

2.2 件体系结构的形式化方法研究

件体系结构研究如果仅仅停留在非形式化的框图阶段,已经难以适应进一步发展的需要。为支持基于体系结构的开发,需要有形式化建模符号、体系结构说明的分析与开发工具。从件体系结构研究的现状来看,在这一领域近来已经有不少进展。

2.3 件体系结构的建模研究

研究件体系结构的首要问题是如何表示件体系结构,即如何对件体系结构建模。根据建模的侧重点的不同,可以将件体系结构的模型分为五种:结构模型、框架模型、动态模型、过程模型和功能模型。在这五个模型中,最常用的是结构模型和动态模型。这五种模型各有所长,也许将这五种模型有机地统一在一起,形成一个完整的模型来刻画件体系结构会更合适。

2.4 发展基于体系结构的件开发模型

件开发模型是跨越整个件生存周期的系统开发、运行、维护所实施的全部工作和任务的结构框架,给出了件开发活动各阶段之间的关系。目前,常见的件开发模型大致可分为三种类型:一是以件需求完全确定为前提的瀑布模型;二是在件开发初始阶段只能提供基本需求时采用的渐进式开发模型,如螺旋模型等;三是以形式化开发方法为基础的变换模型。

2.5 件产品线体系结构的研究

件体系结构的开发是大型件系统开发的关键环节。体系结构在件生产线的开发中具有至关重要的作用,在这种开发生产中,基于同一个件体系结构,可以创建具有不同功能的多个系统。采用件生产线式模式进行件生产,将产生巨型编程企业。但目前生产的件产品族大部分是处于同一领域的。

3、面向方面件体系结构模型

面向方面件体系结构是在传统件体系结构的基础之上扩展了方面构件,它的模型结构包含构件、连接件、方面构件和约束四个。其中约束描述了面向方面体系结构配置和拓扑的要求,确定了体系结构的构件、连接件和方面构件之问的连接关系,而构件、连接件、方面构件是它的三个基本的构成元。以下对这三个构成单元的模型进行详细的描述。

3.1 构件模型

构件模型构成的三个要素是:端口、接口和属性。端口:是构件与外部环境的交互枢纽,构件提出的服务请求和执行服务 功能都要通过端口实现。常见有两种端口一双向端口和单向端口。在使用双向端口的构件模型中。服务请求和服务提供功能可以在同个端口中实现。本设计采用单向端口,它又分为请求端口和服务端口两种类型:一是服务端口,构件通过服务端口向其他构件提供服务。每个服务端口对应一个接口,构件通过服务端口向其他构件的请求消息进行回馈。二是请求端口,构件通过请求端口向其他构件请求服务。构件为了实现自己的业务功能,需要通过请求端口向其他构件发送请求消息。每个请求端口也对应一个接口。接口:接口是构件间交互的契约。每个接口定义了一个或多个业务功能,这些业务功能由服务端口提供,经请求端口实施。每个接口限定一个特定端口的交互功能。通常的接口类型有:Java Interface、WSDL1.1 port-Types和WSDL2.0 Interfaces等,也可以自定义接口类型。属性:属性描述构件某方面的特征。属性可以在构件使用前配置,它能够反映构件在交互过程中状态的变化。

3.2 连接件模型

连接件的作用在于建立构件问的交互,并为构件间信息交互提供传输和路由服务。有时构件之间可以直接完成交互,体系结构中的连接件就退化为直接连接。实际应用中,情况往往复杂得多,构件间交互的处理和维持便需要连接件来实现。我们也可以把连接件看做是一种特殊的构件。连接件也具有端口,其端口根据作用分为两类:用于接收构件请求端口消息的端口称源端口(source port);向构件服务端口中输入消息的端口为目标端口(target port)。

3.3 复合构件模型

构件分为子构件和复合构件。子构件不可拆分,而后者是封装了若干个子构件的负荷体。子构件间通过连接件相互连接,其端口也可做为复合构件的端口。

3.4 方面构件模型

方面构件是面向方面件体系结构的核心的构成元素,它在封装的子构件中增加了横切关注点,使传统件体系结构的应用性能得到实质上的提升。方面构件也有服务端口、请求端口和构件属性,还有传统构件不具备的方面端口。如某个构件具有一个方面端口,那么这个构件就是方面构件。方面端口中包含若干个方面,其横切关注目标是构件,而构件能表达对象所不能表达的请求服务的能力,这就不同于面向方面编程(AOP)技术中方面的概念。AOP具有以下四个基本概念:方面、通知、切点和连接点。方面是用来描述和实现横切关注点的基本单位,由通知和切点构成;通知表述了在切点所选定的连接点处要执行的动作,常见通知类型有before、around和after等,分表代表在连接点之前、连接点附近和连接点之后执行相应的通知代码;切点是一系列连接点的集合,是方面的作用点:连接点是应用程序执行过程一个定义明确的位置,如方法调用是一种典型的连接点。上述不同点使得方面端口中方面所采用的连接点模型和切点语言与传统AOP具有相当差别。连接点模型包含构件服务端口中的服务提供操作和请求端口中的服务请求操作,如果该模型包含构件的属性,将会影响构件的分装。

4、件体系结构研究存在的不足

尽管自1994年召开了首届件体系结构国际研讨会以来,件体系结构研究领域取得了若干成果,但在应用方面,件体系结构仍然很不成熟。Medvovonic认为:目前对件体系结构的理解还仅限于直观、或当作稀奇事、或当作民间传说;语义丰富但不严谨。而第三届产品线系统的体系结构开发与演化国际研讨会的总结报告认为,体系结构似乎没有解决实际问题。由此可见,若要有效地指导件工程实践、为件开发提供一个好的结构及其设计结构的指导原则,件体系结构研究还有若干问题需要解决。

总结对件体系结构的研究,我们认为存在如下不足:

(1)缺乏统一的件体系结构的概念,导致体系结构的研究范畴模糊。例如,学院派研究者着重考虑体系结构强大的分析能力,而实用派研究者则过多强调体系结构应该直接支持系统的实现。概念的不统一导致设计人员交流上的困难,不利于支持工具的研制,不利于件体系结构的应用。

(2)ADL繁多,缺乏统一的ADL的支持。尽管Shaw等人提出了体系结构互换语言ACME,但没有统一的体系结构描述语言框架与定义,不同体系结构描述语言所描述的体系结构规格说明难以互换。N.Medvovonic在分析现存的多种典型ADL基础上尝试提出ADL的定义与分类框架,基于该定义与分类框架可以研究并提出统一的ADL。

(3)件体系结构研究缺乏统一的理论模型支持。尽管提出了若干体系结构语言与其相应的理论模型,但还不能系统地解释件体系结构中的重要概念。

(4)在体系结构描述方面,尽管出现了多种标准规范或建议标准,但仍很难操作。例如必要的视图、视点集、或视图之间的映射关系还没有完全解决。

(5)有关件体系结构性质的研究尚不充分。不能明确给出一个优良体系结构的属性或判定标准,没有给出件体系结构的设计指导原则,因而对于件开发实践缺乏有力的促进作用。

(6)缺乏有效的支持环境,件体系结构理论研究与环境支持不同步,缺乏有效的体系结构分析、设计、仿真和验证工具支持,导致体系结构应用上的困难。例如,提出了体系结构描述语言,但往往是复杂的形式化规约且没有开发出相应的支持工具;即使有了支持工具,也无法与其他开发工具有效地集成,导致这种体系结构构造活动在件开发中是孤立的,也就失去了体系结构的应用意义。

(7)缺乏有效的体系结构复用方案。尽管体系结构是一种高层的系统抽象,并且具有相对的稳定性,但是体系结构又是经验与设计知识的体现,如何说明体系结构,重用已有体系结构的过程、体系结构演化等问题,尚未很好地解决。

(8)体系结构发现方法研究相对欠缺。由于系统维护、系统演进、环境变化等因素,因此有必要从那些尚不存在体系结构规格说明的系统中逆向提取和恢复系统的体系结构规格说明,即体系结构逆向发现。但是,该领域的研究很不成熟,基本上鲜有研究,尚未发现比较可行的体系结构发现方法。

5、件体系结构的必要性与重要意义

自NATO于1968年提出件工程概念以来件工程界已经提出了一系列的理论、方法、语言和工具,解决了件开发过程中的若干问题。但是,件固有的复杂性、易变性和不可见性,使得件开发周期长、代价高和质量低的问题依然存在。大量实践统计表明:大系统件开发中70%的错误是由需求和件设计阶段引入的;而且错误在系统中存在的时间愈长则愈难发现,解决这些错误的代价也愈高。

为了提高件需求和件设计的质量,件工程界提出了需求分析工程技术和各种件建模技术。但是在需求与设计之间仍存在一条很难逾越的鸿沟,即缺乏能够反映做决策的中间过程,从而很难有效地将需求转换为相应的设计。为此,件体系结构概念应运而生,并试图在件需求与件设计之间 架起一座桥梁,着重解决件系统的结构和需求向实现平坦地过渡的问题。

从机器语言、汇编语言、过程式程序设计语言、面向对象程序设计语言、形式化(半形式化)规格说明语言(如体系结构描述语言)发展过程中,可以发现:计算机语言越来越适合于开发人员的思维活动模型,代码复用的级别也在不断地提升。体系结构技术的出现,使件复用从代码复用发展到设计复用和过程复用。

鉴于件体系结构的重要性,D.E.Perry将件体系结构视为件开发中第1类重要的设计对象。而Barry Boehm明确指出:“在没有设计出体系结构及其规则时,那么整个项目不能继续下去,而且体系结构应该看做是件开发中可交付的中间产品”。由此可见,体系结构在件开发中为不同的人员提供了共同交流的语言,并作为系统设计的抽象,为实现框架和构件的共享与复用、基于体系结构的件开发提供了有力的支持。

6、件体系结构的发展方向

6.1 各种ADLs之间的信息互换

现有的ADLs大多是与领域相关的,所以难以描述不同领域的体系结构。但这些针对不同领域的ADLs在某些方面又大同小异,造成资源的冗余。其实,大多数ADLs具有一系列的共同概念,如何用一种公共形式把各种语言综合起来,使得能够交换各种体系结构描述信息,将是今后件体系结构研究和实践的重点之一。

6.2 设计工具和环境

件体系结构设计既然作为件工程的一部分,它的计算机辅助实现手段是相当重要的。我们应当开发出一些实现体系结构的描述、分析以及开发成果的转换的件工具,例如,把需求规格说明自动转换为构件等。目前关于这方面的研究成果很少,特别是可以应用到实际项目开发中的工具和环境就更少。

6.3 体系结构再工程

当今件系统的规模变得越来越大,结构也越来越复杂。同时从头开始构建的大系统数量在急剧地减少,因而很多遗留系统正在被逐步地利用。从遗留系统件代码和系统中抽取结构信息,经过描述、统一、抽象、一般化与实例化等处理,可总结出系统的体系结构。

在这种情况下,件再工程变得越来越重要,因为它提供了一条把遗留系统转换为可进化系统的现实可行的途径,是一种可以改进人们对件的理解和改进件本身的活动。这类研究的目的是为一些特定的应用领域的件系统提供一些体系结构框架,如控制系统、移动机器人和用户接口界面等。通过这些框架可以很方便地构造―个新的件系统。

7、结束语

在现代件开发中,件体系结构已经成为一个很重要的部分,件在构造之前的设计中必须明确件的体系结构。一个好的、合理的件体系结构是一个件开发成功的关键。件体系结构给信息化社会带来的好处已被人们公认,件体系结构的研究也在进一步的完善和发展,并推动着件不断地前进和发展。

参考文献:

[1]钟潘初,陈珊.基于构件的件体系结构分析与研究[J].浙江工贸职业技术学院学报,2004.1.

[2]陈澎,李江.件体系结构的分析[J].计算机工程,2005.20.

[3]徐正权,海琼.件体系结构模型的形式化研究[J].计算机与现代化,2003.4.

[4]李龙澍.件体系结构风格综述[J].安庆师范学院学报(自然科学版),2006.4.

[5]徐萍,刘静,桑胜举.浅谈件体系结构风格[J].科技资讯,2008.26.

体系结构范文第2篇

与计算机微处理器中其他流行体系结构相比,MIPS体系结构在商业上绝不是最成功的。MIPS体系结构是在20世纪80年代早期从斯坦福大学John Hennessy教授和他的学生们的工作中诞生的。他们探寻了精简指令集(RISC)体系结构概念,该概念基于如下理论:使用相对简单的指令,结合优秀的编译器以及采用流水线执行指令的硬件,就可以用更少的晶元面积生产更快的处理器。这一概念如此成功以致于1984年就成立了MIPS计算机系统公司对MIPS体系结构进行商业化。

但作为最早的RISC微处理器以及较早的超标量与64位微处理器,MIPS体系结构有着辉煌的过去。现在,在网络设备、多媒体与娱乐设备以及办公自动化设备等领域,MIPS系列微处理器仍占有主要的市场份额。未来在多核处理器与嵌入式设备普及的背景下,相信MIPS体系结构凭借其内在的简洁性与低功耗特性仍会发出耀眼的光芒。因此,国内许多大学与科研院所的微处理器研究就是从MIPS体系结构为起点开展的。

而在国内单独来讲MIPS的图书只有一本,在某些计算机组成与体系结构方面的图书中也有相关内容涉及比如Hennessy与Patterson合著的经典图书《计算机组成与设计:硬件/软件接口》、《数字设计和计算机体系结构》。而唯一单独讲MIPS的这本书正是Dominic Sweetman先生的See MIPS Run,2E,中文书名是《MIPS 体系结构透视,原书第2版》。大多数“体系结构概览”类的书籍对体系结构的汇编语言语焉不详,只是给出了一些简单的概述。然而这本书却是一个典型的反例,它为所有这类图书树立了一个榜样。作者不但提供了体系结构参考所必需要的细节,还以对关键体系结构特点(以及原理)富有洞察力的视角表达出这些细节。

第2版延续了第1版的可读性传统,通过应用具体的实例对硬件和软件的接口进行强调,并将广泛应用的RISC系统结构MIPS与开源操作系统Linux结合在一起,从MIPS设计原理开始,阐述MIPS指令集和程序员的可用资源。第2版在描述Linux/MIPS应用代码如何载入到内存、如何连接到库以及如何运行等方面做了介绍。此外,书中还提供了完整的、经过更新的MIPS指令集指南。

《MIPS体系结构透视》第1版的中文译本无疑在中国的MIPS迷中很受欢迎。我确信本书的第2版因为更加侧重Linux应用将会受到更多的欢迎,就像在嵌入式领域,MIPS体系结构广受各种Linux应用欢迎一样。

体系结构范文第3篇

【关键词】Web角色操作栈

一、Web服务的概念

Web服务是一种部署在Web上的对象,它们具有对象技术所承诺的所有优点。同时,Web服务建立在以XML为主的、开放的Web规范技术基础上,因此具有比任何现有对象技术更好的开放性,是建立可互操作的分布式应用程序的新平台。Web服务平台是一套标准,它定义了应用程序如何在Web上实现互操作性,可以用任何语言、在任何平台上编写所需要的Web服务。

二、Web服务的体系结构

2.1体系结构中的角色

Web服务的体系结构是基于三种角色(服务提供者、服务请求者和服务注册中心)之间的交互,它是一种面向服务的体系结构(Web Services-Oriented Architecture,简称SOA)。

服务提供者是可通过网络地址访问的实体,它从服务请求者接受和执行请求。它服务和接口到服务注册中心以便于服务请求者能发现和访问该服务。

服务注册中心是可搜索的服务描述注册中心,服务提供者在此列出他们的Web服务清单。服务请求者可以从服务注册中心搜索Web服务。服务注册中心己包含了一个可利用的服务仓库和允许服务请求者查找他们感兴趣的服务提供者接口,使服务发现成为可能。

服务请求者是一个应用程序、一个软件模块或是另一个需要其它服务的服务。它向注册中心提出服务请求,通过传输器绑定该服务,然后执行该服务功能。服务请求者通过接口调用该服务。

2.2体系结构中的操作

利用Web服务,必然会发生以下三个行为:服务描述、查询或查找服务描述以及根据服务描述绑定或调用服务。这些行为可以单次或反复出现,这些操作具体为:①(publish)。为了使服务可访问,服务提供者向服务注册中心注册自己的功能和访问接口,服务描述以使服务请求者可以查找它。②查找(find)。服务请求者向服务注册中心检索服务描述或在服务注册中心中查询所要求的特定服务。在查找操作中,服务请求者直接检索服务描述或在服务注册中心中查询所要求的服务类型。对于服务请求者,可能会在两个不同的生命周期阶段中牵涉到查找操作在设计时为了程序开发而检索服务的接口描述,而在运行时为了调用而检索服务的绑定和位置描述。③绑定(bind)和调用(invoke)。在检索服务描述后,服务请求者最后需要绑定以调用服务。在绑定操作中,服务请求者使用服务描述中的绑定细节来定位、联系和调用服务,从而在运行时调用或启动与服务的交互。

2.3Web服务协议栈

要以一种可互操作的方式执行、发现和绑定这三个操作,必须有一个包含每层标准的Web服务协议体系。一个概念性Web服务协议栈,上面的层应建立在下面层提供的功能之上,并且协议栈中每层必须应用一定的标准技术,满足不同的需求。

我们把Web服务的互操作栈协议分为网络层、消息传递(XML)层、服务描述层、服务发现层和服务流程层,Web服务协议栈各层的功能如下:①网络层。Web服务协议栈的基础是网络层,Web服务要被服务请求者调用,就必须通过网络访问。②消息传递层。网络上的信息可以是任何格式的,但是信息的发送者和接收者必须互相明白信息里的数据才能完成一次有意义的交换,这就是消息传递层SOAP要解决的问题。③服务描述层。如果服务的提供者和请求者能够成功的进行交互,它们之间必须拥有更高一层的认识,描述层就提供了这样一种认识机制。Web服务的接口和实现均由WSDL来定义。使用WSDL开发可以描述一组Web服务的操作,包括每个操作的输入、输出参数与网络和数据编码结合的不同方式。④服务发现层。描述了绑定和调用某个Web服务的详细信息,但是服务请求者如何才能取得某个Web服务的WSDL文档呢?此时,就需要有一个发现层UDDI来实现WSDL文档的和查找。作为目录技术的标准协议UDDI,提供使用基于性能的查找来发现Web服务或者商务伙伴的功能,服务请求者可以按照服务的类型和服务的性能来发现所需要的Web服务。⑤服务流程层。单独的Web服务只能完成单一的操作,而事实上的活动,都不是单一的操作所能够完成的系列操作步骤,并且在大部分情况下,这些操作不是相互独立的,而是需要互相协作,从而形成一个服务流程。

体系结构范文第4篇

关键词:瘦客户计算;远程显示协议;体系结构

以大型机为主的计算中心时代,通过终端设备使用计算中心的各种应用和计算资源是当时的典型应用模式。因PC机成本的降低及用户对使用中心计算模式所受各种限制的反感,致使大多数用户采用PC机来完成计算任务。但网络技术的飞速发展和应用软件种类的增多及复杂程度不断提高,让用户维护自己的计算环境成为具有挑战性的工作,特别是针对安全性要求较高的企业应用环境。而以网络通信技术为基础,以服务器计算为中心,采用瘦客户/服务器计算模式的瘦客户计算,恰好能够解决这一问题。

瘦客户计算这一网络计算模式的特点是:应用程序和数据都运行并存储在服务器端,客户端只剩下显示和输入设备,不进行复杂计算,因而对瘦客户机的硬件要求很低。它可以是简单的计算设备,如PDA(个人数字助手),也可以是低端计算机或一些特殊设计的终端。

1瘦客户计算体系结构

如图1所示,瘦客户计算体系结构模型由三部分构成:①瘦客户机,客户端的计算设备,主要负责显示用户界面和客户端输入;②远程显示协议(瘦客户协议),用于在瘦客户机与应用服务器之间传送应用程序输入/输出信息的应用层协议,③应用服务器,高性能的计算机,应用程序的安装、运行、维护、升级都在其上进行,用户的个人配置文件也保存在应用服务器上。瘦客户计算体系结构中的关键技术是远程显示协议,它是瘦客户机和服务器上的应用系统之间进行交互的机制,它使得通过网络为客户设备提供图形显示等服务成为可能。

1.1瘦客户计算的具体实现

1.1.1虚拟网络计算

虚拟网络计算(VirtualNetworkComputing,VNC)的计算体系结构由三部分组成,即VNC服务器、RFB协议和VNC浏览器。在用户使用VNC客户端连接到运行VNC服务器上时,通过键盘和鼠标动作来执行存放在服务器上的应用程序。服务器桌面的快照被压缩且通过RFB协议发送到客户端。客户端与服务器之间的通信是通过架构在TCP/IP上的RFB协议来实现的。

远程帧缓冲协议(RemoteFrameBuffers,RFB)是一个远程存取图形用户界面的简单协议。它工作在帧缓存级,能被用于所有的有关窗口操作的系统和应用程序中,具有优秀的平立性。协议的显示部分基于一个单独的绘图源语:存放矩形像素块数据在已给坐标位置上。一系列的块操作组成一次相应的帧更新。虽然这种像素块的贴操作效率较低,但可以通过多种像素编码压缩方式来实现网络带宽、客户端显示速度及服务器处理速度之间的效率折中,以实现高效率的图形显示。

1.1.2微软终端服务

微软Windows终端计算体系结构由三部分组成,即服务器多用户操作系统内核、远程桌面协议(RemoteDesktopProtocol,RDP)和基于窗口的痩客户端软件。服务器多用户操作系统内核提供了在服务器上同时运行多个客户会话的能力,且所有基于窗口的管理机制和技术都可用来管理终端桌面,它完全独立于终端服务协议,使它既能运行于RDP协议上,也可以运行在第三方协议,如Citrix的ICA协议上。

RDP是微软根据ITU(国际电信联盟)的T.120协议族制定的终端服务器与客户端之间的数据通信协议。作为一个多虚拟通道协议,RDP可以在不同的虚拟通道中传输Windows应用系统界面输出数据、键盘和鼠标操作输入数据等。RDP支持多点数据传输。数据从一个应用程序实时地传输到多个目的地,而无须为每个会话单独地发送同样的数据。

1.1.3Citrix的MetaFrame

Citrix的MetaFrame主要运行在Windows平台上。它的计算体系结构有三个基本组成部分:应用服务器软件(MetaFrame)、ICA网络协议、ICA客户端软件。MetaFrame中使用的MultiWin技术允许多个用户在不同的客户端平台上,同时访问和运行服务器上的某个应用软件。客户端设备上的ICA软件用于接收显示图像,同时向服务器发送鼠标移动和键盘击键动作的信息。

独立计算体系结构(IndependentComputingArchitecture,ICA)是Citrix公司的窗口显示协议。它能在服务器上模拟本地应用程序处理的多用户层。多用户层上的ICA显示服务可将应用程序的执行和显示逻辑分离开来,使得应用程序可以100%地在服务器上执行,并通过标准的网络传输协议TCP/IP和IPX等把用户界面传送到客户端。

1.1.4TarantellaEnterprise

Tarantella通过三层体系结构将传统的非Web化的应用转变为Web应用。第二层Tarantella服务器,是整个系统的核心。通过Tarantella服务器,各种不同平台类型的应用服务器能够同时为瘦客户端提供服务,以实现企业应用的集中式管理。

适应性因特网协议(AdaptiveInternetProtocol,AIP)运行于Tarantella服务器上的协议引擎和客户端设备上的显示引擎之间,是Tarantella客户端与服务器之间的通信协议。AIP采用智能启发式机制不断地监控、测量和适应应用程序与客户端设备、数据传输的线路情况,以优化网络响应。Tarantella的监视器经常发送关于客户端设备性能、网络响应时间和带宽等的反馈信息。该反馈信息将限定协议引擎运行和客户端设备执行操作的数量。协议引擎将各种需求按级别进行分类并自动进行优化调整。例如AIP可以区别交互式和流式的应用,以对它们采用不同的优化机制。AIP、协议引擎与显示引擎、智能缓存等特性为远程用户提供良好的性能。1.2瘦客户计算平台性能

在瘦客户平台的基本框架内,瘦客户计算的具体实现有很多种设计选择,不同的选择会使平台的性能具有明显差异。评价瘦客户平台性能的主要指标是客户端请求的平均等待时间和客户端显示图像的质量等。要分析影响瘦客户平台性能的主要因素,需要测试不同设置下平台在不同网络环境下的网络和视频性能。在网络性能方面,主要测试网页从服务器端到客户端的平均等待时间和数据传输量;在视频性能方面,它主要测试视频质量(即客户端显示质量)和传送的数据量。为定量的描述视频质量,采用慢速播放技术并使用式(1)来计算。

2影响平台性能的主要因素

测试结果表明,影响瘦客户平台性能的主要因素是显示编码源语、屏幕更新机制和缓存与压缩。以下就不同平台所使用不同设计选择分析对平台性能的影响。

2.1显示编码源语

显示编码源语分为基于像素和基于图形的绘图源语。使用基于像素的显示编码的瘦客户平台,显示更新在服务器端处理,送到客户端的仅是需要显示的像素数据。其平立性好、客户端计算简单。基于图形的显示编码,与操作系统的窗口操作和显示命令联系紧密,负责处理更新的显示命令和需要显示的屏幕数据一同从服务器传送到客户机,在客户端处理显示更新。其平立性较差、客户端计算复杂。像素源语能使系统显示像素区域的所有更新。它不需要任何有关显示内容的语义信息。图形源语,如字形,用于系统从图像中分离要显示的字形。

VNC采用基于像素的显示编码。其协议RFB支持2D绘图源语,如对文本窗口的屏幕区域,采用单色或双色的位图填充。RFB也可设置为仅使用Raw像素编码,但在默认情况下不采用该编码。Citrix的MetaFrame、微软的终端服务和Tarantella采用基于图形的显示编码。其协议ICA、RDP和AIP支持字形、图标、图像和绘图命令等绘图源语。

在单独测试协议编码源语对系统的性能影响时(AIP无法关掉高速缓存的选项;RFB无法关掉显示压缩),在100Mbps带宽网络环境,网络性能测试中,传输内容相同的情况下,AIP响应时间最短,其次是采用2D绘图原语的RFB,而ICA和RDP则具有相同的延迟时间且响应时间最长。在传送数据量方面,如果传输相同内容的文本图像混合网页,RFB传输的数据量最少;AIP、ICA和RDP传输的数据量相同且大于RFB。如果是传输相同内容的纯文本网页,则RDP和ICA传输的数据量最小,AIP次之,RFB最大。由此可见,采用基于图形的显示编码在传送纯文本时比RFB的带宽效率高。

2.2显示更新机制

显示更新机制包括更新时机(TimingofDisplayUpdates)及刷新模式。更新时机有客户端拉动(Client-pull)和服务器端推动(Server-push)两种;每种技术又可采用两种刷新模式,即懒惰更新(LazyUpdate)和急切更新(EagerUpdate)中的一种。客户端拉动是一种由客户端驱动的显示更新技术,由客户端决定屏幕更新的时机。服务器并不将每次更新都发送给客户,只有收到来自客户机的请求时,才将最近的显示更新发送出去。服务器端推动是由服务器驱动的显示更新技术,由服务器决定屏幕更新的时机。它需要根据刷新模式来确定何时发送屏幕更新给客户。急切模式是当服务器上的应用程序产生绘图命令时,瘦客户系统立即将命令转换为基本的显示编码源语并把显示刷新数据发送到客户端,它使服务器能跟上应用程序的翻译命令。懒惰刷新模式是将若干翻译命令首先缓冲,然后再需要时懒惰地发送合并的显示刷新到客户端。对于实时视频显示,懒惰显示刷新模式导致许多视频帧在服务器端被合并和覆盖,使发送刷新的频率降低。它虽然能减少数据量的传输,但影响了系统的视频性能。

在RFB中采用客户端拉动的懒惰更新模式。当客户端请求时,更新被懒惰地发送。但常常由于客户运行的VNC已被大量地加载,客户端变成申请显示刷新的瓶颈,导致在客户机端产生下一个更新请求前,服务器端已将那些被合并和覆盖的视频丢失了,所以其视频播放的性能较差。Citrix的MetaFrame和微软的终端服务依赖于服务器推动的懒惰更新模式。它比RFB的视频性能要好一些,不会在客户端产生显示刷新的瓶颈,但仍然会放弃或者融合服务器端的显示。AIP使用服务器推动技术,刷新模式则能根据带宽情况在急切和懒惰中进行智能选择。它在100Mbps的视频性能测试中表现很好,尤其对于多媒体视频应用程序。AIP使用懒惰模式来适应较低的带宽。

在100Mbps网络环境中。RDP、ICA和RFB传送低质量视频,相比之下ICA、RDP要比RFB好一些,而AIP能传送超过90%的视频质量(可由式(1)计算),但在10Mbps降到仅有大约50%的视频质量。传送的数据量从大到小依次为AIP、RDP、ICA和RFB。

2.3压缩编码和缓存

压缩编码不仅影响服务器将屏幕更新传送到客户端时的数据量,还决定了将屏幕更新数据呈递给客户端的显示引擎设计的简繁程度。好的压缩编码压缩比高,网络带宽要求低,且客户端能用简单的显示引擎快速高效地显示出来,响应时间短。客户端缓存用来保存经常使用的显示元素,如字体和位图等,使得假如当前所需显示的元素在缓存中,客户端就可从缓存中获得,而不必重复向服务器端发送请求获得。在高带宽下,网络不是瓶颈,此时使用缓存会造成一些附加的计算,影响平台性能。在较低带宽下,性能与数据传输量有直接关系,缓存和好的压缩算法有利于提高性能。

RFB主要采用二维运动步长编码(2DRLE)的变种,如CopyRectangle、RRE(Rise-and-Run-Length)、CoRRE(CompactRRE)和Hextile等,缺省时使用Hextile编码。虽然RFB中压缩编码算法压缩比不是很高,但由于算法简单,故对客户端的图形显示引擎设计要求较低,客户端程序很简单,这使得VNC成为真正的瘦客户系统。RFB采用本地帧缓冲,如果需要显示的某一部分数据在当前缓冲中,客户端只需将其拷贝到屏幕上所需的区域,而无须发送请求给服务器。但由于RFB仅保留当前显示的数据,没有提供足够的历史记录,对减少数据量的传输效果不大。如果仅在屏幕中移动窗口或滚动窗口内的内容时,RFB具有一定的优势。ICA和RDP都使用运行步长(RLE)编码压缩;字体和小的位图保存在客户端缓存中,大的位图保存到客户端磁盘中。AIP使用了RLE和LZW编码压缩,并且使用一种自适应机制来应付网络带宽的变化,在高带宽时关闭压缩,在低带宽时打开。AIP在客户端使用显示对象缓存。RFB在压缩纯文本数据时,可以压缩到原数据量的3%;而在压缩图像数据和视频数据时,这个比例分别为6%和30%。ICA在压缩纯文本数据时,可压缩到原数据的30%;而在压缩图像和视频数据时,压缩比分别可以达到45%和68%。RDP在压缩纯文本数据和图像数据时,可将数据量压缩到原来的40%;在压缩视频数据时,压缩比可达58%。对于视频数据而言,ICA压缩后的视频质量会降低近一半,而RDP压缩后的视频质量几乎不变。对于AIP,压缩时视频质量从高于90%降到不足30%。AIP不能单独设置压缩,当压缩被打开时,缓存也同时被打开。在100Mbps带宽下,其等待时间增加了13%,这主要是由缓存的额外开销所影响的。

在100Mbps带宽下,RFB和RDP使用缓存在等待时间、数据传输量和视频性能上几乎没有什么影响。ICA的高速缓存使平均网页等待时间增长了40%。这说明在高带宽网络环境中ICA缓存的额外开销超过它的好处。但ICA的缓存机制却减少了数据量的传输。ICA传输文本数据、图像数据和视频数据时,数据量分别减少为原来的55%、34%和62%。但此时由于传输速度减慢、传输数据量减少,严重降低了视频质量,致使视频质量从大约50%降到不足5%。这说明ICA高速缓存的额外开销在高带宽环境下超过其对性能的贡献。

3结束语

由以上对影响瘦客户平台性能的几方面因素的分析可得出以下结论:

(1)在带宽足够高的情况下,显示编码计算的复杂程度是决定性能的主要因素,而并非其生成数据量的大小。基于像素的显示编码计算简单;图形编码方式带宽利用率一般较高,但若屏幕内容为图文混合时,像素编码方式却比图形编码方式的带宽效率高。像素编码与图形编码相比具有更好的平立性。

(2)显示更新机制是视频质量的重要决定因素。带宽较宽时使用服务器驱动的急切更新模式,能获得较好的视频性能;较低带宽下为减少响应时间,节省网络带宽,使用懒惰更新机制,它通过放弃或者融合显示更新牺牲了视频质量。客户端驱动容易造成客户请求的瓶颈。

(3)压缩和缓存都能降低数据量的传输,但在不同网络带宽下,压缩与缓存在计算开销和带宽保留之间存在着平衡的问题。简言之,当有足够的网络带宽时,减少处理时间是可取的,而在较低的网速下减少传输的数据总和是有益的。

借鉴上述平台的优点,使瘦客户平台在不同的网络环境下都具有较高的性能,并对各种应用传送的屏幕内容都能很好地适应。要求其具有智能选取显示编码(或开发出具有更好适应性的显示编码)和更新机制的能力;智能地控制压缩和缓冲的打开及关闭。通过智能启发式的机制,在用户不干预的情况下,通过测量自动判断目前的状况并动态适应,从而使瘦客户平台具有对客户机计算能力和带宽的适应性,即在各种网络带宽和客户机的情况下,都能获得较高的性能。以上分析为今后开发具有自我知识产权的高性能瘦客户系统提供了基础。

参考文献:

[1]RICHARDSONT,STAFFORDFQ,WOODKR,etal.Virtualnetworkcomputing[J].IEEEInternetComputing,1998,2(1):32-38.

[2]RICHARDSONT.TheRFBprotocol[S].[S.l.]:RealVNCLtd,2003.

[3]MicrosoftCorporation.MicrosoftWindowsNTserver4.0,terminalserveredition:anarchitecturaloverview[R].[S.l.]:Redmond,1998.

[4]Bocaresearch.citrixICAtechnologybrief[R].[S.l.]:BocaRaton,1999.

[5]TarantellaCorporation.Atechnicaloverview,Atarantellawhitepaper[R].[S.l.]:[s.n.],2001.

[6]NIEHJ,YANGSJ,workcomputinglaboratory[R].[S.l.]:ColumbiaUniversity,ComparisonofThin-clientComputingArchitectures,2000.

[7]YANGSJ,NIEHJ,NOVIKN.Measuringthin-clientperformanceusingslow-motionbenchmarking[J].ACMTransationsonComputerSystem,2003,21(1):87-115.

[8]RIEDLLR.Technologiesofthin-clientarchitectures[R].[S.l.]:[s.n.],2001.

体系结构范文第5篇

【关键词】中国古代货币/货币体系/结构变化

【正文】

六、重建货币体系的尝试

"钱荒"产生了不利影响,引起了重视,唐政府采取了多种措施,包括"会昌灭佛",以图解决,但由于商品经济发展势头不减,而铜钱的铸造不仅没有相应增加,反而有所减少,流通中货币不足的问题没有解决,而且经历了唐末五代的混乱,延续到了宋代。

唐中叶行两税之后,尽管在以后的两个世纪中战争和动乱成为了主调,但在富于弹性的土地私有制作用下,经济仍保持了蓬勃向上的势头,商品流通日益兴盛,流通中商品价值总额持续增加,相应的货币体系的建立是必要和必然的,在唐末五代期间,货币发展演变的情况,表明了对货币体系的需求。

货币体系的结构是价值较高的金属成为货币,价值较低的金属成为辅币,彼此相权,共同起交换媒介的作用。应该说明,这里所说的金属价值的高低是相对而言并非绝对所指,判断和决定金属的价值需要一个标准一个基点。自黄金退出货币行列之后,铜钱长期在货币行列中充任主角,有时甚至是唯一的金属货币。唐中叶后绢帛也逐渐退出了,铜钱更是唱了独角戏。在这种情况下要重建货币体系,其依据金属价值高低的结构变化的基点自然是铜钱。

货币体系的建立需要价值不等的两种以上货币相权,而金属价值的高低是相对的而不是绝对的。对于唐中叶后货币体系结构变化的基点铜钱来说,在金属行列中,有价值高于它的金和银,也有价值低于它的铁、锡、铅,货币体系的结构变化就以铜钱为基点,按金属价值高低,向两边展开。如果黄金和白银加入货币体系,就作为价值较高的金属充任"货币"以和价值较低的作为"辅币"的铜钱相权;如果加入货币体系的是铁、锡、铜,那么这些金属就因价值较低而充任"辅币"以和价值较高的作为"货币"的铜钱相权。唐中叶以后货币体系重建尝试的演变发展,就是这样运动的。

严格说,长期以来,黄金白银这些贵金属并没有完全离开货币行列,在两汉、魏晋南北朝时期都有金银的货币职能记载。这里所说的黄金退出货币行列,是指从数量上说黄金已起不了曾经起过的在货币体系中"货币"的作用了。到唐代,在较长时期里,法令没有承认金银的货币地位,直到"钱荒"已较严重的元和元年(公元806年),宪宗诏书中还有:"银者无益于生人"〔28〕的字样。但是,政权的力量并不能完全控制经济,控制贷币。就象不能阻止绢帛退出货币行列还原为普通商品一样,政府法令也没有能够阻止金银进入货币行列发挥货币职能。"货币天然是金银",金银在唐、五代、宋时期的一些场合表现为货币贮藏和支付手段,而且时间越往后推移这种情况越多。贵金属金银以十足货币的身份加入货币体系,〔29〕因其价值较高而作为"货币"以和作为"辅币"的铜钱相权。

除了金银这样的贵金属加入货币体系和辅币铜钱相权以外,还有价值低于铜的其他金属,如铁、锡、铅加入货币体系和铜钱相权。铁加入货币行列较早,南朝萧梁时就铸行过铁钱。〔30〕唐代魏博镇管内亦铸行过铁钱。〔31〕锡钱亦在唐朝前期出现过。〔32〕两税法后,随着流通中商品价值总额增加,社会经济对货币的需求也日益旺盛。货币行列中的铁锡铜钱也增多了,是时,经济较繁荣的"江淮多铅锡钱",河东一带也有锡钱出现。〔33〕据两唐书食货志所载,唐政府曾用严刑峻法禁止铅锡钱的铸造和流通,但收效并不明显。到五代十国,割据者们为解决管内货币不足的问题,不但不禁止铁、锡、铅钱的流通,反而由官方铸造发行。楚王马殷曾铸行铅、锡、铁钱,其中铅钱十文当铜钱一文,锡钱则一百文当铜钱一文。〔34〕割据闽的王审知父子也大量铸行铅、铁钱〔35〕南汉铸铜、铁、铅钱,其中铅钱十文当铜钱一文。〔36〕南唐铸行铜、铁钱,开始铜铁钱等价并行流通,结果不久铜钱就被铁钱逐出国境,于是南唐政府正式规定铜钱一文当铁钱十文,货币从而得到稳定。〔37〕后蜀政权也铸行铁钱,与铜钱兼行。〔38〕从史实可以看出,加入货币行列的铁锡铅钱和铜钱的比价一般是十文或一百文比一,铁锡铅钱是"轻币",起"辅币"作用,铜钱则相对较重,成为"货币"。价值较高的金属铜钱和价值较低的铁锡铅钱构成一种新的货币体系。

以铜钱为基点,货币体系的重建就这样向两边展开了。但是到了北宋,稳定的货币体系仍然没有能够建立起来,其原因是数量问题。建立货币体系,需要适当的金属供给量,对于贵金属金银来说,唐中叶以后的相当一段时间其数量失之于少,对于贱金属铁锡铅来说其供给数量始终失之于多。唐中叶以后经济持续发展,需要不断增大货币供应量,但贵金属数量却没有相应增加,因数量下降而退出货币体系的黄金自不必道,东汉以后的史实说明了这一点。拿白银来说,唐宪宗元和初每年银矿课额仅为一万二千两,到宣宗时因银治有所恢复,课额较元和初翻了一番多,但也仅为二万五千两。〔39〕"货币天然是金银",如果贵金属金银有足够的适当的供应量,稳定的由贵金属金银和贱金属铜钱构成的货币体系是能够建立起来的,只是因为金银数量不足,这种合理的稳定的货币体系无法建立起来。铜并非贵金属,但和铁锡铅相比,还是算价值较高的,中国自古就有"美金以铸剑戟,试诸犬马,恶金以铸鉏、夷、斤、斫,试诸壤土。"〔40〕的说法,"美金"指铜,"恶金"指铁,这里的美恶标准也包括了价值高低,作为"恶金"的铁被直接用于农业劳动,每一个农业家庭都用得上,用得起,数量是相当大的。把每一个农业家庭都用得起的铁以很细小的形状加入货币行列,其供应数量必然远远大于铜,铅锡的价值在古代也低于铜。就内部结构说,价值较低的金属铁、锡、铅成为"辅币",价值较高的金属铜成为"货币",二者彼此相权,共同构成货币体系,理论上是成立的。但是作为交换媒介,货币存在一个和商品的比价问题,币轻而物重,币重而物轻,和货币体系外部的商品比,铁锡铅钱的比价就相当低了。这种情况,造成了很大困难。五代十国时期由于铁锡铅钱由官府发行,流通界低值贱金属辅币骤增,本来铜钱主要就是用于小额交易的,涌入流通界价值远低于铜的铁、锡、铅等低值贱金属铸币已没有更细碎的交换与之相适宜,于是在实际流通交换中就出现了交换媒介过多过重,不便携带的局面。如在宋代主要铁钱区四川:"川界用铁钱,小钱每十贯重六十五斤,折大钱一贯重十二斤。街市买卖,至三五贯文,即难以携持。"〔41〕如果宋政府能够完全有效地控制经济,控制交换媒介,供给数量大的铁锡铅钱还是可以被控制在一个适当的程度上,这些低值贱金属就能够在货币体系中起到辅币作用,有效地用于日常小额细碎交易,北宋政府把川蜀划为铁钱区就有这样的用意。但事实上政府并不能完全左右货币,拿川蜀铁钱区来说,铜钱总是冲破封锁进入四川和铁钱相权,川蜀一带铁钱和铜钱的比价一般维持在一比十左右,铁钱的购买力总是很低,不得不用大数量完成交换,一匹罗的交易并不算大,却需用到两万枚铁钱,重达一百三十斤,〔42〕这怎么说也是不方便的。这样,由于铁锡铅钱供给量过大,在作为商品交换媒介时比价太低,理论上能够成立的铜钱和铁锡铅钱相权构成的货币体系实际上难以适应日益发展的商品经济,无法运转。

重建货币体系的尝试,即以铜钱为基点向贵金属和低值贱金属两极的运动没有成功。在两税法颁行后的两个多世纪里,建立稳定而完整的,能够适应日益发展的商品经济的货币体系的目的因金属供应数量的不合适而未能达到。但货币体系的重建是商品经济发展的必然,到北宋,纸币出现,缓解了这个问题。

七、纸币与货币体系

纸币肇始于唐之飞钱,形成于北宋时的交子,以后南宋、金、元、明均有所发展。一般认为商品经济发展,交换日趋发达是纸币产生的根本原因,此确为不替之论。但我们还可以以货币体系发展演变的角度观察,以期对宋、金、元、明时期以纸币为主要内容的货币运动有更明晰的了解。

纸币主要是用来代替大数额贱金属铸币的,这一点,在纸币的最早雏形"飞钱"与铜钱的关系中就可以看出。唐后期出现的用于汇兑的飞钱,是钱荒的产物。当时因流通中货币不足,政府颁行禁铜出境的法令,各地效尤之,纷纷划地为牢,富商大贾采用汇兑方式以避之。"时商贾至京师,委钱诸道进奏院及诸军、诸使富家,以轻装趋四方,合券乃取之,号飞钱''''"。〔43〕分析一下这段记载。能到较远的"京帅"、"四方"做生意的商贾,资金肯定不少,他们把大数量的钱(当然是指铜钱)委于诸道进奏院及富家后方"轻装趋四方",如果钱少,用不着取"飞钱"便已经"轻装"。这说明自起始飞钱就和大数额货币有关。从宋代交子的面额可以更清楚地看出纸币是用来代替大数额货币的。

交子产生前最直接原因是体大值低的铁钱给交易带来不便。自宋仁宗天圣元年(公元1023年)交子改由官办后,交子的面额有所规定。起初交子的面额还是临时填写,有一定等级,自一贯至十贯;宝元二年(公元1039年)改为十贯和五贯两种,并规定发行额中,八成是十贯的,两成是五贯的。到神宗熙宁元年(公元1068年),又改为一贯和五百文两种,六成为一贯的,四成为五百文的。〔44〕交子面额大的达十贯,小的也有五百文,没有数文、数十文面额的。这表明,蜀地交子是用来代替大数额铁钱的,作较大数额交易之用,并没有代替小数额铁钱。细碎的日常交易,仍然由铁钱充任。从货币体系的结构角度看,交子代替了应由较高价值金属充任的"货币",而铁钱则是作为价值较低的金属用作"辅币"。

不仅交子如此,南宋和金的纸币也是大面值的。如会子,最初以一贯为一会,孝宗隆兴元年(公元1163年)增发了五百文、三百文、二百文三种。〔45〕孝宗时会子价值较稳定,零星小额交易,用的是贱金属铸币。南宋的一些地方性纸币也属于这种情况,如始用于湖北路,后通行于湖广的湖会分一贯和五百文二等;流通于兴元府(今陕西汉中)的铁钱会子,分三百文、二百文、一百文三等;用于两淮的淮交面额分四等,和会子相同。金朝发行交钞,分大钞小钞两类,和辽、宋旧钱及后来金自己发行的铜钱并行。金的大钞分一贯、二贯、三贯、五贯、十贯五种;小钞分一百文、二百文、三百文、五百文、七百文五种。这些,都说明了纸币是用来代替大数额货币的,用于大数额交易,纸币在货币体系中起到应由较高价值金属充任的"货币"的作用。宋金在发行纸币的同时都有铜铁等价值较低的金属铸币与之并行,铜铁等铸币起"辅币"作用。纸币和贱金属铸币共同构成货币体系。

元代的纸币有二贯、一贯、五百文、三百文、二百文、一百文面额的,这和宋金纸巾面额大体一致。元代纸币面额和宋金不一致的是发行了五十文、三十文、二十文、上文的小钞,甚至发行过五文、三文、二文的厘钞,这些小面额的纸币,自然是用于小额细碎文易。考虑到元代使用纸币的程度很高,其主要币制中统钞、至元钞都是纯纸币,这种安排是必然而合理的。元代的这种纯纸币结构,使人基本上无法看出货币体系,因为这样的货币结构,表明所有金属,不管价值高低,都从交换媒介行列中退出了。

最能说明纸币在货币体系中地位、作用的是大明宝钞。洪武八年(公元1375年),明政府开始发行"大明宝钞",钞面以钱文计,分一贯、五百文、四百文、三百文、一百文六等。洪武二十二年(公元1389年)曾加印过五十文至十文的小钞。洪武十年(公元1377年)复设行钞时罢废的宝泉局,铸小钱与钞兼行,并具体规定百文以下的交易支付专用铜钱。〔46〕洪武十年所作的钱钞兼行规定是宋代以来最完善的钱钞结构。从大明宝钞制的具体规定来看,纸币在由钱钞构成的货币体系中充任的是"货币",而铜钱则担任"铺币"的角色。这里需要说明,从洪武八年实行钞法,停止铸钱以后,直至孝宗弘治中的约一百二十年间,一直很少铸钱,〔47〕洪武二十二年加印的小钞,是针对这种情况而采取的措施,有回复到纯纸币的趋向。

根据上述,如果说萌芽于唐,形成于宋的古代纸币在货币体系中的地位,作用一开始还不那么明朗,那么清晰的话,那么发展到明代的大明宝钞制度所作的钱钞兼行,百文以下的交易支付专用铜钱的具体规定就明确了纸币在新形成的由钱钞构成的货币体系中的地位和作用。关于这一点,我们还可以从纸币和贵金属的关联中进一步证实。

纸币是金属货币的象征和代表,而用作货币的金属又因其价值大小有贵贱之分。我们知道,贱金属辅币和贵金属货币之间有相权关系,小数额贵金属等于大数额的贱金属铸币,这样,主要用于代赞大数额贱金属铸币的纸币自然会与贵金属相关联,这在历朝历代的一些规定中可以看出。北宋时因四川是铁钱区,交子的面额单位和实际使用只能直接表现为铁钱。南宋会子虽然没有明确规定和白银的比价,但孝宗时一再用银、钱回收会子以保持其价值,说明纸币和贵金属白银有内在的联系,虽然会子的面值单位是钱而不是银。纸币制度在金朝有较大发展,这一情况也表现在纸币和贵金属的关系上。据《金史·食货志》所载,金行的几种纸币已直接和白银联系,金宣宗兴定元年(公元1217年)发行"贞祜通宝",规定"通宝"四贯,值白银一两;元光元年(公元1222年)发行"兴定宝泉",二贯当白银一两;金灭亡前数月发行的"天兴宝会",面额已经完全以银计,分一钱到四钱共四等。金朝交钞和贵金属白银的直接联系还只体现在后期发行的几种纸币上,元朝的纸币则一开始就和贵金属联系,如"中统元宝交钞",以丝为本钱,以两为单位,丝钞二两值白银一两;"中统元宝钞"二贯等于白银一两,十五贯易赤金一两(后改为二十贯易赤金一两);武宗至大三年(公元1310年)发行"至大银钞",更直接地规定了纸币与白银之间的直接联系,面额均以银两计,自二两至二厘共定为十三等,同时铸造铜钱并行流通。〔48〕明代大明宝钞制规定,钞面以钱文计,钞一贯等于银一两,四贯等于金一两。〔49〕以上史实,说明随着纸币制度的发展和不断完善,纸币和贵金属的联系日益紧密,纸币日益表现为贵金属的价值符号。

既然纸币主要是用来代替大数额贱金属铸币,进而和贵金屈货币相联系,那么很自然纸币就能够代替贵金属"货币"和贱金属"辅币"相权,共同构成货币体系,事实上纸币产生后的货币体系就是这种结构。从形式上看,由铜铁等贱金属铸币和纸币构成的货币体系是完整的,从理论上看也是合乎规律S的。如果纸币和它所代表的大数额贱金属铸币以及贵金属之间的比价能够按规定保持得住的话,那么纸币作为"货币"同用为"辅币"的铜铁等贱金属铸币构成的货币体系也就能够稳定下来,从事实角度看这种新结构的货币体系也就证明能够成立。但是,纸币只是金属货币的象征,"相对没有价值的东西,如纸,可以作为金货币的象征发生作用。"〔50〕纸币作为宋、金、元、明的主要交换手段,受到自身规律的制约。事实上自宋至明,历朝历代的各种纸币制度无一例外地在膨胀中崩溃,钱钞构成的货币体系也随之瓦解。这种情况,给这一段时期的货币流通带来新的波动。

马克思指出:"在(纸币这种)价值符号的流通中,实际货币流通的一切规律都反着表现出来了,颠倒过来了。金因为有价值才流通,而纸币却因为流通才有价值。已知商品的交换价值,流通的金量决定于金自己的价值,而纸票的价值却决定于流通的纸票的数量。"〔51〕在掌掘纸币发行权的政府把纸币发行量控制在一个合理的,和市场需要相适应的量上时,纸币价值是稳定的,由钱钞构成的货币体系从而能够存在下去。历史上这种情况还是有的,如南宋孝宗至宁宗的数十年间,会子价格大体保持稳定;〔52〕元中统钞初发行时的近二十年"钞法无少低昂"。〔53〕但这种情况毕竟太少。"钱之弊在于伪,钞之弊在于多。"〔54〕由于纸币相对没有价值,"以无用为有用",〔55〕超量发行是解决短期财政危机立竿见影的有效方法。总的说来,纸币是无法按市场实际需要量发行的,纸币因膨胀而崩溃在所难免。如果说北宋和西夏的战争是四川交子膨胀的原因之一;蒙古骑兵南下促使金交钞、南宋会子迅速崩溃:而执政不得人是元代纸币制度短期内瓦解的主要因素的话,那么大明宝钞制度则是在明初相对平静的政治、经济、社会、军事环境中因纸币膨胀而很快解体。实践证明,新的,由纸币以贵金属价值符号身份充任"货币"以和铜铁等贱金属"辅币"构成的货币体系无法长期稳定,常因纸币的瓦解崩溃而解体,货币体系的结构问题没有得到有效的根本解决。

但在自宋代纸币产生至明中叶开银禁的四百多年中,纸币毕竟作为大数额贱金属铸币以及贵金属的代表在相当程度上缓解了商品经济持续发展所造成的对货币的需求压力。当然,纸币带来了新的波动.形成对政治、经济、社会的新的冲击。纸币是金属货币的象征和代用品,从纸币名称的演变中也可以看出其与金属的关系。纸币唐代称"飞钱",北宋称"交子"、"川引",南宋称"关子"、"会子",金始用"交钞"之名,元代省"交"用"钞",明因之,"钞"字最终成为纸币的定称,沿袭至今。"钞"字原只有掠夺和誊写的含义,用作货币名自纸币始,而且成为专门用字,原有的掠夺、誊写之义渐渐湮灭。从"钞"字的结构看,从"金"从"少",形象地表明,因"金"过"少",纸币才代表金属加入货币行列。

经过由宋至明的四百多年实践,稳定的货币体系没有形成,一旦纸币膨胀,由纸币和贱金属铸币构成的货币体系便告瓦解,并给货币本身和相应的政治、经济、社会带来波动。然而商品经济仍在发展,流通中商品价值总额日益增加,货币受到的需求压力有增无减,建立稳定的货币体系的客观要求依然存在。到了明代,一些情况起了变化。

八、货币体系重新建立

在自北宋至明中叶的约四百年中,纸币以金属货币代用品的身份一定程度上缓解了经济发展对货币的需求压力,但是纸币相对没有价值的天然缺陷造成了货币新的波动。金、南宋、元的灭亡都伴随着纸币的最后崩溃,纸币恶性膨胀成为这些朝代的促进因素之一。事实证明,纸币并不是构成货币体系的合适币材。

到了明代,情况发生了变化,贵金属白银成为了主要货币,其在货币行列中的地位终于稳定住了。这样一来,黄金退出后造成的应由贵金属充任的货币体系缺环终于由贵金属白银填补上了。

明代白银成为主要货币的开始时间,一般定为英宗正统元年(公元1436年),这一年明政府解除银禁,并将南畿、浙江等地田赋折征银两。实际上正统年间弛用银之禁只不过是在法令上承认了民间"不论货物贵贱,一以金银定价"〔56〕的现实。但是应当看到,明初白银生产并没有突出的增长,国外白银的输入也还少,白银之所以能够在正统年间正式成为主要货币,主要原因在于经过长期积累,社会中白银数量已达到和社会经济的需要相适应的规模,〔57〕这一事实导致明初大明宝钞的大幅度贬值,另一原因则是明初铸钱的极度不足,其中宣德以后的五十年里完全没有铸钱。明初两种主要货币既然已难以承担交换媒介的作用,百姓才不得不冒犯禁之险用银,白银遂成为主要货币,贵物均用之。山于明初没有很充足的白银在市场上流通,所以银价颇高。据彭信威教授考证,以米价为参照,明代十六个年号中,(泰昌仅一月余,未计入)银价最高就是弛用银之禁的正统年问。〔58〕以绢价为参照,明代白银购买力最高是十五世纪前半,也就是正统前后〔59〕。以后随着国内银产量的增加,海外白银的大量输入,特别是白银的不断积累,白银才算最后解决了数量问题,银价也随之回落。

我国银产量原来并不丰富,到了明代,这一情况有一定好转。明初的洪武二十四年(公元1391年)政府的矿冶收入只有二万四千七百四十两,四十年后的宣德五年(公元1430年)达到了三十二万零二百九十七两,〔60〕增幅不小,绝对量却不能说很大。云南等地的开发是明代白银生产增加的重要因素,如天顺四年(公元1460年)云南银课额为十万两有余,占该年全国银产课额的一半以上。〔61〕明政府对白银生产的控制管理不是很有效的,很多地方的银产无法用银课来衡量,"奸民"生产的白银当不在少数,从明代抗矿税斗争力各朝之冠可以看出这一点。当然,明政府管理控制不到的矿山所生产的白银最终还是进入流通,从而增加了流通中的白银数量。国内产量的上升和社会中积累量的增长是明代流通领域白银增加的首要原因,占第二位的原因就得算海外输入量的迅速增长了,这一点跟世界形势有关。1492年哥伦布发现美洲后,随着美洲丰富矿产的开发,大量金银到了欧洲人手里,其中一部分辗转运到东方,在换货贸易中为平衡国际贸易差额作为世界货币流人中国。中国在国际贸易中长期占有出超优势,如东印度公司的英国船只第一次来中国的收获是"没有卖出一件英国货,只是抛出了八万枚西班牙银元。"〔62〕据彭信威教授估计,仅马尼拉一地,自隆庆五年(公元1571年)开港到明末的七、八十年间,经由菲律宾而流入中国的美洲白银,大概约合四千多万库平两。〔63〕大量白银流人中国,加上国内产量上升,积累量增加,流通中白银数量持续上升,使得以米、绢、布、金、铜、铜钱为参照的银价自正统后呈下降之势,〔64〕尽管明代持续发展的商品经济对货币的需求不断增加。

"货币天然是金银",和黄金一样,白银是合适的贵金属币材。自两税法后,商品经济持续发展,货币所受到的需求压力不断加强。深入看这种压力主要体现在货币体系中不可少的"货币"上,这应由价值较高的贵金属充任。货币体系需要建立,但最适合的贵金属币材即金银却在相当长的一段时间里远远不足。货币受到的需求压力不断增大,使得货币本身长期波动。在需求压力的驱使下,铁、锡、铅钱以及纸币一一登台,试图和稳定的铜钱一道构成新的货币体系,但这些不正常的货币体系结构总不能长期稳定。到了明代,贵金属白银解决了数量问题,明初铜钱铸造量小的情况也从弘治十六年(公元1503年)恢复铸造起得以改变。这样,"千呼万唤始出来",由白银和铜钱构成的货币体系最终建立起来。与两税法后曾经出现过的几种货币体系,即铜钱和铁、锡、铅钱,纸币和铜钱构成的货币体系结构相比,这种由价值较高的贵金属白银和价值较低的贱金属铜钱构成的货币体系结构是正常的,从而在货币运动中要稳定得多,便利得多。主要用于大额交易的白银和主要用于小额交易的铜钱遂成为明中叶以后及清代的基本货币。

明清两朝商品经济在更广范围更深程度发展,其主要表现是产业结构的调整,这种情况保持了商品经济的上升势头。由于海外白银的不断输入,保证了货币的投放量,明中叶以后的货币体系波动很小。明末清初曾出现过"银荒"。"银荒"出现的原因明清各有不同,明末的主要因素是"三饷"等加派均以银计,在短时间内大幅度提高对白银的需求,白银所受压力骤然增大,价格从而上升;清初的主要因素则是实行海禁使白银输入剧减,这也导致银价的上升。明末清初的具体情况使得由白银和铜钱构成的货币体系出现一些波动。康熙中叶以后,随着经济和财政的好转,特别是随着海禁解除,国外白银重新大量流入中国,"银荒"消失,由白银和铜钱构成的货币体系又稳定了下来。这里值得一提的是清朝的纸币,清入关初曾发行过纸币,但随着军事行动大致停止,在顺治十八年(公元1661年)停止了纸币发行,并吸取前代教训,在以后的近二百年中坚持不发行纸币的政策。嘉庆十九年(公元1814年)侍讲学士蔡之定因奏请行楮钞而获罪;道光十七年(公元1837年)吴县诸生王鎏著《钞币刍言》,主张行钞,虽轰动一时,但仍未实行。直到咸丰三年(公元1853年)因镇压太平军的需要,方才发行纸币,但仅维持了十年便因局势的变化而废止了。清朝之所以能把行之多年的纸币废而不用,其货币方面的原因是白银和铜钱构成的货币体系已经建立并正常运转,纸币已无存在的必要。当然,我们应该看到,明中叶以后白银和铜钱构成的货币体系建立后纸币实际上就已经不起交换媒介作用了,只不过明朝把大明宝钞作为祖制保存了下来,清朝不受此约束,故能干净利落地废止了纸币。除跨入近代受欧美币制影响外,清朝的货币体系由贵金属白银和铜铸币构成。

由贵金属白银和铜钱构成的货币体系符合货币规律,从而能够长期稳定。清朝的货币较之前几朝较少波动,稳定得多,这一情况,成为清代政局的稳定因素之一。

结语

马端临曾对元朝以前的货币及货币体系作过概括:"生民所资,曰衣与食,物之无关于衣食而实适于用者,曰珠玉五金。先王以为衣食之具末足以周民用也,于是以适用之物作为货币以权之。故上古之世,以珠玉为上币,黄金为中币,刀布为下币。然珠玉黄金,为世难得之货,至若权轻重通贫富而可以通行者,惟铜而已,故九府圜法自周以来未之有改也。然古者俗朴而用简,故钱有余;后世俗侈而用糜,故钱不足。于是钱之直日轻,钱之数日多。数多而直轻,则其致远也难。自唐以来,始创为飞券、钞引之属以通商贾之厚赍贸易者,其法盖执券引以取钱,而非以券引为钱也。宋庆历以来,蜀始有交子;建炎以来,东南始有会子。自交会既行,而始直以楮为钱矣。夫珠玉黄金,可贵之物也,铜虽无是贵而适用之物也。以其可贵且适用者制币而通行,古人之意也,至于以楮为币,则始以无用为有用矣。"〔65〕马端临谈到上古之世由珠玉、黄金、刀布构成的货币体系,也谈到了由于珠玉黄金"为世难得之货",数量太少,使得铜钱长期在交换媒介中唱独角戏,这就是货币体系的破坏。对于后来纸币加入货币行列马端临是反对的,他虽然认识到"五金"都可制币,但仍主张以"可贵而适用者制币而通行",也就是要建立结构正常的货币体系。马端临的见解是正确的,虽然他未及见明中叶后形成的由白银和铜钱构成的货币体系。

自春秋战国至明清,货币体系经历了极大的变化。在这漫长时期的两头,都存在完整的货币体系,即由黄金和铜钱,白银和铜钱构成的货币体系,这两种货币体系的结构是正常的,具有很大的稳定性。而自魏晋至明中叶的十二个多世纪中,货币发生极大的动荡。从货币体系角度入手,结合政治、经济、社会、军事背景的变化,可以在二千余年货币的动荡、变化和恢复稳定中理出一条线索,有利于中国货币史的研究。注释:

〔1〕〔2〕〔3〕〔4〕〔5〕〔6〕〔8〕〔10〕〔50〕〔51〕马克思:《政治经济学批判》载《马克思恩格斯全集》第13卷(人民出版社1962年版)第54页、第98页、第99页、第101页、第102页、第103页、第111页、第153页。

〔7〕〔9〕〔18〕〔29〕参见拙文《对马克思货币职能观的探讨》载《云南教育学院学报》1990年第4期

〔11〕〔40〕《国语》:《周语》、《齐语》

〔12〕〔13〕〔14〕〔15〕《管子》:《山至数》、《轻重甲》、《国蓄》、《轻重乙》

〔16〕〔17〕《史记·平淮书》

〔19〕《宋书·周朗传》

〔20〕〔21〕〔28〕《唐会要》卷八十九《泉货》

〔22〕《困学纪闻》卷十六

〔23〕《通典》卷二《食货·田制下》

〔24〕〔25〕〔26〕〔27〕李埏:《再论我国的封建的土地国有制》载《中国封建经济史研究》云南人民出版社1987年6月版

〔30〕《隋书·食货志》

〔31〕《天工开物》

〔32〕《旧唐书,食货志上》

〔33〕〔39〕〔43〕《新唐书·食货志四》

〔34〕《十国春秋》·《楚武穆王世家》

〔35〕《十国春秋》·《闽太祖世家》、《景宗本纪》、《天德帝本纪》

〔36〕《十国春秋》·《南汉高祖本纪》

〔37〕《新五代史·南唐世家》

〔38〕《十国春秋》·《后蜀后主本纪》

〔41〕《宋朝事实》卷十五张若谷、薛田语

〔42〕《宋史·食货志下二》

〔44〕明·曹学铨:《蜀中广论》卷六十七《六物记》第九《交子》

〔45〕《宋史·食货志下三》

〔46〕〔49〕《明史·食货志五》

〔47〕参见《续文献通考》卷十一《钱币·明·钱》

〔48〕《元史·食货志一》

〔52〕洪迈:《容斋三笔》卷十四《官会折阅》

〔53〕《元史·刘宣传》

〔54〕邱浚:《大学衍义补》卷二十七《铜楮之币下》

〔55〕〔65〕马端临:《文献通考·自序》

〔56〕《明太祖实录》卷二五一

〔57〕关于白银积累问题,参看拙文《宋金时期白银的生产和使用》(载《宋代经济史研究》云南大学出版社1994年)

〔58〕〔59〕彭信威《中国货币史》第704页、第711页

〔60〕顾炎武《日知录》卷十一《银》

〔61〕《明史·食货志五坑冶》

〔62〕(英)格林堡:《鸦片战争前中英通商史》第一章《旧的对华贸易》商务印书馆1961年版

体系结构范文第6篇

摘要:在分析软件体系结构课程特点及面临的挑战的基础上,讨论了该课程的教学目的,提出了以学生为中心、基于案例的教学方法。教学实践证明提出的教学模式能够激发学生的学习兴趣,帮助学生更好地掌握本课程的理论和方法。

关键词:软件体系结构;软件案例;教学方法

中图分类号:G642文献标识码:A文章编号:1009-3044(2009)28-7974-03

Software Architecture Teaching Research

SHU Yong-an1, LUO Bin1, ZHU Fang-yi2

(puter Science and Technology Institute, Anhui University, Hefei 230039, China; 2.Management Institute, Hefei University of Technology, Hefei 230009, China)

Abstract: On the basis of analyzing the characteristics of software architecture course and the challenges faced, this paper discussed the teaching goals and proposed student-centric and case-based teaching methods. The teaching process proved that the teaching mode can stimulate students' learning interest and help them master the theories and methods of the course.

Key words: software architecture; software case; teaching method

随着信息产业的发展,软件系统规模越来越大、越来越复杂,对整个软件系统的结构和规格的说明比起对计算的算法和数据结构的选择显得更加重要。这使得软件体系结构日益成为软件工程领域的一个主要热点。早期的研究人员如Mary Shaw[1]等认为体系结构类似于全局设计。这种观点强调设计模式、体系结构模式和用某种体系结构描述语言(ADL:Architectural Description Language)对最终的体系结构进行描述。另一种广义观点认为,软件体系结构主要是对不同风险承担者的不同质量目标进行权衡。这样,软件体系结构设计就变成一种平衡行为,对涉及到的所有风险承担者的功能和质量需求的集合进行协调,最终形成一个满足这些需求的全局设计。这种观点正被越来越多的人所接受[2]。

软件体系结构在设计大型复杂软件系统中的重要作用是软件体系结构课程产生的主要原因。“软件体系结构”作为高等学校软件工程专业的一门核心课程,是对软件开发、研究过程中形成的软件体系结构理论成果和实践经验的总结。

1 课程特点及面临的挑战

1.1 软件体系结构课程特点

1) 软件体系结构的概念、原理和方法较为抽象。本课程使用文献[2]中的软件体系结构定义:一个程序或计算系统的软件体系结构是该系统的结构,包括软件的元素,这些元素的外部可视属性以及这些元素间的关系。由于软件体系结构主要处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结构,关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等[3],因此它的原理和方法较为抽象。

2) 软件体系结构是降低开发复杂软件系统风险的工具。传统的软件开发过程可以划分为从概念直到具体实现的若干个阶段,包括问题定义、需求分析、软件设计、软件实现及软件测试等。软件体系结构的建立在需求分析之后,软件设计之前。软件体系结构设计是尽早地做出体系结构方面的重要决策,这些决策在后来的软件开发过程中很难更改。尽早做出正确的决策的目的是为了降低后来改变它们的风险。软件体系结构的目标是建立满足关键需求的系统,而不是设计一个完美的体系结构。这样,产业中的软件体系结构师必须决定哪些体系结构关注点需要仔细处理,哪些关注点可以少注意,以及如何在冲突的关注点间进行平衡。

3) 软件产业环境同软件体系结构教学中的典型练习有很大差别。软件体系结构师不能简单把某种体系结构风格或模式应用于系统变化。软件体系结构师应理解已有的体系结构及其局限性,找出可行的方法去解决新的需求或存在的问题,并评价该方法对体系结构的影响。

4) 一个软件项目涉及很多软件体系结构师和开发人员,与其他软件体系结构师交流并作出共同的决策是常见的工作模式。软件体系结构师和软件体系结构课程学生都应学会如何在一个软件体系结构设计过程中共同承担责任以及在其他人设置很多体系结构约束条件的环境中工作。

1.2 软件体系结构课程教学面临的挑战

一般来说,软件体系结构教学面临以下挑战:学生对现实生活中的软件体系结构挑战没有较多的经验,他们对较难的高层设计任务接触较少。另外,学生对应用领域的熟悉程度还不足以设计该领域的软件体系结构。因此,由于有限的能力和时间,大学课程的设计问题往往从零开始。这与产业环境形成鲜明对照。在产业环境中,体系结构师需要考虑很多已有的软件和系统。与大学的课程练习相比,实际应用中的体系结构决策往往预先受到严格的约束。另外,学生常常有一种心理模式,期望对明确描述的问题去寻找清晰的答案。当遇到松散描述的问题或模糊的问题时,他们往往感到困惑。因此,在大学的软件体系结构课程中开放性问题的解决难度较大。

2 软件体系结构课程的目的

1)学生应该掌握软件体系结构的有关概念,如视图,软件体系结构风格,设计模式等。通过理论和实验教学,使学生具有一定的体系结构设计经验,提高学生处理复杂软件体系结构设计问题的能力。

2)本课程要求教学中提出和要解决的问题对学生具体明确。本课程更多的是通过“做”来学习,“做”主要是构建一个背景来讨论和理解教学内容。

3)本课程在教学过程中强调软件体系结构设计是一个团队活动而不是单个软件体系结构师的个人任务。

4)学生应该知道如何开发一个软件体系结构的不同软件体系结构视图,解决不同风险承担者的关注点,我们使用文献[4]作为模型。

5)学生应懂得软件体系结构的特性。一个软件体系结构从来没有对错之分,至多是能够更好地满足某些环境,它需要在不同风险承担者的关注点间做出大量的平衡。也许存在不同的可接受的解决方案,但最终选择的解决方案依赖于如何在不同风险承担者的关注点间做出平衡[5]。

6)学生应该学会如何评价一个软件体系结构。这给予学生学习和评价一组体系结构决策和平衡的机会。评价活动有助于学生深入了解不同体系结构方案的边界。在评价过程中,学生会理解其它关注点被选中时对该体系结构造成的影响,形成对体系结构描述的质量目标的整体印象。由于评估涉及到要向各风险承担者解释软件体系结构以及导致该软件体系结构的各个决策,这进一步强调了软件体系结构中沟通交流的重要性。

3 基于案例的软件体系结构教学

3.1 课程主要内容

对于大学四年级学生,本课程主要强调概念、原理、方法和实验。课程内容框架如下[6-7]:1)软件体系结构概论;2)软件体系结构建模;3)软件体系结构风格;4)软件体系结构模式;5)软件体系结构描述;6)动态软件体系结构;7)Web服务体系结构;8)基于体系结构的软件开发;9)软件体系结构评估。

根据上述框架,我们首先分析了软件体系结构在软件开发周期中的作用。鉴于目前软件体系结构还没有一个精确的定义,我们讨论了几个有代表性的软件体系结构定义,对它们之间主要区别进行比较。然后我们介绍了如何对软件体系结构进行建模,通过实例重点强调“4+1”模型。

本课程占用较多课时讨论了一些经典的和流行的软件体系结构风格和模式,通过教学案例的讲解和实验,学生应掌握并能够应用这些风格和模式。

为对很多有用的体系结构范例(过程控制、客户机/服务器等)进行统一的描述,需要建立形式化的、规范的描述来对软件体系结构进行表示和推理。我们介绍了多种软件体系结构描述语言,重点介绍基于UML的软件体系结构描述语言并要求学生能够使用该类语言描述一些经典的软件体系结构。

动态软件体系结构是软件体系结构重要研究方向之一,主要研究那些具有特殊使命且需要长期运行的软件系统在运行时刻体系结构的变动。我们主要讨论基于构件的动态系统结构模型和动态体系结构描述语言。

Web服务体系结构是当前流行的软件体系结构之一。我们通过实例详述如何调用Google公司的Web Service接口进行基于Web服务体系结构的软件开发。

在掌握上述内容之后,我们导入基于体系结构的软件开发模型,该模型把整个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现、演化等六个子过程。

通过具体的实例来评价软件体系结构是本课程教学的重要环节之一。我们主要讨论体系结构权衡分析方法(architecture tradeoff analysis method,ATAM)。通过分析软件体系结构对系统的使用或修改活动的支持程度来判断该体系结构对相关的质量需求的满足程度。例如,用一系列对用户需求的变动来反映易维护性方面的需求,用一系列攻击性操作来代表安全性方面的需求等。

3.2 教学案例

由于本课程内容较为抽象,而学生的设计经验不足,仅根据教材内容授课难以取得较好的效果。为此我们采取以案例为主的方法,将抽象的理论和具体的案例结合起来。案例的选取遵循以下原则:一是案例的选取来源于实际的应用系统。一个应用系统往往较为庞大,我们对其进行加工提炼,以适合课堂教学,学生掌握后,能应用于实际,提高软件开发能力。二是案例的选取紧紧围绕教学内容和当前软件行业发展的状况。本课程围绕软件体系结构设计模式、风格以及当前流行的软件体系结构等教学重点选取案例。三是案例能进行功能扩充。我们在每个案例中留置接口,要求学生在实验课中结合其它课程知识,对教学案例进行扩充。这样不仅有助于学生对教学内容的掌握,而且能够培养学生的动手能力。

我们在教学过程中使用的典型案例有:

1)设计模式案例:MVC、Observer、Singleton和Proxy。以MVC为例,我们在JAVA JDK及Netbeans环境下实现如下功能:当用户在图形化用户界面输入一个圆的半径时,图形用户界面画出该圆,程序显示该圆的半径、周长和面积;当用户在图形化用户界面上拖动表示圆半径的滑块时,自动显示圆的半径、周长和面积,并在图形界面上画出图形。该案例把交互系统的组成分解成模型(M)、视图(V)、控制(C)三种构件。通过该案例的学习,学生能很快领会基于MVC的程序设计思想。

2)软件体系结构风格案例:客户机/服务器(C/S)、浏览器/服务器(B/S)风格。以B/S风格为例,我们在Java JDK、Myeclipse及Tomcat环境下实现计算机学院学生学籍管理系统。通过本案例的学习,要求学生掌握C/S、B/S风格的应用。

3)Web Service案例:Googlesearch。本案例调用Google公司的web service,使得程序可以发送查询,并且接受和打印查询得到的结果。通过该案例的学习,要求学生掌握调用Web service的方法。

4) 体系结构评估案例:文章中查找和重组关键词系统(Key Word In Context,KWIC)。

KWIC系统的基本功能是,输入一些句子,KWIC系统把这些句子中的词循环移位转变为新的句子,然后按字母顺序进行输出。本案例采用共享内存、抽象数据类型、隐式调用和管道过滤器四种方案分别实现,要求学生对上述方案进行比较,进行体系结构评估。

4 教学方法

1)激发学生的学习兴趣。本课程的对象是大学高年级学生,他们面临就业和考研的压力。教师在课堂上灌输抽象的概念和模型会使学生觉得枯燥无味,课堂气氛沉闷。我们在重点章节首先讨论有特色的案例,引导学生对案例的源代码进行逆向工程,然后得到软件体系结构。例如,在讲解Web服务体系结构时,我们通过分析Googlesearch案例来分析Web服务体系结构模型,使用Googlesearch来搜索“安徽大学”相关信息并与Google公司搜索平台的结果相比较,从一开始就引起学生的浓厚兴趣。

2)更新教学内容。由于教材内容往往不能及时反映软件体系结构理论和实践的最新进展,我们在教学过程中穿插最新的学术论文,引导学生关注一些热点问题,使得教学内容与时俱进。我们还同有关高校实验室和具有一定规模的IT公司保持联系,借鉴它们的实践经验充实教学案例。

3)分组案例研究。我们将学生分为多个小组,每组3到4人。我们将从工程项目和书籍中收集的案例集中起来,供每组学生选择。每组学生可以从案例的源代码中抽象出软件体系结构,也可以分析某些案例的体系结构风格或模式,或者对有些案例提出其它的解决方案等。在此过程中,小组中的每个学生担任一个或多个风险承担者。每个小组作为其它小组工作的评价者。最后每组就相关内容以PPT形式作一个报告,时间为20分钟,老师和其它小组成员给出评定成绩。实践表明该方法能充分调动学生的学习积极性。

4)实验平台建设。本课程的教学应使学生通过这门课的学习,能够综合运用其它专业知识,在实际工作中进行基于体系结构的软件开发。为此我们设计几个规模较大、结构较为完整的软件项目作为实验平台,比如客户机/服务器(C/S)、浏览器/服务器(B/S)和Googlesearch等,此类项目包括体系结构需求、体系结构设计、体系结构文档化、体系结构复审、体系结构实现和体系结构演化。我们要求学生以团队形式在平台上自定应用领域实践自己的设计方案或对已有的方案进行扩充。通过让学生开发他们自己的体系结构视图和视点,让他们决定要解决的关注点,对同一问题,得出一系列不同的解决方案。学生可以从不同的解决方案中吸取教训,从质量优先级的角度评价不同解决方案的差别。实验课程结束,要求每个团队提交规定的文档,向全班演示实验结果,由老师和同学集体进行评价,给出成绩。实践表明,实验课的教学培养了学生的团队精神,进一步加强了学生对基于体系结构软件开发过程的掌握。

5 结论

针对软件体系结构课程的特点和学生的状况,我们在教学内容、教学方式等方面进行改进,逐步形成以案例为导引、以学生为中心的教学模式,充分调动学生的学习积极性。通过本课程的学习,学生能够很好地掌握软件体系结构的理论、方法和技术,具备一定的基于体系结构软件开发能力。

参考文献:

[1] Shaw M. Toward Higher Level Abstractions for Software Systems[J]. Data & Knowledge Engineering. Netherland:Elsevier Science Publishers B. V.1990,5(2): 119-128.

[2] Bass L, Clements P, Kazman R. Software Architecture in Practice[M]. New Jersey,second edition.USA: Addison Wesley, 2003.

[3] Shaw M, Garlan D. Software Architecture: Perspectives on an Emerging Discipline[M].New York: Prentice Hall,1996.

[4] IEEE Recommended Practice for Architecture Description[J]. IEEE Standard 1471, IEEE, 2000.

[5] M?]nnist?i T, Savolainen J, Myll?]rniemi V. Teaching Software Architecture Design[C]. Seventh Working IEEE/IFIP Conference on Software Architecture. Vancouver, BC, Canada. Feb 18-21, 2008.117-124.

[6] 张友生.软件体系结构[M].2版.北京:清华大学出版社,2006.

体系结构范文第7篇

关键词:软件体系结构风格;正交软件体系结构;模型驱动体系结构

中图分类号:TP3 文献标识码:A文章编号:1007-9599 (2011) 07-0000-01

The Reserch of New Software System Structure

Li Xuan

(Hebei Handan Polytechnic College,Handan056001,China)

Abstract:The paper compares the new tendency and rising system,and offers some ideas about new system.Also offer layer-level theroy which is the basic pricinple and modle is more advantages than language in big complex system.

Keywords:Software-system structure Style;Orthogonal software-system structure,Modle driving system structure

一、概述

软件体系结构在软件工程中有着广泛的应用,许多专家学者从不同角度和不同侧面对软件体系结构进行了刻画。但软件体系结构还处于不断发展之中,研究的焦点集中于如何通过部件和部件之间的交互作用定义一个软件系统,或者说,就是如何从部件(模块)构造系统。

成熟和流行的经典风格有:最常用的c2风格。通过连接件绑定在一起的按照一组规则运作的并行构件网络;在管道/过滤器风格中,每个构件都有一组输入和输出,构件将输入的数据流,经过内部处理后产生输出数据流;数据抽象和面向对象风格则建立在数据抽象和面向对象的基础上,适宜于目前软件界已普遍转向使用面向对象系统这一大趋势。这是软件体系结构研究早期较为合适和理想的途径和模式。

二、新型软件体系结构

(一)正交软件体系结构

正交软件体系结构由组织层和线索的构件构成。层是由一组具有相同抽象级别的构件构成。线索则是子系统的特例,它是由完成不同层次功能的构件组成(通过相互调用来关联),每一条线索完成整个系统中相对独立的一部分功能。

(二)三层C/S软件体系结构

三层C/S结构将应用功能分成表示层、功能层和数据层三个部分。表示层是应用的用户接口部分,负责用户与应用间的对话。功能层相当于应用的本体,处理所需的数据从表示层或数据层取得。表示层和功能层之间的数据交换要尽可能简洁。数据层就是数据库管理系统,负责管理对数据库数据的读写。

三层C/S结构优点:1.允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,能提高系统和软件的可维护性和可扩展性。2.允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层。3.各层可以并行开发,也可以选择各自最适合的开发语言,达到较高的性价比。4.可充分利用功能层有效地隔开表示层与数据层,未授权的用户难以绕过功能层非法访问数据层,系统的管理层次更加合理和可控制。

(三)C/S与B/S混合软件体系结构

B/S体系结构不足:1.对动态页面的支持能力不够,没有集成有效的数据库处理功能。2.系统扩展能力差,安全性难以控制。3.在数据查询等响应速度上,低于C/S体系结构。4.数据提交以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。

解决方案是把B/S和C/S这两种软件体系结构进行有机的结合,扬长避短,有效发挥各自优势。在C/S与B/S混合软件体系结构中,内部用户通过局域网直接访问数据库服务器,外部用户则通过Intenet访问Web服务器,再通过Web服务器访问数据库服务器。

(四)模型驱动体系结构

模型驱动体系结构(Model Driven Architecture,MDA)是国际面向对象管理组织 OMG提出的新的软件开发思想体系。模型驱动体系的核心是引导和根据用户的需求特点建立管理模型,然后根据模型通过软件平台产生OA、ERP等管理应用软件。

三、几点思考

(一)层级理论是构建复杂软件体系的基本原则

诺贝尔奖获得者西蒙曾论述到:“要构造一门关于复杂系统的比较正规的理论,有条路就是求助于层级理论……我们可以期望,在整个复杂性必然是从简单性进化而来的世界中,复杂系统是层级结构的”。由简单到复杂的进化道路上,软件的体系结构、软件开发的体系结构、软件开发工具的体系结构等,都呈现出层级的特征。

(二)一维语言之后是模型

现有的“程序设计语言”是单维的,它的基本语法以前后顺序为基础的。当系统的复杂程度提高时,用这样的语言精确描述复杂系统变得越发困难,可视化开发平台、代码管理工具(甚至某种意义上共享组件也可包括在内)等出现对此是一种补充,但仍然不是最终的解决方法。软件描述体系进化到这里,面临着突变,将有新的物种出现,这个新物种可能就是模型。模型与程序语言主要的区别不在于图形化,也不在于抽象的程度,而在于表达方式突破了“单一顺序”的限制,最简单的例子就是二维表。模型可以更容易和直接地表达复杂的结构。

(三)模型和语言都是对系统的描述

传统的编程语言和模型都是一种表述的体系,前者适合表述顺序过程,后者适合表述复杂结构。模型的必要性可以通过下面这个例子看出来:为了精确地复现,一个人可以用语言精确地叙述一个立方体,甚至1O个立方体组合的形状,但他不会试图用语言描述一栋房子,适当的方式是用工程图纸。由此可见,对于建立企业应用系统的情形,企业系统要表述的,主要是复杂的结构,过程占的比重很小,因此,模型就变得更加重要了。

(四)模型的分析要素

模型的时效性(time―effectiveness of mode1):关于这一点最重要的区分是“运行期模型”(Run―Time Mode1),还是开发期模型?类似于解释语言和编译语言的区别,“运行期模型”揭示了模型驱动的本质。模型的进化性(Evolutionableness of mode1):是否可以在系统的应用过程中,持续地适应应用环境与需求的变化,不断地由应用者或自适应地对模型进行改进?这是对模型“性能”的一种度量。模型的层级性(hierarchy of mode1):正如语言有多个层次一样,没有理由认为模型只有一个层次,当系统足够复杂时,模型的层次划分将会是必要的。

参考文献:

[1]孙昌爱,金茂忠,刘超:软件体系结构研究综述[J].软件学报,2002,7

[2]王一宾,江唯青.软件体系结构初探[J].安庆师范学院学报(自然科学版),2003,4

[3]张海波,王小非,曹万华,黄友澎.新型软件体系结构研究[J].计算机与数字工程,2007,1

体系结构范文第8篇

关键词:分布式计算;数据服务;体系结构

中图分类号:TP393 文献标识码:A 文章编号:1674-7712 (2013) 10-0062-02

一、引言

自上世纪九十年代开始,分布式计算服务技术在互联网中得到广泛的推广和应用。在传统的计算机服务体系结构中,数据存储中心的主要应用是通过有序组织服务器和客户机的分布形成有机的组织结构,由数据服务器来存放大量数据并实时提供针对客户机的数据交换服务。但随着互联网技术的不断更新和发展,全球计算体系结构开始朝着构建大型数据服务中心的形式靠拢,导致目前行业中盛行的新闻服务中心、网络证券服务中心和资讯服务中心开始逐渐受到网民的关注。特别是分布式服务技术得到突破以来,基于互联网式的数据分布服务体系进去发展的黄金时代。

二、分布式技术概述

在当前的分布式技术服务体系中,互联网应用是直接针对使用者提供常见的服务,以此来代替先前通过客户机的数据传输来完成单一的数据通信。而数据中心作为互联网服务的重要基础设备负责提供大量的数据资源。分布式计算服务所能够提供的服务类型以及服务内容也逐渐扩充起来,资源内容开始朝着系统化、复杂化以及精密化方向发展。在这种发展趋势下,就需要保证分布式数据服务体系结构必须不断满足当今市场的需求。在新的运行理念的干扰下,确保数据信息的高效、高质传输成为最基本的要求。完善数据高速转发、提升数据管理体制等方面就要求不断优化和改革。

三、数据分布服务体系能力研究

数据分布服务体系结构是分布式数据服务中心的重要组成部分,其结构必须按照计算机数据通信的架构形式进行要求。

(一)拓展能力

数据分布服务体系结构需要具有较强的拓展能力,主要包括网络服务系统和数据交换系统两方面内容,在网络服务系统方面,必须保证系统能够根据当前数据应用的实际需求来维护应用程序的使用,当客户机发起的数据有效连接不断增多时,系统能够表现出一定的承载力并及时完成数据分流。能够通过负载均衡的机制保证服务器的安全运行。在数据交换系统方面,则需要保证两方面的扩展能力,一方面需要保证已有数据的安全传输和存储,另一方面则要保证用户在使用的过程中不断加入新数据,即保证数据的实时传输、更新和存储。要随时确保数据类信息的任意修改过程的安全。

(二)安全能力

计算机服务体系中的数据安全问题一直是信息体系应用研究中重要研究课题之一,分布式数据服务体系结构中也一样重视其安全性设计。安全能力的强弱直接关系到数据分布服务体系的稳定效果,两者之间必须相互辅佐才能确保安全运行,因此,良好的安全能力对于服务体系结构而言具有深远的指导意义。

(三)稳定能力

当今数据服务的流量和容量要求都非常大,分布式数据服务中心又必须保证高效、长时间的运营能力,甚至需要在满载的情况下完成数据存储和信息交换的工作,这就要求数据分布服务体系结构要重视数据的稳定能力。稳定能力能否成功直接关系到整个服务体系的质量情况,合理的稳定均衡设计不仅能够提升分布数据服务的整体质量,而且能够在一定程度上提高数据服务中心的数据转发能力。

(四)传输能力

分布式数据服务的主旨是完成数据的大量计算以及处理工作,这就需要保证数据分布服务体系结构在设计过程中重视传输类型的优化,在一定程度上能够满足服务体系的数据处理能力和处理速度,当同时存在大量的数据需要处理和传输时,高速的数据服务传输结构能够提升计算机服务体系的整体运载能力。

(五)增容能力

高效的数据分布服务体系建设必须遵守当前数据传输系统结构的统一标准,包括计算机机房的建设标准、电气传输保障标准及互联网数据传输标准等,要对未来的数据传输服务发展具有一定的先见能力,满足日后服务体系结构在更新的过程中能够适应发展需求,为后期的设备增容、换代提供保障基础。

四、虚拟网络运营机制在分布式服务体系中的应用

在分布式数据服务体系中,数据存储中心往往采用在一台中心服务器中同时启动多个虚拟服务的形式来向不同用户提供不同的服务类型,虚拟网络运营机制也因此得到了广泛的应用,它在一定程度上能够提升整个数据服务中心的数据处理能力和传输能力,在进行数据分布服务体系结构的设计过程中,如果发现服务器的硬件能力不能满足实际数据的传输需求,可以采用虚拟网络运营的方式节省硬件消耗成本,将某些正在进行计算的服务内容转移到一些存在负载能力的服务器上完成相应工作。虚拟网络运营机制的系统构建可以改变原有的服务器硬件网络分布模式,当虚拟服务需要进行分布式数据传输时能够完成相应的应用和服务。另外,分布式虚拟网络运营机制还可以为影虎提供一套灵活多变的网络传输管理方案。它能够达到灵活分配网络服务资源、并发处理用户请求的效果,经过运维实际效果发现,这种虚拟网络运营机制还具有合理分配网络带宽、平衡引导工作机制的优势,能够在一定程度上针对实时数据访问量的波动对分布式服务器进行工作调整。这种虚拟运营机制也逐渐成为构建下一代智能化高效数据分布服务体系的重要技术保障力之一。

五、数据分布体系网络结构设计

在分布式数据服务体系中,数据中心得网络结构设计必须保证数据传输的高可靠性和高安全性,尽量减少和避免不必要的过失是非常重要的。本文通过对数据分布服务体系结构的研究,旨在寻求一种能够保证低廉造价并实现高效数据传输的分布式数据服务架构。网络拓扑结构的应用和研究能够有效聚合网络实际吞吐能力,并形成完善、合理的分布式结构层次。并且可以有效整合网络应用资源,提供一套完善、灵活、便捷的可执行方案。在应用综合成本的考虑下,利用低价位的综合交换机和普通的数据传输服务器来构建数据分布服务体系结构能够降低支出成本。而一般的商业级应用服务器只具有两个网络传输结构,如何充分利用这两个接口获取网络吞吐率也成为体系结构具有良好性价比的重要佐证之一,这种低廉的网络服务体系结构的拓扑构建方式大致具有以下几方面的优势。首先,传统意义上的网络拓扑结构常用树状结构来完成构架,而树状结构需要应用大量的交换接,节点设备还需要汇集大量造价高昂的交换机设备,这种体系结构能够降低投资成本。其次,网络中的任意服务器不在拘泥于单一的一条访问路径,可以通过多条传输路径来进行数据的实时通信。另外,能够充分利用服务器的两个传输接口,提升了数据在网络中的传输效率。最后,较于传统形式的树状网络拓扑结构而言,这种拓扑结构具有较强的容错性。

六、总结

二十一世纪是信息技术飞速发展的年代,以数据中心为载体的分布式服务体系结构在行业中起到越来越重要的作用。目前,信息化产业以开始逐渐向其靠拢,分布式技术为核心的数据服务中心将在未来得到更加广泛的应用和发展。数据分布服务体系结构是值得我们去研究的。本文从分布式技术入手,讲述目前行业中新兴的这种具有高性能型和高连通性的分布式服务体系结构,旨在能够为同行提供技术领域的指导和参考,具有一定的实用意义。

参考文献:

[1]李文军.分布式对象技术[M].北京:机械工业出版社,2006.

[2]申晋祥.BP神经网络在无损检测中的应用[J].山西大同大学学报,2009,(2):16-17.

[3]黄承忠,郭中.基于移动技术的分布并行计算环境[J].计算机工程,2005,4:99-100.

[4]邹明亮,程小辉,刘亚荣.嵌入式移动数据库中的移动Agent问题探讨[J].微计算机信息,2006,12:61-62.

[5]杨涛,刘锦德.Web Services技术综述――一种面向服务的分布式计算模式[J].计算机应用,2004,8: 1-4.

体系结构范文第9篇

关键词:软件体系结构;重用;模式

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)35-2519-02

A Comprehensive Introduction to the Study of Software Architecture

WANG Qiang

(AnHui Technical College of Mechanical and Electrical Engineering, Wuhu 241000, China)

Abstract: Software architecture is the hotspot in software engineering research. This article discusses about the purpose and current situation of software architecture researching.

Key words: software architecture; reuse; mode

1 引言

随着计算机技术的发展和应用的不断深入,软件系统的规模和复杂度日益增加,在软件设计过程中人们所面临的问题不仅仅是考虑软件系统的功能问题,而是面临要解决更难处理的可修改性,性能,可靠性等非功能性问题。特别是80年代以来,对软件适应变更的要求越来越高,所以对软件整体的设计已经超过了算法和数据结构,成为系统开发关注的主要问题。软件开发最大的风险来自需求变更,但一蹴而就搞定需求不现实,好的体系结构是易改动的基础。 能否复用很重要,设计复用比代码复用更有用更难。因此,研究软件体系结构研究的能提高软件生产率和简化维护。提高软件生产率的关键在于软件相关部分的复用,而简化维护的关键是减少软件理解的成本和提高软件的质量,这就是研究软件体系结构的目的。

2 软件体系结构的概念

软件系统的规模在迅速增大的同时,软件开发方法也经历了一系列的变革.在此过程中,软件体系结构也由最初模糊的概念发展到一个渐趋成熟的技术。

1) 1992年Perry 和Wo1f 在他们早期关于软件体系结构的论文中指出:软件体系结构是一组具有一定形式的结构化元素或称为设计元素组成。

2) 1993年Shaw 和Garlan 认为软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。

3) 1994年Hayes Roth 则认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。

4) 1995年Garlan 和Perry 在IEEE 软件工程学报上又采用如下的定义:软件体系结构是一个程序各构件的结构、它们之间的相互关系以及进行设计的原则和随时间进化的指导方针。

5) 1996年Boehm 和他的学生提出,一个软件体系结构包括一个软件和系统构件,互联及约束的集合。

6) 1997年Ctements 和Kazman在《使用软件体系结构》一书中给出如下的定义:一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。

3 软件体系结构的现状

下面介绍几种常见的体系结构。

模型-视图-控制结构是交互式应用程序广泛使用的一种体系结构。它有效地在存储和展示数据的对象中区分功能模块以降低它们之间的连接度,这种体系结构将传统的输入、处理和输入模型转化为图形显示的用户交互模型,或者换一种说法,是多层次的Web商业应用;MVC体系结构具有三个层面:模型(Model)、视图(View)和控制(Controller),每个层面有其各自的功能作用。

模型层负责表达和访问商业数据,执行商业逻辑和操作。也就是说,这一层就是现实生活中功能的软件模拟;在模型层变化的时候,它将通知视图层并提供后者访问自身状态的能力,同时控制层也可以访问其功能函数以完成相关的任务。

视图层负责显示模型层的内容。它从模型层取得数据并指定这些数据如何被显示出来。在模型层变化的时候,它将自动更新。另外视图层也会将用户的输入传送给控制器。控制层负责定义应用程序的行为。它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作;在一个图形界面中,常见的用户输入包括点击按钮和菜单选择。在Web应用中,它包括对Web层的HTTP GET和POST的请求;控制层可以基于用户的交互和模型层的操作结果来选择下一个可以显示的视图,一个应用程序通常会基于一组相关功能设定一个控制层的模块,甚至一些应用程序会根据不同的用户类型具有不同的控制层设定,这主要是由于不同用户的视图交互和选择也是不同的。

在模型层、视图层和控制层之间划分责任可以减少代码的重复度,并使应用程序维护起来更简单。同时由于数据和商务逻辑的分开,在新的数据源加入和数据显示变化的时候,数据处理也会变得更简单。

软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。它反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。按这种方式理解,软件体系结构风格定义了用于描述系统的术语表和一组指导构件系统的规则。

对软件体系结构风格的研究和实践促进了对设计的复用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。体系结构风格的不变部分使不同的系统可以共享同一个实现代码。只要系统是使用常用的、规范的方法来组织,就可使别的设计者很容易地理解系统的体系结构。例如,如果某人把系统描述为"客户/服务器"模式,则不必给出设计细节,我们立刻就会明白系统是如何组织和工作的。

下面是Garlan和Shaw对通用体系结构风格的分类:

1) 数据流风格:批处理序列;管道/过滤器

2) 调用/返回风格:主程序/子程序;面向对象风格;层次结构

3) 独立构件风格:进程通讯;事件系统

4) 虚拟机风格:解释器;基于规则的系统

5) 仓库风格:数据库系统;超文本系统;黑板系统

设计模式使人们可以更简单方便地复用成功地设计和体系架构。将以证实的技术表述成设计模式也会使新系统开发者更容易理解其设计思路。设计模式帮助你做出有利于系统复用的选择,避免设计损害了系统复用性。通过提供一个显示类和对象作用关系以及它们之间潜在联系的说明规范,设计模式甚至能够提高已有系统的文档管理和系统维护的有效性。简而言之,设计模式可以帮助设计者更快更好地完成系统设计。

一个设计模式描述了对于特定设计问题被验证的解决方案,它综合了所有开发者对这个问题所在领域的知识和见解;同时也是对于常见问题的可重用方案,它们一般适用于单个问题,但是组织在一起就可以提供整个企业系统的解决方案。J2EE平台就用到很多设计模式,列举如下:

1) 前控制器。

2) 控制器

3) 视图

4) 视图帮助

5) 会话面

6) 数据访问对象

7) 值对象或传输对象

8) 截取过滤器

随着软件体系结构的不断发展,出现了一种新型的体系结构即SOA。SOA被称为软件体系结构的划时代革命。

SOA是一种结构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件交互的人为依赖性。SOA的关键是“服务”的概念,W3C将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化”。将SOA定义为:“本质上是服务的集合。服务间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动。服务间需要某些方法进行连接。所谓服务就是精确定义、封装完善、独立于其他服务所处环境和状态的函数。” 将SOA定义为:“按需连接资源的系统。在SOA中,资源被作为可通过标准方式访问的独立服务,提供给网络中的其他成员。与传统的系统结构相比,SOA规定了资源间更为灵活的松散耦合关系。” Gartner则将SOA描述为:“客户端/服务器的软件设计方法,一项应用由软件服务和软件服务使用者组成……SOA与大多数通用的客户端/服务器模型的不同之处,在于它着重强调软件组件的松散耦合,并使用独立的标准接口。” Gartner相信BPM和SOA的结合对所有类型的应用集成都大有助益――“SOA极大的得益于BPM技术和方法论,但是SOA面临的真正问题是确立正确的企业意识,即:强化战略化的SOA计划(针对供应和使用)并鼓励重用。”虽然不同厂商或个人对SOA有着不同的理解,但是我们仍然可以从上述的定义中看到SOA的几个关键特性:一种粗粒度、松耦合服务结构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。

4 软件体系结构存在的不足

尽管软件体系结构研究领域取得了若干成果,但在应用方面,软件体系结构仍然有很多可以改进的地方。N. Medvovonic认为,目前对软件体系结构的理解还仅限于直观、或当作稀奇事、或当作民间传说;语义丰富但不严谨。体系结构似乎没有解决实际问题。由此可见,若要有效地指导软件工程实践、为软件开发提供一个好的结构及其设计结构的指导原则,软件体系结构研究还有若干问题需要解决。比如缺乏统一的软件体系结构的概念,各种软件体系结构的不易操作性,ADL繁多,缺乏统一的ADL支持等等。

5 前景展望

目前,软件体系结构领域研究非常活跃。随着研究的不断深入,软件复用的层次越来越高,人们在开发新的系统时不必总是重复别人已经创造的东西,而是可在软件开发中复用已有成果,这样可以把注意力投入到软件新增功能上,提高软件开发效率。

针对软件体系结构发展趋势,Clements预测在未来的5~10年内软件体系结构研究将围绕如下5个方向展开:体系结构创建与选择;体系结构表示;体系结构分析;基于体系结构开发;体系结构演化.而Perry在IFIP 2000 年世界计算机大会主题演讲中认为,最为重要的3个研究方向是:体系结构风格、体系结构连接件和动态体系结构。

参考文献:

[1] 王霞俊.浅谈软件体系结构[J].常州轻工职业技术学院学报,2007(1).

[2] 邓伦丹,罗丹,汪伟.几种主要的软件体系结构风格的分析[J].科技信息,2007(32):102.

[3] 孙昌爱,金茂忠,刘超.软件体系结构研究综述[J].软件学报,2002(13)

[4] 秦建超,杜友福,孟珍伟.浅谈软件体系结构科技信息[J],2007(2)

[5] Michale Kircher.面向模式的软件体系结构[M].1版.北京:机械工业出版社,2005:5-6.

[6] The Boeing Company-Defense and Space Group.STARS conceptual framework for reuse processes,lockheed martin tactical defense system.STARS Program Technical Report,1994.

体系结构范文第10篇

关键词:网络 防火墙 安全体系结构

一般对网络安全,目前主要采用防火墙为主的体系结构,欲最大限度地保证网络安全,应将重点放在加强自身网络的健壮性与安全性方面。安全体系结构的设计基于现有的数据处理DP基础设施的规定,比如在操作系统、网络拓扑学、网络协议/网络操作系统以及外部数据链路、通信协议等基础上,应针对每项的安全寻找解决方案,将这些方案归纳起来,即建立起防火墙体系结构与详细的安全系统规范。

一.基于防火墙的网络信息安全体系结构

1.防火墙的定义

“防火墙系统”为网络组成部件,用于连接内部与外部、专用网络与公用网络,比如Internet 的连接部件。防火墙系统能保障网络用户最低风险地访问公用网络,同时,也保护专用网络免遭外部攻击。欲做到这一点,防火墙必须是外部进入专用网络的唯一通道。根据用户的服务需要,保证一定的安全系数,防火墙系统通常由许多软件与硬件构成。

2.防火墙的主要设计特征

防火墙系统是外部网络与内部网络(需受保护)之间的物理与逻辑界面。从外部来看, 防火墙借助于不同的传输接口打开了进入内部网络的通道,比如ISDN (综合业务数字网络) 线、Modem(调制解调器) 线、X25线/帧中继线以及专用线等通信接口支配着控制装置,允许内部与外部网络之间建立连接。完成上述功能的系统被称为访问控制系统。目前使用的防火墙构件,可分成信息包过滤器、线路中继器及应用网关三种不同的访问控制系统,它们可单独使用,也可结合在一起共同使用。信息包过滤器是根据发/收地址、协议、协议端口以及用户定义的位特征码等属性来过滤信息包。采用基于线路中继器的防火墙部件确实能增强网络的安全性。线路中继器能够保证用户安全使用基于TCP/ IP 通信协议上的应用软件, 比如WWW、Gopher 、Telnet 等, 而不需要传送协议层上的任何指令。也就是说, 线路中继器作为相关协议的,所有输入的连接在此结束,并被重新组成相对应的输出。该系统的缺陷是,在使用线路中继器工作之前,必须修改客户的应用软件。应用网关比线路中继器更前进一步。它允许人们使用应用软件, 而不允许通信链路穿过协议层上的防火墙系统。就涉及到的客户软件而言,其作用更像从事有关业务的服务器系统,而不需要修改客户系统。

3.防火墙系统的体系结构

信息包过滤器系统能够检查数据包是否违反标准,并决定其是否被传递。原则上,信息包过滤器处于本地网与Internet 之间,用于建立链路,只要配置正确,该过滤器将成为抵御外部入侵的第一道防线。信息包过滤器由路由器或配置相应软件的计算机系统实现,是一种专用网络部件,它同其它系统(防御性主机、筛选性网络等) 一起共同提高网络的自我保护能力。因路由器在网络协议层中具有过滤器与转发器的功能,所以也可作为防火墙使用。信息流不仅能根据协议地址(广播、站组或主机地址),而且能按照高层协议(与采用的模型有关) 参数进行过滤。对于Internet 协议路由器, 正是由TCP 或UDP 协议端口完成过滤,输入过滤以防止地址欺骗、区分T CP 的发送与应答信息包以及变换过滤条件―“路由器访问表”。在构造信息包过滤器之前,首先应明确各客户允许享受的服务级别,接着需了解采用怎样的过滤方法实现既定方针,最后必须将过滤的需求要点按所采用的路由器或过滤软件可识别的句法形式输入。信息包过滤器的设计相当复杂, 尤其位于主干网中的信息包过滤器的设计需花费大量的时间和精力。CERT 协作中心建议对TFT P( 普通文件传输协议) 、Windows、FTP、UDP 以及碎片IP 信息包装服务进行过滤。信息包过滤器防火墙可采用各种配置结构。

4.防火墙系统的控制与监视

与访问控制一样,防火墙系统的工作就是监视不寻常事件的发生,并及时报警给系统管理员,这需利用特殊的控制与监视软件完成。监控系统应具备以下特点:显示用户与服务器的连接、 当启动安全功能时给出显示 、有反复企图通过防火墙系统的情况时给出显示。

防火墙系统上必须安装控制与监视系统以及工作记录文件,以阻止未授权的访问,但决定监控系统有效程度的主要因素取决于监控软件的配置是否合理。在工作日志中选择记录的事件非常重要,若没有仔细选择,随意记录,用不了多久, 防火墙系统的工作记录就会占用上百万字节。但选择需存储的事件比较困难, 很难事先预料究竟哪些事件将会对安全破坏行为的分析有用。防火墙系统的另一工作就是一直连续不断地监视自身文件系统的完整性,以实现自我保护。它们利用特殊的软件如“Tripwire”完成此工作。该特殊软件可对选择的文件产生特殊的校验和(即文件的特征)。被监视文件的任何修改都能被立刻识别出来。

二.防火墙系统的局限性与未来发展趋势

1.防火墙系统的局限性

防火墙的所有作用在于监视OSI 2 层与7 层之间网络的活动状况,既不能阻止内部应用软件所携带数据的传递,也不能保护网络免受病毒或其它方式(协议欺骗式) 的攻击。另外防火墙对于内部计算机系统未授权的物理攻击,也不能提供安全保证。

欲阻止这些攻击,需要:无漏洞的访问控制系统、确实真正保护关键性部件、以光纤代替铜导线(尤其是采用共享媒介技术, 比如以太网与令牌环网) 、高度机密数据在发送前应加密。

2.防火墙系统未来的发展趋势

近年来计算机安全的基础研究力图将专家系统与防火墙系统体系结构相结合。其目的在于采用神经网络、判定树之类的智能手段来辨认“黑客”,以抵抗不断变化的攻击方法与新的安全漏洞。这种智能化的防火墙系统目前已处于试验阶段,预计到下一阶段将成为现实。防火墙系统能以怎样的程度覆盖整个网络的结论目前还无法断言。然而随着计算机功能的日益强大与传输带宽的不断加宽,计算机系统将进入一个全新的时代。它不仅具有强大的计算能力,而且具有强有力的认证与加密机制,每个系统都将装备自己的防火墙与严密有效的攻击分析检测工具,使攻击者无法得逞,从而使网络达到真正意义上的百分之百的安全。

三.结语

计算机的迅速应用就注定了计算机安全也将成为一个大的课题。本文从理论上讨论了Internet 网络安全的体系构造,相信随着时间的推移、反攻击技术的不断进步, 网络安全的体系结构会越来越完善、越来越健壮。我们胜利油田测井公司信息档案中心的计算机安全系统也一定会更加完善,跟上领先的水平。

参考文献:

[1] 陈兵 王立松.网络安全体系结构研究[J] 计算机工程与应用 2002 (07).

上一篇:语法结构范文 下一篇:膳食结构范文

友情链接