客戶端消息的推送方法、裝置和服務(wù)器的制造方法
【專利摘要】本發(fā)明提供一種客戶端消息的推送方法、裝置和服務(wù)器,服務(wù)器接收到客戶端發(fā)送的消息后,如果判斷出消息類型為即時短消息,則將即時短消息輸入至短消息發(fā)送隊列中進行發(fā)送;如果判斷出消息類型為監(jiān)控消息,則對監(jiān)控消息進行字節(jié)流解析后輸入至監(jiān)控消息發(fā)送隊列中進行發(fā)送。從而實現(xiàn)提高服務(wù)器對與客戶端交互消息的轉(zhuǎn)發(fā)效率和轉(zhuǎn)發(fā)質(zhì)量。
【專利說明】客戶端消息的推送方法、裝置和服務(wù)器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息【技術(shù)領(lǐng)域】,尤其涉及一種客戶端消息的推送方法、裝置和服務(wù)器。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)用戶量的日益增大,互聯(lián)網(wǎng)產(chǎn)品提供的服務(wù)也越來越多,現(xiàn)在各種移動終端的用戶體驗要求的增高也給服務(wù)器造成了很大的壓力。服務(wù)器在關(guān)注用戶數(shù)據(jù)和業(yè)務(wù)的同時還要給客戶端一些實時的消息反饋,包括用戶個人的業(yè)務(wù)消息和服務(wù)給用戶推送的數(shù)據(jù)消息。
[0003]現(xiàn)有技術(shù)中,消息邏輯和業(yè)務(wù)邏輯統(tǒng)一在一臺服務(wù)器上,服務(wù)器與客戶端交互的消息以及業(yè)務(wù)數(shù)據(jù)均通過服務(wù)接口轉(zhuǎn)發(fā)。因此,服務(wù)器對交互消息的轉(zhuǎn)發(fā)效率和轉(zhuǎn)發(fā)質(zhì)量較低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種客戶端消息的推送方法、裝置和服務(wù)器,以提高服務(wù)器對與客戶端交互消息的轉(zhuǎn)發(fā)效率和轉(zhuǎn)發(fā)質(zhì)量。
[0005]—方面,本發(fā)明提供一種客戶端消息的推送方法,包括:
[0006]接收客戶端發(fā)送的消息;
[0007]判斷所述消息的消息類型;
[0008]若判斷出所述消息為即時短消息,則將所述即時短消息輸入至短消息發(fā)送隊列中進行發(fā)送;若判斷出所述消息為監(jiān)控消息,則對所述監(jiān)控消息進行字節(jié)流解析后輸入至監(jiān)控消息發(fā)送隊列中進行發(fā)送。
[0009]另一方面,本發(fā)明提供一種客戶端消息的推送裝置,包括:
[0010]接收模塊,用于接收客戶端發(fā)送的消息;
[0011]判斷模塊,用于判斷所述消息的消息類型;
[0012]發(fā)送模塊,用于若所述判斷模塊判斷出所述消息為即時短消息,則將所述即時短消息輸入至短消息發(fā)送隊列中進行發(fā)送;若所述判斷模塊判斷出所述消息為監(jiān)控消息,則對所述監(jiān)控消息進行字節(jié)流解析后輸入至監(jiān)控消息發(fā)送隊列中進行發(fā)送。
[0013]再一方面,本發(fā)明提供一種服務(wù)器,包括:本發(fā)明提供的客戶端消息的推送裝置。
[0014]本發(fā)明提供的客戶端消息的推送方法、裝置和服務(wù)器,服務(wù)器接收到客戶端發(fā)送的消息后,如果判斷出消息類型為即時短消息,則將即時短消息輸入至短消息發(fā)送隊列中進行發(fā)送;如果判斷出消息類型為監(jiān)控消息,則對監(jiān)控消息進行字節(jié)流解析后輸入至監(jiān)控消息發(fā)送隊列中進行發(fā)送。從而實現(xiàn)提高服務(wù)器對與客戶端交互消息的轉(zhuǎn)發(fā)效率和轉(zhuǎn)發(fā)質(zhì)量。
【專利附圖】
【附圖說明】
[0015]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖做一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1為本發(fā)明提供的客戶端消息的推送方法一個實施例的流程圖;
[0017]圖2為本發(fā)明提供的客戶端消息的推送方法中服務(wù)器的邏輯層次劃分示意圖;
[0018]圖3為本發(fā)明提供的客戶端消息的推送方法中服務(wù)器的發(fā)送隊列示意圖;
[0019]圖4為本發(fā)明提供的客戶端消息的推送裝置一個實施例的結(jié)構(gòu)示意圖。
【具體實施方式】
[0020]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0021]圖1為本發(fā)明提供的客戶端消息的推送方法一個實施例的流程圖,如圖1所示,該方法包括:
[0022]S101、接收客戶端發(fā)送的消息;
[0023]S102、判斷消息的消息類型;
[0024]S103、若判斷出消息為即時短消息,則將即時短消息輸入至短消息發(fā)送隊列中進行發(fā)送;
[0025]S104、若判斷出消息為監(jiān)控消息,則對監(jiān)控消息進行字節(jié)流解析后輸入至監(jiān)控消息發(fā)送隊列中進行發(fā)送。
[0026]本發(fā)明提供的客戶端消息的推送方法的執(zhí)行主體可以是位于網(wǎng)絡(luò)側(cè)的服務(wù)器,該服務(wù)器可以既可以與客戶端進行消息交互,又可以與客戶端進行業(yè)務(wù)數(shù)據(jù)的交互。
[0027]其中,與客戶端進行的消息交互主要包括即時短消息和監(jiān)控消息。即時短消息可以適用于客戶端一對一通訊的實施場景,即,服務(wù)器接收到一個客戶端發(fā)送的即時短消息后,需要將該即時短消息發(fā)送給特定的一個客戶端。即時短消息還可以適用于客戶端一對多通訊的實施場景,即服務(wù)器接收到一個客戶端發(fā)送的即時短消息后,群發(fā)給多個客戶端。
[0028]本發(fā)明實施例中,服務(wù)器接收到客戶端發(fā)送的消息后,如果判斷出該消息的類型為即時短消息,則服務(wù)區(qū)并不解析該即時短消息的內(nèi)容,而是直接將即時短消息從接收隊列直接放置到短消息發(fā)送隊列中進行發(fā)送,進入短消息發(fā)送隊列中的短消息,按照進入該隊列中的先后順序依次發(fā)送。需要說明的是,客戶端發(fā)送消息給服務(wù)器之后,客戶端可以繼續(xù)執(zhí)行自身的其他業(yè)務(wù)操作而不必等待服務(wù)器的轉(zhuǎn)發(fā)操作結(jié)果,服務(wù)器向客戶端轉(zhuǎn)發(fā)的消息可以由客戶端自動獲取,因此,本發(fā)明提供的客戶端消息的推送方法以非阻塞模式進行消息的發(fā)送。
[0029]如果服務(wù)器判斷出接收到的消息是監(jiān)控消息,則服務(wù)器可以截取客戶端傳輸?shù)淖止?jié)流進行解析,將監(jiān)控消息發(fā)送到監(jiān)控消息發(fā)送隊列中進行發(fā)送。例如:服務(wù)器向客戶端發(fā)出了一個指令消息,以指示客戶端執(zhí)行某些操作,服務(wù)器需要獲知客戶端執(zhí)行該操作的狀態(tài),因此,客戶端在執(zhí)行該操作過程或執(zhí)行操作結(jié)束后向服務(wù)器發(fā)送的消息即為監(jiān)控消息。需要說明的是,該監(jiān)控消息發(fā)送隊列可以是一個同步的隊列,例如:服務(wù)器可以為某一個客戶端群(包括多個客戶端)設(shè)定一個同步的隊列,則該隊列發(fā)送了一個消息之后,當前的隊列就進入一種鎖定的狀態(tài),在此期間任何其他的消息都不再發(fā)送直到發(fā)送出去的消息完成了它的整個生命周期。
[0030]在上述實施方式的基礎(chǔ)上,作為一種較佳的實施例,對于即時短消息或者監(jiān)控消息,都可以具有不同的優(yōu)先級,可以實現(xiàn)按照優(yōu)先級的順序轉(zhuǎn)發(fā)即時短消息或者監(jiān)控消息。在該場景下,服務(wù)器接收到客戶端發(fā)送的即時短消息后,可以先確定即時短消息的優(yōu)先級,再根據(jù)即時短消息的優(yōu)先級將即時短消息輸入至短消息發(fā)送隊列中的對應(yīng)位置,優(yōu)先級較高的即時短消息可以放置到短消息發(fā)送隊列中相對靠前的位置以實現(xiàn)優(yōu)先發(fā)送,優(yōu)先級較低的即時短消息可以放置到短消息發(fā)送隊列中相對靠后的位置。類似的,服務(wù)器接收到監(jiān)控消息后,也可以先確定監(jiān)控消息的優(yōu)先級,再對監(jiān)控消息進行字節(jié)流解析后,根據(jù)監(jiān)控消息的優(yōu)先級將監(jiān)控消息輸入至監(jiān)控消息發(fā)送隊列中的對應(yīng)位置,優(yōu)先級較高的監(jiān)控消息可以放置到監(jiān)控消息發(fā)送隊列中相對靠前的位置以實現(xiàn)優(yōu)先發(fā)送,優(yōu)先級較低的監(jiān)控消息可以放置到監(jiān)控消息發(fā)送隊列中相對靠后的位置。
[0031]另外,考慮到客戶端轉(zhuǎn)發(fā)大量消息的實施場景,如圖2所示,可以將服務(wù)器端劃分為接入層,邏輯層和數(shù)據(jù)層,其中,數(shù)據(jù)層可以具有內(nèi)存存儲功能和持久化存儲功能,在上述每一層均可以具有接收隊列和發(fā)送隊列。
[0032]具體的:在接入層接收客戶端發(fā)送的消息之后,可以依次傳輸至邏輯層和數(shù)據(jù)層。如圖3所示,短消息發(fā)送隊列依次可以包括:數(shù)據(jù)層短消息發(fā)送隊列、邏輯層短消息發(fā)送隊列和接入層短消息發(fā)送隊列;即時短消息到達數(shù)據(jù)層之后,可以先輸入至數(shù)據(jù)層短消息發(fā)送隊列,再依次輸入邏輯層短消息發(fā)送隊列和接入層短消息發(fā)送隊列,最后從接入層短消息發(fā)送隊列發(fā)送出去。類似的,監(jiān)控消息發(fā)送隊列依次可以包括:數(shù)據(jù)層監(jiān)控消息發(fā)送隊列、邏輯層監(jiān)控消息發(fā)送隊列和接入層監(jiān)控消息發(fā)送隊列。監(jiān)控消息到達數(shù)據(jù)層之后,可以先輸入至數(shù)據(jù)層監(jiān)控消息發(fā)送隊列,再依次輸入邏輯層監(jiān)控消息發(fā)送隊列和接入層監(jiān)控消息發(fā)送隊列,最后從接入層監(jiān)控消息發(fā)送隊列發(fā)送出去。
[0033]本實施例提供的客戶端消息的推送方法,服務(wù)器接收到客戶端發(fā)送的消息后,如果判斷出消息類型為即時短消息,則將即時短消息輸入至短消息發(fā)送隊列中進行發(fā)送;如果判斷出消息類型為監(jiān)控消息,則對監(jiān)控消息進行字節(jié)流解析后輸入至監(jiān)控消息發(fā)送隊列中進行發(fā)送。從而實現(xiàn)提高服務(wù)器對與客戶端交互消息的轉(zhuǎn)發(fā)效率和轉(zhuǎn)發(fā)質(zhì)量。
[0034]圖4為本發(fā)明提供的客戶端消息的推送裝置一個實施例的結(jié)構(gòu)示意圖,如圖4所示,該裝置包括:
[0035]接收模塊41,用于接收客戶端發(fā)送的消息;
[0036]判斷模塊42,用于判斷消息的消息類型;
[0037]發(fā)送模塊43,用于若判斷模塊判斷出消息為即時短消息,則將即時短消息輸入至短消息發(fā)送隊列中進行發(fā)送;若判斷模塊判斷出消息為監(jiān)控消息,則對監(jiān)控消息進行字節(jié)流解析后輸入至監(jiān)控消息發(fā)送隊列中進行發(fā)送。
[0038]其中,與客戶端進行的消息交互主要包括即時短消息和監(jiān)控消息。即時短消息可以適用于客戶端一對一通訊的實施場景,即,接收模塊41接收到一個客戶端發(fā)送的即時短消息后,發(fā)送模塊43需要將該即時短消息發(fā)送給特定的一個客戶端。即時短消息還可以適用于客戶端一對多通訊的實施場景,即接收模塊41接收到一個客戶端發(fā)送的即時短消息后,發(fā)送模塊43群發(fā)給多個客戶端。
[0039]本發(fā)明實施例中,接收模塊41接收到客戶端發(fā)送的消息后,如果判斷模塊42判斷出該消息的類型為即時短消息,則發(fā)送模塊43并不解析該即時短消息的內(nèi)容,而是直接將即時短消息從接收隊列直接放置到短消息發(fā)送隊列中進行發(fā)送,進入短消息發(fā)送隊列中的短消息,按照進入該隊列中的先后順序依次發(fā)送,即以非阻塞模式進行消息的發(fā)送。如果判斷模塊42判斷出接收到的消息是監(jiān)控消息,則發(fā)送模塊43可以截取客戶端傳輸?shù)淖止?jié)流進行解析,將監(jiān)控消息發(fā)送到監(jiān)控消息發(fā)送隊列中進行發(fā)送。需要說明的是,該監(jiān)控消息發(fā)送隊列是一個同步的隊列。
[0040]在上述實施方式的基礎(chǔ)上,作為一種較佳的實施例,對于即時短消息或者監(jiān)控消息,都可以具有不同的優(yōu)先級,可以實現(xiàn)按照優(yōu)先級的順序轉(zhuǎn)發(fā)即時短消息或者監(jiān)控消息。在該場景下,接收模塊41接收到客戶端發(fā)送的即時短消息后,發(fā)送模塊43可以先確定即時短消息的優(yōu)先級,再根據(jù)即時短消息的優(yōu)先級將即時短消息輸入至短消息發(fā)送隊列中的對應(yīng)位置,優(yōu)先級較高的即時短消息可以放置到短消息發(fā)送隊列中相對靠前的位置以實現(xiàn)優(yōu)先發(fā)送,優(yōu)先級較低的即時短消息可以放置到短消息發(fā)送隊列中相對靠后的位置。類似的,接收模塊41接收到監(jiān)控消息后,發(fā)送模塊43也可以先確定監(jiān)控消息的優(yōu)先級,再對監(jiān)控消息進行字節(jié)流解析后,根據(jù)監(jiān)控消息的優(yōu)先級將監(jiān)控消息輸入至監(jiān)控消息發(fā)送隊列中的對應(yīng)位置,優(yōu)先級較高的監(jiān)控消息可以放置到監(jiān)控消息發(fā)送隊列中相對靠前的位置以實現(xiàn)優(yōu)先發(fā)送,優(yōu)先級較低的監(jiān)控消息可以放置到監(jiān)控消息發(fā)送隊列中相對靠后的位置。
[0041]另外,考慮到客戶端轉(zhuǎn)發(fā)大量消息的實施場景,如圖2所示,可以將服務(wù)器端劃分為接入層,邏輯層和數(shù)據(jù)層,其中,數(shù)據(jù)層可以具有內(nèi)存存儲功能和持久化存儲功能,在上述每一層均可以具有接收隊列和發(fā)送隊列。
[0042]具體的:接收模塊41在接入層接收客戶端發(fā)送的消息之后,可以依次傳輸至邏輯層和數(shù)據(jù)層。如圖3所示,短消息發(fā)送隊列依次可以包括:數(shù)據(jù)層短消息發(fā)送隊列、邏輯層短消息發(fā)送隊列和接入層短消息發(fā)送隊列;即時短消息到達數(shù)據(jù)層之后,發(fā)送模塊43可以先輸入至數(shù)據(jù)層短消息發(fā)送隊列,再依次輸入邏輯層短消息發(fā)送隊列和接入層短消息發(fā)送隊列,最后從接入層短消息發(fā)送隊列發(fā)送出去。類似的,監(jiān)控消息發(fā)送隊列依次可以包括:數(shù)據(jù)層監(jiān)控消息發(fā)送隊列、邏輯層監(jiān)控消息發(fā)送隊列和接入層監(jiān)控消息發(fā)送隊列。監(jiān)控消息到達數(shù)據(jù)層之后,發(fā)送模塊43可以先輸入至數(shù)據(jù)層監(jiān)控消息發(fā)送隊列,再依次輸入邏輯層監(jiān)控消息發(fā)送隊列和接入層監(jiān)控消息發(fā)送隊列,最后從接入層監(jiān)控消息發(fā)送隊列發(fā)送出去。
[0043]本實施例提供的客戶端消息的推送裝置,服務(wù)器接收到客戶端發(fā)送的消息后,如果判斷出消息類型為即時短消息,則將即時短消息輸入至短消息發(fā)送隊列中進行發(fā)送;如果判斷出消息類型為監(jiān)控消息,則對監(jiān)控消息進行字節(jié)流解析后輸入至監(jiān)控消息發(fā)送隊列中進行發(fā)送。從而實現(xiàn)提高服務(wù)器對與客戶端交互消息的轉(zhuǎn)發(fā)效率和轉(zhuǎn)發(fā)質(zhì)量。
[0044]本發(fā)明還提供一種服務(wù)器實施例,該服務(wù)器包括本發(fā)明實施例提供的客戶端消息的推送裝置,該裝置的結(jié)構(gòu)及其對應(yīng)功能可參見圖4所示實施例中的相關(guān)描述,在此不再贅述。
[0045]以上所述,以上實施例僅用以說明本申請的技術(shù)方案,而非對其限制;盡管參照前述實施例對本申請進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本申請各實施例技術(shù)方案的精神和范圍。
【權(quán)利要求】
1.一種客戶端消息的推送方法,其特征在于,包括: 接收客戶端發(fā)送的消息; 判斷所述消息的消息類型; 若判斷出所述消息為即時短消息,則將所述即時短消息輸入至短消息發(fā)送隊列中進行發(fā)送;若判斷出所述消息為監(jiān)控消息,則對所述監(jiān)控消息進行字節(jié)流解析后輸入至監(jiān)控消息發(fā)送隊列中進行發(fā)送。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述即時短消息輸入至短消息發(fā)送隊列中,具體為: 確定所述即時短消息的優(yōu)先級; 根據(jù)所述即時短消息的優(yōu)先級將所述即時短消息輸入至所述短消息發(fā)送隊列中的對應(yīng)位置。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對所述監(jiān)控消息進行字節(jié)流解析后輸入至監(jiān)控消息發(fā)送隊列中,具體為: 確定所述監(jiān)控消息的優(yōu)先級; 對所述監(jiān)控消息進行字節(jié)流解析后,根據(jù)所述監(jiān)控消息的優(yōu)先級將所述監(jiān)控消息輸入至所述監(jiān)控消息發(fā)送隊列中的對應(yīng)位置。
4.根據(jù)權(quán)利要求1-3任一項所述的方法,其特征在于,所述接收客戶端發(fā)送的消息,具體包括:在接入層接收所述客戶端發(fā)送的消息,并依次傳輸至邏輯層和數(shù)據(jù)層; 所述短消息發(fā)送隊列依次包括:數(shù)據(jù)層短消息發(fā)送隊列、邏輯層短消息發(fā)送隊列和接入層短消息發(fā)送隊列;所述監(jiān)控消息發(fā)送隊列依次包括:數(shù)據(jù)層監(jiān)控消息發(fā)送隊列、邏輯層監(jiān)控消息發(fā)送隊列和接入層監(jiān)控消息發(fā)送隊列。
5.一種客戶端消息的推送裝置,其特征在于,包括: 接收模塊,用于接收客戶端發(fā)送的消息; 判斷模塊,用于判斷所述消息的消息類型; 發(fā)送模塊,用于若所述判斷模塊判斷出所述消息為即時短消息,則將所述即時短消息輸入至短消息發(fā)送隊列中進行發(fā)送;若所述判斷模塊判斷出所述消息為監(jiān)控消息,則對所述監(jiān)控消息進行字節(jié)流解析后輸入至監(jiān)控消息發(fā)送隊列中進行發(fā)送。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述發(fā)送模塊具體用于:確定所述即時短消息的優(yōu)先級;根據(jù)所述即時短消息的優(yōu)先級將所述即時短消息輸入至所述短消息發(fā)送隊列中的對應(yīng)位置。
7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述發(fā)送模塊具體用于:確定所述監(jiān)控消息的優(yōu)先級;對所述監(jiān)控消息進行字節(jié)流解析后,根據(jù)所述監(jiān)控消息的優(yōu)先級將所述監(jiān)控消息輸入至所述監(jiān)控消息發(fā)送隊列中的對應(yīng)位置。
8.根據(jù)權(quán)利要求5-7任一項所述的裝置,其特征在于,所述接收模塊具體用于:在接入層接收所述客戶端發(fā)送的消息,并依次傳輸至邏輯層和數(shù)據(jù)層; 所述短消息發(fā)送隊列依次包括:數(shù)據(jù)層短消息發(fā)送隊列、邏輯層短消息發(fā)送隊列和接入層短消息發(fā)送隊列;所述監(jiān)控消息發(fā)送隊列依次包括:數(shù)據(jù)層監(jiān)控消息發(fā)送隊列、邏輯層監(jiān)控消息發(fā)送隊列和接入層監(jiān)控消息發(fā)送隊列。
9.一種服務(wù)器,其特征在于,包括如權(quán)利要求5-8任一項所述的客戶端消息的推送裝置。
【文檔編號】H04L12/26GK104426746SQ201310400549
【公開日】2015年3月18日 申請日期:2013年9月5日 優(yōu)先權(quán)日:2013年9月5日
【發(fā)明者】白璐 申請人:北大方正集團有限公司, 北京北大方正電子有限公司