CN117785418A - 一种实例调度方法及装置 - Google Patents

一种实例调度方法及装置 Download PDF

Info

Publication number
CN117785418A
CN117785418A CN202311820887.4A CN202311820887A CN117785418A CN 117785418 A CN117785418 A CN 117785418A CN 202311820887 A CN202311820887 A CN 202311820887A CN 117785418 A CN117785418 A CN 117785418A
Authority
CN
China
Prior art keywords
instance
list
target
task
processed
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.)
Pending
Application number
CN202311820887.4A
Other languages
English (en)
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.)
Alnnovation Beijing Technology Co ltd
Original Assignee
Alnnovation Beijing 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 Alnnovation Beijing Technology Co ltd filed Critical Alnnovation Beijing Technology Co ltd
Priority to CN202311820887.4A priority Critical patent/CN117785418A/zh
Publication of CN117785418A publication Critical patent/CN117785418A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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

Abstract

本申请提供一种实例调度方法及装置,该方法包括:接收待处理任务,并对待处理任务申请分布式锁;获取实例列表;基于预设的权重机制和实例列表确定目标实例;对目标实例申请分布式锁;根据目标实例执行待处理任务;当待处理任务执行完毕后,降低目标实例的实例权重。可见,该方法及装置能够实现案例服务的精准调度,具有高并发、高可用、高扩展的有点,避免资源浪费。

Description

一种实例调度方法及装置
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种实例调度方法及装置。
背景技术
目前,随着互联网的不断发展,CPU所需要处理的数据越来越多。在实践中发现,在接受到待处理任务之后,需要调度相应的服务实例以对待处任务进行相应的服务处理,然而,在CPU密集型服务调度输入输出耗时长的高并发场景中,由于任务量过多,容易出现积压任务导致集群崩溃的问题。
发明内容
本申请实施例的目的在于提供一种实例调度方法及装置,能够实现案例服务的精准调度,具有高并发、高可用、高扩展的有点,避免资源浪费。
本申请第一方面提供了一种实例调度方法,包括:
接收待处理任务,并对所述待处理任务申请分布式锁;
获取实例列表;
基于预设的权重机制和所述实例列表确定目标实例;
对所述目标实例申请分布式锁;
根据所述目标实例执行所述待处理任务;
当所述待处理任务执行完毕后,降低所述目标实例的实例权重。
进一步地,所述基于预设的权重机制和所述实例列表确定目标实例,包括:
对所述实例列表进行过滤,得到待选实例列表;
根据预设的权重机制从所述待选实例列表中选择目标实例。
进一步地,所述对所述实例列表进行过滤,得到待选实例列表,包括:
获取所述实例列表对应的目标key组;
以所述目标key组为索引对所述实例列表进行服务实例探活处理,得到失活实例;
通过预设的熔断插件对所述实例列表中的所述失活实例进行过滤处理,得到待选实例列表。
进一步地,所述根据预设的权重机制从所述待选实例列表中选择目标实例,包括:
以一组key值的形式调度所述待选实例列表;
基于所述key值和预设的权重机制从所述待选实例列表中获取目标实例。
进一步地,所述获取所述实例列表对应的目标key组,包括:
获取所述实例列表对应的原始key组;
判断所述原始key组中是否存在空缺key值;
如果是,则采用预设的自动补key插件对所述原始key组进行key值补充处理,得到目标key组。
本申请第二方面提供了一种实例调度装置,所述实例调度装置包括:
接收单元,用于接收待处理任务;
分布式锁申请单元,用于对所述待处理任务申请分布式锁;
获取单元,用于获取实例列表;
确定单元,用于基于预设的权重机制和所述实例列表确定目标实例;
所述分布式锁申请单元,还用于对所述目标实例申请分布式锁;
执行单元,用于根据所述目标实例执行所述待处理任务;
权重降低单元,用于当所述待处理任务执行完毕后,降低所述目标实例的实例权重。
进一步地,所述确定单元包括:
过滤子单元,用于对所述实例列表进行过滤,得到待选实例列表;
选择子单元,用于根据预设的权重机制从所述待选实例列表中选择目标实例。
进一步地,所述过滤子单元包括:
获取模块,用于获取所述实例列表对应的目标key组;
探活模块,用于以所述目标key组为索引对所述实例列表进行服务实例探活处理,得到失活实例;
过滤模块,用于通过预设的熔断插件对所述实例列表中的所述失活实例进行过滤处理,得到待选实例列表。
进一步地,所述选择子单元包括:
调度模块,用于以一组key值的形式调度所述待选实例列表;
选择模块,用于基于所述key值和预设的权重机制从所述待选实例列表中获取目标实例。
进一步地,所述获取模块,具体用于获取所述实例列表对应的原始key组;
所述获取模块,具体还用于判断所述原始key组中是否存在空缺key值;
所述获取模块,具体还用于在所述原始key组中存在空缺key值时,采用预设的自动补key插件对所述原始key组进行key值补充处理,得到目标key组。
本申请第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请第一方面中任一项所述的实例调度方法。
本申请第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请第一方面中任一项所述的实例调度方法。
本申请的有益效果为:该方法及装置能够实现案例服务的精准调度,具有高并发、高可用、高扩展的有点,避免资源浪费。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种实例调度方法的流程示意图;
图2为本申请实施例提供的另一种实例调度方法的流程示意图;
图3为本申请实施例提供的一种实例调度装置的结构示意图;
图4为本申请实施例提供的另一种实例调度装置的结构示意图;
图5为本申请实施例提供的一种实例调度方法的原理举例流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本实施例提供的一种实例调度方法的流程示意图。其中,该实例调度方法包括:
S101、接收待处理任务,并对待处理任务申请分布式锁。
S102、获取实例列表。
S103、基于预设的权重机制和实例列表确定目标实例。
S104、对目标实例申请分布式锁。
S105、根据目标实例执行待处理任务。
S106、当待处理任务执行完毕后,降低目标实例的实例权重。
本实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
在本实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
可见,实施本实施例所描述的实例调度方法,能够实现案例服务的精准调度,具有高并发、高可用、高扩展的有点,避免资源浪费。
实施例2
请参看图2,图2为本实施例提供的一种实例调度方法的流程示意图。其中,该实例调度方法包括:
S201、接收待处理任务,并对待处理任务申请分布式锁。
本实施例中,该方法可以使用分布式锁在每次获取可调度最优实例时,通过上锁的方式保证多实例不会调度到同一个模型实例。
S202、获取实例列表。
S203、获取实例列表对应的原始key组。
本实施例中,该方法可以通过分组调度插件来支持组(多key)的形式分组进行调度,从而实现在竞选时以一组key的形式进行调度,获取该组下最优实例。
S204、判断原始key组中是否存在空缺key值,若是,则执行步骤S205;若否,则结束本流程。
S205、采用预设的自动补key插件对原始key组进行key值补充处理,得到目标key组。
本实施例中,该方法可以通过自动补key插件:如果key组中有key不存在可以自动补充
S206、以目标key组为索引对实例列表进行服务实例探活处理,得到失活实例。
S207、通过预设的熔断插件对实例列表中的失活实例进行过滤处理,得到待选实例列表。
本实施例中,该方法可以通过健康检查插件来根据key为索引探活key对应的服务实例,自动标记失活实例。然后,该方法再通过熔断插件在调度时将其过滤。
在本实施例中,该方法可以基于插件机制,在不同场景下灵活组合插件,从而实现更灵活的调度。
S208、以一组key值的形式调度待选实例列表。
S209、基于key值和预设的权重机制从待选实例列表中获取目标实例。
本实施例中,该方法可以基于媒介key的形式进行调度,解耦被调度方的耦合。
S210、对目标实例申请分布式锁。
S211、根据目标实例执行待处理任务。
S212、当待处理任务执行完毕后,降低目标实例的实例权重。
实施这种实施方式,能够在一个实例最终竞选成功时,将该实例的调度权重降低,以使在下次调度时,该实例会比同组实例调度的优先级更低。
本实施例中,该方法可以通过竞选插件来进行实例的随机竞选,从而实现平均调度流量的效果,防止流量调度不均匀。
本实施例中,该方法可以通过单实例单位时间内最大调度实例数量控制插件来控制单位时间内的实例调度数量。
在本实施例中,该方法所适用的调度插件过滤/竞选、缓冲机制、精准调度策略均为解耦的,可任意替换。
请参看图5,图5示出了一种实例调度方法的原理举例流程图。
本实施例中,该方法可以增加缓冲模块,以防止调度积压。同时,还可以扩展基础组件实现高并发场景下的多场景调度,例如使用RocketMQ、Redis、阻塞机制等。
在本实施例中,该方法通过简单的适配就可以加入到golang语言的项目中,并实现对当前最优模型服务实例进行调度的效果,从而提高CPU/GPU计算密集型实例时的调度精准调度,进而避免服务器资源浪费。
本实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
在本实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
可见,实施本实施例所描述的实例调度方法,能够实现案例服务的精准调度,具有高并发、高可用、高扩展的有点,避免资源浪费。
实施例3
请参看图3,图3为本实施例提供的一种实例调度装置的结构示意图。如图3所示,该实例调度装置包括:
接收单元310,用于接收待处理任务;
分布式锁申请单元320,用于对待处理任务申请分布式锁;
获取单元330,用于获取实例列表;
确定单元340,用于基于预设的权重机制和实例列表确定目标实例;
分布式锁申请单元320,还用于对目标实例申请分布式锁;
执行单元350,用于根据目标实例执行待处理任务;
权重降低单元360,用于当待处理任务执行完毕后,降低目标实例的实例权重。
本实施例中,对于实例调度装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的实例调度装置,能够实现案例服务的精准调度,具有高并发、高可用、高扩展的有点,避免资源浪费。
实施例4
请参看图4,图4为本实施例提供的一种实例调度装置的结构示意图。如图4所示,该实例调度装置包括:
接收单元310,用于接收待处理任务;
分布式锁申请单元320,用于对待处理任务申请分布式锁;
获取单元330,用于获取实例列表;
确定单元340,用于基于预设的权重机制和实例列表确定目标实例;
分布式锁申请单元320,还用于对目标实例申请分布式锁;
执行单元350,用于根据目标实例执行待处理任务;
权重降低单元360,用于当待处理任务执行完毕后,降低目标实例的实例权重。
作为一种可选的实施方式,确定单元340包括:
过滤子单元341,用于对实例列表进行过滤,得到待选实例列表;
选择子单元342,用于根据预设的权重机制从待选实例列表中选择目标实例。
作为一种可选的实施方式,过滤子单元341包括:
获取模块,用于获取实例列表对应的目标key组;
探活模块,用于以目标key组为索引对实例列表进行服务实例探活处理,得到失活实例;
过滤模块,用于通过预设的熔断插件对实例列表中的失活实例进行过滤处理,得到待选实例列表。
作为一种可选的实施方式,选择子单元342包括:
调度模块,用于以一组key值的形式调度待选实例列表;
选择模块,用于基于key值和预设的权重机制从待选实例列表中获取目标实例。
作为一种可选的实施方式,获取模块,具体用于获取实例列表对应的原始key组;
获取模块,具体还用于判断原始key组中是否存在空缺key值;
获取模块,具体还用于在原始key组中存在空缺key值时,采用预设的自动补key插件对原始key组进行key值补充处理,得到目标key组。
本实施例中,对于实例调度装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的实例调度装置,能够实现案例服务的精准调度,具有高并发、高可用、高扩展的有点,避免资源浪费。
本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例1或实施例2中的实例调度方法。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例1或实施例2中的实例调度方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种实例调度方法,其特征在于,包括:
接收待处理任务,并对所述待处理任务申请分布式锁;
获取实例列表;
基于预设的权重机制和所述实例列表确定目标实例;
对所述目标实例申请分布式锁;
根据所述目标实例执行所述待处理任务;
当所述待处理任务执行完毕后,降低所述目标实例的实例权重。
2.根据权利要求1所述的实例调度方法,其特征在于,所述基于预设的权重机制和所述实例列表确定目标实例,包括:
对所述实例列表进行过滤,得到待选实例列表;
根据预设的权重机制从所述待选实例列表中选择目标实例。
3.根据权利要求2所述的实例调度方法,其特征在于,所述对所述实例列表进行过滤,得到待选实例列表,包括:
获取所述实例列表对应的目标key组;
以所述目标key组为索引对所述实例列表进行服务实例探活处理,得到失活实例;
通过预设的熔断插件对所述实例列表中的所述失活实例进行过滤处理,得到待选实例列表。
4.根据权利要求2所述的实例调度方法,其特征在于,所述根据预设的权重机制从所述待选实例列表中选择目标实例,包括:
以一组key值的形式调度所述待选实例列表;
基于所述key值和预设的权重机制从所述待选实例列表中获取目标实例。
5.根据权利要求3所述的实例调度方法,其特征在于,所述获取所述实例列表对应的目标key组,包括:
获取所述实例列表对应的原始key组;
判断所述原始key组中是否存在空缺key值;
如果是,则采用预设的自动补key插件对所述原始key组进行key值补充处理,得到目标key组。
6.一种实例调度装置,其特征在于,所述实例调度装置包括:
接收单元,用于接收待处理任务;
分布式锁申请单元,用于对所述待处理任务申请分布式锁;
获取单元,用于获取实例列表;
确定单元,用于基于预设的权重机制和所述实例列表确定目标实例;
所述分布式锁申请单元,还用于对所述目标实例申请分布式锁;
执行单元,用于根据所述目标实例执行所述待处理任务;
权重降低单元,用于当所述待处理任务执行完毕后,降低所述目标实例的实例权重。
7.根据权利要求6所述的实例调度装置,其特征在于,所述确定单元包括:
过滤子单元,用于对所述实例列表进行过滤,得到待选实例列表;
选择子单元,用于根据预设的权重机制从所述待选实例列表中选择目标实例。
8.根据权利要求7所述的实例调度装置,其特征在于,所述过滤子单元包括:
获取模块,用于获取所述实例列表对应的目标key组;
探活模块,用于以所述目标key组为索引对所述实例列表进行服务实例探活处理,得到失活实例;
过滤模块,用于通过预设的熔断插件对所述实例列表中的所述失活实例进行过滤处理,得到待选实例列表。
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行权利要求1至5中任一项所述的实例调度方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至5任一项所述的实例调度方法。
CN202311820887.4A 2023-12-27 2023-12-27 一种实例调度方法及装置 Pending CN117785418A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311820887.4A CN117785418A (zh) 2023-12-27 2023-12-27 一种实例调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311820887.4A CN117785418A (zh) 2023-12-27 2023-12-27 一种实例调度方法及装置

Publications (1)

Publication Number Publication Date
CN117785418A true CN117785418A (zh) 2024-03-29

Family

ID=90393911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311820887.4A Pending CN117785418A (zh) 2023-12-27 2023-12-27 一种实例调度方法及装置

Country Status (1)

Country Link
CN (1) CN117785418A (zh)

Similar Documents

Publication Publication Date Title
CN110032438B (zh) 延时任务执行方法、装置及电子设备
CN109391680B (zh) 一种定时任务数据处理方法、装置及系统
CN108243032B (zh) 一种服务等级信息的获取方法、装置及设备
CN110781145B (zh) 一种文件系统任务调度方法、装置、设备及可读存储介质
CN109901918B (zh) 一种处理超时任务的方法和装置
KR20170134723A (ko) 이벤트 처리 시스템 페이징
CN110659137A (zh) 针对离线任务的处理资源分配方法及系统
CN114048931B (zh) 补货信息生成方法、装置、电子设备和计算机可读介质
EP3945420A1 (en) Method and apparatus for data processing, server and storage medium
CN107633080B (zh) 一种用户任务处理方法及装置
CN110769057A (zh) 基于级联系统的自动升级方法、装置及系统
CN113032119A (zh) 一种任务调度方法、装置、存储介质及电子设备
CN111988429A (zh) 算法调度方法以及系统
CN110764930B (zh) 基于消息模式的请求或应答处理方法及装置
CN109634812B (zh) Linux系统的进程CPU占用率控制方法、终端设备及存储介质
CN117785418A (zh) 一种实例调度方法及装置
CN108769152B (zh) 服务刷新策略注册、服务刷新请求方法、装置以及设备
CN111221650A (zh) 基于进程类型关联的系统资源回收方法及装置
CN110968483A (zh) 业务数据采集方法、装置及电子设备
CN112509164A (zh) 一种出勤打卡方法、装置、设备和存储介质
CN113347110A (zh) 一种流量控制方法、装置、存储介质及设备
CN110209746B (zh) 一种数据仓库的数据处理方法及装置
CN112100472A (zh) 爬虫调度方法、装置、终端设备和可读存储介质
CN111259023B (zh) 一种数据调度方法、装置、电子设备及存储介质
CN109194734A (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