亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2019-07-26 02:46:34謝耀輝
        商品與質(zhì)量 2019年4期
        關(guān)鍵詞:數(shù)據(jù)庫信息

        謝耀輝

        國網(wǎng)山東省電力公司蒙陰縣供電公司 山東蒙陰 276200

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

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

        1 MongoDB介紹

        MongoDB是一個(gè)基于分布式文檔存儲(chǔ)的數(shù)據(jù)庫。由 C++ 語言編寫。旨在為 WEB 應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案,是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。

        1.1 NoSQL簡介

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

        1.2 MongoDB特點(diǎn)

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

        1.3 MongoDB一些基本概念

        文檔:文檔是一個(gè)鍵值(key-value)對(duì)(即BSON)。MongoDB的文檔不需要設(shè)置相同的字段,并且相同的字段不需要相同的數(shù)據(jù)類型,這與關(guān)系型數(shù)據(jù)庫有很大的區(qū)別,也是MongoDB非常突出的特點(diǎn)。

        集合:集合就是MongoDB文檔組,類似于 RDBMS 中的表格。集合存在于數(shù)據(jù)庫中,集合沒有固定的結(jié)構(gòu),這意味著你可以在集合中插入不同格式和類型的數(shù)據(jù),但通常情況下我們插入集合的數(shù)據(jù)都會(huì)有一定的關(guān)聯(lián)性。

        元數(shù)據(jù):數(shù)據(jù)庫的信息是存儲(chǔ)在集合中。

        2 核心技術(shù)

        2.1 整體架構(gòu)設(shè)計(jì)

        Lbs應(yīng)用主要由兩塊組成:一是用于存儲(chǔ)采集到的終端位置信息的MogoDB集群,二是響應(yīng)移動(dòng)終端請求的的核心子系統(tǒng)。總體存儲(chǔ)結(jié)構(gòu)如圖1所示。

        2.2 地理空間位置運(yùn)算

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

        圖1 整體架構(gòu)設(shè)計(jì)

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

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

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

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

        ② 2d:支持使用平面幾何的方式計(jì)算、普通坐標(biāo)對(duì)(比如,在一個(gè)平面坐標(biāo)系中的點(diǎn))、作為復(fù)合索引,額外索引一個(gè)鍵。方法是,把額外的一個(gè)鍵作為 2d 索引鍵的后綴。

        對(duì)于我們的需求,在MongoDB只需一個(gè)命令即可得到所需要的結(jié)果:

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

        31 .2646 ], num:100 })

        查詢結(jié)果默認(rèn)將會(huì)由近到遠(yuǎn)排序,而且查詢結(jié)果也包含目標(biāo)點(diǎn)對(duì)象、距離目標(biāo)點(diǎn)的距離等信息。

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

        3 結(jié)語

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

        猜你喜歡
        數(shù)據(jù)庫信息
        數(shù)據(jù)庫
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        展會(huì)信息
        數(shù)據(jù)庫
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        国产熟妇一区二区三区网站| 男女视频在线一区二区| 亚洲动漫成人一区二区| 高清国产亚洲va精品| 国产精品久久一区性色a| 日韩中文字幕一区二十| 高清少妇二区三区视频在线观看| 国产伦精品一区二区三区在线| 亚洲长腿丝袜中文字幕| 亚洲精品av一区二区| 伊甸园亚洲av久久精品| av午夜久久蜜桃传媒软件| 亚洲av成人精品日韩一区| 午夜精品一区二区三区无码不卡| 国产美女黄性色av网站| 亚洲乱码av中文一区二区第八页| 蜜桃av噜噜一区二区三区9| 久久人妻少妇嫩草av无码专区| 一本一道波多野结衣一区| 98在线视频噜噜噜国产| jiZZ国产在线女人水多| 视频一区二区免费在线观看| 噜噜中文字幕一区二区| 免费无遮挡无码永久视频| 国产精品永久免费视频| AV成人午夜无码一区二区| 国产精品久久久看三级| 国产福利一区二区三区在线视频| √新版天堂资源在线资源| 欧美成年黄网站色视频| 91爱爱视频| 亚洲第一大av在线综合| 日本动漫瀑乳h动漫啪啪免费 | 亚洲综合在不卡在线国产另类 | 最近中文字幕一区二区三区| 亚洲激情一区二区三区不卡| 狠狠摸狠狠澡| 国产乱xxⅹxx国语对白| 国产乱淫视频| 日韩最新av一区二区| 国产熟女白浆精品视频二|