CN115309520A - 任务迁移方法、装置、电子设备及存储介质 - Google Patents
任务迁移方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115309520A CN115309520A CN202210841376.XA CN202210841376A CN115309520A CN 115309520 A CN115309520 A CN 115309520A CN 202210841376 A CN202210841376 A CN 202210841376A CN 115309520 A CN115309520 A CN 115309520A
- Authority
- CN
- China
- Prior art keywords
- server
- task
- access frequency
- cost
- service
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供了一种任务迁移方法、装置、电子设备及存储介质。所述方法包括:根据服务器集群中每个服务器在当前时刻的业务任务的任务类型,确定每个服务器对应的访问频率代价;根据所述访问频率代价和第一代价阈值,确定所述服务器集群内需进行任务迁移的源服务器;根据所述访问频率代价和第二代价阈值,确定所述服务器集群内的目标服务器;所述第一代价阈值大于所述第二代价阈值;将所述源服务器的目标业务任务迁移至所述目标服务器。本申请实施例能够有效地实现服务器集群中各个服务器之间的负载均衡,提高了业务任务的执行效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种任务迁移方法、装置、电子设备及存储介质。
背景技术
服务器集群是指将多个服务器集中起来一起进行同一种服务。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。
现有业务多数需要集群环境达到更高负载、高可用、充分考虑单机性能问题,因此,需要引入分布式负载均衡算法,传统的分布式负载均衡算法包括但不限于轮询算法、加权轮询算法、随机算法、加权随机算法、源地址哈希算法、一致性Hash负载算法最小活跃数算法等。然而,由于业务场景原因,这些传统算法不能有效降低负载如:业务任务执行时长不同,不能单一考虑请求负载,任务执行机器负载不能充分合理利用,不能够有效实现服务器集群的负载均衡,从而导致业务执行的效率较低。
发明内容
本申请实施例所要解决的技术问题是提供一种任务迁移方法、装置、电子设备及存储介质,以有效地实现服务器集群中各个服务器之间的负载均衡,提高业务任务的执行效率。
第一方面,本申请实施例提供了一种任务迁移方法,包括:
根据服务器集群中每个服务器在当前时刻的业务任务的任务类型,确定每个服务器对应的访问频率代价;
根据所述访问频率代价和第一代价阈值,确定所述服务器集群内需进行任务迁移的源服务器;
根据所述访问频率代价和第二代价阈值,确定所述服务器集群内的目标服务器;所述第一代价阈值大于所述第二代价阈值;
将所述源服务器的目标业务任务迁移至所述目标服务器。
可选地,所述根据服务器集群中每个服务器在当前时刻的业务任务的任务类型,确定每个服务器对应的访问频率代价,包括:
针对所述服务器集群内每个服务器,获取所述服务器在当前时刻的全部业务任务;
根据所述全部业务任务对应的执行时长,对所述全部业务任务进行分类处理,得到所述全部业务任务对应的任务类型;
根据每种所述任务类型对应的任务数量和每种任务类型对应的权重系数,计算得到所述服务器的访问频率代价。
可选地,所述根据所述访问频率代价和第一代价阈值,确定所述服务器集群内需进行任务迁移的源服务器,包括:
获取所述服务器集群内访问频率代价大于所述第一代价阈值的第一服务器;
从所述第一服务器内筛选出访问频率代价最大的第一服务器,并将所述访问频率代价最大的第一服务器作为所述源服务器。
可选地,所述根据所述访问频率代价和第二代价阈值,确定所述服务器集群内的目标服务器,包括:
获取所述服务器集群内访问频率代价小于所述第二代价阈值的第二服务器;
从所述第二服务器内筛选出访问频率代价最小的第二服务器,并将所述访问频率代价最小的第二服务器作为所述目标服务器。
可选地,所述将所述源服务器的目标业务任务迁移至所述目标服务器,包括:
根据所述源服务器和所述目标服务器分别对应的访问频率代价,及所述源服务器在当前时刻的业务任务的数量,获取所述源服务器对应的迁移任务数量;
根据所述迁移任务数量、所述源服务器内当前待执行的第一业务任务的任务类型、及预先设定的任务类型的迁移比例,获取所述第一业务任务中待迁移的目标业务任务;
采用多线程的任务迁移方式将所述目标业务任务迁移至所述目标服务器。
可选地,所述根据所述源服务器和所述目标服务器分别对应的访问频率代价,及所述源服务器在当前时刻的业务任务的数量,获取所述源服务器对应的迁移任务数量,包括:
获取所述源服务器在当前时刻的业务任务的第一任务数量,及所述目标服务器在当前时刻的业务任务的第二任务数量;
计算得到所述第一任务数量与所述第二任务数量之间的数量差值;
计算得到所述第一任务数量与所述第二任务数量之间的数量比值;
计算得到所述数量差值与所述数量比值之间的乘积值,并将该乘积值作为所述迁移任务数量。
第二方面,本申请实施例提供了一种任务迁移装置,包括:
访问频率代价确定模块,用于根据服务器集群中每个服务器在当前时刻的业务任务的任务类型,确定每个服务器对应的访问频率代价;
源服务器确定模块,用于根据所述访问频率代价和第一代价阈值,确定所述服务器集群内需进行任务迁移的源服务器;
目标服务器确定模块,用于根据所述访问频率代价和第二代价阈值,确定所述服务器集群内的目标服务器;所述第一代价阈值大于所述第二代价阈值;
目标业务任务迁移模块,用于将所述源服务器的目标业务任务迁移至所述目标服务器。
可选地,所述访问频率代价确定模块包括:
业务任务获取单元,用于针对所述服务器集群内每个服务器,获取所述服务器在当前时刻的全部业务任务;
任务类型获取单元,用于根据所述全部业务任务对应的执行时长,对所述全部业务任务进行分类处理,得到所述全部业务任务对应的任务类型;
访问频率代价计算单元,用于根据每种所述任务类型对应的任务数量和每种任务类型对应的权重系数,计算得到所述服务器的访问频率代价。
可选地,所述源服务器确定模块包括:
第一服务器获取单元,用于获取所述服务器集群内访问频率代价大于所述第一代价阈值的第一服务器;
源服务器获取单元,用于从所述第一服务器内筛选出访问频率代价最大的第一服务器,并将所述访问频率代价最大的第一服务器作为所述源服务器。
可选地,所述目标服务器确定模块包括:
第二服务器获取单元,用于获取所述服务器集群内访问频率代价小于所述第二代价阈值的第二服务器;
目标服务器获取单元,用于从所述第二服务器内筛选出访问频率代价最小的第二服务器,并将所述访问频率代价最小的第二服务器作为所述目标服务器。
可选地,所述目标业务任务迁移模块包括:
迁移任务数量获取单元,用于根据所述源服务器和所述目标服务器分别对应的访问频率代价,及所述源服务器在当前时刻的业务任务的数量,获取所述源服务器对应的迁移任务数量;
目标业务任务获取单元,用于根据所述迁移任务数量、所述源服务器内当前待执行的第一业务任务的任务类型、及预先设定的任务类型的迁移比例,获取所述第一业务任务中待迁移的目标业务任务;
目标业务任务迁移单元,用于采用多线程的任务迁移方式将所述目标业务任务迁移至所述目标服务器。
可选地,所述迁移任务数量获取单元包括:
任务数量获取单元,用于获取所述源服务器在当前时刻的业务任务的第一任务数量,及所述目标服务器在当前时刻的业务任务的第二任务数量;
数量差值计算单元,用于计算得到所述第一任务数量与所述第二任务数量之间的数量差值;
数量比值计算单元,用于计算得到所述第一任务数量与所述第二任务数量之间的数量比值;
迁移任务数量获取单元,用于计算得到所述数量差值与所述数量比值之间的乘积值,并将该乘积值作为所述迁移任务数量。
第三方面,本申请实施例提供了一种电子设备,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的任务迁移方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的任务迁移方法。
与现有技术相比,本申请实施例包括以下优点:
本申请实施例中,通过根据服务器集群中每个服务器在当前时刻的业务任务的任务类型,确定每个服务器对应的访问频率代价,根据访问频率代价和第一代价阈值,确定服务器集群内需进行任务迁移的源服务器,根据访问频率代价和第二代价阈值,确定服务器集群内的目标服务器,第一代价阈值大于第二代价阈值,将源服务器的目标业务任务迁移至目标服务器。本申请实施例通过结合访问频率代价进行业务任务的迁移,能够有效地实现服务器集群的各服务器之间的负载均衡,能够有效解决任务积压降低服务器负载的问题,进而提高了业务任务的执行效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
图1为本申请实施例提供的一种任务迁移方法的步骤流程图;
图2为本申请实施例提供的一种访问频率代价计算方法的步骤流程图;
图3为本申请实施例提供的一种源服务器获取方法的步骤流程图;
图4为本申请实施例提供的一种目标服务器获取方法的步骤流程图;
图5为本申请实施例提供的另一种任务迁移方法的步骤流程图;
图6为本申请实施例提供的一种迁移任务数量获取方法的步骤流程图;
图7为本申请实施例提供的一种任务迁移装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
参照图1,示出了本申请实施例提供的一种任务迁移方法的步骤流程图,如图1所示,该任务迁移方法可以包括以下步骤:
步骤101:根据服务器集群中每个服务器在当前时刻的业务任务的任务类型,确定每个服务器对应的访问频率代价。
本申请实施例可以应用于结合访问频率代价确定服务器集群内的高负载服务器,并将高负载服务器的业务任务迁移至低负载服务器执行的场景中。
访问频率代价可以用于指示服务器集群内每个服务器在某个时刻的负载,访问频率代价越大表示服务器在该时刻的负载越大,反之,访问频率代价越小表示服务器在该时刻的负载越小。
在对服务器集群进行负载均衡处理时,可以获取服务器集群中每个服务器在当前时刻的业务任务的任务类型,确定出每个服务器对应的访问频率代价。对于该实现过程可以结合图2进行如下详细描述。
参照图2,示出了本申请实施例提供的一种访问频率代价计算方法的步骤流程图,如图2所示,该访问频率代价计算方法可以包括:步骤201、步骤202和步骤203。
步骤201:针对所述服务器集群内每个服务器,获取所述服务器在当前时刻的全部业务任务。
在本实施例中,针对服务器集群内的每个服务器,可以获取每个服务器在当前时刻的全部业务任务。在具体实现中,在每个服务器中均设置有待执行任务队列或任务池,根据每个服务器中设置的待执行任务队列或任务池可以获取到服务器在当前时刻的全部业务任务。
在针对服务器集群内每个服务器获取到服务器在当前时刻的全部业务任务之后,执行步骤202。
步骤202:根据所述全部业务任务对应的执行时长,对所述全部业务任务进行分类处理,得到所述全部业务任务对应的任务类型。
在获取到服务器集群内每个服务器在当前时刻的全部业务任务之后,可以根据全部业务任务对应的执行时长,对全部业务任务进行分类处理,以得到全部业务任务对应的任务类型。在具体实现中,可以采用模拟执行的方式,获取每个业务任务的执行时长。也可以采用预先训练的任务时长预测模型对每个业务任务的执行时长进行预测,以得到每个业务任务的执行时长等。
在得到全部业务任务的执行时长之后,可以按照执行时长对全部业务任务进行分类,在本示例中,业务任务可以分为三类,即快中慢,在实际应用中,可以预先设置两个时长阈值以进行业务任务的分类等,例如,两个时长阈值分别为1小时和30分钟,在某个业务任务的执行时长小于30分钟时,则该业务任务为慢类型的任务,在某个业务任务的执行时长大于等于30分钟小于等于1小时时,则该业务任务为中类型的任务,在某个业务任务的执行时长大于1小时时,则该业务任务为快类型的任务等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
在根据全部业务任务对应的执行时长对全部业务任务进行分类处理,得到全部业务任务对应的任务类型之后,执行步骤203。
步骤203:根据每种所述任务类型对应的任务数量和每种任务类型对应的权重系数,计算得到所述服务器的访问频率代价。
在根据全部业务任务对应的执行时长对全部业务任务进行分类处理,得到全部业务任务对应的任务类型之后,可以根据每种任务类型对应的任务数量和每种任务类型对应的权重系数,计算得到每个服务器的访问频率代价。具体地,任务类型包括快中慢三类,分别使用字母F、M、S表示,访问频率代价的计算公式为:
Fod=F/ΣF+M/ΣM+S/ΣS (1)
上述公式(1)中,Fod为访问频率代价,ΣF为F类型对应的权重系数,可以设置为1,ΣM为M类型对应的权重系数,可以设置为ΣM设置一个位于0.5~1区间的数值,ΣS为S类型对应的权重系数,可以设置为ΣS设置一个小于0.5的数值。
本申请实施例通过结合任务执行时长和任务数量计算每个服务器的访问频率代价,可以避免业务任务执行时长不同导致服务器负载过重的问题出现,提高了负载均衡的有效性。
在根据服务器集群中每个服务器在当前时刻的业务任务的任务类型确定出每个服务器对应的访问频率代价之后,执行步骤102和步骤103。
步骤102:根据所述访问频率代价和第一代价阈值,确定所述服务器集群内需进行任务迁移的源服务器。
第一代价阈值是指预先设置的用于筛选负载过大的服务器的访问频率代价的阈值,对于第一代价阈值的具体数值可以根据业务需求而定,本实施例对此不加以限制。
源服务器是指从服务器集群的多个服务器中筛选的负载最大的服务器,即需要进行业务任务迁移的服务器。
在获取到服务器集群内每个服务器的访问频率代价之后,可以将每个服务器的访问频率代价与第一代价阈值进行比较,以从服务器中筛选出访问频率代价大于第一代价阈值的服务器,然后从筛选的服务器中再次筛选出访问频率最大的服务器以作为源服务器。对于该实现过程可以结合图3进行如下详细描述。
参照图3,示出了本申请实施例提供的一种源服务器获取方法的步骤流程图,如图3所示,该源服务器获取方法可以包括:步骤301和步骤302。
步骤301:获取所述服务器集群内访问频率代价大于所述第一代价阈值的第一服务器。
在本实施例中,第一服务器是指服务器集群内的访问频率代价大于第一代价阈值的服务器。
在获取到服务器集群内每个服务器的访问频率代价之后,可以将每个服务器的访问频率代价与第一代价阈值进行比较,以得到访问频率代价大于第一代价阈值的第一服务器。
在获取到服务器集群内访问频率代价大于第一代价阈值的第一服务器之后,执行步骤302。
步骤302:从所述第一服务器内筛选出访问频率代价最大的第一服务器,并将所述访问频率代价最大的第一服务器作为所述源服务器。
在获取到服务器集群内访问频率代价大于第一代价阈值的第一服务器之后,可以从第一服务器中筛选出访问频率代价最大的第一服务器,以将该访问频率代价最大的第一服务器作为源服务器。具体地,在第一服务器的个数为1时,则直接将该第一服务器作为源服务器。在第一服务器的个数大于1时,则按照访问频率代价由大到小的顺序对第一服务器进行排序,进而将排序在第一位的第一服务器作为源服务器。
可以理解地,第一服务器的个数也可能存在为0的情况,在此种情况下,服务器集群无需进行负载均衡处理,本实施例对此种情况不做限定。
步骤103:根据所述访问频率代价和第二代价阈值,确定所述服务器集群内的目标服务器;所述第一代价阈值大于所述第二代价阈值。
第二代价阈值是指预先设置的用于筛选负载过小的服务器的访问频率代价的阈值,对于第二代价阈值的具体数值可以根据业务需求而定,本实施例对此不加以限制。
目标服务器是指从服务器集群的多个服务器中筛选的负载最小的服务器。
在获取到服务器集群内每个服务器的访问频率代价之后,可以将每个服务器的访问频率代价与第二代价阈值进行比较,以从服务器中筛选出访问频率代价小于第二代价阈值的服务器,然后从筛选的服务器中再次筛选出访问频率最小的服务器以作为目标服务器。对于该实现过程可以结合图4进行如下详细描述。
参照图4,示出了本申请实施例提供的一种目标服务器获取方法的步骤流程图,如图4所示,该目标服务器获取方法可以包括:步骤401和步骤402。
步骤401:获取所述服务器集群内访问频率代价小于所述第二代价阈值的第二服务器。
在本实施例中,第二服务器是指服务器集群内的访问频率代价小于第二代价阈值的服务器。
在获取到服务器集群内每个服务器的访问频率代价之后,可以将每个服务器的访问频率代价与第二代价阈值进行比较,以从中筛选出访问频率代价小于第二代价阈值的第二服务器。
在获取到服务器集群内访问频率代价小于第二代价阈值的第二服务器之后,执行步骤402。
步骤402:从所述第二服务器内筛选出访问频率代价最小的第二服务器,并将所述访问频率代价最小的第二服务器作为所述目标服务器。
在获取到服务器集群内访问频率代价小于第二代价阈值的第二服务器之后,可以从第二服务器内筛选出访问频率代价最小的第二服务器,并将该访问频率代价最小的第二服务器作为目标服务器。具体地,在第二服务器的个数为1时,则直接将该第二服务器作为目标服务器。在第二服务器的个数大于1时,则按照访问频率代价由大到小的顺序对第二服务器进行排序,进而将排序在最后一位的第二服务器作为目标服务器。
可以理解地,第二服务器的个数也可能存在为0的情况,在此种情况下,服务器集群内的服务器负载均比较大,此时可以发出报警,以由运维人员进行相应处理。
可以理解地,上述步骤102和步骤103的执行顺序无先后之分,可以先执行步骤102,然后再执行步骤103。也可以先执行步骤103,然后再执行步骤102。或者采用双线程的方式同步执行步骤102和步骤103,具体地,对于步骤102和步骤103的执行方式可以根据业务需求而定,本实施例对此不加以限制。
在获取到目标服务器和源服务器之后,执行步骤104。
步骤104:将所述源服务器的目标业务任务迁移至所述目标服务器。
目标业务任务是指从源服务器内筛选的用于迁移至目标服务器执行的业务任务。
在获取到目标服务器和源服务器之后,可以将源服务器的目标业务任务迁移至目标服务器上执行,进而实现了业务任务的跨服务器节点执行,能够有效地解决任务积压降低服务器负载的问题,在提高业务任务的执行效率的同时,可以有效地实现服务器集群的各服务器之间的负载均衡。
对于源服务器内目标业务任务的筛选及迁移过程可以结合图5进行如下详细描述。
参照图5,示出了本申请实施例提供的另一种任务迁移方法的步骤流程图,如图5所示,该任务迁移方法可以包括:步骤501、步骤502和步骤503。
步骤501:根据所述源服务器和所述目标服务器分别对应的访问频率代价,及所述源服务器在当前时刻的业务任务的数量,获取所述源服务器对应的迁移任务数量。
在本实施例中,迁移任务数量是指从源服务器迁移到目标服务器的业务任务的数量。
在确定出源服务器和目标服务器之后,可以获取源服务器和目标服务器的访问频率代价和源服务器在当前时刻的业务任务的数量,根据该两个数值计算得到源服务器对应的迁移任务数量。具体地计算方式可以下述公式(2)所示:
mod=(Fod源-Fod目标)*(Fod源/源任务数) (2)
上述公式(2)中,mod为迁移任务数量,Fod源为源服务器的访问频率代价,Fod目标为目标服务器的访问频率代价,源任务数为源服务器在当前时刻的业务任务的数量。
在获取到源服务器的迁移任务数量之后,执行步骤502。
步骤502:根据所述迁移任务数量、所述源服务器内当前待执行的第一业务任务的任务类型、及预先设定的任务类型的迁移比例,获取所述第一业务任务中待迁移的目标业务任务。
在获取到源服务器的迁移任务数量之后,可以根据迁移任务数量、源服务器当前待执行的第一业务任务的任务类型、以及预先设定的任务类型的迁移比例,获取第一业务任务中待迁移的目标业务任务。例如,任务类型快中慢的迁移比例可以设置为:6:4:2,结合迁移任务数量和该迁移比例,即可计算出待迁移的三种类型的任务数量,进而可以从第一业务任务的三种任务类型中筛选对应的业务任务以作为目标业务任务即可。
在获取到待迁移的目标业务任务之后,执行步骤503。
步骤503:采用多线程的任务迁移方式将所述目标业务任务迁移至所述目标服务器。
在获取到待迁移的目标业务任务之后,可以采用多线程的任务迁移方式将目标业务任务迁移至目标服务器。具体地,可以针对不同的任务类型采用一个线程,以调取任务迁移至目标服务器。
通过多线程的任务迁移方式可以提高任务迁移效率,继而提高了业务任务的执行效率。
在执行完一次业务任务的迁移之后,可以迭代执行上述过程,直至服务器集群内的每个服务器的访问频率代价低于第一代价阈值,实现整个服务器集群的负载均衡。
本申请实施例可以应用于建设高可用、高性能、易扩展、可视化的分布式任务调度平台项目,该分布式任务调度平台支持多语言、跨机房场景、容器场景、任务动态修改、动态扩缩容、资源隔离与可视化管理等功能,形成全渠道任务类项目管理规范,实现完成核心项目的接入,在应用过程中添加了线程环数据结果,将任务分类执行,降低了机器资源的争抢任务执行不充分等问题,随着业务量接入的加大,添加了执行器的集群,由于集群的规划就要考虑集群的负载均衡,所以在传统负载均衡方法的基础上引入并创新了访问频率代价的算法,实现了集群间任务的互通和迁移,有效利用集群的计算和执行单元,进一步提高集群的执行效率和降低机器投入成本。
本申请实施例提供的任务迁移方法,通过根据服务器集群中每个服务器在当前时刻的业务任务的任务类型,确定每个服务器对应的访问频率代价,根据访问频率代价和第一代价阈值,确定服务器集群内需进行任务迁移的源服务器,根据访问频率代价和第二代价阈值,确定服务器集群内的目标服务器,第一代价阈值大于第二代价阈值,将源服务器的目标业务任务迁移至目标服务器。本申请实施例通过结合访问频率代价进行业务任务的迁移,能够有效地实现服务器集群的各服务器之间的负载均衡,能够有效解决任务积压降低服务器负载的问题,进而提高了业务任务的执行效率。
参照图7,示出了本申请实施例提供的一种任务迁移装置的结构示意图,如图7所示,该任务迁移装置700可以包括以下模块:
访问频率代价确定模块710,用于根据服务器集群中每个服务器在当前时刻的业务任务的任务类型,确定每个服务器对应的访问频率代价;
源服务器确定模块720,用于根据所述访问频率代价和第一代价阈值,确定所述服务器集群内需进行任务迁移的源服务器;
目标服务器确定模块730,用于根据所述访问频率代价和第二代价阈值,确定所述服务器集群内的目标服务器;所述第一代价阈值大于所述第二代价阈值;
目标业务任务迁移模块740,用于将所述源服务器的目标业务任务迁移至所述目标服务器。
可选地,所述访问频率代价确定模块710包括:
业务任务获取单元,用于针对所述服务器集群内每个服务器,获取所述服务器在当前时刻的全部业务任务;
任务类型获取单元,用于根据所述全部业务任务对应的执行时长,对所述全部业务任务进行分类处理,得到所述全部业务任务对应的任务类型;
访问频率代价计算单元,用于根据每种所述任务类型对应的任务数量和每种任务类型对应的权重系数,计算得到所述服务器的访问频率代价。
可选地,所述源服务器确定模块720包括:
第一服务器获取单元,用于获取所述服务器集群内访问频率代价大于所述第一代价阈值的第一服务器;
源服务器获取单元,用于从所述第一服务器内筛选出访问频率代价最大的第一服务器,并将所述访问频率代价最大的第一服务器作为所述源服务器。
可选地,所述目标服务器确定模块730包括:
第二服务器获取单元,用于获取所述服务器集群内访问频率代价小于所述第二代价阈值的第二服务器;
目标服务器获取单元,用于从所述第二服务器内筛选出访问频率代价最小的第二服务器,并将所述访问频率代价最小的第二服务器作为所述目标服务器。
可选地,所述目标业务任务迁移模块740包括:
迁移任务数量获取单元,用于根据所述源服务器和所述目标服务器分别对应的访问频率代价,及所述源服务器在当前时刻的业务任务的数量,获取所述源服务器对应的迁移任务数量;
目标业务任务获取单元,用于根据所述迁移任务数量、所述源服务器内当前待执行的第一业务任务的任务类型、及预先设定的任务类型的迁移比例,获取所述第一业务任务中待迁移的目标业务任务;
目标业务任务迁移单元,用于采用多线程的任务迁移方式将所述目标业务任务迁移至所述目标服务器。
可选地,所述迁移任务数量获取单元包括:
任务数量获取单元,用于获取所述源服务器在当前时刻的业务任务的第一任务数量,及所述目标服务器在当前时刻的业务任务的第二任务数量;
数量差值计算单元,用于计算得到所述第一任务数量与所述第二任务数量之间的数量差值;
数量比值计算单元,用于计算得到所述第一任务数量与所述第二任务数量之间的数量比值;
迁移任务数量获取单元,用于计算得到所述数量差值与所述数量比值之间的乘积值,并将该乘积值作为所述迁移任务数量。
本申请实施例提供的任务迁移装置,通过根据服务器集群中每个服务器在当前时刻的业务任务的任务类型,确定每个服务器对应的访问频率代价,根据访问频率代价和第一代价阈值,确定服务器集群内需进行任务迁移的源服务器,根据访问频率代价和第二代价阈值,确定服务器集群内的目标服务器,第一代价阈值大于第二代价阈值,将源服务器的目标业务任务迁移至目标服务器。本申请实施例通过结合访问频率代价进行业务任务的迁移,能够有效地实现服务器集群的各服务器之间的负载均衡,能够有效解决任务积压降低服务器负载的问题,进而提高了业务任务的执行效率。
本申请实施例还提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任务迁移方法。
图8示出了本发明实施例的一种电子设备800的结构示意图。如图8所示,电子设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM803中,还可存储电子设备800操作所需的各种程序和数据。CPU801、ROM802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标、麦克风等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,可由处理单元801执行。例如,上述任一实施例的方法可被实现为计算机软件程序,其被有形地包含于计算机可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序被加载到RAM803并由CPU801执行时,可以执行上文描述的方法中的一个或多个动作。
另外地,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任务迁移方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端上,使得在计算机或其他可编程终端上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端中还存在另外的相同要素。
以上对本申请所提供的一种任务迁移方法、一种任务迁移装置、一种电子设备和一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种任务迁移方法,其特征在于,包括:
根据服务器集群中每个服务器在当前时刻的业务任务的任务类型,确定每个服务器对应的访问频率代价;
根据所述访问频率代价和第一代价阈值,确定所述服务器集群内需进行任务迁移的源服务器;
根据所述访问频率代价和第二代价阈值,确定所述服务器集群内的目标服务器;所述第一代价阈值大于所述第二代价阈值;
将所述源服务器的目标业务任务迁移至所述目标服务器。
2.根据权利要求1所述的方法,其特征在于,所述根据服务器集群中每个服务器在当前时刻的业务任务的任务类型,确定每个服务器对应的访问频率代价,包括:
针对所述服务器集群内每个服务器,获取所述服务器在当前时刻的全部业务任务;
根据所述全部业务任务对应的执行时长,对所述全部业务任务进行分类处理,得到所述全部业务任务对应的任务类型;
根据每种所述任务类型对应的任务数量和每种任务类型对应的权重系数,计算得到所述服务器的访问频率代价。
3.根据权利要求1所述的方法,其特征在于,所述根据所述访问频率代价和第一代价阈值,确定所述服务器集群内需进行任务迁移的源服务器,包括:
获取所述服务器集群内访问频率代价大于所述第一代价阈值的第一服务器;
从所述第一服务器内筛选出访问频率代价最大的第一服务器,并将所述访问频率代价最大的第一服务器作为所述源服务器。
4.根据权利要求1所述的方法,其特征在于,所述根据所述访问频率代价和第二代价阈值,确定所述服务器集群内的目标服务器,包括:
获取所述服务器集群内访问频率代价小于所述第二代价阈值的第二服务器;
从所述第二服务器内筛选出访问频率代价最小的第二服务器,并将所述访问频率代价最小的第二服务器作为所述目标服务器。
5.根据权利要求1所述的方法,其特征在于,所述将所述源服务器的目标业务任务迁移至所述目标服务器,包括:
根据所述源服务器和所述目标服务器分别对应的访问频率代价,及所述源服务器在当前时刻的业务任务的数量,获取所述源服务器对应的迁移任务数量;
根据所述迁移任务数量、所述源服务器内当前待执行的第一业务任务的任务类型、及预先设定的任务类型的迁移比例,获取所述第一业务任务中待迁移的目标业务任务;
采用多线程的任务迁移方式将所述目标业务任务迁移至所述目标服务器。
6.根据权利要求5所述的方法,其特征在于,所述根据所述源服务器和所述目标服务器分别对应的访问频率代价,及所述源服务器在当前时刻的业务任务的数量,获取所述源服务器对应的迁移任务数量,包括:
获取所述源服务器在当前时刻的业务任务的第一任务数量,及所述目标服务器在当前时刻的业务任务的第二任务数量;
计算得到所述第一任务数量与所述第二任务数量之间的数量差值;
计算得到所述第一任务数量与所述第二任务数量之间的数量比值;
计算得到所述数量差值与所述数量比值之间的乘积值,并将该乘积值作为所述迁移任务数量。
7.一种任务迁移装置,其特征在于,包括:
访问频率代价确定模块,用于根据服务器集群中每个服务器在当前时刻的业务任务的任务类型,确定每个服务器对应的访问频率代价;
源服务器确定模块,用于根据所述访问频率代价和第一代价阈值,确定所述服务器集群内需进行任务迁移的源服务器;
目标服务器确定模块,用于根据所述访问频率代价和第二代价阈值,确定所述服务器集群内的目标服务器;所述第一代价阈值大于所述第二代价阈值;
目标业务任务迁移模块,用于将所述源服务器的目标业务任务迁移至所述目标服务器。
8.根据权利要求7所述的装置,其特征在于,所述访问频率代价确定模块包括:
业务任务获取单元,用于针对所述服务器集群内每个服务器,获取所述服务器在当前时刻的全部业务任务;
任务类型获取单元,用于根据所述全部业务任务对应的执行时长,对所述全部业务任务进行分类处理,得到所述全部业务任务对应的任务类型;
访问频率代价计算单元,用于根据每种所述任务类型对应的任务数量和每种任务类型对应的权重系数,计算得到所述服务器的访问频率代价。
9.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至6中任一项所述的任务迁移方法。
10.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1至6中任一项所述的任务迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210841376.XA CN115309520A (zh) | 2022-07-18 | 2022-07-18 | 任务迁移方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210841376.XA CN115309520A (zh) | 2022-07-18 | 2022-07-18 | 任务迁移方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115309520A true CN115309520A (zh) | 2022-11-08 |
Family
ID=83857775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210841376.XA Pending CN115309520A (zh) | 2022-07-18 | 2022-07-18 | 任务迁移方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115309520A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719619A (zh) * | 2023-05-19 | 2023-09-08 | 国网物资有限公司 | 电力终端请求处理方法、装置、电子设备和计算机介质 |
-
2022
- 2022-07-18 CN CN202210841376.XA patent/CN115309520A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719619A (zh) * | 2023-05-19 | 2023-09-08 | 国网物资有限公司 | 电力终端请求处理方法、装置、电子设备和计算机介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562531B (zh) | 一种数据均衡方法和装置 | |
CN107295090B (zh) | 一种资源调度的方法和装置 | |
US10783002B1 (en) | Cost determination of a service call | |
US20210255899A1 (en) | Method for Establishing System Resource Prediction and Resource Management Model Through Multi-layer Correlations | |
CN111752706B (zh) | 资源配置方法、装置及存储介质 | |
CN111131486B (zh) | 执行节点的负载调节方法、装置、服务器及存储介质 | |
CN114095567B (zh) | 数据访问请求的处理方法、装置、计算机设备及介质 | |
CN109933610B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN114500339B (zh) | 一种节点带宽监测方法、装置、电子设备及存储介质 | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、系统、设备及介质 | |
CN115309520A (zh) | 任务迁移方法、装置、电子设备及存储介质 | |
CN116700920A (zh) | 云原生混合部署集群资源调度方法及装置 | |
CN111796933A (zh) | 资源调度方法、装置、存储介质和电子设备 | |
CN111143070A (zh) | 一种资源调度方法和装置 | |
CN108804210B (zh) | 一种云平台的资源配置方法及装置 | |
CN114048040B (zh) | 基于内存与图像分类模型时延关系的任务调度方法 | |
CN115220131A (zh) | 气象数据质检方法及系统 | |
CN114936089A (zh) | 资源调度方法、系统、设备及存储介质 | |
CN111836274B (zh) | 一种业务处理的方法及装置 | |
CN109688177B (zh) | 一种数据同步方法及装置、设备、存储介质 | |
CN115379014B (zh) | 数据请求分发方法、装置,以及,电子设备 | |
CN116909758B (zh) | 算力任务的处理方法、装置及电子设备 | |
CN116743589B (zh) | 云主机迁移方法、装置及电子设备 | |
CN116719632B (zh) | 任务调度方法、装置、设备以及介质 | |
CN117785486B (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 |