作為數(shù)據(jù)分發(fā)處理模塊3的第四端,用于與云平臺(tái)進(jìn)行數(shù)據(jù)交互;
[0061]端對(duì)端數(shù)據(jù)傳輸模塊31根據(jù)迀移策略確定終端之間的數(shù)據(jù)分發(fā)方案,具體的完成將需要通過(guò)端對(duì)端傳輸方式傳輸?shù)臄?shù)據(jù)發(fā)送到相鄰的數(shù)據(jù)聚合器的工作;
[0062]數(shù)據(jù)本地處理模塊32根據(jù)迀移策略執(zhí)行需要在本地執(zhí)行的任務(wù)比率;
[0063]云對(duì)端數(shù)據(jù)傳輸模塊33根據(jù)迀移策略確定本地網(wǎng)絡(luò)端與云平臺(tái)端間的數(shù)據(jù)分發(fā)方案,將需要該終端直接傳輸給云平臺(tái)端的數(shù)據(jù)通過(guò)云對(duì)端傳輸方式發(fā)送給云平臺(tái)端。
[0064]如圖2所示,是本發(fā)明實(shí)施例2的代碼迀移方法的工作流程圖,本發(fā)明提供的代碼迀移方法包括以下步驟:
[0065](I)移動(dòng)端網(wǎng)絡(luò)初始化,各終端發(fā)送自身硬件信息至其相鄰終端;其中,硬件信息包括當(dāng)前各終端的蜂窩網(wǎng)絡(luò)開(kāi)/閉情況、數(shù)據(jù)傳輸能力、傳輸單位數(shù)據(jù)所消耗的能量、各終端的相鄰關(guān)系以及需要執(zhí)行的任務(wù)的計(jì)算量;
[0066]在實(shí)施例2中,以包括8個(gè)手機(jī)終端的本地網(wǎng)絡(luò)端為例,終端間的鄰接關(guān)系可用網(wǎng)絡(luò)圖中節(jié)點(diǎn)的連接情況E表示,具體如圖3所示,其中,Li表示各終端數(shù)據(jù)傳輸能力,D 1表示需要執(zhí)行的任務(wù)計(jì)算量;
[0067]用集合T表示蜂窩網(wǎng)絡(luò)處于開(kāi)啟狀態(tài)的終端集合,這些終端可直接與云平臺(tái)端通信;用集合S表示蜂窩網(wǎng)絡(luò)處于關(guān)閉狀態(tài)的終端集合,如果這些終端需要與云端服務(wù)器通信,需要將數(shù)據(jù)先通過(guò)端對(duì)端傳輸方式發(fā)送給相鄰的數(shù)據(jù)聚合器,數(shù)據(jù)聚合器再將收集到的碎片化數(shù)據(jù)集中傳輸給云平臺(tái)端;用集合P來(lái)表示被選為數(shù)據(jù)聚合器的終端集合,這些終端具有網(wǎng)速更快的特點(diǎn),在傳輸相同數(shù)據(jù)的情況下,所消耗的能量更少,被作為數(shù)據(jù)聚合器的終端可接收/發(fā)送其相鄰終端的數(shù)據(jù);
[0068](2)判斷是否所有終端已關(guān)閉蜂窩網(wǎng)絡(luò),即集合T是否為空,若是,則執(zhí)行步驟
(9);若否,則執(zhí)行步驟(3);
[0069](3)分析本地網(wǎng)絡(luò)端所有終端設(shè)備的硬件信息,將所有待確定的參數(shù)視為一個(gè)未知數(shù),將所有終端的硬件信息視為已知數(shù),獲取線性方程組,采用線性規(guī)劃的方法獲取適用于蜂窩網(wǎng)絡(luò)的代碼迀移策略;
[0070]其中,代碼迀移策略是指對(duì)本地網(wǎng)絡(luò)端中各終端需要執(zhí)行的任務(wù)的迀移方案,對(duì)各終端而言,其任務(wù)總比率為1,迀移方案給出了通過(guò)相鄰終端傳輸?shù)臄?shù)據(jù)比率、通過(guò)云對(duì)端傳輸?shù)臄?shù)據(jù)比率、直接本地執(zhí)行的任務(wù)比率。在實(shí)施例2中用矩陣A = [CXij]表示代碼迀移策略,如圖4所示,矩陣中每一行表示每一個(gè)任務(wù)的迀移情況,每一列表示每一個(gè)終端處理數(shù)據(jù)的情況,每一個(gè)值α ^表示任務(wù)i迀移到終端j的任務(wù)比率;其中,矩陣最后一列β列表示任務(wù)i在本地終端i上執(zhí)行的任務(wù)比率;
[0071](4)根據(jù)代碼迀移策略,從本地網(wǎng)絡(luò)端蜂窩網(wǎng)絡(luò)端口處于開(kāi)啟狀態(tài)的終端中選擇云對(duì)端傳輸?shù)臄?shù)據(jù)比率最小的終端,并關(guān)閉該終端設(shè)備的蜂窩網(wǎng)絡(luò)端口 ;從圖4所示矩陣可分析出,第一終端、第三終端、第五終端、第七終端和第八終端的蜂窩網(wǎng)絡(luò)端口已經(jīng)被關(guān)閉,這些終端與云平臺(tái)端之間的數(shù)據(jù)通信量為O ;
[0072](5)從代碼迀移策略中獲取出對(duì)各終端需要執(zhí)行的任務(wù)的分發(fā)與處理方案,進(jìn)行任務(wù)分發(fā)與處理;以實(shí)施例2中第一終端的任務(wù)為例進(jìn)行闡述,在如圖4所示的矩陣中,矩陣A的第I行,即第一終端的75.5%比率的任務(wù)通過(guò)端對(duì)端傳輸方式傳輸給第二終端,而剩余的24.5%比率的任務(wù)通過(guò)端對(duì)端傳輸方式傳輸給第四終端;另一方面,分析被作為數(shù)據(jù)聚合器的第二終端的數(shù)據(jù)傳輸情況,即矩陣A的第2列,第二終端通過(guò)端對(duì)端傳輸方式接收第一終端的75.5%比率的任務(wù)以及第八終端的58.64%比率的任務(wù),再連同第二終端本身的100%比率的任務(wù)聚合之后集中通過(guò)云對(duì)端傳輸方式傳輸給云平臺(tái)端;
[0073]在本發(fā)明實(shí)施例2中,第二終端、第四終端和第六終端具有更佳的網(wǎng)速,因此被作為數(shù)據(jù)聚合器,可接收/發(fā)送其相鄰終端的數(shù)據(jù);云平臺(tái)端與本地終端的運(yùn)算速度相差較大,從矩陣A的最后一列β列可以看出,所有任務(wù)都被迀移到云平臺(tái)端執(zhí)行,本地?cái)?shù)據(jù)處理模塊處理的任務(wù)為O ;
[0074](6)分析當(dāng)前情況下本地網(wǎng)絡(luò)端所有終端設(shè)備執(zhí)行完全部任務(wù)的總能耗;
[0075](7)判斷當(dāng)前代碼迀移策略下的總能耗是否小于前一次代碼迀移策略下的總能耗;若是,則執(zhí)行步驟⑶;若否,則執(zhí)行步驟(9);在本發(fā)明實(shí)施例2中,圖4中矩陣所示的代碼迀移策略已經(jīng)是最優(yōu)迀移方案,因此將執(zhí)行步驟(9);
[0076](8)更新迀移系統(tǒng)中的代碼迀移策略、總能耗,返回執(zhí)行步驟(2);
[0077](9)輸出代碼迀移策略,完成代碼迀移策略的最優(yōu)化;在本發(fā)明實(shí)施例2中,將輸出矩陣Α。
[0078]圖5是本發(fā)明上述代碼迀移方法的數(shù)據(jù)分發(fā)與處理工作流程圖。如圖5所述,本發(fā)明代碼迀移方法中數(shù)據(jù)分發(fā)與處理方法的工作流程包括以下步驟:
[0079](5.1)根據(jù)代碼迀移策略判斷當(dāng)前終端是否有任務(wù)需要迀移,若是,則確定所迀移任務(wù)的比率,并執(zhí)行步驟(5.2);若否,則執(zhí)行步驟(5.8);
[0080](5.2)判斷當(dāng)前終端蜂窩網(wǎng)絡(luò)端口是否處于開(kāi)啟狀態(tài),若是,則執(zhí)行步驟(5.3);若否,則執(zhí)行步驟(5.5);
[0081](5.3)接收相鄰終端發(fā)送過(guò)來(lái)的數(shù)據(jù),并將數(shù)據(jù)進(jìn)行聚合;如圖4所示的矩陣中,以被作為數(shù)據(jù)聚合器的第二終端為例,即矩陣A的第2列,第二終端會(huì)通過(guò)端對(duì)端傳輸方式接收第一終端的75.5%比率的任務(wù)以及第八終端的58.64%比率的任務(wù);
[0082](5.4)根據(jù)代碼迀移策略和本地網(wǎng)絡(luò)端終端相鄰關(guān)系判斷是否已接收到所有相鄰終端所需發(fā)送到云端的數(shù)據(jù),若是,則執(zhí)行步驟(5.7);若否,則執(zhí)行步驟(5.3);
[0083](5.5)將需要迀移的任務(wù)比率通過(guò)端對(duì)端傳輸方式發(fā)送給相鄰的數(shù)據(jù)聚合器;以第一終端的任務(wù)為例,即矩陣A的第I行,第一終端的75.5%比率的任務(wù)將通過(guò)端對(duì)端傳輸方式傳輸給第二終端,而剩余的24.5%比率的任務(wù)會(huì)通過(guò)端對(duì)端傳輸方式傳輸給第四終端;
[0084](5.6)根據(jù)代碼迀移策略判斷是否已將所有需要迀移的任務(wù)發(fā)送給了相鄰的數(shù)據(jù)聚合器,若是,則執(zhí)行步驟(5.8);若否,則執(zhí)行步驟(5.5);
[0085](5.7)將所有接收到的其他相鄰終端的數(shù)據(jù)以及自身需要發(fā)送的數(shù)據(jù)聚合之后集中傳輸?shù)皆破脚_(tái)端;如圖4所示的矩陣中,以第二終端為例,第二終端將75.5%比率的第一終端的任務(wù)、58.64%比率的第八終端的任務(wù)和100%比率的第二終端的任務(wù)聚合,之后通過(guò)云對(duì)端傳輸方式傳輸給云平臺(tái)端,以此減少長(zhǎng)尾能耗出現(xiàn)的次數(shù);
[0086](5.8)根據(jù)代碼迀移策略,處理需要本地執(zhí)行的比率的任務(wù);在本發(fā)明實(shí)施例中,云平臺(tái)端與本地終端的運(yùn)算速度相差較大,從矩陣A的最后一列β列可以看出,所有任務(wù)都被迀移到云平臺(tái)端執(zhí)行,本地?cái)?shù)據(jù)處理模塊處理的任務(wù)為O。
[0087]本發(fā)明實(shí)施例2的代碼迀移方法中,如圖4的矩陣所示的代碼迀移策略中,第1、3、5