欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種文件處理方法及系統(tǒng)與流程

文檔序號:11134192閱讀:393來源:國知局
一種文件處理方法及系統(tǒng)與制造工藝

本申請涉及文件處理技術(shù)領(lǐng)域,特別涉及一種文件處理方法及系統(tǒng)。



背景技術(shù):

隨著技術(shù)的發(fā)展,網(wǎng)絡(luò)中需要存儲的文件越來越多。通常將文件存儲到文件服務(wù)系統(tǒng)中。

但現(xiàn)有技術(shù)中在存儲文件時,會出現(xiàn)文件重復(fù)存儲,造成文件冗余的情況。



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

有鑒于此,本申請的目的是提供一種文件處理方法及系統(tǒng),用以解決現(xiàn)有技術(shù)中會存在文件重復(fù)存儲,造成文件冗余的技術(shù)問題。

本申請?zhí)峁┝艘环N文件處理方法,包括:

接收文件存儲請求,所述文件存儲請求中至少包括:待存儲的文件實(shí)體;

在已存儲的文件中查找是否存在與所述文件實(shí)體相同的目標(biāo)文件;

如果存在,在預(yù)設(shè)的記錄集合中添加與所述文件實(shí)體相對應(yīng)的文件記錄,并將所述文件記錄與所述目標(biāo)文件建立映射關(guān)系;

如果不存在,將所述文件實(shí)體進(jìn)行存儲,在所述記錄集合中添加與所述文件實(shí)體相對應(yīng)的文件記錄,并將所述文件記錄與所述文件實(shí)體建立映射關(guān)系。

上述方法,優(yōu)選的,將所述文件實(shí)體進(jìn)行存儲,包括:

判斷所述文件實(shí)體是否為圖片類型的文件實(shí)體;

如果所述文件實(shí)體為圖片類型的文件實(shí)體,若需要進(jìn)行壓縮存儲,則基于所述文件實(shí)體,生成壓縮圖,將所述壓縮圖進(jìn)行存儲;

如果所述文件實(shí)體不是圖片類型的文件實(shí)體,直接將所述文件實(shí)體進(jìn)行存儲。

上述方法,優(yōu)選的,還包括:

接收文件查詢請求,所述文件查詢請求至少包括:查詢文件標(biāo)識;

在所述記錄集合中搜索是否存在與所述查詢文件標(biāo)識相對應(yīng)的第一文件記錄;

如果存在,在已存儲的文件中獲取與所述第一文件記錄具有映射關(guān)系的文件實(shí)體。

上述方法,優(yōu)選的,還包括:

接收文件刪除請求,所述文件刪除請求至少包括:刪除文件標(biāo)識;

在所述記錄集合中搜索是否存在與所述刪除文件標(biāo)識相對應(yīng)的第二文件記錄;

如果存在,判斷與所述第二文件記錄具有映射關(guān)系的文件實(shí)體被引用的次數(shù)是否大于1;

如果大于1,刪除所述記錄集合中的第二文件記錄;

如果不大于1,刪除與所述第二文件記錄具有映射關(guān)系的文件實(shí)體并刪除所述記錄集合中的第二文件記錄。

上述方法,優(yōu)選的,所述已存儲的文件以MongoDB的分布式存儲方式進(jìn)行存儲。

本申請還提供了一種文件處理系統(tǒng),包括:

第一接收單元,用于接收文件存儲請求,所述文件存儲請求中至少包括:待存儲的文件實(shí)體;

文件查找單元,用于在已存儲的文件中查找是否存在與所述文件實(shí)體相同的目標(biāo)文件,如果存在,運(yùn)行記錄添加單元及第一關(guān)系建立單元,如果不存在,運(yùn)行文件存儲單元、記錄添加單元及第二關(guān)系建立單元;

記錄添加單元,用于在預(yù)設(shè)的記錄集合中添加與所述文件實(shí)體相對應(yīng)的文件記錄;

第一關(guān)系建立單元,用于將所述文件記錄與所述目標(biāo)文件建立映射關(guān)系;

文件存儲單元,用于將所述文件實(shí)體進(jìn)行存儲;

第二關(guān)系建立單元,用于將所述文件記錄與所述文件實(shí)體建立映射關(guān)系。

上述系統(tǒng),優(yōu)選的,所述文件存儲單元具體用于:

判斷所述文件實(shí)體是否為圖片類型的文件實(shí)體,如果所述文件實(shí)體為圖片類型的文件實(shí)體,若需要進(jìn)行壓縮存儲,則基于所述文件實(shí)體,生成壓縮圖,將所述壓縮圖進(jìn)行存儲,如果所述文件實(shí)體不是圖片類型的文件實(shí)體,直接將所述文件實(shí)體進(jìn)行存儲。

上述系統(tǒng),優(yōu)選的,還包括:

文件查詢單元,用于接收文件查詢請求,所述文件查詢請求至少包括:查詢文件標(biāo)識;在所述記錄集合中搜索是否存在與所述查詢文件標(biāo)識相對應(yīng)的第一文件記錄,如果存在,在已存儲的文件中獲取與所述第一文件記錄具有映射關(guān)系的文件實(shí)體。

上述系統(tǒng),優(yōu)選的,還包括:

文件刪除單元,用于接收文件刪除請求,所述文件刪除請求至少包括:刪除文件標(biāo)識;在所述記錄集合中搜索是否存在與所述刪除文件標(biāo)識相對應(yīng)的第二文件記錄,如果存在,判斷與所述第二文件記錄具有映射關(guān)系的文件實(shí)體被引用的次數(shù)是否大于1,如果大于1,刪除所述記錄集合中的第二文件記錄,如果不大于1,刪除與所述第二文件記錄具有映射關(guān)系的文件實(shí)體并刪除所述記錄集合中的第二文件記錄。

上述系統(tǒng),優(yōu)選的,所述文件存儲單元具體用于將所述文件實(shí)體以MongoDB的分布式存儲方式進(jìn)行存儲。

由上述方案可知,本申請?zhí)峁┑囊环N文件處理方法及系統(tǒng),通過將文件實(shí)體與文件信息分開存儲,對存儲過的文件實(shí)體不再進(jìn)行存儲,而是將對應(yīng)的文件記錄進(jìn)行登記,只存儲沒有存儲過的文件實(shí)體,由此,對文件實(shí)體只進(jìn)行一次存儲操作,從而避免了文件冗余。

附圖說明

為了更清楚地說明本申請實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為文件服務(wù)系統(tǒng)中的網(wǎng)絡(luò)結(jié)構(gòu)布局圖;

圖2為本申請實(shí)施例一提供的一種文件處理方法的流程圖;

圖3、圖4及圖5分別為本申請實(shí)施例一的部分流程圖;

圖6為本申請實(shí)施例二提供的一種文件處理系統(tǒng)的結(jié)構(gòu)示意圖;

圖7為本申請實(shí)施例二提供的一種文件處理系統(tǒng)的另一結(jié)構(gòu)示意圖。

具體實(shí)施方式

圖1所示為文件服務(wù)系統(tǒng)中的網(wǎng)絡(luò)結(jié)構(gòu)布局圖,其中包括有客戶端、服務(wù)器及數(shù)據(jù)庫,用戶可以通過輸入用戶名及密碼登錄到客戶端,客戶端與服務(wù)器相連接,服務(wù)器通過rest接口對外提供服務(wù)器,而服務(wù)器與數(shù)據(jù)庫相連接,數(shù)據(jù)庫中存儲有各種文件的數(shù)據(jù)??蛻舳丝梢酝ㄟ^HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)請求,調(diào)用服務(wù)器上的reset接口,對數(shù)據(jù)庫中的文件進(jìn)行操作。

以下方案為圖1中服務(wù)器對客戶端進(jìn)行文件存儲、查找及刪除等操作的實(shí)現(xiàn)方案,如下:

圖2所示為本申請實(shí)施例一提供的一種文件處理方法的實(shí)現(xiàn)流程圖,本實(shí)施例在圖1中的服務(wù)器上實(shí)現(xiàn),其中可以包括有以下步驟:

步驟201:接收文件存儲請求。

其中,文件存儲請求中至少包括:待存儲的文件實(shí)體。

本實(shí)施例中,用戶登錄客戶端后,通過在客戶端進(jìn)行相應(yīng)的輸入操作,基于需要存儲的文件實(shí)體生成文件存儲請求,并基于HTTP協(xié)議向服務(wù)器發(fā)送文件存儲請求,由服務(wù)器接收這一文件存儲請求。

步驟202:在已存儲的文件中查找是否存在與文件實(shí)體相同的目標(biāo)文件,如果存在,執(zhí)行步驟203~步驟204,如果不存在,執(zhí)行步驟205、步驟203及步驟206。

其中,本實(shí)施例中可以首先根據(jù)文件實(shí)體,提取或確定文件實(shí)體的文件特征,如文件名、文件擴(kuò)展名、文件大小及文件的md5值中的一個或多個等,進(jìn)而通過數(shù)據(jù)訪問接口在數(shù)據(jù)庫中根據(jù)這些文件特征搜索或查找與待存儲的文件實(shí)體相同的目標(biāo)文件。

步驟203:在預(yù)設(shè)的記錄集合中添加與文件實(shí)體相對應(yīng)的文件記錄。

其中,這里的文件記錄可以基于文件實(shí)體的文件特征來生成,如文件信息ID,作為唯一表征本次引用該文件實(shí)體的標(biāo)識符。在數(shù)據(jù)庫中,多個文件實(shí)體可以以組的形式保存,每個組具有組ID。

步驟204:將添加的文件記錄與目標(biāo)文件建立映射關(guān)系。

也就是說,如果在數(shù)據(jù)庫中已經(jīng)存在與待存儲的文件實(shí)體相同的目標(biāo)文件,則不需要再次將文件實(shí)體上傳,而是只在服務(wù)器中的記錄集合中添加相應(yīng)的文件記錄,以表征數(shù)據(jù)庫中已經(jīng)存在這個文件實(shí)體。

這里的記錄集合可以以文件信息表的形式存在,記錄集合中的文件記錄即文件信息表中的一條文件信息記錄。

本實(shí)施例中將添加的文件記錄與目標(biāo)文件建立映射關(guān)系時,可以利用指針的數(shù)據(jù)結(jié)構(gòu)的指向原理,將文件記錄指向目標(biāo)文件,使得基于文件記錄能夠找到其指向的目標(biāo)文件。

由此,在本實(shí)施例中,服務(wù)器中的文件記錄與數(shù)據(jù)庫中的文件實(shí)體具有映射關(guān)系,其中,文件記錄與文件實(shí)體之間為多對一的關(guān)系,即多個文件記錄可能對應(yīng)同一個文件實(shí)體,但一個文件實(shí)體只對應(yīng)一條文件記錄。

步驟205:將文件實(shí)體進(jìn)行存儲。

其中,本實(shí)施例可以利用多種文件存儲的實(shí)現(xiàn)方案,如MongoDB或hudoop等,多種文件存儲實(shí)現(xiàn)方案公用一個API接口,具體實(shí)現(xiàn)方案對外不可見,可以通過修改配置文件中的配置項(xiàng)類設(shè)置具體采用哪一種存儲實(shí)現(xiàn)方案。

其中,由于MongoDB的方案中支持大于16M的文件處理,由此,本實(shí)施例可以通過設(shè)置大文件上傳接口,來實(shí)現(xiàn)大于16M的大文件存儲等操作。

本實(shí)施例在實(shí)際應(yīng)用中可以默認(rèn)設(shè)置使用MongoDB的存儲實(shí)現(xiàn)方案保存文件,可以方便文件實(shí)體的數(shù)據(jù)備份與數(shù)據(jù)庫的擴(kuò)展,以提高服務(wù)器系統(tǒng)的可靠性、高效性及可伸縮性。

步驟206:將添加的文件記錄與文件實(shí)體建立映射關(guān)系。

由此,如果在數(shù)據(jù)庫中還沒有存儲與待存儲的文件實(shí)體相同的目標(biāo)文件,那么除了需要將文件實(shí)體存儲到數(shù)據(jù)庫中之外,還需要添加相應(yīng)的文件記錄,并將文件記錄與存儲的文件實(shí)體之間建立映射關(guān)系,由此,后續(xù)可以根據(jù)這一映射關(guān)系對文件實(shí)體進(jìn)行其他操作。

由上述方案可知,本申請實(shí)施例一提供的一種文件處理方法,通過將文件實(shí)體與文件信息分開存儲,對存儲過的文件實(shí)體不再進(jìn)行存儲,而是將對應(yīng)的文件記錄進(jìn)行登記,只存儲沒有存儲過的文件實(shí)體,由此,對文件實(shí)體只進(jìn)行一次存儲操作,從而避免了文件冗余。

另外,本實(shí)施例通過避免文件冗余,減少數(shù)據(jù)庫的壓力,進(jìn)一步的,對于數(shù)據(jù)庫的后續(xù)遷移、備份等日常管理也會帶來很大的便利。

同時,本實(shí)施例中因?yàn)閷τ谙嗤奈募?shí)體,只會存儲一份文件實(shí)體在數(shù)據(jù)庫中,當(dāng)有重復(fù)的文件或者存在多次上傳同一文件時,本實(shí)施例只會存儲文件記錄,因此可以大大減少客戶端與服務(wù)器端的數(shù)據(jù)傳輸,以及服務(wù)器及數(shù)據(jù)庫間的數(shù)據(jù)傳輸。

圖3所示,為圖2中將文件實(shí)體進(jìn)行存儲時的具體實(shí)現(xiàn)流程圖,其中,可以包括以下步驟:

步驟301:判斷所述文件實(shí)體是否為圖片類型的文件實(shí)體,如果是,執(zhí)行步驟302,否則,執(zhí)行步驟303。

本實(shí)施例中可以通過判斷文件名稱、文件擴(kuò)展名等文件特征來判斷文件實(shí)體是否為圖片類型的文件實(shí)體。

步驟302:判斷是否需要進(jìn)行壓縮存儲,如果是執(zhí)行步驟304。

步驟303:直接將文件實(shí)體進(jìn)行存儲。

步驟304:基于文件實(shí)體,生成壓縮圖,將壓縮圖進(jìn)行存儲。

本實(shí)施例可以為了節(jié)省存儲空間,在進(jìn)行文件實(shí)體的存儲時,首先判斷文件實(shí)體是否為需要進(jìn)行壓縮存儲的圖片類型的文件實(shí)體,由此,可以根據(jù)需求基于文件實(shí)體首先生成指定類型、大小或尺寸的壓縮圖或縮略圖,再進(jìn)行存儲,進(jìn)而節(jié)省空間,也方便文件的后續(xù)操作處理。

圖4所示,為圖1中服務(wù)器進(jìn)行文件查詢時的實(shí)現(xiàn)流程圖,其中,可以包括有以下步驟:

步驟401:接收文件查詢請求。

其中,文件查詢請求中至少包括:待查詢的文件實(shí)體的查詢文件標(biāo)識。

本實(shí)施例中,用戶可以通過登錄客戶端后,在客戶端上進(jìn)行操作,繼而生成文件查詢請求,由客戶端將文件查詢請求發(fā)送到服務(wù)器,再由服務(wù)器對這一文件查詢請求進(jìn)行響應(yīng),執(zhí)行后續(xù)操作流程。

步驟402:在記錄集合中搜索是否存在與文件查詢標(biāo)識相對應(yīng)的第一文件記錄,如果存在,執(zhí)行步驟403,如果不存在,執(zhí)行步驟404。

步驟403:在已存儲的文件中獲取與第一文件記錄具有映射關(guān)系的文件實(shí)體。

步驟404:返回不存在文件實(shí)體的查詢結(jié)果。

也就是說,服務(wù)器在接收到文件查詢請求之后,不需要直接去數(shù)據(jù)庫中查找相應(yīng)的文件實(shí)體,而是可以首先在服務(wù)器的記錄集合中搜索是否有相應(yīng)的文件記錄,如果記錄集合中存在與查詢文件標(biāo)識相對應(yīng)的第一文件記錄,則表明數(shù)據(jù)庫中肯定存在相應(yīng)的文件實(shí)體,此時,再從數(shù)據(jù)庫的已存儲的文件中獲取與這個文件記錄具有映射關(guān)系的文件實(shí)體,而如果記錄集合中并不存在與查詢文件標(biāo)識相對應(yīng)的文件記錄,則表明數(shù)據(jù)庫中肯定不存在與這個文件記錄具有映射關(guān)系的文件實(shí)體,則直接向客戶端返回沒有這個文件實(shí)體的查詢結(jié)果,由此,提高文件查詢效率。

另外,本實(shí)施例在查詢到文件實(shí)體之后,除了可以直接下載文件之后,還可以對文件實(shí)體進(jìn)行后續(xù)操作,如圖片文件的選擇、旋轉(zhuǎn)、剪切到指定大小等操作。也就是說,用戶可以通過客戶端輸入操作參數(shù),如剪切的大小、旋轉(zhuǎn)的角度等,由此,服務(wù)器在查詢到文件之后,可以直接對文件中的圖片進(jìn)行剪切或旋轉(zhuǎn)等操作。

圖5所示,為圖1中服務(wù)器對文件進(jìn)行刪除的實(shí)現(xiàn)流程圖,其中可以包括以下步驟:

步驟501:接收文件刪除請求。

其中,文件刪除請求至少包括:刪除文件標(biāo)識。

本實(shí)施例中,用戶可以通過登錄客戶端后,在客戶端上進(jìn)行操作,繼而生成文件刪除請求,由客戶端將文件刪除請求發(fā)動到服務(wù)器,再由服務(wù)器對這一文件刪除請求進(jìn)行響應(yīng),執(zhí)行后續(xù)操作流程。

步驟502:在記錄集合中搜索是否存在與刪除文件標(biāo)識相對應(yīng)的第二文件記錄,如果存在,執(zhí)行步驟503~步驟505,如果不存在,執(zhí)行步驟506。

步驟503:判斷與第二文件記錄具有映射關(guān)系的文件實(shí)體被引用的次數(shù)是否大于1,如果是,執(zhí)行步驟504,否則,執(zhí)行步驟505及步驟504。

步驟504:刪除記錄集合中搜索到的第二文件記錄。

步驟505:刪除與第二文件記錄具有映射關(guān)系的文件實(shí)體。

步驟506:返回文件不存在的結(jié)果。

也就是說,本實(shí)施例中,判斷與第二文件記錄具有映射關(guān)系的文件實(shí)體被引用的次數(shù)是否大于1的目的在于,判斷第二文件記錄映射的文件實(shí)體是否有其他文件記錄具有映射關(guān)系,如果大于1,則說明有其他文件記錄指向這個文件實(shí)體,此時,這個文件實(shí)體不能被刪除,只需要刪除搜索到的第二文件記錄即可,而如果不大于1,則說明沒有其他文件記錄指向這個文件實(shí)體,此時,這個文件實(shí)體及相應(yīng)的第二文件記錄均可以被刪除掉,完成文件刪除。

圖6所示為本申請實(shí)施例二提供的一種文件處理系統(tǒng)的結(jié)構(gòu)示意圖,應(yīng)用圖1所示的服務(wù)器中,可以包括有以下結(jié)構(gòu):

第一接收單元601,用于接收文件存儲請求,所述文件存儲請求中至少包括:待存儲的文件實(shí)體。

文件查找單元602,用于在已存儲的文件中查找是否存在與所述文件實(shí)體相同的目標(biāo)文件,如果存在,運(yùn)行記錄添加單元603及第一關(guān)系建立單元604,如果不存在,運(yùn)行文件存儲單元605、記錄添加單元603及第二關(guān)系建立單元606。

記錄添加單元603,用于在預(yù)設(shè)的記錄集合中添加與所述文件實(shí)體相對應(yīng)的文件記錄。

第一關(guān)系建立單元604,用于將所述文件記錄與所述目標(biāo)文件建立映射關(guān)系。

文件存儲單元605,用于將所述文件實(shí)體進(jìn)行存儲。

其中,文件存儲單元605具體用于:

判斷所述文件實(shí)體是否為圖片類型的文件實(shí)體,如果所述文件實(shí)體為圖片類型的文件實(shí)體,若需要進(jìn)行壓縮存儲,則基于所述文件實(shí)體,生成壓縮圖,將所述壓縮圖進(jìn)行存儲,如果所述文件實(shí)體不是圖片類型的文件實(shí)體,直接將所述文件實(shí)體進(jìn)行存儲。

需要說明的是,所述文件存儲單元605具體用于將所述文件實(shí)體以MongoDB的分布式存儲方式進(jìn)行存儲。由于MongoDB的方案中支持大于16M的文件處理,由此,本實(shí)施例可以通過設(shè)置大文件上傳接口,來實(shí)現(xiàn)大于16M的大文件存儲等操作。

第二關(guān)系建立單元606,用于將所述文件記錄與所述文件實(shí)體建立映射關(guān)系。

由上述方案可知,本申請實(shí)施例二提供的一種文件處理系統(tǒng),通過將文件實(shí)體與文件信息分開存儲,對存儲過的文件實(shí)體不再進(jìn)行存儲,而是將對應(yīng)的文件記錄進(jìn)行登記,只存儲沒有存儲過的文件實(shí)體,由此,對文件實(shí)體只進(jìn)行一次存儲操作,從而避免了文件冗余。

圖7所示為本申請實(shí)施例二提供的一種文件處理系統(tǒng)的另一結(jié)構(gòu)示意圖,其中,還可以包括以下結(jié)構(gòu):

文件查詢單元607,用于接收文件查詢請求,所述文件查詢請求至少包括:查詢文件標(biāo)識;在所述記錄集合中搜索是否存在與所述查詢文件標(biāo)識相對應(yīng)的第一文件記錄,如果存在,在已存儲的文件中獲取與所述第一文件記錄具有映射關(guān)系的文件實(shí)體。

文件刪除單元608,用于接收文件刪除請求,所述文件刪除請求至少包括:刪除文件標(biāo)識;在所述記錄集合中搜索是否存在與所述刪除文件標(biāo)識相對應(yīng)的第二文件記錄,如果存在,判斷與所述第二文件記錄具有映射關(guān)系的文件實(shí)體被引用的次數(shù)是否大于1,如果大于1,刪除所述記錄集合中的第二文件記錄,如果不大于1,刪除與所述第二文件記錄具有映射關(guān)系的文件實(shí)體并刪除所述記錄集合中的第二文件記錄。

需要說明的是,本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似的部分互相參見即可。

最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。

以上對本發(fā)明所提供的一種文件處理方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
武邑县| 集贤县| 江阴市| 揭阳市| 吴堡县| 高雄市| 大理市| 肇源县| 台前县| 兴海县| 巩义市| 竹溪县| 宾川县| 天津市| 横峰县| 荣昌县| 龙陵县| 雅江县| 天峻县| 顺平县| 中阳县| 沁阳市| 和政县| 长岛县| 枣阳市| 德庆县| 北碚区| 论坛| 莒南县| 莱阳市| 齐河县| 达州市| 南康市| 察雅县| 浏阳市| 法库县| 靖西县| 济宁市| 定陶县| 仁寿县| 德保县|