Ip數(shù)據(jù)源的處理方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種IP數(shù)據(jù)源的處理方法和裝置,其中,IP數(shù)據(jù)源的處理方法包括:獲取多個IP數(shù)據(jù)源,任一個IP數(shù)據(jù)源包括多個第一IP段;生成IP數(shù)軸,IP數(shù)軸上包括所有IP地址;將多個IP數(shù)據(jù)源中的每一個第一IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到IP數(shù)軸上;以及根據(jù)IP數(shù)軸上的起始點(diǎn)和結(jié)束點(diǎn)劃分IP數(shù)據(jù)源為多個第二IP段。通過本發(fā)明,達(dá)到了對多個不同的IP數(shù)據(jù)源中的IP段的劃分保持一致的效果。
【專利說明】IP數(shù)據(jù)源的處理方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種IP數(shù)據(jù)源的處理方法和裝置。
【背景技術(shù)】
[0002]IP (Internet Protocol,網(wǎng)絡(luò)之間互聯(lián)的協(xié)議,簡稱IP)數(shù)據(jù)源(該IP數(shù)據(jù)源也可以稱為IP數(shù)據(jù)庫)中通常都包括多個IP段,每個IP段對應(yīng)一個歸屬信息,例如,IP段
0.0.0.0-1.0.0.0屬于X城市。現(xiàn)有的IP數(shù)據(jù)源中的IP段的歸屬信息準(zhǔn)確性都很低,不同的IP數(shù)據(jù)源之間的IP段的歸屬信息存在一定的爭議,例如,對于相同的IP段a到b,IP數(shù)據(jù)源A認(rèn)為該IP段是上海的,而IP數(shù)據(jù)源B則認(rèn)為,該IP段是南京的。同樣,相同的歸屬信息,例如,歸屬信息為北京市,IP數(shù)據(jù)源A認(rèn)為其對應(yīng)的IP段為C到d,而IP數(shù)據(jù)源B認(rèn)為其對應(yīng)的IP段為e到f。
[0003]另外,由于不同的IP數(shù)據(jù)源對其中的IP段劃分不一致,劃分的IP段之間會存在包含、相交等情況,使得多個IP不同IP數(shù)據(jù)源之間的IP段無法直接進(jìn)行比較。
[0004]針對現(xiàn)有技術(shù)中不同的IP數(shù)據(jù)源對其中的IP段劃分不一致的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的在于提供一種IP數(shù)據(jù)源的處理方法和裝置,以解決現(xiàn)有技術(shù)中不同的IP數(shù)據(jù)源對其中的IP段劃分不一致的問題。
[0006]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種IP數(shù)據(jù)源的處理方法。根據(jù)本發(fā)明的IP數(shù)據(jù)源的處理方法包括:獲取多個IP數(shù)據(jù)源,任一個IP數(shù)據(jù)源包括多個第一 IP段;生成IP數(shù)軸,IP數(shù)軸上包括所有IP地址;將多個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到IP數(shù)軸上;以及根據(jù)IP數(shù)軸上的起始點(diǎn)和結(jié)束點(diǎn)劃分IP數(shù)據(jù)源為多個第二 IP段。
[0007]進(jìn)一步地,根據(jù)IP數(shù)軸上的起始點(diǎn)和結(jié)束點(diǎn)劃分IP數(shù)據(jù)源為多個第二 IP段包括:將IP數(shù)軸上對應(yīng)的起始點(diǎn)和結(jié)束點(diǎn)作為界限點(diǎn);以及將IP數(shù)軸上相鄰的兩個界限點(diǎn)之間的IP地址段作為第二 IP段以劃分IP數(shù)據(jù)源為多個第二 IP段。
[0008]進(jìn)一步地,將相鄰的兩個界限點(diǎn)之間的IP地址段作為第二 IP段包括:將IP地址段與第一 IP段進(jìn)行對比;判斷IP數(shù)軸上IP地址段是否存在于任一個第一 IP段中;以及如果IP地址段存在于任一個第一 IP段中,則將IP數(shù)軸上IP地址段作為第二 IP段。
[0009]進(jìn)一步地,將IP數(shù)軸上相鄰的兩個界限點(diǎn)之間的IP地址段作為第二 IP段之后,IP數(shù)據(jù)源的處理方法還包括:獲取第一 IP段對應(yīng)的IP數(shù)據(jù)源的歸屬信息,歸屬信息包括地理信息和運(yùn)行商信息;以及根據(jù)歸屬信息確定第二 IP段的歸屬信息。
[0010]進(jìn)一步地,生成IP數(shù)軸包括:將IP地址轉(zhuǎn)化為整型數(shù)據(jù),IP地址包括所有IP地址;將轉(zhuǎn)化后的IP地址不重復(fù)地插入到預(yù)先生成的數(shù)據(jù)表中;對數(shù)據(jù)表中的IP地址進(jìn)行排序,得到拆分依據(jù)表,拆分依據(jù)表用于劃分IP數(shù)據(jù)源;將拆分依據(jù)表作為IP數(shù)軸;[0011]將多個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到IP數(shù)軸上包括:獲取多個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn);將起始點(diǎn)和結(jié)束點(diǎn)分別映射到拆分依據(jù)表上;
[0012]根據(jù)IP數(shù)軸上的起始點(diǎn)和結(jié)束點(diǎn)劃分IP數(shù)據(jù)源為多個第二 IP段包括:將拆分依據(jù)表上對應(yīng)的起始點(diǎn)和結(jié)束點(diǎn)作為界限點(diǎn);將拆分依據(jù)表上相鄰的兩個界限點(diǎn)之間的IP地址段作為第二 IP段以劃分IP數(shù)據(jù)源為多個第二 IP段。
[0013]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種IP數(shù)據(jù)源的處理裝置。該IP數(shù)據(jù)源的處理裝置包括:第一獲取單元,用于獲取多個IP數(shù)據(jù)源,任一個IP數(shù)據(jù)源包括多個第一 IP段;生成單元,用于生成IP數(shù)軸,IP數(shù)軸上包括所有IP地址;映射單元,用于將多個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到IP數(shù)軸相應(yīng)的IP段上;以及拆分單元,用于根據(jù)IP數(shù)軸上的起始點(diǎn)和結(jié)束點(diǎn)劃分IP數(shù)據(jù)源為多個第二 IP段。
[0014]進(jìn)一步地,拆分單元包括:第一生成模塊,用于將IP數(shù)軸上對應(yīng)的起始點(diǎn)和結(jié)束點(diǎn)作為界限點(diǎn);以及第一拆分模塊,用于將IP數(shù)軸上相鄰的兩個界限點(diǎn)之間的IP地址段作為第二 IP段以劃分IP數(shù)據(jù)源為多個第二 IP段。
[0015]進(jìn)一步地,第一拆分模塊包括:比較子模塊,用于將IP地址段與第一 IP段進(jìn)行對比;判斷子模塊,用于判斷IP數(shù)軸上IP地址段是否存在于任一個第一 IP段中;以及生成子模塊,用于如果IP地址段存在于任一個第一 IP段中,則將IP數(shù)軸上IP地址段作為第二IP段。
[0016]進(jìn)一步地,IP數(shù)據(jù)源的處理裝置還包括:第二獲取單元,用于將IP數(shù)軸上相鄰的兩個界限點(diǎn)之間的IP地址段作為第二 IP段之后,獲取第一 IP段對應(yīng)的IP數(shù)據(jù)源的歸屬信息,歸屬信息包括地理信息和運(yùn)行商信息;以及確定單元,用于根據(jù)歸屬信息確定第二 IP段的歸屬信息。
[0017]進(jìn)一步地,生成單元包括:轉(zhuǎn)化模塊,用于將IP地址轉(zhuǎn)化為整型數(shù)據(jù),IP地址包括所有IP地址;插入模塊,用于將轉(zhuǎn)化后的IP地址不重復(fù)地插入到預(yù)先生成的數(shù)據(jù)表中;排序模塊,用于對數(shù)據(jù)表中的IP地址進(jìn)行排序,得到拆分依據(jù)表,拆分依據(jù)表用于劃分IP數(shù)據(jù)源;第二生成模塊,用于將拆分依據(jù)表作為IP數(shù)軸;
[0018]映射單元包括:獲取模塊,用于獲取多個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn);映射模塊,用于將起始點(diǎn)和結(jié)束點(diǎn)分別映射到拆分依據(jù)表上;
[0019]拆分單元包括:第三生成模塊,用于將拆分依據(jù)表上對應(yīng)的起始點(diǎn)和結(jié)束點(diǎn)作為界限點(diǎn);第二拆分模塊,用于將拆分依據(jù)表上相鄰的兩個界限點(diǎn)之間的IP地址段作為第二IP段以劃分IP數(shù)據(jù)源為多個第二 IP段。
[0020]通過本發(fā)明,采用IP數(shù)據(jù)源的處理方法包括:獲取多個IP數(shù)據(jù)源,任一個IP數(shù)據(jù)源包括多個第一 IP段;生成IP數(shù)軸,IP數(shù)軸上包括所有IP地址;將多個IP數(shù)據(jù)源中的每一個第一 IP段分別映射到IP數(shù)軸相應(yīng)的IP段上;以及根據(jù)IP數(shù)軸劃分IP數(shù)據(jù)源為多個第二 IP段,將多個IP數(shù)據(jù)源中的IP段分別映射到IP數(shù)軸上相應(yīng)的IP段上,根據(jù)IP數(shù)軸上的IP段重新劃分原有的多個IP數(shù)據(jù)源,由于在IP數(shù)軸上對IP數(shù)據(jù)源的劃分標(biāo)準(zhǔn)一致,使得多個IP數(shù)據(jù)源重新劃分后的IP數(shù)據(jù)源中的IP段的劃分保持一致,解決了現(xiàn)有技術(shù)中不同的IP數(shù)據(jù)源對其中的IP段劃分不一致的問題,達(dá)到了對多個不同的IP數(shù)據(jù)源中的IP段的劃分保持一致的效果。
【專利附圖】
【附圖說明】
[0021]構(gòu)成本申請的一部分的附圖用來提供對本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0022]圖1是根據(jù)本發(fā)明第一實(shí)施例的IP數(shù)據(jù)源的處理裝置的結(jié)構(gòu)示意圖;
[0023]圖2是根據(jù)本發(fā)明第一實(shí)施例的IP數(shù)軸的示意圖;
[0024]圖3是根據(jù)本發(fā)明第二實(shí)施例的IP數(shù)據(jù)源的處理裝置的結(jié)構(gòu)示意圖;
[0025]圖4是根據(jù)本發(fā)明第三實(shí)施例的IP數(shù)據(jù)源的處理裝置的結(jié)構(gòu)示意圖
[0026]圖5是根據(jù)本發(fā)明第一實(shí)施例的IP數(shù)據(jù)源的處理方法的流程圖;
[0027]圖6是根據(jù)本發(fā)明第二實(shí)施例的IP數(shù)據(jù)源的處理方法的流程圖;以及
[0028]圖7是根據(jù)本發(fā)明第三實(shí)施例的IP數(shù)據(jù)源的處理方法的流程圖。
【具體實(shí)施方式】
[0029]需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。
[0030]本發(fā)明實(shí)施例提供了一種IP數(shù)據(jù)源的處理裝置,該裝置通過計(jì)算機(jī)設(shè)備實(shí)現(xiàn)其功能。
[0031]圖1是根據(jù)本發(fā)明第一實(shí)施例的IP數(shù)據(jù)源的處理裝置的結(jié)構(gòu)示意圖。如圖1所示,該的IP數(shù)據(jù)源的處理裝置包括第一獲取單元10、生成單元20、映射單元30和拆分單元40。
[0032]第一獲取單元10,用于獲取多個IP數(shù)據(jù)源,任一個IP數(shù)據(jù)源包括多個第一 IP段。IP數(shù)據(jù)源也可以稱為IP數(shù)據(jù)庫,IP數(shù)據(jù)庫可以用于通過給定的IP地址來確定該IP地址對應(yīng)的歸屬信息,該歸屬信息包括該IP地址所屬區(qū)域或者所屬運(yùn)營商,例如,獲取到一個IP地址A,通過IP數(shù)據(jù)源或者IP數(shù)據(jù)庫確定該IP地址A的地理位置。每個IP數(shù)據(jù)源都包括多個第一 IP段,需要說明的是,這里的第一 IP段為任意一個IP段,并非是指某一個IP數(shù)據(jù)源的第一個IP段,這里的“第一”是為了區(qū)分對IP數(shù)據(jù)源進(jìn)行重新劃分后的IP段,并不對本發(fā)明有不當(dāng)限定。
[0033]任一個IP數(shù)據(jù)源包括多個第一 IP段,即,每一個IP數(shù)據(jù)源都包括多個IP段,每一個IP段包括一段IP地址。IP數(shù)據(jù)源可以通過網(wǎng)絡(luò)爬取獲得,也可以通過向運(yùn)行商購買獲得。IP數(shù)據(jù)源可以為2個IP數(shù)據(jù)源,也可以為2個以上的多個IP數(shù)據(jù)源。
[0034]生成單元20,用于生成IP數(shù)軸,IP數(shù)軸上包括所有IP地址。由于IP地址是一個可數(shù)的集合,其范圍為0.0.0.0至255.255.255.255,如圖2所示,生成一個由0.0.0.0至255.255.255.255的IP數(shù)軸,圖中箭頭所示方向表示IP地址排列的順序的方向,將可數(shù)集合內(nèi)的所有IP地址按順序?qū)?yīng)地設(shè)置在該IP數(shù)軸上。由于IP地址是一個可數(shù)的集合,因此該IP數(shù)軸可以通過數(shù)據(jù)庫的數(shù)據(jù)表的形式呈現(xiàn),例如,將每一個IP地址轉(zhuǎn)化為一個整形數(shù)據(jù),將這些整形數(shù)據(jù)按順序不重復(fù)地插入到數(shù)據(jù)表中,那么這個數(shù)據(jù)表就可以稱為IP數(shù)軸。需要說明的是,這里的IP數(shù)軸,也可以稱為IP查詢表,IP數(shù)據(jù)表,或者其他的用于表示將所有IP地址進(jìn)行整合排列的IP地址集合,這里的“IP數(shù)軸”并不對本發(fā)明有不當(dāng)限定。[0035]映射單元30,用于將多個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到IP數(shù)軸上。由于上述IP數(shù)軸上包括所有的IP地址,每一個第一 IP段在該IP數(shù)軸上均有第一 IP段相對應(yīng)的一段IP段。將每個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到IP數(shù)軸相應(yīng)的IP地址上,當(dāng)IP數(shù)軸為包括所有IP地址的IP數(shù)據(jù)表時,則是將每個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到IP數(shù)據(jù)表相應(yīng)的IP地址上。由于IP數(shù)軸上包括所有的IP地址,因此任意一個IP數(shù)據(jù)源中的任一個第一 IP段的起始點(diǎn)或結(jié)束點(diǎn)都在IP數(shù)軸上都有一個對應(yīng)的IP地址。
[0036]拆分單元40,用于根據(jù)IP數(shù)軸上的起始點(diǎn)和結(jié)束點(diǎn)劃分IP數(shù)據(jù)源為多個第二 IP段。第二 IP段為對IP數(shù)據(jù)源重新劃分后的IP段,需要說明的是,這里的“第二”與上述中的第一 IP段中的“第一”具有類似的功能,該處的第二 IP段是為了區(qū)別重新劃分前的IP段,第二 IP段可以稱為新IP段,上述中第一 IP段可以稱為初始IP段,這里的“第二”并不對本發(fā)明有不當(dāng)限定。劃分IP數(shù)據(jù)源為多個第二 IP段,即,對獲取到的所有IP數(shù)據(jù)源中的IP段進(jìn)行重新劃分,使得每一個IP數(shù)據(jù)源中的劃分的IP段一致。由于IP數(shù)軸上都映射有多個IP數(shù)據(jù)源的第一 IP段,每一個IP段均包括起始點(diǎn)和結(jié)束點(diǎn),以及起始點(diǎn)和結(jié)束點(diǎn)之間的IP地址,因此可以根據(jù)第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)對IP數(shù)據(jù)源進(jìn)行重新劃分,例如,IP數(shù)據(jù)源A包括三個IP段,每個IP段包括一個起始點(diǎn)和一個結(jié)束點(diǎn),IP數(shù)據(jù)源B包括兩個IP段,每個IP段包括一個起始點(diǎn)和一個結(jié)束點(diǎn),如果IP數(shù)據(jù)源A中IP段的起始點(diǎn)和結(jié)束點(diǎn)不重復(fù),IP數(shù)據(jù)源B中IP段的起始點(diǎn)和結(jié)束點(diǎn)不重復(fù),且IP數(shù)據(jù)源A中IP段的起始點(diǎn)和結(jié)束點(diǎn)與IP數(shù)據(jù)源B中IP段的起始點(diǎn)和結(jié)束點(diǎn)也不重復(fù),則將所有起始點(diǎn)和結(jié)束點(diǎn)作為界限點(diǎn),那么,總共包括10個界限點(diǎn),根據(jù)10個界限點(diǎn)從新劃分IP數(shù)據(jù)源A和IP數(shù)據(jù)源B。這里的劃分也可以稱為拆分,即將IP數(shù)據(jù)源拆分為與之前IP段不同的IP段。
[0037]根據(jù)本發(fā)明實(shí)施例,通過生成IP數(shù)軸,將多個IP數(shù)據(jù)源中的IP段分別映射到IP數(shù)軸上相應(yīng)的IP段上,根據(jù)IP數(shù)軸上的IP段重新劃分原有的多個IP數(shù)據(jù)源,由于在IP數(shù)軸上對IP數(shù)據(jù)源的劃分標(biāo)準(zhǔn)一致,使得多個IP數(shù)據(jù)源重新劃分后的IP數(shù)據(jù)源中的IP段的劃分保持一致,解決了現(xiàn)有技術(shù)中不同的IP數(shù)據(jù)源對其中的IP段劃分不一致的問題,達(dá)到了對多個IP數(shù)據(jù)源中的IP段的劃分保持一致的效果,進(jìn)而能夠便于將多個IP數(shù)據(jù)源之間的IP段進(jìn)行對比,以根據(jù)多個不同的IP數(shù)據(jù)源確定相同IP段的歸屬。
[0038]圖3是根據(jù)本發(fā)明第二實(shí)施例的IP數(shù)據(jù)源的處理裝置的結(jié)構(gòu)示意圖。該實(shí)施例的IP數(shù)據(jù)源的處理裝置可以作為上述實(shí)施例的IP數(shù)據(jù)源的處理裝置的一種優(yōu)選實(shí)施方式。如圖3所示,該的IP數(shù)據(jù)源的處理裝置包括第一獲取單元10、生成單元20、映射單元30和拆分單兀40,其中,拆分單兀40包括第一生成模塊401和第一拆分模塊402。本實(shí)施例中第一獲取單元10、生成單元20、映射單元30與圖1所示的第一獲取單元10、生成單元20、映射單元30功能相同,這里不做贅述。
[0039]第一生成模塊401用于將IP數(shù)軸上對應(yīng)的起始點(diǎn)和結(jié)束點(diǎn)作為界限點(diǎn)。該界限點(diǎn)用于劃分IP數(shù)據(jù)源,由于將所有起始點(diǎn)和結(jié)束點(diǎn)對應(yīng)的IP地址分別映射到IP數(shù)軸對應(yīng)的IP地址上,因此,在IP數(shù)軸上會有相對應(yīng)的起始點(diǎn)和結(jié)束點(diǎn),將該IP數(shù)軸上的起始點(diǎn)和結(jié)束點(diǎn)作為界限點(diǎn),其中,如果起始點(diǎn)或者結(jié)束點(diǎn)之間出現(xiàn)重復(fù),或者起始點(diǎn)與結(jié)束點(diǎn)之間出現(xiàn)重復(fù),那么將所有重復(fù)的點(diǎn)作為一個界限點(diǎn)。
[0040]第一拆分模塊402用于將IP數(shù)軸上相鄰的兩個界限點(diǎn)之間的IP地址段作為第二IP段以劃分IP數(shù)據(jù)源為多個第二 IP段。每個界限點(diǎn)之間均包括一段IP地址段,也即是IP段,將該IP地址段作為第二 IP段,也即是新IP段,以實(shí)現(xiàn)對每一個IP數(shù)據(jù)源的重新劃分。
[0041]優(yōu)選地,第一拆分模塊包括:比較子模塊、判斷子模塊和生成子模塊。
[0042]比較子模塊用于將IP地址段與第一 IP段進(jìn)行對比。由于并是不是每一個IP數(shù)據(jù)源中的IP段都包括了所有IP地址,因此會存在根據(jù)界限點(diǎn)劃分之后的IP地址段不存在于任何一個IP數(shù)據(jù)源,將劃分后的每兩個相鄰界限點(diǎn)之間的每一個IP地址段與原有的多個IP數(shù)據(jù)源中的每一個第一 IP段進(jìn)行對比,以便于判斷該IP地址段是否存在于原有的IP數(shù)據(jù)源中。
[0043]判斷子模塊用于判斷IP數(shù)軸上IP地址段是否存在于任一個第一 IP段中。根據(jù)將IP地址段與第一 IP段進(jìn)行對比之后的對比結(jié)果判斷該IP地址段是否存在于任意一個IP數(shù)據(jù)源中的任一個IP段中。這個判斷過程即是對拆分后的IP地址段進(jìn)行回溯的過程,確認(rèn)拆分后的IP地址段是否存在于原IP數(shù)據(jù)源中。例如,某兩個相鄰界限點(diǎn)為原有的IP數(shù)據(jù)源中的一 IP段的結(jié)束點(diǎn)和另一 IP段的起始點(diǎn),該結(jié)束點(diǎn)和起始點(diǎn)之間的IP地址段不屬于任何一個IP數(shù)據(jù)源,則該IP地址段不能作為第二 IP段,即,不能作為新拆分后的新IP段。
[0044]生成子模塊用于如果IP地址段存在于任一個第一 IP段中,則將IP數(shù)軸上IP地址段作為第二 IP段。只有當(dāng)該IP地址段存在于第一 IP段中,則將該IP地址段作為第二IP地址段,即,新IP段。如果該IP地址段不存在于任一個第一 IP段中,則表明在原有的多個IP數(shù)據(jù)源中都不存在該段IP地址。則不將該IP地址段作為第二 IP段,繼續(xù)判斷下一個IP地址段是否存在于任一個第一 IP段。
[0045]根據(jù)本發(fā)明實(shí)施例,將劃分之后的IP地址段與IP數(shù)據(jù)源中的第一 IP段進(jìn)行對t匕,剔除不存在于原有IP數(shù)據(jù)源中的IP地址段,使得重新劃分之后的IP數(shù)據(jù)源與劃分之前的IP數(shù)據(jù)源中包含的總的IP地址保持一致。
[0046]優(yōu)選地,IP數(shù)據(jù)源的處理裝置還包括第二獲取單元和確定單元。
[0047]第二獲取單元用于將IP數(shù)軸上相鄰的兩個界限點(diǎn)之間的IP地址段作為第二 IP段之后,獲取第一 IP段對應(yīng)的IP數(shù)據(jù)源的歸屬信息,歸屬信息包括地理信息和運(yùn)行商信息。第一 IP段為每一個IP數(shù)據(jù)源中的每一個第一 IP段,獲取每一個第一 IP段的歸屬信息,該歸屬信息可以是地理信息或者運(yùn)營商信息,運(yùn)營商也可以稱ISP (Internet ServiceProvider,互聯(lián)網(wǎng)服務(wù)提供商,簡稱ISP),例如,某一個IP數(shù)據(jù)源中的第一 IP段B對應(yīng)的地理信息為北京市。
[0048]確定單元用于根據(jù)歸屬信息確定第二 IP段的歸屬信息。由于第二 IP段是由多個IP數(shù)據(jù)源中的多個第一 IP段重新劃分得到,因此根據(jù)第一 IP段的歸屬信息能夠確定第二IP段的歸屬信息。另外,第二 IP段可能會存在于多個IP數(shù)據(jù)源,因此在劃分之后的第二IP段會包含有多個不同的地理信息或者運(yùn)營商信息。例如,第一 IP段C對應(yīng)的地理信息為天津市,第一 IP段D的對應(yīng)的地理信息為唐山市,其中,第一 IP段C與第一 IP段D分別為不同IP數(shù)據(jù)源中的IP段,且第一 IP段C與第一 IP段D之間存在相交的情況,經(jīng)過本發(fā)明實(shí)施例中的IP數(shù)據(jù)源的處理方法處理之后,將第一 IP段C被拆分為第二 IP段X和第二IP段Y,第一 IP段D被拆分為第二 IP段X和第二 IP段Z,那么,可以看出,第二 IP段X既存在于第一 IP段C中,同時也存在于第一 IP段D中,那么第二 IP段X對應(yīng)的地理信息可能為天津市,也可能為唐山市,這里可以標(biāo)記其對應(yīng)的所有的可能對應(yīng)的地理信息,以便于進(jìn)一步確定其歸屬。第二 IP段Y對應(yīng)的地理信息為天津市,第二 IP段Z對應(yīng)的地理信息為唐山市。
[0049]圖4是根據(jù)本發(fā)明第三實(shí)施例的IP數(shù)據(jù)源的處理裝置的結(jié)構(gòu)示意圖。該實(shí)施例的IP數(shù)據(jù)源的處理裝置可以作為上述實(shí)施例的IP數(shù)據(jù)源的處理裝置的一種優(yōu)選實(shí)施方式。如圖4所示,該的IP數(shù)據(jù)源的處理裝置包括第一獲取單元10、生成單元20、映射單元30和拆分單元40,其中,生成單元20包括轉(zhuǎn)化模塊201、插入模塊202、排序模塊203和第二生成模塊204,映射單元30包括獲取模塊301和映射模塊302,拆分單元40包括第三生成模塊401和第二拆分模塊402。本實(shí)施例中第一獲取單元10與圖1所示的第一獲取單元10功能相同,這里不做贅述。
[0050]轉(zhuǎn)化模塊201用于將IP地址轉(zhuǎn)化為整型數(shù)據(jù),IP地址包括所有IP地址??梢詫⒚恳粋€IP地址轉(zhuǎn)化為一個整型數(shù)據(jù),例如Bigint (—種系統(tǒng)數(shù)據(jù)類型)類型的數(shù)據(jù)。這里的IP地址包括所有IP地址。
[0051]插入模塊202用于將轉(zhuǎn)化后的IP地址不重復(fù)地插入到預(yù)先生成的數(shù)據(jù)表中。數(shù)據(jù)表可以是通過數(shù)據(jù)庫功能預(yù)先創(chuàng)建的數(shù)據(jù)表,將IP地址轉(zhuǎn)化后的數(shù)據(jù)不重復(fù)地插入到該數(shù)據(jù)表中,使得每各IP地址對應(yīng)的數(shù)據(jù)在數(shù)據(jù)表中只對應(yīng)一個數(shù)據(jù)。
[0052]排序模塊203用于對數(shù)據(jù)表中的IP地址進(jìn)行排序,得到拆分依據(jù)表,拆分依據(jù)表用于劃分IP數(shù)據(jù)源。由于數(shù)據(jù)庫具有排序功能,可以采用例如Order by (數(shù)據(jù)庫中用于對數(shù)據(jù)進(jìn)行排序的語句)語句的排序功能對數(shù)據(jù)表中IP地址對應(yīng)的數(shù)據(jù)進(jìn)行排序,得到拆分依據(jù)表,該拆分依據(jù)表為排序后的數(shù)據(jù)表,可以用于劃分IP數(shù)據(jù)源。
[0053]第二生成模塊204用于將拆分依據(jù)表作為IP數(shù)軸。由于該拆分依據(jù)表可以劃分IP數(shù)據(jù)源,因此將拆分依據(jù)表作為IP數(shù)軸。
[0054]獲取模塊301用于獲取多個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)。每一個第一 IP段均包括一個起始點(diǎn)和一個結(jié)束點(diǎn),獲取的起始點(diǎn)和結(jié)束點(diǎn)為每一個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)。第一 IP段包括多個IP地址,因此,每一個第一 IP段的起始點(diǎn)或者結(jié)束點(diǎn)均對應(yīng)一個IP地址。
[0055]映射模塊302用于將起始點(diǎn)和結(jié)束點(diǎn)分別映射到拆分依據(jù)表上。將起始點(diǎn)和結(jié)束點(diǎn)分別映射到拆分依據(jù)表上,即,將所有起始點(diǎn)和結(jié)束點(diǎn)對應(yīng)的IP地址分別映射到拆分依據(jù)表中的IP地址對應(yīng)的數(shù)據(jù)上。
[0056]第三生成模塊401用于將拆分依據(jù)表上對應(yīng)的起始點(diǎn)和結(jié)束點(diǎn)作為界限點(diǎn)。該界限點(diǎn)用于劃分IP數(shù)據(jù)源,由于將所有起始點(diǎn)和結(jié)束點(diǎn)對應(yīng)的IP地址分別映射到拆分依據(jù)表對應(yīng)的IP地址上,因此,在拆分依據(jù)表上會有相對應(yīng)的起始點(diǎn)和結(jié)束點(diǎn),將該拆分依據(jù)表上的起始點(diǎn)和結(jié)束點(diǎn)作為界限點(diǎn),其中,如果起始點(diǎn)或者結(jié)束點(diǎn)之間出現(xiàn)重復(fù),或者起始點(diǎn)與結(jié)束點(diǎn)之間出現(xiàn)重復(fù),那么將所有重復(fù)的點(diǎn)作為一個界限點(diǎn)。
[0057]第二拆分模塊402用于將拆分依據(jù)表上相鄰的兩個界限點(diǎn)之間的IP地址段作為第二 IP段以劃分IP數(shù)據(jù)源為多個第二 IP段。每個界限點(diǎn)之間均包括一段IP地址段,也即是IP段,將該IP地址段作為第二 IP段,也即是新IP段,以實(shí)現(xiàn)對每一個IP數(shù)據(jù)源的重新劃分。[0058]本發(fā)明實(shí)施例還提供了一種IP數(shù)據(jù)源的處理方法。該方法可以運(yùn)行在計(jì)算機(jī)設(shè)備上。需要說明的是,本發(fā)明實(shí)施例的IP數(shù)據(jù)源的處理方法可以通過本發(fā)明實(shí)施例所提供的IP數(shù)據(jù)源的處理裝置來執(zhí)行,本發(fā)明實(shí)施例的IP數(shù)據(jù)源的處理裝置也可以用于執(zhí)行本發(fā)明實(shí)施例所提供的IP數(shù)據(jù)源的處理方法。
[0059]圖5是根據(jù)本發(fā)明第一實(shí)施例的IP數(shù)據(jù)源的處理方法的流程圖。如圖5所示,該IP數(shù)據(jù)源的處理方法包括步驟如下:
[0060]步驟S101,獲取多個IP數(shù)據(jù)源,任一個IP數(shù)據(jù)源包括多個第一 IP段。IP數(shù)據(jù)源也可以稱為IP數(shù)據(jù)庫,IP數(shù)據(jù)庫可以用于通過給定的IP地址來確定該IP地址對應(yīng)的歸屬信息,該歸屬信息包括該IP地址所屬區(qū)域或者所屬運(yùn)營商,例如,獲取到一個IP地址A,通過IP數(shù)據(jù)源或者IP數(shù)據(jù)庫確定該IP地址A的地理位置。每個IP數(shù)據(jù)源都包括多個第一 IP段,需要說明的是,這里的第一 IP段為任意一個IP段,并非是指某一個IP數(shù)據(jù)源的第一個IP段,這里的“第一”是為了區(qū)分對IP數(shù)據(jù)源進(jìn)行重新劃分后的IP段,并不對本發(fā)明有不當(dāng)限定。
[0061 ] 任一個IP數(shù)據(jù)源包括多個第一 IP段,即,每一個IP數(shù)據(jù)源都包括多個IP段,每一個IP段包括一段IP地址。IP數(shù)據(jù)源可以通過網(wǎng)絡(luò)爬取,也可以通過向運(yùn)行商購買獲得。IP數(shù)據(jù)源可以為2個IP數(shù)據(jù)源,也可以為2個以上的多個IP數(shù)據(jù)源。
[0062]步驟S102,生成IP數(shù)軸,IP數(shù)軸上包括所有IP地址。由于IP地址是一個可數(shù)的集合,其范圍為0.0.0.0至255.255.255.255,如圖3所示,生成一個由0.0.0.0至255.255.255.255的IP數(shù)軸,圖中箭頭所示方向表示IP地址排列的順序的方向,將可數(shù)集合內(nèi)的所有IP地址按順序?qū)?yīng)地設(shè)置在該IP數(shù)軸上。由于IP地址是一個可數(shù)的集合,因此該IP數(shù)軸可以通過數(shù)據(jù)庫的數(shù)據(jù)表的形式呈現(xiàn),例如,將每一個IP地址轉(zhuǎn)化為一個整形數(shù)據(jù),將這些整形數(shù)據(jù)按順序不重復(fù)地插入到數(shù)據(jù)表中,那么這個數(shù)據(jù)表就可以稱為IP數(shù)軸。需要說明的是,這里的IP數(shù)軸,也可以稱為IP查詢表,IP數(shù)據(jù)表,或者其他的用于表示將所有IP地址進(jìn)行整合排列的IP地址集合,這里的“IP數(shù)軸”并不對本發(fā)明有不當(dāng)限定。
[0063]步驟S103,將多個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到IP數(shù)軸相應(yīng)的IP段上。由于上述IP數(shù)軸上包括所有的IP地址,每一個第一 IP段在該IP數(shù)軸上均有第一 IP段相對應(yīng)的一段IP段。將每個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到IP數(shù)軸相應(yīng)的IP地址上,當(dāng)IP數(shù)軸為包括所有IP地址的IP數(shù)據(jù)表時,則是將每個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到IP數(shù)據(jù)表相應(yīng)的IP地址上。由于IP數(shù)軸上包括所有的IP地址,因此任意一個IP數(shù)據(jù)源中的任一個第一 IP段的起始點(diǎn)或結(jié)束點(diǎn)都在IP數(shù)軸上都有一個對應(yīng)的IP地址。
[0064]步驟S104,根據(jù)IP數(shù)軸上的所述起始點(diǎn)和所述結(jié)束點(diǎn)劃分IP數(shù)據(jù)源為多個第二IP段。第二 IP段為對IP數(shù)據(jù)源重新劃分后的IP段,需要說明的是,這里的“第二”與上述中的第一 IP段中的“第一”具有類似的功能,該處的第二 IP段是為了區(qū)別重新劃分前的IP段,第二 IP段可以稱為新IP段,上述中第一 IP段可以稱為初始IP段,這里的“第二”并不對本發(fā)明有不當(dāng)限定。劃分IP數(shù)據(jù)源為多個第二 IP段,即,對獲取到的所有IP數(shù)據(jù)源中的IP段進(jìn)行重新劃分,使得每一個IP數(shù)據(jù)源中的劃分的IP段一致。由于IP數(shù)軸上都映射有多個IP數(shù)據(jù)源的第一 IP段,每一個IP段均包括起始點(diǎn)和結(jié)束點(diǎn),以及起始點(diǎn)和結(jié)束點(diǎn)之間的IP地址,因此可以根據(jù)第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)對IP數(shù)據(jù)源進(jìn)行重新劃分,例如,IP數(shù)據(jù)源A包括三個IP段,每個IP段包括一個起始點(diǎn)和一個結(jié)束點(diǎn),IP數(shù)據(jù)源B包括兩個IP段,每個IP段包括一個起始點(diǎn)和一個結(jié)束點(diǎn),如果IP數(shù)據(jù)源A中IP段的起始點(diǎn)和結(jié)束點(diǎn)不重復(fù),IP數(shù)據(jù)源B中IP段的起始點(diǎn)和結(jié)束點(diǎn)不重復(fù),且IP數(shù)據(jù)源A中IP段的起始點(diǎn)和結(jié)束點(diǎn)與IP數(shù)據(jù)源B中IP段的起始點(diǎn)和結(jié)束點(diǎn)也不重復(fù),則將所有起始點(diǎn)和結(jié)束點(diǎn)作為界限點(diǎn),那么,總共包括10個界限點(diǎn),根據(jù)10個界限點(diǎn)從新劃分IP數(shù)據(jù)源A和IP數(shù)據(jù)源B。這里的劃分也可以稱為拆分,即將IP數(shù)據(jù)源拆分為與之前IP段不同的IP段。
[0065]根據(jù)本發(fā)明實(shí)施例,通過生成IP數(shù)軸,將多個IP數(shù)據(jù)源中的IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到IP數(shù)軸上相應(yīng)的IP地址上,根據(jù)IP數(shù)軸上的IP段的起始點(diǎn)和結(jié)束點(diǎn)重新劃分原有的多個IP數(shù)據(jù)源,由于在IP數(shù)軸上對IP數(shù)據(jù)源的劃分標(biāo)準(zhǔn)一致,使得多個IP數(shù)據(jù)源重新劃分后的IP數(shù)據(jù)源中的IP段的劃分保持一致,解決了現(xiàn)有技術(shù)中不同的IP數(shù)據(jù)源對其中的IP段劃分不一致的問題,達(dá)到了對多個IP數(shù)據(jù)源中的IP段的劃分保持一致的效果,進(jìn)而能夠便于將多個IP數(shù)據(jù)源之間的IP段進(jìn)行對比,以根據(jù)多個IP數(shù)據(jù)源確定相同IP段的歸屬。
[0066]圖6是根據(jù)本發(fā)明第二實(shí)施例的IP數(shù)據(jù)源的處理方法的流程圖。該實(shí)施例提供的IP數(shù)據(jù)源的處理方法可以作為上述實(shí)施例的IP數(shù)據(jù)源的處理方法的一種優(yōu)選實(shí)施方式。如圖6所示,該IP數(shù)據(jù)源的處理方法包括步驟如下:
[0067]步驟S201,獲取多個IP數(shù)據(jù)源,任一個IP數(shù)據(jù)源包括多個第一 IP段。IP數(shù)據(jù)源也可以稱為IP數(shù)據(jù)庫,IP數(shù)據(jù)庫可以用于通過給定的IP地址來確定該IP地址對應(yīng)的歸屬信息,該歸屬信息包括該IP地址所屬區(qū)域或者所屬運(yùn)營商,例如,獲取到一個IP地址A,通過IP數(shù)據(jù)源或者IP數(shù)據(jù)庫確定該IP地址A的地理位置。每個IP數(shù)據(jù)源都包括多個第一 IP段,需要說明的是,這里的第一 IP段為任意一個IP段,并非是指某一個IP數(shù)據(jù)源的第一個IP段,這里的“第一”是為了區(qū)分對IP數(shù)據(jù)源進(jìn)行重新劃分后的IP段,并不對本發(fā)明有不當(dāng)限定。
[0068]任一個IP數(shù)據(jù)源包括多個第一 IP段,即,每一個IP數(shù)據(jù)源都包括多個IP段,每一個IP段包括一段IP地址。IP數(shù)據(jù)源可以通過網(wǎng)絡(luò)爬取,也可以通過向運(yùn)行商購買獲得。IP數(shù)據(jù)源可以為2個IP數(shù)據(jù)源,也可以為2個以上的多個IP數(shù)據(jù)源。
[0069]步驟S202,生成IP數(shù)軸,IP數(shù)軸包括所有IP地址。由于IP地址是一個可數(shù)的集合,其范圍為0.0.0.0至255.255.255.255,如圖3所示,生成一個由0.0.0.0至255.255.255.255的IP數(shù)軸,圖中箭頭所示方向表示IP地址排列的順序的方向,將可數(shù)集合內(nèi)的所有IP地址按順序?qū)?yīng)地設(shè)置在該IP數(shù)軸上。由于IP地址是一個可數(shù)的集合,因此該IP數(shù)軸可以通過數(shù)據(jù)庫的數(shù)據(jù)表的形式呈現(xiàn),例如,將每一個IP地址轉(zhuǎn)化為一個整形數(shù)據(jù),將這些整形數(shù)據(jù)按順序不重復(fù)地插入到數(shù)據(jù)表中,那么這個數(shù)據(jù)表就可以稱為IP數(shù)軸。需要說明的是,這里的IP數(shù)軸,也可以稱為IP查詢表,IP數(shù)據(jù)表,或者其他的用于表示將所有IP地址進(jìn)行整合排列的IP地址集合,這里的“IP數(shù)軸”并不對本發(fā)明有不當(dāng)限定。
[0070]步驟S203,將多個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到IP數(shù)軸上。由于上述IP數(shù)軸上包括所有的IP地址,每一個第一 IP段在該IP數(shù)軸上均有第一 IP段相對應(yīng)的一段IP段。每一個第一 IP段均包括一個起始點(diǎn)和一個結(jié)束點(diǎn),獲取的起始點(diǎn)和結(jié)束點(diǎn)為每一個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)。第一 IP段包括多個IP地址,因此,每一個第一 IP段的起始點(diǎn)或者結(jié)束點(diǎn)均對應(yīng)一個IP地址。將每個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到IP數(shù)軸相應(yīng)的IP地址上,當(dāng)IP數(shù)軸為包括所有IP地址的IP數(shù)據(jù)表時,則是將每個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到IP數(shù)據(jù)表相應(yīng)的IP地址上。由于IP數(shù)軸上包括所有的IP地址,因此任意一個IP數(shù)據(jù)源中的任一個第一 IP段的起始點(diǎn)或結(jié)束點(diǎn)都在IP數(shù)軸上都有一個對應(yīng)的IP地址。
[0071]步驟S204,將IP數(shù)軸上對應(yīng)的起始點(diǎn)和結(jié)束點(diǎn)作為界限點(diǎn)。該界限點(diǎn)用于劃分IP數(shù)據(jù)源,由于將所有起始點(diǎn)和結(jié)束點(diǎn)對應(yīng)的IP地址分別映射到IP數(shù)軸對應(yīng)的IP地址上,因此,在IP數(shù)軸上會有相對應(yīng)的起始點(diǎn)和結(jié)束點(diǎn),將該IP數(shù)軸上的起始點(diǎn)和結(jié)束點(diǎn)作為界限點(diǎn),其中,如果起始點(diǎn)或者結(jié)束點(diǎn)之間出現(xiàn)重復(fù),或者起始點(diǎn)與結(jié)束點(diǎn)之間出現(xiàn)重復(fù),那么將所有重復(fù)的點(diǎn)作為一個界限點(diǎn)。
[0072]步驟S205,將IP數(shù)軸上相鄰的兩個界限點(diǎn)之間的IP地址段作為第二 IP段以劃分IP數(shù)據(jù)源為多個第二 IP段。每個界限點(diǎn)之間均包括一段IP地址段,也即是IP段,將該IP地址段作為第二 IP段,也即是新IP段,以實(shí)現(xiàn)對每一個IP數(shù)據(jù)源的重新劃分。
[0073]優(yōu)選地,步驟S205可以包括以下步驟:
[0074]步驟S2051,將IP地址段與第一 IP段進(jìn)行對比。由于并是不是每一個IP數(shù)據(jù)源中的IP段都包括了所有IP地址,因此會存在根據(jù)界限點(diǎn)劃分之后的IP地址段不存在于任何一個IP數(shù)據(jù)源,將劃分后的每兩個相鄰界限點(diǎn)之間的每一個IP地址段與原有的多個IP數(shù)據(jù)源中的每一個第一 IP段進(jìn)行對比,以便于判斷該IP地址段是否存在于原有的IP數(shù)據(jù)源中。
[0075]步驟S2052,判斷IP數(shù)軸上IP地址段是否存在于任一個第一 IP段中。根據(jù)將IP地址段與第一 IP段進(jìn)行對比之后的對比結(jié)果判斷該IP地址段是否存在于任意一個IP數(shù)據(jù)源中的任一個IP段中。這個判斷過程即是對拆分后的IP地址段進(jìn)行回溯的過程,確認(rèn)拆分后的IP地址段是否存在于原IP數(shù)據(jù)源中。例如,某兩個相鄰界限點(diǎn)為原有的IP數(shù)據(jù)源中的一 IP段的結(jié)束點(diǎn)和另一 IP段的起始點(diǎn),該結(jié)束點(diǎn)和起始點(diǎn)之間的IP地址段不屬于任何一個IP數(shù)據(jù)源,則該IP地址段不能作為第二 IP段,即,不能作為新拆分后的新IP段。
[0076]步驟S2053,如果IP地址段存在于任一個第一 IP段中,則將IP數(shù)軸上IP地址段作為第二 IP段。只有當(dāng)該IP地址段存在于第一 IP段中,則將該IP地址段作為第二 IP地址段,即,新IP段。如果該IP地址段不存在于任一個第一 IP段中,則表明在原有的多個IP數(shù)據(jù)源中都不存在該段IP地址。則不將該IP地址段作為第二 IP段,繼續(xù)判斷下一個IP地址段是否存在于任一個第一 IP段。
[0077]根據(jù)本發(fā)明實(shí)施例,將劃分之后的IP地址段與IP數(shù)據(jù)源中的第一 IP段進(jìn)行對t匕,剔除不存在于原有IP數(shù)據(jù)源中的IP地址段,使得重新劃分之后的IP數(shù)據(jù)源與劃分之前的IP數(shù)據(jù)源中包含的總的IP地址保持一致。
[0078]優(yōu)選地,在執(zhí)行完步驟S205之后,IP數(shù)據(jù)源的處理方法還包括步驟如下:
[0079]步驟S6,獲取第一 IP段對應(yīng)的IP數(shù)據(jù)源的歸屬信息,歸屬信息包括地理信息和運(yùn)行商信息。第一 IP段為每一個IP數(shù)據(jù)源中的每一個第一 IP段,獲取每一個第一 IP段的歸屬信息,該歸屬信息可以是地理信息或者運(yùn)營商信息,運(yùn)營商也可以稱ISP (InternetService Provider,互聯(lián)網(wǎng)服務(wù)提供商,簡稱ISP),例如,某一個IP數(shù)據(jù)源中的第一 IP段B對應(yīng)的地理信息為北京市。[0080]步驟S7,根據(jù)歸屬信息確定第二 IP段的歸屬信息。由于第二 IP段是由多個IP數(shù)據(jù)源中的多個第一 IP段重新劃分得到,因此根據(jù)第一 IP段的歸屬信息能夠確定第二 IP段的歸屬信息。另外,第二 IP段可能會存在于多個IP數(shù)據(jù)源,因此在劃分之后的第二 IP段會包含有多個不同的地理信息或者運(yùn)營商信息。例如,第一IP段C對應(yīng)的地理信息為天津市,第一 IP段D的對應(yīng)的地理信息為唐山市,其中,第一 IP段C與第一 IP段D分別為不同IP數(shù)據(jù)源中的IP段,且第一 IP段C與第一 IP段D之間存在相交的情況,經(jīng)過本發(fā)明實(shí)施例中的IP數(shù)據(jù)源的處理方法處理之后,將第一 IP段C被拆分為第二 IP段X和第二 IP段Y,第一 IP段D被拆分為第二 IP段X和第二 IP段Z,那么,可以看出,第二 IP段X既存在于第一 IP段C中,同時也存在于第一 IP段D中,那么第二 IP段X對應(yīng)的地理信息可能為天津市,也可能為唐山市,這里可以標(biāo)記其對應(yīng)的所有的可能對應(yīng)的地理信息,以便于進(jìn)一步確定其歸屬。第二 IP段Y對應(yīng)的地理信息為天津市,第二 IP段Z對應(yīng)的地理信息為唐山市。
[0081]圖7是根據(jù)本發(fā)明第三實(shí)施例的IP數(shù)據(jù)源的處理方法的流程圖。該實(shí)施例提供的IP數(shù)據(jù)源的處理方法可以作為上述實(shí)施例的IP數(shù)據(jù)源的處理方法的一種優(yōu)選實(shí)施方式。如圖7所示,該IP數(shù)據(jù)源的處理方法包括步驟如下:
[0082]步驟S301,獲取多個IP數(shù)據(jù)源,任一個IP數(shù)據(jù)源包括多個第一 IP段。IP數(shù)據(jù)源也可以稱為IP數(shù)據(jù)庫,IP數(shù)據(jù)庫可以用于通過給定的IP地址來確定該IP地址對應(yīng)的歸屬信息,該歸屬信息包括該IP地址所屬區(qū)域或者所屬運(yùn)營商,例如,獲取到一個IP地址A,通過IP數(shù)據(jù)源或者IP數(shù)據(jù)庫確定該IP地址A的地理位置。每個IP數(shù)據(jù)源都包括多個第一 IP段,需要說明的是,這里的第一 IP段為任意一個IP段,并非是指某一個IP數(shù)據(jù)源的第一個IP段,這里的“第一”是為了區(qū)分對IP數(shù)據(jù)源進(jìn)行重新劃分后的IP段,并不對本發(fā)明有不當(dāng)限定。
[0083]任一個IP數(shù)據(jù)源包括多個第一 IP段,即,每一個IP數(shù)據(jù)源都包括多個IP段,每一個IP段包括一段IP地址。IP數(shù)據(jù)源可以通過網(wǎng)絡(luò)爬取,也可以通過向運(yùn)行商購買獲得。IP數(shù)據(jù)源可以為2個IP數(shù)據(jù)源,也可以為2個以上的多個IP數(shù)據(jù)源。
[0084]步驟S302,將IP地址轉(zhuǎn)化為整類型數(shù)據(jù),IP地址包括所有IP地址??梢詫⒚恳粋€IP地址轉(zhuǎn)化為一個整型數(shù)據(jù),例如Bigint (—種系統(tǒng)數(shù)據(jù)類型)類型的數(shù)據(jù)。這里的IP地址包括所有IP地址。
[0085]步驟S303,將轉(zhuǎn)化后的IP地址不重復(fù)地插入到預(yù)先生成的數(shù)據(jù)表中。數(shù)據(jù)表可以是通過數(shù)據(jù)庫功能預(yù)先創(chuàng)建的數(shù)據(jù)表,將IP地址轉(zhuǎn)化后的數(shù)據(jù)不重復(fù)地插入到該數(shù)據(jù)表中,使得每各IP地址對應(yīng)的數(shù)據(jù)在數(shù)據(jù)表中只對應(yīng)一個數(shù)據(jù)。
[0086]步驟S304,對數(shù)據(jù)表中的IP地址進(jìn)行排序,得到拆分依據(jù)表。由于數(shù)據(jù)庫具有排序功能,可以采用例如Order by (數(shù)據(jù)庫中用于對數(shù)據(jù)進(jìn)行排序的語句)語句的排序功能對數(shù)據(jù)表中IP地址對應(yīng)的數(shù)據(jù)進(jìn)行排序,得到拆分依據(jù)表,該拆分依據(jù)表為排序后的數(shù)據(jù)表,可以用于劃分IP數(shù)據(jù)源。
[0087]步驟S305,將拆分依據(jù)表作為IP數(shù)軸。由于該拆分依據(jù)表可以劃分IP數(shù)據(jù)源,因此將拆分依據(jù)表作為IP數(shù)軸。
[0088]步驟S306,獲取多個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)。每一個第一 IP段均包括一個起始點(diǎn)和一個結(jié)束點(diǎn),獲取的起始點(diǎn)和結(jié)束點(diǎn)為每一個IP數(shù)據(jù)源中的每一個第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)。第一 IP段包括多個IP地址,因此,每一個第一 IP段的起始點(diǎn)或者結(jié)束點(diǎn)均對應(yīng)一個IP地址。
[0089]步驟S307,將起始點(diǎn)和結(jié)束點(diǎn)分別映射到拆分依據(jù)表上。將起始點(diǎn)和結(jié)束點(diǎn)分別映射到拆分依據(jù)表上,即,將所有起始點(diǎn)和結(jié)束點(diǎn)對應(yīng)的IP地址分別映射到拆分依據(jù)表中的IP地址對應(yīng)的數(shù)據(jù)上。
[0090]步驟S308,將拆分依據(jù)表上對應(yīng)的起始點(diǎn)和結(jié)束點(diǎn)作為界限點(diǎn)。該界限點(diǎn)用于劃分IP數(shù)據(jù)源,由于將所有起始點(diǎn)和結(jié)束點(diǎn)對應(yīng)的IP地址分別映射到拆分依據(jù)表對應(yīng)的IP地址上,因此,在拆分依據(jù)表上會有相對應(yīng)的起始點(diǎn)和結(jié)束點(diǎn),將該拆分依據(jù)表上的起始點(diǎn)和結(jié)束點(diǎn)作為界限點(diǎn),其中,如果起始點(diǎn)或者結(jié)束點(diǎn)之間出現(xiàn)重復(fù),或者起始點(diǎn)與結(jié)束點(diǎn)之間出現(xiàn)重復(fù),那么將所有重復(fù)的點(diǎn)作為一個界限點(diǎn)。
[0091]步驟S309,將拆分依據(jù)表上相鄰的兩個界限點(diǎn)之間的IP地址段作為第二 IP段以劃分所述IP數(shù)據(jù)源為多個第二 IP段。每個界限點(diǎn)之間均包括一段IP地址段,也即是IP段,將該IP地址段作為第二 IP段,也即是新IP段,以實(shí)現(xiàn)對每一個IP數(shù)據(jù)源的重新劃分。
[0092]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個的計(jì)算裝置上,或者分布在多個計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲在存儲裝置中由計(jì)算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0093]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0094]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種IP數(shù)據(jù)源的處理方法,其特征在于,包括: 獲取多個IP數(shù)據(jù)源,任一個所述IP數(shù)據(jù)源包括多個第一 IP段; 生成IP數(shù)軸,所述IP數(shù)軸上包括所有IP地址; 將多個所述IP數(shù)據(jù)源中的每一個所述第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到所述IP數(shù)軸上;以及 根據(jù)所述IP數(shù)軸上的所述起始點(diǎn)和所述結(jié)束點(diǎn)劃分所述IP數(shù)據(jù)源為多個第二 IP段。
2.根據(jù)權(quán)利要求1所述的IP數(shù)據(jù)源的處理方法,其特征在于,根據(jù)所述IP數(shù)軸上的所述起始點(diǎn)和所述結(jié)束點(diǎn)劃分所述IP數(shù)據(jù)源為多個第二 IP段包括: 將所述IP數(shù)軸上對應(yīng)的所述起始點(diǎn)和所述結(jié)束點(diǎn)作為界限點(diǎn);以及 將所述IP數(shù)軸上相鄰的兩個所述界限點(diǎn)之間的IP地址段作為所述第二 IP段以劃分所述IP數(shù)據(jù)源為多個所述第二 IP段。
3.根據(jù)權(quán)利要求2所述的IP數(shù)據(jù)源的處理方法,其特征在于,將相鄰的兩個所述界限點(diǎn)之間的IP地址段作為所述第二 IP段包括: 將所述IP地址段與所述第一 IP段進(jìn)行對比; 判斷所述IP數(shù)軸上所述IP地址段是否存在于任一個所述第一 IP段中;以及 如果所述IP地址段存在于任一個所述第一 IP段中,則將所述IP數(shù)軸上所述IP地址段作為第二 IP段。
4.根據(jù)權(quán)利要求2所述的IP數(shù)據(jù)源的處理方法,其特征在于,將所述IP數(shù)軸上相鄰的兩個所述界限點(diǎn)之間的IP地址段作為所述第二 IP段之后,所述IP數(shù)據(jù)源的處理方法還包括: 獲取第一 IP段對應(yīng)的IP數(shù)據(jù)源的歸屬信息,所述歸屬信息包括地理信息和運(yùn)行商信息;以及 根據(jù)所述歸屬信息確定所述第二 IP段的歸屬信息。
5.根據(jù)權(quán)利要求1所述的IP數(shù)據(jù)源的處理方法,其特征在于, 生成IP數(shù)軸包括:將IP地址轉(zhuǎn)化為整型數(shù)據(jù),所述IP地址包括所有IP地址;將轉(zhuǎn)化后的所述IP地址不重復(fù)地插入到預(yù)先生成的數(shù)據(jù)表中;對所述數(shù)據(jù)表中的所述IP地址進(jìn)行排序,得到拆分依據(jù)表,所述拆分依據(jù)表用于劃分所述IP數(shù)據(jù)源;將所述拆分依據(jù)表作為所述IP數(shù)軸; 將多個所述IP數(shù)據(jù)源中的每一個所述第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到所述IP數(shù)軸上包括:獲取多個所述IP數(shù)據(jù)源中的每一個所述第一 IP段的起始點(diǎn)和結(jié)束點(diǎn);將所述起始點(diǎn)和所述結(jié)束點(diǎn)分別映射到所述拆分依據(jù)表上; 根據(jù)所述IP數(shù)軸上的所述起始點(diǎn)和所述結(jié)束點(diǎn)劃分所述IP數(shù)據(jù)源為多個第二 IP段包括:將所述拆分依據(jù)表上對應(yīng)的所述起始點(diǎn)和所述結(jié)束點(diǎn)作為界限點(diǎn);將所述拆分依據(jù)表上相鄰的兩個所述界限點(diǎn)之間的IP地址段作為第二 IP段以劃分所述IP數(shù)據(jù)源為多個第二 IP段。
6.一種IP數(shù)據(jù)源的處理裝置,其特征在于,包括: 第一獲取單元,用于獲取多個IP數(shù)據(jù)源,任一個所述IP數(shù)據(jù)源包括多個第一 IP段; 生成單元,用于生成IP數(shù)軸,所述IP數(shù)軸上包括所有IP地址; 映射單元,用于將多個所述IP數(shù)據(jù)源中的每一個所述第一 IP段的起始點(diǎn)和結(jié)束點(diǎn)分別映射到所述IP數(shù)軸相應(yīng)的IP段上;以及 拆分單元,用于根據(jù)所述IP數(shù)軸上的所述起始點(diǎn)和所述結(jié)束點(diǎn)劃分所述IP數(shù)據(jù)源為多個第二 IP段。
7.根據(jù)權(quán)利要求6所述的IP數(shù)據(jù)源的處理裝置,其特征在于,所述拆分單元包括: 第一生成模塊,用于將所述IP數(shù)軸上對應(yīng)的所述起始點(diǎn)和所述結(jié)束點(diǎn)作為界限點(diǎn);以及 第一拆分模塊,用于將所述IP數(shù)軸上相鄰的兩個所述界限點(diǎn)之間的IP地址段作為所述第二 IP段以劃分所述IP數(shù)據(jù)源為多個所述第二 IP段。
8.根據(jù)權(quán)利要求7所述的IP數(shù)據(jù)源的處理裝置,其特征在于,所述第一拆分模塊包括: 比較子模塊,用于將所述IP地址段與所述第一 IP段進(jìn)行對比; 判斷子模塊,用于判斷所述IP數(shù)軸上所述IP地址段是否存在于任一個所述第一 IP段中;以及 生成子模塊,用于如果所述IP地址段存在于任一個所述第一 IP段中,則將所述IP數(shù)軸上所述IP地址段作為第二 IP段。
9.根據(jù)權(quán)利要求7所述的IP數(shù)據(jù)源的處理裝置,其特征在于,所述IP數(shù)據(jù)源的處理裝置還包括: 第二獲取單元,用于將所述`IP數(shù)軸上相鄰的兩個所述界限點(diǎn)之間的IP地址段作為所述第二 IP段之后,獲取第一 IP段對應(yīng)的IP數(shù)據(jù)源的歸屬信息,所述歸屬信息包括地理信息和運(yùn)行商信息;以及 確定單元,用于根據(jù)所述歸屬信息確定所述第二 IP段的歸屬信息。
10.根據(jù)權(quán)利要求6所述的IP數(shù)據(jù)源的處理裝置,其特征在于, 所述生成單元包括:轉(zhuǎn)化模塊,用于將IP地址轉(zhuǎn)化為整型數(shù)據(jù),所述IP地址包括所有IP地址;插入模塊,用于將轉(zhuǎn)化后的所述IP地址不重復(fù)地插入到預(yù)先生成的數(shù)據(jù)表中;排序模塊,用于對所述數(shù)據(jù)表中的所述IP地址進(jìn)行排序,得到拆分依據(jù)表,所述拆分依據(jù)表用于劃分所述IP數(shù)據(jù)源;第二生成模塊,用于將所述拆分依據(jù)表作為所述IP數(shù)軸; 所述映射單元包括:獲取模塊,用于獲取多個所述IP數(shù)據(jù)源中的每一個所述第一 IP段的起始點(diǎn)和結(jié)束點(diǎn);映射模塊,用于將所述起始點(diǎn)和所述結(jié)束點(diǎn)分別映射到所述拆分依據(jù)表上; 所述拆分單元包括:第三生成模塊,用于將所述拆分依據(jù)表上對應(yīng)的所述起始點(diǎn)和所述結(jié)束點(diǎn)作為界限點(diǎn);第二拆分模塊,用于將所述拆分依據(jù)表上相鄰的兩個所述界限點(diǎn)之間的IP地址段作為第二 IP段以劃分所述IP數(shù)據(jù)源為多個第二 IP段。
【文檔編號】H04L29/12GK103533101SQ201310500740
【公開日】2014年1月22日 申請日期:2013年10月22日 優(yōu)先權(quán)日:2013年10月22日
【發(fā)明者】張運(yùn), 吳充, 洪超 申請人:北京國雙科技有限公司