999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MongoDB的LBS功能-附近的人

2019-07-26 02:46:34謝耀輝
商品與質量 2019年4期
關鍵詞:數據庫信息

謝耀輝

國網山東省電力公司蒙陰縣供電公司 山東蒙陰 276200

基于位置服務(Locationbased Services,LBS),又稱定位服務,可以通過GPS等外部方式或者電信運營商的無線通訊網絡(CDMA,GSM等網絡制式)獲取用戶的位置信息(地理坐標等),通過地理信息系統(Geographic Information System GIS)為用戶提供相應服務。

位置信息數據的特點是數據龐大,但是占用空間卻并不多,一個普通的GPS定位信息不到200Byte。如果某個終端每5s秒鐘上傳一次報文,每個終端每天上傳8000次,GIS有10萬并發量,那么每天將會上傳超過10億條數據。在如此大數據量的情況下,普通的關系型數據庫顯然是不適合做存儲的,對于地理空間位置的運算,也需要更為合適的選擇[1]。

1 MongoDB介紹

MongoDB是一個基于分布式文檔存儲的數據庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴展的高性能數據存儲解決方案,是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。

1.1 NoSQL簡介

NoSQL是對不同于傳統的關系型數據庫的數據庫管理系統的統稱。NoSQL用于超大規模數據的存儲。(例如谷歌或Facebook每天為他們的用戶收集萬億比特的數據)。這些類型的數據存儲不需要固定的模式,無需多余操作就可以橫向擴展。

1.2 MongoDB特點

MongoDB主要有以下特點:面向集合存儲,易于存儲對象類型的數據、模式自由且支持動態查詢、支持完全索引并包含內部對象、支持查詢、支持復制和故障恢復、使用高效的二進制數據存儲,包括大型對象(如視頻等)、可以自動處理碎片以支持云計算層次的擴展性、支持Java,Python,C#,PHP,Ruby,Javascript,Perl及C++語言的驅動程序,社區中也提供了對Erlang及.NET等平臺的驅動程序、文件存儲格式為BSON(一種JSON的擴展)、可通過網絡訪問等

1.3 MongoDB一些基本概念

文檔:文檔是一個鍵值(key-value)對(即BSON)。MongoDB的文檔不需要設置相同的字段,并且相同的字段不需要相同的數據類型,這與關系型數據庫有很大的區別,也是MongoDB非常突出的特點。

集合:集合就是MongoDB文檔組,類似于 RDBMS 中的表格。集合存在于數據庫中,集合沒有固定的結構,這意味著你可以在集合中插入不同格式和類型的數據,但通常情況下我們插入集合的數據都會有一定的關聯性。

元數據:數據庫的信息是存儲在集合中。

2 核心技術

2.1 整體架構設計

Lbs應用主要由兩塊組成:一是用于存儲采集到的終端位置信息的MogoDB集群,二是響應移動終端請求的的核心子系統??傮w存儲結構如圖1所示。

2.2 地理空間位置運算

在以億為單位的數據量前提下,如何快速準確的根據用戶位置計算出附近的人,并且按照距離排序,是一個比較復雜的問題。MongoDB提供大量的索引和查詢機制,來處理地理空間信息。MongoDB提供了兩種表面類型(surface types):

圖1 整體架構設計

(1)球面:若要在類似地球球面上計算幾何,存儲球面上的地理位置數據,可以使用 2dsphere索引。根據坐標軸的順序:經度、緯度,將你的地理位置數據存儲為GeoJSON對象。GeoJSON的坐標參考系使用的是 WGS84 基準。

(2)平面:如果需要計算距離,就像在一個歐幾里德平面上,你可以按照正常幾何的求解思路,通過存儲坐標對的形式存儲地理位置數據并使用 2d 索引。

MongoDB提供下列兩種地理空間索引來支持地理空間查詢。

① 2dsphere:支持在球形平面上的計算、GeoJSON對象,并包括向后遺留的兼容性、復合索引。這個復合索引可以包含一個2dsphere索引字段以及一些按升序或降序建立的普通索引字段(作為 2dsphere索引的前綴或者后綴)。

② 2d:支持使用平面幾何的方式計算、普通坐標對(比如,在一個平面坐標系中的點)、作為復合索引,額外索引一個鍵。方法是,把額外的一個鍵作為 2d 索引鍵的后綴。

對于我們的需求,在MongoDB只需一個命令即可得到所需要的結果:

db.runCommand({geoNear:"places",near:[121.4905,

31 .2646 ], num:100 })

查詢結果默認將會由近到遠排序,而且查詢結果也包含目標點對象、距離目標點的距離等信息。

geoNear返回結果集中的dis,如果指定了spherical為true, dis的值為弧度,不指定則為度。不指定sphericial,結果中的dis需要乘以111換算為km。指定 spherical為true,結果中的dis需要乘以6371換算為km。由于geoNear是MongoDB原生支持的查詢函數,所以性能上也做到了高度的優化,完全可以應付生產環境的壓力。

3 結語

本文主要針對在移動終端猛增和數據量急劇增長的前提下,如何設計一個可以實時查看附近的人的功能。在用MongoDB替換傳統的關系型數據庫后,查詢效率大大增加,而且MongoDB原生支持對地理位置信息的操作,性能上得到了很大的提升,因此做附近查詢是一件很方便的事情。

猜你喜歡
數據庫信息
數據庫
財經(2017年15期)2017-07-03 22:40:49
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
數據庫
財經(2010年20期)2010-10-19 01:48:32
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 精品福利视频导航| 久久亚洲天堂| 亚洲第七页| 无码中文字幕精品推荐| 国产黄色免费看| 国产精品亚欧美一区二区| 国产精品欧美激情| 丝袜国产一区| 区国产精品搜索视频| 国产成人亚洲精品色欲AV | 成人午夜视频免费看欧美| 亚洲国产高清精品线久久| 操国产美女| 911亚洲精品| 亚洲精品人成网线在线| 亚洲狼网站狼狼鲁亚洲下载| 国产亚洲精品自在久久不卡| 91视频首页| 特级毛片免费视频| 欧美午夜性视频| 亚洲欧美日韩另类在线一| 伊人大杳蕉中文无码| 国产又粗又爽视频| 欧美无遮挡国产欧美另类| 欧美成人亚洲综合精品欧美激情| 亚洲精品卡2卡3卡4卡5卡区| 999国内精品视频免费| 国产高清在线观看| 亚洲天堂网在线观看视频| 久久精品无码国产一区二区三区| 国产美女91呻吟求| 精品一区二区三区波多野结衣 | 免费jizz在线播放| 亚洲欧美成人在线视频| 亚洲Va中文字幕久久一区| 在线国产91| 国产97视频在线观看| 国产成人精品一区二区秒拍1o| 在线国产欧美| 欧美成人第一页| 国产综合在线观看视频| 凹凸国产分类在线观看| 国产亚洲精久久久久久久91| 日本日韩欧美| 粉嫩国产白浆在线观看| a毛片基地免费大全| 免费av一区二区三区在线| 77777亚洲午夜久久多人| 久久www视频| 国产99久久亚洲综合精品西瓜tv| 国产精品国产主播在线观看| 中文国产成人精品久久一| 久久精品无码一区二区日韩免费| igao国产精品| 国产玖玖视频| 国产视频 第一页| 99热这里只有精品在线播放| 亚洲欧美色中文字幕| 国产精品午夜电影| 91精品国产自产91精品资源| 国产乱论视频| 欧美在线导航| 国产成人高清在线精品| 久久久久久尹人网香蕉| 欧美五月婷婷| 高清不卡毛片| www.亚洲一区| 人妻无码中文字幕第一区| 成人在线不卡视频| 成·人免费午夜无码视频在线观看 | 亚洲三级电影在线播放| 亚洲视频一区| 亚洲中文字幕97久久精品少妇| 国内熟女少妇一线天| 欧美成人免费午夜全| 日本一区高清| 四虎成人精品| 欧美国产精品不卡在线观看 | 久久久噜噜噜| 国产96在线 | 伊人大杳蕉中文无码| 女人18一级毛片免费观看|