[發明專利]一種用于軟件加速的方法和裝置有效
申請號: | 201510013172.7 | 申請日: | 2015-01-12 |
公開(公告)號: | CN104572205B | 公開(公告)日: | 2018-02-23 |
發明(設計)人: | 黃為綱;胡慶華;蔣嘉琦;位廣軍;葉愛平;韓龍;桂敬文;馬家智;王博通;陳太漢;孫杰偉;黃奧;邱悅婷;賈思騏;劉金鳳;郝冀宣;呂尤慶;田曉圓;葛艷平;王佳倩;李雯;孫啟鳳;張凱;王嬋娟 | 申請(專利權)人: | 安一恒通(北京)科技有限公司 |
主分類號: | G06F9/445 | 分類號: | G06F9/445 |
代理公司: | 廣州三環專利商標代理有限公司44202 | 代理人: | 溫旭,郝傳鑫 |
地址: | 100091 北京市海淀區東*** | 國省代碼: | 北京;11 |
權利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關鍵詞: | 一種 用于 軟件 加速 方法 裝置 | ||
技術領域
本發明涉及計算機軟件領域,更為具體而言,涉及一種用于軟件加速的方法和裝置。
背景技術
目前個人計算機(Personal Computer,PC)上運行的操作系統與大部分軟件的性能瓶頸已經不再是CPU(Central Processing Unit,中央處理器)與內存,而是作為主要數據存儲介質的硬盤,而近年來磁質硬盤的數據存取速率并未有明顯的提升,硬盤廠商主要關注提升單位體積內存儲密度用于生產出更大容量的硬盤。由于硬盤的數據存儲性能未有明顯的提升,而現有軟件的體積卻越來越大,因此造成了軟件啟動、運行時讀取數據時間的增長,形成了用戶直觀上所感受到的軟件“卡頓”現象,且這種“卡頓”現象在大型軟件上表現的更加明顯,例如Matlab、Photoshop、Visual Studio等大型軟件。
現有的軟件啟動加速方案主要是針對某一款軟件,通過禁用其啟動時不需要加載的插件或文件來達到軟件啟動加速的目的。這樣的軟件加速方案需要對軟件進行大量的分析與測試,才能獲知哪些插件或文件可以被禁用,且該方案對于某些軟件來說可能根本無法使用。因此,亟需對多種軟件可通用的軟件加速方案。
發明內容
為解決上述技術問題,本發明提供了一種用于軟件加速的方法和裝置,通過學習結果獲取軟件啟動所需讀取的文件名稱、每次文件讀取的偏移和每次文件讀取的長度,從而較為精確地將待加速軟件需要讀取的文件預存入內存緩沖區,顯著改善了文件數據的讀取速度,縮短了該軟件啟動所需的時間。
根據本發明實施方式的第一方面,提供了一種用于軟件加速的方法,所述方法可包括:
當啟動待加速軟件時,判斷所述待加速軟件是否已經包含學習結果中,所述學習結果包括軟件啟動所需讀取的文件名稱、每次文件讀取的偏移、每次文件讀取的長度,
若已經包含所述學習結果中,則根據所述學習結果中的文件名稱判斷當前打開的文件是否為所述待加速軟件啟動所需的文件,
若是所述待加速軟件啟動所需的文件,則根據所述學習結果中的文件名稱、每次文件讀取的偏移和每次文件讀取的長度預取所打開的文件存入內存的文件預取緩沖區,并建立文件預取記錄表,所述文件預取記錄表包括文件名稱、讀取偏移、讀取長度和內存地址,
在對所述打開的文件進行讀取時根據所述文件預取記錄表判斷需要讀取的文件數據是否位于文件預取緩沖區中,
若需要讀取的文件數據位于文件預取緩沖區中,則從文件預取緩沖區復制出所需讀取的文件數據,以完成所述待加速軟件啟動所需的讀取操作。
在本發明的一些實施方式中,所述方法可進一步包括:若所述待加速軟件未包含所述學習結果中,則獲取所述待加速軟件啟動過程中的文件操作行為,所述文件操作行為包括所需讀取的文件名稱、文件的讀取順序、每次文件讀取的偏移和每次文件讀取的長度。
在本發明的一些實施方式中,所述方法可進一步包括:在開始獲取所述待加速軟件啟動過程中的文件操作行為之后,對所述待加速軟件啟動過程中所需讀取的數據進行磁盤預取,并建立磁盤預取記錄表,所述磁盤預取包括通過磁盤過濾驅動截獲系統輸入/輸出管理器發給磁盤的第一輸入/輸出請求包IRP讀請求,并根據所述第一IRP讀請求中的讀取偏移和讀取長度查詢磁盤過濾驅動的磁盤預取緩沖區維護的所述磁盤預取記錄表以判斷所述第一IRP讀請求所需讀取的數據是否位于磁盤過濾驅動的磁盤預取緩沖區中,若是,則從所述磁盤預取緩沖區復制出所述第一IRP讀請求所需讀取的磁盤數據以完成本次讀取操作,若否,則將所述第一IRP讀請求進行阻塞,構造比所述第一IRP讀請求的讀取長度長的第二IRP讀請求,將根據所述第二IRP讀請求的讀取長度讀取的磁盤數據插入所述磁盤預取緩沖區,并將所述第二IRP讀請求的讀取偏移和緩存大小插入所述磁盤預取記錄表,然后根據所述第一IRP讀請求從所述磁盤預取緩沖區復制出所需讀取的磁盤數據以完成本次讀取操作。
在本發明的一些實施方式中,所述方法可進一步包括:在所述待加速軟件啟動完畢之后,將獲取的啟動過程中的文件操作行為輸出作為學習結果,并根據所述學習結果進行磁盤整理。
在本發明的一些實施方式中,所述根據所述學習結果進行磁盤整理可進一步包括:根據所述學習結果中的所需讀取的文件名稱和文件的讀取順序對磁盤進行整理以便所需讀取的文件在磁盤上按照文件的讀取順序存放。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于安一恒通(北京)科技有限公司,未經安一恒通(北京)科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510013172.7/2.html,轉載請聲明來源鉆瓜專利網。