CN103914452A - 一种分布式文件系统中时间差错校正方法及系统 - Google Patents
一种分布式文件系统中时间差错校正方法及系统 Download PDFInfo
- Publication number
- CN103914452A CN103914452A CN201210592334.3A CN201210592334A CN103914452A CN 103914452 A CN103914452 A CN 103914452A CN 201210592334 A CN201210592334 A CN 201210592334A CN 103914452 A CN103914452 A CN 103914452A
- Authority
- CN
- China
- Prior art keywords
- time
- node
- timing node
- timing
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种分布式文件系统中时间差错校正方法,该方法包括:步骤A,从分布式文件系统的节点中任意指定一个节点作为时间节点,以时间节点的时间为标准时间校正其他节点时间,步骤B,在两个节点之间交互牵涉到时间属性的数据的相关操作中,两个节点互相交换各自系统时间,如果两个节点时间差值超出阈值则通过与时间节点的时间进行比较来校正自身时间。本发明解决了在极端条件下出现的分布式文件系统中某个节点出现时间偏差较大的问题。
Description
技术领域:
本发明涉及一种在分布式文件系统中及时发现并校正节点的时间差错的方法及系统。
背景技术:
本发明所述分布式文件系统由多个元节点和数据节点组成,每一个节点都是一台独立的计算机系统,元节点用于控制数据的流向,数据节点提供数据的保存,备份和读取功能。数据首先上传到分布式文件系统中的一个数据节点,然后会进行冗余同步到其他数据节点,一般采用异步的数据同步方式,元节点根据数据创建的时间戳和同步的时间戳判断数据是否更新可用。
分布式文件系统在运行前会设定所有节点机器的时间基本一致,例如一分钟以内的时间差别可以认为时间基本一致。系统刚开始运行是正常的,但是经过长期运行和维护以及增加删除节点,或者出现边界条件,分布式文件系统元节点和数据节点上的系统时间和原有标准时间可能偏离较大,导致依赖数据的时间属性进行的操作产生错误。
发明内容:
本发明的目的是解决在极端条件下出现的分布式文件系统中某个节点出现时间偏差较大的问题,提供一种在分布式文件系统不间断运行的情况下保持各元节点和数据节点之间时间一致的方法。
为实现上述目的,本发明提供方案如下:一种分布式文件系统中时间差错校正方法,该方法包括:从分布式文件系统的节点中任意指定一个节点作为时间节点,以时间节点的时间为标准时间校正其他节点时间;在两个节点之间交互牵涉到时间属性的数据的相关操作中,两个节点互相交换各自系统时间,如果两个节点时间差值超出阈值则通过与时间节点的时间进行比较来校正自身时间。
本发明还提出了一种分布式文件系统中时间差错校正系统,该系统包括:
装置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交换各自系统时间
步骤402,节点D1和D2计算与对方节点间时间差值,若差值大于事先设定阈值Z,则认为D1和D2中有节点时间异常,需要进行时间校正步骤,否则退出。
时间校正步骤包括以下步骤:
步骤501,D1向时间节点Y1提交时间判断请求,判断时间节点(D1,D2),
步骤502,Y1分别与D1和D2交换各自系统时间,计算时间差值,会有四种结果:
a)D1与Y1时间差值小于设定阈值,D2与Y1时间差值大于设定阈值
b)D1与Y1时间差值大于设定阈值,D2与Y1时间差值小于设定阈值
c)D1与Y1时间差值大于设定阈值,D2与Y1时间差值大于设定阈值
d)D1与Y1时间差值小于设定阈值,D2与Y1时间差值小于设定阈值
出现结果a说明D1时间正常,D2时间出现偏差,
出现结果b说明D2时间正常,D1时间出现偏差,
出现结果a和b则进行步骤503,
出现结果c和d说明有两种可能:
1)时间节点Y1的系统时间出现偏差
2)节点D1和D2的系统时间都出现偏差
则需要首先判断时间节点Y1是否需要校正,该过程包括以下步骤:
步骤601,从节点列表L1(Y1,Y2,D1,D2,D3)上选取下一个非(D1,D2,Y1)节点Y2,时间节点Y1与Y2交换系统时间,并计算差值
步骤602,重复上一步骤601,依次选取的下一个比较节点为D3,该步骤重复次数为要比较的节点个数n,n取值为大于1小于节点列表剩余节点数量的一个值。
步骤603,如果Y1与n个节点比较的时间差值都小于阈值,说明节点Y1时间正常,排除Y1时间偏差,跳到步骤503,否则,继续下一步骤
步骤604,选择Y2作为时间节点,将节点Y1进行时间校正后放入到节点列表中得到节点列表L1(Y2,D1,D2,D3,Y1),Y2作为时间节点通知其他节点更新节点列表和时间节点。
步骤503,根据确认的时间节点判断是否校正节点D1和D2的时间差值,是则执行校正。
步骤404,节点D1和D2的时间验证及校正结束,可以进行下一步数据交互
本发明提及的方法以及装置可以用软件、硬件、固件或者其任意组合来实现,并不限于某一种固定实现方式。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种分布式文件系统中时间差错校正方法,其特征在于,该方法包括:
从分布式文件系统的节点中任意指定一个节点作为时间节点,以时间节点的时间为标准时间校正其他节点时间,
在两个节点之间交互牵涉到时间属性的数据的相关操作中,两个节点互相交换各自系统时间,如果两个节点时间差值超出阈值则通过与时间节点的时间进行比较来校正自身时间。
2.如权利要求1所述的一种分布式文件系统中时间差错校正方法,其特征在于,所述以时间节点的时间为标准时间校正其他节点时间,有如下步骤,
其他节点与时间节点建立连接,其他节点与时间节点交换各自系统时间,计算出时间偏差;
其他节点以时间节点的时间为标准时间校正各自的系统时间;
时间节点得到所有节点的地址做成一个节点列表;
时间节点把节点列表发送给所有节点。
3.如权利要求1所述的一种分布式文件系统中时间差错校正方法,其特征在于,所述在两个节点之间交互牵涉到时间属性的数据的相关操作中,两个节点互相交换各自系统时间,如果两个节点时间差值超出阈值则通过与时间节点的时间进行比较来校正自身时间,包括如下步骤,
节点D1和D2建立连接交换各自系统时间,如果发现双方时间偏差大于阈值,则执行双方同时向时间节点进行时间校验,与时间节点进行比较步骤,否则退出;
双方同时向时间节点进行时间校验,与时间节点进行比较,如果有一个节点与时间节点时间偏差超过阈值,执行步骤B4;如果两个节点与时间节点时间偏差都超过阈值或者都小于阈值,则对时间节点进行时间校验和校正,然后执行步骤B3;
以校验和校正后的时间节点对节点D1和D2重新进行时间校验,根据时间对比判断D1是否时间异常,D2是否时间异常,如果存在异常执行步骤B4,否则退出;
以时间节点的时间为标准设定,时间偏差超过阈值的节点的系统时间。
4.如权利要求3所述的一种分布式文件系统中时间差错校正方法,其特征在于,所述对时间节点进行时间校验和校正包括:
时间节点依次从节点列表上取出剩余节点并交换各自系统时间,如果连续n个节点与时间节点的时间偏差大于阈值,n取值为大于1并且小于节点列表剩余节点数量的一个值,则认为时间节点的本地系统时间出现偏离了,从列表中选取下一个节点代替为新的时间节点,将原时间节点校正后作为普通节点加入到列表末端并更新所有节点上的节点列表;否则认为时间节点时间正常,无需校正。
5.一种分布式文件系统中时间差错校正系统,其特征在于,该系统包括:
装置A,用于从分布式文件系统的节点中任意指定一个节点作为时间节点,以时间节点的时间为标准时间校正其他节点时间,
装置B,用于在两个节点之间交互牵涉到时间属性的数据的相关操作中,两个节点互相交换各自系统时间,如果两个节点时间差值超出阈值则通过与时间节点的时间进行比较来校正自身时间。
6.如权利要求5所述的时间差错校正系统,其特征在于包括,装置A中所述以时间节点的时间为标准时间校正其他节点时间,有如下模块,
模块A1.用于,其他节点与时间节点建立连接,其他节点与时间节点交换各自系统时间,计算出时间偏差
模块A2.用于,其他节点以时间节点的时间为标准时间校正各自的系统时间
模块A3.用于,时间节点得到所有节点的地址做成一个节点列表
模块A4.用于,时间节点把节点列表发送给所有节点。
7.如权利要求5所述的时间差错校正系统,其特征在于,装置B中,包括如下模块,
模块B1.用于,节点D1和D2建立连接交换各自系统时间,如果发现双方时间偏差大于阈值,转由模块B2处理,否则退出
模块B2.用于,双方同时向时间节点进行时间校验,与时间节点进行比较,如果有一个节点与时间节点时间偏差超过阈值,转由模块B4处理;如果两个节点与时间节点时间偏差都超过阈值或者都小于阈值,则对时间节点进行时间校验和校正,然后转由模块B3处理
模块B3.用于,以校验和校正后的时间节点对节点D1和D2重新进行时间校验,根据时间对比判断D1是否时间异常,D2是否时间异常,如果存在异常转由模块B4处理,否则退出
模块B4.用于,以时间节点的时间为标准,设定时间偏差超过阈值的节点的系统时间。
8.如权利要求7所述的时间差错校正系统,其特征在于,模块B2中,所述对时间节点进行时间校验和校正包括:
时间节点依次从节点列表上取出剩余节点并交换各自系统时间,如果连续n个节点与时间节点的时间偏差大于阈值,n取值为大于1并且小于节点列表剩余节点数量的一个值,则认为时间节点的本地系统时间出现偏离了,从列表中选取下一个节点代替为新的时间节点,将原时间节点校正后作为普通节点加入到列表末端并更新所有节点上的节点列表;否则认为时间节点时间正常,无需校正。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210592334.3A CN103914452B (zh) | 2012-12-30 | 2012-12-30 | 一种分布式文件系统中时间差错校正方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210592334.3A CN103914452B (zh) | 2012-12-30 | 2012-12-30 | 一种分布式文件系统中时间差错校正方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103914452A true CN103914452A (zh) | 2014-07-09 |
CN103914452B CN103914452B (zh) | 2017-03-29 |
Family
ID=51040146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210592334.3A Active CN103914452B (zh) | 2012-12-30 | 2012-12-30 | 一种分布式文件系统中时间差错校正方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103914452B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061810A (zh) * | 2019-10-23 | 2020-04-24 | 广州巨杉软件开发有限公司 | 基于分布式逻辑时间戳的分布式事务管理方法及系统 |
CN112597635A (zh) * | 2020-12-09 | 2021-04-02 | 北京智联友道科技有限公司 | 基于cbtc仿真系统的虚拟时钟系统的生成方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132270A (zh) * | 2007-08-02 | 2008-02-27 | 北京航空航天大学 | 多节点协调的时间一致性管理方法 |
US20080294700A1 (en) * | 2007-05-23 | 2008-11-27 | Nec Corporation | File management system, file management method, file management program |
CN101753609A (zh) * | 2008-12-15 | 2010-06-23 | 中国移动通信集团公司 | 分布式系统版本控制方法、节点及系统 |
CN102291449A (zh) * | 2011-08-08 | 2011-12-21 | 浪潮电子信息产业股份有限公司 | 一种基于同步策略的测试和调整集群存储系统性能的方法 |
-
2012
- 2012-12-30 CN CN201210592334.3A patent/CN103914452B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080294700A1 (en) * | 2007-05-23 | 2008-11-27 | Nec Corporation | File management system, file management method, file management program |
CN101132270A (zh) * | 2007-08-02 | 2008-02-27 | 北京航空航天大学 | 多节点协调的时间一致性管理方法 |
CN101753609A (zh) * | 2008-12-15 | 2010-06-23 | 中国移动通信集团公司 | 分布式系统版本控制方法、节点及系统 |
CN102291449A (zh) * | 2011-08-08 | 2011-12-21 | 浪潮电子信息产业股份有限公司 | 一种基于同步策略的测试和调整集群存储系统性能的方法 |
Non-Patent Citations (2)
Title |
---|
王刚等: "分布式网络时钟同步研究", 《仪器仪表学报》 * |
郑锦等: "实时分布式系统的时间同步化策略", 《辽宁工程技术大学学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061810A (zh) * | 2019-10-23 | 2020-04-24 | 广州巨杉软件开发有限公司 | 基于分布式逻辑时间戳的分布式事务管理方法及系统 |
CN111061810B (zh) * | 2019-10-23 | 2020-08-21 | 广州巨杉软件开发有限公司 | 基于分布式逻辑时间戳的分布式事务管理方法及系统 |
WO2021077934A1 (zh) * | 2019-10-23 | 2021-04-29 | 广州巨杉软件开发有限公司 | 基于分布式逻辑时间戳的分布式事务管理方法及系统 |
CN112597635A (zh) * | 2020-12-09 | 2021-04-02 | 北京智联友道科技有限公司 | 基于cbtc仿真系统的虚拟时钟系统的生成方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103914452B (zh) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102291232B (zh) | 一种时钟同步方法及装置 | |
EP2182670B1 (en) | A method and apparatus for tracking clock source | |
CN108184158B (zh) | 一种同步播放视频的方法及系统 | |
US20140185632A1 (en) | Network and Method for Implementing a High-Availability Grand Master Clock | |
CN110658718A (zh) | 一种多主控冗余切换控制方法及系统 | |
KR20150085019A (ko) | 시간 동기화 방법 및 장치 | |
CN105635216A (zh) | 分布式应用的升级方法、设备和分布式系统 | |
CN107231400B (zh) | 一种数据的同步方法和装置 | |
CN103188110A (zh) | 基于zookeeper的云平台上服务的热备份方法 | |
CN105553768B (zh) | 一种基于自适应超时时间的sdn控制器故障检测方法 | |
WO2016177231A1 (zh) | 基于双主控的主备倒换方法及装置 | |
CN108494828B (zh) | 一种节点数据的更新方法、介质、装置和计算设备 | |
CN104571041A (zh) | 基于1:1控制器冗余的数据同步方法 | |
CN112492046B (zh) | 一种列车分布式tcms主备冗余管理方法及系统 | |
CN108282243A (zh) | 一种适用于主从式时间同步方法的时钟源可靠性保障机制 | |
CN105610566A (zh) | 主备节点间数据实时同步的方法及系统 | |
CN106888110B (zh) | 一种配置数据同步方法及装置 | |
CN103914452A (zh) | 一种分布式文件系统中时间差错校正方法及系统 | |
CN102710356B (zh) | 一种实时冗余主站数据同步方法 | |
CN110716828B (zh) | 一种数据库实时备份方法 | |
JP2017034307A (ja) | 情報収集管理装置、方法、及び情報収集システム | |
CN107919979A (zh) | 控制器状态处理方法及装置 | |
CN102523066B (zh) | 基于ieee1588冗余从钟的时钟同步系统及同步方法 | |
CN108400999B (zh) | 一种数据库集群镜像节点的负载均衡方法及装置 | |
JP5716460B2 (ja) | クラスタシステムおよびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |