最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

分布式數(shù)據(jù)存儲方法及系統(tǒng)與流程

文檔序號:11230062閱讀:1305來源:國知局
分布式數(shù)據(jù)存儲方法及系統(tǒng)與流程

本發(fā)明涉及分布式數(shù)據(jù)存儲技術(shù)領(lǐng)域,特別涉及一種分布式數(shù)據(jù)存儲方法及系統(tǒng)。



背景技術(shù):

現(xiàn)有技術(shù)中,通過數(shù)據(jù)冗余來處理磁盤失效的問題,通常是每一份數(shù)據(jù)都可以存儲于三塊甚至更多塊磁盤上,當(dāng)某塊磁盤失效時,可以依靠剩下的兩個副本做數(shù)據(jù)恢復(fù),防止在磁盤損壞或者存儲模塊宕機時數(shù)據(jù)丟失。但實際上,數(shù)據(jù)恢復(fù)策略必須要得到完善的設(shè)計,否則還是會遇到數(shù)據(jù)丟失的問題。企業(yè)在搭建存儲集群時,通常都會同批次購買很多的存儲服務(wù)器和磁盤,同批次的磁盤往往具備類似的硬件規(guī)格和驅(qū)動固件,即可能出現(xiàn)同時失效的情況,在這種情況下,某一塊磁盤開始失效之時,存儲于此塊磁盤上的數(shù)據(jù)都處于降級的狀態(tài),更壞的是,與之同批次的其他磁盤也隨之失效的概率就會提高,如果此時另外一塊磁盤也失效,則一部分?jǐn)?shù)據(jù)將僅剩下一個存活的副本,并且降級程度進一步惡化,如果數(shù)據(jù)不能盡快修復(fù),降級的數(shù)據(jù)可能會因最后一個副本所在的磁盤的失效而完全丟失。

處理磁盤失效問題,通常的方案是增加副本數(shù),即由原來的三副本策略修改為四副本,這種簡單粗暴的方案會嚴(yán)重增加企業(yè)的存儲成本,另外增加副本數(shù)之后,數(shù)據(jù)的寫入性能也會降低,因此不是一個好的方案。

通常而言,用戶的數(shù)據(jù)都具有明顯的冷熱區(qū)別,越熱的數(shù)據(jù)即越經(jīng)常被訪問的數(shù)據(jù),對于用戶而言也是越重要的數(shù)據(jù)。這也是計算機系統(tǒng)中著名的局部性原理的一種體現(xiàn),即用戶在某一天某一時刻訪問的數(shù)據(jù)在未來仍需被訪問的概率較高。分布式存儲系統(tǒng)都提供了較高的可用性,即使數(shù)據(jù)的某一個副本損壞,當(dāng)用戶訪問這個數(shù)據(jù)時,仍然可以從其他副本中讀取并返回給用戶。但是對于被用戶訪問到的重要的熱點數(shù)據(jù),如果不能夠盡快修復(fù),那么如果磁盤繼續(xù)損壞,那么這些重要數(shù)據(jù)將會出現(xiàn)丟失,給用戶帶來的損失也就更大。



技術(shù)實現(xiàn)要素:

為解決磁盤損壞不能盡快修復(fù)時會出現(xiàn)數(shù)據(jù)丟失的技術(shù)問題,本發(fā)明提出一種分布式數(shù)據(jù)存儲方法及系統(tǒng)來實現(xiàn)。

一種分布式數(shù)據(jù)存儲方法,包括以下步驟:

將分布式系統(tǒng)的存儲空間分成多個存儲區(qū)域,每個區(qū)域中設(shè)有若干存儲設(shè)備,查找并獲得所有存儲設(shè)備的起始物理地址、端口信息以及為每一個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符;

監(jiān)視每個存儲設(shè)備的工作狀態(tài),當(dāng)存在故障存儲設(shè)備時,根據(jù)所述起始物理地址、端口信息或者存儲設(shè)備標(biāo)識符中的任意一種或幾種來確定故障存儲設(shè)備中的出現(xiàn)故障的部分的具體位置并且確定所述出現(xiàn)故障的全部數(shù)據(jù)組;

查詢相同存儲層中存活存儲設(shè)備,搜索與出現(xiàn)故障的部分的全部數(shù)據(jù)組相互對應(yīng)的第一數(shù)據(jù)組,在此,所述第一數(shù)據(jù)組物理地址長度不小于出現(xiàn)故障的部分的全部數(shù)據(jù)組;

選擇第一數(shù)據(jù)組替換所述出現(xiàn)故障的部分的全部數(shù)據(jù)組。

作為一種可實施方式,所述查找并獲得所有存儲設(shè)備的起始物理地址、端口信息以及為每一個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符,具體包括以下步驟:

根據(jù)存儲數(shù)據(jù)的冷熱程度,為每個存儲層設(shè)置一個編碼,為每個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符;

根據(jù)所述編碼和所述唯一存儲設(shè)備標(biāo)識符,查詢所對應(yīng)存儲設(shè)備的起始物理地址和端口信息。

作為一種可實施方式,當(dāng)出現(xiàn)故障的存儲設(shè)備的數(shù)量為兩個以上時,將根據(jù)出現(xiàn)故障的存儲設(shè)備所在的存儲層的位置順序,生成恢復(fù)順序,按照恢復(fù)順序?qū)Τ霈F(xiàn)故障的存儲設(shè)備進行替換。

作為一種可實施方式,所述按照恢復(fù)順序?qū)Τ霈F(xiàn)故障的存儲設(shè)備進行替換是指,至少有一個存活的存儲設(shè)備向出現(xiàn)故障的存儲設(shè)備中進行數(shù)據(jù)遷徙。

作為一種可實施方式,所述出現(xiàn)故障的存儲設(shè)備包括失效存儲設(shè)備和數(shù)據(jù)損害設(shè)備中的至少一種。

一種分布式數(shù)據(jù)存儲系統(tǒng),包括分層查詢模塊、監(jiān)視模塊、查詢模塊和替換模塊;

所述存儲分層模塊,用于將分布式系統(tǒng)的存儲空間分成多個存儲區(qū)域,每個區(qū)域中設(shè)有若干存儲設(shè)備,查找并獲得所有存儲設(shè)備的起始物理地址、端口信息以及為每一個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符;

所述監(jiān)視模塊,監(jiān)視每個存儲設(shè)備的工作狀態(tài),當(dāng)存在故障存儲設(shè)備時,根據(jù)所述起始物理地址、端口信息或者存儲設(shè)備標(biāo)識符中的任意一種或幾種來確定故障存儲設(shè)備中的出現(xiàn)故障的部分的具體位置并且確定所述出現(xiàn)故障的全部數(shù)據(jù)組;

所述查詢模塊,用于查詢相同存儲層中存活存儲設(shè)備,搜索與出現(xiàn)故障的部分的全部數(shù)據(jù)組相互對應(yīng)的第一數(shù)據(jù)組,在此,所述第一數(shù)據(jù)組物理地址長度不小于出現(xiàn)故障的部分的全部數(shù)據(jù)組;

所述替換模塊,用于選擇第一數(shù)據(jù)組替換所述出現(xiàn)故障的部分的全部數(shù)據(jù)組。

作為一種可實施方式,所述分層查詢模塊設(shè)置為:

所述查找并獲得所有存儲設(shè)備的起始物理地址、端口信息以及為每一個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符,具體包括以下步驟:

根據(jù)存儲數(shù)據(jù)的冷熱程度,為每個存儲層設(shè)置一個編碼,為每個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符;

根據(jù)所述編碼和所述唯一存儲設(shè)備標(biāo)識符,查詢所對應(yīng)存儲設(shè)備的起始物理地址和端口信息。

作為一種可實施方式,所述替換模塊設(shè)置為,當(dāng)出現(xiàn)故障的存儲設(shè)備的數(shù)量為兩個以上時,將根據(jù)出現(xiàn)故障的存儲設(shè)備所在的存儲層的位置順序,生成恢復(fù)順序,按照恢復(fù)順序?qū)Τ霈F(xiàn)故障的存儲設(shè)備進行替換。

作為一種可實施方式,所述替換模塊設(shè)置為,所述按照恢復(fù)順序?qū)Τ霈F(xiàn)故障的存儲設(shè)備進行替換是指,至少有一個存活的存儲設(shè)備向出現(xiàn)故障的存儲設(shè)備中進行數(shù)據(jù)遷徙。

作為一種可實施方式,所述監(jiān)視模塊設(shè)置為:所述出現(xiàn)故障的存儲設(shè)備包括失效存儲設(shè)備和數(shù)據(jù)損害設(shè)備中的至少一種。

本發(fā)明相比于現(xiàn)有技術(shù)的有益效果在于:

本發(fā)明為一種分布式數(shù)據(jù)存儲方法,包括以下步驟:將分布式系統(tǒng)的存儲空間分成多個存儲區(qū)域,每個區(qū)域中設(shè)有若干存儲設(shè)備,查找并獲得所有存儲設(shè)備的起始物理地址、端口信息以及為每一個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符;

監(jiān)視每個存儲設(shè)備的工作狀態(tài),當(dāng)存在故障存儲設(shè)備時,根據(jù)所述起始物理地址、端口信息或者存儲設(shè)備標(biāo)識符中的任意一種或幾種來確定故障存儲設(shè)備中的出現(xiàn)故障的部分的具體位置并且確定所述出現(xiàn)故障的全部數(shù)據(jù)組;

查詢相同存儲層中存活存儲設(shè)備,搜索與出現(xiàn)故障的部分的全部數(shù)據(jù)組相互對應(yīng)的第一數(shù)據(jù)組,在此,所述第一數(shù)據(jù)組物理地址長度不小于出現(xiàn)故障的部分的全部數(shù)據(jù)組;

選擇第一數(shù)據(jù)組替換所述出現(xiàn)故障的部分的全部數(shù)據(jù)組。

本發(fā)明為一種分布式數(shù)據(jù)存儲系統(tǒng),包括分層查詢模塊、監(jiān)視模塊、查詢模塊和替換模塊;所述存儲分層模塊,用于將分布式系統(tǒng)的存儲空間分成多個存儲區(qū)域,每個區(qū)域中設(shè)有若干存儲設(shè)備,查找并獲得所有存儲設(shè)備的起始物理地址、端口信息以及為每一個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符;

所述監(jiān)視模塊,監(jiān)視每個存儲設(shè)備的工作狀態(tài),當(dāng)存在故障存儲設(shè)備時,根據(jù)所述起始物理地址、端口信息或者存儲設(shè)備標(biāo)識符中的任意一種或幾種來確定故障存儲設(shè)備中的出現(xiàn)故障的部分的具體位置并且確定所述出現(xiàn)故障的全部數(shù)據(jù)組;

所述查詢模塊,用于查詢相同存儲層中存活存儲設(shè)備,搜索與出現(xiàn)故障的部分的全部數(shù)據(jù)組相互對應(yīng)的第一數(shù)據(jù)組,在此,所述第一數(shù)據(jù)組物理地址長度不小于出現(xiàn)故障的部分的全部數(shù)據(jù)組;

所述替換模塊,用于選擇第一數(shù)據(jù)組替換所述出現(xiàn)故障的部分的全部數(shù)據(jù)組。

采用本發(fā)明的方法對失效存儲設(shè)備中的失效部分進行數(shù)據(jù)修復(fù)即本發(fā)明中所說的第一數(shù)據(jù)組替換所述失效部分的全部數(shù)據(jù)組,方便快捷,并且準(zhǔn)確率高,節(jié)省時間,進而減小了損失。

附圖說明

圖1為本發(fā)明的方法流程示意圖;

圖2為本發(fā)明的部分流程示意圖;

圖3為本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖。

具體實施方式

以下結(jié)合附圖,對本發(fā)明上述的和另外的技術(shù)特征和優(yōu)點進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明的部分實施例,而不是全部實施例。

請參閱以下實施例

示例性方法

本發(fā)明為一種分布式數(shù)據(jù)存儲方法,如圖1所示,包括以下步驟:

一種分布式數(shù)據(jù)存儲方法,包括以下步驟:

s1、將分布式系統(tǒng)的存儲空間分成多個存儲區(qū)域,每個區(qū)域中設(shè)有若干存儲設(shè)備,查找并獲得所有存儲設(shè)備的起始物理地址、端口信息以及為每一個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符;

s2、監(jiān)視每個存儲設(shè)備的工作狀態(tài),當(dāng)存在故障存儲設(shè)備時,根據(jù)所述起始物理地址、端口信息或者存儲設(shè)備標(biāo)識符中的任意一種或幾種來確定故障存儲設(shè)備中的出現(xiàn)故障的部分的具體位置并且確定所述出現(xiàn)故障的全部數(shù)據(jù)組;

s3、查詢相同存儲層中存活存儲設(shè)備,搜索與出現(xiàn)故障的部分的全部數(shù)據(jù)組相互對應(yīng)的第一數(shù)據(jù)組,在此,所述第一數(shù)據(jù)組物理地址長度不小于出現(xiàn)故障的部分的全部數(shù)據(jù)組;

s4、選擇第一數(shù)據(jù)組替換所述出現(xiàn)故障的部分的全部數(shù)據(jù)組。

更進一步地,如圖2所示,所述查找并獲得所有存儲設(shè)備的起始物理地址、端口信息以及為每一個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符,具體包括以下步驟:

s11、根據(jù)存儲數(shù)據(jù)的冷熱程度,為每個存儲層設(shè)置一個編碼,為每個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符;

s12、根據(jù)所述編碼和所述唯一存儲設(shè)備標(biāo)識符,查詢所對應(yīng)存儲設(shè)備的起始物理地址和端口信息。

采用本發(fā)明的方法對失效存儲設(shè)備中的失效部分進行數(shù)據(jù)修復(fù)即本發(fā)明中所說的第一數(shù)據(jù)組替換失效部分的全部數(shù)據(jù)組,方便快捷,并且準(zhǔn)確率高,節(jié)省時間,進而減小了損失。

本發(fā)明還公開了一種分布式數(shù)據(jù)存儲系統(tǒng),如圖3所示,包括分層查詢模塊1、監(jiān)視模塊2、查詢模塊3和替換模塊4;

所述存儲分層模塊1,用于將分布式系統(tǒng)的存儲空間分成多個存儲區(qū)域,每個區(qū)域中設(shè)有若干存儲設(shè)備,查找并獲得所有存儲設(shè)備的起始物理地址、端口信息以及為每一個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符;

所述監(jiān)視模塊2,監(jiān)視每個存儲設(shè)備的工作狀態(tài),當(dāng)存在故障存儲設(shè)備時,根據(jù)所述起始物理地址、端口信息或者存儲設(shè)備標(biāo)識符中的任意一種或幾種來確定故障存儲設(shè)備中的出現(xiàn)故障的部分的具體位置并且確定所述出現(xiàn)故障的全部數(shù)據(jù)組;

所述查詢模塊3,用于查詢相同存儲層中存活存儲設(shè)備,搜索與出現(xiàn)故障的部分的全部數(shù)據(jù)組相互對應(yīng)的第一數(shù)據(jù)組,在此,所述第一數(shù)據(jù)組物理地址長度不小于出現(xiàn)故障的部分的全部數(shù)據(jù)組;

所述替換模塊4,用于選擇第一數(shù)據(jù)組替換所述出現(xiàn)故障的部分的全部數(shù)據(jù)組。

所述分層查詢模塊1設(shè)置為:所述查找并獲得所有存儲設(shè)備的起始物理地址、端口信息以及為每一個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符,具體包括以下步驟:

根據(jù)存儲數(shù)據(jù)的冷熱程度,為每個存儲層設(shè)置一個編碼,為每個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符;

根據(jù)所述編碼和所述唯一存儲設(shè)備標(biāo)識符,查詢所對應(yīng)存儲設(shè)備的起始物理地址和端口信息。

本發(fā)明的實施例都是依賴于示例性方法和示例性系統(tǒng),不會超出此范圍。

實施例1

一種分布式數(shù)據(jù)存儲方法,如圖1所示,包括以下步驟:

s1、將分布式系統(tǒng)的存儲空間分成多個存儲區(qū)域,每個區(qū)域中設(shè)有若干存儲設(shè)備,查找并獲得所有存儲設(shè)備的起始物理地址、端口信息以及為每一個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符;

s2、監(jiān)視每個存儲設(shè)備的工作狀態(tài),當(dāng)存在故障存儲設(shè)備時,根據(jù)所述起始物理地址、端口信息或者存儲設(shè)備標(biāo)識符中的任意一種或幾種來確定故障存儲設(shè)備中的出現(xiàn)故障的部分的具體位置并且確定所述出現(xiàn)故障的全部數(shù)據(jù)組;

s3、查詢相同存儲層中存活存儲設(shè)備,搜索與出現(xiàn)故障的部分的全部數(shù)據(jù)組相互對應(yīng)的第一數(shù)據(jù)組,在此,所述第一數(shù)據(jù)組物理地址長度不小于出現(xiàn)故障的部分的全部數(shù)據(jù)組;

s4、選擇第一數(shù)據(jù)組替換所述出現(xiàn)故障的部分的全部數(shù)據(jù)組。

如圖2所示,所述查找并獲得所有存儲設(shè)備的起始物理地址、端口信息以及為每一個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符,具體包括以下步驟:

s11、根據(jù)存儲數(shù)據(jù)的冷熱程度,為每個存儲層設(shè)置一個編碼,為每個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符;

s12、根據(jù)所述編碼和所述唯一存儲設(shè)備標(biāo)識符,查詢所對應(yīng)存儲設(shè)備的起始物理地址和端口信息。

在根據(jù)存儲數(shù)據(jù)的冷熱程度,為每個存儲層設(shè)置一個編碼中,冷數(shù)據(jù)是指沒人訪問或者是很少被訪問的數(shù)據(jù),而熱數(shù)據(jù)就是經(jīng)常被大家訪問或者是大家都喜歡看的數(shù)據(jù),就是按照數(shù)據(jù)冷熱程度,一層層的設(shè)置編碼,然后再給每一層的存儲設(shè)備設(shè)置編碼,其實就相當(dāng)于設(shè)置了一個簡單的矩陣,通過查找層數(shù)的編碼和設(shè)備編碼可以直接搜索到存儲設(shè)備。

當(dāng)出現(xiàn)故障的存儲設(shè)備的數(shù)量為兩個以上時,根據(jù)與所述出現(xiàn)故障的存儲設(shè)備根據(jù)存儲層的位置,生成恢復(fù)順序,按照恢復(fù)順序?qū)Τ霈F(xiàn)故障的存儲設(shè)備進行替換。當(dāng)失效存儲設(shè)備的數(shù)量為兩個以上時,根據(jù)與失效存儲設(shè)備根據(jù)存儲層的位置,生成恢復(fù)順序,按照恢復(fù)順序?qū)κТ鎯υO(shè)備進行替換。一般情況下,數(shù)據(jù)熱度高的層優(yōu)先于數(shù)據(jù)熱度低的層進行替換,也就是說,數(shù)據(jù)熱度越高,則所在存儲層對用戶越重要,所以必須優(yōu)先修復(fù)。

所述按照恢復(fù)順序?qū)Τ霈F(xiàn)故障的存儲設(shè)備進行替換是指,至少一個存活存儲設(shè)備向出現(xiàn)故障的存儲設(shè)備中進行數(shù)據(jù)遷徙。

本實施例中,所述出現(xiàn)故障的存儲設(shè)備為失效存儲設(shè)備。

于另一個實施例中,所述出現(xiàn)故障的存儲設(shè)備為數(shù)據(jù)損害設(shè)備中的一種。其替換方法與為失效存儲設(shè)備的方法相同。

一種分布式數(shù)據(jù)存儲系統(tǒng),包括分層查詢模塊1、監(jiān)視模塊2、查詢模塊3和替換模塊4;

所述存儲分層模塊1,用于將分布式系統(tǒng)的存儲空間分成多個存儲區(qū)域,每個區(qū)域中設(shè)有若干存儲設(shè)備,查找并獲得所有存儲設(shè)備的起始物理地址、端口信息以及為每一個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符;

所述監(jiān)視模塊2,監(jiān)視每個存儲設(shè)備的工作狀態(tài),當(dāng)存在故障存儲設(shè)備時,根據(jù)所述起始物理地址、端口信息或者存儲設(shè)備標(biāo)識符中的任意一種或幾種來確定故障存儲設(shè)備中的出現(xiàn)故障的部分的具體位置并且確定所述出現(xiàn)故障的全部數(shù)據(jù)組;

所述查詢模塊3,用于查詢相同存儲層中存活存儲設(shè)備,搜索與出現(xiàn)故障的部分的全部數(shù)據(jù)組相互對應(yīng)的第一數(shù)據(jù)組,在此,所述第一數(shù)據(jù)組物理地址長度不小于出現(xiàn)故障的部分的全部數(shù)據(jù)組;

所述替換模塊4,用于選擇第一數(shù)據(jù)組替換所述出現(xiàn)故障的部分的全部數(shù)據(jù)組。

所述分層查詢模塊1設(shè)置為:所述查找并獲得所有存儲設(shè)備的起始物理地址、端口信息以及為每一個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符,具體包括以下步驟:

根據(jù)存儲數(shù)據(jù)的冷熱程度,為每個存儲層設(shè)置一個編碼,為每個存儲設(shè)備分配唯一的存儲設(shè)備標(biāo)識符;

根據(jù)所述編碼和所述唯一存儲設(shè)備標(biāo)識符,查詢所對應(yīng)存儲設(shè)備的起始物理地址和端口信息。

所述替換模塊4設(shè)置為,當(dāng)出現(xiàn)故障的存儲設(shè)備的數(shù)量為兩個以上時,根據(jù)與所述出現(xiàn)故障的存儲設(shè)備根據(jù)存儲層的位置,生成恢復(fù)順序,按照恢復(fù)順序?qū)Τ霈F(xiàn)故障的存儲設(shè)備進行替換。

所述替換模塊設(shè)置4為,所述按照恢復(fù)順序?qū)Τ霈F(xiàn)故障的存儲設(shè)備進行替換是指,至少一個存活存儲設(shè)備向出現(xiàn)故障的存儲設(shè)備中進行數(shù)據(jù)遷徙。一般情況下,在每個存儲層中將每個數(shù)據(jù)組至少存儲在兩個存儲設(shè)備中,預(yù)防出現(xiàn)失效存儲設(shè)備,當(dāng)其中一個存儲設(shè)備出現(xiàn)失效部分時,可以再其他存數(shù)設(shè)備中查找與失效部分相同的數(shù)據(jù)組,進而進行替換。

所述監(jiān)視模塊設(shè)置2為:所述出現(xiàn)故障的存儲設(shè)備包括失效存儲設(shè)備和數(shù)據(jù)損害設(shè)備中的至少一種。

以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步的詳細說明,應(yīng)當(dāng)理解,以上所述僅為本發(fā)明的具體實施例而已,并不用于限定本發(fā)明的保護范圍。特別指出,對于本領(lǐng)域技術(shù)人員來說,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。

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