一種基于指紋的數(shù)據(jù)備份系統(tǒng)的制作方法

            文檔序號(hào):6613272閱讀:153來源:國(guó)知局

            專利名稱::一種基于指紋的數(shù)據(jù)備份系統(tǒng)的制作方法
            技術(shù)領(lǐng)域
            :本發(fā)明屬于計(jì)算機(jī)存儲(chǔ)備份領(lǐng)域,具體涉及一種數(shù)據(jù)備份系統(tǒng)。
            背景技術(shù)
            :在當(dāng)今這個(gè)知識(shí)爆炸的信息時(shí)代,無論對(duì)企業(yè)還是個(gè)人來說,數(shù)據(jù)都是一項(xiàng)彌足珍貴的資源。數(shù)據(jù)丟失輕則影響企業(yè)業(yè)務(wù)連續(xù)性,使其喪失一時(shí)的競(jìng)爭(zhēng)優(yōu)勢(shì),重則能使一個(gè)企業(yè)破產(chǎn)倒閉。引起數(shù)據(jù)丟失的原因很多,包括系統(tǒng)軟硬件故障、人為操作失誤或破壞以及不可抗拒力(自然災(zāi)害、戰(zhàn)爭(zhēng))等。為了保護(hù)數(shù)據(jù)免遭不測(cè),傳統(tǒng)的方法是周期性地把數(shù)據(jù)拷貝到可移動(dòng)的媒介比如磁帶、光盤上,然后再離線運(yùn)送到一個(gè)相對(duì)安全的地方以便在必要時(shí)恢復(fù)這些數(shù)據(jù)。應(yīng)當(dāng)指出,這種傳統(tǒng)的數(shù)據(jù)保護(hù)方法存在一些明顯的缺點(diǎn)(1)、可移動(dòng)的存儲(chǔ)介質(zhì)比如磁帶、光盤等隨著時(shí)間的流逝,會(huì)出現(xiàn)磨損或損壞使其存儲(chǔ)可靠性降低因而不適合作數(shù)據(jù)的長(zhǎng)期存儲(chǔ)介質(zhì)。(2)、作為備份大容量數(shù)據(jù)的常用存儲(chǔ)媒介的磁帶,其讀寫速度往往很慢,而且由于是順序存儲(chǔ)設(shè)備,在恢復(fù)數(shù)據(jù)時(shí)通常會(huì)出現(xiàn)頻繁的機(jī)械倒帶操作,如果備份數(shù)據(jù)分布在幾條磁帶上,還需費(fèi)時(shí)的裝卸操作。這使得利用磁帶進(jìn)行數(shù)據(jù)備份和恢復(fù)是一件相當(dāng)耗時(shí)的工作。(3)、需要雇用專人把備份數(shù)據(jù)運(yùn)送到遠(yuǎn)程站點(diǎn),并且保證運(yùn)輸和儲(chǔ)存過程中的數(shù)據(jù)安全。由此可以看出,傳統(tǒng)的數(shù)據(jù)備份需要人工介入完成許多任務(wù),是一項(xiàng)代價(jià)高昂的、繁瑣的工作。為了提高數(shù)據(jù)備份和恢復(fù)的效率,克服傳統(tǒng)的數(shù)據(jù)保護(hù)技術(shù)的缺點(diǎn),近二十年來,世界上一些知名的IT企業(yè)或研究機(jī)構(gòu)研制出了形形色色的數(shù)據(jù)備份系統(tǒng)。包括IBM的TotalStorage,HP的OpenView存儲(chǔ)鏡像軟件、CASA、XPCA以及EVACA,EMC的SRDF和MirrorView,VERITAS的NetBackup等等。這些商業(yè)系統(tǒng)沒有重復(fù)數(shù)據(jù)刪除功能,為了存儲(chǔ)在備份中產(chǎn)生的大量冗余數(shù)據(jù),往往需要使用磁盤到磁帶(D2T)技術(shù),即使用高速磁盤作為備份緩沖區(qū)以提高在線備份效率,然后在后臺(tái)把磁盤緩沖區(qū)中的備份數(shù)據(jù)遷移到磁帶庫(kù)或光盤庫(kù)等低速大容量的存儲(chǔ)媒介上,故其后臺(tái)存儲(chǔ)設(shè)備還是需要耗費(fèi)大量的人力物力進(jìn)行日常維護(hù)。由于磁盤存儲(chǔ)較磁帶存儲(chǔ)具有管理方便、存取速度快等優(yōu)點(diǎn),隨著磁盤存儲(chǔ)技術(shù)的發(fā)展,使用磁盤存儲(chǔ)數(shù)據(jù)的備份系統(tǒng)越來越受到重視。目前的磁盤存儲(chǔ)技術(shù)能夠很容易搭建一個(gè)TB甚至PB級(jí)的磁盤存儲(chǔ)系統(tǒng)。每比特磁盤存儲(chǔ)的價(jià)格越來越便宜使得利用磁盤永久歸檔數(shù)據(jù)變得現(xiàn)實(shí)起來。對(duì)于一個(gè)基于磁盤的數(shù)據(jù)備份系統(tǒng)來說,備份數(shù)據(jù)永久存儲(chǔ)于磁盤而不擦除具有許多優(yōu)點(diǎn)首先,數(shù)據(jù)可以連續(xù)地寫到磁盤上,不會(huì)因?yàn)榭臻g回收而產(chǎn)生磁盤碎片,其次,用戶的數(shù)據(jù)歷史得到完整的保存,用戶可以很方便地瀏覽文件的任一歷史版本,第三,有利于保護(hù)用戶的備份數(shù)據(jù),避免了用戶誤操作而刪除重要的數(shù)據(jù)。然而,對(duì)于一個(gè)永久存儲(chǔ)的基于磁盤的備份系統(tǒng)來說,最大的挑戰(zhàn)來源于用戶不斷增加的備份數(shù)據(jù)。通常,企業(yè)的數(shù)據(jù)具有高度的冗余,大量重復(fù)的數(shù)據(jù)和文件存儲(chǔ)在系統(tǒng)中,一個(gè)文件的多個(gè)編輯版本之間也存在大量重復(fù)的內(nèi)容。目前廣泛使用的基于文件的備份技術(shù)不能識(shí)別文件之間的冗余數(shù)據(jù),導(dǎo)致越來越多的重復(fù)數(shù)據(jù)備份到系統(tǒng)中,不但降低了備份系統(tǒng)的磁盤空間利用率,而且無端通過網(wǎng)絡(luò)傳輸了大量冗余數(shù)據(jù),增加了數(shù)據(jù)備份的網(wǎng)絡(luò)開銷,延長(zhǎng)了數(shù)據(jù)備份時(shí)間。由此可見,開發(fā)一個(gè)永久存儲(chǔ)的基于磁盤的備份系統(tǒng),并采用新的數(shù)據(jù)備份技術(shù)清除備份的冗余數(shù)據(jù),提高系統(tǒng)的存儲(chǔ)效率,是具有積極意義的。
            發(fā)明內(nèi)容本發(fā)明提出一種基于指紋的數(shù)據(jù)備份系統(tǒng),系統(tǒng)采用磁盤永久存儲(chǔ)備份數(shù)據(jù)并采用基于指紋的數(shù)據(jù)備份技術(shù)以刪除備份中的冗余數(shù)據(jù),目的在于降低數(shù)據(jù)備份的管理、存儲(chǔ)以及網(wǎng)絡(luò)開銷,提高備份性能。本發(fā)明的一種基于指紋的數(shù)據(jù)備份系統(tǒng),包括備份服務(wù)器、備份代理、存儲(chǔ)服務(wù)器和Web服務(wù)器,它們通過網(wǎng)絡(luò)相互通信完成數(shù)據(jù)備份與恢復(fù),其特征在于所述備份服務(wù)器裝有配置文件和目錄數(shù)據(jù)庫(kù),備份服務(wù)器的配置文件中記錄用戶定義的作業(yè)對(duì)象,作業(yè)對(duì)象包含指定系統(tǒng)操作作業(yè)運(yùn)行的屬性,備份服務(wù)器通過作業(yè)對(duì)象控制著整個(gè)數(shù)據(jù)備份和恢復(fù)的過程;目錄數(shù)據(jù)庫(kù)存儲(chǔ)作業(yè)記錄,作業(yè)記錄保存作業(yè)對(duì)象運(yùn)行的管理信息;所述備份代理單元安裝于網(wǎng)絡(luò)中每一個(gè)需要備份數(shù)據(jù)的主機(jī)上,備份時(shí)由備份代理單元從所在主機(jī)的文件系統(tǒng)中讀取需要備份的文件,對(duì)文件進(jìn)行基于錨的分塊并計(jì)算分塊的指紋,把指紋和部分需要的分塊數(shù)據(jù)通過網(wǎng)絡(luò)送往存儲(chǔ)服務(wù)器;恢復(fù)時(shí)備份代理單元通過網(wǎng)絡(luò)從存儲(chǔ)服務(wù)器接收文件數(shù)據(jù)并寫到所在主機(jī)的文件系統(tǒng)中指定的目錄下;所述存儲(chǔ)服務(wù)器安裝有大容量磁盤陣列,大容量磁盤陣列是數(shù)據(jù)備份的目的地,備份時(shí)通過網(wǎng)絡(luò)從相應(yīng)的備份代理單元接收指紋或數(shù)據(jù)分塊,把數(shù)據(jù)分塊存儲(chǔ)到磁盤上,并建立文件的索引;恢復(fù)時(shí)則從大容量磁盤陣列根據(jù)文件索引重構(gòu)文件,并把文件數(shù)據(jù)通過網(wǎng)絡(luò)送到相應(yīng)的備份代理;所述Web服務(wù)器是本系統(tǒng)的B-S模式網(wǎng)頁(yè)用戶管理界面,通過登錄Web服務(wù)器,用戶既可以指定系統(tǒng)完成交互式的備份或恢復(fù)作業(yè)、監(jiān)視系統(tǒng)自動(dòng)調(diào)度型作業(yè)的運(yùn)行情況,還可以修改備份服務(wù)器的配置文件、定制作業(yè)對(duì)象,進(jìn)行設(shè)備管理。所述的基于指紋的數(shù)據(jù)備份系統(tǒng),其特征在于,所述備份服務(wù)器包括備份服務(wù)器初始化模塊、命令監(jiān)聽模塊、命令處理模塊、作業(yè)處理模塊和網(wǎng)絡(luò)通信模塊;所述備份服務(wù)器初始化模塊執(zhí)行初始化工作,包括讀取配置文件、建立內(nèi)存中的資源鏈表、檢查目錄數(shù)據(jù)庫(kù)狀態(tài)、保證配置文件和目錄數(shù)據(jù)庫(kù)的數(shù)據(jù)一致性和完整性、啟動(dòng)命令監(jiān)控端口、接受來自Web服務(wù)器的用戶侖令、初始化作業(yè)隊(duì)列和用戶命令隊(duì)列、向作業(yè)隊(duì)列中加載作業(yè)對(duì)象、啟動(dòng)作業(yè)和網(wǎng)絡(luò)監(jiān)控服務(wù);所述命令監(jiān)聽模塊是由系統(tǒng)生成的一個(gè)網(wǎng)絡(luò)監(jiān)聽線程,對(duì)Web服務(wù)器的連接請(qǐng)求進(jìn)行認(rèn)證,保證只有經(jīng)過系統(tǒng)授權(quán)的Web服務(wù)器才能連接系統(tǒng),監(jiān)聽已通過認(rèn)證的Web服務(wù)器發(fā)送來的命令請(qǐng)求;收到命令請(qǐng)求時(shí),將命令請(qǐng)求加入到用戶命令隊(duì)列中等待系統(tǒng)處理;所述命令處理模塊包括一個(gè)用戶命令隊(duì)列和N個(gè)命令工作線程,當(dāng)用戶命令隊(duì)列溢出時(shí),命令監(jiān)聽模塊轉(zhuǎn)入睡眠狀態(tài);這些命令工作線程不斷從用戶命令隊(duì)列中讀取命令并執(zhí)行,根據(jù)所執(zhí)行命令的不同完成不同的功能;當(dāng)命令監(jiān)聽模塊向用戶命令隊(duì)列中加入一個(gè)命令時(shí),如果當(dāng)前沒有空閑的命令工作線程且活躍的命令工作線程的數(shù)目沒有達(dá)到N時(shí),就生成一個(gè)新的命令工作線程;命令工作線程每次從用戶命令隊(duì)列中讀取命令時(shí)都檢查命令監(jiān)聽模塊的狀態(tài),如果其處于睡眠狀態(tài)則喚醒它;所述作業(yè)處理模塊包括一個(gè)作業(yè)隊(duì)列、L個(gè)作業(yè)工作線程和一個(gè)作業(yè)隊(duì)列加載線程,當(dāng)作業(yè)隊(duì)列發(fā)生溢出時(shí),作業(yè)隊(duì)列加載線程進(jìn)入睡眠狀態(tài);作業(yè)工作線程不斷從作業(yè)隊(duì)列中取作業(yè)對(duì)象并執(zhí)行,根據(jù)作業(yè)對(duì)象屬性的不同調(diào)用不同的資源、實(shí)現(xiàn)不同的功能;作業(yè)隊(duì)列加載線程進(jìn)行作業(yè)調(diào)度,檢查作業(yè)資源鏈中每個(gè)作業(yè)對(duì)象的調(diào)度策略屬性,把需要調(diào)度運(yùn)行的作業(yè)對(duì)象加入作業(yè)隊(duì)列中,如果當(dāng)前沒有空閑的作業(yè)工作線程且活躍的作業(yè)工作線程的數(shù)目沒有達(dá)到L時(shí),就生成一個(gè)新的作業(yè)工作線程;作業(yè)工作線程每次從作業(yè)隊(duì)列中讀取作業(yè)對(duì)象時(shí)都檢查作業(yè)隊(duì)列加載線程的狀態(tài),如果其處于睡眠狀態(tài)則喚醒它;所述網(wǎng)絡(luò)通信模塊把標(biāo)準(zhǔn)的網(wǎng)絡(luò)通信應(yīng)用編程接口進(jìn)行封裝,向命令工作線程和作業(yè)工作線程提供網(wǎng)絡(luò)通信接口,網(wǎng)絡(luò)通信接口實(shí)現(xiàn)備份服務(wù)器、備份代理和存儲(chǔ)服務(wù)器之間的數(shù)據(jù)傳輸協(xié)議。所述的基于指紋的數(shù)據(jù)備份系統(tǒng),其特征在于,所述備份代理包括備份代理初始化模塊、請(qǐng)求監(jiān)聽模塊、作業(yè)處理模塊、文件分塊模塊和網(wǎng)絡(luò)通信模塊;所述備份代理初始化模塊,執(zhí)行初始化工作,包括讀取備份代理配置文件、建立內(nèi)存資源鏈表、初始化作業(yè)隊(duì)列、啟動(dòng)備份服務(wù)器請(qǐng)求監(jiān)聽模塊;所述請(qǐng)求監(jiān)聽模塊監(jiān)聽網(wǎng)絡(luò)上備份服務(wù)器的連接請(qǐng)求,認(rèn)證連接的備份服務(wù)器,認(rèn)證通過后生成一個(gè)網(wǎng)絡(luò)連接套接字和此備份服務(wù)器通信并加入作業(yè)隊(duì)列中;所述作業(yè)處理模塊包括一個(gè)作業(yè)隊(duì)列和M個(gè)作業(yè)工作線程,當(dāng)作業(yè)隊(duì)列溢出時(shí),請(qǐng)求監(jiān)聽模塊轉(zhuǎn)入睡眠狀態(tài);作業(yè)工作線程從作業(yè)隊(duì)列中取出一個(gè)網(wǎng)絡(luò)連接套接字后,首先為作業(yè)建立一個(gè)作業(yè)控制記錄,把網(wǎng)絡(luò)連接套接字鏈入作業(yè)控制記錄的成員變量中,然后通過此網(wǎng)絡(luò)連接套接字和備份服務(wù)器交互,把備份服務(wù)器作業(yè)對(duì)象的有關(guān)屬性通過變換后賦值給作業(yè)控制記錄的相應(yīng)成員變量;然后用從備份服務(wù)器處得到的作業(yè)票據(jù)ticket連接相應(yīng)的存儲(chǔ)服務(wù)器,產(chǎn)生一個(gè)和存儲(chǔ)服務(wù)器通信的網(wǎng)絡(luò)連接套接字并將之鏈入作業(yè)控制記錄的成員變量中;當(dāng)請(qǐng)求監(jiān)聽模塊向作業(yè)隊(duì)列中加入一個(gè)網(wǎng)絡(luò)連接套接字時(shí),如果當(dāng)前沒有空閑的作業(yè)工作線程且活躍的作業(yè)工作線程的數(shù)目沒有達(dá)到M時(shí),就生成一個(gè)新的作業(yè)工作線程;作業(yè)工作線程每次從作業(yè)隊(duì)列中取一個(gè)網(wǎng)絡(luò)連接套接字時(shí)都檢查請(qǐng)求監(jiān)聽模塊的狀態(tài),如果其處于睡眠狀態(tài)則喚醒它;所述文件分塊模塊接受作業(yè)處理模塊中作業(yè)工作線程的命令執(zhí)行備份作業(yè)的文件分塊任務(wù),在客戶機(jī)文件系統(tǒng)上打開文件集中的每一個(gè)文件,對(duì)文件進(jìn)行基于錨的分塊并計(jì)算分塊指紋,和相應(yīng)的存儲(chǔ)服務(wù)器協(xié)調(diào)執(zhí)行第一備份過程的備份算法;所述網(wǎng)絡(luò)通信模塊由作業(yè)的網(wǎng)絡(luò)連接套接字組成,備份代理的每個(gè)作業(yè)都擁有兩個(gè)網(wǎng)絡(luò)連接套接字,分別用于和該作業(yè)對(duì)應(yīng)的備份服務(wù)器作業(yè)以及存儲(chǔ)服務(wù)器作業(yè)通信。所述的基于指紋的數(shù)據(jù)備份系統(tǒng),其特征在于,所述存儲(chǔ)服務(wù)器包括存儲(chǔ)服務(wù)器初始化模塊、連接監(jiān)控模塊、作業(yè)票據(jù)表、作業(yè)處理模塊和網(wǎng)絡(luò)通信模塊,以及索引緩沖區(qū)、分塊緩沖區(qū)、分塊哈希表和磁盤日志;所述存儲(chǔ)服務(wù)器初始化模塊執(zhí)行初始化工作,包括解析存儲(chǔ)服務(wù)器配置文件,建立內(nèi)存資源鏈表,啟動(dòng)相關(guān)服務(wù)線程;所述連接監(jiān)控模塊監(jiān)控備份服務(wù)器和備份代理的連接請(qǐng)求,對(duì)連接的備份服務(wù)器進(jìn)行認(rèn)證,認(rèn)證通過后生成一個(gè)網(wǎng)絡(luò)連接套接字和此備份服務(wù)器通信并加入作業(yè)隊(duì)列中;對(duì)連接的備份代理,則根據(jù)其出示的作業(yè)票據(jù)ticket檢查作業(yè)票據(jù)表以對(duì)其進(jìn)行認(rèn)證,認(rèn)證通過后生成一個(gè)網(wǎng)絡(luò)連接套接字和此備份代理通信并鏈接到相應(yīng)作業(yè)控制記錄的成員變量中;所述作業(yè)票據(jù)表用于存儲(chǔ)對(duì)備份代理作業(yè)進(jìn)行認(rèn)證的票據(jù);所述作業(yè)處理模塊包括一個(gè)作業(yè)隊(duì)列以及W個(gè)作業(yè)工作線程,當(dāng)作業(yè)隊(duì)列溢出時(shí),連接監(jiān)控模塊轉(zhuǎn)入"拒絕備份服務(wù)器連接請(qǐng)求"狀態(tài);作業(yè)工作線程從作業(yè)隊(duì)列中取出一個(gè)網(wǎng)絡(luò)連接套接字后,首先為作業(yè)建立一個(gè)作業(yè)控制記錄,把網(wǎng)絡(luò)連接套接字鏈入作業(yè)控制記錄的成員變量中,然后通過此網(wǎng)絡(luò)連接套接字和備份服務(wù)器交互,把備份服務(wù)器作業(yè)對(duì)象的有關(guān)屬性通過變換后賦值給作業(yè)控制記錄的相應(yīng)成員變量,并隨機(jī)生成一個(gè)作業(yè)票據(jù)ticket登記到作業(yè)票據(jù)表中且向備份服務(wù)器作業(yè)對(duì)象傳送此作業(yè)票據(jù)ticket;當(dāng)連接監(jiān)控模塊向作業(yè)隊(duì)列中加入一個(gè)網(wǎng)絡(luò)連接套接字時(shí),如果當(dāng)前沒有空閑的作業(yè)工作線程且活躍的作業(yè)工作線程的數(shù)目沒有達(dá)到W時(shí),就生成一個(gè)新的作業(yè)工作線程;作業(yè)工作線程每次從作業(yè)隊(duì)列中取一個(gè)網(wǎng)絡(luò)連接套接字時(shí)都檢査連接監(jiān)控模塊的狀態(tài),如果其處于"拒絕備份服務(wù)器連接請(qǐng)求"狀態(tài)則取消這種狀態(tài)以使它接受備份服務(wù)器連接請(qǐng)求;所述網(wǎng)絡(luò)通信模塊由作業(yè)的網(wǎng)絡(luò)連接套接字組成,存儲(chǔ)服務(wù)器的每個(gè)作業(yè)都擁有兩個(gè)網(wǎng)絡(luò)連接套接字,分別用于和該作業(yè)對(duì)應(yīng)的備份服務(wù)器作業(yè)以及備份代理作業(yè)通信;所述索引緩沖區(qū)是存儲(chǔ)服務(wù)器作業(yè)執(zhí)行第一備份過程和第二備份過程的基礎(chǔ)設(shè)施,索引緩沖區(qū)以一個(gè)內(nèi)存哈希表實(shí)現(xiàn),用于存儲(chǔ)本作業(yè)鏈中本作業(yè)實(shí)例Job^)的前一個(gè)作業(yè)實(shí)例Job"U包含的所有指紋以及在本作業(yè)運(yùn)行過程中新生成的指紋;所述分塊緩沖區(qū)是存儲(chǔ)服務(wù)器作業(yè)執(zhí)行第一備份過程和第二備份過程的基礎(chǔ)設(shè)施,分塊緩沖區(qū)以一個(gè)獨(dú)立的磁盤陣列實(shí)現(xiàn),用以臨時(shí)存儲(chǔ)第一備份過程中其指紋在索引緩沖區(qū)中沒有被找到的數(shù)據(jù)分塊;所述分塊哈希表是存儲(chǔ)服務(wù)器作業(yè)執(zhí)行第二備份過程的基礎(chǔ)設(shè)施,分塊哈希表以一個(gè)獨(dú)立的磁盤陣列實(shí)現(xiàn),用以建立分塊指紋到此分塊在磁盤日志的存儲(chǔ)地址的映射;所述磁盤日志是存儲(chǔ)服務(wù)器作業(yè)執(zhí)行第二備份過程的基礎(chǔ)設(shè)施,磁盤日志以一個(gè)獨(dú)立的磁盤陣列實(shí)現(xiàn),用以存儲(chǔ)數(shù)據(jù)分塊和以分塊形式存儲(chǔ)的文件索引。本發(fā)明的優(yōu)點(diǎn)為1、采用基于錨的文件分塊技術(shù)把文件分成變長(zhǎng)大小的塊以識(shí)別文件內(nèi)部或文件之間的冗余數(shù)據(jù),具有修改穩(wěn)定性,對(duì)一個(gè)文件的修改僅僅影響修改區(qū)域內(nèi)相鄰的數(shù)據(jù)塊,其他數(shù)據(jù)塊的邊界不會(huì)發(fā)生移動(dòng)。這樣在對(duì)一個(gè)文件進(jìn)行增量備份時(shí),僅僅修改過的幾個(gè)數(shù)據(jù)塊需要備份,其他的數(shù)據(jù)塊可以和以前的備份文件共享;使用窗口滑動(dòng)計(jì)算,計(jì)算開銷小。2、數(shù)據(jù)分塊以其指紋為索引存儲(chǔ)在存儲(chǔ)服務(wù)器的磁盤陣列上,把數(shù)據(jù)存儲(chǔ)地址和內(nèi)容關(guān)聯(lián)起來,改變了數(shù)據(jù)存儲(chǔ)地址和內(nèi)容相分離的傳統(tǒng)概念,消除了冗余數(shù)據(jù)的備份,節(jié)省了磁盤存儲(chǔ)空間;3、數(shù)據(jù)分塊一旦存儲(chǔ)就不再擦除,數(shù)據(jù)分塊可以連續(xù)追加在磁盤上,消除了磁盤存儲(chǔ)碎片;用戶的數(shù)據(jù)歷史得到完整保存,用戶可以很方便地瀏覽文件的任一歷史版本;避免了用戶誤操作而刪除重要數(shù)據(jù)。4、采用有效的備份緩沖策略,減少了備份的網(wǎng)絡(luò)開銷,提高了數(shù)據(jù)備份速度,降低了備份對(duì)應(yīng)用服務(wù)器的影響。圖l為本發(fā)明結(jié)構(gòu)示意圖;圖2為備份服務(wù)器結(jié)構(gòu)示意圖3為備份代理結(jié)構(gòu)示意圖4為存儲(chǔ)服務(wù)器結(jié)構(gòu)示意圖5為文件在磁盤日志上的存儲(chǔ)示意圖6為磁盤日志上多個(gè)文件共享數(shù)據(jù)分塊/索引塊示意圖;圖7為本發(fā)明的索引緩沖區(qū)結(jié)構(gòu)圖;圖8為基于錨的文件分塊技術(shù)中,文件分塊示意圖。具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。1、系統(tǒng)總體結(jié)構(gòu)圖l為本發(fā)明系統(tǒng)體系示意圖,本發(fā)明包括備份服務(wù)器、備份代理、存儲(chǔ)服務(wù)器和Web服務(wù)器,它們通過網(wǎng)絡(luò)相互通信完成數(shù)據(jù)備份與恢復(fù)。圖2為備份服務(wù)器結(jié)構(gòu)示意圖;備份服務(wù)器包括備份服務(wù)器初始化模塊、命令監(jiān)聽模塊、命令處理模塊、作業(yè)處理模塊和網(wǎng)絡(luò)通信模塊;還裝有配置文件和目錄數(shù)據(jù)庫(kù)。備份服務(wù)器是整個(gè)網(wǎng)絡(luò)備份系統(tǒng)的指揮中樞,它通過作業(yè)對(duì)象控制著整個(gè)數(shù)據(jù)備份和恢復(fù)的過程。備份服務(wù)器的作業(yè)對(duì)象給用戶提供了一個(gè)定制備份/恢復(fù)作業(yè)的窗口。作業(yè)對(duì)象包含了許多屬性,這些屬性指定了系統(tǒng)如何操作作業(yè)運(yùn)行。如備份代理屬性指定了作業(yè)從哪一臺(tái)主機(jī)上備份/恢復(fù)數(shù)據(jù);文件集屬性指定了作業(yè)要備份/恢復(fù)的目錄;調(diào)度策略屬性指定了系統(tǒng)調(diào)度本作業(yè)運(yùn)行的策略等等。記一個(gè)作業(yè)對(duì)象為Jobx,作業(yè)對(duì)象在時(shí)刻t被調(diào)度運(yùn)行時(shí)產(chǎn)生一個(gè)運(yùn)行實(shí)例Jobx(t)。作業(yè)對(duì)象Jobx按時(shí)間順序的一序列運(yùn)行實(shí)例Jobx(to),Job"tO,...Jobx(tn)(to〈t^…〈tn)組成了本作業(yè)對(duì)象的一條作業(yè)鏈,記為Job"to,t,,...g。所述備份服務(wù)器同時(shí)維護(hù)著一個(gè)目錄數(shù)據(jù)庫(kù)用于記錄Job"t)的管理信息。具體地說,Jobx(t)的管理信息存儲(chǔ)在目錄數(shù)據(jù)庫(kù)中本作業(yè)的作業(yè)記錄Jobx(t).Rec0rd中。目錄數(shù)據(jù)庫(kù)用來存儲(chǔ)作業(yè)運(yùn)行的管理信息,即Job"t).Record。Jobx(t).ReCOrd主要存儲(chǔ)本作業(yè)包含的文件的根塊,本作業(yè)的指紋文件Jobx(t).FF等。每一個(gè)運(yùn)行完成的作業(yè)Job"t)都在目錄數(shù)據(jù)庫(kù)中保存一份指紋文件Jobx(t).FF,Jobx(t).FF存儲(chǔ)作業(yè)Job"t)所包含的所有指紋。Jobx(tn).FF用于對(duì)作業(yè)Jobx(tn+1)的索引緩沖區(qū)進(jìn)行初始化。圖3為備份代理結(jié)構(gòu)示意圖;備份代理包括備份代理初始化模塊、請(qǐng)求監(jiān)聽模塊、作業(yè)處理模塊、文件分塊模塊和網(wǎng)絡(luò)通信模塊。圖4為存儲(chǔ)服務(wù)器結(jié)構(gòu)示意圖;存儲(chǔ)服務(wù)器包括存儲(chǔ)服務(wù)器初始化模塊、連接監(jiān)控模塊、作業(yè)票據(jù)表、作業(yè)處理模塊和網(wǎng)絡(luò)通信模塊,以及索引緩沖區(qū)、分塊緩沖區(qū)、分塊哈希表和磁盤日志。存儲(chǔ)服務(wù)器管理著一個(gè)大容量的磁盤陣列(RAID)用以存儲(chǔ)數(shù)據(jù)分塊。分塊以其指紋為索引存儲(chǔ)在磁盤陣列上。數(shù)據(jù)分塊一旦寫到磁盤上就不再擦除,這樣整個(gè)磁盤陣列就像一個(gè)日志,數(shù)據(jù)分塊無間隔地追加在磁盤上,消除了磁盤存儲(chǔ)的碎片。用于存儲(chǔ)數(shù)據(jù)分塊的磁盤被稱為磁盤曰志。存儲(chǔ)服務(wù)器使用一塊專用的磁盤陣列存儲(chǔ)分塊哈希表,分塊哈希表用以建立分塊指紋到此分塊在磁盤日志的存儲(chǔ)地址的映射。備份文件的所有數(shù)據(jù)分塊通過索引塊進(jìn)行索引,一個(gè)文件的所有索引塊組成了一棵索引樹。同時(shí)每一個(gè)文件都擁有唯一的一個(gè)分塊叫根塊,根塊存儲(chǔ)文件的索引樹的根的索引,同時(shí)文件的元數(shù)據(jù)以及一些管理信息也存儲(chǔ)在根塊上。文件的根塊以及索引塊也作為數(shù)據(jù)分塊存儲(chǔ)在磁盤日志上。存儲(chǔ)服務(wù)器采用備份緩沖策略以提高系統(tǒng)的數(shù)據(jù)備份速度。具體為(1)采用內(nèi)存索引緩沖區(qū)存儲(chǔ)本作業(yè)鏈中本作業(yè)實(shí)例J0b"U的前一個(gè)作業(yè)實(shí)例Job"U包含的所有指紋以及在本作業(yè)運(yùn)行過程中新生成的指紋。(2)采用一塊專用的磁盤陣列作為分塊緩沖區(qū)用以臨時(shí)存儲(chǔ)備份過程中其指紋在索引緩沖區(qū)中沒有被找到的數(shù)據(jù)分塊。(3)—個(gè)作業(yè)的備份過程被分成兩個(gè)階段完成,這兩個(gè)階段分別記為第一備份過程和第二備份過程。第一備份過程由備份代理和存儲(chǔ)服務(wù)器相互交互完成文件分塊的備份,使用索引緩沖區(qū)査找分塊指紋,使用分塊緩沖區(qū)存儲(chǔ)在索引緩沖區(qū)查找過程中沒有發(fā)現(xiàn)其指紋的數(shù)據(jù)分塊。對(duì)備份代理來說,第一備份過程完成后作業(yè)的備份過程就算結(jié)束了。因?yàn)楸具^程使用內(nèi)存索引緩沖區(qū)進(jìn)行指紋查詢,免去了費(fèi)時(shí)的分塊哈希表査詢,故而速度很快。第二備份過程由存儲(chǔ)服務(wù)器在系統(tǒng)相對(duì)空閑的時(shí)候運(yùn)行。本過程把分塊緩沖區(qū)中臨時(shí)存儲(chǔ)的數(shù)據(jù)分塊轉(zhuǎn)存到磁盤日志上,使用分塊哈希表進(jìn)行指紋查詢。本過程同時(shí)建立文件在磁盤日志上的索引樹。由于第二備份過程是在后臺(tái)由存儲(chǔ)服務(wù)器獨(dú)自完成,故而對(duì)運(yùn)行備份代理的應(yīng)用服務(wù)器沒有影響?;謴?fù)文件時(shí),存儲(chǔ)服務(wù)器根據(jù)文件索引重構(gòu)文件并把文件數(shù)據(jù)通過網(wǎng)絡(luò)送到相應(yīng)的備份代理。Web服務(wù)器本發(fā)明采用B-S模式提供網(wǎng)頁(yè)用戶界面。用戶可以在任何地方通過Web瀏覽器登錄系統(tǒng)的管理界面以指定系統(tǒng)完成交互式的備份或恢復(fù)作業(yè)、監(jiān)視系統(tǒng)自動(dòng)調(diào)度型作業(yè)的運(yùn)行情況,還可以定制作業(yè)、配置備份服務(wù)器、進(jìn)行設(shè)備管理等。2、存儲(chǔ)服務(wù)器磁盤白志本發(fā)明備份數(shù)據(jù)分塊以其指紋為索引存儲(chǔ)在存儲(chǔ)服務(wù)器的磁盤日志上。這樣保證沒有相同的兩個(gè)分塊同時(shí)存儲(chǔ)在磁盤上,因而消除了冗余數(shù)據(jù)的備份。分塊一旦存儲(chǔ)就不再擦除,使得分塊可以連續(xù)的追加在磁盤曰志上,消除了磁盤存儲(chǔ)碎片。備份文件所屬的數(shù)據(jù)塊以索引塊為索引。文件的索引塊也存儲(chǔ)在磁盤日志上。2.1、分塊塊頭為了方面管理,每個(gè)數(shù)據(jù)分塊的前面都附加了一個(gè)塊頭。塊頭為系統(tǒng)管理,包括完整性檢測(cè)、文件索引以及分塊哈希表的重構(gòu)提供了必要的信息。塊頭一共39字節(jié),由以下部分組成-magic:6個(gè)字符的塊頭標(biāo)志;fingerprint:本分塊的指紋,共20字節(jié);type:本數(shù)據(jù)分塊的類型,共有三種不同類型的數(shù)據(jù)分塊,即數(shù)據(jù)塊、索引塊和文件的根塊,分別記為&,/c,rc;size:本數(shù)據(jù)分塊的大小,不包括塊頭。對(duì)索引塊,系統(tǒng)規(guī)定其大小不能超過16KB;offset:本數(shù)據(jù)分塊在磁盤日志上的存儲(chǔ)地址。2.2、文件索引圖5所示為文件在磁盤日志上的存儲(chǔ)結(jié)構(gòu)。文件所屬的數(shù)據(jù)塊以索引塊為索引,索引塊也存儲(chǔ)在磁盤日志上,一個(gè)文件的所有索引塊組成了一棵索引樹;每個(gè)文件都在磁盤日志上存儲(chǔ)有唯一的一個(gè)根塊,根塊里存儲(chǔ)文件索引樹的根的索引,同時(shí)還存儲(chǔ)文件的元數(shù)據(jù)和本文件的一些管理信息。文件備份完成后,其根塊作為作業(yè)的管理信息同時(shí)也存儲(chǔ)到目錄數(shù)據(jù)庫(kù)的作業(yè)記錄里。圖5中,F(xiàn)o表示一個(gè)文件,Dj表示數(shù)據(jù)塊,Ii表示索引塊,索引塊由索引項(xiàng)組成,P(X)表示一個(gè)索引項(xiàng),它是一個(gè)三元組〈H(X),offset,type>,其中X是被索引的數(shù)據(jù)分塊,H(X)表示數(shù)據(jù)分塊X的指紋,q訴"表示數(shù)據(jù)分塊X在磁盤日志上的存儲(chǔ)地址,表示數(shù)據(jù)分塊X的類型,X可以是一個(gè)索引塊Ii,也可以是一個(gè)數(shù)據(jù)塊Di,圖中的箭頭表示被索引塊和其索引項(xiàng)的對(duì)應(yīng)關(guān)系,M(Fo)表示文件F0的元數(shù)據(jù)以及一些管理信息,索引塊Io,L和l2組成了文件Fo的索引樹,索引塊Io為此索引樹的根,Ro表示文件F。的根塊,它由M(Fo)和一個(gè)指向文件的索引樹的根I()的索引項(xiàng)P(Io)組成。磁盤日志上的所有數(shù)據(jù)塊和索引塊都可以被不同的文件所共享。圖6所示為不同文件共享數(shù)據(jù)塊和索引塊的情況,圖中各記號(hào)表示的意義和圖5相同。3、存儲(chǔ)服務(wù)器分塊哈希表本發(fā)明存儲(chǔ)服務(wù)器分塊哈希表用以建立分塊指紋到此分塊在磁盤日志的存儲(chǔ)地址的映射,分塊哈希表由相同大小的桶組成。分塊哈希表所包含的桶數(shù)是根據(jù)磁盤日志的大小來確定的,磁盤日志的容量越大,則分塊哈希表所包含的桶數(shù)就越多,以降低桶的哈希沖突的幾率。系統(tǒng)根據(jù)哈希表的桶數(shù)取指紋的前n位作為桶號(hào)把指紋映射到哈希表的相應(yīng)的桶里。每個(gè)指紋以三元組<yMg^/7n>zf,/^7&的形式存儲(chǔ)在桶里,其中ywgw/^",表示此分塊的指紋,o^^/表示此指紋對(duì)應(yīng)的分塊在磁盤日志上的存儲(chǔ)地址,0^e表示此指紋對(duì)應(yīng)的分塊的類型。如果桶發(fā)生哈希沖突,則把指紋的三元組存儲(chǔ)在相鄰的一個(gè)桶里。4、存儲(chǔ)服務(wù)器索引緩沖區(qū)圖7所示為索引緩沖區(qū)的結(jié)構(gòu)。索引緩沖區(qū)為一個(gè)內(nèi)存哈希表,它由一個(gè)桶組和許多數(shù)據(jù)鏈表組成,桶組一共有1024*1024個(gè)桶,桶的編號(hào)從OOOOOH到FFFFFH,桶可能為空,桶若非空,則里面包含一個(gè)指向數(shù)據(jù)鏈表的指針,對(duì)應(yīng)一個(gè)數(shù)據(jù)鏈表,數(shù)據(jù)鏈表的表項(xiàng)存儲(chǔ)被哈希到本桶中的指紋信息。哈希時(shí),取指紋的前20比特作為桶號(hào)把此指紋哈希到相應(yīng)的桶所指向的數(shù)據(jù)鏈表里。數(shù)據(jù)鏈表的表項(xiàng)結(jié)構(gòu)為tag:標(biāo)識(shí)符,占4比特,用以指示在第一備份過程和第二備份過程中本指紋的狀態(tài);fmgerprintTail:本分塊的指紋的后140比特,因?yàn)榍?0比特隱含在桶號(hào)中,故這里只需要存儲(chǔ)指紋的后140比特;offset存儲(chǔ)地址,占64比特,如果此項(xiàng)非空,則表示此指紋對(duì)應(yīng)的數(shù)據(jù)分塊在磁盤日志的存儲(chǔ)地址;next:占32比特,指向下一個(gè)表項(xiàng)的指針。圖7中"一個(gè)指紋"所示為一個(gè)指紋7E54F36A4EC62…3B被哈希到索引緩沖區(qū)的情況,第(l)步用指紋的前20比特"7E54F"作為桶號(hào)(bucketNo)找到編號(hào)為7E54FH的桶,第(2)步在此桶所指的數(shù)據(jù)鏈表中找fingerprintTail為"36A4EC62…3B"的表項(xiàng),如果找到則表明指紋7E54F36A4EC62…3B已經(jīng)存儲(chǔ)在索引緩沖區(qū)中,如果沒有找到,則建立一個(gè)新的表項(xiàng)存儲(chǔ)此指紋的信息。索引緩沖區(qū)的數(shù)據(jù)鏈表表項(xiàng)的tag共有三個(gè)不同的數(shù)值,其表示的意義如下-0000:指紋來源于前一個(gè)作業(yè)的指紋文件,并且在本次備份過程中沒有被命中;1000:指紋來源于前一個(gè)作業(yè)的指紋文件,并且在本次備份過程中被命中;1100:指紋是在本次備份過程中新產(chǎn)生的。一個(gè)備份作業(yè)Jobx(tw)完成后,本作業(yè)所包含的所有指紋以二元組〈fingerprint,offset〉(其中fingerprint表示分塊的指紋,offset表示分塊在磁盤日志上的存儲(chǔ)地址)的形式被保存在文件Jobx(tn—J.FF中,文件Jobx(tn—》.FF被存儲(chǔ)在目錄數(shù)據(jù)庫(kù)的作業(yè)記錄Jobx.Record中。Jobx(tn—j).FF被用來初始化作業(yè)Jobx(U的索引緩沖區(qū)。由于同一個(gè)作業(yè)鏈的相鄰作業(yè)通常共享大量的文件或數(shù)據(jù),故使用Jobx(U.FF初始化作業(yè)Jobx(仁)的索引緩沖區(qū)會(huì)提高緩沖區(qū)的指紋命中率。5、備份過程為方便起見,定義如下記號(hào)BS:備份服務(wù)器作業(yè)工作線程;BA:備份代理作業(yè)工作線程;SS:存儲(chǔ)服務(wù)器作業(yè)工作線程;F:—個(gè)文件;比一個(gè)指紋;M(F):文件F的元數(shù)據(jù);R(F):文件F的根塊;H(D):數(shù)據(jù)分塊D的指紋;D(H):指紋H所對(duì)應(yīng)的數(shù)據(jù)塊/索引塊;F.Index:構(gòu)建文件F的索引樹的內(nèi)存緩沖區(qū);indexcache:索引緩沖區(qū);chunkcache:分塊緩沖區(qū);hashtable:分塊哈希表;Jobx(tn).FileSet:作業(yè)對(duì)象Jobx(O的文件集;I(F,/eve/):索引樹F.Index第level層包含的索引塊的集合。索引樹的葉子被定義成O層,葉子結(jié)點(diǎn)的父結(jié)點(diǎn)為樹的第l層,依次類推。IW(F,level):I(F,level)中當(dāng)前被用于存儲(chǔ)三元組<H,offset,type〉的工作結(jié)點(diǎn);<H,offset,type>:三元組,H:指紋,offset:分i央D(H)在磁盤日志上的存儲(chǔ)地址,type:分塊D(H)的類型;5.1、第一備份過程第一備份過程主要由備份代理作業(yè)工作線程和存儲(chǔ)服務(wù)器作業(yè)工作線程協(xié)作完成,其步驟為SS:使用Jobx(tn.O.FF初始化indexcache;(2)BA:if(Jobx(g.FileSet為空)轉(zhuǎn)(20),else從Jobx(g.FileSet中讀取一個(gè)文件Fj;(3)BA:傳送M(FO到SS;(4)SS:把M(Fj)緩存到chunkcache;(5)BA:對(duì)Fj進(jìn)行基于錨的文件分塊;(6)BA:計(jì)算每個(gè)分塊的指紋并把這些指紋組成的指紋集合傳送到SS;(7)SS:if(指紋集合為空)轉(zhuǎn)(17),else在指紋集合中取出一個(gè)指紋Hj并在indexcache中査詢此指紋;'(8)SS:if(在indexcache查到指紋Hj){(9)SS:if(tag==0000){tag=1000;把<Hj,offset〉緩存到chunkcache0(10)SS:.elseif(tag==1000)把<Hj,offset>緩存至'Jchunkcach^(11)SS:elseif(tag==l100)把<Hj,null〉緩存到chunkcache;}(12)SS:else(把Hj緩存至ljindexcache,tag=1100,offset=null;(13)SS:請(qǐng)求BA傳送D(Hj);(14)BA:傳送D(Hj)到SS;(15)SS:把〈Hk,D(Hk)〉緩存到chunkcache;}(16)SS:返回步驟(7);(17)SS:通知BA備份下一個(gè)文件;(18)BA:返回步驟(2);(19)BA:向BS及SS報(bào)告作業(yè)Jobx(g的結(jié)束狀態(tài)然后退出.(20)SS:收到BA的作業(yè)結(jié)束信號(hào)后,結(jié)束第一備份過程,轉(zhuǎn)入第二備份過程;(21)BS:收到BA的作業(yè)結(jié)束信號(hào)后,斷開和BA的連接,等待SS執(zhí)行第二備份過程。5.1.1基于錨的文件分塊在第一備份過程的步驟(5)中,基于錨的文件分塊是由備份代理作業(yè)工作線程調(diào)用備份代理文件分塊模塊完成的,其步驟為(1)以文件的開頭48字節(jié)b,,b2,…,b48為一個(gè)窗口,以式H產(chǎn)(b,p47+Vy6+…+b48)modM計(jì)算文件的第一個(gè)窗口的哈希值。上式中p為某個(gè)素?cái)?shù),可取17,M為常數(shù),可取232。哈希值存儲(chǔ)在變量I^中。(2)向后滑動(dòng)一個(gè)字節(jié),以式H尸(p承H一b49-bJp48)modM計(jì)算文件第二個(gè)窗口b2,b3,...,b49的哈希值存儲(chǔ)在變量H2中。(3)以此類推,計(jì)算文件的所有窗口的哈希值。(4)對(duì)每個(gè)窗口的哈希值,取其低13位組成一個(gè)二進(jìn)制數(shù),如果此數(shù)等于預(yù)定的某個(gè)數(shù)(比如61),則確定其相應(yīng)的窗口為一個(gè)錨。(5)以錨為邊界把文件分成大小不一的數(shù)據(jù)塊。上述基于錨的文件分塊遵守如下三個(gè)約定a)如果文件小于48字節(jié),則退出基于錨的文件分塊算法,整個(gè)文件為一個(gè)數(shù)據(jù)塊;b)如果在某一段字節(jié)流中包含過多的錨,則舍棄一些錨使得最小的分塊不小于2KB(文件末尾的一個(gè)分塊是唯一的可能小于2KB的分塊);c)如果在連續(xù)64KB的字節(jié)流中都沒有錨,則取此64KB為一個(gè)分塊;本發(fā)明中基于錨的文件分塊具有如下兩個(gè)特點(diǎn)(1)具有修改穩(wěn)定性,也就是說對(duì)一個(gè)文件的修改僅僅影響修改區(qū)域內(nèi)相鄰的數(shù)據(jù)塊,其他數(shù)據(jù)塊的邊界不會(huì)發(fā)生移動(dòng)。這樣在對(duì)一個(gè)文件進(jìn)行增量備份時(shí),僅僅修改過的幾個(gè)數(shù)據(jù)塊需要備份,其他的數(shù)據(jù)塊可以和以前的備份文件進(jìn)行共享。修改穩(wěn)定性還保證了文件內(nèi)部以及文件之間的數(shù)據(jù)相似性不因比特偏移而被遺漏,從而最大限度地檢測(cè)出文件的重復(fù)數(shù)據(jù)。(2)滑動(dòng)窗口具有計(jì)算方便的優(yōu)點(diǎn),其下一個(gè)窗口的哈希值可以很容易從前一個(gè)窗口的哈希值的基礎(chǔ)上計(jì)算出來,因而使得基于錨的文件分塊具有計(jì)算開銷小的優(yōu)點(diǎn),整個(gè)算法的時(shí)間復(fù)雜度為o(n),其中"為文件包含的字節(jié)數(shù)。圖8所示為一個(gè)文件分塊后再對(duì)文件編輯時(shí)此文件分塊的變化情況。從圖中可以看出,基于錨的文件分塊具有修改穩(wěn)定性,也就是說對(duì)一個(gè)文件的修改僅僅影響修改區(qū)域內(nèi)相鄰的數(shù)據(jù)塊,其他數(shù)據(jù)塊的邊界不會(huì)發(fā)生移動(dòng)。a行所示為一個(gè)文件被錨分成了BiB8大小不一的8塊,每一塊的邊界帶紋齒的部分為48字節(jié)的錨。b、c、d行為對(duì)文件進(jìn)行第l、2、3次修改后,分塊的變化情況,帶陰影的部分為被修改過的部分。b行-對(duì)文件的第1次修改發(fā)生在塊B4內(nèi),修改后并沒有產(chǎn)生新的塊,僅僅使塊B/變成了塊B9,其它的塊都沒有發(fā)生改變。這時(shí)候的文件備份就只需要把塊B9備份過去替代原來的塊B4就可以了。C行對(duì)文件的第2次修改發(fā)生在塊Bs內(nèi),修改后產(chǎn)生了新的錨,把塊Bs分成了兩塊Bu)和Bn,其它的塊都沒有發(fā)生改變。這時(shí)候的文件備份就只需要把塊Bu)和Bn備份過去代替原來的塊Bs就行了。d行對(duì)文件的第3次修改發(fā)生在塊B2和B3的分界處,結(jié)果使B2和B3之間的錨丟失,兩塊合并成為一個(gè)塊B,2。這時(shí)候的文件備份只需把塊Bi2備份過去代替原來的塊B2和B3。5.2、第二備份過程第二備份過程主要由存儲(chǔ)服務(wù)器作業(yè)工作線程在系統(tǒng)相對(duì)空閑的時(shí)候完成,其步驟為-(1)SS.'if(Jobx(tn).FileSet為空)轉(zhuǎn)(19),else從Jobx(tn).FileSet中取一個(gè)文件名Fi;(2)SS:為文件Fi創(chuàng)建內(nèi)存緩沖區(qū)Fi.Index,并在Fi.Index中創(chuàng)建R(FO,然后把chunkcache中的M(Fi)存到R(FO;(3)SS:if(chunkcache中沒有和Fj相關(guān)的元組)轉(zhuǎn)(14),else從chunkcache中讀取一個(gè)和Fi相關(guān)的元組;(4)SS:if(是〈Hj,offset〉),轉(zhuǎn)步驟(12);(5)SS:elseif(是<Hj,D(Hj)>){(6)SS:在hashtable中查詢Hj;(7)SS:if(找到)把"offset"值寫到indexcache中和的Hj對(duì)應(yīng)的表項(xiàng)中,轉(zhuǎn)步驟(12);(8)SS:else(把D(Hj)追加到磁盤日志,同時(shí)更新hashtable;(9)SS:把"offset,,值寫到indexcache中和的Hj對(duì)應(yīng)的表項(xiàng)中,轉(zhuǎn)步驟(12);(10)SS:elseif(是〈Hj,nu11〉)(11)SS:從indexcache中Hj對(duì)應(yīng)的表項(xiàng)中讀取"offset"值;(12)SS:insert(〈Hj,offset,0,F"Index);(13)SS:返回步驟(3);(14)SS:storeRemain(Fi.Index,R(Fi));(15)SS:把R(Fi)追加到磁盤日志,同時(shí)更新hashtable;(16)SS:把R(Fi)傳送給BS;(17)BS:把R(Fi)傳送到目錄數(shù)據(jù)庫(kù)并存儲(chǔ)在Jobx(tn).Record中;(18)SS:返回步驟(l);(19)SS:創(chuàng)建文件Job"UFF;(20)SS:讀indexcache,對(duì)每一個(gè)符合條件(tag==1000ortag二4100)的表項(xiàng),把〈H,offset〉寫到文件Jobx(tn).FF中;(21)SS:把文件Jobx(tn).FF傳送給BS;(22)BS:把文件Jobx(tn).FF傳送到目錄數(shù)據(jù)庫(kù)并存儲(chǔ)在Jobx(tn).Record中;(23)SS:向BS報(bào)告作業(yè)Job"tn)的結(jié)束狀態(tài);(24)BS:中斷和SS的連接,把作業(yè)Job"tn)的結(jié)束狀態(tài)寫到目錄數(shù)據(jù)庫(kù)的Job"tn).Record中,并結(jié)束作業(yè)Jobx(t。)運(yùn)行。在上述算法中,步驟(12)和(14)兩個(gè)函數(shù)的算法如下步驟(12)算法insert(<//,<^e/,砂e〉,/eve/,i^7wfe:c」(〃存儲(chǔ)三元組<//;Oi僑",0^e〉到F/wfec.〃/eve/:存儲(chǔ)三元組<//,0^e〉的索引結(jié)點(diǎn)在索引樹i^mfec中的層號(hào).if(I(F,/eve/)=0)(創(chuàng)建U7,/eve/)3E<//;c#ef,(v/e>存儲(chǔ)到U7,/eve/);返回;}elseif(Iw(F,/eve/)未滿){存儲(chǔ)q^試0;/e〉至廿Iw(F,/eve/)中;返回;}elseif(Iw(F,/eve/)已滿)(計(jì)算H(IwCF,/we/));在hashtable中査詢H(IW(F,/eve/));if未找到把IwCF,/eve/)追加到磁盤日志,同時(shí)更新hashtable;insert(<H(Iw(F,/eve/)),offset,/c>,/eve/+7,F/wfex:);創(chuàng)建一個(gè)新的索引結(jié)點(diǎn)(F,/eve/);存儲(chǔ)<//iq^W,&/7e〉到U^,/ew/)中;返回;步驟(14)算法storeRemain(i^/"tfex,i(F」)(〃把F/mfec中每一層的工作索引結(jié)點(diǎn)存儲(chǔ)到磁盤日志中.int/eve/:=0jloop:計(jì)算H(Iw(F,/eve/));在hashtable中査詢H(Iw(F,/eve/));if未找到把Iw(F,/ew/)追加到磁盤日志,同時(shí)更新hashtable;if(斷/—1=1){存儲(chǔ)〈H(Iw(F,/eve/)),/c>到返回;}else{insert(鄰Iw(F,/,/)),<#賦/c〉,/eve/:=/eve/+l;gotoloop;}權(quán)利要求1.一種基于指紋的數(shù)據(jù)備份系統(tǒng),包括備份服務(wù)器、備份代理、存儲(chǔ)服務(wù)器和Web服務(wù)器,它們通過網(wǎng)絡(luò)相互通信完成數(shù)據(jù)備份與恢復(fù),其特征在于所述備份服務(wù)器裝有配置文件和目錄數(shù)據(jù)庫(kù),備份服務(wù)器的配置文件中記錄用戶定義的作業(yè)對(duì)象,作業(yè)對(duì)象包含指定系統(tǒng)操作作業(yè)運(yùn)行的屬性,備份服務(wù)器通過作業(yè)對(duì)象控制著整個(gè)數(shù)據(jù)備份和恢復(fù)的過程;目錄數(shù)據(jù)庫(kù)存儲(chǔ)作業(yè)記錄,作業(yè)記錄保存作業(yè)對(duì)象運(yùn)行的管理信息;所述備份代理單元安裝于網(wǎng)絡(luò)中每一個(gè)需要備份數(shù)據(jù)的主機(jī)上,備份時(shí)由備份代理單元從所在主機(jī)的文件系統(tǒng)中讀取需要備份的文件,對(duì)文件進(jìn)行基于錨的分塊并計(jì)算分塊的指紋,把指紋和部分需要的分塊數(shù)據(jù)通過網(wǎng)絡(luò)送往存儲(chǔ)服務(wù)器;恢復(fù)時(shí)備份代理單元通過網(wǎng)絡(luò)從存儲(chǔ)服務(wù)器接收文件數(shù)據(jù)并寫到所在主機(jī)的文件系統(tǒng)中指定的目錄下;所述存儲(chǔ)服務(wù)器安裝有大容量磁盤陣列,大容量磁盤陣列是數(shù)據(jù)備份的目的地,備份時(shí)通過網(wǎng)絡(luò)從相應(yīng)的備份代理單元接收指紋或數(shù)據(jù)分塊,把數(shù)據(jù)分塊存儲(chǔ)到磁盤上,并建立文件的索引;恢復(fù)時(shí)則從大容量磁盤陣列根據(jù)文件索引重構(gòu)文件,并把文件數(shù)據(jù)通過網(wǎng)絡(luò)送到相應(yīng)的備份代理;所述Web服務(wù)器是本系統(tǒng)的B-S模式網(wǎng)頁(yè)用戶管理界面,通過登錄Web服務(wù)器,用戶既可以指定系統(tǒng)完成交互式的備份或恢復(fù)作業(yè)、監(jiān)視系統(tǒng)自動(dòng)調(diào)度型作業(yè)的運(yùn)行情況,還可以修改備份服務(wù)器的配置文件、定制作業(yè)對(duì)象,進(jìn)行設(shè)備管理。2.如權(quán)利要求1所述的基于指紋的數(shù)據(jù)備份系統(tǒng),其特征在于,所述備份服務(wù)器包括備份服務(wù)器初始化模塊、命令監(jiān)聽模塊、命令處理模塊、作業(yè)處理模塊和網(wǎng)絡(luò)通信模塊;所述備份服務(wù)初始化模塊執(zhí)行初始化工作,包括讀取配置文件、建立內(nèi)存中的資源鏈表、檢查目錄數(shù)據(jù)庫(kù)狀態(tài)、保證配置文件和目錄數(shù)據(jù)庫(kù)的數(shù)據(jù)一致性和完整性、啟動(dòng)命令監(jiān)控端口、接受來自Web服務(wù)器的用戶命令、初始化作業(yè)隊(duì)列和用戶命令隊(duì)列、向作業(yè)隊(duì)列中加載作業(yè)對(duì)象、啟動(dòng)作業(yè)和網(wǎng)絡(luò)監(jiān)控服務(wù);所述命令監(jiān)聽模塊是由系統(tǒng)生成的一個(gè)網(wǎng)絡(luò)監(jiān)聽線程,對(duì)Web服務(wù)器的連接請(qǐng)求進(jìn)行認(rèn)證,保證只有經(jīng)過系統(tǒng)授權(quán)的Web服務(wù)器才能連接系統(tǒng),監(jiān)聽已通過認(rèn)證的Web服務(wù)器發(fā)送來的命令請(qǐng)求;收到命令請(qǐng)求時(shí),將命令請(qǐng)求加入到用戶命令隊(duì)列中等待系統(tǒng)處理;所述命令處理模塊包括一個(gè)用戶命令隊(duì)列和N個(gè)命令工作線程,當(dāng)用戶命令隊(duì)列溢出時(shí),命令監(jiān)聽模塊轉(zhuǎn)入睡眠狀態(tài);這些命令工作線程不斷從用戶命令隊(duì)列中讀取命令并執(zhí)行,根據(jù)所執(zhí)行命令的不同完成不同的功能;當(dāng)命令監(jiān)聽模塊向用戶命令隊(duì)列中加入一個(gè)命令時(shí),如果當(dāng)前沒有空閑的命令工作線程且活躍的命令工作線程的數(shù)目沒有達(dá)到N時(shí),就生成一個(gè)新的命令工作線程;命令工作線程每次從用戶命令隊(duì)列中讀取命令時(shí)都檢查命令監(jiān)聽模塊的狀態(tài),如果其處于睡眠狀態(tài)則喚醒它;所述作業(yè)處理模塊包括一個(gè)作業(yè)隊(duì)列、L個(gè)作業(yè)工作線程和一個(gè)作業(yè)隊(duì)列加載線程,當(dāng)作業(yè)隊(duì)列發(fā)生溢出時(shí),作業(yè)隊(duì)列加載線程進(jìn)入睡眠狀態(tài);作業(yè)工作線程不斷從作業(yè)隊(duì)列中取作業(yè)對(duì)象并執(zhí)行,根據(jù)作業(yè)對(duì)象屬性的不同調(diào)用不同的資源、實(shí)現(xiàn)不同的功能;作業(yè)隊(duì)列加載線程進(jìn)行作業(yè)調(diào)度,檢查作業(yè)資源鏈中每個(gè)作業(yè)對(duì)象的調(diào)度策略屬性,把需要調(diào)度運(yùn)行的作業(yè)對(duì)象加入作業(yè)隊(duì)列中,如果當(dāng)前沒有空閑的作業(yè)工作線程且活躍的作業(yè)工作線程的數(shù)目沒有達(dá)到L時(shí),就生成一個(gè)新的作業(yè)工作線程;作業(yè)工作線程每次從作業(yè)隊(duì)列中讀取作業(yè)對(duì)象時(shí)都檢查作業(yè)隊(duì)列加載線程的狀態(tài),如果其處于睡眠狀態(tài)則喚醒它;所述網(wǎng)絡(luò)通信模塊把標(biāo)準(zhǔn)的網(wǎng)絡(luò)通信應(yīng)用編程接口進(jìn)行封裝,向命令工作線程和作業(yè)工作線程提供網(wǎng)絡(luò)通信接口,網(wǎng)絡(luò)通信接口實(shí)現(xiàn)備份服務(wù)器、備份代理和存儲(chǔ)服務(wù)器之間的數(shù)據(jù)傳輸協(xié)議。3.如權(quán)利要求1所述的基于指紋的數(shù)據(jù)備份系統(tǒng),其特征在于,所述備份代理包括備份代理初始化模塊、請(qǐng)求監(jiān)聽模塊、作業(yè)處理模塊、文件分塊模塊和網(wǎng)絡(luò)通信模塊;所述備份代理初始化模塊,執(zhí)行初始化工作,包括讀取備份代理配置文件、建立內(nèi)存資源鏈表、初始化作業(yè)隊(duì)列、啟動(dòng)備份服務(wù)器請(qǐng)求監(jiān)聽模塊;所述請(qǐng)求監(jiān)聽模塊監(jiān)聽網(wǎng)絡(luò)上備份服務(wù)器的連接請(qǐng)求,認(rèn)證連接的備份服務(wù)器,認(rèn)證通過后生成一個(gè)網(wǎng)絡(luò)連接套接字和此備份服務(wù)器通信并加入作業(yè)隊(duì)列中;所述作業(yè)處理模塊包括一個(gè)作業(yè)隊(duì)列和M個(gè)作業(yè)工作線程,當(dāng)作業(yè)隊(duì)列溢出時(shí),請(qǐng)求監(jiān)聽模塊轉(zhuǎn)入睡眠狀態(tài);作業(yè)工作線程從作業(yè)隊(duì)列中取出一個(gè)網(wǎng)絡(luò)連接套接字后,首先為作業(yè)建立一個(gè)作業(yè)控制記錄,把網(wǎng)絡(luò)連接套接字鏈入作業(yè)控制記錄的成員變量中,然后通過此網(wǎng)絡(luò)連接套接字和備份服務(wù)器交互,把備份服務(wù)器作業(yè)對(duì)象的有關(guān)屬性通過變換后賦值給作業(yè)控制記錄的相應(yīng)成員變量;然后用從備份服務(wù)器處得到的作業(yè)票據(jù)ticket連接相應(yīng)的存儲(chǔ)服務(wù)器,產(chǎn)生一個(gè)和存儲(chǔ)服務(wù)器通信的網(wǎng)絡(luò)連接套接字并將之鏈入作業(yè)控制記錄的成員變量中;當(dāng)請(qǐng)求監(jiān)聽模塊向作業(yè)隊(duì)列中加入一個(gè)網(wǎng)絡(luò)連接套接字時(shí),如果當(dāng)前沒有空閑的作業(yè)工作線程且活躍的作業(yè)工作線程的數(shù)目沒有達(dá)到M時(shí),就生成一個(gè)新的作業(yè)工作線程;作業(yè)工作線程每次從作業(yè)隊(duì)列中取一個(gè)網(wǎng)絡(luò)連接套接字時(shí)都檢查請(qǐng)求監(jiān)聽模塊的狀態(tài),如果其處于睡眠狀態(tài)則喚醒它;所述文件分塊模塊接受作業(yè)處理模塊中作業(yè)工作線程的命令執(zhí)行備份作業(yè)的文件分塊任務(wù),在客戶機(jī)文件系統(tǒng)上打開文件集中的每一個(gè)文件,對(duì)文件進(jìn)行基于錨的分塊并計(jì)算分塊指紋,和相應(yīng)的存儲(chǔ)服務(wù)器協(xié)調(diào)執(zhí)行第一備份過程的備份算法;所述網(wǎng)絡(luò)通信模塊由作業(yè)的網(wǎng)絡(luò)連接套接字組成,備份代理的每個(gè)作業(yè)都擁有兩個(gè)網(wǎng)絡(luò)連接套接字,分別用于和該作業(yè)對(duì)應(yīng)的備份服務(wù)器作業(yè)以及存儲(chǔ)服務(wù)器作業(yè)通信。4.如權(quán)利要求1所述的基于指紋的數(shù)據(jù)備份系統(tǒng),其特征在于,所述存儲(chǔ)服務(wù)器包括存儲(chǔ)服務(wù)器初始化模塊、連接監(jiān)控模塊、作業(yè)票據(jù)表、作業(yè)處理模塊和網(wǎng)絡(luò)通信模塊,以及索引緩沖區(qū)、分塊緩沖區(qū)、分塊哈希表和磁盤日志;所述存儲(chǔ)服務(wù)器初始化模塊執(zhí)行初始化工作,包括解析存儲(chǔ)服務(wù)器配置文件,建立內(nèi)存資源鏈表,啟動(dòng)相關(guān)服務(wù)線程;所述連接監(jiān)控模塊監(jiān)控備份服務(wù)器和備份代理的連接請(qǐng)求,對(duì)連接的備份服務(wù)器進(jìn)行認(rèn)證,認(rèn)證通過后生成一個(gè)網(wǎng)絡(luò)連接套接字和此備份服務(wù)器通信并加入作業(yè)隊(duì)列中;對(duì)連接的備份代理,則根據(jù)其出示的作業(yè)票據(jù)ticket檢査作業(yè)票據(jù)表以對(duì)其進(jìn)行認(rèn)證,認(rèn)證通過后生成一個(gè)網(wǎng)絡(luò)連接套接字和此備份代理通信并鏈接到相應(yīng)作業(yè)控制記錄的成員變量中;所述作業(yè)票據(jù)表用于存儲(chǔ)對(duì)備份代理作業(yè)進(jìn)行認(rèn)證的票據(jù);所述作業(yè)處理模塊包括一個(gè)作業(yè)隊(duì)列以及W個(gè)作業(yè)工作線程,當(dāng)作業(yè)隊(duì)列溢出時(shí),連接監(jiān)控模塊轉(zhuǎn)入"拒絕備份服務(wù)器連接請(qǐng)求"狀態(tài);作業(yè)工作線程從作業(yè)隊(duì)列中取出一個(gè)網(wǎng)絡(luò)連接套接字后,首先為作業(yè)建立一個(gè)作業(yè)控制記錄,把網(wǎng)絡(luò)連接套接字鏈入作業(yè)控制記錄的成員變量中,然后通過此網(wǎng)絡(luò)連接套接字和備份服務(wù)器交互,把備份服務(wù)器作業(yè)對(duì)象的有關(guān)屬性通過變換后賦值給作業(yè)控制記錄的相應(yīng)成員變量,并隨機(jī)生成一個(gè)作業(yè)票據(jù)ticket登記到作業(yè)票據(jù)表中且向備份服務(wù)器作業(yè)對(duì)象傳送此作業(yè)票據(jù)ticket;當(dāng)連接監(jiān)控模塊向作業(yè)隊(duì)列中加入一個(gè)網(wǎng)絡(luò)連接套接字時(shí),如果當(dāng)前沒有空閑的作業(yè)工作線程且活躍的作業(yè)工作線程的數(shù)目沒有達(dá)到W時(shí),就生成一個(gè)新的作業(yè)工作線程;作業(yè)工作線程每次從作業(yè)隊(duì)列中取一個(gè)網(wǎng)絡(luò)連接套接字時(shí)都檢查連接監(jiān)控模塊的狀態(tài),如果其處于"拒絕備份服務(wù)器連接請(qǐng)求"狀態(tài)則取消這種狀態(tài)以使它接受備份服務(wù)器連接請(qǐng)求;所述網(wǎng)絡(luò)通信模塊由作業(yè)的網(wǎng)絡(luò)連接套接字組成,存儲(chǔ)服務(wù)器的每個(gè)作業(yè)都擁有兩個(gè)網(wǎng)絡(luò)連接套接字,分別用于和該作業(yè)對(duì)應(yīng)的備份服務(wù)器作業(yè)以及備份代理作業(yè)通信;所述索引緩沖區(qū)是存儲(chǔ)服務(wù)器作業(yè)執(zhí)行第一備份過程和第二備份過程的基礎(chǔ)設(shè)施,索引緩沖區(qū)以一個(gè)內(nèi)存哈希表實(shí)現(xiàn),用于存儲(chǔ)本作業(yè)鏈中本作業(yè)實(shí)例J0bx(tn)的前一個(gè)作業(yè)實(shí)例j0b"U包含的所有指紋以及在本作業(yè)運(yùn)行過程中新生成的指紋;'所述分塊緩沖區(qū)是存儲(chǔ)服務(wù)器作業(yè)執(zhí)行第一備份過程和第二備份過程的基礎(chǔ)設(shè)施,分塊緩沖區(qū)以一個(gè)獨(dú)立的磁盤陣列實(shí)現(xiàn),用以臨時(shí)存儲(chǔ)第一備份過程中其指紋在索引緩沖區(qū)中沒有被找到的數(shù)據(jù)分塊;所述分塊哈希表是存儲(chǔ)服務(wù)器作業(yè)執(zhí)行第二備份過程的基礎(chǔ)設(shè)施,分塊哈希表以一個(gè)獨(dú)立的磁盤陣列實(shí)現(xiàn),用以建立分塊指紋到此分塊在磁盤日志的存儲(chǔ)地址的映射;所述磁盤日志是存儲(chǔ)服務(wù)器作業(yè)執(zhí)行第二備份過程的基礎(chǔ)設(shè)施,磁盤日志以一個(gè)獨(dú)立的磁盤陣列實(shí)現(xiàn),用以存儲(chǔ)數(shù)據(jù)分塊和以分塊形式存儲(chǔ)的文件索引。全文摘要一種基于指紋的數(shù)據(jù)備份系統(tǒng),屬于計(jì)算機(jī)存儲(chǔ)備份
            技術(shù)領(lǐng)域
            ,目的在于降低數(shù)據(jù)備份的管理、存儲(chǔ)以及網(wǎng)絡(luò)開銷,提高備份性能。本發(fā)明包括備份服務(wù)器、備份代理、存儲(chǔ)服務(wù)器和Web服務(wù)器,它們通過網(wǎng)絡(luò)相互通信完成數(shù)據(jù)備份與恢復(fù);本發(fā)明采用基于錨的文件分塊技術(shù)識(shí)別備份文件的冗余數(shù)據(jù),具有修改穩(wěn)定性,計(jì)算開銷小;數(shù)據(jù)分塊以其指紋為索引存儲(chǔ)在存儲(chǔ)服務(wù)器的磁盤陣列上,消除了冗余數(shù)據(jù)的備份,節(jié)省磁盤存儲(chǔ)空間;數(shù)據(jù)分塊一旦存儲(chǔ)就不再擦除,可以連續(xù)追加在磁盤上,消除了磁盤存儲(chǔ)碎片;采用有效的備份緩沖策略,減少了備份的網(wǎng)絡(luò)開銷,提高了數(shù)據(jù)備份速度,降低了備份對(duì)應(yīng)用服務(wù)器的影響。文檔編號(hào)G06F11/14GK101183323SQ20071016871公開日2008年5月21日申請(qǐng)日期2007年12月10日優(yōu)先權(quán)日2007年12月10日發(fā)明者丹馮,高劉,劉景寧,可周,航張,楊天明,牛中盈申請(qǐng)人:華中科技大學(xué)
            網(wǎng)友詢問留言 已有0條留言
            • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品