數據獲取方法和終端設備的制作方法
【專利摘要】提供了一種數據獲取方法和終端設備。所述數據獲取方法應用于一終端設備,所述終端設備通過所述本地代理服務分別與數據服務器和云端代理服務器進行通信連接,當該云端代理服務器從所述本地代理服務接收到所述至少一個應用發出的用于請求從所述數據服務器獲得內容數據的數據獲取請求時,從所述數據服務器獲取所述內容數據、將該內容數據壓縮、并向所述本地代理服務傳送已壓縮的內容數據,所述數據獲取方法包括:所述本地代理服務確定所述云端代理服務器的異常狀況信息,并產生一異常確定結果;當所述異常確定結果指明所述云端代理服務器異常時,所述本地代理服務按照與所述異常確定結果對應的獲取策略、獲得與所述至少一個應用發出的數據獲取請求對應的內容數據。
【專利說明】數據獲取方法和終端設備
【技術領域】
[0001]本發明涉及通信【技術領域】,并且具體涉及一種數據獲取方法和使用該數據獲取方法的終端設備。
【背景技術】
[0002]近年來,隨著電子技術的發展,諸如智能電話、平板電腦和個人數字助理的終端設備逐漸普及,其可以輕松實現上網、玩游戲、看視頻、閱讀雜志等等功能。同時,隨著通信技術的發展,第三代移動通信(3G)技術的的移動互聯網業務正向終端設備的用戶提供個性化的交互服務。然而,由于移動互聯網的接入成本制約,用戶在使用移動互聯網業務時通常會慮及移動數據業務相對高昂的成本,而無法充分享受完美的用戶體驗。
[0003]為此,提供了各種節省流量的技術手段,例如在網絡中的數據服務器端構建一個云端代理服務器,并將終端設備的聯網請求直接導入該云端代理服務器,云端代理服務器在從數據服務器獲得網絡數據之后,將圖片等數據進行壓縮并返回給終端設備。在該使用網絡的過程中,當云端代理服務器出現異常時,導致終端設備的網絡數據獲取延遲、甚至無法獲取。此時,即使3G通信網絡的工作狀況正常,也無法使用該3G通信網絡。
[0004]當由于云端代理服務器的負載重而導致其異常時,通常根據云端代理服務器的訪問量來對中央處理單元、內存、硬盤等設備進行擴容和/或增加訪問帶寬來解決。這導致成本的增加,并且需要更多的維護人員從而加重了維護負擔。
[0005]當由于云端代理服務器的死機而導致其異常時,在安卓(Android)操作系統的云端代理服務器上,會利用應用程序提醒用戶網絡無法使用。此時,終端設備上的瀏覽器會在頁面上提示用戶“訪問出錯,請檢查網絡”等等。用戶需要手動來解決無法上網的問題。也就是說,云端代理服務器的異常給用戶的網絡使用造成諸多不便。
[0006]因此,希望提供一種能夠在保證用戶通過終端設備快速獲取內容數據的同時節省終端設備的數據流量的數據獲取方式,使得用戶能夠便利、高效、節約成本地獲取數據。
【發明內容】
[0007]本發明實施例提供了一種數據獲取方法和使用該數據獲取方法的終端設備,其能夠使用戶在通過終端設備快速獲取內容數據的同時節省終端設備的數據流量,從而用戶能夠便利、高效、節約成本地獲取數據。
[0008]一方面,提供了一種數據獲取方法,應用于一終端設備,所述終端設備具有至少一個應用和一本地代理服務,所述終端設備通過所述本地代理服務分別與數據服務器和云端代理服務器進行通信連接,當該云端代理服務器從所述本地代理服務接收到所述至少一個應用發出的用于請求從所述數據服務器獲得內容數據的數據獲取請求時,該云端代理服務器從所述數據服務器獲取所述內容數據、將該內容數據壓縮、并向所述本地代理服務傳送已壓縮的內容數據,所述數據獲取方法包括:所述本地代理服務確定所述云端代理服務器的異常狀況信息,并產生一異常確定結果;當所述異常確定結果指明所述云端代理服務器異常時,所述本地代理服務按照與所述異常確定結果對應的獲取策略、獲得與所述至少一個應用發出的數據獲取請求對應的內容數據。
[0009]所述本地代理服務按照與所述異常確定結果對應的獲取策略、獲得與所述至少一個應用發出的數據獲取請求對應的內容數據,從而平衡對所述數據獲取請求的響應速度和在所述對應的內容數據的獲得中發生的數據流量。
[0010]所述終端設備中的本地代理服務還可以連接到監視裝置,該監視裝置與所述云端代理服務器通信連接、并監視所述云端代理服務器的運行狀態,所述本地代理服務確定所述云端代理服務器的異常狀況信息的步驟可以包括:從所述監視裝置獲取所述云端代理服務器的異常狀況信息,該異常狀況信息是所述監視裝置通過監視所述云端代理服務器的運行狀態而獲得的信息。
[0011]所述從監視裝置接收所述云端代理服務器的異常狀況信息的步驟可包括:所述本地代理服務根據查詢策略向所述監視裝置發送查詢請求;接收所述監視裝置響應于所述查詢請求而發出的查詢結果,該查詢結果是所述監視裝置所監視的云端代理服務器的運行狀態;根據所述查詢結果確定所述云端代理服務器是否異常;以及在確定所述云端代理服務器異常時,獲取所述云端代理服務器的異常狀況信息,其中,所述查詢策略能夠根據所述查詢結果來調整。
[0012]當由于所述監視裝置發生故障而導致所述終端設備中的本地代理服務不能連接到所述監視裝置時,所述本地代理服務可通過如下步驟來確定所述云端代理服務器的異常狀況信息:向所述云端代理服務器發送消息;接收所述云端代理服務器對所述消息的響應;以及基于所述響應來確定所述云端代理服務器的異常狀況信息。
[0013]所述消息可以為網絡請求,在根據所述響應來確定所述云端代理服務器的異常狀況信息時,可以根據所述云端代理服務器對所述消息的響應超時時間和響應超時次數中的至少一個來確定所述云端代理服務器的異常狀況信息。
[0014]所述異常確定結果可以包括云端代理服務器的停用、或超載,所述本地代理服務按照與所述異常確定結果對應的獲取策略、獲得與所述至少一個應用發出的數據獲取請求對應的內容數據的步驟可以包括:當所述異常確定結果指明所述云端代理服務器停用時,所述本地代理服務將所述數據獲取請求發送到所述數據服務器,并從數據服務器獲取所述對應的內容數據;當所述異常確定結果指明所述云端代理服務器超載時,所述本地代理服務將所述數據獲取請求拆分為第一子數據獲取請求和第二子數據獲取請求,將該第一子數據獲取請求發送到所述云端代理服務器并從該云端代理服務器接收與所述第一子數據獲取請求對應的內容數據,將所述第二子數據獲取請求發送到所述數據服務器并從所述數據服務器接收與所述第二子數據獲取請求對應的內容數據。
[0015]所述將數據獲取請求拆分為第一子數據獲取請求和第二子數據獲取請求的步驟可包括:所述本地代理服務獲取用于所述終端設備中的各個應用的分流策略;和基于所述分流策略來將數據獲取請求拆分為第一子數據獲取請求和第二子數據獲取請求。
[0016]另一方面,提供了一種終端設備,該終端設備通過所述本地代理服務分別與數據服務器和云端代理服務器進行通信連接,當該云端代理服務器從所述終端設備接收到用于請求從所述數據服務器獲得內容數據的數據獲取請求時,該云端代理服務器從所述數據服務器獲取所述內容數據、將該內容數據壓縮、并向所述終端設備傳送已壓縮的內容數據,所述終端設備包括:至少一個應用,用于發出所述用于請求從所述數據服務器獲得內容數據的數據獲取請求;本地代理服務,用于確定所述云端代理服務器的異常狀況信息,并產生一異常確定結果,當所述異常確定結果指明所述云端代理服務器異常時,該本地代理服務按照與所述異常確定結果對應的獲取策略、獲得與所述至少一個應用發出的數據獲取請求對應的內容數據。
[0017]在本發明實施例的數據獲取方法和使用該數據獲取方法的終端設備中,通過確定所述云端代理服務器的異常,按照與所述異常確定結果才采取不同的獲取策略獲取所請求的內容數據,使用戶在通過終端設備快速獲取內容數據的同時節省終端設備的數據流量,從而用戶能夠便利、高效、節約成本地獲取數據。
【專利附圖】
【附圖說明】
[0018]為了更清楚地說明本發明實施例的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。
[0019]圖1是示意性圖示了終端設備獲取內容數據的通信網絡的架構;
[0020]圖2是示意性圖示了根據本發明實施例的數據獲取方法的流程圖;
[0021]圖3是示意性圖示了根據本發明實施例的利用監視裝置確定異常的系統的圖;
[0022]圖4是示意性圖示了根據本發明實施例的利用監視裝置檢測云端代理服務器的異常的方法的流程圖;
[0023]圖5是示意性圖示了根據本發明實施例的終端設備根據獲取策略獲取內容數據的方法的流程圖;
[0024]圖6是示意性圖示了終端設備利用根據本發明實施例的數據獲取方法來獲取內容數據的示例性流程圖;
[0025]圖7是示意性圖示了根據本發明實施例的終端設備的框圖。
【具體實施方式】
[0026]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。
[0027]圖1是示意性圖示了終端設備獲取內容數據的通信網絡的架構。在圖1中,所述終端設備10通過所述本地代理服務110分別與數據服務器30和云端代理服務器20進行通信連接。所述終端設備10具有本地代理服務110和至少一個應用120。所述云端代理服務器20在從所述本地代理服務110接收到所述至少一個應用120發出的用于請求從所述數據服務器獲得內容數據的數據獲取請求時,該云端代理服務器20從所述數據服務器獲取所述內容數據、將該內容數據壓縮、并向所述本地代理服務傳送已壓縮的內容數據。所述終端設備10例如為智能電話、平板電腦和個人數字助理等。所述數據服務器30例如為網站服務器、文獻數據庫、或數據存儲服務器等。所述云端代理服務器20是用于數據服務器的代理服務器,其可以代理多個數據服務器的數據通信。
[0028]該終端設備10可以經由云端代理服務器20從數據服務器30獲取內容數據。具體地,在終端設備10中的所述應用120的運行過程中,例如基于用戶的操作產生所述數據獲取請求,并將其發送到所述終端設備10的本地代理服務110 ;該本地代理服務110然后將所述數據獲取請求發送到云端代理服務器20 ;云端代理服務器20與數據服務器30進行數據通信,從數據服務器30獲得與所述數據獲取請求對應的內容數據,將獲得的內容數據進行諸如壓縮等的處理后發送到所述本地代理服務101 ;所述本地代理服務101對從云端代理服務器20接收的內容數據進行例如解壓縮之類的處理,并將處理后的內容數據提供給所述應用。在該終端設備10經由云端代理服務器20從數據服務器30獲取內容數據時,由于云端代理服務器20的數據壓縮處理,該終端設備10可以節省其數據流量。
[0029]此外,所述終端設備10還可以不經由云端代理服務器20而直接從數據服務器30獲取內容數據。所述本地代理服務Iio還可以將所述應用120發出的用于請求從所述數據服務器獲得內容數據的數據獲取請求發送給所述數據服務器30,并從直接從數據服務器30接收與所述數據獲取請求對應的內容數據。本地代理服務110與數據服務器30可利用第三代(3G)移動通信技術、WiFi無線通信技術等技術來通信。
[0030]圖2是示意性圖示了根據本發明實施例的數據獲取方法200的流程圖。該數據獲取方法200適用于如圖1所示的通信網絡。
[0031]該數據獲取方法200包括:所述本地代理服務確定所述云端代理服務器的異常狀況信息,并產生一異常確定結果(S210);當所述異常確定結果指明所述云端代理服務器異常時,所述本地代理服務按照與所述異常確定結果對應的獲取策略、獲得與所述至少一個應用發出的數據獲取請求對應的內容數據(S220 )。
[0032]在S210中,所述本地代理服務確定所述云端代理服務器的異常狀況信息,并產生一異常確定結果。該云端代理服務器的異常狀況信息例如指的是所述云端代理服務器不能對數據獲取請求做出響應、對數據獲取請求的響應時間比較長、或者云端代理服務器的負載情況等信息。作為示例,當所述云端代理服務器不能對數據獲取請求做出響應時,意味著該云端代理服務器不能工作,其可能由于負載過重、軟件故障等死機;當云端代理服務器對數據獲取請求的響應時間比較長時,意味著云端代理服務器難以及時地處理所述數據獲取請求,即其處于超載情況;當云端代理服務器的負載占用超過80%時,其也可能處于超載狀態。根據異常確定方式的不同,會獲得不同的異常狀況信息,從而產生與所述異常狀況信息對應的異常確定結果。
[0033]所述本地代理服務可以采用現有的或將來出現的各種技術來確定所述云端代理服務器的異常狀況信息。作為示例,所述本地代理服務可以與所述云端代理服務器通信以確定所述異常狀況信息。具體地,所述本地代理服務可以向所述云端代理服務器發送消息;接收所述云端代理服務器對所述消息的響應;根據所述響應來確定所述云端代理服務器的異常狀況信息。所述消息可以為Ping命令、或者諸如數據獲取請求的網絡請求。例如,所述本地代理服務可以主動地發出用于所述云端代理服務器的ping命令,接收所述云端代理服務器對所述Ping命令的響應并解析該響應,如果本地代理服務基于解析結果發現不能Ping通,則可判斷不能連接到所述云端代理服務器,從而可以確定所述云端代理服務器停用。此外,所述本地代理服務還可以向云端代理服務器發送數據獲取請求,接收并記錄該云端代理服務器對各個數據獲取請求的響應,如果連續多個(例如,10個)數據獲取請求均出現超時,則可確定所述云端代理服務器停用;如果云端代理服務器對各個數據獲取請求的響應超出了規定時間但是還是做出了響應、或者僅僅能夠對多個數據獲取請求中的部分及時做出響應,可以確定所述云端代理服務器超載。也就是說,在根據云端代理服務器對網絡請求的響應來確定所述云端代理服務器的異常狀況信息時,可以根據所述云端代理服務器對網絡請求的響應超時時間和響應超時次數中的至少一個來確定所述云端代理服務器的異常狀況信息。
[0034]此外,還可以設置監視裝置來監視所述云端代理服務器的異常。下面結合圖3和圖4進行描述。圖3是示意性圖示了根據本發明實施例的利用監視裝置確定異常的通信網絡的框圖。
[0035]圖3中的終端設備10、云端代理服務器20和數據服務器30以及它們之間的連接關系可以參見前面結合圖1的描述。與圖1相比,該圖3中還包括了監視裝置40。該監視裝置40連接到所述終端設備的本地代理服務,并且與所述云端代理服務器20通信連接、并監視所述云端代理服務器的運行狀態。要注意,盡管在圖3中將監視裝置40圖示為與所述云端代理服務器20通信連接,但是該監視裝置40可以位于所述云端代理服務器20中。在圖3所示的利用監視裝置40確定異常的系統中,所述監視裝置40監視所述云端代理服務器20的運行狀態,并將云端代理服務器20的運行狀態信息傳送到終端設備10中的本地代理服務110,從而確定所述云端代理服務器的異常狀況信息。也就是說,所述本地代理服務110可以從所述監視裝置40獲取所述云端代理服務器20的異常狀況信息,該異常狀況信息是所述監視裝置40通過監視所述云端代理服務器20的運行狀態而獲得的信息。
[0036]圖4是示意性圖示了根據本發明實施例的本地代理服務確定云端代理服務器的異常的方法400的流程圖。在S410中,判斷是否利用監視裝置來確定云端代理服務器的異常狀況信息。在利用監視裝置確定云端代理服務器的異常狀況信息的情況下(S410中的是),所述本地代理服務110執行S420 - S450的步驟;在不利用監視裝置確定云端代理服務器的異常狀況信息的情況下(S410中的否),這例如發生在由于所述監視裝置發生故障而導致所述終端設備中的本地代理服務不能連接到所述監視裝置的情形中,所述本地代理服務110執行S460 - S480的步驟。
[0037]在S420中,所述本地代理服務根據查詢策略向所述監視裝置發送查詢請求,該查詢請求可以定期發送,從而在本地代理服務Iio與監視裝置40之間建立監控機制。在S430中,所述本地代理服務接收所述監視裝置響應于所述查詢請求而發出的查詢結果,該查詢結果是所述監視裝置所監視的云端代理服務器的運行狀態。在S440中,根據所述查詢結果確定所述云端代理服務器是否異常。當確定所述云端代理服務器異常時,從查詢結果獲取所述云端代理服務器的異常狀況信息(S450)。要注意,S420中的所述查詢策略可以根據所述查詢結果來調整,以提高查詢效率。例如,在查詢策略為每隔30分鐘發送查詢請求時,如果相應的查詢結果指明所述云端代理服務器負載重時,則可以將查詢策略中的查詢間隔增加至I小時,以減少本地代理服務中進行查詢所花費的資源,從而提高查詢效率。利用該查詢機制,在云端代理服務器異常之后,本地代理服務可以利用監視裝置及時地發現云端代理服務器的正常工作狀況,并及時地利用云端代理服務器獲取內容數據,從而節省終端設備的數據流量。
[0038]此外,本地代理服務除了利用S420 - S450來從監視裝置獲取所述異常狀況信息之外,還可以采取其它的方式來從監視裝置獲取所述異常狀況信息。例如,本地代理服務可以不向所述監視裝置40發送查詢請求,而由所述監視裝置40自動地將在監視過程中發現的異常狀況信息發送到所述本地代理服務110。
[0039]在S460中,所述本地代理服務向所述云端代理服務器發送消息。在S470中,所述本地代理服務接收所述云端代理服務器對所述消息的響應。在S480中,所述本地代理服務基于所述響應來確定所述云端代理服務器的異常狀況信息。這是前述的所述本地代理服務110與所述云端代理服務器20通信以確定所述異常狀況信息的情況,這里不再詳述。
[0040]在圖4所示的本地代理服務確定云端代理服務器的異常的方法400,通過組合地使用不同的異常確定方式,本地代理服務可以準確地確定云端代理服務器的異常狀況信息,從而產生異常確定結果。
[0041]上面結合圖3 - 4描述了在圖2的S210中的本地代理服務確定所述云端代理服務器的異常狀況信息的方式。下文中繼續描述圖2的S220。在該S220中,當所述異常確定結果指明所述云端代理服務器異常時,所述本地代理服務按照與所述異常確定結果對應的獲取策略、獲得與所述至少一個應用發出的數據獲取請求對應的內容數據。所述異常確定結果可以包括如上所述的云端代理服務器停用、或超載,還可以根據需要包括其它的異常情況。
[0042]下面結合圖5進行描述。圖5是示意性圖示了根據本發明實施例的終端設備根據獲取策略獲取內容數據的方法500的流程圖。
[0043]在S210中生成了異常確定結果之后,判斷異常確定結果是云端代理服務器停用、還是云端代理服務器超載。在所述異常確定結果指明所述云端代理服務器停用時,如圖1所示,所述本地代理服務110不能經由云端代理服務器20從所述數據服務器30獲取內容數據,此時可以自動地利用3G或WiFi網絡直接與所述數據服務器30通信以獲得內容數據,而不再需要終端設備的用戶的手動設置,從而保證能夠及時地對終端設備中的應用的數據獲取請求做出響應。在所述異常確定結果指明所述云端代理服務器超載時,此時圖1中的云端代理服務器還可以工作、但是速度較慢,此時可以對云端代理服務器20進行分流,即將應用120中的數據獲取請求的一部分發送直接發送到數據服務器30,以減輕云端代理服務器的負載,從而平衡對所述數據獲取請求的響應速度和在所述對應的內容數據的獲得中發生的數據流量。
[0044]當所述異常確定結果指明所述云端代理服務器停用時,所述本地代理服務將所述數據獲取請求發送到所述數據服務器(S510),并從數據服務器獲取所述對應的內容數據(S520)。在所述本地代理服務與所述數據服務器的通信過程中,如果二者即可以使用3G通信網絡也可以使用WiFi通信網絡進行通信,則優先地使用WiFi通信網絡進行通信,以節省終端設備的數據流量。
[0045]當所述異常確定結果指明所述云端代理服務器超載時,所述本地代理服務獲取用于所述終端設備中的各個應用的分流策略(步驟530);基于所述分流策略來將數據獲取請求拆分為第一子數據獲取請求和第二子數據獲取請求(S540);將該第一子數據獲取請求發送到所述數據服務器、并將所述第二子數據獲取請求發送到所述云端代理服務器(S550),從所述數據服務器接收與所述第一子數據獲取請求對應的內容數據、并從所述云端代理服務器接收與所述第二子數據獲取請求對應的內容數據(S560)。在S530 - S540中,分流策略可以是針對各個應用而不同地設置的,從而實現更為靈活的分流。此外,也可以不針對應用設置分流策略,而根據所請求的內容數據的大小采用統一的分流方式,例如可以將數據獲取請求中關于圖片、動畫等數據量大的請求作為所述第一子數據獲取請求,而將數據獲取請求中關于文本、網頁等數據量小的請求作為所述第二子數據獲取請求。替換地,還可以針對終端設備的不同用戶而設置不同的分流策略。
[0046]在本發明實施例的數據獲取方法中,通過確定所述云端代理服務器的異常,按照與所述異常確定結果才采取不同的獲取策略獲取所請求的內容數據,使用戶在通過終端設備快速獲取內容數據的同時節省終端設備的數據流量,從而用戶能夠便利、高效、節約成本地獲取數據。
[0047]為了更充分地公開本發明實施例的數據獲取方法,下面結合圖6描述終端設備利用所述數據獲取方法來獲取內容數據的示例性過程。圖6是示意性圖示了終端設備利用根據本發明實施例的數據獲取方法來獲取內容數據的示例性流程圖。
[0048]在S601中,監視裝置40在監視云端代理服務器20的過程中發現該云端代理服務器20異常。在S602中,該監視裝置40將該云端代理服務器20的異常狀況信息發送給本地代理服務110。在S603中,所述本地代理服務110獲取分流策略,該分流策略可以動態地調整。在S604中,所述本地代理服務110基于所述分流策略來將數據獲取請求拆分為第一子數據獲取請求和第二子數據獲取請求。在S605中,本地代理服務110將該第一子數據獲取請求發送到所述云端代理服務器20。在S606中,該云端代理服務器20將壓縮后的與所述第一子數據獲取請求對應的內容數據發送到本地代理服務110。在S607中,本地代理服務110將所述第二子數據獲取請求發送到所述數據服務器30。在S608中,所述數據服務器30將與所述第二子數據獲取請求對應的內容數據發送到所述本地代理服務110。可見,在S606和S608中,本地代理服務110獲得了與數據獲取請求對應的內容數據。此后,在S609中,所述本地代理服務110根據查詢策略向所述監視裝置40發送查詢請求。在S610中,所述監視裝置40響應于所述查詢請求而向所述本地代理服務110發出查詢結果,該查詢結果指明云端代理服務器20的異常解除,即工作正常。在S611中,本地代理服務110根據所述查詢結果確定所述云端代理服務器的異常是否被解除。在S612中,當確定所述云端代理服務器的異常被解除時,向所述云端代理服務器20發送數據獲取請求。如果云端代理服務器20的異常沒有被解除,則針對新的數據獲取請求繼續根據分流策略獲取內容數據。
[0049]圖7是示意性圖示了根據本發明實施例的終端設備的框圖。該終端設備適用于如圖1所示的通信網絡,并對應于圖1中的終端設備10。因此,圖7中的終端設備通過所述本地代理服務分別與數據服務器和云端代理服務器進行通信連接,當該云端代理服務器從所述終端設備接收到用于請求從所述數據服務器獲得內容數據的數據獲取請求時,該云端代理服務器從所述數據服務器獲取所述內容數據、將該內容數據壓縮、并向所述終端設備傳送已壓縮的內容數據。圖7中的該終端設備包括本地代理服務710和至少一個應用720。所述至少一個應用720用于發出所述用于請求從所述數據服務器獲得內容數據的數據獲取請求。所述本地代理服務710包括:異常確定單元711,用于確定所述云端代理服務器的異常狀況信息,并產生一異常確定結果;策略確定單元712,用于當所述異常確定結果指明所述云端代理服務器異常時,獲取與所述異常確定結果對應的獲取策略;通信單元713,用于按照所述獲取策略、獲得與所述至少一個應用發出的數據獲取請求對應的內容數據。
[0050]所述異常確定單元711通過用于確定所述云端代理服務器的異常狀況信息,并產生一異常確定結果。如前所述,所述異常狀況信息例如指的是所述云端代理服務器不能對數據獲取請求做出響應、對數據獲取請求的響應時間比較長、或者云端代理服務器的負載情況等信息。根據異常確定方式的不同,會獲得不同的異常狀況信息,從而產生與所述異常狀況信息對應的異常確定結果。
[0051]所述異常確定單元711可以采用現有的或將來出現的各種技術來確定所述云端代理服務器的異常狀況信息。作為示例,所述異常確定單元711可以根據所述本地代理服務710與所述云端代理服務器的通信來確定所述異常狀況信息。具體地,可通過所述通信單元713向所述云端代理服務器發送消息,并接收所述云端代理服務器對所述消息的響應;所述異常確定單元711可基于所述響應來確定所述云端代理服務器的異常狀況信息。所述消息可以為Ping命令、或者諸如數據獲取請求的網絡請求。在所述消息為網絡請求時,所述異常確定單元711可以根據所述云端代理服務器對所述消息的響應超時時間和響應超時次數中的至少一個來確定所述云端代理服務器的異常狀況信息。關于該部分的描述可以參見前面在S210中的描述。
[0052]此外,所述異常確定單元711還可以利用在服務器端設置的監視裝置來確定所述云端代理服務器的異常狀況信息。具體地,該監視裝置與所述云端代理服務器通信連接、并監視所述云端代理服務器的運行狀態,所述本地代理服務710連接到該監視裝置(參見圖3)。可利用所述通信單元713從所述監視裝置獲取所述云端代理服務器的異常狀況信息,該異常狀況信息是所述監視裝置通過監視所述云端代理服務器的運行狀態而獲得的信息。所述異常確定單元711用于基于所述運行狀態信息來確定所述云端代理服務器的異常狀況信息,并產生一異常確定結果。
[0053]所述通信單元713可通過如下操作從所述監視裝置獲取所述云端代理服務器的異常狀況信息:所述通信單元713根據查詢策略向所述監視裝置發送查詢請求,接收所述監視裝置響應于所述查詢請求而發出的查詢結果,該查詢結果是所述監視裝置所監視的云端代理服務器的運行狀態;所述異常確定單元711根據所述查詢結果確定所述云端代理服務器是否異常,并且在確定所述云端代理服務器異常時,獲取所述云端代理服務器的異常狀況信息,其中,所述查詢策略能夠根據所述查詢結果來調整,以提高查詢效率。利用該查詢機制,在云端代理服務器異常之后,本地代理服務710可以利用監視裝置及時地發現云端代理服務器的正常工作狀況,并及時地利用云端代理服務器獲取內容數據,從而節省終端設備的數據流量。此外,替代向所述監視裝置發送查詢請求,還可以由所述監視裝置自動地將在監視過程中發現的異常狀況信息發送到所述本地代理服務710。
[0054]當由于所述監視裝置發生故障而導致所述本地代理服務710不能連接到所述監視裝置時,異常確定單元711還可以基于本地代理服務與云端代理服務器的通信來確定所述云端代理服務器的異常。具體地,所述通信單元713還向所述云端代理服務器發送消息,并接收所述云端代理服務器對所述消息的響應。所述異常確定單元基于所述響應來確定所述云端代理服務器的異常。這里,通過組合地使用不同的異常確定方式,可以準確地確定云端代理服務器的異常狀況信息,并產生異常確定結果。
[0055]關于異常確定單元711利用在服務器端設置的監視裝置來確定所述云端代理服務器的異常的詳細情況,可以參見前面結合圖3和圖4進行的描述。
[0056]當所述異常確定結果指明所述云端代理服務器異常時,所述通信單元713按照策略確定單元712所確定的獲取策略、獲得與所述至少一個應用發出的數據獲取請求對應的內容數據,以平衡對所述數據獲取請求的響應速度和在所述對應的內容數據的獲得中發生的數據流量。所述異常確定結果可以包括如上所述的云端代理服務器停用、或超載,還可以根據需要包括其它的異常情況。下面以所述異常確定結果包括云端代理服務器停用、或超載的情況為例來描述通信單元的操作。
[0057]在所述異常確定單元711確定所述云端代理服務器停用時,所述通信單元713按照所述獲取策略獲得內容數據的操作包括:將所述數據獲取請求發送到所述數據服務器,并從數據服務器獲取所述對應的內容數據。
[0058]在所述異常確定單元711確定所述云端代理服務器超載時,所述通信單元713按照所述獲取策略獲得內容數據的操作包括:將數據獲取請求拆分為第一子數據獲取請求和第二子數據獲取請求,將該第一子數據獲取請求發送到所述云端代理服務器并從該云端代理服務器接收與所述第一子數據獲取請求對應的內容數據,將所述第二子數據獲取請求發送到所述數據服務器并從所述數據服務器接收與所述第二子數據獲取請求對應的內容數據。作為所述通信單元713將所述數據獲取請求拆分為第一子數據獲取請求和第二子數據獲取請求的示例,可以利用所述策略確定單元712來確定用于各個應用的分流策略,通信單元713從所述策略確定單元712接收所述分流策略,并基于所述分流策略來將數據獲取請求拆分為第一子數據獲取請求和第二子數據獲取請求。
[0059]關于通信單元713所執行的操作,可以參見結合圖5進行的描述。此外,本發明實施例中的所述本地代理服務還可以進行如圖6所示的數據獲取操作。
[0060]在本發明實施例的終端設備中,通過利用異常確定單元確定所述云端代理服務器的異常,按照與所述異常確定結果才采取不同的獲取策略獲取所請求的內容數據,使用戶在通過終端設備快速獲取內容數據的同時節省終端設備的數據流量,從而用戶能夠便利、高效、節約成本地獲取數據。
[0061]要注意,圖7中的單元的劃分僅僅是示意性,在實踐中可以采取其它的劃分方式。此外,所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的設備、單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0062]本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
[0063]所述功能如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器、隨機存取存儲器、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0064]以上所述,僅為本發明的【具體實施方式】,但本發明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應所述以權利要求的保護范圍為準。
【權利要求】
1.一種數據獲取方法,應用于一終端設備,所述終端設備具有至少一個應用和一本地代理服務,所述終端設備通過所述本地代理服務分別與數據服務器和云端代理服務器進行通信連接,當該云端代理服務器從所述本地代理服務接收到所述至少一個應用發出的用于請求從所述數據服務器獲得內容數據的數據獲取請求時,該云端代理服務器從所述數據服務器獲取所述內容數據、將該內容數據壓縮、并向所述本地代理服務傳送已壓縮的內容數據,所述數據獲取方法包括: 所述本地代理服務確定所述云端代理服務器的異常狀況信息,并產生一異常確定結果; 當所述異常確定結果指明所述云端代理服務器異常時,所述本地代理服務按照與所述異常確定結果對應的獲取策略、獲得與所述至少一個應用發出的數據獲取請求對應的內容數據。
2.如權利要求1所述的數據獲取方法,其中,所述本地代理服務按照與所述異常確定結果對應的獲取策略、獲得與所述至少一個應用發出的數據獲取請求對應的內容數據,以便平衡對所述數據獲取請求的響應速度和在所述對應的內容數據的獲得中發生的數據流量。
3.根據權利要求1的數據獲取方法,其中,所述終端設備中的本地代理服務還連接到監視裝置,該監視裝置與所述云端代理服務器通信連接、并監視所述云端代理服務器的運行狀態, 所述本地代理服務確定所述云端代理服務器的異常狀況信息的步驟包括:從所述監視裝置獲取所述云端代理服務器 的異常狀況信息,該異常狀況信息是所述監視裝置通過監視所述云端代理服務器的運行狀態而獲得的信息。
4.根據權利要求3的數據獲取方法,其中,所述從監視裝置接收所述云端代理服務器的異常狀況信息的步驟包括: 所述本地代理服務根據查詢策略向所述監視裝置發送查詢請求; 接收所述監視裝置響應于所述查詢請求而發出的查詢結果,該查詢結果是所述監視裝置所監視的云端代理服務器的運行狀態, 根據所述查詢結果確定所述云端代理服務器是否異常;以及 在確定所述云端代理服務器異常時,獲取所述云端代理服務器的異常狀況信息, 其中,所述查詢策略能夠根據所述查詢結果來調整。
5.根據權利要求3的數據獲取方法,其中,當由于所述監視裝置發生故障而導致所述終端設備中的本地代理服務不能連接到所述監視裝置時,所述本地代理服務通過如下步驟來確定所述云端代理服務器的異常狀況信息: 向所述云端代理服務器發送消息; 接收所述云端代理服務器對所述消息的響應;以及 基于所述響應來確定所述云端代理服務器的異常狀況信息。
6.根據權利要求1的數據獲取方法,其中,所述本地代理服務確定所述云端代理服務器的異常狀況信息的步驟包括: 所述本地代理服務向所述云端代理服務器發送消息; 接收所述云端代理服務器對所述消息的響應;根據所述響應來確定所述云端代理服務器的異常狀況信息。
7.根據權利要求6的數據獲取方法,其中,所述消息為網絡請求, 所述根據所述響應來確定所述云端代理服務器的異常狀況信息包括:根據所述云端代理服務器對所述消息的響應超時時間和響應超時次數中的至少一個來確定所述云端代理服務器的異常狀況信息。
8.根據權利要求1的數據獲取方法,其中,所述異常確定結果包括云端代理服務器的停用、或超載,所述本地代理服務按照與所述異常確定結果對應的獲取策略、獲得與所述至少一個應用發出的數據獲取請求對應的內容數據的步驟包括: 當所述異常確定結果指明所述云端代理服務器停用時,所述本地代理服務將所述數據獲取請求發送到所述數據服務器,并從數據服務器獲取所述對應的內容數據; 當所述異常確定結果指明所述云端代理服務器超載時,所述本地代理服務將所述數據獲取請求拆分為第一子數據獲取請求和第二子數據獲取請求,將該第一子數據獲取請求發送到所述云端代理服務器并從該云端代理服務器接收與所述第一子數據獲取請求對應的內容數據,將所述第二子數據獲取請求發送到所述數據服務器并從所述數據服務器接收與所述第二子數據獲取請求對應的內容數據。
9.根據權利要求8的數據獲取方法,其中,所述將數據獲取請求拆分為第一子數據獲取請求和第二子數據獲取請求的步驟包括: 所述本地代理服務獲取用于所述終端設備中的各個應用的分流策略;和基于所述分流策略來將數據獲取請求拆分為第一子數據獲取請求和第二子數據獲取請求。
10.一種終端設備,該終端設備通過所述本地代理服務分別與數據服務器和云端代理服務器進行通信連接,當該云端代理服務器從所述終端設備接收到用于請求從所述數據服務器獲得內容數據的數據獲取請求時,該云端代理服務器從所述數據服務器獲取所述內容數據、將該內容數據壓縮、并向所述終端設備傳送已壓縮的內容數據,所述終端設備包括: 至少一個應用,用于發出所述用于請求從所述數據服務器獲得內容數據的數據獲取請求; 本地代理服務,包括: 異常確定單元,用于確定所述云端代理服務器的異常狀況信息,并產生一異常確定結果; 策略確定單元,用于當所述異常確定結果指明所述云端代理服務器異常時,獲取與所述異常確定結果對應的獲取策略; 通信單元,用于按照所述獲取策略、獲得與所述至少一個應用發出的數據獲取請求對應的內容數據。
11.根據權利要求10的終端設備,其中,所述通信單元按照所述獲取策略、獲得與所述至少一個應用發出的數據獲取請求對應的內容數據,以平衡對所述數據獲取請求的響應速度和在所述對應的內容數據的獲得中發生的數據流量。
12.根據權利要求10的終端設備,其中,所述本地代理服務還連接到監視裝置,該監視裝置與所述云端代理服務器通信連接、并監視所述云端代理服務器的運行狀態, 所述通信單元還用于從所述監視裝置獲取所述云端代理服務器的異常狀況信息,該異常狀況信息是所述監視裝置通過監視所述云端代理服務器的運行狀態而獲得的信息, 所述異常確定單元用于基于所述運行狀態信息來確定所述云端代理服務器的異常狀況信息,并產生一異常確定結果。
13.根據權利要求12的終端設備,其中, 所述通信單元通過如下操作從所述監視裝置獲取所述云端代理服務器的異常狀況信息:所述通信單元根據查詢策略向所述監視裝置發送查詢請求;接收所述監視裝置響應于所述查詢請求而發出的查詢結果,該查詢結果是所述監視裝置所監視的云端代理服務器的運行狀態, 所述異常確定單元根據所述查詢結果確定所述云端代理服務器是否異常,并且在確定所述云端代理服務器異常時,獲取所述云端代理服務器的異常狀況信息, 其中,所述查詢策略能夠根據所述查詢結果來調整。
14.根據權利要求12的終端設備,其中,當由于所述監視裝置發生故障而導致所述終端設備中的本地代理服務不能連接到所述監視裝置時, 所述通信單元還向所述云端代理服務器發送消息,并接收所述云端代理服務器對所述消息的響應;以及所述異常確定單元基于所述響應來確定所述云端代理服務器的異常狀況信息。
15.根據權利要求10的終端設備,其中, 所述通信單元還用于向所述云端代理服務器發送消息,并接收所述云端代理服務器對所述消息的響應,` 所述異常確定單元用于基于所述響應來確定所述云端代理服務器的異常狀況信息。
16.根據權利要求15的終端設備,其中,所述消息為網絡請求, 所述異常確定單元根據所述云端代理服務器對所述消息的響應超時時間和響應超時次數中的至少一個來確定所述云端代理服務器的異常狀況信息。
17.根據權利要求10的終端設備,其中,所述異常確定結果包括云端代理服務器的停用、或超載, 在所述異常確定單元確定所述云端代理服務器停用時,所述通信單元按照所述獲取策略獲得內容數據的操作包括:將所述數據獲取請求發送到所述數據服務器,并從數據服務器獲取所述對應的內容數據;以及 在所述異常確定單元確定所述云端代理服務器超載時,所述通信單元按照所述獲取策略獲得內容數據的操作包括:將數據獲取請求拆分為第一子數據獲取請求和第二子數據獲取請求,將該第一子數據獲取請求發送到所述云端代理服務器并從該云端代理服務器接收與所述第一子數據獲取請求對應的內容數據,將所述第二子數據獲取請求發送到所述數據服務器并從所述數據服務器接收與所述第二子數據獲取請求對應的內容數據。
18.根據權利要求17的終端設備,其中,所述策略確定單元還確定用于各個應用的分流策略, 所述通信單元通過如下操作將所述數據獲取請求拆分為第一子數據獲取請求和第二子數據獲取請求:從所述策略確定單元接收所述分流策略;和基于所述分流策略來將數據獲取請求拆分為第一子數據獲取請求和第二子數據獲取請求。
【文檔編號】H04L29/08GK103685436SQ201210364231
【公開日】2014年3月26日 申請日期:2012年9月26日 優先權日:2012年9月26日
【發明者】趙志強 申請人:聯想(北京)有限公司