1.一種回調(diào)消息的處理方法,其特征在于,包括:
隊(duì)列管理系統(tǒng)從分布式消息隊(duì)列中讀取到第一回調(diào)消息,并保留所述第一回調(diào)消息在所述分布式消息隊(duì)列中,所述分布式消息隊(duì)列中包括:從提供方后臺(tái)服務(wù)器獲取到的至少一個(gè)回調(diào)消息,每個(gè)所述回調(diào)消息對(duì)應(yīng)有一個(gè)消息標(biāo)識(shí);
所述隊(duì)列管理系統(tǒng)向使用方后臺(tái)服務(wù)器發(fā)送回調(diào)請(qǐng)求,所述回調(diào)請(qǐng)求包括:所述第一回調(diào)消息和所述第一回調(diào)消息對(duì)應(yīng)的第一消息標(biāo)識(shí);
所述隊(duì)列管理系統(tǒng)判斷在預(yù)置的時(shí)間段內(nèi)是否接收到所述使用方后臺(tái)服務(wù)器發(fā)送的回調(diào)響應(yīng);
當(dāng)所述隊(duì)列管理系統(tǒng)在所述時(shí)間段內(nèi)接收到所述回調(diào)響應(yīng)時(shí),所述隊(duì)列管理系統(tǒng)獲取所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí);
若所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)是所述第一消息標(biāo)識(shí),所述隊(duì)列管理系統(tǒng)將所述第一消息標(biāo)識(shí)對(duì)應(yīng)的所述第一回調(diào)消息從所述分布式消息隊(duì)列中刪除掉。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述隊(duì)列管理系統(tǒng)獲取所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)之后,所述方法還包括:
若所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)不是所述第一消息標(biāo)識(shí),所述隊(duì)列管理系統(tǒng)判斷所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)對(duì)應(yīng)的回調(diào)消息是否已經(jīng)發(fā)送給所述使用方后臺(tái)服務(wù)器;
若所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)對(duì)應(yīng)的回調(diào)消息已經(jīng)發(fā)送給所述使用方后臺(tái)服務(wù)器,將所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)對(duì)應(yīng)的回調(diào)消息從所述分布式消息隊(duì)列中刪除掉;
若所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)對(duì)應(yīng)的回調(diào)消息還未發(fā)送給所述使用方后臺(tái)服務(wù)器,或所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)對(duì)應(yīng)的回調(diào)消息不存在于所述分布式消息隊(duì)列中,則對(duì)所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)不做處理。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述隊(duì)列管理系統(tǒng)從分布式消息隊(duì)列中讀取到第一回調(diào)消息,包括:
所述隊(duì)列管理系統(tǒng)按照先入先出原則從所述分布式消息隊(duì)列的頭部讀取到第一回調(diào)消息。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述隊(duì)列管理系統(tǒng)判斷在預(yù)置的時(shí)間段內(nèi)是否接收到所述使用方后臺(tái)服務(wù)器發(fā)送的回調(diào)響應(yīng)之后,所述方法還包括:
當(dāng)所述隊(duì)列管理系統(tǒng)在所述時(shí)間段內(nèi)沒(méi)有接收到所述回調(diào)響應(yīng)時(shí),所述隊(duì)列管理系統(tǒng)將所述第一回調(diào)消息轉(zhuǎn)移到所述分布式消息隊(duì)列的尾部。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述隊(duì)列管理系統(tǒng)獲取所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)之后,所述方法還包括:
若所述隊(duì)列管理系統(tǒng)在所述時(shí)間段結(jié)束時(shí)還沒(méi)有獲取到所述使用方后臺(tái)服務(wù)器發(fā)送的第一消息標(biāo)識(shí),所述隊(duì)列管理系統(tǒng)將所述第一回調(diào)消息轉(zhuǎn)移到所述分布式消息隊(duì)列的尾部。
6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,所述隊(duì)列管理系統(tǒng)將所述第一回調(diào)消息轉(zhuǎn)移到所述分布式消息隊(duì)列的尾部之后,所述方法還包括:
所述隊(duì)列管理系統(tǒng)重新從所述分布式消息隊(duì)列中讀取到所述第一回調(diào)消息,并保留所述第一回調(diào)消息在所述分布式消息隊(duì)列中;
所述隊(duì)列管理系統(tǒng)重新向使用方后臺(tái)服務(wù)器發(fā)送所述回調(diào)請(qǐng)求;
所述隊(duì)列管理系統(tǒng)重新判斷在預(yù)置的時(shí)間段內(nèi)是否接收到所述使用方后臺(tái)服務(wù)器發(fā)送的回調(diào)響應(yīng);
若所述隊(duì)列管理系統(tǒng)在所述時(shí)間段結(jié)束時(shí)還沒(méi)有獲取到所述使用方后臺(tái)服務(wù)器發(fā)送的第一消息標(biāo)識(shí),所述隊(duì)列管理系統(tǒng)將所述第一回調(diào)消息再次轉(zhuǎn)移到所述分布式消息隊(duì)列的尾部。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述隊(duì)列管理系統(tǒng)重新判斷在預(yù)置的時(shí)間段內(nèi)是否接收到所述使用方后臺(tái)服務(wù)器發(fā)送的回調(diào)響應(yīng)之后,所述方法還包括:
若所述隊(duì)列管理系統(tǒng)在所述時(shí)間段結(jié)束時(shí)還沒(méi)有獲取到所述使用方后臺(tái)服務(wù)器發(fā)送的第一消息標(biāo)識(shí),所述隊(duì)列管理系統(tǒng)判斷重新發(fā)送所述回調(diào)請(qǐng)求的發(fā)送次數(shù)是否超過(guò)閾值,若所述發(fā)送次數(shù)超過(guò)閾值,所述隊(duì)列管理系統(tǒng)將所述第一回調(diào)消息從所述分布式消息隊(duì)列中刪除掉,并將所述第一回調(diào)消息存儲(chǔ)到所述隊(duì)列管理系統(tǒng)的存儲(chǔ)器中。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述隊(duì)列管理系統(tǒng)判斷在預(yù)置的時(shí)間段內(nèi)是否接收到所述使用方后臺(tái)服務(wù)器發(fā)送的回調(diào)響應(yīng),包括:
所述隊(duì)列管理系統(tǒng)監(jiān)測(cè)所述隊(duì)列管理系統(tǒng)和所述使用方后臺(tái)服務(wù)器之間建立的WebSocket連接,判斷在所述時(shí)間段內(nèi)是否接收到通過(guò)所述WebSocket連接傳送的回調(diào)響應(yīng)。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述隊(duì)列管理系統(tǒng)從分布式消息隊(duì)列中讀取到第一回調(diào)消息,并保留所述第一回調(diào)消息在所述分布式消息隊(duì)列中之后,所述方法包括:
所述隊(duì)列管理系統(tǒng)將保留在所述分布式消息隊(duì)列中的第一回調(diào)消息標(biāo)記為未響應(yīng)狀態(tài);
所述隊(duì)列管理系統(tǒng)從所述分布式消息隊(duì)列中讀取沒(méi)有被標(biāo)記為未響應(yīng)狀態(tài)的第二回調(diào)消息,并向所述使用方后臺(tái)服務(wù)器發(fā)送讀取到的第二回調(diào)消息。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
所述隊(duì)列管理系統(tǒng)從提供方后臺(tái)服務(wù)器獲取到回調(diào)消息,并將獲取到的回調(diào)消息寫(xiě)入到分布式消息隊(duì)列中。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述隊(duì)列管理系統(tǒng)從提供方后臺(tái)服務(wù)器獲取到回調(diào)消息,并將獲取到的回調(diào)消息寫(xiě)入到分布式消息隊(duì)列中之后,所述方法還包括:
所述隊(duì)列管理系統(tǒng)判斷回調(diào)消息寫(xiě)入所述分布式消息隊(duì)列的寫(xiě)入頻率是否超過(guò)預(yù)置的回調(diào)頻率;
若所述寫(xiě)入頻率超過(guò)所述回調(diào)頻率,所述隊(duì)列管理系統(tǒng)暫緩從所述分布式消息隊(duì)列中讀取回調(diào)消息。
12.一種隊(duì)列管理系統(tǒng),其特征在于,包括:
回調(diào)消息讀取模塊,用于從分布式消息隊(duì)列中讀取到第一回調(diào)消息,并保留所述第一回調(diào)消息在所述分布式消息隊(duì)列中,所述分布式消息隊(duì)列中包括:從提供方后臺(tái)服務(wù)器獲取到的至少一個(gè)回調(diào)消息,每個(gè)所述回調(diào)消息對(duì)應(yīng)有一個(gè)消息標(biāo)識(shí);
回調(diào)請(qǐng)求發(fā)送模塊,用于向使用方后臺(tái)服務(wù)器發(fā)送回調(diào)請(qǐng)求,所述回調(diào)請(qǐng)求包括:所述第一回調(diào)消息和所述第一回調(diào)消息對(duì)應(yīng)的第一消息標(biāo)識(shí);
判斷模塊,用于判斷在預(yù)置的時(shí)間段內(nèi)是否接收到所述使用方后臺(tái)服務(wù)器發(fā)送的回調(diào)響應(yīng);
回調(diào)響應(yīng)解析模塊,用于當(dāng)所述隊(duì)列管理系統(tǒng)在所述時(shí)間段內(nèi)接收到所述回調(diào)響應(yīng)時(shí),獲取所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí);
回調(diào)消息管理模塊,用于若所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)是所述第一消息標(biāo)識(shí),將所述第一消息標(biāo)識(shí)對(duì)應(yīng)的所述第一回調(diào)消息從所述分布式消息隊(duì)列中刪除掉。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述回調(diào)消息管理模塊,還用于所述回調(diào)響應(yīng)解析模塊獲取所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)之后,若所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)不是所述第一消息標(biāo)識(shí),判斷所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)對(duì)應(yīng)的回調(diào)消息是否已經(jīng)發(fā)送給所述使用方后臺(tái)服務(wù)器;若所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)對(duì)應(yīng)的回調(diào)消息已經(jīng)發(fā)送給所述使用方后臺(tái)服務(wù)器,將所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)對(duì)應(yīng)的回調(diào)消息從所述分布式消息隊(duì)列中刪除掉;若所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)對(duì)應(yīng)的回調(diào)消息還未發(fā)送給所述使用方后臺(tái)服務(wù)器,或所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)對(duì)應(yīng)的回調(diào)消息不存在于所述分布式消息隊(duì)列中,則對(duì)所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)不做處理。
14.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述回調(diào)消息讀取模塊,具體用于按照先入先出原則從所述分布式消息隊(duì)列的頭部讀取到第一回調(diào)消息。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述回調(diào)消息管理模塊,還用于所述判斷模塊判斷在預(yù)置的時(shí)間段內(nèi)是否接收到所述使用方后臺(tái)服務(wù)器發(fā)送的回調(diào)響應(yīng)之后,當(dāng)所述隊(duì)列管理系統(tǒng)在所述時(shí)間段內(nèi)沒(méi)有接收到所述回調(diào)響應(yīng)時(shí),將所述第一回調(diào)消息轉(zhuǎn)移到所述分布式消息隊(duì)列的尾部。
16.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述回調(diào)消息管理模塊,還用于所述回調(diào)消息解析模塊獲取所述回調(diào)響應(yīng)中攜帶的消息標(biāo)識(shí)之后,若所述隊(duì)列管理系統(tǒng)在所述時(shí)間段結(jié)束時(shí)還沒(méi)有獲取到所述使用方后臺(tái)服務(wù)器發(fā)送的第一消息標(biāo)識(shí),將所述第一回調(diào)消息轉(zhuǎn)移到所述分布式消息隊(duì)列的尾部。
17.根據(jù)權(quán)利要求15或16所述的系統(tǒng),其特征在于,
所述回調(diào)消息讀取模塊,還用于所述回調(diào)消息管理模塊將所述第一回調(diào)消息轉(zhuǎn)移到所述分布式消息隊(duì)列的尾部之后,重新從所述分布式消息隊(duì)列中讀取到所述第一回調(diào)消息,并保留所述第一回調(diào)消息在所述分布式消息隊(duì)列中;
所述回調(diào)請(qǐng)求發(fā)送模塊,還用于重新向使用方后臺(tái)服務(wù)器發(fā)送所述回調(diào)請(qǐng)求;
所述判斷模塊,還用于重新判斷在預(yù)置的時(shí)間段內(nèi)是否接收到所述使用方后臺(tái)服務(wù)器發(fā)送的回調(diào)響應(yīng);
所述回調(diào)消息管理模塊,還用于若所述隊(duì)列管理系統(tǒng)在所述時(shí)間段結(jié)束時(shí)還沒(méi)有獲取到所述使用方后臺(tái)服務(wù)器發(fā)送的第一消息標(biāo)識(shí),將所述第一回調(diào)消息再次轉(zhuǎn)移到所述分布式消息隊(duì)列的尾部。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),其特征在于,所述隊(duì)列管理系統(tǒng),還包括:回調(diào)請(qǐng)求控制模塊,其中,
所述回調(diào)請(qǐng)求控制模塊,還用于所述判斷模塊重新判斷在預(yù)置的時(shí)間段內(nèi)是否接收到所述使用方后臺(tái)服務(wù)器發(fā)送的回調(diào)響應(yīng)之后,若所述隊(duì)列管理系統(tǒng)在所述時(shí)間段結(jié)束時(shí)還沒(méi)有獲取到所述使用方后臺(tái)服務(wù)器發(fā)送的第一消息標(biāo)識(shí),判斷重新發(fā)送所述回調(diào)請(qǐng)求的發(fā)送次數(shù)是否超過(guò)閾值;
所述回調(diào)消息管理模塊,還用于若所述發(fā)送次數(shù)超過(guò)閾值,將所述第一回調(diào)消息從所述分布式消息隊(duì)列中刪除掉,并將所述第一回調(diào)消息存儲(chǔ)到所述隊(duì)列管理系統(tǒng)的存儲(chǔ)器中。
19.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述判斷模塊,具體用于監(jiān)測(cè)所述隊(duì)列管理系統(tǒng)和所述使用方后臺(tái)服務(wù)器之間建立的WebSocket連接,判斷在所述時(shí)間段內(nèi)是否接收到通過(guò)所述WebSocket連接傳送的回調(diào)響應(yīng)。
20.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述隊(duì)列管理系統(tǒng),還包括:消息狀態(tài)管理模塊,用于所述回調(diào)消息讀取模塊從分布式消息隊(duì)列中讀取到第一回調(diào)消息,并保留所述第一回調(diào)消息在所述分布式消息隊(duì)列中之后,將保留在所述分布式消息隊(duì)列中的第一回調(diào)消息標(biāo)記為未響應(yīng)狀態(tài);
所述回調(diào)消息讀取模塊,還用于從所述分布式消息隊(duì)列中讀取沒(méi)有被標(biāo)記為未響應(yīng)狀態(tài)的第二回調(diào)消息,并向所述使用方后臺(tái)服務(wù)器發(fā)送讀取到的第二回調(diào)消息。
21.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述隊(duì)列管理系統(tǒng),還包括:回調(diào)消息生成模塊,用于從提供方后臺(tái)服務(wù)器獲取到回調(diào)消息,并將獲取到的回調(diào)消息寫(xiě)入到分布式消息隊(duì)列中。
22.根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述隊(duì)列管理系統(tǒng)還包括:回調(diào)消息控制模塊,用于所述回調(diào)消息讀取模塊從提供方后臺(tái)服務(wù)器獲取到回調(diào)消息,并將獲取到的回調(diào)消息寫(xiě)入到分布式消息隊(duì)列中之后,判斷回調(diào)消息寫(xiě)入所述分布式消息隊(duì)列的寫(xiě)入頻率是否超過(guò)預(yù)置的回調(diào)頻率;若所述寫(xiě)入頻率超過(guò)所述回調(diào)頻率,暫緩從所述分布式消息隊(duì)列中讀取回調(diào)消息。