[發(fā)明專利]基于binlog的元數(shù)據(jù)管理方法和用于提供元數(shù)據(jù)的方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201410403789.5 | 申請(qǐng)日: | 2014-08-15 |
| 公開(公告)號(hào): | CN105447014B | 公開(公告)日: | 2019-03-15 |
| 發(fā)明(設(shè)計(jì))人: | 曾文旌 | 申請(qǐng)(專利權(quán))人: | 阿里巴巴集團(tuán)控股有限公司 |
| 主分類號(hào): | G06F16/242 | 分類號(hào): | G06F16/242 |
| 代理公司: | 北京清源匯知識(shí)產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 11644 | 代理人: | 馮德魁 |
| 地址: | 英屬開曼群島大開*** | 國(guó)省代碼: | 開曼群島;KY |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 binlog 數(shù)據(jù)管理 方法 用于 提供 數(shù)據(jù) 裝置 | ||
本申請(qǐng)公開了一種基于binlog的元數(shù)據(jù)管理方法和裝置,以及一種用于提供元數(shù)據(jù)的方法和裝置。其中,所述基于binlog的元數(shù)據(jù)管理方法包括:從MySQL主數(shù)據(jù)庫(kù)獲取元數(shù)據(jù),作為基準(zhǔn)元數(shù)據(jù);以上述獲取基準(zhǔn)元數(shù)據(jù)的時(shí)間點(diǎn)為起點(diǎn),從所述MySQL主數(shù)據(jù)庫(kù)獲取二進(jìn)制日志binlog數(shù)據(jù);在上述獲取binlog數(shù)據(jù)的過程中,針對(duì)所述binlog數(shù)據(jù)中的每個(gè)日志事件執(zhí)行下述操作:判斷所述日志事件記錄的是否為DDL操作;若是,存儲(chǔ)與所述DDL操作相關(guān)的信息。采用本申請(qǐng)?zhí)峁┑姆椒ǎ瑢?shí)現(xiàn)了對(duì)MySQL主數(shù)據(jù)庫(kù)在各個(gè)時(shí)間點(diǎn)的元數(shù)據(jù)的自主管理,從而可以提供從自主管理的起始時(shí)間到當(dāng)前時(shí)間之間的任意一個(gè)時(shí)間點(diǎn)的元數(shù)據(jù)信息,增強(qiáng)了binlog解析功能的容錯(cuò)性和可運(yùn)維性。
技術(shù)領(lǐng)域
本申請(qǐng)涉及MySQL數(shù)據(jù)庫(kù)技術(shù),具體涉及一種基于binlog的元數(shù)據(jù)管理方法和裝置。本申請(qǐng)同時(shí)提供一種用于提供元數(shù)據(jù)的方法和裝置。
背景技術(shù)
MySQL是一個(gè)開放源碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),通常采用主從同步的架構(gòu)方式,即:一臺(tái)主服務(wù)器負(fù)責(zé)處理寫入操作和少量的讀操作,一臺(tái)或者多臺(tái)從服務(wù)器(或稱備用服務(wù)器)負(fù)責(zé)處理讀操作,從而實(shí)現(xiàn)負(fù)載均衡,縮短對(duì)用戶訪問請(qǐng)求的響應(yīng)時(shí)間。針對(duì)上述主從同步的架構(gòu)方式,MySQL數(shù)據(jù)庫(kù)通常采用二進(jìn)制日志文件binlog來實(shí)現(xiàn)主、從數(shù)據(jù)庫(kù)之間的數(shù)據(jù)復(fù)制功能。
隨著數(shù)據(jù)庫(kù)技術(shù)以及數(shù)據(jù)庫(kù)業(yè)務(wù)的發(fā)展,上述主從復(fù)制功能已無法滿足多變的用戶需求,例如,有的數(shù)據(jù)庫(kù)業(yè)務(wù)只需要同步部分庫(kù)或者表中的數(shù)據(jù);有的業(yè)務(wù)則需要把MySQL中的數(shù)據(jù),同步到其他關(guān)系數(shù)據(jù)庫(kù),甚至nosql數(shù)據(jù)庫(kù)中去。基于這些需求,有些公司開發(fā)了基于binlog的數(shù)據(jù)同步產(chǎn)品,在MySQL系統(tǒng)的外部實(shí)現(xiàn)數(shù)據(jù)解析和同步功能,具體說:將從MySQL主庫(kù)拉取的binlog數(shù)據(jù)解析成和數(shù)據(jù)庫(kù)無關(guān)的結(jié)構(gòu)數(shù)據(jù),然后將所述結(jié)構(gòu)數(shù)據(jù)按照目標(biāo)數(shù)據(jù)庫(kù)的需求導(dǎo)入到所述目標(biāo)數(shù)據(jù)庫(kù)中,從而實(shí)現(xiàn)所需的數(shù)據(jù)同步功能。
在上述數(shù)據(jù)同步的過程中,為了完整地將binlog中的數(shù)據(jù)解析成和數(shù)據(jù)庫(kù)無關(guān)的結(jié)構(gòu)數(shù)據(jù),通常需要獲知MySQL數(shù)據(jù)庫(kù)的完整元數(shù)據(jù)(meta數(shù)據(jù),即:記錄數(shù)據(jù)庫(kù)和表結(jié)構(gòu)的數(shù)據(jù)),然而由于binlog自身無法提供這部分?jǐn)?shù)據(jù),因此現(xiàn)有技術(shù)通常采用以下三種方式獲取:
1)直接向MySQL主數(shù)據(jù)庫(kù)查詢所需的元數(shù)據(jù);
2)搭建獨(dú)立的MySQL數(shù)據(jù)庫(kù),每從binlog數(shù)據(jù)里獲取一個(gè)DDL,都在該MySQL數(shù)據(jù)庫(kù)中執(zhí)行,需要元數(shù)據(jù)時(shí)從該MySQL數(shù)據(jù)庫(kù)中獲取;
3)搭建meta中心,定期從MySQL主數(shù)據(jù)庫(kù)抓取元數(shù)據(jù)并保存,如果在數(shù)據(jù)同步過程中因?yàn)楣收弦匦聢?zhí)行部分同步操作、需要獲取過去的某個(gè)指定時(shí)間點(diǎn)的元數(shù)據(jù)時(shí),則從已抓取的元數(shù)據(jù)中選擇一個(gè)版本,并從該版本對(duì)應(yīng)的時(shí)間點(diǎn)重新拉取并解析binlog數(shù)據(jù)。
上述三種方式,在具體的應(yīng)用過程中分別存在以下缺陷:
采用方式一,由于解析binlog數(shù)據(jù)需要與binlog數(shù)據(jù)的時(shí)間戳對(duì)應(yīng)的元數(shù)據(jù)信息,而MySQL主數(shù)據(jù)庫(kù)的元數(shù)據(jù)是實(shí)時(shí)變化的,因此通過直接連接主庫(kù)查詢的方式獲得當(dāng)前時(shí)間點(diǎn)的元數(shù)據(jù)信息,可能出現(xiàn)與解析binlog所需元數(shù)據(jù)不一致的情況;
采用方式二,只能提供與當(dāng)前解析的binlog數(shù)據(jù)的時(shí)間戳對(duì)應(yīng)的元數(shù)據(jù),無法提供之前的其他時(shí)間點(diǎn)的元數(shù)據(jù)。
采用方式三,每隔一段時(shí)間就要從MySQL主數(shù)據(jù)庫(kù)查詢一次元數(shù)據(jù),增加了主數(shù)據(jù)庫(kù)的負(fù)擔(dān);而且在需要獲取過去的某個(gè)指定時(shí)間點(diǎn)的元數(shù)據(jù)時(shí),只能從定期抓取的元數(shù)據(jù)中,選取其抓取時(shí)間點(diǎn)早于所述指定時(shí)間點(diǎn)的元數(shù)據(jù)版本,并從該版本對(duì)應(yīng)的時(shí)間點(diǎn)開始拉取binlog數(shù)據(jù),通常會(huì)拉取重復(fù)的數(shù)據(jù),影響整個(gè)數(shù)據(jù)同步過程的效率。
發(fā)明內(nèi)容
本申請(qǐng)?zhí)峁┮环N基于binlog的元數(shù)據(jù)管理方法和裝置,以解決現(xiàn)有技術(shù)無法根據(jù)指定時(shí)間點(diǎn)提供元數(shù)據(jù)的問題。本申請(qǐng)另外提供一種用于提供元數(shù)據(jù)的方法和裝置。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴集團(tuán)控股有限公司,未經(jīng)阿里巴巴集團(tuán)控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410403789.5/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種內(nèi)存數(shù)據(jù)的備份方法和裝置
- 數(shù)據(jù)同步的方法和系統(tǒng)
- 基于binlog補(bǔ)償機(jī)制的分布式事務(wù)服務(wù)方法及系統(tǒng)
- MySQL主從數(shù)據(jù)庫(kù)的同步方法及同步系統(tǒng)
- 一種數(shù)據(jù)庫(kù)控制方法和系統(tǒng)
- Binlog文件下載方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì)
- TiDB數(shù)據(jù)庫(kù)的維護(hù)方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 訂單變更過程整合方法、提取方法、整合裝置和提取裝置
- 用戶操作的記錄方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種Binlog日志數(shù)據(jù)適配遷移方法和系統(tǒng)
- 民用大飛機(jī)機(jī)載網(wǎng)絡(luò)的數(shù)據(jù)管理系統(tǒng)及方法
- 一種移動(dòng)應(yīng)用安全管控方法和設(shè)備
- 基于數(shù)據(jù)庫(kù)管理系統(tǒng)的電極加工管理系統(tǒng)
- 一種數(shù)據(jù)管理方法及裝置
- 基于XBRL標(biāo)準(zhǔn)的主數(shù)據(jù)管理系統(tǒng)的設(shè)計(jì)方法
- 大數(shù)據(jù)環(huán)境下實(shí)現(xiàn)數(shù)據(jù)管理能力評(píng)估的系統(tǒng)及其方法
- 一種基于Hadoop的數(shù)據(jù)管理系統(tǒng)及其管理方法
- 物聯(lián)網(wǎng)檢測(cè)數(shù)據(jù)管理系統(tǒng)及物聯(lián)網(wǎng)檢測(cè)數(shù)據(jù)管理方法
- 基于核心對(duì)象的一體化數(shù)據(jù)管理系統(tǒng)
- 數(shù)據(jù)管理方法、數(shù)據(jù)管理裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





