CN104102707A - 一种面向MapReduce框架的地理归属信息查询方法 - Google Patents

一种面向MapReduce框架的地理归属信息查询方法 Download PDF

Info

Publication number
CN104102707A
CN104102707A CN201410328449.0A CN201410328449A CN104102707A CN 104102707 A CN104102707 A CN 104102707A CN 201410328449 A CN201410328449 A CN 201410328449A CN 104102707 A CN104102707 A CN 104102707A
Authority
CN
China
Prior art keywords
coding
array
geographical
details
city
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.)
Granted
Application number
CN201410328449.0A
Other languages
English (en)
Other versions
CN104102707B (zh
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.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
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 Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN201410328449.0A priority Critical patent/CN104102707B/zh
Publication of CN104102707A publication Critical patent/CN104102707A/zh
Application granted granted Critical
Publication of CN104102707B publication Critical patent/CN104102707B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/29Geographical information databases

Landscapes

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

Abstract

本发明公开了一种面向MapReduce框架的地理归属信息查询方法,包括以下步骤:设计IP地址转换地理归属信息编码表TIP,IP地址转换地理归属信息编码表TIP采用一维数组实现,每个数组元素是一个整数G,数组下标x是通过IP地址转换得到的整数;设计地理归属信息编码详情表,具体包括国家编码详情表TCODE_COUNTRY、省/区编码详情表TCODE_REGION、城市编码详情表TCODE_CITY以及运营商编码详情表TCODE_ISP;利用IP地址转换地理归属信息编码表TIP和4个地理归属信息编码详情表,查询IP地址的对应地理归属信息编码或详情,利用位运算和寻址操作加快查询的速度;构建基于Web面向MapReduce框架的查询服务,为并发计算环境的海量数据处理提供支持。本发明具有查询过程速度快,占用存储空间少的优点。

Description

一种面向MapReduce框架的地理归属信息查询方法
【技术领域】
本发明涉及互联网技术领域,特别是涉及一种面向MapReduce框架的地理归属信息查询方法。
【背景技术】
随着互联网技术的发展,信息系统的中存储的数据日益庞大,为了充分利用MapReduce框架分析这些数据,必须对这些数据进行预处理,其中就包括获取数据的地理归属信息。比如在税务系统中,经常需要对各地各单位各企业提供的报税记录进行分析,通过对原始数据的地理信息进行比对筛查,发现其中可能存在的问题。数据的地理归属信息的获取主要依靠对数据中IP地址对应地理归属信息的查询和转换来获得,通常可以利用查询IP地址库实现。而当需要在多个终端上对海量数据进行地理归属信息查询时,现有的查询单机IP库方式就难以满足查询的需求。针对如何更好的为分布式的并发计算环境提供地理归属信息查询的需求,以下专利和论文提供了不同的技术方案:
文献1.王晓勇,邱玉辉.基于查找树的IP地址分类算法研究[J].计算机科学,Vol.34,No.6,2007:76-77;
文献2.一种基于IP地址信息获取计算机精确地理位置信息的方法(200710070601.X);
文献1将IP地址看作是由4个字符组成的字符序列,其中每个字符的取值范围从0到255共256种,然后据此设计了一个深度为4的256叉Trie树,除了叶子节点以外,树的每个节点有256个指针,分别指向256个分支,每个节点有一个存储单元,存储该节点及前缀节点的IP地址信息。使用该方法查询时,进行4次查找即可获得IP地址的完整信息,时间复杂度是O(4)。
文献2将计算机终端由DHCP服务器动态分配的IP地址(IPv6)、由NAT网关/路由器翻译的IP地址和端口号(IPv4)、由宽带接入服务器获取的计算机终端的精确地理位置信息保存到定位信息数据库并发布为定位信息WEB服务,供网站访问;网站根据与之交互的计算机终端的IP地址信息访问定位信息WEB服务,获取计算机终端的精确定位信息,从而为计算机用户提供基于精确定位信息的个性化服务。
以上文献所述方法主要存在以下问题:文献1设计的256叉Trie树的每个节点有256个指针,每个指针都保存了节点的信息,存储空间浪费较大,且所提供的计算程序只能使用在单机计算环境,缺少对分布式计算环境的支持。文献2所提供的方法重点在于IP地址的地理信息的采集,只适合于针对识别用户位置进而提供个性化的服务的场景,查询过程较为复杂,不适合为大量客户端提供海量数据的并发处理。
【发明内容】
本发明的目的在于提出一种面向MapReduce框架的地理归属信息查询方法,以解决背景技术的方法中不适合处理分布式计算环境、空间浪费较大的问题,为处理海量数据的地理归属信息提供支持。
为了达到以上目的,本发明是采取如下技术方案予以实现的:
一种面向MapReduce框架的地理归属信息查询方法,包括下述步骤:
(1)设计IP地址转换地理归属信息编码表TIP,IP地址转换地理归属信息编码表TIP采用一维数组实现,每个数组元素是一个整数G,数组下标x是通过IP地址转换得到的整数;
(2)设计地理归属信息编码详情表,具体包括4个表,分别是国家编码详情表TCODE_COUNTRY、省/区编码详情表TCODE_REGION、城市编码详情表TCODE_CITY以及运营商编码详情表TCODE_ISP
(3)利用步骤(1)中设计的IP地址转换地理归属信息编码表TIP和步骤(2)中设计的4个地理归属信息编码详情表,设计查询IP地址的对应地理归属信息编码或者详情的算法;
(4)利用步骤(3)中设计的查询算法,构建基于Web面向MapReduce框架调用环境的查询服务。
本发明进一步改进在于,IP地址转换地理归属信息编码表TIP中,IP地址转换数组下标x的方法是:将IP地址表达为a.b.c.d四个整数的形式,每一位的取值均为0至255的整数,利用IP地址网络区域划分的特点,使用a,b,c三位能够定位到城市的地理归属信息,按如下方式将IP地址转换为整数作为数组的下标x:
数组下标x=a×2563+b×2562+c×256;
IP地址转换地理归属信息编码表TIP的数组长度为224=16711680,按照该换算方法,每个IP地址通过转换都在该数组中对应一个整数,不会发生数组下标越界。
本发明进一步改进在于,IP地址转换地理归属信息编码表TIP中,每个数组元素G均为32位的整数,该整数G的各个数位含义如下:
数位长度 8位 8位 9位 7位
数位含义 国家 省/区 城市 运营商
编码空间 255(1~28) 255(1~28) 511(1~29) 127(1~27)
其中,用高8位的编码能够唯一的标识一个国家,用高16位的编码能够唯一的标识一个省/区,用高25位的编码能够唯一的标识一个城市,用高8位与低7位结合的15位的编码能够唯一标识一个运营商。
本发明进一步改进在于,地理归属信息编码详情表的结构如下::
1)国家编码详情表TCODE_COUNTRY是一个一维数组,数组下标是国家编码的十进制整数数值,数组元素是每个编码对应的国家名称详情;
2)省/区编码详情表TCODE_REGION是一个二维数组,数组一维下标是国家编码的十进制整数数值,数组二维下标是省/区编码的十进制整数数值,数组元素是两个编码对应的省/区名称详情;
3)城市编码详情表TCODE_CITY是一个三维数组,数组一维下标是国家编码的十进制整数数值,数组二维下标是省/区编码的十进制整数数值,数组三维下标是城市编码的十进制整数数值,数组元素是三个编码对应的城市名称详情;
4)运营商编码详情表TCODE_ISP是一个二维数组,数组一维下标是国家编码的十进制整数数值,数组二维下标是运营商编码的十进制整数数值,数组元素是两个编码对应的运营商名称详情。
本发明进一步改进在于,查询IP地址的对应地理归属信息编码或者详情的算法,包括以下步骤:
1)计算IP地址对应的整数值x,按照步骤(1)中设计的转换公式,对IP地址a.b.c.d进行换算,具体方法如下:
Step1对a执行操作左移24位;
Step2对b执行操作左移16位;
Step3对c执行操作左移8位;
Step4对a和b执行按位或操作,将结果保存在x中;
Step5对x和c执行按位或操作,将结果保存在x中;
上述5步执行完成后,x为IP地址对应的整数值,整个换算过程使用3次移位计算和2次按位或计算即可完成;
2)以该整数x为下标,在IP地址转换地理归属信息编码表TIP中进行寻址操作,得到IP地址转换地理归属信息编码表TIP中对应的数组元素,该元素即为IP地址对应的地理归属信息的编码G,如果不需要将编码G逐个分解到国家、省/区、城市和运营商的形式,则在此返回G即可完成查询过程,如果需要分解查询结果G,则进行下一步;
3)对该整数编码G分解,得到具体的地理归属信息编码组C,C是一个数组,共有4个元素,分别是国家编码CCOUNTRY,省/区编码CREGION,城市编码CCITY,运营商编码CISP,具体的操作参数按照下表进行:
分解目标 操作参数的二进制形式 十进制形式
国家 11111111 00000000 00000000 00000000 4278190080
省/区 00000000 11111111 00000000 00000000 16711680
城市 00000000 00000000 11111111 10000000 65408
运营商 00000000 00000000 00000000 01111111 127
Step1对G和4278190080执行按位与操作,再将结果右移24位,保存在CCOUNTRY中;
Step2对G和16711680执行按位与操作,再将结果右移16位,保存在CREGION中;
Step3对G和65408执行按位与操作,再将结果右移7位,保存在CCITY中;
Step4对G和127执行按位与操作,将结果保存在CISP中;
上述4步执行完成后,C即是IP地址对应的地理归属信息编码组,整个过程使用4次按位与操作和3次移位操作完成,如果不需要将编码转换为文字详情,则在此返回C即可完成查询过程,如果需要查询文字详情,则进行下一步将编码转换为详情;
4)将地理归属信息编码组C中的每个数值作为下标,在地理归属信息编码详情表中查询地理归属信息的详情组D,D是一个数组,共有4个元素,分别是国家编码详情DCOUNTRY,省/区编码详情DREGION,城市编码详情DCITY,运营商编码详情DISP,具体过程如下:
Step1以国家编码CCOUNTRY作为数组下标,在国家编码详情表TCODE_COUNTRY中执行寻址操作,将得到的数组元素保存在DCOUNTRY中;
Step2以国家编码CCOUNTRY作为数组一维下标,以省/区编码CREGION作为数组二维下标,在省/区编码详情表TCODE_REGION中执行寻址操作,将得到的数组元素保存在DREGION中;
Step3以国家编码CCOUNTRY作为数组一维下标,以省/区编码CREGION作为数组二维下标,以城市编码CCITY为三维下标,在城市编码详情表TCODE_CITY中执行寻址操作,将得到的数组元素保存在DCITY中;
Step4以国家编码CCOUNTRY作为数组一维下标,以运营商编码CISP作为数组二维下标,在运营商编码详情表TCODE_ISP中执行寻址操作,将得到的数组元素保存在DISP中;
上述4步执行完成后,D即是IP地址对应的地理归属信息详情数组,整个过程使用4次寻址操作完成,将D返回,整个查询过程结束。
本发明进一步改进在于,构建基于Web面向MapReduce框架调用环境的查询服务,包括以下步骤:
1)启动基于HTTP协议传输数据的Web服务器,监听指定服务端口,等待查询IP地址的地理归属信息的请求;
2)接受来自客户端的IP查询请求,请求方需要提供两个参数,第一个是待查询的IP地址字符串,第二个是查询结果的返回形式;
查询结果的返回形式包括:
i、地理信息编码形式,即一个整数;
ii、地理信息编码组形式,即一个包含4个整数的数组;
iii、地理信息编码详情形式,即一个包含4个字符串的数组;
3)调用步骤(3)中的查询算法来处理请求的IP地址,并对查询结果按照定的返回形式进行处理;
4)向请求方返回查询指定形式结果。
与现有技术相比,本发明方法的优点是:
1、查询过程速度快,占用存储空间少。利用IP地址的格式特点和数组结构特点设计IP查询表,利用32位整数的各个数位保存地理归属信息和结构设计地理归属信息编码详情表,充分利用了存储空间,且利用了二进制按位计算速度快的特点,将查询IP地址地理信息编码过程和编码转换详情的时间复杂度保持在O(1)级别。
2、利用开放的HTTP协议实现Web服务,使得查询过程易于使用且支持多客户端的并发访问,只需要支持网络连接的环境即可使用该服务,不需要复杂的设备或者软件支持,特别适合并发计算环境的大规模调用场景,能够适应多种分布式计算框架。
【附图说明】
图1是本发明设计的IP地址转换表与地理归属信息编码的示意图;
图2是本发明设计的地理归属信息详情表的结构示意图;
图3是本发明设计的根据IP地址查询地理归属信息详情的流程图;
图4是本发明提供的IP地址查询Web服务的流程图。
【具体实施方式】
以下结合附图,对本发明面向MapReduce框架的地理归属信息查询方法的具体内容做细致描述。
如图1所示,本发明一种面向MapReduce框架的地理归属信息查询方法,设计了IP地址转换地理归属信息编码表TIP,IP地址转换地理归属信息编码表TIP采用一维数组实现,每个数组元素是一个整数G,数组下标x是通过IP地址转换得到的整数,具体如下:
1)IP地址转换数组下标的方法:将IP地址表达为a.b.c.d四个整数的形式,每一位的取值均为0至255的整数,利用IP地址网络区域划分的特点,使用a,b,c三位能够定位到城市的地理归属信息,按如下方式将IP地址转换为整数作为数组的下标x:
数组下标x=a×2563+b×2562+c×256;
IP地址转换地理归属信息编码表TIP的数组长度为224=16711680,按照该换算方法,每个IP地址通过转换都在该数组中对应一个整数,不会发生数组下标越界;
2)每个数组元素的整数各数位的含义:每个数组元素整数均为32位(bit位)整数,其中各个数位的含义如图1所示,其中,用高8位的编码可以唯一的标识一个国家,用高16位的编码可以唯一的标识一个省/区,用高25位的编码可以唯一的标识一个城市,用高8位与低7位结合的15位的编码可以唯一标识一个运营商。
如图2所示,本发明设计了地理归属信息编码详情表,具体包括4个表,分别是国家编码详情表TCODE_COUNTRY、省/区编码详情表TCODE_REGION、城市编码详情表TCODE_CITY以及运营商编码详情表TCODE_ISP,其结构如下:
1)国家编码详情表TCODE_COUNTRY是一个一维数组,数组下标是国家编码的十进制整数数值,数组元素是每个编码对应的国家名称详情;
2)省/区编码详情表TCODE_REGION是一个二维数组,数组一维下标是国家编码的十进制整数数值,数组二维下标是省/区编码的十进制整数数值,数组元素是两个编码对应的省/区名称详情;
3)城市编码详情表TCODE_CITY是一个三维数组,数组一维下标是国家编码的十进制整数数值,数组二维下标是省/区编码的十进制整数数值,数组三维下标是城市编码的十进制整数数值,数组元素是三个编码对应的城市名称详情;
4)运营商编码详情表TCODE_ISP是一个二维数组,数组一维下标是国家编码的十进制整数数值,数组二维下标是运营商编码的十进制整数数值,数组元素是两个编码对应的运营商名称详情。
如图3所示,利用图1中设计的IP地址转换地理归属信息编码表TIP和图2中设计的4个地理归属信息编码详情表,查询IP地址的对应地理归属信息编码或者详情,具体过程如下:
1)计算IP地址对应的整数值x,按照前文设计的转换方法,对IP地址a.b.c.d进行换算,具体方法如下:
Step1对a执行操作左移24位;
Step2对b执行操作左移16位;
Step3对c执行操作左移8位;
Step4对a和b执行按位或操作,将结果保存在x中;
Step5对x和c执行按位或操作,将结果保存在x中;
x即为IP地址对应的整数值,整个换算过程使用3次移位计算和2次按位或计算即可完成;
2)以该整数x为下标,在IP地址转换地理归属信息编码表TIP中进行寻址操作,得到IP地址转换地理归属信息编码表TIP中对应的数组元素,该元素即为IP地址对应的地理归属信息的编码G,如果不需要将编码G逐个分解到国家、省/区、城市和运营商的形式,则在此返回G即可完成查询过程,如果需要分解查询结果G,则进行下一步;
3)对该整数编码G分解,得到具体的地理归属信息编码组C,C是一个数组,共有4个元素,分别是国家编码CCOUNTRY,省/区编码CREGION,城市编码CCITY,运营商编码CISP,具体的操作参数按照下表进行:
名称 操作参数的二进制形式 十进制形式
国家 11111111 00000000 00000000 00000000 4278190080
省/区 00000000 11111111 00000000 00000000 16711680
城市 00000000 00000000 11111111 10000000 65408
运营商 00000000 00000000 00000000 01111111 127
Step1对G和4278190080执行按位与操作,再将结果右移24位,保存在CCOUNTRY中;
Step2对G和16711680执行按位与操作,再将结果右移16位,保存在CREGION中;
Step3对G和65408执行按位与操作,再将结果右移7位,保存在CCITY中;
Step4对G和127执行按位与操作,将结果保存在CISP中;
上述4步执行完成后,C即是IP地址对应的地理归属信息编码组,整个过程使用4次按位与操作和3次移位操作完成,如果不需要将编码转换为文字详情,则在此返回C即可完成查询过程,如果需要查询文字详情,则进行下一步将编码转换为详情;
4)以地理归属信息编码C中的每个数组元素为下标,在地理归属信息编码详情表中查询地理归属信息的详情D,D是一个数组,共有4个元素,分别是国家编码详情DCOUNTRY,省/区编码详情DREGION,城市编码详情DCITY,运营商编码详情DISP,具体过程如下:
Step1以国家编码CCOUNTRY作为数组下标,在国家编码详情表TCODE_COUNTRY中执行寻址操作,将得到的数组元素保存在DCOUNTRY中;
Step2以国家编码CCOUNTRY作为数组一维下标,以省/区编码CREGION作为数组二维下标,在省/区编码详情表TCODE_REGION中执行寻址操作,将得到的数组元素保存在DREGION中;
Step3以国家编码CCOUNTRY作为数组一维下标,以省/区编码CREGION作为数组二维下标,以城市编码CCITY为三维下标,在城市编码详情表TCODE_CITY中执行寻址操作,将得到的数组元素保存在DCITY中;
Step4以国家编码CCOUNTRY作为数组一维下标,以运营商编码CISP作为数组二维下标,在运营商编码详情表TCODE_ISP中执行寻址操作,将得到的数组元素保存在DISP中;
D即是IP地址对应的地理归属信息详情数组,整个过程使用4次寻址操作完成,将D返回,整个查询过程结束。
如图4所示,利用图3中设计的查询算法,构建基于Web面向分布式调用环境的查询服务,具体方法如下:
1)启动基于HTTP协议传输数据的Web服务器,监听指定服务端口,等待查询IP地址的地理归属信息的请求;
2)接受来自客户端的IP查询请求,请求方需要提供两个参数,第一个是待查询的IP地址字符串,第二个是查询结果的返回形式;
查询结果的返回形式包括:
i、地理信息编码形式,即一个整数;
ii、地理信息编码组形式,即一个包含4个整数的数组;
iii、地理信息编码详情形式,即一个包含4个字符串的数组;
3)调用步骤(3)中的查询算法来处理请求的IP地址,并对查询结果按照定的返回形式进行处理;
4)向请求方返回查询指定形式结果。

Claims (6)

1.一种面向MapReduce框架的地理归属信息查询方法,其特征在于,包括下述步骤:
(1)设计IP地址转换地理归属信息编码表TIP,IP地址转换地理归属信息编码表TIP采用一维数组实现,每个数组元素是一个整数G,数组下标x是通过IP地址转换得到的整数;
(2)设计地理归属信息编码详情表,具体包括4个表,分别是国家编码详情表TCODE_COUNTRY、省/区编码详情表TCODE_REGION、城市编码详情表TCODE_CITY以及运营商编码详情表TCODE_ISP
(3)利用步骤(1)中设计的IP地址转换地理归属信息编码表TIP和步骤(2)中设计的4个地理归属信息编码详情表,设计查询IP地址的对应地理归属信息编码或者详情的算法;
(4)利用步骤(3)中设计的查询算法,构建基于Web面向MapReduce框架调用环境的查询服务。
2.如权利要求1所述的面向MapReduce框架的地理归属信息查询方法,其特征在于,IP地址转换地理归属信息编码表TIP中,IP地址转换数组下标x的方法是:将IP地址表达为a.b.c.d四个整数的形式,每一位的取值均为0至255的整数,利用IP地址网络区域划分的特点,使用a,b,c三位能够定位到城市的地理归属信息,按如下方式将IP地址转换为整数作为数组的下标x:
数组下标x=a×2563+b×2562+c×256;
IP地址转换地理归属信息编码表TIP的数组长度为224=16711680,按照该换算方法,每个IP地址通过转换都在该数组中对应一个整数,不会发生数组下标越界。
3.如权利要求1所述的面向MapReduce框架的地理归属信息查询方法,其特征在于,IP地址转换地理归属信息编码表TIP中,每个数组元素G均为32位的整数,该整数G的各个数位含义如下:
数位长度 8位 8位 9位 7位 数位含义 国家 省/区 城市 运营商 编码空间 255(1~28) 255(1~28) 511(1~29) 127(1~27)
其中,用高8位的编码能够唯一的标识一个国家,用高16位的编码能够唯一的标识一个省/区,用高25位的编码能够唯一的标识一个城市,用高8位与低7位结合的15位的编码能够唯一标识一个运营商。
4.如权利要求1所述的面向MapReduce框架的地理归属信息查询方法,其特征在于,地理归属信息编码详情表的结构如下::
1)国家编码详情表TCODE_COUNTRY是一个一维数组,数组下标是国家编码的十进制整数数值,数组元素是每个编码对应的国家名称详情;
2)省/区编码详情表TCODE_REGION是一个二维数组,数组一维下标是国家编码的十进制整数数值,数组二维下标是省/区编码的十进制整数数值,数组元素是两个编码对应的省/区名称详情;
3)城市编码详情表TCODE_CITY是一个三维数组,数组一维下标是国家编码的十进制整数数值,数组二维下标是省/区编码的十进制整数数值,数组三维下标是城市编码的十进制整数数值,数组元素是三个编码对应的城市名称详情;
4)运营商编码详情表TCODE_ISP是一个二维数组,数组一维下标是国家编码的十进制整数数值,数组二维下标是运营商编码的十进制整数数值,数组元素是两个编码对应的运营商名称详情。
5.如权利要求1所述的面向MapReduce框架的地理归属信息查询方法,其特征在于,查询IP地址的对应地理归属信息编码或者详情的算法,包括以下步骤:
1)计算IP地址对应的整数值x,按照步骤(1)中设计的转换公式,对IP地址a.b.c.d进行换算,具体方法如下:
Step1对a执行操作左移24位;
Step2对b执行操作左移16位;
Step3对c执行操作左移8位;
Step4对a和b执行按位或操作,将结果保存在x中;
Step5对x和c执行按位或操作,将结果保存在x中;
上述5步执行完成后,x为IP地址对应的整数值,整个换算过程使用3次移位计算和2次按位或计算即可完成;
2)以该整数x为下标,在IP地址转换地理归属信息编码表TIP中进行寻址操作,得到IP地址转换地理归属信息编码表TIP中对应的数组元素,该元素即为IP地址对应的地理归属信息的编码G,如果不需要将编码G逐个分解到国家、省/区、城市和运营商的形式,则在此返回G即可完成查询过程,如果需要分解查询结果G,则进行下一步;
3)对该整数编码G分解,得到具体的地理归属信息编码组C,C是一个数组,共有4个元素,分别是国家编码CCOUNTRY,省/区编码CREGION,城市编码CCITY,运营商编码CISP,具体的操作参数按照下表进行:
分解目标 操作参数的二进制形式 十进制形式 国家 11111111 00000000 00000000 00000000 4278190080 省/区 00000000 11111111 00000000 00000000 16711680 城市 00000000 00000000 11111111 10000000 65408 运营商 00000000 00000000 00000000 01111111 127
Step1对G和4278190080执行按位与操作,再将结果右移24位,保存在CCOUNTRY中;
Step2对G和16711680执行按位与操作,再将结果右移16位,保存在CREGION中;
Step3对G和65408执行按位与操作,再将结果右移7位,保存在CCITY中;
Step4对G和127执行按位与操作,将结果保存在CISP中;
上述4步执行完成后,C即是IP地址对应的地理归属信息编码组,整个过程使用4次按位与操作和3次移位操作完成,如果不需要将编码转换为文字详情,则在此返回C即可完成查询过程,如果需要查询文字详情,则进行下一步将编码转换为详情;
4)将地理归属信息编码组C中的每个数值作为下标,在地理归属信息编码详情表中查询地理归属信息的详情组D,D是一个数组,共有4个元素,分别是国家编码详情DCOUNTRY,省/区编码详情DREGION,城市编码详情DCITY,运营商编码详情DISP,具体过程如下:
Step1以国家编码CCOUNTRY作为数组下标,在国家编码详情表TCODE_COUNTRY中执行寻址操作,将得到的数组元素保存在DCOUNTRY中;
Step2以国家编码CCOUNTRY作为数组一维下标,以省/区编码CREGION作为数组二维下标,在省/区编码详情表TCODE_REGION中执行寻址操作,将得到的数组元素保存在DREGION中;
Step3以国家编码CCOUNTRY作为数组一维下标,以省/区编码CREGION作为数组二维下标,以城市编码CCITY为三维下标,在城市编码详情表TCODE_CITY中执行寻址操作,将得到的数组元素保存在DCITY中;
Step4以国家编码CCOUNTRY作为数组一维下标,以运营商编码CISP作为数组二维下标,在运营商编码详情表TCODE_ISP中执行寻址操作,将得到的数组元素保存在DISP中;
上述4步执行完成后,D即是IP地址对应的地理归属信息详情数组,整个过程使用4次寻址操作完成,将D返回,整个查询过程结束。
6.如权利要求1所述的面向MapReduce框架的地理归属信息查询方法,其特征在于,构建基于Web面向MapReduce框架调用环境的查询服务,包括以下步骤:
1)启动基于HTTP协议传输数据的Web服务器,监听指定服务端口,等待查询IP地址的地理归属信息的请求;
2)接受来自客户端的IP查询请求,请求方需要提供两个参数,第一个是待查询的IP地址字符串,第二个是查询结果的返回形式;
查询结果的返回形式包括:
i、地理信息编码形式,即一个整数;
ii、地理信息编码组形式,即一个包含4个整数的数组;
iii、地理信息编码详情形式,即一个包含4个字符串的数组;
3)调用步骤(3)中的查询算法来处理请求的IP地址,并对查询结果按照定的返回形式进行处理;
4)向请求方返回查询指定形式结果。
CN201410328449.0A 2014-07-10 2014-07-10 一种面向MapReduce框架的地理归属信息查询方法 Active CN104102707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410328449.0A CN104102707B (zh) 2014-07-10 2014-07-10 一种面向MapReduce框架的地理归属信息查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410328449.0A CN104102707B (zh) 2014-07-10 2014-07-10 一种面向MapReduce框架的地理归属信息查询方法

Publications (2)

Publication Number Publication Date
CN104102707A true CN104102707A (zh) 2014-10-15
CN104102707B CN104102707B (zh) 2016-03-30

Family

ID=51670861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410328449.0A Active CN104102707B (zh) 2014-07-10 2014-07-10 一种面向MapReduce框架的地理归属信息查询方法

Country Status (1)

Country Link
CN (1) CN104102707B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777163A (zh) * 2016-12-20 2017-05-31 携程旅游网络技术(上海)有限公司 基于红黑树的ip地址所属地查询方法及系统
CN107291853A (zh) * 2017-05-11 2017-10-24 四川省绵阳太古软件有限公司 一种空气质量相关信息快速确定装置及方法
CN107807976A (zh) * 2017-10-25 2018-03-16 世纪龙信息网络有限责任公司 Ip归属地查询方法和装置
CN111629081A (zh) * 2020-05-28 2020-09-04 腾讯科技(深圳)有限公司 互联网协议ip地址数据处理方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929989A (zh) * 2012-10-19 2013-02-13 南京邮电大学 一种地理空间数据在云计算平台上的负载均衡方法
CN103106253A (zh) * 2013-01-16 2013-05-15 西安交通大学 一种MapReduce计算模型中基于遗传算法的数据平衡方法
CN103177000A (zh) * 2011-12-21 2013-06-26 卓望数码技术(深圳)有限公司 Ip地址或者手机号码的分组方法和归属地的查询方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103177000A (zh) * 2011-12-21 2013-06-26 卓望数码技术(深圳)有限公司 Ip地址或者手机号码的分组方法和归属地的查询方法
CN102929989A (zh) * 2012-10-19 2013-02-13 南京邮电大学 一种地理空间数据在云计算平台上的负载均衡方法
CN103106253A (zh) * 2013-01-16 2013-05-15 西安交通大学 一种MapReduce计算模型中基于遗传算法的数据平衡方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777163A (zh) * 2016-12-20 2017-05-31 携程旅游网络技术(上海)有限公司 基于红黑树的ip地址所属地查询方法及系统
CN106777163B (zh) * 2016-12-20 2020-05-26 携程旅游网络技术(上海)有限公司 基于红黑树的ip地址所属地查询方法及系统
CN107291853A (zh) * 2017-05-11 2017-10-24 四川省绵阳太古软件有限公司 一种空气质量相关信息快速确定装置及方法
CN107807976A (zh) * 2017-10-25 2018-03-16 世纪龙信息网络有限责任公司 Ip归属地查询方法和装置
CN107807976B (zh) * 2017-10-25 2021-01-12 世纪龙信息网络有限责任公司 Ip归属地查询方法和装置
CN111629081A (zh) * 2020-05-28 2020-09-04 腾讯科技(深圳)有限公司 互联网协议ip地址数据处理方法、装置及电子设备
CN111629081B (zh) * 2020-05-28 2023-07-28 腾讯科技(深圳)有限公司 互联网协议ip地址数据处理方法、装置及电子设备

Also Published As

Publication number Publication date
CN104102707B (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
CN101355595B (zh) 定位ip地址的物理所在地的方法和装置
CN109040343B (zh) 域名解析方法、装置、计算机可读存储介质及电子设备
CN104378452B (zh) 一种用于域名解析的方法、装置及系统
US8583824B2 (en) Identifying an efficient destination server
CN106407201B (zh) 一种数据处理方法、装置及计算机可读存储介质
CN111629081B (zh) 互联网协议ip地址数据处理方法、装置及电子设备
CN104102707B (zh) 一种面向MapReduce框架的地理归属信息查询方法
CN104283723B (zh) 网络访问日志处理方法及装置
CN104572755A (zh) 一种建立数据索引的方法、数据查询方法及相关装置
WO2013097546A1 (en) Assisting query and querying
CN102546854A (zh) 一种域名和服务器建立http连接的域名解析方法
CN104486461A (zh) 域名分类方法和装置、域名识别方法和系统
CN101727502A (zh) 一种数据查询方法及装置、系统
CN107786678B (zh) 域名解析方法、装置及系统
CN102457588A (zh) 一种实现反向域名解析的方法及装置
CN103460209A (zh) 编码数据标识符的方法
CN111447292B (zh) 一种IPv6地理位置定位方法、装置、设备及存储介质
CN104537107A (zh) 一种网址存储匹配方法及装置
CN107613039B (zh) Ip地址归属地查询方法、装置、系统及存储介质
CN104504077A (zh) 网页访问数据的统计方法和装置
CN104767839A (zh) 一种ip定位方法及装置
CN102968454A (zh) 一种用于获取推广对象搜索结果的方法和设备
CN114301874B (zh) 基于IPv4地址地理位置信息的IPv6地址定位方法及电子设备
CN103220379A (zh) 一种域名反向解析方法和装置
CN111107181A (zh) Nat规则匹配方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant