System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及消息推送,具體涉及一種站內信消息推送方法及一種站內信消息推送系統。
技術介紹
1、在站內消息推送領域,現有技術通常采用輪詢、iframe流、服務器發送事件(sse,server-sent?events)或websocket等方式進行消息傳遞。然而,這些方法在實際應用中面臨一定的瓶頸與局限。
2、傳統輪詢方案在指定時間間隔由客戶端向服務器發起請求,并實時獲取未讀消息,雖然簡單實現了消息推送,但由于推送頻率固定,即使服務器端無新消息生成,客戶端也會不斷請求,導致服務器壓力大、帶寬浪費嚴重,尤其在用戶量較大時,服務器性能大幅下降。iframe流方式通過在頁面中嵌入隱藏iframe標簽,實現客戶端與服務器的長連接,然而該方法在瀏覽器上會顯示加載未完成的狀態,對用戶體驗造成不良影響,且瀏覽器兼容性差。
3、sse技術通過http協議在服務器和客戶端之間建立單向連接,實現了數據的流式傳輸。然而,sse的路由地址無狀態屬性導致其存在消息丟失或重復的風險。盡管一些方法嘗試引入狀態管理機制來解決此問題,但其帶來了設計復雜性增加的問題,增加了系統的維護難度和資源消耗。websocket協議在tcp連接上實現全雙工通信,允許服務器與客戶端建立持久連接并雙向傳輸數據,雖然實現了高效實時通信,但需要為每個客戶端維護連接狀態,增加了連接數的管理成本,特別是在大量客戶端同時在線時,可能導致服務器過載和消息丟失或重復問題。
4、在現有技術中,針對sse和websocket協議在長連接和實時推送方面的優化研究仍較少,
技術實現思路
1、本申請實施例的目的是提供一種站內信消息推送方法及系統,以解決現有站內消息推送方案存在的資源利用率低和服務器壓力較大的問題。
2、為了實現上述目的,本申請第一方面提供一種站內信消息推送方法,包括:在判斷當前頁面為活動頁面時,建立當前頁面與后端之間的長連接;識別當前頁面的設計權重,并基于所述設計權重確定當前頁面的消息響應時間;其中,當前頁面的設計權重基于當前頁面的各消息推送指標耦合確定;基于建立的長連接的基礎,依據確定的消息響應時間,按既定周期進行消息推送操作,并在完成消息推送后標定已推送消息的狀態為已推送響應于當前頁面從活動頁面切換到休眠頁面的觸發信號,斷開當前頁面與后端之間的長連接。
3、在本申請實施例中,所述當前頁面為活動頁面為活動頁面的判定規則為:若用戶在當前頁面停留,且在當前頁面停留時間超于預設停留時間閾值,則判定當前頁面為活動頁面;反之,若用戶未在當前頁面停留,或在當前頁面停留的時間未超過預設停留時間閾值,則判定當前頁面為休眠頁面。
4、在本申請實施例中,當前頁面與后端之間的長連接建立規則為:基于前端向后端發送的長連接建立請求,基于sse技術建立當前頁面與后端之間的長連接,并判斷長連接狀態;若長連接狀態為連接失敗,則重新建立當前頁面與后端之間的長連接,直到當前頁面與后端之間的長連接狀態為連接成功,或達到預設重新嘗試次數;若達到預設重新嘗試次數,當前頁面與后端之間的長連接狀態依舊為連接失敗,則前端關閉長連接建立請求。
5、在本申請實施例中,所述識別當前頁面的設計權重,包括:基于當前頁面的唯一標識符在預構建的權重庫中進行對應的各消息推送指標的設計權重匹配;其中,所述消息推送指標包括:頁面的基礎權重指標、頁面對應業務的重壓程度指標和頁面消息推送頻次指標中的一種或多種。
6、在本申請實施例中,所述基于所述設計權重確定當前頁面的消息響應時間,包括:基于匹配的各消息推送指標的設計權重,以及對應各消息推送指標的預設基礎消息響應時間,生成當前頁面的消息響應時間,生成規則為:
7、
8、其中,t為當前頁面的消息響應時間;ti為第i個消息推送指標的預設基礎消息響應時間;wi為第i個消息推送指標的設計權重;n為消息推送指標的數量。
9、在本申請實施例中,所述權重庫的構建規則為:采集歷史消息推送信息,并基于各消息推送指標對歷史消息推送信息進行分類,獲得各消息推送指標對應的歷史消息推送信息集;為每個消息推送指標確定初始權重,并基于對應各歷史消息推送信息集統計用戶使用數據,基于統計結果更新各初始權重,作為對應各消息推送指標的設計權重;基于各消息推送指標的設計權重和對應各消息推送指標的預設基礎消息響應時間構建權重庫。
10、在本申請實施例中,所述用戶使用數據包括:頁面停留時間、消息響應速度、用戶點擊率和消息響應頻率中的任意一種或多種;所述基于對應各歷史消息推送信息集統計用戶使用數據,基于統計結果更新各初始權重,包括:對各歷史消息推送信息集執行數據預處理,并基于預處理后的各歷史消息推送信息集統計對應各消息推送指標的變化趨勢;基于各消息推送指標的變化趨勢進行對應各消息推送指標權重分配,并基于分配結果進行各初始權重更新。
11、在本申請實施例中,所述基于建立的長連接和所述消息響應時間,周期性地推送消息,并在每一次消息推送后更新消息狀態,包括:基于所述消息響應時間,在每相隔一個消息響應時間時,在數據庫中執行一次新消息查詢,將消息狀態為未推送的新消息作為待推送的新消息,基于所述長連接執行對應的新消息推送;完成新消息推送后,在數據庫中將對應新消息的消息狀態修改為已推送。
12、在本申請實施例中,所述響應于當前頁面從活動頁面切換到休眠頁面的觸發信號,斷開當前頁面與后端之間的長連接,包括:在當前頁面切入后臺時,判定當前頁面觸發從活動頁面切換到休眠頁面的觸發信號;響應于當前頁面從活動頁面切換到休眠頁面的觸發信號,前端停止向后端發送的長連接建立請求,當前頁面與后端之間的長連接斷開。
13、本申請第二方面提供一種站內信消息推送系統,所述系統包括:連接單元,用于在判斷當前頁面為活動頁面時,建立當前頁面與后端之間的長連接;處理單元,用于識別當前頁面的設計權重,并基于所述設計權重確定當前頁面的消息響應時間;其中,當前頁面的設計權重基于當前頁面的各消息推送指標耦合確定;消息推送單元,用于基于建立的長連接的基礎,依據確定的消息響應時間,按既定周期進行消息推送操作,并在完成消息推送后標定已推送消息的狀態為已推送;切換單元,用于響應于當前頁面從活動頁面切換到休眠頁面的觸發信號,斷開當前頁面與后端之間的長連接。
14、本申請第三方面提供一種處理器,被配置成執行上述的站內信消息推送方法。
15、本申請第四方面提供一種機器可讀存儲介質,該機器可讀存儲介質上存儲有指令,該指令在被處理器執行時使得所述處理器被配置成執行上述的站內信消息推送方法。
16、本申請第五方面提供一種計算機程序產品,包括計算機程序,該計算機程序在被處理器執行時實現根據上述的站內信消息推送方本文檔來自技高網...
【技術保護點】
1.一種站內信消息推送方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述當前頁面為活動頁面為活動頁面的判定規則為:
3.根據權利要求1所述的方法,其特征在于,當前頁面與后端之間的長連接建立規則為:
4.根據權利要求1所述的方法,其特征在于,所述識別當前頁面的設計權重,包括:
5.根據權利要求4所述的方法,其特征在于,所述基于所述設計權重確定當前頁面的消息響應時間,包括:
6.根據權利要求4所述的方法,其特征在于,所述權重庫的構建規則為:
7.根據權利要求6所述的方法,其特征在于,所述用戶使用數據包括:
8.根據權利要求1所述的方法,其特征在于,所述基于建立的長連接的基礎,依據確定的消息響應時間,按既定周期進行消息推送操作,并在完成消息推送后標定已推送消息的狀態為已推送,包括:
9.根據權利要求1所述的方法,其特征在于,所述響應于當前頁面從活動頁面切換到休眠頁面的觸發信號,斷開當前頁面與后端之間的長連接,包括:
10.一種站內信消息推送系統,其特
11.一種處理器,其特征在于,被配置成執行根據權利要求1至9中任意一項所述的站內信消息推送方法。
12.一種機器可讀存儲介質,該機器可讀存儲介質上存儲有指令,其特征在于,該指令在被處理器執行時使得所述處理器被配置成執行根據權利要求1至9中任一項所述的站內信消息推送方法。
13.一種計算機程序產品,包括計算機程序,其特征在于,所述計算機程序在被處理器執行時實現根據權利要求1至9中任一項所述的站內信消息推送方法。
...【技術特征摘要】
1.一種站內信消息推送方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述當前頁面為活動頁面為活動頁面的判定規則為:
3.根據權利要求1所述的方法,其特征在于,當前頁面與后端之間的長連接建立規則為:
4.根據權利要求1所述的方法,其特征在于,所述識別當前頁面的設計權重,包括:
5.根據權利要求4所述的方法,其特征在于,所述基于所述設計權重確定當前頁面的消息響應時間,包括:
6.根據權利要求4所述的方法,其特征在于,所述權重庫的構建規則為:
7.根據權利要求6所述的方法,其特征在于,所述用戶使用數據包括:
8.根據權利要求1所述的方法,其特征在于,所述基于建立的長連接的基礎,依據確定的消息響應時間,按既定周期進行消息...
【專利技術屬性】
技術研發人員:劉亞,李保倉,楊帆,向暉,趙靜,潘春曉,吳霞,
申請(專利權)人:建信金融科技有限責任公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。