一种实现多元数据一致性的方法

文档序号:6436339阅读:335来源:国知局
专利名称:一种实现多元数据一致性的方法
技术领域
本发明涉及多元数据的存储以及一致性问题,具体来说,涉及一种实现多元数据一致性的方法。
背景技术
在分布式文件系统中,元数据之间存在相关性,这表现在很多操作要同时修改几部分的元数据,当只有部分数据修改时,系统是不一致的,即这种相关性受到破坏。当整个操作完成时,系统从一个一致状态转移到另一个一致的状态。当系统处于不一致状态时,受影响的元数据及相关的数据将不能被正确使用,甚至成为垃圾。如果系统不纠正该问题,而继续运行,将造成更大的损害。对于多元数据服务器,每个元数据存储于不同节点,当节点发生崩溃时,这些节点上的元数据就会处于一个不一致的状态,导致元数据服务不可用。因此,如何保证多个元数据服务器上的元数据一致性是影响元数据可靠性的重要因素。为了保证元数据的一致性,日志系统均采用先写日志后应用磁盘的策略,这样即使其发生崩溃时,未应用到磁盘的操作也可以通过重新应用日志来保证其一致性。然而,传统的本地日志系统如EXT3文件系统等,均适用于单副本的元数据服务器下,无法保证多个元数据服务器上的元数据的一致性。同时,考虑到不同的分布式文件系统的应用场景,其对性能和安全性的需求是不同,因此,日志系统也需要针对性的进行均衡,提供不同的一致性策略。

发明内容
本发明旨在公开一种实现多元数据一致性的方法,目的是满足分布式文件系统中多元数据服务器的一致性。—种实现多元数据一致性的方法,主元数据副本收到客户端元数据请求后,将元数据请求保存到内存,并发送传播请求给从元数据副本,从元数据副本接收到传播请求后,与主元数据副本同步将元数据请求保存到内存,并返回传播请求应答给主元数据副本;主元数据副本收到传播请求应答后,将元数据请求提交到日志设备,同时发送提交请求给从元数据副本,从元数据副本接收到提交请求后,与主元数据副本同步将元数据请求提交到日志设备,并返回提交请求应答给主元数据副本;若上一步中从元数据副本收到了主元数据副本发出的提交请求,则从元数据副本将元数据请求应用到磁盘,回收内存空间,否则保存在本地对应的日志文件中;若主元数据副本收到了从元数据副本返回的提交请求应答,则主元数据副本将元数据请求应用到磁盘,回收内存空间,否则保存在本地对应的日志文件中。优选的,所述元数据请求的结果若未返回客户端,客户端在超时后重新发送该元数据请求。
优选的,若所述主元数据副本需要修复时,从元数据副本将其元数据传给主元数据副本使其修复。优选的,若所述从元数据副本需要修复时,主元数据副本将其保存的日志信息同步到从元数据副本。优选的,所述客户端的返回模式有三种,快速模式当主副本保存到内存后,返回客户端;同步模式当从副本回复传播请求后,返回客户端;安全模式当从副本回复提交请求后,返回客户端。本发明的提供了一种适应于多元数据服务器下的一致性方法,针对性能和可靠性进行均衡,给出一种多模式的一致性方法;通过本发明提供的方法,日志系统可以方便的修复元数据并保持多元数据服务器上的一致性。


图1是本发明的流程图
具体实施例方式本发明中的技术方案具体描述如下(1)为了实现多个元数据服务器上的一致性,将元数据操作的可靠性操作分为几个阶段眷保存到内存 写入日志设备 写入磁盘 同步到磁盘通过在不同的阶段进行元数据服务器之间的通信,将元数据请求进行发送,其具体流程如图1 客户端发出申请后,主副本接收请求,将其写入内存,同时与从副本进行内存阶段同步,内存阶段同步靠的是传播请求。图1中的传播请求,是指将本次元数据请求进行发送,而提交请求是通知对应本节点已写入日志设备,并通知对方。内存同步后将请求提交到日志设备,进行日志提交阶段的同步,也是通过信号的传递来达到这一目的。在提交日志设备的请求同步后,主副本和从副本都将其写入磁盘,并回收内存空间,否则保存在本地对应的日志文件中。针对元数据操作的各个流程发生故障,分别进行阐述如何修复如下主副本保存至内存阶段未返回客户端,最终客户端超时,并重新发送该元数据请求。主副本提交日志设备阶段从副本应用从副本上的元数据,并回传到主副本上使其修复并保持一致。主副本写入磁盘阶段应用主副本上的日志,保持一致。
从副本保存至内存阶段从副本修复时,由主副本发送其上保存的日志,保持一致。从副本提交日志设备阶段方法同上。从副本写入磁盘阶段从副本应用从副本上的日志,保持一致。通过上述的分析,可知,无论哪个阶段发生故障,均可以保证主从上的元数据的一致性。(2)根据性能和可靠性的权衡,日志系统中回复客户端的时机不同,三种模式它们的回复时机分别如下快速模式当主副本保存到内存后,返回客户端同步模式当从副本回复传播请求后,返回客户端安全模式当从副本回复提交请求后,返回客户端其中,快速模式适应于可靠性要求较低的环境中,在主副本节点不发生故障可以保证该元数据操作不会丢失;同步模式下,是当主从节点中只要有一个节点不发生故障,就可以保证该元数据操作不会丢失;安全模式可以保证任何回复客户端的元数据操作不会丢失。由于三种模式所需的日志系统的操作不同,最终其关键路径上的消耗时间不同, 最终的应答时间不同快速模式下,仅有内存操作,所以其性能最高;同步模式,关键路径上有网络通讯的延迟,所以性能稍差;安全模式下,关键路径上有磁盘操作的延迟,所以其性能最差。使用者可以综合当前的使用环境,方便进行一致性策略的选择。
权利要求
1.一种实现多元数据一致性的方法,其特征在于主元数据副本收到客户端元数据请求后,将元数据请求保存到内存,并发送传播请求给从元数据副本,从元数据副本接收到传播请求后,与主元数据副本同步将元数据请求保存到内存,并返回传播请求应答给主元数据副本;主元数据副本收到传播请求应答后,将元数据请求提交到日志设备,同时发送提交请求给从元数据副本,从元数据副本接收到提交请求后,与主元数据副本同步将元数据请求提交到日志设备,并返回提交请求应答给主元数据副本;若上一步中从元数据副本收到了主元数据副本发出的提交请求,则从元数据副本将元数据请求应用到磁盘,回收内存空间,否则保存在本地对应的日志文件中;若主元数据副本收到了从元数据副本返回的提交请求应答,则主元数据副本将元数据请求应用到磁盘,回收内存空间,否则保存在本地对应的日志文件中。
2.如权利要求1所述的方法,其特征在于所述元数据请求的结果若未返回客户端,客户端在超时后重新发送该元数据请求。
3.如权利要求1所述的方法,其特征在于若所述主元数据副本需要修复时,从元数据副本将其元数据传给主元数据副本使其修复。
4.如权利要求1所述的方法,其特征在于若所述从元数据副本需要修复时,主元数据副本将其保存的日志信息同步到从元数据副本。
5.如权利要求2所述的方法,其特征在于所述客户端的返回模式有三种,快速模式当主副本保存到内存后,返回客户端;同步模式当从副本回复传播请求后,返回客户端;安全模式当从副本回复提交请求后,返回客户端。
全文摘要
本发明的提供了一种适应于多元数据服务器下的一致性方法,针对性能和可靠性进行均衡,给出一种多模式的一致性方法;通过本发明提供的方法,日志系统可以方便的修复元数据并保持多元数据服务器上的一致性。
文档编号G06F17/30GK102368268SQ201110326368
公开日2012年3月7日 申请日期2011年10月25日 优先权日2011年10月25日
发明者付根希, 张东阳, 张玉龙, 杨浩, 王勇, 王飞良 申请人:无锡城市云计算中心有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1