函式計算實踐——一個應用案例
一 背景
來自一個使用者匹配的需求。使用者的不同資訊分佈於兩個系統,且客觀上無法直接打通。所以就涉及到兩個系統id匹配的問題。
先抽象問題:系統A,系統B;系統A中存在一個使用者a(欄位:a_id, a_img, a_name), 系統B中可能有a的補充資訊(欄位:ab_id, ab_img,ab_name),
目標:如果B中存在使用者a的資訊,那麼希望能找到並進行匹配,並把匹配結果返回系統A,結果格式:a_id, a_img, a_name,ab_id
二 問題詳細描述
欄位說明:
a_id 使用者a在系統A的id;
a_img 使用者a在系統A的屬性圖片連結,注: a_img和ab_img雖然都是使用者a的圖片連結,但可能連結並不相同。例如a_img: http://sysa/a1.jpg,ab_img:http://sysb/b2.jpg
a_name 使用者a在系統A的屬性暱稱;
ab_id 使用者a在系統B中的id。
兩個系統中的圖片,正常情況下,img內容是相同的(連結可能不同);或者是縮圖關係; name通常不會修改,但存在多個使用者暱稱相同的情況。
這兩個屬性是判定兩個系統中的使用者是否是同一個的主要依據。
三 匹配策略
注:以下只是專案初期的簡化匹配策略。因為資料特性,經過統計和特徵分析,驗證準確率可以達到預期,所以初期不會為百分之幾的優化投入過多資源和精力。所以不必糾結策略的準確率
1、首先通過暱稱匹配
當系統A的使用者暱稱,與系統B的有且只有一條記錄暱稱相同時,將這兩個記錄匹配 【根據真實資料經驗,使用者進入兩個系統記錄的時間規律,並允許較低的錯誤率;支援人工修復】;
2、當系統A的輸入記錄,與系統B的多條記錄暱稱相同時,繼續判斷圖片內容。這裡的判斷步驟設計如下:
2-1 分別拉取a_img 和 ab_img的圖片內容(字串),如果內容相同,那麼確定是同一條記錄,記錄匹配關係;
2-2 如果內容不同,計算兩張圖片的相似度(漢明距離)。當相似度大於指定閾值時,認為二者匹配,記錄匹配關係
四 計算資源管理及優化
可以看到,這裡可能會有一個比較耗費資源的動作,就是需要匹配圖片內容時。我們要拉取圖片內容、字串直接比對、簡化特徵、計算漢明距離,而當這個計算邏輯被併發呼叫的頻率很高時,所需的頻寬、計算能力都有可能成為瓶頸。自運維就需要解決峰值問題,或強制限制呼叫頻率。所以採用函式計算來做彈性支援。
另外,為了減少重複的圖片拉取動作,降低流量消耗,且繫結資料儲存在系統B中。那麼我們先完成系統B內img的內容拉取,和特徵提取工作,對於一個新的匹配請求,我們只需要拉取a_img的內容並特徵提取就可以了,減少了近一半的工作。
目前,專案已經在開發中,效果已做驗證,即將上線。未來再進行深入優化
相關文章
- 函式計算——應用初探函式
- Serverless 實戰 —— 函式計算 + Typescript 實踐Server函式TypeScript
- 函式計算-HelloWorld應用開發函式
- Serverless 在阿里雲函式計算中的實踐Server阿里函式
- “暈乎乎的概念”:阿里雲函式計算的“應用”又是個啥阿里函式
- 工程實踐:給函式取一個"好"的名字函式
- 場景實踐:使用函式計算打包下載OSS檔案函式
- JuiceFS 在火山引擎邊緣計算的應用實踐UI
- 記錄生成器函式的一個應用函式
- 阿里雲函式計算 x NVIDIA 加速企業 AI 應用落地阿里函式AI
- 表示式計算(棧的應用)
- Python函式每日一講 - help函式的使用與實踐Python函式
- pycuda-一些計算函式函式
- matchTemplate函式各個方法的計算公式函式公式
- 私有云基礎架構設計:儲存、網路、計算、安全和應用的設計最佳實踐及案例架構
- 實驗3 c語言函式應用程式設計C語言函式程式設計
- 實驗3 C語言函式應用程式設計C語言函式程式設計
- 場景實踐:基於函式計算快速搭建Wordpress部落格系統函式
- 封裝一個元件 + 函式惰性思想(重寫應用)封裝元件函式
- kubernetes部署第一個應用案例
- 掌控物體運動藝術:圖撲 Easing 函式實踐應用函式
- 用函式實現模組化程式設計一函式程式設計
- 實驗3_C語言函式應用程式設計C語言函式程式設計
- Map-Reduce 思想在 ABAP 程式設計中的一個實際應用案例程式設計
- framebuffer應用程式設計實踐程式設計
- 快速遷移 Next.js 應用到函式計算JS函式
- [翻譯] 響應式程式設計(Reactive Programming) - 流(Streams) - BLoC - 實際應用案例程式設計ReactBloC
- 雲原生與邊緣計算的碰撞——邊緣原生應用實踐
- PostgreSQL之SQL函式介紹及實踐(一)SQL函式
- Vue3組合式函式最佳實踐(一)Vue函式
- 用java實現一個簡單的計算器Java
- 使用函式式語言實踐DDD函式
- 關於Python一等函式的一點實踐Python函式
- 【唯實踐】容器環境應用一鍵拉起實踐
- vue在一個函式中呼叫另外一個函式Vue函式
- 基於阿里雲函式計算實現AI推理阿里函式AI
- c++虛擬函式實現計算表示式子C++函式
- 節省 58% IT 成本,呼叫函式計算超過 30 億次,石墨文件的 Serverless 實踐函式Server