本發(fā)明涉及通信,尤其涉及一種基于邊緣計算的微服務集群全局調(diào)用鏈構(gòu)建方法及系統(tǒng)。
背景技術(shù):
1、微服務架構(gòu)通過高度內(nèi)聚和低耦合的服務單元分解,滿足了電力信息系統(tǒng)對高擴展性、靈活性和穩(wěn)定性的復雜需求。然而,隨著微服務數(shù)量的增加,系統(tǒng)內(nèi)各個服務之間的調(diào)用關(guān)系也變得愈加復雜。為了保證系統(tǒng)的高效運行,需要實時掌握這些服務之間的調(diào)用鏈路,并通過構(gòu)建服務拓撲圖來直觀展示各個服務的關(guān)系。這不僅有助于系統(tǒng)的運維管理,還能夠在系統(tǒng)出現(xiàn)異常時,快速定位問題的根源。
2、現(xiàn)有的解決方案主要是通過追蹤微服務鏈路上的調(diào)用信息,通過http或者grpc的方法傳遞到信息收集模塊,然后將關(guān)聯(lián)的上下游調(diào)用對應的微服務實時串聯(lián)起來,進而構(gòu)成一個有向圖。但是這樣的方法在構(gòu)建過程中依賴于集中式的處理和分析,導致了計算資源的集中消耗和網(wǎng)絡延遲問題,并且在數(shù)據(jù)傳輸過程中有很大延遲,極大的增加了傳輸成本。
3、邊緣計算是一種新興的計算模式,能夠減輕電力信息系統(tǒng)中心節(jié)點負擔,并提升響應速度和數(shù)據(jù)處理能力。但是,發(fā)明人發(fā)現(xiàn),當前使用邊緣計算構(gòu)建微服務調(diào)用鏈的方法,由于數(shù)據(jù)過濾機制不完善,邊緣節(jié)點上存在很多無效和冗余的數(shù)據(jù),極大的阻礙了數(shù)據(jù)的傳輸,增加了中心節(jié)點的負載。
技術(shù)實現(xiàn)思路
1、為了解決上述問題,本發(fā)明提出一種基于邊緣計算的微服務集群全局調(diào)用鏈構(gòu)建方法及系統(tǒng),通過在邊緣節(jié)點部署輕量級的機器學習模型,基于歷史數(shù)據(jù)分析,篩選組成局部調(diào)用鏈的數(shù)據(jù),然后由中心節(jié)點接收并合并來自各邊緣節(jié)點的局部調(diào)用鏈,形成完整的全局調(diào)用鏈視圖,有效減輕數(shù)據(jù)傳輸負擔,從而高效地為電力信息系統(tǒng)的運維管理提供全面的、實時的服務調(diào)用關(guān)系視圖,極大減少計算資源消耗和網(wǎng)絡延遲問題。
2、為了實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
3、第一方面,本發(fā)明提供一種基于邊緣計算的微服務集群全局調(diào)用鏈構(gòu)建方法,包括:
4、獲取微服務集群拓撲圖,基于數(shù)據(jù)源定位邊緣節(jié)點;
5、收集微服務集群拓撲圖中的調(diào)用鏈數(shù)據(jù),并傳輸至邊緣節(jié)點;
6、邊緣節(jié)點利用訓練好的決策樹模型,篩選出調(diào)用鏈數(shù)據(jù)中的高優(yōu)先級數(shù)據(jù)進行邊緣計算,構(gòu)建局部調(diào)用鏈,上傳至中心節(jié)點;所述高優(yōu)先級數(shù)據(jù)包括異常請求和高延遲請求;
7、中心節(jié)點聚合局部調(diào)用鏈構(gòu)成全局調(diào)用鏈。
8、優(yōu)選地,所述基于數(shù)據(jù)源定位邊緣節(jié)點,具體為:將邊緣節(jié)點部署在數(shù)據(jù)源內(nèi)部,所述數(shù)據(jù)源包括物聯(lián)網(wǎng)設備、用戶終端和本地數(shù)據(jù)中心。
9、優(yōu)選地,所述收集微服務集群拓撲圖中的調(diào)用鏈數(shù)據(jù),并傳輸至邊緣節(jié)點,具體為:
10、基于微服務集群拓撲圖中的中心節(jié)點和邊緣節(jié)點收集的調(diào)用鏈數(shù)據(jù),獲取微服務調(diào)用關(guān)系,構(gòu)建初步有向圖;
11、根據(jù)初步有向圖,利用代理工具或嵌入在微服務中的追蹤代碼收集微服務單元之間的調(diào)用鏈數(shù)據(jù),并傳輸至邊緣節(jié)點。
12、優(yōu)選地,所述調(diào)用鏈數(shù)據(jù)包括日志、請求、響應時間和錯誤信息。
13、優(yōu)選地,所述邊緣節(jié)點利用訓練好的決策樹模型,篩選出調(diào)用鏈數(shù)據(jù)中的高優(yōu)先級數(shù)據(jù)進行邊緣計算,構(gòu)建局部調(diào)用鏈,上傳至中心節(jié)點;具體包括:
14、在邊緣節(jié)點部署訓練好的決策樹模型;
15、邊緣節(jié)點利用訓練好的決策樹模型對調(diào)用鏈數(shù)據(jù)進行分析預測,對被預測為高優(yōu)先級的數(shù)據(jù)進行邊緣計算,并構(gòu)建為局部調(diào)用鏈,上傳到中心節(jié)點。
16、優(yōu)選地,所述決策樹模型的訓練過程包括:
17、獲取邊緣節(jié)點的歷史調(diào)用鏈數(shù)據(jù),所述歷史調(diào)用鏈數(shù)據(jù)包括高優(yōu)先級數(shù)據(jù)和其他請求數(shù)據(jù);
18、對所述歷史調(diào)用鏈數(shù)據(jù)進行標注,用于區(qū)分高優(yōu)先級數(shù)據(jù)與其他請求數(shù)據(jù);
19、在每個決策樹節(jié)點上,從調(diào)用鏈數(shù)據(jù)包含的多個特征中選擇優(yōu)選特征劃分數(shù)據(jù),所述優(yōu)選特征是依據(jù)預設的評估標準確定的能使數(shù)據(jù)分割達到最優(yōu)效果的特征;通過遞歸地依據(jù)所述評估標準選擇最佳特征來劃分數(shù)據(jù),構(gòu)建決策樹;其中,決策樹中的每個節(jié)點代表對某個特征的測試,每個分支代表一個特征的取值,最終的葉子節(jié)點包含預測結(jié)果;
20、利用標注后的歷史調(diào)用鏈數(shù)據(jù)對構(gòu)建的決策樹進行訓練,得到訓練好的決策樹模型,使得該模型能夠基于調(diào)用鏈數(shù)據(jù)的特征預測數(shù)據(jù)是否為高優(yōu)先級數(shù)據(jù)。
21、優(yōu)選地,所述中心節(jié)點聚合局部調(diào)用鏈構(gòu)成全局調(diào)用鏈,具體包括:
22、中心節(jié)點接收來自不同邊緣節(jié)點的局部調(diào)用鏈,所述局部調(diào)用鏈包含parentspan?id信息;
23、根據(jù)parent?span?id信息,識別服務或操作之間的調(diào)用關(guān)系,并生成對應的有向邊,所述有向邊的方向從調(diào)用方指向被調(diào)用方;
24、對于每個有向邊,根據(jù)識別出的調(diào)用關(guān)系構(gòu)建對應的調(diào)用鏈路徑;
25、整合多個有向邊數(shù)據(jù),形成全局調(diào)用鏈;
26、當新的局部調(diào)用鏈到達時,中心節(jié)點動態(tài)更新全局調(diào)用鏈。
27、第二方面,本發(fā)明提供一種基于邊緣計算的微服務集群全局調(diào)用鏈構(gòu)建系統(tǒng),包括:
28、初始化模塊,用于獲取微服務集群拓撲圖,基于數(shù)據(jù)源定位邊緣節(jié)點;
29、調(diào)用鏈數(shù)據(jù)獲取模塊,用于收集微服務集群拓撲圖中的調(diào)用鏈數(shù)據(jù),并傳輸至邊緣節(jié)點;
30、局部調(diào)用鏈構(gòu)建模塊,用于邊緣節(jié)點利用訓練好的決策樹模型,篩選出調(diào)用鏈數(shù)據(jù)中的高優(yōu)先級數(shù)據(jù)進行邊緣計算,構(gòu)建局部調(diào)用鏈,上傳至中心節(jié)點;所述高優(yōu)先級數(shù)據(jù)包括異常請求和高延遲請求;
31、全局調(diào)用鏈構(gòu)建模塊,用于中心節(jié)點聚合局部調(diào)用鏈構(gòu)成全局調(diào)用鏈。
32、第三方面,本發(fā)明提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該程序被處理器執(zhí)行時實現(xiàn)第一方面所述的一種基于邊緣計算的微服務集群全局調(diào)用鏈構(gòu)建方法中的步驟。
33、第四方面,本發(fā)明提供一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)第一方面所述的一種基于邊緣計算的微服務集群全局調(diào)用鏈構(gòu)建方法中的步驟。
34、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
35、(1)本發(fā)明通過在數(shù)據(jù)產(chǎn)生的源頭附近部署邊緣節(jié)點,并對其進行合理的資源配置,實現(xiàn)了對本地數(shù)據(jù)的高效處理,極大地優(yōu)化了資源使用效率。利用jaeger、zipkin等代理或嵌入追蹤代碼的方式,全面收集了微服務實例間的調(diào)用鏈數(shù)據(jù),包括日志、請求、響應時間等關(guān)鍵信息,為后續(xù)分析提供了堅實基礎。邊緣節(jié)點上部署輕量級機器學習模型(決策樹)分析調(diào)用鏈數(shù)據(jù)有效減輕了數(shù)據(jù)傳輸負擔,并初步構(gòu)建了局部調(diào)用鏈,基于決策樹篩選出高優(yōu)先級數(shù)據(jù)不僅減小了數(shù)據(jù)傳輸?shù)拈_銷,還能夠快速識別出可能的性能瓶頸或異常情況。中心節(jié)點則通過合并邊緣節(jié)點的數(shù)據(jù),形成了完整的全局調(diào)用鏈視圖,并能實時更新,確保全局視圖始終反映最新系統(tǒng)狀態(tài)。此外,持久化存儲的span數(shù)據(jù)和服務拓撲圖,為后續(xù)運維工作提供了有力支撐,進一步提升了系統(tǒng)的響應速度和穩(wěn)定性,為電力信息系統(tǒng)的運行維護帶來了顯著效益。
36、(2)本發(fā)明通過決策樹模型可精準區(qū)分高優(yōu)先級數(shù)據(jù)(如異常請求和高延遲請求)與其他數(shù)據(jù),有效聚焦關(guān)鍵信息,避免無關(guān)數(shù)據(jù)干擾邊緣計算,從而提高邊緣計算的效率和針對性,減少不必要的資源浪費。其次,基于歷史調(diào)用鏈數(shù)據(jù)訓練模型,使得模型對數(shù)據(jù)特征有準確把握,預測更可靠。在復雜的微服務集群環(huán)境中,這種篩選方式能快速定位可能存在問題的環(huán)節(jié),有助于及時處理異常情況,保障微服務的穩(wěn)定運行,提升整個微服務集群的性能和可靠性。同時,構(gòu)建局部調(diào)用鏈并上傳至中心節(jié)點,也為全局調(diào)用鏈的準確構(gòu)建提供有力支持。
37、本發(fā)明附加方面的優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。