1.一種分布式作業(yè)分片分配方法,其特征在于,所述分布式作業(yè)分片分配方法包括以下步驟:
接收設(shè)置指令,根據(jù)所述設(shè)置指令為集群域內(nèi)的各個(gè)服務(wù)器設(shè)定負(fù)載值;
偵測(cè)所述集群域內(nèi)的服務(wù)器是否存在擴(kuò)容或減容;
當(dāng)所述集群域內(nèi)的服務(wù)器存在擴(kuò)容時(shí),獲取所述集群域內(nèi)服務(wù)器的負(fù)載值作為第一負(fù)載值,根據(jù)所述第一負(fù)載值按照自定義規(guī)則獲取所述服務(wù)器上指定負(fù)載的第一作業(yè)分片,將所述第一作業(yè)分片分配至擴(kuò)容對(duì)應(yīng)的擴(kuò)容服務(wù)器上;或者,
當(dāng)所述集群域內(nèi)的服務(wù)器存在減容時(shí),獲取減容對(duì)應(yīng)的減容服務(wù)器所包含的第二作業(yè)分片,及獲取所述集群域內(nèi)非減容服務(wù)器的負(fù)載值作為第二負(fù)載值,根據(jù)所述第二負(fù)載值將所述第二作業(yè)分片按照指定規(guī)則分配至所述非減容服務(wù)器上。
2.如權(quán)利要求1所述的分布式作業(yè)分片分配方法,其特征在于,所述根據(jù)所述第一負(fù)載值按照自定義規(guī)則獲取所述服務(wù)器上指定負(fù)載的第一作業(yè)分片,將所述第一作業(yè)分片分配至擴(kuò)容對(duì)應(yīng)的擴(kuò)容服務(wù)器上包括:
獲取所述集群域內(nèi)非擴(kuò)容服務(wù)器的個(gè)數(shù)n-1,根據(jù)所述個(gè)數(shù)n-1及所述第一負(fù)載值,在各個(gè)非擴(kuò)容服務(wù)器上分別摘取1/n負(fù)載的作業(yè)分片組成第一作業(yè)分片,將所述第一作業(yè)分片分配至擴(kuò)容對(duì)應(yīng)的擴(kuò)容服務(wù)器上,其中n≥2。
3.如權(quán)利要求1所述的分布式作業(yè)分片分配方法,其特征在于,所述根據(jù)所述第一負(fù)載值按照自定義規(guī)則獲取所述服務(wù)器上指定負(fù)載的第一作業(yè)分片,將所述第一作業(yè)分片分配至擴(kuò)容對(duì)應(yīng)的擴(kuò)容服務(wù)器上包括:
獲取所述集群域內(nèi)非擴(kuò)容服務(wù)器和擴(kuò)容服務(wù)器的總數(shù),以及獲取所述集群域內(nèi)所有非擴(kuò)容服務(wù)器上總的第一作業(yè)分片,根據(jù)所述第一負(fù)載值及所述總數(shù)對(duì)所述總的第一作業(yè)分片進(jìn)行均分并分配至各個(gè)非擴(kuò)容服務(wù)器和擴(kuò)容服務(wù)器上。
4.如權(quán)利要求1-3任一項(xiàng)所述的分布式作業(yè)分片分配方法,其特征在于,所述根據(jù)所述第二負(fù)載值將所述第二作業(yè)分片按照指定規(guī)則分配至所述非減容服務(wù)器上包括:
根據(jù)所述第二負(fù)載值將各個(gè)非減容服務(wù)器根據(jù)負(fù)載值由小到大進(jìn)行排序,將所述第二作業(yè)分片按照負(fù)載值從大到小,依次分配至負(fù)載值由小到大的各個(gè)非減容服務(wù)器上。
5.如權(quán)利要求4所述的分布式作業(yè)分片分配方法,其特征在于,所述根據(jù)所述第二負(fù)載值將各個(gè)非減容服務(wù)器根據(jù)負(fù)載值由小到大進(jìn)行排序,將所述第二作業(yè)分片按照負(fù)載值從大到小,依次分配至負(fù)載值由小到大的各個(gè)非減容服務(wù)器上包括:
獲取所述第二作業(yè)分片的個(gè)數(shù)及所述集群域內(nèi)非減容服務(wù)器的個(gè)數(shù);
當(dāng)所述第二作業(yè)分片的個(gè)數(shù)大于所述非減容服務(wù)器的個(gè)數(shù)時(shí),循環(huán)執(zhí)行將各個(gè)非減容服務(wù)器根據(jù)負(fù)載值由小到大進(jìn)行排序,將所述第二作業(yè)分片按照負(fù)載值從大到小,依次分配至負(fù)載值由小到大的各個(gè)服務(wù)器上,直至所述第二作業(yè)分片分配完成。
6.一種分布式作業(yè)分片分配裝置,其特征在于,所述分布式作業(yè)分片分配裝置包括:
設(shè)置模塊,用于接收設(shè)置指令,根據(jù)所述設(shè)置指令為集群域內(nèi)的各個(gè)服務(wù)器設(shè)定負(fù)載值;
偵測(cè)模塊,用于偵測(cè)所述集群域內(nèi)的服務(wù)器是否存在擴(kuò)容或減容;
擴(kuò)容分配模塊,用于當(dāng)所述集群域內(nèi)的服務(wù)器存在擴(kuò)容時(shí),獲取所述集群域內(nèi)服務(wù)器的負(fù)載值作為第一負(fù)載值,根據(jù)所述第一負(fù)載值按照自定義規(guī)則獲取所述服務(wù)器上指定負(fù)載的第一作業(yè)分片,將所述第一作業(yè)分片分配至擴(kuò)容對(duì)應(yīng)的擴(kuò)容服務(wù)器上;
減容分配模塊,用于當(dāng)所述集群域內(nèi)的服務(wù)器存在減容時(shí),獲取減容對(duì)應(yīng)的減容服務(wù)器所包含的第二作業(yè)分片,及獲取所述集群域內(nèi)非減容服務(wù)器的負(fù)載值作為第二負(fù)載值,根據(jù)所述第二負(fù)載值將所述第二作業(yè)分片按照指定規(guī)則分配至所述非減容服務(wù)器上。
7.如權(quán)利要求6所述的分布式作業(yè)分片分配裝置,其特征在于,所述擴(kuò)容分配模塊還用于,獲取所述集群域內(nèi)非擴(kuò)容服務(wù)器的個(gè)數(shù)n-1,根據(jù)所述個(gè)數(shù)n-1及所述第一負(fù)載值,在各個(gè)非擴(kuò)容服務(wù)器上分別摘取1/n負(fù)載的作業(yè)分片組成第一作業(yè)分片,將所述第一作業(yè)分片分配至擴(kuò)容對(duì)應(yīng)的擴(kuò)容服務(wù)器上,其中n≥2。
8.如權(quán)利要求6所述的分布式作業(yè)分片分配裝置,其特征在于,擴(kuò)容分配模塊還用于,獲取所述集群域內(nèi)非擴(kuò)容服務(wù)器和擴(kuò)容服務(wù)器的總數(shù),以及獲取所述集群域內(nèi)所有非擴(kuò)容服務(wù)器上總的第一作業(yè)分片,根據(jù)所述第一負(fù)載值及所述總數(shù)對(duì)所述總的第一作業(yè)分片進(jìn)行均分并分配至各個(gè)非擴(kuò)容服務(wù)器和擴(kuò)容服務(wù)器上。
9.如權(quán)利要求6-8任一項(xiàng)所述的分布式作業(yè)分片分配裝置,其特征在于,所述減容分配模塊還用于,根據(jù)所述第二負(fù)載值將各個(gè)非減容服務(wù)器根據(jù)負(fù)載值由小到大進(jìn)行排序,將所述第二作業(yè)分片按照負(fù)載值從大到小,依次分配至負(fù)載值由小到大的各個(gè)非減容服務(wù)器上。
10.如權(quán)利要求9所述的分布式作業(yè)分片分配裝置,其特征在于,所述減容分配模塊還用于,獲取所述第二作業(yè)分片的個(gè)數(shù)及所述集群域內(nèi)非減容服務(wù)器的個(gè)數(shù);當(dāng)所述第二作業(yè)分片的個(gè)數(shù)大于所述非減容服務(wù)器的個(gè)數(shù)時(shí),循環(huán)執(zhí)行將各個(gè)非減容服務(wù)器根據(jù)負(fù)載值由小到大進(jìn)行排序,將所述第二作業(yè)分片按照負(fù)載值從大到小,依次分配至負(fù)載值由小到大的各個(gè)服務(wù)器上,直至所述第二作業(yè)分片分配完成。