由于Web服務(wù)器與數(shù)據(jù)庫服務(wù)器的時鐘不同步,造成競拍結(jié)果引起爭議。最后5秒內(nèi)出價的一位朋友,數(shù)據(jù)庫記錄的出價時間超出了拍賣結(jié)束時間。這個程序造成的問題,完全是我們的責(zé)任,我們將給那位最后出價者補(bǔ)償一部WP7手機(jī)。給我們的教訓(xùn)是,技術(shù)上不能有絲毫疏忽,F(xiàn)在我們已經(jīng)解決了服務(wù)器時鐘同步問題,在這里將解決方法分享給大家。
時鐘同步功能簡介:
在Windows系統(tǒng)中,時鐘同步是通過Windows Time服務(wù)(W32Time)完成的。W32Time通過NTP(Network Time Protocol)協(xié)議訪問目標(biāo)時鐘同步服務(wù)器的123端口進(jìn)行時間同步。服務(wù)器的地址可以在“時間與日期”設(shè)置窗口的“Internet Time” 選項(xiàng)中進(jìn)行設(shè)置。Windows默認(rèn)提供了幾個互聯(lián)網(wǎng)上的時鐘同步服務(wù)器地址,比如:time.windows.com,你電腦上的時鐘同步就是W32Time通過訪問這里預(yù)設(shè)的服務(wù)器地址進(jìn)行的。默認(rèn)的時間間隔是7天。
你也許會問,既然Windows默認(rèn)提供了時鐘同步,那博客園服務(wù)器怎么會出現(xiàn)時間不同步的情況。這是因?yàn)槲覀兊臄?shù)據(jù)庫服務(wù)器與互聯(lián)網(wǎng)沒有直接連接,無法訪問預(yù)設(shè)的時鐘同步服務(wù)器。所以,我們的解決方法就是搭配自己的時鐘同步服務(wù)器,其他服務(wù)器都與這臺服務(wù)器進(jìn)行時鐘同步。
配置步驟:
——服務(wù)器端配置——
1. 選擇一臺服務(wù)器作為時間同步服務(wù)器。
2. 運(yùn)行Regedit,打開注冊表編輯器。
3. 找到注冊表項(xiàng)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\,在右側(cè)窗口中將AnnounceFlags的值修改為5。
4. 繼續(xù)找到注冊表項(xiàng)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\,在右側(cè)窗口中將Enabled的值修改為1。
5. 在命令行中輸入”net stop w32time && net start w32time“重啟W32Time服務(wù)。
6. 修改Windows防火墻設(shè)置,允許123端口的UDP連接。
——客戶端配置——
1. 設(shè)置目標(biāo)服務(wù)器地址:
打開修改日期與時間的窗口,進(jìn)入“Internet Time” 選項(xiàng),輸入時鐘同步服務(wù)器的網(wǎng)址或IP地址,如下圖:
然后點(diǎn)擊同步按鈕,配置沒問題的話,就會顯示同步成功,如下圖:
2. 設(shè)置同步時間間隔:
默認(rèn)的同步時間間隔是7天,實(shí)在是太久了,可以修改為你想要的同步時間間隔。
在客戶端電腦上打開注冊表編輯器,找到注冊表項(xiàng)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient,在右側(cè)窗口中找到SpecialPollInterval,打開修改窗口,選擇十進(jìn)制,輸入同步時間間隔即可(單位為秒)。如下圖: