
本發(fā)明屬于工業(yè)物聯(lián)網(wǎng)及霧計算領(lǐng)域,尤其設(shè)計一種面向工業(yè)智能化服務(wù)的云霧計算系統(tǒng)。
背景技術(shù):
:工業(yè)4.0背景下,越來越多的物體智能化,萬物互聯(lián),物聯(lián)網(wǎng)進入工廠。隨著工業(yè)物聯(lián)網(wǎng)的飛速發(fā)展,工業(yè)數(shù)據(jù)正呈現(xiàn)出爆炸式增長,這些數(shù)據(jù)具有較大的價值,為工業(yè)智能化服務(wù)提供源數(shù)據(jù)。傳統(tǒng)方式下,海量數(shù)據(jù)的高效處理可以采用云計算的方式實現(xiàn)。然而,工業(yè)物聯(lián)網(wǎng)中組網(wǎng)情況一般比較復雜,底層裝備的計算能力有限,其傳輸帶寬和可靠性具有一定約束。此外,工業(yè)物聯(lián)網(wǎng)還具有地理分布范圍廣和通信數(shù)據(jù)量小的特點。這些特點使得工業(yè)物聯(lián)網(wǎng)中智能化服務(wù)的應(yīng)用具有多尺度時延敏感性和多尺度計算復雜性需求。霧計算,作為云計算的強大補充,更加適應(yīng)物聯(lián)網(wǎng)的數(shù)據(jù)和通信需求。霧計算是一種分布式的計算模型,位于云數(shù)據(jù)中心和物聯(lián)網(wǎng)設(shè)備/傳感器之間的中間層,它提供了計算、網(wǎng)絡(luò)和存儲設(shè)備,讓基于云的服務(wù)可以離物聯(lián)網(wǎng)設(shè)備和傳感器更近。霧計算概念的引入,就是為了應(yīng)對傳統(tǒng)云計算在工業(yè)物聯(lián)網(wǎng)應(yīng)用時所面臨的網(wǎng)絡(luò)阻塞、高延時、低服務(wù)質(zhì)量等挑戰(zhàn)。目前關(guān)于物聯(lián)網(wǎng)中云霧計算架構(gòu)的研究大多沒有針對特定的應(yīng)用場景,無法滿足工業(yè)物聯(lián)網(wǎng)中智能化服務(wù)應(yīng)用對時延敏感性和計算復雜性多尺度需求。技術(shù)實現(xiàn)要素:本發(fā)明的發(fā)明目的是:為了解決現(xiàn)有技術(shù)中存在的以上問題,本發(fā)明提出了一種面向工業(yè)智能化服務(wù)的云霧計算系統(tǒng),從而滿足工業(yè)物聯(lián)網(wǎng)中智能化服務(wù)應(yīng)用對時延敏感性和計算復雜性多尺度需求。本發(fā)明的技術(shù)方案是:一種面向工業(yè)智能化服務(wù)的云霧計算系統(tǒng),包括:iot基礎(chǔ)設(shè)施子系統(tǒng),用于采集地理分布式的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)并發(fā)送至霧計算子系統(tǒng)、向霧計算子系統(tǒng)發(fā)送任務(wù)請求、及接收霧計算子系統(tǒng)返回的控制指令;霧計算子系統(tǒng),用于接收所述iot基礎(chǔ)設(shè)施子系統(tǒng)發(fā)送的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)和任務(wù)請求、根據(jù)任務(wù)請求分配計算資源、對工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)進行預(yù)處理并向所述iot基礎(chǔ)設(shè)施子系統(tǒng)返回控制指令和計算結(jié)果、將工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)和任務(wù)請求上傳至云計算子系統(tǒng);云計算子系統(tǒng),用于接收所述霧計算子系統(tǒng)上傳的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)和任務(wù)請求并保存、根據(jù)任務(wù)請求進行數(shù)據(jù)處理。進一步地,所述iot基礎(chǔ)設(shè)施子系統(tǒng)包括傳感器節(jié)點、終端設(shè)備及被控終端;所述傳感器節(jié)點,用于采集地理分布式的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù);所述終端設(shè)備,用于向霧計算子系統(tǒng)發(fā)送任務(wù)請求;所述被控終端,用于接收霧計算子系統(tǒng)返回的控制指令。進一步地,所述霧計算子系統(tǒng)劃分為多個霧群,每個霧群包括一個霧管理節(jié)點及分別與所述霧管理節(jié)點連接的霧節(jié)點;所述霧管理節(jié)點包括霧網(wǎng)絡(luò)設(shè)備,用于管理霧群中所有霧節(jié)點、接收所述iot基礎(chǔ)設(shè)施子系統(tǒng)發(fā)送的任務(wù)請求并根據(jù)任務(wù)請求分配計算資源;所述霧節(jié)點包括霧網(wǎng)絡(luò)設(shè)備及虛擬網(wǎng)絡(luò)功能模塊,用于接收所述iot基礎(chǔ)設(shè)施子系統(tǒng)發(fā)送的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)、接收所述霧管理節(jié)點分配的任務(wù)請求、對工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)進行預(yù)處理并保存。進一步地,所述霧計算子系統(tǒng)根據(jù)任務(wù)請求分配計算資源具體包括以下步驟:a、將資源調(diào)度問題中的霧節(jié)點的網(wǎng)絡(luò)拓撲圖、任務(wù)請求集合和調(diào)度問題描述公式化表示,建立資源分配矩陣和雙適應(yīng)度函數(shù);b、初始化自適應(yīng)遺傳算法的種群規(guī)模和最大迭代次數(shù),設(shè)置種群迭代結(jié)束條件,建立染色體編解碼方案;c、對種群進行初始化;d、根據(jù)適應(yīng)度函數(shù)計算當前種群每條染色體的適應(yīng)度值;e、分別通過選擇算子、交叉算子和變異算子對種群的遺傳進行搜索;f、判斷當前種群是否滿足種群迭代結(jié)束條件;若是則完成計算資源分配;若否則返回步驟d。進一步地,所述步驟a中霧節(jié)點的網(wǎng)絡(luò)拓撲圖公式化表示為fg=(f,d)其中,f為所有霧節(jié)點集合,d為霧節(jié)點之間鏈路集合;任務(wù)請求集合公式化表示為r={r1,r2...rm}其中,ri為第i個任務(wù)請求;調(diào)度問題描述公式化表示為根據(jù)霧節(jié)點的網(wǎng)絡(luò)拓撲圖fg和任務(wù)請求集合r,形成任務(wù)請求與霧節(jié)點的一一映射;資源分配矩陣為其中,alij為0或1,alij=1表示任務(wù)請求ri分配給霧節(jié)點fj執(zhí)行,alij=0表示任務(wù)請求ri不分配給霧節(jié)點fj執(zhí)行。進一步地,所述步驟b中種群迭代結(jié)束條件具體為迭代次數(shù)達到最大迭代次數(shù)、最優(yōu)解出現(xiàn)或者迭代時間達到約束時間;建立染色體編解碼方案中染色體編碼方案為采用間接編碼的方式將每一個任務(wù)請求映射給一個霧資源,單個任務(wù)請求對應(yīng)單個霧資源,單個霧資源可對應(yīng)多個任務(wù)請求,染色體中的每一位都用正整數(shù)來表示任務(wù)請求和霧資源的編號,染色體長度為任務(wù)請求總數(shù),染色體上的基因值則相當于分配給該任務(wù)的霧資源編號,染色體的索引值代表任務(wù)請求編號;建立染色體編解碼方案中染色體解碼方案為根據(jù)染色體編碼規(guī)則將染色體解碼表示為資源分配矩陣,得到霧節(jié)點分配方案。進一步地,所述步驟c對種群進行初始化具體為設(shè)定種群中一條染色體的生成規(guī)則為染色體長度為m,基因值為染色體索引值對應(yīng)任務(wù)的來源節(jié)點編號,其余染色體的基因值隨機生成。進一步地,所述步驟d根據(jù)適應(yīng)度函數(shù)計算當前種群每條染色體的適應(yīng)度值中最大時間跨度適應(yīng)度函數(shù)表示為:其中,tmax為最大完成時間;任務(wù)執(zhí)行的通信開銷適應(yīng)度函數(shù)表示為:其中,cload為通信開銷。進一步地,所述步驟e中通過選擇算子對種群的遺傳進行搜索具體包括以下分步驟:e11、分別計算種群中每個染色體si的選擇概率p1(i)和p2(i);e12、分別計算種群中每個染色體si的累計概率q1(i)和q2(i);e13、從當前的種群中,以概率c1和c2分別選擇以選擇概率p1(i)或選擇概率p2(i)來選擇個體,其中0<c1,c2<1,c1+c2=1;再以選中的選擇概率p1(i)或選擇概率p2(i)選擇下一代個體,得到下一代種群。進一步地,所述步驟e中通過交叉算子和變異算子對種群的遺傳進行搜索具體包括以下分步驟:e21、分別計算種群中每個染色體si對于兩個適應(yīng)度函數(shù)的適應(yīng)度值f1(i)和f2(i),選擇其中較小的適應(yīng)度值作為交叉的標準f(i),計算平均適應(yīng)度值f1(avg)和f2(avg);e22、從種群中任意選擇兩個染色體,計算染色體的交叉概率pchange和變異概率pvariation;e23、在m-1個交叉點中隨機產(chǎn)生一個交叉點,以交叉概率pchange交換兩個染色體自該點以后的所有基因;e24、在m個變異點中隨機產(chǎn)生一個變異點,以變異概率pvariation從{1,2,3,...,n}基因庫中隨機產(chǎn)生一個變異基因替換原有基因;e25、重復步驟e22-e24共s次,完成種群遺傳搜索。本發(fā)明的有益效果是:本方法采用iot基礎(chǔ)設(shè)施子系統(tǒng)、霧計算子系統(tǒng)和云計算子系統(tǒng)組成云霧計算系統(tǒng)架構(gòu),適用于工業(yè)智能化服務(wù)應(yīng)用,滿足了工業(yè)物聯(lián)網(wǎng)中智能化服務(wù)應(yīng)用對時延敏感性和計算復雜性多尺度需求;同時針對計算架構(gòu)中霧資源的協(xié)同工作采用自適應(yīng)遺傳算法進行資源調(diào)度,能夠同時兼顧任務(wù)的時延性能和通信資源的開銷。附圖說明圖1是本發(fā)明的面向工業(yè)智能化服務(wù)的云霧計算系統(tǒng)的結(jié)構(gòu)示意圖。圖2是本發(fā)明的面向工業(yè)智能化服務(wù)流向示意圖。圖3是本發(fā)明實施例中計算資源分配流程示意圖。具體實施方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。如圖1所述,為本發(fā)明的面向工業(yè)智能化服務(wù)的云霧計算系統(tǒng)的結(jié)構(gòu)示意圖。一種面向工業(yè)智能化服務(wù)的云霧計算系統(tǒng),包括:iot基礎(chǔ)設(shè)施子系統(tǒng),用于采集地理分布式的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)并發(fā)送至霧計算子系統(tǒng)、向霧計算子系統(tǒng)發(fā)送任務(wù)請求、及接收霧計算子系統(tǒng)返回的控制指令;霧計算子系統(tǒng),用于接收所述iot基礎(chǔ)設(shè)施子系統(tǒng)發(fā)送的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)和任務(wù)請求、根據(jù)任務(wù)請求分配計算資源、對工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)進行預(yù)處理并向所述iot基礎(chǔ)設(shè)施子系統(tǒng)返回控制指令和計算結(jié)果、將工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)和任務(wù)請求上傳至云計算子系統(tǒng);云計算子系統(tǒng),用于接收所述霧計算子系統(tǒng)上傳的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)和任務(wù)請求并保存、根據(jù)任務(wù)請求進行數(shù)據(jù)處理。如圖2所示,為本發(fā)明的面向工業(yè)智能化服務(wù)流向示意圖。本發(fā)明將工業(yè)物聯(lián)網(wǎng)中智能化服務(wù)分為三類:一級服務(wù),霧級服務(wù)和云級服務(wù)。其中:一級服務(wù)是針對實時類應(yīng)用,每個霧節(jié)點固定與某些特定請求的服務(wù)映射,例如監(jiān)測固定設(shè)備的故障情況和預(yù)測預(yù)警等,這些服務(wù)在固定霧節(jié)點中執(zhí)行。霧級服務(wù)是針對具有一定計算量的半實時類應(yīng)用,這些服務(wù)由霧管理節(jié)點進行統(tǒng)一調(diào)度分配。例如工廠設(shè)備監(jiān)控中心向霧管理節(jié)點設(shè)備請求對某些設(shè)備進行性能評估或工廠內(nèi)智能機器人等智能終端請求工業(yè)數(shù)據(jù)查詢與下載服務(wù),以及工廠內(nèi)智能機器人等智能終端請求定位等。云級服務(wù)是針對必須在云數(shù)據(jù)中心執(zhí)行的超大計算量的非實時類應(yīng)用,例如市場分析和企業(yè)決策等。本發(fā)明的iot基礎(chǔ)設(shè)施子系統(tǒng)包括傳感器節(jié)點、終端設(shè)備及被控終端;所述傳感器節(jié)點,用于采集地理分布式的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù);所述終端設(shè)備,用于向霧計算子系統(tǒng)發(fā)送任務(wù)請求;所述被控終端,用于接收霧計算子系統(tǒng)返回的控制指令。iot基礎(chǔ)設(shè)施子系統(tǒng)中傳感器節(jié)點采集地理分布式的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù),并將數(shù)據(jù)發(fā)送給與之相連的霧節(jié)點。iot基礎(chǔ)設(shè)施層中的工業(yè)機器人和其他智能終端,發(fā)送任務(wù)請求給霧計算層,并接收請求結(jié)果。iot基礎(chǔ)設(shè)施層中的受控終端接收霧計算層發(fā)來的相關(guān)控制指令。本發(fā)明的霧計算子系統(tǒng)由具有一定計算和存儲能力的邊緣霧網(wǎng)絡(luò)設(shè)備互連組成,其中霧網(wǎng)絡(luò)設(shè)備包括如交換機、路由器等傳統(tǒng)硬件設(shè)備,以及利用網(wǎng)絡(luò)功能虛擬化(nfv)技術(shù)運行在通用服務(wù)器上的虛擬網(wǎng)絡(luò)功能(vnfs)。霧計算子系統(tǒng)以霧群為單位劃分為多個霧群。霧群是指一部分霧網(wǎng)絡(luò)設(shè)備互連組成的群體,其劃分依據(jù)為:以容量c為閾值,即霧群中霧資源的最大容量,同時考慮區(qū)域內(nèi)霧資源的分布特點及其密度。從霧群中,選擇一個功能最強的霧節(jié)點作為該霧群的霧管理節(jié)點,并保證霧管理節(jié)點與霧群中的所有霧節(jié)點相連,同時該霧管理節(jié)點也作為該霧群的網(wǎng)關(guān)節(jié)點,即霧節(jié)點通過網(wǎng)關(guān)節(jié)點與外網(wǎng)的云數(shù)據(jù)中心通信。霧管理節(jié)點是能力較強的邊緣網(wǎng)關(guān)設(shè)備,其功能是管理霧群中所有霧節(jié)點,接收iot基礎(chǔ)設(shè)施子系統(tǒng)發(fā)送的任務(wù)請求并進行統(tǒng)一調(diào)度,為任務(wù)請求分配合適的霧資源。霧節(jié)點是具有一定計算、網(wǎng)絡(luò)、存儲資源的邊緣設(shè)備或nfv節(jié)點,其功能是控制和監(jiān)視底層iot設(shè)備,接收底層工業(yè)數(shù)據(jù)并進行預(yù)處理及存儲;接收霧管理節(jié)點分配的任務(wù)請求,本地執(zhí)行任務(wù),或者將工業(yè)數(shù)據(jù)發(fā)送給其他霧節(jié)點。霧節(jié)點通過單跳低延遲無線鏈路與鄰近的底層iot設(shè)備通信。霧計算子系統(tǒng)接收傳感器發(fā)來的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù),并進行數(shù)據(jù)預(yù)處理。霧計算子系統(tǒng)根據(jù)不同的服務(wù),有不同的執(zhí)行方式。一級服務(wù)為固定霧節(jié)點上的如故障檢測等特定請求,這些實時類應(yīng)用固定部署在霧節(jié)點,用于監(jiān)測固定工業(yè)設(shè)備和環(huán)境。霧節(jié)點會根據(jù)計算結(jié)果將控制指令發(fā)送給被控終端。云級服務(wù)為必須在云數(shù)據(jù)中心執(zhí)行的超大計算量的非實時類應(yīng)用,例如市場分析和企業(yè)決策等。云級服務(wù)固定部署在云數(shù)據(jù)中心,霧計算子系統(tǒng)將云級服務(wù)相關(guān)數(shù)據(jù)進行預(yù)處理后發(fā)送給云數(shù)據(jù)中心。霧級服務(wù)部署在霧節(jié)點上,由霧管理節(jié)點進行統(tǒng)一調(diào)度分配,以達到霧資源協(xié)同工作,提高效率和資源利用率。這些服務(wù)不對時延有嚴格要求,霧計算子系統(tǒng)也能處理其計算復雜度要求。霧管理節(jié)點收集所有霧級服務(wù)請求,并進行周期性地統(tǒng)一調(diào)度分配,霧節(jié)點接收調(diào)度指令,將任務(wù)相關(guān)數(shù)據(jù)交與其他霧節(jié)點。云計算子系統(tǒng)由高性能的服務(wù)器集群組成,具有強大的計算及存儲能力;其功能是提供云存儲,云計算,大數(shù)據(jù)分析等高容量、高延遲服務(wù)請求。本發(fā)明針對上述云霧計算系統(tǒng)提出了一種基于自適應(yīng)遺傳算法的霧資源調(diào)度方法,能夠同時在任務(wù)執(zhí)行的時延性能和霧通信資源的開銷方面有良好的表現(xiàn)。如圖3所示,為本發(fā)明實施例中計算資源分配流程示意圖,包括以下步驟:a、將資源調(diào)度問題中的霧節(jié)點的網(wǎng)絡(luò)拓撲圖、任務(wù)請求集合和調(diào)度問題描述公式化表示,建立資源分配矩陣和雙適應(yīng)度函數(shù);b、初始化自適應(yīng)遺傳算法的種群規(guī)模和最大迭代次數(shù),設(shè)置種群迭代結(jié)束條件,建立染色體編解碼方案;c、對種群進行初始化;d、根據(jù)適應(yīng)度函數(shù)計算當前種群每條染色體的適應(yīng)度值;e、分別通過選擇算子、交叉算子和變異算子對種群的遺傳進行搜索;f、判斷當前種群是否滿足種群迭代結(jié)束條件;若是則完成計算資源分配;若否則返回步驟d。在步驟a中,霧節(jié)點的網(wǎng)絡(luò)拓撲圖公式化表示為fg=(f,d)其中,f為為頂點集合,表示所有霧節(jié)點集合,即f={f1,f2...fn},fi表示第i個霧節(jié)點,每個霧節(jié)點的處理速率為fpi;d為邊集合,表示霧節(jié)點之間鏈路集合,即d={b12,b13...bij},bij表示霧節(jié)點fi與霧節(jié)點fj之間的鏈路帶寬,0表示鏈路不可達。任務(wù)請求集合公式化表示為r={r1,r2...rm}其中,ri為第i個任務(wù)請求;每個任務(wù)請求具有三元屬性(rwi,rci,si),rwi表示任務(wù)請求ri的工作負載(計算量),rci表示任務(wù)請求ri的通信負載(通信量),si表示任務(wù)請求ri的數(shù)據(jù)來源節(jié)點。問題描述為給定輸入為霧節(jié)點的網(wǎng)絡(luò)拓撲圖fg和任務(wù)請求集合r,調(diào)度程序給出合適的資源調(diào)度表,即任務(wù)與霧資源的一一映射。將調(diào)度目標進行公式化,資源分配矩陣為其中,alc為為m*n的任務(wù)分配矩陣,alij取值為0或1,alij=1表示任務(wù)請求ri分配給霧節(jié)點fj執(zhí)行,alij=0表示任務(wù)請求ri不分配給霧節(jié)點fj執(zhí)行。最大完成時間表示為通信開銷表示為在步驟b中,本發(fā)明基于自適應(yīng)遺傳算法進行霧資源調(diào)度,借鑒生物進化論中遺傳、突變、自然選擇以及雜交等生物現(xiàn)象進行種群優(yōu)化,尋找最優(yōu)個體;將種群中的個體(染色體)作為一個解,采用雙適應(yīng)度函數(shù)評價個體的優(yōu)劣。遺傳操作主要分為選擇、交叉和變異三種算子,在選擇操作過程中采用輪盤賭方法,在進行優(yōu)勝劣汰的同時也能保持基因的多樣性。在交叉操作過程中,采用傳統(tǒng)單點交叉法,并引入自適應(yīng)機制,其隨機性保持了個體多樣性、避免搜索陷入局部最優(yōu),很好地保護較優(yōu)體從而對全局最優(yōu)值進行自適應(yīng)定位,滿足快速尋優(yōu)的能力。在變異操作過程中,同樣引入自適應(yīng)機制,對種群中個體的變異概率作自適應(yīng)變化,在增加種群基因多樣性的同時也能保留良好基因。本發(fā)明初始化種群規(guī)模為s、最大迭代次數(shù)為imax,選擇概率常數(shù)c1和c2,交叉和變異概率的系數(shù)常數(shù)k1和k2、m1和m2,設(shè)置種群迭代結(jié)束條件為:迭代次數(shù)達到最大迭代次數(shù)、最優(yōu)解出現(xiàn)或者迭代時間達到約束時間;染色體編碼方案為:對于一個最優(yōu)化問題,一定數(shù)量的候選解(稱為個體)可抽象表示為染色體。遺傳算法采用對染色體進行編碼的方式,使一個染色體對應(yīng)優(yōu)化問題的一個解。一般的編碼方式有直接編碼和間接編碼。本文采用間接編碼的方式將每一個任務(wù)請求映射給一個霧資源。單個任務(wù)請求對應(yīng)單個霧資源,單個霧資源可對應(yīng)多個任務(wù)請求。染色體中的每一位都用正整數(shù)來表示任務(wù)請求和霧資源的編號。染色體長度為任務(wù)請求總數(shù),染色體上的基因值則相當于分配給該任務(wù)的霧資源編號。染色體的索引值代表任務(wù)請求編號。霧群中,霧節(jié)點總數(shù)為n,任務(wù)請求總數(shù)為m,則染色體編碼方式如表1所示。其中,{n1,n2,n3...nx}為1到n的正整數(shù)。表1染色體編碼方案任務(wù)請求編號r1r2r3…rm霧資源編號n1n2n3…nx染色體解碼方案為:根據(jù)染色體編碼規(guī)則將染色體解碼表示為資源分配矩陣,得到霧節(jié)點分配方案。例如,若某個染色體為{3,2,2,1,3,4},資源分配矩陣表示為則表示霧節(jié)點f1執(zhí)行任務(wù)r4,霧節(jié)點f2執(zhí)行任務(wù)r2和r3,霧節(jié)點f3執(zhí)行任務(wù)r1和r5,霧節(jié)點f4執(zhí)行任務(wù)r6。在步驟c中,初始化s條染色體,一條染色體生成規(guī)則為:由于每個任務(wù)ri都有一個請求來源節(jié)點si,即請求所需的輸入數(shù)據(jù)所在的節(jié)點。于是該條染色體長度為m,基因值為染色體索引值對應(yīng)任務(wù)的來源節(jié)點編號。即每個任務(wù)都在其請求來源節(jié)點上執(zhí)行,即所有任務(wù)都在本地執(zhí)行。這樣該條染色體的通信負載為最優(yōu),但其時間跨度不是最優(yōu)。其余s-1條染色體隨機生成,染色體長度為m,單個基因的隨機值范圍為[1,2,3,…,n],這樣以保證染色體的多樣性,避免局部最優(yōu)。在步驟d中,適應(yīng)度函數(shù)表示:遺傳算法是通過不斷迭代,尋找最優(yōu)個體。在每一代中,都會評價每一個個體,并通過計算適應(yīng)度函數(shù)得到適應(yīng)度數(shù)值。適應(yīng)度數(shù)值越大,代表個體的質(zhì)量越好?;谶m應(yīng)度從當前種群中選擇出后代個體,并通過交叉和變異產(chǎn)生新的生命種群,該種群在算法的下一次迭代中成為當前種群。鑒于霧資源調(diào)度中一個重要指標是時延,且邊緣設(shè)備的通信資源緊缺,那么減少通信負載也是調(diào)度優(yōu)化的重要指標。所以適應(yīng)度函數(shù)的選擇方面考慮了任務(wù)執(zhí)行的最大時間跨度和通信開銷兩方面。將任務(wù)執(zhí)行的最大時間跨度適應(yīng)度函數(shù)表示為:其中,tmax為最大完成時間;根據(jù)染色體解碼出的資源分配矩陣可計算得到最大時間跨度的適應(yīng)度數(shù)值。任務(wù)執(zhí)行的通信開銷適應(yīng)度函數(shù)表示為:其中,cload為通信開銷;根據(jù)染色體解碼出的資源分配矩陣可計算得到通信開銷的適應(yīng)度數(shù)值。在步驟e中,本發(fā)明進行種群的遺傳搜索過程是通過選擇、交叉、變異三種具有生物學意義的遺傳算子來實現(xiàn)的。其中,選擇算子推動種群朝著適應(yīng)度值更高的方向演化,交叉算子模仿自然界有性繁殖的基因重組過程,將原有的優(yōu)良基因遺傳給下一代個體,變異算子是為種群多樣性服務(wù)的,其拓展了新的搜索空間,避免種群過早局部收斂。選擇算子是模擬生物學中優(yōu)勝劣汰的概念,本發(fā)明采用輪盤賭的選擇方式,即各個個體被選中的概率與其適應(yīng)度大小成正比。選擇操作會將優(yōu)秀的基因保留下來,但是不會產(chǎn)生新的基因,具體選擇方式為從當前的種群中,以概率c1和c2分別選擇是以p1(i)還是p2(i)來選擇個體。其中0<c1,c2<1,c1+c2=1,c1和c2代表著對時延和通信開銷的看重程度。然后再以選中的p1(i)或p2(i)為選擇概率,來選擇下一代個體。交叉算子是遺傳算法中主要的搜索算子,它模仿自然界有性繁殖的基因重組過程,將原有的優(yōu)良基因遺傳給下一代個體。主要方式是通過對當前父代個體的染色體基因進行交叉以產(chǎn)生新的個體。本文采用傳統(tǒng)的單點交叉的方式,并引入個體自適應(yīng)的機制,即其交叉的概率隨適應(yīng)度值改變。每個染色體任意兩個相鄰基因位之間設(shè)一個交叉點,從左到右依次為1,2,…,m-1,共m-1個不同的交叉點。單點交叉是在m-1個交叉點中隨機選擇一點,交換兩個染色體自該點以后的所有基因。交叉概率為其中,f1(avg)和f2(avg)分別為最大時間跨度和通信開銷的平均適應(yīng)度值,pchange為兩個個體的交叉概率。兩個交叉的個體會分別有兩個適應(yīng)度數(shù)值,選擇四個適應(yīng)度數(shù)值中最小對應(yīng)的適應(yīng)度函數(shù)作為交叉的標準,即f1(i)和f2(i)中選擇一個作為標準f(i),即f(i)=[f1(i)|f2(i)],f(avg)=[f1(avg)|f2(avg)],f'為兩個個體中較大的f(i),fmax為當代種群中最大的f(i)。其中k1,k2為交叉概率的常系數(shù),0<k1,k2<1。變異算子采用基本位變異,隨機選擇一個新的資源去替換原有的資源。變異會產(chǎn)生新的基因,提供種群多樣性。變異也并引入個體自適應(yīng)的機制,即其變異的概率隨適應(yīng)度值改變。變異概率為其中,pvariation為個體的變異概率。以當前個體較小的適應(yīng)度數(shù)值對應(yīng)的適應(yīng)度函數(shù)作為變異的標準,即f1(i)和f2(i)中選擇一個作為標準f(i),f(i)=[f1(i)|f2(i)],f(avg)=[f1(avg)|f2(avg)],f為f(i)對應(yīng)的適應(yīng)度數(shù)值,fmax為當代種群中較最大的f(i)。其中m1和m2為變異概率的常系數(shù),0<m1,m2<1。本發(fā)明通過選擇算子對種群的遺傳進行搜索具體包括以下分步驟:e11、分別計算種群中每個染色體si的選擇概率p1(i)和p2(i);e12、分別計算種群中每個染色體si的累計概率q1(i)和q2(i);e13、從當前的種群中,以概率c1和c2分別選擇以選擇概率p1(i)或選擇概率p2(i)來選擇個體,其中0<c1,c2<1,c1+c2=1;再以選中的選擇概率p1(i)或選擇概率p2(i)選擇下一代個體,得到下一代種群。上述步驟e13具體包括:s1、在[0,1]之間產(chǎn)生一個均勻分布的偽隨機數(shù)r1,若r1≤c1,則以p1(i)概率來選擇染色體,進行步驟e15;s2、在[0,1]之間產(chǎn)生一個均勻分布的偽隨機數(shù)r1,若c1<r1,則以p2(i)概率來選擇染色體,進行步驟e16;s3、在[0,1]之間產(chǎn)生一個均勻分布的偽隨機數(shù)r2,若r2<q1(1),則選擇染色體1;否則選擇染色體k,滿足q1(k-1)<r2≤q1(k)成立;s4、在[0,1]之間產(chǎn)生一個均勻分布的偽隨機數(shù)r2,若r2<q2(1),則選擇染色體1;否則選擇染色體k,滿足q2(k-1)<r2≤q2(k)成立;s5、重復步驟s1-s4共s次,得到下一代種群。本發(fā)明通過交叉算子和變異算子對種群的遺傳進行搜索具體包括以下分步驟:e21、分別計算種群中每個染色體si對于兩個適應(yīng)度函數(shù)的適應(yīng)度值f1(i)和f2(i),選擇其中較小的適應(yīng)度值作為交叉的標準f(i),計算平均適應(yīng)度值f1(avg)和f2(avg);e22、從種群中任意選擇兩個染色體,計算染色體的交叉概率pchange和變異概率pvariation;e23、在m-1個交叉點中隨機產(chǎn)生一個交叉點,以交叉概率pchange交換兩個染色體自該點以后的所有基因;e24、在m個變異點中隨機產(chǎn)生一個變異點,以變異概率pvariation從{1,2,3,...,n}基因庫中隨機產(chǎn)生一個變異基因替換原有基因;e25、重復步驟e22-e24共s次,完成種群遺傳搜索。本領(lǐng)域的普通技術(shù)人員將會意識到,這里所述的實施例是為了幫助讀者理解本發(fā)明的原理,應(yīng)被理解為本發(fā)明的保護范圍并不局限于這樣的特別陳述和實施例。本領(lǐng)域的普通技術(shù)人員可以根據(jù)本發(fā)明公開的這些技術(shù)啟示做出各種不脫離本發(fā)明實質(zhì)的其它各種具體變形和組合,這些變形和組合仍然在本發(fā)明的保護范圍內(nèi)。當前第1頁12