[发明专利]一种基于共享存储池的分布式事务处理方法在审
申请号: | 201310311824.6 | 申请日: | 2013-07-23 |
公开(公告)号: | CN103399894A | 公开(公告)日: | 2013-11-20 |
发明(设计)人: | 马灿;王伟平;孟丹;周江;王有为 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 共享 存储 分布式 事务处理 方法 | ||
技术领域
本发明涉及分布式文件系统分类技术领域,特别是涉及一种基于共享存储池的分布式事务处理方法。
背景技术
分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。
近年来,随着越来越多Web2.0互联网业务的出现,数据逐渐以用户为中心形成并存储,因此,数据的规模和文件数量急剧增长。现有的分布式文件系统或者面向高I/O带宽的传统应用场景或者受限于技术实现的复杂度,因此多采用单一元数据服务器的结构,如Lustre、GoogleF、HDFS等。单一元数据服务器的结构由于存在着网络、计算和内存资源的瓶颈,因而不能很好的适应存储系统规模的增长,同时,单一元数据服务器还会成为系统的单一故障点(SPOF)。
为了克服这些扩展性问题,近来一些研究采用了多个元数据服务器来提供更强的元数据服务,如Ceph、PVFS、HDFS2等,但这些系统或者使用复杂、较慢速的两阶段提交(Two Phase Commit)来实现分布式元数据操作(如Ceph),或者从元数据划分上不允许出现分布式事务(如PVFS和HDFS2)。慢速的两阶段提交方法会影响分布式文件系统的元数据访问性能,而从元数据划分上不允许出现分布式事务的方法则会降低元数据服务的灵活性、适应性和扩展性,使元数据服务的效率收到限制。另外也有研究采用了改进的三阶段提交方法,其虽然消除上述的等待问题,但是其协议通信次数更多,降低了系统在正常执行情况下的性能。
因此,为了更好的解决分布式文件系统中元数据服务的扩展性,本发明提出了基于共享存储池的快速分布式事务处理方法,支持实现分布式文件系统中的多元数据服务器技术,确保元数据的一致性,降低传统的两阶段提交协议的通信交互次数,并提高其在故障情况下的响应和恢复性能。
发明内容
本发明所要解决的技术问题是提供一种基于共享存储池的分布式事务处理方法,用于解决分布式文件系统中元数据服务的扩展性问题。
本发明解决上述技术问题的技术方案如下:一种基于共享存储池的分布式事务处理方法,包括:
步骤1,以目录为单位组织分布式文件系统的元数据存储,并基于哈希方式将目录全路径映射到多个元数据服务器;
步骤2,客户端分解存储的元数据,并根据分解结果选出需要参与分布式事务的元数据服务器集合,从中指定一个元数据服务器作为协调器,其余的元数据服务器均作为参与器;
步骤3,选出的元数据服务器分别评估其需要在本地完成的分布式事务操作,并确定是否能够完成该操作,若不能则向协调器汇报“终止”,否则写入本地日志,向协调器汇报“提交”,并锁定该元数据服务器所有需要使用的资源;
步骤4,协调器接收所有来自参与器的汇报,并根据汇报结果向共享存储池的全局日志中写入“提交”或者“终止”,完成后检查共享存储池的返回状态,并通知所有参与器最终结果;
步骤5,参与器等待协调器通知最终结果,并根据协调器的通知执行需要在本地完成的分布式事务操作或者取消步骤3中锁定的资源;
步骤6,当协调器或参与器出现故障时,参与器或协调器从共享存储池中检查分布式事务的状态,且第一个检查分布式事务状态的参与器或协调器在共享存储池中将该分布式事务的状态设置为“终止”。
本发明的有益效果是:本发明通过合理、高效、动态的划分元数据,并基于共享存储池来加速分布式事务的速度,将事务提交由两个阶段降低为执行正常时事务协调者的唯一确认或者执行异常时任意参与者的唯一确认,从降低了通信的次数,提高分布式事务的性能,且实现了分布式事务和本地操作的确定性串行化,在多个分布式事务并行执行的同时,保证串行化执行顺序不变,保证了非分布式事务操作的文件系统语义不被损害。通过在实际系统中的测试发现,该方法比传统的两阶段提交方法速度更快,并能够更好的容忍节点故障并从故障中恢复。
在上述技术方案的基础上,本发明还做了如下的进一步补充和改进。
进一步,所述步骤1中通过全局目录哈希表GDT(Global Directory Table,全局目录表)管理目录到多个元数据服务器的映射关系。
采用上述进一步方案的有益效果是:GDT表实现了对目录进行负载均衡的散列算法,可根据不同元数据服务器之间的实际目录装载量实现目录的均衡分配,通过GDT表可以有效缩减分布式事务的范围,提高系统性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310311824.6/2.html,转载请声明来源钻瓜专利网。