專利名稱:軟件升級方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種軟件升級方法和裝置。
背景技術(shù):
隨著社會的進步與技術(shù)的發(fā)展,手機越來越普及,手機的功能也越來越復(fù)雜,此夕卜,手機市場的競爭也非常激烈,新款產(chǎn)品不斷被推出。因此在當前的大環(huán)境下,手機生產(chǎn)廠商面臨的壓力越來越大,一方面要不斷地推出新產(chǎn)品,另一方面也要對上市產(chǎn)品進行維護升級,然而,由于手機的功能越來越復(fù)雜,導(dǎo)致版本出現(xiàn)故障的可能性也越大,一旦版本出現(xiàn)故障,則需要提供售后版本并且通知用戶到售后網(wǎng)點進行版本升級。但是,上述這種到售后網(wǎng)點進行升級的方法存在一些缺陷,例如:(I)售后成本高,需要大量的售后網(wǎng)點;(2)由于用戶要親自到售后網(wǎng)點進行版本升級,而造成用戶的不便;(3)如果終端的版本升級不及時,則會影響到用戶對產(chǎn)品的滿意度。因此,由上述的版本升級方法可以看出,當版本出現(xiàn)故障時,到售后網(wǎng)點對版本進行升級就要求廠商建立大量的售后網(wǎng)點,提高了廠商的售后成本,同時,用戶親自到售后網(wǎng)點對版本進行升級也對用戶造成了不便,當用戶不能及時到售后網(wǎng)點對版本進行升級時,則降低了解決版本故障的效率,影響用戶的滿意度。針對相關(guān)技術(shù)中的上述問題,目前尚未提出有效的解決方案
發(fā)明內(nèi)容
本發(fā)明提供了一種軟件升級方法和裝置,以至少解決相關(guān)技術(shù)中的軟件版本升級所需的成本高、軟件版本升級效率低的問題。根據(jù)本發(fā)明的一個方面,提供了一種軟件升級方法,包括:移動終端下載補丁文件,其中,補丁文件為修復(fù)移動終端中當前故障的軟件版本所需要的文件;移動終端加載并激活下載的補丁文件。優(yōu)選地,在下載補丁文件之前,上述軟件升級方法還包括:補丁文件通過以下方式獲得:將待修復(fù)函數(shù)的補丁函數(shù)的代碼生成可發(fā)布到網(wǎng)絡(luò)上的補丁文件作為下載的補丁文件。優(yōu)選地,可發(fā)布到網(wǎng)絡(luò)上的補丁文件的補丁頭信息包括:可發(fā)布的補丁文件的版本號、補丁文件的基礎(chǔ)版本的版本號、補丁函數(shù)的名稱以及待修復(fù)函數(shù)的入口地址。優(yōu)選地,將待修復(fù)函數(shù)的補丁函數(shù)的代碼生成可發(fā)布的補丁文件,包括:將待修復(fù)函數(shù)的補丁函數(shù)的代碼生成可重定位的補丁文件;對可重定位的補丁文件添加補丁頭信息,將可重定位的補丁文件生成可發(fā)布到網(wǎng)絡(luò)上的補丁文件。優(yōu)選地,移動終端加載并激活下載的補丁文件之前,上述軟件升級方法還包括:獲取補丁文件的基礎(chǔ)版本的版本號和當前故障的軟件版本的版本號;在補丁文件的基礎(chǔ)版本的版本號和當前故障的軟件版本的版本號一致時,確定加載可發(fā)布到網(wǎng)絡(luò)上的補丁文件。
優(yōu)選地,移動終端加載補丁文件,包括:獲取可發(fā)布的補丁文件中的可重定位的補丁文件;將可重定位的補丁文件加載到內(nèi)存中,并根據(jù)可重定位的補丁文件在內(nèi)存中的地址計算補丁函數(shù)的入口地址。優(yōu)選地,移動終端激活補丁文件,包括:獲取補丁函數(shù)的入口地址和待修復(fù)函數(shù)的入口地址;根據(jù)補丁函數(shù)的入口地址和待修復(fù)函數(shù)的入口地址生成跳轉(zhuǎn)指令,將跳轉(zhuǎn)指令覆蓋到待修復(fù)函數(shù)的第一條指令處,激活補丁文件。優(yōu)選地,移動終端加載補丁文件,包括:在下載補丁文件后,直接對補丁文件進行加載;或者在下載補丁文件后,在移動終端再次啟動時,對補丁文件進行加載。根據(jù)本發(fā)明的另一方面,提供了一種軟件升級裝置,位于移動終端中,包括:下載模塊,用于下載補丁文件,其中,補丁文件為修復(fù)移動終端中當前故障的軟件版本所需要的文件;激活模塊,用于加載并激活下載的補丁文件。優(yōu)選地,上述軟件升級裝置還包括:獲取模塊,用于獲取補丁文件的基礎(chǔ)版本的版本號和當前故障的軟件版本的版本號;確定模塊,用于在補丁文件的基礎(chǔ)版本的版本號和當前故障的軟件版本的版本號一致時,確定加載可發(fā)布到網(wǎng)絡(luò)上的補丁文件。優(yōu)選地,激活模塊包括:第一獲取單元,用于獲取可發(fā)布的補丁文件中的可重定位的補丁文件;加載單元,用·于將可重定位的補丁文件加載到內(nèi)存中,并根據(jù)可重定位的補丁文件在內(nèi)存中的地址計算補丁函數(shù)的入口地址。優(yōu)選地,激活模塊包括:第二獲取單元,用于獲取補丁函數(shù)的入口地址和待修復(fù)函數(shù)的入口地址;激活單元,用于根據(jù)補丁函數(shù)的入口地址和待修復(fù)函數(shù)的入口地址生成跳轉(zhuǎn)指令,將跳轉(zhuǎn)指令覆蓋到待修復(fù)函數(shù)的第一條指令處,激活補丁文件。在本發(fā)明中,移動終端下載補丁文件,上述補丁文件為修復(fù)移動終端中當前故障的軟件版本所需要的文件,在下載補丁文件后,移動終端加載并激活下載的補丁文件,來修復(fù)當前故障的軟件版本,實現(xiàn)當前故障的軟件版本的升級,移動終端可以自主地根據(jù)需要來下載補丁文件,然后對故障的軟件版本進行升級,從而避免了用戶去售后網(wǎng)點才能對故障的軟件版本進行升級,因此,降低了軟件版本升級所需的成本,提高了軟件版本升級的便捷性;此外,通過下載補丁文件的方式對故障的軟件版本進行升級,因為補丁文件非常小、發(fā)行方便,而且下載后即可加載激活,實現(xiàn)對故障的軟件版本進行升級,從而縮短了解決軟件版本故障所需的時間,有效提高了軟件版本升級的效率,有助于提高用戶的滿意度。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:圖1是根據(jù)本發(fā)明實施例的軟件升級方法的流程圖;圖2是根據(jù)本發(fā)明實施例的加載補丁文件的流程圖;圖3是根據(jù)本發(fā)明實施例的加載并激活補丁文件的流程示意圖;圖4是根據(jù)本發(fā)明實施例的軟件升級裝置的結(jié)構(gòu)框圖;圖5是根據(jù)本發(fā)明優(yōu)選實施例的軟件升級裝置的結(jié)構(gòu)框圖;圖6是根據(jù)本發(fā)明實施例的激活模塊的結(jié)構(gòu)框圖;圖7是根據(jù)本發(fā)明實施例的移動終端使用軟件升級裝置時的結(jié)構(gòu)示意圖。
具體實施例方式下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。在以下各個實施例中,通信可以由無線連接或有線連接或其兩者的組合來實現(xiàn),本發(fā)明對此不做限定。圖1是根據(jù)本發(fā)明實施例的軟件升級方法的流程圖,如圖1所示,該軟件升級方法包括:步驟S102:移動終端下載補丁文件,其中,補丁文件為修復(fù)移動終端中當前故障的軟件版本所需要的文件;步驟S104:移動終端加載并激活下載的補丁文件。在上述優(yōu)選實施例中,移動終端下載補丁文件,上述補丁文件為修復(fù)移動終端中當前故障的軟件版本所需要的文件,在下載補丁文件后,移動終端加載并激活下載的補丁文件,來修復(fù)當前故障的軟件版本,實現(xiàn)當前故障的軟件版本的升級,用戶可以自主地根據(jù)需要來下載補丁文件,然后對故障的軟件版本進行升級,從而避免了用戶去售后網(wǎng)點才能對故障的軟件版本進行升級,因此,降低了軟件版本升級所需的成本,提高了軟件版本升級的便捷性;此外,通過下載補丁文件的方式對故障的軟件版本進行升級,因為補丁文件非常小、發(fā)行方便,而且下載后即可加載激活,實現(xiàn)對故障的軟件版本進行升級,從而縮短了解決軟件版本故障所需的時間,有效提高了軟件版本升級的效率,有助于提高用戶的滿意度。補丁文件是為修復(fù)某一個或者幾個問題而專門發(fā)布的一段可執(zhí)行程序,補丁文件不能單獨執(zhí)行,必須附著到待修復(fù)的軟件版本中才可以起到修復(fù)故障軟件的作用。由于補丁文件非常小,所以發(fā)行方便,手機廠商可以將補丁文件放到網(wǎng)站上或者應(yīng)用商店上,用戶可以自主地根據(jù)需要下載補丁文件到手機上,補丁文件下載后就能夠生效,免去了用戶到手機售后網(wǎng)點去升級軟件的·過程,因此,用戶可以自主地下載需要的補丁文件來升級軟件,提高了用戶升級軟件的自主性,便捷性,有助于提高用戶的滿意度。為了可以采用多種方式獲取上述補丁文件,當上述補丁文件為發(fā)布到網(wǎng)絡(luò)上的補丁文件時,為了便于用戶從網(wǎng)絡(luò)或用戶商店上下載補丁文件,可以采用以下方式獲取:在下載補丁文件之前,將待修復(fù)函數(shù)的補丁函數(shù)的代碼生成可發(fā)布到網(wǎng)絡(luò)上的補丁文件作為下載的補丁文件,基于上述處理過程,用戶可以自主地下載需要的補丁文件,來對故障軟件版本進行升級,從而提高了用戶升級故障軟件版本的自主性、便捷性。為了提高補丁文件的下載的正確率,以便可以順利地對故障軟件版本進行升級,在本優(yōu)選實施例中,可發(fā)布的補丁文件包括了一些可識別的信息,例如,補丁文件的補丁頭信息可以包括:可發(fā)布的補丁文件的版本號、補丁文件的基礎(chǔ)版本的版本號、補丁函數(shù)的名稱以及待修復(fù)函數(shù)的入口地址等信息,因此,用戶可以根據(jù)上述信息下載并加載需要的補丁文件,避免下載錯誤版本的補丁文件而導(dǎo)致軟件升級失敗,從而提高了下載補丁文件的正確率,提高了升級軟件版本的成功率。為了提供便于用戶下載的補丁文件,在本實施例中給出了優(yōu)選的將待修復(fù)函數(shù)的補丁函數(shù)的代碼生成可發(fā)布的補丁文件的方法,首先將待修復(fù)函數(shù)的補丁函數(shù)的代碼生成可重定位的補丁文件;再對可重定位的補丁文件添加補丁頭信息,例如,可發(fā)布的補丁文件的版本號、補丁文件的基礎(chǔ)版本的版本號、補丁函數(shù)的名稱以及待修復(fù)函數(shù)的入口地址等信息,將可重定位的補丁文件生成可發(fā)布到網(wǎng)絡(luò)上的補丁文件,優(yōu)選地,在實際操作中可以按如下步驟進行操作,首先,將補丁文件的基礎(chǔ)版本中的待修復(fù)的函數(shù)重新編寫,獲得補丁函數(shù)的源代碼,可以同時編寫多個待修復(fù)函數(shù)的補丁函數(shù);其次,將源代碼通過編譯、鏈接等操作生成可重定位的部分映像文件;最后,使用補丁工具在部分映像文件前加上相關(guān)信息(補丁頭信息),生成可發(fā)布的補丁文件。為了準確地加載正確版本的補丁文件,在加載補丁文件之前可以確認該補丁文件是否是需要的正確版本的補丁文件,例如,移動終端加載并激活下載的補丁文件之前,獲取補丁文件的基礎(chǔ)版本的版本號和當前故障的軟件版本的版本號;在補丁文件的基礎(chǔ)版本的版本號和當前故障的軟件版本的版本號一致時,確定加載可發(fā)布到網(wǎng)絡(luò)上的補丁文件,即在確定出補丁文件的基礎(chǔ)版本的版本號和當前故障的軟件版本的版本號一致時,再加載補丁文件,從而有效地提高了加載補丁文件的正確率,有助于順利地對故障軟件版本進行升級。在下載補丁文件后,對補丁文件進行加載,在本優(yōu)選實施例中,可以通過以下方式來加載補丁文件,獲取可發(fā)布的補丁文件中的可重定位的補丁文件;將可重定位的補丁文件加載到內(nèi)存中,并根據(jù)可重定位的補丁文件在內(nèi)存中的地址計算補丁函數(shù)的入口地址,將可重定位的補丁文件加載到內(nèi)存中,并根據(jù)可重定位的補丁文件在內(nèi)存中的地址計算補丁函數(shù)的入口地址,以便根據(jù)補丁函數(shù)的入口地址準確地激活補丁文件,優(yōu)選地,加載補丁文件還可以是將手機系統(tǒng)文件夾中的補丁文件去掉補丁頭信息后的可重定位的代碼段加載到內(nèi)存中,并且根據(jù)可重定位的代碼段加載到內(nèi)存中的地址計算出每個補丁函數(shù)的入口地址,以便激活補丁文件。上述補丁文件可以根據(jù)需要在不同的場景下進行加載,例如,在下載補丁文件后,直接對補丁文件進行加載;或者在下載補丁文件后,在移動終端再次啟動時,對補丁文件進行加載,實現(xiàn)在不同的場景下對補丁文件進行加載,滿足了用戶的不同需求。在補丁文件的加載過程中,如果有多個補丁文件需要加載時,可以按照補丁文件發(fā)布的時間順序進行加載。
以下結(jié)合附圖對在不同的場景下對補丁文件進行加載的過程做詳細的描述,如圖2所示,該在不同的場景下對補丁文件進行加載的過程包括:步驟S202:手機啟動;步驟S204:加載程序初始化;步驟S206:讀取系統(tǒng)文件夾中的補丁文件;步驟S208:判斷是否有需要加載的補丁文件,若有,則轉(zhuǎn)至步驟S210,若沒有,則轉(zhuǎn)至步驟S212 ;步驟S210:加載并激活當前的補丁文件;步驟S212:用戶通過瀏覽器訪問補丁文件所在的網(wǎng)站;步驟S214:用戶下載補丁文件;步驟S216:將補丁文件保存到手機中的系統(tǒng)文件夾中;步驟S218:讀取系統(tǒng)文件夾中的補丁文件;步驟S220:加載并激活補丁文件。
上述加載補丁文件的過程,可以包括兩種場景:第一種場景為在手機啟動時,對系統(tǒng)文件夾中的補丁文件進行加載和激活,因此,能夠保證凡是下載的補丁文件都能夠被有效地加載并激活;第二種場景為手機已經(jīng)完成正常的啟動,在用戶可以使用的情況下,用戶通過瀏覽器訪問補丁所在的網(wǎng)站,將補丁文件下載到手機中的系統(tǒng)文件夾中,直接加載和激活該補丁文件,可以實現(xiàn)及時地對下載的補丁文件進行加載和激活。為了實現(xiàn)對故障軟件版本的升級,在本優(yōu)選實施例中提供了一種激活補丁文件的方法,例如,先獲取補丁函數(shù)的入口地址和待修復(fù)函數(shù)的入口地址;根據(jù)補丁函數(shù)的入口地址和待修復(fù)函數(shù)的入口地址生成跳轉(zhuǎn)指令,將跳轉(zhuǎn)指令覆蓋到待修復(fù)函數(shù)的第一條指令處,激活補丁文件,因此,在調(diào)用待修復(fù)函數(shù)的地方,都可以自動調(diào)用到補丁函數(shù),執(zhí)行補丁函數(shù)的代碼,避免了故障的發(fā)生,實現(xiàn)了對待修復(fù)函數(shù)的修復(fù)。以下結(jié)合附圖對加載并激活補丁文件的過程做詳細說明,如圖3所示,該加載并激活補丁文件的過程包括:步驟S302:判斷補丁文件的基礎(chǔ)版本的版本號與當前故障的軟件版本的版本號是否一致,若一致,則轉(zhuǎn)至步驟S304,若不一致,則流程結(jié)束;步驟S304:分配空閑內(nèi)存,將補丁文件中的可重定位的補丁文件中的代碼段加載到內(nèi)存中;步驟S306:根據(jù)可重定位的補丁文件中的代碼段在內(nèi)存中的地址計算補丁函數(shù)的入口地址;步驟S308:計算補丁函數(shù)的入口地址和待修復(fù)函數(shù)的入口地址的偏移;步驟S310:根據(jù)偏移地址生成跳轉(zhuǎn)指令;步驟S312:將待修復(fù)函數(shù)的第一條指令修改為生成的跳轉(zhuǎn)指令;步驟S314:判斷是否還有未激活的補丁文件,若有,則轉(zhuǎn)至步驟S308,若沒有,則流程結(jié)束。以下結(jié)合實例對上述各優(yōu)選實施例進行說明,例如,如果發(fā)現(xiàn)目前上市的手機中的軟件版本中的XX與YY函數(shù)存在故障,則新建源文件,重新編寫兩個函數(shù)XXl與YY1,函數(shù)XXl與YYl分別完成了原版本的XX函數(shù)與YY函數(shù)完全一樣的功能,但是修復(fù)了原版本的XX函數(shù)與YY函數(shù)中的故障,編譯、鏈接源文件生成可重定位的文件,在可重定位的文件中加入補丁函數(shù)的版本號、補丁函數(shù)的基礎(chǔ)版本的版本號、待修復(fù)函數(shù)的入口地址、補丁函數(shù)的名稱等信息將可重定位的文件生成可發(fā)布的補丁文件,即可發(fā)布的補丁文件由補丁頭信息以及可重定位的代碼段組成,補丁頭信息包括補丁函數(shù)的版本號、補丁函數(shù)的基礎(chǔ)版本的版本號、待修復(fù)函數(shù)的入口地址、補丁函數(shù)的名稱等信息,生成后的可發(fā)布的補丁文件可以放置在網(wǎng)站上或用戶商店上以供用戶自主地根據(jù)需要下載。在本實施例中,還提供了一種軟件升級裝置,該裝置位于移動終端中,用于實現(xiàn)上述實施例及優(yōu)選實施方式,已經(jīng)進行過說明的不再贅述,下面對該裝置中涉及到的模塊進行說明。圖4是根據(jù)本發(fā)明實施例的優(yōu)選的軟件升級裝置的結(jié)構(gòu)框圖,如圖4所示,該軟件升級裝置包括:下載模塊40,用于下載補丁文件,其中,補丁文件為修復(fù)移動終端中當前故障的軟件版本所需要 的文件;激活模塊42,與下載模塊40通信,用于加載并激活下載的補丁文件。在上述優(yōu)選實施例中,下載模塊40下載補丁文件,上述補丁文件為修復(fù)移動終端中當前故障的軟件版本所需要的文件,在下載補丁文件后,激活模塊42加載并激活下載的補丁文件,來修復(fù)當前故障的軟件版本,實現(xiàn)當前故障的軟件版本的升級,用戶可以自主地根據(jù)需要來下載補丁文件,然后對故障的軟件版本進行升級,從而避免了用戶去售后網(wǎng)點才能對故障的軟件版本進行升級,因此,降低了軟件版本升級所需的成本,提高了軟件版本升級的便捷性;此外,通過下載補丁文件的方式對故障的軟件版本進行升級,因為補丁文件非常小、發(fā)行方便,而且下載后即可加載激活,實現(xiàn)對故障的軟件版本進行升級,從而縮短了解決軟件版本故障所需的時間,有效提高了軟件版本升級的效率,有助于提高用戶的滿意度。為了準確地加載正確版本的補丁文件,在加載補丁文件之前可以確認該補丁文件是否是需要的正確版本的補丁文件,例如,如圖5所示,上述軟件升級裝置還包括:獲取模塊50,用于獲取補丁文件的基礎(chǔ)版本的版本號和當前故障的軟件版本的版本號;確定模塊52,與獲取模塊50通信,用于在補丁文件的基礎(chǔ)版本的版本號和當前故障的軟件版本的版本號一致時,確定加載可發(fā)布到網(wǎng)絡(luò)上的補丁文件。即在確定出補丁文件的基礎(chǔ)版本的版本號和當前故障的軟件版本的版本號一致時,再加載補丁文件,從而有效地提高了加載補丁文件的正確率,有助于順利地對故障軟件版本進行升級。為了可以順利地對故障軟件版本進行升級,如圖6所示,上述激活模塊42包括 第一獲取單元422,用于獲取可發(fā)布的補丁文件中的可重定位的補丁文件;加載單元424,與第一獲取單元422通信,用于將可重定位的補丁文件加載到內(nèi)存中,并根據(jù)可重定位的補丁文件在內(nèi)存中的地址計算補丁函數(shù)的入口地址。第二獲取單元426,用于獲取補丁函數(shù)的入口地址和待修復(fù)函數(shù)的入口地址;激活單元428,用于根據(jù)補丁函數(shù)的入口地址和待修復(fù)函數(shù)的入口地址生成跳轉(zhuǎn)指令,將跳轉(zhuǎn)指令覆蓋到待修復(fù)函數(shù)的第一條指令處,激活補丁文件。因此,在調(diào)用待修復(fù)函數(shù)的地方,都可以自動調(diào)用到補丁函數(shù),執(zhí)行補丁函數(shù)的代碼,避免了故障的發(fā)生,實現(xiàn)了對待修復(fù)函數(shù)的修復(fù)。
在具體應(yīng)用時,上述軟件升級裝置并不是獨立存在的,它與移動終端(例如手機、平板電腦等)中已有的模塊存在交互關(guān)系,例如,如圖7所示,下載模塊40需要與瀏覽器配合來完成補丁文件的下載,同時,將下載的補丁文件保存到文件系統(tǒng)中;加載單元424將文件系統(tǒng)中補丁文件加載到內(nèi)存中,同時,啟動激活單元428來激活補丁文件。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種軟件升級方法,其特征在于,包括: 移動終端下載補丁文件,其中,所述補丁文件為修復(fù)所述移動終端中當前故障的軟件版本所需要的文件; 所述移動終端加載并激活下載的所述補丁文件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在下載所述補丁文件之前,還包括:所述補丁文件通過以下方式獲得: 將待修復(fù)函數(shù)的補丁函數(shù)的代碼生成可發(fā)布到網(wǎng)絡(luò)上的補丁文件作為所述下載的補丁文件。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述可發(fā)布到網(wǎng)絡(luò)上的補丁文件的補丁頭信息包括: 所述可發(fā)布的補丁文件的版本號、所述補丁文件的基礎(chǔ)版本的版本號、所述補丁函數(shù)的名稱以及所述待修復(fù)函數(shù)的入口地址。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,將待修復(fù)函數(shù)的補丁函數(shù)的代碼生成可發(fā)布的補丁文件,包括: 將所述待修復(fù)函數(shù)的補丁函數(shù)的代碼生成可重定位的補丁文件; 對所述可重定位的補丁文件添加所述補丁頭信息,將所述可重定位的補丁文件生成所述可發(fā)布到網(wǎng)絡(luò)上的補丁文件。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述移動終端加載并激活下載的所述補丁文件之前,還包括: 獲取所述補丁文件的基礎(chǔ)版本的版本號和所述當前故障的軟件版本的版本號; 在所述補丁文件的基礎(chǔ)版本的版本號和所述當前故障的軟件版本的版本號一致時,確定加載所述可發(fā)布到網(wǎng)絡(luò)上的補丁文件。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述移動終端加載所述補丁文件,包括: 獲取所述可發(fā)布的補丁文件中的可重定位的補丁文件; 將所述可重定位的補丁文件加載到內(nèi)存中,并根據(jù)所述可重定位的補丁文件在所述內(nèi)存中的地址計算所述補丁函數(shù)的入口地址。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述移動終端激活所述補丁文件,包括: 獲取所述補丁函數(shù)的入口地址和所述待修復(fù)函數(shù)的入口地址; 根據(jù)所述補丁函數(shù)的入口地址和所述待修復(fù)函數(shù)的入口地址生成跳轉(zhuǎn)指令,將所述跳轉(zhuǎn)指令覆蓋到所述待修復(fù)函數(shù)的第一條指令處,激活所述補丁文件。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述移動終端加載所述補丁文件,包括: 在下載所述補丁文件后,直接對所述補丁文件進行加載;或者 在下載所述補丁文件后,在所述移動終端再次啟動時,對所述補丁文件進行加載。
9.一種軟件升級裝置,位于移動終端中,其特征在于,包括: 下載模塊,用于下載補丁文件,其中,所述補丁文件為修復(fù)移動終端中當前故障的軟件版本所需要的文件; 激活模塊,用于加載并激活下載的所述補丁文件。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括: 獲取模 塊,用于獲取所述補丁文件的基礎(chǔ)版本的版本號和所述當前故障的軟件版本的版本號; 確定模塊,用于在所述補丁文件的基礎(chǔ)版本的版本號和所述當前故障的軟件版本的版本號一致時,確定加載所述可發(fā)布到網(wǎng)絡(luò)上的補丁文件。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述激活模塊包括: 第一獲取單元,用于獲取所述可發(fā)布的補丁文件中的可重定位的補丁文件; 加載單元,用于將所述可重定位的補丁文件加載到內(nèi)存中,并根據(jù)所述可重定位的補丁文件在所述內(nèi)存中的地址計算所述補丁函數(shù)的入口地址。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述激活模塊包括: 第二獲取單元,用于獲取所述補丁函數(shù)的入口地址和所述待修復(fù)函數(shù)的入口地址; 激活單元,用于根據(jù)所述補丁函數(shù)的入口地址和所述待修復(fù)函數(shù)的入口地址生成跳轉(zhuǎn)指令,將所 述跳轉(zhuǎn)指令覆蓋到所述待修復(fù)函數(shù)的第一條指令處,激活所述補丁文件。
全文摘要
本發(fā)明提供了一種軟件升級方法和裝置,其中,該方法包括移動終端下載補丁文件,其中,補丁文件為修復(fù)移動終端中當前故障的軟件版本所需要的文件;移動終端加載并激活下載的補丁文件。本發(fā)明解決了相關(guān)技術(shù)中的軟件版本升級所需的成本高、軟件版本升級效率低的問題,從而降低了軟件版本升級所需的成本,提高了軟件版本升級的便捷性,有效提高了軟件版本升級的效率。
文檔編號G06F9/445GK103246528SQ20121002981
公開日2013年8月14日 申請日期2012年2月10日 優(yōu)先權(quán)日2012年2月10日
發(fā)明者郭素光 申請人:中興通訊股份有限公司