新四季網

海量數據信息索引系統和索引構建方法

2023-05-21 09:54:26 2

專利名稱:海量數據信息索引系統和索引構建方法
技術領域:
本發明涉及一種數據索引系統和構建方法,尤其是一種海量數據信息索引系統和索引構建方法。
背景技術:
隨著技術的進步和發展,數據量越來越大,尤其是雲概念的出現,集中的數據量更加龐大。為了在浩如煙海的數據中快速找到需要的特定數據,索引有著重要的意義。中國專利文獻CN101576915B公開了一種分布式B+樹索引系統及構建方法,具體,包括主伺服器、事務伺服器機群和索引服務機群和版本控制伺服器;事務伺服器機群包括 多個事務伺服器,索引伺服器機群包括多個索引伺服器;主伺服器負責管理META數據,並對索引伺服器機群進行負載平衡調度;事務伺服器機群負責對分布式文件系統索引數據訪問的事務控制;索引伺服器機群負責管理和讀寫分布式文件系統的索引數據,有效地實現了並發環境下索引數據的事務功能。上述專利文獻中公開的索引技術只是將索引建立到一個或者多個索引庫伺服器中,建立索引和檢索索引都在一個或者多個索引伺服器中執行。建立索引任務和檢索索引任務在一臺或者多臺的索引庫中發生,可能會導致搶資源的問題,從而導致索引伺服器資源不足,影響檢索或者建立索引的效率。而且,檢索的過程一旦出現問題,也無法判斷實在檢索的具體哪個環節出了問題,修復難度大。

發明內容
為此,本發明所要解決的是索引功能在一個或者多個索引伺服器中執行帶來的檢索伺服器資源不足和修復難度大的技術問題,提供一種海量數據信息索引系統和索引構建方法。為解決上述技術問題,本發明採用的技術方案如下—種海量數據信息索引系統,包括,數據分發伺服器機群,包括多臺數據分發伺服器,用於將需要創建的數據拆分並分發;創建數據索引伺服器機群,包括多臺創建數據索引伺服器,各所述創建數據索引伺服器分別接收所述數據分發伺服器分發的數據並為所述數據創建索引;檢索伺服器機群,包括多臺檢索伺服器,接收所述創建數據索引伺服器創建的所述索引並根據檢索條件對數據索引進行檢索; 合併檢索結果伺服器機群,包括多臺合併檢索結果伺服器,接收檢索條件,接收並合併所述檢索伺服器檢出的結果。每個所述檢索伺服器均包括一個備份區,用於備份該檢索伺服器檢索出的數據。還包括備份數據伺服器機群,包括多臺備份數據伺服器,接收並備份所述數據分發伺服器、所述創建數據索引伺服器、所述檢索伺服器和所述合併檢索結果伺服器上的數據。所述創建數據索引伺服器創建的索引類型為倒排索引。所述數據分發伺服器存儲有一個實現數據分發功能的分發文件,所述分發文件記錄有所有創建數據索引伺服器、檢索伺服器和合併檢索結果伺服器的位置和信息。所述分發文件為XML文件。同時,提供一種海量數據信息索引的構建方法,包括如下步驟①將檢索用伺服器按照功能劃分為數據分發伺服器、創建數據索引伺服器、用於檢索伺服器和用於合併檢索結果伺服器,按照檢索的功能的計算量配備完成每一個功能的伺服器數量;
②將需要建立索引的數據以文件的形式放置在數據分發伺服器上;運行建立索引腳本,按照創建數據索引伺服器的數量將文件拆分,並分發到各個創建數據索引伺服器;③創建數據索引伺服器接收文件,並為該文件建立索引,並和之前建立過的索引進行合併,最後將新建的索引傳輸到檢索伺服器上;④檢索條件發送到合併檢索結果伺服器;⑤檢索結果伺服器將檢索條件發送到所有檢索伺服器上;⑥檢索伺服器接收檢索條件並對已建立的索引進行檢索,將檢索結果返回給合併檢索結果伺服器;⑦合併檢索結果伺服器接收到所有檢索結果數據後進行數據合併,並將合併後的檢索結果返回給檢索用戶。所述步驟中還包括備份各個步驟中產生的數據的步驟。所述步驟③中創建的索引為倒排索引。所述步驟①中通過在數據分發伺服器上存儲有一個記錄數據分發伺服器、創建數據索引伺服器、檢索伺服器和合併檢索結果伺服器位置信息的分發文件,實現各伺服器功能的劃分。分發文件為XML文件,執行過程中,XML文件通過解析,將各個功能的信息通過SSH技術分發到XML文件上指定的伺服器上。所述各步驟之間通過http協議實現傳輸。本發明的上述技術方案相比現有技術具有以下優點本發明的海量數據信息索引系統和方法,根據索引過程中需要完成的功能對伺服器進行分配,配置不同的伺服器用於完成不同檢索功能,避免搶資源;同時,使得每臺伺服器的職責更加明確;可根據不同功能的特性對不同的伺服器機群進行特定配置,便於提高檢索效率;檢索的過程中一旦出錯,可根據出錯原因快速定位出出錯的伺服器,便於維修維護,降低維修和使用成本。


為了使本發明的內容更容易被清楚的理解,下面根據本發明的具體實施例並結合附圖,對本發明作進一步詳細的說明,其中圖I為發明一個實施例的海量數據信息索引系統的結構示意其中,附圖標記表示為I-數據分發伺服器,2-創建數據索引伺服器,3-檢索伺服器,4-合併檢索結果伺服器。
具體實施例方式參見圖I所示為本發明一個實施例的海量數據信息索引系統,包括,數據分發伺服器機群,包括兩臺數據分發伺服器1,用於將需要創建的數據拆分並分發給創建數據索引伺服器2 ;創建數據索引伺服器機群,包括四臺創建數據索引伺服器2,接收所述數據分發伺服器I分發的數據並為所述數據創建倒排索引;其中,倒排索引源於實際應用中需要根據屬性的值來查找記錄,這種索引表中的每一項都包括一個屬性值和具有該屬性值的各記錄地址,由於不是由記錄來確定屬性值,而是由屬性那個值來確定記錄的位置,因而為倒排索弓I ;檢索伺服器機群,包括四臺檢索伺服器3,接收所述創建數據索引伺服器2創建的 所述數據索引並根據檢索條件對數據索引進行檢索,每臺所述檢索伺服器3均包括一個備份區,用於存儲該檢索伺服器3檢索出的數據;合併檢索結果伺服器機群,包括兩臺合併檢索結果伺服器4,接收所述檢索伺服器3索出的結果並對所述結果進行合併。作為上述實施例的一個變形,該系統還包括備份數據伺服器機群,其包括兩臺備份數據伺服器,接收所述數據分發伺服器I、所述創建數據索引伺服器2、所述檢索伺服器3和所述合併檢索結果伺服器4上的數據並備份,所述檢索伺服器3不具備備份功能,其他同上述實施例;同樣能實現本發明的目的,屬於本發明的保護範圍。上述實施例中的XML文件可以為YAML (YAML Ain’t Markup Language,意為YAML不是一種標記語言)文件或者JSON (英文全稱為JavaScriptObject Notation,意為數據交換語目)文件。本發明上述實施例的海量數據信息索引系統,可根據完成不同功能的需要的工作量的多少配備相應的伺服器數量,保證資源利用最大化,便於提高檢索效率;同時,不同功能由不同的伺服器完成也避免了搶資源現象;檢索的過程中一旦出錯,可根據出錯原因快速定位出出錯的伺服器,便於維修維護,降低維修和使用成本;而且,本發明中上述系統可根據檢索的工作量動態增加相應功能的伺服器,動態擴展性強。同時本發明提供一種上述實施例的海量數據信息索引的構建方法,其包括如下步驟①在數據分發伺服器I上存儲有一個記錄數據分發伺服器I、創建數據索引伺服器2、檢索伺服器3和合併檢索結果伺服器4位置信息的XML文件,將檢索用伺服器按照功能劃分為數據分發伺服器I、創建數據索引伺服器2、用於檢索伺服器3和用於合併檢索結果伺服器4,按照檢索的功能的計算量配備完成每一個功能的伺服器數量;本實施例中,包括兩臺數據分發伺服器I、四臺創建數據索引伺服器2、四臺檢索伺服器3、兩臺合併檢索結果伺服器4和兩臺備份數據伺服器;執行過程中,XML文件通過解析,將各個功能的信息通過SSH技術分發到XML文件上指定的伺服器上;其中,XML,英文全稱為Extensible MarkupLanguage,意為可擴展標記語言,SSH,英文全稱為Secure Shell意為建立在應用層和傳輸層基礎上的安全協議;上述SSH可為現行任何一種傳輸協議代替,比如http傳輸協議,選用SSH相對簡單、安全;②將需要建立索引的數據以文件的形式放置在數據分發伺服器I上;運行建立索引腳本,按照創建數據索引伺服器2的數量將文件分開,並將每條數據通過「http」請求的方式分發到各個創建數據索引伺服器2 ;其中,http,英文全稱為hypertext transportprotocol,意為超文本傳送協議;其中,需要創建索引的數據進行格式化處理,具體是在數據分發伺服器I上定義一個數據的構架,定義需要創建索引的數據的列信息(包括名稱和類型),這其中包括一個ID屬性,以區分每 一個記錄;上述http也可用現有技術中的任何一種傳輸協議代替,比如ftp ;其中,ftp,英文全稱為File TransferProtocol,意為文件傳輸協議;③創建數據索引伺服器2接收文件,並為該文件建立倒排索引,並和之前建立過的索引進行合併,最後將新建的索引通過「http」請求的方式傳輸到檢索伺服器3上;④檢索條件發送到合併檢索結果伺服器4,其中,需要檢索的數據必須是格式化數據;⑤合併檢索結果伺服器4將檢索條件通過「http」請求的方式發送到所有檢索伺服器3上;⑥檢索伺服器3接收檢索條件並對已建立的索引進行檢索,將檢索結果返回給合併檢索結果伺服器4,同時將檢索結果在檢索伺服器3上備份;⑦合併檢索結果伺服器4接收到所有「http」響應的檢索結果數據後進行數據合併,並將合併後的檢索結果返回給檢索用戶。作為上述方法的一個變形,任何一個伺服器上的數據在發生改變時,均將發生改變的索引數據,通過「http」請求的方式傳輸到備份伺服器上,以防止數據丟失。下面結合一個具體的實施例對本發明的海量數據信息索引系統和構建方法進行詳細說明以一個實際需要處理的文件舉例,文件中含有100條數據,現在海量數據信息索引系統有五臺創建數據索引伺服器2,五臺檢索伺服器3,一臺數據分發伺服器I和一臺合併檢索結果伺服器4:創建索引用戶建立索引的具體過程如下需要將文件放置在數據分發伺服器I上,然後在數據分發伺服器I上進入程序放置根目錄,並執行建立索引命令「shbin/distdaemon. shpost {放置文件位置} 」。數據分發伺服器I會通過執行命令參數,找到該文件,並通過「索引拆分」模塊,將這個文件拆分成為五份,每一份「索引數據塊」都會含有20條數據。當數據分發伺服器I通過「索引拆分」模塊將文件拆分完成後,會將五份「索引數據塊」依次分發到五臺創建數據索引伺服器2上。以單個創建數據索引伺服器2為例(其餘創建數據索引伺服器2的處理方式一致),當其中一個創建數據索引伺服器2接收到數據分發伺服器I發送給它的「索引數據塊」(其中含有20條數據)之後,會將該「索引數據塊」根據之前定義的「架構」(schema)文件定義的列名和類型進行拆分,得到類似一個HASH(意為散列)形式的數組,比如schema文件定義第一列是文件名(filename)、第二列是文件大小(filesize),「索引數據快」得到的第一列是fileOl,第二列是1000M,那麼經過數據拆分會得到一個數組「{
=>{『filename』 => 『fileOl』,『filesize』=〉『 1000M』,[I] => {…},…,[20] => {…}}} 」。之後會將得到的這個hash形式的數組,通過倒排算法生成為「倒排數據索引」。如hash 的數據格式是{『001,=>{『filename,=>『file0r,『f ilesize,=〉『 1000M,},『002,=>{ 『filename』=YfileC^, {<file20,) {『file01』=>{『001』},『fileO2』=>{『002』},『file20』=>{『020』}},『filesize』=〉{『1000M』=>{『001』,『002』,『020』}},…}。創建數據索引伺服器2生成倒排索引後,經過「合併索弓丨」可以將新建立的索引合併到已有的索引中。 最後將新建立的索引通過「http」協議的方式同步到檢索伺服器3中。檢索用戶檢索索引數據的具體過程如下檢索用戶通過向合併檢索結果伺服器4發送檢索請求,比如檢索用戶發送檢索文件大小(filesize)為1000M的所有文件。則用戶會發送一個http://{merger-host}/{port} / {path} / {fn} q=f ilesize%3A1000M 的請求。創建索引伺服器接收到用戶發送的請求後,將該請求分別發送給五臺檢索伺服器3如http://{slave-host}/{port}/{path}/{fn} q=filesize%3A1000M。以單個檢索伺服器3為例(其餘檢索伺服器3的處理方式一致),接受到創建數據索引伺服器2發送的請求後,通過解析請求獲得filesize等於1000M的檢索條件。通過該條件到已存在的「倒排數據索引」中檢索數據。比如會得到{ 『001』=>{ 『filenaiB』=>『file0r,『filesize』=>『l(XXM』},『002』=>{『filenaiB』=>『file02』,『filesize』=>『1000M』},,020』=>{『filename』=〉『file20』,『filesize』=〉『1000M』}}的結果,並將結果返回給合併檢索結果伺服器4。合併檢索結果伺服器4得到五臺檢索伺服器3返回的數據,將他們合併排序等。合併完成後,將結果返回給客戶,檢索完成。經過實際測試 一臺數據分發伺服器I和三臺創建數據索引伺服器2,建5000萬條數據索引,每條數據大概有20-30個數據特徵,花費30分鐘可以完成創建索引的工作;—臺合併檢索結果伺服器4、五臺檢索伺服器3,共有一億條左右的索引,一百個用戶並發檢索,檢索條件包括檢索範圍,排序等複雜條件,平均響應在三秒以內。顯然,上述實施例僅僅是為清楚地說明所作的舉例,而並非對實施方式的限定。對於所屬領域的普通技術人員來說,在上述說明的基礎上還可以做出其它不同形式的變化或變動。這裡無需也無法對所有的實施方式予以窮舉。而由此所引伸出的顯而易見的變化或變動仍處於本發明創造的保護範圍之中。
權利要求
1.一種海量數據信息索引系統,其特徵在於包括, 數據分發伺服器機群,包括多臺數據分發伺服器,用於將需要創建的數據拆分並分發; 創建數據索引伺服器機群,包括多臺創建數據索引伺服器,各所述創建數據索引伺服器分別接收所述數據分發伺服器分發的數據並為所述數據創建索引; 檢索伺服器機群,包括多臺檢索伺服器,接收所述創建數據索引伺服器創建的所述索引並根據檢索條件對數據索引進行檢索; 合併檢索結果伺服器機群,包括多臺合併檢索結果伺服器,接收並合併所述檢索伺服器檢出的結果。
2.根據權利要求I所述的一種海量數據信息索引系統,其特徵在於每個所述檢索伺服器均包括一個備份區,用於備份該檢索伺服器檢索出的數據。
3.根據權利要求I所述的一種海量數據信息索引系統,其特徵在於還包括備份數據伺服器機群,包括多臺備份數據伺服器,接收並備份所述數據分發伺服器、所述創建數據索引伺服器、所述檢索伺服器和所述合併檢索結果伺服器上的數據。
4.根據權利要求1-3任一所述的一種海量數據信息索引系統,其特徵在於所述創建數據索引伺服器創建的索引類型為倒排索引。
5.根據權利要求1-4任一所述的一種海量數據信息索引系統,其特徵在於所述數據分發伺服器存儲有一個實現數據分發功能的分發文件,所述分發文件記錄有所有創建數據索引伺服器、檢索伺服器和合併檢索結果伺服器的位置和信息。
6.根據權利要求5所述的一種海量數據信息索引系統,其特徵在於所述分發文件為XML文件。
7.—種如權利要求1-6任一所述海量數據信息索引的構建方法,其特徵在於,包括如下步驟 ①將檢索用伺服器按照功能劃分為數據分發伺服器、創建數據索引伺服器、用於檢索伺服器和用於合併檢索結果伺服器,按照檢索的功能的計算量配備完成每一個功能的伺服器數量; ②將需要建立索引的數據以文件的形式放置在數據分發伺服器上; 運行建立索引腳本,按照創建數據索引伺服器的數量將文件拆分,並分發到各個創建數據索引伺服器; ③創建數據索引伺服器接收文件,並為該文件建立索引,並和之前建立過的索引進行合併,最後將新建的索引傳輸到檢索伺服器上; ④檢索條件發送到合併檢索結果伺服器; ⑤檢索結果伺服器將檢索條件發送到所有檢索伺服器上; ⑥檢索伺服器接收檢索條件並對已建立的索引進行檢索,將檢索結果返回給合併檢索結果伺服器; ⑦合併檢索結果伺服器接收到所有檢索結果數據後進行數據合併,並將合併後的檢索結果返回給檢索用戶。
8.根據權利要求7所述的海量數據信息索引構建方法,其特徵在於所述步驟中還包括備份各個步驟中產生的數據的步驟。
9.根據權利要求7或8所述的海量數據信息索引構建方法,其特徵在於所述步驟③中創建的索引為倒排索引。
10.根據權利要求7-9任一所述的海量數據信息索引構建方法,其特徵在於所述步驟①中通過在數據分發伺服器上存儲有一個記錄數據分發伺服器、創建數據索引伺服器、檢索伺服器和合併檢索結果伺服器位置信息的分發文件,實現各伺服器功能的劃分。
11.根據權利要求10所述的海量數據信息索引構建方法,其特徵在於分發文件為XML文件,執行過程中,XML文件通過解析,將各個功能的信息通過SSH技術分發到XML文件上指定的伺服器上。
12.根據權利要求7-11任一所述的海量數據信息索引構建方法,其特徵在於所述各步驟之間通過http協議實現傳輸。
全文摘要
本發明涉及一種海量數據信息索引系統和構建方法,其包括,數據分發伺服器機群,包括多臺數據分發伺服器,用於將需要創建的數據拆分並分發給創建數據索引伺服器;創建數據索引伺服器機群,包括多臺創建數據索引伺服器,接收數據分發伺服器分發的數據並為數據創建索引;檢索伺服器機群,包括多臺檢索伺服器,接收創建數據索引伺服器創建的索引並對數據索引進行檢索;合併檢索結果伺服器機群,包括多臺合併檢索結果伺服器,接收檢索條件,接收並合併檢索伺服器索出的結果。根據索引過程中需要完成的功能對伺服器進行分配,避免搶資源;檢索的過程中一旦出錯,可根據出錯原因快速定位出出錯的伺服器,便於維修維護,降低維修和使用成本。
文檔編號G06F17/30GK102779160SQ201210199729
公開日2012年11月14日 申請日期2012年6月14日 優先權日2012年6月14日
發明者葉嘉明, 安旭, 陳德全 申請人:中金數據系統有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀