劉 飛,王瑞光,陳 偉
(1.中國(guó)科學(xué)院 長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,吉林 長(zhǎng)春 130033;2.中國(guó)科學(xué)院大學(xué),北京 100049)
LED(Light Emitting Diode)顯示屏作為一種顯示設(shè)備,具有色域廣、顯示面積大和使用壽命長(zhǎng)等優(yōu)點(diǎn),在許多領(lǐng)域都得到了廣泛應(yīng)用[1-3]。異步LED顯示屏(下文簡(jiǎn)稱異步屏或屏幕終端)是相對(duì)于同步顯示屏而言,同步顯示屏的顯示內(nèi)容是通過高速數(shù)據(jù)傳輸將計(jì)算機(jī)屏幕內(nèi)容的一部分直接映射到顯示屏上,而異步屏則是通過在結(jié)構(gòu)內(nèi)部嵌入工控計(jì)算機(jī)如RISC嵌入式系統(tǒng)對(duì)屏幕顯示的內(nèi)容進(jìn)行獨(dú)立控制,用戶可以通過計(jì)算機(jī)網(wǎng)絡(luò)或者移動(dòng)存儲(chǔ)設(shè)備對(duì)顯示內(nèi)容進(jìn)行更新,因此廣泛應(yīng)用于分散布置的顯示屏,如廣告屏、交通誘導(dǎo)屏、車載屏等[4-5]。目前國(guó)內(nèi)異步屏控制系統(tǒng)大多采用RS485總線和局域網(wǎng)作為通信媒介,上位機(jī)通過串口或以太網(wǎng)網(wǎng)口控制異步屏更新數(shù)據(jù)和屏幕顯示。隨著異步屏應(yīng)用越來越廣泛,每個(gè)單位可擁有多達(dá)上百個(gè)屏幕終端,且分布范圍具有跨城市、跨地域等特點(diǎn),如高速公路情報(bào)板和氣象預(yù)警屏。同時(shí)3G/4G無線通信技術(shù)的不斷發(fā)展和成熟,也加速了異步屏分布式應(yīng)用的需求,使用小范圍內(nèi)的網(wǎng)絡(luò)環(huán)境或者局域網(wǎng)技術(shù)的控制系統(tǒng),在處理大數(shù)量顯示屏跨地域分布布線,以及系統(tǒng)的維護(hù)等問題上已經(jīng)無法滿足大多數(shù)用戶的需求。
本文基于目前互聯(lián)網(wǎng)技術(shù)進(jìn)行系統(tǒng)設(shè)計(jì),充分利用現(xiàn)有網(wǎng)絡(luò)運(yùn)營(yíng)商提供的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,如基站信號(hào)的廣泛覆蓋,寬帶在全國(guó)各地的普及等。區(qū)別于國(guó)內(nèi)大多數(shù)顯示屏控制系統(tǒng)按照點(diǎn)對(duì)點(diǎn)或一對(duì)多的局域網(wǎng)控制模式,提出一種多對(duì)多的異步屏控制模式。通過搭建具有獨(dú)立域名的中間服務(wù)器實(shí)現(xiàn)多屏幕和多客戶管理、媒體文件暫存、用戶屏幕之間數(shù)據(jù)透明轉(zhuǎn)發(fā)等功能,使得能連入互聯(lián)網(wǎng)的異步屏和用戶可以隨時(shí)隨地進(jìn)行實(shí)時(shí)監(jiān)控和內(nèi)容更新,更大程度地降低了通信線路布線成本和使用靈活性。
圖1為本文提出的異步LED顯示屏集群管理系統(tǒng)結(jié)構(gòu)圖,分為4個(gè)部分:數(shù)據(jù)中轉(zhuǎn)服務(wù)器,媒體服務(wù)器,屏幕終端,客戶端。
圖1 異步LED顯示屏集群管理系統(tǒng)結(jié)構(gòu)圖Fig.1 Framework of asynchronous LED display centralized management system
數(shù)據(jù)中轉(zhuǎn)服務(wù)器是一臺(tái)具有獨(dú)立域名或者廣域網(wǎng)IP地址的主機(jī),安裝Linux操作系統(tǒng)服務(wù)器版本。本文設(shè)計(jì)的數(shù)據(jù)中轉(zhuǎn)服務(wù)軟件基于Linux環(huán)境運(yùn)行,同時(shí)監(jiān)聽多個(gè)端口來接收并維持當(dāng)前登錄用戶和已注冊(cè)的屏幕終端的TCP連接。服務(wù)器軟件維護(hù)了全部的客戶公司、用戶、屏幕及其關(guān)聯(lián)關(guān)系的數(shù)據(jù)庫,對(duì)于關(guān)聯(lián)的用戶和屏幕之間的消息可以進(jìn)行實(shí)時(shí)透明的轉(zhuǎn)發(fā)。數(shù)據(jù)中轉(zhuǎn)服務(wù)器具有連接數(shù)量多,單個(gè)連接數(shù)據(jù)通信量小、頻率低等特點(diǎn),適合用戶對(duì)屏幕的實(shí)時(shí)監(jiān)控,圖文類型屏幕的節(jié)目實(shí)時(shí)發(fā)布。但是對(duì)于多個(gè)屏幕的大數(shù)據(jù)量傳輸沒有優(yōu)勢(shì),如視頻類顯示內(nèi)容的更新等,這種情況下,需要使用到媒體服務(wù)器。
媒體服務(wù)器與數(shù)據(jù)中轉(zhuǎn)服務(wù)器一樣具有獨(dú)立域名,主要用于存儲(chǔ)和傳輸大容量節(jié)目文件。本文基于搭建FTP服務(wù)器實(shí)現(xiàn)媒體服務(wù)器功能。用戶可以通過本地節(jié)目制作軟件編輯節(jié)目,將節(jié)目及素材按照特定的組織方式存儲(chǔ)于媒體服務(wù)器上。用戶準(zhǔn)備好待播放的節(jié)目與素材后,通過數(shù)據(jù)中轉(zhuǎn)服務(wù)器實(shí)時(shí)向屏幕終端發(fā)送更新播放節(jié)目?jī)?nèi)容的指令,屏幕終端轉(zhuǎn)向媒體服務(wù)器請(qǐng)求媒體播放內(nèi)容。媒體服務(wù)器的特點(diǎn)是只提供媒體內(nèi)容相關(guān)的服務(wù),如文件下載和上傳。
屏幕終端由ARM嵌入式系統(tǒng)、屏幕掃描控制系統(tǒng)和屏幕驅(qū)動(dòng)板構(gòu)成,并借助于Linux操作系統(tǒng)強(qiáng)大的網(wǎng)絡(luò)功能,為終端提供3G無線網(wǎng)絡(luò)通信、10/100M自適應(yīng)以太網(wǎng)通信、RS485串行接口通訊等多種通信方式[6-8]。屏幕終端軟件運(yùn)行于該系統(tǒng)之上,主動(dòng)連接數(shù)據(jù)中轉(zhuǎn)服務(wù)器,并長(zhǎng)久保持網(wǎng)絡(luò)連接,從而可以使用戶對(duì)屏幕終端狀態(tài)實(shí)時(shí)進(jìn)行監(jiān)控。
客戶端包括PC客戶端和移動(dòng)客戶端,必須工作在可以連入互聯(lián)網(wǎng)的硬件環(huán)境,在設(shè)定數(shù)據(jù)中轉(zhuǎn)服務(wù)器域名和端口后,主動(dòng)連接中轉(zhuǎn)服務(wù)器。用戶需要輸入鑒權(quán)密鑰后登錄進(jìn)服務(wù)器,登錄后可以對(duì)所轄屏幕終端的進(jìn)行狀態(tài)監(jiān)控和節(jié)目更新等實(shí)時(shí)操作。
為了設(shè)計(jì)一種能跨地域支持多個(gè)客戶公司(多個(gè)項(xiàng)目)、多個(gè)用戶、多塊異步屏的管理系統(tǒng),本文根據(jù)實(shí)際需求建立一種了較為完備的關(guān)系數(shù)據(jù)庫模型。
圖2 關(guān)系數(shù)據(jù)庫Fig.2 Relational database
通過仔細(xì)分析系統(tǒng)應(yīng)用環(huán)境中各種信息和操作要求,明確所需數(shù)據(jù)類型及其屬性,最終確定了數(shù)據(jù)庫需要維護(hù)的四張關(guān)系表,分別為終端設(shè)備表、用戶表、公司表和管理表[9]。圖2是利用OSA(Open System Architect)數(shù)據(jù)庫建模工具搭建的數(shù)據(jù)庫模型簡(jiǎn)化示意圖。一個(gè)公司(或者項(xiàng)目)可以擁有多個(gè)用戶和多個(gè)屏幕終端,一個(gè)用戶可以管理多塊屏幕,一塊屏幕又可以被多個(gè)用戶同時(shí)管理。該數(shù)據(jù)庫模型能夠較好滿足多業(yè)務(wù)多屏幕多用戶的系統(tǒng)管理模式。(圖中的“pi”代表該表的主鍵)
考慮到數(shù)據(jù)傳輸?shù)目煽啃院陀行蛐?,本文的?shù)據(jù)通信以TCP協(xié)議為基礎(chǔ)。同時(shí),為了解決基于TCP協(xié)議的數(shù)據(jù)流同步問題以及處理多個(gè)用戶、多個(gè)事務(wù),多個(gè)連接,多個(gè)層次的消息數(shù)據(jù)包等問題,本文設(shè)計(jì)了一種基于TCP協(xié)議之上的分層通信協(xié)議。各層采用統(tǒng)一的接口就可以實(shí)現(xiàn)層次之間的通信,進(jìn)而可以對(duì)各層的內(nèi)部結(jié)構(gòu)獨(dú)立設(shè)計(jì),更加易于協(xié)議的維護(hù)和實(shí)現(xiàn)[10]。協(xié)議主要分3層:收發(fā)層,會(huì)話層和業(yè)務(wù)層。
收發(fā)層對(duì)上層數(shù)據(jù)包加入了幀標(biāo)識(shí)和幀長(zhǎng)度標(biāo)志標(biāo)量,用以解決TCP協(xié)議流式傳輸?shù)膸絾栴}和非法連接請(qǐng)求。分發(fā)層包頭定義了上層數(shù)據(jù)包類型和用戶登錄ID,區(qū)分不同的用戶以及不同類型的協(xié)議數(shù)據(jù)包,從而將數(shù)據(jù)包準(zhǔn)確的分發(fā)到對(duì)應(yīng)的用戶或相應(yīng)的數(shù)據(jù)處理模塊。業(yè)務(wù)層數(shù)據(jù)包包括登錄數(shù)據(jù)包、服務(wù)器管理數(shù)據(jù)包和終端數(shù)據(jù)包,分別用來封裝用戶登錄與注銷,對(duì)服務(wù)器數(shù)據(jù)庫管理和終端操作詳細(xì)協(xié)議數(shù)據(jù)內(nèi)容。各層協(xié)議數(shù)據(jù)結(jié)構(gòu)及三種業(yè)務(wù)層數(shù)據(jù)包的簡(jiǎn)略結(jié)構(gòu)如圖3所示。
圖3 協(xié)議分層示意圖Fig.3 Protocol layering
相對(duì)于傳統(tǒng)基于局域網(wǎng)技術(shù)的多異步屏幕管理系統(tǒng),本文提出的基于互聯(lián)網(wǎng)的集群管理系統(tǒng)最本質(zhì)的區(qū)別在于引入了數(shù)據(jù)中轉(zhuǎn)服務(wù)器。數(shù)據(jù)中轉(zhuǎn)服務(wù)器是維系多用戶和多屏幕的樞紐,是整個(gè)系統(tǒng)架構(gòu)的集中體現(xiàn),本文將著重描述中轉(zhuǎn)服務(wù)器部分的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn),客戶端軟件和異步屏幕終端軟件只給出一般性的軟件框架說明,因?yàn)楸疚脑O(shè)計(jì)的系統(tǒng)是一種開放式的集群管理平臺(tái),針對(duì)不同的客戶公司和項(xiàng)目需求,可以定制出多種完全不同的軟件版本。
本系統(tǒng)設(shè)計(jì)重點(diǎn)在于在多對(duì)多模式下中轉(zhuǎn)服務(wù)器具備高并發(fā)響應(yīng)速度和帶載能力。
本文采用C++語言進(jìn)行開發(fā),兼具了高效性和面向?qū)ο笤O(shè)計(jì)方法的優(yōu)勢(shì)。同時(shí)采用了大量跨平臺(tái)的開源軟件庫,如Boost、SQLite、QT等。
客戶端、異步終端、中轉(zhuǎn)服務(wù)器三部分的網(wǎng)絡(luò)通信相關(guān)代碼基于Boost.Asio開發(fā)。Asio庫基于操作系統(tǒng)提供的異步機(jī)制,采用前攝器設(shè)計(jì)模式實(shí)現(xiàn)了可移植的異步IO操作,并且異步模式下可以最大化避免使用多線程和互斥鎖,減小同步模式下多線程編程帶來的諸多有害副作用(如條件競(jìng)爭(zhēng)、死鎖、線程切換開銷等)[11]。
數(shù)據(jù)庫部分采用SQLite數(shù)據(jù)庫。SQLite是一個(gè)自包含、無服務(wù)器、零配置、事物支持的進(jìn)程內(nèi)數(shù)據(jù)庫引擎,也是一款開源輕型,占用資源低,跨平臺(tái)的數(shù)據(jù)庫[12]。
軟件架構(gòu)整體從下到上分3個(gè)層次:網(wǎng)絡(luò)通信、消息處理、數(shù)據(jù)庫操作。結(jié)合2.3給出的通信協(xié)議層次,網(wǎng)絡(luò)通信部分實(shí)現(xiàn)了收發(fā)層和分發(fā)層的功能,消息處理部分則對(duì)應(yīng)業(yè)務(wù)層。數(shù)據(jù)庫部分則是對(duì)2.2描述的關(guān)系數(shù)據(jù)庫模型的具體實(shí)現(xiàn)。圖4為數(shù)據(jù)中轉(zhuǎn)服務(wù)器各類的簡(jiǎn)化示意圖。
圖4 數(shù)據(jù)中轉(zhuǎn)服務(wù)器類簡(jiǎn)化示意圖Fig.4 Schematic diagram of data transfer server class
3.2.1 網(wǎng)絡(luò)通信部分
對(duì)于中轉(zhuǎn)服務(wù)器而言網(wǎng)絡(luò)通信部分是系統(tǒng)帶載能力、數(shù)據(jù)響應(yīng)性能的基礎(chǔ)。關(guān)鍵技術(shù)在于大量連接的維持和數(shù)據(jù)并發(fā)處理能力。本文從3個(gè)方面對(duì)此進(jìn)行優(yōu)化設(shè)計(jì):
(1)異步模式與線程池并用,零延遲操作同時(shí)能夠合理化利用多核CPU資源。
(2)使用棧緩沖及緩沖池實(shí)現(xiàn)協(xié)議數(shù)據(jù)零拷貝和最小化堆內(nèi)存申請(qǐng)釋放開銷。
(3)多用戶、多屏幕終端的快速映射查找,最小化數(shù)據(jù)透明轉(zhuǎn)發(fā)的延遲。
網(wǎng)絡(luò)通信部分完全采用Boost.Asio的異步通信模式,同時(shí)為更好發(fā)揮硬件多CPU核心并行處理能力,本設(shè)計(jì)采用異步IO模式結(jié)合線程池的方法進(jìn)一步提高應(yīng)用程序的運(yùn)行效率[13]。
線程池類基于Asio的io_sevice類和boost::thread類封裝而成。線程池的個(gè)數(shù)取決于CPU個(gè)數(shù),一般而言異步通信模式下線程數(shù)目不應(yīng)超過CPU核心數(shù)量的3倍。
為了更高效地完成數(shù)據(jù)通信中的協(xié)議解析和打包,本文設(shè)計(jì)了協(xié)議棧緩沖類,將網(wǎng)絡(luò)通信中的數(shù)據(jù)緩沖進(jìn)行了封裝,提供簡(jiǎn)潔的數(shù)據(jù)包封裝和解析功能?;緦?shí)現(xiàn)原理是采用指針對(duì)同一緩沖數(shù)據(jù)的指針地址作增減移動(dòng)來添加和去除數(shù)據(jù)包頭,避免了協(xié)議數(shù)據(jù)在不同層次中傳遞時(shí)復(fù)制引起的性能開銷。另外本文實(shí)現(xiàn)了棧緩沖池類在進(jìn)程空間回收和再分配引用計(jì)數(shù)為0的棧緩沖實(shí)例,避免了頻繁的進(jìn)行系統(tǒng)調(diào)用分配堆內(nèi)存,提高內(nèi)存分配性能。
TCP服務(wù)器異步監(jiān)聽TCP端口,收到的連接生成新的收發(fā)器實(shí)例,收發(fā)器類即是對(duì)分層協(xié)議中收發(fā)層的實(shí)現(xiàn),工作在TCP協(xié)議層之上,為其上層(會(huì)話類)提供數(shù)據(jù)幀的正確傳輸。其提供的函數(shù)接口主要包括封裝上層發(fā)送數(shù)據(jù)包和解析處理收到的幀。會(huì)話類依賴收發(fā)器進(jìn)行數(shù)據(jù)傳輸,但是只處理上層協(xié)議的拆裝,不再關(guān)心收發(fā)的細(xì)節(jié)。
大量的連接導(dǎo)致大量的會(huì)話實(shí)例,而不同的登錄用戶會(huì)話與終端會(huì)話中間需要建立快速的“尋址”通路,用戶登錄后,客戶端連接的會(huì)話會(huì)帶有唯一的登錄ID標(biāo)識(shí),設(shè)備注冊(cè)后,異步終端的會(huì)話也會(huì)具有唯一的設(shè)備ID標(biāo)識(shí)。會(huì)話管理器中通過使用ID標(biāo)識(shí)到會(huì)話實(shí)例的map映射,來實(shí)現(xiàn)算法復(fù)雜度O(1)的快速查找。
3.2.2 消息處理與數(shù)據(jù)庫訪問
消息處理部分根據(jù)功能被設(shè)計(jì)成三個(gè)類:登錄管理器、數(shù)據(jù)庫管理器、終端管理器,分別實(shí)現(xiàn)客戶登陸與注銷,服務(wù)器數(shù)據(jù)庫管理和用戶—終端消息透明轉(zhuǎn)發(fā),除了消息透明轉(zhuǎn)發(fā),其余功能均需要訪問數(shù)據(jù)庫來完成。
由于數(shù)據(jù)庫訪問,尤其是寫操作時(shí)間延遲較大,修改較大信息量時(shí)通常能達(dá)到秒級(jí),軟件所有的線程又均采用異步非阻塞方式設(shè)計(jì),因此,數(shù)據(jù)庫部分設(shè)計(jì)為異步隊(duì)列方式。需要訪問數(shù)據(jù)庫的事務(wù)根據(jù)所需要的參數(shù)創(chuàng)建數(shù)據(jù)庫訪問項(xiàng)類(DBCmdItem)的子類實(shí)例,提交到異步隊(duì)列中立即返回,數(shù)據(jù)庫訪問處理器類內(nèi)部維護(hù)了一個(gè)獨(dú)立線程來處理隊(duì)列中所有掛起的數(shù)據(jù)庫訪問項(xiàng),完成后通過回調(diào)方式通知事務(wù)處理模塊,完全避免了數(shù)據(jù)庫延遲導(dǎo)致的異步操作響應(yīng)不及時(shí)的問題。數(shù)據(jù)庫訪問項(xiàng)類是一個(gè)抽象類(定義),所有的數(shù)據(jù)庫操作都定義成統(tǒng)一虛接口,簡(jiǎn)化并統(tǒng)一了數(shù)據(jù)庫訪問處理器線程的處理流程。
3.2.3 數(shù)據(jù)中轉(zhuǎn)服務(wù)器性能測(cè)試
本文基于100Mbps的局域網(wǎng)環(huán)境對(duì)系統(tǒng)進(jìn)行了模擬測(cè)試。數(shù)據(jù)中轉(zhuǎn)服務(wù)器運(yùn)行Linux系統(tǒng)Ubuntu 10.04版本之上,客戶端軟件的硬件環(huán)境為Intel i3-2120CPU,主頻3.3GHz,內(nèi)存為4G的PC機(jī),屏幕終端通過PC機(jī)多個(gè)進(jìn)程來模擬。首先啟動(dòng)數(shù)據(jù)中轉(zhuǎn)服務(wù)器軟件為客戶端和終端分別開啟10個(gè)端口,每個(gè)端口最多可連接100個(gè)TCP連接,服務(wù)器使用一個(gè)具有600個(gè)屏幕終端,200個(gè)用戶,10個(gè)公司的數(shù)據(jù)庫測(cè)試模型,同時(shí)連接200個(gè)客戶端和600個(gè)模擬終端,測(cè)試結(jié)果見表1。
表1 測(cè)試結(jié)果Tab.1 Testing results
從表1可以看出,系統(tǒng)在短時(shí)間內(nèi)成功處理大量的并發(fā)連接請(qǐng)求,具有較高的數(shù)據(jù)吞吐量和良好的穩(wěn)定性。
在本文的設(shè)計(jì)中,客戶端軟件與異步終端軟件是可以多樣化的,是業(yè)務(wù)相關(guān)的,兩個(gè)不同業(yè)務(wù)會(huì)有不同的客戶端軟件和軟件。同時(shí)這些差異化的客戶端和終端軟件在管理結(jié)構(gòu)和通信協(xié)議上又必須符合上述的設(shè)計(jì)。這使得本系統(tǒng)具備了多項(xiàng)目擴(kuò)展能力,在本質(zhì)上區(qū)別于其他異步屏幕管理系統(tǒng)。
為了能快速為客戶定制新的客戶端和終端軟件,最大化的代碼重用和低耦合的軟件結(jié)構(gòu)設(shè)計(jì)是必不可少的。圖5和圖6分別為客戶端軟件和異步終端軟件的基本結(jié)構(gòu)。
圖5 客戶端軟件基本結(jié)構(gòu)圖Fig.5 Basic structure of the client software
圖6 異步終端軟件基本結(jié)構(gòu)圖Fig.6 Basic structure of asynchronous terminal software
客戶端軟件從上至下分3個(gè)層次,界面層,業(yè)務(wù)層,網(wǎng)絡(luò)通信層。用戶從登錄界面登錄到服務(wù)器,然后獲取用戶權(quán)限下所有可控異步屏幕終端列表,呈現(xiàn)在終端列表界面中,從而對(duì)列表中的各個(gè)終端可進(jìn)行狀態(tài)監(jiān)控和節(jié)目更新。節(jié)目編輯界面提供屏幕顯示內(nèi)容的編輯和預(yù)覽功能。每個(gè)公司或者項(xiàng)目可能會(huì)有不同的編輯界面。如高速公路情報(bào)板界面要求具備常用路況圖標(biāo)和點(diǎn)陣文字布局,而廣告小區(qū)屏幕的編輯界面要求能插入動(dòng)畫、視頻和彩色圖片。
圖6是異步終端軟件的基本結(jié)構(gòu),分為終端控制和節(jié)目播放兩個(gè)部分??刂撇糠衷O(shè)計(jì)為3個(gè)層次:頂層是系統(tǒng)控制層,中間是協(xié)議的生成和解釋層,底層是與中轉(zhuǎn)服務(wù)器代碼復(fù)用的網(wǎng)絡(luò)通信層。本文設(shè)計(jì)的中轉(zhuǎn)服務(wù)器透明轉(zhuǎn)發(fā)用戶與終端之間的通信數(shù)據(jù)包,因此,不同的項(xiàng)目除了節(jié)目播放器可以不同之外,也可以有不同的終端協(xié)議數(shù)據(jù)包,完全無縫的兼容于同一個(gè)中轉(zhuǎn)服務(wù)器。
這里通過圖7來綜合描述中轉(zhuǎn)服務(wù)器、客戶端軟件、異步終端軟件三者之間及其內(nèi)部各主要模塊的數(shù)據(jù)傳遞與調(diào)用關(guān)系。
圖7 系統(tǒng)運(yùn)行時(shí)數(shù)據(jù)流圖Fig.7 Runtime data flow of the system
針對(duì)移動(dòng)互聯(lián)網(wǎng)的日益普及帶來的異步LED顯示屏集群管理系統(tǒng)的新需求,本文將常規(guī)服務(wù)器的模式與異步屏幕領(lǐng)域結(jié)合起來,提出了一種以廣域網(wǎng)絡(luò)為基本承載的異步屏集群管理系統(tǒng)結(jié)構(gòu),又結(jié)合異步應(yīng)用需求多樣性、客戶及屏幕多樣性等行業(yè)特點(diǎn),建立了較為完備通用的關(guān)系數(shù)據(jù)庫模型和通用的網(wǎng)絡(luò)協(xié)議,并且定義了可復(fù)用的客戶端和終端軟件架構(gòu),從設(shè)計(jì)和實(shí)現(xiàn)兩方面解決了單一服務(wù)器系統(tǒng)同時(shí)支持多個(gè)應(yīng)用領(lǐng)域、多用戶、不同屏幕群體的問題。因此本文的設(shè)計(jì)是一種開放式可擴(kuò)展的異步LED屏幕集群系統(tǒng)平臺(tái)。在實(shí)現(xiàn)方法上進(jìn)行了大量的優(yōu)化,實(shí)際完成的系統(tǒng)在性能和穩(wěn)定性方面達(dá)到了實(shí)用的標(biāo)準(zhǔn)。誠然,本文實(shí)現(xiàn)的系統(tǒng)也有其局限,網(wǎng)絡(luò)通信的可靠性和及時(shí)性極大的依賴于網(wǎng)絡(luò)運(yùn)營(yíng)商,只有可以承受這種潛在風(fēng)險(xiǎn)的項(xiàng)目才適合采用本系統(tǒng)。
[1]田志輝,王瑞光,陳宇,等.LED顯示屏高光效高畫面填充比光學(xué)設(shè)計(jì)與研究[J].發(fā)光學(xué)報(bào),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ì)算[J].發(fā)光學(xué)報(bào),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]王志斌,張騫,張健,等.基于表面等離子激元的雙金屬光柵結(jié)構(gòu)提高LED光提取效率的研究[J].發(fā)光學(xué)報(bào),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ī)屏系統(tǒng)設(shè)計(jì)[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]余文佳,王瑞光,宋喜佳.氣象預(yù)警信息顯示終端設(shè)計(jì)[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]程鵬,王瑞光,鄭喜鳳,等.嵌入式公路可變情報(bào)板通訊系統(tǒng)設(shè)計(jì)[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]丁鐵夫,陳偉,鄭喜鳳,等.多媒體協(xié)處理器SM501在全彩LED顯示屏脫機(jī)播放系統(tǒng)的應(yīng)用[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在關(guān)系數(shù)據(jù)庫設(shè)計(jì)中的應(yīng)用[J].計(jì)算技術(shù)與自動(dòng)化,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協(xié)議設(shè)計(jì)模式[J].計(jì)算機(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程序庫完全開發(fā)指南[M].北京:電子工業(yè)出版社,2010.
[12]雷小俊,李偉.SQLite在嵌入式 Web服務(wù)器中的應(yīng)用[J].信息技術(shù),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的應(yīng)用與分析[J].現(xiàn)代計(jì)算機(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)