徐 瑞, 張紅博, 邢 亮
(1.航空工業(yè)西安航空計(jì)算技術(shù)研究所, 陜西 西安 710000;2.西安翔迅科技有限責(zé)任公司, 陜西 西安 710068)
企業(yè)在信息化實(shí)施過(guò)程中,建設(shè)了大量的異構(gòu)系統(tǒng),產(chǎn)生了大量的數(shù)據(jù)。如何在擁有這些海量數(shù)據(jù)的基礎(chǔ)上挖掘有用信息、提高運(yùn)營(yíng)效率,數(shù)據(jù)治理是關(guān)鍵技術(shù)。這些異構(gòu)系統(tǒng)基于不同的開(kāi)發(fā)語(yǔ)言、不同的底層數(shù)據(jù)庫(kù),運(yùn)行在不同的平臺(tái)上,系統(tǒng)彼此分離、數(shù)據(jù)源相互獨(dú)立,運(yùn)行業(yè)務(wù)完全封閉,數(shù)據(jù)難以在系統(tǒng)之間交流、共享和融合,造成企業(yè)信息化各自為營(yíng)的煙囪效應(yīng),從而形成信息孤島。信息化在支撐企業(yè)業(yè)務(wù)發(fā)展到一定階段后,迫切需要對(duì)各信息系統(tǒng)進(jìn)行整合,打通信息孤島,滿足企業(yè)內(nèi)部之間,企業(yè)內(nèi)部和外部的信息交互需求,從而助力企業(yè)整體戰(zhàn)略目標(biāo)的實(shí)現(xiàn)[1]。數(shù)據(jù)治理是解決上述瓶頸問(wèn)題的有效手段,可以為多源、異構(gòu)、跨界數(shù)據(jù)應(yīng)用夯實(shí)基礎(chǔ),確保數(shù)據(jù)資產(chǎn)管理活動(dòng)始終處于規(guī)范、有序、可控的狀態(tài),將海量數(shù)據(jù)應(yīng)用于決策、營(yíng)銷、成本節(jié)約和產(chǎn)品創(chuàng)新上。
數(shù)據(jù)治理是指將數(shù)據(jù)作為企業(yè)的重要核心資產(chǎn)和資源而開(kāi)展的一系列活動(dòng),是對(duì)數(shù)據(jù)的全生命周期進(jìn)行管理。在信息化實(shí)施過(guò)程中,由于各個(gè)業(yè)務(wù)系統(tǒng)分散建設(shè),數(shù)據(jù)也分散于不同的系統(tǒng)中,缺乏統(tǒng)一的標(biāo)準(zhǔn)和規(guī)范,并且各個(gè)系統(tǒng)的數(shù)據(jù)存在冗余和矛盾,導(dǎo)致企業(yè)存在大量的數(shù)據(jù),但數(shù)據(jù)利用率卻很低。企業(yè)的數(shù)據(jù)問(wèn)題可以集中歸結(jié)為數(shù)據(jù)不一致性、數(shù)據(jù)冗余、數(shù)據(jù)不完整和數(shù)據(jù)不合規(guī)四個(gè)方面。數(shù)據(jù)治理通過(guò)對(duì)企業(yè)數(shù)據(jù)架構(gòu)進(jìn)行規(guī)劃,建立統(tǒng)一的元數(shù)據(jù)標(biāo)準(zhǔn),提升數(shù)據(jù)質(zhì)量,控制數(shù)據(jù)使用權(quán)限,產(chǎn)生不同維度的數(shù)據(jù)服務(wù),從而為企業(yè)的戰(zhàn)略目標(biāo)落地提供支撐[2]。而企業(yè)數(shù)字化轉(zhuǎn)型,構(gòu)建數(shù)字化企業(yè),更要基于數(shù)據(jù)驅(qū)動(dòng)。數(shù)據(jù)治理作為信息化發(fā)展過(guò)程中的必經(jīng)階段,也成為當(dāng)前信息化研究的熱門課題。
航空電子類企業(yè)在信息化建設(shè)過(guò)程中,由于大量的業(yè)務(wù)數(shù)據(jù)分散在ERP、PDM、OA 和HR 等不同應(yīng)用系統(tǒng),業(yè)務(wù)部門關(guān)注的數(shù)據(jù)信息散落在各個(gè)業(yè)務(wù)系統(tǒng)中,導(dǎo)致科研交付、研制生產(chǎn)和物資配送等方面的信息無(wú)法關(guān)聯(lián)展示,從而無(wú)法對(duì)項(xiàng)目執(zhí)行過(guò)程中各類信息進(jìn)行整體的協(xié)調(diào)控制。因此,需要通過(guò)數(shù)據(jù)治理手段,建立科研、生產(chǎn)、物資等主要業(yè)務(wù)流程全信息集成的數(shù)據(jù)報(bào)表,以便適時(shí)掌握項(xiàng)目進(jìn)度、生產(chǎn)進(jìn)度等統(tǒng)計(jì)信息,提升決策支持能力。
數(shù)據(jù)治理從實(shí)施方案上來(lái)講,主要分為分析、設(shè)計(jì)和執(zhí)行三個(gè)不同的階段[3],在不同的階段有不同的任務(wù)和行動(dòng)項(xiàng),如圖1 所示。
圖1 數(shù)據(jù)治理實(shí)施方案
在分析階段,主要進(jìn)行項(xiàng)目調(diào)研和分析,明確通過(guò)數(shù)據(jù)治理達(dá)成的任務(wù)和目標(biāo)。
在設(shè)計(jì)階段,主要工作是數(shù)據(jù)管理體系的構(gòu)建實(shí)施。數(shù)據(jù)管理體系主要工作在于打造數(shù)據(jù)標(biāo)準(zhǔn)體系。具體包括構(gòu)建數(shù)據(jù)管理的組織體系,明確各類業(yè)務(wù)數(shù)據(jù)由哪些業(yè)務(wù)部門進(jìn)行負(fù)責(zé)。構(gòu)建數(shù)據(jù)業(yè)務(wù)模型,設(shè)計(jì)統(tǒng)一的數(shù)據(jù)編碼體系,明確數(shù)據(jù)的私有屬性和交換屬性。構(gòu)建數(shù)據(jù)管理的質(zhì)量標(biāo)準(zhǔn)體系,明確數(shù)據(jù)的驗(yàn)證范圍和驗(yàn)證方法。
在執(zhí)行階段,主要工作是數(shù)據(jù)交換體系的設(shè)計(jì)實(shí)現(xiàn)。數(shù)據(jù)交換體系工作主要從技術(shù)層面入手,通過(guò)數(shù)據(jù)采集、數(shù)據(jù)清洗等技術(shù)手段,實(shí)現(xiàn)各個(gè)業(yè)務(wù)應(yīng)用系統(tǒng)的數(shù)據(jù)對(duì)接,形成數(shù)據(jù)的自由流動(dòng)以及數(shù)據(jù)的規(guī)范使用和運(yùn)維[4]。最后,通過(guò)數(shù)據(jù)分析,形成數(shù)據(jù)分析報(bào)告、數(shù)據(jù)報(bào)表和圖表等,為企業(yè)領(lǐng)導(dǎo)決策提供科學(xué)、精準(zhǔn)、高效的數(shù)據(jù)支撐。
在數(shù)據(jù)治理實(shí)施過(guò)程中,首先需要對(duì)企業(yè)內(nèi)部的數(shù)據(jù)情況進(jìn)行調(diào)研和分析,明確不同業(yè)務(wù)數(shù)據(jù)的源頭。如在人員方面,企業(yè)人員、組織結(jié)構(gòu)數(shù)據(jù)的源頭是HR 系統(tǒng),而其他應(yīng)用系統(tǒng)作為人員數(shù)據(jù)、組織數(shù)據(jù)的使用方,需要及時(shí)獲取人員信息的更新情況。在產(chǎn)品數(shù)據(jù)方面,企業(yè)產(chǎn)品數(shù)據(jù)的來(lái)源是PDM系統(tǒng)。在客戶信息方面,客戶數(shù)據(jù)的源頭可以是CRM系統(tǒng)。在供應(yīng)商信息方面,供應(yīng)商數(shù)據(jù)的源頭可以是ERP 系統(tǒng),在項(xiàng)目信息方面,項(xiàng)目數(shù)據(jù)的源頭是項(xiàng)目管理系統(tǒng)。
其次,要進(jìn)行具體的數(shù)據(jù)分析工作。主要從以下幾個(gè)維度展開(kāi),如表1 所示。
表1 數(shù)據(jù)治理質(zhì)量維度
數(shù)據(jù)完整性:確保業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)正確完整,例如,人員信息的工號(hào)必須有值且唯一,當(dāng)人員離職后,該信息可以參照映射到其他業(yè)務(wù)系統(tǒng)中,確保其余業(yè)務(wù)系統(tǒng)對(duì)該用戶關(guān)閉。數(shù)據(jù)冗余性:針對(duì)同一個(gè)業(yè)務(wù)實(shí)體信息,在不同的應(yīng)用系統(tǒng)中,分別對(duì)該業(yè)務(wù)實(shí)體進(jìn)行維護(hù),導(dǎo)致存在一對(duì)多的數(shù)據(jù)冗余對(duì)應(yīng)關(guān)系。數(shù)據(jù)及時(shí)性:當(dāng)數(shù)據(jù)發(fā)生變更時(shí),是否應(yīng)該在規(guī)定的時(shí)間范圍內(nèi),將數(shù)據(jù)變更及時(shí)同步到相應(yīng)的業(yè)務(wù)系統(tǒng)中,主要針對(duì)的是業(yè)務(wù)數(shù)據(jù)的動(dòng)態(tài)屬性,如產(chǎn)品的庫(kù)存信息、人員的在崗信息等。數(shù)據(jù)一致性:當(dāng)企業(yè)中人員組織機(jī)構(gòu)發(fā)生調(diào)整時(shí),需要同步更新到其他應(yīng)用系統(tǒng)中,確保數(shù)據(jù)訪問(wèn)的一致性、正確性。
最后,要設(shè)定數(shù)據(jù)治理的目標(biāo)和計(jì)劃,該目標(biāo)和計(jì)劃以解決業(yè)務(wù)部門的痛點(diǎn)為主,而不是單純的以數(shù)據(jù)作為落腳點(diǎn)[5]。如提高物料信息盤庫(kù)的準(zhǔn)確率、實(shí)現(xiàn)所有產(chǎn)品信息的狀態(tài)實(shí)時(shí)更新顯示等。通過(guò)實(shí)現(xiàn)一個(gè)個(gè)小目標(biāo),助推企業(yè)的數(shù)字化運(yùn)營(yíng)大目標(biāo)落地實(shí)現(xiàn)。
數(shù)據(jù)治理設(shè)計(jì)階段是在前期分析階段的基礎(chǔ)上構(gòu)建數(shù)據(jù)標(biāo)準(zhǔn)體系和數(shù)據(jù)模型體系[6]。數(shù)據(jù)標(biāo)準(zhǔn)體系的設(shè)計(jì)是從宏觀出發(fā),依據(jù)企業(yè)組織架構(gòu),搭建符合數(shù)據(jù)治理要求的數(shù)據(jù)架構(gòu),從數(shù)據(jù)的全生命周期出發(fā),根據(jù)不同部門崗位對(duì)數(shù)據(jù)的生產(chǎn)、使用、存儲(chǔ)情況,設(shè)計(jì)符合企業(yè)內(nèi)部數(shù)據(jù)需求的管理體系,確保數(shù)據(jù)治理工作有章可循[7]。數(shù)據(jù)模型體系是在數(shù)據(jù)標(biāo)準(zhǔn)體系的基礎(chǔ)上針對(duì)具體的業(yè)務(wù)領(lǐng)域和數(shù)據(jù)環(huán)境,從微觀層面對(duì)企業(yè)內(nèi)部不同屬性的數(shù)據(jù)進(jìn)行分類。針對(duì)基礎(chǔ)類型的字典數(shù)據(jù),確保數(shù)據(jù)的分類編碼準(zhǔn)確無(wú)誤。針對(duì)動(dòng)態(tài)生成的業(yè)務(wù)類型數(shù)據(jù),對(duì)其屬性進(jìn)行細(xì)化,并賦以不同的權(quán)限進(jìn)行控制[8]。針對(duì)指標(biāo)層面的數(shù)據(jù),則進(jìn)行匯總計(jì)算。企業(yè)的數(shù)據(jù)標(biāo)準(zhǔn)體系設(shè)計(jì)和數(shù)據(jù)模型設(shè)計(jì)如圖2 所示。
圖2 企業(yè)的數(shù)據(jù)標(biāo)準(zhǔn)體系設(shè)計(jì)和數(shù)據(jù)模型設(shè)計(jì)
從數(shù)據(jù)標(biāo)準(zhǔn)體系設(shè)計(jì)到數(shù)據(jù)模型的設(shè)計(jì)是數(shù)據(jù)治理首先進(jìn)行的重要工作,通過(guò)開(kāi)展一系列數(shù)據(jù)治理設(shè)計(jì)工作,可以為數(shù)據(jù)治理和數(shù)據(jù)應(yīng)用工作打下良好的基礎(chǔ),從而保障數(shù)據(jù)質(zhì)量。在數(shù)據(jù)標(biāo)準(zhǔn)的設(shè)計(jì)過(guò)程中,首先從整個(gè)企業(yè)組織層面考慮組建數(shù)據(jù)管理組織,包括數(shù)據(jù)管理制度、流程,然后確定設(shè)計(jì)組織內(nèi)的相關(guān)職責(zé),以及不同崗位人員對(duì)各類數(shù)據(jù)的維護(hù)、審核流程。在數(shù)據(jù)模型層面,從業(yè)務(wù)域到數(shù)據(jù)主題,再到數(shù)據(jù)實(shí)體、數(shù)據(jù)屬性,對(duì)數(shù)據(jù)進(jìn)行層層分解梳理、提煉數(shù)據(jù)標(biāo)準(zhǔn),就可以設(shè)計(jì)出針對(duì)不同業(yè)務(wù)領(lǐng)域的數(shù)據(jù)模型。如在設(shè)計(jì)領(lǐng)域,針對(duì)產(chǎn)品數(shù)據(jù),提煉出設(shè)計(jì)業(yè)務(wù)相關(guān)的數(shù)據(jù)對(duì)象。實(shí)體的數(shù)據(jù)都有相應(yīng)的屬性信息,需要把它的每一項(xiàng)屬性信息從業(yè)務(wù)角度、技術(shù)角度和管理角度進(jìn)行統(tǒng)一梳理,歸納出與實(shí)體之間的關(guān)系,形成數(shù)據(jù)的整體模型[9],如圖3 所示。
圖3 數(shù)據(jù)的整體模型
數(shù)據(jù)治理實(shí)施主要包含數(shù)據(jù)采集技術(shù)、數(shù)據(jù)清洗技術(shù)、數(shù)據(jù)導(dǎo)入技術(shù)以及數(shù)據(jù)可視化技術(shù)[10]。
數(shù)據(jù)采集技術(shù)分為實(shí)時(shí)數(shù)據(jù)采集技術(shù)和非實(shí)時(shí)數(shù)據(jù)采集技術(shù)。實(shí)時(shí)數(shù)據(jù)采集主要強(qiáng)調(diào)了數(shù)據(jù)采集的時(shí)效性,強(qiáng)調(diào)系統(tǒng)能夠?qū)崟r(shí)完成數(shù)據(jù)入庫(kù)。非實(shí)時(shí)采集基于傳統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)技術(shù),完成數(shù)據(jù)從面向事務(wù)類的OLTP 數(shù)據(jù)庫(kù)到面向分析類OLAP 數(shù)據(jù)庫(kù)的轉(zhuǎn)換。數(shù)據(jù)治理層面的數(shù)據(jù)采集主要面對(duì)的是非實(shí)時(shí)采集方式[11]。下面就介紹一種典型的基于Web 異構(gòu)系統(tǒng)的數(shù)據(jù)采集技術(shù)。
當(dāng)前,企業(yè)信息系統(tǒng)架構(gòu)主要采用瀏覽器、服務(wù)器模式,是基于B/S 架構(gòu)的系統(tǒng)架構(gòu)方式。采用的具體技術(shù)架構(gòu)比較多樣化,有基于Java 語(yǔ)言的Java EE技術(shù)架構(gòu),基于C#語(yǔ)言的Net 技術(shù)架構(gòu),或者基于Python 語(yǔ)言的Django 架構(gòu)。而瀏覽器/服務(wù)器架構(gòu)系統(tǒng)訪問(wèn)技術(shù)建立在超文本傳輸協(xié)議HTTP 之上,HTTP 是一個(gè)基于請(qǐng)求與相應(yīng)模式的、無(wú)狀態(tài)的、應(yīng)用層的協(xié)議,建立在TCP 協(xié)議的連接之上。一次完整的HTTP 請(qǐng)求過(guò)程,從TCP 三次握手建立連接成功后開(kāi)始,客戶端按照指定的格式開(kāi)始向服務(wù)端發(fā)送HTTP請(qǐng)求,服務(wù)端收到請(qǐng)求后,解析HTTP 請(qǐng)求,處理完業(yè)務(wù)邏輯,最后返回一個(gè)HTTP 響應(yīng)給客戶端。數(shù)據(jù)采集技術(shù)通過(guò)構(gòu)造基于HTTP 協(xié)議的HttpClient 數(shù)據(jù)訪問(wèn)器訪問(wèn)應(yīng)用系統(tǒng)的URL 地址,通過(guò)Get 方式執(zhí)行請(qǐng)求獲取響應(yīng)狀態(tài),并且將響應(yīng)信息中的消息正文從網(wǎng)絡(luò)數(shù)據(jù)流中讀取出來(lái)[12]。整個(gè)數(shù)據(jù)采集方案架構(gòu)如圖4 所示。
圖4 數(shù)據(jù)集成應(yīng)用系統(tǒng)基本架構(gòu)圖
HttpClient 是利用Java 語(yǔ)言實(shí)現(xiàn)的支持HTTP 協(xié)議的客戶端編程開(kāi)發(fā)工具包,實(shí)現(xiàn)了HTTP 的訪問(wèn)方法,并且可以通過(guò)對(duì)HTTP 返回的狀態(tài)碼進(jìn)行判斷,當(dāng)返回的狀態(tài)碼正確時(shí),即取得響應(yīng)內(nèi)容。其抓取應(yīng)用系統(tǒng)返回信息可分為5 個(gè)步驟進(jìn)行。
1)構(gòu)建HttpClient 類的實(shí)例:
HttpClient httpclient=newHttpClient();
2)創(chuàng)建Get 連接方法的實(shí)例,實(shí)例通過(guò)URL 地址訪問(wèn)應(yīng)用系統(tǒng)請(qǐng)求資源:
GetMethod getMethod=new GetMethod(“應(yīng)用系統(tǒng)URL 地址”);
3)調(diào)用第一步創(chuàng)建好實(shí)例的execute 方法,獲得狀態(tài)響應(yīng)碼:
Int statusCode=httpclient.executeMethod(getMethod);
4)根據(jù)狀態(tài)響應(yīng)碼進(jìn)行判斷,200 代表請(qǐng)求已成功,讀取響應(yīng)內(nèi)容:
System.out.println(“response=”+getMethod.getResponseBodyAsString());
5)釋放連接:
GetMehod.releaseConnection();
針對(duì)從其他異構(gòu)系統(tǒng)采集上來(lái)的數(shù)據(jù),往往會(huì)存在數(shù)據(jù)質(zhì)量問(wèn)題,如數(shù)據(jù)不一致、不完整、不合規(guī)或數(shù)據(jù)冗余。因此,下一步的工作即是數(shù)據(jù)清洗。在數(shù)據(jù)清洗過(guò)程中,最重要的工作是建立一套數(shù)據(jù)的管道工具——ETL 工具[13]。將采集來(lái)的數(shù)據(jù)通過(guò)這個(gè)數(shù)據(jù)的管道工具,完成抽取、轉(zhuǎn)換、加載映射的過(guò)程,從而生成符合治理要求的干凈數(shù)據(jù)。管道工具加載數(shù)據(jù)的策略包含流水式加載、全量加載、增量加載和拉式加載等。
ETL 工具可以自己開(kāi)發(fā),互聯(lián)網(wǎng)上也提供了許多開(kāi)源產(chǎn)品。如Kettle,是一款國(guó)外免費(fèi)開(kāi)源的、可視化的、功能強(qiáng)大的ETL 工具,純Java 語(yǔ)言編寫,可以在Windows、Linux 和Unix 服務(wù)器上運(yùn)行,具有高效穩(wěn)定的特性。Streamsets 是一個(gè)大數(shù)據(jù)實(shí)時(shí)采集ETL 工具,可以實(shí)現(xiàn)不寫一行代碼就能完成數(shù)據(jù)的采集和流轉(zhuǎn)。通過(guò)拖拽式的可視化界面,實(shí)現(xiàn)數(shù)據(jù)管道(Pipelines)設(shè)計(jì)和定時(shí)任務(wù)的調(diào)度。數(shù)據(jù)源支持MySQL、Oracle等結(jié)構(gòu)化和半/非結(jié)構(gòu)化,目標(biāo)源支持HDFS、Hive、Hbase、Kudu、Solr 和Elasticserach 等。創(chuàng)建一個(gè)Pipelines管道需要配置數(shù)據(jù)源(Origins)、操作(Processors)和目的地(Destinations)三個(gè)部分[14]。
數(shù)據(jù)可視化作為數(shù)據(jù)治理的成果,主要是將匯集好的正確、一致性的數(shù)據(jù)通過(guò)圖表報(bào)表的方式向用戶進(jìn)行展示。在可視化領(lǐng)域,也有很多成熟的優(yōu)秀的產(chǎn)品。ECharts 是一個(gè)使用JavaScript 實(shí)現(xiàn)的開(kāi)源可視化庫(kù),可以流暢地運(yùn)行在PC 和移動(dòng)設(shè)備上,兼容當(dāng)前絕大部分瀏覽器,底層依賴矢量圖形庫(kù)ZRender,提供直觀、交互豐富、可高度個(gè)性化定制的數(shù)據(jù)可視化圖表。Echarts 圖表庫(kù)提供了豐富的折線圖、餅圖、地圖以及儀表盤展示方式。開(kāi)發(fā)過(guò)程的具體實(shí)現(xiàn)步驟為:首先為圖表準(zhǔn)備Dom 容器,通過(guò)Script 標(biāo)簽引入Echarts 庫(kù)文件,采用init 方法初始化圖表。在Option中配置圖表的公共選項(xiàng),組件選項(xiàng)和數(shù)據(jù)選項(xiàng),通過(guò)setOption 方法生成圖表。并且Echarts 數(shù)據(jù)可視化部分通過(guò)setInterval 方法實(shí)現(xiàn)周期為1 s 的圖表刷新,實(shí)現(xiàn)數(shù)據(jù)顯示的實(shí)時(shí)性[15]。
經(jīng)過(guò)數(shù)據(jù)治理后,針對(duì)某航空電子企業(yè)展示的產(chǎn)品數(shù)據(jù),依據(jù)不同產(chǎn)品類型在不同的研制狀態(tài)分別進(jìn)行統(tǒng)計(jì)效果展示,如圖5 所示。
圖5 統(tǒng)計(jì)效果
本文通過(guò)對(duì)數(shù)據(jù)治理在企業(yè)信息化中的應(yīng)用進(jìn)行研究,提出了一種從分析、設(shè)計(jì)和實(shí)施三個(gè)層面出發(fā)、三步走的數(shù)據(jù)治理戰(zhàn)略。數(shù)據(jù)治理工作是在信息化總體目標(biāo)和規(guī)劃的設(shè)計(jì)指引下進(jìn)行的,與數(shù)據(jù)架構(gòu)、企業(yè)戰(zhàn)略目標(biāo)密切相關(guān)。通過(guò)對(duì)數(shù)據(jù)治理管理體系和技術(shù)體系的研究,為企業(yè)日益增長(zhǎng)的數(shù)據(jù)使用需求做出了有益的探索。數(shù)據(jù)治理打通了企業(yè)價(jià)值鏈各領(lǐng)域流程,支持企業(yè)系統(tǒng)間的緊密集成,高效支持企業(yè)的業(yè)務(wù)運(yùn)轉(zhuǎn),并為企業(yè)實(shí)現(xiàn)透明化管理、高效決策打下了堅(jiān)實(shí)的基礎(chǔ)。