基于网格gis的数据同步更新实现方法

文档序号:7754780阅读:258来源:国知局
专利名称:基于网格gis的数据同步更新实现方法
技术领域
本发明涉及网格GIS (Geographic Information System)领域,尤其是基于网格 GIS的数据同步更新实现方法。
背景技术
网格GIS中数据库存储的都是海量的空间数据。这些异构的空间数据侧重于不同 的需求,提供不同的空间操作服务,分布在不同地理位置的服务器上。如显示、缓冲区、叠加 分析等空间操作需要的数据通常需要GB级别的数据传输。因此数据传输的性能已成为系 统性能一个重要指标,直接影响着系统的运行效率和。同时,分布式系统内节点的空间数据 的状态的变化需要及时更新至系统管理器,这也直接影响着系统的稳定和有效性。目前,分布式系统环境下系统内各个节点的空间数据的同步更新的存在如下问 题1、分布式环境下异构的操作系统和数据使得分布式系统的复杂性大大增加。各个 节点间的数据更新变得十分困难。2、根据空间数据传输数量大、传输速度要求高的特点,目前还缺乏通用、一致的有 效方法和应用方案。3、现有关系型数据库系统对异构数据更新支持不够。4、空间数据传输的安全性也较普通数据对网格GIS系统提出了更高的要求。

发明内容
本发明要解决的技术问题是提供一种可以高速、安全、通用的基于网格GIS的数 据同步更新实现方法。为了解决上述问题,本发明提供了基于网格GIS的数据同步更新实现方法,其不 同之处在于其方法包括以下步骤步骤1)、节点空间数据产生更新,并写入节点数据库的更新数据表中;步骤2)、本地守护进程定时访问节点数据库中的更新数据表,发现有更新内容后 读取更新数据发送至消息服务器;步骤3)、消息服务器接收更新数据,对发送来的更新数据表重新进行组织,然后写 入消息服务器数据表,发布更新消息,向订阅相关主题节点发送消息;步骤4)、接收端定时访问消息服务器接收信息,根据获取到的消息服务器数据表 来更新本地数据列表。按以上方案,所述步骤1)中产生更新的节点空间数据内容包括资源状态的改变、 资源属性的增加、资源属性的删除、资源属性的修改,上述更新内容都以数据表的形式保存 在本地节点数据库的数据表中。按以上方案,所述步骤2)中的守护进程为本地节点上运行的独立进程,定时访问 本地消息队列。
3
按以上方案,所述步骤3)的具体步骤为所述消息服务器以同步或异步接收方式 接收消息,解包消息后再根据更新消息的类型、时间、更新内容关键字对更新数据表进行分 类组织,然后写入消息服务器数据表,以消息类型进行发布更新消息,最后向订阅相关主题 节点发送消息。按以上方案,所述步骤4)的具体步骤为首先,节点初始化,然后接收端节点定时 消息服务器接收更新消息,接收端节点接收到更新信息后开始读取更新数据,最后接收端 节点根据获取到的消息服务器更新数据来更新本地数据库相关数据表。本发明的有益效果是本发明的基于网格GIS的数据同步更新实现方法,提供了 一种在分布式异构系统中,通用、快速的同步更新系统内节点数据的实现方法。使用Https 协议,更新速度快、错误率低,并具备良好的可扩展性。支持网格GIS安全管理模块对数据 进行加密,能够实现安全的数据传输。


图1是本发明的基于网格GIS的数据更新系统框图;图2是本发明的基于网格GIS的数据同步更新实现方法的流程图;图3是本发明的基于网格GIS的数据更新技术实现方法的详细流程图。
具体实施例方式以下结合附图进一步说明本发明具体实施方式
。图1是本发明的基于网格GIS的数据更新系统框图;如图1所示,其包括产生数据 更新的节点数据库、消息服务器、接收端数据库,产生数据更新的节点数据库以更新数据表 保存更新的节点空间数据,本地守护进程定时访问节点数据库中的更新数据表,发现有更 新内容后读取更新数据发送至消息服务器;消息服务器用于接收更新数据,以及对发送来 的更新数据表重新进行组织后写入消息服务器数据表,发布更新消息,向订阅相关主题节 点发送消息;接收端数据库定时接收来自消息服务器的更新数据,根据获取到的消息服务 器数据表来更新本地数据列表。图2是本发明的基于网格GIS的数据同步更新实现方法的流程图;如图2所示,基 于网格GIS的数据同步更新实现方法,其方法包括以下步骤步骤1)、节点空间数据产生更新,并写入节点数据库的更新数据表中;步骤2)、本地守护进程定时访问节点数据库中的更新数据表,发现有更新内容后 读取更新数据发送至消息服务器;步骤3)、消息服务器接收更新数据,对发送来的更新数据表重新进行组织,然后写 入消息服务器数据表,发布更新消息,向订阅相关主题节点发送消息;步骤4)、接收端定时访问消息服务器接收信息,根据获取到的消息服务器数据表 来更新本地数据列表。进一步的,所述步骤1)中产生更新的节点空间数据内容包括资源状态的改变、资 源属性的增加、资源属性的删除、资源属性的修改,上述更新内容都以数据表的形式保存在 本地节点数据库的数据表中。进一步的,所述步骤2)中的守护进程为本地节点上运行的独立进程,定时访问本地消息队列。进一步的,所述步骤3)的具体步骤为所述消息服务器以同步或异步接收方式接 收消息,解包消息后再根据更新消息的类型、时间、更新内容关键字对更新数据表进行分类 组织,然后写入消息服务器数据表,以消息类型进行发布更新消息,最后向订阅相关主题节 点发送消息。进一步的,所述步骤4)的具体步骤为首先,节点初始化,然后接收端节点定时消 息服务器接收更新消息,接收端节点接收到更新信息后开始读取更新数据,最后接收端节 点根据获取到的消息服务器更新数据来更新本地数据库相关数据表。图3是本发明的基于网格GIS的数据更新技术实现方法的详细流程图,以下结合 图3进一步说明本发明具体实施方式
。如图3所示,在步骤301,节点产生空间数据更新,产生更新的节点空间数据内容 包括资源状态的改变,资源属性的增加、删除和修改。系统状态的变化情况能。这些内容都 以数据表的形式保存在本地节点数据库的数据表中。在步骤302,将更新内容写入节点本地数据库更新表,数据库系统自动将数据表中 的变化信息添加到数据更新表中。除了保存资源、系统等各种信息数据以外,本地数据库还 有一张或数张专门的数据表用来保存这些数据的变化信息;这些表叫做数据更新表。同时 根据数据更新表中的内容可以关联到相关更新内容所在的数据表。在步骤303,守护进程定时访问本地数据库更新表。守护进程为本地节点上运行的 独立进程。定时访问本地消息队列。在步骤304,判断是否有更新数据。守护进程判断更新表是否有更新信息,如果有 更新信息执行步骤305,如果没有更新数据,则返回步骤303,根据定时再次访问数据库更 新表。在步骤305,守护进程访问数据库读取更新数据表。在步骤306,创建消息,包括以下具体步骤A)、初始化消息将守护进程读取的更新数据表内容写入SOAP (Simple Object Access Protocol) 消息文件。消息为SOAP文件,分为两部分报头和消息主体。报头由路由信息以及有关该消 息的元数据组成。消息主体存储格式是XML格式。如果使用java实现本专利技术方法,消息分为五种数据类型一般分别为 Text (字符串类型),Stream(基本数值流),Map (名称-值对),Object (序列化的java对 象),Bytes( 二进制数据流)。B)、通过配置好的 WSDL(Web Services Description Language)文档来查找 ConnectionFactory0C)、通过配置好的WSDL文件来查找服务器端队列地址。D)、通过CormectionFactory结合C步骤查询到的服务器端队列地址来创建连接, 连接消息服务器。E)、创建会话 Session。F)、创建消息发送对象 MessageProducer。
MessageProducer用来将消息发送到消息服务器队列。通过Session. createProducer方法来创建。G)、创建消息接受对象MessageConsumerH)、前面几步属于初始化消息传输,现在初始化完成,开始传输。消息传输分为同 步和异步两种方式,如果消息服务器连接不成功,则采用异步发送方式,即过一定时间后再 次连接消息服务器发送消息。在步骤307,将守护进程读取的数据赋给消息对象,向消息服务器发送更新后的空 间信息数据包。传输过程使用ssl (Secure Socket Layer)加密打包,保证数据发送到正确的消息 服务器的同时防止数据中途被窃听及修改。在步骤308,写入消息服务器端队列。消息服务器接收消息分为同步接收和异步接收两种方式。在步骤309,解包消息,即消息服务器对接受到的加密数据包进行解译。在步骤310,消息服务器对解包后的消息进行组织,然后写入消息服务器端数据表 中。根据更新消息类型对更新数据表进行组织。组织方式为根据更新消息的时间、更 新内容关键字进行分类组织。在步骤311,以消息类型发布更新消息,依次包括以下具体步骤:A)、创建连接;
B)、创建会话;C)、创建主题发布对象TopicSubscriber;D)、开始连接,进入步骤312,发送 消息开始;在步骤312,向订阅主题的节点发送消息,发送消息后关闭连接。在步骤313,节点初始化,依次包括以下具体步骤A)、创建连接;B)、创建会话;
C)、创建主题订阅对象;D)、创建消息监听对象,并将它注册到主题订阅对象。在步骤314,接收端节点定时接受消息服务器的更新消息。节点收到消息后MessageListener. Java类自动调用。在步骤315,读取更新数据,例如可采用MessageListener. java的onMessage方法 用来将信息转换成文本消息(是可自定义类型的数据),并显示。在步骤316,利用更新数据更新本地数据库相关数据表。消息服务器端作为消息发送客户端创建队列消息服务器与节点的JMS方式为订 阅与发布模式。本发明涉及技术数据更新、Web服务技术、网络协议技术、数据库技术和数据传输 技术jms技术(Java Messaging Service Java消息服务),是一种基于网格GIS技术的分 布式空间数据库空间数据的同步更新技术。以上实施例只是本发明的较佳实施例,并非对本发明作较多的限制,凡是依据对 本发明的技术本质作简单修改或等同的变化和修饰,均仍属本发明保护的范围。
权利要求
基于网格GIS的数据同步更新实现方法,其特征在于其方法包括以下步骤步骤1)、节点空间数据产生更新,并写入节点数据库的更新数据表中;步骤2)、本地守护进程定时访问节点数据库中的更新数据表,发现有更新内容后读取更新数据发送至消息服务器;步骤3)、消息服务器接收更新数据,对发送来的更新数据表重新进行组织,然后写入消息服务器数据表,发布更新消息,向订阅相关主题节点发送消息;步骤4)、接收端定时访问消息服务器接收信息,根据获取到的消息服务器数据表来更新本地数据列表。
2.如权利要求1所述的基于网格GIS的数据同步更新实现方法,其特征在于所述步 骤1)中产生更新的节点空间数据内容包括资源状态的改变、资源属性的增加、资源属性的 删除、资源属性的修改,上述更新内容都以数据表的形式保存在本地节点数据库的数据表 中。
3.如权利要求1所述的基于网格GIS的数据同步更新实现方法,其特征在于所述步 骤2)中的守护进程为本地节点上运行的独立进程,定时访问本地消息队列。
4.如权利要求1所述的基于网格GIS的数据同步更新实现方法,其特征在于所述步 骤3)的具体步骤为所述消息服务器以同步或异步接收方式接收消息,解包消息后再根据 更新消息的类型、时间、更新内容关键字对更新数据表进行分类组织,然后写入消息服务器 数据表,以消息类型进行发布更新消息,最后向订阅相关主题节点发送消息。
5.如权利要求1所述的基于网格GIS的数据同步更新实现方法,其特征在于所述步 骤4)的具体步骤为首先,节点初始化,然后接收端节点定时消息服务器接收更新消息,接 收端节点接收到更新信息后开始读取更新数据,最后接收端节点根据获取到的消息服务器 更新数据来更新本地数据库相关数据表。
全文摘要
本发明涉及网格GIS(Geographic Information System)领域,尤其是基于网格GIS的数据同步更新实现方法,其方法包括以下步骤步骤1)节点空间数据产生更新,并写入节点数据库的更新数据表中;步骤2)本地守护进程定时访问节点数据库中的更新数据表,发现有更新内容后读取更新数据发送至消息服务器;步骤3)消息服务器接收更新数据,对发送来的更新数据表重新进行组织,然后写入消息服务器数据表,发布更新消息,向订阅相关主题节点发送消息;步骤4)接收端定时访问消息服务器接收信息,根据获取到的消息服务器数据表来更新本地数据列表。本发明的基于网格GIS的数据同步更新实现方法,提供了一种在分布式异构系统中,通用、快速的同步更新系统内节点数据的实现方法。
文档编号H04L29/06GK101902473SQ20101023276
公开日2010年12月1日 申请日期2010年7月22日 优先权日2010年7月22日
发明者万波, 叶亚琴, 吴亮, 吴信才, 周顺平, 胡茂胜, 陈占龙, 高伟 申请人:武汉中地数码科技有限公司;中国地质大学(武汉);北京中地时空数码科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1