NTP服務器:應用安全追溯系統(tǒng)
2022-05-17 14:12 觀看次數(shù):
摘要:藥食品質量安全追溯系統(tǒng)中各計算機設備間必須保持精確的時間同步,才能保證對藥品食品各種相關信息的記錄準確可靠?;诰W(wǎng)絡時間協(xié)議(NTP),結合安全追溯系統(tǒng)的網(wǎng)絡結構特點,設計了一種低成本、低負載、較為可靠的時間同步方案,選用衛(wèi)星(GPS北斗)作為整個系統(tǒng)的時鐘源,構建了中心服務器級、分區(qū)服務器級以及生產(chǎn)、銷售企業(yè)或組織級三個級別構成的網(wǎng)絡時間同步網(wǎng)絡,并可以根據(jù)實際情況靈活調整。將時間同步的服務端和客戶端的實現(xiàn)封裝成為單獨的類庫,采取動態(tài)鏈接庫的形式,便于與現(xiàn)有的追溯系統(tǒng)集成。系統(tǒng)各設備間時間同步的精度可以達到數(shù)十毫秒,滿足藥品食品安全追溯的要求。那么NTP服務器,GPS北斗同步時鐘,時間同步服務器就起到到很大的作用,下面是針對于藥食方面與時間同步的介紹。
引言
藥品食品質量安全追溯系統(tǒng)要求在產(chǎn)品生產(chǎn)、加工、運輸、銷售的各個環(huán)節(jié)詳細記錄過程檔案信息,實現(xiàn)源頭可追溯、流向可跟蹤、信息可存儲、產(chǎn)品可召回的目標。追溯系統(tǒng)是促進生產(chǎn)信息透明化,提高食品衛(wèi)生安全的重要措施。時間信息在過程檔案的記錄中具有十分重要的作用,整個系統(tǒng)的各種計算機設備之間必須保持精確的時間同步,才能保證對產(chǎn)品的各種相關信息的記錄存儲準確有效,保證這些記錄作為追溯分析依據(jù)的權威性和公信性。
追溯系統(tǒng)基于多種不同的計算機和網(wǎng)絡通信設備工作,這些設備主要依靠自身的時鐘振蕩器工作,由于溫濕度變化、電磁干擾、振蕩器老化和生產(chǎn)調試等原因,其時鐘的振蕩頻率和標準頻率之間存在一些誤差,設備與設備之間存在著一定的時間誤差,這些誤差乍看似乎微不足道,而在長期積累后會產(chǎn)生相當大的影響。同時,在追溯系統(tǒng)中還較多的使用了包括掌上電腦在內的嵌入式設備來讀取產(chǎn)品的標識(條形碼、電子標簽等),以及在現(xiàn)場填報過程檔案數(shù)據(jù)。這些嵌入式設備多采用電池供電,其時鐘不準確的現(xiàn)象更為突出,經(jīng)常需要進行時間校準,以保證檔案記錄中的時間與標準時間一致。在目前的追溯系統(tǒng)中,設備的時間校準往往取決于使用者的習慣,手段常為參照自選的標準手工設定時鐘,這種辦法效率低下、準確程度較低,無法滿足對產(chǎn)品從生產(chǎn)到流通的全過程進行精確溯源、全面追蹤的要求。
本文在NTP網(wǎng)絡時間同步技術的基礎上,結合產(chǎn)品質量安全追溯系統(tǒng)的網(wǎng)絡結構特點,設計了一種低成本、低負載、較為可靠的時間同步方案,選用衛(wèi)星(GPS北斗)作為整個系統(tǒng)的時鐘源,構建了中心服務器級、分區(qū)服務器級以及生產(chǎn)、銷售企業(yè)或組織級三個級別構成的網(wǎng)絡時間同步,可以根據(jù)實際情況靈活增減級別,并在時鐘源以下的設備級別加入新的設備。整個網(wǎng)絡穩(wěn)定可靠、精度較高,能充分滿足產(chǎn)品質量追溯的要求。
1、NTP網(wǎng)絡時間同步原理
時間同步是指網(wǎng)絡各節(jié)點設備的時鐘時刻和時間間隔與世界標準時間(Universal Time Coordinated, UTC)同步,保證各設備的時間信息基于UTC時間的誤差限定在足夠小的范圍內。
NTP(Network Time Protocol,網(wǎng)絡時間協(xié)議)由美國德拉瓦大學的David L.Mills 教授于1985 年提出,用于實現(xiàn)互聯(lián)網(wǎng)上計算機的精確的時間同步。SNTP(SimpleNetwork Time Protocol)的全稱是“簡單網(wǎng)絡時間同步協(xié)議”,是一個簡化了的NTP服務器和NTP客戶端策略,不需要實現(xiàn)NTP協(xié)議的所有功能,其功能是使網(wǎng)絡內設備的時鐘與標準的時鐘源保持同步。NTP對性能差異很大的客戶端及服務器均能適用,且適用于客戶端及服務器所在網(wǎng)絡有大范圍的網(wǎng)絡延遲和抖動的情況。NTP協(xié)議同步系統(tǒng)時鐘有兩種工作模式。一是廣播模式Multicast/Broadcast mode):此種工作模式適用于高速的局域網(wǎng)內部,服務器在固定周期向多個客戶機主動發(fā)出時間信息,客戶機根據(jù)此時間信息校正系統(tǒng)時鐘;二是客戶機/服務器模式(Client/Server mode),客戶機定時向授時服務器請求時間信息,根據(jù)雙方交換的時間信息,實現(xiàn)客戶機與NTP服務器時鐘的同步。
客戶機/服務器模式下客戶機首先向服務器發(fā)送一個NTP包,其中包含了該包離開客戶機時的時間戳T1,當服務器接收到該包時,依次填入數(shù)據(jù)包到達時的時間戳T2 和包離開時的時間戳T3,然后立即把包返回給客戶機,客戶機接收到響應包時再填入包回到客戶機的時間戳T4,客戶機利用這4個時間戳和包交換的往返延遲(TQ和TR)就能夠計算出客戶機與服務器之間的時鐘偏移量ΔT,
現(xiàn)已知T1、T2、T3、T4 和參數(shù)TQ、TR,可以得出時鐘偏移量ΔT 的方程式有:
T2=T1+TQ+ΔT (1)
T4=T3+TR-ΔT (2)
假設發(fā)送和響應NTP 包在網(wǎng)絡上的延遲時間TQ、TR 相等,則根據(jù)方程式(1)和方程式(2)可以得出:由方程式(3)可以看出客戶機系統(tǒng)時鐘偏差量ΔT與T1、T2 差值和T4、T3 差值相關,而與T2、T3 的差值無關,即時鐘偏差量與時鐘服務器的響應速度無關??蛻魴C根據(jù)時鐘偏移量ΔT 來調整本系統(tǒng)時鐘,以使其時間與服務器時間一致。
2、系統(tǒng)時間同步的設計和實現(xiàn)
時間同步對于產(chǎn)品質量安全追溯系統(tǒng)有著重要的作用,為了使系統(tǒng)內各設備之間保持時間同步,需要解決四個方面的問題:一是盡量選取非常精確的時間源,各設備與該時間源的誤差值應較小;二是自動實現(xiàn)時間同步,排除人工因素;三是降低系統(tǒng)開銷,適應現(xiàn)有追溯系統(tǒng)的網(wǎng)絡條件,同時具備較好的擴充能力;四是盡量屏蔽異質網(wǎng)絡和設備之間的差異。系統(tǒng)時間同步的設計方案將逐一討論這些問題。
產(chǎn)品質量安全追溯系統(tǒng)一般由多個子系統(tǒng)構成,包括生產(chǎn)子系統(tǒng)、加工子系統(tǒng)、運輸子系統(tǒng)、銷售子系統(tǒng),以及對用戶權限進行配置管理的子系統(tǒng)等,這些子系統(tǒng)通過網(wǎng)絡連結為一個整體進行工作。其中涉及的網(wǎng)絡多種多樣,包括以太網(wǎng)、無線WLAN網(wǎng)絡、GPRS/CDMA無線網(wǎng)絡、藍牙/紅外傳輸網(wǎng)絡等。同時子系統(tǒng)運行的計算機軟、硬件環(huán)境也存在較大的差異。為適應現(xiàn)有的網(wǎng)絡條件,使系統(tǒng)差異較大的網(wǎng)絡和設備環(huán)境能順利的協(xié)同工作,滿足不同的設備進行校時的需要,設計了一個統(tǒng)一的與各子系統(tǒng)相對獨立的時間同步網(wǎng)絡,其結構如圖2所示。
整個時間同步網(wǎng)絡結構分為三級,依次為中心服務器級、分區(qū)服務器級以及生產(chǎn)、銷售企業(yè)或組織級。各個級別包括不同的計算機設備:中心服務器是保存中央數(shù)據(jù)庫的專門計算機,是依據(jù)產(chǎn)品種類或涉及的行業(yè)而劃分的特定服務器,例如食品質量溯源中心服務器,在國家或省一級設置。分區(qū)服務器是根據(jù)集中填報數(shù)據(jù)、審查數(shù)據(jù)的需要而設置的介于中心服務器和第三級設備之間的計算機。最后一級是實際供應鏈中的企業(yè)或集體組織的計算機,覆蓋產(chǎn)品生產(chǎn)、加工、運輸、銷售的各個環(huán)節(jié),包括臺式電腦、掌上電腦、標識讀寫儀等多種類型的設備。中心服務器和分區(qū)服務器之間使用有線的網(wǎng)絡環(huán)境進行互聯(lián),而分區(qū)服務器和第三級設備之間既可以使用有線的網(wǎng)絡環(huán)境,也可以使用無線網(wǎng)絡進行通信,以充分利用現(xiàn)有的網(wǎng)絡設備資源。第一級設備(中心服務器)從標準的時鐘源獲取準確的時間,向第二級設備授時,實現(xiàn)與第二級設備的時間同步,第二級設備向第三級設備授時,實現(xiàn)與第三級設備的時間同步。同時,第二級設備除了會向第一級設備請求校時外,還可以彼此之間進行校時,由于不同的通路其網(wǎng)絡傳輸延時不同,通過從多種通路分別請求校時,大大保證了系統(tǒng)的可靠性和校時的準確性。同理,第三級設備向多個第二級設備請求校時,一方面可以獲取更精準的時間,另一方面也可以在某一個設備出現(xiàn)故障時仍能正常工作。整個時間同步網(wǎng)絡較為可靠,能穩(wěn)定地實現(xiàn)整個網(wǎng)絡內設備的時間同步,除非大部分的設備同時出現(xiàn)癱瘓,在局部計算機出現(xiàn)意外情況下仍能正常工作。
系統(tǒng)在時間同步時使用NTP協(xié)議,其傳輸基于用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol, UDP),要求的資源開銷和網(wǎng)絡帶寬很小,能有效地避免擁塞。同時該協(xié)議是TCP/IP的應用層協(xié)議,支持TCP/IP的網(wǎng)絡都可以使用這種方法進行校時。追溯系統(tǒng)涉及多種異質網(wǎng)絡和設備絕大多數(shù)都對TCP/IP協(xié)議提供了很好的支持,因此可以不關心異質網(wǎng)絡和設備之間的差別,實現(xiàn)追溯系統(tǒng)內整體的時間的同步。
測試表明NTP時間同步網(wǎng)絡在廣域網(wǎng)范圍內可以達到幾個毫秒的精度,完全可以滿足追溯系統(tǒng)對時間同步精度的要求。目前的產(chǎn)品質量追溯系統(tǒng)的數(shù)據(jù)庫結構包括中央數(shù)據(jù)庫和并列數(shù)據(jù)庫,采用的也不一定都是時間同步網(wǎng)絡結構的三級結構,這時也可以直接將三級網(wǎng)絡結構縮減為二級甚至一級使用,或者擴充至更多級別,只要保證選用一個穩(wěn)定、可靠、成本較低的時鐘源,其它設備都通過NTP協(xié)議方式與該時鐘源進行時間校準,即可以實現(xiàn)整個系統(tǒng)內的時鐘同步。時間同步網(wǎng)絡結構的三級結構在設計上有較大的彈性,除了上述的可以減增級別外,還可以在時鐘源以下的設備級別加入新的設備,只要該設備及其連接的網(wǎng)絡支持TCP/IP協(xié)議,即可以構成一個完整的系統(tǒng)時間同步網(wǎng)絡,實現(xiàn)新加入設備的時間與原有設備一致。
3、系統(tǒng)時間同步網(wǎng)絡的特點
1)以衛(wèi)星時間作為第一級服務器的標準時鐘源,使用NTP網(wǎng)口/串口方式獲取衛(wèi)星時間,其誤差在毫秒級,準確可靠;
2)整個網(wǎng)絡的成本較低,僅需要增加作為時鐘源的衛(wèi)星硬件設備;
3)具有較大的靈活性,可以根據(jù)實際追溯系統(tǒng)的結構和現(xiàn)有網(wǎng)絡情況調整網(wǎng)絡的級別,可以隨時加入或減少連結到網(wǎng)絡的設備;
4)系統(tǒng)運行采取的是多對多的模式,一個服務器對應于多個客戶端,一個客戶端也可以對應多個服務器,存在多條通路,不僅可以減少一個服務器的負荷,還可以在網(wǎng)絡或設備存在故障時起到分流和備用的作用,增強了系統(tǒng)工作的可靠性和穩(wěn)定性;
5)整個系統(tǒng)的負載較小,一個NTP數(shù)據(jù)包的字節(jié)數(shù)僅為幾十個字節(jié),且第三級設備校時的頻率是在每30min內進行2次,系統(tǒng)開銷非常小。
4、結論
本文從分析NTP協(xié)議入手,結合產(chǎn)品質量追溯系統(tǒng)的結構特點,提出了基于NTP的時間同步辦法,建立了系統(tǒng)時間同步網(wǎng)絡,并將時間同步的服務端和客戶端封裝為獨立的類庫,以實現(xiàn)與各種現(xiàn)有系統(tǒng)的裝配。與現(xiàn)有系統(tǒng)進行集成裝配的應用表明,基于NTP的時間同步網(wǎng)絡負載較小,是產(chǎn)品質量安全追溯系統(tǒng)中實現(xiàn)時間同步的有效辦法。本文主要探討的是一個時間源的情況下整個系統(tǒng)進行校時的辦法,實際情況下的可能存在多個不同的時間源,需要進一步研究在這種情況如何穩(wěn)定可靠地實現(xiàn)系統(tǒng)的時間同步。