王智莉,卜方玲
(武漢大學 電子信息學院,湖北 武漢430072)
智慧城市通過信息技術(shù)手段,動態(tài)監(jiān)測、分析整合城市各部分的數(shù)據(jù),實現(xiàn)對城市生活環(huán)境的透徹感知、城市資源的全面調(diào)控、城市中各個部分協(xié)調(diào)配合[1]。然而,各行業(yè)布設(shè)了各種各樣的傳感器,傳感器數(shù)據(jù)的采集、傳輸呈現(xiàn)多種形式,城市感知數(shù)據(jù)具有異構(gòu)性,即數(shù)據(jù)的表達形式多樣、數(shù)據(jù)的傳輸協(xié)議多樣、數(shù)據(jù)的來源多樣。數(shù)據(jù)的來源多樣表現(xiàn)在除了物理傳感器外,還有虛擬傳感器[2],如權(quán)威部門中國氣象,通過網(wǎng)絡(luò)定期發(fā)布氣象預報或?qū)崟r氣象數(shù)據(jù)。針對異構(gòu)性問題,用標準化的元數(shù)據(jù)來統(tǒng)一管理分散的數(shù)據(jù)資源,并基于網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)資源共享與服務(wù),該模式得到了普遍理解和認同[3]。傳感器網(wǎng)整合框架(sensor web enhancement,SWE)是上述解決方式最典型體系,SWE 定義了標準化的元數(shù)據(jù)和一系列信息共享方面的網(wǎng)絡(luò)服務(wù)標準[4],為城市運營提供了完整綜合性數(shù)據(jù)服務(wù)。該標準已得到廣泛認同[5],成為事實上的工業(yè)標準。
但SWE 主要是面向用戶提供傳感器信息及其數(shù)據(jù)的查詢,與各類傳感器的連接主要通過中間件實現(xiàn)。傳感器接入到SWE 服務(wù)時,需要將傳感器協(xié)議轉(zhuǎn)換成SWE 協(xié)議[6]。當感知數(shù)據(jù)與SWE 的服務(wù)連接時,需要大量人工操作將成千上萬的傳感器逐個進行協(xié)議轉(zhuǎn)換,工作量巨大,嚴重阻礙智慧城市的發(fā)展進程。因此,需要設(shè)計一種感知數(shù)據(jù)適配接入的方法,使異構(gòu)數(shù)據(jù)自動適配接入,減少復雜的人工操作,以解決異構(gòu)感知數(shù)據(jù)接入效率低下的問題。
一類通過創(chuàng)建映射規(guī)則進行協(xié)議轉(zhuǎn)換的方法被提出[7,8],這類方法將底層協(xié)議轉(zhuǎn)換成SWE 協(xié)議,但該方法依賴固定的映射模板,當感知數(shù)據(jù)源發(fā)生變化時,原有的映射規(guī)則將不能適用。李秀等人[9]基于USDI(universal sensor descriptor for integration)模型,結(jié)合IEEE 1451 提出的一種支持傳感器動態(tài)適配器方法。但IEEE 1451 傾向于底層的設(shè)計,不能為虛擬傳感器提供額外描述信息[7]。因此,該方法沒有考慮到數(shù)據(jù)來源的多樣性,只實現(xiàn)了異構(gòu)物理傳感器感知數(shù)據(jù)的接入。Broering A 等人[10]進一步擴展了SWE 提出的傳感器抽象建模語言,提出了一種傳感器總線概念,但處于實驗階段,并沒有提供具體的實現(xiàn)方法。上述方法沒有很好地解決異構(gòu)感知數(shù)據(jù)適配接入難題,即數(shù)據(jù)的傳輸協(xié)議多樣與數(shù)據(jù)來源多樣性導致的感知數(shù)據(jù)獲取方式與解譯方法不確定問題。
本文針對上述問題,對異構(gòu)傳感器進行抽象,建立面向SWE 數(shù)據(jù)接入的異構(gòu)傳感器的信息模型(heterogeneous sensor information model,HSIM)。HSIM 描述了異構(gòu)物理傳感器和異構(gòu)虛擬傳感器在通信能力和數(shù)據(jù)表達方面的特征。基于該信息模型,提出了異構(gòu)實時感知數(shù)據(jù)適配接入SWE 框架方法。該方法根據(jù)物理傳感器和虛擬傳感器的通信接口和數(shù)據(jù)表達的特征,動態(tài)配置與組合連接器模塊、譯碼器模塊,生成適配器,實現(xiàn)異構(gòu)的物理和虛擬傳感器感知數(shù)據(jù)動態(tài)適配接入。
傳感器信息模型為適配器的自動生成提供了必要的數(shù)據(jù),是異構(gòu)感知數(shù)據(jù)能否適配接入的關(guān)鍵。HSIM 不僅僅需要提供用于辨識傳感器的傳感器自身屬性、傳感器觀測能力和觀測過程、傳感器時空位置等信息。更重要的是必須提供傳感器的數(shù)據(jù)傳輸協(xié)議、傳感器數(shù)據(jù)表達等有關(guān)數(shù)據(jù)接入的元數(shù)據(jù)信息。
為了滿足異構(gòu)感知數(shù)據(jù)適配接入SWE 服務(wù)的需求,使用SWE 元數(shù)據(jù)描述HSIM,并增加了有關(guān)通信協(xié)議、數(shù)據(jù)表達、數(shù)據(jù)解譯方法的描述。HSIM 如圖1 所示,其中通信能力描述傳感器通信接口和數(shù)據(jù)傳輸協(xié)議,用于與數(shù)據(jù)接入層建立對應通信連接;處理方法指出了輸出數(shù)據(jù)的來源;參數(shù)信息為輸出提供了必要的數(shù)據(jù)結(jié)構(gòu)描述;輸出與參數(shù)信息描述數(shù)據(jù)表達,用于動態(tài)解譯感知數(shù)據(jù)。根據(jù)以上信息及其相關(guān)關(guān)系,譯碼器和連接器動態(tài)組合,生成適配器,從而實現(xiàn)異構(gòu)感知數(shù)據(jù)動態(tài)適配接入。
圖1 HSIMFig 1 HSIM
SWE 服務(wù)所在的應用層與傳感器所在的資源層之間添加異構(gòu)數(shù)據(jù)接入層(heterogeneous data access layer,HDAL)。適配接入方法在HDAL 中實現(xiàn),HDAL 完成了不一致的、具有特異性的協(xié)議向SWE 協(xié)議的轉(zhuǎn)換,如圖2 所示。HDAL 分為數(shù)據(jù)處理層和數(shù)據(jù)管理層。數(shù)據(jù)處理層實現(xiàn)異構(gòu)數(shù)據(jù)動態(tài)接入,數(shù)據(jù)管理層為SWE 框架提供符合SWE 標準的數(shù)據(jù)。
圖2 異構(gòu)數(shù)據(jù)接入層Fig 2 Heterogeneous data access layer
添加傳感器時,系統(tǒng)自動生成適配器,其步驟為:1)當傳感器網(wǎng)絡(luò)中部署了新的傳感器時,實例化傳感器信息模型;2)根據(jù)實例進行傳感器注冊;3)注冊信息提交到傳感器信息管理器中維護;4)根據(jù)實例,查詢方法庫:適配器生成模塊根據(jù)通信接口和數(shù)據(jù)表達特征,配置和組合這些抽象方法動態(tài)生成適配器;5)傳感器與適配器建立通信連接,并進行數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換;6)解析后的數(shù)據(jù)交付給觀測數(shù)據(jù)管理器進行統(tǒng)一管理;7)數(shù)據(jù)服務(wù)管理器通過SWE 服務(wù)接口進行數(shù)據(jù)交互,根據(jù)上層需要提取傳感器信息管理器與觀測數(shù)據(jù)管理器中的數(shù)據(jù),按照SWE 規(guī)范進行數(shù)據(jù)重構(gòu),實現(xiàn)SWE 服務(wù)適配的接入異構(gòu)感知數(shù)據(jù)。
適配器由實例化的信息模型動態(tài)生成,一個適配器必需封裝了協(xié)議層軟件和基本的數(shù)據(jù)解譯方法。適配器結(jié)構(gòu)如圖3 中所示,劃分為會話層、解析層、數(shù)據(jù)業(yè)務(wù)層:1)會話層:選擇適合的連接器負責與相應的傳感器建立通信連接。2)解析層:根據(jù)不同的數(shù)據(jù)封裝格式,選擇對應的數(shù)據(jù)解譯方法,根據(jù)信息模型實例化解譯方法,這些方法進行組合生成譯碼器。3)數(shù)據(jù)業(yè)務(wù)層:負責和觀測數(shù)據(jù)管理器交互,提交觀測數(shù)據(jù)。
圖3 適配器結(jié)構(gòu)Fig 3 Structure of adapter
適配器與傳感器建立通信連接,是異構(gòu)感知數(shù)據(jù)適配接入的前提。動態(tài)適配器的生成依賴于傳感器的實例和方法庫,其實質(zhì)是根據(jù)傳感器的數(shù)據(jù)協(xié)議組合傳感器的數(shù)據(jù)結(jié)構(gòu)和自動解析方法,從而動態(tài)生成一個符合傳感器數(shù)據(jù)協(xié)議的動態(tài)適配器。因此,方法庫的全面性決定了適配器能否提供與多源異構(gòu)傳感器數(shù)據(jù)相適應的協(xié)議解析方法,一些通用性的數(shù)據(jù)解析方法和傳感器與適配器創(chuàng)建通信鏈路方法必須包含在方法庫中。適配器的動態(tài)生成步驟由圖4所示。
圖4 適配器生成流程Fig 4 Generation process of adapter
配器的動態(tài)生成步驟如下:1)信息模型實例化,保存?zhèn)鞲衅鞯恼w信息描述,準備開始創(chuàng)建適配器類文件;2)取出字段名稱、字段數(shù)據(jù)類型,創(chuàng)建成員變量;3)取出能力信息、輸出數(shù)據(jù)結(jié)構(gòu)和字段標識信息,查詢方法庫,添加與傳感器連接方法和譯碼方法;4)判斷信息是否讀取完畢:是,則創(chuàng)建與觀測數(shù)據(jù)管理模塊交互的方法;否,則將轉(zhuǎn)入第3 步;5)創(chuàng)建同名類的構(gòu)造函數(shù);6)保存適配器同名類,并編譯生成二進制文件。
氣象環(huán)境監(jiān)測是智慧城市建設(shè)中重要的方面,城市氣象災害已經(jīng)成為制約人類生存環(huán)境和社會經(jīng)濟發(fā)展的重要因素[11]。另一方面,氣象數(shù)據(jù)的類型多種多樣。按照氣象數(shù)據(jù)的來源,分為物理傳感器實時觀測數(shù)據(jù)和氣象中心發(fā)布的預報數(shù)據(jù)。按照數(shù)據(jù)傳輸協(xié)議,可分為TCP 協(xié)議、http協(xié)議等。按照數(shù)據(jù)封裝的格式,可分為16 進制數(shù)據(jù)、json格式數(shù)據(jù)、xml 格式數(shù)據(jù)等。由此可見氣象數(shù)據(jù)十分具有代表性。
本文挑選了典型的氣象感知數(shù)據(jù)進行適配接入,數(shù)據(jù)來源包括:布設(shè)在武漢大學詩琳通地球空間信息科學國際研究中心的實時氣象監(jiān)測站數(shù)據(jù)、綠色呼吸發(fā)布的空氣質(zhì)量數(shù)據(jù)。實時氣象監(jiān)測站數(shù)據(jù)包括風向、風速、空氣溫度等,且使用16 進制幀進行數(shù)據(jù)傳輸。
以風速為例,首先對建立風速傳感器的信息模型實例化,如表1 所示為有關(guān)數(shù)據(jù)接入的具體實例化信息。根據(jù)實例化信息,加載Socket 連接方法和16 進制譯碼方法,動態(tài)生成適配器。適配器將轉(zhuǎn)換后的數(shù)據(jù)交由觀測數(shù)據(jù)管理模塊。經(jīng)過數(shù)據(jù)重組,生成符合SWE 標準的風速觀測數(shù)據(jù),其中觀測結(jié)果部分數(shù)據(jù)如下:
虛擬傳感器以武漢空氣質(zhì)量為例,部分實例化信息如表2 所示。通過實例化信息為適配器配置了http 連接方法和json 數(shù)據(jù)解析方法,實現(xiàn)虛擬傳感器接入。圖5 展示了風速與空氣質(zhì)量觀測數(shù)據(jù)。
表1 風速部分實例化信息Tab 1 Part instantiation information of wind speed
表2 空氣質(zhì)量部分實例化信息Tab 2 Part instantiation information of air quality
圖5 氣象在線觀測系統(tǒng)數(shù)據(jù)Fig 5 Meteorological online observation system data
面向氣象的感知數(shù)據(jù)適配接入表明:異構(gòu)感知數(shù)據(jù)適配接入SWE 方法可通過自動挑選和加載連接與數(shù)據(jù)解譯方法,自動生成適配器,實現(xiàn)物理傳感器與虛擬傳感器異構(gòu)感知數(shù)據(jù)的動態(tài)接入。該方法在較少人工干預的情況下,解決了數(shù)據(jù)接入時,由傳輸協(xié)議多樣性與數(shù)據(jù)來源多樣性導致的感知數(shù)據(jù)獲取方式與解譯方法不確定問題,有效地完成異構(gòu)感知數(shù)據(jù)接入,大大提高了異構(gòu)數(shù)據(jù)接入效率,滿足智慧城市異構(gòu)感知數(shù)據(jù)自動適配接入需求。
本文建立了HSIM,提出異構(gòu)感知數(shù)據(jù)的動態(tài)適配接入方法。HSIM 不僅描述了物理傳感器與虛擬傳感器自身特性與觀測能力,也描述了它們的通信協(xié)議與數(shù)據(jù)表達的特征。動態(tài)適配接入方法通過自動生成適配器解決了傳輸協(xié)議多樣、來源多樣的感知數(shù)據(jù)接入需要大量人工操作的問題。異構(gòu)氣象觀測數(shù)據(jù)適配接入實驗表明:動態(tài)適配接入方法能夠自動生成適配器,通過異構(gòu)感知數(shù)據(jù)的自動解析,實現(xiàn)異構(gòu)感知數(shù)據(jù)適配接入至SWE 服務(wù),較好地提高了數(shù)據(jù)接入標準SWE 服務(wù)的效率。
[1] 王靜遠,李 超,熊 璋,等.以數(shù)據(jù)為中心的智慧城市研究綜述[J].計算機研究與發(fā)展,2014,51(2):239-259.
[2] Di L.Geospatial sensor web and self-adaptive earth predictive systems(SEPS)[C]∥Advanced Information System Technology(AIST)Sensor Web Principal Investigator(PI)Meeting,San Diego,2007:1-3.
[3] 胥 婕,苗立志.OGC 地理信息服務(wù)應用現(xiàn)狀分析研究[J].計算機應用與軟件,2013,30(9):27-28.
[4] 王卷樂,游松財,謝傳節(jié).地學數(shù)據(jù)共享中的元數(shù)據(jù)標準結(jié)構(gòu)分析與設(shè)計[J].地理與地理信息科學,2015(1):16-21.
[5] 胡楚麗,陳能成,關(guān)慶鋒,等.面向智慧城市應急響應的異構(gòu)傳感器集成共享方法[J].計算機研究與發(fā)展,2014,51(2):260-277.
[6] Broering A,Belos S,F(xiàn)oerster T.Declarative sensor interface descriptors for the sensor web[C]∥WebMGS 2010 1st International Workshop on Pervasive Web Mapping Geoprocessing and Services,Como,2010:12.
[7] Hu P,Robinsion R,Indulska J.Sensor standards overview and experiences[C]∥3rd International Conference on Intelligent Sensors,Melbourne,2007:485-490.
[8] 蔡永娟,沈春山,吳仲城,等.基于SensorML 和IEEE 1451 的新型傳感器網(wǎng)絡(luò)標準研究[J].儀表技術(shù),2010(1):1-6.
[9] 李 秀,黃容生,宋靖東.一種支持傳感器即插即用的動態(tài)適配器方法[J].傳感器與微系統(tǒng),2014,33(27):20-23.
[10]Broering A,F(xiàn)oerster T,Jirka S,et al.Sensor bus:An intermediary layer for linking geosensors and the sensor web[C]∥Proceedings of the 1st International Conference on Computing for Geospatial Research and Application,Bethesda,2010:26-32.
[11]陳正洪,楊桂芳.城市氣象災害及其影響相關(guān)問題研究進展[J].氣象與減災研究,2012,35(3):1-7.