背景技術(shù):
1、本發(fā)明涉及分布式數(shù)據(jù)庫集群,更具體地,涉及分布式數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)庫切換。
2、在dbaas(數(shù)據(jù)庫即服務(wù))云環(huán)境中,數(shù)據(jù)庫集群或復(fù)制集通常包括多個(gè)數(shù)據(jù)庫(db)實(shí)例,其中主數(shù)據(jù)庫實(shí)例承擔(dān)主要工作,包括查詢處理和插入/更新操作,并且其他稱為備用或輔助數(shù)據(jù)庫實(shí)例的數(shù)據(jù)庫實(shí)例同步復(fù)制主數(shù)據(jù)庫實(shí)例的數(shù)據(jù)而不處理流量。主數(shù)據(jù)庫實(shí)例通常在運(yùn)行時(shí)比輔助數(shù)據(jù)庫實(shí)例消耗更多資源(cpu、存儲(chǔ)器、io等)。然而,主數(shù)據(jù)庫實(shí)例和各個(gè)輔助數(shù)據(jù)庫實(shí)例被配置有相同數(shù)量的資源以避免在故障切換事件中集群容量的退化。
技術(shù)實(shí)現(xiàn)思路
1、在本發(fā)明的一個(gè)方面,一種方法、計(jì)算機(jī)程序產(chǎn)品和系統(tǒng)包括:評(píng)估包括主數(shù)據(jù)庫實(shí)例的多個(gè)數(shù)據(jù)庫實(shí)例的可用資源,該評(píng)估基于指標(biāo)數(shù)據(jù)集,指標(biāo)數(shù)據(jù)集包括多個(gè)數(shù)據(jù)庫實(shí)例的數(shù)據(jù)庫性能指標(biāo)和多個(gè)數(shù)據(jù)庫實(shí)例的物理主機(jī)的資源指標(biāo),指標(biāo)數(shù)據(jù)集被周期性地收集;根據(jù)指定的操作時(shí)段基于分別對(duì)應(yīng)的可用資源來確定多個(gè)數(shù)據(jù)庫實(shí)例的主數(shù)據(jù)庫實(shí)例候選者;獲取主數(shù)據(jù)庫實(shí)例的平均響應(yīng)時(shí)間;以及響應(yīng)于平均響應(yīng)時(shí)間相對(duì)于閾值的相對(duì)值,使得主數(shù)據(jù)庫實(shí)例候選承擔(dān)主數(shù)據(jù)庫實(shí)例的角色。
2、根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供了一種計(jì)算機(jī)實(shí)現(xiàn)的方法。根據(jù)該計(jì)算機(jī)實(shí)現(xiàn)的方法,處理器可以在一時(shí)間間隔內(nèi)收集數(shù)據(jù)庫集群的多個(gè)數(shù)據(jù)庫實(shí)例的數(shù)據(jù)庫性能指標(biāo)以及托管多個(gè)數(shù)據(jù)庫實(shí)例中的每一個(gè)的每個(gè)物理機(jī)的資源指標(biāo),其中多個(gè)數(shù)據(jù)庫實(shí)例包括主數(shù)據(jù)庫實(shí)例和至少一個(gè)輔助數(shù)據(jù)庫實(shí)例。處理器可以基于數(shù)據(jù)庫性能指標(biāo)和資源指標(biāo)來評(píng)估多個(gè)數(shù)據(jù)庫實(shí)例中的每一個(gè)的可用資源。處理器可以基于多個(gè)數(shù)據(jù)庫實(shí)例中的每一個(gè)的可用資源從至少一個(gè)輔助數(shù)據(jù)庫實(shí)例中確定主數(shù)據(jù)庫實(shí)例候選者。處理器可以獲取主數(shù)據(jù)庫實(shí)例的平均響應(yīng)時(shí)間。響應(yīng)于平均響應(yīng)時(shí)間不滿足服務(wù)質(zhì)量(qos)的要求,處理器可以使用主數(shù)據(jù)庫實(shí)例候選者承擔(dān)主數(shù)據(jù)庫實(shí)例的角色。
3、根據(jù)本發(fā)明的另一個(gè)實(shí)施例,提供了一種計(jì)算機(jī)系統(tǒng)。該計(jì)算機(jī)系統(tǒng)包括一個(gè)或多個(gè)處理器、與一個(gè)或多個(gè)處理器耦合的計(jì)算機(jī)可讀存儲(chǔ)器。計(jì)算機(jī)可讀存儲(chǔ)器包括指令,當(dāng)由一個(gè)或多個(gè)處理器執(zhí)行時(shí),所述指令執(zhí)行上述計(jì)算機(jī)實(shí)現(xiàn)的方法的動(dòng)作。
4、根據(jù)本發(fā)明的又一個(gè)實(shí)施例,提供了一種計(jì)算機(jī)程序產(chǎn)品。該計(jì)算機(jī)程序產(chǎn)品包括具有在其體現(xiàn)的程序指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序指令可由處理器執(zhí)行以使處理器執(zhí)行上述計(jì)算機(jī)實(shí)現(xiàn)的方法的動(dòng)作。
5、本公開的實(shí)施例提供了一種主動(dòng)數(shù)據(jù)庫實(shí)例切換機(jī)制,該機(jī)制可以在數(shù)據(jù)庫集群內(nèi)部平衡資源并消除由資源不平衡引起的數(shù)據(jù)庫集群性能退化,并改善云環(huán)境中的總體資源利用率,同時(shí)具有更好的平均數(shù)據(jù)庫響應(yīng)時(shí)間和低數(shù)據(jù)庫請(qǐng)求延遲。
1.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括:
2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中:
3.根據(jù)權(quán)利要求1或2所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,評(píng)估可用資源包括:
4.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,確定主數(shù)據(jù)庫實(shí)例候選者包括:
5.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,確定主數(shù)據(jù)庫實(shí)例候選者包括:
6.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括:
7.根據(jù)權(quán)利要求6所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括:
8.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中:
9.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括:
10.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括:
11.一種計(jì)算機(jī)系統(tǒng),包括:
12.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)系統(tǒng),其中,評(píng)估可用資源包括:
13.根據(jù)權(quán)利要求12所述的計(jì)算機(jī)系統(tǒng),其中,確定主數(shù)據(jù)庫實(shí)例候選者包括:
14.根據(jù)權(quán)利要求11至13中任一項(xiàng)所述的計(jì)算機(jī)系統(tǒng),還使得所述處理器集執(zhí)行一種方法,所述方法包括:
15.根據(jù)權(quán)利要求14所述的計(jì)算機(jī)系統(tǒng),還使得所述處理器集執(zhí)行一種方法,所述方法包括:
16.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)系統(tǒng),其中:
17.一種計(jì)算機(jī)程序產(chǎn)品,包括:
18.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其中,評(píng)估可用資源包括:
19.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其中,確定主數(shù)據(jù)庫實(shí)例候選者包括:
20.根據(jù)權(quán)利要求17至19中任一項(xiàng)所述的計(jì)算機(jī)程序產(chǎn)品,還使得所述處理器集執(zhí)行一種方法,所述方法包括:
21.根據(jù)權(quán)利要求20所述的計(jì)算機(jī)程序產(chǎn)品,還使得所述處理器集執(zhí)行一種方法,所述方法包括:
22.一種計(jì)算機(jī)程序,包括適于當(dāng)在計(jì)算機(jī)上運(yùn)行所述程序時(shí)執(zhí)行權(quán)利要求1至10中任一項(xiàng)所述的方法的程序代碼裝置。