CN116938378A - 基于反射内存网络的时钟同步精度测量方法及装置 - Google Patents

基于反射内存网络的时钟同步精度测量方法及装置 Download PDF

Info

Publication number
CN116938378A
CN116938378A CN202311180984.1A CN202311180984A CN116938378A CN 116938378 A CN116938378 A CN 116938378A CN 202311180984 A CN202311180984 A CN 202311180984A CN 116938378 A CN116938378 A CN 116938378A
Authority
CN
China
Prior art keywords
time
tested
time difference
test
difference value
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
Application number
CN202311180984.1A
Other languages
English (en)
Other versions
CN116938378B (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.)
Xian Lingkong Electronic Technology Co Ltd
Original Assignee
Xian Lingkong Electronic Technology 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 Xian Lingkong Electronic Technology Co Ltd filed Critical Xian Lingkong Electronic Technology Co Ltd
Priority to CN202311180984.1A priority Critical patent/CN116938378B/zh
Publication of CN116938378A publication Critical patent/CN116938378A/zh
Application granted granted Critical
Publication of CN116938378B publication Critical patent/CN116938378B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本申请公开了一种基于反射内存网络的时钟同步精度测量方法及装置,该方法包括:为测试系统中的各被测设备分配反射内存地址;按照预设频率采集被测设备的时间信息,并将时间信息写入对应的反射内存地址;获取被测设备的时间信息中的预设数据格式的内容,并对其进行解析得到时间戳数据集;确定时间戳数据集中各时间戳与主时钟的时间差值;根据时间差值确定测试系统的时钟同步精度。解决了现有技术中只知道不同协议在理想情况下的同步精度,难以根据实际情况较精确地测量时间同步耗时的问题,能够确定符合不同系统水平的时钟同步精度,能够为系统选择时钟同步方法提供数据依据。

Description

基于反射内存网络的时钟同步精度测量方法及装置
技术领域
本申请涉及计算机通信技术领域,尤其涉及一种基于反射内存网络的时钟同步精度测量方法及装置。
背景技术
时间同步,即要求各设备之间的绝对时间相同。时钟同步在金融、医疗、电信、物流、航空航天、工业生产等领域发挥着至关重要的作用。如在工业生产中,时钟同步对设备的监控和调度是必不可少的。在生产过程中,如果各个设备的时钟不同步,会导致设备间的配合不协调,致使生产效率低下,甚至可能出现生产事故。
目前常用的时钟同步协议有精确时间协议(英文简称:PTP)和网络时间协议(英文简称:NTP)。精确时间协议一般在硬件级实现,成本较高,工作在数据链路层。精确时间协议利用支持网络测量和控制系统的精密时钟同步协议标准(英文简称:IEEE1588)的物理芯片,可以精确记录报文的发送和接收时间,精度可达微秒级,适用于对时钟同步精度要求较高的场景。网络时间协议主要是通过软件和算法完成时间信息的同步,成本较低,工作在应用层。网络时间协议在LAN局域网中时钟同步精度能达到1毫秒,在WAN广域网中精度能达到几十毫秒,适用于对时钟精度要求不高的场景。
但目前只知道不同协议在理想情况下的同步精度。在实际应用中,受系统设备间的物理距离或网络时延等因素的影响,即便是同一套系统,时间同步精度也存在差异难以确定时间同步的具体情况。
发明内容
本申请实施例通过提供一种基于反射内存网络的时钟同步精度测量方法,解决了现有技术中只知道不同协议在理想情况下的同步精度,难以根据实际情况较精确地测量时间同步耗时的问题,实现了一种测量时钟同步精度的方法能够解决上述问题。
第一方面,本申请实施例提供了一种基于反射内存网络的时钟同步精度测量方法,包括:为测试系统中的各被测设备分配反射内存地址;其中,所述测试系统包括所述被测设备与测试设备,所述被测设备与所述测试设备均安装有反射内存卡,所述反射内存卡串接构成所述反射内存网络;按照预设频率采集所述被测设备的时间信息,并将所述时间信息写入对应的所述反射内存地址;获取所述被测设备的所述时间信息中的预设数据格式的内容,并对其进行解析得到时间戳数据集;确定所述时间戳数据集中各时间戳与主时钟的时间差值;根据所述时间差值确定所述测试系统的时钟同步精度。
结合第一方面,在第一种可能的实现方式中,所述为测试系统中的各被测设备分配反射内存地址,包括:基于被测设备的状态地址记录表,为各所述被测设备分配对应的反射内存地址;其中,所述被测设备的所述状态地址记录表包括所述被测设备的状态和所述反射内存地址。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取所述被测设备的所述时间信息中的预设数据格式的内容,包括:根据所述状态地址记录表对在线的所述被测设备按照对应起始反射内存地址的大小进行排序;所述测试设备按照所述排序的结果获取所述被测设备的所述时间信息中的所述预设数据格式的内容。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述测试设备按照所述排序的结果获取所述被测设备的所述时间信息中的所述预设数据格式的内容,包括:所述测试设备按照所述排序的结果确定读取策略;其中,所述读取策略包括整段单次读取策略和多段分次读取策略;基于所述读取策略获取所述被测设备的所述时间信息中的所述预设数据格式的内容。
结合第一方面的第一种可能的实现方式,在第四种可能的实现方式中,所述测试设备获取所述被测设备的所述时间信息中的预设数据格式的内容之前,还包括:基于各所述被测设备的监听更新所述被测设备的所述状态地址记录表中的所述被测设备的状态。
结合第一方面,在第五种可能的实现方式中,所述确定所述时间戳数据集中各时间戳与主时钟的时间差值,包括:确定所述被测设备的数据采集时耗与数据同步时延;根据所述数据采集时耗与所述数据同步时延确定时间误差;计算所述时间戳数据集中各时间戳与主时钟的差值;通过所述时间误差修正所述差值得到所述时间差值。
结合第一方面,在第六种可能的实现方式中,所述根据所述时间差值确定所述测试系统的时钟同步精度,包括:根据所述时间差值生成时间差值集;确定所述时间差值集中的最大值,并将其作为所述测试系统的所述时钟同步精度。
结合第一方面,在第七种可能的实现方式中,所述根据所述时间差值确定所述测试系统的时钟同步精度,包括:根据所述时间差值生成时间差值集;去掉所述时间差值集中的最大值与最小值后,计算剩余所述时间差值的时间均值;将所述时间均值作为所述测试系统的时钟同步精度。
结合第一方面的第六种可能的实现方式或第七种可能的实现方式,在第八种可能的实现方式中,还包括:进行多次测试获取多组所述时间差值。
第二方面,本申请实施例提供了一种基于反射内存网络的时钟同步精度测量装置,包括:分配模块,用于为测试系统中的各被测设备分配反射内存地址;其中,所述测试系统包括所述被测设备与测试设备,所述被测设备与所述测试设备均安装有反射内存卡,所述反射内存卡串接构成所述反射内存网络;采集模块,用于按照预设频率采集所述被测设备的时间信息,并将所述时间信息写入对应的所述反射内存地址;获取模块,用于获取所述被测设备的所述时间信息中的预设数据格式的内容,并对其进行解析得到时间戳数据集;计算模块,用于确定所述时间戳数据集中各时间戳与主时钟的时间差值;确定模块,用于根据所述时间差值确定所述测试系统的时钟同步精度。
结合第二方面,在第一种可能的实现方式中,所述为测试系统中的各被测设备分配反射内存地址,包括:基于被测设备的状态地址记录表,为各所述被测设备分配对应的反射内存地址;其中,所述被测设备的所述状态地址记录表包括所述被测设备的状态和所述反射内存地址。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述测试设备获取所述被测设备的所述时间信息中的预设数据格式的内容,包括:根据所述状态地址记录表对在线的所述被测设备按照对应起始反射内存地址的大小进行排序;所述测试设备按照所述排序的结果获取所述被测设备的所述时间信息中的所述预设数据格式的内容。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述测试设备按照所述排序的结果获取所述被测设备的所述时间信息中的所述预设数据格式的内容,包括:所述测试设备按照所述排序的结果确定读取策略;其中,所述读取策略包括整段单次读取策略和多段分次读取策略;基于所述读取策略获取所述被测设备的所述时间信息中的所述预设数据格式的内容。
结合第二方面的第一种可能的实现方式,在第四种可能的实现方式中,所述测试设备获取所述被测设备的所述时间信息中的预设数据格式的内容之前,还包括:基于各所述被测设备的监听更新所述被测设备的所述状态地址记录表中的所述被测设备的状态。
结合第二方面,在第五种可能的实现方式中,所述确定所述时间戳数据集中各时间戳与主时钟的时间差值,包括:确定所述被测设备的数据采集时耗与数据同步时延;根据所述数据采集时耗与所述数据同步时延确定时间误差;计算所述时间戳数据集中各时间戳与主时钟的差值;通过所述时间误差修正所述差值得到所述时间差值。
结合第二方面,在第六种可能的实现方式中,所述根据所述时间差值确定所述测试系统的时钟同步精度,包括:根据所述时间差值生成时间差值集;确定所述时间差值集中的最大值,并将其作为所述测试系统的所述时钟同步精度。
结合第二方面,在第七种可能的实现方式中,所述根据所述时间差值确定所述测试系统的时钟同步精度,包括:根据所述时间差值生成时间差值集;去掉所述时间差值集中的最大值与最小值后,计算剩余所述时间差值的时间均值;将所述时间均值作为所述测试系统的时钟同步精度。
结合第二方面的第六种可能的实现方式或第七种可能的实现方式,在第八种可能的实现方式中,还包括:进行多次测试获取多组所述时间差值。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例通过为被测设备分配反射内存地址,能够避免不同设备在相同位置写入,造成数据错乱;采用状态地址记录表,能够过滤无用数据,数据解析与存储更加高效;采用各时间戳之间的时间差值能够得到符合系统整体得到时钟同步精度。有效解决了现有技术中只知道不同协议在理想情况下的同步精度,难以根据实际情况较精确地测量时间同步耗时的问题,进而实现了一种测量时钟同步精度的方法,能够获得符合不同系统水平的时钟同步精度,能够为系统选择时钟同步方法提供数据依据。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于反射内存网络的时钟同步精度测量方法的流程图;
图2为本申请实施例提供的确定时间戳数据集中各时间戳与主时钟的时间差值的流程图;
图3为本申请实施例提供的基于反射内存网络的时钟同步精度测量装置的结构图;
图4为本申请实施例提供的测试系统的时钟同步网络架构示意图;
图5为本申请实施例提供的分配反射内存地址的示意图;
图6为本申请实施例提供的采集时间信息和数据同步的原理示意图;
图7为本申请实施例提供的获取时间信息中的预设数据格式的内容的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下对本申请实施例涉及的部分技术做出说明,以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了部分对公知功能和结构的描述。
图1是本申请实施例提供的基于反射内存网络的时钟同步精度测量方法的流程图,包括步骤101至步骤105。其中,图1仅为本申请实施例示出的一种执行顺序,并不代表基于反射内存网络的时钟同步精度测量方法的唯一执行顺序,在可实现最终结果的情况下,图1所示出的步骤可以被并列或颠倒执行。
步骤101:为测试系统中的各被测设备分配反射内存地址。其中,测试系统包括被测设备与测试设备,被测设备与测试设备均安装有反射内存卡,反射内存卡串接构成反射内存网络。具体地,基于反射内存卡和光纤搭建的反射内存网络是一种特殊类型的共享内存系统。当数据写入本地反射内存卡的某个地址时,高速逻辑同步模块将其传输至网络的下一个节点的相同地址,在每个节点上都形成了所有数据的备份,数据同步时延在纳秒级。包含了时钟同步网络和反射内存网络的测试系统的时钟同步网络的架构图,如图4所示。
在本申请实施例中,测试设备上设有时差计算程序,被测设备上设有时间采集程序。被测设备包含主设备和从设备,包含在时钟同步网络中。主设备是时钟同步的主时钟所在的设备,从设备是被时钟同步的设备。测试设备是外部设备,是用来运行时差计算程序的设备,不在时钟同步网络中。在测试设备和被测试设备上分别安装反射内存卡,并将这些反射内存卡通过光纤进行串行连接,组成一个环形的反射内存网络。
基于被测设备的状态地址记录表,为各被测设备分配对应的反射内存地址。其中,被测设备的状态地址记录表包括被测设备的状态和反射内存地址。在本申请实施例中,根据各个被测设备在反射内存卡上写入数据的长度以及起始地址进行分配,能够避免不同被测设备在相同位置写入数据,造成数据错乱。同时,记录被测设备的状态与反射内存地址生成状态地址记录表。
在本申请实施例中,状态地址记录表所涉及的内容包括:设备ID、设备名称、设备状态、设备反射内存地址、数据类型与数据长度。需要注意的是,上述内容仅为本申请示出的一种实施例,不作为对本申请保护范围的限制。本领域技术人员可对状态地址记录表中的内容作出各种修改或改变,但至少应当包括设备名称、设备状态与设备反射内存地址三项。测试设备不需要写入时间,只进行读取,因此不需要分配反射内存地址。在本申请实施例中,以64M的反射内存卡为例,为各被测试设备分配反射内存卡的对应的反射内存地址。反射内存地址分配示例如图5所示。
步骤102:按照预设频率采集被测设备的时间信息,并将时间信息写入对应的反射内存地址。具体地,为设在被测设备上的时间采集程序设置预设频率,使之周期性地采集各个被测设备的时间信息,并将满足精度要求、数据类型以及数据长度的时间信息写入所分配的反射内存地址。在编写时间采集程序时,将时间采集程序编译后安装在各个被测设备中。时间采集程序分别同时运行在不同被测试设备上,互不影响。该时间采集程序的主要功能是以尽可能快的预设频率周期性地读取被测设备的时间信息,并将该时间信息格式化为微秒级时间戳,然后将该时间信息写入指定的反射内存地址。时间信息写入反射内存地址后,依靠反射内存网络进行高速数据同步,同步后每个节点都包含有所有被测设备的时间信息的完整数据备份。在本申请实施例中,如图6所示,示出了一个主设备和一个从设备的时间信息的获取、写入与同步的过程。
步骤103:获取被测设备的时间信息中的预设数据格式的内容,并对其进行解析得到时间戳数据集。具体地,根据状态地址记录表对在线的被测设备按照对应起始反射内存地址的大小进行排序。根据状态地址记录表过滤离线的被测设备。为避免某些被测设备不在线时,依然默认是从分配的最小反射内存地址到最大反射内存地址进行时间信息读取,导致读取的时间信息中包含一些无用的数据,进而降低后续对预设数据格式的内容解析和存储的效率。
测试设备按照排序的结果获取被测设备的时间信息中的预设数据格式的内容。在本申请实施例中,预设数据格式的内容包括但不限于二进制内容。根据状态地址记录表中记录的设备状态,过滤掉设备状态为离线的被测设备。根据状态地址记录表对在线的被测设备进行排序。将过滤后剩余的在线的被测设备根据所分配的反射内存地址的大小进行排序,在此处按照从小到大的顺序进行排序。按照排序的结果获取被测设备的时间信息中的二进制内容。在本申请实施例中,得到排序的结果后,在测试设备上读取所有在状态地址记录表中设备状态显示为在线的被测设备的时间信息。即将反射内存地址在R0(min)~R0(max)+7这段的二进制内容进行读取。其中,R0(min)为排序的结果中的第一个地址,即第一个被测设备的起始地址,实际为0。R0(max)为排序结果中最后一个被测设备的起始地址,R0(max)+7为排序结果中最后一个地址。所读取的二进制内容可以保存在缓存中,也可以存储在文件或者数据库中,如图7所示。
在本申请实施例中,测试设备按照排序的结果确定读取策略。其中,读取策略包括整段单次读取策略和多段分次读取策略。根据在线的被测设备的反射内存地址的大小分布情况可以采取不同的读取策略。不同的读取策略通过在线的被测设备的反射内存地址的分布以及读取策略预设对照表获取。当在线的被测设备的反射内存地址较为集中时,采用整段单次读取策略。当在线的被测设备较多,且被测设备的反射内存地址较为分散时可分为多段,执行多次读取动作,即多段分次读取策略。基于上述读取策略,测试设备按照排序的结果从反射内存卡中读取一段时间信息的预设数据格式的内容。
此外,在测试设备获取被测设备的时间信息中的预设数据格式的内容之前,还可以基于各被测设备的监听更新被测设备的状态地址记录表中的被测设备的状态。
在本申请实施例中,将读取的预设数据格式的内容按照写入反射内存地址的数据类型和数据长度进行截取,并将截取的二进制内容解析为十进制的时间戳。将读取的所有二进制内容按照上述方式进行处理,获得的多个时间戳构成时间戳数据集。例如,某一被测设备在反射内存地址中存储的时间信息是16位微秒级的整数,数据类型为INT64,占8字节长度。则在进行解析时,将截取的8字节的二进制内容转换为INT64类型的整数,就可以得到16位长度的微秒级时间戳的十进制整数值。以此类推,将所有被测设备的时间戳数据解析出来后,进行保存,构成时间戳数据集。时间戳数据集的存储形式不限,可以存放在缓存中、或存放在文件中、或存放在数据库中。
步骤104:确定时间戳数据集中各时间戳与主时钟的时间差值。步骤104的实现方法如图2所示,包括步骤201至步骤204,具体如下。
步骤201:确定被测设备的数据采集时耗与数据同步时延。具体地,数据采集时耗是将时间信息写入反射内存卡的时间。示例性地,数据采集时耗为40纳秒。数据同步时延是购买的反射内存卡的产品性能指标,市面上常见的反射内存卡的数据同步时延约400纳秒。
步骤202:根据数据采集时耗与数据同步时延确定时间误差。在本申请实施例中,步骤201所确定的数据采集时耗与数据同步时延之和即为时间误差。上述时间误差仅为本申请的一种实施例,本领域技术人员亦可使用其他方式确定时间误差,此处不作为对本申请保护范围的限制。
步骤203:计算时间戳数据集中各时间戳与主时钟的差值。具体地,所有被测设备都应当有相同的时间基准,任意一台被测设备与主时钟的时差都应该满足系统设计精度。因此,将所有被测设备的时间戳与主时钟的时间求差值,并保留各个差值的绝对值。在本申请的一种实施例中,还可以对这些差值的绝对值进行从大到小排序,将排序结果进行保存。通过此步骤可以知道任意一台被测设备与主时钟之间的时间差,只有任意一台被测设备与主时钟的时间差达到系统设计精度,才可以认为整个系统的时钟同步精度满足设计要求。
步骤204:通过时间误差修正差值得到时间差值。在本申请实施例中,根据步骤202确定的时间误差修正时间差值,时间差值取时间误差与差值的绝对值之和。
步骤105:根据时间差值确定测试系统的时钟同步精度。在本申请的一种实施例中,根据时间差值生成时间差值集。所有时间差值构成一个时间差值集,还可以对所有时间差值进行排序,得到一个有序的时间差值集。确定时间差值集中的最大值,并将其作为测试系统的时钟同步精度。用时间差值集中的最大值代表整个测试系统的时钟同步精度。在本申请的另一种实施例中,根据时间差值生成时间差值集。所有时间差值构成一个时间差值集。去掉时间差值集中的最大值与最小值后,计算剩余时间差值的时间均值。将时间均值作为测试系统的时钟同步精度。
此外,单次测量结果如果受到网络干扰,也可能会存在较大的误差,这时就需要进行多次测试,获取多组时间差值以减小单次测量误差。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。本实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照本实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
如图3所示,本申请实施例还提供一种基于反射内存网络的时钟同步精度测量装置300。该装置包括:分配模块301、采集模块302、获取模块303、计算模块304与确定模块305,具体如下。
分配模块301用于为测试系统中的各被测设备分配反射内存地址。其中,测试系统包括被测设备与测试设备,被测设备与测试设备均安装有反射内存卡,反射内存卡串接构成反射内存网络。分配模块301具体用于,基于反射内存卡和光纤搭建的反射内存网络是一种特殊类型的共享内存系统。当数据写入本地反射内存卡的某个地址时,高速逻辑同步模块将其传输至网络的下一个节点的相同地址,在每个节点上都形成了所有数据的备份,数据同步时延在纳秒级。包含了时钟同步网络和反射内存网络的测试系统的时钟同步网络的架构图,如图4所示。
在本申请实施例中,测试设备上设有时差计算程序,被测设备上设有时间采集程序。被测设备包含主设备和从设备,包含在时钟同步网络中。主设备是时钟同步的主时钟所在的设备,从设备是被时钟同步的设备。测试设备是外部设备,是用来运行时差计算程序的设备,不在时钟同步网络中。在测试设备和被测试设备上分别安装反射内存卡,并将这些反射内存卡通过光纤进行串行连接,组成一个环形的反射内存网络。
基于被测设备的状态地址记录表,为各被测设备分配对应的反射内存地址。其中,被测设备的状态地址记录表包括被测设备的状态和反射内存地址。在本申请实施例中,根据各个被测设备在反射内存卡上写入数据的长度以及起始地址进行分配,能够避免不同被测设备在相同位置写入数据,造成数据错乱。同时,记录被测设备的状态与反射内存地址生成状态地址记录表。
在本申请实施例中,状态地址记录表所涉及的内容包括:设备ID、设备名称、设备状态、设备反射内存地址、数据类型与数据长度。需要注意的是,上述内容仅为本申请示出的一种实施例,不作为对本申请保护范围的限制。本领域技术人员可对状态地址记录表中的内容作出各种修改或改变,但至少应当包括设备名称、设备状态与设备反射内存地址三项。测试设备不需要写入时间,只进行读取,因此不需要分配反射内存地址。在本申请实施例中,以64M的反射内存卡为例,为各被测试设备分配反射内存卡的对应的反射内存地址。反射内存地址分配示例如图5所示。
采集模块302用于按照预设频率采集被测设备的时间信息,并将时间信息写入对应的反射内存地址。采集模块302具体用于,为设在被测设备上的时间采集程序设置预设频率使之周期性地采集各个被测设备的时间信息,并将满足精度要求、数据类型以及数据长度的时间信息写入所分配的反射内存地址。在编写时间采集程序时,将时间采集程序编译后安装在各个被测设备中。时间采集程序分别同时运行在不同被测试设备上,互不影响。该时间采集程序的主要功能是以尽可能快的预设频率周期性地读取被测设备的时间信息,并将该时间信息格式化为微秒级时间戳,然后将该时间信息写入指定的反射内存地址。时间信息写入反射内存地址后,依靠反射内存网络进行高速数据同步,同步后每个节点都包含有所有被测设备的时间信息的完整数据备份。在本申请实施例中,如图6所示,示出了一个主设备和一个从设备的时间信息的获取、写入与同步的过程。
获取模块303用于获取被测设备的时间信息中的预设数据格式的内容,并对其进行解析得到时间戳数据集。获取模块303具体用于,根据状态地址记录表对在线的被测设备按照对应起始反射内存地址的大小进行排序。根据状态地址记录表过滤离线的被测设备。为避免某些被测设备不在线时,依然默认是从分配的最小反射内存地址到最大反射内存地址进行时间信息读取,导致读取的时间信息中包含一些无用的数据,进而降低后续对预设数据格式的内容解析和存储的效率。
测试设备按照排序的结果获取被测设备的时间信息中的预设数据格式的内容。在本申请实施例中,预设数据格式的内容包括但不限于二进制内容。根据状态地址记录表中记录的设备状态,过滤掉设备状态为离线的被测设备。根据状态地址记录表对在线的被测设备进行排序。将过滤后剩余的在线的被测设备根据所分配的反射内存地址的大小进行排序,在此处按照从小到大的顺序进行排序。按照排序的结果获取被测设备的时间信息中的二进制内容。在本申请实施例中,得到排序的结果后,在测试设备上读取所有在状态地址记录表中设备状态显示为在线的被测设备的时间信息。即将反射内存地址在R0(min)~R0(max)+7这段的二进制内容进行读取。其中,R0(min)为排序的结果中的第一个地址,即第一个被测设备的起始地址,实际为0。R0(max)为排序结果中最后一个被测设备的起始地址,R0(max)+7为排序结果中最后一个地址。所读取的二进制内容可以保存在缓存中,也可以存储在文件或者数据库中,如图7所示。
在本申请实施例中,测试设备按照排序的结果确定读取策略。其中,读取策略包括整段单次读取策略和多段分次读取策略。根据在线的被测设备的反射内存地址的大小分布情况可以采取不同的读取策略。不同的读取策略通过在线的被测设备的反射内存地址的分布以及读取策略预设对照表获取。当在线的被测设备的反射内存地址较为集中时,采用整段单次读取策略。当在线的被测设备较多,且被测设备的反射内存地址较为分散时可分为多段,执行多次读取动作,即多段分次读取策略。基于上述读取策略,测试设备按照排序的结果从反射内存卡中读取一段时间信息的预设数据格式的内容。
此外,在测试设备获取被测设备的时间信息中的预设数据格式的内容之前,还可以基于各被测设备的监听更新被测设备的状态地址记录表中的被测设备的状态。
在本申请实施例中,将读取的预设数据格式的内容按照写入反射内存地址的数据类型和数据长度进行截取,并将截取的二进制内容解析为十进制的时间戳。将读取的所有二进制内容按照上述方式进行处理,获得的多个时间戳构成时间戳数据集。例如,某一被测设备在反射内存地址中存储的时间信息是16位微秒级的整数,数据类型为INT64,占8字节长度。则在进行解析时,将截取的8字节的二进制内容转换为INT64类型的整数,就可以得到16位长度的微秒级时间戳的十进制整数值。以此类推,将所有被测设备的时间戳数据解析出来后,进行保存,构成时间戳数据集。时间戳数据集的存储形式不限,可以存放在缓存中、或存放在文件中、或存放在数据库中。
计算模块304用于确定时间戳数据集中各时间戳与主时钟的时间差值。计算模块304具体用于,确定被测设备的数据采集时耗与数据同步时延。具体地,数据采集时耗是将时间信息写入反射内存卡的时间。示例性地,数据采集时耗为40纳秒。数据同步时延是购买的反射内存卡的产品性能指标,市面上常见的反射内存卡的数据同步时延约400纳秒。
根据数据采集时耗与数据同步时延确定时间误差。在本申请实施例中,数据采集时耗与数据同步时延之和即为时间误差。上述时间误差仅为本申请的一种实施例,本领域技术人员亦可使用其他方式确定时间误差,此处不作为对本申请保护范围的限制。
计算时间戳数据集中各时间戳与主时钟的差值。具体地,所有被测设备都应当有相同的时间基准,任意一台被测设备与主时钟的时差都应该满足系统设计精度。因此,将所有被测设备的时间戳与主时钟的时间求差值,并保留各个差值的绝对值。在本申请的一种实施例中,还可以对这些差值的绝对值进行从大到小排序,将排序结果进行保存。通过此步骤可以知道任意一台被测设备与主时钟之间的时间差,只有任意一台被测设备与主时钟的时间差达到系统设计精度,才可以认为整个系统的时钟同步精度满足设计要求。
通过时间误差修正差值得到时间差值。在本申请实施例中,根据确定的时间误差修正时间差值,时间差值取时间误差与差值的绝对值之和。
确定模块305用于根据时间差值确定测试系统的时钟同步精度。确定模块305具体用于,在本申请的一种实施例中,根据时间差值生成时间差值集。所有时间差值构成一个时间差值集,还可以对所有时间差值进行排序,得到一个有序的时间差值集。确定时间差值集中的最大值,并将其作为测试系统的时钟同步精度。用时间差值集中的最大值代表整个测试系统的时钟同步精度。在本申请的另一种实施例中,根据时间差值生成时间差值集。所有时间差值构成一个时间差值集。去掉时间差值集中的最大值与最小值后,计算剩余时间差值的时间均值。将时间均值作为测试系统的时钟同步精度。
此外,单次测量结果如果受到网络干扰,也可能会存在较大的误差,这时就需要进行多次测试,获取多组时间差值以减小单次测量误差。
本申请所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
上述申请实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述方便,描述以上装置时以功能分为各种模块分别描述。在实施本申请实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
本申请中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(英文:Application Specific Integrated Circuit;简称:ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
此外,在本发明的各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独存在,也可以两个或两个以上模块集成在一个模块中。
本说明书中的各个实施方式采用递进的方式描述,各个实施方式之间相同或相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。本申请的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
以上实施例仅用以说明本申请的技术方案,而非对本申请限制;尽管参照前述实施例对本申请进行了详细的说明,本领域普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请技术方案的范围。

Claims (10)

1.一种基于反射内存网络的时钟同步精度测量方法,其特征在于,包括:
为测试系统中的各被测设备分配反射内存地址;其中,所述测试系统包括所述被测设备与测试设备,所述被测设备与所述测试设备均安装有反射内存卡,所述反射内存卡串接构成所述反射内存网络;
按照预设频率采集所述被测设备的时间信息,并将所述时间信息写入对应的所述反射内存地址;
获取所述被测设备的所述时间信息中的预设数据格式的内容,并对其进行解析得到时间戳数据集;
确定所述时间戳数据集中各时间戳与主时钟的时间差值;
根据所述时间差值确定所述测试系统的时钟同步精度。
2.根据权利要求1所述的方法,其特征在于,所述为测试系统中的各被测设备分配反射内存地址,包括:
基于被测设备的状态地址记录表,为各所述被测设备分配对应的反射内存地址;其中,所述被测设备的所述状态地址记录表包括所述被测设备的状态和所述反射内存地址。
3.根据权利要求2所述的方法,其特征在于,所述获取所述被测设备的所述时间信息中的预设数据格式的内容,包括:
根据所述状态地址记录表对在线的所述被测设备按照对应起始反射内存地址的大小进行排序;
所述测试设备按照所述排序的结果获取所述被测设备的所述时间信息中的所述预设数据格式的内容。
4.根据权利要求3所述的方法,其特征在于,所述测试设备按照所述排序的结果获取所述被测设备的所述时间信息中的所述预设数据格式的内容,包括:
所述测试设备按照所述排序的结果确定读取策略;其中,所述读取策略包括整段单次读取策略和多段分次读取策略;
基于所述读取策略获取所述被测设备的所述时间信息中的所述预设数据格式的内容。
5.根据权利要求2所述的方法,其特征在于,所述测试设备获取所述被测设备的所述时间信息中的预设数据格式的内容之前,还包括:
基于各所述被测设备的监听更新所述被测设备的所述状态地址记录表中的所述被测设备的状态。
6.根据权利要求1所述的方法,其特征在于,所述确定所述时间戳数据集中各时间戳与主时钟的时间差值,包括:
确定所述被测设备的数据采集时耗与数据同步时延;
根据所述数据采集时耗与所述数据同步时延确定时间误差;
计算所述时间戳数据集中各时间戳与主时钟的差值;
通过所述时间误差修正所述差值得到所述时间差值。
7.根据权利要求1所述的方法,其特征在于,所述根据所述时间差值确定所述测试系统的时钟同步精度,包括:
根据所述时间差值生成时间差值集;
确定所述时间差值集中的最大值,并将其作为所述测试系统的所述时钟同步精度。
8.根据权利要求1所述的方法,其特征在于,所述根据所述时间差值确定所述测试系统的时钟同步精度,包括:
根据所述时间差值生成时间差值集;
去掉所述时间差值集中的最大值与最小值后,计算剩余所述时间差值的时间均值;
将所述时间均值作为所述测试系统的时钟同步精度。
9.根据权利要求7或8所述的方法,其特征在于,还包括:
进行多次测试获取多组所述时间差值。
10.一种基于反射内存网络的时钟同步精度测量装置,其特征在于,包括:
分配模块,用于为测试系统中的各被测设备分配反射内存地址;其中,所述测试系统包括所述被测设备与测试设备,所述被测设备与所述测试设备均安装有反射内存卡,所述反射内存卡串接构成所述反射内存网络;
采集模块,用于按照预设频率采集所述被测设备的时间信息,并将所述时间信息写入对应的所述反射内存地址;
获取模块,用于获取所述被测设备的所述时间信息中的预设数据格式的内容,并对其进行解析得到时间戳数据集;
计算模块,用于确定所述时间戳数据集中各时间戳与主时钟的时间差值;
确定模块,用于根据所述时间差值确定所述测试系统的时钟同步精度。
CN202311180984.1A 2023-09-14 2023-09-14 基于反射内存网络的时钟同步精度测量方法及装置 Active CN116938378B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311180984.1A CN116938378B (zh) 2023-09-14 2023-09-14 基于反射内存网络的时钟同步精度测量方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311180984.1A CN116938378B (zh) 2023-09-14 2023-09-14 基于反射内存网络的时钟同步精度测量方法及装置

Publications (2)

Publication Number Publication Date
CN116938378A true CN116938378A (zh) 2023-10-24
CN116938378B CN116938378B (zh) 2024-01-09

Family

ID=88394377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311180984.1A Active CN116938378B (zh) 2023-09-14 2023-09-14 基于反射内存网络的时钟同步精度测量方法及装置

Country Status (1)

Country Link
CN (1) CN116938378B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010081835A (ko) * 2000-02-19 2001-08-29 김형순 이중화된 자동호 분배 시스템에서의 과금 데이터 동기화방법 및 시스템
CN103209069A (zh) * 2013-05-07 2013-07-17 浙江赛思电子科技有限公司 基于精确时间协议的时间同步装置和方法
CN103248471A (zh) * 2013-05-22 2013-08-14 哈尔滨工业大学 基于ptp协议与反射内存网的时钟同步方法
CN104462664A (zh) * 2014-11-19 2015-03-25 中国航空工业集团公司沈阳飞机设计研究所 一种分布式仿真系统的实时性监控方法
CN104573135A (zh) * 2014-12-24 2015-04-29 北京经纬恒润科技有限公司 基于反射内存网与中间件技术的实时数据采集方法及装置
US20160315756A1 (en) * 2015-04-21 2016-10-27 Ixia Methods, systems, and computer readable media for testing recovered clock quality
CN106330647A (zh) * 2016-08-30 2017-01-11 石川 一种基于反射内存网的超高精度时间统一方法及装置
CN111124992A (zh) * 2019-10-31 2020-05-08 北京航天控制仪器研究所 一种基于光纤反射内存通讯的转台仿真控制方法
CN111726189A (zh) * 2020-06-15 2020-09-29 哈工大机器人(合肥)国际创新研究院 基于时间戳标记电路的双核系统时钟同步方法及装置
CN111726188A (zh) * 2020-06-15 2020-09-29 哈工大机器人(合肥)国际创新研究院 Airt-ros实时系统与非实时系统时钟同步方法及装置
WO2021232260A1 (zh) * 2020-05-20 2021-11-25 深圳元戎启行科技有限公司 用于对自动驾驶车辆的多个辅助设备进行时间同步的方法、车辆、计算机设备和存储介质
CN115941106A (zh) * 2023-01-03 2023-04-07 重庆长安汽车股份有限公司 一种时间同步精度的测试方法、系统、设备及介质
US20230273638A1 (en) * 2022-02-25 2023-08-31 FMAD Engineering (SNG) Pte. Ltd. Clock Disciplining and Synchronizing

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010081835A (ko) * 2000-02-19 2001-08-29 김형순 이중화된 자동호 분배 시스템에서의 과금 데이터 동기화방법 및 시스템
CN103209069A (zh) * 2013-05-07 2013-07-17 浙江赛思电子科技有限公司 基于精确时间协议的时间同步装置和方法
CN103248471A (zh) * 2013-05-22 2013-08-14 哈尔滨工业大学 基于ptp协议与反射内存网的时钟同步方法
CN104462664A (zh) * 2014-11-19 2015-03-25 中国航空工业集团公司沈阳飞机设计研究所 一种分布式仿真系统的实时性监控方法
CN104573135A (zh) * 2014-12-24 2015-04-29 北京经纬恒润科技有限公司 基于反射内存网与中间件技术的实时数据采集方法及装置
US20160315756A1 (en) * 2015-04-21 2016-10-27 Ixia Methods, systems, and computer readable media for testing recovered clock quality
CN106330647A (zh) * 2016-08-30 2017-01-11 石川 一种基于反射内存网的超高精度时间统一方法及装置
CN111124992A (zh) * 2019-10-31 2020-05-08 北京航天控制仪器研究所 一种基于光纤反射内存通讯的转台仿真控制方法
WO2021232260A1 (zh) * 2020-05-20 2021-11-25 深圳元戎启行科技有限公司 用于对自动驾驶车辆的多个辅助设备进行时间同步的方法、车辆、计算机设备和存储介质
CN111726189A (zh) * 2020-06-15 2020-09-29 哈工大机器人(合肥)国际创新研究院 基于时间戳标记电路的双核系统时钟同步方法及装置
CN111726188A (zh) * 2020-06-15 2020-09-29 哈工大机器人(合肥)国际创新研究院 Airt-ros实时系统与非实时系统时钟同步方法及装置
US20230273638A1 (en) * 2022-02-25 2023-08-31 FMAD Engineering (SNG) Pte. Ltd. Clock Disciplining and Synchronizing
CN115941106A (zh) * 2023-01-03 2023-04-07 重庆长安汽车股份有限公司 一种时间同步精度的测试方法、系统、设备及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张蕉蕉;孙家根;杨小强;苏正炼;: "基于NTP的装备管理信息系统时钟同步技术研究", 机械制造与自动化, no. 03 *
樊智勇;鲁彦;刘涛;: "大数据量低延时航电中继系统设计与实现", 计算机应用与软件, no. 08 *

Also Published As

Publication number Publication date
CN116938378B (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
CN112000737B (zh) 基于多云管理的数据同步方法、系统、终端及存储介质
Anderson et al. What Consistency Does Your {Key-Value} Store Actually Provide?
CN108121782B (zh) 查询请求的分配方法、数据库中间件系统以及电子设备
US9569253B1 (en) Ensuring globally consistent transactions
CN108319617B (zh) 确定数据库主从差异的方法、装置及切换控制方法、装置
CN112559475B (zh) 数据实时捕获和传输方法及系统
US9262279B2 (en) Classifying and monitoring database operations based on a cost of recovery
CN113193947B (zh) 实现分布式全局序的方法、设备、介质及程序产品
Enes et al. Efficient replication via timestamp stability
CN112163038A (zh) 跨集群数据同步方法、装置、设备及存储介质
CN111552701A (zh) 确定分布式集群中数据一致性的方法及分布式数据系统
CN112148693A (zh) 一种数据处理方法、装置及存储介质
CN111639132B (zh) 日志同步方法及设备
CN111061802B (zh) 一种电力数据管理处理方法、装置及存储介质
CN116521083A (zh) 一种分布式存储集群数据的存储方法、装置及介质
CN116938378B (zh) 基于反射内存网络的时钟同步精度测量方法及装置
CN113918648A (zh) 数据同步方法、装置、电子设备及存储介质
CN112860811A (zh) 数据血缘关系的确定方法、装置、电子设备和存储介质
CN112434108A (zh) 一种数据库同步的方法、装置及设备
CN115617800A (zh) 数据读取方法、装置、电子设备及存储介质
CN115952227A (zh) 数据采集系统及方法、电子设备和存储介质
CN112015798B (zh) 一种保证数据不重复和延迟监控的数据处理方法及装置
CN115374109A (zh) 数据访问方法、装置、计算设备和系统
CN109274451B (zh) 一种时间获取方法、装置和设备
CN114996033A (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