rops,最終每個(gè)dll對(duì)應(yīng)的資源的各個(gè)版本會(huì)以版本號(hào)為文件夾名在各dll資源目錄中創(chuàng)建文件夾名以存儲(chǔ)對(duì)應(yīng)的資源,比如props模塊最舊的版本的資源對(duì)應(yīng)的目錄為dir/props/l,其后的資源版本目錄是dir/prop/2等依此類(lèi)推。
[0066]例如因?yàn)檐浖录皹I(yè)務(wù)需要,dll對(duì)應(yīng)的資源文件會(huì)不斷更新,每次更新都對(duì)應(yīng)一個(gè)新的唯一版本號(hào),版本號(hào)從1開(kāi)始每個(gè)新版本的版本號(hào)加l)dll資源版本信息指的即是特定模塊所使用的資源最新版本號(hào),及版本號(hào)對(duì)應(yīng)的資源下載url。比如在獲取到禮物模塊的最新版本號(hào)η及資源下載地址Α之后,會(huì)在禮物資源目錄下尋找是否已經(jīng)存在以η為名字的文件夾,即dir/props/n,如果存在則資源已經(jīng)就緒,繼續(xù)運(yùn)行其他,否則,會(huì)以η為名字創(chuàng)建文件夾dir/props/n,并從地址A將資源文件(是一個(gè)壓縮文件,里面包含多個(gè)圖片及文本文件)下載下來(lái)并解壓到目錄dir/props/n中。
[0067]206、運(yùn)行本地預(yù)存的與dll最新資源版本相對(duì)應(yīng)的文件夾中的dll資源文件。
[0068]當(dāng)對(duì)資源列表包的所有資源版本信息依次與相對(duì)應(yīng)的客戶(hù)端軟件在本地的預(yù)置的功能模塊文件夾下的所有dll資源版本進(jìn)行比對(duì),為存在dll最新資源版本,則運(yùn)行本地預(yù)存的與dll最新資源版本相對(duì)應(yīng)的文件夾中的dll資源文件。
[0069]例如如果對(duì)應(yīng)dll的資源未就緒,即本地沒(méi)有特定dll的資源文件,比如props對(duì)應(yīng)的最新資源版本為16,而本地沒(méi)有dir/props/16目錄,則會(huì)使用下載url去下載第16個(gè)版本的資源,在下載完之后,則props對(duì)應(yīng)的資源已經(jīng)就緒,此時(shí)會(huì)馬上加載props的dll,否則不會(huì)加載此dll。
[0070]客戶(hù)端在收到服務(wù)器發(fā)送過(guò)來(lái)的列表之后,即會(huì)按順序檢查各dll的資源是否就緒,對(duì)于資源已經(jīng)就緒的dll,會(huì)馬上加載對(duì)應(yīng)的dll,對(duì)于資源未就緒的dll,會(huì)馬上啟動(dòng)其資源下載,并在資源就緒后加載對(duì)應(yīng)的dll。
[0071]必須說(shuō)明的是,各dll的資源版本信息與對(duì)應(yīng)的dll有一定的耦合關(guān)系,因?yàn)閐ll中會(huì)引用到對(duì)應(yīng)的資源目錄中的文件,比如新的客戶(hù)端版本的props模塊會(huì)使用到圖片a.png,此時(shí),需要當(dāng)前使用的資源版本η中包含a.png,即本地存在文件dir/props/n/a.png,而由于舊的客戶(hù)端props模塊中并沒(méi)有使用a.png,所以舊的資源包中并沒(méi)有
a.png,如果新的客戶(hù)端的dll去舊的資源包中尋找a.png必然是找不到的,所以新的客戶(hù)端版本的props模塊需要使用新版本的資源包,而一旦新舊資源包中各文件名都相同,而只是各文件的內(nèi)容不同,則使用新舊資源包原則上來(lái)說(shuō)都沒(méi)有問(wèn)題,因?yàn)槭褂玫降膱D片在新舊資源包中都可以找到。
[0072]本實(shí)施例中,通過(guò)先對(duì)獲取到的所有dll最新資源版本與客戶(hù)端軟件在本地的dll資源版本進(jìn)行比對(duì),當(dāng)不存在dll最新資源版本,再通過(guò)與dll最新資源版本相關(guān)聯(lián)的資源鏈接下載dll對(duì)應(yīng)的最新資源,并加載dll,實(shí)現(xiàn)了無(wú)需全部下載dll資源文件,只對(duì)需要更新的dll進(jìn)行對(duì)應(yīng)的資源文件的下載,解決了目前的客戶(hù)端軟件,由于只有通過(guò)網(wǎng)絡(luò)下載并安裝后才能為用戶(hù)所使用,而造成的客戶(hù)端軟件升級(jí)更新的效率低下的技術(shù)問(wèn)題。
[0073]進(jìn)一步,減小了客戶(hù)端安裝包的大小,同時(shí)使得可以不用發(fā)布新版本即可更新客戶(hù)端中的圖片等資源,選擇將圖片和文件等資源從安裝包中移除并讓客戶(hù)端的運(yùn)行過(guò)程中動(dòng)態(tài)下載所使用到的資源。
[0074]請(qǐng)參閱圖3,本發(fā)明實(shí)施例中提供的一種軟件升級(jí)裝置的另一個(gè)實(shí)施例包括:
[0075]獲取單元301,用于發(fā)送客戶(hù)端軟件的資源信息請(qǐng)求給服務(wù)器,并獲取服務(wù)器返回與資源信息請(qǐng)求相對(duì)應(yīng)的所有dll最新資源版本及相關(guān)聯(lián)的資源鏈接;
[0076]比對(duì)單元302,用于將獲取到的所有dll最新資源版本與客戶(hù)端軟件在本地的dll資源版本進(jìn)行比對(duì),若不存在dll最新資源版本,則觸發(fā)新版本加載單元;
[0077]新版本加載單元303,用于通過(guò)與dll最新資源版本相關(guān)聯(lián)的資源鏈接下載dll對(duì)應(yīng)的最新資源,并加載dll。
[0078]本實(shí)施例中,通過(guò)比對(duì)單元302先對(duì)獲取到的所有dll最新資源版本與客戶(hù)端軟件在本地的dll資源版本進(jìn)行比對(duì),當(dāng)不存在dll最新資源版本,新版本加載單元303再通過(guò)與dll最新資源版本相關(guān)聯(lián)的資源鏈接下載dll對(duì)應(yīng)的最新資源,并加載dll,實(shí)現(xiàn)了無(wú)需全部下載dll資源文件,新版本加載單元303只對(duì)需要更新的dll進(jìn)行對(duì)應(yīng)的資源文件的下載,解決了目前的客戶(hù)端軟件,由于只有通過(guò)網(wǎng)絡(luò)下載并安裝后才能為用戶(hù)所使用,而造成的客戶(hù)端軟件升級(jí)更新的效率低下的技術(shù)問(wèn)題。
[0079]上面是對(duì)軟件升級(jí)裝置的各單元進(jìn)行詳細(xì)的描述,下面將對(duì)各子單元和附加單元進(jìn)行詳細(xì)的描述,請(qǐng)參閱圖4,本發(fā)明實(shí)施例中提供的一種軟件升級(jí)裝置的另一個(gè)實(shí)施例包括:
[0080]獲取單元401,用于發(fā)送客戶(hù)端軟件的資源信息請(qǐng)求給服務(wù)器,并獲取服務(wù)器返回與資源信息請(qǐng)求相對(duì)應(yīng)的所有dll最新資源版本及相關(guān)聯(lián)的資源鏈接;[0081 ] 獲取單元401具體包括:
[0082]請(qǐng)求發(fā)送子單元4011,用于當(dāng)客戶(hù)端軟件啟動(dòng)時(shí),客戶(hù)端通過(guò)采用socket消息向服務(wù)器發(fā)送資源信息請(qǐng)求;
[0083]獲取子單元4012,用于獲取到服務(wù)器返回與資源信息請(qǐng)求相對(duì)應(yīng)的資源列表包,資源列表包包括以列表形式設(shè)置的所有dll最新資源版本信息及相關(guān)聯(lián)的資源鏈接url。
[0084]比對(duì)單元402,用于將獲取到的所有dll最新資源版本與客戶(hù)端軟件在本地的dll資源版本進(jìn)行比對(duì),若不存在dll最新資源版本,則觸發(fā)新版本加載單元403,比對(duì)單元402,具體用于對(duì)資源列表包的所有資源版本信息依次與相對(duì)應(yīng)的客戶(hù)端軟件在本地的預(yù)置的功能模塊文件夾下的所有dll資源版本進(jìn)行比對(duì),若不存在dll最新資源版本,則觸發(fā)新版本加載單元,若存在dll最新資源版本,則觸發(fā)預(yù)存版本加載單元404。
[0085]新版本加載單元403,用于通過(guò)與dll最新資源版本相關(guān)聯(lián)的資源鏈接下載dll對(duì)應(yīng)的最新資源,并加載dll。
[0086]新版本加載單元403具體包括:
[0087]新文件夾建立子單元4031,用于根據(jù)dll最新資源版本信息建立新文件夾;
[0088]新版本加載子單元4032,用于通過(guò)與dll最新資源版本相關(guān)聯(lián)的資源鏈接下載dll對(duì)應(yīng)的最新資源包括的圖片文件和文本文件至新文件夾。
[0089]預(yù)存版本加載單元404,用于運(yùn)行本地預(yù)存的與dll最新資源版本相對(duì)應(yīng)的文件夾中的dll資源文件。
[0090]本實(shí)施例中,通過(guò)比對(duì)單元402先對(duì)獲取到的所有dll最新資源版本與客戶(hù)端軟件在本地的dll資源版本進(jìn)行比對(duì),當(dāng)不存在dll最新資源版本,新版本加載單元403再通過(guò)與dll最新資源版本相關(guān)聯(lián)的資源鏈接下載dll對(duì)應(yīng)的最新資源,并加載dll,實(shí)現(xiàn)了無(wú)需全部下載dll資源文件,新版本加載單元403只對(duì)需要更新的dll進(jìn)行對(duì)應(yīng)的資源文件的下載,解決了目前的客戶(hù)端軟件,由于只有通過(guò)網(wǎng)絡(luò)下載并安裝后才能為用戶(hù)所使用,而造成的客戶(hù)端軟件升級(jí)更新的效率低下的技術(shù)問(wèn)題。
[0091]減小客戶(hù)端安裝包的大小,同時(shí)使得可以不用發(fā)布新版本即