[发明专利]面向广域网的分布式文件系统副本因果一致的访问方法有效
申请号: | 202011001103.1 | 申请日: | 2020-09-22 |
公开(公告)号: | CN112286888B | 公开(公告)日: | 2022-06-14 |
发明(设计)人: | 肖利民;周汉杰;秦广军;霍志胜;宋尧;徐耀文;王超波 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F16/178 | 分类号: | G06F16/178;G06F16/182;G06F16/13 |
代理公司: | 北京海虹嘉诚知识产权代理有限公司 11129 | 代理人: | 吴小灿;朱亚娜 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 广域网 分布式 文件系统 副本 因果 一致 访问 方法 | ||
本公开提出了一种面向广域网的分布式文件系统副本因果一致的访问方法。在本公开实施例中,可以为客户端提供广域分布的副本空间中副本文件的因果一致的访问服务。通过挖掘副本文件写入操作的依赖关系构建偏序关系,利用最大时间偏差、时间戳及用户定义优先级构建全序关系,通过一种支持多版本控制的区间树存储数据索引,通过多版本索引区间树的版本回滚解决并发冲突,并最终提供副本文件因果一致的访问服务。
技术领域
本发明公开了一种面向广域网的分布式文件系统副本因果一致的访问方法,涉及广域高性能计算面临的挑战,属于计算机技术领域。
背景技术
文件副本跨域存放能够极大降低数据集的访问延迟,提高吞吐性能。在HPC应用(HPC,High performance computing,高性能计算)以及大数据处理应用中,大部分分布式计算任务采用内存计算的方法,只有在执行检查点或者持久化计算输出结果时会涉及到文件写入操作。并且计算任务也会通过合理设置的文件路径以及文件名以避免相互之间的冲突。Harding的研究说明,如果采取并发访问控制的手段,根据集群节点数量与冲突请求比例的差异,性能最大会有99%以上的损耗。
然而由于广域多中心之间的网络带宽较小,导致数据集在多中心不一致的时间窗口太长,并且在同步过程中发生的IO操作乱序、非原子性执行等故障也会导致数据集及其副本不可逆的损坏,后果较为严重。因此多应用在多中心并发访问时依旧有一定限度的一致性要求。
基于主从架构的并发访问控制方法限制对于单一文件或者存储单元的写访问均只能由主副本节点提交。当前工业界大部分存储系统都采用了中心集中式的并发访问控制方法,为了保证负载均衡也会采用一致性哈希算法或者数据布局策略进行数据分区,保证节点之间的读写访问均衡。
主流分布式存储系统Ceph、Glusterfs、HDFS都是主从副本机制的基于中心集中式的并发访问控制方法。因为在单中心内节点之间的网络通信性能并没有显著的差距,而在限制存储单元的写入请求的提交点为单一节点以后之后相当于构建了一个FIFO队列,从而保证了所有写入操作以及更新操作的顺序性,从而保证了数据在时间轴上线性化更新。
然而在多中心分布的副本架构上,节点之间的网络通信开销差距极大,限制从副本只读的并发访问控制方法首先极大限制了文件写入的吞吐,极大浪费了珍贵的互联网带宽与计算应用的机时,并且难以挖掘文件读写的局部性。
基于分布式锁实现的二阶段锁是当前分布式数据库系统中使用较为广泛的数据并发访问控制方法。分布式锁有多种实现算法,例如Spanner中基于共识协议fast-paxos实现锁服务,Hadoop中基于Zookeeper中Zab协议的类Unix文件系统树上节点的存在状态实现锁服务,Sherlock中基于单机kv数据库实现锁服务。无论使用何种手段,申请锁都需要至少一次远程访问的延迟时间。
Tango、Granola、Rococo、Ren的研究均采用二阶段锁在实现数据的并发访问控制。二阶段锁将锁的申请分为两个阶段,增长阶段与收缩阶段。在增长阶段只允许申请锁,在收缩阶段只允许释放锁。通过细粒度的二阶段锁能够保证两个冲突的事务操作能够线性化执行,不冲突的事务操作能够并行执行。通过在二阶段锁的基础上使用冲突等待或者冲突终止的方式可以避免死锁的发生。
然而基于分布式锁的二阶段锁协议单次锁的开销都会引入较大的时延,因此拥有性能较差的特点。DrTM系统为了解决本地操作与远程操作之间的冲突,也采用了基于二阶段锁的并发访问控制方法。与其他分布式存储系统不同的是,DrTM的基于RDMA原子操作CAS实现了一套点对点的远程锁协议。RDMA网络能够实现极低的锁申请时延,从而极大提高了基于二阶段锁系统的性能。
乐观并发控制(OCC)与基于二阶段锁的并发访问控制方法不同的地方在于,乐观并发控制不在操作执行前或者操作过程中阻塞其他并发过程,而是在操作执行完成提交结果的时候进入验证阶段,验证操作执行的过程中是否有其他产生冲突的操作发生,如果冲突发生了那么销毁操作产生的临时变更数据,如果冲突未发生则将临时数据变更应用到持久存储中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011001103.1/2.html,转载请声明来源钻瓜专利网。