CN118151978A - 应用于集群节点的服务升级方法、装置、电子设备及存储介质 - Google Patents

应用于集群节点的服务升级方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN118151978A
CN118151978A CN202410232123.1A CN202410232123A CN118151978A CN 118151978 A CN118151978 A CN 118151978A CN 202410232123 A CN202410232123 A CN 202410232123A CN 118151978 A CN118151978 A CN 118151978A
Authority
CN
China
Prior art keywords
target
target node
service
task
node
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
CN202410232123.1A
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.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information 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 Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202410232123.1A priority Critical patent/CN118151978A/zh
Publication of CN118151978A publication Critical patent/CN118151978A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明实施例公开一种应用于集群节点的服务升级方法、装置、电子设备及存储介质。该方法包括:确定目标集群的各集群节点中部署有待升级服务的目标节点,其中,目标节点利用待升级服务运行目标任务;在目标节点上运行有目标任务并且存在空闲资源的情况下,向目标节点提交虚假任务,以在目标节点上通过运行虚假任务来占用空闲资源;在目标节点上未运行有目标任务的情况下,升级待升级服务。本发明实施例的技术方案,解决了服务升级时间不可控、服务升级复杂度增加以及任务完成时间延迟的问题。

Description

应用于集群节点的服务升级方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种应用于集群节点的服务升级方法、装置、电子设备及存储介质。
背景技术
大规模集群基于多个集群节点组成,各集群节点上分别部署有相应的服务,可用于实现对应任务的运行。
可以理解的是,为了让大规模集群更好地运行任务,可根据任务运行情况,对部署在集群节点上的服务进行升级。
在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:服务升级时间不可控、服务升级复杂度增加以及任务完成时间延迟,亟待解决。
发明内容
本发明实施例提供一种应用于集群节点的服务升级方法、装置、电子设备及存储介质,解决了服务升级时间不可控、服务升级复杂度增加以及任务完成时间延迟的问题。
根据本发明的一方面,提供了一种应用于集群节点的服务升级方法,包括:
确定目标集群的各集群节点中部署有待升级服务的目标节点,其中,目标节点利用待升级服务运行目标任务;
在目标节点上运行有目标任务并且存在空闲资源的情况下,向目标节点提交虚假任务,以在目标节点上通过运行虚假任务来占用空闲资源;
在目标节点上未运行有目标任务的情况下,升级待升级服务。
根据本发明的另一方面,提供了一种应用于集群节点的服务升级装置,可包括:
目标节点确定模块,用于确定目标集群的各集群节点中部署有待升级服务的目标节点,其中,目标节点利用待升级服务运行目标任务;
虚假任务提交模块,用于在目标节点上运行有目标任务并且存在空闲资源的情况下,向目标节点提交虚假任务,以在目标节点上通过运行虚假任务来占用空闲资源;
服务升级模块,用于在目标节点上未运行有目标任务的情况下,升级待升级服务。
根据本发明的另一方面,提供了一种电子设备,可以包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器执行时实现本发明任意实施例所提供的应用于集群节点的服务升级方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令用于使处理器执行时实现本发明任意实施例所提供的应用于集群节点的服务升级方法。
本发明实施例的技术方案,通过确定目标集群的各集群节点中部署有待升级服务的目标节点,该目标节点利用待升级服务运行目标任务;在目标节点上运行有目标任务并且存在空闲资源的情况下,向目标节点提交虚假任务,以在目标节点上通过运行虚假任务来占用空闲资源,从而避免新的目标任务被提交到目标节点上;在目标节点上未运行有目标任务的情况下,对待升级服务进行升级。上述技术方案,通过向运行有目标任务且存在空闲资源的目标节点提交虚假任务来占用空闲资源,以避免当前未被提交到目标节点上的目标任务被提交到目标节点上,这有助于快速清空目标节点上的目标任务,以在目标节点上未存在目标任务的情况下进行服务升级,由此保证了服务升级时间可控且避免了任务完成时间延迟,而且通过无侵入(即未额外设置调度服务)的方式进行服务升级,避免了服务升级复杂度增加。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或是重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所提供的一种应用于集群节点的服务升级方法的流程图;
图2a是根据本发明实施例所提供的一种应用于集群节点的服务升级方法中空闲资源占用示例的示意图;
图2b是根据本发明实施例所提供的一种应用于集群节点的服务升级方法中待升级服务升级示例的示意图;
图3是根据本发明实施例所提供的另一种应用于集群节点的服务升级方法的流程图;
图4是根据本发明实施例所提供的再一种应用于集群节点的服务升级方法的流程图;
图5是根据本发明实施例所提供的一种应用于集群节点的服务升级装置的结构框图;
图6是实现本发明实施例的应用于集群节点的服务升级方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。“目标”、“原始”等的情况类似,在此不再赘述。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在介绍本发明实施例之前,先对目前采用的服务升级过程进行示例性说明,以便能够更好地理解本发明实施例所阐述的服务升级过程可解决服务升级时间不可控、服务升级复杂度增加以及任务完成时间延迟这些问题的原因所在。
这里将存在升级需求的服务称为待升级服务并且部署有待升级服务的集群节点称为目标节点。用户在将用户任务提交到目标节点上后,目标节点可通过利用待升级服务来运行用户任务,以完成用户任务。
在此基础上,示例性的,在待升级服务需要进行升级时,一种实现方案是等待目标节点上的全部用户任务均运行完成之后,再进行服务升级。这一实现方案可以保证用户任务的任务完成时间,对于用户而言比较友好;但是,由于用户可能会持续向目标节点提交用户任务,这就会导致待升级服务的服务升级时间不可控,较长的等待时间容易增高服务升级风险。
另一种实现方案是在已通知用户需进行服务升级的情况下,无需考虑目标节点上的用户任务的运行情况,直接进行服务升级,然后对于运行失败的用户任务,可通过用户重新提交或是配置重试机制以重试重跑等方式来重新运行。这一实现方案可以保证服务升级时间可控,但是可能导致任务完成时间延迟。
再一种实现方案是对各目标节点进行分批升级,即通过调度服务,将用户任务提交到当前未处于升级状态的目标节点上来运行,即不再将用户任务提交到当前处于升级状态的目标节点上,由此可以在先前已提交到该当前处于升级状态的目标节点上的各用户任务均运行完成之后进行服务升级。这一实现方案既不会影响到用户任务的运行,又可以保证服务升级时间可控;但是,这需要设置额外的调度服务辅助实现,从而会导致服务升级复杂度的增加。
为了解决上述阐述的各个问题,发明人在对现有技术进行充分研究的基础上,提出了下述的各个服务升级方案。接下来将对此进行详细阐述。
图1是本发明实施例所提供的一种应用于集群节点的服务升级方法的流程图。本实施例可以适用于对目标集群中部署有待升级服务的目标节点进行服务升级的情况。该方法可由本发明实施例提供的应用于集群节点的服务升级装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在电子设备上,该电子设备可以是各种用户终端或是服务器。
参见图1,本发明实施例的方法具体包括如下步骤:
S110、确定目标集群的各集群节点中部署有待升级服务的目标节点,其中,目标节点利用待升级服务运行目标任务。
其中,待升级服务可理解为存在升级需求并且用于完成目标任务的服务,该目标任务的具体内容与待升级服务直接关联,结合本发明实施例可能涉及的应用场景,示例性的,可以是用户通过购物平台提交的用户任务,该用户任务例如可以是通过下单服务完成的下单任务、通过加购服务完成的加购任务或是通过搜索服务完成的搜索任务等,在此未做具体限定。
目标集群可包括多个集群节点,在实际应用中,可选的,该集群节点也可称为计算节点或是工作节点(即worker节点)等;该多个集群节点可包括部署有待升级服务的目标节点,该目标节点可利用待升级服务运行目标任务以完成目标任务;该目标节点的数量可以是一个、两个或多个,尤其可以是两个或多个,以在目标集群中实现分布式计算,从而保证多个目标任务的快速完成。
从目标集群的各集群节点中确定目标节点,该目标节点可利用待升级服务实现目标任务的运行。需要说明的是,本发明实施例所阐述的目标任务可理解为一种任务,即通过待升级服务实现运行的一种任务,并非指代的是一个任务,因此上述所阐述的该目标节点可利用待升级服务实现目标任务的运行,可理解为目标节点可以利用待升级服务实现目标任务这种任务的运行,而并非是目标节点上当前运行有目标任务这个任务。
S120、在目标节点上运行有目标任务并且存在空闲资源的情况下,向目标节点提交虚假任务,以在目标节点上通过运行虚假任务来占用空闲资源。
其中,需要说明的是,第一,在目标节点的数量是至少两个的情况下,可向该至少两个目标节点中的任一目标节点上提交目标任务,即本发明实施例在进行服务升级时,无需设置额外的调度服务。第二,目标节点运行目标任务的前提是自身存在空闲资源,这是因为目标节点需在空闲资源下运行待升级服务,从而利用待升级服务实现目标任务的运行,这就使得目标任务会被提交到存在空闲资源的目标节点上,尤其会被提交到各目标节点中资源空闲度相对较高的目标节点上,由此保证各目标节点上目标任务的均衡性。上述空闲资源可理解为目标节点上未被占用的计算资源,该计算资源例如可以是内存和中央处理器(Central Processing Unit,CPU)等,在此未做具体限定。
在此基础上,针对各目标节点中的每个目标节点,在该目标节点上运行有目标任务并且存在空闲资源的情况下,为了避免出现因新的目标任务,即当前未被提交到该目标节点上的目标任务被提交到该目标节点上,从而导致该目标节点上总是存在目标任务而无法进行服务升级的情况,可以向该目标节点提交虚假任务(即Mock任务),该虚假任务可以理解为只用于占用空闲资源,而没有实际作用的任务。这样一来,可以通过在该目标节点上运行虚假任务来占用空闲资源,以使得该目标节点不具备空闲资源,进而使得新的目标任务无法提交到该目标节点上。虚假任务的应用,有助于快速清空该目标节点上的目标任务,以在清空之后,实现该目标节点的服务升级。
S130、在目标节点上未运行有目标任务的情况下,升级待升级服务。
其中,在目标节点上未运行有目标任务这种任务的情况下,这时可对部署在该目标节点上的待升级服务进行升级,此时不会影响到目标任务的运行。
为了更好地理解上述阐述的服务升级过程,下面结合具体示例进行示例性说明。示例性的,图2a和图2b展示出了某目标节点的服务升级过程。该目标节点上当前部署的待升级服务的版本是V1,现在需将该待升级服务由V1升级到V2。具体的,参见图2a,利用Agent服务,在该目标节点上存在空闲资源的情况下,向该目标节点提交虚假任务以占用空闲资源,例如在某目标任务运行完成而空闲下某资源之后,可向该目标节点提交虚假任务以占用该资源。参见图2b,在该目标节点上未运行有目标任务的情况下,利用Agent服务通知升级控制服务,以使升级控制服务通过控制升级服务,将待升级服务由V1升级到V2,服务升级之后的目标节点上未运行有任何任务。上述的Agent服务可理解为至少用于提交虚假任务的服务,升级控制服务可理解为用于控制升级服务的服务,升级服务可理解为用于实现服务升级的服务。
本发明实施例的技术方案,通过确定目标集群的各集群节点中部署有待升级服务的目标节点,该目标节点利用待升级服务运行目标任务;在目标节点上运行有目标任务并且存在空闲资源的情况下,向目标节点提交虚假任务,以在目标节点上通过运行虚假任务来占用空闲资源,从而避免新的目标任务被提交到目标节点上;在目标节点上未运行有目标任务的情况下,对待升级服务进行升级。上述技术方案,通过向运行有目标任务且存在空闲资源的目标节点提交虚假任务来占用空闲资源,以避免当前未被提交到目标节点上的目标任务被提交到目标节点上,这有助于快速清空目标节点上的目标任务,以在目标节点上未存在目标任务的情况下进行服务升级,由此保证了服务升级时间可控且避免了任务完成时间延迟,而且通过无侵入(即未额外设置调度服务)的方式进行服务升级,避免了服务升级复杂度增加。
一种可选的技术方案,上述服务升级方法,还包括:
在目标节点上运行有任务的情况下,判断任务是否包括目标任务;
在包括的情况下,判断目标节点上是否存在空闲资源。
其中,在目标节点上未运行有任务的情况下,这说明目标节点上未运行有目标任务,则可直接进行目标节点的服务升级。换言之,在目标节点上运行有任务的情况下,由于该任务可能是目标任务和/或虚假任务,因此这时存在判断该任务是否包括目标任务的需求,在未包括目标任务时,可直接进行服务升级,以及在包括目标任务时,需等待目标任务运行完成之后,方可进行服务升级。因此,可在目标节点上运行有任务的情况下,判断该任务是否包括目标任务,并在包括的情况下,进一步判断空闲资源存在与否。
上述技术方案,既可节约计算资源,又可保证服务快速升级。
图3是本发明实施例提供的另一种应用于集群节点的服务升级方法的流程图。本实施例以上述各技术方案为基础进行优化。本实施例中,可选的,目标节点的数量是至少一个,在确定目标集群中部署有待升级服务的目标节点之后,上述的服务升级方法还包括:获取预设的目标节点选择策略,并根据目标节点选择策略,从至少一个目标节点中选择当前处理的目标节点;在此基础上,可选的,在向目标节点提交虚假任务之后,或是在升级待升级服务之后,或是在目标节点上运行有目标任务并且未存在空闲资源的情况下,上述服务升级方法还包括:返回执行根据目标节点选择策略,从至少一个目标节点中选择当前处理的目标节点的步骤,以分别完成至少一个目标节点的服务升级。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图3,本实施例的方法具体可以包括如下步骤:
S210、确定目标集群的各集群节点中部署有待升级服务的目标节点,其中,目标节点利用待升级服务运行目标任务。
其中,目标节点的数量可以是一个、两个或多个,尤其可以是两个或多个,从而可利用该两个或多个目标节点,针对目标任务进行分布式计算,从而保证多个目标任务的快速运行。
S220、获取预设的目标节点选择策略。
其中,至少一个目标节点可滚动处理。在此基础上,目标节点选择策略可理解为预设的用于从至少一个目标节点中选择出当前处理的目标节点X的策略。
结合本发明实施例可能涉及的应用场景,可选的,目标节点选择策略可以根据表征目标节点是否已被选择过的选择信息、目标节点的资源空闲度及运行在目标节点上的任务的任务信息中的至少一个进行目标节点的选择。换言之,目标节点选择策略可以根据各目标节点分别对应的选择信息、资源空闲度以及任务信息中的至少一个进行目标节点X的选择。其中,某目标节点的选择信息可以表征该目标节点在滚动处理过程中是否已被选择过;资源空闲度可以表征该目标节点上未被占用的资源的多少;任务信息可以表征运行在该目标节点上的任务的信息,例如可以是任务数量和/或任务重要度等,在此未做具体限定。
获取目标节点选择策略。
S230、根据目标节点选择策略,从至少一个目标节点中选择出当前处理的目标节点。
其中,根据目标节点选择策略,从各目标节点中选择当前处理的目标节点X,并利用S240-S260中的任一步骤,对该目标节点X进行处理。
S240、在目标节点上运行有目标任务并且存在空闲资源的情况下,向目标节点提交虚假任务,以在目标节点上通过运行虚假任务来占用空闲资源,返回执行S230。
其中,在通过提交虚假任务占用掉目标节点X上的空闲资源之后,可返回执行S230,继续选择接下来需处理的目标节点,即无需等待该目标节点X上的各目标任务均运行完成即该目标节点X完成服务升级之后,再处理下一个目标节点,由此保证了各目标节点的服务升级速度。
S250、在目标节点上运行有目标任务并且未存在空闲资源的情况下,返回执行S230。
其中,在目标节点X上运行有目标任务并且未存在空闲资源的情况下,这说明目标节点X此时不可进行服务升级,也无需提交虚假任务至目标节点X上,则可返回执行S230,继续选择接下来处理的目标节点X。
S260、在目标节点上未运行有目标任务的情况下,升级待升级服务,返回执行S230。
其中,在完成目标节点X的服务升级之后,可返回执行S230,继续选择接下来处理的目标节点X,以完成各目标节点的服务升级。
S270、在至少一个目标节点上分别部署的待升级服务均完成升级后,退出。
其中,在各目标节点均完成服务升级之后,这说明目前已完成待升级服务的升级目标,则可退出。
本发明实施例的技术方案,通过滚动处理各目标节点,而且在处理过程中,根据各目标节点的空闲资源情况和目标任务运行情况,采用对应方式进行处理,由此实现了各目标节点的服务升级,尤其是快速服务升级。
一种可选的技术方案,根据目标节点选择策略,从至少一个目标节点中选择当前处理的目标节点,包括:
在至少一个目标节点中,存在未完成服务升级的目标节点的情况下,根据目标节点选择策略,从未完成服务升级的各目标节点中选择出当前处理的目标节点。
其中,由于服务升级目标是完成全部目标节点上分别部署的待升级服务的升级,因此在该全部目标节点中存在未完成服务升级的目标节点的情况下,可针对该未完成服务升级的各目标节点进行目标节点X的选择,无需针对该全部目标节点进行目标节点X的选择或是在该全部目标节点均已完成服务升级的情况下进行目标节点X的选择,由此进一步保证了各目标节点的服务升级速度。
在此基础上,可选的,在至少一个目标节点中,存在未完成服务升级的目标节点的情况下之后,上述服务升级方法还包括:
在根据目标节点选择策略,未能从各目标节点中选择出目标节点的情况下,暂停目标节点的选择;
在针对至少一个目标节点的循环处理机制被触发的情况下,判断至少一个目标节点中,是否存在未完成服务升级的目标节点。
其中,由于目标任务从开始运行到结束运行需要一段时间,因此为了节约计算资源,在各目标节点滚动处理一次之后,无需立即进行下一轮的滚动处理。换言之,在根据目标节点选择策略,未能选择出目标节点X的情况下,这说明各目标节点在本轮滚动(即循环)处理过程中,均已处理过一次,此时可暂停目标节点X的选择。然后,在针对至少一个目标节点的循环处理机制被触发的情况下,再次执行上述步骤,进行下一轮的循环处理。该循环处理机制可理解为循环处理各目标节点的机制,结合本发明实施例可能涉及的应用场景,例如可以是定时循环处理机制或是事件循环处理机制等,在此未做具体限定。
上述技术方案,可以节约服务升级过程中占用的计算资源。
图4是本发明实施例提供的再一种应用于集群节点的服务升级方法的流程图。本实施例以上述各技术方案为基础进行优化,在此基础上,可选的,这一实施例可利用Agent服务实现。其中,与上述各实施例相同或是相应的术语的解释在此不再赘述。
参见图4,本实施例的方法具体可以包括如下步骤:
S310、获取worker节点列表,其中,worker节点列表中的各worker节点上均部署有待升级服务。
其中,worker节点即为上文中的目标节点,即目标集群中利用待升级服务进行工作的计算节点。在此基础上,worker节点可以利用待升级服务执行用户任务,该用户任务可理解为上文中的目标任务的示例。
S320、判断worker节点列表中是否存在未完成服务升级的worker节点?如果是,则执行S330;否则(即全部worker节点均完成服务升级),退出。
S330、根据worker节点选择策略,从未完成服务升级的各worker节点中选择当前处理的worker节点。
其中,worker节点选择策略即为上文中的目标节点选择策略。结合本发明实施例可能涉及的应用场景,可选的,根据worker节点选择策略选择出的worker节点,可以是未被选择过、相对空闲(即资源空闲度相对较高)并且用户任务的任务数量相交较少的worker节点。在此基础上,可选的,在定时循环处理各worker节点的情况下,该未被选择过可理解为在当前循环轮次中未被选择过。进一步可选的,在未能从各worker节点中选择出当前处理的worker节点的情况下,这说明本轮循环结束,等待下一轮循环开始,执行S320。
S340、判断该worker节点上是否有任务运行?如果是,则执行S350;否则,执行S380。
S350、判断该worker节点上运行的各任务是否均为Mock任务?如果是,则执行S380;否则,执行S360。
S360、计算该worker节点上的空闲资源,以判断该worker节点上是否存在空闲资源?如果是,则执行S370;否则,返回执行S320。
S370、向该worker节点提交Mock任务,以在该worker节点上通过运行Mock任务来占用空闲资源,并返回执行S320。
S380、通知升级控制服务,执行升级服务,以利用升级服务,对部署在该worker节点上的待升级服务进行升级,并返回执行S320。
其中,在实际应用中,在某worker节点完成服务升级之后,可对该worker节点进行标记,以避免后续再次对该worker节点进行处理,影响服务升级效率。
本发明实施例的技术方案,在用户无感知的情况下,实现了各worker节点上待升级服务的快速并且无侵入升级的效果。
图5为本发明实施例中提供的应用于集群节点的服务升级装置的结构框图,该装置用于执行上述任意实施例所提供的服务升级方法。该装置与上述各实施例的服务升级方法属于同一个发明构思,在服务升级装置的实施例中未详尽描述的细节内容,可参考上述服务升级方法的实施例。参见图5,该装置具体可包括:目标节点确定模块510、虚假任务提交模块520以及服务升级模块530。
其中,目标节点确定模块510,用于确定目标集群的各集群节点中部署有待升级服务的目标节点,其中,目标节点利用待升级服务运行目标任务;
虚假任务提交模块520,用于在目标节点上运行有目标任务并且存在空闲资源的情况下,向目标节点提交虚假任务,以在目标节点上通过运行虚假任务来占用空闲资源;
服务升级模块530,用于在目标节点上未运行有目标任务的情况下,升级待升级服务。
可选的,目标节点的数量是至少一个,上述服务升级装置,还包括:
目标节点第一选择模块,用于在确定目标集群的各集群节点中部署有待升级服务的目标节点之后,获取预设的目标节点选择策略,并根据目标节点选择策略,从至少一个目标节点中选择当前处理的目标节点;
第一返回执行模块,用于在向目标节点提交虚假任务之后,返回执行根据目标节点选择策略,从至少一个目标节点中选择当前处理的目标节点的步骤,以分别完成至少一个目标节点的服务升级。
可选的,目标节点的数量是至少一个,上述服务升级装置,还包括:
目标节点第二选择模块,用于在确定目标集群的各集群节点中部署有待升级服务的目标节点之后,获取预设的目标节点选择策略,并根据目标节点选择策略,从至少一个目标节点中选择当前处理的目标节点;
第二返回执行模块,用于在升级待升级服务之后,返回执行根据目标节点选择策略,从至少一个目标节点中选择当前处理的目标节点的步骤,以分别完成至少一个目标节点的服务升级。
可选的,目标节点的数量是至少一个,上述服务升级装置,还包括:
目标节点第三选择模块,用于在确定目标集群的各集群节点中部署有待升级服务的目标节点之后,获取预设的目标节点选择策略,并根据目标节点选择策略,从至少一个目标节点中选择当前处理的目标节点;
第三返回执行模块,用于在目标节点上运行有目标任务且未存在空闲资源的情况下,返回执行根据目标节点选择策略,从至少一个目标节点中选择当前处理的目标节点的步骤,以分别完成至少一个目标节点的服务升级。
在此基础上,一可选的,目标节点第一选择模块、目标节点第二选择模块或是目标节点第三选择模块,包括:
目标节点选择单元,用于在至少一个目标节点中,存在未完成服务升级的目标节点的情况下,根据目标节点选择策略,从未完成服务升级的各目标节点中选择当前处理的目标节点。
在此基础上,可选的,上述服务升级装置,还包括:
目标节点暂停选择模块,用于在至少一个目标节点中,存在未完成服务升级的目标节点的情况下之后,在根据目标节点选择策略,未能从各目标节点中选择出目标节点的情况下,暂停目标节点的选择;
目标节点判断模块,用于在针对至少一个目标节点的循环处理机制被触发的情况下,判断至少一个目标节点中,是否存在未完成服务升级的目标节点。
另一可选的,目标节点选择策略根据表征目标节点是否已被选择过的选择信息、目标节点的资源空闲度以及运行在目标节点上的任务的任务信息中的至少一个进行目标节点的选择。
可选的,上述服务升级装置,还包括:
目标任务判断模块,用于在目标节点上运行有任务的情况下,判断任务是否包括目标任务;
空闲资源判断模块,用于在包括的情况下,判断目标节点上是否存在空闲资源。
本发明实施例提供的服务升级装置,通过目标节点确定模块,确定目标集群的各集群节点中部署有待升级服务的目标节点,该目标节点利用待升级服务运行目标任务;通过虚假任务提交模块,在目标节点上运行有目标任务且存在空闲资源的情况下,向目标节点提交虚假任务,以在目标节点上通过运行虚假任务来占用空闲资源,从而避免新的目标任务被提交到目标节点上;通过服务升级模块,在目标节点上未运行有目标任务的情况下,对待升级服务进行升级。上述装置,通过向运行有目标任务且存在空闲资源的目标节点提交虚假任务来占用空闲资源,以避免出现当前未被提交到目标节点运行上的目标任务被提交到目标节点上运行的情况,这有助于快速清空目标节点上的目标任务,以便在目标节点上未存在目标任务的情况下进行服务升级,由此保证了服务升级时间可控且避免了任务完成时间延迟,而且通过无侵入(即未额外设置调度服务)的方式进行服务升级,避免了服务升级复杂度增加。
本发明实施例所提供的服务升级装置可执行本发明任意实施例所提供的服务升级方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述服务升级装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
图6示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如应用于集群节点的服务升级方法。
在一些实施例中,应用于集群节点的服务升级方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的应用于集群节点的服务升级方法的一个或多个步骤。备选地,在其他实施例中,处理器11可通过其他任何适当的方式(例如,借助于固件)而被配置为执行应用于集群节点的服务升级方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、以及至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、以及该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或是其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行并且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (11)

1.一种应用于集群节点的服务升级方法,其特征在于,包括:
确定目标集群的各集群节点中部署有待升级服务的目标节点,其中,所述目标节点利用所述待升级服务运行目标任务;
在所述目标节点上运行有所述目标任务并且存在空闲资源的情况下,向所述目标节点提交虚假任务,以在所述目标节点上通过运行所述虚假任务来占用所述空闲资源;
在所述目标节点上未运行有所述目标任务的情况下,升级所述待升级服务。
2.根据权利要求1所述的方法,其特征在于,所述目标节点的数量是至少一个,在所述确定目标集群的各集群节点中部署有待升级服务的目标节点之后,所述方法还包括:
获取预设的目标节点选择策略,并根据所述目标节点选择策略,从所述至少一个目标节点中选择当前处理的目标节点;
在所述向所述目标节点提交虚假任务之后,所述方法还包括:
返回执行所述根据所述目标节点选择策略,从所述至少一个目标节点中选择当前处理的目标节点的步骤,以分别完成所述至少一个目标节点的服务升级。
3.根据权利要求1所述的方法,其特征在于,所述目标节点的数量是至少一个,在所述确定目标集群的各集群节点中部署有待升级服务的目标节点之后,所述方法还包括:
获取预设的目标节点选择策略,并根据所述目标节点选择策略,从所述至少一个目标节点中选择当前处理的目标节点;
在所述升级所述待升级服务之后,所述方法还包括:
返回执行所述根据所述目标节点选择策略,从所述至少一个目标节点中选择当前处理的目标节点的步骤,以分别完成所述至少一个目标节点的服务升级。
4.根据权利要求1所述的方法,其特征在于,所述目标节点的数量是至少一个,在所述确定目标集群的各集群节点中部署有待升级服务的目标节点之后,所述方法还包括:
获取预设的目标节点选择策略,并根据所述目标节点选择策略,从所述至少一个目标节点中选择当前处理的目标节点;
在所述目标节点上运行有所述目标任务并且未存在所述空闲资源的情况下,返回执行所述根据所述目标节点选择策略,从所述至少一个目标节点中选择当前处理的目标节点的步骤,以分别完成所述至少一个目标节点的服务升级。
5.根据权利要求2-4中任一所述的方法,其特征在于,所述根据所述目标节点选择策略,从所述至少一个目标节点中选择当前处理的目标节点,包括:
在所述至少一个目标节点中,存在未完成服务升级的目标节点的情况下,根据所述目标节点选择策略,从所述未完成服务升级的各目标节点中选择当前处理的目标节点。
6.根据权利要求5中所述的方法,其特征在于,所述在所述至少一个目标节点中,存在未完成服务升级的目标节点的情况下之后,所述方法还包括:
在根据所述目标节点选择策略,未能从所述各目标节点中选择出所述目标节点的情况下,暂停所述目标节点的选择;
在针对所述至少一个目标节点的循环处理机制被触发的情况下,判断所述至少一个目标节点中,是否存在所述未完成服务升级的目标节点。
7.根据权利要求2-4中任一所述的方法,其特征在于,所述目标节点选择策略根据表征目标节点是否已被选择过的选择信息、目标节点的资源空闲度以及运行在目标节点上的任务的任务信息中的至少一个进行目标节点的选择。
8.根据权利要求1所述的方法,其特征在于,还包括:
在所述目标节点上运行有任务的情况下,判断所述任务是否包括所述目标任务;
在包括的情况下,判断所述目标节点上是否存在所述空闲资源。
9.一种应用于集群节点的服务升级装置,其特征在于,包括:
目标节点确定模块,用于确定目标集群的各集群节点中部署有待升级服务的目标节点,其中,所述目标节点利用所述待升级服务运行目标任务;
虚假任务提交模块,用于在所述目标节点上运行有所述目标任务并且存在空闲资源的情况下,向所述目标节点提交虚假任务,以在所述目标节点上通过运行所述虚假任务来占用所述空闲资源;
服务升级模块,用于在所述目标节点上未运行有所述目标任务的情况下,升级所述待升级服务。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-8中任一项所述的应用于集群节点的服务升级方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现如权利要求1-8中任一所述的应用于集群节点的服务升级方法。
CN202410232123.1A 2024-02-29 2024-02-29 应用于集群节点的服务升级方法、装置、电子设备及存储介质 Pending CN118151978A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410232123.1A CN118151978A (zh) 2024-02-29 2024-02-29 应用于集群节点的服务升级方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410232123.1A CN118151978A (zh) 2024-02-29 2024-02-29 应用于集群节点的服务升级方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN118151978A true CN118151978A (zh) 2024-06-07

Family

ID=91296195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410232123.1A Pending CN118151978A (zh) 2024-02-29 2024-02-29 应用于集群节点的服务升级方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN118151978A (zh)

Similar Documents

Publication Publication Date Title
CN112540806B (zh) 一种小程序页面渲染方法、装置、电子设备及存储介质
US20190109920A1 (en) Browser resource pre-pulling method, terminal and storage medium
CN112925587A (zh) 用于初始化应用的方法和装置
CN114564435A (zh) 异构多核芯片的核间通信方法、装置及介质
CN115686805A (zh) Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置
CN114025037B (zh) 一种云手机的检修方法、装置、电子设备和存储介质
CN114968567A (zh) 用于分配计算节点的计算资源的方法、装置和介质
CN114490048A (zh) 任务执行方法、装置、电子设备及计算机存储介质
CN116521573A (zh) 一种自动化测试方法、装置、设备及存储介质
CN116243983A (zh) 处理器、集成电路芯片、指令处理方法、电子设备和介质
CN118151978A (zh) 应用于集群节点的服务升级方法、装置、电子设备及存储介质
CN115237574A (zh) 人工智能芯片的调度方法、装置及电子设备
CN116126719A (zh) 接口测试方法、装置、电子设备及存储介质
CN112486638A (zh) 用于执行处理任务的方法、装置、设备和存储介质
CN114579187A (zh) 一种指令分配方法、装置、电子设备及可读存储介质
CN117057411B (zh) 一种大语言模型训练方法、装置、设备及存储介质
CN116579914B (zh) 一种图形处理器引擎执行方法、装置、电子设备及存储介质
CN117541356A (zh) 一种订单执行方法、系统、电子设备和存储介质
CN117093266A (zh) 指令处理装置、方法、电子设备和存储介质
CN117608798A (zh) 一种工作流调度方法、装置、设备及介质
CN116719552A (zh) 游戏热更新方法、装置、电子设备及存储介质
CN117009000A (zh) 运行开源鸿蒙系统的组件、方法、装置、设备及介质
CN117608786A (zh) 一种数据处理方法、装置、设备及存储介质
CN117519940A (zh) 进程调度方法、装置、电子设备及存储介质
CN115390992A (zh) 一种虚拟机创建方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination