CN106599019A - 一种精确高效的ip地址定位方法 - Google Patents

一种精确高效的ip地址定位方法 Download PDF

Info

Publication number
CN106599019A
CN106599019A CN201610918884.8A CN201610918884A CN106599019A CN 106599019 A CN106599019 A CN 106599019A CN 201610918884 A CN201610918884 A CN 201610918884A CN 106599019 A CN106599019 A CN 106599019A
Authority
CN
China
Prior art keywords
index
block
address
data
region
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610918884.8A
Other languages
English (en)
Inventor
阳建
李实�
彭添才
杨彪
占海华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dongguan Dayi Industry Chain Service Co Ltd
Original Assignee
Dongguan Dayi Industry Chain Service Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dongguan Dayi Industry Chain Service Co Ltd filed Critical Dongguan Dayi Industry Chain Service Co Ltd
Priority to CN201610918884.8A priority Critical patent/CN106599019A/zh
Publication of CN106599019A publication Critical patent/CN106599019A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种精确高效的IP地址定位方法,包括以下步骤:S1:建立数据库;S2:采用定位块SUPER BLOCK将待测IP定位至索引区域INDEX中;S3:将待测IP与索引区域INDEX中的索引元素index block进行比较,当待测IP值位于其中一个索引元素index block的起始IP与结束IP之间,即待测IP命中索引;S4:根据该索引元素index block的数据信息得到该IP值在数据库中对应的数据长度和数据地址;S5:找出相关的物理地址。本发明通过将IP值与物理地址保存在新建的数据库中,通过索引法在数据库中查询与IP对应的物理地址,实现IP地址的快速精确定位。

Description

一种精确高效的IP地址定位方法
技术领域
本发明涉及数据处理技术领域,具体涉及一种精确高效的IP地址定位方法。
背景技术
互联网中的各个节点,例如主机或路由器,是物理存在的,具体地存放在一个物理所在地,各个节点都有唯一的IP 地址以相互区分和相互联系,通过节点的IP 地址定位节点的地理位置信息的技术应运而生。
现有技术中,可以利用请求端提供的IP地址,查询IP地址数据库,获取该IP地址的所在区域,例如省份、城市等等,然而,由于全球有42亿个IP地址,难以实现IP地址的精确定位。
发明内容
本发明的目的是针对现有技术中的上述不足,提供了一种精确高效的IP地址定位方法。
本发明的目的通过以下技术方案实现:一种精确高效的IP地址定位方法,包括以下步骤:
S1:建立数据库,建立包括以下步骤:
数据区data的建立步骤:将物理地址信息录入数据区data中;
索引区域INDEX的建立步骤:所述索引区域INDEX包括有多个索引元素index block,每个索引元素index block在数据区data中对应一个物理地址;所述索引元素index block包括有起始IP,结束IP以及用于确定数据区data中物理地址的数据信息,所述数据信息包括有数据长度和数据地址;
定位块SUPER BLOCK的建立步骤:定位块SUPER BLOCK用于获取索引区域INDEX起始位置的索引元素index block以及结束位置的索引元素index block,从而获取索引区域INDEX的范围;
S2:采用定位块SUPER BLOCK将待测IP定位至索引区域INDEX中;
S3:将待测IP与索引区域INDEX中的索引元素index block进行比较,当待测IP值位于其中一个索引元素index block的起始IP与结束IP之间,即待测IP命中索引;
S4:根据该索引元素index block的数据信息得到该IP值在数据库中对应的数据长度和数据地址;
S5:根据数据长度和数据地址在数据区找出相关的物理地址。
本发明进一步设置为,在步骤S3中,将待测IP与索引区域INDEX中的索引元素index block进行比较包括以下步骤:
A:将所有的索引元素index block值进行排序,得到block1、block2、block3…blockN;
B:算出索引元素index block的总数;
C:采用二分法比较索引元素index block的两个区间与待测IP值的大小,多次采用二分法逐步得出当前IP值所属的索引元素index block。
本发明进一步设置为,
在步骤S1的索引区域INDEX的建立步骤中,将索引区域INDEX内所有索引元素indexblock划分为多个索引块index partion;
在步骤S1中,还包括有二级索引区HEADER INDEX的建立步骤:所述二级索引区HEADERINDEX包括有多个二级索引元素header index block,每个二级索引元素header indexblock在索引区INDEX中对应一个索引块index partion。
本发明进一步设置为,在步骤S2与步骤S3之间,还包括有步骤SP:确定待测IP属于二级索引区HEADER INDEX内的二级索引元素header index block,将待测IP定位至所述的索引块index partion中。
本发明进一步设置为,所述索引元素的起始IP、结束IP以及数据信息均为4个字节;数据信息中的第一个字节用于保存数据长度,后三个字节用于保存数据地址。
本发明进一步设置为,所述定位块SUPER BLOCK为8个字节,前4个字节用于保存索引区域INDEX起始位置的索引元素index block的地址,后4个字节用于保存索引区域INDEX结束位置的索引元素index block的地址。
本发明进一步设置为,所述二级索引元素header index block包括有8个字节,前4个字节用于保存索引块index partion起始位置的index block的起始IP,后4位用于保存该index block的地址。
本发明的有益效果:本发明通过将IP值与物理地址保存在新建的数据库中,通过索引与二分法在数据库中查询与IP值对应的物理地址,实现IP地址的快速精确定位。
附图说明
利用附图对发明作进一步说明,但附图中的实施例不构成对本发明的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。
图1是本发明数据库的示意图。
具体实施方式
结合以下实施例对本发明作进一步描述。
由图1可知,本实施例所述的一种精确高效的IP地址定位方法,包括以下步骤:S1:建立数据库,建立包括以下步骤:
数据区data的建立步骤:将物理地址信息录入数据区data中;
索引区域INDEX的建立步骤:所述索引区域INDEX包括有多个索引元素index block,每个索引元素index block在数据区data中对应一个物理地址;所述索引元素index block包括有起始IP,结束IP以及用于确定数据区data中物理地址的数据信息,所述数据信息包括有数据长度和数据地址;
定位块SUPER BLOCK的建立步骤:定位块SUPER BLOCK用于获取索引区域INDEX起始位置的索引元素index block以及结束位置的索引元素index block,从而获取索引区域INDEX的范围;通过建立将IP值与物理地址保存在新建的数据库中,通过索引法在数据库中查询与IP值对应的物理地址,实现IP地址的快速精确定位。
S2:采用定位块SUPER BLOCK将待测IP定位至索引区域INDEX中;当需要确定待测IP的物理地址时,采用定位块SUPER BLOCK能够快速地将待测IP定位至索引区域INDEX中。
S3:将待测IP与索引区域INDEX中的索引元素index block进行比较,当待测IP值位于其中一个索引元素index block的起始IP与结束IP之间,即待测IP命中索引;
S4:根据该索引元素index block的数据信息得到该IP值在数据库中对应的数据长度和数据地址;
S5:根据数据长度和数据地址在数据区找出相关的物理地址。
本实施例所述的一种精确高效的IP地址定位方法,在步骤S3中,将待测IP与索引区域INDEX中的索引元素index block进行比较包括以下步骤:
A:将所有的索引元素index block值进行排序,得到block1、block2、block3…blockN;
B:算出索引元素index block的总数;
C:采用二分法比较索引元素index block的两个区间与待测IP值的大小,多次采用二分法逐步得出当前IP值所属的索引元素index block。例如假设起始位置的索引元素为block3,结束位置的索引元素为block8,故索引元素index block的总数为8-3+1=6个,将索引元素划分为block3-block5以及block6-block8,将IP值与block5值进行比较,若IP值大于block5值,则该IP位于区间block6-block8中,反之,则位于区间block3-block5中,多次重复以上步骤,最终得到该IP所属的索引元素index block。
本实施例所述的一种精确高效的IP地址定位方法,在步骤S1的索引区域INDEX的建立步骤中,将索引区域INDEX内所有索引元素index block划分为多个索引块indexpartion;
在步骤S1中,还包括有二级索引区HEADER INDEX的建立步骤:所述二级索引区HEADERINDEX包括有多个二级索引元素header index block,每个二级索引元素header indexblock在索引区INDEX中对应一个索引块index partion。本实施例所述的一种精确高效的IP地址定位方法,在步骤S2与步骤S3之间,还包括有步骤SP:确定待测IP属于二级索引区HEADER INDEX内的二级索引元素header index block,将待测IP定位至所述的索引块index partion中。通过建立二级索引区HEADER INDEX,当查询IP的物理地址时,首先定位块SUPER BLOCK将该待测IP定位至索引区域INDEX中后,确定待测IP属于二级索引区HEADERINDEX内的二级索引元素header index block,将待测IP定位至所述的索引块indexpartion中,然后确定待测ID所属的index block,最终得出物理地址,通过二次索引能够减少读盘的次数,加快ID定位的速度。
本实施例所述的一种精确高效的IP地址定位方法,所述索引元素的起始IP、结束IP以及数据信息均为4个字节;数据信息中的第一个字节用于保存数据长度,后三个字节用于保存数据地址。
本实施例所述的一种精确高效的IP地址定位方法,所述定位块SUPER BLOCK为8个字节,前4个字节用于保存索引区域INDEX起始位置的索引元素index block的地址,后4个字节用于保存索引区域INDEX结束位置的索引元素index block的地址。
本实施例所述的一种精确高效的IP地址定位方法,所述二级索引元素headerindex block包括有8个字节,前4个字节用于保存索引块index partion起始位置的indexblock的起始IP,后4位用于保存该index block的地址。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。

Claims (7)

1.一种精确高效的IP地址定位方法,其特征在于:包括以下步骤:
S1:建立数据库,建立包括以下步骤:
数据区data的建立步骤:将物理地址信息录入数据区data中;
索引区域INDEX的建立步骤:所述索引区域INDEX包括有多个索引元素index block,每个索引元素index block在数据区data中对应一个物理地址;所述索引元素index block包括有起始IP,结束IP以及用于确定数据区data中物理地址的数据信息,所述数据信息包括有数据长度和数据地址;
定位块SUPER BLOCK的建立步骤:定位块SUPER BLOCK用于获取索引区域INDEX起始位置的索引元素index block以及结束位置的索引元素index block,从而获取索引区域INDEX的范围;
S2:采用定位块SUPER BLOCK将待测IP定位至索引区域INDEX中;
S3:将待测IP与索引区域INDEX中的索引元素index block进行比较,当待测IP值位于其中一个索引元素index block的起始IP与结束IP之间,即待测IP命中索引;
S4:根据该索引元素index block的数据信息得到该IP值在数据库中对应的数据长度和数据地址;
S5:根据数据长度和数据地址在数据区找出相关的物理地址。
2.根据权利要求1所述的一种精确高效的IP地址定位方法,其特征在于:在步骤S3中,将待测IP与索引区域INDEX中的索引元素index block进行比较包括以下步骤:
A:将所有的索引元素index block值进行排序,得到block1、block2、block3…blockN;
B:算出索引元素index block的总数;
C:采用二分法比较索引元素index block的两个区间与待测IP值的大小,多次采用二分法逐步得出当前IP值所属的索引元素index block。
3.根据权利要求1所述的一种精确高效的IP地址定位方法,其特征在于:
在步骤S1的索引区域INDEX的建立步骤中,将索引区域INDEX内所有索引元素indexblock划分为多个索引块index partion;
在步骤S1中,还包括有二级索引区HEADER INDEX的建立步骤:所述二级索引区HEADERINDEX包括有多个二级索引元素header index block,每个二级索引元素header indexblock在索引区INDEX中对应一个索引块index partion。
4.根据权利要求3所述的一种精确高效的IP地址定位方法,其特征在于:在步骤S2与步骤S3之间,还包括有步骤SP:确定待测IP属于二级索引区HEADER INDEX内的二级索引元素header index block,将待测IP定位至所述的索引块index partion中。
5.根据权利要求1所述的一种精确高效的IP地址定位方法,其特征在于:所述索引元素的起始IP、结束IP以及数据信息均为4个字节;数据信息中的第一个字节用于保存数据长度,后三个字节用于保存数据地址。
6.根据权利要求1所述的一种精确高效的IP地址定位方法,其特征在于:所述定位块SUPER BLOCK为8个字节,前4个字节用于保存索引区域INDEX起始位置的索引元素indexblock的地址,后4个字节用于保存索引区域INDEX结束位置的索引元素index block的地址。
7.根据权利要求3所述的一种精确高效的IP地址定位方法,其特征在于:所述二级索引元素header index block包括有8个字节,前4个字节用于保存索引块index partion起始位置的index block的起始IP,后4位用于保存该index block的地址。
CN201610918884.8A 2016-10-21 2016-10-21 一种精确高效的ip地址定位方法 Pending CN106599019A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610918884.8A CN106599019A (zh) 2016-10-21 2016-10-21 一种精确高效的ip地址定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610918884.8A CN106599019A (zh) 2016-10-21 2016-10-21 一种精确高效的ip地址定位方法

Publications (1)

Publication Number Publication Date
CN106599019A true CN106599019A (zh) 2017-04-26

Family

ID=58556213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610918884.8A Pending CN106599019A (zh) 2016-10-21 2016-10-21 一种精确高效的ip地址定位方法

Country Status (1)

Country Link
CN (1) CN106599019A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107231451A (zh) * 2017-05-23 2017-10-03 上海斐讯数据通信技术有限公司 一种网络协议地址‑地域信息减少重复匹配的方法及系统
CN110769079A (zh) * 2019-10-30 2020-02-07 杭州迪普科技股份有限公司 一种检索ip对应地理位置的方法及装置
CN110855812A (zh) * 2019-11-28 2020-02-28 中国银行股份有限公司 基于ip地址的定位方法、装置和设备
CN112307138A (zh) * 2019-07-30 2021-02-02 华扬联众数字技术股份有限公司 地域信息的存储和查询方法、系统与介质
CN112948376A (zh) * 2021-02-02 2021-06-11 厦门服云信息科技有限公司 一种ip地理位置信息查询方法、终端设备及存储介质
CN113515527A (zh) * 2021-09-13 2021-10-19 成都数默科技有限公司 一种聚合型ip索引的建立和应用方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1863071A (zh) * 2005-08-06 2006-11-15 华为技术有限公司 对基于IPv6的业务流进行统计的方法
CN101355595A (zh) * 2008-09-17 2009-01-28 北京搜狗科技发展有限公司 定位ip地址的物理所在地的方法和装置
CN102984292A (zh) * 2012-12-03 2013-03-20 北京锐安科技有限公司 一种ip段地址集中查找ip地址的方法
EP2609529A1 (en) * 2010-08-23 2013-07-03 Nokia Corp. Method and apparatus for processing search requests for a partitioned index

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1863071A (zh) * 2005-08-06 2006-11-15 华为技术有限公司 对基于IPv6的业务流进行统计的方法
CN101355595A (zh) * 2008-09-17 2009-01-28 北京搜狗科技发展有限公司 定位ip地址的物理所在地的方法和装置
EP2609529A1 (en) * 2010-08-23 2013-07-03 Nokia Corp. Method and apparatus for processing search requests for a partitioned index
CN102984292A (zh) * 2012-12-03 2013-03-20 北京锐安科技有限公司 一种ip段地址集中查找ip地址的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ROBERT SEDGEWICK等: "《Java 程序设计:一种跨学科的方法》", 31 December 2008, 清华大学出版社 *
张喜云: "《宽带接入网技术》", 28 February 2009, 西安电子科技大学出版社 *
欧阳友权: "《CDIO工程教育系列教程 公共基础类 计算机网络》", 30 April 2013, 世界图书出版广东有限公司 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107231451A (zh) * 2017-05-23 2017-10-03 上海斐讯数据通信技术有限公司 一种网络协议地址‑地域信息减少重复匹配的方法及系统
CN112307138A (zh) * 2019-07-30 2021-02-02 华扬联众数字技术股份有限公司 地域信息的存储和查询方法、系统与介质
CN110769079A (zh) * 2019-10-30 2020-02-07 杭州迪普科技股份有限公司 一种检索ip对应地理位置的方法及装置
CN110855812A (zh) * 2019-11-28 2020-02-28 中国银行股份有限公司 基于ip地址的定位方法、装置和设备
CN110855812B (zh) * 2019-11-28 2022-05-27 中国银行股份有限公司 基于ip地址的定位方法、装置和设备
CN112948376A (zh) * 2021-02-02 2021-06-11 厦门服云信息科技有限公司 一种ip地理位置信息查询方法、终端设备及存储介质
CN113515527A (zh) * 2021-09-13 2021-10-19 成都数默科技有限公司 一种聚合型ip索引的建立和应用方法

Similar Documents

Publication Publication Date Title
CN106599019A (zh) 一种精确高效的ip地址定位方法
CN103825976B (zh) 分布式系统架构中的nat处理方法及装置
CN101355595B (zh) 定位ip地址的物理所在地的方法和装置
CN105227688B (zh) 一种基于路径特征的区域级目标ip定位方法
WO2016091174A1 (zh) 图数据的搜索方法和装置
TWI645694B (zh) 用於處理交替配置的最長首碼匹配表的裝置和方法
WO2015142710A8 (en) Method, apparatus, and system for determining a location corresponding to an ip address
CN104537105B (zh) 一种基于Web地图的网络实体地标自动挖掘方法
CN108228657B (zh) 一种关键字检索的实现方法及装置
CN103426191B (zh) 一种图片标注方法及系统
CN106126383A (zh) 一种日志处理方法和装置
US20150256450A1 (en) Generating a Shape Graph for a Routing Table
CN102411617A (zh) 一种对海量url进行存储和查询方法
CN104579998A (zh) 一种负载均衡处理装置
CN110995885A (zh) 一种基于路由器误差训练的ip定位方法
CN106027427B (zh) 基于fpga实现的hash平均分流方法及装置
CN107920115A (zh) 一种基于时延和地理一致性约束的城市级ip定位方法
US10547536B2 (en) Identifying shortest paths
KR20170067804A (ko) 라우팅 테이블의 유지 방법, 장치 및 저장매체
CN105989145A (zh) 公交线路的自动更新方法、设备及系统
CN106940711A (zh) 一种url检测方法及检测装置
CN106802958A (zh) Cad数据到gis数据的转换方法及系统
CN108848203B (zh) 一种网络边界的识别方法及系统
CN107807976A (zh) Ip归属地查询方法和装置
CN104598580A (zh) Ip地理定位数据的挖掘方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170426

RJ01 Rejection of invention patent application after publication