異步LED顯示屏集群管理系統論文

前言:尋找寫作靈感?中文期刊網用心挑選的異步LED顯示屏集群管理系統論文,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

異步LED顯示屏集群管理系統論文

1系統總體設計

1.1系統基本結構

本文提出的異步LED顯示屏集群管理系統結構圖,分為4個部分:數據中轉服務器,媒體服務器,屏幕終端,客戶端。數據中轉服務器是一臺具有獨立域名或者廣域網IP地址的主機,安裝Linux操作系統服務器版本。本文設計的數據中轉服務軟件基于Linux環境運行,同時監聽多個端口來接收并維持當前登錄用戶和已注冊的屏幕終端的TCP連接。服務器軟件維護了全部的客戶公司、用戶、屏幕及其關聯關系的數據庫,對于關聯的用戶和屏幕之間的消息可以進行實時透明的轉發。數據中轉服務器具有連接數量多,單個連接數據通信量小、頻率低等特點,適合用戶對屏幕的實時監控,圖文類型屏幕的節目實時。但是對于多個屏幕的大數據量傳輸沒有優勢,如視頻類顯示內容的更新等,這種情況下,需要使用到媒體服務器。媒體服務器與數據中轉服務器一樣具有獨立域名,主要用于存儲和傳輸大容量節目文件。本文基于搭建FTP服務器實現媒體服務器功能。用戶可以通過本地節目制作軟件編輯節目,將節目及素材按照特定的組織方式存儲于媒體服務器上。用戶準備好待播放的節目與素材后,通過數據中轉服務器實時向屏幕終端發送更新播放節目內容的指令,屏幕終端轉向媒體服務器請求媒體播放內容。媒體服務器的特點是只提供媒體內容相關的服務,如文件下載和上傳。屏幕終端由ARM嵌入式系統、屏幕掃描控制系統和屏幕驅動板構成,并借助于Linux操作系統強大的網絡功能,為終端提供3G無線網絡通信、10/100M自適應以太網通信、RS485串行接口通訊等多種通信方式。屏幕終端軟件運行于該系統之上,主動連接數據中轉服務器,并長久保持網絡連接,從而可以使用戶對屏幕終端狀態實時進行監控??蛻舳税≒C客戶端和移動客戶端,必須工作在可以連入互聯網的硬件環境,在設定數據中轉服務器域名和端口后,主動連接中轉服務器。用戶需要輸入鑒權密鑰后登錄進服務器,登錄后可以對所轄屏幕終端的進行狀態監控和節目更新等實時操作。

1.2系統數據庫建模

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

1.3分層通信協議設計

考慮到數據傳輸的可靠性和有序性,本文的數據通信以TCP協議為基礎。同時,為了解決基于TCP協議的數據流同步問題以及處理多個用戶、多個事務,多個連接,多個層次的消息數據包等問題,本文設計了一種基于TCP協議之上的分層通信協議。各層采用統一的接口就可以實現層次之間的通信,進而可以對各層的內部結構獨立設計,更加易于協議的維護和實現。協議主要分3層:收發層,會話層和業務層。收發層對上層數據包加入了幀標識和幀長度標志標量,用以解決TCP協議流式傳輸的幀同步問題和非法連接請求。分發層包頭定義了上層數據包類型和用戶登錄ID,區分不同的用戶以及不同類型的協議數據包,從而將數據包準確的分發到對應的用戶或相應的數據處理模塊。業務層數據包包括登錄數據包、服務器管理數據包和終端數據包,分別用來封裝用戶登錄與注銷,對服務器數據庫管理和終端操作詳細協議數據內容。

2系統各部分設計與實現

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

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

本系統設計重點在于在多對多模式下中轉服務器具備高并發響應速度和帶載能力。本文采用C++語言進行開發,兼具了高效性和面向對象設計方法的優勢。同時采用了大量跨平臺的開源軟件庫,如Boost、SQLite、QT等??蛻舳?、異步終端、中轉服務器三部分的網絡通信相關代碼基于Boost.Asio開發。Asio庫基于操作系統提供的異步機制,采用前攝器設計模式實現了可移植的異步IO操作,并且異步模式下可以最大化避免使用多線程和互斥鎖,減小同步模式下多線程編程帶來的諸多有害副作用(如條件競爭、死鎖、線程切換開銷等)。數據庫部分采用SQLite數據庫。SQLite是一個自包含、無服務器、零配置、事物支持的進程內數據庫引擎,也是一款開源輕型,占用資源低,跨平臺的數據庫。

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

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

2.2.1網絡通信部分

對于中轉服務器而言網絡通信部分是系統帶載能力、數據響應性能的基礎。關鍵技術在于大量連接的維持和數據并發處理能力。本文從3個方面對此進行優化設計:(1)異步模式與線程池并用,零延遲操作同時能夠合理化利用多核CPU資源。(2)使用棧緩沖及緩沖池實現協議數據零拷貝和最小化堆內存申請釋放開銷。(3)多用戶、多屏幕終端的快速映射查找,最小化數據透明轉發的延遲。網絡通信部分完全采用Boost.Asio的異步通信模式,同時為更好發揮硬件多CPU核心并行處理能力,本設計采用異步IO模式結合線程池的方法進一步提高應用程序的運行效率。線程池類基于Asio的io_sevice類和boost::thread類封裝而成。線程池的個數取決于CPU個數,一般而言異步通信模式下線程數目不應超過CPU核心數量的3倍。為了更高效地完成數據通信中的協議解析和打包,本文設計了協議棧緩沖類,將網絡通信中的數據緩沖進行了封裝,提供簡潔的數據包封裝和解析功能?;緦崿F原理是采用指針對同一緩沖數據的指針地址作增減移動來添加和去除數據包頭,避免了協議數據在不同層次中傳遞時復制引起的性能開銷。另外本文實現了棧緩沖池類在進程空間回收和再分配引用計數為0的棧緩沖實例,避免了頻繁的進行系統調用分配堆內存,提高內存分配性能。

2.2.2消息處理與數據庫訪問

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

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

本文基于100Mbps的局域網環境對系統進行了模擬測試。數據中轉服務器運行Linux系統Ubuntu10.04版本之上,客戶端軟件的硬件環境為Inteli3-2120CPU,主頻3.3GHz,內存為4G的PC機,屏幕終端通過PC機多個進程來模擬。首先啟動數據中轉服務器軟件為客戶端和終端分別開啟10個端口,每個端口最多可連接100個TCP連接,服務器使用一個具有600個屏幕終端,200個用戶,10個公司的數據庫測試模型,同時連接200個客戶端和600個模擬終端。系統在短時間內成功處理大量的并發連接請求,具有較高的數據吞吐量和良好的穩定性。

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

在本文的設計中,客戶端軟件與異步終端軟件是可以多樣化的,是業務相關的,兩個不同業務會有不同的客戶端軟件和軟件。同時這些差異化的客戶端和終端軟件在管理結構和通信協議上又必須符合上述的設計。這使得本系統具備了多項目擴展能力,在本質上區別于其他異步屏幕管理系統。為了能快速為客戶定制新的客戶端和終端軟件,最大化的代碼重用和低耦合的軟件結構設計是必不可少的??蛻舳塑浖纳现料路?個層次,界面層,業務層,網絡通信層。用戶從登錄界面登錄到服務器,然后獲取用戶權限下所有可控異步屏幕終端列表,呈現在終端列表界面中,從而對列表中的各個終端可進行狀態監控和節目更新。節目編輯界面提供屏幕顯示內容的編輯和預覽功能。每個公司或者項目可能會有不同的編輯界面。如高速公路情報板界面要求具備常用路況圖標和點陣文字布局,而廣告小區屏幕的編輯界面要求能插入動畫、視頻和彩色圖片。分為終端控制和節目播放兩個部分??刂撇糠衷O計為3個層次:頂層是系統控制層,中間是協議的生成和解釋層,底層是與中轉服務器代碼復用的網絡通信層。本文設計的中轉服務器透明轉發用戶與終端之間的通信數據包,因此,不同的項目除了節目播放器可以不同之外,也可以有不同的終端協議數據包,完全無縫的兼容于同一個中轉服務器。

2.4系統運行時數據流圖

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

3結論

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

作者:劉飛 王瑞光 陳偉 單位:中國科學院長春光學精密機械與物理研究所 中國科學院大學

亚洲精品一二三区-久久