Stories

List
Create Time

得物管理類目配置線上化:從業務痛點到技術實現

一、引言 在電商交易領域,管理類目作為業務責權劃分、統籌、管理核心載體,隨着業務複雜性的提高,其規則調整頻率從最初的 1 次 / 季度到多次 / 季度,三級類目的規則複雜度也呈指數級上升。傳統依賴數倉底層更新的方式暴露出三大痛點: 行業無法自主、快速調管理類目; 業務管理類目規則調整,不支持校驗類目覆蓋範圍是否有重複/遺漏,延長交付週期; 規則變更成功後、下游系統響應滯後,無法及時應用最新

Create Time

如何合理規劃Elasticsearch的索引|得物技術

一、背景 隨着ES在業務場景中的使用逐漸增多,平台對ES集羣的穩定性、管理、運維的壓力逐漸增大,通過日常的運維情況來看,發現用户對ES的瞭解熟悉程度參差不齊,經常性的遇到索引創建不規範,或者參考別人索引的創建腳本進行創建索引,對索引沒有一個比較清晰的認知,對索引結構的規劃也寥寥無幾,為此,平台使用了一些列手段來幫助用户提前合理規劃模板,比如索引、模板的創建接入飛書審批流,平台側會逐一結合業務場景和

Create Time

程序員如何提升個人技術影響力|得物技術

都説程序員的成長是碼出來的,此話不假。但如果既會寫代碼,還會寫文章,還能講PPT,那你離影響力還會遠嗎? 本文是針對每一個技術同學都適用。我將從行業技術大會主編的角色告訴你,如何打造自己的技術影響力,有哪些通用的手段,我自己又該如何做個性化疊加;我是技術小白,或者我有一定技術基礎,我又該怎麼打造自己的影響力? 一、為什麼要分享這個話題? 最近和一些技術同學聊天中,經常會聽到,誰誰誰在xx大會發表演

Create Time

你的debug包在Android 14變卡了嗎?|得物技術

一、背景 我的App怎麼這麼卡,誰在代碼裏下毒了! 有一天突然發現debug包運行變的特別卡頓,經過下面的簡單測試發現debug包在Android 14上出了問題。 二、問題排查紀錄 常規手段排查 使用了systrace以及內部的debug包 trace工具dutrace進行排查。 結論:CPU空閒,主線程無明顯阻塞,看上去就是純方法執行耗時。 發現懷疑點 第一步排查過程中沒有特別大的收穫,但是

Create Time

正品庫拍照PWA應用的實現與性能優化|得物技術

一、背景與難點 背景 目前得物ERP主要鑑別流程,是通過鑑別師鑑別提需到倉庫,倉庫庫工去進行商品補圖拍照,現有正品庫59%的人力投入在線下商品借取/歸還業務的操作端,目前,線下借取的方式會佔用商品資源,同時在使用用途上,每借出10件會出現1次拍照留檔,因此會有大量的線上閲圖量在日常鑑別和學習中發生;正品庫可通過圖庫搭建,提升圖庫質量,大大節約線下用工和物流成本支出。 但目前庫內存量10~20W件,

Create Time

得物自研DSearch3.0搜索核心引擎升級之路

一、背景 隨着交易和社區搜索業務穩步快跑,基建側引擎越來越複雜,之前搜索底層索引查詢結構已經存在較為嚴重的性能瓶頸。成本和運維難度越來越高。在開發效率上和引擎的穩定性上,也暴露出了很多需要解決的運維穩定性和開發效率短板。而在引擎的業務層部分也需要逐步升級,來解決當前引擎中召回層和業務層中各個模塊強耦合,難維護,迭代效率低下等問題。 二、引擎開發技術方案 DSearch1.0索引層整體結構 DSe

Create Time

社區搜索離線回溯系統設計:架構、挑戰與性能優化|得物技術

一、項目背景 在社區場景中,我們積累了豐富的用户互動數據。這些歷史互動信息對CTR/CVR預估建模具有重要參考價值,用户的每次互動都反映了其特定維度的偏好特徵。當前,已在多個業務實踐中驗證,基於用户歷史互動特徵進行未來行為預測是有效的。用户互動序列越長,包含的偏好特徵就越豐富,但同時也帶來了更大的技術挑戰。 目前社區搜索領域已經在序列建模方向取得了一些應用成果,顯著提升了搜索效率,但在該方向上仍有

Create Time

大模型如何革新搜索相關性?智能升級讓搜索更“懂你”|得物技術

一、背 景 你是否曾在社區搜索時遇到這樣的困擾:想找一雙“平價學生黨球鞋”,結果出現的多是限量聯名款?或者輸入“初冬輕薄通勤羽絨服”,卻看到厚重登山款?這類“搜不準”的情況,正是搜索相關性技術要解決的核心問題——讓搜索引擎更準確地理解用户意圖,返回真正匹配的結果。今天,我們就來揭秘得物如何用大模型技術讓搜索變得更“聰明”。 搜索相關性,即衡量搜索結果與用户查詢的匹配程度,通俗來説就是“搜得準不準”

Create Time

同城雙活:交易鏈路的穩定性與可靠性探索

知易行難,雙活過程中遇到了非常多的問題,但是回過頭看很難完美的表述出來,之所以這麼久才行文也是這個原因,總是希望可以儘可能的復現當時的思考、問題細節及解決方案,但是寫出來才發現能給出的都是多次打磨、摸索之後的我們認為偏合理的方案;不過換個角度看,給大家展示出來一個正確答案,是否有更積極的參考價值呢? 以及,涉及到容器、發佈平台、底層網絡運維、監控等組件的內容,限於視野及技術能力並未包含在內,

Create Time

可擴展系統設計的黃金法則與Go語言實踐|得物技術

一、引言:為什麼需要可擴展的系統? 在軟件開發領域,需求變更如同家常便飯。一個缺乏擴展性的系統,往往在面對新功能需求或業務調整時,陷入“改一行代碼,崩整個系統”的困境。可擴展性設計的核心目標是:讓系統能夠以最小的修改成本,適應未來的變化。對於Go語言開發者而言,利用其接口、併發、組合等特性,可以高效構建出適應業務演進的系統。 本文將從架構設計原則、編碼實踐、架構實現模式、驗證指標到演進路線,系統講

Create Time

AI質量專項報告自動分析生成|得物技術

一、背景 在日常工作中,常需要通過各項數據指標,確保驅動版本項目進展正常推進,並通過各種形式報表數據,日常總結日報、週會進展、季度進行總結輸出歸因,分析數據變化原因,做出對應決策變化,優化運營方式,目前在梳理整理校準分析數據需要大量的時間投入、結合整體目標及當前進展,分析問題優化的後續規劃。 常見形式 人工收集 數據來源依賴於各系統平台頁面,通過人工收集校準後填寫再通過表格公式計算,或者可以通過多

Create Time

卡口服務 —— 基於前端巡檢系統的拓展實踐|得物技術

1 背景 體驗是得物的業務關鍵詞之一,對於前端開發而言,提高用户體驗更是重要工作內容之一。 得物前端平台目前有巡檢系統、監控平台等多種手段保障線上頁面穩定運行,但是仍有一部分問題處於“監控死角”,而且巡檢、監控都屬於後置告警手段,為了確保頁面上線前就能得到一定的用户體驗保障,結合公司的戰略目標,我們決定開發一個H5頁面檢測服務,用來前置檢測即將上線的頁面,提前暴露該頁面可能存在的問題反饋給對應的開

Create Time

得物App白屏優化系列|歸因篇

一、前言 本系列前面兩篇文章已經分別在圖片庫和網絡庫的角度介紹了諸多白屏問題的定位和解決方案,但都是相對獨立的問題,並且像OSCP,CDN節點異常之類的第三方問題無法徹底根治,因此為了長治白屏併發掘更多問題,就需要一套相對完善的白屏檢測+問題歸因體系。 本文將介紹從用户視角出發的白屏檢測方案以及線上白屏問題的大致歸因思路。 二、白屏歸因平台概覽 三、客户端 檢測思路 直接將白屏檢測寫到圖片庫裏似

Create Time

從零實現模塊級代碼影響面分析方案|得物技術

一、名詞解釋 代碼影響面(Code Impact Analysis) 是指在代碼變更後,分析這些變更對系統中其他部分的影響範圍。它幫助開發團隊理解代碼修改的潛在影響,從而減少意外問題並提高代碼質量。 模塊級 是指以模塊(Module)為單位的代碼組織、分析和管理的粒度。模塊是代碼的基本單元,通常包含一組相關的功能,可以是 JavaScript 文件、UI 組件、頁面或其他功能單元。 二、背景 價

Create Time

得物自研DGraph4.0推薦核心引擎升級之路

一、前言 DGraph是得物自主研發的新一代推薦系統核心引擎,基於C++語言構建,自2021年啓動以來,經過持續迭代已全面支撐得物社區內容分發、電商交易等核心業務的推薦場景。DGraph在推薦鏈路中主要承擔數據海選和粗排序功能,為上層精排提供高質量候選集。 核心技術特性: 索引層 - 支持KV(鍵值)、KVV(鍵-多值)、INVERT(倒排)、DENSE-KV(稠密鍵值)等。索引存儲支持磁盤

Create Time

得物前端喚端業務場景和技術精講

前言 當你在刷朋友圈時突然看到一個潮鞋廣告,正是你非常喜歡、一直想買的那款而且價格美麗,於是你興奮地點擊廣告直接打開了購物App,並且直接進入剛剛看到的潮鞋詳情頁,你只需要直接點擊購買就能得到這雙你期待已久潮鞋,這流程如絲般順滑! 你正在瘋狂追的愛豆在微博發了一款聯名潮玩內容,還是獨家發售,貼文中就有網頁鏈接,你點擊後直接打開購物平台進入了與愛豆聯名同款的潮玩詳情頁,迫不及待的下單擁有一款時尚的潮

Create Time

Flutter啓動流程分析之插件化升級探索

Flutter是Google推出的一款跨平台框架。與Weex等其他跨端框架不同的是,Flutter的界面佈局繪製是由自己完成的,而不是轉換成對應平台的原生組件。那麼各個平台是如何啓動它的呢?從Flutter官方提供的架構圖上看,Flutter Embedder層提供了底層操作系統到Flutter的程序入口,平台採用適合當前系統特性的方式去各自實現。本文基於flutter 2.0.6版本源碼,來探索

Create Time

Bookie存儲架構源碼剖析|得物技術

一、Pulsar存儲架構簡析 Pulsar作為新一代MQ中間件,在底層架構設計上充分貫徹了存算分離的思想,broker與Bookeeper兩個組件獨立部署,前者負責流量的調度、聚合、計算,後者負責數據的存儲,這也契合了雲原生下k8s大行其道的時代背景。Bookeeper又名Bookie ,是一個單獨的存儲引擎。在組件關係上,broker深度依賴Bookie,內部集成了 Bookie的client端

Create Time

深入剖析時序Prophet模型:工作原理與源碼解析|得物技術

隨着得物業務的快速發展,積累了大量的時序數據,這些數據對精細化運營,提升效率、降低成本有着重要作用。在得物的時序數據挖掘場景中,時序預測Prophet模型使用頻繁,本文對Prophet的原理和源碼進行深入分析,歡迎閲讀和交流。 一、引入 時間序列是指按照時間先後順序收集或觀測的一系列數據點,這類數據通常都具有一定時間相關性,基於這種順序性,我們可以對時間序列進行多種數據挖掘任務,包括分類、聚類、異

Create Time

線程池ThreadPoolExecutor源碼深度解析|得物技術

一、引 言 為什麼進行源碼角度的深度解析? 大家在項目中到處都在使用線程池做一些性能接口層次的優化,原先串行的多個遠程調用,因為rt過高,通過線程池批量異步優化,從而降低rt。還有像RocketMQ中broker啓動時,同時通過ScheduledThreadPoolExecutor線程池執行其他組件的定時任務,每隔一段時間處理相關的任務。線程池廣泛的應用在外面各種實際開發場景中,我們很多同學可能在

Create Time

營銷會場預覽直通車實踐|得物技術

一、背景:活動會場的配置走查之痛 在電商營銷中,會場是承載活動流量的核心陣地。得物的營銷會場不僅覆蓋520、七夕等活動節點,也支撐日常的"天天領券"、"瘋狂週末"等高頻運營場景。數據顯示,會場的UV佔比、GMV貢獻、訂單量均佔平台重要比重。 然而,隨着業務複雜度提升,會場配置面臨三大挑戰。 1.1 三大挑戰 ※多目標耦合 同一會場需同時滿足不同運營GMV提升、拉新、促活等不同目標,導致配置策略疊

Create Time

得物靈犀搜索推薦詞分發平台演進 3.0

導購是指在購物過程中為消費者提供指引和幫助的人或系統,旨在協助用户做出更優的購買決策。在電商平台中,導購通過推薦熱賣商品、促銷活動或個性化內容,顯著提升用户的購物體驗,同時推動銷售額的增長。其核心目標是通過精準的引導,滿足用户需求並促進商業價值最大化。 詞分發:導購的重要組成部分 在電商導購體系中,詞分發作為關鍵環節,主要聚焦於與關鍵詞推薦相關的功能。這些功能包括但不限於下拉詞、底紋詞、熱搜榜單、

Create Time

Redis 是單線程模型?|得物技術

一、背景 使用過Redis的同學肯定都瞭解過一個説法,説Redis是單線程模型,那麼實際情況是怎樣的呢? 其實,我們常説Redis是單線程模型,是指Redis採用單線程的事件驅動模型,只有並且只會在一個主線程中執行Redis命令操作,這意味着它在處理請求時不使用複雜的上下文切換或鎖機制。儘管只是單線程的架構,但Redis通過非阻塞的I/O操作和高效的事件循環來處理大量的併發連接,性能仍然非常高。

Create Time

前端日誌回撈系統的性能優化實踐|得物技術

一、前言 在現代前端應用中,日誌回撈系統是排查線上問題的重要工具。然而,傳統的日誌系統往往面臨着包體積過大、存儲無限膨脹、性能影響用户體驗等問題。本文將深入分析我們在@dw/log和@dw/log-upload兩個庫中實施的關鍵性能優化,以及改造過程中遇到的技術難點和解決方案。 核心優化策略概覽: 我們的優化策略主要圍繞三個核心問題: 存儲膨脹問題 - 通過智能清理策略控制本地存儲大小 包體