周清松
摘要:隨著社會信息化的大力推進和發(fā)展,全社會積累和存儲了海量的數(shù)字信息資源,特別是很多大企業(yè)和政府部門在信息化過程中積累了大量的異構(gòu)型數(shù)據(jù)源,隨著web技術(shù)的不斷發(fā)展,如何充分利用計算機網(wǎng)絡技術(shù)和信息技術(shù)的優(yōu)勢和特點將這些異構(gòu)的數(shù)據(jù)整合起來,已成為當前十分熱門的話題,也是值得深入研究和探討的問題。本文提供了一種數(shù)據(jù)資源共享整合的方法,同時在這個方法的基礎上實現(xiàn)了一整套解決方案。
關(guān)鍵詞:B/S 資源共享 數(shù)據(jù)整合
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9416(2014)12-0095-02
1 引言
隨著信息化的推進,像企業(yè)和政府部門在報告撰寫和數(shù)據(jù)決策分析的需求中,需要集成遠程的一些異構(gòu)數(shù)據(jù)作為分析的基礎。然而需要整合的這些數(shù)據(jù)庫系統(tǒng)各不相同,在存儲方式上存在大量的數(shù)據(jù)錯誤;存儲信息的數(shù)據(jù)結(jié)構(gòu)上存在很大的差異;缺乏統(tǒng)一的數(shù)據(jù)描述標準,阻礙了單位主體信息化和數(shù)字化的進程。因此如何整合這些數(shù)據(jù),提供一個統(tǒng)一的數(shù)據(jù)訪問接口,為管理決策參考和分析報告撰寫提供服務成為迫切要求。
在目前的方法和實現(xiàn)方案中主要是基于C/S結(jié)構(gòu)的數(shù)據(jù)整合方式,這種方式下需要在用戶機器上安裝客戶端,對用戶機器的要求很高同時客戶端軟件維護難度大;缺乏對工作流程的支持;在特殊背景需要大系統(tǒng)整合的情況下不支持,導致整合數(shù)據(jù)和數(shù)據(jù)使用分離在不同的系統(tǒng)中。針對這些問題,本文闡述了一種數(shù)據(jù)資源整合的方法,同時在這個方法的基礎上實現(xiàn)了一整套解決方案。在B/S構(gòu)架的基礎上把數(shù)據(jù)源的定義,數(shù)據(jù)集的提取,映射關(guān)系定義、目的數(shù)據(jù)源定義和數(shù)據(jù)加載的流程通過工作流的方式進行耦合處理,靈活的解決了資源整合的問題,使用證明在電力行業(yè)的報告撰寫中提供了很好的支撐,在其它領域也具有很好的推廣性。[1][2]
2 系統(tǒng)架構(gòu)
基于J2EE標準規(guī)范和B/S模式建設,充分利用電力企業(yè)已有的網(wǎng)絡硬件支持環(huán)境,以Oracle網(wǎng)絡數(shù)據(jù)庫管理系統(tǒng)為核心,客戶端采用了通用的微軟平臺與IE瀏覽器。基于異構(gòu)數(shù)據(jù)整合技術(shù),實現(xiàn)異構(gòu)資源的統(tǒng)一管理,結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)的統(tǒng)一搜索。
數(shù)據(jù)存儲實現(xiàn)海量數(shù)據(jù)資源的存儲管理,在自建資源庫、互聯(lián)網(wǎng)采集資源庫、外購資源庫,以及其它交換數(shù)據(jù)的基礎上,構(gòu)建出索引庫和平臺基礎庫,通過全文檢索適配器網(wǎng)關(guān),實現(xiàn)索引庫和基礎庫的同步更新,從而實現(xiàn)對各類資源進行有效整合和管理。
系統(tǒng)框架是系統(tǒng)的核心部分,系統(tǒng)架構(gòu)層負責與數(shù)據(jù)庫的交互,平臺業(yè)務支撐層就負責協(xié)調(diào)和指揮處理多個應用的運行。
(1)數(shù)據(jù)源。從數(shù)據(jù)的來源來分,數(shù)據(jù)分為自產(chǎn)資源、外購資源和互聯(lián)網(wǎng)數(shù)據(jù)資源三種。其數(shù)據(jù)源是通過各種途徑獲得的數(shù)據(jù)源,為數(shù)據(jù)的加工、處理提供源數(shù)據(jù)。也為系統(tǒng)中所涉及的跨庫檢索、異構(gòu)數(shù)據(jù)整合提供了必要的基礎。[3]
自產(chǎn)資源即為企業(yè)內(nèi)部的各類簡報、簡訊、報告、各類文檔、匯編專輯、交換資源和內(nèi)參、視頻文件、技術(shù)論壇數(shù)據(jù)等。外購資源為通過有償?shù)姆绞綇母髻Y源商手中購置的數(shù)據(jù)資源,主要有:成果庫、中文論文庫、標準庫、外文論文庫、機構(gòu)庫、專利庫、圖書等數(shù)據(jù)。互聯(lián)網(wǎng)數(shù)據(jù)資源是通過網(wǎng)絡爬蟲從互聯(lián)網(wǎng)上定點采集的信息資源。
(2)數(shù)據(jù)存儲。數(shù)據(jù)存儲分為數(shù)據(jù)庫數(shù)據(jù)存儲和原文等文件存儲。數(shù)據(jù)庫數(shù)據(jù)存儲是將從多種途徑獲得而來的源數(shù)據(jù),通過排重、分類等多種形式加工處理,然后存儲到數(shù)據(jù)中。其文件存儲是將系統(tǒng)中的所有資源文件通過一定的分類規(guī)則統(tǒng)一存放到存儲中。即為后面所提到的海量信息存儲提供元數(shù)據(jù)。
(3)平臺框架。系統(tǒng)的技術(shù)平臺是采用面向服務(SOA)和組件化體系架構(gòu),兼容J2EE技術(shù)路線,可與業(yè)界主流的基礎平臺無縫對接。平臺在開發(fā)的過程中,采用的MVC((Model View Controller)模型(model)-視圖(view)-控制器(controller))模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。其優(yōu)點是耦合性低、重用性高、生命周期成本低、部署快、可維護性高、有利軟件工程化管理。[4]
平臺框架提供的接口服務、組件服務、檢索服務、身份驗證和集成技術(shù),為平臺的服務提供可靠的保障,也為平臺的擴展提供了便捷的接口。
3 整合實現(xiàn)方法
異構(gòu)數(shù)據(jù)資源是相關(guān)的多個數(shù)據(jù)庫、數(shù)據(jù)倉庫、數(shù)據(jù)集的集合,通過對異構(gòu)數(shù)據(jù)資源的整合,可以實現(xiàn)數(shù)據(jù)之間的共享和透明訪問,每個數(shù)據(jù)庫、數(shù)據(jù)倉庫、數(shù)據(jù)集在整合入異構(gòu)數(shù)據(jù)庫系統(tǒng)之前本身就已經(jīng)是單獨存在的,各自擁有自己的DBMS。異構(gòu)數(shù)據(jù)庫的各個組成部分都具有自身的自治性,在實現(xiàn)數(shù)據(jù)共享和互訪的同時,每個數(shù)據(jù)庫系統(tǒng)仍將保有自己的完整性、安全性和應用特性。
企業(yè)內(nèi)部的資源建設涉及到多種外購資源和自產(chǎn)資源,這些資源數(shù)據(jù)的來源和格式均不相同。在保證各原始數(shù)據(jù)系統(tǒng)的完整性和可訪問性的前提下,如何解決將這些數(shù)據(jù)進行整合,形成一個整合的資源庫,以向?qū)I(yè)系統(tǒng)提供數(shù)據(jù)共享和一站式跨庫檢索的數(shù)據(jù)支撐。
(1)數(shù)據(jù)資源整合定義過程。定義一個具體數(shù)據(jù)整合的任務,在定義中指定整合的名稱、映射關(guān)系和執(zhí)行的調(diào)度規(guī)則等等信息。數(shù)據(jù)資源管理整合的模塊通過屬性的綁定形式,將執(zhí)行過程中的信息關(guān)聯(lián)起來,可以靈活的搭配具體的信息。
(2)數(shù)據(jù)源連接過程。主要是定義和維護需要提取的數(shù)據(jù)的來源信息。包括數(shù)據(jù)庫類型、名稱、用戶名和密碼等等信息。通過這種定義方式,可以靈活的切換連接的方式。同時在數(shù)據(jù)庫連接的實現(xiàn)中加入連接驗證的功能,可以效驗連接的有效性。
(3)數(shù)據(jù)集定義。主要是定義需要提取的原數(shù)據(jù)的數(shù)據(jù)集合,其定義是建立在數(shù)據(jù)源連接的基礎上。包括數(shù)據(jù)集名稱定義,具體提取的數(shù)據(jù)庫表和數(shù)據(jù)庫表字段。
(4)目的數(shù)據(jù)源。主要定義和維護整合后資源導入到的具體目的數(shù)據(jù)庫和表格。包括對目的數(shù)據(jù)庫的定義和數(shù)據(jù)表的指定。
(5)映射關(guān)系。在此過程中定義了源數(shù)據(jù)和目的數(shù)據(jù)之間的一個映射關(guān)系,主要包括字段連接、截取、求和、取整、求平均值、類型轉(zhuǎn)換和字段格式轉(zhuǎn)換等等。樣例如下:
字段連接:字段Name=”云南”,字段Province=”昆明”,連接后目的字段address=”云南昆明”。
字段截取:字段Company=”云南普洱茶研究院”,截取后目的字段Company=”普洱茶研究院”。
字段求和:字段Salary={6000,1000,8000},求和后目的字段TotalSalary=15000。
(6)執(zhí)行過程。通過前面過程的實現(xiàn),執(zhí)行過程以異步的工作流形式提取數(shù)據(jù)源的數(shù)據(jù),根據(jù)映射關(guān)系存放到目的數(shù)據(jù)庫中。
可以看出,數(shù)據(jù)整合方式的定義方式串聯(lián)上整個數(shù)據(jù)資源的整合流程,一個整合定義,關(guān)聯(lián)到具體的映射關(guān)系,映射關(guān)系中需要指定數(shù)據(jù)的來源和目的數(shù)據(jù)源,這樣在具體執(zhí)行中可以以一種工作流的方式異步整合數(shù)據(jù)。而且通過把數(shù)據(jù)資源整合的實現(xiàn)集成到數(shù)據(jù)的使用系統(tǒng)中,這樣無縫的解決了數(shù)字鴻溝的問題,也避免了操作的跨系統(tǒng)問題。在B/S構(gòu)架的基礎上把數(shù)據(jù)源的定義,數(shù)據(jù)集的提取,映射關(guān)系定義、目的數(shù)據(jù)源定義和數(shù)據(jù)加載的流程通過工作流的方式松耦合靈活的解決了資源整合的問題,使用證明在電力行業(yè)的報告撰寫中提供了很好的支撐,這種方法在其它領域也具有很好的推廣性。
4 解決方案
一般情況下需要整合的數(shù)據(jù)來源包括商業(yè)關(guān)系型結(jié)構(gòu)化數(shù)據(jù)庫系統(tǒng)、非關(guān)系型非結(jié)構(gòu)化數(shù)據(jù)庫系統(tǒng)、文件系統(tǒng)。關(guān)系型數(shù)據(jù)庫包括Oracle、SQL Server、Mysql和Access等商業(yè)數(shù)據(jù)庫,非關(guān)系型數(shù)據(jù)庫如一些商用的全文檢索數(shù)據(jù)庫,文件包括xml文件、各類原文數(shù)據(jù)的原始文件格式、來自Internet的采集數(shù)據(jù)。
通過自定義的全文檢索數(shù)據(jù)庫作為資源數(shù)據(jù)的統(tǒng)一存儲數(shù)據(jù)庫管理系統(tǒng),通過實現(xiàn)全文檢索網(wǎng)關(guān)系統(tǒng),實現(xiàn)多種關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)到全文檢索數(shù)據(jù)庫的轉(zhuǎn)換和同步。網(wǎng)關(guān)系統(tǒng)自身結(jié)構(gòu)比較簡單,它相當于關(guān)系數(shù)據(jù)庫和全文檢索數(shù)據(jù)庫的客戶端程序,并在兩者之間實現(xiàn)數(shù)據(jù)和索引的同步。
在典型的應用中,全文檢索網(wǎng)關(guān)系統(tǒng)的定位在于將關(guān)系數(shù)據(jù)庫處理結(jié)構(gòu)化數(shù)據(jù)的優(yōu)勢和專業(yè)數(shù)據(jù)庫處理非結(jié)構(gòu)化數(shù)據(jù)的優(yōu)勢結(jié)合起來,同時在應用層進行無縫集成。其實現(xiàn)原理如圖1所示:
全文檢索網(wǎng)關(guān)的作用是數(shù)據(jù)更新代理,保證關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化時,數(shù)據(jù)所對應的全文索引可以及時更新,考慮到數(shù)據(jù)量和性能的影響,數(shù)據(jù)更新代理必須能夠?qū)崿F(xiàn)索引的增量更新。在這種系統(tǒng)結(jié)構(gòu)下,實現(xiàn)非結(jié)構(gòu)化數(shù)據(jù)的檢索應用包括如下步驟:
(1)用戶提交非結(jié)構(gòu)化數(shù)據(jù)的檢索請求;
(2)應用層將用戶檢索條件提交給專業(yè)數(shù)據(jù)庫進行檢索,專業(yè)數(shù)據(jù)庫返回命中記錄的主鍵信息;
(3)應用層根據(jù)專業(yè)數(shù)據(jù)庫返回的主鍵信息在關(guān)系數(shù)據(jù)庫中找到相應命中的記錄;
(4)將最終檢索結(jié)果以用戶期望的表現(xiàn)形式返回給最終用戶。
自產(chǎn)資源在被整合進入整合庫前通過數(shù)據(jù)導入的方式,從excel格式或經(jīng)過系統(tǒng)后臺錄入到ORACLE數(shù)據(jù)庫中,再通過全文檢索網(wǎng)關(guān)的同步功能可自動同步到全文檢索數(shù)據(jù)庫中,為數(shù)據(jù)檢索提供服務。
在對異構(gòu)數(shù)據(jù)進行整合后,為實現(xiàn)跨庫檢索及智能檢索提供了重要的數(shù)據(jù)層面的技術(shù)支撐,包括:
跨庫檢索:用戶可以實現(xiàn)一站式檢索,檢索過程對多個資源庫提交檢索請求;
統(tǒng)一結(jié)果:通過跨庫檢索功能,將對多個資源庫的檢索結(jié)構(gòu)進行匯總,統(tǒng)一顯示給用戶;
單一檢索:用戶可在不同的頁簽下對包括專利、標準、論文在內(nèi)的各種資源進行單一檢索;
安全控制:嚴格確保數(shù)據(jù)訪問過程中的安全性;
資源使用評估:對資源的使用情況、下載頻次進行記錄,并做相應的統(tǒng)計分析;
資源跨地域限制:通過跨地域訪問機制,實現(xiàn)用戶無限制訪問資源;
系統(tǒng)管理工具:確保系統(tǒng)配置的靈活性,提高系統(tǒng)的擴展性能。
5 結(jié)語
異構(gòu)數(shù)據(jù)源的整合可以屏蔽各種數(shù)據(jù)結(jié)構(gòu)的異構(gòu)性,提供訪問異構(gòu)數(shù)據(jù)源的服務,不需要改變底層數(shù)據(jù)的存儲和管理方式,即可實現(xiàn)分布異構(gòu)數(shù)據(jù)的互操作。
參考文獻
[1]張巖.網(wǎng)絡科技資源中異構(gòu)數(shù)據(jù)庫訪問技術(shù)的研究[J].計算機系統(tǒng)應用,2008(11).
[2]范煒瑋.基于SOA的體檢數(shù)據(jù)遷移系統(tǒng)的設計與實現(xiàn)[J].計算機與現(xiàn)代化,2011(11).
[3]劉芳,楊暢,皮碧媛.分布異構(gòu)環(huán)境下數(shù)據(jù)庫訪問技術(shù)的研究[J].計算機時代,2012(5).
[4]余臘生,李徐.基于Web服務的跨網(wǎng)絡異構(gòu)數(shù)據(jù)交換技術(shù)[J].計算機應用,2005(12).