欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種websocket集群與客戶端的連接方法及系統(tǒng)與流程

文檔序號(hào):40430441發(fā)布日期:2024-12-24 15:04閱讀:14來源:國知局
一種websocket集群與客戶端的連接方法及系統(tǒng)與流程

本發(fā)明涉及數(shù)據(jù)傳輸,特別涉及一種websocket集群與客戶端的連接方法及系統(tǒng)。


背景技術(shù):

1、websocket是一種在單個(gè)tcp連接上進(jìn)行全雙工通信的協(xié)議,websocket使得客戶端之間的數(shù)據(jù)交換變得更加簡單,允許服務(wù)端主動(dòng)向接收端推送數(shù)據(jù)。

2、傳統(tǒng)的單節(jié)點(diǎn)websocket,其連接能力和處理能力有限,無法處理更多的連接和消息。而通過多節(jié)點(diǎn)形成的websocket集群可將連接分布到多個(gè)節(jié)點(diǎn)當(dāng)中,從而提高整體的處理能力和并發(fā)能力。在使用多節(jié)點(diǎn)形成的websocket集群與客戶端進(jìn)行連接時(shí),需考慮不同節(jié)點(diǎn)的負(fù)載情況,為客戶端提供更穩(wěn)定節(jié)點(diǎn)進(jìn)行連接,以實(shí)現(xiàn)高效的消息傳遞及處理。

3、現(xiàn)websocket集群中節(jié)點(diǎn)與客戶端連接時(shí),對(duì)于節(jié)點(diǎn)的選擇主要關(guān)注節(jié)點(diǎn)的帶寬、cpu、內(nèi)存等硬件能力,缺少對(duì)于節(jié)點(diǎn)的交互能力的考量,其往往導(dǎo)致與客戶端連接的節(jié)點(diǎn)的連接能力及處理能力仍較差,影響消息傳遞的效率及消息處理的效率。


技術(shù)實(shí)現(xiàn)思路

1、針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種websocket集群與客戶端的連接方法及系統(tǒng),旨在解決現(xiàn)有技術(shù)中于websocket集群中選擇節(jié)點(diǎn)與客戶端進(jìn)行連接時(shí),僅考慮了節(jié)點(diǎn)的硬件能力,缺少對(duì)于節(jié)點(diǎn)的交互能力的考量,導(dǎo)致消息傳遞的效率及消息處理的效率仍較差的技術(shù)問題。

2、為了實(shí)現(xiàn)上述目的,第一方面,本技術(shù)實(shí)施例提供了一種websocket集群與客戶端的連接方法,應(yīng)用于websocket集群中,所述websocket集群包括若干個(gè)節(jié)點(diǎn),所述節(jié)點(diǎn)用于連接客戶端,所述websocket集群與客戶端的連接方法包括以下步驟:

3、當(dāng)獲取到所述客戶端的連接請(qǐng)求時(shí),獲取所述節(jié)點(diǎn)的硬件指標(biāo),所述硬件指標(biāo)包括cpu使用率、內(nèi)存使用率及連接率,分別為所述cpu使用率、所述內(nèi)存使用率及所述連接率配置第一初始權(quán)重參數(shù)、第二初始權(quán)重參數(shù)及第三初始權(quán)重參數(shù),以獲取所述節(jié)點(diǎn)的初始硬件能力;

4、基于所述硬件指標(biāo)與指標(biāo)閾值之間的比對(duì)結(jié)果,更新所述第一初始權(quán)重、所述第二初始權(quán)重及所述第三初始權(quán)重,以獲取所述節(jié)點(diǎn)的實(shí)時(shí)硬件能力;

5、基于所述實(shí)時(shí)硬件能力自若干個(gè)所述節(jié)點(diǎn)中獲取若干個(gè)備選節(jié)點(diǎn);

6、采集所述備選節(jié)點(diǎn)于指定時(shí)間窗口下的埋點(diǎn)信息,通過所述埋點(diǎn)信息獲取所述備選節(jié)點(diǎn)的服務(wù)能力;

7、基于所述服務(wù)能力自若干個(gè)所述備選節(jié)點(diǎn)中確定最優(yōu)節(jié)點(diǎn),將所述客戶端連接至所述最優(yōu)節(jié)點(diǎn)。

8、進(jìn)一步,所述初始硬件能力的計(jì)算公式為:

9、py=λ1*l1*l2+λ2*l2+λ3*l3,

10、其中,py表示初始硬件能力,λ1表示第一初始權(quán)重參數(shù),λ2表示第二初始權(quán)重參數(shù),λ3表示第三初始權(quán)重參數(shù),l1表示cpu使用率,l2表示內(nèi)存使用率,l3表示連接率,且lnow表示節(jié)點(diǎn)的當(dāng)前連接數(shù),lmax表示節(jié)點(diǎn)的最大連接數(shù)。

11、更進(jìn)一步,所述基于所述硬件指標(biāo)與指標(biāo)閾值之間的比對(duì)結(jié)果,更新所述第一初始權(quán)重、所述第二初始權(quán)重及所述第三初始權(quán)重的步驟包括:

12、將所述cpu使用率與第一使用率閾值進(jìn)行比對(duì),若所述cpu使用率大于所述第一使用率閾值,則獲取第一持續(xù)時(shí)間,若所述第一持續(xù)時(shí)間大于第一時(shí)間閾值,則將所述第一初始權(quán)重更新為第一子調(diào)節(jié)權(quán)重,若所述cpu使用率小于所述第一使用率閾值,則獲取第二持續(xù)時(shí)間,若所述第二持續(xù)時(shí)間大于所述第一時(shí)間閾值,則將所述第一初始權(quán)重更新為第二子調(diào)節(jié)權(quán)重;

13、將所述內(nèi)存使用率與第二使用率閾值進(jìn)行比對(duì),若所述內(nèi)存使用率大于所述第二使用率閾值,則獲取第三持續(xù)時(shí)間,若所述第三持續(xù)時(shí)間大于第二時(shí)間閾值,則將所述第二初始權(quán)重更新為第三子調(diào)節(jié)權(quán)重,若所述內(nèi)存使用率小于所述第二使用率閾值,則獲取第四持續(xù)時(shí)間,若所述第四持續(xù)時(shí)間大于所述第二時(shí)間閾值,則將所述第二初始權(quán)重更新為第四子調(diào)節(jié)權(quán)重;

14、將所述連接率與第三使用率閾值進(jìn)行比對(duì),若所述連接率大于所述第三使用率閾值,則獲取第五持續(xù)時(shí)間,若所述第五持續(xù)時(shí)間大于第三時(shí)間閾值,則將所述第三初始權(quán)重更新為第五子調(diào)節(jié)權(quán)重,若所述連接率小于所述第三使用率閾值,則獲取第六持續(xù)時(shí)間,若所述第六持續(xù)時(shí)間大于所述第三時(shí)間閾值,則將所述第三初始權(quán)重更新為第六子調(diào)節(jié)權(quán)重。

15、更進(jìn)一步,所述第一子調(diào)節(jié)權(quán)重的獲取公式為:

16、

17、其中,表示第一子調(diào)節(jié)權(quán)重,λ1表示第一初始權(quán)重,δ1表示調(diào)整因子;

18、所述第二子調(diào)節(jié)權(quán)重的獲取公式為:

19、

20、其中,表示第二子調(diào)節(jié)權(quán)重。

21、更進(jìn)一步,所述埋點(diǎn)信息包括連接建立時(shí)長、連接維持時(shí)長、總連接次數(shù)、連接失敗次數(shù)、重連成功次數(shù)、重連次數(shù)、消息傳輸次數(shù)、消息丟失次數(shù)、消息錯(cuò)誤次數(shù)、消息重復(fù)次數(shù)、消息傳輸延遲時(shí)長、消息處理時(shí)長。

22、更進(jìn)一步,所述通過所述埋點(diǎn)信息獲取所述備選節(jié)點(diǎn)的服務(wù)能力的步驟包括:

23、通過所述連接建立時(shí)長、所述連接維持時(shí)長、所述總連接次數(shù)、所述連接失敗次數(shù)、所述重連成功次數(shù)及所述重連次數(shù)確定連接穩(wěn)定性指標(biāo);

24、通過所述消息傳輸次數(shù)、所述消息丟失次數(shù)、所述消息錯(cuò)誤次數(shù)及所述消息重復(fù)次數(shù)確定消息穩(wěn)定性指標(biāo);

25、通過所述消息傳輸延遲時(shí)長及所述消息處理時(shí)長確定消息速度指標(biāo);

26、基于所述連接穩(wěn)定性指標(biāo)、所述消息穩(wěn)定性指標(biāo)及所述消息速度指標(biāo)獲取所述備選節(jié)點(diǎn)的服務(wù)能力。

27、更進(jìn)一步,所述服務(wù)能力的計(jì)算公式為:

28、service=α*cs-β*(1-ms)-γ*(1-mspeed),

29、其中,service表示服務(wù)能力,cs表示連接穩(wěn)定性指標(biāo),ms表示消息穩(wěn)定性指標(biāo),mspeed表示消息速度指標(biāo),α、β、γ均表示權(quán)重值。

30、第二方面,本技術(shù)實(shí)施例提供了一種websocket集群與客戶端的連接系統(tǒng),應(yīng)用于如上述第一方面所述的websocket集群與客戶端的連接方法,所述系統(tǒng)包括:

31、獲取模塊,用于當(dāng)獲取到所述客戶端的連接請(qǐng)求時(shí),獲取所述節(jié)點(diǎn)的硬件指標(biāo),所述硬件指標(biāo)包括cpu使用率、內(nèi)存使用率及連接率,分別為所述cpu使用率、所述內(nèi)存使用率及所述連接率配置第一初始權(quán)重參數(shù)、第二初始權(quán)重參數(shù)及第三初始權(quán)重參數(shù),以獲取所述節(jié)點(diǎn)的初始硬件能力;

32、更新模塊,用于基于所述硬件指標(biāo)與指標(biāo)閾值之間的比對(duì)結(jié)果,更新所述第一初始權(quán)重、所述第二初始權(quán)重及所述第三初始權(quán)重,以獲取所述節(jié)點(diǎn)的實(shí)時(shí)硬件能力;

33、第一選擇模塊,用于基于所述實(shí)時(shí)硬件能力自若干個(gè)所述節(jié)點(diǎn)中獲取若干個(gè)備選節(jié)點(diǎn);

34、采集模塊,用于采集所述備選節(jié)點(diǎn)于指定時(shí)間窗口下的埋點(diǎn)信息,通過所述埋點(diǎn)信息獲取所述備選節(jié)點(diǎn)的服務(wù)能力;

35、第二選擇模塊,基于所述服務(wù)能力自若干個(gè)所述備選節(jié)點(diǎn)中確定最優(yōu)節(jié)點(diǎn),將所述客戶端連接至所述最優(yōu)節(jié)點(diǎn)。

36、第三方面,本技術(shù)實(shí)施例提供了一種計(jì)算機(jī),包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上述第一方面所述的websocket集群與客戶端的連接方法。

37、第四方面,本技術(shù)實(shí)施例提供了一種存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述第一方面所述的websocket集群與客戶端的連接方法。

38、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:當(dāng)獲取到連接請(qǐng)求時(shí),優(yōu)先基于所述實(shí)時(shí)硬件能力對(duì)若干個(gè)所述節(jié)點(diǎn)進(jìn)行一次篩選,以確保所述備選節(jié)點(diǎn)具備較優(yōu)的硬件能力,而后在所述備選節(jié)點(diǎn)中,基于所述埋點(diǎn)信息獲取節(jié)點(diǎn)的所述服務(wù)能力,通過綜合考慮節(jié)點(diǎn)的硬件及與客戶端之間的交互能力,確定所述最優(yōu)節(jié)點(diǎn),確保所述最優(yōu)節(jié)點(diǎn)在可處理連接請(qǐng)求的前提下,還能提供高質(zhì)量的消息處理及消息傳遞服務(wù);在獲取所述實(shí)時(shí)硬件能力時(shí),引入了動(dòng)態(tài)權(quán)重調(diào)整機(jī)制,根據(jù)所述節(jié)點(diǎn)的實(shí)時(shí)表現(xiàn)不斷優(yōu)化權(quán)重分配,確保所述硬件指標(biāo)在不同場(chǎng)景下的重要性得到合理反應(yīng),進(jìn)而篩選出更為符合連接要求的所述備選節(jié)點(diǎn)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
酒泉市| 古交市| 宜宾县| 崇礼县| 日喀则市| 昌邑市| 岚皋县| 蓝田县| 曲水县| 松潘县| 海口市| 华亭县| 越西县| 庐江县| 玉田县| 益阳市| 修武县| 大安市| 那坡县| 阳曲县| 七台河市| 石阡县| 台东市| 鄂尔多斯市| 绥江县| 凤山市| 遵义市| 淮滨县| 山西省| 白山市| 永嘉县| 久治县| 扶沟县| 佛冈县| 博罗县| 昌平区| 溧水县| 南部县| 菏泽市| 娄烦县| 宜黄县|