欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

應用程序的升級方法和裝置制造方法

文檔序號:6535151閱讀:224來源:國知局
應用程序的升級方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種應用程序的升級方法和裝置。其中,應用程序的升級方法包括:檢測應用程序的升級程序,升級程序用于升級應用程序,應用程序包括結構域和數據域,其中結構域用于表示數據域內部數據之間的邏輯關系;以及當檢測到升級程序時,通過升級程序升級應用程序的結構域以升級應用程序。通過本發(fā)明,達到了減少應用程序升級時間的效果。
【專利說明】應用程序的升級方法和裝置
【技術領域】
[0001]本發(fā)明涉及應用程序領域,具體而言,涉及一種應用程序的升級方法和裝置。
【背景技術】
[0002]移動支付業(yè)務是由移動運營商、移動應用服務提供商和金融機構共同推出的,構建在移動運營支撐系統(tǒng)上的一個移動數據增值業(yè)務。手機支付產業(yè)作為一種新興產業(yè),其各方面都備受關注。
[0003]目前移動支付技術實現方案主要有以下幾種:雙界面JavaCard技術,SM Pass技術,RFID-SIM技術,近距離無線通信(Near field Communication,簡稱NFC)和智能手機存儲卡(Secure Digital Memory Card,簡稱SD卡)技術,可以看出目前主流實現方案均以智能卡(Smart Card)作為應用載體,提供相關應用服務,因此Smart Card對于應用的管理顯得尤為重要。
[0004]隨著Smart Card的發(fā)展,傳統(tǒng)的本地卡(Native Card)已經不能滿足市場的需求,特別在多應用方面,Java Card以其獨特的性能,逐步取代Native Card,成為Smart Card行業(yè)的新貴。隨著加載的應用的逐步增多,Java Card的應用管理存在一定的風險,尤其是當Java Card發(fā)行后,對Java Card所加載的應用進行升級或者更替時存在巨大的風險。
[0005]目前對于JavaCard的應用升級的方法存在著消耗大、費時和操作性困難等一系列缺點,主要的實現方式有兩種,一是刪除待升級的應用,下載新應用,即將需要升級的應用徹底刪除,重新下載升級完畢的新應用,再進行相關數據重新加載;二是對Java Card的應用進行補丁修復,即利用Java Card的應用的繼承關系,重新加載一個新的應用取代舊應用。上述兩種實現方式都會使得應用程序在升級過程中耗時過長。
[0006]針對現有技術中應用程序在升級過程中耗時過長的問題,目前尚未提出有效的解決方案。

【發(fā)明內容】

[0007]本發(fā)明的主要目的在于提供一種應用程序的升級方法和裝置,以解決現有技術中應用程序在升級過程中耗時過長的問題。
[0008]為了實現上述目的,根據本發(fā)明的一個方面,提供了一種應用程序的升級方法。根據本發(fā)明的應用程序的升級方法包括:檢測應用程序的升級程序,升級程序用于升級應用程序,應用程序包括結構域和數據域,其中結構域用于表示數據域內部數據之間的邏輯關系;以及當檢測到升級程序時,通過升級程序升級應用程序的結構域以升級應用程序。
[0009]進一步地,應用程序的結構域的刪除權限為第一權限,應用程序的數據域的刪除權限為第二權限,獲取第一權限的所使用的開銷小于獲取第二權限的所使用的開銷,其中,通過升級程序升級應用程序的結構域以升級應用程序包括:獲取應用程序的第一權限;通過第一權限刪除應用程序的結構域;以及加載升級程序以升級應用程序,升級程序包括結構域,升級程序的結構域用于升級應用程序的結構域。[0010]進一步地,在檢測應用程序的升級程序之前,應用程序的升級方法還包括:將應用程序的結構域與應用程序的數據域分離,應用程序的數據域包括應用初始化數據;以及存儲應用程序的數據域中的應用初始化數據。
[0011]進一步地,將應用程序的結構域與應用程序的數據域分離包括:將多個應用程序中的每一個應用程序的結構域與數據域分離,其中,存儲應用程序的數據域中的應用初始化數據包括:獲取預先建立的數據空間;將數據空間劃分為多個數據類,多個數據類中的一個數據類用于存儲多個應用程序中一個應用程序的應用初始化數據;以及將多個應用程序的應用初始化數據分別存儲在多個數據類中。
[0012]進一步地,應用程序為Java應用程序,Java應用程序應用于智能卡中,獲取預先建立的數據空間包括:獲取智能卡中預先開辟的可擦寫只讀內存,其中,在將多個應用程序的應用初始化數據分別存儲在多個數據類中之后,升級方法還包括:建立應用程序與數據類的對應關系。
[0013]為了實現上述目的,根據本發(fā)明的另一方面,提供了一種應用程序的升級裝置。根據本發(fā)明的應用程序的升級裝置包括:檢測單元,用于檢測應用程序的升級程序,升級程序用于升級應用程序,應用程序包括結構域和數據域,其中結構域用于表示數據域內部數據之間的邏輯關系;以及升級單元,用于當檢測到升級程序時,通過升級程序升級應用程序的結構域以升級應用程序。
[0014]進一步地,應用程序的結構域的刪除權限為第一權限,應用程序的數據域的刪除權限為第二權限,獲取第一權限的所使用的開銷小于獲取第二權限的所使用的開銷,其中,升級單元包括:第一獲取模塊,用于獲取應用程序的第一權限;刪除模塊,用于通過第一權限刪除應用程序的結構域;以及加載模塊,用于加載升級程序以升級應用程序,升級程序包括結構域,升級程序的結構域用于升級應用程序的結構域。
[0015]進一步地,應用程序的升級裝置還包括:分離單元,用于在檢測應用程序的升級程序之前,將應用程序的結構域與應用程序的數據域分離,應用程序的數據域包括應用初始化數據;以及存儲單元,用于存儲應用程序的數據域中的應用初始化數據。
[0016]進一步地,分離單元還用于將多個應用程序中的每一個應用程序的結構域與數據域分離,其中,存儲單元包括:第二獲取模塊,用于獲取預先建立的數據空間;拆分模塊,用于將數據空間劃分為多個數據類,多個數據類中的一個數據類用于存儲多個應用程序中一個應用程序的應用初始化數據;以及存儲模塊,用于將多個應用程序的應用初始化數據分別存儲在多個數據類中。
[0017]進一步地,應用程序為Java應用程序,Java應用程序應用于智能卡中,第二獲取模塊還用于獲取智能卡中預先開辟的可擦寫只讀內存,其中,存儲單元還包括:創(chuàng)建模塊,用于在將多個應用程序的應用初始化數據分別存儲在多個數據類中之后,建立應用程序與數據類的對應關系。
[0018]通過本發(fā)明,采用應用程序的升級方法,在檢測到應用程序對應的升級程序時,通過升級程序升級應用程序的結構域以對應用程序進行升級,由于在升級過程中,僅對應用程序的結構域進行升級,對應用程序的數據域不進行升級,因此在升級完應用程序的結構域之后,可以通過升級后的結構域直接調用原有的數據域進行數據處理,無需重新加載應用程序的初始化數據,從而解決了現有技術中應用程序在升級過程中耗時過長的問題,達到了減少應用程序升級時間的效果。
【專利附圖】

【附圖說明】
[0019]構成本申請的一部分的附圖用來提供對本發(fā)明的進一步理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
[0020]圖1是根據本發(fā)明第一實施例的應用程序的升級裝置的結構示意圖;
[0021]圖2是根據本發(fā)明實施例的應用程序的結構域的分布示意圖;
[0022]圖3是根據本發(fā)明第二實施例的應用程序的升級裝置的結構示意圖;
[0023]圖4是根據本發(fā)明實施例的應用程序的結構域升級的示意圖;
[0024]圖5是根據本發(fā)明第三實施例的應用程序的升級裝置的結構示意圖;
[0025]圖6是根據本發(fā)明實施例的應用程序的結構域與數據與之間的關系示意圖;
[0026]圖7是根據本發(fā)明實施例的應用程序的數據類的結構示意圖;
[0027]圖8是根據本發(fā)明第一實施例的應用程序的升級方法的流程圖;
[0028]圖9是根據本發(fā)明第二實施例的應用程序的升級方法的流程圖;以及
[0029]圖10是根據本發(fā)明第三實施例的應用程序的升級方法的流程圖。
【具體實施方式】
[0030]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發(fā)明。
[0031]為了使本【技術領域】的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
[0032]需要說明的是,本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本發(fā)明的實施例。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
[0033]本發(fā)明實施例提供了一種應用程序的升級裝置,該裝置通過計算機設備實現其功倉泛。
[0034]圖1是根據本發(fā)明第一實施例的應用程序的升級裝置的結構示意圖。如圖1所示,該應用程序的升級裝置包括:檢測單元10和升級單元20。
[0035]檢測單元10用于檢測應用程序的升級程序。
[0036]應用程序可以是任意的應用程序,可以是Java Card內部系統(tǒng)的驅動程序,也可以是安裝在Java Card上的應用程序。應用程序可以是一個應用程序也可以是多個應用程序,例如,在Java Card上安裝有多個驅動程序,檢測單元10用于檢測應用程序的升級程序可以是檢測Java Card上每一個驅動程序是否需要升級。升級程序用于升級應用程序,升級程序用于對應用程序進行升級,檢測單元10用于檢測應用程序的升級程序可以是檢測應用程序是否有對應的升級程序,當監(jiān)測到應用程序對應的升級程序時,用該升級程序升級應用程序。
[0037]應用程序可以包括結構域和數據域,其中結構域用于表示數據域內部數據之間的邏輯關系。例如,結構域中包含有數據之間的運算邏輯,當需要對數據進行處理時,可以從數據域中調用相應的數據執(zhí)行邏輯運算,在運算完成之后,將運算結果返回給數據域進行存儲。應用程序的結構域和數據域可以是在將應用程序預先進行分離之后,得到的結構域和數據域。例如,當應用程序為Java Card上的應用程序時,如圖2所示,該Java Card的系統(tǒng)中包含有6個Applet(采用Java創(chuàng)建的基于HTML的程序)分別為Appl、App2、App3、App4、Appll 和 App22,其中 Appll 和 App22 分別繼承于程序 Appl 和 App2。圖 2 中 App I structure、App2structure、App3structure、App4structure、Appllstructure 和 App22structure 分別表示程序Appl、App2、App3、App4、Appll和App22對應的結構域。數據域的數據可以在Java Card中開辟相應的存儲空間進行存儲,以便于應用程序在使用過程中,調用應用程序對應的數據進行工作。
[0038]升級單元20用于當檢測到升級程序時,通過升級程序升級應用程序的結構域以升級應用程序。
[0039]在檢測到應用程序對應的升級程序時,通過升級程序升級應用程序的結構域,從而完成對應用程序的升級。數據域中可以存儲有應用程序進行初始化的數據,在對應用程序進行升級時,應用程序的初始化數據不需要進行升級,因此可以通過檢測得到的升級程序對應用程序的結構域進行升級。例如,當檢測到圖2所示的程序Appll有其對應的升級程序Appllnew時,可以通過Appllnew升級Appll的結構域進行升級。
[0040]根據本發(fā)明實施例,在檢測到應用程序對應的升級程序時,通過升級程序升級應用程序的結構域以對應用程序進行升級,由于在升級過程中,僅對應用程序的結構域進行升級,對應用程序的數據域不進行升級,因此在升級完應用程序的結構域之后,可以通過升級后的結構域直接調用原有的數據域進行數據處理,無需重新加載應用程序的初始化數據,從而解決了現有技術中應用程序在升級過程中耗時過長的問題,達到了減少應用程序升級時間的效果。
[0041]圖3是根據本發(fā)明第二實施例的應用程序的升級裝置的結構示意圖。該實施例的應用程序的升級裝置可以作為上述實施例的應用程序的升級裝置的一種優(yōu)選實施方式。如圖3所示,該應用程序的升級裝置包括:檢測單元10和升級單元20,其中,升級單元20包括第一獲取模塊201、刪除模塊202和加載模塊203。檢測單元10同圖1所示的檢測單元10功能相同,這里不做贅述。
[0042]在該實施例中,應用程序的結構域的刪除權限為第一權限,應用程序的數據域的刪除權限為第二權限,獲取第一權限的所使用的開銷小于獲取第二權限的所使用的開銷,第一權限可以是普通權限,第二權限可以是最高權限。結構域的刪除權限和數據域的刪除權限可以是預先設置的權限,如,預先將應用程序的結構域的刪除權限設置為普通權限,由于數據域中包含有程序的初始化數據,一般情況下,初始化數據均為敏感數據,因此可以預先將應用程序的數據域的刪除權限設置為最高權限。獲取第一權限的所使用的開銷小于獲取第二權限的所使用的開銷,即刪除結構域的權限高于刪除數據域的權限。[0043]第一獲取模塊201用于獲取應用程序的第一權限。
[0044]在檢測到應用程序對應的升級程序之后,第一獲取模塊201獲取應用程序的第一權限,例如,獲取應用程序的普通權限。由于獲取第一權限的所使用的開銷小于獲取第二權限的所使用的開銷,在獲取應用程序的第一權限之后,可以通過獲取到的權限對應用程序的結構域進行升級,而不會影響數據域。
[0045]刪除模塊202用于通過第一權限刪除應用程序的結構域。
[0046]在獲取到應用程序的第一權限之后,由于應用程序的結構域的刪除權限為第一權限,因此可以基于應用程序的第一權限刪除應用程序的結構域,以便于加載升級程序以對應用程序進行升級。
[0047]加載模塊203用于加載升級程序以升級應用程序。
[0048]在刪除應用程序的結構域之后,加載升級程序,從而完成對升級程序的安裝,用于升級對應的應用程序。其中,升級程序包括結構域,升級程序的結構域用于升級應用程序的結構域。通過升級程序的結構域完成對應用程序的結構域的升級。
[0049]具體地,如圖4所示,當檢測到圖2所示的程序Appll的升級程序Appllnew時,獲取應用程序的普通權限,將Appllstructure進行刪除,由于Appllstructure為結構域,其權限為普通權限,因此可以直接獲取普通權限進行應用刪除,并安裝升級后的結構域Appllnew structure0整過升級過程并沒有涉及數據域,因此無需對數據域進行處理,即完成了應用升級操作??梢钥吹皆趹蒙夁^程中,完成的只是舊的應用刪除和新應用的安裝,不僅大大簡化應用的升級過程,而且對于卡片資源消耗降到最低。
[0050]根據本發(fā)明實施例,通過獲取應用程序的第一權限,基于該第一權限刪除應用程序的結構域,并加載升級程序,從而完成應用程序的升級,由于在升級應用程序的過程中,只需要獲取應用程序的第一權限,無需獲取應用程序的第二權限,從而降低了在應用程序進行升級時的開銷。
[0051]圖5是根據本發(fā)明第三實施例的應用程序的升級裝置的結構示意圖。該實施例的應用程序的升級裝置可以作為上述實施例的應用程序的升級裝置的一種優(yōu)選實施方式。如圖5所示,該應用程序的升級裝置包括:檢測單元10、升級單元20、分離單元30和存儲單元40。檢測單元10和升級單元20與圖1所示的檢測單元10和升級單元20功能相同,這里不做贅述。
[0052]分離單元30用于在檢測應用程序的升級程序之前,將應用程序的結構域與應用程序的數據域分離。
[0053]其中,應用程序的數據域包括應用初始化數據,應用程序的結構域中保存著應用程序的邏輯關系,可以對數據域中數據進行調用,并進行相應的邏輯運算。將應用程序的結構域與應用程序的數據域分離,以便于對應用程序的結構域進行升級。
[0054]存儲單元40用于存儲應用程序的數據域中的應用初始化數據。
[0055]將應用程序的結構域和數據域進行分離之后,可以對數據域中的應用初始化數據進行存儲,當應用程序為Smart Card中的應用程序時,可以在Smart Card中專門開辟可擦式內存(E2R0M)對應用程序的應用初始化數據進行存儲。
[0056]具體地,如圖6所示,虛線左邊所示的Appldata class為應用程序Appl的數據類,虛線右邊所示的Applstructure class為應用程序Appl的結構域的類,其中,結構域從數據域中獲取數據Get Datal,經過Caculate運算之后,得到數據Data2,存儲該數據StoreData2,返回數據Data2到數據域進行存儲。
[0057]優(yōu)選地,分離單元30還用于將多個應用程序中的每一個應用程序的結構域與數據域分離。由于應用程序可以為多個時,分離單元30對每一個應用程序的結構域和數據域進行分離。其中存儲單元40包括:第二獲取模塊、拆分模塊和存儲模塊。
[0058]第二獲取模塊用于獲取預先建立的數據空間。
[0059]數據空間可以是應用程序所處的系統(tǒng)中的內存空間,獲取該數據空間,用于存儲應用程序的數據。
[0060]拆分模塊用于將數據空間劃分為多個數據類,多個數據類中的一個數據類用于存儲多個應用程序中一個應用程序的應用初始化數據。
[0061]在獲取預先建立的數據空間之后,將數據空間劃分為多個數據類,如圖7所示,數據大類Class A開辟的數據空間Data Space,其中,數據類Class Al> Class A2、Class A3和Class A4等等均繼承于數據大類Class A,并創(chuàng)建相應的空間結構,用于初始化數據的存儲。
[0062]存儲模塊用于將多個應用程序的應用初始化數據分別存儲在多個數據類中。
[0063]如圖7所示,數據類Class AU Class A2、Class A3和Class A4中每一個數據類存儲相應的一個應用程序的數據。
[0064]優(yōu)選地,應用程序為Java應用程序,Java應用程序應用于智能卡中,第二獲取模塊還用于獲取智能卡中預先開辟的可擦寫只讀內存,其中,存儲單元40還包括創(chuàng)建模塊,該創(chuàng)建模塊用于在將多個應用程序的應用初始化數據分別存儲在多個數據類中之后,建立應用程序與數據類的對應關系。建立數據類與應用程序之間的對應關系,使得數據與應用程序之間一一對應,從而使得應用程序獲取的數據都來源于其對應的數據類中。
[0065]本發(fā)明實施例還提供了一種應用程序的升級方法。該方法運行在計算機設備上。需要說明的是,本發(fā)明實施例的應用程序的升級方法可以通過本發(fā)明實施例所提供的應用程序的升級裝置來執(zhí)行,本發(fā)明實施例的應用程序的升級裝置也可以用于執(zhí)行本發(fā)明實施例所提供的應用程序的升級方法。
[0066]圖8是根據本發(fā)明第一實施例的應用程序的升級方法的流程圖。如圖8所示,該應用程序的升級方法包括以下步驟:
[0067]步驟S101,檢測應用程序的升級程序。
[0068]應用程序可以是任意的應用程序,可以是Java Card內部系統(tǒng)的驅動程序,也可以是安裝在Java Card上的應用程序。應用程序可以是一個應用程序也可以是多個應用程序,例如,在Java Card上安裝有多個驅動程序,檢測檢測單元用于檢測應用程序的升級程序可以是檢測Java Card上每一個驅動程序是否需要升級。升級程序用于升級應用程序,升級程序用于對應用程序進行升級,檢測單元用于檢測應用程序的升級程序可以是檢測應用程序是否有對應的升級程序,當監(jiān)測到應用程序對應的升級程序時,用該升級程序升級應用程序。
[0069]應用程序可以包括結構域和數據域,其中結構域用于表示數據域內部數據之間的邏輯關系。例如,結構域中包含有數據之間的運算邏輯,當需要對數據進行處理時,可以從數據域中調用相應的數據執(zhí)行邏輯運算,在運算完成之后,將運算結果返回給數據域進行存儲。應用程序的結構域和數據域可以是在將應用程序預先進行分離之后,得到的結構域和數據域。例如,當應用程序為Java Card上的應用程序時,如圖2所示,該Java Card的系統(tǒng)中包含有6個Applet(采用Java創(chuàng)建的基于HTML的程序)分別為Appl、App2、App3、App4、Appll 和 App22,其中 Appll 和 App22 分別繼承于程序 App I 和 App2。圖 2 中 App I structure、App2structure、App3structure、App4structure、Appllstructure 和 App22structure 分別表示程序Appl、App2、App3> App4、Appll和App22對應的結構域。數據域的數據可以在Java Card中開辟相應的存儲空間進行存儲,以便于應用程序在使用過程中,調用應用程序對應的數據進行工作。
[0070]步驟S102,當檢測到升級程序時,通過升級程序升級應用程序的結構域以升級應用程序。
[0071]在檢測到應用程序對應的升級程序時,通過升級程序升級應用程序的結構域,從而完成對應用程序的升級。數據域中可以存儲有應用程序進行初始化的數據,在對應用程序進行升級時,應用程序的初始化數據不需要進行升級,因此可以通過檢測得到的升級程序對應用程序的結構域進行升級。例如,當檢測到圖2所示的程序Appll有其對應的升級程序Appllnew時,可以通過Appllnew升級Appll的結構域進行升級。
[0072]根據本發(fā)明實施例,在檢測到應用程序對應的升級程序時,通過升級程序升級應用程序的結構域以對應用程序進行升級,由于在升級過程中,僅對應用程序的結構域進行升級,對應用程序的數據域不進行升級,因此在升級完應用程序的結構域之后,可以通過升級后的結構域直接調用原有的數據域進行數據處理,無需重新加載應用程序的初始化數據,從而解決了現有技術中應用程序在升級過程中耗時過長的問題,達到了減少應用程序升級時間的效果。
[0073]圖9是根據本發(fā)明第二實施例的應用程序的升級方法的流程圖。該實施例的應用程序的升級方法可以作為上述實施例的應用程序的升級方法的一種優(yōu)選實施方式。
[0074]在該實施例中,應用程序的結構域的刪除權限為第一權限,應用程序的數據域的刪除權限為第二權限,獲取第一權限的所使用的開銷小于獲取第二權限的所使用的開銷,第一權限可以是普通權限,第二權限可以是最高權限。結構域的刪除權限和數據域的刪除權限可以是預先設置的權限,如,預先將應用程序的結構域的刪除權限設置為普通權限,由于數據域中包含有程序的初始化數據,一般情況下,初始化數據均為敏感數據,因此可以預先將應用程序的數據域的刪除權限設置為最高權限。獲取第一權限的所使用的開銷小于獲取第二權限的所使用的開銷,即刪除結構域的權限高于刪除數據域的權限。
[0075]如圖9所示,該應用程序的升級方法包括以下步驟:
[0076]步驟S201,檢測應用程序的升級程序。
[0077]應用程序可以是任意的應用程序,可以是Java Card內部系統(tǒng)的驅動程序,也可以是安裝在Java Card上的應用程序。應用程序可以是一個應用程序也可以是多個應用程序,例如,在Java Card上安裝有多個驅動程序,檢測檢測單元用于檢測應用程序的升級程序可以是檢測Java Card上每一個驅動程序是否需要升級。升級程序用于升級應用程序,升級程序用于對應用程序進行升級,檢測單元用于檢測應用程序的升級程序可以是檢測應用程序是否有對應的升級程序,當監(jiān)測到應用程序對應的升級程序時,用該升級程序升級應用程序。[0078]應用程序可以包括結構域和數據域,其中結構域用于表示數據域內部數據之間的邏輯關系。例如,結構域中包含有數據之間的運算邏輯,當需要對數據進行處理時,可以從數據域中調用相應的數據執(zhí)行邏輯運算,在運算完成之后,將運算結果返回給數據域進行存儲。應用程序的結構域和數據域可以是在將應用程序預先進行分離之后,得到的結構域和數據域。例如,當應用程序為Java Card上的應用程序時,如圖2所示,該Java Card的系統(tǒng)中包含有6個Applet(采用Java創(chuàng)建的基于HTML的程序)分別為Appl、App2、App3、App4、Appll 和 App22,其中 Appll 和 App22 分別繼承于程序 Appl 和 App2。圖 2 中 App I structure、App2structure、App3structure、App4structure、Appllstructure 和 App22structure 分別表示程序Appl、App2、App3、App4、Appll和App22對應的結構域。數據域的數據可以在Java Card中開辟相應的存儲空間進行存儲,以便于應用程序在使用過程中,調用應用程序對應的數據進行工作。
[0079]步驟S202,獲取應用程序的第一權限。
[0080]在檢測到應用程序對應的升級程序之后,第一獲取模塊獲取應用程序的第一權限,例如,獲取應用程序的普通權限。由于獲取第一權限的所使用的開銷小于獲取第二權限的所使用的開銷,在獲取應用程序的第一權限之后,可以通過獲取到的權限對應用程序的結構域進行升級,而不會影響數據域。
[0081]步驟S203,通過第一權限刪除應用程序的結構域。
[0082]在獲取到應用程序的第一權限之后,由于應用程序的結構域的刪除權限為第一權限,因此可以基于應用程序的第一權限刪除應用程序的結構域,以便于加載升級程序以對應用程序進行升級。
[0083]步驟S204,加載升級程序以升級應用程序,升級程序包括結構域,升級程序的結構域用于升級應用程序的結構域。
[0084]在刪除應用程序的結構域之后,加載升級程序,從而完成對升級程序的安裝,用于升級對應的應用程序。其中,升級程序包括結構域,升級程序的結構域用于升級應用程序的結構域。通過升級程序的結構域完成對應用程序的結構域的升級。
[0085]具體地,如圖4所示,當檢測到圖2所示的程序Appll的升級程序Appllnew時,獲取應用程序的普通權限,將Appllstructure進行刪除,由于Appllstructure為結構域,其權限為普通權限,因此可以直接獲取普通權限進行應用刪除,并安裝升級后的結構域Appllnew structure0整過升級過程并沒有涉及數據域,因此無需對數據域進行處理,即完成了應用升級操作??梢钥吹皆趹蒙夁^程中,完成的只是舊的應用刪除和新應用的安裝,不僅大大簡化應用的升級過程,而且對于卡片資源消耗降到最低。
[0086]根據本發(fā)明實施例,通過獲取應用程序的第一權限,基于該第一權限刪除應用程序的結構域,并加載升級程序,從而完成應用程序的升級,由于在升級應用程序的過程中,只需要獲取應用程序的第一權限,無需獲取應用程序的第二權限,從而降低了在應用程序進行升級時的開銷。
[0087]圖10是根據本發(fā)明第三實施例的應用程序的升級方法的流程圖。該實施例的應用程序的升級方法可以作為上述實施例的應用程序的升級方法的一種優(yōu)選實施方式。如圖10所示,該應用程序的升級方法包括以下步驟:
[0088]步驟S301,將應用程序的結構域與應用程序的數據域分離。[0089]其中,應用程序的數據域包括應用初始化數據,應用程序的結構域中保存著應用程序的邏輯關系,可以對數據域中數據進行調用,并進行相應的邏輯運算。將應用程序的結構域與應用程序的數據域分離,以便于對應用程序的結構域進行升級。
[0090]步驟S302,存儲應用程序的數據域中的應用初始化數據。
[0091]將應用程序的結構域和數據域進行分離之后,可以對數據域中的應用初始化數據進行存儲,當應用程序為Smart Card中的應用程序時,可以在Smart Card中專門開辟可擦式內存(E2R0M)對應用程序的應用初始化數據進行存儲。
[0092]具體地,如圖6所示,虛線左邊所示的Appldata class為應用程序Appl的數據類,虛線右邊所示的Applstructure class為應用程序Appl的結構域的類,其中,結構域從數據域中獲取數據Get Datal,經過Caculate運算之后,得到數據Data2,存儲該數據StoreData2,返回數據Data2到數據域進行存儲。
[0093]步驟S303,檢測應用程序的升級程序。
[0094]應用程序可以是任意的應用程序,可以是Java Card內部系統(tǒng)的驅動程序,也可以是安裝在Java Card上的應用程序。應用程序可以是一個應用程序也可以是多個應用程序,例如,在Java Card上安裝有多個驅動程序,檢測檢測單元用于檢測應用程序的升級程序可以是檢測Java Card上每一個驅動程序是否需要升級。升級程序用于升級應用程序,升級程序用于對應用程序進行升級,檢測單元用于檢測應用程序的升級程序可以是檢測應用程序是否有對應的升級程序,當監(jiān)測到應用程序對應的升級程序時,用該升級程序升級應用程序。
[0095]應用程序可以包括結構域和數據域,其中結構域用于表示數據域內部數據之間的邏輯關系。例如,結構域中包含有數據之間的運算邏輯,當需要對數據進行處理時,可以從數據域中調用相應的數據執(zhí)行邏輯運算,在運算完成之后,將運算結果返回給數據域進行存儲。應用程序的結構域和數據域可以是在將應用程序預先進行分離之后,得到的結構域和數據域。例如,當應用程序為Java Card上的應用程序時,如圖2所示,該Java Card的系統(tǒng)中包含有6個Applet(采用Java創(chuàng)建的基于HTML的程序)分別為Appl、App2、App3、App4、Appll 和 App22,其中 Appll 和 App22 分別繼承于程序 App I 和 App2。圖 2 中 App I structure、App2structure、App3structure、App4structure、Appllstructure 和 App22structure 分別表示程序Appl、App2、App3> App4、Appll和App22對應的結構域。數據域的數據可以在Java Card中開辟相應的存儲空間進行存儲,以便于應用程序在使用過程中,調用應用程序對應的數據進行工作。
[0096]步驟S304,當檢測到升級程序時,通過升級程序升級應用程序的結構域以升級應用程序。
[0097]在檢測到應用程序對應的升級程序時,通過升級程序升級應用程序的結構域,從而完成對應用程序的升級。數據域中可以存儲有應用程序進行初始化的數據,在對應用程序進行升級時,應用程序的初始化數據不需要進行升級,因此可以通過檢測得到的升級程序對應用程序的結構域進行升級。例如,當檢測到圖2所示的程序Appll有其對應的升級程序Appllnew時,可以通過Appllnew升級Appll的結構域進行升級。
[0098]優(yōu)選地,步驟S301包括:步驟S3011,將多個應用程序中的每一個應用程序的結構域與數據域分離,由于應用程序可以為多個時,分離單元對每一個應用程序的結構域和數據域進行分離。其中,步驟S302包括以下步驟:
[0099]步驟S3021,獲取預先建立的數據空間。
[0100]數據空間可以是應用程序所處的系統(tǒng)中的內存空間,獲取該數據空間,用于存儲應用程序的數據。
[0101]步驟S3022,將數據空間劃分為多個數據類,多個數據類中的一個數據類用于存儲多個應用程序中一個應用程序的應用初始化數據。
[0102]在獲取預先建立的數據空間之后,將數據空間劃分為多個數據類,如圖7所示,數據大類Class A開辟的數據空間Data Space,其中,數據類Class Al> Class A2、Class A3和Class A4等等均繼承于數據大類Class A,并創(chuàng)建相應的空間結構,用于初始化數據的存儲。
[0103]步驟S3023,將多個應用程序的應用初始化數據分別存儲在多個數據類中。
[0104]如圖7所示,數據類Class AU Class A2、Class A3和Class A4中每一個數據類存儲相應的一個應用程序的數據。
[0105]優(yōu)選地,應用程序為Java應用程序,Java應用程序應用于智能卡中,步驟S3021可以是獲取智能卡中預先開辟的可擦寫只讀內存,其中,在步驟S3023之后,升級方法還包括:步驟S3024,建立應用程序與數據類的對應關系。建立數據類與應用程序之間的對應關系,使得數據與應用程序之間一一對應,從而使得應用程序獲取的數據都來源于其對應的數據類中。
[0106]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0107]顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。
[0108]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種應用程序的升級方法,其特征在于,包括: 檢測應用程序的升級程序,所述升級程序用于升級所述應用程序,所述應用程序包括結構域和數據域,其中所述結構域用于表示所述數據域內部數據之間的邏輯關系;以及 當檢測到所述升級程序時,通過所述升級程序升級所述應用程序的結構域以升級所述應用程序。
2.根據權利要求1所述的應用程序的升級方法,其特征在于,所述應用程序的結構域的刪除權限為第一權限,所述應用程序的數據域的刪除權限為第二權限,獲取所述第一權限的所使用的開銷小于獲取所述第二權限的所使用的開銷,其中,通過所述升級程序升級所述應用程序的結構域以升級所述應用程序包括: 獲取所述應用程序的第一權限; 通過所述第一權限刪除所述應用程序的結構域;以及 加載所述升級程序以升級所述應用程序,所述升級程序包括結構域,所述升級程序的結構域用于升級所述應用程序的結構域。
3.根據權利要求1所述的應用程序的升級方法,其特征在于,在檢測應用程序的升級程序之前,所述應用程序的升級方法還包括: 將所述應用程序的結構域與所述應用程序的數據域分離,所述應用程序的數據域包括應用初始化數據;以及 存儲所述應用程序的數據域中的應用初始化數據。
4.根據權利要求3所述的應用程序的升級方法,其特征在于,將所述應用程序的結構域與所述應用程序的數據域分離包括:將多個所述應用程序中的每一個所述應用程序的結構域與數據域分離,其中,存儲所述應用程序的數據域中的應用初始化數據包括: 獲取預先建立的數據空間; 將所述數據空間劃分為多個數據類,所述多個數據類中的一個數據類用于存儲多個所述應用程序中一個所述應用程序的應用初始化數據;以及 將多個所述應用程序的應用初始化數據分別存儲在多個所述數據類中。
5.根據權利要求4所述的應用程序的升級方法,其特征在于,所述應用程序為Java應用程序,所述Java應用程序應用于智能卡中,獲取預先建立的數據空間包括:獲取智能卡中預先開辟的可擦寫只讀內存,其中,在將多個所述應用程序的應用初始化數據分別存儲在多個所述數據類中之后,所述升級方法還包括: 建立所述應用程序與所述數據類的對應關系。
6.一種應用程序的升級裝置,其特征在于,包括: 檢測單元,用于檢測應用程序的升級程序,所述升級程序用于升級所述應用程序,所述應用程序包括結構域和數據域,其中所述結構域用于表示所述數據域內部數據之間的邏輯關系;以及 升級單元,用于當檢測到所述升級程序時,通過所述升級程序升級所述應用程序的結構域以升級所述應用程序。
7.根據權利要求6所述的應用程序的升級裝置,其特征在于,所述應用程序的結構域的刪除權限為第一權限,所述應用程序的數據域的刪除權限為第二權限,獲取所述第一權限的所使用的開銷小于獲取所述第二權限的所使用的開銷,其中,所述升級單元包括:第一獲取模塊,用于獲取所述應用程序的第一權限; 刪除模塊,用于通過所述第一權限刪除所述應用程序的結構域;以及加載模塊,用于加載所述升級程序以升級所述應用程序,所述升級程序包括結構域,所述升級程序的結構域用于升級所述應用程序的結構域。
8.根據權利要求6所述的應用程序的升級裝置,其特征在于,所述應用程序的升級裝置還包括: 分離單元,用于在檢測應用程序的升級程序之前,將所述應用程序的結構域與所述應用程序的數據域分離,所述應用程序的數據域包括應用初始化數據;以及存儲單元,用于存儲所述應用程序的數據域中的應用初始化數據。
9.根據權利要求8所述的應用程序的升級裝置,其特征在于,所述分離單元還用于將多個所述應用程序中的每一個所述應用程序的結構域與數據域分離,其中,所述存儲單元包括: 第二獲取模塊,用于獲取預先建立的數據空間; 拆分模塊,用于將所述數據空間劃分為多個數據類,所述多個數據類中的一個數據類用于存儲多個所述應用程序中一個所述應用程序的應用初始化數據;以及 存儲模塊,用于 將多個所述應用程序的應用初始化數據分別存儲在多個所述數據類中。
10.根據權利要求9所述的應用程序的升級裝置,其特征在于,所述應用程序為Java應用程序,所述Java應用程序應用于智能卡中,所述第二獲取模塊還用于獲取智能卡中預先開辟的可擦寫只讀內存,其中,所述存儲單元還包括: 創(chuàng)建模塊,用于在將多個所述應用程序的應用初始化數據分別存儲在多個所述數據類中之后,建立所述應用程序與所述數據類的對應關系。
【文檔編號】G06F9/445GK103761126SQ201410006861
【公開日】2014年4月30日 申請日期:2014年1月7日 優(yōu)先權日:2014年1月7日
【發(fā)明者】連英立 申請人:中國神華能源股份有限公司, 神華地質勘查有限責任公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
南通市| 屏东市| 简阳市| 泸溪县| 富平县| 鸡东县| 理塘县| 定边县| 新巴尔虎右旗| 随州市| 大英县| 汝阳县| 嫩江县| 葵青区| 彩票| 措勤县| 苍南县| 恭城| 枣强县| 青川县| 宁晋县| 白山市| 涡阳县| 石阡县| 桃园县| 隆子县| 巴马| 东兴市| 博爱县| 武清区| 宜州市| 沽源县| 洛阳市| 越西县| 扬中市| 濮阳市| 尚义县| 罗甸县| 乡城县| 瓦房店市| 夹江县|