[摘要]本文介紹了一種基于狀態(tài)字驅(qū)動的物流信息平臺數(shù)據(jù)交換方式,以Web Service技術(shù)為基礎(chǔ),通過簡單的臨時表及狀態(tài)字設(shè)計,高效地實現(xiàn)了物流信息系統(tǒng)中各子系統(tǒng)之間的數(shù)據(jù)共享與數(shù)據(jù)交換。該數(shù)據(jù)交換方式通過在具體的物流企業(yè)中的實際運行,證明是可行并能充分發(fā)揮其重要作用的。
[關(guān)鍵詞]物流信息平臺;數(shù)據(jù)交換;Web服務(wù);臨時表;狀態(tài)字
[中圖分類號]TP393 [文獻標識碼]A [文章編號]1005-6432(2008)49-0010-04
1 引言
現(xiàn)代物流中,信息已成為提高運營效率、降低成本、增進客戶服務(wù)質(zhì)量的核心因素。信息化的外延與支撐是信息平臺,其應(yīng)具備數(shù)據(jù)交換功能、信息發(fā)布服務(wù)功能、會員服務(wù)功能、在線交易功能、智能配送功能。在信息平臺上,信息流的處理和利用水平?jīng)Q定整個物流過程的運作水平。信息平臺的建設(shè),一方面是發(fā)展現(xiàn)代物流的核心和關(guān)鍵;另一方面通過建設(shè)信息平臺又極大地推動著現(xiàn)代物流向前發(fā)展。
物流系統(tǒng)是多個子系統(tǒng)組成的復(fù)雜系統(tǒng),通過物資實體的運動聯(lián)系在一起,一個子系統(tǒng)的輸出是另一個子系統(tǒng)的輸入,其相互銜接是通過信息的傳遞實現(xiàn)的。信息平臺擔負著信息系統(tǒng)中共用信息的共享交換功能,從而實現(xiàn)有限資源的合理共享與實時信息的及時互動。
物流信息平臺的核心系統(tǒng)是數(shù)據(jù)交換。本文設(shè)計了一種運用于物流信息系統(tǒng)的數(shù)據(jù)交換方式。該方式主要通過Web Service技術(shù)實現(xiàn)數(shù)據(jù)從企業(yè)內(nèi)部至信息平臺的傳輸;在信息平臺上,通過業(yè)務(wù)臨時表提高數(shù)據(jù)交換效率,--分布于臨時表內(nèi)的各類狀態(tài)字則驅(qū)動著整個數(shù)據(jù)交換流程的順利完成。
該信息平臺結(jié)合南京某物流企業(yè)具體實施,該企業(yè)由南京總部與下屬其他八十多個城市網(wǎng)點組成。每天,在總部與各網(wǎng)點之間有一萬多票(約兩萬多件)貨物的運輸往來。貨物的流動,對貨量統(tǒng)計、金額結(jié)算、貨物狀態(tài)實時查詢定位等提出了一系列需求。而通過本信息平臺的使用,可以很好地為其提供與此相關(guān)的一系列及時準確的信息服務(wù)。
2 系統(tǒng)架構(gòu)
本系統(tǒng)采用C/S與B/S相結(jié)合的架構(gòu)模式,以便充分發(fā)揮C/S模式高效快速穩(wěn)定的事務(wù)處理能力,同時,又可以充分體現(xiàn)B/S模式網(wǎng)絡(luò)擴展性強、跨平臺性及分布式好等優(yōu)勢。這種集成式的體系結(jié)構(gòu)能較好地適應(yīng)現(xiàn)代物流信息系統(tǒng)的要求,如開放性好、可擴展性強、具有安全性和協(xié)同性、快速反應(yīng)強、信息的集成性高及支持遠程處理等。
在企業(yè)內(nèi)部,采用C/S結(jié)構(gòu)。物流信息系統(tǒng)要求高實時性及強交互性,并且處理的數(shù)據(jù)量相當大,因而直接通過ODBC在局域網(wǎng)內(nèi)調(diào)用企業(yè)內(nèi)部服務(wù)器進行數(shù)據(jù)交換,可以很好地滿足內(nèi)部用戶的信息處理要求。而對于外部用戶(如企業(yè)用戶),則采用B/S結(jié)構(gòu)。因為對于外部用戶而言,要求系統(tǒng)具有很好的開放性與通用性、跨平臺性強并可實現(xiàn)遠程數(shù)據(jù)傳輸。至于內(nèi)部服務(wù)器與Web服務(wù)器之間的數(shù)據(jù)傳輸則通過內(nèi)部服務(wù)器上發(fā)出Web服務(wù)調(diào)用實現(xiàn)。

本系統(tǒng)的架構(gòu)模型如圖1所示,該結(jié)構(gòu)旨在將C/S與B/S的優(yōu)勢集成,使本信息系統(tǒng)既具有封閉性、專用性的特點,同時又具有開放性、通用性等優(yōu)點。從該模型圖中可以看到,信息平臺的核心地位,不管是內(nèi)部用戶還是外部用戶,數(shù)據(jù)的最終傳遞都與該平臺緊密相關(guān)。本系統(tǒng)中,內(nèi)部用戶包括總部與下屬各網(wǎng)點,其各自的數(shù)據(jù)通過運行在客戶端的信息系統(tǒng)程序傳輸至各自的內(nèi)部服務(wù)器,再由內(nèi)部服務(wù)器傳輸至信息平臺;同時,各內(nèi)部服務(wù)器又通過信息平臺獲取各自所需數(shù)據(jù)并在各客戶端顯示。通過這一流程,企業(yè)內(nèi)部各節(jié)點的數(shù)據(jù)就實現(xiàn)了傳遞、交換與共享。而外部用戶主要為該企業(yè)客戶,其通過瀏覽器訪問該信息平臺即可查詢到該客戶托運貨物的當前狀態(tài),這些貨物狀態(tài)正是通過前面的流程得以不斷更新以提供實時查詢服務(wù)的。
3 關(guān)鍵技術(shù)與方法
3.1 Web Service技術(shù)
在信息技術(shù)高速發(fā)展的今天,應(yīng)用程序開發(fā)正在從孤立的、整體式的解決方案朝著真正分布式的、模塊化、開放的、跨企業(yè)的基于Internet的方向轉(zhuǎn)變。一般而言,一個系統(tǒng)與另一個系統(tǒng)的集成是非常復(fù)雜困難的。應(yīng)運而生的Web Service可以很好地解決這個問題。
Web Service使用SOAP通過XML標準傳遞數(shù)據(jù)。XML的獨立于平臺、跨平臺的數(shù)據(jù)共享的特性使得WebService能獨立于平臺,通過URL訪問,系統(tǒng)互操作更便捷。
基于其技術(shù)的突出優(yōu)點,本系統(tǒng)采用該技術(shù)進行數(shù)據(jù)通信,以實現(xiàn)企業(yè)內(nèi)部服務(wù)器與信息平臺的Web服務(wù)器之間的良好互操作。內(nèi)部服務(wù)器上運行的通信程序通過調(diào)用Web服務(wù)器上提供的Web服務(wù)來實現(xiàn)數(shù)據(jù)的交換,即數(shù)據(jù)的上傳與下載。
3.2 臨時表
在本系統(tǒng)中,數(shù)據(jù)的交換與共享發(fā)生在企業(yè)總部及其下屬多個網(wǎng)點之間。每個網(wǎng)點既有屬于本網(wǎng)點的內(nèi)部數(shù)據(jù),又有需進行交換的外部數(shù)據(jù),而對于總部而言,其下屬網(wǎng)點的所有外部數(shù)據(jù)最終將全部匯總至總部,以便于總部對業(yè)務(wù)數(shù)據(jù)的統(tǒng)計及結(jié)算。可見,各網(wǎng)點既是獨立的個體,又處于松散的企業(yè)大聯(lián)合之中,其中總部處于領(lǐng)導(dǎo)核心地位。

由于物流信息系統(tǒng)需處理的數(shù)據(jù)量相當大,反復(fù)訪問大數(shù)據(jù)量的數(shù)據(jù)表會嚴重影響數(shù)據(jù)傳輸效率,因而對于需進行數(shù)據(jù)交換與共享的數(shù)據(jù)記錄,在物流信息平臺上建立了與之對應(yīng)的臨時表,以輔助數(shù)據(jù)交換的及時高效完成。當內(nèi)部服務(wù)器有數(shù)據(jù)需上傳至信息平臺時,這些數(shù)據(jù)會先存入臨時表中,而將數(shù)據(jù)由臨時表更新至正式表的操作則由運行在信息平臺上的監(jiān)控程序來完成。同時,當內(nèi)部服務(wù)器通過信息平臺下載數(shù)據(jù)時,也是從相應(yīng)的臨時表中搜索是否有符合本網(wǎng)點(包括總部及其下屬網(wǎng)點)下載的數(shù)據(jù),而不會去操作大數(shù)據(jù)量的正式表。一個完整的數(shù)據(jù)交換流程結(jié)束后,存于臨時表中的數(shù)據(jù)將通過前述的監(jiān)控程序得以釋放,以保證臨時表中記錄的數(shù)據(jù)最新最少,最大可能地提高數(shù)據(jù)交換效率。
3.3 狀態(tài)字
上述提到的臨時表中包括一系列狀態(tài)字,每個狀態(tài)字都對應(yīng)于數(shù)據(jù)交換中的某一特定環(huán)節(jié),并且每個狀態(tài)字在數(shù)據(jù)交換的不同階段,分別被賦予不同的值,以輔助整個數(shù)據(jù)交換流程有條不紊地進行。
臨時表中各狀態(tài)字的具體含義及其作用如下:
(1)SWAN Read:總部讀狀態(tài)。由于信息平臺的數(shù)據(jù)處于不斷更新、流動的狀態(tài),總部在信息平臺下載數(shù)據(jù)時,開始下載與下載完成之間存在一個短暫的時間差,而這段時間內(nèi)有可能存在其他的數(shù)據(jù)操作,因而需要SWAN Read對這一狀態(tài)字進行標識,以便保證某一數(shù)據(jù)操作的一致性。
(2)Net Read:網(wǎng)點讀狀態(tài)。作用同SWAN Read,差別在于其標識的是下屬網(wǎng)點的讀狀態(tài)。
(3)Pf_Read:信息平臺讀狀態(tài)。該狀態(tài)字用以標識信息平臺對臨時表的操作情況,如未讀、預(yù)讀、更新完畢等狀態(tài),以輔助數(shù)據(jù)從臨時表至正式表的更新及臨時表內(nèi)數(shù)據(jù)的刪除。
(4)SWAN Status:總部數(shù)據(jù)交換狀態(tài)。用于標識總部對臨時表內(nèi)數(shù)據(jù)的操作情況,如首次上傳、一次下載、更新上傳、二次下載等。
(5)Net Status:網(wǎng)點數(shù)據(jù)交換狀態(tài)。用于標識網(wǎng)點對臨時表內(nèi)數(shù)據(jù)的操作情況,如首次上傳、一次下載、更新上傳等。
4 信息平臺數(shù)據(jù)交換的實現(xiàn)與性能分析
4.1 數(shù)據(jù)傳輸
運行在內(nèi)部服務(wù)器上的數(shù)據(jù)通信程序通過調(diào)用信息平臺上的Web服務(wù)實現(xiàn)數(shù)據(jù)傳輸,下面具體論述使用WebService在內(nèi)部服務(wù)器與Web服務(wù)器之間傳輸數(shù)據(jù)的整個流程,包括數(shù)據(jù)上傳與數(shù)據(jù)下載。
4.1.1 數(shù)據(jù)上傳
調(diào)用Web Service實現(xiàn)數(shù)據(jù)上傳的流程如圖2所示,通過定時器觸發(fā)的通信程序檢測到需上傳的數(shù)據(jù)后,首先對數(shù)據(jù)集進行加密處理,然后調(diào)用Web服務(wù)提供的數(shù)據(jù)上傳方法將數(shù)據(jù)集上傳至物流信息平臺,信息平臺接收到數(shù)據(jù)集后,進行解密驗證,通過驗證的數(shù)據(jù)集將被更新或插入至數(shù)據(jù)庫中。Web Service調(diào)用結(jié)束后,通信程序處將獲取調(diào)用結(jié)果,如上傳成功或失敗等。

4.1.2 數(shù)據(jù)下載
調(diào)用Web Service實現(xiàn)數(shù)據(jù)下載的流程如圖3所示,同理,通過定時器觸發(fā)的通信程序會定時去檢測是否有需下載的數(shù)據(jù)。具體步驟為:通過加密調(diào)用Web服務(wù)提供的數(shù)據(jù)下載方法去查詢是否有本網(wǎng)點需下載的數(shù)據(jù),若解密驗證成功并且有數(shù)據(jù)需下載,則將符合條件的數(shù)據(jù)集經(jīng)由該Web服務(wù)調(diào)用下載至本地,本地接收到該數(shù)據(jù)集后將數(shù)據(jù)更新至本地數(shù)據(jù)庫中;完成后,再次調(diào)用Web服務(wù)提供的數(shù)據(jù)更新方法,實現(xiàn)這些數(shù)據(jù)下載成功后的狀態(tài)更新,以標識數(shù)據(jù)交換流程的某一階段。同樣,Web ServiceN用結(jié)束后,通信程序處將獲取調(diào)用結(jié)果,如下載成功或失敗等。
4.2 數(shù)據(jù)交換
以總部發(fā)運至下屬網(wǎng)點為例,下面具體闡述物流信息平臺進行數(shù)據(jù)交換的整個流程。如圖4所示,信息平臺接收到總部上傳的一條新的數(shù)據(jù)記錄時,將其插入臨時表中,其五個狀態(tài)字均置為0,此時,接收方(某一網(wǎng)點)可以進行下載,下載之初置Net Read為1,下載完成后通過對NetRead值的判定更新Net Status的狀態(tài),以標識一次下載的完成;在此過程中,總部通過判定SWAN Status與NetStatus的狀態(tài),不予下載該記錄;網(wǎng)點對該下載數(shù)據(jù)通過業(yè)務(wù)流程做出某些更新后,將上傳更新該記錄,完成后NetStatus的狀態(tài)再次得到更新}而這時,總部將可以下載該更新后的數(shù)據(jù),同理,通過SWAN Read完成對SWANStatus狀態(tài)的更新。這樣,一次完整的數(shù)據(jù)交換以SWANStatus與Net Status的最終狀態(tài)得以結(jié)束。此時,信息平臺上的監(jiān)控程序通過Pf_Read狀態(tài)字將該臨時記錄插入到對應(yīng)的正式表中,更新完成后,通過判定該狀態(tài)字的值可對臨時表中的該記錄進行刪除,及時空出臨時表容量。這樣,通過物流信息平臺,就完成總部與下屬網(wǎng)點之間的數(shù)據(jù)共享與交換。
4.3 性能分析
按照上述數(shù)據(jù)傳輸及數(shù)據(jù)交換方式,可以很好地實現(xiàn)企業(yè)總部與網(wǎng)點之間的信息傳遞。如圖5所示,通過物流信息平臺實現(xiàn)數(shù)據(jù)交換的信息流傳遞與傳統(tǒng)的貨物流傳遞同時在發(fā)生,而信息流傳遞的效率可想而知,這樣,在每個傳遞節(jié)點處都可以在貨物到達之前就及時獲知貨物信息,為其統(tǒng)籌安排相關(guān)資源提供了保證。同時,發(fā)運方也可通過物流信息平臺第一時間獲知反饋信息。不管是總部與網(wǎng)點之間的信息傳遞與交換,還是網(wǎng)點之間的信息傳遞與交換,對于總部而言,所有的信息都能反饋到總部,以便總部對其整個企業(yè)的業(yè)務(wù)情況做到實時宏觀把握。

通過分布在總部與各網(wǎng)點的通信程序以及運行于物流信息平臺的Web服務(wù)與監(jiān)控程序,數(shù)據(jù)的交換得以很好地實現(xiàn),物流信息的傳遞得以高效穩(wěn)定地進行,為企業(yè)與客戶帶來極大的便利與收益。本物流信息系統(tǒng)每天處理的數(shù)據(jù)量相當大,用于外部交換的數(shù)據(jù)每天達上百兆,且集中于發(fā)運密集的數(shù)小時之內(nèi),然而通過該數(shù)據(jù)傳輸與交換方式,信息流程穩(wěn)定、實時地傳遞于總部及各網(wǎng)點之間,為其業(yè)務(wù)流程的順利完成提供了可靠的保障。
5 結(jié)束語
本文介紹的由狀態(tài)字驅(qū)動基于臨時表的物流信息平臺數(shù)據(jù)交換方式,可以靈活、準確、實時地實現(xiàn)物流信息系統(tǒng)內(nèi)各子系統(tǒng)之間的數(shù)據(jù)傳遞與共享,大大提高運營效率、節(jié)約企業(yè)成本;同時,對于貨物流程可以提供實時的追蹤服務(wù),為企業(yè)、為客戶帶來極大的查詢便利,對于缺乏信息系統(tǒng)而無法發(fā)現(xiàn)的人為錯誤可以及時解決。在實際運用中證明是準確可行的。當然,隨著物流新需求的出現(xiàn)和信息系統(tǒng)功能的不斷完善與優(yōu)化,該數(shù)據(jù)交換方式也必然有其值得改良與創(chuàng)新之處,以發(fā)揮更加高效穩(wěn)定的性