国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      保持長連接的方法及裝置與流程

      文檔序號:11778265閱讀:270來源:國知局
      保持長連接的方法及裝置與流程

      本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領域,具體而言,涉及一種保持長連接的方法及裝置。



      背景技術(shù):

      客戶端與服務器進行消息推送的過程中需要保持客戶端與服務器一直處于連接狀態(tài)。傳統(tǒng)的方式保持客戶端與服務器長連接的方法是通過客戶端不斷發(fā)送心跳包的方式來保持的。傳統(tǒng)方式中發(fā)送心跳包是客戶端開啟一個定時器,每次到定時器超時的時候給服務器發(fā)送一次心跳包與服務器進行一次信息交流,通過這種固定周期的心跳包通信來確保服務器與客戶端之間的http連接不會斷開。傳統(tǒng)方案中最大的缺點是心跳包的不變性,當網(wǎng)絡信號很差的時候會出現(xiàn)網(wǎng)絡延遲大于心跳包的超時時間的時候,此時可能會導致多次發(fā)送心跳包的可能性,這樣及浪費了客戶端的流量開銷也對客戶端電量等有一定的開銷。

      因此,提供一種新型的保持長連接的方法是十分必要的,以實現(xiàn)節(jié)省客戶端的流量和電量開銷,同時減小服務器的壓力。



      技術(shù)實現(xiàn)要素:

      本發(fā)明的目的在于提供一種保持長連接的方法,以實現(xiàn)節(jié)省客戶終端的電量開銷和流量開銷,同時減少服務終端的壓力,提高用戶體驗感。

      本發(fā)明的另一目的在于提供一種保持長連接的裝置,以實現(xiàn)節(jié)省客戶終端的電量開銷和流量開銷,同時減少服務終端的壓力,提高用戶體驗感。

      為了實現(xiàn)上述目的,本發(fā)明實施例采用的技術(shù)方案如下:

      第一方面,本發(fā)明實施例提供了一種保持長連接的方法,應用于客戶終端,所述客戶終端與服務終端通信連接,所述方法用于保持所述客戶終端與所述服務終端的長連接,所述方法包括:

      接收所述服務終端對所述客戶終端發(fā)送的心跳包進行應答的應答包,所述應答包包括所述服務終端的性能參數(shù)以及所述客戶終端發(fā)送心跳包的時間;

      根據(jù)當前時間、發(fā)送心跳包的時間以及所述服務終端的性能參數(shù)計算距發(fā)送下一個心跳包的時間間隔;

      根據(jù)所述時間間隔發(fā)送下一個心跳包至所述服務終端。

      第二方面,本發(fā)明實施例還提供了一種保持長連接的裝置,應用于客戶終端,所述客戶端與服務終端通信連接,所述裝置用于保持所述客戶終端與所述服務終端的長連接,所述裝置包括:

      接收模塊,用于接收所述服務終端對所述客戶終端發(fā)送的心跳包進行應答的應答包,所述應答包包括所述服務終端的性能參數(shù)以及所述客戶終端發(fā)送的心跳包的時間;

      計算模塊,用于根據(jù)當前時間、發(fā)送心跳包的時間以及所述服務終端的性能參數(shù)計算距發(fā)送下一個心跳包的時間間隔;

      發(fā)送模塊,用于根據(jù)所述時間間隔發(fā)送下一個心跳包至所述服務終端。

      本發(fā)明實施例提供的一種保持長連接的方法及裝置,該保持長連接的方法及裝置均應用于客戶終端,所述客戶終端與服務終端連接,該保持長連接的方法用于保持客戶終端和服務終端的連接。該保持長連接的方法包括接收所述服務終端對所述客戶終端發(fā)送的心跳包進行應答的應答包,所述應答包包括所述服務終端的性能參數(shù)以及所述客戶終端發(fā)送心跳包的時間,根據(jù)當前時間、發(fā)送心跳包的時間以及所述服務終端的性能參數(shù)計算距發(fā)送下一個心跳包的時間間隔,進而根據(jù)所述時間間隔發(fā)送下一個心跳包于服務終端,以與服務終端建立連接。由于所述時間間隔是根據(jù)該服務終端的性能參數(shù)實時計算,因此,減少了服務終端的壓力,同時避免了客戶終端不斷地發(fā)送心跳包,節(jié)省了客戶終端的電量以及流量,提高了用戶體驗感。

      為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。

      附圖說明

      為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應被看作是對范圍的限定,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關的附圖。

      圖1示出了本發(fā)明實施例提供的一種保持長連接的方法的應用環(huán)境的示意圖。

      圖2示出了本發(fā)明實施例提供的一種保持長連接的方法的流程示意圖。

      圖3示出了本發(fā)明實施例提供的一種保持長連接的方法的子步驟的流程示意圖。

      圖4示出了本發(fā)明實施例提供的一種保持長連接的裝置的功能模塊示意圖。

      圖示:100-客戶終端;200-網(wǎng)絡;300-服務終端;110-保持長連接的裝置;111-接收模塊;112-計算模塊;113-發(fā)送模塊。

      具體實施方式

      下面將結(jié)合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設計。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細描述并非旨在限制要求保護的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例。基于本發(fā)明的實施例,本領域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

      應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。同時,在本發(fā)明的描述中,術(shù)語“第一”、“第二”等僅用于區(qū)分描述,而不能理解為指示或暗示相對重要性。

      請參照圖1,是本發(fā)明實施例提供的一種保持長連接的方法的應用環(huán)境的示意圖,該保持長連接的方法應用于客戶終端100,該客戶終端100可以是,但不限于,手機或平板電腦等移動電子設備。該客戶終端100通過網(wǎng)絡200與服務終端300通信連接,該服務終端300可以是,臺式電腦等其他電子設備。該保持長連接的方法用于保持該客戶終端100與服務終端300的連接,換句話說,該保持長連接的方法用于保持客戶終端100與服務終端300之間的通信。

      請參照圖2,是本發(fā)明實施例提供的一種保持長連接的方法的流程示意圖,該保持長連接的方法包括:

      步驟s110,接收所述服務終端對所述客戶終端發(fā)送的心跳包進行應答的應答包,所述應答包包括所述服務終端的性能參數(shù)以及所述客戶終端發(fā)送心跳包的時間。

      在客戶終端100與服務終端300進行通信時,客戶終端100需要實時向服務終端300發(fā)送心跳包,以使得服務終端300知道與客戶終端100保持著連接,以便于客戶終端100與服務終端300間進行數(shù)據(jù)傳遞。該客戶終端100向服務終端300發(fā)送心跳包,該心跳包可以包括,但不限于,當前網(wǎng)絡類型、發(fā)送心跳包的時間以及當前網(wǎng)絡信號強度,該當前網(wǎng)絡類型表明當前網(wǎng)絡為2g、3g、4g或wi-fi;該發(fā)送心跳包的時間為當前客戶終端100向服務終端300發(fā)送心跳包的時間,由于客戶終端100是持續(xù)不斷地向服務終端300發(fā)送心跳包,因此,該發(fā)送心跳包的時間可以有效地區(qū)分不同的心跳包。如該心跳包可以為{nettype;starttime;signalintensity},其中,nettype為當前網(wǎng)絡類型,starttime為發(fā)送心跳包的時間,signalintensity為當前網(wǎng)絡信號強度。

      該服務終端300接收到客戶終端100發(fā)送的心跳包后,將會對該心跳包進行應答,因此,該服務終端300接收心跳包后向客戶終端100發(fā)出應答包,該應答包包括該服務終端300的性能參數(shù)以及客戶終端100發(fā)送心跳包的時間。在本發(fā)明實施例中,該服務終端300的性能參數(shù)為服務終端300的cpu使用率以及服務終端300的內(nèi)存使用率,容易理解的,該服務終端300的性能參數(shù)也可以根據(jù)實際需要進行設置。如該應答包的形式可以為{starttime;cpu;mem},其中,starttime為客戶終端100發(fā)出心跳包的時間,cpu為服務終端300的cpu使用率,mem為服務終端300的內(nèi)存使用率。

      步驟s120,根據(jù)當前時間、發(fā)送心跳包的時間以及所述服務終端的性能參數(shù)計算距發(fā)送下一個心跳包的時間間隔。

      該計算方式為:

      dt=currenttime–starttime

      t=(dt*1.2)*(cpu*mem)

      其中,currenttime為當前時間,starttime為發(fā)送心跳包的時間,cpu為所述服務終端300的cpu使用率,mem為所述服務終端300的內(nèi)存使用率,t為時間間隔。該時間間隔指以當前時間為基準,間隔該時間間隔后發(fā)送下一個心跳包的時間。

      需要說明的是,dt為當前時間和上次客戶終端100發(fā)送心跳包的時間的差值,將dt乘以1.2是為了預留20%的余量空間,使得本次的心跳包發(fā)送頻率與上次心跳包發(fā)送頻率不同,如果本次的心跳包發(fā)送頻率和上次心跳包發(fā)送頻率相同,則有可能造成還沒有收到對上一次發(fā)送的心跳包的應答包,本次就將再次發(fā)出心跳包。

      容易理解的,當服務終端300的cpu使用率或服務終端300的內(nèi)存使用率變高時,則時間間隔t變大,客戶終端100將以更長的時間間隔向服務終端300發(fā)送心跳包,以減少了服務終端300的響應壓力,同時避免了客戶終端100頻繁地發(fā)送心跳包,節(jié)省了客戶終端100的電量及流量消耗,提高了用戶體驗感。

      步驟s130,根據(jù)所述時間間隔發(fā)送下一個心跳包至所述服務終端。

      該客戶終端100將根據(jù)計算出來的時間間隔發(fā)送下一個心跳包至服務終端300,以便于告知服務終端300繼續(xù)與之建立連接。具體為:

      請參照圖3,是本發(fā)明實施例提供的一種保持長連接的方法的子步驟s130的流程示意圖。該步驟s130包括:

      步驟s131,若所述時間間隔小于預存儲的第一時間間隔,則所述第一時間間隔到來時發(fā)送下一個心跳包至所述服務終端。

      當該服務終端300不使用或使用率過低時依據(jù)上述公式計算出的時間間隔的值將很小,若客戶終端100直接依據(jù)該時間間隔發(fā)送下一個心跳包至服務終端300,則客戶終端100發(fā)送心跳包的頻率將很高,消耗了無用功。

      為避免此種情況,客戶終端100將設置第一時間間隔,該第一時間間隔大于在服務終端300使用率過低的情況下計算出來的時間間隔,較優(yōu)地,在本發(fā)明實施例中,該第一時間間隔設置為1秒。即在計算出來的時間間隔小于第一時間間隔時,表明服務終端300的使用率過低,為避免客戶終端100過于頻繁地發(fā)送心跳包至服務終端300,客戶終端100將在第一時間間隔到來時發(fā)送心跳包至服務終端300。

      步驟s132,若所述時間間隔大于預存儲的第二時間間隔,則所述第二時間間隔到來時發(fā)送下一個心跳包至所述服務終端。

      當網(wǎng)絡延時或服務終端300的使用率過高時,計算出的時間間隔會過長,當時間間隔過長時可能導致客戶終端100與服務終端300的連接斷開。

      為了避免上述情況發(fā)生,該客戶終端100設置了第二時間間隔,該第二時間間隔小于當網(wǎng)絡延時或服務終端300的使用率過高時計算出的時間間隔,較優(yōu)地,在本發(fā)明實施例中,該第二時間間隔設置為3秒到5秒。即當計算出的時間間隔大于第二時間間隔時,表明該服務終端300的使用率過高,則客戶終端100將在第二時間間隔到來時發(fā)送下一個心跳包至服務終端300。

      步驟s133,若所述時間間隔大于預存儲的第一時間間隔且小于預存儲的第二時間間隔,則所述時間間隔到來時發(fā)送下一個心跳包至所述服務終端。

      即若計算出來的時間間隔置于第一時間間隔和第二時間間隔之間時,則客戶終端100在該時間間隔到來時發(fā)送下一個心跳包至服務終端300。

      請參照圖4,是本發(fā)明實施例提供的一種保持長連接的裝置110的功能模塊示意圖。該保持長連接的裝置110應用于客戶終端100,該保持長連接的裝置110包括接收模塊111、計算模塊112以及發(fā)送模塊113,其中,

      接收模塊111,用于接收所述服務終端對所述客戶終端發(fā)送的心跳包進行應答的應答包,所述應答包包括所述服務終端的性能參數(shù)以及所述客戶終端發(fā)送的心跳包的時間。

      在本發(fā)明實施例中,步驟s110可以由接收模塊111執(zhí)行。

      計算模塊112,用于根據(jù)當前時間、發(fā)送心跳包的時間以及所述服務終端的性能參數(shù)計算距發(fā)送下一個心跳包的時間間隔。

      在本發(fā)明實施例中,步驟s120可以由計算模塊112執(zhí)行。

      發(fā)送模塊113,用于根據(jù)所述時間間隔發(fā)送下一個心跳包至所述服務終端。

      在本發(fā)明實施例中,步驟s130~s133可以由發(fā)送模塊113執(zhí)行。

      由于在保持長連接的方法部分已經(jīng)詳細描述,在此不再贅述。

      綜上所述,本發(fā)明實施例提供的一種保持長連接的方法及裝置,該保持長連接的方法及裝置均應用于客戶終端,所述客戶終端與服務終端連接,該保持長連接的方法用于保持客戶終端和服務終端的連接。該保持長連接的方法包括接收所述服務終端對所述客戶終端發(fā)送的心跳包進行應答的應答包,所述應答包包括所述服務終端的性能參數(shù)以及所述客戶終端發(fā)送心跳包的時間,根據(jù)當前時間、發(fā)送心跳包的時間以及所述服務終端的性能參數(shù)計算距發(fā)送下一個心跳包的時間間隔,進而根據(jù)所述時間間隔發(fā)送下一個心跳包于服務終端,以與服務終端建立連接。由于所述時間間隔是根據(jù)該服務終端的性能參數(shù)實時計算,因此,減少了服務終端的壓力,同時避免了客戶終端不斷地發(fā)送心跳包,節(jié)省了客戶終端的電量以及流量,提高了用戶體驗感。

      在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,也可以通過其它的方式實現(xiàn)。以上所描述的裝置實施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實施例的裝置、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現(xiàn)方式中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一起形成一個獨立的部分,也可以是各個模塊單獨存在,也可以兩個或兩個以上模塊集成形成一個獨立的部分。

      所述功能如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。需要說明的是,在本文中,諸如第一和第二等之類的關系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。

      以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。

      以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應所述以權(quán)利要求的保護范圍為準。

      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1