两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

檢索結構化文檔的數(shù)據(jù)的設備和方法

文檔序號:6407175閱讀:107來源:國知局
專利名稱:檢索結構化文檔的數(shù)據(jù)的設備和方法
技術領域
本發(fā)明涉及一種用于檢索諸如XML(可擴展標記語言)文檔等的結構化文檔的數(shù)據(jù)的設備和方法。
背景技術
XML文檔是一種通過使用標簽(tag)描述文檔數(shù)據(jù)的各個元素來進行結構化的文檔,并且XML文檔具有層級結構。當通過樹結構來表示XML文檔時,將樹的各個元素稱為節(jié)點。存在如下兩種檢索XML文檔的數(shù)據(jù)的傳統(tǒng)方法。
(a)通過由樹結構的對象表示要檢索的所有文檔的所有節(jié)點來將文檔展開。如果根據(jù)檢索請求條件對多個節(jié)點進行檢索,并且滿足該條件,則檢索并提取關于要返回的節(jié)點的信息。將該檢索方法稱為索引系統(tǒng)。
(b)應檢索-返回請求,將要檢索的所有文檔臨時展開在一個二維表中。這時,按照需要為表達為給定節(jié)點的子節(jié)點的多個節(jié)點分配更多的表行。當根據(jù)檢索請求條件對該表進行檢索并且滿足該條件時,提取關于要返回的單元(節(jié)點)的信息。
例如,當要對如圖1A所示的兩個文檔進行檢索時,以上述方法(a)生成如圖1B所示的樹結構的文檔數(shù)據(jù)。假設輸入以下檢索表達式作為檢索請求。
/doc/Grp{/A=′X′AND/B=′1000′}(1)該檢索表達式表示如下條件在由路徑/doc/Grp/A所指定的節(jié)點中包含有關鍵詞′X′,并且在由路徑/doc/Grp/B所指定的節(jié)點中包含有關鍵詞′1000′。在這種情況下,通過跟蹤如圖1C所示的文檔數(shù)據(jù)的節(jié)點,表明文檔1滿足該檢索請求條件。
在上述方法(b)中,生成如圖1D所示的具有表結構的文檔數(shù)據(jù)。在圖1A所示的文檔1中,由于存在兩個不同的“Grp”節(jié)點作為節(jié)點“doc”的子節(jié)點,所以將文檔1的數(shù)據(jù)存儲在圖1D所示的表的兩行中。在這種情況下,如圖1E所示,通過檢索表達式(1)對該表進行檢索,并且文檔1滿足該檢索請求條件。
在上述方法(a)和(b)中,為了預先對所有待檢索文檔進行展開,除各個XML文檔之外,還存儲諸如DTD(文檔類型定義)、綱要(schema)等的XML定義信息、與該XML定義信息和XML文檔之間的關系相關的信息、以及與XML文檔中的各個標簽和節(jié)點相關的信息。
此外,當檢索結構化文檔時,利用檢索條件作為輸入生成分級自動機(automaton),并且可以利用所生成的分級自動機來進行檢索(例如,參見專利文獻1)。
專利文獻1日本專利申請?zhí)亻_2000-90091號公報。
但是,利用上述的傳統(tǒng)檢索方法存在以下問題。
在進行檢索處理之前,要對待檢索的文檔進行臨時分析。因此,當存儲待檢索的文檔時,需要非常長的處理時間來進行諸如分析處理、展開處理等的處理。
由于將待檢索的文檔分為多個標簽和多個節(jié)點,以優(yōu)化檢索,因此,當存儲待檢索的文檔時,需要原始文檔的數(shù)倍存儲空間。
當檢索并分析文檔時,有必要在存儲器內(nèi)將所存儲的文檔數(shù)據(jù)的全部或者部分進行臨時展開,以識別滿足檢索請求條件的節(jié)點。因此,根據(jù)所存儲的文檔數(shù)據(jù)量,極大地增加了用于檢索和分析的存儲器資源的消耗量。
根據(jù)存儲系統(tǒng)的邏輯(logic),將要檢索的一組XML文檔統(tǒng)一為根據(jù)所指定的XML定義信息規(guī)定的標準化格式。此外,當進行檢索時,使用根據(jù)該標準化格式的檢索表達式。因此,當對多個不同格式的XML文檔進行檢索時,需要在檢索不同格式的XML文檔后對所得到的檢索結果進行合并。

發(fā)明內(nèi)容
本發(fā)明旨在提供一種檢索設備和檢索方法,用于減少在存儲和檢索多個待檢索的文檔的過程中所需的處理時間、存儲空間以及存儲器消耗。
根據(jù)本發(fā)明的檢索設備包括生成裝置、讀取裝置和檢索裝置,并且該檢索設備根據(jù)檢索條件檢索使用標簽而結構化的文檔的數(shù)據(jù)。
該生成裝置分析檢索條件并生成標簽登記信息,包含標簽的已登記字符串,該標簽表示包含在由檢索條件所指定的檢索路徑中的各個元素;關鍵詞登記信息,包含由檢索條件所指定的關鍵詞的已登記字符串;以及狀態(tài)管理信息,用于使用檢索路徑來管理當前檢索狀態(tài)。該讀取裝置以預定量順序讀取要檢索的結構化文檔的文檔數(shù)據(jù)。
該檢索裝置在利用狀態(tài)管理信息在從所讀取的數(shù)據(jù)串中檢測在標簽登記信息中登記的標簽的標簽檢索以及從所讀取的數(shù)據(jù)串中檢測在關鍵詞登記信息中登記的關鍵詞的關鍵詞檢索之間進行切換的同時,檢索結構化文檔的文檔數(shù)據(jù),并且輸出檢索結果。


圖1A示出了待檢索的文檔;圖1B示出了樹結構的文檔數(shù)據(jù);圖1C示出了第一檢索方法;圖1D示出了表結構的文檔數(shù)據(jù);圖1E示出了第二檢索方法;圖2示出了根據(jù)本發(fā)明的檢索設備的原理;圖3示出了檢索設備的構成;圖4A示出了第一文檔;圖4B示出了第二文檔;圖5示出了標簽自動機;圖6示出了字符串;圖7示出了標簽表;圖8示出了狀態(tài)管理信息;
圖9示出了關鍵詞自動機;圖10示出了邏輯表達式表;圖11是檢索處理的流程圖;圖12示出了檢索表和更新表的初始狀態(tài);圖13示出了添加處理的第一過程;圖14示出了添加處理的第二過程;圖15示出了添加處理的第三過程;圖16示出了更新處理;圖17示出了刪除處理;圖18示出了批量刪除處理;圖19示出了信息處理裝置的構成;以及圖20示出了記錄介質(zhì)。
具體實施例方式
下面將參照附圖對本發(fā)明的優(yōu)選實施例進行說明。
圖2表示根據(jù)本發(fā)明的檢索設備的原理。圖2所示的檢索設備包括生成裝置101、讀取裝置102、檢索裝置103,并且該檢索設備根據(jù)檢索條件對使用標簽而結構化的文檔的數(shù)據(jù)進行檢索。
生成裝置101分析檢索條件,并且生成標簽登記信息104,包含標簽的已登記字符串,該標簽表示包含在由檢索條件所指定的檢索路徑中的各個元素;關鍵詞登記信息105,包含由檢索條件所指定的關鍵詞的已登記字符串;以及狀態(tài)管理信息106,用于利用檢索路徑來管理當前檢索狀態(tài)。讀取裝置102以預定量順序地讀取要檢索的結構化文檔的文檔數(shù)據(jù)。
檢索裝置103在利用狀態(tài)管理信息106在從所讀取的數(shù)據(jù)串中檢測標簽登記信息104中登記的標簽的標簽檢索以及從所讀取的數(shù)據(jù)串中檢測關鍵詞登記信息105中登記的關鍵詞的關鍵詞檢索之間進行切換的同時,檢索結構化文檔的文檔數(shù)據(jù),并輸出檢索結果。
利用上述檢索設備,在順序讀取預定量的文檔數(shù)據(jù)的同時進行檢索。因此,不必預先將要檢索的所有文檔的文檔數(shù)據(jù)進行擴展。此外,由于在檢索由檢索條件所指定的元素的標簽的標簽檢索和檢索元素中的關鍵詞的關鍵詞檢索之間進行適當切換的同時進行檢索,所以即使不知道待檢索文檔的結構,也可以利用關鍵詞對滿足檢索條件的元素的內(nèi)容進行核對。因此,待檢索的文檔可以不是特定XML定義信息所指定的格式。
生成裝置101、讀取裝置102、檢索裝置103、標簽登記信息104、關鍵詞登記信息105、以及狀態(tài)管理信息106例如分別與檢索表達式分析單元213、數(shù)據(jù)讀取單元215、XML檢索單元214、標簽自動機222、關鍵詞自動機224以及狀態(tài)管理信息223相對應。
根據(jù)本發(fā)明,待檢索的文檔并不限于標準格式的文檔,還可以存儲為具有不同編排模式的XML文檔。因此,可以減少待檢索的文檔的存儲空間,并且不需要對待檢索文檔進行分析處理,從而提高了存儲速度。
此外,由于存儲資源的消耗不是基于待檢索文檔的數(shù)據(jù)量,而是取決于檢索條件的數(shù)據(jù)量,所以有限量的存儲資源就可以足夠用于檢索。
另外,即使利用不同格式的XML文檔進行檢索,也可以不考慮各種格式而進行檢索,并且可以提高檢索速度。
圖3示出了根據(jù)本發(fā)明實施例的檢索設備的構成。圖3所示的檢索設備201包括操作分析單元211、數(shù)據(jù)檢索單元212、檢索表達式分析單元213、XML檢索單元214、數(shù)據(jù)讀取單元215、檢索結果存儲單元216、數(shù)據(jù)同步單元217、數(shù)據(jù)寫入單元218以及數(shù)據(jù)存儲單元219。
操作分析單元211接收來自數(shù)據(jù)操作應用程序202的處理請求,分析該處理請求以檢查要求了哪個處理請求數(shù)據(jù)的檢索、添加、刪除、或者批量刪除。如果該處理請求是指檢索請求,則將檢索請求傳送到數(shù)據(jù)檢索單元212。如果該處理請求是指添加請求、更新請求、刪除請求或者批量刪除請求,則將該處理請求傳送到數(shù)據(jù)寫入單元218。
數(shù)據(jù)檢索單元212將包含在所接收的檢索請求條件(以下將其稱為檢索條件)中的檢索表達式傳送給檢索表達式分析單元213。檢索表達式分析單元213分析所接收的檢索表達式,并且提取諸如指定要檢索的元素的路徑、包含在該路徑中的各元素的標簽、要檢索的關鍵詞等的信息。然后,根據(jù)所提取的信息,生成標簽自動機222、狀態(tài)管理信息223、以及關鍵詞自動機224,并且將它們傳送到XML檢索單元214。狀態(tài)管理信息223是利用所指定的路徑來管理檢索狀態(tài)的信息。
自動機由多個狀態(tài)的集合來表示,該多個狀態(tài)包含初始狀態(tài)和受理狀態(tài),并且通過表示轉(zhuǎn)換的方向的箭頭來連接兩個狀態(tài)。在初始狀態(tài)中,自動機首先根據(jù)輸入數(shù)據(jù)的值確定轉(zhuǎn)換目標的狀態(tài),并且轉(zhuǎn)換到該狀態(tài)。然后,根據(jù)下一輸入數(shù)據(jù)的值確定轉(zhuǎn)換目標的狀態(tài),并且轉(zhuǎn)換到該狀態(tài)。在受理狀態(tài)中,設定關于從初始狀態(tài)輸入到受理狀態(tài)的數(shù)據(jù)串的信息。即,在自動機中登記該數(shù)據(jù)串。
自動機根據(jù)該順序輸入的數(shù)據(jù)串,通過重復進行狀態(tài)轉(zhuǎn)換而將所輸入的數(shù)據(jù)串與已登記數(shù)據(jù)串進行核對。當達到受理狀態(tài)時,確定所輸入的數(shù)據(jù)串與對應于該狀態(tài)的已登記數(shù)據(jù)串匹配,并且輸出關于已登記數(shù)據(jù)串的信息。
XML檢索單元214具有邏輯表達式表221,并且利用從檢索表達式分析單元213接收到的標簽自動機222、狀態(tài)管理信息223以及關鍵詞自動機224來檢索存儲在數(shù)據(jù)存儲單元219中的待檢索XML文檔。此時,數(shù)據(jù)讀取單元215從數(shù)據(jù)存儲單元219讀取所有文檔的預定量的文檔數(shù)據(jù),并且將其傳送到XML檢索單元214。當開始檢索處理時,將邏輯表達式表221的值設置為“假”。
XML檢索單元214將從數(shù)據(jù)讀取單元215接收的數(shù)據(jù)輸入到標簽自動機222,并且在命中數(shù)據(jù)時根據(jù)從標簽自動機222輸出的命中信息來訪問狀態(tài)管理信息223。如果由命中信息所指定的層級與登記在狀態(tài)管理信息223中的檢索條件的層級匹配,則將后續(xù)數(shù)據(jù)輸入到關鍵詞自動機224。當檢測到登記在關鍵詞自動機224中的關鍵詞時,將關于相應文檔的信息存儲在檢索結果存儲單元216中。
由元素的起始標簽和結束標簽形成標簽自動機222。當從輸入文檔數(shù)據(jù)中檢測到起始標簽和結束標簽時,輸出命中信息。一旦接收到該信息,XML檢索單元214跟蹤狀態(tài)管理信息223的各個元素,并且在到達與檢索條件相匹配的元素時,開始將文檔數(shù)據(jù)輸入到關鍵詞自動機224。
該關鍵詞自動機224是由檢索條件的關鍵詞、起始標簽以及結束標簽形成的,并且在從輸入文檔數(shù)據(jù)中檢測到檢索條件的關鍵詞時輸出命中信息。一旦接收到該信息,XML檢索單元214就將邏輯表達式表221中的相應值改變?yōu)椤罢妗薄?br> 當從輸入文檔數(shù)據(jù)中檢測到結束標簽時,關鍵詞自動機224再次輸出命中信息。一旦接收到該信息,XML檢索單元214就確定該檢索處理已達到經(jīng)過檢索條件的各個元素的階段,評價關于該元素的邏輯表達式,并且初始化邏輯表達式表221中的相應值。然后,訪問狀態(tài)管理信息223中的下一元素。當經(jīng)過根節(jié)點的元素時,進行最終邏輯表達式評價,并且確定相應文檔是否為真。
接下來,以下參照圖4A至11對由圖2中所示的檢索設備201執(zhí)行的檢索處理進行更詳細的說明。
圖4A和4B表示存儲在數(shù)據(jù)存儲單元219中的待檢索文檔的示例。假設檢索表達式分析單元213已接收到以下檢索表達式。
/root/comp/name=‘ABC’(2)該檢索表達式表示以下條件在由路徑/root/comp/name所指定的元素中包含有關鍵詞‘ABC’。因此,在路徑表達中,將符號“/”描述為首部(header),并且通過“/”來劃分不同層級的標簽。如以下由(a)和(b)所表示的,在描述檢索表達式的方法中可以省略包含在路徑中的元素的標簽。
(a)簡化的路徑表達1當描述一路徑時,可以利用“//”代替完整的路徑來以簡化形式表示該路徑??梢詫ⅰ?/”用于任何地方。
示例1) /root//comp/name該表達包含多個路徑,例如“/root/comp/name”、“/root/a/b/c/comp/name”、等等。
示例2)//name該表達包含到達“name”標簽的所有路徑。
示例3)/root/comp//
該表達包含到達等于或者低于“/root/comp”的層級的所有路徑。
(b)簡化的路徑表達2當描述一路徑時,可以使用“*”代替標簽名稱以簡化形式省略一個標簽來表示該路徑??梢詫ⅰ?”用于任何地方。具有“*”的部分可以為任何標簽。
示例4)/root/comp/*該表達包含到達與具有“*”的部分相對應的標簽的所有路徑。因此,在該表達中可以包含“/root/comp/name”和“/root/comp/code”。
檢索表達式分析單元213根據(jù)以上表達式(2)生成以下三個邏輯表達式/root/comp/name (3)‘ABC’ (4)/root/comp/name=‘ABC’(5)表達式(3)表示指定待檢索元素的路徑,表達式(4)表示待檢索關鍵詞,表達式(5)是使用比較運算符“=”將表達式(3)與表達式(4)進行組合的邏輯表達式。檢索表達式分析單元213根據(jù)這些邏輯表達式生成標簽自動機222、狀態(tài)管理信息223、以及關鍵詞自動機224。
圖5表示所生成的標簽自動機222的示例。在圖5中,由圓圈表示各個狀態(tài),并且圓圈中的字符表示在進行從先前狀態(tài)到由該字符標記的狀態(tài)的狀態(tài)轉(zhuǎn)換時所輸入的字符數(shù)據(jù)。描述為“in”的狀態(tài)表示初始狀態(tài),而使用命中信息描述的狀態(tài)表示受理狀態(tài)。將以下字符串(起始標簽等)登記在自動機中。當輸入字符串與已登記字符串匹配時,輸出相應的命中信息。但是,“_”表示一個字符的空白。
字符串命中信息<comp/> 501<comp>502<comp_503<root/> 504<root>505
<root_506<name/> 507<name>508<name_509> 510盡管在圖5中為了簡便而省略了如圖6中所示的字符串,但是圖6中所示的字符串也登記在標簽自動機222中。例如,當在計算機中通過面向?qū)ο蟮木幊虂韺崿F(xiàn)自動機時,由一個對象來表示各個狀態(tài)和各條命中信息。
圖7表示在狀態(tài)管理信息223之前生成的標簽表的示例。在圖7所示的標簽表中,登記了包含在表達式(3)中的各個標簽的名稱和編號。利用該標簽表生成如圖8所示的狀態(tài)管理信息。
圖8所示的狀態(tài)管理信息包含“Initial”、“root”、“comp”、以及“name”四個元素,并且表示指定待檢索元素的路徑。元素“Initial”表示初始狀態(tài),而其他三個元素分別與包含在各個路徑中的三個元素相對應。將圖7所示的標簽表中所登記的標簽的名稱和編號登記在各個元素中,并且XML檢索單元214可以根據(jù)該信息訪問下一元素。
將“OUTPUT”添加到屬于檢索條件的層級的元素“name”中。該“OUTPUT”包含表達式(5)中所包含的信息,并且當訪問“name”時評價表達式(5)。例如,當以面向?qū)ο蟮某绦蛟O計來描述狀態(tài)管理信息時,通過一個對象來表示各個元素和各個OUTPUT。
圖9表示關鍵詞自動機224的示例。圖9所示的描述各個狀態(tài)和狀態(tài)轉(zhuǎn)換的方法基本上與圖5中的相同。狀態(tài)“in”表示初始狀態(tài),而具有命中信息的狀態(tài)表示受理狀態(tài)。將以下字符串(關鍵詞等)登記在自動機中,并且當輸入了與已登記字符串匹配的字符串時,輸出相應的命中信息。
字符串命中信息ABC 901</902
盡管在圖9中為了簡便而省略了圖6中所示的字符串,但是實際上圖6中所示的字符串也登記在關鍵詞自動機224中。
XML檢索單元214從檢索表達式分析單元213接收三個邏輯表達式、標簽自動機222、狀態(tài)管理信息223、以及關鍵詞自動機224。如圖10所示,在邏輯表達式表中登記所接收的邏輯表達式。在初始狀態(tài)中,將“假”存儲為邏輯表達式表的各個邏輯表達式的值。
然后,XML檢索單元214根據(jù)圖11所示的流程圖執(zhí)行檢索處理。在圖11所示的示例中,假設將各個XML存儲為一條記錄。XML檢索單元214首先檢查是否已完成所有記錄的處理(步驟S1101),并且如果存在任何未處理的記錄,則執(zhí)行標簽檢索處理(步驟1102)。
在標簽檢索處理中,將文檔數(shù)據(jù)逐個字符地輸入標簽自動機222,并且當從標簽自動機224輸出了命中信息時,檢查該命中信息的標簽是否與記錄的結尾相對應(步驟1103)。
如果該命中信息的標簽不與記錄的結尾相對應,則根據(jù)關于該標簽的信息查詢狀態(tài)管理信息223(步驟1106),并且檢查所查詢的元素是否屬于檢索條件的層級(步驟1107)。如果所查詢的元素屬于檢索條件的層級,則執(zhí)行關鍵詞檢索處理(步驟1108)。
在關鍵詞檢索處理中,將后續(xù)文檔數(shù)據(jù)逐個字符地輸入關鍵詞自動機224,并且當從關鍵詞自動機224輸出了命中信息時,檢查該命中信息的字符串是否與該標簽的結尾相對應(步驟1109)。
如果該字符串不與該標簽的結尾相對應,則重復步驟1108中的關鍵詞檢索處理。如果該字符串與該標簽的結尾相對應,則對與該標簽相關的檢索表達式進行評價(步驟1105)。然后,根據(jù)該標簽信息,重復步驟1106及其后續(xù)的處理。
如果在步驟1107中所查詢的元素不屬于該檢索條件的層級,則重復步驟1102及其后續(xù)的處理。然后,如果在步驟1103中命中信息的標簽與該記錄的結尾相對應,則執(zhí)行最終邏輯表達式評價,并且確定該記錄是否滿足檢索條件(步驟1104),并且重復步驟1101及其后續(xù)的處理。然后,如果在步驟1101中完成了所有記錄的處理,則檢索處理結束。
例如,當檢索圖4A中所示的文檔中的記錄時,首先在步驟1102中檢測<root>標簽,并且從圖5所示的標簽自動機輸出命中信息505。在步驟1106中,當查詢圖8所示的狀態(tài)管理信息中的“Initial”元素時,標簽名稱“root”指向下一“root”元素,并且訪問該“root”元素。然后,在步驟1107中,檢查該“root”元素中是否添加了OUTPUT。
由于該“root”元素中未添加OUTPUT,所以確定該元素不屬于檢索條件的層級,并且繼續(xù)步驟1102中的標簽檢索處理。同樣,當檢測<comp>標簽時,訪問狀態(tài)管理信息的“comp”元素。由于該“comp”元素中未添加OUTPUT,所以繼續(xù)標簽檢索處理。
當接著檢測<name>標簽時,訪問狀態(tài)管理信息的“name”元素。由于該“name”元素中添加了OUTPUT,所以確定該元素屬于檢索條件的層級。然后,將圖10中所示的邏輯表達式表的/root/comp/name的值轉(zhuǎn)換為“真”,并且執(zhí)行步驟1108中的關鍵詞檢索處理。
由于在關鍵詞檢索處理中檢測到了關鍵詞‘ABC’,所以從圖9所示的關鍵詞自動機輸出命中信息901。然后,將邏輯表達式表的‘ABC’的值轉(zhuǎn)換為“真”。然而,在步驟1109中,字符串并不與標簽的結尾相對應。因此,繼續(xù)關鍵詞檢索處理。
接下來,檢測字符串“</”,并且從關鍵詞自動機輸出命中信息902。由于該字符串表示結尾標簽的首部,所以確定它與<name>標簽的結尾相對應,并且在步驟1105中查詢邏輯表達式表,并且檢查是否滿足/root/comp/name=‘ABC’。
在此階段,邏輯表達式表的/root/comp/name以及‘ABC’的值為“真”,確定滿足邏輯表達式,并且將邏輯表達式表的相應值轉(zhuǎn)換為“真”。因此,圖4A中所示的文檔為滿足檢索條件的文檔的候選。此時,將/root/comp/name以及‘ABC’的值轉(zhuǎn)換為初始值“假”。
由于已經(jīng)檢測到結尾標簽,所以在步驟1106中對狀態(tài)管理信息進行反向跟蹤。在此操作中,訪問恰在狀態(tài)管理信息的元素“name”之前的元素“comp”。但是,由于該元素并不屬于該檢索條件的層級,所以繼續(xù)標簽檢索處理。
當檢測到最終的</root>標簽時,在步驟1103中確定該標簽與記錄的結尾相對應。因此,在步驟1104中,通過查詢邏輯表達式表檢查是否已滿足該檢索條件。
在此階段,由于該邏輯表達式表的/root/comp/name=‘ABC’的值為“真”,所以確定滿足該檢索條件,并且將關于圖4A中所示文檔的標識信息作為與滿足該檢索條件的文檔有關的信息存儲在檢索結果存儲單元216中。此時,將邏輯表達式表的/root/comp/name=‘ABC’的值設置為“假”,即,初始值。
對圖4B中所示文檔的記錄進行類似的檢索,但是該記錄的元素“name”不包含關鍵詞‘ABC’。因此,不滿足檢索條件并且不將關于圖4B所示文檔的標識信息存儲在檢索結果存儲單元216中。
當完成所有記錄的處理之后,將存儲在檢索結果存儲單元216中的與該文檔有關的標識信息作為檢索結果返回給應用程序202。
以下將參照圖12至18對由圖3中所示的數(shù)據(jù)讀取單元215、數(shù)據(jù)同步單元217、以及數(shù)據(jù)寫入單元218所執(zhí)行的處理進行詳細說明。
數(shù)據(jù)同步單元217保存如圖12所示的兩個數(shù)據(jù)管理表1201和1202,并且將可用的數(shù)據(jù)管理表傳送到數(shù)據(jù)讀取單元215和數(shù)據(jù)寫入單元218。數(shù)據(jù)管理表1201和1202保存數(shù)據(jù)存儲單元219中存儲的文檔數(shù)據(jù)1203、1204、1205以及1206的地址,并且將這兩個數(shù)據(jù)管理表用作為索引表,用以訪問文檔數(shù)據(jù)。在此示例中,假設文檔數(shù)據(jù)1203、1204、1205以及1206中的每一個都與一個XML文檔相對應。
數(shù)據(jù)同步單元217通過將任何數(shù)據(jù)管理表的地址設置為檢索表的地址1207以及更新表的地址1208來確定由數(shù)據(jù)讀取單元215和數(shù)據(jù)寫入單元218使用的數(shù)據(jù)管理表。在圖12中,將數(shù)據(jù)管理表1201的地址P1設置為地址1207,并且將數(shù)據(jù)管理表1202的地址P2設置為地址1208。
將由地址1207指定的數(shù)據(jù)管理表1201作為檢索表傳送到數(shù)據(jù)讀取單元215,并且將由地址1208指定的數(shù)據(jù)管理表1202作為更新表傳送到數(shù)據(jù)寫入單元218。數(shù)據(jù)讀取單元215利用在上述檢索處理中所接收的檢索表,從數(shù)據(jù)存儲單元219讀取文檔數(shù)據(jù)。
一旦從操作分析單元211接收到添加請求、更新請求、刪除請求或者批量刪除請求,數(shù)據(jù)寫入單元218就使用所接收的更新表對數(shù)據(jù)存儲單元219的文檔數(shù)據(jù)進行添加處理、更新處理、刪除處理或者批量刪除處理。在將關于處理的信息寫入更新表之后,向數(shù)據(jù)同步單元217發(fā)送處理結束通知。
一旦接收到該通知,數(shù)據(jù)同步單元217就在所存儲的地址1207和1208之間進行切換,并且將已經(jīng)用作更新表的數(shù)據(jù)管理表1202作為新的檢索表傳送到數(shù)據(jù)讀取單元215。然后,將數(shù)據(jù)管理表1202的內(nèi)容復制到另一個數(shù)據(jù)管理表1201。
通過上述配置,即使在由數(shù)據(jù)寫入單元218執(zhí)行的添加處理、更新處理、刪除處理以及批量刪除處理的過程中,數(shù)據(jù)讀取單元215也可以讀取文檔數(shù)據(jù)。
圖13至15表示新的文檔數(shù)據(jù)的添加處理的過程。首先,如圖13所示,數(shù)據(jù)寫入單元218將要添加的文檔數(shù)據(jù)1301存儲到數(shù)據(jù)存儲單元219中,并且將其存儲地址添加到數(shù)據(jù)管理表1202中。
如圖14所示,數(shù)據(jù)同步單元217在地址1207和地址1208的值之間進行交換。因此,數(shù)據(jù)管理表1201用作為更新表,而數(shù)據(jù)管理表1202用作為檢索表。如圖15所示,將數(shù)據(jù)管理表1202的內(nèi)容復制到數(shù)據(jù)管理表1201,并且將新的更新表的內(nèi)容更新為最新數(shù)據(jù)。
圖16表示已有文檔數(shù)據(jù)1205的更新處理。首先,數(shù)據(jù)寫入單元218將更新文檔數(shù)據(jù)1601存儲在數(shù)據(jù)存儲單元219中,并且將記錄在數(shù)據(jù)管理表1202中的文檔數(shù)據(jù)1205的地址改變?yōu)槲臋n數(shù)據(jù)1601的存儲地址。然后,在與圖14至15所示相似的過程中,數(shù)據(jù)同步單元217在地址1207和地址1208的值之間進行交換,并且將數(shù)據(jù)管理表1202的內(nèi)容復制到數(shù)據(jù)管理表1201。
圖17表示已有文檔數(shù)據(jù)1206的刪除處理。首先,數(shù)據(jù)寫入單元218刪除記錄在數(shù)據(jù)管理表1202中的文檔數(shù)據(jù)1206的地址。然后,在與圖14和15中相似的過程中,數(shù)據(jù)同步單元217在地址1207和地址1208的值之間進行交換,并且將數(shù)據(jù)管理表1202的內(nèi)容復制到數(shù)據(jù)管理表1201。
圖18表示數(shù)據(jù)存儲單元219的所有文檔數(shù)據(jù)的批量刪除處理。首先,數(shù)據(jù)寫入單元218刪除記錄在數(shù)據(jù)管理表2102中的所有文檔數(shù)據(jù)的地址。然后,在與圖14和15中相似的過程中,數(shù)據(jù)同步單元217在地址1207和1208的值之間進行交換,并且將數(shù)據(jù)管理表1202的內(nèi)容復制到數(shù)據(jù)管理表1201。
在上述實施例中,描述了對XML文檔執(zhí)行的檢索處理,但是本發(fā)明不僅可以應用于對XML文檔的處理,還可以應用于對包含SGML(標準通用標記語言)文檔在內(nèi)的任何結構化文檔的處理。
在上述實施例中,在檢測標簽和關鍵詞時使用了標簽自動機和關鍵詞自動機,但是也可以用其他標簽登記信息和關鍵詞登記信息來代替它們。
例如,可以由圖19所示的信息處理裝置(計算機)來配置圖3所示的檢索設備。圖19所示的信息處理裝置包含CPU(中央處理單元)1901、存儲器1902、輸入裝置1903、輸出裝置1904、外部存儲裝置1905、介質(zhì)驅(qū)動裝置1906、以及網(wǎng)絡連接裝置1907。它們通過總線1908互連。
存儲器1902例如包含ROM(只讀存儲器)、RAM(隨機存取存儲器)等,并且存儲在數(shù)據(jù)處理中所使用的程序和數(shù)據(jù)。CPU 1901通過使用存儲器1902執(zhí)行程序來進行必要的處理。
圖3中所示的檢索結果存儲單元216與存儲器1902相對應。圖3中所示的操作分析單元211、數(shù)據(jù)檢索單元212、檢索表達式分析單元213、XML檢索單元214、數(shù)據(jù)讀取單元215、數(shù)據(jù)同步單元217、以及數(shù)據(jù)寫入單元218與通過執(zhí)行存儲在存儲器1902中的程序而實現(xiàn)的多個功能相對應。在存儲器1902中動態(tài)地生成圖3所示的邏輯表達式表221、標簽自動機222、狀態(tài)管理信息223、以及關鍵詞自動機224。
輸入裝置1903例如可以是鍵盤、定點設備、觸摸板等,并且由用戶使用來輸入指令和信息。輸出裝置1904例如可以是顯示器、打印機、揚聲器等,并且用于向用戶輸出查詢和處理結果等。
外部存儲裝置1905例如可以是磁盤裝置、光盤裝置、磁光盤裝置、磁帶裝置等。信息處理裝置使外部存儲裝置1905存儲程序和數(shù)據(jù),以使得可以在必要時將這些程序和數(shù)據(jù)加載到存儲器1902中。還可以將外部存儲裝置1905用作為圖3所示的數(shù)據(jù)存儲單元219。
介質(zhì)驅(qū)動裝置1906驅(qū)動便攜式記錄介質(zhì)1909,并且存取所記錄的內(nèi)容。便攜式記錄介質(zhì)1909可以是任何計算機可讀記錄介質(zhì),例如存儲卡、軟盤、CD-ROM(光盤只讀存儲器)、光盤、磁光盤等。用戶可以將程序和數(shù)據(jù)存儲在便攜式記錄介質(zhì)1909上,并且將它們加載到存儲器1902中,以在必要時使用。
將網(wǎng)絡連接裝置1907連接到諸如LAN(局域網(wǎng))等的任何通信網(wǎng)絡,用于在通信中進行數(shù)據(jù)轉(zhuǎn)換。信息處理裝置在必要時通過網(wǎng)絡連接裝置1907從外部裝置接收程序和數(shù)據(jù),并且在將它們加載到存儲器1902中之后使用它們。
圖20表示能夠提供用于圖19所示的信息處理裝置的程序和數(shù)據(jù)的計算機可讀記錄介質(zhì)。將存儲在便攜式記錄介質(zhì)1909和服務器2001的數(shù)據(jù)庫2003中的程序和數(shù)據(jù)加載到信息處理裝置2002的存儲器1902中。服務器2001生成傳送信號,用于傳送程序和數(shù)據(jù),并且通過網(wǎng)絡中的任意傳輸介質(zhì)將它們傳送到信息處理裝置2002。CPU 1901使用該數(shù)據(jù)執(zhí)行該程序,并進行必要的處理。
權利要求
1.一種檢索設備,該檢索設備根據(jù)檢索條件對使用標簽結構化的文檔的數(shù)據(jù)進行檢索,該檢索設備包括生成裝置,用于分析所述檢索條件并生成標簽登記信息,包含標簽的已登記字符串,該標簽表示包含在由所述檢索條件指定的檢索路徑中的各個元素;關鍵詞登記信息,包含由所述檢索條件指定的關鍵詞的已登記字符串;以及狀態(tài)管理信息,用于使用所述檢索路徑來管理當前檢索狀態(tài);讀取裝置,用于以預定量順序地讀取待檢索結構化文檔的文檔數(shù)據(jù);以及檢索裝置,用于在使用所述狀態(tài)管理信息在從所讀取的數(shù)據(jù)串中檢測所述標簽登記信息中登記的標簽的標簽檢索以及從所讀取的數(shù)據(jù)串中檢測所述關鍵詞登記信息中登記的關鍵詞的關鍵詞檢索之間進行切換的同時,檢索所述結構化文檔的文檔數(shù)據(jù),并且輸出檢索結果。
2.一種計算機可讀記錄介質(zhì),在該計算機可讀記錄介質(zhì)上記錄有用于根據(jù)檢索條件對使用標簽結構化的文檔的數(shù)據(jù)進行檢索的計算機程序,該程序控制該計算機執(zhí)行以下處理分析所述檢索條件并生成標簽登記信息,包含標簽的已登記字符串,該標簽表示包含在由所述檢索條件指定的檢索路徑中的各個元素;關鍵詞登記信息,包含由所述檢索條件指定的關鍵詞的已登記字符串;以及狀態(tài)管理信息,用于使用所述檢索路徑來管理當前檢索狀態(tài);以預定量順序地讀取待檢索結構化文檔的文檔數(shù)據(jù);以及在使用所述狀態(tài)管理信息在從所讀取的數(shù)據(jù)串中檢測所述標簽登記信息中登記的標簽的標簽檢索以及從所讀取的數(shù)據(jù)串中檢測所述關鍵詞登記信息中登記的關鍵詞的關鍵詞檢索之間進行切換的同時,檢索所述結構化文檔的文檔數(shù)據(jù),并且輸出檢索結果。
3.根據(jù)權利要求2所述的記錄介質(zhì),其中所述程序控制計算機執(zhí)行以下處理生成狀態(tài)管理信息,該狀態(tài)管理信息包含用于管理當前檢索狀態(tài)和所述檢索路徑中的元素之間的對應關系的信息;以及指定要將所述標簽檢索切換為所述關鍵詞檢索的狀態(tài)的信息;當通過所述標簽檢索檢測到已登記標簽時,查詢所述狀態(tài)管理信息;以及在當前檢索狀態(tài)為要將所述標簽檢索切換為所述關鍵詞檢索的狀態(tài)時,從所述標簽檢索切換到所述關鍵詞檢索。
4.根據(jù)權利要求2所述的記錄介質(zhì),其中所述程序控制計算機執(zhí)行以下處理在所述標簽檢索中,從所述結構化文檔的文檔數(shù)據(jù)中逐個字符地讀取字符串;將所讀取的字符串逐個字符地與所述標簽登記信息中登記的所述標簽的已登記字符串進行比較;當所讀取的字符串與所述標簽的已登記字符串匹配時,通過查詢所述狀態(tài)管理信息而檢查當前檢索狀態(tài);在當前檢索狀態(tài)為要將所述標簽檢索切換為所述關鍵詞檢索的狀態(tài)時,從所述標簽檢索切換到所述關鍵詞檢索;在所述關鍵詞檢索中,讀取與所述標簽的已登記字符串匹配的所述字符串后面的字符串;將所讀取的字符串逐個字符地與所述關鍵詞登記信息中登記的所述關鍵詞的已登記字符串進行比較;以及如果所讀取的字符串與所述關鍵詞的已登記字符串匹配,則確定所述結構化文檔是滿足所述檢索條件的文檔的候選。
5.根據(jù)權利要求2所述的記錄介質(zhì),其中在對所述結構化文檔的文檔數(shù)據(jù)進行檢索時,所述程序控制計算機執(zhí)行對所述結構化文檔的文檔數(shù)據(jù)進行添加、更新、刪除、以及批量刪除中的至少一種操作。
6.根據(jù)權利要求5所述的記錄介質(zhì),其中所述程序使計算機使用用于訪問所述結構化文檔的文檔數(shù)據(jù)的兩個數(shù)據(jù)管理表中的一個來執(zhí)行檢索所述結構化文檔的文檔數(shù)據(jù)的處理,同時使用另一個數(shù)據(jù)管理表對所述結構化文檔進行操作。
7.一種計算機可讀記錄介質(zhì),在該計算機可讀記錄介質(zhì)上記錄有用于根據(jù)檢索條件對使用標簽結構化的文檔的數(shù)據(jù)進行檢索的計算機程序,該程序控制計算機執(zhí)行以下處理分析所述檢索條件并生成標簽自動機,包含標簽的已登記字符串,該標簽表示包含在由所述檢索條件指定的檢索路徑中的各個元素;關鍵詞自動機,包含由所述檢索條件指定的關鍵詞的已登記字符串;以及狀態(tài)管理信息,用于使用所述檢索路徑來管理當前檢索狀態(tài);以預定量順序地讀取待檢索結構化文檔的文檔數(shù)據(jù);以及在使用所述狀態(tài)管理信息在從所讀取的數(shù)據(jù)串中檢測所述標簽自動機中登記的標簽的標簽檢索以及從所讀取的數(shù)據(jù)串中檢測所述關鍵詞自動機中登記的關鍵詞的關鍵詞檢索之間進行切換的同時,檢索所述結構化文檔的文檔數(shù)據(jù),并且輸出檢索結果。
8.一種傳播信號,用于傳播用于根據(jù)檢索條件對使用標簽結構化的文檔的數(shù)據(jù)進行檢索的計算機程序,該程序控制計算機執(zhí)行以下處理分析所述檢索條件并生成標簽登記信息,包含標簽的已登記字符串,該標簽表示包含在由所述檢索條件指定的檢索路徑中的各個元素;關鍵詞登記信息,包含由所述檢索條件指定的關鍵詞的已登記字符串;以及狀態(tài)管理信息,用于使用所述檢索路徑來管理當前檢索狀態(tài);以預定量順序地讀取待檢索結構化文檔的文檔數(shù)據(jù);以及在使用所述狀態(tài)管理信息在從所讀取的數(shù)據(jù)串中檢測所述標簽登記信息中登記的標簽的標簽檢索以及從所讀取的數(shù)據(jù)串中檢測所述關鍵詞登記信息中登記的關鍵詞的關鍵詞檢索之間進行切換的同時,檢索所述結構化文檔的文檔數(shù)據(jù),并且輸出檢索結果。
9.一種檢索方法,用于根據(jù)檢索條件對使用標簽結構化的文檔的數(shù)據(jù)進行檢索,該檢索方法包括以下步驟分析所述檢索條件并生成標簽登記信息,包含標簽的已登記字符串,該標簽表示包含在由所述檢索條件指定的檢索路徑中的各個元素;關鍵詞登記信息,包含由所述檢索條件指定的關鍵詞的已登記字符串;以及狀態(tài)管理信息,用于使用所述檢索路徑來管理當前檢索狀態(tài);以預定量順序地讀取待檢索結構化文檔的文檔數(shù)據(jù);以及在使用所述狀態(tài)管理信息在從所讀取的數(shù)據(jù)串中檢測所述標簽登記信息中登記的標簽的標簽檢索以及從所讀取的數(shù)據(jù)串中檢測所述關鍵詞登記信息中登記的關鍵詞的關鍵詞檢索之間進行切換的同時,檢索所述結構化文檔的文檔數(shù)據(jù),并且輸出檢索結果。
10.一種檢索設備,該檢索設備根據(jù)檢索條件對使用標簽結構化的文檔的數(shù)據(jù)進行檢索,該檢索設備包括生成裝置,用于分析所述檢索條件并生成標簽登記信息,包含標簽的已登記字符串,該標簽表示包含在由所述檢索條件指定的檢索路徑中的各個元素;關鍵詞登記信息,包含由所述檢索條件指定的關鍵詞的已登記字符串;以及狀態(tài)管理信息,用于使用所述檢索路徑來管理當前檢索狀態(tài);讀取裝置,用于以預定量順序地讀取待檢索結構化文檔的文檔數(shù)據(jù);以及檢索裝置,用于在使用所述狀態(tài)管理信息在從所讀取的數(shù)據(jù)串中檢測所述標簽登記信息中登記的標簽的標簽檢索以及從所讀取的數(shù)據(jù)串中檢測所述關鍵詞登記信息中登記的關鍵詞的關鍵詞檢索之間進行切換的同時,檢索所述結構化文檔的文檔數(shù)據(jù),并且輸出檢索結果。
全文摘要
根據(jù)檢索條件生成標簽登記信息、關鍵詞登記信息、以及狀態(tài)管理信息,并且根據(jù)該狀態(tài)管理信息由從結構化文檔的文檔數(shù)據(jù)中檢測該標簽登記信息中登記的標簽的標簽檢索切換到檢測該關鍵詞登記信息中登記的關鍵詞的關鍵詞檢索,或者由該關鍵詞檢索切換到該標簽檢索。
文檔編號G06F17/30GK1584884SQ200410048338
公開日2005年2月23日 申請日期2004年6月25日 優(yōu)先權日2003年8月20日
發(fā)明者永田真彥, 松浦正卓, 磯村則一 申請人:富士通株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
南城县| 修水县| 嫩江县| 新闻| 安阳县| 邳州市| 澳门| 阜南县| 河北区| 莱芜市| 喜德县| 宁海县| 双牌县| 松溪县| 龙海市| 思南县| 瑞昌市| 邳州市| 曲阳县| 九江市| 宁远县| 津市市| 兴国县| 青浦区| 湖北省| 宁强县| 黎平县| 彭水| 镇雄县| 名山县| 德保县| 神池县| 吴旗县| 山阴县| 绥滨县| 阳西县| 仪征市| 库尔勒市| 泸西县| 新巴尔虎左旗| 金山区|