一種嵌入式設備的高效搜索方法,包括:創建搜索助手,在其內申請搜索緩沖器;調用者向搜索助手請求搜索關鍵字,搜索助手在源數據處進行一次全范圍搜索,將搜索結果拷貝至緩沖器,記錄上次搜索關鍵字,并返回預置數量的記錄呈現給調用者;當調用者繼續向搜索助手請求搜索關鍵字,搜索助手如果檢查到是在上次關鍵字的基礎上搜索,則直接從緩沖器中清除掉不符合條件的搜索結果,記錄上次搜索關鍵字,并返回預置數量的記錄呈現給調用者;搜索助手如果檢查到不是在上次關鍵字的基礎上搜索,則重新在源數據處進行一次全范圍搜索。在嵌入式設備中采用本發明專利技術的搜索方法,實現高效搜索。
【技術實現步驟摘要】
本專利技術涉及。
技術介紹
嵌入式設備主要由嵌入式處理器、相關支撐硬件和嵌入式軟件系統組成,它是集軟硬件于一體的可獨立工作的“器件”。嵌入式處理器主要由一個單片機或微控制器(MCU)組成。相關支撐硬件包括顯示卡、存儲介質(ROM和RAM等)、通訊設備、IC卡或信用卡的讀取設備等。嵌入式設備的系統有別于一般的計算機處理系統,它不具備像硬盤那樣大容量的存儲介質,而大多使用閃存(Flash Memory)作為存儲介質。目前市面上的嵌入式設備基本都有實現搜索功能,例如對于通訊錄的搜索,主要 有三種搜索方法第一種是基于聯系人姓名的首字母進行的搜索;第二種是基于聯系人姓名的全拼進行的搜索;第三種是基于聯系人姓名進行的搜索。例如通訊錄中聯系人“張三”,可以通過姓名的首字母“zs”進行搜索,也可以通過姓名的全拼“zhangsan”進行搜索,還可以通過姓名“張三”進行搜索。也有的嵌入式設備中實現了用電話號碼的前幾位進行搜索,可以搜索到以某位或某幾位號碼開頭的所有的電話記錄。但是,無論是上述的哪種搜索方法,每一次的搜索請求,都是需要在源數據處進行一次全范圍搜索,這在資源受限的嵌入式設備中,由于其內存小,CPU運算能力弱,搜索效率往往不高。有鑒于此,本專利技術人針對現有技術的缺陷深入研究,并有本案產生。
技術實現思路
本專利技術所要解決的技術問題在于提供。本專利技術采用以下技術方案解決上述技術問題 ,包括如下步驟 步驟I :創建搜索助手,在其內申請搜索緩沖器;所述緩沖器用于保存搜索結果,以及上次的搜索關鍵字; 步驟2 :調用者向所述搜索助手請求搜索關鍵字; 步驟3 :所述搜索助手在源數據處進行一次全范圍搜索,將搜索結果拷貝至所述緩沖器,并在所述緩沖器中記錄上次的搜索關鍵字,將搜索結果中預置數量的記錄返回呈現給調用者; 步驟4 :當調用者繼續向搜索助手請求搜索關鍵字; 步驟5 :搜索助手檢測判斷是否是在上次關鍵字的基礎上搜索,是,則轉入步驟6 ;否,則轉入步驟3 ; 步驟6 :搜索助手直接從所述緩沖器中清除掉不符合條件的搜索結果,并在所述緩沖器中記錄上次的搜索關鍵字,將搜素結果中預置數量的記錄返回呈現給調用者。進一步地,所述預置數量的記錄是指第I至第10條的記錄,如果不足10條則指全部記錄。本專利技術的優點在于采用本專利技術的技術方案,實際上是通過犧牲首次搜索時間,換取后續搜索的效率。它是時間換取空間的一種形式。在嵌入式設備中采用本專利技術的搜索方法,實現高效搜索。附圖說明下面參照附圖結合實施例對本專利技術作進一步的描述。圖I是本專利技術方法流程示意圖。具體實施方式 如圖I所示,,包括如下步驟 步驟I :創建搜索助手,在其內申請搜索緩沖器;所述緩沖器用于保存搜索結果,以及上次的搜索關鍵字; 步驟2 :調用者向所述搜索助手請求搜索關鍵字; 步驟3 :所述搜索助手在源數據處進行一次全范圍搜索,將搜索結果拷貝至所述緩沖器,并在所述緩沖器中記錄上次的搜索關鍵字,將搜索結果中預置數量的記錄返回呈現給調用者; 步驟4 :當調用者繼續向搜索助手請求搜索關鍵字; 步驟5 :搜索助手檢測判斷是否是在上次關鍵字的基礎上搜索,是,則轉入步驟6 ;否,則轉入步驟3 ; 步驟6 :搜索助手直接從所述緩沖器中清除掉不符合條件的搜索結果,并在所述緩沖器中記錄上次的搜索關鍵字,將搜素結果中預置數量的記錄返回呈現給調用者。下面舉一具體實例進行說明 首先創建搜索助手,在其內申請搜索緩沖器;該緩沖器用于保存搜索結果,以及上次的搜索關鍵字; 調用者向搜索助手請求搜索關鍵字“ I” ; 搜索助手在源數據處進行一次全范圍搜索,將所有符合關鍵字“I”的搜索結果拷貝至緩沖器,并在緩沖器中記錄搜索關鍵字1,將搜索結果中預置數量的記錄,例如第I至第10條的記錄返回呈現給調用者,如果全部搜索結果不足10條,則返回全部記錄呈現給調用者; 當調用者繼續向搜索助手請求搜索關鍵字“13” ; 搜索助手檢測到是在上次關鍵字的基礎上搜索,則搜索助手直接從緩沖器中清除掉不符合條件的搜索結果,即緩沖器中只保存與第一位搜索關鍵詞1+第二位搜索關鍵詞3匹配的搜索結果,并在緩沖器中記錄上次的搜索關鍵字“13”,將搜素結果中預置數量的記錄返回呈現給調用者。以此類推,直至第一位搜索關鍵詞+第二位搜索關鍵詞+…+第N位搜索關鍵詞,搜索完畢。當調用者繼續向搜索助手請求搜索關鍵字“I” ;搜索助手檢測到不是在上次關鍵字“13”的基礎上搜索,則重新在源數據處進行一次全范圍搜索,將所有符合關鍵字“I”的搜索結果拷貝至緩沖器,并在緩沖器中記錄搜索關鍵字“ 1”,將搜索結果中預置數量的記錄返回呈現給調用者。從以上具體實例可以看出,若調用者在原有N位數的搜索關鍵詞的基礎上往回刪除M個位數的搜索關鍵詞,即第一位搜索關鍵詞+第二位搜索關鍵詞+…+第N-M位搜索關鍵詞,則搜索助手在源數據處進行一次全范圍搜索,將所有與第一位搜索關鍵詞+第二位搜索關鍵詞++第N-M位搜索關鍵詞匹配的搜索結果拷貝至緩沖器,將搜索結果中預置數量的記錄返回搜索助手呈現給調用者。下面舉例說明本專利技術的有益效果 假設搜索范圍是1000個聯系人,則創建搜索助手需要的額外內存空間為1000個指針+ 32長度的搜索關鍵字,S卩1000 * 4 + 32 * 2 = 4064個字節。 假設1000中有500個以“I”開頭的聯系人,則在首次搜索結束后,搜索范圍將縮小一半。由于嵌入式設備CPU運行能力弱,搜索范圍減少一半后,CPU的運行時間也減少了一半。在使用者通過“I”取不同范圍記錄時,搜索助手完全沒有重新搜索的過程,CPU所需要計算的只是拷貝指定記錄。因此,本專利技術實際上是通過犧牲首次搜索時間,換取后續搜索的效率。它是時間換取空間的一種形式。在嵌入式設備中采用本專利技術的搜索方法,實現高效搜索。以上所述僅為本專利技術的較佳實施用例而已,并非用于限定本專利技術的保護范圖。凡在本專利技術的精神和原則之內,所作的任何修改、等同替換以及改進等,均應包含在本專利技術的保護范圍之內。權利要求1.,其特征在于包括如下步驟 步驟I:創建搜索助手,在其內申請搜索緩沖器;所述緩沖器用于保存搜索結果,以及上次的搜索關鍵字; 步驟2 :調用者向所述搜索助手請求搜索關鍵字; 步驟3 :所述搜索助手在源數據處進行一次全范圍搜索,將搜索結果拷貝至所述緩沖器,并在所述緩沖器中記錄上次的搜索 關鍵字,將搜索結果中預置數量的記錄返回呈現給調用者; 步驟4 :當調用者繼續向搜索助手 請求搜索關鍵字 ; 步驟5 :搜索助手檢測判斷是否是在上次關鍵字的基礎上搜索,是,則轉入步驟6 ;否,則轉入步驟3 ; 步驟6 :搜索助手直接從所述緩沖器中清除掉不符合條件的搜索結果,并在所述緩沖器中記錄上次的搜索關鍵字,將搜素結果中預置數量的記錄返回呈現給調用者。2.如權利要求I所述的,其特征在于所述預置數量的記錄是指第I至第10條的記錄,如果不足10條則指全部記錄。全文摘要,包括創建搜索助手,在其內申請搜索緩沖器;調用者向搜索助手請求搜索關鍵字,搜索助手在源數據處進行一次全范圍搜索,將搜索結果拷貝至緩沖器,記錄上次搜索關鍵字,并返回預置數量的記錄呈現給調用者;當調用者繼續向搜索助手請求搜索關鍵字,搜索助手如果檢查到本文檔來自技高網...
【技術保護點】
一種嵌入式設備的高效搜索方法,其特征在于:包括如下步驟:步驟1:創建搜索助手,在其內申請搜索緩沖器;所述緩沖器用于保存搜索結果,以及上次的搜索關鍵字;步驟2:調用者向所述搜索助手請求搜索關鍵字;步驟3:所述搜索助手在源數據處進行一次全范圍搜索,將搜索結果拷貝至所述緩沖器,并在所述緩沖器中記錄上次的搜索關鍵字,將搜索結果中預置數量的記錄返回呈現給調用者;步驟4:當調用者繼續向搜索助手請求搜索關鍵字;步驟5:搜索助手檢測判斷是否是在上次關鍵字的基礎上搜索,是,則轉入步驟6;否,則轉入步驟3;步驟6:搜索助手直接從所述緩沖器中清除掉不符合條件的搜索結果,并在所述緩沖器中記錄上次的搜索關鍵字,將搜素結果中預置數量的記錄返回呈現給調用者。
【技術特征摘要】
【專利技術屬性】
技術研發人員:任小偉,
申請(專利權)人:廈門億聯網絡技術股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。