分布式作业分片分配方法和装置制造方法及图纸

技术编号:14238858 阅读:51 留言:0更新日期:2016-12-21 14:14
本发明专利技术公开了一种分布式作业分片分配方法,包括:接收设置指令,根据设置指令为集群域内的各个服务器设定负载值;侦测集群域内的服务器是否存在扩容或减容;当集群域内的服务器存在扩容时,获取集群域内服务器的负载值作为第一负载值,根据第一负载值按照自定义规则获取服务器上指定负载的第一作业分片,将第一作业分片分配至扩容对应的扩容服务器上;或者,当集群域内的服务器存在减容时,获取减容对应的减容服务器所包含的第二作业分片,及获取集群域内非减容服务器的负载值作为第二负载值,根据第二负载值将第二作业分片按照指定规则分配至非减容服务器上。本发明专利技术还公开了一种分布式作业分片分配装置。本发明专利技术提高了作业分片分配的均衡性。

Distributed job partition allocation method and device

The invention discloses a distributed job slice allocation method, comprising: receiving instruction set, according to the instruction set for each server cluster domain setting load values; detect the cluster server within a domain are expansion or decrease; when the cluster server within a domain are expanded, acquiring cluster domain server load as the first load value, according to the first load value in accordance with the custom rules to get the first job server specified load slice, the expansion server will first job assigned to the corresponding slice expansion; or, when the cluster server within a domain of volume reduction, obtain volume reduction corresponding to the volume reduction server contains second operations slice, and access to non cluster domain server load reduction capacity value as second load value, according to the second load values the second slice operation according to specified rules Assign to non capacity server. The invention also discloses a distributed work piece distributing device. The invention improves the balance of the work piece allocation.

【技术实现步骤摘要】

本专利技术涉及服务器资源分配
,尤其涉及一种分布式作业分片分配方法和装置
技术介绍
目前,在执行任务的过程中,一般会存在同一集群域内的服务器上作业分片分配不均匀的情况。例如,VLG域有3台服务器分别为node1、node2和node3,有3个作业分别为job1、job2、job3,其中,job1有1个分片,job2有2个分片,job3有2个分片。node1、node2、node3分别可以执行job1、job2、job3,依次启动node1、node2、node3时,在node1上面跑3个作业分片,在node1上面跑2个作业分片,在node3上面跑了0个作业分片,从而导致作业分片分配不均衡,即资源利用不均匀。另外,由于各个服务器之间并不知道其他服务器存在多少作业分片,因此当集群域内的服务器存在扩容或减容时,服务器上的作业分片是任意分配的,使得各个服务器上作业分片存在分配不均衡。
技术实现思路
本专利技术的主要目的在于提供一种分布式作业分片分配方法和装置,旨在提高作业分片分配的均衡性。为实现上述目的,本专利技术提供了一种分布式作业分片分配方法,包括:接收设置指令,根据所述设置指令为集群域内的各个服务器设定负载值;侦测所述集群域内的服务器是否存在扩容或减容;当所述集群域内的服务器存在扩容时,获取所述集群域内服务器的负载值作为第一负载值,根据所述第一负载值按照自定义规则获取所述服务器上指定负载的第一作业分片,将所述第一作业分片分配至扩容对应的扩容服务器上;或者,当所述集群域内的服务器存在减容时,获取减容对应的减容服务器所包含的第二作业分片,及获取所述集群域内非减容服务器的负载值作为第二负载值,根据所述第二负载值将所述第二作业分片按照指定规则分配至所述非减容服务器上。可选地,所述根据所述第一负载值按照自定义规则获取所述服务器上指定负载的第一作业分片,将所述第一作业分片分配至扩容对应的扩容服务器上包括:获取所述集群域内非扩容服务器的个数n-1,根据所述个数n-1及所述第一负载值,在各个非扩容服务器上分别摘取1/n负载的作业分片组成第一作业分片,将所述第一作业分片分配至扩容对应的扩容服务器上,其中n≥2。可选地,所述根据所述第一负载值按照自定义规则获取所述服务器上指定负载的第一作业分片,将所述第一作业分片分配至扩容对应的扩容服务器上包括:获取所述集群域内非扩容服务器和扩容服务器的总数,以及获取所述集群域内所有非扩容服务器上总的第一作业分片,根据所述第一负载值及所述总数对所述总的第一作业分片进行均分并分配至各个非扩容服务器和扩容服务器上。可选地,所述根据所述第二负载值将所述第二作业分片按照指定规则分配至所述非减容服务器上包括:根据所述第二负载值将各个非减容服务器根据负载值由小到大进行排序,将所述第二作业分片按照负载值从大到小,依次分配至负载值由小到大的各个非减容服务器上。可选地,所述根据所述第二负载值将各个非减容服务器根据负载值由小到大进行排序,将所述第二作业分片按照负载值从大到小,依次分配至负载值由小到大的各个非减容服务器上包括:获取所述第二作业分片的个数及所述集群域内非减容服务器的个数;当所述第二作业分片的个数大于所述非减容服务器的个数时,循环执行将各个非减容服务器根据负载值由小到大进行排序,将所述第二作业分片按照负载值从大到小,依次分配至负载值由小到大的各个服务器上,直至所述第二作业分片分配完成。此外,为实现上述目的,本专利技术还提供了一种分布式作业分片分配装置,包括:设置模块,用于接收设置指令,根据所述设置指令为集群域内的各个服务器设定负载值;侦测模块,用于侦测所述集群域内的服务器是否存在扩容或减容;扩容分配模块,用于当所述集群域内的服务器存在扩容时,获取所述集群域内服务器的负载值作为第一负载值,根据所述第一负载值按照自定义规则获取所述服务器上指定负载的第一作业分片,将所述第一作业分片分配至扩容对应的扩容服务器上;减容分配模块,用于当所述集群域内的服务器存在减容时,获取减容对应的减容服务器所包含的第二作业分片,及获取所述集群域内非减容服务器的负载值作为第二负载值,根据所述第二负载值将所述第二作业分片按照指定规则分配至所述非减容服务器上。可选地,所述扩容分配模块还用于,获取所述集群域内非扩容服务器的个数n-1,根据所述个数n-1及所述第一负载值,在各个非扩容服务器上分别摘取1/n负载的作业分片组成第一作业分片,将所述第一作业分片分配至扩容对应的扩容服务器上,其中n≥2。可选地,扩容分配模块还用于,获取所述集群域内非扩容服务器和扩容服务器的总数,以及获取所述集群域内所有非扩容服务器上总的第一作业分片,根据所述第一负载值及所述总数对所述总的第一作业分片进行均分并分配至各个非扩容服务器和扩容服务器上。可选地,所述减容分配模块还用于,根据所述第二负载值将各个非减容服务器根据负载值由小到大进行排序,将所述第二作业分片按照负载值从大到小,依次分配至负载值由小到大的各个非减容服务器上。可选地,所述减容分配模块还用于,获取所述第二作业分片的个数及所述集群域内非减容服务器的个数;当所述第二作业分片的个数大于所述非减容服务器的个数时,循环执行将各个非减容服务器根据负载值由小到大进行排序,将所述第二作业分片按照负载值从大到小,依次分配至负载值由小到大的各个服务器上,直至所述第二作业分片分配完成。本专利技术实施例提供的分布式作业分片分配方法和装置,通过为集群域内的各个服务器设定负载值,并当集群域内的服务器存在扩容时,根据获取服务器的第一负载值,按照自定义规则将指定负载的第一作业分片分配至扩容服务器上。或者,当集群域内的服务器存在减容时,根据获取减容服务器所包含的第二作业分片及非减容服务器的第二负载值,将该第二作业分片按照指定规则分配至非减容服务器上。使得集群域内的各个服务器在执行任务的过程中,可根据设定负载值获知其他服务器的运行情况,对作业分片进行合理分配,提高了作业分片分配的均衡性。附图说明图1为本专利技术分布式作业分片分配方法一实施例的流程示意图;图2为本专利技术分配前待分配列表内作业分片与各服务器包含的负载值示意图;图3为本专利技术第一轮分配后待分配列表内作业分片与各服务器包含的负载值示意图;图4为本专利技术第二轮分配后待分配列表内作业分片与各服务器包含的负载值示意图;图5为本专利技术分布式作业分片分配装置一实施例的功能模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,示出了本专利技术一种分布式作业分片分配方法第一实施例。该实施例的分布式作业分片分配方法包括:步骤S10、接收设置指令,根据所述设置指令为集群域内的各个服务器设定负载值;本实施例中,分布式作业分片分配方法应用于集群域,该聚群域内各个服务器根据分配到的资源执行相应的任务。聚群域包括分布式作业分片分配装置,在同一集群域内可包括多个服务器,每个服务器可以执行不同的分布式作业分片。为了能够获取聚群域内各个服务器的运行情况,首先需要为各个服务器设置负载值,该负载值用于指示服务器执行任务的多少,负载值越大,表示服务器执行任务的越多;负载值越小,表示服务器执行任务的越少。用户本文档来自技高网...
分布式作业分片分配方法和装置

【技术保护点】
一种分布式作业分片分配方法,其特征在于,所述分布式作业分片分配方法包括以下步骤:接收设置指令,根据所述设置指令为集群域内的各个服务器设定负载值;侦测所述集群域内的服务器是否存在扩容或减容;当所述集群域内的服务器存在扩容时,获取所述集群域内服务器的负载值作为第一负载值,根据所述第一负载值按照自定义规则获取所述服务器上指定负载的第一作业分片,将所述第一作业分片分配至扩容对应的扩容服务器上;或者,当所述集群域内的服务器存在减容时,获取减容对应的减容服务器所包含的第二作业分片,及获取所述集群域内非减容服务器的负载值作为第二负载值,根据所述第二负载值将所述第二作业分片按照指定规则分配至所述非减容服务器上。

【技术特征摘要】
1.一种分布式作业分片分配方法,其特征在于,所述分布式作业分片分配方法包括以下步骤:接收设置指令,根据所述设置指令为集群域内的各个服务器设定负载值;侦测所述集群域内的服务器是否存在扩容或减容;当所述集群域内的服务器存在扩容时,获取所述集群域内服务器的负载值作为第一负载值,根据所述第一负载值按照自定义规则获取所述服务器上指定负载的第一作业分片,将所述第一作业分片分配至扩容对应的扩容服务器上;或者,当所述集群域内的服务器存在减容时,获取减容对应的减容服务器所包含的第二作业分片,及获取所述集群域内非减容服务器的负载值作为第二负载值,根据所述第二负载值将所述第二作业分片按照指定规则分配至所述非减容服务器上。2.如权利要求1所述的分布式作业分片分配方法,其特征在于,所述根据所述第一负载值按照自定义规则获取所述服务器上指定负载的第一作业分片,将所述第一作业分片分配至扩容对应的扩容服务器上包括:获取所述集群域内非扩容服务器的个数n-1,根据所述个数n-1及所述第一负载值,在各个非扩容服务器上分别摘取1/n负载的作业分片组成第一作业分片,将所述第一作业分片分配至扩容对应的扩容服务器上,其中n≥2。3.如权利要求1所述的分布式作业分片分配方法,其特征在于,所述根据所述第一负载值按照自定义规则获取所述服务器上指定负载的第一作业分片,将所述第一作业分片分配至扩容对应的扩容服务器上包括:获取所述集群域内非扩容服务器和扩容服务器的总数,以及获取所述集群域内所有非扩容服务器上总的第一作业分片,根据所述第一负载值及所述总数对所述总的第一作业分片进行均分并分配至各个非扩容服务器和扩容服务器上。4.如权利要求1-3任一项所述的分布式作业分片分配方法,其特征在于,所述根据所述第二负载值将所述第二作业分片按照指定规则分配至所述非减容服务器上包括:根据所述第二负载值将各个非减容服务器根据负载值由小到大进行排序,将所述第二作业分片按照负载值从大到小,依次分配至负载值由小到大的各个非减容服务器上。5.如权利要求4所述的分布式作业分片分配方法,其特征在于,所述根据所述第二负载值将各个非减容服务器根据负载值由小到大进行排序,将所述第二作业分片按照负载值从大到小,依次分配至负载值由小到大的各个非减容服务器上包括:获取所述第二作业分片的个数及所述集群域内非减容服务器的个数;当所述第二作业分片的个数大于所述非减容服...

【专利技术属性】
技术研发人员:薛珂邱戈川何小鹏黄国钦杨镌颖
申请(专利权)人:广州唯品会信息科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1