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

C/S架構系統自動升級構件設計與實現

2010-12-31 00:00:00
電腦知識與技術 2010年21期

摘要:相對于B/S架構系統來說, C/S架構系統最大的缺點客戶端系統升級工作量大,在客戶端站點較多的情況下,完全采用人工方式升級幾乎是不可能完成的。該文介紹了一種C/S架構下客戶端系統自動升級的方法,并基于.NET技術對其進行實現。

關鍵詞:C/S; .NET;自動升級;構件

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2010)21-6107-02

Design and Implementation of Auto-update Component for Client/Server Structure System

WANG Qi

(Yuncheng University Department of Computer Science Technology, Yuncheng 044000, China)

Abstract: Update of client is a problem for C/S architecture, warm for Browse/Server architecture System. And client site increased, Update system by full manual is impossible to finish. This article Presents a method for Auto-update of client in C/S architecture, and realized it Using .NET.

Key words: Client/Server; .NET; auto-update; component

隨著企業規模的不斷擴大及企業信息化程度的不斷提高,與企業相關的行業軟件的使用規模也在不斷的擴大,由于行業軟件一般采用C/S架構開發,隨之帶來的軟件維護更新成本也在急劇增長。傳統的軟件升級方法是對每臺客戶端進行人工更新,不僅工作量大,而且容易造成遺漏或錯裝的情況,會給企業的正常業務運行帶來一定影響。設計一套自動升級構件,完成客戶端系統的智能化自動升級勢在必行。[1-2]

1 自動升級構件設計思路及流程分析

1.1 設計思路

筆者一般采用.NET進行項目開發,為了降低項目開發和維護的成本、增強系統的擴展性和安全性等,在項目開發時采用了多層架構開發模式, 在一般的項目中包含如下幾個模塊:

1)公共類庫;2)數據訪問層;3)業務層。

這3個模塊相互配合,共同實現系統功能。其中業務層作為啟動項目,負責主要的業務功能及數據的展示;公共類庫是筆者在做項目過程中積累的一些公共的功能模塊,也就是說一般項目都可能會用到的一些功能模塊;數據訪問層也屬于類庫范疇,主要負責對數據庫的操作。系統經過編譯之后會形成3個最為重要的文件:1)Hemp.Common.dll:該文件為公共類庫編譯之后形成的動態庫;2)Hemp.JJJJ.Data.dll:該文件為數據訪問層編譯之后形成的動態庫;3)某某系統.exe:該文件為業務層編譯之后形成的可執行性文件。

對于一個系統來說,如果要進行客戶端的更新操作,其實主要就是更新這三個文件。

1.2 流程分析

為了完成客戶端系統的自動更新,我們設計如下流程:[3-4]

1)在服務器上開通FTP,用來存放最新的更新程序和程序的更新版本號,為了保證更新程序下載的速度,可以將以上3個文件進行壓縮處理。

2)在客戶端系統登陸時,和服務器端進行版本號的比對,如果服務器端版本號高于客戶端,便進行更新程序的下載,并同時更新客戶端版本號。

3)在更新程序下載到客戶端后,自動調用Rar.exe(解壓軟件),替換相應文件,如果替換成功,自動升級過程即可完成。

4)重新啟動客戶端。流程如圖1所示。

2 自動升級構件設計與實現

按照功能,可以把該構件分成兩部分來設計。

1) 第一部分是嵌入客戶端系統,完成是否有更新版本的檢測工作,并在更新完成后同步客戶端的版本號;核心代碼如下:

Dim boolUp As Boolean = False

‘判斷FTP上是否有更新程序和版本文件

If ftp.FtpFileExists(\"Update.rar\") And ftp.FtpFileExists(\"Update.txt\") Then

If File.Exists(\"Update0.txt\") Then File.Delete(\"Update0.txt\")

‘從FTP上下載版本文件,并重命名為UpDate0.txt

ftp.Download(\"Update.txt\", \"UpDate0.txt\", True)

Dim Int1, Int2 As Integer

‘判斷客戶端是否存在版本文件,如果存在,和UpDate0.txt內容進行比較,如果小于UpDate0.txt內容,'意味存在更新程序,將boolUp置為True,否則將boolUp置為False。

If File.Exists(\"Update1.txt\") Then

Dim sr As New StreamReader(\"Update0.txt\")

Int1 = CInt(sr.ReadLine())

sr.Close()

sr = New StreamReader(\"Update1.txt\")

Int2 = CInt(sr.ReadLine())

sr.Close()

If Int1 > Int2 Then

boolUp = True

End If

Else

boolUp = True

End If

If boolUp Then

lblDateServer.Text = \"正在下載系統更新...\"

Application.DoEvents()

‘下載更新程序壓縮包到客戶端。

ftp.Download(\"Update.rar\", \"Update.rar\", True)

‘啟動系統升級程序。

Process.Start(\"系統升級.exe\")

‘更新客戶端版本號

If File.Exists(\"Update1.txt\") ThenFile.Delete(\"Update1.txt\")

File.Move(\"Update0.txt\", \"Update1.txt\")

Me.Close()

Exit Sub

End If

End If

其中Update.rar為更新程序的壓縮包,Update.txt存放于服務器端,內容為更新程序壓縮包最新的版本號,Update1.txt存放于客戶端,內容為客戶端最新的版本號。當Update1.txt的內容小于Update.txt的內容時,意味著有需要更新的程序。

2) 第二部分是完成更新程序的下載及覆蓋工作。核心代碼如下:

‘刪除前面所說的3個文件。

If File.Exists(\"某某系統.exe\") Then System.IO.File.Delete(\"某某系統.exe\")

If File.Exists(\"Hemp.JJJJ.Data.dll\") Then File.Delete(\"Hemp.JJJJ.Data.dll\")

If File.Exists(\"Hemp.Common.dll\") Then File.Delete(\"Hemp.Common.dll\")

‘啟動解壓軟件,對更新程序壓縮包進行解壓。

Process.Start(\"Rar.exe\", \" x -o+ Update.rar \")

MsgBox(\"系統更新完成,請重新打開系統!\")

Me.Close()

Me.Dispose()

自動升級構件運行界面如圖2所示。

3 結束語

對于C/S架構應用程序來說,自動升級已經成為一個不可或缺的功能,它可以大大簡化系統的維護工作,降低系統的維護成本。另外該構件可以很方便的嵌入第三方系統中,實現系統的自動升起。該構件目前已在筆者開發的多個項目中得到應用,效果良好。

參考文獻:

[1] 劉艷.一種通過數據庫實現版本監測進行自動升級的方法[J].現代計算機,2004(1):97-100.

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

[3] 喬俊玲,閆曉婷.信息管理系統客戶端軟件自動升級的實現[J].福建電腦,2007(4).

[4] 郭賢海,詹英.通用自動升級系統的研制與開發[J].計算機時代,2006(2).

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文

主站蜘蛛池模板: 日韩一区精品视频一区二区| 91在线无码精品秘九色APP| 亚洲精品另类| 久操线在视频在线观看| 亚洲成年人网| 亚洲香蕉在线| 波多野结衣视频一区二区| 国产亚洲精品精品精品| 国产精品毛片一区视频播| 国产自无码视频在线观看| 国产精品片在线观看手机版| 在线观看国产黄色| 国产日韩欧美精品区性色| 67194亚洲无码| 91麻豆精品国产高清在线| 国产精品女熟高潮视频| 全部无卡免费的毛片在线看| 婷婷午夜影院| 日韩最新中文字幕| 欧美区一区二区三| 国产精品久久久久婷婷五月| 米奇精品一区二区三区| 热99精品视频| 狠狠色噜噜狠狠狠狠奇米777| 亚洲成人在线免费观看| 亚洲人在线| 茄子视频毛片免费观看| 免费播放毛片| 久久99精品国产麻豆宅宅| www.youjizz.com久久| 国产午夜人做人免费视频中文| 人人妻人人澡人人爽欧美一区| 在线综合亚洲欧美网站| 亚洲av日韩av制服丝袜| 国产精品久线在线观看| 高清不卡一区二区三区香蕉| 国产成人h在线观看网站站| 久久人人妻人人爽人人卡片av| 色国产视频| 国产精品福利在线观看无码卡| 欧美亚洲网| 久久人妻系列无码一区| 真人免费一级毛片一区二区| 毛片在线播放a| 亚洲精品无码抽插日韩| 刘亦菲一区二区在线观看| 香蕉久久国产精品免| 激情午夜婷婷| 亚洲一区二区三区麻豆| 91精品小视频| 麻豆AV网站免费进入| 熟女成人国产精品视频| 久久成人免费| 国产成人AV综合久久| 日韩精品免费在线视频| 久久久久九九精品影院| 女人爽到高潮免费视频大全| 无码精油按摩潮喷在线播放 | 亚洲三级电影在线播放| 国产成人免费观看在线视频| 成人国产精品网站在线看| 欧美三級片黃色三級片黃色1| 国产经典免费播放视频| 国产精品七七在线播放| 一级毛片在线免费看| 青青久久91| 99热这里只有精品久久免费| 亚洲精品视频网| 国产成人一区在线播放| 国产青青草视频| 2020精品极品国产色在线观看| 国内99精品激情视频精品| 中文毛片无遮挡播放免费| 91 九色视频丝袜| 国产日本欧美亚洲精品视| 中文字幕va| 亚洲最新地址| 成人国产三级在线播放| 国外欧美一区另类中文字幕| 国产视频a| 日本91视频| 亚洲欧美另类久久久精品播放的|