• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      LED安播信息顯示系統(tǒng)的設(shè)計與實現(xiàn)

      2019-06-22 07:00:54李敏盛
      視聽 2019年5期
      關(guān)鍵詞:服務(wù)端臺站開源

      李敏盛

      (廣西廣播電視無線傳播樞紐臺)

      一、引言

      本文設(shè)計了一個安播信息顯示系統(tǒng),該系統(tǒng)能使各臺站與地市分管中心可實時看到安全播出的計時信息和管理中心下發(fā)的安播通知;能更好的提高安播信息發(fā)布效率與臺站值班人員的安全播出意識。

      二、方案設(shè)計

      (一)系統(tǒng)架構(gòu)

      本系統(tǒng)主要分為三部分,服務(wù)端、客戶端和LED屏系統(tǒng)。

      1.服務(wù)端:部署在總監(jiān)控中心的云服務(wù)器虛擬出的 Centos 7系統(tǒng)中,服務(wù)端應(yīng)用使用開源的dotnet core跨平臺框架,C#語言編寫,打包成docker鏡像,運行于docker開源容器應(yīng)用引擎中。服務(wù)端數(shù)據(jù)使用Mysql數(shù)據(jù)庫進(jìn)行存儲。

      圖1

      2.客戶端:部署在樹莓派raspberry pi 3b+嵌入式系統(tǒng)中,操作系統(tǒng)是樹莓派自帶的Raspbian系統(tǒng)??蛻舳藨?yīng)用也采用開源的dotnet core跨平臺框架,C#語言編寫,打包成支持linux-arm平臺的程序,客戶端使用SQLite數(shù)據(jù)庫。SQLite是無服務(wù)器事務(wù)輕量級SQL數(shù)據(jù)庫引擎,其內(nèi)存占用少、運行可靠型、使用前不需要設(shè)置、不依賴其他,非常適合嵌入式系統(tǒng)使用。

      3.LED屏:選擇了一款可二次開發(fā),且支持TCP/IP通訊的LED屏。屏幕顯示三行內(nèi)容,第一行實時顯示當(dāng)前年月日時分秒,第二行顯示臺站和分管中心各自的安全播出計時信息,第三行顯示管理中心下發(fā)安播通知。

      圖1為系統(tǒng)架構(gòu)圖。

      (二)通訊連接流程

      1.客戶端與服務(wù)端的通訊采用開源框架zeroc ice,該框架支持多語言(C++、.NET、Java、Python、Object-C、Ruby、PHP、JavaScript等)之間的PRC高性能互通,支持跨平臺調(diào)用,該框架還提供了SSL插件,保證網(wǎng)絡(luò)通訊的安全。本系統(tǒng)使用其SSL插件進(jìn)行加密通訊,服務(wù)端和客戶端都需安裝安全證書方可相互通訊。兩者的互相連接和心跳檢測都交由ICE框架處理。

      2.客戶端與LED屏的通訊:客戶端啟動時,就會調(diào)用LED屏已封裝好的通訊模塊函數(shù),如果不成功,每隔10秒后,再次進(jìn)行連接,直到連接成功。后每隔30秒進(jìn)行心跳檢測。

      (三)程序設(shè)計

      1.服務(wù)端設(shè)計

      服務(wù)端采用ASP.Net Core來創(chuàng)建,分成兩塊大功能,一是WEB服務(wù),二是后臺偵測處理服務(wù)。

      WEB服務(wù)大致分為3個模塊功能:一是臺站信息的導(dǎo)入導(dǎo)出;二是重置各臺站的安播起始日,也就是安播屏第二行的“自XXXX年XX月XX日”這個日期;三是添加修改通知內(nèi)容,也就是LED屏的第三行內(nèi)容。它采用ASP.NET Core Razor Pages來創(chuàng)建頁面,Razor 頁面是 ASP.NET Core MVC 的一個新特性,它使基于頁面的編碼方式更簡單高效。WEB服務(wù)的身份認(rèn)證使用IdentityServer身份認(rèn)證服務(wù)框架,它是將規(guī)范兼容的OpenID Connect和OAuth 2.0端點添加到任意ASP.Net Core應(yīng)用程序的中間件。為了方便批量的數(shù)據(jù)導(dǎo)入導(dǎo)出,WEB服務(wù)使用了EPPlus開源控件,EPPlus是一個.NET庫,使用Office Open XML格式(xlsx)讀取和寫入Excel文件。EPPlus沒有.NET以外的依賴項。

      后臺偵測服務(wù)的主要功能:根據(jù)操作者的要求,下發(fā)內(nèi)容指令到相應(yīng)的客戶端,并接收客戶端返回的結(jié)果,寫入數(shù)據(jù)庫中。后臺偵測服務(wù)在WEB服務(wù)啟動前,使用BackgroundWorker開辟一個新線程先行啟動,該服務(wù)會啟動ICE通訊框架的服務(wù)端,隨時接受客戶端的連接。然后其服務(wù)本身又啟動另外一個線程負(fù)責(zé)每隔10秒訪問數(shù)據(jù)庫,檢查是否有新內(nèi)容要下發(fā),當(dāng)發(fā)現(xiàn)有新下發(fā)內(nèi)容時,調(diào)用下發(fā)模塊進(jìn)行處理。

      WEB服務(wù)和后臺偵測服務(wù)都使用開源的NLog日志記錄平臺,將錯誤、告警和運行信息統(tǒng)一格式化打印在控制臺窗體上,并寫入日志記錄文件中。

      服務(wù)端程序?qū)⒋虬蒁ocker鏡像,運行在Docker開源的容器引擎中,Docker容器引擎幾乎可以在任意平臺上運行,有啟動速度快,快速的交付和部署,更高效的虛擬化,更輕松的遷移和擴展等優(yōu)點,為此服務(wù)端的數(shù)據(jù)庫也使用Mysql官方發(fā)布的Docker鏡像進(jìn)行快速部署。

      2.客戶端設(shè)計

      客戶端的主要功能有:一是將現(xiàn)在時間實時發(fā)給LED屏第一行顯示,二是接收到服務(wù)端下發(fā)的重置安播時間指令后,跟當(dāng)前時間進(jìn)行比較后,計算出結(jié)果并組合文字后,發(fā)送給LED屏在第二行顯示,三是接收到服務(wù)端下發(fā)的通知指令后,立即發(fā)給LED屏顯示。LED屏無法同時接收多條指令,但客戶端卻有三個線程會同時發(fā)給LED屏,為了解決這個問題,客戶端創(chuàng)建了一個消息隊列,要下發(fā)給LED屏的指令先送給消息隊列,由消息隊列根據(jù)先進(jìn)先出的規(guī)則,實時發(fā)送給LED屏??蛻舳诉€有一個功能是將LED屏顯示成功與否的結(jié)果返回給服務(wù)端??蛻舳说臄?shù)據(jù)庫使用SQLite數(shù)據(jù)庫,它非常適用于嵌入式系統(tǒng)使用,用來存儲服務(wù)端下發(fā)的指令,當(dāng)客戶端重啟時,優(yōu)先讀取數(shù)據(jù)中內(nèi)容進(jìn)行顯示。

      客戶端的日志系統(tǒng)也是使用NLog日志記錄平臺,將各種級別信息在控制臺窗口顯示和保存在文件里。

      3.安全證書的制作

      在一臺裝有Python的linux服務(wù)器上,通過pip install zeroc-icecertutils命令安裝ZeroC存儲庫的實用程序包,然后下載和運行ZeroC ICE官方的makedemocerts.py腳本,根據(jù)安裝提示生成服務(wù)端證書和客戶端證書。

      證書生成完成后,分別將服務(wù)端證書和客戶端證書放入服務(wù)端和客戶端的根目錄下,并按圖2在ice配置文件中做好配置。

      圖2

      三、小結(jié)

      本系統(tǒng)的服務(wù)端和客戶端都使用.Net Core開源跨平臺框架,C#語言編寫,并使用Zero ICE開源通訊框架,并啟用了SSL,保證服務(wù)端和客戶端的加密通訊。該系統(tǒng)部署在全區(qū)各無線臺站和地市分管中心,實現(xiàn)實時顯示臺站、分管中心各自的安播計時信息和管理中心下發(fā)的安播通知,有效提高了職工的安全播出意識。

      猜你喜歡
      服務(wù)端臺站開源
      中國科學(xué)院野外臺站檔案工作回顧
      氣象基層臺站建設(shè)
      西藏科技(2021年12期)2022-01-17 08:46:38
      五毛錢能買多少頭牛
      云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
      新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
      在Windows Server 2008上創(chuàng)建應(yīng)用
      大家說:開源、人工智能及創(chuàng)新
      開源中國開源世界高峰論壇圓桌會議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
      開源計算機輔助翻譯工具研究
      基層臺站綜合觀測業(yè)務(wù)管理之我見
      西藏科技(2015年6期)2015-09-26 12:12:13
      乌审旗| 乐安县| 延边| 芒康县| 岑巩县| 句容市| 于都县| 大埔县| 洪湖市| 威远县| 万源市| 武威市| 鸡泽县| 石楼县| 邯郸市| 和静县| 泸西县| 凤冈县| 武穴市| 建瓯市| 城市| 辽中县| 正宁县| 玉树县| 太和县| 海兴县| 封开县| 通化市| 桃园县| 汉川市| 丁青县| 林西县| 永善县| 龙南县| 阿坝| 井陉县| 吉安市| 北安市| 金寨县| 黎川县| 保山市|