文档库 最新最全的文档下载
当前位置:文档库 › AJAX模拟HTTP LongPoll 实现“服务器推”技术

AJAX模拟HTTP LongPoll 实现“服务器推”技术

AJAX模拟HTTP LongPoll 实现“服务器推”技术
AJAX模拟HTTP LongPoll 实现“服务器推”技术

核心图解:

最近在看“服务器推送技术”,在B/S结构中,通过某种magic使得客户端不需要通过轮询即可以得到服务端的最新信息(比如股票价格,聊天室,webQQ、开心网、白社会),这样可以节省大量的带宽。

传统的轮询技术对服务器的压力很大,并且造成带宽的极大浪费。如果改用ajax轮询,可以降低带宽的负荷(因为服务器返回的不是完整页面),但是对服务器的压力并不会有明显的减少。

而推技术(push)可以改善这种情况。但因为HTTP连接的特性(短暂,必须由客户端发起),使得推技术的实现比较困难,常见的做法是通过延长http 连接的寿命,来实现push。

基本实现原理:

接下来自然该讨论如何延长http连接的寿命,最简单的自然是死循环法,如果使用观察者模式则可以进一步提高性能。

但是这种做法的缺点在于客户端请求了这个servlet后,web服务器会开启一个线程执行servlet的代码,而servlet由迟迟不肯结束,造成该线程也无法被释放。于是乎,一个客户端一个线程,当客户端数量增加时,服务器依然会承受很大的负担。

要从根本上改变这个现象比较复杂,目前的趋势是从web服务器内部入手,用nio(JDK 1.4提出的java.nio包)改写request/response的实现,再利用线程池增强服务器的资源利用率,从而解决这个问题,目前支持这一非J2EE官方技术的服务器有Glassfish和Jetty。目前也有一些框架/工具可以帮助你实现推功能,比如pushlets。不过没有深入研究。还有就是通过设置超时来解决。

在客户和服务器之间保持“心跳”信息—–无事件导致超时处理:

因为服务器为了保持请求(阻塞请求),必须有一个无限循环,循环的结束条件就是获取到了返回结果,如果客户端关闭了(客户端浏览器的关闭不会发消息给服务器),服务器无法知道客户端已经关了,这个请求没必要处理下去了,最终会造成资源过度浪费。还有服务器中间可能存在各式各样配置怪异的网关和代理,它们上面可能有各式各样的超时规则,因此Comet最好设计为定期重连。只要用一个折中的办法,限制超时时间。一般情况下,如果30秒没有任何事件发生,服务器端就应该通知客户端确实没有事件发生,结束掉本次请求,然后重新开始一次新的请求以便继续等待。这里可以不必设置客户端ajax的超时时间,但进行请求的时候传递一个超时值给服务器,服务器在处理的时候,如果超时时间到了的话,还没有客户端需要的结果,这时传递一个超时信息给客户端,客户端接收到了此信息,根据情况重新进行ajax请求,也就是进入下一个轮询……….当服务器处理信息出现异常情况,需要发送错误信息通知客户端,同时释放资源、关闭连接。

服务器端事件队列管理以及如何保持可靠的消息队列:

由于ajax的LongPoll是拉的方式(不同的客户端拉取的参数可以根据客户端不同而不同),服务器端根据客户选择的方式在读取事件队列(fetchEvents)时进行不同的处理,会把“heartbeat”与“refresh”事件一起传给客户端,通知客户端重新发出请求、建立连接。拉的同时也解决了发送目标的返回值。

在这里我们可以想象一个可能发生的情况,服务器端向你发送一个消息,你没有成功接收,但是服务器端认为发送了就成功了,消息从队列删除了,然后这个消息就永久丢失掉了。可能有人会强调TCP多么可靠,服务器端发送的消息如果在TCP的层面发生问题了,肯定会引发Socket级别的Exception,这个Exception冒泡上来,服务器端就能截获,从而得知发送失败,然后先不删除队首消息。可是别忘了,中间是可能存在代理的,如果代理成功把消息收回去了,可是代理发送到客户端这一步失败了,服务器端就不一定会发生异常了。

因此,我们需要制定一种策略,来确保下行消息总能发送到客户端。在这里,我们选择了引入逐个ACK的机制,来确认消息的接收。也就是说,服务器端发送给客户端的消息带有一个序号,在客户端收到消息后就将该序号发回给服务器端,已确认它受到了该消息。在下次请求时就将该序号加1的值通过sequence参数传递回去,让服务器知道我们期望下一条消息的编号是这个。例如我们收到Message,其Sequence属性为836,那么下一次调用的时候就传给服务器837。服务器端此时应该保留了编号为836的Message在对首,如果客户端继续请求836号消息,证明它上次没收到,这次仍然发送836号消息给它;如果客户端请求837号消息,证明它成功收到836号消息的,这次就发送837号消息给它。看到这里是不是感觉有点熟悉了,不错,这有点类似经典的TCP三握手原理。如果都不是,那该怎么办?那意味着,这是一个错误的请求,甚至可能是攻击请求,因为正常情况下不应该出现这样的请求的,服务器端可以考虑抛个无关紧要的Exception(不要告诉攻击者你知道他在攻击了),甚至直接给个400 (bad request)的响应代号。

国外一个简单的聊天室例子:

我们需要4个文件:

A file to exchange data (data.txt)

A PHP script that will handle the persistent http request (backend.php)

A HTML file that will load Javascript code and that will show the data coming from the server (index.html)

The prototype library that will help us to write simple JS code

服务端backend.php:

做2件事:

Write into “data.txt” when new messages are sent

Do an infinite loop as long as “data.txt” file is unchanged

1.

2.

3. $filename = dirname(__FILE__).'/data.txt';

4.

5. // store new message in the file

6. $msg = isset($_GET['msg']) ? $_GET['msg'] : '';

7. if ($msg != '')

8. {

9. file_put_contents($filename,$msg);

10. die();

11. }

12.

13. // infinite loop until the data file is not modified

14. $lastmodif = isset($_GET['timestamp']) ? $_GET['timestamp'] :

0;

15. $currentmodif = filemtime($filename);

16. while ($currentmodif <= $lastmodif) // check if the data file has

been modified

17. {

18. usleep(10000); // sleep 10ms to unload the CPU

19. clearstatcache();

20. $currentmodif = filemtime($filename);

21. }

22.

23. // return a json array

24. $response = array();

25. $response['msg'] = file_get_contents($filename);

26. $response['timestamp'] = $currentmodif;

27. echo json_encode($response);

28. flush();

29.

30. ?>

客户端index.html:

1.

"https://www.wendangku.net/doc/109232983.html,/TR/xhtml11/DTD/xhtml11.dtd">

2.

3.

4. Comet demo

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

onsubmit="comet.doRequest($('word').value);$('word').value='';r eturn false;">

16.

17.

18.

19.

20.

21.

76.

77.

78.

你可以用浏览器打开多个index.html,你在其中一个页面提交的聊天内容同时也被推到其他的页面。

这只是一个推的简单的例子,关于超时处理的相关功能就不贴了,自己研究。

总之。ajax模拟http长连接就是在第一次ajax发出请求的时候,服务端一直在等待有更新的数据,当然在等待过程中你可以加入超时重新开始下一个轮询来降低服务器压力(见上面的核心图)。

硬盘录像机服务器时间同步方法

P C、硬盘录像机时间同步设置一.原理:利用NTP服务实现。NTP服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。 二.如何使局域网内的电脑时钟同步 首先要在互联网上寻找一台或几台专门提供时间服务的电脑(以下称为“主时间服务器”),在百度和Google里搜索一下,时间服务器还是很多的,笔者推荐pool.ntp.org这个地址。其次设置局域网时钟服务器。选择单位中能上外网的一台电脑,让它与主时间服务器同步,然后把它设为局域网内部的时间服务器(以下称为时间服务器),以后局域网内所有电脑依它为准进行时间校对。 最后设置客户端。如果客户机为win2000、XP或Linux系统,不需要安装任何软件。如客户机为Win98系统时要根据时间服务器类型的不同而区别对待:如果时间服务器选用SNTP协议进行时钟同步,则Win98机上需安装一个sntp客户端软件,如时间服务器由Windows电脑通过netbios协议提供,则Win98上也不需要安装任何软件。 三.如何设置时间服务器 以下分Win2000、XP分别介绍,而且只介绍sntp服务的架设。 1.Windows2000、XP做时间服务器 第一步:指定主时间服务器。在DOS里输入“net time /setsntp:pool.ntp.org”,这里我们指定pool.ntp.org是主时间服务器。

第二步:与主时间服务器同步。先关闭windows time服务,再开启该服务。在DOS里输入“net stop w32time”、“net start w32time”。 第三步:设置电脑的Windows time服务的启动方式为自动,在“管理工具”的“服务”界面下完成(xp系统默认是自动)。 注意:这台windows主机不能加入任何域,否则无法启动windows time服务。此时,这台windows电脑已经是互联上主时间服务器的客户了,以后每次电脑启动时,都会自动与主时间服务器校对时间。如果网络不通,电脑也会过45分钟后再次自动校对时间。需要提醒的是电脑的时钟与标准时间误差不能超过12个小时,否则不能自动校对,只有手动校正了。 第四步:使这台电脑成为局域网内的时间服务器。用“regedit”打开注册表,把 “HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/Paramet ers”中的 LocalNTP改为1即可。 四.如何设置客户端 客户端的主要任务是连接到局域网内的时间服务器,以保持电脑的时钟与服务器同步。同样分Windows2000、XP几种情况介绍。 1.Windows2000主机 执行设置时间服务器时的前三步即可。 2.WindowsXP主机 可以按Windows2000主机的方法设置,也可双击任务栏右下角的时钟图标,打开“日期时间属性”对话框,在“Internet时间”卡片上选中“自动与Internet 时间服务器同步”,并在服务器上填入内部时间服务器的IP地址即可。

NTP网络时间服务器(时间同步装置)使用手册

NTP网络时间服务器使用手册 北京华人开创科技发展有限公司 2012年10月

第一部分NTP网络时间服务器说明书 一、产品功能 NTP网络时间服务器是一款安全可靠的高精度的网络时间服务器。安装简便(天线放置时能提示可见卫星数),接口可支持以太网10/100Mbps和串口(波特率可设置),用户可修正精度(依据天线长度、串口线长度、客户端软件开销等),网络时间精度1~10mS(秒服务能力3000次/秒),串口时间精度8.33uS。 本产品运行具有较强的健壮性,当授时模块某一时段失效或天线失灵时,系统能自动启用守时机制(4小时内,精度影响甚微),确保NTP服务器能连续可靠工作。当授时模块或天线转为正常时,系统能自行将时间同步精度恢复。 二、产品外观 2.1前视板 2.2后视板

三、产品安装 3.1 连接天线 天线连接到“天线-主”口。 3.2 连接电源 将220V电源线连到AC220V座上或将电源适配器(7.5V~12V)接到DC口上。也可以同时接上,提高供电可靠性。 3.3 LAN网口 支持10/100Mbps以太网,NTP遵循SNTP4.0协议,符合RFC2030要求。 四、开机 4.1 加电 打开电源开关,液晶屏会显示“初始化中。。。。。”、“卫星数:X”。根据卫星数多少、捕获时间,调整天线的位置,最好确保可见卫星数10个以上。 4.2 指示灯说明 报警灯--GPS时间无效 时统1—NTP模块工作 4.3 液晶屏说明 左大部为时间显示,严格按秒脉冲同步(误差小于10uS)。 右上角为系统工作状态指示,第1个字符表示时区(B-北京时间,G-格林威治时间,U-其它时区),但当出现“L”时,意味着NTP进入守时状态;第2个字符表示串口和无线口同步时刻(R-每秒,S-即时5分钟内同步,F-深夜2:00开始8分钟同步);第3个字符表示NTP网口设置与否(N-NTP网口打开,空白-NTP网口关闭)。默认方式显示“BRN”。 右下角指示同步方式和时间精度修正值,第1个字符表示同步方式(T-尾同步,H-头同步);第2~4个字符表示以10ms、1ms、us为单位的精度修正值。缺省配置为“T000"。 五、设备参数设置 关于参数设置,根据显示屏提示,由功能键操作来实施。当显示屏信息提示时,若及时“按”键,表示不选该功能;若2秒内不按“功能键”,默认当前参数选择。首次按下功能键,首先显示“校准时刻:”。 5.1 校准时刻(跳过) 按键跳过该选项转5.2,否则进入该子项选择,依次可选“实时校准”、“即时校准”、“定时校准”、“守时参与校准”、“不再校准”。 注:“实时”指,UART每秒发送时间;

硬盘录像机服务器时间同步方法

PC、硬盘录像机时间同步设置 一.原理:利用NTP服务实现。NTP服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS 等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,W AN 上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。 二.如何使局域网内的电脑时钟同步 首先要在互联网上寻找一台或几台专门提供时间服务的电脑(以下称为“主时间服务器”),在百度和Google里搜索一下,时间服务器还是很多的,笔者推荐pool.ntp.org这个地址。其次设置局域网时钟服务器。选择单位中能上外网的一台电脑,让它与主时间服务器同步,然后把它设为局域网内部的时间服务器(以下称为时间服务器),以后局域网内所有电脑依它为准进行时间校对。 最后设置客户端。如果客户机为win2000、XP或Linux系统,不需要安装任何软件。如客户机为Win98系统时要根据时间服务器类型的不同而区别对待:如果时间服务器选用SNTP协议进行时钟同步,则Win98机上需安装一个sntp客户端软件,如时间服务器由Windows电脑通过netbios协议提供,则Win98上也不需要安装任何软件。 三.如何设置时间服务器 以下分Win2000、XP分别介绍,而且只介绍sntp服务的架设。 1.Windows2000、XP做时间服务器 第一步:指定主时间服务器。在DOS里输入“net time /setsntp:pool.ntp.org”,这里我们指定pool.ntp.org是主时间服务器。 第二步:与主时间服务器同步。先关闭windows time服务,再开启该服务。在DOS里输入“net stop w32time”、“net start w32time”。 第三步:设置电脑的Windows time服务的启动方式为自动,在“管理工具”的“服务”界面下完成(xp系统默认是自动)。 注意:这台windows主机不能加入任何域,否则无法启动windows time服务。此时,这台windows电脑已经是互联上主时间服务器的客户了,以后每次电脑启动时,都会自动与主时间服务器校对时间。如果网络不通,电脑也会过45分钟后再次自动校对时间。需要提醒的是电脑的时钟与标准时间误差不能超过12个小时,否则不能自动校对,只有手动校正了。

域内时间同步设置

域内各个服务器的时间保持一致,是一个很重要而又往往又容易被人忽略的问题,如果时间不同步或出现异常,往往会出现以下问题: 1. 服务器上应用程序Server端无法获取准确的日期,导致反馈给客户端的日期时间不准确 2. 系统日志上时间不正确,无法通过时间点查找错误信息 3. VPN用户无法连接网络,导致无法正常工作 4. Failover Cluster无法正常启动或切换 … 以下内容,我们会介绍如下获取修改系统时间,如何设置成与时间服务器同步,并介绍各个常用的与时间有关的命令。 一.常见命令 1. 修改当前计算机时间 使用time命令,同时会要求您重设时间 如果不需要设置时间,则直接回车即可 这个命令仅限于粗糙的时间调整。 2. 获取当前计算机的日期及时间信息 在Windows HyperV中,用户无法看到图形界面的日期与时间信息,但可以通过以下命令进行查看: a) 在命令行中输入timedate.cpl, 系统自动弹出日期,时间设置窗口,可以在此位置进行设置 b) 在命令行中输入net time [url=file:///]\\IP[/url]地址或计算机名称,此命令还可以查看其他计算机的当前时间,例如: net time [url=file:///]\\3.242.107.129[/url], 如果是域内计算机,想查看当前域的整体时间net time /domain:shinseifin

3. 显示时区 a) Timedate.cpl b) W32tm /tz 显示本地计算机时区设置 4. 很多时间我们想知道,当前域内的计算机是从哪个服务器同步的时间,可以用如下命令: W32tm /monitor /computers:计算机名称 或者w32tm /monitor /domain:域名 结果如下

ntp网络时间服务器的简单介绍

ntp网络时间服务器的简单介绍 局域网内计算机等设备时间不统一,不准确。这在一般应用中不会造成太大的麻烦。但是在某些应用中,比如集群服务、数据库等则会发生宕机,系统无法启动等严重后果,所以就必须要配置ntp网络时间服务器从而保证整个网络中的时间在所有计算机中都是一致的。 每台计算机都有自己的硬件时钟,并由主板上的电池保证在关机情况下也能计时,通常情况下,计算机每次开机会从硬件时钟读取时间,并且使用自己的时钟进行计时。但是在单个单个时钟之间不可避免的会有计时误差。在长时间使用后,时间误差会积累到比较大的数值。同时由于信息的安全需要,很多企事业单位局域网与互联网进行了物理隔离,也无法通过互联网授时服务器实时授时。 一、ntp协议介绍 Ntp可以同步网络中计算机的时间,使得计算机的时间与ntp网络时间服务器保持一致。准确的时间源是NTP提供精准时间的保障,原子钟,INTERNET都可以为ntp协议提供国际标准时间UTC。 NTP采用Client/server结构。每台主机同事与多台时间服务器进行同步,利用一定的算法处理不同服务器的时间信息,择优对本机时间进行校准。即使网络传输出现故障,NTP服务也会有效运转,维持时间稳定,使得主机免受时间源中断带来的干扰。同时NTP服务器能够辨别传输真实的时间信息,以抵抗外界对时间服务器的破坏,提高整个系统的网络安全。以上措施都使NTP成为网络上公认的时间同步工具。 市面上常见的有系统的网络设备包括电脑、服务器、网络摄像头等都是支持ntp 协议的,在实际应用中只需要开启NTP客户端服务即可。 二、ntp网络时间服务器同步时间原理 Windows系统下的时间同步由windows time服务完成,使用ntp协议进行通信,可以达到ms级的时间同步精度。Ntp协议采用客户端/服务器工作模式,服务器接收gps卫星信号或内置的原子钟作为系统的时间基准,客户机按照预先设定的时间

NTP服务时间同步设置

一、市局集中端服务器上搭建NTP服务的服务端 1、在市局集中端服务器上,通过开始菜单,输入regedit命令后打开注册表设定画面。 2、修改以下选项的键值 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\ NtpServer内的「Enabled」设定为1,打开NTP服务器功能

3、修改以下键值 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\ AnnounceFlags设定为5,该设定强制主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体(CMOS) 时钟。 4、在dos命令行执行以下命令,确保以上修改起作用 net stop w32time net start w32time 那么为了避免服务器和internet上的ntp同步,最好追加以下配置: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\

NtpClient的「enable」设定为0 以防止作为客户端自动同步外界的时间服务 二、硬盘录像机设置NTP服务的客户端 (注:只有新版型号的硬盘录像机才有NTP的功能) 1、在市局服务器IE浏览器地址栏输入硬盘录像机IP地址,进入到登陆界面,输入用户名:admin 密码:12345 端口号:8000 登陆后选择菜单“配置”, 2、在“配置”页面左边选择“远程配置”,出来“远程参数配置”页面,在“远程参数配置”页面里选择“网络参数”→“NTP设置”,“启用NTP”打上钩,“服务器地址”统一为市局集中端服务器地址,“NTP端口号”为123,校时间隔:4320(统一设置为三天,这里的单位是分钟),选择时区: ,点儿“保存”按钮。

SNTP 时间服务器同步配置

附件7 服务器环境:WINDOWS 2003 SERVER 客户端环境:WINDOWS XP FROFESSIONAL 实施方案;直接把工程师站作为NTP服务器,各操作员站、过程服务器、历史服务器作为NTP服务器的客户端。 一、服务器端的配置 因为默认情况下,WINDOWS SERVER 2003 是作为NTP客户端工作的,所以必须通过修改注册表,以使系统作为NTP服务器运行。 1、通过开始菜单,输入regedit命令后打开注册表设定画面。 2、修改以下选项的键值 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\N tpServer内的「Enabled」设定为1,打开NTP服务器功能 3、修改以下键值 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\Announce Flags设定为5,该设定强制主机将它自身的时间源。 4、在dos命令行执行以下命令,确保以上修改起作用 〉net stop w32time 〉net start w32time 二、客户机端的配置 主要配置工作 1、在dos命令行执行以下命令,确保以上修改起作用 > net stop w32time 回车 > net start w32time 回车 如果提示:“错误1058:无法启动服务,原因可能是已被禁用与其相关联的设备没有启动。”则在命令行提示符下键入以下命令 >w32tm /unregister 回车 >w32tm /register 回车 会提示:W32Time 成功注册。 再运行命令确保服务起作用 > net stop w32time 回车 > net start w32time 回车 2、通过控制面板或者在任务栏右下角双击时间,打开日期和时间属性,在属性面板里面点击internet时刻标签,出现配置画面。如图:

NTP时间服务器配置

NTP时间服务器学习笔记 引言 NTP时间服务器就是提供时间授权(对时)的服务器,它可以用Linux或Windows系统来架设。总来说NTP时间服务器理解和配置都相对简单,我们只在此提醒一点NTP通信端口采用udp的123端口。以下我们以Windows 2008/Redaht5.4作为时间服务器为服务端,Linux和Windows系统为客户端来学习一下。 服务端 Windows NTP服务器 默认情况下,独立服务器WINDOWS SERVER 2008是作为NTP客户端工作的,所以必须通过修改注册表,以使系统作为NTP服务器运行。工作之前请先备份注册表文件。 1、修改以下选项的键值 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServe r内的[Enabled]设定为1。打开NTP服务器功能(默认是不开启NTP Server服务,除非电脑升级成为域控制站)。 2、修改以下键值 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags 设定为5.该设定强制主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体(CMOS) 时钟。如果要采用外面的时间服务器就用默认的a值即可. # 210.72.145.44 (国家授时中心服务器IP地址) 3、修改以下键值 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type内的[Type]设定为NTP。 4、重启Win32Time服务:先关闭windows time 服务,再开启该服务。可以在“管理工具”的“服务”界面下完成,也可以以DOS 方式输入“net stop w32time”、“net start w32time”。至此,已完成服务器端设定. 注意: 1)通讯端口:123 必须打开 2)Windows Time服务设置为"自动"模式,以便重启系统后,继续提供时间授权。 3)时区不能进行同步,时区是在安装系统时选择或者配置修改。 命令行模式下启动服务: net stop w32time 停止服务/ net start w32time 启动服务

构建自己的局域网时间同步服务器

随着公司业务的拓展,信息系统的不断完善,一个困扰IT人员的问题出现了,局域网有那么多网络设备象路由器、防火墙、交换机等,大量的数据库服务器、应用服务器、We b服务器、FTP服务器等等,每台设备都以自我为中心维持着自身的时间体系,而大量的业务需要一个准确的时间,如何及时准确地同步、更新这些设备的时间体系?一个传统的办法就是在局域网内架设一个时间同步服务器,通过卫星、GPS定位系统来保证与国家授时中心进行时间同步,投资价格通常在3000-50000元不等。 本文试图尝试以互联网为基础,以国内的NTP时间服务器为种子,构建自己的局域网时间同步服务器。 一、网络及服务器环境 本公司网络以2台Cisco 4506组成HSRP双机冗余主交换机核心,分别连接2台Cisc o 3825与电信MPLS-VPN专线连接构成数据专网,连接1台Cisco ASA5510与电信宽带连接提供上网环境,分别连接4台Cisco 2960构成办公网络环境。 网络中使用2台IBM P5-520Q组成数据库服务器,使用2台IBM x3550构成测试服务器及备份服务器。 本文试图在Cisco 4506上创建时间服务器,所有网络设备自动与时间服务器同步,所有服务器及PC端手动与时间服务器同步。 以下是在Cisco IOS系统中配置时间服务器及同步等所涉及的命令。 clock calendar-vaild允许使用硬件时钟作为时间源 clock timezone Beijing 8定义时区为Beijing +8 使用NTP进行系统时钟同步 ntp clock-period 17179 830 ntp update-calendar使NTP周期性地更新硬件时钟 ntp server x.x.x.x系统时钟自动与指定的时间服务器进行同步 ntp master 3允许本机作为NTP协议的主时钟,精度级别3 show clock显示本机时间 show calendar显示本机硬件时钟 show ntp status显示本机NTP的状态 show ntp association显示本机中NTP有关的信息,如轮询周期等 二、创建时间服务器 4506A#configure terminal 1、设置时区及硬件时钟 4506A(config)#clock timezone Beijing 8 4506A(config)#clock calendar-vaild 2、设置时间更新方式 4506A(config)#ntp clock-period 17179830

关于服务器时间同步的一些备忘

操作系统:Windows Server 2008 R2 问题,不能更改NTP服务器 以下为相关的命令。 w32tm /resync //手动向指定的时间源进行时间同步 w32tm /stripchart /computer:13.1.1.5 /samples:30 /dataonly //查询本机时间与时钟源13.1.1.5的时间差 C:\Users\Administrator>w32tm /query /source //核查本地的时钟源是哪里,显示结果一般有两种: //第一种:Local CMOS Clock,时间源是本地CMOS时钟 //第二种:13.1.1.5,0x9,时钟源是你自己设置的NTP服务器 net stop w32time//停掉时钟服务 w32tm /unregister// w32tm /register//和上一条命令配合,初始化时钟配置信息 net start w32time//重启时钟服务 w32tm /config /manualpeerlist:13.1.1.5 /syncfromflags:manual /reliable:yes /update //手工指定NTP服务器为13.1.1.5 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Co

nfig\AnnounceFlags // AnnounceFlags的值为5时,强制时钟源为本地CMOS时钟 // AnnounceFlags的值为a时,时钟源为设定的NTP服务器地址 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Pa rameters\NtpServer // NtpServer就是你要设置的NTP服务器地址,IP地址后面一般会跟上“,0x9”代表每12个小时同步一次 // NtpServer IP地址后面一般会跟上“,0x1”代表每1个小时同步一次 上述操作全部尝试完毕之后,如果还是不行,可以检查组策略编辑器, 单击开始,单击运行,键入gpedit.msc,然后单击确定。 2.在组策略对象编辑器MMC 管理单元中,展开计算机配置,展开管理模板,展开系统,然后单击Windows 时间服务。 3.在右窗格中,右键单击全局配置设置,然后单击属性。 4.在全局配置设置属性对话框中,单击未配置,,然后单击确定。 5.展开Windows 时间服务,时间提供程序,请单击,然后设置未配置到此节点中的所有对象。若要执行此操作,请按照下列步骤操作:a.在右窗格中,双击启用Windows NTP 客户端,请单击未配置,然后单击确定。 b.在右窗格中,双击配置Windows NTP 客户端,请单击未配置,然后单击确定。 c.在右窗格中,双击启用Windows NTP 服务器,请单击未配置,然后单击确

服务器时间同步设置

服务器时间同步设置 服务器时间同步设置 首先我们需要一个可以同步时间的IP地址,不然用域名的话,服务器需要配置DNS解析。我们可以采用 61.129.42.32 https://www.wendangku.net/doc/109232983.html, 129.6.15.28 https://www.wendangku.net/doc/109232983.html, 207.46.130.100 https://www.wendangku.net/doc/109232983.html, 192.43.244.18 https://www.wendangku.net/doc/109232983.html, 中的时间服务器ip。 一:如果服务器配置了iptable 在命令行里输入iptables-save查看现有的iptable设置,如下图: 需要对时间服务器开放限制,因为ntp协议使用的是udp 123端口,所以要对其开放,在命令行里输入: iptables -A INPUT -s 61.129.42.32 -p udp -m udp --dport 123 -j ACCEPT。如下图: 二:如果想让服务器每5分钟与时间服务器同步一次

1.1:在/opt下新建一文件命名为ntprsync.sh,内容: #! /bin/sh /usr/sbin/ntpdate 61.129.42.32 /sbin/hwclock –w 如图: 其中61.129.42.32是时间服务器的IP地址。主机的BIOS时间与Linux系统时间分开,ntpdate 这个指令调整的只是影响系统时间。如果更改BIOS时间,需要用hwlock命令,所以用/sbin/hwclock –w. 再修改其属性 chmod 777 ntprsync.sh 2.在命令行里输入crontab –e,跟vi编辑一样,输入: */5 * * * * /opt/ntprsync.sh 保存退出。 使用命令:crontab -l (查看安排的作业序列)可以看到刚才的作业,如图: 设置完毕,每隔5分钟Linux服务器就和时间服务器服务端同步一次,并且你会收到邮件。在/var/spool/mail/root文件里如图: 3.直接手动执行命令:ntpdate 61.129.42.32 Offset后面是时间的偏移量。

如何使电脑时间每分钟与中国国家授时中心的标准时间同步的方法(图解)

如何使电脑时间每分钟与中国国家授时中心的标准时间的 比对方法 中国国家授时中心的时间服务器IP地址!(210.72.145.44), 大家都知道计算机电脑的时间是由一块电池供电保持的,而且准确度比较差经常出现走时不准的时候。通过互联网络上发布的一些公用网络时间服务器NTP server,就可以实现自动、定期的同步本机标准时间。 以前由于国内没有可用的时间服务器地址,我们只能依靠windows系统默认的windows 或NIST等境外的时间服务器同步时间,但存在着访问堵塞、时间延迟大(同步精度低)等因素的影响。而现在中国的国家授时中心终于发布了一个时间服务器地址,大家终于可以用国人自己的标准时间啦!经我测试速度快、可靠性高,避免了我们总要把自己的时间也要与国外看齐的状况持续下去! 步骤一:采用Windows、linux等操作系统自带的时间同步功能 对于Windows 2000和XP操作系统,自身已经集成了自动对时功能,本网站其他文章介绍了不少操作方法,在此仅以XP操作系统为例介绍一下。 双击系统托盘下方的时间(详细操作参见本站Windows时间同步服务配置方法),在服务器地址栏输入国家授时中心服务器的IP地址(210.72.145.44),然后点击“确定”按钮保存下来就行了。 步骤二:修改注册表,提高时间同步精度 由于系统默认的时间同步间隔是7天,我们无法自由选择,使得这个功能在灵活性方面

大打折扣。其实,我们也可以通过修改注册表来手动修改它的自动同步间隔以提高同步精度,以下以XP系统为例。 1. 在“开始”菜单→“运行”项下输入“Regedit”进入注册表编辑器 2. 展开 [ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpCl ient ] 分支,并双击SpecialPollInterval 键值,将对话框中的“基数栏”选择到“十进制”上 3. 对话框中显示的数字正是自动对时的间隔(以秒为单位),比如默认的604800就是由7(天)×24(时)×60(分)×60(秒)计算来的。设定时间同步周期(建议设为900=15分钟或3600=1小时等周期值),填入对话框,点击确定保存关闭对话框。 4. 在Parameters列表中,将NtpServer键值修改为国家授时中心服务器的IP地址(210.72.14 5.44),然后点击“确定”按钮保存。

利用中国国家授时中心的时间服务器IP地址同步更新Windows系统电脑时间

利用中国国家授时中心的时间服务器IP地址同步更新Windows系统电脑时间 大家都知道计算机电脑的时间是由一块电池供电保持的,而且准确度比较差经常出现走时不准的时候。通过互联网络上发布的一些公用网络时间服务器NTP server,就可以实现自动、定期的同步本机标准时间。依靠Windows系统默认的Windows或NIST等境外的时间服务器同步时间,总存在着访问堵塞、时间延迟大(同步精度低)等因素的影响。现在中国的国家授时中心发布了一个时间服务器地址,大家可以用国人自己的标准时间! 方法一、采用系统自带的时间同步功能 以Vista操作系统为例(WinXP相同)。 单击系统托盘下方的时间,单击弹出窗口里的“更改日期和时间设置”,弹出“日期和时间”对话框,选择“Internet时间”选项卡,单击“更改设置”按钮,弹出“Internet时间设置”对话框,在服务器地址栏输入国家授时中心服务器的IP地址:210.72.145.44,单击“立即更新”按钮,同步完成后点击“确定”按钮退出,OK。 方法二、修改注册表,提高时间同步精度 由于系统默认的时间同步间隔是7天,我们无法自由选择,使得这个功能在灵活性方面大打折扣。其实,我们也可以通过修改注册表来手动修改它的自动同步间隔以提高同步精度,以下以Vista系统为例(WinXP 相同)。 1. 在“开始”菜单→“运行”项下(或按Win+R)输入“Regedit”进入注册表编辑器。 2. 展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]分支,双击NtpServer将键值修改为国家授时中心服务器的IP地址:210.72.145.44,然后点击“确定”按钮保存。 (注:若已用过方法一,此步可以省略) 3. 展开 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient]分支,并双击SpecialPollInterval键值,将对话框中的“基数栏”选择到“十进制”上,输入框中显示的数字正是自动对时的间隔(以秒为单位),比如默认的604800就是由7(天)×24(时)×60(分)×60(秒)计算来的。设定时间同步周期(建议设为900=15分钟,3600=1小时,86400=24小时等周期值),填入对话框,点击确定保存关闭对话框。 中国国家授时中心: https://www.wendangku.net/doc/109232983.html,/stime.asp

添加Windows 10的时间同步服务器

龙源期刊网 https://www.wendangku.net/doc/109232983.html, 添加Windows 10的时间同步服务器 作者:老万 来源:《电脑爱好者》2017年第18期 Q:微软的系统都有一个时间同步的功能,可是它们的服务器都放在中国内地以外的地方,所以难免有的时候会出现时间同步错误的情况。那么如何在Windows 10里面添加其他的时间同步服务器呢? A:按Win+R打开“运行”框,输入regedit打开注册表,定位到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\DateTime \Servers。接着在右侧窗口里面新建一个“字符串值”,然后在“数值名称”里面设置服务器的序号,在“数值数据”填写时间同步服务器的地址即可。 在“日期和时间”对话框里面修改同步服务器即可。 使用FAT32格式化大于32GB的闪存盘 Q:在Windows中默认是无法使用FAT32来格式化大于32GB空间的移动设备的。那么 有没有什么办法可以使用FAT32格式化大于32GB的闪存盘呢? A:如果用户使用的是Windows 10操作系统的话,那么首先运行Windows Powershell,在命令行里面输入“format /FS:FAT32 X:”即可。其中的X就代表移动设备在系统里面当前的 磁盘盘符。如果愿意使用第三方工具,那么可以试一试FAT32 Format。 快速启用系统的“存储感知”功能 Q:现在很多的电脑都开始使用固态硬盘,但是由于固态硬盘的容量通常比较小,所以拿来办公还比较合适,如果要进行视频编辑等操作的话,就会显得非常的捉襟见肘。那么有没有什么好的方法可以解决这个问题呢?

时间服务器的配置

时间服务器配置方法 一.确定网络 两台主机处于同一网段,能相互ping通。(将服务器类型更改为NTP。为此,请按照下列步骤操作: a. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。 b. 找到并单击下面的注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type c. 在右窗格中,右键单击“Type”,然后单击“修改”。 d. 在“编辑值”的“数值数据”框中键入 NTP,然后单击“确定”。(这一步有的机器不用做) 二.设置服务器。 1.开始菜单,输入regedit命令后打开注册表,修改以下选项的键: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\ NtpServer内的「Enabled」设定为1,打开NTP服务器功能。(默认是不开启NTP Server 服务,除非计算机升级成为域控制站。 2.修改以下键值 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\Announc eFlags设定为5,该设定强制主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体(CMOS) 时钟。该设定强制主机将它自身宣告为可靠的时间源,从而运用内置的互补金属氧化物半导体 (CMOS) 时钟。假如要采用外面的时间服务器就用默认的 a 值即可. 3.在dos命令行执行以下命令重启Win32Time服务,确保以上修改起作用 net stop w32time net start w32time 其他:如果该服务器和internet连接,那么为了避免服务器和internet上的ntp同步,最好追加以下配置: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\ NtpClient的「enable」设定为0 以防止作为客户端自动同步外界的时间服务。

局域网内时间同步设置详解

局域网内时间同步设置详解 所谓局域内时间同步,就是在局域网中选定一台时间服务器服务器(作为标准时钟),局域网内的其它设备都与这台时钟进行同步,从而达到全网内的时间同步。 保持时钟同步,是一个网络稳定、可靠运行的前提,比如SDH(同步数字体系)网络中必须要精确的做到时钟同步,才有可能保证网间数据的准确传输,但是这些运行在网络底层的规范对一般用户来说太遥远了,对于局域网用户来说,最常用的时间同步操作就是“自动与Internet时间服务器同步”,如图1所示 图1 自动与Internet时间服务器同步 那么我们在局域网中设置时间同步有什么意义呢?又是如何实现的呢?内外网中时间服务器的设置又有何区别?下面我们结合实际局域网中设置实例来详细说明一下。 一、局域网内由于时间不同步造成的问题 作为网络管理员,既要保证网络设备的稳定运行,又要及时处理网络中随时出现的故障,而如果无法实现时间同步,就会增加处理故障的难度,比如: (一)有时候需要设置CISCO交换机设备定时重启,但每次执行该操作前都要先对时,这样才能保证执行reload命令时的准确性,更要命的是重启后以后,交换机的时间又变回默认的1994年了。

(二)局域内有几十台交换机,虽然大多可以实现远程网管,但由于时间不一致,造成无法准备网络故障发生的确切时间。 (三)最近单位实现指纹机考勤了,同事们也习惯于看电脑上的时间去按指纹,但微机上的时间老不准,结果往往赞成不是去早了就是去晚了,还有在进行文件传输时,不准确的时间信息也影响了检索结果,甚至会引起不必要的误会。 那么如何在局域网内实现时间同步呢? 二、时间同步的方法 (一)外网(办公局域网)时间同步的方法 外网,也就是办公局域网,这个局域网的网络设备都可以接入互联网,一个简化的网络拓扑如图2所示: 图2 外网的简化拓扑 如图2所示,外网使用了一台CISCO3550交换机作为核心交换机,下面级联了若干台CISCO的29系列交换机,局域网内还有多台微机。 在这种网络模式中,我们不能保证每台网络设备都可以快速的与互联网上时间服务器进行时间同步(比如由于网速或是时间服务器本身的问题),能够保证的是局域网内有一个比较稳定可靠的网络质量,这样的话,我们就选定了CISCO3550作为局域网内的时间服务器,CISCO3550交换机肩负着两个作用,一、它要与互联网上的时间服务器进行同步(保证自身时钟准确),二、它要将时钟信息在局域内广播出去,从而使得局域网内的网络设备(交换机、PC机)都可以与它进行时钟同步,从而保证全网内的时钟同步,下面我分别说明一下实现步骤。 1、设置CISCO3550交换机与互联网上的时间服务器进行同步 3550#conf t Enter configuration commands, one per line. End with CNTL/Z.

internet时间同步服务器地址

internet时间同步服务器地址 中国国家授时中心的时间服务器IP地址及时间同步方法 大家都知道计算机电脑的时间是由一块电池供电保持的,而且准确度比较差经常出现走时不准的时候。通过互联网络上发布的一些公用网络时间服务器NTPserver,就可以实现自动、定期的同步本机标准时间。 依靠windows系统默认的windows或NIST等境外的时间服务器同步时间,总存在着访问堵塞、时间延迟大(同步精度低)等因素的影响。现在中国的国家授时中心发布了一个时间服务器地址,大家可以用国 人自己的标准时间! 方法一、采用系统自带的时间同步功能 以Vista操作系统为例,单击系统托盘下方的时间,单击弹出窗口里的“更改日期和时间设置”,弹出“日期和时间”对话框,选择“Internet时间”选项卡,单击“更改设置”按钮,弹出“Internet时间设置”对话框,在服务器地址栏输入国家授时中心服务器的IP地址:210.72.145.44,单击“立即更新” 按钮,同步完成后点击“确定”按钮退出,OK。 方法二、修改注册表,提高时间同步精度 由于系统默认的时间同步间隔是7天,我们无法自由选择,使得这个功能在灵活性方面大打折扣。其实,我们也可以通过修改注册表来手动修改它的自动同步间隔以提高同步精度,以下以Vista系统为例。 1.在“开始”菜单→“运行”项下(或按Win+R)输入“Regedit”进入注册表编辑器。 2.展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\ Parameters]分支,双击NtpServer将键值修改为国家授时中心服务器的IP地址:210.72.145.44,然后点击“确定”按钮保存。(注:若已用过方法一,此步可以省略) 3.展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\ TimeProviders\NtpClient]分支,并双击SpecialPollInterval键值,将对话框中的“基数栏”选择到“十进制”上,输入框中显示的数字正是自动对时的间隔(以秒为单位),比如默认的604800就是由7(天)×24(时)×60(分)×60(秒)计算来的。设定时间同步周期(建议设为900=15分钟或3600=1小时等周 期值),填入对话框,点击确定保存关闭对话框。 中国国家授时中心: https://www.wendangku.net/doc/109232983.html,/stime.asp

域——用w32tm设置服务器时间同步

用w32tm设置服务器时间同步 2016-06-08 15:44:43 服务器时间同步是一个容易被忽视的问题,但在企业级应用环境中,时间差很可能引发应用系统问题。Windows提供的w32tm程序可以用来设置时间同步。 1、指定外部时间源并与之同步 w32tm /config /manualpeerlist:"https://www.wendangku.net/doc/109232983.html, https://www.wendangku.net/doc/109232983.html," /syncfromflags:manual /reliable:yes /update(需要管理员权限执行) /manualpeerlist表示外部时间源服务器列表,多个服务器之间可用空格分隔,210.72.145.44 是中国国家授时中心的时间服务器ip地址 /syncfromflags:manual表示与指定的外部时间源服务器列表中的服务器进行同步 /reliable:yes设置此计算机是一个可靠的时间源。此设置只对域控制器有意义 /update向时间服务发出配置已更改的通知,使更改生效

2、显示本地时间与目的时间的时间差 w32tm /stripchart /computer:210.72.145.44 /samples:30 /dataonly(需要管理员权限执行) 3、显示目前服务器指定的外部时间源 w32tm /query /source(需要管理员权限执行)

域控默认时间源是本机cmos时间 4、恢复Windows Time Service的预设值 net stop w32time w32tm /unregister w32tm /register net start w32time 在域环境中,只需设置根域控制器的外部时间源即可,其它服务器在添加进域中时将自动设置与域控制器时间同步。 改设置可解决域控制器的时间同步问题如:Time-Service EventID:36 5. 同步时间 w32tm /resync

相关文档
相关文档 最新文档