本發明涉及即時通訊技術領域,具體涉及一種數據推送方法及相關客戶端、服務器。
背景技術:
近年來,集合在線K歌、在線視頻直播、在線游戲直播、在線教育直播等功能為一體的綜合型的富媒體客戶端空前發展,使得觀眾用戶可以自在地通過觀眾客戶端來觀看主播客戶端直播的內容。其中,觀眾客戶端可以接入主播客戶端所在的頻道,而主播客戶端可以通過攝像裝置、麥克風等外部設備獲取主播用戶(也稱為內容提供者)輸入的視頻和語音信息,并且在經過音視頻信息的融合之后向服務設備發送直播內容,再由服務設備向接入主播客戶端所在頻道中的觀眾客戶端推送直播內容。
在移動端的富媒體客戶端中,因為移動設備的屏幕尺寸決定了單屏顯示的直播數據條目遠遠少于桌面端基于瀏覽器單頁所展示的數目,因此,在現有的移動端的富媒體客戶端中,用戶在刷新數據時除非主播的直播狀態有變動,刷新看到的數據往往會和上次一樣,只能看到置頂的4-6條數據。
技術實現要素:
本發明實施例提供了一種數據推送方法及相關客戶端、服務器,以期實現用戶每次刷新直播數據推送界面時獲取的數據不同,提升用戶粘度。
第一方面,本發明實施例提供一種數據推送方法,包括:
在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,所述第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點;
在檢測到所述間隔時長小于所述預設緩存時間時,根據客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,所述緩存數據集合至少包括所述第一緩存數據子集和所述第二緩存數據子集;
向所述服務器發送第一緩存數據獲取請求,所述第一緩存數據獲取請求攜帶所述第二緩存數據子集的標識;
接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據;
在所述直播數據推送界面輸出所述第二緩存數據。
可選的,所述方法還包括:
確定第一刷新操作的第一時間節點所在的第i個數據緩存周期;
根據初始時間節點和所述第i個數據緩存周期確定所述第二時間節點,所述初始時間節點是所述服務器在接收到所述客戶端發送的同步請求時建立緩存集合并在所述緩存數據集合中存儲緩存數據的時間節點,所述同步請求是所述客戶端在檢測到所述客戶端被啟用時而向所述服務器發送的。
可選的,所述方法還包括:
在檢測到所述間隔時長大于所述預設緩存時間時,向所述服務器發送第二緩存數據獲取請求,所述第二緩存數據獲取請求攜帶所述第一緩存數據子集的標識;
接收所述服務器發送的第二緩存數據獲取響應,所述第二緩存數據獲取響應攜帶所述服務器根據所述第一緩存數據子集的標識從所述緩存數據集合中提取的所述第一緩存數據子集中的所述第三緩存數據;
在所述直播數據推送界面輸出所述第三緩存數據。
可選的,所述第一緩存數據獲取請求還包括所述客戶端的客戶端標識以及未瀏覽數據的數據標識,所述第一緩存數據獲取請求用于指示所述服務器將所述未瀏覽數據的數據標識對應的未瀏覽數據添加至所述與所述客戶端標識以及所述第二緩存數據子集的標識對應的第二緩存數據子集中;
所述向所述服務器發送第一緩存數據獲取請求之前,所述方法還包括:
接收所述服務器發送的第四緩存數據獲取響應,所述第四緩存數據獲取響應攜帶所述服務器根據所述第一緩存數據子集的標識從所述緩存數據集合中提取的所述第一緩存數據子集中的所述第一緩存數據;
基于所述第一緩存數據的數據標識以及在所述客戶端中顯示的至少一個數據的數據標識,確定未瀏覽數據的數據標識。
第二方面,本發明實施例提供一種數據推送方法,包括:
獲取客戶端發送的第一緩存數據獲取請求,所述第一緩存數據獲取請求攜帶第二緩存數據子集的標識,其中,所述第二緩存數據子集的標識是所述客戶端根據已下載的第一緩存數據對應的第一緩存數據子集的標識、所述客戶端檢測到第一刷新操作的第一時間節點、服務器接收緩存數據集合中的當前存儲的緩存數據的第二時間節點以及預設緩存時間確定的,所述緩存數據集合至少包括所述第一緩存數據子集和所述第二緩存數據子集;
基于所述第二緩存數據子集的標識從緩存數據集合中提取第二緩存數據子集中的第二緩存數據;
向所述客戶端發送攜帶所述第二緩存數據的第一緩存數據獲取響應。
可選的,在檢測接收到所述客戶端發送的同步請求時,建立緩存集合并在所述緩存數據集合中存儲緩存數據,所述同步請求是所述客戶端在檢測到所述客戶端被啟用時而向服務器發送的;
每隔預設緩存時間,重復執行所述建立緩存數據集合并在所述緩存數據集合中存儲緩存數據的步驟,直至收到客戶端關閉消息為止,所述客戶端關閉消息是所述客戶端在檢測到所述客戶端被關閉時向所述服務器發送的。
可選的,所述第一緩存數據子集和所述第二緩存數據子集中存儲的緩存數據互不相同;
或者,所述第一緩存數據子集和所述第二緩存數據子集中存儲的緩存數據除至少一個目標數據外互不相同。
可選的,所述第一緩存數據獲取請求還包括客戶端標識以及未瀏覽數據的數據標識,所述方法還包括:
將所述未瀏覽數據的數據標識對應的未瀏覽數據添加至所述與所述客戶端標識以及所述第二緩存數據子集的標識對應的第二緩存數據子集中。
第三方面,本發明實施例提供了一種數據推送客戶端,包括:
檢測單元,用于在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,所述第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點;
更新單元,用于在檢測到所述間隔時長小于所述預設緩存時間時,根據客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,所述緩存數據集合至少包括所述第一緩存數據子集和所述第二緩存數據子集;
發送單元,用于向所述服務器發送第一緩存數據獲取請求,所述第一緩存數據獲取請求攜帶所述第二緩存數據子集的標識;
接收單元,用于接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據;
顯示單元,用于在所述直播數據推送界面輸出所述第二緩存數據。
可選的,所述客戶端還包括:
同步單元,用于確定第一刷新操作的第一時間節點所在的第i個數據緩存周期;根據初始時間節點和所述第i個數據緩存周期確定所述第二時間節點,所述初始時間節點是所述服務器在接收到所述客戶端發送的同步請求時建立緩存集合并在所述緩存數據集合中存儲緩存數據的時間節點,所述同步請求是所述客戶端在檢測到所述客戶端被啟用時而向所述服務器發送的。
可選的,所述發送單元,還用于在檢測到所述間隔時長大于所述預設緩存時間時,向所述服務器發送第二緩存數據獲取請求,所述第二緩存數據獲取請求攜帶所述第一緩存數據子集的標識;
所述接收單元,還用于接收所述服務器發送的第二緩存數據獲取響應,所述第二緩存數據獲取響應攜帶所述服務器根據所述第一緩存數據子集的標識從所述緩存數據集合中提取的所述第一緩存數據子集中的所述第三緩存數據;
所述顯示單元,還用于在所述直播數據推送界面輸出所述第三緩存數據。
可選的,所述第一緩存數據獲取請求還包括所述客戶端的客戶端標識以及未瀏覽數據的數據標識,所述第一緩存數據獲取請求用于指示所述服務器將所述未瀏覽數據的數據標識對應的未瀏覽數據添加至所述與所述客戶端標識以及所述第二緩存數據子集的標識對應的第二緩存數據子集中;
所述客戶端還包括:
未瀏覽數據確定單元,在所述發送單元向所述服務器發送第一緩存數據獲取請求之前,用于接收所述服務器發送的第四緩存數據獲取響應,所述第四緩存數據獲取響應攜帶所述服務器根據所述第一緩存數據子集的標識從所述緩存數據集合中提取的所述第一緩存數據子集中的所述第一緩存數據;基于所述第一緩存數據的數據標識以及在所述客戶端中顯示的至少一個數據的數據標識,確定未瀏覽數據的數據標識。
第四方面,本發明實施例提供了一種數據推送服務器,包括:
獲取單元,獲取客戶端發送的第一緩存數據獲取請求,所述第一緩存數據獲取請求攜帶第二緩存數據子集的標識,其中,所述第二緩存數據子集的標識是所述客戶端根據已下載的第一緩存數據對應的第一緩存數據子集的標識、所述客戶端檢測到第一刷新操作的第一時間節點、服務器接收緩存數據集合中的當前存儲的緩存數據的第二時間節點以及預設緩存時間確定的,所述緩存數據集合至少包括所述第一緩存數據子集和所述第二緩存數據子集;
提取單元,用于基于所述第二緩存數據子集的標識從緩存數據集合中提取第二緩存數據子集中的第二緩存數據;
發送單元,用于向所述客戶端發送攜帶所述第二緩存數據的第一緩存數據獲取響應。
可選的,緩存單元,用于在檢測接收到所述客戶端發送的同步請求時,建立緩存集合并在所述緩存數據集合中存儲緩存數據,所述同步請求是所述客戶端在檢測到所述客戶端被啟用時而向服務器發送的;每隔預設緩存時間,重復執行所述建立緩存數據集合并在所述緩存數據集合中存儲緩存數據的步驟,直至收到客戶端關閉消息為止,所述客戶端關閉消息是所述客戶端在檢測到所述客戶端被關閉時向所述服務器發送的。
可選的,所述第一緩存數據子集和所述第二緩存數據子集中存儲的緩存數據互不相同;
或者,所述第一緩存數據子集和所述第二緩存數據子集中存儲的緩存數據除至少一個目標數據外互不相同。
可選的,所述第一緩存數據獲取請求還包括客戶端標識以及未瀏覽數據的數據標識,所述服務器還包括:
添加單元,用于將所述未瀏覽數據的數據標識對應的未瀏覽數據添加至所述與所述客戶端標識以及所述第二緩存數據子集的標識對應的第二緩存數據子集中。
可以看出,本發明實施例提供的數據推送方法中,客戶端在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,該第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點,在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,并向所述服務器發送攜帶所述第二緩存數據子集的標識的第一緩存數據獲取請求,接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據,客戶端在所述直播數據推送界面輸出所述第二緩存數據。通過實施本發明實施例有利于實現用戶每次刷新直播數據推送界面時獲取的數據不同,保證數據盡可能多的推送到客戶端,不浪費數據,提升推送數據的豐富性和多樣性,進而提升用戶觀看興趣,提升用戶的瀏覽時間,提升用戶粘度。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明實施例公開的一種網絡構架的結構示意圖;
圖2是本發明實施例公開的一種數據推送方法的流程示意圖;
圖2-1是本發明實施例中的直播數據推送界面的效果示意圖;
圖2-2是本發明實施例中的直播數據推送界面的效果示意圖;
圖3是本發明實施例公開的另一種數據推送方法的流程示意圖;
圖4是本發明實施例公開的另一種數據推送方法的流程示意圖;
圖5是本發明實施例公開的另一種數據推送方法的流程示意圖;
圖6-1是本發明實施例公開的另一種數據推送方法的流程示意圖;
圖6-2是本發明實施例公開的另一種數據推送方法的流程示意圖;
圖7是本發明實施例公開的一種數據推送客戶端的單元組成框圖;
圖8是本發明實施例公開的一種數據推送客戶端的結構示意圖;
圖9是本發明實施例公開的一種數據推送服務器的單元組成框圖;
圖10是本發明實施例公開的一種數據推送服務器的結構示意圖。
具體實施方式
為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別不同對象,而不是用于描述特定順序。此外,術語“包括”和“具有”以及它們任何變形,意圖在于覆蓋不排他的包含。例如包含了一系列步驟或單元的過程、方法、系統、產品或設備沒有限定于已列出的步驟或單元,而是可選地還包括沒有列出的步驟或單元,或可選地還包括對于這些過程、方法、產品或設備固有的其他步驟或單元。
在本文中提及“實施例”意味著,結合實施例描述的特定特征、結構或特性可以包含在本發明的至少一個實施例中。在說明書中的各個位置出現該短語并不一定均是指相同的實施例,也不是與其它實施例互斥的獨立的或備選的實施例。本領域技術人員顯式地和隱式地理解的是,本文所描述的實施例可以與其它實施例相結合。
為了更好理解本發明實施例公開的一種數據推送方法及相關客戶端、服務器,下面對本發明實施例進行詳細介紹。
為了更好理解本發明實施例公開的一種數據推送方法及相關客戶端、服務器,下面先對本發明實施例適用的網絡構架進行描述。請參閱圖1,圖1是本發明實施例公開的一種網絡構架的結構示意圖。如圖1所示,該網絡構架示意圖可以包括服務設備和客戶端,其中,服務設備可以包括服務器、服務主機、服務系統以及服務平臺等,而客戶端可以包括彈幕播放裝置,所述彈幕播放裝置為包括集合群聊、視頻直播、頻道K歌、在線游戲、在線影視等功能為一體的客戶端。在圖1所示的網絡構架中,該客戶端可以安裝于移動終端中,所述移動終端包括但不限于移動電話、移動電腦、平板電腦、個人數字助理(Personal Digital Assistant,PDA)、媒體播放器、智能電視、智能手表、智能眼鏡、智能手環等用戶設備。其中,服務設備可以通過互聯網與客戶端進行通信連接。
基于圖1所示的網絡構架,本發明實施例公開了的一種數據推送方法。請參閱圖2,圖2是本發明實施例提供的一種數據推送方法的流程示意圖,本發明實施例提供的一種數據推送方法是從客戶端為執行主體進行描述的,如圖2所示,本發明實施例中的數據推送方法包括以下步驟:
S201、客戶端在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,所述第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點。
其中,所述客戶端確定所述第二時間節點的具體實現方式可以是:
確定第一刷新操作的第一時間節點所在的第i個數據緩存周期;根據初始時間節點和所述第i個數據緩存周期確定所述第二時間節點,所述初始時間節點是所述服務器在接收到所述客戶端發送的同步請求時建立緩存集合并在所述緩存數據集合中存儲緩存數據的時間節點,所述同步請求是所述客戶端在檢測到所述客戶端被啟用時而向所述服務器發送的。
這里,因為直播數據具有時效性強、數據量大且無重復的特點,因此,服務器不能長時間緩存數據,但是針對每次數據獲取請求都進行查詢又會使得針對客戶端發送的數據獲取請求的數據獲取響應變得緩慢,同時,造成服務器的流量和運算開銷增加,因此,服務器雖然不能長時間緩存數據,但是可以把預設緩存時間保持在一個較短的時間內,即做成一種偽緩存的形式,以保持服務器的流量和運算開銷在可接受的范圍內,現有技術中,該預設緩存時間一般為10s,或者也可以為2s,也可以是更短的時間,本發明實施例不作限制。
具體地,服務器在所述預設緩存時間內,將存儲的緩存數據分為至少一個緩存數據子集,每一個緩存數據子集中存儲的緩存數據各不相同,或者,每一個緩存數據子集中存儲的緩存數據除置頂的推薦數據外互不相同。這里,緩存數據子集的個數、預設緩存時間以及每個緩存數據子集中存儲的緩存數據的個數等都參數可以由服務器進行配置維護。在使用過程中,服務器可以通過調整以上參數來達到最佳的使用適配體驗。
S202、客戶端在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,所述緩存數據集合至少包括所述第一緩存數據子集和所述第二緩存數據子集。
這里,緩存數據子集的標識用于區分標示客戶端所請求的緩存數據子集,服務器會根據緩存數據子集的標識下發數據。客戶端在檢測到所述間隔時長小于所述預設緩存時間時,更新當前的緩存數據子集的標識,而當在檢測到所述間隔時長大于所述預設緩存時間時,由于服務器會再次建立緩存集合并在所述緩存數據集合中存儲緩存數據,因此,即使當前的緩存數據子集的標識不發生更新,當前的緩存數據子集的標識對應的緩存數據子集中的數據也會發生變化,因此,在檢測到所述間隔時長大于所述預設緩存時間時,客戶端可以向所述服務器發送攜帶所述第一緩存數據子集的標識第二緩存數據獲取請求,而無需根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識。
S203、客戶端向所述服務器發送第一緩存數據獲取請求,所述第一緩存數據獲取請求攜帶所述第二緩存數據子集的標識。
S204、客戶端接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據。
S205、客戶端在所述直播數據推送界面輸出所述第二緩存數據。
如圖2-1、2-2所示的直播數據推送界面,圖2-1與圖2-2是短時間內刷新直播數據推送界面所產生的界面示意圖,圖2-1所示的直播數據推送界面輸出的緩存數據和圖2-2所示的直播數據推送界面輸出的緩存數據除了少數置頂數據外,其它的數據均不相同,提升推送數據的豐富性和多樣性,使得用戶每次刷新均可以瀏覽到未瀏覽的數據,提升用戶的數據瀏覽數量。
可以看出,本發明實施例提供的數據推送方法,客戶端在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,該第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點,在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,并向所述服務器發送攜帶所述第二緩存數據子集的標識的第一緩存數據獲取請求,接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據,客戶端在所述直播數據推送界面輸出所述第二緩存數據。通過實施本發明實施例有利于實現用戶每次刷新直播數據推送界面時獲取的數據不同,進而提升用戶粘度。
可選的,所述客戶端還可以執行以下操作:
在檢測到所述間隔時長大于所述預設緩存時間時,向所述服務器發送第二緩存數據獲取請求,所述第二緩存數據獲取請求攜帶所述第一緩存數據子集的標識;
接收所述服務器發送的第二緩存數據獲取響應,所述第二緩存數據獲取響應攜帶所述服務器根據所述第一緩存數據子集的標識從所述緩存數據集合中提取的所述第一緩存數據子集中的所述第三緩存數據;
在所述直播數據推送界面輸出所述第三緩存數據。
可選的,所述第一緩存數據獲取請求還包括所述客戶端的客戶端標識以及未瀏覽數據的數據標識,所述第一緩存數據獲取請求用于指示所述服務器將所述未瀏覽數據的數據標識對應的未瀏覽數據添加至所述與所述客戶端標識以及所述第二緩存數據子集的標識對應的第二緩存數據子集中;
所述向所述服務器發送第一緩存數據獲取請求之前,所述客戶端還可以執行以下操作:
接收所述服務器發送的第四緩存數據獲取響應,所述第四緩存數據獲取響應攜帶所述服務器根據所述第一緩存數據子集的標識從所述緩存數據集合中提取的所述第一緩存數據子集中的所述第一緩存數據;
基于所述第一緩存數據的數據標識以及在所述客戶端中顯示的至少一個數據的數據標識,確定未瀏覽數據的數據標識。
這里,不同于新聞類或者其他流形式的數據,直播數據具有失效性,網易新聞或者今日頭條客戶端中的流內容數據,用戶即使不關注,在之后的任何時間都可以返回來重新獲取數據,但是對于直播數據來說,一旦用戶錯過了,直播用戶停播后,這條直播數據就再也無法獲取和觀看了。因此,在任何情況下,直播數據沒有被瀏覽就被丟棄都是浪費的。每次服務器推送給客戶端的數據,并不是全部被用戶瀏覽過的,用戶瀏覽的往往是第一頁或者前幾頁數據,而直播數據推送界面第一頁甚至前幾頁數據,均為固定的基于運營安排或者人氣較高的直播數據,這樣,未被瀏覽的數據如果不被重新投入數據緩存集合中被再次推送,會造成極大的數據浪費。
本發明實施例中的客戶端可以獲取服務器推送的第一緩存數據的數據標識以及第一緩存數據在屏幕上的分布信息,客戶端根據頁面的滑動情況,獲取所述客戶端中在頁面上顯示的至少一個數據的數據標識,進而確定第一緩存數據中未被瀏覽的數據的數據標識。客戶端將未被瀏覽的數據的數據標識和客戶端的客戶端標識一起發送至服務器,以使服務器在所述預設緩存時間內的下次推送數據時,將未瀏覽的數據再次推送。
基于圖1所示的網絡構架,本發明實施例公開了的另一種數據推送方法。請參閱圖3,圖3是本發明實施例提供的一種數據推送方法的流程示意圖,本發明實施例提供的一種數據推送方法是從客戶端為執行主體進行描述的,如圖3所示,本發明實施例中的數據推送方法包括以下步驟:
S301、客戶端接收所述服務器發送的第四緩存數據獲取響應,所述第四緩存數據獲取響應攜帶所述服務器根據所述第一緩存數據子集的標識從所述緩存數據集合中提取的所述第一緩存數據子集中的所述第一緩存數據。
S302、客戶端基于所述第一緩存數據的數據標識以及在所述客戶端中顯示的至少一個數據的數據標識,確定未瀏覽數據的數據標識。
S303、客戶端確定第一刷新操作的第一時間節點所在的第i個數據緩存周期。
S304、客戶端根據初始時間節點和所述第i個數據緩存周期確定所述第二時間節點,所述初始時間節點是所述服務器在接收到所述客戶端發送的同步請求時建立緩存集合并在所述緩存數據集合中存儲緩存數據的時間節點,所述同步請求是所述客戶端在檢測到所述客戶端被啟用時而向所述服務器發送的。
S305、客戶端在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,所述第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點。
其中,當客戶端在檢測到所述間隔時長小于所述預設緩存時間時,執行步驟S306至S309;當客戶端在檢測到所述間隔時長大于所述預設緩存時間時,執行步驟S310至S312。
S306、客戶端在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,所述緩存數據集合至少包括所述第一緩存數據子集和所述第二緩存數據子集。
S307、客戶端向所述服務器發送第一緩存數據獲取請求,所述第一緩存數據獲取請求攜帶所述第二緩存數據子集的標識、所述客戶端的客戶端標識以及未瀏覽數據的數據標識;所述第一緩存數據獲取請求用于指示所述服務器將所述未瀏覽數據的數據標識對應的未瀏覽數據添加至所述與所述客戶端標識以及所述第二緩存數據子集的標識對應的第二緩存數據子集中。
S308、客戶端接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據;
S309、客戶端在所述直播數據推送界面輸出所述第二緩存數據。
S310、客戶端在檢測到所述間隔時長大于所述預設緩存時間時,向所述服務器發送第二緩存數據獲取請求,所述第二緩存數據獲取請求攜帶所述第一緩存數據子集的標識;
S311、客戶端接收所述服務器發送的第二緩存數據獲取響應,所述第二緩存數據獲取響應攜帶所述服務器根據所述第一緩存數據子集的標識從所述緩存數據集合中提取的所述第一緩存數據子集中的所述第三緩存數據;
S312、客戶端在所述直播數據推送界面輸出所述第三緩存數據。
可以看出,本發明實施例提供的數據推送方法,客戶端在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,該第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點,在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,并向所述服務器發送攜帶所述第二緩存數據子集的標識的第一緩存數據獲取請求,接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據,客戶端在所述直播數據推送界面輸出所述第二緩存數據。通過實施本發明實施例有利于實現用戶每次刷新直播數據推送界面時獲取的數據不同,進而提升用戶粘度。
基于圖1所示的網絡構架,本發明實施例公開了的另一種數據推送方法。請參閱圖4,圖4是本發明實施例提供的另一種數據推送方法的流程示意圖,本發明實施例提供的一種數據推送方法是從服務器為執行主體進行描述的,如圖4所示,本發明實施例中的數據推送方法包括以下步驟:
S401、服務器獲取客戶端發送的第一緩存數據獲取請求,所述第一緩存數據獲取請求攜帶第二緩存數據子集的標識,其中,所述第二緩存數據子集的標識是所述客戶端根據已下載的第一緩存數據對應的第一緩存數據子集的標識、所述客戶端檢測到第一刷新操作的第一時間節點、服務器接收緩存數據集合中的當前存儲的緩存數據的第二時間節點以及預設緩存時間確定的,所述緩存數據集合至少包括所述第一緩存數據子集和所述第二緩存數據子集。
S402、服務器基于所述第二緩存數據子集的標識從緩存數據集合中提取第二緩存數據子集中的第二緩存數據。
S403、服務器向所述客戶端發送攜帶所述第二緩存數據的第一緩存數據獲取響應。
可選的,所述服務器還可以執行以下操作:
在檢測接收到所述客戶端發送的同步請求時,建立緩存集合并在所述緩存數據集合中存儲緩存數據,所述同步請求是所述客戶端在檢測到所述客戶端被啟用時而向服務器發送的;
每隔預設緩存時間,重復執行所述建立緩存數據集合并在所述緩存數據集合中存儲緩存數據的步驟,直至收到客戶端關閉消息為止,所述客戶端關閉消息是所述客戶端在檢測到所述客戶端被關閉時向所述服務器發送的。
可選的,所述第一緩存數據子集和所述第二緩存數據子集中存儲的緩存數據互不相同;
或者,所述第一緩存數據子集和所述第二緩存數據子集中存儲的緩存數據除至少一個目標數據外互不相同。
可選的,所述第一緩存數據獲取請求還包括客戶端標識以及未瀏覽數據的數據標識,所述服務器還可以執行以下操作:
將所述未瀏覽數據的數據標識對應的未瀏覽數據添加至所述與所述客戶端標識以及所述第二緩存數據子集的標識對應的第二緩存數據子集中。
可以看出,本發明實施例提供的數據推送方法,客戶端在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,該第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點,在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,并向所述服務器發送攜帶所述第二緩存數據子集的標識的第一緩存數據獲取請求,接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據,客戶端在所述直播數據推送界面輸出所述第二緩存數據。通過實施本發明實施例有利于實現用戶每次刷新直播數據推送界面時獲取的數據不同,進而提升用戶粘度。
基于圖1所示的網絡構架,本發明實施例公開了的另一種數據推送方法。請參閱圖5,圖5是本發明實施例提供的另一種數據推送方法的流程示意圖,本發明實施例提供的一種數據推送方法是從服務器為執行主體進行描述的,如圖5所示,本發明實施例中的數據推送方法包括以下步驟:
S501、服務器在檢測接收到所述客戶端發送的同步請求時,建立緩存集合并在所述緩存數據集合中存儲緩存數據,所述同步請求是所述客戶端在檢測到所述客戶端被啟用時而向服務器發送的。
S502、服務器每隔預設緩存時間,重復執行所述建立緩存數據集合并在所述緩存數據集合中存儲緩存數據的步驟,直至收到客戶端關閉消息為止,所述客戶端關閉消息是所述客戶端在檢測到所述客戶端被關閉時向所述服務器發送的。
S503、服務器獲取客戶端發送的第一緩存數據獲取請求,所述第一緩存數據獲取請求攜帶第二緩存數據子集的標識、客戶端標識以及未瀏覽數據的數據標識,其中,所述第二緩存數據子集的標識是所述客戶端根據已下載的第一緩存數據對應的第一緩存數據子集的標識、所述客戶端檢測到第一刷新操作的第一時間節點、服務器接收緩存數據集合中的當前存儲的緩存數據的第二時間節點以及預設緩存時間確定的,所述緩存數據集合至少包括所述第一緩存數據子集和所述第二緩存數據子集。
其中,所述第一緩存數據子集和所述第二緩存數據子集中存儲的緩存數據互不相同;或者,所述第一緩存數據子集和所述第二緩存數據子集中存儲的緩存數據除至少一個目標數據外互不相同。
S504、服務器將所述未瀏覽數據的數據標識對應的未瀏覽數據添加至所述與所述客戶端標識以及所述第二緩存數據子集的標識對應的第二緩存數據子集中。
S505、服務器基于所述第二緩存數據子集的標識從緩存數據集合中提取第二緩存數據子集中的第二緩存數據。
S506、服務器向所述客戶端發送攜帶所述第二緩存數據的第一緩存數據獲取響應。
可以看出,本發明實施例提供的數據推送方法,客戶端在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,該第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點,在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,并向所述服務器發送攜帶所述第二緩存數據子集的標識的第一緩存數據獲取請求,接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據,客戶端在所述直播數據推送界面輸出所述第二緩存數據。通過實施本發明實施例有利于實現用戶每次刷新直播數據推送界面時獲取的數據不同,進而提升用戶粘度。
基于圖1所示的網絡構架,本發明實施例公開了的另一種數據推送方法。請參閱圖6-1及6-2所示,圖6-1及圖6-2是本發明實施例提供的另一種數據推送方法的流程示意圖,如圖6-1及6-2所示,本發明實施例中的數據推送方法包括以下步驟:
S601、客戶端在檢測到所述客戶端被啟用時向服務器發送同步請求。
S602、服務器在檢測接收到所述客戶端發送的同步請求時,建立緩存集合并在所述緩存數據集合中存儲緩存數據。
S603、服務器每隔預設緩存時間,重復執行所述建立緩存數據集合并在所述緩存數據集合中存儲緩存數據的步驟,直至收到客戶端關閉消息為止,所述客戶端關閉消息是所述客戶端在檢測到所述客戶端被關閉時向所述服務器發送的
S604、客戶端接收所述服務器發送的第四緩存數據獲取響應,所述第四緩存數據獲取響應攜帶所述服務器根據所述第一緩存數據子集的標識從所述緩存數據集合中提取的所述第一緩存數據子集中的所述第一緩存數據。
S605、客戶端基于所述第一緩存數據的數據標識以及在所述客戶端中顯示的至少一個數據的數據標識,確定未瀏覽數據的數據標識。
S606、客戶端確定第一刷新操作的第一時間節點所在的第i個數據緩存周期。
S607、客戶端根據初始時間節點和所述第i個數據緩存周期確定所述第二時間節點,所述初始時間節點是所述服務器在接收到所述客戶端發送的同步請求時建立緩存集合并在所述緩存數據集合中存儲緩存數據的時間節點,所述同步請求是所述客戶端在檢測到所述客戶端被啟用時而向所述服務器發送的。
S608、客戶端在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,所述第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點。
其中,當客戶端在檢測到所述間隔時長小于所述預設緩存時間時,如圖6-1所示,執行步驟S609至S614。當客戶端在檢測到所述間隔時長大于所述預設緩存時間時,如圖6-2所示,執行步驟S615至S618。
S609、客戶端在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,所述緩存數據集合至少包括所述第一緩存數據子集和所述第二緩存數據子集。
S610、客戶端向所述服務器發送第一緩存數據獲取請求,所述第一緩存數據獲取請求攜帶所述第二緩存數據子集的標識、所述客戶端的客戶端標識以及未瀏覽數據的數據標識
S611、服務器將所述未瀏覽數據的數據標識對應的未瀏覽數據添加至所述與所述客戶端標識以及所述第二緩存數據子集的標識對應的第二緩存數據子集中。
S612、服務器基于所述第二緩存數據子集的標識從緩存數據集合中提取第二緩存數據子集中的第二緩存數據;
S613、服務器向所述客戶端發送攜帶所述第二緩存數據的第一緩存數據獲取響應。
S614、客戶端在所述直播數據推送界面輸出所述第二緩存數據。
S615、客戶端在檢測到所述間隔時長大于所述預設緩存時間時,向所述服務器發送第二緩存數據獲取請求,所述第二緩存數據獲取請求攜帶所述第一緩存數據子集的標識;
S616、所述服務器根據所述第一緩存數據子集的標識從所述緩存數據集合中提取所述第一緩存數據子集中的所述第三緩存數據。
S617、所述服務器向所述客戶端發送攜帶所述第三緩存數據的第二緩存數據獲取響應;
S618、客戶端在所述直播數據推送界面輸出所述第三緩存數據。
可以看出,本發明實施例提供的數據推送方法,客戶端在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,該第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點,在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,并向所述服務器發送攜帶所述第二緩存數據子集的標識的第一緩存數據獲取請求,接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據,客戶端在所述直播數據推送界面輸出所述第二緩存數據。通過實施本發明實施例有利于實現用戶每次刷新直播數據推送界面時獲取的數據不同,進而提升用戶粘度。
下面為本發明裝置實施例,本發明裝置實施例用于執行本發明方法實施例所實現的方法。請參閱圖7,圖7是本發明實施例公開的一種數據推送客戶端的單元組成框圖,如圖7所示,本發明實施例中的數據推送客戶端可以包括檢測單元701、更新單元702、發送單元703、接收單元704以及顯示單元705,其中:
所述檢測單元701,用于在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,所述第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點;
所述更新單元702,用于在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,所述緩存數據集合至少包括所述第一緩存數據子集和所述第二緩存數據子集;
所述發送單元703,用于向所述服務器發送第一緩存數據獲取請求,所述第一緩存數據獲取請求攜帶所述第二緩存數據子集的標識;
所述接收單元704,用于接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據;
所述顯示單元705,用于在所述直播數據推送界面輸出所述第二緩存數據。
可選的,所述客戶端還包括:
同步單元706,用于確定第一刷新操作的第一時間節點所在的第i個數據緩存周期;根據初始時間節點和所述第i個數據緩存周期確定所述第二時間節點,所述初始時間節點是所述服務器在接收到所述客戶端發送的同步請求時建立緩存集合并在所述緩存數據集合中存儲緩存數據的時間節點,所述同步請求是所述客戶端在檢測到所述客戶端被啟用時而向所述服務器發送的。
可選的,所述發送單元703,還用于在檢測到所述間隔時長大于所述預設緩存時間時,向所述服務器發送第二緩存數據獲取請求,所述第二緩存數據獲取請求攜帶所述第一緩存數據子集的標識;
所述接收單元704,還用于接收所述服務器發送的第二緩存數據獲取響應,所述第二緩存數據獲取響應攜帶所述服務器根據所述第一緩存數據子集的標識從所述緩存數據集合中提取的所述第一緩存數據子集中的所述第三緩存數據;
所述顯示單元705,還用于在所述直播數據推送界面輸出所述第三緩存數據。
可選的,所述第一緩存數據獲取請求還包括所述客戶端的客戶端標識以及未瀏覽數據的數據標識,所述第一緩存數據獲取請求用于指示所述服務器將所述未瀏覽數據的數據標識對應的未瀏覽數據添加至所述與所述客戶端標識以及所述第二緩存數據子集的標識對應的第二緩存數據子集中;
所述客戶端還包括:
未瀏覽數據確定單元707,在所述發送單元703向所述服務器發送第一緩存數據獲取請求之前,用于接收所述服務器發送的第四緩存數據獲取響應,所述第四緩存數據獲取響應攜帶所述服務器根據所述第一緩存數據子集的標識從所述緩存數據集合中提取的所述第一緩存數據子集中的所述第一緩存數據;基于所述第一緩存數據的數據標識以及在所述客戶端中顯示的至少一個數據的數據標識,確定未瀏覽數據的數據標識。
具體的,上述各個單元的具體實現可參考圖2至圖3對應實施例中相關步驟的描述,在此不贅述。
需要注意的是,本發明裝置實施例所描述的移動終端是以功能單元的形式呈現。這里所使用的術語“單元”應當理解為盡可能最寬的含義,用于實現各個“單元”所描述功能的對象例如可以是集成電路ASIC,單個電路,用于執行一個或多個軟件或固件程序的處理器(共享的、專用的或芯片組)和存儲器,組合邏輯電路,和/或提供實現上述功能的其他合適的組件。
舉例來說,上述檢測單元701在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間的功能可以由圖8所示的移動終端來實現,具體可以通過處理器801通過調用存儲器802中的可執行程序代碼,在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間。
可以看出,本發明實施例提供的數據推送方法,客戶端在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,該第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點,在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,并向所述服務器發送攜帶所述第二緩存數據子集的標識的第一緩存數據獲取請求,接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據,客戶端在所述直播數據推送界面輸出所述第二緩存數據。通過實施本發明實施例有利于實現用戶每次刷新直播數據推送界面時獲取的數據不同,進而提升用戶粘度。
本發明實施例還提供了另一種數據推送客戶端,如圖8所示,包括:處理器801,存儲器802,通信接口803和通信總線804;其中,處理器801、存儲器802和通信接口803通過通信總線804連接并完成相互間的通信;處理器801通過通信接口803控制與外部蜂窩網的無線通信;通信接口803包括但不限于天線、放大器、收發信機、耦合器、LNA(Low Noise Amplifier,低噪聲放大器)、雙工器等。存儲器802包括以下至少一種:隨機存取存貯器、非易失性存儲器以及外部存儲器,存儲器802中存儲有可執行程序代碼,該可執行程序代碼能夠引導處理器801執行本發明方法實施例中具體披露的數據推送方法。
所述處理器801,用于在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,所述第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點;在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,所述緩存數據集合至少包括所述第一緩存數據子集和所述第二緩存數據子集;向所述服務器發送第一緩存數據獲取請求,所述第一緩存數據獲取請求攜帶所述第二緩存數據子集的標識;接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據;在所述直播數據推送界面輸出所述第二緩存數據。
可選的,所述處理器801,還用于確定第一刷新操作的第一時間節點所在的第i個數據緩存周期;根據初始時間節點和所述第i個數據緩存周期確定所述第二時間節點,所述初始時間節點是所述服務器在接收到所述客戶端發送的同步請求時建立緩存集合并在所述緩存數據集合中存儲緩存數據的時間節點,所述同步請求是所述客戶端在檢測到所述客戶端被啟用時而向所述服務器發送的。
可選的,所述處理器801,還用于在檢測到所述間隔時長大于所述預設緩存時間時,向所述服務器發送第二緩存數據獲取請求,所述第二緩存數據獲取請求攜帶所述第一緩存數據子集的標識;接收所述服務器發送的第二緩存數據獲取響應,所述第二緩存數據獲取響應攜帶所述服務器根據所述第一緩存數據子集的標識從所述緩存數據集合中提取的所述第一緩存數據子集中的所述第三緩存數據;在所述直播數據推送界面輸出所述第三緩存數據。
可選的,所述第一緩存數據獲取請求還包括所述客戶端的客戶端標識以及未瀏覽數據的數據標識,所述第一緩存數據獲取請求用于指示所述服務器將所述未瀏覽數據的數據標識對應的未瀏覽數據添加至所述與所述客戶端標識以及所述第二緩存數據子集的標識對應的第二緩存數據子集中;
所述處理器801,在用于向所述服務器發送第一緩存數據獲取請求之前,還用于接收所述服務器發送的第四緩存數據獲取響應,所述第四緩存數據獲取響應攜帶所述服務器根據所述第一緩存數據子集的標識從所述緩存數據集合中提取的所述第一緩存數據子集中的所述第一緩存數據;基于所述第一緩存數據的數據標識以及在所述客戶端中顯示的至少一個數據的數據標識,確定未瀏覽數據的數據標識。
具體的,上述各個單元的具體實現可參考圖2至圖3對應實施例中相關步驟的描述,在此不贅述。
可以看出,本發明實施例提供的數據推送方法,客戶端在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,該第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點,在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,并向所述服務器發送攜帶所述第二緩存數據子集的標識的第一緩存數據獲取請求,接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據,客戶端在所述直播數據推送界面輸出所述第二緩存數據。通過實施本發明實施例有利于實現用戶每次刷新直播數據推送界面時獲取的數據不同,進而提升用戶粘度。
下面為本發明裝置實施例,本發明裝置實施例用于執行本發明方法實施例所實現的方法。請參閱圖9,圖9是本發明實施例公開的一種數據推送服務器的單元組成框圖,如圖9所示,本發明實施例中的數據推送服務器可以包括獲取單元901、提取單元902以及發送單元903,其中:
所述獲取單元901,用于獲取客戶端發送的第一緩存數據獲取請求,所述第一緩存數據獲取請求攜帶第二緩存數據子集的標識,其中,所述第二緩存數據子集的標識是所述客戶端根據已下載的第一緩存數據對應的第一緩存數據子集的標識、所述客戶端檢測到第一刷新操作的第一時間節點、服務器接收緩存數據集合中的當前存儲的緩存數據的第二時間節點以及預設緩存時間確定的,所述緩存數據集合至少包括所述第一緩存數據子集和所述第二緩存數據子集;
所述提取單元602,用于基于所述第二緩存數據子集的標識從緩存數據集合中提取第二緩存數據子集中的第二緩存數據;
所述發送單元903,用于向所述客戶端發送攜帶所述第二緩存數據的第一緩存數據獲取響應。
可選的,所述服務器還包括:
緩存單元904,用于在檢測接收到所述客戶端發送的同步請求時,建立緩存集合并在所述緩存數據集合中存儲緩存數據,所述同步請求是所述客戶端在檢測到所述客戶端被啟用時而向服務器發送的;每隔預設緩存時間,重復執行所述建立緩存數據集合并在所述緩存數據集合中存儲緩存數據的步驟,直至收到客戶端關閉消息為止,所述客戶端關閉消息是所述客戶端在檢測到所述客戶端被關閉時向所述服務器發送的。
可選的,所述第一緩存數據子集和所述第二緩存數據子集中存儲的緩存數據互不相同;
或者,所述第一緩存數據子集和所述第二緩存數據子集中存儲的緩存數據除至少一個目標數據外互不相同。
可選的,所述第一緩存數據獲取請求還包括客戶端標識以及未瀏覽數據的數據標識,所述服務器還包括:
添加單元905,用于將所述未瀏覽數據的數據標識對應的未瀏覽數據添加至所述與所述客戶端標識以及所述第二緩存數據子集的標識對應的第二緩存數據子集中。
具體的,上述各個單元的具體實現可參考圖4至圖5對應實施例中相關步驟的描述,在此不贅述。
需要注意的是,本發明裝置實施例所描述的移動終端是以功能單元的形式呈現。這里所使用的術語“單元”應當理解為盡可能最寬的含義,用于實現各個“單元”所描述功能的對象例如可以是集成電路ASIC,單個電路,用于執行一個或多個軟件或固件程序的處理器(共享的、專用的或芯片組)和存儲器,組合邏輯電路,和/或提供實現上述功能的其他合適的組件。
舉例來說,上述獲取單元901獲取客戶端發送的第一緩存數據獲取請求的功能可以由圖10所示的移動終端來實現,具體可以通過處理器1001通過調用存儲器1002中的可執行程序代碼,獲取客戶端發送的第一緩存數據獲取請求。
可以看出,本發明實施例提供的數據推送方法,客戶端在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,該第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點,在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,并向所述服務器發送攜帶所述第二緩存數據子集的標識的第一緩存數據獲取請求,接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據,客戶端在所述直播數據推送界面輸出所述第二緩存數據。通過實施本發明實施例有利于實現用戶每次刷新直播數據推送界面時獲取的數據不同,進而提升用戶粘度。
本發明實施例還提供了另一種數據推送服務器,如圖10所示,包括:處理器1001,存儲器1002,通信接口1003和通信總線1004;其中,處理器1001、存儲器1002和通信接口1003通過通信總線1004連接并完成相互間的通信;處理器1001通過通信接口1003控制與外部蜂窩網的無線通信;通信接口1003包括但不限于天線、放大器、收發信機、耦合器、LNA(Low Noise Amplifier,低噪聲放大器)、雙工器等。存儲器1002包括以下至少一種:隨機存取存貯器、非易失性存儲器以及外部存儲器,存儲器1002中存儲有可執行程序代碼,該可執行程序代碼能夠引導處理器1001執行本發明方法實施例中具體披露的音頻流處理方法。
所述處理器1001,用于獲取客戶端發送的第一緩存數據獲取請求,所述第一緩存數據獲取請求攜帶第二緩存數據子集的標識,其中,所述第二緩存數據子集的標識是所述客戶端根據已下載的第一緩存數據對應的第一緩存數據子集的標識、所述客戶端檢測到第一刷新操作的第一時間節點、服務器接收緩存數據集合中的當前存儲的緩存數據的第二時間節點以及預設緩存時間確定的,所述緩存數據集合至少包括所述第一緩存數據子集和所述第二緩存數據子集;基于所述第二緩存數據子集的標識從緩存數據集合中提取第二緩存數據子集中的第二緩存數據;向所述客戶端發送攜帶所述第二緩存數據的第一緩存數據獲取響應。
可選的,所述處理器1001,還用于在檢測接收到所述客戶端發送的同步請求時,建立緩存集合并在所述緩存數據集合中存儲緩存數據,所述同步請求是所述客戶端在檢測到所述客戶端被啟用時而向服務器發送的;每隔預設緩存時間,重復執行所述建立緩存數據集合并在所述緩存數據集合中存儲緩存數據的步驟,直至收到客戶端關閉消息為止,所述客戶端關閉消息是所述客戶端在檢測到所述客戶端被關閉時向所述服務器發送的。
可選的,所述第一緩存數據子集和所述第二緩存數據子集中存儲的緩存數據互不相同;或者,所述第一緩存數據子集和所述第二緩存數據子集中存儲的緩存數據除至少一個目標數據外互不相同。
可選的,所述第一緩存數據獲取請求還包括客戶端標識以及未瀏覽數據的數據標識,所述處理器1001,還用于將所述未瀏覽數據的數據標識對應的未瀏覽數據添加至所述與所述客戶端標識以及所述第二緩存數據子集的標識對應的第二緩存數據子集中。
具體的,上述各個單元的具體實現可參考圖4至圖5對應實施例中相關步驟的描述,在此不贅述。
可以看出,本發明實施例提供的數據推送方法,客戶端在檢測到針對直播數據推送界面的第一刷新操作時,檢測所述第一刷新操作的第一時間節點與第二時間節點之間的間隔時長是否小于預設緩存時間,該第二時間節點是服務器接收緩存數據集合中的當前存儲的緩存數據的時間節點,在檢測到所述間隔時長小于所述預設緩存時間時,根據所述客戶端已下載的第一緩存數據對應的第一緩存數據子集的標識確定第二緩存數據對應的第二緩存數據子集的標識,并向所述服務器發送攜帶所述第二緩存數據子集的標識的第一緩存數據獲取請求,接收所述服務器發送的第一緩存數據獲取響應,所述第一緩存數據獲取響應攜帶所述服務器根據所述第二緩存數據子集的標識從所述緩存數據集合中提取的所述第二緩存數據子集中的所述第二緩存數據,客戶端在所述直播數據推送界面輸出所述第二緩存數據。通過實施本發明實施例有利于實現用戶每次刷新直播數據推送界面時獲取的數據不同,進而提升用戶粘度。
本發明實施例還提供一種計算機存儲介質,其中,該計算機存儲介質可存儲有程序,該程序執行時包括上述方法實施例中記載的任何一種數據推送方法的部分或全部步驟。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明并不受所描述的動作順序的限制,因為依據本發明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優選實施例,所涉及的動作和模塊并不一定是本發明所必須的。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置,可通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲器中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲器中,包括若干指令用以使得一臺計算機設備(可為個人計算機、服務器或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲器包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲器中,存儲器可以包括:閃存盤、只讀存儲器(英文:Read-Only Memory,簡稱:ROM)、隨機存取器(英文:Random Access Memory,簡稱:RAM)、磁盤或光盤等。
以上對本發明實施例進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。