一种云存储系统数据可用性维护方法及其装置制造方法及图纸

技术编号:10437927 阅读:156 留言:0更新日期:2014-09-17 14:16
一种云存储系统数据可用性维护方法及其装置,属于云存储技术领域,解决现有数据可用性维护方法存在的元数据服务器或超级节点的单点故障导致数据可用性维护中断的问题。本发明专利技术的方法,用于具有中心存储服务器、元数据服务器和P2P网络的系统中,包括编码步骤、订立租约步骤、执行租约步骤和租约维护步骤。本发明专利技术的装置,包括编码模块、订立租约模块、执行租约模块和租约维护模块。本发明专利技术充分利用P2P对等节点的计算、存储、网络资源,高效地将数据块的可用性维护在稳定的目标值以上,避免因P2P网络中高流动性导致数据块可用性降低甚至不可用,降低因数据可用性维护带来的网络、存储、计算开销,从而使混合结构的云存储系统真正具有高性能、高可用性。

【技术实现步骤摘要】
一种云存储系统数据可用性维护方法及其装置
本专利技术属于云存储
,具体涉及一种云存储系统数据可用性维护方法及其装置。
技术介绍
当今每天都会产生和累积大量重要数据,快速、可靠地存储这些数据非常重要。大多数传统的存储解决方案采用数据中心提供存储服务,往往数据存储速度慢且花费代价高。因此,采用P2P网络与中心存储服务器相结合的系统能带来更快的存储速度和更低廉的花费,但是,这种存储系统的缺陷是数据分布在中心存储服务器和P2P网络中,数据的可用性很难稳定维持在一个目标可用性水平,且用于维护数据可用性的开销太大。为了屏蔽系统中中心存储服务器宕机、数据块损坏、P2P网络中对等节点的暂时或永久失效,让系统能够保障数据的可用性稳定维持在一个目标值,通常采取数据冗余。数据冗余主要包含两类方式:副本冗余和纠删码冗余。其中,纠删码冗余的过程是:采用参数是(m,n)的纠删码将原始数据块分成m个分片,然后将m个分片编码成n(n>m)个分片,并保障其中任意m个分片都可以重构数据块,见H.WeatherspoonandJ.Kubiatowicz,“Erasurecodingvs.replication:Aquantitativecomparison.”,IPTPS,2002年3月4日。由于P2P网络中对等节点频繁的流入流出,具有高动态性,采用副本冗余将消耗大量的网络带宽用于修复丢失的副本数据块;而采用纠删码冗余将消耗大量的计算资源用于编码解码以进行纠删码分片修复。尽管有些新的算法如rotatedReed-Solomon编码能够高效地进行纠删码分片修复,但是其实现复杂,将导致系统复杂度增高。而采用副本结合纠删码的方式,能更好地进行数据容错和纠删码分片修复,从而更高效地维护数据可用性,大多数现有的存储系统数据可用性维护方法,采用元数据服务器主动轮询的策略,每隔一段时间元数据服务器向所有P2P对等节点发送心跳包,以确定对等节点的在线状态以及对等节点维护的纠删码分片的状态,对于纠删码分片损坏或者对等节点下线的情况,元数据服务器更新元数据信息,并根据再复制策略执行再复制操作,但是轮询的时间间隔不易选择,如果间隔时间过长,则容易造成大量数据块不可用;如果间隔时间过短,则造成大量不必要的网络开销,严重影响效率。由于是元数据服务器主动轮询,轮询的过程中若发生纠删码分片丢失超过阈值导致数据块急需修复,元数据服务器不能及时探知,从而错过最佳修复时机导致不可用。元数据服务器的单点故障将导致数据可用性维护中断,且很难恢复到最新的状态,因此元数据服务器成为可用性维护的瓶颈。现有混合结构的云存储系统中,例如wuala网站(http://www.wuala.com/en/),为了便于对高动态的对等节点进行管理,将对等节点分成若干组,每组由发起备份节点作为超级节点,由超级节点完成元数据服务器的部分轮询职能,超级节点容易成为新的热点,超级节点的宕机将导致组内的服务中断,极大地影响了数据的可用性维护。为清楚地理解本专利技术,以下对有关术语进行解释:纠删码:一种纠正删除错误的纠错码。采用纠删码将原始数据块编码分成n片,n个纠删码分片中只需要通过k(k<n)个分片即可重构得到原始数据块。数据可用性:在一段时间内的任意一个时刻,数据可以被正常访问存取的概率。租约:颁发者在一定期限内给予持有者一定权利的协议。在此系统中,指元数据服务器与租约节点之间签订的协议,将数据可用性管理的权利颁发给租约节点。一个数据块对应一个租约,一个租约对应一个租约节点。租约中包含超时时间,租约只在超时时间段内有效,超过此时间,则需重新订立租约。元素据服务器中存有租约列表,列表中包含所有与元数据服务器签订的所有租约。阈值:为了保证数据在P2P网络中的可靠性,网络中幸存的纠删码分片的个数下限值。WsaRecv库函数:一种异步接收数据的库函数,本专利技术运行在LINUX或WINDOWS环境下,两者均存在WsaRecv库函数。惰性再复制:在P2P网络中,纠删码分片数目减少但不低于阈值时,不进行复制操作;仅当纠删码分片数目减少到阈值以下时再进行复制操作。
技术实现思路
本专利技术提供一种云存储系统数据可用性维护方法,同时提供其装置,解决现有数据可用性维护方法所存在的元数据服务器或超级节点的单点故障导致数据可用性维护中断的问题。本专利技术所提供的一种云存储系统数据可用性维护方法,用于具有中心存储服务器、元数据服务器和P2P网络的系统中,包括编码步骤、订立租约步骤、执行租约步骤和租约维护步骤,其特征在于:(1)编码步骤,包括下述子步骤:(1.1)P2P网络中发起备份的对等节点,将待存储数据块分为b个分片,再将b个分片编码成n个纠删码分片,同时生成对应的n个纠删码分片元数据,1≤b<n;每个纠删码分片元数据包括纠删码分片所属数据块ID、纠删码分片ID以及从P2P网络中随机选择的1个对等节点的ID和通讯地址;(1.2)发起备份的对等节点将n个纠删码分片连同对应的n个纠删码分片元数据分别发送到P2P网络中n个其他对等节点上,接收到纠删码分片的n个对等节点先将接收到的纠删码分片及对应的纠删码分片元数据进行本地存储,再向元数据服务器发送各自的纠删码分片元数据;(2)订立租约步骤,包括下述子步骤:(2.1)元数据服务器收集到n个纠删码分片元数据后,生成一个租约存储在本地内存的租约列表中;租约的表项包括租约ID、租约超时时间、租约状态、阈值、n个纠删码分片在P2P网络中和对等节点的映射关系;租约状态分为未决、正常、异常、失效;n个纠删码分片在P2P网络中和对等节点的映射关系由纠删码分片ID列表、持有纠删码分片对等节点ID列表和相应对等节点地址列表构成;元数据服务器再设定租约超时时间,并根据数据块在中心存储服务器和P2P网络中的分布情况计算阈值T,将所述租约超时时间、阈值T、n个纠删码分片在P2P网络中和对等节点的映射关系填入租约中,租约状态置为未决;(2.2)元数据服务器从成员组中选择一个对等节点作为租约节点,向其发送租约,并判断是否收到租约节点返回收到消息,是则进行子步骤(2.3),否则继续执行子步骤(2.2);所述成员组由发起备份的对等节点和拥有纠删码分片的各对等节点构成;(2.3)元数据服务器将租约中租约状态置为正常,向租约节点发送发送数据块到中心存储服务器的命令,租约节点收到命令后将数据块发送到中心存储服务器;租约节点和元数据服务器同时分别执行步骤(3)和步骤(4);(3)执行租约步骤,包括下述子步骤:(3.1)租约节点将租约中租约状态置为正常,并实时监视成员组中其他对等节点是否下线,是则将下线对等节点ID置为丢失标识,表明其对应纠删码分片丢失,再进行子步骤(3.2);否则继续进行子步骤(3.1);(3.2)判断成员组中对等节点的数量是否低于阈值T,是则将租约中租约状态更改为异常,进行子步骤(3.3),否则转子步骤(3.1);(3.3)判断租约节点是否为发起备份的对等节点,是则转子步骤(3.4),否则转子步骤(3.5);(3.4)租约节点将待存储数据块编码成n个纠删码分片,同时生成对应的n个纠删码分片元数据,转子步骤(3.8);(3.5)租约节点判断中心存储服务器是否繁忙,是则转子步骤(3.6),否则转子步骤(3.7),本文档来自技高网
...
一种云存储系统数据可用性维护方法及其装置

【技术保护点】
一种云存储系统数据可用性维护方法,用于具有中心存储服务器、元数据服务器和P2P网络的系统中,包括编码步骤、订立租约步骤、执行租约步骤和租约维护步骤,其特征在于:(1)编码步骤,包括下述子步骤:(1.1)P2P网络中发起备份的对等节点,将待存储数据块分为b个分片,再将b个分片编码成n个纠删码分片,同时生成对应的n个纠删码分片元数据,1≤b<n;每个纠删码分片元数据包括纠删码分片所属数据块ID、纠删码分片ID以及从P2P网络中随机选择的1个对等节点的ID和通讯地址;(1.2)发起备份的对等节点将n个纠删码分片连同对应的n个纠删码分片元数据分别发送到P2P网络中n个其他对等节点上,接收到纠删码分片的n个对等节点先将接收到的纠删码分片及对应的纠删码分片元数据进行本地存储,再向元数据服务器发送各自的纠删码分片元数据;(2)订立租约步骤,包括下述子步骤:(2.1)元数据服务器收集到n个纠删码分片元数据后,生成一个租约存储在本地内存的租约列表中;租约的表项包括租约ID、租约超时时间、租约状态、阈值、n个纠删码分片在P2P网络中和对等节点的映射关系;租约状态分为未决、正常、异常、失效;n个纠删码分片在P2P网络中和对等节点的映射关系由纠删码分片ID列表、持有纠删码分片对等节点ID列表和相应对等节点地址列表构成;元数据服务器再设定租约超时时间,并根据数据块在中心存储服务器和P2P网络中的分布情况计算阈值T,将所述租约超时时间、阈值T、n个纠删码分片在P2P网络中和对等节点的映射关系填入租约中,租约状态置为未决;(2.2)元数据服务器从成员组中选择一个对等节点作为租约节点,向其发送租约,并判断是否收到租约节点返回收到消息,是则进行子步骤(2.3),否则继续执行子步骤(2.2);所述成员组由发起备份的对等节点和拥有纠删码分片的各对等节点构成;(2.3)元数据服务器将租约中租约状态置为正常,向租约节点发送发送数据块到中心存储服务器的命令,租约节点收到命令后将数据块发送到中心存储服务器;租约节点和元数据服务器同时分别执行步骤(3)和步骤(4);(3)执行租约步骤,包括下述子步骤:(3.1)租约节点将租约中租约状态置为正常,并实时监视成员组中其他对等节点是否下线,是则将下线对等节点ID置为丢失标识,表明其对应纠删码分片丢失,再进行子步骤(3.2);否则继续进行子步骤(3.1);(3.2)判断成员组中对等节点的数量是否低于阈值T,是则将租约中租约状态更改为异常,进行子步骤(3.3),否则转子步骤(3.1);(3.3)判断租约节点是否为发起备份的对等节点,是则转子步骤(3.4),否则转子步骤(3.5);(3.4)租约节点将待存储数据块编码成n个纠删码分片,同时生成对应的n个纠删码分片元数据,转子步骤(3.8);(3.5)租约节点判断中心存储服务器是否繁忙,是则转子步骤(3.6),否则转子步骤(3.7),(3.6)租约节点先从成员组内其他各对等节点处获取所有纠删码分片,重构原始数据块,再将其编码成n个纠删码分片,同时生成对应的n个纠删码分片元数据,转子步骤(3.8);(3.7)租约节点向中心存储服务器请求数据块,得到数据块后,将其编码成n个纠删码分片,同时生成对应的n个纠删码分片元数据,转子步骤(3.8);(3.8)租约节点将n个纠删码分片连同对应的n个纠删码分片元数据分别发送给P2P网络中其他对等节点,同时更新租约中纠删码分片在P2P网络中和对等节点的映射关系,并将其发送给元数据服务器,转子步骤(3.1);(4)租约维护步骤,包括下述子步骤:(4.1)元数据服务器将租约状态置为正常,对所发出的租约进行计时,判断是否在租约超时时间内,是则进行子步骤(4.2),否则向租约节点发送撤销租约命令,租约节点收到命令后,将租约状态置为失效,不再对成员组内成员进行管理,转子步骤(2.2);(4.2)元数据服务器接收来自中心存储服务器的数据块副本数目变化消息,并根据其采取相应措施:若数据块副本数目增多,则转子步骤(4.3);若数据块副本数目减少,则判断中心存储服务器中是否有幸存数据块副本,是则中心存储服务器进行本地复制,否则判断中心存储服务器是否繁忙,是则转子步骤(4.3),否则转子步骤(4.4);(4.3)元数据服务器根据数据块在中心存储服务器和P2P网络中的分布情况计算阈值,并将阈值发送给租约节点,租约节点收到阈值后,将其置换租约中的原有阈值T,转步骤(3);(4.4)元数据服务器向租约节点发送命令,要求租约节点发送数据块到中心存储服务器,租约节点收到命令后将数据块发送到中心存储服务器;(4.5)元数据服务器实时定期判断是否接收到租约节点消息,是则根据租约节点发送过来的纠删码分片在P2P网络中和对等节点的映射关系,更新租约中的相应内容;否则转子步骤(2.2)。...

【技术特征摘要】
1.一种云存储系统数据可用性维护方法,用于具有中心存储服务器、元数据服务器和P2P网络的系统中,包括编码步骤、订立租约步骤、执行租约步骤和租约维护步骤,其特征在于:(1)编码步骤,包括下述子步骤:(1.1)P2P网络中发起备份的对等节点,将待存储数据块分为b个分片,再将b个分片编码成n个纠删码分片,同时生成对应的n个纠删码分片元数据,1≤b<n;每个纠删码分片元数据包括纠删码分片所属数据块ID、纠删码分片ID以及从P2P网络中随机选择的1个对等节点的ID和通讯地址;(1.2)发起备份的对等节点将n个纠删码分片连同对应的n个纠删码分片元数据分别发送到P2P网络中n个其他对等节点上,接收到纠删码分片的n个对等节点先将接收到的纠删码分片及对应的纠删码分片元数据进行本地存储,再向元数据服务器发送各自的纠删码分片元数据;(2)订立租约步骤,包括下述子步骤:(2.1)元数据服务器收集到n个纠删码分片元数据后,生成一个租约存储在本地内存的租约列表中;租约的表项包括租约ID、租约超时时间、租约状态、阈值、n个纠删码分片在P2P网络中和对等节点的映射关系;租约状态分为未决、正常、异常、失效;n个纠删码分片在P2P网络中和对等节点的映射关系由纠删码分片ID列表、持有纠删码分片对等节点ID列表和相应对等节点地址列表构成;元数据服务器再设定租约超时时间,并根据数据块在中心存储服务器和P2P网络中的分布情况计算阈值T,将所述租约超时时间、阈值T、n个纠删码分片在P2P网络中和对等节点的映射关系填入租约中,租约状态置为未决;(2.2)元数据服务器从成员组中选择一个对等节点作为租约节点,向其发送租约,并判断是否收到租约节点返回收到消息,是则进行子步骤(2.3),否则继续执行子步骤(2.2);所述成员组由发起备份的对等节点和拥有纠删码分片的各对等节点构成;(2.3)元数据服务器将租约中租约状态置为正常,向租约节点发送发送数据块到中心存储服务器的命令,租约节点收到命令后将数据块发送到中心存储服务器;租约节点和元数据服务器同时分别执行步骤(3)和步骤(4);(3)执行租约步骤,包括下述子步骤:(3.1)租约节点将租约中租约状态置为正常,并实时监视成员组中其他对等节点是否下线,是则将下线对等节点ID置为丢失标识,表明其对应纠删码分片丢失,再进行子步骤(3.2);否则继续进行子步骤(3.1);(3.2)判断成员组中对等节点的数量是否低于阈值T,是则将租约中租约状态更改为异常,进行子步骤(3.3),否则转子步骤(3.1);(3.3)判断租约节点是否为发起备份的对等节点,是则转子步骤(3.4),否则转子步骤(3.5);(3.4)租约节点将待存储数据块编码成n个纠删码分片,同时生成对应的n个纠删码分片元数据,转子步骤(3.8);(3.5)租约节点判断中心存储服务器是否繁忙,是则转子步骤(3.6),否则转子步骤(3.7),(3.6)租约节点先从成员组内其他各对等节点处获取所有纠删码分片,重构原始数据块,再将其编码成n个纠删码分片,同时生成对应的n个纠删码分片元数据,转子步骤(3.8);(3.7)租约节点向中心存储服务器请求数据块,得到数据块后,将其编码成n个纠删码分片,同时生成对应的n个纠删码分片元数据,转子步骤(3.8);(3.8)租约节点将n个纠删码分片连同对应的n个纠删码分片元数据分别发送给P2P网络中其他对等节点,同时更新租约中纠删码分片在P2P网络中和对等节点的映射关系,并将其发送给元数据服务器,转子步骤(3.1);(4)租约维护步骤,包括下述子步骤:(4.1)元数据服务器将租约状态置为正常,对所发出的租约进行计时,判断是否在租约超时时间内,是则进行子步骤(4.2),否则向租约节点发送撤销租约命令,租约节点收到命令后,将租约状态置为失效,不再对成员组内成员进行管理,转子步骤(2.2);(4.2)元数据服务器接收来自中心存储服务器的数据块副本数目变化消息,并根据其采取相应措施:若数据块副本数目增多,则转子步骤(4.3);若数据块副本数目减少,则判断中心存储服务器中是否有幸存数据块副本,是则中心存储服务器进行本地复制,否则判断中心存储服务器是否繁忙,是则转子步骤(4.3),否则转子步骤(4.4);(4.3)元数据服务器根据数据块在中心存储服务器和P2P网络中的分布情况计算阈值,并将阈值发送给租约节点,租约节点收到阈值后,将其置换租约中的原有阈值T,转步骤(3);(4.4)元数据服务器向租约节点发送命令,要求租约节点发送数据块到中心存储服务器,租约节点收到命令后将数据块发送到中心存储服务器;(4.5)元数据服务器实时定期判断是否接收到租约节点消息,是则根据租约节点发送过来的纠删码分片在P2P网络中和对等节点的映射关系,更新租约中的相应内容;否则转子步骤(2.2)。2.如权利要求1所述的云存储系统数据可用性维护方法,其特征在于:所述子步骤(2.1)和子步骤(4.3)中,计算所述阈值包括下述过程:A、计算数据块在中心存储服务器中的可用性As:As=1-(1-us)m,式中,uS为中心存储服务器中服务器的平均可用性,各服务器的可用性由厂商提供;m为数据块在中心存储服务器中的副本数;B、计算数据块在P2P网络中的可用性Ap:其中0.9≤A<1,为数据块在云存储系统中欲达到的整体目标可用性,由系统设计给出;C、计算阈值为c×b,其中,b是数据块的分片数,c为数据块在P2P网络中的冗余度:式中,系数k在正态分布表中,令根据的值查出,正态分布表中,概率表示服从正态分布的变量取小于或等于k值的概率;uP为P2P网络中对等节点平均可用性,由各对等点的可用性求均值得到,各对等点的可用性为对等节点每天在线时间比率。3.如权利要求1或2所述的云存储系统数据可用性维护方法,其特征在于:所述订立租约步骤(2)的子步骤(2.2)中,元数据服务器从成员组中选择一个对等节点作为租约节点时,优先选择发起备份的对等节点,只有在其下线或者该对等节点中原始数据丢失的情况下,才选择成员组中其他对等节点作为租约节点。4.如权利要求3所述的云存储系统数据可用性维护方法,其特征在于:所述子步骤(2.3)和子步骤(4.4)中,租约节点将数据块发送给中心存储服务器时,先判断是否租约节点为发起备份的对等节点,是则租约节点直接将本地数据块发送给中心存储服务器,否则租约节点先从成员组内其他对等节点处获取纠删码分片,重构原始数据块,再进行发送。...

【专利技术属性】
技术研发人员:王桦周可徐圣杰黄绍建张佳
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1