CN111176848A - 集群任务的处理方法、装置、设备和存储介质 - Google Patents

集群任务的处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN111176848A
CN111176848A CN201911423623.9A CN201911423623A CN111176848A CN 111176848 A CN111176848 A CN 111176848A CN 201911423623 A CN201911423623 A CN 201911423623A CN 111176848 A CN111176848 A CN 111176848A
Authority
CN
China
Prior art keywords
task
amount
concurrency
cluster
current
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
CN201911423623.9A
Other languages
English (en)
Other versions
CN111176848B (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.)
New Founder Holdings Development Co ltd
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
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 Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University Founder Group Co Ltd
Priority to CN201911423623.9A priority Critical patent/CN111176848B/zh
Publication of CN111176848A publication Critical patent/CN111176848A/zh
Application granted granted Critical
Publication of CN111176848B publication Critical patent/CN111176848B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供一种集群任务的处理方法、装置、设备和存储介质。该方法包括:上层调度模块通过获取从第一时刻至当前的任务失败量,判断在该时段中,任务失败量是否满足第一预设条件,进而,动态调整最大允许并发量,实现对对采集任务的合理调度,避免高并发导致的分布式采集集群访问压力过高。上层调度模块还可以通过获取预设时间间隔内的任务失败量和当前任务并发量,判断在该时段中,任务失败量是否满足第二预设条件,进而,动态调整最大允许并发量,减少分布式采集集群资源浪费。

Description

集群任务的处理方法、装置、设备和存储介质
技术领域
本申请涉及计算机技术,尤其涉及一种集群任务的处理方法、装置、设备和存储介质。
背景技术
随着现代信息技术的不断发展,世界已跨入了大数据时代。大数据的本质是海量的、多维度、多形式的数据。爬虫技术是收集数据的一种重要手段。在大数据系统中,网络爬虫已经成为重要的组成部分。图1示出了集群任务的处理的场景示意图,其中,分布式网络爬虫系统主要包括分布式采集集群和上层调度模块。上层调度模块负责生成采集任务,其具体地调度任务内容,可以包括新闻调度、论坛调度、元搜索、图书调度、头条号召调度等等。分布式采集集群包括采集节点和控制节点,其中,采集节点用于具体执行下载、解析等任务,控制节点用于接收任务、任务调度和反馈任务结果。
在现有技术中,上层调度模块生成采集任务,并将任务发送给分布式采集集群。分布式采集集群的控制节点,接收到上层调度发送的采集任务,并根据采集集群的资源,对采集任务进行调度。
使用现有技术对采集任务进行调度的过程中,容易出现采集集群访问压力过高的问题。
发明内容
本申请提供一种集群任务的处理方法、装置、设备和存储介质,用以解决现有技术中,分布式网络爬虫系统在任务调度过程中,容易出现访问压力过高的问题。
第一方面,本申请提供一种集群任务的处理方法,应用于分布式爬虫系统中的上层调度模块,所述方法包括:
当接收到任务结果,且所述任务结果指示因资源缺少导致任务失败时,获取从第一时刻至当前的任务失败量,其中,所述第一时刻为上次调整最大允许并发量的时刻;
在确定所述任务失败量满足第一预设条件时,降低最大允许并发量;
根据降低后的最大允许并发量进行任务调度。
可选地,所述第一预设条件包括:
所述任务失败量达到从第一时刻至当前的任务总量的第一预设比例;
或者,
所述任务失败量达到从第一时刻至当前的任务成功量的第二预设比例。
第二方面,本申请提供一种集群任务的处理方法,应用于分布式爬虫系统中的上层调度模块,所述方法包括:
获取当前任务并发量以及在预设时间间隔内因资源缺少导致的任务失败量;
若所述当前任务并发量以及所述任务失败量满足第二预设条件,提高最大允许并发量;
根据提高后的最大允许并发量进行任务调度。
可选地,所述第二预设条件包括:
当前任务并发量达到当前的最大允许并发量的第三预设比例,且所述任务失败量达到所述预设时间间隔的任务总量的第四预设比例;
或者,
当前任务并发量达到当前的最大允许并发量的第五预设比例,且所述任务失败量达到所述预设时间间隔的成功任务量的第六预设比例。
第三方面,本申请提供一种集群任务的处理装置,应用于分布式爬虫系统中的上层调度模块,所述装置包括:
第一获取模块,用于当接收到任务结果,且所述任务结果指示因资源缺少导致任务失败时,获取从第一时刻至当前的任务失败量,其中,所述第一时刻为上次调整最大允许并发量的时刻;
第一处理模块,用于在确定所述任务失败量满足第一预设条件时,降低最大允许并发量;
第一调度模块,用于根据降低后的最大允许并发量进行任务调度。
可选地,所述第一处理模块,还包括:
所述任务失败量达到从第一时刻至当前的任务总量的第一预设比例;
或者,
所述任务失败量达到从第一时刻至当前的任务成功量的第二预设比例。
第四方面,本申请提供一种集群任务的处理装置,应用于分布式爬虫系统中的上层调度模块,所述装置包括:
第二获取模块,用于获取当前任务并发量以及在预设时间间隔内因资源缺少导致的任务失败量;
第二处理模块,用于若所述当前任务并发量以及所述任务失败量满足第二预设条件,提高最大允许并发量;
第二调度模块,用于根据提高后的最大允许并发量进行任务调度。
可选地,所述第二处理模块,还包括:
当前任务并发量达到当前的最大允许并发量的第三预设比例,且所述任务失败量达到所述预设时间间隔的任务总量的第四预设比例;
或者,
当前任务并发量达到当前的最大允许并发量的第五预设比例,且所述任务失败量达到所述预设时间间隔的成功任务量的第六预设比例。
第五方面,本申请提供一种电子设备,包括:通信接口、存储器,处理器;
存储器用于存储程序指令;
处理器用于控制通信接口实现电子设备的接收和发送;
处理器用于调用存储器中的程序指令执行第三方面和第三方面及第三方面和第四方面任一种可能的设计中的集群任务的处理方法。
第六方面,本申请提供一种可读存储介质,可读存储介质中存储有执行指令,当电子设备的至少一个处理器执行该执行指令时,电子设备执行第一方面和第二方面及第一方面和第二方面任一种可能的设计中的集群任务的处理方法。
本申请提供的集群任务的处理方法、装置、设备和存储介质,通过获取从第一时刻至当前的任务失败量,判断在该时段中,任务失败量是否满足第一预设条件。进而,上层调度模块调整最大允许并发量,实现对采集任务的合理调度,避免分布式采集集群访问压力过高。进一步地,上层调度模块还可以通过获取预设时间间隔内的任务失败量、成功任务量、任务总量以及当前任务并发量,判断在该时段中,任务失败量是否满足第二预设条件。进而,上层调度模块调整最大允许并发量,实现对采集任务的合理调度,避免在采集任务量大的情况下,分布式采集集群资源闲置,进而产生资源浪费。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的集群任务的处理的场景示意图;
图2为本申请一实施例提供的集群任务的处理的流程图;
图3为本申请一实施例提供的集群任务的处理的流程图;
图4为本申请一实施例提供的集群任务的处理的流程图;
图5为本申请一实施例提供的集群任务的处理装置的结构示意图;
图6为本申请一实施例提供的集群任务的处理装置的结构示意图;
图7为本申请一实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
随着现代信息技术的不断发展,世界已跨入了大数据时代。大数据的本质是海量的、多维度的、多形式的数据。爬虫技术是收集数据的一种重要手段。在大数据系统中,网络爬虫已经成为重要的组成部分。而面对当前极具膨胀的网络信息,单机爬虫已经无法跟上数据采集的效率需求,分布式网络爬虫系统已经成为数据采集的主流方式。分布式网络爬虫系统包括分布式采集集群和上层调度集群。
在现有技术中,上层调度模块向分布式采集集群发送采集任务,分布式采集集群中的控制节点,接收上层调度模块发送的采集任务,并根据分布式采集集群中的采集节点的资源情况,对采集任务进行调度。在该过程中,如果,分布式采集集群的资源余量充足,则控制节点在接收到采集任务后,根据每个采集节点的资源使用情况,将采集任务分配给合适的采集节点。如果,分布式采集集群的资源余量缺少,则控制节点在接收到采集任务后,以资源缺少的理由拒绝该任务。
当有采集任务被控制节点拒绝后,上层调度模块接收到控制节点的反馈,确认该采集任务未被执行。由于该采集任务未被执行,上层调度模块会再次向控制节点发送该任务。在上层调度模块中,采集任务的生成不受采集任务的完成情况的影响。因此,当控制节点以资源缺少的理由拒绝采集任务时,上层调度模块向控制节点发送的任务量,会随着控制节点的拒绝的任务量的增加而增加。进而,控制节点会出现访问压力过高的问题。
为了解决上述问题,本申请提供一种集群任务的处理方法、装置、设备及计算机存储介质。在该方法中,上层调度模块采用最大允许并发量指标,控制该上层调度模块向控制节点发送的采集任务的并发量。通过对该最大允许并发量的控制,可以减少上层调度模块发送的任务量,使采集集群在资源缺少的时候,接收到较少的任务量。控制节点接收的采集任务量得到控制,进而,控制节点的访问压力也得以减轻。
但是,当上层调度模块的最大允许并发量过低时,由于上层调度模块发送的采集任务量被限制,使分布式采集集群接收到的任务量较少。分布式采集集群的资源余量充足,进而,导致分布式采集集群的资源产生浪费。
为了解决上述问题,本申请提供的集群任务的处理方法、装置、设备及计算机存储介质,在通过减小上层调度模块的最大允许并发量,以减少分布式采集集群的访问压力的同时,还可以通过增加最大允许并发量,提高上层调度模块向分布式采集集群发送的采集任务的任务量,进而,增加分布式采集集群的控制节点接收到的采集任务量,提高分布式采集集群的资源利用率,避免分布式采集集群的资源的浪费。
本申请的执行主体为分布式网络爬虫系统中的上层调度模块。该上层调度模块可以为电子设备,该电子设备可以为手机、平板电脑、笔记本电脑、服务器等可以运行本系统的电子设备,本申请对此不做限制。
图2示出了本申请一实施例提供的集群任务的处理方法的流程图。如图2所示,以分布式网络爬虫系统中的上层调度模块为执行主体,本实施例的方法可以包括以下步骤:
S101、当接收到任务结果,且任务结果指示因资源缺少导致任务失败时,上层调度模块获取从第一时刻至当前的任务失败量,其中,第一时刻为上次调整最大允许并发量的时刻。
在本实施例中,上层调度模块向分布式采集集群的控制节点发送采集任务,控制节点根据分布式采集集群的资源使用情况对采集任务进行调度。控制节点接收到上层调度模块发送的采集任务后,分析该采集任务所需要的资源情况,并根据分布式采集集群的资源余量,判断分布式采集集群的剩余资源是否能够完成该采集任务。如果,分布式采集集群的剩余资源少,不足以完成该采集任务,则控制节点以资源缺少的理由,拒绝上层调度发送的采集任务。
上层调度模块接收到控制节点反馈的任务结果,该任务结果为因资源缺少导致任务失败。该情况可能因为该采集任务需要的资源量过大导致,也可能因为采集集群资源缺少引起。针对这一情况,上层调度模块需要进一步判断该任务结果产生的原因。如果该任务结果产生的原因为采集集群资源缺少,则说明在分布式采集集群当前执行的采集任务完成之前,新的采集任务可能无法被分布式采集集群执行。此时,如果上层调度模块仍旧将上层调度模块的全部采集任务发送给控制节点,则控制节点可能会因为访问量过大,导致执行效率降低,进而产生调度问题,致使更多的采集任务被拒绝执行。
其中,上层调度模块可以新闻调度模块、论坛调度模块、元搜索模块、图书调度模块或者头条号召调度模块等模块中的一个或者多个模块。
上层调度模块统计,从上次调整最大允许并发量的时刻,到当前时刻的任务执行情况,进而,根据该任务执行情况,判断当前时刻出现的任务结果产生的原因。
其中,任务执行情况,包括在该时间段内,控制节点向上层调度模块反馈的任务结果的任务总量,以及该任务结果中,为因资源缺少导致任务失败的任务失败量。
S102、上层调度模块在确定任务失败量满足第一预设条件时,降低最大允许并发量。
在本实施例中,上层调度模块在S101获取到,从上次调整最大允许并发量的时刻,至当前时刻,控制节点向上层调度模块反馈的任务结果的任务总量、该任务结果中,为因资源缺少导致任务失败的任务失败量,以及该任务结果中,反馈结果为任务成功的任务成功量。
上层调度模块根据第一预设条件和任务失败量,判断分布式采集集群的资源的实际情况。如果任务失败量满足第一预设条件,则认为分布式采集集群的资源紧张,需要降低并发量,以实现资源的合理配置。如果任务失败量不满足第一预设条件,则认为当前虽然出现因资源缺失导致任务失败,但该的情况的出现并不是分布式采集集群的资源紧张导致。
可选地,第一预设条件包括任务失败量达到任务总量的第一预设比例,或者,任务失败量达到从第一时刻至当前的任务成功量的第二预设比例。
其中,第一预设比例和第二预设比例为根据经验值设定的数值。
例如,当第一预设比例为0.1时,第一预设条件可以为:
任务失败量>任务成功量×0.1
或者,
任务失败量>任务总量×0.1
当任务失败量满足第一预设条件时,上层调度模块降低最大允许并发量,进而,控制上层调度模块可以向控制节点发送的任务数量,避免分布式采集集群的控制节点的访问压力过高。
其中,最大允许并发量的降低方式可以为:
最大允许并发量=最大允许并发量×调整参数
其中,调整参数可以为0.9、0.8、0.7等等,本申请对此不作限制,该调整参数根据经验值确定。
S103、上层调度模块根据降低后的最大允许并发量进行任务调度。
在本实施例中,上层调度模块根据S102的结果,获得调整后的最大允许并发量,并根据该最大允许并发量对采集任务进行调度,以避免分布式采集集群的控制节点的访问压力过高。
当上层调度模块的当前并发量小于最大允许并发量时,上层调度模块根据最大允许并发量,继续向分布式采集集群的控制节点发送采集任务。当上层调度模块的当前任务并发量大于等于最大允许并发量时,上层调度不向分布式采集集群的控制节点发送采集任务,直到控制节点反馈采集任务的任务结果,使上层调度的当前并发量降低。
上层调度模块根据当前并发量和最大允许并发量,判断是否可以向分布式采集集群发送采集任务。该判断频率可以为固定阈值进行判断,也可以为实时判断,还可以为在上层调度模块接收到控制节点反馈的任务结果后进行判断。
本实施例提供的集群任务的处理方法,通过获取从第一时刻至当前的任务失败量,判断在该时段中,任务失败量是否满足第一预设条件,进而,判断是否需要降低最大允许并发量。从而,上层调度模块实现对采集任务发送量的控制,避免分布式采集集群访问压力过高。
图3示出了本申请一实施例提供的集群任务的处理方法的流程图。针对当上层调度模块的最大允许并发量过低,导致的分布式采集集群的资源闲置问题,以分布式网络爬虫系统中的上层调度模块为执行主体,处理方法的具体实现过程,如图3所示,可以包括以下步骤:
S201、上层调度模块获取当前任务并发量以及在预设时间间隔内因资源缺少导致的任务失败量。
在本实施例中,当发送给分布式采集集群的采集任务减少时,分布式采集集群的资源出现闲置,进而,产生了分布式采集集群资源的浪费。然而,此时上层调度模块向分布式采集集群发送的采集任务少,可能由于最大允许并发量过低导致大量任务堆积,无法及时处理,也可能由于上层调度模块的采集需求少,进而使采集任务少。
当出现在预设时间间隔内,上层调度模块没有出现最大允许并发量的调整时,说明在分布式采集集群中,采集任务的完成效率高,分布式采集集群的资源充足,分布式采集集群的采集任务的任务量少。此时,为了确保分布式采集集群的资源的有效利用,需要进一步判断,该情况是否是因为最大允许并发量过低导致。如果,最大允许并发量过低,导致上层调度模块发送给分布式采集集群的采集任务数量减少,而上层调度模块中大量采集任务堆积,无法被执行,则说明分布式采集集群资源的利用效率低。
因此,上层调度模块统计从上一次调整最大允许并发量后,控制节点反馈的任务结果、该任务结果中,为因资源缺少导致任务失败的任务失败量、以及当前的任务并发量。
其中,从上一次调整最大允许并发量,到当前时刻的时间间隔为预设时间间隔。该预设时间间隔可以为1分钟、2分钟或者30秒等时间间隔,本申请对此不做限制,其具体取值根据经验值确定。
其中,当前时刻的并发量为,在当前时刻,上层调度模块已经发送给控制节点,但是还没有收到控制节点反馈结果的任务数量。
S202、若当前任务并发量以及任务失败量满足第二预设条件,上层调度模块提高最大允许并发量。
在本实施例中,上层调度模块在S201中,获得在预设时间间隔内,控制节点反馈的任务结果、该任务结果中,为因资源缺少导致任务失败的任务失败量、以及当前的任务并发量。
上层调度模块根据第二预设条件、当前任务并发量以及任务失败量,判断分布式采集集群的资源配置情况。如果当前任务并发量以及任务失败量满足第二预设条件,则认为分布式采集集群的资源充足,且上层调度模块有提高并发量的需求,需要提高并发量,以实现资源的合理配置。如果不满足第二预设条件,则认为在当前情况下,当前参数设置为最优参数,不需要调整。
可选的,第二预设条件包括当前任务并发量达到当前的最大允许并发量的第三预设比例,且任务失败量达到预设时间间隔的任务总量的第四预设比例,或者,当前任务并发量达到当前的最大允许并发量的第五预设比例,且任务失败量达到预设时间间隔的成功任务量的第六预设比例。
其中,第三预设比例、第四预设比例、第五预设比例和第六预设比例为根据经验值设定的数值。
在本步骤中,如果当前任务并发量达到当前的最大允许并发量的第三预设比例,则说明上层调度模块堆积的任务量大,最大允许并发量限制了上层调度模块向分布式采集集群发送采集任务。此时,如果分布式采集集群的资源充足,则上调最大允许并发量,提高分布式采集集群的并发任务量。
其中,第二预设条件可以为:
任务与失败量<任务成功量×调整参数
或者,
任务与失败量<任务总量×调整参数
其中,调整参数可以为0.9、0.8、0.7等等,本申请对此不作限制,该调整参数根据经验值确定。
当满足第二预设条件时,上层调度模块提高最大允许并发量,进而,通过增加并发任务数量,减少分布式采集集群资源的浪费,实现资源的合理配置。
其中,最大允许并发量的提高方式可以为:
最大允许并发量=最大允许并发量×调整参数
其中,调整参数可以为1.1、1.2、1.3等等,本申请对此不作限制,该调整参数根据经验值确定。
S203、上层调度模块根据提高后的最大允许并发量进行任务调度。
在本实施例中,上层调度模块在根据S202的结果,获得调整后的最大允许并发量,并根据该最大允许并发量对采集任务进行调度,以避免上层调度模块的采集任务堆积,而分布式采集集群的资源空置,导致的资源浪费。
当上层调度模块的当前并发量小于最大允许并发量时,上层调度模块根据最大允许并发量,继续向分布式采集集群的控制节点发送采集任务。当上层调度模块的当前任务并发量大于等于最大允许并发量时,上层调度不向分布式采集集群的控制节点发送采集任务,直到控制节点反馈采集任务的任务结果,使上层调度的当前并发量降低。
上层调度模块根据当前并发量和最大允许并发量,判断是否可以向分布式采集集群发送采集任务。该判断频率可以为固定阈值进行判断,也可以为实时判断,还可以为在上层调度模块接收到控制节点反馈的任务结果后进行判断。
本实施例提供的集群任务的处理方法,通过获取预设时间间隔内的任务失败量、成功任务量、任务总量以及当前任务并发量,判断在当前时刻,第二预设条件是否被满足。通过调整上层调度模块的最大允许并发量,实现采集任务的合理调度,以避免上层调度模块的采集任务堆积,而分布式采集集群的资源空置,导致的资源浪费。
在上述各实施例的基础上,执行上述方案之前,该集群任务的处理方法还需要设置上层调度模块的参数,下面通过一具体实施方式进行说明。
图4示出了本申请一实施例提供的集群任务的处理方法的流程图。如图4所示,该集群任务的处理方法还包括以下步骤:
S301、配置最大并发量、最小并发量和集群指定配额等参数。
在本实施例中,在上层调度模块向分布式采集集群分配采集任务之前,上层调度模块获取管理员配置的最大并发量、最小并发量和集群指定配额等参数。
其中,集群指定配额为管理员根据分布式采集集群的节点资源,计算得到的分布式采集集群的最大并发量,所有上层调度模块的最大允许并发量,不超过该集群指定配额。
其中,最大并发量和最小并发量为管理员根据上层调度模块的采集任务,设定的最大允许并发量的调整范围。
S302、如果当前任务并发量大于集群指定配额,则上层调度模块调整最大允许并发量为当前并发量。
在本实施例中,集群指定配额为该分布式采集集群的最大允许并发量。当上层调度模块向分布式采集集群的控制节点发送采集任务时,如果控制节点因为超过集群指定配额而拒绝采集任务,则说明,当前分布式采集集群的任务量已经饱和,不能执行更多任务。此时,调整最大允许并发为当前并发量,即集群指定配额。进而,确保分布式采集集群中的采集任务可以被有效执行。
S303、当接收到任务结果,且任务结果指示因资源缺少导致任务失败时,上层调度模块获取从第一时刻至当前的任务失败量,其中,第一时刻为上次调整最大允许并发量的时刻。
其中,S303与图2实施例中的S101实现方式类似,本实施例此处不再赘述。
S304、如果上次调整到当前的时间间隔小于预设阈值,则不进行调整。
在本实施例,在每次调整最大允许并发量之前,还需要获取上次调整到当前的时间间隔。如果时间间隔小于预设阈值,则说明两次调整的时间间隔过短,不进行调整。对于上层调度模块而言,过于频繁的调整最大允许并发量,在增加计算成本的同事,还不利于任务分配。因此,设定两次调整最大允许并发量的时间间隔的预设阈值,有利于节约上层调度模块的计算成本,确保任务分配效率,进而提高分布式采集集群的资源利用率。
其中,预设阈值为经验值。
S305、上层调度模块在确定任务失败量满足第一预设条件时,降低最大允许并发量。
其中,S304与图2实施例中的S102实现方式类似,本实施例此处不再赘述。
S306、如果,最大允许并发量大于最大并发量,则设置最大允许并发量为最大并发量;如果,最大允许并发量小于最小并发量,则设置最大允许并发量为最小并发量。
在本实施例中,管理员根据集群指定配额估计得到的最大并发量和最小并发量,该最大并发量和最小并发量用于限制最大允许并发量的调整范围。该范围的设定,可以避免在极端情况下,最大允许并发量被调整为过大或者过小的值,进而导致分布式采集集群不稳定。当S202调整后的最大允许并发量大于最大并发量时,调整最大允许并发量为最大并发量,确保最大允许并发量不会过大,进而导致任务失败率上升。当S305调整后的最大允许并发量小于最小并发量时,调整最大允许并发量为最小并发量,确保最大允许并发量不会过小,进而导致分布式采集集群的资源浪费。
S307、上层调度模块根据降低后的最大允许并发量进行任务调度。
其中,S306与图2实施例中的S103实现方式类似,本实施例此处不再赘述。
本实施例提供的集群任务的处理方法,通过设定最大并发量、最小并发量和集群指定配额等参数,对最大允许并发量的调整进行限定。上层调度模块通过设置预设阈值,控制最大允许并发量的调整间隔,确保调整不会过于频繁。上层调度模块通过设定最大并发量和最小并发量,控制最大允许并发量的调整范围,确保在极端情况下,最大允许并发量不会出现极端值。上层调度模块通过上述控制,确保最大允许并发量在平稳的进行调节,进而,保持系统稳定。
图5示出了本申请一实施例提供的集群任务的处理装置的结构示意图,如图5所示,本实施例的集群任务的处理装置10用于实现上述图2所示实施例中对应于电子设备的操作,本实施例的集群任务的处理装置10可以包括:
第一获取模块11,用于当接收到任务结果,且任务结果指示因资源缺少导致任务失败时,获取从第一时刻至当前的任务失败量,其中,第一时刻为上次调整最大允许并发量的时刻。
第一处理模块12,用于在确定任务失败量满足第一预设条件时,降低最大允许并发量。
可选地,第一处理模块12,还包括:任务失败量达到任务总量的第一预设比例,或者,任务失败量达到从第一时刻至当前的任务成功量的第二预设比例。
第一调度模块13,用于根据降低后的最大允许并发量进行任务调度。
本实施例提供的集群任务的处理装置10,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
图6示出了本申请一实施例提供的集群任务的处理装置的结构示意图,如图6所示,本实施例的集群任务的处理装置20用于实现上述图3所示实施例中对应于电子设备的操作,本实施例的集群任务的处理装置20可以包括:
第二获取模块21,用于获取当前任务并发量以及在预设时间间隔内因资源缺少导致的任务失败量。
第二处理模块22,用于若当前任务并发量以及任务失败量满足第一预设条件时,提高最大允许并发量。
可选地,第二处理模块22,还包括:当前任务并发量达到当前的最大允许并发量的第三预设比例,且任务失败量达到预设时间间隔的任务总量的第四预设比例,或者,当前任务并发量达到当前的最大允许并发量的第五预设比例,且任务失败量达到预设时间间隔的成功任务量的第六预设比例。
第二调度模块23,用于根据提高后的最大允许并发量进行任务调度。
本实施例提供的集群任务的处理装置20,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
本申请中可以根据上述方法示例对集群任务的处理装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请各实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图7示出了本申请一实施例提供的电子设备的硬件结构示意图。如图7所示,该电子设备30,用于实现上述任一方法实施例中对应于电子设备的操作,本实施例的电子设备30可以包括:存储器31、处理器32和通信接口34。
存储器31,用于存储程序指令和数据。
通信接口34,用于与其他设备进行数据交互。
处理器32,用于执行存储器存储的计算机程序,以实现上述实施例中的集群任务的处理方法。具体可以参见前述方法实施例中的相关描述。
可选地,存储器31、处理器32和通信接口34,既可以是相互独立的,也可以是其中某两个或者全部集成在一起。
当存储器31、处理器32或者通信接口34中有至少一个是独立于其他的器件时,电子设备30还可以包括:
总线33,用于连接存储器31和处理器32。
可选地,本实施例还包括:通信接口34,该通信接口34可以通过总线33与处理器32连接。处理器32可以控制通信接口33来实现电子设备30的上述的接收和发送的功能。
可以理解,图5所示的结构仅为示意,电子设备30还可以包括比图5中所示更多或者更少的组件,或者具有与图5所示不同配置的电子设备。图5中所示的各组件可以采用硬件、软件或其组合实现。
本实施例提供的电子设备可用于执行上述的集群任务的处理方法,其实现方式和技术效果类似,本实施例此处不再赘述。
本申请还提供一种计算机可读存储介质,计算机可读存储介质包括计算机程序,计算机程序用于实现如上实施例中的集群任务的处理方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:CentralProcessingUnit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignalProcessor,简称:DSP)、专用集成电路(英文:ApplicationSpecificIntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(IndustryStandardArchitecture,ISA)总线、外部设备互连(PeripheralComponent,PCI)总线或扩展工业标准体系结构(ExtendedIndustryStandardArchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述各实施例对本申请进行了详细的说明,本领域的技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。应当理解的是,本申请并不局限于上面已经描述并在附图中示出的结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (10)

1.一种集群任务的处理方法,其特征在于,应用于分布式爬虫系统中的上层调度模块,所述方法包括:
当接收到任务结果,且所述任务结果指示因资源缺少导致任务失败时,获取从第一时刻至当前的任务失败量,其中,所述第一时刻为上次调整最大允许并发量的时刻;
在确定所述任务失败量满足第一预设条件时,降低最大允许并发量;
根据降低后的最大允许并发量进行任务调度。
2.根据权利要求1所述的方法,其特征在于,所述第一预设条件包括:
所述任务失败量达到从第一时刻至当前的任务总量的第一预设比例;
或者,
所述任务失败量达到从第一时刻至当前的任务成功量的第二预设比例。
3.一种集群任务的处理方法,其特征在于,应用于分布式爬虫系统中的上层调度模块,所述方法包括:
获取当前任务并发量以及在预设时间间隔内因资源缺少导致的任务失败量;
若所述当前任务并发量以及所述任务失败量满足第二预设条件,提高最大允许并发量;
根据提高后的最大允许并发量进行任务调度。
4.根据权利要求3所述的方法,其特征在于,所述第二预设条件包括:
当前任务并发量达到当前的最大允许并发量的第三预设比例,且所述任务失败量达到所述预设时间间隔的任务总量的第四预设比例;
或者,
当前任务并发量达到当前的最大允许并发量的第五预设比例,且所述任务失败量达到所述预设时间间隔的成功任务量的第六预设比例。
5.一种集群任务的处理装置,其特征在于,应用于分布式爬虫系统中的上层调度模块,所述装置包括:
第一获取模块,用于当接收到任务结果,且所述任务结果指示因资源缺少导致任务失败时,获取从第一时刻至当前的任务失败量,其中,所述第一时刻为上次调整最大允许并发量的时刻;
第一处理模块,用于在确定所述任务失败量满足第一预设条件时,降低最大允许并发量;
第一调度模块,用于根据降低后的最大允许并发量进行任务调度。
6.根据权利要求5所述的装置,其特征在于,所述第一处理模块,还包括:
所述任务失败量达到从第一时刻至当前的任务总量的第一预设比例;
或者,
所述任务失败量达到从第一时刻至当前的任务成功量的第二预设比例。
7.一种集群任务的处理装置,其特征在于,应用于分布式爬虫系统中的上层调度模块,所述装置包括:
第二获取模块,用于获取当前任务并发量以及在预设时间间隔内因资源缺少导致的任务失败量;
第二处理模块,用于若所述当前任务并发量以及所述任务失败量满足第二预设条件,提高最大允许并发量;
第二调度模块,用于根据提高后的最大允许并发量进行任务调度。
8.根据权利要求7所述的装置,其特征在于,所述第二处理模块,还包括:
当前任务并发量达到当前的最大允许并发量的第三预设比例,且所述任务失败量达到所述预设时间间隔的任务总量的第四预设比例;
或者,
当前任务并发量达到当前的最大允许并发量的第五预设比例,且所述任务失败量达到所述预设时间间隔的成功任务量的第六预设比例。
9.一种电子设备,其特征在于,包括:通信接口、存储器,处理器;
存储器用于存储程序指令;
处理器用于控制通信接口实现电子设备的接收和发送;
处理器用于调用存储器中的程序指令执行如权利要求1至4任一项所述的集群任务的处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至4任一项所述的集群任务的处理方法。
CN201911423623.9A 2019-12-31 2019-12-31 集群任务的处理方法、装置、设备和存储介质 Active CN111176848B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911423623.9A CN111176848B (zh) 2019-12-31 2019-12-31 集群任务的处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911423623.9A CN111176848B (zh) 2019-12-31 2019-12-31 集群任务的处理方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111176848A true CN111176848A (zh) 2020-05-19
CN111176848B CN111176848B (zh) 2023-05-26

Family

ID=70656032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911423623.9A Active CN111176848B (zh) 2019-12-31 2019-12-31 集群任务的处理方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111176848B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114679592A (zh) * 2022-02-07 2022-06-28 上海哔哩哔哩科技有限公司 边缘集群调度方法及装置

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110067030A1 (en) * 2009-09-16 2011-03-17 Microsoft Corporation Flow based scheduling
CN105468450A (zh) * 2015-12-29 2016-04-06 华为技术有限公司 任务调度方法及系统
WO2017107495A1 (zh) * 2015-12-24 2017-06-29 中兴通讯股份有限公司 调度的处理方法及装置
CN107908465A (zh) * 2017-10-19 2018-04-13 深圳索信达数据技术股份有限公司 大数据平台的任务调度方法
CN108205541A (zh) * 2016-12-16 2018-06-26 北大方正集团有限公司 分布式网络爬虫任务的调度方法及装置
CN108762896A (zh) * 2018-03-26 2018-11-06 福建星瑞格软件有限公司 一种基于Hadoop集群任务调度方法及计算机设备
CN109242945A (zh) * 2018-12-13 2019-01-18 深圳市彬讯科技有限公司 分布式渲染的智能调度方法、装置、设备及存储介质
CN109327550A (zh) * 2018-11-30 2019-02-12 网宿科技股份有限公司 一种访问请求的分配方法、装置、存储介质和计算机设备
CN109391680A (zh) * 2018-08-31 2019-02-26 阿里巴巴集团控股有限公司 一种定时任务数据处理方法、装置及系统
CN109582451A (zh) * 2018-11-21 2019-04-05 金色熊猫有限公司 任务调度方法、系统、设备以及可读介质
CN109614227A (zh) * 2018-11-23 2019-04-12 金色熊猫有限公司 任务资源调配方法、装置、电子设备及计算机可读介质
CN109947532A (zh) * 2019-03-01 2019-06-28 中山大学 一种教育云平台中的大数据任务调度方法
CN110377410A (zh) * 2019-07-16 2019-10-25 中信百信银行股份有限公司 任务调度方法、系统、电子设备及计算机可读存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110067030A1 (en) * 2009-09-16 2011-03-17 Microsoft Corporation Flow based scheduling
WO2017107495A1 (zh) * 2015-12-24 2017-06-29 中兴通讯股份有限公司 调度的处理方法及装置
CN105468450A (zh) * 2015-12-29 2016-04-06 华为技术有限公司 任务调度方法及系统
CN108205541A (zh) * 2016-12-16 2018-06-26 北大方正集团有限公司 分布式网络爬虫任务的调度方法及装置
CN107908465A (zh) * 2017-10-19 2018-04-13 深圳索信达数据技术股份有限公司 大数据平台的任务调度方法
CN108762896A (zh) * 2018-03-26 2018-11-06 福建星瑞格软件有限公司 一种基于Hadoop集群任务调度方法及计算机设备
CN109391680A (zh) * 2018-08-31 2019-02-26 阿里巴巴集团控股有限公司 一种定时任务数据处理方法、装置及系统
CN109582451A (zh) * 2018-11-21 2019-04-05 金色熊猫有限公司 任务调度方法、系统、设备以及可读介质
CN109614227A (zh) * 2018-11-23 2019-04-12 金色熊猫有限公司 任务资源调配方法、装置、电子设备及计算机可读介质
CN109327550A (zh) * 2018-11-30 2019-02-12 网宿科技股份有限公司 一种访问请求的分配方法、装置、存储介质和计算机设备
CN109242945A (zh) * 2018-12-13 2019-01-18 深圳市彬讯科技有限公司 分布式渲染的智能调度方法、装置、设备及存储介质
CN109947532A (zh) * 2019-03-01 2019-06-28 中山大学 一种教育云平台中的大数据任务调度方法
CN110377410A (zh) * 2019-07-16 2019-10-25 中信百信银行股份有限公司 任务调度方法、系统、电子设备及计算机可读存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SASCHA HUNOLD: "Low-Cost Tuning of Two-Step Algorithms for Scheduling Mixed-Parallel Applications onto Homogeneous Clusters", 《2010 10TH IEEE/ACM INTERNATIONAL CONFERENCE ON CLUSTER, CLOUD AND GRID COMPUTING》 *
吕方 等: "面向并发性能下降的调度策略的综述", 《计算机研究与发展》 *
李磊: "ETL任务集群调度方法", 《计算机技术与发展》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114679592A (zh) * 2022-02-07 2022-06-28 上海哔哩哔哩科技有限公司 边缘集群调度方法及装置
WO2023147750A1 (zh) * 2022-02-07 2023-08-10 上海哔哩哔哩科技有限公司 边缘集群调度方法及装置

Also Published As

Publication number Publication date
CN111176848B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
CN107832126B (zh) 一种线程的调整方法及其终端
CN108881495B (zh) 资源分配方法、装置、计算机设备及存储介质
CN107851039A (zh) 用于资源管理的系统和方法
CN110333937A (zh) 任务分发方法、装置、计算机设备和存储介质
CN107766145B (zh) 双系统下的内存管理方法和装置
CN111209110B (zh) 一种实现负载均衡的任务调度管理方法、系统和存储介质
CN112445575B (zh) 多集群资源调度方法、装置及系统
CN109783255B (zh) 数据解析分发装置及高并发数据处理方法
CN100518132C (zh) 分布式交通信息存储文件系统
CN111400039A (zh) 云平台的控制方法和装置、云平台系统、电子设备
CN114615340A (zh) 一种请求处理方法、装置、计算机设备和存储装置
CN112363834A (zh) 任务处理方法、装置、终端和存储介质
CN111176848A (zh) 集群任务的处理方法、装置、设备和存储介质
CN111586140A (zh) 一种数据交互的方法及服务器
CN114629960A (zh) 资源调度方法、装置、系统、设备、介质和程序产品
CN102137091A (zh) 一种过负荷控制方法、装置、系统及客户端
CN113268310B (zh) 一种Pod资源配额调整方法、装置、电子设备及存储介质
CN114143327A (zh) 集群资源配额分配方法、装置及电子设备
CN113051063B (zh) 分布式任务的任务调度方法、装置及电子设备
CN117056080A (zh) 计算资源的分配方法、装置、计算机设备和存储介质
CN111143063A (zh) 任务的资源预约方法及装置
CN111209098A (zh) 一种智能渲染调度方法、服务器、管理节点及存储介质
CN115587049A (zh) 内存回收方法、装置、电子设备及存储介质
CN109670932A (zh) 信贷数据核算方法、装置、系统和计算机存储介质
CN114706663A (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: 20230704

Address after: 3007, Hengqin International Financial Center Building, No. 58 Huajin Street, Hengqin New District, Zhuhai City, Guangdong Province, 519030

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871, Beijing, Haidian District, Cheng Fu Road, No. 298, Zhongguancun Fangzheng building, 9 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

TR01 Transfer of patent right