一種識別ip地址的區(qū)域歸屬地信息的方法和裝置制造方法
【專利摘要】本發(fā)明涉及一種識別IP地址的區(qū)域歸屬地信息的方法和裝置,獲取用戶的IP地址;將所述IP地址轉(zhuǎn)換成特定進制的數(shù)字串;基于所述特定進制的數(shù)字串,查詢預先建立的查詢表以確定所述數(shù)字串所屬的數(shù)字串區(qū)間,其中,所述查詢表包含一個或多個數(shù)字串區(qū)間,并且每個數(shù)字串區(qū)間與一個特定區(qū)域的IP地址的區(qū)域歸屬地信息相對應;以及基于所述數(shù)字串所屬的數(shù)字串區(qū)間,確定所述IP地址的區(qū)域歸屬地信息。本發(fā)明通過簡單的方法對海量IP地址進行轉(zhuǎn)換從而能夠?qū)⒖焖儆行У卮_定與IP地址相對應的區(qū)域歸屬地信息。通過本發(fā)明的技術(shù)方案,降低了運算量和運算復雜度,提高了查詢IP地址的區(qū)域歸屬地信息的速度和準確度。
【專利說明】一種識別IP地址的區(qū)域歸屬地信息的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】,更具體地涉及一種識別IP地址的區(qū)域歸屬地信息的方法和裝置。
【背景技術(shù)】
[0002]在互聯(lián)網(wǎng)應用中,對于IP歸屬地址識別有著許多的實際應用。例如在天氣預報系統(tǒng)中,天氣發(fā)布者在天氣預報系統(tǒng)中預報天氣,例如可以指定只在某個特定的區(qū)域自動推送該區(qū)域的天氣預報,例如針對北京自動推送北京的天氣預報,則當系統(tǒng)對一個用戶顯示天氣預報時需要通過他的IP地址確定他是否是北京用戶,如果是,則顯示北京的天氣預報;如果不是,則不顯示。再例如,在廣告系統(tǒng)中,廣告主在廣告系統(tǒng)中投放廣告,會指定只在某個特定的區(qū)域進行投放,例如只在北京投放,則當系統(tǒng)對一個用戶展示廣告時需要通過他的IP地址確定他是否是北京用戶,如果是,則投放廣告;如果不是,則不投放。由于廣告系統(tǒng)需要在短時間內(nèi)處理大量的用戶請求,所以IP歸屬地址識別系統(tǒng)需要很高的效率。
[0003]綜上所述,為了進一步提高IP歸屬地查詢的效率,本發(fā)明提出利用一種創(chuàng)新的方法來實現(xiàn)針對IP地址的區(qū)域性的歸屬地信息的快速查詢,從而提升系統(tǒng)的處理速度。
【發(fā)明內(nèi)容】
[0004]鑒于上述問題,提出了本發(fā)明以提供一種識別IP地址的區(qū)域歸屬地信息的方法和裝置,以在的過程中,降低運算量和復雜度,提高準確率和時間效率,擴大應用范圍。
[0005]為了解決上述技術(shù)問題,本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn):
[0006]本發(fā)明提供了一種識別IP地址的區(qū)域歸屬地信息的方法,其特征在于,包括:獲取用戶的IP地址;將所述IP地址轉(zhuǎn)換成特定進制的數(shù)字串;基于所述特定進制的數(shù)字串,查詢預先建立的查詢表以確定所述數(shù)字串所屬的數(shù)字串區(qū)間,其中,所述查詢表包含一個或多個數(shù)字串區(qū)間,并且每個數(shù)字串區(qū)間與一個特定區(qū)域的IP地址的區(qū)域歸屬地信息相對應;以及基于所述數(shù)字串所屬的數(shù)字串區(qū)間,確定所述IP地址的區(qū)域歸屬地信息。
[0007]其中,將所述IP地址轉(zhuǎn)換成特定進制的數(shù)字串,包括:將所述IP地址轉(zhuǎn)換成十進制的十二位數(shù)字串。
[0008]其中,所述數(shù)字串區(qū)間通過數(shù)字串區(qū)間兩端的最大數(shù)字串和最小數(shù)字串來定義。
[0009]其中,基于所述特定進制的數(shù)字串,查詢預先建立的查詢表以確定所述數(shù)字串所屬的數(shù)字串區(qū)間,進一步包括:基于所述特定進制的數(shù)字串,查找所述查詢表以確定與所述特定進制的數(shù)字串距離最近的最大數(shù)字串;確定所述最大數(shù)字串所屬的數(shù)字串區(qū)間;判斷所述特定進制的數(shù)字串是否大于該數(shù)字串區(qū)間的最小數(shù)字串;并且,如果大于該數(shù)字串區(qū)間的最小數(shù)字串,則確定所述數(shù)字串屬于所述數(shù)字串區(qū)間。
[0010]其中,基于所述特定進制的數(shù)字串,查找所述查詢表以確定與所述特定進制的數(shù)字串距離最近的最大數(shù)字串,進一步包括:將所述特定進制的數(shù)字串與所述查詢表中的各個數(shù)字串區(qū)間的最大數(shù)字串進行比較以確定與所述特定進制的數(shù)字串距離最近的最大數(shù)字串。
[0011]其中,基于所述數(shù)字串所屬的數(shù)字串區(qū)間,確定所述IP地址的區(qū)域歸屬地信息,進一步包括:基于所述數(shù)字串所屬的數(shù)字串區(qū)間,獲取與之對應的區(qū)域歸屬地信息;以及將所述區(qū)域歸屬地信息確定為所述IP地址的區(qū)域歸屬地信息。
[0012]其中,所述預先建立的查詢表是通過以下步驟預先建立的:將數(shù)據(jù)庫中的IP地址各個地轉(zhuǎn)換成相應的所述特定進制的數(shù)字串,其中所述數(shù)據(jù)庫中包含IP地址、IP地址的歸屬地信息及二者的對應關(guān)系;以及基于預定區(qū)域劃分規(guī)則所定義的區(qū)域歸屬地信息并且基于IP地址的歸屬地信息,將IP地址所對應的特定進制的數(shù)字串映射到區(qū)域歸屬地信息;通過映射到每個區(qū)域歸屬地信息的數(shù)字串形成與該區(qū)域歸屬地信息相對應的一個或多個數(shù)字串區(qū)間,其中每個數(shù)字串區(qū)間利用數(shù)字串區(qū)間兩端的最大數(shù)字串和最小數(shù)字串來定義;基于數(shù)字串區(qū)間與區(qū)域歸屬地信息的對應關(guān)系,建立所述查詢表。
[0013]本發(fā)明還提供了一種識別IP地址的區(qū)域歸屬地信息的裝置,其特征在于,包括:獲取模塊,用于獲取用戶的IP地址;轉(zhuǎn)換模塊,用于將所述IP地址轉(zhuǎn)換成特定進制的數(shù)字串;查詢模塊,用于基于所述特定進制的數(shù)字串,查詢預先建立的查詢表以確定所述數(shù)字串所屬的數(shù)字串區(qū)間,其中,所述查詢表包含一個或多個數(shù)字串區(qū)間,并且每個數(shù)字串區(qū)間與一個特定區(qū)域的IP地址的區(qū)域歸屬地信息相對應;以及確定模塊,用于基于所述數(shù)字串所屬的數(shù)字串區(qū)間,確定所述IP地址的區(qū)域歸屬地信息。
[0014]其中,所述轉(zhuǎn)換模塊被配置成將所述IP地址轉(zhuǎn)換成十進制的十二位數(shù)字串。
[0015]其中,所述數(shù)字串區(qū)間通過數(shù)字串區(qū)間兩端的最大數(shù)字串和最小數(shù)字串來定義。
[0016]其中,所述查詢模塊進一步包括:查找子模塊,用于基于所述特定進制的數(shù)字串,查找所述查詢表以確定與所述特定進制的數(shù)字串距離最近的最大數(shù)字串;第一確定子模塊,用于確定所述最大數(shù)字串所屬的數(shù)字串區(qū)間;判斷子模塊,用于判斷所述特定進制的數(shù)字串是否大于該數(shù)字串區(qū)間的最小數(shù)字串;以及第二確定子模塊,用于如果大于該數(shù)字串區(qū)間的最小數(shù)字串,則確定所述數(shù)字串屬于所述數(shù)字串區(qū)間。
[0017]其中,所述查詢模塊進一步包括:比較子模塊,用于將所述特定進制的數(shù)字串與所述查詢表中的各個數(shù)字串區(qū)間的最大數(shù)字串進行比較以確定與所述特定進制的數(shù)字串距離最近的最大數(shù)字串。
[0018]其中,所述確定模塊進一步包括:獲取子模塊,用于基于所述數(shù)字串所屬的數(shù)字串區(qū)間,獲取與之對應的區(qū)域歸屬地信息;以及第三確定子模塊,用于將所述區(qū)域歸屬地信息確定為所述IP地址的區(qū)域歸屬地信息。
[0019]其中,所述預先建立的查詢表是通過轉(zhuǎn)換模塊中的以下子模塊預先建立的:轉(zhuǎn)換子模塊,用于將數(shù)據(jù)庫中的IP地址各個地轉(zhuǎn)換成相應的所述特定進制的數(shù)字串,其中所述數(shù)據(jù)庫中包含IP地址、IP地址的歸屬地信息及二者的對應關(guān)系;映射子模塊,用于基于預定區(qū)域劃分規(guī)則所定義的區(qū)域歸屬地信息并且基于IP地址的歸屬地信息,將IP地址所對應的特定進制的數(shù)字串映射到區(qū)域歸屬地信息;形成子模塊,用于通過映射到每個區(qū)域歸屬地信息的數(shù)字串形成與該區(qū)域歸屬地信息相對應的一個或多個數(shù)字串區(qū)間,其中每個數(shù)字串區(qū)間利用數(shù)字串區(qū)間兩端的最大數(shù)字串和最小數(shù)字串來定義;建立子模塊,用于基于數(shù)字串區(qū)間與區(qū)域歸屬地信息的對應關(guān)系,建立所述查詢表。
[0020]與現(xiàn)有技術(shù)相比,根據(jù)本發(fā)明的技術(shù)方案存在以下有益效果:(I)本發(fā)明的技術(shù)方案能夠利用簡單的數(shù)學運算將IP地址轉(zhuǎn)換為查詢表的鍵(數(shù)字串),從而提高識別效率;(2 )并且該轉(zhuǎn)換處理能夠在IP地址數(shù)量巨大時也保證轉(zhuǎn)換后的鍵(數(shù)字串)的唯一性,不會出現(xiàn)不同的IP地址被識別為同一個字符串的情形;并且(3)對某個特定的區(qū)域,當它有多個IP地址的時候,可以合并,從而減少查詢表內(nèi)的鍵(數(shù)字串)的數(shù)量,提高查詢速度,降低
存儲量。
[0021]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【專利附圖】
【附圖說明】
[0022]通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0023]圖1是根據(jù)本發(fā)明一實施例的識別IP地址的區(qū)域歸屬地信息的方法的流程圖;
[0024]圖2是根據(jù)本發(fā)明一實施例的建立查詢表的方法的流程圖;
[0025]圖3是用于說明數(shù)字串區(qū)間與區(qū)域歸屬地信息的對應關(guān)系的示意圖;
[0026]圖4是根據(jù)本發(fā)明一實施例的識別IP地址的區(qū)域歸屬地信息的裝置的結(jié)構(gòu)圖。
【具體實施方式】
[0027]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
[0028]本發(fā)明的主要思想在于,通過將所述IP地址轉(zhuǎn)換成特定進制的數(shù)字串;以所述特定進制的數(shù)字串為基礎(chǔ),查詢預先建立的查詢表以確定所述數(shù)字串所屬的數(shù)字串區(qū)間;并基于所述數(shù)字串所屬的數(shù)字串區(qū)間,確定所述IP地址的區(qū)域歸屬地信息。
[0029]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明具體實施例及相應的附圖對本發(fā)明技術(shù)方案進行清楚、完整地描述。顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0030]在一個實現(xiàn)方式中,例如可以通過如下方法確定IP地址的詳細歸屬地信息。首先,搜集詳細地址的IP映射字典,具體例子如下:IP =123.0.0.1省:北京市:北京區(qū):朝陽地址:酒仙橋路6號院電子科技大廈。然后將每個IP認為是一系列符號的組合,例如:123.0.0.1可以理解為1,2,3,.,0,.,0,.,I這九個符號的組合。再次,可以利用多種方法建立查詢字典,例如:將“123.0.0.1”這九個符號利用一個特定的算法(例如md5算法,hash算法等)轉(zhuǎn)化為某個特定長度的字符串;將該字符串作為字典的key,對應的詳細內(nèi)容(省:北京市:北京區(qū):朝陽地址:酒仙橋路6號院電子科技大廈)作為字典的value,建立一個查詢字典。最后,當某個實際用戶的IP訪問時,系統(tǒng)首先利用建立字典key的算法將IP轉(zhuǎn)化為某個特定長度的字符串,再通過在字典中的查詢得到這個實際用戶IP的實際地址,再返回給訪問方。
[0031]但是,該實現(xiàn)方式存在如下缺點:
[0032]( I)現(xiàn)有技術(shù)通過現(xiàn)有的一些方法將IP轉(zhuǎn)化為字符串,但是往往轉(zhuǎn)化的方法不是簡單的數(shù)學運算,在轉(zhuǎn)化過程中會存在一定的效率損耗。
[0033](2)在實際運用中,往往某個特定地址有多個IP,這樣就需要對每個IP進行字典key的建立,增加了字典key的數(shù)量,導致實際查詢速度變慢(任何查詢方法的速度都是與字典的key的數(shù)量成正比的,字典的key的數(shù)量越多,查詢速度越慢)。
[0034](3)將IP地址轉(zhuǎn)化為字符串需要保證唯一性,現(xiàn)有技術(shù)中使用的轉(zhuǎn)化方法在IP數(shù)據(jù)巨大時有可能不能保證唯一性,從而導致不同的IP被轉(zhuǎn)化成了同一個字符串,這將導致系統(tǒng)識別錯誤,無法保證系統(tǒng)的正確識別。
[0035]下面將參考附圖,詳細描述本發(fā)明改進的技術(shù)方案。
[0036]如圖1所示,圖1是根據(jù)本發(fā)明一實施例的識別IP地址的區(qū)域歸屬地信息的方法的流程圖。
[0037]在步驟SllO處,獲取用戶的IP地址。
[0038]具體而言,在業(yè)務應用中,獲取用戶的IP地址。舉例來說,例如一個用戶打開一個網(wǎng)站進行瀏覽,則通過服務器操作獲取用戶的IP地址。
[0039]在步驟S120處,將所述IP地址轉(zhuǎn)換成特定進制的數(shù)字串。
[0040]具體而言,獲取到用戶的IP地址后,需要將IP地址進行轉(zhuǎn)換以獲得特定進制的數(shù)字串??蛇x地,在本發(fā)明的一個實施例中,可以將IP地址轉(zhuǎn)換成十進制的十二位數(shù)字串。
[0041]例如,獲取到的用戶的IP地址為IP:123.0.0.2,按十進制將IP轉(zhuǎn)換成為12位的整數(shù),舉例:123.0.0.2 轉(zhuǎn)換為 123000000002。
[0042]應該理解,本發(fā)明不限于此,而是還可以采用其他任何合適的進制來將每個IP轉(zhuǎn)化成為一個數(shù)字。
[0043]接下來,在步驟S130處,基于該特定進制的數(shù)字串,查詢預先建立的查詢表以確定該數(shù)字串所屬的數(shù)字串區(qū)間,其中,查詢表包含一個或多個數(shù)字串區(qū)間,并且每個數(shù)字串區(qū)間與一個特定區(qū)域的IP地址的區(qū)域歸屬地信息相對應。
[0044]具體而言,例如如圖3所示,查詢表包含多個數(shù)字串區(qū)間:
[0045][123000000004,123000000001]
[0046][124000000003,124000000001]
[0047][125000000006,125000000002]
[0048][126000000010,126000000001]等等。
[0049]其中,例如,前兩個數(shù)字串區(qū)間與北京市的IP地址的區(qū)域歸屬地信息——北京市相對應;第三個數(shù)字串區(qū)間與上海市的IP地址的區(qū)域歸屬地信息——上海市相對應;第四個數(shù)字串區(qū)間與廣州市的IP地址的區(qū)域歸屬地信息一廣州市相對應。
[0050]可選地,每個數(shù)字串區(qū)間可以通過數(shù)字串區(qū)間兩端的最大數(shù)字串和最小數(shù)字串來定義。例如第三個數(shù)字串區(qū)間包含在[125000000006,125000000002]之間的數(shù)字串,其由該數(shù)字串區(qū)間兩端的最大數(shù)字串125000000006和最小數(shù)字串125000000002來定義。
[0051 ] 在了解了數(shù)字串區(qū)間的含義之后,接下來具體描述基于所述特定進制的數(shù)字串來查詢預先建立的查詢表以確定該數(shù)字串所屬的數(shù)字串區(qū)間的過程。[0052]首先,可以基于所述特定進制的數(shù)字串,查找所述查詢表以確定與所述特定進制的數(shù)字串距離最近的最大數(shù)字串。具體而言,可以將所述特定進制的數(shù)字串與所述查詢表中的各個數(shù)字串區(qū)間的最大數(shù)字串進行比較以確定與所述特定進制的數(shù)字串距離最近的最大數(shù)字串。
[0053]承接上例,用戶的IP地址所轉(zhuǎn)換成的數(shù)字串為123000000002,查找查詢表確定與該數(shù)字串距離最近的最大數(shù)字串為123000000004。
[0054]然后,基于確定的最大數(shù)字串123000000004,確定該最大數(shù)字串所屬的數(shù)字串區(qū)間為[123000000004,123000000001]。
[0055]應該理解,本發(fā)明不限于此,而是還可以采用任何其他合適的方法來確定與該數(shù)字串距離最近的最大數(shù)字串。
[0056]接下來,判斷所述特定進制的數(shù)字串是否大于該數(shù)字串區(qū)間的最小數(shù)字串。可選地,例如可以將與用戶的IP地址相對應的數(shù)字串123000000002與該數(shù)字串區(qū)間的最小數(shù)字串123000000001進行比較以確定其是否小于該數(shù)字串區(qū)間的最小數(shù)字串。
[0057]應該理解,本發(fā)明不限于此,而是還可以采用任何其他合適的方法來確定該數(shù)字串是否大于該數(shù)字串區(qū)間的最小數(shù)字串。
[0058]如果大于該數(shù)字串區(qū)間的最小數(shù)字串,則確定該數(shù)字串屬于所述數(shù)字串區(qū)間。
[0059]繼續(xù)前面的例子,可以看到,與用戶的IP地址相對應的數(shù)字串123000000002大于該數(shù)字串區(qū)間的最小數(shù)字串123000000001。因此確定該數(shù)字串123000000002屬于數(shù)字串區(qū)間[123000000004,123000000001]。
[0060]關(guān)于查詢表的建立過程可以參見稍后圖2的詳細描述。
[0061]接下來,在步驟S140處,基于該數(shù)字串所屬的數(shù)字串區(qū)間,確定該IP地址的區(qū)域歸屬地信息。
[0062]具體而言,可選地,基于該數(shù)字串所屬的數(shù)字串區(qū)間,獲取與之對應的區(qū)域歸屬地信息,然后,將所述區(qū)域歸屬地信息確定為所述IP地址的區(qū)域歸屬地信息。
[0063]例如,通過查詢表中數(shù)字串區(qū)間與區(qū)域歸屬地信息之間的對應關(guān)系,可以獲知數(shù)字串區(qū)間[123000000004,123000000001]相對應的區(qū)域歸屬地信息為北京市。然后,將該區(qū)域歸屬地信息——北京市確定為用戶的IP地址123.0.0.2的區(qū)域歸屬地信息。
[0064]至此描述了根據(jù)本發(fā)明一個實施例的識別IP地址的區(qū)域歸屬地信息的方法。關(guān)于其中查詢表的建立過程,下面結(jié)合圖2進行詳細描述。
[0065]參照圖2,其中示出了根據(jù)本發(fā)明一實施例的建立查詢表的方法的流程圖。
[0066]如圖2所示,在步驟S210處,將數(shù)據(jù)庫中的IP地址各個地轉(zhuǎn)換成相應的所述特定進制的數(shù)字串,其中所述數(shù)據(jù)庫中包含IP地址、IP地址的歸屬地信息及二者的對應關(guān)系。
[0067]為了更清楚地描述建立查詢表的過程,下面參考圖3的數(shù)字串區(qū)間與區(qū)域歸屬地信息的對應關(guān)系的示意圖來進行描述。
[0068]如圖3所示,例如將數(shù)據(jù)庫中的IP地址各個地轉(zhuǎn)換成相應的所述特定進制的數(shù)字串。例如,在本發(fā)明的一個實施例中,將其轉(zhuǎn)換成十進制的十二位數(shù)字串。舉例而言,數(shù)據(jù)庫中的一個IP地址123.0.0.1,該IP地址的歸屬地信息為:省:北京市;北京區(qū):朝陽;地址:酒仙橋路6號院電子科技大廈,并且該IP地址與其歸屬地信息相對應。
[0069]按照本發(fā)明的方法,將IP地址123.0.0.1轉(zhuǎn)換成十進制的十二位數(shù)字串123000000001。按照同樣的方式,將數(shù)據(jù)庫中所有的IP地址都轉(zhuǎn)換成數(shù)字串。
[0070]在步驟S220處,基于預定區(qū)域劃分規(guī)則所定義的區(qū)域歸屬地信息并且基于IP地址的歸屬地信息,將IP地址所對應的特定進制的數(shù)字串映射到區(qū)域歸屬地信息。
[0071]具體而言,預定區(qū)域劃分規(guī)則例如可以是以市為區(qū)域劃分規(guī)則的級別,定義區(qū)域歸屬地信息。也即是說,北京市為一個區(qū)域歸屬地信息,上海市為另一個區(qū)域歸屬地信息,其他城市也進行類似的劃分,然后基于該區(qū)域歸屬地信息并且基于IP地址的歸屬地信息,將IP地址所對應的特定進制的數(shù)字串映射到區(qū)域歸屬地信息。
[0072]參考圖3,承接上面的例子,例如有IP地址所對應的如下字符串:123000000004,123000000002,123000000001,124000000003,124000000001, 125000000006,125000000005,125000000002,126000000010,126000000009,126000000008,126000000001 o其中第1-5個數(shù)字串的歸屬地信息均對應北京市、第6-8個數(shù)字串的歸屬地信息均對應上海市,第9-12個數(shù)字串的歸屬地信息均對應廣州市。
[0073]應該理解,在實際應用中,IP地址、歸屬地信息以及區(qū)域歸屬地信息都可以包含更多數(shù)量。
[0074]從而基于各個市級的區(qū)域歸屬地信息,并且基于上述數(shù)字串的歸屬地信息,將第1-5個數(shù)字串映射到區(qū)域歸屬地信息——北京市、將第6-8個數(shù)字串映射到區(qū)域歸屬地信息——上海市、并將第9-12個數(shù)字串映射到區(qū)域歸屬地信息——廣州市。
[0075]應該理解,上述示例僅僅是示意性的,本發(fā)明并不限于此,而是可以有任意多個數(shù)字串與某個區(qū)域歸屬地信息相映射。
[0076]還應該理解,本發(fā)明的區(qū)域歸屬地信息不限于此,而是還可以采用任何其他級別的區(qū)域作為區(qū)域劃分規(guī)則來定義其他級別的區(qū)域歸屬地信息。例如,可以以華北、華南、東北、西北、西南、華東等等區(qū)域級別作為區(qū)域劃分規(guī)則的級別來進行區(qū)域歸屬地信息的劃分。
[0077]接下來,在步驟S230處,通過映射到每個區(qū)域歸屬地信息的數(shù)字串形成與該區(qū)域歸屬地信息相對應的一個或多個數(shù)字串區(qū)間,其中每個數(shù)字串區(qū)間利用數(shù)字串區(qū)間兩端的最大數(shù)字串和最小數(shù)字串來定義。
[0078]參考圖3,映射到北京市區(qū)域歸屬地信息的第1-5個數(shù)字串形成了兩個數(shù)字串區(qū)間[123000000004,123000000001]和[124000000003,
[0079]124000000001]、映射到上海市區(qū)域歸屬地信息的第6-8個數(shù)字串形成了一個數(shù)字串區(qū)間[125000000006,125000000002]、映射到廣州市區(qū)域歸屬地信息的第9_12個數(shù)字串形成了一個數(shù)字串區(qū)間[126000000010,126000000001]。
[0080]應該理解,上述示例僅僅是示意性的,本發(fā)明并不限于此,而是每個區(qū)域歸屬地信息可能與一個或多個數(shù)字串區(qū)間相對應。
[0081]還應該理解,與同一個區(qū)域歸屬地信息相對應的數(shù)字串形成的數(shù)字串區(qū)間的數(shù)目并非僅僅上述的數(shù)字區(qū)間,本發(fā)明并不限于此。按照本發(fā)明,與同一個區(qū)域歸屬地信息相對應的數(shù)字串形成多少數(shù)字串區(qū)間是可以按照實際情況或者按照優(yōu)化的方式進行適當調(diào)整的。
[0082]最后,在步驟S240處,基于數(shù)字串區(qū)間與區(qū)域歸屬地信息的對應關(guān)系,
[0083]建立所述查詢表。[0084]具體而言,如圖3所示,將得到的所有數(shù)字串區(qū)間與區(qū)域歸屬地信息對應起來,基于它們的對應關(guān)系,建立查詢表。
[0085]至此結(jié)合圖2和圖3描述了根據(jù)本發(fā)明一個實施例的預先建立查詢表的方法的過程。利用本發(fā)明的查詢表建立過程,能夠建立對應關(guān)系簡單且并且本身大小相對較小的查詢表。然后,基于預先建立的查詢表,利用本發(fā)明的方法可以進行快速、有效、準確的IP地址的區(qū)域歸屬地信息的查詢。
[0086]與上述識別IP地址的區(qū)域歸屬地信息的方法類似,本發(fā)明還提供相應的一種識別IP地址的區(qū)域歸屬地信息的裝置。如圖4所示,圖4是根據(jù)本發(fā)明一實施例的識別IP地址的區(qū)域歸屬地信息的裝置的結(jié)構(gòu)圖400。
[0087]該裝置可以包括:獲取模塊410,轉(zhuǎn)換模塊420,查詢模塊430以及確定模塊440。
[0088]其中,獲取模塊410可以用于獲取用戶的IP地址。轉(zhuǎn)換模塊420可以用于將所述IP地址轉(zhuǎn)換成特定進制的數(shù)字串。查詢模塊430可以用于基于所述特定進制的數(shù)字串,查詢預先建立的查詢表以確定所述數(shù)字串所屬的數(shù)字串區(qū)間,其中,所述查詢表包含一個或多個數(shù)字串區(qū)間,并且每個數(shù)字串區(qū)間與一個特定區(qū)域的IP地址的區(qū)域歸屬地信息相對應。確定模塊440可以用于基于所述數(shù)字串所屬的數(shù)字串區(qū)間,確定所述IP地址的區(qū)域歸屬地信息。
[0089]根據(jù)本發(fā)明的實施例,轉(zhuǎn)換模塊420進一步被配置成將IP地址轉(zhuǎn)換成十進制的
十二位數(shù)字串。
[0090]根據(jù)本發(fā)明的實施例,所述數(shù)字串區(qū)間通過數(shù)字串區(qū)間兩端的最大數(shù)字串和最小數(shù)字串來定義。
[0091]根據(jù)本發(fā)明的實施例,查詢模塊430可以進一步包括:比較子模塊,用于將所述特定進制的數(shù)字串與所述查詢表中的各個數(shù)字串區(qū)間的最大數(shù)字串進行比較以確定與所述特定進制的數(shù)字串距離最近的最大數(shù)字串。
[0092]根據(jù)本發(fā)明的實施例,查詢模塊430可以進一步包括:查找子模塊,用于基于所述特定進制的數(shù)字串,查找所述查詢表以確定與所述特定進制的數(shù)字串距離最近的最大數(shù)字串;第一確定子模塊,用于確定所述最大數(shù)字串所屬的數(shù)字串區(qū)間;判斷子模塊,用于判斷所述特定進制的數(shù)字串是否大于該數(shù)字串區(qū)間的最小數(shù)字串;以及第二確定子模塊,用于如果大于該數(shù)字串區(qū)間的最小數(shù)字串,則確定所述數(shù)字串屬于所述數(shù)字串區(qū)間。
[0093]根據(jù)本發(fā)明的實施例,確定模塊440可以進一步包括:獲取子模塊,用于基于所述數(shù)字串所屬的數(shù)字串區(qū)間,獲取與之對應的區(qū)域歸屬地信息;以及確定子模塊,用于將所述區(qū)域歸屬地信息確定為所述IP地址的區(qū)域歸屬地信息。
[0094]根據(jù)本發(fā)明的實施例,所述預先建立的查詢表是通過轉(zhuǎn)換模塊中的以下子模塊預先建立的:轉(zhuǎn)換子模塊,用于將數(shù)據(jù)庫中的IP地址各個地轉(zhuǎn)換成相應的所述特定進制的數(shù)字串,其中所述數(shù)據(jù)庫中包含IP地址、IP地址的歸屬地信息及二者的對應關(guān)系;以及映射子模塊,用于基于預定區(qū)域劃分規(guī)則所定義的區(qū)域歸屬地信息并且基于IP地址的歸屬地信息,將IP地址所對應的特定進制的數(shù)字串映射到區(qū)域歸屬地信息;形成子模塊,用于通過映射到每個區(qū)域歸屬地信息的數(shù)字串形成與該區(qū)域歸屬地信息相對應的一個或多個數(shù)字串區(qū)間,其中每個數(shù)字串區(qū)間利用數(shù)字串區(qū)間兩端的最大數(shù)字串和最小數(shù)字串來定義;建立子模塊,用于基于數(shù)字串區(qū)間與區(qū)域歸屬地信息的對應關(guān)系,建立所述查詢表。[0095]以上描述的識別IP地址的區(qū)域歸屬地信息的裝置與之前描述的識別IP地址的區(qū)域歸屬地信息的方法的處理是對應的,因此,關(guān)于更詳細的技術(shù)細節(jié),可以參見之前描述的方法。
[0096]在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
[0097]在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0098]類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權(quán)利要求書由此明確地并入該【具體實施方式】,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
[0099]本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的客戶端中的模塊進行自適應性地改變并且把它們設(shè)置在與該實施例不同的一個或多個客戶端中??梢园褜嵤├械哪K組合成一個模塊,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者客戶端的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0100]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
[0101 ] 本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的加載有排序網(wǎng)址的客戶端中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0102]應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0103]本發(fā)明公開了 B8、一種識別IP地址的區(qū)域歸屬地信息的裝置,其特征在于,包括:
[0104]獲取模塊,用于獲取用戶的IP地址;
[0105]轉(zhuǎn)換模塊,用于將所述IP地址轉(zhuǎn)換成特定進制的數(shù)字串;
[0106]查詢模塊,用于基于所述特定進制的數(shù)字串,查詢預先建立的查詢表以確定所述數(shù)字串所屬的數(shù)字串區(qū)間,其中,所述查詢表包含一個或多個數(shù)字串區(qū)間,并且每個數(shù)字串區(qū)間與一個特定區(qū)域的IP地址的區(qū)域歸屬地信息相對應;以及
[0107]確定模塊,用于基于所述數(shù)字串所屬的數(shù)字串區(qū)間,確定所述IP地址的區(qū)域歸屬地信息。
[0108]B9、根據(jù)權(quán)利要求B8所述的裝置,其特征在于,所述轉(zhuǎn)換模塊被配置成將所述IP地址轉(zhuǎn)換成十進制的十二位數(shù)字串。
[0109]B10、根據(jù)權(quán)利要求B8所述的裝置,其特征在于,所述數(shù)字串區(qū)間通過數(shù)字串區(qū)間兩端的最大數(shù)字串和最小數(shù)字串來定義。
[0110]B11、根據(jù)權(quán)利要求BlO所述的裝置,其特征在于,所述查詢模塊進一步包括:
[0111]查找子模塊,用于基于所述特定進制的數(shù)字串,查找所述查詢表以確定與所述特定進制的數(shù)字串距離最近的最大數(shù)字串;
[0112]第一確定子模塊,用于確定所述最大數(shù)字串所屬的數(shù)字串區(qū)間;
[0113]判斷子模塊,用于判斷所述特定進制的數(shù)字串是否大于該數(shù)字串區(qū)間的最小數(shù)字串;以及,
[0114]第二確定子模塊,用于如果大于該數(shù)字串區(qū)間的最小數(shù)字串,則確定所述數(shù)字串屬于所述數(shù)字串區(qū)間。
[0115]B12、根據(jù)權(quán)利要求Bll所述的裝置,其特征在于,所述查詢模塊進一步包括:
[0116]比較子模塊,用于將所述特定進制的數(shù)字串與所述查詢表中的各個數(shù)字串區(qū)間的最大數(shù)字串進行比較以確定與所述特定進制的數(shù)字串距離最近的最大數(shù)字串。
[0117]B13、根據(jù)權(quán)利要求B8所述的裝置,其特征在于,所述確定模塊進一步包括:
[0118]獲取子模塊,用于基于所述數(shù)字串所屬的數(shù)字串區(qū)間,獲取與之對應的區(qū)域歸屬地信息;以及
[0119]第三確定子模塊,用于將所述區(qū)域歸屬地信息確定為所述IP地址的區(qū)域歸屬地信息。
[0120]B14、根據(jù)權(quán)利要求B8所述的裝置,其特征在于,所述預先建立的查詢表是通過轉(zhuǎn)換模塊中的以下子模塊預先建立的:
[0121]轉(zhuǎn)換子模塊,用于將數(shù)據(jù)庫中的IP地址各個地轉(zhuǎn)換成相應的所述特定進制的數(shù)字串,其中所述數(shù)據(jù)庫中包含IP地址、IP地址的歸屬地信息及二者的對應關(guān)系;
[0122]映射子模塊,用于基于預定區(qū)域劃分規(guī)則所定義的區(qū)域歸屬地信息并且基于IP地址的歸屬地信息,將IP地址所對應的特定進制的數(shù)字串映射到區(qū)域歸屬地信息;
[0123]形成子模塊,用于通過映射到每個區(qū)域歸屬地信息的數(shù)字串形成與該區(qū)域歸屬地信息相對應的一個或多個數(shù)字串區(qū)間,其中每個數(shù)字串區(qū)間利用數(shù)字串區(qū)間兩端的最大數(shù)字串和最小數(shù)字串來定義;以及
[0124]建立子模塊,用于基于數(shù)字串區(qū)間與區(qū)域歸屬地信息的對應關(guān)系,建立所述查詢表。
【權(quán)利要求】
1.一種識別IP地址的區(qū)域歸屬地信息的方法,其特征在于,包括: 獲取用戶的IP地址; 將所述IP地址轉(zhuǎn)換成特定進制的數(shù)字串; 基于所述特定進制的數(shù)字串,查詢預先建立的查詢表以確定所述數(shù)字串所屬的數(shù)字串區(qū)間,其中,所述查詢表包含一個或多個數(shù)字串區(qū)間,并且每個數(shù)字串區(qū)間與一個特定區(qū)域的IP地址的區(qū)域歸屬地信息相對應;以及 基于所述數(shù)字串所屬的數(shù)字串區(qū)間,確定所述IP地址的區(qū)域歸屬地信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述IP地址轉(zhuǎn)換成特定進制的數(shù)字串,包括:將所述IP地址轉(zhuǎn)換成十進制的十二位數(shù)字串。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)字串區(qū)間通過數(shù)字串區(qū)間兩端的最大數(shù)字串和最小數(shù)字串來定義。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,基于所述特定進制的數(shù)字串,查詢預先建立的查詢表以確定所述數(shù)字串所屬的數(shù)字串區(qū)間,進一步包括: 基于所述特定進制的數(shù)字串,查找所述查詢表以確定與所述特定進制的數(shù)字串距離最近的最大數(shù)字串; 確定所述最大數(shù)字串所屬的數(shù)字串區(qū)間; 判斷所述特定進制的數(shù)字串是否大于該數(shù)字串區(qū)間的最小數(shù)字串;并且, 如果大于該數(shù)字串區(qū)間的最小數(shù)字串,則確定所述數(shù)字串屬于所述數(shù)字串區(qū)間。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,基于所述特定進制的數(shù)字串,查找所述查詢表以確定與所述特定進制的數(shù)字串距離最近的最大數(shù)字串,進一步包括: 將所述特定進制的數(shù)字串與所述查詢表中的各個數(shù)字串區(qū)間的最大數(shù)字串進行比較以確定與所述特定進制的數(shù)字串距離最近的最大數(shù)字串。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于所述數(shù)字串所屬的數(shù)字串區(qū)間,確定所述IP地址的區(qū)域歸屬地信息,進一步包括: 基于所述數(shù)字串所屬的數(shù)字串區(qū)間,獲取與之對應的區(qū)域歸屬地信息;以及 將所述區(qū)域歸屬地信息確定為所述IP地址的區(qū)域歸屬地信息。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預先建立的查詢表是通過以下步驟預先建立的: 將數(shù)據(jù)庫中的IP地址各個地轉(zhuǎn)換成相應的所述特定進制的數(shù)字串,其中所述數(shù)據(jù)庫中包含IP地址、IP地址的歸屬地信息及二者的對應關(guān)系; 基于預定區(qū)域劃分規(guī)則所定義的區(qū)域歸屬地信息并且基于IP地址的歸屬地信息,將IP地址所對應的特定進制的數(shù)字串映射到區(qū)域歸屬地信息; 通過映射到每個區(qū)域歸屬地信息的數(shù)字串形成與該區(qū)域歸屬地信息相對應的一個或多個數(shù)字串區(qū)間,其中每個數(shù)字串區(qū)間利用數(shù)字串區(qū)間兩端的最大數(shù)字串和最小數(shù)字串來定義;以及 基于數(shù)字串區(qū)間與區(qū)域歸屬地信息的對應關(guān)系,建立所述查詢表。
8.一種識別IP地址的區(qū)域歸屬地信息的裝置,其特征在于,包括: 獲取模塊,用于獲取用戶的IP地址; 轉(zhuǎn)換模塊,用于將所述IP地址轉(zhuǎn)換成特定進制的數(shù)字串;查詢模塊,用于基于所述特定進制的數(shù)字串,查詢預先建立的查詢表以確定所述數(shù)字串所屬的數(shù)字串區(qū)間,其中,所述查詢表包含一個或多個數(shù)字串區(qū)間,并且每個數(shù)字串區(qū)間與一個特定區(qū)域的IP地址的區(qū)域歸屬地信息相對應;以及 確定模塊,用于基于所述數(shù)字串所屬的數(shù)字串區(qū)間,確定所述IP地址的區(qū)域歸屬地信肩、O
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述轉(zhuǎn)換模塊被配置成將所述IP地址轉(zhuǎn)換成十進制的十二位數(shù)字串。
10.根據(jù)權(quán)利要求8所 述的裝置,其特征在于,所述數(shù)字串區(qū)間通過數(shù)字串區(qū)間兩端的最大數(shù)字串和最小數(shù)字串來定義。
【文檔編號】G06F17/30GK103617205SQ201310575020
【公開日】2014年3月5日 申請日期:2013年11月15日 優(yōu)先權(quán)日:2013年11月15日
【發(fā)明者】張濤, 郭寧 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司