CN110673968A - 一种基于令牌环的舆情监控目标保护方法 - Google Patents
一种基于令牌环的舆情监控目标保护方法 Download PDFInfo
- Publication number
- CN110673968A CN110673968A CN201910917251.9A CN201910917251A CN110673968A CN 110673968 A CN110673968 A CN 110673968A CN 201910917251 A CN201910917251 A CN 201910917251A CN 110673968 A CN110673968 A CN 110673968A
- Authority
- CN
- China
- Prior art keywords
- token ring
- url
- grid
- processing
- grids
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012544 monitoring process Methods 0.000 title claims abstract description 16
- 238000004364 calculation method Methods 0.000 claims abstract description 20
- 238000001914 filtration Methods 0.000 claims abstract description 4
- 230000008569 process Effects 0.000 claims description 7
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于令牌环的舆情监控目标保护方法,涉及舆情数据采集技术领域。本发明包括如下步骤:步骤S01:第一层网络爬虫从门户网站的入口进行采集,并获取下一层的url;步骤S02:爬虫根据规则对url进行过滤,将符合条件的url进行hash处理,得到对应的整数值;步骤S03:根据计算结果,并与令牌环上格子的总量取余,得到存储位置的索引,并将结果存储到对应的格子中;步骤S04:网络爬虫获取下层数据进行处理。本发明通过hash算法和取余计算将待采集的url分散到不同的令牌环格子里,根据计算结果以令牌环上格子的总量取余后得到索引值,并将索引值存储在令牌环格子的任务队列中,缓解高并发下对链接的集中访问,提高了网站访问效率和安全等级。
Description
技术领域
本发明属于舆情数据采集技术领域,特别是涉及一种基于令牌环的舆情监控目标保护方法。
背景技术
目前大多数大型舆情项目的采集都是多层架构,每层之间采用队列进行解耦。随着监控要求的提高,爬虫的规模越来越庞大,多达上万的线程进行采集。按照目前的队列解耦方式,很容易造成对单个网站的高并发访问。
当系统在进行数据采集时,可能会一次性产生大量待处理页面,这个时候,处理线程会将待处理页面一次性推入任务队列,队列就会出现如图一的任务分布情况。由于线程比较多,可能会在1-2秒时间内就取走所有待处理页面,并对系统进行并发访问。而对于很多网站来说,每一层的待处理链接的量是很庞大的,例如新浪网,从门户进到第二层,再从第二层到第三层可能有多达200多万的目标链接。所以在某些极端情况下,因为爬虫就可能会给新浪造成每秒上万次的并发请求。可能对于新浪而言还是可以接受的,但是对于一些小网站或者行政事业单位的网站来说,就会产生过大的压力,甚至导致宕机。
发明内容
本发明的目的在于提供一种基于令牌环的舆情监控目标保护方法,通过hash算法和取余计算将待采集的url分散到不同的令牌环格子里,根据计算结果以令牌环上格子的总量取余后得到索引值,并将索引值存储在令牌环格子的任务队列中,当一个线程完成后,从下一个线程第一格继续处理,解决了现有的网站访问压力大、安全不足的问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种基于令牌环的舆情监控目标保护方法,包括如下步骤:
步骤S01:第一层网络爬虫从门户网站的入口进行采集,并获取下一层的url;
步骤S02:爬虫根据规则对url进行过滤,将符合条件的url进行hash处理,得到对应的整数值;
步骤S03:根据计算结果,并与令牌环上格子的总量取余,得到存储位置的索引,并将结果存储到对应的格子中;
步骤S04:网络爬虫获取下层数据进行处理。
优选地,所述步骤S03中,将计算结果以令牌环上格子的总量取余后得到索引值,并将索引值存储在令牌环格子的任务队列rangeBuffer中,所述任务队列为hash环。
优选地,步骤S03中,将计算结果以令牌环上格子的总量取余后得到索引值,这个取余的过程可以采用更好的方式代替:当lenth=2n时,X%length=X&(length-1),即如果格子的数量是2的n次方时,那么链接的URL通过hash得到的整数值与格子的数量可以按照与运算进行运算,与取余运算结果相同,但效率更高。
优选地,所述步骤S04中,对下层数据进行处理的实现方法如下:
步骤S41:所有线程从第一个格子开始取数据处理;
步骤S42:第一个格子处理完成,按顺序依次处理第二个格子;
步骤S43:每个处理线程处理完第一个任务后,按顺序处理从第一个格子领取任务;
步骤S44:当所有格子里的数据都处理完成后,爬虫线程将不再进行处理,采集结束。
本发明具有以下有益效果:
本发明通过hash算法和取余计算将待采集的url分散到不同的令牌环格子里,根据计算结果以令牌环上格子的总量取余后得到索引值,并将索引值存储在令牌环格子的任务队列中,当一个线程完成后,从下一个线程第一格继续处理,缓解高并发下对链接的集中访问,提高了网站访问效率和安全等级。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种基于令牌环的舆情监控目标保护方法步骤图;
图2为本发明的方法处理新浪网后的数据分布图;
图3为本发明的接口交互能力的协议适配方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1、3所示,本发明为一种基于令牌环的舆情监控目标保护方法,包括如下步骤:
步骤S01:第一层网络爬虫从门户网站的入口进行采集,并获取下一层的url;
步骤S02:爬虫根据规则对url进行过滤,将符合条件的url进行hash处理,得到对应的整数值;
步骤S03:根据计算结果,并与令牌环上格子的总量取余,得到存储位置的索引,并将结果存储到对应的格子中;
步骤S04:网络爬虫获取下层数据进行处理。
其中,步骤S03中,将计算结果以令牌环上格子的总量取余后得到索引值,并将索引值存储在令牌环格子的任务队列rangeBuffer中,这个任务队列可以是hash环;每个实施项目对于监控量的要求,以及监控周期的要求不同,格子总数也会适当的变化调整,本实施例采用的令牌环上格子总量为900个,并不是一定非要和900求余,只不过900是一个很小的监控周期;请参阅图2为按照此方法调整后,新浪网的数据分布,由于url不是规则字符串,hash后没有办法得到顺序的数值,所以求余后分布不是很均匀,但是也不会堆积在一个格子里。
由于现有技术是用采集程序集中对网站的链接进行访问采集,而采用这种方式带来的益处就是缓解高并发下对链接的集中访问,同时对目标网站形成保护,避免对目标造成高并发访问。
其中,步骤S03中,将计算结果以令牌环上格子的总量取余后得到索引值,这个取余的过程可以采用更好的方式代替:当lenth=2n时,X%length=X&(length-1),即如果格子的数量是2的n次方时,那么链接的URL通过hash得到的整数值与格子的数量可以按照与运算进行运算,与取余运算结果相同,但效率更高。
其中,步骤S04中,对下层数据进行处理的实现方法如下:
步骤S41:所有线程从第一个格子开始取数据处理;
步骤S42:第一个格子处理完成,按顺序依次处理第二个格子;
步骤S43:每个处理线程处理完第一个任务后,按顺序处理从第一个格子领取任务;
这么做的好处是因为现有技术中都是直接对待处理的url进行集中采集,对目标url造成了很大的压力,而通过这种格子打散的方式,每次访问url时,只访问一小部分,所以实现缓解对目标网站访问的压力。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (4)
1.一种基于令牌环的舆情监控目标保护方法,其特征在于,包括如下步骤:
步骤S01:第一层网络爬虫从门户网站的入口进行采集,并获取下一层的url;
步骤S02:爬虫根据规则对url进行过滤,将符合条件的url进行hash处理,得到对应的整数值;
步骤S03:根据计算结果,并与令牌环上格子的总量取余,得到存储位置的索引,并将结果存储到对应的格子中;
步骤S04:网络爬虫获取下层数据进行处理。
2.根据权利要求1所述的一种基于令牌环的舆情监控目标保护方法,其特征在于,所述步骤S03中,将计算结果以令牌环上格子的总量取余后得到索引值,并将索引值存储在令牌环格子的任务队列rangeBuffer中,所述任务队列为hash环。
3.根据权利要求1所述的一种基于令牌环的舆情监控目标保护方法,其特征在于,所述步骤S03中,将计算结果以令牌环上格子的总量取余后得到索引值,这个取余的过程可以采用更好的方式代替:当lenth=2n时,X%length=X&(length-1),即如果格子的数量是2的n次方时,那么链接的URL通过hash得到的整数值与格子的数量可以按照与运算进行运算,与取余运算结果相同。
4.根据权利要求1所述的一种基于令牌环的舆情监控目标保护方法,其特征在于,所述步骤S04中,对下层数据进行处理的实现方法如下:
步骤S41:所有线程从第一个格子开始取数据处理;
步骤S42:第一个格子处理完成,按顺序依次处理第二个格子;
步骤S43:每个处理线程处理完第一个任务后,按顺序处理从第一个格子领取任务;
步骤S44:当所有格子里的数据都处理完成后,爬虫线程将不再进行处理,采集结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910917251.9A CN110673968A (zh) | 2019-09-26 | 2019-09-26 | 一种基于令牌环的舆情监控目标保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910917251.9A CN110673968A (zh) | 2019-09-26 | 2019-09-26 | 一种基于令牌环的舆情监控目标保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110673968A true CN110673968A (zh) | 2020-01-10 |
Family
ID=69079249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910917251.9A Pending CN110673968A (zh) | 2019-09-26 | 2019-09-26 | 一种基于令牌环的舆情监控目标保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110673968A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199175A (zh) * | 2020-04-02 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 一种任务队列生成方法、装置及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080235163A1 (en) * | 2007-03-22 | 2008-09-25 | Srinivasan Balasubramanian | System and method for online duplicate detection and elimination in a web crawler |
CN103037010A (zh) * | 2012-12-26 | 2013-04-10 | 人民搜索网络股份公司 | 一种分布式网络爬虫系统及其抓取方法 |
CN105608134A (zh) * | 2015-12-18 | 2016-05-25 | 盐城工学院 | 一种基于多线程的网络爬虫系统及其网页爬取方法 |
CN106657228A (zh) * | 2016-09-27 | 2017-05-10 | 山东浪潮云服务信息科技有限公司 | 一种利用云端进行并发采集的爬虫实现方法 |
CN107193960A (zh) * | 2017-05-24 | 2017-09-22 | 南京大学 | 一种分布式爬虫系统及周期性增量抓取方法 |
CN107798106A (zh) * | 2017-10-31 | 2018-03-13 | 广东思域信息科技有限公司 | 一种分布式爬虫系统中的url去重方法 |
CN108023831A (zh) * | 2017-12-04 | 2018-05-11 | 科大国创软件股份有限公司 | 一种基于令牌池的服务访问自动化闭环动态拥塞控制的方法 |
-
2019
- 2019-09-26 CN CN201910917251.9A patent/CN110673968A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080235163A1 (en) * | 2007-03-22 | 2008-09-25 | Srinivasan Balasubramanian | System and method for online duplicate detection and elimination in a web crawler |
CN103037010A (zh) * | 2012-12-26 | 2013-04-10 | 人民搜索网络股份公司 | 一种分布式网络爬虫系统及其抓取方法 |
CN105608134A (zh) * | 2015-12-18 | 2016-05-25 | 盐城工学院 | 一种基于多线程的网络爬虫系统及其网页爬取方法 |
CN106657228A (zh) * | 2016-09-27 | 2017-05-10 | 山东浪潮云服务信息科技有限公司 | 一种利用云端进行并发采集的爬虫实现方法 |
CN107193960A (zh) * | 2017-05-24 | 2017-09-22 | 南京大学 | 一种分布式爬虫系统及周期性增量抓取方法 |
CN107798106A (zh) * | 2017-10-31 | 2018-03-13 | 广东思域信息科技有限公司 | 一种分布式爬虫系统中的url去重方法 |
CN108023831A (zh) * | 2017-12-04 | 2018-05-11 | 科大国创软件股份有限公司 | 一种基于令牌池的服务访问自动化闭环动态拥塞控制的方法 |
Non-Patent Citations (2)
Title |
---|
季节: "爬虫算法在互联网舆情系统的研究与应用", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
朱海滨等: "《分布式系统原理与设计》", 30 September 1997, 国防科技大学出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199175A (zh) * | 2020-04-02 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 一种任务队列生成方法、装置及设备 |
CN112199175B (zh) * | 2020-04-02 | 2024-05-17 | 支付宝(杭州)信息技术有限公司 | 一种任务队列生成方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105426292B (zh) | 一种游戏日志实时处理系统及方法 | |
Nuñez et al. | Detecting series periodicity with horizontal visibility graphs | |
CN106708952B (zh) | 一种网页聚类方法及装置 | |
DE112012002624T5 (de) | Regex-Kompilierer | |
CN106886558A (zh) | 一种数据处理方法以及服务器 | |
JP6679943B2 (ja) | 検知プログラム、検知方法および検知装置 | |
DE112020002552T5 (de) | System und verfahren für eine siem-regel-sortierung und bedingte ausführung | |
CN108989097A (zh) | 一种拟态防御系统威胁告警可视化方法及装置 | |
CN113722106A (zh) | 一种内存管理的方法和装置 | |
CN106789347A (zh) | 一种基于告警数据实现告警关联和网络故障诊断的方法 | |
CN110673968A (zh) | 一种基于令牌环的舆情监控目标保护方法 | |
CN105930255A (zh) | 一种系统健康度预测方法及装置 | |
Ye et al. | Big data processing framework for manufacturing | |
CN106846170B (zh) | 一种发电机组跳闸监测方法及其监测装置 | |
CN105308579B (zh) | 系列数据并行分析基础设施及其并行分散处理方法 | |
RU2014126762A (ru) | Способ представления результатов поиска в соответствии с поисковым запросом в сети интернет | |
CN105426407A (zh) | 一种基于内容分析的web数据采集方法 | |
CN112668416A (zh) | 无人机配网巡检视频实时分析识别方法和嵌入式巡检装置 | |
CN109558887A (zh) | 一种预测行为的方法和装置 | |
CN117370058A (zh) | 一种业务处理方法、装置、电子设备及计算机可读介质 | |
CN105245394A (zh) | 一种基于分层方式分析网络访问日志的方法和设备 | |
CN109840844B (zh) | 一种基于fpga的金融大数据采集处理装置及系统 | |
CN116149848A (zh) | 负载预测方法、装置、电子设备及存储介质 | |
CN113553370B (zh) | 异常检测方法、装置、电子设备及可读存储介质 | |
CN112435151B (zh) | 一种基于关联分析的政务信息数据处理方法及系统 |
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: 20200110 |
|
RJ01 | Rejection of invention patent application after publication |