基于行政区划的地图数据分布式存储系统的制作方法

文档序号:20839124发布日期:2020-05-22 17:16阅读:440来源:国知局
基于行政区划的地图数据分布式存储系统的制作方法

本发明涉及分布式存储领域,尤其涉及一种基于行政区划的地图数据分布式存储系统。



背景技术:

现有的postgresql+postgis可以搭建管理空间数据的数据库,其使用用拓展的geometry类型存储空间位置信息,同时提供空间索引及空间计算处理函数工具。但是单一的数据库,面对我国海量的地图数据保存及访问会出现访问效率低、并发量低的问题。



技术实现要素:

本发明实施例至少揭露了一种基于行政区划的地图数据分布式存储系统。通过本实施例揭露的系统能够有效的存储海量的地图数据,并且提供高并发量的数据存储及访问服务。

为了实现上述内容,所述系统包括数据存储集群、中间服务集群及路由服务器;所述数据存储集群被配置为部署有索引数据库及至少一存储数据库;所述索引数据库被配置为响应一访问请求,并且根据所述访问请求查询被请求访问的所述存储数据库;所述存储数据库被配置为存储至少一行政区域的空间数据,并且在被请求访问后返回全部或部分的所述空间数据;所述中间服务集群被配置为部署有至少一中间服务器;所述中间服务器被配置为响应一数据请求,并且根据解析的所述数据请求生成至少一所述访问请求,以及所述中间服务器返回接收的所述空间数据;所述路由服务器被配置为响应一数据请求,并且转发所述数据请求到任意的所述中间服务器,以及所述路由服务器返回接收的所述空间数据。

在本发明揭露的一些实施例中,所述索引数据库被配置为部署有所述行政划区的区域名称及存储范围;所述存储数据库被配置为存储一所述区域名称对应的所述存储范围的空间数据;所述索引数据库被配置为响应所述访问请求,并且根据关联所述访问请求的所述数据范围,查询被请求访问的所述存储数据库。

在本发明揭露的一些实施例中,所述索引数据库获取所述访问请求的请求范围,获取与所述请求范围存在范围重叠的至少一所述数据范围为目标范围,获取所述目标范围对应的所述区域名称的所述存储数据库。

在本发明揭露的一些实施例中,所述存储数据集群为postgresql数据库集群。

在本发明揭露的一些实施例中,所述中间服务集群为iis服务集群;所述中间服务器被配置为安装有iis的windowsserver;任意所述中间服务器被配置为通过调用pgservicecgi程序解析所述数据请求,并且生产所述访问请求。

在本发明揭露的一些实施例中,所述路由服务器被配置为响应至少一数据请求,并且均衡的转发所述数据请求到每个所述中间服务器。

在本发明揭露的一些实施例中,所述路由服务器被配置为iis及基于iis的arr,并且基于arr配置serverfarm,在serverfarm中配置与每个所述中间层服务器通信的地址及端口,以及所述路由服务器接收所述数据请求,并且通过serverfarm平均分配所述数据请求到每个所述中间服务器。

针对上述方案,本发明通过以下参照附图对揭露的示例性实施例作详细描述,亦使本发明实施例的其它特征及其优点清楚。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为实施例中系统的网络拓扑结构图;

图2为实施例中系统被执行的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

本实施例揭露一种基于行政区划的地图数据分布式存储系统。本实施例的系统包括数据存储集群、中间服务集群及路由服务器。其中数据存储集群由一索引数据库服务器及若干存储数据库服务器组成,中间服务集群由若干独立的中间服务器组成。通过本实施例系统能够分布式的存储海量的空间数据,并且能够提高多客户端、高并发量的空间数据读取服务。

其中系统涉及的上述服务器在本实施例中的实现至少有存储器及处理器。存储器主要包括存储程序区和存储数据区;其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)。以及,存储数据区可存储根据电子终端的使用所创建的数据,包括本申请实施例中涉及的显示的应用的相关设置信息或使用情况信息等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件,及其他易失性固态存储器件。

请参考图1,本实施例的系统部署为三层的网络拓扑结构,主要包括iis路由服务器、iis中间层服务集群及postgresql数据库服务集群。

网络拓扑的第一层部署有提供路由服务的iis路由服务器。iis路由服务器安装有iis7.0及以上版本和基于iis7.0及以上版本的arr模块。arr代理模块能够通过判断httpheaders、servervariables及负载均衡算法将客户端http的数据请求转发平均分配到不同的中间服务器。本实施例中arr代理模块创建serverfarm,并且在serverfarm中配置iis服务器集群中所有中间服务器的地址及端口,即中间服务器的网站。同时,通过urlrewrtie将客户端发送的数据请求,发送到serverfarm,再通过serverfarm平均的分配数据请求到iis服务器集群中的中间服务器。

网络拓扑的第二层部署有提供请求解析及访问服务的iis中间层服务集群。其系统环境为windowsserver,并且安装有iis7.0及以上版本和arr模块。iis中间层服务集群由若干安装有windowsserver并且可动态扩展的中间服务器组成。每个中间服务器均配置有独立的网站用于接收iis路由serverfarm发送的数据请求。中间服务器通过网站接收到分配的数据请求后,能够调用一配置的pgservicecgi程序对数据请求解析,用于获取客户端请求获取数据的请求范围及数据类型。pgservicecgi程序根据该请求范围及数据类型生成访问请求,用于获取数据存储集群中存储的关联空间数据。同时,pgservicecgi程序在获取空间数据后,通过路由服务器返回获取的空间数据到客户端。

网络拓扑的第三层部署有提供数据存储服务的数据库集群,其系统环境为centos7.6,以及安装有postgresql和postgis。数据库集群包括一indexs数据库及若干grb数据库。indexs数据库中存储有行政区划的区域名称及数据范围;每个grb数据库单独的存储所有的行政划区的空间数据。

那么基于上述网络拓扑结构,pgservicecgi程序在解析数据请求的数据类型及请求范围后会访问indexs数据库,并且使用st_interestection函数查询indexs数据库中与请求范围有全部或部分重叠的至少一个数据范围,再获取数据范围对应的区域名称。pgservicecgi程序在获取该区域名称后,访问与区域名称关联的存储数据库服务器,用于调取该存储数据库服务器存储的空间数据。

为了更好的说明本实施例系统被执行时的流程,特此揭露一种空间数据读取方法,该方法的流程在图2示出。

s100iis路由服务器接收至少一客户端发送的数据请求,该数据请求一般含有数据类型及请求范围。

s200路由服务器平均分配数据请求到拓扑网络结构第二层的中间服务器。

s300中间服务器响应分配的数据请求,并且调用pgservicecgi程序解析数据请求的数据类型及请求范围。

s400中间服务器调用pgservicecgi程序,根据数据类型及请求范围访问拓扑网络结构第三层的indexs数据库。

s500中间服务器通过pgservicecgi程序访问indexs数据库,并且通过st_interestection函数查询indexs数据库中与请求范围有全部或部分重叠的至少一个数据范围,再获取数据范围对应的区域名称。

s600中间服务器通过pgservicecgi程序根据获取的区域名称访问对应的grb数据库,用于获取请求的空间数据;并且通过iis路由服务器返回空间数据到发送数据请求的客户端。

以上对本实施例进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例揭露的系统而言,由于其与实施例揭露的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例揭露的装置而言,由于其与实施例揭露的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所揭露的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

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