一种基于时间窗口的网络爬虫流量控制自动降级方法

文档序号:9846640阅读:475来源:国知局
一种基于时间窗口的网络爬虫流量控制自动降级方法
【技术领域】
[0001]本发明涉及网络流量控制技术领域,特别是一种基于时间窗口的网络爬虫流量控制自动降级方法。
【背景技术】
[0002]网络爬虫系统在抓取数据时,会因为偶尔的突发情况导致抓取的消息数猛增,并且主要由历史数据组成,使得系统处于峰值状态,甚至超过系统的处理能力,使得系统无法有效的处理有价值的实时数据,从甚至导致的整个系统的崩溃,无法提供服务。
[0003]中国发明专利申请CN103107948 A公开了一种流量控制方法,包括:在应用服务器拦截用户端的请求:根据所述请求获得用户信息组合;将所述用户信息组合,与黑名单中的用户信息组合进行匹配,如果匹配,则进行过滤;起哄,所述黑名单通过如下步骤生成:根据所述请求对应用户信息组合的记录日志,统计所述用户请求对应的用户信息组合的访问次数;针对所述访问次数,依据流量控制规则生成所述用户信息组合的黑名单。虽然此发明能够降低服务器系统开销,更准确的对用户端的请求进行过滤,有效的提高系统的过滤效率;但是,此发明无法解决网络爬虫的历史数据和实时数据的优先处理问题。

【发明内容】

[0004]本发明需要解决的技术问题提供一种网络爬虫数据优先级处理的流量控制方法。
[0005]为解决上述的技术问题,本发明的一种基于时间窗口的网络爬虫流量控制自动降级方法,包括以下步骤,
[0006]步骤SlOl:数据接收,接收网络爬虫数据,并对爬虫数据的接收通过消息中间件进tx解親;
[0007]步骤S102:数据处理优先级确定,通过记录网络爬虫数据的原始时间和当前时间的延迟,生成延迟时间的正态分布图,根据不同分位的延迟度量值来决定数据的优先级;
[0008]步骤S103:流量控制,将流控系统的信息处理速度与阈值对比,优先处理易于延迟度量值的数据,处理速度允许则同时处理暂存数据,控制暂存数据的处理速度;
[0009]步骤S104:处理完成。
[0010]进一步的,所述步骤S102数据处理优先级确定具体包括以下步骤,
[0011]步骤S21:延迟时间记录,记录网络爬虫数据的原始时间和当前时间的延迟;
[0012]步骤S22:流量控制开启判断,判断是否开启流量控制,如果是,则进入步骤S24;如果否,则进入步骤S23;
[0013]步骤S23:暂存数据接收,接收暂存数据,并且调整暂存数据的接收速度,进入步骤S103流量控制;
[0014]步骤S24:数据延迟量判断,判断数据延迟量是否大于延迟度量值,如果否,则进入步骤S103;如果是,则发往暂存主题,进入步骤S104。
[0015]更进一步的,所述步骤S23中暂存数据的接收速度与当前的信息处理速度之和小于阈值。
[0016]更进一步的,所述步骤S103流量控制具体包括以下步骤,
[0017]步骤S31:信息处理速度判断,判断流控系统的信息处理速度是否达到阈值,如果是,则进入步骤S32;如果否,则进入步骤S34;
[0018]步骤S32:流量控制开启;
[0019]步骤S33:延迟度量值调整,降低延迟度量值,进入步骤S104;
[0020]步骤S34:信息数据处理,优先数据处理的同时处理暂存数据,并且动态调整暂存数据的处理速度。
[0021]更进一步的,所述步骤S34中暂存数据的处理速度小于或等于阈值减去优先数据的处理速度。
[0022]采用上述方法后,本发明系统会根据消息的处理速度,周期性的动态调整延迟度量值,如果速度超过阈值,则会不断下调延迟值,意味着优先处理更新的消息。当系统恢复之后,消息处理速度降到阈值之下后,系统会自动接收之前暂存的消息,并且动态调整处理速度,从而保证系统的稳定。另外,在整个服务降级的过程中,系统无需人为干预,根据当前的速度智能调整处理消息的延迟时间窗,保证系统的稳定运行。
【附图说明】
[0023]下面将结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0024]图1为本发明一种基于时间窗口的网络爬虫流量控制自动降级方法的流程图。
【具体实施方式】
[0025]如图1所示,本发明的一种基于时间窗口的网络爬虫流量控制自动降级方法,包括以下步骤,
[0026]步骤SlOl:数据接收,接收网络爬虫数据,并对爬虫数据的接收通过消息中间件进行解耦。
[0027]步骤S102:数据处理优先级确定,通过记录网络爬虫数据的原始时间和当前时间的延迟,生成延迟时间的正态分布图,根据不同分位的延迟度量值来决定数据的优先级。具体包括以下步骤,
[0028]步骤S21:延迟时间记录,记录网络爬虫数据的原始时间和当前时间的延迟;系统运行时,会记录一段时间内每条数据的实际时间和当前时间的一个延迟值,并通过正态分布图的方式统计整体的延迟情况。
[0029]步骤S22:流量控制开启判断,判断是否开启流量控制,如果是,则进入步骤S24;如果否,则进入步骤S23。
[0030]步骤S23:暂存数据接收,接收暂存数据,并且调整暂存数据的接收速度,进入步骤S103流量控制;这里暂存数据的接收速度与当前的信息处理速度之和小于阈值。
[0031 ]步骤S24:数据延迟量判断,判断数据延迟量是否大于延迟度量值,如果否,则进入步骤S103;如果是,则发往暂存主题,进入步骤S104。
[0032]步骤S103:流量控制,将流控系统的信息处理速度与阈值对比,优先处理易于延迟度量值的数据,处理速度允许则同时处理暂存数据,控制暂存数据的处理速度。具体包括以下步骤,
[0033]步骤S31:信息处理速度判断,判断流控系统的信息处理速度是否达到阈值,如果是,则进入步骤S32;如果否,则进入步骤S34。
[0034]步骤S32:流量控制开启。
[0035]步骤S33:延迟度量值调整,当系统开启流量控制之后,会下调延迟度量值,即缩短时间窗口,优先处理延迟值更低的数据。这样通过动态调整时间窗口的大小,来达到控制消息数的目的,从而避免因为大量历史数据拖垮后续系统。
[0036]步骤S34:信息数据处理,优先数据处理的同时处理暂存数据,并且动态调整暂存数据的处理速度。这里暂存数据的处理速度小于或等于阈值减去优先数据的处理速度。
[0037]步骤S104:处理完成。
[0038]虽然以上描述了本发明的【具体实施方式】,但是本领域熟练技术人员应当理解,这些仅是举例说明,可以对本实施方式作出多种变更或修改,而不背离发明的原理和实质,本发明的保护范围仅由所附权利要求书限定。
【主权项】
1.一种基于时间窗口的网络爬虫流量控制自动降级方法,其特征在于,包括以下步骤, 步骤SlOl:数据接收,接收网络爬虫数据,并对爬虫数据的接收通过消息中间件进行解串禹; 步骤S102:数据处理优先级确定,通过记录网络爬虫数据的原始时间和当前时间的延迟,生成延迟时间的正态分布图,根据不同分位的延迟度量值来决定数据的优先级; 步骤S103:流量控制,将流控系统的信息处理速度与阈值对比,优先处理易于延迟度量值的数据,处理速度允许则同时处理暂存数据,控制暂存数据的处理速度; 步骤S104:处理完成。2.按照权利要求1所述的一种基于时间窗口的网络爬虫流量控制自动降级方法,其特征在于,所述步骤S102数据处理优先级确定具体包括以下步骤, 步骤S21:延迟时间记录,记录网络爬虫数据的原始时间和当前时间的延迟; 步骤S22:流量控制开启判断,判断是否开启流量控制,如果是,则进入步骤S24;如果否,则进入步骤S23; 步骤S23:暂存数据接收,接收暂存数据,并且调整暂存数据的接收速度,进入步骤S103流量控制; 步骤S24:数据延迟量判断,判断数据延迟量是否大于延迟度量值,如果否,则进入步骤S103;如果是,进入步骤S25; 步骤S25:发往暂存主题,进入步骤S104。3.按照权利要求2所述的一种基于时间窗口的网络爬虫流量控制自动降级方法,其特征在于:所述步骤S23中暂存数据的接收速度与当前的信息处理速度之和小于阈值。4.按照权利要求1-3中任一项所述的一种基于时间窗口的网络爬虫流量控制自动降级方法,其特征在于,所述步骤S103流量控制具体包括以下步骤, 步骤S31:信息处理速度判断,判断流控系统的信息处理速度是否达到阈值,如果是,则进入步骤S32 ;如果否,则进入步骤S34 ; 步骤S32:流量控制开启; 步骤S33:延迟度量值调整,降低延迟度量值,进入步骤S104; 步骤S34:信息数据处理,优先数据处理的同时处理暂存数据,并且动态调整暂存数据的处理速度。5.按照权利要求4所述的一种基于时间窗口的网络爬虫流量控制自动降级方法,其特征在于:所述步骤S34中暂存数据的处理速度小于或等于阈值减去优先数据的处理速度。
【专利摘要】本发明涉及网络流量控制技术领域,特别是一种基于时间窗口的网络爬虫流量控制自动降级方法,包括以下步骤,步骤S101:数据接收,接收网络爬虫数据,并对爬虫数据的接收通过消息中间件进行解耦;步骤S102:数据处理优先级确定,通过记录网络爬虫数据的原始时间和当前时间的延迟,生成延迟时间的正太分布图,根据不同分位的延迟度量值来决定数据的优先级;步骤S103:流量控制,将流控系统的信息处理速度与阈值对比,优先处理易于延迟度量值的数据,处理速度允许则同时处理暂存数据,控制暂存数据的处理速度;步骤S104:处理完成。采用上述方法后,通过动态调整处理速度,保证系统的稳定;根据当前的速度调整处理消息的延迟时间窗,保证系统的稳定运行。
【IPC分类】H04L12/851
【公开号】CN105610728
【申请号】CN201510995484
【发明人】覃璐
【申请人】湖南蚁坊软件有限公司
【公开日】2016年5月25日
【申请日】2015年12月28日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1