CN107203623B - 网络爬虫***的负载均衡调节方法 - Google Patents

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

Info

Publication number
CN107203623B
CN107203623B CN201710381508.4A CN201710381508A CN107203623B CN 107203623 B CN107203623 B CN 107203623B CN 201710381508 A CN201710381508 A CN 201710381508A CN 107203623 B CN107203623 B CN 107203623B
Authority
CN
China
Prior art keywords
crawling
keywords
website
social media
iteration
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.)
Active
Application number
CN201710381508.4A
Other languages
English (en)
Other versions
CN107203623A (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

Images

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;则为每个爬取节点平均分配
Figure BDA0001305293260000021
个不同域名的新闻类网站,将域名不同的社交媒体类网站分配到所有爬取节点,并为每个爬取节点平均分配
Figure BDA0001305293260000022
个不同的关键词;
c).数据采集和存储,爬取主控节点为每个爬取节点分配新闻类网站采集入口URL地址、社交媒体类采集入口URL地址以及关键词后,爬取节点利用网络爬虫访问新闻类网站和社交媒体类网站,各爬取节点采集目标数据源列表的网页数据,并将采集到的数据发送至数据中心;
d).获取采集时间表,各爬取节点在完成一轮采集后将所记录的新闻类网站的采集时间表和社交媒体类网站的采集时间表发送至爬取主控节点,爬取主控节点将其存储至本地的信息采集汇总时间表中;新闻类网站的采集时间表由各新闻类网站及采集网站所花费的时间cost、采集网站的完成时间round组成;社交媒体类网站的采集时间表由关键词、采集关键词所花费的时间以及采集关键词完成时间组成;
e).计算平均访问时间和权重,爬取主控节点以天为单位,在一天结束时分析当天的信息采集汇总时间表,按新闻类网站汇总当天多轮采集时间,计算当天每个新闻类网站的一轮抓取所需平均访问时间,按社交媒体类网站关键词汇总当天多轮采集时间,计算当天每个社交媒体类网站的每个关键词抓取所需平均访问时间;按照公式(1)计算各新闻类网站的权重;按照公式(2)计算各社交媒体类网站的各关键词的权重;
爬取主控节点维护着爬取节点任务分配表和爬取节点心跳表,新闻类网站的任务分配表中记录各个爬取节点所分配到的网站及各个网站的权重,新闻类网站
Figure BDA0001305293260000031
的权重
Figure BDA0001305293260000032
的计算公式为:
Figure BDA0001305293260000033
其中,
Figure BDA0001305293260000034
为抓取新闻类网站
Figure BDA0001305293260000035
所花费的时间,i∈[1,Nweb],j∈[1,Nweb];初始采集各新闻类网站花费时间未知时,认为所有新闻类网站采集时间相同,则各新闻类网站的初始权重为
Figure BDA0001305293260000036
社交媒体类网站的任务分配表中记录各个爬取节点在每个社交媒体类网站中所分配到的关键词以及不同社交媒体类网站不同关键词的权重,社交媒体类网站soci中关键词kwj的权重
Figure BDA0001305293260000037
的计算公式为:
Figure BDA0001305293260000038
其中,
Figure BDA0001305293260000041
为在社交媒体类网站soci中采集关键词kwk相关的信息所所花费的时间,i∈[1,Nsoc],j、k∈[1,Nkw];初始在各社交媒体类网站中采集不同关键词相关信息花费时间未知时,认为各关键词相关信息的采集时间相同,则各关键词的初始权重为
Figure BDA0001305293260000042
各爬取节点的社交媒体类网站的关键词负载均衡调节通过步骤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条有效信息需访问目标数据源
Figure BDA0001305293260000071
次,采用第二种方法获取全部Ni条有效信息需访问目标数据源
Figure BDA0001305293260000072
次。面对日信息更新量过亿的社交媒体类网站平台,则Nd>>C,Nd>>Ni且Nd>>Nkw,采用第一种方法访问目标数据源的次数远大于第二种方法,显然对于信息更新频率极高的社交媒体类网站平台更适合于采用第二种方法而非第一种方法。而面对日信息更新量少于千条的新闻类网站数据Nd并不会比Ni大一个数量级,且若新闻类网站是组织挑选的行业内新闻类网站则Nd≈Ni,此时影响两种方法访问服务器次数的关键在于Nkw。显然对于信息更新频率较低的新闻类网站,采用第一种方法采集数据,而后在本地使用关键词过滤信息的方式,可有效减少与服务器的交互次数,增强IP地址利用率。因此本发明采用第一种方法采集新闻类网站数据,而采用第二种方法采集社交媒体类网站数据。
b).分配任务,对于新闻类网站,爬取主控节点将同一域名的新闻类网站分配给一个爬取节点采集目标源数据;对于社交媒体类网站,将同一域名的社交媒体类网站分配到全部爬取节点,并为每个爬取节点分配互不相同的关键词;
设爬取节点数为Ncl,不同域名的新闻类网站数为Nweb,不同域名的社交媒体类网站数为Nsoc,社交媒体类网站的关键词数为Nkw;则为每个爬取节点平均分配
Figure BDA0001305293260000081
个不同域名的新闻类网站,将域名不同的社交媒体类网站分配到所有爬取节点,并为每个爬取节点平均分配
Figure BDA0001305293260000082
个不同的关键词;
由于爬取节点的分配策略一般是以域名(主机)为单位,将同一域名的数据交由一个爬取节点采集。本发明也采用此种策略采集新闻类网站数据,将同一域名的新闻类网站分配给一个爬取节点采集。如前所述采集社交媒体类网站平台,访问目标服务器的
Figure BDA0001305293260000083
次中,Nkw次访问并未采集信息,而是关键词检索引起的开销。受同一IP地址访问总量限制以及关键词的演进和变化,若仍将同一域名的社交媒体类网站也交由一个爬取节点采集,关键词的检索会造成极大的浪费有限的访问总量。针对社交媒体类网站数据采集,本发明将同一域名的社交媒体类网站分配到全部爬取节点,并为每个爬取节点分配互不相同的关键词。
如表1所示,给出了新闻类网站爬取任务分配表:
表1
Figure BDA0001305293260000091
表2给出了社交媒体类网站爬取任务分配表:
表2
Figure BDA0001305293260000092
表2的右续表:
Figure BDA0001305293260000093
Figure BDA0001305293260000101
c).数据采集和存储,爬取主控节点为每个爬取节点分配新闻类网站采集入口URL地址、社交媒体类采集入口URL地址以及关键词后,爬取节点利用网络爬虫访问新闻类网站和社交媒体类网站,各爬取节点采集目标数据源列表的网页数据,并将采集到的数据发送至数据中心;
表3
crawler state
Spider1 ***
Spider2 ***
Spider3 ***
…… ……
SpiderN<sub>cl</sub> ***
如表3所示,给出了爬取节点心跳表,爬取主控节点定时接收各个爬取节点的心跳状态,并记录在爬取节点心跳表中,从而了解爬取节点是否宕机以及是否有新的爬取节点加入,心跳表中的state记录着各个爬取节点向爬取主控节点最后返回心跳时间。当有节点宕机或新节点加入时,根据各个新闻类网站爬取时间、各个社交媒体类网站不同关键词相关信息爬取所花费的时间,以及所拥有的爬取节点数依据负载均衡原则重新分配任务。
爬取节点中部署着网络爬虫***,在接到爬取主控节点分配的采集任务后,利用网络爬虫访问Internet中新闻类网站和社交媒体类网站。
d).获取采集时间表,各爬取节点在完成一轮采集后将所记录的新闻类网站的采集时间表和社交媒体类网站的采集时间表发送至爬取主控节点,爬取主控节点将其存储至本地的信息采集汇总时间表中;新闻类网站的采集时间表由各新闻类网站及采集网站所花费的时间cost、采集网站的完成时间round组成;社交媒体类网站的采集时间表由关键词、采集关键词所花费的时间以及采集关键词完成时间组成;
新闻类网站采集时间和社交媒体类网站各关键词相关信息采集时间,记录到爬取节点采集时间表,其逻辑结构如表4和表5所示:
表4
Figure BDA0001305293260000102
Figure BDA0001305293260000111
表5
soc keyword cost round
soc1 KW<sub>s1k1</sub> *** ***
soc1 KW<sub>s1k2</sub> *** ***
…… …… …… ……
soc1 KW<sub>s1ka</sub> *** ***
soc2 KW<sub>s1kb</sub> *** ***
soc2 KW<sub>s1kb+1</sub> *** ***
…… …… …… ……
socN<sub>soc</sub> KW<sub>s1kc</sub> *** ***
…… …… …… ……
socN<sub>soc</sub> KW<sub>s1kd</sub> *** ***
socN<sub>soc</sub> KW<sub>s1kd+1</sub> *** ***
…… …… …… ……
socN<sub>soc</sub> KW<sub>s1kNkw</sub> *** ***
表4给出了爬取节点记录的新闻类网站的采集时间表,表5给出了所记录的社交媒体类网站的采集时间表,其中cost记录各新闻类网站和社交媒体类网站的各关键词采集所花费的时间,round记录本轮采集完成时间。
e).计算平均访问时间和权重,爬取主控节点以天为单位,在一天结束时分析当天的信息采集汇总时间表,按新闻类网站汇总当天多轮采集时间,计算当天每个新闻类网站的一轮抓取所需平均访问时间,按社交媒体类网站关键词汇总当天多轮采集时间,计算当天每个社交媒体类网站的每个关键词抓取所需平均访问时间;按照公式(1)计算各新闻类网站的权重;按照公式(2)计算各社交媒体类网站的各关键词的权重;
爬取主控节点维护着爬取节点任务分配表和爬取节点心跳表,新闻类网站的任务分配表中记录各个爬取节点所分配到的网站及各个网站的权重,新闻类网站webi的权重
Figure BDA0001305293260000121
的计算公式为:
Figure BDA0001305293260000122
其中,
Figure BDA0001305293260000123
为抓取新闻类网站webj所花费的时间,i∈[1,Nweb],j∈[1,Nweb];初始采集各新闻类网站花费时间未知时,认为所有新闻类网站采集时间相同,则各新闻类网站的初始权重为
Figure BDA0001305293260000124
社交媒体类网站的任务分配表中记录各个爬取节点在每个社交媒体类网站中所分配到的关键词以及不同社交媒体类网站不同关键词的权重,社交媒体类网站soci中关键词kwj的权重
Figure BDA0001305293260000125
的计算公式为:
Figure BDA0001305293260000126
其中,
Figure BDA0001305293260000127
为在社交媒体类网站soci中采集关键词kwk相关的信息所所花费的时间,i∈[1,Nsoc],j、k∈[1,Nkw];初始在各社交媒体类网站中采集不同关键词相关信息花费时间未知时,认为各关键词相关信息的采集时间相同,则各关键词的初始权重为
Figure BDA0001305293260000128
各爬取节点的社交媒体类网站的关键词负载均衡调节通过步骤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 (2)

1.一种网络爬虫***的负载均衡调节方法,网络爬虫***包括部署于同一组织局域网内的爬取设置客户端、爬取主控节点、多个爬取节点、URL索引服务器、数据中心和用户;组织局域网通过路由器接入运营商的方式访问Internet,以便爬取节点抓取目标数据源服务器中的数据;其特征在于:负载均衡调节方法通过以下步骤来实现:
a).确定数据采集方法,对于信息更新频率和数量较低的新闻类网站,采用爬虫直接抓取目标源数据,再使用关键词进行数据过滤;对于信息更新频率和数量极高的社交媒体类网站,利用目标数据源的站内检索结合关键词获取有效信息,再使用爬虫抓取检索结果;
b).分配任务,对于新闻类网站,爬取主控节点将同一域名的新闻类网站分配给一个爬取节点采集目标源数据;对于社交媒体类网站,将同一域名的社交媒体类网站分配到全部爬取节点,并为每个爬取节点分配互不相同的关键词;
设爬取节点数为Ncl,不同域名的新闻类网站数为Nweb,不同域名的社交媒体类网站数为Nsoc,社交媒体类网站的关键词数为Nkw;则为每个爬取节点平均分配
Figure FDA0002542611260000011
个不同域名的新闻类网站,将域名不同的社交媒体类网站分配到所有爬取节点,并为每个爬取节点平均分配
Figure FDA0002542611260000012
个不同的关键词;
c).数据采集和存储,爬取主控节点为每个爬取节点分配新闻类网站采集入口URL地址、社交媒体类采集入口URL地址以及关键词后,爬取节点利用网络爬虫访问新闻类网站和社交媒体类网站,各爬取节点采集目标数据源列表的网页数据,并将采集到的数据发送至数据中心;
d).获取采集时间表,各爬取节点在完成一轮采集后将所记录的新闻类网站的采集时间表和社交媒体类网站的采集时间表发送至爬取主控节点,爬取主控节点将其存储至本地的信息采集汇总时间表中;新闻类网站的采集时间表由各新闻类网站及采集网站所花费的时间cost、采集网站的完成时间round组成;社交媒体类网站的采集时间表由关键词、采集关键词所花费的时间以及采集关键词完成时间组成;
e).计算平均访问时间和权重,爬取主控节点以天为单位,在一天结束时分析当天的信息采集汇总时间表,按新闻类网站汇总当天多轮采集时间,计算当天每个新闻类网站的一轮抓取所需平均访问时间,按社交媒体类网站关键词汇总当天多轮采集时间,计算当天每个社交媒体类网站的每个关键词抓取所需平均访问时间;按照公式(1)计算各新闻类网站的权重;按照公式(2)计算各社交媒体类网站的各关键词的权重;
爬取主控节点维护着爬取节点任务分配表和爬取节点心跳表,新闻类网站的任务分配表中记录各个爬取节点所分配到的网站及各个网站的权重,新闻类网站webi的权重
Figure FDA0002542611260000021
的计算公式为:
Figure FDA0002542611260000022
其中,
Figure FDA0002542611260000023
为抓取新闻类网站webj所花费的时间,i∈[1,Nweb],j∈[1,Nweb];初始采集各新闻类网站花费时间未知时,认为所有新闻类网站采集时间相同,则各新闻类网站的初始权重为
Figure FDA0002542611260000024
社交媒体类网站的任务分配表中记录各个爬取节点在每个社交媒体类网站中所分配到的关键词以及不同社交媒体类网站不同关键词的权重,社交媒体类网站soci中关键词kwj的权重
Figure FDA0002542611260000025
的计算公式为:
Figure FDA0002542611260000026
其中,
Figure FDA0002542611260000027
为在社交媒体类网站soci中采集关键词kwk相关的信息所所花费的时间,i∈[1,Nsoc],j、k∈[1,Nkw];初始在各社交媒体类网站中采集不同关键词相关信息花费时间未知时,认为各关键词相关信息的采集时间相同,则各关键词的初始权重为
Figure FDA0002542611260000031
各爬取节点的社交媒体类网站的关键词负载均衡调节通过步骤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)中社交媒体类网站的关键词替换为新闻类网站即可。
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 CN107203623A (zh) 2017-09-26
CN107203623B true 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)

Families Citing this family (4)

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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209685A (zh) * 2016-07-08 2016-12-07 武汉烽火普天信息技术有限公司 一种面向海量数据源的网络爬虫动态带宽分配方法及***
CN106709052A (zh) * 2017-01-06 2017-05-24 电子科技大学 一种基于关键词的主题网络爬虫设计方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716324B2 (en) * 2004-05-12 2010-05-11 Baytsp.Com, Inc. Identification and tracking of digital content distributors on wide area networks
US9015708B2 (en) * 2011-07-28 2015-04-21 International Business Machines Corporation System for improving the performance of high performance computing applications on cloud using integrated load balancing
US9632822B2 (en) * 2012-09-21 2017-04-25 Htc Corporation Multi-core device and multi-thread scheduling method thereof
US8875227B2 (en) * 2012-10-05 2014-10-28 International Business Machines Corporation Privacy aware authenticated map-reduce

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209685A (zh) * 2016-07-08 2016-12-07 武汉烽火普天信息技术有限公司 一种面向海量数据源的网络爬虫动态带宽分配方法及***
CN106709052A (zh) * 2017-01-06 2017-05-24 电子科技大学 一种基于关键词的主题网络爬虫设计方法

Also Published As

Publication number Publication date
CN107203623A (zh) 2017-09-26

Similar Documents

Publication Publication Date Title
US11176114B2 (en) RAM daemons
CN107241319A (zh) 基于vpn的分布式网络爬虫***及调度方法
CN107203623B (zh) 网络爬虫***的负载均衡调节方法
US11423085B2 (en) Graph database super vertex partitioning
US7801848B2 (en) Redistributing a distributed database
US11531831B2 (en) Managing machine learning features
DE102016105472A1 (de) Speicherebenenverteilung und parallele Zuordnung auf Blockebene bei Dateisystemen
CN107567696A (zh) 计算集群内的资源实例群组的自动扩展
CN102640125A (zh) 分布式内容存储和取回
US8903803B1 (en) Horizontal interval-based data partitioning and indexing for large clusters
CN107247778A (zh) 用于实施可扩展数据存储服务的***和方法
CN102227121A (zh) 基于机器学习的分布式缓存策略自适应切换方法及***
CN107465729B (zh) 基于访问次数排名的虚拟节点副本调整***及方法
US11308066B1 (en) Optimized database partitioning
WO2022134471A1 (zh) 区块链节点的管理方法、装置、计算机设备和存储介质
CN107798106A (zh) 一种分布式爬虫***中的url去重方法
Kim et al. Implementation of hybrid P2P networking distributed web crawler using AWS for smart work news big data
US20110282869A1 (en) Access to information by quantitative analysis of enterprise web access traffic
Sen et al. Discrete particle swarm optimization algorithms for two variants of the static data segment location problem
JP5371656B2 (ja) ファイル検索システム
Han et al. Access trends of in-network cache for scientific data
CN107451229B (zh) 一种数据库查询方法和装置
Amalarethinam et al. A study on performance evaluation of peer-to-peer distributed databases
US11544294B2 (en) Distributing tables in a distributed database using consolidated grouping sources
CN114328439A (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
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