本申請涉及通信技術(shù)領(lǐng)域,特別是涉及一種服務(wù)提供設(shè)備、一種應(yīng)用于服務(wù)提供設(shè)備的數(shù)據(jù)處理方法和一種智能電視系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,智能電視、數(shù)字視頻變換盒的出現(xiàn),使得電視節(jié)目系統(tǒng)也越來越智能化,除了傳統(tǒng)的電視節(jié)目的播出之外,還可以進(jìn)行互聯(lián)網(wǎng)活動。
STB(數(shù)字視頻變換盒,Set Top Box)又稱機(jī)頂盒,是一個連接電視機(jī)與外部信號源的設(shè)備。機(jī)頂盒可以將壓縮的數(shù)字信號轉(zhuǎn)成電視內(nèi)容,并在電視機(jī)上顯示出來。所述數(shù)字信號可以來自有線電纜、衛(wèi)星天線、寬帶網(wǎng)絡(luò)以及地面廣播等等。機(jī)頂盒除了可以接收上述可以轉(zhuǎn)換為電視內(nèi)容的數(shù)字信號之外,還可以接收數(shù)字內(nèi)容,例如,電視節(jié)目指南、因特網(wǎng)網(wǎng)頁、電子郵件等等。使用戶能在現(xiàn)有電視機(jī)上觀看數(shù)字電視節(jié)目,并可以通過網(wǎng)絡(luò)進(jìn)行交互式數(shù)字化娛樂、教育和網(wǎng)絡(luò)購物等活動。
由上可見,上述數(shù)字電視節(jié)目的播出、交互式數(shù)字化娛樂、教育和網(wǎng)絡(luò)購物等活動都需要通過所述機(jī)頂盒(或智能電視)實現(xiàn)。而互聯(lián)網(wǎng)技術(shù)的發(fā)展是日新月異的、是不斷地在更新變化的,機(jī)頂盒要滿足這一發(fā)展和變化,則需要不斷地進(jìn)行更新。然而,所述機(jī)頂盒的更新需要丟棄舊的機(jī)頂盒,這造成了資源的浪費。
技術(shù)實現(xiàn)要素:
本申請實施例所要解決的技術(shù)問題是提供一種服務(wù)提供設(shè)備、一種應(yīng)用于服務(wù)提供設(shè)備的數(shù)據(jù)處理方法和一種智能電視系統(tǒng),能夠降低智能電視服務(wù)對硬件資源的要求,且能夠節(jié)約用戶購買或更新機(jī)頂盒所花費的成本。
為了解決上述問題,本申請公開了一種服務(wù)提供設(shè)備,包括:
界面編碼模塊,用于對用戶界面進(jìn)行編碼;
流處理模塊,用于依據(jù)所述用戶界面的編碼結(jié)果生成對應(yīng)的傳輸流,并向所連接的客戶端推送所述傳輸流;及
消息處理模塊,用于接收來自所述客戶端的輸入消息,并依據(jù)所述輸入消息進(jìn)行相應(yīng)的消息處理;其中,所述消息處理包括:對所述用戶界面進(jìn)行更新。
另一方面,本申請公開了一種應(yīng)用于服務(wù)提供設(shè)備的數(shù)據(jù)處理方法,包括:
對用戶界面進(jìn)行編碼;
依據(jù)所述用戶界面的編碼結(jié)果生成對應(yīng)的傳輸流,并向所連接的客戶端推送所述傳輸流;
接收來自所述客戶端的輸入消息,并依據(jù)所述輸入消息進(jìn)行相應(yīng)的消息處理;其中,所述消息處理包括:對所述用戶界面進(jìn)行更新。
再一方面,本申請公開了一種智能電視系統(tǒng),包括:前述的服務(wù)提供設(shè)備。
與現(xiàn)有技術(shù)相比,本申請實施例包括以下優(yōu)點:
本申請實施例中,服務(wù)提供設(shè)備可以向所連接的客戶端推送用戶界面對應(yīng)的傳輸流,這使得客戶端可以對依據(jù)所述傳輸流解析得到的用戶界面進(jìn)行顯示;并且,服務(wù)提供設(shè)備還可以接收來自所述客戶端的、用戶通過遙控器、鼠標(biāo)等輸入裝置產(chǎn)生的輸入消息,并依據(jù)所述輸入消息對服務(wù)提供設(shè)備的用戶界面進(jìn)行更新;由于服務(wù)提供設(shè)備負(fù)責(zé)當(dāng)前輸入信息對應(yīng)用戶界面的獲取,而客戶端僅僅負(fù)責(zé)傳輸流的解析和用戶界面的顯示,因此,本實施例可以通過服務(wù)提供設(shè)備直接為客戶端提供智能電視服務(wù),這降低了對于機(jī)頂盒的性能要求,因此減少了對于機(jī)頂盒的維護(hù)操作,降低了智能電視服務(wù)對硬件資源的要求,同時節(jié)約了用戶購買或更新機(jī)頂盒所花費的成本。
附圖說明
圖1是本申請的一種智能電視系統(tǒng)的結(jié)構(gòu)示意圖;
圖2是本申請的一種服務(wù)提供設(shè)備實施例一的結(jié)構(gòu)框圖;
圖3是本申請的一種服務(wù)提供設(shè)備實施例三的結(jié)構(gòu)框圖;
圖4是本申請的一種服務(wù)提供設(shè)備實施例四的結(jié)構(gòu)框圖;
圖5是本申請的一種服務(wù)提供設(shè)備實施例五的結(jié)構(gòu)框圖;
圖6是本申請的一種服務(wù)提供設(shè)備實施例六的結(jié)構(gòu)框圖;
圖7是本申請的一種服務(wù)提供設(shè)備實施例七的結(jié)構(gòu)框圖;
圖8本申請的一種客戶端和服務(wù)提供設(shè)備間通信方法的流程圖;
圖9是本申請的另一種客戶端和服務(wù)提供設(shè)備間通信方法的流程圖;
圖10是本申請的一種應(yīng)用于服務(wù)提供設(shè)備的數(shù)據(jù)處理方法實施例一的步驟流程圖;
圖11是本申請的一種應(yīng)用于服務(wù)提供設(shè)備的數(shù)據(jù)處理方法實施例二的步驟流程圖;
圖12本申請的一種應(yīng)用于服務(wù)提供設(shè)備的數(shù)據(jù)處理方法實施例三的步驟流程圖;以及
圖13本申請的一種應(yīng)用于服務(wù)提供設(shè)備的數(shù)據(jù)處理方法實施例四的步驟流程圖。
具體實施方式
為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式對本申請作進(jìn)一步詳細(xì)的說明。
本申請?zhí)峁┝艘环N智能電視系統(tǒng),該智能電視系統(tǒng)可以包括:至少一個服務(wù)器、至少一個客戶端、至少一個服務(wù)提供設(shè)備;其中,所述服務(wù)器用于向所述客戶端分配服務(wù)提供設(shè)備;所述客戶端可以設(shè)置在智能電視中,所述服務(wù)提供設(shè)備設(shè)置在網(wǎng)絡(luò)側(cè),用于通過網(wǎng)絡(luò)為建立連接的客戶端提供互聯(lián)網(wǎng)服務(wù)。服務(wù)器在接收到客戶端的登錄請求之后,可以根據(jù)設(shè)定分配策略從云端的多個服務(wù)提供設(shè)備中選擇一個服務(wù)提供設(shè)備分配給所述客戶端。
在本申請的一種優(yōu)選實施例中,所述智能電視系統(tǒng),還可以包括至少一個用戶數(shù)據(jù)信息存儲設(shè)備;所述至少一個用戶數(shù)據(jù)信息存儲設(shè)備具體可以包括:至少一個用戶分區(qū);其中,所述至少一個用戶分區(qū)分別用于存儲不同客戶端對應(yīng)的用戶數(shù)據(jù)。
在本申請的另一種優(yōu)選實施例中,所述服務(wù)提供設(shè)備具體可以包括:網(wǎng)絡(luò)機(jī)頂盒;所述互聯(lián)網(wǎng)服務(wù),具體可以包括如下中的至少一個:電視直播、音視頻服務(wù)、網(wǎng)頁服務(wù)、游戲服務(wù)。
傳統(tǒng)方案中,普通機(jī)頂盒往往較為陳舊,性能也比較弱,不足以運行大型游戲和應(yīng)用,用戶往往需要升級或者替換更新的機(jī)頂盒以滿足大型游戲和應(yīng)用等娛樂需求。
而本申請實施例可以將性能較強的OTT(過頂傳球,OverTheTop)網(wǎng)絡(luò)機(jī)頂盒集成至云端的設(shè)備服務(wù)器上,并通過視頻流化技術(shù),將OTT機(jī)頂盒的性能通過網(wǎng)絡(luò)傳輸?shù)叫阅茌^弱的上述客戶端對應(yīng)的普通機(jī)頂盒上,使普通機(jī)頂盒可以在不升級硬件的情況下使用高端功能。在具體實現(xiàn)中,可以將性能較強的OTT機(jī)頂盒(如天貓魔盒)中的所有功能數(shù)據(jù)流化后提供給普通機(jī)頂盒,上述功能包括但不限于:游戲、應(yīng)用、電影、電視劇、教育、視頻聊天、K歌等。
在具體實現(xiàn)中,設(shè)備服務(wù)器中的每一片網(wǎng)絡(luò)機(jī)頂盒具備的性能包括但不限于:處理性能、圖形計算性能、大內(nèi)存、低功耗等等,本領(lǐng)域技術(shù)人員可以根據(jù)實際需要量化這些性能的指標(biāo),以實現(xiàn)在網(wǎng)絡(luò)機(jī)頂盒上運行目前市面上的大型游戲和應(yīng)用,播放1080P以及2K等規(guī)格的電影。
對于普通機(jī)頂盒而言,其可以具備播放視頻流的性能,以及具備訪問IP(網(wǎng)絡(luò)之間互聯(lián)的協(xié)議,Internet Protocol)網(wǎng)絡(luò)的性能即可,其中,上述視頻流的格式可以為RTSP(實時流傳輸協(xié)議,Real Time Streaming Protocol)720P等等。對于具備上述性能的普通機(jī)頂盒而言,其在安裝了網(wǎng)絡(luò)機(jī)頂盒對應(yīng)的客戶端后,就可以通過該客戶端上傳鍵值指令,接收并播放來自網(wǎng)絡(luò)機(jī)頂盒的傳輸流,
綜上,大型的游戲和應(yīng)用的功能數(shù)據(jù)可以在云端的設(shè)備服務(wù)器中運行,這些數(shù)據(jù)可以RTSP視頻流的形式傳輸?shù)狡胀C(jī)頂盒上進(jìn)行播放,因此能夠?qū)崿F(xiàn)使用普通機(jī)頂盒進(jìn)行高端娛樂的目的。并且,本申請實施例可以適用于電信/廣電運營商,以增強這些運營商的已有的普通機(jī)頂盒的性能。
這里需要說明的是,在本申請的方案中,服務(wù)提供設(shè)備可以作為硬件 設(shè)備設(shè)置在云端,軟件(應(yīng)用程序)可以安裝在服務(wù)提供設(shè)備中,服務(wù)提供設(shè)備可以在云端將各類應(yīng)用程序的UI(用戶界面,User Interface)進(jìn)行編碼,客戶端可以具有基本解碼性能以向用戶展現(xiàn)應(yīng)用程序的用戶界面,實現(xiàn)對各類應(yīng)用程序的操作。換而言之,在本申請的方案中,可以將軟件(應(yīng)用程序)安裝在服務(wù)提供設(shè)備中,通過服務(wù)提供設(shè)備為用戶提供服務(wù),其可以適用于已有的普通機(jī)頂盒、或者適用于與普通機(jī)頂盒具有等同的播放視頻流的性能和訪問IP網(wǎng)絡(luò)的性能的智能終端。例如,可以直接通過所述客戶端將智能終端與所述服務(wù)提供設(shè)備進(jìn)行連接,用戶不需要單獨購買/更新機(jī)頂盒,節(jié)約了用戶成本;同時,智能終端與所述服務(wù)提供設(shè)備可以直接進(jìn)行交互,提高了交互效率,減少了對機(jī)頂盒的維護(hù)步驟,降低了對資源的占用。進(jìn)一步地,所述服務(wù)器可以是指一個服務(wù)器,也可以是指等同于所述調(diào)度服務(wù)器功能的多個服務(wù)器組成的服務(wù)器群組。
參照圖1,示出了本申請的一種智能電視系統(tǒng)的結(jié)構(gòu)示意圖,具體可以包括:至少一個客戶端(如圖1所示的客戶端101)、至少一個設(shè)備服務(wù)器(如圖1所示的設(shè)備服務(wù)器102)和至少一個調(diào)度服務(wù)器(如圖1所示的調(diào)度服務(wù)器103)。其中,每個設(shè)備服務(wù)器101中包括至少一個服務(wù)提供設(shè)備(如圖1所示的設(shè)備服務(wù)器102中的服務(wù)提供設(shè)備121)。
此外,優(yōu)選地,所述智能電視系統(tǒng)還可以包括:至少一個管理服務(wù)器(如圖1所示的管理服務(wù)器104)和至少一個用戶數(shù)據(jù)信息存儲設(shè)備(如圖1所示的用戶數(shù)據(jù)信息存儲設(shè)備105)。需要說明的是,所述用戶數(shù)據(jù)信息存儲設(shè)備用于存儲用戶數(shù)據(jù)信息,一個用戶可以對應(yīng)一個專用的用戶數(shù)據(jù)信息存儲設(shè)備,多個用戶也可以共有同一個用戶數(shù)據(jù)信息存儲設(shè)備,本實施例對此不作限制。其中,所述用戶數(shù)據(jù)信息存儲設(shè)備可以是物理設(shè)備,也可以是邏輯設(shè)備,還可以是物理和邏輯相結(jié)合的設(shè)備。例如,所述用戶數(shù)據(jù)信息存儲設(shè)備中可以包括至少一個用戶分區(qū)(如圖1所示的用戶分區(qū)151),每個用戶分區(qū)對應(yīng)存儲一個用戶的用戶數(shù)據(jù)信息。
其中,客戶端101位于智能終端側(cè),其可以呈現(xiàn)為智能終端中裝載的APP的形式;一方面,客戶端101可用于播放服務(wù)提供設(shè)備121發(fā)送的TS (傳輸流,Transport Stream)所解析出的UI,以及播放從其他網(wǎng)絡(luò)服務(wù)器中獲取的多媒體數(shù)據(jù)(如視頻信號、音頻信號等);另一方面,客戶端101可用于監(jiān)聽用戶通過遙控器等輸入裝置產(chǎn)生的輸入消息,并將該輸入消息發(fā)送給服務(wù)提供設(shè)備121或者調(diào)度服務(wù)器103;從而客戶端101可以接收服務(wù)提供設(shè)備121推送的用戶界面(如游戲類應(yīng)用、視頻類應(yīng)用等各種應(yīng)用的用戶界面)相關(guān)數(shù)據(jù),對所接收的用戶界面相關(guān)數(shù)據(jù)進(jìn)行解析并顯示即可;并且,客戶端101還可以將所接收的用戶對用戶界面控制的輸入消息,轉(zhuǎn)發(fā)給服務(wù)提供設(shè)備121以使其據(jù)此更新用戶界面;
服務(wù)提供設(shè)備121位于網(wǎng)絡(luò)側(cè),其數(shù)量可以依據(jù)系統(tǒng)需求設(shè)定,其中,每個服務(wù)提供設(shè)備121具體可以包括:硬件板卡和硬件板卡所承載的軟件模塊;其軟件模塊可以基于安卓等操作系統(tǒng),這樣,每個服務(wù)提供設(shè)備121中可以通過該操作系統(tǒng)安裝眾多應(yīng)用(如游戲類應(yīng)用、視頻類應(yīng)用等),并通過TS流向客戶端101傳輸已安裝應(yīng)用的信息,以供客戶端101從眾多已安裝應(yīng)用中選擇所需的應(yīng)用;需要說明的是,安卓只是作為服務(wù)提供設(shè)備121所使用操作系統(tǒng)的一種示例,本申請實施例對服務(wù)提供設(shè)備121所使用的具體操作系統(tǒng)不加以限制;
用戶分區(qū)151位于網(wǎng)絡(luò)側(cè),其數(shù)量可以依據(jù)注冊用戶的信息確定,數(shù)據(jù)分區(qū)105與注冊用戶可以具有一對一的對應(yīng)關(guān)系,通??梢栽谕瓿梢粋€新用戶的注冊后,可以為對應(yīng)的新用戶建立相應(yīng)的一個或多個用戶分區(qū)151;對于每個用戶分區(qū)151而言,在其對應(yīng)用戶登錄后可以被掛載到服務(wù)提供設(shè)備121之上,而在其對應(yīng)用戶未登錄時其可以與服務(wù)提供設(shè)備121不具備掛載關(guān)系;
調(diào)度服務(wù)器103位于網(wǎng)絡(luò)側(cè),主要用于依據(jù)客戶端101發(fā)送的輸入消息,完成客戶端101對應(yīng)用戶的登錄,并分配一個空閑的、狀態(tài)良好的服務(wù)提供設(shè)備121與客戶端102對接;同時,還可以依據(jù)登錄用戶的ID(標(biāo)識,Identity)確定登錄用戶對應(yīng)的用戶分區(qū)151,并將所述用戶分區(qū)151的地址信息發(fā)送給服務(wù)提供設(shè)備121,以使所述服務(wù)提供設(shè)備121將所述用戶分區(qū)151掛載到所分配的服務(wù)提供設(shè)備121上;可見,每個用戶分區(qū)151可以與 唯一的用戶相對應(yīng),如用戶分區(qū)A對應(yīng)用戶A等等,這樣,用戶A在客戶端101與上次分配的、編號為001的服務(wù)提供設(shè)備121斷開連接后,即使下次連接的是編號為002的服務(wù)提供設(shè)備121,用戶A仍然可以使用用戶分區(qū)A存儲產(chǎn)生的用戶數(shù)據(jù),因此可以通過訪問用戶分區(qū)A查看所有的歷史數(shù)據(jù);
管理服務(wù)器104位于網(wǎng)絡(luò)側(cè),可用于對所有的服務(wù)提供設(shè)備121進(jìn)行管理,所述管理具體可以包括:狀態(tài)上報、心跳管理、設(shè)置屬性、獲取屬性、網(wǎng)絡(luò)喚醒、軟重啟、硬重啟等。
實施例一
參照圖2,示出了本申請的一種服務(wù)提供設(shè)備實施例一的結(jié)構(gòu)框圖,具體可以包括如下模塊:
界面編碼模塊201,用于對用戶界面進(jìn)行編碼;
流處理模塊202,用于依據(jù)所述用戶界面的編碼結(jié)果生成對應(yīng)的傳輸流,并向所連接的客戶端推送所述傳輸流;及
消息處理模塊203,用于接收來自所述客戶端的輸入消息,并依據(jù)所述輸入消息進(jìn)行相應(yīng)的消息處理;其中,所述消息處理具體可以包括:對所述用戶界面進(jìn)行更新。
本申請的服務(wù)提供設(shè)備可用于類似圖1的智能電視系統(tǒng),本申請實施例對服務(wù)提供設(shè)備所對應(yīng)的智能電視系統(tǒng)不加以限制。
在實際應(yīng)用中,服務(wù)提供設(shè)備可以采用安卓、Linux、Windows等操作系統(tǒng),本實施例的上述界面編碼模塊201、流處理模塊202和消息處理模塊203則可以在上述操作系統(tǒng)的支持下運行,本申請實施例主要以安卓為例進(jìn)行說明,其它操作系統(tǒng)相互參照即可。
在具體實現(xiàn)中,界面編碼模塊201可以在服務(wù)提供設(shè)備與客戶端建立連接后,對服務(wù)提供設(shè)備的用戶界面進(jìn)行編碼。在此提供一種服務(wù)提供設(shè)備與客戶端建立連接的過程:在用戶通過客戶端輸入用戶名和密碼后,客戶端發(fā)送用戶名和密碼給調(diào)度服務(wù)器,調(diào)度服務(wù)器會分配一個服務(wù)提供設(shè)備與該 客戶端對接,并發(fā)送該服務(wù)提供設(shè)備的IP地址給該客戶端,客戶端收到該服務(wù)提供設(shè)備的IP地址后對該服務(wù)提供設(shè)備發(fā)起連接請求;服務(wù)提供設(shè)備收到該連接請求后可以與該客戶端建立連接。
在本申請的一種應(yīng)用示例中,服務(wù)提供設(shè)備初始的用戶界面可以為用于展示所有已安裝應(yīng)用的用戶界面A,或者,服務(wù)提供設(shè)備初始的用戶界面還可以為用于展示所有已安裝應(yīng)用的一級用戶界面B等等;而服務(wù)提供設(shè)備后續(xù)的用戶界面可以為依據(jù)來自客戶端的輸入消息更新得到的用戶界面(如一級用戶界面B對應(yīng)的二級用戶界面和三級用戶界面等等)。例如,客戶端在對用戶界面A進(jìn)行顯示后,若接收到用戶通過遙控器、鼠標(biāo)等輸入裝置發(fā)出的、對用戶界面A中的某一應(yīng)用C的安裝指令,則可以將該安裝指令發(fā)送給服務(wù)提供設(shè)備,由服務(wù)提供設(shè)備依據(jù)該安裝指令獲取該應(yīng)用C的安裝過程以及安裝完畢對應(yīng)的界面,并將獲取的界面作為服務(wù)提供設(shè)備當(dāng)前的用戶界面。從而對于上述輸入消息的響應(yīng)處理(如應(yīng)用C的安裝)實質(zhì)上是在服務(wù)提供設(shè)備中完成的,而客戶端僅顯示了服務(wù)提供設(shè)備推送的流化方式的用戶界面。
在本申請的一種優(yōu)選實施例中,為了提高對用戶界面進(jìn)行更新的速度,可以預(yù)先將全部或部分已安裝應(yīng)用的用戶界面數(shù)據(jù)放至幀緩沖設(shè)備(Frame Buffer)中,這樣,當(dāng)消息處理模塊203在接收到來自所述客戶端的輸入消息后,可以依據(jù)該輸入消息在上述幀緩沖設(shè)備中查找得到相匹配的用戶界面數(shù)據(jù),假設(shè)該輸入消息中攜帶有應(yīng)用A和安裝指令的信息,則可以在上述幀緩沖設(shè)備中查找得到應(yīng)用A的安裝指令對應(yīng)的用戶界面信息。
在具體實現(xiàn)中,界面編碼模塊201可以按照預(yù)置的編碼格式對服務(wù)提供設(shè)備的用戶界面進(jìn)行編碼,所述預(yù)置的編碼格式具體可以包括:H.264等等,本申請實施例對具體的編碼格式不加以限制。
在本申請的一種應(yīng)用示例中,流處理模塊202可以采用流化方式通過RTSP(實時流傳輸協(xié)議,Real Time Streaming Protocol)生成用戶界面的編碼結(jié)果對應(yīng)的TS流,并將TS流推送給客戶端以在所述客戶端顯示相應(yīng)的用戶界面;可以理解,上述通過RTSP生成TS流的方式只是作為示例,而 不理解為本申請實施例的應(yīng)用限制,本申請實施例對TS流的具體生成方式不加以限制。
綜上,本實施例中,服務(wù)提供設(shè)備可以向所連接的客戶端推送用戶界面對應(yīng)的傳輸流,這使得客戶端可以對依據(jù)所述傳輸流解析得到的用戶界面進(jìn)行顯示;并且,服務(wù)提供設(shè)備還可以接收來自所述客戶端的、用戶通過遙控器、鼠標(biāo)等輸入裝置產(chǎn)生的輸入消息,并依據(jù)所述輸入消息對服務(wù)提供設(shè)備的用戶界面進(jìn)行更新;由于服務(wù)提供設(shè)備負(fù)責(zé)當(dāng)前輸入信息對應(yīng)用戶界面的獲取,而客戶端僅僅負(fù)責(zé)傳輸流的解析和用戶界面的顯示,因此,本實施例可以通過服務(wù)提供設(shè)備直接為客戶端提供智能電視服務(wù),這降低了對于機(jī)頂盒的性能要求,因此減少了對于機(jī)頂盒的維護(hù)操作,降低了智能電視服務(wù)對硬件資源的要求,同時節(jié)約了用戶購買或更新機(jī)頂盒所花費的成本。
實施例二
本實施例的服務(wù)提供設(shè)備在上述實施例一的基礎(chǔ)上,進(jìn)一步還可以包括如下可選技術(shù)方案。
本實施例中,所述流處理模塊202,還可用于依據(jù)所述客戶端的多媒體播放請求獲取相應(yīng)的多媒體播放信息,并將所述多媒體播放信息反饋給所述客戶端。
客戶端當(dāng)前顯示的用戶界面可以提供視頻、音頻等多媒體資源的多媒體播放接口,用戶可以通過該多媒體播放接口觸發(fā)相應(yīng)的多媒體播放請求,也即,上述多媒體播放請求為通過觸發(fā)上述用戶界面產(chǎn)生的請求。然而,由于多媒體資源特別是清晰度、質(zhì)量等要求較高的多媒體資源的數(shù)據(jù)量往往比較大,故采用TS流傳輸多媒體資源的方式對帶寬要求較高,若客戶端對應(yīng)智能終端的帶寬較低則有可能出現(xiàn)多媒體資源的播放質(zhì)量下降等問題。
本實施例中,服務(wù)提供設(shè)備可以不采用傳輸流的形式傳輸多媒體資源,而是依據(jù)所述客戶端的多媒體播放請求獲取相應(yīng)的多媒體播放信息,并將所述多媒體播放信息反饋給所述客戶端,由所述客戶端依據(jù)所述多媒體播放信息請求并播放對應(yīng)的多媒體資源,因此,能夠避免帶寬較低導(dǎo)致的多媒體資 源的播放質(zhì)量下降等問題。
在具體實現(xiàn)中,服務(wù)提供設(shè)備可以從網(wǎng)絡(luò)查詢該多媒體播放請求對應(yīng)的多媒體播放信息,例如,服務(wù)提供設(shè)備可以從CDN(內(nèi)容分發(fā)網(wǎng)絡(luò),Content Delivery Network)服務(wù)器獲取該多媒體播放請求對應(yīng)多媒體資源的播放地址,如URL(統(tǒng)一資源定位符,Uniform Resource Locator),將該URL作為多媒體播放信息反饋給客戶端。當(dāng)然,上述URL只是作為多媒體播放信息的應(yīng)用示例,而不理解為多媒體播放信息的應(yīng)用限制,實際上,多媒體資源的名稱等其它多媒體播放信息也是可行的。
在本申請的一種優(yōu)選實施例中,所述流處理模塊202,還可用于在接收到所述客戶端發(fā)送的傳送停止指令后,暫停為所述客戶端推送傳送流。當(dāng)客戶端確定要播放多媒體資源時,由于客戶端側(cè)顯示的用戶界面是由服務(wù)提供設(shè)備推送的TS流解析顯示的,因此,為了避免用戶界面與多媒體資源的沖突,客戶端可以向服務(wù)提供設(shè)備發(fā)送傳送停止指令,該傳送停止指令可用于告知服務(wù)提供設(shè)備暫停對TS流的推送。而服務(wù)提供設(shè)備在接收到該傳送停止指令后,可以暫停向該客戶端推送TS流。
在本申請的另一種優(yōu)選實施例中,所述流處理模塊202,還可用于在接收到所述客戶端發(fā)送的重新開始指令后,重新向所述客戶端推送所述傳輸流。在具體實現(xiàn)中,服務(wù)提供設(shè)備可以斷點記錄等形式保留該客戶端在播放前的用戶界面,這樣,在接收到重新開始指令后,可以從該斷點記錄開始繼續(xù)向該客戶端推送用戶界面對應(yīng)的TS流。
綜上,本實施例中,服務(wù)提供設(shè)備采用TS流的形式向客戶端推送用戶界面,而向客戶端發(fā)送多媒體播放信息使得客戶端依據(jù)該多媒體播放信息獲取對應(yīng)的多媒體資源,對于客戶端而言,由于采用不同的方式獲取用戶界面和多媒體資源,因此能夠避免用戶界面和多媒體資源的沖突,從而能夠保證用戶界面的顯示質(zhì)量和多媒體資源的播放質(zhì)量。
實施例三
參照圖3,示出了本申請的一種服務(wù)提供設(shè)備實施例三的結(jié)構(gòu)框圖,具 體可以包括如下模塊:
界面編碼模塊301,用于對用戶界面進(jìn)行編碼;
流處理模塊302,用于依據(jù)所述用戶界面的編碼結(jié)果生成對應(yīng)的傳輸流,并向所連接的客戶端推送所述傳輸流;
消息處理模塊303,用于接收來自所述客戶端的輸入消息,并依據(jù)所述輸入消息進(jìn)行相應(yīng)的消息處理;其中,所述消息處理具體可以包括:對所述用戶界面進(jìn)行更新;及
分區(qū)操作模塊304,用于將所述客戶端的登錄用戶對應(yīng)的用戶分區(qū)掛載到本地,并將所述登錄用戶產(chǎn)生的用戶數(shù)據(jù)寫入掛載后的用戶分區(qū)。
相對于實施例一,本實施例還可以采用與用戶對應(yīng)的用戶分區(qū)來專門存儲用戶產(chǎn)生的用戶數(shù)據(jù),這些用戶分區(qū)獨立于服務(wù)提供設(shè)備的存儲空間,對于每個用戶分區(qū)而言,在其對應(yīng)用戶登錄后可以被掛載到服務(wù)提供設(shè)備之上,而在其對應(yīng)用戶未登錄時其可以與服務(wù)提供設(shè)備不具備掛載關(guān)系;由于每個用戶分區(qū)可以與用戶對應(yīng),這樣,無論用戶通過客戶端連接了哪個服務(wù)提供設(shè)備,連接的該個服務(wù)提供設(shè)備均可采用該用戶對應(yīng)的用戶分區(qū)來存儲該用戶采用的用戶數(shù)據(jù),也即該用戶分區(qū)可以存儲該用戶產(chǎn)生的所有歷史數(shù)據(jù),從而能夠滿足該用戶對于所有歷史數(shù)據(jù)的訪問需求;假設(shè)用戶分區(qū)A對應(yīng)用戶A,則用戶A在客戶端與上次分配的、服務(wù)提供設(shè)備001斷開連接后,即使下次連接的是服務(wù)提供設(shè)備002,用戶A一直使用用戶分區(qū)A存儲產(chǎn)生的用戶數(shù)據(jù),因此可以通過訪問用戶分區(qū)A查看所有歷史數(shù)據(jù)。
掛載可用于表示將存儲設(shè)備或者磁盤分區(qū)掛接到一個已存在的目錄上的操作,具體到本申請實施例,掛載可用于表示將用戶分區(qū)掛接到服務(wù)提供設(shè)備中一個已存在的本地目錄上。則掛載后的用戶分區(qū)可用于表示已經(jīng)與服務(wù)提供設(shè)備的本地目錄掛接的用戶分區(qū),在服務(wù)提供設(shè)備本地打開該本地目錄時,就可以直接訪問其掛接的用戶分區(qū)下的數(shù)據(jù)文件。
在具體實現(xiàn)中,可以采用存儲網(wǎng)絡(luò)(Storage Network)技術(shù)來實現(xiàn)所述用戶分區(qū),該存儲網(wǎng)絡(luò)技術(shù)將存儲器從應(yīng)用服務(wù)器中分離出來進(jìn)行集中管 理,因此具有統(tǒng)一性、容易擴(kuò)充等優(yōu)點。該存儲網(wǎng)絡(luò)技術(shù)具體可以包括:NAS(網(wǎng)絡(luò)附屬存儲,Network-Attached Storage)和SAN(存儲區(qū)域網(wǎng)絡(luò),Storage Area Network)等技術(shù);其中,NAS技術(shù)的用戶可以通過TCP/IP(傳輸控制協(xié)議/網(wǎng)際協(xié)議,Transmission Control Protocol/Internet Protocol)訪問數(shù)據(jù),采用NFS(網(wǎng)絡(luò)文件系統(tǒng),Network File System)、HTTP(超文本傳送協(xié)議,Hypertext transfer protocol)、CIFS(網(wǎng)絡(luò)文件共享系統(tǒng),Common Internet File System)等標(biāo)準(zhǔn)文件共享協(xié)議實現(xiàn)共享;而SAN技術(shù)的用戶可以通過專用光纖通道交換機(jī)訪問數(shù)據(jù),可以采用SCSI(small computer system interface,小型計算機(jī)系統(tǒng)接口)、FC-AL(光纖通道仲裁環(huán)路,F(xiàn)IBRE CHANNEL ARBITRATED LOOP)等接口。本申請實施例主要以NAS技術(shù)為例對用戶分區(qū)及其掛載過程進(jìn)行說明,其它存儲網(wǎng)絡(luò)技術(shù)的用戶分區(qū)及其掛載過程相互參照即可。
在本申請的一種應(yīng)用示例中,NAS存儲器件具體可以包括:磁盤陣列、CD/DVD驅(qū)動器、磁帶驅(qū)動器或可移動的存儲介質(zhì)等;可以在一個磁盤上劃分多個目錄,其中的每個目錄可以對應(yīng)一個用戶分區(qū),也即,用戶分區(qū)與網(wǎng)絡(luò)附屬存儲NAS存儲器件中的目錄一一對應(yīng)。
在本申請的一種優(yōu)選實施例中,所述分區(qū)操作模塊304將所述客戶端的登錄用戶對應(yīng)的用戶分區(qū)掛載到本地的過程,具體可以包括:接收服務(wù)器發(fā)送的登錄用戶對應(yīng)的用戶分區(qū)的地址信息;依據(jù)所述登錄用戶對應(yīng)的用戶分區(qū)的地址信息,將所述客戶端的登錄用戶對應(yīng)的用戶分區(qū)掛載到本地。
在具體實現(xiàn)中,所述分區(qū)操作模塊304接收服務(wù)器發(fā)送的登錄用戶對應(yīng)的用戶分區(qū)的地址信息的過程,具體可以包括:接收服務(wù)器推送的登錄用戶對應(yīng)的用戶分區(qū)的地址信息;或者,向服務(wù)器發(fā)送掛載請求,其中,所述掛載請求中攜帶所述登錄用戶的信息,并接收所述服務(wù)器依據(jù)所述掛載請求返回的所述登錄用戶對應(yīng)的用戶分區(qū)的地址信息。
一方面,由于服務(wù)器在為客戶端調(diào)度并分配服務(wù)提供設(shè)備之前,客戶端已經(jīng)通過用戶ID等方式登錄到服務(wù)器,因此,服務(wù)器在客戶端連接服務(wù) 提供設(shè)備前已經(jīng)獲知了客戶端的登錄用戶的信息(如用戶ID),從而,服務(wù)器可以依據(jù)登錄用戶的ID(標(biāo)識,Identity)確定登錄用戶對應(yīng)的用戶分區(qū)的地址信息;另一方面,由于客戶端連接的服務(wù)提供設(shè)備是由服務(wù)器調(diào)度得到的,因此服務(wù)器在客戶端連接服務(wù)提供設(shè)備前已經(jīng)獲知了服務(wù)提供設(shè)備的地址信息(如IP地址信息);因此,服務(wù)器可以依據(jù)服務(wù)提供設(shè)備的地址信息將所述登錄用戶對應(yīng)的用戶分區(qū)的地址信息推送給對應(yīng)服務(wù)提供設(shè)備。
在實際應(yīng)用中,服務(wù)器可以預(yù)先建立并維護(hù)用戶與用戶分區(qū)之間映射關(guān)系,如用戶ID為用戶分區(qū)的地址信息之間的映射關(guān)系,這樣,可以依據(jù)登錄用戶的ID,在該映射關(guān)系中查找與登錄用戶的ID相匹配的用戶分區(qū)的地址信息。
在本申請的一種應(yīng)用示例中,可以利用NFS技術(shù)實現(xiàn)用戶分區(qū)的掛載。具體地,服務(wù)提供設(shè)備可以實現(xiàn)一個NFS客戶端,服務(wù)器可以實現(xiàn)一個NFS服務(wù)端,這樣,服務(wù)提供設(shè)備可以通過NFS客戶端接收服務(wù)器的NFS服務(wù)端發(fā)送的登錄用戶對應(yīng)的用戶分區(qū)的地址信息。
在本申請的應(yīng)用實例中,所述登錄用戶對應(yīng)的用戶分區(qū)的地址信息具體可以包括:服務(wù)器的網(wǎng)絡(luò)地址和所述用戶分區(qū)的目錄地址,例如,接收到的登錄用戶對應(yīng)的用戶分區(qū)的地址信息為http://10.10.88.69/nfs/001,其中,10.10.88.69表示服務(wù)器的IP地址,nfs/001表示登錄用戶對應(yīng)的用戶分區(qū)在服務(wù)器上的磁盤目錄。
在具體實現(xiàn)中,可以將所述客戶端的登錄用戶對應(yīng)的用戶分區(qū)掛載到本地的用戶分區(qū)目錄,這里的用戶分區(qū)目錄可以是預(yù)先設(shè)置的,也可以是服務(wù)提供設(shè)備在接收到所述登錄用戶對應(yīng)的用戶分區(qū)的地址信息后臨時創(chuàng)建的。由于將所述客戶端的登錄用戶對應(yīng)的用戶分區(qū)掛載到本地的用戶分區(qū)目錄,如服務(wù)提供設(shè)備/data,從而在服務(wù)提供設(shè)備打開用戶分區(qū)目錄時,可以直接訪問遠(yuǎn)程的、所述登錄用戶對應(yīng)的用戶分區(qū),而無需將所述登錄用戶對應(yīng)的用戶分區(qū)下載到本地,這使得服務(wù)提供設(shè)備將不再受到存儲容量的限制。
假設(shè)接收到的登錄用戶對應(yīng)的用戶分區(qū)的地址信息為http://10.10.88.69/nfs/001,本地的用戶分區(qū)目錄為服務(wù)提供設(shè)備/data,服務(wù)提供設(shè)備采用安卓系統(tǒng),則可以通過mount命令將所收登錄用戶對應(yīng)的用戶分區(qū)nfs/001掛載到本地的用戶分區(qū)目錄—服務(wù)提供設(shè)備/data,從而,在本地打開目錄服務(wù)提供設(shè)備/data時,就可以直接訪問nfs/001下的數(shù)據(jù)文件。
本申請實施例通過將所述登錄用戶產(chǎn)生的用戶數(shù)據(jù)寫入掛載后的用戶分區(qū)、而非寫入服務(wù)提供設(shè)備的其它目錄的方式,實現(xiàn)用戶分區(qū)用于專門存儲用戶產(chǎn)生的用戶數(shù)據(jù)的功能。需要說明的是,除了寫入訪問外,所述掛載后的用戶分區(qū)還可以支持讀取訪問和刪除訪問等其它訪問方式,例如,可以依據(jù)客戶端的查詢請求從所述掛載后的用戶分區(qū)中讀取用戶數(shù)據(jù)并返回給用戶端等等,本申請實施例對所述掛載后的用戶分區(qū)的具體訪問不加以限制。
綜上,本實施例通過將所述登錄用戶產(chǎn)生的用戶數(shù)據(jù)寫入掛載后的用戶分區(qū)、而非寫入服務(wù)提供設(shè)備的其它目錄的方式,實現(xiàn)用戶分區(qū)用于專門存儲用戶產(chǎn)生的用戶數(shù)據(jù)的功能;這樣,無論登錄用戶通過客戶端連接了哪個服務(wù)提供設(shè)備,連接的該個服務(wù)提供設(shè)備均掛載并采用該登錄用戶對應(yīng)的用戶分區(qū)來存儲該登錄用戶采用的用戶數(shù)據(jù),使得該用戶分區(qū)可以存儲該用戶產(chǎn)生的所有歷史數(shù)據(jù),從而使得該用戶分區(qū)能夠滿足該用戶對于所有歷史數(shù)據(jù)的訪問需求。并且,本實施例無需將所述登錄用戶產(chǎn)生的用戶數(shù)據(jù)寫入服務(wù)提供設(shè)備,因此還能夠節(jié)省服務(wù)提供設(shè)備的存儲空間。
實施例四
參照圖4,示出了本申請的一種服務(wù)提供設(shè)備實施例四的結(jié)構(gòu)框圖,具體可以包括如下模塊:
界面編碼模塊401,用于對用戶界面進(jìn)行編碼;
流處理模塊402,用于依據(jù)所述用戶界面的編碼結(jié)果生成對應(yīng)的傳輸流,并向所連接的客戶端推送所述傳輸流;
消息處理模塊403,用于接收來自所述客戶端的輸入消息,并依據(jù)所述輸入消息進(jìn)行相應(yīng)的消息處理;其中,所述消息處理具體可以包括:對所述用戶界面進(jìn)行更新;及
分區(qū)操作模塊404,用于將所述客戶端的登錄用戶對應(yīng)的用戶分區(qū)掛載到本地,并將所述登錄用戶產(chǎn)生的用戶數(shù)據(jù)寫入掛載后的用戶分區(qū);
其中,所述分區(qū)操作模塊404具體可以包括:
第一檢測子模塊441,用于檢測掛載后的用戶分區(qū)中是否存在已安裝應(yīng)用的數(shù)據(jù)文件;及
文件寫入子模塊442,用于在所述掛載后的用戶分區(qū)中不存在所述已安裝應(yīng)用的數(shù)據(jù)文件時,將所述已安裝應(yīng)用的數(shù)據(jù)文件寫入所述掛載后的用戶分區(qū)。
由于服務(wù)提供設(shè)備的用戶界面可以為關(guān)于所有或部分已安裝應(yīng)用的用戶界面,并且每個用戶都有可能使用每個已安裝應(yīng)用并在使用過程中產(chǎn)生對應(yīng)的用戶數(shù)據(jù),因此,需要實現(xiàn)將每個已安裝應(yīng)用復(fù)用于每個用戶分區(qū),以滿足采用用戶分區(qū)存儲用戶在使用每個應(yīng)用程序過程中產(chǎn)生的用戶數(shù)據(jù)的需求。
為了實現(xiàn)將每個已安裝應(yīng)用復(fù)用于每個用戶分區(qū),本實施例可以在每次掛載用戶分區(qū)后,檢測掛載后的用戶分區(qū)中是否存在已安裝應(yīng)用的數(shù)據(jù)文件,并在所述掛載后的用戶分區(qū)中不存在所述已安裝應(yīng)用的數(shù)據(jù)文件時,將所述已安裝應(yīng)用的數(shù)據(jù)文件寫入所述掛載后的用戶分區(qū);上述檢測掛載后的用戶分區(qū)和將所述已安裝應(yīng)用的數(shù)據(jù)文件寫入所述掛載后的用戶分區(qū)的操作,能夠?qū)崿F(xiàn)用戶分區(qū)中應(yīng)用的數(shù)據(jù)文件與服務(wù)提供設(shè)備中應(yīng)用的一致性,能夠確保掛載后的用戶分區(qū)中存在服務(wù)提供設(shè)備中所有已安裝應(yīng)用的數(shù)據(jù)文件,而某已安裝應(yīng)用的數(shù)據(jù)文件可用于存儲用戶在使用該已安裝應(yīng)用過程中產(chǎn)生的用戶數(shù)據(jù),因此可以滿足采用用戶分區(qū)存儲用戶在使用每個應(yīng)用程序過程中產(chǎn)生的用戶數(shù)據(jù)的需求。
在實際應(yīng)用中,可以在每個已安裝應(yīng)用安裝完成后,可以將這個已安裝應(yīng)用的數(shù)據(jù)文件放至第一臨時存儲區(qū),這樣,在所述掛載后的用戶分區(qū) 中不存在所述已安裝應(yīng)用的數(shù)據(jù)文件時,可以從所述第一臨時存儲區(qū)讀取所述已安裝應(yīng)用的數(shù)據(jù)文件,并將讀取內(nèi)容寫入到所述掛載后的用戶分區(qū)。
在具體實現(xiàn)中,可以在掛載后的用戶分區(qū)中查找與已安裝應(yīng)用的信息相匹配的數(shù)據(jù)文件,若查找到,則所述掛載后的用戶分區(qū)中存在所述已安裝應(yīng)用的數(shù)據(jù)文件,若未查找到,則所述掛載后的用戶分區(qū)中不存在所述已安裝應(yīng)用的數(shù)據(jù)文件。
進(jìn)一步,所述已安裝應(yīng)用具體可以包括:已安裝的所有應(yīng)用、或者在第一預(yù)置時間內(nèi)被安裝的應(yīng)用;其中,在所述已安裝應(yīng)用表示已安裝的所有應(yīng)用時,需要在掛載后的用戶分區(qū)中查找與已安裝的所有應(yīng)用的信息相匹配的數(shù)據(jù)文件,需要花費較多的時間成本;而在所述被安裝應(yīng)用表示在第一預(yù)置時間內(nèi)被安裝的應(yīng)用時,需要在掛載后的用戶分區(qū)中查找與已安裝的部分應(yīng)用的信息相匹配的數(shù)據(jù)文件,因此,花費的時間成本較少。
在本申請的一種實施例中,可以監(jiān)控安裝應(yīng)用的行為,并在監(jiān)控到安裝應(yīng)用的行為時,將所安裝應(yīng)用作為已安裝應(yīng)用,并記錄所述已安裝應(yīng)用的信息;其中,所述已安裝應(yīng)用的信息具體可以包括如下信息中的一種或多種:所述已安裝應(yīng)用的文件夾信息和所述已安裝應(yīng)用的數(shù)據(jù)文件信息。
在本申請的一種優(yōu)選實施例中,為了避免應(yīng)用管理影響到客戶端的訪問效率,可以在服務(wù)提供設(shè)備未連接客戶端的情況下進(jìn)行應(yīng)用的管理,如安裝和/或卸載和/或升級應(yīng)用等等,具體地,服務(wù)器可以在所有服務(wù)提供設(shè)備上觸發(fā)應(yīng)用的管理以保證不同服務(wù)提供設(shè)備向客戶端提供相同的服務(wù),以安裝應(yīng)用為例,服務(wù)器可以向服務(wù)提供設(shè)備發(fā)送安裝包,服務(wù)提供設(shè)備依據(jù)該安裝包進(jìn)行對應(yīng)應(yīng)用的安裝。
在實際應(yīng)用中,除了所述已安裝應(yīng)用的文件夾信息和所述已安裝應(yīng)用的數(shù)據(jù)文件信息外,所述已安裝應(yīng)用的信息還可以包括:已安裝應(yīng)用的安裝時間信息,這樣,可以依據(jù)已安裝應(yīng)用的安裝時間信息確定所述在第一預(yù)置時間內(nèi)被安裝的應(yīng)用。例如,所述預(yù)置時間可以為最近一個維護(hù)周期(服務(wù)器對于應(yīng)用的管理周期,如1小時或者24小時);或者,所述第一 預(yù)置時間還可以為從當(dāng)前用戶分區(qū)上次被掛載的時間到當(dāng)前時間之間的時間段等等,由于每次掛載用戶分區(qū)后都會實現(xiàn)用戶分區(qū)中應(yīng)用的數(shù)據(jù)文件與服務(wù)提供設(shè)備中應(yīng)用的一致性,故可以忽略當(dāng)前用戶分區(qū)上次被掛載的時間之前的已安裝應(yīng)用;可以理解,本領(lǐng)域技術(shù)人員可以根據(jù)實際需求確定具體的維護(hù)周期或者第一預(yù)置時間,本申請實施例對具體的維護(hù)周期或第一預(yù)置時間不加以限制。
實施例五
參照圖5,示出了本申請的一種服務(wù)提供設(shè)備實施例五的結(jié)構(gòu)框圖,具體可以包括如下模塊:
界面編碼模塊501,用于對用戶界面進(jìn)行編碼;
流處理模塊502,用于依據(jù)所述用戶界面的編碼結(jié)果生成對應(yīng)的傳輸流,并向所連接的客戶端推送所述傳輸流;
消息處理模塊503,用于接收來自所述客戶端的輸入消息,并依據(jù)所述輸入消息進(jìn)行相應(yīng)的消息處理;其中,所述消息處理具體可以包括:對所述用戶界面進(jìn)行更新;及
分區(qū)操作模塊504,用于將所述客戶端的登錄用戶對應(yīng)的用戶分區(qū)掛載到本地,并將所述登錄用戶產(chǎn)生的用戶數(shù)據(jù)寫入掛載后的用戶分區(qū);
其中,所述分區(qū)操作模塊504具體可以包括:
其中,所述分區(qū)操作模塊504具體可以包括:
第二檢測子模塊541,用于檢測掛載后的用戶分區(qū)中是否存在已卸載應(yīng)用的數(shù)據(jù)文件;
刪除子模塊542,用于在所述掛載后的用戶分區(qū)中存在所述已卸載應(yīng)用的數(shù)據(jù)文件時,刪除所述掛載后的用戶分區(qū)中所述已卸載應(yīng)用的數(shù)據(jù)文件。
為了實現(xiàn)用戶分區(qū)中應(yīng)用的數(shù)據(jù)文件與服務(wù)提供設(shè)備中應(yīng)用的一致性,本實施例可以在每次掛載用戶分區(qū)后,檢測掛載后的用戶分區(qū)中是否存在已卸載應(yīng)用的數(shù)據(jù)文件,并在所述掛載后的用戶分區(qū)中存在所述已卸 載應(yīng)用的數(shù)據(jù)文件時,刪除所述掛載后的用戶分區(qū)中所述已卸載應(yīng)用的數(shù)據(jù)文件;上述檢測掛載后的用戶分區(qū)和刪除所述掛載后的用戶分區(qū)中所述已卸載應(yīng)用的數(shù)據(jù)文件的操作,能夠?qū)崿F(xiàn)用戶分區(qū)中應(yīng)用的數(shù)據(jù)文件與服務(wù)提供設(shè)備中應(yīng)用的一致性,能夠確保掛載后的用戶分區(qū)中不存在服務(wù)提供設(shè)備中已卸載應(yīng)用的數(shù)據(jù)文件,因此可以在節(jié)省用戶分區(qū)的存儲空間的前提下,滿足采用用戶分區(qū)存儲用戶在使用每個應(yīng)用程序過程中產(chǎn)生的用戶數(shù)據(jù)的需求。
在具體實現(xiàn)中,可以在掛載后的用戶分區(qū)中查找與已卸載應(yīng)用的信息相匹配的數(shù)據(jù)文件,若查找到,則所述掛載后的用戶分區(qū)中存在所述已卸載應(yīng)用的數(shù)據(jù)文件,若未查找到,則所述掛載后的用戶分區(qū)中不存在所述已卸載應(yīng)用的數(shù)據(jù)文件。
進(jìn)一步,所述已卸載應(yīng)用具體可以包括:已卸載的所有應(yīng)用、或者在第二預(yù)置時間內(nèi)被卸載的應(yīng)用;其中,在所述已卸載應(yīng)用表示已卸載的所有應(yīng)用時,需要在掛載后的用戶分區(qū)中查找與已卸載的所有應(yīng)用的信息相匹配的數(shù)據(jù)文件,需要花費較多的時間成本;而在所述被卸載應(yīng)用表示在第二預(yù)置時間內(nèi)被卸載的應(yīng)用時,需要在掛載后的用戶分區(qū)中查找與已卸載的部分應(yīng)用的信息相匹配的數(shù)據(jù)文件,因此,花費的時間成本較少。
所述第二預(yù)置時間可以為最近一個維護(hù)周期(服務(wù)器對于應(yīng)用的管理周期,如1小時或者24小時);或者,所述第二預(yù)置時間還可以為從當(dāng)前用戶分區(qū)上次被掛載的時間到當(dāng)前時間之間的時間段等等,由于每次掛載用戶分區(qū)后都會實現(xiàn)用戶分區(qū)中應(yīng)用的數(shù)據(jù)文件與服務(wù)提供設(shè)備中應(yīng)用的一致性,故可以忽略當(dāng)前用戶分區(qū)上次被掛載的時間之前的已卸載應(yīng)用;可以理解,本領(lǐng)域技術(shù)人員可以根據(jù)實際需求確定具體的維護(hù)周期或者第二預(yù)置時間,本申請實施例對具體的維護(hù)周期或第二預(yù)置時間不加以限制。
實施例六
參照圖6,示出了本申請的一種服務(wù)提供設(shè)備實施例六的結(jié)構(gòu)框圖,具體可以包括如下模塊:
界面編碼模塊601,用于對用戶界面進(jìn)行編碼;
流處理模塊602,用于依據(jù)所述用戶界面的編碼結(jié)果生成對應(yīng)的傳輸流,并向所連接的客戶端推送所述傳輸流;
消息處理模塊603,用于接收來自所述客戶端的輸入消息,并依據(jù)所述輸入消息進(jìn)行相應(yīng)的消息處理;其中,所述消息處理具體可以包括:對所述用戶界面進(jìn)行更新;及
遠(yuǎn)程管理模塊604,用于配合服務(wù)器完成所述服務(wù)器對于服務(wù)提供設(shè)備的遠(yuǎn)程管理。
相對于實施例一,本實施例的服務(wù)提供設(shè)備還可以包括:遠(yuǎn)程管理模塊604,遠(yuǎn)程管理模塊604可以與服務(wù)器遠(yuǎn)程通信,以配合該服務(wù)器完成該服務(wù)器對于服務(wù)提供設(shè)備的遠(yuǎn)程管理,從而可以使得服務(wù)提供設(shè)備向客戶端提供一致、正常和及時的智能電視服務(wù)。為了避免遠(yuǎn)程管理影響到客戶端的訪問效率,可以在服務(wù)提供設(shè)備未連接客戶端的情況下進(jìn)行上述遠(yuǎn)程管理。
在具體實現(xiàn)中,所述服務(wù)器對服務(wù)提供設(shè)備的遠(yuǎn)程管理具體可以包括:所述服務(wù)器對服務(wù)提供設(shè)備的應(yīng)用管理、所述服務(wù)器對服務(wù)提供設(shè)備的進(jìn)程清理和所述服務(wù)器對服務(wù)提供設(shè)備的心跳管理中的至少一種。
其中,所述服務(wù)器對服務(wù)提供設(shè)備的應(yīng)用管理可以進(jìn)一步包括安裝應(yīng)用、卸載應(yīng)用等,實施例四和實施例五已經(jīng)有所介紹,在此不作贅述,相互參照即可;
所述服務(wù)器對服務(wù)提供設(shè)備的進(jìn)程清理具體可以包括:殺進(jìn)程等,假設(shè)服務(wù)提供設(shè)備中存在后臺運行的惡意應(yīng)用,則服務(wù)器可以向該服務(wù)提供設(shè)備發(fā)送殺進(jìn)程指令,以使該服務(wù)提供設(shè)備殺死該惡意應(yīng)用;
所述服務(wù)器對服務(wù)提供設(shè)備的心跳管理可用于確定服務(wù)提供設(shè)備的工作狀態(tài),例如,服務(wù)提供設(shè)備可以按照周期向服務(wù)器發(fā)送心跳信息,而服務(wù)器可以對服務(wù)提供設(shè)備進(jìn)行心跳檢測,當(dāng)服務(wù)提供設(shè)備的心跳檢測結(jié)果符合預(yù)置的異常條件時,可認(rèn)為該服務(wù)提供設(shè)備處于異常狀態(tài),并向該服務(wù)提供設(shè)備發(fā)送軟重啟指令;又如,當(dāng)軟重啟指令被連續(xù)發(fā)送給服務(wù)提供設(shè)備的次數(shù)超出次數(shù)閾值、且服務(wù)提供設(shè)備的心跳檢測結(jié)果符合預(yù)置的異常條件 時,可以認(rèn)為該服務(wù)提供設(shè)備出現(xiàn)死機(jī)故障,因此可以向該服務(wù)提供設(shè)備對應(yīng)的管理設(shè)備發(fā)送硬重啟指令,以實現(xiàn)該服務(wù)提供設(shè)備的硬重啟;其中,上述預(yù)置的異常條件具體可以包括:在預(yù)置時間內(nèi)未收到服務(wù)提供設(shè)備的心跳信息,假設(shè)預(yù)置時間為5分鐘,如果在5分鐘內(nèi)未收到服務(wù)提供設(shè)備的心跳信息,則可判定所述服務(wù)提供設(shè)備處于異常狀態(tài),本申請實施例對具體的預(yù)置時間不加以限制。所述預(yù)置的異常條件具體可以包括:心跳信息中攜帶的服務(wù)提供設(shè)備的硬件資源信息超出對應(yīng)的預(yù)設(shè)閾值,和/或,心跳信息中攜帶的服務(wù)提供設(shè)備狀態(tài)信息為異常;其中,所述預(yù)設(shè)閾值表示服務(wù)提供設(shè)備的硬件資源出現(xiàn)故障的極限值。服務(wù)提供設(shè)備和服務(wù)器可以基于TR069協(xié)議進(jìn)行心跳通信,當(dāng)然,本申請實施例對服務(wù)提供設(shè)備和服務(wù)器之間的具體通信方式及具體的心跳管理方式不加以限制。
在本申請的一種優(yōu)選實施例中,所述遠(yuǎn)程管理模塊604,可具體用于利用守護(hù)進(jìn)程,配合所述服務(wù)器完成所述服務(wù)器對于服務(wù)提供設(shè)備的遠(yuǎn)程管理。例如,安卓系統(tǒng)的結(jié)構(gòu)具體可以包括:Natvie(驅(qū)動)層、Framework(框架)層和應(yīng)用層等,其中,通常的軟件模塊(如上述界面編碼模塊601-遠(yuǎn)程管理模塊604)通常運行于應(yīng)用層,然而應(yīng)用層獲取系統(tǒng)權(quán)限的難度較大;而常駐在Natvie層的Daemon(守護(hù)進(jìn)程)帶有Root權(quán)限,可以執(zhí)行應(yīng)用層沒有權(quán)限執(zhí)行的操作,如殺進(jìn)程操作等等,故可以利用守護(hù)進(jìn)程配合所述服務(wù)器完成所述服務(wù)器對于服務(wù)提供設(shè)備的遠(yuǎn)程管理。
在本申請的另一種優(yōu)選實施例中,所述服務(wù)器對服務(wù)提供設(shè)備的遠(yuǎn)程管理可以為所述服務(wù)器對服務(wù)提供設(shè)備的應(yīng)用管理,則所述遠(yuǎn)程管理模塊604具體可以包括:
應(yīng)用更新子模塊,用于在接收到來自所述服務(wù)器的更新指令后,依據(jù)所述更新指令中攜帶的待更新應(yīng)用信息更新服務(wù)提供設(shè)備中的應(yīng)用;其中,所述待更新應(yīng)用信息是由所述服務(wù)器依據(jù)所述服務(wù)提供設(shè)備中已安裝的應(yīng)用確定的。
本優(yōu)選實施例中,服務(wù)器可以根據(jù)服務(wù)提供設(shè)備中已安裝的應(yīng)用確定待更新應(yīng)用信息,然后通知服務(wù)提供設(shè)備根據(jù)待更新應(yīng)用信息進(jìn)行應(yīng)用的更 新,并在確定所述服務(wù)提供設(shè)備中的應(yīng)用成功更新之后,為所述成功更新之后的服務(wù)提供設(shè)備重新分配服務(wù)提供設(shè)備版本號;這樣,服務(wù)器可以根據(jù)更新后的服務(wù)提供設(shè)備版本號為客戶端分配服務(wù)提供設(shè)備。例如,服務(wù)器可以選擇服務(wù)提供設(shè)備版本號最高的服務(wù)提供設(shè)備,并將選擇的服務(wù)提供設(shè)備版本號最高的服務(wù)提供設(shè)備分配給客戶端;由于服務(wù)提供設(shè)備版本號最高的服務(wù)提供設(shè)備中成功更新安裝所有應(yīng)用,故可以滿足客戶端的各類需求。
其中,服務(wù)器根據(jù)服務(wù)提供設(shè)備中已安裝的應(yīng)用確定待更新應(yīng)用信息的過程具體可以包括:接收服務(wù)提供設(shè)備上報的所述已安裝應(yīng)用列表;從由所述服務(wù)器維護(hù)的多個應(yīng)用列表中,獲取所述設(shè)定應(yīng)用列表;其中,所述設(shè)定應(yīng)用列表對應(yīng)的應(yīng)用列表版本號不小于由所述服務(wù)器維護(hù)的其他應(yīng)用列表的應(yīng)用列表版本號;根據(jù)所述已安裝應(yīng)用列表與設(shè)定應(yīng)用列表的比較結(jié)果,確定所述待更新應(yīng)用信息;其中,所述已安裝應(yīng)用列表中具體可以包括服務(wù)提供設(shè)備中已安裝的全部應(yīng)用的應(yīng)用信息;所述設(shè)定應(yīng)用列表中具體可以包括:當(dāng)前時刻已更新的所有應(yīng)用的應(yīng)用信息。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明了的是,上述設(shè)定應(yīng)用列表是不斷更新的,每次更新之后,設(shè)定應(yīng)用列表的應(yīng)用列表版本號也隨之更新,常用的應(yīng)用列表版本號的更新方式是,當(dāng)前應(yīng)用列表版本號在前一應(yīng)用列表版本號的基礎(chǔ)上計數(shù)加一,當(dāng)然不僅限于此。服務(wù)器可以將維護(hù)前的設(shè)定應(yīng)用列表刪除,僅保留維護(hù)后的設(shè)定應(yīng)用列表;當(dāng)然,為了適用于實際應(yīng)用中可能存在的多種情況,服務(wù)器中也可以對多個版本的設(shè)定應(yīng)用列表均進(jìn)行保存,以根據(jù)不同的調(diào)用請求進(jìn)行調(diào)用,例如,用戶若請求安裝舊版本的應(yīng)用A(相對于應(yīng)用的當(dāng)前最新版本而言),則所述服務(wù)器可以調(diào)用保存的對應(yīng)所述舊版本的應(yīng)用A的舊版本的應(yīng)用列表進(jìn)行所述舊版本的應(yīng)用A的安裝。
這里需要說明的是,本實施例所述的版本號(包括:應(yīng)用列表版本號、服務(wù)提供設(shè)備版本號等)的高低是相對于應(yīng)用列表或服務(wù)提供設(shè)備的更新時間而言,并不僅限于版本號文字意義上的大小。例如,2015.2.1日第二次更新后的服務(wù)提供設(shè)備的服務(wù)提供設(shè)備版本號,可以認(rèn)為是高于2015.2.1日第一次更新后的服務(wù)提供設(shè)備的服務(wù)提供設(shè)備版本號。
在本申請的一種優(yōu)選實施例中,所述遠(yuǎn)程管理模塊604,還可用于向所述服務(wù)器上報自身的狀態(tài),其中,上述狀態(tài)具體可以包括:空閑狀態(tài)和忙碌狀態(tài)等,其中,在連接客戶端的情況下,服務(wù)提供設(shè)備的狀態(tài)可以為忙碌狀態(tài),在與客戶端斷開連接后,服務(wù)提供設(shè)備的狀態(tài)可以更新為空閑狀態(tài),上報的上述空閑狀態(tài)和忙碌狀態(tài)可以作為上述服務(wù)器為客戶端分配服務(wù)提供設(shè)備的有效依據(jù)。
在本申請的另一種優(yōu)選實施例中,上述狀態(tài)還可以包括休眠狀態(tài),這樣,在為客戶端分配服務(wù)提供設(shè)備時,上述服務(wù)器可以首先將處于休眠狀態(tài)的服務(wù)提供設(shè)備喚醒,然后將其分配給對應(yīng)的客戶端。
實施例七
參照圖7,示出了本申請的一種服務(wù)提供設(shè)備實施例七的結(jié)構(gòu)框圖,具體可以包括如下模塊:
連接模塊701,用于在與客戶端建立加密連接后生成虛擬輸入設(shè)備;
界面編碼模塊702,用于對用戶界面進(jìn)行編碼;
流處理模塊703,用于依據(jù)所述用戶界面的編碼結(jié)果生成對應(yīng)的傳輸流,并向所連接的客戶端推送所述傳輸流;及
消息處理模塊704,用于接收來自所述客戶端的輸入消息,并依據(jù)所述輸入消息進(jìn)行相應(yīng)的消息處理;其中,所述消息處理具體可以包括:對所述用戶界面進(jìn)行更新;
其中,所述消息處理模塊704,具體可以包括:
解密子模塊741,用于接收所述客戶端發(fā)送的加密的輸入消息,對所述加密的輸入消息進(jìn)行解密;及
虛擬響應(yīng)子模塊742,用于將解密的輸入消息寫入所述虛擬輸入設(shè)備,由所述虛擬輸入設(shè)備對所述輸入消息對應(yīng)輸入事件進(jìn)行分發(fā),得到所述輸入消息的響應(yīng)信息。
相對于實施例一,本實施例中,服務(wù)提供設(shè)備可以與客戶端建立加密連接以保證數(shù)據(jù)傳輸?shù)陌踩?,而后生成虛擬輸入設(shè)備以模擬各種硬件的輸 入消息,并且服務(wù)提供設(shè)備在接收客戶端發(fā)送的加密的輸入消息后,對所述加密的輸入消息進(jìn)行解密,然后將解密的輸入消息寫入所述虛擬輸入設(shè)備,由所述虛擬輸入設(shè)備對所述輸入消息對應(yīng)輸入事件進(jìn)行分發(fā)以響應(yīng)所述輸入消息并將響應(yīng)信息反饋給客戶端,可擴(kuò)展性較高,處理過程比較簡單,且能夠通過服務(wù)提供設(shè)備實現(xiàn)快速、安全的對于輸入消息的響應(yīng)。
連接模塊701
在具體實現(xiàn)中,服務(wù)提供設(shè)備可以通過SSL(安全套接層,Secure Sockets Layer)等方式與客戶端建立加密連接,從而通過兩者之間的加密通道傳輸數(shù)據(jù),保證數(shù)據(jù)傳輸?shù)陌踩浴?/p>
本實施例中服務(wù)提供設(shè)備在與客戶端建立加密連接后,可以預(yù)先在用戶空間虛擬一輸入設(shè)備,通過該虛擬輸入設(shè)備模擬硬件的輸入消息,在系統(tǒng)注入用戶的輸入消息對應(yīng)輸入事件并進(jìn)行分發(fā),從而實現(xiàn)服務(wù)提供設(shè)備對輸入消息的響應(yīng)。
在本申請的一種應(yīng)用示例中,連接模塊701可以在啟動后對端口進(jìn)行監(jiān)聽,從所述端口接收信號與所述客戶端建立加密的長連接,并在所述加密的長連接建立成功后,在用戶空間內(nèi)生成虛擬輸入設(shè)備。
服務(wù)提供設(shè)備在啟動后會啟動SSL Socket Server監(jiān)聽指定端口,從該端口接收連接信號與該客戶端建立長連接。在長連接建立成功后,服務(wù)提供設(shè)備在用戶空間內(nèi)生成虛擬輸入設(shè)備。例如,采用Uinput虛擬一個輸入設(shè)備/dev/input/Ali-vinput。其中,SSL Socket Server為服務(wù)提供設(shè)備用來接收加密輸入信號的服務(wù)器應(yīng)用。Uinput是linux用來實現(xiàn)用戶空間輸入設(shè)備的內(nèi)核接口,利用它可以在用戶空間虛擬輸入設(shè)備,向系統(tǒng)中注入輸入事件。
例如,可以采用如下方法創(chuàng)建虛擬輸入設(shè)備:以Android系統(tǒng)為例,使用open("/dev/uinput",O_WRONLY|O_NONBLOCK)打開/dev/uinput設(shè)備獲取fd;再使用ioctl(fd,UI_SET_EVBIT,EV_XXX)添加事件類型,包括同步事件、鍵盤事件、鼠標(biāo)事件、觸摸事件等;注冊可接受的事件的值,包括鍵盤的鍵值、鼠標(biāo)和觸摸事件的x和y坐標(biāo)等;初始化uinput_user_dev類型 的變量uidev,該變量中保存待虛擬的設(shè)備的基本信息,包括設(shè)備名和總線類型等;使用write(fd,&uidev,sizeof(uidev))將待虛擬的設(shè)備信息寫入/dev/uinput設(shè)備;使用ioctl(fd,UI_DEV_CREATE)生成虛擬設(shè)備。其中,fd是指文件描述符,在獲取設(shè)備的文件描述符的情況下可以操作設(shè)備,本實施例中fd指向/dev/uinput設(shè)備。ioctl是設(shè)備驅(qū)動程序中對設(shè)備的輸入輸出通道進(jìn)行管理的函數(shù),參數(shù)&uidev為命令名,sizeof(uidev)為命令所需參數(shù),實際處理中可以sizeof(uidev)設(shè)置該參數(shù),也可以不設(shè)置該參數(shù),通過該ioctl函數(shù)對fd所指向的設(shè)備執(zhí)行UI_SET_EVBIT命令,EV_XXX是命令的參數(shù),以此來添加事件類型。Write函數(shù)用來向fd所指向的設(shè)備寫入數(shù)據(jù),uidev為數(shù)據(jù)的首地址,sizeof(uidev)為數(shù)據(jù)大小。
解密子模塊741
上述輸入消息可以為通過遙控器、鼠標(biāo)、鍵盤等輸入裝置輸入的消息;解密子模塊741所進(jìn)行解密處理的主要目的是從加密的輸入消息中恢復(fù)出原始的輸入消息。
在本申請的一個優(yōu)選實施例中,對所述加密的輸入消息進(jìn)行解密的過程具體可以包括:對所述加密的輸入消息進(jìn)行對稱解密或非對稱解密,獲取解密的二進(jìn)制輸入消息或解密的鍵值信息。其中,服務(wù)提供設(shè)備解密后得到的輸入消息可以存在多種類型,如為指定系統(tǒng)的標(biāo)準(zhǔn)輸入消息,又如為映射后的鍵值信息等,可以依據(jù)具體需求設(shè)定,或者依據(jù)需求對解密后的輸入消息進(jìn)行轉(zhuǎn)換,得到所需的輸入信息。
虛擬響應(yīng)子模塊742
在本申請的一種應(yīng)用示例中,虛擬響應(yīng)子模塊742可以將輸入事件分發(fā)給系統(tǒng)或應(yīng)用等進(jìn)行處理,從而對輸入消息進(jìn)行響應(yīng),如依據(jù)所述輸入事件對用戶界面進(jìn)行更新等等,以實現(xiàn)對輸入消息的快速響應(yīng)。
在本申請的另一個優(yōu)選實施例中,在對所述加密的輸入消息進(jìn)行解密之后,還可以按照預(yù)置規(guī)則將所述解密的輸入消息映射成相應(yīng)的鍵值信息;所述虛擬輸入設(shè)備確定所述解密的輸入消息對應(yīng)的輸入事件,具體可以包括:所述虛擬輸入設(shè)備查找所述鍵值信息對應(yīng)的輸入事件。
本實施例中,對于解密的輸入消息可能是數(shù)字信息,此時可以將該數(shù)字信息預(yù)設(shè)的映射表將其映射成相應(yīng)的鍵值信息,如按照預(yù)置協(xié)議將數(shù)字信息反Map成鍵值信息。當(dāng)輸入消息表現(xiàn)為鍵值信息的形式時,虛擬輸入設(shè)備可以查找所述鍵值信息對應(yīng)的輸入事件,而后對輸入事件進(jìn)行分發(fā)。
以安卓系統(tǒng)為例,一種虛擬輸入設(shè)備對輸入消息的處理過程具體可以包括:
1、硬件抽象層(Hardware Abstraction Layer,HAL)的EventHub通過epoll機(jī)制監(jiān)聽/dev/input/目錄下的所有設(shè)備文件描述符的變化,一旦有輸入事件寫入設(shè)備,EventHub就能讀取到該事件;
2、Framework層的InputReader從EventHub讀入原始輸入事件后轉(zhuǎn)化為android平臺的輸入事件,再將輸入事件傳遞給InputDispatcher;
3、InputDispatcher根據(jù)輸入事件以及場景的不同將事件分發(fā)給上層應(yīng)用或系統(tǒng),例如Home鍵和Power鍵會交由系統(tǒng)處理而不是上層應(yīng)用,方向鍵等會交由應(yīng)用處理。
本實施例中,由于客戶端顯示的用戶界面是依據(jù)服務(wù)提供設(shè)備發(fā)送的TS流解析顯示的,因而用戶對用戶界面的控制,如選擇某一功能,或者在其中安裝APP等控制操作,看似是在客戶端側(cè)執(zhí)行的,實際上均是將輸入信息發(fā)送給服務(wù)提供設(shè)備,由服務(wù)提供設(shè)備執(zhí)行相應(yīng)的消息處理并反饋響應(yīng)的TS流。
在本申請的另一優(yōu)選實施例中,將所述輸入事件分發(fā)給上層應(yīng)用或操作系統(tǒng)進(jìn)行響應(yīng)處理,生成對應(yīng)的響應(yīng)信息,具體可以包括:將所述輸入事件分發(fā)給上層應(yīng)用或操作系統(tǒng);所述上層應(yīng)用或操作系統(tǒng)獲取響應(yīng)于所述輸入事件的用戶界面;將所述用戶界面編碼生成對應(yīng)的TS流作為響應(yīng)信息,以在所述客戶端顯示響應(yīng)于輸入消息的用戶界面。
針對輸入消息對應(yīng)輸入事件,虛擬輸入設(shè)備會將該輸入事件分發(fā)給對應(yīng)的上層應(yīng)用或操作系統(tǒng),而后上層應(yīng)用或操作系統(tǒng)獲取響應(yīng)于所述輸入事件的用戶界面,例如輸入事件為選擇某一功能,則用戶界面可以為該功能對應(yīng)的用戶界面;又如輸入事件為安裝一APP,則用戶界面為該APP安 裝過程及安裝完成對應(yīng)的用戶界面等等。
為使本領(lǐng)域技術(shù)人員更好地理解本申請,下面結(jié)合服務(wù)提供設(shè)備和客戶端的交互流程說明上述對輸入消息進(jìn)行響應(yīng)的過程。
1、對指定操作系統(tǒng)的標(biāo)準(zhǔn)輸入消息的傳輸。
本實施例中,客戶端可以解析TS流和顯示對應(yīng)的用戶界面,并且發(fā)送指定操作系統(tǒng)的標(biāo)準(zhǔn)控制消息到服務(wù)提供設(shè)備,由服務(wù)提供設(shè)備對該標(biāo)準(zhǔn)控制消息進(jìn)行響應(yīng)處理。
參照圖8,示出了本申請的一種客戶端和服務(wù)提供設(shè)備間通信方法的流程圖,具體可以包括:
8.02、客戶端在啟動后與服務(wù)提供設(shè)備建立加密連接;
8.04、服務(wù)提供設(shè)備生成虛擬輸入設(shè)備;
8.06、客戶端接收原始消息;
8.08、客戶端映射得到指定系統(tǒng)的標(biāo)準(zhǔn)輸入消息;
8.10、客戶端將所述指定系統(tǒng)的標(biāo)準(zhǔn)輸入消息進(jìn)行二進(jìn)制化處理,得到二進(jìn)制的輸入消息;
8.12、客戶端將所述二進(jìn)制的輸入消息進(jìn)行加密處理,得到加密的輸入消息;
8.14、客戶端將加密的輸入消息發(fā)送給所述服務(wù)提供設(shè)備;
8.16、服務(wù)提供設(shè)備對所述加密的輸入消息進(jìn)行解密,獲取解密的二進(jìn)制輸入消息;
8.18、服務(wù)提供設(shè)備將解密的輸入消息寫入所述虛擬輸入設(shè)備;
8.20、服務(wù)提供設(shè)備的虛擬輸入設(shè)備確定所述解密的輸入消息對應(yīng)的輸入事件;
8.22、服務(wù)提供設(shè)備的虛擬輸入設(shè)備將所述輸入事件分發(fā)給上層應(yīng)用或操作系統(tǒng)進(jìn)行響應(yīng)處理,生成對應(yīng)的響應(yīng)信息,包括響應(yīng)的TS流;
8.24、服務(wù)提供設(shè)備將響應(yīng)的TS流反饋給客戶端;
8.26、客戶端對響應(yīng)的TS流進(jìn)行解析,顯示響應(yīng)于所述輸入消息的用戶界面。
2、鍵值信息作為輸入消息的傳輸。
參照圖9,示出了本申請的另一種客戶端和服務(wù)提供設(shè)備間通信方法的流程圖。
9.02、客戶端在啟動后與服務(wù)提供設(shè)備建立加密連接;
9.04、服務(wù)提供設(shè)備生成虛擬輸入設(shè)備;
9.06、客戶端接收原始消息;
9.08、客戶端確定所述原始消息對應(yīng)的鍵值信息;
9.10、客戶端將所述鍵值信息映射成數(shù)字信息作為輸入消息;
9.12、客戶端將所述鍵值信息進(jìn)行加密處理,得到加密的輸入消息;
9.14、客戶端將加密的輸入消息發(fā)送給所述服務(wù)提供設(shè)備;
9.16、服務(wù)提供設(shè)備對所述加密的輸入消息進(jìn)行解密,獲取解密的數(shù)字信息;
9.18、服務(wù)提供設(shè)備將解密的數(shù)字信息映射成鍵值信息;
9.20、服務(wù)提供設(shè)備將鍵值信息寫入所述虛擬輸入設(shè)備;
9.22、服務(wù)提供設(shè)備的虛擬輸入設(shè)備確定所述鍵值信息對應(yīng)的輸入事件;
9.24、服務(wù)提供設(shè)備的虛擬輸入設(shè)備將所述輸入事件分發(fā)給上層應(yīng)用或操作系統(tǒng)進(jìn)行響應(yīng)處理,生成對應(yīng)的響應(yīng)信息,包括響應(yīng)的TS流;
9.26、服務(wù)提供設(shè)備將響應(yīng)的TS流反饋給客戶端;
9.28、客戶端對響應(yīng)的TS流進(jìn)行解析,顯示響應(yīng)于所述輸入消息的UI界面。
本實施例中,服務(wù)提供設(shè)備的用戶界面可以為關(guān)于所有或部分已安裝應(yīng)用的用戶界面。
以用戶在客戶端中安裝APP為例,用戶通過輸入設(shè)備發(fā)出對客戶端顯示的用戶界面中的某一APP的安裝指令后,客戶端會獲取該安裝指令對應(yīng)原始消息通過映射、加密等生成加密的輸入消息發(fā)送給服務(wù)提供設(shè)備,服務(wù)提供設(shè)備對輸入消息界面、映射等處理后,響應(yīng)于該輸入消息獲取該APP的數(shù)據(jù)在服務(wù)提供設(shè)備端安裝并記錄相應(yīng)的APP信息,并將安裝過程 以及安裝完成對應(yīng)UI界面的TS流作為響應(yīng)信息反饋給客戶端進(jìn)行顯示。
又如用戶通過外置設(shè)備選擇開啟已安裝的某一游戲APP后,將對應(yīng)加密的輸入消息發(fā)送給服務(wù)提供設(shè)備后,服務(wù)提供設(shè)備響應(yīng)于該輸入消息會獲取啟動進(jìn)入APP相應(yīng)的UI緩存生成TS流作為響應(yīng)信息發(fā)送給客戶端顯示,后續(xù)對于客戶端發(fā)送的各種控制數(shù)據(jù),服務(wù)提供設(shè)備也會發(fā)送響應(yīng)控制數(shù)據(jù)的UI緩存對應(yīng)TS流,客戶端顯示響應(yīng)于用戶控制的UI界面。
因而,本申請的智能電視系統(tǒng)可以預(yù)先購買游戲、視頻等付費資源的應(yīng)用,并安裝在服務(wù)提供設(shè)備中,由服務(wù)提供設(shè)備向客戶端提供這些付費資源的服務(wù),從而用戶可以通過客戶端免費試用這些付費資源。
方法實施例
參照圖10,示出了本申請的一種應(yīng)用于服務(wù)提供設(shè)備的數(shù)據(jù)處理方法實施例一的步驟流程圖,具體可以包括如下步驟:
步驟1001、對用戶界面進(jìn)行編碼;
步驟1002、依據(jù)所述用戶界面的編碼結(jié)果生成對應(yīng)的傳輸流,并向所連接的客戶端推送所述傳輸流;
步驟1003、接收來自所述客戶端的輸入消息,并依據(jù)所述輸入消息進(jìn)行相應(yīng)的消息處理;其中,所述消息處理具體可以包括:對所述用戶界面進(jìn)行更新。
本實施例中,服務(wù)提供設(shè)備可以向所連接的客戶端推送用戶界面對應(yīng)的傳輸流,這使得客戶端可以對依據(jù)所述傳輸流解析得到的用戶界面進(jìn)行顯示;并且,服務(wù)提供設(shè)備還可以接收來自所述客戶端的、用戶通過遙控器、鼠標(biāo)等輸入裝置產(chǎn)生的輸入消息,并依據(jù)所述輸入消息對服務(wù)提供設(shè)備的用戶界面進(jìn)行更新;由于服務(wù)提供設(shè)備負(fù)責(zé)當(dāng)前輸入信息對應(yīng)用戶界面的獲取,而客戶端僅僅負(fù)責(zé)傳輸流的解析和用戶界面的顯示,因此,本實施例可以通過服務(wù)提供設(shè)備直接為客戶端提供智能電視服務(wù),這降低了對于機(jī)頂盒的性能要求,因此減少了對于機(jī)頂盒的維護(hù)操作,降低了智能電視服務(wù)對硬件資源的要求,同時節(jié)約了用戶購買或更新機(jī)頂盒所花費的成本。
在本申請的一種優(yōu)選實施例中,所述方法還可以包括:依據(jù)所述客戶端的多媒體播放請求獲取相應(yīng)的多媒體播放信息,并將所述多媒體播放信息反饋給所述客戶端。本優(yōu)選實施例中,服務(wù)提供設(shè)備采用TS流的形式向客戶端推送用戶界面,而向客戶端發(fā)送多媒體播放信息使得客戶端依據(jù)該多媒體播放信息獲取對應(yīng)的多媒體資源,對于客戶端而言,由于采用不同的方式獲取用戶界面和多媒體資源,因此能夠避免用戶界面和多媒體資源的沖突,從而能夠保證用戶界面的顯示質(zhì)量和多媒體資源的播放質(zhì)量。
參照圖11,示出了本申請的一種應(yīng)用于服務(wù)提供設(shè)備的數(shù)據(jù)處理方法實施例二的步驟流程圖,具體可以包括如下步驟:
步驟1101、對用戶界面進(jìn)行編碼;
步驟1102、依據(jù)所述用戶界面的編碼結(jié)果生成對應(yīng)的傳輸流,并向所連接的客戶端推送所述傳輸流;
步驟1103、接收來自所述客戶端的輸入消息,并依據(jù)所述輸入消息進(jìn)行相應(yīng)的消息處理;其中,所述消息處理具體可以包括:對所述用戶界面進(jìn)行更新;
步驟1104、將所述客戶端的登錄用戶對應(yīng)的用戶分區(qū)掛載到本地,并將所述登錄用戶產(chǎn)生的用戶數(shù)據(jù)寫入掛載后的用戶分區(qū)。
本實施例可以采用與用戶對應(yīng)的用戶分區(qū)來專門存儲用戶產(chǎn)生的用戶數(shù)據(jù),這些用戶分區(qū)獨立于服務(wù)提供設(shè)備的存儲空間,對于每個用戶分區(qū)而言,在其對應(yīng)用戶登錄后可以被掛載到服務(wù)提供設(shè)備之上,而在其對應(yīng)用戶未登錄時其可以與服務(wù)提供設(shè)備不具備掛載關(guān)系;由于每個用戶分區(qū)可以與用戶對應(yīng),這樣,無論用戶通過客戶端連接了哪個服務(wù)提供設(shè)備,連接的該個服務(wù)提供設(shè)備均可采用該用戶對應(yīng)的用戶分區(qū)來存儲該用戶采用的用戶數(shù)據(jù),也即該用戶分區(qū)可以存儲該用戶產(chǎn)生的所有歷史數(shù)據(jù),從而能夠滿足該用戶對于所有歷史數(shù)據(jù)的訪問需求。
在本申請的一種優(yōu)選實施例中,所述方法還可以包括:檢測掛載后的用戶分區(qū)中是否存在已安裝應(yīng)用的數(shù)據(jù)文件;在所述掛載后的用戶分區(qū)中不 存在所述已安裝應(yīng)用的數(shù)據(jù)文件時,將所述已安裝應(yīng)用的數(shù)據(jù)文件寫入所述掛載后的用戶分區(qū)。上述檢測掛載后的用戶分區(qū)和將所述已安裝應(yīng)用的數(shù)據(jù)文件寫入所述掛載后的用戶分區(qū)的操作,能夠?qū)崿F(xiàn)用戶分區(qū)中應(yīng)用的數(shù)據(jù)文件與服務(wù)提供設(shè)備中應(yīng)用的一致性,能夠確保掛載后的用戶分區(qū)中存在服務(wù)提供設(shè)備中所有已安裝應(yīng)用的數(shù)據(jù)文件,而某已安裝應(yīng)用的數(shù)據(jù)文件可用于存儲用戶在使用該已安裝應(yīng)用過程中產(chǎn)生的用戶數(shù)據(jù),因此,本優(yōu)選實施例可以滿足采用用戶分區(qū)存儲用戶在使用每個應(yīng)用程序過程中產(chǎn)生的用戶數(shù)據(jù)的需求。
在本申請的另一種優(yōu)選實施例中,所述方法還可以包括:所述方法還包括:檢測掛載后的用戶分區(qū)中是否存在已卸載應(yīng)用的數(shù)據(jù)文件;在所述掛載后的用戶分區(qū)中存在所述已卸載應(yīng)用的數(shù)據(jù)文件時,刪除所述掛載后的用戶分區(qū)中所述已卸載應(yīng)用的數(shù)據(jù)文件。上述檢測掛載后的用戶分區(qū)和刪除所述掛載后的用戶分區(qū)中所述已卸載應(yīng)用的數(shù)據(jù)文件的操作,能夠?qū)崿F(xiàn)用戶分區(qū)中應(yīng)用的數(shù)據(jù)文件與服務(wù)提供設(shè)備中應(yīng)用的一致性,能夠確保掛載后的用戶分區(qū)中不存在服務(wù)提供設(shè)備中已卸載應(yīng)用的數(shù)據(jù)文件,因此,本優(yōu)選實施例可以在節(jié)省用戶分區(qū)的存儲空間的前提下,滿足采用用戶分區(qū)存儲用戶在使用每個應(yīng)用程序過程中產(chǎn)生的用戶數(shù)據(jù)的需求。
參照圖12,示出了本申請的一種應(yīng)用于服務(wù)提供設(shè)備的數(shù)據(jù)處理方法實施例三的步驟流程圖,具體可以包括如下步驟:
步驟1201、對用戶界面進(jìn)行編碼;
步驟1202、依據(jù)所述用戶界面的編碼結(jié)果生成對應(yīng)的傳輸流,并向所連接的客戶端推送所述傳輸流;
步驟1203、接收來自所述客戶端的輸入消息,并依據(jù)所述輸入消息進(jìn)行相應(yīng)的消息處理;其中,所述消息處理具體可以包括:對所述用戶界面進(jìn)行更新;
步驟1204、配合服務(wù)器完成所述服務(wù)器對于服務(wù)提供設(shè)備的遠(yuǎn)程管理。
在具體實現(xiàn)中,所述服務(wù)器對服務(wù)提供設(shè)備的遠(yuǎn)程管理具體可以包括: 所述服務(wù)器對服務(wù)提供設(shè)備的應(yīng)用管理、所述服務(wù)器對服務(wù)提供設(shè)備的進(jìn)程清理和所述服務(wù)器對服務(wù)提供設(shè)備的心跳管理中的至少一種。
在本申請的一種優(yōu)選實施例中,所述配合服務(wù)器完成所述服務(wù)器對于服務(wù)提供設(shè)備的遠(yuǎn)程管理的步驟具體可以為,利用守護(hù)進(jìn)程,配合所述服務(wù)器完成所述服務(wù)器對于服務(wù)提供設(shè)備的遠(yuǎn)程管理。
在本申請的另一種優(yōu)選實施例中,所述服務(wù)器對服務(wù)提供設(shè)備的遠(yuǎn)程管理為所述服務(wù)器對服務(wù)提供設(shè)備的應(yīng)用管理,則所述方法還可以包括:在接收到來自所述服務(wù)器的更新指令后,依據(jù)所述更新指令中攜帶的待更新應(yīng)用信息更新服務(wù)提供設(shè)備中的應(yīng)用;其中,所述待更新應(yīng)用信息是由所述服務(wù)器依據(jù)所述服務(wù)提供設(shè)備中已安裝的應(yīng)用確定的。
參照圖13,示出了本申請的一種應(yīng)用于服務(wù)提供設(shè)備的數(shù)據(jù)處理方法實施例四的步驟流程圖,具體可以包括如下步驟:
步驟1301、在與客戶端建立加密連接后生成虛擬輸入設(shè)備;
步驟1302、對用戶界面進(jìn)行編碼;
步驟1303、依據(jù)所述用戶界面的編碼結(jié)果生成對應(yīng)的傳輸流,并向所連接的客戶端推送所述傳輸流;
步驟1304、接收來自所述客戶端的輸入消息,并依據(jù)所述輸入消息進(jìn)行相應(yīng)的消息處理;其中,所述消息處理具體可以包括:對所述用戶界面進(jìn)行更新;
所述依據(jù)所述輸入消息進(jìn)行相應(yīng)的消息處理的步驟1204具體可以包括:
步驟1341、接收所述客戶端發(fā)送的加密的輸入消息,對所述加密的輸入消息進(jìn)行解密;
步驟1342、將解密的輸入消息寫入所述虛擬輸入設(shè)備,由所述虛擬輸入設(shè)備對所述輸入消息對應(yīng)輸入事件進(jìn)行分發(fā),得到所述輸入消息的響應(yīng)信息。
本實施例中,服務(wù)提供設(shè)備可以與客戶端建立加密連接以保證數(shù)據(jù)傳輸?shù)陌踩?,而后生成虛擬輸入設(shè)備以模擬各種硬件的輸入消息,并且服務(wù) 提供設(shè)備在接收客戶端發(fā)送的加密的輸入消息后,對所述加密的輸入消息進(jìn)行解密,然后將解密的輸入消息寫入所述虛擬輸入設(shè)備,由所述虛擬輸入設(shè)備對所述輸入消息對應(yīng)輸入事件進(jìn)行分發(fā)以響應(yīng)所述輸入消息并將響應(yīng)信息反饋給客戶端,可擴(kuò)展性較高,處理過程比較簡單,且能夠通過服務(wù)提供設(shè)備實現(xiàn)快速、安全的對于輸入消息的響應(yīng)。
對于方法實施例而言,由于其與服務(wù)提供設(shè)備實施例基本相似,所以描述的比較簡單,相關(guān)之處參見服務(wù)提供設(shè)備實施例的部分說明即可。
需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請實施例并不受所描述的動作順序的限制,因為依據(jù)本申請實施例,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本申請實施例所必須的。
本說明書中的各個實施例均采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請實施例的實施例可提供為方法、裝置、或計算機(jī)程序產(chǎn)品。因此,本申請實施例可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請實施例可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。
在一個典型的配置中,所述計算機(jī)設(shè)備包括一個或多個處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。內(nèi)存可能包括計算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內(nèi)存是計算機(jī)可讀介質(zhì)的示例。計算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體 可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機(jī)的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲器(SRAM)、動態(tài)隨機(jī)存取存儲器(DRAM)、其他類型的隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被服務(wù)提供設(shè)備訪問的信息。按照本文中的界定,計算機(jī)可讀介質(zhì)不包括非持續(xù)性的電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
本申請實施例是參照根據(jù)本申請實施例的方法、終端設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本申請實施例的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦 得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本申請實施例范圍的所有變更和修改。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。
以上對本申請所提供的一種服務(wù)提供設(shè)備、一種應(yīng)用于服務(wù)提供設(shè)備的數(shù)據(jù)處理方法和一種智能電視系統(tǒng),進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本申請的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。