本發明專利技術提供一種數據訪問的處理方法和裝置及服務器,該方法包括:在將磁盤中的所有數據加載到內存的過程中,接收數據訪問請求,數據訪問請求包括訪問數據的標識;若所有數據未全部從磁盤加載到內存,則查詢定位表,判斷訪問數據的標識對應的訪問數據是否加載到內存中;其中,定位表用于記錄從磁盤加載到內存的數據的標識;若訪問數據未加載到內存中,則將磁盤中與訪問數據的標識對應的訪問數據加載到內存,并從內存中對訪問數據進行訪問處理;根據訪問數據的標識,更新定位表。
【技術實現步驟摘要】
本專利技術涉及計算機技術,尤其涉及一種數據訪問的處理方法和裝置及服務器。
技術介紹
隨著內存集成度與成本的下降,大內存系統越來越普遍;同時,單機節點處理能力的也在不斷的提升。目前,單機需要處理的數據量也越來越大,單機內存數據庫可以達到ITB的量級。圖I為現有技術中單機內存數據庫啟動或者重啟時加載數據的原理示意圖,如圖I所示,當單機內存數據庫啟動或者重啟時,需要等待所有的數據從磁盤加載到內存后,才可以進行訪問處理。但是,受限于磁盤子系統的輸入/輸出(Input/Output;簡稱1/0)訪問性能,當加載的數據量很大時,會造成加載數據所需要的時間會很長,從而造成數據訪問的延時。
技術實現思路
本專利技術提供一種數據訪問的處理方法和裝置及服務器,用于解決現有技術中當單機內存數據庫啟動或者重啟時,需要等待所有的數據從磁盤加載到內存后,才可以進行訪問處理而造成的數據訪問延時的問題。本專利技術的第一個方面是提供一種數據訪問的處理方法,包括在將磁盤中的所有數據加載到內存的過程中,接收數據訪問請求,所述數據訪問請求包括訪問數據的標識;若所述所有數據未全部從磁盤加載到內存,則查詢定位表,判斷所述訪問數據的標識對應的訪問數據是否加載到所述內存中;其中,所述定位表用于記錄從所述磁盤加載到內存的數據的標識;若所述訪問數據未加載到所述內存中,則將所述磁盤中與所述訪問數據的標識對應的訪問數據加載到所述內存,并從所述內存中對所述訪問數據進行訪問處理;根據所述訪問數據的標識,更新所述定位表。本專利技術的另一個方面是提供一種數據訪問的處理裝置,包括內存和磁盤,其中,還包括 接收模塊,用于在將磁盤中的所有數據加載到內存的過程中,接收數據訪問請求,所述數據訪問請求包括訪問數據的標識;判斷模塊,用于根據所述接收模塊接收到的所述數據訪問請求,判斷所述所有數據是否全部從所述磁盤加載到所述內存;若判斷出所述所有數據全部從所述磁盤加載到所述內存中,則查詢定位表,判斷所述訪問數據的標識對應的訪問數據是否加載到所述內存中;其中,所述定位表用于記錄從所述磁盤加載到內存的數據的標識;加載模塊,用于若所述判斷模塊判斷出所述接收模塊接收到的所述數據訪問請求中的所述訪問數據的標識對應的訪問數據未加載到所述內存中,則將所述磁盤中與所述訪問數據的標識對應的訪問數據加載到所述內存;訪問處理模塊,用于在所述加載模塊將所述磁盤中與所述訪問數據的標識對應的訪問數據加載到所述內存后,從所述內存中對所述訪問數據進行訪問處理; 更新模塊,用于在所述加載模塊將所述磁盤中與所述訪問數據的標識對應的訪問數據加載到所述內存后,根據所述訪問數據的標識,更新所述定位表。本專利技術的又一個方面是提供一種服務器,包括內存和磁盤,其中,還包括存儲器,用于存儲指令;處理器,與所述存儲器耦合,所述處理器被配置為執行存儲在所述存儲器中的指令,且所述處理器被配置為用于執行上述所述的數據訪問的處理方法。本專利技術實施例通過以上技術方案,在磁盤中所有數據未全部從磁盤加載到內存,且在將該磁盤中的所有數據加載到內存的過程中,接收到數據訪問請求中的訪問數據的標識對應訪問數據未加載到該內存時,可以提前將該磁盤中該訪問數據加載到內存中,并更新該定位表,以及從該內存中對該訪問數據進行訪問處理,相較于現有技術中需要將所有的數據從磁盤加載到內存后才可以進行數據訪問處理而言,本專利技術實施例可以不考慮數據加載的時間,即可以在內存數據庫啟動或者重啟時,就可以直接對數據進行訪問處理,從而減小了內存數據庫啟動或者重啟過程中數據不可訪問的時間,提高了數據訪問的效率。附圖說明圖I為現有技術中單機內存數據庫啟動或者重啟時加載數據的原理示意圖;圖2為本專利技術數據訪問的處理方法的一個實施例的流程圖;圖3為本專利技術數據訪問的處理方法的還一個實施例的流程圖;圖4為本專利技術實施例提供的在該溫運行階段時數據從磁盤加載到內存的另一種具體實現方式的流程圖;圖5為本專利技術數據訪問的處理方法的一個具體實現原理示意圖;圖6為本專利技術數據訪問的處理裝置的一個實施例的結構示意圖。具體實施例方式圖2為本專利技術數據訪問的處理方法的一個實施例的流程圖,如圖2所示,本實施例的執行主體可以為數據訪問的處理裝置,則該方法包括步驟101、在將磁盤中的所有數據加載到內存的過程中,接收數據訪問請求,該數據訪問請求包括訪問數據的標識。步驟102、若所有數據未全部從磁盤加載到內存,則查詢定位表,判斷該訪問數據的標識對應的訪問數據是否加載到該內存中,其中,該定位表用于記錄從磁盤加載到內存的數據的標識。在本實施例中,當數據訪問的處理裝置的內存數據庫啟動或者重啟時,數據訪問的處理裝置開始將磁盤上的所有數據持續地加載到內存中,在這個加載的過程中,即所有數據未全部從磁盤加載到內存時,該數據訪問的處理裝置進入到一個溫運行階段。在該溫運行階段,數據訪問的處理裝置在后臺進行數據從磁盤到內存的加載,并建立定位表。另外,數據訪問的處理裝置還可以在該溫運行階段接收數據訪問請求,并可以查詢該定位表,判斷該訪問的數據的標識對應的訪問數據是否加載到內存中。步驟103、若該訪問數據未加載到該內存中,則將磁盤中與該訪問數據的標識對應的訪問數據加載到該內存,并從該內存中對該訪問數據進行訪問處理。優選地,數據訪問的處理裝置可以內部頁為單元,將該磁盤中與該訪問數據標識 對應的訪問數據加載到該內存中。舉例來說,內部頁包括多個頁,其中,每個頁的大小可以為4K或者8K。步驟104、根據該訪問數據的標識,更新該定位表。在本實施例中,當判斷出該訪問數據的標識對應的訪問數據未加載到該內存中時,可以提前將磁盤中與該訪問數據的標識對應的訪問數據加載到該內存,并更新定位表,即將該訪問數據的標識存在在定位表中。同時,還可以從該內存中,對該訪問的數據進行訪問處理,例如,對該訪問的數據進行讀寫操作。在本實施例中,在磁盤中所有數據未全部從磁盤加載到內存,且在將該磁盤中的所有數據加載到內存的過程中,接收到數據訪問請求中的訪問數據的標識對應訪問數據未加載到該內存時,可以提前將該磁盤中該訪問數據加載到內存中,并更新該定位表,以及從該內存中對該訪問數據進行訪問處理,相較于現有技術中需要將所有的數據從磁盤加載到內存后才可以進行數據訪問處理而言,本專利技術實施例可以不考慮數據加載的時間,即可以在內存數據庫啟動或者重啟時,就可以直接對數據進行訪問處理,從而減小了內存數據庫啟動或者重啟過程中數據不可訪問的時間,提高了數據訪問的效率。進一步的,在本專利技術的另一個實施例中,在上述圖2所示實施例的基礎上,該方法還可以包括若該訪問數據已經加載到該內存中,則從該內存中對該訪問數據進行訪問處理。另外,優選地,在數據訪問的處理裝置處于溫運行階段時,數據訪問的處理裝置一直持續的將磁盤上的數據加載到內存中,其加載的過程的具體實現方式可以具體為查詢該定位表,判斷預先創建的加載任務表中需要加載的數據的標識對應的需要加載的數據是否加載到該內存;該加載任務表中包括需要加載的數據的順序和該需要加載的數據的標識;若判斷出該需要加載的數據未加載到該內存,則以內部頁為單元,將該需要加載的數據加載到所述內存,并更新該定位表。更進一步的,在本專利技術的又一個實施例中,在上述圖2所示實施例的基礎上,該方法還可以包括在所有數據全部從該磁盤加載本文檔來自技高網...
【技術保護點】
一種數據訪問的處理方法,其特征在于,包括:在將磁盤中的所有數據加載到內存的過程中,接收數據訪問請求,所述數據訪問請求包括訪問數據的標識;若所述所有數據未全部從所述磁盤加載到所述內存,則查詢定位表,判斷所述訪問數據的標識對應的訪問數據是否加載到所述內存中;其中,所述定位表用于記錄從所述磁盤加載到內存的數據的標識;若所述訪問數據未加載到所述內存中,則將所述磁盤中與所述訪問數據的標識對應的訪問數據加載到所述內存,并從所述內存中對所述訪問數據進行訪問處理;根據所述訪問數據的標識,更新所述定位表。
【技術特征摘要】
【專利技術屬性】
技術研發人員:陳志標,侯冰劍,
申請(專利權)人:華為技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。