一種高可用服務(wù)器的優(yōu)化方法及系統(tǒng)的制作方法
【專利摘要】本申請(qǐng)公開了一種高可用服務(wù)器的優(yōu)化方法及系統(tǒng),該方法包括:若mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障,則向mysql備服務(wù)器發(fā)送自主啟動(dòng)命令;確定mysql備服務(wù)器在接收到自主啟動(dòng)命令后是否能夠正常啟動(dòng),如果否,則從mysql日志庫(kù)中篩選出一個(gè)正常日志文件;其中,正常日志文件為mysql主服務(wù)器在正常運(yùn)行時(shí)產(chǎn)生的日志文件;根據(jù)正常日志文件對(duì)應(yīng)的日志狀態(tài),將mysql備服務(wù)器啟動(dòng)至與上述日志狀態(tài)對(duì)應(yīng)的工作狀態(tài)??梢?,本申請(qǐng)實(shí)現(xiàn)了在mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障的情況下,確保高可用服務(wù)器的高可用性的目的。
【專利說明】
一種高可用服務(wù)器的優(yōu)化方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及高可用服務(wù)器技術(shù)領(lǐng)域,特別涉及一種高可用服務(wù)器的優(yōu)化方法及系統(tǒng)。
【背景技術(shù)】
[0002]當(dāng)前,隨著云計(jì)算技術(shù)的發(fā)展,云計(jì)算平臺(tái)對(duì)數(shù)據(jù)安全性方面的要求也越來越高,由此高可用服務(wù)器開始逐漸廣泛地應(yīng)用于云計(jì)算平臺(tái)。高可用服務(wù)器通??苫趍ysql (即關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng))和NFS(即Network File System,網(wǎng)絡(luò)文件系統(tǒng))進(jìn)行搭建,也即高可用服務(wù)器中可通過mysql服務(wù)器和NFS服務(wù)器進(jìn)行搭建,通常情況下,高可用服務(wù)器中至少包括mysql主服務(wù)器、mysql備服務(wù)器和NFS服務(wù)器,其中mysql主服務(wù)器和mysql備服務(wù)器共用一臺(tái)NFS服務(wù)器。
[0003]然而,當(dāng)NFS服務(wù)器的傳輸數(shù)據(jù)網(wǎng)絡(luò)出現(xiàn)延遲或mysql主服務(wù)器出現(xiàn)突然斷電的情況而導(dǎo)致mysql主服務(wù)器的服務(wù)出現(xiàn)中斷故障時(shí),mysql主服務(wù)器通常會(huì)相應(yīng)地產(chǎn)生一些致命性錯(cuò)誤數(shù)據(jù),而該致命性錯(cuò)誤數(shù)據(jù)同時(shí)也在NFS服務(wù)器的數(shù)據(jù)空間上存在,從而使得同樣與NFS服務(wù)器連接的mysql備服務(wù)器無法進(jìn)行正常啟動(dòng),此時(shí)高可用服務(wù)器中的高可用方案便處于失敗狀態(tài)。
[0004]綜上所述可以看出,如何在mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障的情況下,確保高可用服務(wù)器的高可用性是目前亟待解決的問題。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明的目的在于提供一種高可用服務(wù)器的優(yōu)化方法及系統(tǒng),實(shí)現(xiàn)了在mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障的情況下,確保高可用服務(wù)器的高可用性的目的。其具體方案如下:
[0006]一種高可用服務(wù)器的優(yōu)化方法,所述高可用服務(wù)器包括mysql主服務(wù)器、mysql備服務(wù)器和NFS服務(wù)器,其中,所述mysql主服務(wù)器和所述mysql備服務(wù)器均被配置到所述NFS服務(wù)器中的同一NFS目錄下;所述方法包括:
[0007]若所述mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障,則向所述mysql備服務(wù)器發(fā)送自主啟動(dòng)命令;
[0008]確定所述mysql備服務(wù)器在接收到所述自主啟動(dòng)命令后是否能夠正常啟動(dòng),如果否,則從mysql日志庫(kù)中篩選出一個(gè)正常日志文件;其中,所述正常日志文件為所述mysql主服務(wù)器在正常運(yùn)行時(shí)產(chǎn)生的日志文件;
[0009]根據(jù)所述正常日志文件對(duì)應(yīng)的日志狀態(tài),將所述mysql備服務(wù)器啟動(dòng)至與所述日志狀態(tài)對(duì)應(yīng)的工作狀態(tài)。
[0010]優(yōu)選的,所述確定所述mysql備服務(wù)器在接收到所述自主啟動(dòng)命令后是否能夠正常啟動(dòng)的過程,包括:
[0011]在所述mysql備服務(wù)器接收到所述自主啟動(dòng)命令后,每隔一個(gè)預(yù)設(shè)的檢測(cè)周期,對(duì)所述mysql備服務(wù)器是否正常啟動(dòng)進(jìn)行一次檢測(cè);
[0012]如果連續(xù)經(jīng)過N個(gè)所述檢測(cè)周期,均檢測(cè)到所述mysql備服務(wù)器無法正常啟動(dòng),則確定所述mysql備服務(wù)器在接收到所述自主啟動(dòng)命令后未能正常啟動(dòng);其中,N為預(yù)設(shè)的正整數(shù)。
[0013]優(yōu)選的,所述檢測(cè)周期為10秒至15秒中的任一數(shù)值,N為3至5中的任一整數(shù)。
[0014]優(yōu)選的,所述從mysql日志庫(kù)中篩選出一個(gè)正常日志文件的過程,包括:
[0015]從所述mysql日志庫(kù)中篩選出所述mysql主服務(wù)器運(yùn)行中斷前的最新記錄的正常日志文件。
[0016]本發(fā)明相應(yīng)公開的一種高可用服務(wù)器的優(yōu)化系統(tǒng),所述高可用服務(wù)器包括mysql主服務(wù)器、mysql備服務(wù)器和NFS服務(wù)器,其中,所述mysql主服務(wù)器和所述mysql備服務(wù)器均被配置到所述NFS服務(wù)器中的同一NFS目錄下;所述優(yōu)化系統(tǒng)包括:
[0017]命令發(fā)送模塊,用于當(dāng)所述mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障,則向所述mysql備服務(wù)器發(fā)送自主啟動(dòng)命令;
[0018]啟動(dòng)判斷模塊,用于確定所述mysql備服務(wù)器在接收到所述自主啟動(dòng)命令后是否能夠正常啟動(dòng);
[0019]日志篩選模塊,用于當(dāng)所述mysql備服務(wù)器在接收到所述自主啟動(dòng)命令后未能正常啟動(dòng),則從mysql日志庫(kù)中篩選出一個(gè)正常日志文件;其中,所述正常日志文件為所述mysql主服務(wù)器在正常運(yùn)行時(shí)產(chǎn)生的日志文件;
[0020]啟動(dòng)輔助模塊,用于根據(jù)所述正常日志文件對(duì)應(yīng)的日志狀態(tài),將所述mysql備服務(wù)器啟動(dòng)至與所述日志狀態(tài)對(duì)應(yīng)的工作狀態(tài)。
[0021]優(yōu)選的,所述啟動(dòng)判斷模塊包括:
[0022]檢測(cè)單元,用于在所述mysql備服務(wù)器接收到所述自主啟動(dòng)命令后,每隔一個(gè)預(yù)設(shè)的檢測(cè)周期,對(duì)所述mysql備服務(wù)器是否正常啟動(dòng)進(jìn)行一次檢測(cè);
[0023]確定單元,與所述檢測(cè)單元連接,用于當(dāng)所述檢測(cè)單元在連續(xù)N個(gè)所述檢測(cè)周期內(nèi)均檢測(cè)到所述mysql備服務(wù)器無法正常啟動(dòng),則確定所述mysql備服務(wù)器在接收到所述自主啟動(dòng)命令后未能正常啟動(dòng);其中,N為預(yù)設(shè)的正整數(shù)。
[0024]優(yōu)選的,所述檢測(cè)周期為10秒至15秒中的任一數(shù)值,N為3至5中的任一整數(shù)。
[0025]優(yōu)選的,所述日志篩選模塊,具體用于當(dāng)所述mysql備服務(wù)器在接收到所述自主啟動(dòng)命令后未能正常啟動(dòng),則從所述mysql日志庫(kù)中篩選出所述mysql主服務(wù)器運(yùn)行中斷前的最新記錄的正常日志文件。
[0026]本發(fā)明還公開了一種高可用服務(wù)器,包括前述的優(yōu)化系統(tǒng),還包括所述mysql主服務(wù)器、所述my sq I備服務(wù)器和所述NFS服務(wù)器。
[0027]本發(fā)明中,高可用服務(wù)器的優(yōu)化方法包括:若mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障,則向mysql備服務(wù)器發(fā)送自主啟動(dòng)命令;確定mysql備服務(wù)器在接收到自主啟動(dòng)命令后是否能夠正常啟動(dòng),如果否,則從my sql日志庫(kù)中篩選出一個(gè)正常日志文件;其中,正常日志文件為mysql主服務(wù)器在正常運(yùn)行時(shí)產(chǎn)生的日志文件;根據(jù)正常日志文件對(duì)應(yīng)的日志狀態(tài),將mysql備服務(wù)器啟動(dòng)至與上述日志狀態(tài)對(duì)應(yīng)的工作狀態(tài)??梢?,本發(fā)明在mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障,并且在確定mysql備服務(wù)器無法根據(jù)自主啟動(dòng)命令進(jìn)行正常啟動(dòng)的情況下,將mysql備服務(wù)器啟動(dòng)至與mysql日志庫(kù)中的一個(gè)正常日志文件對(duì)應(yīng)的工作狀態(tài),由此確保mysql備服務(wù)器能夠最終實(shí)現(xiàn)正常啟動(dòng)。也即,本發(fā)明實(shí)現(xiàn)了在mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障的情況下,確保高可用服務(wù)器的高可用性的目的。
【附圖說明】
[0028]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0029]圖1為本發(fā)明實(shí)施例公開的一種高可用服務(wù)器的優(yōu)化方法流程圖;
[0030]圖2為本發(fā)明實(shí)施例公開的一種高可用服務(wù)器的優(yōu)化系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0031]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0032]本發(fā)明實(shí)施例公開了一種高可用服務(wù)器的優(yōu)化方法,其中,高可用服務(wù)器包括mysql主服務(wù)器、mysql備服務(wù)器和NFS服務(wù)器,mysql主服務(wù)器和mysql備服務(wù)器均被配置到NFS服務(wù)器中的同一NFS目錄下;參見圖1所示,上述優(yōu)化方法包括:
[0033]步驟Sll:若mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障,貝Ij向mysql備服務(wù)器發(fā)送自主啟動(dòng)命令。
[0034]需要說明的是,引發(fā)mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障的原因通常包括NFS服務(wù)器中的傳輸數(shù)據(jù)網(wǎng)絡(luò)出現(xiàn)延遲或mysql主服務(wù)器突然斷電。
[0035]步驟S12:確走mysql備服務(wù)器在接收到自王啟動(dòng)命令后是否成夠正常啟動(dòng),如果否,則從mysql日志庫(kù)中篩選出一個(gè)正常日志文件;其中,正常日志文件為mysql主服務(wù)器在正常運(yùn)行時(shí)產(chǎn)生的日志文件。
[0036]可以理解的是,若mysql備服務(wù)器能夠根據(jù)自動(dòng)啟動(dòng)命令進(jìn)行正常的啟動(dòng)時(shí),說明此前mysql主服務(wù)器在出現(xiàn)服務(wù)中斷故障的時(shí)候并沒有產(chǎn)生錯(cuò)誤數(shù)據(jù)或者產(chǎn)生的錯(cuò)誤數(shù)據(jù)不足以使得mysql備服務(wù)器無法進(jìn)行正常的啟動(dòng),這種情況下,可直接允許mysql備服務(wù)器根據(jù)自動(dòng)啟動(dòng)命令進(jìn)行正常啟動(dòng),而無需進(jìn)行后續(xù)的日志文件篩選工作。
[0037]另外,上述mysql日志庫(kù)中保存的是mysql主服務(wù)器在歷史運(yùn)行過程中產(chǎn)生的日志文件,其中,既包括正常運(yùn)行時(shí)產(chǎn)生的日志文件,也包括異常運(yùn)行時(shí)產(chǎn)生的日志文件。
[0038]步驟S13:根據(jù)正常日志文件對(duì)應(yīng)的日志狀態(tài),將mysql備服務(wù)器啟動(dòng)至與日志狀態(tài)對(duì)應(yīng)的工作狀態(tài)。
[0039]也即,將mysql備服務(wù)器的工作狀態(tài)啟動(dòng)至與mysql主服務(wù)器產(chǎn)生上述正常日志文件時(shí)的工作狀態(tài)相同的狀態(tài)。
[0040]本發(fā)明實(shí)施例中,高可用服務(wù)器的優(yōu)化方法包括:若mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障,則向mysql備服務(wù)器發(fā)送自主啟動(dòng)命令;確定mysql備服務(wù)器在接收到自主啟動(dòng)命令后是否能夠正常啟動(dòng),如果否,則從mysql日志庫(kù)中篩選出一個(gè)正常日志文件;其中,正常日志文件為mysql主服務(wù)器在正常運(yùn)行時(shí)產(chǎn)生的日志文件;根據(jù)正常日志文件對(duì)應(yīng)的日志狀態(tài),將mysql備服務(wù)器啟動(dòng)至與上述日志狀態(tài)對(duì)應(yīng)的工作狀態(tài)??梢姡景l(fā)明實(shí)施例在mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障,并且在確定mysql備服務(wù)器無法根據(jù)自主啟動(dòng)命令進(jìn)行正常啟動(dòng)的情況下,將mysql備服務(wù)器啟動(dòng)至與mysql日志庫(kù)中的一個(gè)正常日志文件對(duì)應(yīng)的工作狀態(tài),由此確保mysql備服務(wù)器能夠最終實(shí)現(xiàn)正常啟動(dòng)。也即,本發(fā)明實(shí)施例實(shí)現(xiàn)了在mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障的情況下,確保高可用服務(wù)器的高可用性的目的。
[0041]本發(fā)明實(shí)施例公開了一種具體的高可用服務(wù)器的優(yōu)化方法,相對(duì)于上一實(shí)施例,本實(shí)施例對(duì)技術(shù)方案作了進(jìn)一步的說明和優(yōu)化。具體的:
[0042]上一實(shí)施例步驟S12中,確定mysql備服務(wù)器在接收到自主啟動(dòng)命令后是否能夠正常啟動(dòng)的過程,包括:在mysql備服務(wù)器接收到自主啟動(dòng)命令后,每隔一個(gè)預(yù)設(shè)的檢測(cè)周期,對(duì)mysql備服務(wù)器是否正常啟動(dòng)進(jìn)行一次檢測(cè);如果連續(xù)經(jīng)過N個(gè)檢測(cè)周期,均檢測(cè)到mysql備服務(wù)器無法正常啟動(dòng),則確定mysql備服務(wù)器在接收到自主啟動(dòng)命令后未能正常啟動(dòng);其中,N為預(yù)設(shè)的正整數(shù)。
[0043]其中,優(yōu)選的,上述檢測(cè)周期為可以是10秒至15秒中的任一數(shù)值,而上述N值可以為3至5中的任一整數(shù)。當(dāng)然,根據(jù)實(shí)際需要,也可以將上述檢測(cè)周期和N值設(shè)為其他數(shù)值。
[0044]另外,上一實(shí)施例步驟S12中,從mysql日志庫(kù)中篩選出一個(gè)正常日志文件的過程,包括:從mysql日志庫(kù)中篩選出mysql主服務(wù)器運(yùn)行中斷前的最新記錄的正常日志文件。也SP,從當(dāng)前mysql日志庫(kù)記錄的所有歷史日志文件中篩選出文件記錄時(shí)間距離當(dāng)前時(shí)間最近的一個(gè)正常日志文件。
[0045]相應(yīng)的,利用上述文件記錄時(shí)間距離當(dāng)前時(shí)間最近的一個(gè)正常日志文件,將mysql備服務(wù)器啟動(dòng)至與該正常日志文件的日志狀態(tài)對(duì)應(yīng)的工作狀態(tài)。
[0046]相應(yīng)的,本發(fā)明實(shí)施例還公開了一種高可用服務(wù)器的優(yōu)化系統(tǒng),高可用服務(wù)器包括mysql主服務(wù)器、mysql備服務(wù)器和NFS服務(wù)器,其中,mysql主服務(wù)器和mysql備服務(wù)器均被配置到NFS服務(wù)器中的同一NFS目錄下;參見圖2所示,上述優(yōu)化系統(tǒng)包括:
[0047]命令發(fā)送模塊21,用于當(dāng)mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障,則向mysql備服務(wù)器發(fā)送自主啟動(dòng)命令;
[0048]啟動(dòng)判斷模塊22,用于確定mysql備服務(wù)器在接收到自主啟動(dòng)命令后是否能夠正常啟動(dòng);
[0049]日志篩選模塊23,用于當(dāng)mysql備服務(wù)器在接收到自主啟動(dòng)命令后未能正常啟動(dòng),則從mysql日志庫(kù)中篩選出一個(gè)正常日志文件;其中,正常日志文件為mysql主服務(wù)器在正常運(yùn)行時(shí)產(chǎn)生的日志文件;
[0050]啟動(dòng)輔助模塊24,用于根據(jù)正常日志文件對(duì)應(yīng)的日志狀態(tài),將mysql備服務(wù)器啟動(dòng)至與日志狀態(tài)對(duì)應(yīng)的工作狀態(tài)。
[0051]可見,本發(fā)明實(shí)施例在mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障,并且在確定mysql備服務(wù)器無法根據(jù)自主啟動(dòng)命令進(jìn)行正常啟動(dòng)的情況下,將mysql備服務(wù)器啟動(dòng)至與mysql日志庫(kù)中的一個(gè)正常日志文件對(duì)應(yīng)的工作狀態(tài),由此確保mysql備服務(wù)器能夠最終實(shí)現(xiàn)正常啟動(dòng)。也即,本發(fā)明實(shí)施例實(shí)現(xiàn)了在mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障的情況下,確保高可用服務(wù)器的高可用性的目的。
[0052]本發(fā)明實(shí)施例進(jìn)一步公開了一種具體的高可用服務(wù)器的優(yōu)化系統(tǒng),相對(duì)于上一實(shí)施例,本實(shí)施例對(duì)技術(shù)方案作了進(jìn)一步的說明和優(yōu)化。具體的:
[0053]上一實(shí)施例中的啟動(dòng)判斷模塊具體可以包括檢測(cè)單元和確定單元;其中,
[0054]檢測(cè)單元,用于在mysql備服務(wù)器接收到自主啟動(dòng)命令后,每隔一個(gè)預(yù)設(shè)的檢測(cè)周期,對(duì)mysql備服務(wù)器是否正常啟動(dòng)進(jìn)行一次檢測(cè);
[0055]確定單元,與檢測(cè)單元連接,用于當(dāng)檢測(cè)單元在連續(xù)N個(gè)檢測(cè)周期內(nèi)均檢測(cè)到mysql備服務(wù)器無法正常啟動(dòng),則確定mysql備服務(wù)器在接收到自主啟動(dòng)命令后未能正常啟動(dòng);其中,N為預(yù)設(shè)的正整數(shù)。
[0056]其中,優(yōu)選的,上述檢測(cè)周期為可以是10秒至15秒中的任一數(shù)值,而上述N值可以為3至5中的任一整數(shù)。當(dāng)然,根據(jù)實(shí)際需要,也可以將上述檢測(cè)周期和N值設(shè)為其他數(shù)值。
[0057]另外,上一實(shí)施例日志篩選模塊,具體用于當(dāng)mysql備服務(wù)器在接收到自主啟動(dòng)命令后未能正常啟動(dòng),則從mysql日志庫(kù)中篩選出mysql主服務(wù)器運(yùn)行中斷前的最新記錄的正常日志文件。也即,從當(dāng)前mysql日志庫(kù)記錄的所有歷史日志文件中篩選出文件記錄時(shí)間距離當(dāng)前時(shí)間最近的一個(gè)正常日志文件。
[0058]相應(yīng)的,上一實(shí)施例中的啟動(dòng)輔助模塊利用上述文件記錄時(shí)間距離當(dāng)前時(shí)間最近的一個(gè)正常日志文件,將mysql備服務(wù)器啟動(dòng)至與該正常日志文件的日志狀態(tài)對(duì)應(yīng)的工作狀態(tài)。
[0059]進(jìn)一步的,本發(fā)明實(shí)施例還公開了一種高可用服務(wù)器,包括前述實(shí)施例中公開的優(yōu)化系統(tǒng),還包括mysql主服務(wù)器、mysql備服務(wù)器和NFS服務(wù)器。關(guān)于該優(yōu)化系統(tǒng)的具體構(gòu)造可參考前述實(shí)施例中的相關(guān)內(nèi)容,在此不再贅述。
[0060]最后,還需要說明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0061]以上對(duì)本發(fā)明所提供的一種高可用服務(wù)器的優(yōu)化方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
【主權(quán)項(xiàng)】
1.一種高可用服務(wù)器的優(yōu)化方法,其特征在于,所述高可用服務(wù)器包括mysql主服務(wù)器、mysql備服務(wù)器和NFS服務(wù)器,其中,所述mysql主服務(wù)器和所述mysql備服務(wù)器均被配置到所述NFS服務(wù)器中的同一NFS目錄下;所述方法包括: 若所述mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障,則向所述mysql備服務(wù)器發(fā)送自主啟動(dòng)命令; 確定所述mysql備服務(wù)器在接收到所述自主啟動(dòng)命令后是否能夠正常啟動(dòng),如果否,則從mysql日志庫(kù)中篩選出一個(gè)正常日志文件;其中,所述正常日志文件為所述mysql主服務(wù)器在正常運(yùn)行時(shí)產(chǎn)生的日志文件; 根據(jù)所述正常日志文件對(duì)應(yīng)的日志狀態(tài),將所述mysql備服務(wù)器啟動(dòng)至與所述日志狀態(tài)對(duì)應(yīng)的工作狀態(tài)。2.根據(jù)權(quán)利要求1所述的高可用服務(wù)器的優(yōu)化方法,其特征在于,所述確定所述mysql備服務(wù)器在接收到所述自主啟動(dòng)命令后是否能夠正常啟動(dòng)的過程,包括: 在所述mysql備服務(wù)器接收到所述自主啟動(dòng)命令后,每隔一個(gè)預(yù)設(shè)的檢測(cè)周期,對(duì)所述mysql備服務(wù)器是否正常啟動(dòng)進(jìn)行一次檢測(cè); 如果連續(xù)經(jīng)過N個(gè)所述檢測(cè)周期,均檢測(cè)到所述mysql備服務(wù)器無法正常啟動(dòng),則確定所述mysql備服務(wù)器在接收到所述自主啟動(dòng)命令后未能正常啟動(dòng);其中,N為預(yù)設(shè)的正整數(shù)。3.根據(jù)權(quán)利要求2所述的高可用服務(wù)器的優(yōu)化方法,其特征在于,所述檢測(cè)周期為10秒至15秒中的任一數(shù)值,N為3至5中的任一整數(shù)。4.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的高可用服務(wù)器的優(yōu)化方法,其特征在于,所述從mysql日志庫(kù)中篩選出一個(gè)正常日志文件的過程,包括: 從所述mysql日志庫(kù)中篩選出所述mysql主服務(wù)器運(yùn)行中斷前的最新記錄的正常日志文件。5.—種高可用服務(wù)器的優(yōu)化系統(tǒng),其特征在于,所述高可用服務(wù)器包括mysql主服務(wù)器、mysql備服務(wù)器和NFS服務(wù)器,其中,所述mysql主服務(wù)器和所述mysql備服務(wù)器均被配置到所述NFS服務(wù)器中的同一NFS目錄下;所述優(yōu)化系統(tǒng)包括: 命令發(fā)送模塊,用于當(dāng)所述mysql主服務(wù)器出現(xiàn)服務(wù)中斷故障,則向所述mysql備服務(wù)器發(fā)送自主啟動(dòng)命令; 啟動(dòng)判斷模塊,用于確定所述mysql備服務(wù)器在接收到所述自主啟動(dòng)命令后是否能夠正常啟動(dòng); 日志篩選模塊,用于當(dāng)所述mysql備服務(wù)器在接收到所述自主啟動(dòng)命令后未能正常啟動(dòng),則從mysql日志庫(kù)中篩選出一個(gè)正常日志文件;其中,所述正常日志文件為所述mysql主服務(wù)器在正常運(yùn)行時(shí)產(chǎn)生的日志文件; 啟動(dòng)輔助模塊,用于根據(jù)所述正常日志文件對(duì)應(yīng)的日志狀態(tài),將所述mysql備服務(wù)器啟動(dòng)至與所述日志狀態(tài)對(duì)應(yīng)的工作狀態(tài)。6.根據(jù)權(quán)利要求5所述的高可用服務(wù)器的優(yōu)化系統(tǒng),其特征在于,所述啟動(dòng)判斷模塊包括: 檢測(cè)單元,用于在所述mysql備服務(wù)器接收到所述自主啟動(dòng)命令后,每隔一個(gè)預(yù)設(shè)的檢測(cè)周期,對(duì)所述mysql備服務(wù)器是否正常啟動(dòng)進(jìn)行一次檢測(cè); 確定單元,與所述檢測(cè)單元連接,用于當(dāng)所述檢測(cè)單元在連續(xù)N個(gè)所述檢測(cè)周期內(nèi)均檢測(cè)到所述mysql備服務(wù)器無法正常啟動(dòng),則確定所述mysql備服務(wù)器在接收到所述自主啟動(dòng)命令后未能正常啟動(dòng);其中,N為預(yù)設(shè)的正整數(shù)。7.根據(jù)權(quán)利要求6所述的高可用服務(wù)器的優(yōu)化系統(tǒng),其特征在于,所述檢測(cè)周期為10秒至15秒中的任一數(shù)值,N為3至5中的任一整數(shù)。8.根據(jù)權(quán)利要求5至7任一項(xiàng)所述的高可用服務(wù)器的優(yōu)化系統(tǒng),其特征在于,所述日志篩選模塊,具體用于當(dāng)所述mysql備服務(wù)器在接收到所述自主啟動(dòng)命令后未能正常啟動(dòng),則從所述mysql日志庫(kù)中篩選出所述mysql主服務(wù)器運(yùn)行中斷前的最新記錄的正常日志文件。9.一種高可用服務(wù)器,其特征在于,包括如權(quán)利要求5至8任一項(xiàng)所述的優(yōu)化系統(tǒng),還包括所述mysql主服務(wù)器、所述mysql備服務(wù)器和所述NFS服務(wù)器。
【文檔編號(hào)】G06F11/16GK106055434SQ201610375329
【公開日】2016年10月26日
【申請(qǐng)日】2016年5月31日
【發(fā)明人】李新虎, 于輝, 胡玉鵬
【申請(qǐng)人】浪潮(北京)電子信息產(chǎn)業(yè)有限公司