原创 高德SD地圖數據生產自動化技術的路線與實踐(道路篇)

一、背景及現狀近些年,國內道路交通及相關設施的基礎建設日新月異。廣大用戶日常出行需求旺盛,對所使用到的電子地圖產品的數據質量和現勢性提出了更高的要求。傳統的地圖數據採集和生產過程,即通過採集設備實地採集後對採集資料進行人工處理的模式,其數據

原创 高德算法工程一體化實踐和思考

背景隨着高德地圖業務的快速開展,除了導航本身的算法業務外,其他中小型業務對算法策略的需求越來越多、越來越快,近兩年參與的一些新項目從算法調研到應用上線都在一週級,例如與共享出行相關的各種算法服務,風控、調度、營銷等各個體系的業務需求。類似於

原创 高德APP全鏈路源碼依賴分析工程

一、背景高德 App 經過多年的發展,其代碼量已達到數百萬行級別,支撐了高德地圖複雜的業務功能。但與此同時,隨着團隊的擴張和業務的複雜化,越來越碎片化的代碼以及代碼之間複雜的依賴關係帶來諸多維護性問題,較爲突出的問題包括:不敢輕易修改或下線

原创 車聯網服務non-RESTful架構改造實踐

導讀在構建面向企業項目、多端的內容聚合類在線服務API設計的過程中,由於其定製特點,採用常規的restful開發模式,通常會導致大量雷同API重複開發的窘境,本文介紹一種GraphQL查詢語言+網關編排聯合的實踐,解決大量重複定製的問題。早

原创 雲控平臺的雙向音頻解決方案

導讀隨着移動互聯網的發展,行業內衍生了基於移動平臺的各類解決方案。其中,設備規模化管理的雲控能力是各互聯網公司在設備集羣控制背景下的訴求。因此涌現了大批提供類似解決方案的平臺。如:阿里系的阿里雲MQC、阿里無線和菜鳥Nimitz等,阿里之外

原创 系統性能提升利刃 | 緩存技術使用的實踐與思考

導讀按照現在流行的互聯網分層架構模型,最簡單的架構當屬Web響應層+DB存儲層的架構。從最開始的單機混合部署Web和DB,到後來將二者拆分到不同物理機以避免共享機器硬件帶來的性能瓶頸,再隨着流量的增長,Web應用變爲集羣部署模式,而DB則衍

原创 編碼規範 | Java函數優雅之道(下)

上文背景本文總結了一套與Java函數相關的編碼規則,旨在給廣大Java程序員一些編碼建議,有助於大家編寫出更優雅、更高質、更高效的代碼。上文鏈接:link內部函數參數儘量使用基礎類型案例一:內部函數參數儘量使用基礎類型現象描述:// 調用代

原创 編碼規範 | Java函數優雅之道(上)

導讀隨着軟件項目代碼的日積月累,系統維護成本變得越來越高,是所有軟件團隊面臨的共同問題。持續地優化代碼,提高代碼的質量,是提升系統生命力的有效手段之一。軟件系統思維有句話“Less coding, more thinking(少編碼、多思考

原创 字節碼技術在模塊依賴分析中的應用

背景近年來,隨着手機業務的快速發展,爲滿足手機端用戶訴求和業務功能的迅速增長,移動端的技術架構也從單一的大工程應用,逐步向模塊化、組件化方向發展。以高德地圖爲例,Android 端的代碼已突破百萬行級別,超過100個模塊參與最終構建。試想一

原创 Android Native 內存泄漏系統化解決方案

導讀:C++內存泄漏問題的分析、定位一直是Android平臺上困擾開發人員的難題。因爲地圖渲染、導航等核心功能對性能要求很高,高德地圖APP中存在大量的C++代碼。解決這個問題對於產品質量尤爲重要和關鍵,高德技術團隊在實踐中形成了一套自己的