前言:想要写出一篇引人入胜的文章?我们特意为您整理了高校管理信息系统整合中异构数据库的应用范文,希望能给你带来灵感和参考,敬请阅读。
0引言
随着“互联网+”国家战略的提出,如何基于互联网为大众提供方便快捷的服务已是当下研究的一个热门课题。高等学校作为公共服务的重要一环,办学规模不断扩大,为了便于管理,高校各部门都建立了各自的管理系统。对现有的应用系统而言,各系统相互孤立,数据不能共享,造成了很多不必要的浪费和重复建设[1]。如何将这些异构的信息系统整合,实现信息交互资源共享是当下校园信息化建设的一个难点。异构数据库技术的提出解决了这一难题。
1异构数据库定义
异构数据库是将各个已经存在的、自治的及异构的数据库系统集合在一起。异构数据库继承和发展了分布式数据库技术,分布式数据库由多个结构相同的子数据库组成,在物理上可以分布在各地,但实际上只有一个数据库系统为其服务,提供统一的查询与更新;而异构数据库则是以多个结构不同、运行独立的数据库系统为基础,通过统一的规则集成的一个分布式数据库系统[2]。简言之异构数据库系统,就是通过统一的表示、存储和管理集成存在的异构的且独立的数据库,使用户感觉获取到的数据都具有单一的模式且存储在单个数据库中。
2异构数据库集成方法
一般来说,异构数据库集成方法主要有:数据仓库(DataWarehouse)及中间件方式(Middleware)。上述两种集成方法根据数据是否在本地存储,又可分为实际存储方式和虚拟存储方式两种。“数据仓库是面向主题的、集成的、具有时间特征的、稳定的数据集合,用以支持经营管理中的决策制定过程”,这一概念是W.H.Inmon在其《建立数据仓库》一书中提出的,它是一个能够支持企业或组织进行决策分析处理的数据集合,具有面向主题、集成性、稳定性及时变性四个特征。数据仓库的关键技术包括数据的抽取、清洗、转换、加载和维护技术。它属于实际存储方式。数据仓库法是将数据通过ETL(Extract,Transformandload抽取,转换和加载)工具定期从各个分散的数据库中抽取出来,集中存储于一个存储数据的仓库,在数据进入数据仓库之前必须要统一数据格式,如字段的同名异义、异名同义、字段长度不一致等,另外需要进行数据的整合与计算以满足数据仓库的格式要求,经过必要的清洗加工后加载到数据仓库中,供用户查询。如上所述。前台数据查询服务和后台数据预处理服务是数据仓库法中主要的两种数据服务。前台数据查询服务的主要功能是将各种分析应用工具得到的可视化分析结果展现给最终用户,如数据查询结果、生成的各类报表等;后台数据预处理服务的主要职责是实现数据由数据源数据到数据仓库数据的格式转换,使数据仓库能够以多维数据模型进行主题数据存储。抽取、转换和加载是后台数据预处理服务的三种重要数据操作。抽取是从数据源抽取所需数据;转换是对抽取出的数据进行格式转换,使其与数据仓库中的数据格式一致;加载是将转换后的数据记录到数据仓库中。数据仓库法会生成一个全新的数据库系统作为数据仓库,仓库所有数据都从各数据源中抽取,形成一个全局模式。用户查询数据时,系统把查询所需数据预先提取存储到本地,用户直接访问本地数据[3]。中间件集成解决方案是虚拟存储方式,它也使用了全局数据模式。它不仅能够集成结构统一的数据源数据,还可以集成结构不同的数据源数据,如Web数据等。根据IDC对中间件的定义:中间件是一种独立的系统软件或服务程序,它位于客户机/服务器的操作系统之上,管理计算资源和网络通信,在底层操作系统包括底层通信协议和各分布式应用软件搭起了沟通的桥梁,从而实现分布式应用软件在不同技术平台间的资源共享。
3中间件方式实现异构数据库
通过以上两种集成方法的介绍,笔者认为中间件方式是实现异构数据库最简便,代价最小的办法。中间件是一种起连接作用的分布式软件,处于操作系统(包括底层通信协议)和应用软件之间。其作用是屏蔽底层分布式环境的复杂性和异构性,为不同环境下的应用软件建立相互通信的操作机制,使各应用软件可以有效地进行数据交互与协同,从而提高软件的易移植性、适应性和可靠性。对于异构数据库系统集成而言,各子系统数据库的结构及运行环境均不重要,中间件的程序接口定义了一个统一的数据交互接口,无论各子系统数据库及其运行环境如何更新,只要中间件对外接口定义不变,中间件程序做相应更新,上层应用软件几乎不用修改,这样就避免了“推倒重建”的巨大代价,降低了高校集成各异构数据库系统的成本。简言之,中间件就是一个分布式软件管理框架,通过API的形式提供一组软件服务,具有良好的可扩展性和强大的通信能力。整个系统可以分为五层,分别是:①子系统数据库,即校内各部门现有的数据库系统,它们可能位于不同操作系统平台下且结构各不相同,各系系统独立运行相对自治。②客户端层,将各子系统数据库中共享的数据变化情况通过触发器实时记录到相应的表格中,通过JAVA定时器定期将变化的数据从表格中提取出来,并利用XML解析工具将其转换为XML消息。JMS客户端发送程序再将被包装成适合JMS传递的XML消息(即文本消息TextMessage)发送给JMS主题或队列。因为JMS中未定义XML消息,所以它在传递前还需要做转换,通常做法是将其作为一个TextMessage或一个DOM对象来对待,以此方式来实现XML消息的传递。这里所提出的模型是将XML消息转换为TextMessage进行传递,因为此方式传递效果最佳。③中间件层,实现中央服务器端应用程序和客户端应用程序的消息传递,该服务由应用服务器中间件配置的JMS来实现。该层的功能就是维护建立的消息主题或队列,完成消息的发送和接收任务,屏蔽复杂的底层通信。它是整个模型的重要组成部分,确保了消息通信的异步性、持久性和可靠性,是各个应用系统交换数据的平台。④中央数据库客户端层,该层的主要功能就是监听JMS服务器的消息队列或主题是否有消息到来。中央数据库客户端程序一直保持监听状态,若有消息到来,则进行相应的处理;若无消息则继续监听。若接收到消息,则将其由文本格式转换为XML格式,然后依据数据模式映射文件转换成对应于中央数据库系统的XML消息,最后中央数据库再将转换后的XML消息通过解析工具记录在案。⑤中央数据库,需要共享的数据都存储于此,它为数据共享提供统一的数据平台,是进一步进行数据挖掘、信息共享的基础。整个模型的业务流程是:共享数据在发生变化时被触发器记录在相应的表格中;JAVA定时器定时提取表格中的变化数据,利用解析工具将其转换为XML消息;将转换后的XML消息封装打包成文本消息,发送到JMS服务器的主题或队列中;监听该主题或队列的服务器接收到文本消息后,则通过解析工具将其解析成XML消息;通过映射文件将得到的XML消息转换为对应于中央数据库系统数据的XML消息;最后再将XML消息通过解析工具还原成中央数据库的数据,以实现异构数据库的同步刷新和集成共享。
4结束语
随着“互联网+服务”行动的不断深入,政府及各公共服务部门的管理系统整合需求也越来越大,以最小的代价整合现有的异构系统实现信息共享、资源整合、减少投资浪费势在必行。本文所提出的以中间件方式实现异构管理系统整合是一个有益的尝试。
作者:刘好斌 韩宏旺 陈宇斌 单位:南昌航空大学软件学院 南昌航空大学学工处