興趣點(diǎn)查詢(xún)方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息處理技術(shù)領(lǐng)域,特別是涉及一種興趣點(diǎn)查詢(xún)方法和系統(tǒng)。
【背景技術(shù)】
[0002]興趣點(diǎn)(Point of Interest,縮寫(xiě)為POI,亦可稱(chēng)作信息點(diǎn))是導(dǎo)航技術(shù)中使用的一種數(shù)據(jù)對(duì)象,包括名稱(chēng)、地址、類(lèi)別、經(jīng)緯度等信息,表示電子地圖中某處的位置、名稱(chēng)等屬性信息。比如,例如:XX大廈、廣東省深圳市XX區(qū)XX路、商務(wù)樓宇、(22.543445,113.945707)。隨著智能終端的廣泛使用,用戶(hù)興趣點(diǎn)的收集變得越來(lái)越方便,根據(jù)這些興趣點(diǎn)可以分析出用戶(hù)的興趣、行為以及與其他用戶(hù)的關(guān)系等,進(jìn)而可根據(jù)分析出的這些信息向用戶(hù)推送對(duì)用戶(hù)有用的、與用戶(hù)關(guān)聯(lián)度高的信息,使得信息的推送更加智能化。
[0003]傳統(tǒng)技術(shù)中查詢(xún)興趣點(diǎn),是通過(guò)電子地圖提供的興趣點(diǎn)查詢(xún)API (Applicat1nProgramming Interface,應(yīng)用程序接口)(以下簡(jiǎn)稱(chēng)興趣點(diǎn)查詢(xún)接口)實(shí)現(xiàn)的,向其輸入GPS(Global Posit1ning System,全球定位系統(tǒng))點(diǎn),從而返回興趣點(diǎn)。
[0004]然而,由于電子地圖POI查詢(xún)涉及復(fù)雜的計(jì)算,電子地圖興趣點(diǎn)查詢(xún)接口提供的能力有限,導(dǎo)致查詢(xún)興趣點(diǎn)效率低下,不能滿(mǎn)足日益增長(zhǎng)的用戶(hù)需求。例如目前一種電子地圖提供的POI查詢(xún)接口,使用一臺(tái)8核的機(jī)器最大能力只能提供5000/秒的GPS點(diǎn)到POI的轉(zhuǎn)換能力,而這只是向外提供服務(wù)的計(jì)算機(jī)器,其后還需要龐大的存儲(chǔ)機(jī)群的支持。要想向用戶(hù)提供更高頻率的查詢(xún)能力,例如5萬(wàn)/秒的能力,就需要10臺(tái)計(jì)算機(jī)器,以及更多的存儲(chǔ)機(jī)群,需要巨大的機(jī)器和人力資源投入。
【發(fā)明內(nèi)容】
[0005]基于此,有必要針對(duì)傳統(tǒng)技術(shù)中查詢(xún)興趣點(diǎn)效率低下的問(wèn)題,提供一種興趣點(diǎn)查詢(xún)方法和系統(tǒng)。
[0006]一種興趣點(diǎn)查詢(xún)方法,所述方法包括:
[0007]接收興趣點(diǎn)查詢(xún)請(qǐng)求;
[0008]根據(jù)所述興趣點(diǎn)查詢(xún)請(qǐng)求確定待查詢(xún)位置點(diǎn);
[0009]根據(jù)預(yù)先緩存的位置點(diǎn)和興趣點(diǎn)標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,以所述待查詢(xún)位置點(diǎn)為索引查詢(xún)興趣點(diǎn)標(biāo)識(shí);
[0010]當(dāng)查詢(xún)到所述待查詢(xún)位置點(diǎn)所對(duì)應(yīng)的興趣點(diǎn)標(biāo)識(shí)后,根據(jù)預(yù)先緩存的興趣點(diǎn)標(biāo)識(shí)和興趣點(diǎn)的對(duì)應(yīng)關(guān)系,以所述查詢(xún)到的興趣點(diǎn)標(biāo)識(shí)為索引,查詢(xún)獲得所述查詢(xún)到的興趣點(diǎn)標(biāo)識(shí)所對(duì)應(yīng)的興趣點(diǎn)。
[0011]一種興趣點(diǎn)查詢(xún)系統(tǒng),所述系統(tǒng)包括:
[0012]請(qǐng)求接收模塊,用于接收興趣點(diǎn)查詢(xún)請(qǐng)求;
[0013]待查詢(xún)位置點(diǎn)確定模塊,用于根據(jù)所述興趣點(diǎn)查詢(xún)請(qǐng)求確定待查詢(xún)位置點(diǎn);
[0014]興趣點(diǎn)標(biāo)識(shí)緩存查詢(xún)模塊,用于根據(jù)預(yù)先緩存的位置點(diǎn)和興趣點(diǎn)標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,以所述待查詢(xún)位置點(diǎn)為索引查詢(xún)興趣點(diǎn)標(biāo)識(shí);
[0015]興趣點(diǎn)緩存查詢(xún)模塊,用于當(dāng)查詢(xún)到所述待查詢(xún)位置點(diǎn)所對(duì)應(yīng)的興趣點(diǎn)標(biāo)識(shí)后,根據(jù)預(yù)先緩存的興趣點(diǎn)標(biāo)識(shí)和興趣點(diǎn)的對(duì)應(yīng)關(guān)系,以所述查詢(xún)到的興趣點(diǎn)標(biāo)識(shí)為索引,查詢(xún)獲得所述查詢(xún)到的興趣點(diǎn)標(biāo)識(shí)所對(duì)應(yīng)的興趣點(diǎn)。
[0016]上述興趣點(diǎn)查詢(xún)方法和系統(tǒng),預(yù)先緩存了位置點(diǎn)和興趣點(diǎn)標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,以及興趣點(diǎn)標(biāo)識(shí)和興趣點(diǎn)的對(duì)應(yīng)關(guān)系。通過(guò)這樣的兩級(jí)緩存,在接收到興趣點(diǎn)查詢(xún)請(qǐng)求并確定待查詢(xún)位置點(diǎn)后,先以待查詢(xún)位置點(diǎn)為索引從一級(jí)緩存中查詢(xún)興趣點(diǎn)標(biāo)識(shí),再以查詢(xún)到的興趣點(diǎn)標(biāo)識(shí)為索引從另一級(jí)緩存中查詢(xún)獲得興趣點(diǎn)。
[0017]這樣由于查詢(xún)的是事先緩存的信息,因此可以盡量避免通過(guò)電子地圖的興趣點(diǎn)查詢(xún)接口進(jìn)行查詢(xún)而導(dǎo)致的效率低下。而且由于興趣點(diǎn)所占存儲(chǔ)空間比興趣點(diǎn)標(biāo)識(shí)所占存儲(chǔ)空間大很多,待查詢(xún)位置點(diǎn)的總數(shù)量又與興趣點(diǎn)的總數(shù)量相差很大,因此通過(guò)先查詢(xún)興趣點(diǎn)標(biāo)識(shí)再查詢(xún)興趣點(diǎn),可以極大地提高查詢(xún)興趣點(diǎn)的效率。
【附圖說(shuō)明】
[0018]圖1為一個(gè)實(shí)施例中興趣點(diǎn)查詢(xún)方法的流程示意圖;
[0019]圖2為另一個(gè)實(shí)施例中興趣點(diǎn)查詢(xún)方法的流程示意圖;
[0020]圖3為一個(gè)實(shí)施例中第一多階哈希表的簡(jiǎn)化示意圖;
[0021]圖4為一個(gè)實(shí)施例中經(jīng)過(guò)序列化處理的興趣點(diǎn)的示意圖;
[0022]圖5為一個(gè)實(shí)施例中興趣點(diǎn)查詢(xún)系統(tǒng)的結(jié)構(gòu)框圖;
[0023]圖6為另一個(gè)實(shí)施例中興趣點(diǎn)查詢(xún)系統(tǒng)的結(jié)構(gòu)框圖;
[0024]圖7為再一個(gè)實(shí)施例中興趣點(diǎn)查詢(xún)系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0025]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0026]如圖1所示,在一個(gè)實(shí)施例中,提供了一種興趣點(diǎn)查詢(xún)方法,本實(shí)施例以該方法應(yīng)用于查詢(xún)處理端來(lái)舉例說(shuō)明。該興趣點(diǎn)查詢(xún)方法具體包括如下步驟:
[0027]步驟102,接收興趣點(diǎn)查詢(xún)請(qǐng)求。
[0028]在一個(gè)實(shí)施例中,客戶(hù)端向查詢(xún)處理端發(fā)送興趣點(diǎn)查詢(xún)請(qǐng)求,從而查詢(xún)處理端接收客戶(hù)端發(fā)送的興趣點(diǎn)查詢(xún)請(qǐng)求。在一個(gè)實(shí)施例中,查詢(xún)處理端上運(yùn)行的基于LBS(Locat1n Based Services,基于位置服務(wù))的應(yīng)用發(fā)出興趣點(diǎn)查詢(xún)請(qǐng)求,查詢(xún)處理端接收查詢(xún)處理端上運(yùn)行的基于LBS的應(yīng)用發(fā)出的興趣點(diǎn)查詢(xún)請(qǐng)求。在一個(gè)實(shí)施例中,第三方的終端或平臺(tái)服務(wù)器向查詢(xún)處理端發(fā)送興趣點(diǎn)查詢(xún)請(qǐng)求,從而查詢(xún)處理端接收來(lái)自第三方的終端或平臺(tái)服務(wù)器的興趣點(diǎn)查詢(xún)請(qǐng)求;這里的第三方指不同于客戶(hù)端和查詢(xún)處理端的一方。
[0029]步驟104,根據(jù)興趣點(diǎn)查詢(xún)請(qǐng)求確定待查詢(xún)位置點(diǎn)。
[0030]待查詢(xún)位置點(diǎn)是需要查詢(xún)的位置點(diǎn),其中任意的位置點(diǎn)可用經(jīng)度和維度表示。
[0031]在一個(gè)實(shí)施例中,興趣點(diǎn)查詢(xún)請(qǐng)求中包括待查詢(xún)位置點(diǎn),則步驟104為獲取興趣點(diǎn)查詢(xún)請(qǐng)求中的待查詢(xún)位置點(diǎn)。此時(shí)查詢(xún)處理端直接根據(jù)興趣點(diǎn)查詢(xún)請(qǐng)求,查詢(xún)?cè)撛撜?qǐng)求中的待查詢(xún)位置點(diǎn)所對(duì)應(yīng)的興趣點(diǎn),適用于根據(jù)用戶(hù)選擇的位置點(diǎn)來(lái)查詢(xún)相應(yīng)的興趣點(diǎn)的場(chǎng)景。
[0032]步驟106,根據(jù)預(yù)先緩存的位置點(diǎn)和興趣點(diǎn)標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,以待查詢(xún)位置點(diǎn)為索引查詢(xún)興趣點(diǎn)標(biāo)識(shí)。
[0033]具體地,可預(yù)先在內(nèi)存中緩存以位置點(diǎn)為索引的位置點(diǎn)和興趣點(diǎn)標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,從而可以在查詢(xún)興趣點(diǎn)時(shí),以待查詢(xún)位置點(diǎn)為索引快速地查詢(xún)與該待查詢(xún)位置點(diǎn)對(duì)應(yīng)的興趣點(diǎn)標(biāo)識(shí)。其中興趣點(diǎn)標(biāo)識(shí)用于唯一標(biāo)識(shí)出興趣點(diǎn),興趣點(diǎn)標(biāo)識(shí)可以包括數(shù)字、字母、符號(hào)和文字中的至少一種。興趣點(diǎn)標(biāo)識(shí)可以是指向興趣點(diǎn)存儲(chǔ)地址的指針。
[0034]步驟108,當(dāng)查詢(xún)到待查詢(xún)位置點(diǎn)所對(duì)應(yīng)的興趣點(diǎn)標(biāo)識(shí)后,根據(jù)預(yù)先緩存的興趣點(diǎn)標(biāo)識(shí)和興趣點(diǎn)的對(duì)應(yīng)關(guān)系,以查詢(xún)到的興趣點(diǎn)標(biāo)識(shí)為索引,查詢(xún)獲得上述查詢(xún)到的興趣點(diǎn)標(biāo)識(shí)所對(duì)應(yīng)的興趣點(diǎn)。
[0035]具體地,可預(yù)先在內(nèi)存中緩存以興趣點(diǎn)標(biāo)識(shí)為索引的興趣點(diǎn)標(biāo)識(shí)和興趣點(diǎn)的對(duì)應(yīng)關(guān)系,從而在查詢(xún)到待查詢(xún)位置點(diǎn)所對(duì)應(yīng)的興趣點(diǎn)標(biāo)識(shí)后,以查詢(xún)到的興趣點(diǎn)標(biāo)識(shí)為索引查詢(xún)與查詢(xún)到的興趣點(diǎn)標(biāo)識(shí)對(duì)應(yīng)的興趣點(diǎn)。
[0036]上述興趣點(diǎn)查詢(xún)方法,預(yù)先緩存了位置點(diǎn)和興趣點(diǎn)標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,以及興趣點(diǎn)標(biāo)識(shí)和興趣點(diǎn)的對(duì)應(yīng)關(guān)系。通過(guò)這樣的兩級(jí)緩存,在接收到興趣點(diǎn)查詢(xún)請(qǐng)求并確定待查詢(xún)位置點(diǎn)后,先以待查詢(xún)位置點(diǎn)為索引從一級(jí)緩存中查詢(xún)興趣點(diǎn)標(biāo)識(shí),再以查詢(xún)到的興趣點(diǎn)標(biāo)識(shí)為索引從另一級(jí)緩存中查詢(xún)獲得興趣點(diǎn)。這樣由于查詢(xún)的是事先緩存的信息,因此可以盡量避免通過(guò)電子地圖的興趣點(diǎn)查詢(xún)接口進(jìn)行查詢(xún)而導(dǎo)致的效率低下。
[0037]而且興趣點(diǎn)所占存儲(chǔ)空間與興趣點(diǎn)標(biāo)識(shí)所占存儲(chǔ)空間差別很大,通常興趣點(diǎn)包括較長(zhǎng)的字符串,平均需要256個(gè)字節(jié)來(lái)存儲(chǔ);而興趣點(diǎn)標(biāo)識(shí)可以用一個(gè)8字節(jié)的整數(shù)就可以表示。而興趣點(diǎn)總量是有限的,目前市面上的某電子地圖的興趣點(diǎn)數(shù)據(jù)庫(kù)中興趣點(diǎn)總量不到5000萬(wàn)個(gè)。且位置點(diǎn)與興趣點(diǎn)通常是多對(duì)一的關(guān)系,比如某大學(xué)中的任意一個(gè)位置點(diǎn)都可以與表示該大學(xué)的一個(gè)興趣點(diǎn)對(duì)應(yīng),因此多個(gè)位置點(diǎn)可對(duì)應(yīng)同一興趣點(diǎn)。假設(shè)一個(gè)用戶(hù)標(biāo)識(shí)對(duì)應(yīng)10個(gè)興趣點(diǎn),若用戶(hù)總數(shù)為8億,那么需要查詢(xún)的興趣點(diǎn)就有80億個(gè)之多,其中有些興趣點(diǎn)是重復(fù)的。因此若直接緩存位置點(diǎn)和興趣點(diǎn)的對(duì)應(yīng)關(guān)系,所需的存儲(chǔ)空間非常之多,硬件成本太高,不利于基于興趣點(diǎn)的技術(shù)的普及。
[0038]而通過(guò)設(shè)置緩存位置點(diǎn)和興趣點(diǎn)標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,以及緩存興趣點(diǎn)標(biāo)識(shí)和興趣點(diǎn)的對(duì)應(yīng)關(guān)系這樣的二級(jí)緩存,緩存位置點(diǎn)與興趣點(diǎn)標(biāo)識(shí)的對(duì)應(yīng)關(guān)系所需存儲(chǔ)空間很少,興趣點(diǎn)標(biāo)識(shí)與興趣點(diǎn)的對(duì)應(yīng)關(guān)系最多不到5000萬(wàn)條,可以在使用較少的存儲(chǔ)空間的前提下實(shí)現(xiàn)很高的查詢(xún)效率。
[0039]如圖2所示,在另一個(gè)實(shí)施例中,提供了一種興趣點(diǎn)查詢(xún)方法,本實(shí)施例以該方法應(yīng)用于查詢(xún)處理端來(lái)舉例說(shuō)明。該方法包括以下步驟:
[0040]步驟202,接收興趣點(diǎn)查詢(xún)請(qǐng)求,興趣點(diǎn)查詢(xún)請(qǐng)求包括用戶(hù)標(biāo)識(shí)。
[0041]查詢(xún)處理端可以接收客戶(hù)端發(fā)送的興趣點(diǎn)查詢(xún)請(qǐng)求,或者可以接收查詢(xún)處理端上運(yùn)行的基于LBS的應(yīng)用發(fā)出的興趣點(diǎn)查詢(xún)請(qǐng)求,或者還可以接收來(lái)自第三方的終端或平臺(tái)服務(wù)器的興趣點(diǎn)查詢(xún)請(qǐng)求。興趣點(diǎn)查詢(xún)請(qǐng)求中包括用戶(hù)標(biāo)識(shí),該用戶(hù)標(biāo)識(shí)用以唯一標(biāo)識(shí)用戶(hù)身份,比如可以是賬號(hào)。用戶(hù)標(biāo)識(shí)可以包括但不限于數(shù)字、字母、符號(hào)和文字中的至少一種。
[0042]步驟204,根據(jù)興趣