CN112162865B - 服务器的调度方法、装置和服务器 - Google Patents

服务器的调度方法、装置和服务器 Download PDF

Info

Publication number
CN112162865B
CN112162865B CN202011208370.6A CN202011208370A CN112162865B CN 112162865 B CN112162865 B CN 112162865B CN 202011208370 A CN202011208370 A CN 202011208370A CN 112162865 B CN112162865 B CN 112162865B
Authority
CN
China
Prior art keywords
target
job task
task
server
node server
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
CN202011208370.6A
Other languages
English (en)
Other versions
CN112162865A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202011208370.6A priority Critical patent/CN112162865B/zh
Publication of CN112162865A publication Critical patent/CN112162865A/zh
Application granted granted Critical
Publication of CN112162865B publication Critical patent/CN112162865B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
    • 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
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

本说明书提供了服务器的调度方法、装置和服务器。在大数据领域中,基于该方法在从公共任务队列中获取待处理目标作业任务的同时,还会获取目标作业任务的属性信息,以及多个节点服务器的当前状态参数;进一步,再根据目标作业任务的属性信息、多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值;根据上述资源适配值,从多个节点服务器中筛选出匹配的节点服务器作为适于处理目标作业任务的目标节点服务器;再将目标作业任务发送至目标节点服务器进行处理。从而能充分、有效地利用节点服务器的处理资源,准确地调度合适的节点服务器处理作业任务,提高系统整体的作业任务处理效率。

Description

服务器的调度方法、装置和服务器
技术领域
本说明书属于大数据技术领域,尤其涉及服务器的调度方法、装置和服务器。
背景技术
在诸如银行的交易数据处理等大数据处理的场景中,往往会涉及到大量数据的数据处理,系统服务器每天都会面临数据量庞大的待处理的作业任务。
通常系统服务器会根据一些固定的调度规则,调度节点服务器来处理具体的作业任务。而基于现有的调度方法,往往存在服务器调度不合理,影响系统整体的作业任务处理效率的技术问题。并且,基于现有方法,在要求调度成本较优的前提下,也缺少用于解决上述作业调度问题完备的解决方案。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书提供了一种服务器的调度方法、装置和服务器,以解决现有方法中存在的服务器调度不合理,影响系统整体的作业任务处理效率的技术问题,达到能充分、有效地利用节点服务器的处理资源,准确地调度节点服务器处理相应的作业任务,提高系统整体的作业任务处理效率的技术效果。
本说明书提供了一种服务器的调度方法,包括:
从公共任务队列中获取目标作业任务,以及目标作业任务的属性信息;
获取多个节点服务器的当前状态参数;
根据所述目标作业任务的属性信息和所述多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值;
根据所述资源适配值,从所述多个节点服务器中筛选出匹配的节点服务器作为目标节点服务器;
将所述目标作业任务发送至目标节点服务器。
在一个实施例中,从公共任务队列中获取目标作业任务,包括:
获取公共任务队列中的各个作业任务的当前处理状态,以及各个作业任务的建立时间;
根据作业任务的当前处理状态,以及作业任务的建立时间,从所述公共任务队列中筛选出当前处理状态为未分配,且建立时间满足预设的时间要求的作业任务,作为所述目标作业任务。
在一个实施例中,所述当前状态参数包括以下至少之一:当前的CPU属性参数、当前的硬盘属性参数、当前的网络参数、当前的作业情况参数。
在一个实施例中,获取多个节点服务器的当前状态参数,包括:
接收布设于节点服务器的心跳程序定时发送的心跳报告;
根据所述心跳报告,确定出节点服务器的当前状态参数。
在一个实施例中,获取多个节点服务器的当前状态参数,包括:
接收节点服务器发送的作业任务获取请求;其中,所述作业任务获取请求携带有状态参数包,所述节点服务器在检测到存在空闲线程的情况下发送所述作业任务获取请求;
从所述作业任务获取请求中提取出所述状态参数包,根据所述状态参数包,确定节点服务器的当前状态参数。
在一个实施例中,所述心跳报告还携带有第一时间戳,所述作业任务获取请求还携带有第二时间戳。
在一个实施例中,获取多个节点服务器的当前状态参数,还包括:
在接收到指示同一个节点服务器的心跳报告和作业任务获取请求的情况下,从所述心跳报告中提取第一时间戳,从所述作业任务获取请求中提取第二时间戳;
比较所述第一时间戳和所述第二时间戳,得到比较结果;
根据比较结果,从所述心跳报告和所述作业任务获取请求中筛选出满足时效性要求的数据来确定节点服务器的当前状态参数。
在一个实施例中,所述目标作业任务的属性信息包括以下至少之一:目标作业任务的作业类型、目标作业任务的优先级标记、目标作业任务的最低处理配置。
在一个实施例中,所述作业类型包括:计算密集型、IO密集型。
在一个实施例中,根据所述目标作业任务的属性信息和所述多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值,包括:
根据目标作业任务的属性信息,确定出目标作业任务的作业类型;
根据目标作业任务的作业类型,从多组权重参数组中,确定出与目标作业任务的作业类型匹配的权重参数组,作为目标权重参数组;
利用预设的资源抢占式算法,基于各个节点服务器的当前状态参数,以及所述目标权重参数组,进行加权运算,得到各个节点服务器关于目标作业任务的资源适配值。
在一个实施例中,根据所述资源适配值,从所述多个节点服务器中筛选出匹配的节点服务器作为目标节点服务器,包括:
根据所述资源适配值,从多个节点服务器中筛选出资源适配值最大的节点服务器作为目标节点服务器。
在一个实施例中,在将所述目标作业任务发送至目标节点服务器之后,所述方法还包括:
将公共任务队列中目标作业任务的当前处理状态更新为:已分配,且未完成。
在一个实施例中,所述方法还包括:
接收目标节点服务器反馈的关于目标作业任务的处理结果;
根据所述处理结果,更新公共任务队列中目标作业任务的处理状态。
本说明书还提供了一种服务器的调度装置,包括:
第一获取模块,用于从公共任务队列中获取目标作业任务,以及目标作业任务的属性信息;
第二获取模块,用于获取多个节点服务器的当前状态参数;
确定模块,用于根据所述目标作业任务的属性信息和所述多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值;
筛选模块,用于根据所述资源适配值,从所述多个节点服务器中筛选出匹配的节点服务器作为目标节点服务器;
发送模块,用于将所述目标作业任务发送至目标节点服务器。
本说明书还提供了一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:从公共任务队列中获取目标作业任务,以及目标作业任务的属性信息;获取多个节点服务器的当前状态参数;根据所述目标作业任务的属性信息和所述多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值;根据所述资源适配值,从所述多个节点服务器中筛选出匹配的节点服务器作为目标节点服务器;将所述目标作业任务发送至目标节点服务器。
本说明书提供的一种服务器的调度方法、装置和服务器,通过在从公共任务队列中获取待处理目标作业任务的同时,还获取目标作业任务的属性信息,以及多个节点服务器的当前状态参数;进一步,再根据目标作业任务的属性信息、多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于该目标作业任务的资源适配值;进而可以根据上述资源适配值,从多个节点服务器中筛选出匹配的节点服务器作为适合处理该目标作业任务的目标节点服务器;并将上述目标作业任务发送至对应的目标节点服务器进行处理。通过利用上述预设的资源抢占式算法能同时兼顾目标作业任务的属性信息和节点服务器的状态参数,准确地找到当前适合处理目标作业任务的目标节点服务器进行调度,从而能够充分、有效地利用节点服务器的处理资源,准确、合理地调度相应的节点服务器来处理作业任务,提高系统整体的作业任务处理效率。解决现有方法中存在的服务器调度不合理,影响系统整体的作业任务处理效率的技术问题。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书的一个实施例提供的服务器的调度方法的流程示意图;
图2是应用本说明书实施例提供的服务器的调度方法的数据处理系统的结构组成示意图;
图3是本说明书的一个实施例提供的服务器的结构组成示意图;
图4是本说明书的一个实施例提供的服务器的调度装置的结构组成示意图;
图5是在一个场景示例中,应用本说明书实施例提供的服务器的调度方法的一种实施例的示意图;
图6是在一个场景示例中,应用本说明书实施例提供的服务器的调度方法的一种实施例的示意图;
图7是在一个场景示例中,应用本说明书实施例提供的服务器的调度方法的一种实施例的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
考虑到现有的服务器的调度方法往往是根据相对固定的调度规则来调度节点服务器处理作业任务,没有考虑到待处理的作业任务的具体特点,以及节点服务器的具体状态,无法充分有效地利用节点服务器的处理资源,导致在基于大数据的处理场景中,面对数据量庞大的待处理的作业任务时,容易出现服务器调度不合理,影响系统整体的作业任务处理效率的技术问题。
针对产生上述问题的根本原因,本说明书考虑可以在从公共任务队列中获取待处理目标作业任务的同时,获取目标作业任务的属性信息,以及多个节点服务器的当前状态参数;进一步,再根据目标作业任务的属性信息、多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值;进而可以根据上述资源适配值,从多个节点服务器中筛选出匹配的节点服务器作为适于处理目标作业任务的目标节点服务器;将上述目标作业任务发送至目标节点服务器进行处理。
通过上述方式,可以通过利用预设的资源抢占式算法同时兼顾目标作业任务的属性信息和节点服务器的状态参数,准确地找到当前适合处理目标作业任务的目标节点服务器进行调度来处理目标作业任务,从而能够充分、有效地利用节点服务器的处理资源,准确地调度节点服务器处理相应的作业任务,提高系统整体的作业任务处理效率。
基于上述思路,参阅图1所示,本说明书实施例提供了一种服务器的调度方法。其中,该方法具体应用于第一服务器一侧。具体实施时,该方法可以包括以下内容。
S101:从公共任务队列中获取目标作业任务,以及目标作业任务的属性信息。
在一个实施例中,上述第一服务器具体可以理解为数据处理系统中的一种负责调度系统中的节点服务器处理该系统中待处理的作业任务的服务器。
在一个实施例中,上述数据处理系统具体可以是一种用于实现ETL(Extract、Transform、Load,抽取、转换、加载)的数据处理系统。相应的,该数据处理系统所涉及到的作业任务的处理,可以是数据的抽取处理、数据的转换处理、数据的加载处理等等。
当然,上述所列举的数据处理系统只是一种示意性说明。具体实施时,根据具体的应用场景和处理需要,上述数据处理系统还可以是用于实现其他功能的数据处理系统。相应的,所涉及到的作业任务的处理,还可以包括其他类型的数据处理。对此,本书明书不作限定。
在一个实施例中,可以参阅图2所示,该数据处理系统具体可以包括一个第一服务器,以及多个节点服务器。不同的节点服务器的硬件配置、处理性能等可以相同,也可以不同。其中,上述多个节点服务器可以通过有线或无线的方式与第一服务器相连,以便进行数据交互。一些比较复杂的数据处理系统也可以包括同时多个第一服务器。
在一个实施例中,上述第一服务器具体可以是数据处理系统中的中心服务器,也可以是多个节点服务器中通过预设协议推举出来的负责服务器调度或者作业任务分配的节点服务器。例如,上述第一服务器可以是基于Zookeeper服务协议(一种分布式服务协议)推举出来的一个负责系统中的服务器调度的节点服务器等。上述节点服务器具体可以是数据处理系统中负责具体处理作业任务的服务器。
在本实施例中,所述第一服务器、节点服务器具体可以包括一种应用于数据处理系统一侧,能够实现数据传输、数据处理等功能的后台服务器。具体的,所述第一服务器、节点服务器例如可以为一个具有数据运算、存储功能以及网络交互功能的电子设备。或者,所述第一服务器、节点服务器也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施例中,并不具体限定所述第一服务器、节点服务器所包含的服务器的数量。所述第一服务器、节点服务器具体可以为一个服务器,也可以为几个服务器,或者,由若干服务器形成的服务器集群。
在一个实施例,在第一服务器上还布设有公共任务队列(模块)。数据处理系统所接收到的待处理的作业任务可以先被第一服务器记录并保存在上述公共任务队列中,等待分配给相应的节点服务器处理。相应的,在各个节点服务器上还布设有本地任务队列,以便节点服务器在本地处理和管理所负责的作业任务。
具体的,上述公共任务队列还可以记录并保存公共任务队列中的各个作业任务的建立时间(或者接收时间);还可以记录并更新公共任务队列中的各个作业任务的处理状态;还可以获取并保存公共任务队列中的各个作业任务的属性信息等等。
在一个实施例中,上述公共任务队列中的作业任务具体可以包括:来自上游数据处理系统的业务数据所触发形成的作业任务、本数据处理系统定时触发形成的作业任务、在先的作业任务处理完成后触发形成的关联作业任务等等。
在一个实施例中,上述作业任务的处理状态具体可以包括以下至少之一:未分配;已分配,且未完成;已分配,且已完成等。当然,上述所列举的多种处理状态只是一种示意性说明。具体实施时,根据具体情况和处理需求,还可以引入其他类型的处理状态。
在一个实施例中,上述作业任务的属性信息具体可以理解为用于描述作业任务的某些特征的参数。具体的,上述属性信息可以包括:作业任务的作业类型、作业任务的优先级标记、作业任务的最低处理配置等等。当然,上述属性信息只是一种示意性说明。具体实施时,根据具体的应用场景,上述作业任务的属性信息还可以包括其他类型的属性信息,例如,作业任务的建立时间、作业任务的处理时限等。通过上述实施例,获取并利用上述作业任务的属性信息,可以较为全面地描绘出作业任务的任务特征,以便可以结合作业任务的任务特征更精确地为作业任务确定出适合处理的节点服务器。
在一个实施例中,上述作业类型具体可以包括计算密集型和IO密集型等。其中,上述计算密集型具体可以理解为一种处理时涉及到的计算量较大,对节点服务器的计算性能要求相对较高的作业类型。上述IO密集型(也可以称输入输出密集型)具体可以理解为一种处理时涉及到的交互(包括数据输入和/或数据输出)较为频繁,对节点服务器的数据传输(例如,信道、网络等)要求相对较高的作业类型。当然,上述所列举的作业类型只是一种示意性说明。具体实施时,根据具体情况,还可以包括其他的作业类型。通过上述实施例,对目标作业任务的作业类型进行区分,能够较为精细地确定出目标作业任务的在具体处理过程时所表现出的特征,进而可以根据上述特征更好地匹配出合适的节点服务器。
在一个实施例中,上述优先级标记具体可以用于表征作业任务的处理的紧迫程度。通常携带有的优先级标记的作业任务相对于没有携带有优先级标记的作业任务处理的紧迫程度更高,往往需要优先分发处理。通过上述实施例,引入能表征出作业任务的处理的紧迫程度的优先级作为一种属性信息进行考量,可以优先为紧迫程度更高的作业任务分配合适的节点服务器,以便能够尽快处理紧迫程度较高的作业任务。
在一个实施例中,相应的,上述目标作业任务的属性信息具体可以包括以下至少之一:目标作业任务的作业类型、目标作业任务的优先级标记、目标作业任务的最低处理配置等等。
在一个实施例中,上述从公共任务队列中获取目标作业任务,具体实施时,可以包括以下内容:获取公共任务队列中的各个作业任务的当前处理状态,以及各个作业任务的建立时间;根据作业任务的当前处理状态,以及作业任务的建立时间,从所述公共任务队列中筛选出当前处理状态为未分配,且建立时间满足预设的时间要求的作业任务,作为所述目标作业任务。通过上述实施例,可以综合作业任务的处理状态,以及作业任务的建立时间两种因素,确定出当前待分配待处理的目标作业任务。
在一个实施例中,上述目标作业任务具体可以理解为公共任务队列中的当前待分配待处理的作业任务。
在一个实施例中,具体实施时,第一服务器可以先根据公共任务对列中作业任务的当前处理状态,筛选出当前处理状态为未分配的作业任务作为待定作业任务。进一步,可以只针对上述待定作业任务,根据待定作业任务的建立时间,将待定作业任务按照建立时间由早到晚的顺序进行排列,获取排序在前的预设个数个作业任务作为建立时间满足预设的时间要求的作业任务,得到目标作业任务。
在一个实施例中,上述预设个数的具体数值可以根据数据处理系统中所包含的节点服务器总数,以及各个节点服务器的初始配置和初始性能确定。通过上述实施例,可以根据数据处理系统的整体性能,更合理地确定出当前要分配处理的作业任务的数量。
S102:获取多个节点服务器的当前状态参数。
在一个实施例中,上述节点服务器的当前状态参数具体可以理解为一种能反映节点服务器当前的运行状态、资源使用情况、健康情况等特征的参数数据。
在一个实施例中,上述当前状态参数具体可以包括以下至少之一:当前的CPU(中央处理器)属性参数、当前的硬盘属性参数、当前的网络参数、当前的作业情况参数等。当然,上述所列举的当前状态参数只是一种示意性说明。具体的,根据具体的应用场景和处理需求,还可以包括其他类型的状态参数,例如,当前的操作系统参数等。通过上述实施例,获取并利用上述节点服务器的状态参数,可以较为全面地描绘出待分配任务的节点服务器的状态特征,以便可以结合节点服务器的状态特征,为节点服务器分配适合处理的作业任务。
在一个实施例中,上述CPU属性参数进一步又可以包括:CPU数量、CPU使用率、CPU主频、CPU温度等。
上述硬盘属性参数进一步又可以包括:硬盘最大容量、硬盘可用容量、硬盘最大速度、硬盘可用速度、硬盘种类(例如固态硬盘、机械硬盘等)、硬盘温度等。
上述网络参数进一步又可以包括:网卡支持的最大速率、网络实际速率等。
上述作业情况参数进一步又可以包括:可支持的作业并发数量的上限值、已运行的作业数量、标准时间段内处理第一标准数量作业的平均运行时间、标准时间段内处理第二标准数量作业的平均时间、标准时间段内处理作业的失败比例等。
上述操作系统参数具体可以包括:操作系统白名单、操作系统黑名单等。
在一个实施例中,第一服务器在获取目标作业任务,以及目标作业任务的属性信息的同时;还会获取所在的数据处理系统中的各个节点服务器的当前状态参数,得到多个节点服务器的当前状态参数。
在一个实施例中,上述获取多个节点服务器的当前状态参数,具体实施时,可以包括以下内容:接收布设于节点服务器的心跳程序定时发送的心跳报告;根据所述心跳报告,确定出节点服务器的当前状态参数。通过上述实施例,可以根据定期接收到节点服务器的心跳报告,确定出节点服务器的当前状态参数。
在本实施例中,上述心跳报告具体还可以携带有心跳程序所在的节点服务器的标识信息。例如,节点服务器的名称、物理地址、服务器编号等等。
具体实施时,可以预先在节点服务器处布设心跳程序。其中,上述心跳程序可以每间隔固定的时间间隔定时触发采集所在的节点服务器的状态参数,并根据上述状态生成相应的心跳报告;将上述心跳报告发送至第一服务器。第一服务器可以接收并根据上述心跳报告确定出发送给心跳报告的心跳程序所在的节点服务器的当前状态参数。
在一个实施例中,上述获取多个节点服务器的当前状态参数,具体实施实施时,还可以包括以下内容:接收节点服务器发送的作业任务获取请求;其中,所述作业任务获取请求携带有状态参数包,所述节点服务器在检测到存在空闲线程的情况下发送所述作业任务获取请求;从所述作业任务获取请求中提取出所述状态参数包,根据所述状态参数包,确定节点服务器的当前状态参数。通过上述实施例,可以根据节点服务器发送的任务获取请求所携带的状态参数包,确定出节点服务器的当前状态参数。
在本实施例中,上述作业任务获取请求具体还可以携带有发送该作业任务获取请求的节点服务器的标识信息。例如,节点服务器的名称、物理地址、服务器编号等等。
具体实施时,节点服务器会监测线程池中的线程使用情况,在检测到线程池中存在空闲线程的情况下,可以触发生成并向节点服务器发送上述作业任务获取请求,以主动向第一节点服务器申请获取作业任务,来利用空闲线程,从而能够更加充分地利用所拥有的处理资源,避免处理资源由于闲置而造成节点服务器的处理资源的浪费。
在本实施例中,节点服务器具体生成上述作业任务获取请求时,会采集该节点服务器的状态参数,并根据所采集的状态参数生成相应的状态参数包。进而可以将携带有状态参数包的作业任务请求发送至第一服务器。第一服务器可以从所接收到的作业任务获取请求中提取出状态参数包,再根据上述状态参数包,通过数据解析,得到节点服务器的当前状态参数。
在一个实施例中,上述心跳报告具体还可以携带有基于心跳报告的生成时间所得到的第一时间戳。
在一个实施例中,上述作业任务获取请求还可以携带有基于作业任务获取请求的生成时间所得到的第二时间戳。
在一个实施例中,上述获取多个节点服务器的当前状态参数,具体实施时,还可以包括以下内容:在接收到指示同一个节点服务器的心跳报告和作业任务获取请求的情况下,从所述心跳报告中提取第一时间戳,从所述作业任务获取请求中提取第二时间戳;比较所述第一时间戳和所述第二时间戳,得到比较结果;根据比较结果,从所述心跳报告和所述作业任务获取请求中筛选出满足时效性要求的数据来确定节点服务器的当前状态参数。通过上述实施例,可以获取并利用第一时间戳和第二时间戳,来综合基于作业任务获取请求所得到的状态参数、基于心跳报告所得到的状态参数,更加精确地确定出节点服务器的当前状态参数。
在一个实施例中,第一服务器可能在同一个时间段同时接收指示同一个节点服务器的心跳报告和作业任务获取请求,这时可以通过比较第一时间戳和第二时间戳,得到对应的比较结果。再根据上述比较结果,从心跳报告和作业任务获取请求这两个数据中,筛选出生成时间相对较晚的一个数据作为满足时效性要求的数据。进而,可以以上述满足时效性要求的数据为准,根据该数据确定出该节点服务器的当前状态参数。
例如,根据比较结果,确定出指示A节点服务器的心跳报告的生成时间晚于同样指示A节点服务器的作业任务获取请求的生成时间。因此,可以将心跳报告确定为满足时效性要求的数据,并根据心跳报告来确定A节点服务器的当前状态参数。
S103:根据所述目标作业任务的属性信息和所述多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值。
在一个实施例中,上述预设的资源抢占式算法可以理解为一种基于资源抢占的原理,通过评估各个节点服务器的当前的处理资源,结合目标作业任务的处理要求,找到能够最大化地利用节点服务器的当前的处理资源,且最匹配目标作业任务的处理要求的节点服务器作为最优解的算法模型。
在一个实施例中,具体实施时,可以根据所述目标作业任务的属性信息和所述各个节点服务器的当前状态参数,结合预设的资源抢占式算法所确定出针对各个状态参数的权重值,通过利用预设的资源抢占式算法,进行加权运算,得到各个节点服务器关于目标作业任务的资源适配值。通过上述实施例,可以较为准确地确定出各个节点服务器关于目标作业任务的资源适配值。
其中,上述资源适配值用于表征节点服务器当前的处理资源与目标作业任务的处理要求的匹配程度。通常一个节点服务器关于目标作业任务的资源适配值越高,说明该节点服务器当前处理资源与目标作业任务的处理要求的匹配程度越高。即,利用该节点服务器处理该目标作业任务时,能够更充分地利用节点服务器当前的可用处理资源,同时也更能够较好地处理该目标作业任务,得到更好的处理效果(例如,处理效率、处理准确度会相对更高)。
在一个实施例中,进一步,又考虑到如果作业任务的作业类型不同,在基于预设的资源抢占式算法寻找匹配程度最高的节点服务器时,对节点服务器的不同状态参数的依赖度也会存在差异。
具体的,例如,对于计算密集型的作业任务,为了能够更好处理该类作业任务,往往对节点服务器的CPU属性参数的要求更高。这时,相对于网络参数,在寻找匹配程度最高的节点服务器时,对节点服务器的CPU属性参数的依赖度会相对更高。
又例如,对于IO密集型的作业任务,为了能够更好处理该类作业任务,往往对节点服务器的网络参数的要求更高。这时,相对于CPU属性参数,在寻找匹配程度最高的节点服务器时,对节点服务器的网络参数的依赖度会相对更高。
正是注意到了上述特点,具体实施时,可以基于预设的资源抢占式算法,预先针对不同的作业类型,建立对应不同的权重参数组,得到多组权重参数。其中,每一组权重参数组可以分别包含有与各个状态参数对应的权重值,且不同的权重参数组中对应相同的状态参数的权重值可以不同。
在一个实施例中,上述根据所述目标作业任务的属性信息和所述多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值,具体实施时包括:根据目标作业任务的属性信息,确定出目标作业任务的作业类型;根据目标作业任务的作业类型,从多组权重参数组中,确定出与目标作业任务的作业类型匹配的权重参数组,作为目标权重参数组;利用预设的资源抢占式算法,基于各个节点服务器的当前状态参数,以及所述目标权重参数组,进行加权运算,得到各个节点服务器关于目标作业任务的资源适配值。通过上述实施例,考虑不同类型的作业任务的处理特点,有区分地使用对应不同类型的权重参数组进行运算,从而可以更加准确地确定出节点服务器关于不同类型的作业任务的资源适配值。
例如,确定出目标作业任务的作业类型为计算密集型,可以先从多组权重参数组中确定出与计算密集型匹配的权重参数组,作为目标权重参数组。再利用预设的资源抢占式算法,基于各个节点服务器的当前状态参数,以及上述与计算密集型匹配的目标权重参数组,进行具体的加权运算,得到各个节点服务器关于目标作业任务的资源适配值。
这样得到的资源适配值相对更加注重对例如CPU属性参数等状态参数的考量,而这类状态参数相对于例如网络参数等其他的状态参数,对于处理计算密集型的作业任务的影响相对更大。因此,基于上述方式得到的资源适配值能够更加准确、合理地反映出节点服务器与目标作业任务的匹配程度。后续,基于上述方式得到的资源适配值,能够更加准确地找到适合处理目标作业业务的节点服务器。
S104:根据所述资源适配值,从所述多个节点服务器中筛选出匹配的节点服务器作为目标节点服务器。
在一个实施例中,上述目标节点服务器具体可以理解为一种基于预设的资源抢占式算法同时兼顾目标作业任务的属性信息和节点服务器的状态参数,所确定出的当前与目标作业任务匹配程度最高,当前最适合处理目标作业任务的节点服务器。
在一个实施例中,上述根据所述资源适配值,从所述多个节点服务器中筛选出匹配的节点服务器作为目标节点服务器,具体实施时,可以包括以下内容:根据所述资源适配值,从多个节点服务器中筛选出资源适配值最大的节点服务器作为目标节点服务器。通过上述实施例,根据节点服务器关于目标作业任务的资源适配值,能同时兼顾目标作业任务的特征和节点服务器的特征,筛选出适合处理该目标作业任务的目标节点服务器。
S105:将所述目标作业任务发送至目标节点服务器。
在一个实施例中,第一服务器可以将上述目标作业任务发送至目标节点服务器进行处理。
具体的,第一服务器可以将上述目标作业任务进行打包处理,得到对应的目标作业包,再将上述目标作业包发送至目标节点服务器,以便目标节点服务器可以在本地处理目标作业任务。
在一个实施例中,在按照上述方式将所述目标作业任务发送至目标节点服务器之后,所述方法还可以包括:将公共任务队列中目标作业任务的当前处理状态更新为:已分配,且未完成。通过上述实施例,在完成目标作业任务分配后,可以及时地更新公共任务队列中该目标作业任务的当前处理状态,避免对该目标作业任务的重复分配。
在本实施例中,通过在从公共任务队列中获取待处理目标作业任务的同时,还会获取目标作业任务的属性信息,以及多个节点服务器的当前状态参数;进一步,再根据目标作业任务的属性信息、多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值;进而可以根据上述资源适配值,从多个节点服务器中筛选出匹配的节点服务器作为适于处理目标作业任务的目标节点服务器;将上述目标作业任务发送至目标节点服务器,进行处理。通过利用预设的资源抢占式算法同时兼顾目标作业任务的属性信息和节点服务器的状态参数,准确地找到当前适合处理目标作业任务的目标节点服务器进行调度,从而能够充分、有效地利用节点服务器的处理资源,准确地调度节点服务器处理相应的作业任务,提高系统整体的作业任务处理效率。解决现有方法中存在的服务器调度不合理,影响系统整体的作业任务处理效率的技术问题。
在一个实施例中,目标节点服务器在接收到目标作业任务后,具体实施时,可以按照以下方式处理目标作业任务。
S1:将目标作业任务加载到目标节点服务器的本地任务队列中。
S2:通过调度主程序的执行进程扫描本地任务队列中的作业任务,以及本地线程池中的线程;获取并根据本地任务队列中的作业任务的优先级标记、作业任务的建立时间,将目标作业任务分配给线程池中的相应的处理线程进行处理;其中,所述处理线程负责处理所分配到的作业任务。
S3:获取并根据所述目标作业任务的处理结果,更新本地任务队列中目标作业任务的处理状态;同时还通过主调度程序将所述处理结果反馈给第一服务器。其中,第一服务器可以根据上述处理结果更新公共任务队列中的目标作业任务的处理状态。
通过上述实施例,目标节点服务器在接收到所分配的目标作业任务后,可以在本地处理该目标作业任务,并及时地更新公共任务队列中的该目标作业任务的处理状态。
在一个实施例中,具体分配处理线程时,目标节点服务器可以根据本地任务队列中作业任务的优先级标记、作业任务的建立时间,优先将携带有优先级标记、建立时间较早的作业任务分配给线程池中的处于空闲状态的处理线程进行处理。通过上述实施例,目标节点服务器可以优先在本地处理优先级较高的作业任务。
在一个实施例中,目标节点服务器在将目标作业任务分配给线程池中的处理线程处理同时,还可以建立该处理线程与目标作业任务的对应关系。以便后续可以根据上述对应关系在节点服务器本地对目标作业任务的处理状态进行监测和管理。具体的,例如,可以在本地任务队列中的目标作业任务上设置与负责处理该目标作业任务的处理线程对应的标签信息。
在一个实施例中,具体实施时,目标节点服务器可以根据上述对应关系,监测处理进程处理目标作业任务的处理状态。
在一个实施例中,目标节点服务器在监测到目标作业任务处理成功的情况下,可以生成表征处理成功的处理结果。相应的,目标节点服务器可以根据该处理结果,更新本地任务队列中目标作业任务的处理状态为:处理成功。同时,目标节点服务器可以将该处理结果发送至第一服务器。第一服务器可以根据该处理结果,将公共任务队列中的目标作业任务的处理状态更新为:已分配,且已完成。通过上述实施例,目标节点服务器可以及时地同步更新本地任务队列和公共任务队列中目标作业任务的处理状态。
在一个实施例中,目标节点服务器在监测到目标作业任务处理失败或处理超时的情况下,可以将目标作业任务重新分配到新的处理流程进行处理,并在该目标作业任务上增加重试标记。通过上述实施例,目标节点服务器可以及时地发现并处理出现处理失败或处理超时的目标作业任务。
如果监测到目标作业任务上累积的重试标记的数量大于预设数值(例如3)时,目标作业任务仍然没有处理成功的情况下,目标节点服务器可以停止对该目标作业任务的继续处理,同时生成表征处理失败的处理结果。相应的,目标节点服务器可以根据该处理结果,更新本地任务队列中目标作业任务的处理状态为:处理失败。此外,目标节点服务器还可以将该目标作业任务从本地任务队列中删除。
同时,目标节点服务器还可以将该处理结果发送至第一服务器。第一服务器可以根据该处理结果,将公共任务队列中的目标作业任务的处理状态更新为:未分配。以便后续第一服务器可以将该目标作业任务重新分配到其他节点服务器进行处理。
在一个实施例中,在第一节点服务器和/或目标节点服务器上还可以布设有监控模块,其中,该监控模块具体可以用于监测公共任务队列中的作业任务的处理状态和目标节点服务器的本地任务队列中的作业任务的处理状态。
具体的,所述监控模块在监测到公共任务队列中的目标作业任务的处理状态和目标节点服务器的本地任务队列中的目标作业任务的处理状态不相同时开始计时,并在监测到目标作业任务的处理状态不相同的时长超过预设的时长阈值的情况下,生成并向第一服务器发送关于目标任务的处理状态的修改指令。
上述情况可能是目标节点服务器处理目标作业任务时出现错误,或者目标节点服务器所使用的网络出现中断,还或者是第一服务器在根据所接收到的处理结果更新目标作业任务的处理状态时出现误差等。这时为了保证处理的准确性,避免出现误差,可以以公共任务队列中的目标作业任务的状态为准。
具体的,第一服务器接收监控模块发送的关于目标作业任务的处理状态的修改指令;并响应所述修改指令,将公共任务队列中目标作业任务的当前处理状态修改为:未分配。
通过上述实施例,第一服务器可以及时、准确地确定并更新第一服务器一侧公共任务队列中的作业任务的处理状态。
在一个实施例中,在利用预设的资源抢占式算法确定出各个节点服务器关于目标作业任务的资源适配值时所使用到的权重参数组,可以按照以下方式建立得到:
S1:根据历史数据,设置对应节点服务器的各个状态参数的初始权重值;并根据上述初始权重值,建立初始的权重参数组;
S2:将所述初始的权重参数组发送至多个评价服务器进行评价处理,得到多个评价结果;其中,所述多个评价服务器分别基于不同的评价规则对初始的权重参数组进行评价处理;
S3:根据所述多个评价结果,计算多个评价结果的集中度、离散度和协调度;
S4:根据所述集中度、离散度和协调度,调整所述初始的权重参数组中权重值,得到调整后的权重参数组,将所述调整后的权重参数组确定为所述权重参数组。
通过上述实施例,可以较为准确地确定出合适的权重参数组。
在一个实施例中,为了能够得到准确度更高、效果更好的权重参数,在得到调整后的权重参数组后,所述方法具体实施时,还可以包括以下内容:获取测试数据;其中,所述测试数据包括样本节点服务器的状态参数、样本作业任务的属性信息;利用预设的资源抢占式算法,基于测试数据,以及所述调整后的权重参数组,进行加权运算,得到样本节点服务器关于样本作业任务的资源适配值;根据所述样本节点服务器关于样本作业任务的资源适配值,以及样本节点服务器与样本作业任务的匹配程度,修改所述调整后的权重参数组,并将修改后的权重参数组确定为所述权重参数组。
在一个实施例中,上述数据处理系统,节点服务器和第一服务器之间具体可以采用restful技术进行数据交互。
通过采用上述restful技术进行数据交互,可以充分利用http的短连接方式的优势,拥有更强的抗网络干扰能力,同时获得更高的每秒处理业务(tps)性能,也具备更好的服务扩展能力。当然,上述所列举的交互技术只是一种示意性说明。具体实施时,根据具体情况和处理需求,还可以采用其他合适的交互技术作为节点服务器和第一服务器之间的交互方式。对此,本说明书不作限定。
在一个实施例中,所述公共任务队列中具体还可以包含有高性能任务队列(例如,kafka队列)。其中,所述高性能任务队列中的作业任务携带有优先级标记,并且高性能任务队列中的作业任务相对具公共任务队列中的其他的作业任务具有更高的几率被优先分配处理。
在一个实施例中,第一服务器在接收到所在的数据处理系统新接入的作业任务时,可以先检测该作业任务是否携带有优先级标记,在确定该作业任务携带有优先级标记的情况下,可以将该作业任务添加进高性能任务队列中,以便该作业任务能够相对更快地被分配处理。通过上述实施例,可以将优先级较高的作业任务排在公共任务队列中的高性能任务队列中,以便能够被优先分配处理。
由上可见,本说明书实施例提供的服务器的调度方法,通过在从公共任务队列中获取待处理目标作业任务的同时,还会获取目标作业任务的属性信息,以及多个节点服务器的当前状态参数;进一步,再根据目标作业任务的属性信息、多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值;进而可以根据上述资源适配值,从多个节点服务器中筛选出匹配的节点服务器作为适于处理目标作业任务的目标节点服务器;将上述目标作业任务发送至目标节点服务器,进行处理。通过利用预设的资源抢占式算法同时兼顾目标作业任务的属性信息和节点服务器的状态参数,准确地找到当前适合处理目标作业任务的目标节点服务器进行调度,从而能够充分、有效地利用节点服务器的处理资源,准确地调度节点服务器处理相应的作业任务,提高系统整体的作业任务处理效率。解决现有方法中存在的服务器调度不合理,影响系统整体的作业任务处理效率的技术问题。还通过布设并利用监控模块监测公共任务队列中的目标作业任务的处理状态和目标节点服务器的本地任务队列中的目标作业任务的处理状态是否相同,在出现不相同时开始计时,并在监测到不相同的时长超过预设的时长阈值的情况下,生成并向第一服务器发送关于目标任务的处理状态的修改指令,触发以第一服务器所记录的处理状态为准进行更新,保证了在数据处理系统中关于目标作业任务的处理状态统一和准确,减少了处理过程中的误差。还通过根据目标作业任务的作业类型,从多组权重参数组中,确定出与目标作业任务的作业类型匹配的权重参数组,作为目标权重参数组;再利用预设的资源抢占式算法,基于各个节点服务器的当前状态参数,以及上述目标权重参数组,进行加权运算,得到准确度更高、效果更好的节点服务器关于目标作业任务的资源适配值,以便后续可以通过预设的资源抢占式算法找到与目标作业任务匹配程度更高的节点服务器,从而可以更加有效、合理地利用节点服务器的处理资源,进一步提高数据处理系统整体的处理效率。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:从公共任务队列中获取目标作业任务,以及目标作业任务的属性信息;获取多个节点服务器的当前状态参数;根据所述目标作业任务的属性信息和所述多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值;根据所述资源适配值,从所述多个节点服务器中筛选出匹配的节点服务器作为目标节点服务器;将所述目标作业任务发送至目标节点服务器。
为了能够更加准确地完成上述指令,参阅图3所示,本说明书实施例还提供了另一种具体的服务器,其中,所述服务器包括网络通信端口301、处理器302以及存储器303,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口301,具体可以用于从公共任务队列中获取目标作业任务,以及目标作业任务的属性信息;获取多个节点服务器的当前状态参数。
所述处理器302,具体可以用于根据所述目标作业任务的属性信息和所述多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值;根据所述资源适配值,从所述多个节点服务器中筛选出匹配的节点服务器作为目标节点服务器。
所述网络通信端口301,具体还可以用于将所述目标作业任务发送至目标节点服务器。
所述存储器303,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口301可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器302可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器303可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上述服务器的调度方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:从公共任务队列中获取目标作业任务,以及目标作业任务的属性信息;获取多个节点服务器的当前状态参数;根据所述目标作业任务的属性信息和所述多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值;根据所述资源适配值,从所述多个节点服务器中筛选出匹配的节点服务器作为目标节点服务器;将所述目标作业任务发送至目标节点服务器。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图4所示,在软件层面上,本说明书实施例还提供了一种服务器的调度装置,该装置具体可以包括以下的结构模块。
第一获取模块401,具体可以用于从公共任务队列中获取目标作业任务,以及目标作业任务的属性信息;
第二获取模块402,具体可以用于获取多个节点服务器的当前状态参数;
确定模块403,具体可以用于根据所述目标作业任务的属性信息和所述多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值;
筛选模块404,具体可以用于根据所述资源适配值,从所述多个节点服务器中筛选出匹配的节点服务器作为目标节点服务器;
发送模块405,具体可以用于将所述目标作业任务发送至目标节点服务器。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,本说明书实施例提供的服务器的调度装置,由于通过利用预设的资源抢占式算法同时兼顾目标作业任务的属性信息和节点服务器的状态参数,准确地找到当前适合处理目标作业任务的目标节点服务器进行调度,从而能够充分、有效地利用节点服务器的处理资源,准确地调度节点服务器处理相应的作业任务,提高系统整体的作业任务处理效率。
在一个具体的场景示例中,可以应用本说明书实施例提供的服务器的调度方法来高效地处理大数据平台的数据加载的等作业任务。
参阅图5所示,在本场景示例中可以先根据上述服务器的调度方法构建一个资源抢占式调度系统。具体的,该系统包括模块一:公共任务队列。其中,公共任务队列中可以存放所有作业(任务)的运行状态(或者处理状态)。该公共任务队列还负责接收新增作业任务,新增作业任务来源主要包括:上游数据新增、定时作业、依赖作业触发等构成。
该系统还包括模块二:监控模块。其中,该模块设计为独立于执行模块的一个服务,可以设计为在任意多台服务器(包括节点服务器和第一服务器)部署。例如,该模块可以是通过多服务器选举(例如基于注册Zookeeper服务协议)的监控服务。该模块的主要作用是监控模块一公共任务队列中作业任务的处理情况,以判断是否存在队列异常,从而可以采取预设的自动或人工的介入方案进行处理。
该系统还包括模块三:实际调度执行模块。其中,该模块是主要运行的调度程序,负责直接执行具体的作业任务。模块三主要由心跳程序(例如调度心跳程序)、主程序(例如调度主程序)两部分组成。其中,心跳程序用于向模块二监控模块发送心跳报告,以反馈作业任务的处理情况。主程序用于向公共任务队列抢占新的作业任务并加载到本地任务队列中,并使用本地线程池中空闲的处理线程将加载程序以作业的形式调起,来完成对待加载数据的作业流程(即处理完作业任务)后,删除本地的任务队列中的该作业任务,并更新公共任务队列中该作业任务的作业状态(即,处理状态)。其中,上述本地任务队列中的容纳作业数的上限值可以设置为大于线程池的容量,以充分利用线程池中线程资源,减少线程的空闲,减少处理资源的浪费。
在本场景示例中,基于上述系统,(第一服务器)可以利用资源抢占式算法,来处理(来自不同节点服务器)多个调度的处理请求(例如,作业任务的获取请求),根据多个处理请求的请求包的性能参数(例如,状态参数包),(向节点服务器)返回分配作业包(例如目标作业任务)。可以参阅图6所示。
公共任务队列可以采用restful技术提供与调度执行模块的交互接口。由于http的短连接方式,有着抗网络干扰强,每秒处理业务(tps)性能高,拥有优秀的服务扩展能力(转化为域名,F5负载均衡)。具体实施时,除了采用restful技术进行交互外,还可以采用基于其他相应技术的交互方式。在公共任务队列中,请求新加的作业均可以加入高性能队列。例如,由于kafka拥有优秀的消息处理能力以及较高可用特性,在扩展方面也表现优秀,因此可以在公共任务队列中引入kafka消息队列作为一种高性能队列,以对一些作业进行优先处理。
在本场景示例中,针对银行的业务数据处理集群,集群规模最大约2000多台计算服务器,调度服务器数量约50多台,调度服务器的特性ETL决定了不会占据大数据分析计算服务器集群过多节点数量。常见的大规模的ETL服务器集群数量,资源抢占算法不需考虑计算500台调度服务器以上请求的场景。具体的,算法输入参数可以为处理请求的请求包的性能参数,相同服务器的多个处理请求以时间戳最近的处理请求为准。
具体实施时,可以通过资源抢占式算法进程获取了处理请求队列中的处理请求的性能参数,并根据上述性能参数进行计算,以便总是向可用CPU数量、可用网络带宽、可用磁盘速度最佳的服务器分配更多的作业任务。
如果作业状态信息(例如,作业任务的属性信息)中包含有作业类型(计算密集型、IO密集型),该算法还可以根据作业类型通过调整权重,来寻找更加合适的服务器进行调度。例如,可以让CPU数量多的机器能处理计算密集类型作业,而让磁盘、网络相对好的服务器处理IO密集类型的作业。
具体实施时,上述资源抢式占算法进程可以设置为延时读取配置在文件或数据库的权重参数,以确保在减少重启的情况下拥有调节分配倾向的能力。
当作业数量远大于当前所有服务器的最大并发数时,算法可以只分配最大并发数量的作业,而不会一次分配完成所有的作业,以降低计算耗时。优先处理批量请求日期(例如,作业任务的建立时间)较早的普通作业或拥有优先级配置(例如,携带有优先级标记)的特殊作业。
当资源抢占式算法进程完成上述计算后,可以根据计算结果(例如,节点服务器关于目标作业任务的资源适配值),向相应的服务器发送需要执行的作业包。服务器会将作业包加载到本地的作业队列进行处理。
基于资源抢占式算法,可以通过评估各服务器的状态性能,将不同类型的作业分配到相对适合的服务器(即匹配程度高的服务器),达到资源利用的相对最优解。
其中,该算法涉及到的参数(即状态参数)配置可以参阅表1所示。
具体实施时,根据不同类型集群,参数的获取难易程度可以灵活地调整表1中涉及到的内容。
表1
(注:表中*代表不是主要的资源调优类型,可以选择性考虑)
由于不同的调度系统,不同的企业对于服务器的处理资源使用不同,容忍的资源瓶颈不同。所以资源抢占式算法的初始化权重可以基于企业的调度专家(例如,评价服务器)打分进行权重预处理。在确定后,可以基于已经确定的参数,后期可以根据批量运行情况进行动态调整。具体的,初始权重矩阵(即初始的权重参数组)可以使用德尔菲法(Delphi)确定权重。德尔菲法是一种常用的方法,可以依据若干专家的知识、经验、信息和价值观进行评价的指标分析、判断权衡并赋予相应权值的一种调查方法。一般要经历多轮匿名调查,在专家意见比较一致的基础上,经组织者对于专家意见的处理,检验专家意见的集中度、离散度和协调度,达到要求后,得到各个评价指标的初始权重向量w*={wi *}1×n,再对于w*做出归一化处理,获得各个评价指标的权向量,可以表示为以下形式:
在本场景示例中,可以利基于菲尔德法,选取8位调度领域专家,进行3轮调查,形成表2所示的内容,再建议可以使用该结果为一般企业的基础调度权重参考。
表2
表2中为0的权重未纳入调查范围,即本结果没有将表1中*的资源列为调度考虑因素。如果有需要,可以自行按照Delphi方法自行调研计算。
拥有权重表后,可以将权重加载到权重参数表中,该表建议由进程动态异步读取,以保证参数的更新时效。在本场示例中,可以采用oracle存放权重数据,当要获取更新数据时,从oracle重新拉取即可。
调度的处理请求发送至公共任务队列后,基于资源抢占式算法,可以根据处理请求中的性能参数,进行权限调整计算。最后得出该服务器的调度资源值(例如,关于某个作业任务的资源适配值)作为计算结果,当有多个处理请求在同一时间段内容到达时,会按照三者比例关系,从待运行作业队列中获取对应作业。如果作业数量小于服务器数量时,那么资源值最大的服务器将获得该作业的执行权限。
服务器在具体执行所分配的作业时,可以参阅图7所示。理论上讲,只要执行作业任务的主程序拥有任务执行能力、任务请求能力、心跳模块即可嵌入资源抢占式调度框架。第一步,可以通过公共任务队列获取一个/一批作业,并将其加入本地队列(即本地任务队列)中。该队列可以实现要求FIFO(First Input First Output)的先进先出模式。具体实现方式可以根据具体情况灵活设计。可以利用内存和/或本地文件缓存来实现。第二步,执行作业的进程扫描本地队列,将作业任务交给执行作业的线程池中线程(处理线程)执行,并在队列任务上维护一个线程标记。执行作业扫描本地正在运行的作业状态。
如果发现有进程超过执行时间阈值或者执行线程已经不存在,则将作业状态重置到未执行队列(超时进程杀死),在队列任务上标记一次异常重试标记,重复3次,如果异常重试累积到3时,将本地队列作业置为失败状态,将失败信息返回公共状态队列。
如果作业正常执行完成,则将本地队列更新为完成,反馈公共队列作业状态完成,将作业的后续满足运行条件的作业加入公共作业队列。
如果作业正常完成,本地队列更新完成,但是公共队列状态没有置成功。该场景为网络异常,或公共队列异常,需要监控模块介入,将异常作业重置为未完成或公共队列异常,作业状态以公共队列的状态为准。
通过上述场景示例,验证了基于资源抢占式算法通过对于服务器的处理资源、状态性能进行打分判断,将不同作业分配到更合适的服务器上执行,从而提高了整体调度集群的资源使用率,提升了整体作业的运行时效。对于存在多台调度服务器,且服务器配置又有较大差异的调度场景,能显著提升调度系统的稳定性,避免出现由于低配置服务器负载过高引起的作业中断的情况。对于服务器置换、升级后可以较为迅速的利用其新资源,避免浪费硬件资源的情况。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (12)

1.一种服务器的调度方法,其特征在于,包括:
从公共任务队列中获取目标作业任务,以及目标作业任务的属性信息;
获取多个节点服务器的当前状态参数;包括:在接收到指示同一个节点服务器的心跳报告和作业任务获取请求的情况下,从所述心跳报告中提取第一时间戳,从所述作业任务获取请求中提取第二时间戳;比较所述第一时间戳和所述第二时间戳,得到比较结果;根据比较结果,从所述心跳报告和所述作业任务获取请求中筛选出满足时效性要求的数据来确定节点服务器的当前状态参数;根据所述目标作业任务的属性信息和所述多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值;包括:根据目标作业任务的属性信息,确定出目标作业任务的作业类型;根据目标作业任务的作业类型,从多组权重参数组中,确定出与目标作业任务的作业类型匹配的权重参数组,作为目标权重参数组;利用预设的资源抢占式算法,基于各个节点服务器的当前状态参数,以及所述目标权重参数组,进行加权运算,得到各个节点服务器关于目标作业任务的资源适配值;
根据所述资源适配值,从所述多个节点服务器中筛选出匹配的节点服务器作为目标节点服务器;
将所述目标作业任务发送至目标节点服务器。
2.根据权利要求1所述的方法,其特征在于,从公共任务队列中获取目标作业任务,包括:
获取公共任务队列中的各个作业任务的当前处理状态,以及各个作业任务的建立时间;
根据作业任务的当前处理状态,以及作业任务的建立时间,从所述公共任务队列中筛选出当前处理状态为未分配,且建立时间满足预设的时间要求的作业任务,作为所述目标作业任务。
3.根据权利要求1所述的方法,其特征在于,所述当前状态参数包括以下至少之一:当前的CPU属性参数、当前的硬盘属性参数、当前的网络参数、当前的作业情况参数。
4.根据权利要求3所述的方法,其特征在于,获取多个节点服务器的当前状态参数,还包括:
接收布设于节点服务器的心跳程序定时发送的心跳报告;
根据所述心跳报告,确定出节点服务器的当前状态参数。
5.根据权利要求4所述的方法,其特征在于,获取多个节点服务器的当前状态参数,还包括:
接收节点服务器发送的作业任务获取请求;其中,所述作业任务获取请求携带有状态参数包,所述节点服务器在检测到存在空闲线程的情况下发送所述作业任务获取请求;
从所述作业任务获取请求中提取出所述状态参数包,并根据所述状态参数包,确定出节点服务器的当前状态参数。
6.根据权利要求1所述的方法,其特征在于,所述目标作业任务的属性信息包括以下至少之一:目标作业任务的作业类型、目标作业任务的优先级标记、目标作业任务的最低处理配置。
7.根据权利要求6所述的方法,其特征在于,所述作业类型包括:计算密集型、IO密集型。
8.根据权利要求1所述的方法,其特征在于,根据所述资源适配值,从所述多个节点服务器中筛选出匹配的节点服务器作为目标节点服务器,包括:
根据所述资源适配值,从多个节点服务器中筛选出资源适配值最大的节点服务器作为目标节点服务器。
9.根据权利要求2所述的方法,其特征在于,在将所述目标作业任务发送至目标节点服务器之后,所述方法还包括:
将公共任务队列中目标作业任务的当前处理状态更新为:已分配,且未完成。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
接收目标节点服务器反馈的关于目标作业任务的处理结果;
根据所述处理结果,更新公共任务队列中目标作业任务的处理状态。
11.一种服务器的调度装置,其特征在于,包括:
第一获取模块,用于从公共任务队列中获取目标作业任务,以及目标作业任务的属性信息;
第二获取模块,用于获取多个节点服务器的当前状态参数;其中,第二获取模块具体用于在接收到指示同一个节点服务器的心跳报告和作业任务获取请求的情况下,从所述心跳报告中提取第一时间戳,从所述作业任务获取请求中提取第二时间戳;比较所述第一时间戳和所述第二时间戳,得到比较结果;根据比较结果,从所述心跳报告和所述作业任务获取请求中筛选出满足时效性要求的数据来确定节点服务器的当前状态参数;
确定模块,用于根据所述目标作业任务的属性信息和所述多个节点服务器的当前状态参数,利用预设的资源抢占式算法,确定出各个节点服务器关于目标作业任务的资源适配值;其中,所述确定模块具体用于根据目标作业任务的属性信息,确定出目标作业任务的作业类型;根据目标作业任务的作业类型,从多组权重参数组中,确定出与目标作业任务的作业类型匹配的权重参数组,作为目标权重参数组;利用预设的资源抢占式算法,基于各个节点服务器的当前状态参数,以及所述目标权重参数组,进行加权运算,得到各个节点服务器关于目标作业任务的资源适配值;
筛选模块,用于根据所述资源适配值,从所述多个节点服务器中筛选出匹配的节点服务器作为目标节点服务器;
发送模块,用于将所述目标作业任务发送至目标节点服务器。
12.一种服务器,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至10中任一项所述方法的步骤。
CN202011208370.6A 2020-11-03 2020-11-03 服务器的调度方法、装置和服务器 Active CN112162865B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011208370.6A CN112162865B (zh) 2020-11-03 2020-11-03 服务器的调度方法、装置和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011208370.6A CN112162865B (zh) 2020-11-03 2020-11-03 服务器的调度方法、装置和服务器

Publications (2)

Publication Number Publication Date
CN112162865A CN112162865A (zh) 2021-01-01
CN112162865B true CN112162865B (zh) 2023-09-01

Family

ID=73865533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011208370.6A Active CN112162865B (zh) 2020-11-03 2020-11-03 服务器的调度方法、装置和服务器

Country Status (1)

Country Link
CN (1) CN112162865B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860405B (zh) * 2021-02-25 2022-11-15 上海浦东发展银行股份有限公司 一种分布式作业流任务管理和调度系统及方法
CN113010310A (zh) * 2021-03-03 2021-06-22 中国工商银行股份有限公司 作业数据的处理方法、装置和服务器
CN112965800A (zh) * 2021-03-09 2021-06-15 上海焜耀网络科技有限公司 一种分布式计算任务调度系统
CN113032119A (zh) * 2021-03-23 2021-06-25 北京三快在线科技有限公司 一种任务调度方法、装置、存储介质及电子设备
CN113515358B (zh) * 2021-04-30 2024-04-12 北京奇艺世纪科技有限公司 任务调度方法、装置、电子设备及存储介质
CN113268342A (zh) * 2021-05-08 2021-08-17 杭州电子科技大学 一种面向边缘i/o密集型应用的混合cpu调度方法
CN113347249B (zh) * 2021-05-31 2022-11-29 中国工商银行股份有限公司 一种作业加载方法、装置及设备
CN113282395A (zh) * 2021-06-09 2021-08-20 中国农业银行股份有限公司 基于Redis的作业请求调度方法、装置、设备及介质
CN113111078B (zh) * 2021-06-15 2021-10-29 深圳华锐金融技术股份有限公司 资源数据处理方法、装置、计算机设备和存储介质
CN113590331A (zh) * 2021-08-05 2021-11-02 山东派盟网络科技有限公司 一种任务处理方法、控制装置及存储介质
CN114793194A (zh) * 2022-03-09 2022-07-26 中国邮政储蓄银行股份有限公司 业务数据的处理方法及其装置、计算机可读存储介质
CN114860672B (zh) * 2022-07-01 2023-03-24 苏州优鲜信网络生活服务科技有限公司 批处理数据任务的节点管理方法与系统
CN115277579B (zh) * 2022-07-25 2024-03-19 广州品唯软件有限公司 仓库视频调取方法及云平台
CN115981871B (zh) * 2023-03-17 2024-01-26 苏州万店掌网络科技有限公司 一种gpu资源调度方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769254A (zh) * 2018-06-25 2018-11-06 星环信息科技(上海)有限公司 基于抢占式调度的资源共享使用方法、系统及设备
CN109213594A (zh) * 2017-07-06 2019-01-15 阿里巴巴集团控股有限公司 资源抢占的方法、装置、设备和计算机存储介质
CN109359978A (zh) * 2018-10-08 2019-02-19 全链通有限公司 基于区块链网络的智能合约交易方法和系统
CN109597685A (zh) * 2018-09-30 2019-04-09 阿里巴巴集团控股有限公司 任务分配方法、装置和服务器
CN110597614A (zh) * 2018-06-12 2019-12-20 阿里巴巴集团控股有限公司 一种资源调整方法及装置
CN111580990A (zh) * 2020-05-08 2020-08-25 中国建设银行股份有限公司 一种任务调度方法、调度节点、集中配置服务器及系统
CN111813513A (zh) * 2020-06-24 2020-10-23 中国平安人寿保险股份有限公司 基于分布式的实时任务调度方法、装置、设备及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213594A (zh) * 2017-07-06 2019-01-15 阿里巴巴集团控股有限公司 资源抢占的方法、装置、设备和计算机存储介质
CN110597614A (zh) * 2018-06-12 2019-12-20 阿里巴巴集团控股有限公司 一种资源调整方法及装置
CN108769254A (zh) * 2018-06-25 2018-11-06 星环信息科技(上海)有限公司 基于抢占式调度的资源共享使用方法、系统及设备
CN109597685A (zh) * 2018-09-30 2019-04-09 阿里巴巴集团控股有限公司 任务分配方法、装置和服务器
CN109359978A (zh) * 2018-10-08 2019-02-19 全链通有限公司 基于区块链网络的智能合约交易方法和系统
CN111580990A (zh) * 2020-05-08 2020-08-25 中国建设银行股份有限公司 一种任务调度方法、调度节点、集中配置服务器及系统
CN111813513A (zh) * 2020-06-24 2020-10-23 中国平安人寿保险股份有限公司 基于分布式的实时任务调度方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112162865A (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
CN112162865B (zh) 服务器的调度方法、装置和服务器
CN107291547B (zh) 一种任务调度处理方法、装置及系统
CN106790726B (zh) 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
US9218203B2 (en) Packet scheduling in a multiprocessor system using inter-core switchover policy
WO2021159638A1 (zh) 集群队列资源的调度方法、装置、设备及存储介质
CN107832153B (zh) 一种Hadoop集群资源自适应分配方法
US8190593B1 (en) Dynamic request throttling
CN109246229A (zh) 一种分发资源获取请求的方法和装置
CN106452818B (zh) 一种资源调度的方法和系统
CN110795203B (zh) 资源调度方法、装置、系统和计算设备
CN110113387A (zh) 一种基于分布式批量处理系统的处理方法、装置及系统
CN110474852B (zh) 一种带宽调度方法及装置
CN103019853A (zh) 一种作业任务的调度方法和装置
JP2012079242A (ja) 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
CN109614227A (zh) 任务资源调配方法、装置、电子设备及计算机可读介质
CN107430526B (zh) 用于调度数据处理的方法和节点
Li et al. Enabling elastic stream processing in shared clusters
Hu et al. Job scheduling without prior information in big data processing systems
CN109117279A (zh) 电子装置及其限制进程间通信的方法、存储介质
CN112162839A (zh) 任务调度方法、装置、计算机设备和存储介质
CN109117280A (zh) 电子装置及其限制进程间通信的方法、存储介质
CN111767145A (zh) 容器调度系统、方法、装置和设备
Lu et al. InSTechAH: Cost-effectively autoscaling smart computing hadoop cluster in private cloud
CN111913784B (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