專利名稱:一種零代碼集成自動(dòng)升級(jí)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件的更新升級(jí)技術(shù)領(lǐng)域,特別是涉及一種零代碼集成自動(dòng)升級(jí)的方法。
背景技術(shù):
現(xiàn)在越來(lái)越多的軟件都希望具有自動(dòng)升級(jí)功能,用戶在使用軟件的過(guò)程中,軟件 自動(dòng)通過(guò)網(wǎng)絡(luò)從指定的服務(wù)器獲得軟件最新版本的信息,并自動(dòng)下載相應(yīng)的升級(jí)文件來(lái)實(shí) 現(xiàn)軟件版本的更新,免去了用戶自己上網(wǎng)檢查和下載軟件的最新版本的麻煩,這是一項(xiàng)很 貼心的功能,在一定程度上增加了軟件的易用性和友好度。而縱觀天空軟件、華軍軟件收錄 的所有軟件,99%以上的軟件自動(dòng)升級(jí)功能做得都過(guò)于粗陋,只有騰訊軟件、360軟件、金山 軟件等大型的軟件企業(yè),這個(gè)功能點(diǎn)做得相對(duì)完善。
但這些傳統(tǒng)的自動(dòng)升級(jí)方法具有一個(gè)弊端,需要通過(guò)預(yù)升級(jí)主程序調(diào)用升級(jí)程 序,即在主程序中加入少許代碼,用以調(diào)用升級(jí)程序,從而實(shí)現(xiàn)升級(jí)過(guò)程,這將不可避免地 需要修改預(yù)升級(jí)軟件的源代碼,從而破壞了預(yù)升級(jí)軟件的完成性和安全性,容易出現(xiàn)不可 預(yù)判的不安全因素。
圖2是傳統(tǒng)的軟件集成自動(dòng)升級(jí)功能的方法,這里面有一個(gè)升級(jí)環(huán)節(jié)就是主程 序調(diào)用升級(jí)程序,在主程序中加入少許代碼,用以調(diào)用升級(jí)程序,目前大多軟件都是采用這 種方案,例如QQ、360安全衛(wèi)士、金山的wps-office等,很顯然,要為軟件集成自動(dòng)升級(jí)功 能,需要在主程序中加入調(diào)用代碼,新增升級(jí)功能的程序,需要修改軟件的源代碼,以增加 這個(gè)升級(jí)環(huán)節(jié)。
傳統(tǒng)升級(jí)方案的問(wèn)題1.開(kāi)發(fā)軟件使用的語(yǔ)言多種多樣,有powerbuild、C++、C#、Basic等,用傳統(tǒng)的方法,不 能夠一籃子解決不同語(yǔ)言開(kāi)發(fā)的軟件集成自動(dòng)升級(jí)功能的問(wèn)題,而是需要針對(duì)不同語(yǔ)言開(kāi) 發(fā)的軟件開(kāi)發(fā)與其各自相應(yīng)的升級(jí)程序;2.集成升級(jí)功能的軟件需要修改源代碼,調(diào)用繁瑣,對(duì)那些沒(méi)有源碼的用戶無(wú)法實(shí)現(xiàn) 升級(jí)功能的集成;3.使得自動(dòng)升級(jí)的軟件功能推廣使用變得比較困難,不利于在普通用戶中普及使用。 發(fā)明內(nèi)容
針對(duì)上述問(wèn)題,本發(fā)明公開(kāi)了一種零代碼集成自動(dòng)升級(jí)的方法,該方法至少解決 了上述對(duì)軟件開(kāi)發(fā)語(yǔ)言的限制、需要修改源代碼才可以升級(jí)以及操作繁雜的問(wèn)題,從而使 得普通用戶就可以對(duì)現(xiàn)有的程序進(jìn)行升級(jí),且不需要對(duì)現(xiàn)有程序的源代碼進(jìn)行更改、也不 需要復(fù)雜操作,極大方便普通用戶對(duì)現(xiàn)有程序自動(dòng)升級(jí)的維護(hù)和使用。
工作原理為,軟件啟動(dòng)的入口設(shè)置為自動(dòng)升級(jí)程序而不是通常的主程序,自動(dòng)升 級(jí)程序獲得了優(yōu)先運(yùn)行權(quán),在自動(dòng)升級(jí)程序運(yùn)行過(guò)程中,他首先檢查軟件是否有更新,如果 有更新,就彈出自己的升級(jí)界面,實(shí)現(xiàn)文件的下載和更新,如果軟件沒(méi)有更新則直接啟動(dòng)主程序。應(yīng)用本發(fā)明可以解決二目前升級(jí)程序不能解決了兩個(gè)問(wèn)題,一是不編寫一行代碼實(shí) 現(xiàn)軟件自動(dòng)升級(jí)功能的集成,二是用同一個(gè)方法、同一個(gè)軟件模塊,為不同語(yǔ)言(C++,C#、 delph1、powerbuild、basic等)開(kāi)發(fā)出來(lái)的軟件產(chǎn)品集成自動(dòng)升級(jí)功能。
該方法包括步驟1:將預(yù)升級(jí)軟件的入口設(shè)置為自動(dòng)升級(jí)程序,當(dāng)執(zhí)行該預(yù)升級(jí)軟件時(shí),直接啟動(dòng) 該預(yù)升級(jí)軟件安裝目錄下的自動(dòng)升級(jí)程序,而不必啟動(dòng)該預(yù)升級(jí)軟件的主程序;步驟2 :自動(dòng)升級(jí)程序啟動(dòng)后,立即聯(lián)網(wǎng)查找該軟件是否有更新,如果沒(méi)有更新則直接 啟動(dòng)主程序,如果有更新就彈出界面引導(dǎo)用戶下載可以執(zhí)行更新的軟件文件、并執(zhí)行更新 改下載的軟件文件,更新完畢再啟動(dòng)該預(yù)升級(jí)程序的主程序;其中,自動(dòng)升級(jí)程序是一個(gè)通用的程序模塊,其圖標(biāo)不能適應(yīng)不同的軟件、在做預(yù)升級(jí) 軟件的安裝包時(shí)將預(yù)升級(jí)軟件的程序文件指向自動(dòng)升級(jí)程序,且該圖標(biāo)指向自己的程序。
進(jìn)一步地,自動(dòng)升級(jí)程序首先連接網(wǎng)絡(luò)判斷軟件是否有更新,如果沒(méi)有更新,則直 接調(diào)用主程序,實(shí)現(xiàn)軟件控制器的正常回歸;如果有更新則彈出界面,下載軟件文件到臨時(shí) 目錄、檢查軟件文件是否被占用、從臨時(shí)目錄拷貝文件覆蓋到軟件目錄,升級(jí)完畢再啟動(dòng)主 程序。
進(jìn)一步地,自動(dòng)升級(jí)程序發(fā)現(xiàn)無(wú)更新或者更新完畢,再調(diào)用主程序,設(shè)置預(yù)升級(jí)軟 件發(fā)布時(shí)要有個(gè)配置文件,在這個(gè)配置文件中指明從何處下載軟件文件、主程序的程序名 稱、主程序的文件名稱,以便自動(dòng)升級(jí)程序能夠正常下載軟件文件、調(diào)用并將軟件控制器正 ?;貧w給主程序。
進(jìn)一步地,自動(dòng)升級(jí)程序的程序有自己的圖標(biāo),并不因?yàn)榉?wù)于不同的軟件而改 變,在制作軟件的安裝包時(shí),軟件的快捷入口程序文件指向自動(dòng)升級(jí)程序,圖標(biāo)文件指向其 他文件。
通過(guò)上述技術(shù)方案,本發(fā)明至少具有技術(shù)效果(I)不需要修改主程序源代碼即可實(shí)現(xiàn)程序的自動(dòng)升級(jí)。應(yīng)用本發(fā)明可以實(shí)現(xiàn)應(yīng)用程 序快速集成自動(dòng)升級(jí)功能,不修改一行代碼,同時(shí)可以為不同的開(kāi)發(fā)環(huán)境開(kāi)發(fā)語(yǔ)言服務(wù)。
(2)可以將自動(dòng)升級(jí)功能單獨(dú)出來(lái)做,進(jìn)而可以形成軟件產(chǎn)業(yè)的規(guī)模經(jīng)濟(jì)效益,不 必每個(gè)軟件企業(yè)都做自己的自動(dòng)升級(jí)功能,從而為軟件企業(yè)減輕了開(kāi)發(fā)成本和負(fù)擔(dān),也更 好地實(shí)現(xiàn)了程序的自動(dòng)升級(jí),提高了用戶對(duì)程序使用的良好體驗(yàn)。
圖1是采用本發(fā)明零代碼集成軟件自動(dòng)升級(jí)功能時(shí),自動(dòng)升級(jí)程序和主程序協(xié)作關(guān)系 及協(xié)作流程圖。圖2是用傳統(tǒng)方式集成自動(dòng)升級(jí)功能時(shí),自動(dòng)升級(jí)程序和主程序協(xié)作關(guān)系及協(xié)作流程圖。
權(quán)利要求
1.一種零代碼集成自動(dòng)升級(jí)的方法,其特征在于,該方法包括以下步驟步驟1:將預(yù)升級(jí)軟件的入口設(shè)置為自動(dòng)升級(jí)程序,當(dāng)執(zhí)行該預(yù)升級(jí)軟件時(shí),直接啟動(dòng)該預(yù)升級(jí)軟件安裝目錄下的自動(dòng)升級(jí)程序,而不必啟動(dòng)該預(yù)升級(jí)軟件的主程序;步驟2 :自動(dòng)升級(jí)程序啟動(dòng)后,立即聯(lián)網(wǎng)查找該軟件是否有更新,如果沒(méi)有更新則直接啟動(dòng)主程序,如果有更新就彈出界面引導(dǎo)用戶下載可以執(zhí)行更新的軟件文件、并執(zhí)行更新改下載的軟件文件,更新完畢再啟動(dòng)該預(yù)升級(jí)程序的主程序;其中,自動(dòng)升級(jí)程序是一個(gè)通用的程序模塊,其圖標(biāo)不能適應(yīng)不同的軟件、在做預(yù)升級(jí)軟件的安裝包時(shí)將預(yù)升級(jí)軟件的程序文件指向自動(dòng)升級(jí)程序,且該圖標(biāo)指向自己的程序。
2.如權(quán)利要求1所述的自動(dòng)升級(jí)方法,其特征在于該預(yù)升級(jí)軟件的入口指向自動(dòng)升級(jí)程序,而非主程序。
3.如權(quán)利要求1所述的自動(dòng)升級(jí)方法,其特征在于自動(dòng)升級(jí)程序首先連接網(wǎng)絡(luò)判斷軟件是否有更新,如果沒(méi)有更新,則直接調(diào)用主程序, 實(shí)現(xiàn)軟件控制器的正?;貧w;如果有更新則彈出界面,下載軟件文件到臨時(shí)目錄、檢查軟件文件是否被占用、從臨時(shí)目錄拷貝文件覆蓋到軟件目錄,升級(jí)完畢再啟動(dòng)主程序。
4.如權(quán)利要求1所述的自動(dòng)升級(jí)方法,其特征在于自動(dòng)升級(jí)程序發(fā)現(xiàn)無(wú)更新或者更新完畢,再調(diào)用主程序,設(shè)置預(yù)升級(jí)軟件發(fā)布時(shí)要有個(gè)配置文件,在這個(gè)配置文件中指明從何處下載軟件文件、主程序的程序名稱、主程序的文件名稱,以便自動(dòng)升級(jí)程序能夠正常下載軟件文件、調(diào)用并將軟件控制器正?;貧w給主程序。
5.如權(quán)利要求1所述的自動(dòng)升級(jí)方法,其特征在于自動(dòng)升級(jí)程序的程序有自己的圖標(biāo),并不因?yàn)榉?wù)于不同的軟件而改變,在制作軟件的安裝包時(shí),軟件的快捷入口程序文件指向自動(dòng)升級(jí)程序,圖標(biāo)文件指向其他文件。
全文摘要
本發(fā)明公開(kāi)一種零代碼集成自動(dòng)升級(jí)方法,包括將預(yù)升級(jí)軟件的入口設(shè)置為自動(dòng)升級(jí)程序,當(dāng)執(zhí)行該預(yù)升級(jí)軟件時(shí),直接啟動(dòng)該預(yù)升級(jí)軟件安裝目錄下的自動(dòng)升級(jí)程序,而不必啟動(dòng)該預(yù)升級(jí)軟件的主程序;自動(dòng)升級(jí)程序啟動(dòng)后,立即聯(lián)網(wǎng)查找該軟件是否有更新,如果沒(méi)有更新則直接啟動(dòng)主程序,如果有更新就彈出界面引導(dǎo)用戶下載可以執(zhí)行更新的軟件文件、并執(zhí)行更新改下載的軟件文件,更新完畢再啟動(dòng)該預(yù)升級(jí)程序的主程序。由于本發(fā)明實(shí)現(xiàn)了不修改源代碼即可實(shí)現(xiàn)程序的自動(dòng)升級(jí),大大方便了程序的升級(jí)和維護(hù)。
文檔編號(hào)G06F9/445GK103064700SQ20121049240
公開(kāi)日2013年4月24日 申請(qǐng)日期2012年11月28日 優(yōu)先權(quán)日2012年11月28日
發(fā)明者杜春輝 申請(qǐng)人:鎮(zhèn)江為天下信息服務(wù)有限公司