本發明專利技術提供一種有限資源下數據緩沖方法,包括:只建立一個緩沖區;使用原程序接口獲取數據;將獲取的所述數據復制到所述緩沖區;從所述緩沖區中取用數據。本發明專利技術還提供一種有限資源下數據緩沖裝置,建立緩沖區模塊只建立一個緩沖區;讀取數據模塊使用原程序接口獲取數據;存入緩沖區模塊將所述讀取數據模塊讀取的數據復制到所述緩沖區;讀取緩沖區模塊從所述緩沖區中取用數據。本發明專利技術技術方案采取一個緩沖區,避免了有限資源的條件下,多緩沖區空間不足的問題,提升了程序性能。
【技術實現步驟摘要】
本專利技術涉及計算機軟件優化技術,尤其涉及一種有限資源下數據緩沖方法和裝置。
技術介紹
緩沖區是一種性能優化技術,其方法為開辟多塊內存區域,將數據依次復制到緩沖區,由于緩沖區中存有數據的副本,使得程序不必等待數據不再使用時才讀取下一塊數據,因此能夠提聞程序的運行效率。但是,目前還沒有一種在有限內存資源條件下使用緩沖區技術加速程序性能的方·法。
技術實現思路
本專利技術要解決的技術問題是提供一種有限資源下數據緩沖方法和裝置,實現有限內存下提高運行效率。為了解決上述問題,本專利技術提供了一種有限資源下數據緩沖方法,包括只建立一個緩沖區;使用原程序接口獲取數據;將獲取的所述數據復制到所述緩沖區;從所述緩沖區中取用數據。進一步的,上述方法還可具有以下特點,所述方法還包括重復執行下述操作直到結束使用所述原程序接口獲取后續數據;將當前獲取的數據復制到所述緩沖區;從所述緩沖區中取用數據。進一步的,上述方法還可具有以下特點,在所述重復過程中,從所述緩沖區中取用數據時,并行執行下一輪操作中的使用所述原程序接口獲取后續數據的步驟。進一步的,上述方法還可具有以下特點,所述方法還包括在已復制到所述緩沖區中的數據不再使用時,才將使用所述原程序接口獲取的后續數據復制到所述緩沖區。進一步的,上述方法還可具有以下特點,所述原程序接口為數據讀取函數或者數據輸出函數。本專利技術還提供一種有限資源下數據緩沖裝置,其特征在于,包括建立緩沖區模塊,用于只建立一個緩沖區;讀取數據模塊,用于使用原程序接口獲取數據;存入緩沖區模塊,用于將所述讀取數據模塊讀取的數據復制到所述緩沖區;讀取緩沖區模塊,用于從所述緩沖區中取用數據。進一步的,上述裝置還可具有以下特點,所述讀取數據模塊還用于重復執行下述操作直到結束使用所述原程序接口獲取后續數據;所述存入緩沖區模塊還用于在所述讀取數據模塊每次獲取數據后,將所獲取的數據復制到所述緩沖區;所述讀取緩沖區模塊還用于重復從所述緩沖區中取用數據直到結束。進一步的,上述裝置還可具有以下特點,所述讀取數據模塊還用于在所述讀取緩沖區模塊從所述緩沖區中取用數據時,并行執行使用所述原程序接口獲取后續數據。進一步的,上述裝置還可具有以下特點,所述存入緩沖區模塊是用于在已復制到所述緩沖區中的數據不再使用時,才將讀取數據模塊獲取的后續數據復制到所述緩沖區。進一步的,上述裝置還可具有以下特點,所述原程序接口為數據讀取函數或者數據輸出函數。 與現有技術相比,本專利技術技術方案采取一個緩沖區,避免了有限資源的條件下,多緩沖區空間不足的問題,提升了程序性能。附圖說明圖I是本專利技術實施例有限資源下數據緩沖方法流程圖;圖2是本專利技術實施例有限資源下數據緩沖裝置框圖。具體實施例方式為使本專利技術的目的、技術方案和優點更加清楚明白,下文中將結合附圖對本專利技術的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。本專利技術實施例公開了一種在有限資源條件下的單緩沖區實現的方法,以提高程序性能,其中該方法包括創建單緩沖區;獲取數據;將數據復制至緩沖區;從緩沖區中取用數據。本專利技術實施例提供一種有限資源下數據緩沖方法,包括只建立一個緩沖區;使用原程序接口獲取數據;將獲取的所述數據復制到所述緩沖區;從所述緩沖區中取用數據。其中,緩沖區大小由需要存放的數據決定。其中,所述方法還包括重復執行下述操作直到結束使用所述原程序接口獲取后續數據;將當前獲取的數據復制到所述緩沖區;從所述緩沖區中取用數據。其中,在所述重復過程中,從所述緩沖區中取用數據時,并行執行下一輪操作中的使用所述原程序接口獲取后續數據的步驟。其中,所述方法還包括在已復制到所述緩沖區中的數據不再使用時,才將使用所述原程序接口獲取的后續數據復制到所述緩沖區。其中,所述原程序接口為數據讀取函數或者數據輸出函數。本專利技術實施例還提供一種有限資源下數據緩沖裝置,包括建立緩沖區模塊,用于建立一個緩沖區;讀取數據模塊,用于使用原程序接口獲取數據;存入緩沖區模塊,用于將所述讀取數據模塊讀取的數據復制到所述緩沖區;讀取緩沖區模塊,用于從所述緩沖區中取用數據。其中,所述讀取數據模塊還用于重復執行下述操作直到結束使用所述原程序接口獲取后續數據;所述存入緩沖區模塊還用于在所述讀取數據模塊每次獲取數據后,將所獲取的數據復制到所述緩沖區;所述讀取緩沖區模塊還用于重復從所述緩沖區中取用數據直到結束。 其中,所述讀取數據模塊還用于在所述讀取緩沖區模塊從所述緩沖區中取用數據時,并行執行使用所述原程序接口獲取后續數據。其中,所述存入緩沖區模塊是用于在已復制到所述緩沖區中的數據不再使用時,才將讀取數據模塊獲取的后續數據復制到所述緩沖區。其中,所述原程序接口為數據讀取函數或者數據輸出函數。本專利技術可適用于內存有限,無法創建兩個或兩個以上緩沖區的情況;當然,在內存資源足夠的時候,也可使用本專利技術。下面通過具體實施例進一步說明本專利技術。實施例一、單緩沖區系統的實施方法本實施例包括如下步驟步驟S110,創建緩沖區,本實施例中緩沖區大小為1024字節;步驟S120,使用原始程序的數據讀取函數read,讀取數據,該數據最大為1024字節;讀取到的數據隱式存入read函數開辟的內存空間中;其中,隱式指程序員無法控制該空間;步驟S130,將上述read函數讀取的數據復制至緩沖區中;步驟S140,下游過程從緩沖區中獲取數據;步驟S150,重復步驟S120,并與步驟S140同時執行;步驟S160,當緩沖區中的數據不再使用,且步驟S150執行完成時,重復步驟S130,步驟S140。重復執行步驟S150,S160,直到程序執行完畢。需要說明的是,本實施例選擇對數據讀取函數建立緩沖區,但實際實施過程中,既可以對數據讀取函數建立緩沖區,也可以對數據輸出函數建立緩沖區,甚至可以對數據讀取函數和數據輸出函數分別建立緩沖區。應用實例本應用實例對數據處理的單位為1024字節,且對輸入建立緩沖區。如圖2所示,建立緩沖區模塊210建立一個1024字節大小的緩沖區。讀取數據模塊220使用原始程序的讀取數據接口讀取1024字節數據并存入程序員不可控的臨時空間。存入緩沖區模塊230將讀取數據模塊220讀取的在臨時空間中的數據復制到緩沖區中。讀取緩沖區模塊240在需要時將數據從緩沖區中讀取并提供給下游模塊使用。在存入緩沖區模塊230第一次復制數據完成后,讀取緩沖區模塊240與讀取數據模塊220可以并行執行,且讀取緩沖區模塊240-讀取數據模塊220的并行組,與存入緩沖區模塊230依序循環執行,直到程序結束。上述步驟可以在諸如一組計算機可執行指令的計算機系統中執行,并且,在某些情況下,可以以不同于上述的順序執行所示出或描述的步驟。本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關硬件完成,所述程序可以存儲于計算機可讀存儲介質中,如只讀存儲器、磁盤或光盤等。可選地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現。相應地,上述實施例中的各模塊/單元可以采用硬件的形式實現,也可以采用軟件功能模塊的 形式實現。本專利技術不限制于任何特定形式的硬件和軟件的結合。本文檔來自技高網...
【技術保護點】
一種有限資源下數據緩沖方法,其特征在于,包括:只建立一個緩沖區;使用原程序接口獲取數據;將獲取的所述數據復制到所述緩沖區;從所述緩沖區中取用數據。
【技術特征摘要】
1.一種有限資源下數據緩沖方法,其特征在于,包括 只建立一個緩沖區; 使用原程序接口獲取數據; 將獲取的所述數據復制到所述緩沖區; 從所述緩沖區中取用數據。2.如權利要求I所述的方法,其特征在于,所述方法還包括重復執行下述操作直到結束 使用所述原程序接口獲取后續數據;將當前獲取的數據復制到所述緩沖區;從所述緩沖區中取用數據。3.如權利要求2所述的方法,其特征在于,在所述重復過程中,從所述緩沖區中取用數據時,并行執行下一輪操作中的使用所述原程序接口獲取后續數據的步驟。4.如權利要求2所述的方法,其特征在于,所述方法還包括 在已復制到所述緩沖區中的數據不再使用時,才將使用所述原程序接口獲取的后續數據復制到所述緩沖區。5.如權利要求I至4任一所述的方法,其特征在于,所述原程序接口為數據讀取函數或者數據輸出函數。6.一種有限資源下數據緩沖裝置,其特征在于,包括 建立緩沖區模塊,用于只建立一個緩沖區; 讀取數據模塊...
【專利技術屬性】
技術研發人員:沈鉑,張清,吳慶,
申請(專利權)人:浪潮北京電子信息產業有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。