一种基于DHT的动态网格命名解析方案
- 格式:pdf
- 大小:227.52 KB
- 文档页数:3
dht原理
DHT,也称为分布式哈希表,是一种用于分布式系统的算法。
它的原理是将数据根据其关键字的哈希值分散存储在多个节点上,以实现高效的数据查找和存储。
具体的原理如下:
1. 哈希函数:DHT使用哈希函数将数据的关键字映射为一个
唯一的标识,通常是一个数字或字符串。
这个标识称为哈希值。
2. 节点分布:系统中的每个节点都有一个唯一的标识,通常是一个哈希值。
节点的标识空间形成了一个环,称为哈希环。
哈希环将范围从0到2^k-1映射到不同的节点。
3. 数据存储:当一个节点需要存储数据时,它首先计算数据的哈希值,并根据哈希环找到负责该哈希值区间的下一个节点。
节点将数据存储在其负责的区间内。
4. 数据查找:当一个节点需要查找数据时,它首先计算数据的哈希值,并根据哈希环找到负责该哈希值区间的节点。
节点将请求转发给负责存储该数据的节点,直到数据被找到为止。
5. 节点间通信:DHT使用节点之间的通信来转发请求和获取
存储的数据。
节点之间通过网络连接进行通信,并使用协议来交换信息。
通过以上原理,DHT实现了高效的分布式数据存储和查找。
它可以将大量的数据分散存储在多个节点上,提高了系统的存储容量和性能。
同时,DHT还具有高度的容错性,当节点失
效或新节点加入时,系统可以自动调整数据的分布,保持系统的正常运行。
摘要:MapReduce是一种新兴的、应用于数据集中的应用程序中的一种编程模型,它由谷歌公司提出,近期已吸引了很多关注。
MapReduce的思想是借用于函数式程序设计,即程序员定义的用来处理大量分布式数据的映射和还原。
在本文中我们提出了一个关于MapReduce编程模型的成就。
我们提出了基于BitDew原型架构,BitDew就是一个在在桌面网格上用于大规模数据管理的中间件。
我们描述了一套特点,使得我们的方法适合于大型和松散连接互联网桌面网格:大规模容错,副本管理,无障碍执行,隐藏潜在优化以及布式效果检测。
我们还提出既反对微基准、又反对真实MapReduce应用程序的原型性能评价。
可扩展性测试表明,我们在经典WordCount基准上实现了线性加速。
几种包含惯犯主机和主机崩溃的方案表明,该原型能够应付类似的实验中真实世界互联网。
关键词:桌面网格计算MapReduce 数据密集型应用程序一、引言尽管桌面网格在高吞吐量计算领域已经非常成功,数据密集型计算仍然是一个大有前途的领域。
截至目前,桌面网格的应用范围大多局限于任务包的应用程序中,对磁盘存储和通信带宽的要求很低,而且任务之间没有依赖关系。
我们相信,应用程序,它需要一个重要的、用于频繁的数据复用的数据输入存储容量和有限的数据输出容量,不仅能利用到桌面网格系统提供的巨大的处理能力,而且还有那巨大的存储潜能。
这有范围很广的科学应用,如生物信息学、一般的模拟,还有一些非科学应用,如网站排名、符合这些标准的数据挖掘。
最近由google公司提出的MapReduce编程模型,很好地适应这类应用程序。
MapReduce借用函数编程的思想,由程序员定义执行在一大批分布式数据下的Map和Reduce任务。
它最大的的优点就是用简单的程序模型实现高度的并行化,以及它的对于各种各样的大型应用领域良好的适应性。
然而,将MapReduce应用于桌面网格中引起了很多关于桌面网格中间件的技术发展水平的研究问题。
seatunnel hazelcast原理解析-概述说明以及解释1.引言1.1 概述本文主要讨论了seatunnel和hazelcast的原理解析。
首先我们来了解一下它们分别是什么。
Seatunnel是一种网络隧道技术,可以通过底层网络传输层无差别地传输数据,将数据包装成它们自己的格式,然后通过网络传输到目标地址。
它的主要作用在于解决网络传输过程中的安全和可靠性问题,同时也提供了一种高效的数据传输方式。
Hazelcast是一个开源的分布式内存数据存储和计算平台。
它的概述如下:Hazelcast是一个基于内存的数据存储解决方案,它可以将数据分布在多个节点上,实现高可用性和高性能的数据处理。
Hazelcast使用了分布式哈希表(Distributed Map)的数据结构,通过将数据分片存储在多个节点上,实现了数据的快速读取和写入。
同时,Hazelcast还提供了一系列的分布式计算功能,可以在节点间进行数据的处理和计算。
本文将分析并解释seatunnel和hazelcast的工作原理,从而更加深入地理解它们的应用和价值。
文章结构部分的内容可以如下编写:1.2 文章结构在本文中,我们将对seatunnel 和hazelcast 进行原理解析。
本文分为三个主要部分组成:2.正文:本部分将详细介绍seatunnel 和hazelcast 的原理,并深入探讨它们的工作方式和应用场景。
2.1 seatunnel原理解析:在本节中,我们将首先介绍seatunnel 的定义和作用,以及它在分布式系统中的重要性。
接着,我们会详细分析seatunnel 的工作原理,包括数据传输和连接管理等关键过程。
2.2 hazelcast原理解析:在本节中,我们将先概述hazelcast,介绍其分布式数据存储与计算的基本概念。
然后,我们会深入探讨hazelcast 的原理,包括集群管理、数据分片与备份、数据一致性等重要机制。
3.结论:在本部分,我们将综合分析seatunnel 和hazelcast 的应用价值,并就其原理和特点进行总结。
dht动力系统原理
dht(动态散列表)动态散列表是一种分布式数据存储结构,它支持高效的数据查找和存储。
它使用一种叫做散列函数的机制,可以将一个任意的字符串映射为一个散列值,即特定的数字。
散列值用于查找数据。
每一个节点都有一个唯一的散列值,用于识别节点的位置。
当一个新的节点加入的时候,它的散列值将会放到一个叫做htable的动态散列表中。
htable是一种键值对存储结构,每一个键是节点的散列值。
每一个节点都会将和它相邻的一个或多个节点的键值对进行存储和更新维护。
这种分布式动态散列表实际上是DHT(分布式hash表)系统的实现逻辑,它的基本原理是由每一个节点负责维护自身的动态散列表,每一个节点负责与自己有关的所有节点的键值对,这些节点形成了一个虚拟环,在这个环上,每个节点都负责自己拥有的键值对,并同步到其他节点去。
当一个节点想要插入或查找一个键值对,它可以先将自己的散列值与键值对进行比较,如果它的散列值比键值对大,这个节点就存储这个键值对;如果散列值比键值对小了,那么它就需要查找其他节点来查找这个键值对,先从和自己相邻的节点开始,如果还没有找到,就继续往前查找,只要一直查找到最后,就能将这个键值对查找到。
这种机制,使得每一个节点只需要关注自己附近的节点,整个系统也可以高效地进行查找和存储。
DHT系统的安全性优化方法研究史建焘;夏清泉;张兆心【摘要】对分布式哈希表(DHT)系统的安全脆弱性问题进行了研究,提出了多种安全性优化策略,并给出了一个原型系统.进行了真实网络实验,实验数据表明,现有DHT网络易受索引毒害和路由污染攻击,产生的错误查询结果甚至会引发更大规模的网络安全事件.通过改进一个个DHT系统的节点ID生成机制、路由表更新机制和搜索路径选择机制,从系统运行的各个阶段提升其安全性,抵御攻击者共谋.基于上述方法设计的原型系统在保证平均查询跳数增加不到1跳的情况下,在共谋攻击节点占比60%的网络中,将系统查询成功率保持在65%以上,其方法适用于各种分布式哈希表结构,具有重要的实际应用前景.%The security vulnerability of distributed Hash table (DHT) systems was studied,a variety of security optimization strategies were proposed,and a prototyhpe system was designed.Real world network experiments were performed,and the resuhs show that existing DHT networks are vulnerable to index poisoning and routing pollution attacks,so the wrong query results caused by this will even lead to a larger network security event.By improving the node ID generation mechanism,the routing table update mechanism and the search path selection mechanism of a DHT system,the study improved the security of the DHT system from all working stages to resist attackers' collusion attack.The desinged prototype system based on these methods can remain the query success rate of more than 65% in the attacking seniro with 60% of collusion attack nodes.The only cost is increasing the average querying hop of less than 1.Thus,the method is applicable to avariety of distributed Hash table structures and has important practical prospects.【期刊名称】《高技术通讯》【年(卷),期】2016(026)012【总页数】9页(P935-943)【关键词】对等网络;分布式哈希表(DHT);安全优化;路由污染;索引毒害【作者】史建焘;夏清泉;张兆心【作者单位】哈尔滨工业大学计算机科学与技术学院哈尔滨150001;哈尔滨工业大学计算机科学与技术学院哈尔滨150001;哈尔滨工业大学计算机科学与技术学院哈尔滨150001【正文语种】中文分布式哈希表(distributed Hash table,DHT)是传统P2P领域中的重要技术,DHT使得P2P结构不再依赖于传统的中心组件,成为了真正意义上的完全分布式网络结构。
0100 总 论0608351顶板裂隙水对锚索支护巷道稳定性的影响研究〔刊,中〕/王志清//湖南科技大学学报(自然科学版).—2005,20(4).—26229(C2)0608352基于智能聚类的相关度内容检索方法〔刊,中〕/高慧颖//北京理工大学学报.—2005,25(12).—107521078 (L) 为了提高内容检索的相关度与检索效率,基于信息系统理论与自组织神经网络理论,提出基于智能聚类的相关度检索方法,并设计了检索算法。
经过训练的自组织神经网络通过对查询需求进行聚类,使得内容的检索只在与查询需求同类的文本内容中进行,提高了检索效率,并通过在同一个向量空间对查询向量与文本内容的语义向量进行相似度衡量,为用户选择更相关的内容提供依据。
设计开发了基于智能聚类的内容检索试验平台,验证了该方法的有效性。
参100608353基于网格技术的数字图书馆互操作关键技术〔刊,中〕/郑志蕴//北京理工大学学报.—2005,25(12).—10662 1070(L) 为了解决Inter net上大规模的数字图书馆互操作问题,在原有OAI2PM H框架的基础上,提出一种基于网格技术的数字图书馆互操作框架———数字图书馆网格(D L grid),给出了3层DL grid体系结构,并对元数据资源的发现、采集、利用等关键技术进行了分析、设计与实现。
通过集成的元数据,实现了Web上数字图书馆信息的共享。
参90608354横河电机计测产品针对汽车电子测试的解决方案〔刊,中〕/王宏伟//电子质量.—2005,(12).—15216(D2)0608355 StratoNet:一种基于DHT的P2P内容定位系统〔刊,中〕/张有为//计算机工程.—2005,31(24).—53255, 74(E)0608356红绿色弱诊疗ASIC设计〔刊,中〕/李文石//测控技术.—2005,(12).—66267,69(L) 设计一款红绿色弱诊疗ASIC,利用加法混色原理量化诊断红绿色弱认知,利用心理旋转现象理疗色觉体验,基于CPLD实现和应用。
dht算法原理描述dht原理dht是P2P⽹络(结构化P2P)核⼼路由算法,主要是利⽤⼀致性hash,把节点和资源都表⽰成⼀个hash值,放⼊到这个⼤的hash环中,每个节点负责路由靠近它的资源。
⼀.重要概念:1.node负责P2P路由信息,P2P⽹络的组⽹就是它来负责2.peer负责管理资源,⽣成种⼦⽂件,发布资源信息3.nodeid节点的唯⼀标识,是⼀个160bit的hash值hash资源的唯⼀标识,也是⼀个160bit的hash值,其和nodeid使⽤同⼀个算法5.距离距离是两个hash值进⾏异或(XOR)操作后的值,值越⼩,距离越近节点和资源的距离: nodeid XOR infohash两个节点之间的距离:nodeid1 xor nodeid26.种⼦⽂件对某个资源的描述⽂件,种⼦⽂件包括了资源的infohash(160bit)、资源所在机器(nodeId IP PORT)、离资源所在机器最近的N个机器(nodeid IP PORT)列表⼆.典型场景描述:1.新节点加⼊⽹络新安装的P2P客户端是⼀个孤⽴的节点,和其他节点都⽆联系,怎么加⼊P2P⽹络呢?需要有⼀个种⼦⽂件,种⼦⽂件中有多个该P2P ⽹络中的node信息,根据种⼦⽂件中的节点列表,连接到P2P⽹络,并获取路由信息,获取最靠近本新节点的节点列表2.发布资源a.⽣成资源的Infohashb.查找和infohash距离最近的N个Node,向这N个node⼴播新资源信息,告诉这些节点,我有某某资源----- 节点⽣成了资源,不过其路由信息不在这个节点上(也不在离这个节点的最近的M节点上),⽽是在和资源infohash最近的N个node 上3.查找某个资源并下载a.找到最靠近资源的N个node(使⽤nodeid xor infohash来计算距离远近)b.向这些node发送资源查询信息,如果有这个资源的详细信息,就返回给客户端,否则返回离资源更近的node列表给客户端c.直到查询到资源提供者信息,如果没查到信息,且没有更近的node了,那就说明这个资源没有提供者d.找到node信息(nodeid,ip,port)后,向这个node请求资源。
MassCloud云存储系统构架及可靠性机制马玮骏;吴海佳;刘鹏【摘要】为了解决分布式存储系统的存储容量、可靠性以及效率问题,首先提出了高可靠性海量云存储系统MassCloud的分层体系结构,并在此构架的基础上提出了基于纠删码机制的快速编解码算法--双表法,以及基于纠删码、副本冗余和RAID 技术相结合的MasseCloud可靠性保证策略,并且进行了测试与分析.结果表明:双表法具有较高的编解码效率,在广域网环境下不会成为性能瓶颈;MassCloud采用4组(8块硬盘)作为每个低功耗存储节点包含的硬盘数,云存储站点层采用3个副本,分布式环境下冗余倍数取2,文件分块数取8,能够保证系统整体可靠性在0.99以上.%The hierarchic architecture of the cloud storage system MassCloud with high reliability and mass data storage capability was proposed to solve the current problems of distributed storage system, that is, storage capacity, reliability and efficiency. On such a basis, a double-table method was designed based on the erasure code to gain high encoding/decoding speed in order to suit the distributed storage environment. The reliability of MassCloud was guaranteed by a policy combining the erasure code, duplicate redundancy and RAID. The relevant tests were performed and analyzed.The results show that the double-table method has high encoding/coding efficiency and may not become a bottleneck under the WAN environment. The whole reliability of MassCloud can be ensured to be above 0.99 by using 4 groups of disks (8 pieces of disks) with low cost storage level, 3 replicas for cloud storage level, 2 times redundancy in distributed environment and 8 pieces of file division.【期刊名称】《河海大学学报(自然科学版)》【年(卷),期】2011(039)003【总页数】7页(P348-354)【关键词】MassCloud;云存储;纠删码;副本冗余;存储可靠性【作者】马玮骏;吴海佳;刘鹏【作者单位】解放军理工大学指挥自动化学院,江苏,南京,210007;解放军理工大学气象学院,江苏,南京,211101;解放军理工大学指挥自动化学院,江苏,南京,210007;解放军理工大学指挥自动化学院,江苏,南京,210007【正文语种】中文【中图分类】TP333随着计算机与网络技术的不断发展,人们对于信息存储的要求越来越高,数据文件的大小呈指数级增长,数据存储已经发展为TB,PB,ZB级,存储需求对存储系统的设计和存储可靠性、存储效率形成了巨大的挑战.纵观存储系统的发展,从早期的单磁盘存储、RAID,逐步发展为以DAS,NAS,SAN[1]为代表的网络存储系统,近年来比较流行的多为分布式文件系统以及存储系统.如:Antiquity[2]是一个旨在为文件系统或者备份应用提供存储服务的大规模分布式存储系统,该系统采用安全日志技术保证数据完整性和系统的可靠性,保存日志的多个副本,同时基于拜占庭容错协议保证副本之间的一致性;Cassandra[3]是一个用于存储结构化数据的分布式海量存储系统,该系统借鉴了很多数据库的设计和实现思想,避免了大规模分布式存储系统中的单点故障问题,旨在提供高可靠性、高性能的存储服务;文献[4]介绍了一种使用dCache进行存储资源管理的、在网格环境下基于GridFTP提供分布式存储服务的部署和实现方式;HYDRAstor[5]是一个可扩展的商用分布式存储系统,该系统的特点在于能够自我维护,自动地进行故障恢复,对数据和网络进行重建;SandStone[6]是一个P2P环境下基于DHT 的分布式存储系统,该系统旨在解决电信基础设施与一般DHT之间的性能问题,为用户提供一个强一致性的、高可靠性和伸缩性的存储系统;CRAQ[7]是一个基于对象存储技术的分布式存储系统,该系统将负载分布到多个对象副本的方式来提高系统的性能和可靠性,同时采用优化的复制链来保证副本之间的强一致性;“蓝鲸”[8-9]是中科院计算技术研究所研究的大规模网络存储系统,该系统致力于解决高性能计算环境中的存储子系统的瓶颈问题,充分利用存储空间和并发数据传输能力,实现高性能、低成本的海量存储;文献[10]设计了一个基于P2P的分布式存储系统,该系统采用结构化P2P路由机制、动态自适应的副本管理、信任机制和激励机制为用户提供高效、可靠的分布式存储服务;分布式网络存储系统DNSS[11]结合了CDN和P2P的技术优势,存储节点以P2P方式工作以快速完成用户对文件数据的请求任务;文献[12]提出了一种基于对等计算模式的云存储文件系统通用模型,并采用Kademlia算法构建了原型系统MingCloud.从以上对存储系统以及相关可靠性策略的描述中可以看出,不同的存储系统所使用的可靠性策略存在较多的不一致性,因而对于存储系统可靠性的研究工作从未停止.本文提出一种高可靠性的云存储系统MassCloud,对分布式环境下基于纠删码的可靠性保证机制进行了研究,根据广域网的特点提出基于纠删码的优化编解码算法——双表法,对该算法进行了分析和测试,并分析了MassCloud所采用的可靠性保证机制.1 MassCloud分层可扩展构架MassCloud是笔者提出的一个基于云存储技术的新型分布式存储系统,该系统的设计目标在于使用最小的成本为用户提供透明、海量、高可靠的存储服务.针对设计目标,给出MassCloud的分层体系结构以及物理部署结构分别如图1和图2所示.该体系结构主要分为3层:资源节点层、云存储站点层、分布式存储层.MassCloud采用分层的设计思想,将各类硬件、网络资源与实际的存储系统逻辑相分离,每层都处理自身所关注的主要问题,便于系统实现以及适应用户对存储系统的需求.图1 MassCloud体系结构Fig.1 Architecture of MassCloud图2 MassCloud物理部署结构Fig.2 Deployment of MassCloudMassCloud的特点在于:(a)采用分层的体系结构,可以灵活地扩展整个存储体系,使得系统具有海量数据的存储能力;(b)采用低功耗存储节点作为底层存储设备,极大地降低了系统的总体硬件开销以及成本;(c)创造性地在不同层次运用不同的可靠性机制,综合运用各类可靠性机制的优势,在保证系统高可靠性的同时又兼顾了运行效率.1.1 资源节点层该层主要包含各类存储资源、硬件以及网络资源,其中比较关键的是MassCloud 特有的低功耗、低成本存储节点,该设备可以一次性挂载4块以上SATA硬盘,多个设备可以提供海量的存储空间,并且可以任意扩展.系统运行功耗在典型应用和最大应用时5~10W.存储节点每TB成本低于1000元.除了低功耗、低成本存储节点,该层还包含各类元数据服务器,负责元数据的存储;存储代理,负责与用户与元数据服务器、存储节点之间的交互;资源节点层还包含大量的网络通信资源,负责存储节点、站点、元数据服务器、存储代理、用户之间通信.1.2 云存储站点层MassCloud将多个低功耗、低成本存储节点相连接组成一个个存储服务器,然后再由多个存储服务器构成海量的存储空间,采用元数据服务器进行管理,通过可靠性管理、存储负载均衡、元数据管理、存储副本管理、数据容错管理、节点缓存等多种软件技术,为用户提供可靠的海量云存储服务,称之为云存储站点.云存储站点在物理上可以是一个或多个数据中心,部署在一个单位或者一个城市,为本地或者远地用户提供云存储服务.云存储站点中的元数据服务器逻辑上只有一个,但是在物理上却是多个备份相互镜像提供负载均衡,元数据服务器保存系统的元数据,负责整个云存储系统的管理.存储服务器负责具体的存储工作,数据以文件的形式存储在存储服务器上.客户端在访问云存储站点时,首先访问元数据服务器节点,获取将要与之进行交互的存储服务器信息,然后直接访问这些存储服务器完成数据存取.客户端与存储服务器之间直接传输数据流,同时由于文件被分成多个分块进行分布式存储,客户端可以同时访问多个存储服务器,从而使得整个系统的I/O高度并行,系统整体性能得到提高.相对于传统的分布式文件系统,云存储站点在一定规模下达到成本、可靠性和性能的最佳平衡.1.3 分布式存储层MassCloud认为云存储站点可能存在错误相关性,即一旦发生地震、火灾等自然灾害,某个云存储站点中的数据可能会全部毁坏,这样就必须在云存储站点层之上,再通过广域分布式存储策略构建一个分布式存储层,重点负责在整个云存储站点发生故障时,保证系统的可靠性.分布式存储层的对象主要就是云存储站点、元数据服务器、存储代理,每个云存储站点对于分布式存储层来说就是一个海量存储设备,通过元数据服务器的管理,由存储代理为用户提供分布式抗毁的可靠存储服务.分布式存储层采用纠删码的方式提供数据可靠性保证,因为纠删码技术在理论上被证明可靠性要优于完全副本技术[13],该层主要解决的问题便是进一步提高系统在灾难条件下的数据可靠问题.元数据服务器除了管理由纠删码技术生成的所有数据块,还提供对于所有云存储站点的负载均衡,同时可以灵活地处理云存储站点的加入和退出.考虑到减轻元数据服务器的压力,纠删码技术编码和解码的工作都由存储代理实现.2 分布式环境下基于纠删码的可靠性保证机制及优化算法MassCloud通过设计一种纠删能力强、编译码速度快的纠删码来满足实时传输大容量数据需要,这也是一个难点问题.根据纠错码理论[14],对(n,k,d)线性分组码(d为该分组码的最小码距),只要其中的删除位不超过d-1个,就可以通过适当的算法将删除位全部恢复.如果一个线性分组码能够保证从 n个编码数据中任选k个都能恢复所有的删除错误,则称此码为最优纠删码.设A为某(n,k)线性分组码C的生成矩阵,则C为最优纠删码的充要条件是A的任意k列组成的子矩阵A′均可逆[15].在差错控制编码[16]中,最大距离可分(MDS)码的定义[17]为:设C为伽罗瓦域GF(pr)上的(n,k)线性分组码,当且仅当其生成矩阵的任意k列线性无关时,C为MDS码.由最优纠删码的充要条件和MDS码的定义可以推出最优线性纠删码为MDS码.MassCloud使用Reed-Solomon码(简称RS码)构造MDS码.构造MDS码的关键是寻找一个生成矩阵Ak×n,使Ak×n中任意k列均线性无关.RS编码技术中,比较常用的生成矩阵是范德蒙矩阵和柯西矩阵.使用范德蒙矩阵生成的编码叫范德蒙码,使用柯西矩阵生成的编码叫柯西码.文献[18]保证柯西码为最优纠删码.柯西码的译码过程需要矩阵求逆运算,柯西码的构造中涉及求乘法逆元的运算,这些运算在实数域内存在无法整除的情况,因此需要将运算限定在伽罗瓦域内进行.伽罗瓦域对算术运算是闭包的.由此,可以设计一种快速的双表计算法.从表1可以看出,GF(2m)中的元素可以表示为指数形式,或者二进制形式.进行伽罗瓦域内的算术运算时,指数形式适合于乘除法运算,二进制形式适合于加减法运算,因此,可以将伽罗瓦域内的算术运算转变为查表计算.首先构造两张表 T1和T2.表T1存放由多项式形式到二进制形式的对应关系,T1的第i个元素T1i表示αi对应的二进制数值;表T2存放由二进制形式到多项式形式的对应关系,若T1j=i,则T2i= j,即表T2中的第i个元素T2i表示二进制形式伽罗瓦域内的元素i对应的多项式形式的指数,对表 T1循环搜索一次就可构造出表T2.若将1Byte的数值看作GF(28)内的元素,则数值间的加减法运算直接转变为进行异或运算,数值间的乘除法运算利用表 T1和T2转变为表1 GF(23)元素Table 1 Elements of GF(23)?可见,使用双表法完成GF(2m)内元素的一次乘(除)运算只需要3次查表运算、1次加(减)运算和1次模运算,合计5次基本操作,因而计算效率非常高.将双表法应用于分布式环境下的分布式存储层,网络数据传输存在一定的时耗.由于文件分块合并算法与数据的上传/下载可并行进行,因此只有双表法的时耗超过网络传输时耗,才会对系统性能产生影响.通过实验方法统计对不同长度的文件进行分块与合并所需要的时耗,并计算相应的编解码速率.实验计算机配置:CPU为Intel双核2.33GHz,内存为2GB.实验数据见表2.表2 时耗对比Table 2 Comparison of time consumptionk=4,n=6 k=5,n=10 k=8,n=12文件长度/ Mb分块合并分块合并分块合并时耗/s 编码速率/ (Mb◦s-1) 时耗/s 译码速率/ (Mb◦s-1) 时耗/s 编码速率/ (Mb◦s-1) 时耗/s 译码速率/ (Mb◦s-1) 时耗/s 编码速率/ (Mb◦s-1) 时耗/s 译码速率/ (Mb◦s-1) 1 0.453 17.660 0.539 14.842 0.711 11.251 0.537 14.897 0.547 14.625 0.687 11.64410 4.383 18.252 5.128 15.600 6.772 11.813 5.347 14.961 5.219 15.328 7.00111.426 100 43.534 18.376 49.677 16.104 68.198 11.730 54.258 14.74451.318 15.589 68.258 11.720从表2可以看出:当k=4,n=6时编码平均速率约为18Mb/s,译码平均速率约为15Mb/s;当k=5,n= 10时,编码平均速率约为11Mb/s,译码平均速率约为14Mb/s;当k=8,n=12时,编码平均速率约为15Mb/s,译码平均速率约为11Mb/s.对于分布式环境,多为广域网,双表法的编/译码速率远远高于接入网速率,因此,算法对系统性能不会产生影响.编码速率随k的增大而增大,随n的增大而减小;译码速率随k的增大而减小,而与n的取值无关.3 基于纠删码、副本冗余和RAID相结合的可靠性机制分析MassCloud在分布式存储层使用纠删码,在云存储站点层使用副本冗余,在资源节点层使用RAID分别保证各个层次的可靠性,下面就各个层次的可靠性以及系统可靠性进行分析.3.1 RAID可靠性分析RAID机制迄今为止已经发展了较长时间,技术相对较为成熟,常用的RAID级别主要有RAID0,RAID1,RAID0+1,RAID10,RAID3,RAID5,RAID6,RAID7等[19-20].综合考虑成本、可靠性、访问效率、恢复时间、实现复杂度等因素,RAID0,RAID1,RAID0+1,RAID3,RAID5的可靠性相对不高,RAID6和RAID7的实现成本较高,虽然RAID5+Hotspare可提供较高的可靠性,但实现机制较复杂.RAID10能够提供较高的可靠性,并且效率较高,虽然磁盘利用率较RAID5+Hotspare低,但是考虑低功耗存储节点本身的成本较低,故可以接受,因此MassCloud的资源节点层采用RAID10作为低功耗存储节点的可靠性保证技术.假设构成一个低功耗存储节点的RAID10的磁盘组数为p(2个磁盘一组),第j组磁盘中每个磁盘的可靠性为RHDDj,构成一个低功耗存储节点的RAID10可靠性为RRAID10,则RAID10的可靠性模型为图3 采用RAID10的低功耗存储节点可靠性Fig.3 Reliability of low cost storage node using RAID10假设每组磁盘的可靠性相同,取RHDDj=0.9,p=1~10,则构成一个低功耗存储节点的RAID10的可靠性如图3所示.从图3可以看出,采用RAID10方式构建的低功耗存储节点的可靠性随磁盘组数的增加而降低,因此每个低功耗存储节点包含的磁盘组数不宜太多,当取4组(8块硬盘)时,低功耗节点的可靠性约为0.96,在提供足够的存储容量与可靠性之间进行权衡,MassCloud采用4组(8块硬盘)作为每个低功耗存储节点包含的磁盘数.3.2 副本冗余可靠性分析副本冗余技术即保存多个要存储的数据的完整副本,一个云存储站点由多个低功耗存储节点构成,设云存储站点可靠性为RCOPY,低功耗存储节点可靠性为RRAID10,数据冗余倍数为r,对于云存储站点使用副本模式的冗余存储,在不同的低功耗存储节点上保存数据的多个完整副本,云存储站点中任何低功耗存储节点有效即可满足云存储站点有效,因此,由低功耗存储节点构成的云存储站点的可靠性模型为图4 采用副本冗余方式的云存储站点可靠性Fig.4 Reliability of cloud storage site using duplicate redundancy取RR AID10=0.9,r=1~5,则采用副本冗余方式的云存储站点可靠性如图4所示.从图4可以看出,当副本数等于1和2时,云存储站点的可靠性小于0.98;当副本数大于或等于3时,云存储站点的可靠性大于0.99,而且可靠性随副本数增加已变化不明显,考虑云存储站点的资源利用率,兼顾可靠性,MassCloud在云存储站点层采用3个副本.3.3 纠删码可靠性分析将k个文件分块数据生成为n(n>k)个带有一定冗余的编码数据,然后将n个冗余的编码数据分散存储到多个云存储站点中,其中任意k个部分可以用来恢复原始数据.设分布式环境下使用纠删码(MassCloud采用基于双表计算的快速编码技术)的系统可靠性为RRS,云存储站点可靠性为RCOPY,纠删码数据冗余倍数为s(s=n/k),文件分块数为k,只要分布式环境下任意m(m≥k)个云存储站点有效,即可满足分布式存储层的数据有效.因此,分布式存储层的可靠性模型为图5 分布式环境下采用纠删码方式的分布式存储层可靠性Fig.5 Reliability of distributed storage using erasure code式中C为组合运算符.取RCOPY=0.9,k=4~10,s=1~5,则分布式环境下采用纠删码方式的分布式存储层可靠性如图5所示.从图5可以看出,在低冗余度条件下(冗余倍数小于2),纠删码方式提供较低的系统可靠性,并且文件分块数越多,可靠性越低;当冗余度大于2时,纠删码将提供较高的可靠性,并且变化不再明显,保持在0.999以上.分布式存储层的冗余度以及文件分块数将在下文给出.3.4 系统可靠性分析根据以上对RAID、副本冗余和纠删码等技术的分析,可以得出MassCloud可以提供的系统可靠性模型.设MassCloud系统可靠性为RMassCloud,将式(1)和式(2)代入式(3)得取RHDDj=0.9,p=4,k=1~20,s=1~4,r=3,假定云存储站点可靠性为定值,考察系统可靠性与分布式环境下冗余倍数以及文件分块数的关系如图6所示.假设在云存储站点副本数取3,可以看出分布式环境下MassCloud的可靠性与冗余倍数以及文件分块数之间的关系,当冗余倍数等于1时(即不冗余),MassCloud可靠性随文件分块数增加而降低,当冗余倍数大于或等于2时,系统可靠性随文件分块数增加而增加,当文件分块数达到5块以上时,MassCloud可靠性大于0.999,并且增加不再明显,因此综合考虑存储空间资源利用率以及系统可靠性,MassCloud冗余倍数取2,文件分块数取8.图6 系统可靠性与分布式环境下冗余倍数以及文件分块数的关系Fig.6 Relationship among system reliability,times of duplicate redundancy in distributed environment and number of file segments4 结语本文介绍了高可靠性云存储系统MassCloud的构架以及其可靠性机制,提出了基于RS纠删码的快速编解码算法——双表法,该方法在分布式环境中的广域网体现出较好的性能,并且不会成为系统的效率瓶颈.通过对各个MassCloud的各个层次所采用的可靠性机制的分析,在保证系统高可靠性的同时兼顾系统存储空间的利用率,得出了保证各个层次可靠性的基本参数,使得低功耗存储节点的可靠性可以达到0.96,云存储站点和分布式存储可靠性都可以达到0.99以上.参考文献:【相关文献】[1]张江陵,冯丹.海量信息存储[M].北京:科学出版社,2000:95-107.[2]WEATHERSPOON H,EATON P,KUBIATOWICZ J,et al.Antiquity:exploiting a secure log for wide-area distributed storage[C]// Proceedings of the 2nd ACM SIGOPS/EuroSysEuropean Conference on Computer Systems 2007,Lisbon,Portugal.New York:ACM,2007:371-384.[3]LAKSHMAN A,MALIK P.Cassandra:structured storage system on a P2Pnetwork[C]//Proceedings of the 28th ACM Symposium on Principles of Distributed Computing.New York:ACM,2009:5-5.[4]BEHRMANN G,FUHRMANN P,GRONAGERM,et al.A distributed storage system with dCache[J].Journal of Physics,2008,119(6): 2014-2025.[5]DUBNICKI C,GRYZ L,HELDT L,et al.HYDR Astor:a scalable secondarystorage[C]//Proccedings of the 7th Conference on File and StorageTechnologies.California,USA:USENIX Association Berkeley,2009:197-210.[6]SHI Guang-yu,CHEN Jian,GONG Hao,et al.SandStone:a DHT based carrier grade distributed storage system[C]//2009 International Conference on Parallel Processing.Vienna,Austria:IEEE Computer Society,2009:420-428.[7]JEFF T,MICHAEL J.Freedman bject storage on CRAQ:high-throughput chain replicationfor read-mostly workloads[C]//Proceedingsof the 2009 Conference on USENIX Annual Technical Conference.California,USA:USENIX Association Berkeley,2009:11. [8]杨德志,许鲁,张建刚.蓝鲸分布式文件系统元数据服务[J].计算机工程,2008,34(7):4-6.((YANG De-zhi,XU Lu,ZHANG Jian-gang.Blue whale distributed file system metadata service[J].Computer Engineering,2008,34(7):4-6.(in Chinese))[9]张敬亮,张军伟,张建刚,等.蓝鲸文件系统中元数据与数据隔离技术[J].计算机工程,2010,36(2):28-30.(ZHANG Jingliang,ZHANG Jun-wei,ZHANG Jian-gang,et al.IsolatI/On technology of metadata from data in blue whale file system[J].Computer Engineering,2010,36(2):28-30.(in Chinese))[10]田荣华,卢显良,侯孟书,等.P2P分布式存储系统[J].计算机科学,2007,34(6):47-48.(TIAN Rong-hua,LU Xian-liang,HOU Meng-shu,et al.P2P-based distributed storage system[J].Theoretical Computer Science,2007,34(6):47-48.(in Chinese))[11]马军,郑烩,殷保群.基于CDN和P2P的分布式网络存储系统[J].计算机应用与软件,2010,27(2):50-52.(MA Jun,YAN Bao-qun,ZHENG Quan.CDN and P2P-BASED distributed network storage system[J].Computer Applications and Software,2010,27 (2):50-52.(in Chinese))[12]吴吉义,章剑林,傅建庆,等.基于Kademlia的云存储系统数据冗余方案研究[J].电信科学,2011,27(2):68-73.(WU Ji-yi,ZHANG Jian-lin,FU Jian-qing,et al.Study on data redundancy scheme in kademlia cloud storage system[J].Telecommunications Science,2011,27(2):68-73.(in Chinese))[13]WEATHERSPOON H,KUBIATOWICZ J.Erasure coding Vs.replication:a quantitative comparison[C]//IPTPS 2002.London:Springer-Verlag,2002:328-338.[14]HAMMING R W.Error detecting and error correcting codes[J].The Bell SystemTechnical Journal,1950,29(2):147-160.[15]RIZZO L,VICISANO L.A reliable multicast data distribution protocol based on software FEC techinques[C]//Proceedings of the Fourth IEEE HPCS'97 Workshop.New York:ACM,1997:116-125.[16]林舒,科斯特洛.差错控制编码[M].晏坚,译.北京:机械工业出版社.2007:9-33.[17]WILLIAMS F J,SLONE N J.Theory of error-correcting codes[M].Amsterdam,The Netherlands:North-Holland,1977.[18]BLOMER J,MITZENMACHER M,SHOKROLLAHI A.An XOR-based erasure-resilient coding scheme(Report,NO.TR-9504)[R]. Berkeley,California:The International Computer Science Institute,1995.[19]TOM C.存储区域网络设计[M].邓劲生,李宝峰,李蕾,等,译.北京:电子工业出版社,2005.[20]ZHOU Ke,HUANG Yong-feng.Disk tree-a case of parallel storage architecture to improve performance in random access patten[J]. Chinese Journal of Electronics,2005,14(1):39-44.。