1:N圖片識別分佈式解決方案

一、背景

1:N圖片比對(人臉比對,車輛比對)爲通用場景,但當N特別大時,如上千萬,單服務多線程處理模式速度太慢,需要改造成分佈式多服務併發執行,這樣不僅能提高速度,擴展性也好。

 

二、整體思路

1、增加任務調度服務,任務調度服務主要分任務拆分和任務合併兩個功能。

2、任務調度收到業務平臺的1:N識別命令,先根據過濾條件分批從hbase取所有圖片的唯一id列表保存到本地文件,然後讀文件按批次將圖片的id列表分發給Kafka,如一次分發1W條。

3、多個解析服務從Kafka取子任務的uid列表,然後從數據庫取到對應的圖片特徵碼,進行相似度比對,執行完子任務將圖片相似度滿足條件的結果發給Kafka。

4、任務調度監聽kafaka中消息,發現主任務的所有子任務都執行完,從redis取數據做數據合併,並將調用業務平臺回調接口通知到業務平臺,子任務沒有全部完成,就將子任務的數據合併壓入redis。業務平臺收到通知將比對結果數據做進一步業務處理。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章