專利名稱:海量數(shù)據(jù)信息索引系統(tǒng)和索引構(gòu)建方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)索引系統(tǒng)和構(gòu)建方法,尤其是一種海量數(shù)據(jù)信息索引系統(tǒng)和索引構(gòu)建方法。
背景技術(shù):
隨著技術(shù)的進(jìn)步和發(fā)展,數(shù)據(jù)量越來(lái)越大,尤其是云概念的出現(xiàn),集中的數(shù)據(jù)量更加龐大。為了在浩如煙海的數(shù)據(jù)中快速找到需要的特定數(shù)據(jù),索引有著重要的意義。中國(guó)專利文獻(xiàn)CN101576915B公開(kāi)了一種分布式B+樹(shù)索引系統(tǒng)及構(gòu)建方法,具體,包括主服務(wù)器、事務(wù)服務(wù)器機(jī)群和索引服務(wù)機(jī)群和版本控制服務(wù)器;事務(wù)服務(wù)器機(jī)群包括 多個(gè)事務(wù)服務(wù)器,索引服務(wù)器機(jī)群包括多個(gè)索引服務(wù)器;主服務(wù)器負(fù)責(zé)管理META數(shù)據(jù),并對(duì)索引服務(wù)器機(jī)群進(jìn)行負(fù)載平衡調(diào)度;事務(wù)服務(wù)器機(jī)群負(fù)責(zé)對(duì)分布式文件系統(tǒng)索引數(shù)據(jù)訪問(wèn)的事務(wù)控制;索引服務(wù)器機(jī)群負(fù)責(zé)管理和讀寫分布式文件系統(tǒng)的索引數(shù)據(jù),有效地實(shí)現(xiàn)了并發(fā)環(huán)境下索引數(shù)據(jù)的事務(wù)功能。上述專利文獻(xiàn)中公開(kāi)的索引技術(shù)只是將索引建立到一個(gè)或者多個(gè)索引庫(kù)服務(wù)器中,建立索引和檢索索引都在一個(gè)或者多個(gè)索引服務(wù)器中執(zhí)行。建立索引任務(wù)和檢索索引任務(wù)在一臺(tái)或者多臺(tái)的索引庫(kù)中發(fā)生,可能會(huì)導(dǎo)致?lián)屬Y源的問(wèn)題,從而導(dǎo)致索引服務(wù)器資源不足,影響檢索或者建立索引的效率。而且,檢索的過(guò)程一旦出現(xiàn)問(wèn)題,也無(wú)法判斷實(shí)在檢索的具體哪個(gè)環(huán)節(jié)出了問(wèn)題,修復(fù)難度大。
發(fā)明內(nèi)容
為此,本發(fā)明所要解決的是索引功能在一個(gè)或者多個(gè)索引服務(wù)器中執(zhí)行帶來(lái)的檢索服務(wù)器資源不足和修復(fù)難度大的技術(shù)問(wèn)題,提供一種海量數(shù)據(jù)信息索引系統(tǒng)和索引構(gòu)建方法。為解決上述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案如下—種海量數(shù)據(jù)信息索引系統(tǒng),包括,數(shù)據(jù)分發(fā)服務(wù)器機(jī)群,包括多臺(tái)數(shù)據(jù)分發(fā)服務(wù)器,用于將需要?jiǎng)?chuàng)建的數(shù)據(jù)拆分并分發(fā);創(chuàng)建數(shù)據(jù)索引服務(wù)器機(jī)群,包括多臺(tái)創(chuàng)建數(shù)據(jù)索引服務(wù)器,各所述創(chuàng)建數(shù)據(jù)索引服務(wù)器分別接收所述數(shù)據(jù)分發(fā)服務(wù)器分發(fā)的數(shù)據(jù)并為所述數(shù)據(jù)創(chuàng)建索引;檢索服務(wù)器機(jī)群,包括多臺(tái)檢索服務(wù)器,接收所述創(chuàng)建數(shù)據(jù)索引服務(wù)器創(chuàng)建的所述索引并根據(jù)檢索條件對(duì)數(shù)據(jù)索引進(jìn)行檢索; 合并檢索結(jié)果服務(wù)器機(jī)群,包括多臺(tái)合并檢索結(jié)果服務(wù)器,接收檢索條件,接收并合并所述檢索服務(wù)器檢出的結(jié)果。每個(gè)所述檢索服務(wù)器均包括一個(gè)備份區(qū),用于備份該檢索服務(wù)器檢索出的數(shù)據(jù)。還包括備份數(shù)據(jù)服務(wù)器機(jī)群,包括多臺(tái)備份數(shù)據(jù)服務(wù)器,接收并備份所述數(shù)據(jù)分發(fā)服務(wù)器、所述創(chuàng)建數(shù)據(jù)索引服務(wù)器、所述檢索服務(wù)器和所述合并檢索結(jié)果服務(wù)器上的數(shù)據(jù)。所述創(chuàng)建數(shù)據(jù)索引服務(wù)器創(chuàng)建的索引類型為倒排索引。所述數(shù)據(jù)分發(fā)服務(wù)器存儲(chǔ)有一個(gè)實(shí)現(xiàn)數(shù)據(jù)分發(fā)功能的分發(fā)文件,所述分發(fā)文件記錄有所有創(chuàng)建數(shù)據(jù)索引服務(wù)器、檢索服務(wù)器和合并檢索結(jié)果服務(wù)器的位置和信息。所述分發(fā)文件為XML文件。同時(shí),提供一種海量數(shù)據(jù)信息索引的構(gòu)建方法,包括如下步驟①將檢索用服務(wù)器按照功能劃分為數(shù)據(jù)分發(fā)服務(wù)器、創(chuàng)建數(shù)據(jù)索引服務(wù)器、用于檢索服務(wù)器和用于合并檢索結(jié)果服務(wù)器,按照檢索的功能的計(jì)算量配備完成每一個(gè)功能的服務(wù)器數(shù)量;
②將需要建立索引的數(shù)據(jù)以文件的形式放置在數(shù)據(jù)分發(fā)服務(wù)器上;運(yùn)行建立索引腳本,按照創(chuàng)建數(shù)據(jù)索引服務(wù)器的數(shù)量將文件拆分,并分發(fā)到各個(gè)創(chuàng)建數(shù)據(jù)索引服務(wù)器;③創(chuàng)建數(shù)據(jù)索引服務(wù)器接收文件,并為該文件建立索引,并和之前建立過(guò)的索引進(jìn)行合并,最后將新建的索引傳輸?shù)綑z索服務(wù)器上;④檢索條件發(fā)送到合并檢索結(jié)果服務(wù)器;⑤檢索結(jié)果服務(wù)器將檢索條件發(fā)送到所有檢索服務(wù)器上;⑥檢索服務(wù)器接收檢索條件并對(duì)已建立的索引進(jìn)行檢索,將檢索結(jié)果返回給合并檢索結(jié)果服務(wù)器;⑦合并檢索結(jié)果服務(wù)器接收到所有檢索結(jié)果數(shù)據(jù)后進(jìn)行數(shù)據(jù)合并,并將合并后的檢索結(jié)果返回給檢索用戶。所述步驟中還包括備份各個(gè)步驟中產(chǎn)生的數(shù)據(jù)的步驟。所述步驟③中創(chuàng)建的索引為倒排索引。所述步驟①中通過(guò)在數(shù)據(jù)分發(fā)服務(wù)器上存儲(chǔ)有一個(gè)記錄數(shù)據(jù)分發(fā)服務(wù)器、創(chuàng)建數(shù)據(jù)索引服務(wù)器、檢索服務(wù)器和合并檢索結(jié)果服務(wù)器位置信息的分發(fā)文件,實(shí)現(xiàn)各服務(wù)器功能的劃分。分發(fā)文件為XML文件,執(zhí)行過(guò)程中,XML文件通過(guò)解析,將各個(gè)功能的信息通過(guò)SSH技術(shù)分發(fā)到XML文件上指定的服務(wù)器上。所述各步驟之間通過(guò)http協(xié)議實(shí)現(xiàn)傳輸。本發(fā)明的上述技術(shù)方案相比現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn)本發(fā)明的海量數(shù)據(jù)信息索引系統(tǒng)和方法,根據(jù)索引過(guò)程中需要完成的功能對(duì)服務(wù)器進(jìn)行分配,配置不同的服務(wù)器用于完成不同檢索功能,避免搶資源;同時(shí),使得每臺(tái)服務(wù)器的職責(zé)更加明確;可根據(jù)不同功能的特性對(duì)不同的服務(wù)器機(jī)群進(jìn)行特定配置,便于提高檢索效率;檢索的過(guò)程中一旦出錯(cuò),可根據(jù)出錯(cuò)原因快速定位出出錯(cuò)的服務(wù)器,便于維修維護(hù),降低維修和使用成本。
為了使本發(fā)明的內(nèi)容更容易被清楚的理解,下面根據(jù)本發(fā)明的具體實(shí)施例并結(jié)合附圖,對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明,其中圖I為發(fā)明一個(gè)實(shí)施例的海量數(shù)據(jù)信息索引系統(tǒng)的結(jié)構(gòu)示意其中,附圖標(biāo)記表示為I-數(shù)據(jù)分發(fā)服務(wù)器,2-創(chuàng)建數(shù)據(jù)索引服務(wù)器,3-檢索服務(wù)器,4-合并檢索結(jié)果服務(wù)器。
具體實(shí)施例方式參見(jiàn)圖I所示為本發(fā)明一個(gè)實(shí)施例的海量數(shù)據(jù)信息索引系統(tǒng),包括,數(shù)據(jù)分發(fā)服務(wù)器機(jī)群,包括兩臺(tái)數(shù)據(jù)分發(fā)服務(wù)器1,用于將需要?jiǎng)?chuàng)建的數(shù)據(jù)拆分并分發(fā)給創(chuàng)建數(shù)據(jù)索引服務(wù)器2 ;創(chuàng)建數(shù)據(jù)索引服務(wù)器機(jī)群,包括四臺(tái)創(chuàng)建數(shù)據(jù)索引服務(wù)器2,接收所述數(shù)據(jù)分發(fā)服務(wù)器I分發(fā)的數(shù)據(jù)并為所述數(shù)據(jù)創(chuàng)建倒排索引;其中,倒排索引源于實(shí)際應(yīng)用中需要根據(jù)屬性的值來(lái)查找記錄,這種索引表中的每一項(xiàng)都包括一個(gè)屬性值和具有該屬性值的各記錄地址,由于不是由記錄來(lái)確定屬性值,而是由屬性那個(gè)值來(lái)確定記錄的位置,因而為倒排索弓I ;檢索服務(wù)器機(jī)群,包括四臺(tái)檢索服務(wù)器3,接收所述創(chuàng)建數(shù)據(jù)索引服務(wù)器2創(chuàng)建的 所述數(shù)據(jù)索引并根據(jù)檢索條件對(duì)數(shù)據(jù)索引進(jìn)行檢索,每臺(tái)所述檢索服務(wù)器3均包括一個(gè)備份區(qū),用于存儲(chǔ)該檢索服務(wù)器3檢索出的數(shù)據(jù);合并檢索結(jié)果服務(wù)器機(jī)群,包括兩臺(tái)合并檢索結(jié)果服務(wù)器4,接收所述檢索服務(wù)器3索出的結(jié)果并對(duì)所述結(jié)果進(jìn)行合并。作為上述實(shí)施例的一個(gè)變形,該系統(tǒng)還包括備份數(shù)據(jù)服務(wù)器機(jī)群,其包括兩臺(tái)備份數(shù)據(jù)服務(wù)器,接收所述數(shù)據(jù)分發(fā)服務(wù)器I、所述創(chuàng)建數(shù)據(jù)索引服務(wù)器2、所述檢索服務(wù)器3和所述合并檢索結(jié)果服務(wù)器4上的數(shù)據(jù)并備份,所述檢索服務(wù)器3不具備備份功能,其他同上述實(shí)施例;同樣能實(shí)現(xiàn)本發(fā)明的目的,屬于本發(fā)明的保護(hù)范圍。上述實(shí)施例中的XML文件可以為YAML (YAML Ain’t Markup Language,意為YAML不是一種標(biāo)記語(yǔ)言)文件或者JSON (英文全稱為JavaScriptObject Notation,意為數(shù)據(jù)交換語(yǔ)目)文件。本發(fā)明上述實(shí)施例的海量數(shù)據(jù)信息索引系統(tǒng),可根據(jù)完成不同功能的需要的工作量的多少配備相應(yīng)的服務(wù)器數(shù)量,保證資源利用最大化,便于提高檢索效率;同時(shí),不同功能由不同的服務(wù)器完成也避免了搶資源現(xiàn)象;檢索的過(guò)程中一旦出錯(cuò),可根據(jù)出錯(cuò)原因快速定位出出錯(cuò)的服務(wù)器,便于維修維護(hù),降低維修和使用成本;而且,本發(fā)明中上述系統(tǒng)可根據(jù)檢索的工作量動(dòng)態(tài)增加相應(yīng)功能的服務(wù)器,動(dòng)態(tài)擴(kuò)展性強(qiáng)。同時(shí)本發(fā)明提供一種上述實(shí)施例的海量數(shù)據(jù)信息索引的構(gòu)建方法,其包括如下步驟①在數(shù)據(jù)分發(fā)服務(wù)器I上存儲(chǔ)有一個(gè)記錄數(shù)據(jù)分發(fā)服務(wù)器I、創(chuàng)建數(shù)據(jù)索引服務(wù)器2、檢索服務(wù)器3和合并檢索結(jié)果服務(wù)器4位置信息的XML文件,將檢索用服務(wù)器按照功能劃分為數(shù)據(jù)分發(fā)服務(wù)器I、創(chuàng)建數(shù)據(jù)索引服務(wù)器2、用于檢索服務(wù)器3和用于合并檢索結(jié)果服務(wù)器4,按照檢索的功能的計(jì)算量配備完成每一個(gè)功能的服務(wù)器數(shù)量;本實(shí)施例中,包括兩臺(tái)數(shù)據(jù)分發(fā)服務(wù)器I、四臺(tái)創(chuàng)建數(shù)據(jù)索引服務(wù)器2、四臺(tái)檢索服務(wù)器3、兩臺(tái)合并檢索結(jié)果服務(wù)器4和兩臺(tái)備份數(shù)據(jù)服務(wù)器;執(zhí)行過(guò)程中,XML文件通過(guò)解析,將各個(gè)功能的信息通過(guò)SSH技術(shù)分發(fā)到XML文件上指定的服務(wù)器上;其中,XML,英文全稱為Extensible MarkupLanguage,意為可擴(kuò)展標(biāo)記語(yǔ)言,SSH,英文全稱為Secure Shell意為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議;上述SSH可為現(xiàn)行任何一種傳輸協(xié)議代替,比如http傳輸協(xié)議,選用SSH相對(duì)簡(jiǎn)單、安全;②將需要建立索引的數(shù)據(jù)以文件的形式放置在數(shù)據(jù)分發(fā)服務(wù)器I上;運(yùn)行建立索引腳本,按照創(chuàng)建數(shù)據(jù)索引服務(wù)器2的數(shù)量將文件分開(kāi),并將每條數(shù)據(jù)通過(guò)“http”請(qǐng)求的方式分發(fā)到各個(gè)創(chuàng)建數(shù)據(jù)索引服務(wù)器2 ;其中,http,英文全稱為hypertext transportprotocol,意為超文本傳送協(xié)議;其中,需要?jiǎng)?chuàng)建索引的數(shù)據(jù)進(jìn)行格式化處理,具體是在數(shù)據(jù)分發(fā)服務(wù)器I上定義一個(gè)數(shù)據(jù)的構(gòu)架,定義需要?jiǎng)?chuàng)建索引的數(shù)據(jù)的列信息(包括名稱和類型),這其中包括一個(gè)ID屬性,以區(qū)分每 一個(gè)記錄;上述http也可用現(xiàn)有技術(shù)中的任何一種傳輸協(xié)議代替,比如ftp ;其中,ftp,英文全稱為File TransferProtocol,意為文件傳輸協(xié)議;③創(chuàng)建數(shù)據(jù)索引服務(wù)器2接收文件,并為該文件建立倒排索引,并和之前建立過(guò)的索引進(jìn)行合并,最后將新建的索引通過(guò)“http”請(qǐng)求的方式傳輸?shù)綑z索服務(wù)器3上;④檢索條件發(fā)送到合并檢索結(jié)果服務(wù)器4,其中,需要檢索的數(shù)據(jù)必須是格式化數(shù)據(jù);⑤合并檢索結(jié)果服務(wù)器4將檢索條件通過(guò)“http”請(qǐng)求的方式發(fā)送到所有檢索服務(wù)器3上;⑥檢索服務(wù)器3接收檢索條件并對(duì)已建立的索引進(jìn)行檢索,將檢索結(jié)果返回給合并檢索結(jié)果服務(wù)器4,同時(shí)將檢索結(jié)果在檢索服務(wù)器3上備份;⑦合并檢索結(jié)果服務(wù)器4接收到所有“http”響應(yīng)的檢索結(jié)果數(shù)據(jù)后進(jìn)行數(shù)據(jù)合并,并將合并后的檢索結(jié)果返回給檢索用戶。作為上述方法的一個(gè)變形,任何一個(gè)服務(wù)器上的數(shù)據(jù)在發(fā)生改變時(shí),均將發(fā)生改變的索引數(shù)據(jù),通過(guò)“http”請(qǐng)求的方式傳輸?shù)絺浞莘?wù)器上,以防止數(shù)據(jù)丟失。下面結(jié)合一個(gè)具體的實(shí)施例對(duì)本發(fā)明的海量數(shù)據(jù)信息索引系統(tǒng)和構(gòu)建方法進(jìn)行詳細(xì)說(shuō)明以一個(gè)實(shí)際需要處理的文件舉例,文件中含有100條數(shù)據(jù),現(xiàn)在海量數(shù)據(jù)信息索引系統(tǒng)有五臺(tái)創(chuàng)建數(shù)據(jù)索引服務(wù)器2,五臺(tái)檢索服務(wù)器3,一臺(tái)數(shù)據(jù)分發(fā)服務(wù)器I和一臺(tái)合并檢索結(jié)果服務(wù)器4:創(chuàng)建索引用戶建立索引的具體過(guò)程如下需要將文件放置在數(shù)據(jù)分發(fā)服務(wù)器I上,然后在數(shù)據(jù)分發(fā)服務(wù)器I上進(jìn)入程序放置根目錄,并執(zhí)行建立索引命令“shbin/distdaemon. shpost {放置文件位置} ”。數(shù)據(jù)分發(fā)服務(wù)器I會(huì)通過(guò)執(zhí)行命令參數(shù),找到該文件,并通過(guò)“索引拆分”模塊,將這個(gè)文件拆分成為五份,每一份“索引數(shù)據(jù)塊”都會(huì)含有20條數(shù)據(jù)。當(dāng)數(shù)據(jù)分發(fā)服務(wù)器I通過(guò)“索引拆分”模塊將文件拆分完成后,會(huì)將五份“索引數(shù)據(jù)塊”依次分發(fā)到五臺(tái)創(chuàng)建數(shù)據(jù)索引服務(wù)器2上。以單個(gè)創(chuàng)建數(shù)據(jù)索引服務(wù)器2為例(其余創(chuàng)建數(shù)據(jù)索引服務(wù)器2的處理方式一致),當(dāng)其中一個(gè)創(chuàng)建數(shù)據(jù)索引服務(wù)器2接收到數(shù)據(jù)分發(fā)服務(wù)器I發(fā)送給它的“索引數(shù)據(jù)塊”(其中含有20條數(shù)據(jù))之后,會(huì)將該“索引數(shù)據(jù)塊”根據(jù)之前定義的“架構(gòu)”(schema)文件定義的列名和類型進(jìn)行拆分,得到類似一個(gè)HASH(意為散列)形式的數(shù)組,比如schema文件定義第一列是文件名(filename)、第二列是文件大小(filesize),“索引數(shù)據(jù)快”得到的第一列是fileOl,第二列是1000M,那么經(jīng)過(guò)數(shù)據(jù)拆分會(huì)得到一個(gè)數(shù)組“{
=>{‘filename’ => ‘fileOl’,‘filesize’=〉‘ 1000M’,[I] => {…},…,[20] => {…}}} ”。之后會(huì)將得到的這個(gè)hash形式的數(shù)組,通過(guò)倒排算法生成為“倒排數(shù)據(jù)索引”。如hash 的數(shù)據(jù)格式是{‘001,=>{‘filename,=>‘file0r,‘f ilesize,=〉‘ 1000M,},‘002,=>{ ‘filename’=YfileC^, <filesize,=><1000M,}) ···, ,020,=>{<filename,=><file20,) <filesize,=><-1000M’}},那么通過(guò)“倒排”完成后的格式應(yīng)為{‘filename’=>{‘file01’=>{‘001’},‘fileO2’=>{‘002’},‘file20’=>{‘020’}},‘filesize’=〉{‘1000M’=>{‘001’,‘002’,‘020’}},…}。創(chuàng)建數(shù)據(jù)索引服務(wù)器2生成倒排索引后,經(jīng)過(guò)“合并索弓丨”可以將新建立的索引合并到已有的索引中。 最后將新建立的索引通過(guò)“http”協(xié)議的方式同步到檢索服務(wù)器3中。檢索用戶檢索索引數(shù)據(jù)的具體過(guò)程如下檢索用戶通過(guò)向合并檢索結(jié)果服務(wù)器4發(fā)送檢索請(qǐng)求,比如檢索用戶發(fā)送檢索文件大小(filesize)為1000M的所有文件。則用戶會(huì)發(fā)送一個(gè)http://{merger-host}/{port} / {path} / {fn} q=f ilesize%3A1000M 的請(qǐng)求。創(chuàng)建索引服務(wù)器接收到用戶發(fā)送的請(qǐng)求后,將該請(qǐng)求分別發(fā)送給五臺(tái)檢索服務(wù)器3如http://{slave-host}/{port}/{path}/{fn} q=filesize%3A1000M。以單個(gè)檢索服務(wù)器3為例(其余檢索服務(wù)器3的處理方式一致),接受到創(chuàng)建數(shù)據(jù)索引服務(wù)器2發(fā)送的請(qǐng)求后,通過(guò)解析請(qǐng)求獲得filesize等于1000M的檢索條件。通過(guò)該條件到已存在的“倒排數(shù)據(jù)索引”中檢索數(shù)據(jù)。比如會(huì)得到{ ‘001’=>{ ‘filenaiB’=>‘file0r,‘filesize’=>‘l(XXM’},‘002’=>{‘filenaiB’=>‘file02’,‘filesize’=>‘1000M’},,020’=>{‘filename’=〉‘file20’,‘filesize’=〉‘1000M’}}的結(jié)果,并將結(jié)果返回給合并檢索結(jié)果服務(wù)器4。合并檢索結(jié)果服務(wù)器4得到五臺(tái)檢索服務(wù)器3返回的數(shù)據(jù),將他們合并排序等。合并完成后,將結(jié)果返回給客戶,檢索完成。經(jīng)過(guò)實(shí)際測(cè)試 一臺(tái)數(shù)據(jù)分發(fā)服務(wù)器I和三臺(tái)創(chuàng)建數(shù)據(jù)索引服務(wù)器2,建5000萬(wàn)條數(shù)據(jù)索引,每條數(shù)據(jù)大概有20-30個(gè)數(shù)據(jù)特征,花費(fèi)30分鐘可以完成創(chuàng)建索引的工作;—臺(tái)合并檢索結(jié)果服務(wù)器4、五臺(tái)檢索服務(wù)器3,共有一億條左右的索引,一百個(gè)用戶并發(fā)檢索,檢索條件包括檢索范圍,排序等復(fù)雜條件,平均響應(yīng)在三秒以內(nèi)。顯然,上述實(shí)施例僅僅是為清楚地說(shuō)明所作的舉例,而并非對(duì)實(shí)施方式的限定。對(duì)于所屬領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在上述說(shuō)明的基礎(chǔ)上還可以做出其它不同形式的變化或變動(dòng)。這里無(wú)需也無(wú)法對(duì)所有的實(shí)施方式予以窮舉。而由此所引伸出的顯而易見(jiàn)的變化或變動(dòng)仍處于本發(fā)明創(chuàng)造的保護(hù)范圍之中。
權(quán)利要求
1.一種海量數(shù)據(jù)信息索引系統(tǒng),其特征在于包括, 數(shù)據(jù)分發(fā)服務(wù)器機(jī)群,包括多臺(tái)數(shù)據(jù)分發(fā)服務(wù)器,用于將需要?jiǎng)?chuàng)建的數(shù)據(jù)拆分并分發(fā); 創(chuàng)建數(shù)據(jù)索引服務(wù)器機(jī)群,包括多臺(tái)創(chuàng)建數(shù)據(jù)索引服務(wù)器,各所述創(chuàng)建數(shù)據(jù)索引服務(wù)器分別接收所述數(shù)據(jù)分發(fā)服務(wù)器分發(fā)的數(shù)據(jù)并為所述數(shù)據(jù)創(chuàng)建索引; 檢索服務(wù)器機(jī)群,包括多臺(tái)檢索服務(wù)器,接收所述創(chuàng)建數(shù)據(jù)索引服務(wù)器創(chuàng)建的所述索引并根據(jù)檢索條件對(duì)數(shù)據(jù)索引進(jìn)行檢索; 合并檢索結(jié)果服務(wù)器機(jī)群,包括多臺(tái)合并檢索結(jié)果服務(wù)器,接收并合并所述檢索服務(wù)器檢出的結(jié)果。
2.根據(jù)權(quán)利要求I所述的一種海量數(shù)據(jù)信息索引系統(tǒng),其特征在于每個(gè)所述檢索服務(wù)器均包括一個(gè)備份區(qū),用于備份該檢索服務(wù)器檢索出的數(shù)據(jù)。
3.根據(jù)權(quán)利要求I所述的一種海量數(shù)據(jù)信息索引系統(tǒng),其特征在于還包括備份數(shù)據(jù)服務(wù)器機(jī)群,包括多臺(tái)備份數(shù)據(jù)服務(wù)器,接收并備份所述數(shù)據(jù)分發(fā)服務(wù)器、所述創(chuàng)建數(shù)據(jù)索引服務(wù)器、所述檢索服務(wù)器和所述合并檢索結(jié)果服務(wù)器上的數(shù)據(jù)。
4.根據(jù)權(quán)利要求1-3任一所述的一種海量數(shù)據(jù)信息索引系統(tǒng),其特征在于所述創(chuàng)建數(shù)據(jù)索引服務(wù)器創(chuàng)建的索引類型為倒排索引。
5.根據(jù)權(quán)利要求1-4任一所述的一種海量數(shù)據(jù)信息索引系統(tǒng),其特征在于所述數(shù)據(jù)分發(fā)服務(wù)器存儲(chǔ)有一個(gè)實(shí)現(xiàn)數(shù)據(jù)分發(fā)功能的分發(fā)文件,所述分發(fā)文件記錄有所有創(chuàng)建數(shù)據(jù)索引服務(wù)器、檢索服務(wù)器和合并檢索結(jié)果服務(wù)器的位置和信息。
6.根據(jù)權(quán)利要求5所述的一種海量數(shù)據(jù)信息索引系統(tǒng),其特征在于所述分發(fā)文件為XML文件。
7.—種如權(quán)利要求1-6任一所述海量數(shù)據(jù)信息索引的構(gòu)建方法,其特征在于,包括如下步驟 ①將檢索用服務(wù)器按照功能劃分為數(shù)據(jù)分發(fā)服務(wù)器、創(chuàng)建數(shù)據(jù)索引服務(wù)器、用于檢索服務(wù)器和用于合并檢索結(jié)果服務(wù)器,按照檢索的功能的計(jì)算量配備完成每一個(gè)功能的服務(wù)器數(shù)量; ②將需要建立索引的數(shù)據(jù)以文件的形式放置在數(shù)據(jù)分發(fā)服務(wù)器上; 運(yùn)行建立索引腳本,按照創(chuàng)建數(shù)據(jù)索引服務(wù)器的數(shù)量將文件拆分,并分發(fā)到各個(gè)創(chuàng)建數(shù)據(jù)索引服務(wù)器; ③創(chuàng)建數(shù)據(jù)索引服務(wù)器接收文件,并為該文件建立索引,并和之前建立過(guò)的索引進(jìn)行合并,最后將新建的索引傳輸?shù)綑z索服務(wù)器上; ④檢索條件發(fā)送到合并檢索結(jié)果服務(wù)器; ⑤檢索結(jié)果服務(wù)器將檢索條件發(fā)送到所有檢索服務(wù)器上; ⑥檢索服務(wù)器接收檢索條件并對(duì)已建立的索引進(jìn)行檢索,將檢索結(jié)果返回給合并檢索結(jié)果服務(wù)器; ⑦合并檢索結(jié)果服務(wù)器接收到所有檢索結(jié)果數(shù)據(jù)后進(jìn)行數(shù)據(jù)合并,并將合并后的檢索結(jié)果返回給檢索用戶。
8.根據(jù)權(quán)利要求7所述的海量數(shù)據(jù)信息索引構(gòu)建方法,其特征在于所述步驟中還包括備份各個(gè)步驟中產(chǎn)生的數(shù)據(jù)的步驟。
9.根據(jù)權(quán)利要求7或8所述的海量數(shù)據(jù)信息索引構(gòu)建方法,其特征在于所述步驟③中創(chuàng)建的索引為倒排索引。
10.根據(jù)權(quán)利要求7-9任一所述的海量數(shù)據(jù)信息索引構(gòu)建方法,其特征在于所述步驟①中通過(guò)在數(shù)據(jù)分發(fā)服務(wù)器上存儲(chǔ)有一個(gè)記錄數(shù)據(jù)分發(fā)服務(wù)器、創(chuàng)建數(shù)據(jù)索引服務(wù)器、檢索服務(wù)器和合并檢索結(jié)果服務(wù)器位置信息的分發(fā)文件,實(shí)現(xiàn)各服務(wù)器功能的劃分。
11.根據(jù)權(quán)利要求10所述的海量數(shù)據(jù)信息索引構(gòu)建方法,其特征在于分發(fā)文件為XML文件,執(zhí)行過(guò)程中,XML文件通過(guò)解析,將各個(gè)功能的信息通過(guò)SSH技術(shù)分發(fā)到XML文件上指定的服務(wù)器上。
12.根據(jù)權(quán)利要求7-11任一所述的海量數(shù)據(jù)信息索引構(gòu)建方法,其特征在于所述各步驟之間通過(guò)http協(xié)議實(shí)現(xiàn)傳輸。
全文摘要
本發(fā)明涉及一種海量數(shù)據(jù)信息索引系統(tǒng)和構(gòu)建方法,其包括,數(shù)據(jù)分發(fā)服務(wù)器機(jī)群,包括多臺(tái)數(shù)據(jù)分發(fā)服務(wù)器,用于將需要?jiǎng)?chuàng)建的數(shù)據(jù)拆分并分發(fā)給創(chuàng)建數(shù)據(jù)索引服務(wù)器;創(chuàng)建數(shù)據(jù)索引服務(wù)器機(jī)群,包括多臺(tái)創(chuàng)建數(shù)據(jù)索引服務(wù)器,接收數(shù)據(jù)分發(fā)服務(wù)器分發(fā)的數(shù)據(jù)并為數(shù)據(jù)創(chuàng)建索引;檢索服務(wù)器機(jī)群,包括多臺(tái)檢索服務(wù)器,接收創(chuàng)建數(shù)據(jù)索引服務(wù)器創(chuàng)建的索引并對(duì)數(shù)據(jù)索引進(jìn)行檢索;合并檢索結(jié)果服務(wù)器機(jī)群,包括多臺(tái)合并檢索結(jié)果服務(wù)器,接收檢索條件,接收并合并檢索服務(wù)器索出的結(jié)果。根據(jù)索引過(guò)程中需要完成的功能對(duì)服務(wù)器進(jìn)行分配,避免搶資源;檢索的過(guò)程中一旦出錯(cuò),可根據(jù)出錯(cuò)原因快速定位出出錯(cuò)的服務(wù)器,便于維修維護(hù),降低維修和使用成本。
文檔編號(hào)G06F17/30GK102779160SQ201210199729
公開(kāi)日2012年11月14日 申請(qǐng)日期2012年6月14日 優(yōu)先權(quán)日2012年6月14日
發(fā)明者葉嘉明, 安旭, 陳德全 申請(qǐng)人:中金數(shù)據(jù)系統(tǒng)有限公司