摘要:本系統基于http的網絡協議,完成了機頂盒和服務器之間C/S結構的交互式網絡升級功能。作為客戶端的機頂盒Loader軟件連接服務器,向服務器請求升級文件并下載。升級完成后機頂盒會上報升級信息;同時針對生產車間的批量升級和用戶的遠程升級的特點,完成了兩種網絡升級模式。
關鍵詞:機頂盒;交互式;網絡升級;http
中圖分類號:TP311.52文獻標識碼:A文章編號:1674-7712 (2014) 08-0000-01
隨著網絡相關功能增強,網絡服務已經是數字電視具備的基本功能。但是在數字電視行業,網絡升級功能還沒有大規模發展。網絡升級對比ota或本地升級方式的優勢是方便的和服務器進行信息交互,這樣可以提交更多的升級信息、升級狀態到服務器,以便管理員監控和了解升級的情況。本文在數字電視機頂盒平臺上設計了一種交互式的靈活,快捷,方便的網絡升級功能。
一、C/S結構網絡升級功能的實現
本系統的升級功能基于http的網絡協議,完成了C/S結構的網絡升級功能。客戶端是機頂盒完成升級功能的Loader軟件。Loader連接服務器,向服務器請求升級文件并下載,完成升級后上報升級信息;在PC上搭建網絡升級服務器,提供web服務器和網絡空間,和客戶端交換數據,配合完成升級功能,本文主要描述機頂盒端的實現方法。
為了將機頂盒端的網絡升級功能針對不同的場景分為工廠模式和遠程模式:工廠模式主要使用在出廠前進行批量機頂盒升級。這種模式下,服務端和客戶端都在臨時搭建的局域網內部,可以同時進行多臺機頂盒升級,方便服務部門進行高效升級操作;遠程模式主要針對已經下發到用戶的產品。在這種模式下,升級服務端搭建在公共網絡上,機頂盒直接按照預置的域名訪問服務端進行軟件升級。
工廠模式下,Loader需要首先獲取到局域網中升級服務器的地址信息并配置自身網絡環境。為了提高升級速度,在服務器端搭建建立了DHCP服務器來解決這個問題。
DHCP服務器可以給內部網絡或網絡服務供應商自動分配IP地址,同時還可以為客戶端提供其他的配置信息,比如子網掩碼。這使得客戶端無需用戶動手就能自動配置連接網絡。
為了防止在局域網內有其他DHCP服務器提供服務,系統使用option60字段作為loader軟件選擇IP的判斷依據。Option60字段設置為“hs_loader”。Loader軟件只有收到帶option60且值為“hs_loader”的DHCP offer信息,才會選擇此DHCP服務器。同時,通過域名選項(option15)描述了升級服務器的url地址。Loader升級軟件獲取到IP地址后,根據option15字段內容,就可以得到服務器url地址,最終連接到升級服務器。
Loader接收數據并完成升級后,需要給DHCP服務器發送釋放IP的協議報文,這樣DHCP服務器就可以把此IP回收,并準備分配給其他進行請求的客戶端。因此工廠模式下,可以滿足多臺數字電視終端連續的升級需求。
在遠程模式下,Loader軟件只需要使用自己的網絡配置,并根據預置的域名就可以直接連接到升級服務器。
Loader軟件在以上兩種模式下,成功獲取升級服務器地址后,就開始和升級服務器交互信息,準備開始升級。具體交互流程基本分為以下步驟:
步驟一:loader軟件根據想升級服務器發送升級請求,同時將自己的版本信息傳送給服務器。
步驟二:服務器根據管理員的版本配置,對比接收到的終端版本信息,判斷是否升級。如果不符合升級條件,告知客戶端請求失敗。如果符合升級條件,將符合升級條件的升級文件路徑傳給客戶端。
步驟三:loader軟件從客戶端接收到步驟二的反饋,如果請求失敗,則停止升級;如果成功且有升級文件路徑,則按照升級路徑去獲取升級文件
步驟四:loader軟件接收升級文件后,開始執行升級流程。
步驟五:升級結束后,再向服務器提交升級成功的信息,同時再次將自己的版本信息上報給服務器
步驟六:服務器接收到上報信息后,將接收的上報信息結果反饋給終端,同時將信息記錄到數據庫,供用戶查詢。
以上每個步驟都需要進行網絡數據的交互,本系統中loader軟件使用了curl命令來完成網絡信令的交互和升級文件的接收。Curl命令有很多參數,它支持很多協議和方法,可以很好的完成本系統的需求。
二、結束語
本方案利用和擴展現有的網絡協議,實現了通過網絡的數據校驗和下載功能,同時充分體現了網絡交互特性,完成了信息上報,升級信息查詢等功能。目前廣電的數字電視業務正在接收網絡機頂盒產品的嚴峻挑戰,實現良好體驗的網絡升級功能會充分提升數字電視產品的競爭力。
參考文獻:
[1]tr069標準 Technical Report-069.
[2]中國電信IPTV規范:機頂盒與IPTV業務運營平臺接口技術規范[Z].上海:中國電信上海公司,2005.
[3]廖洪濤.數字電視交互系統中間件[M].北京:中國廣播電視出版社,2005:48-60.
[4]ETSI TS 102 006 V1.3.2,Digital Video Broadcasting(DVB)Specification for System Software Update in DVB Systems[S].FRANCE:ETSI,2008(07).