文档详情

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

发布:2017-05-05约字共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类设计 类表示系统时间的类属性访问权限描述wYearpublic年wMonthpulic月wDayOfWeekpulic一周第几天wDaypublic日wHourpublic小时wMinutepulic分wSecondpulic秒wMillisecondpublic毫秒操作参数描述SYSTEMTIME构造函数 2. SynClient类 表5-2 SynClient类设计 类时钟同步客户端类属性访问权限描述offsetprivate时钟偏差maxoffsetprivate最大时钟偏差ServerTimepublic标准时间BackTimeprivate报文回收时间操作参数描述getoffsetlong value获取时钟偏差getmaxoffset获取最大时钟偏差setmaxoffsetlong value设置最大时钟偏差getBackTime获取报文回收时间setBackTimeSYSTEMTIME systemtime设置报文回收时间 3. ConstructPacket类 表5-3 ConstructPacket类设计 类构建NTP同步报文属性访问权限描述LIpublicLI标志VNpublicVN标志Modepublic模式Stratumpublic层级Pollpublic轮询间隔Precisionpublic精度RootDelaypublic根延时RefTimepublic服务器对时时间OriTimeprivate报文发送时间RecTimeprivate报文接收时间TransTimeprivate报文回复时间操作参数描述ConstructPacket构造函数getOriTime获取OriTime时间戳setOriTimelong time设置OriTime时间戳getRecTime获取RecTime时间戳setRecTimelong time设置RecTime时间戳getTransTime获取TransTime时间戳setTransTimelong time设置TransTime时间戳 4. SynTask类 表5-4 SynTask类设计 类时间同步任务类属性访问权限描述Addressprivate服务器地址Intervalprivate同步间隔操作参数描述SynTask构造函数getAddress获取服务器地址setAddressIPAddress ip设置服务器地址getInterval获取同步间隔setIntervallong para设置同步间隔Check时钟检查Run发起时钟同步请求5. SynServer类 表5-5 SynServer类设
显示全部
相似文档