<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

一種ip定位方法和裝置的制造方法

文檔序號:8226176閱讀:235來源:國知局
一種ip定位方法和裝置的制造方法
【技術領域】
[0001]本發明屬于定位領域,尤其涉及一種IP定位方法和裝置。
【背景技術】
[0002]在使用手機或者電腦上網獲取信息時,通常需要根據手機或者電腦接入點的IP地址確定用戶所在的位置,以提供更為準確的資源服務。比如在查找與用戶所在位置對應的信息,比如天氣情況或者所在地的其它活動,如團購等。
[0003]為了獲取用戶所在地的位置信息,對于手機用戶,則可以通過GPS衛星定位系統或者基站定位獲取其位置信息。當不具備GPS衛星定位系統或者基站定位硬件時,則需要通過IP進行定位。
[0004]現有的IP定位方法,一般是通過在IP數據庫中查找IP所對應的位置,比如IP對應的城市。但是,由于IP數據庫中存儲的IP數量巨多,需要存儲IP數據的空間較大,而且當在云平臺大并發的IP定位查詢時,查詢效率較低,影響定位查詢性能。

【發明內容】

[0005]本發明的目的在于提供一種IP定位方法和裝置,以解決現有技術由于IP數據庫中存儲的IP數量巨多,需要存儲IP數據的空間較大,而且當在云平臺大并發的IP定位查詢時,查詢效率較低,影響定位查詢性能的問題。
[0006]本發明是這樣實現的,一種IP定位方法,所述方法包括:
[0007]接收IP地址定位請求,所述請求包括請求定位的IP地址;
[0008]根據預設的IP地址與數值的對應關系,計算所述請求定位的IP地址對應的請求數值;
[0009]根據預先按序存儲的數值與位置信息的對應關系,查找所述請求數值對應的位置信息。
[0010]本發明的另一目的在于提供一種IP定位裝置,所述裝置包括:
[0011]請求接收單元,用于接收IP地址定位請求,所述請求包括請求定位的IP地址;
[0012]數值計算單元,用于根據預設的IP地址與數值的對應關系,計算所述請求定位的IP地址對應的請求數值;
[0013]位置信息查找單元,用于根據預先按序存儲的數值與位置信息的對應關系,查找所述請求數值對應的位置信息。
[0014]在本發明中,通過IP地址與數值的對應關系,計算所述IP地址定位請求中包括的請求定位的IP地址對應的請求數值,根據所述請求數值,根據按序存儲的數值與位置信息的對應關系,查找對應的位置信息。本發明通過將IP地址轉化為數值進行查找,可以大大提高查找的效率,而且將所述IP地址轉化為數值,可減少所述IP地址存儲所占用的空間。
【附圖說明】
[0015]圖1是本發明第一實施例提供的IP定位方法的實現流程圖;
[0016]圖2是本發明第二實施例提供的IP定位方法的實現流程圖;
[0017]圖3是本發明第三實施例提供的IP定位裝置的結構示意圖。
【具體實施方式】
[0018]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0019]本發明實施例的主要目的在于克服現有技術中在使用IP地址進行定位時,由于IP地址的數量非常多,如果根據逐個IP中的符號進行比較,則需要多次的查找,查找效率較低,而且多段的IP地址存儲占用較多的內存空間的問題。
[0020]為解決上述問題,本發明提出了一種IP定位方法,所述方法包括:接收IP地址定位請求,所述請求包括請求定位的IP地址;根據預設的IP地址與數值的對應關系,計算所述請求定位的IP地址對應的請求數值;根據預先按序存儲的數值與位置信息的對應關系,查找所述請求數值對應的位置信息。
[0021 ] 通過將IP地址轉化為請求數值,可以節省所述IP地址在內存中的存儲空間,并且按序存儲的對應關系,可以便于快速的查找所述請求數值對應的位置信息,提高IP地址查找位置信息的效率。下面結合附圖具體說明。
[0022]圖1示出了本發明實施例提供的IP定位方法的實現流程,詳述如下:
[0023]在步驟SlOl中,接收IP地址定位請求,所述請求包括請求定位的IP地址。
[0024]具體的,所述定位請求,可以為客戶端的應用程序或者網頁發送的定位請求,比如在使用區分區域資源的應用程序時,由應用程序發送的定位請求。
[0025]所述IP地址(中文全稱為:互聯網協議地址,英文全稱為:Internet ProtocolAddress),是IP協議提供的一種統一的地址格式,它為互聯網上的每一個網絡和每一臺主機分配一個邏輯地址,以此來屏蔽物理地址的差異。IP地址是一個32位的二進制數,通常被分割為4個“8位二進制數”(也就是4個字節)。IP地址通常用“點分十進制”表示成(a.b.c.d)的形式,其中,a, b, c, d都是O?255之間的十進制整數。例:點分十進IP地址(100.4.5.6),實際上是 32 位二進制數(01100100.00000100.00000101.00000110)。
[0026]在步驟S102中,根據預設的IP地址與數值的對應關系,計算所述請求定位的IP地址對應的請求數值。
[0027]具體的,所述IP地址與數值的對應關系,可以包括多種對應的計算關系,比如一種優選的實施方式中:所述根據預設的IP地址與數值的對應關系,計算所述請求定位的IP地址對應的請求數值步驟具體為:
[0028]所述請求定位的IP地址為a.b.c.d,所述IP地址對應的256進制的數值大小為a*256的三次方+b*256的平方+c*25+d。
[0029]由于IP地址的每一段的最大值為256,因此,通過上述計算方式,可以使得所有的IP地址與一個連續的數值對應,而且該數值通過上述計算關系可以直接求取。
[0030]當然,所述IP地址對應的256進制的數值大小為d*256的三次方+c*256的平方+b*25+a,本發明不作具體限定。
[0031]比如,對于點分十進IP地址(100.4.5.6),其對應的十進制數值則可以表達為:6+5*256+4*256*256+100*256*256*256。直接使用256進制數值表達則可以為100.4.5.6,此處使用點號將每個256位的數值進行分隔,以免造成混淆。如果使用二進制數值進行表達的話則可以不需要進行分割,而可以直接進行表達,比如100.4.5.6則可以直接表達為:(01100100000001000000010100000110)。
[0032]在步驟S103中,根據預先按序存儲的數值與位置信息的對應關系,查找所述請求數值對應的位置信息。
[0033]具體的,所述預先存儲的數值與位置信息的對應關系,根據所述數值的大小依次進行存儲,比如可以為從小到大進行排序存儲,也可以從大到小進行排序存儲。
[0034]所述位置信息,可以根據定位的要求具體進行調整,比如對于定位要求高的定位算法中,所述預存的數值與位置信息的對應關系,可以具體到每個城區、鄉鎮與數值的對應關系。而對于定位要求較低的定位算法中,則可以粗略定位的城市或者省市即可。在一般定位算法中,所述位置信息可以為城市名稱。
[0035]所述位置信息與數值的對應關系,可以根據定位的精度要求而選擇不同的對應關系,比如對于定位精度非常高的定位操作中,可以建立所述位置信息與數值的一一對應關系,當所述定位要求不是特別精確,則可以建立所述位置信息與數值區間的對應關系,比如對于城市定位、區縣級定位等,可以建立一個位置信息對應多個數值構成的數值區間。
[0036]當然,還可以根據實際應用的需要,使得一個IP地址對應多個不同范圍的地址信息,比如一個IP地址可以對應城市的位置信息,也可以對應城市里的城區位置信息,或者還可以對應具體的街道大樓的位置信息。
[0037]與此相應的,作為本發明進一步優化的實施方式中,所述預先按序存儲的數值與位置信息的對應關系具體為:預先存儲的數值區間與位置信息的對應關系。
[0038]所述預先存儲的數值區間與位置信息的對應關系,即一個位置信息對應一個數值區間,當然也可能一個位置對應兩個以上的數值區間。比如位置信息如“北京”,其對應的IP地址可能包括10.0.0.0至10.0.100.0,那么存儲所述IP地址位置信息的對應關系,只需要存儲數值區間,即IP地址的起始地址對應的數值和IP地址的結束地址對應的數值即可。從而可以大大減少數據的存儲量,而且數值區間越大,節省的存儲空間越多,查找也更加方便。
[0039]查找所述請求數值對應的位置信息,可以采用二分法查找所述請求數值對應的位置信息。當然,不局限于此,可以采用三分或者其它方法對有序數據的查找。
[0040]比如,對于每個地址信息對應一個IP地址時采用的二分法查找過程可以簡述如下:如果在數值區間[0,a]中查找數據b的位置,則可以先比較a/2與b的大小,如果a/2大于b,則在[0,a/2]中繼續比較查找,如果a/2小于b,則在[a/2,b]中繼續查找,如果a/2=b,則停止查找。如果查找到最后沒有查找到與b相同的數值,則說明在數據庫中沒有記錄該IP地址對應的位置信息,中止所述位置信息的查找。
[0041]當所述位置信息與多個數值區間對應,即一個IP地址可能對應多個不同數值范圍的區間時,則可以進一步提高二分查找法的查找效率,因為只需要查找IP地址對應的數值所在的數值區間,即可確定所述IP地址對應的位置。比如在使用二分法查找IP地址的數值b對應的數值區間時,查找的數值共包括[al,a2] [bl, b2] [cl, c2]這三個大的數值區間,查找b的位置,首先是找到找到其中一個數值區間[131>2],然后比較13、131汕2。
[0042]如果b〈bl,則再在數值區間[al,a2]里面再進一步用二分法查找;
[0043]如果bl〈b〈b2,那么在[bl,b2]里面再進一步二分法查找;
[0044]如果b>b2,那么在[cl, c2]里面再用二分法尋找。
[0045]這樣不斷掉的查找下去,得到的IP地址所對應的位置信息也會更加具體,比如先查找IP所對應的省級位置信息
當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影