• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于VC++自動升級軟件的研發(fā)

      2014-10-16 12:01:38路高鵬
      計算機與網(wǎng)絡 2014年1期
      關鍵詞:配置文件文件夾文檔

      路高鵬

      (中國電子科技集團公司第五十四研究所河北石家莊050081)

      1 引言

      在軟件的生命周期中, 軟件的升級和修復Bug 等后期維護工作是最重要的環(huán)節(jié), 同時也是時間最長和投入最大的階段[1]遙單機和客戶端/服務器軟件由于其具有安全性高堯穩(wěn)定性好堯能充分利用本機資源堯運行速度快和服務器壓力小等特點,現(xiàn)在仍然被廣泛應用于各種如游戲堯大型MIS 系統(tǒng)和安全類軟件等應用系統(tǒng)中[2]遙

      為了更好地開展工作袁讓軟件能夠無故障及高效的運行袁需要對這些軟件進行及時和可靠的更新或者整體的升級換代遙本文提出了一個新的軟件自動升級系統(tǒng)的架構袁可以很容易地擴展為不同方式和不同類型文件的升級袁有良好的通用性遙

      2 軟件設計思路

      軟件自動更新[3]的實現(xiàn)實質上是按照一定的規(guī)則在服務器和客戶機之間進行通信和傳遞數(shù)據(jù)袁讓二者對話遙自動升級軟件的功能組織如圖1 所示遙

      軟件采用XML 文件記錄遠程地址信息袁目標軟件的版本號袁名稱何路徑遙應用軟件通過自動從互聯(lián)網(wǎng)或者局域網(wǎng)中獲得最新的軟件版本[4]袁和當前客戶端中的軟件版本進行比較袁如果服務器端的軟件版本大于客戶端軟件的當前版本袁系統(tǒng)會要求用戶進行升級袁下載文件列表File.xml 配置文件[5]曰否則通知用戶已是最新版本遙根據(jù)所選通信協(xié)議方式袁進行文件隊列的下載遙在更新模塊根據(jù)所選的協(xié)議對相應的文件列表中的文件逐個進行操作遙

      2.1 配置服務端

      在服務器端需要安裝提供文件下載的HTTP 和FTP 服務器軟件遙

      2.2.1 配置方法

      HTTP 服務器采用的是apache-tomcat-6.0.14 綠色版袁在根目錄和bin 下的MessageConfig.xml 文檔袁修改所有IP 值為服務器IP袁 綁定本機地址曰confserver.xml 文檔袁 可修改Connector 標簽的port 端口值袁默認是8080袁可根據(jù)實際需要進行更改袁 中文支持加上 URIEncoding = "gb2312"曰webappshost -managerWEB -INF 和 conf 的 web.xml 的encoding 改為utf-8遙

      FTP 服務器軟件采用的是FileZilla Server,其功能比起商業(yè)軟件FTP Serv-U 毫不遜色遙它幾乎無用戶數(shù)限制曰多線程引擎曰在Windows NT4堯2000 和XP 下以服務形式運行曰針對fxp/反彈攻擊過濾曰安全密碼儲存(使用MD5 hash)曰實時對用戶/組進行管理曰所有選項可以在服務器在線時改變袁無需服務器下線曰傳輸超時功能可以踢掉使用普通工具保持一直在線的空閑用戶曰基于設置規(guī)則的服務器和用戶/組速度限制曰支持MODEZ 文件傳輸壓縮遙安裝后建立用戶名和密碼袁并設置權限袁供客戶端連接使用遙

      2.2.2 文件信息

      服務器端的根目錄下配置有Core.xml堯File.xml堯setting.ini袁以及發(fā)布的新文件袁都放在同一目錄下遙格式如下院

      淤Core.xml 文件內容袁分為HTTP 和FTP2 種袁格式類似袁在此只舉出一種遙

      2.2 配置客戶端[6]

      用戶安裝軟件成功過后袁在安裝目錄下Upgrade 下有淤主程序Update.exe曰于Config 文件夾院Core.xml 和setting.ini 配置文件曰盂lib 文件夾院需要靜態(tài)庫lib堯動態(tài)庫dll 的支持文件曰榆 用戶手冊袁CHM 文件曰 虞日志log 文件袁XML 和INI 文件與服務器上的文件格式相同袁均是描述本地軟件的版本信息遙

      3 關鍵功能的實現(xiàn)和編碼設計[6]

      開發(fā)環(huán)境是Visual Studio 6.0袁開發(fā)工具是VC++遙

      3.1 升級目標軟件

      3.1.1 檢測和下載模塊設計

      下面列出代碼中的重要的一些語句袁利用HTTp 協(xié)議從服務器上獲取文件狀態(tài):

      下面是下載文件代碼袁列出其中關鍵的一些語句遙

      下面列出代碼中的一些關鍵語句袁實現(xiàn)判斷FTp 服務器上的文件是目錄還是單個文件遙

      下載單個文件也是用到InternetReadFile 函數(shù)袁 并用FtpSetCurrentDirectory()定位到Ftp 當前目錄袁根據(jù)下載的文件是目錄下的文件還是單個文件袁調用FtpOpenFile()打開遠程文件遙

      3.1.2 更新模塊設計

      讀取每個文件標簽屬性袁第一個參數(shù)對應更新用途袁第二個參數(shù)對應目標軟件絕對路徑的相對路徑遙首先判斷軟件是否運行袁如果運行袁則終止遙代碼如下:

      隨后對文件進行相應的操作遙需要增添的文件直接進行移動(move)曰對COM 組件注冊(regedit)曰對批量文件的移動可以通過讀取注冊表中WinRAR 軟件的位置袁然后采用調用外部程序的方法啟動WinRAR.exe袁并附加rar 命令把壓縮文件解壓到臨時文件夾中袁然后從臨時文件夾中把文件移動到目標地址曰對安裝文件根據(jù)填寫的參數(shù)執(zhí)行靜默安裝曰此外還可進行單個文件的刪除(Del)堯文件夾的刪除(remove)遙

      3.2 自身升級模塊

      在軟件的初始界面點擊揖檢查更新銥鏈接袁即可進行本軟件的升級更新遙區(qū)別于帶升級軟件的配置文件袁采用ini 的文件格式遙此格式的文件內容以純文本方式保存袁內容被分為一個或多個區(qū)段袁在區(qū)段下存放鍵和值對袁通過區(qū)段名和鍵名可以取得對應的值遙根據(jù)設定的通信協(xié)議(http 或ftp)袁進行文件下載袁比對堯升級遙

      如果是主程序袁則進行舊主程序的更名袁更名并移動新主程序袁創(chuàng)建一個新進程遙在新程序初始化是刪除舊主程序文件遙如果是其他文件袁則直接進行文件的刪除堯替換操作遙在全面升級成功后再進行自身配置文件的替換遙

      下面那這段代碼實現(xiàn)主程序的更新:

      3.3 站點掃描功能

      自動升級軟件還提供了一個新的功能袁掃描指定站點的功能遙界面上有2個視圖控件袁上面的控件顯示站點掃描結果袁下面的顯示選中站點的文件資源遙在起始和終止IP 控件中輸入地址袁點擊揖直接查詢銥即可遙隨后在活動的站點中選擇其一(需無用戶名堯密碼)袁可查看逐級文件資源遙

      4 安裝與運行

      軟件采用InstallShield 工具打包項目袁制作成可安裝的形式袁語言為英文遙本軟件只準許一個實例運行袁啟動時會彈出歡迎界面遙用戶遇到問題時可以按F1 鍵調出幫助文檔袁參考幫助信息遙文檔是用Macrobject 軟件把word 文檔轉換成.chm文件制作而成袁同時利用BCG 美化了到VC++6.0 的界面袁使得外觀更友好堯人性化遙

      5 結束語

      軟件動態(tài)更新技術正成為當今軟件維護領域的一個重要研究課題,能否提供不間斷的服務正在成為人們衡量軟件系統(tǒng)的一項重要指標[7]。在面向服務的分布式系統(tǒng)上實現(xiàn)軟件的動態(tài)更新值得深入研究。

      [1]張 仕.基于面向對象軟件的動態(tài)更新研究[D].上海:上海交通大學,2008.

      [2]宋凌怡.軟件通用自動升級方法的研究與實現(xiàn)[J].安順學院學報,2011(3):118-120

      [3]譚安芬,王 力.系統(tǒng)自動更新升級軟件SUS 研究[J].電子工程師,2006(6):38-41.

      [4]趙小娥.用VC++編程實現(xiàn)程序的自動更新[J].西安文理學院學報:自然科學版,2006(4):80-83.

      [5]岳國華.分布式環(huán)境下C/S 模式客戶端軟件自動在線升級的設計與實現(xiàn)[J].西安科技大學學報,2011,31(1):72-76.

      [6]陳 剛,羌玲玲.用VC++實現(xiàn)軟件的自動升級[J].計算機應用與軟件,2010(10):298-301.

      [7]王德俊.面向服務的分布式系統(tǒng)動態(tài)更新研究[D].上海:上海交通大學,2010.

      猜你喜歡
      配置文件文件夾文檔
      磁力文件夾
      提示用戶配置文件錯誤 這樣解決
      有人一聲不吭向你扔了個文檔
      搭建簡單的Kubernetes集群
      互不干涉混用Chromium Edge
      忘記ESXi主機root密碼怎么辦
      調動右鍵 解決文件夾管理三大難題
      基于RI碼計算的Word復制文檔鑒別
      Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
      TC一鍵直達常用文件夾
      電腦迷(2015年1期)2015-04-29 21:24:13
      邵阳市| 龙里县| 滨州市| 墨竹工卡县| 扶沟县| 承德县| 河北区| 龙里县| 怀仁县| 龙山县| 吕梁市| 广东省| 靖远县| 叶城县| 余庆县| 台前县| 中西区| 芦山县| 德州市| 弋阳县| 安图县| 鱼台县| 永丰县| 灵武市| 栖霞市| 江阴市| 房产| 开原市| 宜黄县| 新宾| 四子王旗| 平陆县| 沈阳市| 镇宁| 桑日县| 泰和县| 诸城市| 金阳县| 平陆县| 喀喇沁旗| 会东县|