,作為所述預先指定的時間戳。
[0137] 可選的,所述裝置包括:
[0138] 主備切換判斷單元,用于判斷MyS化數(shù)據(jù)庫系統(tǒng)是否執(zhí)行了主備切換操作;
[0139] 當前數(shù)據(jù)庫選擇單元,用于當所述主備切換判斷單元的輸出為"是"時,將接替所 述MyS化主數(shù)據(jù)庫繼續(xù)提供數(shù)據(jù)庫服務的MyS化備用數(shù)據(jù)庫,作為所述當前MyS化數(shù)據(jù)庫。
[0140] 可選的,所述主備切換判斷單元具體用于,監(jiān)測存儲在元信息庫中的、用于記錄 MyS化主數(shù)據(jù)庫所在服務器的IP地址的字段是否發(fā)生變化;若是,則判斷MyS化數(shù)據(jù)庫系 統(tǒng)執(zhí)行了主備切換操作。
[0141] 本申請雖然W較佳實施例公開如上,但其并不是用來限定本申請,任何本領域技 術人員在不脫離本申請的精神和范圍內,都可W做出可能的變動和修改,因此本申請的保 護范圍應當W本申請權利要求所界定的范圍為準。
[0142] 在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出接口、 網(wǎng)絡接口和內存。
[0143] 內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(RAM)和/ 或非易失性內存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內存是計算機可讀介質 的示例。
[0144] 1、計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可W由任何 方法或技術來實現(xiàn)信息存儲。信息可W是計算機可讀指令、數(shù)據(jù)結構、程序的模塊或其 他數(shù)據(jù)。計算機的存儲介質的例子包括,但不限于相變內存(PRAM)、靜態(tài)隨機存取存儲 器(SRAM)、動態(tài)隨機存取存儲器值RAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器 (ROM)、電可擦除可編程只讀存儲器巧EPROM)、快閃記憶體或其他內存技術、只讀光盤只讀 存儲器(CD-ROM)、數(shù)字多功能光盤值VD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或 其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可W被計算設備訪問的信息。按照 本文中的界定,計算機可讀介質不包括非暫存電腦可讀媒體(transitory media),如調制 的數(shù)據(jù)信號和載波。
[0145] 2、本領域技術人員應明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產(chǎn) 品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結合軟件和硬件方面的實施例 的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用 存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的 形式。
【主權項】
1. 一種用于獲取MySQL binlog增量日志的方法,其特征在于,包括: 在當前MySQL數(shù)據(jù)庫的二進制日志文件集合中,查找其時間戳不早于預先指定的時間 戳的第一個記錄; 根據(jù)該記錄所在二進制日志文件的文件名和該記錄在所述文件中的位置,獲取所述當 前MySQL數(shù)據(jù)庫的增量日志。2. 根據(jù)權利要求1所述的用于獲取MySQL binlog增量日志的方法,其特征在于,所述 在當前MySQL數(shù)據(jù)庫的二進制日志文件集合中,查找其時間戳不早于預先指定的時間戳的 第一個記錄,包括: 在所述當前MySQL數(shù)據(jù)庫的二進制日志文件集合中,查找其包含的第一個記錄的時間 戳不晚于所述預先指定的時間戳的最后一個文件; 在所述最后一個文件中查找其時間戳不早于所述預先指定的時間戳的第一個記錄。3. 根據(jù)權利要求2所述的用于獲取MySQL binlog增量日志的方法,其特征在于,執(zhí)行 在所述當前MySQL數(shù)據(jù)庫的二進制日志文件集合中,查找其包含的第一個記錄的時間戳不 晚于所述預先指定的時間戳的最后一個文件的步驟時,采用的是二分查找法。4. 根據(jù)權利要求1-3任意一項所述的用于獲取MySQL binlog增量日志的方法,其特征 在于,包括: 與所述當前MySQL數(shù)據(jù)庫建立數(shù)據(jù)連接; 獲取所述當前MySQL數(shù)據(jù)庫的二進制日志文件列表; 相應的,所述在當前MySQL數(shù)據(jù)庫的二進制日志文件集合中,查找其時間戳不早于預 先指定的時間戳的第一個記錄,就是在上述獲取的二進制日志文件列表包含的文件集合中 執(zhí)行的查找操作。5. 根據(jù)權利要求4所述的用于獲取MySQL binlog增量日志的方法,其特征在于,所述 與所述當前MySQL數(shù)據(jù)庫建立數(shù)據(jù)連接包括: 獲取所述當前MySQL數(shù)據(jù)庫所在服務器的IP地址和所述當前MySQL數(shù)據(jù)庫提供數(shù)據(jù) 庫服務的端口號; 使用所述IP地址和所述端口號與所述當前MySQL數(shù)據(jù)庫建立數(shù)據(jù)連接。6. 根據(jù)權利要求5所述的用于獲取MySQL binlog增量日志的方法,其特征在于,所述 獲取所述當前MySQL數(shù)據(jù)庫所在服務器的IP地址和所述當前MySQL數(shù)據(jù)庫提供數(shù)據(jù)庫服 務的端口號,采用如下方式實現(xiàn): 讀取元信息庫中與所述當前MySQL數(shù)據(jù)庫相關的信息,并從中提取所述IP地址和所述 端口號。7. 根據(jù)權利要求4所述的用于獲取MySQL binlog增量日志的方法,其特征在于,包 括: 記錄從MySQL主數(shù)據(jù)庫獲取的增量日志的最后一個記錄的時間戳,作為所述預先指定 的時間戳。8. 根據(jù)權利要求7所述的用于獲取MySQL binlog增量日志的方法,其特征在于,在所 述記錄從MySQL主數(shù)據(jù)庫獲取的增量日志的最后一個記錄的時間戳,作為所述預先指定的 時間戳的步驟之前,執(zhí)行下述步驟: 判斷MySQL數(shù)據(jù)庫系統(tǒng)是否執(zhí)行了主備切換操作; 若是,將接替所述MySQL主數(shù)據(jù)庫繼續(xù)提供數(shù)據(jù)庫服務的MySQL備用數(shù)據(jù)庫,作為所述 當前MySQL數(shù)據(jù)庫。9. 根據(jù)權利要求8所述的用于獲取MySQL binlog增量日志的方法,其特征在于,所述 判斷MySQL數(shù)據(jù)庫系統(tǒng)是否執(zhí)行了主備切換操作,采用如下方式實現(xiàn): 監(jiān)測存儲在元信息庫中的、用于記錄MySQL主數(shù)據(jù)庫所在服務器的IP地址的字段是否 發(fā)生變化;若是,則判斷MySQL數(shù)據(jù)庫系統(tǒng)執(zhí)行了主備切換操作。10. -種用于獲取MySQL binlog增量日志的裝置,其特征在于,包括: 記錄查找單元,用于在當前MySQL數(shù)據(jù)庫的二進制日志文件集合中,查找其時間戳不 早于預先指定的時間戳的第一個記錄; 增量日志獲取單元,用于根據(jù)所述記錄查找單元找到的記錄所在二進制日志文件的文 件名和該記錄在所述文件中的位置,獲取所述當前MySQL數(shù)據(jù)庫的增量日志。11. 根據(jù)權利要求10所述的用于獲取MySQL binlog增量日志的裝置,其特征在于,所 述記錄查找單元包括: 文件查找子單元,用于在所述當前MySQL數(shù)據(jù)庫的二進制日志文件集合中,查找其包 含的第一個記錄的時間戳不晚于所述預先指定的時間戳的最后一個文件; 記錄查找執(zhí)行子單元,用于在所述最后一個文件中查找其時間戳不早于所述預先指定 的時間戳的第一個記錄。12. 根據(jù)權利要求11所述的用于獲取MySQL binlog增量日志的裝置,其特征在于,所 述文件查找子單元具體用于,采用二分查找法,在所述當前MySQL數(shù)據(jù)庫的二進制日志文 件集合中,查找其包含的第一個記錄的時間戳不晚于所述預先指定的時間戳的最后一個文 件。13. 根據(jù)權利要求10-12任意一項所述的用于獲取MySQL binlog增量日志的裝置,其 特征在于,包括: 連接建立單元,用于與所述當前MySQL數(shù)據(jù)庫建立數(shù)據(jù)連接; 文件列表獲取單元,用于獲取所述當前MySQL數(shù)據(jù)庫的二進制日志文件列表; 相應的,所述記錄查找單元在所述文件列表獲取單元輸出的二進制日志文件列表包含 的文件集合中執(zhí)行查找操作。14. 根據(jù)權利要求13所述的用于獲取MySQL binlog增量日志的裝置,其特征在于,所 述連接建立單元包括: 連接信息獲取子單元,用于獲取所述當前MySQL數(shù)據(jù)庫所在服務器的IP地址和所述當 前MySQL數(shù)據(jù)庫提供數(shù)據(jù)庫服務的端口號; 連接建立執(zhí)行子單元,用于使用所述連接信息獲取子單元輸出的IP地址和端口號與 所述當前MySQL數(shù)據(jù)庫建立數(shù)據(jù)連接。15. 根據(jù)權利要求14所述的用于獲取MySQL binlog增量日志的裝置,其特征在于,所 述連接信息獲取子單元具體用于,讀取元信息庫中與所述當前MySQL數(shù)據(jù)庫相關的信息, 并從中提取所述IP地址和所述端口號。16. 根據(jù)權利要求13所述的用于獲取MySQL binlog增量日志的裝置,其特征在于,包 括: 時間戳記錄單元,用于記錄從MySQL主數(shù)據(jù)庫獲取的增量日志的最后一個記錄的時間 戳,作為所述預先指定的時間戳。17. 根據(jù)權利要求16所述的用于獲取MySQL binlog增量日志的裝置,其特征在于,包 括: 主備切換判斷單元,用于判斷MySQL數(shù)據(jù)庫系統(tǒng)是否執(zhí)行了主備切換操作; 當前數(shù)據(jù)庫選擇單元,用于當所述主備切換判斷單元的輸出為"是"時,將接替所述 MySQL主數(shù)據(jù)庫繼續(xù)提供數(shù)據(jù)庫服務的MySQL備用數(shù)據(jù)庫,作為所述當前MySQL數(shù)據(jù)庫。18. 根據(jù)權利要求17所述的用于獲取MySQL binlog增量日志的裝置,其特征在于,所 述主備切換判斷單元具體用于,監(jiān)測存儲在元信息庫中的、用于記錄MySQL主數(shù)據(jù)庫所在 服務器的IP地址的字段是否發(fā)生變化;若是,則判斷MySQL數(shù)據(jù)庫系統(tǒng)執(zhí)行了主備切換操 作。
【專利摘要】本申請公開了一種用于獲取MySQL binlog增量日志的方法,包括:在當前MySQL數(shù)據(jù)庫的二進制日志文件集合中,查找其時間戳不早于預先指定的時間戳的第一個記錄;根據(jù)該記錄所在二進制日志文件的文件名和該記錄在所述文件中的位置,獲取所述當前MySQL數(shù)據(jù)庫的增量日志。本申請同時提供一種用于獲取MySQL binlog增量日志的裝置。采用本申請?zhí)峁┑姆椒?,可以通過時間戳指定獲取增量日志的起始位點,從而在MySQL主數(shù)據(jù)庫變更的情況下仍然可以正確獲取增量日志數(shù)據(jù)。
【IPC分類】G06F17/30
【公開號】CN104951474
【申請?zhí)枴緾N201410125645
【發(fā)明人】劉杰
【申請人】阿里巴巴集團控股有限公司
【公開日】2015年9月30日
【申請日】2014年3月31日