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视频免费观看| 欧美午夜在线播放| 午夜天堂视频| 欧美成人手机在线观看网址| 激情综合网址| 中文无码精品a∨在线观看| 中文字幕av无码不卡免费| 无码精品国产dvd在线观看9久| 伊人91在线| 福利在线一区| 国产丝袜91| 免费一级毛片在线观看| 波多野结衣中文字幕久久| 玩两个丰满老熟女久久网| 极品性荡少妇一区二区色欲| 伊人久久久久久久| 免费无码网站| 国产精品视频免费网站| 玖玖免费视频在线观看| 欧美日韩午夜视频在线观看| 久久网欧美| 国产精品播放| 一区二区三区在线不卡免费| 天天干天天色综合网| 亚洲高清在线天堂精品| 毛片基地视频| 亚洲国产精品久久久久秋霞影院| 国产综合日韩另类一区二区| 亚洲综合九九| 无码中文字幕加勒比高清| 国产精品综合久久久| 曰AV在线无码| 精品国产Av电影无码久久久| 青青青国产在线播放| 国产福利一区二区在线观看| 国产精品福利导航| 国产成人夜色91| 成人精品午夜福利在线播放 | 国产另类视频| hezyo加勒比一区二区三区| 久久精品国产免费观看频道| av在线无码浏览| 欧美日韩精品综合在线一区| 国产欧美日韩视频怡春院| 亚洲系列无码专区偷窥无码| 欧美视频在线观看第一页| 黄色网址免费在线| 2020精品极品国产色在线观看| 又黄又湿又爽的视频| 一本一本大道香蕉久在线播放| 国产白浆视频| 国产精品密蕾丝视频| 亚洲精品国产自在现线最新| 潮喷在线无码白浆| 日本免费新一区视频| 一级毛片基地| 奇米精品一区二区三区在线观看| 999国内精品视频免费| 国产1区2区在线观看| 91色在线观看| 国产精品亚欧美一区二区| 天天操天天噜| 欧美激情视频二区| 亚洲欧洲美色一区二区三区| 国产成年女人特黄特色毛片免 | 波多野结衣无码视频在线观看| 亚洲欧美综合另类图片小说区| 黄色网站在线观看无码| 毛片大全免费观看| 国产精品无码AV片在线观看播放| 欧美精品一区二区三区中文字幕| 亚洲欧美国产视频| 久久香蕉国产线看观| 天天激情综合| 久久香蕉国产线看观| 亚洲成人高清无码| 五月六月伊人狠狠丁香网| 亚洲国内精品自在自线官| 亚洲午夜综合网|