<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于WinCE的智能終端自動升級引擎設計

          基于WinCE的智能終端自動升級引擎設計

          作者: 時間:2012-03-21 來源:網(wǎng)絡 收藏

          1.引言

          軟件的維護模式經(jīng)歷了幾個階段,都各有其發(fā)展的客觀原因,也各有優(yōu)缺點。

          本文在對現(xiàn)有的軟件維護模式理論的分析比較后,結(jié)合機場系統(tǒng)的具體項目,應用嵌入式技術、數(shù)據(jù)庫技術和等技術設計和實現(xiàn)了基于引擎,對該升級引擎的設計進行了詳細說明。

          2.軟件維護

          2.1 軟件維護的目的

          軟件維護是指修正已經(jīng)運行的軟件系統(tǒng)所需要做的工作。運行程序的環(huán)境在不斷變化,程序的故障也在不斷發(fā)現(xiàn),軟件需要改正,改進,需要優(yōu)化;不僅當前的版本要改變,而且仍在使用的舊版本也要維護。即將投入使用的新的版本,可能也需要修改。解決原有的問題需要花費精力,改變后的版本又可能帶來新的問題;依靠個人來維護軟件在大型系統(tǒng)中顯得很不實際。由此軟件科學有效地維護成為了軟件工程的主要目標之一,意義重大。

          2.2 軟件維護模式比較

          (1)Mainframe/Terminal階段:在計算機發(fā)展的早期,計算資源非常有限,對軟件的維護只需對主機進行,維護相對簡單。但用戶必須登錄到主機才能使用計算資源。

          (2)Client/Server階段:Server接收來自Client的請求。完成像數(shù)據(jù)庫這樣的處理,將結(jié)果返回給Client。這種模式中,Client端軟件可能出于不同的軟件和硬件平臺,導致運行環(huán)境和軟件版本的不一致,如果讓用戶自已及時下載最新的 client軟件,這會給用戶帶來不便。

          (3)CORBA模式:進一步在軟件的可維護性,可擴展性上作了擴展。CORBA定義了一個帶有開放軟件總線的分布式結(jié)構,在這一結(jié)構中,運行在不同操作系統(tǒng)上的對象,能夠進行互操作。但CORBA模式龐大而復雜,并且技術標準更新相對較慢,影響了系統(tǒng)開發(fā)的效率。

          可以看出傳統(tǒng)的三種維護模式各有憂缺點,在機場系統(tǒng)具體的應用中,我們充分利用了三種維護模式的優(yōu)點,并采用當下流行的技術嘗試了一種新的軟件維護模型:即結(jié)合嵌入式技術、數(shù)據(jù)庫技術和等技術采用基于的智能終端模式,充分考慮軟件的自動維護和升級,又照顧到實際應用中的帶寬限制。客戶端啟動時能夠完成,并且在運行中運用技術,當獲取到新的版本信息,經(jīng)分析處理、認定后主動實時地發(fā)送給定制版本信息的智能終端用戶,實現(xiàn)了信息找用戶,保障了軟件版本的即時快速的更新。

          3.智能終端自動升級

          3.1 智能終端自動升級的模型

          智能終端自動升級的模型如圖1所示。

          圖1 智能終端自動升級的模型


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();