成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一個實際嵌入式系統(tǒng)架構(gòu)的演化

物聯(lián)網(wǎng) 架構(gòu)
成熟的MVC模式保證了后續(xù)一系列的可擴充性,而框架則保證了這個架構(gòu)的在所有產(chǎn)品中的準(zhǔn)確重用。

上世紀九十年代,互聯(lián)網(wǎng)的極速發(fā)展讓通訊測試設(shè)備也得到了極大的發(fā)展。那個年代,能夠?qū)崿F(xiàn)某種測量的硬件是競爭的核心,軟件的目的僅僅是驅(qū)動硬件運行起來,再提供一個簡單的界面。所以,最初的產(chǎn)品的軟件結(jié)構(gòu)非常簡單,類似前面的城鐵門禁系統(tǒng)。

  • 優(yōu)點:程序簡單明了的實現(xiàn)了用戶的需求,一個程序員就可以全部搞定。
  • 缺點:完全沒有劃分模塊,底層上層耦合嚴重。

1. 數(shù)據(jù)處理

用戶要求能將測量結(jié)果保存下來,并可以重新打開。數(shù)據(jù)存儲模塊和界面被獨立出來。

依然保持上面的主邏輯,但是界面部分不僅可以顯示實時的數(shù)據(jù),也可以從ResultManager中讀取數(shù)據(jù)來顯示。

  • 優(yōu)點:數(shù)據(jù)和界面分離的雛形初步顯現(xiàn)
  • 缺點:ResultManager只是作為一個工具存在,負責(zé)保存和裝載歷史數(shù)據(jù)。界面和數(shù)據(jù)的來源依然耦合的很緊。不同的界面需要的不同數(shù)據(jù)都是通過硬編碼判斷的。

2. 窗口管理

隨著功能不斷復(fù)雜,界面窗口越來越多,原來靠一個類來繪制各種界面的方式已經(jīng)不能承受。于是窗口的概念被引入。每個界面都被視為一個窗口,窗口中的元素為控件。窗口的打開,關(guān)閉,隱藏則由窗口管理器負責(zé)。

  • 優(yōu)點:界面功能以窗口的單位分離,不再是一個超大的集合。
  • 缺點:雖然有了窗口管理器,但是界面依然是直接和底層耦合的,依然是大循環(huán)結(jié)構(gòu)。

3. MVC模式

隨著規(guī)模進一步擴大,最初的大循環(huán)結(jié)構(gòu)終于無法滿足日益復(fù)雜的需求了。標(biāo)準(zhǔn)的MVC模式被引入,經(jīng)歷了一次大的重構(gòu)。

數(shù)據(jù)中心作為Model被獨立出來,保存著當(dāng)前最新的數(shù)據(jù)。View被放在了獨立的任務(wù)中執(zhí)行,定期從DataCenter輪詢數(shù)據(jù)。用戶的操作通過View發(fā)送給Controller,進一步調(diào)用硬件驅(qū)動執(zhí)行。硬件執(zhí)行的結(jié)果從驅(qū)動到Controller更新到DataCenter中。界面,數(shù)據(jù),命令三者基本解耦。ResultManager成為DataCenter的一個組件,View不再直接與其通訊。

MVC模式的引入,第一次讓這個產(chǎn)品了有真正意義上職責(zé)明晰,功能獨立的架構(gòu)。

4. 大量類似模塊,低效的復(fù)用

到上一步,作為一個單獨的嵌入式設(shè)備,其架構(gòu)基本可以滿足需求。但是隨著市場的擴展,越來越多的設(shè)備被設(shè)計出來。這些設(shè)備雖然執(zhí)行的具體測量任務(wù)不同,但是他們都有著同樣的操作方式,類似的界面,更主要的是,它們面臨的問題領(lǐng)域是相同的。長期以來,復(fù)制和粘貼是唯一的復(fù)用方式,甚至類名變量名都來不及改。一個錯誤在一個設(shè)備上被修正,同樣一段代碼的錯誤在其他設(shè)備上卻來不及修改。而隨著團隊規(guī)模的擴大,甚至MVC的基本架構(gòu)在一些新設(shè)備上都沒能遵守。

最終框架被引入了這個系列的產(chǎn)品。框架確定了如下內(nèi)容:

  • MVC模式的基本架構(gòu)
  • 窗口管理器和組件布局算法
  • 多國語言方案(字符串管理器)
  • 日志系統(tǒng)
  • 內(nèi)存分配器和內(nèi)存泄露檢測

5. 遠程控制

客戶希望將設(shè)備固定安放在網(wǎng)絡(luò)的某個位置,作為“探針”使用,在辦公室通過遠程控制來訪問這個設(shè)備。這對于原本是作為純手持設(shè)備設(shè)計的系統(tǒng)又是一個挑戰(zhàn)。幸運的是,MVC架構(gòu)具有相當(dāng)?shù)膹椥裕缙诘耐度氆@得了回報。

TL1 Server 對外提供基于Telnet的遠程控制接口。在系統(tǒng)內(nèi)部,它的位置相當(dāng)于View,只和原有的Controller和DataCenter通訊。

6. 自動化的TL1解釋器

由于TL1命令相當(dāng)多,而TL1又往往不是客戶的第一需求,很多設(shè)備的TL1命令開始不完整。究其原因,還是手寫TL1命令的解釋器太累。后來通過引入Bison和Flex,這個問題有所改善,但還是不足。自動化代碼生成在這個階段被引入。通過以如下的格式定義TL1,工具可以自動生成TL1的編碼和解碼器代碼。

CMD_NAME
{
  cmd = “SET-TIME-CONFIG::<ctag>::<year>,<month>,<day>,<hour>,<minute>,[<second>]”
  year = 1970..2100
  month = 1..12
  day = 1..31
  hour = 0..23
  minute = 0..59
  second = 0..59
}

7. 測試的難題

經(jīng)過數(shù)十年的積累,產(chǎn)品已經(jīng)成為一個系列,幾十種設(shè)備。大部分設(shè)備進入了維護期,經(jīng)常有客戶提一些小的改進,或者要求修正一下缺陷。繁重的手工回歸測試成為了噩夢。

基于TL1的自動化測試極大的解放了測試人員。通過在PC上運行的測試腳本,回歸測試變得簡單而可靠。唯一不足的是界面部分無法驗證。

基于Test Quest的自動化工具需要在設(shè)備運行的pSOS系統(tǒng)上開發(fā)一個類似遠程桌面的軟件,而這在pSOS上并非易事。不過好消息是,由于框架固定了界面的風(fēng)格和布局算法,基于Test Quest的自動化工具會有很高的識別效率。

8. 小結(jié)

從這個實際的嵌入式產(chǎn)品重構(gòu)的歷程可以看出,第三步引入MVC模式和第四步的框架化是非常關(guān)鍵的。成熟的MVC模式保證了后續(xù)一系列的可擴充性,而框架則保證了這個架構(gòu)的在所有產(chǎn)品中的準(zhǔn)確重用。

責(zé)任編輯:趙寧寧 來源: 物聯(lián)網(wǎng)IoT技術(shù)
相關(guān)推薦

2018-06-27 09:14:54

嵌入式操作系統(tǒng)Linux

2019-08-09 10:45:09

操作系統(tǒng)WindowsLinux

2022-01-03 23:33:40

Linux組件系統(tǒng)

2020-07-03 07:00:00

Linux組件

2009-06-26 16:18:40

Windows Emb

2022-01-23 23:05:16

安全漏洞勒索軟件

2021-12-19 22:34:45

Linux容器系統(tǒng)

2022-03-18 14:08:49

嵌入式開發(fā)技巧系統(tǒng)

2022-03-11 15:44:11

嵌入式開發(fā)技巧技術(shù)

2011-04-14 15:14:36

嵌入式操作系統(tǒng)嵌入式

2022-05-06 15:56:01

開源物聯(lián)網(wǎng)邊緣計算

2012-03-09 09:45:29

Windows嵌入式操作系統(tǒng)

2012-07-30 14:13:11

Linux 2.6內(nèi)核嵌入式

2009-06-26 16:05:04

嵌入式Linux

2023-09-18 14:39:39

2011-01-06 15:11:09

嵌入式linux

2011-04-25 10:25:43

OpenEmbedde嵌入式Linux

2017-12-21 10:43:44

Linux嵌入式終端

2021-08-16 20:48:34

嵌入式單片機信息

2020-06-15 07:00:00

Linux嵌入式系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲最新在线视频 | 91综合网 | 国产成人小视频 | 中文字幕中文字幕 | av首页在线| 国产一区二区三区四区 | 欧美一区二区三区在线 | 国产视频精品免费 | 精品在线一区 | 91精产国品一二三区 | 999久久久| 男人的天堂一级片 | 欧美精品日韩精品国产精品 | 狠狠干天天干 | 久草网免费 | 亚洲免费视频在线观看 | 国产乱码精品一区二区三区五月婷 | 国产精品综合 | 色视频在线播放 | 国内久久| 亚洲精品自拍视频 | 亚洲一区二区av | 国产一区久久精品 | 欧美日韩在线一区二区三区 | 欧美日韩中文字幕在线播放 | 91视频进入 | 91精品国产91| 在线免费亚洲视频 | 在线精品观看 | 中文字幕在线人 | 99久久久无码国产精品 | 久久综合久色欧美综合狠狠 | 日韩在线一区二区三区 | 亚洲一区国产 | 男人av在线播放 | 美女日皮网站 | 精品久久久久久久久久久久久 | 国产成人99久久亚洲综合精品 | 国产一区二区三区四区五区加勒比 | 精品一区二区在线观看 | 日本大片在线播放 |