面向多源异构地理信息资源的集成框架及集成方法与流程

文档序号:12694765阅读:341来源:国知局
面向多源异构地理信息资源的集成框架及集成方法与流程

本发明涉及地理信息技术领域,特别是一种面向多源异构地理信息资源的集成框架及集成方法。



背景技术:

近年来,随着生产生活高度信息化,地理信息服务在公共交通、社交平台、购物娱乐以及智慧城市、政府决策等领域逐渐成为各类服务所依托的基础模块。各行业、部门积累了大量的地理信息相关资源和服务应用,但由于缺乏有效的资源整合方法,导致形成了为数众多的“资源孤岛”,造成资源浪费和不必要的重复建设。

为提高地理信息资源利用效率,降低生产管理成本,通过资源整合方案为用户提供一种面向多维数据的共享服务方式成为新的趋势,具备高度整合能力的资源共享平台应运而生。然而由于地理空间数据规模的不断扩大、地理信息服务架构的日趋复杂、同时企业因业务需求的不同导致平台语言版本的各异等情况,给不同平台间资源共享的过程带来诸多问题。

构建互通互联的资源共享服务需要集成远程方法调用、数据传输、数据同步、消息分发等多种关键技术,建立完整的框架技术体系。早先的资源集成框架大多采用面向服务的体系架构(service oriented architecture,SOA)思想,具体实现有Web Service,CORBA、DCOM和RMI等方式。但随着服务规模的不断扩大、性能指标的不断提升,上述实现方式均或多或少地存在着问题,具体分析如下:

1.Web Service的性能、功能单一等缺陷逐渐显露。无论是在网络带宽还是CPU开销方面,都会给应用造成严重的性能问题,以至于该技术无法适用于许多对高性能以及互操作要求极为频繁的系统。

2.CORBA和DCOM因其庞杂的技术标准以及平台兼容性方面的缺点而难以广泛推广。

3.RMI是Java语言的远程调用,两端的程序语言必须是Java实现,无法支持不同语言之间相互通信。

在数据集成方面,早先的集成框架尝试将数据资源转化为标准的方式(XML)进行访问,但依然面临着效率低下的问题。

在数据同步方面,主流的数据同步解决方案有数据库厂商提供的数据同步技术和基于捕获变化技术自行定制开发的数据同步技术。然而,也存在着如下问题:

1.厂商提供的同步技术往往都不支持异构数据库的同步,难以满足要求。

2.很多学者都提出了基于捕获技术的数据库同步技术,如沈敏利用触发器与存储过程结合从源数据库子系统中获取变化数据,刘永毅提出了一个改进的主文本更新法与时间戳相结合的策略。但这些方法没有统一的技术标准,存在各种限制条件,不适用于大型系统。

另外,以往的资源集成框架主要关注于服务资源和数据库资源的集成,对于消息资源和非结构化数据资源的传输没有给出严谨、可用的实现方案。

综上所述,在异构环境间的服务调用、消息通信、数据同步和数据传输方面,目前的地理信息资源共享平台并没有一套完善的解决方案和框架体系。



技术实现要素:

本发明要解决的技术问题是针对上述现有技术的不足,而提供一种面向多源异构地理信息资源的集成框架,该面向多源异构地理信息资源的集成框架针对当前信息集成技术存在的不足以及资源整合对开发复杂度和性能等方面的要求,提供一种模块化的分布式信息资源共享技术解决方案,用于解决各类地理信息资源在服务调用、消息通信、信息同步、数据传输等过程中出现的问题,提高网络化资源利用效率,降低资源共享成本。

为解决上述技术问题,本发明采用的技术方案是:

面向多源异构地理信息资源的集成框架,包括四个模块和将四个模块进行整合的轻量级J2EE框架。

四个模块分别为服务集成模块、消息管理模块、结构化数据同步模块和非结构化数据传输模块。

服务集成模块利用ICE中间件技术进行分布式应用程序的开发和部署;服务集成模块包括UI界面、注册中心和服务部署工具;其中,注册中心通过部署在服务端的IceNode获取宿主机以及服务信息;UI界面用于展示注册中心所获取的信息,并能对服务进行启动或停止操作;服务部署工具能快速部署新的IceNode节点服务,并对原有IceNode节点服务进行升级或回滚操作。

消息管理模块为由一系列消息队列组成的消息队列集群,地理信息系统通过消息队列集群进行消息通信,从而为各个业务模块之间的消息驱动提供基础支持;消息队列中的消息内容来源于各个业务模块,各个业务模块将消息发送到消息管理模块的指定通道上,调用相应消息中间件完成消息通信。

结构化数据同步模块包括日志收集解析工具CANAL和若干个Node节点;日志收集解析工具CANAL部署在数据同步发起端;每个Node节点均包括数据接入、数据提取、数据转换和数据载入四个阶段;结构化数据同步模块采用增量日志的方式获取各类数据库的数据变化,通过模拟SETL数据仓储过程实现各类数据源中的数据同步;同时,文件作为数据库中某条数据记录的附件,在数据表发生变化时随数据一起同步。

非结构化数据传输模块包括部署在服务端的CTRANS传输服务和第三方存储模块;利用CTRANS传输服务基于UDP协议实现多品类影像资源在不同平台间的的高效传输、批量传输和断点续传服务。

服务集成模块还能提供按需启动服务器、代理分发、异步事件分发、应用配置和应用补丁升级的服务。

业务模块包括订单状态变更、作业状态变更、计划下达或异常报警。

结构化数据同步模块中所涉及的各类数据源包括mysql、oracle、media以及Hbase。

一种面向多源异构地理信息资源的集成方法,地理信息系统通过上述集成框架实现对各类地理信息资源的集成;客户端能够通过相应接口调用集成后的各类资源;地理信息资源的集成方法为服务集成模块集成、消息管理模块集成、结构化数据同步模块集成和非结构化数据传输模块集成中一种或多种的组合。

采用服务集成模块进行地理信息资源集成的方法,包括如下步骤。

步骤F1:服务端定义Slice接口描述文件并编译生成对应语言的接口文件,服务端相应服务继承接口实现功能。

步骤F2:客户端使用与步骤F1中服务端相同的Slice接口描述文件并编译生成对应语言的接口文件,客户端继承调用接口实现服务对象调用。

步骤F3:服务定义ICE对象适配器,将步骤F2调用的服务对象与对象适配器进行绑定,完成服务发布。

步骤F4:利用服务部署工具将步骤F3发布的服务和IceNode部署到各个服务器中。

步骤F5:配置并启动注册中心。

步骤F6:进行服务注册,根据服务实现方式配置application.xml并加载到注册中心。

步骤F7:通过UI界面查看宿主机和服务信息,并对服务进行启动、停止操作。

步骤F8:客户端配置注册中心地址。

步骤F9:客户端调用服务时,向注册中心发送请求查询服务端点信息。

步骤F10:客户端利用端点信息与服务端所在IceNode建立连接。

步骤F11:IceNode将服务调用请求发送给相应服务。

步骤F12:服务完成响应后通过IceNode将结果返回给客户端。

所述步骤F6中,服务实现方式为采用JBOSS作为服务容器。

采用消息管理模块进行地理信息资源集成的方法,包括如下步骤。

步骤X1:在服务端配置各类消息队列。

步骤X2:业务模块创建链接工厂。

步骤X3:业务模块采用点对点或发布/订阅模式创建连接及会话。

步骤X4:创建消息,将消息发送到消息服务器的目的地。

步骤X5:消息服务器把消息转发给消息接收者或消息订阅者。

步骤X6:关闭连接。

采用结构化数据同步模块进行地理信息资源集成的方法,包括如下步骤。

步骤T1:部署日志收集解析工具CANAL和Node节点。

步骤T2:配置数据源,配置完成的数据源即可以作为发起同步的源端,也可以作为同步的目标数据库。

步骤T3:配置数据表,填写需要同步的数据表信息。

步骤T4:配置日志收集解析工具CANAL,根据服务功能,从步骤T2配置的数据源中选择需要获取日志的数据源,然后配置数据源账号、密码以及字符集,初始化日志获取位置。

步骤T5:配置channel,每两个数据源之间建立一条channel,每条channel可以包含两个不同方向的pipeline,每个pipeline为单一方向通道。

步骤T6:配置pipeline,选择Node节点以及日志收集解析工具CANAL。

步骤T7:配置关系映射表,选择步骤T2中配置的数据源中的源数据表和步骤T3配置的目标数据库表。

步骤T8:启动channel,开始数据同步,源数据表数据变化时会根据映射规则同步到目标数据表。

采用非结构化数据传输模块进行地理信息资源集成的方法,包括如下步骤。

步骤C1:在服务端配置文件中配置“CTRANS_IP”与第三方存储模块进行连接,配置多品类数据下载地址“DOWNLOAD_PATH”。

步骤C2:服务发布多品类数据,调用CTRANS传输服务获取多品类数据实体并存入第三方存储模块。

步骤C3:CTRANS传输服务根据多品类数据实体的存储情况制作种子,种子中包含从第三方存储获取该多品类数据实体的相关信息。

步骤C4:服务通过消息管理模块选择相应的消息队列完成种子的发布、传输。

步骤C5:接收者通过消息队列获取服务发布的种子消息并将种子信息传输给接收者所在的CTRANS传输服务。

步骤C6:接收者调用CTRANS传输服务从第三方存储模块获取多品类数据实体,多品类数据实体存储在“DOWNLOAD_PATH”指定的路径,接收者可调用该多品类数据实体进行其他业务流程。

本发明主要面向海量的多源异构地理空间数据和地理信息服务,提供一种模块化的分布式信息资源共享技术解决方案。基于现有地理信息领域中资源的获取手段、分布位置、结构特性等因素,从跨域数据实体传输、分布式地理信息同步、远程服务调用、多维平台消息管理等方面设计并实现相应方案模块,然后通过轻量级J2EE框架对各模块进行整合,进而实现了如下效果:

1)实现了一套完整的地理信息异构资源集成框架,解决了服务、消息、结构化数据和非结构化数据在不同平台间的调用、传输和同步等问题。

2)支持手机、平板、电脑等多种终端服务调用方式。

3)面向C/S、B/S等不同平台架构,与现有解决方案相比,本发明有着明显的性能优势。

4)与现有技术相比,本发明在扩展性以及开发简易性方面优于同类技术方案。

附图说明

图1显示了本发明一种面向多源异构地理信息资源的集成框架的结构示意图。

图2显示了地理信息资源集成框架实施架构图。

图3显示了地理信息资源集成框架服务响应时间与在线用户数量关系的测试结果。

图4显示了地理信息资源集成框架文件同步时间与文件数量关系的测试结果。

图5显示了地理信息资源集成框架文件同步时间与文件大小关系的测试结果。

具体实施方式

下面结合附图和具体较佳实施方式对本发明作进一步详细的说明。

如图1和图2所示,一种面向多源异构地理信息资源的集成框架, 包括四个模块和将四个模块进行整合的轻量级J2EE框架。轻量级J2EE框架为一项较为成熟的现有技术,这里将不再详述。

四个模块分别为服务集成模块、消息管理模块、结构化数据同步模块和非结构化数据传输模块。

服务集成模块利用ICE中间件技术进行分布式应用程序的开发和部署,实现服务的远程调用。如图1所示,服务集成模块具有多项服务,如服务1、服务2、服务3和服务4等,通过ICENODE中的服务调度中心实现上述多项服务间的路由选择和负载均衡,从而调用所需的服务资源。

如图2所示,服务集成模块包括UI界面、注册中心和服务部署工具。其中,注册中心通过部署在服务端的IceNode获取宿主机以及服务信息;UI界面用于展示注册中心所获取的信息,并能对服务进行启动或停止操作;服务部署工具能快速部署新的IceNode节点服务,并对原有IceNode节点服务进行升级或回滚操作。

服务集成模块支持调用运行在不同平台、多种语言开发的服务资源,实现服务资源整合和服务互操作。服务集成模块还能提供按需启动服务器、代理分发、异步事件分发、应用配置和应用补丁升级的服务。

消息管理模块,能将服务集成模块集成过程中产生的消息进行集中管理,实现服务通信、异步处理、日志收集、权限控制等运行时的功能支持。

消息管理模块为由一系列消息队列组成的消息队列集群,地理信息系统通过消息队列集群进行消息通信,从而为各个业务模块之间的消息驱动提供基础支持,并解决了系统间应用耦合、异步消息和流量削峰等问题。

消息队列中的消息内容来源于各个业务模块,各个业务模块将消息发送到消息管理模块的指定通道上,调用相应消息中间件完成消息通信。

上述业务模块包括订单状态变更、作业状态变更、计划下达或异常报警等。

结构化数据同步模块是面向sql、部分Nosql数据库中的结构化数据,通过表级数据虚拟化整合,实现日志解析、记录同步等功能。

结构化数据同步模块包括日志收集解析工具CANAL和若干个Node节点。

日志收集解析工具CANAL部署在数据同步发起端;每个Node节点均包括数据接入、数据提取、数据转换和数据载入四个阶段。结构化数据同步模块采用增量日志的方式获取各类数据库的数据变化,通过模拟SETL数据仓储过程实现各类数据源中的数据同步。同时,文件(如图片、二进制流等)作为数据库中某条数据记录的附件,在数据表发生变化时随数据一起同步。数据资源同步模块支持实时数据同步、多点数据插入、附件同步、异地机房同步、数据映射、过滤等多种数据资源同步需求。

结构化数据同步模块中所涉及的各类数据源包括mysql、oracle、media以及Hbase等。

非结构化数据传输模块包括部署在服务端的CTRANS传输服务和第三方存储模块。非结构化数据传输模块面向遥感影像等大数据量文件,通过CTRANS传输服务实现文件实体传输,支持断点续传、批量传输等功能,主要解决了地理信息服务中大量影像实体数据在不同平台间的传输,这些影像数据格式多种多样,大小由几十KB到几十GB不等。利用CTRANS传输服务基于UDP协议实现多品类影像资源在不同平台间的的高效传输、批量传输和断点续传服务。

一种面向多源异构地理信息资源的集成方法,地理信息系统通过上述集成框架实现对各类地理信息资源的集成;客户端能够通过相应接口调用集成后的各类资源;地理信息资源的集成方法为服务集成模块集成、消息管理模块集成、结构化数据同步模块集成和非结构化数据传输模块集成中一种或多种的组合。

采用服务集成模块进行地理信息资源集成的方法,包括如下步骤。

步骤F1:服务端定义Slice接口描述文件并编译生成对应语言的接口文件,服务端相应服务继承接口实现功能。

步骤F2:客户端使用与步骤F1中服务端相同的Slice接口描述文件并编译生成对应语言的接口文件,客户端继承调用接口实现服务对象调用。

步骤F3:服务定义ICE对象适配器,将步骤F2调用的服务对象与对象适配器进行绑定,完成服务发布。

步骤F4:利用服务部署工具将步骤F3发布的服务和IceNode部署到各个服务器中。

步骤F5:配置并启动注册中心。

步骤F6:进行服务注册,根据服务实现方式配置application.xml并加载到注册中心。服务实现方式优选采用JBOSS作为服务容器。

步骤F7:通过UI界面查看宿主机和服务信息,并对服务进行启动、停止操作。

步骤F8:客户端配置注册中心地址。

步骤F9:客户端调用服务时,向注册中心发送请求查询服务端点信息。

步骤F10:客户端利用端点信息与服务端所在IceNode建立连接。

步骤F11:IceNode将服务调用请求发送给相应服务。

步骤F12:服务完成响应后通过IceNode将结果返回给客户端。

采用消息管理模块进行地理信息资源集成的方法,包括如下步骤。

步骤X1:在服务端配置各类消息队列。

步骤X2:业务模块采用现有技术创建链接工厂。

步骤X3:业务模块采用点对点或发布/订阅模式创建连接及会话。

步骤X4:创建消息,这里的消息也即是指服务之间传输的信息;然后,将消息发送到消息服务器的目的地。

步骤X5:消息服务器把消息转发给消息接收者或消息订阅者。

步骤X6:关闭连接。

采用结构化数据同步模块进行地理信息资源集成的方法,包括如下步骤。

步骤T1:部署日志收集解析工具CANAL和Node节点。

步骤T2:配置数据源,配置完成的数据源即可以作为发起同步的源端,也可以作为同步的目标数据库。

步骤T3:配置数据表,填写需要同步的数据表信息。

步骤T4:配置日志收集解析工具CANAL,根据服务功能,从步骤T2配置的数据源中选择需要获取日志的数据源,然后配置数据源账号、密码以及字符集,初始化日志获取位置。

步骤T5:配置channel,每两个数据源之间建立一条channel,每条channel可以包含两个不同方向的pipeline,每个pipeline为单一方向通道。

步骤T6:配置pipeline,选择Node节点以及日志收集解析工具CANAL。

步骤T7:配置关系映射表,选择步骤T2中配置的数据源中的源数据表和步骤T3配置的目标数据库表。

步骤T8:启动channel,开始数据同步,源数据表数据变化时会根据映射规则同步到目标数据表。

采用非结构化数据传输模块进行地理信息资源集成的方法,包括如下步骤。

步骤C1:在服务端配置文件中配置“CTRANS_IP”与第三方存储模块进行连接,配置多品类数据下载地址“DOWNLOAD_PATH”。

步骤C2:服务发布多品类数据,调用CTRANS传输服务获取多品类数据实体并存入第三方存储模块。

步骤C3:CTRANS传输服务根据多品类数据实体的存储情况制作种子,种子中包含从第三方存储获取该多品类数据实体的相关信息。

步骤C4:服务通过消息管理模块选择相应的消息队列完成种子的发布、传输。

步骤C5:接收者通过消息队列获取服务发布的种子消息并将种子信息传输给接收者所在的CTRANS传输服务。

步骤C6:接收者调用CTRANS传输服务从第三方存储模块获取多品类数据实体,多品类数据实体存储在“DOWNLOAD_PATH”指定的路径,接收者可调用该多品类数据实体进行其他业务流程。

如图2所示,假设存在两个数据节点A和B,数据节点A中运行服务1和服务2,数据节点B中运行服务3和服务4,运行支持容器都是Jboss中间件。数据节点A中的服务1或服务2通过本发明的面向多源异构地理信息资源的集成框架调用数据节点B中的资源为例,对本发明的集成方法进行说明如下。

地理信息资源的集成方法优选同时包括服务集成模块集成、消息管理模块集成、结构化数据同步模块集成和非结构化数据传输模块集成。

1.首先服务1-4需要在服务集成模块中的注册中心中注册。

2.接着,服务调用:IceNode 1负责将调用请求发送给服务1,运行支持容器为Jboss服务1;IceNode 2负责将调用请求发送给服务2,运行支持容器为Jboss服务2;IceNode 3负责将调用请求发送给服务3,运行支持容器为Jboss服务3;IceNode 4负责将调用请求发送给服务4,运行支持容器为Jboss服务4。

当服务调用数据节点B中的服务资源时,集成框架通过ICENODE中的服务调度中心返回数据节点B中的所需服务资源。

3.消息管理:数据节点A和B之间的消息通信则记录在消息队列集群中统一管理。

4.数据同步:如果访问资源存在数据库表中,则通过结构化数据同步模块,经过两端的数据接入、数据提取、数据转换、数据载入等流程实现源端到目的端的数据同步。

5.数据传输:而对于一些影像资源的等非结构化数据,则通过CTRANS服务实现源端到目的端的对等传输。

图3主要是以地理信息资源共享服务中的地名服务和登录服务为例,在相同硬件环境下通过与RMI框架对比,集成框架中远程服务调用模块在资源占用率、响应速度等方面都要优于RMI等技术;数据库同步性能指标取决于目标数据库性能,数据大小、网络环境等多个因素,单机房同步初步性能为100tps,延迟100ms,5000tps,延迟1s,数据1kb大小,极限tps可达1万以上。文件作为数据库中某条数据记录的附件,在数据表发生变化时随数据一起同步。可以支持多种数据格式的附件同步,图片(gif、jpg、png、bmp)、压缩文件(xls,doc,exe)以及文件夹均支持。相关测试结果如图4、图5。

以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1