[發明專利]一種高可用分布式全文索引方法有效
| 申請號: | 201210226357.2 | 申請日: | 2012-06-29 |
| 公開(公告)號: | CN102779185A | 公開(公告)日: | 2012-11-14 |
| 發明(設計)人: | 陳嶺;魯偉明;余斌 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 周烽 |
| 地址: | 310058 浙江*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 可用 分布式 全文 索引 方法 | ||
技術領域
本發明涉及信息索引和搜索領域,更具體而言,涉及一種針對海量文本數據構建分布式全文索引并且提供高可用的查詢服務的方法。
背景技術
隨著互聯網的發展,尤其是Web2.0的出現,文本信息量呈指數級速度增長。用戶希望能夠有效的管理海量文本數據,并對這些文本進行快速的搜索得到相應的信息。
Google,百度,必應等搜索引擎的出現,滿足了用戶對于信息搜索的需求。而搜索引擎所采用的核心技術就是通過網絡爬蟲收集網絡中的各類數據信息,對這些數據進行索引,然后對外提供查詢服務。由于隨著數據信息的不斷增長,所建立的索引文件規模大小也隨之增長,導致單機服務器已經無法保存所有的索引文件。此外,建立單一巨大的索引文件所耗費的時間以及在該索引文件上執行查詢的時間也不斷增加,導致無法滿足海量客戶查詢需求。一個可行方案是將單個索引文件切分成多個索引分片,并將每一個索引分片分布存儲在不同的主機上,最后對外提供索引服務。然而通過對業界所采取的若干方案研究,發現這些方案都存在以下幾個突出的缺點:
1、索引與查詢服務是相關聯的,即索引服務建立的本地索引文件直接為查詢提供服務。然而,查詢與索引集群的緊耦合導致二者不可分離,在容錯性和系統復雜性上發生故障的可能性大大增加。
2、常見的分布式索引系統采取索引分片或者索引復制的方法來增加分布式索引擴展性以及可用性。然而,它們所采用的分片策略通常是按照數據的屬性來劃分,因此產生固定數目的索引分片,而每一個索引分片的大小卻急劇增大。此外,另一些分布式索引系統按固定大小劃分索引,在查詢過程中需要對所有的索引分片進行查詢,增加查詢的時間以及網絡的開銷。
3、一般而言分布式索引系統都是為了滿足特定的需求,不能支持動態對不同類別的數據進行索引操作。因此如果需要對新的索引域進行索引,需要停止分布式索引集群,重新部署索引任務,重啟索引集群以重新建立相應的索引。
4、當前的分布式索引系統采用多節點備份實現系統容災。當索引集群的節點發生故障的,使用系統中其它節點的備份對其進行恢復,然而如果這些存在備份的節點同時發生故障,那么失效節點上的索引就無法正常恢復。
通過以上的分析,可以知道當前的分布式索引系統中存在諸多問題。
發明內容
本發明的目的在于針對現有技術的不足,提供一種高可用分布式全文索引方法
本發明的目的是通過以下技術方案來實現的:一種高可用分布式全文索引方法,該方法包括以下步驟:
(1)啟動基礎服務系統,包括分布式文件系統、分布式列式數據庫以及元數據目錄服務;所述分布式文件系統用于存儲索引節點建立的索引文件,同時為查詢集群中的節點提供索引文件;所述分布式列式數據庫用于提供本發明中的操作日志服務,操作日志存儲本發明執行的各項操作,此外,分布式列式數據庫還用于存儲原始全文數據文件,分布式列式數據庫應支持按列存儲數據;元數據目錄服務實現元數據的存儲;
(2)在各個節點上啟動索引集群服務和查詢集群服務,其中,索引集群服務包括索引主節點服務和索引節點服務,查詢集群服務包括查詢主節點服務和查詢節點服務;該步驟具體為:首先,索引主節點和搜索主節點分別啟動,進入安全模式,并分別掃描并監聽元數據目錄中索引節點和查詢節點目錄節點,以分別管理這些目錄下的節點;其次,索引節點和查詢節點啟動,并將自身的信息注冊到元數據節點目錄之上,此時索引主節點和搜索主節點監聽到消息,將新加入的節點納入自身管理之中;最后,如果在安全模式下,節點不在發生變化,那么退出安全模式;至此完成了整個分布式全文索引系統啟動的過程;
(3)在全文數據上創建索引、更新索引、刪除索引;其中,創建索引包括增量式創建索引和批量式創建索引;該步驟通過以下子步驟來實現:
(3.1)所述的增量式創建索引,需要用戶在索引任務定義中將創建索引的模式設置為增量式模式;增量式創建索引的過程包括:
(3.1.1)當數據插入到存儲系統中,觸發增量建立索引的任務,索引主節點通過反射機制實例化索引任務定義中的索引分片策略,判定該數據的索引歸屬于哪一個索引分片,此后從元數據目錄中讀取索引分片與索引節點的映射關系,找到負責建立該索引分片的索引節點;最后將節點ID寫入到消息中;
(3.1.2)索引主節點將3.1.1生成的消息通過遠程調用的方式將該消息隨機塞到任意一個索引節點的本地消息隊列中;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210226357.2/2.html,轉載請聲明來源鉆瓜專利網。





