朱哲夫 趙浩翔
本文分析了ONS和EPCIS的特性,對其層次構架和運行原理進行了解析。進而對物聯網系統中間件進行了整體設計,EPCIS服務設計、EPCIS子模塊的設計,以查詢控制接口的功能實現為例進行了闡述,最后探討了ONS的核心算法。
【關鍵詞】物聯網 ONS EPCIS 設計 軟件開發
1概述
物聯網系統(EPC)是產品電子代碼的簡稱,物聯網系統主要由六個基本的子系統組成,即編碼標準、標簽、識讀器、應用層事件中間件、ONS(對象名解析服務)和EPCIS(物聯網信息服務),其中,ONS在物聯網中的作用是給物聯網中間件指明產品信息的存儲服務器,其實質是為物聯網中間件和物聯網信息服務之間提供交互橋梁,同時借助DNS,讓物聯網能夠以現有的因特網拓展到其他網絡領域。而EPCIS的主要作用是實現EPC中數據的共享。通過EPCIS提供的模塊化可擴展數據接口,能實現商品流程步驟之間的關聯,實現對商品狀態的實時追蹤。因此ONS和EPCIS是物聯網中非常重要的環節,其中,安全性和準確性是關鍵問題。
2 ONS與EPCIS特性分析
2.1 ONS特性分析
從服務類型上看,ONS服務主要分為兩大類:靜態ONS服務和動態ONS服務。前者通過對商品電子產品碼的查詢來獲取其靜態的信息。而后者則側重于對商品在供應鏈中流轉信息的查詢。從原理上看,ONS實現了一個EPC到多個URI的映射,其運行模式類似于DNS,因此決定了ONS的系統結構也是分布式的, 包含了根ONS、ONS服務器、本地ONS和本地ONS緩存與映射。從功能上看,所有的ONS查詢都要通過根ONS來完成,ONS的主要作用則是回應本地查詢并返回URI。設計ONS緩存的目的則是減少查詢次數,把常用URI放入緩存之中,較少對外操作次數,減小ONS服務器負擔。整個ONS系統主要處理電子產品碼和與之對應的EPCIS信息服務器PML地址的映射管理和查詢,其物理模型類似于DNS構架,因此可以參照DNS構架來實現ONS服務。
2.2 EPCIS特性分析
從物聯網網絡層次體系上看,EPCIS處于核心地位,在整個的體系結構中也位于上層位置,并在結構體系中高于其他中間件。在EPCIS中主要定義的事件類型有4類:對象事件、聚合事件、統計事件和交易事件,這4類事件涵蓋了物聯網工作中主要的事件類型。從EPCIS的功能上看,關鍵性作用是定義物聯網中的各類服務,最主要的服務類型是捕獲服務(針對底層ALE事件)和查詢服務(包含查詢訂閱服務、核心查詢服務、查詢控制服務)。從系統結構的角度看,EPCIS也是一種分層結構,在結構體系的底層定義所需要的相應數據格式,在上層完成對各類服務接口的綁定和實現。EPCIS的目標則是結合ONS組件,實現相關數據在內部和跨企業的共享。因此企業間信息交互中間件的開發就必然要結合EPCIS服務和ONS服務。這也是本文要重點探討的內容。
3 EPCIS子模塊的設計
實現EPCIS中功能實現主要由各類接口和模塊的組合所控制,主要涉及到的模塊包括:數據捕獲和數據查詢(含查詢回調、數據查詢和查詢控制),現分別設計如下:
3.1 捕獲數據模塊
該模塊中的業務流程可概括性的描述為從數據發送端(ALE)到EPCIS服務器,再由EPCIS服務器對接收到的文檔進行解析從而獲得數據信息,在完成給定的校驗過程后存庫。JMS和MDB所依據的規范相同,具有良好的整合性,而且各自對后續可能的服務整合能提供完美支持。
3.2 查詢模塊
查詢模塊包含了標準查詢接口、查詢控制接口和查詢回調接口三類。第一類標準查詢接口可廣泛應用,具有良好的通用性,而后兩類接口則是要針對客戶端和服務器的特點進行定制。必須定義一類控制結果集數量的Exception,以某個給定的數值來控制查詢結果集,當超出這個臨界閾值時就提示縮小查詢范圍以保證查詢結果的正確性。
4 ONS核心算法探討
由于ONS是基于DNS和互聯網,其作用主要是完成EPC到多個URI之間的映射關系。與之對應的,電子產品碼的編碼技術則是遵循SGTIN格式,其原理類似于DNS域名分配。因此ONS的核心算法也可以參照DNS的解析方式來設計。本文中擬設計基于橢圓曲線的加密方式,步驟如下:
(1)客戶端應用程序向ONS發送包含客戶端應用程序ID號的查詢請求。
(2)ONS根據接收到的ID號,選取一個橢圓曲線y2=x3+ax+b,該曲線的特征由ONS和客戶端共同遵守,該橢圓曲線為有限域GF(p)上的一條橢圓曲線,由參數(a,b,P)所決定。
(3)ONS在閉區間[1,P-1]上產生一個隨機整數x,按公式X=xg進行轉換,并將其傳回給客戶端。
(4)將ONS接收到的ID號和EPC編碼重組,可按字符串直接連接的方式,得到一組新的編碼,并將其映射于橢圓曲線上,獲得某個對應的坐標M。
(5)在客戶端也產生2個在閉區間[1,P-1]內的隨機數yg和P+yX,并發回給ONS。
(6)按如下方式對ONS接收到的信息進行解碼:(P+yX)-xyg=P+yxg=P,借此定位M,從而獲得客戶端和ONS之間的對應關系,完成驗證。
(7)ONS將查詢結果以及ID號返回給客戶端,客戶端通過比對兩次接收的ID號是否相同來判定是否是自己所發送的查詢請求,否則拋棄該查詢結果。
5 小結
物聯網中間件的設計是物聯網實現系統間交互的關鍵環節。本文對ONS和EPCIS的特性進行了分析,對中間件功能的實現也進行了一些探討。在后續研究中,應關注新的物聯網規范標準,因為這是設計物聯網系統的基礎,進而在這些規范基礎上對中間件進行調整和擴充,從而提高物聯網的運行效率。
參考文獻
[1]聶曉.基于云計算的物聯網安全研究[J].工礦自動化,2013,39(4):47-50.
[2]董曉荔.EPC網絡中的ONS服務[J].微電子學與計算機,2007(2):150-155.
作者單位
南京信息工程大學信息與控制學院 江蘇省南京市 210044endprint