[發明專利]一種重做日志持久化方法及設備在審
| 申請號: | 201710492419.7 | 申請日: | 2017-06-26 |
| 公開(公告)號: | CN109144963A | 公開(公告)日: | 2019-01-04 |
| 發明(設計)人: | 周正中 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F16/18 | 分類號: | G06F16/18;G06F16/13;G06F16/17 |
| 代理公司: | 上海百一領御專利代理事務所(普通合伙) 31243 | 代理人: | 陳貞健;王路豐 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 重做 日志 磁盤 緩存 地址編碼 日志文件 持久化 遞增 寫入 數據量 并行 日志恢復 抹平 匹配 申請 | ||
本申請的目的是提供一種重做日志持久化方法及設備,本申請通過將緩存中地址編碼遞增的重做日志按照地址編碼依序拆分成段,并將各段并行寫入對應的日志文件,其中,日志文件對應與不同的磁盤,實現了將緩存中的重做日志并行寫入不同磁盤中對應的日志文件,使得磁盤持久化重做日志時的總的數據量與寫入緩存的重做日志的數據量匹配得上,進而抹平了磁盤與緩存之間的性能不對等問題,又由于所述段中的重做日志的地址編碼依序保持遞增,序號遞增的段中的重做日志的地址編碼依序保持遞增,以便后續從磁盤中按序將重做日志恢復出來。
技術領域
本申請涉及計算機領域,尤其涉及一種重做日志持久化方法及設備。
背景技術
數據庫為了滿足事務持久化的需求(即事務成功的結束后,事務的狀態將在數據庫中永久的保存),同時為了降低離散IO(Input and Output,輸入輸出)的性能影響,數據庫領域通過重做日志來記錄事務產生的日志。
其中,重做日志是串行、序列化的,例如一家超市中,有很多顧客在此消費,每一筆消費記錄都要按照消費的時間先后順序,串行地被記錄下來,這樣每筆消費記錄都有一個一直遞增的序列來標識該筆消費記錄。因此重做日志是有地址編碼的,該地址編碼也是一直遞增。數據庫在寫重做日志時,首先寫入重做日志的緩存區,然后由redo writer(后臺進程)根據日志調度,將緩存區中的重做日志持久化到磁盤,并更新最后的持久化地址編碼。當數據庫中的事務在結束時,需要比對持久化后的地址編碼,確保事務產生的重做日志已持久化,如果沒有持久化,負責和用戶交互的數據庫進程會通知redo writer或自己開啟持久化任務,并等待持久化結束。例如,用戶在往購物籃放商品時,會產生重做日志,產生多少數據量的重做日志,就需要從重做日志對應的地址編碼中的上一個地址編碼位點起,申請一段沒有使用過的地址進行編碼(例如申請一段地址編碼的長度等于要寫入的重做日志的數據量),然后將需要寫入的重做日志寫入重做日志緩存區,在事務結束時(比如購物買單),也會申請一段重做日志的地址編碼,然后將代表該事務結束的重做日志寫入重做日志緩存區,假設它的地址編碼結束位置為A;在比對的過程,每次從重做日志緩存區將重做日志寫入重做日志文件時,都會記錄下來已寫到哪個重做日志的地址編碼了,故為了保證事務持久化,事務結束時,用來代表事務結束的重做日志的地址編碼結束位置A必須小于或等于已持久化的重做日志的地址編碼,等于的時候說明事務持久化結束,而小于的時候說明事務持久化結束且進入了下一事務的重做日志的持久化。
但是,現有技術中,如圖1所示,當數據庫在寫重做日志時,由于緩存區(內存)的性能很高,能將重做日志快速地寫入緩存區(redo buffer),但當通過后臺進程(redowriter)將緩存區中的重做日志持久化到磁盤中的重做日志文件(redo file)時,即使使用的是目前非常高端的SSD(Solid State Drives,固態硬盤),也比緩存區差10倍以上的持久化性能,故由于緩存區與單塊磁盤的性能懸殊很大,導致雖然將重做日志寫入緩存區速度很快,但是從緩存區將重做日志持久化至磁盤卻成為數據傳輸的瓶頸。例如將重做日志寫入緩存區時為30GB/s,而將重做日志從緩存區持久化到單塊磁盤卻只有2GB/s,導致緩存區與磁盤寫入重做日志速度不對等,進而導致重做日志持久化時數據傳輸瓶頸。
發明內容
本申請的一個目的是提供一種重做日志持久化方法及設備,解決現有技術中數據庫寫重做日志時的緩存與單塊磁盤之間的性能不對等的問題。
根據本申請的一個方面,提供了一種重做日志持久化方法,該方法包括:
將緩存中地址編碼遞增的重做日志按地址編碼依序拆分成段,其中,所述段中的重做日志的地址編碼依序保持遞增,序號遞增的段中的重做日志的地址編碼依序保持遞增;
將各段并行寫入對應的日志文件,其中,所述日志文件對應于不同的磁盤。
進一步地,上述方法中,將緩存中地址編碼遞增的重做日志按地址編碼依序拆分成段,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710492419.7/2.html,轉載請聲明來源鉆瓜專利網。





