張義鑫 楊 軍 張 靜 程丹丹
(1.北京城建設(shè)計研究總院有限責(zé)任公司 北京 100037;2.北京軌道交通路網(wǎng)指揮中心 北京 100101)
隨著數(shù)據(jù)倉庫(data warehouse,DW)技術(shù)應(yīng)用的不斷深入,越來越多的企業(yè)開始使用數(shù)據(jù)倉庫技術(shù)來搭建自己的數(shù)據(jù)庫系統(tǒng)。但每個行業(yè)都有自己的運行特點、專屬業(yè)務(wù)范圍及特定的歷史數(shù)據(jù),因此企業(yè)在制訂數(shù)據(jù)倉庫的解決方案時,必須緊密結(jié)合本行業(yè)的特點及自身業(yè)務(wù)的發(fā)展需求,基于實際的測試案例,對不同設(shè)備進(jìn)行認(rèn)真比選后再做恰當(dāng)?shù)倪x擇。
伴隨著信息化項目建設(shè)的逐年增長,城市軌道交通也必將邁向“數(shù)字交通時代”。線網(wǎng)規(guī)模的擴大、網(wǎng)絡(luò)化的運營,使線路和車站之間實現(xiàn)了互聯(lián)、互通、資源共享,交通管理工作的壓力日益增加,傳統(tǒng)的單純以數(shù)據(jù)為中心構(gòu)造的數(shù)據(jù)庫系統(tǒng)已經(jīng)不能完全滿足現(xiàn)代交通管理工作發(fā)展的需求,迫切需要以新的理念和新的技術(shù)構(gòu)建新的數(shù)據(jù)中心。
具體到北京地鐵,作為市內(nèi)最重要的客運系統(tǒng),過去幾年,軌道交通指揮部門已積累了大量的數(shù)據(jù),數(shù)據(jù)總量呈現(xiàn)出指數(shù)級別的增長。但目前各個系統(tǒng)相對獨立,數(shù)據(jù)由各系統(tǒng)獨立管理和使用,產(chǎn)生了諸如數(shù)據(jù)孤立、不能形成多維網(wǎng)絡(luò)式數(shù)據(jù)對比、缺乏數(shù)據(jù)深入挖掘的狀況,造成了一定程度的數(shù)據(jù)浪費。如何提升信息化水準(zhǔn),借助現(xiàn)代化、智能化的信息管理技術(shù),對提高交通管理水平具有十分重要的意義。
目前,已有同行對道路交通數(shù)據(jù)中心的建設(shè)進(jìn)行了研究:程新謙等從北京市道路交通管理系統(tǒng)的應(yīng)用現(xiàn)狀出發(fā),分析了道路交通中數(shù)據(jù)中心的功能,并提出了具體的實現(xiàn)思路[1];梁玉慶等針對北京市道路交通管理系統(tǒng)中信息資源孤立和浪費的問題,提出了基于數(shù)據(jù)倉庫的交通信息發(fā)布系統(tǒng),闡述了系統(tǒng)構(gòu)架方案,并進(jìn)行了系統(tǒng)實現(xiàn)分析[2]。但這些對數(shù)據(jù)倉庫的應(yīng)用研究大都還局限于道路交通領(lǐng)域,且只是對數(shù)據(jù)中心架構(gòu)及功能實現(xiàn)進(jìn)行了介紹,關(guān)于系統(tǒng)平臺設(shè)計以及前期如何搭建測試環(huán)境都沒有論述??梢哉f,數(shù)據(jù)倉庫應(yīng)用于軌道交通領(lǐng)域,國內(nèi)還沒有這方面的實踐。
筆者從城市軌道交通信息中心項目對數(shù)據(jù)倉庫技術(shù)的相關(guān)要求出發(fā),結(jié)合業(yè)內(nèi)在數(shù)據(jù)倉庫選擇前通常會進(jìn)行的POC(proof of concept,概念原型驗證)測試,基于對業(yè)界主流MPP(massive parallel processing,大規(guī)模并行處理)數(shù)據(jù)倉庫的調(diào)研分析,搭建了軌道交通環(huán)境下完整的測試平臺,并借此完成了對數(shù)據(jù)倉庫主流廠家的實際測試,這對今后軌道交通信息中心項目的實施有一定的借鑒意義。
隨著北京市軌道交通建設(shè)的快速發(fā)展,軌道交通已經(jīng)逐漸成網(wǎng)。為提高全市軌道交通網(wǎng)絡(luò)的綜合協(xié)調(diào)能力,合理有效地利用資源,實現(xiàn)網(wǎng)絡(luò)化和多運營商的運營管理,北京市政府出臺了有關(guān)規(guī)定,并于2008年奧運前構(gòu)建并成立了一個可以協(xié)調(diào)指揮北京軌道交通全網(wǎng)的指揮中心,即北京市軌道交通路網(wǎng)指揮中心。該中心由軌道交通調(diào)度指揮中心(traffic control center,TCC)、自動售檢票系統(tǒng)清算管理中心(AFC clearing center,ACC)兩大核心業(yè)務(wù)系統(tǒng)構(gòu)成,承擔(dān)全線網(wǎng)信息的匯總及分析、運營監(jiān)管、突發(fā)事件處置、票務(wù)清分清算等職責(zé)。
指揮中心建有輔助決策數(shù)據(jù)庫系統(tǒng),基于存儲的軌道交通運營信息,可實現(xiàn)數(shù)據(jù)采集、綜合監(jiān)視、信息交換、資料管理、統(tǒng)計分析等功能。但目前北京市軌道交通內(nèi)部各系統(tǒng)數(shù)據(jù)大多只具有某一專門用途,如“客流信息類數(shù)據(jù)”、“列車運行信息類數(shù)據(jù)”及“清算信息類數(shù)據(jù)”等都處于分散、獨立的狀態(tài),不能得到統(tǒng)一的分析和處理,大大降低了它們的用途。隨著交通管理人員對決策信息的需求日益廣泛,傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)已無法滿足海量數(shù)據(jù)分析發(fā)展的需要。
1)數(shù)據(jù)庫系統(tǒng)無法滿足大量即席查詢、復(fù)雜查詢的需求。數(shù)據(jù)庫系統(tǒng)可實現(xiàn)數(shù)據(jù)庫內(nèi)數(shù)據(jù)的增、刪、改及簡單查詢、報表生成等工作,所執(zhí)行的查詢種類和報表內(nèi)容/格式都需要信息系統(tǒng)管理人員預(yù)先設(shè)定。然而,業(yè)務(wù)人員的需求是不斷變化的,隨著對實時查詢、復(fù)雜查詢和新增報表需求的提出,信息系統(tǒng)管理人員不得不對原數(shù)據(jù)庫系統(tǒng)進(jìn)行修改,重新編寫各種報表生成程序,浪費了大量的時間和精力。而且,開發(fā)更新的速度總滯后于用戶需求的變化速度,開發(fā)瓶頸已成為信息管理人員及時、準(zhǔn)確、靈活使用數(shù)據(jù)庫系統(tǒng)的主要障礙。
2)現(xiàn)有數(shù)據(jù)庫系統(tǒng)無法滿足海量數(shù)據(jù)信息分析處理的需求?,F(xiàn)有數(shù)據(jù)庫系統(tǒng)都是聯(lián)機事務(wù)處理系統(tǒng)(on-line transaction processing,OLTP),而非聯(lián)機分析處理系統(tǒng)(on-line analytical processing,OLAP)。OLTP 數(shù)據(jù)庫系統(tǒng)的主要功能是對數(shù)據(jù)庫內(nèi)數(shù)據(jù)的收集、簡單查詢和報表生成,對查詢得到的數(shù)據(jù)信息缺乏深入分析的能力。OLAP系統(tǒng)在擁有了完整的數(shù)據(jù)采集和存儲過程后,除了需快速地對數(shù)據(jù)進(jìn)行增、刪、改、查之類的事務(wù)型處理,更關(guān)注的是長期運營信息的趨勢及變化分析,能夠在大量歷史數(shù)據(jù)的支持下,對某一主題的相關(guān)數(shù)據(jù)進(jìn)行多角度比較,從中找出數(shù)據(jù)之間的內(nèi)在聯(lián)系,得出科學(xué)的分析結(jié)果。目前,數(shù)據(jù)庫系統(tǒng)難以滿足對海量數(shù)據(jù)聯(lián)機分析處理的需求。
3)現(xiàn)有數(shù)據(jù)庫系統(tǒng)無法適應(yīng)對研究對象進(jìn)行多維靈活查詢。對于軌道交通信息分析人員,統(tǒng)計查詢分析需要靈活地指定時間維度、空間維度、票種維度等維度信息。如在粒度選擇中,可設(shè)定需要查詢指標(biāo)的時間粒度、空間粒度、票種粒度,可以選擇的時間粒度最小到1 min,最大到年;可以選擇的空間“粒度”最小到設(shè)備,最大到線網(wǎng);可選擇票種的“粒度”最小為單一票種的羅列,最大為全票種輸出。目前,數(shù)據(jù)庫系統(tǒng)難以適應(yīng)用戶的“多粒度”要求。
4)現(xiàn)有數(shù)據(jù)庫系統(tǒng)無法滿足軌道交通運營信息膨脹、數(shù)據(jù)一體化整合的需求。隨著北京市軌道交通建設(shè)迎來新的發(fā)展,2010年新開通5條線之后,TCC、ACC系統(tǒng)的數(shù)據(jù)容量及分析處理能力接近飽和,需要更為強大的系統(tǒng)支持業(yè)務(wù)分析的發(fā)展。同時,由于目前TCC、ACC分屬于不同的業(yè)務(wù)領(lǐng)域,數(shù)據(jù)的分開存儲不利于數(shù)據(jù)進(jìn)行一體化分析,難以形成客流、行車、設(shè)備管理等方面的合力,難以提高軌道交通網(wǎng)絡(luò)化運營管理水平,因此需要進(jìn)行一體化整合。
當(dāng)前,北京市軌道交通又掀起了新一輪建設(shè)高潮。軌道交通線路建設(shè)的規(guī)模、時序均超過了原來的預(yù)期,線網(wǎng)規(guī)模的擴大和發(fā)展,對網(wǎng)絡(luò)化的集中指揮、智能化管理、資源共享等提出了更高的要求。為了更好地科學(xué)管理網(wǎng)絡(luò)化的軌道交通系統(tǒng),北京市交通委在《北京市交通科技創(chuàng)新規(guī)劃(2010—2015)》中,明確提出要開展軌道交通網(wǎng)絡(luò)化技術(shù)研究,以科技創(chuàng)新方式來確保軌道交通的規(guī)劃、建設(shè)、運營、維護的科學(xué)性、先進(jìn)性和可靠性。可以說,以新的理念和技術(shù)構(gòu)建基于數(shù)據(jù)倉庫的數(shù)據(jù)中心,使其具備足夠的靈活性和可擴展性,為交通管理的業(yè)務(wù)工作和領(lǐng)導(dǎo)的指揮決策提供支持,在整個交通管理信息化建設(shè)工作中具有重要的意義。
數(shù)據(jù)倉庫技術(shù)作為數(shù)據(jù)庫領(lǐng)域的分支,是后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)挖掘的基礎(chǔ),目的是把信息訪問從一種非結(jié)構(gòu)化的或發(fā)展中的環(huán)境改變成一種結(jié)構(gòu)化的或規(guī)劃良好的環(huán)境[3-4]。數(shù)據(jù)倉庫是面向主題的、集成的、不可更新的,它隨時間的變化而不斷變化,數(shù)據(jù)倉庫的構(gòu)建方法[5]如圖1所示。
圖1 數(shù)據(jù)倉庫構(gòu)建方法
可以說,數(shù)據(jù)倉庫是整個基于信息整合和數(shù)據(jù)挖掘的交通信息系統(tǒng)的核心,在數(shù)據(jù)源系統(tǒng)和后續(xù)的數(shù)據(jù)分析、挖掘中起著關(guān)鍵作用,合理的利用可以很好地解決OLTP和OLAP系統(tǒng)在計算資源和存儲信息方面的不同應(yīng)用要求,更有效地實現(xiàn)數(shù)據(jù)挖掘和分析。
從數(shù)據(jù)倉庫的建模可引申出數(shù)據(jù)倉庫的運行架構(gòu),主要包括數(shù)據(jù)采集接口、ETL(extract transform and load)模塊、數(shù)據(jù)倉庫管理模塊、ODS(operational data store)系統(tǒng)、數(shù)據(jù)倉庫和數(shù)據(jù)集市以及為后續(xù)數(shù)據(jù)分析和挖掘提供的數(shù)據(jù)訪問接口。
本測試平臺的設(shè)計盡量經(jīng)歷數(shù)據(jù)倉庫建模的全過程,旨在了解主流數(shù)據(jù)倉庫的新技術(shù)、新特點,加深對主流數(shù)據(jù)倉庫的認(rèn)識;在熟悉主流數(shù)據(jù)倉庫的安裝、配置和使用的基礎(chǔ)上,研究不同數(shù)據(jù)倉庫產(chǎn)品的性能;最終為信息中心系統(tǒng)方案設(shè)計提供參考。
測試以信息中心項目需求為導(dǎo)向,從技術(shù)角度研究主流數(shù)據(jù)倉庫產(chǎn)品滿足需求的情況;按照公平公正的原則,到指定地點、按統(tǒng)一模式進(jìn)行集中測試。
測試模擬了數(shù)據(jù)從源系統(tǒng)經(jīng)加載至數(shù)據(jù)倉庫本地,進(jìn)行建庫、建表,最終完成整套測試流程的全過程,測試拓?fù)湟妶D2。
圖2 測試平臺拓?fù)浣Y(jié)構(gòu)
測試硬件環(huán)境包括測試加載服務(wù)器、壓力測試服務(wù)器、磁盤陣列、千兆網(wǎng)絡(luò)交換機、各廠家的數(shù)據(jù)倉庫設(shè)備,以及準(zhǔn)備的測試數(shù)據(jù)、測試用例及其他必要條件。
從測試系統(tǒng)拓?fù)湓O(shè)計可看出,信息中心數(shù)據(jù)倉庫體系大體可包括數(shù)據(jù)源、數(shù)據(jù)的獲取與集成、倉庫數(shù)據(jù)管理和數(shù)據(jù)應(yīng)用服務(wù)4方面。
1)數(shù)據(jù)源(磁盤陣列)。主要以地鐵進(jìn)/出站數(shù)據(jù)、計劃行車時刻表、行車時刻統(tǒng)計信息表為基礎(chǔ),獲取各種動、靜態(tài)交通信息。這些數(shù)據(jù)存放于磁盤陣列的不同目錄下,需通過建表、建庫模型,對不同源數(shù)據(jù)進(jìn)行抽取和聚集,形成多維視角[6],為后續(xù)性能測試提供一個綜合的、面向分析的決策支持?jǐn)?shù)據(jù)環(huán)境。
2)數(shù)據(jù)獲取與集成(數(shù)據(jù)加載服務(wù)器)。即ETL過程[7],實際系統(tǒng)中不同數(shù)據(jù)源都是為各自應(yīng)用而建立的,數(shù)據(jù)管理手段、硬件設(shè)備不盡相同,數(shù)據(jù)在編碼、命名、類型和語義等方面不可避免地存在沖突。本次測試在原始表結(jié)構(gòu)基礎(chǔ)上進(jìn)行相應(yīng)改動,模擬了原始數(shù)據(jù),通過ETL對數(shù)據(jù)進(jìn)行轉(zhuǎn)換、清洗的預(yù)處理,再將數(shù)據(jù)加載到DW中。
3)倉庫數(shù)據(jù)管理(管理主機+節(jié)點服務(wù)器)。地鐵數(shù)據(jù)中心要求實現(xiàn)運營數(shù)據(jù)的實時監(jiān)測,能做到分鐘級源數(shù)據(jù)加載和展示,要求操作界面良好,系統(tǒng)升級方便、高效。該處旨在查看系統(tǒng)本身是否具備對服務(wù)器、磁盤資源的監(jiān)測管理功能,是否可動態(tài)管理系統(tǒng)各類資源,以保證系統(tǒng)性能的最優(yōu)化。
4)數(shù)據(jù)應(yīng)用服務(wù)(應(yīng)用服務(wù)器)。主要包括:一是檢驗DW的整體性能,考察數(shù)據(jù)倉庫平臺是否支持線性擴展,且同時滿足OLTP/OLAP性能;二是模擬今后大量的前端應(yīng)用、仿真建模對數(shù)據(jù)倉庫的數(shù)據(jù)高并發(fā)訪問;三是作為地鐵運營指揮中心,需提供7×24 h的不間斷服務(wù),因此數(shù)據(jù)倉庫需具備高可用性。
3.3.1 測試內(nèi)容
結(jié)合地鐵實際業(yè)務(wù)需求及本次測試重點,設(shè)計了以下內(nèi)容,測試內(nèi)容說明如圖3所示,各階段用例設(shè)計見表1。
圖3 測試內(nèi)容說明
表1 測試步驟及內(nèi)容設(shè)計
1)數(shù)據(jù)裝載/卸載測試。考察大數(shù)據(jù)量裝載/卸載效率,查看在加載一定數(shù)據(jù)量情況下的數(shù)據(jù)裝載(單獨裝載、并發(fā)裝載、實時裝載)效率和數(shù)據(jù)卸載效率。
2)SQL性能測試。對數(shù)據(jù)倉庫進(jìn)行高并發(fā)、大數(shù)據(jù)量的操作,查看在此壓力情況下,數(shù)據(jù)倉庫的請求響應(yīng)時間和資源消耗情況。
3)可擴展性測試。在計算、存儲、網(wǎng)絡(luò)資源一定的情況下,進(jìn)行數(shù)據(jù)量線性擴展,其擴展過程能否做到快速高效、性能是否線性變化。
4)高可用性測試。在模擬服務(wù)器出現(xiàn)故障(系統(tǒng)盤、數(shù)據(jù)盤、網(wǎng)絡(luò)、存儲節(jié)點)的情況下,對服務(wù)的影響及快速恢復(fù)能力如何。
5)數(shù)據(jù)壓縮測試:測試數(shù)據(jù)倉庫對壓縮功能的支持程度(性能調(diào)優(yōu)后的壓縮比為準(zhǔn)),以及壓縮后的能力及效率。
6)易管理性測試:考察系統(tǒng)安裝配置時間和可管理的程度。
3.3.2 測試用例
測試用例基于設(shè)計的數(shù)據(jù)表結(jié)構(gòu),以規(guī)范的SQL語句描述,一方面結(jié)合業(yè)務(wù)要求設(shè)計了地鐵實時業(yè)務(wù)、近線業(yè)務(wù)、離線業(yè)務(wù)的邏輯功能,另一方面也盡可能體現(xiàn)不同數(shù)據(jù)倉庫系統(tǒng)性能差異及自身特點。設(shè)計的測試ACC、TCC測試用例見表2~表3。
數(shù)據(jù)倉庫是一個復(fù)雜的系統(tǒng),要對系統(tǒng)功能進(jìn)行全面測試,測試場景的構(gòu)建將會十分復(fù)雜,并且可能存在測試案例重復(fù)與覆蓋不全面的問題。本次設(shè)計的測試流程如圖4所示。
表2 TCC測試用例設(shè)計
表3 ACC測試用例設(shè)計
本次測試基于3次大的數(shù)據(jù)量加載,分別進(jìn)行性能特征的測試;數(shù)據(jù)加載與性能測試按序進(jìn)行,每一次數(shù)據(jù)記載后都輪詢測試案例,提取每輪獨立的性能特征。這樣,在測試一定鋪底數(shù)據(jù)下個別業(yè)務(wù)性能的同時,又可縱向體現(xiàn)出大數(shù)據(jù)壓力下數(shù)據(jù)倉庫的擴展能力,保證了測試工作省時、省力、高效地運行。
整個測試嚴(yán)格按照流程圖所排的順序進(jìn)行,性能測試對應(yīng)的測試案例以規(guī)范的SQL形式給出。針對不同的測試內(nèi)容,提取相關(guān)的測試用例,測試內(nèi)容見表1,測試用例說明見表2~表3,測試結(jié)果記錄見表4。
數(shù)據(jù)倉庫系統(tǒng)是一項綜合性的技術(shù)和解決方案,集成了數(shù)據(jù)存儲統(tǒng)計、聯(lián)機分析處理等多種數(shù)據(jù)處理技術(shù)。作為數(shù)字化城市軌道交通系統(tǒng)中的重要一環(huán),北京軌道交通路網(wǎng)指揮中心在長期工作中積累了大量數(shù)據(jù),利用數(shù)據(jù)倉庫技術(shù)實現(xiàn)了運營信息的高度集成共享,能為決策者提供完整、及時、準(zhǔn)確、可信的決策信息,對提高業(yè)務(wù)決策水平及加速全市交通信息化發(fā)展具有重大的推動作用。
圖4 測試流程設(shè)計
表4 測試用例結(jié)果記錄
筆者結(jié)合當(dāng)前北京軌道交通路網(wǎng)指揮中心建設(shè)信息中心的現(xiàn)狀,分析了數(shù)據(jù)倉庫建設(shè)的必要性,并提煉和總結(jié)了適于軌道交通行業(yè)數(shù)據(jù)倉庫測試的一般流程;從業(yè)務(wù)需求出發(fā),完成了數(shù)據(jù)倉庫測試系統(tǒng)的拓?fù)湓O(shè)計、測試內(nèi)容、測試案例及總體測試方案設(shè)計。測試平臺設(shè)計可以為企業(yè)數(shù)據(jù)倉庫的實際應(yīng)用及現(xiàn)場測試方案的設(shè)計提供參考,為今后軌道交通信息中心類項目的實施提供一定的借鑒。
[1]程新謙.基于數(shù)據(jù)倉庫的北京智能交通管理數(shù)據(jù)中心系統(tǒng)分析[J].道路交通與安全,2009,9(5):22-26.
[2]梁玉慶,沙濱.基于數(shù)據(jù)倉庫的交通信息發(fā)布系統(tǒng)[J].道路交通與安全,2008(6):1-3.
[3]Inmon W H.Building the data warehouse[M],4 ed.John Wiley&Sons Inc,2005:21-23
[4]陳蘭芳.智能數(shù)據(jù)倉庫的設(shè)計方法[J].中國計算機用戶,2006(5):48-48.
[5]彭曉剛.建設(shè)企業(yè)級數(shù)據(jù)倉庫[J].金融電子化,2007:52-54.
[6]樊涓筑,張凡.數(shù)據(jù)倉庫技術(shù)在地鐵交通系統(tǒng)中的應(yīng)用[J].貴州工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2006,35(2):83-87.
[7]繆嘉嘉,鄧蘇,劉青寶.ETL 綜述[J].計算機工程,2004,30(3):14-22.