
引言
随着校园的信息化建设的飞速发展,异构数据库集成技术起着越来越重要的作用。由于部门业务和功能归属不同,各应用系统开发时采用了不同的软硬件环境.数据的这种按部门或功能进行组织和管理,把很多信息都分开化啦!正好,异构数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。不同的数据库所存储的形式也各不相同,比如,教学管理数据库主要就是用于储存管理应用处理层所需的数据资料。不同教育机构建立的各自的应用控制系统中也建设了各自的数据库,但由于缺乏统一协调,各数据库系统在建立时都是从各自的需求出发,没有统一的数据库,这就使得各数据库之间无法互连!互通,信息资源无法融合共享论文对异构数据库集成展开研究,建立教学管理综合数据库系统,以适应不同平台!不同部门数据库之间的数据共享。要怎么才能实现网络环境下的信息共享?就要求必须联合各个异构数据库即集成多个数据库系统,实现不同数据库之间的数据信息资源合并和共享,显然,每个数据库系统在加入异构数据库集成系统之前本身就已存在,拥有自己的DBMS。异构数据库系统是指异构的多数据库系统,即组成它的成员数据库具有的硬件、系统软件(例如操作系统)或通信支持不同,或者成员数据库具有不同的DBMS或具有不同的数据语义DBMS的不同表现在表达(结构和)和语义两方面。网络上存在着大量异构的数据库,它们的异构性表现在多个方面,如数据的类型不同,数据的表示不同,管理数据的软件不同,以及系统运行的环境不同。随着企业合作和政务电子化的发展,许多信息系统需要访问这些异构数据库中的数据。因此,需要一种新的系统框架来解决多个异构数据库的信息集成,其前提是必须对用户透明,并保持本地数据库的自治性。
1 异构数据库集成技术
1.1 联邦数据库技术
联邦数据库系统(FederatedDatabases)"祸合较松一些"没有单一的全局策略,每个局部数据库维护一个本地输入输出策略,输出策略指明了本地系统提供的全局共享数据,输入策略指明了允许输入本地系统的来自远程节点的数据"局部输入输出策略构成了全局策略的一部分"这种系统只集成局部系统中的部分数据,因而使得局部系统有较好的自治性"联邦数据库是最简单的一种异构数据库集成方式:各个数据源是相互的.但通过数据源之间的数据交换格式进行一一映射.这种映射可以让数据源DB1使用数据源DB2理解的术语来访问DB2数据源 也就是说.不同的数据源之间使用数据转换接口网关或调用接口来实现数据互访.这样一个数据源就可以访问任何其他数据源的信息。同时,如果有l1个异构数据源需要互连,那么我们就要去构造n (n—l1个映射程序来支持这n个异构数据源之间的互相访问。
图1.1 利用联邦数据库系统建立的校园管理系统
1.2 数据仓库技术
传统的数据库技术与现在的数据库是有一定的区别的,传统的数据库是以单一的数据资源,即数据库为中心,进行事务处理、决策分析等各种不同数据处理工作,我们把它主要划分为两大类:第一类是操作型处理;第二类是分析型处理。 操作型处理还有另外一种叫法,它又叫事务处理,对数据库联机的日常操作其实就是事务处理,通常是对一个或一组纪录的查询和修改,主要为企业的特定应用服务的,对数据的安全性和完整性有一定的注意力。
数据仓库是决策支持系统机制和联机分析应用数据源的结构化数据环境。数据仓库的结构体系由三部分组成:综合信息集成服务平台,集成后的数据仓库,数据集成机制。数据仓库中,密集的数据更新处理性能和系统的可靠性是所有联机事务处理必须强调的,却并不强调数据查询的方便与快捷。联机分析和事务处理对系统的要求不同,即使是同一个数据库,它们在理论上都难以做到两全。数据仓库研究和解决从数据库中获取信息的问题。数据仓库异构数据源的谋略是由几个异构数据源的数据副本构成.按照一定的要求,进行预处理、转换,以符合数据仓库的模式,并存储到数据仓库中。让读者在使用时就感觉像在使用普通的数据库一般。只要把数据存储在数据仓库.使用者使用查询时就和以前在单一数据库中的查询大同小异,感觉仍然在原来单一的查询中使用。
图1.2.1 数据仓库系统结构
多种数据资源的集成(Excel 数据和文本文件) 除了访问传统的RDBMS外,还可以从其他地方获取数据,比如从用户所持有的Excel 数据和文本文件中。可以在同一个报表上,制成从数据仓库得到的销售实绩数据和Excel的预算数据等,这样可提高数据的利用率。
数据仓库是面对整个企业的数据应用,而构筑数据中心是针对各个部门的信息应用。数据中心的数据是按部门从数据仓库中抽取,并进行加工处理。数据中心构筑工具,就是提供从数据仓库自动进行数据的抽出、变换功能,具有ETL功能,可以大幅提高运行效率。
数据仓库最根本的特点是物理地存放数据,而且这些数据并不是最新的、专有的,而是来源于其它数据库的。建立数据仓库并不是要取代数据库,它是为了使信息更加完善和全面,主要应用于支持高层决策分析,而上面所提到的事务处理数据库在企业的信息环境中的任务是对日常的操作。数据仓库是数据库技术的一种新的应用,数据仓库还是用关系数据库管理系统来管理其中的数据。数据仓库的优点是可以很方便的进行联机分析和数据挖掘.它的缺点是数据存储太重复、不能及时使它得到更新。数据仓库中的数据分为四个级别:早期细节级、当前细节级、轻度综合级、高度综合级。把源数据综合后,首先进入的是早期前细节级,再进入当前细节,然后根据所需进后进一步的综合后,最后进入轻度综合级乃至高度综合级。
数据仓库的特点包括稳定性、时变性,面向主题和集成性、这四大方面。
1) 稳定性
大量的经集成、加工过的综合性历史数据被保存在数据仓库中,数据仓库的数据是供企业决策分析之用的,所涉及的数据操作主要是查询,一般情况下并不轻易进行修改操作,即数据仓库的用户进行分析处理时不进行数据更新操作
2) 时变性
数据仓库由于时间的改变而改变,,所有数据仓库中的数据都永远不变,而是随时间不断变化的数据仓库中的数据不可更新是针对应用来说的,由于数据仓库中包含大量的综合数据,而这些综合数据中很多与时间有关,故随着时间的变化,这些数据也要不断进行更新、综合。传统的关系数据库系统一般处理格式化的数据,它比较适合这一方面,并能够很好的达到商业商务处理的需求,它在商业领域取得了巨大的成功。
3) 面向主题
数据仓库面向主题的特点与传统数据库面向应用进行数据组织的特点相对应,数据仓库中的数据是面向主题进行组织的,而数据库是面向事务处理应用进行数据组织的。在较高层次上对分析对象的数据的一个完整、一致的描述,能完整、统一地刻画各个分析对象所涉及的各项数据及数据间的联系,就是面向主题的数据组织方式。主题是指一个分析领域,是在一个较高层次上对数据进行组织、归类的标准。从而使得面向主题的数据组织可以于数据的处理逻辑,方便了在多种环境上开发新的分析型应用。同时,这种性也是建设企业全局数据库所要求的,故面向主题不仅适用于分析型数据环境的数据组织形式,也适用于建设企业级数据库的数据组织方式。当然,根据其时间、访问频率等可把同一主题的数据存放在不同的设备上,以使数据仓库的整体性能得到优化。
4) 集成化特性
数据仓库的数据有来自于分散的操作型数据,在原有分散的数据库中由于数据仓库的每一主题所对应的源数据可能有重复或不一致的地方,加上从原有数据库中是不能直接得到综合数据的。因此数据在进入数据仓库之前必须要经过加工与集成,统一和综合形成集成化的数据。数据不论来源于什么地方,在进入数据仓库之前,要做的事就是必须经过加工与集成,统一与综合,这样才使其进人数据仓库之后都具有统一的数据属性和编码结构等,这就是数据仓库中的一致性。另一方面,数据仓库还有其他一些特点.比如说,数据仓库不会允许用户去更新数据。因为,即使用户更新了数据仓库中的数据也不能反应到原来的数据源中,从而会使数据源和数据仓库中数据不一致。在数据仓库中进行数据构建有以下三种方式:
(1)数据仓库及时更新异构数据源的数据变化。
(2)数据仓库隔相同的时间从原数据源中重新构建数据。也就是呈周期性的。
(3)数据仓库周期性的采用增量更新的模式更新原数据源中的数据。
1.3 中间件技术
1)中间件的概念
中间件通常是软件层,由一个API定义的,不兼容的操作系统或文件结构它负责处理,调节客户机/服务器或服务器与服务器之间的通信,位于基于客户/服务器的操作系统之上,管理计算机资源和网络通信。并且和下层的通信服务互相是没有联系的,而是一种的系统软件或服务程序。中间件是一类连接软件组件和应用的计算机软件,以便于运行在一台或多台机器上的多个软件通过网络进行交互,也是基于分布式处理的软件,网络通信功能是它的最突出的特点。由中间件技术提供的互操作性,推动了分布式体系架构的演进,该架构的作用是支持分布式应用程序并使其得到简化。并且,分布式应用软件借助这种软件在不同技术之间共享资源。需要注意的是中间件是一类软件,而非一种软件 。中间件不仅可以实现互联,还可以用于应用之间的互操作。
2)中间件的作用
通过管理计算资源和网络通信,为各类分布式应用软件共享资源提供支撑是中间件的核心作用,主要也是为各种应用程序抽象出通用的公共部分,以降低应用开发的复杂程度。中间件是位于基于客户/服务器的操作系统之上、应用系统之下,起到了承上启下作用,系统软件的复杂性,都需要靠中间件来操作、调和。中间件为处于自己上层的应用软件提供运行与开发的环境,使复杂的应用软件可以更能得到有效地开发。中间件具有如下特点:满足大量应用的需要,只要把中间件升级,并保持中间件对外的接口定义不变,几乎不需修改任何应用软件,这样也就减少企业在应用软件开发时的经费。
图1.3 中间件系统服务
(3)中间件的发展趋势
传统的中间件产品种类繁杂,虽然在支持相对封闭、静态、稳定、易控的企业网络环境中的企业计算和信息资源共享方面取得了巨大成功,但在新时期以开放、动态、多变的互联网(Internet)为代表的网络技术冲击下,还是显露出了它的固有局限性用户往往需要采用多种不同的中间件产品,而中间件平台的特点是各产品模块既能够做为单独的中间件产品使用,又能够提供完整的软件平台支撑功能,具备优异的灵活性、可扩展性和可管理性。
现在人们的需求越来越复杂化、多变化,单单用一种商品做成标准去推广已经行不通啦。首先就是优化企业流程,如果不优化流程,不改变企业传统模式和管理方法,不吸收一些有效并且吸引的管理模式,肯定是不会成功的。就对中间件来说,是一种基础软件,处于操作系统与应用软件的之间,现在很多方面已经得到了一 定的优化,如今中间件在市场中占相当重要的地位,经过迅猛发展,也有了至关重要的软件分类,已经成为网络应用系统开发、集成、部署、运行和管理必不可少的工具。由于中间件技术涉及网络应用的各个层面,涵盖从基础通讯、数据访问到应用集成等众多的环节,因此,中间件技术呈现出多样化的发展特点。与操作系统、数据库管理系统并列为基础软件体系的三大支柱。 那么中间件的价值到底体现在哪些方面呢?
首先,中间件技术正在呈现出业务化、服务化、一体化、虚拟化等诸多新的重要发展趋势。因为由一个厂商去统一众多产品之间的差异是不可能的,而单独由计算机用户在自己的应用软件中去弥补其中的大片空档,由于技术深度和技术广度的要求,必然也是勉为其难。于是,中间件应运而生。中间件试图通过屏蔽各种复杂的技术细节使技术问题简单化。
在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,这些都是计算机最底层的东西,越底层越复杂,开发者面临的问题也就越复杂,如操作系统的多样性,繁杂的网络程序设计、管理,复杂多变的网络环境,数据分散处理带来的不一致性问题、性能和效率、安全,等等。
有人提出能不能将应用软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千上万的应用软件重复使用。这一技术思想最终构成了中间件这类的软件。
其次,是中间件的普通商品化趋势。伴随技术的成熟和竞争格局的变化,中间件产品已经变得高贵不贵。特别是在高端商用中间件市场, 价格回归到了合理的水平.
然后,集成化的统一中间件平台的管理必须具备全局的、系统化的。在一个大型网络应用中,往往会同时存在多种中间件,此时,平台的管理具有典型的系统化特性,那些仅针对单个中间件实例或类型的管理,其效果可能不明显。而只有全局考察系统,统筹分析和规划,才能制定出合理有效的管理方案。同时,平台的管理还必须兼顾中间件产品之间存在的开放、异构、动态等特性。开放性意味着不同业务需求导致各种各样中间件产品运行在开放的互联网之上,需要提供有效手段使得这些中间件产品被有效地管理起来,形成一个有机整体。中间件的一体化管理也是通过将管理模型服务化,通过服务封装来统一管理的对象、行为和反馈,通过服务的编排来实现管理的对象可动态进行自适应。
中间件使底层操作系统的复杂性简化了,这就使开发者面对的是一个简单而统一的开发环境,也就更容易操作,不必将注意力集中在程序等方面,也不必再为程序由于改变了环境而不能使用,不必再花费大量的时间在这上面,而把心放在自己的业务上面。
4)中间件所涉及的范围极其广泛,可以把中间件分为如下几大类:
a、远程过程调用
远程过程调用是一种分布式应用程序处理方法,它被人们广泛使用。一个使用RPC来“远程”的应用程序,执行一个位于不同地址空间里的过程,并且与执行本地调用具有相同的效果。事实上,通常把一个RPC应用分为两个部分:第一部分是server,第二部分是client。提供一个或多个远程过程是由server来执行的;client向server发出远程调用。server和client可以在同一台计算机上工作,也可以在不同的计算机上工作,甚至在不同的操作系统之上运行。它们通过网络来传达信号。相应的stub和运行支持提供数据转换和通讯服务,从而屏蔽不同的操作系统和网络协议。在这里RPC通讯是同步的。采用线程可以进行异步调用。
b、面向消息的中间件
MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。消息传递和排队技术有以下三个主要特点:
通讯程序可在不同的时间运行:程序不在网络上直接相互通话,而是间接地将消息放入消息队列,因为程序间没有直接的联系。所以它们不必同时运行。消息放入适当的队列时,目标程序甚至根本不需要正在运行;当在运行目标程序时,也不一定必须马上处理该消息。
对应用程序的结构是没有约束条件的:在复杂度比较大的应用场合中,通讯程序之间不仅可以是一一对应的关系,还可以是一对多和多对一的方式,甚至可以把上述几种情况都组合起来应用。而且,多种通讯方式的构造并没有使使用者应用该应用程序时感觉到复杂。
程序与网络复杂性是没有多大联系的:程序既可以将消息放入消息队列也可以从消息队列中取出消息进行通讯。
c、对象请求代理
随着对象技术与分布式计算技术的发展,对象技术和分布式计算机技术已经相互结合形成了分布对象计算,如今成为了软件技术的关键。对象管理结构和对象管理代理已经成为这个模式的核心部分,提供一个通信框架,透明地在异构的分布计算环境中传递对象请求是它的主要的作用。 对象请求代理(ORB)是对象总线,它在CORBA规范中占着极其重要的作用,定义异构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间client/server关系的中间件。ORB使得对象可以透明地向其他对象发出请求或接受其他对象的响应,这些对象可以位于不同的地方,可以稍微远点,也可以稍微近点,就在本地。ORB拦截请求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果等。client对象并不知道同server对象通讯、激活或存储server对象的机制,也不必知道server对象位于何处、它是用何种语言实现的、使用什么操作系统或其他不属于对象接口的系统成分。
值得指出的是client和server角色只是协调对象之间的桥梁,根据相应的场合,ORB上的对象可以是client,也可以是server,甚至兼有两者。当对象发出一个请求时,它是处于client角色;当它在接收请求时,它就处于server角色。大部分的对象都是既扮演client角色又扮演server角色。另外由于ORB负责对象请求的传送和server的管理,client和server之间并不直接连接,因此,与RPC所支持的单纯的Client/Server结构相比,ORB可以支持更加复杂的结构。
d、事务处理监控
事务处理监控(Transaction processing monitors)最早出现在大型机上,为其提供支持大规模事务处理的可靠运行环境。随着分布计算技术的发展,分布应用系统对大规模的事务处理提出了需求,比如商业活动中大量的关键事务处理。事务处理监控界于client和server之间,进行事务管理与协调、负载平衡、失败恢复等,以提高系统的整体性能。它可以被看作是事务处理应用程序的“操作系统”与各个客户之间的数据通讯采用流套接字实现,多个连接由多个线程完成,这种并发的通讯机制使得访问效客户端到数据连接管理器之间利用的是逻辑连接,而数据库到数据连接器之间利用的是物理连接。中间件率大大提高。中间件与数据库之间采用JDBC连接,多用户共享一个数据连接。同样起到了提高数据库访问效率的效果。数据库中间件对数据库的访问和操作采用SQL语言。
数据库中间件的核心是数据连接管理器,它是一个服务程序,连接了客户端和后台数据库。客户端向其发出对数据库的访问请求,由数据连接管理器寻找与该数据库的可用连接,通过数据连接将访问请求传递给目标数据库。目标数据库执行相应的SQL语句,将结果通过数据连接传回数据连接管理器,再传回给客户端。
2高校学生异构数据库集成系统设计
2.1系统分析
随着计算机的普遍应用和发展,国内高校都纷纷积极构建并逐步实施自己的“校园一卡通”工程,这也是目前高校多校区发展的需求。校园一卡通工程是在学校一个相对的组织范围内,利用异构数据库集成系统设计的“校园一卡通”将组织内的多元化管理功能整合起来的信息管理系统。在“数字化校园”中,校园一卡通系统因涉及比较广泛,而成为校园信息化建设的基础和重点。如何实现异构数据库集成中的关联查询与共享问题,实现校内资源整合,提高信息利用率具有十分重要的意义。
高校学生系统包括很多的体系,各个体系都是相互关联的,采用异构数据库集成系统能将每个体系都能集中在一起,以“校园一卡通”来实现都高校的管理。下图为“校园一卡通”集合的体系。
图2.1 “校园一卡通”集合的体系。
2.2系统结构
利用中间件集成异构数据库来实现异构数据库集成中的关联查询与共享问题,实现校内资源整合。中间件位于异构数据库系统数据层和应用程序应用层之间,向下协调各数据库系统,向上为访问集成数据的应用提供统一数据模式,该方法不需要改变原始数据的存储和管理方式。
为了较好地解决校园应用系统间系统资源集成分布和异构等问题,使得数据信息的交互变得更为透明,在数据库集成方面还会用到XML,XML是Extensible Markup Language的简写,是由W3C所发展的。可以上网页设计人员自行定义TAG的延伸格式,可以用在自由性的数据库或是各种文件格式上,用来接收与应用各种网页的须求。 XML具有良好的可靠性与互操作,并且它是基于WEB 工作设计的,更适于网络化环境。利用XML可以将一卡通异构数据库很好的集成在一下,便于用户在网络上进行查询。
XML具有以下优越性:
(1) XML是一种半结构化的数据模型,它的自我描述性质能够很好地表现许多复杂的数据关系,结构简单明了。
(2)XML的数据与格式无关,它的数据存储格式不会受显示格式的制约。XML能把文档的数据、结构以及显示方式三个要素开来,分别处理。首先把显示格式从数据内容中出来,保存在样式单文件(StyleSheet)中,这样如果需要改变文档的显示方式,只要修改样式单文件就行了。
(3)便于数据查询。XML的文档描述的语义非常清楚,而且很容易就可以将它和关系数据库中的属性一一对应起来,所以不论上一数据库查询还是基于Web上的内容查询都能够支持实施十分精确的查询。
如图2.2是基于基于XML中间件高校一卡通异构数据库集成图。
图2.2 基于XML中间件高校一卡通异构数据库集成图
2.3 系统集成的中间件分析设计
下面就来讨论一下中间件在整个集成系统中要完成的功能模块,由图2.3可以看出,异构数据库集成中间件需要完成以下几个功能模块
图4.2教学管理数据库集成MDBS构架
1.提交客户请求模块。用户在操作界面里输入的数据请求提交给全局数据控制层,全局数据库负责要把用户的数据请求转换为规范的请求数据。
2.数据转换模块。由于异构数据库系统本身的异构性决定了用户所提出的数据请求与综合数据库中的格式不同,为了使用户透明的访问数据库,就需要在中间件中设计数据转换组件对象以完成数据之间的格式转换。
3.数据库连接模块。连接用户所要使用的局部数据库。
4.数据操作模块。按数据转换后的用户需求在局部数据库中查找,找到相应的数据记录。
5.数据输出模块。把从局部数据库中找到的数据记录经过数据转换模块后的输出再经过全局数据控制层后输出到用户操作界面。
XML能够为异构数据库提供一种全局数据模式来统一异构的源数据模式.XML数据库中间件主要由包装器和中介组成。包装器负责与一卡通所有异构数据库的交互,包括数据源,实现操作的一致性、数据访问的透明性和位置透明性;并将其包装成统一的XML模式进行存储。中介器由集成调度单元、服务单元和查询处理器组成。它能生成对应的异步中间件全局模式和查询条件,查询处理通过包装器提取的异构数据源,嵌入到全局模式中,将数据返回给客户端。
2.4 高校学生异构数据集成关键问题的解决
数据源的异构性是困扰数据集成系统的核心问题。异构数据集成所表现的形式为:在数据源的性不受影响下,将不同数据库合成新的数据中心,各数据源与数据中心能够建立相互通信从而实现数据的透明访问。在数据源和数据中心之间建立中间件,消除异构数据间语法、语义上的异构,实现关系数据库与XML文档之间的转换。异构性的难点主要表现在语法异构和语义异构上。语法异构一般指源数据和目的数据之间命名规则及数据类型存在不同。而高校学生异构数据库比较复杂,包括教学、生活以及办公等各个方面的数据库,所以建立这样的语法也有一定的难度。对数据库而言,命名规则指表名和字段名。语法异构相对简单,只要实现字段到字段、记录到记录的映射,解决其中的名字冲突和数据类型冲突。这种映射都很直接,比较容易实现。因此,语法异构无需关心数据的内容和含义,只要知道数据结构信息,完成源数据结构到目的数据结构之间的映射就可以了。
2.4.1 数据库的异构消解
在异构数据库系统集成中可以采用建立全局统一的公共数据模式来实现异构模式的消解。要设计公共数据模型的首要要求就是通用性,要能够表示各种数据库中不同格式的数据,另外还要有灵活性,以适应各个局部数据库的各种不同情况。为此,我们可以定义模型里的数据如下:
enumtype{t_int,t_float,t_string,t_date,……};//定义全局数据类型
struct fied{ //定义模型里的数据
String type data_type;//字段类型 any value;//字段值 };//这里的type定义的类型与中间件的语言定义的数据类型对应。 消解原则:局部数据库返回全局的结果数据,用户发向全局的修改或是插入数据,全局发给局部的修改或是插入数据都必须经过公共数据模型转换成公共格式表示。 消解过程:任何局部数据库数据类型都转换成上述定义中的type中的一种类型,这些类型是集成系统自己定义的,其中any类型起到统一传输任何类型的作用,转换成公共数据类型的数据均又以any类型传输,这样就可以实现本系统异构的消解。但此种方法可能会由于公共模型定义的局限性而出现异构消解的失败。 2.4.2 异构数据库的查询处理 查询处理是异构信息集成系统的关键技术之一,查询分解、查询调度和查询优化是查询处理的核心内容。通过定义集成系统中查询处理的基本概念,分析 XML 查询的基本特点和要求,选定 XQuery 作为面向 XIDM 模型的查询语言,给出了查询处理的基本体系结构。 查询后处理是根据查询计划进行调度并通过后处理操作完成中间结果组装的过程,后处理操作主要由全局查询涉及的所有场地间运算来完成。通过对关系代数中的关系操作进行扩展,定义了面向 XIDM 模型的基于路径的元素簇操作,即 XRA 代数,用于表达查询后处理中子查询结果的合并处理。给出了查询后处理的转换规则,提出了一种连接树结构来表达集成系统的查询后处理操作,并对其进行规范化处理。通过引入连接图的概念,将连接规范树转换为等价的连接图,供查询后处理调度使用,在此基础上,给出了基于连接图的查询后处理多级并发调度算法,以尽可能提高查询后处理执行的并发性。 查询优化是异构信息集成系统中非常重要而又十分复杂的问题。针对查询后处理中的场地间运算代价,分析了影响后处理优化的代价参数,给出了局部数据源代价和通信代价的估计方法。连接运算往往是查询处理中开销最大的运算,以场地间连接和外连接运算组成的连接图为基础,给出了一种基于最小生成树的静态优化算法MST-SO 和一种基于统计推理的动态优化方法 SR-DO,以及结合这两种方法的混合优化策略,并通过实验仿真的方法对它们的优化性能进行了实验分析和性能比较,实验证明混合优化的性能更优。 (1)异构信息集成中的查询分解处理 异构信息集成系统的目标是从网络环境中多个分布异构数据源中查询所需要的数据,并把这些查询结果进行整合,将最终整合的结果提交给用户。在异构信息集成系统中,查询处理要解决全局查询语言与局部查询语言的差异、全局查询分解、查询任务的分派及调度等问题。本文提出一种SQL查询请求的RAC表示方法,并基于该表示方法提出一种查询分解算法,以完成全局查询到局部查询的转换。 (2)异构信息集成中的查询并发调度 在异构信息集成系统的查询处理过程中,一个很重要的步骤是对查询分解得到的子查询进行调度。由于局部数据源的自治、局部权能的动态变化、查询语言的异构、查询处理能力的差异、全局中局部信息的缺乏等,都使得查询后处理并发调度变得非常困难。本文基于ZPL协议提出一种对SQL基本操作加锁算法对异构信息集成进行查询,在一定程度上提高了事务的并发度。 图2.4.2 异构数据库的查询系统 2.4.3 异构数据库并发控制 并发控制就是要用正确的方式调度并发操作,避免造成数据的不一致性,使一个用户事务的执行不受其他事务的干扰,其主要目标是保证数据库中数据的一致性。在异构数据库集成系统中,异构数据库事务也可能在同一站点上并发运行和存取共享数据,且彼此潜在地存在相互干扰,如果不对并发执行的程序进行必要的控制,那么即使没有故障和程序的错误也会破坏数据库的一致性和完整性。因此,衡量一个数据库系统功能强弱和性能好坏的重要标志之一是一个数据库系统有无并发控制机制,以及并发控制机构的优劣。并发控制的功能就是控制这些异构数据库事务冲突操作的交错执行,以保证各异构数据库的完整性,与传统数据库系统并发不同的是,异构数据库系统中需要处理全局事务并发和局部事务并发。本节结合SQL的事务模型,并根据ZPL分层封锁机制的并发控制方法提出了一个基于操作的封锁并发控制机制。用户使用全局查询语言提交一个全局查询,集成系统接收查询并进行语法检查。这里的语法检查除了需要检查查询语言的正确性外,还要根据全局模式中的信息对其进行语义上的检查。检验正确后,查询管理器根据全局模式信息将该查询分解成若干个子查询,每个子查询对应于一个局部数据源。查询管理器确定出一个执行计划,说明需要访问哪些局部数据源、如何组装中间结果、在哪里执行全局处理等。启动并执行查询计划。查询计划经过优化后,将这些子查询发送给各个局部数据源包装器;包装器将其转换成针对局部数据源的查询语言,然后将转换后的子查询发送到对应的局部数据源执行引擎上去执行。各局部数据源执行得到的子查询结果经过包装器转换成公共数据模型表达的形式,查询后处理操作合并由各包装器返回的中间结果,并组成最终的全局查询结果返回给集成系统的全局用户。 数据库系统的异构性和局部自治性使得并发控制更加复杂化"这是由于几个方面决定的: (1)局部数据库的增多增加了产生冲突请求的可能性" (2)分布式网络的时延也能造成访问冲突" 我们可以根据两端提交协议设计一个预防死锁的方法:由全局库截获所有的客户请求,根据请求的不同采取不同的控制策略"比如,可以规定所有的写请求都要串行执行(因为读数据库的操作不会造成数据读取的不一致,而写操作就可以)"或者我们可以考虑利用客户进行协制"这里可以利用操作系统中的信号量机制定义一个IDL接口,里面可以封装几个控制方法(比如可以设置读锁!读解锁!写锁!写解锁四个方法)由客户作为中间件的对象调用"这种方式可以防止死锁,但是由于串行化的执行写数据库操作会浪费系统性能,如果异构数据库在运行时,各子单位大部分的操作是读取数据的话可以采用上面的方法来防止访问冲突" 2.4.4 异构数据库集成系统的安全问题 异构数据库访问有待研究的一些问题如下: l)目前无论从理论还是从工程上对于数据库的访问都己经发展到了相对成熟的地步。然而一般都是具有领域背景,其通用性和效率碑胜仍然是有待研究的课题。 2)现有数据的存在形式也是多样化的,包括存储方式、操作平台、存储结构等等异构性。如何通过有效的方式访问多个不同操作系统、不同终端数据库的数据,仍然需要大量的研究。如何将数据库访问和传统的数据挖掘技术结合起来,包括数据仓库和E.I.L相关知识的联合运用,最终将数据形成有效的组织形式,并且很好地展示给用户也是数据集成发展的方向。 3 学生信息管理集成的实现 3.1 元数据 数据仓库中还有一种重要的数据,它就叫元数据。那什么是元数据呢? 元数据(Meta Date),关于数据的数据或者叫做用来描述数据的数据或者叫做信息的信息。这些定义可能听起来都很是抽象,我们可以认为元数据是最小的数据单位,或者可以理解为描述集成系统成员数据源内数据的结构和建立方法的数据,这样理解起来也更简单易懂。元数据可以为数据说明其元素或属性(名称、大小、数据类型、等),或其结构(长度、字段、数据列),或其相关数据(位于何处、如何联系、拥有者)。在进行数据集成时,无论是数据仓库还是联邦数据库,都存在如何理解被集成数据的结构的问题,只有数据类型和数据代表的意义都相同时才能进行相关操作。然而来自不同数据源的数据,是根据不同的研究任务生成并由对应的数据库存储的,在数据格式、数据内容上存在较大的差别,而且各数据源对数据质量的管理水平参差不齐,无法保证数据的一致性,也就是被集成数据的元数据无法达成一致,在集成时就可能会出现数据格式无法转换或者强行转换后部分信息丢失的问题,使得集成后对数据的查询与分析无法得到正确的结果,从而失去了集成的意义。因此,解决各数据源结构的异构性,统一对各数据源的元数据理解是数据集成的最主要问题。元数据为访问集成系统的成员数据源提供了一个信息目录,全面地描述了各数据源中数据的类型、名称、值等信息,以及数据的上下文描述信息比如数据的所属区域、取值范围、数据间的关系、业务规则等,同时还提供了数据的获取方式以及如何访问这些数据源的信息。元数据技术能够保证整个系统内的数据一致性,比如说教务管理系统的数据,在校学生的住宿情况以及每个专业的上交学费的情况,可以把学生的这些管理系统集成化,更能方便用户进行统一管理。在数据集成应用领域,元数据是系统架构中的一个关键要素。 在数据仓库的环境下,主要有两种元数据:第一种元数据是为了从操作性环境向数据仓库转化而建立的,涉及比较广泛,包含了所有源数据项名、属性及其在数据仓库中的转化;第二种元数据在数据仓库中是为了用来建立映射的,这种元数据称之为DSS元数据,更先进的决策支持工具通常就是用这种元数据来开发的,而第一种元数据不能实现此功能。 我们可以从元数据应用目的来理解其意义。虽然做数据仓库言必称元数据,必称技术、业务元数据,元数据到底可以用在哪些方面呢?没有目的的去谈元数据,就发现元数据包含的内容十分丰富,因为它是描述数据的数据嘛。 1. 元数据作为集成系统的“信息目录”,可以帮助系统理解数据,元数据描述了数据系统中关于数据的数据,例如,数据的类型,数据代表的商业含义等等,系统要获取数据源中的数据,必须清楚的理解数据源中数据的类型、名称、值等信息并正确的把握数据的概念、存储形式和表示方法、来源等内容,才能对数据源中的数据实现集成。正是因为有了元数据,建立了数据与业务之间的映射,才可以把数据按照系统需要的方式展示出来,帮助系统理解和使用数据。如果对要集成的数据源的模式信息都用统一的元数据标准进行了描述,将轻松实现数据集成和信息的交换。相反,如果元数据的建设被忽略,则要实现数据集成工作则相对的困难。 2. 在使用的过程中元数据可以保证数据的质量系统,由于底层的操作对用户来说是保密的,当出现一些不在用户预期之内的数据时,系统就会对数据的可靠性与正确性产生疑问。元数据记录了数据库中数据的来源和目标,记录了抽取和转换的规则,这样数据产生的全过程就可以被用户轻易的掌握并理解,也使用户的疑虑消除了。这对于用户发现数据中存在的质量问题也是非常有帮助的,使数据的可信度大大提高了。 3. 元数据使集成系统的适用度和可扩展性都得到了提高,随着集成系统应用的不断深入和扩展,系统的需求也是在不断变化的,构造一个适应性强、能够平滑过渡到新应用的数据集成系统是一个重要内容。元数据包含了集成系统整个生命周期中的大量重要信息,用户需求的变化都被反映在这些信息中,使得系统不用依赖特定的开发人员就能够迅速改变现有应用或实现新的功能。因此,元数据对于数据系统的以后的开发具有关键性的作用,极大地节省了系统更新的成本,提高了效益。 3.2 查询处理器 对于来自各LDBMS的局部查询结果要进行汇总,并按一定格式进行存储和显示来查询调度与查询优化。由于异构信息集成系统具有分布性、异构性和自治性的特点,其查询优化也变得非常复杂。前面所讨论的集合代数优化技术在集成系统中可能需要进行相应的扩充,不同的局部数据源可能使用不同的查询处理算法和性能评价方法,全局优化中需要的局部数据源的重要信息有可能无法得到,不同的局部系统优化能力可能不同。此外,如何协调全局管理器与局部数据源包装器之间的通信,设计合适的查询后处理调度算法,也是异构信息集成系统必须解决的重要问题。对于来自各LDBMS的局部查询结果要进行汇总,并按一定的格式进行存储和显示。 图3.2异构数据库查询处理的总体结构 3.3 包装器 包装器能够屏蔽底层异构数据源,将异构数据映射为统一的数据模型,以及快捷有效地为上层应用提供对异构数据的访问。包装器由数据源配置模块和查询模块构成,分别用来配置和查询底层多数据源。如图为关系型数据源包装器体系结构。 图3.3.1关系型数据源包装器体系结构 多数据源包装器采用中介系统的体系结构,接受扩展后的XQuery查询脚本和数据源描述作为功能配置。在开发数据服务时可以通过这个包装器获得多数据源的元数据,供开发平台进行查询编辑,并且数据服务管理模块可以通过此包装器连接底层数据源进行数据查询。其总体架构如图3.3.2所示: 图3.3.2多数据源包装器的总体设计 数据源包装器包括两个模块:数据源配置模块,查询模块。其功能,前者能将数据库或文件的元数据提供给开发平台,供开发平台进行查询编辑,同时生成.ds数据源配置文件,将连接信息等存储到.ds文件中。查询模块读取并解析.ds配置文件和.xquery数据服务查询脚本,然后与数据库或文件系统建立连接,必要时进行查询语句的转化,最后进行查询并将查询结果返回给数据服务管理模块。其中查询模块提供一个接口供数据服务管理模块调用。 3.4 结果处理器 4 总结 高等院校学生管理部门作为高等教育工作中的一个十分重要的部分,为了应对高等教育事业飞速发展,为了更好地行使学生教育和学生管理的职能,更好地利用现有的信息资源为这项工作服务,必须建立完善的计算机管理系统,而且必须进入网络,各项应用必须为基于Web的服务。本文就异构数据库集成技术在高校学生信息管理系统中的应用讲述了数据仓库技术、联邦数据库技术以及中间件技术在学生管理系统的应用。异构数据库集成技术对高等教育以及社会其他方面都具有重要的意义,异构数据库集成技术是一门值得研究的课题。 参考文献 [1] 袁国骏.浅析异构数据库集成系统,实验室科学,2009. [2] 王效岳,王志玲.国内外异构数据库统一检索系统的比较研究,情报检索,2005. [3] 张金,付国良,李霞.国产数据库应用开发平台的研究与实现.计算机应用与研究,2004. [4] 毛小燕,孔玲爽.异构数据库的集成的研究 数据库与信息管理,2008. [5]黎小红,田富鹏.异构数据库中数据集成技术研究[J].西北民族大学学报(自然科学版)2006. [6] 曾玲娟主编.职业教育心理学.北京师范大学出版社,2010. [7]王国华,刘合群.职业教育心理学,广东高等教育出版社,2004. [8]刘春生,徐长发.职业教育学[J].北京:教育科学出版社,2002. [9] 何旭洪.Visual Basic数据库开发实例导航[M].人民邮电出版社.北京,2002. [10] 刘世峰 .数据库基础与应用 [M].广播电视大学出版社.北京,2003. [11] 刘瑞新 ,汪远征 .Visual Basic程序设计教程[M].机械工业出版社.北京,2001. [12] 赵松涛 .SQL Server 2000应用及实例集锦[M].人民邮电出版社.北京,2002. [13] 段兴.Visual Basic 6.0数据库实用程序设计100例[M].人民邮电出版社.北京,2002. [14] 李晓黎 ,张巍 .VisualBasic+SQL Server数据库应用系统开发与实例[M].人民邮电出版社.北京,2003. [15] 林丽姝.XML和组件技术在异构系统集成中的应用研究[J].科技创新导报,2011,2:16.
