国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器和方法與流程

      文檔序號:11133867閱讀:來源:國知局

      技術(shù)特征:

      1.一種基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,包括訓(xùn)練加速器結(jié)構(gòu)和預(yù)測加速器結(jié)構(gòu),所述訓(xùn)練加速器結(jié)構(gòu),用于鄰域模型的協(xié)同過濾推薦算法訓(xùn)練階段的加速,所述預(yù)測加速器結(jié)構(gòu),用于鄰域模型的協(xié)同過濾推薦算法預(yù)測階段的加速;所述訓(xùn)練加速器結(jié)構(gòu)內(nèi)部由一個控制單元、多個DMA、多個第一執(zhí)行單元構(gòu)成,DMA與第一執(zhí)行單元數(shù)量相同、一一對應(yīng),控制單元與DMA和第一執(zhí)行單元通過控制總線相連,第一執(zhí)行單元與DMA通過數(shù)據(jù)總線相連;所述預(yù)測加速器結(jié)構(gòu)內(nèi)部由一個控制總線互聯(lián)結(jié)構(gòu)、多個DMA、多個第二執(zhí)行單元構(gòu)成,DMA與第二執(zhí)行單元數(shù)量相同、一一對應(yīng),控制總線互聯(lián)結(jié)構(gòu)與DMA和第二執(zhí)行單元通過控制總線相連,第二執(zhí)行單元與DMA通過數(shù)據(jù)總線相連;宿主CPU與控制單元和控制總線互連結(jié)構(gòu)通過控制總線相連,主存與每個DMA通過數(shù)據(jù)總線相連。

      2.根據(jù)權(quán)利要求1所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,所述基于鄰域模型的協(xié)同過濾的協(xié)同過濾推薦算法訓(xùn)練階段包括:User-based CF算法訓(xùn)練階段計算所有用戶向量之間相似度、Item-based CF算法訓(xùn)練階段計算所有物品向量之間相似度、SlopeOne算法訓(xùn)練階段計算所有物品之間平均差異度;

      所述基于鄰域模型的協(xié)同過濾的協(xié)同過濾推薦算法預(yù)測階段包括:User-based CF算法預(yù)測階段計算物品預(yù)測值、Item-based CF算法預(yù)測階段計算物品預(yù)測值、SlopeOne算法預(yù)測階段計算物品預(yù)測值。

      3.根據(jù)權(quán)利要求1所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,所述控制單元,用于在宿主CPU的控制下,讀入訓(xùn)練加速器指令程序,依次執(zhí)行程序中的每條指令,控制執(zhí)行單元執(zhí)行指令對應(yīng)的功能操作;內(nèi)置有用于存儲用戶編寫的訓(xùn)練加速器指令程序的指令緩存、程序計數(shù)器、用于記錄向量長度的寄存器、用于記錄每重循環(huán)指令對應(yīng)剩余循環(huán)次數(shù)的寄存器組。

      4.根據(jù)權(quán)利要求1所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,所述第一執(zhí)行單元,包括控制總線互連結(jié)構(gòu)、緩存模塊、輸入模塊、輸出模塊、累加模塊和運算模塊,控制單元通過控制總線互聯(lián)結(jié)構(gòu)與其他模塊通過控制總線相連;所述輸入模塊將DMA中的向量數(shù)據(jù)讀入至緩存模塊;所述累加模塊對緩存模塊中的兩個向量進行計算,得到計算相似度或平均差異度時所需的若干標(biāo)量信息,并將這些標(biāo)量信息寫回至緩存模塊;所述運算模塊利用緩存模塊中的標(biāo)量信息計算相似度或平均差異度,并將計算結(jié)果寫入至緩存模塊;所述輸出模塊將緩存模塊任意標(biāo)量或向量數(shù)據(jù)寫回至DMA內(nèi)部緩存。

      5.根據(jù)權(quán)利要求3所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,所述訓(xùn)練加速器指令程序由專用指令集組成,所述指令集包括:

      輸入指令,用于控制輸入模塊讀取DMA內(nèi)部緩存中的數(shù)據(jù),并將其寫入至指令操作數(shù)對應(yīng)的控制單元寄存器或緩存模塊中的向量緩存;共有三條,分別用于讀取向量長度或某重循環(huán)指令的循環(huán)次數(shù),讀取一條向量數(shù)據(jù),邊讀取一條向量數(shù)據(jù)邊進行計算,均為一操作數(shù)指令;

      輸出指令,用于控制輸出模塊將指令操作數(shù)對應(yīng)的緩存模塊中的標(biāo)量或向量數(shù)據(jù)寫回至DMA內(nèi)部緩存;共有兩條,分別用于寫回標(biāo)量數(shù)據(jù),寫回向量數(shù)據(jù),均為一操作數(shù)指令;

      累加指令,用于控制累加模塊對存放在緩存模塊中的兩條向量進行計算,得到指令對應(yīng)的相似度或平均差異度在計算時所需的若干標(biāo)量信息,并將這些標(biāo)量信息寫入至緩存模塊;共有四條,分別用于歐幾里德距離、余弦相似度、皮爾遜相關(guān)系數(shù)、平均差異度,均為無操作數(shù)指令;

      運算指令,用于控制運算模塊利用存放在緩存模塊中的若干標(biāo)量信息計算指令對應(yīng)的相似度或平均差異度,并將計算結(jié)果寫入至緩存模塊,共有六條,分別用于杰卡德相似系數(shù)、歐幾里德距離、兩種余弦相似度、皮爾遜相關(guān)系數(shù)、平均差異度,均為無操作數(shù)指令;

      循環(huán)指令,用于控制單元對循環(huán)指令標(biāo)記范圍內(nèi)的其他指令執(zhí)行循環(huán)操作,包含循環(huán)開始標(biāo)記與循環(huán)結(jié)束標(biāo)記;共有三對,分別用于一重循環(huán)、二重循環(huán)、三重循環(huán),對應(yīng)的循環(huán)次數(shù)記錄在控制單元的相關(guān)寄存器中,由輸入指令負(fù)責(zé)寫入。

      6.根據(jù)權(quán)利要求1所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,鄰域模型的協(xié)同過濾推薦算法訓(xùn)練階段的加速處理包括以下步驟:

      S01:根據(jù)選用推薦算法,確定向量類型與長度;

      S02:根據(jù)向量類型與長度、選用數(shù)據(jù)集,確定向量數(shù)量;

      S03:根據(jù)向量數(shù)量、執(zhí)行單元數(shù)量,按照執(zhí)行單元數(shù)量將所有向量分塊,并將每塊分配給每個執(zhí)行單元處理;

      S04:根據(jù)選用的推薦算法、向量類型與長度、向量數(shù)量、分配給每個執(zhí)行單元的向量數(shù)量、相似度標(biāo)準(zhǔn)或平均差異度,編寫訓(xùn)練加速器指令程序,并將指令程序傳入至控制單元指令緩存;

      S05:宿主CPU通過控制單元控制所有DMA設(shè)備同時發(fā)起數(shù)據(jù)傳輸,DMA將所有控制信息與向量數(shù)據(jù)從主存讀入至DMA內(nèi)部緩存;

      S06:控制單元以單指令流多數(shù)據(jù)流的方式依次執(zhí)行每條指令,控制所有執(zhí)行單元并行同步的執(zhí)行指令對應(yīng)的操作:依次處理所分配的每條向量,從DMA內(nèi)部緩存中讀入該向量并寫入至緩存模塊,依次從DMA中讀入每條其他向量并寫入至緩存模塊,根據(jù)指令對應(yīng)的相似度或平均差異度對兩條向量進行計算,得到所有相關(guān)的標(biāo)量信息并寫入至緩存模塊,利用標(biāo)量信息計算兩條向量之間的相似度或平均差異度,將計算結(jié)果寫入至緩存模塊,將緩存模塊中的相似度或平均差異度計算結(jié)果寫回至DMA內(nèi)部緩存;

      S07:處理完分配的所有向量后,宿主CPU通過控制單元控制所有DMA設(shè)備發(fā)起數(shù)據(jù)傳輸,將DMA內(nèi)部緩存中的所有向量相似度或平局差異度計算結(jié)果寫回至主存。

      7.根據(jù)權(quán)利要求6所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,當(dāng)DMA內(nèi)部緩存容量無法存放主存中所有控制信息、向量數(shù)據(jù)或執(zhí)行單元寫回的所有相似度或平均差異度計算結(jié)果時,宿主CPU多次通知DMA發(fā)起數(shù)據(jù)傳輸,DMA進行多次傳輸部分?jǐn)?shù)據(jù),直至完成所有數(shù)據(jù)的傳輸。

      8.根據(jù)權(quán)利要求6所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,所述步驟S06中,當(dāng)向量長度超過執(zhí)行單元緩存模塊的向量緩存存儲容量上限時,首先對向量進行分片處理,將每條向量按照該上限大小劃分為若干個片段,然后執(zhí)行單元逐個的對從DMA內(nèi)部緩存讀入的每對向量片段進行處理。

      9.根據(jù)權(quán)利要求8所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,所述執(zhí)行單元對向量片段處理步驟包括:

      S11:執(zhí)行單元依次對分配的每條向量與其他向量之間的執(zhí)行相似度或平均差異度計算;

      S12:在依次對該向量與某條其他向量執(zhí)行計算時,輸入模塊依次讀入兩條向量對應(yīng)的每對向量片段,累加模塊對該對向量片段計算指令對應(yīng)的相似度或平均差異度涉及的若干標(biāo)量信息并累加至緩存模塊中,處理完兩個向量的所有向量片段后,運算模塊利用緩存模塊中的標(biāo)量信息計算相應(yīng)的相似度或平均差異度并寫入至緩存模塊,輸出模塊將相似度或平均差異度結(jié)果寫回至DMA內(nèi)部緩存;

      S13:在完成該向量與其他向量之間的所有計算后,執(zhí)行單元對下一條向量計算。

      10.根據(jù)權(quán)利要求8所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,所述執(zhí)行單元對向量片段處理步驟包括:

      S21:執(zhí)行單元依次對分配的每條向量與其他向量之間的執(zhí)行相似度或平均差異度計算;

      S22:在依次對向量片段進行處理時,輸入模塊首先讀入該向量的相應(yīng)向量片段,然后依次讀入每條其他向量相應(yīng)的向量片段,累加模塊對該對向量片段計算指令對應(yīng)的相似度或平均差異度涉及的若干標(biāo)量信息并累加至緩存模塊中,處理完該向量與所有其他向量對應(yīng)的向量片段后,輸出模塊將緩存模塊中的相應(yīng)標(biāo)量信息寫回至DMA內(nèi)部緩存,宿主CPU通過控制單元控制所有DMA設(shè)備發(fā)起數(shù)據(jù)傳輸,將DMA內(nèi)部緩存中的所有標(biāo)量信息寫回并累加至主存;

      S23:執(zhí)行單元處理完所有向量片段后,宿主CPU利用主存中的所有標(biāo)量信息計算該向量與其他所有相量之間的相似度或平均差異度;

      S24:在完成該向量與其他向量之間的所有計算后,執(zhí)行單元對下一條向量計算。

      11.根據(jù)權(quán)利要求1所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,所述第二執(zhí)行單元,包括控制模塊、緩存模塊、輸入模塊和輸出模塊,控制模塊內(nèi)置有用于存儲用戶編寫的預(yù)測加速器指令程序的指令緩存、程序計數(shù)器、用于記錄向量長度的寄存器、用于記錄每重循環(huán)指令對應(yīng)剩余循環(huán)次數(shù)的寄存器組;用于在宿主CPU的控制下,讀入預(yù)測加速器指令程序,依次執(zhí)行程序中的每條指令,控制其他模塊執(zhí)行指令對應(yīng)的功能操作:輸入模塊從DMA內(nèi)部緩存中讀取控制信息、標(biāo)量數(shù)據(jù)或向量數(shù)據(jù),將控制信息寫入至控制模塊相應(yīng)寄存器,將標(biāo)量數(shù)據(jù)寫入至緩存模塊相應(yīng)緩存,對標(biāo)量和向量數(shù)據(jù)進行計算,并將計算結(jié)果累加至緩存模塊相應(yīng)緩存;輸出模塊利用緩存模塊中的累加結(jié)果計算物品的預(yù)測值,并將計算結(jié)果寫回至DMA內(nèi)部緩存。

      12.根據(jù)權(quán)利要求11所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,所述預(yù)測加速器指令程序由指令集組成,所述指令集包括:

      輸入指令,用于控制輸入模塊讀取DMA內(nèi)部緩存中的控制信息、標(biāo)量數(shù)據(jù)或向量數(shù)據(jù),將控制信息寫入至控制模塊相應(yīng)寄存器,將標(biāo)量數(shù)據(jù)寫入至緩存模塊相應(yīng)緩存,對標(biāo)量和向量數(shù)據(jù)進行計算,并將計算結(jié)果累加至緩存模塊相應(yīng)緩存;共有六條,分別用于讀取向量長度、某重循環(huán)指令的循環(huán)次數(shù)控制信息以及某對用戶的相似度、某用戶對某物品的評分標(biāo)量數(shù)據(jù),讀取用戶向量并進行物品累加計算,讀取用戶向量并進行物品加權(quán)累加計算,讀取物品相似度向量并進行物品累加計算,讀取物品相似度向量并進行物品加權(quán)累加計算,讀取物品平均差異度向量并進行物品求和累加計算,讀取控制信息、標(biāo)量信息的指令為一操作數(shù)指令,其余均為無操作數(shù)指令;

      輸出指令,用于輸出模塊對緩存模塊中的累加結(jié)果計算物品的預(yù)測值,并將計算結(jié)果寫回至DMA內(nèi)部緩存;共有兩條,分別用于直接寫回緩存模塊向量數(shù)據(jù),計算并寫回緩存模塊向量數(shù)據(jù),均為無操作數(shù)指令;

      循環(huán)指令,用于控制模塊對循環(huán)指令標(biāo)記范圍內(nèi)的其他指令執(zhí)行循環(huán)操作,包含循環(huán)開始標(biāo)記與循環(huán)結(jié)束標(biāo)記;共有三對,分別用于一重循環(huán)、二重循環(huán)、三重循環(huán),對應(yīng)的循環(huán)次數(shù)記錄在控制模塊的相關(guān)寄存器中,由輸入指令負(fù)責(zé)寫入。

      13.根據(jù)權(quán)利要求1所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,鄰域模型的協(xié)同過濾推薦算法預(yù)測階段的加速處理包括以下步驟:

      S31:根據(jù)選用推薦算法,確定向量類型與長度以及物品預(yù)測值計算方式;

      S32:根據(jù)選用數(shù)據(jù)集,確定需要執(zhí)行推薦任務(wù)的用戶數(shù)量;

      S33:根據(jù)用戶數(shù)量、執(zhí)行單元數(shù)量,按照執(zhí)行單元數(shù)量將所有用戶均分為多塊,并將每塊中的用戶分配給每個執(zhí)行單元處理;根據(jù)選用的推薦算法、計算方式、數(shù)據(jù)集、向量類型與長度、分配給每個執(zhí)行單元的用戶數(shù)量,編寫預(yù)測加速器指令程序,并將指令程序傳入至每個執(zhí)行單元緩存模塊中的指令緩存;宿主CPU通過控制總線互連結(jié)構(gòu)控制所有DMA設(shè)備同時發(fā)起數(shù)據(jù)傳輸,DMA將所有控制信息、標(biāo)量數(shù)據(jù)、向量數(shù)據(jù)從主存讀入至DMA內(nèi)部緩存;

      S34:所有執(zhí)行單元控制模塊以多指令流多數(shù)據(jù)流的方式依次執(zhí)行每條指令,每個控制模塊控制該執(zhí)行單元內(nèi)的其他模塊執(zhí)行指令對應(yīng)的操作:依次處理所分配的每個用戶,從DMA內(nèi)部緩存中讀入該用戶的相關(guān)標(biāo)量數(shù)據(jù)和向量數(shù)據(jù),對向量數(shù)據(jù)涉及到的每個物品進行計算,并將計算結(jié)果累加至緩存模塊對應(yīng)緩存,在處理完該用戶的所有標(biāo)量數(shù)據(jù)和向量數(shù)據(jù)后,選擇性的對緩存模塊中的數(shù)據(jù)進行除法運算,并將所有運算結(jié)果寫回DMA內(nèi)部緩存;

      S35:處理完所有分配的所有用戶后,宿主CPU通過控制單元控制所有DMA設(shè)備發(fā)起數(shù)據(jù)傳輸,將DMA內(nèi)部緩存中的物品預(yù)測值結(jié)果寫回至主存。

      14.根據(jù)權(quán)利要求13所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,當(dāng)DMA內(nèi)部緩存容量無法存放主存中所有控制信息、向量數(shù)據(jù)或執(zhí)行單元寫回的所有相似度或平均差異度計算結(jié)果時,宿主CPU多次通知DMA發(fā)起數(shù)據(jù)傳輸,DMA進行多次傳輸部分?jǐn)?shù)據(jù),直至完成所有數(shù)據(jù)的傳輸。

      15.根據(jù)權(quán)利要求13所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,所述步驟S34中,當(dāng)向量長度超過執(zhí)行單元緩存模塊的向量緩存存儲容量上限時,首先對向量進行分片處理,將每條向量按照該上限大小劃分為若干個片段,然后執(zhí)行單元逐個的對從DMA內(nèi)部緩存讀入的每對向量片段進行處理。

      16.根據(jù)權(quán)利要求15所述的基于鄰域模型的協(xié)同過濾推薦算法的硬件加速器,其特征在于,所述執(zhí)行單元對向量片段處理步驟包括:

      S41:執(zhí)行單元依次對分配的每個用戶執(zhí)行物品預(yù)測值計算;

      S42:在依次對每個分片內(nèi)的物品進行計算時,輸入模塊從DMA內(nèi)部緩存中讀入該用戶的相關(guān)標(biāo)量數(shù)據(jù)和向量數(shù)據(jù),對向量數(shù)據(jù)涉及到并處于該分片內(nèi)的每個物品進行計算,并將計算結(jié)果累加至緩存模塊對應(yīng)緩存,在處理完該用戶的所有標(biāo)量數(shù)據(jù)和向量數(shù)據(jù)后,選擇性的對緩存模塊中的數(shù)據(jù)進行除法運算,并將所有運算結(jié)果寫回DMA內(nèi)部緩存;

      S43:處理完所有物品片段后,處理下個用戶。

      17.一種基于鄰域模型的協(xié)同過濾推薦算法的硬件加速方法,其特征在于,包括訓(xùn)練階段加速和預(yù)測階段加速,所述訓(xùn)練階段通過訓(xùn)練加速器結(jié)構(gòu)加速,包括以下步驟:

      S51:根據(jù)選用推薦算法,確定向量類型與長度;

      S52:根據(jù)向量類型與長度、選用數(shù)據(jù)集,確定向量數(shù)量;

      S53:根據(jù)向量數(shù)量、訓(xùn)練加速器結(jié)構(gòu)的執(zhí)行單元數(shù)量,按照執(zhí)行單元數(shù)量將所有向量分塊,并將每塊分配給每個執(zhí)行單元處理;

      S54:根據(jù)選用的推薦算法、向量類型與長度、向量數(shù)量、分配給每個執(zhí)行單元的向量數(shù)量、相似度標(biāo)準(zhǔn)或平均差異度,編寫訓(xùn)練加速器指令程序,并將指令程序傳入至控制單元指令緩存;

      S55:宿主CPU通過控制單元控制所有DMA設(shè)備同時發(fā)起數(shù)據(jù)傳輸,DMA將所有控制信息與向量數(shù)據(jù)從主存讀入至DMA內(nèi)部緩存;

      S56:控制單元以單指令流多數(shù)據(jù)流的方式依次執(zhí)行每條指令,控制所有執(zhí)行單元并行同步的執(zhí)行指令對應(yīng)的操作:依次處理所分配的每條向量,從DMA內(nèi)部緩存中讀入該向量并寫入至緩存模塊,依次從DMA中讀入每條其他向量并寫入至緩存模塊,根據(jù)指令對應(yīng)的相似度或平均差異度對兩條向量進行計算,得到所有相關(guān)的標(biāo)量信息并寫入至緩存模塊,利用標(biāo)量信息計算兩條向量之間的相似度或平均差異度,將計算結(jié)果寫入至緩存模塊,將緩存模塊中的相似度或平均差異度計算結(jié)果寫回至DMA內(nèi)部緩存;

      S57:處理完分配的所有向量后,宿主CPU通過控制單元控制所有DMA設(shè)備發(fā)起數(shù)據(jù)傳輸,將DMA內(nèi)部緩存中的所有向量相似度或平局差異度計算結(jié)果寫回至主存;

      所述訓(xùn)練階段通過預(yù)測加速器結(jié)構(gòu)加速,包括以下步驟:

      S58:根據(jù)選用推薦算法,確定向量類型與長度以及物品預(yù)測值計算方式;

      S59:根據(jù)選用數(shù)據(jù)集,確定需要執(zhí)行推薦任務(wù)的用戶數(shù)量;

      S510:根據(jù)用戶數(shù)量、預(yù)測加速器結(jié)構(gòu)的執(zhí)行單元數(shù)量,按照執(zhí)行單元數(shù)量將所有用戶均分為多塊,并將每塊中的用戶分配給每個執(zhí)行單元處理;根據(jù)選用的推薦算法、計算方式、數(shù)據(jù)集、向量類型與長度、分配給每個執(zhí)行單元的用戶數(shù)量,編寫預(yù)測加速器指令程序,并將指令程序傳入至每個執(zhí)行單元緩存模塊中的指令緩存;宿主CPU通過控制總線互連結(jié)構(gòu)控制所有DMA設(shè)備同時發(fā)起數(shù)據(jù)傳輸,DMA將所有控制信息、標(biāo)量數(shù)據(jù)、向量數(shù)據(jù)從主存讀入至DMA內(nèi)部緩存;

      S511:所有執(zhí)行單元控制模塊以多指令流多數(shù)據(jù)流的方式依次執(zhí)行每條指令,每個控制模塊控制該執(zhí)行單元內(nèi)的其他模塊執(zhí)行指令對應(yīng)的操作:依次處理所分配的每個用戶,從DMA內(nèi)部緩存中讀入該用戶的相關(guān)標(biāo)量數(shù)據(jù)和向量數(shù)據(jù),對向量數(shù)據(jù)涉及到的每個物品進行計算,并將計算結(jié)果累加至緩存模塊對應(yīng)緩存,在處理完該用戶的所有標(biāo)量數(shù)據(jù)和向量數(shù)據(jù)后,選擇性的對緩存模塊中的數(shù)據(jù)進行除法運算,并將所有運算結(jié)果寫回DMA內(nèi)部緩存;

      S512:處理完所有分配的所有用戶后,宿主CPU通過控制單元控制所有DMA設(shè)備發(fā)起數(shù)據(jù)傳輸,將DMA內(nèi)部緩存中的物品預(yù)測值結(jié)果寫回至主存。

      當(dāng)前第2頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1