專利名稱:樹型結(jié)構(gòu)中快速搜索定位樹結(jié)點(diǎn)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)軟件領(lǐng)域,尤其涉及一種樹型結(jié)構(gòu)中快速搜索定位樹結(jié)點(diǎn)的方法。
背景技術(shù):
在計(jì)算機(jī)軟件中,越來越多的數(shù)據(jù)以樹的形式進(jìn)行展現(xiàn),如文件夾、組織結(jié)構(gòu)樹、 內(nèi)容管理系統(tǒng)中的欄目樹、協(xié)同任務(wù)系統(tǒng)中的任務(wù)樹。由于管理數(shù)據(jù)比較方便,因此樹的技術(shù)也得到了廣泛的應(yīng)用。例如Windows 7操作系統(tǒng)中資源管理器的展開方式就是采用的樹型結(jié)構(gòu)。如果要定位到某個(gè)文件夾時(shí),只需要知道這個(gè)文件夾的具體路徑,然后一級(jí)一級(jí)的展開到該文件夾位置,就可以直接定位到此文件夾。比如要打開附圖I中所示的“persist”目錄,則按這個(gè)路徑 C: \Documents and Settings\Administrator\. jrmc\4. 0. 1\. metadata\. plugins\ com. jrockit. me. rjmx. core\ 一級(jí)一級(jí)的展開,最后則定位到persist。但此種技術(shù)沒有在文件樹上直接進(jìn)行搜索再定位的功能,如果要定位到某個(gè)文件夾,不僅要知道文件夾的名稱,還需要知道文件夾的完整路徑,然后再一級(jí)一級(jí)地展開,才可以最終定位,操作繁瑣且效率較低。再如現(xiàn)有技術(shù)中很多企業(yè)都是采用樹型結(jié)構(gòu)來分配、管理和展現(xiàn)各部門各職員的工作任務(wù)。假設(shè)有名叫做“李四”的職員,屬于客戶服務(wù)部工程處的研發(fā)組,那么他在樹型結(jié)構(gòu)中的存儲(chǔ)路徑為某公司- >客戶服務(wù)部- >工程處- >研發(fā)組- >李四。那么當(dāng)公司總經(jīng)理要找到李四這個(gè)人時(shí),需要一級(jí)一級(jí)地展開分組來查看李四到底在哪個(gè)部門哪個(gè)組,這樣搜索的工作量會(huì)非常得大。還有一種方式是隨著關(guān)鍵字的實(shí)時(shí)變化,定位也實(shí)時(shí)觸發(fā),每輸入一個(gè)關(guān)鍵字就會(huì)觸發(fā)定位一次,這樣需要一次性將所有的節(jié)點(diǎn)都加載到本地,在數(shù)據(jù)量非常多的情況下,加載需要很長的時(shí)間,也會(huì)造成服務(wù)器巨大的負(fù)擔(dān),本地實(shí)時(shí)去定位,也造成本地資源浪費(fèi)。
發(fā)明內(nèi)容
本發(fā)明主要解決的技術(shù)問題是提供一種樹型結(jié)構(gòu)中快速搜索定位樹結(jié)點(diǎn)的方法, 通過在樹型結(jié)構(gòu)上增加搜索再定位的功能,可以快速找到并定位到所需要的樹節(jié)點(diǎn)。為解決上述技術(shù)問題,本發(fā)明采用的一個(gè)技術(shù)方案是提供一種樹型結(jié)構(gòu)中快速搜索定位樹結(jié)點(diǎn)的方法,包括以下步驟SI、設(shè)置關(guān)鍵字輸入框,用于接收外部輸入關(guān)鍵字;S2、在所述關(guān)鍵字輸入框中輸入關(guān)鍵字時(shí)激活快速搜索建議過程,并判斷所述關(guān)鍵字的類型,與所述樹型結(jié)構(gòu)的樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行匹配;S3、輸出與關(guān)鍵字相匹配的樹結(jié)點(diǎn)信息標(biāo)簽建議條目,所述建議條目中每個(gè)樹結(jié)點(diǎn)信息標(biāo)簽與該樹結(jié)點(diǎn)的查找路徑相關(guān)聯(lián);S4、接收點(diǎn)擊符合條件的樹結(jié)點(diǎn)信息標(biāo)簽的指令,并定位到此樹結(jié)點(diǎn)。
其中,所述步驟S2包括以下步驟S20、在所述關(guān)鍵字為純字母時(shí),對樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行漢語拼音匹配。其中,所述步驟S20具體包括以下步驟S201、接收輸入的關(guān)鍵字,并將樹結(jié)點(diǎn)信息標(biāo)簽轉(zhuǎn)換為多組漢語拼音縮寫組合;S202、將所述關(guān)鍵字與漢語拼音縮寫組合逐個(gè)匹配,至匹配成功或匹配結(jié)束。其中,所述多組漢語拼音縮寫組合的具體生成方式包括取樹結(jié)點(diǎn)信息標(biāo)簽中每個(gè)漢字拼音的第一個(gè)字母,產(chǎn)生一個(gè)組合;或,取樹結(jié)點(diǎn)信息標(biāo)簽中某個(gè)漢字之前的所有漢字的拼音全拼,加所述某個(gè)漢字拼音的及某個(gè)漢字之后每個(gè)漢字拼音的第一個(gè)字母,產(chǎn)生一個(gè)組合。其中,所述步驟S2包括以下步驟S21、在所述關(guān)鍵字為純漢字時(shí),將所述關(guān)鍵字與所述樹結(jié)點(diǎn)信息標(biāo)簽逐個(gè)進(jìn)行漢字匹配。其中,所述步驟S2包括以下步驟S23、在所述關(guān)鍵字為其他類型時(shí),將所述關(guān)鍵字與所述樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行字符串匹配。本發(fā)明的有益效果是區(qū)別于現(xiàn)有技術(shù)中如要定位到樹型結(jié)構(gòu)中某個(gè)樹結(jié)點(diǎn),不僅要知道樹結(jié)點(diǎn)的名稱,還需要知道樹結(jié)點(diǎn)的完整路徑,然后再一級(jí)一級(jí)地展開,才可以最終定位,搜索的工作量會(huì)非常得大;且每展開一級(jí)分組就會(huì)觸發(fā)定位一次,這樣需要一次性將所有的節(jié)點(diǎn)都加載到本地,在數(shù)據(jù)量非常多的情況下,加載需要很長的時(shí)間,也會(huì)造成服務(wù)器巨大的負(fù)擔(dān),本地實(shí)時(shí)去定位,也造成本地資源浪費(fèi),操作繁瑣且效率較低。本發(fā)明提供一種樹型結(jié)構(gòu)中快速搜索定位樹結(jié)點(diǎn)的方法,在所述關(guān)鍵字輸入框中輸入關(guān)鍵字時(shí)激活快速搜索建議過程,并判斷所述關(guān)鍵字的類型,與所述樹型結(jié)構(gòu)的樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行匹配,并在輸出的樹結(jié)點(diǎn)信息標(biāo)簽建議條目中選中符合條件的樹結(jié)點(diǎn)信息標(biāo)簽并定位到此樹結(jié)點(diǎn),如此通過在樹型結(jié)構(gòu)上增加搜索再定位的功能,可以快速找到并定位到所需要的樹節(jié)點(diǎn)。也就是說,本方案在搜索時(shí)無需全部加載所有數(shù)據(jù)到本地,在關(guān)鍵字輸入過程中,每輸入或刪減一個(gè)關(guān)鍵字時(shí)(即關(guān)鍵字輸入框的內(nèi)容變化時(shí)),將當(dāng)前輸入框內(nèi)的關(guān)鍵字發(fā)送到后臺(tái)服務(wù)端,這樣與后臺(tái)服務(wù)器的通訊量很少,這樣就大大減少了后臺(tái)服務(wù)器的負(fù)擔(dān)。
圖I是現(xiàn)在技術(shù)中Windows 7操作系統(tǒng)中資源管理器的樹型結(jié)構(gòu);圖2是本發(fā)明提供的一流程圖;圖3是本發(fā)明提供的一實(shí)施例4是本發(fā)明提供的一實(shí)施例5是本發(fā)明提供的一實(shí)施例6是本發(fā)明提供的一實(shí)施例7是本發(fā)明提供的一實(shí)施例流程圖;圖8是本發(fā)明提供的一實(shí)施例流程圖。
具體實(shí)施例方式為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、構(gòu)造特征、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖詳予說明。
4
請參閱圖2及圖3,本發(fā)明提供一種樹型結(jié)構(gòu)中快速搜索定位樹結(jié)點(diǎn)的方法,包括以下步驟SI、設(shè)置關(guān)鍵字輸入框,用于接收外部輸入關(guān)鍵字;S2、在所述關(guān)鍵字輸入框中輸入關(guān)鍵字時(shí)激活快速搜索建議過程,并判斷所述關(guān)鍵字的類型,與所述樹型結(jié)構(gòu)的樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行匹配;S3、輸出與關(guān)鍵字相匹配的樹結(jié)點(diǎn)信息標(biāo)簽建議條目,所述建議條目中每個(gè)樹結(jié)點(diǎn)信息標(biāo)簽與該樹結(jié)點(diǎn)的查找路徑相關(guān)聯(lián);S4、接收點(diǎn)擊符合條件的樹結(jié)點(diǎn)信息標(biāo)簽的指令,并定位到此樹結(jié)點(diǎn)。本發(fā)明在所述關(guān)鍵字輸入框中輸入關(guān)鍵字時(shí)激活快速搜索建議過程,并判斷所述關(guān)鍵字的類型,與所述樹型結(jié)構(gòu)的樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行匹配,并在輸出查找框輸出的樹結(jié)點(diǎn)信息標(biāo)簽建議條目中選中符合條件的樹結(jié)點(diǎn)信息標(biāo)簽并定位到此樹結(jié)點(diǎn),如此通過在樹型結(jié)構(gòu)上增加搜索再定位的功能,可以快速找到并定位到所需要的樹節(jié)點(diǎn),不再需要一級(jí)一級(jí)地展開各級(jí)節(jié)點(diǎn)。也就是說,本方案在搜索時(shí)無需全部加載所有數(shù)據(jù)到本地,在關(guān)鍵字輸入過程中,每輸入或刪減一個(gè)關(guān)鍵字時(shí)(即關(guān)鍵字輸入框的內(nèi)容變化時(shí)),將當(dāng)前輸入框內(nèi)的關(guān)鍵字發(fā)送到服務(wù)端,這樣與后臺(tái)服務(wù)器的通訊量很少,這樣就大大減少了服務(wù)器的負(fù)擔(dān)。上述中當(dāng)搜索并選定符合條件的樹節(jié)點(diǎn)信息標(biāo)簽后,就可以定位到此樹節(jié)點(diǎn)。具體定位過程如下假設(shè)需要定位到“新聞網(wǎng)站\國內(nèi)新聞\各地新聞\福建新聞\”下的“要聞”欄目,順著上述全路徑,首先創(chuàng)建根節(jié)點(diǎn)“新聞網(wǎng)站”,然后查詢“新聞網(wǎng)站”下的所有子節(jié)點(diǎn),并加入根節(jié)點(diǎn)下,“新聞網(wǎng)站”下存在“國內(nèi)新聞”欄目,查詢該欄目所有的子節(jié)點(diǎn),并加入其下,依次展開剩余的“各地新聞”、“福建新聞”節(jié)點(diǎn),最后在“福建新聞”節(jié)點(diǎn)下找到所要查找的“要聞”節(jié)點(diǎn)。最后結(jié)果如圖4所示。在本發(fā)明中,在輸出與關(guān)鍵字相匹配的樹結(jié)點(diǎn)信息標(biāo)簽建議條目時(shí)搜索建議到第一個(gè)與關(guān)鍵字相匹配的樹結(jié)點(diǎn)信息標(biāo)簽時(shí),此樹結(jié)點(diǎn)信息標(biāo)簽可能并非最終所要,此時(shí)可通過鍵盤上下鍵或使用鼠標(biāo)直接選擇下一個(gè)符合條件的樹結(jié)點(diǎn)信息標(biāo)簽。請參閱圖5,隨著關(guān)鍵字輸入的變化,其輸出的樹結(jié)點(diǎn)信息標(biāo)簽建議條目也會(huì)隨著變化。請參閱圖6,在某些實(shí)施例中,當(dāng)所述輸出查找框輸出與關(guān)鍵字相匹配的樹結(jié)點(diǎn)信息標(biāo)簽建議條目時(shí),將每個(gè)樹結(jié)點(diǎn)的查找路徑與該樹結(jié)點(diǎn)信息標(biāo)簽作關(guān)聯(lián)。尤其當(dāng)系統(tǒng)中存在多個(gè)重名的欄目時(shí),可通過鍵盤上下鍵或使用鼠標(biāo)移到相應(yīng)的欄目上,查看其全路徑, 從而判斷該欄目是否是想要搜索的欄目。請參閱圖7,所述步驟S2判斷關(guān)鍵字輸入框中關(guān)鍵字的類型,并根據(jù)關(guān)鍵字的類型進(jìn)行相應(yīng)的匹配策略。主要包括以下步驟S20、在所述關(guān)鍵字為純字母時(shí),對樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行漢語拼音匹配;S21、在所述關(guān)鍵字為純漢字時(shí),將所述關(guān)鍵字與所述樹結(jié)點(diǎn)信息標(biāo)簽逐個(gè)進(jìn)行漢字匹配;S23、在所述關(guān)鍵字為其他類型時(shí),將所述關(guān)鍵字與所述樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行字符串匹配。在上述中,本發(fā)明首先判斷關(guān)鍵字的格式是否為“純字母”格式,若是,則對樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行漢語拼音匹配,匹配過程如下使用關(guān)鍵字,按樹結(jié)點(diǎn)信息標(biāo)簽拼音組合長度從小到大的順序,逐個(gè)與長度大于等于關(guān)鍵字長度的組合進(jìn)行匹配,匹配過程不區(qū)分大小與;若否,則判斷關(guān)鍵字的格式是否為“純漢字”格式,若是,則將所述關(guān)鍵字與所述樹結(jié)點(diǎn)信息標(biāo)簽逐個(gè)進(jìn)行漢字匹配;若否,則判定關(guān)鍵字的格式為其他類型,然后將所述關(guān)鍵字與所述樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行字符串匹配。請參閱圖8,所述步驟S20具體包括以下步驟S201、接收輸入的關(guān)鍵字,并將樹結(jié)點(diǎn)信息標(biāo)簽轉(zhuǎn)換為多組漢語拼音縮寫組合;S202、將所述關(guān)鍵字與漢語拼音縮寫組合逐個(gè)匹配,至匹配成功或匹配結(jié)束。在某些實(shí)施例中,上述中所述多組漢語拼音縮寫組合的具體生成方式可以是但不限于下敘方式I)取樹結(jié)點(diǎn)信息標(biāo)簽中每個(gè)漢字拼音的第一個(gè)字母,產(chǎn)生一個(gè)組合,例如樹結(jié)點(diǎn)信息標(biāo)簽為“李四”,則產(chǎn)生的組合為“Is” ;2)取樹結(jié)點(diǎn)信息標(biāo)簽中某個(gè)漢字之前的所有漢字的拼音全拼,加所述某個(gè)漢字拼音的及某個(gè)漢字之后每個(gè)漢字拼音的第一個(gè)字母,產(chǎn)生一個(gè)組合,例如樹結(jié)點(diǎn)信息標(biāo)簽為 “李四張三”,則產(chǎn)生的組合為“l(fā)isizhangWlisizs”和“l(fā)iszs”。另,多組漢語拼音縮寫組合還可以是樹結(jié)點(diǎn)信息標(biāo)簽中每個(gè)漢字拼音的全拼組合,例如樹結(jié)點(diǎn)信息標(biāo)簽為“李四張三”,則產(chǎn)生的組合為“l(fā)isizhangsan”。再請參閱圖3及圖5,不難看出,后臺(tái)服務(wù)端在“名稱”和“拼音”字段中查詢以關(guān)鍵字為開頭的樹結(jié)點(diǎn)信息標(biāo)簽,并將這樹結(jié)點(diǎn)信息標(biāo)簽的名稱、路徑等字段返回到前端顯示頁面;前端頁面中,通過樹結(jié)點(diǎn)信息標(biāo)簽建議條目來顯示后臺(tái)返回的數(shù)據(jù),返回的數(shù)據(jù)在10 條左右,交互的數(shù)據(jù)量也較少。再次改變關(guān)鍵字時(shí),再將最終的關(guān)鍵字發(fā)送到后臺(tái),然后接收從后臺(tái)返回的少量的條目。而上述實(shí)時(shí)搜索建議的過程中本地暫時(shí)未開始定位,也不浪費(fèi)資源, 同時(shí)在樹結(jié)點(diǎn)信息標(biāo)簽建議條目中可以很直觀地看到可能相關(guān)的條目,當(dāng)從建議條目中找到所需條目并通過鼠標(biāo)點(diǎn)擊或鍵盤回車后,才開始定位,定位過程僅打開選定條目所在完整路徑下的資源,無需打開不相關(guān)的資源,提高了搜索定位的效率,也減少了后臺(tái)服務(wù)器的負(fù)擔(dān)。綜上所述,區(qū)別于現(xiàn)有技術(shù)中如要定位到樹型結(jié)構(gòu)中某個(gè)樹結(jié)點(diǎn),不僅要知道樹結(jié)點(diǎn)的名稱,還需要知道樹結(jié)點(diǎn)的完整路徑,然后再一級(jí)一級(jí)地展開,才可以最終定位,搜索的工作量會(huì)非常得大;且每展開一級(jí)分組就會(huì)觸發(fā)定位一次,這樣需要一次性將所有的節(jié)點(diǎn)都加載到本地,在數(shù)據(jù)量非常多的情況下,加載需要很長的時(shí)間,也會(huì)造成服務(wù)器巨大的負(fù)擔(dān),本地實(shí)時(shí)去定位,也造成本地資源浪費(fèi),操作繁瑣且效率較低。本發(fā)明提供一種樹型結(jié)構(gòu)中快速搜索定位樹結(jié)點(diǎn)的方法,在所述關(guān)鍵字輸入框中輸入關(guān)鍵字時(shí)激活快速搜索建議過程,并判斷所述關(guān)鍵字的類型,與所述樹型結(jié)構(gòu)的樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行匹配,并在輸出的樹結(jié)點(diǎn)信息標(biāo)簽建議條目中選中符合條件的樹結(jié)點(diǎn)信息標(biāo)簽并定位到此樹結(jié)點(diǎn),如此通過在樹型結(jié)構(gòu)上增加搜索再定位的功能,可以快速找到并定位到所需要的樹節(jié)點(diǎn)。以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種樹型結(jié)構(gòu)中快速搜索定位樹結(jié)點(diǎn)的方法,其特征在于,包括以下步驟51、設(shè)置關(guān)鍵字輸入框,用于接收外部輸入關(guān)鍵字;52、在所述關(guān)鍵字輸入框中輸入關(guān)鍵字時(shí)激活快速搜索建議過程,并判斷所述關(guān)鍵字的類型,與所述樹型結(jié)構(gòu)的樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行匹配;53、輸出與關(guān)鍵字相匹配的樹結(jié)點(diǎn)信息標(biāo)簽建議條目,所述建議條目中每個(gè)樹結(jié)點(diǎn)信息標(biāo)簽與該樹結(jié)點(diǎn)的查找路徑相關(guān)聯(lián);54、接收點(diǎn)擊符合條件的樹結(jié)點(diǎn)信息標(biāo)簽的指令,并定位到此樹結(jié)點(diǎn)。
2.根據(jù)權(quán)利要求I所述的樹型結(jié)構(gòu)中快速搜索定位樹結(jié)點(diǎn)的方法,其特征在于,所述步驟S2包括以下步驟S20、在所述關(guān)鍵字為純字母時(shí),對樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行漢語拼音匹配。
3.根據(jù)權(quán)利要求2所述的樹型結(jié)構(gòu)中快速搜索定位樹結(jié)點(diǎn)的方法,其特征在于,所述步驟S20具體包括以下步驟5201、接收輸入的關(guān)鍵字,并將樹結(jié)點(diǎn)信息標(biāo)簽轉(zhuǎn)換為多組漢語拼音縮寫組合;5202、將所述關(guān)鍵字與漢語拼音縮寫組合逐個(gè)匹配,至匹配成功或匹配結(jié)束。
4.根據(jù)權(quán)利要求3所述的樹型結(jié)構(gòu)中快速搜索定位樹結(jié)點(diǎn)的方法,其特征在于,所述多組漢語拼音縮寫組合的具體生成方式包括取樹結(jié)點(diǎn)信息標(biāo)簽中每個(gè)漢字拼音的第一個(gè)字母,產(chǎn)生一個(gè)組合;或,取樹結(jié)點(diǎn)信息標(biāo)簽中某個(gè)漢字之前的所有漢字的拼音全拼,加所述某個(gè)漢字拼音的及某個(gè)漢字之后每個(gè)漢字拼音的第一個(gè)字母,產(chǎn)生一個(gè)組合。
5.根據(jù)權(quán)利要求I所述的樹型結(jié)構(gòu)中快速搜索定位樹結(jié)點(diǎn)的方法,其特征在于,所述步驟S2包括以下步驟S21、在所述關(guān)鍵字為純漢字時(shí),將所述關(guān)鍵字與所述樹結(jié)點(diǎn)信息標(biāo)簽逐個(gè)進(jìn)行漢字匹配。
6.根據(jù)權(quán)利要求I所述的樹型結(jié)構(gòu)中快速搜索定位樹結(jié)點(diǎn)的方法,其特征在于,所述步驟S2包括以下步驟S23、在所述關(guān)鍵字為其他類型時(shí),將所述關(guān)鍵字與所述樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行字符串匹配。
全文摘要
本發(fā)明公開一種樹型結(jié)構(gòu)中快速搜索定位樹結(jié)點(diǎn)的方法,包括以下步驟S1、設(shè)置關(guān)鍵字輸入框,用于接收外部輸入關(guān)鍵字;S2、在所述關(guān)鍵字輸入框中輸入關(guān)鍵字時(shí)激活快速搜索建議過程,并判斷所述關(guān)鍵字的類型,與所述樹型結(jié)構(gòu)的樹結(jié)點(diǎn)信息標(biāo)簽進(jìn)行匹配;S3、輸出與關(guān)鍵字相匹配的樹結(jié)點(diǎn)信息標(biāo)簽建議條目,所述建議條目中每個(gè)樹結(jié)點(diǎn)信息標(biāo)簽與該樹結(jié)點(diǎn)的查找路徑相關(guān)聯(lián);S4、接收點(diǎn)擊符合條件的樹結(jié)點(diǎn)信息標(biāo)簽的指令,并定位到此樹結(jié)點(diǎn)。本發(fā)明通過在樹型結(jié)構(gòu)上增加搜索再定位的功能,可以快速找到并定位到所需要的樹節(jié)點(diǎn)。
文檔編號(hào)G06F17/30GK102609545SQ20121006645
公開日2012年7月25日 申請日期2012年3月14日 優(yōu)先權(quán)日2012年3月14日
發(fā)明者林輝, 高可翔 申請人:福建榕基軟件股份有限公司