中時(shí)訊通信建設(shè)有限公司 閻 迅
在事務(wù)查詢、物聯(lián)網(wǎng)平臺(tái)上,ARM具有能效比高的優(yōu)勢(shì),獲得大量的應(yīng)用。本文將針對(duì)ARM架構(gòu)在物聯(lián)網(wǎng)應(yīng)用的開(kāi)發(fā)與,分別從系統(tǒng)的總體設(shè)計(jì)、系統(tǒng)的搭載運(yùn)行環(huán)境、性能設(shè)計(jì)與安全設(shè)計(jì)多個(gè)方面進(jìn)行分析與探討,對(duì)ARM在物聯(lián)網(wǎng)上的開(kāi)發(fā)有研究意義。
隨著ARM架構(gòu)的CPU核心頻率提升,在算力上已追上X86 架構(gòu)的CPU,且在能耗指標(biāo)上大幅優(yōu)于X86。多核心、低能耗的ARM架構(gòu)更適合物聯(lián)網(wǎng)接入管理平臺(tái)的多設(shè)備、多線程接入特點(diǎn)。在物聯(lián)網(wǎng)系統(tǒng)搭建中,以ARM平臺(tái)作為開(kāi)發(fā)平臺(tái)正逐漸成為主流趨勢(shì)。
針對(duì)ARM處理器,需要關(guān)注以下關(guān)鍵點(diǎn)/重點(diǎn)。
系統(tǒng)的兼容性:系統(tǒng)要兼容ARM與非ARM環(huán)境。
系統(tǒng)的性能:要用更高的程序效率去彌補(bǔ)硬件性能的差距。
針對(duì)上述特點(diǎn),如下應(yīng)對(duì)措施:
(1)系統(tǒng)入口自動(dòng)分辨客戶端環(huán)境,引導(dǎo)至對(duì)應(yīng)的客戶端程序中,由相應(yīng)客戶端程序分別處理不同環(huán)境下的操作指令(如不同的插件、樣式代碼、打印掃描接口等),客戶端數(shù)據(jù)處理和邏輯控制則由公共程序去統(tǒng)一調(diào)度。
(2)對(duì)于系統(tǒng)的性能調(diào)優(yōu)的方面,針對(duì)本系統(tǒng)中ARM架構(gòu)的CPU及響應(yīng)數(shù)據(jù)庫(kù)的特性持續(xù)調(diào)優(yōu)。
(1)易用原則:界面簡(jiǎn)捷、直觀,操作界面人性化,操作簡(jiǎn)單、方便。
(2)穩(wěn)定原則:高持續(xù)、高可靠運(yùn)行不停歇運(yùn)轉(zhuǎn)。
(3)安全原則:高安全性。在滿足數(shù)據(jù)不丟失、系統(tǒng)持續(xù)可靠運(yùn)轉(zhuǎn)的同時(shí),符合國(guó)家的相關(guān)安全標(biāo)準(zhǔn)。
(4)擴(kuò)展原則:當(dāng)業(yè)務(wù)流程需要調(diào)整時(shí),可快速適應(yīng)各類變化。
(5)集成原則:搭建綜合管理接口,各個(gè)業(yè)務(wù)流程間,通過(guò)完全銜接設(shè)計(jì)。
使用Java語(yǔ)言編程。系統(tǒng)采用B/S體系,將性能集中于服務(wù)器中。在客戶端依托瀏覽器登入。遵循“表現(xiàn)層-業(yè)務(wù)層-數(shù)據(jù)層”三層次結(jié)構(gòu)。
云計(jì)算技術(shù);分布式文件系統(tǒng);Web Services技術(shù);XML技術(shù)。
系統(tǒng)數(shù)據(jù)分為:
基礎(chǔ)數(shù)據(jù),內(nèi)部的參數(shù)代碼表。
業(yè)務(wù)基礎(chǔ)數(shù)據(jù),包括設(shè)備信息,權(quán)限策略,信息分類等基礎(chǔ)數(shù)據(jù)。
業(yè)務(wù)數(shù)據(jù),與具體的應(yīng)用緊密相關(guān),如設(shè)備的管理、有關(guān)狀態(tài)等。
(1)服務(wù)器端環(huán)境
支持麒麟操作系統(tǒng)V10版本以及統(tǒng)信針對(duì)ARM處理器開(kāi)發(fā)的操作系統(tǒng),中間件支持自主可控的產(chǎn)品,數(shù)據(jù)庫(kù)支持ARM編譯。
(2)客戶端環(huán)境
支持IE瀏覽器、Linux環(huán)境下的瀏覽器。
處理能力:
支持不少于100個(gè)并發(fā)連接;支持不少于2000個(gè)設(shè)備的同時(shí)在線,系統(tǒng)全天候不間斷運(yùn)行,在出現(xiàn)故障的情況下,修復(fù)時(shí)間低于30min。
響應(yīng)時(shí)間要求如表1所示。
表1 系統(tǒng)響應(yīng)要求表
(1)系統(tǒng)整體性能設(shè)計(jì)
因?yàn)橄到y(tǒng)性能受限于系統(tǒng)中各環(huán)節(jié)的瓶頸,所以系統(tǒng)各個(gè)功能模塊設(shè)計(jì)成小核心CORE。
編寫代碼時(shí),減低嵌套與子循環(huán)。使用短指令方式,多利用CPU一級(jí)與二級(jí)緩存,加快讀寫效率。
(2)數(shù)據(jù)庫(kù)編程性能設(shè)計(jì)
①合理使用索引
索引使用原則如下:
在高頻連接且無(wú)指定外鍵的列上搭建索引,其他由優(yōu)化器生成索引;在頻繁進(jìn)行排序的列上建立索引,不同值較少的列盡可能不搭建索引。
②避免或簡(jiǎn)化排序
大型表應(yīng)簡(jiǎn)化,或直接規(guī)避重復(fù)排序。
③避免相關(guān)子查詢
盡量避免子查詢。不得不使用子查詢情況下,將在其中濾除盡量多的行。
④避免困難的正規(guī)表達(dá)式
查詢時(shí)關(guān)注查詢語(yǔ)句寫法是否規(guī)范、合理。
⑤使用臨時(shí)表加速查詢
通過(guò)保證臨時(shí)表中的行比主表中的行規(guī)模小,實(shí)現(xiàn)磁盤I/O的降低,從而大幅削減查詢占用的工作量。
應(yīng)用支撐平臺(tái)架構(gòu):應(yīng)用支撐平臺(tái)包含五大部分:數(shù)據(jù)層;支撐層;應(yīng)用層;服務(wù)層;門戶層。
①數(shù)據(jù)層
數(shù)據(jù)層是平臺(tái)數(shù)據(jù)處理的部分。
②支撐層
支撐層提供的統(tǒng)一基礎(chǔ)支撐,包括用戶、資源、權(quán)限等的管理。
③服務(wù)層
服務(wù)層功能如圖1所示。
圖1 服務(wù)處功能圖
④應(yīng)用層
應(yīng)用層功能如圖2所示。
圖2 應(yīng)用層功能圖
⑤門戶層
門戶層提供框架、組件、還原、定制的管理。
本次系統(tǒng)采用集中部署,滿足局域網(wǎng)、手機(jī)或平板電腦移動(dòng)辦公等方式。
根據(jù)以上特點(diǎn),結(jié)合過(guò)往的項(xiàng)目經(jīng)驗(yàn),系統(tǒng)存在著以下主要安全威脅,如表2所示。
表2 主要威脅表
系統(tǒng)安全分為內(nèi)外兩層防控體系。
(1)外層防控
外層防控由入侵檢測(cè)、漏洞掃描、防火墻、控制網(wǎng)關(guān)等構(gòu)成,為信息安全提供網(wǎng)絡(luò)安全保障。
入侵檢測(cè)用于檢測(cè)內(nèi)部網(wǎng)絡(luò)入侵,檢查不同網(wǎng)絡(luò)和不同工作站上可能出現(xiàn)的惡意入侵。
漏洞掃描用于發(fā)現(xiàn)系統(tǒng)漏洞,分析操作系統(tǒng)、網(wǎng)絡(luò)平臺(tái)、應(yīng)用軟件的脆弱性,進(jìn)而可采用補(bǔ)丁分發(fā)等安全措施進(jìn)行封堵。
防火墻系統(tǒng)和控制網(wǎng)關(guān)則在網(wǎng)絡(luò)內(nèi)部劃分安全域,加強(qiáng)保護(hù)各類核心資產(chǎn)。
(2)內(nèi)層監(jiān)控
統(tǒng)一用戶管理是多種應(yīng)用的用戶身份帳號(hào)的唯一來(lái)源,為身份認(rèn)證、授權(quán)、審計(jì)以及業(yè)務(wù)系統(tǒng)提供可信的人員信息基礎(chǔ)。
統(tǒng)一信息分類為授權(quán)和訪問(wèn)控制提供客體信息標(biāo)識(shí),為業(yè)務(wù)系統(tǒng)提供信息分類服務(wù),為進(jìn)行統(tǒng)一權(quán)限管理提供可靠的客體信息。
統(tǒng)一身份認(rèn)證系統(tǒng)提供在進(jìn)入業(yè)務(wù)應(yīng)用系統(tǒng)時(shí)單點(diǎn)登錄認(rèn)證,同時(shí)又以認(rèn)證組件方式為系統(tǒng)其他重要模塊、重要信息作多層認(rèn)證。
統(tǒng)一權(quán)限管理以身份認(rèn)證為基礎(chǔ),以多級(jí)多人管理的方式構(gòu)成統(tǒng)一權(quán)限分配體系,實(shí)施敏感應(yīng)用的訪問(wèn)控制,實(shí)現(xiàn)對(duì)信息的真實(shí)可控。
安全審計(jì)和主機(jī)防控措施對(duì)終端的端口和用戶的行為進(jìn)行審計(jì)監(jiān)控,保證工作站的可查可控。
(1)存在問(wèn)題
一方面問(wèn)題主要集中接入部分,如設(shè)備驅(qū)動(dòng)程序等;另一方面是舊有的部分代碼不利于多核心調(diào)用,強(qiáng)調(diào)單核心的頻率。
(2)調(diào)優(yōu)方案
選擇成熟產(chǎn)品或版本更新較快的接入設(shè)備。
采取多核心的進(jìn)程分布設(shè)計(jì)系統(tǒng)進(jìn)程,根據(jù)核心數(shù)進(jìn)行調(diào)優(yōu)。利用大核心針對(duì)高負(fù)荷計(jì)算,小核心針對(duì)簡(jiǎn)單處理。并發(fā)線程均衡分配到各核心,調(diào)用多核心優(yōu)勢(shì)。
(1)原應(yīng)用瀏覽器支持情況及問(wèn)題
頁(yè)面顯示混亂。
JS腳本無(wú)法正常運(yùn)行。
(2)調(diào)優(yōu)方案
通過(guò)調(diào)整CSS層疊樣式表實(shí)現(xiàn)。使用CSS后,html表現(xiàn)樣式的代碼編寫標(biāo)簽便可失去作用。
小結(jié):經(jīng)過(guò)性能比對(duì),ARM架構(gòu)的性能比MIPS的性能領(lǐng)先14%以上。借助滿負(fù)載使用大核心、低負(fù)載使用小核心的處理方式,ARM系統(tǒng)比X86的能耗低12%。系統(tǒng)可以快速部署在不同硬件系統(tǒng)的平臺(tái)上,具有很強(qiáng)的云平臺(tái)部署能力,很適合在工業(yè)化上大規(guī)模應(yīng)用,能降低用戶的開(kāi)發(fā)成本。
ARM架構(gòu)借助頻率提升及制程升級(jí)實(shí)現(xiàn)節(jié)能省電。在ARM V9版本提升后,多核心性能隨之提高。物聯(lián)網(wǎng)接入管理平臺(tái)的業(yè)務(wù)特性是接入量大、并發(fā)請(qǐng)求大,算力要求不高,很適合部署于ARM結(jié)構(gòu)上。