新四季網

一種上層文件系統對空洞文件快速讀取的方法及系統的製作方法

2023-04-28 03:19:51 2


專利名稱::一種上層文件系統對空洞文件快速讀取的方法及系統的製作方法
技術領域:
:本發明涉及計算機系統的文件系統,特別涉及一種上層文件系統基於posix(PortableOperatingSystemInterfaceofUnix,ρ)洞文件加速讀取的方法及系統。
背景技術:
:文件系統是一種用來存儲和組織計算機文件、目錄及其包含的數據的方法,它使文件、目錄以及數據的查找和訪問得到簡化。隨著多媒體產業的迅猛發展,出於成本、可靠性等多方面的考慮,越來越多的廠商選擇在產品中部署自研的分布式上層存儲系統,分布式文件系統也因此得到了快速的發展。在普通應用中,無法使用上層分布式文件系統專有函數接口,尤其像普通程序中將一個文件或者其它對象映射進內存的mmap等操作,無法簡單的在上層系統中實現,幾乎所有的上層分布式文件系統選用了開源的Fuse(FilesysteminUserspace,用戶空間文件系統)組件,完成從專用接口到通用接口的轉變,但是Fuse組件只是一個底層文件系統的框架,在許多應用中存在一定性能上的損失,尤其讀取空洞文件時,性能損失更為嚴重。空洞文件是包含空洞(其中無任何內容)的文件。在文件操作中,文件位移量可以大於文件的當前長度,在這種情況下,對該文件的下一次寫將延長該文件,這就是所謂的在文件裡創造「空洞(hole)」。讀取文件時,mmap函數將所要讀取的文件映射進內存。在Iinux中,內存的保護是以頁為基本單位的,即使被映射文件只有一個字節大小,內核也會為映射分配一個頁面大小的內存。文件一旦被映射後,調用mmap的進程對mmapO返回地址進行訪問時,由內核處理該訪問。如果內核發現返回地址所指向的頁沒有被作業系統讀取過,則向Fuse組件發出讀取頁請求。Fuse組件接收到讀取頁請求後,不論所讀取的頁是否是空洞,都向上層文件系統發送讀取請求。上層文件系統收到讀取請求後,讀取相關頁並返回給Fuse組件,Fuse組件再將其返回給調用mmapO的進程。由上述分析可見,在現有技術中,Fuse組件收到讀取頁請求後,不管所讀取的頁是否是空洞,都向上層文件系統發送讀取請求,上層文件系統收到讀取請求進行相應的讀取後再將讀取的相關頁返回給Fuse組件。因此,讀取空洞文件時,性能損失較為嚴重。同時,當遇到大量的文件空洞時,Fuse帶來的系統內存複製的壓力和進程切換的壓力,會極大地拖累系統讀取的速度。
發明內容本發明的目的在於提供一種上層文件系統對空洞文件快速讀取的方法及系統,能更好地解決Fuse讀取空洞文件時性能損失嚴重導致系統內存複製和進程切換時壓力過大的問題。根據本發明的一個方面,提供了一種上層文件系統對空洞文件快速讀取的方法,所述方法包括以下步驟A、在Fuse內核組件上外掛空洞文件處理系統;B、所述空洞文件處理系統通過對上層文件系統的文件進行空洞判別,查找文件的空洞頁,給所述空洞頁添加空洞標識;C、在讀取文件過程中,對於帶有空洞標識的空洞頁,所述空洞文件處理系統中止上層文件系統對其讀取。其中,所述步驟B包括Bi、應用程式創建新文件;B2、Fuse內核組件判斷所創建的新文件是否是空洞文件,如果是空洞文件,則向所述空洞文件處理系統發送添加空洞標識的請求;B3、所述空洞文件處理系統接收到所述添加空洞標識的請求後,查找所述文件的空洞頁,並給所述空洞頁添加空洞標識。其中,所述步驟B還包括B4、應用程式向Fuse內核組件發送查詢文件屬性的請求;B5、Fuse內核組件接收到所述查詢文件屬性的請求後,判斷所述文件是否是空洞文件,如果是空洞文件,則向所述空洞文件處理系統發送更新空洞標識的的請求;B6、所述空洞文件處理系統接收到所述更新空洞標識的請求後,判斷所述空洞文件是否需要更新空洞標識,如果需要,則更新所述空洞頁的空洞標識。其中,所述步驟B6包括B61、所述空洞文件處理系統接收到所述更新空洞標識的請求後,查詢所述空洞文件對應的空洞信息的版本號,並將所述版本號發送給上層文件系統;B62、上層文件系統比較所接收到的版本號和上層文件系統中所述空洞文件的空洞信息對應的版本號,如果所接收到的版本號小於上層文件系統中所述空洞文件的空洞信息對應的版本號,則上層文件系統將增量的空洞頁屬性發送給所述空洞文件處理系統;B63、所述空洞文件處理系統根據所述增量的空洞頁屬性更新所述空洞標識。其中,所述步驟C包括Cl、應用程式向Fuse內核組件發送讀取頁請求;C2、Fuse內核組件接收到所述讀取頁請求後,向所述空洞文件處理系統發送檢查空洞的請求;C3、所述空洞文件處理系統接收到檢查空洞的請求後,根據所述空洞標識判斷所述讀取頁是否是空洞頁,如果是空洞頁,則中止上層文件系統對其讀取,直接返回到應用程式,反之,向Fuse內核組件發送讀取請求,Fuse內核讀取所述讀取頁後將其返回給應用程式。根據本發明的另一方面,提供了一種上層文件系統對空洞文件快速讀取的系統,所述系統包括上層文件系統,用於讀取文件頁;Fuse內核組件,用於向空洞文件處理系統發送檢查空洞的請求,並在所述空洞文件處理系統反饋不是空洞時,向上層文件系統發送讀取文件頁的請求;外掛在所述Fuse內核組件的空洞文件處理系統;其中,所述空洞文件處理系統通過對上層文件系統的文件進行空洞判別,查找文件的空洞頁,給所述空洞頁添加空洞標識;在讀取文件過程中,對於帶有空洞標識的空洞頁,所述空洞文件處理系統中止上層文件系統對其讀取。其中,所述系統還包括應用程式,用於向所述Fuse內核組件發送讀取頁請求,並接收所述讀取頁。Fuse上層模塊,用於負責所述Fuse內核組件和所述上層文件系統之間的通信。其中,所述應用程式還用於向Fuse內核組件發送創建新文件的請求;所述Fuse內核組件還用於判斷所創建的文件是否是空洞文件,如果是空洞文件,則向所述空洞文件處理系統發送添加空洞標識的請求;所述空洞文件處理系統還用於在接收到所述添加空洞標識的請求後,查找所述文件的空洞頁,並給所述空洞頁添加空洞標識。其中,所述應用程式還用於向Fuse內核組件發送查詢文件屬性的請求;所述Fuse內核組件還用於在接收到所述查詢文件屬性的請求後,判斷所述文件是否是空洞文件,如果是空洞文件,則向所述空洞文件處理系統發送更新空洞標識的的請求;所述空洞文件處理系統還用於接收到所述更新空洞標識的請求後,判斷所述空洞文件是否需要更新空洞標識,如果需要,則查找所述文件的空洞頁,更新所述空洞頁的空洞標識。其中,所述應用程式還用於向Fuse內核組件發送讀取頁請求;所述Fuse內核組件還用於接收到所述讀取頁請求後,向所述空洞文件處理系統發送檢查空洞的請求;所述空洞文件處理系統還用於在接收到檢查空洞的請求後,根據所述的空洞標識判斷所述讀取頁是否是空洞頁,如果是空洞頁,則中止上層文件系統對其讀取,直接返回到應用程式,反之,向Fuse內核組件發送讀取請求,Fuse內核讀取所述讀取頁後將其返回給應用程式。與現有技術相比較,本發明的有益效果在於在使用Fuse為posix服務提供擴展時,提高讀取空洞文件的速度,並降低讀取空洞文件時給系統內存複製帶來的壓力。圖1是本發明實施例提供的一種上層文件系統對空洞文件快速讀取的方法的原理圖;圖2是本發明實施例提供的新建文件時標記空洞的方法的流程圖;圖3是本發明實施例提供的讀取文件屬性時標記空洞的方法的流程圖;圖4是本發明實施例提供的一種上層文件系統對空洞文件快速讀取的方法的流程圖5是本發明實施例提供的一種上層文件系統對空洞文件快速讀取的系統的結構圖。具體實施例方式以下結合附圖對本發明的優選實施例進行詳細說明,應當理解,以下所說明的優選實施例僅用於說明和解釋本發明,並不用於限定本發明。圖1是本發明實施例提供的一種上層文件系統對空洞文件快速讀取的方法的原理圖,如圖1所示,所述方法包括以下步驟步驟S101,在Fuse內核組件上外掛空洞文件處理系統;Fuse包括Fuse內核組件和Fuse上層模塊,其中,Fuse內核組件和空洞文件處理系統存在接口,Fuse內核組件接收到內核的頁請求後,會通過其與空洞文件處理系統的接口,請求空洞文件處理系統判別所要讀取的頁是否是空洞。步驟S102,所述空洞文件處理系統通過對上層文件系統的文件進行空洞判別,查找並標記文件的空洞頁,給所述空洞頁添加空洞標識;新建文件時,Fuse內核組件發現新建文件是空洞文件後,調用空洞文件處理系統,記錄空洞信息即空洞的內存地址和空洞長度。通過記錄空洞的內存地址和空洞長度,在讀取文件時可以判斷所要讀取的頁的內存地址是否在某個空洞的內存地址及空洞長度確定的地址範圍內,如果所讀取頁的地址在此範圍內,則此頁是空洞頁。在查詢已有文件屬性時,Fuse內核組件發現獲得屬性請求後,調用空洞文件處理系統,空洞文件處理系統查找出該文件的空洞信息版本號,並經Fuse內核組件轉發給Fuse上層模塊。Fuse上層模塊和上層文件系統獲得上層文件系統的空洞文件對應的空洞信息的版本號,並與接收到的空洞信息版本號相比較,如果獲得的文件的空洞信息版本號大於接收到的版本號,則將增量的空洞屬性返回給Fuse內核組件,並轉發給空洞文件處理系統,空洞文件處理系統根據增量的空洞屬性更新空洞信息,記錄增量的空洞的內存地址及空洞長度,同時更新空洞信息版本號。步驟S103,在讀取文件過程中,對於帶有空洞標識的空洞頁,所述空洞文件處理系統中止上層文件系統對其讀取。進程讀取文件時,Fuse內核組件調用空洞文件處理系統,檢查所讀取的頁是否是空洞,如果是空洞頁,則空洞文件處理系統不再請求上層文件系統讀取空洞頁,而直接通知進程。圖2是本發明實施例提供的新建文件時標記空洞的方法的流程圖,如圖2所示,所述方法包括以下步驟步驟S201,應用程式創建新文件。應用程式新建文件之後,調用標準截長函數Ftrimcate將新創建的文件的大小改為Ftrimcate長度參數指定的大小。步驟S202,Fuse內核組件調用空洞文件處理系統。Fuse內核組件發現截長請求後,比較Ftruncate的長度參數length與新建文件的長度isize。如果length大於isize,則表明截長後的文件是空洞文件,調用空洞文件處理系統接口。步驟S203,記錄空洞信息。空洞文件處理系統對空洞文件的空洞進行標識,記錄截長後的文件的當前實際的長度k和空洞信息,所述空洞信息是空洞文件中空洞的地址和空洞的長度。空洞文件處理系統記錄空洞信息後通知Fuse上層模塊。步驟S204,上層文件系統對空洞文件做相應處理並通知Fuse內核組件。Fuse上層模塊接收到空洞處理系統的通知後,轉給上層文件系統,上層文件系統根據Ftrimcate請求對上層文件做相應的處理,比如修改文件長度、更新修改時間等屬性,之後,上層文件系統將處理結果經Fuse上層模塊返回給Fuse內核組件。步驟S205,Fuse內核組件修改空洞文件的相應信息。Fuse內核組件接收上層文件系統的處理結果後,對所述結果進行相應的處理,更新索引節點inode的長度、接收時間、修改時間。步驟S206,Fuse內核組件通知應用程式。Fuse內核組件完成相應的處理後,通知應用程式操作成功。圖3是本發明實施例提供的讀取文件屬性時標記空洞的方法的流程圖,如圖3所示,所述方法包括以下步驟步驟S301,查詢文件屬性。應用程式調用Istat函數發出獲得文件屬性請求,Istat函數返回文件的相關屬性信息,包括文件所在設備的標識、文件結點號、文件保護模式、硬連接數、文件用戶標識、文件用戶組標識、文件所表示的特殊設備文件的設備標識、總大小、文件系統的塊大小、分配給文件的塊的數量、最後訪問時間、最後修改時間、最後狀態改變時間。步驟S302,調用空洞文件處理系統的接口。Fuse內核組件檢測到Istat函數後,判斷Istat函數對應的緩存是否失效,如果緩存已經失效表示其他進程可能對文件進行了修改,Fuse內核組件調用空洞文件處理系統的接口,請求查詢空洞信息的版本號。步驟S303,查詢當前空洞信息的版本號並發送給Fuse內核組件。空洞文件處理系統查找出空洞文件的空洞信息的版本號,並將其返回給Fuse內核組件,Fuse內核組件將其轉發給Fuse上層模塊。步驟S304,比較空洞信息的版本號,並返回空洞屬性。Fuse上層模塊接收到版本號後,比較上層文件系統的空洞文件對應的空洞信息的版本號和接收到的版本號,如果上層文件系統的空洞文件的空洞信息的版本號大於接收到的版本號,則表明上層文件系統的空洞文件已經被其他程序修改,因此要將增量的空洞信息返回給空洞文件處理系統,所述空洞信息包括發生變化的各個空洞的地址及各個空洞的長度。步驟S305,更新空洞信息,並向Fuse內核組件發送空洞信息。空洞文件處理系統接收到增量的空洞信息後修改空洞標識。比如,空洞變成實體數據後,在空洞信息中刪除該空洞的地址及空洞的長度;新增空洞後,則記錄新增空洞的地址及空洞長度。空洞文件處理系統更新了空洞信息後,更改空洞信息的版本號,並將空洞信息發送給Fuse內核組件。步驟S306,轉發空洞信息。空洞文件處理系統更新空洞信息之後,通知Fuse內核組件操作成功,Fuse內核組件將文件屬性發送給應用程式。步驟S307,得到文件屬性。應用程式接收到文件屬性,完成查詢文件屬性的過程。圖4是本發明實施例提供的一種上層文件系統對空洞文件快速讀取的方法的流程圖,如圖4所示,所述方法包括以下步驟步驟S401,對空洞文件的空洞進行標識。對空洞文件進行空洞標識通常包括兩種情況,一種是新建文件時,對文件的空洞進行標識,另外一種是讀取已有文件屬性時,對文件的空洞進行標識。新建文件時,對空洞的標識執行圖2所示的新建文件時標記空洞的方法的流程。讀取已有文件的屬性時,對空洞的標識執行圖3所示的讀取文件屬性時標記空洞的方法的流程。步驟S402,應用程式發出讀取頁面的請求。Mmap建立文件的內存地址映射,並讀取相應的內存地址對應的內容。內核如果發現所述內存地址對應的頁沒有被作業系統讀取過,則向註冊的文件系統模塊Fuse發出讀取頁面請求。步驟S403,Fuse內核組件請求空洞文件處理系統檢查當前讀取是否為空洞。Fuse內核組件收到應用程式的讀取頁面請求後,內核分配相關頁,Fuse內核組件調用空洞文件處理系統檢查所述頁是否是空洞。步驟S404,檢查是否是空洞。空洞文件處理系統根據所述頁的內存地址及空洞信息中的空洞地址和空洞長度判斷所述頁是否是空洞,如果所述頁的內存地址在某個空洞地址和其空洞長度確定的地址範圍內,則所述頁是空洞頁,執行步驟S405,否則執行步驟S406。步驟S405,直接返回到應用程式。空洞文件處理系統將內核分配的頁清零後,直接通知應用程式。步驟S406,轉發讀取請求。如果不是空洞頁,空洞文件處理系統向Fuse內核組件發送讀取請求。Fuse內核組件將該請求轉發給上層文件系統。步驟S407,讀取相應的頁。上層文件系統和Fuse上層模塊接收到Fuse內核組件的讀取請求後,讀取相關信息並將其返回給Fuse內核組件。步驟S408,轉發相應的頁。Fuse內核組件得到上層文件系統和Fuse上層模塊返回的相關頁後,將其發送給應用程式。步驟S409,應用程式得到相關頁。應用程式接收到Fuse內核組件發送的相關頁,完成讀取流程。圖5是本發明實施例提供的一種上層文件系統對空洞文件快速讀取的系統的結構圖,如圖5所示,所述系統包括應用程式1、Fuse內核組件2、空洞文件處理系統3、Fuse上層模塊4和上層文件系統5。其中,Fuse上層模塊4和上層文件系統5用於讀取文件頁;Fuse內核組件2,用於向空洞文件處理系統3發送檢查空洞的請求,並在空洞文件處理系統3反饋不是空洞時,向Fuse上層模塊4發送讀取文件頁的請求;空洞文件處理系統3通過對所讀取的文件進行空洞判別,查找並標記文件的空洞頁,給所述空洞頁添加空洞標識。在讀取文件過程中,對於帶有空洞標識的空洞頁,所述空洞文件處理系統2中止上層文件系統5對其讀取。所述系統首先對空洞文件進行空洞標識。空洞標識分為兩種情況,一種是在新建文件時進行標識,另外一種是在讀取文件屬性時進行標識。新建文件時,應用程式1創建新文件後,調用標準截長請求即Ftrimcate函數將新創建的文件的大小改為函數長度參數指定的大小。Fuse內核組件2接收到截長請求後,比較Ftruncate的長度參數length與創建的文件的原來長度isize。如果length大於isize,則表明截長後的文件是空洞文件,調用空洞文件處理系統3接口,請求添加空洞標識。空洞文件處理系統3記錄截長後的文件的當前實際的長度k和空洞信息,所述空洞信息包括空洞地址和空洞長度。讀取文件屬性時,應用程式1發出獲得文件屬性請求。Fuse內核組件2發現獲得文件屬性請求後,如果內核發現文件屬性對應的緩存已經失效,則表明文件已被其他程序更改或使用,因此調用空洞文件處理系統3的接口請求空洞信息的版本號。空洞文件處理系統3查找出空洞文件的空洞信息的版本號,並將其返回給Fuse內核組件2,Fuse內核組件2將其轉發給Fuse上層模塊4。Fuse上層模塊4接收到版本號後,比較上層文件系統5的空洞文件的空洞信息的版本號並與接收到的版本號相比較,如果上層文件系統的空洞文件的空洞信息的版本號大於接收到的版本號,則表明上層文件系統的空洞文件已經被其他程序修改,因此要將增量的空洞信息返回給空洞文件處理系統3。空洞文件處理系統3接收到增量的空洞信息後更新空洞標識。系統在進行了空洞標識後,讀取文件時,根據空洞標識快速讀取。應用程式1發出讀取頁面的請求,Fuse內核組件2收到應用程式的讀取頁面請求後,內核分配相關頁,Fuse內核組件2調用空洞文件處理系統3檢查所讀取的頁面是否為空洞,如果是空洞,則直接返回到應用程式1,否則向Fuse內核組件2發送讀取請求。Fuse內核組件2將該讀取請求轉發給Fuse上層模塊4和上層文件系統5。Fuse上層模塊4和上層文件系統5接收到Fuse內核組件2的讀取請求後,讀取相關信息並將其返回給Fuse內核組件2。Fuse內核組件2得到Fuse上層模塊4和上層文件系統5返回的相關頁後,將其發送給應用程式1。綜上所述,本發明通過預先標記空洞頁,解決了Fuse讀取空洞文件時性能損失嚴重導致系統內存複製和進程切換時壓力過大的問題,增強其對空洞文件的支持力度,在存在文件空洞的情況下,可以快速的返回,而不需要走複雜的調度到上層文件系統中,提高了讀取某些存在大量空洞的文件的性能。儘管上文對本發明進行了詳細說明,但是本發明不限於此,本
技術領域:
技術人員可以根據本發明的原理進行各種修改。因此,凡按照本發明原理所作的修改,都應當理解為落入本發明的保護範圍。權利要求1.一種上層文件系統對空洞文件快速讀取的方法,其特徵在於,所述方法包括以下步驟A、在Fuse內核組件上外掛空洞文件處理系統;B、所述空洞文件處理系統通過對上層文件系統的文件進行空洞判別,查找文件的空洞頁,給所述空洞頁添加空洞標識;C、在讀取文件過程中,對於帶有空洞標識的空洞頁,所述空洞文件處理系統中止上層文件系統對其讀取。2.根據權利要求1所述的方法,其特徵在於,所述步驟B包括Bi、應用程式創建新文件;B2、Fuse內核組件判斷所創建的新文件是否是空洞文件,如果是空洞文件,則向所述空洞文件處理系統發送添加空洞標識的請求;B3、所述空洞文件處理系統接收到所述添加空洞標識的請求後,查找所述文件的空洞頁,並給所述空洞頁添加空洞標識。3.根據權利要求1所述的方法,其特徵在於,所述步驟B還包括B4、應用程式向Fuse內核組件發送查詢文件屬性的請求;B5、Fuse內核組件接收到所述查詢文件屬性的請求後,判斷所述文件是否是空洞文件,如果是空洞文件,則向所述空洞文件處理系統發送更新空洞標識的的請求;B6、所述空洞文件處理系統接收到所述更新空洞標識的請求後,判斷所述空洞文件是否需要更新空洞標識,如果需要,則更新所述空洞頁的空洞標識。4.根據權利要求3所述的方法,其特徵在於,所述步驟B6包括B61、所述空洞文件處理系統接收到所述更新空洞標識的請求後,查詢所述空洞文件對應的空洞信息的版本號,並將所述版本號發送給上層文件系統;B62、上層文件系統比較所接收到的版本號和上層文件系統中所述空洞文件的空洞信息對應的版本號,如果所接收到的版本號小於上層文件系統中所述空洞文件的空洞信息對應的版本號,則上層文件系統將增量的空洞頁屬性發送給所述空洞文件處理系統;B63、所述空洞文件處理系統根據所述增量的空洞頁屬性更新所述空洞標識。5.根據權利要求1-4任一項所述的方法,其特徵在於,所述步驟C包括Cl、應用程式向Fuse內核組件發送讀取頁請求;C2、Fuse內核組件接收到所述讀取頁請求後,向所述空洞文件處理系統發送檢查空洞的請求;C3、所述空洞文件處理系統接收到檢查空洞的請求後,根據所述空洞標識判斷所述讀取頁是否是空洞頁,如果是空洞頁,則中止上層文件系統對其讀取,直接返回到應用程式,反之,向Fuse內核組件發送讀取請求,Fuse內核讀取所述讀取頁後將其返回給應用程式。6.一種上層文件系統對空洞文件快速讀取的系統,其特徵在於,所述系統包括上層文件系統,用於讀取文件頁;Fuse內核組件,用於向空洞文件處理系統發送檢查空洞的請求,並在所述空洞文件處理系統反饋不是空洞時,向上層文件系統發送讀取文件頁的請求;外掛在所述Fuse內核組件的空洞文件處理系統;其中,所述空洞文件處理系統通過對上層文件系統的文件進行空洞判別,查找文件的空洞頁,給所述空洞頁添加空洞標識;在讀取文件過程中,對於帶有空洞標識的空洞頁,所述空洞文件處理系統中止上層文件系統對其讀取。7.根據權利要求6所述的系統,其特徵在於,所述系統還包括應用程式,用於向所述Fuse內核組件發送讀取頁請求,並接收所述讀取頁。Fuse上層模塊,用於負責所述Fuse內核組件和所述上層文件系統之間的通信。8.根據權利要求7所述的系統,其特徵在於,所述應用程式還用於向Fuse內核組件發送創建新文件的請求;所述Fuse內核組件還用於判斷所創建的文件是否是空洞文件,如果是空洞文件,則向所述空洞文件處理系統發送添加空洞標識的請求;所述空洞文件處理系統還用於在接收到所述添加空洞標識的請求後,查找所述文件的空洞頁,並給所述空洞頁添加空洞標識。9.根據權利要求7所述的系統,其特徵在於,所述應用程式還用於向Fuse內核組件發送查詢文件屬性的請求;所述Fuse內核組件還用於在接收到所述查詢文件屬性的請求後,判斷所述文件是否是空洞文件,如果是空洞文件,則向所述空洞文件處理系統發送更新空洞標識的的請求;所述空洞文件處理系統還用於接收到所述更新空洞標識的請求後,判斷所述空洞文件是否需要更新空洞標識,如果需要,則查找所述文件的空洞頁,更新所述空洞頁的空洞標識。10.根據權利要求7-9任一項所述的系統,其特徵在於,所述應用程式還用於向Fuse內核組件發送讀取頁請求;所述Fuse內核組件還用於接收到所述讀取頁請求後,向所述空洞文件處理系統發送檢查空洞的請求;所述空洞文件處理系統還用於在接收到檢查空洞的請求後,根據所述的空洞標識判斷所述讀取頁是否是空洞頁,如果是空洞頁,則中止上層文件系統對其讀取,直接返回到應用程式,反之,向Fuse內核組件發送讀取請求,Fuse內核讀取所述讀取頁後將其返回給應用程式。全文摘要本發明公開了一種上層文件系統對空洞文件快速讀取的方法及系統,所述方法包括在Fuse內核組件上外掛空洞文件處理系統;所述空洞文件處理系統通過對上層文件系統的文件進行空洞判別,查找並標記文件的空洞頁,給所述空洞頁添加空洞標識;在讀取文件過程中,對於帶有空洞標識的空洞頁,所述空洞文件處理系統中止上層文件系統對其讀取。本發明通過預先標記空洞頁,解決了fuse讀取空洞文件時性能損失嚴重導致系統內存複製和進程切換時壓力過大的問題,增強其對空洞文件的支持力度,在存在文件空洞的情況下,可以快速的返回,而不需要走複雜的調度到上層文件系統中,提高了讀取某些存在大量空洞的文件的性能。文檔編號G06F17/30GK102298619SQ20111022827公開日2011年12月28日申請日期2011年8月10日優先權日2011年8月10日發明者嚴耀華,朱鵬,王瑜申請人:中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀