[發(fā)明專利]一種分布式數(shù)據(jù)庫節(jié)點(diǎn)存活狀態(tài)檢測模塊及方法在審
| 申請?zhí)枺?/td> | 202011334370.0 | 申請日: | 2020-11-25 |
| 公開(公告)號: | CN112445809A | 公開(公告)日: | 2021-03-05 |
| 發(fā)明(設(shè)計(jì))人: | 王堯;王瀚墨;陳磊;孫思清 | 申請(專利權(quán))人: | 浪潮云信息技術(shù)股份公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F16/27 |
| 代理公司: | 濟(jì)南信達(dá)專利事務(wù)所有限公司 37100 | 代理人: | 馮春連 |
| 地址: | 250100 山東省濟(jì)南市高*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 分布式 數(shù)據(jù)庫 節(jié)點(diǎn) 存活 狀態(tài) 檢測 模塊 方法 | ||
本發(fā)明公開一種分布式數(shù)據(jù)庫節(jié)點(diǎn)存活狀態(tài)檢測模塊,涉及計(jì)算機(jī)通信技術(shù)領(lǐng)域。針對現(xiàn)有節(jié)點(diǎn)狀態(tài)檢測過程中存在的缺陷,將狀態(tài)檢測模塊的監(jiān)測單元監(jiān)測并獲取每個節(jié)點(diǎn)的健康狀態(tài)和更新時間,將狀態(tài)檢測模塊的處理單元按Gossip協(xié)議中的拓?fù)淠J竭M(jìn)行數(shù)據(jù)響應(yīng),分析和統(tǒng)計(jì)節(jié)點(diǎn)的存活狀態(tài)并提取出不活躍的節(jié)點(diǎn)列表。本發(fā)明進(jìn)一步公開一種分布式數(shù)據(jù)庫節(jié)點(diǎn)存活狀態(tài)檢測方法,浪潮云海分布式數(shù)據(jù)庫DRDB中,基于Gossip協(xié)議廣播消息,集群中的每個節(jié)點(diǎn)在心跳周期內(nèi)都會接收和發(fā)送包含其他節(jié)點(diǎn)更新消息的數(shù)據(jù)包,將前述狀態(tài)檢測模塊與集群中的每個節(jié)點(diǎn)進(jìn)行通信,即可提取出不活躍的節(jié)點(diǎn)列表。本發(fā)明可以迅速識別節(jié)點(diǎn)是否具有正常能力來進(jìn)行副本處理、內(nèi)存拷貝、消息傳遞等功能。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)通信技術(shù)領(lǐng)域,具體的說是一種分布式數(shù)據(jù)庫節(jié)點(diǎn)存活狀態(tài)檢測模塊及方法。
背景技術(shù)
分布式網(wǎng)絡(luò)中常用Raft協(xié)議來維護(hù)多個副本的一致性。參考附圖1,副本總共有Leader、Follower、Candidate三種狀態(tài)。其中,Leader指所有請求的處理者;Follower指請求的被動接收者,其從Leader接受更新請求,然后寫入本地日志文件;Candidate指候選人,在Raft集群中,在有界時間內(nèi)有且僅有一個Leader,在Leader運(yùn)行正常的情況下,一個節(jié)點(diǎn)服務(wù)器只會屬于Leader和Follower兩種角色之一,直到Leader故障了,F(xiàn)ollower才有可能變成Candidate,從而觸發(fā)選舉過程。
通常一個Raft組有3個副本,Leader負(fù)責(zé)和其他2個Follower進(jìn)行通信,而Follower之間并不互相通信。Leader會把client的寫請求log復(fù)制到Follower。它會和Follower保持心跳。每個Follower都有一個timeout時間(一般為150ms~300ms),在接受到心跳的時候,timeout時間會被重置。也就是說每個Raft組有一個超期時間Threshold,在一個相同“紀(jì)”時間內(nèi),F(xiàn)ollower發(fā)現(xiàn)Leader心跳超期時,會重新進(jìn)行Raft選主操作,選出新的Leader節(jié)點(diǎn)后,“紀(jì)”對應(yīng)的序列號增加1。
秒傳遞2次心跳,那N個Raft組就會傳遞2N/s個心跳在網(wǎng)絡(luò)中傳播,當(dāng)N=1000后,單個節(jié)點(diǎn)就會產(chǎn)生至少2000個/s心跳,如果集群中存在M個節(jié)點(diǎn)(M=1000),則整個集群中就會有最少每秒上萬次請求。這種請求頻率,恐怕普通的集群是很難承載的。
為了解決上述超大規(guī)模的QPS(Query Per Second,每秒查詢率)請求,許多廠商用了各種辦法,比如:增加硬件性能、提高網(wǎng)卡傳輸帶寬和速率;再比如:CockRoachDB中將多個Raft組共同上報心跳的機(jī)制修改為只去傳遞集群中每個節(jié)點(diǎn)的存活狀態(tài),這樣即大大的降低了QPS的數(shù)量,但是,由于每個節(jié)點(diǎn)更新的時間戳一直在變,導(dǎo)致一個周期時間內(nèi)保活消息傳遞的依然是整個集群中每個活躍節(jié)點(diǎn)的更新時間。成百上千個節(jié)點(diǎn)都需要自己在本地保存一份集群中其他節(jié)點(diǎn)的活躍狀態(tài)記錄表,這份記錄的狀態(tài)表同時也會指導(dǎo)各個Raft組進(jìn)行后續(xù)對應(yīng)的處理。這種處理雖然在一定程度上緩解了百萬級請求的窘境,但每秒還是會傳遞數(shù)千回心跳請求。
發(fā)明內(nèi)容
集群中節(jié)點(diǎn)處理邏輯復(fù)雜,節(jié)點(diǎn)自身的狀態(tài)變化是不可預(yù)估的。只有正確的觀察和收集節(jié)點(diǎn)健康狀況才能持續(xù)保證集群的穩(wěn)定性。傳統(tǒng)的節(jié)點(diǎn)間心跳雖然可靠性高,但實(shí)際上對于一個相對穩(wěn)定的系統(tǒng)來講,每次傳遞活躍節(jié)點(diǎn)的心跳對于接收方來講用途并不是很大。如果我們可以默認(rèn)集群中的節(jié)點(diǎn)均處于正常狀況,僅在非正常時進(jìn)行通告,這些才是接收節(jié)點(diǎn)最關(guān)心的要點(diǎn)。基于此,本發(fā)明設(shè)計(jì)一種分布式數(shù)據(jù)庫節(jié)點(diǎn)存活狀態(tài)檢測模塊及方法,可以迅速識別節(jié)點(diǎn)是否具有正常能力來進(jìn)行副本處理、內(nèi)存拷貝、消息傳遞等功能。
首先,本發(fā)明提供一種分布式數(shù)據(jù)庫節(jié)點(diǎn)存活狀態(tài)檢測模塊,解決上述技術(shù)問題采用的技術(shù)方案如下:
一種分布式數(shù)據(jù)庫節(jié)點(diǎn)存活狀態(tài)檢測模塊,其通信連接集群中的每個節(jié)點(diǎn),包括:
監(jiān)測單元,用于監(jiān)測并獲取每個節(jié)點(diǎn)的健康狀態(tài)和更新時間,
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮云信息技術(shù)股份公司,未經(jīng)浪潮云信息技術(shù)股份公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011334370.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置
- 節(jié)點(diǎn)查詢方法、節(jié)點(diǎn)、移動通訊系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品
- 一種根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的方法、裝置及系統(tǒng)
- 一種DHT網(wǎng)絡(luò)負(fù)載均衡裝置及虛節(jié)點(diǎn)劃分的方法
- 一種無線傳感網(wǎng)地理位置路由空洞處理方法
- 節(jié)點(diǎn)鎖定部件、節(jié)點(diǎn)滑軌、節(jié)點(diǎn)和機(jī)箱
- 一種待推薦節(jié)點(diǎn)線路的確定方法及裝置
- 流控方法、目標(biāo)節(jié)點(diǎn)、節(jié)點(diǎn)及施主節(jié)點(diǎn)
- 節(jié)點(diǎn)布局確定方法以及裝置
- 一種具有分布式柔度的全柔順微位移放大機(jī)構(gòu)
- 節(jié)點(diǎn)掛載方法、裝置、網(wǎng)絡(luò)節(jié)點(diǎn)及存儲介質(zhì)





