CN112332941B - 一种基于分布式系统的时间误差校正方法 - Google Patents

一种基于分布式系统的时间误差校正方法 Download PDF

Info

Publication number
CN112332941B
CN112332941B CN202110000719.5A CN202110000719A CN112332941B CN 112332941 B CN112332941 B CN 112332941B CN 202110000719 A CN202110000719 A CN 202110000719A CN 112332941 B CN112332941 B CN 112332941B
Authority
CN
China
Prior art keywords
time
node
information
test
correction
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.)
Active
Application number
CN202110000719.5A
Other languages
English (en)
Other versions
CN112332941A (zh
Inventor
缪世明
杨伟
张金德
杨大伦
何全
李利军
于滨峰
张春林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dongfangtong Software Co ltd
Beijing Tongtech Co Ltd
Original Assignee
Beijing Dongfangtong Software Co ltd
Beijing Tongtech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dongfangtong Software Co ltd, Beijing Tongtech Co Ltd filed Critical Beijing Dongfangtong Software Co ltd
Priority to CN202110000719.5A priority Critical patent/CN112332941B/zh
Publication of CN112332941A publication Critical patent/CN112332941A/zh
Application granted granted Critical
Publication of CN112332941B publication Critical patent/CN112332941B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0682Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于分布式系统的时间误差校正方法,包括:将分布式系统中的节点划分为测试节点和普通节点;获取所述测试节点和普通节点的网络延迟信息;根据所述网络延迟信息,通过所述测试节点判断所述普通节点的网络是否稳定,确定稳定节点;获取所述稳定节点的数据传输时间;根据所述数据传输时间,将所述测试节点上的数据传输时间与所述数据传输时间进行对比计算,确定存在时间误差的待校正节点;通过所述测试节点生成校正信息并发送给所述待校正节点;根据所述校正信息,对所述待校正节点上的时间进行误差校正。通过本发明解决了分布式系统中各个服务器的时间不统一、不标准化的问题。

Description

一种基于分布式系统的时间误差校正方法
技术领域
本发明涉及分布式计算机系统领域,特别涉及一种基于分布式系统的时间误差校正方法。
背景技术
分布式计算机系统是建立在网络之上的软件系统,具有高度的内聚性和透明性,在分布式系统中,一台服务器的系统崩溃不会影响到其他的服务器,实现了服务器的去中心化。并且由于分布式系统的高可扩展性、高计算速度,被广大互联网服务公司所青睐。
但是,也正是分布式系统去中心化的特点,导致分布式系统中的标准不一,系统时间问题也一直难以达到一个比较完美的解决方案,由于分布式系统分布在多台服务器上,故障排除和诊断问题也难度颇高。在现有技术中,主要利用了Leslie Lamportt在1978年发表的一篇论文《Time, Clocks, and the Ordering of Events in a DistributedSystem》里的逻辑时钟的方法解决分布式系统中的一部分时间问题,也通过Spanner提出的给文件打上时间戳来保证事物之间的外部一致性。
但是在众多方案中,主要解决的问题还是计算机处理文件的先后顺序这一块的,关于分布式系统之间的时间标准化,一直没有个较为有效的方法来解决。
发明内容
本发明提供一种基于分布式系统的时间误差校正方法,用以解决分布式系统中各个服务器的时间不统一、不标准化的问题,方法包括:
一种基于分布式系统的时间误差校正方法,包括:
将分布式系统中的节点划分为测试节点和普通节点;
获取所述测试节点和普通节点的网络延迟信息;
根据所述网络延迟信息,通过所述测试节点判断所述普通节点的网络是否稳定,确定稳定节点;
获取所述稳定节点的数据传输时间;
根据所述数据传输时间,将所述测试节点上的数据传输时间与所述数据传输时间进行对比计算,确定存在时间误差的待校正节点;
通过所述测试节点生成校正信息并发送给所述待校正节点;
根据所述校正信息,对所述待校正节点上的时间进行误差校正。
作为本发明的一种实施例:所述获取所述测试节点和普通节点的网络延迟信息,包括:
通过所述测试节点,向普通节点发送延迟测试信息,并记录发送时间;其中,
一个测试节点对应多个普通节点;
根据所述延迟测试信息,在所述普通节点接收所述延迟测试信息后,在所述延迟测试信息上记录下处理该信息的时间长度,并将所述延迟测试信息返回;
将返回的延迟测试信息通过所述测试节点记录接收,并记录接收时间;
根据所述延迟测试信息的发送时间和所述接收时间,通过所述测试节点在返回的延迟测试信息上对时间长度进行提取,并进行网络延迟计算,确定网络延迟信息;其中,
所述网络延迟信息通过下式确定:
Figure 569642DEST_PATH_IMAGE001
其中,
Figure 253564DEST_PATH_IMAGE002
为所述网络延迟信息,
Figure 483688DEST_PATH_IMAGE003
为所述发送时间,
Figure 747311DEST_PATH_IMAGE004
为所述接收时间,
Figure 877815DEST_PATH_IMAGE005
为所述普 通节点处理延迟测试信息的时间长度。
作为本发明的一种实施例:所述根据所述网络延迟信息,通过所述测试节点判断所述普通节点的网络是否稳定,确定稳定节点,包括:
获取所述测试节点和单个普通节点的网络延迟信息;
根据所述网络延迟信息,通过所述测试节点对所述网络延迟信息按接收时间排序,确定网络延迟表;
根据所述网络延迟表,通过所述测试节点进行稳定性计算,得到稳定值;
根据所述稳定值,通过与所述测试节点上预存的稳定值上限进行大小比较,确定该普通节点是否为稳定节点;其中,
所述稳定值通过下式确定:
Figure 326114DEST_PATH_IMAGE006
其中,
Figure 777955DEST_PATH_IMAGE007
为所述稳定值,
Figure 579689DEST_PATH_IMAGE008
为数据个数且n≥5,
Figure 331745DEST_PATH_IMAGE009
为数据的编号,
Figure 685366DEST_PATH_IMAGE010
为第
Figure 123038DEST_PATH_IMAGE009
个网络延 迟信息;
Figure 853096DEST_PATH_IMAGE011
Figure 194079DEST_PATH_IMAGE012
的时候,表示该普通节点为非稳定节点;
Figure 859547DEST_PATH_IMAGE013
的时候,表示该普通节点为稳定节点;其中,
Figure 285980DEST_PATH_IMAGE014
为预存的稳定值上限。
作为本发明的一种实施例:通过所述测试节点生成校正信息并发送给所述待校正节点,包括:
根据所述分布式系统,获取世界互联网时间信息;
根据所述测试节点,通过所述世界互联网时间信息,确定当前时间信息;
根据所述当前时间信息,通过与所述测试节点上预先设定的第一校正命令结合,生成第一校正信息;
将所述第一校正信息发送给所述待校正节点,同时记录发送过程中的网络延迟信息;
根据所述发送过程中的网络延迟信息与所述测试节点上预先设定的第二校正命令结合,生成第二校正信息并发送给所述待校正节点。
作为本发明的一种实施例:所述根据所述待校正节点,通过所述测试节点生成校正信息并发送给所述待校正节点,还包括:
确定所述测试节点从获取所述当前时间信息到发送所述第一校正信息之间的时间差值;
将所述时间差值融入所述网络延迟信息中,并将融入所述时间差值后的网络延迟信息与所述测试节点上预先设定的第二校正命令相结合,生成第二校正信息并发送给所述待校正节点。
作为本发明的一种实施例:所述确定所述测试节点从获取所述当前时间到发送所述第一校正信息之间的时间差值,包括:
通过所述测试节点,在获取到所述当前时间后开始计时,并在第一校正信息发送后计时结束,确定计时开始时间信息和计时结束时间信息;
根据所述计时开始时间信息和计时结束时间信息,通过差值计算,确定所述时间差值。
作为本发明的一种实施例:所述根据所述校正信息,对节点上的时间进行误差校正,包括:
将所述校正信息划分为第一校正信息和第二校正信息;
获取第一校正信息,并确定所述待校正节点上的当前时间为第一时间点;
根据所述第一校正信息,通过所述待校正节点对所述第一校正信息读取,确定所述当前时间信息与所述第一校正命令;
根据所述第一校正命令,对所述待校正节点准备校正;
获取第二校正信息,并确定所述待校正节点上的当前时间为第二时间点;
根据所述第二校正信息,通过所述待校正节点对所述第二校正信息读取,确定所述时间差值与所述发送过程中的网络延迟信息、第二校正命令;
根据所述第一时间点与所述第二时间点,确定处理时间;
根据所述处理时间、所述当前时间信息、所述时间差值、所述网络延迟信息,通过时间累加计算,确定校正时间;
根据所述校正时间,对所述待校正节点上的时间进行替换,校正所述待校正节点的时间误差。
作为本发明的一种实施例:所述根据所述第一时间点与所述第二时间点,确定处理时间,包括:
预先设定处理时间补偿值;
根据所述第一时间点与第二时间点,通过所述时间补偿值,确定处理时间;
其中,所述处理时间为第一时间点到校正成功时的时间差值,由于所述预先设定的时间补偿值,所述处理时间可以对校正时间进行补偿。
作为本发明的一种实施例:所述根据所述校正时间,对所述待校正节点上的时间进行替换,校正待校正节点的时间误差,还包括:
获取所述待校正节点与测试节点之间的时间误差值;
根据所述时间误差值,通过所述测试节点,确定时间误差表;
根据所述时间误差表,通过所述测试节点统计计算,确定所述分布式系统的系统误差;
根据所述系统误差,确定所述测试节点是否故障,并自动对故障节点进行线路切换。
作为本发明的一种实施例:所述根据所述系统误差,确定所述测试节点是否故障,并自动对故障节点进行线路切换,包括:
步骤1:根据所述系统误差
Figure 819730DEST_PATH_IMAGE015
和测试节点
Figure 513754DEST_PATH_IMAGE016
,计算所述测试节点的状态模型
Figure 350123DEST_PATH_IMAGE017
Figure 122907DEST_PATH_IMAGE018
其中,所述
Figure 335713DEST_PATH_IMAGE019
表示第
Figure 385709DEST_PATH_IMAGE020
个测试节点的变化参数;所述
Figure 783192DEST_PATH_IMAGE015
表示第
Figure 151594DEST_PATH_IMAGE020
个测试节点的系统 误差;所述
Figure 168092DEST_PATH_IMAGE021
表示第
Figure 931649DEST_PATH_IMAGE020
个测试节点的响应变量;
Figure 375399DEST_PATH_IMAGE022
Figure 998142DEST_PATH_IMAGE023
表示测试节点的总 个数;当所述
Figure 411806DEST_PATH_IMAGE024
≥1时,表示存在故障;当所述
Figure 934929DEST_PATH_IMAGE025
表示不存在故障;
步骤2:根据所述状态模型
Figure 549581DEST_PATH_IMAGE017
,对所述测试节点进行误差计算,确定切换的线路:
Figure 518674DEST_PATH_IMAGE026
其中,
Figure 876974DEST_PATH_IMAGE027
表示线路的可切换函数;
Figure 756068DEST_PATH_IMAGE028
表示预设的切换判断系数;
Figure 666255DEST_PATH_IMAGE029
表示线 路上的切换节点;
Figure 496546DEST_PATH_IMAGE030
表示可切换值;
并在所述
Figure 658537DEST_PATH_IMAGE030
≥1时,确定第
Figure 516771DEST_PATH_IMAGE029
个测试节点为切换的线路上的测试节点。
本发明的有益效果为:将分布式系统分为测试节点和普通节点,整体系统是分布式的,局部是以测试节点为中心的,在统一标准上比较准确,并且由分布式系统去获取世界互联网时间,再将时间同步到各个测试节点,再由测试节点同步到普通节点上,而不是直接同步到普通节点上,这样降低了分布式系统的工作量,提高了分布式系统的工作效率。通过网络延迟测量及延迟稳定性判断,判断测试节点与待校正节点之间的网络稳定状况,避免误差校正时发送的信息在网络中丢失,另外误差校正过程是单向的,待校正节点反馈的信息并不会影响校正的时间,在一定程度上减少校正时产生的二次误差,将校正的信息分成两次发送,实现了时间从测试节点到普通节点之间的承接,避免了时间信息在网络传输过程中的不可预测性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种基于分布式系统的时间误差校正方法的方法流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明主要针对分布式系统中各个服务器的时间不统一、不标准化的问题,提供一种基于分布式系统的时间误差校正方法。
实施例1:
如附图1所示,本发明为一种基于分布式系统的时间误差校正方法,包括:
步骤100:将分布式系统中的节点划分为测试节点和普通节点;
步骤101:获取所述测试节点和普通节点的网络延迟信息;
步骤102:根据所述网络延迟信息,通过所述测试节点判断所述普通节点的网络是否稳定,确定稳定节点;
步骤103:获取所述稳定节点的数据传输时间;
步骤104:根据所述数据传输时间,将所述测试节点上的数据传输时间与所述数据传输时间进行对比计算,确定存在时间误差的待校正节点;
步骤105:通过所述测试节点生成校正信息并发送给所述待校正节点;
步骤106:根据所述校正信息,对所述待校正节点上的时间进行误差校正。
作为本发明的一种实施例,本发明是基于分布式系统中多个普通的服务器节点以及上级的测试节点,在进行时间误差校正之前,测试节点会自动通过分布式系统去获取世界互联网的时间信息来作为一个时间标准,并同步保存在测试节点当中。由于分布式系统时刻都在获取世界互联网的时间信息,所以测试节点的时间是比较标准化的。同时,测试节点也在时刻联系所管辖下的普通节点,通过发送延迟测试信息给普通节点并记录发送延迟测试信息的时间点,在收到普通节点的应答后记录接收应答时的时间点,再根据普通节点在应答信息中记录的普通节点接收测试信息到发送应答信息的时间长度,计算出测试节点和这个普通节点之间的网络延迟。在将所有节点的网络延迟进行制表统计后,通过稳定值计算,通过将稳定值与预先设定好的稳定值上限进行比较,判断出网络稳定的稳定节点。在判断出网络稳定的稳定节点后,将再一次对稳定节点进行时间确定,在将稳定节点中的时间与测试节点中的时间进行对比后,确定存在时间误差的待校正节点,测试节点将会对待校正节点进行时间误差校正。
测试节点在对待校正节点进行时间校正时,首先会将测试节点中同步保存的世界互联网时间信息提取出来,作为当前的时间,再把当前的时间和第一校正命令结合生成第一校正信息并发送给待校正节点,值得注意的是所获取的时间信息是不变的,相当于时间暂停了,与此同时测试节点会记录获取到第一校正命令发出的这一段处理时间作为时间信息暂停的补偿,保证时间的准确,另外还会记录发送过程中的时间延迟,用以对第一校正信息在网络中所花费的时间进行补偿。在发送了一段时间后,再将所记录的信息与第二校正命令相结合,生成第二校正信息并发送。在待校正节点那边,在收到第一校正信息的时候同时会记录下接收时间,在把第一校正信息读取后得到当前的时间并准备校正,此时的当前时间因为没有补偿,所以是不准确的,而且时间信息还处于暂停状态。在接收到第二校正信息后记录接收时间,两次的接收时间差即为标准节点发送第一校正信息和发送第二校正信息间的时间。对第二校正信息进行读取,并将里面的补偿信息提取,将当前时间与补偿信息、两次接收的时间差进行叠加,另外再加上接收第二校正信息到校正成功这段时间的补偿,即为最终的补偿时间,并在时间到达后立刻进行替换。值得注意的是接收第二校正信息到校正成功的这一段时间是固定的,分为处理时间和等待时间,处理完成后会判断处理时间是否超出预定的处理时间,如果超出了就说明时间将会出现偏差,则选择终止此次校正操作,等待下一次机会,如果没超出,则等这个固定时间段一过,立马执行校正操作,整个过程在一定程度上解决了设备处理事务时所耗费的必要的时间。
上述技术方案的原理为:本发明的整个分布式系统通过世界互联网时间获取到一个较为标准的系统时间,并将系统时间同步到测试节点,测试节点对各个普通节点进行延迟计算,确定延迟状态稳定的普通节点为稳定节点,在对稳定节点进行时间提取对比后,判断出具有时间误差的待校正节点,并对待校正节点进行时间误差校正。在进行校正时,通过预先对各个阶段的时间补偿,以及处理计时、等待发送的手段,对时间的准确性进行保护,将校正信息分成两次发送,并记录两次接收的时间,最后通过时间补偿计算后对普通节点进行时间校正。
上述技术方案的有益效果为:将分布式系统分为测试节点和普通节点,整体系统是分布式的,局部是以测试节点为中心的,在统一标准上比较准确,并且由分布式系统去获取世界互联网时间,再将时间同步到各个测试节点,再由测试节点同步到普通节点上,而不是直接同步到普通节点上,这样降低了分布式系统的工作量,提高了分布式系统的工作效率。通过网络延迟测量及延迟稳定性判断,判断测试节点与待校正节点之间的网络稳定状况,避免误差校正时发送的信息在网络中丢失,另外误差校正过程是单向的,待校正节点反馈的信息并不会影响校正的时间,在一定程度上减少校正时产生的二次误差,将校正的信息分成两次发送,实现了时间从测试节点到普通节点之间的承接,避免了时间信息在网络传输过程中的不可预测性。
实施例2:
在一个优选实施例中,通过所述测试节点,向普通节点发送延迟测试信息,并记录发送时间;其中,
一个测试节点对应多个普通节点;
根据所述延迟测试信息,在所述普通节点接收所述延迟测试信息后,在所述延迟测试信息上记录下处理该信息的时间长度,并将所述延迟测试信息返回;
将返回的延迟测试信息通过所述测试节点记录接收,并记录接收时间;
根据所述延迟测试信息的发送时间和所述接收时间,通过所述测试节点在返回的延迟测试信息上对时间长度进行提取,并进行网络延迟计算,确定网络延迟信息;其中,
所述网络延迟信息通过下式确定:
Figure 207647DEST_PATH_IMAGE031
其中,
Figure 292278DEST_PATH_IMAGE002
为所述网络延迟信息,
Figure 490916DEST_PATH_IMAGE003
为所述发送时间,
Figure 203657DEST_PATH_IMAGE004
为所述接收时间,
Figure 331013DEST_PATH_IMAGE005
为所述普 通节点处理延迟测试信息的时间长度。
上述技术方案的原理和有益效果为:本发明通过测试节点向普通节点发送延迟测试信息,时刻监控与各个节点之间的网络延迟状况,本发明是基于处理信息的时间长度(即,处理的信息的事件),最后基于预设的网络延迟计算算法,得到网络延迟信息。有利于对网络情况进行稳定性评定,并准确地识别出稳定的节点,另外也利于查找网络延迟异常偏高的节点,对节点进行故障排查。
实施例3:
在一个优选实施例中,所述根据所述网络延迟信息,通过所述测试节点判断所述普通节点的网络是否稳定,确定稳定节点,包括:
获取所述测试节点和单个普通节点的网络延迟信息;
根据所述网络延迟信息,通过所述测试节点对所述网络延迟信息按接收时间排序,确定网络延迟表;
根据所述网络延迟表,通过所述测试节点进行稳定性计算,得到稳定值;
根据所述稳定值,通过与所述测试节点上预存的稳定值上限进行大小比较,确定该普通节点是否为稳定节点;其中,
所述稳定值通过下式确定:
Figure 637360DEST_PATH_IMAGE032
其中,
Figure 734629DEST_PATH_IMAGE007
为所述稳定值,
Figure 708401DEST_PATH_IMAGE008
为数据个数且n≥5,
Figure 505194DEST_PATH_IMAGE009
为数据的编号,
Figure 157892DEST_PATH_IMAGE010
为第
Figure 199797DEST_PATH_IMAGE009
个网络延 迟信息;
Figure 28076DEST_PATH_IMAGE011
Figure 356289DEST_PATH_IMAGE012
的时候,表示该普通节点为非稳定节点;
Figure 637229DEST_PATH_IMAGE013
的时候,表示该普通节点为稳定节点;其中,
Figure 715781DEST_PATH_IMAGE014
为预存的稳定值上限。
上述技术方案的原理为:对各个节点的网络延迟进行测试后,通过定制表格,将各个节点的所有数据对应存储到测试节点的网络延迟表格里统计,在统计过程中利用稳定值计算方法,得出每个节点的网络延迟稳定值,通过预先设定的稳定值上限,对比判断节点是否为稳定节点。
上述技术方案的有益效果为:利用表格对所有普通节点的数据按节点存储,方便查找统计,另外用稳定值计算对比,准确查找出方便时间误差校正的待校正节点,利于后续的时间误差校正工作,能够降低了因盲目校正而产生二次误差的风险。
实施例4:
在一个优选实施例中,所述根据所述待校正节点,通过所述测试节点生成校正信息并发送给所述待校正节点,包括:
根据所述分布式系统,获取世界互联网时间信息;
根据所述测试节点,通过所述世界互联网时间信息,确定当前时间信息;
根据所述当前时间信息,通过与所述测试节点上预先设定的第一校正命令结合,生成第一校正信息;
将所述第一校正信息发送给所述待校正节点,同时记录发送过程中的网络延迟信息;
根据所述发送过程中的网络延迟信息,通过与所述测试节点上预先设定的第二校正命令结合,生成第二校正信息并发送给所述待校正节点。
上述技术方案的原理和有益效果为:本发明通过获取世界互联网信息这个最为标准的时间信息作为校正参考时间信息,解决了分布式系统中时间信息的产生的标准不统一的问题。然后将世界互联网的时间信息和预设的校正命令,生成具体的校正信息。本发明将生成的校正信息发送到待校正节点的时候,会记录发送过程中的网络延迟信息,将参考时间打包发送给待校正节点,并记录第一次校正过程中的时间、网络延迟状况的内容,实现第一次校正。在第一次校正时,可能是还有存在网络延迟,因此本发明将第一次校正后的网络延迟信息和预设的第二校正命令结合,再次发送到待校正节点,本次时基于存在网络延迟的校正,精确性更好,而且明确了为什么产生网络延迟,更加稳定。
实施例5:
在一个优选实施例中,所述根据所述待校正节点,通过所述测试节点生成校正信息并发送给所述待校正节点,还包括:
确定所述测试节点从获取所述当前时间信息到发送所述第一校正信息之间的时间差值;
将所述时间差值融入所述网络延迟信息中,并将融入所述时间差值后的网络延迟信息与所述测试节点上预先设定的第二校正命令相结合,生成第二校正信息并发送给所述待校正节点。
上述技术方案的原理和有益效果为:本发明测试节点将节点上同步的当前的时间信息时,即提取世界互联网时间信息的这一段时间,在时间信息获取的时候,时间信息是不变的数据,而数据外部的世界互联网时间是在变动的真实时间,因此在将时间同步到待校正节点上之前,需要对时间信息进行补偿,才能够赶上外部的世界互联网时间,降低时间误差,因此将时间差值融入网络延迟信息中。
实施例6:
在一个优选实施例中,所述确定所述测试节点从获取所述当前时间到发送所述第一校正信息之间的时间差值,包括:
通过所述测试节点,在获取到所述当前时间后开始计时,第一校正信息发送后计时结束,确定计时开始时间信息和计时结束时间信息;
根据所述计时开始时间信息和计时结束时间信息,通过差值计算,确定所述时间差值。
上述技术方案的原理和有益效果为:在测试节点获取到时间信息后开始计时,到最后第一校正信息发送后计时结束,算出时间信息在测试节点上暂停的这一段时间,作为时间补偿方便后续对校正时间进行计算,弥补因设备运行所必要的时间所产生的时间误差。
实施例7:
在一个优选实施例中,所述待校正节点根据所述校正信息,对节点上的时间进行误差校正,包括:
获取第一校正信息,并确定所述待校正节点上的当前时间为第一时间点;
根据所述第一校正信息,通过所述待校正节点对所述第一校正信息读取,确定所述当前时间信息与所述第一校正命令;
根据所述第一校正命令,所对述待校正节点准备校正;
获取第二校正信息,并确定所述待校正节点上的当前时间为第二时间点;
根据所述第二校正信息,通过所述待校正节点对所述第二校正信息读取,确定所述时间差值与所述发送过程中的网络延迟信息、第二校正命令;
根据所述第一时间点与所述第二时间点,确定处理时间;
根据所述处理时间、所述当前时间信息、所述时间差值、所述网络延迟信息,通过时间累加计算,确定校正时间;
根据所述校正时间,对所述待校正节点上的时间进行替换,校正所述待校正节点的时间误差。
上述技术方案的原理和有益效果为:在获取到第一校正信息和第二校正信息的时候,节点对记录获取到信息时的时间,两个时间点的差值即为在进行时间补偿计算前时间暂停所产生的误差,方便待校正节点这边对时间信息的补偿的承接,在对校正信息中所包含的命令进行读取后,将时间信息提取,并拿出所有阶段的补偿信息进行计算,最后再将补偿后的时间信息进行替换,完成时间误差校正。在上述过程中,补偿时间是包括所有的时间暂停点,即获取任何信息数据的时间点,不会遗漏任何一个时间暂停的阶段补偿,保证信息的准确性。
实施例8:
在一个优选实施例中,所述根据所述第一时间点与所述第二时间点,确定处理时间,包括:
预先设定处理时间补偿值;
根据所述第一时间点与第二时间点,通过所述时间补偿值,确定所述处理时间;
其中,所述处理时间为第一时间点到校正成功时的时间差值,由于所述预先设定的时间补偿值,所述处理时间可以对校正时间进行补偿。
上述技术方案的原理和有益效果为:首先预设一个处理时间补偿值,用于对处理时间进行限定,防止处理超时产生的时间误差问题,时间补偿值是固定的,也就是说从接到第二校正信息开始到校正结束的这一段时间是固定的,不会产生时间偏差,而校正步骤也会严格按照这个时间进行工作,首先是校正前的处理阶段,包括信息提取及补偿计算,如果在处理结束后发现处理超时,则判断处理失败,此次校正失败,等待下一次校正机会;如果处理结束后对比发现时间还有盈余,则当计时到替换开始时则马上开始替换工作,替换操作也是要时间的,但是所有替换操作所花的时间差距不会特别大,所以这段时间也是需要添加到补偿值里面,对时间进行进一步细致地补偿。
实施例9:
在一个优选实施例中,所述根据所述校正时间,对所述待校正节点上的时间进行替换,校正待校正节点的时间误差,还包括:
获取所述待校正节点与测试节点之间的时间误差值;
根据所述时间误差值,通过所述测试节点,确定时间误差表;
根据所述时间误差表,通过所述测试节点统计计算,确定所述分布式系统的系统误差;
根据所述系统误差,确定所述测试节点是否故障,并自动对故障节点进行线路切换。
上述技术方案的原理和有益效果为:在对稳定节点进行误差计算之后,得出时间误差值,测试节点会收集所有的时间误差值进行统计,再对统计结果进行计算,判断出测试节点下的待校正节点是否存在系统误差,如果单个节点存在系统误差,则需要对单个节点进行替换,或者添加系统误差补偿,保证节点时间的可靠性;如果大部分节点都存在系统误差,则可以判断是否是测试节点出现故障,并对测试节点进行线路切换,启用备用的测试节点继续进行工作。
实施例10:
在一个优选实施例中,所述根据所述系统误差,确定所述测试节点是否故障,并自动对故障节点进行线路切换,包括:
步骤1:根据所述系统误差
Figure 523200DEST_PATH_IMAGE015
和测试节点
Figure 897681DEST_PATH_IMAGE033
,计算所述测试节点的状态模型
Figure 665917DEST_PATH_IMAGE017
Figure 174258DEST_PATH_IMAGE018
其中,所述
Figure 711550DEST_PATH_IMAGE019
表示第
Figure 755467DEST_PATH_IMAGE020
个测试节点的变化参数;所述
Figure 135633DEST_PATH_IMAGE015
表示第
Figure 323032DEST_PATH_IMAGE020
个测试节点的系统 误差;所述
Figure 714830DEST_PATH_IMAGE021
表示第
Figure 555747DEST_PATH_IMAGE020
个测试节点的响应变量;
Figure 298575DEST_PATH_IMAGE022
Figure 522621DEST_PATH_IMAGE023
表示测试节点的总 个数; 当所述
Figure 34505DEST_PATH_IMAGE024
≥1时,表示存在故障;当所述
Figure 46323DEST_PATH_IMAGE025
表示不存在故障;
步骤2:根据所述状态模型
Figure 276447DEST_PATH_IMAGE017
,对所述测试节点进行误差计算,确定切换的线路:
Figure 540070DEST_PATH_IMAGE034
其中,
Figure 31094DEST_PATH_IMAGE027
表示线路的可切换函数;
Figure 853294DEST_PATH_IMAGE028
表示预设的切换判断系数;
Figure 570714DEST_PATH_IMAGE029
表示线 路上的切换节点;
Figure 638027DEST_PATH_IMAGE035
表示可切换值,用于判断是否唔够切换线路,能切换时根据
Figure 983558DEST_PATH_IMAGE029
的 值,确定切换的节点;
并在所述
Figure 478124DEST_PATH_IMAGE030
≥1时,确定第
Figure 939234DEST_PATH_IMAGE029
个测试节点为切换的线路上的测试节点。
上述技术方案的原理在于:本发明通过系统误差计算测试节点的实时状态,通过 引入测试节点的变化参数、系统误差、响应变量构建基于指数函数的对比判断的状态模型, 确定测试节点的实时状态,以更高的数据细粒度(更精确的数据)上进行计算测试节点的实 时状态,进而通过实时状态判断节点是否存在故障,即需不需要进行校正。然后需要切换线 路时,通过微分对比的形式以验证每个此时节点是否能够今心切换,基于最后的切换值,得 到最后的切换节点,
Figure 669293DEST_PATH_IMAGE036
的最小值为2;
Figure 10276DEST_PATH_IMAGE036
的最大值为k。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种基于分布式系统的时间误差校正方法,其特征在于,包括:
将分布式系统中的节点划分为测试节点和普通节点;
获取所述测试节点和普通节点的网络延迟信息;
根据所述网络延迟信息,通过所述测试节点判断所述普通节点的网络是否稳定,确定稳定节点;
获取所述稳定节点的数据传输时间;
根据所述数据传输时间,将所述测试节点上的数据传输时间与所述数据传输时间进行对比计算,确定存在时间误差的待校正节点;
通过所述测试节点生成校正信息并发送给所述待校正节点;
根据所述校正信息,对所述待校正节点上的时间进行误差校正。
2.根据权利要求1所述的一种基于分布式系统的时间误差校正方法,其特征在于:所述获取所述测试节点和普通节点的网络延迟信息,包括:
通过所述测试节点,向普通节点发送延迟测试信息,并记录发送时间;其中,
一个测试节点对应多个普通节点;
根据所述延迟测试信息,在所述普通节点接收所述延迟测试信息后,在所述延迟测试信息上记录下处理该信息的时间长度,并将所述延迟测试信息返回;
将返回的延迟测试信息通过所述测试节点记录接收,并记录接收时间;
根据所述延迟测试信息的发送时间和所述接收时间,通过所述测试节点在返回的延迟测试信息上对时间长度进行提取,并进行网络延迟计算,确定网络延迟信息;其中,
所述网络延迟信息通过下式确定:
Figure DEST_PATH_IMAGE001
其中,
Figure 26959DEST_PATH_IMAGE002
为所述网络延迟信息,
Figure 475258DEST_PATH_IMAGE003
为所述发送时间,
Figure 51732DEST_PATH_IMAGE004
为所述接收时间,
Figure 978100DEST_PATH_IMAGE005
为所述普通节 点处理延迟测试信息的时间长度。
3.根据权利要求1所述的一种基于分布式系统的时间误差校正方法,其特征在于:所述根据所述网络延迟信息,通过所述测试节点判断所述普通节点的网络是否稳定,确定稳定节点,包括:
获取所述测试节点和单个普通节点的网络延迟信息;
根据所述网络延迟信息,通过所述测试节点对所述网络延迟信息按接收时间排序,确定网络延迟表;
根据所述网络延迟表,通过所述测试节点进行稳定性计算,得到稳定值;
根据所述稳定值,通过与所述测试节点上预存的稳定值上限进行大小比较,确定该普通节点是否为稳定节点;其中,
所述稳定值通过下式确定:
Figure 526893DEST_PATH_IMAGE006
其中,
Figure DEST_PATH_IMAGE007
为所述稳定值,
Figure 178717DEST_PATH_IMAGE008
为数据个数且n≥5,
Figure 976908DEST_PATH_IMAGE009
为数据的编号,
Figure 910229DEST_PATH_IMAGE010
为第
Figure 110266DEST_PATH_IMAGE009
个网络延迟信 息;
Figure 900368DEST_PATH_IMAGE011
Figure 389118DEST_PATH_IMAGE012
的时候,表示该普通节点为非稳定节点;
Figure 657288DEST_PATH_IMAGE013
的时候,表示该普通节点为稳定节点;其中,
Figure 711832DEST_PATH_IMAGE014
为预存的稳定值上限。
4.根据权利要求1所述的一种基于分布式系统的时间误差校正方法,其特征在于:通过所述测试节点生成校正信息并发送给所述待校正节点,包括:
根据所述分布式系统,获取世界互联网时间信息;
根据所述测试节点,通过所述世界互联网时间信息,确定当前时间信息;
根据所述当前时间信息,通过与所述测试节点上预先设定的第一校正命令结合,生成第一校正信息;
将所述第一校正信息发送给所述待校正节点,同时记录发送过程中的网络延迟信息;
根据所述发送过程中的网络延迟信息与所述测试节点上预先设定的第二校正命令结合,生成第二校正信息并发送给所述待校正节点。
5.根据权利要求4所述的一种基于分布式系统的时间误差校正方法,其特征在于:所述根据所述待校正节点,通过所述测试节点生成校正信息并发送给所述待校正节点,还包括:
确定所述测试节点从获取所述当前时间信息到发送所述第一校正信息之间的时间差值;
将所述时间差值融入所述网络延迟信息中,并将融入所述时间差值后的网络延迟信息与所述测试节点上预先设定的第二校正命令相结合,生成第二校正信息并发送给所述待校正节点。
6.根据权利要求5所述的一种基于分布式系统的时间误差校正方法,其特征在于:所述确定所述测试节点从获取所述当前时间到发送所述第一校正信息之间的时间差值,包括:
通过所述测试节点,在获取到所述当前时间后开始计时,并在第一校正信息发送后计时结束,确定计时开始时间信息和计时结束时间信息;
根据所述计时开始时间信息和计时结束时间信息,通过差值计算,确定所述时间差值。
7.根据权利要求4所述的一种基于分布式系统的时间误差校正方法,其特征在于:所述根据所述校正信息,对节点上的时间进行误差校正,包括:
将所述校正信息划分为第一校正信息和第二校正信息;
获取第一校正信息,并确定所述待校正节点上的当前时间为第一时间点;
根据所述第一校正信息,通过所述待校正节点对所述第一校正信息读取,确定所述当前时间信息与第一校正命令;
根据所述第一校正命令,对所述待校正节点准备校正;
获取第二校正信息,并确定所述待校正节点上的当前时间为第二时间点;
根据所述第二校正信息,通过所述待校正节点对所述第二校正信息读取,确定时间差值与发送过程中的网络延迟信息、第二校正命令;
根据所述第一时间点与所述第二时间点,确定处理时间;
根据所述处理时间、所述当前时间信息、所述时间差值、所述网络延迟信息,通过时间累加计算,确定校正时间;
根据所述校正时间,对所述待校正节点上的时间进行替换,校正所述待校正节点的时间误差。
8.根据权利要求7所述的一种基于分布式系统的时间误差校正方法,其特征在于:所述根据所述第一时间点与所述第二时间点,确定处理时间,包括:
预先设定处理时间补偿值;
根据所述第一时间点与第二时间点,通过所述时间补偿值,确定处理时间;
其中,所述处理时间为第一时间点到校正成功时的时间差值,由于所述预先设定的时间补偿值,所述处理时间可以对校正时间进行补偿。
9.根据权利要求7所述的一种基于分布式系统的时间误差校正方法,其特征在于:所述根据所述校正时间,对所述待校正节点上的时间进行替换,校正待校正节点的时间误差,还包括:
获取所述待校正节点与测试节点之间的时间误差值;
根据所述时间误差值,通过所述测试节点,确定时间误差表;
根据所述时间误差表,通过所述测试节点统计计算,确定所述分布式系统的系统误差;
根据所述系统误差,确定所述测试节点是否故障,并自动对故障节点进行线路切换。
10.根据权利要求9所述的一种基于分布式系统的时间误差校正方法,其特征在于:所述根据所述系统误差,确定所述测试节点是否故障,并自动对故障节点进行线路切换,包括:
步骤1:根据所述系统误差
Figure 672835DEST_PATH_IMAGE015
和测试节点
Figure 212663DEST_PATH_IMAGE016
,计算所述测试节点的状态模型
Figure 18945DEST_PATH_IMAGE017
Figure 396836DEST_PATH_IMAGE018
其中,所述
Figure 263161DEST_PATH_IMAGE019
表示第
Figure 523241DEST_PATH_IMAGE020
个测试节点的变化参数;所述
Figure 398793DEST_PATH_IMAGE015
表示第
Figure 427929DEST_PATH_IMAGE020
个测试节点的系统误 差;所述
Figure 933997DEST_PATH_IMAGE021
表示第
Figure 212532DEST_PATH_IMAGE020
个测试节点的响应变量;
Figure 829458DEST_PATH_IMAGE022
Figure 214565DEST_PATH_IMAGE023
表示测试节点的总 个数; 当所述
Figure 953851DEST_PATH_IMAGE024
≥1时,表示存在故障;当所述
Figure 922944DEST_PATH_IMAGE025
表示不存在故障;
步骤2:根据所述状态模型
Figure 874719DEST_PATH_IMAGE017
,对所述测试节点进行误差计算,确定切换的线路:
Figure 81710DEST_PATH_IMAGE026
其中,
Figure 991897DEST_PATH_IMAGE027
表示线路的可切换函数;
Figure 448286DEST_PATH_IMAGE028
表示预设的切换判断系数;
Figure 203753DEST_PATH_IMAGE029
表示线路上 的切换节点;
Figure 796408DEST_PATH_IMAGE030
表示可切换值;
并在所述
Figure 113382DEST_PATH_IMAGE030
≥1时,确定第
Figure 260330DEST_PATH_IMAGE029
个测试节点为切换的线路上的测试节点。
CN202110000719.5A 2021-01-04 2021-01-04 一种基于分布式系统的时间误差校正方法 Active CN112332941B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110000719.5A CN112332941B (zh) 2021-01-04 2021-01-04 一种基于分布式系统的时间误差校正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110000719.5A CN112332941B (zh) 2021-01-04 2021-01-04 一种基于分布式系统的时间误差校正方法

Publications (2)

Publication Number Publication Date
CN112332941A CN112332941A (zh) 2021-02-05
CN112332941B true CN112332941B (zh) 2021-04-30

Family

ID=74301920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110000719.5A Active CN112332941B (zh) 2021-01-04 2021-01-04 一种基于分布式系统的时间误差校正方法

Country Status (1)

Country Link
CN (1) CN112332941B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114328131B (zh) * 2022-03-09 2022-05-27 深圳市佳贤通信设备有限公司 基于时钟周期记录的函数耗时监测方法
CN117041100B (zh) * 2023-10-07 2024-03-12 之江实验室 一种分布式系统应用间网络包延迟检测方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100479361C (zh) * 2005-12-15 2009-04-15 中国人民解放军国防科学技术大学 同步媒介访问控制器
CN1819579A (zh) * 2005-12-15 2006-08-16 中国人民解放军国防科学技术大学 开环时间传递方法
CN1972182B (zh) * 2006-12-04 2010-04-14 中国科学院计算技术研究所 一种提高无线传感器网络时间同步精度的方法
ATE481780T1 (de) * 2007-12-18 2010-10-15 Thales Alenia Space Italia S P Verfahren zum synchronisieren von knoten eines netzwerks sowie system und vorrichtung dafür
CN104662843B (zh) * 2012-05-17 2018-06-15 香港科技大学 用于无线网状网络的联合频道及路由分配的系统和方法
CN104581870A (zh) * 2014-12-30 2015-04-29 南京林业大学 基于能量采集的无线传感器网络及其低延迟路由方法
AU2017252615A1 (en) * 2016-04-19 2018-10-25 Industrial Scientific Corporation Worker safety system
CN111211856B (zh) * 2020-03-05 2023-12-05 吉林大学 基于wr协议的有线地震仪时间同步系统及方法

Also Published As

Publication number Publication date
CN112332941A (zh) 2021-02-05

Similar Documents

Publication Publication Date Title
CN112332941B (zh) 一种基于分布式系统的时间误差校正方法
US8203958B2 (en) Frame counter correction apparatus, opposing apparatus, and frame counter correction method
CN110362473B (zh) 测试环境的优化方法及装置、存储介质、终端
Cristian et al. Probabilistic internal clock synchronization
CN108319617B (zh) 确定数据库主从差异的方法、装置及切换控制方法、装置
US20040167990A1 (en) Methods and apparatus for network time synchronization
JP2005235054A (ja) イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム
CN111865468B (zh) 一种精准时间同步方法
US7711517B2 (en) System and method for testing the accuracy of real time clocks
CN101510172B (zh) 测试系统及方法
JP4928480B2 (ja) ジョブ処理システムおよびジョブ管理方法
CN110825758B (zh) 一种交易处理的方法及装置
CN116150702B (zh) 一种主备通信融合的数据整合方法及装置
CN112398672B (zh) 一种报文检测方法及装置
CN112579352A (zh) 业务数据处理链路的质量监控结果生成方法、存储介质及质量监控系统
CN104618474B (zh) 设备信息保存方法以及装置
CN114239296A (zh) 一种数据处理方法、装置及电子设备
CN114114134A (zh) 一种智能电能表的对时方法
CN113377156A (zh) 一种rtc时钟准确性验证方法和装置
CN110519001B (zh) 时钟同步方法、装置及电表通信模块
US11513769B2 (en) Data acquisition system, input device, data acquisition apparatus, and data combining apparatus
CN114978994B (zh) 一种路由器和路由器令牌异步管理方法
CN111752786A (zh) 压力测试过程中的数据存储方法、汇总方法、设备及介质
JP2009181494A (ja) ジョブ処理システムおよびジョブ情報取得方法
CN115225523B (zh) 智能终端设备信息采集时间校正系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant