文/梁倩
华南理工大学面向智慧校园的数据集成平台设计
文/梁倩
数据是智慧校园建设中的重要资产,校园中需要管理的数据非常多,包括人事数据、学生数据、教务数据、科研数据、资产资源数据、财务数据等等。由于历史原因,学校的IT支撑系统往往由各部门独立建设、独立部署,缺乏总体规划和建设标准,导致系统管理的数据分散,往往会形成数据孤岛,从而导致教职工和学生办事需在学校多个部门来回奔波,业务办理效率低,用户体验差,更无法为智慧校园建设提供数据支持。
智慧校园要求“以人为本”、“面向服务”,做好数据管理和服务是迈向智慧校园的必经之路。智慧校园面向的服务应该是能够体现互联网+时代特点的,依托于智能化终端和云平台技术的一站式服务。一站式服务必然要求将学校多个二级业务部门的业务数据进行共享,业务流程进行整合。我们应该利用好当前校园IT建设中已经积累下来的大量数据资源,使其成为智慧校园建设中的重要基础资源。
因此,我们需要有一种具有无关平台,无关应用,无关空间逻辑的一种数据集成和分配的系统,来管理现有的数据调用需求,实现数据共享。
数据总线(DataBus)是集成各个原始数据库并对外提供一种有规则的,可控的数据链接存储服务。IBM和Oracle都提供了较为成熟的基于SOA架构的数据总线解决方案,包括IBM的WebSphere Message Broker/MQ产品线、Oracle的Oracle Service Bus企业级服务总线、Oracle Data Integrator数据集成平台等产品。
数据集成平台可以看作是数据总线的扩展,具有自己的数据库和数据缓存机制,从各个数据源系统获取数据副本后,供数据消费方系统进行查询和使用。数据集成平台还能提供配置、监控的管理界面,提供数据安全保障等。
数据集成平台能为智慧校园服务和决策提供重要的数据支撑,智慧校园是数据集成平台建设的最根本的业务驱动力。
数据集成平台是独立于业务系统的平台,不含任何业务逻辑,它负责接收来自各业务系统的数据,并根据业务系统的合法的数据请求返回相应的数据。业务系统之间不进行数据交互,业务数据由数据生产者写入数据集成平台,数据消费者从数据集成平台读取相应的数据。目前数据平台建设的数据流向如图1所示。
图1 数据流向图
数据集成平台的数据共享遵循以下原则:
1.统一数据标准,数据分域管理
数据集成平台需要制订统一数据标准,凡是共享到该平台的数据均需要遵循数据标准;数据分成人事数据、学生数据、教务数据、科研数据、资产资源数据等。
2.共享数据只能由数据生产者修改
业务系统将数据共享到数据集成平台,记录数据源系统,非数据源系统只能读取数据,所有的数据变更操作必须由生产者即数据源系统进行操作。当数据使用方发现数据错误时,只能向数据源系统返回异常,由数据源系统进行数据修改。
3.数据集成平台不参与数据加密解密和数字签名
如果存在消息传输过程的机密性需求,由业务系统对业务数据进行加密和解密,加密方式由数据的生产者和使用者协商确定,数据生产者对数据加密后写入数据集成平台,数据使用者从数据集成平台获取密文后自行进行解密。
基础功能
包括系统管理、数据安全、配置管理、运行监控等功能模块。
1. 系统管理,指用户、角色、权限、菜单等基础的管理功能。
2. 容灾备份,包括数据备份和灾难恢复机制。
3. 配置管理,主要包括接入系统配置、数据源配置、数据块配置、数据对象配置、数据规则配置、数据拆分组合规则配置等。可根据数据处理平台的特殊性,实现针对数据交换处理的灵活的配置功能。
4. 运行监控,提供数据服务从接收请求到最后返回的全过程监控,包括请求鉴权、任务调度、数据处理等方面的详细情况和日志需要能够在界面上面查询,并提供必要的维护手段。
展示层
展示层主要用于提供配置管理界面和运行监控界面。
为提供良好用户体验的UI可以使用JSP为基础,用jQuery与AJAX技术实现异步局部刷新的交互能力。
数据服务接口层
数据服务接口层负责接收业务系统的服务调用请求及返回调用结果和相应数据。
数据服务以HTTP方式提供,HTTP请求的内容可以是XML或者JSON。
数据访问层对底层数据存储层进行访问封装,提供易于编码的API。数据访问层使用技术包括JDBC、Apache Thrift、Spring Data、RPC。
访问控制层
1. 任务调度
对数据请求生成任务管理,进行任务调度,通过优先等级控制、并行任务处理、定时处理等机制使数据服务请求的处理有序进行。
2. 请求鉴权
服务消费者在通过数据集成平台访问数据时,数据集成平台要先对请求服务进行访问鉴权控制,数据集成平台只会对通过访问鉴权的请求进行处理。
请求鉴权包括身份认证、系统级服务鉴权两部分内容。
通过服务消费者的IP地址或认证码的比对等进行认证来证实服务消费者的身份,对于不满足身份认证的请求予以拒绝。
系统级服务鉴权,是指对通过认证的服务消费者进行访问数据对象授权的过程,通过鉴权确定服务消费者可以对哪些数据对象做相应的操作。
系统级鉴权的前提是数据集成平台通过服务鉴权配置的功能配置并保存了服务商与数据集成平台定义的数据对象的访问关系,见表1。
表1
系统级鉴权根据访问数据对象的范围来鉴权,找到对应的ROWKEY记录则可判定系统级鉴权即通过。譬如,科研系统请求访问读取人事数据域数据,数据集成平台拿配置数据1进行鉴权,科研系统对人事数据域数据有读访问权限,因此鉴权通过;若人事系统请求修改资产资源域数据,在鉴权表中找不到对应的鉴权配置,则请求鉴权失败,该次访问请求被拒绝。
数据处理层
1. 数据校验
数据集成平台访问URI识别请求类型,当请求为数据对象建立或者数据新增、修改的时候为了保证数据的有效性,必须对请求所携带的数据内容进行校验。数据校验是通过校验规则配置在数据对象和数据块上,当服务请求的目标是配置了校验规则的数据对象或者数据块时,数据集成平台就需要按照配置的校验规则执行校验,在校验失败时停止数据操作并返回错误信息。
2. 数据适配
数据集成平台支持对数据内容的适配能力,数据适配包括:数据丰富、数据裁剪、数据映射、数据变换。
(1) 数据丰富:数据丰富是指数据集成平台通过配置的规则,将业务需要的附加信息添加到已有的报文或者数据块实例中。
(2) 数据裁剪:在实际数据处理过程中时常需要把一个大的报文或者数据块实例进行裁剪,去掉一些不必要的信息。以减少存储量和数据处理量。
(3) 数据映射:数据映射是指将数据编码按照映射规则从一个集合映射到另外一个集合中。比如性别字段从“m”映射到“男”,从“f”映射到“女”。
(4) 数据变换:数据变换是指通过配置的运算得出数据的值。运算可以包含四则运算、逻辑运算、脚本运算等。
3. 数据组包
数据集成平台可根据接口要求,将多个数据块或数据项按接口包文的格式要求进行组合。
数据访问层
数据访问层实现对数据的安全、高效、准确地访问。
数据访问层对底层数据存储层进行访问封装,提供易于编码的API。数据访问层技术包括JDBC、Apache Thrift、Spring Data、RPC。
数据存储层
数据存储层是数据平台的基础设施层。数据存储分为一级缓存、二级缓存和数据库,分别实现高速存储、快速存储和数据持久,平台中的数据根据访问时效要求和访问频率以及系统内存使用情况进行存储。一级缓存采用Redis,二级缓存采用HBase。
数据集成平台根据各种数据的特点充分利用各种数据库的特性以达到最优的存储效果和读取效果。实时性要求高的,可以进行离散的数据尽量放在Redis或在HBase中,对于关系型、非离散的数据,尽量放在HBase或者关系型数据库中。
数据集成平台对于需要快速开通且对数据依赖较大的业务流程能起到较好的效果,在智慧校园建设中已经开始了各项实践。通过建设面向智慧校园大数据业务的数据集成平台,基于云平台技术,着力于校园业务办理所需的数据共享管理,可打通相关IT系统的数据,提高业务办理效率,缩短服务时限,提升服务质量。
实际上,此平台由于与业务逻辑无关,因此它可快速扩展到其他企业级行业应用。另一方面,数据集成平台还可应用于统计分析,并向大数据应用的方向进行扩展。
(作者单位为华南理工大学信息网络工程研究中心)