我是靠谱客的博主 野性冬天,最近开发中收集的这篇文章主要介绍MongoDB在SuperMap产品中的使用安装布署,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

作者:Emily

相信很多人都听说过MongoDB,对于MongoDB的优劣势就不再赘述,本文从入门的角度来介绍MongoDB的安装布署,以及MongoDB在SuperMap中的应用。

安装布署

##下载
下载地址:http://www.mongodb.org/downloads
相关文档:http://www.mongodb.org/display/DOCS/Tutorial
##文件解释
这里写图片描述
##数据库启动

  MongoDB启动非常简单,就两步:创建日志及数据文件夹、启动服务。在创建日志及数据文件夹后,在MongoDB的bin文件夹内启动运行窗口并执行如下语句:
	mongod --logpath D:MongoDBlogsMongoDB.log --logappend 
	--dbpath D:MongoDBdata –directoryperdb
	–port 27010
	第一行:指定日志文件D:MongoDBlogsMongoDB.log,且日志是以追加的方式输出的
	第二行:指定数据文件目录D:MongoDBdata,并且参数--directoryperdb说明每个DB都会以数据库名新建一个文件夹
	第三行:指定服务端口,默认端口是27017
	输入以上语句并按下回车键后,MongoDB的服务已经启动。

##系统服务注册
每次通过命令启动比较麻烦,可将MongoDB注册为windows系统服务,注册语句仅仅是在服务启动语句后加了两项,具体如下:
mongod --logpath D:MongoDBlogsMongoDB.log --logappend --dbpath D:MongoDBdata –directoryperdb –port 27010 –serviceName MongoDB –install
通过如上语句,MongoDB服务已启动且注册为windows系统服务,每次可通过系统服务来启动和停止。
##安全认证
MongoDB数据库在默认情况下没有用户名及密码,不用安全验证的,只要连接上服务就可以进行CRUD操作。
如果需要给MongoDB数据库使用安全验证,则需要用–auth开启安全性检查,分两种情况操作:
1. MongoDB已经注册为windows服务
修改注册表,搜索HKLM——SYSTEM——ControlSet001——Services——MongoDB,将ImagePath值末尾加上【-auth】;
2. 通过命令启动MongoDB
在命令末尾加上【-auth】。
在安全验证模式下,创建一个库后,需要给这个库赋予用户名密码,并在登录后进行安全验证,在不进行安全验证情况下任何操作都会提示错误,如下图所示:

#数据库监测
除服务器和客户端外,bin文件夹内的mongostat也非常重要,可以说是运维人员的福音。
操作:运行窗口输入mongostat –host 主机IP –port 端口号
结果:除增删改查外,flushes这一项也至关重要,通过计算两个1之间的间隔时间,可以大致了解多长时间flush一次
这里写图片描述

##常用命令
这里写图片描述
其他操作可以通过下面要介绍的客户端工具MongoVUE来实现。
##客户端工具
比较推荐MongoVUE,如果经常使用关系型数据库,在MongoVUE中操作MongoDB会比较得心应手。下载地址:http://www.mongovue.com/
#MongoDB在SuperMap中的应用
目前SuperMap产品有三处使用到了MongoDB:
1. iServer分布式切图
2. 桌面二维地图创建缓存
3. OSGB数据保存到MongoDB
大家可以看到,三处功能都是与缓存相关,这也是利用了MongoDB在缓存数据上的优势。此外,相比原始文件,使用MongoDB存储缓存,对缓存数据的迁移也带来了极大的便利。下面介绍下三处的具体使用,以iServer分布式切图为主。
##iServer分布式切图
iServer进行分布式切图时,推荐利用多个客户端同时出图以达到分布式切图的效果。如下通过详细步骤讲解iServer分布式切图。
1.发布地图
iServer分布式切图,主节点中需要将地图先发布为REST地图服务,可以从iServer服务管理器首页快速发布。发布过程按向导下一步即可。
2.创建切图库
只需要在主节点创建切图库即可,子节点不需要做任何事情。

这里写图片描述
这里写图片描述
这里写图片描述

	3.加入集群
	子节点作为切图节点加入集群。

这里写图片描述

	4.切图
	主节点创建切图任务,子节点不需要做任何事情,主节点设置完比例尺等参数之后,任务将自动开始。主节点自动将数据推送至子节点并分派任务。

这里写图片描述
这里写图片描述
这里写图片描述

	切图过程可以监控状态,包括切图进度、各个节点已完成的图片数、当前每秒切的图片数等信息。

这里写图片描述
##二维地图创建MongoDB缓存
1.创建缓存
在iDesktop中创建MongoDB缓存,相对较为简单,需要在【生成地图缓存】窗口修改【输出设置】即可。
MongoDB默认设置为无权限访问限制,但在iDesktop创建MongoDB缓存时,需要使用到用户名密码,即需要使用到权限访问限制,还请提前创建。
这里写图片描述

	2.文件结构
	从MongoVUE可以看到,当我们将二维缓存保存至MongoDB后,对应用户下有多张表,主要是源数据和不同比例尺的瓦片数据。源数据表中主要存储了sci中相关信息,如下图所示:

这里写图片描述
这里写图片描述

	从瓦片数据表中,可以看到,该表对该比例尺下图片的存储,与文件夹中png的存储类似,均按行列号来区分,根据指定的行列号存储对应的图片二进制信息。

##OSGB数据保存到MongoDB
1.保存至MongoDB
在712以后的iDesktop版本中,提供了将OSGB数据保存至MongoDB的功能。
这里写图片描述

	2.文件结构
	从MongoVUE可以看到,当我们将缓存保存至MongoDB后,对应用户下有两张表,源数据和瓦片数据。

这里写图片描述

	从瓦片数据表中,可以看到,该表存储了osgb文件名及文件内容对应的二进制流。 

这里写图片描述

最后

以上就是野性冬天为你收集整理的MongoDB在SuperMap产品中的使用安装布署的全部内容,希望文章能够帮你解决MongoDB在SuperMap产品中的使用安装布署所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部