[发明专利]一种分布式文件系统中时间差错校正方法及系统有效
申请号: | 201210592334.3 | 申请日: | 2012-12-30 |
公开(公告)号: | CN103914452B | 公开(公告)日: | 2017-03-29 |
发明(设计)人: | 钟源;王清奎;林凉 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京工信联合知识产权代理事务所(普通合伙)11266 | 代理人: | 姜丽辉 |
地址: | 100195 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 文件系统 时间 差错 校正 方法 系统 | ||
技术领域:
本发明涉及一种在分布式文件系统中及时发现并校正节点的时间差错的方法及系统。
背景技术:
本发明所述分布式文件系统由多个元节点和数据节点组成,每一个节点都是一台独立的计算机系统,元节点用于控制数据的流向,数据节点提供数据的保存,备份和读取功能。数据首先上传到分布式文件系统中的一个数据节点,然后会进行冗余同步到其他数据节点,一般采用异步的数据同步方式,元节点根据数据创建的时间戳和同步的时间戳判断数据是否更新可用。
分布式文件系统在运行前会设定所有节点机器的时间基本一致,例如一分钟以内的时间差别可以认为时间基本一致。系统刚开始运行是正常的,但是经过长期运行和维护以及增加删除节点,或者出现边界条件,分布式文件系统元节点和数据节点上的系统时间和原有标准时间可能偏离较大,导致依赖数据的时间属性进行的操作产生错误。
发明内容:
本发明的目的是解决在极端条件下出现的分布式文件系统中某个节点出现时间偏差较大的问题,提供一种在分布式文件系统不间断运行的情况下保持各元节点和数据节点之间时间一致的方法。
为实现上述目的,本发明提供方案如下:一种分布式文件系统中时间差错校正方法,该方法包括:从分布式文件系统的节点中任意指定一个节点作为时间节点,以时间节点的时间为标准时间校正其他节点时间;在两个节点之间交互牵涉到时间属性的数据的相关操作中,两个节点互相交换各自系统时间,如果两个节点时间差值超出阈值则通过与时间节点的时间进行比较来校正自身时间。
本发明还提出了一种分布式文件系统中时间差错校正系统,该系统包括:
装置A,用于从分布式文件系统的节点中任意指定一个节点作为时间节点,以时间节点的时间为标准时间校正其他节点时间,
装置B,用于在两个节点之间交互牵涉到时间属性的数据的相关操作中,两个节点互相交换各自系统时间,如果两个节点时间差值超出阈值则通过与时间节点的时间进行比较来校正自身时间。
本发明的有益效果在于,以极大的概率保证了分布式系统中存在一个可提供正确时间参考的时间节点,保证了在极端条件下某节点出现时间偏离较大的情况也能及时调整该节点时间为正确的时间。
附图说明
以下结合附图详细说明本发明的实施例,其中:
图1为本发明实施例提供的分布式文件系统中节点图
图2为本发明实施例提供的节点间数据操作过程中时间校正流程图
具体实施方式
为更好说明本发明的方案目的及有点,下面参考附图并结合实施例,对本发明做进一步说明,说明分为二个部分:节点的时间初始化和如何检测到节点时间出现偏差以及出现偏差后的校正。
如图示1,该实施例分布式文件系统内网中有元节点Y1,Y2,数据节点D1,D2,D3。
本实施例所述节点的时间初始化包括以下步骤:
步骤301,设置元节点Y1为时间节点,Y1设置节点列表L1(Y1)。
步骤302,Y2节点主动与Y1建立连接,Y1将Y2加入节点列表末尾得到L1(Y1,Y2)
步骤303,Y1与Y2节点交换各自系统时间,计算差值,通过双方差值比较可以得到双方时间差
计算两个节点时间差方法如下:
设时间差为x,传输时间为y。节点Y1发送本地系统时间a给节点Y2,节点Yi收到元节点时间a后,取本地系统时间b,有如下等式:a+x+y=b。
然后节点Y2发送本地系统时间c给元节点Y1,元节点Y1收到节点Y2的时间c后,取本地系统时间d,有如下等式:c-x+y=d。
这样可以根据计算出到双方的时间差x=(b-d-a+c)/2和传输时间y=(b+d-a-c)/2同样设置其他节点与Y1在允许误差范围内的时间一致。
步骤304,根据时间差值设置设置节点Y2与Y1在允许误差范围内的时间一致
步骤305,D1,D2,D3节点重复步骤301-303,节点列表变成L1(Y1,Y2,D1,D2,D3)
步骤306,Y1把节点列表L1发送给其他节点,这样所有节点都得到一份相同列表,初始化完成。
下面说明如何检测到节点时间出现偏差以及出现偏差后的校正,节点间有进行数据交互并牵扯到时间属性的,都会交换系统时间,本实施例所述节点时间出现偏差后的校正包括以下步骤:
步骤401,节点D1和D2交换各自系统时间
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210592334.3/2.html,转载请声明来源钻瓜专利网。