论文部分内容阅读
互联网的异构性(Heterogeneity)和运行的不确定性使得基于互联网的分布式系统的设计和构建非常困难。近年来,我们见证的大规模的、成功的资源共享系统大都放弃了对“单一资源映像(Single Image)”,“物理上分布,逻辑上全局共享”和“虚拟同步(Virtual Synchrony)”等典型的分布式系统特征的追求,比如,为数众多的内容递送网络(Comtent Delivery Network)和P2P的文件共享系统。对这些特性的缺乏使得这类系统:
1.不能够为用户提供如下的一个非常自然的“共享体验”:浏览一个分布式系统中的所有可用资源2.不能够为用户提供一个类似于分布式文件系统所提供的、完善的资源访问接口。这里,我们强调对主动删除操作的支持本文是在“重新思考传统的分布式系统的设计理念和技术路线在互联网环境下的资源共享应用中的价值”这样的一个思路的指导下,以“放松共享语义(Loose sharing semantic)”和“利用异步消息中间件(Asynchronolls Messagingand Queuing Middleware)对消息的临时存储能力”为两个基本出发点,设计了一种能够扩展到互联网并拥有“虚拟同步”特性的分布式索引目录。该索引目录被应用到“大学课程在线”中。
大学课程在线是一个运行在互联网上的、由分布在中国不同城市的三十多所高校协同构建、共同维护和使用的大学课程视频发布与点播系统。对该系统的设计主要基于如下两个考量:
1.系统需要为用户提供一个全局一致的树型名字空间和一个类似于分布式文件系统的文件访问接口。包括:上载文件、删除文件、创建目录等
2.系统将运行在一个服务器、网络都可能频繁出现故障的环境从2003年11月至今,大学课程在线无故障地运行了超过三年时间,经历了2个版本,先后有35所高校以贡献服务器或课程视频的方式加入。系统提供大这里的不确定性包含任意两个节点之间“可能的不连通性”和“可变的通信带宽”
约4790个小时的课程视频点播服务。构成系统的近30台服务器分布在中国14个城市。对新版系统从2006年12月到2007年2月的日志分析表明:每天有上千个不同的用户IP地址访问大学课程在线。本文的贡献主要包括:
1.设计并实现了一个可扩展的分布式树型索引目录。该索引目录位于用户和文件之间,为用户提供一个统一的树型名字空间。该索引目录的创新性体现在:
·采用了一个松散的存储一致性模型。在此模型下,各节点对目录的更新可以完全并发地进行,只要1)各节点的最后状态一致。2)这个状态符合系统中某个节点的观察结果·当对目录的更新操作发生之后,一个基于可靠的异步消息中间件实现的两阶段的“转发广播”被用来维护节点之间索引目录的一致性。转发广播是一种全序广播·树型索引目录被划分成互不重叠的“区”。节点服务器可以选择性地加入一个或者多个区。另一方面,与区对应的部分索引目录被完全复制到加入了该区的所有服务器上。对索引目录的完全复制策略大大提高了目录的健壮性·对区的“授权管理”使基于目录构建的分布式存储系统具备了一个协同构建的系统所必须具备的“自治特性(autonomy)”
2.基于此索引目录,系统实现了一个可以运行在故障条件下的、协同构建的分布式的视频文件存储系统。对视频文件采用只读共享语义。该存储系统支持的基本操作包括:上载,下载,删除,文件改名,创建目录,删除目录,浏览视频文件3.先后独立地实现了基于DNS域名解析系统,基于客户端探测和基于代理服务器探测的三种服务器选择机制4.在一个完整的分布式的视频点播和发布应用中和谐地集成了诸如:虚拟同步,缓存与复制,服务器选择和负载均衡以及动态可配置等分布式计算经典的思想和技术手段除了社会意义和技术内涵,大学课程在线也提供了一个开展分布式系统相关领域研究的理想平台。