欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于Windows服務實現(xiàn)PC端軟件靜默升級的系統(tǒng)及方法與流程

文檔序號:12718960閱讀:1560來源:國知局
基于Windows服務實現(xiàn)PC端軟件靜默升級的系統(tǒng)及方法與流程

本發(fā)明涉及軟件升級技術領域,具體來講是一種基于Windows服務實現(xiàn)PC端軟件靜默升級的系統(tǒng)及方法。



背景技術:

目前,對于PC客戶端軟件進行升級/更新的方法是從服務器下載一個最新的軟件包來進行升級/更新操作。具體來說,現(xiàn)有的軟件程序在進行升級/更新時通常采用的是整體更新方式,即直接將完整的更新包放在軟件網站上或官方提供下載,PC端用戶首先卸載舊版本的軟件,然后下載安裝新版本的軟件程序。這樣的缺陷是,軟件程序的整體更新占用的時間和帶寬過大,特別是在進行小版本升級或缺陷修復時,會頻繁的要求或引導用戶進行手動下載和更新,為用戶帶來不便。

以Windows系統(tǒng)為例,系統(tǒng)本身提供了一套程序升級/更新的機制。當有新版本發(fā)布時,用戶會收到通知,讓用戶選擇是否立即進行升級。但是,一個新的升級包至少有數(shù)兆大小,如果在軟件產品無重大框架調整或增加特色功能的情況下就要用戶下載完整的升級包進行安裝,不僅會浪費用戶時間、占用帶寬和流量,而且一旦升級/更新過于頻繁,會對用戶形成騷擾,干擾了用戶對軟件的正常使用,影響用戶體驗。



技術實現(xiàn)要素:

本發(fā)明的目的是為了克服上述背景技術的不足,提供一種基于Windows服務實現(xiàn)PC端軟件靜默升級的系統(tǒng)及方法,能在不打擾用戶的情況下(不顯示升級程序界面)自動完成升級,不但節(jié)省帶寬、節(jié)約網絡流量,而且不會干擾用戶的正常使用,提高了用戶體驗。

為達到以上目的,本發(fā)明提供一種基于Windows服務實現(xiàn)PC端軟件靜默升級的系統(tǒng),該系統(tǒng)包括靜默升級主服務模塊、升級包下載模塊和靜默升級模塊;

所述靜默升級主服務模塊宿主于Windows服務,長期在后臺運行,其用于:按照設置的循環(huán)檢測時間定期自動檢測是否有軟件版本的更新情況,一旦有,則啟動升級包下載模塊;并在檢測到軟件未在運行時,啟動靜默升級模塊;

所述升級包下載模塊用于:在后臺完成升級包的下載,并將下載的升級包存放到指定的臨時目錄下;

所述靜默升級模塊用于:解壓臨時目錄下的升級包,將升級包內的文件更新到軟件對應的目錄下,完成靜默升級。

本發(fā)明還提供一種應用上述系統(tǒng)的基于Windows服務實現(xiàn)PC端軟件靜默升級的方法,包括以下步驟:

A、在安裝PC端軟件時配套安裝靜默升級主服務模塊;設置靜默升級主服務模塊的循環(huán)檢測時間,并啟動靜默升級主服務模塊;

B、每當達到設置的循環(huán)檢測時間后,靜默升級主服務模塊自動檢測是否有軟件版本的更新情況,一旦有,則啟動升級包下載模塊;

C、升級包下載模塊在后臺完成升級包的下載,并將下載的升級包存放到指定的臨時目錄下;

D、當靜默升級主服務模塊檢測到軟件未在運行時,啟動靜默升級模塊;靜默升級模塊解壓臨時目錄下的升級包,將升級包內的文件更新到軟件對應的目錄下,完成靜默升級。

本發(fā)明的有益效果在于:

(1)本發(fā)明基于Microsoft Windows服務來實現(xiàn)PC端軟件的靜默升級。其中,靜默升級主服務模塊宿主于Windows服務,長期在后臺運行,用于按照設置的循環(huán)檢測時間定期自動檢測是否有軟件版本的更新情況,一旦有,則啟動升級包下載模塊進行升級包的下載;并在檢測到軟件未在運行時,啟動靜默升級模塊進行靜默升級。

與現(xiàn)有技術相比,本發(fā)明可在不打擾用戶的情況下(不顯示升級程序界面),根據(jù)設置的循環(huán)檢測時間定期自動完成升級,不但節(jié)省帶寬、節(jié)約網絡流量,而且不會干擾用戶的正常使用,提高了用戶體驗。特別在小版本功能的升級、功能缺陷的修復、客戶端功能的臨時上線或下線等情況時,無需引導用戶去操作升級,而是在后臺應用系統(tǒng)服務完成軟件的升級流程,能在保證不干擾用戶正常使用天軟件的同時,完成對軟件自身的升級/更新過程。

(2)本發(fā)明中,升級包下載模塊會對所下載的升級包進行MD5校驗,有效保證了所下載的升級包的安全性和可靠性。

(3)本發(fā)明的應用能夠滿足PC端上所有應用程序的靜默升級需求,并能夠根據(jù)用戶的需求定制化靜默升級服務,解決更多的產品需求,用戶體驗佳。

附圖說明

圖1為本發(fā)明實施例中基于Windows服務實現(xiàn)PC端軟件靜默升級的系統(tǒng)的結構框圖;

圖2為本發(fā)明實施例中基于Windows服務實現(xiàn)PC端軟件靜默升級的方法的流程圖。

具體實施方式

下面結合附圖及具體實施例對本發(fā)明作進一步的詳細描述。

本發(fā)明是基于Microsoft Windows服務來實現(xiàn)PC端軟件靜默升級的方案。Microsoft Windows服務(即,以前的NT服務),是使軟件能夠創(chuàng)建在它們自己的Windows會話中可長時間運行的可執(zhí)行應用程序。這些服務可以在計算機啟動時自動啟動,可以暫停和重新啟動而且不顯示任何用戶界面。這種服務非常適合在服務器上使用,或為了不影響在同一臺計算機上工作的其他用戶,需要長時間運行功能時使用;還可以在不同于登錄用戶的特定用戶帳戶或默認計算機帳戶的安全上下文中運行服務。

基于上述技術原理和技術特點,參見圖1所示,本發(fā)明實施例提供一種基于Windows服務實現(xiàn)PC端軟件靜默升級的系統(tǒng),該系統(tǒng)包括靜默升級主服務模塊(MainService)、升級包下載模塊(Downloader)和靜默升級模塊(Updater)。

靜默升級主服務模塊宿主于Windows Service(Windows服務),長期在后臺運行,其用于:按照設置的循環(huán)檢測時間定期自動檢測是否有軟件版本的更新情況(包括小版本功能的升級、功能缺陷的修復、客戶端功能的臨時上線或下線等情況),一旦有,則啟動升級包下載模塊;并在檢測到軟件未在運行時,啟動靜默升級模塊。

升級包下載模塊用于:在后臺完成升級包的下載,并將下載的升級包存放到指定的臨時目錄下。

靜默升級模塊用于:解壓臨時目錄下的升級包,將升級包內的文件更新到軟件對應的目錄下,完成靜默升級。

參見圖2所示,本發(fā)明實施例還提供一種應用上述系統(tǒng)的基于Windows服務實現(xiàn)PC端軟件靜默升級的方法,包括以下步驟:

步驟S1:在安裝PC端軟件時配套安裝靜默升級主服務模塊;設置靜默升級主服務模塊的循環(huán)檢測時間,并啟動靜默升級主服務模塊,轉入步驟S2。

可以理解的是,在.Net開發(fā)平臺下,Windows服務的應用程序中需要添加安裝程序類。而在添加安裝程序類時,有兩個重要的組件:System.ServiceProcess.ServiceInstaller、System.ServiceProcess.Service ProcessInstaller的對象。其中,ServiceProcessInstaller:安裝一個可執(zhí)行文件,該文件包含擴展ServiceBase的類;該類由安裝實用工具(如InstallUtil.exe)在安裝服務應用程序時調用。ServiceProcessInstaller:執(zhí)行可執(zhí)行文件中的所有服務的公共操作。ServiceInstaller:安裝一個類,該類擴展ServiceBase來實現(xiàn)服務。在安裝服務應用程序時由安裝實用工具調用該類。ServiceInstaller執(zhí)行特定于其所關聯(lián)服務的操作。它由安裝實用工具用來將與服務關聯(lián)的注冊表值寫入HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services注冊表項內的子項。服務由它在該子鍵內的“服務名”(ServiceName)標識。

在此基礎上,實際操作時,步驟S1具體包括以下操作:

步驟S101:在安裝PC端軟件時配套安裝靜默升級主服務模塊,調整靜默升級主服務模塊的升級程序指向,使其指向所述PC端軟件封裝的獨立升級程序,用于靜默升級主服務模塊調用升級過程的邏輯。本實施例中,是將靜默升級主服務模塊的升級程序指向“Updater.exe”,其具體實現(xiàn)代碼可為如下內容:

步驟S102:調整靜默升級主服務模塊的配置文件中的配置選項,設置靜默升級主服務模塊的循環(huán)檢測時間。可以理解的是,該循環(huán)檢測時間可根據(jù)具體使用需要自行設置。本實施例中,默認的循環(huán)檢測時間是30分鐘,即默認檢測升級時間為30分鐘。

步驟S103:完成靜默升級主服務模塊的名稱配置。本實施例中,是將靜默升級主服務模塊的名稱配置為“TSService”,其具體實現(xiàn)代碼可為如下內容:

步驟S104:啟動靜默升級主服務模塊,所述靜默升級主服務模塊宿主于Windows服務;執(zhí)行(啟動)成功后,可在Windows服務列表中查看到該靜默升級主服務模塊的進程且該進程長期在后臺運行。

步驟S2:每當達到設置的循環(huán)檢測時間后,靜默升級主服務模塊自動檢測是否有軟件版本的更新情況(包括小版本功能的升級、功能缺陷的修復、客戶端功能的臨時上線或下線等情況),若沒有,則休眠等待下一個周期,返回步驟S2;若有,則啟動升級包下載模塊,轉入步驟S3。

步驟S3:升級包下載模塊判斷要下載的升級包是否已經存在(即,是否已經下載過),若是,直接轉入步驟S5;若否,則轉入步驟S4。該操作能有效避免升級包的重復下載,減少資源的浪費。

步驟S4:升級包下載模塊在后臺完成升級包的下載,并將下載的升級包存放到指定的臨時目錄下,轉入步驟S5。

可以理解的是,為了有效保證所下載的升級包的安全性和可靠性,本實施例中升級包下載模塊會對所下載的升級包進行校驗。具體來說,步驟S4之后,還包括以下操作:升級包下載模塊對所下載的升級包進行MD5(Message Digest Algorithm 5,消息摘要算法第五版)校驗,若校驗通過,則轉入步驟S5,進行靜默升級操作;若校驗未通過,則不進行靜默升級操作,返回步驟S2。

步驟S5:靜默升級主服務模塊檢測當前環(huán)境中的軟件是否正在運行,若是,則休眠等待下一個周期,返回步驟S5;若否,則啟動靜默升級模塊,轉入步驟S6。

步驟S6:靜默升級模塊解壓臨時目錄下的升級包,將升級包內的文件更新到軟件對應的目錄下,完成靜默升級。

本發(fā)明不局限于上述實施方式,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍之內。

本說明書中未作詳細描述的內容屬于本領域專業(yè)技術人員公知的現(xiàn)有技術。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
泗阳县| 平陆县| 施甸县| 彭水| 弥渡县| 湄潭县| 全椒县| 巴马| 固安县| 永定县| 永寿县| 云阳县| 武定县| 镇巴县| 襄樊市| 玉田县| 萨嘎县| 来宾市| 大宁县| 固原市| 遵义县| 车险| 武乡县| 吉林省| 安西县| 河池市| 越西县| 屏边| 车险| 水富县| 保定市| 丹寨县| 汕尾市| 黄山市| 和静县| 新宁县| 彝良县| 香格里拉县| 汝阳县| 牙克石市| 洛浦县|