面向GIS增量数据的订阅与发布机制研究
2016-02-26胡正华孟令奎
胡正华,孟令奎,张 文
(武汉大学遥感信息工程学院,湖北 武汉 430079)
Research on Subscribe/Publish Mechanism for Incremental Data in GIS
HU Zhenghua,MENG Lingkui,ZHANG Wen
面向GIS增量数据的订阅与发布机制研究
胡正华,孟令奎,张文
(武汉大学遥感信息工程学院,湖北 武汉 430079)
Research on Subscribe/Publish Mechanism for Incremental Data in GIS
HU Zhenghua,MENG Lingkui,ZHANG Wen
摘要:在分析已有数据分发策略的基础上,提出了一种基于“订阅与发布”机制的GIS增量数据快速分发方法。该方法首先利用用户的注册信息记录用户感兴趣的数据范围或类型,当服务器接收到增量数据时,根据不同的用户对增量数据进行筛选,并提出了一种基于联想模式的数据关联查询策略,再将筛选出来的数据发送给相应的客户端用户。经试验论证,该方法能够针对不同的用户需求,将GIS增量数据快速准确地发送给客户端用户,有助于数据的有效利用和管理。
关键词:数据分发;订阅与发布机制;增量数据更新
近年来,随着遥感技术的高速发展和对地观测技术的成熟,获取地表环境信息的手段越来越多[1-3]。遥感数据因其具有多时相和快速获取的特点,逐渐成为空间数据的重要数据来源;与此同时,获取数据渠道的多元化和观测成本的降低,使得数据生产部门获取遥感影像的周期也越来越短,同一地区多时相、多波段的影像数据在不断增加[3]。利用遥感和数字摄影测量技术获取的遥感影像数据成为空间数据生产单位进行专题数据更新的基础。GIS数据更新周期的大幅缩短,使得邻近版本数据的相似度大大提高,数据的变化区域往往只是整幅数据的一小部分,再对新数据进行整体的入库不仅会增加数据管理部门的维护成本,而且也会使数据库中数据的冗余程度提高,浪费大量的存储空间。许多数据生产部门已经意识到利用增量更新的方式对新获取的数据进行存储和管理。对于客户端的用户来说,及时获取服务器端的最新数据,了解数据的变化和发展趋势,为决策和分析提供必要的数据支撑,成为一个至关重要的问题[4]。
本文基于现有的分发技术,将传统的“推”模式与“拉”模式进行了合理的整合,提出一种智能、高效的数据分发策略,将数据库产生的增量数据快速、准确地分发给客户端用户,保障用户能够动态掌握感兴趣区域的更新情况。这不仅有利于数据的充分利用、有效管理,也为用户提供了更可靠的决策支持和分析。
一、基于订阅与发布模型的分发机制
与已有的数据分发模式(“推”模式和“拉”模式)不同,增量数据的快速分发技术对传统的数据分发流程进行了适当的调整。它会在第一时间将增量数据自动发送给订阅了此类数据的用户,减少了用户各自单独获取此数据的通信开销。数据订阅方常常只对数据发布方所发布的某些特定的数据感兴趣。有了订阅信息,系统不需要将所有的增量数据发送给每个客户端,只需要针对有需求的用户发送相应的数据,这在很大程度上减少了低速网络的负载量;而且,如果用户没有在线,系统会一直保存增量信息直到该用户登录系统后,再将增量数据信息发送给客户端,这样就有效防止了客户端用户对服务器产生的增量数据遗漏接收的现象。
1. 基本流程
客户端用户在注册系统账号时,将订阅的数据请求连同用户的基本信息一起发送到服务器端,在数据库中记录其感兴趣的数据类型或地理范围以完成注册[5-6];当服务器接收到新的数据时,通过增量更新的方法,生成增量数据文件并写入增量信息表,将原始数据移入历史库;服务器利用每个登录用户在注册时记录的数据订阅信息对增量数据进行筛选,再将筛选出来的数据发送给相应的客户端用户。客户端在登录系统后就会接收到增量数据,此时客户端用户可以选择对数据的浏览和下载,最后系统再将这些增量数据对相应的用户标记为非增量数据,这样在用户下一次登录系统时就不会重复收到这些已经被客户端用户处理过的数据,其流程如图1所示。
图1 增量数据快速分发机制的流程
2. 核心机理
基于订阅与发布机制的数据分发策略主要利用了元数据技术来实现,用户在进行系统注册时订阅自己感兴趣的数据区域或数据类型,系统将这些信息录入用户元数据信息表以支持动态的数据分发机制。当有新的增量数据产生时,消息中心就会根据每个用户所关心的数据范围或类型对增量更新所产生的差分数据进行筛选和匹配,并自动将筛选出来的数据推送给对这些特定的内容感兴趣的用户,用户登录后就收到系统的消息提醒[7]。用户得到消息中心反馈过来的增量数据信息后可以选择下载和预览,从而保障了用户能够动态掌握感兴趣区域的更新情况。
(1) 订阅机制
用户既是遥感影像数据的供应方也是数据的需求方。在用户进行系统账号注册的同时,通过注册自己感兴趣的数据,告诉消息中心自己愿意接受的数据类别或范围,而不用考虑这些数据的来源,将这些信息连同用户的基本信息一起存储在数据库中,完成用户对数据的订阅[8],这相当于一个“预拉”的过程。订阅的含义可以被理解为一个简单的过滤器。这个过滤器通过将发布的增量数据与用户的订阅条件进行匹配来决定是否将这些数据发给某一用户[8]。本文在结合基于数据类型、地理范围订阅的基础上提出一种基于联想模式的数据订阅方式。
过去,用户常常因为需求表述不清楚,使得预计的搜索结果产生大量不相关的数据记录,对大量的数据结果进行审查的耗时[9]给用户快速获取期望的数据带来了各种困难。而实际上,数据的请求者总是希望通过一次服务请求后,一旦信息提供者有了新信息就主动发给信息请求者,而不需要信息请求者每隔一段时间去查询一次[10]。
基于联想模式的数据订阅是指通过数据之间的相关性来猜测用户可能感兴趣的数据。随着用户对不同的查询过程得到的结果数据进行下载,系统记录了前后下载的数据之间的关联次数,即关联因子,来表示这两类数据的相关程度,从而对用户的查询意图进行预测[11]。前一次下载的数据动态指定了后继的数据筛选策略,并直接影响了其他用户在下一次进行查询时关联得到的反馈数据[12]。不同用户对不同数据的下载过程,动态调整了后继的联想策略和筛选机制。通过大量用户对前后不同数据的下载就会对数据之间的相关程度进行修正,有效保证了数据之间的相关性,最终形成一个查询意图的知识库。通过这种联想模式的数据关联,使得对数据的查询操作具有了联想的能力,用户可以省去多次查询搜索的烦琐过程,使系统能够提供足够多的相关数据供其使用,保证用户能够获得更为全面的数据[13]。
(2) 消息中心
订阅与发布机制的核心组成部分为消息中心。在基于订阅/发布机制的分布式系统中,消息中心负责对增量数据信息的管理和维护,包括增量数据的数据类型、地理范围、贡献的用户和更新的时间等元数据信息。消息中心负责把数据在各个客户端之间传递,服务器端在接收到来自数据发布端的增量数据并完成对其的存储后,就将增量信息写入消息中心的增量数据表,当进行数据分发时,服务器会从该表筛选出用户感兴趣的数据推送到匹配的用户所在的客户端[8,14]。
这种形式的消息交互方式能够确保增量数据及时准确地发送到正确的客户端用户,也确保了不同来源的异构数据因客户端的不同需求而被整合到了一起。特别是在应急响应的情况下,许多应用都需要能够将地理空间信息及时完整地发送给正确的系统用户[8]。
(3) 分发机制
数据分发是整个分发系统中的推送步骤,负责向客户端用户提供安全、高效的数据分发服务[15]。当消息中心判断出增量数据中有客户端需要的数据时,就根据客户端所在的网络地址将消息发送过去。当客户端成功接收消息后可以选择对数据浏览和下载,同时将回执返发给消息中心,告诉消息中心该客户端已经收到了增量数据。最后消息中心再将这些增量数据对相应的用户标记为非更新数据,这样用户在下一次登录系统时就不会重复收到这些已经被客户端用户处理过的数据了。
数据发布模块还包含数据缓存机制,可以缓解对同一数据反复请求时给数据库带来的数据读写压力,从而有效提高了数据分发的效率。若更新的数据已经存在于服务器端的缓存中,则直接将缓存中的数据发送给客户端,否则先从数据库下载到服务器端的缓存后再发送给客户端。
二、原型系统的设计与实现
借助网络传输模块和用户访问权限模块,设计并实现了一个高度自动化、稳定运转的系统管理平台,保证了数据快捷、顺畅的传输,并具有统一的管理和监控能力,客户端节点动态地加入和退出都会告知中心服务器节点。
结合空间数据增量更新技术,本文利用苏州市某城区的航空遥感影像数据进行数据增量更新的试验,完整地实现了数据的自动化增量更新和增量信息的用户订阅与发布流程。为了验证系统基于订阅与发布机制下的分发技术的有效性,系统分别注册了两个用户,用户1为testUser1,用户2为testUser2,两个用户所注册的感兴趣地理范围不同(以米为单位的大地坐标),如图2所示。从用户所注册的感兴趣地理范围可以看出,testUser2感兴趣的地理范围与testUser1有重叠,但是其注册范围更大。
图2 测试用户注册
在原始数据库的基础上,原始数据与更新数据的对比如图3所示。可以看到,原始数据和更新数据包含了同一地理范围的空间对象,但是更新数据相比较原始数据,有部分房屋被拆迁改为绿化地带,空间对象发生了较为显著的变化。
图3 原始影像数据与待更新的影像数据
当用户1和用户2分别登录系统后,服务器分别向两个用户推送了不同的更新数据信息。用户接收到的更新数据都与自己注册的感兴趣范围有不同程度的相交,是用户所需求的数据。因为用户2比用户1注册的范围更大,因此用户2所接收到的数据块比用户1接收的数据块多,如图4所示,用户可以根据需要浏览或下载更新后的数据。
图4 不同用户接收到的增量数据
为了测试空间增量数据在订阅与发布机制下的执行效率,在100 Mbps的局域网网络带宽下,调整所更新的影像数据量,反复进行多组试验,获取了在不同数据量下进行分发的执行效率,并与“纯推模式”和“纯拉模式”进行了对比,见表1。
表1 订阅与发布机制与传统的推拉模式的数据分发效率比较
从表1可以看出,订阅与发布分发模块的执行效率较高,不会随着影像数量和数据量的增长而提高。随着数据量的增加,其分发效率趋于稳定增长,分发过程实现了完全自动化,是一种智能高效的数据分发机制。
同时,为了测试本文所提出的基于订阅与发布机制的分发策略在局域网环境下的健壮性,在100 Mbps网络带宽的局域网环境下,取4幅3.6 MB的遥感影像作为试验数据,逐次增加其中客户端用户的数量,并对客户端用户感兴趣的区域随机分配。经过多组反复试验,获取了在不同客户端数量下数据分发的执行效率,两种分发策略所对应的分发时间见表2。
表2 传统数据分发与订阅/发布分发机制的耗时比较
从表2的数据可以看出,当客户端的数量较少时,传统的数据分发策略和本文提出的数据分发策略的执行效率相差并不是非常大,但是随着客户端用户的增加,传统的数据分发策略因为需要将更新的数据全部发送给各个客户端,网络带宽一直处于高负荷状态,耗时明显增加;而本文所提出的增量式分发策略因为不需要将所有的数据发送给每个客户端,有较高的执行效率,所带来的延时相对比较稳定,不会随着客户端用户的增加而明显增长。试验表明数据增量式分发策略的效率较高,针对不同的用户需求,提供不同的数据更新信息,有助于数据的快速分发和有效利用。
三、结束语
本文主要讨论了在C/S局域网环境下海量影像数据快速分发机制,在基于主动推送和客户端请求这两种传统分发模式的基础上,提出了一种订阅与发布模式的增量数据快速分发策略,实现了将服务器端的增量数据快速、智能和高效地发送给有相应需求的客户端用户。试验表明本文所提出的空间增量更新数据的快速分发方法具有面向用户需求、自动化程度高等特点,非常适合在实际的数据生产中推广和应用。
参考文献:
[1]李赐健.基于小波变换的遥感图像分割方法研究[D]. 南昌:南昌航空大学,2013.
[2]LIU Yu,CHEN Kexiong,ZHOU Maiyu,et al. Research and Implementation of Mass Remote Sensing Image Management and Web Publishing System[C]∥2010 International Conference on Computer and Information Application. Tianjin: [s.n.],2010.
[3]黄文嘉. 基于变化影像块的遥感数据增量更新方法研究[D].长沙:中南大学,2011.
[4]JIAN Canliang,HUANG Menglong. Research on Geographic Information Database Incremental Updating Method[C]∥2010 International Conference on Audio,Language and Image Processing. Shanghai: [s.n.],2010.
[5]李新广,范明虎,杜武.面向空间信息智能分发的动态化用户偏好模型研究[J]. 测绘学报,2011,40(5): 646-654.
[6]吴天龙. 面向分布式异构数据源的个性化推荐系统的研究与实现[D]. 哈尔滨:哈尔滨工业大学,2013.
[7]SRIVATSA M, LIU L, IYENGAR A. EventGuard: A System Architecture for Securing Publish-Subscribe Networks[J]. ACM Transactions on Computer Systems, 2011,29(4):398-402.
[8]KASSAB A, LIANG S, GAO Y.Real-time Notification and Improved Situational Awareness in Fire Emergencies Using Geospatial-based Publish-subscribe[J]. International Journal of Applied Earth Observation and Geoinformation, 2010,12(6): 431-438.
[9]ALAMDAR F, KEYVANPOUR M R. Effective Browsing of Image Search Results via Diversified Visual Summarization by Clustering and Refining Clusters[J]. Signal Image and Video Processing, 2014,8(4): 699-721.
[10]杨云青.面向服务的校园信息共享系统设计与实现[D].南京:南京理工大学,2013.
[11]BASHIR S.Combining Pre-retrieval Query Quality Predictors Using Genetic Programming[J]. Applied Intelligence, 2014,40(3): 525-535.
[12]文军, 文贵华,丁月华. 面向查询意图的搜索引擎设计与实现[J].计算机应用研究, 2002,19(10): 131-133.
[13]周明建,高济.知识管理中的联想检索[J]. 计算机应用, 2004,24(7): 25-27.
[14]YAGURA K,KATO Y,KITADA T. Implementation of Publish/Subscribe System on Wireless Mesh Networks Word-mouth Information Distribution Service[C]∥7th Asia-Pacific Symposium on Information and Telecommunication Technologies. [S.l.]:Inst. of Elec. and Elec. Eng. Computer Society, 2008.
[15]方聪.基于对等架构的海量遥感数据分发系统的设计与实现[D].杭州:浙江大学,2013.
引文格式: 胡正华,孟令奎,张文. 面向GIS增量数据的订阅与发布机制研究[J].测绘通报,2016(1):45-48.DOI:10.13474/j.cnki.11-2246.2016.0011.
作者简介:胡正华(1986—),男,博士生,研究方向为空间数据管理和智能交通系统。E-mail: 927827190@qq.com
基金项目:高分辨率对地观测系统重大专项(08-Y30B07-9001-13/15)
收稿日期:2014-10-12
中图分类号:P208
文献标识码:B
文章编号:0494-0911(2016)01-0045-04