CN104301182A - 一种慢速网站访问异常信息的查询方法及装置 - Google Patents
一种慢速网站访问异常信息的查询方法及装置 Download PDFInfo
- Publication number
- CN104301182A CN104301182A CN201410566915.9A CN201410566915A CN104301182A CN 104301182 A CN104301182 A CN 104301182A CN 201410566915 A CN201410566915 A CN 201410566915A CN 104301182 A CN104301182 A CN 104301182A
- Authority
- CN
- China
- Prior art keywords
- address
- url
- statistics
- record
- access
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于IP和URL的实时数据采集的慢速网站访问异常信息的查询方法及装置,其包括:获取用户反馈的记录中包含的目的地址,利用数据源统计目的地址的访问情况;其中,所述目的地址类型包括目的IP和URL地址,且根据目的地址类型的不同选择不同的数据源进行统计;如果是目的IP,则采用二分法查找并统计相应数据源中目的IP的访问情况;如果是URL地址,则在相应数据源中查找并统计URL地址的访问情况;通过链表排序得到目的IP的访问次数最高的预定数目的记录;其中,所述访问次数从统计得到的访问情况中获得;显示排序得到的结果。本发明通过对海量数据统计,实时获取用户反馈的网站域名或URL的访问情况。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种基于IP和URL实时采集数据的慢速网站访问异常信息的查询方法及***。本发明通过hadoop集群对海量数据统计,结合慢速网站中用户反馈信息,实时获取用户反馈的网站域名或URL的访问情况。
背景技术
近年来,随着网络技术的普及和发展,中国网民的数量急剧增长。中国互联网络信息中心(CNNIC)日前在京发布《第33次中国互联网络发展状况统计报告》。报告显示,截至2013年12月,中国网民规模达6.18亿,全年共计新增网民5358万人。互联网普及率为45.8%,较2012年底提升3.7个百分点。面对日益增长的网名数量,作为网络服务商,需要了解网络的运行状况,同时为用户提供更快更优的网络环境。
慢速网站为用户提供了反馈某一个网站或者目的IP的访问情况。用户可以将某个域名或URL访问正常的信息根据***的要求提供出来,以便其他有问题的访问者根据相关的反馈信息选择合适的DNS。针对用户反馈的无响应或者响应速度不稳定,时好时坏的网站域名URL或者目的IP,通过hadoop或者URL库记录查询出其他用户访问的情况,通过获取这些用户的DNS,为其他用户提供较优的DNS,及时迅速的解决用户提出的问题。
发明内容
有鉴于此,本发明提出了一种基于IP和URL的通过hadoop或者URL库记录实时数据采集的慢速网站访问异常信息查询方法。
根据本发明一方面,其提供了一种基于IP和URL的实时数据采集的慢速网站访问异常信息的查询方法,其包括:
步骤101:获取用户反馈的记录中包含的目的地址,利用数据源统计目的地址的访问情况;
其中,所述目的地址类型包括目的IP和URL地址,且根据目的地址类型的不同选择不同的数据源进行统计;如果是目的IP,则采用二分法查找并统计相应数据源中目的IP的访问情况;如果是URL地址,则在相应数据源中查找并统计URL地址的访问情况;
步骤102:通过链表排序得到目的IP的访问次数最高的预定数目的记录;其中,所述访问次数从统计得到的访问情况中获得;
步骤103:显示排序得到的结果。
其中,所述目的地址的类型为目的IP时,对应的数据源为hadoop集群中的数据;所述目的地址的类型为URL地址时,对应的数据源为所述URL库记录中的数据。
其中,利用二分法查找并统计相应数据源中目的IP的访问情况具体包括:
利用二分法判断当前记录中所述目的IP是否在本次统计范围内;
如果在本次统计范围内,则使用二分法判断该记录的源IP是否属于网内用户;
如果是网内用户,则标记该记录中源IP所属单位;
源IP地址段或源IP所属单位为单元,统计所述目的IP地址的访问情况。
其中,所述本次统计范围为预先定义的网内IP地址列表。
其中,利用所述二分法查找时,将IP地址转换为long型。
其中,所述二分法具体过程为:
将待查询的IP地址列表中的IP地址和待查询IP地址转换成long型,并根据转换后的long型值的大小对待查询的IP地址列表进行升序排序,作为查训区间;
比较待查询IP地址对应的long型值与查询区间中间点位置的long型值;
若待查询IP地址对应的long型值等于所述中间点位置的long型值,则返回中间点位置的IP地址作为查询结果;
若待查询IP地址对应的long型值小于所述中间点位置的long型值,则将所述查询区间中起始位置至中间点前一位置作为新的查询区间;若待查询IP地址对应的long型值大于所述中间点位置的long型值,则将中间点后一位置至查询区间的结束位置作为新的查询区间;
在新的查询区间中重复执行上述步骤,直到范围查询结果未知。
根据本发明另一方面,其提供了一种基于IP和URL的实时数据采集的慢速网站访问异常信息的查询装置,其包括:
统计模块:获取用户反馈的记录中包含的目的地址,利用数据源统计目的地址的访问情况;
其中,所述目的地址类型包括目的IP和URL地址,且根据目的地址类型的不同选择不同的数据源进行统计;如果是目的IP,则采用二分法查找并统计相应数据源中目的IP的访问情况;如果是URL地址,则在相应数据源中查找并统计URL地址的访问情况;
排序模块:通过链表排序得到目的IP的访问次数最高的预定数目的记录;其中,所述访问次数从统计得到的访问情况中获得;
显示模块:显示排序得到的结果。
其中,所述目的地址的类型为目的IP时,对应的数据源为hadoop集群中的数据;所述目的地址的类型为URL地址时,对应的数据源为所述URL库记录中的数据。
通过上述方案,首先将反馈的信息按照是否含有目的IP分成两类,如果有目的IP,使用现有的hadoop集群上的数据作为数据源统计目的IP的访问情况,如果没有目的IP,通过URL库记录获取目的网站域名或URL的访问记录信息,将这些访问记录信息作为数据源,然后通过hadoop平台统计该目的网站域名或者URL访问情况。根据不同的情况,采用不同的数据源及不同的查询方式,实时获取用户反馈网站域名或者URL的访问情况。
附图说明
图1是本发明基于IP和URL的实时数据采集的慢速网站访问异常信息的查询方法流程图;
图2是本发明中二分查找法示例的执行流程图;
图3是本发明中基于目的IP的查询流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
图1示出了本发明一种基于IP和URL的实时数据采集的慢速网站访问异常信息的查询方法。本发明提出的上述方法针对不同的情况,使用不同的数据源来统计:通过Flume(Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的***,Flume支持在日志***中定制各类数据发送方,用于收集数据)数据采集***,将采集的数据上传到hadoop集群存储,根据数据格式的特点结合慢速网站中用户反馈的信息,首先判断用户的反馈信息中是否包含慢速网站的目的IP,使用hadoop集群中的数据作为数据源对所述目的IP的访问情况进行统计,如果用户反馈的信息不包含所述目的IP,使用URL库记录中采集的数据作为数据源,统计目的网站域名或URL的访问情况,所述访问情况包括访问时间、源IP、目的IP、访问字节数等记录。所述URL库记录包括源IP、URL链接、目的IP、访问时间、访问字节数、域名和URL标识符。
所述方法包括:
获取慢速网站中用户反馈的信息中响应情况为“无响应或者不稳定”的信息,根据是否含有目的IP分为两类。
如果含有目的IP,则使用现有的hadoop集群上数据作为统计的数据源,如果没有目的IP首先根据URL库记录中获取目的网站域名或者URL的访问信息,然后将这些访问信息作为统计的数据源。
使用hadoop集群数据源进行统计,首先使用二分法判断当前记录的目的IP是否在本次统计范围内,如果不在,则表示是非教育网IP,查询过程结束丢弃。如果在,则使用二分法判断该记录的源IP是否属于网内用户,如果是网内用户,则对该记录进行深入标记,即深入标记该记录中源IP地址所属单位,如具体为哪个院校的ip地址等。最后根据目的IP,以源IP段或者源IP所属院校为单位,统计目的IP的访问情况,所统计的目的IP的访问情况包括源IP段或所属单位对目的IP的访问次数。其中,所述当前记录的目的IP是指用户反馈信息中包括的IP地址,所述本次统计范围指的是根据具体需要预先定义的教育网内地址列表,本次统计仅限于该IP地址列表中IP地址的统计;所述网内指的是教育网。
通过链表排序获取每个源IP段或所属单位对目的IP的访问次数最高的预定数目的记录。
将统计的结果通过sqoop(Sqoop是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递)导入到数据库中,最终结果在慢速网站***中显示。
上述步骤中采用的二分法查找法又称折半查找,它是一种高效快速的查找方法。
本发明中二分法查找要求:1.必须采用顺序存储结构;2.必须按关键字大小有序排列。
二分法查找的基本思想是:设R[1..n]是当前的查找区间,K为待查找的键值,R[i].key为查找区间第i个值;
(1)首先确定该区间的中点位置:
该区间的起始位置初始化为1,即low=1;
该区间的结束位置初始化为n,即high=n;
该区间的中点位置为:mid=(low+high)/2;
(2)然后将待查的键值K与R[mid].key比较;若相等,则查找成功并返回此索引位置,否则须确定新的查找区间,继续二分查找,确定区间方法如下:
①若R[mid].key>K,则由表的有序性可知R[mid..n].key均大于K,因此若表中存在关键字等于K的结点,则该结点必定是在位置mid左边的子表R[1..mid-1]中,故新的查找区间是左边的子表R[1..mid-1],即high=mid-1。
②类似地,若R[mid].key<K,则要查找的K必在mid的右边的子表R[mid+1..n]中,即新的查找区间是右边的子表R[mid+1..n]。下一次查找是针对新的查找区间进行的,即low=mid+1。
因此,从初始的查找区间R[1..n]开始,每经过一次与当前查找区间的中点位置上的结点关键字的比较,就可确定查找是否成功,不成功则当前的查找区间就缩小一半。这一过程重复直至找到关键字为K的结点,或者直至当前的查找区间为空(即查找失败)时为止。
例如在集合R(05,13,19,21,37,56,64,75,80,85,90)集合中查询是否含有元素85。第一次查询R[mid].key=56<K(85),根据二分法规则,如果存在,必然在mid右侧子表中。经过第一次查询之后low=mid+1,第二次比较是R[mid]=80<R(85),同理第二次查询之后low=mid+1,第三次查询中R[mid]=85=Key(85),查询到85元素存在集合中,返回相应的位序,具体过程如图2所示。
在本次的实施过程中,通过目的IP的查询统计中判断采集数据的记录中目的IP是否满足条件时使用了二分法查找方式,通过该算法提高了查询效率,同时在判断源IP是否是网内IP时使用了自创的二分法。该二分法的有序表中每一个元素不再是单一的一个数值,而是一个含有3个字段的对象。该对象3个字段分别是索引值,网段开始(long型),结束值(long型)。在查找过程中将待查的K值与R[mid].key比较的方法是判断源IP是否在该对象的段开始与段结束范围内,如果存在则返回位序值,否则确定新的查找区间。核心代码及注释如下所示:
自创二分法核心代码:
有序表里每一个元素
本发明中利用链表进行排序获得访问次数最高的预定数目的记录;单链表是一种基于链式存取的数据结构,该结构使用一组任意地址的存储单元存放线性表中的数据。链表中的每一个数据通过节点来表示,每个节点的构成:元素(数据元素的映象)+指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个节点的地址数据。
本次在使用的过程中,不仅通过链表进行排序,同时设置n个节点用于存放数据,经过排序之后,可以获取到top n的值。通过这样的设置完成排序的同时,避免存放其他不需要的数据,加快排序数据的同时避免大量无效数据占用存储空间。
具体的实现思想:
定义链表时指定一个最大的元素个数即预定数目top n的值。
在向链表中***节点时,首先通过比较节点元素大小查找该节点需要***的位置,同时标记移动节点的个数。如果该节点移动个数等于n即该节点需要放置到第(n+1)位置时,直接将该节点丢弃。如果该节点***位置为第n个位置之前,则允许该节点***。***完毕之后检查当前链表中节点个数,如果当前节点的个数大于n,则需要删除最后一个节点。代码如下所示:
链表排序获取top n:
本发明中利用两种数据作为数据源,即hadoop集群中的数据和URL库记录中采集的数据。
基于目的IP的查询方法,是将当前hadoop集群中的数据作为数据源。根据hadoop作业的特性,该统计分为两个阶段即map,reduce阶段。在map阶段主要用来判断记录是否满足条件并对满足条件记录进行标记,在reduce阶段主要是统计该IP段或者所属单位访问目的IP的次数,对统计结果排序输出top10。
首先将本次需要统计的目的IP转换成long型数据,并且按照升序排序。同时将网内的网段起始值转换成long型,并按照网段开始值升序排序为后续的二分法查找提供有利条件。
在map阶段将排好序的目的IP,网内的网段起始信息存放到hadoop缓冲文件中,然后在查找之前读取缓冲文件存放到指定的数组中。对采集的数据进行遍历时,获取记录的目的IP,然后按照二分法查找当前目的IP是否在数组中,如果不存在,丢弃;否则,再次使用二分法查找当前的源IP是否在网内的IP段中,如果满足,标记该条记录,否则丢弃。
在reduce阶段,根据标记的信息,分别以源IP段和源IP所属单位为单位统计目的IP访问次数,然后通过链表对访问次数排序,最后输出访问次数最多的前几位。具体流程如图3。
基于网站域名或URL查询方法,是将URL库记录中获取目的网站域名或URL的访问信息,作为统计的数据源。通过hadoop平台统计网站域名(URL)的访问情况,通过链表对统计结果排序,获取topn条记录,然后通过sqoop导入到数据库中,将统计的结果在慢速网站***展示。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于IP和URL的实时数据采集的慢速网站访问异常信息的查询方法,其包括:
步骤101:获取用户反馈的记录中包含的目的地址,利用数据源统计目的地址的访问情况;
其中,所述目的地址类型包括目的IP和URL地址,且根据目的地址类型的不同选择不同的数据源进行统计;如果是目的IP,则采用二分法查找并统计相应数据源中目的IP的访问情况;如果是URL地址,则在相应数据源中查找并统计URL地址的访问情况;
步骤102:通过链表排序得到目的IP的访问次数最高的预定数目的记录;其中,所述访问次数从统计得到的访问情况中获得;
步骤103:显示排序得到的结果。
2.如权利要求1所述的方法,其中,所述目的地址的类型为目的IP时,对应的数据源为hadoop集群中的数据;所述目的地址的类型为URL地址时,对应的数据源为所述URL库记录中的数据。
3.如权利要求2所述的方法,其中,利用二分法查找并统计相应数据源中目的IP的访问情况具体包括:
利用二分法判断当前记录中所述目的IP是否在本次统计范围内;
如果在本次统计范围内,则使用二分法判断该记录的源IP是否属于网内用户;
如果是网内用户,则标记该记录中源IP所属单位;
源IP地址段或源IP所属单位为单元,统计所述目的IP地址的访问情况。
4.如权利要求3所述的方法,其中,所述本次统计范围为预先定义的网内IP地址列表。
5.如权利要求3所述的方法,其中,利用所述二分法查找时,将IP地址转换为long型。
6.如权利要求3所述的方法,其中,所述二分法具体过程为:
将待查询的IP地址列表中的IP地址和待查询IP地址转换成long型,并根据转换后的long型值的大小对待查询的IP地址列表进行升序排序,作为查训区间;
比较待查询IP地址对应的long型值与查询区间中间点位置的long型值;
若待查询IP地址对应的long型值等于所述中间点位置的long型值,则返回中间点位置的IP地址作为查询结果;
若待查询IP地址对应的long型值小于所述中间点位置的long型值,则将所述查询区间中起始位置至中间点前一位置作为新的查询区间;若待查询IP地址对应的long型值大于所述中间点位置的long型值,则将中间点后一位置至查询区间的结束位置作为新的查询区间;
在新的查询区间中重复执行上述步骤,直到范围查询结果未知。
7.一种基于IP和URL的实时数据采集的慢速网站访问异常信息的查询装置,其包括:
统计模块:获取用户反馈的记录中包含的目的地址,利用数据源统计目的地址的访问情况;
其中,所述目的地址类型包括目的IP和URL地址,且根据目的地址类型的不同选择不同的数据源进行统计;如果是目的IP,则采用二分法查找并统计相应数据源中目的IP的访问情况;如果是URL地址,则在相应数据源中查找并统计URL地址的访问情况;
排序模块:通过链表排序得到目的IP的访问次数最高的预定数目的记录;其中,所述访问次数从统计得到的访问情况中获得;
显示模块:显示排序得到的结果。
8.如权利要求7所述的装置,其中,所述目的地址的类型为目的IP时,对应的数据源为hadoop集群中的数据;所述目的地址的类型为URL地址时,对应的数据源为所述URL库记录中的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410566915.9A CN104301182B (zh) | 2014-10-22 | 2014-10-22 | 一种慢速网站访问异常信息的查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410566915.9A CN104301182B (zh) | 2014-10-22 | 2014-10-22 | 一种慢速网站访问异常信息的查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104301182A true CN104301182A (zh) | 2015-01-21 |
CN104301182B CN104301182B (zh) | 2018-09-11 |
Family
ID=52320760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410566915.9A Active CN104301182B (zh) | 2014-10-22 | 2014-10-22 | 一种慢速网站访问异常信息的查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104301182B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570153A (zh) * | 2016-10-28 | 2017-04-19 | 上海斐讯数据通信技术有限公司 | 一种海量url的数据提取方法及*** |
CN109063158A (zh) * | 2018-08-10 | 2018-12-21 | 赛尔网络有限公司 | 一种网站访问排名信息查询的方法、设备、***及介质 |
CN110519413A (zh) * | 2019-09-10 | 2019-11-29 | 赛尔网络有限公司 | 基于DNS over QUIC的排名统计方法、装置、***及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383326B1 (en) * | 2002-12-05 | 2008-06-03 | Microsoft Corporation | Methods and computer systems for directing a client to network locations for network hosted services |
CN102932206A (zh) * | 2012-11-19 | 2013-02-13 | 北京奇虎科技有限公司 | 监测网站访问信息的方法和*** |
CN103177000A (zh) * | 2011-12-21 | 2013-06-26 | 卓望数码技术(深圳)有限公司 | Ip地址或者手机号码的分组方法和归属地的查询方法 |
CN103200269A (zh) * | 2013-04-12 | 2013-07-10 | 亿赞普(北京)科技有限公司 | 互联网信息统计方法及*** |
CN103297435A (zh) * | 2013-06-06 | 2013-09-11 | 中国科学院信息工程研究所 | 一种基于web日志的异常访问行为检测方法与*** |
-
2014
- 2014-10-22 CN CN201410566915.9A patent/CN104301182B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383326B1 (en) * | 2002-12-05 | 2008-06-03 | Microsoft Corporation | Methods and computer systems for directing a client to network locations for network hosted services |
CN103177000A (zh) * | 2011-12-21 | 2013-06-26 | 卓望数码技术(深圳)有限公司 | Ip地址或者手机号码的分组方法和归属地的查询方法 |
CN102932206A (zh) * | 2012-11-19 | 2013-02-13 | 北京奇虎科技有限公司 | 监测网站访问信息的方法和*** |
CN103200269A (zh) * | 2013-04-12 | 2013-07-10 | 亿赞普(北京)科技有限公司 | 互联网信息统计方法及*** |
CN103297435A (zh) * | 2013-06-06 | 2013-09-11 | 中国科学院信息工程研究所 | 一种基于web日志的异常访问行为检测方法与*** |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570153A (zh) * | 2016-10-28 | 2017-04-19 | 上海斐讯数据通信技术有限公司 | 一种海量url的数据提取方法及*** |
CN109063158A (zh) * | 2018-08-10 | 2018-12-21 | 赛尔网络有限公司 | 一种网站访问排名信息查询的方法、设备、***及介质 |
CN109063158B (zh) * | 2018-08-10 | 2021-04-27 | 赛尔网络有限公司 | 一种网站访问排名信息查询的方法、设备、***及介质 |
CN110519413A (zh) * | 2019-09-10 | 2019-11-29 | 赛尔网络有限公司 | 基于DNS over QUIC的排名统计方法、装置、***及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104301182B (zh) | 2018-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9798772B2 (en) | Using persistent data samples and query-time statistics for query optimization | |
CN102122285B (zh) | 一种数据缓存***中的数据查询***和数据查询方法 | |
CN101727502A (zh) | 一种数据查询方法及装置、*** | |
CN103123650B (zh) | 一种基于整数映射的xml数据库全文索引方法 | |
CN103488704A (zh) | 一种数据存储方法及装置 | |
CN107766433A (zh) | 一种基于Geo‑BTree的范围查询方法及装置 | |
CN106874425B (zh) | 基于Storm的实时关键词近似搜索算法 | |
CN104731945A (zh) | 一种基于HBase的全文检索方法及装置 | |
CN101739424B (zh) | 一种关键词及其资源记录的转换存储方法和*** | |
CN103150362A (zh) | 一种视频搜索方法及*** | |
CN110020063A (zh) | 垂直搜索方法和*** | |
US20170364487A1 (en) | Method of generating hierarchical data structure | |
CN104301182A (zh) | 一种慢速网站访问异常信息的查询方法及装置 | |
CN108241709B (zh) | 一种数据集成方法、装置和*** | |
CN104636368A (zh) | 数据检索方法、装置及服务器 | |
CN110955855B (zh) | 一种信息拦截的方法、装置及终端 | |
CN104636265A (zh) | 一种cimxml文档的高效内存模型组织的访问方法 | |
US20170357697A1 (en) | Using adaptors to manage data indexed by dissimilar identifiers | |
CN105589910A (zh) | 基于HBase的海量交易数据检索及*** | |
CN103559270A (zh) | 一种词条的存储和管理方法 | |
CN116680278A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN106845787A (zh) | 一种数据自动交换方法及装置 | |
CN115794861A (zh) | 基于特征摘要的离线数据查询复用方法及其应用 | |
CN104753972A (zh) | 网络资源收藏处理的方法和服务器 | |
CN109657108B (zh) | 一种域名资产数据存储和查询方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |