專(zhuān)利名稱(chēng):Web應(yīng)用程序升級(jí)方法及系統(tǒng)的制作方法
Web應(yīng)用程序升級(jí)方法及系統(tǒng)
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),特別是涉及一種Web應(yīng)用程序升級(jí)方法及系統(tǒng)。背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的發(fā)展,與之相適應(yīng)的Web應(yīng)用程序也是層出不窮。在Web應(yīng)用程序的使用過(guò)程中,所面臨的不可避免的問(wèn)題之一就是為Web應(yīng)用程序安裝升級(jí)。所謂升級(jí)就是應(yīng)用程序運(yùn)營(yíng)商為給其應(yīng)用程序開(kāi)發(fā)出新的功能或是提高了其Web應(yīng)用程序某一方面的性能,而對(duì)產(chǎn)品進(jìn)行優(yōu)化。或者是,一個(gè)軟件的開(kāi)發(fā)過(guò)程中,開(kāi)始有很多因素是沒(méi)有考慮到的,但是隨著時(shí)間的推移,軟件所存在的問(wèn)題會(huì)慢慢的被發(fā)現(xiàn)。這時(shí)候,為了對(duì)軟件本身存在的問(wèn)題進(jìn)行修復(fù),軟件開(kāi)發(fā)者會(huì)發(fā)布相應(yīng)的補(bǔ)丁。傳統(tǒng)的升級(jí)方法一般是采取覆蓋原程序的方式。一般先是找到需要升級(jí)的程序模塊,然后用新的程序模塊替代原有的。當(dāng)覆蓋不徹底時(shí),將會(huì)導(dǎo)致升級(jí)失敗且應(yīng)用程序失效,由于是采取覆蓋原程序的方式,Web應(yīng)用程序也不能立即恢復(fù)到原來(lái)的版本。而且,當(dāng)存在多個(gè)升級(jí)版本時(shí),出現(xiàn)問(wèn)題時(shí)難以追查問(wèn)題出在那個(gè)版本上。因此,傳統(tǒng)的升級(jí)方法不便于對(duì)Web應(yīng)用程序的版本進(jìn)行管理。
發(fā)明內(nèi)容鑒于上述狀況,有必要提供一種便于對(duì)Web應(yīng)用程序的版本進(jìn)行管理的Web應(yīng)用程序升級(jí)方法。一種Web應(yīng)用程序升級(jí)方法,包括以下步驟:獲取最新的升級(jí)包,并將所述最新的升級(jí)包加載到緩存;獲取Web應(yīng)用訪問(wèn)請(qǐng) 求,并根據(jù)所述最新的升級(jí)包更新應(yīng)用程序。進(jìn)一步地,所述獲取最新的升級(jí)包,并將所述最新的升級(jí)包加載到緩存的步驟包括:檢測(cè)是否有最新的升級(jí)包;當(dāng)檢測(cè)到有最新的升級(jí)包時(shí),獲取升級(jí)包存儲(chǔ)路徑;從所述升級(jí)包存儲(chǔ)路徑獲取所述最新的升級(jí)包,并將所述最新的升級(jí)包加載到緩存。進(jìn)一步地,所述根據(jù)所述最新的升級(jí)包更新應(yīng)用程序的步驟包括:從所述緩存中獲取所述最新的升級(jí)包,并將所述最新的升級(jí)包加載到Web容器內(nèi);將所述應(yīng)用程序的主程序加載到所述Web容器內(nèi),與所述最新的升級(jí)包組成更新后的應(yīng)用程序,且不重復(fù)加載所述主程序中與所述最新的升級(jí)包對(duì)應(yīng)的部分。進(jìn)一步地,所述根據(jù)所述最新的升級(jí)包更新應(yīng)用程序的步驟還包括:加載所述主程序到所述緩存,且不重復(fù)加載所述主程序中與所述最新的升級(jí)包對(duì)應(yīng)的部分。進(jìn)一步地,所述升級(jí)包為Jar包。
此外,還有必要提供一種便于對(duì)Web應(yīng)用程序的版本進(jìn)行管理的Web應(yīng)用程序升級(jí)系統(tǒng)。所述系統(tǒng)包括:緩存模塊,用于獲取最新的升級(jí)包,并將所述最新的升級(jí)包加載到緩存;應(yīng)用程序升級(jí)模塊,用于獲取Web應(yīng)用訪問(wèn)請(qǐng)求,并根據(jù)所述最新的升級(jí)包更新應(yīng)用程序。進(jìn)一步地,所述緩存模塊包括:監(jiān)聽(tīng)器,用于檢測(cè)是否有最新的升級(jí)包;路徑提取模塊,用于當(dāng)檢測(cè)到有最新的升級(jí)包時(shí),獲取升級(jí)包存儲(chǔ)路徑;升級(jí)包加載模塊,用于從所述升級(jí)包存儲(chǔ)路徑獲取所述最新的升級(jí)包,并將所述最新的升級(jí)包加載到緩存。進(jìn)一步地,所述應(yīng)用程序升級(jí)模塊包括:第一加載模塊,用于從所述緩存中獲取所述最新的升級(jí)包,并將所述最新的升級(jí)包加載到Web容器內(nèi);第二加載模塊,用于將所述應(yīng)用程序的主程序加載到所述Web容器內(nèi),與所述最新的升級(jí)包組成更新后的應(yīng)用程序,且不重復(fù)加載所述主程序中與所述最新的升級(jí)包對(duì)應(yīng)的部分。進(jìn)一步地,所述應(yīng)用程序升級(jí)模塊還包括主程序加載模塊,所述主程序加載模塊用于加載所述主程序到所述 緩存,且不重復(fù)加載所述主程序中與所述最新的升級(jí)包對(duì)應(yīng)的部分。進(jìn)一步地,所述升級(jí)包為Jar包。上述Web應(yīng)用程序升級(jí)方法及系統(tǒng),先獲取最新的升級(jí)包,并將最新的升級(jí)包加載到緩存。然后根據(jù)緩存中最新的升級(jí)包更新應(yīng)用程序。不同的升級(jí)包對(duì)應(yīng)著不同的應(yīng)用程序。在升級(jí)的過(guò)程中,主程序中需要升級(jí)的部分未被覆蓋,加載不同的升級(jí)包可以得到不同版本的應(yīng)用程序,當(dāng)程序出現(xiàn)故障時(shí),可快速恢復(fù)原來(lái)的版本,且容易追查問(wèn)題出現(xiàn)在哪個(gè)版本上。因此,通過(guò)上述方法及系統(tǒng)可便于對(duì)Web應(yīng)用程序的版本進(jìn)行管理。
圖1為一個(gè)實(shí)施例中Web應(yīng)用程序升級(jí)方法的流程示意圖;圖2為一個(gè)實(shí)施例中獲取最新的升級(jí)包,并將最新的升級(jí)包加載到緩存的流程示意圖;圖3為一個(gè)實(shí)施例中根據(jù)最新的升級(jí)包更新應(yīng)用程序的流程示意圖;圖4為一個(gè)實(shí)施例中Web應(yīng)用程序升級(jí)系統(tǒng)的結(jié)構(gòu)示意圖;圖5為一個(gè)實(shí)施例中緩存模塊的結(jié)構(gòu)示意圖;圖6為一個(gè)實(shí)施例中應(yīng)用程序升級(jí)模塊的結(jié)構(gòu)示意圖。
具體實(shí)施方式Web應(yīng)用程序的主程序指的是應(yīng)用程序開(kāi)發(fā)完成初期的源程序主體,主程序可以完成應(yīng)用程序所要完成的基本功能,但同時(shí),主程序的某些部分存在漏洞,或者主程序的功能有待完善。
如圖1所示,在一個(gè)實(shí)施例中,Web應(yīng)用程序升級(jí)方法,包括以下步驟:步驟S110,獲取最新的升級(jí)包,并將最新的升級(jí)包加載到緩存。升級(jí)包可以是針對(duì)應(yīng)用程序的主程序中的漏洞而編輯的補(bǔ)丁,也可是為了對(duì)應(yīng)用程序的功能進(jìn)行升級(jí)而編輯的功能模塊。在一個(gè)實(shí)施例中,包含有多個(gè)版本的升級(jí)包,多個(gè)版本的升級(jí)包存儲(chǔ)在升級(jí)包存儲(chǔ)路徑下,且多個(gè)版本的升級(jí)包對(duì)應(yīng)不同版本的應(yīng)用程序,加載不同版本的升級(jí)包可更新得到不同版本的應(yīng)用程序。在一個(gè)實(shí)施例中,升級(jí)包為Jar包以便于在JAVA系統(tǒng)中查找和加載升級(jí)包。如圖2所示,在一個(gè)實(shí)施例中,上述步驟SllO具體包括以下步驟:步驟S111,檢測(cè)是否有最新的升級(jí)包。在一個(gè)實(shí)施例中,配置監(jiān)聽(tīng)程序,監(jiān)聽(tīng)程序時(shí)刻監(jiān)聽(tīng)升級(jí)包存儲(chǔ)路徑下是否有最新版本的升級(jí)包。當(dāng)檢測(cè)到有最新版本的升級(jí)包時(shí),需要重新啟動(dòng)服務(wù)器,在重啟完成后,監(jiān)聽(tīng)程序首先控制緩存進(jìn)行初始化,清除緩存內(nèi)原有的數(shù)據(jù),然后進(jìn)入到步驟S113。步驟S113,當(dāng)檢測(cè)到有最新的升級(jí)包時(shí),獲取升級(jí)包存儲(chǔ)路徑。步驟S115,從升級(jí)包存儲(chǔ)路徑獲取最新的升級(jí)包,并將最新的升級(jí)包加載到緩存。緩存中原有的數(shù)據(jù)已經(jīng)被清除,當(dāng)加載最新版本的升級(jí)包到緩存中時(shí),緩存中只存有最新版本的升級(jí)包。在一個(gè)實(shí)施例中,緩存為哈希表,其中主鍵為最新版本的升級(jí)包所對(duì)應(yīng)的類(lèi)的全名。步驟S120,獲取Web應(yīng)用訪問(wèn)請(qǐng)求,并根據(jù)最新的升級(jí)包更新應(yīng)用程序。在一個(gè)實(shí)施例中,不同版本的升級(jí)包對(duì)應(yīng)著不同版本的應(yīng)用程序,緩存中存在最新版本的升級(jí)包,因此可以根據(jù)緩存中最新版本的升級(jí)包將應(yīng)用程序升級(jí)成最新版本的應(yīng)用程序。如圖3所示,在一個(gè)實(shí)施例中,步驟S120具體包括以下步驟:步驟S121,從緩存中獲取最新的升級(jí)包,并將最新的升級(jí)包加載到Web容器內(nèi)。在一個(gè)實(shí)施例中,當(dāng)獲取Web應(yīng)用訪問(wèn)請(qǐng)求后,服務(wù)器需要根據(jù)Web應(yīng)用訪問(wèn)請(qǐng)求運(yùn)行應(yīng)用程序。而在運(yùn)行應(yīng)用程序之前須先將應(yīng)用程序加載到Web容器中。首先從緩存中查找程序,并將查找到的程序加載到Web容器內(nèi),由于緩存中只存有最新版本的升級(jí)包,因此最新版本的升級(jí)包首先加載到Web容器中。步驟S123,將應(yīng)用程序的主程序加載到Web容器內(nèi),與最新的升級(jí)包組成更新后的應(yīng)用程序,且不重復(fù)加載主程序中與最新的升級(jí)包對(duì)應(yīng)的部分。在一個(gè)實(shí)施例中,在緩存中查到并加載最新版本的升級(jí)包后,Web容器內(nèi)的應(yīng)用程序缺少主程序,還不足以實(shí)現(xiàn)整個(gè)功能。因此,會(huì)繼續(xù)在存儲(chǔ)主程序的路徑下查找主程序,并將查找到的主程序加載到Web容器內(nèi)。在加載過(guò)程中,主程序中與已加載進(jìn)Web容器的最新版本的升級(jí)包對(duì)應(yīng)的部分不被加載。因此,在Web容器中,相當(dāng)于用最新版本的升級(jí)包替換了主程序中與最新版本的升級(jí)包對(duì)應(yīng)的部分,從而得到最新版本的應(yīng)用程序。在一個(gè)實(shí)施例中,主程序存儲(chǔ)在兩個(gè)路徑下,其中一個(gè)路徑存儲(chǔ)的是主程序的類(lèi)文件,另一個(gè)路徑下存儲(chǔ)的是主程序類(lèi)文件的Jar包。在查找主程序時(shí),先在存儲(chǔ)類(lèi)文件的路徑下查找,若沒(méi)有查找到完整的主程序,則到存儲(chǔ)Jar包的路徑下查找。采用兩個(gè)路徑存儲(chǔ)主程序可提高系統(tǒng)的可靠性。在一個(gè)實(shí)施例中,步驟S120還包括加載主程序到緩存,且不重復(fù)加載主程序中與最新的升級(jí)包對(duì)應(yīng)的部分。在查找主程序,并將主程序加載到Web容器中時(shí),還將查找到的主程序加載到緩存中,且在加載的過(guò)程中不重復(fù)加載主程序中與最新版本的升級(jí)包對(duì)應(yīng)的部分。因此,在緩存中即存有主程序,還存有最新版本的升級(jí)包,從而在緩存中存有了最新版本的應(yīng)用程序。這樣做的意義在于,當(dāng)其他用戶(hù)訪問(wèn)應(yīng)用程序時(shí),直接從緩存中就可查找并得到完整的最新版本的應(yīng)用程序,避免了還需要在存儲(chǔ)主程序的路徑下查找的步驟,因此可以有效提高系統(tǒng)的運(yùn)行效率。在一個(gè)實(shí)施例中,在步驟S120之后,還包括運(yùn)行更新后的應(yīng)用程序,并將運(yùn)行結(jié)果反饋到用戶(hù)界面的步驟。Web容器里面的應(yīng)用程序?yàn)楦潞蟮膽?yīng)用程序,運(yùn)行應(yīng)用程序后可修復(fù)原應(yīng)用程序存在的漏洞,或是在原應(yīng)用程序的基礎(chǔ)上增加了新的功能。從而提高系統(tǒng)的性能,或是改善了用戶(hù)體驗(yàn)。如圖4所示,本發(fā)明還提供一種Web應(yīng)用程序升級(jí)系統(tǒng),該系統(tǒng)包括緩存模塊110及應(yīng)用程序升級(jí)模塊120。其中:緩存模塊110用于獲取最新的升級(jí)包,并將最新的升級(jí)包加載到緩存。升級(jí)包可以是針對(duì)應(yīng)用程序的主程序中的漏洞而編輯的補(bǔ)丁,也可是為了對(duì)應(yīng)用程序的功能進(jìn)行升級(jí)而編輯的功能模塊。在一個(gè)實(shí)施例中,包含多個(gè)版本的升級(jí)包,多個(gè)版本的升級(jí)包按順序存儲(chǔ)在升級(jí)包存儲(chǔ)路徑下,且多個(gè)版本的升級(jí)包對(duì)應(yīng)不同版本的應(yīng)用程序,加載不同版本的升級(jí)包可更新得到不同版本的應(yīng)用程序。在一個(gè)實(shí)施例中,升級(jí)包為Jar包,以便于JAVA系統(tǒng)查找和加載升級(jí)包。如圖5所示,在一個(gè)實(shí)施例中,緩存模塊110包括監(jiān)聽(tīng)器111、路徑提取模塊113及升級(jí)包加載模塊115。其中:監(jiān)聽(tīng)器111用于檢測(cè)是否有最新的升級(jí)包。在一個(gè)實(shí)施例中,監(jiān)聽(tīng)器111配置監(jiān)聽(tīng)程序,時(shí)刻監(jiān)聽(tīng)升級(jí)包存儲(chǔ)路徑下是否有最新版本的升級(jí)包。當(dāng)監(jiān)聽(tīng)器111檢測(cè)到有最新版本的升級(jí)包時(shí),需要重新啟動(dòng)服務(wù)器,在重啟完成后,監(jiān)聽(tīng)器111首先控制緩存進(jìn)行初始化,清除緩存內(nèi)原有的數(shù)據(jù)。路徑提取模塊113用于當(dāng)檢測(cè)到有最新的升級(jí)包時(shí),獲取升級(jí)包存儲(chǔ)路徑。升級(jí)包加載模塊115用于從升級(jí)包存儲(chǔ)路徑獲取最新的升級(jí)包,并將最新的升級(jí)包加載到緩存。緩存中原有的數(shù)據(jù)已經(jīng)被清除,當(dāng)升級(jí)包加載模塊115加載最新版本的升級(jí)包到緩存中時(shí),緩存中只存有最新版本的升級(jí)包。在一個(gè)實(shí)施例中,緩存為哈希表,其中主鍵為最新版本的升級(jí)包所對(duì)應(yīng)的類(lèi)的全名。應(yīng)用程序升級(jí)模塊120用于獲取Web應(yīng)用訪問(wèn)請(qǐng)求,并根據(jù)最新版本的升級(jí)包將應(yīng)用程序升級(jí)成最新版本的應(yīng)用程序。不同版本的升級(jí)包對(duì)應(yīng)著不同版本的應(yīng)用程序,緩存中存在最新版本的升級(jí)包,因此應(yīng)用程序升級(jí)模塊120可以根據(jù)緩存中最新版本的升級(jí)包將應(yīng)用程序升級(jí)成最新版本的應(yīng)用程序。如圖6所不,在一個(gè)實(shí)施例中,應(yīng)用程序升級(jí)模塊120包括第一加載模塊121及第二加載模塊123。其中:
第一加載模塊121用于從緩存中獲取最新的升級(jí)包,并將最新的升級(jí)包加載到Web容器內(nèi)。在一個(gè)實(shí)施例中,當(dāng)應(yīng)用程序升級(jí)模塊120獲取Web應(yīng)用訪問(wèn)請(qǐng)求后,服務(wù)器需要根據(jù)Web應(yīng)用訪問(wèn)請(qǐng)求運(yùn)行應(yīng)用程序。而在運(yùn)行應(yīng)用程序之前須先將應(yīng)用程序加載到Web容器中。首先第一加載模塊121從緩存中查找程序,并將查找到的程序加載到Web容器內(nèi),由于緩存中只存有最新版本的升級(jí)包,因此最新版本的升級(jí)包首先加載到Web容器中。第二加載模塊123用于將應(yīng)用程序的主程序加載到Web容器內(nèi),與最新的升級(jí)包組成更新后的應(yīng)用程序,且不重復(fù)加載主程序中與最新的升級(jí)包對(duì)應(yīng)的部分。在一個(gè)實(shí)施例中,第一加載模塊121在緩存中查到并加載最新版本的升級(jí)包后,Web容器內(nèi)的應(yīng)用程序缺少主程序,還不足以實(shí)現(xiàn)整個(gè)功能。因此,第二加載模塊123會(huì)繼續(xù)在存儲(chǔ)主程序的路徑下查找主程序,并將查找到的主程序加載到Web容器內(nèi)。在加載過(guò)程中,主程序中與已加載進(jìn)Web容器的最新版本的升級(jí)包對(duì)應(yīng)的部分不被加載。因此,在Web容器中,相當(dāng)于用最新版本的升級(jí)包替換了主程序中與最新版本的升級(jí)包對(duì)應(yīng)的部分,從而得到最新版本的應(yīng)用程序。在一個(gè)實(shí)施例中,主程序存儲(chǔ)在兩個(gè)路徑下,其中一個(gè)路徑存儲(chǔ)的是主程序的類(lèi)文件,另一個(gè)路徑下存儲(chǔ)的是主程序類(lèi)文件的Jar包。第二加載模塊123在查找主程序時(shí),先在存儲(chǔ)類(lèi)文件的路徑下查找,若沒(méi)有查找到完整的主程序,則到存儲(chǔ)Jar包的路徑下查找。采用兩個(gè)路徑存儲(chǔ)主程序可提高系統(tǒng)的可靠性。在一個(gè)實(shí)施例中,應(yīng)用程序升級(jí)模塊120還包括主程序加載模塊(圖未示),主程序加載模塊用于加載主程序到緩存,且不重復(fù)加載主程序中與最新的升級(jí)包對(duì)應(yīng)的部分。在第二加載模塊123查找主程序,并將主程序加載到Web容器中時(shí),主程序加載模塊將查找到的主程序加載到緩存中,且在加載的過(guò)程中不重復(fù)加載主程序中與最新版本的升級(jí)包對(duì)應(yīng)的部分。因此,在緩存中即存有主程序,還存有最新版本的升級(jí)包,從而在緩存中存有了最新版本的應(yīng)用程序。這樣做的意義在于,當(dāng)其他用戶(hù)訪問(wèn)應(yīng)用程序時(shí),第一加載模塊121從緩存中就可查找并得到完整的最新版本的應(yīng)用程序,避免了還需要第二加載模塊123在存儲(chǔ)主程序的路徑下查找的步驟,因此可以有效提高系統(tǒng)的運(yùn)行效率。在一個(gè)實(shí)施例中,Web應(yīng)用程序升級(jí)系統(tǒng)還包括處理模塊,處理模塊用于運(yùn)行更新后的應(yīng)用程序,并將運(yùn)行結(jié)果反饋到用戶(hù)界面。Web容器里面的應(yīng)用程序?yàn)楦潞蟮膽?yīng)用程序,處理模塊運(yùn)行后可修復(fù)原應(yīng)用程序存在的漏洞,或是在原應(yīng)用程序的基礎(chǔ)上增加了新的功能。從而提高系統(tǒng)的性能,或是改善了用戶(hù)體驗(yàn)。上述Web應(yīng)用程序升級(jí)方法及系統(tǒng),先獲取最新的升級(jí)包,并將最新的升級(jí)包加載到緩存。然后根據(jù)緩存中最新的升級(jí)包更新應(yīng)用程序。不同的升級(jí)包對(duì)應(yīng)著不同的應(yīng)用程序。在升級(jí)的過(guò)程中,主程序中需要升級(jí)的部分未被覆蓋,加載不同的升級(jí)包可以得到不同版本的應(yīng)用程序,當(dāng)程序出現(xiàn)故障時(shí),可快速恢復(fù)原來(lái)的版本,且容易追查問(wèn)題出現(xiàn)在哪個(gè)版本上。因此,通過(guò)上述方法及系統(tǒng)可便于對(duì)Web應(yīng)用程序的版本進(jìn)行管理。以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專(zhuān)利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專(zhuān)利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種Web應(yīng)用程序升級(jí)方法,包括以下步驟: 獲取應(yīng)用程序的最新的升級(jí)包,并將所述最新的升級(jí)包加載到緩存; 獲取Web應(yīng)用訪問(wèn)請(qǐng)求,并根據(jù)所述最新的升級(jí)包更新所述應(yīng)用程序。
2.如權(quán)利要求1所述的Web應(yīng)用程序升級(jí)方法,其特征在于,所述獲取最新的升級(jí)包,并將所述最新的升級(jí)包加載到緩存的步驟包括: 檢測(cè)是否有最新的升級(jí)包; 當(dāng)檢測(cè)到有最新的升級(jí)包時(shí),獲取升級(jí)包存儲(chǔ)路徑; 從所述升級(jí)包存儲(chǔ)路徑獲取所述最新的升級(jí)包,并將所述最新的升級(jí)包加載到緩存。
3.如權(quán)利要求1所述的Web應(yīng)用程序升級(jí)方法,其特征在于,所述根據(jù)所述最新的升級(jí)包更新應(yīng)用程序的步驟包括: 從所述緩存中獲取所述最新的升級(jí)包,并將所述最新的升級(jí)包加載到Web容器內(nèi); 將所述應(yīng)用程序的主程序加載到所述Web容器內(nèi),與所述最新的升級(jí)包組成更新后的應(yīng)用程序,且不重復(fù)加載所述主程序中與所述最新的升級(jí)包對(duì)應(yīng)的部分。
4.如權(quán)利要求3所述的Web應(yīng)用程序升級(jí)方法,其特征在于,所述根據(jù)所述最新的升級(jí)包更新應(yīng)用程序的步驟還包括:加載所述主程序到所述緩存,且不重復(fù)加載所述主程序中與所述最新的升級(jí)包對(duì)應(yīng)的部分。
5.如權(quán)利要求1 4任一項(xiàng)所述的Web應(yīng)用程序升級(jí)方法,其特征在于,所述升級(jí)包為Jar 包。
6.一種Web應(yīng)用程序升級(jí)系統(tǒng),其特征在于,包括: 緩存模塊,用于獲取最新的升級(jí)包,并將所述最新的升級(jí)包加載到緩存; 應(yīng)用程序升級(jí)模塊,用于獲取Web應(yīng)用訪問(wèn)請(qǐng)求,并根據(jù)所述最新的升級(jí)包更新應(yīng)用程序。
7.如權(quán)利要求6所述的Web應(yīng)用程序升級(jí)系統(tǒng),其特征在于,所述緩存模塊包括: 監(jiān)聽(tīng)器,用于檢測(cè)是否有最新的升級(jí)包; 路徑提取模塊,用于當(dāng)檢測(cè)到有最新的升級(jí)包時(shí),獲取升級(jí)包存儲(chǔ)路徑; 升級(jí)包加載模塊,用于從所述升級(jí)包存儲(chǔ)路徑獲取所述最新的升級(jí)包,并將所述最新的升級(jí)包加載到緩存。
8.如權(quán)利要求6所述的Web應(yīng)用程序升級(jí)系統(tǒng),其特征在于,所述應(yīng)用程序升級(jí)模塊包括: 第一加載模塊,用于從所述緩存中獲取所述最新的升級(jí)包,并將所述最新的升級(jí)包加載到Web容器內(nèi); 第二加載模塊,用于將所述應(yīng)用程序的主程序加載到所述Web容器內(nèi),與所述最新的升級(jí)包組成更新后的應(yīng)用程序,且不重復(fù)加載所述主程序中與所述最新的升級(jí)包對(duì)應(yīng)的部分。
9.如權(quán)利要求8所述的Web應(yīng)用程序升級(jí)系統(tǒng),其特征在于,所述應(yīng)用程序升級(jí)模塊還包括主程序加載模塊,所述主程序加載模塊用于加載所述主程序到所述緩存,且不重復(fù)加載所述主程序中與所述最新的升級(jí)包對(duì)應(yīng)的部分。
10.如權(quán)利要求6 9任一項(xiàng)所述的Web應(yīng)用程序升級(jí)系統(tǒng),其特征在于,所述升級(jí)包為Jar包。
全文摘要
一種Web應(yīng)用程序升級(jí)方法,該方法首先獲取最新的升級(jí)包,并將最新的升級(jí)包加載到緩存。然后獲取Web應(yīng)用訪問(wèn)請(qǐng)求,并根據(jù)最新的升級(jí)包更新應(yīng)用程序。不同的升級(jí)包對(duì)應(yīng)著不同的應(yīng)用程序。在升級(jí)的過(guò)程中,主程序中需要升級(jí)的部分未被覆蓋,加載不同的升級(jí)包可以得到不同版本的應(yīng)用程序,當(dāng)程序出現(xiàn)故障時(shí),可快速恢復(fù)原來(lái)的版本,且容易追查問(wèn)題出現(xiàn)在哪個(gè)版本上。因此,通過(guò)上述方法及系統(tǒng)可便于對(duì)Web應(yīng)用程序的版本進(jìn)行管理。此外,還提供一種Web應(yīng)用程序升級(jí)系統(tǒng)。
文檔編號(hào)G06F9/445GK103186400SQ201110459829
公開(kāi)日2013年7月3日 申請(qǐng)日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者梁勇基 申請(qǐng)人:深圳市金蝶中間件有限公司