CN107203623A - 网络爬虫系统的负载均衡调节方法 - Google Patents

网络爬虫系统的负载均衡调节方法 Download PDF

Info

Publication number
CN107203623A
CN107203623A CN201710381508.4A CN201710381508A CN107203623A CN 107203623 A CN107203623 A CN 107203623A CN 201710381508 A CN201710381508 A CN 201710381508A CN 107203623 A CN107203623 A CN 107203623A
Authority
CN
China
Prior art keywords
website
keyword
node
crawl
msub
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
CN201710381508.4A
Other languages
English (en)
Other versions
CN107203623B (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.)
China Southern Power Grid Internet Service Co ltd
Jingchuang United Beijing Intellectual Property Service Co ltd
Original Assignee
INFORMATION RESEARCH INSTITUTE OF SHANDONG ACADEMY OF SCIENCES
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 INFORMATION RESEARCH INSTITUTE OF SHANDONG ACADEMY OF SCIENCES filed Critical INFORMATION RESEARCH INSTITUTE OF SHANDONG ACADEMY OF SCIENCES
Priority to CN201710381508.4A priority Critical patent/CN107203623B/zh
Publication of CN107203623A publication Critical patent/CN107203623A/zh
Application granted granted Critical
Publication of CN107203623B publication Critical patent/CN107203623B/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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

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 Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的网络爬虫系统的负载均衡调节方法,首先计算出新闻类网站和社交媒体类网站关键词的权重,然后通过比较访问时间耗时最长和最短的时间差,来判断是否需要进行负载均衡调节;当需要调节负载时,首先将按照权重排序的新闻类网站或社交媒体网站的关键词分配给各爬取节点,然后在权重方差减小的情况下交换所选取的任意两个爬取节点的新闻类网站或关键词,并记录交换后的状态,直至达到设定的交换次数;最后从记录的状态中选取具有最小权重方差的状态作为新闻类网站或社交媒体网站的关键词的最终分配状态,以实现爬取节点负载均衡调节的目的。

Description

网络爬虫系统的负载均衡调节方法
技术领域
本发明涉及一种负载均衡调节方法,更具体的说,尤其涉及一种网络爬虫系统的负载均衡调节方法。
背景技术
大数据时代的来临,网络上所承载的信息愈加丰富,其中既有指导行业发展走向的政策类网站,也有介绍相关领域最新科技动态及竞争对手产品信息的新闻类网站,还有反应用户对产品评价的博客、论坛、微博等社交网站。外网数据的有效接入和应用对政府、企事业单位等各级各类组织辅助决策、制定计划、管理成本、销售运营、服务售后等提供信息支持,为组织更好知己知彼掌控行业信息打开了一扇窗口。网络爬虫起始于种子链接穿行于Internet,将访问到的页面下载至本地,为网络数据采集提供技术支撑,为组织深度挖掘和分析网络数据奠定良好开端。
根据网络爬虫所部署的地理位置和网络拓扑结构不同,可以将网络爬虫分为部署于同一局域网的单一域网络爬虫(Single-domain Distributed crawler,又称局域网爬虫)和分散部署于广域网的多域网络爬虫(Multi-domain Distribute Crawler,又称广域网爬虫)。无论是单一域网爬虫还是广域网爬虫最基本的功能均是网页数据抓取,而其灵魂则是调度策略,调度策略不同则抓取方法不同。调度策略主要包括种子链接分配策略、负载均衡策略、网页查重策略等。
目前负载均衡策略主要分为静态负载均衡和动态负载均衡,其中静态负载均衡主要有轮询方式、比率方式、优先权方式等;而动态负载均衡在抓取过程中收集各爬虫服务器负载信息,根据负载情况迁移节点任务。无论何种均衡策略其任务迁移的对象均是网络链接,将高负荷爬虫的网络链接分配给低负荷爬虫,以均衡整个系统的负载,爬取节点负载的均衡有利于网络数据的高效采集。
发明内容
不同于当前负载均衡策略,本发明提供了一种网络爬虫系统的负载均衡调节方法。
本发明的网络爬虫系统的负载均衡调节方法,网络爬虫系统包括部署于同一组织局域网内的爬取设置客户端、爬取主控节点、多个爬取节点、URL索引服务器、数据中心和用户;组织局域网通过路由器接入运营商的方式访问Internet,以便爬取节点抓取目标数据源服务器中的数据;其特征在于:负载均衡调节方法通过以下步骤来实现:
a).确定数据采集方法,对于信息更新频率和数量较低的新闻类网站,采用爬虫直接抓取目标源数据,再使用关键词进行数据过滤;对于信息更新频率和数量极高的社交媒体类网站,利用目标数据源的站内检索结合关键词获取有效信息,再使用爬虫抓取检索结果;
b).分配任务,对于新闻类网站,爬取主控节点将同一域名的新闻类网站分配给一个爬取节点采集目标源数据;对于社交媒体类网站,将同一域名的社交媒体类网站分配到全部爬取节点,并为每个爬取节点分配互不相同的关键词;
设爬取节点数为Ncl,不同域名的新闻类网站数为Nweb,不同域名的社交媒体类网站数为Nsoc,社交媒体类网站的关键词数为Nkw;则为每个爬取节点平均分配个不同域名的新闻类网站,将域名不同的社交媒体类网站分配到所有爬取节点,并为每个爬取节点平均分配个不同的关键词;
c).数据采集和存储,爬取主控节点为每个爬取节点分配新闻类网站采集入口URL地址、社交媒体类采集入口URL地址以及关键词后,爬取节点利用网络爬虫访问新闻类网站和社交媒体类网站,各爬取节点采集目标数据源列表的网页数据,并将采集到的数据发送至数据中心;
d).获取采集时间表,各爬取节点在完成一轮采集后将所记录的新闻类网站的采集时间表和社交媒体类网站的采集时间表发送至爬取主控节点,爬取主控节点将其存储至本地的信息采集汇总时间表中;新闻类网站的采集时间表由各新闻类网站及采集网站所花费的时间cost、采集网站的完成时间round组成;社交媒体类网站的采集时间表由关键词、采集关键词所花费的时间以及采集关键词完成时间组成;
e).计算平均访问时间和权重,爬取主控节点以天为单位,在一天结束时分析当天的信息采集汇总时间表,按新闻类网站汇总当天多轮采集时间,计算当天每个新闻类网站的一轮抓取所需平均访问时间,按社交媒体类网站关键词汇总当天多轮采集时间,计算当天每个社交媒体类网站的每个关键词抓取所需平均访问时间;按照公式(1)计算各新闻类网站的权重;按照公式(2)计算各社交媒体类网站的各关键词的权重;
爬取主控节点维护着爬取节点任务分配表和爬取节点心跳表,新闻类网站的任务分配表中记录各个爬取节点所分配到的网站及各个网站的权重,新闻类网站的权重的计算公式为:
其中,为抓取新闻类网站所花费的时间,i∈[1,Nweb],j∈[1,Nweb];初始采集各新闻类网站花费时间未知时,认为所有新闻类网站采集时间相同,则各新闻类网站的初始权重为
社交媒体类网站的任务分配表中记录各个爬取节点在每个社交媒体类网站中所分配到的关键词以及不同社交媒体类网站不同关键词的权重,社交媒体类网站soci中关键词kwj的权重的计算公式为:
其中,为在社交媒体类网站soci中采集关键词kwk相关的信息所所花费的时间,i∈[1,Nsoc],j、k∈[1,Nkw];初始在各社交媒体类网站中采集不同关键词相关信息花费时间未知时,认为各关键词相关信息的采集时间相同,则各关键词的初始权重为
各爬取节点的社交媒体类网站的关键词负载均衡调节通过步骤f)至步骤m)来实现;
f).判断耗时时间差,爬取主控节点计算出各爬取节点完成某社交媒体类网站的关键词一轮抓取所需平均访问时间,找出耗时最长和最短的爬取节点,计算两者耗时时间差,若两者时间差不大于用户预设调节时间差阈值,则维持当前社交媒体类网站关键词的分配状态,均衡负载结束;若两者时间差大于用户预设调节时间差阈值,则执行步骤g);
g).关键词排序,爬取主控节点按照权重降序排列该社交媒体类网站的关键词,执行步骤h);
h).重新分配关键词,爬取主控节点从排好序的关键词中,依次取出第1至第Ncl个关键词顺序分配给spider1、spider2、…、spiderNcl,然后依次取出第Ncl+1至第2Ncl个关键词逆序分配给spider1、spider2、…、spiderNcl,迭代该过程,直至分完该社交新闻类网站的所有关键词,将此关键词的分配记录为初始状态KW_Init_Assignment,spideri代表第i个爬取节点,i≤Ncl;执行步骤i);
i).迭代次数清零,抽取KW_Init_Assignment状态中所有爬取节点中所有关键词的权重,并计算爬取节点所分配关键词权重的方差Variance_Init,并将迭代次数Iteration清零,令Iteration=0;
j).迭代次数加1,令Iteration=Iteration+1,然后判断迭代次数Iteration是否小于指定迭代次数iteration_threshold,若是,则令本次迭代的方差Variance_MinIteration等于初始状态方差,Variance_MinIteration=Variance_Init,执行步骤k);否则,执行步骤m);
k).交换关键词,随机选择两个爬取节点,并在所选择的爬取节点中随机选择两个关键词进行交换,然后重新抽取所有爬取节点中所有关键词的权重,计算权重方差Variance_Random;执行步骤l);
l).比较权重方差的大小,比较Variance_Random与Variance_MinIteration的大小;
如果Variance_Random<Variance_MinIteration,则保持两个关键词的交换,将Variance_Random赋值给Variance_MinIteration,令Variance_MinIteration=Variance_Random,并将交换失败计数counter清零,令counter=0;Variance_MinIteration为所记录关键词权重方差的最小值,执行步骤k);
如果Variance_Random≥Variance_MinIteration,则撤销两个关键词的交换,并使交换失败计数counter加1,即令counter=counter+1;若交换失败计数counter的值小于累计次数阈值counter_threshold,转入步骤k);若counter≥counter_threshold,将此关键词的分配记录为第Iteration次迭代状态KW_IntermedIteration_Assignment,转入步骤j);
m).选取最优状态进行分配,比较多个KW_IntermedIteration_Assignment中的关键词权重方差Variance_MinIteration的值,将Variance_MinIteration值最小的KW_IntermedIteration_Assignment记录为关键词分配最终状态KW_Final_Assignment,按照此最终状态更新爬取节点任务分配表,并按此表重新为各个爬取节点分配任务。
本发明的网络爬虫系统的负载均衡调节方法,各爬取节点的新闻类网站的负载均衡调节采用与步骤f)至步骤m)相同的方法,只需将步骤f)至步骤m)中社交媒体类网站的关键词替换为新闻类网站即可。
本发明的网络爬虫系统的负载均衡调节方法,通过增加iteration_threshold和counter_threshold的大小可找出多个局部最优值,以尽可能获取全局最优值;理论上当iteration_threshold和counter_threshold趋于无穷时,方案可以收敛到全局最优值,在实际应用中可根据经验设置合理的阈值。
本发明的有益效果是:本发明的网络爬虫系统的负载均衡调节方法,首先计算出新闻类网站和社交媒体类网站关键词的权重,然后通过比较访问时间耗时最长和最短的时间差,来判断是否需要进行负载均衡调节;当需要调节负载时,首先将按照权重排序的新闻类网站或社交媒体网站的关键词分配给各爬取节点,然后在权重方差减小的情况下交换所选取的任意两个爬取节点的新闻类网站或关键词,并记录交换后的状态,直至达到设定的交换次数;最后从记录的状态中选取具有最小权重方差的状态作为新闻类网站或社交媒体网站的关键词的最终分配状态,以实现爬取节点负载均衡调节的目的。
附图说明
图1为本发明中网络爬虫系统的部署结构图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
如图1所示,给出了为本发明网络爬虫系统的部署结构图,本发明的分布式网络爬虫部署于组织局域网内,通过路由器接入运营商的方式访问Internet。分布式网络爬虫系统由爬取设置客户端、爬取主控节点、爬取节点、URL索引服务器、数据中心以及最终用户组成。
爬取设置客户端用于配置数据源、关键词、爬取策略等;爬取主控节点根据爬取设置客户端的配置为多个爬取节点分配任务,负责爬取节点的调度并均衡各爬取节点的负载;爬取节点中部署着网络爬虫系统,爬取节点利用分布式爬虫访问Internet中的目标数据源服务器;URL索引服务器记录已爬取过的URL及爬取时间;数据中心用于存储抓取的网页数据;用户是网络数据的使用者,可通过多种方式与数据中心交互。
分布式网络爬虫系统中的各设备均为逻辑划分,并非每个设备均需一个物理设备与其对应。其中爬取设置客户端可以是任意具有爬取设置权限的用户;在设备性能富有余地的情况下,URL索引服务器也可合并到数据中心,由数据中心承担已爬取URL的记录功能。
本发明的网络爬虫系统的负载均衡调节方法通过以下步骤来实现:
a).确定数据采集方法,对于信息更新频率和数量较低的新闻类网站,采用爬虫直接抓取目标源数据,再使用关键词进行数据过滤;对于信息更新频率和数量极高的社交媒体类网站,利用目标数据源的站内检索结合关键词获取有效信息,再使用爬虫抓取检索结果;
组织关注的数据源既有指导行业发展走向的政策类网站,也有介绍相关领域最新科技动态及竞争对手产品信息的新闻类网站,以及反映用户对产品评价的博客、论坛、微博等社交网站。其中政策类网站和新闻类网站的信息一般是由网站编辑工作人员撰写录入,单个网站信息更新频率和数量较低,其日更新量一般不超过千条。而论坛、微博等社交媒体平台的信息由活跃于互联网和移动网的网民自由撰写发表,单个媒体平台信息更新频率和数量极高,日更新量超过亿条,任何第三方爬虫系统都难以应对如此量级的数据采集。所幸组织所关注的重点是业务领域相关信息,这些信息只是各类数据源提供数据的子集。组织通常可采用构建本体知识库的方式,描述业务领域过滤无效信息。为保证业务领域描述的完整性,构建的本体知识库一般包含几百个概念和实例(关键词)。在明确目标数据源和关键词的基础上,组织获取有效信息的方法有两种。其一,使用爬虫直接抓取目标源数据,再使用关键词进行数据过滤;其二,利用目标数据源的站内检索结合关键词获取有效信息,再使用爬虫抓取检索结果。
假设本体知识库中的关键词数为Nkw,目标数据源中单位时间内信息的更新量为Nd,受限于新闻类网站页面承载的信息量,Nd将分布于新闻类网站的多个页面,一个页面承载的信息数为C。在新闻类网站信息总更新量Nd中,与组织业务领域相关的有效信息量为Ni。两种采集方法与服务器的交互次数可分成两部分,分别是为得到有效信息所在的位置访问页面的次数(访问目录页次数)和抓取信息的次数(访问内容页次数)。
若Ni均匀的分布于Nd中,则采用第一种方法获取全部Ni条有效信息需访问目标数据源次,采用第二种方法获取全部Ni条有效信息需访问目标数据源次。面对日信息更新量过亿的社交媒体类网站平台,则Nd>>C,Nd>>Ni且Nd>>Nkw,采用第一种方法访问目标数据源的次数远大于第二种方法,显然对于信息更新频率极高的社交媒体类网站平台更适合于采用第二种方法而非第一种方法。而面对日信息更新量少于千条的新闻类网站数据Nd并不会比Ni大一个数量级,且若新闻类网站是组织挑选的行业内新闻类网站则Nd≈Ni,此时影响两种方法访问服务器次数的关键在于Nkw。显然对于信息更新频率较低的新闻类网站,采用第一种方法采集数据,而后在本地使用关键词过滤信息的方式,可有效减少与服务器的交互次数,增强IP地址利用率。因此本发明采用第一种方法采集新闻类网站数据,而采用第二种方法采集社交媒体类网站数据。
b).分配任务,对于新闻类网站,爬取主控节点将同一域名的新闻类网站分配给一个爬取节点采集目标源数据;对于社交媒体类网站,将同一域名的社交媒体类网站分配到全部爬取节点,并为每个爬取节点分配互不相同的关键词;
设爬取节点数为Ncl,不同域名的新闻类网站数为Nweb,不同域名的社交媒体类网站数为Nsoc,社交媒体类网站的关键词数为Nkw;则为每个爬取节点平均分配个不同域名的新闻类网站,将域名不同的社交媒体类网站分配到所有爬取节点,并为每个爬取节点平均分配个不同的关键词;
由于爬取节点的分配策略一般是以域名(主机)为单位,将同一域名的数据交由一个爬取节点采集。本发明也采用此种策略采集新闻类网站数据,将同一域名的新闻类网站分配给一个爬取节点采集。如前所述采集社交媒体类网站平台,访问目标服务器的次中,Nkw次访问并未采集信息,而是关键词检索引起的开销。受同一IP地址访问总量限制以及关键词的演进和变化,若仍将同一域名的社交媒体类网站也交由一个爬取节点采集,关键词的检索会造成极大的浪费有限的访问总量。针对社交媒体类网站数据采集,本发明将同一域名的社交媒体类网站分配到全部爬取节点,并为每个爬取节点分配互不相同的关键词。
如表1所示,给出了新闻类网站爬取任务分配表:
表1
表2给出了社交媒体类网站爬取任务分配表:
表2
表2的右续表:
c).数据采集和存储,爬取主控节点为每个爬取节点分配新闻类网站采集入口URL地址、社交媒体类采集入口URL地址以及关键词后,爬取节点利用网络爬虫访问新闻类网站和社交媒体类网站,各爬取节点采集目标数据源列表的网页数据,并将采集到的数据发送至数据中心;
表3
crawler state
Spider1 ***
Spider2 ***
Spider3 ***
…… ……
SpiderNcl ***
如表3所示,给出了爬取节点心跳表,爬取主控节点定时接收各个爬取节点的心跳状态,并记录在爬取节点心跳表中,从而了解爬取节点是否宕机以及是否有新的爬取节点加入,心跳表中的state记录着各个爬取节点向爬取主控节点最后返回心跳时间。当有节点宕机或新节点加入时,根据各个新闻类网站爬取时间、各个社交媒体类网站不同关键词相关信息爬取所花费的时间,以及所拥有的爬取节点数依据负载均衡原则重新分配任务。
爬取节点中部署着网络爬虫系统,在接到爬取主控节点分配的采集任务后,利用网络爬虫访问Internet中新闻类网站和社交媒体类网站。
d).获取采集时间表,各爬取节点在完成一轮采集后将所记录的新闻类网站的采集时间表和社交媒体类网站的采集时间表发送至爬取主控节点,爬取主控节点将其存储至本地的信息采集汇总时间表中;新闻类网站的采集时间表由各新闻类网站及采集网站所花费的时间cost、采集网站的完成时间round组成;社交媒体类网站的采集时间表由关键词、采集关键词所花费的时间以及采集关键词完成时间组成;
新闻类网站采集时间和社交媒体类网站各关键词相关信息采集时间,记录到爬取节点采集时间表,其逻辑结构如表4和表5所示:
表4
表5
soc keyword cost round
soc1 KWs1k1 *** ***
soc1 KWs1k2 *** ***
…… …… …… ……
soc1 KWs1ka *** ***
soc2 KWs1kb *** ***
soc2 KWs1kb+1 *** ***
…… …… …… ……
socNsoc KWs1kc *** ***
…… …… …… ……
socNsoc KWs1kd *** ***
socNsoc KWs1kd+1 *** ***
…… …… …… ……
socNsoc KWs1kNkw *** ***
表4给出了爬取节点记录的新闻类网站的采集时间表,表5给出了所记录的社交媒体类网站的采集时间表,其中cost记录各新闻类网站和社交媒体类网站的各关键词采集所花费的时间,round记录本轮采集完成时间。
e).计算平均访问时间和权重,爬取主控节点以天为单位,在一天结束时分析当天的信息采集汇总时间表,按新闻类网站汇总当天多轮采集时间,计算当天每个新闻类网站的一轮抓取所需平均访问时间,按社交媒体类网站关键词汇总当天多轮采集时间,计算当天每个社交媒体类网站的每个关键词抓取所需平均访问时间;按照公式(1)计算各新闻类网站的权重;按照公式(2)计算各社交媒体类网站的各关键词的权重;
爬取主控节点维护着爬取节点任务分配表和爬取节点心跳表,新闻类网站的任务分配表中记录各个爬取节点所分配到的网站及各个网站的权重,新闻类网站webi的权重的计算公式为:
其中,为抓取新闻类网站webj所花费的时间,i∈[1,Nweb],j∈[1,Nweb];初始采集各新闻类网站花费时间未知时,认为所有新闻类网站采集时间相同,则各新闻类网站的初始权重为
社交媒体类网站的任务分配表中记录各个爬取节点在每个社交媒体类网站中所分配到的关键词以及不同社交媒体类网站不同关键词的权重,社交媒体类网站soci中关键词kwj的权重的计算公式为:
其中,为在社交媒体类网站soci中采集关键词kwk相关的信息所所花费的时间,i∈[1,Nsoc],j、k∈[1,Nkw];初始在各社交媒体类网站中采集不同关键词相关信息花费时间未知时,认为各关键词相关信息的采集时间相同,则各关键词的初始权重为
各爬取节点的社交媒体类网站的关键词负载均衡调节通过步骤f)至步骤m)来实现;
f).判断耗时时间差,爬取主控节点计算出各爬取节点完成某社交媒体类网站的关键词一轮抓取所需平均访问时间,找出耗时最长和最短的爬取节点,计算两者耗时时间差,若两者时间差不大于用户预设调节时间差阈值,则维持当前社交媒体类网站关键词的分配状态,均衡负载结束;若两者时间差大于用户预设调节时间差阈值,则执行步骤g);
当爬取节点只应用于信息采集时,服务器负载即为两类数据源的采集工作。此时,当采集任务均衡时,可认为各节点的负载也较为均衡。步骤i-2)所计算的新闻类网站和社交媒体类网站关键词权重描述了采集任务的繁重程度,因此通过均匀地分配新闻类网站和社交媒体类网站关键词,从而使得各爬取节点的权重和相似,即可达到均衡爬取节点负载的目的。
g).关键词排序,爬取主控节点按照权重降序排列该社交媒体类网站的关键词,执行步骤h);
h).重新分配关键词,爬取主控节点从排好序的关键词中,依次取出第1至第Ncl个关键词顺序分配给spider1、spider2、…、spiderNcl,然后依次取出第Ncl+1至第2Ncl个关键词逆序分配给spider1、spider2、…、spiderNcl,迭代该过程,直至分完该社交新闻类网站的所有关键词,将此关键词的分配记录为初始状态KW_Init_Assignment,spideri代表第i个爬取节点,i≤Ncl;执行步骤i);
i).迭代次数清零,抽取KW_Init_Assignment状态中所有爬取节点中所有关键词的权重,并计算爬取节点所分配关键词权重的方差Variance_Init,并将迭代次数Iteration清零,令Iteration=0;
j).迭代次数加1,令Iteration=Iteration+1,然后判断迭代次数Iteration是否小于指定迭代次数iteration_threshold,若是,则令本次迭代的方差Variance_MinIteration等于初始状态方差,Variance_MinIteration=Variance_Init,执行步骤k);否则,执行步骤m);
k).交换关键词,随机选择两个爬取节点,并在所选择的爬取节点中随机选择两个关键词进行交换,然后重新抽取所有爬取节点中所有关键词的权重,计算权重方差Variance_Random;执行步骤l);
l).比较权重方差的大小,比较Variance_Random与Variance_MinIteration的大小;
如果Variance_Random<Variance_MinIteration,则保持两个关键词的交换,将Variance_Random赋值给Variance_MinIteration,令Variance_MinIteration=Variance_Random,并将交换失败计数counter清零,令counter=0;Variance_MinIteration为所记录关键词权重方差的最小值,执行步骤k);
如果Variance_Random≥Variance_MinIteration,则撤销两个关键词的交换,并使交换失败计数counter加1,即令counter=counter+1;若交换失败计数counter的值小于累计次数阈值counter_threshold,转入步骤k);若counter≥counter_threshold,将此关键词的分配记录为第Iteration次迭代状态KW_IntermedIteration_Assignment,转入步骤j);
m).选取最优状态进行分配,比较多个KW_IntermedIteration_Assignment中的关键词权重方差Variance_MinIteration的值,将Variance_MinIteration值最小的KW_IntermedIteration_Assignment记录为关键词分配最终状态KW_Final_Assignment,按照此最终状态更新爬取节点任务分配表,并按此表重新为各个爬取节点分配任务。
各爬取节点的新闻类网站的负载均衡调节采用与步骤f)至步骤m)相同的方法,只需将步骤f)至步骤m)中社交媒体类网站的关键词替换为新闻类网站即可。
通过增加iteration_threshold和counter_threshold的大小可找出多个局部最优值,以尽可能获取全局最优值;理论上当iteration_threshold和counter_threshold趋于无穷时,方案可以收敛到全局最优值,在实际应用中可根据经验设置合理的阈值。

Claims (3)

1.一种网络爬虫系统的负载均衡调节方法,网络爬虫系统包括部署于同一组织局域网内的爬取设置客户端、爬取主控节点、多个爬取节点、URL索引服务器、数据中心和用户;组织局域网通过路由器接入运营商的方式访问Internet,以便爬取节点抓取目标数据源服务器中的数据;其特征在于:负载均衡调节方法通过以下步骤来实现:
a).确定数据采集方法,对于信息更新频率和数量较低的新闻类网站,采用爬虫直接抓取目标源数据,再使用关键词进行数据过滤;对于信息更新频率和数量极高的社交媒体类网站,利用目标数据源的站内检索结合关键词获取有效信息,再使用爬虫抓取检索结果;
b).分配任务,对于新闻类网站,爬取主控节点将同一域名的新闻类网站分配给一个爬取节点采集目标源数据;对于社交媒体类网站,将同一域名的社交媒体类网站分配到全部爬取节点,并为每个爬取节点分配互不相同的关键词;
设爬取节点数为Ncl,不同域名的新闻类网站数为Nweb,不同域名的社交媒体类网站数为Nsoc,社交媒体类网站的关键词数为Nkw;则为每个爬取节点平均分配个不同域名的新闻类网站,将域名不同的社交媒体类网站分配到所有爬取节点,并为每个爬取节点平均分配个不同的关键词;
c).数据采集和存储,爬取主控节点为每个爬取节点分配新闻类网站采集入口URL地址、社交媒体类采集入口URL地址以及关键词后,爬取节点利用网络爬虫访问新闻类网站和社交媒体类网站,各爬取节点采集目标数据源列表的网页数据,并将采集到的数据发送至数据中心;
d).获取采集时间表,各爬取节点在完成一轮采集后将所记录的新闻类网站的采集时间表和社交媒体类网站的采集时间表发送至爬取主控节点,爬取主控节点将其存储至本地的信息采集汇总时间表中;新闻类网站的采集时间表由各新闻类网站及采集网站所花费的时间cost、采集网站的完成时间round组成;社交媒体类网站的采集时间表由关键词、采集关键词所花费的时间以及采集关键词完成时间组成;
e).计算平均访问时间和权重,爬取主控节点以天为单位,在一天结束时分析当天的信息采集汇总时间表,按新闻类网站汇总当天多轮采集时间,计算当天每个新闻类网站的一轮抓取所需平均访问时间,按社交媒体类网站关键词汇总当天多轮采集时间,计算当天每个社交媒体类网站的每个关键词抓取所需平均访问时间;按照公式(1)计算各新闻类网站的权重;按照公式(2)计算各社交媒体类网站的各关键词的权重;
爬取主控节点维护着爬取节点任务分配表和爬取节点心跳表,新闻类网站的任务分配表中记录各个爬取节点所分配到的网站及各个网站的权重,新闻类网站webi的权重的计算公式为:
<mrow> <msub> <mi>W</mi> <mrow> <msub> <mi>web</mi> <mi>i</mi> </msub> </mrow> </msub> <mo>=</mo> <mfrac> <msub> <mi>T</mi> <mrow> <msub> <mi>web</mi> <mi>i</mi> </msub> </mrow> </msub> <mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>N</mi> <mrow> <mi>w</mi> <mi>e</mi> <mi>b</mi> </mrow> </msub> </munderover> <msub> <mi>T</mi> <mrow> <msub> <mi>web</mi> <mi>j</mi> </msub> </mrow> </msub> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
其中,为抓取新闻类网站webj所花费的时间,i∈[1,Nweb],j∈[1,Nweb];初始采集各新闻类网站花费时间未知时,认为所有新闻类网站采集时间相同,则各新闻类网站的初始权重为
社交媒体类网站的任务分配表中记录各个爬取节点在每个社交媒体类网站中所分配到的关键词以及不同社交媒体类网站不同关键词的权重,社交媒体类网站soci中关键词kwj的权重的计算公式为:
<mrow> <msub> <mi>W</mi> <mrow> <msub> <mi>soc</mi> <mi>i</mi> </msub> <msub> <mi>kw</mi> <mi>j</mi> </msub> </mrow> </msub> <mo>=</mo> <mfrac> <msub> <mi>T</mi> <mrow> <msub> <mi>soc</mi> <mi>i</mi> </msub> <msub> <mi>kw</mi> <mi>j</mi> </msub> </mrow> </msub> <mrow> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>N</mi> <mrow> <mi>k</mi> <mi>w</mi> </mrow> </msub> </munderover> <msub> <mi>T</mi> <mrow> <msub> <mi>soc</mi> <mi>i</mi> </msub> <msub> <mi>kw</mi> <mi>k</mi> </msub> </mrow> </msub> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
其中,为在社交媒体类网站soci中采集关键词kwk相关的信息所所花费的时间,i∈[1,Nsoc],j、k∈[1,Nkw];初始在各社交媒体类网站中采集不同关键词相关信息花费时间未知时,认为各关键词相关信息的采集时间相同,则各关键词的初始权重为
各爬取节点的社交媒体类网站的关键词负载均衡调节通过步骤f)至步骤m)来实现;
f).判断耗时时间差,爬取主控节点计算出各爬取节点完成某社交媒体类网站的关键词一轮抓取所需平均访问时间,找出耗时最长和最短的爬取节点,计算两者耗时时间差,若两者时间差不大于用户预设调节时间差阈值,则维持当前社交媒体类网站关键词的分配状态,均衡负载结束;若两者时间差大于用户预设调节时间差阈值,则执行步骤g);
g).关键词排序,爬取主控节点按照权重降序排列该社交媒体类网站的关键词,执行步骤h);
h).重新分配关键词,爬取主控节点从排好序的关键词中,依次取出第1至第Ncl个关键词顺序分配给spider1、spider2、…、spiderNcl,然后依次取出第Ncl+1至第2Ncl个关键词逆序分配给spider1、spider2、…、spiderNcl,迭代该过程,直至分完该社交新闻类网站的所有关键词,将此关键词的分配记录为初始状态KW_Init_Assignment,spideri代表第i个爬取节点,i≤Ncl;执行步骤i);
i).迭代次数清零,抽取KW_Init_Assignment状态中所有爬取节点中所有关键词的权重,并计算爬取节点所分配关键词权重的方差Variance_Init,并将迭代次数Iteration清零,令Iteration=0;
j).迭代次数加1,令Iteration=Iteration+1,然后判断迭代次数Iteration是否小于指定迭代次数iteration_threshold,若是,则令本次迭代的方差Variance_MinIteration等于初始状态方差,Variance_MinIteration=Variance_Init,执行步骤k);否则,执行步骤m);
k).交换关键词,随机选择两个爬取节点,并在所选择的爬取节点中随机选择两个关键词进行交换,然后重新抽取所有爬取节点中所有关键词的权重,计算权重方差Variance_Random;执行步骤l);
l).比较权重方差的大小,比较Variance_Random与Variance_MinIteration的大小;
如果Variance_Random<Variance_MinIteration,则保持两个关键词的交换,将Variance_Random赋值给Variance_MinIteration,令Variance_MinIteration=Variance_Random,并将交换失败计数counter清零,令counter=0;Variance_MinIteration为所记录关键词权重方差的最小值,执行步骤k);
如果Variance_Random≥Variance_MinIteration,则撤销两个关键词的交换,并使交换失败计数counter加1,即令counter=counter+1;若交换失败计数counter的值小于累计次数阈值counter_threshold,转入步骤k);若counter≥counter_threshold,将此关键词的分配记录为第Iteration次迭代状态KW_IntermedIteration_Assignment,转入步骤j);
m).选取最优状态进行分配,比较多个KW_IntermedIteration_Assignment中的关键词权重方差Variance_MinIteration的值,将Variance_MinIteration值最小的KW_IntermedIteration_Assignment记录为关键词分配最终状态KW_Final_Assignment,按照此最终状态更新爬取节点任务分配表,并按此表重新为各个爬取节点分配任务。
2.根据权利要求1所述的网络爬虫系统的负载均衡调节方法,其特征在于:各爬取节点的新闻类网站的负载均衡调节采用与步骤f)至步骤m)相同的方法,只需将步骤f)至步骤m)中社交媒体类网站的关键词替换为新闻类网站即可。
3.根据权利要求1或2所述的网络爬虫系统的负载均衡调节方法,其特征在于:通过增加iteration_threshold和counter_threshold的大小可找出多个局部最优值,以尽可能获取全局最优值;理论上当iteration_threshold和counter_threshold趋于无穷时,方案可以收敛到全局最优值,在实际应用中可根据经验设置合理的阈值。
CN201710381508.4A 2017-05-26 2017-05-26 网络爬虫系统的负载均衡调节方法 Active CN107203623B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710381508.4A CN107203623B (zh) 2017-05-26 2017-05-26 网络爬虫系统的负载均衡调节方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710381508.4A CN107203623B (zh) 2017-05-26 2017-05-26 网络爬虫系统的负载均衡调节方法

Publications (2)

Publication Number Publication Date
CN107203623A true CN107203623A (zh) 2017-09-26
CN107203623B CN107203623B (zh) 2020-09-22

Family

ID=59906148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710381508.4A Active CN107203623B (zh) 2017-05-26 2017-05-26 网络爬虫系统的负载均衡调节方法

Country Status (1)

Country Link
CN (1) CN107203623B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256740A (zh) * 2017-12-22 2018-07-06 北京智慧星光信息技术有限公司 一种获取互联网信息传播指标的控制方法
CN109325104A (zh) * 2018-10-30 2019-02-12 中译语通科技股份有限公司 一种动态计算新闻采集服务资源的方法
CN110333980A (zh) * 2019-05-24 2019-10-15 深圳壹账通智能科技有限公司 网络爬虫系统的测试方法及装置、存储介质、电子设备
CN111092921A (zh) * 2018-10-24 2020-05-01 北大方正集团有限公司 数据采集方法、装置及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006110665A2 (en) * 2005-04-11 2006-10-19 Baytsp, Inc. Identification and tracking of digital content distributors on wide area networks
US20130031545A1 (en) * 2011-07-28 2013-01-31 International Business Machines Corporation System and method for improving the performance of high performance computing applications on cloud using integrated load balancing
US20140089936A1 (en) * 2012-09-21 2014-03-27 Htc Corporation Multi-core device and multi-thread scheduling method thereof
US20140101714A1 (en) * 2012-10-05 2014-04-10 International Business Machines Corporation Privacy aware authenticated map-reduce
CN106209685A (zh) * 2016-07-08 2016-12-07 武汉烽火普天信息技术有限公司 一种面向海量数据源的网络爬虫动态带宽分配方法及系统
CN106709052A (zh) * 2017-01-06 2017-05-24 电子科技大学 一种基于关键词的主题网络爬虫设计方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006110665A2 (en) * 2005-04-11 2006-10-19 Baytsp, Inc. Identification and tracking of digital content distributors on wide area networks
US20130031545A1 (en) * 2011-07-28 2013-01-31 International Business Machines Corporation System and method for improving the performance of high performance computing applications on cloud using integrated load balancing
US20140089936A1 (en) * 2012-09-21 2014-03-27 Htc Corporation Multi-core device and multi-thread scheduling method thereof
US20140101714A1 (en) * 2012-10-05 2014-04-10 International Business Machines Corporation Privacy aware authenticated map-reduce
CN106209685A (zh) * 2016-07-08 2016-12-07 武汉烽火普天信息技术有限公司 一种面向海量数据源的网络爬虫动态带宽分配方法及系统
CN106709052A (zh) * 2017-01-06 2017-05-24 电子科技大学 一种基于关键词的主题网络爬虫设计方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
李晨 等: "基于Hadoop 的网络舆情监控平台设计与实现", 《计算机技术与发展》 *
李晨 等: "基于MapReduce的网络爬虫设计与实现", 《山东科学》 *
蔡斌雷 等: "面向大规模流数据的可扩展分布式实时处理方法", 《青岛科技大学学报(自然科学版)》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256740A (zh) * 2017-12-22 2018-07-06 北京智慧星光信息技术有限公司 一种获取互联网信息传播指标的控制方法
CN108256740B (zh) * 2017-12-22 2021-03-16 北京智慧星光信息技术有限公司 一种获取互联网信息传播指标的控制方法
CN111092921A (zh) * 2018-10-24 2020-05-01 北大方正集团有限公司 数据采集方法、装置及存储介质
CN111092921B (zh) * 2018-10-24 2022-05-10 北大方正集团有限公司 数据采集方法、装置及存储介质
CN109325104A (zh) * 2018-10-30 2019-02-12 中译语通科技股份有限公司 一种动态计算新闻采集服务资源的方法
CN109325104B (zh) * 2018-10-30 2021-11-19 中译语通科技股份有限公司 一种动态计算新闻采集服务资源的方法
CN110333980A (zh) * 2019-05-24 2019-10-15 深圳壹账通智能科技有限公司 网络爬虫系统的测试方法及装置、存储介质、电子设备

Also Published As

Publication number Publication date
CN107203623B (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
CN107241319A (zh) 基于vpn的分布式网络爬虫系统及调度方法
CN103324724B (zh) 数据处理方法及装置
Menczer Complementing search engines with online web mining agents
CN107203623A (zh) 网络爬虫系统的负载均衡调节方法
JP5560367B2 (ja) ネットワーク内の友人の動的情報を管理するための方法、システムおよびサーバ
CN106776768B (zh) 一种分布式爬虫引擎的url抓取方法及系统
Jain et al. Page ranking algorithms in web mining, limitations of existing methods and a new method for indexing web pages
Agarwal et al. A data‐centered collaboration portal to support global carbon‐flux analysis
CN106055621A (zh) 一种日志检索方法及装置
CN107465729B (zh) 基于访问次数排名的虚拟节点副本调整系统及方法
CN104376015A (zh) 关系网络中节点的处理方法及装置
Zheng et al. Community evolution analysis based on co-author network: a case study of academic communities of the journal of “Annals of the Association of American Geographers”
Budiman et al. Decision making analysis for free internet quota assistance online learning during the COVID-19 Pandemic
CN103034728B (zh) 利用社会化网络学术资源交互平台进行信息交互的方法
Ahmedi et al. A uniform semantic web framework for co-authorship networks
Amalarethinam et al. A study on performance evaluation of peer-to-peer distributed databases
Wang et al. The analysis and evaluation of knowledge efficiency in research groups
Overton et al. Sensor optimisation using an ant colony metaphor
Jiang et al. New wine in old bottles? Examining institutional hierarchy in laureate mobility networks, 1900–2017
Regunathan et al. Neural based QoS aware mobile cloud service and its application to preeminent service selection using back propagation
CN106940715A (zh) 一种基于索引表的查询的方法及设备
Papadopoulos et al. Nearest neighbor queries in shared-nothing environments
CN106354433A (zh) 分布式内存存储系统的热点数据挖掘方法及装置
Goel et al. Comparative Analysis of Vertical Fragmentation Techniques in Distributed Environment
Pan et al. The analysis of key nodes in complex social networks

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230105

Address after: Room 02A-084, Building C (Second Floor), No. 28, Xinxi Road, Haidian District, Beijing 100085

Patentee after: Jingchuang United (Beijing) Intellectual Property Service Co.,Ltd.

Address before: 250014 No. 19, ASTRI Road, Lixia District, Shandong, Ji'nan

Patentee before: INFORMATION Research Institute OF SHANDONG ACADEMY OF SCIENCES

Effective date of registration: 20230105

Address after: Room 606-609, Compound Office Complex Building, No. 757, Dongfeng East Road, Yuexiu District, Guangzhou, Guangdong Province, 510699

Patentee after: China Southern Power Grid Internet Service Co.,Ltd.

Address before: Room 02A-084, Building C (Second Floor), No. 28, Xinxi Road, Haidian District, Beijing 100085

Patentee before: Jingchuang United (Beijing) Intellectual Property Service Co.,Ltd.

TR01 Transfer of patent right