1.一種消息推送方法,其特征在于,所述方法包括以下步驟:
將應(yīng)用程序發(fā)送的實(shí)時(shí)消息或從消息隊(duì)列中取出的歷史消息作為待推送消息;
將所述待推送消息推送至目標(biāo)集群;
在所述待推送消息推送失敗時(shí),將預(yù)設(shè)失敗原因的待推送消息添加至所述消息隊(duì)列中。
2.如權(quán)利要求1所述的方法,其特征在于,所述將應(yīng)用程序發(fā)送的實(shí)時(shí)消息或從消息隊(duì)列中取出的歷史消息作為待推送消息,具體包括:
計(jì)算當(dāng)前周期的估計(jì)帶寬,根據(jù)所述估計(jì)帶寬將應(yīng)用程序發(fā)送的實(shí)時(shí)消息或從消息隊(duì)列中取出的歷史消息作為待推送消息。
3.如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述估計(jì)帶寬將應(yīng)用程序發(fā)送的實(shí)時(shí)消息或從消息隊(duì)列中取出的歷史消息作為待推送消息,具體包括:
將應(yīng)用程序發(fā)送的實(shí)時(shí)消息作為第一待推送消息;
判斷當(dāng)前周期的實(shí)際帶寬是否超過(guò)所述估計(jì)帶寬,若否,則將從消息隊(duì)列中取出預(yù)設(shè)數(shù)量的歷史消息作為第二待推送消息;
返回所述將應(yīng)用程序發(fā)送的實(shí)時(shí)消息作為第一待推送消息的步驟,直至在所述當(dāng)前周期的末尾時(shí),判斷當(dāng)前周期的實(shí)際帶寬是否超過(guò)所述估計(jì)帶寬,若否,則將從消息隊(duì)列中取出數(shù)量為剩余帶寬的歷史消息作為第三待推送消息,所述剩余帶寬為當(dāng)前周期的估計(jì)帶寬與所述實(shí)際帶寬之差。
4.如權(quán)利要求3所述的方法,其特征在于,所述預(yù)設(shè)數(shù)量通過(guò)下式進(jìn)行計(jì)算,
其中,N為所述預(yù)設(shè)數(shù)量,A為所述估計(jì)帶寬,B為實(shí)時(shí)消息的預(yù)計(jì)帶寬。
5.如權(quán)利要求2~4中任一項(xiàng)所述的方法,其特征在于,所述估計(jì)帶寬根據(jù)上一周期的實(shí)際帶寬和所述消息隊(duì)列的消息數(shù)量確定。
6.一種消息推送裝置,其特征在于,所述裝置包括:擴(kuò)展模塊和消息庫(kù)模塊;
所述擴(kuò)展模塊,用于將應(yīng)用程序發(fā)送的實(shí)時(shí)消息或從消息隊(duì)列中取出的歷史消息作為待推送消息,并將所述待推送消息傳輸至所述消息庫(kù)模塊;
所述消息庫(kù)模塊,用于將接收到的待推送消息進(jìn)行緩存,并將所述待推送消息推送至目標(biāo)集群;在所述待推送消息推送失敗時(shí),將所述待推送消息回傳至所述擴(kuò)展模塊,并將緩存的待推送消息刪除;
所述擴(kuò)展模塊,還用于在接收到消息庫(kù)模塊回傳的待推送消息時(shí),將預(yù)設(shè)失敗原因的待推送消息添加至所述消息隊(duì)列中。
7.如權(quán)利要求6所述的裝置,其特征在于,所述擴(kuò)展模塊,還用于計(jì)算當(dāng)前周期的估計(jì)帶寬,根據(jù)所述估計(jì)帶寬將應(yīng)用程序發(fā)送的實(shí)時(shí)消息或從消息隊(duì)列中取出的歷史消息作為待推送消息,并將所述待推送消息傳輸至消息庫(kù)模塊。
8.如權(quán)利要求7所述的裝置,其特征在于,所述擴(kuò)展模塊,還用于將應(yīng)用程序發(fā)送的實(shí)時(shí)消息作為第一待推送消息,并將所述第一待推送消息傳輸至消息庫(kù)模塊;判斷當(dāng)前周期的實(shí)際帶寬是否超過(guò)所述估計(jì)帶寬,若否,則將從消息隊(duì)列中取出預(yù)設(shè)數(shù)量的歷史消息作為第二待推送消息,將所述第二待推送消息傳輸至消息庫(kù)模塊;在所述當(dāng)前周期的末尾時(shí),判斷當(dāng)前周期的實(shí)際帶寬是否超過(guò)所述估計(jì)帶寬,若否,則將從消息隊(duì)列中取出數(shù)量為剩余帶寬的歷史消息作為第三待推送消息,將所述第三待推送消息傳輸至消息庫(kù)模塊,所述剩余帶寬為當(dāng)前周期的估計(jì)帶寬與所述實(shí)際帶寬之差。
9.如權(quán)利要求8所述的裝置,其特征在于,所述預(yù)設(shè)數(shù)量通過(guò)下式進(jìn)行計(jì)算,
其中,N為所述預(yù)設(shè)數(shù)量,A為所述估計(jì)帶寬,B為實(shí)時(shí)消息的預(yù)計(jì)帶寬。
10.如權(quán)利要求7~9中任一項(xiàng)所述的裝置,其特征在于,所述估計(jì)帶寬根據(jù)上一周期的實(shí)際帶寬和所述消息隊(duì)列的消息數(shù)量確定。