两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種數(shù)據(jù)庫集群的管理方法及裝置與流程

文檔序號:11707787閱讀:280來源:國知局
一種數(shù)據(jù)庫集群的管理方法及裝置與流程

本公開涉及數(shù)據(jù)庫技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)庫集群的管理方法及裝置。



背景技術(shù):

galeracluster是一套基于同步復(fù)制的多主mysql(一種關(guān)系型數(shù)據(jù)庫)集群,使用簡單,沒有單點故障,可用性高,能很好保證業(yè)務(wù)不斷增長時我們數(shù)據(jù)的安全和隨時的擴展,號稱是世界上最先進的開源數(shù)據(jù)庫集群。其主要特點如下:同步復(fù)制、多主服務(wù)器的拓撲結(jié)構(gòu)、可以在任意節(jié)點上進行讀寫、自動剔除故障節(jié)點、自動加入新節(jié)點、真正行級別的并發(fā)復(fù)制、客戶端連接與操作單臺mysql數(shù)據(jù)庫的體驗一致。

galeracluster的架構(gòu)圖如圖1所示,客戶端可以和集群中任何一個節(jié)點連接,每個節(jié)點都可以進行讀寫,寫的話要不所有服務(wù)器都執(zhí)行成功,要不就所有都回滾,保證所有服務(wù)器的數(shù)據(jù)一致性,而且所有服務(wù)器同步實時更新。galeracluster集群啟動的時候必須有一個節(jié)點以新節(jié)點的方式啟動,然后再將其他節(jié)點加入集群,新加入的節(jié)點從集群中選擇一個節(jié)點進行同步數(shù)據(jù)。galeracluster維護了一個自增的seqno(序列號),每個節(jié)點都有著相同的seqno。當(dāng)集群中節(jié)點停止后會把seqno持久化到grastate.dat文件中,集群中最后停掉的節(jié)點也會在grastate.dat文件置一個標志,下次集群啟動的時候必須以最后停掉的這個節(jié)點為新節(jié)點啟動,然后再將其他節(jié)點加入集群。

需要說明的是,galeracluster集群本身其實不是自動的,也不是高可用的,比如說:剛開始創(chuàng)建集群的時候必須手動配置一個節(jié)點以集群首節(jié)點的方式啟動,然后其他節(jié)點再加入集群;當(dāng)集群中有節(jié)點脫離集群后用戶無法感知;脫離集群后的節(jié)點想要再加入集群必須手動加入;當(dāng)整個集群死掉后必須手動找到seqno最大的節(jié)點以集群首節(jié)點啟動,然后再將其他節(jié)點加入。由此可知,galeracluster集群管理需要人工參與,無法實現(xiàn)自動化。



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

為了解決相關(guān)技術(shù)中存在的galeracluster集群管理需要人工參與,無法實現(xiàn)自動化的問題,本公開提供了一種數(shù)據(jù)庫集群的管理方法。

本公開提供了一種數(shù)據(jù)庫集群的管理方法,所述數(shù)據(jù)庫集群的每個節(jié)點內(nèi)設(shè)有一個代理實體,每個代理實體分別控制各自所在的節(jié)點,所述數(shù)據(jù)庫集群的管理方法應(yīng)用于所述代理實體;所述方法包括:

在本節(jié)點未啟動時,獲取第二節(jié)點的節(jié)點信息;其中,所述第二節(jié)點為所述數(shù)據(jù)庫集群內(nèi)除本節(jié)點以外的所有其他節(jié)點;

若根據(jù)所述第二節(jié)點的節(jié)點信息,判斷獲知不存在滿足預(yù)設(shè)條件的第二節(jié)點,則將所述本節(jié)點以所述數(shù)據(jù)庫集群的首節(jié)點啟動。

本公開還提供了一種數(shù)據(jù)庫集群的管理裝置,所述數(shù)據(jù)庫集群的每個節(jié)點內(nèi)設(shè)有一個代理實體,每個代理實體分別控制各自所在的節(jié)點,所述數(shù)據(jù)庫集群的管理裝置應(yīng)用于所述代理實體;所述裝置包括:

信息獲取模塊,用于在本節(jié)點未啟動時,獲取第二節(jié)點的節(jié)點信息;其中,所述第二節(jié)點為所述數(shù)據(jù)庫集群內(nèi)除本節(jié)點以外的所有其他節(jié)點;

節(jié)點啟動模塊,用于根據(jù)所述第二節(jié)點的節(jié)點信息,當(dāng)判斷獲知不存在滿足預(yù)設(shè)條件的第二節(jié)點時,將所述本節(jié)點以所述數(shù)據(jù)庫集群的首節(jié)點啟動。

本公開的實施例提供的技術(shù)方案可以包括以下有益效果:

通過在每個節(jié)點內(nèi)設(shè)有一個代理實體,每個代理實體分別控制各自所在的節(jié)點,代理實體根據(jù)各個節(jié)點的信息可以自動確定集群首節(jié)點并啟動,無需人工參與,大大提高了集群啟動效率。

應(yīng)當(dāng)理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性的,并不能限制本公開。

附圖說明

此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施例,并于說明書一起用于解釋本發(fā)明的原理。

圖1是現(xiàn)有技術(shù)提供的galeracluster集群的架構(gòu)圖;

圖2是根據(jù)一示例性實施例示出的一種數(shù)據(jù)庫集群的管理方法的流程圖;

圖3是根據(jù)一示例性實施例示出的數(shù)據(jù)庫集群的部署圖;

圖4是根據(jù)另一示例性實施例示出的一種數(shù)據(jù)庫集群的管理方法的流程圖;

圖5是根據(jù)又一示例性實施例示出的一種數(shù)據(jù)庫集群的管理方法的詳細流程圖;

圖6是根據(jù)一示例性實施例示出的一種服務(wù)器的結(jié)構(gòu)圖;

圖7是根據(jù)一示例性實施例示出的一種數(shù)據(jù)庫集群的管理裝置的框圖。

具體實施方式

這里將詳細地對示例性實施例執(zhí)行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。

圖2是根據(jù)一示例性實施例示出的一種數(shù)據(jù)庫集群的管理方法的流程圖。數(shù)據(jù)庫集群是指利用至少兩臺或者多臺數(shù)據(jù)庫服務(wù)器,構(gòu)成一個虛擬單一數(shù)據(jù)庫邏輯映像,像單數(shù)據(jù)庫系統(tǒng)那樣,向客戶端提供透明的數(shù)據(jù)服務(wù)。數(shù)據(jù)庫集群的每一臺服務(wù)器稱為一個節(jié)點,每個節(jié)點(即數(shù)據(jù)庫集群的每臺服務(wù)器)設(shè)置一個代理實體(agent),每個代理實體分別控制各自所在的節(jié)點。其中,agent是指能自主活動的軟件或硬件實體,agent可以執(zhí)行本公開實施例提供的數(shù)據(jù)庫集群的管理方法。

該數(shù)據(jù)庫集群的管理方法的適用范圍和執(zhí)行主體,例如,該方法可以用于圖6所示結(jié)構(gòu)的服務(wù)器500,數(shù)據(jù)庫集群可以包括多個圖6所示結(jié)構(gòu)的服務(wù)器500,并在每臺服務(wù)器500上分別部署一個agent。由每臺服務(wù)器500上的agent管理各自所屬的服務(wù)器500。具體的,該數(shù)據(jù)庫集群可以是指galeracluster集群。如圖3所示,為數(shù)據(jù)庫集群的部署圖,每個數(shù)據(jù)庫節(jié)點上部署一個agent。另外,在數(shù)據(jù)庫集群的上層可以部署一個lvs(linux虛擬服務(wù)器),用于實現(xiàn)負載均衡。

如圖2所示,該數(shù)據(jù)庫集群的管理方法,可以由服務(wù)器的代理實體執(zhí)行,該方法可以包括以下步驟:

步驟s210:在本節(jié)點未啟動時,獲取第二節(jié)點的節(jié)點信息;其中,所述第二節(jié)點為所述數(shù)據(jù)庫集群內(nèi)除本節(jié)點以外的所有其他節(jié)點;

具體的,由每個節(jié)點上部署的agent控制每臺服務(wù)器的啟動和停止。以圖3所示的5個數(shù)據(jù)庫節(jié)點舉例來說,為便于區(qū)分,暫且分別稱為節(jié)點1、節(jié)點2……節(jié)點5。假設(shè)本節(jié)點為圖3中的節(jié)點1,第二節(jié)點為除節(jié)點1以外的節(jié)點2、3、4、5。在本節(jié)點(節(jié)點1)未啟動時,節(jié)點1上部署的agent獲取第二節(jié)點(節(jié)點2、3、4、5)的節(jié)點信息。其中,節(jié)點信息包括:第二節(jié)點的運行狀態(tài)(包括已啟動、正在啟動、未啟動)、序列號、優(yōu)先級等。

步驟s230:若根據(jù)所述第二節(jié)點的節(jié)點信息,判斷獲知不存在滿足預(yù)設(shè)條件的第二節(jié)點,則將所述本節(jié)點以所述數(shù)據(jù)庫集群的首節(jié)點啟動。

具體的,在本節(jié)點(節(jié)點1)未啟動時,節(jié)點1上部署的agent根據(jù)第二節(jié)點(節(jié)點2、3、4、5)的節(jié)點信息,判斷是否存在滿足預(yù)設(shè)條件的第二節(jié)點。例如,當(dāng)沒有已經(jīng)啟動或者正在啟動的第二節(jié)點時,將本節(jié)點(節(jié)點1)作為數(shù)據(jù)庫集群的首節(jié)點啟動。

可選的,滿足預(yù)設(shè)條件第二節(jié)點可以包括:處于已啟動狀態(tài)的第二節(jié)點、處于正在啟動階段的第二節(jié)點、序列號大于本節(jié)點的第二節(jié)點以及優(yōu)先級比本節(jié)點高的第二節(jié)點。當(dāng)不存在上述滿足預(yù)設(shè)條件的第二節(jié)點時,則可以認為本節(jié)點是優(yōu)先級最高的、序列號最大的節(jié)點,從而可以確定本節(jié)點為集群的首節(jié)點,可以將本節(jié)點以該數(shù)據(jù)庫集群的首節(jié)點啟動。然后,除本節(jié)點以外的其他節(jié)點再加入該集群中。新加入的節(jié)點從集群中選擇一個節(jié)點同步數(shù)據(jù)。

需要說明的是,galeracluster集群本身并不是自動的,在創(chuàng)建集群時需人工手動配置一個節(jié)點,將其作為首節(jié)點啟動,然后其他節(jié)點再加入集群;當(dāng)整個集群宕機時,也需手動尋找集群首節(jié)點進行啟動,然后其他節(jié)點再加入,因此集群啟動效率低。本公開實施例提供的數(shù)據(jù)庫集群的管理方法,通過在每一個節(jié)點中部署一個agent,由agent根據(jù)各個節(jié)點的信息自動確定集群首節(jié)點并啟動,無需人工參與,大大提高了集群啟動效率。

圖4是根據(jù)另一示例性實施例示出的一種數(shù)據(jù)庫集群的管理方法的流程圖。如圖4所示,所述方法除了包括圖3對應(yīng)實施例的步驟s210和步驟s230以外,所述方法還可以包括以下步驟:

步驟s250:若根據(jù)所述第二節(jié)點的節(jié)點信息,判斷獲知存在處于已啟動狀態(tài)的第二節(jié)點,則將所述第二節(jié)點的數(shù)據(jù)同步至所述本節(jié)點,并將所述本節(jié)點的狀態(tài)置為已啟動狀態(tài)。

具體的,可以從各個節(jié)點的配置文件中獲取各個節(jié)點的地址,然后根據(jù)各個節(jié)點的地址,遍歷除本節(jié)點以外的所有數(shù)據(jù)庫節(jié)點(即第二節(jié)點),獲取這些節(jié)點的節(jié)點信息。當(dāng)根據(jù)第二節(jié)點的節(jié)點信息,判斷出存在處于已啟動狀態(tài)的第二節(jié)點,如存在一個第二節(jié)點的狀態(tài)為“running”(運轉(zhuǎn)),則可以認為本節(jié)點并非集群首節(jié)點。之后將本節(jié)點加入集群,將第二節(jié)點的數(shù)據(jù)同步至本節(jié)點,并將本節(jié)點的狀態(tài)置為已啟動狀態(tài),如將節(jié)點狀態(tài)置為running”。根據(jù)需要,若前節(jié)點加入集群失敗,則發(fā)出告警信號。

需要說明的是,當(dāng)存在某一個節(jié)點宕機時,通過上述步驟s210和s250,可以及時根據(jù)其他節(jié)點的節(jié)點信息,將該宕機的節(jié)點加入集群,將其他節(jié)點的數(shù)據(jù)同步至該宕機的節(jié)點,從而無需人工手動來啟動宕機的節(jié)點,提高了節(jié)點啟動效率。

進一步的,在上述實施例的基礎(chǔ)上,所述方法還可以包括以下步驟:

在本節(jié)點已經(jīng)啟動后,定時監(jiān)控本節(jié)點的狀態(tài)信息;

當(dāng)所述狀態(tài)信息出現(xiàn)異常時,發(fā)出告警信號。

其中,本節(jié)點的agent定時監(jiān)控本節(jié)點的狀態(tài)信息,監(jiān)控的狀態(tài)如下:

wsrep_ready(值為on時,節(jié)點才可以接受其他節(jié)點的數(shù)據(jù))==on

wsrep_connected(值為on時,表示節(jié)點至少可以連接集群中一個節(jié)點)==on

srep_local_state_comment(正常的穩(wěn)定狀態(tài)為:joining、waitingonsst、joined、syncedordonor。其他狀態(tài)為臨時狀態(tài)或者不正常的狀態(tài))等于joined、synced或者donor

wsrep_cluster_status(節(jié)點正常的狀態(tài)值為:primary)==primary

節(jié)點的wsrep_cluster_state_uuid(每個節(jié)點都應(yīng)該相同的狀態(tài)變量)至少與集群中半數(shù)wsrep_cluster_state_uuid值相同。

需要說明的是,當(dāng)監(jiān)控的上述狀態(tài)變量出現(xiàn)異常時,即不滿足上述情況時,如wsrep_ready為off或wsrep_connected為off,均認為狀態(tài)信息出現(xiàn)異常,需要發(fā)出告警信號。

若發(fā)現(xiàn)本節(jié)點的狀態(tài)變量wsrep_cluster_size(集群中節(jié)點的數(shù)量)、wsrep_cluster_conf_id(集群變化次數(shù))、wsrep_cluster_state_uuid(每個節(jié)點都應(yīng)該相同的狀態(tài)變量)與其他半數(shù)節(jié)點狀態(tài)變量不一致,則可以認為出現(xiàn)異常,需要發(fā)出告警信號。

或者,wsrep_local_recv_queue_avg(上次狀態(tài)查詢至今的接受隊列的平均長度),wsrep_flow_control_paused(上次本狀態(tài)變量查詢至今,本節(jié)點由于流量控制而導(dǎo)致暫停的時間百分比),wsrep_local_send_queue_avg(上次狀態(tài)查詢至今的發(fā)送隊列的平均長度)是否超過配置文件中配置的閾值,超過則認為出現(xiàn)異常需要發(fā)出告警信號。其中,可以通過命令行查看集群中所有節(jié)點的狀態(tài)信息,可以查看主要的狀態(tài)信息。

根據(jù)需要,數(shù)據(jù)庫集群上層的lvs節(jié)點的異常情況查詢,也可以通過檢查以下項目:wsrep_ready(值為on時,節(jié)點才可以接受其他節(jié)點的數(shù)據(jù))==on

wsrep_connected(值為on時,表示節(jié)點至少可以連接集群中一個節(jié)點)==on

srep_local_state_comment(正常的穩(wěn)定狀態(tài)為:joining、waitingonsst、joined、syncedordonor。其他狀態(tài)為臨時狀態(tài)或者不正常的狀態(tài))等于joined、synced或者donor

wsrep_cluster_status(節(jié)點正常的狀態(tài)值為:primary)==primary

當(dāng)上述四個條件同時滿足時,則認為該lvs節(jié)點沒有出現(xiàn)異常,否則可以進行告警。

進一步的,在上述任意一種實施例的基礎(chǔ)上,所述方法還可以包括以下步驟:

在本節(jié)點已經(jīng)啟動后,定時檢測本節(jié)點是否在線;

若不在線,則重復(fù)執(zhí)行所述獲取第二節(jié)點的節(jié)點信息的步驟。

需要說明的是,現(xiàn)有技術(shù)當(dāng)集群中有節(jié)點脫離集群時,用戶無法感知,并且脫離集群后的節(jié)點想要再加入集群必須人工手動加入。本公開實施例在每個節(jié)點部署的agent可以定時檢測所在節(jié)點是否在線。如,agent每隔1秒檢測本節(jié)點是否在線,如果不在線,則可以重復(fù)上述步驟s210和步驟s230或者重復(fù)步驟s210和步驟s250。當(dāng)不存在滿足預(yù)設(shè)條件的第二節(jié)點時,可以將離線的節(jié)點以集群首節(jié)點啟動。當(dāng)存在已經(jīng)啟動的第二節(jié)點時,可以將離線的節(jié)點重新加入集群,從第二節(jié)點中將數(shù)據(jù)同步至該離線的節(jié)點。

圖5是根據(jù)另一示例性實施例示出的一種數(shù)據(jù)庫集群的管理方法的詳細流程圖。其中,每個節(jié)點內(nèi)部署一個agent,每個節(jié)點內(nèi)部署的agent分別控制各自所在的節(jié)點。其中,當(dāng)前agent所在的節(jié)點稱為本節(jié)點,其他agent所在的節(jié)點稱為其他節(jié)點。各個節(jié)點內(nèi)的agent都啟動完各自的節(jié)點后,才認為整個集群啟動完成。以啟動galeracluster集群舉例來說,

具體流程如下:

1、若本節(jié)點已經(jīng)啟動,則退出。

2、將本節(jié)點置為‘init’狀態(tài)。

3、從各個節(jié)點的配置文件中獲取各個節(jié)點的地址。

4、遍歷集群節(jié)點(除本節(jié)點以外的其他節(jié)點)的列表。

5、獲取其他節(jié)點的狀態(tài),若獲取不到,則循環(huán)檢檢測其他節(jié)點狀態(tài),直到其他節(jié)點狀態(tài)可知。

(a)若一個節(jié)點狀態(tài)已經(jīng)啟動,將本節(jié)點加入集群(若加入失敗告警),加入成功將本節(jié)點狀態(tài)置為‘running’,流程完畢。

(b)若發(fā)現(xiàn)一個節(jié)點正在啟動一個新集群(狀態(tài)為‘starting_cluster’),則繼續(xù),等下一次重新遍歷。

(c)若發(fā)現(xiàn)一個節(jié)點正在初始化(狀態(tài)為‘init’)或者‘stop’(停止)狀態(tài),且seqno(序列號)高于本節(jié)點(若獲取不到seqno,則一直循環(huán)檢測,直到獲取到),則繼續(xù),等下一次重新遍歷。

(d)若發(fā)現(xiàn)一個節(jié)點正在初始化(‘init’)或者‘stop’狀態(tài),且seqno等于本節(jié)點(若獲取不到seqno,則一直循環(huán)檢測,直到獲取到),則判斷節(jié)點的優(yōu)先級(根據(jù)配置文件中配置的順序,按順序優(yōu)先級降低);

若比本節(jié)點優(yōu)先級高,則繼續(xù),等下一次重新遍歷;

若沒本節(jié)點優(yōu)先級高,則統(tǒng)計計數(shù)加一。

(e)判斷統(tǒng)計計數(shù)是否達到最大值(集群節(jié)點數(shù)減一),若達到則跳出循環(huán)。至此完成本節(jié)點與其他所有節(jié)點的比較。

6、將本節(jié)點狀態(tài)置為'starting_cluster',然后將本節(jié)點以新集群的首節(jié)點方式啟動(啟動失敗告警,一直重試啟動直到成功),成功后將狀態(tài)置為’running’,流程完畢。

本節(jié)點啟動之后,其他agent控制各自所在的節(jié)點加入該集群,即可實現(xiàn)數(shù)據(jù)庫集群的啟動。

對于集群的停止,本公開實施例提供了兩種停止的方式:停止代理實體或者先停止集群節(jié)點再停止代理實體。對于galeracluster集群而言,一是只停止集群的管理系統(tǒng)galera_agent;另一種是停止管理系統(tǒng)galera_agent前先把集群節(jié)點停止。

本公開實施例提供的技術(shù)方案,agent會自動啟動數(shù)據(jù)庫集群,當(dāng)集群中有節(jié)點離線后會告警,并且自動將節(jié)點拉起,當(dāng)整個集群宕機時,也會自動找到seqno最大的節(jié)點然后將整個集群啟動,提高了可靠性,使其更加自動化,提高啟動效率。

參見圖6,圖6是本公開實施例提供的一種服務(wù)器結(jié)構(gòu)示意圖。該服務(wù)器500可因配置或性能不同而產(chǎn)生比較大的差異,可以包括一個或一個以上中央處理器(centralprocessingunits,cpu)522(例如,一個或一個以上處理器)和存儲器532,一個或一個以上存儲應(yīng)用程序542或數(shù)據(jù)544的存儲介質(zhì)530(例如一個或一個以上海量存儲設(shè)備)。其中,存儲器532和存儲介質(zhì)530可以是短暫存儲或持久存儲。存儲在存儲介質(zhì)530的程序可以包括一個或一個以上模塊(圖示未示出),每個模塊可以包括對服務(wù)器中的一系列指令操作。更進一步地,中央處理器522可以設(shè)置為與存儲介質(zhì)530通信,在服務(wù)器500上執(zhí)行存儲介質(zhì)530中的一系列指令操作。服務(wù)器500還可以包括一個或一個以上電源526,一個或一個以上有線或無線網(wǎng)絡(luò)接口550,一個或一個以上輸入輸出接口558,和/或,一個或一個以上操作系統(tǒng)541,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。上述實施例中數(shù)據(jù)庫集群可以包括多個圖6所示的服務(wù)器結(jié)構(gòu),agent可以設(shè)置在圖6所示的服務(wù)器結(jié)構(gòu)中,完成上述圖2、4、5所示實施例中所述的由服務(wù)器中agent所執(zhí)行的步驟。

本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。

下述為本公開裝置實施例,可以用于執(zhí)行本公開上述服務(wù)器500中代理實體所執(zhí)行數(shù)據(jù)庫集群的管理方法實施例。對于本公開裝置實施例中未披露的細節(jié),請參照本公開數(shù)據(jù)庫集群的管理方法實施例。

圖7是根據(jù)一示例性實施例示出的一種數(shù)據(jù)庫集群的管理裝置的框圖,該數(shù)據(jù)庫集群的管理裝置可以用于圖6所示實施環(huán)境的服務(wù)器500中,執(zhí)行上述方法實施例中的全部或者部分步驟。如圖7所示,該數(shù)據(jù)庫集群的管理裝置包括但不限于:信息獲取模塊710和節(jié)點啟動模塊730;

信息獲取模塊710,用于在本節(jié)點未啟動時,獲取第二節(jié)點的節(jié)點信息;其中,所述第二節(jié)點為所述數(shù)據(jù)庫集群內(nèi)除本節(jié)點以外的所有其他節(jié)點;

節(jié)點啟動模塊730,用于根據(jù)所述第二節(jié)點的節(jié)點信息,當(dāng)判斷獲知不存在滿足預(yù)設(shè)條件的第二節(jié)點時,將所述本節(jié)點以所述數(shù)據(jù)庫集群的首節(jié)點啟動。

上述裝置中各個模塊的功能和作用的實現(xiàn)過程具體詳見上述數(shù)據(jù)庫集群的管理方法中對應(yīng)步驟的實現(xiàn)過程,在此不再贅述。

信息獲取模塊710比如可以是圖6中的某一個物理結(jié)構(gòu)有線或無線網(wǎng)絡(luò)接口550。

節(jié)點啟動模塊730也可以是功能模塊,用于執(zhí)行上述數(shù)據(jù)庫集群的管理方法中的對應(yīng)步驟。可以理解,這些模塊可以通過硬件、軟件、或二者結(jié)合來實現(xiàn)。當(dāng)以硬件方式實現(xiàn)時,這些模塊可以實施為一個或多個硬件模塊,例如一個或多個專用集成電路。當(dāng)以軟件方式實現(xiàn)時,這些模塊可以實施為在一個或多個處理器上執(zhí)行的一個或多個計算機程序,例如圖6的中央處理器522所執(zhí)行的存儲在存儲器532中的程序。

可選的,所述滿足預(yù)設(shè)條件的第二節(jié)點包括但不限于:

處于已啟動狀態(tài)的第二節(jié)點、處于正在啟動階段的第二節(jié)點、序列號大于本節(jié)點的第二節(jié)點以及優(yōu)先級比本節(jié)點高的第二節(jié)點。

在上述裝置實施例的基礎(chǔ)上,所述裝置還可以包括但不限于:

節(jié)點加入模塊,用于根據(jù)所述第二節(jié)點的節(jié)點信息,當(dāng)判斷獲知存在處于已啟動狀態(tài)的第二節(jié)點時,將所述第二節(jié)點的數(shù)據(jù)同步至所述本節(jié)點,并將所述本節(jié)點的狀態(tài)置為已啟動狀態(tài)。

在上述裝置實施例的基礎(chǔ)上,所述裝置還可以包括但不限于:

信息監(jiān)控模塊,用于在本節(jié)點已經(jīng)啟動后,定時監(jiān)控本節(jié)點的狀態(tài)信息,并當(dāng)所述狀態(tài)信息出現(xiàn)異常時,發(fā)出告警信號。

在上述裝置實施例的基礎(chǔ)上,所述裝置還可以包括但不限于:

在線檢測模塊,用于在本節(jié)點已經(jīng)啟動后,定時檢測本節(jié)點是否在線;并當(dāng)不在線時,由所述信息獲取模塊710繼續(xù)獲取第二節(jié)點的節(jié)點信息。

在示例性實施例中,本公開還提供另一種數(shù)據(jù)庫集群的管理裝置,該數(shù)據(jù)庫集群的管理裝置可以用于圖6所示實施環(huán)境的服務(wù)器500中,執(zhí)行方法實施例中的全部或者部分步驟。所述裝置包括:

處理器;

用于存儲處理器可執(zhí)行指令的存儲器;

其中,所述處理器被配置為執(zhí)行:

在本節(jié)點未啟動時,獲取第二節(jié)點的節(jié)點信息;其中,所述第二節(jié)點為所述數(shù)據(jù)庫集群內(nèi)除本節(jié)點以外的所有其他節(jié)點;

若根據(jù)所述第二節(jié)點的節(jié)點信息,判斷獲知不存在滿足預(yù)設(shè)條件的第二節(jié)點,則將所述本節(jié)點以所述數(shù)據(jù)庫集群的首節(jié)點啟動。

該實施例中的裝置的處理器執(zhí)行操作的具體方式已經(jīng)在有關(guān)該數(shù)據(jù)庫集群的管理方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。

可選的,還提供了一種存儲介質(zhì),該存儲介質(zhì)為計算機可讀存儲介質(zhì),例如可以為包括指令的臨時性和非臨時性計算機可讀存儲介質(zhì)。該存儲介指例如包括指令的存儲器,上述指令可由裝置的處理器執(zhí)行以完成上述數(shù)據(jù)庫集群的管理方法。

應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍執(zhí)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
新沂市| 阿拉善左旗| 德钦县| 临武县| 汉中市| 海伦市| 青铜峡市| 安化县| 樟树市| 永昌县| 神池县| 湟中县| 巴中市| 湘乡市| 麟游县| 屯昌县| 临泉县| 双柏县| 古交市| 申扎县| 休宁县| 台南县| 龙井市| 山西省| 临颍县| 利津县| 常德市| 沅江市| 云龙县| 科技| 仁化县| 平江县| 兰溪市| 舞钢市| 司法| 繁昌县| 西城区| 虹口区| 仁化县| 丹寨县| 洪江市|