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

文档序号:6619788阅读:159来源:国知局
一种面向MapReduce框架的地理归属信息查询方法
【专利摘要】本发明公开了一种面向MapReduce框架的地理归属信息查询方法,包括以下步骤:设计IP地址转换地理归属信息编码表TIP,IP地址转换地理归属信息编码表TIP采用一维数组实现,每个数组元素是一个整数G,数组下标x是通过IP地址转换得到的整数;设计地理归属信息编码详情表,具体包括国家编码详情表TCODE_COUNTRY、省/区编码详情表TCODE_REGION、城市编码详情表TCODE_CITY以及运营商编码详情表TCODE_ISP;利用IP地址转换地理归属信息编码表TIP和4个地理归属信息编码详情表,查询IP地址的对应地理归属信息编码或详情,利用位运算和寻址操作加快查询的速度;构建基于Web面向MapReduce框架的查询服务,为并发计算环境的海量数据处理提供支持。本发明具有查询过程速度快,占用存储空间少的优点。
【专利说明】-种面向MapReduce框架的地理归属信息查询方法 【【技术领域】】
[0001] 本发明涉及互联网【技术领域】,特别是涉及一种面向MapReduce框架的地理归属信 息查询方法。 【【背景技术】】
[0002] 随着互联网技术的发展,信息系统的中存储的数据日益庞大,为了充分利用 MapReduce框架分析这些数据,必须对这些数据进行预处理,其中就包括获取数据的地理归 属信息。比如在税务系统中,经常需要对各地各单位各企业提供的报税记录进行分析,通过 对原始数据的地理信息进行比对筛查,发现其中可能存在的问题。数据的地理归属信息的 获取主要依靠对数据中IP地址对应地理归属信息的查询和转换来获得,通常可以利用查 询IP地址库实现。而当需要在多个终端上对海量数据进行地理归属信息查询时,现有的查 询单机IP库方式就难以满足查询的需求。针对如何更好的为分布式的并发计算环境提供 地理归属信息查询的需求,以下专利和论文提供了不同的技术方案:
[0003] 文献1.王晓勇,邱玉辉.基于查找树的IP地址分类算法研究[J].计算机科学, Vol. 34, No.6,2007:76-77 ;
[0004] 文献2. -种基于IP地址信息获取计算机精确地理位置信息的方法 (200710070601. X);
[0005] 文献1将IP地址看作是由4个字符组成的字符序列,其中每个字符的取值范围从 0到255共256种,然后据此设计了一个深度为4的256叉Trie树,除了叶子节点以外,树 的每个节点有256个指针,分别指向256个分支,每个节点有一个存储单元,存储该节点及 前缀节点的IP地址信息。使用该方法查询时,进行4次查找即可获得IP地址的完整信息, 时间复杂度是0(4)。
[0006] 文献2将计算机终端由DHCP服务器动态分配的IP地址(IPv6)、由NAT网关/路 由器翻译的IP地址和端口号(IPv4)、由宽带接入服务器获取的计算机终端的精确地理位 置信息保存到定位信息数据库并发布为定位信息WEB服务,供网站访问;网站根据与之交 互的计算机终端的IP地址信息访问定位信息WEB服务,获取计算机终端的精确定位信息, 从而为计算机用户提供基于精确定位信息的个性化服务。
[0007] 以上文献所述方法主要存在以下问题:文献1设计的256叉Trie树的每个节点有 256个指针,每个指针都保存了节点的信息,存储空间浪费较大,且所提供的计算程序只能 使用在单机计算环境,缺少对分布式计算环境的支持。文献2所提供的方法重点在于IP地 址的地理信息的采集,只适合于针对识别用户位置进而提供个性化的服务的场景,查询过 程较为复杂,不适合为大量客户端提供海量数据的并发处理。 【
【发明内容】

[0008] 本发明的目的在于提出一种面向MapReduce框架的地理归属信息查询方法,以解 决【背景技术】的方法中不适合处理分布式计算环境、空间浪费较大的问题,为处理海量数据 的地理归属信息提供支持。
[0009] 为了达到以上目的,本发明是采取如下技术方案予以实现的:
[0010] -种面向MapReduce框架的地理归属信息查询方法,包括下述步骤:
[0011] (1)设计IP地址转换地理归属信息编码表TIP,IP地址转换地理归属信息编码表 TIP采用一维数组实现,每个数组元素是一个整数G,数组下标X是通过IP地址转换得到的 整数;
[0012] (2)设计地理归属信息编码详情表,具体包括4个表,分别是国家编码详情表 COUNTRY、 省/区编码详情表T。 0DE_REGI0N、 城市编码详情表T CODE-CITY 以及运营商编码详情表τ。 ODE-ISP ;
[0013] (3)利用步骤(1)中设计的IP地址转换地理归属信息编码表TIP和步骤(2)中设 计的4个地理归属信息编码详情表,设计查询IP地址的对应地理归属信息编码或者详情的 算法;
[0014] (4)利用步骤(3)中设计的查询算法,构建基于Web面向MapReduce框架调用环境 的查询服务。
[0015] 本发明进一步改进在于,IP地址转换地理归属信息编码表TIP中,IP地址转换数组 下标X的方法是:将IP地址表达为a. b. c. d四个整数的形式,每一位的取值均为0至255 的整数,利用IP地址网络区域划分的特点,使用a,b,c三位能够定位到城市的地理归属信 息,按如下方式将IP地址转换为整数作为数组的下标X :
[0016] 数组下标 X = a X 2563+b X 2562+c X 256 ;
[0017] IP地址转换地理归属信息编码表TIP的数组长度为224 = 16711680,按照该换算方 法,每个IP地址通过转换都在该数组中对应一个整数,不会发生数组下标越界。
[0018] 本发明进一步改进在于,IP地址转换地理归属信息编码表TIP中,每个数组元素 G 均为32位的整数,该整数G的各个数位含义如下:
[0019]
【权利要求】
1. 一种面向MapReduce框架的地理归属信息查询方法,其特征在于,包括下述步骤: (1) 设计IP地址转换地理归属信息编码表TIP,IP地址转换地理归属信息编码表TIP采 用一维数组实现,每个数组元素是一个整数G,数组下标X是通过IP地址转换得到的整数; (2) 设计地理归属信息编码详情表,具体包括4个表,分别是国家编码详情表 COUNTRY、 省/区编码详情表T。 0DE_REGI0N、 城市编码详情表T CODE-CITY 以及运营商编码详情表τ。 ODE-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 = aX2563+bX2562+cX256 ; IP地址转换地理归属信息编码表TIP的数组长度为224 = 16711680,按照该换算方法, 每个IP地址通过转换都在该数组中对应一个整数,不会发生数组下标越界。
3. 如权利要求1所述的面向MapReduce框架的地理归属信息查询方法,其特征在于,IP 地址转换地理归属信息编码表TIP中,每个数组元素 G均为32位的整数,该整数G的各个数 位含义如下:
其中,用高8位的编码能够唯一的标识一个国家,用高16位的编码能够唯一的标识一 个省/区,用高25位的编码能够唯一的标识一个城市,用高8位与低7位结合的15位的编 码能够唯一标识一个运营商。
4. 如权利要求1所述的面向MapReduce框架的地理归属信息查询方法,其特征在于,地 理归属信息编码详情表的结构如下:: 1) 国家编码详情表Τω?)Ε αΜΤΚΥ是一个一维数组,数组下标是国家编码的十进制整数数 值,数组元素是每个编码对应的国家名称详情; 2) 省/区编码详情表是一个二维数组,数组一维下标是国家编码的十进制整 数数值,数组二维下标是省/区编码的十进制整数数值,数组元素是两个编码对应的省/区 名称详情; 3) 城市编码详情表Τ__ατγ是一个三维数组,数组一维下标是国家编码的十进制整数 数值,数组二维下标是省/区编码的十进制整数数值,数组三维下标是城市编码的十进制 整数数值,数组元素是三个编码对应的城市名称详情; 4) 运营商编码详情表ΤωΒΕ ΚΡ是一个二维数组,数组一维下标是国家编码的十进制整数 数值,数组二维下标是运营商编码的十进制整数数值,数组元素是两个编码对应的运营商 名称详情。
5.如权利要求1所述的面向MapReduce框架的地理归属信息查询方法,其特征在于,查 询IP地址的对应地理归属信息编码或者详情的算法,包括以下步骤: 1) 计算IP地址对应的整数值X,按照步骤(1)中设计的转换公式,对IP地址a. b. c. d 进行换算,具体方法如下: St印1对a执行操作左移24位; St印2对b执行操作左移16位; St印3对c执行操作左移8位; Step4对a和b执行按位或操作,将结果保存在X中; Step5对X和c执行按位或操作,将结果保存在X中; 上述5步执行完成后,X为IP地址对应的整数值,整个换算过程使用3次移位计算和2 次按位或计算即可完成; 2) 以该整数X为下标,在IP地址转换地理归属信息编码表TIP中进行寻址操作,得到 IP地址转换地理归属信息编码表ΤΙΡ中对应的数组元素,该元素即为IP地址对应的地理归 属信息的编码G,如果不需要将编码G逐个分解到国家、省/区、城市和运营商的形式,则在 此返回G即可完成查询过程,如果需要分解查询结果G,则进行下一步; 3) 对该整数编码G分解,得到具体的地理归属信息编码组C,C是一个数组,共有4个 元素,分别是国家编码省/区编码CKEeMN,城市编码CaTY,运营商编码CISP,具体的操 作参数按照下表进行:_
St印1对G和4278190080执行按位与操作,再将结果右移24位,保存在中; St印2对G和16711680执行按位与操作,再将结果右移16位,保存在CKEHW中; St印3对G和65408执行按位与操作,再将结果右移7位,保存在CaTY中; Step4对G和127执行按位与操作,将结果保存在CISP中; 上述4步执行完成后,C即是IP地址对应的地理归属信息编码组,整个过程使用4次 按位与操作和3次移位操作完成,如果不需要将编码转换为文字详情,则在此返回C即可完 成查询过程,如果需要查询文字详情,则进行下一步将编码转换为详情; 4) 将地理归属信息编码组C中的每个数值作为下标,在地理归属信息编码详情表中查 询地理归属信息的详情组D,D是一个数组,共有4个元素,分别是国家编码详情? ωυΝΤΚΥ,省 /区编码详情DKEeOT,城市编码详情DaTY,运营商编码详情D ISP,具体过程如下: Stepl以国家编码CraNm作为数组下标,在国家编码详情表TOTE a)UNm中执行寻址操作, 将得到的数组元素保存在中; Step2以国家编码C_TKY作为数组一维下标,以省/区编码CKE_作为数组二维下标, 在省/区编码详情表中执行寻址操作,将得到的数组元素保存在DKEeOT中; Step3以国家编码C_TKY作为数组一维下标,以省/区编码CKE_作为数组二维下标, 以城市编码CaTY为三维下标,在城市编码详情表TOTE_aTY中执行寻址操作,将得到的数组元 素保存在D aTY中; Step4以国家编码C_NTKY作为数组一维下标,以运营商编码CISP作为数组二维下标,在 运营商编码详情表^中执行寻址操作,将得到的数组元素保存在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) 向请求方返回查询指定形式结果。
【文档编号】G06F17/30GK104102707SQ201410328449
【公开日】2014年10月15日 申请日期:2014年7月10日 优先权日:2014年7月10日
【发明者】张未展, 贺欢, 薛妮, 郑庆华, 董博 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1