楊多龍 翁世清
摘要:目前,數(shù)據(jù)共享困難已成為銀行系統(tǒng)所面臨的一個重要問題。本文指出統(tǒng)一數(shù)據(jù)交換平臺能解決在分布式與多應(yīng)用系統(tǒng)環(huán)境下的數(shù)據(jù)交換問題。文中根據(jù)組件化設(shè)計原則,以完成系統(tǒng)的總體設(shè)計、數(shù)據(jù)存儲和加工設(shè)計。并應(yīng)用NAS存儲、使用NFS共享等技術(shù)部署對ETL技術(shù)進行了研究。
關(guān)鍵詞:統(tǒng)一數(shù)據(jù)交換 存儲 ETL
中圖分類號:TP311.13文獻標識碼:A文章編號:1006-8937(2009)03-0064-02
在核心業(yè)務(wù)系統(tǒng)與外圍系統(tǒng)之間批量交互數(shù)據(jù)是銀行應(yīng)用系統(tǒng)中最常見的任務(wù)之一,由于通常要受到多方面因素的制約,這是一個十分復雜而且耗費精力的工作。盡管目前銀行正在進行綜合業(yè)務(wù)系統(tǒng)大集中的改造,但并非所有銀行的應(yīng)用都會集中到唯一的核心業(yè)務(wù)系統(tǒng)上,而銀行內(nèi)還存在許多面向管理類的應(yīng)用系統(tǒng),這些圍繞在核心業(yè)務(wù)系統(tǒng)的應(yīng)用系統(tǒng),我們稱之為“外圍系統(tǒng)”。
核心系統(tǒng)與外圍系統(tǒng)的數(shù)據(jù)交換可以分為批量數(shù)據(jù)交換和實時數(shù)據(jù)交換兩類。實時數(shù)據(jù)交換是雙向的,一般由專門的中間件完成。批量數(shù)據(jù)交換也可能是雙向的,但總體上是從核心系統(tǒng)流向外圍系統(tǒng)的批量數(shù)據(jù)交換方式為主。從這一點來看核心系統(tǒng)是數(shù)據(jù)生產(chǎn)者,外圍系統(tǒng)是數(shù)據(jù)消費者。外圍系統(tǒng)之間也可以有批量數(shù)據(jù)交換和實時數(shù)據(jù)交換,因而互相扮演數(shù)據(jù)生產(chǎn)者和數(shù)據(jù)消費者的角色。
本文研究的是如何在中國建設(shè)銀行總行實現(xiàn)統(tǒng)一的批量數(shù)據(jù)交換,從而建立統(tǒng)一數(shù)據(jù)交換平臺(Unified Data Interchange Platform,以下簡稱UDI)。
1應(yīng)用技術(shù)現(xiàn)狀與研究
本文研究的重點之一是如何實現(xiàn)海量數(shù)據(jù)的加工,而且要在規(guī)定的時間窗口內(nèi)完成指定的數(shù)據(jù)加工處理任務(wù),否則,從業(yè)務(wù)角度看就是失敗的。這一點的提出要求我們研究和應(yīng)用先進的存儲和計算技術(shù),以及使用ETL技術(shù)對業(yè)務(wù)數(shù)據(jù)進行提取。
1.1網(wǎng)絡(luò)存儲的研究
早期的存儲系統(tǒng)是計算機系統(tǒng)的一部分,大多以存儲設(shè)備形式出現(xiàn)。隨著網(wǎng)絡(luò)的發(fā)展,數(shù)據(jù)的存儲也逐漸由單機向多機方式和專用機發(fā)展,數(shù)據(jù)的共享與傳遞也逐漸從依賴主機系統(tǒng)向依賴網(wǎng)絡(luò)系統(tǒng)發(fā)展。在大型企業(yè)應(yīng)用和Internet發(fā)布系統(tǒng)中,安裝數(shù)十臺服務(wù)器已經(jīng)很常見。但過于分散的數(shù)據(jù)資源,會給訪問和管理帶來困難。因此,數(shù)據(jù)存儲問題備受關(guān)注。存儲系統(tǒng)大致可以分成三種類型:
直接依附存儲系統(tǒng)(Direct Attached Storage,DAS)又稱為以服務(wù)器為中心的存儲體系。其特征為存儲設(shè)備是通用服務(wù)器的一部分。數(shù)據(jù)的輸入/輸出由服務(wù)器負責,數(shù)據(jù)訪問與操作系統(tǒng)、文件系統(tǒng)和服務(wù)程序緊密相關(guān)。當用戶數(shù)量增加或服務(wù)器正在提供服務(wù)時,響應(yīng)會變慢。在網(wǎng)絡(luò)帶寬足夠的情況下,服務(wù)器本身成為數(shù)據(jù)輸入/輸出的瓶頸。
網(wǎng)絡(luò)依附存儲系統(tǒng)(Network Attached Storage,NAS)這種存儲方式多采用專用數(shù)據(jù)服務(wù)器。該服務(wù)器不再承擔應(yīng)用服務(wù),稱之為“瘦服務(wù)器”(Thin Server)。數(shù)據(jù)服務(wù)器通過局域網(wǎng)的接口與應(yīng)用服務(wù)器連接。由于采用局域網(wǎng)上通用數(shù)據(jù)傳輸協(xié)議,如NFS,CIFS等,所以能夠在異構(gòu)的服務(wù)器間共享數(shù)據(jù)。NAS也是一種集中化數(shù)據(jù)存儲形式,便于維護和管理。
存儲區(qū)域網(wǎng)絡(luò)(Storage Area Network)采用高速數(shù)據(jù)連接通道—光纖通道(Fiber Channel,FC)連接服務(wù)器和存儲系統(tǒng)。從結(jié)構(gòu)上看,服務(wù)器和數(shù)據(jù)存儲系統(tǒng)相互獨立。將設(shè)備連接到FC集線器或交換機上,便于擴展系統(tǒng)規(guī)模。FC的傳輸速率和可靠性極高,能夠滿足當前視/音頻業(yè)務(wù)的需求。在SAN中,所有的存儲設(shè)備和存儲數(shù)據(jù)均可采用中心化管理,使得整個存儲系統(tǒng)具有可伸縮性。并且,可以通過存儲設(shè)備的集群方式而達到高可用度。
從軟件角度看,NAS是應(yīng)用與存儲分離的系統(tǒng),應(yīng)用服務(wù)器通過局域網(wǎng)(LAN)訪問文件存儲系統(tǒng),通常NAS以標準化訪問協(xié)議(如NFS)提供服務(wù);在SAN中,文件系統(tǒng)與存儲系統(tǒng)完全分離,存儲系統(tǒng)實際上成為運行應(yīng)用程序服務(wù)器的設(shè)備,二者以高速FC連接。
1.2ETL技術(shù)的研究
企業(yè)的信息系統(tǒng)往往是一個由傳統(tǒng)系統(tǒng)、不兼容數(shù)據(jù)源、數(shù)據(jù)庫與應(yīng)用所共同構(gòu)成的復雜數(shù)據(jù)集合,各個部分之間不能彼此交流,這些數(shù)據(jù)的來源、格式不一樣,導致了數(shù)據(jù)整合的難度,企業(yè)非常希望有一個全面的解決方案來解脫自己的困境,解決數(shù)據(jù)一致性與集成化問題,從而能夠從所有傳統(tǒng)環(huán)境與平臺中采集數(shù)據(jù),并利用一個單一解決方案對其進行高效的轉(zhuǎn)換,這種解決方案就是ETL(Extraction,Transformation and Loading)。
從實際角度,ETL的使用包括數(shù)據(jù)抽取、數(shù)據(jù)傳輸、數(shù)據(jù)轉(zhuǎn)換與清洗、數(shù)據(jù)加載、調(diào)度監(jiān)控以及元數(shù)據(jù)管理等。
2 平臺的總體設(shè)計
組件由一段執(zhí)行碼組成,通過對相應(yīng)的控件資源的調(diào)用完成設(shè)定功能的執(zhí)行模塊。組件通過有序的組合,構(gòu)成組件執(zhí)行序列即流程,完成所要實現(xiàn)的功能。本節(jié)對UDI平臺建設(shè)需要實現(xiàn)的功能進行分析,包括技術(shù)合規(guī)性檢查、元數(shù)據(jù)管理、數(shù)據(jù)接入服務(wù)、數(shù)據(jù)組織和管理服務(wù)、數(shù)據(jù)提交服務(wù)、安全控管、系統(tǒng)監(jiān)控管理等組件,并在此基礎(chǔ)上依據(jù)組件設(shè)計的思想進行組合,提出統(tǒng)一數(shù)據(jù)交換平臺的總體架構(gòu)。
2.1 UDI的功能分析
2.1.1 技術(shù)合規(guī)性檢查
按照UDI數(shù)據(jù)標準和目標系統(tǒng)的要求,針對數(shù)據(jù)格式所進行的檢查,包括數(shù)據(jù)屬性與值域檢查、代碼表引用檢查、中文亂碼和半個漢字等檢查。
2.1.2 元數(shù)據(jù)管理
簡單地說,元數(shù)據(jù)是“關(guān)于數(shù)據(jù)的數(shù)據(jù)”。包括業(yè)務(wù)性元數(shù)據(jù),主要指數(shù)據(jù)的業(yè)務(wù)定義、計算公式、修改規(guī)則等;技術(shù)性元數(shù)據(jù),主要指數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)表和字段)的定義和轉(zhuǎn)換規(guī)則等;操作性元數(shù)據(jù),主要指作業(yè)運行日志、數(shù)據(jù)保留期間、加載頻率等。UDI系統(tǒng)重點是實現(xiàn)基于技術(shù)性元數(shù)據(jù)的元數(shù)據(jù)驅(qū)動服務(wù)以及對元數(shù)據(jù)的管理服務(wù)。
2.1.3 數(shù)據(jù)接入服務(wù)
負責源系統(tǒng)數(shù)據(jù)向UDI的接入,包括與源系統(tǒng)的連接、源系統(tǒng)數(shù)據(jù)的獲取以及源系統(tǒng)數(shù)據(jù)向UDI標準數(shù)據(jù)的轉(zhuǎn)換,特別要考慮系統(tǒng)面對大數(shù)據(jù)量和有限處理時間條件下的處理能力。UDI平臺支持的轉(zhuǎn)換規(guī)則如:格式與類型、數(shù)據(jù)翻譯、數(shù)據(jù)連接、數(shù)據(jù)合并、數(shù)據(jù)排序、數(shù)據(jù)計算、碼制轉(zhuǎn)換等。
2.2 數(shù)據(jù)組織和管理服務(wù)
數(shù)據(jù)組織和管理是實現(xiàn)“目標系統(tǒng)通過UDI屏蔽對源系統(tǒng)的數(shù)據(jù)要求”的關(guān)鍵,UDI對進入其標準數(shù)據(jù)的源系統(tǒng)數(shù)據(jù)不做結(jié)構(gòu)上的改變,對這些數(shù)據(jù)可以重新進行組織,這樣可以滿足目標系統(tǒng)對數(shù)據(jù)的多樣性需求,并逐步形成UDI的數(shù)據(jù)標準和接口標準,統(tǒng)一UDI的數(shù)據(jù)管理流程和作業(yè)流程。
2.3 數(shù)據(jù)提交服務(wù)
負責由UDI標準數(shù)據(jù)向目標系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換和分發(fā)管理,包括按目標系統(tǒng)要求所進行的技術(shù)性轉(zhuǎn)換以及對待提交數(shù)據(jù)的管理。
UDI作為批量數(shù)據(jù)交換平臺基礎(chǔ)設(shè)施,所以與源系統(tǒng)必須制定規(guī)范的數(shù)據(jù)交換協(xié)議標準,綜合考慮源系統(tǒng)安全性,性能問題,傳輸效率等等原因,UDI系統(tǒng)與源系統(tǒng)之間不采用數(shù)據(jù)庫直連標準,如ODBC等連接方式。
采用FTP協(xié)議作為源系統(tǒng)與UDI之間的數(shù)據(jù)交換協(xié)議,那么就得約定與源系統(tǒng)之間的數(shù)據(jù)準備就緒標準與檢查方式,要求UDI平臺支持數(shù)據(jù)就緒標記文件和時間約定方式。
2.4 安全控管
UDI總體安全控制分成:系統(tǒng)層安全性(如操作系統(tǒng))、應(yīng)用層安全性(如針對數(shù)據(jù)存儲的安全加密措施,針對應(yīng)用數(shù)據(jù)在網(wǎng)絡(luò)傳輸過程中,采取的應(yīng)用層加密控制等等)、網(wǎng)絡(luò)層安全性(如采用防火墻,VPN等網(wǎng)絡(luò)安全技術(shù))。
2.5 監(jiān)控管理
與管理流程相對應(yīng)的對整個系統(tǒng)運行環(huán)境的管理,包括系統(tǒng)接入管理、轉(zhuǎn)換配置管理、運行配置管理、日常作業(yè)管理和系統(tǒng)恢復管理等。
2.6 數(shù)據(jù)存儲設(shè)計
2.6.1 存儲方案的選擇
基于NAS、SAN的存儲系統(tǒng)都是完全獨立的,不存在與服務(wù)器之間緊密的、依賴性的物理硬連接,都可以構(gòu)造中心化的數(shù)據(jù)存儲系統(tǒng)。二者都可通過冗余的硬件配置和軟件支持做到安全可靠的保護數(shù)據(jù),都具有良好的擴充能力和數(shù)據(jù)共享能力,都能實現(xiàn)中心化的數(shù)據(jù)管理。
在擴展能力方面,SAN通過多個FC交換機的級聯(lián),理論上可連接幾十萬個設(shè)備,要優(yōu)于NAS。另外,NAS的系統(tǒng)訪問能力受限于LAN的速率和服務(wù)質(zhì)量,而SAN采用光纖技術(shù),能提供高達1Gb/s的速率,數(shù)據(jù)訪問速度優(yōu)于NAS。
NAS的設(shè)計使得網(wǎng)絡(luò)中的通用服務(wù)器可以從繁重的文件存儲功能上解放出來。從具體的系統(tǒng)實施來講,NAS有自己非常明顯的優(yōu)勢。
首先,NAS結(jié)構(gòu)簡單,易于實現(xiàn)。只需將NAS文件服務(wù)器連接到LAN,進行簡單的配置即可實現(xiàn)數(shù)據(jù)共享。而SAN至少要在每臺服務(wù)器上安裝一塊HBA及其驅(qū)動程序,當服務(wù)器數(shù)量較多時,還要添加FC交換機,網(wǎng)絡(luò)布線和系統(tǒng)配置都較復雜。術(shù)語“即插即用”對于SAN來說并不適用,至少還需要一段時間來達到。
其次,NAS易于實現(xiàn)多個局域網(wǎng)子網(wǎng)段的存儲共享。
綜上所述,結(jié)合銀行實際情況,UDI的數(shù)據(jù)存儲最終選擇NAS存儲方式。
2.6.2 存儲方案的設(shè)計
UDI系統(tǒng)的數(shù)據(jù)共享主要分為UDI應(yīng)用處理器之間的數(shù)據(jù)共享和ETL主輔節(jié)點之間的數(shù)據(jù)交換兩種情形。其中ETL主輔節(jié)點的數(shù)據(jù)交換由ETL工具自身來實現(xiàn)。
服務(wù)所用的數(shù)據(jù)存儲在集群文件系統(tǒng)中的磁盤設(shè)備組上。這種設(shè)置首先數(shù)據(jù)是高可用的,也就是說,因為磁盤是多主機的,如果當前主節(jié)點的路徑出現(xiàn)問題,訪問能換到可直接訪問這些磁盤的另一節(jié)點。其次,因為數(shù)據(jù)在集群文件系統(tǒng)上,所以可以從任何集群節(jié)點上直接查看它,而不必過問此節(jié)點與存儲設(shè)備是否有物理連接。可以像常規(guī)設(shè)備那樣使用全局設(shè)備。UDI共享設(shè)計方案如圖所示。
2.7 數(shù)據(jù)加工設(shè)計
應(yīng)對數(shù)據(jù)源的數(shù)據(jù)提取可以有兩種方案,一種是設(shè)定一種類型,比如關(guān)系數(shù)據(jù)庫,作為統(tǒng)一的源類型,其他類型首先轉(zhuǎn)換到關(guān)系數(shù)據(jù)庫表中,然后再實施提取;另一種方案是直接選用數(shù)據(jù)提取的中間件產(chǎn)品,比如Ascential Datastage等。
如將數(shù)據(jù)裝入數(shù)據(jù)庫,再進行提取,文件在服務(wù)器上有轉(zhuǎn)換、裝載、抽取的環(huán)節(jié)。來自源系統(tǒng)的數(shù)據(jù)使用文件形式,數(shù)據(jù)量很大, UDI初始全量數(shù)據(jù)約820G,把文件Load到數(shù)據(jù)庫中是需要時間的,同時,數(shù)據(jù)庫通常會用到索引,Enable索引比較慢,因而效率要差一些。而采用中間件產(chǎn)品,如ETL工具,可以直接將接收到源文件進行提取,根據(jù)節(jié)點個數(shù)設(shè)置并行處理進程,提取后結(jié)果文件直接發(fā)送到目標系統(tǒng),這樣不用經(jīng)過“數(shù)據(jù)落地”的中間環(huán)節(jié),處理效率比較高。
UDI平臺的數(shù)據(jù)邏輯加工處理最終采用Ascential公司的DataStage ETL工具進行規(guī)劃設(shè)計,UDI平臺一部分組件是基于ETL工具的進行開發(fā)(ETL工具開發(fā)語言 SCRIPT),另外一部分組件需要采用開發(fā)語言進行開發(fā),統(tǒng)一規(guī)劃成AIX下C/C++。管理數(shù)據(jù)庫采用Informix數(shù)據(jù)庫,任務(wù)調(diào)度和監(jiān)控通過ODBC與數(shù)據(jù)庫連接。
統(tǒng)一數(shù)據(jù)交換平臺項目作為建行基礎(chǔ)設(shè)施的建設(shè),已成功投入運營。當前接入源系統(tǒng)有五個(DCCN、DCCS、CMIS、國際卡、證券等),接入目標系統(tǒng)有四個(BDB、ECIF、OCRM、IPSS等)。平臺在功能上滿足了建行核心系統(tǒng)與外圍系統(tǒng)之間的批量數(shù)據(jù)交換需要。
參考文獻:
[1] 周敬利,余勝生.網(wǎng)絡(luò)存儲原理與技術(shù)[M].北京:清華大學出版社,2005.
[2] Preston, Curtis. Using SAN and NAS.Sebastopol, CA: O'Reilly and Associates, 2002.