本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種界面排版的更新方法。
背景技術(shù):
隨著基于android系統(tǒng)的互聯(lián)網(wǎng)智能電視的普及,電視界面可以不再是一成不變的樣子,通過用戶的喜好,可以為用戶展現(xiàn)多樣的電視界面。
而一般的智能電視界面都是開發(fā)時已經(jīng)設(shè)計完成,只能根據(jù)已有的排版樣子替換不同的內(nèi)容,并不能修改排版樣式。也就是說,只能是在固定界面排版的情況下,替換界面上面的圖片和文字,實現(xiàn)修改界面內(nèi)容的方法。不能實時更新界面的排版樣式。
基于此,業(yè)內(nèi)對于動態(tài)更新智能電視界面提供了一種通過訪問服務(wù)器根據(jù)參數(shù)單獨請求每個界面的數(shù)據(jù)并緩存到電視存儲空間中,然后根據(jù)數(shù)據(jù)刷新界面的方式。此方式的弊端在于刷新的數(shù)據(jù)都是根據(jù)參數(shù)請求以數(shù)據(jù)流方式返回的,電視端無法進(jìn)行校驗數(shù)據(jù)的完整性和正確性,如果數(shù)據(jù)出現(xiàn)問題會導(dǎo)致電視端無法刷新顯示界面,甚至造成電視無法正常使用。并且,采用這種方法需要電視端不斷的去訪問服務(wù)器,每當(dāng)進(jìn)行頁面切換時都要檢查是否有頁面刷新數(shù)據(jù),也造成了很大的網(wǎng)絡(luò)壓力,在網(wǎng)絡(luò)狀況不好的時候,會導(dǎo)致界面無法正常加載顯示,影響用戶的正常使用。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種界面排版的更新方法,解決了當(dāng)前界面排版更新不及時,服務(wù)器只針對單獨頁面的數(shù)據(jù)請求以數(shù)據(jù)流方式傳送界面數(shù)據(jù),無法進(jìn)行數(shù)據(jù)校的問題,通過打包整體界面數(shù)據(jù),以數(shù)據(jù)包形式進(jìn)行傳送各個頁面的界面排版數(shù)據(jù),從而得以進(jìn)行數(shù)據(jù)完整性校驗,同時降低了對服務(wù)器的訪問頻次,提高了視音頻終端工作的穩(wěn)定性。
為實現(xiàn)上述目的,本發(fā)明提供了一種界面排版的更新方法,包括:
服務(wù)器接收視音頻終端通過網(wǎng)絡(luò)接口發(fā)送的數(shù)據(jù)包請求信息;所述數(shù)據(jù)包請求信息包括所述視音頻終端的設(shè)備id和所述視音頻終端當(dāng)前的界面排版數(shù)據(jù)的當(dāng)前版本信息;所述界面排版數(shù)據(jù)包括各個頁面的排版數(shù)據(jù);
根據(jù)所述設(shè)備id確定所述設(shè)備信息,根據(jù)所述設(shè)備信息獲取與所述設(shè)備信息相對應(yīng)的界面排版數(shù)據(jù)的最新版本信息,并根據(jù)所述最新版本信息與當(dāng)前版本信息確定生成更新確認(rèn)信息或者更新拒絕信息;
當(dāng)生成所述更新確認(rèn)信息時,所述服務(wù)器將所述更新確認(rèn)信息和所述最新版本信息對應(yīng)的界面排板數(shù)據(jù)的升級包發(fā)送給所述視音頻終端,用以所述視音頻終端根據(jù)所述升級包得到更新的界面排版數(shù)據(jù),并根據(jù)所述更新后的界面排版數(shù)據(jù)渲染所述視音頻終端的界面;其中,所述升級包包括數(shù)據(jù)包和數(shù)據(jù)校驗值。
優(yōu)選的,所述方法還包括:
接收并存儲管理終端發(fā)送的界面排版數(shù)據(jù);所述界面排版數(shù)據(jù)包括版本信息。
優(yōu)選的,所述方法還包括:
接收并存儲管理終端發(fā)送的界面排版數(shù)據(jù);
對所述接收到的界面排版數(shù)據(jù)生成版本信息。
優(yōu)選的,當(dāng)生成所述更新拒絕信息時,,所述方法還包括:
將所述更新拒絕信息發(fā)送給所述視音頻終端。
優(yōu)選的,所述視音頻終端根據(jù)所述升級包得到更新的界面排版數(shù)據(jù)具體包括:
所述視音頻終端將所述數(shù)據(jù)包存儲在所述視音頻終端的存儲器中;
計算所述數(shù)據(jù)包的md5值;
根據(jù)所述數(shù)據(jù)校驗值與所述md5值進(jìn)行所述數(shù)據(jù)包的完整性校驗;
當(dāng)校驗通過時,根據(jù)指定目錄的路徑信息,將所述數(shù)據(jù)包解壓縮到所述指定目錄下,更新存儲的界面排版數(shù)據(jù);
由所述指定目錄獲取所述更新后的所述界面排版數(shù)據(jù)。
本發(fā)明實施例提供的界面排版的更新方法,通過打包整體界面數(shù)據(jù),以數(shù)據(jù)包形式進(jìn)行傳送各個頁面的界面排版數(shù)據(jù),從而得以進(jìn)行數(shù)據(jù)完整性校驗,同時降低了對服務(wù)器的訪問頻次,提高了視音頻終端工作的穩(wěn)定性。
附圖說明
圖1為本發(fā)明實施例提供的界面排版的更新方法的流程圖。
具體實施方式
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
本發(fā)明實施例提供的界面排版的更新方法,主要應(yīng)用于與視音頻終端進(jìn)行通信的服務(wù)器中。本發(fā)明中的視音頻終端主要是指基于android系統(tǒng)的互聯(lián)網(wǎng)智能電視等視音頻播放設(shè)備。
圖1為本發(fā)明實施例提供的界面排版的更新方法的流程圖,在此流程中,技術(shù)方案的執(zhí)行主體為與視音頻終端進(jìn)行通信的服務(wù)器。本實施例提供的界面排版的更新方法流程如圖1所示,主要包括如下步驟:
步驟110,服務(wù)器接收視音頻終端通過網(wǎng)絡(luò)接口發(fā)送的數(shù)據(jù)包請求信息;
具體的,數(shù)據(jù)包請求信息包括視音頻終端的設(shè)備id和視音頻終端當(dāng)前的界面排版數(shù)據(jù)的當(dāng)前版本信息;其中,界面排版數(shù)據(jù)包括各個頁面的排版數(shù)據(jù)。
在視音頻終端一側(cè),發(fā)送數(shù)據(jù)包請求的觸發(fā)條件可以有多種。比如可以是基于用戶操作發(fā)起的,或者是基于一定的預(yù)設(shè)規(guī)則發(fā)起的。
基于用戶操作發(fā)起的觸發(fā)條件可以是視音頻終端接收用戶輸入的遙控指令,其中遙控指令可以是視音頻終端的開啟操作,或者是某一功能的啟動操作,通過對遙控指令進(jìn)行解析確定用戶操作,并生成數(shù)據(jù)包請求信息。
基于觸發(fā)條件可以包括根據(jù)預(yù)設(shè)規(guī)則,通過網(wǎng)絡(luò)接口向服務(wù)器發(fā)送數(shù)據(jù)包請求信息;其中,預(yù)設(shè)規(guī)則可以包括預(yù)設(shè)時間、預(yù)設(shè)時間間隔等等。
步驟120,根據(jù)設(shè)備id確定設(shè)備信息,根據(jù)設(shè)備信息獲取與設(shè)備信息相對應(yīng)的界面排版數(shù)據(jù)的最新版本信息,并根據(jù)最新版本信息與當(dāng)前版本信息確定生成更新確認(rèn)信息或者更新拒絕信息。
具體的,這里所說的設(shè)備信息,是指視音頻終端的設(shè)備信息。
界面排版數(shù)據(jù)可以是根據(jù)不同設(shè)備型號進(jìn)行開發(fā)的數(shù)據(jù),可以根據(jù)設(shè)備id對應(yīng)到設(shè)備型號,也可以在設(shè)備id中直接包含有設(shè)備型號的信息。
在服務(wù)器中,存儲有針對不同設(shè)備型號的界面排版數(shù)據(jù),可能僅保留最新版本,也可能同時保留多個版本。服務(wù)器中的界面排版數(shù)據(jù),是以數(shù)據(jù)包形式進(jìn)行存儲的。
在具體的實現(xiàn)過程中,界面排版數(shù)據(jù)的數(shù)據(jù)包管理終端發(fā)送至服務(wù)器病進(jìn)行存儲。數(shù)據(jù)包中界面排版數(shù)據(jù)的版本信息,可以是管理終端側(cè)的管理員用戶在進(jìn)行數(shù)據(jù)開發(fā)或者數(shù)據(jù)上傳的時候規(guī)定寫入的,也可以是服務(wù)器根據(jù)接收到的界面排版數(shù)據(jù)的時間自動生成的。具體的機制可以通過預(yù)先規(guī)定設(shè)置來確定。
服務(wù)器根據(jù)設(shè)備id進(jìn)行對應(yīng)查詢,查詢得到服務(wù)器中存儲的界面排版數(shù)據(jù)的最新版本。
如果最新版本與當(dāng)前版本是一致的,那么就說明無需進(jìn)行數(shù)據(jù)更新,此時生成更新拒絕信息,繼續(xù)執(zhí)行后續(xù)步驟130;
如果最新版本比當(dāng)前版本更新,則說明需要進(jìn)行數(shù)據(jù)更新,此時生成更新確認(rèn)信息,繼續(xù)執(zhí)行后序步驟140。在更新確認(rèn)信息中,可以包括有最新版本的信息。
步驟130,當(dāng)生成更新拒絕信息時,將更新拒絕信息發(fā)送給視音頻終端。
視音頻終端在接收到服務(wù)器根據(jù)版本信息發(fā)送的更新拒絕信息時,直接從本地獲取界面排版數(shù)據(jù)。具體可依由指定目錄獲取視音頻終端當(dāng)前的界面排版數(shù)據(jù);然后根據(jù)界面排版數(shù)據(jù)渲染視音頻終端的界面。
步驟140,當(dāng)生成更新確認(rèn)信息時,服務(wù)器將更新確認(rèn)信息和最新版本信息對應(yīng)的界面排板數(shù)據(jù)的升級包發(fā)送給視音頻終端,用以視音頻終端根據(jù)所述升級包得到更新的界面排版數(shù)據(jù),并根據(jù)更新后的界面排版數(shù)據(jù)渲染視音頻終端的界面;
其中,升級包包括數(shù)據(jù)包和數(shù)據(jù)校驗值,數(shù)據(jù)包中為界面排版數(shù)據(jù)。
視音頻終端在接收到升級包之后,首先進(jìn)行數(shù)據(jù)解析,得到數(shù)據(jù)包和數(shù)據(jù)校驗值。這里說的數(shù)據(jù)校驗值優(yōu)選為md5值。
md5即message-digestalgorithm5,也稱為信息-摘要算法5,為計算機安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護,確保信息傳輸完整一致。
md5值就像是一個文件的“數(shù)字指紋”。每個文件的md5值是不同的,如果任何人對文件做了任何改動,其md5值也就是對應(yīng)的“數(shù)字指紋”就會發(fā)生變化。比如下載服務(wù)器針對一個文件預(yù)先提供一個md5值,用戶下載完該文件后,用這個算法重新計算下載文件的md5值,通過比較這兩個值是否相同,就能判斷下載的文件是否出錯,或者說下載的文件是否被篡改了。
視音頻終端將數(shù)據(jù)包存儲在視音頻終端的存儲器中,并且將解析得到的md5值寫入視音頻終端的data分區(qū)并存儲為第一md5值。
android上主要有六個分區(qū):cache,misc,recovery,boot,system,data。
其中,boot分區(qū)上有android的引導(dǎo)程序,包括內(nèi)核和內(nèi)存操作程序。沒有這個分區(qū)設(shè)備就不能被引導(dǎo)?;謴?fù)系統(tǒng)的時候會擦除這個分區(qū),并且必須重新安裝引導(dǎo)程序和rom才能重啟系統(tǒng)。
system分區(qū)上是除了內(nèi)核和內(nèi)存操作之外的整個操作系統(tǒng),里面包含了android用戶接口和預(yù)先安裝的系統(tǒng)應(yīng)用。
recovery分區(qū)被認(rèn)為是另一個啟動分區(qū),啟動設(shè)備進(jìn)入recovery控制臺可以去執(zhí)行高級的系統(tǒng)恢復(fù)和管理操作。
data分區(qū)保存著用戶數(shù)據(jù)。通訊錄、短信、設(shè)置和安裝的apps都在這個分區(qū)上。擦除這個分區(qū)相當(dāng)于恢復(fù)出廠設(shè)置,當(dāng)?shù)谝淮螁釉O(shè)備的時候或者在安裝了官方或者客戶的rom之后系統(tǒng)會自動重建這個分區(qū)。當(dāng)執(zhí)行恢復(fù)出廠設(shè)置時,就是在擦除這個分區(qū)。
cache分區(qū)是android系統(tǒng)存儲頻繁訪問的數(shù)據(jù)和app的地方。cache是緩存空間,程序和系統(tǒng)用到的緩存數(shù)據(jù)和指令就存放在這里。擦除這個分區(qū)不會影響個人數(shù)據(jù),當(dāng)你繼續(xù)使用設(shè)備時,被擦除的數(shù)據(jù)就會自動被創(chuàng)建。
misc分區(qū)包含各種復(fù)雜的類似于on/off的系統(tǒng)設(shè)置。這些設(shè)置可能是usb配置和某些硬件配置信息。該分區(qū)中有啟動加載控制模塊(bootloadercontrolblock,bcb),主要是用于存放recovery引導(dǎo)信息。
視音頻終端將服務(wù)器下發(fā)的升級數(shù)據(jù)包的md5值存儲到data分區(qū)。為了便于區(qū)分,將存儲的值稱為第一md5值。
隨后,計算數(shù)據(jù)包的md5值,并從data分區(qū)獲取所存的第一md5值,確定計算得到的md5值與第一md5值是否一致,即通過數(shù)據(jù)校驗值與md5值進(jìn)行所述數(shù)據(jù)包的完整性校驗。當(dāng)為一致時,校驗通過。否則校驗失敗。
當(dāng)校驗通過時,根據(jù)指定目錄的路徑信息,將數(shù)據(jù)包解壓縮到指定目錄下,更新存儲的界面排版數(shù)據(jù),然后調(diào)用刷新程序,從指定目錄獲取更新后的界面排版數(shù)據(jù),并根據(jù)更新后的界面排版數(shù)據(jù)渲染視音頻終端的界面。
本發(fā)明實施例提供的界面排版的更新方法,解決了當(dāng)前界面排版更新不及時,服務(wù)器只針對單獨頁面的數(shù)據(jù)請求以數(shù)據(jù)流方式傳送界面數(shù)據(jù),無法進(jìn)行數(shù)據(jù)校的問題,通過打包整體界面數(shù)據(jù),以數(shù)據(jù)包形式進(jìn)行傳送各個頁面的界面排版數(shù)據(jù),從而得以進(jìn)行數(shù)據(jù)完整性校驗,同時降低了對服務(wù)器的訪問頻次,提高了視音頻終端工作的穩(wěn)定性。
專業(yè)人員應(yīng)該還可以進(jìn)一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(ram)、內(nèi)存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動磁盤、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
以上所述的具體實施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施方式而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。