文档详情

NTP网络授时系统设计与实现客户端时钟同步软件设计与实现.doc

发布:2018-10-05约7.61千字共16页下载文档
文本预览下载声明
第5章 客户端时钟同步软件设计与实现 5.1 概述 在NTP网络授时系统中,各子网中的路由器可从NTP服务器获取标准时间,并为其它终端用户提供授时服务。同时,其它终端用户也可以直接从NTP服务器获取标准时间。NTP网络授时系统的时钟同步软件,即部署在需通过网络获取精确时间的各windows终端上。时钟同步软件共包括三个功能模块:系统管理、定时器和时钟获取与校正。 系统管理模块,用于设置作为时钟参照的NTP服务器的地址、每次对时发送NTP报文的次数、对时间隔等参数。 定时器模块,用于定时或手工发起时钟同步请求。在通常状况下,系统按用户设置的对时间隔,自动与NTP服务器进行时间同步。在需要的时候,也可以由用户进行手工同步 时间获取与校正模块:用于根据系统指定的参数,构造NTP消息报文,从NTP服务器获取精确的标准时间。系统根据时钟同步的方式(手工或定时)本地时间,使系统内部各个节点的时钟保持一致。任意一个时钟同步客户端发起时钟同步消息,授时服务器返回系统时钟信息,客户端根据时钟信息调整本地时间。 5.2 时钟同步软件静态结构图 5.2.1 时钟同步软件整体结构 时钟同步软件中,定时同步与手工同步的流程基本相同,系统的整体结构如下图所示: 图5-1 时间同步的整体模型结构图 5.2.2 时钟同步软件的类图 分析时钟同步软件的结构,进一步细化系统中各种对象,以完成对系统中的类进行定义。 图5-2 时钟同步模块的类图 5.2.3 系统主要类设计 系统主要类的设计说明如下: 1. SYSTEMTIME类 表5-1 SYSTEMTIME类设计 类 表示系统时间的类 属性 访问权限 描述 wYear public 年 wMonth pulic 月 wDayOfWeek pulic 一周第几天 wDay public 日 wHour public 小时 wMinute pulic 分 wSecond pulic 秒 wMillisecond public 毫秒 操作 参数 描述 SYSTEMTIME 构造函数 2. SynClient类 表5-2 SynClient类设计 类 时钟同步客户端类 属性 访问权限 描述 offset private 时钟偏差 maxoffset private 最大时钟偏差 ServerTime public 标准时间 BackTime private 报文回收时间 操作 参数 描述 getoffset long value 获取时钟偏差 getmaxoffset 获取最大时钟偏差 setmaxoffset long value 设置最大时钟偏差 getBackTime 获取报文回收时间 setBackTime SYSTEMTIME systemtime 设置报文回收时间 3. ConstructPacket类 表5-3 ConstructPacket类设计 类 构建NTP同步报文 属性 访问权限 描述 LI public LI标志 VN public VN标志 Mode public 模式 Stratum public 层级 Poll public 轮询间隔 Precision public 精度 RootDelay public 根延时 RefTime public 服务器对时时间 OriTime private 报文发送时间 RecTime private 报文接收时间 TransTime private 报文回复时间 操作 参数 描述 ConstructPacket 构造函数 getOriTime 获取OriTime时间戳 setOriTime long time 设置OriTime时间戳 getRecTime 获取RecTime时间戳 setRecTime long time 设置RecTime时间戳 getTransTime 获取TransTime时间戳 setTransTime long time 设置TransTime时间戳 4. SynTask类 表5-4 SynTask类设计 类 时间同步任务类 属性 访问权限 描述 Address private 服务器地址 Interval private 同步间隔 操作 参数 描述 SynTask 构造函数 getAddress 获取服务器地址 setAddress IPAddress ip 设置服务器地址 getInterval 获取同步间隔 setInterval long para 设置同步间隔 Check 时钟检查 Run 发起时钟同步请求 5. SynServer类 表5-5 SynServer类设计 类 同步通信接口类 属性 访问权限 描述 sk public socket接口 packet private 同步报文 操作 参数 描述 Sy
显示全部
相似文档