国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法和裝置的制作方法

      文檔序號(hào):6151239閱讀:194來(lái)源:國(guó)知局
      專利名稱:興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)據(jù)庫(kù)領(lǐng)域,特別是指一種興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方 法和裝置。
      背景技術(shù)
      現(xiàn)有技術(shù)中,為了提高對(duì)興趣點(diǎn)數(shù)據(jù)庫(kù)的檢索性能,采用倒排索引技術(shù)建
      立索引機(jī)制。興趣點(diǎn)(POI, Point of Interest)是導(dǎo)航電子地圖上有特定位置和 屬性的點(diǎn)位。興趣點(diǎn)數(shù)據(jù)庫(kù),則是管理大量興趣點(diǎn)的屬性的系統(tǒng)。興趣點(diǎn)數(shù)據(jù) 庫(kù)有一個(gè)相應(yīng)的索引數(shù)據(jù)庫(kù),為興趣點(diǎn)索引數(shù)據(jù)庫(kù)。索引是海量數(shù)據(jù)庫(kù)不可缺 少的,這是因?yàn)樗饕龔哪撤N意義上是一種將原數(shù)據(jù)庫(kù)按^f企索要求排序后的數(shù)據(jù) 庫(kù),它的存在能夠大大提高檢索的效率。興趣點(diǎn)屬性可以為興趣點(diǎn)的名稱、地 址信息等。興趣點(diǎn)屬性由文字單元組成,文字單元可以為漢字或拼音。也就是 說(shuō),興趣點(diǎn)屬性的表示方法可以分為兩種, 一種以是以漢字為主的形式表示, 同時(shí)可以包括少量字母、數(shù)字、符號(hào)等,我們稱其為漢字屬性,例如興趣點(diǎn) l:(編號(hào)100,名稱"東方商廈A" },其中"東"、"方"、"A"為最小組成元 素。另一種以拼音的形式表示,同時(shí)可以包括少量字母、數(shù)字、符號(hào)等,我們 稱其為拼音屬性,例如興趣點(diǎn)1: {編號(hào)100,名稱"dong fang shang sha A" }, 其中"dong"、 "fang"、 "A,,為最小組成元素。
      以下描述采用倒排技術(shù)創(chuàng)建興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的方法。通常僅知道 漢字在哪些興趣點(diǎn)中出現(xiàn)還不夠,還需要知道漢字在興趣點(diǎn)中出現(xiàn)的次數(shù)和出 現(xiàn)的位置,索引結(jié)構(gòu)如下
      關(guān)鍵字(興趣點(diǎn)1編號(hào),出現(xiàn)頻率,[位置l,位置2, ...]},
      (興趣點(diǎn)2編號(hào),出現(xiàn)頻率,[位置l,位置2, ...]},...
      假設(shè)有三個(gè)興趣點(diǎn),其編號(hào)和興趣點(diǎn)名稱如下
      5興趣點(diǎn)1:{編號(hào)100,名稱"東方商廈"} 興趣點(diǎn)2:(編號(hào)120,名稱"浦東新區(qū)東方路") 興趣點(diǎn)3:(編號(hào)150,名稱"浦東新區(qū)東明路") 按照前面介紹的索引結(jié)構(gòu),相應(yīng)建立的倒排索引如下 "東,,{濯,1,
      },{120,2,[1, 4]} ,{150,2,[1, 4]} "方,,{100,1,[1]}, {120,1,[5]} "商"{100,1,[2]} "廈"{100,1,[3]} "浦,,{120, 1,
      } ,{150, 1,
      } "新"{120, 1,[2]} ,{150, 1,[2]} "區(qū),,{120, 1,[3]} ,{150, 1,[3]} "明,,{150,1,[5]} "路"{120, 1,[6]} ,{150, 1,[6]} 以下描述倒排表檢索技術(shù)。檢索時(shí),假設(shè)待查漢字串為"東方路",首先 通過(guò)漢字列表定位各漢字的索引數(shù)據(jù),然后對(duì)數(shù)據(jù)進(jìn)行分析。
      "東"的索引數(shù)據(jù)中含有興趣點(diǎn)編號(hào)為{100, 120, 150};"方,,的索引數(shù) 據(jù)中含有興趣點(diǎn)編號(hào)為{100, 120};"路"的索引數(shù)據(jù)中含有興趣點(diǎn)編號(hào)為 {120, 150}。取交集后,只有興趣點(diǎn)編號(hào)為120的記錄符合條件。
      "東"在興趣點(diǎn)編號(hào)為120的記錄中的位置為[l, 4],其中位置"4"與 "方,,在興趣點(diǎn)編號(hào)為120的記錄中的位置"5"的差值剛好是漢字"東"的 長(zhǎng)度。同樣"方"和"路"在興趣點(diǎn)編號(hào)為120的記錄中的位置差值剛好是漢 字"方"的長(zhǎng)度。因此興趣點(diǎn)編號(hào)120(其名稱為"浦東新區(qū)東方路,,)為一 個(gè)命中興趣點(diǎn)。
      以上可知,倒排表模型創(chuàng)建索引的速度較快,可以解決興趣點(diǎn)屬性的高效 檢索功能。但是,倒排索引結(jié)構(gòu)包括興趣點(diǎn)編號(hào),興趣點(diǎn)名稱索引數(shù)據(jù)庫(kù)需要 存儲(chǔ)大規(guī)模的文本信息,特別是需要存儲(chǔ)興趣點(diǎn)名稱的位置信息,空間開銷也 比較大。

      發(fā)明內(nèi)容
      本發(fā)明要解決的技術(shù)問(wèn)題是提供一種減少空間開銷的興趣點(diǎn)屬性的索引 數(shù)據(jù)庫(kù)的生成方法和裝置。
      為解決上述技術(shù)問(wèn)題,本發(fā)明的實(shí)施例提供技術(shù)方案如下 一方面,提供一種興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法,包括 統(tǒng)計(jì)所述興趣點(diǎn)屬性中出現(xiàn)的不同文字單元; 獲取所述文字單元的編碼;
      查找包含所述文字單元的興趣點(diǎn)屬性以及所述文字單元在所述興趣點(diǎn)屬 性中的位置;
      根據(jù)所述興趣點(diǎn)屬性對(duì)應(yīng)的興趣點(diǎn)編號(hào)之間差值的大小以及所述文字單 元在所述興趣點(diǎn)屬性中的位置,生成所述文字單元的索引記錄列表;
      根據(jù)所述文字單元的索引記錄列表的長(zhǎng)度,生成所述文字單元索引記錄列 表的地址信息;
      組合所述文字單元的編碼、所述文字單元的索引記錄列表、所述文字單元 的索引記錄列表的地址信息,生成所述興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)。
      所述根據(jù)所述興趣點(diǎn)屬性對(duì)應(yīng)的興趣點(diǎn)編號(hào)之間差值的大小以及所述文 字單元在所述興趣點(diǎn)屬性中的位置,生成所述文字單元的索引記錄列表的步驟 包括
      依次獲取包含所述文字單元的興趣點(diǎn)屬性作為當(dāng)前興趣點(diǎn)屬性;
      判斷所述文字單元在當(dāng)前興趣點(diǎn)屬性中是否為第一次出現(xiàn),且所述當(dāng)前興
      趣點(diǎn)屬性是否為包括所述文字單元的興趣點(diǎn)編號(hào)最小的興趣點(diǎn)屬性,生成判斷
      結(jié)果;
      才艮據(jù)所述判斷結(jié)果,生成所述文字單元的索引記錄; 組合所述文字單元的索引記錄,生成所述文字單元的索引記錄列表。 所述根據(jù)所述判斷結(jié)果,生成所述文字單元的索引記錄的步驟包括 當(dāng)所述判斷結(jié)果為所述文字單元在所述當(dāng)前興趣點(diǎn)屬性中為第一次出 現(xiàn),且所述當(dāng)前興趣點(diǎn)屬性為包括所述文字單元的興趣點(diǎn)編號(hào)最小的興趣點(diǎn)屬 性時(shí),生成的所述文字單元的索引記錄包括第一索引記錄類型標(biāo)識(shí)和所述當(dāng)前興趣點(diǎn)編號(hào)以及所述文字單元在所述當(dāng)前興趣點(diǎn)屬性的位置;
      當(dāng)所述判斷結(jié)果為所述文字單元在所述當(dāng)前興趣點(diǎn)屬性中不是第一次出 現(xiàn),生成的所述文字單元的索引記錄包括第二索引記錄類型標(biāo)識(shí)、所述文字 單元在所述當(dāng)前興趣點(diǎn)屬性的位置;
      當(dāng)所述判斷結(jié)果為所述文字單元在所述當(dāng)前興趣點(diǎn)屬性中為第一次出 現(xiàn),且所述當(dāng)前興趣點(diǎn)屬性不是包括所述文字單元的興趣點(diǎn)編號(hào)最小的興趣點(diǎn) 屬性時(shí),則計(jì)算所述當(dāng)前興趣點(diǎn)編號(hào)與上一條興趣點(diǎn)編號(hào)之間的差值,根據(jù)所 述差值的大小選擇相應(yīng)字節(jié)長(zhǎng)度的索引記錄類型,生成所述文字單元的索引記 錄。
      所述根據(jù)所述差值的大小選擇相應(yīng)字節(jié)長(zhǎng)度的索引記錄類型,生成所述文 字單元的索引記錄的步驟具體為
      當(dāng)所述文字單元的當(dāng)前興趣點(diǎn)編號(hào)與上一條興趣點(diǎn)編號(hào)之間的差值為大 于零且小于預(yù)定值時(shí),所述文字單元的索引記錄包括第三索引記錄類型標(biāo)識(shí)、 所述差值、所述文字單元在所述當(dāng)前興趣點(diǎn)屬性的位置;
      當(dāng)所述文字單元的當(dāng)前興趣點(diǎn)編號(hào)與所述上一條興趣點(diǎn)編號(hào)之間的差值 大于或等于所述預(yù)定值,所述文字單元的索引記錄包括第四索引記錄類型標(biāo) 識(shí)、所述當(dāng)前興趣點(diǎn)編號(hào)、所述文字單元在所述當(dāng)前興趣點(diǎn)屬性的位置。
      所述查找包含所述文字單元的興趣點(diǎn)屬性以及所述文字單元在所述興趣 點(diǎn)屬性中的位置的步驟之前,還包括對(duì)所述文字單元的編碼進(jìn)行排序;
      所述查找包含所述文字單元的興趣點(diǎn)屬性以及所述文字單元在所述興趣 點(diǎn)屬性中的位置的步驟具體為
      依次查找包含所述文字單元的興趣點(diǎn)屬性以及所述文字單元在所述興趣 點(diǎn)屬性中的位置。
      所述文字單元為漢字或拼音。
      當(dāng)所述文字單元為漢字時(shí),所述獲取所述文字單元的編碼的步驟具體為
      按照漢字編碼方式,獲得所述漢字的編碼;或
      對(duì)所述漢字進(jìn)行順序編號(hào),將所述漢字的編號(hào)作為所述漢字的編碼。
      當(dāng)所述文字單元為拼音時(shí),所述獲取所述文字單元的編碼的步驟具體為對(duì)所述拼音進(jìn)行順序編號(hào),將所述拼音的編號(hào)作為所述拼音的編碼。
      另一方面,提供一種興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成裝置,包括 統(tǒng)計(jì)單元,用于統(tǒng)計(jì)所述興趣點(diǎn)屬性中出現(xiàn)的不同文字單元; 獲取單元,用于獲取所述文字單元的編碼;
      查找單元,用于查找包含所述文字單元的興趣點(diǎn)屬性以及所述文字單元在 所述興趣點(diǎn)屬性中的位置;
      索引記錄列表生成單元,用于根據(jù)所述興趣點(diǎn)屬性對(duì)應(yīng)的興趣點(diǎn)編號(hào)之間 差值的大小以及所述文字單元在所述興趣點(diǎn)屬性中的位置,生成所述文字單元 的索引記錄列表;
      地址信息生成單元,用于根據(jù)所述文字單元的索引記錄列表的長(zhǎng)度,生成 所述文字單元的索S1記錄列表的地址信息;
      組合單元,用于組合所述文字單元的編碼、所述文字單元的索引記錄列表、 所述文字單元的索引記錄列表的地址信息,生成所述興趣點(diǎn)屬性的索引數(shù)據(jù) 庫(kù)。
      所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成裝置,還包括排序單元,用于對(duì) 所述文字單元的編碼進(jìn)行排序;
      所述查找單元依次查找包含所述文字單元的興趣點(diǎn)屬性以及所述文字單 元在所述興趣點(diǎn)屬性中的位置。
      本發(fā)明的實(shí)施例具有以下有益效果
      上述方案中,由于索引記錄列表是根據(jù)興趣點(diǎn)編號(hào)之間的差值生成的,興 趣點(diǎn)編號(hào)之間的差值比興趣點(diǎn)編號(hào)的數(shù)值要小,因此興趣點(diǎn)編號(hào)之間的差值占 用的字節(jié)比興趣點(diǎn)編號(hào)占用的字節(jié)要少,因此能夠減少索引數(shù)據(jù)庫(kù)的空間開 銷。


      圖1為本發(fā)明所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法的一實(shí)施例的 流程示意圖2為本發(fā)明所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法的另一實(shí)施例的流程示意圖3為本發(fā)明所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法的另一實(shí)施例 的流程示意圖4為本發(fā)明所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法的應(yīng)用場(chǎng)景的 流程示意圖5為圖4所示的應(yīng)用場(chǎng)景中步驟41的流程示意圖; 圖6為圖4所示的應(yīng)用場(chǎng)景中步驟42的流程示意圖; 圖7為圖4所示的應(yīng)用場(chǎng)景中興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的結(jié)構(gòu)圖; 圖8為圖4所示的應(yīng)用場(chǎng)景中步驟43的流程示意圖; 圖9為圖4所示的應(yīng)用場(chǎng)景中將索引記錄轉(zhuǎn)換為類型1的示意圖; 圖IO為類型1的索引記錄的數(shù)據(jù)結(jié)構(gòu)示意圖; 圖11為圖4所示的應(yīng)用場(chǎng)景中將索引記錄轉(zhuǎn)換為類型2的示意圖; 圖12為類型2的索引記錄的數(shù)據(jù)結(jié)構(gòu)示意圖; 圖13為圖4所示的應(yīng)用場(chǎng)景中將索引記錄轉(zhuǎn)換為類型3的示意圖; 圖14為類型3的索引記錄的數(shù)據(jù)結(jié)構(gòu)示意圖; 圖15為圖4所示的應(yīng)用場(chǎng)景中將索引記錄轉(zhuǎn)換為類型4的示意圖; 圖16為類型4的索引記錄的數(shù)據(jù)結(jié)構(gòu)示意圖; 圖17為圖4所示的應(yīng)用場(chǎng)景中步驟44的流程示意圖; 圖18為圖4所示的應(yīng)用場(chǎng)景中步驟45的流程示意圖; 圖19為本發(fā)明所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成裝置的一實(shí)施例的 結(jié)構(gòu)示意圖20為本發(fā)明所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成裝置的另一實(shí)施例 的結(jié)構(gòu)示意圖。
      具體實(shí)施例方式
      為使本發(fā)明的實(shí)施例要解決的技術(shù)問(wèn)題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面 將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述。
      本發(fā)明的實(shí)施例針對(duì)現(xiàn)有技術(shù)中興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的空間開銷比
      10較大的問(wèn)題,提供一種興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法和裝置。
      如圖1所示,為本發(fā)明的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法的一實(shí)施
      例,包括
      步驟11,統(tǒng)計(jì)所述興趣點(diǎn)屬性中出現(xiàn)的不同文字單元。當(dāng)同一個(gè)文字單 元在同一興趣點(diǎn)屬性中再次出現(xiàn),則不再統(tǒng)計(jì),當(dāng)同一個(gè)文字單元在不同興趣 點(diǎn)屬性中再次出現(xiàn),也不再統(tǒng)計(jì)。文字單元可以為漢字或拼音。例如,興趣點(diǎn) 1: {編號(hào)100,名稱"東方商廈"}中,文字單元分別為"東""方""商" "廈"。
      步驟12,獲取所述文字單元的編碼。
      步驟13,查找包含所述文字單元的興趣點(diǎn)屬性以及所述文字單元在所述 興趣點(diǎn)屬性中的位置;例如,興趣點(diǎn)l: {編號(hào)100,名稱"東方商廈"}中, "東"的興趣點(diǎn)編號(hào)為100,在興趣點(diǎn)屬性中的位置為"0",而"方"在興趣 點(diǎn)1的位置為"1",以此類推。
      步驟14,根據(jù)所述興趣點(diǎn)屬性對(duì)應(yīng)的興趣點(diǎn)編號(hào)之間差值的大小以及所 述文字單元在所述興趣點(diǎn)屬性中的位置,生成所述文字單元的索引記錄列表。
      步驟15,根據(jù)所述文字單元的索引記錄列表的長(zhǎng)度,生成所述文字單元 的索引記錄列表的地址信息。
      步驟16,組合所述文字單元的編碼、所述文字單元的索引記錄列表、所 述文字單元的索引記錄列表的地址信息,生成所述興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)。
      上述方案中,由于文字單元的索引記錄列表是根據(jù)興趣點(diǎn)編號(hào)之間的差值 生成的,興趣點(diǎn)編號(hào)之間的差值比興趣點(diǎn)編號(hào)的數(shù)值要小,因此興趣點(diǎn)編號(hào)之 間的差值占用的字節(jié)比興趣點(diǎn)編號(hào)占用的字節(jié)要少,因此能夠減少興趣點(diǎn)屬性 的索引數(shù)據(jù)庫(kù)的空間開銷。
      如圖2所示,為興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法另一實(shí)施例,該實(shí)施 例以興趣點(diǎn)屬性為漢字屬性為例進(jìn)行描述。所述方法包括
      步驟21,統(tǒng)計(jì)所述興趣點(diǎn)屬性中出現(xiàn)的不同漢字。當(dāng)同一個(gè)漢字在同一 興趣點(diǎn)屬性中再次出現(xiàn),則不再統(tǒng)計(jì)。當(dāng)同一個(gè)漢字在不同興趣點(diǎn)屬性中再次 出現(xiàn),也不再統(tǒng)計(jì)。本領(lǐng)域技術(shù)人員可以明白,對(duì)其他少量的字母、數(shù)字、符號(hào)也可以統(tǒng)計(jì),進(jìn)行索引。此實(shí)施例中,為了減少數(shù)據(jù)庫(kù)的存儲(chǔ)空間,對(duì)其他
      少量的字母、數(shù)字、符號(hào)可以不統(tǒng)計(jì),不進(jìn)行索引。例如,興趣點(diǎn)l: {編號(hào) 100,名稱"東方商廈A" }和興趣點(diǎn)2:{編號(hào)101,名稱"東方喜羊羊"} 中,統(tǒng)計(jì)的不同漢字分別為"東"、"方"、"商"、"廈""喜,,"羊"。對(duì)"A"可 以不進(jìn)行索引。由于興趣點(diǎn)2中的"東"、"方"已經(jīng)在興趣點(diǎn)l中出現(xiàn)過(guò),因 此不進(jìn)行第二次統(tǒng)計(jì),同理,"羊"在興趣點(diǎn)2中出現(xiàn)了兩次,因此只統(tǒng)計(jì)一 次。
      步驟22,獲取所述漢字的編碼。具體來(lái)講,可以按照GB2312、 GBK、 Unicode或UTF-8等漢字編碼方式,對(duì)所述漢字進(jìn)行編碼。也可以為,對(duì)所述 漢字進(jìn)行編號(hào),將所述漢字的編號(hào)作為所述漢字的編碼。例如,分別將"東,, "方""商""廈"編號(hào)為1、 2、 3、 4,將l、 2、 3、 4分別作為"東""方" "商""廈"的編碼。這種編號(hào)的編碼方式比上述的漢字編碼方式占用的存儲(chǔ) 空間小。
      步驟23,對(duì)所述漢字的編碼進(jìn)行排序。具體來(lái)講,可以按照GB2312、 GBK、 Unicode、 UTF-8等漢字編碼順序,對(duì)所述漢字的編碼進(jìn)行排序。也可 以為,按照漢字編號(hào)大小順序,對(duì)所述漢字的編碼進(jìn)行排序。
      步驟24,依次查找包含所述漢字的興趣點(diǎn)屬性以及所述漢字在所述興趣 點(diǎn)屬性中的位置。例如,例如興趣點(diǎn)l: {編號(hào)100,名稱"東方商廈A" } 中,漢字"方"的位置為2。
      步驟25,依次獲取包含所述漢字的興趣點(diǎn)屬性作為當(dāng)前興趣點(diǎn)屬性。
      步驟26,判斷所述漢字在當(dāng)前興趣點(diǎn)屬性中是否為第一次出現(xiàn),且所述 當(dāng)前興趣點(diǎn)屬性是否為包括所述漢字的興趣點(diǎn)編號(hào)最小的記錄,生成判斷結(jié) 果;根據(jù)不同判斷結(jié)果,分別轉(zhuǎn)向步驟27、步驟28、和步驟29。
      步驟27,當(dāng)所述判斷結(jié)果為第一判斷結(jié)果所述漢字在所述當(dāng)前興趣點(diǎn) 屬性中為第一次出現(xiàn),且所述當(dāng)前興趣點(diǎn)屬性為包括所述漢字的興趣點(diǎn)編號(hào)最 小的記錄時(shí),生成所述漢字的索引記錄包括第一索引記錄類型標(biāo)識(shí)和所述當(dāng) 前興趣點(diǎn)編號(hào)以及所述漢字在所述當(dāng)前興趣點(diǎn)屬性的位置。索引記錄類型表示 漢字的索引記錄的字節(jié)長(zhǎng)度和格式,漢字的索引記錄的字節(jié)長(zhǎng)度根據(jù)當(dāng)前興趣
      12點(diǎn)編號(hào)的大小而確定。如果當(dāng)前興趣點(diǎn)編號(hào)的數(shù)值比較大時(shí),可以生成字節(jié)長(zhǎng) 度長(zhǎng)的索引記錄類型,如果當(dāng)前興趣點(diǎn)編號(hào)的數(shù)值比較小時(shí),可以生成字節(jié)長(zhǎng)
      度短的索引記錄類型。例如,漢字的索引記錄為{第一索引記錄類型標(biāo)識(shí) "111",當(dāng)前興趣點(diǎn)編號(hào),漢字在當(dāng)前興趣點(diǎn)屬性的位置}。其中,第一索引 記錄類型標(biāo)識(shí)、興趣點(diǎn)編號(hào)、漢字在當(dāng)前興趣點(diǎn)屬性的位置之間的順序可以調(diào) 整,然后,轉(zhuǎn)向步驟210。
      步驟28,當(dāng)所述判斷結(jié)果為第二判斷結(jié)果所述漢字在所述當(dāng)前興趣點(diǎn) 屬性中不是第一次出現(xiàn),生成的所述漢字的索引記錄包括第二索引記錄類型 標(biāo)識(shí)、所述漢字在所述當(dāng)前興趣點(diǎn)屬性的位置。然后,轉(zhuǎn)向步驟210。
      步驟29,當(dāng)所述判斷結(jié)果為第三判斷結(jié)果所述漢字在所述當(dāng)前興趣點(diǎn) 屬性中為第一次出現(xiàn),且所述當(dāng)前興趣點(diǎn)屬性不是包括所述漢字的興趣點(diǎn)編號(hào) 最小的記錄時(shí),則計(jì)算所述當(dāng)前興趣點(diǎn)編號(hào)與上一條興趣點(diǎn)編號(hào)之間的差值, 根據(jù)所述差值的大小選擇相應(yīng)字節(jié)長(zhǎng)度的索引記錄類型,生成所述漢字的索引 記錄;索引記錄類型表示漢字的索引記錄的字節(jié)長(zhǎng)度和格式,例如,漢字的索 引記錄為(索引記錄類型標(biāo)識(shí)"10",漢字在當(dāng)前興趣點(diǎn)屬性的位置}。其中, 第二索引記錄類型標(biāo)識(shí)、漢字在當(dāng)前興趣點(diǎn)屬性的位置之間的順序可以調(diào)整。 該漢字的索引記錄中,省略了興趣點(diǎn)編號(hào),因此,節(jié)省了索引記錄占用的空間。 然后,轉(zhuǎn)向步驟210。
      步驟29中,當(dāng)所述漢字的當(dāng)前興趣點(diǎn)編號(hào)與上一條興趣點(diǎn)編號(hào)之間的差 值為大于零且小于預(yù)定值時(shí),所述漢字的索引記錄包括第三索引記錄類型標(biāo) 識(shí)、所述差值、所述漢字在所述當(dāng)前興趣點(diǎn)屬性的位置。索引記錄類型表示漢 字的索引記錄的字節(jié)長(zhǎng)度和格式,所述漢字的索引記錄的字節(jié)長(zhǎng)度根據(jù)所述差 值的大小而確定。如果差值比較大時(shí),可以生成字節(jié)長(zhǎng)度長(zhǎng)的索引記錄類型, 如果差值比較小時(shí),可以生成字節(jié)長(zhǎng)度短的索引記錄類型。例如,差值位于差 值區(qū)間[l, 511]內(nèi)時(shí),漢字的索引記錄的長(zhǎng)度為1字節(jié),包括(索引記錄類型 標(biāo)識(shí)"0",當(dāng)前興趣點(diǎn)編號(hào)與當(dāng)前興趣點(diǎn)的上一條興趣點(diǎn)編號(hào)之間的差值,漢 字在當(dāng)前興趣點(diǎn)屬性的位置}。其中,索引記錄類型標(biāo)識(shí)、興趣點(diǎn)編號(hào)之間的 差值、漢字在當(dāng)前興趣點(diǎn)屬性的位置之間的順序可以調(diào)整。差值位于差值區(qū)間[512, 32767]內(nèi)時(shí),漢字的索引記錄的長(zhǎng)度為3字節(jié),包括(索引記錄類型 標(biāo)識(shí)"110",當(dāng)前興趣點(diǎn)編號(hào)與當(dāng)前興趣點(diǎn)的上一條興趣點(diǎn)編號(hào)之間的差值, 漢字在當(dāng)前興趣點(diǎn)屬性的位置}。該漢字的索引記錄中,興趣點(diǎn)編號(hào)之間的差 值占用的字節(jié)空間小于興趣點(diǎn)編號(hào)占用的字節(jié)空間,因此,節(jié)省了索引記錄占 用的空間。
      當(dāng)所述漢字的當(dāng)前興趣點(diǎn)編號(hào)與所述上一條興趣點(diǎn)編號(hào)之間的差值大于 或等于所述預(yù)定值,所述漢字的索引記錄包括第四索引記錄類型標(biāo)識(shí)、所述 當(dāng)前興趣點(diǎn)編號(hào)、所述漢字在所述當(dāng)前興趣點(diǎn)屬性的位置。索引記錄類型表示 漢字的索引記錄的字節(jié)長(zhǎng)度和索引記錄的格式,漢字的索引記錄的字節(jié)長(zhǎng)度根 據(jù)當(dāng)前興趣點(diǎn)編號(hào)的大小而確定。如果當(dāng)前興趣點(diǎn)編號(hào)的數(shù)值比較大時(shí),可以 生成字節(jié)長(zhǎng)度長(zhǎng)的索引記錄類型,如果當(dāng)前興趣點(diǎn)編號(hào)的數(shù)值比較小時(shí),可以 生成字節(jié)長(zhǎng)度短的索引記錄類型。例如,漢字的索引記錄為(索引記錄類型 標(biāo)識(shí)"111",當(dāng)前興趣點(diǎn)編號(hào),漢字在當(dāng)前興趣點(diǎn)屬性的位置}。本發(fā)明實(shí)施 例中的索引記錄類型標(biāo)識(shí)可以采用其他形式,根據(jù)實(shí)際情況確定。
      步驟210,組合所述漢字的索引記錄,生成所述漢字的索引記錄列表。
      步驟211,根據(jù)所述漢字的索引記錄列表的長(zhǎng)度,生成所述漢字的索引記 錄列表的地址信息。
      步驟212,組合所述漢字的編碼、所述漢字的索引記錄列表、所述漢字的 索引記錄列表的地址信息,生成所述興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)。
      如圖3所示,為興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法另一實(shí)施例,該實(shí)施 例以興趣點(diǎn)屬性為拼音屬性為例進(jìn)行描述,興趣點(diǎn)屬性可為興趣點(diǎn)名稱拼音、 地址拼音等。所述方法包括
      步驟31,統(tǒng)計(jì)所述興趣點(diǎn)屬性中出現(xiàn)的不同拼音。當(dāng)同一個(gè)拼音在同一 興趣點(diǎn)屬性中再次出現(xiàn),則不再統(tǒng)計(jì)。當(dāng)同一個(gè)拼音在不同興趣點(diǎn)屬性中再次 出現(xiàn),也不再統(tǒng)計(jì)。本領(lǐng)域技術(shù)人員可以明白,對(duì)其他少量的字母、數(shù)字、符 號(hào)也可以統(tǒng)計(jì),進(jìn)行索引。此實(shí)施例中,為了減少數(shù)據(jù)庫(kù)的存儲(chǔ)空間,對(duì)其他 少量的字母、數(shù)字、符號(hào)可以不統(tǒng)計(jì),不進(jìn)行索引。例如,例如興趣點(diǎn)1:{編 號(hào)100,名稱"dongfangshangshaA,, }和興趣點(diǎn)2: {編號(hào)101,名稱"dong
      14fang xi yang yang,,}中,統(tǒng)計(jì)的不同4并音分另U為"dong,, 、 "fang" 、 "shang,, 、 "sha,,、 "xi"、 "yang"。對(duì)"A,,可以不進(jìn)行索引。由于興趣點(diǎn)2中的"dong"、 "fang"
      已經(jīng)在興趣點(diǎn)1中出現(xiàn)過(guò),因此不進(jìn)行第二次統(tǒng)計(jì),同理,"yang"在興趣點(diǎn)
      2中出現(xiàn)了兩次,因此只統(tǒng)計(jì)一次。
      步驟32,獲取所述拼音的編碼。具體來(lái)講,對(duì)所述拼音進(jìn)行編號(hào),將所
      述拼音的編號(hào)作為所述拼音的編碼。在獲取文字單元的編碼時(shí),分別將"dong" "fang" "shang" "sha"編號(hào)為1、 2、 3、 4,將l、 2、 3、 4分別作為"dong" "fang" "shang" "sha"的編碼。
      步驟33,依次查找包含所述拼音的興趣點(diǎn)屬性以及所述拼音在所述興趣
      點(diǎn)屬性中的位置。例如,興趣點(diǎn)1: {編號(hào)100,名稱"dong fang shang sha" }
      為包含拼音"fang"的興趣點(diǎn)屬性,以及拼音"fang"所述興趣點(diǎn)屬性中的位
      置為2。
      步驟34,依次獲取包含所述拼音的興趣點(diǎn)屬性作為當(dāng)前興趣點(diǎn)屬性。 步驟35,判斷所述拼音在當(dāng)前興趣點(diǎn)屬性中是否為第一次出現(xiàn),且所述 當(dāng)前興趣點(diǎn)屬性是否為包括所述拼音的編號(hào)最小的興趣點(diǎn)記錄,生成判斷結(jié) 果;根據(jù)不同判斷結(jié)果,分別轉(zhuǎn)向步驟36、步驟37、和步驟38。
      步驟36,當(dāng)所述判斷結(jié)果為第一判斷結(jié)果所述拼音在所述當(dāng)前興趣點(diǎn) 屬性中為第一次出現(xiàn),且所述當(dāng)前興趣點(diǎn)屬性為包括所述拼音的編號(hào)最小的興 趣點(diǎn)記錄時(shí),根據(jù)當(dāng)前興趣點(diǎn)編號(hào)值的大小選擇相應(yīng)字節(jié)長(zhǎng)度的索引記錄類 型,生成所述拼音的索引記錄,所述拼音的索引記錄包括第一索引記錄類型 標(biāo)識(shí)和所述當(dāng)前興趣點(diǎn)編號(hào)以及所述拼音在所述當(dāng)前興趣點(diǎn)屬性的位置。索引 記錄類型表示拼音的索引記錄的字節(jié)長(zhǎng)度和格式,拼音的索引記錄的字節(jié)長(zhǎng)度 根據(jù)當(dāng)前興趣點(diǎn)編號(hào)的大小而確定。如果當(dāng)前興趣點(diǎn)編號(hào)的數(shù)值比較大時(shí),可 以生成字節(jié)長(zhǎng)度長(zhǎng)的索引記錄類型,如果當(dāng)前興趣點(diǎn)編號(hào)的數(shù)值比較小時(shí),可 以生成字節(jié)長(zhǎng)度短的索引記錄類型。例如,拼音的索引記錄為{第一索引記 錄類型標(biāo)識(shí)"111",當(dāng)前興趣點(diǎn)編號(hào),拼音在當(dāng)前興趣點(diǎn)屬性的位置}。其中, 第一索引記錄類型標(biāo)識(shí)、興趣點(diǎn)編號(hào)、拼音在當(dāng)前興趣點(diǎn)屬性的位置之間的順 序可以調(diào)整,然后,轉(zhuǎn)向步驟39。步驟37,當(dāng)所述判斷結(jié)果為第二判斷結(jié)果所述^f音在所述當(dāng)前興趣點(diǎn) 屬性中不是第一次出現(xiàn),生成的所述拼音的索引記錄包括第二索引記錄類型 標(biāo)識(shí)、所述拼音在所述當(dāng)前興趣點(diǎn)屬性的位置。然后,轉(zhuǎn)向步驟39。
      步驟38,當(dāng)所述判斷結(jié)果為第三判斷結(jié)果所述拼音在所述當(dāng)前興趣點(diǎn) 屬性中為第一次出現(xiàn),且所述當(dāng)前興趣點(diǎn)屬性不是包括所述拼音的編號(hào)最小的 興趣點(diǎn)記錄時(shí),則計(jì)算所述當(dāng)前興趣點(diǎn)編號(hào)與上一條興趣點(diǎn)編號(hào)之間的差值, 根據(jù)所述差值的大小選擇相應(yīng)字節(jié)長(zhǎng)度的索引記錄類型,生成所述拼音的索引 記錄;索引記錄類型表示拼音的索引記錄的字節(jié)長(zhǎng)度和格式,例如,拼音的索 引記錄為{索引記錄類型標(biāo)識(shí)"10",拼音在當(dāng)前興趣點(diǎn)屬性的位置}。其中, 第二索引記錄類型標(biāo)識(shí)、拼音在當(dāng)前興趣點(diǎn)屬性的位置之間的順序可以調(diào)整。 該拼音的索引記錄中,省略了興趣點(diǎn)編號(hào),因此,節(jié)省了索引記錄占用的空間。 然后,轉(zhuǎn)向步驟39。
      步驟38中,當(dāng)所述拼音的當(dāng)前興趣點(diǎn)編號(hào)與上一條興趣點(diǎn)編號(hào)之間的差 值為大于零且小于預(yù)定值時(shí),所述拼音的索引記錄包括第三索引記錄類型標(biāo) 識(shí)、所述差值、所述拼音在所述當(dāng)前興趣點(diǎn)屬性的位置。索引記錄類型表示拼 音的索引記錄的字節(jié)長(zhǎng)度和格式,所述拼音的索引記錄的字節(jié)長(zhǎng)度根據(jù)所述差 值的大小而確定。如果差值比較大時(shí),可以生成字節(jié)長(zhǎng)度長(zhǎng)的索引記錄類型, 如果差值比較小時(shí),可以生成字節(jié)長(zhǎng)度短的索引記錄類型。例如,差值位于差 值區(qū)間[l, 511]內(nèi)時(shí),拼音的索引記錄的長(zhǎng)度為1字節(jié),包括(索引記錄類型 標(biāo)識(shí)"0",當(dāng)前興趣點(diǎn)編號(hào)與當(dāng)前興趣點(diǎn)的上一條興趣點(diǎn)編號(hào)之間的差值,拼 音在當(dāng)前興趣點(diǎn)屬性的位置}。其中,索引記錄類型標(biāo)識(shí)、興趣點(diǎn)編號(hào)之間的 差值、拼音在當(dāng)前興趣點(diǎn)屬性的位置之間的順序可以調(diào)整。差值位于差值區(qū)間 [512, 32767]內(nèi)時(shí),拼音的索引記錄的長(zhǎng)度為3字節(jié),包括(索引記錄類型 標(biāo)識(shí)"110",當(dāng)前興趣點(diǎn)編號(hào)與當(dāng)前興趣點(diǎn)的上一條興趣點(diǎn)編號(hào)之間的差值, 拼音在當(dāng)前興趣點(diǎn)屬性的位置}。該拼音的索引記錄中,興趣點(diǎn)編號(hào)之間的差 值占用的字節(jié)空間小于興趣點(diǎn)編號(hào)占用的字節(jié)空間,因此,節(jié)省了索引記錄占 用的空間。
      當(dāng)所述拼音的當(dāng)前興趣點(diǎn)編號(hào)與所述上一條興趣點(diǎn)編號(hào)之間的差值大于或等于所述預(yù)定值,所述拼音的索引記錄包括第四索引記錄類型標(biāo)識(shí)、所述 當(dāng)前興趣點(diǎn)編號(hào)、所述拼音在所述當(dāng)前興趣點(diǎn)屬性的位置。索引記錄類型表示 拼音的索引記錄的字節(jié)長(zhǎng)度和索引記錄的格式,拼音的索引記錄的字節(jié)長(zhǎng)度根 據(jù)當(dāng)前興趣點(diǎn)編號(hào)的大小而確定。如果當(dāng)前興趣點(diǎn)編號(hào)的數(shù)值比較大時(shí),可以 生成字節(jié)長(zhǎng)度長(zhǎng)的索引記錄類型,如果當(dāng)前興趣點(diǎn)編號(hào)的數(shù)值比較小時(shí),可以 生成字節(jié)長(zhǎng)度短的索引記錄類型。例如,拼音的索引記錄為{索引記錄類型 標(biāo)識(shí)"111",當(dāng)前興趣點(diǎn)編號(hào),拼音在當(dāng)前興趣點(diǎn)屬性的位置}。本發(fā)明實(shí)施 例中的索引記錄類型標(biāo)識(shí)可以采用其他形式,^^艮據(jù)實(shí)際情況確定。
      步驟39,組合所述拼音的索引記錄,生成所述拼音的索引記錄列表。
      步驟310,根據(jù)所述拼音的索引記錄列表的長(zhǎng)度,生成所述拼音的索引記 錄列表的地址信息。
      步驟311,組合所述拼音的編碼、所述拼音的索引記錄列表、所述拼音的 索引記錄列表的地址信息,生成所述興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)。
      以下結(jié)合圖4至圖18描述本發(fā)明興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法的 應(yīng)用場(chǎng)景。
      本應(yīng)用場(chǎng)景中,對(duì)于興趣點(diǎn)編號(hào)的最大賦值是23比特位,即不大于 8388607。當(dāng)興趣點(diǎn)數(shù)據(jù)庫(kù)中的興趣點(diǎn)總數(shù)大于這個(gè)數(shù)時(shí),需要對(duì)興趣點(diǎn)數(shù)據(jù) 庫(kù)進(jìn)行分表處理。以下描述針對(duì)興趣點(diǎn)數(shù)據(jù)庫(kù)中的興趣點(diǎn)總數(shù)符合預(yù)設(shè)要求時(shí) 的情景,即小于或等于8388607。興趣點(diǎn)編號(hào)最大賦值也可以為其他比特位, 根據(jù)實(shí)際需要確定。
      如圖4所示,本發(fā)明所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法包括
      步驟41,根據(jù)興趣點(diǎn)屬性生成"興趣點(diǎn)索引數(shù)據(jù)庫(kù)管理頭"文件,包括 文字單元的索引個(gè)數(shù)、索引數(shù)據(jù)庫(kù)長(zhǎng)度、文字單元的編碼以及文字單元索引記 錄列表的偏移地址;
      步驟42,根據(jù)文字單元所在的興趣點(diǎn)屬性對(duì)應(yīng)的興趣點(diǎn)編號(hào)以及位置, 生成定長(zhǎng)的"文字單元索引記錄列表"中間文件;
      步驟43,根據(jù)定長(zhǎng)的文字單元索引記錄列表文件,生成變長(zhǎng)的"文字單 元索引記錄列表"中間文件;步驟44,根據(jù)變長(zhǎng)的"文字單元索引記錄列表"的字節(jié)長(zhǎng)度,在"興趣 點(diǎn)索引數(shù)據(jù)庫(kù)管理頭,,文件中補(bǔ)充文字單元索引記錄列表的偏移地址信息;
      步驟45,組合"興趣點(diǎn)索引數(shù)據(jù)庫(kù)管理頭"、"文字單元索引記錄列表" 中間文件、生成興趣點(diǎn)的索引數(shù)據(jù)庫(kù)。
      如圖5所示,所述步驟41包括
      步驟411 ,統(tǒng)計(jì)興趣點(diǎn)屬性中出現(xiàn)的所有不同文字單元。 步驟412,對(duì)這些文字單元進(jìn)行編碼,生成文字單元的編碼列表。 步驟413,對(duì)文字單元的編碼列表進(jìn)行排序。
      步驟414,將文字單元的索引個(gè)數(shù)、文字單元編碼列表寫入"興趣點(diǎn)索引 數(shù)據(jù)庫(kù)管理頭"文件中,(其它字段,如索引數(shù)據(jù)庫(kù)長(zhǎng)度和文字單元索引記錄 列表的偏移地址信息暫時(shí)空缺不填),"興趣點(diǎn)索引數(shù)據(jù)庫(kù)管理頭"文件的格式 如圖7所示。
      如圖6所示,所述步驟42中,包括如下步驟
      步驟421,從"興趣點(diǎn)索引數(shù)據(jù)庫(kù)管理頭"文件中順序選取一個(gè)文字單元;
      步驟422,統(tǒng)計(jì)該文字單元在各興趣點(diǎn)屬性中的位置,按(興趣點(diǎn)編號(hào), 位置)的索引結(jié)構(gòu),組成一條索引記錄;
      步驟423,將該文字單元的所有索引記錄合并,得到索引記錄列表中間文 件,該中間文件的每條索引記錄是定長(zhǎng)的。
      重復(fù)步驟421~步驟423的處理流程,直到所有文字單元的索引記錄處理 過(guò)程全部處理完畢。
      如圖8所示,所述步驟43中包括如下步驟
      步驟431,從所述步驟42得到的每個(gè)文字單元的索引記錄列表中間文件, 計(jì)算每條索引記錄的興趣點(diǎn)編號(hào)與上一條索引記錄的興趣點(diǎn)編號(hào)的差值;
      步驟432,按步驟431計(jì)算得到興趣點(diǎn)編號(hào)差值,將索引記錄轉(zhuǎn)換為四種 不同長(zhǎng)度的存儲(chǔ)類型,并寫入"文字單元索引記錄列表"中間文件;
      重復(fù)步驟431~步驟432的處理流程,直到所有文字單元的索引記錄處理 過(guò)程全部處理完畢。
      轉(zhuǎn)換原則如下情況l:文字單元的第一條索引記錄,或者該條索引記錄對(duì)應(yīng)的興趣點(diǎn)編 號(hào)與上一條索引記錄對(duì)應(yīng)的興趣點(diǎn)編號(hào)差值超過(guò)32767。如圖9所示,將索引 記錄轉(zhuǎn)換為類型l,如圖10所示,長(zhǎng)度為4字節(jié),包括(索引記錄類型標(biāo)識(shí) "111",當(dāng)前興趣點(diǎn)編號(hào),文字單元在當(dāng)前興趣點(diǎn)屬性中的位置}。
      情況2: —個(gè)文字單元在同一興趣點(diǎn)屬性中再次出現(xiàn)時(shí),該索引記錄的興 趣點(diǎn)編號(hào)和上一條索引記錄的興趣點(diǎn)編號(hào)相同,可以省略存儲(chǔ)興趣點(diǎn)編號(hào)差 值,如圖11所示,將索引記錄轉(zhuǎn)換為類型2,如圖12所示,長(zhǎng)度為l字節(jié), 包括{索引記錄類型標(biāo)識(shí)"10",文字單元在當(dāng)前興趣點(diǎn)屬性中的位置}。
      情況3:該條索引記錄對(duì)應(yīng)的興趣點(diǎn)編號(hào)與上一條索引記錄對(duì)應(yīng)的興趣點(diǎn) 編號(hào)之間的差值區(qū)間為[l, 511]。如圖13所示,將索引記錄轉(zhuǎn)換為類型3,如 圖14所示,長(zhǎng)度為2字節(jié),包括(索引記錄類型標(biāo)識(shí)"0",當(dāng)前興趣點(diǎn)編號(hào) 與當(dāng)前興趣點(diǎn)的上一條興趣點(diǎn)編號(hào)之間的差值,文字單元在當(dāng)前興趣點(diǎn)屬性中 的位置}。
      情況4:該條索引記錄對(duì)應(yīng)的興趣點(diǎn)編號(hào)與上一條索引記錄對(duì)應(yīng)的興趣點(diǎn) 編號(hào)之間的差值區(qū)間為[512, 32767]。索引記錄類型表示文字單元的索引記錄 的字節(jié)長(zhǎng)度,所述文字單元的索引記錄的字節(jié)長(zhǎng)度根據(jù)所述差值的大小而確 定。如杲差值比較大時(shí),可以生成字節(jié)長(zhǎng)度長(zhǎng)的索引記錄類型,如果差值比較 小時(shí),可以生成字節(jié)長(zhǎng)度短的索引記錄類型。如圖15所示,將索引記錄轉(zhuǎn)換 為類型4,如圖16所示,長(zhǎng)度為3字節(jié),包括(索引記錄類型標(biāo)識(shí)"110", 當(dāng)前興趣點(diǎn)編號(hào)與當(dāng)前興趣點(diǎn)的上一條興趣點(diǎn)編號(hào)之間的差值,文字單元在當(dāng) 前興趣點(diǎn)屬性的位置}。這樣,就將定長(zhǎng)的索引記錄列表轉(zhuǎn)換為變長(zhǎng)的索引記 錄列表。
      如圖17所示,所述步驟44中包括如下步驟
      步驟441,從"興趣點(diǎn)索引數(shù)據(jù)庫(kù)管理頭"文件依次選取每一個(gè)文字單元; 步驟442,根據(jù)圖7中可以得知,在"興趣點(diǎn)索引數(shù)據(jù)庫(kù)管理頭"文件中, 文字單元索引個(gè)數(shù)、索引數(shù)據(jù)庫(kù)長(zhǎng)度、文字單元的編碼以及文字單元索引記錄 列表的偏移地址信息分別占用4個(gè)比特,如果當(dāng)前文字單元是第1個(gè)文字單元, 該文字單元的索引記錄列表的偏移地址為8* (n+l), n為文字單元的總數(shù)量;步驟443,如果當(dāng)前文字單元不是第一個(gè)文字單元,該文字單元索引記錄 列表的偏移地址設(shè)為上一個(gè)文字單元索引記錄列表的偏移地址加上一個(gè)文字 單元的索引記錄列表的長(zhǎng)度;
      步驟444,累加各個(gè)文字單元的索引記錄列表的長(zhǎng)度,寫入"興趣點(diǎn)索引 數(shù)據(jù)庫(kù)管理頭"文件中"索引數(shù)據(jù)庫(kù)長(zhǎng)度"字段所在的位置。在該實(shí)施例中, 8* (n+l)為"興趣點(diǎn)索引數(shù)據(jù)庫(kù)管理頭"的文件長(zhǎng)度。
      如圖18所示,所述步驟45包括如下步驟
      步驟451,打開"興趣點(diǎn)索引數(shù)據(jù)庫(kù)管理頭"文件;
      步驟452,按文字單元索引記錄列表依次讀取"文字單元索引記錄列表" 中間文件,合并到在"興趣點(diǎn)索引數(shù)據(jù)庫(kù)管理頭"的文件尾;
      重復(fù)步驟452的處理流程,直到所有的"文字單元索引記錄列表"中間文 件全部處理完畢。
      本發(fā)明中,在文字單元的索引記錄中省略了文字單元的出現(xiàn)頻率字段,節(jié) 省了索引記錄的空間開銷。由于興趣點(diǎn)編號(hào)的差值變化范圍非常廣,采用變長(zhǎng) 方法存儲(chǔ)索引記錄。為描述變長(zhǎng)索引記錄采用的字節(jié)數(shù),可將索引記錄的開始 若干位保留作為索引記錄類型的標(biāo)識(shí)。把索引記錄中的興趣點(diǎn)編號(hào)與文字單元 的位置混合編碼,將其合并為一個(gè)數(shù),在保存的時(shí)候在索引記錄中保存此混合 編碼。
      上述索引記錄的存儲(chǔ)結(jié)構(gòu)變動(dòng)帶來(lái)的好處在于,不需要另外建立獨(dú)立的字 段來(lái)保存文字單元在興趣點(diǎn)的出現(xiàn)位置,而是利用一索引記錄的一些字節(jié)來(lái)保 存文字單元在興趣點(diǎn)屬性的位置信息。例如在興趣點(diǎn)名稱搜索引擎中,興趣點(diǎn) 的總條數(shù)大概在2000萬(wàn)左右,那么保存興趣點(diǎn)的索引記錄的興趣點(diǎn)編號(hào)實(shí)際 只需要26位就足夠了。如果用32位的整型來(lái)保存1條索引記錄,那么在興趣 點(diǎn)索引結(jié)構(gòu)中,除興趣點(diǎn)編號(hào)需要用到的26位外,可以利用剩余的6位來(lái)保 存文字單元在興趣點(diǎn)屬性的位置信息。由于實(shí)際興趣點(diǎn)名稱數(shù)據(jù)中名稱信息的 長(zhǎng)度很少大于64個(gè)字,因此利用6位來(lái)保存文字單元的位置信息基本能夠滿 足興趣點(diǎn)名稱檢索的需求。
      如圖19所示,為本發(fā)明所述的一種興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成裝置
      2019,包括
      統(tǒng)計(jì)單元191,用于統(tǒng)計(jì)所述興趣點(diǎn)屬性中出現(xiàn)的不同文字單元; 獲取單元192,用于獲取所述文字單元的編碼;
      查找單元193,用于查找包含所述文字單元的興趣點(diǎn)屬性以及所述文字單 元在所述興趣點(diǎn)屬性中的位置;
      索引記錄列表生成單元194,用于根據(jù)所述興趣點(diǎn)屬性對(duì)應(yīng)的興趣點(diǎn)編號(hào) 之間差值的大小以及所述文字單元在所述興趣點(diǎn)屬性中的位置,生成所述文字 單元的索引記錄列表;
      地址信息生成單元195,用于根據(jù)所述文字單元的索引記錄列表的長(zhǎng)度, 生成所述文字單元的索引記錄列表的地址信息;
      組合單元196,用于組合所述文字單元的編碼、所述文字單元的索引記錄 列表、所述文字單元的索引記錄列表的地址信息,生成所述興趣點(diǎn)屬性的索引 數(shù)據(jù)庫(kù)。
      上述方案中,由于文字單元的索引記錄列表是根據(jù)興趣點(diǎn)編號(hào)之間的差值 生成的,興趣點(diǎn)編號(hào)之間的差值比興趣點(diǎn)編號(hào)的數(shù)值要小,因此興趣點(diǎn)編號(hào)之 間的差值占用的字節(jié)比興趣點(diǎn)編號(hào)占用的字節(jié)要少,因此能夠減少興趣點(diǎn)屬性 的索引數(shù)據(jù)庫(kù)的空間開銷。
      如圖20所示,本發(fā)明所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成裝置19,還 包括排序單元197,用于對(duì)所述文字單元的編碼進(jìn)行排序;
      所述查找單元193查找包含所述文字單元的興趣點(diǎn)屬性以及所述文字單 元在所述興趣點(diǎn)屬性中的位置。
      所述索引記錄列表生成單元194包括
      獲取子單元1941,依次獲取包含所述文字單元的興趣點(diǎn)屬性作為當(dāng)前興 趣點(diǎn)屬性;
      判斷子單元1942,判斷所述文字單元在當(dāng)前興趣點(diǎn)屬性中是否為第一次 出現(xiàn),且所述當(dāng)前興趣點(diǎn)屬性是否為包括所述漢字的興趣點(diǎn)編號(hào)最小的記錄, 生成判斷結(jié)果;
      索引記錄生成子單元1943,根據(jù)所述判斷結(jié)果,生成所述文字單元的索引記錄;
      組合子單元1944,組合所述文字單元的索引記錄,生成所述文字單元的 索引記錄列表。
      本發(fā)明記錄文字單元的索引記錄列表時(shí),根據(jù)興趣點(diǎn)編號(hào)之間的差值可靈 活地采取不同的字節(jié)長(zhǎng)度,不需要采用固定的字節(jié)長(zhǎng)度,因此能夠減少興趣點(diǎn) 屬性的索引數(shù)據(jù)庫(kù)的空間開銷。
      本發(fā)明基于倒排索引機(jī)制理論,提供一種針對(duì)興趣點(diǎn)屬性的索引模型,有 益效果如下
      1) 采用了變長(zhǎng)記錄存儲(chǔ)方法,減少興趣點(diǎn)名稱索引空間的開銷;
      2) 索引空間的減小可減少磁盤I/O次數(shù),提高在資源受限的嵌入式設(shè)備上 的可用性。
      本發(fā)明的變長(zhǎng)索引方法還可應(yīng)用于興趣點(diǎn)簡(jiǎn)拼索引、興趣點(diǎn)分類索引壓縮等。
      是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于一移動(dòng)終端 的可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括如上述方法實(shí)施例的步驟,所述 的存儲(chǔ)介質(zhì)等。
      以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技 術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾, 這些改進(jìn)和潤(rùn)飾也應(yīng)—見為本發(fā)明的保護(hù)范圍。
      2權(quán)利要求
      1.一種興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法,其特征在于,包括統(tǒng)計(jì)所述興趣點(diǎn)屬性中出現(xiàn)的不同文字單元;獲取所述文字單元的編碼;查找包含所述文字單元的興趣點(diǎn)屬性以及所述文字單元在所述興趣點(diǎn)屬性中的位置;根據(jù)所述興趣點(diǎn)屬性對(duì)應(yīng)的興趣點(diǎn)編號(hào)之間差值的大小以及所述文字單元在所述興趣點(diǎn)屬性中的位置,生成所述文字單元的索引記錄列表;根據(jù)所述文字單元的索引記錄列表的長(zhǎng)度,生成所述文字單元索引記錄列表的地址信息;組合所述文字單元的編碼、所述文字單元的索引記錄列表、所述文字單元的索引記錄列表的地址信息,生成所述興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)。
      2. 根據(jù)權(quán)利要求1所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法,其特征 在于,所述根據(jù)所述興趣點(diǎn)屬性對(duì)應(yīng)的興趣點(diǎn)編號(hào)之間差值的大小以及所述文 字單元在所述興趣點(diǎn)屬性中的位置,生成所述文字單元的索引記錄列表的步驟 包括依次獲取包含所述文字單元的興趣點(diǎn)屬性作為當(dāng)前興趣點(diǎn)屬性;判斷所述文字單元在當(dāng)前興趣點(diǎn)屬性中是否為第 一次出現(xiàn),且所述當(dāng)前興趣點(diǎn)屬性是否為包括所述文字單元的興趣點(diǎn)編號(hào)最小的興趣點(diǎn)屬性,生成判斷結(jié)果;根據(jù)所述判斷結(jié)果,生成所述文字單元的索引記錄; 組合所述文字單元的索引記錄,生成所述文字單元的索引記錄列表。
      3. 根據(jù)權(quán)利要求2所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法,其特征 在于,所述#4居所述判斷結(jié)果,生成所述文字單元的索引記錄的步驟包括當(dāng)所述判斷結(jié)果為所述文字單元在所述當(dāng)前興趣點(diǎn)屬性中為第一次出 現(xiàn),且所述當(dāng)前興趣點(diǎn)屬性為包括所述文字單元的興趣點(diǎn)編號(hào)最小的興趣點(diǎn)屬 性時(shí),生成的所述文字單元的索引記錄包括第一索引記錄類型標(biāo)識(shí)和所述當(dāng)前興趣點(diǎn)編號(hào)以及所述文字單元在所述當(dāng)前興趣點(diǎn)屬性的位置;當(dāng)所述判斷結(jié)果為所述文字單元在所述當(dāng)前興趣點(diǎn)屬性中不是第一次出現(xiàn),生成的所述文字單元的索引記錄包括第二索引記錄類型標(biāo)識(shí)、所述文字單元在所述當(dāng)前興趣點(diǎn)屬性的位置;當(dāng)所述判斷結(jié)果為所述文字單元在所述當(dāng)前興趣點(diǎn)屬性中為第一次出現(xiàn),且所述當(dāng)前興趣點(diǎn)屬性不是包括所述文字單元的興趣點(diǎn)編號(hào)最小的興趣點(diǎn)屬性時(shí),則計(jì)算所述當(dāng)前興趣點(diǎn)編號(hào)與上一條興趣點(diǎn)編號(hào)之間的差值,根據(jù)所述差值的大小選擇相應(yīng)字節(jié)長(zhǎng)度的索引記錄類型,生成所述文字單元的索引記錄。
      4. 根據(jù)權(quán)利要求3所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法,其特征 在于,所述根據(jù)所述差值的大小選擇相應(yīng)字節(jié)長(zhǎng)度的索引記錄類型,生成所述 文字單元的索引記錄的步驟具體為當(dāng)所述文字單元的當(dāng)前興趣點(diǎn)編號(hào)與上一條興趣點(diǎn)編號(hào)之間的差值為大 于零且小于預(yù)定值時(shí),所述文字單元的索引記錄包括第三索引記錄類型標(biāo)識(shí)、 所述差值、所述文字單元在所述當(dāng)前興趣點(diǎn)屬性的位置;當(dāng)所述文字單元的當(dāng)前興趣點(diǎn)編號(hào)與所述上一條興趣點(diǎn)編號(hào)之間的差值 大于或等于所述預(yù)定值,所述文字單元的索引記錄包括第四索引記錄類型標(biāo) 識(shí)、所述當(dāng)前興趣點(diǎn)編號(hào)、所述文字單元在所述當(dāng)前興趣點(diǎn)屬性的位置。
      5. 根據(jù)權(quán)利要求1所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法,其特征 在于,所述查找包含所述文字單元的興趣點(diǎn)屬性以及所述文字單元在所述興趣 點(diǎn)屬性中的位置的步驟之前,還包括對(duì)所述文字單元的編碼進(jìn)行排序;所述查找包含所述文字單元的興趣點(diǎn)屬性以及所述文字單元在所述興趣 點(diǎn)屬性中的位置的步驟具體為依次查找包含所述文字單元的興趣點(diǎn)屬性以及 所述文字單元在所述興趣點(diǎn)屬性中的位置。
      6. 根據(jù)權(quán)利要求1所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法,其特征 在于,所述文字單元為漢字或拼音。
      7. 根據(jù)權(quán)利要求6所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法,其特征 在于,當(dāng)所述文字單元為漢字時(shí),所述獲取所述文字單元的編碼的步驟具體為按照漢字編碼方式,獲得所述漢字的編碼;或?qū)λ鰸h字進(jìn)^f于順序編號(hào),將所述漢字的編號(hào)作為所述漢字的編碼。
      8. 根據(jù)權(quán)利要求6所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法,其特征 在于,當(dāng)所述文字單元為拼音時(shí),所述獲取所述文字單元的編碼的步驟具體為對(duì)所述拼音進(jìn)行順序編號(hào),將所述拼音的編號(hào)作為所述拼音的編碼。
      9. 一種興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成裝置,其特征在于,包括 統(tǒng)計(jì)單元,用于統(tǒng)計(jì)所述興趣點(diǎn)屬性中出現(xiàn)的不同文字單元; 獲取單元,用于獲取所述文字單元的編碼;查找單元,用于查找包含所述文字單元的興趣點(diǎn)屬性以及所述文字單元在 所述興趣點(diǎn)屬性中的位置;索引記錄列表生成單元,用于根據(jù)所述興趣點(diǎn)屬性對(duì)應(yīng)的興趣點(diǎn)編號(hào)之間 差值的大小以及所述文字單元在所述興趣點(diǎn)屬性中的位置,生成所述文字單元 的索引記錄列表;地址信息生成單元,用于根據(jù)所述文字單元的索引記錄列表的長(zhǎng)度,生成 所述文字單元的索引記錄列表的地址信息;組合單元,用于組合所述文字單元的編碼、所述文字單元的索引記錄列表、 所述文字單元的索引記錄列表的地址信息,生成所述興趣點(diǎn)屬性的索引數(shù)據(jù) 庫(kù)。
      10. 根據(jù)權(quán)利要求9所述的興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成裝置,其特征 在于,還包括排序單元,用于對(duì)所述文字單元的編碼進(jìn)行排序;所述查找單元依次查找包含所述文字單元的興趣點(diǎn)屬性以及所述文字單 元在所述興趣點(diǎn)屬性中的位置。
      全文摘要
      本發(fā)明提供一種興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的生成方法和裝置,涉及數(shù)據(jù)庫(kù)領(lǐng)域,為解決現(xiàn)有技術(shù)中索引數(shù)據(jù)庫(kù)的空間開銷比較大的問(wèn)題而發(fā)明。所述方法包括統(tǒng)計(jì)興趣點(diǎn)屬性中出現(xiàn)的不同文字單元;獲取文字單元的編碼;查找包含文字單元的興趣點(diǎn)屬性以及文字單元在興趣點(diǎn)屬性中的位置;根據(jù)興趣點(diǎn)屬性對(duì)應(yīng)的興趣點(diǎn)編號(hào)之間差值的大小以及文字單元在興趣點(diǎn)屬性中的位置,生成文字單元的索引記錄列表;根據(jù)文字單元的索引記錄列表的長(zhǎng)度,生成文字單元索引記錄列表的地址信息;組合文字單元的編碼、文字單元的索引記錄列表、文字單元的索引記錄列表的地址信息,生成興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)。本發(fā)明能夠有效減少興趣點(diǎn)屬性的索引數(shù)據(jù)庫(kù)的存儲(chǔ)空間。
      文檔編號(hào)G01C21/26GK101551820SQ200910084408
      公開日2009年10月7日 申請(qǐng)日期2009年5月13日 優(yōu)先權(quán)日2009年5月13日
      發(fā)明者曹曉航, 棟 黃 申請(qǐng)人:北京四維圖新科技股份有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1