原创物联网环境下的异构数据整合方法研究毕业论文设计40论文41.docx

上传人:b****4 文档编号:4032445 上传时间:2022-11-27 格式:DOCX 页数:13 大小:124.02KB
下载 相关 举报
原创物联网环境下的异构数据整合方法研究毕业论文设计40论文41.docx_第1页
第1页 / 共13页
原创物联网环境下的异构数据整合方法研究毕业论文设计40论文41.docx_第2页
第2页 / 共13页
原创物联网环境下的异构数据整合方法研究毕业论文设计40论文41.docx_第3页
第3页 / 共13页
原创物联网环境下的异构数据整合方法研究毕业论文设计40论文41.docx_第4页
第4页 / 共13页
原创物联网环境下的异构数据整合方法研究毕业论文设计40论文41.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

原创物联网环境下的异构数据整合方法研究毕业论文设计40论文41.docx

《原创物联网环境下的异构数据整合方法研究毕业论文设计40论文41.docx》由会员分享,可在线阅读,更多相关《原创物联网环境下的异构数据整合方法研究毕业论文设计40论文41.docx(13页珍藏版)》请在冰豆网上搜索。

原创物联网环境下的异构数据整合方法研究毕业论文设计40论文41.docx

原创物联网环境下的异构数据整合方法研究毕业论文设计40论文41

目录

摘要

Abstractii

第一章绪论1

1.1课题的背景1

1.2本文的主要工作2

1.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.6WebServices12

第三章基于XML集成系统设计13

3.1系统设计的目标13

3.2系统架构设计13

3.2.1应用层14

3.2.2中间层14

3.2.3数据层16

3.3系统工作过程16

第四章关键步骤及分析18

4.1关系数据库转换为XML文档18

4.2查询转换19

4.3XML文档的整合19

4.4结果转换21

第五章数据集成的实现23

5.1实例的背景23

5.2运行环境23

5.3实验过程24

第六章总结与展望27

6.1总结27

6.2展望28

参考文献29

谢辞30

附录31

 

物联网环境下的异构数据整合方法研究

摘要:

随着物联网的迅速发展,在物联网中共享的资源是越来越多,但是物联网中的节点使用的数据管理平台、数据库有很大的区别,所以物联网中数据具有不确定性、异构性、多源性等特点,对信息的共享和数据的传递有很大的阻碍。

数据集成技术是消除数据件的异构性,将分布式数据源集成到一起,给异构数据提供统一表示,使用户能够无差别地访问这些数据。

本论文先研究了物联网中异构数据的特征和现有的集成技术,经过对集成技术的学习和研究及比较,在这里提出一种基于XML的异构数据集成方案,这种方案的主要思路是:

利用JDOM技术将异构数据全部转换为XML文档,再通过JDOM的解析功能把多个XML文档合并成一个XML对象文档,接着,通过XMLD的查询语句Xquery从XML对象文档中查询所需的数据,最后,利用XSL技术将查询结果显示在浏览器中。

论文的最后部分,实现一个面向小区用户异构数据查询系统,验证了系统的可行性,实现了用户的透明性访问。

关键词:

异构数据;数据集成;物联网;Xquery

 

TheInternetofthingsundertheenvironmentofmethod

Abstract:

WiththerapiddevelopmentoftheInternetofThing,resourcessharedontheInternetareincreasing,butthingsusedbynodesindatamanagementplatforms,databases,thereisabigdifferencebetween,souncertainty,theInternet,thecharacteristicsofmulti-source,information-sharinganddatatransmissiontechnologyofeliminatingthedata,integratedistributeddatasourcestogether,toprovidetheisomerousdata,enablesuserstoaccessthedatawithoutdiscrimination.

Thispapersfirstresearchtheintegratedtechnologyoflearningandresearchandthecomparison,inXMLofideasis:

usesJDOMtechnologywillforXMLdocument,againthroughJDOMofresolvedfeaturesputmultipleXMLdocumentmergedintoaXMLobjectdocument,then,ByXMLDqueriesXqueryquerytakesdatafromtheXMLdocument,andfinally,usingXSLtechnologytodisplaythequeryresultsinthebrowser.Thelastpartofthethesisthattherealizationofa;,万维网协会)的推荐标准,XML是标记语言,比较类似HTML。

但是,XML和HTML又有一定的区别,HTML被设计的主要目的是用来显示数据,关注的焦点是数据的外观,XML被设计的主要目的则是用来传递和存储数据,关注的焦点是数据的内容;XML文件的标记可以是用户自己定义的,而HTML则不行。

W3C推出XML的最主要的目的简化数据的存储和共享,使得网络中的数据共享和交流更加方便。

2.3.2采用XML集成的优点

XML是被设计的主要目的是应用于Web,最主要的功能是简化数据的存储和共享,非常适用于企业间信息的交换,它主要具有以下的的特点:

1)XML文档是具有良好的格式的文件,它的标记是成对出现的,方便验证文档的完整性和正确性。

例如:

<姓名>李明<姓名>,它以姓名开头,再议姓名标签作为结尾,标记都是成对出现,只有这样的才是完整的,不然XML文档就不是完整的。

2)XML具可扩展自我描述性,XML可以自由地定义自己的标签。

定义标签的可以根据用户的要求来表达文件的内容。

例如:

李明给张三的一张留言条,用XML的存储方式:

张三李明<(文档类型声明)或XMLSchema(可扩展标记语言模式),这两种技术都可以用来验证文档合乎规范性,元素和标签的正确性。

4)XML可以作为数据交换的中间介质,用来实现信息的传递和信息的共享。

在近几十年来,物联网技术飞速发展,造成当今各个网络节点存在系统、数据管理平台等方面的不同,从而使这些网络节点之间信息交流和共享困难。

要想这些网络节点之间能够互相地交流信息,必须使用一种中介格式,来解读其他系统传递的数据,使得系统之间能够实现信息的共享。

5)XML描述能力比较强,而XML本身就属于非结构化数据,因此它具有能描述结构化数据和非结构化数据功能。

我们可以根据XML的这种特性,建立数据集成系统,用XML来作为中间转换介质,实现数据的共享和传递以及屏蔽数据的异构性。

6)XML能长久长久保存数据,XML文档的可读性强,又是以文档的形式存在。

2.3.3XML的验证机制

我们用XML语言去我一件事物时,不同的人使用的标记可能是不同的。

例如:

不同的人对同一个公司的职工的描述:

A可能是这样<职工><职工>,B则是<职员><职员>。

这样就造成了XML文档的标记不同,给信息交换和数据共享带来了困难,为了解决这种问题,我们需要一种机制来规定用XML语言如何描述特定的事物。

目前,有两种技术方法能实现这种功能:

DTD和XMLSchema。

DTD是用来验证XML文档模块合法性的技术,DTD规定了XML文档的结构准则。

任何一个XML文档都可以有一个DTD,我们将DTD用来描述XML文档的格式,测试XML文档是否有效。

DTD规范XML文档的编写,提高文档标记的参数一致,对于数据间的传递和共享有很大的作用。

DTD虽然实用,但是也是有缺陷的,DTD有自己独特的语法,要学起来较为困难,而且它不是XML文档;DTD提供的数据类型十分有限,还不支持用户自己定义类型的功能,满足不物联网中对数据类型的大量需求;DTD不支持域名机制。

XMLschema是一种可以代替DTD的,对XML文档结构准则的另外一种定义。

XMLschema可以定义XML文档里中元素和属性的关系、元素之间的嵌镶、子元素的顺序等。

和DTD相比,XMLschema显然更适来验证XML文档。

原因是:

(1)XMLschema支持的数据类型种类远远多于DTD,DTD只提供了十种内置数据类型,还不支持用户自定义类型,而XMLschema仅提供的内置数据类型就有十九中,还有二十五种派生类型。

XMLschema对大量数据类型的支持,可以用它轻松地描述需要转换的文档内容、验证数据格式和文档的准确性、定义数据约束类型等,而DTD在这方面的功能远不如XMLschema。

(2)XMLschema使用的是XML语法,而DTD有自己独特的语法和要求想要使用的话就得重新学习一门新的语法。

使用XMLschema,我们就不必再去学习一门新的语言,这样节省了时间和精力,还能直接用用XML的编辑器来编辑文件、XML解析器来解析文件等,不再需要两套解析器,使用起来得心应手。

(3)XMLSchema能够解析的内容更为丰富,扩充内容也能够解析,而DTD则无法解析哪些扩充的内容。

2.3.4XML的查询语言

XML文档存储的数据可能是文件系统、关系数据库、XML数据库或者面向对象数据库中的数据,XML作为数据交换和共享的中间介质,需要一种统一的方法来实现搜索、操作和查询XML中的信息,目前,XQuery查询语言是最适合的。

XMLQuery简称为XQuery,是W3C制定的一套标准。

XQuery是被设计来查询和提取XML文档中信息的一项技术。

XQuery和XML的关系,就如同SQL和数据库表的关系,XQuery是被设计用来查询XML数据的,但是,它能查询的不仅仅是XML文件,任何以XML形态呈现的数据都能用它来查询。

2.3.5现有的XML应用程序接口技术

应用程序想要访问或得到XML文档中信息,需要通过XML的程序接口才能实现,目前,常用的XML程序接口有:

DOM、JDOM、SAX。

DOM(文档对象模型)是DocumentObjectModel的缩写,是中立于平台和语言的接口,也是比较常用的一种用来访问XML文档的程序接口,应用程序通过它可以动态地访问XML文档中的内容,也可以更新XML文档中的内容和格式。

DOM定义了XML元素的对象和属性,提供一种访问XML文档的方法,是添加、删除或更改XML元素一套规范。

SAX是SimpleAPIforXML(xml的简单应用接口)的简称,它是属于是事件驱动型解析XML文档的接口。

SAX对XML文档的工作原理是:

SAX对XML文档进行顺序扫描,扫描到文档或元素的开始、文档或元素的结束的地方,就通知事件处理函数,事件处理函数来完成任需要处理的任务,一直到扫描文档结束。

JDOM是JavaDocumentObjectModel(Java文档对象模型)的缩写,是一个JAVA工具包,利用JAVA技术对XML文档进行解析、生成等操作,是XML的新的API,它利用JAVA语言的特性,把SAX和DOM的功能结合起来了,也弥补了它们的不足之处。

DOM不是为JAVA特别设计的,不具有良好的可移植性,SAX则没有有随机访问文档、修改文档和输出等功能。

JDOM和两者相比,具有更大的开发便捷性,因此,JDOM为XML文档操作的API。

2.3.6WebServices

由于网络节点的分布,所以数据库所处的物理位置往往是不一样的,想要把不同物理位置中数据库的数据提取出来,就一定会用到webservice技术。

这种技术主要是让原来孤立的节点能够实现通信,是为这些点之间共享资源提出的一种接口。

Webservice关键技术有许多,在这里就介绍和集成有关的技术——SOAP,simpleobjectaccessprotocol(简单对象访问协议)简称为SOAP,它是被设计作为信息交换的协议,是一种基于XML的机制。

SOAP是一种远程调用协议,它的信息传递是单方向的,但是它单独的消息通常可以被组合在一起形成其他的消息机制,比如,在http请求中提供的soap请求和http响应中的soap可以实现http的请求和响应模式。

Soap主要是一种包装技术,将信息进行包装传送给远程的应用服务。

第三章基于XML集成系统设计

本章的主要内容是详细论述一种基于XML的异构数据的集成的技术,并且,分析研究集成系统的解决方案。

首先,明确数据集成系统的目标,确定系统各个模块的功能。

其次,对系统的结构进行分析、明确系统各模块的功能。

3.1系统设计的目标

这次论文设计的系统是用XML为异构数据中间转换介质的异构数据集成系统。

主要的目标:

使不同结构、不同关系模式的数据库中的数据能够共享和转换;集成后的系统不能破坏原有系统的自治性,要保证原系统能正常运行;集成后的系统需要能比较哈扩展性,能够适应应用需求的变化;集成系统为用户提供一个查询界面,用户通过查询界面对异构数据源的数据进行查询和分享,从各个异构数据源中得到用户需要的信息。

3.2系统架构设计

我们设计的异构数据集成系统方案,是以XML为异构数据的转换介质,将异构数据源的异构数据转换成XML文档存储,然后用户在XML文档中查询所需的信息,在中间层采通过XML文档的转换、对XML文档的查询以及查询结果的转换,实现了数据集成系统屏蔽异构数据源差异的功能以及用户能够无差别访问异构数据源数据的功能。

下面是基于XML技术构造的异构数据集成系统架构图,如图3.1:

图3.1三层体系结构

该系统大致工作过程:

应用层客户在应用层的查询窗口发出查询请求,中间件接受到请求后,中间件经过分析、分解后,从数据层的数据库中得到的XML文档中提取用户要求的数据,将提取的数据再通过XSLT程序将结果显示在浏览器页面返回给用户,下面我们分层介绍系统的功能:

3.2.1应用层

根据集成系统的需求,应用层要为用户提供一个全局查询接口,这个接口是设计的是能够接收xQuery语句形式的全局查询请求的接口,并将得到的结果以XML文档的形式返回,再用XSLT程序将结果显示在浏览器页面中。

在这个查询平台上,底层的数据操作对用户是完全透明的,用户看来,查询是在同一个数据库中进行的。

3.2.2中间层

中间层是集成系统的主要功能实现的部件,主要功能是实现异构数据转换成XML文档,在实现XML文档的整合,中间层的结构如3.2所示:

图3.2中间层结构

根据Mediator的结构图,我们可以清楚的看出中间包括三个板块,下面我们分开介绍各个板块的功能:

XQuery查询,这个板块的最主要的功能是实现对整合好的XML文档进行查询,系统通过对整合好的XML文档的查询,来是提取用户需要查询的信息,这里用XQuery语言进行查询,XQuery语言是一种专门对XML文档查询的一种查询语言,使用这种语言查询XML文档快速便捷。

XML文档整合,这个版块主要实现的功能是将异构数据转换成的XML文档进行整合,消除转换后XML文档中数据的冗余性,比如A数据表中有姓名这一属性,B数据表中也有姓名这一属性,查这一版块就是将这两个属性合二为一,查询起来就方便的多了。

XML数据格式的转换,这个版块的作用是整个中间层最重要的,它是实现将异构数据源转换成XML文档的过程,这一步,是消除异构数据之间的异构性,使得他们具有相同的数据格式,方便查询和交换,初步实现了消除异构数据的异构性的功能,方便以后XQuery语句对整个异构数据源数据的查询。

3.2.3数据层

在这里的数据层指的是那些要集成的异构数据源,即那些需要消除异构性地数据,异构数据源都有自治性,这些数据在集成时,需要保证本身数据不会改变和本身的系统应用不受影响。

3.3系统工作过程

异构数据集成系统的目的是屏蔽各个异构数据源的差异,使得用户能够得到不同数据源中自己所需的数据,并且感受不到各个异构数据源的差异,让用户查询起来时,就像在同一个数据库中,查询的是同一种类型的数据一样。

在这里我们以用户一次查询为例子,来分析集成系统具体的工作过程,用户查询过程图如下面图3.3所示:

图3.3异构数据集成系统的查询流程

当一个用户去查询异构数据源中的数据时:

首先,用户在集成系统查询页面提出查询请求,中间件接受到用户的请求后,将用户的请求转换成能够对XML文档进行查询全局的XQuery查询文档,接着,XQuery查询语句对整合后的异构数据XML文档进行查询,得到查询结果后,利用XSLT技术,将XQuery查询结果转换成显示在浏览器页面,用户则得到了需要的数据。

在这个过程中,还有两个关键步骤,就是异构数据转换为XML和转换后的XML文档的合二为一,这两个过程在下面一章将进行详细的讲解。

 

第四章关键步骤及分析

前一章,我们主要介绍了基于XML异构集成系统的结构,这一章根据系统的结构,对其中模块和关健技术进行分析和介绍。

4.1关系数据库转换为XML文档

本节是实现的是把关系数据库转换到XML文档,其中,这种转换包括模式映射和数据映射方面。

模式映射:

模式映射指的是将数据的关系模式映射到XML模式,这种是结构上的转换,主要是把关系数据库中的关系表和属性与表的关系转换为XML模式。

模式流程:

1.数据库名称在XML作为其的一个根元素,建立一个house数据库,document("student.xml")

where$istudent_num=20104360114

return

{Sititle,$istudent_num}

这样就将用户的查询转换为XML文档能够识别的XQuery查询语句,能够在转换后的XML文档中进行查询,得到需要的结果。

4.3XML文档的整合

对XML文档的整合,是将异构数据转换成的XML文档合成一张XML文档,方便查询和使用,这个过程实际上就是将XML文档中根元素的子集合并到另一个XML文档的根元素中,在和并时,选一张XML文档作为底,然后依次将各个XML文档中的根元素的子集合并到这张文档中,最后,所以的XML文档合成一张,我们查询时,就只要在一张表中查询,这样就节省了时间,和并这里借助了JdomAPI来实现;实现的JAVA代码如下:

importjava.io.*;

importjava.util.List;

importorg.jdom.Document;

importorg.jdom.Element;

importorg.jdom.JDOMException;

importorg.jdom.input.SAXBuilder;

importorg.jdom.output.*;

*连接两个或者多个XML文档合成一个文档*

publicclassCombineXML

{

publicstaticvoidmain(String[]args)throwsException

{

Documentdocument=null;

try{

SAXBuilderdbf=newSAXBuilder();

document=(Document)dbf.build(args[0]);

ElementdocRoot=document.getRootElement();

for(inti=1;i

Documenttmpdoc=dbf.build(args[i]);

Listnlt=tmpdoc.getRootElement().getChildren();

for(intj=0;j

Elementel=(Element)nlt.get(0);

getfreeelement

el.detach();

docRoot.addContent(el);

}

}

}catch(IOExceptione){

thrownewException("Filenotreadable.");

}catch(JDOMExceptione){

thrownewException("Fileparsederror.");

}

TODO,Youcanprocessthatdocumentnow.

Formatf=Format.getRawFormat();

f.setEncoding("gb2312");

f.setIndent("");每一层元素缩排两格

XMLOutputterXMLOut=newXMLOutputter(f);

XMLOut.output(document,newFileOutputStream("test1.xml"));

}

}

4.4结果转换

我们用的查询语句是XQuery语句,它是一种专门用来查询XML文档的查询语言,虽然,它方便了我们的查询,但是这种数据格式却不适合传递给用户,用户需要的是简洁明了的查询结果,不是XQuery查询结果,没有学XQuery语言的话对读懂XQuery语句是有困难的,所以我们还有将XQuery查询语句转换为合适用户读的数据格式,在这里我们使用XSL技术,将XQuery的查询结果转换为可以被浏览器识别的文档,我们先要用XSTL定义一个适用于web页面的模板(template)

Xmlversion”1.0”encoding=”UTF-8”>

stylesheetxmlns:

xsl=”xml文档路径”>

templatematch=”用户编号”>

<,JayavelShanmugasundaram.XPERNTO:

AMiddlewareforPublishingObject-RelationalDataasXMLDocument[M].Proc.VLDBConf.2000

[7]何涛,刘君强,张学斌.异构数据源数据集成的研究[M].上海大学报,2006,28(9)132-135.

[8]MaurizioLenzerini.DataIntegration:

ATheoreticalPerspective[J].Proceedingsofthetwenty-firstACMSIGMOD-SIGACT-SIGARTsymposiumonPrinciplesofdatabasesystems.2002,233-246.

[9]FayC,JefferyD,SanjayGetal.BigTable:

aDistributedStorageSystemforStructuredData[J].ACMTransactionsonComputerSystems,2008,26

(2):

1-26

[10]WilhelmHasselbring.WebDataIntegrationforE一CommerceAPPlieation[J].IEEE

Multimedia,2002:

17(6):

16-25

[11]赵辉,陶世群,

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1