專利名稱:利用移動終端的位置數(shù)據(jù)來定位ip位置的方法
利用移動終端的位置數(shù)據(jù)來定位IP位置的方法技術(shù)領(lǐng)域
本發(fā)明屬于計算機(jī)系統(tǒng)技術(shù)領(lǐng)域,特別涉及一種利用用戶使用手機(jī)等移動終端的位置數(shù)據(jù),來確定固定終端,如個人計算機(jī)及其使用的IP地址所對應(yīng)的地理位置的方法。
背景技術(shù):
通過用戶計算機(jī)的IP地址來推測該計算機(jī)的地理位置(IP定位)具有廣泛的應(yīng)用,包括在線廣告、電子商務(wù)、應(yīng)用監(jiān)控、網(wǎng)絡(luò)診斷等。以在線廣告為例,如果網(wǎng)站能夠通過用戶的計算機(jī)IP地址準(zhǔn)確推測用戶所在的地理位置,則可以在網(wǎng)站上顯示用戶附近的廣告信息(比如用戶所在小區(qū)附近的電影院),而不是隨機(jī)顯示與位置無關(guān)的廣告信息。
現(xiàn)有的IP定位方法主要包括基于延時測量的IP定位方法和基于數(shù)據(jù)庫的IP定位方法兩種?;谘訒r測量的IP定位方法通過在不同的地區(qū)部署服務(wù)器,利用這些服務(wù)器測量它們到目標(biāo)IP的網(wǎng)絡(luò)延時,然后基于網(wǎng)絡(luò)延時的大小來推測這些服務(wù)器距離目標(biāo)IP的實(shí)際距離。這種方法通常能夠達(dá)到10公里到40公里的精確度。由于需要在各地大規(guī)模部署服務(wù)器,這種方法的成本比較高;同時,大規(guī)模的網(wǎng)絡(luò)延時測量使得這類方法通常需要幾十秒到幾分鐘的響應(yīng)時間來確定一個IP地址的地理位置。基于數(shù)據(jù)庫的IP定位方法將收集到的IP注冊信息、域名登記信息、用戶貢獻(xiàn)的位置信息等存儲在數(shù)據(jù)庫中,然后利用這些數(shù)據(jù)來確定給定IP地址的位置。這種方法的優(yōu)點(diǎn)是響應(yīng)時間很快,確定一個IP地址的位置時直接從數(shù)據(jù)庫查詢即可。但是由于數(shù)據(jù)來源本身的精度比較差,這種方法往往只能得到70公里以上的精確度,只能滿足城市級精度的應(yīng)用需求。
具體說來,基于延時測量的IP定位方法包括GeoPing、CBG> TBG> Octant、WangGeo等。GeoPing是其中最簡單的一種方法。它直接將到目標(biāo)IP的網(wǎng)絡(luò)延時最小的服務(wù)器所在的位置推測為目標(biāo)IP的位置,定位精度在300公里以上。CBG則利用所有服務(wù)器到目標(biāo)IP的網(wǎng)絡(luò)延時來推測相應(yīng)的距離,根據(jù)每一個距離確定一個目標(biāo)IP可能的區(qū)域,然后將所有可能區(qū)域的交集作為目標(biāo)IP的位置。CBG的定位精度在200公里左右。TBG和Octant在CBG的基礎(chǔ)上,考慮了網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),從而將目標(biāo)IP限定在了更小的范圍。它們分別能夠達(dá)到60公里和35公里的定位精度。WangGeo除了考慮網(wǎng)絡(luò)延時和網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),還結(jié)合了網(wǎng)頁上的郵編地址,能夠達(dá)到7到10公里的定位精度。
基于數(shù)據(jù)庫的IP定 位方法通過IP注冊信息、DNS信息、用戶貢獻(xiàn)的位置信息等來確定IP地址的位置。比如可以從IP注冊的管理機(jī)構(gòu)(IANA)查到北京的某公司注冊了某個IP地址,則一般可以確定這個IP在北京。如果查到一個IP地址對應(yīng)的域名是router-1,haidian.chinanet.cn,則可以推測該IP地址在海淀區(qū)。國內(nèi)知名的IP定位網(wǎng)站(IP138、IP.cn等)大多采用這類方法。另一種方法是用戶自己貢獻(xiàn)位置信息,比如騰訊的位置分享網(wǎng)站(ip.qq.com)允許用戶提交自己的IP地址及其對應(yīng)的位置信息。
現(xiàn)有IP定位方法及其比較如表I所示。歸納如下:
I)基于延時測量的方法響應(yīng)時間長、部署成本高,最高定位精度能達(dá)到7到10公里;
2)基于數(shù)據(jù)庫的方法響應(yīng)快、部署成本低,但是定位精度低;3)對在線廣告等應(yīng)用所要求的街道級(比如2公里以內(nèi))定位精度,上述兩類方法均不能滿足要求。表I現(xiàn)有IP定位方法及其比較
權(quán)利要求
1.一種利用用戶使用移動終端的位置數(shù)據(jù)來定位IP位置的方法,其特征在于,包括以下步驟: 步驟(I):收集一段時間內(nèi)用戶使用移動終端的位置數(shù)據(jù),組成地理位置數(shù)據(jù)集,每一條地理位置數(shù)據(jù)記錄包括用戶標(biāo)識、時間和地理位置; 步驟(2):預(yù)處理收集到的用戶使用移動終端的地理位置數(shù)據(jù)集; 步驟(3):對于地理位置數(shù)據(jù)集中的每個用戶:篩選出該用戶在每天第一時間段內(nèi)的移動終端地理位置數(shù)據(jù)全部記錄,對這些記錄的地理位置進(jìn)行聚類,將聚類得到的若干聚合的重心作為該用戶對應(yīng)的第一候選位置;篩選出該用戶在每個工作日第二時間段內(nèi)的移動終端地理位置數(shù)據(jù)全部記錄,對這些記錄的地理位置進(jìn)行聚類,將聚類得到的若干聚合的重心作為該用戶對應(yīng)的第二候選位置; 步驟(4):收集一段時間內(nèi)用戶使用固定終端上網(wǎng)的IP地址數(shù)據(jù),組成IP地址數(shù)據(jù)集,每一條IP地址數(shù)據(jù)記錄包括用戶標(biāo)識、時間和IP地址; 步驟(5):預(yù)處理收集到的IP地址數(shù)據(jù)集:將每一條記錄的IP地址轉(zhuǎn)化為一個IP段;如果一個用戶使用某個IP段的記錄數(shù)目低于預(yù)先設(shè)定的閾值,則從IP地址數(shù)據(jù)集中去除該用戶使用這一 IP段的IP地址數(shù)據(jù)記錄; 步驟(6):對于預(yù)處理后的IP地址數(shù)據(jù)集中的每一個IP段,篩選出使用過該IP段的所有用戶,根據(jù)步驟(3)獲得的結(jié)果,找出所有這些用戶對應(yīng)的第一候選位置和第二候選位置,作為該IP段所對應(yīng)的候選地理位置;對這些候選地理位置進(jìn)行聚類,得到一系列聚合,從這一系列聚合中選出包含候選地理位置最多的聚合,將該聚合的重心作為該IP段所對應(yīng)的地理位置。
2.如權(quán)利要求1所述方法,其特征在于,所述步驟(2)具體包括以下步驟: 步驟(2.1):從地理位置數(shù)據(jù)集中取一個尚未處理的用戶; 步驟(2.2):從地理位置數(shù)據(jù)集中篩選出該用戶的所有記錄; 步驟(2.3):如果該用戶總的地理位置數(shù)據(jù)記錄條數(shù)低于設(shè)定的一個閾值或高于某設(shè)定的另一個閾值,則從地理位置數(shù)據(jù)集中去除該用戶的所有條地理位置數(shù)據(jù)記錄; 步驟(2.4):如果地理位置數(shù)據(jù)集中還有尚未處理的用戶,則轉(zhuǎn)回步驟(2.1),否則結(jié)束,轉(zhuǎn)步驟(3)。
3.如權(quán)利要求1所述方法,其特征在于,所述步驟(3)具體包括以下步驟: 步驟(3.1):從地理位置數(shù)據(jù)集中取一個尚未處理的用戶; 步驟(3.2):從地理位置數(shù)據(jù)集中篩選出該用戶在每天第一時間段內(nèi)的地理位置數(shù)據(jù)記錄,計算任每兩條記錄的地理位置的距離;基于距離的遠(yuǎn)近對這些地理位置進(jìn)行聚類,得到一系列聚合,將這一系列聚合中一個或多個聚合的重心作為該用戶對應(yīng)的第一候選位置; 步驟(3.3):從地理位置數(shù)據(jù)集中篩選出該用戶在每個工作日第二時間段內(nèi)的地理位置數(shù)據(jù)記錄,計算任每兩條記錄的地理位置的距離;基于距離的遠(yuǎn)近對這些地理位置進(jìn)行聚類,得到一系列聚合,與步驟(3.2)中完全相同的方法將這一系列聚合中的一個或多個聚合的重心作為該用戶對應(yīng)的第二候選位置; 步驟(3.4):如果地理位置數(shù)據(jù)集中還有尚未處理的用戶,轉(zhuǎn)回步驟(3.1),否則結(jié)束;轉(zhuǎn)步驟(4)。
4.如權(quán)利要求3所述方法,其特征在于,所述的步驟(3.2)中,計算任每兩條記錄的地理位置的距離,具體計算如下: 如果這兩條記錄的地理位置不是經(jīng)緯度,則將它們轉(zhuǎn)換為經(jīng)緯度[Iat1, Ing1]和[Iat2, Ing2],將經(jīng)緯度[Iat1, Ing1]和[lat2,Ing2]分別轉(zhuǎn)換為對應(yīng)的弧度[a @ J和[a 2,3 2];[Iat1, Ing1]和[Iat2, Ing2]之間的距離為 S=arccos (sin ( a *sin ( a 2) +cos ( a ) *cos(a 2)*cos2))*R ;其中,arccos, sin, cos分別為反余弦,正弦,余弦符號,R為地球赤道半徑; 上述的步驟(3.2)中,聚合的重心通過如下方法計算:假設(shè)一個聚合為{[Iat1, Ing1],[Iat2, Ing2],...,[latn, IngJ},則該聚合的重心為[(IatAlat2+…+Iatn) /n, (IngJlng2+."+Ingn)/n] o
5.如權(quán)利要求3所述方法,其特征在于,所述的步驟(3.2)中,基于距離的遠(yuǎn)近對這些地理位置進(jìn)行聚類,具體步驟如下: 步驟(3.21):將每 一個地理位置轉(zhuǎn)化為只包含一個經(jīng)緯度的聚合{[Iati, IngiB ; 步驟(3.22):計算每兩個聚合之間的距離,兩個聚合之間的距離定義為從兩個聚合各任意取一個經(jīng)緯度的最大距離; 步驟(3.23):找出距離最近的兩個聚合,如果該距離小于指定閾值,則將這兩個聚合合并成一個新的聚合,新聚合中包括原來兩個聚合的所有的經(jīng)緯度,轉(zhuǎn)到步驟(3.22);如果該距離大于或者等于指定閾值,則聚類結(jié)束;轉(zhuǎn)步驟(3.2)。
6.如權(quán)利要求1所述方法,其特征在于,所述步驟(5)中,將一個IP地址轉(zhuǎn)化為一個IP段的步驟如下: 步驟(5.1):選定一個數(shù)值M作為IP地址轉(zhuǎn)換后對應(yīng)IP段所需要保留的IP地址長度,M的取值范圍為大于8小于32的整數(shù); 步驟(5.2):將該IP地址的前面M位保留不變,后面的32-M位設(shè)置為零,得到的結(jié)果作為該IP地址所對應(yīng)的IP段。
7.如權(quán)利要求1所述方法,其特征在于,所述步驟(6)具體包括以下步驟: 步驟(6.1):從預(yù)處理后的IP地址數(shù)據(jù)集中取一個尚未處理的IP段; 步驟(6.2):從IP地址數(shù)據(jù)集中找出使用過該IP段的所有用戶,根據(jù)步驟(3)的結(jié)果找出所有這些用戶對應(yīng)的第一候選位置和第二候選位置,作為該IP段所對應(yīng)的候選地理位置,計算每兩個候選地理位置之間的距離,基于距離的遠(yuǎn)近進(jìn)行聚類,聚類結(jié)束后將得到一系列聚合; 步驟(6.3):選擇一個聚合的重心作為該IP段對應(yīng)的地理位置。
8.如權(quán)利要求7所述方法,其特征在于,所述步驟(6.2)中,基于所有計算的距離進(jìn)行聚類的步驟如下: 步驟(6.21):將每一個候選地理位置對應(yīng)的經(jīng)緯度[Iati, Ingi]轉(zhuǎn)化為只包含一個經(jīng)緯度的聚合([Iati, Ingi]}; 步驟¢.22):計算每兩個聚合之間的距離;其中,兩個聚合之間的距離定義為從兩個聚合各任意取一個經(jīng)緯度的最小距離; 步驟(6.23):找出距離最近的兩個聚合,如果該距離小于指定閾值,則將這兩個聚合合并成一個新的聚合,新聚合中包括原來兩個聚合的所有的經(jīng)緯度,轉(zhuǎn)到步驟¢.22);如果該距離大于或者等于指定閾值,則聚類結(jié)束;轉(zhuǎn)步驟(6.3)。
9.如權(quán)利要求7所述方法,其特征在于,所述步驟(6.3):選擇一個聚合的重心作為該IP段對應(yīng)的地理位置:具體包括以下步驟: 步驟¢.31):將所有聚合依據(jù)包含的候選位置的個數(shù)從多到少進(jìn)行排序,分別記為C1, C2,…Ci…,Cn ;n為聚合的個數(shù); 步驟(6.32):如果C1包含的候選位置個數(shù)比C2多,將選擇C1進(jìn)行下一步處理,轉(zhuǎn)步驟(6.34),否則轉(zhuǎn)步驟(6.33); 步驟(6.33):如果C1包含的候選位置個數(shù)與Ci 一樣多,則從C1,…,Ci中選出包含用戶數(shù)最多的聚合,轉(zhuǎn)到步驟(6.34);如果多個聚合包含的用戶數(shù)并列第一時,則隨機(jī)選擇一個聚合,轉(zhuǎn)到步驟¢.34); 步驟¢.34):計 算所選擇的聚合的重心作為該IP段對應(yīng)的地理位置。
全文摘要
本發(fā)明涉及利用移動終端的位置數(shù)據(jù)準(zhǔn)確定位IP地址的地理位置的方法,屬于計算機(jī)系統(tǒng)技術(shù)領(lǐng)域,該方法包括收集用戶使用移動終端的位置數(shù)據(jù),組成地理位置數(shù)據(jù)集,去除可靠性低的數(shù)據(jù)篩選出該用戶晚上、白天的移動終端地理位置數(shù)據(jù)全部記錄,進(jìn)行聚類,得到的若干聚合的重心作為該用戶對應(yīng)的第一、第二候選位置;收集用戶使用固定終端上網(wǎng)的IP地址數(shù)據(jù),將每一條記錄的IP地址轉(zhuǎn)化為一個IP段;對于預(yù)處理后的IP地址數(shù)據(jù)集中,篩選出使用過該IP段的所有用戶,找出這些用戶對應(yīng)的第一候選位置和第二候選位置;得到一系列聚合,將從聚類得到的包含候選位置最多的聚合的重心作為該IP段對應(yīng)的地理位置。該方法不僅能夠?qū)崿F(xiàn)街道級的定位精度,同時也具備響應(yīng)快和部署簡單等優(yōu)點(diǎn)。
文檔編號H04W64/00GK103220376SQ20131010884
公開日2013年7月24日 申請日期2013年3月30日 優(yōu)先權(quán)日2013年3月30日
發(fā)明者張堯?qū)W, 周悅芝, 劉浩, 陳川, 王巨宏 申請人:清華大學(xué), 深圳市騰訊計算機(jī)系統(tǒng)有限公司