郭 帥, 郭忠文??, 胡乃軍, 仇志金
(1 中國海洋大學信息科學與工程學院,山東 青島266100; 2.青島市工商行政管理局信息中心,山東 青島 266071)
隨著物聯(lián)網(wǎng)技術的快速發(fā)展以及互聯(lián)網(wǎng)+理念的普及,海量數(shù)據(jù)的互聯(lián)轉換已經(jīng)形成了不可阻擋的發(fā)展趨勢,異構數(shù)據(jù)轉換作為實現(xiàn)數(shù)據(jù)互聯(lián)的有效途徑之一,其重要性也日益增加。然而,目前大多數(shù)據(jù)并未實現(xiàn)互聯(lián)共享,導致形成了大量的、獨立封閉的信息孤島,嚴重阻礙了人們對信息的獲取[1],如何將這些信息孤島互聯(lián)起來已經(jīng)成為當下的關鍵問題。傳統(tǒng)的異構數(shù)據(jù)轉換模型大多將重點放在異構數(shù)據(jù)輸出格式的統(tǒng)一定義和網(wǎng)絡傳輸方式上,隨著異構數(shù)據(jù)越來越多樣化以及互聯(lián)轉換需求量的迅速增加,對異構數(shù)據(jù)轉換又提出了新的挑戰(zhàn),如何在現(xiàn)實應用中實現(xiàn)標準、高效、規(guī)?;漠悩嫈?shù)據(jù)轉換越來越受到人們的重視。
數(shù)據(jù)互聯(lián)與轉換技術種類繁多,主要可以劃分為:聯(lián)邦數(shù)據(jù)庫技術、數(shù)據(jù)服務技術、數(shù)據(jù)網(wǎng)格技術等。聯(lián)邦數(shù)據(jù)庫技術將海量數(shù)據(jù)庫,通過構建全局數(shù)據(jù)視圖,實現(xiàn)了對異構數(shù)據(jù)庫的統(tǒng)一訪問。數(shù)據(jù)服務技術將服務技術的特點和優(yōu)勢與數(shù)據(jù)庫互聯(lián)相結合,增強傳統(tǒng)數(shù)據(jù)庫的交互及協(xié)同能力。數(shù)據(jù)網(wǎng)格技術主要針對多系統(tǒng)、多分布、大規(guī)模的異構數(shù)據(jù),通過數(shù)據(jù)網(wǎng)格實現(xiàn)異構數(shù)據(jù)庫的自主互聯(lián)、協(xié)同及綜合利用。美國軍方正在實施的全球信息網(wǎng)格GIG(Global Information Grid),預計在2020年完成,利用計算網(wǎng)格和數(shù)據(jù)網(wǎng)格技術及時的收集、處理和共享軍事情報信息。
基于以上的數(shù)據(jù)互聯(lián)與轉換技術,在現(xiàn)有的數(shù)據(jù)轉換模型中,美國Standford大學設計的Lore系統(tǒng)[2]主要用于管理半結構化信息的數(shù)據(jù)庫管理系統(tǒng),可以對半結構化數(shù)據(jù)OEM和XML數(shù)據(jù)進行存儲和管理;Ozone模型對面向對象數(shù)據(jù)庫的ODMG轉換模型進行了擴展,可對結構化和半結構化數(shù)據(jù)進行轉換;東南大學Versatile[3]是一個基于CORBA可擴展的異構數(shù)據(jù)源轉換系統(tǒng)模型。這些傳統(tǒng)的數(shù)據(jù)轉換模型都在一定程度上解決了異構數(shù)據(jù)轉換問題,但在現(xiàn)實情況中仍然存在許多缺點和不足:首先,單一的定義統(tǒng)一數(shù)據(jù)輸出格式只能解決部分問題,大多數(shù)的異構數(shù)據(jù)無法提供統(tǒng)一標準的數(shù)據(jù)接口,只能使用人工配置的方式對異構數(shù)據(jù)與標準化數(shù)據(jù)庫進行模式匹配,而現(xiàn)有的模式匹配方式多種多樣,大多隨著開發(fā)人員的定義和習慣而改變,難以形成一個統(tǒng)一的異構數(shù)據(jù)模式匹配模型,導致模式匹配過程復雜、耗時,降低了數(shù)據(jù)轉換的效率。其次,傳統(tǒng)的模式匹配映射僅僅以人工編寫代碼的方式寫入程序中,供解析模塊解析,并沒有單獨存儲信息,導致一旦模式發(fā)生改變,只能通過修改代碼的方式解決,解析模塊無法自適應映射的改變并且無法動態(tài)擴充,這大大降低了軟件的靈活性,提高了開發(fā)成本,延長了開發(fā)周期。最后,對大量不同的數(shù)據(jù)轉換模塊缺少統(tǒng)一的管理及其運行狀態(tài)的實時遠程監(jiān)控,導致出現(xiàn)問題無法及時捕捉,難以通過遠程方式解決,增加了維護成本。
針對以上出現(xiàn)的新問題,傳統(tǒng)的異構數(shù)據(jù)轉換模型已經(jīng)難以處理,無法在現(xiàn)實應用中實現(xiàn)數(shù)據(jù)轉換的標準化、高效化、規(guī)?;?。為此本文給出了一種面向物聯(lián)網(wǎng)的異構數(shù)據(jù)轉換模型IDCM,該模型主要針對由物聯(lián)網(wǎng)各領域中應用系統(tǒng)的分散開發(fā)和引進而形成了海量的異構數(shù)據(jù)庫,通過引入模式匹配器、數(shù)據(jù)轉換器和狀態(tài)監(jiān)控器,較好的解決了以上問題,本文的主要貢獻如下:
(1)構建了物聯(lián)網(wǎng)異構數(shù)據(jù)轉換模型架構,對物聯(lián)網(wǎng)異構數(shù)據(jù)的轉換與互聯(lián)提供了一個標準,提高了針對物聯(lián)網(wǎng)異構數(shù)據(jù)的數(shù)據(jù)轉換與互聯(lián)的效率。
(2)構建了模式匹配器,基于統(tǒng)一的模式匹配模型,對未能提供標準數(shù)據(jù)接口的異構數(shù)據(jù)與標準化數(shù)據(jù)庫進行模式匹配,產(chǎn)生的匹配結果單獨存儲,簡化了模式匹配過程,提高了模式匹配效率,降低了人工參與度。
(3)構建了數(shù)據(jù)轉換器,調用模式匹配結果,建立映射,實現(xiàn)動態(tài)自適應,降低了解析模塊開發(fā)成本,大幅縮短其開發(fā)周期,提高了系統(tǒng)開發(fā)過程中的資源利用率。
(4)構建了運行狀態(tài)監(jiān)控器的使用,實現(xiàn)了數(shù)據(jù)轉換器統(tǒng)一的集成管理,并且實時遠程追蹤其運行狀態(tài),增強了為數(shù)據(jù)轉換器的維護性,降低維護成本。
(5)對外提供標準化的WebService數(shù)據(jù)接口,通過訪問該接口來獲取轉換后的數(shù)據(jù)。
IDCM是一種面向物聯(lián)網(wǎng)的異構數(shù)據(jù)轉換模型,該模型針對物聯(lián)網(wǎng)海量的異構數(shù)據(jù)互聯(lián)轉換問題,提供了有效的數(shù)據(jù)轉換方法,實現(xiàn)了數(shù)據(jù)轉換過程中對模式匹配的動態(tài)自適應;提高了模式匹配效率及系統(tǒng)開發(fā)過程中資源的重復利用率;對數(shù)據(jù)轉換模塊進行統(tǒng)一管理和遠程監(jiān)控;最終實現(xiàn)異構數(shù)據(jù)轉換的標準化、高效化、規(guī)模化。本章節(jié)將對IDCM的模型架構及模型處理機制進行詳細描述。
本文所提出的異構數(shù)據(jù)轉換模型(IDCM)的模型架構如圖1所示,該模型由五大模塊組成:模式匹配器、數(shù)據(jù)轉換器、狀態(tài)監(jiān)控器、標準化數(shù)據(jù)庫和標準數(shù)據(jù)接口,各部分協(xié)同工作,共同實現(xiàn)異構數(shù)據(jù)的轉換。
(1)模式匹配器:基于統(tǒng)一的模式匹配模型,為用戶提供人性化、快捷化的操作界面以及操作方式,對異構數(shù)據(jù)和標準化數(shù)據(jù)庫進行模式匹配,建立映射,并最終將匹配結果單獨存儲。
(2)數(shù)據(jù)轉換器:解析模式匹配結果,獲取異構數(shù)據(jù)進行數(shù)據(jù)轉換,并將轉換后的數(shù)據(jù)寫入到標準化數(shù)據(jù)庫中,實現(xiàn)異構數(shù)據(jù)的標準化。
(3)狀態(tài)監(jiān)控器:對所有的數(shù)據(jù)轉換器的運行狀態(tài)、網(wǎng)絡連接等進行實時遠程監(jiān)控,并對其進行統(tǒng)一的管理與維護。
(4)標準化數(shù)據(jù)庫:存儲標準化數(shù)據(jù)、模式匹配結果和狀態(tài)監(jiān)控日志等數(shù)據(jù)信息。
(5)標準數(shù)據(jù)接口:對外提供標準化的WebService數(shù)據(jù)服務接口,用戶通過訪問數(shù)據(jù)接口獲取相關數(shù)據(jù)。
圖1 IDCM模型架構
步驟一: 模式匹配器與異構數(shù)據(jù)建立連接,獲取異構數(shù)據(jù)的模式信息,通過人工快速配置的方式進行模式匹配,將最終產(chǎn)生的模式匹配結果存入標準化數(shù)據(jù)庫的匹配池中(見圖2中過程①②)。
步驟二: 數(shù)據(jù)轉換程序從數(shù)據(jù)庫匹配池中獲取模式匹配結果,建立映射,啟動數(shù)據(jù)轉換功能進行數(shù)據(jù)的獲取與解析,并將最終生成的數(shù)據(jù)寫入標準化數(shù)據(jù)庫(見圖2中過程③④⑤⑥)。
步驟三: 這期間,運行狀態(tài)監(jiān)控器對所有啟動的數(shù)據(jù)轉換器進行遠程監(jiān)控(見圖2中過程⑦)。
圖2 IDCM模型處理機制
模式匹配器主要實現(xiàn)異構數(shù)據(jù)和標準化數(shù)據(jù)庫之間的模式匹配,建立映射關系[4],并且將最終的匹配結果單獨存儲。模式匹配器的映射模型如圖3所示。
圖3 模式匹配器映射模型
假設存在異構數(shù)據(jù)S和標準化數(shù)據(jù)庫D,定義:
(1)在S和D中,只包含一個主題信息的數(shù)據(jù)集合為C,例如關系數(shù)據(jù)庫的一個表或一個數(shù)據(jù)文件等。
(2)D中每一個數(shù)據(jù)集合C都有唯一的模式匹配集合R與之對應,即R=f(C)。
(3)S中數(shù)據(jù)集合C的個數(shù)為m和D中數(shù)據(jù)集合C的個數(shù)為n,則S集合和D集合可以表示為:
S={Cs1,Cs2,Cs3,…,Csm};
D={(CD1,R1),(CD2,R2),…,(CDn,Rn)}。
(4)對于單一的數(shù)據(jù)集合C都可以表示為一個p×q的二維矩陣A(p∈N,q∈N),A=(a1,a2,a3,…,ai),(i=p或i=q)。例如對于關系數(shù)據(jù)庫中的表,A可以表示為列向量的集合;對于XML數(shù)據(jù)文件則可以表示為行向量的集合。
Csi←Asi=(a1,a2,a3,…,ar),r∈N;
CDj←BTj=(b1,b2,b3,…,bs),s∈N。
通過研究分析發(fā)現(xiàn)Csi和CDj中的a、b,i∈(1,m),j∈(1,n)主要存在一對一,一對多,多對一這三種映射關系,如圖4所示?;谟成潢P系,建立一個操作函數(shù)f(x)執(zhí)行模式匹配運算,匹配運算包含基本的算數(shù)運算、合并拆分及數(shù)據(jù)格式轉換等操作,則對于任意一個匹配集合R,都有:
R=f((CS1,a1),(CS2,a2),…,(CSn,an)),n∈N。
圖4 數(shù)據(jù)集合映射Fig.4 Dataset mapping
模式匹配結果集R={R1,R2,R3,…,Rn}存儲于數(shù)據(jù)庫中,任意匹配集Ri∈R的存儲方式如表1所示,其中匹配標識唯一確定了一條匹配信息,便于檢索調用;D信息中記錄CDj(j∈(1,n))中每一個b的唯一標識信息;S信息存儲對應于b的匹配結果,“@”為操作符,它實際上是一個由多種數(shù)據(jù)轉換操作組成的集合。
表1 匹配集合存儲結構
最后,以關系數(shù)據(jù)庫為例對模式匹配器進行說明。已知關系數(shù)據(jù)庫S和標準化數(shù)據(jù)庫D,按照D的模式構建一個模式匹配器,模式匹配器與關系數(shù)據(jù)庫S建立連接,從而獲取S的模式信息集{Cs1,Cs2,Cs3,…,Csm},其中模式信息如數(shù)據(jù)庫表名、字段名、字段類型,數(shù)據(jù)文件的文件名,行、列定義等,基于該集合構建一個m×k的模式矩陣P:
式中:m為S中所有表的個數(shù);n為S中所有表中的最大字段數(shù);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所得矩陣的對角線元素之和,將對角線元素進行解析處理,最總得到模式匹配結果集。
數(shù)據(jù)轉換器主要負責解析數(shù)據(jù)庫中的模式匹配結果R并構建匹配引擎,通過匹配引擎獲取異構數(shù)據(jù)S的原始數(shù)據(jù),并且對原始數(shù)據(jù)進行質量控制、格式轉換等操作,最終將標準化的數(shù)據(jù)寫入標準化數(shù)據(jù)庫D中[5-6],數(shù)據(jù)轉換器如圖5所示。下面對數(shù)據(jù)轉換器的轉換算法進行描述。
圖5 數(shù)據(jù)轉換器
狀態(tài)監(jiān)控器主要負責對所有數(shù)據(jù)轉換器運行狀態(tài)的實時遠程監(jiān)控及統(tǒng)一管理,并且為解決多地區(qū)軟件維護成本過高等問題提供了一個良好的解決方案[7]。狀態(tài)監(jiān)控器具有對數(shù)據(jù)轉換器進行實時的網(wǎng)絡連接監(jiān)控、運行狀態(tài)監(jiān)控、集成管理及升級維護等功能,如圖6所示。
在物聯(lián)網(wǎng)各領域的異構數(shù)據(jù)轉換問題中,通常需要對不同結構的數(shù)據(jù)庫進行相應的數(shù)據(jù)轉換系統(tǒng)的重復性開發(fā),而IDCM模型具有靈活、動態(tài)適應特點,能夠實現(xiàn)異構數(shù)據(jù)庫數(shù)據(jù)的快速轉換。首先,模式匹配器將匹配過程單獨抽離,實現(xiàn)了匹配模型的統(tǒng)一,匹配結果作為一個“可配置的信息”,存儲于數(shù)據(jù)庫中。其次,數(shù)據(jù)轉換器與模式匹配器無縫對接,能夠動態(tài)自適應匹配結果,無需因匹配結果的改變而重新開發(fā)或修改數(shù)據(jù)轉換器;狀態(tài)監(jiān)控器的遠程實時監(jiān)控,能夠實時捕捉異常并遠程進行操作處理,大大減少了軟件維護成本。IDCM模式相比較平臺開發(fā)、組件式開發(fā)、重新編碼等軟件開發(fā)方法[8-9],其開發(fā)明顯提高了開發(fā)效率,由于需要構建模式匹配器,因此第一次開發(fā)時,IDCM會占用更多的資源,但是隨著互聯(lián)的異構數(shù)據(jù)數(shù)量的增加,其效率會有明顯的提升,并且大幅降低了系統(tǒng)測試和維護的成本與時間。以工業(yè)領域家用空調測試數(shù)據(jù)轉換系統(tǒng)開發(fā)為例,共計對12套異構的產(chǎn)品測試系統(tǒng)進行數(shù)據(jù)轉換,包含ORACLE、SQLSERVER、ACCESS、TXT文件等多種數(shù)據(jù)存儲形式,每套數(shù)據(jù)庫平均有15個表,350個字段,包含的數(shù)據(jù)內容包括產(chǎn)品測試的銘牌信息、傳感器信息、工況信息、報告信息、測試數(shù)據(jù)等,對其進行對比發(fā)現(xiàn),IDCM模型明顯提高了整個系統(tǒng)的開發(fā)效率,減少了系統(tǒng)測試時間,并且降低了維護成本,對比結果如圖7和8所示。
數(shù)據(jù)轉換算法1:定義MatchList數(shù)據(jù)集合,存儲解析后的匹配結果信息。定義DataList數(shù)據(jù)集合,存儲從異構數(shù)據(jù)源S獲取的數(shù)據(jù)。2: 獲取數(shù)據(jù)轉換器啟動所需的配置信息,與異構數(shù)據(jù)S和標準化數(shù)據(jù)庫D分別建立連接
圖7 系統(tǒng)開發(fā)效率對比
圖8 系統(tǒng)測試維護對比
模式匹配作為數(shù)據(jù)轉換的重要過程,其效率的高低能夠直接影響整個數(shù)據(jù)轉換效率。本文通過構建了模式匹配器,簡化了模式匹配過程,提高了模式匹配效率,降低了人工參與度。為了驗證模式匹配器工作效率,對來自工業(yè)領域冰箱性能測試的10個異構數(shù)據(jù)庫,分別進行使用匹配器前后的匹配效率對比,結果表明使用了模式匹配器后,匹配效率與之前相比有著明顯的提升(見圖9)。
圖9 模式匹配效率對比
IDCM模型最終對外提供WebService標準化接口,用戶通過訪問WebService接口來獲取相應的標準化數(shù)據(jù),因此WebService接口的性能直接影響到互聯(lián)系統(tǒng)的數(shù)據(jù)顯示、操作及響應時間[10]。為了檢驗接口性能,本文對IDCM模型的WebService接口做了性能測試,測試環(huán)境如表2所示。本次假定在相同網(wǎng)絡、主機環(huán)境條件下進行本機測試和遠程測試,服務端接口內部沒有復雜業(yè)務邏輯,客戶端調用時,返回一條數(shù)據(jù)。每次運行,采用java循環(huán)方式調用10次服務端接口,并記錄下從發(fā)起到返回結果的時間。測試結果表明IDCM模型的WebService標準化接口性能良好(見圖10)。
表2 測試環(huán)境
IDCM作為一種面向物聯(lián)網(wǎng)的異構數(shù)據(jù)轉換模型,已經(jīng)被應用到家電產(chǎn)品測試系統(tǒng)和海洋應用系統(tǒng)互聯(lián)的項目中,得到了有效的驗證。首先,基于IDCM模型的海爾家電產(chǎn)品測試互聯(lián)系統(tǒng)(見圖11),是海爾集團為響應“中國制造2025”發(fā)展戰(zhàn)略,提高制造水平、制造效率、生產(chǎn)出適合人們個性化需要的各種家電產(chǎn)品而產(chǎn)生的軟件系統(tǒng)。IDCM模型作為其數(shù)據(jù)轉換模塊的核心,實現(xiàn)了海爾熱水器、電冰箱、空調、模塊商等眾多廠家共計67套測試系統(tǒng)的異構數(shù)據(jù)轉換,累計轉換的數(shù)據(jù)量約為1005G。IDCM模型的使用解決了長期以來家電產(chǎn)品測試行業(yè)大量“信息孤島”的問題,明顯提高了測試系統(tǒng)的互聯(lián)效率。
圖10 測試結果
圖11 海爾家電產(chǎn)品測試互聯(lián)系統(tǒng)
海洋應用互聯(lián)系統(tǒng)(見圖12)是我國海洋觀測、監(jiān)測和調查儀器設備研發(fā)、海洋科學研究、實現(xiàn)科技興海,促進高新科技成果轉化及海洋可再生能源開發(fā)的重要平臺。該系統(tǒng)通過互聯(lián)操作來實現(xiàn)系統(tǒng)的無縫集成和系統(tǒng)重構[11]。IDCM模型兼容多類型參數(shù)數(shù)據(jù),面向多種數(shù)據(jù)應用與服務系統(tǒng),實現(xiàn)了海洋應用領域中海量異構數(shù)據(jù)的數(shù)據(jù)轉換,為實現(xiàn)中國海洋數(shù)據(jù)“一張圖”打下了良好的基礎。
圖12 海洋應用互聯(lián)系統(tǒng)
本文提出的IDCM模型為解決物聯(lián)網(wǎng)的海量、多源異構數(shù)據(jù)庫的轉換問題提供了一個良好的解決方案,通過引入模式匹配器、數(shù)據(jù)轉換器和狀態(tài)監(jiān)控器,統(tǒng)一了模式匹配的方法,提高了數(shù)據(jù)轉換的效率,降低了人工維護成本,最終實現(xiàn)了高效、快速、規(guī)模化的異構數(shù)據(jù)轉換,并且IDCM模型在家電產(chǎn)品測試系統(tǒng)和海洋觀測系統(tǒng)互聯(lián)等實際應用中得到了有效的驗證。
但是IDCM模型仍然存在缺點與不足,比如說模式匹配器的人工參與度過多,兼容性較差;數(shù)據(jù)轉換器的復用率不理想;狀態(tài)監(jiān)控器的異常判斷處理的實時性較差。我們的后續(xù)工作包括:(1)結合機器學習的知識,尋找一種適應IDCM模型的高效算法,實現(xiàn)物聯(lián)網(wǎng)的異構數(shù)據(jù)模式的自動匹配,并增強其兼容性。(2)優(yōu)化數(shù)據(jù)轉換器的結構設計,動態(tài)自適應模式匹配結果,提高其復用率。(3)進一步將模型擴展至其他領域。