[發明專利]一種數據寫入方法、裝置、設備及存儲介質有效
| 申請號: | 202010004465.X | 申請日: | 2020-01-03 |
| 公開(公告)號: | CN111222152B | 公開(公告)日: | 2022-10-14 |
| 發明(設計)人: | 望聲宜;韓朱忠 | 申請(專利權)人: | 上海達夢數據庫有限公司 |
| 主分類號: | G06F21/60 | 分類號: | G06F21/60;G06F21/80 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 寫入 方法 裝置 設備 存儲 介質 | ||
本發明實施例公開了一種數據寫入方法、裝置、設備及存儲介質。該方法包括:根據扇區大小劃分數據頁的明文,得到第一明文數據塊;加密所述第一明文數據塊,得到密文數據塊后寫入扇區。當數據頁占用多個扇區時,將數據頁按照扇區大小進行分片,對每一個分片獨立地進行加解密操作,即以扇區為單位進行加解密。每個扇區相對于數據頁都是一個獨立的加解密數據塊,互不影響。避免了數據頁的密文數據塊異常寫入時,部分扇區已成功寫入操作系統的文件系統,而部分扇區的數據尚未寫入而發生的數據頁無法正確解密的情況。
技術領域
本發明實施例涉及數據庫技術,尤其涉及一種數據寫入方法、裝置、設備及存儲介質。
背景技術
構成數據庫的文件包括:數據文件、回滾日志文件、重做日志文件、控制文件等。數據最終存儲在數據文件中,包括:表數據、索引等。數據文件按簇(或者稱為區段)申請或擴展一片邏輯連續的空間,一個簇包含多個數據頁(或者稱為區塊)。
數據存儲的最小單位為數據頁,表中數據按行存儲在數據頁中。常見的數據頁大小包括:4KB、8KB、16KB或32KB,一個簇通常可以包含16或32個頁。操作系統的文件系統最小讀寫單位為扇區,一個扇區大小為512B、2048B、4096B。操作系統的文件系統最小空間申請單位為簇(或塊),一個簇至少包含一個扇區,一個簇最小為512B最大為32KB。數據庫按照數據頁讀寫數據文件,保證數據頁的讀寫完整性。操作系統按扇區讀寫數據文件,保證扇區的讀寫完整性,簇只是邏輯概念。數據文件存儲的數據具有敏感性,為了保護數據通常會對數據進行加密存儲。
數據頁大小與扇區大小不同,一個數據頁通常跨越多個扇區。數據頁加密后寫入數據文件時,可能遇到突然斷電或其它寫入異常情況,最終導致部分扇區已成功寫入操作系統的文件系統,而部分扇區的數據尚未寫入。當操作系統恢復時,扇區保持了數據完整性,但數據頁的數據完整性可能遭到破壞,導致無法解密獲取數據頁的原始明文。
發明內容
本發明提供一種數據寫入方法、裝置、設備及存儲介質,以實現數據的完整寫入。
第一方面,本發明實施例提供了一種數據寫入方法,所述數據寫入方法包括:
根據扇區大小劃分數據頁的明文,得到第一明文數據塊;
加密所述第一明文數據塊,得到密文數據塊后寫入扇區。
第二方面,本發明實施例還提供了一種數據寫入裝置,該數據寫入裝置包括:
劃分模塊,用于根據扇區大小劃分數據頁的明文,得到第一明文數據塊;
加密模塊,用于加密所述第一明文數據塊,得到密文數據塊后寫入扇區。
第三方面,本發明實施例還提供了一種設備,該設備包括:
一個或多個處理器;
存儲裝置,用于存儲一個或多個程序,
當所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現如本發明實施例中任一所述的一種數據寫入方法。
第四方面,本發明實施例還提供了一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執行時實現如本發明實施例中任一所述的一種數據寫入方法。
本發明實施例通過根據扇區大小劃分數據頁的明文,得到第一明文數據塊;加密所述第一明文數據塊,得到密文數據塊后寫入扇區。當數據頁占用多個扇區時,將數據頁按照扇區大小進行分片,對每一個分片獨立地進行加解密操作,即以扇區為單位進行加解密。每個扇區相對于數據頁都是一個獨立的加解密數據塊,互不影響。避免了數據頁的密文數據塊異常寫入時,部分扇區已成功寫入操作系統的文件系統,而部分扇區的數據尚未寫入而發生的數據頁無法正確解密的情況。
附圖說明
圖1是本發明實施例一中的一種數據寫入方法的流程圖;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海達夢數據庫有限公司,未經上海達夢數據庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010004465.X/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





