專(zhuān)利名稱(chēng):計(jì)算機(jī)軟件升級(jí)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)軟件升級(jí)的方法,尤指一種局域網(wǎng)中計(jì)算機(jī)軟件升級(jí)的方法。
背景技術(shù):
計(jì)算機(jī)軟件是結(jié)合計(jì)算機(jī)硬件執(zhí)行一定功能的程序。對(duì)于計(jì)算機(jī)軟件提供商來(lái)說(shuō),需要不斷更新升級(jí)計(jì)算機(jī)軟件以提供給用戶更多的功能。而隨著互聯(lián)網(wǎng)的發(fā)展,計(jì)算機(jī)軟件升級(jí)逐漸發(fā)展到通過(guò)服務(wù)器/客戶端的方式實(shí)現(xiàn)遠(yuǎn)程升級(jí)。所謂服務(wù)器/客戶端的方式是指計(jì)算機(jī)軟件提供商將最新版本的計(jì)算機(jī)軟件升級(jí)數(shù)據(jù)存放在服務(wù)器上,客戶端的用戶通過(guò)互聯(lián)網(wǎng)采用HTTP(超鏈接傳輸協(xié)議)或FTP(文件傳輸協(xié)議)的方式直接從服務(wù)器上下載所需的升級(jí)數(shù)據(jù)。
上述計(jì)算機(jī)軟件升級(jí)的方法存在如下的缺點(diǎn)由于現(xiàn)在很多的計(jì)算機(jī)都是處于一個(gè)局域網(wǎng)內(nèi)部,如一個(gè)公司的網(wǎng)絡(luò),統(tǒng)一通過(guò)局域網(wǎng)中路由器出口連接上國(guó)際互聯(lián)網(wǎng),而一套相同的計(jì)算機(jī)軟件安裝在一個(gè)局域網(wǎng)內(nèi)的多臺(tái)計(jì)算機(jī)上的情況很普遍。因此,該局域網(wǎng)中每一份計(jì)算機(jī)軟件都有網(wǎng)上升級(jí)的需求,而采用上述的方法升級(jí)軟件時(shí),所述局域網(wǎng)中的各個(gè)需要升級(jí)軟件的用戶仍只能分別與服務(wù)器交互以得到最新的軟件升級(jí)數(shù)據(jù),對(duì)于多份相同的計(jì)算機(jī)軟件,需重復(fù)從升級(jí)服務(wù)器上下載相同的升級(jí)數(shù)據(jù)。在升級(jí)用戶較多時(shí),如多個(gè)用戶同時(shí)連接升級(jí)服務(wù)器下載數(shù)據(jù),這些重復(fù)下載的數(shù)據(jù)會(huì)占據(jù)網(wǎng)絡(luò)出口帶寬,造成網(wǎng)絡(luò)的擁塞,增加升級(jí)服務(wù)器的負(fù)擔(dān),并使其他正常的網(wǎng)絡(luò)操作受到影響,如瀏覽網(wǎng)頁(yè)、發(fā)送電子郵件等等,而且重復(fù)下載,升級(jí)效率較低,造成網(wǎng)絡(luò)資源的極大浪費(fèi)。
發(fā)明內(nèi)容
本發(fā)明是為了解決局域網(wǎng)用戶在升級(jí)同一計(jì)算機(jī)軟件時(shí)重復(fù)下載,造成網(wǎng)絡(luò)資源浪費(fèi)的問(wèn)題。
為了解決上述問(wèn)題,本發(fā)明提出了一種計(jì)算機(jī)軟件升級(jí)的方法,該方法包括以下步驟a)服務(wù)端從升級(jí)服務(wù)器下載軟件升級(jí)所需數(shù)據(jù)并升級(jí)本服務(wù)端上所述軟件;b)所述服務(wù)端向子網(wǎng)廣播一個(gè)通知信息以指示局域網(wǎng)中客戶端有最新的軟件升級(jí)數(shù)據(jù);c)客戶端獲取所述通知信息,向所述服務(wù)端回送響應(yīng)信息;d)所述服務(wù)端與客戶端組成多播組,由所述服務(wù)端向客戶端多播軟件升級(jí)數(shù)據(jù);e)所述客戶端獲取所述軟件升級(jí)數(shù)據(jù)并升級(jí)所述軟件。
最好,步驟b)所述通知信息包括軟件版本號(hào)、多播地址及端口號(hào)。
最好,所述步驟c)還包括判斷的步驟c1)接收該通知信息的客戶端獲取所述軟件版本號(hào),并與本地軟件版本號(hào)比較;c2)根據(jù)比較結(jié)果確定是否向所述服務(wù)端回送響應(yīng)信息,若比較結(jié)果為本地軟件版本號(hào)低于所述軟件版本號(hào),則回送響應(yīng)信息,否則,不回送響應(yīng)信息。
最好,步驟c)所述響應(yīng)信息包括有客戶端的IP地址。
最好,所述步驟d)包括以下步驟
d1)服務(wù)端獲取響應(yīng)的客戶端的IP地址,并與所述IP地址的客戶端組成多播組;d2)采用所述多播地址及端口號(hào),向所述IP地址的客戶端多播軟件升級(jí)數(shù)據(jù)。
最好,步驟d)還包括對(duì)待多播的軟件升級(jí)數(shù)據(jù)進(jìn)行預(yù)處理,所述步驟d2)進(jìn)一步包括以下步驟d21)將所有軟件升級(jí)數(shù)據(jù)合并到連續(xù)的內(nèi)存塊中;d22)將所述內(nèi)存塊中數(shù)據(jù)分成大小合適的數(shù)據(jù)塊,所述數(shù)據(jù)塊包括一信息頭,其中包含用于唯一標(biāo)識(shí)所述數(shù)據(jù)塊的標(biāo)識(shí)信息;d23)發(fā)送一個(gè)摘要信息包給客戶端,所述摘要信息包包含要發(fā)送的總數(shù)據(jù)塊數(shù)和總數(shù)據(jù)大小及CRC校驗(yàn)和信息;d24)按順序逐一發(fā)送所述數(shù)據(jù)塊;d25)當(dāng)數(shù)據(jù)發(fā)送完成,繼續(xù)發(fā)送一個(gè)完成數(shù)據(jù)包,所述完成數(shù)據(jù)包包含已發(fā)送的數(shù)據(jù)塊標(biāo)識(shí)信息及發(fā)送的總數(shù)據(jù)大小信息;d26)檢查客戶端是否要求重發(fā)數(shù)據(jù)塊,若是,獲取要重發(fā)的數(shù)據(jù)塊標(biāo)識(shí)信息,重新發(fā)送所述數(shù)據(jù)塊,否則,結(jié)束發(fā)送數(shù)據(jù)流程;所述步驟e)進(jìn)一步包括以下步驟e1)接收摘要數(shù)據(jù)包,并保存其中的摘要信息;e2)接收數(shù)據(jù)塊,并將其放置到分配好的內(nèi)存塊中;e3)接收完成數(shù)據(jù)包,并根據(jù)所述摘要信息及完成數(shù)據(jù)包信息檢查是否有數(shù)據(jù)塊丟失,若檢查到有數(shù)據(jù)塊丟失,則將該數(shù)據(jù)塊的標(biāo)識(shí)信息反饋回服務(wù)端,要求服務(wù)端重發(fā)該數(shù)據(jù)塊,直到確認(rèn)所有的數(shù)據(jù)塊都已接收到,結(jié)束數(shù)據(jù)接收流程,若沒(méi)有檢查到數(shù)據(jù)塊丟失,則直接結(jié)束數(shù)據(jù)接收流程;
e4)以接收到的數(shù)據(jù)升級(jí)本客戶端上的所述軟件。
最好,所述步驟d26)還包括預(yù)設(shè)等待重發(fā)請(qǐng)求時(shí)間的步驟,若在預(yù)設(shè)的等待重發(fā)請(qǐng)求時(shí)間內(nèi)服務(wù)端收到客戶端的重發(fā)請(qǐng)求信息,則重發(fā)所要求的數(shù)據(jù)塊,否則,結(jié)束數(shù)據(jù)發(fā)送的流程。
與現(xiàn)有計(jì)算機(jī)軟件升級(jí)的技術(shù)相比,本發(fā)明有以下的優(yōu)點(diǎn)1、同一局域網(wǎng)中只需一個(gè)用戶從升級(jí)服務(wù)器上下載軟件升級(jí)所需的數(shù)據(jù),其他用戶可通過(guò)多播的方式獲得所需的軟件升級(jí)數(shù)據(jù)。由于只需從升級(jí)服務(wù)器下載一次軟件升級(jí)數(shù)據(jù),因此,可以避免現(xiàn)有技術(shù)同一局域網(wǎng)中用戶重復(fù)下載軟件升級(jí)數(shù)據(jù)的缺點(diǎn),有利于提高升級(jí)效率,避免網(wǎng)絡(luò)資源的浪費(fèi);2、本發(fā)明在服務(wù)端下載軟件升級(jí)數(shù)據(jù)后,數(shù)據(jù)的傳送都在局域網(wǎng)內(nèi)部進(jìn)行,數(shù)據(jù)傳輸速率快,相比現(xiàn)有技術(shù)整個(gè)局域網(wǎng)用戶升級(jí)的速度提高了。
圖1是本發(fā)明計(jì)算機(jī)軟件升級(jí)的方法應(yīng)用環(huán)境的組成示意圖;圖2是圖1所示局域網(wǎng)中服務(wù)端從升級(jí)服務(wù)器下載軟件升級(jí)數(shù)據(jù)的流程圖;圖3是本發(fā)明計(jì)算機(jī)軟件升級(jí)方法中服務(wù)端數(shù)據(jù)處理的流程圖;圖4是本發(fā)明計(jì)算機(jī)軟件升級(jí)的方法中對(duì)待多播的升級(jí)數(shù)據(jù)進(jìn)行預(yù)處理的流程圖;圖5是本發(fā)明計(jì)算機(jī)軟件升級(jí)的方法中服務(wù)端通過(guò)多播將數(shù)據(jù)發(fā)送給客戶端的流程圖;圖6是本發(fā)明計(jì)算機(jī)軟件升級(jí)的方法中對(duì)軟件升級(jí)數(shù)據(jù)預(yù)處理后的數(shù)據(jù)塊信息頭數(shù)據(jù)結(jié)構(gòu)示意圖;
圖7是本發(fā)明計(jì)算機(jī)軟件升級(jí)的方法中客戶端數(shù)據(jù)處理的流程圖。
具體實(shí)施例方式
圖1是本發(fā)明計(jì)算機(jī)軟件升級(jí)的方法應(yīng)用環(huán)境的組成示意圖。
本發(fā)明可廣泛應(yīng)用在計(jì)算機(jī)軟件升級(jí)的場(chǎng)合。參看圖1所示,網(wǎng)絡(luò)升級(jí)服務(wù)器11為互聯(lián)網(wǎng)上保存計(jì)算機(jī)軟件升級(jí)數(shù)據(jù)的服務(wù)器,用戶可通過(guò)互聯(lián)網(wǎng)從該服務(wù)器下載軟件升級(jí)所需的數(shù)據(jù);所述局域網(wǎng)12是由若干臺(tái)計(jì)算機(jī)組成的小型網(wǎng)絡(luò),該局域網(wǎng)中全部計(jì)算機(jī)或部分計(jì)算機(jī)安裝有需要升級(jí)的軟件。本實(shí)施例中,所述需要升級(jí)的軟件為殺毒軟件,并假設(shè)該局域網(wǎng)中有四臺(tái)計(jì)算機(jī)安裝有所述的殺毒軟件并且都有升級(jí)殺毒軟件的需求。
另外,為了敘述的方便,本實(shí)施例指定所述計(jì)算機(jī)121作為服務(wù)端,而計(jì)算機(jī)122、123、124作為客戶端,所述服務(wù)端指從網(wǎng)絡(luò)升級(jí)服務(wù)器下載殺毒軟件升級(jí)所需的數(shù)據(jù),然后向局域網(wǎng)中其他安裝有該殺毒軟件并需要軟件升級(jí)的客戶端發(fā)送所述從升級(jí)服務(wù)器下載來(lái)的升級(jí)數(shù)據(jù)的計(jì)算機(jī);所述客戶端指不到升級(jí)服務(wù)器下載軟件升級(jí)數(shù)據(jù),而是通過(guò)局域網(wǎng)從服務(wù)端獲取所述軟件升級(jí)數(shù)據(jù)的計(jì)算機(jī)。所述服務(wù)端與客戶端的指定并不是唯一的,任何一臺(tái)安裝有所述計(jì)算機(jī)軟件的計(jì)算機(jī)都可以作為服務(wù)端,當(dāng)然也可以作為客戶端。
上述服務(wù)端與升級(jí)服務(wù)器之間可按照HTTP或者FTP協(xié)議通信,局域網(wǎng)中服務(wù)端與多個(gè)客戶端之間可按照TCP/IP協(xié)議進(jìn)行通信。
圖2是圖1所示局域網(wǎng)中服務(wù)端從升級(jí)服務(wù)器下載軟件升級(jí)數(shù)據(jù)的流程圖。
本實(shí)施例,當(dāng)局域網(wǎng)中服務(wù)端上安裝的殺毒軟件在自動(dòng)升級(jí)時(shí)間到或用戶顯式操作,需要通過(guò)互聯(lián)網(wǎng)從升級(jí)服務(wù)器上下載軟件升級(jí)數(shù)據(jù)進(jìn)行升級(jí)時(shí),執(zhí)行以下步驟步驟201服務(wù)端通過(guò)HTTP或FTP協(xié)議的方式請(qǐng)求連接殺毒軟件的升級(jí)服務(wù)器,所述升級(jí)服務(wù)器是由用戶從服務(wù)器列表中自行選擇的或由程序自動(dòng)選擇的連接速度最快的一個(gè),在服務(wù)端提交的連接信息中包含有本地軟件序列號(hào)及用戶激活碼等數(shù)據(jù),用于升級(jí)服務(wù)器判斷所述本地軟件是否為合法的授權(quán)版本;步驟202當(dāng)服務(wù)端成功連接到服務(wù)器后,服務(wù)器檢查服務(wù)端的本地拷貝軟件是否為合法的軟件版本,如不是合法的軟件版本,則提示服務(wù)端,拒絕執(zhí)行軟件升級(jí)請(qǐng)求并退出;如是合法的軟件版本,則檢查其最新的本地軟件版本號(hào),與服務(wù)器提供的最新版本比較,若不低于服務(wù)器上的最新軟件版本號(hào),則無(wú)升級(jí)的必要,提示用戶,退出升級(jí)流程,如低于服務(wù)器上的最新版本,則繼續(xù)執(zhí)行下述的升級(jí)步驟;步驟203服務(wù)端從升級(jí)服務(wù)器下載最新的軟件升級(jí)數(shù)據(jù)到本地,并執(zhí)行升級(jí)操作,即用從升級(jí)服務(wù)器下載的最新數(shù)據(jù)替換本地原有的相同文件;步驟204服務(wù)端上計(jì)算機(jī)軟件升級(jí)完成,關(guān)閉與遠(yuǎn)程升級(jí)服務(wù)器的連接。
上述服務(wù)端從互聯(lián)網(wǎng)遠(yuǎn)程升級(jí)服務(wù)器上獲取軟件升級(jí)所需要的數(shù)據(jù)并升級(jí)所述軟件,與現(xiàn)有技術(shù)是相同的。但該局域網(wǎng)中其他安裝有相同殺毒軟件的客戶端也有軟件升級(jí)的需要,若按照現(xiàn)有技術(shù)的實(shí)現(xiàn)方案,客戶端只能重復(fù)上述服務(wù)端升級(jí)的過(guò)程重新從升級(jí)服務(wù)器上下載軟件升級(jí)數(shù)據(jù),顯然,這種局域網(wǎng)中計(jì)算機(jī)軟件升級(jí)方法對(duì)網(wǎng)絡(luò)的帶寬造成了極大的浪費(fèi),網(wǎng)絡(luò)升級(jí)效率不高,在升級(jí)用戶數(shù)較多時(shí),會(huì)對(duì)升級(jí)服務(wù)器造成極大的壓力,考慮到服務(wù)端上已經(jīng)保存了軟件升級(jí)所需的升級(jí)數(shù)據(jù),即服務(wù)端上保存的軟件升級(jí)數(shù)據(jù)與升級(jí)服務(wù)器上的軟件升級(jí)數(shù)據(jù)是相同的。因此,局域網(wǎng)中其他需要軟件升級(jí)的客戶端可從服務(wù)端獲取所需的升級(jí)數(shù)據(jù),下面進(jìn)行詳細(xì)說(shuō)明。
首先敘述服務(wù)端數(shù)據(jù)處理的流程,圖3是本發(fā)明計(jì)算機(jī)軟件升級(jí)方法中服務(wù)端數(shù)據(jù)處理的流程圖,包括以下的步驟步驟301服務(wù)端下載軟件升級(jí)數(shù)據(jù)完畢,在本局域網(wǎng)所屬子網(wǎng)內(nèi)廣播一個(gè)通知信息,以便通知局域網(wǎng)中客戶端有最新的軟件升級(jí)數(shù)據(jù),所述通知信息可由一個(gè)UDP(用戶數(shù)據(jù)包)數(shù)據(jù)包廣播出去,具體的,所述通知信息包括要更新的軟件版本號(hào)以及本地發(fā)送升級(jí)數(shù)據(jù)所用的多播地址及端口號(hào)等信息。
本步驟廣播該UDP數(shù)據(jù)包除了通知客戶端有最新升級(jí)數(shù)據(jù)外,其另一目的是為了統(tǒng)計(jì)本子網(wǎng)中有多少需要軟件升級(jí)的客戶端,由于網(wǎng)絡(luò)運(yùn)輸?shù)难舆t以及UDP數(shù)據(jù)包丟包的可能性,該廣播的數(shù)據(jù)包會(huì)持續(xù)一段時(shí)間,例如,30秒;步驟302等待一段時(shí)間,然后開(kāi)始統(tǒng)計(jì)反饋回的要軟件升級(jí)的客戶端的響應(yīng)信息,所述響應(yīng)信息包括需軟件升級(jí)的客戶端的IP地址,統(tǒng)計(jì)時(shí)不但要統(tǒng)計(jì)所述客戶端的IP地址,還包括需升級(jí)軟件的客戶端個(gè)數(shù)等信息,如果統(tǒng)計(jì)得到的結(jié)果為需升級(jí)的客戶端個(gè)數(shù)為0,表明當(dāng)前沒(méi)有需要軟件升級(jí)的客戶端,結(jié)束軟件升級(jí)流程,否則,繼續(xù)以下步驟;步驟303將要發(fā)送的下載獲取的軟件升級(jí)數(shù)據(jù)進(jìn)行預(yù)處理以便提高網(wǎng)絡(luò)傳輸?shù)男?,所述軟件升?jí)數(shù)據(jù)保存在本地根目錄下某個(gè)文件夾中,傳送時(shí)需要先預(yù)處理以便正確的傳送及提高網(wǎng)絡(luò)傳輸?shù)男?;步驟304通過(guò)從響應(yīng)信息獲取的客戶端的IP地址,采用上述廣播通知信息中的多播地址及端口號(hào),將上述預(yù)處理的數(shù)據(jù)通過(guò)UDP數(shù)據(jù)包多播發(fā)送到客戶端。
圖4是本發(fā)明計(jì)算機(jī)軟件升級(jí)方法中對(duì)待多播的軟件升級(jí)數(shù)據(jù)進(jìn)行預(yù)處理的流程圖。
所述對(duì)待多播的升級(jí)數(shù)據(jù)進(jìn)行預(yù)處理具體包括以下步驟步驟401判斷要發(fā)送的文件目錄路徑是否正確,若正確,則進(jìn)入步驟402,否則,進(jìn)入步驟404;步驟402將指定目錄下的所有文件格式化為一塊連續(xù)的內(nèi)存塊以便發(fā)送;步驟403將所述內(nèi)存塊中數(shù)據(jù)分成多個(gè)大小合適的數(shù)據(jù)塊,所述數(shù)據(jù)塊包括一信息頭,其中包含用于唯一標(biāo)識(shí)所述數(shù)據(jù)塊的標(biāo)識(shí)信息,如將所述內(nèi)存塊分成多個(gè)數(shù)據(jù)塊時(shí)分配給該數(shù)據(jù)塊的標(biāo)識(shí)ID、該數(shù)據(jù)塊的大小以及CRC校驗(yàn)和等信息;;步驟404返回錯(cuò)誤信息。
下面說(shuō)明多播軟件升級(jí)數(shù)據(jù)的過(guò)程,圖5是本發(fā)明計(jì)算機(jī)軟件升級(jí)的方法中服務(wù)端通過(guò)多播將軟件升級(jí)數(shù)據(jù)發(fā)送給客戶端的流程圖,上述服務(wù)端通過(guò)多播將軟件升級(jí)數(shù)據(jù)發(fā)送給客戶端具體包括以下步驟步驟501發(fā)送一個(gè)摘要信息包給客戶端,所述摘要信息包包含要發(fā)送的總數(shù)據(jù)塊數(shù)和總數(shù)據(jù)大小及CRC(循環(huán)冗余校驗(yàn))校驗(yàn)和等信息;步驟502按順序逐一發(fā)送所述數(shù)據(jù)塊,發(fā)送數(shù)據(jù)完成,繼續(xù)發(fā)送一個(gè)完成數(shù)據(jù)包,所述完成數(shù)據(jù)包包含已發(fā)送的數(shù)據(jù)塊標(biāo)識(shí)信息及發(fā)送的總數(shù)據(jù)大小等信息;步驟503檢查客戶端是否要求重發(fā)數(shù)據(jù)塊,若是,進(jìn)入步驟504獲取要重發(fā)的數(shù)據(jù)塊標(biāo)識(shí)信息,重新發(fā)送所述數(shù)據(jù)塊,否則,進(jìn)入步驟505結(jié)束發(fā)送數(shù)據(jù)流程。
圖6是本發(fā)明計(jì)算機(jī)軟件升級(jí)方法中經(jīng)分割后的數(shù)據(jù)塊結(jié)構(gòu)示意圖。
如上述的,所述的數(shù)據(jù)塊包括兩部分?jǐn)?shù)據(jù)信息頭和實(shí)際數(shù)據(jù)部分,如圖6中所示,所述標(biāo)識(shí)信息包括本數(shù)據(jù)塊的標(biāo)識(shí)ID、本數(shù)據(jù)塊的CRC、本數(shù)據(jù)塊的總大小等信息,實(shí)際數(shù)據(jù)部分則是待發(fā)送給各客戶端的真正的軟件升級(jí)數(shù)據(jù)。
繼續(xù)說(shuō)明本發(fā)明的方法,圖7是本發(fā)明計(jì)算機(jī)軟件升級(jí)的方法中客戶端數(shù)據(jù)處理的流程圖,具體包括以下步驟步驟701接收服務(wù)端發(fā)送來(lái)的通知信息,具體客戶端在接收到服務(wù)端廣播的UDP數(shù)據(jù)包后,獲取其中的軟件版本號(hào)等信息與本地的相應(yīng)信息比較,如軟件版本號(hào),若不高于本地,則無(wú)需升級(jí),不進(jìn)行任何處理,反之,回送一個(gè)升級(jí)響應(yīng)信息給服務(wù)端,所述響應(yīng)信息還通過(guò)UDP數(shù)據(jù)包反饋給服務(wù)端,表明本客戶端要參加本次升級(jí)會(huì)話;步驟702加入以服務(wù)端為發(fā)送源的多播組,該組的多播地址及端口號(hào)等信息由服務(wù)端發(fā)送的通知信息獲取,然后開(kāi)始等待服務(wù)端發(fā)送數(shù)據(jù);步驟703當(dāng)接收到一個(gè)數(shù)據(jù)包時(shí),首先校驗(yàn)數(shù)據(jù)包是否有效,如上提到的,每一個(gè)從服務(wù)端發(fā)來(lái)的數(shù)據(jù)包都有CRC校驗(yàn)和等信息,因此,在接收到數(shù)據(jù)包時(shí),通過(guò)校驗(yàn)以確定該數(shù)據(jù)包是否有效,若有效,則進(jìn)入步驟704;否則,不接收該數(shù)據(jù)包;步驟704判斷該數(shù)據(jù)包是否為摘要信息包,若是,保存該數(shù)據(jù)包,以便接收完所有數(shù)據(jù)包后根據(jù)所述摘要信息包的信息檢驗(yàn)是否有丟包,若所述數(shù)據(jù)包并不是摘要信息包,則繼續(xù)等待客戶端發(fā)送摘要信息包;步驟705開(kāi)始接收實(shí)際的升級(jí)數(shù)據(jù)包,由于發(fā)送端是將升級(jí)數(shù)據(jù)預(yù)處理后分成一個(gè)個(gè)小數(shù)據(jù)塊并順序發(fā)送的,接收時(shí)也一一接收所述的數(shù)據(jù)塊并放到內(nèi)存中相應(yīng)的位置,在接收升級(jí)數(shù)據(jù)完畢后,繼續(xù)接收完成信息包;步驟706獲取完成信息包的信息,并根據(jù)本地保存的所述摘要信息及完成數(shù)據(jù)包信息檢查是否有數(shù)據(jù)塊丟失,并確定需重發(fā)的數(shù)據(jù)塊信息,若檢查到有數(shù)據(jù)塊丟失,則將該數(shù)據(jù)塊的標(biāo)識(shí)信息(如標(biāo)識(shí)ID)反饋回服務(wù)端,要求服務(wù)端重發(fā)該數(shù)據(jù)塊,直到確認(rèn)所有的數(shù)據(jù)塊都已接收到,結(jié)束數(shù)據(jù)接收流程,若沒(méi)有檢查到數(shù)據(jù)塊丟失,則直接結(jié)束數(shù)據(jù)接收流程;步驟707接收數(shù)據(jù)完畢,將存放在本地內(nèi)存中的軟件升級(jí)數(shù)據(jù)還原保存在臨時(shí)目錄中;步驟708還原升級(jí)數(shù)據(jù)完畢,執(zhí)行升級(jí)操作,即用還原得到的數(shù)據(jù)替換本地原有的相同文件,至此,整個(gè)局域網(wǎng)中計(jì)算機(jī)軟件升級(jí)全部完成。
上述本發(fā)明計(jì)算機(jī)軟件升級(jí)的方法,任一臺(tái)局域網(wǎng)中計(jì)算機(jī)均可作為服務(wù)端從升級(jí)服務(wù)器下載升級(jí)所需的數(shù)據(jù),并在其中一臺(tái)計(jì)算機(jī)獲取升級(jí)數(shù)據(jù)后,即以多播的方式向其他需升級(jí)的計(jì)算機(jī)發(fā)送所述的數(shù)據(jù),由于整個(gè)局域網(wǎng)只需從升級(jí)服務(wù)器下載一次升級(jí)數(shù)據(jù),其余數(shù)據(jù)傳送都在局域網(wǎng)中進(jìn)行,因此,數(shù)據(jù)傳送速率快,升級(jí)效率相對(duì)現(xiàn)有技術(shù)更高,可以避免現(xiàn)有技術(shù)從升級(jí)服務(wù)器重復(fù)下載數(shù)據(jù)的缺點(diǎn)。
上述僅以?xún)?yōu)選實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明,非因此即局限本發(fā)明的權(quán)利范圍,事實(shí)上通過(guò)局域網(wǎng)多播的方式實(shí)現(xiàn)局域網(wǎng)中數(shù)據(jù)傳送的方式還有多種,因此,在不脫離本發(fā)明思想的情況下,凡運(yùn)用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所為的等效變化,均理同包含于本發(fā)明的權(quán)利要求范圍內(nèi)。
權(quán)利要求
1.一種計(jì)算機(jī)軟件升級(jí)的方法,用于升級(jí)安裝在局域網(wǎng)中多臺(tái)計(jì)算機(jī)上的軟件,其特征在于,該方法包括以下步驟a)服務(wù)端從升級(jí)服務(wù)器下載軟件升級(jí)所需數(shù)據(jù)并升級(jí)本服務(wù)端上所述軟件;b)所述服務(wù)端向子網(wǎng)廣播一個(gè)通知信息以指示局域網(wǎng)中客戶端有最新的軟件升級(jí)數(shù)據(jù);c)客戶端獲取所述通知信息,向所述服務(wù)端回送響應(yīng)信息;d)所述服務(wù)端與客戶端組成多播組,由所述服務(wù)端向客戶端多播軟件升級(jí)數(shù)據(jù);e)所述客戶端獲取所述軟件升級(jí)數(shù)據(jù)并升級(jí)所述軟件。
2.根據(jù)權(quán)利要求1所述計(jì)算機(jī)軟件升級(jí)的方法,其特征在于,步驟b)所述通知信息包括軟件版本號(hào)、多播地址及端口號(hào)。
3.根據(jù)權(quán)利要求2所述局域網(wǎng)中計(jì)算機(jī)軟件升級(jí)的方法,其特征在于,所述步驟c)還包括判斷的步驟c1)接收該通知信息的客戶端獲取所述軟件版本號(hào),并與本地軟件版本號(hào)比較;c2)根據(jù)比較結(jié)果確定是否向所述服務(wù)端回送響應(yīng)信息,若比較結(jié)果為本地軟件版本號(hào)低于所述軟件版本號(hào),則回送響應(yīng)信息,否則,不回送響應(yīng)信息。
4.根據(jù)權(quán)利要求2或3所述計(jì)算機(jī)軟件升級(jí)的方法,其特征在于,步驟c)所述響應(yīng)信息包括有客戶端的IP地址。
5.根據(jù)權(quán)利要求4所述計(jì)算機(jī)軟件升級(jí)的方法,其特征在于,所述步驟d)包括以下步驟d1)服務(wù)端獲取響應(yīng)的客戶端的IP地址,并與所述IP地址的客戶端組成多播組;d2)采用所述多播地址及端口號(hào),向所述IP地址的客戶端多播軟件升級(jí)數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述計(jì)算機(jī)軟件升級(jí)的方法,其特征在于,步驟d)還包括對(duì)待多播的軟件升級(jí)數(shù)據(jù)進(jìn)行預(yù)處理,所述步驟d2)進(jìn)一步包括以下步驟d21)將所有軟件升級(jí)數(shù)據(jù)合并到連續(xù)的內(nèi)存塊中;d22)將所述內(nèi)存塊中數(shù)據(jù)分成大小合適的數(shù)據(jù)塊,所述數(shù)據(jù)塊包括一信息頭,其中包含用于唯一標(biāo)識(shí)所述數(shù)據(jù)塊的標(biāo)識(shí)信息;d23)發(fā)送一個(gè)摘要信息包給客戶端,所述摘要信息包包含要發(fā)送的總數(shù)據(jù)塊數(shù)和總數(shù)據(jù)大小及CRC校驗(yàn)和信息;d24)按順序逐一發(fā)送所述數(shù)據(jù)塊;d25)當(dāng)數(shù)據(jù)發(fā)送完成,繼續(xù)發(fā)送一個(gè)完成數(shù)據(jù)包,所述完成數(shù)據(jù)包包含已發(fā)送的數(shù)據(jù)塊標(biāo)識(shí)信息及發(fā)送的總數(shù)據(jù)大小信息;d26)檢查客戶端是否要求重發(fā)數(shù)據(jù)塊,若是,獲取要重發(fā)的數(shù)據(jù)塊標(biāo)識(shí)信息,重新發(fā)送所述數(shù)據(jù)塊,否則,結(jié)束發(fā)送數(shù)據(jù)流程;所述步驟e)進(jìn)一步包括以下步驟e1)接收摘要數(shù)據(jù)包,并保存其中的摘要信息;e2)接收數(shù)據(jù)塊,并將其放置到分配好的內(nèi)存塊中;e3)接收完成數(shù)據(jù)包,并根據(jù)所述摘要信息及完成數(shù)據(jù)包信息檢查是否有數(shù)據(jù)塊丟失,若檢查到有數(shù)據(jù)塊丟失,則將該數(shù)據(jù)塊的標(biāo)識(shí)信息反饋回服務(wù)端,要求服務(wù)端重發(fā)該數(shù)據(jù)塊,直到確認(rèn)所有的數(shù)據(jù)塊都已接收到,結(jié)束數(shù)據(jù)接收流程,若沒(méi)有檢查到數(shù)據(jù)塊丟失,則直接結(jié)束數(shù)據(jù)接收流程;e4)以接收到的數(shù)據(jù)升級(jí)本客戶端上的所述軟件。
7.根據(jù)權(quán)利要求6所述計(jì)算機(jī)軟件的方法,其特征在于,所述步驟d26)還包括預(yù)設(shè)等待重發(fā)請(qǐng)求時(shí)間的步驟,若在預(yù)設(shè)的等待重發(fā)請(qǐng)求時(shí)間內(nèi)服務(wù)端收到客戶端的重發(fā)請(qǐng)求信息,則重發(fā)所要求的數(shù)據(jù)塊,否則,結(jié)束數(shù)據(jù)發(fā)送的流程。
全文摘要
本發(fā)明公開(kāi)一種計(jì)算機(jī)軟件升級(jí)的方法,用于升級(jí)安裝在局域網(wǎng)中多臺(tái)計(jì)算機(jī)上的軟件,該方法包括以下步驟a)服務(wù)端從升級(jí)服務(wù)器下載軟件升級(jí)所需數(shù)據(jù)并升級(jí)本服務(wù)端上所述軟件;b)所述服務(wù)端向局域網(wǎng)廣播一個(gè)通知信息以指示局域網(wǎng)中客戶端有最新的軟件升級(jí)數(shù)據(jù);c)客戶端獲取該通知信息,向所述服務(wù)端回送響應(yīng)信息;d)所述服務(wù)端與客戶端組成多播組,由所述服務(wù)端向客戶端多播軟件升級(jí)數(shù)據(jù);e)所述客戶端獲取所述軟件升級(jí)數(shù)據(jù)并升級(jí)所述軟件。由于本發(fā)明通過(guò)多播的方式在局域網(wǎng)中傳送軟件升級(jí)數(shù)據(jù),傳送速率快,升級(jí)效率高。
文檔編號(hào)G06F9/445GK1584865SQ0315394
公開(kāi)日2005年2月23日 申請(qǐng)日期2003年8月21日 優(yōu)先權(quán)日2003年8月21日
發(fā)明者劉海峰, 張周 申請(qǐng)人:珠海金山軟件股份有限公司