沒有將重命名操作記錄到日志,導致臨時文件變成垃圾文件。因此,在系統(tǒng)重啟的過程中,在讀取并回放日志后,刪除系統(tǒng)中仍然存在的所有臨時文件,避免出現(xiàn)垃圾文件。
[0049]本發(fā)明實施例先將待寫入內(nèi)容寫入到臨時文件,再對臨時文件進行重命名,只需要對待寫入內(nèi)容執(zhí)行一次寫入,使得系統(tǒng)的寫入帶寬能夠接近或達到實際的物理帶寬,能夠有效提高物理帶寬的使用率。此外,系統(tǒng)重啟過程中,在回放日志后,刪除系統(tǒng)中的所有臨時文件,能夠避免在系統(tǒng)中出現(xiàn)垃圾文件。
[0050]基于上述處理寫請求的方法,本發(fā)明實施例還提供了一種處理寫請求的裝置,如圖2所示,包括:
[0051]寫入模塊210,用于將與寫請求對應的待寫入內(nèi)容寫入到臨時文件。
[0052]記錄模塊220,用于在日志中記錄從臨時文件到目標文件的重命名操作。
[0053]重命名模塊230,用于在記錄模塊220記錄重命名操作后,將寫入模塊210寫入的臨時文件重命名為目標文件。
[0054]進一步地,上述裝置,還包括:
[0055]判斷模塊240,用于判斷寫請求是否為完全寫請求;
[0056]相應地,上述寫入模塊210,具體用于在判斷模塊240判斷出寫請求為完全寫請求時,將與寫請求對應的待寫入內(nèi)容寫入到臨時文件。
[0057]具體地,上述判斷模塊240,具體用于判斷寫請求是否滿足以下條件:目標文件不存在;或者,寫入位置為目標文件的開頭且寫入長度不小于目標文件的大小;如果滿足,則確定寫請求為完全寫請求;否則,確定寫請求不是完全寫請求。
[0058]進一步地,上述裝置,還包括:
[0059]創(chuàng)建模塊250,用于創(chuàng)建臨時文件。
[0060]進一步地,上述裝置,還包括:
[0061]回放模塊260,用于在系統(tǒng)重啟時,讀取并回放日志;
[0062]刪除模塊270,用于在回放模塊260回放日志后,刪除系統(tǒng)中存在的臨時文件。
[0063]本發(fā)明實施例先將待寫入內(nèi)容寫入到臨時文件,再對臨時文件進行重命名,只需要對待寫入內(nèi)容執(zhí)行一次寫入,使得系統(tǒng)的寫入帶寬能夠接近或達到實際的物理帶寬,能夠有效提高物理帶寬的使用率。此外,系統(tǒng)重啟過程中,在回放日志后,刪除系統(tǒng)中的所有臨時文件,能夠避免在系統(tǒng)中出現(xiàn)垃圾文件。
[0064]結(jié)合本文中所公開的實施例描述的方法中的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
[0065]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應所述以權(quán)利要求的保護范圍為準。
【主權(quán)項】
1.一種處理寫請求的方法,其特征在于,包括以下步驟: 將與寫請求對應的待寫入內(nèi)容寫入到臨時文件; 在日志中記錄從所述臨時文件到目標文件的重命名操作; 將所述臨時文件重命名為所述目標文件。2.如權(quán)利要求1所述的方法,其特征在于,所述將與寫請求對應的待寫入內(nèi)容寫入到臨時文件之前,還包括: 判斷所述寫請求是否為完全寫請求; 所述將與寫請求對應的待寫入內(nèi)容寫入到臨時文件,具體為: 當所述寫請求為完全寫請求時,將與所述寫請求對應的待寫入內(nèi)容寫入到臨時文件。3.如權(quán)利要求2所述的方法,其特征在于,判斷所述寫請求是否為完全寫請求,具體為: 判斷所述寫請求是否滿足以下條件:所述目標文件不存在;或者,寫入位置為所述目標文件的開頭且寫入長度不小于所述目標文件的大??;如果滿足,則確定所述寫請求為完全寫請求;否則,確定所述寫請求不是完全寫請求。4.如權(quán)利要求1所述的方法,其特征在于,所述將與寫請求對應的待寫入內(nèi)容寫入到臨時文件之前,還包括: 創(chuàng)建所述臨時文件。5.如權(quán)利要求4所述的方法,其特征在于,還包括: 在系統(tǒng)重啟時,讀取并回放所述日志; 刪除所述系統(tǒng)中存在的臨時文件。6.一種處理寫請求的裝置,其特征在于,包括: 寫入模塊,用于將與寫請求對應的待寫入內(nèi)容寫入到臨時文件; 記錄模塊,用于在日志中記錄從所述臨時文件到目標文件的重命名操作; 重命名模塊,用于在所述記錄模塊記錄所述重命名操作后,將所述寫入模塊寫入的所述臨時文件重命名為所述目標文件。7.如權(quán)利要求6所述的裝置,其特征在于,還包括: 判斷模塊,用于判斷所述寫請求是否為完全寫請求; 所述寫入模塊,具體用于在所述判斷模塊判斷出所述寫請求為完全寫請求時,將與所述寫請求對應的待寫入內(nèi)容寫入到臨時文件。8.如權(quán)利要求7所述的裝置,其特征在于, 所述判斷模塊,具體用于判斷所述寫請求是否滿足以下條件:所述目標文件不存在;或者,寫入位置為所述目標文件的開頭且寫入長度不小于所述目標文件的大??;如果滿足,則確定所述寫請求為完全寫請求;否則,確定所述寫請求不是完全寫請求。9.如權(quán)利要求6所述的裝置,其特征在于,還包括: 創(chuàng)建模塊,用于創(chuàng)建所述臨時文件。10.如權(quán)利要求9所述的裝置,其特征在于,還包括: 刪除模塊,用于當系統(tǒng)重啟時,在回放所述日志后,刪除所述系統(tǒng)中存在的臨時文件。
【專利摘要】本發(fā)明公開了一種處理寫請求的方法和裝置,該方法包括以下步驟:將與寫請求對應的待寫入內(nèi)容寫入到臨時文件;在日志中記錄從所述臨時文件到目標文件的重命名操作;將所述臨時文件重命名為所述目標文件。本發(fā)明先將待寫入內(nèi)容寫入到臨時文件,再對臨時文件進行重命名,只需要對待寫入內(nèi)容執(zhí)行一次寫入,使得系統(tǒng)的寫入帶寬能夠接近或達到實際的物理帶寬,能夠有效提高物理帶寬的使用率。
【IPC分類】G06F17/30
【公開號】CN105095418
【申請?zhí)枴緾N201510409614
【發(fā)明人】吳明橋
【申請人】浪潮(北京)電子信息產(chǎn)業(yè)有限公司
【公開日】2015年11月25日
【申請日】2015年7月13日