清华大学综合训练论文模板MIT文档格式.docx
《清华大学综合训练论文模板MIT文档格式.docx》由会员分享,可在线阅读,更多相关《清华大学综合训练论文模板MIT文档格式.docx(34页珍藏版)》请在冰豆网上搜索。
签名:
导师签名:
日期:
中文摘要
近十年,全国已累计投资10亿元左右进行农业知识资源的收集、分析、处理与应用,农业知识与数据资源已达到TB量级。
而农业知识的最底层资源分布在不同区域、不同单位,如何集成分布在不同区域的多个农业知识集,增强海量信息处理的能力,是当今农业知识信息服务面临的一个瓶颈问题。
自网格概念提出以来,基于网格的资源共享技术成为解决信息集成问题的重要途径。
本文主要探讨的是如何将新兴的网格技术与传统的数据库集成思想结合起来,以解决异构农业数据的集成问题。
在此基础之上,本文提供了一套可行的系统构建方案并在实验环境下进行了实现。
本文首先描述了传统的分布式数据库系统组成结构以及将其应用于农业数据集成的主要问题,并介绍了网格技术及相应中间件在数据集成方面的发展现状。
然后结合上述两种技术提出了一种基于网格技术的异构数据库集成方法,并结合Globus网格中间件及ODBC技术设计了一种网格环境下异构数据资源整合的框架。
在文章的后半部分,则具体描述了集成系统的搭建过程。
关键词:
农业数据、分布式、异构性、网格、数据库集成
ABSTRACT
Duringthepast10years,billionsofnationalinvestmenthasbeenspentonagriculturalinformationsystemfordatacollecting,analyzingandprocessing,agriculturalknowledgeanddataresourceshavereachedTBmagnitude.However,asthebottomdatasourcearedistributedindifferentareaanddifferentorganization,itcomesabottleneckproblemforagriculturalinformationservicesthathowtointegrateallthesehighdistributedagriculturedataandprovidemassinformationprocessingability.
WithputtingforwardofGridconcept,grid-basedresourcesharingmechanismhasbecomeangoodsolutionofinformationintegration.Thisarticlefocusonhowtocombinethegridtechniquewiththetraditionaldatabaseintegrationmechanismforannewdatasourceintegrationframework.Andthenweprovidedaschemeofstructureofintegrationsystemandrealizeditinexperimentalenvironment.
Wefirstintroducedthestructureoftraditionaldistributeddatabaseintegrationsystemanditsdeficiencywhenusedinagriculturalinformationsystem.Thenwesummarizedthedevelopmentstatusofgrid-baseddatabaseintegrationanditsmiddleware.Afterthat,weputforwardaheterogeneousdatabaseintegrationmethodbasedondatagridconceptandprovidedanrealizableframeworkbasedonGlobustoolkitandODBCtechnique.Atlast,wedetailedtheinstallationandusageofthissystem.
Keywords:
AgriculturalDataDistributedHeterogeneousGrid
DataIntegratio
第1章序言1
1.1项目背景1
1.2技术背景2
1.2.1网格技术介绍2
1.2.2异构数据库系统简介4
1.2.3文件结构安排4
第2章关键技术分析5
2.1分布式数据库系统5
2.1.1分布式数据库系统介绍5
2.1.2分布式数据库系统组成形式及设计框架6
2.1.3分布式数据库系统应用于农业信息集成的问题7
2.2网格环境下数据整合相关技术8
2.2.1GlobusToolkit8
2.2.2OGSA-DAI9
2.2.3OGSA-DAI及其类似项目用于农业信息集成13
第3章农业信息集成系统设计15
3.1我们的目标15
3.2系统框架设计16
3.3实际系统模型16
第4章农业信息集成系统的实现19
4.1底层异构数据库整合----ODBC数据库访问接口19
4.1.1ODBC接口标准及开发原理19
4.1.2用ODBC实现的数据库集成20
4.2利用Globus工具包实现的数据网格24
4.2.1Globus中的安全认证25
4.2.2Globus中的用户代理机制26
4.3Apache与PHP构成服务平台28
4.4系统工作流程28
4.5目前实现的功能30
第5章系统评估及未来工作展望33
5.1系统性能评估33
5.2未来工作展望33
插图索引35
表格索引36
参考文献37
致谢39
声明40
附录A外文资料调研报告41
第1章序言
1.1项目背景
到目前为止,知识信息服务已全面应用于全国农业种植、养殖业的生产经营全过程,全国各省市地方管理机构正在逐步建立以农业知识资源为核心的农业科技支撑,采用农业知识来指导高效生产和结构调整。
农业知识的最底层资源分布在不同区域、不同单位,如何集成分布在不同区域的多个农业知识集,增强海量信息处理的能力,是当今农业知识信息服务面临的一个瓶颈问题。
从事农业知识科学研究和应用的组织、团体,迫切需要在知识密集型计算领域应对交叉和大规模协作式的科研活动,有效解决在时间、空间上高度耦合、交叉的农业生产问题。
农业数据的主要特点在于数据的海量性以及地理上的分散性,而农业知识集成系统的目标就在于利用目前的网络技术及软件技术将地理位置分散的数据资源及计算资源整合在一起,构建一种可扩展的基础设施框架,对外提供统一的访问接口,解决建立农业信息系统中的包括集成、共享、存储和利用的问题,为农业领域不同专业技术人员提供方便、高效的综合农业知识服务。
其中将涉及不同领域模型的知识进行整合,使农业知识在一种协同计算框架支持下进行有序管理和协同工作,为分布用户提供大规模、大范围和跨地域的农业资源与服务共享,改变农业领域知识的研究方式和传播方式,降低农业信息化成本,提供有效服务。
农业知识集成系统可划分为三个层次,第一层是实现农业异构数据的转换和集成,即实现异地不同数据库结构下异质数据统一虚拟访问,提供异质数据统一虚拟访问中间件,屏蔽数据的访问的差异性,进一步可以研究数据传输策略,建立数据传输虚拟代理数量与并发用户数目映射关系的最优模型,提高数据访问效率。
第二层是实现农业信息的无缝共享,包括信息数据库的构建、信息的发现、联通及处理等。
第三层是替提供基于语义的信息搜寻和检索,从底层的数据和信息中发掘知识、处理知识、应用知识,同时研究各数据资源之间的联系和关系,实现业务流程的组合调度。
本项目属于农业信息集成系统中的一部分,主要目标在于解决基本农业数据资源的整合问题,消除由于地理原因形成的信息孤岛,充分发掘已有的农业信息资源,构建农业信息集成的基本框架,实现异构数据资源的集成,为上层的知识提取及数据挖掘提供基础。
1.2技术背景
1.2.1网格技术介绍
网格是继Internet、Web技术之后的第三次互联网技术浪潮,Internet及Web技术实现了计算机和网络的连接,构建了信息传递的网络技术,其主要关注的是网络的传输速度、信息流量大小及传输的安全性。
而网格的关注的是如何有效的管理和利用互联网上分散的各种资源,利用Internet把地理上广泛分布计算资源、存储资源、带宽资源、软件资源、数据资源、信息资源、知识资源等连成一个逻辑整体,就像一台超级计算机一样,为用户提供一体化信息和应用服务(计算、存储、访问等),最终实现在这个虚拟环境下的资源共享和协同工作,彻底消除资源“孤岛”,最充分的实现信息共享。
网格技术将实现WWW(WorldWideWeb)到GGG(GreatGlobalGrid)的变革。
网格技术源自于20世界90年代初由美国政府资助的分布式超级计算(DistributedSupercomputing)项目I-WAY,其概念借鉴于电力网提出,网格的最终目的是希望用户在使用网格计算能力解决问题时像使用电力一样方便,不用去考虑得到的服务来自于哪个地理位置,由什么样的计算设施提供。
除去资源的分布性外,换个系统还有另外四个特点[1]。
一是异构性,组成网格的资源是异构的,例如计算资源有不同类型的计算机,不同的计算方式,不同的计算接口,不同的系统架构,而相应的存储资源也有类似特点,因此,网格既要具有利用资源的异构特点进行处理的能力,也要具有提供一致资源管理的能力;
二是自治性,网格上的资源首先是属于某一本地的个人或者组织,网格资源的拥有者对资源具有最高级别的管理权限,网格应该允许资源拥有者对其资源有自主的管理能力;
三是动态性,由于网格中的资源具有自治性,因此网格资源可能动态地加入或者退出网格,也可能出现故障而导致不可用;
另外,资源的性能情况也可能发生较大的变化,使得供网格使用的资源也会发生相应的变化,由于网格没有集中控制能力,因此,对于这种动态性需要有一种机制来保障网格应用的运行不会遭受比较大的影响;
四是自相似性。
网格的局部和整体之间存在着一定的相似性,局部在许多地方具有全局的某些特征,而全局的特征在局部也有一定的体现,网格的构建通过小的局部网格可以形成更大的网格,其构成方式具有相似性。
网格技术最初主要用于计算领域,如分布式超级计算、高吞吐率计算以及数据密集型计算等,而现在网格技术已经被推广至应用服务领域,例如广泛的协同工作、环境保护、培训和教育、信息集成等。
同时,企业和组织根据一定的目标和规划构成虚拟组织,共享应用和数据,整合计算能力、存储和其他资源,通过对这些资源进行共享、有效优化和整体管理,降低计算和存储的总成本。
根据网格客体对象的不同,可以把网格分为数据网格、计算网格和服务网格。
数据网格中共享的基本单位是数据,主要解决数据的共享问题;
计算网格中共享的基本单位是计算资源,为用户提供共享资源的良好接口和机制;
服务网络中共享的对象是服务,以服务的形式提供共享的手段。
在服务网格中,人们可以把不同的资源经过封装,用服务的形式提供给网格主体使用。
就目前网格技术在世界范围内的发展来看,美国仍然是走在最前列的国家,多家研究机构开展了与网格相关的研究工作,开展了Condor、Legion、Globus等比较有影响的网格项目。
欧洲也是网格研究和建设非常活跃的地区,已经启动了多个网格研究项目,其中的欧洲网格和数据网格是由多个国家参加的研究项目。
而亚洲的中国、日本、韩国等国都先后举办了网格方面的高级国际论坛或研讨会,网格的研究和应用已经在亚洲推广起来。
我国于96年开始开展网格方面相关技术的研究,目前已得到迅速发展,有中国网格CNGrid、中国教育科研网格ChinaGrid、中国国家自然科学基金网格Crown等项目[2]。
1.2.2异构数据库系统简介
异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透明访问,每个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的DBMS。
异构数据库的各个组成部分具有自身的自治性,实现数据共享的同时,每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。
异构数据库系统的异构性主要体现在三个方面。
第一是计算机体系结构的异构,各个参与的数据库可以分别运行在大型机、小型机、工作站、PC或嵌入式系统中。
第二是基础操作系统的异构,各个数据库系统的基础操作系统可以是Unix、WindowsNT、Linux等。
DBMS本身的异构,可以是同为关系型数据库系统的Oracle、SQLServer等,也可以是不同数据模型的数据库,如关系、模式、层次、网络、面向对象,函数型数据库共同组成一个异构数据库系统。
1.3本文内容及目标
本文主要关注的是如何将数据网格的思想与分布式数据库系统结合起来,利用已有的成熟的数据库集成技术并结合网格技术的动态性及可对大量数据进行处理的特点设计农业数据集成的框架,构成一个松耦合的农业信息平台。
其中第一方面是异构数据库系统的整合,包括操作系统、数据库供应商、数据表列命名不同等三方面的异构问题,目标是屏蔽上述异构问题,对外提供统一的查询接口。
文章的第二部分则是数据网格技术在信息集成中的应用,将已有的一些网格中间件应用于数据库系统中,使得海量数据的传输及处理得到实现,利用网格技术的动态性特点构造松耦合的集成系统。
1.4文章结构安排
在本文的第1章中,我们介绍了该项目的实际工程应用背景及相关的网格技术、异构数据集成方面的背景。
在第2章中,我们将对数据集成方面两个关键的技术:
分布式数据库系统以及网格环境下数据集成技术进行分析。
我们将结合农业信息集成的特点分析目前已有技术的优劣。
在第3章中,我们将结合第2章分析中提出的问题设计农业信息集成的框架及实现流程图,将具体讨论系统实现过程中主要的技术难点和需要解决的问题,我们将结合框架图具体分析说明每一部分的作用。
在第4章中,我们将介绍农业信息集成系统的实现过程,运用了哪些软件及技术手段,分别是怎么解决第3章中提出的技术问题的。
在最后一章中,我们将介绍该项目之后的需要继续开展的工作以及最后需要达到的目标。
第2章关键技术分析
2.1分布式数据库系统
2.1.1分布式数据库系统介绍
分布式数据库系统研究起始于20世纪70年代末,是随着网络技术的发展而诞生的。
它的发展源于实际生产生活中对于分散数据资源整合的需求。
早期的数据库系统多为集中式系统,即由一台中央系统进行所有的数据储存和维护,对于客户机而言只是通过网络连接到中央系统进行查询或其他应用操作,客户机本身仅作为输入输出设备,并不进行数据的存储及处理。
而随着计算机技术的发展及普及,一方面需要存储的数据量变得越来越大,集中式的数据库系统为满足对于海量数据的存储和处理必然对硬件提出了很高的要求,使得成本上升;
另一方面,分散于各地的计算及存储资源也变得越来越多,对于地理上分散的公司、组织或团体而言,如何将这些分布的数据资源整合在一起变成了一个迫切的需求。
分布式数据库系统就是为了解决这些地理上分散而又逻辑上相关联的数据库系统的整合问题。
分布式数据库系统有三大特性。
一是数据的分布性,即存储数据的单元物理上存在分散性,数据往往分布在多个节点上,由网络将这些节点连接在一起;
二是逻辑整体性,这些分布在多个节点上的数据往往是关联在一起的,构成一个逻辑上的整体,由逻辑上的整体对外提供信息服务;
三是站点自治性,即在集中控制机制协调处理个节点数据库的同时,各个数据节点仍然享有一定的自治权限,可以由节点的DBMS对本身的数据进行处理操作。
根据以上三个特性又可以推出分布式数据库系统的其他一些特点,例如由于分布性造成的数据独立性(包括数据逻辑独立性、物理独立性与最重要的分布透明性等三方面)、站点自治性形成的“集中与自治相结合的控制结构”以及可以适当增加数据冗余等。
1987年,C.J.Date提出了完全的分布式数据库管理系统应遵循的如下12条原则:
(1)场地自治性(LocalAutonomy)
(2)不依靠中心站点(NonrelianceOnCentralSite)
(3)持续操作性(ContinuousOperation)
(4)位置透明和独立性(LocalTransparenceandLocalindependence)
(5)数据分割独立性(FragmentationIndependence)
(6)分布式独立性(ReplicationIndependence)
(7)分布式查询处理(DistributedQueryProcessing)
(8)分布式事务管理(DistributedTransactionManagement)
(9)硬件独立性(HardwareIndependence)
(10)操作系统独立性(0peratingSystemIndependence)
(11)网络独立性(NetworkIndependence)
(12)数据库管理系统独立性(DBMSIndependence)
2.1.2分布式数据库系统组成形式及设计框架
分布式数据库系统有三类组成方式[3],第一种是紧耦式的DDBS,全局控制信息放在一个中心站点上,必须通过中心节点才能访问到各个分片上的数据资源,其特点是容易实现数据完整性和一致性,但系统的鲁棒性不高,一旦中心节点出现问题,系统就无法工作;
第二种是联邦式DDBS,对于每个分片来说都包含有全局控制信息的一个副本,不存在一个特殊的中心节点,但这类的系统缺陷是在保持数据一致性方面难度很大;
第三类则是上述两个类型的综合,设计两类节点,一类是具有全局控制信息的主节点,另一类是为主节点提供数据资源的节点,但这种系统的缺陷在于选取主节点的过程较为复杂且很难与实际情况相吻合。
集中式的数据库系统由数据库(DB)、数据库管理系统(DBMS)以及用户(包括DB管理员及一般访问用户)三部分组成,而分布式数据库系统在此基础上对于上述组件进行了扩充,数据库分为全局DB及局部DB,相应管理系统DBMS也被区分为全局DBMS和局部DBMS。
一个分布式数据库系统的全局DBMS需要定义三方面的结构关系,第一是定义分布式数据库中数据的整体逻辑结构,达到数据的“分布透明性”[4];
二是需要将逻辑上整体的数据库分为不相交的分片,定义分片与全局关系的映射;
三是需要定义具体的分片与物理存储节点的对应关系,一个分片可能对应多个节点,这时就是冗余式的分布式数据库,反之若一个分片只对应于一个特定的物理存储节点,则是非冗余的分布式数据库。
分布式数据库系统的模型结构如图2.1示:
图2.1
分布式数据库系统模型结构
2.1.3分布式数据库系统应用于农业信息集成的问题
分布式数据库系统是一直以来解决数据库集成问题的一个重要手段,目前已经有了一些完善的系统构建体系及用于数据库整合的中间件。
而底层农业数据就是以数据库的形式存储的,一个很直接的想法就是直接将分布式数据库系统用于农业信息集成,构建一个全局模式的逻辑数据集合,屏蔽底层物理分散存储的数据分片,粗略看技术上层面不存在任何难点且可以很好的解决信息集成的问题,但为什么到目前为止还没有人采用这种方式呢,实际上这是与农业数据的几个特点有关的。
前面谈到农业数据信息集成中最大的一个问题就是数据的海量性,可以假设一下,如果我们采用分布式数据库系统的话,首先排除的就是联邦式的DDBS构建方式,因为联邦式的DDBS为了实现系统的稳定,需要在每个存储节点布置全局控制信息的副本,我国目前有六百多个市,如果其中的一半有农业数据的分散节点的话,需要构建300个左右全局数据库,即使我们采用非冗余的分布式数据库系统(即不在某个数据节点上保存其他节点数据的副本,普通计算机不可能维护TB量级的数据库)也不可能投入实际运营,因为这种框架不仅在设计分布式系统的逻辑数据集合时需要耗费大量成本,维护起来的开销也是不可接受的。
农业信息集成的另一个难点是伴随着农业信息化程度不断提高,数据节点的个数也再不断的增加,节点的数量及地理位置是动态变化的。
而分布式数据库系统基本属于一个紧耦合的系统,一旦系统构建完成,再往其中添加新的节点会非常麻烦,因为需要更改全局DBMS的内容,重新构建逻辑数据集合,同样会造成巨大的系统维护成本。
所以紧耦合的分布式数据库系统不可直接用于农业信息技术集成。
另一方面,分布式数据库系统中全局系统对于子数据节点有增、删、改的全部权限,而实际应用中农业信息集成只需要提供数据的查询和共享就可以了,不应该让全局系统享有过高的权限。
上面谈到的是制约分布式数据库系统直接应用于农业数据集成的几个问题,但同时我们必须做的一件事是底层农业数据库的整合,而目前这方面又只有分布式数据库技术可以利用,所以我们必须引入其他的技术并结合分布式数据库技术才能实现目标。
这个其他的技术就是数据网格。
2.2网格环境下数据整合相关技术
2.2.1GlobusToolkit
GlobusToolkit源于Globus项目,后者是目前国际上网格技术方面最具影响力的项目之一。
GlobusToolkit是一个网格技术基础构件,其目标是在保证单个系统自治性的前提下实现网络上计算资源、存储资源及其他资源的安全共享[5]。
Globus工具包中包含用于资源发现、资源管理、系统监测、安全认证以及文件系统管理等多种服务构件及其程序库。
它是一个开源软件,任何人都可以从其官网上下载其源代码并进行研究改进,可以被使用在商业及非商业的任何领域。
Globus工具包尤其适用于应用服务开发和系统集成方面,事实上GlobusToolkit就是一个为网格应用提供中间服务及程序库的网格中间件。
Globus工具包的实现主要有四方面的内容[6]:
(1)网格安全,即网格技术中数据传递及消息认证方面的安全性保证,Globus中运用了目前许多成熟的分布式安全技术,并结合自身应用进行了一些扩张,目前广泛使用的数据传输安全协议SSL及TLS都被应用于Globus工具包中,还有Globus工具包中包含的基于代理的消息认证机制GridSecurityinfrastructure(GSI),GSI负责在网格环境下的安全认证和加密通信,提供单点登录功能、远地身份鉴别功能、数据传输加密功能。
(2)网格信息获取与分布,即在网格计算环境中发布资源信息,查询、检索资源信息。
具体实现是MetacomputingDirectoryService(MDS),MDS基于LightweightDirectoryAccess