基于数据库组件的高校公共数据中心建设

2015-11-06 08:04:54程洪斌
新乡学院学报 2015年6期
关键词:数据源业务部门数据中心

程洪斌,戴 月

(滁州职业技术学院信息工程系,安徽滁州239000)

基于数据库组件的高校公共数据中心建设

程洪斌,戴 月

(滁州职业技术学院信息工程系,安徽滁州239000)

基于数据库组件功能实现高校公共数据中心建设,不需二次开发就可实现各个业务数据库之间共享数据的同步,并可以通过公共数据中心进行数据的分析与挖掘,既能满足数据的一致性和基于数据挖掘的决策支持系统的要求,又可为学校节约研发费用。

公共数据中心;同步;数据库组件

目前,因为各种管理系统的开发公司和开发时间不尽相同,所以大多数系统是互相独立的,这导致在同一单位中存在如同一数据在不同系统中的数据分类、类型、名称和长度不相同等问题。这些问题又导致学校日常工作中出现如下问题。

(1)数据的不一致性导致工作量增加。由于数据的来源不同,各管理系统会多次增加、删除、修改或更新同一数据,这既增加了工作量,又容易造成信息错误,也使各管理系统中的数据难以同步。例如当有资产需要变更时,滁州职业技术学院(以下简称学院)的资产管理工作将涉及财务处的财务管理系统、总务处的资产管理系统和市财政局的资产管理系统,由于三个系统隶属于不同的单位或部门,要将这三个系统中的数据同步且准确地变更是有困难的,这导致在年末资产报表制作过程中,需花费大量的人力、物力处理资产数据。

(2)数据同步性差导致日常工作出差错。各系统缺乏数据的交换与共享,导致学校管理工作出现差错,如某学生在大一时退学、休学或参军,学生处相应的学籍信息已经变更,而由于教务处与学生处之间信息交流滞缓,该生在之后的几个学期都出现在缺考和补考名单中。

(3)数据孤立导致难以做出基于数据挖掘的管理决策。基于数据挖掘的决策支持系统无论是在资产管理、人事管理还是在教学管理等方面都起着至关重要的作用,但由于数据孤立,无法进行跨部门、跨系统的数据处理,各类数据不能形成有价值的综合信息,而局部信息又无法提升为管理知识,因而不能从整体上为学校决策层提供科学的管理依据。

解决上述问题可以采用数据库同步手段,实现方法分为两个层次:一是通过后台程序编码实现数据同步;二是直接作用于数据库,在数据库层面实现数据的同步。通过前者实现数据同步,需要请专门的软件公司来开发,花费较高,动辄数万元甚至数十万元;而通过后者来实现数据同步可节约大量资金。因此,结合学院实际,我们采用建立公共数据中心的方式来实现各数据库之间的同步,采用各数据库组件实现各业务部门数据库与公共数据中心的通信与同步。

1 公共数据中心的建设方案

公共数据中心采用Microsoft SQL Server 2008作为数据库管理系统平台。数据同步采用定时清空数据的方法来完成。公共数据中心的决策支持系统采用SSAS(Microsoft SQL Server 2008 Analysis Services)进行数据的分析和挖掘。

数据中心的数据来源于业务部门,而各部门也可从数据中心获取所需的共享数据。为了保证共享数据的唯一性,应确定各部门数据的来源与去向,确定每一数据的录入权限、修改权限和删除权限,如学生的学号仅来源于学生处的数据管理系统,教师的编号仅来源于人事处的人事管理系统等。

1.1 公共数据中心的数据通信方式

数据通信的难点在于异构数据库之间的数据通信,可使用的方法有基于数据仓库、基于联邦数据库系统、基于中间件、基于本体、基于网格和基于XML等[1–4]。本文通过数据库组件来完成数据库之间的通信与同步。

1.1.1 各业务部门数据导入到公共数据中心

常见的关系数据库包括Oracle、Sybase、DB2、SQL Server和MySQL等。因学院的公共数据中心采用SQL Server 2008作为数据库管理系统平台,故本文考虑其他数据库与SQL Server数据库之间的数据导入和导出方法。

将其他数据库中的数据导入到SQL Server数据库中,可使用SQL Server 2008中的SSIS(Microsoft SQL Server 2008 Integration Services)来实现。SSIS是用于生成企业级数据集成和数据转换解决方案的平台,可以提取和转换来自多种源(如XML数据文件、平面文件和关系数据源)的数据,然后将这些数据加载到一个或多个目标,用其图形工具来创建解决方案,而无需编写代码。具体导入方式见表1。

表1 将业务部门数据导入到公共数据中心

实现表1中各种导入方式的具体方法如下。

(1)如业务部门的数据库是SQL Server,可采用Microsoft SQL Server的对等事务复制来实现与公共数据中心的同步。

(2)用SSIS实现将数据从Oracle数据库导入到SQL Server的过程是:首先在SQL Server 2008上创建相应的数据库表;然后在SSIS中新建“Integration Services”项目,在解决方案资源管理器中,选择“SSIS包”,单击右键,选择“SSIS导入和导出向导”,在“选择数据源”选项中选择“Oracle Provider For OLE DB”,其他选项根据实际需要进行选择;最后生成一个可执行的SSIS包。

(3)将Sybase中的数据导入SQL Server 2008的过程是:1)在SQL Server 2008上创建相应的数据库表;2)在SSIS中新建“Integration Services”项目,在解决方案资源管理器中,选择“SSIS包”,单击右键,选择“新建SSIS包”;3)在连接管理器或数据源中,新建链接,选择“ADO.NET”,选择 “.Net提供程序中的ODBC Data Provider”,在数据流任务中的数据源选择“DataReader源”。如果需要转换数据类型,则数据流目标选择“OLE DB目标”,但这需要添加“数据转换”组件。

(4)导入DB2中的数据需要使用Microsoft OLE DB Provider for DB2,它是随 Microsoft Host Integration Server一起分发的,使用SQL Server分布式查询可查询DB2数据库中的数据。其他使用SSIS的步骤和(2)中的步骤相同。

(5)导入 MySQL中的数据需要下载 MySQL Connector ODBC接口程序,使用SSIS的其他步骤和(3)相同。

1.1.2 将公共数据中心数据导入到各业务部门

表2中是针对不同的目标数据库需要采用的不同导入方式,各方式具体步骤如下。

表2 公共数据中心数据导入到各业务部门

(1)如业务部门的数据库是SQL Server,可采用MicrosoftSQLServer的对等事务复制功能实现数据导入。

(2)导入SQL Server 2008的数据可采用SSIS,步骤与1.1.1中(2)相同,仅需注意数据源与数据目标设置相反。这里需要解决两种数据库的字符集不匹配问题,如:Oracle中的字符串连接符是“||”,而SQL Server中是“+”;Oracle中取uuid的方法是“select sys_guid()from dual”,而SQL Server中是“select newId()”;Oracle中取当前时间是 “select sysdate from dual”,而SQL Server是“selectgetdate()”等。

(3)将SQL Server 2008中的数据导入Sybase中时,由于存在Sybase与SQL Server的text字段类型不兼容的问题,无法使用SSIS的方式,故使用SQL Server和Sybase中的BCP进行数据导入和导出,具体过程如下。

1)从SQL Server中把数据库里的每张表都用bcp工具导出成txt文本,如:

BCP"database.owner.table1"out"table1.txt"-CU"user"-P"password"-t"#|#"-r"#$#"

2)用Sybase的BCP工具把文本导入Sybase数据库中,如:

BCP"database.owner.table1"in"table1.txt"-CU"user"-P"password"-t"#|#"-r"#$#"

如表的数量很多,可将BCP写成动态语句:

set@sql='BCP"select*from dbname.. ['+ @tbname+']"queryout-C-S""-U""-P"

EXEC master..xp_cmdshell@sql

(4)将SQL Server 2008中的数据导入DB2,采用SSIS,步骤与1.1.1中(4)相同,但数据源与数据目标相反。

(5)从SQL Server导入数据到MySQL中的过程与1.1.1中(5)相同,但数据源与数据目标相反。数据导入也可以使用MySQL的Client的工具SQLyog。

1.2 公共数据中心的数据同步过程

在将数据从业务部门的数据库中导入公共数据中心的过程中,需要解决数据导入的时间节点问题。在初次导入数据时,由于公共数据中心的表格为空,可将数据一次性导入;但如果是非首次导入数据,公共数据中心中已经有了数据,就需要区分哪些数据已经导入,哪些数据还没有导入,而在SSIS中完成数据的导入工作时很难区分这些数据信息。要区分这些信息,就需要修改共享数据表的结构,在修改数据表上加上标志列(值为false或true),还需要建立一系列的触发器用来修改标志列的值,这额外增加了数据库服务器的负担和共享表的复杂性。一般来讲,学校各业务部门数据的更新频率较低,数据总量相对较小,因而可以采用定时数据库同步的方式。本文采用定时清空公共数据中心中数据的方法,如将数据清空时间设置为每天0:00(采用SQL Server代理),将数据的导入时间设置为2:00。这种方式既简单易行,无需复杂的技术手段,又不会增加工作时间内数据库服务器的负担。需要注意的是,如果将数据库中的数据清空后再导入数据会存在数据丢失的风险,因此,可以在数据导入前先做备份后再导入。数据同步过程如图1所示。将公共数据中心中的数据导入业务部门数据库中的过程,也采用上述方式。

定时操作有两种方式,一种是操作系统的定时,一种是数据库级的定时。操作系统的定时由操作系统的任务计划(或叫计划任务)来完成。不同的操作系统,制定计划任务的方式也不一样:在Windows操作系统中,利用系统的计划任务来制定;而Linux、Solaris和Aix系统中的计划任务制定都是利用cron。在这些系统中,cron是一个定时执行工具,可以在无需人工干预的情况下运行作业[5]。

图1 数据同步过程

1.3 公共数据中心的决策支持

建立公共数据中心除了保证各业务数据库数据的一致性以外,还可通过数据的分析和挖掘在学校的管理、科研和教学改革等方面发挥作用。进行数据的采集、处理和分析后,可以看到教育资源是否得到合理配置与均衡发展、学生行为特征、招生与就业情况、教育质量以及舆情分析等,例如,通过一卡通消费数据来分析判断学生的经济情况,通过学习成绩变化和门禁记录数据筛选需要进行心理干预的学生群体等。

公共数据中心采用SSAS进行数据的分析和挖掘。SSAS是Microsoft SQL Server 2008的一个组件,可以方便地创建复杂的联机分析处理(OLAP)和数据挖掘解决方案。它所含的Analysis Services工具提供了设计、创建和管理来自数据库的多维数据集和数据挖掘模型的功能,还提供对OLAP数据客户端访问。

2 实验

考虑到公共数据中心的建设成功与否主要取决于数据库之间能否实现同步,而数据库同步的关键在于各种数据库系统与SQL Server之间的数据交换能否顺利实现,因此,实验采用了Windows Server 2003操作系统搭配各种数据库来模拟公共数据中心平台环境,验证数据交换。

(1)Microsoft SQL Server之间的对等事务复制

考虑到高版本对低版本的兼容性,为方便实验,在Microsoft SQL Server 2005之间完成事务复制,如图2和图3所示,图3中的警告消息不影响数据正确的导入和导出。

图2 配置对等拓扑向导完成图

图3 实现对等事务复制

(2)将Oracle数据导入SQL Server

导入Oracle的数据采用SQL Server导入和导出向导来完成,如图4和图5所示。在SQL Server中,SSIS能够完成同样的任务,为了简化实验步骤,我们采用SQL Server导入和导出向导完成实验。SQL Server数据导入Oracle的实验过程与此相同,方向相反。

图4 选择Oracle为数据源

图5 将Oracle中的数据导入SQLServer

(3)将Sybase中的数据导入SQL Server

将Sybase中的数据导入SQL Server采用DTS工具完成,如图6和图7所示。图7中的三个表复制失败是因数据格式不同引起的。DTS工具为SQL Server 2000中的导入和导出工具,可以单独安装,使用方便。这里,SSIS能够完成与DTS工具向导相同的任务,但为了简化实验过程,我们采用DTS完成实验。SQL Server数据导入Sybase的实验过程与此相同,只是方向相反。

图6 选择Sybase为数据源

图7 将Sybase中的数据导入SQLServer

(4)将SQL Server中的数据导入DB2

将SQL Server中的数据导入DB2采用DTS工具来完成,如图8和图9所示。DB2中的数据导入SQL Server的实验过程与此相同,方向相反。

图8 选择DB2为数据目标

图9 将SQLServer中的数据导入DB2

(5)将SQL Server中的数据导入MySQL

将SQL Server中的数据导入MySQL采用DTS工具来完成,如图10和图11所示。SQL Server数据导入Sybase的实验过程与此相同,方向相反。

图10 选择SQL Server为数据源

图11 将SQLServer中的数据导入MySQL

上述实验表明,各种数据库系统均可以与SQL Server之间进行数据的导入和导出,即可以由SQL Server数据库充当公共数据中心与各业务部门进行数据交换,这证实了本文所设计的公共数据中心建设方案是可行的。由于实验中的数据量不大,且各数据库系统均在同一个实验室安装,因此在实际应用中,对于大量数据的交换速度等问题还需做进一步的检验。

3 结束语

文中设计的公共数据中心能够实现各业务数据库之间共享数据的同步,既解决了学校各管理系统之间的数据不一致、数据同步性差等问题,又能够通过公共数据中心数据进行数据的分析与挖掘,从整体上为学校决策层提供科学的管理依据。公共数据中心的优点是易于操作,对熟练掌握数据库技术的技术人员来说是一个很好的选择。

[1] 张智,张正国.生物医学异构数据库集成的研究进展[J].中国生物医学工程学报,2010(3):454-463.

[2] 张磊,夏士雄,牛强.基于本体的异构数据库集成方法[J].计算机工程与设计,2007(14):3299-3301.

[3] 蒋雪书,戴剑伟,谭爱泉.OGSA-DAI和Flex开发数据网格应用探讨[J].软件导刊,2011(5):94-95.

[4] 于帆,王振铎,王振辉.基于XML异构数据库集成中间件的设计与实现[J].计算机应用研究,2007(9):185-188.

[5] 戴月,陈波,罗霞.数字化校园建设中的异构数据库同步机制研究[J].齐齐哈尔大学学报(自然科学版),2014(1):9-14.

【责任编辑 梅欣丽】

The Construction of College Public Data Center Based on the Function of Database Com ponents

CHENG Hongbin,DAIYue
(Departmentof Information Engineering,Chuzhou Vocational and Technical College,Chuzhou 239000,China)

To realize the construction of college public data center based on the function of database components,there is no need to further develop.In this way,the synchronization of shared data between each business database can be achieved.Meanwhile,this technique can carry out data analysis and mining through public data center,not only keeping the consistency of the data and meeting the system requirements of datamining,butalso saving the development costs for the college.

public data center;synchronization;database components

TP393.08

A

2095-7726(2015)06-0039-06

2015-01-01

安徽高校省级自然科学研究项目(KJ2013Z251)

程洪斌(1966-),男,安徽滁州人,讲师,研究方向:数据库安全。戴月(1974-),男,安徽滁州人,讲师,硕士,研究方向:分布式计算与信息安全。

猜你喜欢
数据源业务部门数据中心
酒泉云计算大数据中心
民航绿色云数据中心PUE控制
电子测试(2018年11期)2018-06-26 05:56:24
Web 大数据系统数据源选择*
电力企业构建纪检监察与业务部门协同工作机制的研究
大经贸(2017年7期)2017-08-21 07:44:55
在当前形势下“业财融合”的发展
基于不同网络数据源的期刊评价研究
供电企业纪检监察与业务部门协同工作机制建设研究
财务人员深入业务部门的重要性和策略分析
经营者(2016年23期)2017-03-11 08:46:51
基于云计算的交通运输数据中心实现与应用
基于真值发现的冲突数据源质量评价算法