本發(fā)明實施例涉及算力基礎設施,尤其涉及一種通過刪除數(shù)據(jù)結構優(yōu)化智能計算中心算力計算資源的方法。
背景技術:
1、隨著人工智能技術和算力技術的發(fā)展,智能計算中心的概念應運而生,“智能計算中心”是指通過使用大規(guī)模異構算力資源,包括通用算力和智能算力,主要為人工智能應用(如人工智能深度學習模型開發(fā)、模型訓練和模型推理等場景)提供所需算力、數(shù)據(jù)和算法的設施。智能計算中心涵蓋設施、硬件、軟件,并可提供從底層算力到頂層應用使能的全棧能力。
2、智能計算中心可以采用faiss作為向量數(shù)據(jù)庫,faiss是一種高效的相似性搜索和聚類的庫。它能夠快速處理大規(guī)模數(shù)據(jù),并且支持在高維空間中進行相似性搜索。
3、相關技術中,faiss中的flat(暴力搜索)向量索引的過程中,需要刪除用于記錄向量數(shù)據(jù)的內部id和用戶id的映射表中的數(shù)據(jù)以更新數(shù)據(jù)結構,目前刪除映射表中的id的過程,耗時較長,對智能計算中心的算力計算資源較為耗費較大。
技術實現(xiàn)思路
1、本發(fā)明實施例提供一種通過刪除數(shù)據(jù)結構優(yōu)化智能計算中心算力計算資源的方法,用于解決faiss中的flat向量索引的過程中,需要刪除用于記錄向量數(shù)據(jù)的內部id和用戶id的映射表中的數(shù)據(jù)以更新數(shù)據(jù)結構,目前刪除映射表中的id的過程,耗時較長,對智能計算中心的算力計算資源較為耗費較大的問題。
2、為了解決上述技術問題,本發(fā)明是這樣實現(xiàn)的:
3、第一方面,本發(fā)明實施例提供了一種通過刪除數(shù)據(jù)結構優(yōu)化智能計算中心算力計算資源的方法,包括:
4、步驟s1:當接收到客戶端發(fā)送的向量數(shù)據(jù)刪除指令的情況下,獲取所述向量數(shù)據(jù)刪除指令中攜帶的待刪除的多個向量數(shù)據(jù)的多個指定用戶id;
5、步驟s2:刪除第一映射表中的所述多個指定用戶id,得到更新后的第一映射表,并記錄所述多個指定用戶id被刪除前對應的多個指定內部id的上邊界id和下邊界id;所述第一映射表中存儲有向量數(shù)據(jù)庫中的向量數(shù)據(jù)的內部id到用戶id的第一映射關系;
6、步驟s3:對第二映射表執(zhí)行第一操作,所述第二映射表存儲有用戶id到內部id的第二映射關系,所述第一操作至少包括:
7、對更新前的第一映射表中的所述上邊界id和所述下邊界id之間的內部id對應的第一用戶id對應的第二映射關系進行重建;
8、刪除所述第二映射表中的所述多個指定用戶id對應的第二映射關系。
9、可選的,所述第一操作還包括以下至少一項:
10、對更新前的第一映射表中的所述上邊界id之前的內部id對應的第二用戶id對應的第二映射關系維持不變;
11、對更新前的第一映射表中的所述下邊界id之后的內部id對應的第三用戶id對應的第二映射關系中的內部id減m,其中,m為所述多個指定用戶id的個數(shù)。
12、可選的,所述步驟s1還包括:
13、步驟s11:從所述第二映射表中查詢所述多個指定用戶id對應的多個指定內部id;
14、步驟s12:刪除所述向量數(shù)據(jù)庫中的所述多個指定內部id對應的向量數(shù)據(jù)。
15、可選的,所述步驟s1還包括:
16、步驟s13:判斷從所述向量數(shù)據(jù)庫中刪除的向量數(shù)據(jù)個數(shù)是否為零;
17、步驟s14:若從所述向量數(shù)據(jù)庫中刪除的向量數(shù)據(jù)個數(shù)不為零,繼續(xù)執(zhí)行所述步驟s2和步驟s3;若從所述向量數(shù)據(jù)庫中刪除的向量數(shù)據(jù)個數(shù)為零,不執(zhí)行所述步驟s2和步驟s3。
18、可選的,所述步驟s2包括:
19、步驟s21:根據(jù)所述向量數(shù)據(jù)刪除指令中所述指定用戶id的個數(shù)分配第一內存;
20、步驟s22:刪除所述第一映射表中的所述指定用戶id,得到更新后的第一映射表,將刪除的指定用戶id加入到所述第一內存中,并記錄所述多個指定用戶id被刪除前對應的多個指定內部id的上邊界id和下邊界id;
21、所述步驟s3中的刪除所述第二映射表中的所述多個指定用戶id對應的第二映射關系包括:
22、步驟s31:根據(jù)所述第一內存中存儲的所述多個指定用戶id,刪除所述第二映射表中的所述多個指定用戶id對應的第二映射關系。
23、可選的,所述步驟s3中的對更新前的第一映射表中的所述上邊界id和所述下邊界id之間的內部id對應的第一用戶id對應的第二映射關系進行重建,包括:根據(jù)更新后的第一映射表中的第一映射關系,對更新前的第一映射表中的所述上邊界id和所述下邊界id之間的內部id對應的第一用戶id對應的第二映射關系中的內部id進行修改。
24、第二方面,本發(fā)明實施例提供了一種通過刪除數(shù)據(jù)結構優(yōu)化智能計算中心算力計算資源的裝置,包括:
25、獲取模塊,用于當接收到客戶端發(fā)送的向量數(shù)據(jù)刪除指令的情況下,獲取所述向量數(shù)據(jù)刪除指令中攜帶的待刪除的多個向量數(shù)據(jù)的多個指定用戶id;
26、第一更新模塊,用于刪除第一映射表中的所述多個指定用戶id,得到更新后的第一映射表,并記錄所述多個指定用戶id被刪除前對應的多個指定內部id的上邊界id和下邊界id;所述第一映射表中存儲有向量數(shù)據(jù)庫中的向量數(shù)據(jù)的內部id到用戶id的第一映射關系;
27、第二更新模塊,用于對第二映射表執(zhí)行第一操作,所述第二映射表存儲有用戶id到內部id的第二映射關系,所述第一操作至少包括:
28、對更新前的第一映射表中的所述上邊界id和所述下邊界id之間的內部id對應的第一用戶id對應的第二映射關系進行重建;
29、刪除所述第二映射表中的所述多個指定用戶id對應的第二映射關系。
30、第三方面,本發(fā)明實施例提供了一種服務器,包括:處理器、存儲器及存儲在所述存儲器上并可在所述處理器上運行的程序,所述程序被所述處理器執(zhí)行時實現(xiàn)如上述第一方面所述的通過刪除數(shù)據(jù)結構優(yōu)化智能計算中心算力計算資源的方法的步驟。
31、第四方面,本發(fā)明實施例提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上述第一方面所述的通過刪除數(shù)據(jù)結構優(yōu)化智能計算中心算力計算資源的方法的步驟。
32、第五方面,提供一種計算機程序產(chǎn)品,包括計算機指令,該計算機指令被處理器執(zhí)行時實現(xiàn)如上述第一方面所述的通過刪除數(shù)據(jù)結構優(yōu)化智能計算中心算力計算資源的方法的步驟。
33、本發(fā)明實施例中,在刪除用于記錄向量數(shù)據(jù)的內部id和用戶id的映射表中的數(shù)據(jù)以更新映射表的數(shù)據(jù)結構的過程中,可以記錄多個指定用戶id被刪除前,在第一映射表中對應的多個指定內部id的上邊界id和下邊界id,對于第二映射表,可以僅對更新前的第一映射表中的所述上邊界id和所述下邊界id之間的內部id對應的第一用戶id對應的第二映射關系進行重建,即不需要對第二映射表中的所有第二映射關系均進行重建,且本發(fā)明重建第二映射表時無需新增內存資源,從而可以有效降低向量數(shù)據(jù)庫的處理時長,以及,優(yōu)化智能計算中心的算力計算資源。