基于RFID的EPC中間件的設計
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標簽代碼信息通過一定的邏輯運算結(jié)合起來,即可以達到過濾信息的作用。如圖2所示。本文引用地址:http://www.ex-cimer.com/article/156403.htm
3.2 解析功能
為了方便讀取PML服務器上的標簽信息,需將EPC代碼解析成ONS服務可識別的地址域名格式。根據(jù)該解析過程的規(guī)范化的要求,利用格式化轉(zhuǎn)換字符串將EPC二進制代碼轉(zhuǎn)換成對應的PML文件地址。
類似于普通的Internet域名地址,存儲于PML服務器上的商品信息域名地址也有著標準的域名結(jié)構(gòu)。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。
有了格式化字符串的標準轉(zhuǎn)換功能,EPC電子標簽代碼可唯一且一一對應地轉(zhuǎn)化成PML域名地址。
3.3 存儲與查詢功能
由于不同的廠商或商品在種類、數(shù)量、需求量以及關(guān)注程度上都有所不同,如果每次檢測標簽時均向PML服務器提取信息,不僅會由于PML服務器的數(shù)據(jù)過大而降低提取效率,同時在傳輸過程中也容易有所延遲與損耗。因此Savant中間件軟件系統(tǒng)需存儲一定量的簡單信息伴隨EPC的具體信息,以便上層應用軟件的讀取,提升數(shù)據(jù)讀取效率。
本文選擇FIFO(先進先出)的存儲方式進行有限存儲空間的利用。
對于FIFO的實現(xiàn),基本上是做結(jié)構(gòu)體的向前移位操作,將在結(jié)構(gòu)體數(shù)組中位置為i的結(jié)構(gòu)體的內(nèi)部數(shù)據(jù)完整地賦值給位置為i-1的結(jié)構(gòu)體。對于最后位置的結(jié)構(gòu)體,團PM-1位置,則是最新的賦值,而對于原始的第一個結(jié)構(gòu)體,即0位置,會被覆蓋。這個過程并不是一直無限進行下去,會有一個接口控制變量來決定是否進行移位。
評論