基于移动Agent和GML的分布式GIS空间信息集成装置与方法

文档序号:7595179阅读:140来源:国知局
专利名称:基于移动Agent和GML的分布式GIS空间信息集成装置与方法
技术领域
本发明属于信息技术中的空间信息获取与处理技术领域,特别是涉及广域、异构、低带宽、信息源分散、连接不稳定的Internet环境下基于移动Agent和GML的分布式GIS空间信息集成装置与方法。
背景技术
随着Internet(互联网)的迅猛发展和Web(网络)的广泛使用,GIS(地理信息系统)由专业人员使用的集中式系统逐步转变为分布式、大众化网络信息系统。长期以来建造的孤立、自主的集中式GIS系统已经不能满足Internet时代人们对于实现空间信息共享和互操作的迫切需要。为此,本发明必须在理论和技术上寻求可行的途径,对分布、异构的GIS进行高效、灵活的集成,以实现广域、异构空间信息的共享和互操作。
通常,基于Internet的GIS大都是采用传统的Client/Server(C/S)(客户/服务器)或Browser/Server(B/S)(浏览器/服务器)体系结构,利用CORBA(公共对象请求代理体系结构)或DCOM(动态组件对象模型)分布计算技术。这类系统对网络带宽的依赖性很强,而且需要在客户端和服务器之间建立稳定的连接,因此,比较适合于具有较宽的带宽且连接稳定的局域网环境;而在广域、异构、低带宽、信息源分散、连接不稳定的Internet环境下,就难以有效地提供分布式地理信息服务。特别是对移动Internet而言,移动设备(如手机)和无线通讯网的局限性(如内存、计算能力和供电能力有限,通信带宽窄且连接经常中断以及延迟时间长等等),使这一问题更为突出。此外,C/S或B/S模式对于客户端的应用不支持直接的分组感知,因而限制了其在高度互操作分布式系统中的应用。Internet环境下GIS信息的多样性、动态性、异构性,以及对GIS高度的自治和协作感知的需求,都对传统GIS信息服务提出了新的挑战。因此,有必要寻求新的GIS体系结构和分布计算模式,以适应(移动)Internet环境下分布式GIS的运行需要。
移动(Mobile)Agent(代理)是近年来发展很快的分布计算技术。Agent是分布式环境下具有自主性、交互性、主动性、反应性等特性的活动计算实体,它不仅能作用于自身,而且可以施动作于环境,并能接收环境的反馈信息,重新评估自己的行为;同时,它能与其它Agent协同工作。Agent系统放松了对集中式、非开放性、顺序控制的限制,提供了分布控制、动态应急处理和并行处理。同时,Agent系统可以降低软件和硬件的费用,提供信息共享及更快速的问题求解。而移动Agent的跨平台移动、动态和分布计算等特性扩展了传统Agent处理事务的能力,使之能够较好地解决移动Internet环境中低带宽和不稳定连接的问题,并可以提供对网络中非持续性连接设备(如便携机、掌上电脑、手机)上网查询的支持;而且,移动Agent的智能性与灵活性有利于在分布、异构、动态环境下实时有效地提供GIS信息服务,并有利于提高系统的健壮性。
随着Web的发展,HTML(超文本标记语言)越来越显露出其局限性,不能满足日益发展的Web应用的新需要。在这种情况下,XML(可扩展标记语言)应运而生。由于XML是用于表现信息内容(语义),因而极大地方便了Internet上信息交换。GML(地理标记语言)是XML在空间信息领域的一种特殊表现形式。目前,无论是工业界还是学术界,都认为GML将成为空间信息交换的标准格式。本课题旨在探索将移动Agent技术和GML技术引入到分布式网络GIS集成中,以建立基于移动Agent和GML的分布式网络GIS,解决(移动)Internet环境下分布存储的海量地理数据的共享与互操作问题。过去十多年来,GIS领域有大量的研究工作致力于GIS的集成。从技术上来讲,GIS集成可以划分为三个层次平台级(Platform level)、句法级(Syntactic level)和应用级(Applicationlevel)。平台级集成涉及硬件、操作系统和网络协议,提供对存储在不同系统中的数据文件的存取支持。句法级集成通过对多个异构的空间数据源定义一致性的、统一的视图提供对不同数据库系统的统一的存取。应用级集成的目标是定义无缝的系统集成,提供对多个系统的透明的访问,用户如同访问的是一个集中式的空间数据库系统;在应用级中有三大类主要的集成方法联邦数据库法(Federated database approach)、模式中介法(Schema mediation approach)和语境中介法(Contextmediation approach)。但不管采用上面的哪种集成方法,就系统的体系结构而言,基本上是基于C/S和B/S模式,这也就无法避免这些模式在Internet环境下的局限性(见前面论述)。
虽然国内、外都有关于利用Agent构建GIS系统的研究报道,如美国Colorado大学的Geo(几何属性)-Agent和我国北京大学的Geo-Agents。但是,他们涉及的Agent其实是静态Agent,即通常所说的Software Agent(软件代理),静态Agent不能在一个分布环境中自动迁移。Geo-Agent或Geo-Agents实质上是把传统GIS部件用Agent来替代,或者说用Agent来承担以前各个GIS部件的功能。因此,在那里,Agent相当于是对传统系统进行的一种包装;与此不同,在本发明的项目,基于移动Agent进行分布网络GIS集成主要是利用移动Agent的移动性、自主性和灵活性来克服传统方法在(移动)Internet环境下的局限性。移动Agent及其分布计算机制在这里承担信息查询、传输、交互与合作等重要的作用。目前,移动Agent的理论和应用还是一个处于发展中的研究领域。尽管大部分研究仍处于实验阶段,但也出现了一些相对成熟的通用实验性系统,如IBM的Aglets,Object Space的Voyager,Mitsubishi Electric的Concordia,General Magic的Odyssey,Dartmouth大学的Agent Tcl,以及南京大学的Mogent等。在移动Agent的应用领域,国外已有将移动Agent应用于信息检索、网络自动管理、电子商务等方面的报道,但用于GIS领域还未见报道。此外,从GML技术来看,尽管越来越多的人意识到GML将会在GIS中发挥重要的作用,但相关的研究都是刚刚开始,很多技术问题还有待于深入的研究与探索。
结合移动Agent和GML两方面的技术优势,提出基于移动Agent和GML的分布式网络GIS集成的构思,为分布环境下网络GIS提供了一种新的设计模式,使分布式GIS能够更好地适应异构、自治、协同、低带宽、连接不稳定的(移动)Internet环境。

发明内容
针对上述问题,本发明提出一种能提高在广域、异构、低带宽、信息源分散、连接不稳定的Internet环境下基于移动Agent和GML的分布式GIS空间信息集成装置与方法。
为了解决上述问题,本发明包括分布式地理信息查询的MAGGIS(基于移动代理和地理标记语言的地理信息系统)系统框架采用嵌入式结构,将移动Agent环境(MAE)服务器嵌入到分布式网络GIS服务器中;由MAE对Agent进行直接控制,提供移动Agent的各种功能支持,创建一个位置透明、便于控制、安全可靠的运行环境,实现移动Agent在网络上的自由移动,支持对Web GIS(基于网络的地理信息系统)的透明访问、信息共享和互操作;MAGGIS中移动Agent的运行装置根据当前系统资源状况确定巡回计划确定移动Agent的动态巡回路线,实现了多Agnent的协作和Agent转储机制;转换装置在异构空间数据集成上,实现传统文件格式空间数据到GML文档的转换和基于Oracle Spatial的空间数据到GML文档的转换,设计了对异构空间数据进行包装(wrapping)和整合的方案;运算装置在GML文档集成上,设计并实现基于结构相似度和语义相似度的模式匹配算法,采用基于Ontology的方法来定义概念,进行语义描述和知识表达,进而用来解决集成中的语义和结构异构问题,采用基于GML Schema自动生成局部Ontology,集成后得到蕴涵这些局部Ontology的一个最小的全局Ontology,来为用户检索进行导航;显示装置在空间信息发布上,采用SVG(可缩放矢量图形)标准表示地图信息,设计了GML到SVG转化和多SVG合成的算法以实现多图层的复杂地图显示;查询装置在空间查询实现上,局部查询在本地机上完成信息检索,全局查询采用基于有向查询图分析的空间查询优化算法,创建一个或多个Agent到不同的服务器节点去检索相关信息;通信装置对于Agent的通信机制,采用基于消息的通信、基于流的通信、远程对象通信和本地对象通信机制处理不同的通信问题;安全装置对于Agent的安全机制,对需要移动的Agent进行加密防止敏感信息泄露,加上数字签名实现Agent的认证,将安全约束嵌入MAE中以保护系统级资源,使用查询服务代理将Agent与数据集隔离以保护应用级资源。
上述分布式地理信息查询的MAGGIS系统主要由四个部分构成,即客户端、服务器端、连接端结点的互联网或内部网络以及网络中代表用户执行信息访问与检索任务的移动Agent。
上述MAGGIS中移动Agent的运行装置中移动Agent采用Java技术实现,定义若干Agent类,主要有与移动Agent管理相关的通用类和与GIS相关的特定的Agent类。
本发明的特点针对Web环境下空间信息获取、集成与发布的新需求,提出了基于移动Agent、GML和SVG的分布式GIS构建、集成与发布体系结构。利用Java Applet(Java小程序)在客户端建立移动Agent环境,利用移动Agent完成空间信息的获取;采用GML标准实现对分布、异构的空间信息的包装和集成,给出了相应的文件方式和数据库方式存储的空间信息向GML文档转换的主要算法,并研究了GML模式匹配和GML文档的集成,解决异构空间信息集成中的语义和结构冲突问题;采用SVG标准进行地图的通用化显示和交互操作,实现空间信息的Web发布,给出了GML文档向SVG格式转换的算法和工具;并实现了一个原型系统。


图1 MAGGIS体系结构图。
图2 MAGGIS客户端和服务器结构与功能图。
图3 MAGGIS服务器结构图。
图4移动Agent的巡回路线规划图。
图5客户端查询空间信息流程图。
图6移动代理协作机制流程示例框图。
图7移动Agent的转储机制框示意图。
图8空间数据向GML文档转换算法流程图。
图9由Oracle Spatial中输出GML的转换流程图。
图10 GML模式匹配流程图。
图11 GML模式匹配总体功能框图。
图12 MAGGIS空间信息全局元数据结构图。
图13 MAGGIS空间信息局部元数据结构图。
图14基于SVG的发布效果图。
图15空间信息传输简要加密执行流程图。
具体实施例方式
下面结合附图进一步说明本发明。
MAGGIS系统框架与分布式地理信息查询MAGGIS系统支持对Web GIS的透明访问、信息共享和互操作,系统主要由四个部分构成客户端、服务器端、连接端结点的互联网或内部网络以及网络中代表用户执行信息访问与检索任务的移动Agent。系统的结构如图1所示。
客户机的主要任务是通过与用户的交互形成并提交查询,以及表现查询结果;用户通过客户机或本地MAGGIS服务器访问MAGGIS系统中的某一个MAGGIS服务器,被访问的MAGGIS服务器返回给客户端一个Web页面;该页面内有一个Java Applet(称为Client-Applet),其中包含一个移动Agent环境(MAE)、一个静态Agent和一个移动Agent。Client-Applet在客户端Web环境下运行,生成客户端移动Agent环境,并在客户端移动Agent环境下启动预先编码在Client-Applet中的静态Agent(称为Client-Agent)。Client-Agent要完成两件事情(1)从刚开始访问的那个MAGGIS服务器获取MAGGIS系统数据源描述信息(DataSources Description Information,简称DSDI)。数据源描述信息是对MAGGIS系统所包含数据信息的宏观反映,具体包括系统中所有数据源的名称、地址(URL)和每个数据源的数据构成;相当于整个MAGGIS系统的数据字典,或者说整个MAGGIS系统的数据导航图。在被访问的MAGGIS服务器的移动Agent服务器中有一个静态Agent负责向Client-Agent提供数据源描述信息。同时,该静态Agent还负责维护存储在本地的数据源描述信息。(2)在Web浏览器内产生一个用户查询界面(QueryInterface,记为QI)。QI支持两种查询方式基于标准的空间查询语言的查询和目录查询。对用户而言,所见到的只是QI,Client-Agent、移动Agent及MAE都在后台。
MAGGIS服务器由三个主要部件构成Web服务器(Web Server,简记为WServer),GIS服务器(GServer),移动Agent服务器(MAServer)。WServer是用户接入MAGGIS系统时的入口,负责向接入用户提供Client-Applet;GServer由GIS数据库(包括空间数据库与相关属性数据库)和相关空间查询处理与分析部件构成,提供对本地数据查询的处理与分析支持;MAServer是移动Agent在本地活动(数据查询和路由中转以及暂时驻留等)的一个公共场所,为移动Agent利用本地资源(包括数据资源和处理、分析资源)提供接口环境。附图附图2给出MAGGIS客户端和服务器结构与功能图。
移动Agent服务器中包含四个静态Agent本地服务Agent(LocalServices Agent,LSA)、查询优化Agent(Query Optimization Agent,QOA)、查询与包装Agent(Querying & Wrapping Agent,QWA)以及数据中介与转换Agent(Mediation & Transformation Agent,MTA)。LSA的功能包括(1)为登录本地服务器的客户端提供MAGGIS系统数据源描述信息;(2)维护存储在本地的系统数据源描述信息;(3)维护存储在本地的系统各数据源的统计信息;(4)感知并监测本地服务器与其它服务器间和客户机之间的网络交通连接状况,为查询优化和移动Agent制定巡回路线提供决策依据。查询优化Agent(QOA)负责对用户查询进行分析优化,并制定相应的查询策略。查询与包装Agent(QWA)完成移动Agent带来的查询任务,并将查询结果包装为标准的GML文档。对于本地查询结果,还要做缓存,以备以后出现相同查询时使用。当一个查询涉及多个数据源(即多个数据站点)时,从各个站点上查询得到的信息需要融合,这由数据中介与转换Agent(MTA)承担;集成后得到的最后查询结果还需要转换为标准的SVG文档。附图3给出了MADGIS基于GML的地理信息集成框架结构。
MAGGIS中移动Agent的运行装置的设计与实现移动Agent是一个具有私有属性的、能够按照一定的行为规则进行自主活动的计算实体,对外提供服务,彼此之间能够相互通信。系统中一个移动Agent由四个主要部分组成巡回路线(Itinerary)、代码(Code)、状态(State)和身份凭证(Credentials)。
规划巡回路线基于三个主要因素(1)Agent为了找到其所需资源而可能访问的站点列表;(2)这些站点上存在的数据质量的不确定性,本发明把不确定性的程度定义为一个Agent在给出的站点列表中的每个站点上能够成功找到所需信息的概率;(3)当前的网络状况,包括网络连通状态信息、网络上计算机的运行状态信息、网络线路的延迟与网络带宽信息。站点列表和数据质量的不确定性可以由类似于黄页服务(YellowPage Service)的方法提供,而有关网络状态的统计数据由网络感知模块收集。附图4给出了移动Agent的巡回路线规划根据资源状况确定巡回计划,即根据客户端需求建立一个动态的巡回计划。系统在全局数据库中建立了一个全局数据资源表。在提交查询任务请求后,系统根据用户提交的请求及资源表中的全局元数据信息生成一个动态的移动代理执行巡回计划,提交给系统后台的移动代理服务器执行,即客户端查询任务作为一个巡回计划被提交到后台执行,附图5描述了执行的主要流程。
动态感知网络状况即动态感知每一个GIS服务器的通路情况,并根据感知的网络状况,实现移动Agent的巡回路线的智能规划与动态变更。MAGGIS系统中对于网络中每一个节点采用网管协议(SNMP,简单网络管理协议)实现对节点当前网络状况的监听、网络流量和带宽信息感知。利用移动Agent技术实现动态感知每一个服务器当前运行状态的功能。根据基于Java 2的SNMP软件平台判断出移动代码所处的网络节点处于正常状态还是异常状态,网络状况直接记录到发送移动代码起始网络节点的全局信息库的QoS表。QoS表有三个属性url地址,网速,是否通畅等以记录网络当前状态,其中,url地址对应移动代理服务器的服务器名以及端口号;网速为取得每一服务的网络流量;是否通畅表示相应的移动代理服务器是否正常运行。
动态巡回路线的生成是按照上述的网络中的资源状况、网络通信状况等信息,可以动态地生成相应的移动Agent巡回路线。例如,当系统中的某个查询请求所需的空间属性数据和空间图层数据不在同一个网络节点时,其动态巡回计划的生成过程如下①根据资源表和属性对应图层表,判断属性数据和图层数据是否在同一个网络结点的服务器上;②创建到空间属性数据存放的服务器(URL地址)的移动Agent的接口实现类,Mobility_D_P.moveTo(Props_Url_Adress);移动Agent移动到该URL地址;③移动Agent移动到该URL地址后,执行Dyna_Plan方法,通过SQL语句判断出存放图层的Oracle数据库URL地址、图层表名;④执行本地ReadFile(OID_Param,Layer_Table_Name,Layer_Data_Url_Addr)方法,其中,OID_Param图元ID;Layer_Table_Name图层表名;Layer_Data_Url_Addr图层数据URL地址;返回布尔值Read_Done。执行本地的ReadFile方法,创建到空间图层数据存放的服务器(URL地址)的移动Agent的接口实现类;移动Agent移动到空间图层数据存放的URL地址;从空间数据存放的数据库如Oracle 9i中读出数据,并且将其转换为GML文档格式;⑤创建到空间图层数据存放的服务器的接口实现类,根据Dyna_Plan方法返回的布尔值确定是否取回加密的GML文档信息,由移动Agent取回相应的GML文档,移动Agent完成一次查询任务。移动Agent的协作机制是指在移动Agent工作过程中,一个执行任务可能需要多个移动Agent配合。一个移动Agent的执行需要根据另外一个或多个移动Agent的运行情况来决定自己的运行次序,这需要这多个移动Agent在执行任务时的通信与协作。MAGGIS系统中的协作机制主要体现在基于多Agent的分布并行查询以及基于移动Agent的元数据管理与维护。分布并行查询的原则也是基于上述的动态规划方法,只是在执行查询任务之前,先对查询任务按照资源和网络状况进行分析,尽可能并行执行相应的拆分的子查询任务。相应的分析查询过程类似于上述动态巡回路线的分析与生成过程。此外,MAGGIS系统中基于移动Agent实现空间信息更新的发布,也是一种协作机制的实现,通过移动Agent实现空间信息更新(包括添加、删除、修改)相关空间信息的动态发布,以及元数据的动态更新。
例如,当一个GIS服务器增加新的地理信息服务时,系统一方面将其转换为GML格式的文件存储在GIS服务器的相应目录下,或者将其存储在数据库如Oracle中,同时更新本地的全局元数据、局部元数据及远程的全局元数据。这些资源数据将影响到后续的移动Agent的动态巡回路线的规划。以GML文件格式的地理信息的动态更新为例说明其详细步骤①当有新的空间信息需要发布时,将不同格式的空间信息如文件格式的数据转化为GML文档的表达方式,并通过加密算法生成相应加密的GML文档;②更新本地的局部元数据,将产生的GML数据存放在空间信息局部元数据表如GML文件信息表中,记录该GML文档的图层ID、存放路径、存放文件名前缀、文件名等信息;③更新本地的全局元数据,在添加新的空间数据时,将发布的信息添加到空间信息全局元数据的资源表中;④移动Agent同步更新服务器群中其他网络节点的全局元数据中的资源表,保持全局元数据的一致性。
移动Agent的转储机制是指移动Agent在网络上移动存取数据时,由于网络状况可能会导致移动代码移动出去后不能返回的情况下,中间数据的处理问题。例如,一个移动Agent迁移动到某个网络节点,执行相应任务,该节点网络突然出现故障,在短时间内难以恢复;同时,移动Agent已经完成自己在该节点上的工作,希望能够从该网络节点返回或者继续按照巡回路线漫游,但是,由于网络的物理状况不能继续下去。由于移动Agent一次执行的任务可能需要消耗不少的系统资源,如果让这个任务再次重新执行需要再次占用比较大的系统资源,这对资源的充分利用来说是不利的。如果在系统中能够保存移动Agent以前工作的状态和结果,当网络恢复正常以后能够重新激活任务,移动Agent继续完成自己的工作(返回或漫游),可以节省大量的系统资源和执行时间。这就是MAGGIS系统中所设计和实现的移动Agent的转储机制(即活化与钝化的二级缓存机制)。
具体地说,就是当移动Agent去远程GIS服务器查询和取回数据信息,已经完成任务,但由于网络及其它故障而暂时不能返回时,可以将其任务及其相关信息保存在该远程GIS服务器的二级缓存中,当网络及其它故障恢复正常时,再将其从二级缓存中取出,继续其任务,从而节省系统资源及时间的一种机制。附图7为移动Agent的转储机制。
空间信息向GML文档的转换方法与技术1)传统文件格式空间数据转换为GML文档这部分以传统文件格式表达的地理信息作为研究对象,空间信息向GML文档转换就是按照对应几何类型将地理对象转换为GML文档中的元素(element),并与相关属性(attribute)一起构成Layer元素,进而由多个Layer构成Map,即相应的地理对象转换表示为图4所示的树形结构。原型系统中已经实现有Shapefile和MIF文件格式到GML的转换。
ArcView的Shapefile格式文件包括一个主文件(SHP)、一个索引文件(SHX)和一个dBASE表(DBF)文件。主文件是一个直接存取的变长记录的文件,其一条记录描述了一个用一系列结点表示的Shape;索引文件的每条记录存储与之相应的主文件记录从文件头开始的偏移量;dBASE文件的每条记录包含一个特征的属性,基于记录号的几何信息和属性信息一一对应,dBASE文件的记录必须与主文件的记录顺序一致。图14给出了ShapeFile文件到GML文档的对应关系,图15是相关的转换算法流程。
首先创建一个空的GML文档,参照系统中定义的GML文档结构,先插入一个Map元素作为根结点,再在Map元素下插入一个Layer元素(一个图层)。然后开始读取ShapeFile或Mapinfo一个图层文件,对于图层中每一个空间对象,先判断其几何属性,若为点类型(包括多点类型)则创建一个几何属性为点类型的的Feature元素,再将非空间属性(非几何属性)创建为相应的XML元素插入到Feature元素中,最后将一个完整的Feature元素插入到Layer元素下。当读完一个图层文件,再判断是否有新的图层文件,若有再重复前面的步骤,若无则输出GML文档。附图8给出了传统格式空间数据向GML文档转换算法流程。
2)基于Oracle Spatial的空间数据转换为GML文档Oracle Spatial是Oracle数据库为实现快速、高效的存取、分析空间数据而把相关函数和过程集成在一起的专用组件,它以对象关系数据模型作为存取和管理空间信息的基础,使用面向对象操作的原理把存储在Oracle Spatial中的多种元素信息相关联,以进行拓扑分析与其它操作。在Oracle9i中Oracle Spatial由下面的四个部分组成(1)一种模式(MDSYS),规定了对几何数据类型在存储、语法、语义方面的支持;(2)一种空间索引机制;(3)一组用来处理空间区域的交叉、合并和联结的操作符和函数集;(4)一组管理工具。Oracle Spatial支持三种基本的几何对象类型点、线、面,以及它们的集合体多点、多线、多面等,使用这些几何对象进行组合,还可以表示很复杂的几何对象。利用Oracle Spatial可以在单个数据库实例中实现非结构化、有嵌套关系的空间、属性数据的统一存储和管理,它对同一图层的空间对象存储在同一张关系表中,属性数据作为普通的关系表列进行存储,当涉及空间数据时使用对象模型,并将其作为一个列存储于关系表中。其转换算法的步骤如下①创建一个GML文档,并创建其根元素以及在根元素的属性中指明相应的命名空间;②在根元素下创建一个Layer元素,这个元素所包含的内容代表了一个图层;③对于查询对象表得到的行结果集中新的一个行创建一个Feature元素;④扫描结果集的字段元数据,判断出类型为MDSYS.SDO_GEOMEGRY的字段。若是,则表明此字段中存储就是空间数据,则转到第⑥步;⑤对于普通的属性数据,创建与之同名的元素。转到第⑦步;⑥对于空间数据,根据对象的类型进行处理,但任何一种类型,最终都是以一棵树的形式来返回它所表示的对象内容;⑦包含所以属性数据的元素SimpleProperty和包含一个对象的所有空间数据的子树元素GeometryProperty都作为子元素增加到Feature元素中;⑧行结果集是否扫描结束,若没有结束,则转到第③步;⑨是否处理新的数据行集,若是,则转到第②步;⑩处理结束,输出GML文档。
图9描述了由Oracle Spatial中输出GML的转换流程,存储在Oracle中的空间和非空间数据向GML文档转换主要通过以下步骤进行①准备所需的Java包除了JDK环境所提供的sql包以外还需要如下的几个包sdoapi是由Oracle公司所提供的对空间对象进行操作的一个API;classes12.zip是Oracle数据库环境所提供的一个包,包含Oracle数据库的驱动程序,转换对象类型的Java类Oracle.sql.STRUCT,还包括Oracle数据库连接等;②定义查询以及准备表名接收参数;③数据库连接后执行查询并获得结果集;④定义几何适配器对象与建立GML文档,并定义其头部;⑤对于结果集中的每一个包含有空间几何对象和属性数据的行记录,解析到GML文档;⑥将产生的文档以文件的形式输出。
GML文档集成方法与技术1)GML模式匹配针对空间信息集成中语义和结构上的异构问题,本发明以GML作为集成的公共格式标准,研究基于Ontology的GML模式匹配问题。提出一个面向空间信息集成的GML模式匹配算法,其核心思想是将GML模式转化成树状结构,通过测度两个树状结构的相似度来判断两个对应模式的匹配程度,自动地将两个结构和语义上存在异构的GML应用模式进行匹配,实现空间信息集成。
模式匹配(schema matching)的目的是模式集成,模式集成是数据集成的前提。模式匹配技术最早应用于数据库中,指把不同的数据库中的需要进行整合的数据进行匹配,得到一个统一的格式。模式匹配是模式的基本操作之一,它的功能是输入两个模式,找出它们的相关元素间的匹配关系,然后输出两个模式的元素间的映射关系(mapping)。模式匹配就是要找出模式的元素间的映射关系,用匹配算法构造相应的匹配器。匹配器可以是单个匹配器,即基于一个单独的匹配规则计算出最终的匹配映射关系;也可以是单一种匹配器的混合,可能是在一个混合匹配器中运用多种匹配规则进行匹配,也可能是应用复合的匹配器,对不同的匹配器计算出的多种匹配结果进行合并。
图10给出了GML模式匹配流程先把任意的两个GML模式转换成两个树状结构,然后在GML模式树的基础上计算出两个GML模式相关元素的相似程度,即两个GML模式相关元素间的相似度,并对相似度大于设定阈值的元素进行匹配,最后得到两个GML模式间的映射关系。
语义相似度是语义匹配所得到的相似系数,描述两个模式中语义匹配程度,取值范围
,用符号L表示。语义匹配是从元素的名称、数据类型和命名空间方面来进行匹配,包括对这些元素属性的分类和比较工作,将两个模式中的相关元素进行比较,找出其中的同义词和近义词、缩写和简写。语义匹配主要包括四个方面,即同义词、近义词匹配,缩写、简写匹配,数据类型匹配和字符串匹。
结构相似度是结构匹配所获取的相似度系数,基于模式中元素的上下文以及它的父子节点对两个模式元素进行匹配,确定结构相似度,结构相似度取值范围
,用T表示。结构匹配是一个动态的过程,在进行匹配的过程中,一个模式中的某一元素的父子节点和另一个模式中的某特定元素的父子节点的结构相似度可能会发生变化,故这两个元素的结构相似度也会发生相应的变化。图11给出了GML模式匹配总体功能框图。
GML模式生成树算法如下输入一个待转换的GML模式;输出一个包括原GML模式的结构信息和节点属性信息的GML模式树;Creat_tree=dom_tree(GML模式,GML模式树各节点)dom_tree(GML模式现有文件,GML模式树现有树节点){IF现有文件不为空THEN新树节点=生成树节点(现有文件中的对应元素);IF新树节点的类型为基本类型,THEN RETURN新树节点;walk_node(现有文件,新树节点);}walk_node(GML模式现有文件,GML模式树现有树节点){FOR现有树节点中的每个子节点{现有子节点=现有树节点中包含的子元素;IF现有子节点的类型在其它GML模式中被定义THEN在相应GML模式找到该子节点的类型;新子树节点=生成树节点(现有文件中的对应子元素);SET新子树节点做为现有树节点的孩子结点;walk_node(GML模式现有文件,GML模式树现有子树节点);}}GML模式匹配算法是把两个已转换成树状结构的GML模式进行匹配。GML模式匹配算法遵循以下原则对于两棵树中的叶节点,如果数据类型或语义上高度相似,则认为它们在结构上相似;如果叶节点的兄弟节点或父节点相似,也可认为叶节点相似;两个非叶节点如果在语义上相似或其子树相似,则认为这两个非叶节点相似;如果两个非叶节点的叶节点高度相似而其直接的节点不相似,仍可认为这两个非叶节点在结构上是相似的。GML模式匹配算法如下输入两个待匹配的GML模式树;输出两个GML模式间相关元素的映射关系;matching(GML模式树tree1,GML模式树tree2){FOR tree1中的每个树节点t1
FOR tree2中的每个树节点t2 SET语义相似度(t1,t2);FOR tree1中的每个叶节点11FOR中的每个叶节点12create_mapping(11,12);tree1’=tree1的后序遍历,tree2’=tree2的后序遍历;FOR tree1’中的每个树节点t1’FOR tree2’中的每个树节点t2’create_mapping(t1’,t2’);RETURN the mapping;}create_mapping(GML模式树节点node1,GML模式树节点node2){结构相似度=计算结构相似度(node1,node2);相似度=加权平均(语义相似度(node1,node2),结构相似度(node1,node2));IF相似度>阈值THEN生成mapping(node1,node2);}2)基于Ontology(本体论)的GML数据集成本发明采用基于Ontology的方法来定义概念,进行语义描述和知识表达,进而用来解决集成中的语义和结构异构问题。采用基于GML Schema自动生成局部Ontology,集成后得到蕴涵这些局部Ontology的一个最小的全局Ontology,来为用户检索进行导航。过程如下①确定Schema中element以及他们的层次关系,即继承的关系。由于Schema已经有一些继承的概念,这些关系可以在Ontology更为明确地表示出来。
②为上一步所选中的每一个element创建class定义,同时明确定义它们之间的继承关系。
③确定第一步中class的属性以及它们之间的关联关系。
④区分上一步确定的属性和关系,如果是class和class之间的关联,则定义为ObjectProperty;如果是class和RDF literal、XML Datatype之间的关系,定义为DataTypeProperty。
⑤为第4步中确定好的属性关系创建定义,并确定他们的Domain以及Range。
⑥添加命名空间以及Ontology头部定义,并为定义好的class和property添加注释,也就是用自然语言按作者的意图说明概念,并添加定义同义词或者缩写。
局部Ontology集成主要用合并和校正方法实现,方法如下映射要把多个Ontlogy合并到一个全局Ontology中,第一步是创建一个他们之间的映射。将两个Ontology中的概念不考虑它的上下文和属性关系,分别作为源Cs和目标Ct集中的元素,两个集合中元素的次序是依照概念继承的次序的,即如果m<n,Csm一定是Csn的直接或者间接的超类,集合Ct中也是同样。假定两个集合中的概念是1∶1的映射,且概念间不存在多继承的关系,两个Ontology中的概念集经过映射后,得到一个匹配矩阵M,矩阵M的元素mij的取值或为空,或者为“≡”、“⊥”、“” 和“”。如出现“⊥”,合并算法对这种情况视同空值一样处理,只是在两个概念定义中添加“disjointWith”约束,以利于以后的推理。
合并利用M,将两个局部Ontology中定义的class以及相关的property,根据mij的取值添加进目标Ontology中,而成为全局Ontology。
①相应于取值为“≡”的矩阵元素mij,概念Csi和概念Ctj在合并后的全局Ontology中要合并为一个概念,原来Cs中所有概念或属性定义中的取值为Csi的用Ctj替换;②如果mij取值为“”,将Csi定义中“subClassOf”的取值改为Ctj,Csi其它相关属性不变引入;如果存在mik(k≠j)取值也为“”的话,则依据Ctj与Ctk的关系来作决断如果Ctj是Ctk的子类(即j>k),则将Csi定义中“subClassOf”的取值改为Ctj,反之改为Ctk;③如果mij取值为“”,将Ctj定义中“subClassOf”的取值改为Csi,Csi其它相关属性不变引入。如果存在mik(k≠j)取值也为“”,则依据Ctj与Ctk的关系来作决断如Ctj是Ctk的子类(即j>k),则将Ctk定义中“subClassOf”的取值改为Csi,反之改Ctj的属性;④对应于取值为空的mij,概念Csi的定义和相关属性不加改动直接添加进目标Ontology中。
在上述各步骤完成后,还要消除合并后的Ontology可能会存在一些问题,把由于合并和改变继承关系而引起的Object Property定义的一些domain和range的取值进行调整,消除冗余。最后处理的结果即是根据所确定的映射关系将源Ontology中的概念和目标Ontology中概念无冗余地集成的一个全局Ontology。
校正在合并后,要让Ontology更为完善,还需要继续做一些校正工作。如在上面的样例中,就有River和Lake,被认为是相容的概念,它们有共同之处,在Wordnet的定义中,它们可以看作是“body of water”的子类,所以,在合并后的Ontology之中可添加一个“body of water”的class,作为“River”和“Lake”的父类,相应class之间的关联也跟着作调整。如果有多个局部Ontology,可以一直把它作为源Ontology,把已经存在的全局Ontology作为目标Ontology,执行以上步骤,实现Ontology的集成。
本发明的基于Ontology的空间信息集成中,GML模式匹配所用数据库中包含的特殊领域信息主要来自于OGC和GML2.0中定义的模式、命名空间等。知识库中包含有关地理实体的各种空间信息定义以及非空间属性的概念,辅助信息可以对数据字典和知识库中所包含的知识进行补充,也可用来对匹配结果加以限制。通过数据库和匹配算法,自动地将两个结构和语义上存在异构的模式进行匹配,得到一个描述两模式间相关元素的映射关系。最终,生成集成后的GML Schema和GML文档。
基于SVG的地理信息发布方法与技术本发明选择W3C推荐的SVG矢量格式标准来实现对地理信息发布。SVG本身也是基于XML的,GML文档转换到SVG实质上就是将一种格式的XML文档转换成另一种格式的XML文档,可以通过样式表(XSL)实现,通过将编写好的样式表(XSL)和GML源文件传递给XSLT处理器执行而实现的。对于GML通过样式表转换后得到SVG文档,在浏览器安装了支持SVG显示的插件后,在浏览器可以直接打开SVG文档,浏览器对SVG解释执行生成相应地图。
由于用户查询是变化的,相应的GML文档也是变化的,则GML文档向SVG转化时所用的样式表也是变化的,所以样式表应该动态生成。因此,在中介器上有一个元数据数据库,每一个元数据对应一个样式表,如元数据LineString对应一个名为LineString.xsl的样式表。当GML文档向SVG转化时,先对GML文档进行遍历,将出现的元数据所对应的样式表集成,生成一个新的样式表;根据这个样式表将GML文档转化为SVG图像;再将SVG图返回给用户。
基于SVG的发布效果附图14所示,整个SVG图由4个视图组成视图1显示空间信息;视图2显示图层控制,表示视图1共有几个图层,如图中有三个图层,分别为Cities、States、Rivers,通过对图层前单选框选择可控制图层的显示;视图3为视图1的缩略图,通过对绿色方框拖动实现对视图1中图形的拖动;视图4为工具栏。工具栏中共有9个控键,其主要控键功能分别为对视图2控制进行点选,可控制视图2的显示与不显示;对视图3控制进行点选,可控制视图3的显示与不显示;对添加标注层点选,可对视图1中所有的地理空间对象添加标注;对添加单个标注点选,可对视图1中单个地理空间对象添加标注;对非空间信息查询点选,并选择视图1中的单个地理空间对象,可显示此地理空间对象的非空间信息;对视图1恢复点选,可使视图1中的图形恢复初始大小。
当GML文档向SVG转化时,先对GML文档进行遍历,将出现的元数据所对应的样式表集成,生成一个新的样式表;根据这个样式表将GML文档转化为SVG图像;再将SVG图返回给用户。但用户需要显示的可能不是一个图层,而是多个图层的叠加结果,为此本发明需要把多个SVG进行合成,然后显示最后的结果SVG图。多个SVG进行合成的步骤如下①解析一个固定头和尾的SVG文件main.svg到内存为一个DOM树DOM1;②解析需要合并的SVG文件temp.svg为一个DOM树DOM2;③将DOM2中的元素插入到对应DOM1中指定的位置;④重复步骤③的操作,直到所有需要的元素全部插入;⑤如果还要合并新的文件,转到②,否则转到⑥;⑥把内存中DOM1内容写入指定的文件。
为了提高GML到SVG的转化效率,本发明设计了一种新的XSLT处理器,其设计原理为将样式表文件以DOM方式解析为一棵DOM树存入内存中,以SAX方式解析源文件,每遇到一个元素标记就将样式表树遍历一遍,若是需要的元素就将数据提取出来,若不需要就忽略。在转换时,当通过SAX解析器遍历源文件时,每遇到一个元素标记就将样式表树遍历一遍。
MAGGIS系统中空间信息元数据管理在MAGGIS原型系统中,本发明针对系统中用户登录、用户权限管理、移动Agent查询处理、网络状况动态感知以及资源表、局部元数据存放与更新等一系列问题,建立了空间信息元数据及其管理机制,从而将分布于不同站点的GIS服务器上的地理信息组成一个有效的整体,便于管理和查询。本发明采用了空间信息全局元数据、空间信息局部元数据分离的方式对系统资源进行管理。
全局元数据的设计主要解决所有基于移动Agent的地理信息服务器群的资源共享用户的登录角色的设定对于后台运行的服务器群的网络流量以及服务通讯状况监测的实时数据等一系列核心问题。全局元数据包括包括全局元数据库中的一些数据表,有资源表、GIS服务器通信状况表、用户表、SNMP表、属性对应图层表、用户权限表等,附图12给出了MAGGIS空间信息全局元数据结构。
资源表中记载了分布于网络中的GIS服务器所处的地址、服务器名字、机器名字、所能提供的地理信息服务的图层名及ID等。一方面,为用户查询GIS服务器所能提供的地理信息服务提供了依据,另一方面,也为GIS服务器根据用户所提交的请求进行分布式地理信息查询提供了信息。
用户表和用户权限表中记载了不同的用户所具有的角色及其所具有的访问权限。当客户端想启动移动Agent的客户端执行环境(Client_Applet)时,必须先通过用户合法性认证,进行基于口令和密码算法的身份验证,防止非法使用系统数据资源。采用MD5密码算法对用户和密码信息进行加密,这样在用户表里显示出来不再是明码而是密文。
SNMP表,GIS服务器通信状况表记录服务器的网络流量、连通情况等状态信息。SNMP表的作用就是设定一个计划,使得移动Agent能够按照这个计划不断地监测并收集网络设备的通信信息和有关网络设备的统计数据,并把这些数据记录到一个管理信息库中。GIS服务器通信状况表记载在不同时刻不同站点的GIS服务器的通信状况及其通信速度,为移动Agent执行用户的空间信息查询任务提供依据。
MAGGIS系统中,采用移动Agent机制通过发送移动代码,按照动态巡回计划移动到各个指定服务器,向管理信息库发出查询信号,得到状态信息,并把这些数据记录到发送移动代码的GIS服务器方,存放在全局元数据的GIS服务器通信状况表中。
局部元数据的建立主要是对于MAGGIS系统中用到的GML、XSLT、SVG等文档的相关信息进行记录,满足在系统中根据这些相关信息实现动态的、透明的各种转换工作。从客户端用户角度来看,只须选择想要的查询内容,最后看到显示出的SVG图形,而不需要知道服务器端如何将各种地理信息格式转化为GML文档、GML文档集成、GML文档结合样式表XSL生成SVG文档,以及SVG的整合等工作。图13给出了MAGIS系统中空间信息局部元数据。
GML文件信息表存放MAGGIS系统中每个服务器的某些特定的地理信息数据。这些信息都先从某一种格式(如SHAPE、MIF等)的地理信息文件格式处理成GML文档。与此同时,需要对其进行加密,在表格里面提供加过密的GML文档的相关信息。在表里给出了生成的GML文件存放路径、GML文件名,根据这两个字段就可以提取出GML文档;另外,表里还给出对应的图层、GIS服务器URL地址、图层文件名等完整附属信息。
“一次存取来自数据库的GML信息表”中记录了在一次地理信息任务的查询中来自数据库的GML文档信息,“一次存取GML信息表”中则记录了来自于其它服务器文件格式地理信息的GML文档信息,它们是下一阶段转换为SVG的信息源。对于用户的每一次查询任务,系统中移动Agent从本地服务器或从其它GIS服务器上提取GML文档时,将这些GML文档存放到相应目录中,并记载它们的存放路径,作为下一阶段将GML文档转换成SVG文档的处理信息源。由于移动Agent取到的数据有可能来自ORACLE等数据库或GML文件,所以对应有两个不同的表格存放这些信息,都存放在本地服务器软件目录的相对路径下,便于做好对MAGGIS系统中数据发布的管理工作。
“XSLT文件信息表”存放了GML文件转换为SVG文件时所使用的样式表的位置及路径,“一次存取SVG文件表”指明了一个GML文件转换为SVG文件的存储位置,“一次取自数据库的SVG文件表”则保存了来自数据库的GML文档转换为SVG文件所在的位置。
“来自其他GIS服务器GML信息表”中保存了一部分以前移动Agent去远程GIS服务器取回的空间信息,即为了加快以后移动Agent执行任务的速度,移动代码取回其他GIS服务器的空间信息(GML图层)时,系统将这些信息暂存在本地,并同时记录这些相关信息到“来自其他GIS服务器GML信息表”中。在下次派遣移动Agent出去前,先察看该表格里内容,如果已经有想要取回的GML文件信息,则不用派遣移动Agent出去,而只需在本地提取以前已经保存的异地GML文件信息,从而提高系统整体的访问效率和相应时间。
MAGGIS系统中的安全机制在MAGGIS系统中,用户和Web Server、MA Server以及GIS Server都需要进行通信。在这些过程中,都存在着各种安全问题。
客户端和Web Server的之间的安全问题身份认证、权限控制、数据保密性问题MA Server和MA Server之间的安全问题MAServer和MAServer之间的安全通信问题、Agent对主机的威胁、主机对Agent的攻击。从编程语言方面,系统采用Java,因此也就使用了Java中的安全机制;在移动代理平台方面,实现的安全服务框架包括认证和授权机制、数据加密、数据完整性监测、安全通信等;网络传输中信息的传输采用加密措施。本发明通过对称加密和非对称加密相结合动态改变其密钥的方式来实现系统的安全,具体方法是①每两个GIS服务器之间有一对唯一的由RSA算法产生的公钥/私钥对,用于加密/解密双方之间通信私钥;②由GIS服务器A产生一个基于DESede的密钥;③GIS服务器A将该密钥加密,并将其发送给GIS服务器B;④GIS服务器B接收到该密钥后,用对应的密钥进行解密。
这样,GIS服务器B就可以用这个密钥加密发送给GIS服务器A的GML信息;而GIS服务器A则可以用相应的密钥进行解密,以获得所需要的地理信息。相应的网络传输数据的加密执行流程为①客户端提交查询任务;
②GIS服务器A端根据客户端提供的信息查询移动代理服务器A上的全局元数据,确定移动代码将要移动的目的地;③启动用户认证模块,对用户的身份和权限进行身份和权限的验证;④派出移动Agent去远程GIS服务器B;⑤远程GIS服务器B根据要求返回经过加密的GML文件格式的地理信息;⑥GIS服务器A接收返回的经过加密的GML文件格式的地理信息并解密。然后,GIS服务器A将其转换为SVG文件并返回给用户。
图15给出了空间信息传输简要加密执行流程。
由此,本发明给出了完整的基于移动Agent和GML的分布式空间信息集成方法。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
权利要求
1.一种基于移动Agent和GML的分布式GIS空间信息集成装置,包括分布式地理信息查询的MAGGIS(基于移动代理和地理标记语言的地理信息系统)系统框架采用嵌入式结构,将移动Agent环境(MAE)服务器嵌入到分布式网络GIS服务器中;由MAE对Agent进行直接控制,提供移动Agent的各种功能支持,创建一个位置透明、便于控制、安全可靠的运行环境,实现移动Agent在网络上的自由移动,支持对Web GIS(基于网络的地理信息系统)的透明访问、信息共享和互操作;MAGGIS中移动Agent的运行装置根据当前系统资源状况确定巡回计划确定移动Agent的动态巡回路线,实现了多Agnent的协作和Agent转储机制;转换装置在异构空间数据集成上,实现传统文件格式空间数据到GML文档的转换和基于Oracle Spatial的空间数据到GML文档的转换,设计对异构空间数据进行包装(wrapping)和整合的方案;运算装置在GML文档集成上,设计并实现基于结构相似度和语义相似度的模式匹配算法,采用基于Ontology的方法来定义概念,进行语义描述和知识表达,进而用来解决集成中的语义和结构异构问题,采用基于GML Schema自动生成局部Ontology,集成后得到蕴涵这些局部Ontology的一个最小的全局Ontology,来为用户检索进行导航;显示装置在空间信息发布上,采用SVG(可缩放矢量图形)标准表示地图信息,设计了GML到SVG转化和多SVG合成的算法以实现多图层的复杂地图显示;查询装置在空间查询实现上,局部查询在本地机上完成信息检索,全局查询采用基于有向查询图分析的空间查询优化算法,创建一个或多个Agent到不同的服务器节点去检索相关信息;通信装置对于Agent的通信机制,采用基于消息的通信、基于流的通信、远程对象通信和本地对象通信机制处理不同的通信问题;安全装置对于Agent的安全机制,对需要移动的Agent进行加密防止敏感信息泄露,加上数字签名实现Agent的认证,将安全约束嵌入MAE中以保护系统级资源,使用查询服务代理将Agent与数据集隔离以保护应用级资源。
2.如权利要求1所述的基于移动Agent和GML的分布式GIS空间信息集成装置,其特征在于分布式地理信息查询的MAGGIS系统主要由四个部分构成,即客户端、服务器端、连接端结点的互联网或内部网络以及网络中代表用户执行信息访问与检索任务的移动Agent。
3.如权利要求1所述的基于移动Agent和GML的分布式GIS空间信息集成装置,其特征在于MAGGIS中移动Agent的运行装置中移动Agent采用Java技术实现,定义若干Agent类,主要有与移动Agent管理相关的通用类和与GIS相关的特定的Agent类。
4.如权利要求2所述的基于移动Agent和GML的分布式GIS空间信息集成装置,其特征在于MAGGIS服务器由Web服务器,GIS服务器,移动Agent服务器三个主要部件构成,Web服务器是用户接入MAGGIS系统时的入口,负责向接入用户提供Client-Applet;GIS服务器由GIS数据库(包括空间数据库与相关属性数据库)和相关空间查询处理与分析部件构成,提供对本地数据查询的处理与分析支持;移动Agent服务器是移动Agent在本地活动(数据查询和路由中转以及暂时驻留等)的一个公共场所,为移动Agent利用本地资源(包括数据资源和处理、分析资源)提供接口环境。
5.如权利要求1所述的基于移动Agent和GML的分布式GIS空间信息集成装置,其MAGGIS中移动Agent的运行装置的运行方法是根据资源状况确定巡回计划,即根据客户端需求建立一个动态的巡回计划,系统在全局数据库中建立了一个全局数据资源表,在提交查询任务请求后,系统根据用户提交的请求及资源表中的全局元数据信息生成一个动态的移动代理执行巡回计划,提交给系统后台的移动代理服务器执行,即客户端查询任务作为一个巡回计划被提交到后台执行;动态巡回路线的生成是按照上述的网络中的资源状况、网络通信状况等信息,可以动态地生成相应的移动Agent巡回路线。
6.如权利要求1所述的基于移动Agent和GML的分布式GIS空间信息集成装置,其转换装置的转换方法如下a、传统文件格式空间数据转换为GML文档首先创建一个空的GML文档,参照系统中定义的GML文档结构,先插入一个Map元素作为根结点,再在Map元素下插入一个Layer元素(一个图层),然后开始读取ShapeFile或Mapinfo一个图层文件,对于图层中每一个空间对象,先判断其几何属性,若为点类型(包括多点类型)则创建一个几何属性为点类型的的Feature元素,再将非空间属性(非几何属性)创建为相应的XML元素插入到Feature元素中,最后将一个完整的Feature元素插入到Layer元素下,当读完一个图层文件,再判断是否有新的图层文件,若有再重复前面的步骤,若无则输出GML文档。b、基于Oracle Spatial的空间数据转换为GML文档①第一步骤创建一个GML文档,并创建其根元素以及在根元素的属性中指明相应的命名空间;②第二步骤在根元素下创建一个Layer元素,这个元素所包含的内容代表了一个图层;③第三步骤对于查询对象表得到的行结果集中新的一个行创建一个Feature元素;④第四步骤扫描结果集的字段元数据,判断出类型为MDSYS.SDO_GEOMEGRY的字段。若是,则表明此字段中存储就是空间数据,则转到第⑥步;⑤第五步骤对于普通的属性数据,创建与之同名的元素。转到第七步;⑥第六步骤对于空间数据,根据对象的类型进行处理,但任何一种类型,最终都是以一棵树的形式来返回它所表示的对象内容;⑦第七步骤包含所以属性数据的元素SimpleProperty和包含一个对象的所有空间数据的子树元素GeometryProperty都作为子元素增加到Feature元素中;⑧第八步骤行结果集是否扫描结束,若没有结束,则转到第③步;⑨第九步骤是否处理新的数据行集,若是,则转到第②步;⑩第十步骤处理结束,输出GML文档。
7.如权利要求1所述的基于移动Agent和GML的分布式GIS空间信息集成装置,其运算装置的运行方法是将GML模式转化成树状结构,通过测度两个树状结构的相似度来判断两个对应模式的匹配程度,自动地将两个结构和语义上存在异构的GML应用模式进行匹配,实现空间信息集成,采用基于Ontology的方法来定义概念,进行语义描述和知识表达,进而用来解决集成中的语义和结构异构问题,采用基于GML Schema自动生成局部Ontology,集成后得到蕴涵这些局部Ontology的一个最小的全局Ontology,来为用户检索进行导航,其步骤如下第一步确定Schema中element以及他们的层次关系,即继承的关系。由于Schema已经有一些继承的概念,这些关系可以在Ontology更为明确地表示出来;第二步为上一步所选中的每一个element创建class定义,同时明确定义它们之间的继承关系;第三步确定第一步中class的属性以及它们之间的关联关系;第四步区分上一步确定的属性和关系,如果是class和class之间的关联,则定义为ObjectProperty;如果是class和RDFliteral、XML Datatype之间的关系,定义为DataTypeProperty;第五步为第4步中确定好的属性关系创建定义,并确定他们的Domain以及Range;第六步添加命名空间以及Ontology头部定义,并为定义好的class和property添加注释,也就是用自然语言按作者的意图说明概念,并添加定义同义词或者缩写。
8.如权利要求1所述的基于移动Agent和GML的分布式GIS空间信息集成装置,显示装置的实现方法是选择W3C推荐的SVG矢量格式标准来实现对地理信息发布,SVG本身也是基于XML的,GML文档转换到SVG实质上就是将一种格式的XML文档转换成另一种格式的XML文档,可以通过样式表(XSL)实现,通过将编写好的样式表(XSL)和GML源文件传递给XSLT处理器执行而实现的,对于GML通过样式表转换后得到SVG文档,在浏览器安装了支持SVG显示的插件后,在浏览器可以直接打开SVG文档,浏览器对SVG解释执行生成相应地图。
9.如权利要求1所述的基于移动Agent和GML的分布式GIS空间信息集成装置,其查询装置的实现方法是采用移动Agent机制通过发送移动代码,按照动态巡回计划移动到各个指定服务器,向管理信息库发出查询信号,得到状态信息,并把这些数据记录到发送移动代码的GIS服务器方,存放在全局元数据的GIS服务器通信状况表中。
10.如权利要求1所述的基于移动Agent和GML的分布式GIS空间信息集成装置,其安全装置实现方法是通过对称加密和非对称加密相结合动态改变其密钥的方式来实现系统的安全,具体方法是第一步每两个GIS服务器之间有一对唯一的由RSA算法产生的公钥/私钥对,用于加密/解密双方之间通信私钥;第二步由GIS服务器A产生一个基于DESede的密钥;第三步GIS服务器A将该密钥加密,并将其发送给GIS服务器B;第四步GIS服务器B接收到该密钥后,用对应的密钥进行解密。
全文摘要
本发明涉及一种基于移动Agent和GML的分布式GIS空间信息集成装置与方法,其装置包括分布式地理信息查询的MAGGIS系统框架、MAGGIS中移动Agent的运行装置、转换装置、运算装置、显示装置、查询装置、通信装置和安全装置。本发明的方法是针对Web环境下空间信息获取、集成与发布的新需求,提出了基于移动Agent、GML和SVG的分布式GIS构建、集成与发布体系结构。建立移动Agent环境,利用移动Agent完成空间信息的获取;采用GML标准实现对分布、异构的空间信息的包装和集成;给出了GML模式匹配和GML文档的集成方案,解决异构空间信息集成中的语义和结构冲突问题;采用SVG标准进行地图的通用化显示和交互操作,实现空间信息的Web发布。
文档编号H04L12/28GK1633092SQ20041006118
公开日2005年6月29日 申请日期2004年11月25日 优先权日2004年11月25日
发明者关佶红, 周水庚, 边馥苓, 陈晓龙, 朱付保, 王雷春, 虞为, 王荣, 刘旭军 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1