[發明專利]Binlog文件下載方法、裝置、設備及可讀存儲介質有效
| 申請號: | 201811242987.2 | 申請日: | 2018-10-24 |
| 公開(公告)號: | CN109361748B | 公開(公告)日: | 2021-04-20 |
| 發明(設計)人: | 王俊皓;褚占峰;江峰 | 申請(專利權)人: | 杭州數夢工場科技有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 羅滿 |
| 地址: | 310024 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | binlog 文件 下載 方法 裝置 設備 可讀 存儲 介質 | ||
本發明公開了一種Binlog文件下載方法、裝置、設備及計算機可讀存儲介質,包括:確定客戶端下載Binlog文件的最后下載位置;判斷最后下載位置是否小于最大請求位置;若否,則從已下載的每個Binlog事件的起始位置中查找小于最大請求位置的有效起始位置;利用有效起始位置向服務端發送下載請求,以繼續下載Binlog文件中的Binlog事件;可見,在本方案在下載中斷后,檢查最后下載位置是否超過最大請求位置,如果超過最大請求位置,則從已下載的Binlog事件的起始位置中,查找小于最大請求位置的有效起始位置,這樣便可以根據該有效起始位置繼續發送下載請求,避免出現下載異常情況。
技術領域
本發明涉及數據庫技術領域,更具體地說,涉及一種MySQL的Binlog文件下載方法、裝置、設備及計算機可讀存儲介質。
背景技術
MySQL為關系型數據庫管理系統,MySQL binary log為二進制日志,簡稱Binlogs,包含了描述數據庫變化的事件,例如:創建表操作、數據變更等。Binlogs被保存在Binlog文件中,Binlog文件以Binlog文件頭開頭,后跟一系列Binlog事件。目前,MySQL主從復制服務器間按照客戶端/服務端協議進行通信,MySQL主、從復制服務器通過網絡并以Binlog網絡流的形式發送Binlogs,將主服務器上發生的變化傳遞到從屬服務器。Binlog網絡流的建立過程為:需要客戶端向服務端發送COM_BINLOG_DUMP請求,建立成功后,服務端會依次向客戶端發送每個Binlog事件數據。在該過程中,COM_BINLOG_DUMP請求包可以指定網絡流傳遞數據開始的Binlog文件和文件中的起始位置。
由于COM_BINLOG_DUMP請求包的參數中,Binlog位置為一個Binlog事件(包含事件頭)的起始位置,它的范圍是4字節的無符號整數,即可以指定的Binlog起始位置為0–4,294,967,295字節。由于MySQL規定一個Binlog文件大小最大不超過max_binlog_size(最大值為1G,1,073,741,824字節),正常情況下COM_BINLOG_DUMP請求可以指定Binlog文件中任意一個Binlog事件的起始位置;但是,由于一個事務只會寫入同一個Binlog文件,因此當用戶試圖提交一個大事務時,Binlog文件依舊可以超過max_binlog_size,甚至超過可指定的Binlog起始位置范圍。然而,現有的COM_BINLOG_DUMP請求無法從超過4,294,967,295字節的事件位置開始下載Binlog文件。
如果在下載Binlog文件過程中,由于某種原因導致下載中斷,并試圖恢復下載、重新建立網絡流時,會由于已經讀到的位置可能超過請求允許的文件起始位置范圍,而使得下載線程進入異常狀態。
因此,如何避免在下載Binlog文件中斷時,由于讀Binlog事件的位置超過請求允許的最大請求位置而導致的下載異常情況,是本領域技術人員需要解決的問題。
發明內容
本發明的目的在于提供一種MySQL的Binlog文件下載方法、裝置、設備及計算機可讀存儲介質,以避免在下載Binlog文件中斷時,由于讀Binlog事件的位置超過請求允許的最大請求位置而導致的下載異常情況。
為實現上述目的,本發明實施例提供了如下技術方案:
一種MySQL的Binlog文件下載方法,包括:
確定客戶端下載Binlog文件的最后下載位置;其中,所述最后下載位置為下載中斷前的最后下載位置;
判斷所述最后下載位置是否小于最大請求位置;
若否,則從已下載的每個Binlog事件的起始位置中,查找小于所述最大請求位置的有效起始位置;
利用所述有效起始位置向所述服務端發送下載請求,以繼續下載Binlog文件中的Binlog事件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州數夢工場科技有限公司,未經杭州數夢工場科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811242987.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種輕量級圖片轉換方法
- 下一篇:報文處理方法、相關設備及計算機存儲介質





