[發明專利]一種基于動態調整的環形緩沖區的數據處理方法及設備有效
| 申請號: | 202010058173.4 | 申請日: | 2020-01-19 |
| 公開(公告)號: | CN111290708B | 公開(公告)日: | 2022-03-11 |
| 發明(設計)人: | 唐東明;李駒光;劉湛 | 申請(專利權)人: | 成都中嵌自動化工程有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 成都九鼎天元知識產權代理有限公司 51214 | 代理人: | 夏琴 |
| 地址: | 610041 四川省成都市高新區*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 動態 調整 環形 緩沖區 數據處理 方法 設備 | ||
本發明提供了一種基于動態調整的環形緩沖區的數據處理方法,包括以下步驟:環形緩沖區進行正常讀寫數據;獲取環形緩沖區剩余可寫入單元;當環形緩沖區的無剩余可寫入單元時,根據待寫入數據個數動態開辟數據緩沖區;若存在多個待寫入數據,則依次開辟多個數據緩沖區,每個數據緩沖區通過鏈表進行連接,同時將待寫入數據寫入數據緩沖區。采用本發明的技術方案動態開辟數據緩沖區,應用上靈活可行,動態建立的緩沖區在使用完畢后由系統完成釋放操作,不會無效占用系統內存。
技術領域
本發明涉及數據處理領域,特別涉及一種基于動態調整的環形緩沖區的數據讀寫方法及設備。
背景技術
環形緩沖區的存儲空間在邏輯上首位相連,在物理存儲上是一維的長度固定的連續線性結構,如圖1所示,在應用中,環形緩沖區的大小通常固定不變(圖1中長度為8),定義讀取指針和讀寫指針來分別指向當前可讀和可寫數據的位置;初始狀態下,讀寫指針指向同一個位置,當前環形緩沖區中存儲的數據個數N為0;當寫入一個數據,N+1,寫指針移動到下一個可寫的位置;當讀出一個數據,N-1,讀指針移到下一個可讀的位置;當寫入數據的個數達到緩沖區最大容量時,表示環形緩沖區被寫滿,讀指針和寫指針指向同一個位置。緩沖區被寫滿后,如果還需要寫入數據,則存在兩種可能的操作:第一種是不執行寫入操作,直接返回;第二種是覆蓋寫入,覆蓋掉尚未讀取的數據。
由此可見,當數據寫入和讀出的速度匹配時,環形緩沖區的工作效率很高,可以大大提高系統處理數據的并發能力;但當出現數據寫入速度大于讀出速度繼而導致緩沖區被寫滿的情況發生時,系統必然會產生數據丟失(如果不執行寫入操作直接返回,則當前待寫入的數據可能會被后續的待寫入數據覆蓋;如果覆蓋寫入則當前尚未讀取的數據會被待寫入的數據覆蓋),對于一些數據敏感的系統,不允許丟失任何一組數據,這時傳統的環形緩沖區的讀寫處理方式顯然就無法滿足要求。
為避免數據丟失,在環形緩沖區初始大小固定的情況下,普遍的解決辦法有兩種:
第一種是直接建立一個更大的環形緩沖區,把當前環形緩沖區里的內容完全拷貝過去,如圖2所示,原有環形緩沖區長度為4,新建了一個更大的長度為8,把原來的D0-D3的數據全部拷貝到新的更大的緩沖區中,D4-D8為可新增數據。這種方法的缺陷在于:新增緩沖區的大小必須確定,無法動態改變;存在數據拷貝的開銷,如果數量巨大可能影響系統性能;原緩沖區沒有釋放,無效占用系統內存資源。
第二種是在原環形緩沖區上擴充單元,如圖3所示,原有環形緩沖區長度為4,擴充新的4個單元加入進來,整個的環形緩沖區的長度變成8個。這種方法的缺陷在于:新增緩沖區的大小必須確定,無法動態改變;讀寫指針的移動變得復雜,可讀和可寫的位置跟緩沖區的擴充點密切相關。
現有的方法都因為待寫入的數據量大小并不確定,導致無法確定新建的緩沖區的大小,方法的靈活性很差;另外,因為當前的緩沖區是靜態建立的,當不操作時無法在系統內存中釋放掉會導致內存空間被無效占用。
發明內容
針對現有技術中存在的問題,提供了一種新的基于動態調整的環形緩沖區數據處理方法。該方法基于固定長度的環形緩沖區,當數據緩沖區滿無法再寫入數據時,將待數據寫入到動態新建的數據緩沖區中。為方便管理這些數據緩沖單元以鏈表形式連接起來。當環形緩沖區中的數據被讀出后,按順序將動態數據緩沖區的內容拷貝到環形緩沖區中,并釋放數據緩沖區。
本發明采用的技術方案如下:一種基于動態調整的環形緩沖區的數據處理方法,包括以下步驟:
環形緩沖區進行正常讀寫數據;
獲取環形緩沖區剩余可寫入單元;
當環形緩沖區的無剩余可寫入單元時,根據待寫入數據個數動態開辟數據緩沖區;若存在多個待寫入數據,則依次開辟多個數據緩沖區,每個數據緩沖區通過鏈表進行連接,同時將待寫入數據寫入數據緩沖區。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都中嵌自動化工程有限公司,未經成都中嵌自動化工程有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010058173.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種圖像顯示方法及電子設備
- 下一篇:一種防止服務器過流掉電的方法及系統





