- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1、分布式系统的定义:分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统。
2、分布式系统的特点:各种计算机之间的差别以及计算机之间的通信方式的差别对用户来说是隐藏的;用户和应用程序无论在何时何地都能够以一种一致和统一的方式与分布式系统进行交互。
3、分布式系统的目标:分布式系统必须能够让用户方便地访问资源;必须隐藏资源在一个网络上分布这样一个事实;必须是开放的;必须是可扩展的。
4、透明性:分布式系统的重要目标之一是将它的进程和资源实际上在多台计算机上分布这样一个事实隐藏起来。如果一个分布式系统能够在用户和应用程序面前呈现为单个计算机的系统,这样的分布式系统就称为透明的。
透明性的类型:
访问透明性:隐藏数据表示形式的不同以及资源访问方式的不同位置透明性:隐藏资源所在的位置迁移透明性:隐藏资源是否移动到另一个位置重定位透明性:隐藏资源是否在使用过程中移动到另一位置复制透明性:使用资源是否对资源进行复制并发透明性:隐藏资源是否由若干相互竞争的用户共享故障透明性:隐藏资源的故障和恢复
5、开放的分布式系统:系统应该符合定义良好的接口、系统应该支持应用程序的可移植性、系统应该容易互操作。
6、系统的可扩展性:规模上可扩展、地域上可扩展和管理上可扩展。
7、扩展技术:Hide communication latencies隐藏通信等待时间、Distribution分布技术、Replication/caching复制技术。
复制/缓冲:将组件复制并拷贝分布到系统各处;缓冲与复制不同的是,是否进行缓存是由要访问资源的客户决定的,而不是资源拥有者决定。缺点是一致性问题。
8、分布式系统类型:Distributed Computing Systems分布式计算系统、Distributed Information Systems分布式信息系统、Distributed Pervasive Systems分布式嵌入系统,又叫分布式普适系统。
9、体系结构样式:根据组件、组件之间相互的连接方式、组件之间的数据交换以及这些元素如何继承到一个系统中。组件是一个模块单元,可以提供良好定义接口,在其环境中是可替换的。
10、连接器 connector:在组件之间传递通信、使组件相互协调和协作。
根据组件和连接器的使用,划分成不同体系结构:分层体系结构、基于对象的体系结构、以数据为中心的体系结构、基于时间的体系结构。
11、幂等的(idempotent):某个操作可以重复多次而无害出。有些请求是幂等的,有些不是,不能用某一个解决方法来处理消息的丢失问题。
点对点体系结构(P-to-P)
1、P2P的一个常见问题是如何高效的定位节点,也就是说,一个节点怎样高效的知道在网络中的哪个节点包含它所寻找的数据。
2、DHT的主要思想是:首先,每条文件索引被表示成一个(K, V)对,K称为关键字,可以是文件名(或文件的其他描述信息)的哈希值,V是实际存储文件的节点的IP地址(或节点的其他描述信息)。所有的文件索引条目(即所有的(K, V)对)组成一张大的文件索引哈希表,只要输入目标文件的K值,就可以从这张表中查出所有存储该文件的节点地址。然后,再将上面的大文件哈希表分割成很多局部小块,按照特定的规则把这些小块的局部哈希表分布到系统中的所有参与节点上,使得每个节点负责维护其中的一块。这样,节点查询文件时,只要把查询报文路由到相应的节点即可(该节点维护的哈希表分块中含有要查找的(K,V)对)。
Chord算法就是解决网络内节点定位问题的一种P2P协议,它通过多个节点跳转找到我们所查找的资源。
3、Chord里面的基本要素:节点ID:NID(node identifier),表示一个物理机器;资源ID:KID(key identifiers),原为键ID,其实际表示一个资源;Chord环:Chord Ring,NID和KID被分配到一个大小为2^m的环上,用于资源分配(给某一个节点)和节点分布,以及资源定位。首先我们说资源分配,资源被分配到NID=KID的节点上,这个节点成为k的后继节点,是环上从k起顺时针方向的第一个节点,记为successor(k)。而节点分布则顺时针将节点N由大到小放在这个环上。
现在N26节点要加入系统,首先它指向其后继N32,然后通知N32,N32接到通知后将N26标记为它的前序节点(predecessor)。然后N26修改路由表,下一次N21运行stabilize()询问其后继节点N32的前序节点是不是还是自己,此时发现N32的前序节点已经是N26。于是N21就将后继节点修改为N26,并通知N26自己已经将其设置为后继节点,N26接到通知后将N21设置为自己的前序节点。
Chord资源定位(Key Location):资源定位
原创力文档


文档评论(0)