码迷,mamicode.com
首页 > 其他好文 > 详细

软件的体系结构

时间:2015-07-03 09:08:45      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:

C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。

B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种 结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端(表示层)实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构(表示层, 业务逻辑层,数据访问层)。

我们将三层架构的中间层(业务逻辑层)的所有服务器软件统称为中间件,其主要的任务是响应客户端的请求,进行复杂的企业逻辑运算,访问企业的后台数据资源,生成满足客户需要的结果并返回给客户。 于是,客户对数据源的直接访问被对应用程序的请求所替代,客户端访问的是应用程序,由应用程序对数据进行查询和存取,这样就保证了数据不被非法使用和篡 改。

P2P结构,相比C/S,弱化甚至取消传统意义上的服务器,使分布式系统中的各个节点逻辑对等。P2P的拓扑结构:

  • 集中式拓扑结构:Napster实质上并非是纯粹的P2P系统,它通过一个中央服务器保存所有NaPster用户上传的音乐文件索引和存放位置的信息。当 某个用户需要某个音乐文件时,首先连接到Napster服务器,在服务器上进行检索,并由服务器返回存有该文件的用户信息,再由请求者直接连到文件的所有 者进行文件的传输。
  • 无中心无结构拓扑:Gnutella是一个P2P文件共享系统,它和Napster最大的区别在于Gnutena是纯粹的P2P系统,没有索引服务器,它 采用了基于完全随机图的泛洪(Ffooding)发现和随机转发(RandomW巨Iker)机制。为了控制搜索消息的传输,通过  TTL(TimeToLive)的减值来实现。
  • 结构化拓扑: 采用分布式散列表DHT (Distributed Hash Table)
  • 混合式拓扑: 选择性能较高(处理、存储、带宽等方面性能)的节点作为超级节点(SuPerNode),在各个超级节点上存储了系统中其他部分节点的信息,发现算法仅在超级节点之间转发,超级节点再将查询请求转发给适当的普通节点。

软件的体系结构

标签:

原文地址:http://www.cnblogs.com/qionglouyuyu/p/4617663.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!