面向广域网的分布式文件系统副本因果一致的访问方法技术方案

技术编号:27197445 阅读:10 留言:0更新日期:2021-01-31 11:56
本公开提出了一种面向广域网的分布式文件系统副本因果一致的访问方法。在本公开实施例中,可以为客户端提供广域分布的副本空间中副本文件的因果一致的访问服务。通过挖掘副本文件写入操作的依赖关系构建偏序关系,利用最大时间偏差、时间戳及用户定义优先级构建全序关系,通过一种支持多版本控制的区间树存储数据索引,通过多版本索引区间树的版本回滚解决并发冲突,并最终提供副本文件因果一致的访问服务。服务。服务。

【技术实现步骤摘要】
面向广域网的分布式文件系统副本因果一致的访问方法


[0001]本专利技术公开了一种面向广域网的分布式文件系统副本因果一致的访问方法,涉及广域高性能计算面临的挑战,属于计算机


技术介绍

[0002]文件副本跨域存放能够极大降低数据集的访问延迟,提高吞吐性能。在HPC应用(HPC,High performance computing,高性能计算)以及大数据处理应用中,大部分分布式计算任务采用内存计算的方法,只有在执行检查点或者持久化计算输出结果时会涉及到文件写入操作。并且计算任务也会通过合理设置的文件路径以及文件名以避免相互之间的冲突。Harding的研究说明,如果采取并发访问控制的手段,根据集群节点数量与冲突请求比例的差异,性能最大会有99%以上的损耗。
[0003]然而由于广域多中心之间的网络带宽较小,导致数据集在多中心不一致的时间窗口太长,并且在同步过程中发生的IO操作乱序、非原子性执行等故障也会导致数据集及其副本不可逆的损坏,后果较为严重。因此多应用在多中心并发访问时依旧有一定限度的一致性要求。
[0004]基于主从架构的并发访问控制方法限制对于单一文件或者存储单元的写访问均只能由主副本节点提交。当前工业界大部分存储系统都采用了中心集中式的并发访问控制方法,为了保证负载均衡也会采用一致性哈希算法或者数据布局策略进行数据分区,保证节点之间的读写访问均衡。
[0005]主流分布式存储系统Ceph、Glusterfs、HDFS都是主从副本机制的基于中心集中式的并发访问控制方法。因为在单中心内节点之间的网络通信性能并没有显著的差距,而在限制存储单元的写入请求的提交点为单一节点以后之后相当于构建了一个FIFO队列,从而保证了所有写入操作以及更新操作的顺序性,从而保证了数据在时间轴上线性化更新。
[0006]然而在多中心分布的副本架构上,节点之间的网络通信开销差距极大,限制从副本只读的并发访问控制方法首先极大限制了文件写入的吞吐,极大浪费了珍贵的互联网带宽与计算应用的机时,并且难以挖掘文件读写的局部性。
[0007]基于分布式锁实现的二阶段锁是当前分布式数据库系统中使用较为广泛的数据并发访问控制方法。分布式锁有多种实现算法,例如Spanner中基于共识协议fast-paxos实现锁服务,Hadoop中基于Zookeeper中Zab协议的类Unix文件系统树上节点的存在状态实现锁服务,Sherlock中基于单机kv数据库实现锁服务。无论使用何种手段,申请锁都需要至少一次远程访问的延迟时间。
[0008]Tango、Granola、Rococo、Ren的研究均采用二阶段锁在实现数据的并发访问控制。二阶段锁将锁的申请分为两个阶段,增长阶段与收缩阶段。在增长阶段只允许申请锁,在收缩阶段只允许释放锁。通过细粒度的二阶段锁能够保证两个冲突的事务操作能够线性化执行,不冲突的事务操作能够并行执行。通过在二阶段锁的基础上使用冲突等待或者冲突终止的方式可以避免死锁的发生。
[0009]然而基于分布式锁的二阶段锁协议单次锁的开销都会引入较大的时延,因此拥有性能较差的特点。DrTM系统为了解决本地操作与远程操作之间的冲突,也采用了基于二阶段锁的并发访问控制方法。与其他分布式存储系统不同的是,DrTM的基于RDMA原子操作CAS实现了一套点对点的远程锁协议。RDMA网络能够实现极低的锁申请时延,从而极大提高了基于二阶段锁系统的性能。
[0010]乐观并发控制(OCC)与基于二阶段锁的并发访问控制方法不同的地方在于,乐观并发控制不在操作执行前或者操作过程中阻塞其他并发过程,而是在操作执行完成提交结果的时候进入验证阶段,验证操作执行的过程中是否有其他产生冲突的操作发生,如果冲突发生了那么销毁操作产生的临时变更数据,如果冲突未发生则将临时数据变更应用到持久存储中。
[0011]Deneva提出了MaaT协议,使用一个用来记录写事务的数据更新的事务私有存储空间,一张记录活跃事务编号的时间表,以及对于每条记录的一个元数据表,用来记录期待读写该记录的事务编号以及该记录上次被读写访问的事务编号。MaaT规定每个事务都有一个唯一的编号作为逻辑时间戳,事务执行阶段结束之后,将进入MaaT协议的验证阶段。MaaT通过比对当前事务访问过的记录的时间信息与时间表中的事务执行时记录的时间信息,以监测冲突情况。在冲突发生时通过冲突解决机制来保证数据一致性。
[0012]Sovran提出对于广域分布的存储系统而言,保证强一致数据访问引入的开销太大,并且在跨中心应用的负载下,读写冲突时常发生。保证存储系统在广域多中心的读写互斥本身也会极大降低访问性能。因此Sorvan提出了一种面向广域存储系统的并行快照隔离机制PSI,并且基于该并行快照隔离机制实现了广域环境下的因果一致性。并行快照隔离的核心思想在于放宽了最新版本快照更新的提交时间,允许新产生的快照能够在多个中心以不同的时间点提交。相对于主流的快照隔离算法而言,并行快照隔离机制允许不同中心的更新操作乱序提交,只要求同一中心的更新能够顺序提交。这种一致性的放松让各个中心之间不在需要互相协调和等待对方的更新操作,在广域网络环境下能够达到较高的吞吐。而PSI的缺陷则是在较长一段时间内数据副本只能维持因果顺序的一致性级别,应用必须能够容忍一定时间的非强一致数据。

技术实现思路

[0013]本公开提出了一种面向广域网的分布式文件系统副本因果一致的访问方法。
[0014]在本公开实施例中,可以为客户端提供广域分布的副本空间中副本文件的因果一致的访问服务。通过挖掘副本文件写入操作的依赖关系构建偏序关系,利用最大时间偏差、时间戳及用户定义优先级构建全序关系,通过一种支持多版本控制的区间树存储数据索引,通过多版本索引区间树的版本回滚解决并发冲突,并最终提供副本文件因果一致的访问服务。
[0015]本专利技术的技术解决方案如下:
[0016]一种面向广域网的分布式文件系统副本因果一致的访问方法,其特征在于,包括:
[0017]仅同步副本文件的索引结构与按需同步数据;
[0018]通过追溯广域分布式环境中副本文件数据操作的依赖顺序来提供因果一致的偏序关系;
[0019]通过最大时间戳偏差分析以及用户可定义的优先级来为数据操作提供稳定的全序关系;
[0020]通过一种支持回滚的多版本索引区间树来存储副本文件的索引结构并且进行多版本并发控制;
[0021]通过副本文件索引结构的多版本并发控制来处理逻辑时间中的并发冲突。
[0022]所述的方法,包括以下步骤:
[0023]步骤1,当客户端向广域网上某个存储中心的副本提交数据写入请求时,存储网关节点会根据当前存储中心对于目标副本文件可见的所有写入请求为该请求赋予依赖关系;
[0024]步骤2,当广域网上的某个存储中心的存储网关节点接收到其他存储中心广播的数据段更新操作时,会根据当前请求的依赖关系、时间戳偏差以及用户定义的副本空间当前节点nice值为所有接收到的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向广域网的分布式文件系统副本因果一致的访问方法,其特征在于,包括:仅同步副本文件的索引结构与按需同步数据;通过追溯广域分布式环境中副本文件数据操作的依赖顺序来提供因果一致的偏序关系;通过最大时间戳偏差分析以及用户可定义的优先级来为数据操作提供稳定的全序关系;通过一种支持回滚的多版本索引区间树来存储副本文件的索引结构并且进行多版本并发控制;通过副本文件索引结构的多版本并发控制来处理逻辑时间中的并发冲突。2.根据权利要求1所述的方法,其特征在于,包括以下步骤:步骤1,当客户端向广域网上某个存储中心的副本提交数据写入请求时,存储网关节点会根据当前存储中心对于目标副本文件可见的所有写入请求为该请求赋予依赖关系;步骤2,当广域网上的某个存储中心的存储网关节点接收到其他存储中心广播的数据段更新操作时,会根据当前请求的依赖关系、时间戳偏差以及用户定义的副本空间当前节点nice值为所有接收到的数据写操作构建全序关系;步骤3,存储网关节点会根据预先构建的数据写操作全序关系为目标副本文件构建多版本索引区间树,并通过树的版本回滚来解决网络包乱序到达导致的并发冲突;步骤4,当客户端向广域网上某个存储中心的副本提交数据读取请求时,存储网关节点会根据当前存储中心中维护的多版本索引区间树提供的满足因果一致性的最大版本进行数据同步,最终返回满足因果一致性的副本文件数据。3.根据权利要求2所述的方法,其特征在于,所述步骤1中当客户端向广域网上某个存储中心的副本提交数据写入请求时,还包括:A1)由管理节点组织与分发的集群节点状态图进行存储中心内部的存储网关节点的相互发现;A2)存储中心的存储网关节点维护一组副本文件的版本向量,版本向量由加入当前副本空间的所有存储中心所维护的某个副本文件在各个中心的最后一个写入请求的客户提交版本组成,并且按照各个存储中心加入副本空间的时间顺序进行排列;A3)当接收到其他存储中心广播的写入请求时,当前存储中心的版本向量中写入请求来源存储中心的对应版本槽将进行推进更新;A4)当接收到由客户端提交的数据写入请求时,在请求提交时刻存储网关节点所维护的副本文件版本向量将作为该数据写入请求的依赖版本,并且版本向量中当前存储中心的版本槽将向前推进;A5)存储网关节点会向其他中心推送所有带有时间戳以及依赖版本向量的数据段更新请求。4.根据权利要求2所述的方法,其特征在于,所述步骤2中当广域网上的某个存储中心的存储网关节点接收到其他存储中心广播的数据段更新操作时,还包括:B1)当广域网上的某个存储中心的存储网关节点接收到其他存储中心广播的数据段更新操作时,会根据当前请求的依赖关系、时间戳偏差以及用户定义的副本空间当前节点nice值为所有接收到的数据写操作构建全序关系;
B2)存储网关节点会根据接收到的数据段更新操作中携带的依赖关系来构建因果一致的偏序关系,其偏序关系由一个比较版本向量的函数产生,对于两个来源于不同存储中心的数据段更新请求,比较函数会将这两个更新请求的版本向量中对方存储中心所对应的版本槽进行比较,如果两个版本槽的对比形成了一致的大小关系,那么这两个请求拥有因果顺序关系,如果两个版本槽的对比形成了不一致的大小关系,那么两个请求拥有并行关系;B3)当两个请求拥有并行关系,由存储网关节点根据集群节...

【专利技术属性】
技术研发人员:肖利民周汉杰秦广军霍志胜宋尧徐耀文王超波
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利