一种基于Fat-B树的分布式文件系统低开销数据传输方法

文档序号:10512374阅读:324来源:国知局
一种基于Fat-B树的分布式文件系统低开销数据传输方法
【专利摘要】本发明涉及一种基于Fat?B树的分布式文件系统低开销数据传输方法,包括低开销日志模块、低开销提交协议和故障恢复模块,所述低开销日志模块采用的是一种能够有效减少日志在事务处理和提交过程开销的邻接预写日志策略;所述低开销提交协议是一种采用Fat?B树索引消息队列和优化提交过程开销的提交事务协议;所述故障恢复模块采用的是一种支持主机故障和队列故障的故障恢复策略。本发明利用Fat?B树索引结构建立了分布式文件系统的消息队列机制,给出了适用于分布式文件系统的异步邻接预写日志机制,并在此基础上,提出了一种适用于分布式文件系统的低开销数据传输提交事务协议,从而有效地减少了分布式文件系统事务处理过程中的通信开销。
【专利说明】
一种基于Fat-B树的分布式文件系统低开销数据传输方法
技术领域
[0001]本发明涉及分布式文件系统数据传输技术领域,特别是一种基于Fat-B树的分布式文件系统低开销数据传输方法。
【背景技术】
[0002 ] 随着我国智能电网建设的深入推进,国家电网已经开始逐步实现基于国产服务器的分布式文件系统替代中高端设备作为存储平台的工作,分布式文件系统作为传统中高端设备的替代技术不仅能够更好地保障系统运行稳定和性能,而且能够有效地提升系统可用、管理及数据安全水平。本发明所涉及的分布式文件系统的数据传输技术正是分布式文件存储领域研究的重点和难点,数据传输技术的稳定性和效率会对分布式文件系统的整体性能产生显著的影响,也就是说高效率的数据传输会给整个分布式文件系统带来稳定的性能和较低的系统开销,相反低效率的数据传输会给整个分布式文件系统带来系统瓶颈和巨大的系统开销,并且这些不良影响会随着分布式文件系统规模的扩增而越发明显。分布式文件系统的数据传输技术主要涉及数据传输的日志管理、提交协议以及故障恢复三个方面。

【发明内容】

[0003]有鉴于此,本发明的目的是提出一种基于Fat-B树的分布式文件系统低开销数据传输方法,从日志管理、提交协议以及故障恢复三个角度入手,给出了分布式文件系统低开销数据传输解决方案,有效减少数据传输写入延迟和事务处理过程中的通信开销,提高整个系统的性能。
[0004]本发明采用以下方案实现:一种基于Fat-B树的分布式文件系统低开销数据传输方法,包括低开销日志模块、低开销提交协议和故障恢复模块;所述低开销日志模块采用能够有效减少日志在事务处理和提交过程开销的邻接预写日志机制;所述低开销提交协议是采用Fat-B树索引消息队列和优化提交过程开销的提交事务协议;所述故障恢复模块采用支持主机故障和队列故障的故障恢复策略;所述低开销提交协议包括基于Fat-B树索引结构建立的消息队列机制和异步邻接预写日志机制;所述故障恢复模块包括主机故障恢复模块和队列故障恢复模块。
[0005]较佳的,所述低开销日志模块采用的是一种支持原子性和耐久性的邻接预写日志策略。不同于普通的预写日志机制,所述邻接预写日志机制将日志存储在本地主机和其它几个邻接的主机主存储器中,整个邻接预写日志机制所产生的系统开销包括主机之间的消息交换开销以及日志存储到主存储器的时间开销。在当前的高速网络环境下,系统消息传递的速度比磁盘I/O快几个数量级,内存I/O记录日志的速度更快,因此,邻接预写日志机制能够有效降低其日志的写入延迟。
[0006]进一步地,所述基于Fat-B树索引结构建立的消息队列机制指分布式文件系统中的初始消息队列和备份消息队列均是基于Fat-B树索引结构构建的,所述初始消息队列包含待更新索引页面副本的处理单元,所述备份队列为存储备份数据的处理单元。
[0007]进一步地,所述异步邻接预写日志机制为:将主机节点同步等待邻接主机节点日志写入确认的方式改为异步等待确认的方式,在最后的决策阶段再来统一核实邻接主机节点日志写入的确认工作。从而能够有效地减少日志在提交过程的系统开销。
[0008]进一步地,所述主机故障恢复指初始主机在做出决策之前或已做出决策但尚未收到所有ACK之前发生故障时所采取的恢复策略;所述ACK为确认字符。对于第一种情况初始主机在做出决策之前的故障,备份主机会向所有记录在成员日志中的队列发出“停止”命令来停止事务,并依据备份主机的日志内容进行恢复操作;对于第二种情况已做出决策但尚未收到所有ACK,备份主机将会通过重新传输决策给所有的队列来使其重新回到决策阶段。
[0009]进一步地,所述队列故障恢复是指初始队列在最后一组操作完成之前或在主机完成决策之前或在等待状态发生故障时所采取的恢复策略。对于第一种情况初始队列在最后一组操作完成之前,初始主机可以在等待操作ACK时通过超时检测故障,并决定终止该事务,同时将该决策发送到其他所有队列;对于第二种情况主机完成决策之前和第三种情况等待状态发生故障时,主机会接收各队列发送的模糊投票,形成决策,并广播到各队列。
[0010]特别的,所述低开销提交协议具体包括以下步骤:
步骤SI:初始主机采用异步邻接预写日志机制将日志写入备份主机以标记事务的开始;
步骤S2:初始主机发送操作命令到初始队列并等待ACK确认消息的回复;
步骤S3:初始队列接收到初始主机操作命令后执行该操作,并采用异步邻接预写日志机制发送一段该操作日志记录给备份队列,同时发送ACK给初始主机;
步骤S4:循环进行步骤3,直到初始主机不再发送操作命令为止;
步骤S5:当初始主机完成所有的事务操作,并已接收到初始队列回复的所有ACK确认消息后,对事务进行最终决策阶段;
步骤S6:初始主机采用异步邻接预写日志机制将决策日志写入到备份主机;
步骤S7:初始主机向所有队列广播该决策并等待ACK确认消息;
步骤S8:初始队列接收到决策广播消息后,进入等待状态,并采用异步邻接预写日志机制向备份队列发送决策日志消息。
[0011 ]步骤S9:备份队列接收到决策日志消息后,执行事务提交操作,并给初始队列回复ACK确认消息;
步骤S10:初始队列收到备份队列回复的ACK确认消息后,给初始主机发送ACK决策确认消息;
步骤Sll:初始主机收到初始队列回复的ACK决策确认消息后,采用异步邻接预写日志机制向备份主机发送结束日志消息。
[0012]与现有技术相比,本发明从日志管理、提交协议以及故障恢复三个角度入手,给出了分布式文件系统低开销数据传输解决方案,有效减少数据传输写入延迟和事务处理过程中的通信开销,提高整个系统的性能。
【附图说明】
[0013]图1为本发明分布式文件系统低开销数据传输方法示意图。
[0014]图2为本发明适用于分布式文件系统的邻接预写日志流程图。
[0015]图3为本发明适用于分布式文件系统的异步邻接预写日志示意图。
[0016]图4为本发明基于Fat-B树索引机制和优化提交过程开销的提交事务协议示意图。
【具体实施方式】
[0017]下面结合附图及实施例对本发明做进一步说明。
[0018]本实施例提供了一种基于Fat-B树的分布式文件系统低开销数据传输方法,包括低开销日志模块、低开销提交协议和故障恢复模块;所述低开销日志模块采用能够有效减少日志在事务处理和提交过程开销的邻接预写日志机制;所述低开销提交协议是采用Fat-B树索引消息队列和优化提交过程开销的提交事务协议;所述故障恢复模块采用支持主机故障和队列故障的故障恢复策略;所述低开销提交协议包括基于Fat-B树索引结构建立的消息队列机制和异步邻接预写日志机制;所述故障恢复模块包括主机故障恢复模块和队列故障恢复模块。
[0019]较佳的,在本实施例中,所述低开销日志模块采用的是一种支持原子性和耐久性的邻接预写日志策略。不同于普通的预写日志机制,所述邻接预写日志机制将日志存储在本地主机和其它几个邻接的主机主存储器中,整个邻接预写日志机制所产生的系统开销包括主机之间的消息交换开销以及日志存储到主存储器的时间开销。在当前的高速网络环境下,系统消息传递的速度比磁盘I/O快几个数量级,内存I/O记录日志的速度更快,因此,邻接预写日志机制能够有效降低其日志的写入延迟。
[0020]在本实施例中,所述基于Fat-B树索引结构建立的消息队列机制指分布式文件系统中的初始消息队列和备份消息队列均是基于Fat-B树索引结构构建的,所述初始消息队列包含待更新索引页面副本的处理单元,所述备份队列为存储备份数据的处理单元。
[0021]在本实施例中,所述异步邻接预写日志机制为:将主机节点同步等待邻接主机节点日志写入确认的方式改为异步等待确认的方式,在最后的决策阶段再来统一核实邻接主机节点日志写入的确认工作。从而能够有效地减少日志在提交过程的系统开销。
[0022]在本实施例中,所述主机故障恢复指初始主机在做出决策之前或已做出决策但尚未收到所有ACK之前发生故障时所采取的恢复策略;所述ACK为确认字符。对于第一种情况初始主机在做出决策之前的故障,备份主机会向所有记录在成员日志中的队列发出“停止”命令来停止事务,并依据备份主机的日志内容进行恢复操作;对于第二种情况已做出决策但尚未收到所有ACK,备份主机将会通过重新传输决策给所有的队列来使其重新回到决策阶段。
[0023]在本实施例中,所述队列故障恢复是指初始队列在最后一组操作完成之前或在主机完成决策之前或在等待状态发生故障时所采取的恢复策略。对于第一种情况初始队列在最后一组操作完成之前,初始主机可以在等待操作ACK时通过超时检测故障,并决定终止该事务,同时将该决策发送到其他所有队列;对于第二种情况主机完成决策之前和第三种情况等待状态发生故障时,主机会接收各队列发送的模糊投票,形成决策,并广播到各队列。
[0024]如图1所示,本实施例提供基于Fat-B树的分布式文件系统低开销数据传输方法,包括低开销日志模块、低开销提交协议和故障恢复模块,所述低开销日志模块采用的是一种能够有效减少日志在事务处理和提交过程开销的邻接预写日志策略;所述低开销提交协议是一种采用Fat-B树索引消息队列和优化提交过程开销的提交事务协议,包括基于Fat-B树索引结构建立的消息队列机制和异步邻接预写日志机制;所述故障恢复模块采用的是一种支持主机故障和队列故障的故障恢复策略,包括主机故障恢复模块和队列故障恢复模块。
[0025]如图2所示,本实施例提供一种适用于分布式文件系统的邻接预写日志机制。当日志写入时,主机节点I将日志存储在其主存储器中,同时发送的日志中的消息到其逻辑相邻的主机节点2,这样相同的日志就会在分布式文件系统中有两个副本。如果主机节点I事务操作失败的话,它可以将日志恢复到与相邻主机节点2—致的上一个日志状态。可见,整个邻接预写日志机制所产生的系统开销主要包括主机节点I和主机节点2之间的消息交换开销以及日志存储到主存储器的时间开销。
[0026]如图3所示,本实施例提供一种适用于分布式文件系统的异步邻接预写日志机制。与邻接预写日志机制不同,异步邻接预写日志机制善意地认为日志消息会成功传递,将日志消息的发送模式由同步改为了异步,这样就省去了每次日志记录发送时的返回通知消息,只需在事务的最后决策阶段统一核实邻接主机节点日志写入的确认工作即可,从而有效地减少了事务处理过程中的通信开销。
[0027]如图4所示,本实施例提供一种基于Fat-B树索引机制和优化提交过程开销的提交事务协议。在分布式文件系统中,整个数据区域被划分到独立磁盘的所有处理单元中,分配给某一处理单元的数据被称为该处理单元的初始数据。同时,每个初始数据元素在其逻辑相邻处理单元内有一个副本,该副本被称为备份数据。主机是初始化事务的处理单元。初始队列是基于Fat-B树索引结构建立的,一个队列就是一个包含待更新索引页面副本的处理单元,初始队列除了更新其初始数据,同时还更新其备份数据。同理,存储备份数据的处理单元称为备份队列。基于Fat-B树索引机制和优化提交过程开销的提交事务协议的基本流程为:
步骤I:初始主机采用异步邻接预写日志机制将日志写入备份主机以标记事务的开始; 步骤2:初始主机发送操作到初始队列并等待ACK确认消息的回复;
步骤3:初始队列接收到初始主机操作命令后执行该操作,并采用异步邻接预写日志机制发送一段该操作日志记录给备份队列,同时发送ACK给初始主机;
步骤4:循环进行步骤3,直到初始主机不再发送操作命令为止;
步骤5:当初始主机完成所有的事务操作,并已接收到初始队列回复的所有ACK确认消息后,对该事务进行最终决策阶段;
步骤6:初始主机采用异步邻接预写日志机制将该决策日志写入到备份主机;
步骤7:初始主机向所有队列广播该决策并等待ACK确认消息;
步骤8:初始队列接收到决策广播消息后,进入等待状态,并采用异步邻接预写日志机制向备份队列发送决策日志消息。
[0028]步骤9:备份队列接收到决策日志消息后,执行事务提交操作,并给初始队列回复ACK确认消息;
步骤10:初始队列收到备份队列回复的ACK确认消息后,给初始主机发送ACK决策确认消息;
步骤11:初始主机收到初始队列回复的ACK决策确认消息后,采用异步邻接预写日志机制向备份主机发送结束日志消息。
[0029]以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
【主权项】
1.一种基于Fat-B树的分布式文件系统低开销数据传输方法,其特征在于:包括低开销日志模块、低开销提交协议和故障恢复模块;所述低开销日志模块采用能够有效减少日志在事务处理和提交过程开销的邻接预写日志机制;所述低开销提交协议是采用Fat-B树索引消息队列和优化提交过程开销的提交事务协议;所述故障恢复模块采用支持主机故障和队列故障的故障恢复策略;所述低开销提交协议包括基于Fat-B树索引结构建立的消息队列机制和异步邻接预写日志机制;所述故障恢复模块包括主机故障恢复模块和队列故障恢复模块。2.根据权利要求1所述的一种基于Fat-B树的分布式文件系统低开销数据传输方法,其特征在于:所述邻接预写日志机制将日志存储在本地主机和其它几个邻接的主机主存储器中,整个邻接预写日志机制所产生的系统开销包括主机之间的消息交换开销以及日志存储到主存储器的时间开销。3.根据权利要求1所述的一种基于Fat-B树的分布式文件系统低开销数据传输方法,其特征在于:所述基于Fat-B树索引结构建立的消息队列机制指分布式文件系统中的初始消息队列和备份消息队列均是基于Fat-B树索引结构构建的,所述初始消息队列包含待更新索引页面副本的处理单元,所述备份队列为存储备份数据的处理单元。4.根据权利要求1所述的一种基于Fat-B树的分布式文件系统低开销数据传输方法,其特征在于:所述异步邻接预写日志机制为:将主机节点同步等待邻接主机节点日志写入确认的方式改为异步等待确认的方式,在最后的决策阶段再来统一核实邻接主机节点日志写入的确认工作。5.根据权利要求1所述的一种基于Fat-B树的分布式文件系统低开销数据传输方法,其特征在于:所述主机故障恢复指初始主机在做出决策之前或已做出决策但尚未收到所有ACK之前发生故障时所采取的恢复策略;所述ACK为确认字符。6.根据权利要求1所述的一种基于Fat-B树的分布式文件系统低开销数据传输方法,其特征在于:所述队列故障恢复是指初始队列在最后一组操作完成之前或在主机完成决策之前或在等待状态发生故障时所采取的恢复策略。7.根据权利要求1所述的一种基于Fat-B树的分布式文件系统低开销数据传输方法,其特征在于:所述低开销提交协议具体包括以下步骤: 步骤S1:初始主机采用异步邻接预写日志机制将日志写入备份主机以标记事务的开始; 步骤S2:初始主机发送操作命令到初始队列并等待ACK确认消息的回复; 步骤S3:初始队列接收到初始主机操作命令后执行该操作,并采用异步邻接预写日志机制发送一段该操作日志记录给备份队列,同时发送ACK给初始主机; 步骤S4:循环进行步骤3,直到初始主机不再发送操作命令为止; 步骤S5:当初始主机完成所有的事务操作,并已接收到初始队列回复的所有ACK确认消息后,对事务进行最终决策阶段; 步骤S6:初始主机采用异步邻接预写日志机制将决策日志写入到备份主机; 步骤S7:初始主机向所有队列广播该决策并等待ACK确认消息; 步骤S8:初始队列接收到决策广播消息后,进入等待状态,并采用异步邻接预写日志机制向备份队列发送决策日志消息; 步骤S9:备份队列接收到决策日志消息后,执行事务提交操作,并给初始队列回复ACK确认消息; 步骤SlO:初始队列收到备份队列回复的ACK确认消息后,给初始主机发送ACK决策确认消息; 步骤Sll:初始主机收到初始队列回复的ACK决策确认消息后,采用异步邻接预写日志机制向备份主机发送结束日志消息。
【文档编号】G06F17/30GK105868398SQ201610245341
【公开日】2016年8月17日
【申请日】2016年4月20日
【发明人】付婷, 蔡宇翔, 蔡力军, 苏运东, 李霆, 肖琦敏
【申请人】国网福建省电力有限公司, 国家电网公司, 国网福建省电力有限公司信息通信分公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1