黄 颖, 郭明强, 谢 忠, 吴 亮
(1.武汉中地数码科技有限公司,湖北 武汉 430074;2.中国地质大学 信息工程学院,湖北 武汉 430074)
集群环境下网络空间信息服务高性能内存缓存方法
黄 颖1, 郭明强2, 谢 忠2, 吴 亮2
(1.武汉中地数码科技有限公司,湖北 武汉 430074;2.中国地质大学 信息工程学院,湖北 武汉 430074)
针对现有集群环境下网络空间信息服务性能优化策略的特点和弊端进行分析,提出集群环境下网络空间信息服务高性能内存缓存方法,重点研究网络空间信息服务高性能内存缓存体系结构、可扩展的高性能内存缓存控制设计、内存缓存工作流程,最终实现集群环境下基于内存缓存的网络空间信息服务的加速,解决传统WebGIS模型中存在的I/O瓶颈问题。最后,使用五个常用的网络空间信息服务类型对文中提出的方法进行实验,结果证明与传统的集群环境下网络空间信息服务相比,文中设计的网络空间信息服务高性能内存缓存方法能够有效地提升服务并发处理能力,具有良好的可扩展性。
网络空间信息服务;集群;缓存;高性能;可扩展
在大数据时代,空间数据的海量特性日益凸显出来[1],为了应对海量空间数据在网络环境下的大规模用户并发访问,高性能已成为网络空间信息服务[2-7]需要解决的首要问题[8]。制约网络空间信息服务并发处理能力的因素众多,必须从其体系架构出发,分析网络空间信息服务体系中各个层次的存储、传输和计算流程[9-10],找到性能瓶颈所在,针对性地对性能瓶颈进行优化,才能够提升网络空间信息服务的并发处理能力。
为了应对网络空间信息服务面临的海量空间数据发布和大规模用户并发访问的挑战,已有较多的学者对网络空间信息服务的性能优化进行了深入研究,并取得了显著的研究成果,如渐进式传输[11-12],负载均衡[13-15]和并行计算[16-17]。这三种方法均未解决海量空间数据的大规模用户并发访问时的存储设备的I/O瓶颈问题,此瓶颈是目前严重制约网络空间信息服务并发处理性能的关键。因此,本文研究并设计了一种集群环境下网络空间信息服务高性能内存缓存方法,采用高性能内存缓存技术将空间数据请求内容进行缓存,减少海量空间数据在存储设备上的I/O次数,以有效地提升网络空间信息服务的并发处理性能。
为了解决传统网络空间信息服务集群体系结构存在的弊端,解决大规模用户并发访问场景下空间数据存储设备存在的I/O瓶颈问题,本文提出了一种网络空间信息服务高性能内存缓存架构,如图1所示。其主要的改进之处:
1)图1中的Load Balancer(负载均衡器)在调度来自客户端的并发请求任务时,不再每次都将请求转发给GIS Server Cluster(GIS服务器集群)中的服务结点进行处理,而是先从Cache Server Cluster(内存缓存集群)中检索当前请求任务对应的结果缓存,若缓存命中,则直接将缓存的结果返回给客户端,如果缓存未命中,才从GIS Server Cluster中选择一个最优的服务结点处理当前请求任务。这样在大规模用户并发访问下,可以减少相同的并发请求任务被重复地发送到GIS Server Cluster中,从而减少GIS服务器对空间数据库的访问次数,有效解决空间数据存储设备I/O瓶颈问题。
2)图1中架构与传统网络空间信息服务集群最大的不同在于增加了Cache Server Cluster,目前服务器硬件配置发展速度快,内存容量已能轻易扩展至128 GB甚至更高,在海量空间数据应用场景下,可以借助多个内存缓存服务器组成的缓存集群,扩充网络空间信息服务集群的内存缓存容量,缓存容量越大,缓存的命中率就越高,GIS 服务器和空间数据存储设备的负载就越低,从而最大程度的避免I/O瓶颈对网络空间信息服务并发处理能力的影响。
图1 网络空间信息服务高性能内存缓存架构
内存缓存技术目前已广泛应用于各个大型互联网服务网站中,具有代表性的内存缓存技术有Memcached和Redis,亚马逊和阿里云均提供了支持这两种内存缓存的云服务产品,用于支持大规模用户并发访问场景下的并发请求结果数据缓存,网络空间信息服务的每一个网络请求地址均对应一个请求结果,这种特性非常符合内存缓存技术的特点。因此,可以将Memcached和Redis内存缓存技术引入到网络空间信息服务中,实现基于内存缓存的网络空间信息服务的加速。
为了支持不同的内存缓存技术,本文设计的网络空间信息服务高性能内存缓存架构遵循了模块可扩展的设计原则,如图2所示,定义了一个通用的内存缓存操作接口ICacheServer,不同的内存缓存服务只需要实现该接口中定义的函数即可,如MemCacheServer用于支持Memcached内存缓存服务,RedisServer用于支持Redis内存缓存服务。
CacheManager是提供给Load Balancer的内存缓存集群的操作类,其提供了重要的内存缓存的获取和存储函数。ThirdPartCacheConfig类是高性能内存缓存的全局配置类,其包含了不同内存缓存服务的配置信息、内存缓存开关、缓存有效期、接口权限控制信息等参数配置。MemCacheConfig和RedisConfig分别是Memcached和Redis内存缓存服务的参数配置类,CacheInterfaceControl是网络空间信息服务接口的控制类,用于控制各个服务接口的缓存权限和缓存数据的有效期,实现接口粒度的网络空间信息服务高性能内存缓存控制。
当Load Balancer接收到来自客户端的并发请求后,对每个请求的具体处理流程如下(见图3)。
1)Load Balancer根据每个请求的类型获取当前请求对应的缓存项的Key,以瓦片地图服务为例,可以使用瓦片地图服务名称,瓦片的行号、列号和级数来生成缓存项的Key,格式为{tileName}_{level}_{row}_{col};
图2 可扩展的内存缓存控制类
图3 内存缓存工作流程
2)同时根据接口类型获取接口缓存权限控制类Control;
3)根据Key,Control和缓存数据的类型(T),调用CacheManager的GetCache方法从内存缓存集群中检索当前请求的Key对应的结果数据缓存项,若缓存命中,则直接将检索到的缓存数据返回给客户端,结束。若缓存未命中,转(4)。
4)将当前请求任务转发到GIS Server Cluster中的GIS服务器结点,GIS服务器进行空间数据检索、提取和处理后,将结果返回至Load Balancer。
5)Load Balancer调用CacheManger的SetCache方法将GIS服务器返回的结果存储到内存缓存集群中,Key存储的内容为GIS服务器返回的字节数组byte[]。同时将结果返回至客户端。
为了验证本文提出的高性能内存缓存架构的性能,本文使用网络空间信息服务中常用的且适合进行内存缓存的五大服务接口来进行验证测试。WMTS GetTile是瓦片地图服务接口,WMTS GetCapabilities是瓦片地图服务元数据信息获取接口,目录服务接口是获取网络空间信息服务平台发布的地图服务目录信息,地形服务是用于获取三维地球上的地形数据,三维模型服务用于获取在三维视图中显示的三维模型数据。
本文使用位于高速局域网内的服务器构建试验床,采用全国1:25万地质图数据进行实验,使用500并发访问用户量对本文提出的方法进行实验,并与传统集群下的网络空间信息服务进行对比。
在网络空间信息服务中,Load Balancer每秒能够成功完成的请求数是衡量集群环境下网络空间信息服务并发处理性能的关键指标之一,每秒能够成功处理的请求数越多,Load Balancer的并发处理能力越强。
图4 负载均衡器每秒处理请求数
从图4中可以分析得出:①传统的无内存缓存的网络空间信息服务集群的每秒处理请求数显著低于本文提出的采用高性能内存缓存的集群架构。以WMTS GetTile服务接口为例,在无内存缓存情况下,Load Balancer的每秒处理请求数仅121次,而在新的架构中可以提升到每秒700次以上,获得超过5倍的性能提升。②在新的网络空间信息服务高性能内存缓存架构中,主流的Memcached和Redis内存缓存服务均能获得稳定的加速性能,大多数常用的网络空间信息服务接口的并发处理能力均能达到约700次/s,表现出本方法对第三方内存缓存服务的良好的可扩展性,有利于其它类型的内存缓存服务快速稳定的扩展到本文设计的网络空间信息服务高性能内存缓存架构中。
本文针对现有集群环境下的网络空间信息服务体系架构的弊端进行研究,重点考虑到网络空间信息服务在大规模用户并发访问场景下的空间数据存储设备I/O性能瓶颈,设计了新的具有高性能内存缓存集群的网络空间信息服务集群架构,实现了Memcached和Redis两种主流的第三方内存缓存服务的扩展,以减少负载均衡器和GIS服务器之间的请求次数,有效地降低GIS服务器和空间数据库的负载,从而有效地降低空间数据存储设备的I/O次数。实验中使用了常用的五种网络空间信息服务接口进行验证测试,实验结果表明,与传统的网络空间信息服务体系结构相比,本文提出的支持高性能内存缓存的网络空间信息服务集群能够获得显著的性能提升,并且在Memcached和Redis两种主流的内存缓存服务中均表现稳定,证明了本文提出的方法有效性和可扩展性。下一步工作会将亚马逊和阿里云中的内存缓存服务扩展到本文设计的网络空间信息服务架构中,以将其运用到云环境的生产与实践中。
[1] ZHANG L, YANG C, TONG X, et al. Visualization of large spatial data in networking environments[J]. Computers and Geosciences, 2007,33(9):1130-1139.
[2] 刘晓童, 马文波, 马雪涛. 基于WebGIS的建设用地监管系统设计与实现[J]. 交通科技与经济, 2013(6):114-117.
[3] 杨超,潘东峰.基于Flex和ArcGIS Server的WebGIS开发关键技术研究[J].测绘与地理信息空间,2016,39(6):90-92.
[4] 江明明. 基于WebGIS的城市地铁施工监测信息管理系统分析[J].测绘与地理信息空间,2016,39(9):86-87.
[5] 杨娟, 陶叶青. 基于WEBGIS的管理维护系统[J]. 交通科技与经济, 2009(6):110-112.
[6] 宁方志, 季民, 陈许霞. 基于WebGIS的武都精细化扶贫系统的设计与开发[J].测绘与地理信息空间,2016,39(7):39-41.
[7] 李月华.基于WebGIS的环境监管云平台设计与建设[J].测绘与地理信息空间,2016,39(1):121-124.
[8] WANG S, ANSELIN L, BHADURI B, et al. CyberGIS software: a synthetic review and integration roadmap[J]. International Journal of Geographical Information Science, 2013,27(11):2122-2145.
[9] YANG B, PURVES R, WEIBEL R. Efficient transmission of vector data over the Internet[J]. International Journal of Geographical Information Science, 2007,21(2):215-237.
[10] MUSTAFA N H, KRISHNAN S, VARADHAN G, et al. Dynamic simplification and visualization of large maps.[J]. International Journal of Geographical Information Science, 2006,20(3):273-302.
[11] YANG L, ZHANG L, MA J, et al. Efficient Simplification of Large Vector Maps Rendered onto 3D Landscapes[J]. Computer Graphics & Applications IEEE, 2011,31(2):14-23.
[12] ZHANG L, REN Y, GUO Z. Transmission and visualization of large geographical maps[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2011,66(1):73-80.
[13] 陈一骄, 卢锡城, 时向泉, 等. 一种面向会话的自适应负载均衡算法[J]. 软件学报, 2008,19(7):1828-1836.
[14] 李忠民, 喻占武, 朱莉. 基于空间数据内容的动态负载均衡方法[J]. 武汉大学学报(信息科学版), 2009,34(5):622-625.
[15] 王浩, 喻占武, 李锐, 等. 基于开销代价的网络地理信息服务负载均衡算法研究[J]. 测绘学报, 2009,38(3):242-249.
[16] YANG C, WONG D W, YANG R, et al. Performance-improving techniques in web-based GIS[J]. International Journal of Geographical Information Science, 2005,19(3):319-342.
[17] PESQUER L, CORTÉS A, PONS X. Parallel ordinary kriging interpolation incorporating automatic variogram fitting[J]. Computers & Geosciences, 2011,37(4):464-473.
ResearchonhighperformancememorycacheofWebGISunderclusterenvironment
HUANG Ying1, GUO Mingqiang2, XIE Zhong2, WU Liang2
(1.Wuhan Zondy Cyber Technology Ltd., Co., Wuhan 430074,China;2.School of Information & Engineering, China University of Geosciences, Wuhan 430074,China)
Aiming at the characteristics and drawbacks of existing performance optimizing strategies under WebGIS cluster environment, this paper proposes a new WebGIS model based on high performance memory cache under cluster environment, which mainly focuses on the high performance memory cache architecture of WebGIS, the scalable high performance memory cache module and the workflow of memory cache, thus realizing the high performance memory cache under WebGIS cluster environment, and solving the I/O bottleneck problem in traditional WebGIS model. Finally, five frequently-used services are used in WebGIS to conduct the simulation experiment. The result shows that, compared with the traditional WebGIS cluster environment, the new model based on high performance memory cache designed in this paper can effectively improve the concurrent processing capability of WebGIS cluster, which has good scalability.
WebGIS; cluster; memory cache; high performance; scalability
2016-11-21
国家博士后科学基金资助项目(2014M552115);中央高校基本科研业务费专项资金资助项目(CUGL140833) ;国家十二五科技支撑计划(2011BAH06B04);国家自然科学基金资助项目(41701446);湖北省自然科学基金资助项目(2017CFB277);国土资源部地质信息技术重点实验室开放课题(2017-324)
黄 颖 (1981-),女,高级工程师,博士后.
著录:黄颖, 郭明强, 谢忠,等.集群环境下网络空间信息服务高性能内存缓存方法[J].测绘工程,2018,27(1):47-51.
10.19349/j.cnki.issn1006-7949.2018.01.010
TP393.06
A
1006-7949(2018)01-0047-05
李铭娜]