劉小霞
(巴音郭楞職業(yè)技術(shù)學(xué)院,新疆 庫爾勒 841009)
隨著計(jì)算機(jī)通信技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)遠(yuǎn)程控制已成為現(xiàn)代智能化管理的重要手段之一[1]。文章設(shè)計(jì)并實(shí)現(xiàn)一個基于計(jì)算機(jī)通信技術(shù)的網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng),可實(shí)現(xiàn)設(shè)備的遠(yuǎn)程監(jiān)控、控制指令的發(fā)送與接收以及數(shù)據(jù)的實(shí)時(shí)傳輸?shù)裙δ?,為用戶提供便捷、高效的遠(yuǎn)程控制體驗(yàn)。
客戶端作為網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng)的核心組成之一,需要與用戶直接交互,負(fù)責(zé)接收用戶發(fā)出的指令并發(fā)送到服務(wù)器端,同時(shí)展示來自服務(wù)器端的數(shù)據(jù)和設(shè)備的狀態(tài)信息[2]。為實(shí)現(xiàn)這一功能,客戶端可細(xì)分為多個層次,每個層次都有各自獨(dú)特的作用和處理流程??蛻舳斯δ苣K如圖1 所示。首先,用戶界面(User Interface,UI)層是用戶與系統(tǒng)的交互窗口,負(fù)責(zé)展示系統(tǒng)的圖形界面,包括設(shè)備列表、控制按鈕以及各種狀態(tài)指示器等。UI 層的指令傳輸至業(yè)務(wù)邏輯層后,可根據(jù)預(yù)設(shè)的邏輯規(guī)則進(jìn)行解析和處理。其次,通信層可以采用傳輸控制協(xié)議(Transmission Control Protocol,TCP)或用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,UDP)進(jìn)行數(shù)據(jù)傳輸,具體選擇取決于系統(tǒng)的實(shí)時(shí)性和可靠性需求。為確保數(shù)據(jù)安全,通信層采用傳輸層安全/安全套接字層(Transport Layer Security/Secure Sockets Layer,TLS/SSL)加密技術(shù)完成傳輸數(shù)據(jù)加密處理,防止數(shù)據(jù)在傳輸過程中被竊取或篡改。最后,數(shù)據(jù)模型層負(fù)責(zé)定義和管理客戶端的數(shù)據(jù)結(jié)構(gòu),包括設(shè)備信息、用戶信息以及其他相關(guān)數(shù)據(jù)的存儲格式和訪問方式[3]。數(shù)據(jù)模型層提供相應(yīng)的接口,以供業(yè)務(wù)邏輯層在需要訪問或修改設(shè)備信息時(shí)調(diào)用。為提高數(shù)據(jù)的訪問效率,數(shù)據(jù)模型層采用數(shù)據(jù)緩存機(jī)制將部分需頻繁訪問的數(shù)據(jù)緩存于本地內(nèi)存,以減少對服務(wù)器端的訪問次數(shù),從而提升整個系統(tǒng)的響應(yīng)速度。
圖1 客戶端功能模塊
服務(wù)器端基于多層次架構(gòu)運(yùn)行,各個功能模塊如圖2 所示。通信接口層在特定端口監(jiān)聽并等待客戶端發(fā)出連接請求,待連接成功后,立即準(zhǔn)備接收數(shù)據(jù)?;诮邮盏目蛻舳藬?shù)據(jù)包,請求處理層負(fù)責(zé)解析請求,驗(yàn)證請求類型和請求內(nèi)容的合法性,并進(jìn)行必要的身份驗(yàn)證和授權(quán)檢查。通過驗(yàn)證后,業(yè)務(wù)邏輯層根據(jù)請求類型執(zhí)行對應(yīng)的操作。例如,將轉(zhuǎn)發(fā)控制指令發(fā)送給設(shè)備接口層,以控制實(shí)際設(shè)備;從數(shù)據(jù)庫層檢索出最新的設(shè)備狀態(tài)數(shù)據(jù),以滿足狀態(tài)查詢請求等[4]。在處理過程中,為確保數(shù)據(jù)的完整性和一致性,服務(wù)器端可能需要利用高效的數(shù)據(jù)訪問機(jī)制實(shí)現(xiàn)與數(shù)據(jù)庫層的交互。處理完成后,服務(wù)器端將生成指令執(zhí)行結(jié)果、設(shè)備狀態(tài)數(shù)據(jù)以及其他信息,并通過通信接口層發(fā)送回客戶端。
圖2 服務(wù)器端功能模塊
在網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng)中,通信協(xié)議是確??蛻舳撕头?wù)器端之間高效、可靠以及安全傳輸數(shù)據(jù)的關(guān)鍵。因此,選擇合適的通信協(xié)議對于提升系統(tǒng)的整體性能至關(guān)重要[5]。基于計(jì)算機(jī)通信技術(shù)的網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng)主要考慮TCP 和UDP,并根據(jù)系統(tǒng)需求進(jìn)行定制化設(shè)計(jì)。
TCP通過建立和維護(hù)連接來確保數(shù)據(jù)的可靠傳輸,是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。在網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng)中,TCP 適用于對數(shù)據(jù)傳輸可靠性要求較高的場景,如設(shè)備控制指令的發(fā)送和接收。當(dāng)客戶端發(fā)送控制指令時(shí),TCP 會確保指令完整無誤地到達(dá)服務(wù)器端,并在必要時(shí)進(jìn)行重傳。當(dāng)服務(wù)器端返回設(shè)備的狀態(tài)信息或執(zhí)行結(jié)果時(shí),TCP 會確保數(shù)據(jù)的完整性和可靠性。
UDP 無須建立和維護(hù)連接,是一種無連接、不可靠的傳輸層通信協(xié)議,具有較低的傳輸延遲和開銷。在網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng)中,UDP 適用于對實(shí)時(shí)性要求較高但對數(shù)據(jù)傳輸可靠性要求相對較低的場景,如實(shí)時(shí)視頻監(jiān)控或音頻傳輸。由于UDP 不能保證數(shù)據(jù)的可靠傳輸,在設(shè)計(jì)時(shí)需要考慮數(shù)據(jù)丟失或亂序的可能性,并采取相應(yīng)的措施。
設(shè)計(jì)系統(tǒng)的通信協(xié)議時(shí),應(yīng)根據(jù)實(shí)際需求定制化地選擇和設(shè)計(jì)TCP 和UDP。對于需要保障數(shù)據(jù)可靠傳輸?shù)膱鼍?,宜選用TCP,進(jìn)而基于TCP 建立相應(yīng)的連接,以傳輸數(shù)據(jù)和啟用連接釋放機(jī)制。對于實(shí)時(shí)性要求較高的場景,宜選用UDP,進(jìn)而基于UDP實(shí)現(xiàn)相應(yīng)數(shù)據(jù)的封裝、發(fā)送及接收。同時(shí),為提高系統(tǒng)的安全性,基于計(jì)算機(jī)通信技術(shù)的網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng)對通信數(shù)據(jù)進(jìn)行加密處理,以防止數(shù)據(jù)在傳輸過程中被竊取或篡改。
服務(wù)器的基本配置為Intel Xeon 處理器、32 GB RAM、1 TB 固態(tài)硬盤(Solid State Drives,SSD),需要測試系統(tǒng)的各項(xiàng)功能,以驗(yàn)證其正確性和可用性??蛻舳嗽O(shè)備包括5 臺個人計(jì)算機(jī)(Personal Computer,PC),其中高端配置計(jì)算機(jī)和低端配置計(jì)算機(jī)各1 臺,以滿足不同的性能需求。此外,系統(tǒng)包括5 臺智能手機(jī),用于測試移動客戶端功能的可用性和兼容性。
2.2.1 用戶登錄功能測試
用戶登錄功能測試驗(yàn)證用戶能否成功登錄系統(tǒng),并確保登錄過程的準(zhǔn)確性和穩(wěn)定性。在測試過程中,首先打開網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng)的客戶端軟件,其次在登錄界面輸入正確的用戶名和密碼,最后點(diǎn)擊登錄按鈕進(jìn)行登錄操作。如果輸入的用戶名和密碼與系統(tǒng)中存儲的用戶信息匹配無誤,用戶可順利登錄。登錄成功后,系統(tǒng)將及時(shí)轉(zhuǎn)入系統(tǒng)主界面,顯示用戶的個人信息和相關(guān)控制選項(xiàng)。若登錄失敗,系統(tǒng)將給出相應(yīng)的錯誤提示,并指出具體的錯誤原因,如用戶名或密碼錯誤、賬戶被鎖定等。
2.2.2 設(shè)備列表顯示測試
提前設(shè)置3 個已成功連接系統(tǒng)的設(shè)備,分別是設(shè)備1、設(shè)備2 以及設(shè)備3,以確保設(shè)備功能正常和提升測試效率。在測試過程中,重點(diǎn)關(guān)注3 個設(shè)備的名稱和各自的連接狀態(tài)能否在設(shè)備列表中顯示。連接狀態(tài)可以設(shè)置為“Online”或“Offline”。測試的期望結(jié)果是設(shè)備列表中存在這3 個設(shè)備,且連接狀態(tài)與實(shí)際連接狀態(tài)一致。
2.2.3 遠(yuǎn)程控制功能測試
驗(yàn)證系統(tǒng)能夠遠(yuǎn)程控制設(shè)備的準(zhǔn)確度是遠(yuǎn)程控制功能測試的目標(biāo)。測試包括通過系統(tǒng)界面發(fā)送控制指令和驗(yàn)證設(shè)備是否按預(yù)期執(zhí)行相應(yīng)操作2 個部分。首先,選擇目標(biāo)設(shè)備。其次,發(fā)送控制指令,如點(diǎn)擊交互界面的按鈕或手動輸入指令。最后,驗(yàn)證設(shè)備的執(zhí)行情況,如檢查設(shè)備的響應(yīng)時(shí)間、準(zhǔn)確性以及執(zhí)行狀態(tài)。測試的期望結(jié)果是設(shè)備能夠按照指令正確執(zhí)行相應(yīng)的操作,如開啟、關(guān)閉以及調(diào)整參數(shù)等。
為評估系統(tǒng)在高負(fù)載條件下的響應(yīng)時(shí)間和穩(wěn)定性,使用性能測試工具JMeter 模擬大量用戶請求情況。測試服務(wù)器為雙核CPU(處理器基本頻率為2.33 GHz,緩存為4 MB)、8 GB 內(nèi)存、SSD(讀取速度為180 MB/s,寫入速度為133 MB/s)。配置相關(guān)參數(shù),使用JMeter 向系統(tǒng)的登錄界面發(fā)送模擬用戶請求。在測試過程中,需要實(shí)時(shí)監(jiān)控系統(tǒng)的響應(yīng)時(shí)間和系統(tǒng)資源的利用率,如中央處理器(Central Processing Unit,CPU)利用率等。
為全面驗(yàn)證系統(tǒng)的安全性,安全測試需檢驗(yàn)系統(tǒng)在拒絕未授權(quán)訪問、防結(jié)構(gòu)化查詢語言(Structured Query Language,SQL)注入、抵御跨站腳本(Cross-Site Scripting,XSS)攻擊以及修復(fù)文件上傳漏洞等方面的能力。首先,實(shí)施未授權(quán)訪問測試。模擬未經(jīng)授權(quán)的用戶對系統(tǒng)各功能模塊進(jìn)行訪問嘗試,以評估系統(tǒng)的訪問控制機(jī)制。其次,進(jìn)行SQL 注入測試。檢驗(yàn)系統(tǒng)對輸入數(shù)據(jù)的過濾與處理是否嚴(yán)密,從而確保數(shù)據(jù)庫安全。再次,執(zhí)行XSS 攻擊。通過輸入含有潛在惡意腳本的內(nèi)容,核查系統(tǒng)能否有效過濾并正確轉(zhuǎn)義用戶輸入,防止執(zhí)行惡意腳本。最后,進(jìn)行文件上傳漏洞測試。嘗試上傳攜帶惡意代碼的文件,驗(yàn)證系統(tǒng)對上傳文件的檢查與過濾機(jī)制是否完善。測試的期望結(jié)果是系統(tǒng)始終能夠拒絕未經(jīng)授權(quán)用戶的訪問請求,合規(guī)處理輸入數(shù)據(jù),有效遏制惡意腳本的運(yùn)行,嚴(yán)格把控上傳文件的安全性,并在遭遇安全威脅時(shí)給出準(zhǔn)確且適當(dāng)?shù)腻e誤提示信息。
對基于計(jì)算機(jī)通信技術(shù)的網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng)進(jìn)行測試得到測試數(shù)據(jù),將響應(yīng)時(shí)間和吞吐量作為性能指標(biāo)進(jìn)行分析。
響應(yīng)時(shí)間指系統(tǒng)從接收到請求再到返回響應(yīng)所花費(fèi)的時(shí)間,可表示為
式中:RT為響應(yīng)時(shí)間;TT為所有請求的總耗時(shí);NR為請求總數(shù)。
吞吐量指在單位時(shí)間內(nèi)系統(tǒng)處理的請求數(shù)量,可表示為
式中:TR為吞吐量;TP為測試持續(xù)的時(shí)間。
開展一次持續(xù)30 min 的性能測試,期間共發(fā)送1 000 個請求,不同時(shí)段的平均響應(yīng)時(shí)間和吞吐量的測試情況如表1 所示。
表1 不同時(shí)段的平均響應(yīng)時(shí)間和吞吐量的測試情況
從表1 可以看出,在0 ~10 min 即測試開始時(shí),平均響應(yīng)時(shí)間隨請求數(shù)量的增加而增加,原因在于系統(tǒng)未充分運(yùn)行,尚無能力處理更多請求。隨著時(shí)間的推移,系統(tǒng)逐漸能夠應(yīng)對不斷增加的請求數(shù)量,平均響應(yīng)時(shí)間不斷縮短,吞吐量逐漸增大。從結(jié)果上看,在請求數(shù)量較大的情況下,系統(tǒng)能夠有效維持較低的響應(yīng)時(shí)間和較高的吞吐量,有能力滿足大量用戶的訪問需求。
基于計(jì)算機(jī)通信技術(shù)對網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng)進(jìn)行設(shè)計(jì),實(shí)現(xiàn)了高效、穩(wěn)定的遠(yuǎn)程控制功能。通過設(shè)計(jì)系統(tǒng)架構(gòu)和測試系統(tǒng)功能,闡述系統(tǒng)在測試用戶登錄、設(shè)備列表顯示以及遠(yuǎn)程控制等方面的具體步驟,提出針對防范未授權(quán)訪問、SQL 注入、跨站腳本攻擊等安全威脅的安全測試流程。響應(yīng)時(shí)間和吞吐量的性能測試結(jié)果顯示,請求數(shù)量較大時(shí),基于計(jì)算機(jī)通信技術(shù)的網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng)可以維持穩(wěn)定的響應(yīng)時(shí)間和合理的資源利用率,性能表現(xiàn)良好。