一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的方法及系統(tǒng),首先對(duì)更新器進(jìn)行更新,待更新器更新后,通過(guò)新版本的更新器對(duì)軟件客戶端進(jìn)行更新,避免舊版本的更新器因缺陷可能導(dǎo)致軟件客戶端無(wú)法更新的問(wèn)題;在對(duì)軟件客戶端時(shí)行更新時(shí),新版本的更新器在更新腳本文件時(shí),則能夠執(zhí)行特殊操作,如修改軟件的目錄結(jié)構(gòu)、修改用戶的配置項(xiàng)、創(chuàng)建快捷方式、對(duì)磁盤文件進(jìn)行整理、上報(bào)用戶數(shù)據(jù)、彈出特殊公告窗口等,使軟件客戶端的更新一次性完成,減少甚至消除后續(xù)可能產(chǎn)生產(chǎn)生的問(wèn)題。
【專利說(shuō)明】一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件客戶端的更新,特別是一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的方法及系統(tǒng)。
【背景技術(shù)】
[0002]軟件客戶端的更新一般是通過(guò)互聯(lián)網(wǎng)實(shí)現(xiàn)的,主要是由更新器程序?qū)Υ虬募统R?guī)文件進(jìn)行更新,以便實(shí)現(xiàn)軟件客戶端的更新。更新器程序在更新時(shí),是利用舊版本的更新器程序,如果更新器程序存在缺陷,軟件客戶端則無(wú)法更新,因此,如果將更新器程序更新后,通過(guò)新版本的更新器程序?qū)浖蛻舳诉M(jìn)行更新,則可以避免此類問(wèn)題。同時(shí),舊版本的更新器程序在對(duì)打包文件和常規(guī)文件更新后,軟件客戶端的更新即相應(yīng)完成,但其他與軟件客戶端相關(guān)的更新則無(wú)法完成,如修改軟件的目錄結(jié)構(gòu)、修改用戶的配置項(xiàng)、創(chuàng)建快捷方式、對(duì)磁盤文件進(jìn)行整理、上報(bào)用戶數(shù)據(jù)、彈出特殊公告窗口等,因此,現(xiàn)有的常規(guī)更新方式明顯存在有缺陷。
【發(fā)明內(nèi)容】
[0003]為解決上述問(wèn)題,本發(fā)明的目的在于提供一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的方法及系統(tǒng),首先更新更新器,避免舊版本的更新器可能存在缺陷的問(wèn)題,再通過(guò)新版本的更新器對(duì)軟件客戶端進(jìn)行更新,包括目錄結(jié)構(gòu)、快捷方式等特殊更新。
[0004]本發(fā)明解決其問(wèn)題所采用的技術(shù)方案是:
一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的方法,包括:
更新器程序檢測(cè)自身版本號(hào),當(dāng)檢測(cè)到有新版本號(hào)的更新器程序時(shí),更新器程序進(jìn)行更新,更新器程序更新后,則由新版本更新器檢測(cè)軟件客戶端的版本號(hào),當(dāng)檢測(cè)到軟件客戶端有新版本號(hào)時(shí),則對(duì)軟件客戶端進(jìn)行常規(guī)更新。
[0005]所述方法還包括:
當(dāng)更新器程序沒(méi)有檢測(cè)到有新版本號(hào)的更新器程序時(shí),更新器直接檢測(cè)軟件客戶端的版本號(hào),當(dāng)軟件客戶端有新版本號(hào)時(shí),則對(duì)軟件客戶端進(jìn)行常規(guī)更新。
[0006]所述更新器程序進(jìn)行更新時(shí),從網(wǎng)絡(luò)服務(wù)端下載新版本的更新器程序替換舊版本的更新器程序。
[0007]所述對(duì)軟件客戶端進(jìn)行更新時(shí),由更新器程序從網(wǎng)絡(luò)服務(wù)端下載軟件客戶端的更新包,所述更新包包含有常規(guī)文件、打包文件和腳本文件,更新器程序依次根據(jù)常規(guī)文件、打包文件和腳本文件對(duì)軟件客戶端進(jìn)行更新。
[0008]所述更新器程序根據(jù)常規(guī)文件對(duì)軟件客戶端進(jìn)行更新時(shí),直接將常規(guī)文件從更新包中解壓出來(lái),并將其覆蓋至軟件客戶端下的同名文件。
[0009]所述更新器程序根據(jù)打包文件對(duì)軟件客戶端進(jìn)行更新時(shí),直接將打包文件從更新包中解壓出來(lái),并將其與軟件客戶端下指定的打包文件合并。
[0010]所述腳本文件中的腳本內(nèi)容為通過(guò)解釋器執(zhí)行的腳本語(yǔ)言或用于在任一操作系統(tǒng)執(zhí)行的腳本程序。
[0011]一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的系統(tǒng),包括:
更新器模塊,用于更新器程序檢測(cè)自身版本號(hào),當(dāng)檢測(cè)到有新版本號(hào)的更新器程序時(shí),更新器程序進(jìn)行更新;
軟件客戶端更新模塊,用于在更新器程序更新后,由新版本更新器程序檢測(cè)軟件客戶端的版本號(hào),當(dāng)檢測(cè)到軟件客戶端有新版本號(hào)時(shí),則對(duì)軟件客戶端進(jìn)行常規(guī)更新。
[0012]所述軟件客戶端更新模塊還用于當(dāng)更新器程序沒(méi)有檢測(cè)到有新版本號(hào)的更新器程序時(shí),由更新器直接檢測(cè)軟件客戶端的版本號(hào),當(dāng)軟件客戶端有新版本號(hào)時(shí),則對(duì)軟件客戶端進(jìn)行常規(guī)更新。
[0013]所述更新器程序進(jìn)行更新時(shí),從網(wǎng)絡(luò)服務(wù)端下載新版本的更新器程序替換舊版本的更新器程序。
[0014]所述對(duì)軟件客戶端進(jìn)行更新時(shí),由更新器程序從網(wǎng)絡(luò)服務(wù)端下載軟件客戶端的更新包,所述更新包包括常規(guī)文件、打包文件和腳本文件,更新器程序依次根據(jù)常規(guī)文件、打包文件和腳本文件對(duì)軟件客戶端進(jìn)行更新。
[0015]所述更新器程序根據(jù)常規(guī)文件對(duì)軟件客戶端進(jìn)行更新時(shí),直接將常規(guī)文件從更新包中解壓出來(lái),并將其覆蓋至軟件客戶端下的同名文件。
[0016]所述更新器程序根據(jù)打包文件對(duì)軟件客戶端進(jìn)行更新時(shí),直接將打包文件從更新包中解壓出來(lái),并將其與軟件客戶端下指定的打包文件合并。
[0017]所述腳本文件中的腳本內(nèi)容為通過(guò)解釋器執(zhí)行的腳本語(yǔ)言或用于在任一操作系統(tǒng)執(zhí)行的腳本程序。
[0018]本發(fā)明的有益效果是:
本發(fā)明采用的一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的方法及系統(tǒng),將更新器更新后,通過(guò)新版本的更新器對(duì)軟件客戶端進(jìn)行更新,避免舊版本的更新器因缺陷可能導(dǎo)致軟件客戶端無(wú)法更新的問(wèn)題;在對(duì)軟件客戶端時(shí)行更新時(shí),新版本的更新器在更新腳本文件時(shí),則能夠執(zhí)行特殊操作,如修改軟件的目錄結(jié)構(gòu)、修改用戶的配置項(xiàng)、創(chuàng)建快捷方式、對(duì)磁盤文件進(jìn)行整理、上報(bào)用戶數(shù)據(jù)、彈出特殊公告窗口等,使軟件客戶端的更新一次性完成,減少甚至消除后續(xù)可能產(chǎn)生產(chǎn)生的問(wèn)題。
【專利附圖】
【附圖說(shuō)明】
[0019]下面結(jié)合附圖和實(shí)例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
[0020]圖1是本發(fā)明所述方法中軟件客戶端更新示意圖;
圖2是本發(fā)明所述方法流程圖;
圖3是本發(fā)明所述方法中更新器更新流程圖;
圖4是本發(fā)明所述方法中軟件客戶端更新流程圖。
【具體實(shí)施方式】
[0021]參照?qǐng)D1所示軟件客戶端更新示意圖,軟件客戶端包括常規(guī)文件和打包文件,還包括更新器程序和此軟件版本號(hào)文件,所述軟件版本號(hào)文件記錄了軟件客戶端的版本號(hào)。軟件客戶端在更新時(shí),需要下載相應(yīng)的更新包,參照?qǐng)D中所示,更新包包括需要更新的常規(guī)文件和打包文件,還包括有更新器程序、更新器版本號(hào)文件和軟件版本號(hào)文件。常規(guī)的軟件客戶端更新,使用舊版本的更新器程序,如果更新器程序存有缺陷,軟件客戶端的更新就無(wú)法進(jìn)行。因此,本發(fā)明首先對(duì)更新器程序進(jìn)行更新,之后再對(duì)軟件客戶端進(jìn)行更新。
[0022]參照?qǐng)D2所示的方法流程圖,本發(fā)明首先對(duì)更新器程序進(jìn)行更新,檢測(cè)更新器程序自身的版本號(hào),若檢測(cè)到較新版本的更新器程序,說(shuō)明軟件客戶端中的更新器程序有新版本,軟件客戶端直接從網(wǎng)絡(luò)服務(wù)端下載新版本的更新器程序,并替換舊版本的更新器程序。之后,啟動(dòng)新版本的更新器程序,由新版本的更新器程序檢測(cè)軟件客戶端版本號(hào),若有新的版本號(hào),則由新版本的更新器程序執(zhí)行并完成軟件客戶端的常規(guī)更新。如果沒(méi)有檢測(cè)到到較新版本的更新器程序,則說(shuō)明更新器程序沒(méi)有更新,則直接通過(guò)更新器程序進(jìn)行常規(guī)更新。
[0023]參照?qǐng)D3所示的更新器更新流程圖,通過(guò)更新器版本號(hào)的對(duì)比確定更新器程序是否需要更新,軟件客戶端的更新器程序在啟動(dòng)后,更新器程序訪問(wèn)更新服務(wù)端上的更新器版本號(hào)文件,并讀取出其中的版本號(hào),此版本號(hào)為服務(wù)端更新器的版本號(hào),之后更新器程序讀取自身的版本號(hào),將兩者進(jìn)行對(duì)比,若服務(wù)端更新器的版本號(hào)小于或等于此自身版本號(hào),則表明更新器程序無(wú)需更新,此時(shí)更新器更新步驟結(jié)束。相反,說(shuō)明更新器程序需要更新,則下載服務(wù)端的更新器程序,替換客戶端的更新器程序。因?yàn)榇烁缕鞒绦蛘谶\(yùn)行,因此,本發(fā)明將目前更新器程序(即軟件客戶端的更新器程序)移動(dòng)到一個(gè)臨時(shí)目錄,將下載到的新版本更新器移動(dòng)到原更新器所在的位置,以此完成替換。
[0024]參照?qǐng)D4所示軟件客戶端更新流程圖,更新器程序完成更新后,需要更新軟件客戶端,具體更新時(shí),程序會(huì)判斷是否對(duì)更新器進(jìn)行了更新,如果沒(méi)有更新,則直接進(jìn)入常規(guī)更新,如果進(jìn)行了更新,則需要通過(guò)新版本的更新器對(duì)軟件客戶端進(jìn)行更新,此時(shí),舊版本的更新器程序會(huì)通過(guò)一個(gè)獨(dú)立的進(jìn)程啟動(dòng)新版本的更新器程序,等新版本的更新器程序啟動(dòng)后,老版本更新器程序結(jié)束運(yùn)行,新版本的更新器程序進(jìn)入常規(guī)更新過(guò)程后,刪除老版本的更新器程序。常規(guī)更新過(guò)程中,新版本的更新器程序首先訪問(wèn)更新服務(wù)端的軟件版本號(hào)文件,讀取其中的軟件版本號(hào),并將其與本地軟件客戶端的版本號(hào)進(jìn)行對(duì)比,若本地軟件客戶端版本號(hào)大于等于服務(wù)端軟件版本號(hào),則表明客戶使用的是較新的軟件產(chǎn)品,此時(shí)不需要對(duì)軟件客戶端進(jìn)行更新;若本地客戶端軟件版本號(hào)小于服務(wù)端軟件版本號(hào),則表明客戶端的軟件版本落后,需要進(jìn)行常規(guī)更新。則開始常規(guī)更新過(guò)程:
新版本的更新器下載服務(wù)端新版本軟件所對(duì)應(yīng)的更新包文件,更新包文件為一個(gè)壓縮或非壓縮的打包文件,里面打包存儲(chǔ)了這次更新所需要的文件,包括常規(guī)文件、打包文件和腳本文件,更新器依次對(duì)這些文件進(jìn)行處理。更新器首先查看下載的更新包中是否有常規(guī)文件,如果有常規(guī)文件,則將這些文件直接替換客戶端目錄下的同名文件;之后,更新器查看下載的更新包中是否有打包文件,如果有打包文件,則將打包文件與客戶端下的打包文件合并,合并主要包括有兩種方式,一種是將其與客戶端下的同名打包文件合并,一種是將其合并到客戶端下的最后一個(gè)打包文件上;以上兩個(gè)過(guò)程完成后,更新器查看更新包中是否有腳本文件,如果有腳本文件,表明這次更新除了更新軟件客戶端的數(shù)據(jù)以外,還需要進(jìn)行其他較為復(fù)雜的操作,腳本文件中的腳本內(nèi)容為通過(guò)解釋器執(zhí)行的腳本語(yǔ)言或用于在任一操作系統(tǒng)執(zhí)行的腳本程序,更新器執(zhí)行更新包中的腳本文件即可完成特定的任務(wù),包括修改軟件產(chǎn)品目錄結(jié)構(gòu)、修改用戶的某個(gè)配置項(xiàng)、創(chuàng)建快捷方式等,其中,何種任務(wù)以及如何操作,由腳本文件內(nèi)容決定,更新器只負(fù)責(zé)執(zhí)行此腳本。整個(gè)步驟完成之后,本次更新過(guò)程完成,成功更新軟件客戶端。相對(duì)于使用舊版本的更新器,本發(fā)明避免了舊版本可能存在缺陷使軟件客戶端無(wú)法更新的問(wèn)題,并且,也能完成腳本文件中的特殊更新,一次性全部更新,為以后用戶使用帶來(lái)了方便。
[0025]本發(fā)明提供了一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的系統(tǒng),包括:
更新器模塊,用于更新器程序檢測(cè)自身版本號(hào),當(dāng)檢測(cè)到有新版本號(hào)的更新器程序時(shí),從網(wǎng)絡(luò)服務(wù)端下載新版本的更新器程序替換舊版本的更新器程序,對(duì)更新器程序進(jìn)行更新;
軟件客戶端更新模塊,用于在更新器程序更新后,由新版本更新器程序檢測(cè)軟件客戶端的版本號(hào),當(dāng)檢測(cè)到軟件客戶端有新版本號(hào)時(shí),則對(duì)軟件客戶端進(jìn)行常規(guī)更新:由更新器程序從網(wǎng)絡(luò)服務(wù)端下載軟件客戶端的更新包,所述更新包包括常規(guī)文件、打包文件和腳本文件,更新器程序依次根據(jù)常規(guī)文件、打包文件和腳本文件對(duì)軟件客戶端進(jìn)行更新。當(dāng)更新器程序沒(méi)有檢測(cè)到有新版本號(hào)的更新器程序時(shí),由更新器直接檢測(cè)軟件客戶端的版本號(hào),當(dāng)軟件客戶端有新版本號(hào)時(shí),則對(duì)軟件客戶端進(jìn)行常規(guī)更新。
[0026]其中,更新器程序根據(jù)常規(guī)文件對(duì)軟件客戶端進(jìn)行更新時(shí),直接將常規(guī)文件從更新包中解壓出來(lái),并將其覆蓋至軟件客戶端下的同名文件;更新器程序根據(jù)打包文件對(duì)軟件客戶端進(jìn)行更新時(shí),直接將打包文件從更新包中解壓出來(lái),并將其與軟件客戶端下指定的打包文件合并;所述腳本文件中的腳本內(nèi)容為通過(guò)解釋器執(zhí)行的腳本語(yǔ)言或用于在任一操作系統(tǒng)執(zhí)行的腳本程序,更新器根據(jù)腳本文件中的內(nèi)容執(zhí)行相應(yīng)的操作,完成更新。
[0027]以上所述,只是本發(fā)明的較佳實(shí)施例而已,本發(fā)明并不局限于上述實(shí)施方式,只要其以相同的手段達(dá)到本發(fā)明的技術(shù)效果,都應(yīng)屬于本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的方法,其特征在于,包括: 更新器程序檢測(cè)自身版本號(hào),當(dāng)檢測(cè)到有新版本號(hào)的更新器程序時(shí),更新器程序進(jìn)行更新,更新器程序更新后,則由新版本更新器檢測(cè)軟件客戶端的版本號(hào),當(dāng)檢測(cè)到軟件客戶端有新版本號(hào)時(shí),則對(duì)軟件客戶端進(jìn)行常規(guī)更新。
2.根據(jù)權(quán)利要求1所述的一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的方法,其特征在于,所述方法還包括: 當(dāng)更新器程序沒(méi)有檢測(cè)到有新版本號(hào)的更新器程序時(shí),更新器直接檢測(cè)軟件客戶端的版本號(hào),當(dāng)軟件客戶端有新版本號(hào)時(shí),則對(duì)軟件客戶端進(jìn)行常規(guī)更新。
3.根據(jù)權(quán)利要求1或2所述的一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的方法,其特征在于,所述更新器程序進(jìn)行更新時(shí),從網(wǎng)絡(luò)服務(wù)端下載新版本的更新器程序替換舊版本的更新器程序。
4.根據(jù)權(quán)利要求1或2所述的軟件一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的方法,其特征在于,所述對(duì)軟件客戶端進(jìn)行更新時(shí),由更新器程序從網(wǎng)絡(luò)服務(wù)端下載軟件客戶端的更新包,所述更新包包含有常規(guī)文件、打包文件和腳本文件,更新器程序依次根據(jù)常規(guī)文件、打包文件和腳本文件對(duì)軟件客戶端進(jìn)行更新。
5.根據(jù)權(quán)利要求4所述的一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的方法,其特征在于,所述更新器程序根據(jù)常規(guī)文件對(duì)軟件客戶端進(jìn)行更新時(shí),直接將常規(guī)文件從更新包中解壓出來(lái),并將其覆蓋至軟件客戶端下的同名文件。
6.根據(jù)權(quán)利要求4所述的一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的方法,其特征在于,所述更新器程序根據(jù)打包文件對(duì)軟件客戶端進(jìn)行更新時(shí),直接將打包文件從更新包中解壓出來(lái),并將其與軟件客戶端下指定的打包文件合并。
7.根據(jù)權(quán)利要求4所述的一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的方法,其特征在于,所述腳本文件中的腳本內(nèi)容為通過(guò)解釋器執(zhí)行的腳本語(yǔ)言或用于在任一操作系統(tǒng)執(zhí)行的腳本程序。
8.一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的系統(tǒng),其特征在于,包括: 更新器模塊,用于更新器程序檢測(cè)自身版本號(hào),當(dāng)檢測(cè)到有新版本號(hào)的更新器程序時(shí),更新器程序進(jìn)行更新; 軟件客戶端更新模塊,用于在更新器程序更新后,由新版本更新器程序檢測(cè)軟件客戶端的版本號(hào),當(dāng)檢測(cè)到軟件客戶端有新版本號(hào)時(shí),則對(duì)軟件客戶端進(jìn)行常規(guī)更新。
9.根據(jù)權(quán)利要求8所述的一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的系統(tǒng),其特征在于,所述軟件客戶端更新模塊還用于當(dāng)更新器程序沒(méi)有檢測(cè)到有新版本號(hào)的更新器程序時(shí),由更新器直接檢測(cè)軟件客戶端的版本號(hào),當(dāng)軟件客戶端有新版本號(hào)時(shí),則對(duì)軟件客戶端進(jìn)行常規(guī)更新。
10.根據(jù)權(quán)利要求8或9所述的一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的系統(tǒng),其特征在于,所述更新器程序進(jìn)行更新時(shí),從網(wǎng)絡(luò)服務(wù)端下載新版本的更新器程序替換舊版本的更新器程序。
11.根據(jù)權(quán)利要求8或9所述的一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的系統(tǒng),其特征在于,所述對(duì)軟件客戶端進(jìn)行更新時(shí),由更新器程序從網(wǎng)絡(luò)服務(wù)端下載軟件客戶端的更新包,所述更新包包括常規(guī)文件、打包文件和腳本文件,更新器程序依次根據(jù)常規(guī)文件、打包文件和腳本文件對(duì)軟件客戶端進(jìn)行更新。
12.根據(jù)權(quán)利要求11所述的一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的系統(tǒng),其特征在于,所述更新器程序根據(jù)常規(guī)文件對(duì)軟件客戶端進(jìn)行更新時(shí),直接將常規(guī)文件從更新包中解壓出來(lái),并將其覆蓋至軟件客戶端下的同名文件。
13.根據(jù)權(quán)利要求11所述的一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的系統(tǒng),其特征在于,所述更新器程序根據(jù)打包文件對(duì)軟件客戶端進(jìn)行更新時(shí),直接將打包文件從更新包中解壓出來(lái),并將其與軟件客戶端下指定的打包文件合并。
14.根據(jù)權(quán)利要求11所述的一種軟件客戶端通過(guò)網(wǎng)絡(luò)進(jìn)行更新的系統(tǒng),其特征在于,所述腳本文件中的腳本內(nèi)容為通過(guò)解釋器執(zhí)行的腳本語(yǔ)言或用于在任一操作系統(tǒng)執(zhí)行的腳本程序?!?br>
【文檔編號(hào)】G06F9/445GK103442077SQ201310397442
【公開日】2013年12月11日 申請(qǐng)日期:2013年9月4日 優(yōu)先權(quán)日:2013年9月4日
【發(fā)明者】吳才忠, 劉暢, 胡浩, 梁波, 李翔威 申請(qǐng)人:珠海金山網(wǎng)絡(luò)游戲科技有限公司, 珠海西山居祥游科技有限公司