閱讀701 返回首頁    go 阿裏雲 go 技術社區[雲棲]


PostgreSQL 電子圍欄的應用場景和性能(大疆、共享設備、菜鳥。。。)

標簽

PostgreSQL , 電子圍欄 , 共享自行車 , 共享充電寶 , 共享xxx , 菜鳥 , 航空管製 , 無人飛行器 , pipelinedb , 流式計算


背景

電子圍欄,這個在GIS應用中非常常見的詞。在很多業務場景中都可以使用:

電子圍欄的常見手段是圈出一塊,或者一些多邊形。當被監控對象在多邊形內或者多邊形外時(根據業務模型),作為一個判斷條件,觸發一些業務規則。

1、禁飛區

玩大疆無人機的話,你一定要知道哪裏是禁飛區,否則可能違法被抓,但是你可能並不知道哪裏是禁飛區,還有飛行高度的限製。

有了電子圍欄,可以在飛行器內置這樣的功能,你就可以放心的飛了。比如到達了禁飛區後,飛行器可以發出告警,禁止飛行。

pic

2、共享單車還車點

共享單車亂擺放是個問題,原因是什麼地方都能還車。使用電子圍欄,可以約束用戶的還車點,隻允許用戶將自行車停在某個空間內,或不在某個空間內才能還車。

pic

3、汽車禁行區

例如,某些汽車,在某個時間段不允許出現在某個區域內。

例如限行車輛,例如危化品車輛、黃沙車、貨車等的行駛範圍。以往,我們隻能靠攝像頭、或者靠警力來管理。加入電子圍欄,一切都變得更簡單。

pic

4、國界線

這個是有非常鮮明的地理屬性的,電子圍欄,結合流式計算,可以非常實時的發現異常。

pic

5、山頭線

我記得小時候,我們那裏的班車線路都是承包的,誰要是敢亂拉客,車子可能是會被砸掉的。實際上這個也是一些商業邊界的問題,如果商業邊界涉及到地理信息,通過電子圍欄,可以更加方便的實現邊界控製和管理。

6、遠程打卡,當你進入了辦公區域附近(電子圍欄)時,才允許打卡。

7、遠程辦公管理,公司可以劃定一些可以辦公的常用地的多邊形,當員工出了這個區域時,觸發事件。

8、公務用車、商用車輛的行駛區域管理,出了區域,可以觸發事件。

9、放牧管理,例如在大草原放養的動物,可以掛上GPS跟蹤器,劃定電子圍欄,出了區域,觸發事件。

10、假釋人員的管理,不在需要投入大量警力跟蹤假釋人員。當然人的管理更加複雜,因為跟蹤器可能更換。

11、... ...

試想一下,當每個對象都帶上空間屬性後,還有很多很多很多場景,可以設置電子圍欄。

空間數據的處理,將會是一片巨大的藍海。

圍欄除了空間屬性,還可以有其他屬性,PostgreSQL提供了btree_gist接口,可以對空間、標量字段建立聯合索引,提高性能。

https://www.postgresql.org/docs/10/static/btree-gist.html

同時PostgreSQL還支持空間獨立排他約束,可以防止圍欄重疊。

https://www.postgresql.org/docs/10/static/ddl-constraints.html

PostgreSQL 深耕空間數據管理數十年,一定能服務好這片業務,一起來為人類發展做出貢獻。

電子圍欄性能

電子圍欄中,最常用的手段是點麵判斷,對於共享單車業務,我們為了防止自行車亂停放,可以圈定可以換車、或者不能換車的點(視業務需求),創建很多的多邊形區域,當用戶還車時,上報車輛位置,同時判斷是不是落在可以換車的點,或者不能換車的點內。決定用戶是否可以在當地還車。

可能有千萬、甚至更多的多邊形麵。

這個需求和菜鳥的配送調度類似,也有點麵判斷的需求,下麵是一個設計和性能測試

《菜鳥末端軌跡 - 電子圍欄(解密支撐每天251億個包裹的數據庫) - 阿裏雲RDS PostgreSQL最佳實踐》

1000萬個多邊形,根據位置查詢這個位置在哪個麵裏麵,或者有沒有麵包含了這個點。

PostgreSQL單機可以達到251億次/天的點麵判斷請求的性能。

最後更新:2017-11-12 01:34:35

  上一篇:go  PostgreSQL pg_stat_reset清除track_counts的隱患
  下一篇:go  PostgreSQL 虛擬|虛假 索引(hypothetical index) - HypoPG