本發(fā)明涉及云計(jì)算,特別是涉及一種在faas(function?as?a?service)架構(gòu)下實(shí)現(xiàn)websocket長連接狀態(tài)保持的方法和系統(tǒng)。
背景技術(shù):
1、隨著云計(jì)算技術(shù)的快速發(fā)展,serverless架構(gòu)因其按需付費(fèi)、免運(yùn)維等優(yōu)勢在云計(jì)算領(lǐng)域得到廣泛應(yīng)用。其中,faas(functionas?a?service)作為serverless架構(gòu)的核心組件,通過提供函數(shù)級別的計(jì)算資源,使開發(fā)者能夠?qū)W⒂跇I(yè)務(wù)邏輯的實(shí)現(xiàn)而無需關(guān)注基礎(chǔ)設(shè)施管理。在實(shí)時(shí)通信、在線游戲、物聯(lián)網(wǎng)等領(lǐng)域,基于websocket的長連接通信在faas架構(gòu)中具有重要應(yīng)用。
2、目前,在faas架構(gòu)中實(shí)現(xiàn)websocket長連接主要采用兩種技術(shù)方案:一種是直接使用faas實(shí)例維持websocket連接,通過持續(xù)運(yùn)行函數(shù)實(shí)例來保持連接狀態(tài);另一種是在api網(wǎng)關(guān)層維護(hù)websocket連接,由網(wǎng)關(guān)負(fù)責(zé)連接管理,faas實(shí)例僅在需要處理業(yè)務(wù)邏輯時(shí)才會被調(diào)用。這兩種方案都試圖在保持連接可靠性的同時(shí),實(shí)現(xiàn)資源的高效利用。
3、然而,這些方案都存在明顯的局限性。直接使用faas實(shí)例維持連接的方案會導(dǎo)致計(jì)算資源持續(xù)占用,由于faas按照資源使用時(shí)長計(jì)費(fèi),這種方式會產(chǎn)生較高的運(yùn)營成本。而通過api網(wǎng)關(guān)管理連接的方案雖然解決了資源占用的問題,但當(dāng)websocket連接需要訪問之前的會話狀態(tài)時(shí),由于faas實(shí)例可能已經(jīng)被釋放或被分配給其他任務(wù),會導(dǎo)致會話狀態(tài)的丟失,影響應(yīng)用的正常運(yùn)行。
4、為解決上述問題,業(yè)界嘗試通過引入額外的狀態(tài)存儲服務(wù)來保存會話信息,或者通過預(yù)留實(shí)例池來確保連接的可靠性。但這些改進(jìn)方案要么增加了系統(tǒng)的復(fù)雜性和維護(hù)成本,要么偏離了faas按需伸縮、按量付費(fèi)的設(shè)計(jì)初衷。此外,這些方案在處理大量并發(fā)連接時(shí),還面臨著性能和擴(kuò)展性的挑戰(zhàn)。
5、因此,如何在faas架構(gòu)下實(shí)現(xiàn)經(jīng)濟(jì)高效的websocket長連接管理,既能保證連接的可靠性和狀態(tài)一致性,又能充分發(fā)揮faas按需伸縮的優(yōu)勢,已成為當(dāng)前云計(jì)算領(lǐng)域亟待解決的技術(shù)難題。開發(fā)一種能夠平衡資源利用效率與連接可靠性的解決方案具有重要的現(xiàn)實(shí)意義。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的主要目的是解決faas架構(gòu)下websocket長連接狀態(tài)保持的問題,特別是解決現(xiàn)有技術(shù)中要么產(chǎn)生過高運(yùn)營成本,要么導(dǎo)致會話狀態(tài)丟失的技術(shù)缺陷。此外,本發(fā)明還旨在實(shí)現(xiàn)faas實(shí)例資源的高效利用,在保證websocket連接可靠性的同時(shí),最大程度地發(fā)揮faas按需伸縮的優(yōu)勢。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于連接狀態(tài)感知的faas實(shí)例狀態(tài)保持方法,其核心是在api網(wǎng)關(guān)中設(shè)置連接狀態(tài)感知模塊,通過維護(hù)websocket連接的客戶端標(biāo)識與faas實(shí)例的映射關(guān)系,實(shí)現(xiàn)連接狀態(tài)的動態(tài)管理和請求的精確路由。在一些實(shí)施例中,該方法還包括基于時(shí)間窗口的連接活躍度檢測機(jī)制,用于優(yōu)化實(shí)例資源的使用效率。
3、具體地,本發(fā)明在api網(wǎng)關(guān)中設(shè)置連接狀態(tài)感知模塊,該模塊負(fù)責(zé)維護(hù)websocket連接的客戶端標(biāo)識與faas實(shí)例之間的映射關(guān)系,確保請求能夠準(zhǔn)確路由到指定的實(shí)例。
4、進(jìn)一步地,本發(fā)明通過狀態(tài)檢測模塊監(jiān)控指定時(shí)間窗口內(nèi)websocket連接的數(shù)據(jù)包傳輸情況,當(dāng)檢測到數(shù)據(jù)包傳輸時(shí)將連接標(biāo)記為活躍狀態(tài),反之標(biāo)記為空閑狀態(tài)。
5、優(yōu)選地,本發(fā)明基于連接的數(shù)據(jù)交互狀態(tài)動態(tài)確定faas實(shí)例的運(yùn)行狀態(tài),當(dāng)連接處于活躍狀態(tài)時(shí)維持實(shí)例運(yùn)行,空閑狀態(tài)時(shí)允許實(shí)例釋放資源。
6、特別地,本發(fā)明為每個websocket連接分配唯一的客戶端標(biāo)識,并實(shí)時(shí)記錄和更新客戶端標(biāo)識與處理該連接的faas實(shí)例之間的對應(yīng)關(guān)系。當(dāng)faas實(shí)例狀態(tài)發(fā)生變化時(shí),系統(tǒng)會自動更新相應(yīng)的映射關(guān)系,確保連接管理的準(zhǔn)確性和可靠性。
7、可選地,本發(fā)明實(shí)現(xiàn)了連接狀態(tài)的持久化存儲機(jī)制,在實(shí)例釋放前保存狀態(tài)信息,需要時(shí)可以從存儲中恢復(fù)連接狀態(tài)。
8、在某些實(shí)施例中,本發(fā)明設(shè)置了連接活躍度閾值,當(dāng)連接活躍度低于閾值時(shí)觸發(fā)實(shí)例資源釋放機(jī)制。
9、另外,本發(fā)明還可以基于歷史連接活躍模式動態(tài)調(diào)整監(jiān)控時(shí)間窗口的大小,提高狀態(tài)檢測的準(zhǔn)確性和效率。
10、在其他實(shí)施例中,本發(fā)明通過請求路由模塊解析請求中的客戶端標(biāo)識,并根據(jù)映射關(guān)系將請求精確轉(zhuǎn)發(fā)至目標(biāo)faas實(shí)例,確保請求的準(zhǔn)確路由和處理。
11、在一個優(yōu)選實(shí)施方式中,本發(fā)明通過連接狀態(tài)感知模塊、狀態(tài)檢測模塊、實(shí)例管理模塊和請求路由模塊的協(xié)同工作,實(shí)現(xiàn)了websocket連接狀態(tài)的可靠保持和高效管理。此外,通過狀態(tài)持久化模塊和狀態(tài)恢復(fù)模塊的配合,進(jìn)一步增強(qiáng)了系統(tǒng)的可靠性和容錯能力。
12、通過采用上述方案,本發(fā)明具有以下有益效果:
13、1.實(shí)現(xiàn)了faas架構(gòu)下websocket長連接的可靠狀態(tài)保持;
14、2.顯著降低了運(yùn)營成本,避免了實(shí)例資源的持續(xù)占用;
15、3.保證了會話狀態(tài)的連續(xù)性,解決了狀態(tài)丟失的問題;
16、4.提高了系統(tǒng)的可擴(kuò)展性和資源利用效率;
17、5.簡化了開發(fā)和維護(hù)流程,降低了系統(tǒng)復(fù)雜度。
18、綜上所述,本發(fā)明提供了一種兼顧資源效率與連接可靠性的技術(shù)方案,有效解決了faas架構(gòu)下websocket長連接管理的技術(shù)難題,具有重要的實(shí)用價(jià)值。
1.一種基于連接狀態(tài)感知的faas實(shí)例狀態(tài)保持方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述檢測websocket連接的數(shù)據(jù)交互狀態(tài)包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述基于數(shù)據(jù)交互狀態(tài)確定faas實(shí)例的運(yùn)行狀態(tài)包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述維護(hù)websocket連接的客戶端標(biāo)識與faas實(shí)例的映射關(guān)系包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將websocket請求路由至指定的faas實(shí)例包括:
9.一種基于連接狀態(tài)感知的faas實(shí)例狀態(tài)保持系統(tǒng),其特征在于,包括:
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,還包括: