数字校园数据中心和主题数据库的研究与实现

2010-10-23 13:14郑凯聂瑞华梁卓明刘学文
关键词:数据表字段视图

郑凯,聂瑞华,梁卓明,刘学文

(1.华南师范大学网络中心,广州510631;2.广州北大明天资源科技发展有限公司软件开发部,广州510632)

数字校园数据中心和主题数据库的研究与实现

郑凯1,聂瑞华1,梁卓明1,刘学文2

(1.华南师范大学网络中心,广州510631;2.广州北大明天资源科技发展有限公司软件开发部,广州510632)

研究了数据中心和主题数据库的系统结构和运行机制,提出并实现了一套数据中心的设计方案,以解决数字校园建设面临的数据分散、难以共享等问题,最后结合实例描述了信息系统与主题数据库之间的数据交换过程.

数据中心;主题数据库;信息标准;数据交换;企业数据总线

0 引言

信息系统分散开发、信息资源难以共享等问题,已成为阻碍高校信息化水平进一步发展的主要原因.通过数据中心对分散的信息资源以主题数据库的方式进行逻辑上和物理上的整合,形成支撑全校各类信息系统运转的权威数据,是数字校园的重要建设目标.主题数据库的概念由詹姆斯·马丁(James Martin)博士首先提出,他定义主题数据库为第三类信息系统应用的数据环境[1].主题数据库建立在各信息系统数据库的基础上,是面向一类对象或业务逻辑的结构和独立于具体应用的全局性数据资源,是建立数字校园数据中心的关键技术和核心内容[2].

在数字校园建设如火如荼的今天,如何科学地设计数据中心的运行机制,构建符合学校数字校园建设实际的主题数据库,已经成为校园信息化建设的研究热点.本文从数字校园建设实践出发,给出了一套数据中心和主题数据库的详细设计,并结合实例描述了在该设计方案中,应用系统与主题数据库之间的数据交换过程.

1 信息标准和统一编码

设计和规范化一套适合数据中心和主题数据库的信息标准和统一编码,是疏导学校数据流,实现校园内多个信息管理系统有机结合及可持续发展的基础和根本保证[3].信息标准和统一编码规定了全校范围内各类数据的编码标准、接口标准、数据格式、管理规范、实施规范和维护规范等,适用于学校及各部门建立的管理信息系统对全校标准数据的共享与交换,和作为学校与上级管理部门、兄弟院校等校外部门的数据接口.

数字校园数据中心构建可参考的信息标准包括国家信息标准、教育部信息标准、学校内部定义的数据标准及其它相关部委的数据标准,这些标准目标并没有完全达到一致.其中,教育部发展规划司和信息中心组织编制的《教育管理信息标准》[4]共包括5部分,分别为:《学校管理信息标准》,《教育行政部门管理信息标准》,《教育卡标准》,《信息交换标准》,《软件设计规范》.

在数据中心信息标准的规划和建设中,首先应从最基本、最核心的数据部分入手,如人事信息、学生信息等,由点及面,逐步扩充,逐步完善.基本和核心的数据标准应尽量参照国家信息标准和教育部信息标准制定,其他数据标准需对校内各类信息系统的数据字典进行分析,并比照国家信息标准和教育部信息标准,制定符合学校实际情况的科学的数据标准.在统一代码的编制过程中,应重视学校的通用基础性代码制定,如学生学号、教职工号、课程编号、设备号等,这类代码一般在多个信息系统中出现,但代码编制必须以数据的源头和维护信息系统的代码规则为准.

2 数据中心结构和主题数据库

本文利用数据视图、数据中间表、临时表、存储过程等数据库技术设计数据中心的结构和运行机制,通过ESB企业服务总线技术承载数据的交换过程和处理逻辑,研究与实现了一套完整的数字校园数据中心解决方案.数据中心集成了学校各个领域(主题)的权威数据表.为了完成学校多个信息系统间的数据交互,提高数据同步效率及出现错误时能够具有回溯检查数据的手段,还需要各类数据中间表、数据日志及存储过程、触发器等对象.我们把数据中心的结构分为两部分:主题数据库和数据交换区,如图1所示.

图1 系统结构示意图

2.1 主题数据库

主题数据库建立在数据主题域的基础上,数据主题域需要根据现有信息系统的执行状态和学校业务活动逻辑进行划分.通过分析提炼出信息系统间需要交互的数据关系模型,构建主题数据库,把相互间联系比较紧密的数据管理组织在一起,通过数据视图和数据交换机制对数据进行维护.文献[5-6]对基于数据依赖关系及亲和度的主题数据库规划方法和分解模式进行了阐述.由于主题数据库之间存在相互依赖性,在进行主题数据库的划分时还应遵循“自顶向下”的原则,根据其各自的依赖约束确定构建的顺序.在顶层主题数据库内可以对库表进行更细粒度的划分,尽量减少数据间的耦合度.

主题数据库与信息系统数据库的主要区别在于,主题数据库的数据关系在数据规划时被重新组织,每个主题库中所存储的数据都是完整的,数据关联也都是准确的.任何脏数据或者异常数据都不能作为数据存根进入主题数据库,它们在下文将提到的数据交换的清洗环节中就被过滤掉了.数据中心需要保证主题数据库内数据的历史完整性、持久性和回溯能力,因此,主题数据库中的数据记录一般只作增量存储,对数据的操作必须记入日志.

根据各高校的信息系统应用现状,数据中心可以按图2列出的几个顶层主题数据库进行划分和构建.其中,基础信息主题数据库主要保存国家信息标准规定的通用数据字典和全校统一的通用基础代码,所有其它主题数据库都向该主题数据库获取基础信息.

2.2 数据交换区

为了实现数据共享,各信息系统需要与数据中心进行数据增量同步.为了将不同系统的数据对象区别开来,我们在数据中心为每个信息系统创建了一个数据库用户,每个用户分配一片数据存放区域,这些区域构成数据中心的数据交换区.数据交换区内存在的对象类型包括物化视图、预处理数据表、清洗历史记录表和分发任务表.

物化视图包括一个查询结构的数据库对象,它是远程数据按一定规则获得的本地数据副本(快照),用来生成基于数据表求和的汇总表.信息系统以物化视图为中介向数据中心导入数据.在实际情况中,根据特定信息系统数据库需导入到数据中心的表创建相应的物化视图.在Oracle 10g数据库环境下,通过配置定时器(Quartz)定时对物化视图进行刷新.

预处理数据表又可称为增量表.系统定期查询物化视图的数据变化,把发生变化的数据记录保存到增量表中等待数据清洗.增量表的结构与物化视图的结构类似,但新增SORTID、OPERATION、FLAG三个字段.SORTID标识对数据记录多次操作的顺序,OPERATION标识对数据记录的操作类型,FLAG标识该数据记录是否已完成清洗.

清洗历史记录表又可称为存根表.预处理数据表中的数据记录在进行清洗之前,将数据记录的主键ID、操作时间和操作类型等信息保存到存根表,用于数据记录的备份和还原.

分发任务表用于保存经过清洗后需分发给其它信息系统控制信息.为完成数据记录到多个信息系统的更新,可以有多个分发任务表.

3 主题数据库数据视图的建立

为保证主题数据库数据结构的完整性,主题数据库中的数据表结构完全按照国家信息标准或教育部信息标准进行设计.在数据表的数据维护中,可能存在不同字段或记录由不同业务部门进行维护的现象.例如人事基本信息表包含了职称和职务两个字段,其中,职称字段由人事管理系统进行维护,而职务字段则一般由组织部负责维护.为适应这种需求,就需要在完整数据表的基础上建立不同的数据视图,不同部门通过业务信息系统只在可见的数据视图范围内进行数据操作,从而屏蔽了学校实际业务划分对主题数据库数据表的切割.数据视图分为行数据视图和列数据视图.

3.1 行数据视图

主题数据库数据表中的数据记录由不同部门进行维护的情况需建立行数据视图.例如在学生基本信息表中,本科生的信息由教务处负责维护,而研究生的信息则由研究生处负责维护.

根据数据表中对数据记录进行维护的部门个数,建立与数据表结构一致的行数据视图,每个视图对应一个数据维护部门.各部门均被严格地限制在各自数据视图内对数据记录进行插入、修改和删除等操作,操作后的数据记录经过数据交换区的导入和清洗工作后才能更新源数据表.

3.2 列数据视图

主题数据库数据表中的字段由不同部门进行维护的情况需建立列数据视图.例如在人事基本信息表中,职称字段由人事处负责维护,而职务字段则一般由组织部负责维护.

根据数据表中对字段进行维护的部门个数,建立只包含主键、引导字段和维护字段的列数据视图.如人事基本信息表形成的列视图应包含教职工号(主键)、姓名、单位(引导字段)等信息.每个视图对应一个数据维护部门.在多个列数据视图中,必须定义一个主视图.在人事基本信息表形成的列视图中,我们定义人事处维护的列数据视图为主视图.为保证数据的一致性,只有主视图才有插入、修改和删除数据记录的权限,其它视图只能对数据记录的维护字段进行修改,没有插入和修改数据记录的权限.在列数据视图上操作的数据记录在更新源数据表前同样要经过数据交换区.

4 数据交换过程与步骤

各个信息系统数据库表与数据中心主题数据库表进行数据交换之前,必须先完成字段及数据的信息标准化工作,然后建立起与主题数据库表的映射和对应关系及编码规则转换关系,一个典型的映射关系表如表1所示.

表1 信息系统数据表与主题数据库数据表之间的映射关系

数据中心与其它信息系统进行数据交换的步骤和详细过程如图3所示.

图3 数据交换的详细流程与步骤

信息系统与数据中心的数据交换可以分为4个步骤,导入、清洗、分发和传送.这些步骤通过数据中心数据交换区建立的表对象和机制实现.我们用开源企业数据总线(ESB,EnterpriseServiceBus)[7]Mule[8]的InBound和OutBound接口完成数据在数据交换区各类对象间的流转,用Mule的UMO(Universal Model Object)存储过程执行数据处理逻辑.

4.1 更新数据导入

信息系统数据库为需要导入数据中心的数据表创建日志,并将该日志表的访问权限分配给数据中心.数据中心数据交换区创建相应的物化视图,数据中心定时查询信息系统数据表的日志得到更新数据的编号,然后通过刷新物化视图、调用UMO存储过程获取信息系统数据库中的更新数据,将数据存入相应的预处理数据表和清洗历史记录表,并自动引发数据清洗.

数据导入分为历史数据导入和更新数据导入两个阶段.以人事主题数据库的数据导入为例,数据导入需要由Mule Inbound接口的ImportDataService调用3个存储过程:

HR.pro_hr_ryjbxx_trun:清空教职工基本信息表;

HR.pro_hr_exc_ryjbxx_import:把教职工基本信息或更新导入预处理数据表;

HR.pro_hr_exc_ryzp_import:把教职工照片或照片更新导入预处理数据表.

4.2 导入数据清洗

数据清洗是将导入的来自信息系统的更新数据进行正确性、唯一性过滤后,保存到主题数据库的过程.数据清洗调用UMO存储过程实现,该模块生成一个从数据交换区临时表转存到主题数据库的数据清洗处理逻辑,数据清洗规则可以按需求动态配置.

我们将数据清洗过程分为数据基本校验和逻辑分析两个步骤.数据基本校验是针对数据本身的检查,主要包括映射转换后的字段类型匹配判断,字段长度限制判断,字段非空判断,唯一性检查和冲突数据判断等.逻辑分析则检查更新数据与主题数据库的数据表结构和数据记录是否匹配.

更新的人事基本信息进入主题数据库前,Mule需调用两个存储过程进行清洗:

HR.pro_hr_ryjbxx_clr:清洗教职工基本数据;

HR.pro_hr_ryzp_clr:清洗教职工照片信息.

4.3 权威数据分发

完成清洗的更新数据进入主题数据库后,需要把这些数据及时同步到订阅这些数据的信息系统中去,以完成全校所有信息系统的数据更新.如人事基本信息作为数字校园平台和校内多个信息系统的用户权限管理的数据前提,需要同步到单点登录系统、协同办公系统、一卡通系统和教务系统等多个信息系统.

要完成主题数据库权威数据到各系统的同步,首先要把数据根据建立的表映射关系和编码规则转换关系进行转换,然后调用存储过程,把转换后的数据送到同步系统数据交换区的分发任务表待传送.不同的同步目标系统需调用不同的存储过程.在分发任务表的表结构中,字段APPLICATION_ID标识数据记录数据分发的目标信息系统号,字段SCOUNTS标识传送次数的计数器,累计到一定次数后,数据中心会将该分发表删除.

4.4 分发数据传送

分发任务表中的数据传送到目标信息系统可以通过两种途径,其中一种是把数据传送到各个信息系统提供的中间表里.如果信息系统提供数据更新的WebService,也可以把分发任务表中的数据封装到XML格式的字符串中进行传送.

在把人事基本信息分发和传送给一卡通系统的实例中,Mule需调用两个存储过程:

ICS.pro_ics_ryjbxx_dis:人事基本信息到分发任务表;

ICS.pro_ics_info_trans:分发任务表的数据传送给一卡通系统.

5 数据安全管理

数据中心尤其是主题数据库内存储的权威数据是数字校园得以正常运转的基础,因此,建立起健全的数据中心的系统安全和数据安全体系是非常必要的.我们把可以增强数据安全性的主要措施进行了归纳:

1)数据中心和主题数据库必须构建在性能稳定的服务器硬件和大型数据库软件中;

2)主题数据库的数据必须定时备份,最好能够具备实时异地数据远程复制机制;

3)只能对主题数据库的数据进行查询和分析,不能直接进行插入、修改和删除等操作;

4)针对各个信息系统建立准确的数据视图;

5)在数据清洗和数据分发过程中,对进行操作的数据表和数据进行备份,并建立操作日志,以便进行数据回溯.

6 结语

数据中心是高校数字校园建设的基础设施和支撑平台.在本文的研究中,利用主题数据库和数据交换区存储和交换全校公用的权威数据,通过调用企业服务总线的接口和存储过程实现数据转换和传送.华南师范大学数字校园建设以此方案构建起数据中心和主题数据库,并成功完成了多达14个信息系统的数据交换工作.下一步,将在提高数据交换的效率,增强数据中心的安全性和稳定性等方面继续展开研究.

[1] 高复先,吴曙光.信息工程与总体数据规划[M].北京:人民交通出版社,1989.

[2] 陈骞,刘伟,孟庆久.信息资源规划中的主题数据库研究[J].情报杂志,2006(2):136-137.

[3] 刘莉,郝丹.聚焦高校数字校园建设五大热点[EB/OL].http://www2.sjtu.edu.cn,2006.

[4] 中华人民共和国教育部.教育管理信息化标准[S].北京:人民邮电出版社,2002.

[5] 刘文远,于家新,徐丽娜,等.基于依赖关系的大规模主题数据库的分解模式[J].计算机科学,2008(5):223-225.

[6] 刘文远,陈灿,陈国鹰,等.基于实体亲和度的主题数据库规划[J].计算机工程,2008(15):42-53.[7]曾文英,赵跃龙,齐德昱.ESB原理、构架、实现及应用[J].计算机工程与应用,2008,44(25):225-228.

[8] Tom Bender.Mule-A detailed look at an enterprise[C]//Denver,USA:Colorado Software Summit,2005.

Research and Implementation of Data Center and Subject Database for Digital Campus

ZHENG Kai1,NIE Rui-hua1,LIANG Zhuo-ming1,LIU Xue-wen2
(1.Network Center,South China Normal University,Guangzhou 510631,Guangdong,China;2.Department of Software Project,Tomorrow Resource&Tech Limited Co,Guangzhou 510632,Guangdong,China)

s:The digital campus construction facing the problems like data dispersion and difficulty in sharing data.After deeply studying the structure and mechanism of data center and subject databases,a scheme of data center is proposed to resolve these problems.The procedure of data exchange between information systems and subject databases is described using examples.

data center;subject database;information standards;data exchange;ESB

TP 393

A

1001-4217(2010)01-0061-08

2009-07-24

郑凯(1978-),男,浙江舟山人,博士生,工程师.研究方向:计算机网络与教育应用.E-mail:david@scnu.edu.cn

华南师范大学“211工程”项目支持

猜你喜欢
数据表字段视图
图书馆中文图书编目外包数据质量控制分析
湖北省新冠肺炎疫情数据表
基于列控工程数据表建立线路拓扑关系的研究
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
CNMARC304字段和314字段责任附注方式解析
图表
无正题名文献著录方法评述