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

通用升級程序設計與實現

2010-12-31 00:00:00鄔劍飛
現代商貿工業 2010年9期

摘 要:在闡述了軟件在線自動升級的功能特點的基礎上,詳細地介紹了通用升級程序的設計以及實現原理。該系統采用了I/O網絡模型以及加密技術,能夠自動、及時、準確地對客戶使用產品進行穩定的升級。

關鍵詞:自動升級;多線程; I/O模型

中圖分類號:TP

文獻標識碼:A

文章編號:1672-3198(2010)09-0296-01

1 系統特性 

1.1 安全性

安全性分為兩個部分,即服務端安全性和客戶安全性。服務端安全性主要由服務主機安全性決定,由于服務主機將存放原始版數據,因此必須確保本類數據不被竊取。

客戶端安全主要防止同一許可證多用及泄露情況。對于同一許可證,為了防止多用戶采用,升級服務程序將采用一次一密的服務方式,即本次升級時將下次升級密鑰進行約定,保證每個密鑰只能使用一次。

為了防止泄露情況,對每個客戶端發送的數據將進行處理,即在數據部分采用對無關數據進行水印方式,有效保證每個客戶端所獲得的數據功能上無差異,但可以根據最后生成的樣本等進行有效的區分。

1.2 分離性

分離性主要分為兩部分,即不同產品的分離以及不同用戶等級的分離。不同產品的分離將通過對不同的目錄進行區分來實現,即用戶將首先進行驗證,驗證成功后,升級程序根據數據庫保存內容,對相應的目錄進行處理,與用戶通訊并分離。

不同用戶等級的分離原理類似不同產品的分離,有著不同等級的用戶可以針對不同目錄進行區分。

1.3 通用性

通用性主要指升級服務程序可以對所有產品進行升級服務。這部分功能將由具體設計進行保證,使之適用于所有情況的升級服務。

2 升級程序的設計

2.1 服務器端工作流程

(1)服務器護進程監聽8167端口。

(2)有用戶連接時,創建線程進行處理。

(3)進行身份驗證,查詢數據庫與用戶提供密碼是否一致。

(4)通過驗證后,生成一個新密碼,更新數據庫并發送給用戶(*)。

(5)確認用戶產品和身份,尋找對應的目錄。

(6)確認用戶更新日期。

(7)遍歷目錄下所有的文件,依次發送文件名(*)。

(8)用戶確認是否存在此文件,如否,轉(11) (*)。

(9)發送此文件MD5,用戶確認是否一致,如否,轉(11) (*)。

(10)轉(7)。

(11)發送此文件內容(*)。

(12)轉(7)直至文件更新結束。

(13)更新數據庫中用戶相關信息。

其中,所有帶(*)號的步驟均為DES加密傳送數據。

2.2 管理程序的設計

管理程序主要負責進行客戶數據管理及日志查詢、回溯等功能。 

(1)日志查詢。

查詢當日日志,本周日志,本月日志。查詢用戶登陸情況。查詢指定用戶名的更新情況。可以查詢指定產品更新情況。

(2)用戶管理。

進行用戶添加、刪除、修改管理。手工重置用戶的密碼。

(3)產品管理。

對產品進行添加、刪除、發布時間修改等管理。指定產品對應的目錄。

3 升級程序的實現

3.1 服務器端的實現

服務器端啟用WSAAsyncSelect模型對客戶端的請求進行相關響應,接收FD_ACCEPT連接通知,代碼如下:

WSAAsyncSelect(Listen,m_hWnd,WM_SOCKET,FD_ACCEPT | FD_CLOSE);

其中Listen為服務器端套接字。接收到連接請求后,服務器端相關消息響應代碼如下:

LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) 

{

switch( message )

{

switch(WSAGETSELECTEVENT(lParam))

{

case FD_ACCEPT:

Accept = ::accept(wParam, (struct sockaddr*)clientAddr, clientlen);

WSAAsyncSelect(Accept, this->GetSafeHwnd(), WM_SOCKET, FD_READ | FD_WRITE | FD_CLOSE);

break;

case FD_READ:

DWORD threadid;

HANDLE handle;

handle = CreateThread(NULL, 5000000, ThreadProc, (LPVOID)threadtemp, NULL, threadid );

CloseHandle( handle );

break;

}

}

接收到客戶端請求,開啟FD_READ, FD_WRITE,客戶端傳送數據過來時,接收到FD_READ通知,開啟線程ThreadProc,與客戶端進行數據驗證及交互。

3.1.1 版本比較

為了確實軟件產品是否需要更新,服務器端需要接收客戶端發送的升級信息。本程序將系統當前版本的信息以一定的格式寫入文件,存放于升級服務器中。同時客戶端也存在相同類型的文件以記錄客戶端的版本信息。當客戶端連接到升級服務器以后,首先將客戶端升級信息發送到服務器端,與服務器端的版本信息進行比較,然后分析出當前版本是否需要升級。

3.1.2 數據傳輸的安全性

為了保證服務器端相關程序不被竊取,本程序采用了一次一密的加密方式,即當用戶第一次更新時,會發送公司指定的用戶名密碼至服務器,此時客戶端程序同時會獲取用戶所用機器的硬件數據(機器特征值),發送到服務器端。用戶再次需要升級時,會驗證用戶名密碼以及機器的特征是否正確后才能完成升級服務。每次用戶提交給服務器的驗證結構體如下定義:

typedef struct UserInfo

{

char username[100];//用戶名

char password[100];//用戶密碼

char product[20];//更新的項目ID

char machineMD5[50];//用戶PC的唯一標識

}USERINFO,*LPUSERINFO;

machineMD5為獲取客戶機相關硬件特征值。

對于文件數據的傳輸,為避免數據泄露,均在客戶采用DES加密后進行傳送,服務器端收到數據解密后寫文件。

3.1.3 獲取更新文件列表

客戶端將產品路徑中的文件中各文件信息發送到客戶端,每個文件的結構體定義如下:

typedef struct List

{

char filepath[260];//文件的相對路徑

char md5hash[50];//文件的md5值

}FILELIST,*LPFILELIST;

md5hash變量取文件的md5值,客戶端產品路徑中的各文件的路徑及md5值與服務器端的此結構體數組進行比較,由于相同的文件具有相同的md5值,得出需要更新的文件信息。

3.2 客戶端的實現

客戶端是獨立于產品的工具,默認設置為開機自動運行的,也可以進行手動升級。如服務器開啟,客戶端連接升級服務器,并將升級服務器的版本文件與本機的版本文件相比較,若有新版本,則將服務器傳送的文件下載到本地臨時目錄下,再進行升級安裝。如果不需要升級,則提示后自行退出。升級服務器支持端點續傳功能,在客戶端下

載時,將下載文件和服務器端的文件進行大小比較,對余下的數據進行傳送。

參考文獻

[1]劉偉,耿英三.軟件自動升級系統的研制與開發[J].計算機工程與應用,2002,(15).

[2]李青森,何丕廉,董旭源.軟件系統版本自動更新功能的設計和實現[J].微處理機,2004,(1) .

主站蜘蛛池模板: 亚洲香蕉在线| 91小视频在线观看| 亚洲色图综合在线| 亚洲欧美不卡视频| 免费一看一级毛片| 在线观看国产黄色| 欧美亚洲一二三区| 一级片一区| 一级毛片在线播放| 亚洲成人网在线观看| 毛片免费观看视频| 免费在线看黄网址| 国产一区二区三区免费| 欧美成人二区| 亚洲人成网7777777国产| 青草免费在线观看| 久久精品91麻豆| 日本91在线| av色爱 天堂网| 中文字幕免费在线视频| 青草视频在线观看国产| 亚洲娇小与黑人巨大交| 狠狠亚洲五月天| 日本不卡在线视频| 国产美女在线观看| 日韩精品高清自在线| 最新精品久久精品| 亚洲高清中文字幕| 亚洲日本www| 免费在线国产一区二区三区精品| 亚洲制服丝袜第一页| 99久久人妻精品免费二区| 国产精品亚洲综合久久小说| 青青草原国产一区二区| 精品欧美日韩国产日漫一区不卡| 最新亚洲人成无码网站欣赏网| 日韩不卡高清视频| 亚洲a级毛片| 一区二区三区国产精品视频| 毛片最新网址| 大陆精大陆国产国语精品1024 | 国产成人精品第一区二区| 毛片在线区| 国产在线日本| 在线免费不卡视频| 欧美一级夜夜爽www| 999国产精品| 97视频精品全国免费观看| 色综合天天娱乐综合网| 亚洲品质国产精品无码| 亚洲欧洲日本在线| 狼友视频国产精品首页| 色综合久久久久8天国| 国产区成人精品视频| 在线观看无码a∨| 日韩福利在线观看| 亚洲av片在线免费观看| 国产一级做美女做受视频| 久草视频精品| 国产在线欧美| 午夜精品福利影院| 自拍中文字幕| 国产极品美女在线播放| 美女被躁出白浆视频播放| 久久国产拍爱| 91精品国产91久无码网站| 爽爽影院十八禁在线观看| 在线观看91精品国产剧情免费| 99久久精品久久久久久婷婷| 久久免费精品琪琪| 中文字幕无码制服中字| 色国产视频| 狠狠色狠狠综合久久| 红杏AV在线无码| 亚洲欧洲天堂色AV| 亚洲欧美不卡视频| 国内丰满少妇猛烈精品播| 都市激情亚洲综合久久| 亚洲人成日本在线观看| 日日拍夜夜操| 欧美日韩91| 综合人妻久久一区二区精品|