劉豐源 王 凌
(上海計算機(jī)軟件技術(shù)開發(fā)中心 上海 201112)
隨著信息技術(shù)的快速發(fā)展和數(shù)據(jù)量激增使得數(shù)據(jù)環(huán)境龐雜、企業(yè)數(shù)據(jù)的表關(guān)系復(fù)雜、表結(jié)構(gòu)變更頻繁、系統(tǒng)變更造成的影響難以確定,以及錯誤數(shù)據(jù)難以追根溯源。在當(dāng)前背景下基于元數(shù)據(jù)進(jìn)行數(shù)據(jù)標(biāo)簽化管理、展現(xiàn)以及交互是企業(yè)提升數(shù)據(jù)利用率的必經(jīng)之路。
現(xiàn)有關(guān)于元數(shù)據(jù)管理的研究以及平臺技術(shù)的設(shè)計主要集中在元模型的建立及應(yīng)用上,開發(fā)難度大且維護(hù)成本高,尤其是可視化開發(fā)脫離實際需求,導(dǎo)致可用性低,對非技術(shù)人員來說不夠直觀。
本文提出元數(shù)據(jù)應(yīng)用層面可視化思想的改進(jìn)方法[1],采用最直觀的關(guān)系型數(shù)據(jù)庫構(gòu)建元數(shù)據(jù)體系[2],并在應(yīng)用分析階段的數(shù)據(jù)地圖繪制上進(jìn)行友好化處理,提出三層階梯視圖的元數(shù)據(jù)可視化思想,基于該思想實現(xiàn)影響分析和血統(tǒng)分析,從實際需求出發(fā)改進(jìn)元數(shù)據(jù)展示的組織方式,使數(shù)據(jù)的可理解性大大增加。
1.1 元數(shù)據(jù)及其管理分類
傳統(tǒng)數(shù)據(jù)字典包含模式對象信息,如表和索引等,而元數(shù)據(jù)的概念起源于它,因此沿襲了其部分內(nèi)容,旨在描述數(shù)據(jù)。源數(shù)據(jù)庫中多存儲業(yè)務(wù)數(shù)據(jù),以數(shù)值為重,而元數(shù)據(jù)庫存儲特征數(shù)據(jù),即環(huán)境信息和描述信息[3]。元數(shù)據(jù)及其管理可以有效地整合歸納包含商業(yè)規(guī)則、數(shù)據(jù)轉(zhuǎn)移等在內(nèi)的信息,為數(shù)據(jù)的高效導(dǎo)航和定位開辟新途徑。
依據(jù)使用用途的不同,可以將元數(shù)據(jù)的管理分為對技術(shù)和業(yè)務(wù)元數(shù)據(jù)的管理[4]。技術(shù)元數(shù)據(jù)針對開發(fā)人員的日常使用,包括一切技術(shù)相關(guān)信息[5]。業(yè)務(wù)元數(shù)據(jù)來源于業(yè)務(wù)人員的日常應(yīng)用,從業(yè)務(wù)角度定義描述數(shù)據(jù),提供通用易懂的語義,不同行業(yè)有所不同。
1.2 元數(shù)據(jù)管理流程
目前元數(shù)據(jù)管理的通用流程可歸納為:1) 確定元數(shù)據(jù)來源,即哪些系統(tǒng)需劃歸到元數(shù)據(jù)管理體系中[6];2) 為成功鏈接的底層元數(shù)據(jù)庫設(shè)置參數(shù)和制定采集任務(wù);3) 參照CWM標(biāo)準(zhǔn)進(jìn)行建模并存儲;4) 關(guān)于構(gòu)建的元數(shù)據(jù)庫的變更進(jìn)行運(yùn)維;5) 應(yīng)用層面上,可以實現(xiàn)數(shù)據(jù)的追根溯源、宏觀縱覽和數(shù)據(jù)流管控。在經(jīng)過以上五步操作后可以基本實現(xiàn)對元數(shù)據(jù)的采集、管理和查看功能。
1.3 TSV
TSV在本文為Three Step View的縮寫,即三層階梯視圖。企業(yè)對于數(shù)據(jù)的應(yīng)用來源于三個層面,分別是領(lǐng)導(dǎo)、業(yè)務(wù)人員以及開發(fā)人員層面。與此對應(yīng),元數(shù)據(jù)展示效果應(yīng)同樣分為三個層次,即系統(tǒng)級元數(shù)據(jù)、單系統(tǒng)內(nèi)數(shù)據(jù)庫級元數(shù)據(jù)以及單庫內(nèi)表級元數(shù)據(jù)[7]。TSV應(yīng)用思想來源于企業(yè)各階層用戶不同的應(yīng)用需求,領(lǐng)導(dǎo)層宏觀掌控企業(yè)內(nèi)部各大系統(tǒng)之間的數(shù)據(jù)流走向和系統(tǒng)數(shù)據(jù)交互關(guān)系,可視化效果需直觀明確;業(yè)務(wù)人員作為數(shù)據(jù)生產(chǎn)者和消費(fèi)者,關(guān)心的是數(shù)據(jù)流走向和數(shù)據(jù)應(yīng)用情況[8];開發(fā)人員是數(shù)據(jù)管理者,最關(guān)心數(shù)據(jù)的細(xì)節(jié)如數(shù)據(jù)類型和長度、鍵和約束等。因此TSV基于企業(yè)實際應(yīng)用中產(chǎn)生的需求而誕生。
基于當(dāng)前主流技術(shù)和框架,本平臺的主要實現(xiàn)技術(shù)如下:
1) SSM框架:SSM是Spring+SpringMVC+Mybatis的縮寫,是當(dāng)前Web開發(fā)中常用的基礎(chǔ)框架之一。第一部分是Spring,輔助開發(fā)人員集合各個層次,進(jìn)行事務(wù)的托管和持久化工作。SpringMVC續(xù)寫了Spring,將C、V、M分隔開,即隔離控制器、視圖與業(yè)務(wù)三大模塊[8]。Mybatis的存在避免了設(shè)置參數(shù),跳過JDBC代碼實現(xiàn),僅通過配置文件的映射實現(xiàn)數(shù)據(jù)庫的更新。
2) Extjs:Extjs是當(dāng)前比較流行且效果豐富的Ajax框架,用于客戶端Web應(yīng)用程序界面的開發(fā),適用于現(xiàn)在多數(shù)主流開發(fā)語言。Extjs有著良好的互動界面和和異常處理機(jī)制,且對于跨瀏覽器處理有著極大的優(yōu)勢,因此在平臺開發(fā)的實現(xiàn)上成為首選前端開發(fā)框架。
3) Neo4j圖數(shù)據(jù)庫:Neo4j基于屬性,支持Java、Python、Ruby、PHP、Scala等編程語言,提供包含Cypher在內(nèi)的多種查詢語言,支持傳統(tǒng)關(guān)系型數(shù)據(jù)庫的ACID。Neo4j的實現(xiàn)基于節(jié)點(diǎn),通過關(guān)系鏈接多個節(jié)點(diǎn)構(gòu)成網(wǎng)絡(luò),可對傳統(tǒng)關(guān)系型數(shù)據(jù)庫中鍵值對處理。Neo4j在創(chuàng)建時就存儲關(guān)系,避免動態(tài)的復(fù)雜查詢消耗大量內(nèi)存,便于遍歷和擴(kuò)展,可實現(xiàn)高效查詢。基于TSV思想可以用于實現(xiàn)元數(shù)據(jù)關(guān)系網(wǎng)建立和展示,提升關(guān)系查詢和展示效率。
4) Cytoscape.js:Cytoscape.js 是基于JavaScript的用于繼承到網(wǎng)站或 Web 應(yīng)用中,實現(xiàn)交互的可視化圖形的 圖形庫,支持有向圖、無向圖、混合圖、循環(huán)、多圖、復(fù)合圖(一種超圖)等。通過Cytoscape.js,本工具可以通過拖拉、展開節(jié)點(diǎn)查看金融企業(yè)核心業(yè)務(wù)系統(tǒng)彼此之間的數(shù)據(jù)間的依賴關(guān)系以及數(shù)據(jù)流動,實現(xiàn)對數(shù)據(jù)走向和聯(lián)系的梳理功能。
3.1 功能流程設(shè)計
平臺功能流程的設(shè)計需符合關(guān)于元數(shù)據(jù)全生命周期的應(yīng)用需求[10]?;诙鄶?shù)企業(yè)數(shù)據(jù)分散的現(xiàn)狀,需跨多源數(shù)據(jù)采集并簡化存儲體系,采用元數(shù)據(jù)樹結(jié)構(gòu)搭建瀏覽體系,采用三層階梯視圖對元數(shù)據(jù)分層次挖掘和展現(xiàn)。整體功能流程設(shè)計如圖1所示。
圖1 功能流程設(shè)計圖
此平臺系統(tǒng)功能統(tǒng)分為七大類,具體如下:
3.1.1 元數(shù)據(jù)導(dǎo)入配置
(1) 懸掛點(diǎn)配置:采集任務(wù)開始之前需配置相應(yīng)的懸掛點(diǎn),構(gòu)建元數(shù)據(jù)瀏覽樹。
(2) 數(shù)據(jù)源配置:配置包括數(shù)據(jù)源類型、鏈接信息、賬戶信息等,并進(jìn)行鏈接測試,鏈接成功后方可開始進(jìn)行采集任務(wù)。
3.1.2 元數(shù)據(jù)采集
元數(shù)據(jù)的采集為管理的前提,完備的采集指定數(shù)據(jù)源可以最大限度的完善元數(shù)據(jù)體系,避免元數(shù)據(jù)丟失導(dǎo)致數(shù)據(jù)地圖的不完整。采集任務(wù)按照金融行業(yè)企業(yè)實際業(yè)務(wù)中不同的數(shù)據(jù)要求,分為一次性采集和定期采集,從系統(tǒng)實現(xiàn)角度分為手動采集和自動采集。
(1) 手動采集:基于已配置成功的數(shù)據(jù)源和懸掛點(diǎn),對指定數(shù)據(jù)庫進(jìn)行單次采集,采集任務(wù)成功與否可以通過左側(cè)元數(shù)據(jù)瀏覽樹結(jié)構(gòu)查看采集詳情。
(2) 自動采集:需額外配置采集時間和采集周期,配置單次采集任務(wù)的執(zhí)行時間最大值,避免由于采集任務(wù)執(zhí)行時間過長導(dǎo)致數(shù)據(jù)及時性受損。
3.1.3 元數(shù)據(jù)瀏覽
(1) 元數(shù)據(jù)樹:配置好的懸掛點(diǎn)顯示在左側(cè)元數(shù)據(jù)樹狀結(jié)構(gòu)中,以直觀的結(jié)果供用戶瀏覽?;谌龑与A梯視圖思想,元數(shù)據(jù)樹應(yīng)具有三層以上結(jié)構(gòu),首層為系統(tǒng),第二層為各系統(tǒng)所對應(yīng)數(shù)據(jù)庫,第三層為各庫下屬表。
(2) 庫級元數(shù)據(jù):展示對應(yīng)庫的所有所屬表名及創(chuàng)建時間。
(3) 表級元數(shù)據(jù):在表名列單中挑選所需表進(jìn)行雙擊,查看該表詳細(xì)信息,包括以下幾部分:字段、約束、索引、鍵、視圖等,以隱藏下拉菜單的形式顯示。展開下拉菜單可以查看對應(yīng)元數(shù)據(jù)信息。
(4) 字段級元數(shù)據(jù):字段級元數(shù)據(jù)包括:字段名、字段類型、字段描述、所屬表、所屬庫。其中前三項為特征描述,后兩項為定位描述,方便對字段在分析中進(jìn)行定位。
(5) 其他元數(shù)據(jù):包括約束、索引、鍵、視圖等細(xì)粒度元數(shù)據(jù)。
3.1.4 采集任務(wù)管理
對手動采集任務(wù)和自動采集任務(wù)的日志進(jìn)行記錄,形成任務(wù)列表??梢圆榭丛敿?xì)日志,以方便對執(zhí)行過程中的錯誤進(jìn)行修改??蓪θ蝿?wù)列表綜合查詢或刪除。
3.1.5 元數(shù)據(jù)分析
(1) 數(shù)據(jù)地圖:基于三層階梯視圖,首層為系統(tǒng)級元數(shù)據(jù)地圖,即通過企業(yè)業(yè)務(wù)人員將系統(tǒng)間關(guān)系設(shè)定,系統(tǒng)讀取系統(tǒng)名稱、系統(tǒng)說明、系統(tǒng)間關(guān)系,形成系統(tǒng)級數(shù)據(jù)地圖。第二級為數(shù)據(jù)庫級地圖,雙擊單個系統(tǒng)可以下鉆,查看該系統(tǒng)內(nèi)數(shù)據(jù)庫間關(guān)系。第三級為表級數(shù)據(jù)地圖,雙擊某個數(shù)據(jù)庫下鉆,可以查看該數(shù)據(jù)庫內(nèi)所有表及其之間的主外鍵之間的關(guān)系。
(2) 影響度分析:影響分析功能可對選定字段進(jìn)行主外鍵關(guān)系分析,檢索相關(guān)的表和字段,依據(jù)三層階梯視圖進(jìn)行ER圖展示,并可列表顯示當(dāng)前存在的所有與選定字段同名的字段及其所屬表和庫,供使用者篩選。
(3) 應(yīng)用影響分析:通過應(yīng)用影響分析,可以檢索各應(yīng)用程序源代碼,將與對應(yīng)元數(shù)據(jù)相關(guān)的源代碼定位并列表提示。
(4) 血統(tǒng)分析:對于不符合約束的字段,獲取規(guī)則元數(shù)據(jù)中相關(guān)規(guī)則,提取規(guī)則中相關(guān)字段和表,列表和分析圖的形式展示。
3.1.6 元數(shù)據(jù)檢索
通過設(shè)置篩選范圍、鍵入關(guān)鍵詞實現(xiàn)在指定范圍內(nèi)對指定元數(shù)據(jù)進(jìn)行模糊查詢。
3.1.7 元數(shù)據(jù)維護(hù)
對元數(shù)據(jù)的變更進(jìn)行維護(hù),包括元數(shù)據(jù)樹節(jié)點(diǎn)的維護(hù)、元數(shù)據(jù)采集數(shù)據(jù)源的維護(hù)、元數(shù)據(jù)采集任務(wù)維護(hù)、各級別元數(shù)據(jù)內(nèi)容的維護(hù)等。
3.2 架構(gòu)設(shè)計
元數(shù)據(jù)管理系統(tǒng)的技術(shù)架構(gòu)主要針對需要哪些信息納入元數(shù)據(jù)管理,依據(jù)哪些系統(tǒng)中的信息搭建成元數(shù)據(jù)庫的架構(gòu)。系統(tǒng)架構(gòu)設(shè)計如圖2所示。
圖2 系統(tǒng)架構(gòu)圖
技術(shù)架構(gòu)的信息來源應(yīng)包括5方面,分別為數(shù)據(jù)源層、數(shù)據(jù)采集層、數(shù)據(jù)存儲和管理層、應(yīng)用服務(wù)層和門戶管理與用戶層。其中數(shù)據(jù)源層提供源系統(tǒng)信息,從業(yè)務(wù)系統(tǒng)、外部數(shù)據(jù)、手工補(bǔ)錄三個來源中獲得系統(tǒng)信息、技術(shù)數(shù)據(jù)結(jié)構(gòu)信息和業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)信息,統(tǒng)一納入元數(shù)據(jù)庫中管理;數(shù)據(jù)采集層指ETL的過程中將DW映射關(guān)系、ETL程序信息、數(shù)據(jù)轉(zhuǎn)換規(guī)則、數(shù)據(jù)清洗規(guī)則作為元數(shù)據(jù)采集,納入元數(shù)據(jù)庫中管理;數(shù)據(jù)存儲和管理層將DW物理模型、數(shù)據(jù)字典、程序庫、物理庫目錄進(jìn)行采集,作為元數(shù)據(jù)納入元數(shù)據(jù)庫中管理;應(yīng)用服務(wù)層將企業(yè)OLAP系統(tǒng)、WEB服務(wù)器和內(nèi)用服務(wù)器基本信息,如KPI關(guān)鍵業(yè)務(wù)指標(biāo)、數(shù)據(jù)分析模型、應(yīng)用系統(tǒng)的數(shù)據(jù)庫目錄等作為元數(shù)據(jù)納入管理體系;門戶管理與用戶層是將安全認(rèn)證的角色權(quán)限信息、訪問控制數(shù)據(jù)信息和指導(dǎo)用戶安全訪問的幫助文檔,都應(yīng)納入元數(shù)據(jù)管理系統(tǒng)進(jìn)行管理。
3.3 平臺效果展示
圖3 元數(shù)據(jù)瀏覽樹
圖4 庫級元數(shù)據(jù)展示頁
圖5 表級元數(shù)據(jù)展示頁
上海計算機(jī)軟件技術(shù)開發(fā)中心與國內(nèi)某大型證券股份有限公司在2017年開展數(shù)據(jù)治理合作項目,該公司提供包括元數(shù)據(jù)在內(nèi)的多項治理內(nèi)容。前期通過調(diào)研明確了元數(shù)據(jù)管理的范圍為5大核心系統(tǒng),項目目標(biāo)是梳理元數(shù)據(jù)實體及其關(guān)系,完整采集并統(tǒng)一管理。在項目中利用本平臺實現(xiàn)元數(shù)據(jù)管理的瀏覽體系的搭建,形成完整的元數(shù)據(jù)樹結(jié)構(gòu)。通過整理現(xiàn)有數(shù)據(jù)庫數(shù)據(jù)形成4 000余張Excel表單作為元數(shù)據(jù)主要來源,統(tǒng)一導(dǎo)入元數(shù)據(jù)管理系統(tǒng)中構(gòu)成元數(shù)據(jù)庫,并利用三層階梯視圖法梳理數(shù)據(jù)模型和關(guān)系,制定定期采集任務(wù),實現(xiàn)利用系統(tǒng)進(jìn)行影響和血緣分析,實現(xiàn)元數(shù)據(jù)的應(yīng)用和價值挖掘,最終建立元數(shù)據(jù)創(chuàng)建和維護(hù)、整合、存儲、分發(fā)、查詢、報告和分析機(jī)制。
數(shù)據(jù)治理已成為企業(yè)升級數(shù)據(jù)管理的必經(jīng)之路,基于TSV-SSM的元數(shù)據(jù)管理平臺建設(shè)對數(shù)據(jù)治理工作的開展具有重要意義,將有效提高數(shù)據(jù)體系梳理和數(shù)據(jù)影響挖掘能力,提高數(shù)據(jù)導(dǎo)航和定向的效率。本文通過對管理原理和技術(shù)難點(diǎn)的分析,開發(fā)了基于TSV-SSM的元數(shù)據(jù)管理工具,成功實現(xiàn)了平臺運(yùn)行的
穩(wěn)定性、高效性、可靠性、高擴(kuò)展性以及高安全性。利用“去數(shù)值留特征”的方式,使得非IT人員也可以輕松的讀懂?dāng)?shù)據(jù),從三級層面開創(chuàng)了三層階梯視圖思想,創(chuàng)造了便捷的檢索、應(yīng)用、瀏覽數(shù)據(jù)的條件,提高了數(shù)據(jù)應(yīng)用效率。對各領(lǐng)域的數(shù)據(jù)治理中元數(shù)據(jù)管理系統(tǒng)的建設(shè)提供了借鑒。在將來有望與圖數(shù)據(jù)庫技術(shù)更加深入的結(jié)合,優(yōu)化可視化效果,從而在多領(lǐng)域有更加廣泛的應(yīng)用。
參考文獻(xiàn)
[1] 范琳琳. 可視化數(shù)據(jù)挖掘研究[D].長春工業(yè)大學(xué),2007.
[2] 張勇,蔡璐,李月明. 非物質(zhì)文化遺產(chǎn)數(shù)字資源元數(shù)據(jù)標(biāo)準(zhǔn)應(yīng)用的研究和思考[J]. 圖書館,2016,42(2):38-42.
[3] 周月敏,吳炳方,黃慧萍. 水土保持監(jiān)測系統(tǒng)信息平臺元數(shù)據(jù)的實現(xiàn)[J]. 水土保持學(xué)報,2006,19(1):172-176.
[4] 謝福成,王備戰(zhàn),史亮,等. 基于銀行數(shù)據(jù)倉庫的元數(shù)據(jù)管理系統(tǒng)[J]. 計算機(jī)工程,2009,34(9):79-81.
[5] 葛暉. 面向交通物流大數(shù)據(jù)處理的元數(shù)據(jù)管理系統(tǒng)[D].上海交通大學(xué),2015.
[6] 陳進(jìn). 關(guān)于數(shù)據(jù)倉庫元數(shù)據(jù)管理系統(tǒng)的研究與建立[D].中國海洋大學(xué),2011.
[7] 雷林輝. 基于分布式數(shù)據(jù)庫的地籍元數(shù)據(jù)組織與訪問技術(shù)研究[D].中山大學(xué),2007.
[8] 樊友洪,鄧韌,李生林. 一種基于泳道數(shù)據(jù)流圖的數(shù)據(jù)需求分析方法[J]. 中國科技縱橫,2015(2):24-24,26.
[9] 周燕玲. Spring MVC框架開發(fā)WEB應(yīng)用程序的探索與研究[J]. 科技廣場,2016,28(6):25-28.
[10] 王鐵,寧汝新,孫桓五. 基于參數(shù)化功能元的全生命周期設(shè)計[J]. 機(jī)械工程與自動化,2004,32(4):10-12.