摘要:本文簡述了物聯(lián)網(wǎng)EPC技術并分析了Savant中間件軟件系統(tǒng)的主要功能和框架結構。在深入研究EPCgloabal后,借鑒EPCgloabl的中間件標準ALE,給出了一種Savant中間件軟件系統(tǒng)的設計思路,并從邏輯上驗證了該系統(tǒng)的完整性與有效性。
關鍵詞:Savant中間件;RFID;物聯(lián)網(wǎng);電子產(chǎn)品代碼
0 前言
物聯(lián)網(wǎng)的出現(xiàn)打破了傳統(tǒng)的關于物品信息的存儲與查詢的思維,通過將物理基礎設施和IT基礎設施統(tǒng)一化,建立起一個本身具有通信能力的交互信息網(wǎng)絡,這個網(wǎng)絡不僅涵蓋生產(chǎn)運行、經(jīng)濟管理,甚至滲透到人們個人生活的各個方面。
在應用物聯(lián)網(wǎng)RFID技術時,首先面對的問題就是電子標簽上數(shù)據(jù)的獲取和有效信息的提取。作為RFID系統(tǒng)的重要組成部分,EPC中間件是數(shù)據(jù)采集、過濾等處理的主要單元。本文提出了一種中間件的設計思路,使上層開發(fā)者在開發(fā)RFID應用系統(tǒng)時無需再考慮如何與各種硬件設備交互而直接獲取有價值的RFID信息。
1 EPC系統(tǒng)簡介
EPC的全稱是Electronic Product Code,即產(chǎn)品電子代碼,是美國麻省理工學院自動識別中心(Auto-ID中心)提出的。EPC的載體是RFID電子標簽,并借助互聯(lián)網(wǎng)來實現(xiàn)信息傳遞。EPC系統(tǒng)為每一件商品建立全球唯一的識別標準,實現(xiàn)在全球范圍內對商品具體信息的記錄與查詢,有效提高商品信息的管理水平,以及物流準確性,并且降低物流成本。
EPC系統(tǒng)的信息網(wǎng)絡系統(tǒng)是在全球互聯(lián)網(wǎng)的基礎上,通過Savant管理軟件系統(tǒng)、ONS對象名稱解析服務系統(tǒng)、實體標記語言(PML)實現(xiàn)實物的互聯(lián)。
Savant中間件的系統(tǒng)協(xié)議主要由RFID通信協(xié)議、應用事件管理(ALE,Application Level Event)協(xié)議等組成。ALE是EPCgobal的中間件標準,是閱讀器模塊和客戶應用程序之間的接口協(xié)議。該協(xié)議定義了客戶可以如何過濾和整合來自讀寫器的EPC標簽,并面向不同的企業(yè)應用程序和閱讀器定義了統(tǒng)一的接口。ALE的處理過程是:接收來自一個或多個數(shù)據(jù)源的EPC標簽碼:根據(jù)企業(yè)應用程序要求以一定的時間間隔整合數(shù)據(jù),過濾重復和不感興趣的EPC碼;根據(jù)企業(yè)應用程序要求以不同的形式打包發(fā)送報告。
2 Savant中間件的功能與結構
在功能上,Savant軟件系統(tǒng)利用ONS對象名稱解析服務并調用PML服務器上的標簽應用信息供Savant上層應用軟件使用,所以Savant軟件系統(tǒng)在結構上有一些用于ONS對象名稱解析服務的專用接口。
處理模塊與外部EPC系統(tǒng)的聯(lián)系通過規(guī)范定義的接口,即閱讀器接口和應用軟件接口來實現(xiàn)。閱讀器接口提供與標簽閱讀器的連接,Sav-ant通過該接口和閱讀器建立連接,向閱讀器發(fā)送各種命令。
按照SavantSpecification 1.0標準的描述,Savant軟件系統(tǒng)就是處理模塊與各接口模塊的集成容器,其各個接口模塊均有一定的標準,而能用于用戶開發(fā)的是Savant軟件系統(tǒng)的處理部分。根據(jù)功能的需要,能夠得到Savant中間件軟件的大體結構:
圖1模型的基本功能在于其中處理模塊通過輸入接口模塊與輸出接口模塊與閱讀器和上層應用軟件進行聯(lián)系。Savantqp間件系統(tǒng)是一個開放式系統(tǒng),其用戶定義的處理模塊是功能實現(xiàn)的主要體現(xiàn)部分,提供各種用戶要求的功能。在輸入端,Savant中間件系統(tǒng)主要工作是對閱讀器所采集到的電子標簽信息進行收集和處理,或者根據(jù)自身內部設定的命令對閱讀器輸出反饋指令;在輸出端,其面對的是上層應用軟件的調用,或者是通過ONS對象名解析服務對PML服務器上的相應商品信息進行讀取。
由上可知,Savant中間件起的是連接閱讀器系統(tǒng)與上層應用或者信息存儲系統(tǒng)作用,因此對其設計主要在于完成信息的處理、過濾、暫存與計算。
3 Savant中間件系統(tǒng)的實現(xiàn)
本文實現(xiàn)Savant中間體軟件系統(tǒng)的主要功能:a.過濾;b.定量信息存儲:c.解析;d.接口控制。
3.1 過濾功能
根據(jù)第2節(jié)中所述的基本模型,并考慮到整個系統(tǒng)的工作效率,過濾程序應該是系統(tǒng)中最先工作的模塊。
一個Savant軟件系統(tǒng)是服務于特定廠商或者是針對特定類型商品的軟件,所以參考TCP/IP協(xié)定中局域網(wǎng)IP地址子網(wǎng)掩碼過濾處理,只需要通過一段掩碼,將該系統(tǒng)所服務的廠商或者所針對的特定類型商品過濾出來。將特定廠商或商品掩碼與原始EPC標簽代碼信息通過一定的邏輯運算結合起來,即可以達到過濾信息的作用。如圖2所示。
3.2 解析功能
為了方便讀取PML服務器上的標簽信息,需將EPC代碼解析成ONS服務可識別的地址域名格式。根據(jù)該解析過程的規(guī)范化的要求,利用格式化轉換字符串將EPC二進制代碼轉換成對應的PML文件地址。
類似于普通的Internet域名地址,存儲于PML服務器上的商品信息域名地址也有著標準的域名結構。EPC地址域名由EPC域前綴名與EPC域后綴名組成。而且當前使用的EPC域后綴名為一個固定的根域名:epc.objid.net。這個翻譯的過程需要引入標準的域名格式,即格式化字符串。
舉例說明如下:
格式化字符串由1、2、3、4組成,分別表示該位所占EPC編碼中的位數(shù)
例如對于16位的EPC碼,其格式化字符串可以是
1.44.3.11.2(0+1+4+4+3+1+1+2=16)
即如果這個16位的EPC碼是:1001111010110010,放入格式化字符串的形式下成為了:
(1)(0011)(1101).(011).(0)(0).(10)=1.3D.3.00.2即成為EPC域前綴名。
即該1 6位E P C代碼的P M L域名地址為1.3D.3.00.2.epc.objid.net。
有了格式化字符串的標準轉換功能,EPC電子標簽代碼可唯一且一一對應地轉化成PML域名地址。
3.3 存儲與查詢功能
由于不同的廠商或商品在種類、數(shù)量、需求量以及關注程度上都有所不同,如果每次檢測標簽時均向PML服務器提取信息,不僅會由于PML服務器的數(shù)據(jù)過大而降低提取效率,同時在傳輸過程中也容易有所延遲與損耗。因此Savant中間件軟件系統(tǒng)需存儲一定量的簡單信息伴隨EPC的具體信息,以便上層應用軟件的讀取,提升數(shù)據(jù)讀取效率。
本文選擇FIFO(先進先出)的存儲方式進行有限存儲空間的利用。
對于FIFO的實現(xiàn),基本上是做結構體的向前移位操作,將在結構體數(shù)組中位置為i的結構體的內部數(shù)據(jù)完整地賦值給位置為i-1的結構體。對于最后位置的結構體,團PM-1位置,則是最新的賦值,而對于原始的第一個結構體,即0位置,會被覆蓋。這個過程并不是一直無限進行下去,會有一個接口控制變量來決定是否進行移位。
3.4 接口控制功能
在Savant中間件軟件系統(tǒng)中,需要加入接口模塊與外部情況加以聯(lián)系。如圖3所示。
該接口模塊不僅接收諸如PML服務器所傳輸?shù)暮烷喿x器所傳輸?shù)男盘?,同時為上層應用軟件提供讀取信息的標志字,并且對Savant軟件系統(tǒng)的內部模塊進行控制。
在Savant中間件軟件系統(tǒng)的內部模塊之間也存在著相互控制的情況,需確定對外部情況進行聯(lián)系的外部控制字以及關系到信息在系統(tǒng)內部傳輸?shù)膬炔靠刂谱帧?br />
3.5 帶接口控制的整體Savant中間件軟件系統(tǒng)結構
加入有效的控制字后,Savant中間件軟件系統(tǒng)的功能變得完整,可以完成所需的過濾、解析、暫存等功能。依照前文所述的系統(tǒng)結構以及內部功能模塊,本文畫出了Savant中間件軟件系統(tǒng)所集成的文正邏輯系統(tǒng)。如圖4所示。
圖4(a)邏輯程序塊的主要任務集成了過濾功能與解析功能,當完成過濾后,確定該電子標簽代碼有效,即可進行解析操作,不需要在過濾與解析功能之間添加其他控制變量或控制信息。在完成圖4(a)模塊后,需要向PML服務器輸出解析后的PML域名地址信息,并等待PML服務器返回該電子標簽相應商品的具體信息,即進入圖4(b)程序模塊所代表的存儲環(huán)節(jié)。由于本文采用的FIFO存儲模式,需要在新的商品信息存儲之前,調整存儲空間中已有信息的位置,所以當圖4(b)程序模塊結束后,具體信息首先暫存在Savant中間件軟件系統(tǒng)的另外開辟的存儲緩沖區(qū),并應當加入存儲控制字,當該控制字有效后,存儲空間進行FIFO調整,然后從另外開辟的存儲緩沖區(qū)中取出待存儲的信息存放至FIFO存儲空間的最后位。以上即是Savant中間件軟件系統(tǒng)的邏輯控制,三部分的邏輯控制流程圖如圖5所示。
4 結語
完成了Savant中間件軟件系統(tǒng)的邏輯設計與編程設計之后,在軟件平臺上利用testbench文件對這些模塊進行驗證檢驗。檢驗結果表明所設計的savant中間件軟件系統(tǒng)能對EPC電子標簽數(shù)據(jù)進行有效地處理。