[發明專利]一種動態提高服務器輸入輸出吞吐量的方法和系統有效
| 申請號: | 201010209740.8 | 申請日: | 2010-06-25 |
| 公開(公告)號: | CN101887398A | 公開(公告)日: | 2010-11-17 |
| 發明(設計)人: | 王友升 | 申請(專利權)人: | 浪潮(北京)電子信息產業有限公司 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08;G06F13/16 |
| 代理公司: | 北京安信方達知識產權代理有限公司 11262 | 代理人: | 栗若木;王漪 |
| 地址: | 100085 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 動態 提高 服務器 輸入輸出 吞吐量 方法 系統 | ||
技術領域
本發明涉及一種計算機應用技術,尤其涉及一種動態提高服務器輸入輸出(IO)吞吐量的方法和系統。
背景技術
當前,隨著用戶業務量的不斷增長以及企業數據的不斷積累,對服務器輸入輸出(IO)的吞吐量要求也越來越高。雖然目前的高容量的內存不斷推出和成本的下降,但是內存的容量與快速硬盤的容量相比還是有比較大的差距。另外,內存的擴展也受限于服務器雙列直插存儲模塊(DIMM)插槽數等的限制,擴展性有限。
從客戶端對數據的讀寫訪問規律進行分析,程序對數據塊的訪問滿足局部性原理。如果用戶讀取一個大的多媒體文件很可能造成內存緩沖區的溢出,如果后續程序再次訪問被溢出的數據,將會造成抖動線程,從而大大降低服務器的性能。
發明內容
本發明所要解決的技術問題是需要提供一種提高服務器輸入輸出吞吐量的技術,以解決現有技術中服務器的服務性能受限于輸入輸出吞吐量的不足。
為了解決上述技術問題,本發明提供了一種動態提高服務器輸入輸出吞吐量的方法,包括:
服務器將客戶端發送的讀寫請求解析為數據塊讀寫操作請求,根據該數據塊讀寫操作請求判斷目標數據塊是否在一高速緩存中,是則根據該數據塊讀寫操作請求對該目標數據塊執行讀寫操作,否則對一快速磁盤中的一數據訪問信息鏈表進行遍歷;
如果在該數據訪問信息鏈表中找到該目標數據塊,則根據該數據塊讀寫操作請求將該目標數據塊拷貝到該高速緩存執行數據讀寫操作,否則從一低速硬盤讀取該目標數據塊存儲到該高速緩存中并執行數據讀寫操作,將該目標數據塊映射到快速磁盤;
其中,執行上述數據讀寫操作時,更新所述數據訪問信息鏈表。
優選地,所述客戶端刪除數據塊時,判斷所述高速緩存中是否存在待刪數據塊,存在則在該高速緩存中刪除該待刪數據塊,更新所述數據信息訪問鏈表并刪除所述慢速磁盤中的所述待刪數據塊,否則直接更新所述數據信息訪問鏈表并刪除所述慢速磁盤中的所述待刪數據塊。
優選地,所述數據訪問信息鏈表包括所述目標數據塊的訪問頻率。
優選地,對所述數據訪問信息鏈表進行遍歷的步驟,包括:
利用哈希函數對所述數據訪問信息鏈表進行遍歷。
優選地,所述數據訪問信息鏈表中包含有若干單鏈表,通過該哈希函數,利用所述數據塊讀寫操作請求和數據塊地址生成一個鍵值,具有相同鍵值的數據塊處于同一個單鏈表中;
其中,每一個單鏈表節點的結構包括數據塊的物理地址、數據塊的訪問頻率和指向下一個數據塊的指針;各單鏈表按照數據塊的訪問頻率由大到小遞減鏈接,數據塊的物理地址指向所述快速磁盤的數據塊。
優選地,更新所述數據訪問信息鏈表的步驟,包括:
讀取哈希鍵值對應的存儲段(bucket)單鏈表;
遍歷單鏈表,比較每個節點中數據塊的物理地址值,如果相等則停止遍歷,然后增加該節點的數據塊訪問頻率的統計值,并且將該節點進行前移。
優選地,所述客戶端刪除數據塊時,計算所述待刪數據塊的哈希鍵值,遍歷該待刪數據塊所在的bucket單鏈表,比較節點數據結構中的數據塊地址值是否與待刪數據塊的地址值相等,相等則刪除描述該節點的數據結構并停止遍歷,否則直接停止遍歷。
為了解決上述技術問題,本發明還提供了一種動態提高服務器輸入輸出吞吐量的系統,包括解析模塊、判斷模塊、第一執行模塊、查找模塊、第二執行模塊、第三執行模塊及更新模塊,其中:
該解析模塊,用于將客戶端發送的讀寫請求解析為數據塊讀寫操作請求;
該判斷模塊,用于根據該數據塊讀寫操作請求判斷目標數據塊是否在一高速緩存中;
該第一執行模塊,用于所述判斷模塊判斷該目標數據塊在該高速緩存中時,根據該數據塊讀寫操作請求對該目標數據塊執行讀寫操作;
該查找模塊,用于所述判斷模塊判斷該目標數據塊不在該高速緩存中時,對一快速磁盤中的一數據訪問信息鏈表進行遍歷;
該第二執行模塊,用于所述查找模塊在該數據訪問信息鏈表中查找到該目標數據塊時,根據該數據塊讀寫操作請求對該目標數據塊執行讀寫操作;
該第三執行模塊,用于所述查找模塊未在該數據訪問信息鏈表中查找到該目標數據塊時,從一低速硬盤讀取該目標數據塊存儲到該高速緩存中并執行數據讀寫操作,將該目標數據塊映射到快速磁盤;
該更新模塊,用于該第一執行模塊、第二執行模塊或第三執行模塊執行上述數據讀寫操作時,更新所述數據訪問信息鏈表。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮(北京)電子信息產業有限公司,未經浪潮(北京)電子信息產業有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010209740.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:檢測密閉氣體的傳感器的安裝結構
- 下一篇:一種智能終端交互界面顯示方法及系統





