一种保证计算机集群节点时间一致性的方法及系统的制作方法

文档序号:10538471阅读:486来源:国知局
一种保证计算机集群节点时间一致性的方法及系统的制作方法
【专利摘要】本发明公开一种保证计算机集群节点时间一致性的方法及系统,属于计算机系统管理领域;利用集群系统中每个节点上都设有时间收发模块和时间处理模块,任意节点的时间处理模块向所有节点的时间收发模块请求系统时间数据,所有节点的时间收发模块读取当前各自节点的系统时间数据并发送给发起请求的时间处理模块,发起请求的时间处理模块获取时间信息后,把处理后的数据广播给所有节点的时间收发模块,所有节点的时间收发模块获取时间处理模块广播的时间数据,修改当前各自节点的时间;本发明通过集群内部的时间数据读取和调节,在不连接外部网络的情况下保证集群系统的时间一致,并和外部网络时间同步。
【专利说明】
一种保证计算机集群节点时间一致性的方法及系统
技术领域
[0001]本发明公开一种保证计算机集群节点时间一致性的方法及系统,属于计算机系统管理领域。
【背景技术】
[0002]随着国内高性能计算的发展,目前在许多大学、研究所、超算中心、企业都部署了小型、中型、甚至是大型的超级计算机。这些超级计算机少则拥有数十个计算节点,多则拥有上万个计算节点。在集群使用过程中,节点上的时间作为一个重要的信息,在程序运行中被广泛的应用。一些特定的应用,比如hadoop,对集群的时间同步性有很高的要求。保证集群中的节点时间一致性是十分重要和必要的。而每个计算节点的时间由其主板芯片管理和记录。当其主板上的CMOS电池出现问题或故障时,其主板时间会出现紊乱,容易造成集群系统运行故障。并且当前计算机主板上的CMOS电池控制的系统时间经过长时间的运行,大部分的节点上的系统时间可能会稍快或者稍慢于当前的外部真实时间,节点的系统时间由于系统故障会远快于或者远慢于当前外部真实时间。但是当前的时间同步方式一般使用单一的校准源/校准节点,而该校准源/校准节点通过访问远程的网络时间服务器来确定时间,如果该源的时间不准,会导致所有机器时间不准;如果该集群由于安全等原因没有连接外网,则无法通过连接远程时间服务器来校准时间。因此本发明提供需要一种保证计算机集群节点时间一致性的方法和系统,可以自适应调节时间,通过集群内部的时间数据读取和调节,可以在不连接外部网络的情况下保证集群系统的时间一致,并和外部网络时间同步,可广泛的用于计算机集群中,保证集群所有节点在长时间内时间同步。

【发明内容】

[0003]本发明针对现有技术中的问题,提供一种保证计算机集群节点时间一致性的方法及系统,通过集群内部的时间数据读取和调节,可以在不连接外部网络的情况下保证集群系统的时间一致,并和外部网络时间同步,可广泛的用于计算机集群中,保证集群所有节点在长时间内时间同步。
[0004]本发明提出的具体方案是:
一种保证计算机集群节点时间一致性的方法:
集群系统中每个节点上都设有时间收发模块和时间处理模块,
任意节点的时间处理模块向所有节点的时间收发模块请求系统时间数据,
所有节点的时间收发模块读取当前各自节点的系统时间数据并发送给发起请求的时间处理模块,
发起请求的时间处理模块获取时间信息后,把处理后的数据广播给所有节点的时间收发模块,
所有节点的时间收发模块获取时间处理模块广播的时间数据,修改当前各自节点的时间。
[0005]所述时间处理模块将获取到的时间数据,按照距离最小原则分组,
计算每一组的数据到该组中心点的平均质心距离,
计算所有组平均质心距离的加权平均,
选择加权平均与分组数值乘积最小的分组数值,及对应的分组,
选择上述分组情况下数据点最多的分组,并计算该组数据的平均值,该平均值为处理后的时间数据。
[0006]—种保证计算机集群节点时间一致性的系统,包括集群系统中每个节点上的时间收发模块和时间处理模块,
其中任意节点的时间处理模块向所有节点的时间收发模块请求系统时间数据,
所有节点的时间收发模块读取当前各自节点的系统时间数据并发送给发起请求的时间处理模块,
发起请求的时间处理模块获取时间信息后,把处理后的数据广播给所有节点的时间收发模块,
所有节点的时间收发模块获取时间处理模块广播的时间数据,修改当前各自节点的时间。
[0007]一种时间收发模块,应用于保证计算机集群节点时间一致性,
所述的时间收发模块读取当前节点的系统时间;
把当前节点的系统时间发送给其它节点;
接收其他节点发送的时间;
修改当前节点的系统时间。
[0008]一种时间处理模块,应用于保证计算机集群节点时间一致性,
所述的时间处理模块向其他节点请求节点的系统时间数据;
接收其他节点发送的时间数据;
处理其他节点发送的时间数据,并得到处理后的时间;
把时间数据发送给其他节点,包括该节点自己。
[0009]本发明的有益之处是:
本发明利用集群系统中每个节点上都设有时间收发模块和时间处理模块,任意节点的时间处理模块向所有节点的时间收发模块请求系统时间数据,所有节点的时间收发模块读取当前各自节点的系统时间数据并发送给发起请求的时间处理模块,发起请求的时间处理模块获取时间信息后,把处理后的数据广播给所有节点的时间收发模块,所有节点的时间收发模块获取时间处理模块广播的时间数据,修改当前各自节点的时间;来进行自适应调节时间,通过集群内部的时间数据读取和调节,可以在不连接外部网络的情况下保证集群系统的时间一致,并和外部网络时间同步,可广泛的用于计算机集群中,保证集群所有节点在长时间内时间同步。
【附图说明】
[0010]图1本发明方法流程示意图。
【具体实施方式】
[0011 ] 一种保证计算机集群节点时间一致性的方法:
集群系统中每个节点上都设有时间收发模块和时间处理模块,
任意节点的时间处理模块向所有节点的时间收发模块请求系统时间数据,
所有节点的时间收发模块读取当前各自节点的系统时间数据并发送给发起请求的时间处理模块,
发起请求的时间处理模块获取时间信息后,把处理后的数据广播给所有节点的时间收发模块,
所有节点的时间收发模块获取时间处理模块广播的时间数据,修改当前各自节点的时间。
[0012]根据上述方法,结合附图对本发明做进一步说明。
[0013]其中本发明中还提供一种保证计算机集群节点时间一致性的系统及应用于此系统的时间收发模块和时间处理模块,
时间收发模块:应用于保证计算机集群节点时间一致性,
所述的时间收发模块读取当前节点的系统时间;
把当前节点的系统时间发送给其它节点;
接收其他节点发送的时间;
修改当前节点的系统时间。
[0014]时间处理模块:应用于保证计算机集群节点时间一致性,
所述的时间处理模块向其他节点请求节点的系统时间数据;
接收其他节点发送的时间数据;
处理其他节点发送的时间数据,并得到处理后的时间;
把时间数据发送给其他节点,包括该节点自己。
[0015]本发明方法中集群系统中的每一个节点nodel、node2、node3‘"nodeN,启动时间收发模块和时间处理模块,任意节点nodeX的时间处理模块向所有节点的时间收发模块请求系统时间数据,
所有节点的时间收发模块读取当前各自节点的系统时间数据并发送给nodeX的时间处理模块,
nodeX的时间处理模块获取时间信息后,把处理后的数据广播给所有节点的时间收发模块,
其中nodeX的时间处理模块对于获取到的η个时间数据,按照距离最小原则分为k组(k^n);
计算每一组的数据到该组中心点的平均质心距离di;
计算所有组平均质心距离的加权平均<di>;
选择<di>.k数值最小的k值,及对应的分组;
选择上述分组情况下数据点最多的分组,并计算该组数据的平均值;
上述平均值即为处理后的时间数据;
所有节点的时间收发模块获取nodeX的时间处理模块广播的时间数据,修改当前各自节点的时间。
[0016]本发明通过上述方法及系统来进行自适应调节时间,通过集群内部的时间数据读取和调节,可以在不连接外部网络的情况下保证集群系统的时间一致,并和外部网络时间同步,可广泛的用于计算机集群中,保证集群所有节点在长时间内时间同步。
【主权项】
1.一种保证计算机集群节点时间一致性的方法,其特征是 集群系统中每个节点上都设有时间收发模块和时间处理模块, 任意节点的时间处理模块向所有节点的时间收发模块请求系统时间数据, 所有节点的时间收发模块读取当前各自节点的系统时间数据并发送给发起请求的时间处理模块, 发起请求的时间处理模块获取时间信息后,把处理后的数据广播给所有节点的时间收发模块, 所有节点的时间收发模块获取时间处理模块广播的时间数据,修改当前各自节点的时间。2.根据权利要求1所述的方法,其特征是 时间处理模块将获取到的时间数据,按照距离最小原则分组, 计算每一组的数据到该组中心点的平均质心距离, 计算所有组平均质心距离的加权平均, 选择加权平均与分组数值乘积最小的分组数值,及对应的分组, 选择上述分组情况下数据点最多的分组,并计算该组数据的平均值,该平均值为处理后的时间数据。3.—种保证计算机集群节点时间一致性的系统,其特征是包括集群系统中每个节点上的时间收发模块和时间处理模块, 其中任意节点的时间处理模块向所有节点的时间收发模块请求系统时间数据, 所有节点的时间收发模块读取当前各自节点的系统时间数据并发送给发起请求的时间处理模块, 发起请求的时间处理模块获取时间信息后,把处理后的数据广播给所有节点的时间收发模块, 所有节点的时间收发模块获取时间处理模块广播的时间数据,修改当前各自节点的时间。4.一种时间收发模块,其特征是应用于保证计算机集群节点时间一致性, 所述的时间收发模块读取当前节点的系统时间; 把当前节点的系统时间发送给其它节点; 接收其他节点发送的时间; 修改当前节点的系统时间。5.一种时间处理模块,其特征是应用于保证计算机集群节点时间一致性, 所述的时间处理模块向其他节点请求节点的系统时间数据; 接收其他节点发送的时间数据; 处理其他节点发送的时间数据,并得到处理后的时间; 把时间数据发送给其他节点,包括该节点自己。
【文档编号】H04J3/06GK105897366SQ201610198155
【公开日】2016年8月24日
【申请日】2016年4月1日
【发明人】朱红, 刘羽, 吕文静, 金莲, 倪琼琳
【申请人】浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1