本申請(qǐng)涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用歸屬服務(wù)集群的分配方法和一種應(yīng)用歸屬服務(wù)集群的分配裝置。
背景技術(shù):
在一個(gè)典型的分布式系統(tǒng)中,為了便于對(duì)存儲(chǔ)和計(jì)算進(jìn)行管理,比較好的方式是以應(yīng)用的形式對(duì)數(shù)據(jù)和任務(wù)進(jìn)行隔離,將應(yīng)用作為一個(gè)整體分配至一個(gè)由若干相互獨(dú)立、通過(guò)網(wǎng)絡(luò)互聯(lián)的計(jì)算機(jī)組成的集群。同一集群上的不同應(yīng)用擁有各自獨(dú)立的存儲(chǔ)空間,但共享集群的計(jì)算能力。
在這種架構(gòu)的分布式系統(tǒng)中,其消耗主要為集群的一次性購(gòu)置成本和集群間跨集群通訊而產(chǎn)生的累積性帶寬消耗成本。其中,跨集群通訊主要是由于處于不同集群的應(yīng)用之間相互訪問(wèn)數(shù)據(jù)造成,由此,產(chǎn)生了對(duì)應(yīng)用歸屬服務(wù)集群的分配優(yōu)化需求,以使得在滿足計(jì)算、存儲(chǔ)等約束條件的同時(shí)可以最大限度降低集群的購(gòu)置成本和帶寬消耗成本。
目前對(duì)應(yīng)用歸屬服務(wù)集群的分配方法中,主要是依賴于用戶憑借經(jīng)驗(yàn)進(jìn)行分配,但該方法需要耗費(fèi)大量的人力物力和時(shí)間,造成分配效率較低的問(wèn)題。而且,分配方案可能并非是最優(yōu)方案,造成了成本的浪費(fèi)。
此外,分布式系統(tǒng)中會(huì)不斷增加新的應(yīng)用和下線部分過(guò)期應(yīng)用,集群也會(huì)進(jìn)行機(jī)器擴(kuò)容、機(jī)器報(bào)廢等的處理,應(yīng)用和集群處于一個(gè)動(dòng)態(tài)變化的過(guò)程中,針對(duì)于動(dòng)態(tài)變化的分布式系統(tǒng),分配方案也需要檢驗(yàn)是否適用于當(dāng)前的分布式系統(tǒng),當(dāng)不適用時(shí)需要重新確定分配方案。因此,目前的分配方法可能需要人工重新進(jìn)行多次分配,增加了對(duì)人力物力和時(shí)間的耗費(fèi),進(jìn)一步降低了分配效率。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問(wèn)題,提出了本申請(qǐng)實(shí)施例以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的一種應(yīng)用歸屬服務(wù)集群的分配方法和相應(yīng)的一種 應(yīng)用歸屬服務(wù)集群的分配裝置。
為了解決上述問(wèn)題,本申請(qǐng)公開(kāi)了一種應(yīng)用歸屬服務(wù)集群的分配方法,包括:
將多個(gè)應(yīng)用分配至多個(gè)服務(wù)集群,獲得初始分配結(jié)果;
多次更換所述應(yīng)用歸屬的服務(wù)集群,獲得多個(gè)新增分配結(jié)果;
計(jì)算所述初始分配結(jié)果和所述新增分配結(jié)果各自對(duì)所述服務(wù)集群的資源消耗量;
選擇資源消耗量最小的分配結(jié)果作為最優(yōu)分配結(jié)果。
優(yōu)選地,所述將多個(gè)應(yīng)用分配至多個(gè)服務(wù)集群為:
按照排序針對(duì)各服務(wù)集群進(jìn)行應(yīng)用分配,直至所有應(yīng)用均分配至某個(gè)服務(wù)集群;其中,針對(duì)排序在后的服務(wù)集群,在排序在前的服務(wù)集群分配后剩余的應(yīng)用中進(jìn)行應(yīng)用分配。
優(yōu)選地,在所述將多個(gè)應(yīng)用分配至多個(gè)服務(wù)集群之前,所述方法還包括:
按照所述服務(wù)集群的至少一種負(fù)載性能,對(duì)多個(gè)服務(wù)集群進(jìn)行排序。
優(yōu)選地,在所述按照排序針對(duì)各服務(wù)集群進(jìn)行應(yīng)用分配之前,所述方法還包括:
計(jì)算任意兩個(gè)應(yīng)用之間的關(guān)聯(lián)權(quán)重;
所述按照排序針對(duì)各服務(wù)集群進(jìn)行應(yīng)用分配包括:
從當(dāng)前可選的多個(gè)應(yīng)用中,選擇關(guān)聯(lián)權(quán)重最大的兩個(gè)目標(biāo)應(yīng)用,并選擇與所述目標(biāo)應(yīng)用之一的關(guān)聯(lián)權(quán)重排序靠前的多個(gè)關(guān)聯(lián)應(yīng)用,分配至所述服務(wù)集群。
優(yōu)選地,所述按照排序針對(duì)各服務(wù)集群進(jìn)行應(yīng)用分配還包括:
若至少一個(gè)應(yīng)用未分配至所述服務(wù)集群,則將未分配的應(yīng)用按照所需資源消耗量進(jìn)行排序;
按照排序逐個(gè)將未分配的應(yīng)用隨機(jī)分配至某一服務(wù)集群。
優(yōu)選地,在所述將多個(gè)應(yīng)用分配至多個(gè)服務(wù)集群之前,所述方法還包括:
以所述應(yīng)用為節(jié)點(diǎn),以具備數(shù)據(jù)交換的兩個(gè)應(yīng)用為相鄰節(jié)點(diǎn),構(gòu)建包括多個(gè)應(yīng)用的節(jié)點(diǎn)網(wǎng)絡(luò)圖,所述關(guān)聯(lián)權(quán)重為連接兩個(gè)應(yīng)用的邊的邊權(quán)重。
優(yōu)選地,所述選擇關(guān)聯(lián)權(quán)重最大的兩個(gè)目標(biāo)應(yīng)用包括:
查找所述節(jié)點(diǎn)網(wǎng)絡(luò)圖中邊權(quán)重最大的目標(biāo)邊。
優(yōu)選地,所述選擇與所述目標(biāo)應(yīng)用之一的關(guān)聯(lián)權(quán)重排序靠前的多個(gè)關(guān)聯(lián)應(yīng)用包括:
在包含所述目標(biāo)邊的子圖中,以所述目標(biāo)邊的兩個(gè)目標(biāo)節(jié)點(diǎn)為起點(diǎn),進(jìn)行廣度優(yōu)先搜索;
從搜索的多個(gè)關(guān)聯(lián)節(jié)點(diǎn)中,按照與所述目標(biāo)節(jié)點(diǎn)的邊權(quán)重從大到小,在未超出所述服務(wù)集群的負(fù)載性能的條件下,選擇最多數(shù)量的關(guān)聯(lián)節(jié)點(diǎn)。
優(yōu)選地,在所述多次更換所述應(yīng)用歸屬的服務(wù)集群,獲得多個(gè)新增分配結(jié)果之后,所述方法還包括:
確定更換后的新增分配結(jié)果未超出各服務(wù)集群的負(fù)載性能。
優(yōu)選地,所述多次更換所述應(yīng)用歸屬的服務(wù)集群,獲得多個(gè)新增分配結(jié)果包括:
在隨機(jī)選擇的兩個(gè)服務(wù)集群中,分別隨機(jī)選擇一個(gè)應(yīng)用進(jìn)行交換,直至獲得多個(gè)新增分配結(jié)果。
優(yōu)選地,所述多次更換所述應(yīng)用歸屬的服務(wù)集群,獲得多個(gè)新增分配結(jié)果還包括:
針對(duì)當(dāng)前獲得的分配結(jié)果,依次選擇兩個(gè)分配結(jié)果,隨機(jī)從兩個(gè)分配結(jié)果中選擇兩個(gè)應(yīng)用,并對(duì)選擇的兩個(gè)應(yīng)用所歸屬的服務(wù)集群進(jìn)行交換,獲得多個(gè)新增分配結(jié)果;
和/或,隨機(jī)選擇一個(gè)應(yīng)用并對(duì)所選擇的應(yīng)用歸屬的服務(wù)集群進(jìn)行修改,獲得多個(gè)新增分配結(jié)果。
優(yōu)選地,在所述在隨機(jī)選擇的兩個(gè)服務(wù)集群中,分別隨機(jī)選擇一個(gè)應(yīng)用進(jìn)行交換,直至獲得多個(gè)新增分配結(jié)果之后,所述方法還包括:
篩選資源消耗量從小到大排序靠前的多個(gè)分配結(jié)果。
優(yōu)選地,所述計(jì)算所述初始分配結(jié)果和所述新增分配結(jié)果各自對(duì)所述服務(wù)集群的資源消耗量包括:
計(jì)算所述初始分配結(jié)果和所述新增分配結(jié)果各自所需的集群購(gòu)置成本;
和/或,計(jì)算所述初始分配結(jié)果和所述新增分配結(jié)果中各個(gè)應(yīng)用跨集群的帶寬消耗成本;加和各個(gè)應(yīng)用的帶寬消耗成本,得到所述初始分配結(jié)果和所述新增分配結(jié)果的總帶寬消耗成本。
優(yōu)選地,所述選擇資源消耗量最小的分配結(jié)果作為最優(yōu)分配結(jié)果包括:
針對(duì)當(dāng)前獲得的新增分配結(jié)果,若所述當(dāng)前獲得的新增分配結(jié)果的資源消耗量小于所述初始分配結(jié)果的資源消耗量,則將所述當(dāng)前獲得的新增分配結(jié)果作為當(dāng)前最優(yōu)分配結(jié)果,并與下一個(gè)新增分配結(jié)果進(jìn)行比較,直至獲得最優(yōu)分配結(jié)果。
本申請(qǐng)還提供了一種應(yīng)用歸屬服務(wù)集群的分配裝置,包括:
應(yīng)用初始分配模塊,用于將多個(gè)應(yīng)用分配至多個(gè)服務(wù)集群,獲得初始分配結(jié)果;
應(yīng)用多次更換模塊,用于多次更換所述應(yīng)用歸屬的服務(wù)集群,獲得多個(gè)新增分配結(jié)果;
資源消耗量計(jì)算模塊,用于計(jì)算所述初始分配結(jié)果和所述新增分配結(jié)果各自對(duì)所述服務(wù)集群的資源消耗量;
最優(yōu)分配結(jié)果選擇模塊,用于選擇資源消耗量最小的分配結(jié)果作為最優(yōu)分配結(jié)果。
優(yōu)選地,所述應(yīng)用初始分配模塊具體用于:
按照排序針對(duì)各服務(wù)集群進(jìn)行應(yīng)用分配,直至所有應(yīng)用均分配至某個(gè)服務(wù)集群;其中,針對(duì)排序在后的服務(wù)集群,在排序在前的服務(wù)集群分配后剩余的應(yīng)用中進(jìn)行應(yīng)用分配。
優(yōu)選地,所述裝置還包括:
服務(wù)集群排序模塊,用于按照所述服務(wù)集群的至少一種負(fù)載性能,對(duì)多個(gè)服務(wù)集群進(jìn)行排序。
優(yōu)選地,所述裝置還包括:
關(guān)聯(lián)權(quán)重計(jì)算模塊,用于計(jì)算任意兩個(gè)應(yīng)用之間的關(guān)聯(lián)權(quán)重;
所述應(yīng)用初始分配模塊包括:
關(guān)聯(lián)應(yīng)用分配子模塊,用于從當(dāng)前可選的多個(gè)應(yīng)用中,選擇關(guān)聯(lián)權(quán)重最 大的兩個(gè)目標(biāo)應(yīng)用,并選擇與所述目標(biāo)應(yīng)用之一的關(guān)聯(lián)權(quán)重排序靠前的多個(gè)關(guān)聯(lián)應(yīng)用,分配至所述服務(wù)集群。
優(yōu)選地,所述裝置還包括:
應(yīng)用排序模塊,用于若至少一個(gè)應(yīng)用未分配至所述服務(wù)集群,則將未分配的應(yīng)用按照所需資源消耗量進(jìn)行排序;
未分配應(yīng)用隨機(jī)分配模塊,用于按照排序逐個(gè)將未分配的應(yīng)用隨機(jī)分配至某一服務(wù)集群。
優(yōu)選地,所述裝置還包括:
節(jié)點(diǎn)網(wǎng)絡(luò)圖構(gòu)建模塊,用于以所述應(yīng)用為節(jié)點(diǎn),以具備數(shù)據(jù)交換的兩個(gè)應(yīng)用為相鄰節(jié)點(diǎn),構(gòu)建包括多個(gè)應(yīng)用的節(jié)點(diǎn)網(wǎng)絡(luò)圖,所述關(guān)聯(lián)權(quán)重為連接兩個(gè)應(yīng)用的邊的邊權(quán)重。
優(yōu)選地,所述關(guān)聯(lián)應(yīng)用分配子模塊包括:
目標(biāo)邊查找子單元,用于查找所述節(jié)點(diǎn)網(wǎng)絡(luò)圖中邊權(quán)重最大的目標(biāo)邊。
優(yōu)選地,所述關(guān)聯(lián)應(yīng)用分配子模塊包括:
廣度優(yōu)先搜索子單元,用于在包含所述目標(biāo)邊的子圖中,以所述目標(biāo)邊的兩個(gè)目標(biāo)節(jié)點(diǎn)為起點(diǎn),進(jìn)行廣度優(yōu)先搜索;
關(guān)聯(lián)節(jié)點(diǎn)選擇子單元,用于從搜索的多個(gè)關(guān)聯(lián)節(jié)點(diǎn)中,按照與所述目標(biāo)節(jié)點(diǎn)的邊權(quán)重從大到小,在未超出所述服務(wù)集群的負(fù)載性能的條件下,選擇最多數(shù)量的關(guān)聯(lián)節(jié)點(diǎn)。
優(yōu)選地,所述裝置還包括:
新增分配結(jié)果確定模塊,用于確定更換后的新增分配結(jié)果未超出各服務(wù)集群的負(fù)載性能。
優(yōu)選地,所述應(yīng)用多次更換模塊包括:
應(yīng)用交換子模塊,用于在隨機(jī)選擇的兩個(gè)服務(wù)集群中,分別隨機(jī)選擇一個(gè)應(yīng)用進(jìn)行交換,直至獲得多個(gè)新增分配結(jié)果。
優(yōu)選地,所述應(yīng)用多次更換模塊包括:
服務(wù)集群交互子模塊,用于針對(duì)當(dāng)前獲得的分配結(jié)果,依次選擇兩個(gè)分配結(jié)果,隨機(jī)從兩個(gè)分配結(jié)果中選擇兩個(gè)應(yīng)用,并對(duì)選中的兩個(gè)應(yīng)用所歸屬 的服務(wù)集群進(jìn)行交換,獲得多個(gè)新增分配結(jié)果
服務(wù)集群修改子模塊,用于隨機(jī)選擇一個(gè)應(yīng)用并對(duì)所選擇的應(yīng)用歸屬的服務(wù)集群進(jìn)行修改,獲得多個(gè)新增分配結(jié)果。
優(yōu)選地,所述裝置還包括:
分配結(jié)果篩選模塊,用于篩選資源消耗量從小到大排序靠前的多個(gè)分配結(jié)果。
優(yōu)選地,所述資源消耗量計(jì)算模塊包括:
集群購(gòu)置成本計(jì)算子模塊,用于計(jì)算所述初始分配結(jié)果和所述新增分配結(jié)果各自所需的集群購(gòu)置成本;
帶寬消耗成本計(jì)算子模塊,用于計(jì)算所述初始分配結(jié)果和所述新增分配結(jié)果中各個(gè)應(yīng)用跨集群的帶寬消耗成本;加和各個(gè)應(yīng)用的帶寬消耗成本,得到所述初始分配結(jié)果和所述新增分配結(jié)果的總帶寬消耗成本。
優(yōu)選地,所述最優(yōu)分配結(jié)果選擇模塊包括:
分配結(jié)果比較子模塊,用于針對(duì)當(dāng)前獲得的新增分配結(jié)果,若所述當(dāng)前獲得的新增分配結(jié)果的資源消耗量小于所述初始分配結(jié)果的資源消耗量,則將所述當(dāng)前獲得的新增分配結(jié)果作為當(dāng)前最優(yōu)分配結(jié)果,并與下一個(gè)新增分配結(jié)果進(jìn)行比較,直至獲得最優(yōu)分配結(jié)果。
本申請(qǐng)實(shí)施例包括以下優(yōu)點(diǎn):
根據(jù)本申請(qǐng)實(shí)施例,基于初始分配結(jié)果進(jìn)行應(yīng)用歸屬的服務(wù)集群的多次更換處理,以獲得多個(gè)新增分配結(jié)果,通過(guò)對(duì)多個(gè)新增分配結(jié)果對(duì)服務(wù)集群的資源消耗量的計(jì)算和比較,由此確定最優(yōu)分配結(jié)果,從而提升了應(yīng)用歸屬服務(wù)集群的分配效率,同時(shí)保證了得到的分配方案可以有效地節(jié)省服務(wù)集群的資源消耗成本。
而且,本申請(qǐng)實(shí)施例可以針對(duì)動(dòng)態(tài)變化的分布式系統(tǒng)而自動(dòng)確定出最優(yōu)分配結(jié)果,無(wú)須人工進(jìn)行多次分配,進(jìn)一步提升了應(yīng)用歸屬服務(wù)集群的分配效率。
附圖說(shuō)明
圖1是本申請(qǐng)的一種應(yīng)用歸屬服務(wù)集群的分配方法實(shí)施例一的步驟流程 圖;
圖2是本申請(qǐng)的一種應(yīng)用歸屬服務(wù)集群的分配方法實(shí)施例二的步驟流程圖;
圖3是本申請(qǐng)的一種應(yīng)用歸屬服務(wù)集群的分配裝置實(shí)施例一的結(jié)構(gòu)框圖;
圖4是本申請(qǐng)的一種應(yīng)用歸屬服務(wù)集群的分配裝置實(shí)施例二的結(jié)構(gòu)框圖;
圖5是本申請(qǐng)一種基于節(jié)點(diǎn)網(wǎng)絡(luò)圖的構(gòu)建示意圖;
圖6是本申請(qǐng)一種應(yīng)用歸屬服務(wù)集群的分配結(jié)果示意圖。
具體實(shí)施方式
為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說(shuō)明。
參照?qǐng)D1,示出了本申請(qǐng)的一種應(yīng)用歸屬服務(wù)集群的分配方法實(shí)施例一的步驟流程圖,具體可以包括如下步驟:
步驟101,將多個(gè)應(yīng)用分配至多個(gè)服務(wù)集群,獲得初始分配結(jié)果。
上述的應(yīng)用可以為一組數(shù)據(jù)和程序的集合,用于將不同歸屬的數(shù)據(jù)和計(jì)算,在邏輯上進(jìn)行相互隔離的單位。也可以將應(yīng)用理解為關(guān)系型數(shù)據(jù)庫(kù)中數(shù)據(jù)實(shí)例的概念。一個(gè)分布式系統(tǒng)可以具有多個(gè)服務(wù)集群。服務(wù)集群由若干臺(tái)相互獨(dú)立、通過(guò)網(wǎng)絡(luò)互聯(lián)的計(jì)算機(jī)組成的計(jì)算機(jī)群或服務(wù)器組。一個(gè)服務(wù)集群以一個(gè)整體的方式提供存儲(chǔ)和計(jì)算能力。不同服務(wù)集群之間可以通過(guò)網(wǎng)絡(luò)傳輸?shù)姆绞竭M(jìn)行數(shù)據(jù)交互等的通訊任務(wù)。
在本申請(qǐng)實(shí)施例的具體實(shí)現(xiàn)中,可以首先將多個(gè)應(yīng)用分配至多個(gè)服務(wù)集群,得到初始的分配結(jié)果。初始的分配方式可以有多種,例如可以隨機(jī)分配,也可以按照服務(wù)集群的負(fù)載性能對(duì)多個(gè)服務(wù)集群進(jìn)行排序,按照排序分配應(yīng)用。
步驟102,多次更換所述應(yīng)用歸屬的服務(wù)集群,獲得多個(gè)新增分配結(jié)果。
針對(duì)初始分配結(jié)果,可以多次更換應(yīng)用歸屬的服務(wù)集群。每一次更換都會(huì)產(chǎn)生一個(gè)新的分配結(jié)果,多次更換后即可獲得多個(gè)新的分配結(jié)果。更換時(shí) 可以隨機(jī)更換,也可以按照一定的規(guī)則進(jìn)行更換。例如,針對(duì)服務(wù)集群編號(hào),按照編號(hào)順序更換,本申請(qǐng)實(shí)施例對(duì)更換的方式不作限制。
隨機(jī)更換應(yīng)用歸屬的服務(wù)集群的方式可以有多種,例如,可以在服務(wù)集群中隨機(jī)選擇兩個(gè)服務(wù)集群,分別隨機(jī)選擇一個(gè)應(yīng)用,交換分配至所選擇的另一個(gè)服務(wù)集群;或者,可以在任意兩個(gè)服務(wù)集群中分別隨機(jī)選擇兩個(gè)應(yīng)用,將兩個(gè)應(yīng)用歸屬的服務(wù)集群進(jìn)行交換。本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際需要,采用各種方式更換應(yīng)用歸屬的服務(wù)集群,以獲得多個(gè)分配結(jié)果。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,在所述步驟102之后,所述方法可以還包括:
確定更換后的新增分配結(jié)果未超出各服務(wù)集群的負(fù)載性能。
作為最優(yōu)分配結(jié)果的候選分配結(jié)果需要符合服務(wù)集群的負(fù)載性能,以保證分配結(jié)果可以實(shí)施。因此,更換應(yīng)用歸屬的服務(wù)集群后,需要確定更換后的分配結(jié)果中,各個(gè)服務(wù)集群的負(fù)載性能依然能滿足實(shí)現(xiàn)該分配結(jié)果。
步驟103,計(jì)算所述初始分配結(jié)果和所述新增分配結(jié)果各自對(duì)所述服務(wù)集群的資源消耗量。
需要說(shuō)明的是,服務(wù)集群根據(jù)其所包含的計(jì)算機(jī)數(shù)量具有不同的購(gòu)置成本、最大存儲(chǔ)量和cpu總核數(shù),各服務(wù)集群也具有一定的出口帶寬;分配于服務(wù)集群中的每個(gè)應(yīng)用需要一定的存儲(chǔ)空間,應(yīng)用之間也可能需要進(jìn)行數(shù)據(jù)交互,即具有一定的數(shù)據(jù)交換量??缂旱臄?shù)據(jù)交互需要消耗一定的集群的出口帶寬,造成出口帶寬成本。由此,不同的應(yīng)用分配方案,會(huì)產(chǎn)生不同的集群購(gòu)置成本和帶寬消耗成本。而且,根據(jù)集群的最大存儲(chǔ)量和cpu總核數(shù),每個(gè)集群所能存儲(chǔ)和運(yùn)行的應(yīng)用也會(huì)受到一定約束條件的分配限制。假設(shè)系統(tǒng)中具有n個(gè)服務(wù)集群和m個(gè)應(yīng)用,需要將m個(gè)應(yīng)用分配至n’(n’≤n)個(gè)服務(wù)集群,最優(yōu)的分配結(jié)果可以為n’個(gè)集群的總購(gòu)置成本+跨集群的帶寬消耗成本最小。實(shí)際應(yīng)用中,最優(yōu)的分配結(jié)果可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況進(jìn)行定義,例如僅將集群的總購(gòu)置成本最小作為最優(yōu)的分配結(jié)果,或集群總購(gòu)置成本+維護(hù)成本最小作為最優(yōu)的分配結(jié)果。
服務(wù)集群的資源消耗量可以包括集群購(gòu)置成本和/或帶寬消耗成本,也可 以是其他的配置集群和運(yùn)行集群所消耗的成本。
可以計(jì)算初始分配結(jié)果和多個(gè)新增分配結(jié)果各自對(duì)服務(wù)集群的資源消耗量,以便進(jìn)一步比較各個(gè)分配結(jié)果的資源消耗量。
步驟104,選擇資源消耗量最小的分配結(jié)果作為最優(yōu)分配結(jié)果。
在得到多個(gè)候選的分配結(jié)果及計(jì)算得到各自的資源消耗量后,可以從中選擇資源消耗量最小的分配結(jié)果作為最優(yōu)分配結(jié)果。實(shí)際應(yīng)用中,也可以在得到一個(gè)新增分配結(jié)果后,與初始分配結(jié)果進(jìn)行比較,若新增分配結(jié)果的資源消耗量小于初始分配結(jié)果的資源消耗量,則將新增分配結(jié)果作為最優(yōu)分配結(jié)果。也可以進(jìn)一步地獲取下一個(gè)新增分配結(jié)果,與上一個(gè)新增分配結(jié)果進(jìn)行比較,重復(fù)多次的新增分配結(jié)果獲取和比較,直到得到最優(yōu)的分配結(jié)果。還可以經(jīng)過(guò)一定次數(shù)的與新增分配結(jié)果比較后,將資源消耗最小的分配結(jié)果作為最優(yōu)分配結(jié)果。
根據(jù)本申請(qǐng)實(shí)施例,基于初始分配結(jié)果進(jìn)行應(yīng)用歸屬的服務(wù)集群的多次更換處理,以獲得多個(gè)新增分配結(jié)果,通過(guò)對(duì)多個(gè)新增分配結(jié)果對(duì)服務(wù)集群的資源消耗量的計(jì)算和比較,由此確定最優(yōu)分配結(jié)果,從而提升了應(yīng)用歸屬服務(wù)集群的分配效率,同時(shí)保證了得到的分配方案可以有效地節(jié)省服務(wù)集群的資源消耗成本。
而且,本申請(qǐng)實(shí)施例可以針對(duì)動(dòng)態(tài)變化的分布式系統(tǒng)而自動(dòng)確定出最優(yōu)分配結(jié)果,無(wú)須人工進(jìn)行多次分配,進(jìn)一步提升了應(yīng)用歸屬服務(wù)集群的分配效率。
參照?qǐng)D2,示出了本申請(qǐng)的一種應(yīng)用歸屬服務(wù)集群的分配方法實(shí)施例二的步驟流程圖,具體可以包括如下步驟:
步驟201,按照所述服務(wù)集群的至少一種負(fù)載性能,對(duì)多個(gè)服務(wù)集群進(jìn)行排序。
上述的負(fù)載性能可以包括每一個(gè)服務(wù)集群的最大存儲(chǔ)量、cpu總核數(shù)、各服務(wù)集群間的出口平均帶寬成本中至少一種。負(fù)載性能也可以包括其他的服務(wù)集群的處理能力指標(biāo)??梢园凑辗?wù)集群的負(fù)載性能對(duì)多個(gè)服務(wù)集群進(jìn) 行排序。具體的排序方式可以有多種,例如分別按照不同的負(fù)載性能進(jìn)行排序,或者針對(duì)負(fù)載性能設(shè)置權(quán)重,根據(jù)服務(wù)集群的多個(gè)負(fù)載性能的綜合權(quán)重排序。排序可以是升序,也可以是降序。本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況,按照負(fù)載性能進(jìn)行排序,本申請(qǐng)實(shí)施例對(duì)此不作限制。
步驟202,按照排序針對(duì)各服務(wù)集群進(jìn)行應(yīng)用分配,直至所有應(yīng)用均分配至某個(gè)服務(wù)集群;其中,針對(duì)排序在后的服務(wù)集群,在排序在前的服務(wù)集群分配后剩余的應(yīng)用中進(jìn)行應(yīng)用分配,獲得初始分配結(jié)果。
在確定服務(wù)集群的排序后,可以按照排序進(jìn)行應(yīng)用分配。分配時(shí)可以優(yōu)先將應(yīng)用分配至排序靠前的服務(wù)集群,排序在前的服務(wù)集群分配完畢后再將剩余的應(yīng)用分配至排序在后的服務(wù)集群。
實(shí)際應(yīng)用中,分配可以具有一定的約束條件,例如,服務(wù)集群所能分配的應(yīng)用的總數(shù)據(jù)量不超過(guò)服務(wù)集群的最大存儲(chǔ)量的90%;或者,服務(wù)集群內(nèi)的應(yīng)用在任一時(shí)間點(diǎn)對(duì)服務(wù)集群的內(nèi)存和cpu消耗不超過(guò)其最大處理能力的80%;或者,單個(gè)應(yīng)用不得分別分配至不同的服務(wù)集群,而必須完整地分配至同一個(gè)服務(wù)集群;也可以采用上述多個(gè)約束條件的組合。當(dāng)然,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況設(shè)定各種約束條件或約束條件的組合,本申請(qǐng)實(shí)施例不限制約束條件的具體內(nèi)容和約束條件的組合方式。
對(duì)各服務(wù)集群進(jìn)行應(yīng)用分配的處理,可以循環(huán)處理直至所有應(yīng)用均分配至某個(gè)應(yīng)用,并最終得到初始分配結(jié)果。或者,直至無(wú)法再滿足約束條件為止。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,在所述按照排序針對(duì)各服務(wù)集群進(jìn)行應(yīng)用分配之前,所述方法可以還包括:
計(jì)算任意兩個(gè)應(yīng)用之間的關(guān)聯(lián)權(quán)重。
所述按照排序針對(duì)各服務(wù)集群進(jìn)行應(yīng)用分配可以包括:
從當(dāng)前可選的多個(gè)應(yīng)用中,選擇關(guān)聯(lián)權(quán)重最大的兩個(gè)目標(biāo)應(yīng)用,并選擇與所述目標(biāo)應(yīng)用之一的關(guān)聯(lián)權(quán)重排序靠前的多個(gè)關(guān)聯(lián)應(yīng)用,分配至所述服務(wù)集群。
可以計(jì)算任意兩個(gè)應(yīng)用之間的數(shù)據(jù)交換量,以作為應(yīng)用之間的關(guān)聯(lián)權(quán) 重。在計(jì)算得到全部應(yīng)用之間的關(guān)聯(lián)權(quán)重后,可以選擇關(guān)聯(lián)權(quán)重最大的兩個(gè)應(yīng)用作為目標(biāo)應(yīng)用?;谶x擇的兩個(gè)目標(biāo)應(yīng)用,可以繼續(xù)選擇與任意一個(gè)目標(biāo)應(yīng)用的關(guān)聯(lián)權(quán)重較大的其他關(guān)聯(lián)應(yīng)用,分配至與目標(biāo)應(yīng)用所屬的服務(wù)集群中。
因?yàn)樘幱谕环?wù)集群中的應(yīng)用之間在交換數(shù)據(jù)時(shí)可以不占用服務(wù)集群的出口帶寬,因此,可以盡量將相互間數(shù)據(jù)交換量較大的應(yīng)用分配至同一個(gè)服務(wù)集群中,以減少服務(wù)集群間的數(shù)據(jù)交換量,降低對(duì)服務(wù)集群的帶寬占用。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,所述按照排序針對(duì)各服務(wù)集群進(jìn)行應(yīng)用分配還包括:
若至少一個(gè)應(yīng)用未分配至所述服務(wù)集群,則將未分配的應(yīng)用按照所需資源消耗量進(jìn)行排序;按照排序逐個(gè)將未分配的應(yīng)用隨機(jī)分配至某一服務(wù)集群。
對(duì)于剩余的未分配應(yīng)用,可以按照未分配應(yīng)用所需資源消耗量進(jìn)行降序排序,按照排序逐個(gè)將未分配應(yīng)用隨機(jī)分配至一個(gè)可容納該應(yīng)用的服務(wù)集群中。其中,隨機(jī)分配可能要反復(fù)若干次,直至分配到可容納該應(yīng)用的服務(wù)集群。所需資源消耗量可以為購(gòu)置成本,帶寬占用,應(yīng)用所需的存儲(chǔ)空間,應(yīng)用運(yùn)行時(shí)需要占用的內(nèi)存等資源消耗量中至少一種或多種的組合。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,在所述步驟202之前,所述方法可以還包括:
以所述應(yīng)用為節(jié)點(diǎn),以具備數(shù)據(jù)交換的兩個(gè)應(yīng)用為相鄰節(jié)點(diǎn),構(gòu)建包括多個(gè)應(yīng)用的節(jié)點(diǎn)網(wǎng)絡(luò)圖,所述關(guān)聯(lián)權(quán)重為連接兩個(gè)應(yīng)用的邊的邊權(quán)重。
從圖的角度考慮,可以基于應(yīng)用構(gòu)成圖模型,通過(guò)圖算法的方式得到初始分配結(jié)果。具體地,可以以應(yīng)用作為圖的節(jié)點(diǎn),以具備數(shù)據(jù)交換的任意兩個(gè)應(yīng)用作為相鄰的節(jié)點(diǎn),代表應(yīng)用之間數(shù)據(jù)交換量的關(guān)聯(lián)權(quán)重作為兩個(gè)應(yīng)用節(jié)點(diǎn)的邊的邊權(quán)重,從而構(gòu)建包括有多個(gè)應(yīng)用的節(jié)點(diǎn)網(wǎng)絡(luò)圖。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,所述選擇關(guān)聯(lián)權(quán)重最大的兩個(gè)目標(biāo)應(yīng)用包括:
查找所述節(jié)點(diǎn)網(wǎng)絡(luò)圖中邊權(quán)重最大的目標(biāo)邊。
節(jié)點(diǎn)網(wǎng)絡(luò)圖中的兩個(gè)節(jié)點(diǎn)的邊權(quán)重表示兩個(gè)應(yīng)用之間的關(guān)聯(lián)權(quán)重,選擇關(guān)聯(lián)權(quán)重最大的兩個(gè)目標(biāo)應(yīng)用,可以通過(guò)在節(jié)點(diǎn)網(wǎng)絡(luò)圖中查找邊權(quán)重最大的目標(biāo)邊而實(shí)現(xiàn),查找到的目標(biāo)邊所連接兩個(gè)節(jié)點(diǎn),即對(duì)應(yīng)于關(guān)聯(lián)權(quán)重最大的兩個(gè)目標(biāo)應(yīng)用。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,所述選擇與所述目標(biāo)應(yīng)用之一的關(guān)聯(lián)權(quán)重排序靠前的多個(gè)關(guān)聯(lián)應(yīng)用可以包括:
子步驟s11,在包含所述目標(biāo)邊的子圖中,以所述目標(biāo)邊的兩個(gè)目標(biāo)節(jié)點(diǎn)為起點(diǎn),進(jìn)行廣度優(yōu)先搜索。
子步驟s12,從搜索的多個(gè)關(guān)聯(lián)節(jié)點(diǎn)中,按照與所述目標(biāo)節(jié)點(diǎn)的邊權(quán)重從大到小,在未超出所述服務(wù)集群的負(fù)載性能的條件下,選擇最多數(shù)量的關(guān)聯(lián)節(jié)點(diǎn)。
可以將包含有目標(biāo)邊的節(jié)點(diǎn)形成一個(gè)子圖,以目標(biāo)節(jié)點(diǎn)為起點(diǎn)進(jìn)行廣度優(yōu)先搜索(breadthfirstsearch,bfs)。廣度優(yōu)先搜索是一種圖搜索算法,區(qū)別于深度優(yōu)先搜索,其從某個(gè)節(jié)點(diǎn)開(kāi)始,沿著圖的寬度遍歷各個(gè)節(jié)點(diǎn),直至圖中的全部節(jié)點(diǎn)被訪問(wèn)完畢才終止搜索計(jì)算。
從搜索得到的多個(gè)關(guān)聯(lián)節(jié)點(diǎn)中,可以按照與目標(biāo)節(jié)點(diǎn)的邊權(quán)重從大到小的順序,在滿足服務(wù)集群的負(fù)載性能的條件下,選擇數(shù)量最多的關(guān)聯(lián)節(jié)點(diǎn),即選擇了與任意一個(gè)目標(biāo)應(yīng)用的關(guān)聯(lián)權(quán)重排序靠前的多個(gè)關(guān)聯(lián)應(yīng)用。
為了便于本領(lǐng)域技術(shù)人員理解本申請(qǐng)實(shí)施例,圖5示出了本申請(qǐng)一種基于節(jié)點(diǎn)網(wǎng)絡(luò)圖的構(gòu)建示意圖。從圖中可見(jiàn),將應(yīng)用作為節(jié)點(diǎn),將應(yīng)用間的關(guān)聯(lián)權(quán)重作為節(jié)點(diǎn)的邊權(quán)重。其中,首先查找到未被分配的、邊權(quán)重最大的目標(biāo)邊,同時(shí)目標(biāo)邊連接的兩個(gè)節(jié)點(diǎn)所對(duì)應(yīng)的目標(biāo)應(yīng)用需要滿足一定的約束條件。在包含有目標(biāo)邊的子圖中,以目標(biāo)節(jié)點(diǎn)為起點(diǎn)進(jìn)行廣度優(yōu)先搜索,不斷地將與目標(biāo)節(jié)點(diǎn)相鄰的其他節(jié)點(diǎn)、按照邊權(quán)重從大到小的順序進(jìn)行擴(kuò)展,將子圖中的其他節(jié)點(diǎn)加入到由目標(biāo)節(jié)點(diǎn)及多個(gè)關(guān)聯(lián)節(jié)點(diǎn)形成的圖塊中,直至子圖中所有節(jié)點(diǎn)均被關(guān)聯(lián),或已無(wú)法滿足約束條件。圖5中的節(jié)點(diǎn)1、節(jié)點(diǎn)2、節(jié)點(diǎn)3和節(jié)點(diǎn)4形成一個(gè)圖塊,節(jié)點(diǎn)5、節(jié)點(diǎn)6和節(jié)點(diǎn)9以及節(jié)點(diǎn)7和節(jié)點(diǎn) 8分別形成另外的圖塊。即,應(yīng)用1、應(yīng)用2、應(yīng)用3和應(yīng)用4被分配至一個(gè)服務(wù)集群,應(yīng)用5、應(yīng)用6和應(yīng)用9以及應(yīng)用7和應(yīng)用8分別分配至其他的兩個(gè)服務(wù)集群。相應(yīng)的,參考圖6示出了本申請(qǐng)一種應(yīng)用歸屬服務(wù)集群的分配結(jié)果示意圖。如圖6,上述9個(gè)應(yīng)用分別被分配至服務(wù)集群a、服務(wù)集群b和服務(wù)集群c。
利用應(yīng)用和應(yīng)用間的關(guān)聯(lián)權(quán)重構(gòu)建基于邊權(quán)重關(guān)聯(lián)各個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)網(wǎng)絡(luò)圖,可以將如何使得分配至同一服務(wù)集群的應(yīng)用之間的數(shù)據(jù)交換量盡量大、同時(shí)使得服務(wù)集群之間的數(shù)據(jù)交換量盡量小的問(wèn)題,轉(zhuǎn)換成如何使得圖塊之內(nèi)的多個(gè)應(yīng)用間邊權(quán)重盡量大、而圖塊間的邊權(quán)重盡量小的問(wèn)題。通過(guò)以目標(biāo)節(jié)點(diǎn)展開(kāi)廣度優(yōu)先搜索,按照其他節(jié)點(diǎn)的邊權(quán)重大小順序進(jìn)行擴(kuò)展關(guān)聯(lián),使得圖塊之內(nèi)多個(gè)節(jié)點(diǎn)之間的邊權(quán)重之和盡量大,而圖塊之間的邊權(quán)重之和盡量小。即,同一服務(wù)集群的應(yīng)用之間的數(shù)據(jù)交換量盡量大,而服務(wù)集群之間的數(shù)據(jù)交換量盡量小。
步驟203,多次更換所述應(yīng)用歸屬的服務(wù)集群,獲得多個(gè)新增分配結(jié)果。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例一,所述步驟203可以包括:
子步驟s21,在隨機(jī)選擇的兩個(gè)服務(wù)集群中,分別隨機(jī)選擇一個(gè)應(yīng)用進(jìn)行交換,直至獲得多個(gè)新增分配結(jié)果。
針對(duì)于初始分配結(jié)果中的多個(gè)服務(wù)集群,可以在服務(wù)集群中隨機(jī)選擇兩個(gè)服務(wù)集群,分別隨機(jī)選擇一個(gè)應(yīng)用,交換分配至所選擇的另一個(gè)服務(wù)集群,從而可以獲得新增的分配結(jié)果??梢苑磸?fù)進(jìn)行多次的交換,以獲得多個(gè)新增分配結(jié)果。新增分配結(jié)果的具體數(shù)量可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況設(shè)定。作為本申請(qǐng)實(shí)施例的優(yōu)選示例,在所述子步驟s21之后,所述方法可以還包括:篩選資源消耗量從小到大排序靠前的多個(gè)分配結(jié)果。
具體地,可以針對(duì)當(dāng)前獲得的多個(gè)新增分配結(jié)果,可以按照其資源消耗量從小到大進(jìn)行排序,將排序靠前的若干個(gè)分配結(jié)果篩選出。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例二,所述步驟203可以包括:子步驟s22,針對(duì)當(dāng)前獲得的分配結(jié)果,依次選擇兩個(gè)分配結(jié)果,隨機(jī)從兩個(gè)分配結(jié)果中選擇兩個(gè)應(yīng)用,并對(duì)選擇的兩個(gè)應(yīng)用所歸屬的服務(wù)集群進(jìn)行交換,獲得多個(gè) 新增分配結(jié)果。
針對(duì)于當(dāng)前獲得的多個(gè)分配結(jié)果,可以從中依次選擇兩個(gè)分配結(jié)果,在選擇的分配結(jié)果中分別選擇兩個(gè)應(yīng)用,對(duì)所選擇的兩個(gè)應(yīng)用所歸屬的服務(wù)集群進(jìn)行交換,從而產(chǎn)生了新增分配結(jié)果。可以反復(fù)進(jìn)行多次的交換,以獲得多個(gè)新增分配結(jié)果。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例三,所述步驟203可以包括:
子步驟s23,隨機(jī)選擇一個(gè)應(yīng)用并對(duì)所選擇的應(yīng)用歸屬的服務(wù)集群進(jìn)行修改,獲得多個(gè)新增分配結(jié)果。
可以在任意一個(gè)服務(wù)集群中,隨機(jī)選擇一個(gè)應(yīng)用,并將選擇的應(yīng)用分配至其他服務(wù)集群,以獲得新增分配結(jié)果。同樣,可以反復(fù)多次隨機(jī)選擇應(yīng)用并重新分配應(yīng)用至其他服務(wù)集群,以獲得多個(gè)新增分配結(jié)果。
步驟204,計(jì)算所述初始分配結(jié)果和所述新增分配結(jié)果各自對(duì)所述服務(wù)集群的資源消耗量。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,所述步驟204可以包括:
子步驟s31,計(jì)算所述初始分配結(jié)果和所述新增分配結(jié)果各自所需的集群購(gòu)置成本。
可以針對(duì)初始分配結(jié)果和新增分配結(jié)果,計(jì)算各個(gè)分配結(jié)果所需的集群購(gòu)置成本。
和/或,子步驟s32,計(jì)算所述初始分配結(jié)果和所述新增分配結(jié)果中各個(gè)應(yīng)用跨集群的帶寬消耗成本;加和各個(gè)應(yīng)用的帶寬消耗成本,得到所述初始分配結(jié)果和所述新增分配結(jié)果的總帶寬消耗成本。
可以針對(duì)初始分配結(jié)果和多個(gè)新增的分配結(jié)果,計(jì)算各個(gè)分配結(jié)果中,各個(gè)應(yīng)用之間跨集群交互數(shù)據(jù)時(shí)所對(duì)服務(wù)集群的帶寬消耗成本。將各個(gè)應(yīng)用的帶寬消耗成本加和,分別得到各個(gè)分配結(jié)果的總帶寬消耗成本。
實(shí)際應(yīng)用中,上述子步驟s21和步驟204可以利用模擬退火算法(simulatedannealing,sa),實(shí)現(xiàn)獲得新增分配結(jié)果,并計(jì)算各個(gè)新增分配結(jié)果對(duì)服務(wù)集群的資源消耗量,以最終獲得最優(yōu)分配結(jié)果的處理。模擬退火算法是一種通用概率算法,通常用于在一個(gè)較大的搜索空間內(nèi)計(jì)算最優(yōu)結(jié) 果。
具體地,模擬退火算法中的初始解狀態(tài)s的概念可以用于表示初始分配結(jié)果,即迭代計(jì)算的起點(diǎn);s′可以表示新增分配結(jié)果。每一次的隨機(jī)更換應(yīng)用歸屬的服務(wù)集群而獲得新增分配結(jié)果,即產(chǎn)生新解s’,并累計(jì)迭代次數(shù)一次。通過(guò)計(jì)算公式δt′=c(s′)-c(s)計(jì)算資源消耗量的增量;其中,c(s)為表示分配結(jié)果的資源消耗量的評(píng)價(jià)函數(shù),δt′為該次迭代計(jì)算得到的資源消耗量增量。
當(dāng)δt′小于0,即新增分配結(jié)果的資源消耗量小于之前的分配結(jié)果,可以接受s′作為新的當(dāng)前解。重復(fù)隨機(jī)更換應(yīng)用歸屬的服務(wù)集群獲得新增分配結(jié)果的步驟,以對(duì)新增分配結(jié)果的資源消耗量增量進(jìn)行迭代計(jì)算,滿足終止條件后則將終止迭代計(jì)算并將當(dāng)前解作為最優(yōu)解,即最優(yōu)的分配結(jié)果。終止條件可以為連續(xù)n個(gè)新解均沒(méi)有被接受,也可以為新增結(jié)果無(wú)法滿足約束條件,還可以是獲得足夠多的被接受的當(dāng)前解,當(dāng)前解的數(shù)量應(yīng)盡可能大,以保證后續(xù)可以獲得最優(yōu)解。當(dāng)然,本領(lǐng)域技術(shù)人員也可以根據(jù)實(shí)際情況設(shè)定當(dāng)前解的數(shù)量。
實(shí)際應(yīng)用中,上述子步驟s22、s23和步驟204可以利用遺傳算法(geneticalgorithm,ga),實(shí)現(xiàn)獲得新增分配結(jié)果并計(jì)算各個(gè)新增分配結(jié)果對(duì)服務(wù)集群的資源消耗量,以最終獲得最優(yōu)分配結(jié)果的處理。遺傳算法是借鑒生物界的進(jìn)化規(guī)律演化而來(lái)的隨機(jī)搜索方法。
具體地,可以將各個(gè)應(yīng)用作為染色體進(jìn)行編碼,將m個(gè)應(yīng)用從0-m編號(hào),n個(gè)服務(wù)集群從0-n編號(hào),得到一個(gè)m維的染色體向量,每一維代表一個(gè)應(yīng)用,對(duì)應(yīng)取值為[0,n),表示該應(yīng)用當(dāng)前分配的集群索引,即該應(yīng)用所屬的服務(wù)集群編號(hào)。
可以設(shè)置進(jìn)化代數(shù)t=0,設(shè)置最大進(jìn)化代數(shù)t,隨機(jī)生成m個(gè)個(gè)體的集合作為初始群體p(0),即初始分配結(jié)果。計(jì)算初始群體p(0)中的適應(yīng)度,適應(yīng)度可以通過(guò)計(jì)算該分配結(jié)果所需資源消耗量的倒數(shù)得到。分配結(jié)果所需資源消耗量越大,表示適應(yīng)度越低,反之亦然。
在實(shí)際應(yīng)用中,評(píng)價(jià)函數(shù)和適應(yīng)度均為分配結(jié)果所需資源消耗量的表示 方式,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況任意選用,例如,在利用遺傳算法獲得新增分配結(jié)果時(shí),可以用評(píng)價(jià)函數(shù)表示分配結(jié)果所需資源消耗量;在利用模擬退火算法獲得新增分配結(jié)果時(shí),也可以用適應(yīng)度表示分配結(jié)果所需資源消耗量。
針對(duì)于上述的子步驟s22,利用遺傳算法框架實(shí)現(xiàn)獲得新增分配結(jié)果的具體處理中,可以針對(duì)染色體進(jìn)行交叉運(yùn)算,將交叉算子作用于群體。具體地,可以在初始群體p(0)的染色體中隨機(jī)選取兩個(gè)染色體,在滿足約束條件的前提下相互交互取值,即對(duì)兩個(gè)應(yīng)用歸屬的服務(wù)集群進(jìn)行交換,獲得新增分配結(jié)果。
或者,針對(duì)于上述的子步驟s23,利用遺傳算法框架實(shí)現(xiàn)獲得新增分配的具體處理中,可以針對(duì)染色體進(jìn)行變異運(yùn)算,將變異算子作用于群體,即對(duì)群體中的個(gè)體串的某些基因座上的基因值作變動(dòng)。具體地,可以在初始群體p(0)的染色體中隨機(jī)選取一個(gè)染色體,在滿足約束條件的前提下修改索引值,即隨機(jī)選擇一個(gè)應(yīng)用并對(duì)所選擇的應(yīng)用歸屬的服務(wù)集群進(jìn)行修改,獲得新增分配結(jié)果。
針對(duì)于上述的步驟204,即針對(duì)交叉運(yùn)算和/或變異運(yùn)算后,從群體p(t)進(jìn)化到下一代群體p(t+1),利用遺傳算法框架計(jì)算資源消耗量的具體處理中,可以計(jì)算群體p(t+1)的適應(yīng)度。當(dāng)多次進(jìn)化,進(jìn)化代數(shù)t累計(jì)到最大進(jìn)化代數(shù)t后則終止迭代計(jì)算,將進(jìn)化過(guò)程中具有最大適應(yīng)度的群體作為最優(yōu)解,即最優(yōu)分配結(jié)果。
由于每一步交叉運(yùn)算和變異運(yùn)算都會(huì)對(duì)進(jìn)化是否滿足約束條件進(jìn)行檢查,因此整個(gè)進(jìn)化過(guò)程均可得到有效的分配結(jié)果,保證了進(jìn)化的合理性。
需要說(shuō)明的是,上述子步驟s21-子步驟s23的執(zhí)行順序僅為示例,實(shí)際應(yīng)用中,可以根據(jù)上述提供的一種或多種方式按照不同次序的組合以獲得多個(gè)新增的分配結(jié)果。例如先執(zhí)行子步驟s21,再執(zhí)行子步驟s23,最后執(zhí)行子步驟s22。
需要說(shuō)明的是,實(shí)際應(yīng)用中可以采用多種方式結(jié)合模擬退火算法和遺傳算法計(jì)算獲得最優(yōu)分配結(jié)果。例如,可以先利用模擬退火算法獲得大量的分 配結(jié)果,然后利用遺傳算法控制分配結(jié)果的優(yōu)化方向,以便接近最優(yōu)分配結(jié)果;或者也可以先利用遺傳算法中的變異運(yùn)算,獲得若干新增分配結(jié)果,再基于得到的若干分配結(jié)果,利用模擬退火算法獲得大量的分配結(jié)果,最后再利用遺傳算法中的交叉運(yùn)算獲得最優(yōu)分配結(jié)果。
當(dāng)結(jié)合模擬退火算法和遺傳算法獲得最優(yōu)分配結(jié)果時(shí),兩種算法所對(duì)應(yīng)計(jì)算的資源消耗量可以為相同種類的資源的消耗,也可以不同。例如,模擬退火算法所計(jì)算的資源消耗量針對(duì)于集群購(gòu)置成本的消耗,而遺傳算法所計(jì)算的是帶寬成本的消耗。
此外,除了使用遺傳算法獲得最優(yōu)分配結(jié)果,本領(lǐng)域技術(shù)也可以采用其他的算法獲得最優(yōu)分配結(jié)果,例如蟻群算法、粒子群算法等。
步驟205,針對(duì)當(dāng)前獲得的新增分配結(jié)果,若所述當(dāng)前獲得的新增分配結(jié)果的資源消耗量小于所述初始分配結(jié)果的資源消耗量,則將所述當(dāng)前獲得的新增分配結(jié)果作為當(dāng)前最優(yōu)分配結(jié)果,并與下一個(gè)新增分配結(jié)果進(jìn)行比較,直至獲得最優(yōu)分配結(jié)果。
針對(duì)于當(dāng)前獲得的多個(gè)新增分配結(jié)果,可以將當(dāng)前獲得的新增分配結(jié)果與初始分配結(jié)果的資源消耗量進(jìn)行比較。若當(dāng)前獲得的新增分配結(jié)果的資源消耗量小于初始分配結(jié)果的資源消耗量,則將當(dāng)前獲得的新增分配結(jié)果作為當(dāng)前最優(yōu)分配結(jié)果,反之則繼續(xù)將下一新增分配結(jié)果與初始分配結(jié)果的資源消耗量進(jìn)行比較。針對(duì)當(dāng)前最優(yōu)分配結(jié)果,可以與下一個(gè)新增分配結(jié)果進(jìn)行比較,反復(fù)進(jìn)行比較并確定當(dāng)前最優(yōu)分配結(jié)果,直至獲得資源消耗量最小的分配結(jié)果,將其作為最優(yōu)分配結(jié)果?;蛘?,針對(duì)出現(xiàn)了新增分配結(jié)果的集群購(gòu)置成本大于初始分配結(jié)果的資源消耗量的比較結(jié)果的出現(xiàn)次數(shù)進(jìn)行統(tǒng)計(jì),當(dāng)出現(xiàn)的次數(shù)超出預(yù)設(shè)次數(shù),則將候選分配結(jié)果中資源消耗量最小的分配結(jié)果作為最優(yōu)分配結(jié)果。
根據(jù)本申請(qǐng)實(shí)施例,通過(guò)節(jié)點(diǎn)網(wǎng)絡(luò)圖得到初始分配結(jié)果,并進(jìn)一步通過(guò)模擬退火算法和/或遺傳算法得到最優(yōu)分配結(jié)果,從而提升了應(yīng)用歸屬服務(wù)集群分配的效率。而且,所得到的分配方案更接近最優(yōu)方案,節(jié)省了分布式系統(tǒng)部署和運(yùn)行的成本。
而且,本申請(qǐng)實(shí)施例可以針對(duì)動(dòng)態(tài)變化的分布式系統(tǒng)而自動(dòng)確定出最優(yōu)分配結(jié)果,無(wú)須人工進(jìn)行多次分配,進(jìn)一步提升了應(yīng)用歸屬服務(wù)集群的分配效率。
需要說(shuō)明的是,對(duì)于方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請(qǐng)實(shí)施例并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本申請(qǐng)實(shí)施例,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本申請(qǐng)實(shí)施例所必須的。
參照?qǐng)D3,示出了本申請(qǐng)的一種應(yīng)用歸屬服務(wù)集群的分配裝置實(shí)施例一的結(jié)構(gòu)框圖,具體可以包括如下模塊:
應(yīng)用初始分配模塊301,用于將多個(gè)應(yīng)用分配至多個(gè)服務(wù)集群,獲得初始分配結(jié)果。
應(yīng)用多次更換模塊302,用于多次更換所述應(yīng)用歸屬的服務(wù)集群,獲得多個(gè)新增分配結(jié)果。
資源消耗量計(jì)算模塊303,用于計(jì)算所述初始分配結(jié)果和所述新增分配結(jié)果各自對(duì)所述服務(wù)集群的資源消耗量。
最優(yōu)分配結(jié)果選擇模塊304,用于選擇資源消耗量最小的分配結(jié)果作為最優(yōu)分配結(jié)果。
根據(jù)本申請(qǐng)實(shí)施例,基于初始分配結(jié)果進(jìn)行應(yīng)用歸屬的服務(wù)集群的多次更換處理,以獲得多個(gè)新增分配結(jié)果,通過(guò)對(duì)多個(gè)新增分配結(jié)果對(duì)服務(wù)集群的資源消耗量的計(jì)算和比較,由此確定最優(yōu)分配結(jié)果,從而提升了應(yīng)用歸屬服務(wù)集群的分配效率,同時(shí)保證了得到的分配方案可以有效地節(jié)省服務(wù)集群的資源消耗成本。
而且,本申請(qǐng)實(shí)施例可以針對(duì)動(dòng)態(tài)變化的分布式系統(tǒng)而自動(dòng)確定出最優(yōu)分配結(jié)果,無(wú)須人工進(jìn)行多次分配,進(jìn)一步提升了應(yīng)用歸屬服務(wù)集群的分配效率。
參照?qǐng)D4,示出了本申請(qǐng)的一種應(yīng)用歸屬服務(wù)集群的分配裝置實(shí)施例二的結(jié)構(gòu)框圖,具體可以包括如下模塊:
服務(wù)集群排序模塊401,用于按照所述服務(wù)集群的至少一種負(fù)載性能,對(duì)多個(gè)服務(wù)集群進(jìn)行排序。
節(jié)點(diǎn)網(wǎng)絡(luò)圖構(gòu)建模塊402,用于以所述應(yīng)用為節(jié)點(diǎn),以具備數(shù)據(jù)交換的兩個(gè)應(yīng)用為相鄰節(jié)點(diǎn),構(gòu)建包括多個(gè)應(yīng)用的節(jié)點(diǎn)網(wǎng)絡(luò)圖,所述關(guān)聯(lián)權(quán)重為連接兩個(gè)應(yīng)用的邊的邊權(quán)重。
應(yīng)用初始分配模塊403,用于將多個(gè)應(yīng)用分配至多個(gè)服務(wù)集群,獲得初始分配結(jié)果。
應(yīng)用多次更換模塊404,用于多次更換所述應(yīng)用歸屬的服務(wù)集群,獲得多個(gè)新增分配結(jié)果。
資源消耗量計(jì)算模塊405,用于計(jì)算所述初始分配結(jié)果和所述新增分配結(jié)果各自對(duì)所述服務(wù)集群的資源消耗量。
最優(yōu)分配結(jié)果選擇模塊406,用于選擇資源消耗量最小的分配結(jié)果作為最優(yōu)分配結(jié)果。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,所述應(yīng)用初始分配模塊403可以具體用于:
按照排序針對(duì)各服務(wù)集群進(jìn)行應(yīng)用分配,直至所有應(yīng)用均分配至某個(gè)服務(wù)集群;其中,針對(duì)排序在后的服務(wù)集群,在排序在前的服務(wù)集群分配后剩余的應(yīng)用中進(jìn)行應(yīng)用分配。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,所述裝置可以還包括:
關(guān)聯(lián)權(quán)重計(jì)算模塊,用于計(jì)算任意兩個(gè)應(yīng)用之間的關(guān)聯(lián)權(quán)重。
所述應(yīng)用初始分配模塊403可以包括:
關(guān)聯(lián)應(yīng)用分配子模塊,用于從當(dāng)前可選的多個(gè)應(yīng)用中,選擇關(guān)聯(lián)權(quán)重最大的兩個(gè)目標(biāo)應(yīng)用,并選擇與所述目標(biāo)應(yīng)用之一的關(guān)聯(lián)權(quán)重排序靠前的多個(gè)關(guān)聯(lián)應(yīng)用,分配至所述服務(wù)集群。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,所述裝置可以還包括:
應(yīng)用排序模塊,用于若至少一個(gè)應(yīng)用未分配至所述服務(wù)集群,則將未分 配的應(yīng)用按照所需資源消耗量進(jìn)行排序。
未分配應(yīng)用隨機(jī)分配模塊,用于按照排序逐個(gè)將未分配的應(yīng)用隨機(jī)分配至某一服務(wù)集群。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例一,所述關(guān)聯(lián)應(yīng)用分配子模塊可以包括:
目標(biāo)邊查找子單元,用于查找所述節(jié)點(diǎn)網(wǎng)絡(luò)圖中邊權(quán)重最大的目標(biāo)邊。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例二,所述關(guān)聯(lián)應(yīng)用分配子模塊可以包括:
廣度優(yōu)先搜索子單元,用于在包含所述目標(biāo)邊的子圖中,以所述目標(biāo)邊的兩個(gè)目標(biāo)節(jié)點(diǎn)為起點(diǎn),進(jìn)行廣度優(yōu)先搜索。
關(guān)聯(lián)節(jié)點(diǎn)選擇子單元,用于從搜索的多個(gè)關(guān)聯(lián)節(jié)點(diǎn)中,按照與所述目標(biāo)節(jié)點(diǎn)的邊權(quán)重從大到小,在未超出所述服務(wù)集群的負(fù)載性能的條件下,選擇最多數(shù)量的關(guān)聯(lián)節(jié)點(diǎn)。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,所述裝置可以還包括:
新增分配結(jié)果確定模塊,用于確定更換后的新增分配結(jié)果未超出各服務(wù)集群的負(fù)載性能。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,所述應(yīng)用多次更換模塊404可以包括:
應(yīng)用交換子模塊,用于在隨機(jī)選擇的兩個(gè)服務(wù)集群中,分別隨機(jī)選擇一個(gè)應(yīng)用進(jìn)行交換,直至獲得多個(gè)新增分配結(jié)果。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,所述應(yīng)用多次更換模塊404可以包括:
服務(wù)集群交互子模塊,用于針對(duì)當(dāng)前獲得的分配結(jié)果,依次選擇兩個(gè)分配結(jié)果,隨機(jī)從兩個(gè)分配結(jié)果中選擇兩個(gè)應(yīng)用,并對(duì)選中的兩個(gè)應(yīng)用所歸屬的服務(wù)集群進(jìn)行交換,獲得多個(gè)新增分配結(jié)果。
服務(wù)集群修改子模塊,用于隨機(jī)選擇一個(gè)應(yīng)用并對(duì)所選擇的應(yīng)用歸屬的服務(wù)集群進(jìn)行修改,獲得多個(gè)新增分配結(jié)果。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,所述裝置可以還包括:
分配結(jié)果篩選模塊,用于篩選資源消耗量從小到大排序靠前的多個(gè)分配結(jié)果。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,所述資源消耗量計(jì)算模塊405可以包括:
集群購(gòu)置成本計(jì)算子模塊,用于計(jì)算所述初始分配結(jié)果和所述新增分配 結(jié)果各自所需的集群購(gòu)置成本。
帶寬消耗成本計(jì)算子模塊,用于計(jì)算所述初始分配結(jié)果和所述新增分配結(jié)果中各個(gè)應(yīng)用跨集群的帶寬消耗成本;加和各個(gè)應(yīng)用的帶寬消耗成本,得到所述初始分配結(jié)果和所述新增分配結(jié)果的總帶寬消耗成本。
作為本申請(qǐng)實(shí)施例的優(yōu)選示例,所述最優(yōu)分配結(jié)果選擇模塊406可以包括:
分配結(jié)果比較子模塊,用于針對(duì)當(dāng)前獲得的新增分配結(jié)果,若所述當(dāng)前獲得的新增分配結(jié)果的資源消耗量小于所述初始分配結(jié)果的資源消耗量,則將所述當(dāng)前獲得的新增分配結(jié)果作為當(dāng)前最優(yōu)分配結(jié)果,并與下一個(gè)新增分配結(jié)果進(jìn)行比較,直至獲得最優(yōu)分配結(jié)果。
根據(jù)本申請(qǐng)實(shí)施例,通過(guò)節(jié)點(diǎn)網(wǎng)絡(luò)圖得到初始分配結(jié)果,并進(jìn)一步通過(guò)模擬退火算法和/或遺傳算法得到最優(yōu)分配結(jié)果,從而提升了應(yīng)用歸屬服務(wù)集群分配的效率。而且,所得到的分配方案更接近最優(yōu)方案,節(jié)省了分布式系統(tǒng)部署和運(yùn)行的成本。
而且,本申請(qǐng)實(shí)施例可以針對(duì)動(dòng)態(tài)變化的分布式系統(tǒng)而自動(dòng)確定出最優(yōu)分配結(jié)果,無(wú)須人工進(jìn)行多次分配,進(jìn)一步提升了應(yīng)用歸屬服務(wù)集群的分配效率。
對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)實(shí)施例的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程 序產(chǎn)品的形式。
在一個(gè)典型的配置中,所述計(jì)算機(jī)設(shè)備包括一個(gè)或多個(gè)處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(rom)或閃存(flashram)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)、其他類型的隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤(pán)只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能光盤(pán)(dvd)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤(pán)存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問(wèn)的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括非持續(xù)性的電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號(hào)和載波。
本申請(qǐng)實(shí)施例是參照根據(jù)本申請(qǐng)實(shí)施例的方法、終端設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本申請(qǐng)實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)實(shí)施例范圍的所有變更和修改。
最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者終端設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者終端設(shè)備中還存在另外的相同要素。
以上對(duì)本申請(qǐng)所提供的一種應(yīng)用歸屬服務(wù)集群的分配方法和一種應(yīng)用歸屬服務(wù)集群的分配裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。