滴滴十大技術方向開源項目出爐!

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

做爲卓越的一站式移動出行和生活平臺,滴滴在亞洲、拉美和澳洲爲超過5.5億用戶提供出租車、快車、專車、豪華車、公交、代駕、企業級、共享單車、共享電單車、汽車服務、外賣、支付等多元化的服務。滴滴平臺上,有數千萬車主及司機得到靈活的工做和收入機會,年運送乘客超過100億人次。前端

 

滴滴開源的三年時間裏,在滴滴高級副總裁、開源委員會主席章文嵩博士的倡導下,秉持「擁抱開放、合做雙贏、創造價值」的理念。滴滴積極參與業界的開源項目,並不斷對外輸出內部的優秀項目。自2017年6月30日,滴滴首個開源項目VirtualAPK發佈起,滴滴已發佈了40+個項目,得到了 6.3W star,在社區得到了良好反響。如下小編將帶你們速覽滴滴的40+開源項目。(按首字母前後排序)java

1. 人工智能 watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=▍AoE  AoE 取名自AI on Edge,是一個終端側AI集成運行時環境(IRE)。AoE 以「穩定性、易用性、安全性」爲設計原則,幫助開發者將不一樣框架的深度學習算法輕鬆部署到終端高效執行。項目地址:https://github.com/didi/aoe▍AthenaAthena是端到端自動語音識別(ASR)引擎的開源實現。目前,該項目支持基於鏈接器時間分類(CTC)的模型,基於變壓器的編解碼器模型和基於混合CTC /注意的模型以及基於MPC的無監督預轉換的訓練和解碼。咱們的願景是加強語音識別的端到端模型的工業應用和學術研究。爲了使全部人都能使用ASR,咱們還發布了一些示例示例,這些示例實現基於一些開源數據集,例如HKSUT,Librispeech咱們全部的模型都在Tensorflow> = 2.0.0中實現。項目地址:https://github.com/didi/athena▍Chinese NLP中文天然語言處理(NLP)的相關連接:數據集和最新結果。項目地址:https://github.com/didi/ChineseNLP▍Delta  DELTA是一個基於深度學習的語音和天然語言理解模型平臺,旨在打造一個便捷使用、簡潔上線、快捷開發的工業級的語音和天然語言理解的模型框架。項目地址:https://github.com/didi/delta▍DLFlowDLFlow是一套深度學習pipeline,它結合了Spark的大規模特徵處理能力和Tensorflow模型構建能力。利用DLFlow能夠快速處理原始特徵、訓練模型並進行大規模分佈式預測,十分適合離線環境下的生產任務。項目地址:https://github.com/didi/dlflow▍HetSANNAAAI'20論文中的HetSANN的源代碼:異構結構學習的基於注意力的圖神經網絡。項目地址:https://github.com/didi/hetsann▍maskdetection爲了進一步幫助抵抗冠狀病毒,滴滴出行決定向公衆免費開放其面罩檢測技術。由DiDi AI團隊開發的遮罩檢測技術基於DFS面部檢測算法,DiDi在其平臺上採用了面部屬性識別算法。該模型克服了一些困難,例如白天覆雜的光照變化,面部姿式變化,面部比例等。它使用加權損失函數和數據加強方法來處理白天和晚上的不一樣蒙版類型和不均勻蒙版數據。該系統可使用上傳的圖像識別非掩膜駕駛員,其準確度爲99.5%,而且在DiDi車載攝像頭的現場檢查中,能夠達到98%的準確度。該模型在200,000張面孔的數據集上進行了訓練,以確保其魯棒性。這種快速檢測系統可普遍用於旅行場景中,包括手機照片,監視圖像等,而且可以全天候工做。項目地址:https://github.com/didi/maskdetection▍SQLFlow滴滴DS統計科學團隊立足於公司內部經常使用業務場景的需求出發,與螞蟻金服SQLFlow初始研發團隊之間從模型、社區、與文化上全方位合做共建。雙方能力優點互補,資源協同性強,旨在推動並實現只要懂商業邏輯就能用上人工智能,讓最懂業務的人也能無障礙地使用人工智能。項目地址:https://github.com/sql-machine-learning/sqlflow2. 智慧交通 watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=▍ALITA/ALITA-UIALITA(A Layered Instrument To Analyze)是由小桔車服數據部出品的一種基於圖層展現數據分析工具,咱們經過大量業務需求實現沉澱抽象出通用化的「點」、「線」、「面」三種數據模型,和地圖豐富的點、線、面設計元素完美融合,設計並封裝先後端通用的模塊化組件,實現快速搭建地圖應用。項目地址:https://github.com/didi/ALITA▍mtmc-vt該代碼用於AI City Challenge 2019 Track1,MTMC Vehicle Tracking。項目地址:https://github.com/didi/mtmc-vt▍TrafficIndexTTI是業內使用較多的城市擁堵程度的評價指標,是反應實際花費的行程時間與自由流花費行程時間的比值關係,值越大表示交通運行狀態越差,通常與擁堵程度正相關,其它如異常天氣(如雨、雪、霧等)或者異常道路狀況也可能對TTI的數值產生影響。項目地址:https://github.com/didi/TrafficIndex3. 中間件與架構 watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=▍BoosterBooster 是一款專門爲移動應用設計的易用、輕量級且可擴展的質量優化框架,經過動態發現和加載機制提供可擴展的能力。它不只僅是一個框架,更內置了豐富的質量優化工具。項目地址:https://github.com/didi/booster▍DDMQDDMQ 是滴滴出行架構部基於 Apache RocketMQ 構建的消息隊列產品。做爲分佈式消息中間件,DDMQ 爲滴滴出行各個業務線提供了低延遲、高併發、高可用、高可靠的消息服務。DDMQ 提供了包括實時消息、延遲消息和事務消息在內的多種消息類型以知足不一樣的業務需求。用戶經過統一的 Web 控制檯和傻瓜式的 SDK 便可輕鬆接入 DDMQ 生產和消費消息,體驗功能豐富、穩定的消息服務。項目地址:https://github.com/didi/DDMQ▍Go-SpringGo-Spring 的願景是讓 GoLang 程序員也能用上如 Java Spring 那般威力強大的編程框架。特性:提供完善的 IoC 容器,支持依賴注入、屬性綁定;提供強大的啓動器框架,支持自動裝配、開箱即用;提供常見組件的抽象層,支持靈活地替換底層實現;Go-Spring 當前使用 Go1.12 進行開發,使用 Go Modules 進行依賴管理。項目地址:https://github.com/didi/go-spring4. 大數據 watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=▍ES-FastloaderES-Fastloader是一種可以快速地爲海量離線數據生成索引的方案,採用了一種Build & Push的機制,利用Hadoop強大的並行計算能力,可在1-2小時內極快速構建幾十TB級的數據,解決海量數據構建ES時,索引文件構建時效低的問題。項目地址:https://github.com/didi/ES-Fastloader▍LevinLevin是針對低頻更新、靜態使用、大規模數據的快速加載解決方案。Levin實現了一套使用在shm共享內存片斷上的STL-like容器,高效託管大規模靜態數據,加速大內存服務冷啓動和熱加載。具有簡單易用、效率高、性能好、內存省的優勢。項目地址:https://github.com/didi/levin5. 運維監控 watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=▍Elastic-tribElastic-trib是一個Elasticsearch集羣管理命令行工具,用於管理公司內部30多個Elasticsearch集羣,方便用於集成到shell腳本及經過命令行終端對集羣進行管控。項目地址:https://github.com/ didi/elastic-trib▍falcon-log-agentfalcon-log-agent是一個開源版的日誌採集工具,旨在從流式的日誌中抓取、統計日誌中的特徵信息。獲取的特徵信息,與開源版Open-Falcon監控系統打通。可用於業務指標的衡量、也可用於穩定性的建設。項目地址:https://github.com/didi/falcon-log-agent▍Kafka-Manager一站式Apache Kafka集羣指標監控與運維管控平臺。項目地址:https://github.com/didi/kafka-manager▍Nightingale夜鶯(Nightingale)是滴滴基礎平臺聯合滴滴雲研發和開源的企業級監控解決方案。旨在知足雲原生時代企業級的監控需求。Nightingale 在產品完成度、系統高可用、以及用戶體驗方面,達到了企業級的要求,可知足不一樣規模用戶的場景,小到幾臺機器,大到數十萬均可以完美支撐。兼顧雲原生和裸金屬,支持應用監控和系統監控,插件機制靈活,插件豐富完善,具備高度的靈活性和可擴展性。項目地址:https://github.com/didi/nightingale▍sqt此進程在滴滴雲上用於管理機器上面的其餘agent,好比監控的agent、安全的agent,管理主要是:安裝、升級、卸載、查看啓動狀態,不作其餘事情。省去客戶手工安裝其餘agent的工做。項目地址:https://github.com/didi/sgt6. 小程序 watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=▍Chameleoncml做爲真正讓一套代碼運行多端的框架,提供標準的 MVVM 模式,統一開發各種終端。同時,擁有各端獨立的運行時框架 (runtime)、數據管理 (store)、組件庫 (ui)、接口 (api)。此外,cml在跨端能力增強、能力統1、表現一致等方面作了許多工做。項目地址:https://github.com/didi/chameleon▍MpxMpx是一款致力於提升小程序開發體驗和開發效率的加強型小程序框架,經過Mpx,咱們可以高效優雅地開發出具備極致性能的優質小程序應用,並將其輸出到各大小程序平臺和web平臺中運行。項目地址:https://github.com/didi/mpx7. 移動開發 watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=▍EchoEcho是一款簡單易用、插件化易擴展、大屏顯示和操做的調試工具,旨在提升移動端的研發調試效率。基於現有的一些問題和團隊需求,咱們開發了一款桌面端的調試工具Echo,它能夠幫助咱們實時查看App各種數據(網絡請求、日誌、埋點等),也能夠無須改動代碼快速修改調試App的UI效果,提升咱們的開發調試效率。項目地址:https://github.com/didi/echo▍DoraemonKit簡稱DoKit,中文名哆啦A夢,意味着可以像哆啦A夢同樣提供給他的主人各類各樣的工具。是一款功能齊全的客戶端( iOS 、Android )研發助手。可以讓每個 App 快速接入一些經常使用的或者你沒有實現的一些輔助開發工具、測試效率工具、視覺輔助工具,並且可以完美在 Doraemon 面板中接入你已經實現的與業務緊密耦合的一些非通用的輔助工具,並搭配咱們的dokit平臺,讓功能獲得延伸,接入方便,便於擴展。項目地址:https://github.com/didi/DoraemonKit▍DroidAssistDroidAssist 是一個輕量級的 Android 字節碼編輯插件,經過在 xml 進行簡單的配置便可實現對 class 文件進行動態修改。項目地址:https://github.com/didichuxing/DroidAssist▍VirtualAPKVirtualAPK是滴滴出行自研的一款優秀的插件化框架,經過將業務模塊插件化,可隨時更新插件來發布新功能,具有版本隨時發佈的能力。該款插件化框架可幫助企業隨時經過更新插件的方式來發布新功能,包括修復嚴重Crash或進行業務「試錯」,擁有功能完備、基本無***、插件可輕鬆訪問宿主代碼和資源、高兼容性這四大核心優點。項目地址:https://github.com/didi/VirtualAPK8. 系統工具 watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=▍CollectionCollection包目標是用於替換golang原生的Slice,使用場景是在大量不追求極致性能,追求業務開發效能的場景。Collection包目前支持的元素類型:int, int64, float32, float64, string, struct。項目地址:https://github.com/didi/collection▍GateKeeperGateKeeper 是一個使用 Go (golang) 編寫的不依賴分佈式數據庫的 API 網關, 使用它能夠高效進行服務代理 以及 在線化服務配置而且你無需重啓服務器。項目地址:https://github.com/didi/gatekeeper▍GendryGendry是一個用於輔助操做數據庫的Go包。基於go-sql-driver/mysql,它提供了一系列的方法來爲你調用標準庫database/sql中的方法準備參數。項目地址:https://github.com/didi/gendry▍JuShaTaJuShaTa是一個Java容器,提供模塊隔離及模塊熱加載能力。咱們提供了一個相似於Tomcat的Java容器JuShaTa,在JuShaTa容器中每一個SpringBoot服務都是一個獨立的模塊。經過自定義ClassLoader,不一樣模塊使用不一樣的ClassLoader進行加載,解決jar包衝突;使用Spring Context進行上下文隔離,每一個模塊對應一個Context,解決bean衝突。項目地址:https://github.com/didi/JuShaTa▍Kemon一個用於macOS內核監視的基於開源先後回調的框架。kemon是一個基於macOS的內核監控框架,在Windows上內核監控有很好的基礎,但在Mac上尚未一個較成熟的hook框架,去跟蹤更多的進程內核事件的產生。Kemon進一步完善,爲macOS的內核安全性的提升做出應有的貢獻。項目地址:https://github.com/didi/kemon▍SDSSDS(即 Service Downgrade System)是一個輕量級、簡單、易用的限流、熔斷、降級系統,能讓Java應用作到自動限流、熔斷和快速恢復,提高應用總體的「彈性」。如今服務端經過採用流行的微服務架構來應對錯綜複雜的大流量場景,並能在業務高速發展時仍然能作到較強的快速迭代能力和可擴展性。微服務架構並非將整個系統變得更簡單,相反,微服務架構的管理難度高於普通的集中式架構,因此,如何保證系統的每一個節點在錯綜複雜的環境下能穩定提供服務,須要藉助工具來讓服務節點能抵擋流量衝擊、熔斷依賴壞點。項目地址:https://github.com/didi/sds▍TinyidTinyid是用Java開發的一款分佈式id生成系統,基於數據庫號段算法實現,關於這個算法能夠參考美團leaf或者tinyid原理介紹。Tinyid擴展了leaf-segment算法,支持了多db(master),同時提供了java-client(sdk)使id生成本地化,得到了更好的性能與可用性。Tinyid在滴滴客服部門使用,均經過tinyid-client方式接入,天天生成億級別的id。項目地址:https://github.com/didi/tinyid9. 前端 watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=▍cube-ui應用Vue構建的的出色移動端ui庫工具。該技術擁有質量可靠、體驗極致、標準規範和強擴展性這四大特色,並擁有獨特的後編譯技術方案幫助大幅優化性能。cube-ui 的目標是讓移動端的開發更容易,讓開發人員更加專一於業務邏輯的開發,提高研發效率。項目地址:https://github.com/didi/cube-ui▍di18ndi18n 是一個自動轉換、基於配置的前端國際化方案。它能自動掃描代碼中的中文文案,將其替換成國際化標記;同時將語言抽取成配置,能夠放到服務端保存及更新。項目地址:https://github.com/didi/di18n▍EpageEpage是一款基於schema的可視化頁面配置工具。由工單系統流程表單場景抽象而來,升級成爲支持跨框架、組件庫渲染、可定製的通用頁面配置工具。經常使用於流程表單、中後臺頁面配置。項目地址:https://github.com/didi/epage▍Mand MobileMand Mobile提供了30+的實用組件,可以知足移動端頁面開發中的大部分需求。其中的業務類組件還針對金融領域,提取了包括圖表、數字鍵盤等,從而更好地知足相關產品的開發須要。項目地址:https://github.com/didi/mand-mobile▍Mand Mobile-RNMand Mobile RN 是 Mand Mobile for React Native 的簡稱。做爲 Mand Mobile 系列的React Native 組件庫,在聚焦金融場景的同時,還提供了一些在 RN 項目中特有的組件和解決方案,皆在提高跨端項目的開發效率和UI體驗。項目地址:https://github.com/didi/mand-mobile-rn▍Pile.js使用React構建的輕量級移動組件庫。設計、前端高效協同,快速搭建移動端組件庫。項目地址:https://github.com/didi/pile.js▍TipsTips是一個靜態文案管理平臺。用於修改Web頁面的靜態文案,支持文案國際化,並提供提示信息的UI展現。它的目的是解決前端開發者頻繁的靜態文案修改問題,避免由於簡單的文案修改而發起複雜的上線流程。項目地址:https://github.com/didi/Tips10. 研發測試 watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=▍benchmark-thriftbenchmark-thrift是一款測試Thrift應用程序性能的工具,開箱即用,高效簡單。項目地址:https://github.com/didi/benchmark-thrift▍RdebugRdebug 是滴滴開源的一款用於 RD 研發、自測、調試的實用工具,能夠被用來提高 RD 研發效率、保障代碼質量進而減小線上事故。項目地址:https://github.com/didi/rdebug▍SharinganSharingan是一個基於golang的流量錄製回放工具,錄製線上真實請求流量進行回放測試,適合項目重構、迴歸測試等。隨着微服務架構的興起,服務之間的依賴關係變的愈來愈複雜,系統升級頻繁致使維護測試用例成本高,依賴下游衆多也很難提供穩定的測試環境,爲此,咱們開發這套工具來緩解上述問題。項目地址:https://github.com/didi/sharingan▍thrift-mockthrift-mock是一款輕量級的Java測試工具,用來模擬thrift服務。經過它能夠輕鬆的將依賴的thrift服務接口進行mock,得到指定的接口返回,從而極大的提高了聯調、測試階段的開發效率。項目地址:https://github.com/didi/thrift-mock

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

相關文章
相關標籤/搜索