若是,則申請相應(yīng)的暫態(tài)資源,轉(zhuǎn)入S3 ;若否,則提示空間不足的異常信息,結(jié)束; 53:在RTR資源的使用過程中,將總的暫態(tài)資源空間內(nèi)的RTR空間提供給申請它的應(yīng)用包一直占用,直至卡片復(fù)位時,才進行清零處理;在DTR資源的使用過程中,根據(jù)申請DTR的應(yīng)用包的激活狀態(tài)或去激活狀態(tài),對總的暫態(tài)資源空間內(nèi)的DTR空間大小進行動態(tài)分配和調(diào)整。2.如權(quán)利要求1所述的動態(tài)管理JavaCard暫態(tài)資源的方法,其特征在于:S2之前還包括以下步驟:記錄各應(yīng)用包所需申請的DTR空間大小,并將其中所需申請空間最大的應(yīng)用包的DTR空間大小記錄為sizeDm ; S2中所述判斷可用暫態(tài)資源空間大小是否滿足本次申請需求,具體包括以下步驟: 將總的暫態(tài)資源空間大小TRANSIENT_SIZE定義為M,已申請的RTR空間大小sizeR定義為N,當前被激活的所有應(yīng)用包的DTR空間大小sizeDruning定義為P,本次申請的空間大小定義為Q ; 當所申請的暫態(tài)資源類型為RTR時,判斷過程如下: 先判斷此次申請之前是否有申請DTR的應(yīng)用包被激活; 若沒有申請DTR的應(yīng)用包被激活,則判斷Μ-N是否>Q,若是,則判斷為可用暫態(tài)資源空間大小能滿足本次申請需求,若否,則判斷為可用暫態(tài)資源空間大小不能滿足本次申請需求; 若有申請DTR的應(yīng)用包被激活,則判斷sizeDm是否> P,若是,則進一步判斷M-N-sizeDm是否>Q,若是,則判斷為可用暫態(tài)資源空間大小能滿足本次申請需求,若否,則判斷為可用暫態(tài)資源空間大小不能滿足本次申請需求;否則,判斷M-N-P是否> Q,若是,則判斷為可用暫態(tài)資源空間大小能滿足本次申請需求,若否,則判斷為可用暫態(tài)資源空間大小不能滿足本次申請需求; 當所申請的暫態(tài)資源類型為DTR時,判斷過程如下: 先判斷此次申請之前是否有申請DTR的應(yīng)用包被激活; 若沒有申請DTR的應(yīng)用包被激活,則判斷Μ-N是否>Q,若是,則判斷為可用暫態(tài)資源空間大小能滿足本次申請需求,若否,則判斷為可用暫態(tài)資源空間大小不能滿足本次申請需求; 若有申請DTR的應(yīng)用包被激活,則判斷M-N-P是否>Q,若是,則判斷為可用暫態(tài)資源空間大小能滿足本次申請需求,若否,則判斷為可用暫態(tài)資源空間大小不能滿足本次申請需求。3.如權(quán)利要求1所述的動態(tài)管理JavaCard暫態(tài)資源的方法,其特征在于:S2中所述申請相應(yīng)的暫態(tài)資源,具體包括以下步驟:當申請RTR資源時,一經(jīng)申請就從總的暫態(tài)資源空間的尾部開始,按照應(yīng)用包所申請的大小,分配所需RTR空間給應(yīng)用包的應(yīng)用使用;當申請DTR資源時,只有在應(yīng)用包激活時才從總的暫態(tài)資源空間的頭部開始分配相應(yīng)DTR資源供應(yīng)用包所在邏輯通道使用。4.如權(quán)利要求1所述的動態(tài)管理JavaCard暫態(tài)資源的方法,其特征在于:S3中,當申請DTR的應(yīng)用包處于激活狀態(tài)時,所述對總的暫態(tài)資源空間內(nèi)的DTR空間大小進行動態(tài)分配和調(diào)整,具體包括以下步驟: 5401:當申請DTR的應(yīng)用包被激活時,判斷該應(yīng)用包是否為第一個被激活的應(yīng)用包,若是,轉(zhuǎn)入S402,若否,轉(zhuǎn)入S403 ; 5402:從總的暫態(tài)資源空間的頭部開始,按照該應(yīng)用包所申請的大小,分配所需DTR空間給該應(yīng)用包所在的邏輯通道使用,并對該應(yīng)用包中的應(yīng)用進行初始化操作后,退出本次激活操作; 5403:判斷可用暫態(tài)資源空間大小是否滿足本次激活需求,若是,轉(zhuǎn)入S404,若否,轉(zhuǎn)入 S405 ; 5404:從已分配的DTR空間的尾部開始,按照該應(yīng)用包所需的大小,分配DTR空間給該應(yīng)用包所在的邏輯通道使用,并對該應(yīng)用包中的應(yīng)用進行初始化操作后,退出本次激活操作; 5405:提示空間不足的異常信息,退出本次激活操作。5.如權(quán)利要求1所述的動態(tài)管理JavaCard暫態(tài)資源的方法,其特征在于:S3中,當申請DTR的應(yīng)用包處于去激活狀態(tài)時,所述對總的暫態(tài)資源空間內(nèi)的DTR空間大小進行動態(tài)分配和調(diào)整,具體包括以下步驟: 當申請DTR的應(yīng)用包去激活時,分為以下兩種情況: A、若申請DTR的應(yīng)用包是由于選擇其他應(yīng)用包的應(yīng)用而被去激活,則先判斷本應(yīng)用包是否有被其他邏輯通道激活; 如果有被其他邏輯通道激活,說明本應(yīng)用包當前使用的DTR空間還不能被釋放,則先保留本應(yīng)用包所使用的DTR空間,并判斷本次所選擇的應(yīng)用包是否已經(jīng)在其他邏輯通道上激活,若是,則將本邏輯通道占用的暫態(tài)空間與所選擇的應(yīng)用包在其他通道上激活的暫態(tài)空間保持一致;若否,則從已分配的DTR空間的尾部開始,按照所選擇的應(yīng)用包申請的大小,分配DTR空間給該應(yīng)用包所在的邏輯通道使用; 如果沒有被其他邏輯通道激活,說明本應(yīng)用包當前使用的DTR資源可以被釋放,則判斷本次所選擇的應(yīng)用包是否在其他邏輯通道上激活,若是,則釋放本應(yīng)用包當前使用的DTR空間后,退出本次去激活操作,若否,則將本應(yīng)用包當前使用的DTR空間提供給所選擇的應(yīng)用包使用,并將空間大小調(diào)整為所選擇的應(yīng)用包申請的大小; B、若申請DTR的應(yīng)用包是由于關(guān)閉其所在邏輯通道而去激活,則判斷本應(yīng)用包是否在其他邏輯通道上激活,若是,則不進行任何處理,直接退出本次去激活操作;否則,釋放本應(yīng)用包當前使用的DTR空間后,退出本次去激活操作。6.如權(quán)利要求1所述的動態(tài)管理JavaCard暫態(tài)資源的方法,其特征在于:S1中所述總的暫態(tài)資源空間的大小是根據(jù)JavaCard平臺所能提供的RAM資源的大小來指定的。7.一種基于權(quán)利要求1至6中任一項所述方法的動態(tài)管理JavaCard暫態(tài)資源的系統(tǒng),其特征在于:包括初始分配模塊、資源申請管理模塊和資源使用管理模塊; 所述初始分配模塊用于:為暫態(tài)資源分配一個總的暫態(tài)資源空間; 所述資源申請管理模塊用于:當存儲于邏輯通道內(nèi)的應(yīng)用包申請暫態(tài)資源時,判斷可用暫態(tài)資源空間大小是否滿足本次申請需求,若是,則申請相應(yīng)的暫態(tài)資源;若否,則提示空間不足的異常信息; 所述資源使用管理模塊用于:在RTR資源的使用過程中,將總的暫態(tài)資源空間內(nèi)的RTR空間提供給申請它的應(yīng)用包一直占用,直至卡片復(fù)位時,才進行清零處理;在DTR資源的使用過程中,根據(jù)申請DTR的應(yīng)用包的激活狀態(tài)或去激活狀態(tài),對總的暫態(tài)資源空間內(nèi)的DTR空間大小進行動態(tài)分配和調(diào)整。
【專利摘要】本發(fā)明公開了一種動態(tài)管理JavaCard暫態(tài)資源的方法及系統(tǒng),涉及JavaCard暫態(tài)資源的管理技術(shù)領(lǐng)域。該方法包括以下步驟:先為暫態(tài)資源分配一個總的暫態(tài)資源空間;當存儲于邏輯通道內(nèi)的應(yīng)用包申請暫態(tài)資源時,判斷可用暫態(tài)資源空間大小是否滿足本次申請需求,若是,則申請相應(yīng)的暫態(tài)資源,若否,則提示空間不足的異常信息;在RTR資源的使用過程中,將總的暫態(tài)資源空間內(nèi)的RTR空間提供給申請它的應(yīng)用包一直占用,直至卡片復(fù)位時,才進行清零處理;在DTR資源的使用過程中,根據(jù)申請DTR的應(yīng)用包的激活狀態(tài)或去激活狀態(tài),對總的暫態(tài)資源空間內(nèi)的DTR空間大小進行動態(tài)分配和調(diào)整。本發(fā)明不但有效提高了資源利用率,而且管理靈活,適應(yīng)性高。
【IPC分類】G06F9/46, G06F9/50, G06F9/455
【公開號】CN105426237
【申請?zhí)枴緾N201510777120
【發(fā)明人】丁峰, 熊傳光
【申請人】武漢天喻信息產(chǎn)業(yè)股份有限公司
【公開日】2016年3月23日
【申請日】2015年11月13日