一種獲取服務端推送消息的裝置及方法與流程
2023-06-01 06:41:31 4

本發明涉及智能終端技術領域,尤指一種獲取服務端推送消息的裝置及方法
背景技術:
隨著通信技術的發展,在很多伺服器系統或者app(application,應用程式)系統中,都使用消息推送功能。實際情況是,一般app系統的客戶端數量會達到幾十上百萬之多。如此多的app客戶端每一個均需要與伺服器保持一個長連接,這樣就有幾十上百萬的長連接連接到伺服器上。同時,已建立長連接的app客戶端需要每隔一定時間發送心跳包給伺服器,由服務端來明確所述app設備是否已經斷線。
在這種情況之下,就存在一種問題。如此多的終端設備連接到伺服器端,建立長連接,伺服器存在有很大的壓力,即時使用多臺接入伺服器來完成接入的分流工作,也還是很有壓力。同時,只要網絡條件許可,不管終端是否使用,比如手機,即不管手機是亮屏還是關閉屏幕,每個長連接每隔4分鐘左右會發送一次心跳包至伺服器。這種方式既浪費手機的流量,又浪費手機的電量。一直採用此種方式會對客戶端以及服務端都帶來很大的消耗。
技術實現要素:
以下是對本文詳細描述的主題的概述。本概述並非是為了限制權利要求的保護範圍。
本發明實施例提供了一種獲取服務端推送消息的裝置及方法,設置在客戶端,通過分時段採用不同方式實現與服務端的交互,獲取推送消息,避免了現有技術中一直與服務端建立長連接導致的弊端,減少了服務端的壓力,同時節省了客戶端的流量與電量。
為了實現上述目的,本發明實施例提供了一種獲取服務端推送消息的裝置,包括:控制模塊、接收模塊,
所述控制模塊,用於按照預先獲取的忙時間段信息,在所述忙時間段內,使用長連接的方式與服務端建立長久通道;
所述接收模塊,用於當使用長連接的方式與服務端建立長久通道,通過所述通道接收服務端推送的消息;並按照預先獲取的閒時間段信息,在所述閒時間段內,根據設定規則進行輪詢,獲取服務端推送的消息。
可選的,所述裝置還包括:
發送模塊,用於當使用長連接的方式與服務端建立長久通道後,每隔第一設定時間間隔發送心跳信息到服務端,保持通道通信。
可選的,所述裝置還包括:
獲取模塊,用於通過預設固定接口向服務端請求並獲取忙時間段信息及閒時間段信息。
可選的,所述裝置還包括:
設定模塊,用於接收終端預先設定的忙時間段信息及閒時間段信息,或者接收用戶設定的忙時間段信息及閒時間段信息。
可選的,所述接收模塊根據設定規則進行輪詢,獲取服務端推送的消息,包括:
接收模塊每隔第二設定時間間隔輪詢調用服務端提供的消息獲取接口,獲取最新的推送消息。
為了實現上述目的,本發明實施例還提供了一種獲取服務端推送消息的方法,包括:
通過長連接獲取推送消息的步驟:按照預先獲取的忙時間段信息,在所述忙時間段內,使用長連接的方式與服務端建立長久通道,通過所述通道接收服務端推送的消息;以及,
通過輪詢獲取推送消息的步驟:按照預先獲取的閒時間段信息,在所述閒時間段內,根據設定規則進行輪詢,獲取服務端推送的消息。
可選的,所述方法還包括:
當使用長連接的方式與服務端建立長久通道後,每隔第一設定時間間隔發送心跳信息到服務端,保持通道通信。
可選的,所述方法還包括:
通過預設固定接口向服務端請求並獲取忙時間段信息及閒時間段信息。
可選的,所述方法還包括:
接收終端預先設定的忙時間段信息及閒時間段信息,或者接收用戶設定的忙時間段信息及閒時間段信息。
可選的,所述根據設定規則進行輪詢,獲取服務端推送的消息,包括:
每隔第二設定時間間隔輪詢調用服務端提供的消息獲取接口,獲取最新的推送消息。
本發明實施例還提供一種計算機可讀存儲介質,存儲有計算機可執行指令,所述計算機可執行指令被執行時實現上述基於音頻信息的終端查找方法。
與現有技術相比,本發明實施例提供的獲取服務端推送消息的裝置及方法,採用分時段獲取推送消息的方案,在伺服器忙時間段,或者終端設定的忙時間段,採用長連接的方式,由服務端與客戶端建立長連接,伺服器通過該長連接進行消息的推送,送達至客戶端。在伺服器閒時間段,或者終端設定的閒時間段,比如終端關閉屏幕,或者夜晚等時段,終端客戶端採用輪詢的方式,間隔設定的時間間隔,客戶端請求服務端的接口,進行消息的拉取操作。本發明實施例對時間段進行區分,在不同的區分時段採用不同方式進行服務端與客戶端的交互,既減少了服務端的壓力,又節省了終端的流量與電量。
在閱讀並理解了附圖和詳細描述後,可以明白其他方面。
附圖說明
附圖用來提供對本申請技術方案的進一步理解,並且構成說明書的一部分,與本申請的實施例一起用於解釋本申請的技術方案,並不構成對本申請技術方案的限制。在附圖中:
圖1為實現本發明實施例的一個可選的移動終端的可選的硬體結構示意圖;
圖2為本發明實施例提供的獲取服務端推送消息的裝置示意圖;
圖3為本發明實施例提供的獲取服務端推送消息的方法流程圖;
圖4為本申請實例一的獲取服務端推送消息的方法的流程圖;
圖5為本申請實例二的獲取服務端推送消息的方法的流程圖;
圖6為本申請實例三的獲取服務端推送消息的方法的流程圖。
本申請目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本申請,並不用於限定本申請。
現在將參考附圖描述實現本發明各個實施例的移動終端。在後續的描述中,使用用於表示元件的諸如「模塊」、「部件」或「單元」的後綴僅為了有利於本申請的說明,其本身並沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。
移動終端可以以各種形式來實施。例如,本發明實施例中描述的終端可以包括諸如行動電話、智慧型電話、筆記本電腦、數字廣播接收器、pda(個人數字助理)、pad(平板電腦)、pmp(可攜式多媒體播放器)、導航裝置等等的移動終端。
圖1為實現本發明實施例的一個可選的移動終端的可選的硬體結構示意圖。
移動終端100可以包括無線通信單元110、a/v(音頻/視頻)輸入單元120、用戶輸入單元130、感測單元140、輸出單元150、存儲器160、接口單元170、控制器180和電源單元190等等。圖1示出了具有各種組件的移動終端,但是應理解的是,並不要求實施所有示出的組件。可以替代地實施更多或更少的組件。將在下面詳細描述移動終端的元件。
無線通信單元110通常包括一個或多個組件,其允許移動終端100與無線通信系統或網絡之間的無線電通信。例如,無線通信單元可以包括廣播接收模塊111、移動通信模塊112、無線網際網路模塊113、短程通信模塊114和位置信息模塊115中的至少一個。
廣播接收模塊111經由廣播信道從外部廣播管理伺服器接收廣播信號和/或廣播相關信息。廣播信道可以包括衛星信道和/或地面信道。廣播管理伺服器可以是生成並發送廣播信號和/或廣播相關信息的伺服器或者接收之前生成的廣播信號和/或廣播相關信息並且將其發送給終端的伺服器。廣播信號可以包括tv廣播信號、無線電廣播信號、數據廣播信號等等。而且,廣播信號可以進一步包括與tv或無線電廣播信號組合的廣播信號。廣播相關信息也可以經由移動通信網絡提供,並且在該情況下,廣播相關信息可以由移動通信模塊112來接收。廣播信號可以以各種形式存在,例如,其可以以數字多媒體廣播(dmb)的電子節目指南(epg)、數字視頻廣播手持(dvb-h)的電子服務指南(esg)等等的形式而存在。廣播接收模塊111可以通過使用各種類型的廣播系統接收信號廣播。特別地,廣播接收模塊111可以通過使用諸如多媒體廣播-地面(dmb-t)、數字多媒體廣播-衛星(dmb-s)、數字視頻廣播-手持(dvb-h),前向鏈路媒體(mediaflo@)的數據廣播系統、地面數字廣播綜合服務(isdb-t)等等的數字廣播系統接收數字廣播。廣播接收模塊111可以被構造為適合提供廣播信號的各種廣播系統以及上述數字廣播系統。經由廣播接收模塊111接收的廣播信號和/或廣播相關信息可以存儲在存儲器160(或者其它類型的存儲介質)中。
移動通信模塊112將無線電信號發送到基站(例如,接入點、節點b等等)、外部終端以及伺服器中的至少一個和/或從其接收無線電信號。這樣的無線電信號可以包括語音通話信號、視頻通話信號、或者根據文本和/或多媒體消息發送和/或接收的各種類型的數據。
無線網際網路模塊113支持移動終端的無線網際網路接入。該模塊可以內部或外部地耦接到終端。該模塊所涉及的無線網際網路接入技術可以包括wlan(無線lan)(wi-fi)、wibro(無線寬帶)、wimax(全球微波互聯接入)、hsdpa(高速下行鏈路分組接入)等等。
短程通信模塊114是用於支持短程通信的模塊。短程通信技術的一些示例包括藍牙tm、射頻識別(rfid)、紅外數據協會(irda)、超寬帶(uwb)、紫蜂tm等等。
位置信息模塊115是用於檢查或獲取移動終端的位置信息的模塊。位置信息模塊的典型示例是gps(全球定位系統)。根據當前的技術,gps模塊115計算來自三個或更多衛星的距離信息和準確的時間信息並且對於計算的信息應用三角測量法,從而根據經度、緯度和高度準確地計算三維當前位置信息。當前,用於計算位置和時間信息的方法使用三顆衛星並且通過使用另外的一顆衛星校正計算出的位置和時間信息的誤差。此外,gps模塊115能夠通過實時地連續計算當前位置信息來計算速度信息。
a/v輸入單元120用於接收音頻或視頻信號。a/v輸入單元120可以包括相機121和麥克風1220,相機121對在視頻捕獲模式或圖像捕獲模式中由圖像捕獲裝置獲得的靜態圖片或視頻的圖像數據進行處理。處理後的圖像幀可以顯示在顯示單元151上。經相機121處理後的圖像幀可以存儲在存儲器160(或其它存儲介質)中或者經由無線通信單元110進行發送,可以根據移動終端的構造提供兩個或更多相機1210。麥克風122可以在電話通話模式、記錄模式、語音識別模式等等運行模式中經由麥克風接收聲音(音頻數據),並且能夠將這樣的聲音處理為音頻數據。處理後的音頻(語音)數據可以在電話通話模式的情況下轉換為可經由移動通信模塊112發送到移動通信基站的格式輸出。麥克風122可以實施各種類型的噪聲消除(或抑制)算法以消除(或抑制)在接收和發送音頻信號的過程中產生的噪聲或者幹擾。
用戶輸入單元130可以根據用戶輸入的命令生成鍵輸入數據以控制移動終端的各種操作。用戶輸入單元130允許用戶輸入各種類型的信息,並且可以包括鍵盤、鍋仔片、觸摸板(例如,檢測由於被接觸而導致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖杆等等。特別地,當觸摸板以層的形式疊加在顯示單元151上時,可以形成觸控螢幕。
感測單元140檢測移動終端100的當前狀態,(例如,移動終端100的打開或關閉狀態)、移動終端100的位置、用戶對於移動終端100的接觸(即,觸摸輸入)的有無、移動終端100的取向、移動終端100的加速或減速移動和方向等等,並且生成用於控制移動終端100的操作的命令或信號。例如,當移動終端100實施為滑動型行動電話時,感測單元140可以感測該滑動型電話是打開還是關閉。另外,感測單元140能夠檢測電源單元190是否提供電力或者接口單元170是否與外部裝置耦接。感測單元140可以包括接近傳感器1410將在下面結合觸控螢幕來對此進行描述。
接口單元170用作至少一個外部裝置與移動終端100連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機埠、外部電源(或電池充電器)埠、有線或無線數據埠、存儲卡埠、用於連接具有識別模塊的裝置的埠、音頻輸入/輸出(i/o)埠、視頻i/o埠、耳機埠等等。識別模塊可以是存儲用於驗證用戶使用移動終端100的各種信息並且可以包括用戶識別模塊(uim)、客戶識別模塊(sim)、通用客戶識別模塊(usim)等等。另外,具有識別模塊的裝置(下面稱為"識別裝置")可以採取智慧卡的形式,因此,識別裝置可以經由埠或其它連接裝置與移動終端100連接。接口單元170可以用於接收來自外部裝置的輸入(例如,數據信息、電力等等)並且將接收到的輸入傳輸到移動終端100內的一個或多個元件或者可以用於在移動終端和外部裝置之間傳輸數據。
另外,當移動終端100與外部底座連接時,接口單元170可以用作允許通過其將電力從底座提供到移動終端100的路徑或者可以用作允許從底座輸入的各種命令信號通過其傳輸到移動終端的路徑。從底座輸入的各種命令信號或電力可以用作用於識別移動終端是否準確地安裝在底座上的信號。輸出單元150被構造為以視覺、音頻和/或觸覺方式提供輸出信號(例如,音頻信號、視頻信號、警報信號、振動信號等等)。輸出單元150可以包括顯示單元151、音頻輸出模塊152、警報單元153等等。
顯示單元151可以顯示在移動終端100中處理的信息。例如,當移動終端100處於電話通話模式時,顯示單元151可以顯示與通話或其它通信(例如,文本消息收發、多媒體文件下載等等)相關的用戶界面(ui)或圖形用戶界面(gui)。當移動終端100處於視頻通話模式或者圖像捕獲模式時,顯示單元151可以顯示捕獲的圖像和/或接收的圖像、示出視頻或圖像以及相關功能的ui或gui等等。
同時,當顯示單元151和觸摸板以層的形式彼此疊加以形成觸控螢幕時,顯示單元151可以用作輸入裝置和輸出裝置。顯示單元151可以包括液晶顯示器(lcd)、薄膜電晶體lcd(tft-lcd)、有機發光二極體(oled)顯示器、柔性顯示器、三維(3d)顯示器等等中的至少一種。這些顯示器中的一些可以被構造為透明狀以允許用戶從外部觀看,這可以稱為透明顯示器,典型的透明顯示器可以例如為toled(透明有機發光二極體)顯示器等等。根據特定想要的實施方式,移動終端100可以包括兩個或更多顯示單元(或其它顯示裝置),例如,移動終端可以包括外部顯示單元(未示出)和內部顯示單元(未示出)。觸控螢幕可用於檢測觸摸輸入壓力以及觸摸輸入位置和觸摸輸入面積。
音頻輸出模塊152可以在移動終端處於呼叫信號接收模式、通話模式、記錄模式、語音識別模式、廣播接收模式等等模式下時,將無線通信單元110接收的或者在存儲器160中存儲的音頻數據轉換音頻信號並且輸出為聲音。而且,音頻輸出模塊152可以提供與移動終端100執行的特定功能相關的音頻輸出(例如,呼叫信號接收聲音、消息接收聲音等等)。音頻輸出模塊152可以包括揚聲器、蜂鳴器等等。
警報單元153可以提供輸出以將事件的發生通知給移動終端100。典型的事件可以包括呼叫接收、消息接收、鍵信號輸入、觸摸輸入等等。除了音頻或視頻輸出之外,警報單元153可以以不同的方式提供輸出以通知事件的發生。例如,警報單元153可以以振動的形式提供輸出,當接收到呼叫、消息或一些其它進入通信(incomingcommunication)時,警報單元153可以提供觸覺輸出(即,振動)以將其通知給用戶。通過提供這樣的觸覺輸出,即使在用戶的行動電話處於用戶的口袋中時,用戶也能夠識別出各種事件的發生。警報單元153也可以經由顯示單元151或音頻輸出模塊152提供通知事件的發生的輸出。
存儲器160可以存儲由控制器180執行的處理和控制操作的軟體程序等等,或者可以暫時地存儲己經輸出或將要輸出的數據(例如,電話簿、消息、靜態圖像、視頻等等)。而且,存儲器160可以存儲關於當觸摸施加到觸控螢幕時輸出的各種方式的振動和音頻信號的數據。
存儲器160可以包括至少一種類型的存儲介質,所述存儲介質包括快閃記憶體、硬碟、多媒體卡、卡型存儲器(例如,sd或dx存儲器等等)、隨機訪問存儲器(ram)、靜態隨機訪問存儲器(sram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、可編程只讀存儲器(prom)、磁性存儲器、磁碟、光碟等等。而且,移動終端100可以與通過網絡連接執行存儲器160的存儲功能的網絡存儲裝置協作。
控制器180通常控制移動終端的總體操作。例如,控制器180執行與語音通話、數據通信、視頻通話等等相關的控制和處理。另外,控制器180可以包括用於再現(或回放)多媒體數據的多媒體模塊1810,多媒體模塊1810可以構造在控制器180內,或者可以構造為與控制器180分離。控制器180可以執行模式識別處理,以將在觸控螢幕上執行的手寫輸入或者圖片繪製輸入識別為字符或圖像。
電源單元190在控制器180的控制下接收外部電力或內部電力並且提供操作各元件和組件所需的適當的電力。
這裡描述的各種實施方式可以以使用例如計算機軟體、硬體或其任何組合的計算機可讀介質來實施。對於硬體實施,這裡描述的實施方式可以通過使用特定用途集成電路(asic)、數位訊號處理器(dsp)、數位訊號處理裝置(dspd)、可編程邏輯裝置(pld)、現場可編程門陣列(fpga)、處理器、控制器、微控制器、微處理器、被設計為執行這裡描述的功能的電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器180中實施。對於軟體實施,諸如過程或功能的實施方式可以與允許執行至少一種功能或操作的單獨的軟體模塊來實施。軟體代碼可以由以任何適當的程式語言編寫的軟體應用程式(或程序)來實施,軟體代碼可以存儲在存儲器160中並且由控制器180執行。
至此,己經按照其功能描述了移動終端。下面,為了簡要起見,將描述諸如直板型、擺動型、滑動型移動終端等等的各種類型的移動終端中的直板型移動終端作為示例。本發明實施例能夠應用於多種類型的移動終端,並且不限於直板型移動終端。
基於上述移動終端硬體結構,提出本發明實施例的獲取服務端推送消息的裝置及方法的各個實施例。
圖2為本發明實施例提供的獲取服務端推送消息的裝置的示意圖,如圖2所示,該裝置可以承載於手機等移動終端上,本實施例提供的獲取服務端推送消息的裝置,包括:控制模塊、接收模塊,
所述控制模塊,用於按照預先獲取的忙時間段信息,在所述忙時間段內,使用長連接的方式與服務端建立長久通道;
所述接收模塊,用於當使用長連接的方式與服務端建立長久通道,通過所述通道接收服務端推送的消息;並按照預先獲取的閒時間段信息,在所述閒時間段內,根據設定規則進行輪詢,獲取服務端推送的消息。
在本實施例中,作為一種實施方式,所述獲取服務端推送消息的裝置,還包括,
發送模塊,用於當使用長連接的方式與服務端建立長久通道後,每隔第一設定時間間隔發送心跳信息到服務端,保持通道通信。
在本實施例中,所述獲取服務端推送消息的裝置,還包括,
獲取模塊,用於通過預設固定接口向服務端請求並獲取忙時間段信息及閒時間段信息。
在本實施例中,所述獲取模塊獲取的忙時間段信息及閒時間段信息,為伺服器系統預設的時間段信息或者伺服器系統實時更改的時間段信息。
具體來說,可以由伺服器系統預先進行時間段的配置,其中可設置白天為忙時間段,比如早晨6:00到晚上10:00之間的時間段。另外,也可以由運行維護人員實時更改伺服器忙時間段、閒時間段信息,並通過一個固定接口,由客戶端來請求並獲取最新的忙時間段、閒時間段相關的配置信息。這樣可以根據系統的情況實時進行更改忙時間段、閒時間段的設置,從而可以更好地適應系統的實際需要。
在預設的忙時間段,伺服器可能需要向客戶端推送消息,使用長連接的方式建立長久通道,並每隔一定的時間發送心跳信息,保持通道的通信。伺服器與終端建立的長連接不僅可以維持伺服器與終端之間的網絡通信連接的暢通,而且當有數據包需要下發時,伺服器可基於該長連接向終端及時下發數據包。如服務端有消息,則直接由服務端通過該通道發送消息至客戶端。從而保證了客戶端及時獲得推送消息。
所述發送模塊每隔第一設定時間間隔發送心跳信息,其中的第一設定時間間隔即發送心跳報文的周期根據經驗進行設定,例如,可設定終端每隔10秒鐘向伺服器發送一次心跳報文,也可以設定終端每隔1分鐘向伺服器發送一次心跳報文,或者也可以設定終端每隔4分鐘向伺服器發送一次心跳報文,以確保終端和伺服器間數據的同步性。具體的關於終端向伺服器發送心跳報文的周期,可以進行任何可用的設定,本發明實施例對此不加以限定。
在上述的實施方式中,可以將第一設定時間間隔時間設置成定時器,移動終端達到間隔時間則發送心跳信息到服務端。
所述獲取模塊獲取的閒時間段信息,具體來說,可以由伺服器系統預先進行時間段的配置,其中可設置夜晚為閒時間段,比如晚上10:00到早晨6:00之間的時間段。當然,伺服器系統預先設定的時間段,也可以根據實際的系統運行情況進行更改,當服務端對閒時間段信息更改設置後,客戶端可以經由預設固定接口請求並獲取閒時間段信息。
在本實施例中,作為一種實施方式,所述獲取推送消息的裝置還包括:
設定模塊,用於接收終端預先設定的忙時間段信息及閒時間段信息,或者用戶設定的忙時間段信息及閒時間段信息。
所述獲取的忙時間段信息,可以根據終端的使用情況,由終端進行設置,比如設置在早晨6:00到晚上10:00之間,並且移動終端亮屏時為忙時間段。或者根據實際使用需求設置其他時間段為忙時間段。所述閒時間段信息,可以根據終端的使用情況,由終端進行設置,比如設置在晚上10:00到早晨6:00之間,並且移動終端熄屏時為閒時間段。或者根據實際使用需求設置其他時間段為閒時間段。
在本實施方式中,所述閒時間段信息也可以由用戶進行設定,比如夜裡12點到凌晨5點為閒時間段,此時由於用戶處於睡眠時間,不需要使用手機,當然也不需要實時獲取推送消息。
所述接收模塊在所述閒時間段內,根據設定規則進行輪詢,獲取服務端推送的消息,包括:每隔第二設定時間間隔調用服務端提供的消息獲取接口,輪詢調用該接口來獲取最新的推送消息。
在上述的實施方式中,可以將第二設定時間間隔時間設置成定時器,移動終端達到間隔時間則調用服務端提供的消息獲取接口,輪詢調用該接口來獲取最新的推送消息。
在本實施例中,在閒時間段,使用http(http-hypertexttransferprotocol,超文本傳送協議)協議的方式,由客戶端自行根據一定的規則來進行輪詢的請求,調用服務端提供的消息獲取接口,輪詢調用該接口來獲取最新的推送消息。這樣在閒時間段不建立長連接的方式,可以減少終端電量及流量損耗,提高終端的續航時間,節約流量。當然,所述時間段可以由用戶進行任意的設定,比如上午8點到10點開會,也不需要接收推送消息,則可以由用戶設定相應時間段,不建立長連接。這樣滿足了用戶在各種情況的需求,也降低了終端的電量損耗及流量損耗,增強了用戶的體驗。
在本實施例中,服務端與客戶端均需要準備兩套的接入協議。一套支持長連接的方式建立連接,定時發送心跳等功能,由服務端推送消息至客戶端。一套支持http,由客戶端定時輪詢服務端,主動從服務端拉取消息。
本發明實施例採用分時段獲取推送消息的方案,在伺服器忙時間段,或者終端設定的忙時間段,採用長連接的方式,由服務端與客戶端建立長連接,此時,伺服器通過該長連接進行消息的推送,送達至客戶端。在伺服器閒時間段,或者終端設定的閒時間段,比如終端關閉屏幕,或者夜晚等時段,終端客戶端採用輪詢的方式,間隔設定的時間間隔,客戶端請求服務端的接口,進行消息的拉取操作。此種建立在分時段中服務端與客戶端的交互方式,既減少了服務端的壓力,又節省了終端的流量與電量。
需要說明的是,本發明實施例提供的獲取服務端推送消息的裝置中的控制模塊可以設置在圖1中的控制器180中,發送模塊、接收模塊、獲取模塊可以設置在圖1中的無線通信單元110中,設定模塊可以設置在圖1中的用戶輸入單元130中。
基於上述移動終端的硬體結構以及獲取服務端推送消息的裝置,提出本發明實施例的獲取服務端推送消息的方法。
圖3為本發明實施例提供的獲取服務端推送消息的方法的流程圖。如圖3所示,本實施例提供的獲取服務端推送消息的方法,應用於手機等移動終端中,包括以下步驟:
步驟301:按照預先獲取的忙時間段信息,在所述忙時間段內,使用長連接的方式與服務端建立長久通道;
步驟302:當使用長連接的方式與服務端建立長久通道,通過所述通道接收服務端推送的消息;
步驟303:按照預先獲取的閒時間段信息,在所述閒時間段內,根據設定規則進行輪詢,獲取服務端推送的消息。
在本實施例中,作為一種實施方式,步驟301還包括:
當使用長連接的方式與服務端建立長久通道後,每隔第一設定時間間隔發送心跳信息到服務端,保持通道通信;
在本實施例中,作為一種實施方式,所述方法還包括:
通過預設固定接口向服務端請求並獲取忙時間段信息及閒時間段信息。
在本實施例中,所述獲取的忙時間段信息及閒時間段信息,為伺服器系統預設的時間段信息或者伺服器系統實時更改的時間段信息。
在本實施例中,作為一種實施方式,所述方法還包括:
接收終端預先設定的忙時間段信息及閒時間段信息,或者接收用戶設定的忙時間段信息及閒時間段信息。
在本實施例中,在所述閒時間段內,根據設定規則進行輪詢,獲取服務端推送的消息,包括:每隔第二設定時間間隔調用服務端提供的消息獲取接口,輪詢調用該接口來獲取最新的推送消息。
本發明實施例採用分時段獲取推送消息的方案,在伺服器忙時間段,或者終端處於亮屏狀態,或者白天等時段,採用長連接的方式,由服務端與客戶端建立長連接,此時,伺服器通過該長連接進行消息的推送,送達至客戶端。在伺服器閒時間段,或者終端關閉屏幕,或者夜晚等時段,終端客戶端採用輪詢的方式,間隔設定的時間間隔,客戶端請求服務端的接口,進行消息的拉取操作。此種建立在分時段中服務端與客戶端的交互方式,既減少了服務端的壓力,又節省了終端的流量與電量。
關於所述獲取服務端推送消息的方法的處理細節可以參照上述獲取服務端推送消息的裝置的描述,故於此不再贅述。
以下通過多個實例說明本申請的方法實施例的應用。
實例一
圖4為本申請實例一的獲取服務端推送消息的流程圖。如圖4所示,本實例提供的方法包括以下步驟:
步驟401:通過預設固定接口向服務端請求並獲取忙時間段信息及閒時間段信息;
步驟402:判斷當前時間所屬時間段,當判斷到當前時間所述時間段為忙時間段,執行步驟403,當判斷到當前時間所述時間段為閒時間段,執行步驟404;
步驟403:使用長連接的方式與服務端建立長久通道,通過所述通道接收服務端推送的消息,結束;
步驟404:根據設定規則進行輪詢,獲取服務端推送的消息,結束。
在本實例中,所述忙時間段信息及閒時間段信息為伺服器系統預設的時間段信息或者伺服器系統實時更改的時間段信息。
實例二:
圖5為本申請實例二的獲取服務端推送消息的方法的流程圖。如圖5所示,本實例提供的方法包括以下步驟:
步驟501:接收用戶設定的忙時間段信息及閒時間段信息;
步驟502:判斷當前時間所屬時間段,當判斷到當前時間所述時間段為忙時間段,執行步驟503,當判斷到當前時間所述時間段為閒時間段,執行步驟504;
步驟503:使用長連接的方式與服務端建立長久通道,通過所述通道接收服務端推送的消息,結束;
步驟504:每隔第二設定時間間隔調用服務端提供的消息獲取接口,輪詢調用該接口來獲取最新的推送消息,結束。
在本實例中所述忙時間段信息及閒時間段信息為用戶設定的忙時間段信息及閒時間段信息,所述閒時間段內,根據設定規則進行輪詢,為每隔第二設定時間間隔調用服務端提供的消息獲取接口,輪詢調用該接口來獲取最新的推送消息。
實例三:
圖6為本申請實例三的獲取服務端推送消息的方法的流程圖。如圖6所示,本實例提供的方法包括以下步驟:
步驟601:通過預設固定接口向服務端請求並獲取忙時間段信息及閒時間段信息;
步驟602:判斷當前時間所屬時間段,當判斷到當前時間所述時間段為忙時間段,執行步驟603,當判斷到當前時間所述時間段為閒時間段,執行步驟605;
步驟603:使用長連接的方式與服務端建立長久通道,通過所述通道接收服務端推送的消息;
步驟604:每隔第一設定時間間隔發送心跳信息到服務端,保持通道通信,結束;
步驟605:根據設定規則進行輪詢,獲取服務端推送的消息,結束。
在本實例中,當使用長連接的方式建立長久通道,並每隔一定的時間發送心跳信息,保持通道的通信。
本發明實施例採用分時段獲取推送消息的方案,在伺服器忙時間段,或者終端設定的忙時間段,採用長連接的方式,由服務端與客戶端建立長連接,此時,伺服器通過該長連接進行消息的推送,送達至客戶端。在伺服器閒時間段,或者終端設定的閒時間段,比如終端關閉屏幕,或者夜晚等時段,終端客戶端採用輪詢的方式,間隔設定的時間間隔,客戶端請求服務端的接口,進行消息的拉取操作。通過區分不同時段,在不同時段中服務端與客戶端採用不同的交互方式,既減少了服務端的壓力,又節省了終端的流量與電量。
此外,本發明實施例還提供一種計算機可讀存儲介質,存儲有計算機可執行指令,所述計算機可執行指令被執行時實現上述的基於音頻信息的終端查找方法。
需要說明的是,在本文中,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可藉助軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體,但很多情況下前者是更佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質(如rom/ram、磁碟、光碟)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,伺服器,空調器,或者網絡設備等)執行本發明各個實施例所述的方法。
以上僅為本發明的優選實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護範圍內。