欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

格式化數(shù)據(jù)庫中的半結(jié)構(gòu)化數(shù)據(jù)的制作方法

文檔序號:9252412閱讀:474來源:國知局
格式化數(shù)據(jù)庫中的半結(jié)構(gòu)化數(shù)據(jù)的制作方法
【專利說明】
【背景技術(shù)】
[0001]數(shù)據(jù)庫使用各種格式來組織待響應(yīng)于搜索查詢而被搜索的數(shù)據(jù)。一種這樣的數(shù)據(jù)庫組織包括順序地成行組織該數(shù)據(jù)。響應(yīng)于搜索查詢,從每行的開始順序地讀取該行,以定位與該搜索查詢有關(guān)的數(shù)據(jù)。另一種數(shù)據(jù)庫是列存儲數(shù)據(jù)庫,該列存儲數(shù)據(jù)庫以列而不是以行存儲數(shù)據(jù)。這樣的數(shù)據(jù)庫定位每列中的信息,而不必讀取與搜索查詢無關(guān)的數(shù)據(jù)的順序列表。因此,列存儲數(shù)據(jù)庫利用與行存儲數(shù)據(jù)庫不同的搜索技術(shù)來搜索與搜索查詢有關(guān)的數(shù)據(jù)。
【附圖說明】
[0002]附圖圖示本文描述的原理的各示例并且是本說明書的一部分。所圖示的示例僅是示例,而不限制權(quán)利要求的范圍。
[0003]圖1是根據(jù)本文描述的原理的列存儲數(shù)據(jù)庫的示例的圖。
[0004]圖2是根據(jù)本文描述的原理的、具有鍵和值格式的半結(jié)構(gòu)化列的示例的圖。
[0005]圖3是根據(jù)本文描述的原理的、用于格式化數(shù)據(jù)庫中的半結(jié)構(gòu)化數(shù)據(jù)的方法的示例的圖。
[0006]圖4是根據(jù)本文描述的原理的格式化系統(tǒng)的示例的圖。
[0007]圖5是根據(jù)本文描述的原理的格式化系統(tǒng)的示例的圖。
[0008]圖6是根據(jù)本文描述的原理的、用于將半結(jié)構(gòu)化數(shù)據(jù)加載到數(shù)據(jù)庫中的方法的流程圖的示例的圖。
[0009]圖7是根據(jù)本文描述的原理的、用于格式化數(shù)據(jù)庫中的半結(jié)構(gòu)化數(shù)據(jù)的方法的流程圖的示例的圖。
【具體實施方式】
[0010]像列存儲數(shù)據(jù)庫這樣的關(guān)系數(shù)據(jù)庫執(zhí)行搜索,其中數(shù)據(jù)在所有記錄之間以固定且一致的格式組織。雖然可以將這樣的模式改變?yōu)榘ㄆ渌兄担沁@種行為是由用戶驅(qū)動的,而不是由列存儲數(shù)據(jù)庫隱含地執(zhí)行的。因此,將新類型的數(shù)據(jù)加載到數(shù)據(jù)庫中的過程涉及在加載該數(shù)據(jù)之前執(zhí)行模式限定任務(wù)的用戶。此外,該執(zhí)行模式限定任務(wù)的用戶具有用于準(zhǔn)確地限定列數(shù)和數(shù)據(jù)類型(包括字符串字段最大寬度)的關(guān)于該數(shù)據(jù)的足夠知識,使得列存儲數(shù)據(jù)庫可以將該新增加的數(shù)據(jù)放入其已有的固定且一致的格式中。
[0011]模式限定任務(wù)可能成為將數(shù)據(jù)輸入關(guān)系數(shù)據(jù)庫中的障礙。此外,用戶可能不具有用于規(guī)劃緊湊模式的關(guān)于新數(shù)據(jù)的足夠知識。一旦數(shù)據(jù)被加載,像結(jié)構(gòu)化查詢語言(SQL)這樣的查詢語言適合于表達(dá)將執(zhí)行的分析。
[0012]數(shù)據(jù)集中的許多是自描述的且包括與列名、描述和類型有關(guān)的元數(shù)據(jù)。例如,JavaScript對象表示法(JSON)格式描述列和數(shù)據(jù)類型。甚至像逗號分隔值(CSV)或制表符分隔值(TSV)這樣的簡單分界格式經(jīng)常在頂部具有描述列名的標(biāo)題行。
[0013]在數(shù)據(jù)的記錄由于記錄內(nèi)容改變或由于在單個數(shù)據(jù)流中存在多個記錄類型而不一致的多變模式中,多變模式也對固定模式關(guān)系數(shù)據(jù)庫帶來問題。記錄可能缺少字段,或者較新版本的數(shù)據(jù)源可以提供其它字段。多個不同記錄類型可以出現(xiàn)在同樣的流上。這樣的新數(shù)據(jù)還不整齊地放入關(guān)系數(shù)據(jù)庫的緊湊模式中。
[0014]本文描述的原理包括一種用于格式化數(shù)據(jù)庫中的半結(jié)構(gòu)化數(shù)據(jù)的方法。這樣的方法包括:將半結(jié)構(gòu)化數(shù)據(jù)獲取到列存儲數(shù)據(jù)庫中,將該半結(jié)構(gòu)化數(shù)據(jù)分配給具有鍵和值格式的半結(jié)構(gòu)化列,以及利用最優(yōu)搜索格式來格式化該半結(jié)構(gòu)化數(shù)據(jù)。該半結(jié)構(gòu)化數(shù)據(jù)可以包括數(shù)據(jù)庫未知的數(shù)據(jù)或在不同記錄之間具有不一致格式的數(shù)據(jù)。該半結(jié)構(gòu)化數(shù)據(jù)可以包括不整齊地放入關(guān)系數(shù)據(jù)庫所用的用于優(yōu)化搜索的緊湊模式中的其它類型數(shù)據(jù)。該鍵和值格式包括以下格式:鍵數(shù)據(jù)和該鍵數(shù)據(jù)的關(guān)聯(lián)值被配對在一起作為可以在半結(jié)構(gòu)化列中被搜索到的對。最優(yōu)搜索格式包括除僅鍵和值對之外的額外信息和/或結(jié)構(gòu)。這樣的額外信息和/或結(jié)構(gòu)提高搜索引擎搜索半結(jié)構(gòu)化數(shù)據(jù)的能力。這樣的額外信息可以包括元數(shù)據(jù),該元數(shù)據(jù)提供可以在緊湊模式中用于允許半結(jié)構(gòu)化列中最優(yōu)搜索次數(shù)的關(guān)鍵字、標(biāo)簽、描述、其它值、額外索引信息、其它信息或以上的組合。
[0015]本文描述的原理的一個優(yōu)點包括寫查詢的用戶不用知道數(shù)據(jù)是否被發(fā)送給半結(jié)構(gòu)化列或具有更多結(jié)構(gòu)的顯式列(explicit column)。因此,存儲功能與查詢功能分離。
[0016]在下面的描述中,為了解釋,闡述多個特定細(xì)節(jié),以提供本系統(tǒng)和方法的深入理解。但是,將對本領(lǐng)域技術(shù)人員顯而易見的是,可以在沒有這些特定細(xì)節(jié)的情況下實踐本裝置、系統(tǒng)和方法。說明書中對“示例”或類似語言的引用表示所描述的特定特征、結(jié)構(gòu)或特性包括在至少一個示例中,但不一定包括在其它示例中。
[0017]圖1是根據(jù)本文描述的原理的列存儲數(shù)據(jù)庫(100)的示例的圖。在此示例中,列存儲數(shù)據(jù)庫(100)具有第一顯式列(102)、第二顯式列(104)以及半結(jié)構(gòu)化列(106)。列存儲數(shù)據(jù)庫(100)還包括數(shù)據(jù)獲取器(108)、數(shù)據(jù)列分配器(110)、加載器(112)、搜索器(114)、搜索查詢分析器(116)以及格式化器(118)。此外,在此示例中,半結(jié)構(gòu)化數(shù)據(jù)源(120)與數(shù)據(jù)獲取器(108)通信。
[0018]數(shù)據(jù)獲取器(108)從半結(jié)構(gòu)化數(shù)據(jù)源獲取數(shù)據(jù)。半結(jié)構(gòu)化數(shù)據(jù)源可以是可移除的存儲介質(zhì)、其它數(shù)據(jù)庫、網(wǎng)站、目錄、庫、來自用戶的手動輸入、系統(tǒng)、監(jiān)視設(shè)備、其它源或以上的組合。半結(jié)構(gòu)化數(shù)據(jù)可以具有列存儲數(shù)據(jù)庫(100)未知的格式。在其它示例中,由于記錄的刪除及其它改變,半結(jié)構(gòu)化數(shù)據(jù)在多個記錄之間具有不一致的格式。數(shù)據(jù)的其它條件可以引起該數(shù)據(jù)的結(jié)構(gòu)超出該數(shù)據(jù)的余下部分在列存儲數(shù)據(jù)庫中被組織成的最優(yōu)搜索格式之外。數(shù)據(jù)獲取器(108)可以被動地從半結(jié)構(gòu)化數(shù)據(jù)源(120)接收該數(shù)據(jù),或者數(shù)據(jù)獲取器(108)可以主動地從半結(jié)構(gòu)化數(shù)據(jù)源檢索數(shù)據(jù)。雖然已參照數(shù)據(jù)獲取器(108)的特定特征描述此示例,但是依照本文描述的原理可以使用任何合適類型的數(shù)據(jù)獲取器。
[0019]數(shù)據(jù)獲取器(108)與數(shù)據(jù)列分配器(110)通信,數(shù)據(jù)列分配器(110)確定數(shù)據(jù)是否具有與列存儲數(shù)據(jù)庫余下部分的組織方式兼容的格式。此外,數(shù)據(jù)列分配器(110)還確定該數(shù)據(jù)的多個記錄是否是以一致的方式格式化的。如果數(shù)據(jù)的格式未知或不一致,則數(shù)據(jù)列分配器(I1)向半結(jié)構(gòu)化列(106)分配該數(shù)據(jù)。另一方面,如果該數(shù)據(jù)是以與列存儲數(shù)據(jù)庫的最優(yōu)搜索格式一致的方式組織的,則將該數(shù)據(jù)分配給諸如第一顯示列(102)或第二顯式列(104)之類的已有顯式列,或分配給為新數(shù)據(jù)形成的新顯式列。
[0020]在一些示例中,數(shù)據(jù)列分配器(110)識別出在數(shù)據(jù)獲取器(108)處獲取的進(jìn)入數(shù)據(jù)中的一些屬于已經(jīng)在當(dāng)前已有列之一中存儲的數(shù)據(jù)。在這樣的示例中,數(shù)據(jù)列分配器(110)可以將該數(shù)據(jù)分配給當(dāng)前已有顯式列??商娲兀瑪?shù)據(jù)列分配器(110)將被識別為已經(jīng)屬于顯式列中的數(shù)據(jù)的該數(shù)據(jù)分配給半結(jié)構(gòu)化列和適當(dāng)?shù)娘@式列。雖然已參照數(shù)據(jù)列分配器(110)的特定特征描述此示例,但是依照本文描述的原理可以使用任何合適類型的數(shù)據(jù)列分配器。
[0021]響應(yīng)于數(shù)據(jù)列分配器(110)將該數(shù)據(jù)分配給列,加載器(112)將該數(shù)據(jù)加載到所分配的列內(nèi)。雖然已參照加載器(112)的特定特征描述此示例,但是依照本文描述的原理可以使用任何合適類型的加載器(112)。
[0022]響應(yīng)于搜索查詢,搜索器(114)搜索列存儲數(shù)據(jù)庫。在一些示例中,如果搜索查詢不包括顯式列中的信息,則搜索器(114)將搜索半結(jié)構(gòu)化列(106)以尋找與該搜索查詢有關(guān)的數(shù)據(jù)。如果可從顯式列中獲得查詢數(shù)據(jù),則不讀取半結(jié)構(gòu)化列。通過這樣的方式,降低和/或消除在半結(jié)構(gòu)化列中搜索數(shù)據(jù)的輸入/輸出成本。在其它示例中,搜索策略指示當(dāng)在數(shù)據(jù)庫的其余部分各處沒找到其它相關(guān)信息時就搜索半結(jié)構(gòu)化列。在另外的其它示例中,搜索策略包括規(guī)則,該規(guī)則指示:如果滿足其它條件,則搜索器(114)將搜索半結(jié)構(gòu)化列(106)。雖然已參照搜索器(114)的特定特征描述此示例,但是依照本文描述的原理可以使用任何合適類型的搜索器。
[0023]搜索查詢分析器(116)根據(jù)分析策略來分析搜索查詢,以確定如何格式化半結(jié)構(gòu)化數(shù)據(jù)。分析策略可以包括規(guī)則,該規(guī)則指示將僅分析在半結(jié)構(gòu)化列中找到相關(guān)信息的那些搜索查詢。在其它示例中,分析策略包括規(guī)則,該規(guī)則指示將分析在顯式列中未找到相關(guān)信息的所有搜索查詢。在另外的其它示例中,解釋其它條件的其它規(guī)則用于確定將分析搜索查詢中的哪些。雖然已參照搜索查詢分析器(116)的特定特征描述此示例,但是依照本文描述的原理可以使用任何合適類型的搜索查詢分析器。
[0024]基于搜索查詢的分析,格式化器(118)格式化該半結(jié)構(gòu)化數(shù)據(jù),以給予半結(jié)構(gòu)化數(shù)據(jù)更多細(xì)節(jié)來使該半結(jié)構(gòu)化數(shù)據(jù)對搜索而言是更優(yōu)的。在一些示例中,從半結(jié)構(gòu)化數(shù)據(jù)中提取該半結(jié)構(gòu)化數(shù)據(jù)的、將被置于具有附加格式的新創(chuàng)建的顯式列中的多個部分,以使該數(shù)據(jù)更適于搜索。在其它示例中,向該半結(jié)構(gòu)化列自身給予附加結(jié)構(gòu),以使該半結(jié)構(gòu)化列的內(nèi)容對搜索而言是更優(yōu)的。雖然已參照格式化器(118)的特定特征描述此示例,但是依照本文描述的原理可以使用任何合適類型的格式化器。
[0025]圖2是根據(jù)本文描述的原理的具有鍵和值格式(202)的半
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
临猗县| 沁水县| 杭锦旗| 防城港市| 哈密市| 修水县| 岐山县| 丁青县| 肃北| 砚山县| 社旗县| 车险| 汽车| 平定县| 高唐县| 磐安县| 昌图县| 灵石县| 万宁市| 兴海县| 蒙阴县| 庆阳市| 平遥县| 周宁县| 呼伦贝尔市| 惠水县| 运城市| 临泽县| 乐都县| 南华县| 永宁县| 平阴县| 调兵山市| 泽库县| 吉木乃县| 通河县| 政和县| 墨竹工卡县| 普兰县| 开封县| 成安县|