專利名稱:一種創(chuàng)建索引的方法和創(chuàng)建索引的裝置的制作方法
技術領域:
本發(fā)明涉及索引技術,更具體地說,涉及一種創(chuàng)建索引的方法和創(chuàng)建索引的裝置。
背景技術:
隨著數字化信息存儲技術的日漸成熟,信息的全文檢索得到了廣泛的應用。從互 聯網搜索引擎,到圖書館圖書搜索,信息全文檢索技術的應用隨處可見。 面對龐大的信息庫,為提高全文檢索的效率,往往需要對信息構建索引。以互聯網 搜索引擎為例,搜索引擎公司必須對每天挖掘的大量網頁數據構建索引,才能保障每日數 以千萬計的網頁搜索請求得到快速的響應。 然而,現有索引構建方法往往需要占用大量的系統資源,對于大型數據庫而言,往 往需要配置專門的索引設備來執(zhí)行索引構建任務。 因此,需要一種索引構建方案,能夠有效克服現有索引構建方法存在的上述缺陷。
發(fā)明內容
本發(fā)明要解決的技術問題在于,針對現有索引構建方案占用系統資源過多的缺 陷,提供一種創(chuàng)建索引的方法和創(chuàng)建索引的裝置。
本發(fā)明解決其技術問題所采用的技術方案是
構造一種創(chuàng)建索引的方法,包括 Sl、接收索引更新命令,提取其中包含的業(yè)務標識,在該業(yè)務標識對應的源目錄下 讀取源業(yè)務文件; S2、在判定讀取的源業(yè)務文件與該業(yè)務標識對應的目標目錄下的目標業(yè)務文件不 同時,依據所述源業(yè)務文件對所述目標業(yè)務文件進行更新; S3、為更新后的目標業(yè)務文件生成索引文件,依據該索引文件對所述業(yè)務標識對 應的索引文件目錄下的索引文件進行更新。 在本發(fā)明提供的創(chuàng)建索引的方法中,所述索引更新命令在到達所述業(yè)務標識對應 的索引更新時間時被觸發(fā)。 在本發(fā)明提供的創(chuàng)建索引的方法中,在所述步驟S2中,在判定所述源業(yè)務文件的 MD5校驗值與所述目標業(yè)務文件的MD5校驗值不同時,判定所述源業(yè)務文件與所述目標業(yè) 務文件不同。 在本發(fā)明提供的創(chuàng)建索引的方法中,在所述步驟S2中,在判定所述源業(yè)務文件的 修改時間與所述目標業(yè)務文件的修改時間不同時,判定所述源業(yè)務文件與所述目標業(yè)務文 件不同。 在本發(fā)明提供的創(chuàng)建索引的方法中,在所述步驟S2中,在判定所述源業(yè)務文件的 文件大小與所述目標業(yè)務文件的文件大小不同時,判定所述源業(yè)務文件與所述目標業(yè)務文 件不同。 本發(fā)明還提供了一種創(chuàng)建索引的裝置,包括
接收模塊,用于接收索引更新命令,提取其中包含的業(yè)務標識; 讀取模塊,用于在該業(yè)務標識對應的源目錄下讀取源業(yè)務文件; 業(yè)務文件更新模塊,用于在判定讀取的源業(yè)務文件與該業(yè)務標識對應的目標目錄
下的目標業(yè)務文件不同時,依據所述源業(yè)務文件對所述目標業(yè)務文件進行更新; 索引文件創(chuàng)建模塊,用于為更新后的目標業(yè)務文件生成索引文件,依據該索引文
件對所述業(yè)務標識對應的索引文件目錄下的索引文件進行更新。 在本發(fā)明提供的創(chuàng)建索引的裝置中,所述索引更新命令在到達所述業(yè)務標識對應 的索引更新時間時被觸發(fā)。 在本發(fā)明提供的創(chuàng)建索引的裝置中,所述業(yè)務文件更新模塊用于在判定所述源業(yè) 務文件的MD5校驗值與所述目標業(yè)務文件的MD5校驗值不同時,判定所述源業(yè)務文件與所 述目標業(yè)務文件不同。 在本發(fā)明提供的創(chuàng)建索引的裝置中,所述業(yè)務文件更新模塊用于在判定所述源業(yè) 務文件的修改時間與所述目標業(yè)務文件的修改時間不同時,判定所述源業(yè)務文件與所述目 標業(yè)務文件不同。 在本發(fā)明提供的創(chuàng)建索引的裝置中,所述業(yè)務文件更新模塊用于在判定所述源業(yè) 務文件的文件大小與所述目標業(yè)務文件的文件大小不同時,判定所述源業(yè)務文件與所述目 標業(yè)務文件不同。 實施本發(fā)明的技術方案,具有以下有益效果在本發(fā)明提供的創(chuàng)建索引的方法和 創(chuàng)建索引的裝置中,首先判斷待創(chuàng)建索引的業(yè)務文件是否發(fā)生了變化。基于判斷結果,只有 在業(yè)務文件發(fā)生變化時,才對該業(yè)務文件構建索引。如此一來,便可對業(yè)務文件有選擇的構 建索引,即只對發(fā)生變化的業(yè)務文件創(chuàng)建索引,這樣便可大大降低索引構建工作的執(zhí)行密 度,克服現有索引構建方案占用系統資源過多的缺陷。
下面將結合附圖及實施例對本發(fā)明作進一步說明,附圖中
圖1是依據本發(fā)明一較佳實施例的索引創(chuàng)建方法的流程圖;
圖2是依據本發(fā)明另一較佳實施例的索引創(chuàng)建方法的流程圖;
圖3是依據本發(fā)明一較佳實施例的索引創(chuàng)建裝置的邏輯結構示意圖。
具體實施例方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。 本發(fā)明提供了一種創(chuàng)建索引的方法和創(chuàng)建索引的裝置,可首先判斷待創(chuàng)建索引的 業(yè)務文件是否發(fā)生了變化,再基于判斷結果,在業(yè)務文件發(fā)生變化時,才對該業(yè)務文件構建 索引。如此一來,便可對業(yè)務文件有選擇的構建索引,即只對發(fā)生變化的業(yè)務文件創(chuàng)建索 弓l,這樣便可大大降低索引構建工作的執(zhí)行密度,克服現有索引構建方案占用系統資源過 多的缺陷。下面就結合附圖和具體實施例對本發(fā)明提供的技術方案進行詳細描述。
本發(fā)明提供的技術方案主要用于為業(yè)務提供商提供的業(yè)務創(chuàng)建索引。業(yè)務提供商提供的業(yè)務可概括劃分為多種類型,例如但不限于圖片業(yè)務、小說業(yè)務、音樂業(yè)務、視頻業(yè) 務、游戲業(yè)務、主題業(yè)務、軟件業(yè)務和動漫業(yè)務等等。為便于用戶搜索對應的業(yè)務,服務提供 商需要對其提供的業(yè)務構建索引。而在具體實現過程中,業(yè)務提供商依照業(yè)務的類型來對 屬于該類型的所有業(yè)務構建索引。每項業(yè)務都對應一描述該業(yè)務內容的描述文件。該描述 文件中寫有該項業(yè)務的名稱、類型、簡介、提供商、業(yè)務版本、價格、縮略圖、下載地址、作者、
專輯等多個屬性。在構建索引過程中,對于每個業(yè)務類型,業(yè)務提供商首先生成包含屬于該 業(yè)務類型的所有業(yè)務的屬性文件的業(yè)務文件,并為該業(yè)務文件設置一業(yè)務標識。然后針對 上文所述的屬性(即業(yè)務的名稱、類型、簡介、提供商、業(yè)務版本、價格、縮略圖、下載地址、 作者、專輯等)為該業(yè)務文件構建索引。在具體應用過程中,每類業(yè)務對應的業(yè)務文件一般 僅在該類業(yè)務之中的某些業(yè)務發(fā)生變化(例如某些業(yè)務發(fā)生更新,或者增刪業(yè)務)時才會 更新。 圖1是依據本發(fā)明一較佳實施例的索引創(chuàng)建方法100的流程圖。如圖1所示,方 法100開始于步驟102。 隨后,在下一步驟104,接收索引創(chuàng)建命令,提取其中包含的業(yè)務標識。在接收到新 的業(yè)務文件(例如增加了新的一類業(yè)務導致新增新的業(yè)務文件)時,將觸發(fā)發(fā)出一索引創(chuàng) 建命令(例如操作人員觸發(fā)發(fā)出索引創(chuàng)建命令),該索引創(chuàng)建命令之中包含該新業(yè)務文件 對應的業(yè)務標識。新接收到的業(yè)務文件將作為源業(yè)務文件存儲在該業(yè)務標識對應的源目錄 下,其中源目錄專門用于存儲源業(yè)務文件。 隨后,在下一步驟106,為該業(yè)務標識生成對應的目標目錄和索引文件目錄。在具 體實現過程中,為該業(yè)務標識生成對應的目標目錄和索引文件目錄均可以依據該業(yè)務標識 來命名。 隨后,在下一步驟108,在提取的業(yè)務標識對應的源目錄下讀取源業(yè)務文件。
隨后,在下一步驟IIO,將讀取的源業(yè)務文件作為目標業(yè)務文件存儲到為該業(yè)務標 識生成的目標目錄下。 隨后,在下一步驟112,為該目標業(yè)務文件生成索引文件并存儲到為該業(yè)務標識生 成的索引文件目錄下,其中索引文件目錄專門用于存儲索引文件。有關生成索引文件的具 體內容已經在現有技術之中做了清楚的描述,因此此處不再贅述。
最后,方法100結束于步驟114。 對于每類業(yè)務而言,其業(yè)務范圍和業(yè)務項目可能會發(fā)生變化,由此導致其業(yè)務文 件也發(fā)生變化。在業(yè)務文件發(fā)生變化時,新的業(yè)務文件將覆蓋原有的源業(yè)務文件,即源業(yè)務 文件發(fā)生更新,由此導致源業(yè)務文件與目標業(yè)務文件不同。在這種情況下,需要對該業(yè)務重 新生成索引文件。下面就結合圖2對這一過程進行詳細描述。 圖2是依據本發(fā)明另一較佳實施例的索引創(chuàng)建方法200的流程圖。如圖2所示, 方法200開始于步驟202。 隨后,在下一步驟204,接收索引更新命令,提取其中包含的業(yè)務標識。在具體實現 過程中,索引更新命令可在到達某一類業(yè)務或者某一業(yè)務文件(即業(yè)務標識對應的)的索 引更新時間時被觸發(fā),或者由管理員手動觸發(fā)。 此時,該索引更新命令中包含需要對其索引進行更新的某一類業(yè)務的業(yè)務文件所 對應的業(yè)務標識。CN 隨后,在下一步驟206,在該業(yè)務標識對應的源目錄下讀取源業(yè)務文件。
隨后,在下一步驟208,判斷讀取的源業(yè)務文件與提取的索引標識所對應目標目錄 下的目標業(yè)務文件是否相同,若是,則轉到步驟216,否則轉到步驟210。如上文所述,當業(yè) 務文件發(fā)生變化時,源業(yè)務文件將被更新,由此導致源業(yè)務文件與目標業(yè)務文件不同。
在具體實現過程中,可采用下列方法其中的至少一種來判斷源業(yè)務文件與目標業(yè) 務文件是否相同 分別為源業(yè)務文件和目標業(yè)務文件生成MD5校驗碼,然后判斷源業(yè)務文件和目標 業(yè)務文件的MD5校驗碼是否相同。若二者相同,則源業(yè)務文件與目標業(yè)務文件相同,否則源 業(yè)務文件與目標業(yè)務文件不同; 判斷源業(yè)務文件和目標業(yè)務文件的修改時間是否相同。若二者相同,則源業(yè)務文 件與目標業(yè)務文件相同,否則源業(yè)務文件與目標業(yè)務文件不同; 判斷源業(yè)務文件和目標業(yè)務文件的文件大小是否相同。若二者相同,則源業(yè)務文 件與目標業(yè)務文件相同,否則源業(yè)務文件與目標業(yè)務文件不同。 在具體實現過程中,由于MD5校驗碼與業(yè)務文件存在一一對應的關系,即業(yè)務文 件不同,則其MD5校驗碼也不同。因此,在基于MD5校驗碼來判斷源業(yè)務文件和目標業(yè)務文 件是否相同時的準確性更高。 如上文所述,若在步驟208判定源業(yè)務文件與目標業(yè)務文件不同,則轉到步驟 210,依據源業(yè)務文件對目標業(yè)務文件進行更新,然后轉到步驟212 。 隨后,在下一步驟212,為更新后的目標業(yè)務文件生成索引文件,然后轉到步驟 214。有關索引文件的具體生成方法和相關技術已經在現有技術之中做了清楚的描述,因此 本文不再贅述。 隨后,在下一步驟214,依據生成的索引文件對業(yè)務標識對應的索引文件目錄下的 索引文件進行更新。 最后,方法200結束于步驟216。 本發(fā)明還提供了一種創(chuàng)建索引的裝置,下面就結合圖3對其進行詳細描述。
圖3是依據本發(fā)明一較佳實施例的索引創(chuàng)建裝置300的邏輯結構示意圖。如圖3 所示,索引創(chuàng)建裝置300包括接收模塊302、生成模塊304、讀取模塊306、索引文件創(chuàng)建模塊 308和業(yè)務文件更新模塊310。 接收模塊302用于接收索引創(chuàng)建命令,提取其中包含的業(yè)務標識。在接收到新的 業(yè)務文件(例如增加了新的一類業(yè)務導致新增新的業(yè)務文件)時,將觸發(fā)發(fā)出一索引創(chuàng)建 命令(例如操作人員觸發(fā)發(fā)出索引創(chuàng)建命令),該索引創(chuàng)建命令之中包含該新業(yè)務文件對 應的業(yè)務標識。新接收到的業(yè)務文件將作為源業(yè)務文件存儲在該業(yè)務標識對應的源目錄 下,其中源目錄專門用于存儲源業(yè)務文件。 生成模塊304用于為該業(yè)務標識生成對應的目標目錄和索引文件目錄。在具體實 現過程中,為該業(yè)務標識生成對應的目標目錄和索引文件目錄均可以依據該業(yè)務標識來命 名。 讀取模塊306用于依據該業(yè)務標識在對應的源目錄下讀取源業(yè)務文件。此外,讀
取模塊306用于將所述業(yè)務標識和讀取的源業(yè)務文件發(fā)往索引文件創(chuàng)建模塊308。 索引文件創(chuàng)建模塊308用于將源業(yè)務文件作為目標業(yè)務文件存儲到為該業(yè)務標
6識生成的目標目錄下。此后,索引文件創(chuàng)建模塊308為該目標業(yè)務文件生成索引文件并存 儲到為該業(yè)務標識生成的索引文件目錄下,其中索引文件目錄專門用于存儲索引文件。有 關索引文件的具體生成方法和相關技術已經在現有技術之中做了清楚的描述,因此本文不 再贅述。 對于每項業(yè)務而言,其業(yè)務范圍和業(yè)務項目可能會發(fā)生變化,由此導致其業(yè)務文 件也發(fā)生變化。在業(yè)務文件發(fā)生變化時,新的業(yè)務文件將覆蓋原有的源業(yè)務文件,即源業(yè)務 文件發(fā)生更新,由此導致源業(yè)務文件與目標業(yè)務文件不同。在這種情況下,需要對該業(yè)務重 新生成索引文件。下面便對此種情況下圖3中索引創(chuàng)建裝置300的各個模塊的功能進行詳 細描述。 接收模塊302用于接收索引更新命令,提取其中包含的業(yè)務標識。在具體實現過 程中,索引更新命令可在到達某一類業(yè)務或者某一業(yè)務文件(即業(yè)務標識對應的)的索引 更新時間時被觸發(fā),或者由管理員手動觸發(fā)。其中,索引更新命令中包含相關聯的業(yè)務標 識。 讀取模塊306用于在該業(yè)務標識對應的源目錄下讀取源業(yè)務文件。 業(yè)務文件更新模塊310用于在判定讀取的源業(yè)務文件與該業(yè)務標識對應的目標
目錄下的目標業(yè)務文件不同時,依據所述源業(yè)務文件對所述目標業(yè)務文件進行更新。如上
文所述,當業(yè)務文件發(fā)生變化時,源業(yè)務文件將被更新,由此導致源業(yè)務文件與目標業(yè)務文
件不同。 在具體實現過程中,可采用下列方法其中的至少一種來判斷源業(yè)務文件與目標業(yè) 務文件是否相同 分別為源業(yè)務文件和目標業(yè)務文件生成MD5校驗碼,然后判斷源業(yè)務文件和目標 業(yè)務文件的MD5校驗碼是否相同。若二者相同,則源業(yè)務文件與目標業(yè)務文件相同,否則源 業(yè)務文件與目標業(yè)務文件不同; 判斷源業(yè)務文件和目標業(yè)務文件的修改時間是否相同。若二者相同,則源業(yè)務文 件與目標業(yè)務文件相同,否則源業(yè)務文件與目標業(yè)務文件不同; 判斷源業(yè)務文件和目標業(yè)務文件的文件大小是否相同。若二者相同,則源業(yè)務文 件與目標業(yè)務文件相同,否則源業(yè)務文件與目標業(yè)務文件不同。 在具體實現過程中,由于MD5校驗碼與業(yè)務文件存在一一對應的關系,即業(yè)務文 件不同,則其MD5校驗碼也不同。因此,在基于MD5校驗碼來判斷源業(yè)務文件和目標業(yè)務文 件是否相同時的準確性更高。 索引文件創(chuàng)建模塊308用于為更新后的目標業(yè)務文件生成索引文件,依據該索引
文件對所述業(yè)務標識對應的索引文件目錄下的索引文件進行更新。有關索引文件的具體生
成方法和相關技術已經在現有技術之中做了清楚的描述,因此本文不再贅述。 以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精
神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
一種創(chuàng)建索引的方法,其特征在于,包括S1、接收索引更新命令,提取其中包含的業(yè)務標識,在該業(yè)務標識對應的源目錄下讀取源業(yè)務文件;S2、在判定讀取的源業(yè)務文件與該業(yè)務標識對應的目標目錄下的目標業(yè)務文件不同時,依據所述源業(yè)務文件對所述目標業(yè)務文件進行更新;S3、為更新后的目標業(yè)務文件生成索引文件,依據該索引文件對所述業(yè)務標識對應的索引文件目錄下的索引文件進行更新。
2. 根據權利要求1所述的創(chuàng)建索引的方法,其特征在于,所述索引更新命令在到達所 述業(yè)務標識對應的索引更新時間時被觸發(fā)。
3. 根據權利要求1所述的創(chuàng)建索引的方法,其特征在于,在所述步驟S2中,在判定所述 源業(yè)務文件的MD5校驗值與所述目標業(yè)務文件的MD5校驗值不同時,判定所述源業(yè)務文件 與所述目標業(yè)務文件不同。
4. 根據權利要求1所述的創(chuàng)建索引的方法,其特征在于,在所述步驟S2中,在判定所述 源業(yè)務文件的修改時間與所述目標業(yè)務文件的修改時間不同時,判定所述源業(yè)務文件與所 述目標業(yè)務文件不同。
5. 根據權利要求1所述的創(chuàng)建索引的方法,其特征在于,在所述步驟S2中,在判定所述 源業(yè)務文件的文件大小與所述目標業(yè)務文件的文件大小不同時,判定所述源業(yè)務文件與所 述目標業(yè)務文件不同。
6. —種創(chuàng)建索引的裝置,其特征在于,包括 接收模塊,用于接收索引更新命令,提取其中包含的業(yè)務標識; 讀取模塊,用于在該業(yè)務標識對應的源目錄下讀取源業(yè)務文件;業(yè)務文件更新模塊,用于在判定讀取的源業(yè)務文件與該業(yè)務標識對應的目標目錄下的 目標業(yè)務文件不同時,依據所述源業(yè)務文件對所述目標業(yè)務文件進行更新;索引文件創(chuàng)建模塊,用于為更新后的目標業(yè)務文件生成索引文件,依據該索引文件對 所述業(yè)務標識對應的索引文件目錄下的索引文件進行更新。
7. 根據權利要求6所述的創(chuàng)建索引的裝置,其特征在于,所述索引更新命令在到達所 述業(yè)務標識對應的索引更新時間時被觸發(fā)。
8. 根據權利要求6所述的創(chuàng)建索引的裝置,其特征在于,所述業(yè)務文件更新模塊用于 在判定所述源業(yè)務文件的MD5校驗值與所述目標業(yè)務文件的MD5校驗值不同時,判定所述 源業(yè)務文件與所述目標業(yè)務文件不同。
9. 根據權利要求6所述的創(chuàng)建索引的裝置,其特征在于,所述業(yè)務文件更新模塊用于 在判定所述源業(yè)務文件的修改時間與所述目標業(yè)務文件的修改時間不同時,判定所述源業(yè) 務文件與所述目標業(yè)務文件不同。
10. 根據權利要求6所述的創(chuàng)建索引的裝置,其特征在于,所述業(yè)務文件更新模塊用于 在判定所述源業(yè)務文件的文件大小與所述目標業(yè)務文件的文件大小不同時,判定所述源業(yè) 務文件與所述目標業(yè)務文件不同。
全文摘要
本發(fā)明涉及索引技術,針對現有索引構建方案占用系統資源過多的缺陷,涉及一種創(chuàng)建索引的方法和創(chuàng)建索引的裝置。創(chuàng)建索引的方法接收索引更新命令,提取其中包含的業(yè)務標識,在該業(yè)務標識對應的源目錄下讀取源業(yè)務文件;在判定讀取的源業(yè)務文件與該業(yè)務標識對應的目標目錄下的目標業(yè)務文件不同時,依據所述源業(yè)務文件對所述目標業(yè)務文件進行更新;為更新后的目標業(yè)務文件生成索引文件,依據該索引文件對所述業(yè)務標識對應的索引文件目錄下的索引文件進行更新。本發(fā)明還提供了一種創(chuàng)建索引的裝置。依據業(yè)務文件是否發(fā)生變化來確定是否構建索引,可大大降低索引構建工作的執(zhí)行密度,克服現有索引構建方案占用系統資源過多的缺陷。
文檔編號G06F17/30GK101697154SQ200910110350
公開日2010年4月21日 申請日期2009年10月28日 優(yōu)先權日2009年10月28日
發(fā)明者劉克鴻, 劉飛, 楊豐, 楊旗, 王有為, 蔣錚, 馬慧 申請人:卓望數碼技術(深圳)有限公司;