CN112948084B - 任务调度方法及*** - Google Patents

任务调度方法及*** Download PDF

Info

Publication number
CN112948084B
CN112948084B CN202110236051.4A CN202110236051A CN112948084B CN 112948084 B CN112948084 B CN 112948084B CN 202110236051 A CN202110236051 A CN 202110236051A CN 112948084 B CN112948084 B CN 112948084B
Authority
CN
China
Prior art keywords
server
task
slave
detected
target
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
CN202110236051.4A
Other languages
English (en)
Other versions
CN112948084A (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.)
Shanghai Yuwei Semiconductor Technology Co ltd
Original Assignee
Shanghai Yuwei Semiconductor Technology 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 Shanghai Yuwei Semiconductor Technology Co ltd filed Critical Shanghai Yuwei Semiconductor Technology Co ltd
Priority to CN202110236051.4A priority Critical patent/CN112948084B/zh
Publication of CN112948084A publication Critical patent/CN112948084A/zh
Application granted granted Critical
Publication of CN112948084B publication Critical patent/CN112948084B/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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种任务调度方法及***,涉及数据处理技术领域,通过合理调度待检测任务,使得待检测任务可以及时得到处理,从而可以满足缺陷检测过程中产生的大数据量的计算要求。该任务调度方法可以应用于包括主服务器和至少一个从服务器的服务器集群,包括:主服务器获取待检测任务;主服务器根据自身的主性能参数和至少一个从服务器的从性能参数,确定目标服务器;主性能参数用于表征主服务器在当前时刻处理待检测任务所需的时长,从性能参数用于表征从服务器在当前时刻处理待检测任务所需的时长;主服务器根据确定的目标服务器对待检测任务进行调度。

Description

任务调度方法及***
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种任务调度方法及***。
背景技术
目前,在全自动宏观缺陷检测领域中,一般采用单个服务器对缺陷检测过程产生的数据进行处理。
然而,随着集成电路与半导体行业的高速发展,全自动宏观缺陷检测设备上每秒能够产生的数据量越来越大。这样,现有对于缺陷检测过程产生的数据的处理方法,已经不能满足日益增加的大数据量的计算要求,导致大量数据无法得到及时处理。
发明内容
本申请提供一种任务调度方法及***,通过合理调度待检测任务,使得待检测任务可以及时得到处理,从而可以满足缺陷检测过程中产生的大数据量的计算要求。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种任务调度方法,应用于包括主服务器和至少一个从服务器的服务器集群,该方法包括:主服务器获取待检测任务;主服务器根据自身的主性能参数和至少一个从服务器的从性能参数,确定目标服务器;主性能参数用于表征主服务器在当前时刻处理待检测任务所需的时长,从性能参数用于表征从服务器在当前时刻处理待检测任务所需的时长;目标服务器为主服务器,或者为从服务器;主服务器根据确定的目标服务器对待检测任务进行调度。
本申请提供的任务调度方法中,与现有技术不同的是,本申请不是由单一的主服务器对待检测任务进行处理,而是主服务器在获取到待检测任务之后,根据主服务器的主性能参数和至少一个从服务器的从性能参数对待检测任务进行调度。由于性能参数用于表征服务器在当前时刻处理待检测任务所需的时长,所以本申请提供的任务调度方法中,可以通过分析主服务器和从服务器在当前时刻分别处理待检测任务所需的时长,从而确定最终处理待检测任务的服务器,进而对待检测任务进行调度。这样,在主服务器处理待检测任务所需时长过长时,待检测任务可以由从服务器进行处理,因此,本申请提供的任务调度方法可以使得待检测任务及时得到处理,从而可以满足缺陷检测过程中产生的大数据量的计算要求。
可选的,在一种可能的设计方式中,目标服务器中包括有目标一级缓冲队列,上述“主服务器根据确定的目标服务器对待检测任务进行调度”可以包括:
主服务器从主服务器的二级缓冲队列列表中确定出与目标一级缓冲队列对应的目标二级缓冲队列;
主服务器将待检测任务载入目标二级缓冲队列;
主服务器将待检测任务由目标二级缓冲队列载入目标一级缓冲队列,由目标一级缓冲队列所属服务器处理待检测任务。
可选的,在另一种可能的设计方式中,上述“主服务器根据自身的主性能参数和至少一个从服务器的从性能参数,确定目标服务器”可以包括:
主服务器确定目标性能参数;目标性能参数为主性能参数和从性能参数中参数值最小的性能参数;
主服务器将目标性能参数对应的服务器确定为目标服务器。
可选的,在另一种可能的设计方式中,上述“主服务器将待检测任务由目标二级缓冲队列载入目标一级缓冲队列”,可以包括:
在目标一级缓冲队列所属服务器为主服务器的情况下,主服务器将待检测任务由目标二级缓冲队列载入自身的目标一级缓冲队列;
主服务器处理待检测任务。
可选的,在另一种可能的设计方式中,上述“主服务器处理待检测任务”可以包括:
主服务器确定自身的执行队列是否有可分配资源;
在确定自身的执行队列有可分配资源的情况下,主服务器将待检测任务从目标一级缓冲队列载入至自身的执行队列;
主服务器处理自身的执行队列中的待检测任务。
可选的,在另一种可能的设计方式中,上述“主服务器将待检测任务由目标二级缓冲队列载入目标一级缓冲队列”还可包括:
在目标一级缓冲队列所属服务器为从服务器的情况下,主服务器将待检测任务由目标二级缓冲队列载入从服务器的目标一级缓冲队列;
从服务器处理待检测任务。
可选的,在另一种可能的设计方式中,上述“从服务器处理待检测任务”可以包括:
从服务器确定自身的执行队列是否有可分配资源;
在确定自身的执行队列有可分配资源的情况下,从服务器将待检测任务从目标一级缓冲队列载入至自身的执行队列;
从服务器处理自身的执行队列中的待检测任务。
可选的,在另一种可能的设计方式中,上述“主服务器将待检测任务载入目标二级缓冲队列”之后,本申请实施例提供的方法还包括:
主服务器更新目标一级缓冲队列所属服务器的性能参数;
在目标一级缓冲队列所属服务器的性能参数的参数值大于或等于预设阈值的情况下,主服务器将待检测任务从目标二级缓冲队列移除;
主服务器根据更新后的主性能参数和更新后的从性能参数,重新执行确定目标服务器的操作。
可选的,在另一种可能的设计方式中,上述“主服务器获取待检测任务”之前,本申请实施例提供的方法还包括:
主服务器获取算法库以及从服务器列表;从服务器列表中包括有至少一个从服务器的寻址参数;寻址参数用于表征从服务器的位址,且一个寻址参数对应一个从服务器的位址;
主服务器根据从服务器列表中,每个寻址参数对应的从服务器的位址,将算法库加载至每个从服务器的位址对应的从服务器中。
第二方面,本申请提供一种任务调度装置,包括存储器、处理器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当任务调度装置运行时,处理器执行存储器存储的计算机执行指令,以使任务调度装置执行如上述第一方面中主服务器所涉及的功能。
可选的,该任务调度装置还可以包括收发器,该收发器用于在任务调度装置的处理器的控制下,执行收发数据、信令或者信息的步骤,例如,获取待检测任务。
进一步可选的,该任务调度装置可以是用于实现任务调度的物理机,也可以是物理机中的一部分装置,例如可以是物理机中的芯片***。该芯片***用于支持任务调度装置实现上述第一方面中主服务器所涉及的功能,例如,接收,发送或处理上述任务调度方法中所涉及的数据和/或信息。该芯片***包括芯片,也可以包括其他分立器件或电路结构。
第三方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行指令时,使得计算机执行上述第一方面中主服务器所涉及的功能。
第四方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行上述第一方面中主服务器所涉及的功能。
第五方面,本申请提供一种任务调度***,包括主服务器和至少一个从服务器,至少一个从服务器与主服务器通信连接。
需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储介质上。其中,计算机可读存储介质可以与任务调度装置的处理器封装在一起的,也可以与任务调度装置的处理器单独封装,本申请对此不做限定。
本申请中第二方面至第五方面的描述,可以参考第一方面的详细描述;并且,第二方面至第五方面的描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
在本申请中,上述任务调度装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种任务调度***的架构示意图;
图2为本申请实施例提供的一种任务调度方法的流程示意图;
图3为本申请实施例提供的一种算法扩展坞单元的初始化过程的流程示意图;
图4为本申请实施例提供的另一种任务调度***的架构示意图;
图5为本申请实施例提供的另一种任务调度方法的流程示意图;
图6为本申请实施例提供的又一种任务调度方法的流程示意图;
图7为本申请实施例提供的又一种任务调度方法的流程示意图;
图8为本申请实施例提供的一种主服务器的结构示意图;
图9为本申请实施例提供的一种任务调度装置的结构示意图。
具体实施方式
下面结合附图对本申请实施例提供的任务调度方法及***进行详细地描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括其他没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
目前,在全自动宏观缺陷检测领域中,一般采用单个服务器对缺陷检测过程产生的数据进行处理。然而,随着集成电路与半导体行业的高速发展,全自动宏观缺陷检测设备上每秒能够产生的数据量越来越大。这样,现有对于缺陷检测过程产生的数据的处理方法,已经不能满足日益增加的大数据量的计算要求,导致大量数据无法得到及时处理。
针对上述现有技术中存在的问题,本申请实施例提供了一种任务调度方法,该任务调度方法通过合理调度待检测任务,使得待检测任务可以及时得到处理,从而可以满足缺陷检测过程中产生的大数据量的计算要求。
本申请实施例提供的任务调度方法可以应用于图1所示的任务调度***。参照图1,该任务调度***可以包括主服务器01和至少一个从服务器02,主服务器01和从服务器02通信连接。
在一种可能的实现方式中,主服务器01可以与每个从服务器02通过网线连接,实现主服务器01与从服务器02之间的通信。
下面结合上述图1示出的任务调度***对本申请提供的任务调度方法进行说明。
参照图2,本申请实施例提供的任务调度方法包括S201-S203:
S201、主服务器获取待检测任务。
本申请实施例提供的任务调度方法可以应用于缺陷检测的场景中,在缺陷检测的场景中,主服务器获取到的待检测任务可以是从采集设备中获取到的待检测设备的待检测图像。在一种可能的实现方式中,采集设备每间隔预设时长采集一次待检测图像,采集设备每采集到一个待检测图像,可以实时将该待检测图像传输至主服务器,主服务器每接收到一个待检测图像,即获取到一个待检测任务。
其中,采集设备可以是于待检测设备连接的用于采集图像的设备,例如,高清照相机。预设时长可以是人为事先确定的时长。
可以理解的是,在实际应用中,本申请实施例提供的任务调度方法还可以应用于其它类型的数据处理场景中,对应的,待检测任务可以是对于其它类型数据的处理任务,本申请实施例对此不做限定。
S202、主服务器根据主性能参数和至少一个从服务器的从性能参数,确定目标服务器。
其中,主性能参数用于表征主服务器在当前时刻处理待检测任务所需的时长,从性能参数用于表征从服务器在当前时刻处理待检测任务所需的时长。
在一种可能的实现方式中,主服务器可以确定出主服务器处理检测任务所需的平均时长以及当前时刻主服务器中已经载入的检测任务的数量(也即是本申请实施例中主服务器的一级缓冲队列与执行队列中未处理的检测任务的数量之和),之后将主服务器处理检测任务所需的平均时长与当前时刻主服务器中已经载入的检测任务的数量之积确定为主性能参数的数值。类似地,主服务器可以确定出从服务器处理检测任务所需的平均时长以及当前时刻从服务器中已经载入的检测任务的数量(也即是本申请实施例中从服务器的一级缓冲队列与执行队列中未处理的检测任务的数量之和),之后将从服务器处理检测任务所需的平均时长与当前时刻从服务器中已经载入的检测任务的数量之积确定为从性能参数的数值。
当然,在实际应用中,还可以通过其他方式确定主性能参数和从性能参数,本申请实施例对此不做限定。
主服务器在确定了主性能参数和从性能参数之后,可以确定出目标服务器。其中,目标服务器中包括有目标一级缓冲队列。目标服务器为主服务器,或者为从服务器。
S203、主服务器根据确定的目标服务器对待检测任务进行调度。
可选的,在一种可能的实现方式中,主服务器确定出目标服务器之后,可以从二级缓冲队列列表中确定出与目标服务器的目标一级缓冲队列对应的目标二级缓冲队列,然后将待检测任务载入目标二级缓冲队列;最后,主服务器将待检测任务由目标二级缓冲队列载入目标一级缓冲队列,由目标一级缓冲队列所属服务器处理待检测任务。
其中,二级缓冲队列列表中包括有多个二级缓冲队列,每个二级缓冲队列对应不同服务器的一级缓冲队列,且二级缓冲队列与一级缓冲队列之间一一对应。在一种可能的实现方式中,主服务器中存储有二级缓冲队列与一级缓冲队列的对应关系,主服务器在确定出目标服务器后,可以根据该对应关系从二级缓冲队列列表中确定出与目标服务器中的目标一级缓冲队列对应的目标二级缓冲队列。
可以看出,本申请实施例提供的任务调度方法中,主服务器在确定出目标服务器之后,是根据二级缓冲队列与一级缓冲队列之间的对应关系将待检测任务载入要处理待检测任务的服务器,实现任务调度,从而可以使得待检测任务也可以由从服务器进行处理。
可选的,在一种可能的实现方式中,主服务器可以根据主性能参数和从性能参数确定出目标性能参数,并将目标性能参数对应的服务器确定为目标服务器。其中,目标性能参数为主性能参数和从性能参数中参数值最小的性能参数;
可以理解的是,在实际应用中,还可以通过其他方式确定目标服务器,本申请实施例对此不做限定。示例性的,主服务器可以确定出主性能参数和从性能参数中参数值最小的N个,将N个中的任意一个确定为目标性能参数,并将目标性能参数对应的服务器确定为目标服务器。其中,N可以是人为事先确定的正整数,比如,N可以为3。
可选的,在目标一级缓冲队列所属服务器为主服务器的情况下,主服务器可以将待检测任务由目标二级缓冲队列载入目标一级缓冲队列,由主服务器处理待检测任务;在目标一级缓冲队列所属服务器为从服务器的情况下,主服务器可以将待检测任务由目标二级缓冲队列载入目标一级缓冲队列,由从服务器处理待检测任务。
在一种可能的实现方式中,主服务器在确定由主服务器本身执行待检测任务的情况下,可以将待检测任务从目标一级缓冲队列载入至主服务器的执行队列中,执行队列中载入有未处理的检测任务,主服务器按照检测任务进入执行队列的先后顺序依次对检测任务进行处理。由于执行队列中可载入的检测任务有限,所以,可选的,在目标一级缓冲队列所属服务器为主服务器的情况下,主服务器可以先确定执行队列是否有可分配资源(也即是确定执行队列中载入的检测任务是否达到执行队列的最大并发数量);在确定主服务器的执行队列有可分配资源的情况下,将待检测任务从目标一级缓冲队列载入至主服务器的执行队列,之后再处理执行队列中的待检测任务。
在一种可能的实现方式中,主服务器在确定由从服务器执行待检测任务的情况下,可以将待检测任务从目标一级缓冲队列载入至从服务器的执行队列中,执行队列中载入有未处理的检测任务,从服务器按照检测任务进入执行队列的先后顺序依次对检测任务进行处理。由于执行队列中可载入的检测任务有限,所以,可选的,在目标一级缓冲队列所属服务器为从服务器的情况下,从服务器可以先确定自身执行队列是否有可分配资源(也即是确定执行队列中载入的检测任务是否达到执行队列的最大并发数量);在确定自身执行队列有可分配资源的情况下,将待检测任务从目标一级缓冲队列载入至自身的执行队列,之后再处理执行队列中的待检测任务。
可选的,从服务器每处理完一个检测任务,可以将从服务器实时的从性能参数发送给主服务器。这样,主服务器在接收到从服务器发送的实时的从性能参数之后,可以定时对所有二级缓冲队列进行一次负载(也即是本申请实施例中的检测任务)均衡的重新分配。重新分配时可以遵循每个二级缓冲队列的负载保持一致的原则进行再分配。
由于服务器可能会受到网络延迟、中央处理器(central processing unit,CPU)处理速度或者磁盘性能等因素的影响,导致服务器处理时间变长,引起服务器性能参数的变化。所以,服务器将待检测任务载入目标二级缓冲队列之后,可以更新目标一级缓冲队列所属服务器的性能参数;在目标一级缓冲队列所属服务器的性能参数的参数值大于或等于预设阈值的情况下,主服务器可以将待检测任务从目标二级缓冲队列移除,然后根据更新后的主性能参数和更新后的从性能参数,重新执行确定目标服务器的操作,之后再执行确定目标二级缓冲队列,将待检测任务由目标二级缓冲队列载入目标一级缓冲队列等操作过程。
其中,预设阈值可以是人为事先确定的性能参数的参数值,本申请实施例对此不做限定。
综合以上描述,本申请实施例提供的任务调度方法中,与现有技术不同的是,本申请实施例不是由单一的主服务器对待检测任务进行处理,而是主服务器在获取到待检测任务之后,根据主服务器的主性能参数和至少一个从服务器的从性能参数对待检测任务进行调度。由于性能参数用于表征服务器在当前时刻处理待检测任务所需的时长,所以本申请实施例提供的任务调度方法中,可以通过分析主服务器和从服务器在当前时刻分别处理待检测任务所需的时长,从而确定最终处理待检测任务的服务器,进而对对待检测任务进行调度。这样,在主服务器处理待检测任务所需时长过长时,待检测任务可以由从服务器进行处理,因此,本申请提供的任务调度方法可以使得待检测任务及时得到处理,从而可以满足缺陷检测过程中产生的大数据量的计算要求。
可以理解的是,在实际应用中,服务器是根据存储的算法库中的算法对待检测任务进行处理的,现有技术中,仅由主服务器处理待检测任务,所以,仅有主服务器中载有算法库。所以,可选的,主服务器在获取待检测任务之前,还可以获取算法库以及从服务器列表,并根据从服务器列表中,每个寻址参数对应的从服务器的位址,将算法库加载至每个从服务器的位址对应的从服务器中。在从服务器列表中,包括有至少一个从服务器的寻址参数;寻址参数用于表征从服务器的位址,且一个寻址参数对应一个从服务器的位址。
示例性的,寻址参数可以包括媒体存取控制(Media Access Control,MAC)位址和网际互连协议(Internet Protocol,IP)。当然,在实际应用中,寻址参数还可以包括其他用于表征服务器位址的参数。
在一种可能的实现方式中,主服务器中包括有算法扩展坞单元,该算法扩展坞单元用于获取主服务器中的算法库,并将获取的算法库复制在每个从服务器中,该过程可以看作算法扩展坞单元的初始化过程。可以理解的是,算法扩展坞单元的初始化过程,在主服务器开机后执行一次。之后,算法扩展坞单元的初始化过程仅在从服务器列表更新或者算法库更新的时候执行。示例性的,参照图3,提供一种算法扩展坞单元的初始化过程的流程示意图。如图3所示,算法扩展坞单元首先从算法实现单元中读取主服务器的算法库(对应图3中的S31),且从远程计算机列表单元中获取从服务器列表(对应图3中的S32),之后算法扩展坞单元将获取的算法库和从服务器列表更新在数据库单元中(对应图3中的S33),最后将数据库单元中的数据分别更新在与主服务器连接的每个从服务器中(对应图3中的S34)。
其中,算法实现单元中包括有通过动态链接库(Dynamic Link Library,DLL)的方式部署在主服务器中的算法库。
上述采用算法扩展坞单元复制算法库的方式,用户无需考虑主服务器都连接有哪些从服务器,通过算法扩展坞单元的初始化过程可以实现在从服务器中快速部署算法库,且算法库可以动态更新。
参照图4,本申请实施例还提供了一种任务调度***。如图4所示,任务调度***中包括有主服务器和多个从服务器。主服务器可以包括有算法扩展坞单元、算法调度服务单元和算法执行单元,每个从服务器中均包括有算法执行单元。其中,算法调度服务单元用于,在算法扩展坞单元的初始化过程执行之后,从算法扩展坞单元中获取从服务器列表,并根据从服务器列表在每个从服务器中部署算法执行单元,且在主服务器中也部署算法执行单元。之后,算法调度服务单元在其内部部署原始队列和多个二级缓冲队列,且确定二级缓冲队列与一级缓冲队列的对应关系,并根据二级缓冲队列与一级缓冲队列的对应关系分别在各个算法执行单元中部署一级缓冲队列以及执行队列。需要说明的是,这里描述的部署的原始队列、多个二级缓冲队列、一级缓冲队列以及执行队列,都是空队列,这里描述的部署原始队列、多个二级缓冲队列、一级缓冲队列以及执行队列指的是部署队列的排序规则,比如先进先出的排序规则。具体队列的部署方式可以参照现有技术中相关描述,此处不再赘述。
参照图5,本申请实施例还提供了一种应用于图4提供的任务调度***的任务调度方法的流程图。主服务器中的算法调度服务单元在获取到待检测任务之后,可以将待检测任务载入原始队列。之后,算法调度服务单元根据确定出的目标服务器(图5中的主服务器或从服务器)将待检测任务从原始队列载入目标服务器对应的二级缓冲队列(对应本申请中的目标二级缓冲队列)(对应图5中的S51)。在算法调度服务单元确定目标服务器的性能参数小于预设阈值的情况下,将待检测任务从目标服务器对应的二级缓冲队列载入目标服务器对应的一级缓冲队列(对应本申请中的目标一级缓冲队列)中(对应图5中的S52)。之后,目标服务器确定内部执行队列是否有可分配资源,在确定有可分配资源的情况下,将待检测任务从目标服务器对应的一级缓冲队列载入至目标服务器对应的执行队列(对应图5中的S53),目标服务器对执行队列中的待检测任务进行处理。另外,在算法调度服务单元确定目标服务器的性能参数大于或者等于预设阈值的情况下,将待检测任务从目标服务器对应的二级缓冲队列退回至原始队列重新分配(对应图5中的S54)。
根据图5中提供的任务调度方法可以看出,本申请实施例通过四级队列(即原始队列、二级缓冲队列、一级缓冲队列以及执行队列)的调度策略,可以实现在处理待检测任务的过程中,根据各个服务器的负载(也即是本申请实施例中的检测任务)情况实时调整调度队列,从而满足多个服务器下的动态负载均衡。
综合以上描述,如图6所示,图2中的步骤S203可以替换为S2031-S2034:
S2031、主服务器从主服务器的二级缓冲队列列表中确定出与目标一级缓冲队列对应的目标二级缓冲队列。
S2032、主服务器将待检测任务载入目标二级缓冲队列。
S2033、主服务器将待检测任务由目标二级缓存队列载入目标一级缓冲队列。
S2034、目标一级缓冲队列所属服务器处理待检测任务。
可选的,如图7所示,图2中的步骤S202可以替换为S2021-S2022:
S2021、主服务器将主性能参数和从性能参数中参数值最小的性能参数确定目标性能参数。
S2022、主服务器将目标性能参数对应的服务器确定为目标服务器。
图8示出了上述实施例中所涉及的任务调度***中的主服务器01的一种可能的结构示意图。该主服务器01包括:获取模块11、确定模块12和调度模块13。
其中,获取模块11执行上述方法实施例中的S201,确定模块12执行上述方法实施例中的S202,调度模块13执行上述方法实施例中的S203。
具体地,获取模块11,用于获取待检测任务;
确定模块12,用于根据主服务器01自身的主性能参数和至少一个从服务器02的从性能参数,确定目标服务器;主性能参数用于表征主服务器01在当前时刻处理待检测任务所需的时长,从性能参数用于表征从服务器02在当前时刻处理待检测任务所需的时长;目标服务器为主服务器01,或者为从服务器02;
调度模块13,用于根据确定模块12确定的目标服务器对待检测任务进行调度。
可选的,主服务器01还可以包括存储模块,存储模块用于存储该主服务器01的程序代码等。
如图9所示,本申请实施例还提供一种任务调度装置,包括存储器41、处理器42、总线43和通信接口44;存储器41用于存储计算机执行指令,处理器42与存储器41通过总线43连接;当任务调度装置运行时,处理器42执行存储器41存储的计算机执行指令,以使任务调度装置执行如上述实施例提供的任务调度方法中主服务器所涉及的功能。
在具体的实现中,作为一种实施例,处理器42(42-1和42-2)可以包括一个或多个中央处理器(central processing unit,CPU),例如图9中所示的CPU0和CPU1。且作为一种实施例,任务调度装置可以包括多个处理器42,例如图9中所示的处理器42-1和处理器42-2。这些处理器42中的每一个CPU可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器42可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器41可以是只读存储器41(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器41可以是独立存在,通过总线43与处理器42相连接。存储器41也可以和处理器42集成在一起。
在具体的实现中,存储器41,用于存储本申请中的数据和执行本申请的软件程序对应的计算机执行指令。处理器42可以通过运行或执行存储在存储器41内的软件程序,以及调用存储在存储器41内的数据,任务调度装置的各种功能。
通信接口44,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如控制***、无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。通信接口44可以包括接收单元实现接收功能,以及发送单元实现发送功能。
总线43,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线43可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
作为一个示例,结合图8,任务调度装置中的获取模块实现的功能与图9中的接收单元实现的功能相同,任务调度装置中的调度模块实现的功能与图9中的处理器实现的功能相同,任务调度装置中的存储模块实现的功能与图9中的存储器实现的功能相同。
本实施例中相关内容的解释可参考上述方法实施例,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,使得计算机执行上述实施例提供的任务调度方法中主服务器所涉及的功能。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、ROM、可擦式可编程只读存储器(erasable programmable read only memory,EPROM)、寄存器、硬盘、光纤、CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specificintegrated circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (7)

1.一种任务调度方法,应用于服务器集群,所述服务器集群包括主服务器和至少一个从服务器,其特征在于,包括:
在缺陷检测的场景中,所述主服务器获取待检测任务;
所述主服务器根据自身的主性能参数和所述至少一个从服务器的从性能参数,确定目标服务器;所述主性能参数用于表征所述主服务器在当前时刻处理所述待检测任务所需的时长,所述从性能参数用于表征所述从服务器在当前时刻处理所述待检测任务所需的时长;所述目标服务器为所述主服务器,或者为所述从服务器;所述目标服务器中包括有目标一级缓冲队列;
所述主服务器从所述主服务器的二级缓冲队列列表中确定出与所述目标一级缓冲队列对应的目标二级缓冲队列;
所述主服务器将所述待检测任务载入所述目标二级缓冲队列;
在所述目标一级缓冲队列所属服务器为所述主服务器的情况下,所述主服务器将所述待检测任务由所述目标二级缓冲队列载入自身的所述目标一级缓冲队列,所述主服务器处理所述待检测任务;
在所述目标一级缓冲队列所属服务器为所述从服务器的情况下,所述主服务器将所述待检测任务由所述目标二级缓冲队列载入所述从服务器的所述目标一级缓冲队列,所述从服务器处理所述待检测任务。
2.根据权利要求1所述的任务调度方法,其特征在于,所述主服务器根据自身的主性能参数和所述至少一个从服务器的从性能参数,确定目标服务器,包括:
所述主服务器确定目标性能参数;所述目标性能参数为所述主性能参数和所述从性能参数中参数值最小的性能参数;
所述主服务器将所述目标性能参数对应的服务器确定为所述目标服务器。
3.根据权利要求1所述的任务调度方法,其特征在于,所述主服务器处理所述待检测任务,包括:
所述主服务器确定自身的执行队列是否有可分配资源;
在确定自身的执行队列有可分配资源的情况下,所述主服务器将所述待检测任务从所述目标一级缓冲队列载入至自身的执行队列;
所述主服务器处理自身的执行队列中的所述待检测任务。
4.根据权利要求1所述的任务调度方法,其特征在于,所述从服务器处理所述待检测任务,包括:
所述从服务器确定自身的执行队列是否有可分配资源;
在确定自身的执行队列有可分配资源的情况下,所述从服务器将所述待检测任务从所述目标一级缓冲队列载入至自身的执行队列;
所述从服务器处理自身的执行队列中的所述待检测任务。
5.根据权利要求1所述的任务调度方法,其特征在于,所述主服务器将所述待检测任务载入所述目标二级缓冲队列之后,所述方法还包括:
所述主服务器更新所述目标一级缓冲队列所属服务器的性能参数;
在所述目标一级缓冲队列所属服务器的性能参数的参数值大于或等于预设阈值的情况下,所述主服务器将所述待检测任务从所述目标二级缓冲队列移除;
所述主服务器根据更新后的主性能参数和更新后的从性能参数,重新执行确定目标服务器的操作。
6.根据权利要求1-5中任一项所述的任务调度方法,其特征在于,所述主服务器获取待检测任务之前,所述方法还包括:
所述主服务器获取算法库以及从服务器列表;所述从服务器列表中包括有所述至少一个从服务器的寻址参数;所述寻址参数用于表征所述从服务器的位址,且一个寻址参数对应一个从服务器的位址;
所述主服务器根据所述从服务器列表中,每个所述寻址参数对应的从服务器的位址,将所述算法库加载至每个从服务器的位址对应的从服务器中。
7.一种任务调度***,其特征在于,应用于缺陷检测的场景中,包括主服务器和至少一个从服务器;所述至少一个从服务器与所述主服务器通信连接;所述主服务器包括算法扩展坞单元、算法调度服务单元和算法执行单元,每个所述从服务器均包括算法执行单元;
所述任务调度***用于实现如权利要求1至6中任一项所述的任务调度方法。
CN202110236051.4A 2021-03-03 2021-03-03 任务调度方法及*** Active CN112948084B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110236051.4A CN112948084B (zh) 2021-03-03 2021-03-03 任务调度方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110236051.4A CN112948084B (zh) 2021-03-03 2021-03-03 任务调度方法及***

Publications (2)

Publication Number Publication Date
CN112948084A CN112948084A (zh) 2021-06-11
CN112948084B true CN112948084B (zh) 2024-05-10

Family

ID=76247433

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110236051.4A Active CN112948084B (zh) 2021-03-03 2021-03-03 任务调度方法及***

Country Status (1)

Country Link
CN (1) CN112948084B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115982074B (zh) * 2023-03-20 2023-07-04 深圳市欣博跃电子有限公司 扩展坞数据处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110018893A (zh) * 2019-03-12 2019-07-16 平安普惠企业管理有限公司 一种基于数据处理的任务调度方法及相关设备
CN110162388A (zh) * 2019-04-26 2019-08-23 深圳智链物联科技有限公司 一种任务调度方法、***及终端设备
WO2020019519A1 (zh) * 2018-07-27 2020-01-30 平安科技(深圳)有限公司 任务分配方法及装置
CN112395075A (zh) * 2019-08-15 2021-02-23 阿里巴巴集团控股有限公司 资源的处理方法、装置以及资源调度***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020019519A1 (zh) * 2018-07-27 2020-01-30 平安科技(深圳)有限公司 任务分配方法及装置
CN110018893A (zh) * 2019-03-12 2019-07-16 平安普惠企业管理有限公司 一种基于数据处理的任务调度方法及相关设备
CN110162388A (zh) * 2019-04-26 2019-08-23 深圳智链物联科技有限公司 一种任务调度方法、***及终端设备
CN112395075A (zh) * 2019-08-15 2021-02-23 阿里巴巴集团控股有限公司 资源的处理方法、装置以及资源调度***

Also Published As

Publication number Publication date
CN112948084A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
KR101600129B1 (ko) 애플리케이션 효율 엔진
CN112363813A (zh) 资源调度方法、装置、电子设备和计算机可读介质
CN111768006A (zh) 一种人工智能模型的训练方法、装置、设备及存储介质
CN109815019B (zh) 任务调度方法、装置、电子设备及可读存储介质
US20210103456A1 (en) Virtualized network function deployment
CN111464659A (zh) 节点的调度、节点的预选处理方法、装置、设备及介质
US11294736B2 (en) Distributed processing system, distributed processing method, and recording medium
CN111880936A (zh) 资源调度方法、装置、容器集群、计算机设备和存储介质
CN113918232B (zh) 一种算法服务的调用方法、装置、服务器和存储介质
CN113886069A (zh) 一种资源分配方法、装置、电子设备及存储介质
CN112948084B (zh) 任务调度方法及***
CN114385353A (zh) 资源调度方法及装置、电子设备、存储介质
CN114168302A (zh) 任务调度方法、装置、设备及存储介质
CN111988429A (zh) 算法调度方法以及***
CN116700920A (zh) 云原生混合部署集群资源调度方法及装置
CN110912967A (zh) 一种服务节点调度方法、装置、设备及存储介质
CN113703975A (zh) 模型分配方法、装置、电子设备及计算机可读存储介质
CN111737009A (zh) 本地端与云端计算分配方法、装置和本地服务器
CN113301087A (zh) 资源调度方法、装置、计算设备和介质
CN115396515A (zh) 资源调度方法、装置及存储介质
CN110659125A (zh) 一种分析任务执行方法、装置、***及电子设备
CN114675954A (zh) 任务调度方法及装置
CN114942833A (zh) 定时任务资源动态调度方法及相关装置
CN114237902A (zh) 一种服务部署方法、装置、电子设备及计算机可读介质
CN110391952B (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