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