[發明專利]內存管理方法及系統有效
| 申請號: | 201610073294.X | 申請日: | 2016-02-02 |
| 公開(公告)號: | CN105786616B | 公開(公告)日: | 2019-03-12 |
| 發明(設計)人: | 宋鑫;張欽;朱仲穎 | 申請(專利權)人: | 上海達夢數據庫有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆;胡彬 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 管理 方法 系統 | ||
本發明提供一種內存管理方法及系統。根據所述方法,所述系統按照待處理語句中處理標識的處理次序優先級由低到高的順序,將所述待處理語句逐級分解成多個子語句,其中,所述處理標識用于標識同級子語句之間的邏輯處理關系;將分解后的各級含有處理標識的子語句按照優先級保存在多個內存段中;根據處理標識的處理次序優先級由高到低的順序,確定最高優先級為當前優先級;從當前優先級對應的內存段中讀取子語句,進行語句處理,獲得處理結果,并將處理結果保存至下一優先級對應的內存段中;釋放當前優先級對應的內存段;將下一優先級更新為當前優先級,并返回執行子語句的讀取和處理操作,直至所述待處理語句處理完成。本發明能夠提高內存使用效率。
技術領域
本發明涉及計算機處理領域,尤其涉及一種內存管理方法及系統。
背景技術
內存管理對于一個大型系統有著至關重要的影響,占用大量的內存和頻繁的內存申請都會加重系統的負擔,最終導致系統的運行效率下降。
現有的內存管理基本原則為:減少向操作系統分配內存的次數,即一次申請多次利用。一般的方式采用一次性向操作系統分配一個大的內存,并準備兩個鏈表;將此大內存劃分為多個小內存塊,所有的小內存塊加入空閑鏈表,系統使用的時候從空閑鏈表中摘除,放入工作鏈表,使用完之后再次放回空閑鏈表;在對鏈表操作時,需要先上鎖保護共享資源。
當進行復雜運算、或數據處理時,系統僅以復雜運算的處理過程為整體,提供一個較大的內存空間,并利用鏈表方式維護所提供的內存空間,但卻未能細化內存空間的使用,使得復雜運算過程中對該內存空間的管理不夠精細,內存使用率低。
發明內容
本發明提供一種內存管理方法及系統,用于解決現有技術中復雜運算、或數據處理過程中未提供有針對性的內存管理的問題。
為解決上述問題,本發明提供一種內存管理方法,包括:按照待處理語句中處理標識的處理次序優先級由低到高的順序,將所述待處理語句逐級分解成多個子語句,其中,所述處理標識用于標識同級子語句之間的邏輯處理關系;將分解后的各級含有處理標識的子語句按照優先級保存在多個內存段中;根據處理標識的處理次序優先級由高到低的順序,確定最高優先級為當前優先級;從當前優先級對應的內存段中讀取子語句,進行語句處理,獲得處理結果,并將處理結果保存至下一優先級對應的內存段中;釋放當前優先級對應的內存段;將下一優先級更新為當前優先級,并返回執行子語句的讀取和處理操作,直至所述待處理語句處理完成。
優選地,所述待處理語句包括:數據庫語句和/或邏輯運算語句。
優選地,將所述待處理語句逐級分解成多個子語句之前,還包括:按照待處理語句中的處理標識的優先級,將待處理語句中子語句和處理標識基于二叉樹結構進行設置。
優選地,采用內存堆棧作為各內存段。
優選地,所述將分解后的各級含有處理標識的子語句按照優先級保存在多個內存段中包括:將分解后同一優先級的多個處理標識,以及所連接的子語句按照優先級保存在同一內存段中。
優選地,所述內存段包括:工作區域和輸出區域;則從當前優先級對應的內存段中讀取包含處理標識的子語句,進行語句處理,獲得處理結果,并將處理結果保存至下一優先級對應的內存段中包括:從當前優先級對應的內存段的工作區域中讀取包含處理標識的子語句,進行語句處理,獲得處理結果;將所述處理結果保存在當前優先級對應的內存段的輸出區域中,并傳遞至下一優先級對應的內存段的工作區域中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海達夢數據庫有限公司,未經上海達夢數據庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610073294.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于redis與RDMA技術的調度平臺
- 下一篇:應用打開方法及系統





