亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        車載PIS服務(wù)器的設(shè)計與實現(xiàn)

        2015-01-01 02:33:54康進赟
        鐵道通信信號 2015年10期
        關(guān)鍵詞:系統(tǒng)

        康進赟

        乘客信息系統(tǒng) (PIS)是融合了多媒體網(wǎng)絡(luò)和計算機信息技術(shù),通過地面站臺和車載媒體終端向乘客提供媒體信息服務(wù)的系統(tǒng)。目前,北京、上海、廣州、深圳、香港和天津地鐵都已開通了乘客信息系統(tǒng),且在北京、廣州和深圳等已開通車載實時傳輸乘客信息服務(wù)系統(tǒng)。國內(nèi)地鐵PIS系統(tǒng)普遍采用 “中心-地面-車輛”的媒體信息管理方式。車載PIS的終端直接面向乘客,對其播放的實時性和連續(xù)性有較高的用戶體驗要求。車載PIS服務(wù)器是車載PIS系統(tǒng)的媒體來源,通過轉(zhuǎn)發(fā)車站子系統(tǒng)下發(fā)的媒體信息,向車載子系統(tǒng)的播放終端提供媒體資源和消息服務(wù),為車-地媒體的統(tǒng)一管理提供了有效的途徑。本文提出一種車載PIS服務(wù)器的設(shè)計方案,根據(jù)地面PIS系統(tǒng)提供的接口協(xié)議,設(shè)計服務(wù)器軟件的整體架構(gòu)。

        1 服務(wù)器功能需求分析

        PIS系統(tǒng)從網(wǎng)絡(luò)結(jié)構(gòu)上可分為3個子系統(tǒng):控制中心子系統(tǒng)、地面車站子系統(tǒng)和車載子系統(tǒng)。地面PIS系統(tǒng)通過車載子系統(tǒng)向地鐵車輛內(nèi)提供媒體服務(wù),實現(xiàn)車-地信息統(tǒng)一發(fā)布管理。車載PIS服務(wù)器接收和管理地面PIS下發(fā)的媒體信息,通過車載交換機組傳給車載媒體終端在LCD顯示屏上播放,向乘客提供信息服務(wù)。地面PIS子系統(tǒng)通過車-地無線網(wǎng)絡(luò)向車載PIS子系統(tǒng)傳輸媒體信息,包括直播流媒體、墊播計劃、墊播媒體文件、滾動消息和緊急消息等。由車載PIS服務(wù)器負責接收并進行數(shù)據(jù)緩存和轉(zhuǎn)發(fā)。車載PIS的列車視頻監(jiān)控(CCTV)上載也通過同一路徑傳輸至地面PIS子系統(tǒng),地面CCTV在控制中心進行解碼播放。車-地PIS系統(tǒng)通信如圖1所示。

        圖1 車-地PIS系統(tǒng)通信示意圖

        車載PIS服務(wù)器需要實現(xiàn)以下功能。

        1.直播模式。列車運行中,車載設(shè)備要實時接收來自地面運營中心的節(jié)目,包括媒體新聞、賽事直播和廣告等實時動態(tài)的多媒體信息,并在列車車廂的車載媒體終端上播出。地面PIS通過TS流下發(fā)直播流媒體,車載PIS服務(wù)器接收地面PIS下發(fā)的視頻流,以組播的方式實時轉(zhuǎn)發(fā)給車輛PIS系統(tǒng)。

        2.墊播模式。根據(jù)系統(tǒng)提出的播放冗余控制需求,為防止客室顯示屏出現(xiàn)黑屏,需要在直播的基礎(chǔ)上加入墊播模式。若視頻源或車-地無線網(wǎng)絡(luò)出現(xiàn)故障,導致車載PIS系統(tǒng)接收不到直播視頻,車載PIS服務(wù)器將服務(wù)器硬盤中存儲的墊播視頻文件下發(fā)到列車以太網(wǎng)中,供客室服務(wù)器進行播放。

        3.消息轉(zhuǎn)發(fā)。正常情況下,地面PIS系統(tǒng)向車輛提供乘車須知、服務(wù)時間、列車到發(fā)時間、列車時刻表、管理者公告、政府公告等滾動消息;在火災、阻塞及恐怖襲擊等非正常情況下,提供動態(tài)緊急消息提示。車載PIS服務(wù)器周期輪詢地面PIS的發(fā)送滾動消息和緊急消息,并將消息通過組播方式轉(zhuǎn)發(fā)到車輛PIS系統(tǒng)中。

        4.列車視頻監(jiān)控 (CCTV)上傳。視頻流通過列車以太網(wǎng)絡(luò)發(fā)送至車載PIS服務(wù)器;車載PIS服務(wù)器接收到錄像視頻流通過車載CCTV處理模塊將錄像視頻存儲到本地硬盤中,經(jīng)轉(zhuǎn)發(fā)模塊將錄像視頻通過車-地無線網(wǎng)絡(luò)轉(zhuǎn)發(fā)至地面控制中心。

        2 軟件整體框架設(shè)計

        由于車載服務(wù)器各功能之間相對獨立,因此參考地面PIS系統(tǒng)提供的接口通信協(xié)議,按照功能分塊的模式,建立多個執(zhí)行線程,完成數(shù)據(jù)轉(zhuǎn)發(fā)和文件存儲的任務(wù)。以下主要對直播模塊、墊播模塊和消息轉(zhuǎn)發(fā)模塊的設(shè)計進行介紹。軟件整體設(shè)計架構(gòu)如圖2所示。

        地面PIS系統(tǒng)向車載PIS系統(tǒng)以UDP組播的方式發(fā)送實時TS流,并通過補包機制盡量保證視頻流穩(wěn)定可靠到達車載PIS服務(wù)器。當車輛系統(tǒng)由于網(wǎng)絡(luò)不穩(wěn)定造成直播流數(shù)據(jù)丟包時,車載PIS服務(wù)器通過單播方式向地面PIS系統(tǒng)進行單播補包請求。確保數(shù)據(jù)包無誤后,車載PIS服務(wù)器再通過UDP組播方式下發(fā)視頻流到客室內(nèi)的車載播放控制器。

        圖2 車載服務(wù)器軟件架構(gòu)示意圖

        墊播模塊的工作機制是根據(jù)地面PIS系統(tǒng)下發(fā)的墊播播放計劃文件,通過FTP網(wǎng)絡(luò)協(xié)議從地面PIS服務(wù)器下載計劃文件中包含的墊播媒體文件。為了達到媒體文件周期更新的效果,每N分鐘從地面PIS服務(wù)器獲取新的計劃文件。計劃文件采用XML格式編碼,在本地服務(wù)器經(jīng)過解析版本號等有效信息之后,比較本地新舊計劃文件,判斷是否需要更新計劃。若計劃更新,則從地面服務(wù)器下載新的媒體文件。

        直播模塊實現(xiàn)了客室媒體播放的實時性和穩(wěn)定性,采用補包機制確保了視頻流播放的連續(xù)性。墊播模塊是在直播服務(wù)中斷或車-地網(wǎng)絡(luò)故障的情況下提供的冗余服務(wù),由客室媒體播放器自行切換,避免了在終端媒體播放器出現(xiàn)黑屏的情況,優(yōu)化乘客的媒體信息服務(wù)體驗。

        地面PIS系統(tǒng)提供數(shù)據(jù)訪問Web服務(wù),車載PIS服務(wù)器通過http協(xié)議,以GET方式獲取地面PIS下發(fā)的滾動消息和緊急消息。對消息簡單解析和數(shù)據(jù)包分片操作之后,以組播的形式發(fā)送至各客室的播放控制服務(wù)器。

        3 轉(zhuǎn)發(fā)過程關(guān)鍵接口技術(shù)的實現(xiàn)

        3.1 UDP組播技術(shù)

        在車-地PIS系統(tǒng)通信的過程中,地面TS流的下發(fā)和車載PIS服務(wù)器發(fā)往客室的實時消息都是通過UDP組播方式完成的。UDP組播采用的是無連接、數(shù)據(jù)報的連接方式,相比TCP協(xié)議,UDP是不可靠的連接,數(shù)據(jù)到達接收端的順序都不能保證。但是,在UDP傳輸過程中,所有數(shù)據(jù)的傳送速度很快,保證了在局域網(wǎng)條件下視頻和消息傳輸?shù)膶崟r性。

        車載PIS服務(wù)器位于車輛司機控制室,采用雙網(wǎng)卡的物理結(jié)構(gòu),實現(xiàn)車載網(wǎng)絡(luò)與地面網(wǎng)絡(luò)隔離,避免網(wǎng)絡(luò)風暴等故障發(fā)生。外網(wǎng)網(wǎng)卡通過無線AP接入車-地無線網(wǎng)絡(luò);內(nèi)網(wǎng)網(wǎng)卡與車載交換機相連,接入車載PIS局域網(wǎng)。故在創(chuàng)建UDP連接后,需綁定要接收或發(fā)送數(shù)據(jù)的網(wǎng)卡。具體流程如下。

        1.創(chuàng)建數(shù)據(jù)報式 (SOCK_DGRAM)套接字,提供UDP服務(wù)。

        2.通過setsockopt()函數(shù)的SO_BINDTO-DEVICE選項綁定網(wǎng)卡。

        3.加入?yún)f(xié)議規(guī)定的UDP組播地址。

        4.通過sendto或recvfrom進行數(shù)據(jù)的收發(fā)。

        5.關(guān)閉套接字。

        3.2 直播過程中的補包技術(shù)

        地面PIS系統(tǒng)與車輛PIS之間通過WLAN網(wǎng)絡(luò)連接。PIS系統(tǒng)向車輛系統(tǒng)以UDP組播方式發(fā)送實時H.264/TS流。數(shù)據(jù)以分包的方式傳輸?shù)杰囕dPIS服務(wù)器,到達的數(shù)據(jù)包需要根據(jù)其序號檢測該段數(shù)據(jù)的完整性。當車載PIS系統(tǒng)由于網(wǎng)絡(luò)不穩(wěn)定造成直播流數(shù)據(jù)丟包時,通過單播方式向地面PIS系統(tǒng)進行單播補包請求,地面PIS系統(tǒng)將H.264/TS流以UDP單播方式對車載PIS系統(tǒng)進行數(shù)據(jù)包重傳。

        地面PIS系統(tǒng)向車載PIS系統(tǒng)發(fā)送的報文格式如圖3所示。一個報文分為包頭部分和數(shù)據(jù)部分。包頭部分包括序號、時間戳和數(shù)據(jù)校驗三個字段。

        圖3 地面PIS發(fā)往車載PIS的報文結(jié)構(gòu)

        用8字節(jié)整數(shù)標識報文序號,車載PIS系統(tǒng)可根據(jù)該序號檢測是否丟包。用4字節(jié)整數(shù)標識地面PIS服務(wù)器從啟動至發(fā)送該報文的毫秒數(shù)。包頭的校驗部分采用CRC16CCITT方式對 “數(shù)據(jù)”域做CRC校驗。數(shù)據(jù)部分即為符合H.264/TS標準的流數(shù)據(jù)。

        補包過程中,車載PIS系統(tǒng)向地面PIS系統(tǒng)發(fā)送UDP單播指令報文,請求需要重傳的數(shù)據(jù)包。發(fā)送的報文格式如圖4所示,它分為命令字段、最小包序號字段和最大包序號字段。

        4 車載PIS向地面PIS發(fā)送的指令報文結(jié)構(gòu)

        報文首個字節(jié)標識車載PIS系統(tǒng)向地面PIS系統(tǒng)發(fā)送的命令請求。最小包序號表示申請重傳的最小包序號,最大包序號表示申請重傳的最大包序號。命令字段取值說明如表1所示。

        表1 請求命令取值說明

        結(jié)合各項請求命令,簡要分析在補包過程中的通信規(guī)則。地面PIS系統(tǒng)與車載PIS系統(tǒng)之間的補包通信過程如圖5所示。

        圖5 補包通信過程

        1.數(shù)據(jù)發(fā)送。地面PIS系統(tǒng)以UDP組播方式向網(wǎng)絡(luò)中不停地發(fā)送實時H.264/TS流。

        2.開始接收 (START)。當某列車的車載PIS系統(tǒng)設(shè)備開始接收實時視頻流時,應向地面PIS系統(tǒng)發(fā)送START命令。

        3.保活 (KEEP_LIVE)。每列車的車載PIS系統(tǒng)設(shè)備固定時間間隔向地面PIS系統(tǒng)發(fā)送KEEP_LIVE命令,告知地面PIS系統(tǒng),車載設(shè)備處于在線狀態(tài)。

        4.重傳 (RESEND)。當某列車的車載PIS系統(tǒng)設(shè)備檢測到丟包時,向地面PIS系統(tǒng)發(fā)送RESEND命令,地面PIS系統(tǒng)將向該車以UDP單播的方式重新發(fā)送最小包序號 (含該包)至最大包序號 (含該包)之間的所有包。如果列車的車載PIS系統(tǒng)設(shè)備在1s內(nèi)沒有收到中心重傳的包,則重發(fā)RESEND命令。

        5.停止接收 (STOP)。當某列車的車載PIS系統(tǒng)設(shè)備停止接收實時視頻流時,應向PIS系統(tǒng)發(fā)送STOP命令。

        3.3 基于XML格式的計劃解析

        為了統(tǒng)一播放計劃的數(shù)據(jù)結(jié)構(gòu),采用XML格式編碼播放計劃文件。服務(wù)器軟件采用QT類庫中的QDomDocument類,實現(xiàn)XML解析功能。QDomDocument類代表整個的XML文件,是文檔樹的根節(jié)點,并提供了文檔數(shù)據(jù)的基本訪問方法。

        計劃文件解析過程如圖6所示。首先通過QFile打開文檔,新建QDomDocument對象,使用setContent方法設(shè)置文檔的全部內(nèi)容,該函數(shù)解析傳入的XML文檔字符串并創(chuàng)建代表文檔的DOM樹。根節(jié)點可以使用documentElement()得到,方法childNodes將根節(jié)點下一級的所有子節(jié)點初始化為一個NodeList,即節(jié)點數(shù)組。通過遍歷所有子節(jié)點,同時判斷節(jié)點標簽是否符合約定的XML標簽名稱。

        若合法的節(jié)點沒有有效的子節(jié)點,則通過QDomNode將其實例化后,調(diào)用nodeName方法獲取其標簽內(nèi)容,存入對應的共享變量中。若節(jié)點下仍存在需要解析的子節(jié)點,則再進行同上所述的解析操作,直到整個文檔有效內(nèi)容提取結(jié)束為止。

        圖6 計劃文件解析過程

        4 程序運行流程分析

        車載PIS服務(wù)器搭建于基于ARM架構(gòu)的嵌入式主板上,操作系統(tǒng)采用嵌入式Linux??紤]到嵌入式主板資源有限,開發(fā)任務(wù)在PC平臺完成。通過交叉編譯后將執(zhí)行文件部署至服務(wù)器。

        程序功能主要由QT實現(xiàn),QT是具有跨平臺特性的C++開發(fā)框架。在嵌入式環(huán)境下運行程序,需配置相應的QT依賴庫運行環(huán)境。

        官方提供的開源運行庫是面向各個平臺的,需將源代碼包通過編譯后得到arm-linux平臺下的QtEmbedded版本庫。將編譯好的lib目錄拷貝至目 標 機,即 ARM 主 板 的/opt/local/Trolltech/QtEmbedded-4.x.x/目錄下,即可運行 PC工程目錄下交叉編譯好的執(zhí)行文件。

        程序運行流程如圖7所示。在程序啟動之后,依次啟動直播服務(wù)線程、消息服務(wù)線程和墊播服務(wù)線程。

        圖7 程序運行流程

        直播線程開啟之后,初始化UDP套接字,綁定接入車-地網(wǎng)絡(luò)的網(wǎng)卡、本地IP和端口,然后加入UDP組播地址,開始接收來自地面PIS系統(tǒng)的TS流數(shù)據(jù)包。檢查數(shù)據(jù)包及補包過程在此不再贅述。將數(shù)據(jù)包存入緩存區(qū)后,檢測向下組播的套接字是否打開,若未開啟,則創(chuàng)建套接字,綁定到連接車載PIS網(wǎng)絡(luò)的網(wǎng)卡,加入組播地址后,向下發(fā)送直播數(shù)據(jù)包。

        消息線程通過訪問地面數(shù)據(jù)Web服務(wù),從地面服務(wù)器獲取消息。分析獲取之后的數(shù)據(jù)判斷類型,滾動和緊急消息經(jīng)過分片處理后通過UDP組播的方式下發(fā)到客室服務(wù)器。若收到消息為空則為異常,丟棄該數(shù)據(jù)不作處理,重新獲取消息。

        墊播線程是通過FTP定期下載播放計劃的方式更新本地媒體文件。程序初始化后開始定時,當更新定時到達時,執(zhí)行FTP下載任務(wù)。下載的計劃文件經(jīng)過XML解析后,與本地的原有計劃進行對比,若計劃沒有發(fā)生變化,則重新定時,等待下次更新計劃。若新的計劃發(fā)生變化,根據(jù)計劃解析出媒體列表下載新的媒體文件。

        5 結(jié)論

        車載PIS服務(wù)器是車載PIS系統(tǒng)面向地面PIS系統(tǒng)的通信接口,一方面實時轉(zhuǎn)發(fā)地面PIS系統(tǒng)下發(fā)的媒體流和文本信息,另一方面向客室播放器提供備用的墊播服務(wù)。在確保車載媒體終端的播放內(nèi)容具有實時性和連續(xù)性的同時,讓乘客得到更豐富多彩的媒體信息服務(wù)體驗。

        [1] 汪曉臣,于鑫,闞庭明,孫同慶.基于數(shù)字媒體技術(shù)的乘客信息系統(tǒng)軟件框架設(shè)計[J].鐵 路 計 算 機 應用,2012,21(4).

        [2] 馬奇志.城市軌道交通乘客信息系統(tǒng)[J].電視 技 術(shù),2013,37(19).

        [3] 曾金,毛燕琴,沈蘇彬.嵌入式流媒體服務(wù)器的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2011,21(7).

        猜你喜歡
        系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
        半沸制皂系統(tǒng)(下)
        FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        一德系統(tǒng) 德行天下
        PLC在多段調(diào)速系統(tǒng)中的應用
        男女上床免费视频网站| 日韩无码视频淫乱| 亚洲情a成黄在线观看动漫尤物| 中文乱码字幕在线中文乱码| 国产不卡在线观看视频| 亚洲中文字幕无码不卡电影| 亚洲欧美日韩在线一区 | 亚洲熟妇AV一区二区三区宅男| 中文字幕中文一区中文字幕| 熟女肥臀白浆一区二区| 亚洲国产成人手机在线电影| 亚洲av一区二区三区网站| 少妇连续高潮爽到抽搐| 免费a级毛片18以上观看精品| 成l人在线观看线路1| 色婷婷精品| av蜜桃视频在线观看| 丰满少妇在线播放bd| 久久精品国产久精国产| 亚洲成a人片在线网站| 日本激情一区二区三区| 国产精品久久久福利| 色婷婷综合久久久久中文| 国内揄拍国内精品| 亚洲一区二区三在线播放| 国产精品黑丝美女av| 国产精品美女久久久免费| 疯狂做受xxxx国产| 国产精品爽爽va在线观看无码| 国产成人精品一区二免费网站| 亚洲av高清一区二区在线观看 | 一区二区三区观看在线视频| 四虎永久在线精品免费一区二区| 99久久超碰中文字幕伊人| 国产一区视频在线免费观看| 国产精品一区二区日韩精品| 日本精品视频二区三区| 欧美丰满熟妇性xxxx| 中文字幕av日韩精品一区二区| 国产优质女主播在线观看| 中国亚洲一区二区视频|