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

數(shù)據(jù)庫的故障處理方法、裝置和數(shù)據(jù)庫系統(tǒng)的制作方法_2

文檔序號(hào):8543754閱讀:來源:國知局
且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0075]實(shí)施例一
[0076]本發(fā)明實(shí)施例提供了一種數(shù)據(jù)庫的故障處理方法,其可以實(shí)現(xiàn)在數(shù)據(jù)庫集群中,當(dāng)主數(shù)據(jù)庫發(fā)生故障無法提供服務(wù)時(shí),可以選擇一業(yè)務(wù)承載能力較強(qiáng)的服務(wù)器上的從數(shù)據(jù)庫作為新的主數(shù)據(jù)庫,保證提供正常的服務(wù)。
[0077]圖1是本實(shí)施例提供的一種數(shù)據(jù)庫的故障處理方法的流程示意圖,該方法應(yīng)用于具有主從結(jié)構(gòu)的數(shù)據(jù)庫集群,包括步驟S102至步驟S108。
[0078]S102:檢測(cè)到主數(shù)據(jù)庫發(fā)生故障時(shí),收集主數(shù)據(jù)庫對(duì)應(yīng)的至少一個(gè)從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息。
[0079]S104:對(duì)各從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息進(jìn)行分析,確定出各從數(shù)據(jù)庫所在服務(wù)器的可用業(yè)務(wù)承載能力。
[0080]S106:對(duì)各從數(shù)據(jù)庫所在服務(wù)器的可用業(yè)務(wù)承載能力進(jìn)行比較,選擇出其中可用業(yè)務(wù)承載能力最大的服務(wù)器對(duì)應(yīng)的從數(shù)據(jù)庫。
[0081]S108:使用選擇出的從數(shù)據(jù)庫替換發(fā)生故障的主數(shù)據(jù)庫,以作為新的主數(shù)據(jù)庫。
[0082]本發(fā)明實(shí)施例提供了一種數(shù)據(jù)庫的故障處理方法、裝置和系統(tǒng),通過在主數(shù)據(jù)庫發(fā)生故障時(shí),收集其從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息,并通過使用狀態(tài)信息確定各個(gè)從數(shù)據(jù)庫的所在服務(wù)器的可用業(yè)務(wù)承載能力,選擇其中可用業(yè)務(wù)承載能力最好的服務(wù)器對(duì)應(yīng)的從數(shù)據(jù)庫作為新的主數(shù)據(jù)庫。通過本發(fā)明實(shí)施例所提供的方法,當(dāng)主數(shù)據(jù)庫發(fā)生故障無法提供服務(wù)時(shí),可以選擇業(yè)務(wù)承載能力最好的服務(wù)器上的從數(shù)據(jù)庫作為新的主數(shù)據(jù)庫,從而避免了由于新的主數(shù)據(jù)庫選擇不當(dāng)造成服務(wù)中斷或者運(yùn)行效率低下的問題。
[0083]實(shí)施例二
[0084]本實(shí)施例為上述實(shí)施例一的一種具體應(yīng)用場(chǎng)景,通過本實(shí)施例,能夠更加清楚、具體地闡述本發(fā)明所提供的方法。
[0085]應(yīng)可理解,本發(fā)明并不限定數(shù)據(jù)庫的類型,只要可以應(yīng)用本發(fā)明下述方案以達(dá)到切換從數(shù)據(jù)庫的目的的數(shù)據(jù)庫都適用于此。本領(lǐng)域技術(shù)人員在閱讀本發(fā)明的基礎(chǔ)上,亦可以通過簡單的步驟組合和步驟之間的變換實(shí)現(xiàn)主從數(shù)據(jù)庫的切換,其皆應(yīng)涵蓋在本發(fā)明的范圍內(nèi)。
[0086]本實(shí)施例中,將以Redis數(shù)據(jù)庫為例說明本發(fā)明的技術(shù)方案:
[0087]為了能夠?qū)Ρ景l(fā)明實(shí)施例所提供的方法進(jìn)行更清楚的說明,在本實(shí)施例二中,以圖2所示的一種Redis數(shù)據(jù)庫的架構(gòu)為例進(jìn)行說明。其中,在圖2所示的Redis數(shù)據(jù)庫中,包括一個(gè)主數(shù)據(jù)庫,以及從數(shù)據(jù)庫A、從數(shù)據(jù)庫B和從數(shù)據(jù)庫C。本實(shí)施例以當(dāng)主數(shù)據(jù)庫發(fā)生故障無法正常運(yùn)行時(shí),在從數(shù)據(jù)庫A、從數(shù)據(jù)庫B和從數(shù)據(jù)庫C選取新的主數(shù)據(jù)庫為例進(jìn)行說明。
[0088]圖3為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)庫的故障處理具體方法流程圖,該方法共包括步驟S301至S307。
[0089]首先,執(zhí)行步驟S301,當(dāng)Redis數(shù)據(jù)庫集群的主數(shù)據(jù)庫發(fā)生故障時(shí),收集全部從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息。
[0090]其中,在本實(shí)施例中,從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息包括但不限于如下參數(shù)的信息:
[0091]從數(shù)據(jù)庫所在服務(wù)器的當(dāng)前負(fù)載、從數(shù)據(jù)庫所在服務(wù)器的內(nèi)存剩余量、從數(shù)據(jù)庫所在服務(wù)器上的業(yè)務(wù)數(shù)、從數(shù)據(jù)庫所在服務(wù)器上不同業(yè)務(wù)的互相影響性、從數(shù)據(jù)庫所在服務(wù)器支持的數(shù)據(jù)讀寫速率、從數(shù)據(jù)庫所在服務(wù)器支持的網(wǎng)卡數(shù)據(jù)傳輸速率等。
[0092]需要說明的是,本實(shí)施例中,為了能夠收集各個(gè)從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息,可以設(shè)置一腳本在各個(gè)從數(shù)據(jù)庫所在的服務(wù)器上,在腳本中寫入用于獲取以上各狀態(tài)信息的代碼。當(dāng)需要獲取各個(gè)從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息時(shí),在各個(gè)從數(shù)據(jù)庫所在的服務(wù)器則運(yùn)行該腳本,并將通過運(yùn)行腳本獲取得到的使用狀態(tài)信息發(fā)送給數(shù)據(jù)庫的管理裝置,以完成對(duì)各個(gè)從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息進(jìn)行收集。
[0093]在收集得到全部從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息后,執(zhí)行步驟S302,對(duì)各個(gè)從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息進(jìn)行分析,確定出各個(gè)從數(shù)據(jù)庫所在服務(wù)器的可用業(yè)務(wù)承載能力。
[0094]本發(fā)明實(shí)施例具體可以通過如下方式收集到各個(gè)從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息,確定出其中業(yè)務(wù)承載能力最好的服務(wù)器上的從數(shù)據(jù)庫作為新的主數(shù)據(jù)庫:
[0095]首先,為各從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息中的各參數(shù)設(shè)置不同權(quán)值以及權(quán)值比重。
[0096]然后,計(jì)算得到各從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息中各參數(shù)的權(quán)值總和,將其作為各從數(shù)據(jù)庫所在服務(wù)器的可用業(yè)務(wù)承載能力指標(biāo)。
[0097]其中,從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息中的不同參數(shù)對(duì)于服務(wù)器的承載能力的影響不同,因此,需要對(duì)每種參數(shù)設(shè)置不同的權(quán)重值,例如:
[0098]可用內(nèi)存相對(duì)于網(wǎng)卡的可用帶寬更加重要,則將內(nèi)存剩余量的權(quán)重設(shè)置較高,而將網(wǎng)卡數(shù)據(jù)傳輸速率設(shè)置的權(quán)重較低。
[0099]在收集得到從數(shù)據(jù)庫所在服務(wù)器的使用狀態(tài)信息的各參數(shù)后,結(jié)合各個(gè)參數(shù)對(duì)應(yīng)的權(quán)重,即可計(jì)算得到每個(gè)從數(shù)據(jù)庫所在服務(wù)器的可用性評(píng)分,用于表述每個(gè)服務(wù)器的可用業(yè)務(wù)承載能力,得分越高,則表示該服務(wù)器的業(yè)務(wù)承載能力越強(qiáng),相反,則表示該服務(wù)器的業(yè)務(wù)承載能力越弱。
[0100]在得到每個(gè)從數(shù)據(jù)庫所在服務(wù)器的可用業(yè)務(wù)承載能力后,執(zhí)行步驟S303,對(duì)各從數(shù)據(jù)庫所在服務(wù)器的可用業(yè)務(wù)承載能力進(jìn)行比較,選擇出其中可用業(yè)務(wù)承載能力最大的服務(wù)器對(duì)應(yīng)的從數(shù)據(jù)庫。
[0101]需要說明的是,對(duì)于每個(gè)從數(shù)據(jù)庫,由于在其上的數(shù)據(jù)量的不同,也會(huì)導(dǎo)致每個(gè)從數(shù)據(jù)庫對(duì)應(yīng)的服務(wù)器的壓力不同,例如:
[0102]某些從數(shù)據(jù)庫所在的服務(wù)器可能當(dāng)前內(nèi)存已經(jīng)使用90%,其就不再適合作為新的主數(shù)據(jù)庫,由于主數(shù)據(jù)庫對(duì)于服務(wù)器的業(yè)務(wù)承載能力要求較高,若將該種從數(shù)據(jù)庫被設(shè)置為新的主數(shù)據(jù)庫,很有可能剛剛切換完成就會(huì)因?yàn)闃I(yè)務(wù)過載而導(dǎo)致服務(wù)中斷,這時(shí),仍需繼續(xù)切換主數(shù)據(jù)庫,操作繁瑣,而且效率較低。因而,選擇業(yè)務(wù)承載能力最大的服務(wù)器對(duì)應(yīng)的從數(shù)據(jù)庫作為新的主數(shù)據(jù)庫,能夠減少從數(shù)據(jù)庫切換次數(shù),以保證正常的訪問。
[0103]在本實(shí)施例中,如果對(duì)從數(shù)據(jù)庫A、從數(shù)據(jù)庫B和從數(shù)據(jù)庫C所在服務(wù)器分別計(jì)算得到的可用性評(píng)分為:80分、70分、60分。在執(zhí)行本步驟時(shí),則選取分值最高的服務(wù)器上的從數(shù)據(jù)庫A作為新的主數(shù)據(jù)庫。
[0104]需要說明地是,在各從數(shù)據(jù)庫所在服務(wù)器的可用業(yè)務(wù)承載能力的確定過程中,作為選擇依據(jù)的使用狀態(tài)信息中各參數(shù)的種類、數(shù)量均可根據(jù)實(shí)際情況調(diào)整。例如,使用前文提及的所有參數(shù)綜合考慮進(jìn)行從數(shù)據(jù)庫的選擇時(shí),發(fā)現(xiàn)不存在這樣的從數(shù)據(jù)庫,那么可以通過利用部分參數(shù)退而選擇較優(yōu)的從數(shù)據(jù)庫。
[0105]在選定新的主數(shù)據(jù)庫后,執(zhí)行步驟S304,使用選擇出的從數(shù)據(jù)庫替換發(fā)生故障的主數(shù)據(jù)庫,以作為新的主數(shù)據(jù)庫。
[0106]本步驟仍以選定從數(shù)據(jù)庫A作為新的主數(shù)據(jù)庫為例,為了更加清楚地體現(xiàn)主數(shù)據(jù)庫切換前、后的不同,還提供了圖4,圖4為切換主數(shù)據(jù)庫后的Redis數(shù)據(jù)庫的架構(gòu)示意圖。其中,原從數(shù)據(jù)庫A切換后作為新的主數(shù)據(jù)庫A,從數(shù)據(jù)庫B和C由于可用業(yè)務(wù)承載能力不足,仍然作為從數(shù)據(jù)庫使用。
[0107]上述步驟S301至步驟S304的描述,體現(xiàn)了當(dāng)主數(shù)據(jù)庫發(fā)生故障時(shí),選取一從數(shù)據(jù)庫作為新的主數(shù)據(jù)庫的過程。在選取了新的主數(shù)據(jù)庫之后,為了確保數(shù)據(jù)的良好銜接,繼續(xù)執(zhí)行步驟S305,確定新的主數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)量,以及新的主數(shù)據(jù)庫與從數(shù)據(jù)庫間的網(wǎng)絡(luò)狀態(tài)。
[0108]由于在Redis數(shù)據(jù)庫中,要求所有從數(shù)據(jù)庫的數(shù)據(jù)與主數(shù)據(jù)庫的數(shù)據(jù)相同,因此,在切換至新的主數(shù)據(jù)庫后,還需執(zhí)行數(shù)據(jù)的同步操作,以保證數(shù)據(jù)的完整。但是,存在如下情況,在進(jìn)行同步時(shí)會(huì)導(dǎo)致主數(shù)據(jù)庫的處理壓力較大:
[0109]從數(shù)據(jù)庫的數(shù)量較多時(shí);
[0110]主數(shù)據(jù)庫的數(shù)據(jù)存儲(chǔ)量較大時(shí);
[0111]主數(shù)據(jù)庫與從數(shù)據(jù)庫間的網(wǎng)絡(luò)狀態(tài)不佳時(shí)。
[0112]例如,當(dāng)主數(shù)據(jù)庫中存儲(chǔ)有30G數(shù)據(jù),且具有6個(gè)從數(shù)據(jù)庫時(shí),需要向這6個(gè)從數(shù)據(jù)庫中的每一個(gè)從數(shù)據(jù)庫同步這30G數(shù)據(jù),由于數(shù)據(jù)存儲(chǔ)量較大,在數(shù)據(jù)同步時(shí)就會(huì)造成主數(shù)據(jù)庫處理其他業(yè)務(wù)的能力下降,影響用戶體驗(yàn),尤其是在網(wǎng)絡(luò)狀態(tài)不佳的情況下。
[0113]若主數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)只有2G,且只具有2個(gè)從數(shù)據(jù)庫時(shí),則對(duì)于主數(shù)據(jù)庫而言,其向從數(shù)據(jù)庫同步數(shù)據(jù)的壓力就小得多。
[0114]因此,在本發(fā)明實(shí)施例中,可根據(jù)新的主數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)量,以及新的主數(shù)據(jù)庫與從數(shù)據(jù)庫間的網(wǎng)絡(luò)狀態(tài)動(dòng)態(tài)調(diào)整當(dāng)前的數(shù)據(jù)同步方式,以保證其他數(shù)據(jù)處理操作的正常運(yùn)行。
[0115]為了確保主數(shù)據(jù)庫數(shù)據(jù)同步時(shí)的處理壓力過大,接著執(zhí)行步驟S306,在步驟S306中,根據(jù)新的主數(shù)據(jù)庫的數(shù)據(jù)量,以及網(wǎng)絡(luò)狀態(tài),確定每次可掛載的從數(shù)據(jù)庫的數(shù)量。
[0116]其中,網(wǎng)絡(luò)狀態(tài)至少包括網(wǎng)卡的數(shù)據(jù)傳輸速率,因此,結(jié)合新的主數(shù)據(jù)庫的數(shù)據(jù)量,以及網(wǎng)絡(luò)狀態(tài),確定每次可掛載的從數(shù)據(jù)庫的數(shù)量,可以按照如下方式執(zhí)行:
[0117]首先,利用新的主數(shù)據(jù)庫的數(shù)據(jù)量除以網(wǎng)卡的數(shù)據(jù)傳輸速率,得到新的主數(shù)據(jù)庫的數(shù)據(jù)量同步一次的所需時(shí)間。
[0118]然后,根據(jù)新的主數(shù)據(jù)庫數(shù)據(jù)同步至所有從數(shù)據(jù)庫的時(shí)間限制以及上述的所需時(shí)間,確定完成所有同步操作所需同步總次數(shù)。
[0119]最后,利用同步總次數(shù)對(duì)所有從數(shù)據(jù)庫進(jìn)行分批處理,確定每次可掛載的從數(shù)據(jù)庫的數(shù)量。
[0120]下面進(jìn)行舉例說明,例如當(dāng)前主數(shù)據(jù)庫中存儲(chǔ)有30G數(shù)據(jù),且具有6個(gè)從數(shù)據(jù)庫時(shí),則可以選擇每次只掛載兩個(gè)從數(shù)據(jù)庫,也即對(duì)兩個(gè)從數(shù)據(jù)庫的中的數(shù)據(jù)進(jìn)行同步。
[0121]若主數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)只有2G,只具有2個(gè)從數(shù)據(jù)庫時(shí),則可以直接一次性的將全部從數(shù)據(jù)庫同步完成。
[0122]可見,選擇適當(dāng)數(shù)量的從數(shù)據(jù)庫進(jìn)行數(shù)據(jù)同步,保證了數(shù)據(jù)同步的速度,同時(shí)也保證了其他數(shù)據(jù)處理操作的正常運(yùn)行。
[0123]在確定了每次可掛載的從數(shù)據(jù)庫數(shù)量之后,執(zhí)行步驟S307,根據(jù)確定的從數(shù)據(jù)庫數(shù)量,分批次實(shí)現(xiàn)新的主數(shù)據(jù)庫到剩余其他從數(shù)據(jù)庫的數(shù)據(jù)同步。
[0124]本發(fā)明實(shí)施例提供了一種數(shù)據(jù)庫的故障處理方法,通過在主數(shù)據(jù)庫發(fā)生故障時(shí),收集其從數(shù)據(jù)
當(dāng)前第2頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
丰镇市| 澳门| 广昌县| 新乡县| 中超| 寿宁县| 汕头市| 永靖县| 卓资县| 融水| 江源县| 南阳市| 溆浦县| 潍坊市| 五河县| 利川市| 大悟县| 宜城市| 隆林| 哈巴河县| 昆山市| 高阳县| 遂昌县| 灵武市| 东丽区| 曲靖市| 新郑市| 福清市| 稷山县| 吉安市| 永安市| 香格里拉县| 马鞍山市| 庆安县| 慈利县| 九龙县| 昭通市| 昌平区| 孟村| 东光县| 三都|