高效处理IP地址区域定位的方法和系统与流程

文档序号:11286476阅读:495来源:国知局
高效处理IP地址区域定位的方法和系统与流程

本发明属于计算机系统领域,尤其涉及一种高效处理ip地址区域定位的方法和系统。



背景技术:

随着internet技术的飞速发展,运行于internet上的各种应用和服务也随之大量涌现,大数据的时代已经来临。在生活中,通常需要对ip地址进行提取区域地址,但是随着数据海量增加,直接利用本地计算对ip地址进行提取区域地址,会消耗大量资源和内存,并且效率以及ip地址定位覆盖率低。

为了解决上述技术问题,人们进行了长期的探索,例如中国专利公开了一种ip地址定位方法和cdn调度方法以及装置[申请号:cn201410401480.2],该ip地址定位方法包括获取与目标ip地址关联的ip地址,所述关联的ip地址是至少一个,所述关联的ip地址的地理位置信息是已知的;根据预先设置的所述关联的ip地址对应的参数,以及所述关联的ip地址的地理位置信息,计算所述目标ip地址对应已知地理位置信息的置信度数值;根据所述置信度数值,确定所述目标ip地址的地理位置信息。

再如,中国专利公开了一种主动式ip地址分配方法及系统[申请号:cn200810068746.0],特点是,服务器内存储用户属性的数据,每个用户属性对应分配一个固定的ip地址,客户端通过pppoe网络连接,服务器分配临时ip地址,与客户端建立连接;然后服务器将客户端的用户属性进行认证,找出与用户属性所对应的ip地址,将该ip地址赋予客户端设备,并且客户端断开与服务器的临时连接。本发明将用户属性与ip地址进行强制对应和绑定,由服务器对ip地址进行统一的分配和主动式管理,可以解决用户随意更换ip及mac、pppoe服务的随机分配、用户身份确认及源地址认证等问题。可以实现ip地址定位、管理和控制,方便进行各种延伸管理和用户跟踪及身份强制认证。

上述方案虽然解决了现有技术的部分问题,但是仍然存在不足,例如,消耗资源过多,提取效率仍然不够高等。



技术实现要素:

本发明的目的是针对上述问题,提供一种能够通过udf功能定位ip地址的高效处理ip地址区域定位的方法;

本发明的另一目的是针对上述问题,提供一种基于高效处理ip地址区域定位的方法的高效处理ip地址区域定位的系统;

为达到上述目的,本发明采用了下列技术方案:

本发明的高效处理ip地址区域定位的方法包括如下步骤:

s1:通过日志文件收集单元收集包括ip地址的日志文件数据并存入文件池;

s2:通过部署在hadoop中的etl对步骤s1中收集到的数据进行包括过滤动作的预处理,并将预处理好的数据收集到hadoop集群中并再次通过etl对数据进行压缩处理;

s3:通过hive的udf功能对步骤s2中提取到的数据进行进一步提取并进行分析处理以获取ip地址定位信息。

通过上述技术方案,将ip地址定位功能通过hive的udf功能开发集成,以完成对ip地址区域定位的高效处理。

在上述的高效处理ip地址区域定位的方法中,在步骤s1中,所述的日志收集单元为用于对分布式的海量日志文件进行采集、聚合和传输的flume系统。

在上述的高效处理ip地址区域定位的方法中,在步骤s3之后,还包括将数据结构化处理的步骤:

通过hive建立数据文件的表结构,并通过mysql将hive和hdfs进行建表关联以将数据结构化处理。

在上述的高效处理ip地址区域定位的方法中,在步骤s2中,所述的etl的程序包括用于对数据进行清洗处理、合并处理、上传处理、压缩处理和分布式提取处理的一系列程序,且所述的对数据进行压缩处理通过调用hive的orc格式中的高压缩算法完成。

在上述的高效处理ip地址区域定位的方法中,在步骤s3中,获取ip地址定位信息的方法包括:

在本地连接hadoop集群,并通过基于udf完成的基于hive的ip地址区域定位程序在ip-区域库中寻找与当前ip地址相匹配的结果,若匹配成功,返回当前ip地址所对应的区域信息。

在上述的高效处理ip地址区域定位的方法中,所述hadoop的分布式系统通过以下方法构建:

搭建部署有至少一台主机和至少一台从机的hadoop2.7.1的集群环境,对hive和hdfs的环境与配置进行配置,且将hivemetastore、mysql和hiveserver2组建在一台主机上,并对namenodeha和resourcemanagerha进行设置以构建分布式系统。

在上述的高效处理ip地址区域定位的方法中,在分布式系统的各节点搭建有tomcat分布式集群,并通过nginx对tomcat所在机器的流量进行调配。

在上述的高效处理ip地址区域定位的方法中,在步骤s3之后,还包括以下步骤:

在对提取到的ip地址区域定位结果进行输出后对结果进行进一步分析和/或生成报表。

在上述的高效处理ip地址区域定位的方法中,输出的结果通过可视化配置进行可视化显示,所述的可视化配置包括数据采集可视化配置、数据接入可视化配置、数据计算可视化配置和数据输出可视化配置中的任意一种或多种组合的配置。

一种基于高效处理ip地址区域定位的方法的高效处理ip地址区域定位的系统。

本发明高效处理ip地址区域定位的方法和系统相较于现有技术具有以下优点:1、利用hive调用hadoop进行分布式计算来完成ip地址定位,效率高且消耗资源低;2、对各台机器进行流量调配,实现负载均衡;3、将数据进行结构化处理,以便于ip地址区域的提取。

附图说明

图1是本发明实施例一的技术架构图;

图2是本发明实施例一的数据流程图。

具体实施方式

本发明可用于高效处理ip地址区域定位,克服了现有技术直接利用本地计算对ip地址进行提取区域地址,导致消耗大量资源和内存,并且效率低下的问题。

以下是本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。

实施例一

如图1和图2所示,高效处理ip地址区域定位的方法包括如下步骤:

s1:通过日志文件收集单元收集包括ip地址(internetprotocoladdress,互联网协议地址)的日志文件数据并存入文件池;

其中日志收集单元为能够对分布式的海量日志文件进行采集、聚合和传输的flume系统。

flume系统是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。

ip地址:被用来给internet(互联网)上的电脑一个编号,并且服务提供商为每个用户动态分配的ip地址都是唯一的,并且与宽带帐号对应,因此根据ip区域库可以提取用户实际地址。

s2:通过部署在hadoop(分布式系统基础架构)中的etl(extracttransformandload,提取、转换和加载)对步骤s1中收集到的数据进行包括过滤动作的预处理,并将预处理好的数据收集到hadoop集群中并再次通过etl对数据进行压缩处理;

s3:通过hive(数据仓库架构)的udf(用户自定义函数)功能对步骤s2中提取到的数据进行进一步提取并进行分析处理以获取ip地址定位信息。

其中,结果分析格式如下:

8cab8e8c2a30;101.227.10.59;上海市;100

8cab8e8cad18;101.226.129.182;杭州市;67

8cab8e8cfe90;101.201.179.38;北京市670

……

进一步地,hadoop的分布式系统通过以下方法构建:

搭建部署有至少一台主机和至少一台从机的hadoop2.7.1的集群环境,对hive和hdfs(hadoopdistributedfilesystem,分布式文件系统)的环境与配置进行配置,且将hivemetastore(数据元存储工具仓)、mysql(关系型数据库)和hiveserver2组建在一台主机上,并对namenodeha(namenodehighavailability,高可用性数据分发服务器)和resourcemanagerha(resourcemanagerhighavailability,高可用资源配置管理器)进行设置,设置参数以使分布式系统满足高可用性为准,且优选地,本实施例中部署4台主机和7台从机。

hivemetastore:数据元存储工具仓,用于存储表的元数据信息;

mysql:一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内以增加速度并提高灵活性;

hiveserver2:hive服务器。

其中,本实施例的方法中还包括将数据结构化处理的步骤,具体过程如下:

通过hive建立数据文件的表结构,并通过mysql将hive和hdfs进行建表关联以将数据结构化处理。

为了将数据结构化处理,需要通过hive建立数据文件的表结构,所以,通过实现hive和hdfs建表关联以完成数据结构化处理,其中hive和hdfs建表关联通过mysql管理完成,将数据保存在不同的表中,以增加速度并提高灵活性。

etl的程序部署于hadoop集群中,且etl的程序包括能够对数据进行清洗处理、合并处理、上传处理、压缩处理和分布式提取处理的一系列程序,且所述的对数据进行压缩处理通过调用hive的orc(optimizedrowcolumnar,最佳化的柱状排列结构)格式中的高压缩算法完成。

hadoop:分布式系统基础构架,提供高吞吐量来访问应用程序的数据,适合有着超大数据集的应用程序;

其最核心的设计:hdfs和mapreduce(映射规约),hdfs为海量的数据提供存储,mapreduce为海量的数据提供计算。

hive:是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql(structuredquerylanguage,结构化查询语言)查询功能,可以将sql语句转换为mapreduce任务进行运行。

hive:是apache(apachehttpserver的代称,一种web服务器软件)开源的技术,数据仓库软件提供对存储在分布式中的大型数据集的查询和管理,它本身是建立在apachehadoop之上,具体地说,hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql(structuredquerylanguage,结构化查询语言)语句转换为mapreduce任务进行运行。

etl处理:用于描述将数据从源端经过抽取、转换、加载至目的端的过程。

具体地,在步骤s3中,通过以下方法对数据进行分析处理以获取ip地址定位信息:

s3-1:为了进一步完成数据的提取,开发相对应的hive的对ip地址具有正常提取功能的udf函数编程接口使hive具有udf功能,udf函数具有能够正常提取ip地址的功能即可。

也就是说,hive增加udf定位功能的方法:

主要根据hive提供的udf函数编程接口,安装接口开发定位功能,此定位是指根据ip地址在ip-区域库里去匹配,如果匹配成功,返回该ip地址所对应的区域信息,这样就能完成定位功能。

s3-2:在本地连接hadoop集群,并在通过udf完成基于hive的ip地址区域定位程序后,通过ip地址区域定位程序在ip-区域库中寻找与当前ip地址相匹配的结果,若匹配成功,返回当前ip地址所对应的区域信息。

为了添加负载均衡,在分布式系统的各节点搭建有tomcat(服务器)分布式集群,并利用nginx(反向代理服务器)对tomcat所在机器的流量进行调配,nginx是一种高性能的http和反向代理服务器,通过负载均衡的设计使集群中各台机器,包括主机和从机的流量实现均衡负载,提高各台机器的利用率,同时由于均衡了负载,提高了各台机器的处理速度。

进一步地,在步骤s3之后,还包括以下步骤:

在对提取到的ip地址区域定位结果进行输出后对结果进行进一步分析和/或生成报表。

不同的路由器地址,对应不同的ip地址,通过关联到不同的家庭路由器mac,并计算出在不同路由器下的不同终端的出现次数,这样通过高效的分布式计算,能从海量的用户数据里得到用户真正的终端访问情况,并以此精准到用户的区域访问情况,为用户带来更优质的服务。

进一步地,输出的结果通过可视化配置进行可视化显示,所述的可视化配置包括数据采集可视化配置、数据接入可视化配置、数据计算可视化配置和数据输出可视化配置中的任意一种或多种组合的配置,且对结果显示保持具有可定制化可视化的功能。

下面结合附图1,对本实施例进行具体说明:

日志文件通过现有架构,例如flume系统架构、分布式系统基础构架等进行采集处理后存入本地大文件池,然后通过使用python语言设计的etl程序对文件进行积累、清洗、合并等预处理操作后上传至hadoop集群的hdfs,再次通过hive进行分布式提取得到有效的ip地址,同时,hive对tez计算框架发起计算请求,通过调用hive的orc格式例的高压算法完成etl中的数据压缩,之后通过hive的udf自适应功能将初步提取到的ip地址在ip-区域库进行匹配,如果匹配成功,就返回ip地址所对应的区域信息,并通过mysql对提取结果结构化处理后进行可视化的结果显示,达到利用hive调用hadoop进行分布式计算来完成ip地址定位,效率高且消耗资源低。

其中,tez是apache最新的支持dag作业的开源计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升dag作业的性能,它允许开发者为最终用户构建性能更快、扩展性更好的应用程序,在本实施例中用于扩展udf函数以使hive具有udf的自适应开发供,更精准的提取ip地址。hadoop传统上是一个大量数据批处理平台,tez用于帮助hadoop处理一些需要实时查询处理功能等用例场景。

tez项目的目标是支持高度定制化,这样它就能够满足各种用例的需要,让人们不必借助其他的外部方式就能完成自己的工作,如果hive和pig这样的项目使用tez作为其数据处理的骨干,那么将会显著提升它们的响应时间。

下面结合附图2,对本实施例进行具体说明:

分布式的海量的日志的小文件通过flume系统进行采集、聚合,并将其传输到大文件池,然后使用python语言设计的etl程序对数据进行清洗和合并以分筛处有效的ip地址和无效的ip地址,并对无效的ip地址进行过滤检查处理,对不合格的ip地址进行删除处理,之后对新的ip地址区域数据进行合并后将初步提取的数据上传至hdfs进行保存,然后通过etl对数据压缩编码处理后采用udf的自适应开发功能对数据进行进一步定位提取。

本实施例通过hadoop分布式架构,将ip地址定位功能通过hive的udf功能开发集成,完成对ip地址区域定位的高效处理,通过在hive中增加udf定位功能达到高效目的:

1、对hive数据进行高压缩处理,提高处理效率;

2、对无效的ip地址进行过滤,以避免在无效的ip地址上消耗过多的资源;

3、本实施例的数据收集、etl处理、数据高压缩、数据区域识别等一系列步骤都在hadoop集群中完成,提高处理效率。

实施例二

本实施例提出了一种基于高效处理ip地址区域定位的方法的高效处理ip地址区域定位的系统。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

尽管本文较多地使用了hive、udf功能、hadoop集群、mysql等等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1