姜瀟 程軍芝 陳立媛 何雅昆 王汝剛
摘 要 論述了SSIS(SQL Server Integration Services)在企業(yè)信息系統(tǒng)集成中發(fā)揮的作用,通過公司數(shù)據(jù)共享平臺的建設,介紹了與SAP ERP系統(tǒng)、AD、文件系統(tǒng)異構數(shù)據(jù)集成的技術實現(xiàn),以及在數(shù)據(jù)質量管理和數(shù)據(jù)應用的方式和技術實現(xiàn)。
關鍵詞 SSIS;數(shù)據(jù)集成;數(shù)據(jù)質量
中圖分類號 G2 文獻標識碼 A 文章編號 1674-6708(2018)209-0136-03
某工程建造行業(yè)公司采用了SAP公司的ERP解決方案、建立了基于微軟SharePoint的門戶系統(tǒng),以及應用了AVEVA PDMS等為代表的專業(yè)軟件系統(tǒng)。由于各信息系統(tǒng)之間數(shù)據(jù)的獨立性,在不斷發(fā)展過程中,信息孤島的現(xiàn)象逐漸體現(xiàn),成為阻礙公司發(fā)展的一大障礙。為有效應用現(xiàn)有信息系統(tǒng)數(shù)據(jù),實現(xiàn)共享與信息深入挖掘,公司建立了數(shù)據(jù)共享平臺,用于解決數(shù)據(jù)在各系統(tǒng)間交互、多維分析統(tǒng)計等存在的困難,為未來系統(tǒng)間的進一步集成與數(shù)據(jù)挖掘奠定基礎。
1 SSIS在信息系統(tǒng)集成中發(fā)揮的作用
基于公司現(xiàn)有的信息系統(tǒng)情況,針對各系統(tǒng)(或系統(tǒng)外)的數(shù)據(jù)應用情況劃分了數(shù)據(jù)源、數(shù)據(jù)匯集和應用3個層面,如圖1。數(shù)據(jù)源層包括了基礎的環(huán)境數(shù)據(jù),如AD(Active Directory)數(shù)據(jù)信息,業(yè)務應用系統(tǒng)數(shù)據(jù),如SAP ERP系統(tǒng)數(shù)據(jù),以及基于系統(tǒng)外文件、手工錄入等數(shù)據(jù)信息;數(shù)據(jù)匯集層按數(shù)據(jù)獲取、存儲和發(fā)布的流程對數(shù)據(jù)信息進行處理,在此過程中實現(xiàn)數(shù)據(jù)的標準化、關聯(lián)性處理、質量控制、匯集歸類等操作;應用層則對數(shù)據(jù)共享平臺提供的數(shù)據(jù)進行展示或再利用。
數(shù)據(jù)作為信息應用的基礎,常存在“垃圾進,垃圾出”的現(xiàn)象,而通過架構中SSIS的應用,對數(shù)據(jù)的入口進行了統(tǒng)一管理,一方面將“垃圾”拒之門外,另一方面,將可回收利用的“垃圾”進行再加工產(chǎn)生新的價值,有效地利用現(xiàn)有的系統(tǒng)數(shù)據(jù)資源,在一定程度上解決“垃圾進,垃圾出”的問題,最大限度地挖掘數(shù)據(jù)的潛在價值。
SSIS作為數(shù)據(jù)獲取環(huán)節(jié)的技術應用,實現(xiàn)了數(shù)據(jù)共享平臺的入口數(shù)據(jù)管理,同時也是相關的信息系統(tǒng)應用的數(shù)據(jù)入口。其應用ETL技術來實現(xiàn)源端數(shù)據(jù)的抽取、轉換和加載。通過對源數(shù)據(jù)的篩選、轉換、清洗等處理,提升數(shù)據(jù)的完整性和準確性,保障高質量的數(shù)據(jù)進入下一環(huán)節(jié),提升系統(tǒng)應用效果,其重要性影響到公司整個信息化的建設。
2 SSIS在數(shù)據(jù)集成中的技術實現(xiàn)
SSIS具有易用與靈活的特點,其提供的組件不僅可支持SQL Server系統(tǒng),同時也支持如Excel、Oracle、SAP等方式的異構數(shù)據(jù)獲取,通過自定義開發(fā)可擴展SSIS的組件,達到個性化數(shù)據(jù)訪問連接的需求。
公司在應用上使用了SQL Server 2014 Integration Services產(chǎn)品,實現(xiàn)了與SAP ERP系統(tǒng)、AD、文件系統(tǒng)、手工等數(shù)據(jù)的集成應用。
2.1 SAP ERP數(shù)據(jù)集成應用
SSIS與SAP ERP系統(tǒng)的數(shù)據(jù)集成可使用SSIS腳本組件連接SAP自定義RFC接口直接獲取,或者使用SSIS的SAP BI組件連接SAP BI間接獲取SAP ERP數(shù)據(jù)信息,或者使用SSIS對應SAP PI端組件通過SAP PI連接SAP ERP系統(tǒng)進行獲取等多種方式。前兩者受限于連接的方式存在大數(shù)據(jù)量數(shù)據(jù)效率低(RFC接口)、無法實現(xiàn)同步處理(SAP BI)等限制;SAP PI則是專門用于SAP與其它系統(tǒng)間數(shù)據(jù)集成的應用產(chǎn)品,其設計難度相對復雜,但其應用更為靈活、性能更易監(jiān)控與管理。集成的方式可結合實際及應用的產(chǎn)品授權等情況進行綜合判斷選擇。
在實現(xiàn)SAP ERP系統(tǒng)人員基本信息的同步應用中,使用了SAP PI系統(tǒng)提供的Web Services方式進行數(shù)據(jù)的獲取,可實現(xiàn)按需獲取人員基本信息的應用需求。在SAP ERP端,通過開發(fā)程序讀取系統(tǒng)PA0001表人員編號(PERNR)、人事范圍(WERKS)、人事子范圍(BTRTL)等信息,通過SAP PI系統(tǒng)配置并發(fā)布Web Services服務;在SSIS端,通過Web服務任務連接SAP PI發(fā)布的Web Services服務,并將處理結果轉交XML任務進行無效數(shù)據(jù)的排除處理,最后交由數(shù)據(jù)流任務進行ETL的處理后存入數(shù)據(jù)庫,如圖2。
2.2 AD數(shù)據(jù)集成應用
AD中存儲了有關網(wǎng)絡對象的信息,如比較常用的域賬號信息。本身AD使用了結構化的數(shù)據(jù)存儲方式,可通過 ADSI(Active Directory Service Interface)進行數(shù)據(jù)的訪問。在數(shù)據(jù)共享平臺上,使用SSIS來實現(xiàn)數(shù)據(jù)信息的獲取,使得訪問更易于管理,同時也兼具了性能和靈活性的考慮。
在實現(xiàn)AD賬號信息同步的應用中,首先以OLE DB(OLE DB Provider for Microsoft Directory Services)的方式配置鏈接服務器信息,并按需創(chuàng)建數(shù)據(jù)信息訪問的視圖,然后在SSIS中創(chuàng)建訪問視圖的連接,通過腳本任務等方式獲取視圖中AD賬號的數(shù)據(jù)信息,其數(shù)據(jù)結果交由數(shù)據(jù)流程任務進行處理,在數(shù)據(jù)流處理過程中,獲取的數(shù)據(jù)與SAP ERP中人員基本信息進行了對比選擇、數(shù)據(jù)關聯(lián)與合并的處理,其中人員組織的信息以SAP ERP系統(tǒng)數(shù)據(jù)為準、而網(wǎng)絡相關信息(如,email地址)則取自AD賬號數(shù)據(jù),形成了更高質量和完整的數(shù)據(jù),最終存儲至數(shù)據(jù)庫。通過SSIS的方式讓AD數(shù)據(jù)的訪問有更大的靈活性,可根據(jù)需要指定所需數(shù)據(jù)的讀取,以及對數(shù)據(jù)過濾,安全等細節(jié)加以控制。
實際應用中,AD賬號的更新頻率并不高。處于性能的考慮,與AD數(shù)據(jù)集成的應用被設置為SQL Server 代理中的作業(yè)項,每日2:00執(zhí)行一次作業(yè),通過使用SQL Server 代理的日志和通知功能定時匯報(郵件方式)執(zhí)行情況。
2.3 文件型數(shù)據(jù)集成應用
通常企業(yè)信息系統(tǒng)按規(guī)劃逐步實施,在未形成體系的過程中,大部分情況對于文件型數(shù)據(jù)集成需求仍然較多。對于文件型數(shù)據(jù)的集成應用,在SSIS中有著豐富的支持,也可以通過類似ODBC的方式支持更多的文件類型。在實際的應用中,全面的開放各種類型并不是一個好主意,這會導致管理、設計實施和運行維護成本的成倍增加。適當進行一個小的業(yè)務流程再造或是用戶習慣的改變,會帶來明顯收益。
在數(shù)據(jù)共享平臺上對文件型數(shù)據(jù)的集成應用中,提供了XML和平面文件的支持,而對于常用的Excel文件,則在調用SSIS包之前進行了程序化的處理,使其轉化為平面文件再行使用SSIS。
對于平臺文件的連接,可使用文件系統(tǒng)任務、FTP任務等多種方式靈活訪問。在使用大容量插入任務時,使用平臺文件顯示出其優(yōu)勢,更高的處理性能可彌補像Web Services訪問中對大數(shù)據(jù)量處理能力較弱的不足。
手工數(shù)據(jù)的處理上常常也會調用文件型數(shù)據(jù)用于批量的數(shù)據(jù)上載,為用戶提供一個界面,可使系統(tǒng)更為健壯,用戶體驗更佳,也是對加強系統(tǒng)安全與提升數(shù)據(jù)質量的有效手段。
在數(shù)據(jù)共享平臺實現(xiàn)了公司電話通訊信息的數(shù)據(jù)集成。通訊信息存儲于公司IP電話系統(tǒng),通過每日導出電話相關信息(如通訊錄、通話記錄等)至文件系統(tǒng)(平面文件),SSIS端通過FTP任務獲取平面文件,再使用配有bulkadmin權限的賬戶調用大容量插入任務將數(shù)據(jù)存儲于數(shù)據(jù)庫Org(原始數(shù)據(jù))架構下,后續(xù)通過數(shù)據(jù)流程任務,將通訊錄信息與SAP ERP中獲取的人員基本信息、AD中獲取的網(wǎng)絡相關信息進行關聯(lián)與合并,形成更為完整的數(shù)據(jù)信息最終存儲至Prd(生產(chǎn)數(shù)據(jù))架構下;而通話記錄等大數(shù)據(jù)量的數(shù)據(jù)信息配上基本分類的數(shù)據(jù)信息提供給BI系統(tǒng)用于數(shù)據(jù)的分析應用。
3 數(shù)據(jù)質量管理及技術應用
數(shù)據(jù)共享平臺匯集各系統(tǒng)(或非系統(tǒng))數(shù)據(jù)信息,對外提供標準的數(shù)據(jù)訪問接口,對數(shù)據(jù)管理提供了統(tǒng)一、標準的管理模式。整個管理過程中,數(shù)據(jù)質量的管理是最重要的目標。談數(shù)據(jù)質量的前提是數(shù)據(jù)有其應用價值,應用價值體現(xiàn)在應用層對其數(shù)據(jù)需求的情況。只將有需求的數(shù)據(jù)納入數(shù)據(jù)共享平臺可降低應用成本,否則過多的無用數(shù)據(jù)會消耗空間、性能和設計、維護的成本。
在基于應用層的需求基礎上,數(shù)據(jù)匯集層更多的考慮數(shù)據(jù)的關聯(lián)性與復用,規(guī)避冗余情況的發(fā)生。數(shù)據(jù)共享平臺在設計上,基于數(shù)據(jù)標準化的基礎,進行數(shù)據(jù)的組織與分類,對數(shù)據(jù)進行了基本管理數(shù)據(jù)、業(yè)務應用數(shù)據(jù)的劃分,并依據(jù)具體業(yè)務分類進行了細化,在技術的劃分上,將數(shù)據(jù)歸屬到原始數(shù)據(jù)、過程數(shù)據(jù)和生產(chǎn)數(shù)據(jù)3個數(shù)據(jù)架構內(nèi)。數(shù)據(jù)共享平臺在具體實現(xiàn)上,應用DQS(Data Quality Services)實現(xiàn)數(shù)據(jù)的清洗工作,處理數(shù)據(jù)錯誤,提升數(shù)據(jù)準確性。
4 數(shù)據(jù)應用的方式及技術實現(xiàn)
數(shù)據(jù)共享平臺利用SSIS有效將數(shù)據(jù)獲取,并存儲為高質量的數(shù)據(jù)信息。經(jīng)過這樣的處理,數(shù)據(jù)更易于使用,發(fā)揮其深層的價值。應用層的需求,決定了對數(shù)據(jù)的要求。在數(shù)據(jù)共享平臺整體的實現(xiàn)上,設計過程是從應用到數(shù)據(jù)發(fā)布,再到數(shù)據(jù)存儲,再到數(shù)據(jù)獲取,最終追溯到數(shù)據(jù)源各系統(tǒng)或系統(tǒng)外數(shù)據(jù),而實施/測試過程是與設計相反的流程,整個實現(xiàn)的過程應用了軟件工程的V模型方式。
在數(shù)據(jù)應用技術上,針對不同的應用系統(tǒng)數(shù)據(jù)共享平臺提供了不同的數(shù)據(jù)應用路徑,針對微軟兼容的系統(tǒng)(如Office系統(tǒng)等)可以直接使用數(shù)據(jù)庫SSRS(SQL Server Report Services)提供的二維數(shù)據(jù)信息,在應用層面主要完成數(shù)據(jù)的展示;而針對異構的系統(tǒng)/平臺,可以使用標準Web Services服務或兼容的XMLA等方式來傳輸數(shù)據(jù),應用層可對數(shù)據(jù)信息進行更靈活的二次處理。
5 結論
基于SSIS的企業(yè)數(shù)據(jù)集成易設計、多功能、低成本、易部署,與眾多產(chǎn)品有更好的兼容性,成為企業(yè)輕量級數(shù)據(jù)質量管理的有效工具,同時作為補充也可為大數(shù)據(jù)分析提供高質量的數(shù)據(jù)輸入,結合DQS、SSRS、SSAR等產(chǎn)品可以實現(xiàn)靈活的設計,系統(tǒng)應用的收益明鮮,是一種實用價值和應用前景都很廣闊的技術手段。
參考文獻
[1]蘇鵬,李釗,王文,等.基于SSIS企業(yè)數(shù)據(jù)集成系統(tǒng)的技術實現(xiàn)[J].計算機應用與軟件,2008,25(9):179-180.
[2]彭亞發(fā).基于SSIS設計器的數(shù)據(jù)庫數(shù)據(jù)轉換的實現(xiàn)[J].電腦開發(fā)與應用,2013(5):38-40.
[3]張永濤.基于SQL 2005 SSIS技術的分布式海量數(shù)據(jù)ETL系統(tǒng)[J].電信技術,2011,1(7):33-37.
[4]王濤.基于SSIS的數(shù)據(jù)起源追蹤系統(tǒng)研究與實現(xiàn)[D].長沙:國防科學技術大學,2010.