一種業(yè)務(wù)調(diào)度的方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種業(yè)務(wù)調(diào)度的方法,應(yīng)用于流計(jì)算系統(tǒng),所述流計(jì)算系統(tǒng)用于調(diào)度并處理業(yè)務(wù),所述流計(jì)算系統(tǒng)包括主控節(jié)點(diǎn)與多個(gè)工作節(jié)點(diǎn);所述主控節(jié)點(diǎn)用于將所述業(yè)務(wù)包含的各個(gè)子業(yè)務(wù)調(diào)度到所述多個(gè)工作節(jié)點(diǎn)進(jìn)行處理,包括:獲取所述業(yè)務(wù)的流式計(jì)算應(yīng)用圖,根據(jù)所述流式計(jì)算應(yīng)用圖中算子的算子度和算子勢,以及對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割的分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割,得到所述分割數(shù)量的分割子圖,將每個(gè)所述分割子圖中包含的算子對(duì)應(yīng)的子業(yè)務(wù),調(diào)度到與所述分割子圖對(duì)應(yīng)的工作節(jié)點(diǎn)上進(jìn)行處理。本發(fā)明實(shí)施例提供的方法,可以使業(yè)務(wù)均衡的得到物理資源和網(wǎng)絡(luò)資源,提高了物理資源和網(wǎng)絡(luò)資源的利用率。
【專利說明】
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,具體涉及一種業(yè)務(wù)調(diào)度的方法,裝置及系統(tǒng)。 -種業(yè)務(wù)調(diào)度的方法、裝置及系統(tǒng)
【背景技術(shù)】
[0002] 實(shí)時(shí)流計(jì)算是指數(shù)據(jù)出現(xiàn)時(shí)便立刻對(duì)其進(jìn)行處理,發(fā)生一個(gè)事件進(jìn)行一次處理, 而不是緩存起來成一批處理。例如商用搜索引擎。
[0003] 流式計(jì)算應(yīng)用模型由算子和流組成,其中算子(operator)是承載業(yè)務(wù)邏輯的數(shù) 據(jù)處理單元,可被流計(jì)算平臺(tái)分布式調(diào)度執(zhí)行的最小單元,而流(stream)則是算子間交互 的數(shù)據(jù)。
[0004] 基于流式數(shù)據(jù)處理模型編寫的業(yè)務(wù)應(yīng)用經(jīng)過流計(jì)算系統(tǒng)的主控節(jié)點(diǎn)調(diào)度后,會(huì)在 流計(jì)算平臺(tái)上分布式運(yùn)行,流計(jì)算平臺(tái)包括主控節(jié)點(diǎn)和運(yùn)行業(yè)務(wù)的物理節(jié)點(diǎn)。
[0005] 流處理系統(tǒng)的調(diào)度主要圍繞三個(gè)核心要素:
[0006] 1、業(yè)務(wù)模型(運(yùn)行在流計(jì)算平臺(tái)上的業(yè)務(wù)應(yīng)用,拓?fù)鋱D)。
[0007] 2、物理資源(平臺(tái)集群中的物理節(jié)點(diǎn)內(nèi)存、CPU等計(jì)算資源)。
[0008] 3、網(wǎng)絡(luò)傳輸資源(平臺(tái)集群中的網(wǎng)絡(luò)吞吐與帶寬資源)。
[0009] 以上三者會(huì)相互影響與干涉,業(yè)務(wù)模型的分配會(huì)決定物理資源使用的多少;物理 資源使用的多少會(huì)影響網(wǎng)絡(luò)傳輸?shù)臅r(shí)延;網(wǎng)絡(luò)傳輸?shù)臅r(shí)延又會(huì)影響到任務(wù)執(zhí)行的效率。 [0010] 當(dāng)前業(yè)界已存在的流計(jì)算系統(tǒng)基本是隨機(jī)將任務(wù)調(diào)度到物理資源上,沒有兼顧以 上三要素進(jìn)行流式應(yīng)用的調(diào)度,導(dǎo)致業(yè)務(wù)部署到平臺(tái)上運(yùn)行時(shí)存在資源使用不均衡。
【發(fā)明內(nèi)容】
[0011] 本發(fā)明實(shí)施例提供一種業(yè)務(wù)調(diào)度的方法,可以使業(yè)務(wù)均衡的分布到工作節(jié)點(diǎn)上, 從而均衡的得到物理資源和網(wǎng)絡(luò)資源,提高了物理資源和網(wǎng)絡(luò)資源的利用率。本發(fā)明實(shí)施 例還提供了相應(yīng)的裝置及系統(tǒng)。
[0012] 本發(fā)明第一方面提供一種業(yè)務(wù)調(diào)度的方法,應(yīng)用于流計(jì)算系統(tǒng),所述流計(jì)算系統(tǒng) 用于調(diào)度并處理業(yè)務(wù),所述流計(jì)算系統(tǒng)包括主控節(jié)點(diǎn)與多個(gè)工作節(jié)點(diǎn);所述主控節(jié)點(diǎn)用于 將所述業(yè)務(wù)包含的各個(gè)子業(yè)務(wù)調(diào)度到所述多個(gè)工作節(jié)點(diǎn)進(jìn)行處理,包括 :
[0013] 獲取所述業(yè)務(wù)的流式計(jì)算應(yīng)用圖,所述流式計(jì)算應(yīng)用圖為針對(duì)所述業(yè)務(wù)預(yù)先建立 的包含算子和算子間數(shù)據(jù)流走向的邏輯關(guān)系圖,所述流式計(jì)算應(yīng)用圖中的算子承載有用于 處理所述業(yè)務(wù)中的與所述算子對(duì)應(yīng)的子業(yè)務(wù)的計(jì)算邏輯;
[0014] 根據(jù)所述流式計(jì)算應(yīng)用圖中算子的算子度和算子勢,以及對(duì)所述流式計(jì)算應(yīng)用圖 進(jìn)行分割的分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割,得到所述分割數(shù)量的分割子圖,所 述算子度為所述算子進(jìn)出流量的流量權(quán)值累加和,所述算子勢為所述算子在所述流式計(jì)算 應(yīng)用圖中的負(fù)載度;
[0015] 將每個(gè)所述分割子圖中包含的算子對(duì)應(yīng)的子業(yè)務(wù),調(diào)度到與所述分割子圖對(duì)應(yīng)的 工作節(jié)點(diǎn)上進(jìn)行處理。
[0016] 結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述流式計(jì)算應(yīng)用圖中算 子的算子度和算子勢,以及對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割的分割數(shù)量,對(duì)所述流式計(jì)算 應(yīng)用圖進(jìn)行分割之前,所述方法還包括:
[0017] 確定處理所述流式計(jì)算應(yīng)用圖所針對(duì)的業(yè)務(wù)所需要的工作節(jié)點(diǎn)的個(gè)數(shù);
[0018] 根據(jù)處理所述業(yè)務(wù)所需要的工作節(jié)點(diǎn)的個(gè)數(shù),確定所述分割數(shù)量。
[0019] 結(jié)合第一方面或第一方面第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中, 所述根據(jù)所述流式計(jì)算應(yīng)用圖中算子的算子度和算子勢,以及對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行 分割的分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割,包括:
[0020] 根據(jù)所述算子的算子度和所述分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行第一次分 害!],得到第一次分割圖;
[0021] 根據(jù)所述算子勢對(duì)所述第一次分割圖進(jìn)行第二次分割,得到所述分割子圖。
[0022] 結(jié)合第一方面第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述根據(jù)所 述算子的算子度和所述分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行第一次分割,得到第一次分 割圖,包括:
[0023] 根據(jù)所述算子的算子度和所述分割數(shù)量,確定個(gè)數(shù)與所述分割數(shù)量相同的中心算 子,所述中心算子的算子度至少大于一個(gè)與之相連的算子的算子度;
[0024] 以各個(gè)所述中心算子作為遍歷的起點(diǎn),逐層遍歷除所述中心算子之外的其他算 子,直到遍歷到除所述中心算子之外的其他中心算子或搖擺算子,所述搖擺算子為以相鄰 兩中心算子為起點(diǎn)遍歷時(shí)同時(shí)被遍歷到的算子;
[0025] 將從所述中心算子開始,到遍歷到所述其他中心算子或所述搖擺算子之前所遍歷 到的算子劃分到所述第一次分割圖。
[0026] 結(jié)合第一方面第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述根據(jù)所 述算子的算子度和所述分割數(shù)量,確定個(gè)數(shù)與所述分割數(shù)量相同的中心算子,包括:
[0027] 根據(jù)所述算子的算子度確定所述流式計(jì)算應(yīng)用圖中的核心算子和普通算子,所述 核心算子的算子度高于與之連接的算子的算子度,所述普通算子為所述流式計(jì)算應(yīng)用圖中 除掉所述核心算子之外的算子;
[0028] 根據(jù)所述分割數(shù)量,從所述核心算子中確定個(gè)數(shù)與所述分割數(shù)量相同的中心算 子,或者,從所述核心算子與所述普通算子的組合中確定個(gè)數(shù)與所述分割數(shù)量相同的中心 算子。
[0029] 結(jié)合第一方面第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述從所述 核心算子中確定個(gè)數(shù)與所述分割數(shù)量相同的中心算子,包括 :
[0030] 當(dāng)所述核心算子的數(shù)量不小于所述中心算子的數(shù)量時(shí),選擇算子度最大的所述分 割數(shù)量的核心算子作為所述中心算子。
[0031] 結(jié)合第一方面第四種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述從所述 核心算子與所述普通算子的組合中確定個(gè)數(shù)與所述分割數(shù)量相同的中心算子,包括 :
[0032] 當(dāng)所述核心算子的數(shù)量小于所述中心算子的數(shù)量時(shí),選擇算子度最大的普通算子 作為所述核心算子提供不足部分的所述中心算子。
[0033] 結(jié)合第一方面第三至第六種可能的實(shí)現(xiàn)方式中的任意一種,在第七種可能的實(shí)現(xiàn) 方式中,所述根據(jù)所述算子勢對(duì)所述第一次分割圖進(jìn)行第二次分割,得到所述分割子圖,包 括:
[0034] 確定所述第一次分割圖的圖分區(qū)勢,所述圖分區(qū)勢為所述第一次分割圖中算子的 算子勢的累加和;
[0035] 根據(jù)相鄰第一次分割圖之間的搖擺算子的算子勢和所述相鄰第一次分割圖的圖 分區(qū)勢,確定所述搖擺算子應(yīng)劃入的第一次分割圖,得到所述分割子圖。
[0036] 結(jié)合第一方面、第一方面第一至第七種可能的實(shí)現(xiàn)方式中的任意一種,在第八種 可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0037] 計(jì)算圖分區(qū)負(fù)載,所述圖分區(qū)負(fù)載為所述分割子圖中算子的負(fù)載之和;
[0038] 根據(jù)所述圖分區(qū)負(fù)載計(jì)算負(fù)載誤差值;
[0039] 在所述負(fù)載誤差值大于預(yù)置的第一檢驗(yàn)閥值時(shí),將所述分割子圖中的搖擺算子調(diào) 整到所述負(fù)載誤差值最小的分割子圖中,得到調(diào)整后的分割子圖;
[0040] 所述將每個(gè)所述分割子圖中包含的算子對(duì)應(yīng)的子業(yè)務(wù),調(diào)度到與所述分割子圖對(duì) 應(yīng)的工作節(jié)點(diǎn)上進(jìn)行處理,包括:
[0041] 將每個(gè)所述調(diào)整后的分割子圖中包含的算子對(duì)應(yīng)的子業(yè)務(wù),調(diào)度到與所述調(diào)整后 的分割子圖對(duì)應(yīng)的工作節(jié)點(diǎn)上進(jìn)行處理。
[0042] 結(jié)合第一方面、第一方面第一至第七種可能的實(shí)現(xiàn)方式中的任意一種,在第九種 可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0043] 計(jì)算圖分區(qū)網(wǎng)絡(luò)入流、出流、入度和出度,所述圖分區(qū)網(wǎng)絡(luò)入流為所述分割子圖中 跨物理節(jié)點(diǎn)接收數(shù)據(jù)流的算子的入流,所述圖分區(qū)網(wǎng)絡(luò)出流為所述分割子圖中跨物理節(jié)點(diǎn) 發(fā)送數(shù)據(jù)流的算子的出流,所述圖分區(qū)網(wǎng)絡(luò)入度為所述分割子圖中跨物理節(jié)點(diǎn)接收數(shù)據(jù)流 的算子的接收數(shù)據(jù)流的路數(shù),所述圖分區(qū)網(wǎng)絡(luò)出度為所述分割子圖中跨物理節(jié)點(diǎn)發(fā)送數(shù)據(jù) 流的算子的發(fā)送數(shù)據(jù)流的路數(shù);
[0044] 根據(jù)所述圖分區(qū)網(wǎng)絡(luò)入流、出流、入度和出度,計(jì)算流量誤差值;
[0045] 在所述流量誤差值大于預(yù)置的第二檢驗(yàn)閥值時(shí),將所述分割子圖中的搖擺算子調(diào) 整到所述流量誤差值最小的分割子圖中,得到調(diào)整后的分割子圖;
[0046] 所述將每個(gè)所述分割子圖中包含的算子對(duì)應(yīng)的子業(yè)務(wù),調(diào)度到與所述分割子圖對(duì) 應(yīng)的工作節(jié)點(diǎn)上進(jìn)行處理,包括:
[0047] 將每個(gè)所述調(diào)整后的分割子圖中包含的算子對(duì)應(yīng)的子業(yè)務(wù),調(diào)度到與所述調(diào)整后 的分割子圖對(duì)應(yīng)的工作節(jié)點(diǎn)上進(jìn)行處理。
[0048] 本發(fā)明第二方面提供一種業(yè)務(wù)調(diào)度的裝置,應(yīng)用于流計(jì)算系統(tǒng),所述流計(jì)算系統(tǒng) 用于調(diào)度并處理業(yè)務(wù),所述流計(jì)算系統(tǒng)包括主控節(jié)點(diǎn)與多個(gè)工作節(jié)點(diǎn);所述主控節(jié)點(diǎn)用于 將所述業(yè)務(wù)包含的各個(gè)子業(yè)務(wù)調(diào)度到所述多個(gè)工作節(jié)點(diǎn)進(jìn)行處理,所述裝置包括:
[0049] 獲取單元,用于獲取所述業(yè)務(wù)的流式計(jì)算應(yīng)用圖,所述流式計(jì)算應(yīng)用圖為針對(duì)所 述業(yè)務(wù)預(yù)先建立的包含算子和算子間數(shù)據(jù)流走向的邏輯關(guān)系圖,所述流式計(jì)算應(yīng)用圖中的 算子承載有用于處理所述業(yè)務(wù)中的與所述算子對(duì)應(yīng)的子業(yè)務(wù)的計(jì)算邏輯;
[0050] 分割單元,用于根據(jù)所述獲取單元獲取的所述流式計(jì)算應(yīng)用圖中算子的算子度和 算子勢,以及對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割的分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分 害I],得到所述分割數(shù)量的分割子圖,所述算子度為所述算子進(jìn)出流量的流量權(quán)值累加和,所 述算子勢為所述算子在所述流式計(jì)算應(yīng)用圖中的負(fù)載度;
[0051] 調(diào)度單元,用于將每個(gè)所述分割單元分割得到的分割子圖中包含的算子對(duì)應(yīng)的子 業(yè)務(wù),調(diào)度到與所述分割子圖對(duì)應(yīng)的工作節(jié)點(diǎn)上進(jìn)行處理。
[0052] 結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:
[0053] 確定單元,用于在所述分割單元對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割之前,確定處理 所述流式計(jì)算應(yīng)用圖所針對(duì)的業(yè)務(wù)所需要的工作節(jié)點(diǎn)的個(gè)數(shù),根據(jù)處理所述業(yè)務(wù)所需要的 工作節(jié)點(diǎn)的個(gè)數(shù),確定所述分割數(shù)量。
[0054] 結(jié)合第二方面或第二方面第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中, 所述分割單元包括:
[0055] 第一分割子單元,用于根據(jù)所述算子的算子度和所述分割數(shù)量,對(duì)所述流式計(jì)算 應(yīng)用圖進(jìn)行第一次分割,得到第一次分割圖;
[0056] 第二分割子單元,用于根據(jù)所述算子勢對(duì)所述第一分割子單元分割得到的所述第 一次分割圖進(jìn)行第二次分割,得到所述分割子圖。
[0057] 結(jié)合第二方面第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述第一分 割子單元包括:
[0058] 確定子單元,用于根據(jù)所述算子的算子度和所述分割數(shù)量,確定個(gè)數(shù)與所述分割 數(shù)量相同的中心算子,所述中心算子的算子度至少大于一個(gè)與之相連的算子的算子度;
[0059] 遍歷子單元,用于以所述確定子單元確定的各個(gè)所述中心算子作為遍歷的起點(diǎn), 逐層遍歷除所述中心算子之外的其他算子,直到遍歷到除所述中心算子之外的其他中心算 子或搖擺算子,所述搖擺算子為以相鄰兩中心算子為起點(diǎn)遍歷時(shí)同時(shí)被遍歷到的算子;
[0060] 劃分子單元,用于將從所述中心算子開始,到所述遍歷子單元遍歷到所述其他中 心算子或所述搖擺算子之前所遍歷到的算子劃分到所述第一次分割圖。
[0061] 結(jié)合第二方面第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,
[0062] 所述確定子單元,具體用于:
[0063] 根據(jù)所述算子的算子度確定所述流式計(jì)算應(yīng)用圖中的核心算子和普通算子,所述 核心算子的算子度高于與之連接的算子的算子度,所述普通算子為所述流式計(jì)算應(yīng)用圖中 除掉所述核心算子之外的算子;
[0064] 根據(jù)所述分割數(shù)量,從所述核心算子中確定個(gè)數(shù)與所述分割數(shù)量相同的中心算 子,或者,從所述核心算子與所述普通算子的組合中確定個(gè)數(shù)與所述分割數(shù)量相同的中心 算子。
[0065] 結(jié)合第二方面第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,
[0066] 所述確定子單元,具體用于當(dāng)所述核心算子的數(shù)量不小于所述中心算子的數(shù)量 時(shí),選擇算子度最大的所述分割數(shù)量的核心算子作為所述中心算子。
[0067] 結(jié)合第二方面第四種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,
[0068] 所述確定子單元,具體用于當(dāng)所述核心算子的數(shù)量小于所述中心算子的數(shù)量時(shí), 選擇算子度最大的普通算子作為所述核心算子提供不足部分的所述中心算子。
[0069] 結(jié)合第二方面第三至第六種可能的實(shí)現(xiàn)方式中的任意一種,在第七種可能的實(shí)現(xiàn) 方式中,
[0070] 所述第二分割子單元,具體用于:
[0071] 確定所述第一次分割圖的圖分區(qū)勢,所述圖分區(qū)勢為所述第一次分割圖中算子的 算子勢的累加和;
[0072] 根據(jù)相鄰第一次分割圖之間的搖擺算子的算子勢和所述相鄰第一次分割圖的圖 分區(qū)勢,確定所述搖擺算子應(yīng)劃入的第一次分割圖,得到所述分割子圖。
[0073] 結(jié)合第二方面、第二方面第一至第七種可能的實(shí)現(xiàn)方式中的任意一種,在第八種 可能的實(shí)現(xiàn)方式中,所述裝置還包括:第一計(jì)算單元和第一調(diào)整單元,
[0074] 所述第一計(jì)算單元,用于計(jì)算圖分區(qū)負(fù)載,所述圖分區(qū)負(fù)載為所述分割子圖中算 子的負(fù)載之和,根據(jù)所述圖分區(qū)負(fù)載計(jì)算負(fù)載誤差值;
[0075] 所述第一調(diào)整單元,用于在所述第一計(jì)算單元計(jì)算的所述負(fù)載誤差值大于預(yù)置的 第一檢驗(yàn)閥值時(shí),將所述分割子圖中的搖擺算子調(diào)整到所述負(fù)載誤差值最小的分割子圖 中,得到調(diào)整后的分割子圖;
[0076] 所述調(diào)度單元,用于將每個(gè)所述第一調(diào)整單元調(diào)整后的分割子圖中包含的算子對(duì) 應(yīng)的子業(yè)務(wù),調(diào)度到與所述調(diào)整后的分割子圖對(duì)應(yīng)的工作節(jié)點(diǎn)上進(jìn)行處理。
[0077] 結(jié)合第二方面、第二方面第一至第七種可能的實(shí)現(xiàn)方式中的任意一種,在第九種 可能的實(shí)現(xiàn)方式中,所述裝置還包括:第二計(jì)算單元和第二調(diào)整單元,
[0078] 所述第二計(jì)算單元,用于計(jì)算圖分區(qū)網(wǎng)絡(luò)入流、出流、入度和出度,所述圖分區(qū)網(wǎng) 絡(luò)入流為所述分割子圖中跨物理節(jié)點(diǎn)接收數(shù)據(jù)流的算子的入流,所述圖分區(qū)網(wǎng)絡(luò)出流為所 述分割子圖中跨物理節(jié)點(diǎn)發(fā)送數(shù)據(jù)流的算子的出流,所述圖分區(qū)網(wǎng)絡(luò)入度為所述分割子圖 中跨物理節(jié)點(diǎn)接收數(shù)據(jù)流的算子的接收數(shù)據(jù)流的路數(shù),所述圖分區(qū)網(wǎng)絡(luò)出度為所述分割子 圖中跨物理節(jié)點(diǎn)發(fā)送數(shù)據(jù)流的算子的發(fā)送數(shù)據(jù)流的路數(shù),根據(jù)所述圖分區(qū)網(wǎng)絡(luò)入流、出流、 入度和出度,計(jì)算流量誤差值;
[0079] 所述第二調(diào)整單元,用于在所述第二計(jì)算單元計(jì)算出的所述流量誤差值大于預(yù)置 的第二檢驗(yàn)閥值時(shí),將所述分割子圖中的搖擺算子調(diào)整到所述流量誤差值最小的分割子圖 中,得到調(diào)整后的分割子圖;
[0080] 所述調(diào)度單元,用于將每個(gè)所述第二調(diào)整單元調(diào)整后的分割子圖中包含的算子對(duì) 應(yīng)的子業(yè)務(wù),調(diào)度到與所述調(diào)整后的分割子圖對(duì)應(yīng)的工作節(jié)點(diǎn)上進(jìn)行處理。
[0081] 本發(fā)明第三方面提供一種流計(jì)算系統(tǒng),所述流計(jì)算系統(tǒng)用于調(diào)度并處理業(yè)務(wù),所 述流計(jì)算系統(tǒng)包括主控節(jié)點(diǎn)與多個(gè)工作節(jié)點(diǎn);所述主控節(jié)點(diǎn)用于將所述業(yè)務(wù)包含的各個(gè)子 業(yè)務(wù)調(diào)度到所述多個(gè)工作節(jié)點(diǎn)進(jìn)行處理,
[0082] 所述主控節(jié)點(diǎn),用于:
[0083] 獲取所述業(yè)務(wù)的流式計(jì)算應(yīng)用圖,所述流式計(jì)算應(yīng)用圖為針對(duì)所述業(yè)務(wù)預(yù)先建立 的包含算子和算子間數(shù)據(jù)流走向的邏輯關(guān)系圖,所述流式計(jì)算應(yīng)用圖中的算子承載有用于 處理所述業(yè)務(wù)中的與所述算子對(duì)應(yīng)的子業(yè)務(wù)的計(jì)算邏輯;
[0084] 根據(jù)所述流式計(jì)算應(yīng)用圖中算子的算子度和算子勢,以及對(duì)所述流式計(jì)算應(yīng)用圖 進(jìn)行分割的分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割,得到所述分割數(shù)量的分割子圖,所 述算子度為所述算子進(jìn)出流量的流量權(quán)值累加和,所述算子勢為所述算子在所述流式計(jì)算 應(yīng)用圖中的負(fù)載度;
[0085] 將每個(gè)所述分割子圖中包含的算子對(duì)應(yīng)的子業(yè)務(wù),調(diào)度到與所述分割子圖對(duì)應(yīng)的 工作節(jié)點(diǎn)上進(jìn)行處理。
[0086] 本發(fā)明實(shí)施例提供的業(yè)務(wù)調(diào)度的方法,根據(jù)所述流式計(jì)算應(yīng)用圖中算子的算子度 和算子勢,以及對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割的分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行 分割,得到分割子圖,;將每個(gè)所述分割子圖中包含的算子對(duì)應(yīng)的子業(yè)務(wù),調(diào)度到與所述分 割子圖對(duì)應(yīng)的工作節(jié)點(diǎn)上進(jìn)行處理。本發(fā)明實(shí)施例綜合調(diào)度過程中涉及的三要素進(jìn)行平衡 圖分割,由于分割的過程中考慮了算子的算子度,因此能獲取盡可能小的網(wǎng)絡(luò)傳輸開銷,同 時(shí),還考了了節(jié)點(diǎn)勢,因此能獲取盡可能優(yōu)的節(jié)點(diǎn)負(fù)載配比,與現(xiàn)有技術(shù)中業(yè)務(wù)部署到流平 臺(tái)上運(yùn)行時(shí)存在資源使用不均衡相比,本發(fā)明實(shí)施例提供的方法,可以使業(yè)務(wù)均衡的得到 物理資源和網(wǎng)絡(luò)資源,提高了物理資源和網(wǎng)絡(luò)資源的利用率。
【專利附圖】
【附圖說明】
[0087] 為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0088] 圖1是本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)度的方法的一實(shí)施例示意圖;
[0089] 圖2是本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)度的方法的另一實(shí)施例示意圖;
[0090] 圖3是本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)度的方法的另一實(shí)施例示意圖;
[0091] 圖4是本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)度的方法的另一實(shí)施例示意圖;
[0092] 圖5是本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)度的方法的另一實(shí)施例示意圖;
[0093] 圖6是本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)度的方法的另一實(shí)施例示意圖;
[0094] 圖7是本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)度的方法的另一實(shí)施例示意圖;
[0095] 圖8是本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)度的裝置的一實(shí)施例示意圖;
[0096] 圖9是本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)度的裝置的另一實(shí)施例示意圖;
[0097] 圖10是本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)度的裝置的另一實(shí)施例示意圖;
[0098] 圖11是本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)度的裝置的另一實(shí)施例示意圖;
[0099] 圖12是本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)度的裝置的另一實(shí)施例示意圖;
[0100] 圖13是本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)度的裝置的另一實(shí)施例示意圖;
[0101] 圖14是本發(fā)明實(shí)施例中業(yè)務(wù)調(diào)度的裝置的另一實(shí)施例示意圖;
[0102] 圖15是本發(fā)明實(shí)施例中流計(jì)算系統(tǒng)的一實(shí)施例示意圖。
【具體實(shí)施方式】
[0103] 本發(fā)明實(shí)施例提供一種業(yè)務(wù)調(diào)度的方法,可以使業(yè)務(wù)均衡的分布到工作節(jié)點(diǎn)上, 從而均衡的得到物理資源和網(wǎng)絡(luò)資源,提高了物理資源和網(wǎng)絡(luò)資源的利用率。本發(fā)明實(shí)施 例還提供了相應(yīng)的裝置及系統(tǒng)。以下分別進(jìn)行詳細(xì)說明。
[0104] 為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的 附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是 本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù) 人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范 圍。
[0105] 本發(fā)明實(shí)施例中的流計(jì)算系統(tǒng)包括:主控節(jié)點(diǎn)和工作節(jié)點(diǎn),在集群部署時(shí),所述主 控節(jié)點(diǎn)和工作節(jié)點(diǎn)都可以有一個(gè)或多個(gè),主控節(jié)點(diǎn)可以是與工作節(jié)點(diǎn)分離的物理節(jié)點(diǎn),在 單機(jī)部署時(shí),主控節(jié)點(diǎn)和工作節(jié)點(diǎn)可以是部署在同一個(gè)物理節(jié)點(diǎn)上的主控邏輯單元。流計(jì) 算系統(tǒng)用于調(diào)度并處理業(yè)務(wù),具體過程是,主控節(jié)點(diǎn)負(fù)責(zé)將業(yè)務(wù)調(diào)度到工作節(jié)點(diǎn)上進(jìn)行處 理。一臺(tái)物理節(jié)點(diǎn)可以包括一個(gè)工作節(jié)點(diǎn),也可以包括多個(gè)工作節(jié)點(diǎn),一臺(tái)物理節(jié)點(diǎn)包括的 工作節(jié)點(diǎn)的數(shù)量取決于該物理節(jié)點(diǎn)的硬件物理資源??梢詫⒁粋€(gè)工作節(jié)點(diǎn)理解為是一份硬 件物理資源。屬于同一臺(tái)物理節(jié)點(diǎn)中的工作節(jié)點(diǎn)間采用進(jìn)程通信的方式進(jìn)行通信,屬于不 同物理節(jié)點(diǎn)中的工作節(jié)點(diǎn)間采用網(wǎng)絡(luò)通信的方式進(jìn)行通信。流計(jì)算系統(tǒng)可以將業(yè)務(wù)調(diào)度到 工作節(jié)點(diǎn)上進(jìn)行處理。針對(duì)運(yùn)行在流計(jì)算系統(tǒng)上的業(yè)務(wù)可以預(yù)先建立流式計(jì)算應(yīng)用圖,所 述流式計(jì)算應(yīng)用圖為針對(duì)所述業(yè)務(wù)預(yù)先建立的包含算子和算子間數(shù)據(jù)流走向的邏輯關(guān)系 圖,所述流式計(jì)算應(yīng)用圖中的算子承載有用于處理所述業(yè)務(wù)中的與所述算子對(duì)應(yīng)的子業(yè)務(wù) 的計(jì)算邏輯。本發(fā)明實(shí)施例中的物理節(jié)點(diǎn)指的是物理設(shè)備。
[0106] 如圖1所示,流計(jì)算系統(tǒng)包括主控節(jié)點(diǎn)、工作節(jié)點(diǎn)1、工作節(jié)點(diǎn)2和工作節(jié)點(diǎn)3。工 作節(jié)點(diǎn)1、工作節(jié)點(diǎn)2屬于物理節(jié)點(diǎn)1,工作節(jié)點(diǎn)3屬于物理節(jié)點(diǎn)2。
[0107] 主控節(jié)點(diǎn)將圖1所示的流式計(jì)算應(yīng)用圖調(diào)度到工作節(jié)點(diǎn)1、工作節(jié)點(diǎn)2和工作節(jié)點(diǎn) 3這三個(gè)工作節(jié)點(diǎn)上進(jìn)行業(yè)務(wù)處理。圖1所示的流式計(jì)算應(yīng)用圖為包含P1至P9的九個(gè)算 子以及這九個(gè)算子之間的數(shù)據(jù)流走向的邏輯關(guān)系圖。
[0108] 被調(diào)度到工作節(jié)點(diǎn)1上的算子PI、P2和P3與被調(diào)度到工作節(jié)點(diǎn)2上的算子P4、 P7和P9之間通過進(jìn)程方式通信,PI、P2和P3,以及P4、P7和P9與被調(diào)度到工作節(jié)點(diǎn)3上 的算子P5、P6、P8之間通過網(wǎng)絡(luò)通信。
[0109] 本發(fā)明實(shí)施例中的流式計(jì)算應(yīng)用圖包括有向無環(huán)圖(Directed Acyclic Graph, DAG)、樹狀圖或者含有環(huán)的圖。
[0110] 在執(zhí)行業(yè)務(wù)調(diào)度的過程中,主控節(jié)點(diǎn)獲取業(yè)務(wù)的流式計(jì)算應(yīng)用圖,所述流式計(jì)算 應(yīng)用圖為針對(duì)所述業(yè)務(wù)預(yù)先建立的包含算子和算子間數(shù)據(jù)流走向的邏輯關(guān)系圖,所述流式 計(jì)算應(yīng)用圖中的算子承載有用于處理所述業(yè)務(wù)中的與所述算子對(duì)應(yīng)的子業(yè)務(wù)的計(jì)算邏輯。 [0111] 所述流式計(jì)算應(yīng)用圖為用戶或開發(fā)人員根據(jù)所述業(yè)務(wù)預(yù)先建立的數(shù)據(jù)流,流式計(jì) 算應(yīng)用圖用于表示流式應(yīng)用的邏輯模型,流式計(jì)算應(yīng)用圖可以參閱圖2進(jìn)行理解,如圖2所 示的流式計(jì)算應(yīng)用圖包括13個(gè)算子,分別從nl到nl3,有13條數(shù)據(jù)流,分別從si到sl3。 圖2中明確標(biāo)出了數(shù)據(jù)流的走向,例如:數(shù)據(jù)流si是從算子nl到算子n2,以及從算子nl到 算子n3的數(shù)據(jù)流,表示數(shù)據(jù)流經(jīng)算子nl邏輯處理后,產(chǎn)生的兩條數(shù)據(jù)流sl,分別進(jìn)入算子 n2和算子n3進(jìn)行邏輯處理。其他數(shù)據(jù)流的流向所表達(dá)的意思與數(shù)據(jù)流si相同,只是所經(jīng) 歷的算子不同,本處不做一一贅述。
[0112] 根據(jù)所述流式計(jì)算應(yīng)用圖中算子的算子度和算子勢,以及對(duì)所述流式計(jì)算應(yīng)用圖 進(jìn)行分割的分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割,得到所述分割數(shù)量的分割子圖,所 述算子度為所述算子進(jìn)出流量的流量權(quán)值累加和,所述算子勢為所述算子在所述流式計(jì)算 應(yīng)用圖中的負(fù)載度。
[0113] 本發(fā)明實(shí)施例中的算子為邏輯處理單元,算子有兩種描述參數(shù),分別為算子負(fù)載 度和進(jìn)出流,算子負(fù)載度可以反映業(yè)務(wù)部署到物理節(jié)點(diǎn)工作節(jié)點(diǎn)后,業(yè)務(wù)按照所述算子的 邏輯運(yùn)行時(shí)所消耗的資源數(shù),算子的負(fù)載度越高,業(yè)務(wù)運(yùn)行時(shí)所消耗的資源數(shù)越多。算子進(jìn) 出流是指算子的入流和出流,例如:算子n2的入流為sl,出流為s2。
[0114] 算子負(fù)載度中的系統(tǒng)算子的算子負(fù)載度是開發(fā)人員在開發(fā)時(shí)給出的,自定義算子 的算子負(fù)載度是用戶參考系統(tǒng)算子的算子負(fù)載度給出的。
[0115] 算子的負(fù)載度與算子的類型有關(guān)系,所以可以參考算子類型給出算子負(fù)載度,流 量權(quán)值與流派發(fā)策略有關(guān)系,所以可以參考流派發(fā)策略給出流量權(quán)值。例如,結(jié)合圖2的算 子和數(shù)據(jù)流,可以參閱表1和表2理解算子的負(fù)載度和數(shù)據(jù)流的流量權(quán)值。表1為算子負(fù) 載度表,表2為數(shù)據(jù)流的流量權(quán)值表。
[0116] 表1:算子負(fù)載度表
[0117]
[0118]
【權(quán)利要求】
1. 一種業(yè)務(wù)調(diào)度的方法,應(yīng)用于流計(jì)算系統(tǒng),所述流計(jì)算系統(tǒng)用于調(diào)度并處理業(yè)務(wù),所 述流計(jì)算系統(tǒng)包括主控節(jié)點(diǎn)與多個(gè)工作節(jié)點(diǎn);所述主控節(jié)點(diǎn)用于將所述業(yè)務(wù)包含的各個(gè)子 業(yè)務(wù)調(diào)度到所述多個(gè)工作節(jié)點(diǎn)進(jìn)行處理,其特征在于,包括 : 獲取所述業(yè)務(wù)的流式計(jì)算應(yīng)用圖,所述流式計(jì)算應(yīng)用圖為針對(duì)所述業(yè)務(wù)預(yù)先建立的包 含算子和算子間數(shù)據(jù)流走向的邏輯關(guān)系圖,所述流式計(jì)算應(yīng)用圖中的算子承載有用于處理 所述業(yè)務(wù)中的與所述算子對(duì)應(yīng)的子業(yè)務(wù)的計(jì)算邏輯; 根據(jù)所述流式計(jì)算應(yīng)用圖中算子的算子度和算子勢,以及對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行 分割的分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割,得到所述分割數(shù)量的分割子圖,所述算 子度為所述算子進(jìn)出流量的流量權(quán)值累加和,所述算子勢為所述算子在所述流式計(jì)算應(yīng)用 圖中的負(fù)載度; 將每個(gè)所述分割子圖中包含的算子對(duì)應(yīng)的子業(yè)務(wù),調(diào)度到與所述分割子圖對(duì)應(yīng)的工作 節(jié)點(diǎn)上進(jìn)行處理。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述流式計(jì)算應(yīng)用圖中算子的 算子度和算子勢,以及對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割的分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用 圖進(jìn)行分割之前,所述方法還包括: 確定處理所述流式計(jì)算應(yīng)用圖所針對(duì)的業(yè)務(wù)所需要的工作節(jié)點(diǎn)的個(gè)數(shù); 根據(jù)處理所述業(yè)務(wù)所需要的工作節(jié)點(diǎn)的個(gè)數(shù),確定所述分割數(shù)量。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)所述流式計(jì)算應(yīng)用圖中算子 的算子度和算子勢,以及對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割的分割數(shù)量,對(duì)所述流式計(jì)算應(yīng) 用圖進(jìn)行分割,包括: 根據(jù)所述算子的算子度和所述分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行第一次分割,得 到第一次分割圖; 根據(jù)所述算子勢對(duì)所述第一次分割圖進(jìn)行第二次分割,得到所述分割子圖。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述算子的算子度和所述分割 數(shù)量,對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行第一次分割,得到第一次分割圖,包括: 根據(jù)所述算子的算子度和所述分割數(shù)量,確定個(gè)數(shù)與所述分割數(shù)量相同的中心算子, 所述中心算子的算子度至少大于一個(gè)與之相連的算子的算子度; 以各個(gè)所述中心算子作為遍歷的起點(diǎn),逐層遍歷除所述中心算子之外的其他算子,直 到遍歷到除所述中心算子之外的其他中心算子或搖擺算子,所述搖擺算子為以相鄰兩中心 算子為起點(diǎn)遍歷時(shí)同時(shí)被遍歷到的算子; 將從所述中心算子開始,到遍歷到所述其他中心算子或所述搖擺算子之前所遍歷到的 算子劃分到所述第一次分割圖。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述算子的算子度和所述分割 數(shù)量,確定個(gè)數(shù)與所述分割數(shù)量相同的中心算子,包括: 根據(jù)所述算子的算子度確定所述流式計(jì)算應(yīng)用圖中的核心算子和普通算子,所述核心 算子的算子度高于與之連接的算子的算子度,所述普通算子為所述流式計(jì)算應(yīng)用圖中除掉 所述核心算子之外的算子; 根據(jù)所述分割數(shù)量,從所述核心算子中確定個(gè)數(shù)與所述分割數(shù)量相同的中心算子,或 者,從所述核心算子與所述普通算子的組合中確定個(gè)數(shù)與所述分割數(shù)量相同的中心算子。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述從所述核心算子中確定個(gè)數(shù)與所述 分割數(shù)量相同的中心算子,包括: 當(dāng)所述核心算子的數(shù)量不小于所述中心算子的數(shù)量時(shí),選擇算子度最大的所述分割數(shù) 量的核心算子作為所述中心算子。
7. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述從所述核心算子與所述普通算子的 組合中確定個(gè)數(shù)與所述分割數(shù)量相同的中心算子,包括: 當(dāng)所述核心算子的數(shù)量小于所述中心算子的數(shù)量時(shí),選擇算子度最大的普通算子作為 所述核心算子提供不足部分的所述中心算子。
8. 根據(jù)權(quán)利要求4-7任一所述的方法,其特征在于,所述根據(jù)所述算子勢對(duì)所述第一 次分割圖進(jìn)行第二次分割,得到所述分割子圖,包括: 確定所述第一次分割圖的圖分區(qū)勢,所述圖分區(qū)勢為所述第一次分割圖中算子的算子 勢的累加和; 根據(jù)相鄰第一次分割圖之間的搖擺算子的算子勢和所述相鄰第一次分割圖的圖分區(qū) 勢,確定所述搖擺算子應(yīng)劃入的第一次分割圖,得到所述分割子圖。
9. 根據(jù)權(quán)利要求1-8任一所述的方法,其特征在于,所述方法還包括: 計(jì)算圖分區(qū)負(fù)載,所述圖分區(qū)負(fù)載為所述分割子圖中算子的負(fù)載之和; 根據(jù)所述圖分區(qū)負(fù)載計(jì)算負(fù)載誤差值; 在所述負(fù)載誤差值大于預(yù)置的第一檢驗(yàn)閥值時(shí),將所述分割子圖中的搖擺算子調(diào)整到 所述負(fù)載誤差值最小的分割子圖中,得到調(diào)整后的分割子圖; 所述將每個(gè)所述分割子圖中包含的算子對(duì)應(yīng)的子業(yè)務(wù),調(diào)度到與所述分割子圖對(duì)應(yīng)的 工作節(jié)點(diǎn)上進(jìn)行處理,包括: 將每個(gè)所述調(diào)整后的分割子圖中包含的算子對(duì)應(yīng)的子業(yè)務(wù),調(diào)度到與所述調(diào)整后的分 割子圖對(duì)應(yīng)的工作節(jié)點(diǎn)上進(jìn)行處理。
10. 根據(jù)權(quán)利要求1-8任一所述的方法,其特征在于,所述方法還包括: 計(jì)算圖分區(qū)網(wǎng)絡(luò)入流、出流、入度和出度,所述圖分區(qū)網(wǎng)絡(luò)入流為所述分割子圖中跨物 理節(jié)點(diǎn)接收數(shù)據(jù)流的算子的入流,所述圖分區(qū)網(wǎng)絡(luò)出流為所述分割子圖中跨物理節(jié)點(diǎn)發(fā)送 數(shù)據(jù)流的算子的出流,所述圖分區(qū)網(wǎng)絡(luò)入度為所述分割子圖中跨物理節(jié)點(diǎn)接收數(shù)據(jù)流的算 子的接收數(shù)據(jù)流的路數(shù),所述圖分區(qū)網(wǎng)絡(luò)出度為所述分割子圖中跨物理節(jié)點(diǎn)發(fā)送數(shù)據(jù)流的 算子的發(fā)送數(shù)據(jù)流的路數(shù); 根據(jù)所述圖分區(qū)網(wǎng)絡(luò)入流、出流、入度和出度,計(jì)算流量誤差值; 在所述流量誤差值大于預(yù)置的第二檢驗(yàn)閥值時(shí),將所述分割子圖中的搖擺算子調(diào)整到 所述流量誤差值最小的分割子圖中,得到調(diào)整后的分割子圖; 所述將每個(gè)所述分割子圖中包含的算子對(duì)應(yīng)的子業(yè)務(wù),調(diào)度到與所述分割子圖對(duì)應(yīng)的 工作節(jié)點(diǎn)上進(jìn)行處理,包括: 將每個(gè)所述調(diào)整后的分割子圖中包含的算子對(duì)應(yīng)的子業(yè)務(wù),調(diào)度到與所述調(diào)整后的分 割子圖對(duì)應(yīng)的工作節(jié)點(diǎn)上進(jìn)行處理。
11. 一種業(yè)務(wù)調(diào)度的裝置,應(yīng)用于流計(jì)算系統(tǒng),所述流計(jì)算系統(tǒng)用于調(diào)度并處理業(yè)務(wù), 所述流計(jì)算系統(tǒng)包括主控節(jié)點(diǎn)與多個(gè)工作節(jié)點(diǎn);所述主控節(jié)點(diǎn)用于將所述業(yè)務(wù)包含的各個(gè) 子業(yè)務(wù)調(diào)度到所述多個(gè)工作節(jié)點(diǎn)進(jìn)行處理,其特征在于,包括: 獲取單元,用于獲取所述業(yè)務(wù)的流式計(jì)算應(yīng)用圖,所述流式計(jì)算應(yīng)用圖為針對(duì)所述業(yè) 務(wù)預(yù)先建立的包含算子和算子間數(shù)據(jù)流走向的邏輯關(guān)系圖,所述流式計(jì)算應(yīng)用圖中的算子 承載有用于處理所述業(yè)務(wù)中的與所述算子對(duì)應(yīng)的子業(yè)務(wù)的計(jì)算邏輯; 分割單元,用于根據(jù)所述獲取單元獲取的所述流式計(jì)算應(yīng)用圖中算子的算子度和算子 勢,以及對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割的分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割,得 到所述分割數(shù)量的分割子圖,所述算子度為所述算子進(jìn)出流量的流量權(quán)值累加和,所述算 子勢為所述算子在所述流式計(jì)算應(yīng)用圖中的負(fù)載度; 調(diào)度單元,用于將每個(gè)所述分割單元分割得到的分割子圖中包含的算子對(duì)應(yīng)的子業(yè) 務(wù),調(diào)度到與所述分割子圖對(duì)應(yīng)的工作節(jié)點(diǎn)上進(jìn)行處理。
12. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括: 確定單元,用于在所述分割單元對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割之前,確定處理所述 流式計(jì)算應(yīng)用圖所針對(duì)的業(yè)務(wù)所需要的工作節(jié)點(diǎn)的個(gè)數(shù),根據(jù)處理所述業(yè)務(wù)所需要的工作 節(jié)點(diǎn)的個(gè)數(shù),確定所述分割數(shù)量。
13. 根據(jù)權(quán)利要求11或12所述的裝置,其特征在于,所述分割單元包括: 第一分割子單元,用于根據(jù)所述算子的算子度和所述分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用 圖進(jìn)行第一次分割,得到第一次分割圖; 第二分割子單元,用于根據(jù)所述算子勢對(duì)所述第一分割子單元分割得到的所述第一次 分割圖進(jìn)行第二次分割,得到所述分割子圖。
14. 根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述第一分割子單元包括: 確定子單元,用于根據(jù)所述算子的算子度和所述分割數(shù)量,確定個(gè)數(shù)與所述分割數(shù)量 相同的中心算子,所述中心算子的算子度至少大于一個(gè)與之相連的算子的算子度; 遍歷子單元,用于以所述確定子單元確定的各個(gè)所述中心算子作為遍歷的起點(diǎn),逐層 遍歷除所述中心算子之外的其他算子,直到遍歷到除所述中心算子之外的其他中心算子或 搖擺算子,所述搖擺算子為以相鄰兩中心算子為起點(diǎn)遍歷時(shí)同時(shí)被遍歷到的算子; 劃分子單元,用于將從所述中心算子開始,到所述遍歷子單元遍歷到所述其他中心算 子或所述搖擺算子之前所遍歷到的算子劃分到所述第一次分割圖。
15. 根據(jù)權(quán)利要求14所述的裝置,其特征在于, 所述確定子單元,具體用于: 根據(jù)所述算子的算子度確定所述流式計(jì)算應(yīng)用圖中的核心算子和普通算子,所述核心 算子的算子度高于與之連接的算子的算子度,所述普通算子為所述流式計(jì)算應(yīng)用圖中除掉 所述核心算子之外的算子; 根據(jù)所述分割數(shù)量,從所述核心算子中確定個(gè)數(shù)與所述分割數(shù)量相同的中心算子,或 者,從所述核心算子與所述普通算子的組合中確定個(gè)數(shù)與所述分割數(shù)量相同的中心算子。
16. 根據(jù)權(quán)利要求15所述的裝置,其特征在于, 所述確定子單元,具體用于當(dāng)所述核心算子的數(shù)量不小于所述中心算子的數(shù)量時(shí),選 擇算子度最大的所述分割數(shù)量的核心算子作為所述中心算子。
17. 根據(jù)權(quán)利要求15所述的裝置,其特征在于, 所述確定子單元,具體用于當(dāng)所述核心算子的數(shù)量小于所述中心算子的數(shù)量時(shí),選擇 算子度最大的普通算子作為所述核心算子提供不足部分的所述中心算子。
18. 根據(jù)權(quán)利要求14-17任一所述的裝置,其特征在于, 所述第二分割子單元,具體用于: 確定所述第一次分割圖的圖分區(qū)勢,所述圖分區(qū)勢為所述第一次分割圖中算子的算子 勢的累加和; 根據(jù)相鄰第一次分割圖之間的搖擺算子的算子勢和所述相鄰第一次分割圖的圖分區(qū) 勢,確定所述搖擺算子應(yīng)劃入的第一次分割圖,得到所述分割子圖。
19. 根據(jù)權(quán)利要求11-18任一所述的裝置,其特征在于,所述裝置還包括:第一計(jì)算單 元和第一調(diào)整單元, 所述第一計(jì)算單元,用于計(jì)算圖分區(qū)負(fù)載,所述圖分區(qū)負(fù)載為所述分割子圖中算子的 負(fù)載之和,根據(jù)所述圖分區(qū)負(fù)載計(jì)算負(fù)載誤差值; 所述第一調(diào)整單元,用于在所述第一計(jì)算單元計(jì)算的所述負(fù)載誤差值大于預(yù)置的第一 檢驗(yàn)閥值時(shí),將所述分割子圖中的搖擺算子調(diào)整到所述負(fù)載誤差值最小的分割子圖中,得 到調(diào)整后的分割子圖; 所述調(diào)度單元,用于將每個(gè)所述第一調(diào)整單元調(diào)整后的分割子圖中包含的算子對(duì)應(yīng)的 子業(yè)務(wù),調(diào)度到與所述調(diào)整后的分割子圖對(duì)應(yīng)的工作節(jié)點(diǎn)上進(jìn)行處理。
20. 根據(jù)權(quán)利要求11-18任一所述的裝置,其特征在于,所述裝置還包括:第二計(jì)算單 元和第二調(diào)整單元, 所述第二計(jì)算單元,用于計(jì)算圖分區(qū)網(wǎng)絡(luò)入流、出流、入度和出度,所述圖分區(qū)網(wǎng)絡(luò)入 流為所述分割子圖中跨物理節(jié)點(diǎn)接收數(shù)據(jù)流的算子的入流,所述圖分區(qū)網(wǎng)絡(luò)出流為所述分 割子圖中跨物理節(jié)點(diǎn)發(fā)送數(shù)據(jù)流的算子的出流,所述圖分區(qū)網(wǎng)絡(luò)入度為所述分割子圖中跨 物理節(jié)點(diǎn)接收數(shù)據(jù)流的算子的接收數(shù)據(jù)流的路數(shù),所述圖分區(qū)網(wǎng)絡(luò)出度為所述分割子圖中 跨物理節(jié)點(diǎn)發(fā)送數(shù)據(jù)流的算子的發(fā)送數(shù)據(jù)流的路數(shù),根據(jù)所述圖分區(qū)網(wǎng)絡(luò)入流、出流、入度 和出度,計(jì)算流量誤差值; 所述第二調(diào)整單元,用于在所述第二計(jì)算單元計(jì)算出的所述流量誤差值大于預(yù)置的第 二檢驗(yàn)閥值時(shí),將所述分割子圖中的搖擺算子調(diào)整到所述流量誤差值最小的分割子圖中, 得到調(diào)整后的分割子圖; 所述調(diào)度單元,用于將每個(gè)所述第二調(diào)整單元調(diào)整后的分割子圖中包含的算子對(duì)應(yīng)的 子業(yè)務(wù),調(diào)度到與所述調(diào)整后的分割子圖對(duì)應(yīng)的工作節(jié)點(diǎn)上進(jìn)行處理。
21. -種流計(jì)算系統(tǒng),所述流計(jì)算系統(tǒng)用于調(diào)度并處理業(yè)務(wù),所述流計(jì)算系統(tǒng)包括主控 節(jié)點(diǎn)與多個(gè)工作節(jié)點(diǎn);所述主控節(jié)點(diǎn)用于將所述業(yè)務(wù)包含的各個(gè)子業(yè)務(wù)調(diào)度到所述多個(gè)工 作節(jié)點(diǎn)進(jìn)行處理,其特征在于, 所述主控節(jié)點(diǎn),用于: 獲取所述業(yè)務(wù)的流式計(jì)算應(yīng)用圖,所述流式計(jì)算應(yīng)用圖為針對(duì)所述業(yè)務(wù)預(yù)先建立的包 含算子和算子間數(shù)據(jù)流走向的邏輯關(guān)系圖,所述流式計(jì)算應(yīng)用圖中的算子承載有用于處理 所述業(yè)務(wù)中的與所述算子對(duì)應(yīng)的子業(yè)務(wù)的計(jì)算邏輯; 根據(jù)所述流式計(jì)算應(yīng)用圖中算子的算子度和算子勢,以及對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行 分割的分割數(shù)量,對(duì)所述流式計(jì)算應(yīng)用圖進(jìn)行分割,得到所述分割數(shù)量的分割子圖,所述算 子度為所述算子進(jìn)出流量的流量權(quán)值累加和,所述算子勢為所述算子在所述流式計(jì)算應(yīng)用 圖中的負(fù)載度; 將每個(gè)所述分割子圖中包含的算子對(duì)應(yīng)的子業(yè)務(wù),調(diào)度到與所述分割子圖對(duì)應(yīng)的工作 節(jié)點(diǎn)上進(jìn)行處理。
【文檔編號(hào)】H04L29/08GK104052811SQ201410270392
【公開日】2014年9月17日 申請(qǐng)日期:2014年6月17日 優(yōu)先權(quán)日:2014年6月17日
【發(fā)明者】張松山 申請(qǐng)人:華為技術(shù)有限公司