电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

体系结构范文

来源:漫步者作者:开心麻花2025-09-191

体系结构范文(精选12篇)

体系结构 第1篇

软件体系结构一词是舶来品, 是Software Architecture (简称“SA”) 的中文翻译, 最初源于建筑行业, 把软件系统比作一座楼房, 从整体上讲, 是因为它有基础、主体和装饰, 即:操作系统之上的基础设施软件、实现计算逻辑的主体应用程序和方便用户使用的用户界面程序。从细节上看, 每一个程序都有相应的结构。早期的结构化程序就是以语句组成模块, 模块的聚集和嵌套形成层层调用的程序结构, 也就是SA。

随着软件系统规模越来越大、越来越复杂, 整个系统的结构和需求分析就显得十分重要。对于大规模的复杂软件系统来说, 总体的系统结构设计和需求分析, 比起对计算的算法和数据结构的选择变得更加重要。

SA是软件设计的一部分, 是其中的总体设计, 是软件过程中一个决定性的环节, 架构确定了, 软件基本也就定型了。软件体系结构是根植于软件工程发展起来的一门新学科, 下面就软件体系结构做简要阐述。

2 软件体系结构的基本概念

传统软件设计中存在着许多问题, 其中包括:

(1) 设计对于变化的适应性差

随着软件的发展以及用户需求不断提高, 传统的软件设计却不能很好地适应新的变化, 由于考虑不周和需求变化, 特别是在系统投入试运行后, 这种改变几乎是灾难性的。

(2) 设计过程的正确性不能保障

软件设计时, 在难度和复杂性上往往估计不足或超越了人们的认识和控制能力, 设计过程没有足够的时间、资金以及环境条件的保障。

(3) 设计者的随意性

软件设计者及系统维护者, 根据自身的理解和认识, 随意对系统做局部的扩充或修改。

所有的设计人员都希望能将有价值的、孤立的设计概念和技术总结出来, 能应对复杂的软件系统, 产生高质量的设计, 成为具有指导作用的基本原理、模型和方法, 因此, SA应运而生。

2.1 软件体系结构 (SA) 的定义

尽管SA已经在软件工程领域中有着广泛的应用, 但迄今为止还没有一个被大家所公认的定义。许多专家学者从不同角度和不同侧面对SA进行了描述, 对SA统一的认识为:SA是系统层次和组成行为, 是设计过程的重要阶段, 包括设计和描述;SA是由部件和部件之间的联系组成, 部件有它自身的体系结构。SA的技术包括:怎样选择、评价和实现体系结构的技术。另外, 还有许多方面没有达成一致的认识, 随着SA的发展, SA的定义也必然随之完善。

对SA的理解要掌握以下要点:

(1) 更强调设计过程, 而非分析的过程。分析的目标是理解和表示, 设计的目标是实现。

(2) 非用户的观点即非功能的观点。对于用户, 结构是软件系统功能的组合;而对于设计者, 结构是具有特性和性能的成分与关系的集合。

(3) 体系结构的研究应该是分层的, 即分为构件级、代码级、执行级三部分, 每部分都有属于自己级别的部件和操作算子。

2.2 软件体系结构的目标

软件的结构风格、设计模式和框架是讨论软件体系结构的不同的目标和出发点, 它们之间的概念在讨论中经常相互借鉴和引用。

(1) 软件体系结构风格 (ArchitectureStyles)

风格是描述特定系统组织方式的惯用范例, 惯用范例则是反映众多系统共有的结构和语义。体系结构风格是软件的设计观点和技巧, 它独立于实际问题, 依赖于计算机实现的概念, 而不依赖于具体应用。

(2) 软件设计模式 (Design Pat-tern)

设计模式是软件问题高效和成熟的设计模板 (pattern) , 模板包含了固有的问题解决方案和逻辑, 它更强调直接复用的程序结构。设计模式是规范了的小粒度结构成分, 例如:砖、瓦、水泥预制件、门窗、楼梯等, 相当于建筑组块。

(3) 软件应用框架 (ApplicationFramework)

框架是待实例化的、可复用的大粒度部件结构。框架面向不同规模的应用问题, 是通用的结构。框架可给出特定应用逻辑的结构, 例如住宅式建筑、体育馆式建筑、饭店式建筑, 住宅式建筑还要分为塔式、板式、商住两用式、别墅式。

2.3 软件体系结构的组成和设计原则

软件体系结构从不同的角度区分, 可分为:软件的基础结构和软件的层次结构。

2.3.1 软件的基础结构

软件的基础结构有控制流连接结构、部件连接结构、数据类型结构。

(1) 控制流连接结构

控制流连接结构包括:条件连接、循环连接、查询方式连接、事件/中断方式连接和共享信息方式连接。对应的程序结构包括:顺序序列、条件转向 (如, if…then, break语句) 、循环结构 (如, for语句、while…do…语句) 、事件/中断控制转向 (如, on goto语句) 等。

(2) 部件连接结构

部件连接结构包括:过程调用方式 (含内部过程调用和远程过程调用) 、事件/中断触发方式和过程链接方式等。

(3) 数据类型结构

数据类型是最基本的软件体系结构, 即数据结构。数据结构是描述复杂算法和软件结构的基础, 离开数据结构的描述, 软件体系结构很难表达清楚, 基本数据类型包括:

线性结构, 顺序表、向量、队列、链、表、串、排序、检索;

树形结构, 二叉树、树;

复杂结构, 图、多维数组、集合、稀疏矩阵、广义表;

文件结构, 顺序文件、散列文件、索引文件。

2.3.2 软件的层次结构

层次性是软件问题分析、设计和实施的基本和普遍适用的方法, 软件的完整结构都具有层次关系, 软件层次关系框图如图1所示。

2.3.3 软件的设计原则

(1) 抽象

抽象表现事物的主要特征和属性, 隐蔽和忽略细节部分, 并能用于概括普遍的、具有相同特征和属性的事物, 包括描述特定数据对象的属性集合的数据抽象、对特定操作序列进行过程抽象和隐含了内部细节的控制逻辑的控制抽象等。

(2) 分而治之

将大的问题分为小的几部分问题, 自上而下地分解策略。

(3) 封装和信息隐蔽

隐藏各部分处理的复杂性, 采用封装的方式, 只留出简单的、统一形式的访问方式。这样, 可以减少划分各部分的依赖程度, 增强可维护性。

(4) 模块化

模块要具备可分解性、可组装性、可理解性、连续性、保护性。

(5) 高内聚和低耦合

成份中各处理元素的关联越紧密越好, 软件成份之间的关联越松散越好。

(6) 关注点分离

软件设计要将关注点与非关注部分分离, 更好地复用非关注点部分的软件成份, 而关注点部分可以设定, 采用选择条件、场景的独立软件成分。

(7) 策略和实现分离

软件设计要将策略成分和实现成分分离, 至少在一个软件成分中明显分开, 这样可提高维护性。

(8) 接口和实现分离

软件设计要将接口和实现分离, 可保障成分的信息隐蔽性, 提高维护性。

3 软件体系结构的风格

体系结构风格反映了众多系统所共有的结构和语义特性, 并指导如何将各个模块和子系统有效地组织成一个完整的系统。体系结构风格的不变部分使不同的系统可以共享同一个实现代码。只要系统是采用常用的、规范的方法来组织, 就可使别的设计者很容易地理解系统的体系结构, 例如, 如果有人把系统描述为“C/S”模式, 则不必给出设计细节, 人们立刻就会明白系统是如何组织和工作的。对于应用体系结构风格来说, 由于视点的不同, 系统设计师有很大的选择余地。要为系统选择或设计某一个体系结构风格, 必须根据特定项目的具体特点, 进行分析比较后再决定, 体系结构风格的使用几乎完全是特定的。

3.1 经典体系结构风格

经典体系结构是系统组织的惯用形式, 并不直接运用于应用。

3.1.1 管道过滤器风格

管道过滤器风格也称数据流风格, 这种风格以数据流向的过程为核心, 每个构件都有一组输入和输出, 构件读输入的数据流, 经过内部处理, 然后产生输出数据流, 如图2所示。

管道过滤器风格有如下优点:

(1) 使人们对整个系统的理解简单化, 可理解系统的各功能抽象为“黑匣子”。

(2) 系统维护性好, 新的过滤器可以添加到现有系统中来, 旧的可以被替换。

(3) 支持复用, 一个过滤器可以被多次挂接, 只要它们对数据的需求场合是一致的。

(4) 支持并发, 每个过滤器是作为一个单独的任务完成, 因此可与其它任务并行执行。

(5) 系统的结构清晰, 容易进行某些性能的分析, 例如数据流量、死锁问题等。

(6) 使软件具有良好的高内聚、低耦合的特点。

但是, 管道过滤器风格也存在很多缺点, 其缺点如下:

(1) 过滤器的独立特性导致交互处理困难, 当需要增量显示改变时, 这个问题尤为严重。同样的原因, 也导致进程成为批处理的结构。

(2) 由于支持并发设计, 两个相互独立的过滤器, 如果存在同步问题, 则需要花较大精力去协调。

(3) 需要处理数据在管道中的阻塞状态。

从中, 我们可以看出, 管道过滤器风格尤其适合于批处理。

3.1.2 主程序与子过程

主程序与子过程结构与程序语言的主程序和过程调用概念相对应, 软件所有成分, 都属于主程序和一系列的子过程的集合, 主程序充当子过程的调用者, 子过程之间也存在复杂的过程调用关系, 过程之间通过参数传入和传出信息。主程序与子过程之间的调用关系如图3所示。

一切软件结构均可在此基础上构筑, 这种结构最大的优势在于, 因为它是基于语言结构的, 所以代码效率高;该结构最大的缺点是复用性差。

综上所述, 主程序与子过程结构主要用于对代码效率要求较高的软件, 如工业控制等。

3.1.3 数据抽象与面向对象

所谓面向对象就是基于对象概念, 以对象为中心, 对象间的联系仅通过消息, 并以类和继承为构造机制, 充分利用多态和动态绑定提供灵活性, 来认识、理解、刻划客观世界和设计, 构建相应的软件系统。

基于面向对象的软件提供封装、继承、多态性、延迟技术手段, 使得程序的修改等限制在一个较小的范围, 软件具有稳定的结构, 容易复用, 现在很多大的系统都采用了这种思想。

面向对象同样有一定缺陷, 对象的标识在发送消息时, 必须知道, 如果标识被改变, 消息就不知去向, 在系统中对象本来是独立的, 但它们必须相互知道、懂得和理解, 否则将无法协同完成工作。这一点又使得他们似乎很密切相关, 互为依赖。对象接受多个来自不同请求者的同一个消息, 所得到的结果有时不可预测, 因为其自身的状态属性可能被改变, 对这种情况, 系统必须考虑, 并付出代价。

3.1.4 事件驱动和隐式调用

事件驱动指的是外部事件, 包括硬件设备和软件的应用发出的请求, 通过中断方式形成为消息;消息不是直接地被各响应的处理操作接收, 而是通过了隐藏在中间的一个层次 (透明访问概念的体现) , 形成隐式调用。中间层完成消息形式的统一处理及调度, 使请求成分与响应成分之间形成松散耦合关系。

事件驱动和隐式调用结构的优势如下:

(1) 成分之间松散的耦合关系, 可以增加系统成分连接、集成的灵活性;

(2) 由于成分之间的没有直接的联系, 任何已有的软件成分只要处理逻辑适用, 都可以无所顾忌地使用, 将一切限定留给中间层处理。

(3) 软件更易维护, 替换某一软件成份, 除了中间转接的适应, 对其它成分影响极小。

事件驱动和隐式调用结构存在如下不足:

(1) 消息序列无法控制。产生消息的软件成分和接收消息的软件成分完全自主独立, 不受控制。

(2) 响应速度低。相比直接方式的连接, 无论怎样都会增加中间层的消耗, 这会使消息的响应速度明显下降。

当整个系统中存在大量异步并发、相互之间无逻辑联系的组件的时候 (如图形用户界面) , 这是一种极好的控制方式。

3.1.5 黑板知识库

黑板知识库结构由以下三部分组成:

(1) 知识源:知识源包含分离的独立知识产生源, 知识源之间不直接进行通信, 它们之间的交互只通过黑板来完成。

(2) 黑板:黑板数据是按照与应用程序相关的层次来组织解决问题的数据, 知识源通过不断地改变黑板数据来解决问题。

(3) 控制:控制完全由黑板的状态驱动, 黑板状态的改变决定使用的特定知识。

黑板知识库的优势在于, 所有系统过程的成分都是知识的产生源, 无论单独的求解步骤, 还是监控调度算法都是黑板中心状态的改变者。它的不足在于, 所有的系统成分对共享区过分依赖, 这是系统风险因素的最大隐患。

基于以上特点, 该结构最适合以大量数据为核心的系统, 如专家系统和一些人工智能系统等。

3.1.6 解释器

解释器结构的核心是解释引擎, 它读入被解释程序的执行输入, 以及执行伪码, 分析伪码结构和语义, 按照语义要求完成输出的动作。

如果应用系统和用户交互非常复杂, 就适合采用该结构, 一个最合适的例子就是现今的浏览器。

3.1.7 过程控制回路

过程控制回路将采集的特定信息以及返回的监测系统状态, 传送给计算部件, 在特定控制目标设定下, 完成预定计算, 通过输出装置实现对目标的控制, 运行的系统状态通过检测再回馈送给采集系统。这种结构适用于闭环系统, 根据目标要求选择正反馈回路和负反馈回路, 该结构正在向组态可编程控制器和嵌入式设计技术发展, 在工业自动控制中应用很广泛。

3.1.8 部件和连接器

部件和连接器也称为C2 (Components and Connectors) 风格, 部件和连接器是软件结构成分的两大部分, 所有构件之间的通信均是以连接件为中介的异步消息交换机制来实现的, 构件相对独立。它总结了所有体系结构的成分, 是最常用的一种经典软件体系结构风格, 其结构框图如图4所示。

3.2 流行的体系结构风格

在经典软件体系结构的基础上, 有一批当前广为使用的软件体系结构, 这些流行的软件体系结构大都与应用问题直接相关, 并且, 是在经典结构的基础上组态建立的。各大软件产品开发商, 都在相互竞争的围绕这些流行的软件体系结构, 发展自己独特性能的构造工具和环境, 并不断创造出新的更具优势的结构概念和辅助环境工具。

3.2.1 C/S结构

尽管现在人们认为C/S结构有这样或那样的缺点, 如开发成本高、维护升级难、不易适应新的需求和新技术、信息内容和形式单一等, 但是, C/S体系结构仍具有强大的数据操作和事务处理能力。

3.2.2 B/S架构

尽管B/S架构现在很受一般用户的青睐, 应用极其广泛, 但由于业务的显示信息是以全体共识的方式直接发往客户端的, 所以可直接了解到系统的数据结构, 安全性差, 且Web服务器权力过于集中, 处理业务加上处理传输, 使负载过大, 系统的性能下降, 回避风险的能力降低。

B/S结构已经向多层体系结构发展, 多层体系结构中, 表示层通过业务逻辑层与数据层交往, 隔离了与应用逻辑相关的数据结构, 使系统安全性提高, 但是各层间的通讯效率是系统的最大问题, 要合理规划系统的各层位置和作用。

3.2.3 中间件

中间件泛指的是能够屏蔽操作系统和网络差异, 为异构环境之间提供通信服务的软件, 是具有通信能力和可扩展的分布式软件管理框架。简言之, 中间件是位于平台和应用之间的具有标准接口和协议的通用服务。按照中间件的不同用途, 可分为以下五类:

(1) 过程调用中间件:采用调用远端的进程方式。

(2) 消息中间件:采用消息机制, 达到异步访问远端服务进程, 如IBM公司的MQ等。

(3) 数据访问中间件:实现不同厂家异地数据库的访问, 如ODBC、JDBC、OLE DB等。

(4) 对象中间件:以对象组件方式在异构环境下互访, 如EJB、CORBA、COM等。

(5) 交易中间件:解决分布事务处理的有关问题, 如BEA公司的TUXEDO等。

要根据需求, 选择不同种类的中间件, 各类中间件也有自己特有的优缺点;同时, 各个厂商的产品也是令人眼花缭乱的, 选择时, 要极其慎重, 不能只看表面, 要了解本质。

3.2.4 面向服务的体系结构

近年来, 出现了一种新的体系架构—面向服务的体系结构 (简称SOA) , SOA源于网格技术, 将应用程序的不同功能单元 (称为服务) 通过服务之间的接口和协议联系起来, 以服务为中心。接口独立于实现服务的硬件平台、操作系统和编程语言。采用统一和通用的方式, 进行不同系统中服务的交互, 构成松散的应用耦合关系。

SOA虽然具有不少优点, 并得到很多业内人士的很高评价, 但仍存在一些问题, 比如:它通过粗粒度服务接口和分级, 提高了效率, 但对于个性化开发却带来了难度;它还没有过象J2EE那样有自己的规范, 虽然发布了一个规范, 但没有遵循简单的法则等。目前, 对SOA的描述一般都是理论上的, 还缺少成熟的实现, 因此, 在选择时, 要有独特的判断能力。

4 小结

综上所述, 在设计软件时, 要将有价值的、孤立的设计概念和技术总结起来, 应对复杂的软件系统, 产生高质量的设计, 选择适当的架构风格是首先要做的。一个软件不是只有一种风格, 要充分了解各自优缺点, 结合功能和非功能需求, 来决策采用哪种或哪几种风格。绝大多数实际运行的系统都是复合的, 只有将整个系统作为一个功能体进行分析和均衡, 才能得到适宜的最上层的体系结构。

摘要:作者对软件体系结构的定义、结构组成和软件的设计原则等进行了阐述, 并着重对软件体系结构中的经典体系结构和流行体系结构所表现出来的各自风格进行了剖析。

软件体系结构解读 第2篇

1、工厂方法模式

工厂方法模式包含如下角色: i.Product:抽象产品 ii.ConcreteProduct:具体产品 iii.Factory:抽象工厂 iv.ConcreteFactory:具体工厂 结构图:

ProductFactory+factoryMethod(): Product...ConcreteProduct<>ConcreteFactory+factoryMethod(): Product...return new ConcreteProduct();时序图:

2、抽象工厂模式

抽象工厂模式包含如下角色: i.AbstractFactory:抽象工厂 ii.ConcreteFactory:具体工厂 iii.AbstractProduct:抽象产品 iv.Product:具体产品 结构图:

时序图:

3、单例模式

单例模式包含如下角色: i.Singleton:单例 结构图:

Singleton-instance: Singleton-Singleton()+getInstance(): Singleton...if(instance==null)instance=new Singleton();return instance;instance 时序图:

结构型模式

4、组合模式

组合模式包含如下角色: i.Component: 抽象构件 ii.Leaf: 叶子构件 iii.Composite: 容器构件 iv.Client: 客户类

结构图:

ComponentClient++++operation()add(Component c)remove(Component c)getChild(int i)...Leaf+operation()...for(Component child:children){ child.operation();}++++Compositeoperation()add(Component c)remove(Component c)getChild(int i)...children 时序图:

5、外观模式 外观模式包含如下角色: i.Facade: 外观角色 ii.SubSystem:子系统角色 结构图:

ClientFacadeSubSystemASubSystemBSubSystemC

时序图:

6、适配器模式

适配器模式包含如下角色: i.Target:目标抽象类 ii.Adapter:适配器类 iii.Adaptee:适配者类 iv.Client:客户类

结构图:类适配器

ClientTarget+request()...Adaptee+specificRequest()...Adapter+request()...specificRequest();对象适配器: ClientTarget+request()...Adaptee+specificRequest()...Adapter+request()...adapteeadaptee.specificRequest();时序图:

7、代理模式

代理模式包含如下角色: i.Subject: 抽象主题角色 ii.Proxy: 代理主题角色 iii.RealSubject: 真实主题角色

结构图:

Subject+request()...ClientProxy-realSubject: RealSubject+preRequest()+request()+postRequest()...preRequest();realSubject.request();postRequest();RealSubjectrealSubject+request()...时序图:

行为型模式

8、迭代器模式

迭代器模式包含如下角色: i.Iterator: 抽象迭代器 ii.ConcreteIterator: 具体迭代器 iii.Aggregate: 抽象聚合类 iv.ConcreteAggregate: 具体聚合类 结构图:

IteratorAggregate+createIterator()++++first()next()hasNext()currentItem()ConcreteIteratorConcreteAggregate+createIterator()...++++first()next()hasNext()currentItem()时序图:

9、观察者模式

观察者模式包含如下角色: i.Subject: 目标 ii.ConcreteSubject: 具体目标 iii.Observer: 观察者 iv.ConcreteObserver: 具体观察者 结构图:

时序图:

10、命令模式 命令模式包含如下角色: i.Command: 抽象命令类 ii.ConcreteCommand: 具体命令类 iii.Invoker: 调用者 iv.Receiver: 接收者 v.Client:客户类

结构图:

InvokerCommand+execute()...ClientReceiver+action()...ConcreteCommandreceiver-state: +execute()...receiver.action();时序图:

11、策略模式

策略模式包含如下角色: i.Context: 环境类 ii.Strategy: 抽象策略类 iii.ConcreteStrategy: 具体策略类

结构图:

Context-strategy: Strategy+algorithm().........strategy.algorithm();......strategyStrategy{abstract} +algorithm()...ConcreteStrategyA+algorithm()...ConcreteStrategyB+algorithm()...时序图:

读书的好处

1、行万里路,读万卷书。

2、书山有路勤为径,学海无涯苦作舟。

3、读书破万卷,下笔如有神。

4、我所学到的任何有价值的知识都是由自学中得来的。——达尔文

5、少壮不努力,老大徒悲伤。

6、黑发不知勤学早,白首方悔读书迟。——颜真卿

7、宝剑锋从磨砺出,梅花香自苦寒来。

8、读书要三到:心到、眼到、口到

9、玉不琢、不成器,人不学、不知义。

10、一日无书,百事荒废。——陈寿

11、书是人类进步的阶梯。

12、一日不读口生,一日不写手生。

13、我扑在书上,就像饥饿的人扑在面包上。——高尔基

14、书到用时方恨少、事非经过不知难。——陆游

15、读一本好书,就如同和一个高尚的人在交谈——歌德

16、读一切好书,就是和许多高尚的人谈话。——笛卡儿

17、学习永远不晚。——高尔基

18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。——刘向

19、学而不思则惘,思而不学则殆。——孔子

智能电网信息系统体系结构研究 第3篇

关键词:智能电网;信息系统;体系结构

近年来,我国电力系统正在不断改革升级,建立起集成、高速双向通信网络实现智能电网信息化。利用传感技术、设备技术以及远程控制方法来进行智能电网系统构建,实现电网运行可靠性、安全性。智能电网信息体系构建的时候必须从硬件设备、支撑平台以及软件构建实现智能电网信息系统建设,实现电网升级改造。总之,智能电网信息系统的构建需要实现电网的稳定安全运行,确保电力系统在运行的时候比改造之前更加稳定。

一、智能网基础设施建设

智能网信息系统构建的时候,需要进行基础设施建设,其中基础设施主要包含控制设备、量测设备以及通信网络等设备。控制设备主要对电网系统进行控制,针对相位、频率、电压以及功率等进行工作参数控制,然后在组建电网之后必须对于电网完成整体化控制。控制设备的主要单元为RTU单元、其他智能型电子设备等,其主要的控制对象为输变电系统,并且还对配电系统和各个发电单位等进行控制[1]。

量测设备属于智能系统传感部分,主要分为个人用户测量系统,电网运行的时候必须进行量测,根据对个体用户量测的对象来分析电力使用情况,并且对于采集输配电线和电动机侧、电厂等进行系统信息采集。常采用个体用户的电表实现了对用户和电网信息双向互动。能够获取用户不同用电设备的用电数据,用户在节省电能。常见的电网在运行的时候量测系统的终端与同步相角测量,其在数据采集以及数据监控的时候能够动态的获取信息。广域网监测系统其在监测的时候必须具有故障录波公,并且兼具相角测量功能,实现对电网和同步相角数据实时高速采集,从而提升量测的精度。

智能电网系统目前还缺乏相应的架构技术,但是当前急需组网方式和未来电网需求更加符合要求[2]。将通信网络系统分为电力状态监测网络、个人用户量测量单元等等信息。信息系统在监测的时候监测状态包含了通信协议、量测单元、组网技术。并且电网通信网络在进行构建的时候,必须着眼于未来利用先进宽带网络技术实现数据共享和数据传输。

二、智能电网支撑平台

支撑平台作为智能电网重要组成部分,其包含了传感量测系统、数据表达、数据存储系统,另外还包含了系统分析、决策系统、控制和执行系统。传感量测系统在进行量测的时候,由于信息汇聚使得数据存储和计算奠定了相应的技术。同时电网决策的时候,根据目前使用的量测系统进行数据挖掘和采集、监控,将高级计量框架与之前的采集数据作为电力状态前数据。采集个人用户数据的时候,采集的数据主要表示为测量系统所采集的数据进行命名、定义以及采集设备描述等问题。对于设备之间的通信模型、关联性等进行整体表述。

智能电网进行数据表示和数据存储的时候,必须要具有这两项重要功能,数据在进行表示的时候必须对采集的数据进行重新命名和定义,然会再对系统设备进行必要的描述,突出显示数据之间的模型标准和关联性。电力系统数据表示出具有一定的模型标准,例如IEC61970、IEC60870、IEC618750等们这些协议组存在着一定的模型协议制定过程。对于数据进行存储具有一定不同的方案,分为分布式存储、集中式存储、关键词模型存储以及分布式文件系统数据安全存储。随着近年来云计算技术逐渐被应用到信息系统构建之中,云计算平台逐渐进入到人们的视野之中,云存储具有大量信息存储,其具有安全性高、容量大以及可靠性高等优势,其在智能电网数据安全变得越来越大,势必成为电网数据主要的存储平台。

智能电网信息系统在进行分析和决策的时候,必须对海量数据进行处理。通过监控电网运行的主要情况以及电量的销售情况,另外还应加强对电网运行过程中存在着的问题进行统计分析,尽量避免在今后系统运行过程中出现类似的问题,还应减少相应电网运行的时候出现停电事故、线路故障确保用电的安全和稳定。智能电网信息系统在运行的时候还可预测用户的用电行为,可向用户提出相应的建议,并且为用户提供相应的电价和供电量调整根据。

传统的电力系统控制包含了对稳定运行控制、电压控制、配电网控制以及功率控制等。智能电网在传统的电网运行时还添加了分布式能源发电系统控制,确保融合传统技术和分布式能源供电控制。将传统控制系统与分布式能源开发控制系统融合在一起,已经成为了当前智能电网主要关注的问题。

结束语:随着计算机技术被广泛应用于智能电网改造之中,智能电网在组建的时候采用传感技术、设备技术以及远程控制方法来进行智能电网系统构建,从而在构建电网时确保了电网的可靠性以及安全性。智能电网信息体系构建的时候必须从硬件设备、支撑平台以及软件构建实现智能电网信息系统建设,实现电网升级改造。本文针对智能电网信息系统的组建主要组成进行分析,从基础设施和支撑平台等进行论述,为实现智能电网信息系统构造提供借鉴。

参考文献:

[1]李庆良. 智能电网信息系统体系结构分析[J]. 电子制作,2014,17:159.

Oracle体系结构研究 第4篇

Oracle的存储结构分为物理存储结构和逻辑存储结构。

1.1 物理存储结构

主要由数据文件、控制文件、联机日志文件及数据库实例构成。

Oracle数据库中有许多初始化参数, 这些参数用于对整个数据库进行设置或调整, 如设置数据库名、数据库块大小、控制文件的名称和位置、数据库实例数等信息。Oracle把这些参数存放在一个文件中, 这个文件就叫初始化参数文件。启动数据库时, Oracle会读取参数文件中的值, 并根据这些值对数据库实例 (instance) 进行设置。具体说是Oracle先从初始化参数文件中获得控制文件的名称及位置, 打开控制文件, 然后再从控制文件中读取数据文件和联机日志文件的名称和位置, 打开它们, 因为表、索引等对象的数据就存放在数据文件中, 从而就打开了数据库。

1.1.1 控制文件

Oracle启动数据库时会访问控制文件, 控制文件是在创建数据库的时候创建的, 它是一个很小的二进制文件, 记录了数据库的名称、创建数据库的时间、数据文件的名称和位置、联机日志文件的名称和位置及表空间等信息。

所以说一个数据库的控制文件是相当重要的, 一旦被损坏, 数据库将不能正常启动和运行。所以DBA应该镜像控制文件, 把每个镜像的控制文件分布到不同的物理磁盘上, 发生灾难时既使其中一个控制文件被损坏, 也不会使整个数据库限于瘫痪。

1.1.2 数据文件

当用户在Oracle中创建数据库的时候, 就创建了一个或多个数据文件, 表和索引等对象的数据就物理地存放在数据文件中。一个表的数据可能会存储在多个数据文件中, 但一个数据文件只能属于一个数据库。用户查询一个表时, 如果所需数据不在内存中, Oracle会读取该表所在的数据文件, 并把数据调入内存中, 也就是说访问表实际上就是对数据文件进行读写操作。创建数据文件时可以指定其初始大小, 当其空间耗尽时, 也可自动或手动扩展其大小。

1.1.3 联机日志文件

当用户在内存中对数据库做了修改时 (如插入、删除、修改) , 如果数据还没有来得及写入数据文件中就发生断电, 用户的修改就会丢失。为了防止这种情况的发生, Oracle运行过程中会在内存中产生日志条目, 这些日志条目反应了用户所做的修改, 并每隔一段时间把日志条目写到物理的联机日志文件中。重启数据库时, Oracle会从联机日志文件中找回丢失的修改数据并重新把它写到数据文件中。由此可见, 联机日志文件主要用于对数据库实例 (Instance) 的恢复。当用户提交一个事务或每隔3秒钟或日志缓冲区被填满1/3时, 产生的日志信息就会被写到联机日志文件中。

1.2 逻辑存储结构

Oracle的逻辑存储结构由数据块、区、段和表空间构成。

1.2.1 表空间

一个数据库被分成一个个的逻辑单元, 这些逻辑单元叫“表空间”。表空间用于在逻辑上存放数据库对象如表、索引等。一个数据库逻辑上由一个或多个表空间组成。表空间又由一个或多个数据文件物理地支持着, 表空间中的数据库对象 (如表) 的数据实际上是存储在数据文件中的。表空间的大小是组成表空间的所有数据文件的大小之和。但表和数据文件却不是一一对应的, 一个表的数据可以存放在一个或多个数据文件中。每个数据库用户都要有一个默认表空间, 当用户创建对象 (如表) 时, 如果没有指定这个对象放在哪个表空间中, 则这个对象将被存放在默认表空间中。

1.2.2 数据块

数据块简称块, 是Oracle存取数据的最小单位。Oracle数据存放在块中, 一个块占用一定的磁盘空间。这里的“块”是Oracle的数据块, 而不是操作系统的“块”。Oracle每次读写数据的时候都以块为单位, 如果读写的数据不到一块, Oracle也会读写整个块。Oracle块的大小一般是操作系统块大小 (512bytes) 的整数倍, 如2k, 4k。块大小由初始化参数文件中的DB BLOCK SIZE参数指定。

1.2.3 区

区是数据库中的一个逻辑存储单元, 由连续的数据块组成。特别强调的是区是一段连续的存储空间。当段中的空间耗尽时, Oracle会分配一个新区给这个段。

段由一系列的区组成, 也是存放数据的逻辑单元。

表由段组成, 一个表由一个或多个段组成。普通表由一个段组成, 分区表由多个段组成。

创建表的时候实际上就创建了段, Oracle会给表的段分配一个初始区。随着数据的插入, 初始区被填满, Oracle会再分配一个新区给表的数据段, 这个区叫做“递增区”。如果递增区用完, Oracle还会分配另外的递增区。

1.2.4 段

段由一系列的区组成, 也是存放数据的逻辑单元。表由段组成, 一个表由一个或多个段组成。普通表由一个段组成, 分区表由多个段组成。创建表的时候实际上就创建了段, Oracle会给表的段分配一个初始区。随着数据的插入, 初始区被填满, Oracle会再分配一个新区给表的数据段, 这个区叫做“递增区”。如果递增区用完, Oracle还会分配另外的递增区。

2 内存结构

在Oracle中, “数据库”是指物理地存储在磁盘上的数据库文件。而数据库的启动和运行, 是需要一定的内存空间和后台进程的, 我们把这些内存空间和后台进程称为Oracle数据库实例 (Instance) .也就是说一个数据库实例是由一块大的内存空间和一系列的后台进程构成。对于第一次接触“实例”这个概念的朋友来说, 容易把“实例”和“数据库”这两个概念混淆。实例是“内存”和“后台进程”的总称, “数据库”是数据的物理存储。一个数据库可以由一个或多个实例驱动, 二者之间的关系是一对多的关系。

数据库实例所占用的内存空间分为两部分, 一部分叫系统全局区 (SGA) , 另一部分叫程序全局区 (PGA) 。

2.1 系统全局区 (SGA)

系统全局区是一组共享的内存结构, 这块内存结构用于存放数据和数据库实例的控制信息。多个用户可以同时连接到同一个实例 (Instance) , 这些用户可以共享该实例的SGA中的数据, 因此, 系统全局区又叫“共享全局区”。当启动一个实例时, Oracle会分配SGA给这个实例, 关闭实例时它的SGA又被回收, 每个数据库实例都有一个SGA。SGA主要由以下几部分构成:数据库高速缓冲区 (Database Buffer Cache) 、重做日志缓冲区 (Redo Log Buffer) 、共享池 (Shared Pool) 、Java池 (Java Pool) 、大池 (Large Pool) 、流池 (Streams Pool) 。

SGA的每部分结构都是为了满足不同的需求。

(1) 数据库高速缓冲区 (DataBase Buffer Cache) 。数据库高速缓冲区是SGA的重要组成部分, 用于存放从数据文件中读取的数据或者存放用户对数据库所做的修改, 所有连接到相同实例的用户都可以共享这些数据。

数据库高速缓冲区中的缓冲器被组织成两个列表:一个是写列表 (Write List) , 一个是最近最少使用列表 (Least Recently Used List, LRU) 。最近最少使用列表LRU存放三种缓冲器:自由缓冲器 (Free Buffers) 、正在被访问的缓冲器 (Pinned Buffers) 和脏缓冲器 (Dirty Buffers) 。写列表存放那些被修改了, 但还没有写到磁盘上的脏数据。

当用户查询数据时, Oracle首先在数据库高速缓冲区 (DataBase Buffer Cache) 中的正在被访问的缓冲器 (Pinned Buffers) 中进行查找, 如果找到, 则把数据返回给用户;如果未找到, Oracle则从数据文件中读取所需数据到自由缓冲器 (Free Buffers) 中, 自由缓冲器就变成了Pinned Buffers, 并把该缓冲器排放到最近最少使用列表 (LRU) 的末尾, 然后把Pinned Buffers中的内容返回给用户。

当用户修改数据库时, 直接修改的是Pinned Buffers中的内容, Pinned Buffers则变成了脏缓冲器 (Dirty Buffers) 。当LRU中不再有自由缓冲器可用时, Oracle会把位于LRU头部 (最近最少使用的) 的脏缓冲器中的内容 (用户的修改) 移动到写列表中, 而该脏缓冲器又变成了自由缓冲器, LRU中的缓冲器就是这样被周而复始地循环使用的。写列表中的数据最终要被写入磁盘上的数据文件中。

(2) 重做日志缓冲区 (Redo Log Buffer) 。重做日志缓冲区是SGA的组成部分, 它是一个循环使用的缓冲区, 用于存放日志条目, 日志条目可实现数据库实例的恢复。

当用户对数据库进行修改 (insert, update, delete, create, alter, drop) 等操作时, 一旦发生断电等意外, 用户所做的修改还没有来得及写入数据文件就丢失了。为了防止这种情况的发生, 在数据库运行过程中Oracle会把用户的修改以日志条目的形式记载在SGA的重做日志缓冲区中, 并每隔3秒钟或用户提交一个事务时由日志写进程LGWR把日志条目写入磁盘上的联机日志文件。也就是说Oracle为了以防万一会在数据库运行过程中对还没来得及写入数据文件的用户修改做一物理备份。当数据库重新启动时, Oracle会从联机日志文件中读取反映用户修改的日志条目, 读入日志缓冲区中, 再根据日志缓冲区中的日志条目恢复用户先前对SGA中的数据库高速缓冲区所做的修改, 最终把用户的修改写入数据文件, 从而恢复数据库实例。

初始化参数LOG BUFFER用于设置日志缓冲区的大小。比较大的日志缓冲区能够减少联机日志文件的磁盘I/O。如果一个系统中经常有大的、长时间运行的事务, 应该增大LOG BUFFER的值。

(3) 共享池 (Shared Pool) 。共享池也是SGA的重要组成部分, 用于存放SQL语句、PL/SQL程序代码、数据字典等信息。共享池主要包含库缓冲区和数据字典缓冲区。初始化参数SHARED POOL SIZE用于控制共享池的大小。在默认情况下, 32位的平台, SHARED POOLSIZE的值是8M, 64位的平台, SHARED POOL SIZE的值是64M。

库缓冲区存放解析并执行过的SQL语句和PL/SQL程序代码。当用户发送一条SQL语句或PL/SQL程序代码到数据库时, Oracle首先对这条语句进行语法解析, 然后将解析结果 (解析树和执行计划) 保存到库缓冲区中。如果不同的用户执行相同的SQL语句, 他们可以共享这些解析结果, 这会加快SQL语句的执行。

库缓冲区主要包含共享SQL区、私有SQL区、PL/SQL过程和包等。共享SQL区可被所有的用户共享。

具体说SQL语句或PL/SQL代码的解析树和执行计划是存放在库缓冲区的共享SQL区中。之所以称之为“共享”是因为如果另外一个用户执行相同的SQL语句, 则这个用户可以直接使用共享SQL区中的解析树和执行计划, 而不必对这条SQL语句重新进行解析。这样可以提高SQL语句的执行效率。SQL语句的一部分信息存放在共享SQL区中, 另外一部分存放在私有SQL区中。存放在私有SQL区中的这部分信息只能被执行这条SQL语句的用户独享, 其他用户不能使用。这部分信息包括SQL语句的绑定变量、环境和会话参数, 还包括运行PL/SQL程序单元所需的局部变量、全局变量和包变量。

Oracle在执行SQL语句时经常要访问表、视图、存储过程和触发器等数据库对象, Oracle把这些对象的信息 (如表的创建者, 创建时间, 所属表空间, 用户访问权限等) 存放在数据字典中。数据字典是在创建数据库的时候由Oracle自动创建的, 存储在磁盘上的系统表空间 (System Tablespace) 中。数据库对象的信息是以表和视图的形式存储在数据字典中的。由于每次执行SQL语句都要访问磁盘上的数据字典, 会大大降低数据库性能, 所以Oracle把频繁访问的数据字典信息缓存到共享池的数据字典缓冲区中, 然后根据其中的表、视图等对象的信息对SQL语句进行解析并执行的。

(4) Java池主要用于支持在数据库中运行Java代码。

(5) 大池是Oracle可选的内存结构, 数据库的备份和恢复, 并行查询的时候会用到大池。

(6) 流池也是可选的内存结构, 引入流池的目的是加强对流的支持。

2.2 程序全局区 (PGA)

连接到数据库实例的用户程序请求数据库时, 用户的SQL语句由Oracle的服务器进程负责解析并执行。启动一个服务器进程的时候, Oracle会给这个进程分配一块内存区域, 这块内存区域就是程序全局区。程序全局区用于存放服务器进程的数据和控制信息。每个服务器进程的程序全局区不能被其他进程共享, 只能由这个服务器进程读写这块内存区域。

3 进程管理

进程是操作系统的一种机制, 它执行一系列的步骤, 完成指定的任务 (有些操作系统中叫作业或任务) 。进程和程序的区别是, 进程是动态的, 程序是静态的。程序是一系列指令的集合, 进程强调的是执行过程。一个进程通常有自己私有的内存区。

进程分为两类:用户进程和Oracle进程。

3.1 用户进程

当用户运行应用程序或使用Oracle客户端 (如SQL*PLUS) 时, 就创建了用户进程。

用户进程在访问数据库实例 (简称实例) 时, 会建立一条通信路径, 这条通信路径叫连接。连接使用不同的通信机制, 如果用户进程和实例在同一台机器上, 则使用进程间的通信机制;如果用户进程和实例不在同一台机器上, 则使用网络通信机制。

一个用户必须提供用户名和密码才能登录到数据库, 用户成功登录数据库后就建立了一次会话。会话是有生命周期的, 会话的生命从用户登录开始, 到退出数据库实例为止。一个用户没有登录数据库时就是一个用户, 一旦登录数据库以后就建立了一次会话。一个用户可以创建多个会话。如用100个客户端使用同一个用户名scott同时登录一个数据库实例, 就创建了100个会话。

会话是Oracle数据库服务器对连接数据库的用户进行记录的一种手段。管理员通过对会话进行管理, 就可以掌握有哪些用户、在什么时间、以什么客户程序连接了数据库并执行了什么样的操作, 在必要的时候 (如密码泄露、恶意连接的用户等) 管理员还可以随时中断会话, 切断连接, 保护数据库的安全。

3.2 Oracle进程

Oracle进程运行在Oracle数据库服务器端, 分为服务器进程和后台进程。服务器进程用于处理连接到数据库实例的用户进程的请求, 负责解析并执行SQL语句, 如果用户需要的数据不在SGA中, 服务器进程会把数据从磁盘上的数据文件中读取到SGA的数据库高速缓冲区中, 并把结果返回给用户。也就是说服务器进程是为用户进程服务的。

Oracle系统为了使性能最佳和协调多个用户, 使用了一些附加进程, 称为后台进程, 后台进程是在实例启动时自动建立的。一个Oracle实例可以有许多后台进程, 但它们不一定一直或者同时存在, 每个后台进程只是在需要的时候才存在。Oracle的后台进程有:数据库书写进程、日志书写进程、归档进程、系统监控进程、校验点进程、进程监控进程、恢复进程、作业队列进程、队列监控进程、其它后台进程。

启动实例时, Oracle会自动启动后台进程, 下面阐述几个重要的后台进程。

3.2.1 数据库书写进程 (DBWR)

当Oracle发现SGA中的数据库高速缓冲区中没有自由缓冲器 (Free Buffers) 时, Oracle会通知数据库书写进程利用最近最少使用机制把最近最少使用的脏缓冲器中的数据从写列表中写入磁盘, 从而脏缓冲器又变成了自由缓冲器, 可以接收从数据库中读取的数据了。

3.2.2 日志书写进程 (LGWR)

当用户输入SQL语句对SGA中的数据库高速缓冲区进行修改时, 为了防止发生断电等意外修改还没有来得及写入数据文件就丢失了, 服务器进程把与这个修改相关的信息以日志条目 (Redo Entries) 的形式复制到日志缓冲区中。通常, 日志书写进程 (LGWR) 会以最快的速度 (如每隔3秒钟) 把这些日志条目写到联机日志文件中, 以便在日志缓冲区中预留出更多的空余空间, 进而服务器进程又把新的日志条目写到日志缓冲区中。日志文件用于日后的数据库实例的恢复。每当用户提交一个事务或每隔3秒钟或日志缓冲区的1/3已被填满时, 日志书写进程会把日志缓冲区中的日志条目写入联机日志文件:

3.2.3 归档的概念

Oracle把写满的联机日志文件复制到一个或多个路径下, 这个过程叫归档。这样生成的文件叫归档日志文件 (Archived Redo Log) , 存放归档日志文件的路径叫归档路径 (或者归档目录) 。只有数据库运行在归档模式下才能进行归档。归档过程一般由归档进程自动完成。

在创建数据库的时候, DBA可以指定数据库运行在归档模式。

联机日志文件实际上是由多个联机日志组构成, 每组里有几个日志文件。

如果当前联机日志组被填满, 日志书写进程 (LGWR) 会切换到下一组联机日志文件组, 当下一组联机日志文件组被填满, LGWR又会切换, 直到最后一组联机日志文件。当最后一组联机日志被填满后, LGWR将切换到第一组联机日志文件。所以这时候, 如果数据库运行在归档模式, LGWR会等待归档进程 (ARCn) 把第一组联机日志文件的内容复制到归档日志文件中, 然后才切换到第一组联机日志文件。

4 结束语

在深入学习Oracle数据库之前, 必须对Oracle数据库的体系结构有一个初步的了解。Oracle数据库的体系结构分为存储结构、内存结构和进程结构。存储结构分为物理存储结构和逻辑存储结构, 物理存储结构主要是由控制文件、数据文件和联机日志文件构成;逻辑存储结构是由表空间、数据块、区、段构成。启动了的数据库称为数据库实例, 一个数据库实例需要一定的内存空间和后台进程支持, 这块内存空间是由系统全局区SGA和程序全局区PGA构成。系统全局区SGA主要又是由数据库高速缓冲区、重做日志缓冲区、共享池、Java池、大池和流池构成;程序全局区PGA是启动一个服务器进程所需的内存区域。数据库的运行和维护是由一些进程完成的, 这些进程包括用户进程和Oracle进程, Oracle进程又分为服务器进程和后台进程。

参考文献

[1]赵振平.ORACLE数据库精讲与疑难解析[M].北京:电子工业出版社, 2008.

[2]朱辉生.大型数据库系统概论[M].北京:高等教育出版社, 2006.

体系结构之设计基础 第5篇

将基本的语言单位(类型与语句)组织起来,建立高质量的数据结构和算法(数据结构合理易用,算法可靠、高效、易读)。屏蔽程序中复杂的数据结构与算法的实现细节

2) 主要关注因素:

数据结构与算法的简洁性(易读)、坚固性(可靠,易维护)。

3) 主要方法与技术:

防御式编程,断言式编程,测试驱动开发,异常处理,配置式编程,表驱动编程,基于状态机编程。前面四个是关于可靠性的,后面三个是关于数据结构带来易读性。

4) 最终制品:

钢结构栈桥结构体系优化实例 第6篇

钢栈桥在工业生产中占有极其重要的地位,用途十分广泛。有的用于焦化厂运煤、运焦,有的用于烧结厂运精矿粉、烧结矿等,是重工业厂家的运输动脉。

1常用两种钢栈桥特点

1.1型钢桁架体系

型钢桁架体系在国内应用十分广泛,其造型美观大方,施工简单方便,安全可靠;其计算模型比较简单,理论浅显易懂。但是型钢栈桥属于平面受力体系,钢材利用率低,耗钢量大,连接复杂。而且一般型钢截面是单轴对称,因此,计算时需要人工干预,复核杆件平面外强度和稳定;同时,型钢桁架节点的设计较为繁琐,节点构造复杂,难于刷漆或清除灰尘的死角,不利于维护;另外,出于方便设计和施工等原因,设计时,通常弦杆不是按照杆件实际内力设计,而往往在同一运输单元内采用相同的截面,这样也造成了较大的浪费。

1.2网架体系

网架栈桥体系受力构件采用钢管或钢管与其它型钢的组合,节点采用焊接空心球节点或螺栓球节点。相对型钢栈桥,网架栈桥属于空间受力体系,传力途径好。网架栈桥的主要构件采用钢管,减轻了自重,降低了经济指标,具有良好的经济效益。同时其刚度大,工期短,抗震性能好。网架的上、下弦间还可为各种管道穿行提供空间。另外,随着设计技术的提高和新型防腐、防水涂料的出现,更为网架栈桥在一些高湿、高温条件下的使用创造了条件。采用网架栈桥,其节点和杆件可在专业厂家加工制作,制作质量可得到保证,建设工期加快。

虽然网架栈桥体系优点突出,但当结构的跨度大到一定程度时,可能导致其结构刚度降低,产生整体屈曲或共振现象。

2栈桥的优化实例

2.1工程实例(结合某市一在建栈桥)

该工程安全等级为二级,结构重要性分类为丙类建筑,抗震设防烈度为7度。该栈桥长30m,宽4.1m,高3.2m。荷载标准值为:

(1)上弦荷载0.925KN/m2(上弦杆及上弦支撑总重0.5KN/m2、檩条自重0.075KN/m2、屋面板自重0.35KN/m2)。

(2)下弦荷载3.48KN/m2

(3)上弦活荷载:0.5KN/m2(非上人屋面),下弦活荷载:3.75KN/m2

(4)风荷载标准值

(4-1)

其中:w0=0.5KN/m2;B类场地;取1.0;下弦,,上弦,;迎风面,背风面。

2.2型钢栈桥体系的设计分析

该体系采用平面铰接体系,两端铰接。桁架上下弦的截面型式为组合槽钢截面,端部腹杆采用H型钢,与上下弦支撑组成端门架,加强了桁架的整体稳定性;其余腹杆及斜腹杆采用等边双角钢体系,上下弦支撑采用单角钢与H型钢的组合型式,以增强结构的侧向刚度。

经过计算[1],这种布置截面应力最大应力比0.85,符合设计最低要求。该体系的耗钢量为22729.6Kg。

2.3网架栈桥体系的优化设计

本文的优化目标为结构的耗钢量指标。优化思想:對主要结构构件,其截面应力不应过大,原则上其应力比不应超过0.85,并在设计当中尽可能调整主要构件截面,使其应力比接近0.85。而对于次要构件(例如支撑等),采用满应力设计法,在满足结构安全的基础上达到降低耗钢量的要求。

本文在型钢体系的基础上,利用网架体系取代型钢体系,采用空间受力计算方法,对该栈桥进行了优化设计。优化设计采用空间铰接体系模型,为了保证结构的几何不变性,网架端部采用H型钢形成封闭刚架,加强了结构的整体稳定性。网架侧面的几何尺寸与桁架相同,

经计算,体系优化后耗钢量降为20911.2Kg,节约了大约8%的钢材。

3两种体系对比分析结论

以上两种模型的基本假定都是以节点铰接为前提,从两种体系的受力可以看出,网架模型更接近于计算假定,受力更为合理。同时网架属于超静定结构,结构的安全储备大。钢管截面为双轴对称,平面内、外为等稳定设计,而桁架体系常用的角钢截面是单轴对称,计算时需要人工干预,复核杆件平面外强度和稳定。从经济角度看,当栈桥的跨度较大时(≥30m时),网架结构的经济指标更为合理,可节省耗钢量约10%左右。

参考文献:

软件体系结构模式探析 第7篇

1 软件体系结构模式的现状

1.1 缺乏对软件体系结构模式知识的了解

软件体系结构模式作为一种最新的技术, 目前正处于不断地发展阶段, 在这一阶段对软件体系的理解需要一个长足发展的过程。当前无论是软件开发人员还是软件使用者, 对于软件体系结构都没有一个清楚地认识, 比如在对计算机语言 (C++或Visual Basic) 的基础知识的理解不足就会在代码设计及使运用难以达到效果, 特别是关于软件架构与软件结构模式这两个概念, 都很难有一个清楚的认识了解, 对于其使同一种意思的理解在软件开发上容易对开发商造成极大地困惑。不利于软件的开发使用。

1.2 软件体系结构模式老化, 缺乏创新

随着计算机技术的不断发展, 软件结构的规模不断加大, 而软件体系也越来越复杂化, 所以老化的软件体系结构模式使得对一些软件的利用满足不了需求。软件结构模式的不断开发运用需要在创新的基础上不断提高。比如, 在软件模式的开发利用上, 由于缺乏对软件模式的创新, 导致软件模式的利用的得不到大力推广, 从而造成软件模式的老化, 软件系统也可能因其无法更新而导致瘫痪。

1.3 缺乏软件体系结构模式开发人员

对于一种新技术的开发最重要的就是开发人员的大力培养。当前在软件开发技术上缺乏高技术创新人员, 使得软件体系结构模式老化而得不到改进, 这样在对于软件开发的各个阶段, 比如理清问题、需求分析、软件设计、软件实测等方面没有有效的检测技术人员, 使得软件体系模式利用难以展开投入。在计算机领域软件高技术开发人员的培养是满足用户需求、跟进发展步伐的关键。

2 优化软件体系结构模式的相关策略及具体应用

2.1 掌握软件体系结构模式基本知识

加大对软件体系结构模式知识的精确了解, 是软件体系结构模式创新的根本所在。在当前科学技术不断发展进步的社会中, 无论是对与一中技术的开发还是利用都应对其概念有深刻的了解。比如, 常见的软件体系结构模式有Data flow, Call return等五中, 相关人员只有对其结构用途有了基本的了解之后, 才能更好的加以利用。因此, 在软件体系结构模式的开发创新上就需要加大技术人员对软件体系结构模式知识的精确了解, 这就需要技术人员在的培训学习阶段认真有效地了解软件模式, 比如对于架构与模式有清晰地区分, 理清两者之间的共同与不同之处, 才能更好的完成软件结构体系模式的探析。

2.2 开发创新的软件体系结构模式, 提高使用率

不断有效地开发创新软件体系结构模式, 就需要在平时的工作实践经验中建立一种形式化模式体系结构。比如, 在对Service Oriented Architecture (SOA) 这种最新程序模式的开发中, 就需要技术人员发挥其创新能力, 使各个部件实现低耦合以灵活满足用户需求。在最新软件体系的开发上, 要学会充分理解与其相同的结构模式, 使用相似的体系结构模式, 并从中找出不同的因素加以改进研究。通过对软件体系结构的不断探究和使用, 能够使最新软件开发的复杂过程变得简单、精巧, 从而减少开发过程中重复使用的设计步骤, 并且软件体系结构模式也是开发人员在不断地经验总结下而为软件体系提供的最新经验标准, 提取相关软件的共同方面加大研究不同方面的结构体系, 从而构建新的软件系统, 这样不仅节省了研究中所需的时间, 而且有利于在开发的过程中利用其它有效地科技经验。形成一种独立的形式化工具, 不断加强开发创新软件体系结构新模式。

2.3 增加投入, 大力培养软件体系结构模式开发人员

要大力培养软件体系结构模式开发人员, 就需要企业在研究上增加投入。开发人员的培养是软件体系结构模式开发创新的关键所在。这种方法的目的就是要提高软件模式的投入使用效率, 即运用高素质、高技术的人才, 这就需要企业增加在学习、技术上的投入, 不仅如此还应给与其在实践方面的设备投入, 让他们在进入工作之前有很好的实践经验, 这样就不会导致软件体系模式开发创新人员只会纸上谈兵, 而无法进入有效地工作了。

3 结论

总而言之, 在当前阶段软件体系结构模式的开发与利用上存在诸多的问题, 从加大开发投入和技术人员的创新中考虑改善软件体系结构模式是非常有效的。而软件体系结构的创新在科技不断发展的今天作为一项重要内容, 还需要相关人员在促进模式改进方法上不断思考, 找到合理的解决方案。掌握软件体系结构模式的基本知识;不断开发创新型的软件体系结构模式, 提高使用率;增加投入, 大力培养软件体系结构模式开发人员等方法, 希望相关人员给与全方位的思考, 如何做到软件体系结构模式的创新利用, 是当前技术人员需要关注的重点。

摘要:本文基于工作实践, 分析了当前软件体系结构模式存在的问题, 并着重介绍了掌握软件体系结构模式基本知识;不断开发创新软件体系结构模式;增加投入, 培养软件体系结构模式技术人员等相关策略及具体应用, 希望相关人员加以借鉴和思考, 为我国软件体系结构模式的最新研究创造良好的环境。

关键词:软件体系,结构模式,模式创新

参考文献

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

[2]张友生, 李雄.软件开发模型研究综述[J].计算机工程与应用, 2006 (3) .

体系结构 第8篇

1 异形柱结构体系及其计算

异形柱是指柱的截面各肢的肢高.肢厚比不大于4的柱, 常用的有“T”字型、“L”型、“十”字型。异形柱结构体系有框架结构体系、框架-剪力墙结构体系。

异形柱截面不对称的特点决定了其受力性能、抗震性能与矩形柱结构不同。其在水平力作用下产生的双向偏心受压给承载力带来不小影响。因此, 对异形柱结构应按空间体系考虑, 宜优先采用具有异形柱模块的计算程序进行内力与位移分析。因异形柱和剪力墙受力不同, 所以计算时不应将异形柱按剪力墙建模计算。

对异形柱框架结构, 一般宜按刚度等效折算成普通框架进行内力与位移分析。当刚度相等时, 矩形柱比异形柱的截面面积大。一般, 比值 (A矩/A异) 约在1.10-1.30之间。因此, 用矩形柱替换后计算出的轴压比数值不能直接应用于异形柱。

对框架-剪力墙结构, 由于异形柱分担的水平剪力很小, 由此产生的翘曲应力基本可以忽略, 为简化计算, 可按面积等效或刚度等效折算成普通框架-剪力墙结构进行内力与位移分析。按面积等效更能反映异形柱轴压比的情况, 且面积等效计算更为简便。

一般, 按面积等效计算时, 矩形柱的惯性矩比异形柱的小。但对有剪力墙的异形柱结构, 计算分析表明, 按面积等效与按刚度等效的计算结果是接近的。

异形柱的截面设计, 可根据上述方法得出的内力, 采用适合异形柱截面受力特性的截面计算方法进行配筋计算。

天津大学的试验研究结果表明:异形柱的延性比普通矩形柱的差。轴压比、高长比 (即柱净高与截面肢长之比) 是影响异形柱破坏形态及延性的两个重要因素。异形柱由于多肢的存在, 其剪力中心与截面形心往往不重合, 在受力状态下, 各肢产生翘曲正应力和剪应力。由于剪应力, 使柱肢混凝土先于普通矩形柱出现裂缝, 即产生腹剪裂缝, 导致异形柱脆性明显, 使异形柱的变形能力比普通矩形柱降低。

作为异形柱延性的保证措施, 必须严格控制轴压比, 同时避免高长比小于4 (短柱) 。根据不同的结构体系, 不同的异形柱截面形式及不同抗震等级, 规范提出了与之相应的轴压比控制数据, 规范对异形柱截面的肢厚及肢高提出最小尺寸要求, 目的就是为了控制柱截面轴压比, 要求柱应具有足够大的截面尺寸, 以防止出现小偏压破坏, 提高柱的变形能力, 满足抗震要求。短柱在压剪作用下往往发生脆性的剪切破坏, 设计中应尽量避免出现短柱。

2 剪力墙结构体系及其计算

剪力墙结构体系中的具有较多短肢剪力墙结构是指, 在规定的水平地震作用下, 短肢剪力墙承担的底部倾覆力矩不小于结构底部总地震倾覆力矩的30%的剪力墙结构。短肢剪力墙是指截面厚度不大于300mm, 各肢截面高度与厚度之比的最大值大于4但不大于8的剪力墙。常用的有“T”字型、“L”型、“十”字型、折线型、“一”字型。具有较多短肢剪力墙结构是适应建筑要求而形成的特殊的剪力墙结构。这种结构型式的特点是: (1) 结合建筑平面, 利用间隔墙位置来布置竖向构件, 基本上不与建筑使用功能发生矛盾; (2) 墙的数量多少, 肢长短, 主要视抗侧力的需要而定, 还可通过不同的尺寸和布置来调整刚度中心的位置; (3) 能灵活布置, 可选择的方案较多, 楼盖方案简单; (4) 连接各墙的梁, 随墙肢位置而设于间隔墙竖向平面内, 可隐蔽; (5) 根据建筑平面的抗侧刚度的需要, 利用中心剪力墙, 形成主要的抗侧力构件, 较易满足刚度和强度要求。

相对于异形柱结构, 具有较多短肢剪力墙结构的理论与实践较为成熟, 但这种结构在结构设计中仍然有需要引起重视的方面。 (1) 由于具有较多短肢剪力墙结构相对于普通剪力墙结构其抗侧刚度相对较小, 设计时应布置适当数量的长墙, 或利用电梯, 楼梯间形成刚度较大的内筒, 以避免设防烈度下结构产生大的变形; (2) 具有较多短肢剪力墙结构的抗震薄弱部位是建筑平面外边缘的角部处的墙肢, 当有扭转效应时, 会加剧已有的翘曲变形, 使其墙肢首先开裂, 应加强其抗震构造措施; (3) 高层具有较多短肢剪力墙结构在水平力作用下, 显现整体弯曲变形为主, 底部外围小墙肢承受较大的竖向荷载和扭转剪力, 由一些模型试验反映出外周边墙肢开裂, 因而对外周边墙肢应加大厚度和配筋量, 加强小墙肢的延性抗震性能。短肢墙应在两个方向上均有连接, 避免形成孤立的“一”字形墙肢; (4) 各墙肢分布要尽量均匀, 使其刚度中心与建筑物的形心尽量接近, 必要时用长肢墙来调整刚度中心; (5) 高层结构中的连梁是一个耗能构件, 具有较多短肢剪力墙结构中, 墙肢刚度相对减小, 按强剪弱弯, 强柱弱梁的延性要求进行计算。

综合上述分析, 异形柱结构体系与剪力墙结构体系各自有各自的优缺点, 设计者应根据具体建筑布局及抗震要求选用适宜的结构体系。

摘要:结合实际, 谈谈异形柱结构体系.剪力墙结构体系与现代住宅。

商业智能体系结构研究 第9篇

关键词:商业智能,数据转换,数据仓库,数据挖掘

商业智能也称作BI是英文单词Business Intelligence的缩写。商业智能通常被理解为将企业中现有的数据转化为知识, 帮助企业做出明智的业务经营决策的工具。与DSS系统相比, 商业智能具有更美好的发展前景。这些年来, 商业智能市场持续增长, 许多的国外企业已经进入了中端BI, 也就是所说的数据分析阶段。同时, 也有一些企业开始进入BI的高端数据挖掘阶段。而目前我国的大部分企业还停留在报表阶段。传统的报表系统技术上包括大家熟悉的Excel、水晶报表、Reporting Service等都已经被广泛使用。但是, 随着数据的增多与需求的提高, 传统报表系统面临的挑战也越来越多。

1 BI的具体内容

随着企业ERP、CRM和SCM等应用系统的使用, 企业不再停留在事务处理阶段, 而更注重有效的利用企业的数据来为准确和更快的决策提供支持, 也就是说商业智能的需求越来越强。商业智能的概念最早在1996年提出。当时对商业智能的定义是由数据仓库、查询报表、数据分析、数据挖掘、数据备份和恢复等部分组成的, 可以帮助企业决策的技术及其应用。现在, 对商业智能的理解是将企业中现有的数据转化为知识, 帮助企业做出明智的业务经营决策的工具。这里所说的数据包括来自企业内部的业务数据, 以及来自企业外部环境中的各种数据。为了将数据转化为知识, 需要利用数据仓库、联机分析处理 (OLAP) 工具和数据挖掘等技术。从技术层面上讲, 商业智能只是数据仓库、OLAP和数据挖掘等技术的综合运用。如何把数据转化为信息, 使得企事业人员能够充分掌握、利用这些信息, 并且辅助决策, 就是商业智能主要解决的问题。

2 BI平台搭建

主流的商业智能工具包括BO、COGNOS、BRIO。一些国内的软件工具平台如KCOM (也集成了一些基本的商业智能工具。智能商业平台提供一切必要的工具包括管理和提供文件, 分析系统模型, 控制与预策系统。每一种文档都保留它的特点, 但每个在体系中的组件都提供了应用于执行环境。商业智能的完整的体被划分为4个大的层面, 并根据数据的处理和应用过程再细分成7个环节。从数据源经过抽取、转换、装载过程加载到中央数据仓库, 再从数据仓库经过分类加工放到数据集市, 或者将数据集市中的数据进一步存放到多维数据库中, 这都属于数据组织的问题, 从中间层到终端用户或从多维数据库到终端用户可将其划归为前端应用实现的问题。而贯穿整个体系数据处理环节的, 是系统的流程调度控制和元数据管理。

本项目的目的是完成一个强大体系结构来实现智能商业解决方案。目前, 全世界计算机软件应用范畴内已经存在许多自由/开源软件项目, 比如报表工具、数据挖掘工具和算法等等, 但是它们主要针对的是商业智能领域的一个特定问题, 但当需要一个完整的解决方案时, 这些独立的开源项目就显得无能为力了。本项目将利用现有的最好的自由/开源软件解决方案来实现一个真正的综合的智能商业平台。由于包括内容较多, 整个系统就显得比较复杂。包括的模块内容有: (1) 企业应用程序集模块:主要是和普通的接口程序相关, 可以特定为商业智能接口或普通企业接口服务, 能使系统全面管理有用的智能商业服务; (2) BI应用模块:支持智能商务平台的核心分析工作, 包括结果验证, 它能以同样的方式管理结果验证、参数激活、过程导航和存储等工作。它支持参数管理, 支持引发和交互双模式, 支持能见度和授权的政策与准则, 支持不同的文档的组织和导航; (3) BI引擎:是实现分析数据与文件的接口程序。

2.1 数据仓库

数据源可以是企业日常运作积累下来的各类的业务数据, 也可以是外部的数据。这些数据对于商业智能的实现具有非常重要的意义, 首先是数据仓库的搭建, 数据仓库的一个目的就是把企业的信息访问基础, 从一种非结构化的或发展中的环境改变成一种结构化或规划良好的环境。随着我国企业信息化建设步伐的不断加快, 全球性市场竞争的加剧, 越来越多的企业开始建设自己的数据仓库系统, 希望能对历史数据进行具体而又有针对性的分析与挖掘, 以期从中发现新客户和客户新的需求。目前市场上的主流数据仓库产品包括Business Objects、Oracle、IBM、Sybase等, 但对于智能商务而言, 需要一个集查询、报表和OLAP技术为一身的智能支持系统。要实现“语义层”技术和“动态微立方”技术来表示数据库中的多维数据, 具有良好的查询和报表功能, 提供钻取等多维分析技术, 同时支持多种平台。对于有自主开发商业智能产品需求的企业, 可以选取JPIVOT/MONDRIAN, JPivot是一种轻量级的O-LAP产品, 它使用Mondrian and XMLA作为它的OLAP引擎, JPIVOT利用一组JSP通用标签库来来获取O-LAP表格, 可以执行典型的OLAP操作, 例如钻取, 切片和切块等。

2.2 数据转换

ETL是智能商业 (BI) 和数据挖掘 (DW) 的核心和灵魂, 它按照统一的规则集成并提高数据的质量, 负责完成数据从数据源向目标数据仓库转化的过程, 是实施数据仓库的重要步骤。目前, 主流的ETL工具有Informatica、Data stage、Data Integrator和OWB, 以上四种产品已经占领了市场的绝大部分份额, 对于有自主开发商业智能产品需求的企业, 可以选取一些开源数据转换工具, 例如BIE和Octopus.BIE全称是商业集成组件, 它的目的是帮助企业解决不同应用中数据的交换问题, 从而产生适合统一处理的过程数据流。Octopus是一个ETL工具, 它可以连接JDBC数据库, 执行XML格式转换。

2.3 数据挖掘

数据挖掘 (Data Mining) 是采用数学、统计、人工智能和神经网络等领域的科学方法, 从大量数据中挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势, 并用这些知识和规则建立用于决策支持的模型, 为商业智能系统服务的各业务领域提供预测性决策支持的方法、工具和过程。在日常的数据库操作中, 经常使用的是从数据库中抽取数据以生成一定格式的报表。对于有自主开发商业智能产品需求的企业, 可以选取一些开源数据转换工具, 怀卡托智能分析环境Weka是一个基于java的, 用于数据挖掘和知识发现的开源项目, 经过12年的发展历程Weka已发展为现今最完备的数据挖掘工具之一, 被公认是数据挖掘开源项目中最著名的一个。和其他数据挖掘工具的艰深复杂不同, 使用weka软件的技术门槛很低。

3 结束语

随着企业CRM、ERP、SCM等应用系统的引入, 企业不停留在事务处理过程而注重有效利用企业的数据为准确和更快的决策提供支持的需求越来越强烈, 由此带动的对商业智能的需求将是巨大的。IDC的报告显示, 2004年亚太区 (不含日本) 商务智能 (BI) 工具软件市场规模2009年市场规模达4.173亿美元, 商业智能的发展将向解决方案更开放、可扩展、可按用户定制的客户化界面方向进一步发展下去。

参考文献

[1]许力, 牟晓光, 马云存.并行ETL过程的研究与实现[J].计算机工程与应用, 2009 (13) .

[2]郭艳蕾.商业智能综述[J].商业文化 (学术版) , 2008 (2) .

SIP体系结构的研究 第10篇

SIP(Session Initiation Protocol)是IETF提出的在IP网络上进行多媒体通信的应用层控制协议,由IETF RFC3261定义。多媒体通信可以是点到点的话音通信或视频通信,也可以是多点参与的话音或视频会议等。SIP协议透明地支持名字映射和重定向服务,便于实现ISDN,智能网以及个人移动业务。

SIP的开发目的是用来帮助提供跨越因特网的高级电话业务。IP电话正在向一种正式的商业电话模式演进,SIP就是用来确保这种演进实现的NGN(下一代网络)系列协议中重要的一员。

SIP不是会话描述协议,也不提供会议控制功能。SIP应该和其他协议协同工作以提供给用户完全的服务,但是SIP的基本功能和操作并不依赖于任何其他协议。SIP可以单独的工作,也可以与其他协议一起协同工作。

SIP的网络系统结构采用C/S的控制方式,如图1所示。呼叫请求的发出方为客户,请求接收和处理方称为服务器。由图1可以看到,SIP仅完成呼叫信令的功能,而具体的媒体传输由RTP(实时传输协议)来完成,实现了呼叫与媒体分离的设计思想。

1 SIP消息

SIP协议是采用UTF-8字符集来进行编码的文本协议,UTF8的相关内容参见RFC2279。SIP协议消息分请求和响应两类,其中请求消息由客户机发往服务器,响应消息由服务器发往客户机。除选用的字符集以及语法定义外,请求和响应消息均采用RFC2822定义的基本格式进行编码。请求和响应消息格式由一个起始行、若干个头字段以及一个可选的消息体组成。其中消息体为可选项,头字段与消息体之间用空行进行分隔,值得注意的是,即使没有消息正文,也必须有空行。

请求消息和响应消息都包括SIP消息头字段和SIP消息体字段;SIP消息头主要用来指明本消息是由谁发起和由谁接受,经过多少跳转等基本信息;SIP消息体主要用来描述本次会话具体实现方式。

请求和响应消息格式如下:

SIP消息=起始行

消息头部(1个或多个头部)

CRLF(空行)

[消息体]

其中,起始行=请求行/状态行

1.1 请求消息

请求消息的起始行为请求行(Request-Line)。请求行的格式如下所示,由方法名、请求URL 和协议版本组成,各部分之间均用一个空格字符进行分隔。除此之外,请求行必须用回车换行(CRLF )字符表示行终结。

Request-Line=Method[]Request-URI[]SIP-Version CRLF

(1)Method:

本规范共定义了6个方法,INVITE,ACK,CANCEL,OPTIONS,BYE和REGISTER。

①INVITE通过邀请用户参与发起一次呼叫。

②ACK请求用于证实UAC已收到对于INVITE请求的最终响应,和INVITE消息配套使用。

③BYE USER AGENT用此方法指示释放呼叫。

④CANCEL方法用于取消一个尚未完成的请求,对于已完成的请求则无影响。

⑤REGISTER用于向注册服务器注册用户代理客户端的相关信息,这样注册服务器就可以知道客户机当前的位置信息。

⑥OPTIONS用于查询服务能力。

除以上6类主要消息外,SIP协议在其他文档中还定有若干方法实现协议扩展。

(2) Request-URL:

指示被邀请用户的当前地址。

(3) SIP-Version:

用于定义协议的当前版本号,本协议的版本号为SIP/2.0。

1.2 响应消息

响应消息的起始行为状态行(Status-Line),状态行由协议版本、状态码和与状态码相关的文本描述组成,各个部分之间用一个空格字符进行分隔。状态行的格式如下所示:

Status-Line=SIP-Version[]Status-Code[]Reason-Phrase CRLF

Status-Code(状态码):该参数为一个3位的十进制整数,用于指示请求消息的执行响应结果。

Reason-Phrase(原因):该参数用于对Status-Code参数进行简单的文本描述。客户机不必检查或显示Reason-Phrase参数。

本协议共定义6类状态码,其中状态码的第1位数字用于指示响应类型,后两位数字表示具体响应。本协议规定状态码为“100~199”之间的响应用“1XX”进行标识,“200~299”之间的响应用“2XX”进行标识,依此类推。

(1) 1XX: 临时响应,表示请求消息正在被处理。

(2) 2XX: 成功响应,表示请求已被成功接收,完全理解并被接受。

(3) 3XX: 重定向响应,表示需采取进一步以完成该请求。

(4) 4XX: 客户机错误,表示请求消息中包含语法错误信息或服务器无法完成客户机请求。

(5) 5XX: 服务器错误,表示服务器无法完成合法请求。

(6) 6XX: 全局故障,表示任何服务器无法完成该请求。

2 SIP逻辑实体

RFC3261中定义的SIP逻辑实体包括用户代理(UA,User Agent),代理服务器(Proxy),注册服务器(Registrar),重定向服务器(Redirect Server),B2BUA(Back-to-Back User Agent)。

2.1 用户终端(User Terminal UA)

UA作为SIP的终端实体,分为UAC和UAS,正是UAC和UAS相互之间的消息传递构成了整个会话的发起、修改和终结。一般来说,UAC主要的行为就是生成并发送请求,处理对请求的响应。UAS的行为主要是接收请求,生成并发送对该请求的响应。SIP消息根据其所携带的不同的方法导致的操作也不完全相同。

2.2 注册服务器(Registrar)

注册服务器主要用于登记分组终端的当前位置和位置服务的原始数据。由于注册请求中Contact地址的有效期过短会引起注册刷新消息的频繁,从而给网络带来沉重负担;存亡周期过长则不利于运营商对用户终端的控制,因此对于注册请求中存亡周期过短或过长的行为,注册服务器应当能够进行正确的处理。

2.3 Proxy/B2BUA

Proxy代理服务器是SIP网络的中间实体,为了处理客户端的请求,它既承担服务器的角色又承担客户端的角色。主要完成路由处理功能,即保证将请求消息发送到离目标用户更近的其它实体。

B2BUA,实质上是SIP UA的一种应用,是一种特殊的SIP逻辑实体,适用于SIP网络中需要呼叫和业务控制的场合。它可以接收SIP请求并像UAS那样处理它们。为了决定如何应答一个请求,B2BUA又向别的实体发送请求,此时它扮演了UAC的角色。B2BUA需要维护对话(Dialog)的状态,并处理所有在它所建立的对话中发送的请求消息。

为了尽可能实现业务的透明传输,建议除非业务和应用控制(例如安全性的考虑或网间接口局)的需要,原则上B2BUA不能改变From域和To域的SIP URI部分,以及其它有可能影响业务透明传输的消息组成部分。

2.4 重定向服务器(Redirect Server)

引入重定向服务器是为了减轻代理服务器路由请求消息的负载,提高信令的可靠性。

重定向服务器将一个请求通过一个响应的形式再次返回发送方,所不同的是,在发送的响应中重定向服务器将自己从以后该请求(相同的请求地址)的请求路径中移除,并在Contact字段中指示了请求应该发送的新的连接点。当消息的请求方收到了重定向响应的时候,它将根据响应所给出的信息重新发送请求。

在结构上,重定向服务器由两层构成:服务器事务层和能够访问location service数据库的事务用户。Location service保存了单个URI和一组可选择的目标的映射关系,通过查找location service而获取目标URI。

3 SIP呼叫流程

SIP协议的呼叫模型图如图2所示。

MGC负责将PSTN前向信令映射为SIP请求,并且将SIP响应映射为PSTN后向信令,并且应该实现Megaco/h.248协议以及SIP用户助理部分。

SIP代理逻辑上是一个独立的实体,实现是可以作为单独的物理实体也可以与MGC捆绑在一起。负责转发或重定向SIP请求和响应。

SIP客户是一个单独的物理实体,可以是SIP电话,SIP会议终端等。

MG负责PSTN域IP网之间媒体流的转换和转发。

MG之间,MG与SIP终端之间使用RTP/RTCP协议传输媒体流。

MG与MGC之间使用Megaco/h.248协议或MGCP协议传输MGC对MG的控制信息以及MG向MGC上报的通知消息。

MGC与SIP代理,MGC与SIP客户或者SIP代理之间使用SIP协议来传输呼叫控制消息。

图3是一个PSTN用户呼叫另一个PSTN用户的流程。

流程说明:

(1)PSTN网络侧发送IAM消息到软交换1,请求路由。

(2)软交换1通过号码分析,不能够判别被叫用户为SIP用户,因此NNI接口上采用SIP-I信令。此时初始发送的Invite消息中除了封装PSTN发送的IAM消息外,还带有主叫侧媒体网关SDP信息。

(3)软交换1将INVITE消息发送到软交换2。

(4)软交换2通过号码分析,确认被叫用户为PSTN用户。软交换2提取出封装在Invite消息中的IAM消息并结合相应的本地策略生成新的IAM消息发送到PSTN网络。

(5)被叫用户空闲。

(6)软交换2根据接收到的ACM消息,映射成180消息,由于此时的回铃音由被叫端提供,因此此时180消息中除了封装ACM消息外,还带有被叫侧媒体网关SDP信息。

(7)软交换2将此消息发送到软交换1。

(8)软交换1根据接收到的180消息,提取出ACM消息并结合本地策略,生成新的ACM消息,发送到主叫侧的PSTN网络。

(9)由于媒体资源由后向提供,需要临时响应信号(18*)消息的可靠传送。因此软交换1在向主叫侧发送ACM的同时向软交换2发送确认消息,表明已收到18*消息。

(10)被叫用户应答。

(11)软交换2接收到被叫侧PSTN网络发送的ANM消息后,由于主、被叫双方已建立的通道不需要修改,此时发送的200中只需封装ANM消息而不需要带有SDP信息。

(12)软交换1接收到200消息后,提取出ANM消息并结合本地策略,发送到主叫侧的PSTN网络。

(13)软交换1向软交换2发送ACK消息,表示已收到软交换2发送的200消息。

(14)主、被叫用户间建立通话。

(15)一定时间后,会话结束,主叫用户挂机。主叫侧PSTN网络向软交换1发送REL消息。

(16)软交换1接收到REL消息后,向主叫侧发送RLC消息;同时将REL消息封装在BYE消息中,发送到软交换2。

(17)软交换2接收到BYE消息后,向软交换1发送封装RLC的200消息;同时向被叫侧PSTN网络发送REL消息,同时接受被叫侧PSTN网络发送的RLC消息。

4 结束语

IETF的SIP工作组完成的SIP标准引导了目前网络和通信领域的一大热点。随着SIP扩展协议对SIP核心的逐渐完善和补充,SIP标准将会发挥越来越重要的作用。3GPP、便携线缆设备、网络用具机构将SIP作为工作协议,极大地促进了SIP标准的进一步发展,而多媒体会议、VoIP、多媒体分发等领域逐步采用SIP进行实现,标志着SIP已经成为一个应用广泛、逐步走向成熟的协议。目前,SIP已经成为下一代网络中软交换的核心协议之一。随着SIP相关标准的进一步完善以及国内外对SIP应用研究的进一步深入,SIP将在下一代网络协议族中发挥越来越重要的作用。

摘要:SIP协议是一个用于建立,更改和终止多媒体会话的应用层控制协议。它是IETF多媒体数据和控制体系结构的一部分并借鉴了许多已有的Internet协议,具有简单,便于扩展和扩充等特点。主要讲述了SIP消息、SIP体系结构和呼叫处理流程。

关键词:SIP,SDP,软交换

参考文献

[1]Rosenberg J,Schulzrinne H,Camarillo G,et al.SIP:Session InitiationProtocol.RFC3261[Z].Internet Engineering Task Force,June 2002.

[2]Handley M,Jacobson V.SDP:Session Description Protocol.RFC2327[Z].Internet Engineering Task Force,April 1998.

[3]周海华,边恩炯.SIP原理与应用[M].北京:机械工业出版社,2006.

[4]中华人民共和国通信行业标准.会话初始协议技术要求(第一部分)基本的会话初始协议[S].2003.

基于移动代理的网络业务体系结构 第11篇

文章从灵活提供业务的角度,在分析传统业务体系结构的特点和发展趋势的基础上,介绍了移动代理的技术特征,重点探讨了如何利用移动代理技术构建下一代移动通信网络的业务提供体系结构。

关键词:

下一代网络;移动代理;移动通信网络;业务体系结构

ABSTRACT:

The mobile agent technology can be used to flexibly provide telecom services. Following the analyses of the characteristics and development trends of traditional communication network service architecture, the technical features of the mobile agent technology is presented and a discussion is made with emphasis on the establishment of next generation network service architecture by using the mobile agent technology.

KEY WORDS:

NGN; Mobile agent; Mobile communication network; Service architecture

传统通信网业务体系结构是面向过程的。其业务控制采用集中控制方式,业务的分层结构和底层连接控制功能紧密关联。随着移动网的迅猛发展和个人通信需求的日益高涨,现有通信网络体系结构在用户个人业务的灵活提供和配置、智能化以及网络融合等方面都存在一定问题,传统的业务体系结构已经不能满足进一步发展的需要。

下一代网络是可以提供包括话音、数据和多媒体等各种业务的综合开放的网络,其架构应能支持移动和固定网络的融合。任何新的网络结构和技术必须能为用户提供高质量、丰富多彩的业务,网络的发展需要更加灵活方便的业务提供方式。虽然我们正在把面向对象业务建模、分布对象技术和开放业务体系结构(OSA)等新技术逐步引入业务提供领域,但还不能满足未来通信系统对业务提供的灵活性需要。

移动代理技术作为第3代分布计算技术,在许多领域都得到了广泛关注。利用移动代理的移动性和智能性,可以构造出系统管理和配置方便、业务提供灵活、移动管理简单的新的网络业务体系结构。

1 网络业务体系结构的演进

在传统的智能网体系结构中,新业务的设计、开发、生成和部署都是基于业务无关构造块(SIB)模式的。SIB是标准化的可重用的功能块,在创建新业务时只需将所涉及到的SIB按照一定逻辑顺序组合起来,因此创建新业务时,可以在尽可能少地修改软件的前提下快速、灵活地创建新业务。然而SIB并不是采用面向对象技术构建的,而是面向过程的,它们虽然也能被重复利用和开发,但是由于它们自身的模块颗粒度过大,代码的重用率和可扩展性无法满足现在的业务设计和开发需要,新业务的生成周期比较长[1]。因此,业务体系结构的发展趋势之一是引入对象技术,使用面向对象的业务建模取代基于SIB的业务生成方式,这样开发出来的业务代码重用性比较高,而且也比较容易维护。

传统的智能网业务控制高度集中,业务控制逻辑驻留在少数业务控制点(SCP)上,所有业务都必须在SCP的控制下执行,SCP容易成为整个系统的“瓶颈”。而且,SCP和业务交换点(SSP)之间的通信均须通过七号信令网(SS7),一旦信令网出现故障,用户将无法使用智能网业务[2]。因此,业务体系结构的另一个发展趋势是在网络中引入分布计算技术,由集中控制转化为分散控制。对象管理组织(OMG)制订的公共对象请求代理体系结构(CORBA)规范作为分布对象的一个典型技术,在分布式环境中引入一种分布的、可互操作的对象机制,允许对对象的透明访问,从而使通信网具有异构网络环境互通、并发处理、负载平衡、故障恢复以及系统可扩展性等分布式系统服务机制。

传统网络业务大多是以垂直的综合方式开发的。在这种开发方式中,业务的分层结构是和底层连接控制功能缠绕在一起的。当要对这样的业务性能和可靠性进行优化时,往往相当复杂并且难以扩展和重用。未来网络,特别是移动网络运营商面临的最大问题是如何构建面向终端用户的、具有开放性和扩展性的业务平台,如何在各个网络发展阶段平滑地将各种业务快速引入到自己的网络中。因此,业务体系结构第3个发展趋势是在现有网络层和业务层分离的基础上,进一步开放网络控制接口,以促进独立的第3方业务提供商的形成,提供丰富多彩的网络业务。

下一代软交换网络和第3代移动通信网都十分重视业务体系结构的上述发展趋势,提出了分布式的开放架构。图1所示为3GPP提出的开放业务体系结构,它是第3代移动网络用于快速部署业务的开放业务平台,采用开放、分层的结构模型,实现业务与会话控制分离,以及会话控制与承载分离。OSA着眼于为移动通信用户提供个性化业务,希望通过将业务部署与底层网络的分离,使第3方业务提供商有机会参与竞争,有利于多厂商互通和快速地部署新业务。OSA实现方式是向业务提供商提供一种开放、标准、统一的网络应用编程接口(API),通过这些API,业务应用程序可以方便地利用承载网络的业务能力,如呼叫控制能力、用户信息查询能力等,而又不必了解承载网络信令细节,从而形成灵活的业务加载手段。移动运营者可以和其他机构合作,在网络提供的开放业务平台上开发出各种各样的灵活业务,从而满足移动用户的更高要求。

2 移动代理技术

代理指信息世界中具有一定程度智能、能够代表用户自治地完成特定任务的软件实体,而移动代理指具有跨地址空间持续运行机制的代理,它能够在需要的时候自主地从异构网络的一台主机迁移到另一台主机,并与其他代理或资源交互以完成其任务。移动代理技术是分布对象技术和人工智能技术的结合体[3,4]

CORBA中的对象是静止的,并且缺乏足够的智能,不利于动态多变的分布式环境。CORBA对象不能进行迁移,当我们需要一个CORBA对象服务时,必须建立连接,这将增加网络流量,在长时间对象交互时尤为如此。因此,单纯的CORBA技术在业务提供的灵活性和个性化业务配置方面尚无法满足通信运营商和移动用户的需求。而移动代理技术作为支持移动、拥有智能的第3代分布计算技术,可以为网络添加动态分布性能,更加方便地支持移动性管理和业务控制的动态按需部署,从而进一步提高移动通信网的服务性能[5]

移动代理技术改善了传统的对象技术和分布计算技术,这样我们就可以利用移动代理的自治性、智能性和移动性,构建能够灵活提供业务、个性化定制的下一代移动通信系统业务提供体系结构。

由于CORBA在电信界的广泛应用,因此在现有的CORBA为代表的分布处理环境(DPE)上架构移动代理环境(MAE),就可以为MAE上的代理传输、代理之间以及代理与非代理成分之间交互提供通信支持,这样可以综合利用这两种技术的优势。

如图2所示,在下一代移动通信系统的用户终端、归属地网络、访问地网络和业务提供系统中都构建起移动代理环境,从而建立分布代理环境(DAE)后,就可以在全网中部署移动代理了。通过业务提供系统生成的新业务用移动代理的形式部署到网络中,用户也可以用移动代理的形式个性化自己的业务,以便按需下载新业务。

3 基于移动代理的下一代移动业务提供体系结构

根据上述思路,适用于移动通信网应用的基于移动代理的业务提供体系结构如图3所示。

网络模型各部分的移动代理环境内都运行着一套代理,这些代理按照功能可以分为终端代理(TA)、用户代理(UA)、提供者代理(PA)、业务代理(SA)、位置管理代理(LMA)、网络能力代理(NCA)。另外,在归属地网络还有用户文档数据库。

用户文档数据库提供用户业务文档,如其所定制业务的业务属性描述、对每个业务的使用策略。用户文档数据还可以部分下载到TA或者UA内,从而在用户终端、访问地网络和归属地网络之间分配,建立起分布式用户轮廓。

TA位于用户终端,是用户与终端的一个接口。用户通过与驻留在终端上的TA交互,预览、定制新业务,发起、中止业务。TA描述终端设备的软硬件环境特征,用户及UA可以与TA交互以获取当前终端的能力,这样在业务定制阶段,可以根据终端的具体能力个性化用户所定制的业务。TA一般都可以有图形或文本界面,可以与UA通信或者加载某一具体业务的用户界面代理(UIA),从而能根据该业务的具体属性,动态调整对用户的界面。另外,用户经常使用并且不需要复杂网络资源来运行的SA也可以下载并封装到TA内。

UA代表用户在网络侧的实体,每一个用户都有且仅有一个与之对应的UA。当用户从一个区域漫游到另一个区域时,UA也跟随用户迁移到该区域。UA可以部分地存储用户轮廓数据,缓存当前终端的能力和设置,还可以保存经常使用的SA,以及一些业务的引用。当用户通过终端发起一个业务时,业务请求通过TA转发到UA,UA检测自身是否含有该业务的SA或者SA的引用,如果找不到,就向本地PA发送业务请求,由PA搜索本地网络,以定位用户所需业务。如果在本地网络还是找不到所需SA,则UA向归属地网络、业务提供系统的PA发起请求,让它们的PA搜索本地,以找到目标SA。找到该SA后,就可以把该SA的地址写入UA的引用中,通过远端执行或者代理下载执行。当用户从一个网络漫游到另外一个网络时,UA需要更新对SA的引用。用户修改、定制业务后,其UA所包含的SA或者SA引用也可能需要更改。

PA包括访问地提供者代理(VPA)、归属地提供者代理(HPA)、业务提供系统提供者代理(SPPA)。每个区域的PA含本区域所能提供的业务列表和功能描述,并对本地的SA进行管理。同时,每个区域内的PA还能和其他区域的PA进行协商,从而可以实现业务提供系统内的PA将新生成的业务向访问地网络、归属地网络进行广告或发布,以及访问地网络内的PA向归属地网络或者业务提供系统进行业务点播,这样就可以完成新业务在全网的部署以及业务的按需下载。

SA代表所提供的业务,可以被用户或者其他SA所调用。SA可以是一个完整的业务,也可以是一个业务的组成部分。多个SA根据一定的规则,可以组成一个新业务。SA是由业务提供系统所提供,并且可以通过下载分布到归属地网络和访问地网络。而经常使用的SA可以下载并驻留在终端移动代理系统,甚至可以装载入UA。其业务类型大致有两种:

(1)一般业务。这些业务的功能和可用性在全网都是相同的。

(2)其他业务。这些业务具有某些特性,或者其功能以及执行方式对于不同的业务提供商或者不同的网络而言是不同的。

LMA实现用户移动性管理。LMA提供精确定位用户的所有信息,通过对用户标识与UA所在访问地网络标识、用户代理标识之间的映射管理来定位用户。

NCA描述底层承载网络,提供在一定服务质量保证下的网络连接控制和业务交换控制。NCA向UA、PA、SA等上层实体封装底层网络具体实现技术,即可以是基于电路交换或者分组交换,并且可以是不同网络提供商的产品。NCA提供对网络资源的监视和接入,协商网络资源以建立连接,向上层实体提示网络的失败或者拥塞状态。

这样,多种代理密切协作,可以给用户和网络运营商、业务提供商提供灵活而又方便的业务提供体系结构,同时移动性管理也更加简单、方便了。

4 结束语

在利用移动代理技术构建的下一代移动通信网络的业务提供体系结构中,用户无论漫游到何种网络,使用何种终端,都可以在线预览新业务,定购新业务,修改正在使用的业务,在需要的时候动态下载新业务,甚至用一些基本SA动态组装新业务。然而,移动代理技术给移动通信带来新的使能技术的同时,也给安全问题带来新的挑战。UA或者SA从一个网络迁移到另一个网络后,可能会滥用本地网络资源,甚至会对本地网络或者用户进行恶意攻击[6]。因此,只有健全移动代理的安全机制后,才能更好地在该业务体系结构上进行灵活业务控制。□

参考文献

1 Fang Fang, Mi Zhengkun. Strategy of Evolution Towards Mobile Agent-Based Distributed Intelligent Network. Proc ICII‘2001, 2001: 747—752

2 Chai Yawei, Mi Zhengkun. An Agent-Based Distributed Service Architecture for Next Generation Network. Proc ICT‘2002, 2002: 889—892

3 Hartmann Jens, Song Wei. Agent Technology for Future Mobile Networks. Second Annual UCSD Conference on Wireless Communications in Cooperation with the IEEE Communications Society. San Diego, 1999

4 Hartmann Jens, G*9觟rg Carmelita, Farjami Peyman. Agent Technology for the UMTS VHE Concept. ACM/IEEE MobiCom‘98, Workshop on Wireless Mobile Multimedia. Dallas, 1998

5 André Leichsenring. The Mobile Agent Technology Applied to 3rd Generation Communication Systems. MTM‘99 Workshop. Heidelberg, 1999 Feb 25

6 Uskela Sami, Sivalingam Kengatharam, Ratschunas Kalevi, et al. Service Portability Across Mobile Networks. ACTS Mobile Communications Summit ‘99. Sorrento, 1999 June 8-11

(收稿日期:2002-08-04)

作者简介

陈金方,南京邮电学院通信工程系硕士研究生。目前参与国家自然科学基金项目“基于移动代理的可编程智能网关键技术研究”的研究和开发工作。

柴亚伟,南京邮电学院通信工程系硕士研究生。目前参与国家自然科学基金项目“基于移动代理的可编程智能网关键技术研究”的研究和开发工作。

未来网络的体系结构研究 第12篇

关键词:未来网络,体系结构,关键技术,研究方向

互联网已经融入到我们的日常生活中, 构成了现代信息社会的重要支柱, 随着人们对网络信息需求的不断的提高, 以及传统互联网在可控、可管以及可扩展性等方面暴露的问题越来越多, 为了更好地完善和利用互联网, 很多国家都将未来网络的研究列入国家战略性计划中, 如美国早在2006年就已实施未来网络设计计划, 加拿大在2011年也被启动了指挥应用战略性项目, 我国也将与未来网络相关的研究项目列入“973”计划中。

一、未来网络体系结构的优化路径

(一) 位置标志与身份标志相分离。传统互联网中的IP地址码显示的是用户或节点的位置标志, 同时也是其身份标志, 这种绑定在互联网推广和应用中发挥了重要的作用, 但是随着网络的进一步发展, 其存在的问题也逐渐暴露出来, 具体体现为以下三个方面:其一是可扩展性问题, 随着BGP路由器中FIB条目数增长日益加快, 人们越来越担心系统的承受能力, 如果压缩条目数, 就要把位置标识码聚合在一起, 但是这种做法并不可行, 这意味着要用户改变其身份标志, 如果用户对这种行为进行抵制, 位置标志在重新绑定中将很难在新情况下再次聚合;其二是移动性问题, 在接受移动服务时, 如果只是位置改变而身份未发生改变, 那么对于二者的绑定进行出现矛盾, 继而引发TCP的连接中断;其三是安全性问题, 基于上述两种问题, 与身份有关的一些安全性措施也很难嵌入[1]。因此, 未来网络体系结构的优化, 应采用位置标志与身份标志相分离的方法, 目前相关研究已经取得了一定的进展, 如日本通过白板设计就已对主机做出更改。

(二) 路由控制与数据转发相分离。网络互连通过路由器转同数据包来实现, 在此过程中, 路由控制与数据转发功能是连接在一起的, 并在一个组间上得以实现, 但是随着控制功能的不断增加, 以及数据转发也要持续更新, 这种合二为一的设计必将会影响二者的进一步发展, 因此, 在未来网络体系结构设计中, 有必要将路由控制与数据转发相分离, 形成各自的界面, 即要单独设计控制面和数据面, 如MPLS的提出, 实际上就是在解决二者相分离的问题, 而将控制功能直接从路由器中独立出来的Open Flow设计, 现已成为互联网领域研究的特点。根据Open Flow协议, 对数据流的控制可获得多种格式的支持和设置多种出口, 但是如何将这一协议运用到多域多层网络中, 目前还未取得实质性进展[2]。

二、未来网络体系结构的发展方向

从近年来SDN和NFV的发展现状来看, 智能型网络无疑将成为今后研究的主要方向之一。智能型网络架构的研究要考虑到需求和能力双项标准, SDN和NFV的发展, 为相关研发奠定了良好的条件, 也指明了未来网络体系结构的发展方向。

(一) SDN。SDN译为中文即软件定义网络, 这是在云技术广泛推广和应用的背景下提出的, 目的在于适应动态业务的发展需求, 当然这对网络控制能力引入提出了新的要求。SDN将网络分为基础设施层、控制层和服务层, 这实际上是借鉴了Open Flow设计内容, 为更好地调度和分配网络资源, 可借助网络虚拟化技术, 所需逻辑资源由物力资源映射而来。目前SDN已经满足了一定的商业需求, 而且相关产品也在不断涌现, 但是如何在广域网中加以应用还有待进一步研究

(二) NFV。NFV译为中文即网络功能虚拟化, 与之相关的研究在近年来得到了电信运营商的高度关注和重视。目前较为常用的网络虚拟化应用有虚拟局域网、虚拟专用网以及虚拟网络设备等, 其形式包括互联设备的虚拟化和路由器的虚拟化, 前者主要在专用服务器中运行, 虽然有助于改善操作系统的整体性能, 但是需要的硬件成本较高;后者主要在路由器固件上实现存储虚拟化功能, 即通过附加软件来增强系统的管理能力。国际上的主要电信运营商都在关注NFV的发展, 如由多家电信运营商、电信设备供应商等组建的欧洲电信标准化协会, 就专门设置了NFV行业规范工作组。

结论

综上所述, 目前国际上对未来网络体系结构的研究越来越重视, 各国已经或正在将未来网络的发展列入国家战略性发展计划中, 我们必须抓住这一发展机遇, 明确未来网络体系结构的优化路径, 重视相关技术的研发, 争取在未来网络格局中占据有利地位, 更好地参与到国际竞争中。

参考文献

[1]任勇毛, 李俊, 钱华林.未来互联网体系结构研究进展[J].科研信息化技术与应用, 2012, 10 (3) :10-11.

体系结构范文

体系结构范文(精选12篇)体系结构 第1篇软件体系结构一词是舶来品, 是Software Architecture (简称“SA”) 的中文翻译, 最初源于建...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部