王渭 劉子建
摘要:物流行業(yè)數(shù)據(jù)具有訪問高并發(fā)、大數(shù)據(jù)處理、數(shù)據(jù)逆向追蹤等特征,為了實現(xiàn)物流企業(yè)物品智能化識別定位、跟蹤監(jiān)控與管理,本文建立了基于高性能EPC網(wǎng)絡(luò)架構(gòu)的物流追溯信息系統(tǒng)。首先,根據(jù)EPC體系規(guī)范,分析了基于EPC體系結(jié)構(gòu)的物流數(shù)據(jù)流向。其次,給出了對物流信息系統(tǒng)基礎(chǔ)服務(wù)進行分層設(shè)計、采用分布式部署和集群化處理等設(shè)計方法,提出了基于EPC的物流信息系統(tǒng)架構(gòu)。最后,對以EPCIS為內(nèi)核的物流追溯信息系統(tǒng)進行詳細(xì)設(shè)計,運行效果表明了系統(tǒng)設(shè)計方法的有效性。
關(guān)鍵詞:EPC網(wǎng)絡(luò)架構(gòu);RFID;EPCIS;ONS;物流追溯信息系統(tǒng)
中圖分類號:TP391文獻標(biāo)識碼:ADOI:10.3969/j.issn.10036199.2017.01.026
1引言
物流信息化是企業(yè)借助現(xiàn)代信息技術(shù)對物流過程中產(chǎn)生的全部或部分信息進行采集、分類、傳遞、匯總、識別、跟蹤、查詢等一系列處理活動,以實現(xiàn)對貨物流動過程的控制,進而達到降低成本、提高效益的目的 [1-2]。EPC(Electronic Product Code)網(wǎng)絡(luò)是以EPCglobal提出的 EPC系統(tǒng)架構(gòu)規(guī)范為理論基礎(chǔ),以互聯(lián)網(wǎng)平臺為支撐,通過射頻識別RFID(Radio Frequency Identification)電子標(biāo)簽識別物理對象的一種物聯(lián)網(wǎng)系統(tǒng)[3-5],其主要功能是實現(xiàn)對物品信息數(shù)據(jù)的非接觸式采集、網(wǎng)絡(luò)傳輸、存儲和跟蹤查詢管理等。
EPC電子碼的使用,旨在讓每一個產(chǎn)品實現(xiàn)唯一標(biāo)識,通過互聯(lián)網(wǎng)實現(xiàn)信息傳遞和共享,達到對單件產(chǎn)品信息的跟蹤與追溯目的。隨著計算機和互聯(lián)網(wǎng)技術(shù)的發(fā)展,當(dāng)今網(wǎng)絡(luò)的數(shù)據(jù)交互呈現(xiàn)出高并發(fā)、大數(shù)據(jù)、實時傳輸為特征的復(fù)雜性,建立在互聯(lián)網(wǎng)基礎(chǔ)之上的物流EPC網(wǎng)絡(luò)面臨著同樣的挑戰(zhàn),這對物流EPC網(wǎng)絡(luò)架構(gòu)的性能提出了較高要求[6,7]。
歐美一些國家在EPC信息服務(wù)查詢機制的研究方面做了大量的基礎(chǔ)工作,并將這項技術(shù)應(yīng)用于供應(yīng)鏈的物品追溯環(huán)節(jié),主要提出了一些參考模型和應(yīng)用規(guī)范[8-10]。一些學(xué)者在此方面開展了深入研究,取得了一些有價值的研究成果[11-13]。
近年來,國內(nèi)一些學(xué)者和研究機構(gòu)對基于RFID的EPC物聯(lián)網(wǎng)技術(shù)及其應(yīng)用做了相關(guān)研究。顏波等人設(shè)計開發(fā)了基于RFID和EPC物聯(lián)網(wǎng)的水產(chǎn)品供應(yīng)鏈可追溯平臺,實現(xiàn)了對水產(chǎn)品流通過程的全程追溯[14]。針對物聯(lián)網(wǎng)技術(shù)在農(nóng)業(yè)方面的應(yīng)用,徐剛和孫彥景等人分別設(shè)計了基于傳感器物聯(lián)網(wǎng)的精準(zhǔn)灌溉系統(tǒng)和基于物聯(lián)網(wǎng)關(guān)鍵技術(shù)的農(nóng)業(yè)信息化系統(tǒng),實現(xiàn)了農(nóng)業(yè)智能化管理[15, 16]。趙文等人提出了供應(yīng)鏈環(huán)境下一種新的分布式RFID發(fā)現(xiàn)服務(wù),在查詢時采用多個查詢流以提高查詢效率[17]。在解析物聯(lián)網(wǎng)兩層基本涵義的基礎(chǔ)上,錢志鴻等人提出了包括底層網(wǎng)絡(luò)分布、匯聚網(wǎng)關(guān)接入、互聯(lián)網(wǎng)融合、終端用戶應(yīng)用四部分的物聯(lián)網(wǎng)系統(tǒng)架構(gòu),設(shè)計了面向物聯(lián)網(wǎng)的相關(guān)網(wǎng)絡(luò)協(xié)議體系,并從硬件和軟件兩個層面討論了物聯(lián)網(wǎng)的關(guān)鍵技術(shù)[18]。
從上述國內(nèi)外研究現(xiàn)狀可以看出,目前大多數(shù)關(guān)于RFID和EPC物聯(lián)網(wǎng)技術(shù)及其相關(guān)應(yīng)用的研究,大都沒有考慮系統(tǒng)大規(guī)模運行時導(dǎo)致的系統(tǒng)服務(wù)性能瓶頸問題,這些瓶頸問題主要由高并發(fā)數(shù)據(jù)訪問、大數(shù)據(jù)處理等因素產(chǎn)生[19-22],其中某些系統(tǒng)無法提供信息共享服務(wù)性能,沒有設(shè)計統(tǒng)一標(biāo)準(zhǔn)的數(shù)據(jù)訪問接口,只在小范圍局域網(wǎng)內(nèi)使用了基于EPC的物聯(lián)網(wǎng)技術(shù)[23-26]。
本文針對物流行業(yè)數(shù)據(jù)訪問高并發(fā)、大數(shù)據(jù)處理、數(shù)據(jù)逆向追蹤等特征,就物流企業(yè)內(nèi)部和跨企業(yè)間高性能EPC網(wǎng)絡(luò)架構(gòu)的設(shè)計進行分析研究,并對EPC核心平臺:產(chǎn)品電子代碼信息服務(wù)EPCIS系統(tǒng)(EPC Information Services)進行詳細(xì)設(shè)計和開發(fā)實現(xiàn)。
2EPC體系結(jié)構(gòu)分析
2.1EPC體系結(jié)構(gòu)標(biāo)準(zhǔn)
EPC系統(tǒng)結(jié)構(gòu)框架標(biāo)準(zhǔn)是由一系列提供基于EPC核心服務(wù)的包括相關(guān)硬件、軟件和數(shù)據(jù)接口等基本協(xié)議標(biāo)準(zhǔn)所組成的集合。根據(jù)其在EPC網(wǎng)絡(luò)活動中所處的位置,這些基本標(biāo)準(zhǔn)可分為三層:第一層為EPC物理對象交換層,第二層為EPC數(shù)據(jù)采集基礎(chǔ)設(shè)施層,第三層為EPC數(shù)據(jù)共享層,如圖1所示。
2.2EPC體系結(jié)構(gòu)組成
EPC體系結(jié)構(gòu)主要由三部分組成:EPC網(wǎng)絡(luò)數(shù)據(jù)標(biāo)準(zhǔn)、識別系統(tǒng)部分和網(wǎng)絡(luò)信息系統(tǒng)部分。EPC網(wǎng)絡(luò)數(shù)據(jù)標(biāo)準(zhǔn)部分即為EPC編碼體系,識別系統(tǒng)部分即為EPC射頻識別系統(tǒng),而網(wǎng)絡(luò)信息系統(tǒng)部分則包括Savant組件、ONS(Object Name Service)系統(tǒng)和EPCIS系統(tǒng)。
EPC編碼與GTIN、SSCC、GLN等編碼體系兼容,是建立全球統(tǒng)一標(biāo)識系統(tǒng)的重要組成部分。EPC編碼分為四個組成部分:Header為版本號,不同版本的編碼位數(shù)不同;EPC Manager Number為產(chǎn)品的廠商識別代碼;Object Class為產(chǎn)品的分類代碼;Serial Number為產(chǎn)品序列號,用于唯一標(biāo)示一件物品??紤]到物流行業(yè)需要標(biāo)識的物理對象數(shù)量龐大的特點,物流EPC網(wǎng)絡(luò)架構(gòu)可以采用EPC-96或者EPC-256進行編碼,因為編碼位數(shù)越多意味著可以標(biāo)識的產(chǎn)品數(shù)越多。
EPC射頻識別系統(tǒng)主要由RFID標(biāo)簽和RFID讀寫器組成,實現(xiàn)EPC數(shù)據(jù)識別和采集功能。在EPC網(wǎng)絡(luò)中,RFID標(biāo)簽是物品EPC數(shù)據(jù)的物理載體,可外附或內(nèi)嵌在物品上,主要由天線和芯片組成;RFID讀寫器與Savant組件相連,識別并讀取RFID標(biāo)簽信息并將其傳送給Savant組件;RFID標(biāo)簽和RFID讀寫器之間采用無線感應(yīng)的方式進行通信,它們之間的接口遵循相應(yīng)的EPC協(xié)議標(biāo)準(zhǔn)??紤]到RFID標(biāo)簽的成本和性能問題,在物流EPC網(wǎng)絡(luò)中可采用高頻和超高頻RFID標(biāo)簽混用的方式,對列運車箱、集裝箱、貨運托盤、大型包裝箱等大型貨運包裝工具使用超高頻RFID標(biāo)簽進行EPC標(biāo)識,對小型包裝箱和貨物單品使用高頻RFID標(biāo)簽進行EPC標(biāo)識。
Savant組件在EPC網(wǎng)絡(luò)系統(tǒng)中起到承接作用,相當(dāng)于一組中間件服務(wù)系統(tǒng),由用戶定制集成。Savant組件將EPC射頻識別系統(tǒng)傳送過來的標(biāo)簽數(shù)據(jù)進行過濾、整理、收集并傳輸給EPCIS或第三方企業(yè)級應(yīng)用,主要是完成對錯誤數(shù)據(jù)進行校對、屏蔽重復(fù)讀取數(shù)據(jù)、實時存儲數(shù)據(jù)、數(shù)據(jù)壓縮傳輸、任務(wù)事件管理等操作??紤]Savant組件分布在整個供應(yīng)鏈分多層次節(jié)點上的特點,物流Savant組件的設(shè)計在屏蔽內(nèi)部實現(xiàn)技術(shù)細(xì)節(jié)的基礎(chǔ)上,應(yīng)該保證與其它Savant節(jié)點的可互操作性,并且保持良好的可擴展性。
ONS系統(tǒng)是EPC網(wǎng)絡(luò)搜索服務(wù)的一個重要組成部分,主要用來為EPC查詢請求指明存儲了產(chǎn)品相關(guān)信息的服務(wù)器地址,它的設(shè)計與架構(gòu)都以因特網(wǎng)域名解析服務(wù)DNS為基礎(chǔ)。ONS系統(tǒng)將Savant組件傳送的EPC信息轉(zhuǎn)化為存儲產(chǎn)品相關(guān)信息的服務(wù)器的位置信息,該位置信息由一個或者一組互聯(lián)網(wǎng)統(tǒng)一資源定位符URLs(Uniform Resource Locators)組成,Savant組件通過ONS系統(tǒng)返回的URLs即可訪問相關(guān)EPCIS服務(wù)器或相關(guān)Web站點獲取產(chǎn)品信息。
EPCIS系統(tǒng)是實現(xiàn)EPC網(wǎng)絡(luò)數(shù)據(jù)在企業(yè)內(nèi)部或者企業(yè)之間共享的數(shù)據(jù)源頭,它提供了一個模塊化、可擴展的數(shù)據(jù)和服務(wù)接口。EPCIS系統(tǒng)由捕獲應(yīng)用程序、存儲庫、訪問應(yīng)用程序和相應(yīng)上下行接口組成,在錄入和存儲產(chǎn)品信息的過程中,程序以產(chǎn)品類型為存儲單位進行存儲。在物流EPC網(wǎng)絡(luò)中,產(chǎn)品信息包括靜態(tài)信息和動態(tài)信息。例如:產(chǎn)品廠商介紹、產(chǎn)品特性介紹等描述性信息為靜態(tài)信息,可以為同類產(chǎn)品所共有,而產(chǎn)品位置、交易類型、交易時間等信息為動態(tài)信息,必須要以單品形式分開存儲。同時,存在某些特殊產(chǎn)品需要對產(chǎn)品信息進行擴展。因此,物流EPCIS系統(tǒng)應(yīng)該采用可擴展數(shù)據(jù)模型和多種存儲方式。
2.3物流EPC系統(tǒng)數(shù)據(jù)流向解析
在整個供應(yīng)鏈中,物流過程由多個企業(yè)參與完成,因此物流EPC網(wǎng)絡(luò)架構(gòu)服務(wù)中數(shù)據(jù)流分別在企業(yè)內(nèi)部和企業(yè)間產(chǎn)生,如圖2所示。
在物流企業(yè)內(nèi)部,數(shù)據(jù)流從RFID讀寫器對物品EPC標(biāo)簽進行識別開始產(chǎn)生,當(dāng)RFID讀寫器進行寫操作時,EPC寫入應(yīng)用程序通過讀寫器接口對EPC標(biāo)簽進行信息寫入,然后通過EPCIS捕獲應(yīng)用程序?qū)⑾嚓P(guān)物品信息保存到EPCIS存儲庫,并通過Savant中間件將EPCIS地址注冊到本地ONS和云端ONS。當(dāng)RFID讀寫器進行讀操作時,Savant中間件通過讀寫器接口對采集的EPC數(shù)據(jù)進行校驗和過濾,然后將EPC數(shù)據(jù)傳送給EPCIS捕獲應(yīng)用程序,EPCIS捕獲應(yīng)用程序再將其傳送給EPCIS訪問應(yīng)用程序或其它企業(yè)應(yīng)用,EPCIS訪問應(yīng)用程序或其他企業(yè)應(yīng)用根據(jù)得到的PEC數(shù)據(jù)在EPCIS存儲庫中查詢并得到相應(yīng)的物品信息結(jié)果。
在物流企業(yè)和合作企業(yè)之間,數(shù)據(jù)流主要存在于RFID讀寫器對物品EPC標(biāo)簽進行識別和讀取的過程中,Savant中間件通過讀寫器接口對采集的EPC數(shù)據(jù)進行校驗和過濾,并將其傳送至本地ONS系統(tǒng)映射查找相關(guān)的EPCIS服務(wù)地址。若未能在本地ONS實現(xiàn)映射尋址,則將ECP數(shù)據(jù)進一步通過Internet傳送至云端ONS系統(tǒng)映射查找相關(guān)的EPCIS服務(wù)地址。最終Savant中間件將返回的URLs傳送給EPCIS捕獲應(yīng)用程序,EPCIS捕獲應(yīng)用程序再將URLs傳送給EPCIS訪問應(yīng)用程序或其他企業(yè)應(yīng)用,EPCIS訪問應(yīng)用程序或其他企業(yè)應(yīng)用根據(jù)得到的URLs通過Internet對合作企業(yè)的EPCIS系統(tǒng)進行查詢訪問,最終查詢出相應(yīng)的物品信息結(jié)果。
3高性能物流EPC系統(tǒng)架構(gòu)設(shè)計
為實現(xiàn)對物流行業(yè)數(shù)據(jù)訪問高并發(fā)、數(shù)據(jù)同步、大數(shù)據(jù)處理、數(shù)據(jù)逆向追蹤,物流EPC系統(tǒng)架構(gòu)服務(wù)性能設(shè)計可利用互聯(lián)網(wǎng)領(lǐng)域相關(guān)的技術(shù)方法,并結(jié)合自身特點加以改進。
3.1使用二分法對系統(tǒng)切分
二分法則即分層和分割。計算機世界中,分層結(jié)構(gòu)普遍使用,網(wǎng)絡(luò)7層通信協(xié)議是一種分層結(jié)構(gòu),計算機硬件、操作系統(tǒng)和應(yīng)用軟件也可以看做是一種分層。物流EPC網(wǎng)絡(luò)架構(gòu)依然可以采用分層結(jié)構(gòu),將其劃分為橫向維度上遞進的幾個部分,每個部分負(fù)責(zé)相對比較單一的職責(zé)。分割就是將系統(tǒng)從縱向方面進行切分,高內(nèi)聚低耦合的包裝成獨立模塊單元,分布式部署,提高并發(fā)處理能力和功能擴展能力,并有利于開發(fā)和維護。根據(jù)這兩個原則,物流EPC網(wǎng)絡(luò)系統(tǒng)架構(gòu)設(shè)計如圖3所示。
在物流EPC系統(tǒng)架構(gòu)中,最基本的層級為基礎(chǔ)服務(wù)層,主要提供數(shù)據(jù)庫、緩存、消息服務(wù)、數(shù)據(jù)過濾校驗和發(fā)現(xiàn)服務(wù)等基礎(chǔ)技術(shù)服務(wù),這些服務(wù)可以支持整個物流EPC網(wǎng)絡(luò)的海量數(shù)據(jù)和高并發(fā)訪問,是整個系統(tǒng)的技術(shù)基礎(chǔ)。中間層是平臺服務(wù)和應(yīng)用服務(wù)層,物流ECP網(wǎng)絡(luò)的核心是EPCIS信息服務(wù),企業(yè)應(yīng)用是建立在信息服務(wù)平臺的基礎(chǔ)上的衍生服務(wù),這些服務(wù)被分割為獨立的服務(wù)模塊,通過依賴調(diào)用和共享數(shù)據(jù)構(gòu)成EPC網(wǎng)絡(luò)的業(yè)務(wù)基礎(chǔ)。最外層為API接口層,為其它系統(tǒng)和應(yīng)用提供接口服務(wù),并為EPC網(wǎng)絡(luò)系統(tǒng)的擴展提供預(yù)留接口。
這些被分層和分割后的業(yè)務(wù)模塊與基礎(chǔ)技術(shù)模塊分布式部署,每個模塊部署在一組獨立的服務(wù)器集群上,通過遠(yuǎn)程調(diào)用的方式進行依賴訪問。
3.2分布式部署
對物流EPC網(wǎng)絡(luò)系統(tǒng)架構(gòu)進行分層分割,其主要目的就是為了便于將切分后的模塊進行分布式部署,將不同模塊部署在不同的服務(wù)器上,通過遠(yuǎn)程調(diào)用協(xié)同工作。常見分布式方案包括:分布式應(yīng)用和服務(wù)、分布式靜態(tài)資源、分布式數(shù)據(jù)和存儲、分布式緩存和分布式計算等。
在對物流EPC網(wǎng)絡(luò)系統(tǒng)各個模塊進行分布式設(shè)計時,為了應(yīng)對海量數(shù)據(jù)存儲,包括EPC地址映射數(shù)據(jù)和商品信息,ONS系統(tǒng)DB和EPCIS系統(tǒng)DB分別采用分布式存儲。為了實現(xiàn)物流EPC網(wǎng)絡(luò)對信息查詢的快速響應(yīng),可遵循數(shù)據(jù)訪問的二八定律,設(shè)計ONS系統(tǒng)緩存和EPCIS系統(tǒng)緩存,將高頻次讀取操作的20%數(shù)據(jù)緩存起來并分布式部署。為了降低各個模塊之間的耦合和解決異構(gòu)系統(tǒng)的通信,物流EPC網(wǎng)絡(luò)系統(tǒng)采用分布式消息隊列,利用這一發(fā)布-訂閱模式,實現(xiàn)事件驅(qū)動架構(gòu),并對整個EPC網(wǎng)絡(luò)系統(tǒng)擴展新的模塊提供幫助。對于靜態(tài)商品信息,比如商品圖片、靜態(tài)頁面等資源,采用獨立服務(wù)器分布式部署,以減輕物流EPCIS系統(tǒng)的負(fù)載壓力。此外,Savant中間件服務(wù)也是一種采用分布式結(jié)構(gòu)的系統(tǒng),它被部署在商店、分銷中心、地區(qū)辦公室、工廠,甚至有可能在卡車或貨運飛機上。
3.3使用鏈路層負(fù)載均衡的集群
在使用分布式部署之后,雖然將物流EPC網(wǎng)絡(luò)系統(tǒng)的各個模塊獨立部署,但是對于業(yè)務(wù)集中的模塊,比如ONS發(fā)現(xiàn)服務(wù)和EPCIS查詢系統(tǒng),還需要將其獨立部署的服務(wù)器集群化,即使用多臺服務(wù)器部署同一應(yīng)用構(gòu)成集群,通過負(fù)載均衡設(shè)備共同對外提供服務(wù),這將大大的提高物流EPC網(wǎng)絡(luò)并發(fā)訪問特性。
物流EPC網(wǎng)絡(luò)中集群的負(fù)載均衡設(shè)計,采用數(shù)據(jù)鏈路層負(fù)載均衡,這種負(fù)載均衡方式通過在數(shù)據(jù)鏈路層修改Mac地址來進行負(fù)載均衡,如圖4所示。
在這一負(fù)載均衡數(shù)據(jù)分發(fā)過程中,只修改目的Mac地址,集群所有服務(wù)器通過虛擬IP與負(fù)載均衡器保持IP一致,負(fù)載均衡服務(wù)器根據(jù)負(fù)載均衡算法,將請求數(shù)據(jù)的目的Mac地址修改為真實物理服務(wù)器的Mac地址,待真實物理服務(wù)器將請求處理完畢,由于其IP地址與數(shù)據(jù)請求目的IP一致,響應(yīng)數(shù)據(jù)包可以不需要通過負(fù)載均衡服務(wù)器進行地址轉(zhuǎn)換直接返回給客戶端,這樣可以有效避免負(fù)載均衡服務(wù)器成為物流EPC網(wǎng)絡(luò)服務(wù)器集群性能的瓶頸。4EPCIS系統(tǒng)設(shè)計與實現(xiàn)
在整個EPC網(wǎng)絡(luò)系統(tǒng)中,EPCIS系統(tǒng)處于核心地位,負(fù)責(zé)對數(shù)據(jù)進行捕獲、存儲、查詢并返回,也可以根據(jù)具體業(yè)務(wù)邏輯對數(shù)據(jù)進行訂閱查詢。相對于RFID識讀模塊和數(shù)據(jù)處理模塊應(yīng)用層事件ALE,EPCIS系統(tǒng)更靠近EPC網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)上層位置,可以直接與其它企業(yè)級應(yīng)用進行信息交互。
4.1系統(tǒng)功能模塊劃分
依據(jù)EPCIS規(guī)范,EPCIS系統(tǒng)主要針對四種事件數(shù)據(jù)進行處理,分別是對象事件、聚合事件、數(shù)量事件和交易事件。在物流活動過程中,交易事件伴隨發(fā)生對象事件、聚合事件和數(shù)量事件,而這四種事件數(shù)據(jù)又是由ALE(Application Level Event)事件和EPCIS訪問應(yīng)用查詢事件產(chǎn)生。物流EPCIS系統(tǒng)功能模塊劃分如圖5所示。
圖5中物流EPCIS系統(tǒng)分為EPCIS捕獲模塊、EPCIS數(shù)據(jù)庫模塊和EPCIS查詢模塊,通過接口調(diào)用相應(yīng)模塊來處理ALE事件和合作方查詢事件。
當(dāng)有ALE事件進入EPCIS系統(tǒng)時,系統(tǒng)通過EPCIS捕獲接口調(diào)用EPCIS捕獲模塊,判斷ALE事件數(shù)據(jù)處理類型。若是EPC查詢操作,則通過EPCIS查詢接口調(diào)用EPCIS查詢模塊,查詢模塊再調(diào)用EPCIS數(shù)據(jù)庫模塊讀取數(shù)據(jù);若是EPC寫入操作,則直接調(diào)用EPCIS數(shù)據(jù)庫模塊寫入產(chǎn)品相關(guān)信息。
當(dāng)有EPCIS訪問應(yīng)用查詢事件進入EPCIS系統(tǒng)時,系統(tǒng)通過EPCIS查詢接口調(diào)用EPCIS查詢模塊,查詢模塊再調(diào)用EPCIS數(shù)據(jù)庫模塊讀取數(shù)據(jù)返回給合作方查詢系統(tǒng)。
4.2系統(tǒng)功能模塊設(shè)計與實現(xiàn)
根據(jù)EPCIS系統(tǒng)功能模塊劃分,可以通過UML建模工具進行具體類和接口設(shè)計,本文采用Rational Rose工具進行統(tǒng)一建模。在功能模塊詳細(xì)設(shè)計階段主要給出靜態(tài)類圖、部分關(guān)鍵代碼和數(shù)據(jù)模型。
4.2.1EPCIS捕獲模塊
在EPCIS系統(tǒng)業(yè)務(wù)流程中,ALE事件從底層通過ALE接口進入EPCIS捕獲模塊進行數(shù)據(jù)處理。本文采用JMS(Java Messaging Service)傳輸XML文件格式的ALE事件報告。在捕獲模塊類和接口設(shè)計上,根據(jù)EPCIS規(guī)范標(biāo)準(zhǔn)主要設(shè)計有捕獲類、報告接收類、事件解析類和事件類等輔助類。具體類圖設(shè)計如圖6所示。
捕獲模塊核心類分別為EPCISCaputre、ALEReportReceive和ALEReportAnalyse三個類,BizTransaction、EPCISEvent及其派生類為輔助類。其中ALEReportReceive類繼承javax.jms.MessageListener類,監(jiān)聽并接收通過JMS傳輸過來的ALE事件報告(JMS采用Queue傳輸模式)。
ALEReportAnalyse類負(fù)責(zé)解析ALE事件報告,并將解析結(jié)果封裝成對應(yīng)的事件類對象,在這個過程中用到EPCISEvent及其派生類等輔助類。
最終,EPCISCaputre類通過epcisCapture方法調(diào)用ALEReportReceive類和ALEReportAnalyse類的相應(yīng)方法實現(xiàn)EPCISCaptureInterface接口,將解析結(jié)果保存到數(shù)據(jù)庫,完成EPCIS捕獲模塊功能。
4.2.2EPCIS查詢模塊
在EPCIS查詢模塊中,分別要處理即時請求模式和訂閱模式兩種查詢業(yè)務(wù)邏輯。即時請求模式由EPCIS查詢客戶端通過EPC碼等查詢條件發(fā)起查詢并返回查詢結(jié)果,訂閱模式則是服務(wù)端根據(jù)客戶訂閱計劃定時查詢并返回查詢報告。依據(jù)EPCIS規(guī)范,查詢模塊主要包括兩種接口,分別是EPCISQueryControlInterface查詢控制接口和EPCISQueryCallbackInterface查詢回調(diào)接口,這兩個接口統(tǒng)稱為EPCIS查詢接口。具體類圖設(shè)計如圖7所示。
查詢控制類EPCISQueryControl負(fù)責(zé)處理EPCIS應(yīng)用訪問程序發(fā)送的即時查詢請求并返回結(jié)果,以及對訂閱查詢的計劃進行管理。
查詢回調(diào)類EPCISQueryCallback負(fù)責(zé)將根據(jù)訂閱查詢計劃返回的查詢結(jié)果,分發(fā)給目標(biāo)地址的EPCIS訪問應(yīng)用程序。在EPCISQueryControl類中,subscribe方法實現(xiàn)根據(jù)用戶定義的查詢名稱注冊訂閱查詢,params參數(shù)用來傳遞查詢條件的值,dest參數(shù)用來傳遞通過查詢回調(diào)接口分發(fā)查詢結(jié)果的目標(biāo)地址,controls參數(shù)用來傳遞控制訂閱處理的值,比如訂閱計劃的周期等,subscriptionID參數(shù)是一個訂閱的標(biāo)識字符串。
unsubscribe方法實現(xiàn)訂閱查詢退訂操作,通過subscriptionID參數(shù)清除與之對應(yīng)的訂閱查詢計劃。poll方法根據(jù)用戶定義的params參數(shù)值,實現(xiàn)即時查詢并返回查詢結(jié)果。在EPCISQueryCallback類中,callbackResults方法負(fù)責(zé)將根據(jù)訂閱查詢計劃返回的查詢結(jié)果,分發(fā)給目標(biāo)地址的EPCIS訪問應(yīng)用程序。
4.2.3EPCIS數(shù)據(jù)庫模塊
EPCIS數(shù)據(jù)庫模塊負(fù)責(zé)實現(xiàn)EPCIS信息服務(wù)數(shù)據(jù)存儲功能,其存儲內(nèi)容包括整個供應(yīng)鏈流程產(chǎn)生的所有業(yè)務(wù)事件數(shù)據(jù),以及描述這些事件的商業(yè)主數(shù)據(jù)。根據(jù)四種事件之間存在的內(nèi)在關(guān)系,可以將它們的公有屬性抽取出來建立一個protoEvent表,然后再對四種事件剩下的特有屬性分別建表,通過主外鍵約束與Event表關(guān)聯(lián)起來。事件數(shù)據(jù)表關(guān)系如圖8所示。
圖8中protoEvent表有8個屬性,eventId為主鍵屬性,用來標(biāo)識每一個EPCIS事件;eventTime、recordTime 分別記錄事件發(fā)生時間和記錄事件至數(shù)據(jù)庫的時間;timeZoneOffset字段記錄事件發(fā)生地所屬時區(qū);bizStep表示事件所處的業(yè)務(wù)步驟;disposition表示一個業(yè)務(wù)對象的狀態(tài),比如“召回”;readPoint表示讀取epc的具體地點;bizLocation表示事件發(fā)生時所處的地點。
在其他事件子表中,eventId為外鍵屬性;action表示事件的動作種類,有ADD、OBSERVE、DELETE三類取值可能;parentID表示在聚合事件和交易事件中,發(fā)生事件對象的父級對象的標(biāo)識符,一般為epc碼;epcClass描述標(biāo)識事件對象的類別屬性;quantity表示數(shù)量事件所包含的具體數(shù)量;epcList和childEPCs都表示一個事件相關(guān)對象的集合,集合的每一個對象元素的屬性分別保存在epcSet和epcChildset表中。根據(jù)EPCIS標(biāo)準(zhǔn),商業(yè)主數(shù)據(jù)表如圖9所示,商業(yè)主數(shù)據(jù)表與事件數(shù)據(jù)表中的相關(guān)屬性一一對應(yīng),是對事件數(shù)據(jù)屬性的詳細(xì)描述。
本文使用MySQL數(shù)據(jù)庫,并采用Hibernate框架技術(shù)實現(xiàn)數(shù)據(jù)庫模塊持久化層。在com.logistics.epcis.database包中,HibernateUtils類通過Hibernate技術(shù)連接數(shù)據(jù)庫并提供getSession方法返回數(shù)據(jù)庫事務(wù)操作Session。數(shù)據(jù)庫中所有的表都在com.logistics.epcis.beans包中有一個實體類與之對應(yīng),實體類的成員屬性即對應(yīng)表中的屬性。這些實體類實現(xiàn)了set和get方法,并通過Hibernate配置文件與對應(yīng)數(shù)據(jù)庫表進行綁定。
5系統(tǒng)運行效果
在完成EPCIS系統(tǒng)服務(wù)功能后,通過客戶端程序?qū)PCIS捕獲和查詢功能進行演示。本文采用運行在瀏覽器上的B/S客戶端模式,使用JSP技術(shù)和Struts框架完成開發(fā)。主要功能頁面有數(shù)據(jù)捕獲頁面、數(shù)據(jù)查詢頁面、詞匯表管理頁面等。
物流追溯信息系統(tǒng)Web客戶端首頁如圖10所示。用戶可通過http://localhost:8080/EPCIS4Logistics/ 鏈接對系統(tǒng)進行訪問,首次使用需先注冊再登陸,登錄后即可使用EPCIS系統(tǒng)功能。
物流EPCIS客戶端系統(tǒng)數(shù)據(jù)捕獲頁面如圖11所示。系統(tǒng)用戶進入數(shù)據(jù)捕獲頁面,對ALE數(shù)據(jù)報告進行預(yù)覽、解析和加入儲存庫操作,這些操作可分步進行也可以一鍵完成。
物流EPCIS客戶端系統(tǒng)數(shù)據(jù)查詢頁面如圖12所示,系統(tǒng)用戶進入數(shù)據(jù)查詢頁面,可以選擇按條件查詢或者查看訂閱查詢結(jié)果,并可以對訂閱查詢進行設(shè)置。
物流EPCIS客戶端系統(tǒng)詞匯表管理頁面如圖13所示,系統(tǒng)用戶進入詞匯表管理頁面,對系統(tǒng)詞匯表進行管理,包括查詢、添加和刪除操作,詞匯表即對應(yīng)商業(yè)主數(shù)據(jù)內(nèi)容。
6結(jié)語
本文圍繞物流追溯信息系統(tǒng)設(shè)計與實現(xiàn)開展深入研究,建立了基于高性能EPC網(wǎng)絡(luò)架構(gòu)的物流追溯信息系統(tǒng),主要研究工作如下:
(1)在對基于EPC體系結(jié)構(gòu)的物流數(shù)據(jù)流向進行分析的基礎(chǔ)上,采用分層和分割模式,實現(xiàn)了對物流EPC系統(tǒng)結(jié)構(gòu)的有效切分,降低了系統(tǒng)耦合,提高了系統(tǒng)性能。
(2)針對物流領(lǐng)域大數(shù)據(jù)處理、高并發(fā)數(shù)據(jù)訪問、數(shù)據(jù)逆向追蹤等特征,采用數(shù)據(jù)緩存、分布式部署和集群處理的服務(wù)器設(shè)計方法,設(shè)計了高性能EPC網(wǎng)絡(luò)架構(gòu),為解決物流EPC網(wǎng)絡(luò)系統(tǒng)訪問吞吐量、響應(yīng)速度等性能瓶頸問題提供了可靠的設(shè)計方案。
(3)對以物流EPCIS系統(tǒng)為內(nèi)核的物流追溯信息系統(tǒng)進行詳細(xì)設(shè)計和開發(fā),使用Java語言開發(fā)物流EPCIS系統(tǒng)功能模塊,使用物流EPCIS可擴展數(shù)據(jù)模型建立可擴展的物流追溯信息系統(tǒng)數(shù)據(jù)庫表,使用JSP技術(shù)和Struts框架開發(fā)物流追溯信息系統(tǒng)Web客戶端,并對系統(tǒng)運行效果進行了分析,系統(tǒng)界面簡便友好,系統(tǒng)運行順暢,響應(yīng)速度較快,系統(tǒng)功能有效。
隨著RFID電子標(biāo)簽成本的不斷下降和物流行業(yè)的信息化趨勢,基于EPC網(wǎng)絡(luò)的物流信息系統(tǒng)必將迎來蓬勃發(fā)展的重大機遇,而隨著EPC物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,必將對物流行業(yè)的發(fā)展起到重要的促進作用。
參考文獻
[1]楊波, 吳涵. 影響我國物流企業(yè)信息化水平的關(guān)鍵因子分析 [J].數(shù)學(xué)的實踐與認(rèn)識, 2013, 43 (8): 984-1000.
[2]姚燦中, 鄭旭洲. 物流基地出庫行為動力學(xué)的分形特征分析 [J].計算機應(yīng)用研究, 2014, 31 (9): 2613-2616.
[3]趙會群, 樊火生. RFID物聯(lián)網(wǎng)中EPC數(shù)據(jù)抽象與解析方法研究 [J].計算機應(yīng)用與軟件, 2014, 31 (6): 32-36.
[4]CHEN H M,CUI L,XIE K B A.Comparative study on architectures and implementation methodologies of Internet of things [J]. Chinese Journal of Computers, 2013, 36 (1): 168-188.
[5]XIAO F,ZHOU Y,ZHOU J,et al.Universal composable secure protocol for EPC system [J]. The Journal of China Universities of Posts and Telecommunications, 2013, 20 (1): 115-121.
[6]趙震, 張龍昌, 韓汝軍. 基于物聯(lián)網(wǎng)的食品安全追溯研究 [J].計算機技術(shù)與發(fā)展, 2015, 25 (12): 152-155.
[7]ZEN J F,LI R,LUO J,et al.SOAbased RFID public services infrastructure: architecture and its core services [J]. Journal of Systems Engineering and Electronics, 2009, 20 (3): 577-582.
[8]EPC global Inc. EPC Information Services (EPCIS) Version 1.1 Specification [S].2014. http://www.gs1.org/epcis/epcis/latest.
[9]EPC global Inc. http://www.epcglobalinc.org/.
[10]AHN H,KIM K.A policydriven RFID event management framework [J].Telecommunication Systems,2014,55 (1):1-6.
[11]CORPORATION H P.Flexible Capturing Application for Enhanced Generation of EPCIS Events [J]. International Journal of Distributed Sensor Networks,2014,11 (4):275-288.
[12]GEERTS G L, O'LEARY D E. A supply chain of things: The EAGLET ontology for highly visible supply chains [J].Decision Support Systems,2014,63(3):3-22.
[13]JAKKHUPAN W,ARCH S,LI Y.An RFIDbased traceability system [J]. Telecommunication Systems, 2015, 58 (3): 243-258.
[14]顏波, 石平, 黃廣文. 基于RFID和EPC物聯(lián)網(wǎng)的水產(chǎn)品供應(yīng)鏈可追溯平臺開發(fā) [J]. 農(nóng)業(yè)工程學(xué)報, 2013, 15: 172-183.
[15]徐剛, 陳立平, 張瑞瑞,等. 基于精準(zhǔn)灌溉的農(nóng)業(yè)物聯(lián)網(wǎng)應(yīng)用研究 [J]. 計算機研究與發(fā)展, 2010, S2: 333-337.
[16]孫彥景, 丁曉慧, 于滿,等. 基于物聯(lián)網(wǎng)的農(nóng)業(yè)信息化系統(tǒng)研究與設(shè)計[J]. 計算機研究與發(fā)展, 2011, S2: 326-331.
[17]趙文, 李信鵬, 劉殿興,等. 供應(yīng)鏈環(huán)境下一種分布式RFID發(fā)現(xiàn)服務(wù) [J]. 電子學(xué)報, 2010, S1: 99-106.
[18]錢志鴻, 王義君. 物聯(lián)網(wǎng)技術(shù)與應(yīng)用研究 [J]. 電子學(xué)報, 2012, 5: 1023-1029.
[19]毛燕琴, 沈蘇彬. 物聯(lián)網(wǎng)信息模型與能力分析[J]. 軟件學(xué)報, 2014, 25 (8): 1685-1695.
[20]陳海明, 崔莉, 謝開斌. 物聯(lián)網(wǎng)體系結(jié)構(gòu)與實現(xiàn)方法的比較研究 [J]. 計算機學(xué)報, 2013, 1: 168-188.
[21]夏娣娜. 關(guān)于RFID和EPC物聯(lián)網(wǎng)的水產(chǎn)品供應(yīng)鏈可追溯平臺開發(fā) [J]. 電子技術(shù)與軟件工程, 2015, 24: 75.
[21]CHENG J,SUNG H. Robust digital receiver for EPC sensor network [J]. Journal of Systems Engineering and Electronics, 2013, 1: 44-51.
[23]趙會群, 王同林, 石彪. 一種基于冗余的容錯EPC識讀系統(tǒng)的設(shè)計和實現(xiàn) [J]. 計算機應(yīng)用與軟件, 2014, 31 (2): 106-108.
[24]侯瑞春, 丁香乾, 陶冶,等. 制造物聯(lián)及相關(guān)技術(shù)架構(gòu)研究 [J]. 計算機集成制造系統(tǒng), 2014, 20 (1): 11-20.
[25]沈蘇彬, 林闖. 物聯(lián)網(wǎng)研究的機遇與挑戰(zhàn) [J]. 軟件學(xué)報, 2014, 8: 1621-1624.
[26]羅元劍, 姜建國, 王思葉,等. 基于有限狀態(tài)機的RFID流數(shù)據(jù)過濾與清理技術(shù) [J]. 軟件學(xué)報, 2014, 25 (8): 1713-1728.
第36卷第1期2017年3月計算技術(shù)與自動化Computing Technology and AutomationVol36,No1Mar. 2 0 1 7第36卷第1期2017年3月計算技術(shù)與自動化Computing Technology and AutomationVol36,No1Mar. 2 0 1 7