国产精品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>

      數(shù)據(jù)庫處理設(shè)備、數(shù)據(jù)庫處理方法及記錄介質(zhì)的制作方法

      文檔序號:6366608閱讀:209來源:國知局
      專利名稱:數(shù)據(jù)庫處理設(shè)備、數(shù)據(jù)庫處理方法及記錄介質(zhì)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及基于通用計算圖形處理單元(GPGPU)的數(shù)據(jù)庫技術(shù)。
      背景技術(shù)
      近年來,GPGPU技術(shù)受到關(guān)注,其使得諸如圖形處理單元(GPU)的并行運算單元執(zhí)行通用運算處理。在運算單元的并行度與并行操作的吞吐量方面,GPU比中央處理單元(CPU)高。此外,GPU具有與SMD運算單元的配置相類似的配置,來為多個運算單元提供指令。為了展現(xiàn)出采用GPGPU的高處理性能,要求使分支指令的數(shù)目較小,也要求不僅使某組運算單元中的一個運算單元的數(shù)據(jù)供應(yīng)量與其它運算單元的數(shù)據(jù)供應(yīng)量相一致,還要求保持要供應(yīng)的數(shù)據(jù)的連續(xù)性??梢韵氲?,基于列存儲的數(shù)據(jù)結(jié)構(gòu)是適于由諸如GPGPU之類的并行運算單元執(zhí)行 的處理的結(jié)構(gòu)。由于列存儲而將固定長度數(shù)據(jù)的數(shù)據(jù)處理表示為逐列的固定長度的序列,從而為GPGPU的數(shù)據(jù)處理提供足夠的數(shù)據(jù)。例如,對于一個大規(guī)模文本,在非專利文獻I中公開了在GPGPU的幫助下對該文本內(nèi)容執(zhí)行全文本研究的技術(shù)。HIGASHI RYUICHI,F(xiàn)UJM0T0 N0RIYUKI,和 HAGIWARA KENICHI“An Investigationof CUDA based Fast Full Text Search for Large-Scale Texts on Main Memory,,,TheInstitute of Electronics, Information 和 Communication Engineers, InformationProcessing Society of Japan, No. 19, 2008, ppl39_144 (非專利文獻 I)。然而,還沒有實現(xiàn)用于有效存儲包括可變長度數(shù)據(jù)的數(shù)據(jù)組的數(shù)據(jù)庫及有效處理這種數(shù)據(jù)庫的數(shù)據(jù)庫處理方法。

      發(fā)明內(nèi)容
      在考慮了上述問題的情況下實現(xiàn)了本發(fā)明,本發(fā)明的目的在于提供數(shù)據(jù)庫處理系統(tǒng),數(shù)據(jù)處理方法,本發(fā)明的方法可以通過采用并行運算單元實現(xiàn)對可變長度數(shù)據(jù)的有效數(shù)據(jù)庫處理。本發(fā)明是數(shù)據(jù)庫處理設(shè)備,包括并行運算單元;數(shù)據(jù)存儲部件,其決定對應(yīng)所述并行運算單元的數(shù)據(jù)處理的單位的分段長度,以及將包括可變長度數(shù)據(jù)的元組數(shù)據(jù)存入列存儲數(shù)據(jù)庫中的分段中,并將所述分段的元數(shù)據(jù)存入所述列存儲數(shù)據(jù)庫中的分段報頭中;以及并行運算部件,當對所述列存儲數(shù)據(jù)庫中存儲的數(shù)據(jù)執(zhí)行處理時,其參考所述元數(shù)據(jù),決定要分配給由所述并行運算單元執(zhí)行的每個線程的分段,基于決定的內(nèi)容將分段分配給所述每個線程,并使每個線程執(zhí)行并行運算操作。本發(fā)明是在包括并行運算單元的數(shù)據(jù)庫處理設(shè)備中的數(shù)據(jù)庫處理方法,包括數(shù)據(jù)存儲步驟,決定對應(yīng)并行運算單元的數(shù)據(jù)處理的單位的分段長度,以及相應(yīng)地將包括可變長度數(shù)據(jù)的元組數(shù)據(jù)存入列存儲數(shù)據(jù)庫中的分段中,并將所述分段的元數(shù)據(jù)存入所述列存儲數(shù)據(jù)庫中的分段報頭中;以及并行運算步驟,當對所述列存儲數(shù)據(jù)庫中存儲的數(shù)據(jù)執(zhí)行處理時,參考所述元數(shù)據(jù),決定要分配給由所述并行運算單元執(zhí)行的每個線程的分段,基于決定的內(nèi)容將分段分配給所述每個線程,并使每個線程執(zhí)行并行運算操作。本發(fā)明是存儲了程序的非臨時性計算機可讀存儲介質(zhì),該程序用于使包括并行計算單元的計算機執(zhí)行以下處理數(shù)據(jù)存儲處理,決定對應(yīng)并行運算單元的數(shù)據(jù)處理的單位的分段長度,以及將包括可變長度數(shù)據(jù)的元組數(shù)據(jù)存入列存儲數(shù)據(jù)庫中的分段中,并將所述分段的元數(shù)據(jù)存入所述列存儲數(shù)據(jù)庫中的分段報頭中;以及并行運算處理,當對所述列存儲數(shù)據(jù)庫中存儲的數(shù)據(jù)執(zhí)行處理時,參考所述元數(shù)據(jù),決定要分配給由所述并行運算單元執(zhí)行的每個線程的分段,基于決定的內(nèi)容將分段分配給所述每個線程,并使每個線程執(zhí)行并行運算操作。 根據(jù)本發(fā)明,也可以通過采用并行運算單元來實現(xiàn)對可變長度數(shù)據(jù)的有效數(shù)據(jù)庫處理。


      ·通過閱讀以下詳細描述和附圖,本發(fā)明的這些和其它的目的、特征和有效效果將變得更明顯,其中圖I是根據(jù)本發(fā)明示例實施例的數(shù)據(jù)庫系統(tǒng)的系統(tǒng)配置的示意圖;圖2是示出了數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)的一個示例的視圖;圖3是用于說明數(shù)據(jù)庫系統(tǒng)操作的流程圖;圖4是用于舉例說明在存儲區(qū)域中記錄的檢索處理結(jié)果的視圖;圖5是用于舉例說明在預定存儲區(qū)域中記錄的再處理結(jié)果的視圖;圖6是用于舉例說明該數(shù)據(jù)庫系統(tǒng)的操作的概要的視圖;圖7是用于說明分配分段的過程的流程圖;以及圖8是用于說明準備數(shù)據(jù)的過程的流程圖。
      具體實施例方式
      在下文中,將參考

      本發(fā)明的示例實施例。圖I是根據(jù)本發(fā)明示例實施例的數(shù)據(jù)庫系統(tǒng)的系統(tǒng)配置的示意圖。如圖所示,該系統(tǒng)包括經(jīng)由諸如局域網(wǎng)(LAN)之類的網(wǎng)絡(luò)相連的數(shù)據(jù)庫10和數(shù)據(jù)庫處理設(shè)備20。數(shù)據(jù)庫10是列存儲數(shù)據(jù)庫。數(shù)據(jù)庫10的管理的單位是元組、列、表和模式,可以以多個數(shù)的形式將其中的每一種單位存儲到高階的結(jié)構(gòu)中。元組包括數(shù)據(jù)庫內(nèi)某一行的數(shù)據(jù)。以元組為單位將特定列的數(shù)據(jù)存儲在某一列存儲器中。數(shù)據(jù)庫處理設(shè)備20包括主機、協(xié)處理器(并行運算單元)等。數(shù)據(jù)庫處理設(shè)備20包括并行運算單元環(huán)境檢測部件21、可變長度數(shù)據(jù)存儲長度決定部件22、可變長度數(shù)據(jù)存儲/處理部件23、并行運算處理部件24和數(shù)據(jù)處理結(jié)果存儲/再處理部件25。并行運算單元環(huán)境檢測部件21獲取與該設(shè)備的并行運算單元(GPU)的處理能力相關(guān)聯(lián)的信息(數(shù)據(jù)處理的單位等)??勺冮L度數(shù)據(jù)存儲長度決定部件22基于并行運算單元環(huán)境檢測部件21獲取的信息決定數(shù)據(jù)庫10中的數(shù)據(jù)存儲的長度(分段長度)??勺冮L度數(shù)據(jù)存儲/處理部件23基于可變長度數(shù)據(jù)存儲長度決定部件22決定的數(shù)據(jù)存儲長度將數(shù)據(jù)存入數(shù)據(jù)庫10中。將包括固定長度數(shù)據(jù)的可變長度元組數(shù)據(jù)(列元組)存入固定長度的分段中,其中該可變長度元組數(shù)據(jù)的單位是列單位。必要的話,將某些列的元組數(shù)據(jù)存入由多個分段組成的分段集合中。圖2中示出了數(shù)據(jù)庫10的數(shù)據(jù)結(jié)構(gòu)的一個示例。如圖所示,存入數(shù)據(jù)庫10的數(shù)據(jù)包括分段和附著于該分段的分段報頭。分段具有存儲的一列元組的部分數(shù)據(jù)或全部數(shù)據(jù)。分段報頭具有與存儲的列元組相關(guān)聯(lián)的元數(shù)據(jù)。務(wù)必連續(xù)存儲屬于相同元組的分段。分段報頭是指示編號(ctid)以及該分段的最后部分的數(shù)據(jù)位置距離元組的開始位置的偏移量(長度),其中該編號示出了對列元組的部分數(shù)據(jù)進行存儲的順序。盡管就分段集合內(nèi)的每一列而言,分段長度可以是固定長度,但是對于每列或每個分段集合,可以獨立地設(shè)置分段長度??勺冮L度數(shù)據(jù)存儲長度決定部件22測量列或分段集合內(nèi)出現(xiàn)的數(shù)據(jù)長度,從而使得引入與并行運算單元的處理能力相匹配的分段長度成為可能,其中,該并行運算單元的處理效率或空間效率能夠通過采用適當?shù)乃惴ǘ岣?。例如,可變長度數(shù)據(jù)存儲長度決定部件22可以設(shè)置適于并行運算單元的數(shù)據(jù)處理的單位的數(shù)據(jù)長度(4字節(jié)長度、8字節(jié)長度、16字節(jié)長度、32字節(jié)長度、64字節(jié)長度等)作為存儲長 度。此外,可變長度數(shù)據(jù)存儲長度決定部件22可以設(shè)置可變長度數(shù)據(jù)的數(shù)據(jù)長度的平均值,并且還可以將數(shù)據(jù)長度設(shè)置成適于并行運算單元的數(shù)據(jù)處理的單位的上述平均值的近似值,作為存儲長度。并行運算處理部件24對數(shù)據(jù)庫10中存儲的數(shù)據(jù)執(zhí)行并行運算處理。數(shù)據(jù)處理結(jié)果存儲/再處理部件25處理由并行運算處理部件24得到的運算結(jié)果。接下來,作為示例,將利用從數(shù)據(jù)庫10檢索某些字符序列的情形,來說明根據(jù)本示例實施例的數(shù)據(jù)庫系統(tǒng)的操作。對于檢索的執(zhí)行過程,存在情形I以及情形2,在情形I中,需要重復分段的處理,在情形2中,不需要重復分段的處理。上述情形I包括以下情形,即作為檢索目標的字符序列(可變長度字節(jié)序列)長于分段的處理/存儲的單位的字節(jié)長度,以及數(shù)據(jù)庫中作為檢索目標的元組配置有多個分段。在這種情況下,通過使每個線程負責成對的分段來執(zhí)行多階段處理。第N個線程負責第N個分段和第(N+1)個分段,第(N+1)個線程負責第(N+1)個分段和(N+2)分段。最后一個線程負責最后一個分段。上述情形2包括在如下情形下檢索,即每次可以以最短長度(字節(jié))的管理單位使目標數(shù)據(jù)進入分段,以及在如下情形下的檢索,即對于所有分段,一個分段可以分別地構(gòu)成元組。這些檢索的執(zhí)行過程可以作為上述情形I的特定示例而執(zhí)行,從而使能了快速的處理,原因在于沒有使處理階段的數(shù)目是復數(shù)個。因此,在下文中,將通過參考圖3,以上述情形I為中心來進行說明。首先,并行運算處理部件24獲得用于存儲檢索過程的結(jié)果集的區(qū)域(步驟SI)。針對分段內(nèi)的每個字節(jié),向用于獲得檢索結(jié)果的區(qū)域提供比特,以處理多個命中結(jié)果等。具體地,在用于存儲結(jié)果集的區(qū)域中,將與作為檢索目標的字節(jié)序列的第一字節(jié)對等的比特位置反轉(zhuǎn)。并行運算處理部件24通過參考附著于分段的元數(shù)據(jù)來決定要分配給由并行運算單元執(zhí)行的每個線程的分段(步驟2)。此時,一個線程處理的分段數(shù)目可以根據(jù)分段長度而改變。例如,通過設(shè)置字節(jié)的比特長度及分段的字節(jié)長度是8的最小公倍數(shù),使得要獲取的結(jié)果集沒有空隙,并且還使得向所有線程提供的數(shù)據(jù)具有相同的長度。例如,對于分段長度是4字節(jié)的分段,可以向線程提供兩個分段。對于分段長度是8字節(jié)的分段,可以向線程提供一個分段。對于分段長度是16字節(jié)的分段,可以向線程提供一個分段。此外,可以基于并行運算單元的數(shù)據(jù)處理的單位決定要分配給每個線程的分段。對于32比特的運算單元,設(shè)置要提供給每個線程的數(shù)據(jù)長度,使得其是32比特的倍數(shù)?;谠诓襟ES2中決定的內(nèi)容來執(zhí)行并行運算處理(步驟S3)。具體地,由每個線程執(zhí)行以下處理。當向線程提供可變長度字節(jié)的序列(檢索目標)時,計算作為檢索目標的字節(jié)序列的長度。此外,向線程提供該線程應(yīng)該負責的分段集的位置。線程執(zhí)行以下檢索過程順序地加載指定分段,并且確定是否作為檢索目標的字節(jié)序列出現(xiàn)在所加載的分段集中。 此外,對于執(zhí)行檢索處理的條件而言,當計算出在目前提供的順序分段內(nèi)存儲的數(shù)據(jù)的總長度,并且滿足了預定條件[等于或大于(檢索的目標字節(jié)序列長度-I)的數(shù)據(jù)的總長度+順序分段的數(shù)據(jù)長度]時,線程可以執(zhí)行檢索處理。即,對于執(zhí)行檢索處理的條件而言,當當前執(zhí)行的分段內(nèi)的未處理的數(shù)據(jù)長度長于檢索目標的字節(jié)序列時,線程可以執(zhí)行檢索處理。當沒有滿足條件時,線程可以接連地加載下一分段,計算數(shù)據(jù)的總長度,并且確定是否計算得到的數(shù)據(jù)總長度滿足上述條件。在檢索過程中,假定的是,當作為檢索目標的字節(jié)序列的開始偏移量存在于上述線程負責的開始分段內(nèi),并且與作為檢索目標的字節(jié)序列的匹配區(qū)域中已經(jīng)檢測到一個元組ID時,則已經(jīng)檢測到作為檢索目標的字節(jié)序列,將所述作為檢索目標的字節(jié)序列的匹配區(qū)域的起始位置的比特反轉(zhuǎn),將得到的結(jié)果定義為檢索處理結(jié)果。將得到的檢索處理結(jié)果以線程為單位記錄到經(jīng)字節(jié)對齊的區(qū)域中。圖4示出了將檢索處理結(jié)果記錄到預定存儲區(qū)域的示例。接下來,數(shù)據(jù)處理結(jié)果存儲/再處理部件25獲得用于對重新計算處理的結(jié)果集加以存儲的區(qū)域,以執(zhí)行針對上述檢索處理結(jié)果的重新計算處理(步驟S4)。對于重新計算的結(jié)果,為一個元組獲得一個比特能力就足夠了。即,需要如下大小的能力(元組數(shù)目*比特數(shù)目+對齊數(shù)目)。數(shù)據(jù)處理結(jié)果存儲/再處理部件25決定要分配給每個線程的分段(步驟S5)。此時,通過將要分配給一個線程的元組數(shù)目設(shè)置為8的最小公倍數(shù),即字節(jié)的比特長度,使得要獲取的元組級別的結(jié)果集沒有空隙,并且還使得向所有線程提供的數(shù)據(jù)具有相同的長度。此外,數(shù)據(jù)處理結(jié)果存儲/再處理部件25可以基于并行運算單元的數(shù)據(jù)處理的單位決定要分配的分段。當并行運算單元的數(shù)據(jù)處理的單位是32比特時,可以設(shè)置要提供給每個線程的數(shù)據(jù)長度,使得其是32比特的倍數(shù)?;谠诓襟ES5中決定的內(nèi)容執(zhí)行并行運算處理(步驟S6)。具體地,由每個線程執(zhí)行以下處理。向線程通知其負責的元組ID、其負責加載檢索處理的結(jié)果集的位置、以及其負責分段集合的位置。每個線程針對其負責的元組ID執(zhí)行以下處理。線程從通知的位置加載分段,并且計算該分段的元組ID。線程確定是否計算得到的元組ID是其負責的元組ID,以及當是其負責的元組ID時,加載相應(yīng)的檢索結(jié)果,以及當已經(jīng)設(shè)立了標記時,線程確定在上述元組中存在作為檢索目標的字節(jié)序列,并且設(shè)立元組級的標記。將該檢索處理結(jié)果以線程為單位記錄到經(jīng)字節(jié)對齊的區(qū)域中。圖5示出了將檢索處理結(jié)果記錄到預定存儲區(qū)域的示例。這允許了是否要示出每個元組中存在的檢索目標的字節(jié)序列。此外,圖6示出了對上述數(shù)據(jù)庫系統(tǒng)的操作的概要。在圖6的示例中,將諸如“HELLO”、“parallel”、“GPU”和“GPGPU”之類的元組數(shù)據(jù)存儲到數(shù)據(jù)庫中的每個分段中。對于檢索字節(jié)序列“GPU”的處理,并行運算處理部件24獲得用于存儲檢索處理的結(jié)果的區(qū)域,并且基于元數(shù)據(jù)以及并行運算單元的數(shù)據(jù)處理的單位來決定要分配給由并行運算單元執(zhí)行的每個線程的分段?;谠摏Q定的內(nèi)容將分段分配給每個線程。每個線程針對分配的分段執(zhí)行檢索字節(jié)序列“GPU”的運算操作,并且記錄處理的結(jié)果。在圖6中,在運算結(jié)果的記錄區(qū)域中,將與已經(jīng)檢測到“GPU”的字節(jié)序列相對應(yīng)的區(qū)域的開始位置中存在的比特反轉(zhuǎn)。接下來,數(shù)據(jù)處理結(jié)果存儲/再處理部件25獲得用于存儲通過重新計算運算結(jié)果而獲得的處理結(jié)果的區(qū)域,并且決定要分配給每個線程的元組。此時,并行運算處理部件24將要分配給每個線程的元組數(shù)據(jù)設(shè)置為8的倍數(shù)。每個線程加載與所分配的元組相對應(yīng)的、運算結(jié)果,以及當已經(jīng)為加載的運算結(jié)果設(shè)立標記時,設(shè)立標記,以作為對上述元組的處理結(jié)果。在圖6中,相應(yīng)地設(shè)立標記“ I ”,作為處理“ 100”和“00100”的結(jié)果,其中“ 100”和“00100”是分別設(shè)立了標記的運算結(jié)果。接下來,將參考圖7說明以下處理(上述步驟S2)的細節(jié),即并行運算處理部件24決定要分配給每個線程的分段。并行運算處理部件24根據(jù)處理目標數(shù)據(jù)指定作為分配目標的分段,并且獲取所述作為分配目標的分段的分段長度(步驟SI I)。并行運算處理部件24確定是否所述作為分配目標的分段的分段長度是預定數(shù)目(步驟S12),該預定數(shù)目是8的倍數(shù)(8與該分段的最小公倍數(shù)等)。當分段長度不是預定數(shù)目時(步驟S12 N0),并行運算處理部件24將處理目標數(shù)據(jù)的其它分段添加到分配目標分段中,再次計算分配目標分段的分段長度(步驟S13),并且返回步驟S12。當分段長度是預定數(shù)目時(步驟S12 :是),并行運算處理部件24將分配目標分段分配到線程之一(步驟S14)。并行運算處理部件24確定是否已經(jīng)完成了對處理目標數(shù)據(jù)的所有分段的分配(步驟S15),以及當已經(jīng)完成了分配時(步驟S15 :是),則完成處理。當還沒有完成分配時(步驟S15 N0),則并行運算處理部件24返回步驟S11,并且繼續(xù)為余下分段執(zhí)行處理。此外,該處理是一個示例,可以采用其它分配處理。接下來,將參考圖8說明以下處理,即可變長度數(shù)據(jù)存儲/處理部件23將數(shù)據(jù)存入數(shù)據(jù)庫10。可變長度數(shù)據(jù)存儲/處理部件23加載存儲目標數(shù)據(jù)(步驟S21)。要加載的數(shù)據(jù)是包括固定長度數(shù)據(jù)的可變長度元組數(shù)據(jù),其中該可變長度元組數(shù)據(jù)的單位是列單位??勺冮L度數(shù)據(jù)存儲/處理部件23將加載的元組數(shù)據(jù)存入數(shù)據(jù)庫10的分段中(步驟S22)。分段具有固定長度,以及由可變長度數(shù)據(jù)存儲長度決定部件22基于該系統(tǒng)采用的并行計算單元的數(shù)據(jù)處理的單位等來決定分段長度。可變長度數(shù)據(jù)存儲/處理部件23將與存入分段的元組數(shù)據(jù)相對應(yīng)的元數(shù)據(jù)存入數(shù)據(jù)庫10的分段報頭中(步驟S23)。元數(shù)據(jù)包括用于識別元組數(shù)據(jù)的ID以及上述分段的最后部分距離元組的開始位置的偏移量??勺冮L度數(shù)據(jù)存儲/處理部件23確定是否已經(jīng)完成將所有存儲目標數(shù)據(jù)存入了數(shù)據(jù)庫10 (步驟S24),以及當已經(jīng)完成時(步驟S24:是),結(jié)束過程。當還沒有完成時(步驟S24:否),則可變長度數(shù)據(jù)存儲/處理部件23返回步驟S21,并且繼續(xù)為余下數(shù)據(jù)執(zhí)行處理。此外,該處理是一個示例,可以采用其它存儲處理。此外,基于通用并行運算單元的數(shù)據(jù)處理的單位而預先設(shè)置的值(例如,4字節(jié)長度、8字節(jié)長度、16字節(jié)長度)可以用作分段的分段長度。如上所述,根據(jù)本示例實施例,保持空間效率與處理效率之間的平衡以在GPU上對可變長度數(shù)據(jù)執(zhí)行有效處理,允許實現(xiàn)有效的處理??梢酝ㄟ^加載并執(zhí)行在數(shù)據(jù)庫處理設(shè)備20的CPU和協(xié)處理器中存儲的操作程序等來實現(xiàn)根據(jù)以上描述的本發(fā)明示例實施例的并行運算單元環(huán)境檢測部件21、可變長度數(shù)據(jù)存儲長度決定部件22、可變長度數(shù)據(jù)存儲/處理部件23、并行運算處理部件24和數(shù)據(jù)處理結(jié)果存儲/再處理部件25,此外,并行運算單元環(huán)境檢測部件21、可變長度數(shù)據(jù)存儲長度決定部件22、可變長度數(shù)據(jù)存儲/處理部件23、并行運算處理部件24和數(shù)據(jù)處理結(jié)果存儲/再處理部件25還可以相應(yīng)地配置有硬件??梢岳糜嬎銠C程序?qū)崿F(xiàn)上述示例實施例中的一部分實施例的功能。可以將上述示例實施例的全部或部分描述為,但不限于以下補充聲明。
      (補充聲明I)列存儲數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫的上述數(shù)據(jù)結(jié)構(gòu)包括分段,具備根據(jù)運算單元的數(shù)據(jù)處理的單位決定的固定長度,該分段具有元組數(shù)據(jù),該元組數(shù)據(jù)包括在該分段中存儲的可變長度數(shù)據(jù);以及分段報頭,指示對所述分段的順序加以指示的編號以及所述分段的最后部分的數(shù)據(jù)的位置距離元組開始位置的偏移量。盡管已經(jīng)參考本發(fā)明的示例實施例具體示出和描述了本發(fā)明,但本發(fā)明不限于這些實施例。本領(lǐng)域普通技術(shù)人員應(yīng)當理解,在不脫離所附權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,可以對這些實施例進行形式和細節(jié)上的多種改變。本申請是基于2011年3月24日提交的日本專利申請?zhí)?011-065171以及2012年3月5日提交的日本專利申請?zhí)?012-048079,并且要求享有其優(yōu)先權(quán)的權(quán)益,在此并入其全部作為參考。
      權(quán)利要求
      1.一種數(shù)據(jù)庫處理設(shè)備,包括 并行運算單元; 數(shù)據(jù)存儲部件,決定與所述并行運算單元的數(shù)據(jù)處理的單位相對應(yīng)的分段長度,以及將包括可變長度數(shù)據(jù)的元組數(shù)據(jù)存入列存儲數(shù)據(jù)庫中的分段中,并將所述分段的元數(shù)據(jù)存入所述列存儲數(shù)據(jù)庫中的分段報頭中;以及 并行運算部件,當對所述列存儲數(shù)據(jù)庫中存儲的數(shù)據(jù)執(zhí)行處理時參考所述元數(shù)據(jù),決定要分配給由所述并行運算單元執(zhí)行的每個線程的分段,基于決定的內(nèi)容將所述分段分配給所述每個線程,并使每個線程執(zhí)行并行運算操作。
      2.根據(jù)權(quán)利要求I所述的數(shù)據(jù)庫處理設(shè)備,其中所述并行運算部件包括 第一結(jié)果記錄部件,使每個線程檢索與分配的分段相關(guān)的字符序列,并且記錄通過將所述分段的字節(jié)位置進行比特反轉(zhuǎn)而獲得的數(shù)據(jù),以作為檢索結(jié)果;以及 第二結(jié)果記錄部件,向每個線程分配所述檢索結(jié)果,使每個線程檢測與所述分配的檢索結(jié)果相關(guān)聯(lián)的比特反轉(zhuǎn),并且記錄檢測結(jié)果作為元組級的檢測結(jié)果,其中所述檢索結(jié)果的數(shù)目與所述并行運算單元的數(shù)據(jù)處理的單位相對應(yīng)。
      3.一種數(shù)據(jù)庫處理方法,用在包括并行運算單元的數(shù)據(jù)庫處理設(shè)備中,所述方法包括 數(shù)據(jù)存儲步驟,決定與并行運算單元的數(shù)據(jù)處理的單位相對應(yīng)的分段長度,以及將包括可變長度數(shù)據(jù)的元組數(shù)據(jù)存入列存儲數(shù)據(jù)庫中的分段中,并將所述分段的元數(shù)據(jù)存入所述列存儲數(shù)據(jù)庫中的分段報頭中;以及 并行運算步驟,當對所述列存儲數(shù)據(jù)庫中存儲的數(shù)據(jù)執(zhí)行處理時,參考所述元數(shù)據(jù),決定要分配給由所述并行運算單元執(zhí)行的每個線程的分段,基于決定的內(nèi)容將所述分段分配給所述每個線程,并使所述每個線程執(zhí)行并行運算操作。
      4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)庫處理方法,其中所述并行運算步驟包括 在每個線程中檢索與分配的分段相關(guān)的字符序列,并且記錄通過將所述分段的字節(jié)位置進行比特反轉(zhuǎn)而獲得的數(shù)據(jù),以作為檢索結(jié)果;以及 向每個線程分配所述檢索結(jié)果,在每個線程中檢測與所述分配的檢索結(jié)果相關(guān)聯(lián)的比特反轉(zhuǎn),并且記錄檢測結(jié)果作為元組級的檢測結(jié)果,其中所述檢索結(jié)果的數(shù)目與所述并行運算單元的數(shù)據(jù)處理的單位相對應(yīng)。
      5.一種存儲了程序的非臨時性計算機可讀存儲介質(zhì),所述程序用于使包括并行計算單元的計算機執(zhí)行以下處理 數(shù)據(jù)存儲處理,決定與并行運算單元的數(shù)據(jù)處理的單位相對應(yīng)的分段長度,以及將包括可變長度數(shù)據(jù)的元組數(shù)據(jù)存入列存儲數(shù)據(jù)庫中的分段中,并將所述分段的元數(shù)據(jù)存入所述列存儲數(shù)據(jù)庫中的分段報頭中; 以及并行運算處理,當對所述列存儲數(shù)據(jù)庫中存儲的數(shù)據(jù)執(zhí)行處理時參考所述元數(shù)據(jù),決定要分配給由所述并行運算單元執(zhí)行的每個線程的分段,基于決定的內(nèi)容將所述分段分配給所述每個線程,并使每個線程執(zhí)行并行運算操作。
      6.根據(jù)權(quán)利要求5所述的程序,其中所述并行運算處理包括 在每個線程中檢索與分配的分段相關(guān)的字符序列,并且記錄通過將所述分段的字節(jié)位置進行比特反轉(zhuǎn)而獲得的數(shù)據(jù),以作為檢索結(jié)果;以及向每個線程分配所述檢索結(jié)果,在每個線程中檢測與所述分配的檢索結(jié)果相關(guān)聯(lián)的比特反轉(zhuǎn),并且記錄檢測結(jié)果作為元組級的檢測結(jié)果,其中所述檢索結(jié)果的數(shù)目與所述并行運算單元的數(shù)據(jù)處 理的單位相對應(yīng)。
      全文摘要
      本發(fā)明為數(shù)據(jù)庫處理設(shè)備、數(shù)據(jù)庫處理方法及記錄介質(zhì)。本發(fā)明的數(shù)據(jù)庫系統(tǒng)決定對應(yīng)并行運算單元的數(shù)據(jù)處理的單位的分段長度,以及將包括可變長度數(shù)據(jù)的元組數(shù)據(jù)存入列存儲數(shù)據(jù)庫中的分段中,并將所述分段的元數(shù)據(jù)相應(yīng)地存入所述列存儲數(shù)據(jù)庫中的分段報頭中。當對列存儲數(shù)據(jù)庫中存儲的數(shù)據(jù)執(zhí)行處理時,數(shù)據(jù)庫系統(tǒng)參考所述元數(shù)據(jù),決定要分配給由所述并行運算單元執(zhí)行的每個線程的分段,基于決定的內(nèi)容將分段分配給每個線程,以及使每個線程執(zhí)行并行運算操作。
      文檔編號G06F9/38GK102708145SQ20121007407
      公開日2012年10月3日 申請日期2012年3月20日 優(yōu)先權(quán)日2011年3月24日
      發(fā)明者上村純平, 柏木岳彥 申請人:日本電氣株式會社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1