高校数据共享的若干实践研究

2021-02-21 08:51毛文卉刘雅琴李凯严帆熊鹰
中国教育信息化·高教职教 2021年1期
关键词:数据治理

毛文卉 刘雅琴 李凯 严帆 熊鹰

摘   要:近几年来,学校信息系统和师生对数据一致性、准确性、及时性和完整性提出了更高要求,数据治理成为了信息化建设的热点之一。数据共享是数据治理的基础和重要内容。文章主要基于本校的实际情况,研究数据共享的模式、要点和实现方法;按照相关研究方法,理清了基础数据的源头,打通了数据孤岛,数据共享取得了预期的效果,减少了教工学生反复填报基本信息的麻烦,消除了各个系统数据不一致的问题。

关键词:数据共享与交换;数据共享模式;数据治理

中图分类号:TP39 文献标志码:A 文章编号:1673-8454(2021)01-0039-04

一、学校数据共享的现状及问题

《教育信息化十年发展规划(2011—2020年)》中提出要大力推进普通高校数字校园建设,推进系统整合与数据共享,促进教育决策科学化、公共服务系统化、学校管理规范化。[1]随着我国高校信息化建设的快速推进,信息系统在高校的应用程度不断提高,信息化建设规模不断增长,信息不断积累。[2]我校各个业务部门根据管理需要,都建成了自己独立的信息系统,由于建设周期和所用技术不同,各个系统之间相对封闭,直接进行数据交换十分困难。但是随着系统越来越多,保持各个系统数据的一致性、减少教师学生基础信息的反复填报、数据共享的需求越来越强烈。为保证数据共享的顺利进行,在正式实施共享前,需要理清几个问题:选择什么样的共享模式?数据从哪里取?数据的权威性由谁负责?取到数据后,选择什么标准存储数据?如何提高数据质量?异常的数据如何处理?文章将基于上述几个问题展开。

二、如何进行数据共享

1.数据共享的要点

数据共享包含很多具体工作,主要工作包括选择数据共享模式、确定数据权威源、制定数据标准、数据清洗、数据异常处理、确定数据同步频率及相关技术等。

(1)选择数据共享模式

数据共享有两种模式:[3]一是各个信息系统之间两两共享;二是建立一个基础数据库(有的高校称之为共享数据库或公共数据库),所有信息系统之间的数据共享均通过基础数据库实现,基础数据库作为中心节点与其他各业务信息系统之间共享,形成一个星型结构,如图1所示。第一种模式适合于信息系统數量较少、共享数据较为简单的场景,例如,如果学校或某部门内部只存在两三个系统之间需要共享数据,就没有必要单独再建立一个基础数据库作为桥梁,这样会增加共享环节。但是,如果信息系统较多,而且数据共享的内容也多且复杂,就必须使用第二种模式。随着共享系统的增多和共享数据规模的不断增大,第二种模式中的基础数据库的压力也将越来越大,如何管理控制好基础数据库的权限,确保共享效率,减少共享故障或中断的发生,也是面临的一个难点。

基础数据库存储的数据范围应该是各业务信息系统之间用于共享的基础数据的集合,而不是所有业务信息系统的所有数据的集合(为了便于区分,我们将与基础数据库进行数据共享交换的信息系统统称为业务信息系统,业务信息系统的数据库称为业务数据库)。有些高校按“所有数据集合”模式建立数据库,并称之为中心数据库或数据仓库,大而全的中心数据库与以共享为目的的基础数据库在数据量、建表规则、共享技术上都有较大差异。基础数据库中的基础数据与业务信息系统等的数据库也不是简单的表表对应关系,应该是对数据进行清理、转换后再行存储或共享。基础数据库和业务数据库之间的数据共享一般也要经过中间库或中间表进行转存,不直接向业务数据库中插入或更新数据。基础数据库的主要功能是存储和交换数据,除了建立以基础数据库为基础的“数据服务”应用之外,一般不在基础数据库上直接建立应用系统对数据进行操作。

(2)确定数据权威源

在数据共享前,必须确定哪些数据是基础数据,由于业务信息系统中存在大量数据,不可能把所有数据都同步到基础数据库中来,必须对信息系统中的数据进行清理,明确哪些是基础数据。确定基础数据的一般原则是,数据有明确的权威源且需要被其他信息系统共享使用。没有明确权威源的数据,无法保证其及时性和准确性,不宜作为基础数据;虽有明确的权威源但不会被其他业务信息系统使用到的数据,同步到基础数据库中意义不大。

确定基础数据权威源的过程,实际上是确定产生这些基础数据的业务信息系统,而这些信息系统由学校不同的部门负责建设和管理,最终基础数据的权威源就落实到了具体的部门。基础数据的产生和维护按照“谁产生,谁负责”的原则执行,其他信息系统和业务部门在严格遵循“最少够用”的原则下,经基础数据产生部门批准后共享使用。基础数据仅允许产生该部分数据的权威源业务信息系统或部门可以更新,其他信息系统只能使用,不能更新。

为了保证数据的唯一性,要避免发生“一数多源”情况,即某个数据的权威源有多个。例如教职工的联系方式(如手机号码),可能会有多个业务信息系统中均存储了该信息,但最终必须明确某一个业务信息系统作为权威源。华中科技大学的师生联系方式手机号码权威源为学校信息门户(绑定微信企业号时必须确定手机号码),其他所有业务信息系统不得采集师生手机号码,如需使用,必须从学校基础数据库申请。

(3)制定数据标准

数据标准是数据交换与共享的基础,因此,在实施数据共享前应先制定数据标准。如果所有信息系统均未建立数据库,就以教育部颁发的《教育管理信息高等学校管理信息》标准和相关行业信息标准为基础,结合学校实际,制定学校的信息标准,所有信息系统的数据库必须按照学校发布的信息标准建设,这是最为理想的情况。但现实情况是,很多业务信息系统的数据库早已建成,并且可能正在支撑庞大的业务信息系统运行,让这些业务信息系统的数据库重新按照一个新的数据标准来更新重建,是不现实的,他们会认为即使是很小的数据标准的改动,也会引起现有业务信息系统的稳定运行,因此,他们往往会拒绝采用新制定的标准。如果一个标准被大多业务信息系统拒绝采用,则这个标准注定会成为空中楼阁,就是一个失败的标准。

那是否可以完全妥协、迁就现有业务信息系统中既有的数据标准,学校新的数据标准按照这些既有的事实标准(旧标准)来制定,而置国家或教育部标准于不顾呢?答案也是否定的,这样做,就会使国家或学校的新标准永远无法落地,不利于未来与国家相关信息系统或报表对接,而且随着需要共享的数据库和对接的业务信息系统增多,原来的不符合规范和标准的数据在具体共享过程中,也会非常麻烦。

比较可行的办法是,根据国家相关标准,以及本单位信息化建设的实际情况,制订较为完善的数据标准化体系。[4]学校的标准仍以国家、教育部以及行业颁布的标准为主,上述标准未涉及的部分根据学校实际情况制定,且尽量遵循现有的权威源业务信息系统中的数据标准,以利于推广和减少反复。应用标准进行数据共享步骤大致为:首先,以教职工和学生的基本信息、教学、学习、科研等核心数据为主要内容建立一个符合标准的数据集合。其次,将这些数据从权威源同步到基础数据库中,同步时如果权威源中的数据标准与学校标准不一致时,要求其转换成学校新标准或建立学校新标准与旧标准的对照表,通过中间数据库将数据推送到学校基础数据库。这样,学校基础库中收到的数据应是符合学校新标准的数据,如果仍有不准确的,经过双方协商,确定数据的清洗、纠错等方案,直至数据准确。再次,基础数据库通过中间库将基础数据同步到其他业务信息系统中,业务信息系统根据自身数据标准情况确定直接引用或者建立标准转表后再引用。随着现有业务信息系统的不断升级改造和新旧系统的更替,新的标准将会逐步应用到各个业务信息系统中,最终形成全校一盘棋。

(4)数据清洗

数据清洗是对不完整的数据、不一致的数据以及异常的数据进行清洗,并过滤掉重复相似的记录。[5]数据清洗的任务是过滤掉那些不符合要求的数据,将过滤的结果交给业务主管部门,确认是否过滤掉还是由业务单位修正之后再进行抽取。不符合要求的数据主要有不完整的数据、错误的数据和重复的数据三大类。

不完整的数据主要是一些应有数据的缺失,对于缺失的数据按数据项应进一步分类,整理后提交给数据权威源部门补充完整后再进行抽取。实际实施过程中此种方法常常会面临数据权威源部门补充数据不及时的问题。此时,可以采取“倒逼”方式。例如,如果有教职工或学生“缺失身份证信息”的,则在登录学校的“统一身份认证系统”时,账号标识为未激活,需要身份證信息数据权威源业务信息系统完善好信息并同步到基础数据库后才可正常使用。

错误的数据主要指格式不正确(如数字输入全角数字字符)、取值范围不正确(比如日期越界),对于此类错误,一般使用SQL脚本进行过滤,找出具体问题,直接在抽取的过程中通过编写视图对这些数据进行修正,再抽取到基础数据库。

重复的数据,比如身份证号重复,使用SQL脚本导出问题数据,定期反馈给数据源部门。对于数据源部门无法修正的,也采用“倒逼”方式,逐渐完善数据。

(5)数据异常处理

源数据更新包括数据的新增、修改和删除,一般来说,源数据新增或修改后,同步到基础数据库表内的数据进行相应的新增或修改即可,基础数据库再把新增和修改后的数据同步到其他业务信息系统的数据库中。但是如果源数据将一条数据做了删除处理后,基础数据库则不易直接做删除处理。可在数据同步到基础库前使用数据比对工具,找出存在异动的数据,对于删除的数据,使用工具生成SQL语句,将基础数据库的该条数据设置删除标志位,表示该条记录已删除,但该条记录物理上仍然存在。同时在基础数据库的“删除异动表”中插入该条数据。在将数据同步给其他业务信息系统使用时将“删除异动表”推送给有需求的业务信息系统,由其根据异动记录表来更新本地的数据库。

2.数据共享的实现方式

早期数据共享的方式之一是通过人工从源数据库中导出Excel表格或Access文件,然后导入到目标数据库中,这种落后的共享方式早已无法适应现代对数据共享的实时性要求高、多表关联等复杂度高的要求,目前主要使用的是数据库之间的同步或复制技术。现介绍三种常见的数据共享技术:一是定时推送,通过ETL工具定时将数据推送到业务信息系统专门为数据共享建立的中间库中;二是实时同步,通过OGG(Oracle Golden Gate)实现数据的实时同步;三是提供数据接口,通过数据接口工具提供实时查询。

(1)定时共享技术

定时推送的主要步骤:首先通过视图等方式规范和清洗数据,其次通过ETL工具将数据定时推送到业务信息系统的中间库,最后由业务信息系统编写同步程序从其中间库同步到业务库中。

需要说明的是:①关于同步工具。建议选择Oracle ODI作为ETL工具,它支持几乎所有主流的数据库,例如Oracle、Mysql、Microsoft SQL Server、Informix、SybaseASEnterprise、SybaseASIQ等。另外,基于其知识模型体系,它能适应不同的、多种多样的数据源,灵活有效地完成数据抽取/转换/载入的过程,通过配置代理和调度,可以实现自动定时执行数据同步。②关于中间库。在将数据从基础数据库推送到业务信息系统时,先将数据推到一个中间库,这样可以保证从基础数据库中推送出去的是标准化的数据,同时推送的过程不影响业务信息系统数据结构及系统运行。此外,中间库的建立要与业务信息系统逻辑分离,但要严格限制,只能在基础数据库和业务信息系统数据库之间可以访问,至少应严格限制在校内访问,以保证数据的安全性。

定时推送的流程如图2所示。

(2)实时共享技术

目前,市场上主流实现实时共享的技术主要是采用OGG(Oracle GoldenGate)进行实时同步。主要步骤如图3所示。

使用这种方式实现实时同步,需要在数据的源端和目标端同时安装OGG,OGG可以灵活地在同类和异类系统(包括不同版本的 Oracle Database、不同的硬件平台)之间以及 Oracle 数据库和非 Oracle 数据库(包括 Microsoft SQL Server、用于开放系统和 z/OS 的 IBM DB2、Sybase 等)之间移动数据。

OGG 软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或歸档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。[6]所以在源端和目标端都需要开启归档。需要注意的是,如果存储空间有限,最好设定定时删除旧的归档日志,以免影响数据库的正常使用。

由于OGG通过传递在源端生成的trail文件,在目标端将其解析为 DML或DDL语句,然后应用到目标数据库中,这就要求源端和目标端的表结构完全一致,这在数据共享出去的时候和定时同步的方式没有区别,但是数据集成到基础数据库中时,就无法再通过视图的方式清洗和规范数据,为了解决这个问题,就需要在业务信息系统和基础数据库中间添加“数据中心实时同步库”,其中的数据结构与源端保持一致,然后在其中通过建立存储过程和触发器的方式进行数据清洗和规范。对于源端和基础库差别较大的数据,这种方式效率较低。如果采用此种方式实现实时同步、日常维护时,需要定期在源端和目标端检查OGG是否正常运行。

(3)数据服务技术

当前的ODI方式只能实现定期(非实时)的数据推送,从其工作机制上就无法实现真正的“实时数据共享”。OGG方式虽然实现了源与目标数据的实时同步,但由于数据结构只能按照源端进行定义,目标程序使用数据时还需要存储过程进行读取、转换、写入生产库,才能生效,因此也不能完全实现“端到端”的实时共享。于是需要引入新的数据共享机制,即通过数据接口提供数据。

将需要共享的数据对象封装为API接口,[7]目标系统需要数据时,直接在代码中调用API接口,输入必要的参数发起查询,API引擎立刻直接执行检索后返回结果给应用程序,因此减少了使用ODI时定时执行的时间,以及将数据从中间库转到生产库的延迟。

三、结语

校园信息化发展到现阶段,数据共享的需求已经呈井喷之势,而且随着新系统新应用的不断推出,数据共享的需求会越来越多。数据共享的方式很多,无法判断哪一种是最佳的方式,方式的选择都应该根据具体需求和应用场景来确定。总体来说,对于更新比较频繁的数据,比如人事信息、学生基本信息应该采用实时同步的方式;对于变化频率不高的数据,采用定时同步的方式,可以根据需要加快更新频率,减小更新时间间隔;对于数据量较小、不需要持续和基础数据库保持一致的数据,可以采用数据接口的方式。我们也希望数据库技术更进一步发展,让数据共享变得更加自动化、智能化,减轻数据管理人员的负担。

截至目前,我校数据共享平台已实现约160个应用系统之间数据共享与交换,其中网上办事大厅的各类流程数据均通过数据共享平台提供给各系统。目前已包括人事、教务、研究生、科研、资产、财务及后勤等7大类近70万条数据记录,集成了近25个系统数据,为近95个应用系统提供基础数据,为40多个系统之间的数据交换提供平台。日均交换数据6000万条。

参考文献:

[1]教技[2012]5号.教育部关于印发《教育信息化十年发展规划(2011—2020年)》的通知[Z].

[2]连纯华.高校信息化建设中的信息孤岛现象及对策[J].教育评论,2009(1):36-38.

[3]俞春,袁芳,刘乃嘉,王茜.高校数据共享与交换技术的应用研究[J].实验技术与管理,2012(11):109-112,122.

[4]吴琳,张玉振.解析高校数字化校园平台建设方案与数据共享——以西安电子科技大学为例[J].陕西教育(高教版),2011(10):110-111.

[5]吴信东,董丙冰,堵新政,杨威.数据治理技术[J].软件学报,2019(9):2830-2856.

[6]卓凤艳,崔巍,姜娜娜,王凡.基于Oracle GoldenGate的异构数据库实时同步研究与应用[J].信息技术与信息化,2019(6).

[7]李晓东,杨扬,郭文彩.基于企业服务总线的数据共享与交换平台[J].计算机工程,2006(21):217-219,223.

(编辑:王天鹏)

猜你喜欢
数据治理
营配贯通台区线损异常数据治理分析
智慧城市建设项目风险挑战与解决经验
大数据治理模型与治理成熟度评估研究
大数据时代城市治理:数据异化与数据治理