常奕
摘 要:數(shù)字告示系統(tǒng)作為新興的廣告產(chǎn)業(yè),引起了人們的普遍重視,在本文中,系統(tǒng)特別強化了系統(tǒng)模塊獨立性,提高模塊的獨立性和擴展性,盡量減少模塊間耦合度。優(yōu)化通訊方式,播放終端作為遠程獨立運行的設備,能夠有效地保障終端的工作、運行和數(shù)據(jù)管理。
關(guān)鍵詞:獨立模塊;系統(tǒng)通訊
1 系統(tǒng)框架
在整個系統(tǒng)框架的設計中,按照功能分成獨立模塊,盡量減少模塊間耦合度,提高模塊的獨立性和擴展性。各個模塊間采用統(tǒng)一的基礎(chǔ)平臺模塊和消息交換模塊?;A(chǔ)平臺為各個模塊編程提供操作系統(tǒng)所需的基礎(chǔ)函數(shù)封裝,對模塊進行操作系統(tǒng)細節(jié)屏蔽。消息通訊接口為各個模塊提供統(tǒng)一的消息收發(fā)機制,實現(xiàn)模塊間跨線程、進程、設備間、線程與內(nèi)核間通訊,以屏蔽各個模塊所在位置細節(jié)。
播放終端按照功能可以分為下面這些模塊。
2 系統(tǒng)通訊
系統(tǒng)內(nèi)的消息通訊由消息交換模塊負責,是整個系統(tǒng)的核心模塊,可以實現(xiàn)跨線程、進程、設備間、線程與內(nèi)核虛擬設備間通訊,為各個模塊實現(xiàn)一個統(tǒng)一的消息收發(fā)接口。這樣模塊主線程所有的處理都可以以消息為基礎(chǔ)進行統(tǒng)一設計。消息發(fā)送可以支持同步與異步的RPC方式通訊,但為簡化設計,僅支持雙向信息可靠(不可靠)IPC通訊。消息中可攜帶的數(shù)據(jù)一般最好不能超過128KB限制。消息通訊只用于控制信令傳輸,而對于流數(shù)據(jù)收發(fā),則由其他方式來實現(xiàn)。整個消息交換的架構(gòu)類似于軟件交換機,模塊+設備ID來唯一表示一個通訊node就如MAC地址,每個設備內(nèi)部都有一個消息交換中心,以支持設備內(nèi)模塊間線程、進程間的消息交換。在需要支持分布式設備間通訊時,需要由核心設備作為上一級交換中心,以實現(xiàn)消息的跨設備通訊。
收發(fā)模塊:收發(fā)模塊實際可以拆分成接收模塊和發(fā)送模塊。發(fā)送模塊可以擴展支持同步與異步的RPC通訊方式。
消息頭一般為8個ULONG長度(cache line長度),如簡單定義為:(圖3)
在線程間通訊時,只需要發(fā)送消息頭即可,而在進程間通訊時需要發(fā)送消息頭和消息內(nèi)攜帶的數(shù)據(jù)。
3 統(tǒng)一通訊模塊
播放終端作為遠程獨立運行的設備,需要和控制服務器進行通訊才能正常工作。一方面,根據(jù)終端安裝現(xiàn)場的具體情況,通訊可能通過以太網(wǎng)、WIFI、GPRS、3G等不同的通訊方式進行,另一方面,終端使用公共網(wǎng)絡,從安全性考慮必須對通訊數(shù)據(jù)進行保護。
統(tǒng)一通訊模塊負責根據(jù)終端的配置,選擇合適的通訊方式與服務器建立連接。一開始,統(tǒng)一通訊模塊只允許注冊模塊與服務器進行通訊,其他模塊如果有請求的都會被拒絕。等注冊模塊完成設備注冊后,才允許其他模塊與服務器進行通訊。其他模塊需要與服務器通訊時,將請求發(fā)送給通訊模塊,由通訊模塊對數(shù)據(jù)進行加密后發(fā)送給服務器。服務器將數(shù)據(jù)發(fā)送給終端的某個模塊時,也是將數(shù)據(jù)加密后發(fā)送給通訊模塊,通訊模塊處理后再轉(zhuǎn)發(fā)給指定的模塊。
4 注冊?;钅K
在整個系統(tǒng)中,同時有非常多的播放終端同時工作,終端與服務器通訊,必須有自己的唯一標識。接入服務器的終端必須是經(jīng)過認證的。如果由于業(yè)務需求,終端與服務器之間長期沒有通訊請求,那么即使終端和服務器之間的通訊線路失效了,服務器也無法知道,等到需要使用時才會發(fā)現(xiàn)無法連接。
這個模塊保存了本播放終端的唯一ID,當通訊模塊建立了與服務器的連接通道后,將唯一ID與注冊請求發(fā)送給服務器,服務器認可本終端后,回應注冊完成報文。然后注冊模塊通知統(tǒng)一通訊模塊可以接受其他模塊的發(fā)送請求,整個系統(tǒng)與服務器之間的通訊完全初始化成功。隨后,本模塊定時向服務器發(fā)送?;钫埱?,以此來告知服務器本終端的工作狀態(tài),同時驗證通訊連接的有效。
5 下載模塊
播放終端播放的視頻、音頻、文本等媒體文件,節(jié)目單等播放控制文件,以及系統(tǒng)更新固件,都需要從服務器下載。下載方式可以是FTP、HTTP方式進行。當設備數(shù)量較多時,也可以使用P2P方式下載,以減輕服務器負載。載模塊主進程負責所有下載相關(guān)任務的維護,BT、FTP、HTTP下載進程各自以獨立進程的形式存在,并統(tǒng)一由主進程管理。其他模塊有下載請求時,將請求的文件信息發(fā)送給下載模塊,下載模塊解析下載類型后,將下載任務發(fā)給給相關(guān)的子進程。子進程接收到命令后自行進行下載。當下載完成后,發(fā)送下載完成消息給請求的模塊。在下載過程中,其他模塊也可以發(fā)送請求取消下載。
6 總結(jié)
通過終端播放系統(tǒng)的設計,強化終端處理器管理控制功能,使得播放終端在離線或是在線的狀態(tài)下均能較好地實現(xiàn)和管理多媒體數(shù)據(jù)播放。
參考文獻:
[1]侯天超,于忠清.數(shù)字告示系統(tǒng)綜述[J].青島大學學報(自然科學版),2009(03).
[2]于振偉,趙巖,于忠清.數(shù)字告示系統(tǒng)的設計與實現(xiàn)[J].中國新技術(shù)新產(chǎn)品,2009(07).
[3]陳海東.多媒體廣告發(fā)布系統(tǒng)設計與實現(xiàn)[D].大連理工大學,2013.
[4]黃迎輝.高清廣告信息發(fā)布系統(tǒng)的研究開發(fā)與實現(xiàn)[D].北京郵電大學,2011.
[5]吳巧洋.我國戶外廣告的發(fā)展現(xiàn)狀和機遇分析[J].長沙民政職業(yè)技術(shù)學院學報,2007(01).