本發明專利技術公開了一種數據庫主從同步狀態監控的方法,通過調用第一編程函數,自動執行預設結構化查詢指令,得出執行結果;根據上述執行結果,判斷數據庫的主從同步狀態是否正常。利用編程手段,自動執行結構化查詢指令,對數據庫的主從同步狀態進行監控,相較于人工執行結構化查詢指令對數據庫的主從同步狀態進行監控,其自動執行結構化查詢指令,使得數據庫的主從同步狀態的監控效率較高,可見,本申請有利于提高數據庫主從同步狀態的監控效率。此外,本發明專利技術還提供了一種數據庫主從同步狀態監控的裝置,與上述方法有一一對應的優點。
【技術實現步驟摘要】
一種數據庫主從同步狀態監控的方法以及裝置
本專利技術涉及數據庫
,特別是涉及一種數據庫主從同步狀態監控的方法以及裝置。
技術介紹
隨著網站業務的發展進步,用戶數量以及數據量也在不斷地增加,從而導致數據庫的訪問量也呈線性地增長。為了應對日益增長的訪問量,數據庫主從同步架構廣泛應用于大型網站系統。例如,MYSQL主從同步架構,其中MySam引擎負責新增、修改、刪除等操作,InnoDB引擎負責查詢。數據庫主從同步架構可以是指設立有主從兩個數據庫,主從數據庫之間的信息狀態是同步的。數據庫主從同步狀態是決定著數據庫在高并發負載下的性能好壞,因而數據庫主從同步狀態的監控也就顯得尤為重要。現有技術中的數據主從同步狀態的監控方法一般是人為手動地執行結構化查詢語句(StructuredQueryLanguage,SQL)語句,例如show、slave以及status\G等語句,然后檢查輸出結果中的Slave_IO_Running、Slave_SQL_Running以及Seconds_Behind_Master等三個參數值,最后人工判斷數據庫主從同步狀態是否正常。但是,由于數據庫主從同步狀態的監控是人工完成的,在進行檢測時,需要運維人員逐一登錄每臺設備進行檢查,而當設備數量達至成百上千時,工作量極大,進而導致數據庫主從同步狀態監控效率較低。綜上所述,如何提高數據庫主從同步狀態監控效率是本領域亟待解決的問題。
技術實現思路
本專利技術的目的是提供一種數據庫主從同步狀態監控的方法以及裝置,目的在于解決現有技術中數據庫主從同步狀態監控效率較低的問題。為解決上述技術問題,本專利技術提供一種數據庫主從同步狀態監控的方法,該方法包括:調用第一編程函數,自動執行預設結構化查詢指令,得出執行結果;根據所述執行結果,判斷數據庫的主從同步狀態是否正常。可選地,在所述調用監控函數,自動執行預設結構化查詢指令,得出執行結果之前還包括:調用第二編程函數,測試所述數據庫的端口狀態,判斷是否符合預設連接條件;當符合所述預設連接條件時,則進行后續步驟;當不符合所述預設連接條件時,生成第一告警郵件,并將所述告警郵件發送至第一預設收件人。可選地,所述當不符合所述預設連接條件時,生成第一告警郵件,并將所述告警郵件發送至第一預設收件人包括:獲取所述數據庫的第一異常信息;根據所述第一異常信息以及第一預設郵件模板,生成所述第一告警郵件;將所述第一告警郵件發送至所述第一預設收件人。可選地,在所述根據所述執行結果,判斷數據庫的主從同步狀態是否正常之后還包括:當判斷出所述數據庫的主從同步狀態為正常時,停止執行監控程序;當判斷出所述數據庫的主從同步狀態為異常時,獲取所述數據庫的第二異常信息;根據所述第二異常信息以及第二預設郵件模板,生成第二告警郵件;將所述第二告警郵件發送至第二預設收件人。可選地,在所述當判斷出所述數據庫的主從同步狀態為正常時,停止執行監控程序之后還包括:在經過預設周期之后,執行所述監控程序,對所述數據庫的主從同步狀態進行監控。此外,本專利技術還提供了一種數據庫主從同步狀態監控的裝置,該裝置包括:調用模塊,用于調用第一編程函數,自動執行預設結構化查詢指令,得出執行結果;第一判斷模塊,用于根據所述執行結果,判斷數據庫的主從同步狀態是否正常。可選地,還包括:第二判斷模塊,用于調用第二編程函數,測試所述數據庫的端口狀態,判斷是否符合預設連接條件;建立模塊,用于當符合所述預設連接條件時,則進行后續步驟;第一告警模塊,用于當不符合所述預設連接條件時,生成第一告警郵件,并將所述告警郵件發送至第一預設收件人。可選地,所述第一告警模塊包括:第一異常信息獲取單元,用于獲取所述數據庫的第一異常信息;生成單元,用于根據所述第一異常信息以及第一預設郵件模板,生成所述第一告警郵件;發送單元,用于將所述第一告警郵件發送至所述第一預設收件人。可選地,還包括:停止模塊,用于當判斷出所述數據庫的主從同步狀態為正常時,停止執行監控程序;獲取模塊,用于當判斷出所述數據庫的主從同步狀態為異常時,獲取所述數據庫的第二異常信息;生成模塊,用于根據所述第二異常信息以及第二預設郵件模板,生成第二告警郵件;發送模塊,用于將所述第二告警郵件發送至第二預設收件人。可選地,還包括:定時執行模塊,用于在經過預設周期之后,執行所述監控程序,對所述數據庫的主從同步狀態進行監控。本專利技術所提供的一種數據庫主從同步狀態監控的方法以及裝置,通過調用第一編程函數,自動執行預設結構化查詢指令,得出執行結果;根據上述執行結果,判斷數據庫的主從同步狀態是否正常。利用編程手段,自動執行結構化查詢指令,對數據庫的主從同步狀態進行監控,相較于人工執行結構化查詢指令對數據庫的主從同步狀態進行監控,其自動執行結構化查詢指令,使得數據庫的主從同步狀態的監控效率較高,可見,本申請有利于提高數據庫主從同步狀態的監控效率。附圖說明為了更清楚的說明本專利技術實施例或現有技術的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本專利技術實施例所提供的數據庫主從同步狀態監控方法的一種具體實施方式的流程示意圖;圖2為本專利技術實施例所提供的數據庫主從同步狀態監控裝置的結構框圖。具體實施方式為了使本
的人員更好地理解本專利技術方案,下面結合附圖和具體實施方式對本專利技術作進一步的詳細說明。顯然,所描述的實施例僅僅是本專利技術一部分實施例,而不是全部的實施例。基于本專利技術中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本專利技術保護的范圍。由于數據庫以及所使用的編程語言的不同,實現數據庫主從同步狀態監控的方式也會有所不同,故在下文將以數據為MYSQL數據庫,編程語言為Python的場景下進行介紹說明。顯而易見地,當數據庫的類型不同,或者是所使用腳本語言的不同時,具體實現方式也與本專利技術實施例的思想一致,即也落在本專利技術實施例的保護范圍內。請參見圖1,圖1為本專利技術實施例所提供的數據庫主從同步狀態監控方法的一種具體實施方式的流程示意圖,該方法包括以下步驟:步驟101:調用第一編程函數,自動執行預設結構化查詢指令,得出執行結果。需要說明的是,上述第一編程函數可以是指Python語言的isSlave函數,其可以數據庫自動執行相應的結構化查詢指令,以對數據的主從同步狀態進行監控,即利用該函數,可以監控數據庫的主從同步狀態。上述預設結構化查詢指令可以是指SQL語句,例如,可以為show、slave以及status\G等SQL語句。其可以根據數據庫的主從同步狀態,得出相應的參數值,根據該參數值,可以判斷出數據庫的主從同步狀態是否正常。上述執行結果可以是指執行SQL語句后,得出的參數值,例如,當執行的是show、slave以及status\G三個SQL語句時,輸出結果為Slave_IO_Running、Slave_SQL_Running以及Seconds_Behind_Master三個參數值,這三個參數值即為執行結果。具體地,運行基于Python語言編寫的監控腳本,監控腳本可以調用到第一編程函數即is本文檔來自技高網...

【技術保護點】
一種數據庫主從同步狀態監控的方法,其特征在于,包括:調用第一編程函數,自動執行預設結構化查詢指令,得出執行結果;根據所述執行結果,判斷數據庫的主從同步狀態是否正常。
【技術特征摘要】
1.一種數據庫主從同步狀態監控的方法,其特征在于,包括:調用第一編程函數,自動執行預設結構化查詢指令,得出執行結果;根據所述執行結果,判斷數據庫的主從同步狀態是否正常。2.如權利要求1所述的方法,其特征在于,在所述調用監控函數,自動執行預設結構化查詢指令,得出執行結果之前還包括:調用第二編程函數,測試所述數據庫的端口狀態,判斷是否符合預設連接條件;當符合所述預設連接條件時,則進行后續步驟;當不符合所述預設連接條件時,生成第一告警郵件,并將所述告警郵件發送至第一預設收件人。3.如權利要求2所述的方法,其特征在于,所述當不符合所述預設連接條件時,生成第一告警郵件,并將所述告警郵件發送至第一預設收件人包括:獲取所述數據庫的第一異常信息;根據所述第一異常信息以及第一預設郵件模板,生成所述第一告警郵件;將所述第一告警郵件發送至所述第一預設收件人。4.如權利要求1至3任一項所述的方法,其特征在于,在所述根據所述執行結果,判斷數據庫的主從同步狀態是否正常之后還包括:當判斷出所述數據庫的主從同步狀態為正常時,停止執行監控程序;當判斷出所述數據庫的主從同步狀態為異常時,獲取所述數據庫的第二異常信息;根據所述第二異常信息以及第二預設郵件模板,生成第二告警郵件;將所述第二告警郵件發送至第二預設收件人。5.如權利要求4所述的方法,其特征在于,在所述當判斷出所述數據庫的主從同步狀態為正常時,停止執行監控程序之后還包括:在經過預設周期之后,執行所述監控程序,對所述數據...
【專利技術屬性】
技術研發人員:王文慶,
申請(專利權)人:鄭州云海信息技術有限公司,
類型:發明
國別省市:河南,41
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。