上海财经大学:提升数据质量之道
2014-03-13宫剑高亮
文/宫剑 高亮
上海财经大学:提升数据质量之道
文/宫剑 高亮
数据信息是高等学校的重要资产,对数据的有效管理是数字化校园建设的重要内容之一。本文以高校信息化建设为背景,对高校信息系统数据质量现状及数据质量中的问题进行了分析,阐述了数据质量管理整体框架和内涵。
随着应用的逐步深入,学校的信息系统也逐渐暴露出一些问题。由于学校各类业务系统往往是在不同时期规划和建设的,系统之间的信息难以共享。一方面,各个系统的数据定义存在不一致;另一方面,同一数据也具有多个来源。为了有效进行数据共享,将分散在各个系统中的资源整合起来,实现数据信息的综合分析,从而为各级领导决策提供有效的数据支持, 很多学校都开发了数据接口和数据交换平台,并在此基础上开发了决策支持、数据仓库、数据挖掘等多种应用。然而由于业务人员在业务操作过程中缺乏一定的规范性,经常出现数据维护不及时、不完整、不一致的现象,同时在数据交换过程中也经常出现错误,使得数据的使用价值大打折扣。
高校数据质量现状及其原因分析
数据质量定义
“数据质量”目前没有十分准确的定义,较为被认可的概念是 Wang等人提出的“Fit for Use”,这可以理解为数据资源满足用户具体应用的程度。
信息系统的数据质量需要从多个角度综合评估,只有满足各个评估维度才能说明数据是高质量的。下面是一些常用的评估维度:
完整性:Completeness,用于度量哪些数据丢失了或者哪些数据不可用。
规范性:Conformity,用于度量哪些数据未按统一格式存储。
一致性:Consistency,用于度量哪些数据的值在信息含义上是冲突的。
准确性:Accuracy,用于度量哪些数据和信息是不正确的,或者数据是超期的。
唯一性:Uniqueness,用于度量哪些数据是重复数据或者数据的哪些属性是重复的。
关联性:Integration,用于度量哪些关联的数据缺失或者未建立索引。
高校数据质量现状及原因分析
在高校信息化建设的多年经历以及同其他高校的交流中发现高校数据质量管理普遍存在以下一些相似的情况:一方面,各类应用系统数量多,系统间边界不清晰。学校的管理业务种类繁多,大多学校一般都是因某一管理部门的工作需要而建设系统,随即产生了不同业务领域的数据,如教师、学生、科研、教学、资产、财务等不同领域全生命周期的数据,导致各业务之间条块分割严重, 普遍存在数据源头多、不一致、异构、缺失、不完整、不准确、重复等问题。另一方面,业务操作人员普遍存在对数据质量缺乏足够重视的情况。高校信息化建设中常常是重点关注信息系统所包含的业务功能,而对系统的具体应用则重视不够,经常出现操作不及时、数据录入错误等忽视数据质量的现象,也没有采取有效的技术手段和管理措施应对。
数据质量问题的原因分析
影响信息系统数据质量的原因有多种,既有技术方面的因素,又有管理方面的因素,最终结果体现在数据没有满足一个或多个数据质量评估维度,没有达到用户预期的使用需求 。在数据产生和使用的整个生命周期中, 任何一个环节出现问题都会对数据质量产生负面影响。一般说来, 影响高校信息系统数据质量的因素主要有以下几种:
1.未制定统一数据标准。数据是一切信息系统的基础,高校在信息化建设中往往比较重视系统功能而忽视了数据的重要性,没有对数据标准进行整体规划。同时,教育行业标准的制定也相对滞后,2012年才由教育部发布了教育信息化的行业标准,而在此之前标准本身存在着内容不完整、数据冗余、概念和文字错误等问题,使得长期以来各高校缺乏可借鉴的、指导性的参考,最终导致很多系统间数据性质相同,但依据标准不一致。
2.信息化建设缺乏全校范围的宏观整体规划,即从全局角度分析各个业务之间的业务、数据依赖关系。很多高校在信息化建设初期没有对数据进行整体规划,业务系统建设各自为阵,最终形成了多个数据孤岛,导致数据不一致、无法共享等多种问题。由各个业务部门主导业务系统建设的方式,虽然短时间内可以实现部门内业务的系统化,但因各业务部门的视角局限性,难以从宏观角度审视学校全局层面的相关业务需求,造成了很多数据的源头不统一,数据冗余的现象。
3.国内教育行业软件成熟度不高,系统技术架构不一致。国内教育行业软件公司成熟度不高,对高校业务了解不深入,往往只能提供支持某一业务管理的软件,对系统的可扩展、可配置考虑不足,系统与系统间接口的开发难度较大。在系统实施过程中,都要根据高校具体的业务要求进行定制化开发,缺乏规范性。同时,各业务系统采用的技术架构以及业务数据的规范都不尽相同,造成数据库字段命名、数据颗粒以及数据表达方式的多样性,最终形成的数据逻辑表达与数据物理存放之间存在较大的差异。
4.只重视系统建设,对应用效果缺乏持续的跟踪和改进。在系统建设特别是需求分析阶段,只强调了系统功能,缺乏对数据质量的重视,没有强调数据的完整性、一致性和时效性。在软件设计时,没有系统地考虑后期的数据维护与数据更新的功能,同时在数据录入与各系统间数据交互的环节中对数据质量的验证也缺乏考虑,经常出现数据维护不及时、不准确、不完整的现象,在要使用数据的时候才发现某类数据维护的问题。此类问题常出现在对本业务不重要但对其他相关业务重要的数据中。
提高数据质量的措施
数据是信息时代的宝贵资源,高校应该把数据当作固定资产一样对待。从传统意义上讲,信息系统的数据质量管理是IT系统本身的事情。但实际上,优秀的数据质量解决方法也包括各业务的数据质量管理组织以及数据质量管理业务流程再造的过程。
数据质量问题的形成,很多情况下不是某个岗位、某个部门的原因,而是由有缺陷的工作流程和执行力不足造成的,比如岗位职责不明确、数据源头不清晰等造成质量差的数据。因此,提高数据质量,不仅要从技术层面,更重要的是从管理层面入手。
提高对数据重要性的认识
首先要让高校各个层面的用户,包括校领导、管理层、业务人员、教师、学生都能认识到数据是高校重要的战略资源,是学校日常业务运转的基础,是一切决策的来源。业务人员和学校高层都要参与到数据质量管理的活动中来。一方面,在建设时就要确定数据质量相关的需求;另一方面,加强用户对系统的依赖性,通过使用系统来发现问题,并及时对数据提供方进行反馈,形成数据质量提高的闭环,防止出现越是数据质量不高就越不用系统,从而更没人管数据的恶性循环。
数据标准先行
信息系统数据应遵循行业标准,如国家标准、行业标准、学校标准,既能够保证学校内部各业务数据的一致性,也便于与外部数据进行集成与共享。在选择或制定标准时,一方面要注意标准的可行性和适用性,要考虑各个学校的实际业务情况,不能为了标准而强制全盘使用国家或行业标准,而忽视了自身业务的特殊性与成熟度;另一方面也要考虑一定的可扩展性,为各高校特有的业务以及可能的管理变革进行准备。此外,在选择具体的开发厂商时,在考虑其技术能力及业务领域成熟度之外,需充分考虑其实施方案对现有标准和数据的兼容性、数据接口实现复杂度进行充分论证,防止对现有信息系统体系形成冲击。
制定数据质量管理规范
高校在信息化建设中应有意识地去提高各个层面系统使用者的信息化素质,尤其是使用系统的业务管理人员,把提高数据质量这项任务分解到每个业务人员身上。针对每个重要的业务系统,制定完善的数据录入维护规范,建立完善的数据负责制度,对数据提供方进行约束,条件允许的情况下可以成立专门的组织和机构负责数据质量管理工作。一般来说,在重要业务系统的管理部门内部,设立专职或兼职数据质量管理岗是一个较好的解决办法,其工作职责包括定期监控本系统数据质量状态,编写现有数据质量问题报告,协助IT部门完成数据标准的整理修正,提出系统数据质量方面的修改建议等如何做好数据质量的管理工作。
需求细化,持续跟踪
在系统建设的需求分析阶段即提出数据的要求,如在业务流程的各个环节都要仔细考虑数据的完整性、一致性、时效性、互相依赖关系等。同时在系统设计时优先考虑数据输入和输出接口问题,并采用灵活的、可配置、扩展性强的建模方式与开发技术,开发出用户界面比较友好、数据约束可灵活定义的系统,以减少操作员的录入工作量和出现错误的可能性,加强数据源头错误的控制;同时,在开发前要充分考虑用户的需求,防止出现业务处理软件不能满足客户要求、操作员采取违规操作的现象。
表1应用系统维护职责定义
开发数据质量检查工具,实现自动监控
对于早期开发的业务系统,由于对其修改成本较大,从系统层面较难对用户进行约束。对于这种情况,技术人员应开发数据质量检查的自动监控工具,及时发现数据质量问题,确定责任人,并予以纠正。数据质量问题发现的越早,纠正的成本就越低。
实际应用
上海财经大学于2002年制定了学校信息化统一规划,2003年参考了国家、行业等有关标准制定了学校的信息标准。到2008年,应用系统已经覆盖了学校的教学、科研、人事、财务、学工、后勤、招生、就业等主要业务。在开发过程中,梳理各系统的数据关系,确保同一数据只有一个源头,并实现了各业务系统之间的数据共享。此后的工作将逐步转移到利用现有数据搭建数据仓库,为领导层提供决策支持服务上来。数据质量的改进不是单个部门就可以完成的,它需要应用系统所有部门、用户和技术人员的协调、通力合作。笔者在实际的信息化工作中,针对所遇到的数据质量问题,与相关部门人员及技术人员一起,在管理和技术上做出了如下尝试,并取得了一定成效。
由业务部门牵头进行数据管理
数据建设与管理密不可分,首先需要建立一个由业务数据主管部门牵头,相关业务部门参与的数据质量小组,具体负责制定数据的录入维护规范。在规范中对数据的质量标准、数据的定义、维护的岗位人员、维护时间要求、检查机制等都进行了详细约定,并将数据责任人落实到各个业务部门。如果发现有数据质量问题,应及时向各业务部门进行通报,以保障数据质量改进的有效推行。通过发文的形式将规范进行了固化,可作为数据操作员的工作标准。
表1为人事系统数据维护职责表中固定编制教师报到环节数据规范的部分片段。
实现对数据质量的自动监控
为了保证数据的可用性,系统开发人员和业务人员一起,通过制定详细业务检查规则,编写相应的数据质量专用检查脚本。制定标准的数据质量规则确认及监控流程对于规则正确性的保证是起着至关重要的作用。根据高校各业务系统的具体实施情况,我们提出并实现了质量检核规则确认流程,如图1所示。
首先由业务人员提出业务规则,然后对规则根据对业务的严重性、时效性等进行分级。然后依据规则的复杂程度的不同选择进行不同的处理,简单的业务规则可以直接在业务系统中进行固化,复杂的业务规则由技术人员通过编写SQL,进行测试检查。最后由运维人员部署到调度服务上,并由自动监控系统根据扫描周期对扫描结果进行实时监控,同时在展示层使用报表工具对数据质量状况的当前状况、历史趋势。在发生重要数据质量事件后,自动对有关维护人员进行邮件、短信告知,提醒其出现问题环节。这可以促使业务人员和技术人员参与到所配置的业务规则工作中,提高开发的协同性和一致性,确保数据检查的正确性,进而保证数据质量检查结果的有效性。
图1 数据质量规则确认及监控
学校人事系统覆盖了校内外所有教师、外聘人员、短期劳务人员的各口径人力资源的管理,涉及到人事处、组织部、统战部、工会、档案馆、研究生院、离退休工作处等多个管理部门的日常业务,各类人员所需要的管理信息各有不同。目前人事系统的数据质量检查点维护的界面可维护业务规则、责任部门、自动扫描周期、检查脚本、排除异常等字段,并通过自动扫描及监控系统对有关责任人员进行告知。
通过上述一系列措施,学校各业务系统的数据质量问题得到了明显的改善。下面仍以人事系统为例进行说明。一方面和各相关部门的维护人员进行充分讨论,制定了数据录入维护规范,并作为学校发文进行固化,作为相关岗位录入数据的操作依据;同时针对各类人员的28个信息集,制定了96个数据质量检查点,根据信息的时效性、重要性及其他业务对信息的依赖性,制定不同的数据质量扫描周期。通过自动扫描,2009年找到不符合数据质量记录数为20000余个。通过数据质量的持续改进,目前不符合数据质量记录数稳定在50个以下,基本上都是业务过程中允许的临时性数据缺失。
(作者单位为上海财经大学信息化办公室)