姜潇 程军芝 陈立媛 何雅昆 王汝刚
摘 要 论述了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.