999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于.NET的客戶端自動升級系統的設計與實現

2014-03-10 11:24:24程浩
計算機與網絡 2014年10期
關鍵詞:程序功能系統

程浩

(東北大學理學院遼寧沈陽 110819)

基于.NET的客戶端自動升級系統的設計與實現

程浩

(東北大學理學院遼寧沈陽 110819)

為了解決C/S模式下客戶端的版本控制與自動升級問題,提高C/S模式下客戶端維護工作效率,基于.NET Framework,使用C#語言,采用XML文件和FTP服務器技術,實現了客戶端自動升級功能。針對該功能,對系統采用的關鍵技術和關鍵思路進行了簡要介紹,對如何讀取XML文件、下載文件和自動升級流程等進行了詳細介紹。經測試,自動升級功能操作方便,有效地提高了系統維護人員的工作效率。

.NET C/S XML信息化系統 自動升級

1 引言

眾所周知,對于一般的軟件開發,在開始的時候都會有一個技術選型的階段,最大的選型就是首先要確定是選擇Client/Server模式還是Browser/Server模式。綜合而論:二者各有優劣,在很多方面都不能被對方互相取代,如在適用Internet和維護工作量等方面,B/S比C/S要強很多;但在運行速度、數據安全和人機交互等方面,B/S就遠不如C/S那么強大。但是,C/S結構的程序可維護性差,布置困難,升級不方便成為采用C/S結構后的一大難題。

2 關鍵技術

2.1.NET框架

.NET Framework是由微軟開發的一個致力于敏捷軟件開發(Agile software development)、快速應用開發(Rapidapplication development)、平臺無關性和網絡透明化的軟件開發平臺,是以一種采用系統虛擬機運行的編程平臺,以通用語言運行時(Common Language Runtime)為基礎,支持多種語言(Visual C#、Visual Basic和Visual C++等)的開發[1]。

.NET是一種在Windows平臺上編程的新架構,提供了更多的基礎類庫,包括輸入輸出和數據訪問等各個方面。.NET Framework是面向對象的編程,具有高效的數據訪問支持,并內置了XML支持,增強了對Web服務的支持[2],.NET引入了程序集的概念,并增強了安全性。系統基于.NET Framework,使用C#語言開發。

2.2 三層C/S結構

三層C/S結構把應用功能分為表示層、功能層和數據層。利用三層C/S結構,對每層進行明確分割,使其邏輯獨立。與普通的C/S結構相比,不但數據層要作為DBMS獨立出來,表示層和功能層還要分離成獨立的程序,并形成簡潔明了的借口,三層C/S基本硬件結構圖如圖1所示。

圖1 3層C/S基本硬件結構

與傳統的C/S兩層結構相比,C/S三層結構具有以下特點:①硬件組成比較靈活的:對于各個層可以選擇與其處理負荷和處理特性相適應的硬件。這是一個與系統可縮放性直接相關的問題;于程序的可維護性得到了有效提高:三層C/S結構中,每層可以并行開發,也可以根據需要選擇適合的開發語言;③更容易管理和維護應用技術規范,各層功能獨立,所以處理邏輯變得相對簡單;④系統管理簡單,可支持異種數據庫。

2.3 xml文件

可擴展標記語言(XML)是標準通用標記語言的子集,一種用于標記電子文件使其具有結構性的標記語言。XML在. NET Framework中具有非常重要的作用。.NET Framework不僅允許在應用程序中使用XML,.NET Framework本身也在配置文件和源代碼文檔中使用XML[2]。為了拓展使用XML,. NET Framework包含了System.xml命名空間,該命名空間中的許多類都提供了管理XML文檔和流的方式。

3 關鍵思路

系統自動升級的主要思路是檢查版本信息,然后自動下載更新文件功能。自動升級的主要思想是:在本地計算機的客戶端應用程序中,放置一個AutoUpdate.xml文件,當程序運行時,首先啟動升級程序,升級程序連接到FTP服務器,檢查客戶端版本信息。如果需要更新,則根據xml文件到FTP服務器上下載新的主程序及對應的庫文件和XML配置文檔等[3]。升級成功后,啟動主程序。

4 系統實現

4.1 讀取XML文本功能的實現

為了實現讀取最新版本,系統需要把最新的版本信息放在服務器端。XML文檔是一種標準且簡單的能跨多個平臺家換的格式存儲數據方式,可以創建和使用自己的標記,具有很強的可拓展性、靈活性和自描述性[4]。

系統中,使用XML文檔存儲文件的版本信息和文件路徑信息。其中,UpdateInfo信息用于存放文件版本信息,UpdateFileList用于存放需要下載的文件信息。

下載XML文件后,系統只需讀取XML文檔中的對應節點,即可讀取到文件的版本信息和需要下載的文件信息。

讀取XML文件時,主要應用了System.xml命名空間下的類的對象。首先,初始化XMLDocument的對象,然后調用. NET提供的Load()方法打開AutoUpdater.xml文件。打開以后,使用XMLNodeList類的對象獲取FileType標簽下的所有節點。使用XML文檔作為版本控制文件,不但方便讀取版本信息,而且方便讀取需下載的文件信息。

4.2 下載文件功能的實現

.NNT類庫中提供了很多網絡操作的類,包括請求/響應層、應用協議層和傳輸層等。系統主要利用了FtpWebRequest類、FtpWebResponse類和FileStream類實現從FTP服務器下載文件功能。

首先,根據FTP地址創建FtpWebRequest對象reqFTP,指定其數據傳輸類型和登錄FTP服務器的用戶名和密碼。然后創建FtpWebResponse類對象response,利用其GetResponseStream()方法讀取文件流。最后,利用Stream類的read()方法和FileStream類的初始化方法,形成本地文件[5]。

關鍵代碼如下:

一般的,版本更新時,需要下載的文件很多也很大,需要占用很多系統資源,響應較慢。測試顯示,下載文件時,占用了較多的系統內存,反應較慢。為了提高系統響應速度,系統應用了多線程機制。

多線程的功能主要是可以提高系統的執行效率。要使用多線程,必須引入System.Threading命名空間。System. Threading中包含了大量的類和接口支持多線程。系統實現時,當發現新版本、需要下載文件時,則自動創建一個新線程(創建Thread的對象,調用Start()方法),下載FTP服務器上的系統文件。這樣,程序和主線程并存,共享系統資源,有效地提高了響應速度。

4.3 自動升級功能的實現

自動升級程序執行后,首先從服務器端下載xml版本控制文件,讀取服務器端的最新版本,然后再讀取本地xml配置文件中的客戶端版本號(節點),并與系統最新版本號進行比對,如果低于系統版本號,則提示用戶是否對軟件升級,如果用戶選擇“不升級”,則直接啟動主程序,關掉升級程序;如果用戶選擇“升級”,再讀取xml文件中的需下載文件信息,然后下載對應的文件到到對應的位置中,然后再啟動TestClient程序,關掉升級程序[6],自動升級流程圖如圖2所示。

圖2 自動升級流程圖

5 結束語

系統測試是針對整個產品系統進行的測試,目的是驗證系統是否滿足了需求規格的定義,找出與需求規格不符或與之矛盾的地方,從而提出更加完善的方案。本系統采用黑盒測試方法,系統部署后,針對自動升級系統、系統運行服務器和外設等進行了集中測試。

經測試,本系統運行穩定,操作簡單實用,易于維護,具有較快的響應速度和較強的安全性。利用該系統,可有效提高維護人員的工作效率,降低系統升級的出錯率。

[1]艾迪明..NET框架體系結構[J].計算機工程與應用,2003,39 (2):174-176.

[2]NAGEL C,EVJEN B,GLYNN J.C#2005&.NET 3.0高級編程(第5版)[M].北京:清華大學出版社,2007.

[3]杜成龍,鐘立,肖云..NET分布式系統的自動升級設計與實現[J].計算機工程,2007,33(2):239-240.

[4]徐永誠,趙曦濱,邢桂芬.XML在C/S與B/S混合體系結構下的應用[J].計算機應用研究,2002,19(6):148-150.

[5]蔡正權.文件下載系統設計[J].電腦知識與技術,2010,6(21): 6053-6057.

[6]肖江文,廖幼文.C/S結構下客戶端軟件自動升級的方法研究[J].計算機工程與應用,2005,41(35):95-97.

Design and Implementation of Client Automatic Upgrade System Based on.NET

CHENG Hao
(College of Sciences,Northeastern University,Shenyang Liaoning 110819,China)

In order to solve the problems of version control and automatic upgrade of client in Client/Server(C/S)mode and improve the efficiency of maintenance work of client in C/S mode,this paper implements the automatic upgrade function of client based on.NET Framework and using C#language,XML file as well as FTP server technology.Aiming at this function,this paper briefly introduces the key technologies and key ideas used by system,and describes in detail how to read the XML file,download the file and implement the automatic upgrade process.The test proves that the automatic upgrade function is easy to operate,and effectively improves the work efficiency of system maintenance personnel.

.NET;C/S;XML;informationization system;automatic upgrade

TP393

A

1008-1739(2014)10-52-3

定稿日期:2014-04-26

猜你喜歡
程序功能系統
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關于非首都功能疏解的幾點思考
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 青青青视频免费一区二区| 91精品国产麻豆国产自产在线| 国产网站一区二区三区| 国产成人综合欧美精品久久| 澳门av无码| 国模在线视频一区二区三区| 日本高清视频在线www色| 2021最新国产精品网站| 亚洲首页国产精品丝袜| 免费aa毛片| 亚洲一区二区精品无码久久久| 天天综合网亚洲网站| 国产呦视频免费视频在线观看| 怡红院美国分院一区二区| 色屁屁一区二区三区视频国产| 免费看a毛片| 九色综合伊人久久富二代| 亚洲成人一区在线| 试看120秒男女啪啪免费| 亚国产欧美在线人成| 亚洲熟女中文字幕男人总站| 乱人伦视频中文字幕在线| 国产成人乱无码视频| 在线国产毛片手机小视频| 日韩欧美国产三级| 四虎在线观看视频高清无码| 国产91高跟丝袜| 日本精品视频| 美美女高清毛片视频免费观看| 亚洲午夜18| 国产打屁股免费区网站| 日韩激情成人| 麻豆精品国产自产在线| 亚洲国产日韩在线观看| 天堂久久久久久中文字幕| 国产精品亚欧美一区二区| 毛片大全免费观看| 亚洲日韩日本中文在线| 呦女精品网站| 午夜精品一区二区蜜桃| 77777亚洲午夜久久多人| 色亚洲成人| 人人看人人鲁狠狠高清| 美女无遮挡被啪啪到高潮免费| 青青操视频在线| 亚洲第一黄色网址| 亚洲三级视频在线观看| 爽爽影院十八禁在线观看| 99re在线免费视频| 亚洲第一中文字幕| 中文字幕日韩久久综合影院| 国产精品任我爽爆在线播放6080 | 国产免费羞羞视频| 国产小视频免费观看| 精品国产成人高清在线| 成人久久精品一区二区三区| 国产视频自拍一区| 欧美无专区| 日韩国产亚洲一区二区在线观看| 一级毛片免费不卡在线| 99热这里只有精品2| 在线观看国产精品第一区免费 | 久久精品国产亚洲AV忘忧草18| 欧美亚洲日韩不卡在线在线观看| 欧美在线网| 97在线观看视频免费| 中国一级毛片免费观看| 亚洲日本中文字幕乱码中文| 91九色国产在线| 日韩精品无码免费一区二区三区| 国产成人精品免费av| 亚洲国产黄色| 免费观看三级毛片| 激情六月丁香婷婷四房播| 91系列在线观看| 欧美在线视频a| 亚洲国产日韩在线成人蜜芽| 女人18一级毛片免费观看 | 99视频在线免费| 日韩欧美国产精品| 亚洲爱婷婷色69堂| 99国产在线视频|