本發(fā)明屬于涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)云備份方法和系統(tǒng)。
背景技術(shù):
隨著信息技術(shù)的在廣泛的運(yùn)用,越來越多的重要數(shù)據(jù)以電子化的形式存儲(chǔ)和處理,而這種數(shù)據(jù)的存儲(chǔ)和處理方式雖然能夠提高便利性,但是卻很容易導(dǎo)致數(shù)據(jù)滅失。特別是隨著信息系統(tǒng)的持續(xù)性運(yùn)行,系統(tǒng)產(chǎn)生的數(shù)據(jù)量越來越大,因此對(duì)業(yè)務(wù)數(shù)據(jù)安全、數(shù)據(jù)訪問性能等要求越來越高。為滿足這些需求,存儲(chǔ)服務(wù)器的硬件配置要求也越來越高。數(shù)量越來越多,系統(tǒng)建設(shè)成本大幅增加,系統(tǒng)中由服務(wù)器造成單點(diǎn)故障和性能瓶頸,數(shù)據(jù)傳輸環(huán)節(jié)的增加,都影響系統(tǒng)性能和效率,影響整個(gè)系統(tǒng)的高效穩(wěn)定運(yùn)行。其中數(shù)據(jù)庫系統(tǒng)作為信息技術(shù)的基礎(chǔ),數(shù)據(jù)庫的安全可靠更是整個(gè)信息系統(tǒng)中非常重要的一個(gè)環(huán)節(jié);一旦數(shù)據(jù)庫故障則意味著整個(gè)信息系統(tǒng)都會(huì)面臨挑戰(zhàn),從而帶來嚴(yán)重的損失和后果。
為了提高整個(gè)系統(tǒng)的穩(wěn)定性,現(xiàn)在研究的重點(diǎn)都集中在如何在現(xiàn)有網(wǎng)絡(luò)環(huán)境對(duì)各種服務(wù)器進(jìn)行集中備份存儲(chǔ),以減少存儲(chǔ)服務(wù)器的數(shù)量,從而降低系統(tǒng)建設(shè)成本,減少系統(tǒng)中由服務(wù)器造成單點(diǎn)故障和性能瓶頸,減少數(shù)據(jù)傳輸環(huán)節(jié),提供系統(tǒng)性能和效率。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)中存在缺少高效備份解決方案的問題,本發(fā)明要解決的技術(shù)問題是提供一種有效且高效的數(shù)據(jù)云備份方法和系統(tǒng),以提高數(shù)據(jù)庫的可靠性。
為了解決上述問題,本發(fā)明實(shí)施例提出了一種數(shù)據(jù)云備份方法,包括:
通過正向持續(xù)復(fù)制,將生產(chǎn)服務(wù)器上數(shù)據(jù)庫的數(shù)據(jù)變化存儲(chǔ)到存儲(chǔ)介質(zhì)服務(wù)器,存儲(chǔ)介質(zhì)服務(wù)器將數(shù)據(jù)變化進(jìn)行保存后,再分發(fā)給對(duì)應(yīng)的容災(zāi)服務(wù)器;
當(dāng)生產(chǎn)服務(wù)器上數(shù)據(jù)庫無法繼續(xù)工作時(shí)使所述容災(zāi)服務(wù)器接管原有系統(tǒng),并從存儲(chǔ)介質(zhì)服務(wù)器存儲(chǔ)的指定的時(shí)間點(diǎn)之間的恢復(fù)期間內(nèi)的數(shù)據(jù)發(fā)送到生產(chǎn)服務(wù)器;
當(dāng)容災(zāi)服務(wù)器接管原有系統(tǒng)后產(chǎn)生的數(shù)據(jù)變化發(fā)送到存儲(chǔ)介質(zhì)服務(wù)器,存儲(chǔ)介質(zhì)服務(wù)器將數(shù)據(jù)變化進(jìn)行保存;
在恢復(fù)期間內(nèi)的數(shù)據(jù)恢復(fù)到生產(chǎn)服務(wù)器后,所述備份控制服務(wù)器將容災(zāi)服務(wù)器在接管原有系統(tǒng)后的數(shù)據(jù)變化發(fā)送到生產(chǎn)服務(wù)器。
進(jìn)一步的,所述存儲(chǔ)介質(zhì)服務(wù)器將數(shù)據(jù)變化存儲(chǔ)到日志卷。
進(jìn)一步的,所述備份控制服務(wù)器緩存每一分鐘的快照數(shù)據(jù)以在數(shù)據(jù)被破壞時(shí)利用所述快照數(shù)據(jù)恢復(fù)被損壞的數(shù)據(jù)。
進(jìn)一步的,所述方法在將從存儲(chǔ)介質(zhì)服務(wù)器存儲(chǔ)的指定的時(shí)間點(diǎn)之間的恢復(fù)期間內(nèi)的數(shù)據(jù)發(fā)送到生產(chǎn)服務(wù)器時(shí),還包括以下方法:
通過磁盤攔截程序和內(nèi)存刷新代理程序,與生產(chǎn)服務(wù)器與存儲(chǔ)介質(zhì)服務(wù)器之間進(jìn)行通訊以對(duì)數(shù)據(jù)傳輸?shù)挠布蘒/O操作進(jìn)行監(jiān)控,以使所述生產(chǎn)服務(wù)器與存儲(chǔ)介質(zhì)服務(wù)器之間的數(shù)據(jù)一致性進(jìn)行同步。
進(jìn)一步的,當(dāng)容災(zāi)服務(wù)器接管原有系統(tǒng)后,通過以下的方法進(jìn)行數(shù)據(jù)一致性同步:
當(dāng)容災(zāi)服務(wù)器為單一服務(wù)器時(shí),容災(zāi)服務(wù)器將接管原有系統(tǒng)后產(chǎn)生的數(shù)據(jù)變化存儲(chǔ)到存儲(chǔ)介質(zhì)服務(wù)器,存儲(chǔ)介質(zhì)服務(wù)器將數(shù)據(jù)變化進(jìn)行保存,并在生產(chǎn)服務(wù)器完成恢復(fù)期間內(nèi)的數(shù)據(jù)變化發(fā)送到生產(chǎn)服務(wù)器;
當(dāng)容災(zāi)服務(wù)器為多冗余容災(zāi)服務(wù)器集群時(shí),如果接管原有系統(tǒng)的為本地容災(zāi)服務(wù)器,則該本地容災(zāi)服務(wù)器將產(chǎn)生數(shù)據(jù)變化存儲(chǔ)到本地存儲(chǔ)介質(zhì)服務(wù)器,并將數(shù)據(jù)變化復(fù)制到遠(yuǎn)程存儲(chǔ)介質(zhì)服務(wù)器;如果接管原有系統(tǒng)的為遠(yuǎn)程容災(zāi)服務(wù)器,則該遠(yuǎn)程容災(zāi)服務(wù)器將產(chǎn)生數(shù)據(jù)變化存儲(chǔ)到遠(yuǎn)程存儲(chǔ)介質(zhì)服務(wù)器,并將數(shù)據(jù)變化復(fù)制到生產(chǎn)服務(wù)器本地的本地存儲(chǔ)介質(zhì)服務(wù)器上。
進(jìn)一步的,所述方法還包括:通過以下方法將存儲(chǔ)介質(zhì)服務(wù)器上的重復(fù)數(shù)據(jù)進(jìn)行刪除:
存儲(chǔ)介質(zhì)服務(wù)器在接收到數(shù)據(jù)后,為每一數(shù)據(jù)根據(jù)哈希算法生成指紋;在所有存儲(chǔ)介質(zhì)服務(wù)器中進(jìn)行檢索以判斷是否有相同指紋的數(shù)據(jù),如果有則刪除。
進(jìn)一步的,所述從存儲(chǔ)介質(zhì)服務(wù)器存儲(chǔ)的指定的時(shí)間點(diǎn)之間的恢復(fù)期間內(nèi)的數(shù)據(jù)發(fā)送到生產(chǎn)服務(wù)器,具體包括;采用基于I/O的Seldata恢復(fù)技術(shù)將有缺失的數(shù)據(jù)采用增量備份的方式恢復(fù)到生產(chǎn)服務(wù)器。
同時(shí),本發(fā)明實(shí)施例提出了一種用于執(zhí)行如前任一項(xiàng)所述的數(shù)據(jù)云備份方法的數(shù)據(jù)云備份系統(tǒng),包括生產(chǎn)服務(wù)器、存儲(chǔ)介質(zhì)服務(wù)器、容災(zāi)服務(wù)器、備份控制服務(wù)器;其中所述備份控制服務(wù)器同時(shí)連接所述生產(chǎn)服務(wù)器、容災(zāi)服務(wù)器、存儲(chǔ)介質(zhì)服務(wù)器;
其中所述備份控制服務(wù)器用于通過正向持續(xù)復(fù)制,將生產(chǎn)服務(wù)器上數(shù)據(jù)庫的數(shù)據(jù)變化存儲(chǔ)到存儲(chǔ)介質(zhì)服務(wù)器,存儲(chǔ)介質(zhì)服務(wù)器將數(shù)據(jù)變化進(jìn)行保存后,再分發(fā)給對(duì)應(yīng)的容災(zāi)服務(wù)器;
所述備份控制服務(wù)器還用于當(dāng)生產(chǎn)服務(wù)器數(shù)據(jù)庫無法繼續(xù)工作時(shí)使所述容災(zāi)服務(wù)器接管原有系統(tǒng),并從存儲(chǔ)介質(zhì)服務(wù)器存儲(chǔ)的指定的時(shí)間點(diǎn)之間的恢復(fù)期間內(nèi)的數(shù)據(jù)發(fā)送到生產(chǎn)服務(wù)器;
所述備份控制服務(wù)器還用于當(dāng)容災(zāi)服務(wù)器接管原有系統(tǒng)后產(chǎn)生的數(shù)據(jù)變化發(fā)送到存儲(chǔ)介質(zhì)服務(wù)器,存儲(chǔ)介質(zhì)服務(wù)器將數(shù)據(jù)變化進(jìn)行保存;且在恢復(fù)期間內(nèi)的數(shù)據(jù)恢復(fù)到生產(chǎn)服務(wù)器后,所述備份控制服務(wù)器將容災(zāi)服務(wù)器在接管原有系統(tǒng)后的數(shù)據(jù)變化發(fā)送到生產(chǎn)服務(wù)器。
本發(fā)明的上述技術(shù)方案的有益效果如下:上述的技術(shù)方案相比較現(xiàn)有技術(shù)具有以下優(yōu)勢(shì):
避免數(shù)據(jù)的丟失:通過持續(xù)數(shù)據(jù)保護(hù),確保數(shù)據(jù)庫的每一個(gè)變化都實(shí)時(shí)地復(fù)制到存儲(chǔ)介質(zhì)服務(wù)器端,一旦出現(xiàn)災(zāi)難,數(shù)據(jù)丟失量將在一個(gè)未完成的事務(wù)級(jí)別。
消除系統(tǒng)的宕機(jī)時(shí)間:通過容災(zāi)服務(wù)器的災(zāi)難恢復(fù),可在極短的時(shí)間內(nèi)還原數(shù)據(jù)庫系統(tǒng),消除了系統(tǒng)的宕機(jī)時(shí)間。
降低業(yè)務(wù)風(fēng)險(xiǎn):通過容災(zāi)方案,確保數(shù)據(jù)庫的可持續(xù)性運(yùn)行,極大的降低業(yè)務(wù)的運(yùn)營風(fēng)險(xiǎn)。
節(jié)約成本:簡(jiǎn)化的容災(zāi)方案,減少數(shù)據(jù)庫可用性的維護(hù)時(shí)間,并且通過避免數(shù)據(jù)丟失和消除宕機(jī)時(shí)間,減少數(shù)據(jù)庫系統(tǒng)故障所產(chǎn)生的經(jīng)濟(jì)損失。
持續(xù)數(shù)據(jù)保護(hù):不受點(diǎn)數(shù)影響的快照技術(shù),基于I/O的數(shù)據(jù)傳輸模式,實(shí)現(xiàn)了真正的持續(xù)數(shù)據(jù)保護(hù)。
可對(duì)數(shù)據(jù)進(jìn)行離線歸檔存儲(chǔ):云備份數(shù)據(jù)柜可以直接連接物理磁帶庫,對(duì)數(shù)據(jù)進(jìn)行離線歸檔保存。
支持備份過程審計(jì)、統(tǒng)計(jì)出每臺(tái)服務(wù)器流量及軟件使用所占比率分析圖,審查備份網(wǎng)絡(luò)使用情況。
可與虛擬化功能結(jié)合,將容災(zāi)服務(wù)器直接部署在云備份服務(wù)器上。
在容災(zāi)服務(wù)器接管期間,容災(zāi)服務(wù)器上的數(shù)據(jù)變化可反向復(fù)制到生產(chǎn)服務(wù)器中。
支持存儲(chǔ)介質(zhì)服務(wù)器日志卷復(fù)制到一個(gè)或多個(gè)存儲(chǔ)介質(zhì)服務(wù)器,提供級(jí)聯(lián)復(fù)制。
附圖說明
圖1為本發(fā)明實(shí)施例的數(shù)據(jù)容災(zāi)總體結(jié)構(gòu)圖;
圖2為本發(fā)明實(shí)施例的業(yè)務(wù)數(shù)據(jù)恢復(fù)流程圖;
圖3為本發(fā)明實(shí)施例的業(yè)務(wù)數(shù)據(jù)備份流程圖。
具體實(shí)施方式
為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述。
隨著技術(shù)的發(fā)展,現(xiàn)有技術(shù)中已經(jīng)能夠提供用于實(shí)施本發(fā)明的以下技術(shù):
1、寬帶網(wǎng)絡(luò)的發(fā)展;
真正的云存儲(chǔ)系統(tǒng)將會(huì)是一個(gè)多區(qū)域分布、遍布全國、甚至于遍布全球的龐大公用系統(tǒng),使用者需要通過ADSL、DDN等寬帶接入設(shè)備來連接云存儲(chǔ),而不是通過FC、SCSI或以太網(wǎng)線纜直接連接一臺(tái)獨(dú)立的、私有的存儲(chǔ)設(shè)備上。只有寬帶網(wǎng)絡(luò)得到充足的發(fā)展,使用者才有可能獲得足夠大的數(shù)據(jù)傳輸帶寬,實(shí)現(xiàn)大量容量數(shù)據(jù)的傳輸,真正享受到云存儲(chǔ)服務(wù)。
2、WEB2.0技術(shù):
Web2.0技術(shù)的核心是分享。只有通過web2.0技術(shù),云存儲(chǔ)的使用者才有可能通過PC、手機(jī)、移動(dòng)多媒體等多種設(shè)備,實(shí)現(xiàn)數(shù)據(jù)、文檔、圖片和視音頻等內(nèi)容的集中存儲(chǔ)和資料共享。Web2.0技術(shù)的發(fā)展使得使用者的應(yīng)用方式和可得服務(wù)更加靈活和多樣。
3、應(yīng)用存儲(chǔ)的發(fā)展:
云存儲(chǔ)不僅僅是存儲(chǔ),更多的是應(yīng)用。應(yīng)用存儲(chǔ)是一種在存儲(chǔ)設(shè)備中集成了應(yīng)用軟件功能的存儲(chǔ)設(shè)備,它不僅具有數(shù)據(jù)存儲(chǔ)功能,還具有應(yīng)用軟件功能,可以看作是服務(wù)器和存儲(chǔ)設(shè)備的集合體。應(yīng)用存儲(chǔ)技術(shù)的發(fā)展可以大量減少云存儲(chǔ)中服務(wù)器的數(shù)量,從而降低系統(tǒng)建設(shè)成本,減少系統(tǒng)中由服務(wù)器造成單點(diǎn)故障和性能瓶頸,減少數(shù)據(jù)傳輸環(huán)節(jié),提供系統(tǒng)性能和效率,保證整個(gè)系統(tǒng)的高效穩(wěn)定運(yùn)行。
4、集群技術(shù)、網(wǎng)格技術(shù)和分布式文件系統(tǒng):
云存儲(chǔ)系統(tǒng)是一個(gè)多存儲(chǔ)設(shè)備、多應(yīng)用、多服務(wù)協(xié)同工作的集合體,任何一個(gè)單點(diǎn)的存儲(chǔ)系統(tǒng)都不是云存儲(chǔ)。既然是由多個(gè)存儲(chǔ)設(shè)備構(gòu)成的,不同存儲(chǔ)設(shè)備之間就需要通過集群技術(shù)、分布式文件系統(tǒng)和網(wǎng)格計(jì)算等技術(shù),實(shí)現(xiàn)多個(gè)存儲(chǔ)設(shè)備之間的協(xié)同工作,使多個(gè)的存儲(chǔ)設(shè)備可以對(duì)外提供同一種服務(wù),并提供更大更強(qiáng)更好的數(shù)據(jù)訪問性能。如果沒有這些技術(shù)的存在,云存儲(chǔ)就不可能真正實(shí)現(xiàn),所謂的云存儲(chǔ)只能是一個(gè)一個(gè)的獨(dú)立系統(tǒng),不能形成云狀結(jié)構(gòu)。
5、CDN內(nèi)容分發(fā)、P2P技術(shù)、數(shù)據(jù)壓縮技術(shù)、重復(fù)數(shù)據(jù)刪除技術(shù)、數(shù)據(jù)加密技術(shù):
CDN內(nèi)容分發(fā)系統(tǒng)、數(shù)據(jù)加密技術(shù)保證云存儲(chǔ)中的數(shù)據(jù)不會(huì)被未授權(quán)的用戶所訪問,同時(shí),通過各種數(shù)據(jù)備份和容災(zāi)技術(shù)保證云存儲(chǔ)中的數(shù)據(jù)不會(huì)丟失,保證云存儲(chǔ)自身的安全和穩(wěn)定。
6、存儲(chǔ)虛擬化技術(shù)、存儲(chǔ)網(wǎng)絡(luò)化管理技術(shù)
云存儲(chǔ)中的存儲(chǔ)設(shè)備數(shù)量龐大且分布在多不同地域,如何實(shí)現(xiàn)不同廠商、不同型號(hào)甚至于不同類型(如FC存儲(chǔ)和IP存儲(chǔ))的多臺(tái)設(shè)備之間的邏輯卷管理、存儲(chǔ)虛擬化管理和多鏈路冗余管理將會(huì)是一個(gè)巨大的難題,這個(gè)問題得不到解決,存儲(chǔ)設(shè)備就會(huì)是整個(gè)云存儲(chǔ)系統(tǒng)的性能瓶頸,結(jié)構(gòu)上也無法形成一個(gè)整體,而且還會(huì)帶來后期容量和性能擴(kuò)展難等問題。
本發(fā)明實(shí)施例的數(shù)據(jù)容災(zāi)結(jié)構(gòu)圖如圖1所示,云備份數(shù)據(jù)柜(即備份控制服務(wù)器)通過網(wǎng)絡(luò)與需要備份服務(wù)的服務(wù)器聯(lián)通。備份數(shù)據(jù)柜提供網(wǎng)絡(luò)存儲(chǔ)時(shí),實(shí)時(shí)復(fù)制模塊首先是通過正向持續(xù)復(fù)制,持續(xù)地備份生產(chǎn)服務(wù)器上的數(shù)據(jù)庫的變化,并將變化同步或異步地傳輸?shù)酱鎯?chǔ)介質(zhì)服務(wù)器的日志卷和容災(zāi)服務(wù)器的數(shù)據(jù)卷,數(shù)據(jù)備份流程圖如圖3所示。當(dāng)災(zāi)難發(fā)生時(shí),災(zāi)難恢復(fù)模塊首先通知容災(zāi)服務(wù)器接管原有系統(tǒng),然后從存儲(chǔ)介質(zhì)服務(wù)器上恢復(fù)指定的時(shí)間點(diǎn)到生產(chǎn)服務(wù)器,時(shí)間點(diǎn)恢復(fù)期間,數(shù)據(jù)是直接從存儲(chǔ)介質(zhì)服務(wù)器流向生產(chǎn)服務(wù)器,不需要容災(zāi)服務(wù)器參與,業(yè)務(wù)數(shù)據(jù)恢復(fù)流程圖如圖2所示。在容災(zāi)服務(wù)器接管生產(chǎn)服務(wù)器期間,會(huì)產(chǎn)生新的數(shù)據(jù)變化,容災(zāi)服務(wù)器首先將這些變化復(fù)制到存儲(chǔ)介質(zhì)服務(wù)器,存儲(chǔ)介質(zhì)服務(wù)器將其保存到日志卷。當(dāng)存儲(chǔ)介質(zhì)服務(wù)器完成時(shí)間點(diǎn)恢復(fù)后,將系統(tǒng)從容災(zāi)服務(wù)器切換到生產(chǎn)服務(wù)器時(shí),期間會(huì)將容災(zāi)服務(wù)器變化的數(shù)據(jù)從日志卷上恢復(fù)到生產(chǎn)服務(wù)器,從而達(dá)到容災(zāi)服務(wù)器和生產(chǎn)服務(wù)器在接管期間數(shù)據(jù)的一致性。
本發(fā)明實(shí)施例可以利用這些基礎(chǔ)技術(shù)來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的云備份。具體的,本發(fā)明實(shí)施例提出了一種數(shù)據(jù)云備份方法和系統(tǒng)。本發(fā)明實(shí)施例的數(shù)據(jù)云備份方法和系統(tǒng),基于持續(xù)數(shù)據(jù)保護(hù)(CDP)技術(shù),內(nèi)置數(shù)據(jù)備份模塊、災(zāi)難恢復(fù)模塊、數(shù)據(jù)歸檔模塊、云存儲(chǔ)模塊,可持續(xù)地備份生產(chǎn)服務(wù)器上的數(shù)據(jù)庫系統(tǒng)的變化,并將變化同步或異步地傳輸?shù)酱鎯?chǔ)介質(zhì)服務(wù)器的日志卷和容災(zāi)服務(wù)器的數(shù)據(jù)卷上。
當(dāng)災(zāi)難發(fā)生時(shí),可通過容災(zāi)服務(wù)器接管原有系統(tǒng),并從存儲(chǔ)介質(zhì)服務(wù)器上恢復(fù)任意時(shí)間點(diǎn)到生產(chǎn)服務(wù)器,達(dá)到系統(tǒng)數(shù)據(jù)容災(zāi)RPO和RTO最低的目標(biāo)。云備份數(shù)據(jù)柜提供網(wǎng)絡(luò)存儲(chǔ)時(shí),實(shí)時(shí)復(fù)制模塊首先是通過正向持續(xù)復(fù)制,將生產(chǎn)服務(wù)器上數(shù)據(jù)庫的數(shù)據(jù)變化復(fù)制到存儲(chǔ)介質(zhì)服務(wù)器,存儲(chǔ)介質(zhì)服務(wù)器保存數(shù)據(jù)到日志卷;然后存儲(chǔ)介質(zhì)服務(wù)器再將數(shù)據(jù)分發(fā)到對(duì)應(yīng)的容災(zāi)服務(wù)器。當(dāng)災(zāi)難發(fā)生時(shí),生產(chǎn)服務(wù)器無法繼續(xù)運(yùn)行,災(zāi)難恢復(fù)模塊首先通知容災(zāi)服務(wù)器接管原有系統(tǒng),然后從存儲(chǔ)介質(zhì)服務(wù)器上恢復(fù)指定的時(shí)間點(diǎn)到生產(chǎn)服務(wù)器,時(shí)間點(diǎn)恢復(fù)期間,數(shù)據(jù)是直接從存儲(chǔ)介質(zhì)服務(wù)器流向生產(chǎn)服務(wù)器,不需要容災(zāi)服務(wù)器參與。在容災(zāi)服務(wù)器接管生產(chǎn)服務(wù)器期間,會(huì)產(chǎn)生新的數(shù)據(jù)變化,容災(zāi)服務(wù)器首先將這些變化復(fù)制到存儲(chǔ)介質(zhì)服務(wù)器,存儲(chǔ)介質(zhì)服務(wù)器將其保存到日志卷。當(dāng)存儲(chǔ)介質(zhì)服務(wù)器完成時(shí)間點(diǎn)恢復(fù)后,將數(shù)據(jù)庫系統(tǒng)從容災(zāi)服務(wù)器切換到生產(chǎn)服務(wù)器時(shí),期間會(huì)將容災(zāi)服務(wù)器變化的數(shù)據(jù)從日志卷上恢復(fù)到生產(chǎn)服務(wù)器,從而達(dá)到容災(zāi)服務(wù)器和生產(chǎn)服務(wù)器在接管期間的一致性。上述方法保證了業(yè)務(wù)數(shù)據(jù)的全生命周期安全,可以提供數(shù)據(jù)容災(zāi)功能,通過“云”對(duì)各級(jí)服務(wù)器提供數(shù)據(jù)安全服務(wù)。
本發(fā)明實(shí)施例用到了以下關(guān)鍵技術(shù):
1、數(shù)據(jù)庫實(shí)時(shí)復(fù)制技術(shù):
數(shù)據(jù)庫實(shí)時(shí)復(fù)制技術(shù)基于數(shù)據(jù)分離器(Data Separator)來實(shí)現(xiàn)的。數(shù)據(jù)分離器是一個(gè)系統(tǒng)驅(qū)動(dòng)程序,運(yùn)行在生產(chǎn)服務(wù)器上,其主要功能是將數(shù)據(jù)庫變化的數(shù)據(jù)分離,以便變化數(shù)據(jù)能夠同時(shí)寫入生產(chǎn)存儲(chǔ)和傳輸?shù)酱鎯?chǔ)介質(zhì)服務(wù)器端。
2、數(shù)據(jù)庫一致性技術(shù):
對(duì)于數(shù)據(jù)庫,恢復(fù)到任意時(shí)間點(diǎn)時(shí)需要處理數(shù)據(jù)庫的一致性。對(duì)于數(shù)據(jù)一致性的算法,通常分為啟發(fā)式一致性(heuristic consistency)和前攝式一致性(proactiveconsistency)兩種。啟發(fā)式一致性是指數(shù)據(jù)分離器通過文件系統(tǒng)能提高相關(guān)信息,判斷應(yīng)用程序的一致性狀態(tài),然后在日志卷中標(biāo)記相關(guān)信息,從而保證時(shí)間點(diǎn)恢復(fù)的數(shù)據(jù)一致性。而前攝式一致性(proactive consistency),則是通過數(shù)據(jù)庫程序的API讓數(shù)據(jù)庫處于一致性狀態(tài),然后在恢復(fù)日志中插入標(biāo)記。前攝式一致性與啟發(fā)式一致性最大的區(qū)別在于時(shí)間點(diǎn)粒度,啟發(fā)式一致性保證不會(huì)修改數(shù)據(jù)庫狀態(tài),所以可以達(dá)到更小的時(shí)間點(diǎn)粒度。針對(duì)數(shù)據(jù)庫系統(tǒng)的特殊性,云備份數(shù)據(jù)柜集成數(shù)據(jù)庫智能聯(lián)動(dòng)技術(shù),通過磁盤攔截程序和內(nèi)存刷新Agent與系統(tǒng)和數(shù)據(jù)庫溝通,對(duì)硬件I/O操作進(jìn)行監(jiān)控傳輸,對(duì)數(shù)據(jù)庫進(jìn)行全方位監(jiān)控、同步,保證所有數(shù)據(jù)的一致性保證了數(shù)據(jù)庫備份的完整性。
3、接管數(shù)據(jù)一致性技術(shù):
當(dāng)災(zāi)難發(fā)生后啟用容災(zāi)服務(wù)器接管業(yè)務(wù),需要重點(diǎn)考慮的是在接管期間,容災(zāi)服務(wù)器上變化數(shù)據(jù)如何確保與生產(chǎn)服務(wù)器之間的一致性。災(zāi)難恢復(fù)模塊對(duì)于接管數(shù)據(jù)一致性處理,包括三種情況,分別是單一容災(zāi)站點(diǎn)一致性、多冗余容災(zāi)站點(diǎn)(級(jí)聯(lián)復(fù)制)一致性、模擬演習(xí)一致性。在單一容災(zāi)站點(diǎn)接管模型下,若容災(zāi)服務(wù)器已接管了生產(chǎn)服務(wù)器,并開始提供業(yè)務(wù)服務(wù),則會(huì)在容災(zāi)服務(wù)器上產(chǎn)生數(shù)據(jù),容災(zāi)服務(wù)器將產(chǎn)生的數(shù)據(jù)實(shí)時(shí)復(fù)制到存儲(chǔ)柜的存儲(chǔ)介質(zhì)服務(wù)器上,存儲(chǔ)介質(zhì)服務(wù)器將數(shù)據(jù)緩存到日志卷,并在生產(chǎn)服務(wù)器完成時(shí)間點(diǎn)恢復(fù)后將從日志卷中恢復(fù)變化數(shù)據(jù)到對(duì)應(yīng)的生產(chǎn)服務(wù)器。在多冗余容災(zāi)站點(diǎn)接管模型下,若容災(zāi)服務(wù)器已接管了生產(chǎn)服務(wù)器,并開始提供業(yè)務(wù)服務(wù),則會(huì)在容災(zāi)服務(wù)器上產(chǎn)生數(shù)據(jù)。如果是本地容災(zāi)站點(diǎn)接管,本地容災(zāi)服務(wù)器將產(chǎn)生的數(shù)據(jù)實(shí)時(shí)復(fù)制到本地存儲(chǔ)介質(zhì)服務(wù)器上,本地存儲(chǔ)介質(zhì)服務(wù)器再緩存數(shù)據(jù)到日志卷,并且將變化的數(shù)據(jù)復(fù)制到遠(yuǎn)程存儲(chǔ)介質(zhì)服務(wù)器上,在生產(chǎn)服務(wù)器完成時(shí)間點(diǎn)恢復(fù)后將從日志卷中恢復(fù)變化數(shù)據(jù)到對(duì)應(yīng)的生產(chǎn)服務(wù)器。如果是遠(yuǎn)程容災(zāi)站點(diǎn)接管,遠(yuǎn)程容災(zāi)服務(wù)器將產(chǎn)生的數(shù)據(jù)實(shí)時(shí)復(fù)制到遠(yuǎn)程存儲(chǔ)介質(zhì)服務(wù)器上,遠(yuǎn)程存儲(chǔ)介質(zhì)服務(wù)器緩存數(shù)據(jù)到日志卷,遠(yuǎn)程存儲(chǔ)介質(zhì)服務(wù)器再將數(shù)據(jù)復(fù)制到本地存儲(chǔ)介質(zhì)服務(wù)器上,在本地存儲(chǔ)介質(zhì)服務(wù)器上,首先是將數(shù)據(jù)復(fù)制到其它未一致的存儲(chǔ)介質(zhì)服務(wù)器上,然后在生產(chǎn)服務(wù)器完成時(shí)間點(diǎn)恢復(fù)后將從日志卷中恢復(fù)變化數(shù)據(jù)到對(duì)應(yīng)的生產(chǎn)服務(wù)器。在模擬演習(xí)驗(yàn)證容災(zāi)服務(wù)器時(shí),期間將會(huì)導(dǎo)致數(shù)據(jù)庫發(fā)生變化,因此演習(xí)完成后需要將容災(zāi)服務(wù)器數(shù)據(jù)保持一致,其過程是通過存儲(chǔ)介質(zhì)服務(wù)器將差異的數(shù)據(jù)恢復(fù)到容災(zāi)服務(wù)器中。
4、重復(fù)數(shù)據(jù)刪除技術(shù):
重復(fù)數(shù)據(jù)刪除是一種數(shù)據(jù)壓縮技術(shù),可在存儲(chǔ)介質(zhì)服務(wù)器端將各時(shí)間點(diǎn)的重復(fù)數(shù)據(jù)以及不同源系統(tǒng)中的重復(fù)數(shù)據(jù)進(jìn)行識(shí)別,并將重復(fù)的數(shù)據(jù)只在存儲(chǔ)介質(zhì)服務(wù)器上保存一份的壓縮技術(shù)。重復(fù)數(shù)據(jù)刪除技術(shù)方案包括在線重復(fù)數(shù)據(jù)刪除和事后重復(fù)數(shù)據(jù)刪除,在線重復(fù)數(shù)據(jù)刪除是指在數(shù)據(jù)保存過程中就進(jìn)行壓縮刪除,后事重復(fù)數(shù)據(jù)刪除則是將數(shù)據(jù)保存到介質(zhì)上后,在介質(zhì)端比較空閑時(shí),再將數(shù)據(jù)讀取進(jìn)行壓縮刪除。采用在線重復(fù)數(shù)據(jù)刪除方案,它在存儲(chǔ)介質(zhì)服務(wù)器端執(zhí)行,當(dāng)實(shí)時(shí)復(fù)制的數(shù)據(jù)塊傳輸?shù)酱鎯?chǔ)介質(zhì)服務(wù)器端,存儲(chǔ)介質(zhì)服務(wù)器執(zhí)行哈希算法,為數(shù)據(jù)塊生成一指紋(Fingerprint),并在全局?jǐn)?shù)據(jù)指紋區(qū)尋找相同的指紋,如果存在相同指紋,則表示已保存了相同的數(shù)據(jù)塊,存儲(chǔ)介質(zhì)服務(wù)器則不再保存此數(shù)據(jù)塊,而是引用已存在的數(shù)據(jù)塊。
5、Seldata恢復(fù)技術(shù):
在進(jìn)行時(shí)間點(diǎn)恢復(fù)時(shí),由于實(shí)時(shí)復(fù)制采用數(shù)據(jù)分離器實(shí)時(shí)的把數(shù)據(jù)塊復(fù)制到存儲(chǔ)介質(zhì)服務(wù)器上,而應(yīng)用數(shù)據(jù)庫數(shù)據(jù)塊的變化存在無序性,為了保證數(shù)據(jù)恢復(fù)后的數(shù)據(jù)庫一致性,因此業(yè)內(nèi)通常僅支持完全恢復(fù),即每次時(shí)間點(diǎn)恢復(fù)時(shí),將此時(shí)間點(diǎn)狀態(tài)下所有的數(shù)據(jù)塊都逐一恢復(fù)到生產(chǎn)服務(wù)器上。完全恢復(fù)導(dǎo)致時(shí)間點(diǎn)恢復(fù)花費(fèi)的時(shí)間較長(zhǎng),因此云數(shù)據(jù)柜提供基于I/O的Seldata恢復(fù)技術(shù),它是在重復(fù)數(shù)據(jù)刪除技術(shù)之上所提供的一種增量恢復(fù)算法。對(duì)于生產(chǎn)服務(wù)器原數(shù)據(jù)庫文件未丟失時(shí),通過時(shí)間點(diǎn)的I/O對(duì)比,僅恢復(fù)差異的數(shù)據(jù)塊,從而大大提高了恢復(fù)速度。備注:Seldata恢復(fù)僅在重復(fù)數(shù)據(jù)刪除模塊啟用后有效。
利用上述關(guān)鍵技術(shù),本發(fā)明實(shí)施提出了一種數(shù)據(jù)云備份方法和系統(tǒng)。當(dāng)災(zāi)難發(fā)生時(shí),災(zāi)難恢復(fù)模塊首先通知容災(zāi)服務(wù)器接管原有系統(tǒng),然后從存儲(chǔ)介質(zhì)服務(wù)器上恢復(fù)指定的時(shí)間點(diǎn)到生產(chǎn)服務(wù)器,時(shí)間點(diǎn)恢復(fù)期間,數(shù)據(jù)是直接從存儲(chǔ)介質(zhì)服務(wù)器流向生產(chǎn)服務(wù)器,不需要容災(zāi)服務(wù)器參與,業(yè)務(wù)數(shù)據(jù)恢復(fù)流程圖如圖2所示。在容災(zāi)服務(wù)器接管生產(chǎn)服務(wù)器期間,會(huì)產(chǎn)生新的數(shù)據(jù)變化,容災(zāi)服務(wù)器首先將這些變化復(fù)制到存儲(chǔ)介質(zhì)服務(wù)器,存儲(chǔ)介質(zhì)服務(wù)器將其保存到日志卷。當(dāng)存儲(chǔ)介質(zhì)服務(wù)器完成時(shí)間點(diǎn)恢復(fù)后,將系統(tǒng)從容災(zāi)服務(wù)器切換到生產(chǎn)服務(wù)器時(shí),期間會(huì)將容災(zāi)服務(wù)器變化的數(shù)據(jù)從日志卷上恢復(fù)到生產(chǎn)服務(wù)器,從而達(dá)到容災(zāi)服務(wù)器和生產(chǎn)服務(wù)器在接管期間的一致性。
基于云計(jì)算技術(shù)的云備份數(shù)據(jù)柜,相對(duì)于傳統(tǒng)的數(shù)據(jù)備份,其技術(shù)優(yōu)勢(shì)包括:
避免數(shù)據(jù)的丟失:通過持續(xù)數(shù)據(jù)保護(hù),確保數(shù)據(jù)庫的每一個(gè)變化都實(shí)時(shí)地復(fù)制到存儲(chǔ)介質(zhì)服務(wù)器端,一旦出現(xiàn)災(zāi)難,數(shù)據(jù)丟失量將在一個(gè)未完成的事務(wù)級(jí)別。
消除系統(tǒng)的宕機(jī)時(shí)間:通過容災(zāi)服務(wù)器的災(zāi)難恢復(fù),可在極短的時(shí)間內(nèi)還原業(yè)務(wù)系統(tǒng),消除了系統(tǒng)的宕機(jī)時(shí)間。
降低業(yè)務(wù)風(fēng)險(xiǎn):通過容災(zāi)方案,確保業(yè)務(wù)系統(tǒng)的可持續(xù)性運(yùn)行,極大的降低業(yè)務(wù)的運(yùn)營風(fēng)險(xiǎn)。
節(jié)約成本:簡(jiǎn)化的容災(zāi)方案,減少系統(tǒng)可用性的維護(hù)時(shí)間,并且通過避免數(shù)據(jù)丟失和消除宕機(jī)時(shí)間,減少系統(tǒng)故障所產(chǎn)生的經(jīng)濟(jì)損失。
持續(xù)數(shù)據(jù)保護(hù):不受點(diǎn)數(shù)影響的快照技術(shù),基于I/O的數(shù)據(jù)傳輸模式,實(shí)現(xiàn)了真正的持續(xù)數(shù)據(jù)保護(hù)。
可對(duì)數(shù)據(jù)進(jìn)行離線歸檔存儲(chǔ):云備份數(shù)據(jù)柜可以直接連接物理磁帶庫,對(duì)數(shù)據(jù)進(jìn)行離線歸檔保存。
支持備份過程審計(jì)、統(tǒng)計(jì)出每臺(tái)服務(wù)器流量及軟件使用所占比率分析圖,審查備份網(wǎng)絡(luò)使用情況。
可與虛擬化功能結(jié)合,將容災(zāi)服務(wù)器直接部署在云備份服務(wù)器上。
在容災(zāi)服務(wù)器接管期間,容災(zāi)服務(wù)器上的數(shù)據(jù)變化可反向復(fù)制到生產(chǎn)服務(wù)器中。
支持存儲(chǔ)介質(zhì)服務(wù)器日志卷復(fù)制到一個(gè)或多個(gè)存儲(chǔ)介質(zhì)服務(wù)器,提供級(jí)聯(lián)復(fù)制。
以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。