System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請實施例涉及互聯網,尤其涉及一種消息推送方法、裝置、計算機設備、計算機可讀存儲介質、計算機程序產品。
技術介紹
1、隨著個人移動終端設備的普及,用戶通過手機、平板電腦等移動終端接收信息越來越普遍。各種應用或者消息系統會通過即時通信、短信、郵件等方式將通知、提醒等消息推送至用戶的個人移動終端中,以告知用戶。
2、然而,如果有過多的消息推送至用戶的個人移動終端會對用戶造成干擾,用戶體驗不佳,因此,為了考慮用戶體驗,需要對用戶收到的通知、提醒等消息進行限頻。傳統的限頻方式存在下述問題:在高并發操作的時候會突破限頻的閾值。比如限制是一周一個用戶收到2條消息,用戶之前一周已經收到了1條消息,現在最多只能收到1條消息,但是如果此時同時有10個通知發給這個用戶,在查詢維護的數據表的時候,都得到用戶只接收到1條消息,因此都可以發送,導致最后的結果是,用戶總共收到了11條消息,完全不符合預期。在客戶端限頻的要求日益精確的背景下,如果仍然使用傳統的限頻方法,很有可能在高并發的時候突破限頻,滿足不了需求。
3、需要說明的是,上述內容并不必然是現有技術,也不用于限制本申請的專利保護范圍。
技術實現思路
1、本申請實施例提供一種消息推送方法、裝置、計算機設備、計算機可讀存儲介質、計算機程序產品,以解決或緩解上面提出的一項或更多項技術問題。
2、本申請實施例的一個方面提供了一種消息推送方法,所述方法包括:
3、獲取針對目標對象的待推送消息;
4、
5、根據與所述目標類型關聯的目標原子命令,獲取屬于所述目標類型的消息的推送次數;
6、根據所述推送次數,確定是否將所述待推送消息推送給所述目標對象。
7、可選地,目標類型為所述長期消息類型,所述長期消息類型關聯所述目標原子命令中的第一原子命令,所述第一原子命令用于有序集合進行推送次數統計;
8、對應地,根據與所述目標類型關聯的目標原子命令,獲取屬于所述目標類型的消息的推送次數,包括:
9、獲取所述目標對象對應的有序集合;
10、根據所述有序集合,通過所述第一原子命令確定屬于所述長期消息類型的消息的第一推送次數;
11、其中,在所述第一推送次數小于第一預設閾值的情況下,所述待推送消息推送給所述目標對象。
12、可選地,根據所述有序集合,通過所述第一原子命令確定屬于所述長期消息類型的消息的第一推送次數,包括:
13、根據預設的窗口細粒度和統計規則,在所述有序集合中確定當前時間窗口和統計時間窗口;
14、通過所述第一原子命令,確定所述當前時間窗口的推送次數;
15、獲取所述統計時間窗口的推送次數;
16、對所述當前時間窗口的推送次數和所述統計時間窗口的推送次數進行求和,得到所述第一推送次數。
17、可選地,所述消息推送方法還包括:
18、在所述第一推送次數大于第一預設閾值的情況下,攔截所述待推送消息,并校正所述當前時間窗口的推送次數。
19、可選地,所述消息推送方法還包括:
20、根據預設規則,在所述有序集合中確定過期時間窗口;
21、清除所述過期時間窗口以及對應的推送次數。
22、可選地,目標類型為所述一次性消息類型,所述一次性消息類型關聯所述目標原子命令中的第二原子命令,所述第二原子命令用于鍵值對進行推送次數統計,鍵值對的值為推送次數;
23、對應地,根據與所述目標類型關聯的目標原子命令,獲取屬于所述目標類型的消息的推送次數,包括:
24、通過所述第二原子命令和預設的第一鍵值對,獲取屬于所述一次性消息類型的消息的第二推送次數;
25、在所述第二推送次數小于第二預設閾值的情況下,通過所述第二原子命令和預設的第二鍵值對,獲取針對所述目標對象且屬于所述一次性消息類型的消息的第三推送次數;
26、其中,在所述第三推送次數小于第三預設閾值的情況下,所述待推送消息推送給所述目標對象。
27、可選地,所述消息推送方法還包括:
28、在所述第二推送次數大于所述第二預設閾值的情況下,攔截所述待推送消息,并校正所述第一鍵值對的值;或
29、在所述第三推送次數大于所述第三預設閾值的情況下,攔截所述待推送消息,并校正所述第二鍵值對的值。
30、本申請實施例的另一個方面提供了一種消息推送裝置,所述裝置包括:
31、第一獲取模塊,用于獲取針對目標對象的待推送消息;
32、第一確定模塊,用于確定所述待推送消息的目標類型,所述目標類型包括長期消息類型或一次性消息類型;
33、第二獲取模塊,用于根據與所述目標類型關聯的目標原子命令,獲取屬于所述目標類型的消息的推送次數;
34、第二確定模塊,用于根據所述推送次數,確定是否將所述待推送消息推送給所述目標對象。
35、本申請實施例的另一個方面提供了一種計算機設備,包括:
36、至少一個處理器;及
37、與所述至少一個處理器通信連接的存儲器;
38、其中:所述存儲器存儲有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠執行如上所述的消息推送方法。
39、本申請實施例的另一個方面提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質內存儲有計算機指令,所述計算機指令被處理器執行時實現如上所述的消息推送方法。
40、本申請實施例的另一個方面提供了一種計算機程序產品,包括計算機程序,該計算機程序被處理器執行時實現如上所述的消息推送方法。
41、本申請實施例采用上述技術方案可以包括如下優勢:
42、獲取針對目標對象的待推送消息,確定待推送消息的目標類型(長期消息類型或一次性消息類型)。根據目標類型確定關聯的目標原子命令,以通過目標原子命令獲取屬于目標類型的消息的推送次數,根據推送次數確定是否要待推送消息推送給目標對象。可知,本申請實施例可以利用具有原子性特點的命令對消息推送進行限頻,以避免在高并發時突破限頻的情況發生,提高限頻的精準性。
本文檔來自技高網...【技術保護點】
1.一種消息推送方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,目標類型為所述長期消息類型,所述長期消息類型關聯所述目標原子命令中的第一原子命令,所述第一原子命令用于有序集合進行推送次數統計;
3.根據權利要求2所述的方法,其特征在于,根據所述有序集合,通過所述第一原子命令確定屬于所述長期消息類型的消息的第一推送次數,包括:
4.根據權利要求2所述的方法,其特征在于,還包括:
5.根據權利要求2所述的方法,其特征在于,所述方法還包括:
6.根據權利要求1所述的方法,其特征在于,目標類型為所述一次性消息類型,所述一次性消息類型關聯所述目標原子命令中的第二原子命令,所述第二原子命令用于鍵值對進行推送次數統計,鍵值對的值為推送次數;
7.?根據權利要求6所述的方法,其特征在于,還包括:
8.一種消息推送裝置,其特征在于,所述裝置包括:
9.?一種計算機設備,其特征在于,包括:
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質內存儲有計算
11.一種計算機程序產品,包括計算機程序,其特征在于,該計算機程序被處理器執行時實現權利要求1至7所述的消息推送方法的步驟。
...【技術特征摘要】
1.一種消息推送方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,目標類型為所述長期消息類型,所述長期消息類型關聯所述目標原子命令中的第一原子命令,所述第一原子命令用于有序集合進行推送次數統計;
3.根據權利要求2所述的方法,其特征在于,根據所述有序集合,通過所述第一原子命令確定屬于所述長期消息類型的消息的第一推送次數,包括:
4.根據權利要求2所述的方法,其特征在于,還包括:
5.根據權利要求2所述的方法,其特征在于,所述方法還包括:
6.根據權利要求1所述的方法,其特征在于,目標類型為所述一次性消息類型,所述一次...
【專利技術屬性】
技術研發人員:鄢晗暉,
申請(專利權)人:上海嗶哩嗶哩科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。