亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于.NET的客戶端自動(dòng)升級(jí)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2014-03-10 11:24:24程浩
        關(guān)鍵詞:程序功能系統(tǒng)

        程浩

        (東北大學(xué)理學(xué)院遼寧沈陽(yáng) 110819)

        基于.NET的客戶端自動(dòng)升級(jí)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        程浩

        (東北大學(xué)理學(xué)院遼寧沈陽(yáng) 110819)

        為了解決C/S模式下客戶端的版本控制與自動(dòng)升級(jí)問題,提高C/S模式下客戶端維護(hù)工作效率,基于.NET Framework,使用C#語(yǔ)言,采用XML文件和FTP服務(wù)器技術(shù),實(shí)現(xiàn)了客戶端自動(dòng)升級(jí)功能。針對(duì)該功能,對(duì)系統(tǒng)采用的關(guān)鍵技術(shù)和關(guān)鍵思路進(jìn)行了簡(jiǎn)要介紹,對(duì)如何讀取XML文件、下載文件和自動(dòng)升級(jí)流程等進(jìn)行了詳細(xì)介紹。經(jīng)測(cè)試,自動(dòng)升級(jí)功能操作方便,有效地提高了系統(tǒng)維護(hù)人員的工作效率。

        .NET C/S XML信息化系統(tǒng) 自動(dòng)升級(jí)

        1 引言

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

        2 關(guān)鍵技術(shù)

        2.1.NET框架

        .NET Framework是由微軟開發(fā)的一個(gè)致力于敏捷軟件開發(fā)(Agile software development)、快速應(yīng)用開發(fā)(Rapidapplication development)、平臺(tái)無關(guān)性和網(wǎng)絡(luò)透明化的軟件開發(fā)平臺(tái),是以一種采用系統(tǒng)虛擬機(jī)運(yùn)行的編程平臺(tái),以通用語(yǔ)言運(yùn)行時(shí)(Common Language Runtime)為基礎(chǔ),支持多種語(yǔ)言(Visual C#、Visual Basic和Visual C++等)的開發(fā)[1]。

        .NET是一種在Windows平臺(tái)上編程的新架構(gòu),提供了更多的基礎(chǔ)類庫(kù),包括輸入輸出和數(shù)據(jù)訪問等各個(gè)方面。.NET Framework是面向?qū)ο蟮木幊?,具有高效的?shù)據(jù)訪問支持,并內(nèi)置了XML支持,增強(qiáng)了對(duì)Web服務(wù)的支持[2],.NET引入了程序集的概念,并增強(qiáng)了安全性。系統(tǒng)基于.NET Framework,使用C#語(yǔ)言開發(fā)。

        2.2 三層C/S結(jié)構(gòu)

        三層C/S結(jié)構(gòu)把應(yīng)用功能分為表示層、功能層和數(shù)據(jù)層。利用三層C/S結(jié)構(gòu),對(duì)每層進(jìn)行明確分割,使其邏輯獨(dú)立。與普通的C/S結(jié)構(gòu)相比,不但數(shù)據(jù)層要作為DBMS獨(dú)立出來,表示層和功能層還要分離成獨(dú)立的程序,并形成簡(jiǎn)潔明了的借口,三層C/S基本硬件結(jié)構(gòu)圖如圖1所示。

        圖1 3層C/S基本硬件結(jié)構(gòu)

        與傳統(tǒng)的C/S兩層結(jié)構(gòu)相比,C/S三層結(jié)構(gòu)具有以下特點(diǎn):①硬件組成比較靈活的:對(duì)于各個(gè)層可以選擇與其處理負(fù)荷和處理特性相適應(yīng)的硬件。這是一個(gè)與系統(tǒng)可縮放性直接相關(guān)的問題;于程序的可維護(hù)性得到了有效提高:三層C/S結(jié)構(gòu)中,每層可以并行開發(fā),也可以根據(jù)需要選擇適合的開發(fā)語(yǔ)言;③更容易管理和維護(hù)應(yīng)用技術(shù)規(guī)范,各層功能獨(dú)立,所以處理邏輯變得相對(duì)簡(jiǎn)單;④系統(tǒng)管理簡(jiǎn)單,可支持異種數(shù)據(jù)庫(kù)。

        2.3 xml文件

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

        3 關(guān)鍵思路

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

        4 系統(tǒng)實(shí)現(xiàn)

        4.1 讀取XML文本功能的實(shí)現(xiàn)

        為了實(shí)現(xiàn)讀取最新版本,系統(tǒng)需要把最新的版本信息放在服務(wù)器端。XML文檔是一種標(biāo)準(zhǔn)且簡(jiǎn)單的能跨多個(gè)平臺(tái)家換的格式存儲(chǔ)數(shù)據(jù)方式,可以創(chuàng)建和使用自己的標(biāo)記,具有很強(qiáng)的可拓展性、靈活性和自描述性[4]。

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

        下載XML文件后,系統(tǒng)只需讀取XML文檔中的對(duì)應(yīng)節(jié)點(diǎn),即可讀取到文件的版本信息和需要下載的文件信息。

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

        4.2 下載文件功能的實(shí)現(xiàn)

        .NNT類庫(kù)中提供了很多網(wǎng)絡(luò)操作的類,包括請(qǐng)求/響應(yīng)層、應(yīng)用協(xié)議層和傳輸層等。系統(tǒng)主要利用了FtpWebRequest類、FtpWebResponse類和FileStream類實(shí)現(xiàn)從FTP服務(wù)器下載文件功能。

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

        關(guān)鍵代碼如下:

        一般的,版本更新時(shí),需要下載的文件很多也很大,需要占用很多系統(tǒng)資源,響應(yīng)較慢。測(cè)試顯示,下載文件時(shí),占用了較多的系統(tǒng)內(nèi)存,反應(yīng)較慢。為了提高系統(tǒng)響應(yīng)速度,系統(tǒng)應(yīng)用了多線程機(jī)制。

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

        4.3 自動(dòng)升級(jí)功能的實(shí)現(xiàn)

        自動(dòng)升級(jí)程序執(zhí)行后,首先從服務(wù)器端下載xml版本控制文件,讀取服務(wù)器端的最新版本,然后再讀取本地xml配置文件中的客戶端版本號(hào)(節(jié)點(diǎn)),并與系統(tǒng)最新版本號(hào)進(jìn)行比對(duì),如果低于系統(tǒng)版本號(hào),則提示用戶是否對(duì)軟件升級(jí),如果用戶選擇“不升級(jí)”,則直接啟動(dòng)主程序,關(guān)掉升級(jí)程序;如果用戶選擇“升級(jí)”,再讀取xml文件中的需下載文件信息,然后下載對(duì)應(yīng)的文件到到對(duì)應(yīng)的位置中,然后再啟動(dòng)TestClient程序,關(guān)掉升級(jí)程序[6],自動(dòng)升級(jí)流程圖如圖2所示。

        圖2 自動(dòng)升級(jí)流程圖

        5 結(jié)束語(yǔ)

        系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,目的是驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。本系統(tǒng)采用黑盒測(cè)試方法,系統(tǒng)部署后,針對(duì)自動(dòng)升級(jí)系統(tǒng)、系統(tǒng)運(yùn)行服務(wù)器和外設(shè)等進(jìn)行了集中測(cè)試。

        經(jīng)測(cè)試,本系統(tǒng)運(yùn)行穩(wěn)定,操作簡(jiǎn)單實(shí)用,易于維護(hù),具有較快的響應(yīng)速度和較強(qiáng)的安全性。利用該系統(tǒng),可有效提高維護(hù)人員的工作效率,降低系統(tǒng)升級(jí)的出錯(cuò)率。

        [1]艾迪明..NET框架體系結(jié)構(gòu)[J].計(jì)算機(jī)工程與應(yīng)用,2003,39 (2):174-176.

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

        [3]杜成龍,鐘立,肖云..NET分布式系統(tǒng)的自動(dòng)升級(jí)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2007,33(2):239-240.

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

        [5]蔡正權(quán).文件下載系統(tǒng)設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2010,6(21): 6053-6057.

        [6]肖江文,廖幼文.C/S結(jié)構(gòu)下客戶端軟件自動(dòng)升級(jí)的方法研究[J].計(jì)算機(jī)工程與應(yīng)用,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

        猜你喜歡
        程序功能系統(tǒng)
        也談詩(shī)的“功能”
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        試論我國(guó)未決羈押程序的立法完善
        “程序猿”的生活什么樣
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        小sao货水好多真紧h视频| 大香焦av一区二区三区| 免费网站内射红桃视频| 韩国精品一区二区三区无码视频 | 另类免费视频在线视频二区| 欧美亚洲另类 丝袜综合网| 国产精品一区二区三区在线观看| a级毛片免费观看在线播放| 激情偷乱人伦小说视频在线| 91日本在线精品高清观看| 中文字幕av素人专区| 无码一区二区三区中文字幕| 国产亚洲美女精品久久久| 国产人禽杂交18禁网站| 综合亚洲二区三区四区在线 | 揄拍成人国产精品视频肥熟女| 久久精品国产亚洲av热东京热| 成熟了的熟妇毛茸茸| 精品久久人人爽天天玩人人妻| 无码人妻中文中字幕一区二区| 中文字幕人妻av一区二区| 国内精品久久久久久99| 无码人妻一区二区三区免费| 日本一区二区三区中文字幕视频| 日本免费观看视频一区二区| 久久久久久亚洲av无码蜜芽| 成人毛片18女人毛片免费| 亚洲综合色视频在线免费观看| 亚洲精品宾馆在线精品酒店| 男女性高爱潮免费网站| 91精品日本久久久久久牛牛| 女人18毛片aa毛片免费| 久久无码专区国产精品| 国产a级午夜毛片| 天堂影院久久精品国产午夜18禁| 野花香社区在线视频观看播放| 国产精品人妻一区夜夜爱| 久久狠狠爱亚洲综合影院| 一本大道道久久综合av| 日本aⅴ大伊香蕉精品视频| 亚洲中文无码精品久久不卡|