物联网环境下的异构数据整合方法研究毕业设计(论文).doc

上传人:仙人指路1688 文档编号:3988157 上传时间:2023-03-30 格式:DOC 页数:35 大小:446.50KB
返回 下载 相关 举报
物联网环境下的异构数据整合方法研究毕业设计(论文).doc_第1页
第1页 / 共35页
物联网环境下的异构数据整合方法研究毕业设计(论文).doc_第2页
第2页 / 共35页
物联网环境下的异构数据整合方法研究毕业设计(论文).doc_第3页
第3页 / 共35页
物联网环境下的异构数据整合方法研究毕业设计(论文).doc_第4页
第4页 / 共35页
物联网环境下的异构数据整合方法研究毕业设计(论文).doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《物联网环境下的异构数据整合方法研究毕业设计(论文).doc》由会员分享,可在线阅读,更多相关《物联网环境下的异构数据整合方法研究毕业设计(论文).doc(35页珍藏版)》请在三一办公上搜索。

1、 目 录 摘 要iAbstractii第一章 绪论11.1 课题的背景11.2本文的主要工作21.3课题研究的意义2第二章 数据集成技术研究3 2.1异构数据集成简介3 2.2现有数据集的方法5 2.2.1 联邦数据库技术5 2.2.2数据仓库技术6 2.2.3中间件技术7 2.3基于XML数据集成的相关技术9 2.3.1XML的简介9 2.3.2采用XML集成的优点9 2.3.3XML的验证机制10 2.3.4XML的查询语言11 2.3.5现有的XML应用程序接口技术11 2.3.6 Web Services12第三章 基于XML集成系统设计133.1系统设计的目标133.2系统架构设计1

2、3 3.2.1 应用层14 3.2.2中间层14 3.2.3数据层163.3系统工作过程16第四章 关键步骤及分析184.1关系数据库转换为XML文档18 4.2查询转换194.3 XML文档的整合194.4结果转换21第五章 数据集成的实现235.1实例的背景235.2运行环境23 5.3实验过程24第六章 总结与展望276.1总结276.2展望28 参考文献29 谢 辞30 附 录31物联网环境下的异构数据整合方法研究摘要:随着物联网的迅速发展,在物联网中共享的资源是越来越多,但是物联网中的节点使用的数据管理平台、数据库有很大的区别,所以物联网中数据具有不确定性、异构性、多源性等特点,对信

3、息的共享和数据的传递有很大的阻碍。数据集成技术是消除数据件的异构性,将分布式数据源集成到一起,给异构数据提供统一表示,使用户能够无差别地访问这些数据。本论文先研究了物联网中异构数据的特征和现有的集成技术,经过对集成技术的学习和研究及比较,在这里提出一种基于XML的异构数据集成方案,这种方案的主要思路是:利用JDOM技术将异构数据全部转换为XML文档,再通过JDOM的解析功能把多个XML文档合并成一个XML对象文档,接着,通过XMLD的查询语句Xquery从XML对象文档中查询所需的数据,最后,利用XSL技术将查询结果显示在浏览器中。论文的最后部分,实现一个面向小区用户异构数据查询系统,验证了系

4、统的可行性,实现了用户的透明性访问。关键词: 异构数据;数据集成;物联网 ;XqueryThe Internet of things under the environment of heterogeneous data integration method Abstract : With the rapid development of the Internet of Thing, resources shared on the Internet are increasing, but things used by nodes in data management platforms, da

5、tabases, there is a big difference between, so uncertainty, heterogeneous nature of the data in the Internet, the characteristics of multi-source, information-sharing and data transmission has a lot of obstacles. The heterogeneity of data integration technology of eliminating the data, integrate dis

6、tributed data sources together, to provide the isomerous data harmonization, enables users to access the data without discrimination. This papers first research has property networking in the heterogeneous data of features and existing of integrated technology, after on integrated technology of lear

7、ning and research and the comparison, in here made a based on XML of heterogeneous data integrated programme, this programme of main ideas is: uses JDOM technology will heterogeneous data all conversion for XML document, again through JDOM of resolved features put multiple XML document merged into a

8、 XML object document, then, By XMLD queries Xquery query takes data from the XML document, and finally, using XSL technology to display the query results in the browser. The last part of the thesis that the realization of a heterogeneous data query system for community users, verify the feasibility

9、of the system, enables users transparent access. Key words:Data Integration ;heterogeneous data ;Internet of thing; Xquery 第一章 绪论1.1 课题的背景物联网的英文名Interne of Things,是互联网的扩展网络,是将传感器与计算机网络连接起来的集合,实现物与物之间的信息交流和通讯。物联网通过网络共享对象,可以实现数据共享和信息传递的功能。但是,由于传感器类型的千差万别、得到数据的存储结构的不同、各个网络节点的平台不同等原因。一个网络节点的数据往往难以难以传递给另

10、外的数据节点,即使能够传递,也可能因为数据格式、数据关系模式的不同等原因,而使得另外的网络节点无法读取和应用这些数据。因此,为了使网络中的数据能够在各个节点之间实现自由传递、信息共享,建立一个数据集成系统,来屏蔽各个网络节点异质性地数据,方便数据间的共享和传递,是不容等待的。在这种情况下,异构数据集成系统应用而生,通过分析联网的特性,在几种集成方法中,我选择了适应物联网求的:基于XML的异构数据集成方法。数据集成是将来源、格式、结构、关系模式、表示方式等不同的数据,通过集成技术,在逻辑或物理上对这些数据进行有机地整合,为用户和企业对物联网中的异构数据的查询和应用提供便利。在目前,数据集成技术的

11、方法有很多,大致分来有三类:联邦数据库技术、数据仓库技术与中间件技术。不同的技术有不同的着重点, 应用范围也不同,适应的情况也不同,所以,根据实际情况选择相对应的数据集成技术,来满足我们的需求。在这里我们实现是在物联网环境下,主要需要的功能是查询和数据的共享,我们利用XML的相关技术(XQuery、XML schema、JDOM等),来消除异构数据的异构性,使得物联网中的数据和信息能够传递和共享,以XML文档作为中间介质,将关系数据库中的数据转换为XML文档存储,用户在集成系提供的查询平台查询异构数据源的信息,这样用户就能够无差别地访问异构数据。1.2本文的主要工作本文的主要工作是:首先,了解

12、物联网下异构数据的来源以及这些数据的特点,分析物联网中数据的多源性、异构性等特点给给数据间信息共享带来的困难,从而说明在物联网应用中,用户对数据集成有很大的需要和应用,了解并研究现有的数据集成技术,分析这些技术的优点和缺点,确定这些技术的适用范围,适用哪些用户以及这些技术能的满足哪些需求。再有,了解和学习XML技术,学习基于XML技术的数据集成系统是,应用上了那些相关的技术,对本文实现中涉及的技术进行深入的研究和学习,主要研究和学习XML技术、集成系统的映射机制、jdk1.4、Tomcat 5.0、myeclipse软件的使用等。接着,完成基于XML技术的数据集成系统的建设,画出系统结构图,对

13、系统的功能进行分析,对其中的关键步骤做出讲解和说明。最后,根据异构数据集成系统的结构和构架,用实例来验证据集成系统的对异构数据的集成。1.3课题研究的意义物联网中的数据由于所属的操作系统不同,数据格式不同等原因,造成数据之间信息的传输、数据的共享、用户对数据的查询有很大的不便。数据集成是将来源、格式、结构、关系模式、表示方式等不同的数据,通过集成技术,在逻辑或物理上对这些数据进行有机地整合,为用户和企业对物联网中的异构数据的查询和应用提供便利,使得各个异构数据源的数据对用户和企业是透明的,用户和企业能在异构数据集成系统的查询窗口获得用户或者企业获得所需的数据和信息,而不用管中间件的实现和底层数

14、据的转换,十分的方便使用。本论文提出了一个基于XML的异构数据集成系统,利用XML文档的描述能力强的特点,将它作为异构数据的中间介质,利用和XML相关技术XQuery、XML Schema技术、Jdom技术来实现异构数据格式、表达方式和结构之间的转换,最终使得异构数据以统一的形式存储,方便用户的查询。第二章 数据集成技术研究本章节主要介绍现有的数据集成方法,以及XML的相关技术,通过对这些方法技术的分析和研究,分析这些集成方法的优缺点和确定合适的使用范围,为后面数据集成系统的构建提供理论上的支持。2.1异构数据集成简介异构数据是指那些数据资源在计算机体系结构、操作系统、数据管理平台、数据格式等

15、方面不同的数据,数据异构导致数据在读写方面存在很大的差异性。目前,根据数据格式、类型、关系模式等方面的区别,我们可以将异构数据分为三类:结构化数据、半结构化数据和非结构化数据。结构化数据指的是具有固定结构、表现形式十分规范的一类数据。这些数据通常是存储在数据库中的,数据库对数据结构和格式有严格的约束,处于同一数据库的数据读写操作具有一致性,使用起来非常方便。但是,不同的数据库之间的数据结构和关系模式是存在差异的,比如SQL Server和Oracle 中的数据格式和关系模式就不是一样的,这两种数据库中的数据的异构就是结构化数据的异构。我们说得非结构化数据是相对结构化数据而言,这些数据不能在数据

16、库中表示,也没有对自身进行描述的附带信息。这类数据在格式上是没有明确的规范的,内容上比较多样化。这类数据常见的有:文本文档、电子表格、图片等。半结构化数据指的是介于结构化数据和非结构化数据两者之间的数据,它不像结构化数据有严整的结构,也不像非结构数据那样,它是附带有自我描述信息的。它在结构方面具有很大的灵活性,可以扩展,而且还可以进行自我描述。这类数据常见的是互联网中的Web页面、HTML或者XML形式存在的数据。数据集成是将来源、格式、结构、关系模式、表示方式等不同的数据,通过集成技术,在逻辑或物理上对这些数据进行有机地整合,为用户和企业对物联网中的异构数据的查询和应用提供便利 ,然后,通过

17、集成技术将异构数据源之间的差异消除掉,我们利用集成技术,提供一种全局的查询模式,隐藏底层数据的操作,使用户和企业使用起来就像在使用同一个数据库中的数据,感觉不到其中的差异性。经过学习和分析,我总结了一下几点,是造成物联网中数据的异构的原因:(1)不同网络节点之间的软/硬件设施不同。不同的节点使用的计算机型号、操作系统的差异造成数据存储的格式不同。(2)不同的数据管理平台。不同网络节点的数据存储方式不同,造成数据的格式、关系模式不同。(3)传感器物联网中数据的入口,不同厂商开发的传感器的是存在差别,传输进物联网的数据也存在区别。物联网和一般的数据集成不同,根据物联网的特点,分析数据集成的几个难

18、点和重点:(1)在物联网中,对于传感器传入的各式各样的信息,为了实现通信的需求和便于对这些数据的存储,需将这些现实世界的事物数字化。数字化后的信息即使是同一事物也可能有格式、类型等方面的区别。(2)物联网中的数据多以HTML或者XML形式存在,它的结构结构较为灵活,没有结构化数据的严整规格。(3)人们对物联网中的数据最主要是查询,用户关心的只是结果,用户并不关心异构数据源之件是怎么转换的。所以,我们要保证数据集成系统有足够的透明性。(4)用户虽然只关心收到的结果,但是对查询结果的准确性要求却是很高的,我们必须保证系统集成后的数据的完整性。(5)集成系统为用户对数据的查询和共享提供的便利,但是,

19、它不能够影响源异构数据系统中对数据的使用。(6)数据集成系统还要解决的问题是:不能改变异构数据源的权限性。对于某些数据来说,一般用户是没有查看的权限的。集成系统对这些数据集成后,不能改变它的权限性。2.2现有数据集的方法2.2.1 联邦数据库技术联邦数据库系统(FederatedDatabases System)由一个半自治的数据库系统构成,相互联盟的数据库提供彼此之间互相访问的接口,联盟数据库通过接口访问和共享所有联盟数据库中的共享的数据。目前,联邦数据库技术是最简单也是最便捷的集成方式。它集成的数据库之间互相提供访问接口,数据库则通过对方对自己提供的接口访问对方的数据。这种接口技术是通过数

20、据库之间的映射实现的,数据源和数据源之间的数据格式、关系模式进行一一映射。映射后,使得数据库A以数据库B理解的术语来访问数据库B中的数据,通过这样的一一映射,所有联盟的数据库能访问这个集合中的任意数据。这种技术最大的优点是简单,有多少个数据库,逐一进行映射就可以,有数据的添加时,增加它与各个数据库的映射就可以了。这种数据集成的方法的优点是比较容易实现,尤其是当异构数据源的种类及个数限定的情况下,使用这种集成方式更加方便和实用。联邦数据库这种集成技术的缺点是不适用异构数据源过大的集成,而且,这种集成技术的可扩展性很差。根据它的集成规则当有N个数据库要互联时,需要的映射程序是N(N-1),增加一个

21、就需要增加N+1个映射程序,当N的值比较大时,想要再添加异构数据源进来就比较难,所以,不适用大数据源的集成。如图2.1,是联邦数据库集成技术的原理图,根据图我们可以看出,当异构数据源的数目过大时,再添加一个异构数据源需要增加映射程序,使用这种集成技术的工作量太大,对系统的要求也高,而且,消耗的系统资源多。图2.1 联邦数据库集成原理图2.2.2数据仓库技术数据仓库技术是在一个层次上建立一个数据存储仓库,将数据源中的数据周期性地更新移植进数据仓库中,这种周期性的数据更新移植可以分为三类,第一类:数据仓库周期性的从原数据源里重新构建数据;第二类:数据仓库周期性的从原数据源里更新数据;第三类:数据仓

22、库即时更新异构数据源时的数据变化;数据仓库技术通过对仓库中存储数据的查询来代替对异构数据源的数据的查询,在数据仓库的基础上给用户提供一个专供查询的平台,用来消除了异构数据之间的异构性,实现对异构数据集成的功能以及用户对异构数据源无区别的查询功能。经过对数据仓库集成技术的了解,一般的利用数据仓库技术构建的集成系统,它的体系结构由:信息服务平台、集成数据仓库、数据集成机制三部分构成,如图2.2:图2.2 数据仓库结构系统结构数据仓库集成技术最主要、最重要的一点就是对仓库中数据的不断的更新,需要定时的刷新数据仓库中存储的数据,保证数据仓库中的数据和数据源是同步的。数据仓库技术更实用的范围是:那些的数

23、据不是经常变化的数据源集成。根据数据仓库集成的原理我们了解到它的缺点主要是对仓库中数据要很快地进行更新,尤其是当异构数据源中的数据变化程度大时,这种情况下就不太适用用数据仓库法对异构数据集成,因为,在这种情况情况下,用户得到的数据和异构数据源的数据难保持同步性,还有一个缺点是,数据仓库需要很大的内存来存储数据尤其当异构数据源很大时,数据仓库集成技术不适用物联网下的数据集成。2.2.3中间件技术中间件技术是利用中间件给用户提供一个全局查询平台,去查询异构数据源中的数据。中间件它位于用户应用层和异构数据源的数据层之间,给用户一个查询界面,中间件则对异构数据源的数据进行调用。各个数据源在自己所处的系

24、统能够满足应用需求,不受集成系统的影响。中间件技术是目前用的较多的集成方法,它为用户提供一个全局的查询平台,用来屏蔽了底层的数据模式的转换、查询语句的分解、数据的包装等操作,在用户的眼中,这些数据是没有区别的、是一个整体。这种集成系统的优点在于:屏蔽了底层中数据之间的转换、模式之间的映射等操作,底层之间数据的变化等操作用户是看不到的。还要保证各个异构数据中的数据不受集成系统的影响,保证了自身的自治性,异构数据源的系统对数据的使用不受集成系统的影响。中间件模型如图2.3: 图2.3 中间件模型结构2.3基于XML数据集成的相关技术2.3.1XML的简介eXtensible MarkuP Lang

25、uage(可扩展标记语言)简称XML,在1992年2月10日成为W3C(WoridWide web Consortiuln,万维网协会)的推荐标准,XML是标记语言,比较类似HTML。但是,XML和HTML又有一定的区别,HTML被设计的主要目的是用来显示数据,关注的焦点是数据的外观,XML被设计的主要目的则是用来传递和存储数据,关注的焦点是数据的内容;XML文件的标记可以是用户自己定义的,而HTML则不行。W3C推出XML的最主要的目的简化数据的存储和共享,使得网络中的数据共享和交流更加方便。2.3.2采用XML集成的优点XML是被设计的主要目的是应用于Web ,最主要的功能是简化数据的存储

26、和共享,非常适用于企业间信息的交换,它主要具有以下的的特点:1)XML文档是具有良好的格式的文件,它的标记是成对出现的,方便验证文档的完整性和正确性。例如:李明,它以姓名开头,再议姓名标签作为结尾,标记都是成对出现,只有这样的才是完整的,不然XML文档就不是完整的。2)XML具可扩展自我描述性,XML可以自由地定义自己的标签。定义标签的可以根据用户的要求来表达文件的内容。例如:李明给张三的一张留言条,用XML的存储方式:张三李明 Reminder 记得下午开会!,这的和两个标签就是用户根据自己的需求定义的。3)XML是具有验证机制,XML通常包含一个Document Type Definiti

27、on(文档类型声明)或XML Schema(可扩展标记语言模式),这两种技术都可以用来验证文档合乎规范性,元素和标签的正确性。4)XML可以作为数据交换的中间介质,用来实现信息的传递和信息的共享。在近几十年来,物联网技术飞速发展,造成当今各个网络节点存在系统、数据管理平台等方面的不同,从而使这些网络节点之间信息交流和共享困难。要想这些网络节点之间能够互相地交流信息,必须使用一种中介格式,来解读其他系统传递的数据,使得系统之间能够实现信息的共享。5)XML描述能力比较强,而XML本身就属于非结构化数据,因此它具有能描述结构化数据和非结构化数据功能。我们可以根据XML的这种特性,建立数据集成系统,

28、用XML来作为中间转换介质,实现数据的共享和传递以及屏蔽数据的异构性。6)XML能长久长久保存数据,XML文档的可读性强,又是以文档的形式存在。2.3.3XML的验证机制我们用XML语言去我一件事物时,不同的人使用的标记可能是不同的。例如:不同的人对同一个公司的职工的描述:A可能是这样,B则是。这样就造成了XML文档的标记不同,给信息交换和数据共享带来了困难,为了解决这种问题,我们需要一种机制来规定用XML语言如何描述特定的事物。目前,有两种技术方法能实现这种功能:DTD和XML Schema。DTD是用来验证XML文档模块合法性的技术,DTD规定了XML文档的结构准则。任何一个XML文档都可

29、以有一个DTD,我们将DTD用来描述XML文档的格式,测试XML文档是否有效。DTD规范XML文档的编写,提高文档标记的参数一致,对于数据间的传递和共享有很大的作用。DTD虽然实用,但是也是有缺陷的,DTD有自己独特的语法,要学起来较为困难,而且它不是XML文档;DTD提供的数据类型十分有限,还不支持用户自己定义类型的功能,满足不物联网中对数据类型的大量需求;DTD不支持域名机制。XML schema是一种可以代替DTD的,对XML文档结构准则的另外一种定义。XML schema可以定义XML文档里中元素和属性的关系、元素之间的嵌镶、子元素的顺序等。和DTD相比,XML schema显然更适来

30、验证XML文档。原因是:(1)XML schema支持的数据类型种类远远多于DTD,DTD只提供了十种内置数据类型,还不支持用户自定义类型,而XML schema仅提供的内置数据类型就有十九中,还有二十五种派生类型。XML schema对大量数据类型的支持,可以用它轻松地描述需要转换的文档内容、验证数据格式和文档的准确性、定义数据约束类型等,而DTD在这方面的功能远不如XML schema。(2)XML schema使用的是XML语法,而DTD有自己独特的语法和要求想要使用的话就得重新学习一门新的语法。使用XML schema,我们就不必再去学习一门新的语言,这样节省了时间和精力,还能直接用用

31、 XML的 编辑器来编辑文件、XML 解析器来解析文件等,不再需要两套解析器,使用起来得心应手。(3)XML Schema能够解析的内容更为丰富,扩充内容也能够解析,而DTD则无法解析哪些扩充的内容。2.3.4XML的查询语言XML文档存储的数据可能是文件系统、关系数据库、XML数据库或者面向对象数据库中的数据,XML作为数据交换和共享的中间介质,需要一种统一的方法来实现搜索、操作和查询XML中的信息,目前,XQuery查询语言是最适合的。XML Query简称为XQuery,是W3C制定的一套标准。XQuery是被设计来查询和提取XML文档中信息的一项技术。XQuery和XML的关系,就如同

32、SQL 和数据库表的关系,XQuery是被设计用来查询 XML 数据的,但是,它能查询的不仅仅是XML 文件,任何以 XML 形态呈现的数据都能用它来查询。2.3.5现有的XML应用程序接口技术应用程序想要访问或得到XML文档中信息,需要通过XML的程序接口才能实现,目前,常用的XML程序接口有:DOM、JDOM、SAX。DOM(文档对象模型)是Document Object Model的缩写,是中立于平台和语言的接口,也是比较常用的一种用来访问XML文档的程序接口,应用程序通过它可以动态地访问XML文档中的内容,也可以更新XML文档中的内容和格式。DOM定义了XML元素的对象和属性,提供一种

33、访问XML文档的方法,是添加、删除或更改XML元素一套规范。SAX是Simple API for XML(xml的简单应用接口)的简称,它是属于是事件驱动型解析XML文档的接口。 SAX对XML文档的工作原理是:SAX对XML文档进行顺序扫描,扫描到文档或元素的开始、文档或元素的结束的地方,就通知事件处理函数,事件处理函数来完成任需要处理的任务,一直到扫描文档结束。JDOM是Java Document Object Model(Java 文档对象模型)的缩写,是一个JAVA工具包,利用JAVA技术对XML文档进行解析、生成等操作,是XML的新的API,它利用JAVA语言的特性,把 SAX和DO

34、M的功能结合起来了,也弥补了它们的不足之处。DOM不是为JAVA特别设计的,不具有良好的可移植性, SAX则没有有随机访问文档、修改文档和输出等功能。JDOM和两者相比,具有更大的开发便捷性,因此, JDOM为 XML 文档操作的 API。2.3.6 Web Services由于网络节点的分布,所以数据库所处的物理位置往往是不一样的,想要把不同物理位置中数据库的数据提取出来,就一定会用到web service技术。这种技术主要是让原来孤立的节点能够实现通信,是为这些点之间共享资源提出的一种接口。Web service 关键技术有许多,在这里就介绍和集成有关的技术SOAP,simple obje

35、ct access protocol(简单对象访问协议)简称为SOAP,它是被设计作为信息交换的协议,是一种基于XML的机制。SOAP是一种远程调用协议,它的信息传递是单方向的,但是它单独的消息通常可以被组合在一起形成其他的消息机制,比如,在http请求中提供的soap请求和http响应中的soap可以实现http的请求和响应模式。Soap主要是一种包装技术,将信息进行包装传送给远程的应用服务。第三章 基于XML集成系统设计本章的主要内容是详细论述一种基于XML的异构数据的集成的技术,并且,分析研究集成系统的解决方案。首先,明确数据集成系统的目标,确定系统各个模块的功能。其次,对系统的结构进行

36、分析、明确系统各模块的功能。3.1系统设计的目标这次论文设计的系统是用XML为异构数据中间转换介质的异构数据集成系统。主要的目标:使不同结构、不同关系模式的数据库中的数据能够共享和转换;集成后的系统不能破坏原有系统的自治性,要保证原系统能正常运行;集成后的系统需要能比较哈扩展性,能够适应应用需求的变化;集成系统为用户提供一个查询界面,用户通过查询界面对异构数据源的数据进行查询和分享,从各个异构数据源中得到用户需要的信息。3.2系统架构设计我们设计的异构数据集成系统方案,是以XML为异构数据的转换介质,将异构数据源的异构数据转换成XML文档存储,然后用户在XML文档中查询所需的信息,在中间层采通

37、过XML文档的转换、对XML文档的查询以及查询结果的转换,实现了数据集成系统屏蔽异构数据源差异的功能以及用户能够无差别访问异构数据源数据的功能。下面是基于XML技术构造的异构数据集成系统架构图,如图3.1:图3.1 三层体系结构该系统大致工作过程:应用层客户在应用层的查询窗口发出查询请求,中间件接受到请求后,中间件经过分析、分解后,从数据层的数据库中得到的XML文档中提取用户要求的数据,将提取的数据再通过XSLT 程序将结果显示在浏览器页面返回给用户,下面我们分层介绍系统的功能:3.2.1 应用层根据集成系统的需求,应用层要为用户提供一个全局查询接口,这个接口是设计的是能够接收xQuery语句

38、形式的全局查询请求的接口,并将得到的结果以XML文档的形式返回,再用XSLT 程序将结果显示在浏览器页面中。在这个查询平台上,底层的数据操作对用户是完全透明的,用户看来,查询是在同一个数据库中进行的。3.2.2中间层中间层是集成系统的主要功能实现的部件,主要功能是实现异构数据转换成XML文档,在实现XML文档的整合,中间层的结构如3.2所示: 图3.2 中间层结构根据Mediator的结构图,我们可以清楚的看出中间包括三个板块,下面我们分开介绍各个板块的功能:XQuery查询,这个板块的最主要的功能是实现对整合好的XML文档进行查询,系统通过对整合好的XML文档的查询,来是提取用户需要查询的信

39、息,这里用XQuery语言进行查询,XQuery语言是一种专门对XML文档查询的一种查询语言,使用这种语言查询XML文档快速便捷。XML文档整合,这个版块主要实现的功能是将异构数据转换成的XML文档进行整合,消除转换后XML文档中数据的冗余性,比如A数据表中有姓名这一属性,B数据表中也有姓名这一属性,查这一版块就是将这两个属性合二为一,查询起来就方便的多了。XML数据格式的转换,这个版块的作用是整个中间层最重要的,它是实现将异构数据源转换成XML文档的过程,这一步,是消除异构数据之间的异构性,使得他们具有相同的数据格式,方便查询和交换,初步实现了消除异构数据的异构性的功能,方便以后XQuery

40、语句对整个异构数据源数据的查询。3.2.3数据层在这里的数据层指的是那些要集成的异构数据源,即那些需要消除异构性地数据,异构数据源都有自治性,这些数据在集成时,需要保证本身数据不会改变和本身的系统应用不受影响。3.3系统工作过程异构数据集成系统的目的是屏蔽各个异构数据源的差异,使得用户能够得到不同数据源中自己所需的数据,并且感受不到各个异构数据源的差异,让用户查询起来时,就像在同一个数据库中,查询的是同一种类型的数据一样。在这里我们以用户一次查询为例子,来分析集成系统具体的工作过程,用户查询过程图如下面图3.3所示:图3.3 异构数据集成系统的查询流程当一个用户去查询异构数据源中的数据时:首先

41、,用户在集成系统查询页面提出查询请求,中间件接受到用户的请求后,将用户的请求转换成能够对XML文档进行查询全局的XQuery查询文档,接着,XQuery查询语句对整合后的异构数据XML文档进行查询,得到查询结果后,利用XSLT 技术,将XQuery查询结果转换成显示在浏览器页面,用户则得到了需要的数据。在这个过程中,还有两个关键步骤,就是异构数据转换为XML和转换后的XML文档的合二为一,这两个过程在下面一章将进行详细的讲解。第四章 关键步骤及分析前一章,我们主要介绍了基于XML异构集成系统的结构,这一章根据系统的结构,对其中模块和关健技术进行分析和介绍。4.1关系数据库转换为XML文档本节是

42、实现的是把关系数据库转换到XML文档,其中,这种转换包括模式映射和数据映射方面。模式映射:模式映射指的是将数据的关系模式映射到 XML 模式,这种是结构上的转换,主要是把关系数据库中的关系表和属性与表的关系转换为XML 模式。模式流程:1.数据库名称在XML作为其的一个根元素,建立一个house数据库,house就作为XML文档的根元素;2.数据库中的表则映射为一个同名的复杂类型元素;3.数据库中的表中的每一个字段,映射为XML文档中的一个简单的类型元素,嵌套在复杂元素之中; 4.对表中的主键字段,则利用KEY来表达,例如,student中有一个主键number,映射为XML schema则为

43、:5.对外键来说,当映射主键的表时,追加一个ref元素,这个元素用来指向外键所在表。例如,student和grade表,前面的是主键表,后面的是外键表,用XML是这样表达关系的:数据映射:将关系数据库中的数据映射到XML文档中,数据就作为异构虚拟的XML文档被存储。数据映射的流程是:遍历XML模式,从数据库中提取数据,作为XML文档的元素数据,添加到XML文档中。4.2查询转换查询转换是将用户提出的请求转换为XQuery 查询语句的过程,XQuery 查询语句是一种专门对XML文档进行查询的语言,因为本系统实现异构数据的集成是将XML文档作为一种中间介质,来消除异构数据之间的异构性,让用户实现

44、对异构数据源数据的查询的功能。根据用户的查询信息,一般设计的查询页面的查询条件是数据库中的key,这样可以方便系统的查询和管理。例如:用户通过一个学生的学号进行查询学生的信息时,学号为:20104360114 转换后的XQuery查询语句为:for $i in document(student.xml)/where $i/student_num=20104360114returnSi/title,$i/student_num这样就将用户的查询转换为XML文档能够识别的XQuery查询语句,能够在转换后的XML文档中进行查询,得到需要的结果。4.3XML文档的整合对XML文档的整合,是将异构数据

45、转换成的XML文档合成一张XML文档,方便查询和使用,这个过程实际上就是将XML文档中根元素的子集合并到另一个XML文档的根元素中,在和并时,选一张XML文档作为底,然后依次将各个XML文档中的根元素的子集合并到这张文档中,最后,所以的XML文档合成一张,我们查询时,就只要在一张表中查询,这样就节省了时间,和并这里借助了 Jdom API来实现;实现的JAVA代码如下:import java.io.*;import java.util.List; import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; import org.jdom.input.SAXBuilder; import org.jdom.output.*; /*连接两个或者多个XML文档合成一个文档*/ public class CombineXML public static void main(String args) throws Exception Document document = null; try SAXBuilder dbf = new SAXBuilder(); document

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号