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

數(shù)據(jù)庫(kù)備份系統(tǒng)及其備份方法和從數(shù)據(jù)庫(kù)服務(wù)器的制作方法

文檔序號(hào):6377887閱讀:369來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):數(shù)據(jù)庫(kù)備份系統(tǒng)及其備份方法和從數(shù)據(jù)庫(kù)服務(wù)器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù),尤其涉及一種數(shù)據(jù)庫(kù)備份系統(tǒng)及其備份方法和從數(shù)據(jù)庫(kù)服務(wù)器。
背景技術(shù)
隨著辦公自動(dòng)化和電子商務(wù)的飛速發(fā)展,企業(yè)對(duì)信息系統(tǒng)的依賴性越來(lái)越高,數(shù)據(jù)庫(kù)作為信息系統(tǒng)的核心擔(dān)當(dāng)著重要的角色。尤其在一些對(duì)數(shù)據(jù)可靠性要求很高的行業(yè)如銀行、證券、電信等,如果發(fā)生意外停機(jī)或數(shù)據(jù)丟失其損失會(huì)十分慘重。因此,有必要對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份。這樣,在數(shù)據(jù)庫(kù)出現(xiàn)故障遭到損壞后,可以通過(guò)備份的數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)。目前,業(yè)界對(duì)于大數(shù)據(jù)量的MySQL數(shù)據(jù)庫(kù)的備份通常采用xtrabackup熱備方式來(lái)解決;采用這種方式進(jìn)行備份的數(shù)據(jù)庫(kù)備份系統(tǒng)架構(gòu),如圖I所示,包括主數(shù)據(jù)庫(kù)服務(wù)器、 從數(shù)據(jù)庫(kù)服務(wù)器、多個(gè)存儲(chǔ)服務(wù)器。主數(shù)據(jù)庫(kù)服務(wù)器也可稱(chēng)為master數(shù)據(jù)庫(kù)服務(wù)器,從數(shù)據(jù)庫(kù)服務(wù)器也可稱(chēng)為slave數(shù)據(jù)庫(kù)服務(wù)器。主數(shù)據(jù)庫(kù)服務(wù)器用于對(duì)數(shù)據(jù)庫(kù)進(jìn)行維護(hù),比如增加、修改、刪除數(shù)據(jù)庫(kù)中的元素,如數(shù)據(jù)表、數(shù)據(jù)表中的數(shù)據(jù)等。從數(shù)據(jù)庫(kù)服務(wù)器用于使用流模式將主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)備份到存儲(chǔ)服務(wù)器中。通常,主數(shù)據(jù)庫(kù)服務(wù)器可以是多個(gè),每個(gè)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)也可以是多個(gè),例如,多個(gè)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)共有100個(gè),從數(shù)據(jù)庫(kù)服務(wù)器需要將這100個(gè)數(shù)據(jù)庫(kù)分別備份到10個(gè)存儲(chǔ)服務(wù)器中;平均每個(gè)存儲(chǔ)服務(wù)器中存儲(chǔ)10個(gè)數(shù)據(jù)庫(kù)備份。具體地,在從數(shù)據(jù)庫(kù)服務(wù)器中存儲(chǔ)了備份配置表,備份配置表中對(duì)應(yīng)每個(gè)數(shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)實(shí)例記錄了用于存儲(chǔ)該數(shù)據(jù)庫(kù)備份的存儲(chǔ)服務(wù)器的地址或標(biāo)識(shí);從數(shù)據(jù)庫(kù)服務(wù)器根據(jù)該備份配置表將100個(gè)數(shù)據(jù)庫(kù)備份分別存儲(chǔ)到各存儲(chǔ)服務(wù)器中。然而,本發(fā)明的發(fā)明人發(fā)現(xiàn),隨著時(shí)間的推移,基于不同業(yè)務(wù)的數(shù)據(jù)庫(kù),或者同一業(yè)務(wù)的不同數(shù)據(jù)庫(kù)的數(shù)據(jù)量增長(zhǎng)并不均勻;有的數(shù)據(jù)庫(kù)數(shù)據(jù)量增長(zhǎng)非常迅猛,有的數(shù)據(jù)庫(kù)的數(shù)據(jù)量增長(zhǎng)緩慢;或者,某個(gè)時(shí)期段中,某個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)量增長(zhǎng)很大,其它數(shù)據(jù)庫(kù)的數(shù)據(jù)量增長(zhǎng)很?。辉诹硪粋€(gè)時(shí)期段中,數(shù)據(jù)庫(kù)的數(shù)據(jù)量增長(zhǎng)又發(fā)生了改變;這樣,導(dǎo)致各存儲(chǔ)服務(wù)器中的存儲(chǔ)量與流量不均衡可能會(huì)出現(xiàn)有的存儲(chǔ)服務(wù)器的存儲(chǔ)量已經(jīng)超過(guò)90%、接近100%,有的存儲(chǔ)服務(wù)器的存儲(chǔ)量才達(dá)到20% ;為高效利用存儲(chǔ)服務(wù)器的存儲(chǔ)空間,維護(hù)人員則不得不通過(guò)手動(dòng)調(diào)整、配置備份配置表的方式來(lái)使得各存儲(chǔ)服務(wù)器的存儲(chǔ)量趨于均勻。由此可以看出,由于現(xiàn)有技術(shù)的數(shù)據(jù)庫(kù)備份方法中在各存儲(chǔ)服務(wù)器中進(jìn)行分散式存儲(chǔ)備份時(shí),存儲(chǔ)量與流量不均衡,導(dǎo)致數(shù)據(jù)庫(kù)備份過(guò)程中存儲(chǔ)空間利用效率低、浪費(fèi)存儲(chǔ)空間;因此,現(xiàn)有技術(shù)存在高效利用備份存儲(chǔ)空間的問(wèn)題。

發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)庫(kù)備份系統(tǒng)及其備份方法和從數(shù)據(jù)庫(kù)服務(wù)器,用以在數(shù)據(jù)庫(kù)備份過(guò)程中更為高效地利用存儲(chǔ)空間。根據(jù)本發(fā)明的一個(gè)方面,提供了一種數(shù)據(jù)庫(kù)備份系統(tǒng),包括主數(shù)據(jù)庫(kù)服務(wù)器,用于維護(hù)數(shù)據(jù)庫(kù);從數(shù)據(jù)庫(kù)服務(wù)器,用于對(duì)所述主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份,得到備份結(jié)果后進(jìn)行發(fā)送;·
存儲(chǔ)節(jié)點(diǎn)集群,其為基于分布式文件系統(tǒng)HDFS技術(shù)的節(jié)點(diǎn)集群,包括存儲(chǔ)控制節(jié)點(diǎn)和至少一個(gè)存儲(chǔ)節(jié)點(diǎn),所述存儲(chǔ)控制節(jié)點(diǎn)用于接收所述從數(shù)據(jù)庫(kù)服務(wù)器發(fā)送的備份結(jié)果,并負(fù)責(zé)管理各存儲(chǔ)節(jié)點(diǎn)對(duì)所述備份結(jié)果的分布式存儲(chǔ)。其中,所述從數(shù)據(jù)庫(kù)服務(wù)器具體包括備份模塊,用于對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份得到備份結(jié)果;發(fā)送模塊,用于將所述備份模塊得到的備份結(jié)果發(fā)送到所述存儲(chǔ)節(jié)點(diǎn)集群。所述備份模塊具體包括備份文件集單元,用于將所述主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份后得到的備份文件集作為所述備份結(jié)果; 或者,所述備份模塊具體包括流模式備份單元,用于對(duì)所述主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行流模式備份,并將備份的數(shù)據(jù)進(jìn)行輸出;壓縮單元,用于將所述流模式備份單元輸出的備份的數(shù)據(jù)進(jìn)行壓縮,并將最終得到的壓縮文件作為所述備份結(jié)果。根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種數(shù)據(jù)庫(kù)備份方法,包括從數(shù)據(jù)庫(kù)服務(wù)器對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份得到備份結(jié)果,將所述備份結(jié)果發(fā)送到基于分布式文件系統(tǒng)HDFS技術(shù)的存儲(chǔ)節(jié)點(diǎn)集群;所述存儲(chǔ)節(jié)點(diǎn)集群中的存儲(chǔ)控制節(jié)點(diǎn)在接收所述從數(shù)據(jù)庫(kù)服務(wù)器發(fā)送的備份結(jié)果后,負(fù)責(zé)管理所述存儲(chǔ)節(jié)點(diǎn)集群中的各存儲(chǔ)節(jié)點(diǎn)對(duì)所述備份結(jié)果的分布式存儲(chǔ)。較佳地,所述從數(shù)據(jù)庫(kù)服務(wù)器對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份得到備份結(jié)果具體包括所述從數(shù)據(jù)庫(kù)服務(wù)器對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份后得到的備份文件集作為所述備份結(jié)果;或者,所述從數(shù)據(jù)庫(kù)服務(wù)器對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行流模式備份后再進(jìn)行壓縮,將得到的壓縮文件作為所述備份結(jié)果。較佳地,所述從數(shù)據(jù)庫(kù)服務(wù)器對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份具體包括所述從數(shù)據(jù)庫(kù)服務(wù)器對(duì)所述數(shù)據(jù)庫(kù)中的數(shù)據(jù),以及所述數(shù)據(jù)庫(kù)的配置文件進(jìn)行備份。進(jìn)一步,所述存儲(chǔ)控制節(jié)點(diǎn)在接收所述從數(shù)據(jù)庫(kù)服務(wù)器發(fā)送的備份結(jié)果后,還包括所述存儲(chǔ)控制節(jié)點(diǎn)將所述備份結(jié)果進(jìn)行復(fù)制,得到至少一份所述備份結(jié)果的副本;并且還負(fù)責(zé)管理所述存儲(chǔ)節(jié)點(diǎn)集群中的各存儲(chǔ)節(jié)點(diǎn)對(duì)所述備份結(jié)果的副本的分布式存儲(chǔ)。根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種從數(shù)據(jù)庫(kù)服務(wù)器,包括備份模塊,用于對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份得到備份結(jié)果;發(fā)送模塊,用于將所述備份模塊得到的備份結(jié)果發(fā)送到基于分布式文件系統(tǒng)HDFS技術(shù)的存儲(chǔ)節(jié)點(diǎn)集群;所述存儲(chǔ)節(jié)點(diǎn)集群中的存儲(chǔ)控制節(jié)點(diǎn)在接收所述從數(shù)據(jù)庫(kù)服務(wù)器發(fā)送的備份結(jié)果后,負(fù)責(zé)管理所述存儲(chǔ)節(jié)點(diǎn)集群中的各存儲(chǔ)節(jié)點(diǎn)對(duì)所述備份結(jié)果的分布式存儲(chǔ)。
其中,所述備份模塊具體包括備份文件集單元,用于將所述主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份后得到的備份文件集作為所述備份結(jié)果;或者,所述備份模塊具體包括流模式備份單元,用于對(duì)所述主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行流模式備份,并將備份的數(shù)據(jù)進(jìn)行輸出;壓縮單元,用于將所述流模式備份單元輸出的備份的數(shù)據(jù)進(jìn)行壓縮,并將最終得到的壓縮文件作為所述備份結(jié)果。進(jìn)一步,所述服務(wù)器還包括備份管理模塊,用于接收用戶輸入的設(shè)置參數(shù),根據(jù)設(shè)置參數(shù)控制所述備份模塊;備份進(jìn)度展示模塊,用于從所述備份模塊獲取進(jìn)度的相關(guān)參數(shù),根據(jù)所述相關(guān)參數(shù)顯示出所述備份模塊中的備份進(jìn)度。本發(fā)明實(shí)施例的從數(shù)據(jù)庫(kù)服務(wù)器由于在對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中數(shù)據(jù)庫(kù)進(jìn)行備份后,將備份結(jié)果發(fā)送到基于HDFS技術(shù)的存儲(chǔ)節(jié)點(diǎn)集群進(jìn)行備份文件的存儲(chǔ),而基于HDFS技術(shù)的存儲(chǔ)節(jié)點(diǎn)集群中的存儲(chǔ)控制節(jié)點(diǎn)可以根據(jù)存儲(chǔ)節(jié)點(diǎn)集群中的各存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)空間進(jìn)行存儲(chǔ)的統(tǒng)籌安排和調(diào)節(jié),以分布式存儲(chǔ)的方式將備份結(jié)果較為均勻地存儲(chǔ)到各存儲(chǔ)節(jié)點(diǎn),從而避免出現(xiàn)有的存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)空間緊張,有的存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)空間得不到利用的現(xiàn)象,避免浪費(fèi)存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)空間,提高數(shù)據(jù)庫(kù)備份過(guò)程中存儲(chǔ)空間的利用率,解決了分散式備份、存儲(chǔ)過(guò)程中存儲(chǔ)空間利用效率不高、浪費(fèi)存儲(chǔ)空間的問(wèn)題。進(jìn)一步,由于在數(shù)據(jù)庫(kù)備份過(guò)程中,還對(duì)數(shù)據(jù)庫(kù)的配置文件也進(jìn)行了備份,從而在進(jìn)行數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)還原時(shí),不用重新設(shè)置數(shù)據(jù)庫(kù)參數(shù),直接用之前備份的配置文件進(jìn)行數(shù)據(jù)庫(kù)參數(shù)的設(shè)置。進(jìn)一步,由于采用流模式備份、壓縮的方案,得到的備份結(jié)果為壓縮文件,大大節(jié)約了用于存儲(chǔ)數(shù)據(jù)庫(kù)的備份文件的存儲(chǔ)空間。進(jìn)一步,存儲(chǔ)節(jié)點(diǎn)集群中的存儲(chǔ)控制節(jié)點(diǎn)將備份結(jié)果進(jìn)行復(fù)制得到的副本也存儲(chǔ)到存儲(chǔ)節(jié)點(diǎn)集群,從而提高了備份的可靠性。


圖I為現(xiàn)有技術(shù)的數(shù)據(jù)庫(kù)備份系統(tǒng)示意圖;圖2為本發(fā)明實(shí)施例的數(shù)據(jù)庫(kù)備份系統(tǒng)示意圖;圖3為本發(fā)明實(shí)施例的數(shù)據(jù)庫(kù)備份方法流程圖4為本發(fā)明實(shí)施例的從數(shù)據(jù)庫(kù)服務(wù)器的內(nèi)部結(jié)構(gòu)框圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉出優(yōu)選實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。然而,需要說(shuō)明的是,說(shuō)明書(shū)中列出的許多細(xì)節(jié)僅僅是為了使讀者對(duì)本發(fā)明的一個(gè)或多個(gè)方面有一個(gè)透徹的理解,即便沒(méi)有這些特定的細(xì)節(jié)也可以實(shí)現(xiàn)本發(fā)明的這些方面。本申請(qǐng)使用的“模塊”、“系統(tǒng)”等術(shù)語(yǔ)旨在包括與計(jì)算機(jī)相關(guān)的實(shí)體,例如但不限于硬件、固件、軟硬件組合、軟件或者執(zhí)行中的軟件。例如,模塊可以是,但并不僅限于處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行程序、執(zhí)行的線程、程序和/或計(jì)算機(jī)。舉例來(lái)說(shuō),計(jì)算設(shè)備上運(yùn)行的應(yīng)用程序和此計(jì)算設(shè)備都可以是模塊。一個(gè)或多個(gè)模塊可以位于執(zhí)行中的一個(gè)進(jìn)程和/或線程內(nèi),一個(gè)模塊也可以位于一臺(tái)計(jì)算機(jī)上和/或分布于兩臺(tái)或更多臺(tái)計(jì)算機(jī)之間。
下面結(jié)合附圖詳細(xì)說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案。本發(fā)明實(shí)施例提供的數(shù)據(jù)庫(kù)備份系統(tǒng),如圖2所示,包括主數(shù)據(jù)庫(kù)服務(wù)器201、從數(shù)據(jù)庫(kù)服務(wù)器202,以及存儲(chǔ)節(jié)點(diǎn)集群203。其中,主數(shù)據(jù)庫(kù)服務(wù)器201用于維護(hù)數(shù)據(jù)庫(kù);例如,主數(shù)據(jù)庫(kù)服務(wù)器201中可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行編輯、修改、增加、刪除數(shù)據(jù)庫(kù)元素,包括修改、增加、刪除數(shù)據(jù)表,或者數(shù)據(jù)表中的字段,或者數(shù)據(jù)表中的數(shù)據(jù)。主數(shù)據(jù)庫(kù)服務(wù)器201中維護(hù)的數(shù)據(jù)庫(kù)可以是多個(gè)。從數(shù)據(jù)庫(kù)服務(wù)器202用于對(duì)主數(shù)據(jù)庫(kù)服務(wù)器201中的數(shù)據(jù)庫(kù)進(jìn)行備份,得到備份結(jié)果,將備份結(jié)果發(fā)送到存儲(chǔ)節(jié)點(diǎn)集群203進(jìn)行存儲(chǔ),實(shí)現(xiàn)對(duì)主數(shù)據(jù)庫(kù)服務(wù)器201中的數(shù)據(jù)庫(kù)的備份。具體地,從數(shù)據(jù)庫(kù)服務(wù)器202可以是對(duì)主數(shù)據(jù)庫(kù)服務(wù)器201中的數(shù)據(jù)庫(kù)進(jìn)行備份后,得到備份文件集;將備份文件集作為備份結(jié)果發(fā)送到存儲(chǔ)節(jié)點(diǎn)集群203進(jìn)行存儲(chǔ);從數(shù)據(jù)庫(kù)服務(wù)器202對(duì)主數(shù)據(jù)庫(kù)服務(wù)器201中的數(shù)據(jù)庫(kù)進(jìn)行備份后得到的備份文件集中可以包括多個(gè)數(shù)據(jù)庫(kù)的文件,比如數(shù)據(jù)表、索引、視圖、數(shù)據(jù)庫(kù)的配置文件等,而且還可包括這些文件的路徑結(jié)構(gòu)。這樣,備份后得到的備份文件集具體可以文件夾的形式進(jìn)行保存,在該文件夾中保存了各級(jí)子文件夾,以及各級(jí)子文件夾中的文件。具體地,從數(shù)據(jù)庫(kù)服務(wù)器202可以利用innobackupex腳本對(duì)主數(shù)據(jù)庫(kù)服務(wù)器201中的數(shù)據(jù)庫(kù)進(jìn)行流模式備份;由于利用innobackupex腳本進(jìn)行流模式備份的技術(shù)為本領(lǐng)域技術(shù)人員所熟知,此處不再詳細(xì)介紹?;蛘撸瑥臄?shù)據(jù)庫(kù)服務(wù)器202對(duì)主數(shù)據(jù)庫(kù)服務(wù)器201中的數(shù)據(jù)庫(kù)進(jìn)行備份、壓縮后,得到壓縮文件,將壓縮文件作為備份結(jié)果發(fā)送到存儲(chǔ)節(jié)點(diǎn)集群203進(jìn)行備份存儲(chǔ)。具體地,從數(shù)據(jù)庫(kù)服務(wù)器202對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行流模式備份后再進(jìn)行壓縮,將得到的壓縮文件作為所述備份結(jié)果發(fā)送到存儲(chǔ)節(jié)點(diǎn)集群203進(jìn)行備份存儲(chǔ)。存儲(chǔ)節(jié)點(diǎn)集群203中包括存儲(chǔ)控制節(jié)點(diǎn)211和至少一個(gè)存儲(chǔ)節(jié)點(diǎn)212 ;存儲(chǔ)節(jié)點(diǎn)集群203為基于HDFS (Hadoop Distributed File System,分布式文件系統(tǒng))的分布式結(jié)構(gòu)。這里簡(jiǎn)單介紹一下HDFS :HDFS是一個(gè)主從結(jié)構(gòu)的體系,一個(gè)HDFS集群是由一個(gè)管理文件的命名空間和調(diào)節(jié)客戶端訪問(wèn)文件的主服務(wù)器和多個(gè)數(shù)據(jù)節(jié)點(diǎn)組成,主服務(wù)器管理各數(shù)據(jù)節(jié)點(diǎn)的存儲(chǔ)。HDFS的內(nèi)部機(jī)制是主服務(wù)器將一個(gè)文件分割成一個(gè)或多個(gè)的塊,這些塊存儲(chǔ)在一組數(shù)據(jù)節(jié)點(diǎn)中,從而可以合理利用、調(diào)配各數(shù)據(jù)節(jié)點(diǎn)的存儲(chǔ)空間。HDFS內(nèi)部的所有通信都基于標(biāo)準(zhǔn)的TCP/IP協(xié)議。從數(shù)據(jù)庫(kù)服務(wù)器202通過(guò)HDFS技術(shù),將備份文件集,或者壓縮文件存儲(chǔ)到存儲(chǔ)節(jié)點(diǎn)集群203中實(shí)現(xiàn)數(shù)據(jù)庫(kù)的備份。對(duì)于從數(shù)據(jù)庫(kù)服務(wù)器202而言,存儲(chǔ)節(jié)點(diǎn)集群203就像一個(gè)傳統(tǒng)的分級(jí)文件系統(tǒng),并不需要了解存儲(chǔ)節(jié)點(diǎn)集群203中各存儲(chǔ)節(jié)點(diǎn)212的存儲(chǔ)情況。從數(shù)據(jù)庫(kù)服務(wù)器202可以通過(guò)廣域網(wǎng)或局域網(wǎng)來(lái)訪問(wèn)存儲(chǔ)節(jié)點(diǎn)集群203,進(jìn)行文件的存儲(chǔ)與讀取。在存儲(chǔ)節(jié)點(diǎn)集群203中,存儲(chǔ)控制節(jié)點(diǎn)211用以負(fù)責(zé)管理文件系統(tǒng)名稱(chēng)空間和控制外部客戶機(jī)的訪問(wèn)。存儲(chǔ)控制節(jié)點(diǎn)211負(fù)責(zé)管理各存儲(chǔ)節(jié)點(diǎn)212的存儲(chǔ)存儲(chǔ)控制節(jié)點(diǎn)211在接收到從數(shù)據(jù)庫(kù)服務(wù)器202發(fā)送的備份結(jié)果后,負(fù)責(zé)管理各存儲(chǔ)節(jié)點(diǎn)對(duì)所述備份結(jié)果的分布式存儲(chǔ)存儲(chǔ)控制節(jié)點(diǎn)211決定將備份結(jié)果具體存儲(chǔ)到存儲(chǔ)節(jié)點(diǎn)集群203中的哪個(gè)存儲(chǔ)節(jié)點(diǎn)212或者哪組存儲(chǔ)節(jié)點(diǎn)212,以合理利用、調(diào)配各存儲(chǔ)節(jié)點(diǎn)212的存儲(chǔ)空間。存儲(chǔ)控制節(jié)點(diǎn)211通過(guò)HDFS技術(shù)可以避免出現(xiàn)有的存儲(chǔ)節(jié)點(diǎn)212的存儲(chǔ)空間緊 張,有的存儲(chǔ)節(jié)點(diǎn)212的存儲(chǔ)空間得不到利用的現(xiàn)象,使得各存儲(chǔ)節(jié)點(diǎn)212存儲(chǔ)量與流量較為均勻,在數(shù)據(jù)庫(kù)備份的過(guò)程中更為高效地利用存儲(chǔ)空間,從而解決了分散式備份、存儲(chǔ)過(guò)程中存儲(chǔ)空間利用效率不高、浪費(fèi)存儲(chǔ)空間的問(wèn)題。本發(fā)明實(shí)施例提供的一種具體的數(shù)據(jù)庫(kù)備份方法流程圖,如圖3所示,包括如下步驟S301 :從數(shù)據(jù)庫(kù)服務(wù)器202對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行流模式備份。具體地,從數(shù)據(jù)庫(kù)服務(wù)器202以流模式的方式從主數(shù)據(jù)庫(kù)服務(wù)器獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù),進(jìn)一步還可以獲取數(shù)據(jù)庫(kù)的配置文件;從數(shù)據(jù)庫(kù)服務(wù)器202將獲取的數(shù)據(jù)和配置文件進(jìn)行流模式的備份。該步驟可以通過(guò)執(zhí)行腳本文件中的相關(guān)代碼實(shí)現(xiàn),通過(guò)可以通過(guò)執(zhí)行innobackupex腳本中的相關(guān)代碼實(shí)現(xiàn)。對(duì)數(shù)據(jù)庫(kù)的配置文件的備份,有利于進(jìn)行數(shù)據(jù)庫(kù)的還原。例如,innobackupex腳本中實(shí)現(xiàn)流模式備份的代碼如下innobackupex—tmpdir=/tmp—defaults-fiIe=/dataI/mysqI3697/my3697.cnf. bakuse—slave-info —no-timestamp—parallel=l —throttle=800 —socket=/tmp/mysql3697. sock —user=mysqlha—pass=123456—stream=tar. /2>>/datal/mysql3697/bak. logS302 :從數(shù)據(jù)庫(kù)服務(wù)器202在流模式備份后進(jìn)行壓縮操作。從數(shù)據(jù)庫(kù)服務(wù)器202以流模式的方式備份主數(shù)據(jù)庫(kù)服務(wù)器獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)和配置文件后還進(jìn)行壓縮操作,最終得到壓縮文件作為備份結(jié)果。壓縮操作也可通過(guò)腳本文件中的代碼實(shí)現(xiàn)innobackupex—tmpdir=/tmp—defaults-file=/datal/mysql3697/my3697. cnf.bakuse—slave-info —no-timestamp—paralIel=I —throttle=800 —socket=/tmp/mysql3697. sock —user=mysqlha—pass=123456—stream=tar. /2>>/datal/mysql3697/bak. log|pbzip2_p4|sudo-uhadoop/usr/local/hadoop/bin/hadoop fs -put-hdfs: //marduk21 :9000/dbbackup/mysql3697_' date+% m% d_% H% M% S'. tar. bz2S303 :從數(shù)據(jù)庫(kù)服務(wù)器202將備份結(jié)果發(fā)送到存儲(chǔ)節(jié)點(diǎn)集群。存儲(chǔ)節(jié)點(diǎn)集群中的存儲(chǔ)控制節(jié)點(diǎn)在接收到從數(shù)據(jù)庫(kù)服務(wù)器202發(fā)送的備份結(jié)果后,負(fù)責(zé)管理各存儲(chǔ)節(jié)點(diǎn)對(duì)所述備份結(jié)果的分布式存儲(chǔ)。進(jìn)一步,存儲(chǔ)節(jié)點(diǎn)集群中的存儲(chǔ)控制節(jié)點(diǎn)還可在接收到從數(shù)據(jù)庫(kù)服務(wù)器202發(fā)送的備份結(jié)果后,將所述備份結(jié)果進(jìn)行復(fù)制,得到至少一份所述備份結(jié)果的副本;并且還負(fù)責(zé)管理所述存儲(chǔ)節(jié)點(diǎn)集群中的各存儲(chǔ)節(jié)點(diǎn)對(duì)所述備份結(jié)果的副本的分布式存儲(chǔ)。具體地,存儲(chǔ)控制節(jié)點(diǎn)根據(jù)預(yù)先設(shè)置的備份總數(shù)對(duì)該備份結(jié)果進(jìn)行復(fù)制,得到備份結(jié)果的副本。例如,設(shè)置的備份總數(shù)為3,則存儲(chǔ)控制節(jié)點(diǎn)對(duì)備份結(jié)果進(jìn)行復(fù)制,得到該備份結(jié)果的2個(gè)副本;存儲(chǔ)控制節(jié)點(diǎn)負(fù)責(zé)管理各存儲(chǔ)節(jié)點(diǎn)對(duì)所述備份結(jié)果及其副本的分布式存儲(chǔ),即存儲(chǔ)控制節(jié)點(diǎn)將備份結(jié)果以及副本以分布式方式存儲(chǔ)到各存儲(chǔ)節(jié)點(diǎn)。在將備份結(jié)果存儲(chǔ)到存儲(chǔ)節(jié)點(diǎn)集群后,如果主數(shù)據(jù)庫(kù)服務(wù)器出現(xiàn)了故障,導(dǎo)致其中的數(shù)據(jù)庫(kù)無(wú)法正常運(yùn)行,其中的數(shù)據(jù)無(wú)法訪問(wèn)、獲取,或者丟失,那么,可以通過(guò)服務(wù)器 或客戶端訪問(wèn)存儲(chǔ)節(jié)點(diǎn)集群的存儲(chǔ)控制節(jié)點(diǎn),從存儲(chǔ)控制節(jié)點(diǎn)下載備份結(jié)果;而存儲(chǔ)控制節(jié)點(diǎn)由于管理各存儲(chǔ)節(jié)點(diǎn),可以將分散存儲(chǔ)于各存儲(chǔ)節(jié)點(diǎn)上的備份結(jié)果匯總后返回給服務(wù)器或客戶端;服務(wù)器或客戶端在接收到備份結(jié)果后進(jìn)行解壓,從而實(shí)現(xiàn)數(shù)據(jù)庫(kù)的恢復(fù)。而上述步驟S301中,由于對(duì)數(shù)據(jù)庫(kù)的配置文件也進(jìn)行了備份,那么,在進(jìn)行數(shù)據(jù)庫(kù)的恢復(fù)過(guò)程中,可以根據(jù)以前備份的配置文件對(duì)新恢復(fù)的數(shù)據(jù)庫(kù)進(jìn)行參數(shù)配置,更方便維護(hù)人員對(duì)數(shù)據(jù)庫(kù)的恢復(fù)。本發(fā)明實(shí)施例提供的一種從數(shù)據(jù)庫(kù)服務(wù)器,其內(nèi)部結(jié)構(gòu)如圖4所示,包括備份模塊401和發(fā)送模塊402。其中,備份模塊401用于對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份得到備份結(jié)果;發(fā)送模塊402用于將備份模塊401得到的備份結(jié)果發(fā)送到基于分布式文件系統(tǒng)HDFS技術(shù)的存儲(chǔ)節(jié)點(diǎn)集群;所述存儲(chǔ)節(jié)點(diǎn)集群中的存儲(chǔ)控制節(jié)點(diǎn)在接收所述從數(shù)據(jù)庫(kù)服務(wù)器發(fā)送的備份結(jié)果后,負(fù)責(zé)管理所述存儲(chǔ)節(jié)點(diǎn)集群中的各存儲(chǔ)節(jié)點(diǎn)對(duì)所述備份結(jié)果的分布式存儲(chǔ)。其中,備份模塊401具體可以包括備份文件集單元(圖中未標(biāo)),用于將所述主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份后得到的備份文件集作為所述備份結(jié)果。或者,所述備份模塊具體可以包括流模式備份單元411、壓縮單元412。流模式備份單元411用于對(duì)所述主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行流模式備份,并將備份的數(shù)據(jù)輸出到壓縮單元412 ;壓縮單元412用于將流模式備份單元411輸出的備份的數(shù)據(jù)進(jìn)行壓縮,并輸出最終得到的壓縮文件作為所述備份結(jié)果進(jìn)行輸出。進(jìn)一步,從數(shù)據(jù)庫(kù)服務(wù)器中還可包括備份管理模塊403和備份進(jìn)度展示模塊404。備份管理模塊403用于接收用戶輸入的設(shè)置參數(shù),根據(jù)設(shè)置參數(shù)控制所述備份模塊;例如,輸入的設(shè)置參數(shù)可以包括備份方式、時(shí)間、模式、周期、目標(biāo)、保留周期,并且是
否支持年/季/月/周備份等參數(shù)。備份進(jìn)度展示模塊404用于從備份模塊403獲取進(jìn)度的相關(guān)參數(shù),根據(jù)所述相關(guān)參數(shù)顯示出所述備份模塊中的備份進(jìn)度。例如,備份進(jìn)度展示模塊404從備份模塊403獲取流模式備份過(guò)程中,已備份的文件占所有需要備份的文件的百分比;根據(jù)該獲取的參數(shù)以進(jìn)度條的方式顯示備份進(jìn)度。
本發(fā)明實(shí)施例的從數(shù)據(jù)庫(kù)服務(wù)器由于在對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中數(shù)據(jù)庫(kù)進(jìn)行備份后,將備份結(jié)果發(fā)送到基于HDFS技術(shù)的存儲(chǔ)節(jié)點(diǎn)集群進(jìn)行備份文件的存儲(chǔ),而基于HDFS技術(shù)的存儲(chǔ)節(jié)點(diǎn)集群中的存儲(chǔ)控制節(jié)點(diǎn)可以根據(jù)存儲(chǔ)節(jié)點(diǎn)集群中的各存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)空間進(jìn)行存儲(chǔ)的統(tǒng)籌安排和調(diào)節(jié),以分布式存儲(chǔ)的方式將備份結(jié)果較為均勻地存儲(chǔ)到各存儲(chǔ)節(jié)點(diǎn),從而避免出現(xiàn)有的存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)空間緊張,有的存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)空間得不到利用的現(xiàn)象,避免浪費(fèi)存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)空間,提高數(shù)據(jù)庫(kù)備份過(guò)程中存儲(chǔ)空間的利用率,解決了分散式備份、存儲(chǔ)過(guò)程中存儲(chǔ)空間利用效率不高、浪費(fèi)存儲(chǔ)空間的問(wèn)題。進(jìn)一步,由于在數(shù)據(jù)庫(kù)備份過(guò)程中,還對(duì)數(shù)據(jù)庫(kù)的配置文件也進(jìn)行了備份,從而在進(jìn)行數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)還原時(shí),不用重新設(shè)置數(shù)據(jù)庫(kù)參數(shù),直接用之前備份的配置文件進(jìn)行數(shù)據(jù)庫(kù)參數(shù)的設(shè)置。進(jìn)一步,由于采用流模式備份、壓縮的方案,得到的備份結(jié)果為壓縮文件,大大節(jié)約了用于存儲(chǔ)數(shù)據(jù)庫(kù)的備份文件的存儲(chǔ)空間。
進(jìn)一步,存儲(chǔ)節(jié)點(diǎn)集群中的存儲(chǔ)控制節(jié)點(diǎn)將備份結(jié)果進(jìn)行復(fù)制得到的副本也存儲(chǔ)到存儲(chǔ)節(jié)點(diǎn)集群,從而提高了備份的可靠性。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤(pán)等。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種數(shù)據(jù)庫(kù)備份系統(tǒng),包括 主數(shù)據(jù)庫(kù)服務(wù)器,用于維護(hù)數(shù)據(jù)庫(kù); 從數(shù)據(jù)庫(kù)服務(wù)器,用于對(duì)所述主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份,得到備份結(jié)果后進(jìn)行發(fā)送; 存儲(chǔ)節(jié)點(diǎn)集群,其為基于分布式文件系統(tǒng)HDFS技術(shù)的節(jié)點(diǎn)集群,包括存儲(chǔ)控制節(jié)點(diǎn)和至少一個(gè)存儲(chǔ)節(jié)點(diǎn),所述存儲(chǔ)控制節(jié)點(diǎn)用于接收所述從數(shù)據(jù)庫(kù)服務(wù)器發(fā)送的備份結(jié)果,并負(fù)責(zé)管理各存儲(chǔ)節(jié)點(diǎn)對(duì)所述備份結(jié)果的分布式存儲(chǔ)。
2.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述從數(shù)據(jù)庫(kù)服務(wù)器具體包括 備份模塊,用于對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份得到備份結(jié)果; 發(fā)送模塊,用于將所述備份模塊得到的備份結(jié)果發(fā)送到所述存儲(chǔ)節(jié)點(diǎn)集群。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述備份模塊具體包括 備份文件集單元,用于將所述主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份后得到的備份文件集作為所述備份結(jié)果; 或者,所述備份模塊具體包括 流模式備份單元,用于對(duì)所述主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行流模式備份,并將備份的數(shù)據(jù)進(jìn)行輸出; 壓縮單元,用于將所述流模式備份單元輸出的備份的數(shù)據(jù)進(jìn)行壓縮,并將最終得到的壓縮文件作為所述備份結(jié)果。
4.一種數(shù)據(jù)庫(kù)備份方法,包括 從數(shù)據(jù)庫(kù)服務(wù)器對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份得到備份結(jié)果,將所述備份結(jié)果發(fā)送到基于分布式文件系統(tǒng)HDFS技術(shù)的存儲(chǔ)節(jié)點(diǎn)集群; 所述存儲(chǔ)節(jié)點(diǎn)集群中的存儲(chǔ)控制節(jié)點(diǎn)在接收所述從數(shù)據(jù)庫(kù)服務(wù)器發(fā)送的備份結(jié)果后,負(fù)責(zé)管理所述存儲(chǔ)節(jié)點(diǎn)集群中的各存儲(chǔ)節(jié)點(diǎn)對(duì)所述備份結(jié)果的分布式存儲(chǔ)。
5.如權(quán)利要求4所述的方法,其特征在于,所述從數(shù)據(jù)庫(kù)服務(wù)器對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份得到備份結(jié)果具體包括 所述從數(shù)據(jù)庫(kù)服務(wù)器對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份后得到的備份文件集作為所述備份結(jié)果;或者, 所述從數(shù)據(jù)庫(kù)服務(wù)器對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行流模式備份后再進(jìn)行壓縮,將得到的壓縮文件作為所述備份結(jié)果。
6.如權(quán)利要求5所述的方法,其特征在于,所述從數(shù)據(jù)庫(kù)服務(wù)器對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份具體包括 所述從數(shù)據(jù)庫(kù)服務(wù)器對(duì)所述數(shù)據(jù)庫(kù)中的數(shù)據(jù),以及所述數(shù)據(jù)庫(kù)的配置文件進(jìn)行備份。
7.如權(quán)利要求6所述的方法,其特征在于,所述存儲(chǔ)控制節(jié)點(diǎn)在接收所述從數(shù)據(jù)庫(kù)服務(wù)器發(fā)送的備份結(jié)果后,還包括 所述存儲(chǔ)控制節(jié)點(diǎn)將所述備份結(jié)果進(jìn)行復(fù)制,得到至少一份所述備份結(jié)果的副本;并且還負(fù)責(zé)管理各存儲(chǔ)節(jié)點(diǎn)對(duì)所述備份結(jié)果的副本的分布式存儲(chǔ)。
8.一種從數(shù)據(jù)庫(kù)服務(wù)器,包括 備份模塊,用于對(duì)主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份得到備份結(jié)果; 發(fā)送模塊,用于將所述備份模塊得到的備份結(jié)果發(fā)送到基于分布式文件系統(tǒng)HDFS技術(shù)的存儲(chǔ)節(jié)點(diǎn)集群;所述存儲(chǔ)節(jié)點(diǎn)集群中的存儲(chǔ)控制節(jié)點(diǎn)在接收所述從數(shù)據(jù)庫(kù)服務(wù)器發(fā)送的備份結(jié)果后,負(fù)責(zé)管理所述存儲(chǔ)節(jié)點(diǎn)集群中的各存儲(chǔ)節(jié)點(diǎn)對(duì)所述備份結(jié)果的分布式存儲(chǔ)。
9.如權(quán)利要求8所述的服務(wù)器,其特征在于,所述備份模塊具體包括 備份文件集單元,用于將所述主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行備份后得到的備份文件集作為所述備份結(jié)果; 或者,所述備份模塊具體包括流模式備份單元,用于對(duì)所述主數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)進(jìn)行流模式備份,并將備份的數(shù)據(jù)進(jìn)行輸出; 壓縮單元,用于將所述流模式備份單元輸出的備份的數(shù)據(jù)進(jìn)行壓縮,并將最終得到的壓縮文件作為所述備份結(jié)果。
10.如權(quán)利要求9所述的服務(wù)器,其特征在于,還包括 備份管理模塊,用于接收用戶輸入的設(shè)置參數(shù),根據(jù)設(shè)置參數(shù)控制所述備份模塊; 備份進(jìn)度展示模塊,用于從所述備份模塊獲取進(jìn)度的相關(guān)參數(shù),根據(jù)所述相關(guān)參數(shù)顯示出所述備份模塊中的備份進(jìn)度。
全文摘要
本發(fā)明公開(kāi)了一種數(shù)據(jù)庫(kù)備份系統(tǒng)及其備份方法和從數(shù)據(jù)庫(kù)服務(wù)器,所述系統(tǒng)包括主數(shù)據(jù)庫(kù)服務(wù)器,用于維護(hù)數(shù)據(jù)庫(kù);從數(shù)據(jù)庫(kù)服務(wù)器,用于對(duì)所述數(shù)據(jù)庫(kù)進(jìn)行備份,得到備份結(jié)果后進(jìn)行發(fā)送;存儲(chǔ)節(jié)點(diǎn)集群,其基于HDFS技術(shù),包括存儲(chǔ)控制節(jié)點(diǎn)和至少一個(gè)存儲(chǔ)節(jié)點(diǎn),存儲(chǔ)控制節(jié)點(diǎn)用于接收從數(shù)據(jù)庫(kù)服務(wù)器發(fā)送的備份結(jié)果,并負(fù)責(zé)管理各存儲(chǔ)節(jié)點(diǎn)對(duì)備份結(jié)果的分布式存儲(chǔ)。由于將備份結(jié)果發(fā)送到基于HDFS技術(shù)的存儲(chǔ)節(jié)點(diǎn)集群進(jìn)行備份文件的存儲(chǔ),存儲(chǔ)控制節(jié)點(diǎn)可以根據(jù)各存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)空間進(jìn)行存儲(chǔ)的統(tǒng)籌安排和調(diào)節(jié),以分布式存儲(chǔ)的方式將備份結(jié)果較為均勻地存儲(chǔ)到各存儲(chǔ)節(jié)點(diǎn),從而可以提高數(shù)據(jù)庫(kù)備份過(guò)程中存儲(chǔ)空間的利用率。
文檔編號(hào)G06F17/30GK102880531SQ201210366439
公開(kāi)日2013年1月16日 申請(qǐng)日期2012年9月27日 優(yōu)先權(quán)日2012年9月27日
發(fā)明者成江東, 童劍, 邱春武, 楊海朝, 陶會(huì)祥 申請(qǐng)人:新浪網(wǎng)技術(shù)(中國(guó))有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
万安县| 双鸭山市| 德兴市| 颍上县| 荣昌县| 陆丰市| 南华县| 鄂尔多斯市| 和平区| 大兴区| 南充市| 博爱县| 安阳市| 拉萨市| 峡江县| 蓬莱市| 成都市| 石河子市| 张家港市| 潼南县| 和林格尔县| 谢通门县| 太原市| 梁平县| 沈阳市| 景泰县| 阆中市| 徐水县| 麻栗坡县| 南京市| 霸州市| 乐东| 凤山市| 黑河市| 富顺县| 昌图县| 蓝山县| 江西省| 合川市| 九寨沟县| 临泉县|