存在鍵值數據庫中,由于鍵值數據庫是一種輕量級的非關系型數據庫,在鍵值數據庫中,所有的數據都按照鍵值對的形式進行組織、索引和存儲,能夠有效的減少讀寫磁盤的次數,擁有更好的讀寫性能,因此,本申請中基于鍵值數據庫的日志處理方法,可以有效的減少因記錄日志而導致的磁盤寫入次數,大大提升了日志寫入的性能。
[0053]參考圖2,示出了本申請一種基于鍵值數據庫的日志處理方法另一個實施例的流程圖,可以包括以下步驟:
[0054]步驟S201:當云存儲系統出現故障意外終止,并重啟時,按照順序讀取所述鍵值數據庫中的所有鍵值記錄。
[0055]步驟S202:提取每條所述鍵值記錄中的寫請求操作的內容;將所述寫請求操作的內容應用并固化到云存儲系統中,以保證系統中所有數據的一致性和完整性。
[0056]步驟S203:當云存儲系統執行完所有鍵值記錄中的所有操作后,從鍵值數據庫中刪除與應用并固化到云存儲系統中的寫請求操作的內容相對應的鍵值記錄。
[0057]與上述本申請一種基于鍵值數據庫的日志處理方法實施例所提供的方法相對應,參見圖3,本申請還提供了一種基于鍵值數據庫的日志處理系統實施例,在本實施例中,該系統包括:
[0058]接收單元301,用于接收寫請求操作的指令,所述寫請求操作的指令中包括所述寫請求操作的序號以及所述寫請求操作的內容。
[0059]轉換單元302,用于將所述寫請求操作的指令轉換為鍵值記錄,其中,所述鍵值記錄中的鍵為所述寫請求操作的序號,所述鍵值記錄中的值為所述寫請求操作的內容。
[0060]保存單元303,用于將所述寫請求操作的指令轉換成的鍵值記錄保存到鍵值數據庫中。
[0061]本申請中,還包括:
[0062]第一應用單元,用于將所述寫請求操作應用并固化到云存儲系統中。
[0063]第一刪除單元,用于從所述鍵值數據庫中刪除與應用并固化到云存儲系統中的寫請求操作相對應的鍵值記錄。
[0064]當云存儲系統出現故障意外終止,并重啟時,還包括:
[0065]讀取單元,用于按照順序讀取所述鍵值數據庫中的所有鍵值記錄;
[0066]提取單元,用于提取每條所述鍵值記錄中的寫請求操作的內容;
[0067]第二應用單元,用于將所述寫請求操作的內容應用并固化到云存儲系統中。
[0068]第二刪除單元,用于從鍵值數據庫中刪除與應用并固化到云存儲系統中的寫請求操作的內容相對應的鍵值記錄。
[0069]需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置類實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0070]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0071]為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現。
[0072]通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現。基于這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在存儲介質中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本申請各個實施例或者實施例的某些部分所述的方法。
[0073]以上對本申請所提供的一種基于鍵值數據庫的日志處理方法及系統進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領域的一般技術人員,依據本申請的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。
【主權項】
1.一種基于鍵值數據庫的日志處理方法,其特征在于,該方法包括: 接收寫請求操作的指令,為所述寫請求操作分配序號,所述寫請求操作的指令中包括所述寫請求操作的內容; 將所述寫請求操作的指令轉換為鍵值記錄,其中,所述鍵值記錄中的鍵為所述為寫請求操作分配的序號,所述鍵值記錄中的值為所述寫請求操作的內容; 將所述寫請求操作的指令轉換成的鍵值記錄保存到鍵值數據庫中。2.根據權利要求1所述的方法,其特征在于,還包括: 將所述寫請求操作應用并固化到云存儲系統中。3.根據權利要求2所述的方法,其特征在于,還包括: 從所述鍵值數據庫中刪除與應用并固化到云存儲系統中的寫請求操作相對應的鍵值記錄。4.根據權利要求1所述的方法,其特征在于,當云存儲系統出現故障意外終止,并重啟時,還包括: 按照順序讀取所述鍵值數據庫中的所有鍵值記錄; 提取每條所述鍵值記錄中的寫請求操作的內容; 將所述寫請求操作的內容應用并固化到云存儲系統中。5.根據權利要求4所述的方法,其特征在于,還包括: 從鍵值數據庫中刪除與應用并固化到云存儲系統中的寫請求操作的內容相對應的鍵值記錄。6.一種基于鍵值數據庫的日志處理系統,其特征在于,該系統包括: 接收單元,用于接收寫請求操作的指令,為所述寫請求操作分配序號,所述寫請求操作的指令中包括所述寫請求操作的內容; 轉換單元,用于將所述寫請求操作的指令轉換為鍵值記錄,其中,所述鍵值記錄中的鍵為所述為寫請求操作分配的序號,所述鍵值記錄中的值為所述寫請求操作的內容; 保存單元,用于將所述寫請求操作的指令轉換成的鍵值記錄保存到鍵值數據庫中。7.根據權利要求6所述的系統,其特征在于,還包括: 第一應用單元,用于將所述寫請求操作應用并固化到云存儲系統中。8.根據權利要求7所述的系統,其特征在于,還包括: 第一刪除單元,用于從所述鍵值數據庫中刪除與應用并固化到云存儲系統中的寫請求操作相對應的鍵值記錄。9.根據權利要求6所述的系統,其特征在于,當云存儲系統出現故障意外終止,并重啟時,還包括: 讀取單元,用于按照順序讀取所述鍵值數據庫中的所有鍵值記錄; 提取單元,用于提取每條所述鍵值記錄中的寫請求操作的內容; 第二應用單元,用于將所述寫請求操作的內容應用并固化到云存儲系統中。10.根據權利要求9所述的系統,其特征在于,還包括: 第二刪除單元,用于從鍵值數據庫中刪除與應用并固化到云存儲系統中的寫請求操作的內容相對應的鍵值記錄。
【專利摘要】本申請提供了一種基于鍵值數據庫的日志處理方法,該方法包括:接收寫請求操作的指令,為所述寫請求操作分配序號,所述寫請求操作的指令中包括所述寫請求操作的內容;將所述寫請求操作的指令轉換為鍵值記錄,其中,所述鍵值記錄中的鍵為所述為寫請求操作分配的序號,所述鍵值記錄中的值為所述寫請求操作的內容;將所述寫請求操作的指令轉換成的鍵值記錄保存到鍵值數據庫中。本申請中基于鍵值數據庫的日志處理方法,可以有效的減少因記錄日志而導致的磁盤寫入次數,大大提升了日志寫入的性能。
【IPC分類】G06F3/06, G06F17/30
【公開號】CN105068765
【申請號】CN201510498548
【發明人】吳明橋
【申請人】浪潮(北京)電子信息產業有限公司
【公開日】2015年11月18日
【申請日】2015年8月13日