本發(fā)明專利技術(shù)提出了一種在多機(jī)部署情況下的提升消息推送效率的方法、裝置及推送服務(wù)器,通常多機(jī)環(huán)境下,消息推送服務(wù)器包括推送服務(wù)模塊和多個(gè)推送接入引擎,推送服務(wù)模塊分別與多個(gè)推送接入引擎相連,每個(gè)推送接入引擎分別與大量終端設(shè)備建立長連接(標(biāo)識為Session),所述方法包括:推送接入引擎接收推送服務(wù)模塊推送的消息和目標(biāo)終端的終端標(biāo)識,其中,推送服務(wù)模塊將消息和終端標(biāo)識無差別的推送至每個(gè)推送接入引擎上;推送接入引擎根據(jù)終端標(biāo)識判斷本推送接入引擎上是否存在與終端標(biāo)識對應(yīng)的長連接Session,如果存在與終端標(biāo)識對應(yīng)的長連接Session,則將消息通過長連接推送至對應(yīng)的終端設(shè)備上。本發(fā)明專利技術(shù)實(shí)施例的方法能夠大幅度提高消息推送的效率。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及通信
,尤其涉及一種在多機(jī)部署情況下的提升消息推送效率的方法、裝置及推送服務(wù)器。
技術(shù)介紹
移動(dòng)互聯(lián)網(wǎng)時(shí)代,各種推送產(chǎn)品、推送服務(wù)應(yīng)運(yùn)而生,并且為不同的移動(dòng)終端提供了單一的推送界面,用戶不必關(guān)注移動(dòng)終端的操作系統(tǒng)是Android或者iOS。隨著業(yè)務(wù)的擴(kuò)展,要求單個(gè)推送服務(wù)模塊的并發(fā)接入能力越來越高,目前單個(gè)推送服務(wù)模塊能夠承載的并發(fā)連接數(shù)已經(jīng)突破300萬,甚至達(dá)到了一個(gè)更高水平。為了滿足并發(fā)容量和高可用性要求,通常采用cluster方式對設(shè)備或模塊進(jìn)行擴(kuò)展,并將此稱之為多機(jī)部署環(huán)境。在推送領(lǐng)域中,推送接入引擎負(fù)責(zé)接入和維持與移動(dòng)終端之間的長連接(稱之為Session)。推送接入引擎是消息推送過程的最后一個(gè)環(huán)節(jié),負(fù)責(zé)把消息傳遞至移動(dòng)終端,每個(gè)移動(dòng)終端通過唯一的字符串(devicetoken)來標(biāo)識,并且長連接Session與devicetoken存在一一對應(yīng)的關(guān)系。通常,在多機(jī)環(huán)境中,長連接Session由連接定位模塊保存,并用devicetoken來標(biāo)識長連接Session。如圖1所示,當(dāng)消息推送發(fā)生時(shí),需要推送服務(wù)模塊先根據(jù)移動(dòng)終端的devicetoken從連接定位模塊中獲取該移動(dòng)終端對應(yīng)的推送接入引擎,然后將消息發(fā)送至對應(yīng)的推送接入引擎,最后通過對應(yīng)的長連接將消息推送到移動(dòng)終端。然而目前存在的問題是,由于大量的消息推送均需要重復(fù)在連接定位模塊中查找對應(yīng)的長連接Session,因此性能上成為瓶頸。排除網(wǎng)絡(luò)因素問題,百萬級別的廣播推送大約需要百秒量級的時(shí)間才能完成,導(dǎo)致推送效率低。
技術(shù)實(shí)現(xiàn)思路
本專利技術(shù)旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。為此,本專利技術(shù)的第一個(gè)目的在于提出一種在多機(jī)部署情況下提升消息推送效率的方法。本專利技術(shù)的第二個(gè)目的在于提出一種在多機(jī)部署情況下的提升消息推送效率的裝置。本專利技術(shù)的第三個(gè)目的在于提出一種推送服務(wù)器。為達(dá)上述目的,本專利技術(shù)第一方面實(shí)施例提出了一種在多機(jī)部署情況下的提升消息推送效率的方法,消息推送服務(wù)器包括推送服務(wù)模塊和多個(gè)推送接入引擎,所述推送服務(wù)模塊分別與所述多個(gè)推送接入引擎相連,每個(gè)所述推送接入引擎分別與所述多個(gè)終端設(shè)備建立長連接,所述方法包括以下步驟:推送接入引擎接收所述推送服務(wù)模塊推送的消息和終端標(biāo)識,其中,所述推送服務(wù)模塊將所述消息和所述終端標(biāo)識無差別的推送至所述每個(gè)推送接入引擎上;所述推送接入引擎根據(jù)所述終端標(biāo)識判斷所述推送接入引擎上是否存在與所述終端標(biāo)識對應(yīng)的長連接Session;如果所述推送接入引擎判斷存在與所述終端標(biāo)識對應(yīng)的長連接Session,則將所述消息通過所述長連接推送至對應(yīng)的終端設(shè)備上。本專利技術(shù)實(shí)施例的在多機(jī)部署情況下的消息推送方法,推送服務(wù)模塊將消息和終端標(biāo)識無差別的發(fā)送至所有的推送接入引擎上,推送接入引擎通過判斷是否存在與終端標(biāo)識對應(yīng)的長連接Session,如果存在與終端標(biāo)識對應(yīng)的長連接Session,則立刻將消息通過長連接推送至對應(yīng)的終端設(shè)備上,由此打破了消息推送過程中關(guān)于長連接Session定位的思維模式,通過構(gòu)架的調(diào)整將繁重的定位分發(fā)任務(wù)從效率相對低的推送服務(wù)模塊轉(zhuǎn)移到推送接入引擎,借助推送接入引擎的高性能特性實(shí)現(xiàn)推送效率的大幅度提高。在本專利技術(shù)的一個(gè)實(shí)施例中,所述方法還包括:如果所述推送接入引擎判斷不存在與所述終端標(biāo)識對應(yīng)的長連接Session,則將所述消息直接丟棄。在本專利技術(shù)的一個(gè)實(shí)施例中,所述推送接入引擎具有對應(yīng)關(guān)系列表,所述對應(yīng)關(guān)系列表包括終端標(biāo)識和長連接Session的對應(yīng)關(guān)系,所述方法還包括:所述推送接入引擎根據(jù)所述終端標(biāo)識和所述長連接Session的對應(yīng)關(guān)系判斷是否存在與所述終端標(biāo)識對應(yīng)的長連接Session。在本專利技術(shù)的一個(gè)實(shí)施例中,所述對應(yīng)關(guān)系列表還包括至少一個(gè)應(yīng)用ID,所述方法還包括:所述推送接入引擎根據(jù)所述至少一個(gè)應(yīng)用ID將所述消息推送至終端設(shè)備對應(yīng)的應(yīng)用程序上。為達(dá)上述目的,本專利技術(shù)第二方面實(shí)施例提出了一種在多機(jī)部署情況下的提升消息推送效率的裝置,包括:推送服務(wù)模塊,用于將消息和終端標(biāo)識無差別的推送至每個(gè)推送接入引擎上;推送接入引擎,所述推送接入引擎與所述推送服務(wù)模塊相連,用于分別與多個(gè)終端設(shè)備建立長連接,并根據(jù)所述終端標(biāo)識判斷所述推送接入引擎上是否存在與所述終端標(biāo)識對應(yīng)的長連接Session,以及在所述推送接入引擎判斷存在與所述終端標(biāo)識對應(yīng)的長連接Session時(shí),將所述消息通過所述長連接推送至對應(yīng)的終端設(shè)備上。本專利技術(shù)實(shí)施例的提升消息推送效率的裝置,推送服務(wù)模塊將消息和終端標(biāo)識無差別的發(fā)送至所有的推送接入引擎上,推送接入引擎通過判斷是否存在與終端標(biāo)識對應(yīng)的長連接Session,如果存在與終端標(biāo)識對應(yīng)的長連接Session,則立刻將消息通過長連接推送至對應(yīng)的終端設(shè)備上,由此打破了消息推送過程中關(guān)于長連接Session定位的思維模式,通過構(gòu)架的調(diào)整將繁重的定位分發(fā)任務(wù)從效率相對低的推送服務(wù)模塊轉(zhuǎn)移到推送接入引擎,借助推送接入引擎的高性能特性實(shí)現(xiàn)推送效率的大幅度提高。在本專利技術(shù)的一個(gè)實(shí)施例中,所述推送接入引擎還用于:在所述推送接入引擎判斷不存在與所述終端標(biāo)識對應(yīng)的長連接Session時(shí),將所述消息直接丟棄。在本專利技術(shù)的一個(gè)實(shí)施例中,所述推送接入引擎具有對應(yīng)關(guān)系列表,所述對應(yīng)關(guān)系列表包括終端標(biāo)識和長連接Session的對應(yīng)關(guān)系,所述推送接入引擎具體用于:根據(jù)所述終端標(biāo)識和所述長連接Session的對應(yīng)關(guān)系判斷是否存在與所述終端標(biāo)識對應(yīng)的長連接Session。在本專利技術(shù)的一個(gè)實(shí)施例中,所述對應(yīng)關(guān)系列表還包括至少一個(gè)應(yīng)用ID,所述推送接入引擎還用于:根據(jù)所述至少一個(gè)應(yīng)用ID將所述消息推送至終端設(shè)備對應(yīng)的應(yīng)用程序上。為達(dá)上述目的,本專利技術(shù)第三方面實(shí)施例提出了一種推送服務(wù)器,包括本專利技術(shù)第二方面實(shí)施例的提升消息推送效率的裝置。本專利技術(shù)實(shí)施例的推送服務(wù)器,推送服務(wù)模塊將消息和終端標(biāo)識無差別的發(fā)送至所有的推送接入引擎上,推送接入引擎通過判斷是否存在與終端標(biāo)識對應(yīng)的長連接Session,如果存在與終端標(biāo)識對應(yīng)的長連接Session,則立刻將消息通過長連接推送至對應(yīng)的終端設(shè)備上,由此打破了消息推送過程中關(guān)于長連接Session定位的思維模式,通過構(gòu)架的調(diào)整將繁重的定位分發(fā)任務(wù)從效率相對低的推送服務(wù)模塊轉(zhuǎn)移到推送接入引擎,借助推送接入引擎的高性能特性實(shí)現(xiàn)推送效率的大幅度提高。本專利技術(shù)附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本專利技術(shù)的實(shí)踐了解到。附圖說明本專利技術(shù)上述的本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種在多機(jī)部署情況下的提升消息推送效率的方法,其特征在于,消息推送服務(wù)器包括推送服務(wù)模塊和多個(gè)推送接入引擎,所述推送服務(wù)模塊分別與所述多個(gè)推送接入引擎相連,每個(gè)所述推送接入引擎分別與所述多個(gè)終端設(shè)備建立長連接,所述方法包括以下步驟:推送接入引擎接收所述推送服務(wù)模塊推送的消息和終端標(biāo)識,其中,所述推送服務(wù)模塊將所述消息和所述終端標(biāo)識無差別的推送至所述的每個(gè)推送接入引擎上;所述推送接入引擎根據(jù)所述終端標(biāo)識判斷所述推送接入引擎上是否存在與所述終端標(biāo)識對應(yīng)的長連接Session;如果所述推送接入引擎判斷存在與所述終端標(biāo)識對應(yīng)的長連接Session,則將所述消息通過所述長連接推送至對應(yīng)的終端設(shè)備上。
【技術(shù)特征摘要】
1.一種在多機(jī)部署情況下的提升消息推送效率的方法,其特征在于,消息推送服務(wù)器
包括推送服務(wù)模塊和多個(gè)推送接入引擎,所述推送服務(wù)模塊分別與所述多個(gè)推送接入引擎
相連,每個(gè)所述推送接入引擎分別與所述多個(gè)終端設(shè)備建立長連接,所述方法包括以下步
驟:
推送接入引擎接收所述推送服務(wù)模塊推送的消息和終端標(biāo)識,其中,所述推送服務(wù)模
塊將所述消息和所述終端標(biāo)識無差別的推送至所述的每個(gè)推送接入引擎上;
所述推送接入引擎根據(jù)所述終端標(biāo)識判斷所述推送接入引擎上是否存在與所述終端標(biāo)
識對應(yīng)的長連接Session;
如果所述推送接入引擎判斷存在與所述終端標(biāo)識對應(yīng)的長連接Session,則將所述消息
通過所述長連接推送至對應(yīng)的終端設(shè)備上。
2.如權(quán)利要求1所述的方法,其特征在于,還包括:
如果所述推送接入引擎判斷不存在與所述終端標(biāo)識對應(yīng)的長連接Session,則將所述消
息直接丟棄。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述推送接入引擎具有對應(yīng)關(guān)系列表,
所述對應(yīng)關(guān)系列表包括終端標(biāo)識和長連接Session的對應(yīng)關(guān)系,所述消息推送方法還包括:
所述推送接入引擎根據(jù)所述終端標(biāo)識和所述長連接Session的對應(yīng)關(guān)系判斷是否存在
與所述終端標(biāo)識對應(yīng)的長連接Session。
4.如權(quán)利要求3所述的方法,其特征在于,所述對應(yīng)關(guān)系列表還包括至少一個(gè)應(yīng)用ID,
所述方法還包括:
所述推送接入引擎根據(jù)所述至少一個(gè)應(yīng)用ID將所...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:鄭緒光,張建勛,
申請(專利權(quán))人:東軟集團(tuán)股份有限公司,
類型:發(fā)明
國別省市:遼寧;21
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會(huì)獲得科技券。