999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于互聯網的異步LED顯示屏集群管理系統的設計與實現

2014-11-09 09:08:40王瑞光
液晶與顯示 2014年6期
關鍵詞:數據庫用戶系統

劉 飛,王瑞光,陳 偉

(1.中國科學院 長春光學精密機械與物理研究所,吉林 長春 130033;2.中國科學院大學,北京 100049)

1 引 言

LED(Light Emitting Diode)顯示屏作為一種顯示設備,具有色域廣、顯示面積大和使用壽命長等優點,在許多領域都得到了廣泛應用[1-3]。異步LED顯示屏(下文簡稱異步屏或屏幕終端)是相對于同步顯示屏而言,同步顯示屏的顯示內容是通過高速數據傳輸將計算機屏幕內容的一部分直接映射到顯示屏上,而異步屏則是通過在結構內部嵌入工控計算機如RISC嵌入式系統對屏幕顯示的內容進行獨立控制,用戶可以通過計算機網絡或者移動存儲設備對顯示內容進行更新,因此廣泛應用于分散布置的顯示屏,如廣告屏、交通誘導屏、車載屏等[4-5]。目前國內異步屏控制系統大多采用RS485總線和局域網作為通信媒介,上位機通過串口或以太網網口控制異步屏更新數據和屏幕顯示。隨著異步屏應用越來越廣泛,每個單位可擁有多達上百個屏幕終端,且分布范圍具有跨城市、跨地域等特點,如高速公路情報板和氣象預警屏。同時3G/4G無線通信技術的不斷發展和成熟,也加速了異步屏分布式應用的需求,使用小范圍內的網絡環境或者局域網技術的控制系統,在處理大數量顯示屏跨地域分布布線,以及系統的維護等問題上已經無法滿足大多數用戶的需求。

本文基于目前互聯網技術進行系統設計,充分利用現有網絡運營商提供的網絡基礎設施,如基站信號的廣泛覆蓋,寬帶在全國各地的普及等。區別于國內大多數顯示屏控制系統按照點對點或一對多的局域網控制模式,提出一種多對多的異步屏控制模式。通過搭建具有獨立域名的中間服務器實現多屏幕和多客戶管理、媒體文件暫存、用戶屏幕之間數據透明轉發等功能,使得能連入互聯網的異步屏和用戶可以隨時隨地進行實時監控和內容更新,更大程度地降低了通信線路布線成本和使用靈活性。

2 系統總體設計

2.1 系統基本結構

圖1為本文提出的異步LED顯示屏集群管理系統結構圖,分為4個部分:數據中轉服務器,媒體服務器,屏幕終端,客戶端。

圖1 異步LED顯示屏集群管理系統結構圖Fig.1 Framework of asynchronous LED display centralized management system

數據中轉服務器是一臺具有獨立域名或者廣域網IP地址的主機,安裝Linux操作系統服務器版本。本文設計的數據中轉服務軟件基于Linux環境運行,同時監聽多個端口來接收并維持當前登錄用戶和已注冊的屏幕終端的TCP連接。服務器軟件維護了全部的客戶公司、用戶、屏幕及其關聯關系的數據庫,對于關聯的用戶和屏幕之間的消息可以進行實時透明的轉發。數據中轉服務器具有連接數量多,單個連接數據通信量小、頻率低等特點,適合用戶對屏幕的實時監控,圖文類型屏幕的節目實時發布。但是對于多個屏幕的大數據量傳輸沒有優勢,如視頻類顯示內容的更新等,這種情況下,需要使用到媒體服務器。

媒體服務器與數據中轉服務器一樣具有獨立域名,主要用于存儲和傳輸大容量節目文件。本文基于搭建FTP服務器實現媒體服務器功能。用戶可以通過本地節目制作軟件編輯節目,將節目及素材按照特定的組織方式存儲于媒體服務器上。用戶準備好待播放的節目與素材后,通過數據中轉服務器實時向屏幕終端發送更新播放節目內容的指令,屏幕終端轉向媒體服務器請求媒體播放內容。媒體服務器的特點是只提供媒體內容相關的服務,如文件下載和上傳。

屏幕終端由ARM嵌入式系統、屏幕掃描控制系統和屏幕驅動板構成,并借助于Linux操作系統強大的網絡功能,為終端提供3G無線網絡通信、10/100M自適應以太網通信、RS485串行接口通訊等多種通信方式[6-8]。屏幕終端軟件運行于該系統之上,主動連接數據中轉服務器,并長久保持網絡連接,從而可以使用戶對屏幕終端狀態實時進行監控。

客戶端包括PC客戶端和移動客戶端,必須工作在可以連入互聯網的硬件環境,在設定數據中轉服務器域名和端口后,主動連接中轉服務器。用戶需要輸入鑒權密鑰后登錄進服務器,登錄后可以對所轄屏幕終端的進行狀態監控和節目更新等實時操作。

2.2 系統數據庫建模

為了設計一種能跨地域支持多個客戶公司(多個項目)、多個用戶、多塊異步屏的管理系統,本文根據實際需求建立一種了較為完備的關系數據庫模型。

圖2 關系數據庫Fig.2 Relational database

通過仔細分析系統應用環境中各種信息和操作要求,明確所需數據類型及其屬性,最終確定了數據庫需要維護的四張關系表,分別為終端設備表、用戶表、公司表和管理表[9]。圖2是利用OSA(Open System Architect)數據庫建模工具搭建的數據庫模型簡化示意圖。一個公司(或者項目)可以擁有多個用戶和多個屏幕終端,一個用戶可以管理多塊屏幕,一塊屏幕又可以被多個用戶同時管理。該數據庫模型能夠較好滿足多業務多屏幕多用戶的系統管理模式。(圖中的“pi”代表該表的主鍵)

2.3 分層通信協議設計

考慮到數據傳輸的可靠性和有序性,本文的數據通信以TCP協議為基礎。同時,為了解決基于TCP協議的數據流同步問題以及處理多個用戶、多個事務,多個連接,多個層次的消息數據包等問題,本文設計了一種基于TCP協議之上的分層通信協議。各層采用統一的接口就可以實現層次之間的通信,進而可以對各層的內部結構獨立設計,更加易于協議的維護和實現[10]。協議主要分3層:收發層,會話層和業務層。

收發層對上層數據包加入了幀標識和幀長度標志標量,用以解決TCP協議流式傳輸的幀同步問題和非法連接請求。分發層包頭定義了上層數據包類型和用戶登錄ID,區分不同的用戶以及不同類型的協議數據包,從而將數據包準確的分發到對應的用戶或相應的數據處理模塊。業務層數據包包括登錄數據包、服務器管理數據包和終端數據包,分別用來封裝用戶登錄與注銷,對服務器數據庫管理和終端操作詳細協議數據內容。各層協議數據結構及三種業務層數據包的簡略結構如圖3所示。

圖3 協議分層示意圖Fig.3 Protocol layering

3 系統各部分設計與實現

相對于傳統基于局域網技術的多異步屏幕管理系統,本文提出的基于互聯網的集群管理系統最本質的區別在于引入了數據中轉服務器。數據中轉服務器是維系多用戶和多屏幕的樞紐,是整個系統架構的集中體現,本文將著重描述中轉服務器部分的詳細設計與實現,客戶端軟件和異步屏幕終端軟件只給出一般性的軟件框架說明,因為本文設計的系統是一種開放式的集群管理平臺,針對不同的客戶公司和項目需求,可以定制出多種完全不同的軟件版本。

3.1 系統設計目標與實現方法概述

本系統設計重點在于在多對多模式下中轉服務器具備高并發響應速度和帶載能力。

本文采用C++語言進行開發,兼具了高效性和面向對象設計方法的優勢。同時采用了大量跨平臺的開源軟件庫,如Boost、SQLite、QT等。

客戶端、異步終端、中轉服務器三部分的網絡通信相關代碼基于Boost.Asio開發。Asio庫基于操作系統提供的異步機制,采用前攝器設計模式實現了可移植的異步IO操作,并且異步模式下可以最大化避免使用多線程和互斥鎖,減小同步模式下多線程編程帶來的諸多有害副作用(如條件競爭、死鎖、線程切換開銷等)[11]。

數據庫部分采用SQLite數據庫。SQLite是一個自包含、無服務器、零配置、事物支持的進程內數據庫引擎,也是一款開源輕型,占用資源低,跨平臺的數據庫[12]。

3.2 數據中轉服務器詳細設計與實現

軟件架構整體從下到上分3個層次:網絡通信、消息處理、數據庫操作。結合2.3給出的通信協議層次,網絡通信部分實現了收發層和分發層的功能,消息處理部分則對應業務層。數據庫部分則是對2.2描述的關系數據庫模型的具體實現。圖4為數據中轉服務器各類的簡化示意圖。

圖4 數據中轉服務器類簡化示意圖Fig.4 Schematic diagram of data transfer server class

3.2.1 網絡通信部分

對于中轉服務器而言網絡通信部分是系統帶載能力、數據響應性能的基礎。關鍵技術在于大量連接的維持和數據并發處理能力。本文從3個方面對此進行優化設計:

(1)異步模式與線程池并用,零延遲操作同時能夠合理化利用多核CPU資源。

(2)使用棧緩沖及緩沖池實現協議數據零拷貝和最小化堆內存申請釋放開銷。

(3)多用戶、多屏幕終端的快速映射查找,最小化數據透明轉發的延遲。

網絡通信部分完全采用Boost.Asio的異步通信模式,同時為更好發揮硬件多CPU核心并行處理能力,本設計采用異步IO模式結合線程池的方法進一步提高應用程序的運行效率[13]。

線程池類基于Asio的io_sevice類和boost::thread類封裝而成。線程池的個數取決于CPU個數,一般而言異步通信模式下線程數目不應超過CPU核心數量的3倍。

為了更高效地完成數據通信中的協議解析和打包,本文設計了協議棧緩沖類,將網絡通信中的數據緩沖進行了封裝,提供簡潔的數據包封裝和解析功能?;緦崿F原理是采用指針對同一緩沖數據的指針地址作增減移動來添加和去除數據包頭,避免了協議數據在不同層次中傳遞時復制引起的性能開銷。另外本文實現了棧緩沖池類在進程空間回收和再分配引用計數為0的棧緩沖實例,避免了頻繁的進行系統調用分配堆內存,提高內存分配性能。

TCP服務器異步監聽TCP端口,收到的連接生成新的收發器實例,收發器類即是對分層協議中收發層的實現,工作在TCP協議層之上,為其上層(會話類)提供數據幀的正確傳輸。其提供的函數接口主要包括封裝上層發送數據包和解析處理收到的幀。會話類依賴收發器進行數據傳輸,但是只處理上層協議的拆裝,不再關心收發的細節。

大量的連接導致大量的會話實例,而不同的登錄用戶會話與終端會話中間需要建立快速的“尋址”通路,用戶登錄后,客戶端連接的會話會帶有唯一的登錄ID標識,設備注冊后,異步終端的會話也會具有唯一的設備ID標識。會話管理器中通過使用ID標識到會話實例的map映射,來實現算法復雜度O(1)的快速查找。

3.2.2 消息處理與數據庫訪問

消息處理部分根據功能被設計成三個類:登錄管理器、數據庫管理器、終端管理器,分別實現客戶登陸與注銷,服務器數據庫管理和用戶—終端消息透明轉發,除了消息透明轉發,其余功能均需要訪問數據庫來完成。

由于數據庫訪問,尤其是寫操作時間延遲較大,修改較大信息量時通常能達到秒級,軟件所有的線程又均采用異步非阻塞方式設計,因此,數據庫部分設計為異步隊列方式。需要訪問數據庫的事務根據所需要的參數創建數據庫訪問項類(DBCmdItem)的子類實例,提交到異步隊列中立即返回,數據庫訪問處理器類內部維護了一個獨立線程來處理隊列中所有掛起的數據庫訪問項,完成后通過回調方式通知事務處理模塊,完全避免了數據庫延遲導致的異步操作響應不及時的問題。數據庫訪問項類是一個抽象類(定義),所有的數據庫操作都定義成統一虛接口,簡化并統一了數據庫訪問處理器線程的處理流程。

3.2.3 數據中轉服務器性能測試

本文基于100Mbps的局域網環境對系統進行了模擬測試。數據中轉服務器運行Linux系統Ubuntu 10.04版本之上,客戶端軟件的硬件環境為Intel i3-2120CPU,主頻3.3GHz,內存為4G的PC機,屏幕終端通過PC機多個進程來模擬。首先啟動數據中轉服務器軟件為客戶端和終端分別開啟10個端口,每個端口最多可連接100個TCP連接,服務器使用一個具有600個屏幕終端,200個用戶,10個公司的數據庫測試模型,同時連接200個客戶端和600個模擬終端,測試結果見表1。

表1 測試結果Tab.1 Testing results

從表1可以看出,系統在短時間內成功處理大量的并發連接請求,具有較高的數據吞吐量和良好的穩定性。

3.3 客戶端和異步終端的軟件設計

在本文的設計中,客戶端軟件與異步終端軟件是可以多樣化的,是業務相關的,兩個不同業務會有不同的客戶端軟件和軟件。同時這些差異化的客戶端和終端軟件在管理結構和通信協議上又必須符合上述的設計。這使得本系統具備了多項目擴展能力,在本質上區別于其他異步屏幕管理系統。

為了能快速為客戶定制新的客戶端和終端軟件,最大化的代碼重用和低耦合的軟件結構設計是必不可少的。圖5和圖6分別為客戶端軟件和異步終端軟件的基本結構。

圖5 客戶端軟件基本結構圖Fig.5 Basic structure of the client software

圖6 異步終端軟件基本結構圖Fig.6 Basic structure of asynchronous terminal software

客戶端軟件從上至下分3個層次,界面層,業務層,網絡通信層。用戶從登錄界面登錄到服務器,然后獲取用戶權限下所有可控異步屏幕終端列表,呈現在終端列表界面中,從而對列表中的各個終端可進行狀態監控和節目更新。節目編輯界面提供屏幕顯示內容的編輯和預覽功能。每個公司或者項目可能會有不同的編輯界面。如高速公路情報板界面要求具備常用路況圖標和點陣文字布局,而廣告小區屏幕的編輯界面要求能插入動畫、視頻和彩色圖片。

圖6是異步終端軟件的基本結構,分為終端控制和節目播放兩個部分。控制部分設計為3個層次:頂層是系統控制層,中間是協議的生成和解釋層,底層是與中轉服務器代碼復用的網絡通信層。本文設計的中轉服務器透明轉發用戶與終端之間的通信數據包,因此,不同的項目除了節目播放器可以不同之外,也可以有不同的終端協議數據包,完全無縫的兼容于同一個中轉服務器。

3.4 系統運行時數據流圖

這里通過圖7來綜合描述中轉服務器、客戶端軟件、異步終端軟件三者之間及其內部各主要模塊的數據傳遞與調用關系。

圖7 系統運行時數據流圖Fig.7 Runtime data flow of the system

5 結 論

針對移動互聯網的日益普及帶來的異步LED顯示屏集群管理系統的新需求,本文將常規服務器的模式與異步屏幕領域結合起來,提出了一種以廣域網絡為基本承載的異步屏集群管理系統結構,又結合異步應用需求多樣性、客戶及屏幕多樣性等行業特點,建立了較為完備通用的關系數據庫模型和通用的網絡協議,并且定義了可復用的客戶端和終端軟件架構,從設計和實現兩方面解決了單一服務器系統同時支持多個應用領域、多用戶、不同屏幕群體的問題。因此本文的設計是一種開放式可擴展的異步LED屏幕集群系統平臺。在實現方法上進行了大量的優化,實際完成的系統在性能和穩定性方面達到了實用的標準。誠然,本文實現的系統也有其局限,網絡通信的可靠性和及時性極大的依賴于網絡運營商,只有可以承受這種潛在風險的項目才適合采用本系統。

[1]田志輝,王瑞光,陳宇,等.LED顯示屏高光效高畫面填充比光學設計與研究[J].發光學報,2014,35(2):251-256.Tian Z H,Wang R G,Chen Y,et al.Optical design and research of high optical efficiency and high filling ratio of LED display screen[J].Chin.J.Lumin.,2014,35(2):251-256.(in Chinese)

[2]宋超,王瑞光,陳宇,等.LED顯示屏色域邊界的快速計算[J].發光學報,2013,34(7):924-929.Song C,Wang R G,Chen Y,et al.Fast calculation of color gamut boundary for LED display panel[J].Chin.J.Lumin,2013,34(7):924-929.(in Chinese)

[3]王志斌,張騫,張健,等.基于表面等離子激元的雙金屬光柵結構提高LED光提取效率的研究[J].發光學報,2013,34(12):1624-1630.Wang Z B,Zhang Q,Zhang J,et al.Improvement of LED light emitting efficiency by using double metal gratings[J].Chin.J.Lumin,2013,34(12):1624-1630.(in Chinese)

[4]尹柱霞,鄭喜鳳,于洪濤.ARM+FPGA控制的LED脫機屏系統設計[J].液晶與顯示,2010,25(2):262-267.Yin Z X,Zheng X F,Yu H Y.Design of LED off-line screen system based on ARM+FPGA control[J].Chinese Journal of Liquid Crystals and Displays,2010,25(2):262-267.(in Chinese)

[5]余文佳,王瑞光,宋喜佳.氣象預警信息顯示終端設計[J].液晶與顯示,2012,27(5):678-681.Yu W J,Wang R G,Song X J.Design of meteorological early warning information display terminal[J].Chinese Journal of Liquid Crystals and Displays,2012,27(5):678-681.(in Chinese)

[6]程鵬,王瑞光,鄭喜鳳,等.嵌入式公路可變情報板通訊系統設計[J].液晶與顯示,2013,28(2):245-249.Cheng P,Wang R G,Zheng X F,et al.Design of embedded highway VMS communication system [J].Chinese Journal of Liquid Crystals and Displays,2013,28(2):245-249.(in Chinese)

[7]丁鐵夫,陳偉,鄭喜鳳,等.多媒體協處理器SM501在全彩LED顯示屏脫機播放系統的應用[J].液晶與顯示,2009,24(6):860-865.Ding T F,Chen W,Zheng X F,et al.Application of multimedia coprocessor SM501in full color LED screen off-line display system [J].Chinese Journal of Liquid Crystals and Displays,2009,24(6):860-865.(in Chinese)

[8]Jamsmin B,Mark S.C++ GUI Programing with Qt 4[M].2nd Ed.London:Prentice Hall,2008.

[9]申光,陳志剛.UML在關系數據庫設計中的應用[J].計算技術與自動化,2005,24(1):113-118.Shen G,Chen Z G.Application of UML in RDB designing [J].Computing Technology and Automation,2005,24(1):113-118.(in Chinese)

[10]李鵬,邵志舉,蔡洋.一種高可靠性的 TCP協議設計模式[J].計算機仿真,2006,23(1):115-119.Li P,Shao Z J,Cai Y.A new design mode for high-reliability TCP [J].Computer Simulation,2006,23(1):115-119.(in Chinese)

[11]羅劍鋒.Boost程序庫完全開發指南[M].北京:電子工業出版社,2010.

[12]雷小俊,李偉.SQLite在嵌入式 Web服務器中的應用[J].信息技術,2006(6):126-130.Lei X J,Li W.Application of SQLite in embedded Web server[J].Information Technology,2006(6):126-130.(in Chinese)

[13]胡楊,梁昉昕.異步模型 Asio的應用與分析[J].現代計算機,2008(11):69-72.Hu Y,Liang F X.Application and analysis of Asio asynchronous model[J].Modern Computer,2008(11):69-72.(in Chinese)

猜你喜歡
數據庫用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 香蕉在线视频网站| 久久五月天综合| 国产在线视频自拍| 亚洲美女一区二区三区| 久久福利片| 亚洲精品777| 成人永久免费A∨一级在线播放| 国产精品思思热在线| 日韩a级毛片| 国产精品自在在线午夜区app| 国产在线观看一区二区三区| 色天堂无毒不卡| 久久久精品国产SM调教网站| 久久国产精品嫖妓| 亚洲天堂2014| 99re这里只有国产中文精品国产精品 | 中国丰满人妻无码束缚啪啪| 国产精品久久久久婷婷五月| aaa国产一级毛片| 喷潮白浆直流在线播放| 欧美成人精品一级在线观看| 成年片色大黄全免费网站久久| 玩两个丰满老熟女久久网| 好紧太爽了视频免费无码| 韩国福利一区| 欧美福利在线观看| 中文字幕中文字字幕码一二区| 国产欧美精品一区aⅴ影院| 国产精品亚洲精品爽爽| 国产亚洲精| 国产午夜精品一区二区三| 男女精品视频| 日韩无码黄色| 成人福利在线观看| 日本一区中文字幕最新在线| 亚洲综合一区国产精品| 成人91在线| 欧美一级色视频| 麻豆精品在线播放| 久久国产成人精品国产成人亚洲| 91成人试看福利体验区| av在线无码浏览| 思思99思思久久最新精品| 亚洲一区国色天香| 国产人在线成免费视频| 婷婷激情五月网| 国产成人综合日韩精品无码首页| a级毛片在线免费观看| 欧美日韩亚洲综合在线观看 | 亚亚洲乱码一二三四区| 人妻精品全国免费视频| 久久国语对白| 久久99热这里只有精品免费看| 久久黄色影院| 黄色福利在线| 毛片网站在线播放| 欧美国产菊爆免费观看| 香蕉久久国产精品免| 国产毛片不卡| 啦啦啦网站在线观看a毛片| 在线播放91| 夜夜爽免费视频| www.91在线播放| 日本精品影院| 无码福利视频| 日韩在线播放中文字幕| 欧美性爱精品一区二区三区 | 99在线视频网站| 国产在线欧美| 日韩精品无码免费专网站| 看看一级毛片| 亚洲精品动漫| 免费jjzz在在线播放国产| 精品国产免费观看一区| 成人av专区精品无码国产| 美女被操黄色视频网站| 99久久精品免费看国产免费软件 | 四虎成人在线视频| 在线观看热码亚洲av每日更新| 久久性视频| 色妞www精品视频一级下载| 免费观看无遮挡www的小视频|