亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

半結(jié)構(gòu)化數(shù)據(jù)作為第一等級數(shù)據(jù)庫元素的實(shí)現(xiàn)的制作方法

文檔序號(hào):10663597閱讀:310來源:國知局
半結(jié)構(gòu)化數(shù)據(jù)作為第一等級數(shù)據(jù)庫元素的實(shí)現(xiàn)的制作方法
【專利摘要】用于管理半結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)訪問的系統(tǒng)、設(shè)備和方法。
【專利說明】
半結(jié)構(gòu)化數(shù)據(jù)作為第一等級數(shù)據(jù)庫元素的實(shí)現(xiàn)[0001]相關(guān)申請的交叉引用[0002]本申請要求標(biāo)題為“Apparatus and method for enterprise data warehouse data processing on cloud infrastructure”的且于2014年2月19日提交的美國臨時(shí)專利 申請序列號(hào)61/941,986的利益,該公開通過引用被全部并入本文。
技術(shù)領(lǐng)域
[0003]本公開涉及管理數(shù)據(jù)存儲(chǔ)和計(jì)算資源的資源管理系統(tǒng)和方法。
[0004]背景
[0005]在今天,許多現(xiàn)有的數(shù)據(jù)存儲(chǔ)和取回系統(tǒng)是可用的。例如,在共享盤系統(tǒng)中,所有的數(shù)據(jù)被儲(chǔ)存在從數(shù)據(jù)群集中的所有處理節(jié)點(diǎn)可訪問的共享存儲(chǔ)設(shè)備上。在這種類型的系統(tǒng)中,所有的數(shù)據(jù)變化被寫入共享存儲(chǔ)設(shè)備以確保數(shù)據(jù)群集中的所有處理節(jié)點(diǎn)訪問數(shù)據(jù)的一致的版本。隨著共享盤系統(tǒng)中的處理節(jié)點(diǎn)的數(shù)量增加,共享存儲(chǔ)設(shè)備(和處理節(jié)點(diǎn)和共享存儲(chǔ)設(shè)備之間的通信鏈路)變成減慢數(shù)據(jù)讀操作和數(shù)據(jù)寫操作的瓶頸。隨著更多的處理節(jié)點(diǎn)的添加,這個(gè)瓶頸進(jìn)一步惡化。因此,由于這個(gè)瓶頸問題,現(xiàn)有的共享盤系統(tǒng)具有受限的可縮放性。
[0006]另一種現(xiàn)有的數(shù)據(jù)存儲(chǔ)和取回系統(tǒng)被稱為“無共享架構(gòu)”。在這種架構(gòu)中,數(shù)據(jù)被分布在多個(gè)處理節(jié)點(diǎn)之間,使得每個(gè)節(jié)點(diǎn)在整個(gè)數(shù)據(jù)庫中儲(chǔ)存數(shù)據(jù)的子集。當(dāng)新的處理節(jié)點(diǎn)被添加或移除時(shí),無共享架構(gòu)必須在多個(gè)處理節(jié)點(diǎn)之間重新布置數(shù)據(jù)。數(shù)據(jù)的這種重新布置可以是耗時(shí)的并且對數(shù)據(jù)重新布置期間執(zhí)行的數(shù)據(jù)讀和寫操作是破壞性的。并且,數(shù)據(jù)與特殊節(jié)點(diǎn)的相關(guān)性可在數(shù)據(jù)群集上創(chuàng)建用于常用數(shù)據(jù)的“熱點(diǎn)”。此外,因?yàn)槊總€(gè)處理節(jié)點(diǎn)也執(zhí)行存儲(chǔ)功能,這個(gè)架構(gòu)需要至少一個(gè)處理節(jié)點(diǎn)以儲(chǔ)存數(shù)據(jù)。因此,如果所有處理節(jié)點(diǎn)被移除,則無共享架構(gòu)無法儲(chǔ)存數(shù)據(jù)。另外,由于數(shù)據(jù)在許多不同處理節(jié)點(diǎn)之間的分布, 在無共享架構(gòu)中的數(shù)據(jù)的管理是復(fù)雜的。
[0007]本文描述的系統(tǒng)和方法提供緩和現(xiàn)有系統(tǒng)的以上明確的限制的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)取回的改進(jìn)的方法。
[0008]附圖簡述
[0009]本公開的非限制和非窮舉實(shí)施方式參考下面的附圖描述,其中,除非以其它方式說明,貫穿各種圖形中的相似的參考數(shù)字指相似的部件。[〇〇1〇]圖1示出描繪半結(jié)構(gòu)化數(shù)據(jù)的處理的信息流和關(guān)系圖。
[0011]圖2示出描繪本文公開的方法的實(shí)現(xiàn)的過程流程圖。
[0012]圖3示出描繪根據(jù)本公開的教導(dǎo)的操作環(huán)境的實(shí)施方式的框圖。
[0013]圖4示出描繪根據(jù)本公開的教導(dǎo)的資源管理器的實(shí)現(xiàn)的示例的框圖。
[0014]圖5示出描繪根據(jù)本公開的教導(dǎo)的執(zhí)行平臺(tái)的實(shí)現(xiàn)的示例的框圖。
[0015]圖6示出描繪根據(jù)本公開的教導(dǎo)的示例計(jì)算設(shè)備的框圖。
[0016]詳細(xì)描述
[0017]本文公開的是用于管理半結(jié)構(gòu)化數(shù)據(jù)的方法、設(shè)備和系統(tǒng)。例如,用于管理半結(jié)構(gòu)化數(shù)據(jù)的方法的實(shí)現(xiàn)接收來自半結(jié)構(gòu)化數(shù)據(jù)源的半結(jié)構(gòu)化數(shù)據(jù)元素,并且可在半結(jié)構(gòu)化數(shù)據(jù)元素被添加到數(shù)據(jù)庫時(shí)實(shí)施對他們的集合的統(tǒng)計(jì)分析。來自半結(jié)構(gòu)化數(shù)據(jù)內(nèi)的公共數(shù)據(jù)元素可被識(shí)別并根據(jù)公共性閾值被分配為第一等級數(shù)據(jù)和/或次要等級數(shù)據(jù)。實(shí)現(xiàn)還可將來自半結(jié)構(gòu)化數(shù)據(jù)源的公共數(shù)據(jù)元素合并到儲(chǔ)存在緩存存儲(chǔ)器中的單獨(dú)的偽列,并且然后使對應(yīng)于第一等級數(shù)據(jù)元素的偽列的元數(shù)據(jù)和統(tǒng)計(jì)信息對基于計(jì)算機(jī)的查詢生成器可用。
[0018]在下面的說明書中,參考形成其一部分的附圖,并且其中通過說明公開內(nèi)容可被實(shí)踐的特定的示例性實(shí)施方式的方式示出。這些實(shí)施方式以足夠的細(xì)節(jié)來描述以使本領(lǐng)域中的技術(shù)人員能夠?qū)嵺`本文公開的概念,并且應(yīng)理解的是可以對各種公開的實(shí)施方式做出修改,并且其它實(shí)施方式可被利用,而不脫離本公開的范圍。因此,下面的詳細(xì)描述不被是限制性意義的。
[0019]本說明書通篇對“一個(gè)實(shí)施方式”、“實(shí)施方式”、“一個(gè)示例”或“示例”的引用是指結(jié)合實(shí)施方式或示例的特殊的特征、結(jié)構(gòu)或特性被包括在本公開的至少一個(gè)實(shí)施方式中。因此,短語“在一個(gè)實(shí)施方式中”、“在實(shí)施方式中”、“一個(gè)示例”或“示例”在貫穿本說明書的各個(gè)位置的出現(xiàn)不必所有都指相同的實(shí)施方式或示例。此外,應(yīng)認(rèn)識(shí)到,此處的附圖是出于說明的目的提供給本領(lǐng)域中的普通技術(shù)人員并且附圖不必按照比例繪制。
[0020]根據(jù)本公開的實(shí)施方式可被實(shí)現(xiàn)為設(shè)備、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本公開的方面可采用完全硬件組合的實(shí)施方案、完全軟件組合的實(shí)施方案(包括固件、駐留軟件、微代碼等等)或組合軟件和硬件方面的實(shí)施方案的形式,這些實(shí)施方案可在本文中被全部統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,本公開的實(shí)施方案可采用計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)程序產(chǎn)品以具有嵌入在介質(zhì)中的可用程序代碼的任何有形介質(zhì)的形式實(shí)施。
[0021]—個(gè)或多個(gè)計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)的任意組合可被利用。例如,計(jì)算機(jī)可讀介質(zhì)可包括便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)設(shè)備、只讀存儲(chǔ)器(ROM)設(shè)備、可擦除可編程只讀存儲(chǔ)器(EPROMS閃存)設(shè)備、便攜式光盤只讀存儲(chǔ)器(CDR0M)、光存儲(chǔ)設(shè)備和磁存儲(chǔ)設(shè)備。用于實(shí)現(xiàn)本公開的操作的計(jì)算機(jī)程序代碼可以一個(gè)或多個(gè)編程語言的任意組合來編寫。這種代碼從源代碼被編譯成適用于代碼將被執(zhí)行的設(shè)備或計(jì)算機(jī)的計(jì)算機(jī)可讀匯編語言或機(jī)器碼。
[0022]實(shí)施方式還可在云計(jì)算環(huán)境中被實(shí)現(xiàn)。在本說明書和以下的權(quán)利要求書中,“云計(jì)算”可被定義為用于使能對可配置的計(jì)算資源的共享池(如,網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)器、應(yīng)用程序和服務(wù))的無處不在的、方便的、立即響應(yīng)式的網(wǎng)絡(luò)訪問,該可配置的計(jì)算資源的共享庫可經(jīng)由虛擬化被快速供應(yīng)并用最少的管理工作或服務(wù)提供商交互來釋放并且然后相應(yīng)地被縮放的模型。云模型可以由各種特性(如,立即響應(yīng)式自服務(wù)、廣泛的網(wǎng)絡(luò)訪問、資源合并、快速伸縮性和測量的服務(wù))、服務(wù)模塊(如,軟件即服務(wù)(“SaaS”)、平臺(tái)即服務(wù)(“PaaS” )以及基礎(chǔ)結(jié)構(gòu)即服務(wù)(“IaaS”))和部署模塊(如,私有云、社區(qū)云、公有云和混合云)組成。
[0023]附圖中的流程圖和框圖示出根據(jù)本文公開的各種實(shí)施方式的架構(gòu)、功能和系統(tǒng)、方法以及計(jì)算機(jī)程序產(chǎn)品的可能的實(shí)現(xiàn)的操作。在這點(diǎn)上,流程圖或框圖中的每一個(gè)框可表示代碼的模塊、段或部分,其包括用于實(shí)現(xiàn)特定的邏輯功能的一個(gè)或多個(gè)可執(zhí)行指令。還應(yīng)注意到,框圖和/或流程圖中的每一個(gè)塊以及框圖和/或流程圖中的塊的組合可由實(shí)施指定功能或動(dòng)作或?qū)S糜布陀?jì)算機(jī)指令的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令還可被儲(chǔ)存在能夠知道計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置以特殊方式工作的計(jì)算機(jī)可讀介質(zhì),使得儲(chǔ)存在計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生包括實(shí)現(xiàn)在流程圖和/或框圖的框中指定的功能/動(dòng)作的指令手段的生產(chǎn)的項(xiàng)目。
[0024]本文描述的系統(tǒng)和方法提供使用新的數(shù)據(jù)處理平臺(tái)的靈活的和可縮放的數(shù)據(jù)倉庫。在一些實(shí)施方式中,所描述的系統(tǒng)和方法利用支持基于云的存儲(chǔ)資源、計(jì)算資源等的云基礎(chǔ)結(jié)構(gòu)。示例基于云的存儲(chǔ)資源供應(yīng)以低成本的按需的可用的重要的存儲(chǔ)容量。此外,這些基于云的存儲(chǔ)資源可以是容錯(cuò)和高度可縮放的,這在私有數(shù)據(jù)存儲(chǔ)系統(tǒng)中實(shí)現(xiàn)是昂貴的。示例基于云的計(jì)算資源是按需可用的并且可基于資源的實(shí)際使用等級來定價(jià)。通常,云基礎(chǔ)結(jié)構(gòu)是以快速方式動(dòng)態(tài)地部署、重配置和停用的。
[0025]在所描述的系統(tǒng)和方法中,數(shù)據(jù)存儲(chǔ)系統(tǒng)利用基于半結(jié)構(gòu)化的關(guān)系數(shù)據(jù)庫。然而, 這些系統(tǒng)和方法可應(yīng)用于使用任意數(shù)據(jù)存儲(chǔ)架構(gòu)并使用任意語言在數(shù)據(jù)庫內(nèi)儲(chǔ)存和取回?cái)?shù)據(jù)的任何類型的數(shù)據(jù)庫。如本文所使用的,半結(jié)構(gòu)化數(shù)據(jù)意味著傳達(dá)結(jié)構(gòu)化數(shù)據(jù)的形式, 該結(jié)構(gòu)化數(shù)據(jù)的形式不符合與關(guān)系數(shù)據(jù)庫相關(guān)的數(shù)據(jù)模塊的典型的正式的結(jié)構(gòu),但是仍然包括標(biāo)記或其它標(biāo)志以分離語義元素并強(qiáng)制執(zhí)行記錄和數(shù)據(jù)的字段的層次。本文描述的系統(tǒng)和方法還提供多租戶系統(tǒng),其支持在不同的客戶/客戶端之間以及相同的客戶/客戶端內(nèi)的不同用戶之間的計(jì)算資源和數(shù)據(jù)的隔離。[〇〇26]本文公開的是顯著地改進(jìn)處理大量半結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)庫和數(shù)據(jù)倉庫的性能的方法和系統(tǒng)?,F(xiàn)有的數(shù)據(jù)庫系統(tǒng)是關(guān)系的(即,SQL數(shù)據(jù)庫)或鍵-值庫。
[0027]關(guān)系數(shù)據(jù)庫可由于查詢數(shù)據(jù)訪問修剪(基于關(guān)于儲(chǔ)存在表的特定列中的值的聚合的元數(shù)據(jù)從搜索中排除數(shù)據(jù)庫的部分)而實(shí)施有效的查詢。然而,這需要嚴(yán)格的表格格式的數(shù)據(jù),其不能用于表示半結(jié)構(gòu)化數(shù)據(jù)。
[0028]另外,鍵-值庫更靈活,但是由于缺乏修剪而引入嚴(yán)重的性能惡化。在現(xiàn)有產(chǎn)品和研究項(xiàng)目中有許多方式來將半結(jié)構(gòu)化數(shù)據(jù)的處理添加到關(guān)系數(shù)據(jù)庫。
[0029]1.序列化編碼-半結(jié)構(gòu)化數(shù)據(jù)記錄被儲(chǔ)存在列中作為序列化表示。每當(dāng)一些字段的值被使用,其被提取并被轉(zhuǎn)換成基本類型。這種方法是靈活的,但使得對數(shù)據(jù)的訪問由修剪改進(jìn)。從序列化表示的提取是昂貴的,并且需要比與常規(guī)的關(guān)系數(shù)據(jù)工作顯著多的CPU時(shí)間。整個(gè)序列化數(shù)據(jù)記錄必須從永久存儲(chǔ)器讀出并被處理,即使僅他們的很少的部分(諸如單一元素)在查詢中被使用。
[0030]2.在引入處轉(zhuǎn)換-半結(jié)構(gòu)化數(shù)據(jù)在引入處被轉(zhuǎn)換成關(guān)系數(shù)據(jù)。這使得對這種數(shù)據(jù)的訪問和對任何其它關(guān)系數(shù)據(jù)的訪問一樣快,但是需要在引入處的數(shù)據(jù)結(jié)構(gòu)的嚴(yán)格的規(guī)范,并且需要對應(yīng)的數(shù)據(jù)庫架構(gòu)事先被完全指定。由于對改變數(shù)據(jù)庫架構(gòu)的需要,該方法使得用改變結(jié)構(gòu)來處理數(shù)據(jù)變得非常昂貴。具有結(jié)構(gòu)從記錄到記錄的改變的數(shù)據(jù)不能使用這種方法來處理。該轉(zhuǎn)換方法必須被先驗(yàn)地指定,并且任何非微不足道的改變將需要重新引入原始的半結(jié)構(gòu)化數(shù)據(jù)。
[0031]3.結(jié)構(gòu)化數(shù)據(jù)的關(guān)系類表示等效于儲(chǔ)存在常規(guī)關(guān)系數(shù)據(jù)庫中的對象屬性值三元表示。這種方法是靈活的,但實(shí)際上需要對數(shù)據(jù)子組件的訪問的聯(lián)合操作,這取決于數(shù)據(jù), 可能是非常慢的。
[0032]4.關(guān)系數(shù)據(jù)模塊的非傳統(tǒng)擴(kuò)展,允許具有不同基數(shù)的列在反映源數(shù)據(jù)的結(jié)構(gòu)中被鏈接。用于這種數(shù)據(jù)表示的查詢方法未被很好的理解(并因此在本領(lǐng)域的當(dāng)今狀態(tài)沒有有效的查詢生成是可能的)。這種方法還需要輸入數(shù)據(jù)以符合嚴(yán)格的(通過非表格的)架構(gòu),并且因此對于處理任意的半結(jié)構(gòu)化數(shù)據(jù)不是足夠靈活的。
[0033]所需要的是用于與半結(jié)構(gòu)化數(shù)據(jù)一起工作的有效的、低成本的和易響應(yīng)的系統(tǒng)和方法,因?yàn)樗鼘⒈A舭虢Y(jié)構(gòu)化數(shù)據(jù)的語義同時(shí)管理可以像更多傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)一樣被處理和查詢的至少偽列中的數(shù)據(jù)。[〇〇34]在以下的公開的實(shí)現(xiàn)中,數(shù)據(jù)可以文件、文件的元素、文件的部分等的形式進(jìn)入。 文件可包括文檔的集合并且數(shù)據(jù)的部分可包括文件、來自連接的多個(gè)文檔和/或文檔的部分。此外,在該實(shí)現(xiàn)中,元數(shù)據(jù)可與文件、文件的部分和數(shù)據(jù)的部分相關(guān)。
[0035]如本文所使用的,術(shù)語“公共數(shù)據(jù)元素”旨在意味著屬于相同組的數(shù)據(jù)元素和邏輯地類似元素的集合。
[0036]圖1示出計(jì)算機(jī)系統(tǒng)中的半結(jié)構(gòu)化數(shù)據(jù)流的示意圖,該半結(jié)構(gòu)化數(shù)據(jù)流處理半結(jié)構(gòu)化數(shù)據(jù)并分配等級指示到數(shù)據(jù)元素,用于增加對查詢的訪問。如在圖中可見的,半結(jié)構(gòu)化數(shù)據(jù)110可在其中包括公共和非公共數(shù)據(jù)元素。為了從半結(jié)構(gòu)化數(shù)據(jù)中提取公共數(shù)據(jù),分析統(tǒng)計(jì)122可針對半結(jié)構(gòu)化數(shù)據(jù)運(yùn)行以確定公共數(shù)據(jù)元素、非公共數(shù)據(jù)元素,并生成將被分配到每個(gè)數(shù)據(jù)元素的等級指示。另外,應(yīng)注意,用戶興趣和用戶請求124還可被使用以確定用于公共數(shù)據(jù)元素的等級指示。如在圖中所示出的,公共數(shù)據(jù)可被儲(chǔ)存在被稱為偽列120的暫時(shí)的分列結(jié)構(gòu)中并且還可根據(jù)等級指示被儲(chǔ)存,其中,第一等級數(shù)據(jù)元素被儲(chǔ)存用于對查詢的更好的訪問。未被確定為公共的數(shù)據(jù)元素可被串行地儲(chǔ)存在“溢出”序列化數(shù)據(jù)140中。 最終,用戶將接收結(jié)果130以更快和更準(zhǔn)確地從第一等級數(shù)據(jù)元素中進(jìn)行查詢。
[0037]在實(shí)現(xiàn)中,如果請求的數(shù)據(jù)元素不在偽列120中,則它可從“溢出”序列化數(shù)據(jù)140 中被提取,而如果整體半結(jié)構(gòu)化數(shù)據(jù)記錄150被請求重構(gòu),則它可從偽列120中的第一等級數(shù)據(jù)、偽列120中的次要等級數(shù)據(jù)以及“溢出”數(shù)據(jù)140被重構(gòu)并被重新序列化成原始形式。
[0038]圖2示出用于處理半結(jié)構(gòu)化數(shù)據(jù)并分配用于設(shè)置數(shù)據(jù)存儲(chǔ)的優(yōu)先級的數(shù)據(jù)等級的方法200的流程圖。如在圖中可見的,在210處,半結(jié)構(gòu)化數(shù)據(jù)元素從半結(jié)構(gòu)化數(shù)據(jù)源或多個(gè)半結(jié)構(gòu)數(shù)據(jù)源被接收。在數(shù)據(jù)元素被接收時(shí)他們可被指示為公共和非公共。這可通過在220 處在半結(jié)構(gòu)化數(shù)據(jù)的集合被添加到數(shù)據(jù)庫時(shí)實(shí)施他們的統(tǒng)計(jì)分析來實(shí)現(xiàn)。基于統(tǒng)計(jì)分析, 公共數(shù)據(jù)元素可在230處被識(shí)別。在240處,公共數(shù)據(jù)元素可被分配等級指示,諸如針對被需要的或重新出現(xiàn)的數(shù)據(jù)分配第一等級,針對較少被需要的和較少出現(xiàn)的數(shù)據(jù)元素分配次要等級指示。實(shí)施方法200的指令的系統(tǒng)還可根據(jù)公共性閾值在240處將來自半結(jié)構(gòu)化數(shù)據(jù)的第一等級數(shù)據(jù)元素的存儲(chǔ)合并在單獨(dú)的偽列中,同時(shí)非公共數(shù)據(jù)元素在250處被儲(chǔ)存在“溢出”序列化存儲(chǔ)器中。例如,公共性閾值可基于數(shù)據(jù)元素出現(xiàn)在半結(jié)構(gòu)化數(shù)據(jù)中的次數(shù)或可基于搜尋該數(shù)據(jù)的用戶查詢的數(shù)量。這些元素可從半結(jié)構(gòu)化數(shù)據(jù)提取并被單獨(dú)地儲(chǔ)存在對用戶不可見的分列格式中。在260處,第一等級數(shù)據(jù)由于其被需要性可被儲(chǔ)存在快速存取緩存存儲(chǔ)器中的偽列中,將認(rèn)識(shí)到的是,這些偽列的元數(shù)據(jù)和統(tǒng)計(jì)信息(諸如最小和最大值、 不同值的數(shù)量等)可然后在270處對查詢生成器可用。注意到單獨(dú)的集合(即儲(chǔ)存在單獨(dú)文件中的表的部分)可具有數(shù)據(jù)元素被提取的不同子集。
[0039]如在圖2中可見的,數(shù)據(jù)元素的公共性指示和等級分配可被重復(fù),以便確保半結(jié)構(gòu)化數(shù)據(jù)元素的數(shù)據(jù)庫保持最新以用于查詢。
[0040]在實(shí)現(xiàn)中,當(dāng)提取數(shù)據(jù)時(shí),如果需要公共數(shù)據(jù)元素的值,則它可使用有效的分列訪問直接從對應(yīng)的偽列獲得。
[0041]在實(shí)現(xiàn)中,公共數(shù)據(jù)元素可在任何時(shí)間被添加到第一等級指示,并且同樣地,數(shù)據(jù)元素可在他們被發(fā)現(xiàn)為較少被需要或較少被表示時(shí)丟失第一等級指示。
[0042]對于用戶,該方法與儲(chǔ)存序列化記錄不能區(qū)別,并在獨(dú)立的數(shù)據(jù)記錄的結(jié)構(gòu)上沒有強(qiáng)加限制。然而,因?yàn)榇蟛糠止矓?shù)據(jù)元素以與傳統(tǒng)的關(guān)系數(shù)據(jù)相同的方式被儲(chǔ)存,對他們的訪問被提供并且不需要整體半結(jié)構(gòu)化記錄的讀取和提取,因此得到傳統(tǒng)關(guān)系數(shù)據(jù)庫的速度優(yōu)勢。
[0043]因?yàn)榘虢Y(jié)構(gòu)化數(shù)據(jù)的不同集合(來自相同的表格)可使數(shù)據(jù)元素的不同組被提取,查詢生成器和修剪應(yīng)能夠與部分可用的元數(shù)據(jù)(即表格的部分可使元數(shù)據(jù)和統(tǒng)計(jì)信息對特定的數(shù)據(jù)元素可用,而其它部分可能缺乏它)一起工作。
[0044]優(yōu)于現(xiàn)有技術(shù)的優(yōu)點(diǎn)是由該方法提供的用于使用混合數(shù)據(jù)存儲(chǔ)表示(作為較少的公共元素的序列化存儲(chǔ)和公共元素的分列存儲(chǔ))的能力。這允許用戶使用序列化表示和由傳統(tǒng)關(guān)系數(shù)據(jù)庫提供的數(shù)據(jù)查詢的高性能來實(shí)現(xiàn)靈活性和儲(chǔ)存系統(tǒng)的任意的半結(jié)構(gòu)化數(shù)據(jù)的能力。
[0045]本領(lǐng)域中的那些技術(shù)人員將認(rèn)識(shí)到,任何數(shù)據(jù)處理平臺(tái)可使用本方法來處理半結(jié)構(gòu)化數(shù)據(jù)。它不需要被限制到運(yùn)行SQL的DBMS系統(tǒng)。
[0046]在圖3中示出的是用于運(yùn)行本文公開的方法的計(jì)算機(jī)系統(tǒng)。如在圖3中所示出的,資源管理器302被耦合到多個(gè)用戶304、306和308。在特定的實(shí)現(xiàn)中,資源管理器302可支持要求訪問數(shù)據(jù)處理平臺(tái)300的任意數(shù)量的用戶。用戶304-308可包括,例如,提供數(shù)據(jù)存儲(chǔ)和取回請求的終端用戶、管理本文描述的系統(tǒng)和方法的系統(tǒng)管理員、與數(shù)據(jù)庫交互的軟件應(yīng)用以及與資源管理器302交互的其它組件/設(shè)備。資源管理器302提供支持在數(shù)據(jù)處理平臺(tái)300內(nèi)的所有系統(tǒng)和組件的操作的各種服務(wù)和功能。資源管理器302還被耦合到元數(shù)據(jù)310,其與貫穿數(shù)據(jù)處理平臺(tái)300儲(chǔ)存的數(shù)據(jù)的整體相關(guān)。因?yàn)橘Y源管理器與對應(yīng)于文件集的元數(shù)據(jù)耦合,所以元數(shù)據(jù)可被用于生成用戶查詢。在一些實(shí)施方式中,元數(shù)據(jù)310包括儲(chǔ)存在遠(yuǎn)程數(shù)據(jù)存儲(chǔ)系統(tǒng)的數(shù)據(jù)以及本地緩存可用的數(shù)據(jù)的概略。另外,元數(shù)據(jù)310可包括關(guān)于數(shù)據(jù)在遠(yuǎn)程數(shù)據(jù)存儲(chǔ)系統(tǒng)和本地緩存中是如何組織的信息。元數(shù)據(jù)310允許系統(tǒng)和服務(wù)確定數(shù)據(jù)片是否需要被處理而不加載或訪問來自存儲(chǔ)器設(shè)備的實(shí)際數(shù)據(jù)。
[0047]資源管理器302還被耦合到執(zhí)行平臺(tái)312,其提供執(zhí)行各種數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)取回功能任務(wù)的多個(gè)計(jì)算資源,如在下面更詳細(xì)地討論的。執(zhí)行平臺(tái)312被耦合到為存儲(chǔ)平臺(tái)314的部分的多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備316、318和320。盡管三個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備316、318和320在圖3中被示出,執(zhí)行平臺(tái)312能夠與任意數(shù)量的數(shù)據(jù)存儲(chǔ)設(shè)備通信。在一些實(shí)施方式中,數(shù)據(jù)存儲(chǔ)設(shè)備316、318和320是位于一個(gè)或多個(gè)地理位置中的基于云的存儲(chǔ)設(shè)備。例如,數(shù)據(jù)存儲(chǔ)設(shè)備316、318和320可以是公共云基礎(chǔ)結(jié)構(gòu)的部分或私有云基礎(chǔ)結(jié)構(gòu)。數(shù)據(jù)存儲(chǔ)設(shè)備316、318和320可以是硬盤驅(qū)動(dòng)器(HDD)、固態(tài)硬盤(SSD)、存儲(chǔ)器群集或其它數(shù)據(jù)存儲(chǔ)技術(shù)。另外,存儲(chǔ)平臺(tái)314可包括分布式文件系統(tǒng)(諸如Hadoop分布式文件系統(tǒng)(HDFS))、對象存儲(chǔ)系統(tǒng)等。
[0048]在特定的實(shí)施方式中,資源管理器302和用戶304-308、元數(shù)據(jù)310以及執(zhí)行平臺(tái)312之間的通信鏈路經(jīng)由一個(gè)或多個(gè)數(shù)據(jù)通信網(wǎng)絡(luò)被實(shí)現(xiàn)。類似地,執(zhí)行平臺(tái)312和存儲(chǔ)平臺(tái)314中的數(shù)據(jù)存儲(chǔ)設(shè)備316-320之間的通信鏈路經(jīng)由一個(gè)或多個(gè)數(shù)據(jù)通信網(wǎng)絡(luò)被實(shí)現(xiàn)。這些數(shù)據(jù)通信網(wǎng)絡(luò)可利用任意通信協(xié)議和任意類型的通信介質(zhì)。在一些實(shí)施方式中,數(shù)據(jù)通信網(wǎng)絡(luò)是耦合到彼此的一個(gè)或多個(gè)數(shù)據(jù)通信網(wǎng)絡(luò)(或子網(wǎng)絡(luò))的組合。在可選的實(shí)施方式中,這些通信鏈路使用任意類型的通信介質(zhì)和任意通信協(xié)議被實(shí)現(xiàn)。
[0049]如在圖3中所示的,數(shù)據(jù)存儲(chǔ)設(shè)備316、318和320從與執(zhí)行平臺(tái)312相關(guān)的計(jì)算資源被解耦。基于改變數(shù)據(jù)存儲(chǔ)/取回需求以及訪問數(shù)據(jù)處理平臺(tái)300的用戶和系統(tǒng)的改變需求,該架構(gòu)支持到數(shù)據(jù)處理平臺(tái)300的動(dòng)態(tài)改變。動(dòng)態(tài)改變的支持允許數(shù)據(jù)處理平臺(tái)300快速縮放以響應(yīng)于數(shù)據(jù)處理平臺(tái)300內(nèi)的系統(tǒng)和組件的改變需求。計(jì)算資源從數(shù)據(jù)存儲(chǔ)設(shè)備的解耦支持?jǐn)?shù)據(jù)的大量的存儲(chǔ),而不需要對應(yīng)的大量的計(jì)算資源。類似地,資源的解耦支持在特定時(shí)間處利用的計(jì)算資源的顯著增加,而不需要在可用的數(shù)據(jù)存儲(chǔ)資源中的對應(yīng)的增加。
[0050]資源管理器302、元數(shù)據(jù)310、執(zhí)行平臺(tái)312和存儲(chǔ)平臺(tái)314在圖3中被示出為單獨(dú)的組件。然而,資源管理器302、元數(shù)據(jù)310、執(zhí)行平臺(tái)312和存儲(chǔ)平臺(tái)314中的每個(gè)可被實(shí)現(xiàn)為分布式系統(tǒng)(如,分布在多個(gè)地理位置處的多個(gè)系統(tǒng)/平臺(tái)之間)。另外,資源管理器302、元數(shù)據(jù)310、執(zhí)行平臺(tái)312和存儲(chǔ)平臺(tái)314中的每個(gè)根據(jù)到接收自用戶304-308的請求的改變和數(shù)據(jù)處理平臺(tái)300的改變需求可(獨(dú)立于彼此地)被放大或縮小。因此,在所描述的實(shí)施方式中,數(shù)據(jù)處理平臺(tái)300是動(dòng)態(tài)的并支持定期改變以滿足當(dāng)前的數(shù)據(jù)處理需求。[〇〇51]圖4是描繪資源管理器302的實(shí)施方式的框圖。如在圖3中所示出的,資源管理器 302包括耦合到數(shù)據(jù)存儲(chǔ)設(shè)備406的訪問管理器402和密鑰管理器404。訪問管理器402處理用于本文描述的系統(tǒng)的認(rèn)證和授權(quán)任務(wù)。密鑰管理器404管理在認(rèn)證和授權(quán)任務(wù)期間使用的密鑰的存儲(chǔ)和認(rèn)證。請求處理服務(wù)408管理所接收的數(shù)據(jù)存儲(chǔ)請求和數(shù)據(jù)取回請求。管理控制臺(tái)服務(wù)410支持由管理員和其它系統(tǒng)管理員對各種系統(tǒng)和過程的訪問。[〇〇52] 資源管理器302還包括SQL編譯器412、SQL優(yōu)化器414和SQL執(zhí)行器410。SQL編譯器 412解析SQL查詢并生成用于查詢的執(zhí)行代碼。SQL優(yōu)化器414基于需要被處理的數(shù)據(jù)確定執(zhí)行查詢的最好的方法。SQL執(zhí)行器416執(zhí)行用于由資源管理器302接收的請求的請求代碼。查詢調(diào)度器和協(xié)調(diào)器418將所接收的請求發(fā)送到合適的服務(wù)或系統(tǒng)用于編譯、優(yōu)化和到執(zhí)行平臺(tái)的調(diào)度。虛擬倉庫管理器420管理在執(zhí)行平臺(tái)中實(shí)現(xiàn)的多個(gè)虛擬倉庫的操作。[〇〇53]另外,資源管理器302包括配置和元數(shù)據(jù)管理器422,其管理與儲(chǔ)存在遠(yuǎn)程數(shù)據(jù)存儲(chǔ)設(shè)備中和本地緩存中的數(shù)據(jù)相關(guān)的信息。監(jiān)測器和工作負(fù)載分析器424監(jiān)督由資源管理器302實(shí)施的過程并管理任務(wù)(如工作負(fù)載)在虛擬倉庫和執(zhí)行平臺(tái)中的執(zhí)行節(jié)點(diǎn)之間的分布。配置和元數(shù)據(jù)管理器422以及監(jiān)測器和工作負(fù)載分析器424被耦合到數(shù)據(jù)存儲(chǔ)設(shè)備426。 [〇〇54]資源管理器302還包括交易管理和訪問控制模塊428,其管理與數(shù)據(jù)存儲(chǔ)請求和數(shù)據(jù)訪問請求的處理相關(guān)的各種任務(wù)和其它活動(dòng)。例如,交易管理和訪問控制模塊428提供多個(gè)用戶或系統(tǒng)對數(shù)據(jù)的一致的和同步的訪問。由于多個(gè)用戶/系統(tǒng)可同時(shí)訪問相同的數(shù)據(jù), 對數(shù)據(jù)的改變必須被同步以確保每個(gè)用戶/系統(tǒng)工作在數(shù)據(jù)的當(dāng)前版本。交易管理和訪問控制模塊428提供對資源管理器302中的單一的、集中的位置處的各種數(shù)據(jù)處理活動(dòng)的控制。[〇〇55]圖5是描繪執(zhí)行平臺(tái)的實(shí)施方式的框圖。如在圖5中所示出的,執(zhí)行平臺(tái)512包括多個(gè)虛擬倉庫502、504和506。每個(gè)虛擬倉庫包括多個(gè)執(zhí)行節(jié)點(diǎn),其每個(gè)包括緩存和處理器。盡管在圖5中示出的每個(gè)虛擬倉庫502-506包括三個(gè)執(zhí)行節(jié)點(diǎn),特定的虛擬倉庫可包括任意數(shù)量的執(zhí)行節(jié)點(diǎn)。此外,在虛擬倉庫中的執(zhí)行節(jié)點(diǎn)的數(shù)量是動(dòng)態(tài)的,使得當(dāng)出現(xiàn)額外的需求時(shí),新的執(zhí)行節(jié)點(diǎn)可被創(chuàng)建,并且當(dāng)他們不再被需要時(shí),現(xiàn)有的執(zhí)行節(jié)點(diǎn)被刪除。
[0056]每個(gè)虛擬倉庫502-506能夠訪問圖3中示出的任何數(shù)據(jù)存儲(chǔ)設(shè)備316-320。因此,虛擬倉庫502-506不必被分配到數(shù)據(jù)存儲(chǔ)設(shè)備316-320,并且相反可訪問來自任何數(shù)據(jù)存儲(chǔ)設(shè)備316-320的數(shù)據(jù)。類似地,在圖5中示出的執(zhí)行節(jié)點(diǎn)中的每個(gè)可訪問來自任何數(shù)據(jù)存儲(chǔ)設(shè)備316-320的數(shù)據(jù)。在一些實(shí)施方式中,特定的虛擬倉庫或特定的執(zhí)行節(jié)點(diǎn)可被暫時(shí)分配到特定的數(shù)據(jù)存儲(chǔ)設(shè)備,但是虛擬倉庫或執(zhí)行節(jié)點(diǎn)可隨后訪問來自任何其它數(shù)據(jù)存儲(chǔ)設(shè)備的數(shù)據(jù)。[〇〇57] 在圖5的示例中,虛擬倉庫502包括三個(gè)執(zhí)行節(jié)點(diǎn)508、510和512。執(zhí)行節(jié)點(diǎn)508包括緩存514和處理器516。執(zhí)行節(jié)點(diǎn)510包括緩存518和處理器520。執(zhí)行節(jié)點(diǎn)512包括緩存522和處理器524。每個(gè)執(zhí)行節(jié)點(diǎn)508-512與處理一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)和/或數(shù)據(jù)取回任務(wù)相關(guān)。例如,特定的虛擬倉庫可處理與特定用戶或客戶相關(guān)的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)取回任務(wù)。在其它實(shí)現(xiàn)中,特定的虛擬倉庫可處理與特定的數(shù)據(jù)存儲(chǔ)系統(tǒng)或數(shù)據(jù)的特定類別相關(guān)的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)取回任務(wù)。[〇〇58] 類似于上面討論的虛擬倉庫502,虛擬倉庫504包括三個(gè)執(zhí)行節(jié)點(diǎn)526、528和530。 執(zhí)行節(jié)點(diǎn)526包括緩存532和處理器534。執(zhí)行節(jié)點(diǎn)528包括緩存536和處理器538。執(zhí)行節(jié)點(diǎn) 530包括緩存540和處理器542。另外,虛擬倉庫506包括三個(gè)執(zhí)行節(jié)點(diǎn)544、546和548。執(zhí)行節(jié)點(diǎn)544包括緩存550和處理器552。執(zhí)行節(jié)點(diǎn)546包括緩存554和處理器556。執(zhí)行節(jié)點(diǎn)548包括緩存558和處理器560。[〇〇59]盡管在圖5中示出的執(zhí)行節(jié)點(diǎn)每個(gè)包括一個(gè)緩存和一個(gè)處理器,可選的實(shí)施方案可包括包含任意數(shù)量的處理器和任意數(shù)量的緩存的執(zhí)行節(jié)點(diǎn)。另外,在不同的執(zhí)行節(jié)點(diǎn)之間,緩存可在尺寸上可變化。在圖5中示出的緩存在本地執(zhí)行節(jié)點(diǎn)中儲(chǔ)存數(shù)據(jù),該數(shù)據(jù)從存儲(chǔ)平臺(tái)314(圖3)中的一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備取回。因此,緩存減少或消除出現(xiàn)在一致地從遠(yuǎn)程存儲(chǔ)系統(tǒng)取回?cái)?shù)據(jù)的平臺(tái)中的瓶頸問題。代替從遠(yuǎn)程存儲(chǔ)設(shè)備重復(fù)地訪問數(shù)據(jù),本文描述的系統(tǒng)和方法從執(zhí)行節(jié)點(diǎn)中的緩存訪問數(shù)據(jù),這顯著地更快并避免上面討論的瓶頸問題。在一些實(shí)施方式中,緩存使用提供對緩存數(shù)據(jù)的快速訪問的高速存儲(chǔ)器設(shè)備來實(shí)現(xiàn)。 每個(gè)緩存可儲(chǔ)存來自存儲(chǔ)平臺(tái)314中的任意存儲(chǔ)設(shè)備的數(shù)據(jù)。
[0060]此外,緩存資源和計(jì)算資源可在不同的執(zhí)行節(jié)點(diǎn)之間切換。例如,一個(gè)執(zhí)行節(jié)點(diǎn)可包含相當(dāng)多的計(jì)算資源和最小的緩存資源,使執(zhí)行節(jié)點(diǎn)對需要相當(dāng)多的計(jì)算資源的任務(wù)有用。另一個(gè)執(zhí)行節(jié)點(diǎn)可包含相當(dāng)多的緩存資源和最小的計(jì)算資源,使該執(zhí)行節(jié)點(diǎn)對需要數(shù)據(jù)的大量的緩存的任務(wù)有用。在一些實(shí)施方式中,當(dāng)執(zhí)行節(jié)點(diǎn)基于由該執(zhí)行節(jié)點(diǎn)實(shí)施的期望的任務(wù)被創(chuàng)建時(shí),與特定的執(zhí)行節(jié)點(diǎn)相關(guān)的緩存資源和計(jì)算資源被確定。
[0061]另外,與特定的執(zhí)行節(jié)點(diǎn)相關(guān)的緩存資源和計(jì)算資源被可基于改變由執(zhí)行節(jié)點(diǎn)實(shí)施的任務(wù)而隨時(shí)間改變。例如,如果由執(zhí)行節(jié)點(diǎn)實(shí)施的任務(wù)變得更處理器密集,則該特定的執(zhí)行節(jié)點(diǎn)可被分配更多的處理資源。類似地,如果由執(zhí)行節(jié)點(diǎn)實(shí)施的任務(wù)需要更大的緩存容量,則該執(zhí)行節(jié)點(diǎn)可被分配更多的緩存資源。
[0062]盡管虛擬倉庫502-506與圖3的相同的執(zhí)行平臺(tái)312相關(guān),虛擬倉庫可使用多個(gè)地理位置處的多個(gè)計(jì)算系統(tǒng)來實(shí)現(xiàn)。例如,虛擬倉庫502可由處于從第一地理位置處的計(jì)算系統(tǒng)實(shí)現(xiàn),而虛擬倉庫504和506由處于第二地理位置處的另一個(gè)計(jì)算系統(tǒng)來實(shí)現(xiàn)。在一些實(shí)施方式中,這些不同的計(jì)算系統(tǒng)是由一個(gè)或多個(gè)不同的實(shí)體維護(hù)的基于云的計(jì)算系統(tǒng)。
[0063]另外,每個(gè)虛擬倉庫在圖5中被示出為具有多個(gè)執(zhí)行節(jié)點(diǎn)。與每個(gè)虛擬倉庫相關(guān)的多個(gè)執(zhí)行節(jié)點(diǎn)可使用處于多個(gè)地理位置的多個(gè)計(jì)算系統(tǒng)實(shí)現(xiàn)。例如,虛擬倉庫502的特定實(shí)例實(shí)現(xiàn)在特定地理位置處的一個(gè)計(jì)算平臺(tái)上的執(zhí)行節(jié)點(diǎn)508和510,并在另一個(gè)地理位置處的不同的計(jì)算平臺(tái)處實(shí)現(xiàn)執(zhí)行節(jié)點(diǎn)512。選擇特定的計(jì)算系統(tǒng)以實(shí)現(xiàn)執(zhí)行節(jié)點(diǎn)可取決于各種因素,諸如特定執(zhí)行節(jié)點(diǎn)所需要的資源的等級(如,處理資源需求和緩存需求)、在特定計(jì)算系統(tǒng)處可用的資源、在地理位置內(nèi)或地理位置之間的網(wǎng)絡(luò)的通信能力以及哪個(gè)計(jì)算系統(tǒng)已經(jīng)實(shí)施在虛擬倉庫中的其它執(zhí)行節(jié)點(diǎn)。執(zhí)行平臺(tái)312也是容錯(cuò)的。例如,如果一個(gè)虛擬倉庫故障,該虛擬倉庫被快速地用不同地理位置處的不同的虛擬倉庫代替。[0〇64]特定的執(zhí)行平臺(tái)312可包括任意數(shù)量的虛擬倉庫502-506。另外,在特定執(zhí)行平臺(tái)中的虛擬倉庫的數(shù)量是動(dòng)態(tài)的,使得當(dāng)額外的處理和/或緩存資源被需要時(shí)新的虛擬倉庫被創(chuàng)建。類似地,當(dāng)與虛擬倉庫相關(guān)的資源不再必要時(shí),現(xiàn)有的虛擬倉庫可被刪除。
[0065]圖6是描繪示例計(jì)算設(shè)備600的框圖。在一些實(shí)施方式中,計(jì)算設(shè)備600被用于實(shí)現(xiàn)本文討論的一個(gè)或多個(gè)系統(tǒng)和組件。例如,計(jì)算設(shè)備600可允許用戶或管理員訪問資源管理器302。此外,計(jì)算設(shè)備600可與本文描述的任何系統(tǒng)和組件交互。相應(yīng)地,計(jì)算設(shè)備600可用于實(shí)施各種過程和任務(wù),諸如本文討論的那些。計(jì)算設(shè)備600可起到服務(wù)器、客戶端或任何其它計(jì)算實(shí)體的作用。計(jì)算設(shè)備600可以是任意的各種各樣的計(jì)算設(shè)備,諸如臺(tái)式計(jì)算機(jī)、 筆記本式計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持計(jì)算機(jī)、平板電腦等。[0〇66] 計(jì)算設(shè)備600包括一個(gè)或多個(gè)處理器602、一個(gè)或多個(gè)存儲(chǔ)器設(shè)備604、一個(gè)或多個(gè)接口 606、一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備608以及一個(gè)或多個(gè)輸入/輸出(I/O)設(shè)備610,這些全部被耦合到總線612。處理器602包括執(zhí)行儲(chǔ)存在存儲(chǔ)器設(shè)備604和/或大容量存儲(chǔ)設(shè)備608 中的指令的一個(gè)或多個(gè)處理器或控制器。處理器602還可包括各種類型的計(jì)算機(jī)可讀介質(zhì), 諸如緩存存儲(chǔ)器。[〇〇67]存儲(chǔ)器設(shè)備604包括各種計(jì)算機(jī)可讀介質(zhì),諸如易失性存儲(chǔ)器(如,隨機(jī)存取存儲(chǔ)器(RAM))和/或非易失性存儲(chǔ)器(如,只讀存儲(chǔ)器(ROM))。存儲(chǔ)器設(shè)備604還可包括可重寫的 R0M,諸如閃存。
[0068]大容量存儲(chǔ)設(shè)備608包括各種計(jì)算機(jī)可讀介質(zhì),諸如磁帶、磁盤、光盤、固態(tài)存儲(chǔ)器 (如,閃存)等。各種驅(qū)動(dòng)器也可被包括在大容量存儲(chǔ)設(shè)備608中以使能對各種計(jì)算機(jī)可讀介質(zhì)的讀出和/或?qū)懭?。大容量存?chǔ)設(shè)備608包括可移動(dòng)介質(zhì)和/或不可移動(dòng)介質(zhì)。
[0069]I/O設(shè)備610包括允許數(shù)據(jù)和/或其它信息被輸入到計(jì)算設(shè)備600或從計(jì)算設(shè)備600 取回的各種設(shè)備。示例I/O設(shè)備610包括光標(biāo)控制設(shè)備、鍵盤、小鍵盤、傳聲器、監(jiān)視器或其它顯示設(shè)備、揚(yáng)聲器、打印機(jī)、網(wǎng)絡(luò)接口卡、調(diào)制解調(diào)器、CCD或其它圖像捕獲設(shè)備等。
[0070]接口606包括允許計(jì)算設(shè)備600與其它系統(tǒng)、設(shè)備或計(jì)算環(huán)境交互的各種接口。示例接口 606包括任意數(shù)量的不同的網(wǎng)絡(luò)接口,諸如與局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、無線網(wǎng)絡(luò)和因特網(wǎng)的接口。[〇〇71]總線612允許處理器602、存儲(chǔ)器設(shè)備604、接口 606、大容量存儲(chǔ)設(shè)備608和I/O設(shè)備 610與彼此以及耦合到總線612的其它設(shè)備或組件通信??偩€612表示總線結(jié)構(gòu)的幾個(gè)類型中的一個(gè)或多個(gè),諸如系統(tǒng)總線、PCI總線、IEEE 1394總線、USB總線等。
[0072]出于說明的目的,程序和其它可執(zhí)行程序組件在本文中被示出為離散的框,盡管應(yīng)理解這種程序和組件可在各種時(shí)間處存在于計(jì)算設(shè)備600的不同的存儲(chǔ)組件中,并可由處理器602執(zhí)行??蛇x地,本文描述的系統(tǒng)和過程可在硬件或硬件、軟件和/或固件的組合中實(shí)現(xiàn)。例如,一個(gè)或多個(gè)專用集成電路(ASIC)可經(jīng)編程來執(zhí)行本文所描述的系統(tǒng)和程序中的一個(gè)或多個(gè)。
[0073]盡管本公開根據(jù)特定的優(yōu)選實(shí)施方式來描述,其它實(shí)施方式對于本領(lǐng)域中的那些普通技術(shù)人員是明顯的,給定本公開的優(yōu)勢,包括不提供本文闡述的所有的優(yōu)勢和特征的實(shí)施方式,其也落入本公開的范圍。將理解,其他的實(shí)施方式可以被利用而不偏離本公開的范圍。
【主權(quán)項(xiàng)】
1.一種用于儲(chǔ)存半結(jié)構(gòu)化數(shù)據(jù)的方法,包括:接收來自數(shù)據(jù)源的半結(jié)構(gòu)化數(shù)據(jù)元素;當(dāng)所述半結(jié)構(gòu)化數(shù)據(jù)元素的集合被添加到數(shù)據(jù)庫時(shí),實(shí)施對它們的統(tǒng)計(jì)分析;從所述半結(jié)構(gòu)化數(shù)據(jù)內(nèi)識(shí)別公共數(shù)據(jù)元素;根據(jù)公共性閾值將所述公共數(shù)據(jù)元素分配為第一等級數(shù)據(jù)和次要等級數(shù)據(jù);將來自所述數(shù)據(jù)源的所述公共數(shù)據(jù)元素合并到單獨(dú)的偽列中;以及將第一等級數(shù)據(jù)在緩存存儲(chǔ)器中儲(chǔ)存在偽列中并使對應(yīng)于所述第一等級數(shù)據(jù)元素的 所述偽列的元數(shù)據(jù)和統(tǒng)計(jì)信息對基于計(jì)算機(jī)的查詢生成器可用。2.如權(quán)利要求1所述的方法,還包括從所述半結(jié)構(gòu)化數(shù)據(jù)內(nèi)重新識(shí)別公共數(shù)據(jù)元素并 將額外的公共數(shù)據(jù)元素分配為第一等級數(shù)據(jù),并將所述額外的數(shù)據(jù)元素保存在緩存存儲(chǔ)器 中。3.如權(quán)利要求2所述的方法,還包括識(shí)別已經(jīng)落到所述公共性閾值以下的第一等級數(shù) 據(jù)元素并分配次要等級給所識(shí)別的數(shù)據(jù)元素,并從緩存存儲(chǔ)器中移除。4.如權(quán)利要求1所述的方法,其中,所述公共性閾值是關(guān)于所述數(shù)據(jù)元素出現(xiàn)在所述半 結(jié)構(gòu)化數(shù)據(jù)中的頻率的計(jì)數(shù)。5.如權(quán)利要求1所述的方法,其中,所述公共性閾值是數(shù)據(jù)元素被用戶請求的頻率。6.如權(quán)利要求1所述的方法,還包括將次要等級數(shù)據(jù)儲(chǔ)存在磁盤儲(chǔ)存器上的偽列中。7.如權(quán)利要求2所述的方法,還包括將非公共半結(jié)構(gòu)化數(shù)據(jù)元素儲(chǔ)存在溢出序列化列 中。8.如權(quán)利要求7所述的方法,還包括通過將所述第一等級數(shù)據(jù)元素、所述次要等級數(shù)據(jù) 元素以及所述非公共數(shù)據(jù)合并來將半結(jié)構(gòu)化數(shù)據(jù)重構(gòu)回到原始形式。9.如權(quán)利要求7所述的方法,還包括用表示當(dāng)前偽列結(jié)構(gòu)和內(nèi)容的更新來維護(hù)聚合的 元數(shù)據(jù)。10.如權(quán)利要求1所述的方法,還包括將次要等級數(shù)據(jù)儲(chǔ)存在主存儲(chǔ)器中。11.一種用于聚合半結(jié)構(gòu)化數(shù)據(jù)的系統(tǒng),包括計(jì)算機(jī)處理器、緩存存儲(chǔ)器、磁盤儲(chǔ)存器 和計(jì)算機(jī)指令,所述系統(tǒng)還包括:接收模塊,其被配置為接收來自數(shù)據(jù)源的半結(jié)構(gòu)化數(shù)據(jù)元素;統(tǒng)計(jì)分析模塊,其被配置為得到在所述半結(jié)構(gòu)化數(shù)據(jù)元素的集合被添加到數(shù)據(jù)庫時(shí)得 到的對應(yīng)于所述集合的統(tǒng)計(jì)分析數(shù)據(jù);識(shí)別模塊,其被配置為從所述半結(jié)構(gòu)化數(shù)據(jù)內(nèi)識(shí)別公共數(shù)據(jù)元素并被配置為根據(jù)公共 性閾值將公共數(shù)據(jù)元素分配為第一等級數(shù)據(jù)和次要等級數(shù)據(jù);聚合模塊,其被配置為將來自所述數(shù)據(jù)源的公共數(shù)據(jù)元素合并到單獨(dú)的偽列中;以及其中,所述聚合模塊被配置為將第一等級數(shù)據(jù)儲(chǔ)存在緩存存儲(chǔ)器的偽列中,并被配置 為使所述第一等級數(shù)據(jù)元素的所述偽列的元數(shù)據(jù)和統(tǒng)計(jì)信息對基于計(jì)算機(jī)的查詢生成器 可用。12.如權(quán)利要求11所述的系統(tǒng),其中,所述識(shí)別模塊還被配置為從所述半結(jié)構(gòu)化數(shù)據(jù)內(nèi) 重新識(shí)別公共數(shù)據(jù)元素,并還被配置為將額外的公共數(shù)據(jù)元素分配為第一等級數(shù)據(jù)并將所 述額外的數(shù)據(jù)元素保存在緩存存儲(chǔ)器中。13.如權(quán)利要求12所述的系統(tǒng),其中,所述識(shí)別模塊還被配置為識(shí)別已經(jīng)落到所述公共性閾值以下的第一等級數(shù)據(jù)元素并分配次要等級給所識(shí)別的數(shù)據(jù)元素并從緩存存儲(chǔ)器中移除。14.如權(quán)利要求11所述的系統(tǒng),其中,所述公共性閾值是關(guān)于所述數(shù)據(jù)元素出現(xiàn)在所述半結(jié)構(gòu)化數(shù)據(jù)中的頻率的計(jì)數(shù)。15.如權(quán)利要求11所述的系統(tǒng),其中,所述公共性閾值是數(shù)據(jù)元素被用戶請求的頻率。16.如權(quán)利要求11所述的系統(tǒng),其中,較低等級數(shù)據(jù)被儲(chǔ)存在磁盤儲(chǔ)存器上的偽列中。17.如權(quán)利要求11所述的系統(tǒng),其中,非公共半結(jié)構(gòu)化數(shù)據(jù)元素被儲(chǔ)存在溢出序列化列中。18.如權(quán)利要求17所述的系統(tǒng),其中,半結(jié)構(gòu)化數(shù)據(jù)被重構(gòu)成具有重新合并的第一等級數(shù)據(jù)元素和次要等級數(shù)據(jù)的原始形式。19.一種用于聚合半結(jié)構(gòu)化數(shù)據(jù)的設(shè)備,包括: 接收模塊,其被配置為接收來自數(shù)據(jù)源的半結(jié)構(gòu)化數(shù)據(jù)元素; 統(tǒng)計(jì)模塊,其被配置為得到在所述半結(jié)構(gòu)化數(shù)據(jù)元素的集合被添加到數(shù)據(jù)庫時(shí)得到的對應(yīng)于所述集合的統(tǒng)計(jì)分析數(shù)據(jù);以及 聚合裝置,其用于從所述半結(jié)構(gòu)化數(shù)據(jù)內(nèi)識(shí)別公共數(shù)據(jù)元素并用于根據(jù)公共性閾值將公共數(shù)據(jù)元素分配為第一等級數(shù)據(jù)和次要等級數(shù)據(jù),所述聚合裝置還用于將來自所述數(shù)據(jù)源的公共數(shù)據(jù)元素合并到單獨(dú)的偽列中,并且所述聚合裝置還用于將第一等級數(shù)據(jù)儲(chǔ)存在緩存存儲(chǔ)器中的偽列中。20.如權(quán)利要求19所述的設(shè)備,其中,所述聚合裝置還從所述半結(jié)構(gòu)化數(shù)據(jù)內(nèi)重新識(shí)別公共數(shù)據(jù)元素,并還將額外的公共數(shù)據(jù)元素分配為第一等級數(shù)據(jù)并將所述額外的數(shù)據(jù)元素保存在緩存存儲(chǔ)器中。21.如權(quán)利要求20所述的設(shè)備,其中,所述聚合裝置還識(shí)別已經(jīng)落到所述公共性閾值以下的第一等級數(shù)據(jù)元素并且還分配次要等級給所識(shí)別的數(shù)據(jù)元素并從緩存存儲(chǔ)器中移除。22.如權(quán)利要求19所述的設(shè)備,其中所述聚合裝置還基本上持續(xù)地用表示當(dāng)前偽列結(jié)構(gòu)和內(nèi)容的更新來維護(hù)聚合的元數(shù)據(jù)。
【文檔編號(hào)】G06F17/30GK106030573SQ201580009233
【公開日】2016年10月12日
【申請日】2015年2月18日
【發(fā)明人】本諾特·戴奇維勒, 瓦迪姆·安東諾夫
【申請人】斯諾弗雷克計(jì)算公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1