国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于內(nèi)存映射的大數(shù)據(jù)文件快速并行提取方法

      文檔序號(hào):6561560閱讀:221來源:國知局
      專利名稱:基于內(nèi)存映射的大數(shù)據(jù)文件快速并行提取方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種數(shù)據(jù)處理技術(shù),具體說,涉及一種基于內(nèi)存映射的大數(shù)據(jù)文件快速并行提取方法。
      背景技術(shù)
      隨著多核計(jì)算機(jī)的發(fā)展,多核PC機(jī)已經(jīng)可以完成許多大規(guī)模計(jì)算任務(wù),復(fù)雜的計(jì)算往往與大量的數(shù)據(jù)文件相關(guān),這就難免會(huì)出現(xiàn)應(yīng)用程序一次性處理幾個(gè)GB數(shù)據(jù)文件的情況,目前面對(duì)這樣大數(shù)據(jù)文件的處理,存儲(chǔ)器與輔助存儲(chǔ)器內(nèi)的數(shù)據(jù)讀取往往會(huì)成為提高應(yīng)用程序運(yùn)行速度的瓶頸,從而不能很好運(yùn)用多核系統(tǒng)帶來的優(yōu)越硬件性能。現(xiàn)有的內(nèi)存映射文件技術(shù),全部是在傳統(tǒng)的單核環(huán)境下實(shí)現(xiàn)的,在針對(duì)大數(shù)據(jù)文件的處理方面存在著效率低下、通用性差的缺點(diǎn),即普通的內(nèi)存映射方法處理效率低,經(jīng)過改進(jìn)的內(nèi)存映射方法只能應(yīng)用在某些特定問題上,不具備通用性。在大數(shù)據(jù)文件的讀取方面,主要面臨的問題是數(shù)據(jù)的存儲(chǔ)、提取、處理和分析。 DAS (Direct Attached Storage,直接附力口存儲(chǔ))禾口 FAS (Fabric Attached Storage,網(wǎng)絡(luò)存儲(chǔ))是大數(shù)據(jù)文件存儲(chǔ)技術(shù)的兩個(gè)主流方向。近年來,網(wǎng)絡(luò)存儲(chǔ)在P2P技術(shù)、網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)等方面有了很好的發(fā)展,尤其是基于對(duì)象存儲(chǔ)的Lustre文件系統(tǒng),以其并行的數(shù)據(jù)訪問、 分布式的元數(shù)據(jù)管理在性能上超越了傳統(tǒng)的網(wǎng)絡(luò)存儲(chǔ)架構(gòu)。然而,隨著當(dāng)前多核處理器性能的急速提升,對(duì)于采用DAS存儲(chǔ)方式將外部存儲(chǔ)設(shè)備直接掛接在服務(wù)器內(nèi)部總線上的個(gè)人計(jì)算機(jī)或小型服務(wù)器,其大數(shù)據(jù)文件的讀取速度已經(jīng)難以滿足處理器計(jì)算的需求,如果文件的數(shù)據(jù)量過大甚至?xí)霈F(xiàn)操作系統(tǒng)不支持的情況,以導(dǎo)致系統(tǒng)直接崩潰。在已有的研究中,針對(duì)大數(shù)據(jù)文件快速提取及處理的解決方法主要集中在兩個(gè)方面。一種是改善硬件環(huán)境進(jìn)行性能的提升,主要的做法是通過硬盤技術(shù)、磁盤陣列技術(shù)等以提高大數(shù)據(jù)文件的處理能力。這種方法不但存在著提升硬件成本的問題,而且仍無法避免文件量過大操作系統(tǒng)不支持的情況。另一種解決方法就是內(nèi)存映射文件技術(shù)。對(duì)內(nèi)存映射文件技術(shù)的研究主要有兩個(gè)方面。一方面是直接利用內(nèi)存映射文件技術(shù)配合相應(yīng)算法提高大數(shù)據(jù)文件的處理能力;另一方面是利用特定索引方式提高內(nèi)存映射文件在解決特定問題上的效率。在已有的研究中,通過硬盤技術(shù)、磁盤陣列技術(shù)等來提高大數(shù)據(jù)文件的處理能力, 不但存在著提升硬件成本的問題,而且仍無法避免文件過大導(dǎo)致操作系統(tǒng)不支持的情況。 目前對(duì)大數(shù)據(jù)文件的處理普遍使用的一種方法是直接利用內(nèi)存映射技術(shù)和相應(yīng)算法,雖然可以支持大的數(shù)據(jù)文件,但是處理效率較低,影響系統(tǒng)的有效性。另一種處理大數(shù)據(jù)量文件的方法是利用特定索引方式配合內(nèi)存映射文件來提高解決特定問題的效率,這種方法只針對(duì)某些特定問題,缺乏通用性。內(nèi)存映射文件(Memory-Mapped Files, MMFs)是Win32操作系統(tǒng)所提供的處理大數(shù)據(jù)文件的技術(shù),這種技術(shù)系統(tǒng)可以利用進(jìn)程地址空間中的一部分進(jìn)行內(nèi)存映射操作并負(fù)責(zé)管理頁映射和緩沖等任務(wù),這就使得用戶在使用上是非常方便的。大數(shù)據(jù)文件被映射之后,使用者無需關(guān)心它的具體管理工作也并不需要再去通過傳統(tǒng)的文件Ι/0ΑΡΙ來進(jìn)行文件操作,而是直接通過對(duì)文件的指針進(jìn)行操作來達(dá)到操作文件的目的,操作方式如同操作我們操作程序中開辟的內(nèi)存空間一樣。內(nèi)存映射文件可以有三種映射,第一種是映射.exe文件,這種映射方式主要是操作系統(tǒng)使用。第二種映射是映射數(shù)據(jù)文件,這種映射是在訪問大數(shù)據(jù)文件時(shí)很好的選擇。第三種映射是借助于頁面交換文件的映射,這種映射可以進(jìn)行各個(gè)進(jìn)程之間對(duì)相關(guān)資源的共享。本發(fā)明將主要使用第二種內(nèi)存映射文件方式進(jìn)行針對(duì)大數(shù)據(jù)文件的訪問及處理。系統(tǒng)在實(shí)現(xiàn)內(nèi)存映射文件的時(shí)候使用0x80000000-0xBFFFFFFF這一段地址空間進(jìn)行內(nèi)存映射文件內(nèi)容的相關(guān)操作,如表1所示。表IWindows操作系統(tǒng)對(duì)進(jìn)程地址空間的分配
      權(quán)利要求
      1.一種基于內(nèi)存映射的大數(shù)據(jù)文件快速并行提取方法,包括任務(wù)域生成;將任務(wù)塊組成任務(wù)域,所述任務(wù)塊為任務(wù)域中的元素;任務(wù)池生成;將所述任務(wù)域中的元素按低通信代價(jià)的原則進(jìn)行子任務(wù)域歸并,將所述任務(wù)域中的元素的集合作為任務(wù)調(diào)度的任務(wù)池,根據(jù)調(diào)度的選擇來提取任務(wù)供處理器執(zhí)行;任務(wù)調(diào)度;根據(jù)任務(wù)的剩余量決策任務(wù)的調(diào)度粒度,將符合要求的任務(wù)提取出所述任務(wù)池,并為映射做好準(zhǔn)備;處理器映射;將所述提取出的任務(wù)映射到當(dāng)前空閑處理器去執(zhí)行。
      2.如權(quán)利要求1所述的基于內(nèi)存映射的大數(shù)據(jù)文件快速并行提取方法,其特征在于 在將任務(wù)塊組成任務(wù)域過程中,基于視圖的劃分方式進(jìn)行任務(wù)劃分,在映射視圖過程中,以一個(gè)并行粒度N為映射單位,之后隨著任務(wù)集中任務(wù)量的逐漸減少,將并行粒度隨之調(diào)小。
      3.如權(quán)利要求1所述的基于內(nèi)存映射的大數(shù)據(jù)文件快速并行提取方法,其特征在于 所述任務(wù)域生成過程中,選取初始化文件信息/任務(wù)池,創(chuàng)建文件核心對(duì)象。
      4.如權(quán)利要求1所述的基于內(nèi)存映射的大數(shù)據(jù)文件快速并行提取方法,其特征在于 所述任務(wù)池生成過程中,為每個(gè)線程設(shè)置自己的任務(wù)隊(duì)列,并對(duì)任務(wù)隊(duì)列進(jìn)行初始化,根據(jù)開設(shè)線程的總數(shù)目將其中的任務(wù)均勻分配給各個(gè)任務(wù)隊(duì)列。
      5.如權(quán)利要求1所述的基于內(nèi)存映射的大數(shù)據(jù)文件快速并行提取方法,其特征在于 所述任務(wù)調(diào)度過程中,將多個(gè)線程分別分配到各個(gè)處理器核心進(jìn)行處理,每個(gè)線程創(chuàng)建各自的內(nèi)存映射對(duì)象。
      6.如權(quán)利要求5所述的基于內(nèi)存映射的大數(shù)據(jù)文件快速并行提取方法,其特征在于 各個(gè)線程分別創(chuàng)建自己的內(nèi)存映射對(duì)象,為后續(xù)訪問工作做好準(zhǔn)備。
      7.如權(quán)利要求6所述的基于內(nèi)存映射的大數(shù)據(jù)文件快速并行提取方法,其特征在于 檢索任務(wù)隊(duì)列,提取訪問任務(wù),各執(zhí)行線程提取自己的訪問任務(wù),判斷任務(wù)隊(duì)列是否為空, 如果任務(wù)隊(duì)列為空則將當(dāng)前線程處理工作終止;如果任務(wù)隊(duì)列不為空,則提出的一個(gè)任務(wù)作為本次執(zhí)行任務(wù)。
      8.如權(quán)利要求1所述的基于內(nèi)存映射的大數(shù)據(jù)文件快速并行提取方法,其特征在于, 所述處理器映射過程包括映射視圖、讀取處理數(shù)據(jù)和解除視圖映射三個(gè)步驟。
      9.如權(quán)利要求8所述的基于內(nèi)存映射的大數(shù)據(jù)文件快速并行提取方法,其特征在于 在所述映射視圖過程中,各執(zhí)行線程從文件起始位置按照所述調(diào)度粒度進(jìn)行映射。
      10.如權(quán)利要求8所述的基于內(nèi)存映射的大數(shù)據(jù)文件快速并行提取方法,其特征在于 在讀取處理數(shù)據(jù)過程中,各執(zhí)行線程根據(jù)訪問及處理的需要,對(duì)本視圖下的數(shù)據(jù)進(jìn)行操作。
      全文摘要
      本發(fā)明公開了一種基于內(nèi)存映射的大數(shù)據(jù)文件快速并行提取方法,包括任務(wù)域生成,將任務(wù)塊組成任務(wù)域,所述任務(wù)塊為任務(wù)域中的元素;任務(wù)池生成,將所述任務(wù)域中的元素按低通信代價(jià)的原則進(jìn)行子任務(wù)域歸并,將所述任務(wù)域中的元素的集合作為任務(wù)調(diào)度的任務(wù)池,根據(jù)調(diào)度的選擇來提取任務(wù)供處理器執(zhí)行;任務(wù)調(diào)度,根據(jù)任務(wù)的剩余量決策任務(wù)的調(diào)度粒度,將符合要求的任務(wù)提取出所述任務(wù)池,并為映射做好準(zhǔn)備;處理器映射,將所述提取出的任務(wù)映射到當(dāng)前空閑處理器去執(zhí)行。本發(fā)明能夠發(fā)揮多核的優(yōu)勢,提高內(nèi)存映射文件的效率,可以應(yīng)用在單個(gè)文件在4GB以下容量的大文件讀取中,能夠有效提高這類文件的讀取速度,提高磁盤文件I/O吞吐率。
      文檔編號(hào)G06F17/30GK102231121SQ20111020964
      公開日2011年11月2日 申請(qǐng)日期2011年7月25日 優(yōu)先權(quán)日2011年7月25日
      發(fā)明者李敬哲, 杜春來, 馬東超, 馬禮 申請(qǐng)人:北方工業(yè)大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1