定義
定義數據廣播是把數據化的音頻、視頻、圖像、動畫、軟體包括以及計算機檔案等各種數據信息通過數位電視廣播信道以"推送"(push)的方式傳輸的用戶的數位電視機頂盒、數位電視接收機、個人電腦(pc)以及移動設備等智慧型設備的一類新型業務。
簡介
數據廣播的技術實現方式是使用單一的系統前端(Headend),連續、滾動地將已編輯整理好的內容,經過信息傳輸網路,傳送到地域廣泛的、能夠處理這些56 ST數據的用戶智慧型設備上去,如:PC、機頂以及手提設備等。信息內容則是由視頻、音頻、軟體程式、流式數據或者其他數字多媒體組成的。
數據廣播實質上就是傳統廣播媒體一報紙、電台、電視在數字時代的一次升級,保持了廣播高速和經濟(客群面廣)的特點,而且全無網際網路缺乏CoS(服務等級)、QoS(服務質量)和安全的問題,成為一種高效率的數字信息傳輸手段。
業界對該技術的前景有一種預言:數據廣播將會被嵌入和包容進未來的網際網路中,並且成為其最大的單一領域。可以確信直到那時,數字媒體才擁有點對點和點對多點兩種方式,才具有真正意義上的完整性。正如網際網路的出現充實了信息傳輸方式一樣。數據廣播的發展也會是信息傳輸技術的另一場革新。
數據廣播適應了數字裝置不斷擴張的處理能力和Internet提供的基礎設施資源,並可以與電視等多種媒體融合,這些跨媒體的立體信息傳輸業務非常適應於企業信息化的需求。在企業信息化建設中會得到更廣泛的套用。
衛星
衛星數據廣播是數據廣播的一種重要形式。它與衛星電視廣播的區別是:前者用電腦接收。後者用電視機接收。電腦具有比電視機更靈活的功能,它可以處理和存儲數據。
高速衛星數據廣播:
Internet用戶對頻寬通道的渴求,代表了對推送方式傳送或數據廣播的巨大需求。高功率直播衛星電視的成功和Internet推送技術的出現,刺激了衛星數據廣播的迅速發展。
高速數據廣播系統技術已趨於成熟,衛星數據廣播可提供2M~45Mb/s的速率。網路的可管理性、大容量的數據備份系統(可為用戶提供1G~40G的存儲備份)和異地備份吸引了世界上許多大公司在世界範圍內開始實驗網的建設。具有142個成員國的世界上最大的商業衛星組織Intelsat,於1999年4月初開始衛星網際網路多播試驗,試驗通過Intelsat 603衛星不斷地把最新的Internet內容進行快取,然後通過衛星把它廣播到世界各地相應的ISP衛星接收器中。這意味著ISP可以利用衛星連線得到非常高的頻寬,花費較小的費用,快速地瀏覽國際網站,而且傳輸成本低,每Bit傳輸費用比固定線路少30%。
在我國,高速數據廣播還只是一個概念,但蘊涵著強大的生命力。未來網路發展的總體趨勢是以IP為基礎的多種寬頻、多媒體網路的融合。衛星通信將在這一網路大家庭中扮演自己應有的角色。
衛星數據廣播以衛星通信為載體,包容了衛星通信的基本特點。
1 通信距離遠,覆蓋範圍廣
一顆衛星的波束覆蓋範圍可達幾千公里。可隨時隨地提供通信服務。企業數據上了衛星數據廣播,可以輕鬆地到達全國各地,並且做到同時同質。
2 無地理條件限制
對於沙漠、高原、高山、海島等鋪設地面線路困難且成本較高的地區,通過衛星方式可便捷地實現數據業務傳輸。
3 快速服務
與鋪設光纜等地面通信線路所耗費的時間相比,衛星數據業務方式能夠在極短的時間內完成相關工程與調試,為用戶提供服務。
4 費用與通信距離無關
與地面通信線路相區別,衛星數據業務的服務費用與傳輸距離無關,因此對於較偏遠地區及地面線路效果差的地區,採用衛星數據業務方式可以節省通信費用。
數據廣播是一項基於電視、衛星網路上實現的廣播式寬頻數據傳輸系統。 較實用的數據廣播系統主要分為以下三類:
VBI數據廣播:利用電視逆程,通過衛星、微波或有線電視進入千家萬戶,最大傳輸速度約180Kbps,目前已在證券行情信息傳輸、公眾多媒體信息傳輸等方面獲得廣泛套用。
DVB數據廣播:按傳輸介質不同,分為DVB-S、DVB-C、DVB-T,分別通過衛星、有線電視或地面廣播進入千家萬戶,傳輸速度為56~90Mbps,主要用於數字視音頻廣播、寬頻數據廣播 、現代遠程教育等領域。
DAMB數據廣播:通過L波段衛星傳播,利用光碟大小的天線,無需精確調整方向即可接收數據。每顆衛星提供了多達72路128Kbps的可移動的數據廣播及數字音頻服務,世廣"亞洲之星"、"非洲之星"、"美洲之星"覆蓋全球85%人口。
相關資料
它是廣播電視技術從模擬時代發展到數字時代的產物。從數位化的角度而言,數字音頻/視頻與數據無本質的區別,都是二進制數"0"、"1"表示,從技術的角度來看,數據廣播是數位電視廣播和網際網路相互融合的產物。
電視數據廣播包括與節目相關數據和與電視節目無關的數據。
與電視機節目相關的數據將隨節目一起傳送。這種數據又兩種,一類是電子節目指南(EPG),描述節目的播出時間、電影內容簡介、電影演員介紹等。電子界目指南幫助觀眾方便快速的尋找自己感興趣的節目;另一類是與節目內容相關的數據,如與足球比賽有關的雙方球隊戰績、球員的個人背景資料等。觀眾根據自己的需要選出某些與節目有關的數據。
與電視節目無關的數據'可以是遊戲、軟體、圖片、各種網站上下載的信息、股票信息、電子報紙等。用戶可主動的從數位電視廣播信號中找到需要的信息。數據廣播是電視台擴大業務範圍、增加服務收入的重要方面之一。
方案的最佳化
在伺服器組的架構下,我們一般會引入一個網關伺服器,或類似功能的組件,所有的客戶端連線都是到這裡,數據然後轉發給當前所在的地圖伺服器。
這 樣,在數據廣播時便存在一個很大的最佳化可能性。以前的單伺服器架構時,比如要廣播移動訊息,可以直接找出周圍的玩家列表,構造要傳送的數據,然後依次調用 send即可。但是在多伺服器架構下要是還這么做的話,那地圖伺服器與網關伺服器之間的數據傳輸量將會非常大,而且這些數據之間除了目標IP位址不一樣 外,實際內容完全相同。
其實在以前單伺服器架構時就曾考慮過該最佳化方案。最初使用的立即傳送數據包的方式在遇到需要同時傳送大量數據時出 現了問題,為了避免由於在邏輯執行緒內的send調用導致的遊戲邏輯被阻塞,我們將數據傳送工作放到了一個獨立的執行緒中,遊戲邏輯執行緒在需要向客戶端傳送數 據時,只是將要傳送的數據包和客戶端連線句柄遞交給了發包執行緒。這個過程也就和帶網關的多伺服器架構完全類似了。
當時也是為了避免給發包執行緒遞交太多的請求,因為每個發包請求都需要拷貝一次數據包並添加到傳送佇列中,顯而易見的弊端就是數據多次拷貝的CPU消耗和佇列中存在多份數據的記憶體消耗,所以最佳化的必要性非常高。
最終採取的方案是只遞交一次發包請求,在請求包裡面包含了這個數據包要傳送到的客戶端句柄列表,這樣數據完全不需要做拷貝,而且記憶體占用也只有一份。
放到多伺服器架構下也可以這樣做,區別僅在於發包請求是傳送給了網關伺服器。
以前的方案只做到了這一步,再繼續考慮一下,其實還有進一步最佳化的可能。
拿 比較簡單的聊天數據包來說,比如在一個小組頻道內聊天,伺服器在廣播此類數據包時,每次遞交的發包請求中的客戶端句柄列表都是相同的,除非隊員發生變動。 所以,可以考慮的是這個列表其實不用每次都傳送。通過控制命令在網關伺服器上先建立好這些廣播組,以後廣播數據時只需要指明廣播組編號即可。在雲風的《游 戲伺服器內的組播》一文中對此有介紹。
這裡的組我們也可以稱之為頻道,比如小組頻道,團隊頻道,公會頻道,世界頻道,本地頻道,當前頻道等,當然還可能會有自建的頻道,每個頻道有一個唯一ID。不同玩家間的當前頻道需要獨立,但其他頻道可以共用。
關 於當前頻道需要特別說明一下。這裡的當前頻道指的是以玩家當前所在位置為中心點的一個可見範圍,也就是當玩家移動,或者說話時需要廣播到的範圍。因為玩家 位置是經常會變動的,所以這個頻道內的玩家列表變動也非常頻繁,而且不同玩家間的當前頻道不能像小組頻道一樣進行共用。
這個方案對於玩家列表變動不頻繁的組隊聊天這類情況很有效,但是對於玩家列表會頻繁變動的當前頻道廣播卻有些麻煩,維護這類頻道會使得地圖伺服器與網關伺服器之間的頻道成員管理命令非常頻繁。
但是這裡也有個選擇,一是在頻道成員發生變化時立即向網關伺服器通知變動,另外一種做法是只在有頻道數據要遞交時才檢查有無成員變動。
比如一個玩家坐著沒有動,不停有玩家從其旁邊經過,這時他的當前頻道玩家列表是不斷變化的,但如果該玩家不做任何操作,比如移動和在當前頻道聊天,這個變動情況其實是不需要反饋到網關伺服器的,因為不會有這個頻道內的數據需要廣播。
當然,如果這樣做的話,可能就需要在地圖伺服器上也保留兩份當前頻道玩家列表,用於比較該列表的變動情況,這也就是要在記憶體占用和網路數據傳輸量上做個權衡。雖然未經實踐驗證,目前來說我還是比較傾向於後一種方案。