基于云架构的Web地图服务实现方法

文档序号:7551984阅读:188来源:国知局
专利名称:基于云架构的Web地图服务实现方法
技术领域
本发明涉及Web地图服务领域,特别涉及一种基于云架构的Web地图服务实现方法。
背景技术
Web地图服务(Web map service,简称为WMS)遵循OGC的WMS1.1.1规范,利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。这个规范定义了三个操作=GetCapabitities返回服务级元数据,它是对服务信息内容和要求参数的一种描述;GetMap返回一个地图影像,其地理空间参考和大小参数是明确定义了的;GetFeatureInfo (可选)返回显示在地图上的某些特殊要素的信息。为了能够提供Web地图服务,丽S服务器中所存储的数据量既未庞大,例如,对于NASA LandSat 13数据集而言,第8层中国地区(从经纬度(70,5)到经纬度(135,60))的数据量就达到100GB,而且对于每一层数据,其体积是上一层的4倍左右。现有技术中,WMS服务器基本是以单节点为主进行架构的,面对庞大的数据存储量时,现有的WMS服务很难满足大数据量存储与高可靠性的严格需求。

发明内容
本发明针对现有技术以单节点为主的丽S服务存在数据瓶颈、可靠性不高的缺点,提供了一种基于云概念的,能够实现多机多节点的集群工作模式,具有较高的数据存储能力、系统负载能力和可靠性的新型基于云架构的Web地图服务实现方法。为实现上述目的,本发明可采取下述技术方案:
基于云架构的Web地图服务实现方法,包括负载均衡器、工作节点,所述工作节点包括WMS服务模块、分布式文件系统,所述分布式文件系统包括分布式文件系统接口、存储节点,具体步骤如下:
步骤一:所述负载均衡器接收Web地图服务请求;
步骤二:所述负载均衡器依据负载均衡策略选择一个工作节点作为接收请求的工作节点,并将所述请求发送至选定的工作节点;
步骤三:选定的工作节点的WMS服务模块对所述请求的URL进行解析,根据解析所得到的URL参数定位地图的经纬度范围和分辨率,根据所述经纬度范围和分辨率计算所需要的切图列表;
步骤四:所述丽S服务模块将所述切图列表中切图的名称发送至所述分布式文件系统,所述分布式文件系统根据所述切图的名称查找相应的切图并将找到的切图返回所述WMS服务模块,所述WMS服务模块通过所述分布式文件系统接口访问所述分布式文件系统,所述切图以文件形式储存,所述分布式文件系统通过所述存储节点访问所述文件;
步骤五:所述WMS服务模块对找到的切图进行拼接,调整拼接后切图的分辨率,根据所述经纬度范围对调整分辨率后的切图进行裁剪得到遥感影像栅格数据,并将所述遥感影像栅格数据发送至所述负载均衡器;
步骤六:所述负载均衡器返回所请求的遥感影像栅格数据。作为优选,所述负载均衡策略包括轮询、IP-HASH。作为优选,所述工作节点组成P2P网络。作为优选,还包括双层高速缓存策略,所述双层高速缓存策略使用双层高速缓存,所述双层高速缓存包括位于所述负载均衡器的第一缓冲区和位于所述工作节点的第二缓冲区,所述双层高速缓存策略包括以下具体步骤:
在所述步骤一中,所述负载均衡器在第一缓冲区中检测所述遥感影像栅格数据,如果所述第一缓冲区已经包含所述遥感影像栅格数据则执行步骤六;
在所述步骤三中,所述WMS服务模块对所述图像列表进行逐条判断,如果所述第二缓冲区已经包含所有的切图,则执行步骤五;如果所述第二缓冲区尚未包含所有的切图,则将尚未加载至第二缓冲区的切图的名称发送至所述分布式文件系统;
在所述步骤五中,所述负载均衡器将得到的遥感影像栅格数据记载至所述第一缓冲区。作为优选,缓存于所述双层高速缓存中的文件包括配置文件和遥感影像栅格数据。负载均衡是提高整个系统计算能力的关键所在。WMS是通过标准的http协议来进行通信的。对于http协议的请求是很方便去实现负载均衡的。同时,对本发明所涉及的应用环境而言,每一个请求都是独立的,也即每一个请求都是与session无关(会话无关)的。比如,在客户端中每一次请求的地图服务都是相对独立的,相互之间是毫无关系的,本次请求不会影响到其它的请求,其它的请求也不会影响本次请求。因而,在本发明中的负载均衡策略的选择时,无需考虑session问题,而只需考虑负载与均衡的问题。在本发明中,采用了轮询的策略。轮询策略实现简单,而且效率很高,同时所消耗的资源非常小,是一种非常轻量级的策略,非常适合本发明的应用场景。在本发明中,分布式文件系统是采用了 P2P架构,而非传统的主从架构。P2P架构在系统稳定性、有效性等方面较主从架构有着很大优势。在本发明中,采用P2P架构的分布式文件系统还有一个原因是:在本发明所设计的集群中,每个工作节点都有三种角色:WMS、分布式文件系统接口、分布式文件的存储节点。其中分布式文件系统接口、分布式文件的存储节点与文件系统有关。如果采用主从结构,那么系统中也就都通主节点来作为分布式文件系统接口。这样,主节点就是会成为整个集群的单点故障,会使得系统的稳定性与可用性大大降低。在本发明中,每个节点中的WMS都使用本节点上的分布式文件系统访问接口,一但本节点的分布式文件系统节点的功能宕机,也就本节点上的WMS没法使用,而不会造成整个集群都宕机的严重错误。在P2P架构的分布式文件系统中,每一个节点都可以是文件系统访问接口,都可以是分布式文件系统的存储节点,而且所有的节点共同合作,共同维护整个文件系统的名字空间(即维护分布式文件系统中文件到chunk数据块之间的映射以及chunk数据块与存储节点之间的映射)。这样,每一个节点的地位都是对等的,都是平等的,没有主从关系。在WMS应用中,数据只有增加与删除两种情况,而且在一般的情况下,基本上不会有删除数据的情况发生。因而,在这样的情况下,非常适合使用Cache技术。Cache对于系统的整体性能而言,具有非常重要的作用。在本发明的设计的集群中,采用了双层Cache的策略,即负载均衡器一层的Cache与WMS —层的Cache。对负载均衡器一层的Cache而言,当负载均衡器发现在自己的Cache中已经存在了相应的文件(可能为配置文件,也可能为栅格化的遥感影像),那负载均衡器就会自动地将文件返回给用户,而不执行负载均衡策略;如果没有相应的文件,负载均衡器会去执行负载均衡策略,会将返回结果缓存起来。因为负载均衡器对于整个群集而言是唯一的,因而它的Cache存储能力是相当有限的。对于WMS—层的Cache而,WMS服务器如果发现本节点的Cache中已经存储了所需的文件,那么WMS服务器就会直接从Cache中取文件;如果文件在Cache中不存在,则WMS服务器会去请求分布式文件系统,并将所请求到的文件缓存到Cache中。在本发明中的Cache都是纯内存操作的对象Cache,以保证系统的较低响应时间。本发明由于采用了以上技术方案,具有显著的技术效果:
与现有技术相比,本发明实现了多机多节点的集群工作模式,各工作节点之间采用P2P架构,当集群中的某个工作节点出现单点故障时,不会影响其他工作节点的性能,避免了传统的主从结构架构中存在的由于主节点故障造成整个集群宕机的现象,提高了系统的稳定性、可靠性。其次,采用基于双层高速缓存的双层高速缓存策略,缩短了系统的响应时间。


图1为本发明所述基于云架构的Web地图服务实现方法的系统架构示意图。图2为实施例1的流程示意图。
具体实施例方式下面结合实施例对本发明作进一步的详细描述。实施例1
基于云架构的Web地图服务实现方法,包括负载均衡器1、工作节点2,如图1所示,所述工作节点2组成P2P网络。其中,工作节点2包括丽S服务模块21、分布式文件系统22,所述分布式文件系统22包括分布式文件系统接口 221、存储节点222。工作节点2负责实际地处理用户所提交的请求。工作节点2同时处理承担:WMS、分布式文件系统接口 221、分布式文件的存储节点222。丽S (即Web地图服务Web MapService)遵循OGC的WMS1.1.1规范,该服务利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。分布文件系统接口 221 (DFS Portal)是WMS访问分布式文件系统22的接口,即WMS通过分布式文件系统接口 221访问分布式文件,从而获取配置文件与栅格化的遥感影像。分布式文件系统22的存储节点222是分布式文件系统集群中负责存储文件的节点。每一个WMS都使用本节点的分布式文件系统22访问接口,也即通过其自身来访问分布式文件系统22。这样每一个节点都有独立的功能,与其它的节点之间也是P2P的关系,这样对于提高系统的可靠性与可用性有非常大的帮助。具体步骤如下,如图2所示:
步骤一:用户向所述负载均衡器I提交GetMap请求,负载均衡器I接收GetMap请求;所述负载均衡器I在第一缓冲区3中检测所述遥感影像栅格数据,如果所述第一缓冲区3已经包含所述遥感影像栅格数据则执行步骤六。步骤二:如果所述第一缓冲区3尚未包含所述遥感影像栅格数据,所述负载均衡器I依据轮询、IP-HASH等负载均衡策略选择一个工作节点2作为接收请求的工作节点,负载均衡器I检查选定的工作节点2的工作状态,如果该节点工作正常,即正常响应负载均衡器I的检查,则将所述请求发送至选定的工作节点2,如果该选定的工作节点2未正常响应负载均衡器I的检查,则反复进行负载均衡策略选择工作节点2。步骤三:选定的工作节点2接受GetMap请求,丽S服务模块21对所述请求的URL进行解析,根据解析所得到的URL参数定位地图的经纬度范围和分辨率,根据所述经纬度范围和分辨率计算所需要的切图列表。所述WMS服务模块21对所述图像列表进行逐条判断,如果所述第二缓冲区已经获取并包含切图列表中所有的切图,则执行步骤五;如果所述第二缓冲区尚未包含所有的切图,则将尚未加载至第二缓冲区的切图的名称发送至所述分布式文件系统22。步骤四:为了能够获取切图,所述WMS服务模块21将所述切图列表中切图的名称发送至所述分布式文件系统22,所述分布式文件系统22根据所述切图的名称查找相应的切图并将找到的切图返回所述WMS服务模块21,所述WMS服务模块21通过所述分布式文件系统接口 221访问所述分布式文件系统22,所述切图以文件形式储存,所述分布式文件系统22通过所述存储节点222访问所述文件。步骤五:所述WMS服务模块21对找到的切图进行拼接,调整拼接后切图的分辨率,根据所述经纬度范围对调整分辨率后的切图进行裁剪得到遥感影像栅格数据,并将所述遥感影像栅格数据发送至所述负载均衡器I,所述负载均衡器I将得到的遥感影像栅格数据记载至所述第一缓冲区。步骤六:所述负载均衡器I返回所请求的遥感影像栅格数据。为了能够提高缓存效率,缓存于所述双层高速缓存中的文件包括配置文件和遥感影像栅格数据。对比实验I
在对本发明所记载的技术方案进行测试之前,需要搭建一个合适的集群环境进行测试。在硬件上,集群环境中的负载均衡器I和工作节点2都使用如下的硬件环境进行搭建:核心频率为2.3GHz的单核CPU、1024MB的内存、50GB+7200RPM的硬盘、千兆以太网卡,其中工作节点2的软件环境如下=Windows 2008 Server + SUN JDK 1.6,负载均衡器I的软件环境如下=Ubuntu 10.04 + SUN JDK 1.6 + Nginx 1.2。这里,我们进行单节点与集群对单个请求的响应对比测试,本测试的测试目的是在系统空闲的情况下,测试只包括一个工作节点的单节点环境对单个请求的响应时间与上述集群环境对于单个请求的响应时间的差异,考虑在集群环境下,单个请求依然在一个工作节点2上完成,可以预料上述两者的测试结果应当差别不大。测试过程如下:分别对单机环境和集群环境发送6次请求,每次都请求分辨率为256*256,经纬度范围为10的地图数据,测试结果如下表I所述:
表I单节点与集群对单个请求的响应对比测试结果
权利要求
1.一种基于云架构的Web地图服务实现方法,其特征在于,包括负载均衡器(I)、工作节点(2),所述工作节点(2)包括丽S服务模块(21)、分布式文件系统(22),所述分布式文件系统(22)包括分布式文件系统接口(221)、存储节点(222),具体步骤如下: 步骤一:所述负载均衡器(I)接收Web地图服务请求; 步骤二:所述负载均衡器(I)依据负载均衡策略选择一个工作节点(2)作为接收请求的工作节点,并将所述请求发送至选定的工作节点(2); 步骤三:选定的工作节点(2)的丽S服务模块(21)对所述请求的URL进行解析,根据解析所得到的URL参数定位地图的经纬度范围和分辨率,根据所述经纬度范围和分辨率计算所需要的切图列表; 步骤四:所述丽S服务模块(21)将所述切图列表中切图的名称发送至所述分布式文件系统(22),所述分布式文件系统(22)根据所述切图的名称查找相应的切图并将找到的切图返回所述丽S服务模块(21),所述丽S服务模块(21)通过所述分布式文件系统接口(221)访问所述分布式文件系统(22),所述切图以文件形式储存,所述分布式文件系统(22)通过所述存储节点(222)访问所述文件; 步骤五:所述WMS服务模块(21)对找到的切图进行拼接,调整拼接后切图的分辨率,根据所述经纬度范围对调整分辨率后的切图进行裁剪得到遥感影像栅格数据,并将所述遥感影像栅格数据发送至所述负载均衡器(I); 步骤六:所述负载均衡器(I)返回所请求的遥感影像栅格数据。
2.根据权利要求1所述的基于云架构的Web地图服务实现方法,其特征在于,所述负载均衡策略包括轮询、IP-HASH。
3.根据权利要求1所述的基于云架构的Web地图服务实现方法,其特征在于,所述工作节点(2)组成P2P网络。
4.根据权利要求1所述的基于云架构的Web地图服务实现方法,其特征在于,还包括双层高速缓存策略,所述双层高速缓存策略使用双层高速缓存,所述双层高速缓存包括位于所述负载均衡器(I)的第一缓冲区(3)和位于所述工作节点(2)的第二缓冲区(4),所述双层高速缓存策略包括以下具体步骤: 在所述步骤一中,所述负载均衡器(I)在第一缓冲区(3)中检测所述遥感影像栅格数据,如果所述第一缓冲区(3)已经包含所述遥感影像栅格数据则执行步骤六; 在所述步骤三中,所述WMS服务模块(21)对所述图像列表进行逐条判断,如果所述第二缓冲区已经包含所有的切图,则执行步骤五;如果所述第二缓冲区尚未包含所有的切图,则将尚未加载至第二缓冲区的切图的名称发送至所述分布式文件系统(22); 在所述步骤五中,所述负载均衡器(I)将得到的遥感影像栅格数据记载至所述第一缓冲区。
5.根据权利要求4所述的基于云架构的Web地图服务实现方法,其特征在于,缓存于所述双层高速缓存中的文件包括配置文件和遥感影像栅格数据。
全文摘要
本发明涉及Web地图服务领域,公开了一种基于云架构的Web地图服务实现方法,包括负载均衡器、工作节点,所述工作节点包括WMS服务模块、分布式文件系统,所述分布式文件系统包括分布式文件系统接口、存储节点。本发明的优点在于,实现多机多节点的集群工作模式,可以代替传统的单机单节点工作模式,从而提升系统的数据存储能力和可靠性。
文档编号H04L29/08GK103108045SQ20131004599
公开日2013年5月15日 申请日期2013年2月6日 优先权日2013年2月6日
发明者陈华钧, 陈亮, 朱桂锋, 陶金火, 郑国轴, 杨建华, 吴朝晖 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1