亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)災備系統(tǒng)及業(yè)務處理方法與流程

文檔序號:12801853閱讀:332來源:國知局
一種數(shù)據(jù)災備系統(tǒng)及業(yè)務處理方法與流程

本申請涉及數(shù)據(jù)庫技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)災備系統(tǒng)及業(yè)務處理方法。



背景技術(shù):

在大數(shù)據(jù)時代,數(shù)據(jù)的災備是一個不可忽視的問題,如何以較低的成本實現(xiàn)最佳的災備性能,一直是研究人員所關(guān)注的重要方向。

基于數(shù)據(jù)量增加、業(yè)務類型增加等客觀需求,不可避免地需要將業(yè)務數(shù)據(jù)分別存儲在多個物理數(shù)據(jù)庫中,并且多個物理數(shù)據(jù)庫可能分別被部署在不同的網(wǎng)絡(luò)區(qū)域,例如不同的物理網(wǎng)絡(luò)連接區(qū)域、不同的邏輯網(wǎng)絡(luò)連接區(qū)域等等。如圖1所示,機房a和機房b分別處于不同的網(wǎng)絡(luò)連接區(qū)域,機房a中部署了應用服務器a和數(shù)據(jù)庫a、機房b中部署了應用服務器b和數(shù)據(jù)庫b,兩個機房所處理的業(yè)務不同,存儲的數(shù)據(jù)也不同。假設(shè)機房a網(wǎng)絡(luò)出現(xiàn)了故障,那么所有的用戶業(yè)務請求都無法達到應用服務器a,而且數(shù)據(jù)庫a和數(shù)據(jù)庫b中存儲的數(shù)據(jù)不同,因此即使強行把用戶業(yè)務請求路由到應用服務器b,也仍然無法正常對業(yè)務進行處理。



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

針對上述技術(shù)問題,本申請?zhí)峁┮环N數(shù)據(jù)災備系統(tǒng)及業(yè)務處理方法,技術(shù)方案如下:

一種數(shù)據(jù)災備系統(tǒng),該系統(tǒng)包括:主庫、讀庫和故障切換庫;

主庫與讀庫部署在不同的網(wǎng)絡(luò)連接區(qū)域、故障切換庫與讀庫部署在相同的網(wǎng)絡(luò)連接區(qū)域;

主庫和讀庫:在非故障狀態(tài)下處理數(shù)據(jù)操作請求,主庫向讀庫同步數(shù)據(jù);

故障切換庫:在非故障狀態(tài)下不啟用;在故障狀態(tài)下,利用讀庫作為數(shù)據(jù)恢復來源,以代替主庫處理數(shù)據(jù)操作請求;

其中,所述故障狀態(tài)、非故障狀態(tài)均指主庫側(cè)的狀態(tài)。

此外,本申請還提供應用于上述系統(tǒng)的業(yè)務處理方法。

本申請所提供的技術(shù)方案,在數(shù)據(jù)庫讀寫分離機制的基礎(chǔ)上,將讀庫與主庫部署在不同的網(wǎng)絡(luò)連接區(qū)域,并且在讀庫側(cè)部署用于在故障期間接替主庫的故障切換庫。該方案的優(yōu)勢在于:相當于針對每個網(wǎng)絡(luò)連接區(qū)域僅需部署一套數(shù)據(jù)系統(tǒng)即可實現(xiàn)災備目的,故障切換庫僅在故障狀態(tài)下啟用,維護開銷基本可以忽略,用于數(shù)據(jù)災備的讀庫在非故障狀態(tài)下還能夠正常處理數(shù)據(jù)讀取業(yè)務,也具有較高的資源實際利用率。

應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本申請。

附圖說明

為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是現(xiàn)有技術(shù)的雙機房數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)示意圖;

圖2是本申請的數(shù)據(jù)災備系統(tǒng)的第1種結(jié)構(gòu)示意圖;

圖3是圖2所示系統(tǒng)結(jié)構(gòu)下的災備處理示意圖;

圖4是本申請的數(shù)據(jù)災備系統(tǒng)的第2種結(jié)構(gòu)示意圖;

圖5是圖4所示系統(tǒng)結(jié)構(gòu)下的災備處理示意圖;

圖6是本申請的數(shù)據(jù)災備系統(tǒng)的第3種結(jié)構(gòu)示意圖;

圖7是圖6所示系統(tǒng)結(jié)構(gòu)下的災備處理示意圖;

圖8是本申請的數(shù)據(jù)災備系統(tǒng)的第4種結(jié)構(gòu)示意圖;

圖9是本申請的數(shù)據(jù)災備系統(tǒng)的第5種結(jié)構(gòu)示意圖。

具體實施方式

針對背景技術(shù)中所提出的問題,一種可用的災備方案是:在機房b(或者其他機房)部署數(shù)據(jù)庫a的全量備份,正常狀態(tài)下,主庫和備庫進行實時數(shù)據(jù)備份,這樣當主庫側(cè)出現(xiàn)故障(包括數(shù)據(jù)庫自身故障和網(wǎng)絡(luò)故障)時,備庫可以接替主庫。但是這種方案的問題在于:相當于針對每個機房都要部署兩套數(shù)據(jù)庫系統(tǒng),不僅部署和維護開銷翻倍,而且備庫只有在故障發(fā)生后才能起到作用,導致資源利用率低下。此外,根據(jù)具體的設(shè)備配置、應用需求場景的不同,還有可能存在數(shù)據(jù)同步不及時、故障切換時間較長等具體問題,這些也都有可能影響到故障期間業(yè)務的正常處理。

本申請所提供的災備解決方案是:利用目前已有的數(shù)據(jù)庫讀寫分離機制,將讀庫與主庫部署在不同的網(wǎng)絡(luò)連接區(qū)域,并且在讀庫側(cè)部署用于在故障期間接替主庫的故障切換庫。這樣做的優(yōu)勢在于:相當于針對每個網(wǎng)絡(luò)連接區(qū)域僅需部署一套數(shù)據(jù)系統(tǒng)即可實現(xiàn)災備目的,故障切換庫僅在故障狀態(tài)下啟用,維護開銷基本可以忽略,用于數(shù)據(jù)災備的讀庫在非故障狀態(tài)下還能夠正常處理數(shù)據(jù)讀取業(yè)務,也具有較高的實際資源利用率。

為了使本領(lǐng)域技術(shù)人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行詳細地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實施例,都應當屬于本申請保護的范圍。

圖2所示,為申請一種數(shù)據(jù)災備系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)至少包括:主庫、讀庫和故障切換(failover,fo)庫;

主庫:常規(guī)意義上的數(shù)據(jù)庫,能夠處理寫入業(yè)務處理請求和讀取業(yè)務處理請求。

讀庫:自動從主庫中同步數(shù)據(jù),僅處理讀取業(yè)務處理請求,作用是幫助主 庫分擔一部分讀取請求以減輕主庫壓力,讀寫分離的數(shù)據(jù)庫訪問機制屬于現(xiàn)有技術(shù),本申請中不做進一步的詳細說明。

故障切換庫:在非故障狀態(tài)下不啟用(圖2中以虛線框表示);在故障狀態(tài)下代替主庫處理數(shù)據(jù)操作請求。

為描述方便,本申請中的“故障狀態(tài)”、“非故障狀態(tài)”均指主庫側(cè)的狀態(tài),而且這里的“故障”應理解為對各種“主庫不可用”情況的統(tǒng)稱,具體原因既可以是數(shù)據(jù)庫自身的故障,也可以是主庫所處網(wǎng)絡(luò)方面的故障等等。

從圖中可以看出,主庫與讀庫部署在不同的網(wǎng)絡(luò)連接區(qū)域、故障切換庫與讀庫部署在相同的網(wǎng)絡(luò)連接區(qū)域。這里的“網(wǎng)絡(luò)連接區(qū)域”可以是物理意義上網(wǎng)絡(luò)連接區(qū)域,例如機房等,也可以是邏輯意義上的網(wǎng)絡(luò)連接區(qū)域,例如網(wǎng)段等,本申請對“網(wǎng)絡(luò)連接區(qū)域”所對應的具體概念、也即本申請方案的應用場景并不需要進行限定。另外需要說明的是,本申請方案的要點在于提供新的數(shù)據(jù)庫部署方案,對于應用服務器所處的網(wǎng)絡(luò)位置并不需要進行限定,例如,應用服務器可以與數(shù)據(jù)庫系統(tǒng)的組件處于相同的網(wǎng)絡(luò)連接區(qū)域、也可以與數(shù)據(jù)庫系統(tǒng)的組件處于不同的網(wǎng)絡(luò)連接區(qū)域,這些并不影響本申請方案的實施,因此,在圖2以及本后續(xù)說明書附圖中所示的應用服務器位置不應理解為對本申請方案的限定。

在非故障狀態(tài)下,主庫和讀庫除了位于不同的網(wǎng)絡(luò)連接區(qū)域之外,工作方式與現(xiàn)有的主庫/讀庫工作方式基本相同。故障切換庫在非故障狀態(tài)下不啟用,避免平時額外的資源占用和維護開銷。

如圖3所示,在主庫側(cè)出現(xiàn)故障后,主庫變?yōu)椴豢捎茫拘枰D(zhuǎn)發(fā)給主庫的業(yè)務處理請求將轉(zhuǎn)發(fā)至讀庫和故障切換庫所處的另一網(wǎng)絡(luò)連接區(qū)域。

在另一網(wǎng)絡(luò)連接區(qū)域,需要啟用故障切換庫(圖3中以實線框表示),并且由故障切換庫代替主庫來處理數(shù)據(jù)操作請求。一方面,由于故障切換庫在非故障期間是不啟用的,因此在啟用的初始階段,故障切換庫中并不存在有效的可用數(shù)據(jù);另一方面,由于在故障之前,讀庫一直保持與主庫的自動數(shù)據(jù)同步,因此讀庫中基本保存有故障之前主庫的完整數(shù)據(jù)備份(由于數(shù)據(jù)同步存在延時, 因此有可能缺少最新的數(shù)據(jù),解決方案將在后面實施例中介紹)?;谏鲜鰞蓚€方面,可用利用讀庫作為故障切換庫的數(shù)據(jù)恢復來源。

一種可行的數(shù)據(jù)恢復方式是:發(fā)生故障后,立即將讀庫中的全量數(shù)據(jù)恢復至故障切換庫;然而在實際應用中,考慮到故障切換庫只是臨時代替主庫,因此沒有必要恢復全量數(shù)據(jù)。在本申請的一種具體實施方式中,可以采用按需恢復數(shù)據(jù)的方式,即:在發(fā)生故障后,不需要將全量數(shù)據(jù)恢復至故障切換庫,而是待后續(xù)正常網(wǎng)絡(luò)連接區(qū)域收到數(shù)據(jù)操作請求后,再將處理該數(shù)據(jù)操作請求所需的數(shù)據(jù)恢復至故障切換庫。這樣可以減少不要的數(shù)據(jù)恢復所消耗的時間,基本上可以做到故障恢復用戶無感知。

當然,在實際應用中,還可以采用其他針對性的數(shù)據(jù)恢復方案,例如在發(fā)生故障后,僅將訪問需求頻率較高的數(shù)據(jù)恢復到故障切換庫,等等,本申請對具體的數(shù)據(jù)恢復方案不需要進行限定。

另外,在實際應用中,也可以對故障期間讀庫與故障切換庫的功能進行適當調(diào)整,其中故障切換庫至少需要處理數(shù)據(jù)寫入業(yè)務,還可以進一步處理數(shù)據(jù)讀取業(yè)務,讀庫可以正常處理數(shù)據(jù)讀取業(yè)務,也可以暫時停用。對于寫入故障切換庫的數(shù)據(jù),可以同步到讀庫中;也可以不進行同步、待故障排除后一并恢復至主庫,本領(lǐng)域技術(shù)人員可以根據(jù)實際需求靈活設(shè)置。

在實際應用中,上述方案可能存在一個問題:由于主庫和讀庫處于不同的網(wǎng)絡(luò)連接區(qū)域,而且采用的是常規(guī)的數(shù)據(jù)庫同步機制,受到通信距離、數(shù)據(jù)庫性能等多方面因素的影響,難免存在數(shù)據(jù)同步時延,盡管在有些應用場景下,該時延可以忽略,但是在理論上仍然存在故障后讀庫中缺少最新寫入的數(shù)據(jù)、從而導致業(yè)務處理錯誤的問題。針對該問題,本申請?zhí)峁┑囊环N改進方案是:利用數(shù)據(jù)快照的方式保存最新寫入的數(shù)據(jù),當出現(xiàn)故障時,利用快照和讀庫作為共同的數(shù)據(jù)恢復來源,從而避免由于數(shù)據(jù)庫同步時延所導致的最新寫入數(shù)據(jù)缺失問題。

數(shù)據(jù)快照也是一種常用的數(shù)據(jù)安全技術(shù),與常規(guī)的數(shù)據(jù)庫同步方式相比,快照方式具有更快的處理速度,參見圖4所示,在讀庫所在的網(wǎng)絡(luò)區(qū)域中,進 一步配置快照庫,作用是以快照方式保存主庫的最新數(shù)據(jù)寫入情況。具體而言,在非故障狀態(tài)下,應用服務器接收到用戶側(cè)的寫入業(yè)務處理請求,將對象數(shù)據(jù)寫入主庫,同時也將對象數(shù)據(jù)以快照方式寫入快照庫,其中快照方式的具體實現(xiàn)可以包括:利用即時消息傳輸數(shù)據(jù)、利用高速緩存存儲數(shù)據(jù)、等等,本申請并不需要對快照的具體實現(xiàn)技術(shù)進行限定。

由于讀庫與主庫之間一直在進行數(shù)據(jù)同步,因此在快照庫中不需要保存全量數(shù)據(jù),只需要保存“最新”寫入主庫的數(shù)據(jù)快照即可滿足故障恢復需求。實際應用時,可以將快照庫中保留的最新數(shù)據(jù)對應時長設(shè)置為不小于主庫到讀庫的數(shù)據(jù)同步時延,從而降低快照存儲所帶來的額外開銷。

如圖5所示,在主庫側(cè)出現(xiàn)故障后,讀庫與快照庫將共同成為故障切換庫的數(shù)據(jù)恢復來源,可以理解的是,實際進行數(shù)據(jù)恢復時,可能需要同時使用讀庫與快照庫,也可能僅需使用其中之一,讀庫仍然是主要的數(shù)據(jù)恢復來源,而快照庫則可以有效彌補主庫到讀庫的數(shù)據(jù)同步時延所導致的最新數(shù)據(jù)缺失,從而保證故障期間業(yè)務的正常處理。具體的數(shù)據(jù)恢復方式與前面的實施例類似,本實施例不再贅述。

以上介紹了一種基本的數(shù)據(jù)災備方案,實際應用中,在上述方案的基礎(chǔ)上,還可以衍生出多種具體的實施方案。

圖6示出了一種利用本申請基本方案實現(xiàn)的雙機房交叉?zhèn)浞菹到y(tǒng),要求在兩個處于不同網(wǎng)絡(luò)連接區(qū)域的機房中,實現(xiàn)a和b兩套業(yè)務處理系統(tǒng)的正常運行及故障恢復需求,根據(jù)本申請方案,提供具體的部署方式如下:

對于業(yè)務處理系統(tǒng)a:

主庫a部署在機房1;

讀庫a、故障切換庫a、快照庫a部署在機房2;

對于業(yè)務處理系統(tǒng)b:

主庫b部署在機房2;

讀庫b、故障切換庫b、快照庫b部署在機房1;

圖6中,以實心箭頭和虛心箭頭來區(qū)分兩條業(yè)務系統(tǒng)的業(yè)務信息流向。兩 套業(yè)務系統(tǒng)的數(shù)據(jù)庫在處理邏輯上是相互獨立的,對于任意一套業(yè)務系統(tǒng),其主庫、讀庫、故障切換庫、快照庫的工作方式與前面實施例的介紹相同,這里不再做詳細說明。此外,在某些情況下,同一房內(nèi)部的不同業(yè)務系統(tǒng)的組件可以復用相同的物理資源,本申請對此并不需要進行限定。

應用上述方案,可以形成機房1與機房2之間的交叉?zhèn)浞蓐P(guān)系。例如,當機房1中出現(xiàn)故障后,主庫a不可用,位于機房2的故障切換庫a啟用,利用讀庫a和快照庫a恢復數(shù)據(jù),以代替主庫a處理數(shù)據(jù)操作請求。并且,在此期間主庫b仍然能夠正常處理業(yè)務處理系統(tǒng)b的自身數(shù)據(jù)操作請求。

具體而言,任一主庫側(cè)故障狀態(tài)下,應用服務器接收用戶側(cè)的業(yè)務處理請求后,首先判斷該業(yè)務對應的數(shù)據(jù)操作是屬于哪套業(yè)務處理系統(tǒng),然后根據(jù)判斷結(jié)果分別進行轉(zhuǎn)發(fā):

對于非故障側(cè)(即主庫可用)業(yè)務處理系統(tǒng)的數(shù)據(jù)操作請求,正常轉(zhuǎn)發(fā)至位于非故障側(cè)的主庫進行業(yè)務數(shù)據(jù)處理;

對于故障側(cè)(即主庫不可用)業(yè)務處理系統(tǒng)的數(shù)據(jù)操作請求,將轉(zhuǎn)發(fā)至位于非故障側(cè)的故障切換庫進行業(yè)務數(shù)據(jù)處理。

需要說明的是,在上述的交叉?zhèn)浞輽C制下,當某一側(cè)出現(xiàn)故障、并且故障是網(wǎng)絡(luò)問題所導致的情況下,另一側(cè)的主庫雖然仍可以正常處理業(yè)務,但是卻無法正常進行備份。如圖7所示,當機房1出現(xiàn)故障后,除主庫a之外,讀庫b、快照庫b也處于不可用狀態(tài),這種情況下,可以臨時停止非故障側(cè)的主庫(主庫b)向位于故障側(cè)的讀庫(讀庫b)數(shù)據(jù)同步,同時也臨時停止向位于故障側(cè)的快照庫(快照庫b)寫入快照數(shù)據(jù),以避免無效操作,當故障排除后,再重新恢復上述備份機制。

另外,盡管圖6和圖7都示出了配置快照庫的情況,然而根據(jù)本申請方案,在某些應用場景下,仍然允許不在系統(tǒng)中配置快照庫,或者僅在單側(cè)配置快照庫,因此圖6和圖7不應理解為對本申請方案的限定。

可以理解的是,除上述的雙機房交叉?zhèn)浞菹到y(tǒng)之外,基于本申請原理,還可以設(shè)計出其他的數(shù)據(jù)災備方案,例如n區(qū)域交叉?zhèn)浞菹到y(tǒng)(如圖8所示)、或 者集中式備份系統(tǒng)(如圖9所示),對于這些設(shè)計方案,本申請無法一一列舉,但是對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本申請原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾均應視為本申請的保護范圍。

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