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