本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,更為具體而言,涉及一種spring應(yīng)用服務(wù)的升級(jí)方法和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
在相關(guān)技術(shù)中,常用的升級(jí)spring應(yīng)用服務(wù)的做法是重啟服務(wù)器。具體而言,重啟服務(wù)器的升級(jí)方法可包括:停用java應(yīng)用服務(wù)器,部署升級(jí)的spring應(yīng)用服務(wù)器,啟動(dòng)java服務(wù)器,讓新部署的javabean生效。
現(xiàn)有的升級(jí)重啟服務(wù)器的升級(jí)方法,存在不少缺點(diǎn)。例如,對(duì)于多家單位協(xié)同開(kāi)發(fā)的情況,每家單位都有可能更換版本以解決測(cè)試問(wèn)題。每天頻繁地重啟應(yīng)用服務(wù)器,會(huì)嚴(yán)重影響開(kāi)發(fā)的測(cè)試進(jìn)度和測(cè)試效果。而且,對(duì)于實(shí)時(shí)性要求較高的企業(yè)(例如,需要提供7*24小時(shí)不間斷服務(wù)的銀行)而言,更是會(huì)影響應(yīng)用服務(wù)器的時(shí)效性。而且,對(duì)于采用總分模式(例如,總行負(fù)責(zé)總體框架和公共業(yè)務(wù)模塊開(kāi)發(fā),分行負(fù)責(zé)分行差異化模塊開(kāi)發(fā))開(kāi)發(fā)的企業(yè)而言,如果采用重啟服務(wù)器的方式部署新應(yīng)用,則需要等待統(tǒng)一的時(shí)間窗口進(jìn)行版本上線,這種方式嚴(yán)重降低升級(jí)和開(kāi)發(fā)效率。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問(wèn)題,本公開(kāi)提供了一種spring應(yīng)用服務(wù)的升級(jí)方法和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),能夠在不需要停止spring應(yīng)用服務(wù)器的情況下,升級(jí)spring應(yīng)用服務(wù),從而能夠讓不屬于本次升級(jí)范圍內(nèi)正在運(yùn)行的spring應(yīng)用服務(wù)不受影響,顯著改善了升級(jí)效率。
根據(jù)本發(fā)明實(shí)施方式的第一方面,提供了一種spring應(yīng)用服務(wù)的升級(jí)方法,該方法可包括:通過(guò)應(yīng)用上下文管理器接收jar文件的更新請(qǐng)求,判斷所述更新請(qǐng)求對(duì)應(yīng)的jar文件的上下文是否存在,若所述jar文件的上下文不存在,則通知類加載器管理器所述更新請(qǐng)求,由所述類加載器管理器判斷所述更新請(qǐng)求對(duì)應(yīng)的jar文件的類加載器是否存在,若所述jar文件的類加載器不存在,則由類加載器管理器為所述jar文件創(chuàng)建對(duì)應(yīng)的自定義類加載器,并通知所述自定義類加載器加載所述jar文件中的類對(duì)象,所述自定義類加載器加載所述jar文件中的類對(duì)象,并與當(dāng)前在用的上下文的類加載器綁定父子關(guān)系。
在一些實(shí)施方式中,所述方法還包括:通過(guò)應(yīng)用上下文管理器為所述jar文件創(chuàng)建上下文,以便將所創(chuàng)建的上下文與當(dāng)前在用的上下文的類加載器綁定父子關(guān)系。
在一些實(shí)施方式中,所述方法還包括:將所述自定義類加載器設(shè)置為應(yīng)用上下文的類加載器,并刷新應(yīng)用上下文,以便加載所述jar文件中的javabean。
在一些實(shí)施方式中,所述方法還包括:若所述jar文件的上下文存在,則卸載所述jar文件的上下文。
在一些實(shí)施方式中,所述方法還包括:若所述jar文件的類加載器存在,則通知該已存在的類加載器關(guān)閉,并釋放該存在的類加載器。
在一些實(shí)施方式中,所述方法還包括:當(dāng)有應(yīng)用需要更新時(shí),調(diào)用更新jar文件服務(wù)接收上傳的更新的jar文件,jar文件服務(wù)接收完jar文件后,通知所述應(yīng)用上下文管理器所述jar文件的更新請(qǐng)求。
根據(jù)本發(fā)明實(shí)施方式的第二方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn):通過(guò)應(yīng)用上下文管理器接收jar文件的更新請(qǐng)求,判斷所述更新請(qǐng)求對(duì)應(yīng)的jar文件的上下文是否存在,若所述jar文件的上下文不存在,則通知類加載器管理器所述更新請(qǐng)求,由所述類加載器管理器判斷所述更新請(qǐng)求對(duì)應(yīng)的jar文件的類加載器是否存在,若所述jar文件的類加載器不存在,則由類加載器管理器為所述jar文件創(chuàng)建對(duì)應(yīng)的自定義類加載器,并通知所述自定義類加載器加載所述jar文件中的類對(duì)象,所述自定義類加載器加載所述jar文件中的類對(duì)象,并與當(dāng)前在用的上下文的類加載器綁定父子關(guān)系。
實(shí)施本發(fā)明實(shí)施方式提供的spring應(yīng)用服務(wù)的升級(jí)方法和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),能夠在不停用應(yīng)用服務(wù)器的情況下,保證spring應(yīng)用服務(wù)的更新升級(jí),與現(xiàn)有的停用服務(wù)器升級(jí)的方式相比,能夠不影響不屬于本次升級(jí)范圍內(nèi)、正在運(yùn)行的spring應(yīng)用服務(wù),顯著提高spring應(yīng)用服務(wù)升級(jí)的效率;而且,由于不影響不屬于本次升級(jí)范圍內(nèi)、正在運(yùn)行的spring應(yīng)用服務(wù),也就是說(shuō),不會(huì)影響協(xié)同開(kāi)發(fā)的其他開(kāi)發(fā)方的測(cè)試操作,允許各方各自開(kāi)發(fā)自己的javabean并實(shí)時(shí)生效,在多方協(xié)同開(kāi)發(fā)的情形下,能夠從整體上會(huì)改善開(kāi)發(fā)和測(cè)試的效率。
附圖說(shuō)明
圖1是根據(jù)本發(fā)明一種實(shí)施方式的spring應(yīng)用服務(wù)的升級(jí)方法的流程示意圖。
圖2是根據(jù)本發(fā)明一種實(shí)施方式的spring應(yīng)用服務(wù)的升級(jí)方法的流程圖。
具體實(shí)施方式
以下結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明的各個(gè)方面進(jìn)行詳細(xì)闡述。其中,眾所周知的模塊、單元及其相互之間的連接、鏈接、通信或操作沒(méi)有示出或未作詳細(xì)說(shuō)明。并且,所描述的特征、架構(gòu)或功能可在一個(gè)或一個(gè)以上實(shí)施方式中以任何方式組合。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,下述的各種實(shí)施方式只用于舉例說(shuō)明,而非用于限制本發(fā)明的保護(hù)范圍。還可以容易理解,本文所述和附圖所示的各實(shí)施方式中的模塊或單元或處理方式可以按各種不同配置進(jìn)行組合和設(shè)計(jì)。
下面對(duì)本發(fā)明實(shí)施方式描述中用到的術(shù)語(yǔ)進(jìn)行簡(jiǎn)要說(shuō)明,需要說(shuō)明的是,雖然此處對(duì)術(shù)語(yǔ)進(jìn)行了解釋,但不應(yīng)理解為,這些解釋是對(duì)這些術(shù)語(yǔ)的限制。
java:java是由sunmicrosystems公司于1995年5月推出的java面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言(以下簡(jiǎn)稱java語(yǔ)言)和java平臺(tái)的總稱。用于開(kāi)發(fā)internet應(yīng)用程序。java由四方面組成:java編程語(yǔ)言、java文件格式、java虛擬機(jī)(jvm)、java應(yīng)用程序接口(javaapi)。
java程序:由java源碼(后綴為.java的文件)編譯出來(lái)的java字節(jié)碼(后綴為.class的文件)。
class:中文名稱:類對(duì)象。在java中,每個(gè)class都有一個(gè)相應(yīng)的class對(duì)象。也就是說(shuō),當(dāng)我們編寫一個(gè)類(java源碼),編譯完成后,在生成的.class文件中,就會(huì)產(chǎn)生一個(gè)class對(duì)象,用于表示這個(gè)類的類型信息。
java歸檔文件:java歸檔文件有jar(javaarchive中文名稱為jar歸檔文件)、war(webapplicationarchive中文名稱為web應(yīng)用歸檔文件)、ear(enterprisearchive中文名稱為企業(yè)級(jí)歸檔文件)等幾種類型,java歸檔文件格式以流行的zip文件格式為基礎(chǔ),文件名后綴為.jar、.war或.ear。java歸檔文件不僅用于壓縮和發(fā)布,而且還用于部署和封裝庫(kù)、組件和插件程序。將一個(gè)或多個(gè).class文件或其它類型文件(可包含目錄結(jié)構(gòu))可壓縮為一個(gè)java歸檔文件。
jvm:jvm是javavirtualmachine(java虛擬機(jī))的縮寫,jvm是一種用于計(jì)算設(shè)備的規(guī)范,它是一個(gè)虛構(gòu)出來(lái)的計(jì)算機(jī),是通過(guò)在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能來(lái)實(shí)現(xiàn)的。jvm執(zhí)行程序的過(guò)程:i.加載.class文件。ii.管理并分配內(nèi)存。iii.執(zhí)行垃圾收集。
classloader:classloader(類加載器)用來(lái)加載java類到j(luò)vm中。與普通程序不同的是java程序并不是本地的可執(zhí)行程序。當(dāng)運(yùn)行java程序時(shí),首先運(yùn)行jvm,然后再把class類加載到j(luò)vm里頭運(yùn)行,負(fù)責(zé)加載javaclass的這部分就叫做classloader。
classpath:類路徑。是jvm所需的環(huán)境變量,用于告訴jvm從哪些目錄下或者從哪些jar文件中可以找到所要執(zhí)行的java程序。
j2ee中間件:中間件是一類軟件名,屬基礎(chǔ)軟件和可復(fù)用軟件??偟淖饔檬菫樘幱谧约荷蠈拥膽?yīng)用軟件提供運(yùn)行與開(kāi)發(fā)的環(huán)境幫助用戶開(kāi)發(fā)和集成應(yīng)用軟件。j2ee中間件特指java應(yīng)用服務(wù)器軟件,常見(jiàn)的產(chǎn)品化的java應(yīng)用服務(wù)器軟件有tomcat、weblogic、websphere等。
java應(yīng)用服務(wù)器:應(yīng)用服務(wù)器主要為應(yīng)用程序提供運(yùn)行環(huán)境,為組件提供服務(wù)。
java應(yīng)用服務(wù):部署在java應(yīng)用服務(wù)器中,并提供某種服務(wù)的java程序。
javabean:一種java語(yǔ)言寫成的可重用組件,本質(zhì)上是一個(gè)java類對(duì)象,滿足如下兩個(gè)條件:(1)具備無(wú)參數(shù)構(gòu)造函數(shù);(2)為成員編寫了set、get方法。
spring框架:spring是一個(gè)開(kāi)源框架,它是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的。spring使用基本的javabean來(lái)完成以前只可能由ejb(enterprisejavabean)完成的事情。spring框架由七個(gè)定義明確的模塊組成,本文涉及的是spring-core與spring-context。
spring-core:spring核心容器是spring框架最基礎(chǔ)的部分,它提供了依賴注入(dependencyinjection)特征來(lái)實(shí)現(xiàn)容器對(duì)bean的管理。
beanfactory:bean工廠。beanfactory是spring應(yīng)用的核心,是工廠模式的一個(gè)實(shí)現(xiàn),它使用ioc將應(yīng)用配置和依賴說(shuō)明從實(shí)際的應(yīng)用代碼中分離出來(lái)。
spring-context:應(yīng)用上下文模塊。核心模塊的beanfactory使spring成為一個(gè)容器,而應(yīng)用上下文模塊使它成為一個(gè)框架。這個(gè)模塊擴(kuò)展了beanfactory的概念,增加了對(duì)國(guó)際化(i18n)消息、事件傳播以及驗(yàn)證的支持。
spring應(yīng)用服務(wù):部署在spring容器中,并提供某種服務(wù)的javabean程序
spring應(yīng)用服務(wù)器:指使用了spring框架的java應(yīng)用服務(wù)器。
本發(fā)明實(shí)施方式中描述的spring應(yīng)用服務(wù)由一組javabean組成,這些javabean能夠?qū)崿F(xiàn)特定的業(yè)務(wù)或技術(shù)規(guī)則,從而實(shí)現(xiàn)特定的業(yè)務(wù)服務(wù)。javabean需要部署在spring應(yīng)用服務(wù)器中。
啟動(dòng)spring應(yīng)用服務(wù)器時(shí),由java虛擬機(jī)的java類加載器從類路徑中加載j2ee中間件軟件以及spring框架,再由spring框架中的應(yīng)用上下文既在用戶開(kāi)發(fā)的javabean以及開(kāi)發(fā)所引用的第三方(java程序)等。其中,第三方(java程序)一般為jar格式的java歸檔文件。用戶開(kāi)發(fā)的javabean一般為壓縮為一個(gè)或多個(gè)java歸檔文件。升級(jí)spring應(yīng)用服務(wù),需要把用戶開(kāi)發(fā)的javabean以及第三方(java程序)保存到j(luò)ava應(yīng)用服務(wù)器的java虛擬機(jī)能夠識(shí)別出的類路徑下。升級(jí)操作會(huì)修改類路徑下的java程序,需要重新啟動(dòng)java虛擬機(jī),以保證java類記載其能夠重新加載java程序,讓升級(jí)生效。
參見(jiàn)圖1,圖1是根據(jù)本發(fā)明一種實(shí)施方式的spring應(yīng)用服務(wù)的升級(jí)方法的流程示意圖,該升級(jí)方法可包括:
s101,通過(guò)應(yīng)用上下文管理器接收jar文件的更新請(qǐng)求,判斷所述更新請(qǐng)求對(duì)應(yīng)的jar文件的上下文是否存在,若jar文件的上下文不存在,則執(zhí)行步驟s102,若jar文件的上下文存在,則執(zhí)行步驟s103,
s102,通知類加載器管理器所述更新請(qǐng)求,由所述類加載器管理器判斷所述更新請(qǐng)求對(duì)應(yīng)的jar文件的類加載器是否存在,若jar文件的類加載器不存在,則執(zhí)行步驟s104,若jar文件的類加載器存在,則執(zhí)行步驟s105,
s103,卸載所述jar文件的上下文,
s104,由類加載器管理器為所述jar文件創(chuàng)建對(duì)應(yīng)的自定義類加載器,并通知所述自定義類加載器加載所述jar文件中的類對(duì)象,
s105,通知該已存在的類加載器關(guān)閉,并釋放該存在的類加載器,
s106,自定義類加載器加載所述jar文件中的類對(duì)象,并與當(dāng)前在用的上下文的類加載器綁定父子關(guān)系。
在本發(fā)明的實(shí)施方式中,步驟s101中由應(yīng)用上下文管理器接收jar文件的更新請(qǐng)求,其中,該jar文件可以是通過(guò)更新jar文件服務(wù)器上傳得到的需要更新的jar文件。當(dāng)有spring應(yīng)用需要更新時(shí),調(diào)用jar文件服務(wù)器接收技術(shù)人員上傳的更新的jar文件,更新jar文件服務(wù)接收完技術(shù)人員上傳的jar文件的更新文件之后,會(huì)通知應(yīng)用上下文管理器有jar文件的更新。
步驟s101中,應(yīng)用上下文管理器會(huì)接收更新jar文件服務(wù)發(fā)送的更新請(qǐng)求,判斷更新請(qǐng)求中對(duì)應(yīng)的jar文件的上下文是否存在,如果存在,那么說(shuō)明本次更新的jar文件是對(duì)原有的jar文件的更新,那么執(zhí)行步驟s103,將該jar文件對(duì)應(yīng)的上下文卸載;若不存在,那么說(shuō)明本次更新的jar文件是全新的jar文件的更新,那么執(zhí)行步驟s102,通知類加載器管理器jar文件的更新請(qǐng)求,由類加載器管理器判斷該更新請(qǐng)求對(duì)應(yīng)的jar文件的類加載器是否存在,若jar文件的類加載器不存在,那么說(shuō)明,該jar文件是原來(lái)沒(méi)有對(duì)應(yīng)的類加載器,則執(zhí)行步驟s104,由類加載器管理器為該jar文件創(chuàng)建對(duì)應(yīng)的自定義類加載器,并通知該自定義類加載器加載該jar文件中的類對(duì)象,若jar文件的類加載器存在,由于存在jar文件的類加載器,需要對(duì)其更新,則執(zhí)行步驟s105,通知該已經(jīng)存在的類加載器關(guān)閉,并釋放該已存在的類加載器。
在步驟s104中,類加載器管理器通知新創(chuàng)建的自定義類加載器加載更新的jar文件中的類對(duì)象,在步驟106中,自定義類加載器會(huì)根據(jù)類加載器管理器的通知加載jar文件中的類對(duì)象,并與當(dāng)前在用的上下文的類加載器綁定父子關(guān)系。
在本發(fā)明的一些實(shí)施方式中,應(yīng)用上下文管理器使用spring框架的filesystemxmlapplicationcontext類為jar文件創(chuàng)建一個(gè)對(duì)應(yīng)的上下文為更新的jar文件創(chuàng)建一個(gè)對(duì)應(yīng)的上下文,以便將jar文件新創(chuàng)建的上下文與系統(tǒng)當(dāng)前在用的上下文的類加載器綁定父子關(guān)系。
在本發(fā)明的一些實(shí)施方式中,在將新創(chuàng)建的jar文件的上下文與系統(tǒng)當(dāng)前在用的上下文的類加載器綁定父子關(guān)系之后,可以將系統(tǒng)的應(yīng)用上下文的類加載器設(shè)置為步驟s104創(chuàng)建的自定義類加載器,并且可以通過(guò)刷新應(yīng)用上下文,以便加載jar文件中的javabean。
在一些實(shí)施方式中,spring應(yīng)用服務(wù)的升級(jí)方法可以如圖2所示。
(1)當(dāng)操作員需要升級(jí)spring應(yīng)用服務(wù)時(shí),通過(guò)調(diào)用更新jar文件服務(wù)上傳jar文件。
(2)更新jar文件服務(wù)接收完更新的jar文件后,通知應(yīng)用上下文管理器更新。
(3)應(yīng)用上下文管理器收到更新請(qǐng)求后,首先判斷jar文件對(duì)應(yīng)的上下文是否存在,如果存在,則卸載該jar文件對(duì)應(yīng)的上下文。
(4)如果不存在該jar文件的上下文,則應(yīng)用上下文管理器通知類加載器管理器更新。
(5)類加載器管理器收到更新請(qǐng)求后,首先判斷請(qǐng)求更新的jar文件所對(duì)應(yīng)的自定義類加載器是否存在,如果存在,則通知該類加載器關(guān)閉,然后釋放該類加載器。
(6)自定義類加載器收到關(guān)閉請(qǐng)求后,卸載所對(duì)應(yīng)的jar文件。
(7)如果不存在,則類加載器管理器為jar文件創(chuàng)建一個(gè)對(duì)應(yīng)的自定義類加載器,并通知該類加載器加載jar文件中的類對(duì)象。
(8)自定義類加載器收到加載請(qǐng)求后,加載所指定的jar文件的類對(duì)象,并與當(dāng)前在用的應(yīng)用上下文的類加載器綁定父子關(guān)系。
(9)應(yīng)用上下文管理器使用spring框架的filesystemxmlapplicationcontext類為jar文件創(chuàng)建一個(gè)對(duì)應(yīng)的上下文,然后,與系統(tǒng)當(dāng)前在用的應(yīng)用上下文建立父子關(guān)系;設(shè)置應(yīng)用上下文的類加載器為第(7)步所創(chuàng)建的類加載器;刷新應(yīng)用上下文,用來(lái)加載jar文件中的javabean。
當(dāng)java程序需升級(jí)jar歸檔文件中的某個(gè)javabean時(shí),該java程序調(diào)用應(yīng)用上下文管理器的獲取javabean方法。應(yīng)用上下文管理器收到請(qǐng)求后,首先判斷jar文件對(duì)應(yīng)的上下文是否存在,如果不存在,則調(diào)用更新方法(上面描述的(3)-(9))為jar文件創(chuàng)建一個(gè)上下文。應(yīng)用上下文管理器找到對(duì)應(yīng)的上下文后,調(diào)用該上下文的getbean方法,并返回調(diào)用所得的javabean。
本發(fā)明實(shí)施方式提供的spring應(yīng)用服務(wù)的升級(jí)方法,首先,能夠在多方協(xié)同開(kāi)發(fā)的情形下,保證一方在升級(jí)自己開(kāi)發(fā)的應(yīng)用服務(wù)時(shí),不影響其他各方所開(kāi)發(fā)的spring應(yīng)用服務(wù),從而提高應(yīng)用服務(wù)升級(jí)的效率,而且允許各方各自開(kāi)發(fā)自己的javabean,并且能夠?qū)崟r(shí)生效。其次,在升級(jí)spring應(yīng)用服務(wù)的同時(shí),不需要停止spring應(yīng)用服務(wù)器,能夠讓不屬于本次升級(jí)范圍內(nèi)的、正在運(yùn)行的spring應(yīng)用服務(wù)不受影響,對(duì)于需要提供連續(xù)不間斷服務(wù)的情形而言,尤其適用。
本發(fā)明實(shí)施方式還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)可以實(shí)現(xiàn):
通過(guò)應(yīng)用上下文管理器接收jar文件的更新請(qǐng)求,判斷所述更新請(qǐng)求對(duì)應(yīng)的jar文件的上下文是否存在,
若所述jar文件的上下文不存在,則通知類加載器管理器所述更新請(qǐng)求,由所述類加載器管理器判斷所述更新請(qǐng)求對(duì)應(yīng)的jar文件的類加載器是否存在,
若所述jar文件的類加載器不存在,則由類加載器管理器為所述jar文件創(chuàng)建對(duì)應(yīng)的自定義類加載器,并通知所述自定義類加載器加載所述jar文件中的類對(duì)象,
所述自定義類加載器加載所述jar文件中的類對(duì)象,并與當(dāng)前在用的上下文的類加載器綁定父子關(guān)系。
在一些實(shí)施方式中,所述程序被處理器執(zhí)行時(shí)還實(shí)現(xiàn):通過(guò)應(yīng)用上下文管理器為所述jar文件創(chuàng)建上下文,以便將所創(chuàng)建的上下文與當(dāng)前在用的上下文的類加載器綁定父子關(guān)系。
在一些實(shí)施方式中,所述程序被處理器執(zhí)行時(shí)還實(shí)現(xiàn):將所述自定義類加載器設(shè)置為應(yīng)用上下文的類加載器,并刷新應(yīng)用上下文,以便加載所述jar文件中的javabean。
在一些實(shí)施方式中,所述程序被處理器執(zhí)行時(shí)還實(shí)現(xiàn):在所述jar文件的上下文存在的情況下,卸載所述jar文件的上下文。
在一些實(shí)施方式中,所述程序被處理器執(zhí)行時(shí)還實(shí)現(xiàn):在所述jar文件的類加載器存在的情況下,通知該已存在的類加載器關(guān)閉,并釋放該存在的類加載器。
在一些實(shí)施方式中,所述程序被處理器執(zhí)行時(shí)還實(shí)現(xiàn):當(dāng)有應(yīng)用需要更新時(shí),接收上傳的更新的jar文件,并在jar文件服務(wù)接收完jar文件后,通知所述應(yīng)用上下文管理器所述jar文件的更新請(qǐng)求。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件結(jié)合硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案對(duì)背景技術(shù)做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,智能手機(jī)或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
本發(fā)明說(shuō)明書(shū)中使用的術(shù)語(yǔ)和措辭僅僅為了舉例說(shuō)明,并不意味構(gòu)成限定。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,在不脫離所公開(kāi)的實(shí)施方式的基本原理的前提下,對(duì)上述實(shí)施方式中的各細(xì)節(jié)可進(jìn)行各種變化。因此,本發(fā)明的范圍只由權(quán)利要求確定,在權(quán)利要求中,除非另有說(shuō)明,所有的術(shù)語(yǔ)應(yīng)按最寬泛合理的意思進(jìn)行理解。