郭 帥, 郭忠文??, 胡乃軍, 仇志金
(1 中國海洋大學信息科學與工程學院,山東 青島266100; 2.青島市工商行政管理局信息中心,山東 青島 266071)
隨著物聯網技術的快速發展以及互聯網+理念的普及,海量數據的互聯轉換已經形成了不可阻擋的發展趨勢,異構數據轉換作為實現數據互聯的有效途徑之一,其重要性也日益增加。然而,目前大多數據并未實現互聯共享,導致形成了大量的、獨立封閉的信息孤島,嚴重阻礙了人們對信息的獲取[1],如何將這些信息孤島互聯起來已經成為當下的關鍵問題。傳統的異構數據轉換模型大多將重點放在異構數據輸出格式的統一定義和網絡傳輸方式上,隨著異構數據越來越多樣化以及互聯轉換需求量的迅速增加,對異構數據轉換又提出了新的挑戰,如何在現實應用中實現標準、高效、規模化的異構數據轉換越來越受到人們的重視。
數據互聯與轉換技術種類繁多,主要可以劃分為:聯邦數據庫技術、數據服務技術、數據網格技術等。聯邦數據庫技術將海量數據庫,通過構建全局數據視圖,實現了對異構數據庫的統一訪問。數據服務技術將服務技術的特點和優勢與數據庫互聯相結合,增強傳統數據庫的交互及協同能力。數據網格技術主要針對多系統、多分布、大規模的異構數據,通過數據網格實現異構數據庫的自主互聯、協同及綜合利用。美國軍方正在實施的全球信息網格GIG(Global Information Grid),預計在2020年完成,利用計算網格和數據網格技術及時的收集、處理和共享軍事情報信息。
基于以上的數據互聯與轉換技術,在現有的數據轉換模型中,美國Standford大學設計的Lore系統[2]主要用于管理半結構化信息的數據庫管理系統,可以對半結構化數據OEM和XML數據進行存儲和管理;Ozone模型對面向對象數據庫的ODMG轉換模型進行了擴展,可對結構化和半結構化數據進行轉換;東南大學Versatile[3]是一個基于CORBA可擴展的異構數據源轉換系統模型。這些傳統的數據轉換模型都在一定程度上解決了異構數據轉換問題,但在現實情況中仍然存在許多缺點和不足:首先,單一的定義統一數據輸出格式只能解決部分問題,大多數的異構數據無法提供統一標準的數據接口,只能使用人工配置的方式對異構數據與標準化數據庫進行模式匹配,而現有的模式匹配方式多種多樣,大多隨著開發人員的定義和習慣而改變,難以形成一個統一的異構數據模式匹配模型,導致模式匹配過程復雜、耗時,降低了數據轉換的效率。其次,傳統的模式匹配映射僅僅以人工編寫代碼的方式寫入程序中,供解析模塊解析,并沒有單獨存儲信息,導致一旦模式發生改變,只能通過修改代碼的方式解決,解析模塊無法自適應映射的改變并且無法動態擴充,這大大降低了軟件的靈活性,提高了開發成本,延長了開發周期。最后,對大量不同的數據轉換模塊缺少統一的管理及其運行狀態的實時遠程監控,導致出現問題無法及時捕捉,難以通過遠程方式解決,增加了維護成本。
針對以上出現的新問題,傳統的異構數據轉換模型已經難以處理,無法在現實應用中實現數據轉換的標準化、高效化、規模化。為此本文給出了一種面向物聯網的異構數據轉換模型IDCM,該模型主要針對由物聯網各領域中應用系統的分散開發和引進而形成了海量的異構數據庫,通過引入模式匹配器、數據轉換器和狀態監控器,較好的解決了以上問題,本文的主要貢獻如下:
(1)構建了物聯網異構數據轉換模型架構,對物聯網異構數據的轉換與互聯提供了一個標準,提高了針對物聯網異構數據的數據轉換與互聯的效率。
(2)構建了模式匹配器,基于統一的模式匹配模型,對未能提供標準數據接口的異構數據與標準化數據庫進行模式匹配,產生的匹配結果單獨存儲,簡化了模式匹配過程,提高了模式匹配效率,降低了人工參與度。
(3)構建了數據轉換器,調用模式匹配結果,建立映射,實現動態自適應,降低了解析模塊開發成本,大幅縮短其開發周期,提高了系統開發過程中的資源利用率。
(4)構建了運行狀態監控器的使用,實現了數據轉換器統一的集成管理,并且實時遠程追蹤其運行狀態,增強了為數據轉換器的維護性,降低維護成本。
(5)對外提供標準化的WebService數據接口,通過訪問該接口來獲取轉換后的數據。
IDCM是一種面向物聯網的異構數據轉換模型,該模型針對物聯網海量的異構數據互聯轉換問題,提供了有效的數據轉換方法,實現了數據轉換過程中對模式匹配的動態自適應;提高了模式匹配效率及系統開發過程中資源的重復利用率;對數據轉換模塊進行統一管理和遠程監控;最終實現異構數據轉換的標準化、高效化、規模化。本章節將對IDCM的模型架構及模型處理機制進行詳細描述。
本文所提出的異構數據轉換模型(IDCM)的模型架構如圖1所示,該模型由五大模塊組成:模式匹配器、數據轉換器、狀態監控器、標準化數據庫和標準數據接口,各部分協同工作,共同實現異構數據的轉換。
(1)模式匹配器:基于統一的模式匹配模型,為用戶提供人性化、快捷化的操作界面以及操作方式,對異構數據和標準化數據庫進行模式匹配,建立映射,并最終將匹配結果單獨存儲。
(2)數據轉換器:解析模式匹配結果,獲取異構數據進行數據轉換,并將轉換后的數據寫入到標準化數據庫中,實現異構數據的標準化。
(3)狀態監控器:對所有的數據轉換器的運行狀態、網絡連接等進行實時遠程監控,并對其進行統一的管理與維護。
(4)標準化數據庫:存儲標準化數據、模式匹配結果和狀態監控日志等數據信息。
(5)標準數據接口:對外提供標準化的WebService數據服務接口,用戶通過訪問數據接口獲取相關數據。

圖1 IDCM模型架構
步驟一: 模式匹配器與異構數據建立連接,獲取異構數據的模式信息,通過人工快速配置的方式進行模式匹配,將最終產生的模式匹配結果存入標準化數據庫的匹配池中(見圖2中過程①②)。
步驟二: 數據轉換程序從數據庫匹配池中獲取模式匹配結果,建立映射,啟動數據轉換功能進行數據的獲取與解析,并將最終生成的數據寫入標準化數據庫(見圖2中過程③④⑤⑥)。
步驟三: 這期間,運行狀態監控器對所有啟動的數據轉換器進行遠程監控(見圖2中過程⑦)。

圖2 IDCM模型處理機制
模式匹配器主要實現異構數據和標準化數據庫之間的模式匹配,建立映射關系[4],并且將最終的匹配結果單獨存儲。模式匹配器的映射模型如圖3所示。

圖3 模式匹配器映射模型
假設存在異構數據S和標準化數據庫D,定義:
(1)在S和D中,只包含一個主題信息的數據集合為C,例如關系數據庫的一個表或一個數據文件等。
(2)D中每一個數據集合C都有唯一的模式匹配集合R與之對應,即R=f(C)。
(3)S中數據集合C的個數為m和D中數據集合C的個數為n,則S集合和D集合可以表示為:
S={Cs1,Cs2,Cs3,…,Csm};
D={(CD1,R1),(CD2,R2),…,(CDn,Rn)}。
(4)對于單一的數據集合C都可以表示為一個p×q的二維矩陣A(p∈N,q∈N),A=(a1,a2,a3,…,ai),(i=p或i=q)。例如對于關系數據庫中的表,A可以表示為列向量的集合;對于XML數據文件則可以表示為行向量的集合。
Csi←Asi=(a1,a2,a3,…,ar),r∈N;
CDj←BTj=(b1,b2,b3,…,bs),s∈N。
通過研究分析發現Csi和CDj中的a、b,i∈(1,m),j∈(1,n)主要存在一對一,一對多,多對一這三種映射關系,如圖4所示。基于映射關系,建立一個操作函數f(x)執行模式匹配運算,匹配運算包含基本的算數運算、合并拆分及數據格式轉換等操作,則對于任意一個匹配集合R,都有:
R=f((CS1,a1),(CS2,a2),…,(CSn,an)),n∈N。

圖4 數據集合映射Fig.4 Dataset mapping
模式匹配結果集R={R1,R2,R3,…,Rn}存儲于數據庫中,任意匹配集Ri∈R的存儲方式如表1所示,其中匹配標識唯一確定了一條匹配信息,便于檢索調用;D信息中記錄CDj(j∈(1,n))中每一個b的唯一標識信息;S信息存儲對應于b的匹配結果,“@”為操作符,它實際上是一個由多種數據轉換操作組成的集合。

表1 匹配集合存儲結構
最后,以關系數據庫為例對模式匹配器進行說明。已知關系數據庫S和標準化數據庫D,按照D的模式構建一個模式匹配器,模式匹配器與關系數據庫S建立連接,從而獲取S的模式信息集{Cs1,Cs2,Cs3,…,Csm},其中模式信息如數據庫表名、字段名、字段類型,數據文件的文件名,行、列定義等,基于該集合構建一個m×k的模式矩陣P:
式中:m為S中所有表的個數;n為S中所有表中的最大字段數;ti為Csi所對應的表的表名稱;fi1~fin為Csi所對應的表的所有字段名稱及字段類型;Csi={f1j,C2j,C3j,…,Cnj},并且定義若(ti,fij)不存在,則(ti,fij)=0。隨后構建操作矩陣Q:
式中cij為P矩陣中(tj,fji)相對應的操作符,即對于Ri∈R={R1,R2,R3,…,Rn},都存在一個Qi,使得Ri等于P×Qi所得矩陣的對角線元素之和,將對角線元素進行解析處理,最總得到模式匹配結果集。
數據轉換器主要負責解析數據庫中的模式匹配結果R并構建匹配引擎,通過匹配引擎獲取異構數據S的原始數據,并且對原始數據進行質量控制、格式轉換等操作,最終將標準化的數據寫入標準化數據庫D中[5-6],數據轉換器如圖5所示。下面對數據轉換器的轉換算法進行描述。

圖5 數據轉換器
狀態監控器主要負責對所有數據轉換器運行狀態的實時遠程監控及統一管理,并且為解決多地區軟件維護成本過高等問題提供了一個良好的解決方案[7]。狀態監控器具有對數據轉換器進行實時的網絡連接監控、運行狀態監控、集成管理及升級維護等功能,如圖6所示。
在物聯網各領域的異構數據轉換問題中,通常需要對不同結構的數據庫進行相應的數據轉換系統的重復性開發,而IDCM模型具有靈活、動態適應特點,能夠實現異構數據庫數據的快速轉換。首先,模式匹配器將匹配過程單獨抽離,實現了匹配模型的統一,匹配結果作為一個“可配置的信息”,存儲于數據庫中。其次,數據轉換器與模式匹配器無縫對接,能夠動態自適應匹配結果,無需因匹配結果的改變而重新開發或修改數據轉換器;狀態監控器的遠程實時監控,能夠實時捕捉異常并遠程進行操作處理,大大減少了軟件維護成本。IDCM模式相比較平臺開發、組件式開發、重新編碼等軟件開發方法[8-9],其開發明顯提高了開發效率,由于需要構建模式匹配器,因此第一次開發時,IDCM會占用更多的資源,但是隨著互聯的異構數據數量的增加,其效率會有明顯的提升,并且大幅降低了系統測試和維護的成本與時間。以工業領域家用空調測試數據轉換系統開發為例,共計對12套異構的產品測試系統進行數據轉換,包含ORACLE、SQLSERVER、ACCESS、TXT文件等多種數據存儲形式,每套數據庫平均有15個表,350個字段,包含的數據內容包括產品測試的銘牌信息、傳感器信息、工況信息、報告信息、測試數據等,對其進行對比發現,IDCM模型明顯提高了整個系統的開發效率,減少了系統測試時間,并且降低了維護成本,對比結果如圖7和8所示。

數據轉換算法1:定義MatchList數據集合,存儲解析后的匹配結果信息。定義DataList數據集合,存儲從異構數據源S獲取的數據。2: 獲取數據轉換器啟動所需的配置信息,與異構數據S和標準化數據庫D分別建立連接

圖7 系統開發效率對比

圖8 系統測試維護對比
模式匹配作為數據轉換的重要過程,其效率的高低能夠直接影響整個數據轉換效率。本文通過構建了模式匹配器,簡化了模式匹配過程,提高了模式匹配效率,降低了人工參與度。為了驗證模式匹配器工作效率,對來自工業領域冰箱性能測試的10個異構數據庫,分別進行使用匹配器前后的匹配效率對比,結果表明使用了模式匹配器后,匹配效率與之前相比有著明顯的提升(見圖9)。

圖9 模式匹配效率對比
IDCM模型最終對外提供WebService標準化接口,用戶通過訪問WebService接口來獲取相應的標準化數據,因此WebService接口的性能直接影響到互聯系統的數據顯示、操作及響應時間[10]。為了檢驗接口性能,本文對IDCM模型的WebService接口做了性能測試,測試環境如表2所示。本次假定在相同網絡、主機環境條件下進行本機測試和遠程測試,服務端接口內部沒有復雜業務邏輯,客戶端調用時,返回一條數據。每次運行,采用java循環方式調用10次服務端接口,并記錄下從發起到返回結果的時間。測試結果表明IDCM模型的WebService標準化接口性能良好(見圖10)。

表2 測試環境
IDCM作為一種面向物聯網的異構數據轉換模型,已經被應用到家電產品測試系統和海洋應用系統互聯的項目中,得到了有效的驗證。首先,基于IDCM模型的海爾家電產品測試互聯系統(見圖11),是海爾集團為響應“中國制造2025”發展戰略,提高制造水平、制造效率、生產出適合人們個性化需要的各種家電產品而產生的軟件系統。IDCM模型作為其數據轉換模塊的核心,實現了海爾熱水器、電冰箱、空調、模塊商等眾多廠家共計67套測試系統的異構數據轉換,累計轉換的數據量約為1005G。IDCM模型的使用解決了長期以來家電產品測試行業大量“信息孤島”的問題,明顯提高了測試系統的互聯效率。

圖10 測試結果

圖11 海爾家電產品測試互聯系統
海洋應用互聯系統(見圖12)是我國海洋觀測、監測和調查儀器設備研發、海洋科學研究、實現科技興海,促進高新科技成果轉化及海洋可再生能源開發的重要平臺。該系統通過互聯操作來實現系統的無縫集成和系統重構[11]。IDCM模型兼容多類型參數數據,面向多種數據應用與服務系統,實現了海洋應用領域中海量異構數據的數據轉換,為實現中國海洋數據“一張圖”打下了良好的基礎。

圖12 海洋應用互聯系統
本文提出的IDCM模型為解決物聯網的海量、多源異構數據庫的轉換問題提供了一個良好的解決方案,通過引入模式匹配器、數據轉換器和狀態監控器,統一了模式匹配的方法,提高了數據轉換的效率,降低了人工維護成本,最終實現了高效、快速、規模化的異構數據轉換,并且IDCM模型在家電產品測試系統和海洋觀測系統互聯等實際應用中得到了有效的驗證。
但是IDCM模型仍然存在缺點與不足,比如說模式匹配器的人工參與度過多,兼容性較差;數據轉換器的復用率不理想;狀態監控器的異常判斷處理的實時性較差。我們的后續工作包括:(1)結合機器學習的知識,尋找一種適應IDCM模型的高效算法,實現物聯網的異構數據模式的自動匹配,并增強其兼容性。(2)優化數據轉換器的結構設計,動態自適應模式匹配結果,提高其復用率。(3)進一步將模型擴展至其他領域。