一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu)的制作方法
【專利摘要】本發(fā)明公開一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu),涉及云計(jì)算技術(shù),將分布式數(shù)據(jù)庫(kù)架構(gòu)分為代理層和數(shù)據(jù)存儲(chǔ)層;其中,代理層和數(shù)據(jù)存儲(chǔ)層的均采用HA架構(gòu);將數(shù)據(jù)的分片路由交給代理層,代理層采用集群化部署,負(fù)責(zé)應(yīng)用級(jí)的數(shù)據(jù)拆分,代理層由zookeeper進(jìn)行維;數(shù)據(jù)存儲(chǔ)層引入Group,采用主/從的架構(gòu);每個(gè)Group由zookeeper進(jìn)行維護(hù),代理節(jié)點(diǎn)與Group節(jié)點(diǎn)能夠根據(jù)實(shí)際業(yè)務(wù)訪問(wèn)量情況平滑實(shí)現(xiàn)節(jié)點(diǎn)的擴(kuò)容或縮容。本發(fā)明可有效滿足云計(jì)算環(huán)境下高并發(fā)、大吞吐量應(yīng)用場(chǎng)景,具有高可靠、高性能等特點(diǎn),有效提高了應(yīng)用開發(fā)效率,有效降低了研發(fā)和運(yùn)維成本。
【專利說(shuō)明】
一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu)[0001]
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及云計(jì)算技術(shù),具體的說(shuō)是一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu)。【背景技術(shù)】
[0003]隨著云計(jì)算和大數(shù)據(jù)相關(guān)技術(shù)的發(fā)展,應(yīng)用系統(tǒng)集約化建設(shè)已經(jīng)成為一種趨勢(shì), 將大大有利于企業(yè)業(yè)務(wù)系統(tǒng)業(yè)務(wù)能力集成、數(shù)據(jù)信息的集中和共享,并降低企業(yè)內(nèi)部的信息化建設(shè)成本。在原有孤立的分區(qū)域建設(shè)的業(yè)務(wù)系統(tǒng)進(jìn)行集中化建設(shè)后,原有的業(yè)務(wù)系統(tǒng)所承擔(dān)的業(yè)務(wù)用戶訪問(wèn)量和數(shù)據(jù)存儲(chǔ)量會(huì)出現(xiàn)大幅度的增長(zhǎng),而傳統(tǒng)的數(shù)據(jù)庫(kù)架構(gòu)已經(jīng)無(wú)法滿足數(shù)據(jù)庫(kù)的橫向擴(kuò)展能力,以及對(duì)海量數(shù)據(jù)的高性能、高穩(wěn)定性的需求。
[0004]為了解決業(yè)務(wù)系統(tǒng)集中化建設(shè)中在數(shù)據(jù)庫(kù)層訪問(wèn)瓶頸,需要研究一種支持海量數(shù)據(jù)存儲(chǔ)的分布式數(shù)據(jù)庫(kù)架構(gòu)體系。針對(duì)關(guān)系型數(shù)據(jù)庫(kù)在海量數(shù)據(jù)量下高性能的存取,業(yè)界已經(jīng)有一些較成熟的解決方案,常見(jiàn)的方案有:垂直切分、水平切分、讀寫分離等。垂直切分主要是將多個(gè)表切分到不同的物理庫(kù)中,降低單數(shù)據(jù)庫(kù)節(jié)點(diǎn)的負(fù)載壓力。水平切分主要是將大表按行切分到多個(gè)物理庫(kù)中。讀寫分離主要是建設(shè)讀庫(kù)和寫庫(kù),讀寫請(qǐng)求分別發(fā)送至不同的物理庫(kù)中,同時(shí)要保證讀庫(kù)和寫庫(kù)的數(shù)據(jù)一致性。
[0005]以上常用方案是將分片工作放在業(yè)務(wù)程序端,程序代碼根據(jù)預(yù)先設(shè)置的路由規(guī)貝1J,直接對(duì)多個(gè)數(shù)據(jù)庫(kù)實(shí)例進(jìn)行分布式訪問(wèn)。這樣的好處是,不依賴于第三方分布式中間件,實(shí)現(xiàn)方法和代碼都自己掌控,可隨時(shí)調(diào)整,但缺點(diǎn)是升級(jí)麻煩,對(duì)研發(fā)人員的個(gè)人依賴性強(qiáng),可運(yùn)維性較差。出現(xiàn)故障,定位和解決都得研發(fā)和運(yùn)維配合著解決,故障時(shí)間變長(zhǎng)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明針對(duì)目前技術(shù)發(fā)展的需求和不足之處,提供一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu)。
[0007]本發(fā)明所述一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu),解決上述技術(shù)問(wèn)題采用的技術(shù)方案如下:所述一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu),將分布式數(shù)據(jù)庫(kù)架構(gòu)分為代理層和數(shù)據(jù)存儲(chǔ)層;其中,所述代理層和數(shù)據(jù)存儲(chǔ)層的均采用HA架構(gòu);將數(shù)據(jù)的分片路由交給所述代理層,代理層采用集群化部署,負(fù)責(zé)應(yīng)用級(jí)的數(shù)據(jù)拆分,代理層由zookeeper進(jìn)行維; 代理節(jié)點(diǎn)能夠根據(jù)實(shí)際業(yè)務(wù)訪問(wèn)量情況平滑實(shí)現(xiàn)擴(kuò)容或縮容;所述數(shù)據(jù)存儲(chǔ)層引入Group, 每個(gè)Group是一個(gè)集群,采用主/從的架構(gòu);每個(gè)Group由zookeeper進(jìn)行維護(hù),Group節(jié)點(diǎn)能夠根據(jù)實(shí)際業(yè)務(wù)訪問(wèn)量情況平滑實(shí)現(xiàn)節(jié)點(diǎn)的擴(kuò)容或縮容。[00〇8] 優(yōu)選的,通過(guò)zookeeper集群監(jiān)控到各個(gè)代理節(jié)點(diǎn)的運(yùn)行狀態(tài),當(dāng)一個(gè)代理節(jié)點(diǎn)宕機(jī)以后,zookeeperii過(guò)檢測(cè)代理節(jié)點(diǎn)的運(yùn)行狀態(tài),及時(shí)選舉出合理的代理節(jié)點(diǎn)給后臺(tái)調(diào)用程序。[00〇9]優(yōu)選的,一個(gè)代理節(jié)點(diǎn)能夠關(guān)聯(lián)一個(gè)底層Group節(jié)點(diǎn),或者多個(gè)代理節(jié)點(diǎn)關(guān)聯(lián)同一個(gè)Group節(jié)點(diǎn)。[〇〇1〇]優(yōu)選的,每個(gè)代理節(jié)點(diǎn)均提供水平拆分、垂直拆分、混合拆分?jǐn)?shù)據(jù)拆分功能,能夠根據(jù)不同的業(yè)務(wù)數(shù)據(jù)特點(diǎn)靈活配置數(shù)據(jù)拆分策略。
[0011]優(yōu)選的,代理節(jié)點(diǎn)能夠?qū)⒁粋€(gè)分組內(nèi)存數(shù)據(jù)庫(kù)的數(shù)據(jù)迀移到另一個(gè)內(nèi)存數(shù)據(jù)庫(kù)里面。[0〇12]優(yōu)選的,代理節(jié)點(diǎn)自帶監(jiān)控功能,能夠監(jiān)控底層各Group節(jié)點(diǎn)的運(yùn)行情況,及存儲(chǔ)情況;通過(guò)管理頁(yè)面,進(jìn)行添加刪除內(nèi)存數(shù)據(jù)庫(kù)分組。
[0013] 優(yōu)選的,每個(gè)Group只有1個(gè)Mas ter節(jié)點(diǎn)和至少1個(gè)Slave節(jié)點(diǎn),所述Mas ter節(jié)點(diǎn)與 Slave節(jié)點(diǎn)采用主從備份機(jī)制。[0〇14] 優(yōu)選的,每個(gè)Group由zookeeper進(jìn)行維護(hù),可有效保證數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的高可用,當(dāng) Master節(jié)點(diǎn)掛掉時(shí),會(huì)自動(dòng)切換Slave節(jié)點(diǎn)為Master節(jié)點(diǎn)。
[0015]本發(fā)明所述一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu)與現(xiàn)有技術(shù)相比具有的有益效果是:本發(fā)明可有效滿足云計(jì)算環(huán)境下高并發(fā)、大吞吐量應(yīng)用場(chǎng)景,并具有高可靠、高性能等特點(diǎn),有效提高了應(yīng)用開發(fā)效率;有效解決了傳統(tǒng)分布式數(shù)據(jù)庫(kù)架構(gòu)下無(wú)法應(yīng)對(duì)高并發(fā)、大吞吐量的應(yīng)用場(chǎng)景,以及開發(fā)耦合性高,可靠性差,不易維護(hù),無(wú)法隨業(yè)務(wù)實(shí)際訪問(wèn)量平滑實(shí)現(xiàn)擴(kuò)容/縮容等問(wèn)題,有效降低了研發(fā)和運(yùn)維成本;該發(fā)明即可用于云計(jì)算架構(gòu)下關(guān)系型數(shù)據(jù)庫(kù)的設(shè)計(jì),也可用于內(nèi)存數(shù)據(jù)庫(kù)的設(shè)計(jì),將對(duì)后續(xù)企業(yè)在面對(duì)海量數(shù)據(jù)存儲(chǔ)時(shí)數(shù)據(jù)庫(kù)架構(gòu)層設(shè)計(jì)和選型有較強(qiáng)的指導(dǎo)意義。
[0016]說(shuō)明書附圖附圖1為所述云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu)的示意圖?!揪唧w實(shí)施方式】
[0017]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,對(duì)本發(fā)明所述一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu)進(jìn)一步詳細(xì)說(shuō)明。
[0018]鑒于云計(jì)算架構(gòu)下傳統(tǒng)分布式數(shù)據(jù)庫(kù)架構(gòu)無(wú)法應(yīng)對(duì)高并發(fā)、大吞吐量的應(yīng)用場(chǎng)景,本發(fā)明公開了一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu),改進(jìn)了傳統(tǒng)分布式數(shù)據(jù)庫(kù)架構(gòu), 引入了代理層,將數(shù)據(jù)的分片路由交給代理層,業(yè)務(wù)程序不用關(guān)心后端數(shù)據(jù)庫(kù)實(shí)例,應(yīng)用開發(fā)效率高,運(yùn)維起來(lái)也方便;數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)引入Group概念,每個(gè)Group由zookeeper進(jìn)行維護(hù),確保節(jié)點(diǎn)的高可用;Group節(jié)點(diǎn)可根據(jù)實(shí)際業(yè)務(wù)數(shù)據(jù)訪問(wèn)量平滑實(shí)現(xiàn)節(jié)點(diǎn)的擴(kuò)容/縮容。 本發(fā)明可有效滿足云計(jì)算環(huán)境下高并發(fā)、大吞吐量應(yīng)用場(chǎng)景,并具有高可靠、高性能等特點(diǎn),有效提高了應(yīng)用開發(fā)效率,降低了研發(fā)和后期維護(hù)成本,這將對(duì)后續(xù)企業(yè)在面對(duì)海量數(shù)據(jù)存儲(chǔ)時(shí)數(shù)據(jù)庫(kù)架構(gòu)層設(shè)計(jì)和選型有較強(qiáng)的指導(dǎo)意義。
[0019]實(shí)施例:本實(shí)施例所述一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu),針對(duì)傳統(tǒng)分布式數(shù)據(jù)庫(kù)架構(gòu)的缺點(diǎn),將分布式數(shù)據(jù)庫(kù)架構(gòu)分為代理層和數(shù)據(jù)存儲(chǔ)層;如附圖1所示,其中,所述代理層和數(shù)據(jù)存儲(chǔ)層的均采用HA架構(gòu),雙層HA架構(gòu)進(jìn)一步保證了數(shù)據(jù)庫(kù)服務(wù)的高可用;將數(shù)據(jù)的分片路由交給代理層,所述代理層采用集群化部署,負(fù)責(zé)應(yīng)用級(jí)的數(shù)據(jù)拆分,支持水平、垂直、混合等拆分,代理層由zookeeper進(jìn)行維護(hù),確保高可用和負(fù)載均衡;代理節(jié)點(diǎn)可根據(jù)實(shí)際業(yè)務(wù)訪問(wèn)量情況平滑實(shí)現(xiàn)擴(kuò)容/縮容;所述數(shù)據(jù)存儲(chǔ)層引入Group,每個(gè)Group是一個(gè)集群,采用主/從的架構(gòu);并且,每個(gè)Group由zookeeper進(jìn)行維護(hù),Group節(jié)點(diǎn)可根據(jù)實(shí)際業(yè)務(wù)訪問(wèn)量情況平滑實(shí)現(xiàn)節(jié)點(diǎn)的擴(kuò)容/縮容。[0〇2〇]本實(shí)施例所述分布式數(shù)據(jù)庫(kù)架構(gòu)中,所述代理層采用集群化部署,通過(guò)zookeeper 進(jìn)行維護(hù),確保高可用和負(fù)載均衡,對(duì)外暴露zookeeper地址供應(yīng)用開發(fā)調(diào)用;通過(guò) zookeeper集群監(jiān)控到各個(gè)代理節(jié)點(diǎn)的運(yùn)行狀態(tài),當(dāng)一個(gè)代理節(jié)點(diǎn)宕機(jī)以后,zookeeper通過(guò)檢測(cè)代理節(jié)點(diǎn)的運(yùn)行狀態(tài),及時(shí)選舉出合理的代理節(jié)點(diǎn)給后臺(tái)調(diào)用程序,使得后臺(tái)調(diào)用程序,在不停止運(yùn)行的情況下繼續(xù)操控分布式內(nèi)存數(shù)據(jù)庫(kù)集群。[0〇21 ] —個(gè)代理節(jié)點(diǎn)能夠關(guān)聯(lián)一個(gè)底層Group節(jié)點(diǎn),或者多個(gè)代理節(jié)點(diǎn)關(guān)聯(lián)同一個(gè)Group 節(jié)點(diǎn)。并且,每個(gè)代理節(jié)點(diǎn)均提供水平拆分、垂直拆分、混合拆分等數(shù)據(jù)拆分功能,能夠根據(jù)不同的業(yè)務(wù)數(shù)據(jù)特點(diǎn)靈活配置數(shù)據(jù)拆分策略。代理節(jié)點(diǎn)能夠?qū)⒁粋€(gè)分組內(nèi)存數(shù)據(jù)庫(kù)的數(shù)據(jù)迀移到另一個(gè)內(nèi)存數(shù)據(jù)庫(kù)里面,實(shí)現(xiàn)了數(shù)據(jù)的迀移功能,可以保證數(shù)據(jù)的完整,減輕數(shù)據(jù)庫(kù)自身因數(shù)據(jù)量增大帶來(lái)的存儲(chǔ)壓力。此外,代理節(jié)點(diǎn)自帶了一個(gè)監(jiān)控功能,可以監(jiān)控底層各 Group節(jié)點(diǎn)的運(yùn)行情況,及存儲(chǔ)情況,可以通過(guò)管理頁(yè)面,實(shí)現(xiàn)添加刪除內(nèi)存數(shù)據(jù)庫(kù)分組。
[0022]本實(shí)施例所述分布式數(shù)據(jù)庫(kù)架構(gòu)中,所述數(shù)據(jù)存儲(chǔ)層引入Group,每個(gè)Group是一個(gè)集群,采用主/從的架構(gòu),每個(gè)Group只有1個(gè)Master節(jié)點(diǎn)和至少1個(gè)Slave節(jié)點(diǎn)。所述 Mas ter節(jié)點(diǎn)與Slave節(jié)點(diǎn)采用主從備份機(jī)制保證數(shù)據(jù)的可靠性。并且,每個(gè)Group由 zookeeper進(jìn)行維護(hù),可有效保證數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的高可用,當(dāng)Master節(jié)點(diǎn)掛掉時(shí),會(huì)自動(dòng)切換Slave節(jié)點(diǎn)為Master節(jié)點(diǎn)。Group節(jié)點(diǎn)可根據(jù)實(shí)際業(yè)務(wù)訪問(wèn)量情況平滑實(shí)現(xiàn)Group節(jié)點(diǎn)增加或刪除,即Group節(jié)點(diǎn)能夠平滑實(shí)現(xiàn)節(jié)點(diǎn)的擴(kuò)容/縮容。
[0023]上述【具體實(shí)施方式】?jī)H是本發(fā)明的具體個(gè)案,本發(fā)明的專利保護(hù)范圍包括但不限于上述【具體實(shí)施方式】,任何符合本發(fā)明的權(quán)利要求書的且任何所屬技術(shù)領(lǐng)域的普通技術(shù)人員對(duì)其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu),其特征在于,將分布式數(shù)據(jù)庫(kù)架構(gòu)分為代 理層和數(shù)據(jù)存儲(chǔ)層;其中,所述代理層和數(shù)據(jù)存儲(chǔ)層的均采用HA架構(gòu);將數(shù)據(jù)的分片路由交 給所述代理層,代理層采用集群化部署,負(fù)責(zé)應(yīng)用級(jí)的數(shù)據(jù)拆分,代理層由zookeeper進(jìn)行 維;代理節(jié)點(diǎn)能夠根據(jù)實(shí)際業(yè)務(wù)訪問(wèn)量情況平滑實(shí)現(xiàn)擴(kuò)容或縮容;所述數(shù)據(jù)存儲(chǔ)層引入 Group,每個(gè)Group是一個(gè)集群,采用主/從的架構(gòu);每個(gè)Group由zookeeper進(jìn)行維護(hù),Group 節(jié)點(diǎn)能夠根據(jù)實(shí)際業(yè)務(wù)訪問(wèn)量情況平滑實(shí)現(xiàn)節(jié)點(diǎn)的擴(kuò)容或縮容。2.根據(jù)權(quán)利要求1所述一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu),其特征在于,通過(guò) zookeeper集群監(jiān)控到各個(gè)代理節(jié)點(diǎn)的運(yùn)行狀態(tài),當(dāng)一個(gè)代理節(jié)點(diǎn)宕機(jī)以后,zookeeper通 過(guò)檢測(cè)代理節(jié)點(diǎn)的運(yùn)行狀態(tài),及時(shí)選舉出合理的代理節(jié)點(diǎn)給后臺(tái)調(diào)用程序。3.根據(jù)權(quán)利要求2所述一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu),其特征在于,一個(gè)代 理節(jié)點(diǎn)能夠關(guān)聯(lián)一個(gè)底層Group節(jié)點(diǎn),或者多個(gè)代理節(jié)點(diǎn)關(guān)聯(lián)同一個(gè)Group節(jié)點(diǎn)。4.根據(jù)權(quán)利要求3所述一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu),其特征在于,每個(gè)代 理節(jié)點(diǎn)均提供水平拆分、垂直拆分、混合拆分?jǐn)?shù)據(jù)拆分功能,能夠根據(jù)不同的業(yè)務(wù)數(shù)據(jù)特點(diǎn) 靈活配置數(shù)據(jù)拆分策略。5.根據(jù)權(quán)利要求4所述一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu),其特征在于,代理節(jié) 點(diǎn)能夠?qū)⒁粋€(gè)分組內(nèi)存數(shù)據(jù)庫(kù)的數(shù)據(jù)迀移到另一個(gè)內(nèi)存數(shù)據(jù)庫(kù)里面。6.根據(jù)權(quán)利要求5所述一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu),其特征在于,代理節(jié) 點(diǎn)自帶監(jiān)控功能,能夠監(jiān)控底層各Group節(jié)點(diǎn)的運(yùn)行情況,及存儲(chǔ)情況;通過(guò)管理頁(yè)面,進(jìn)行 添加刪除內(nèi)存數(shù)據(jù)庫(kù)分組。7.根據(jù)權(quán)利要求6所述一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu),其特征在于,每個(gè) Group只有1個(gè)Master節(jié)點(diǎn)和至少1個(gè)Slave節(jié)點(diǎn),所述Master節(jié)點(diǎn)與Slave節(jié)點(diǎn)采用主從備 份機(jī)制。8.根據(jù)權(quán)利要求7所述一種云計(jì)算架構(gòu)下的分布式數(shù)據(jù)庫(kù)架構(gòu),其特征在于,每個(gè) Group由zookeeper進(jìn)行維護(hù),可有效保證數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的高可用,當(dāng)Master節(jié)點(diǎn)掛掉時(shí),會(huì) 自動(dòng)切換Slave節(jié)點(diǎn)為Master節(jié)點(diǎn)。
【文檔編號(hào)】H04L29/08GK106096038SQ201610483454
【公開日】2016年11月9日
【申請(qǐng)日】2016年6月28日
【發(fā)明人】王德強(qiáng), 張連超, 吳瑞海, 張強(qiáng)
【申請(qǐng)人】浪潮軟件股份有限公司