專利名稱:生成usim卡中菜單的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及生成USIM卡中菜單的方法及系統(tǒng)。
背景技術(shù):
目前,以Java卡作為3G USIM卡,要求在Java卡基礎(chǔ)上兼容傳統(tǒng)的已經(jīng)廣泛商用 的OTA技術(shù)。由于Java卡的國際規(guī)范和OTA技術(shù)規(guī)范在一級菜單的排序上分別有各自的 要求,同時所有Java應(yīng)用的相對菜單順序和OTA應(yīng)用的相對菜單順序分別由不同的服務(wù)器 單獨管理,再加上實際商用時又要求根據(jù)業(yè)務(wù)的等級進行菜單的靈活排序,因此必須就在 一張卡上實現(xiàn)對Java應(yīng)用菜單和OTA應(yīng)用菜單的混合排序?,F(xiàn)有技術(shù)中,OTA應(yīng)用的規(guī)范,例如《中國聯(lián)通OTA卡技術(shù)規(guī)范第二部分支持OTA 下載的STK卡技術(shù)規(guī)范》,要求支持OTA的卡在組織SetupMenu (菜單建立)命令時要按照 OTA大類的索引從小到大排列,OTA大類的索引在卡內(nèi)不一定連續(xù),也不一定從0x01開始。現(xiàn)有技術(shù)中,Java應(yīng)用的規(guī)范,例如《ETSI TS 102 226 Remote APDU structure for UICC based applications)) (ETSI TS 102 226 基于應(yīng)用的 UICC 遠程 APDU 構(gòu)架)和 《ETSI TS 102 241 Smart Cards ;UICC Application Programming Interface(UICC API) for Java CardTM)) (ETSI TS102 241智能卡Java卡的UICC應(yīng)用編程接口)的規(guī)范要求, Java UICC toolkit applet應(yīng)用為有菜單的Toolkitjava電信應(yīng)用,在安裝的時候必須指 定應(yīng)用安裝參數(shù),安裝電信應(yīng)用菜單時,Java應(yīng)用服務(wù)器向USIM卡下發(fā)安裝指令,安裝指 令中指定的應(yīng)用安裝參數(shù)包括菜單入口項的位置序號和菜單序號。本發(fā)明中以下菜單應(yīng)用 指有菜單的Toolkitjava電信應(yīng)用。位置序號的范圍是0-255,根據(jù)用戶卡上已有菜單的個數(shù),位置序號從1開始升序 計算,例如假設(shè)用戶卡上已有3個Java應(yīng)用菜單,分別是javal,java2,java3,則對應(yīng)的位 置序號為1,2,3。如果要新安裝一個Java應(yīng)用菜單,則根據(jù)安裝參數(shù)中指定的位置序號值 和用戶卡上已有的菜單個數(shù)進行比較,添加到相應(yīng)的位置。例如要新添加一個Java應(yīng)用菜 單Java4,如果安裝參數(shù)中的位置序號為1,則該菜單入口項排在第一位,其他項順延,安裝 成功后菜單順序為Java4,Javal, Java2, Java3,對應(yīng)的位置序號由用戶卡片自動更新為1, 2,3,4 ;如果安裝參數(shù)中指定的位置序號為大于等于4小于等于255的任一值,則安裝成功 后菜單順序為Javal,Java2, Java3, Java4,對應(yīng)的位置序號由用戶卡片自動更新為1,2,3, 4。如果安裝參數(shù)中的位置序號指定為0,則用戶卡片自動將該菜單入口項添加到所有菜單 入口項的最后一個位置,并自動改變其位置序號與菜單入口項個數(shù)的值相等。Java電信應(yīng)用菜單入口項的菜單序號的取值范圍也為0_255,由安裝參數(shù)指定, 但是要求同用戶卡上已安裝的菜單入口項的菜單序號不相同,否則安裝失敗。其中取值范 圍1-127由安裝參數(shù)指定,用戶卡不會自動更改;如果安裝參數(shù)指定菜單入口項的菜單序 號為0,則用戶卡在128-255之間給該菜單入口項自由分配一個未被使用的菜單序號,安裝 參數(shù)中不可以指定菜單序號為128-255之間的值。菜單入口項的菜單序號和位置序號之間 不存在關(guān)聯(lián)關(guān)系。
由于Java應(yīng)用的安裝指令及參數(shù)要由Java應(yīng)用服務(wù)器來設(shè)置,而該Java應(yīng)用服 務(wù)器不負責管理和維護OTA的菜單順序,因此必須要制定統(tǒng)一的管理規(guī)則,讓Java應(yīng)用管 理平臺能夠按照一定的規(guī)則進行Java應(yīng)用菜單的靈活調(diào)整,同時不破壞原有的OTA應(yīng)用服 務(wù)器對OTA—級菜單的管理,讓所有的用戶卡片表現(xiàn)一致。現(xiàn)有技術(shù)方案的問題在于,現(xiàn)有的Java卡的國際規(guī)范和OTA技術(shù)規(guī)范在一級菜單 的排序上分別有各自的要求,同時所有Java應(yīng)用的相對菜單順序和OTA應(yīng)用的相對菜單順 序分別由不同的服務(wù)器單獨管理,無法在一張USIM卡上對Java應(yīng)用菜單和OTA菜單進行兼容。
發(fā)明內(nèi)容
為解決上述問題,本發(fā)明提供了生成USIM卡中菜單的方法及系統(tǒng),能夠在USIM卡 中完成對Java應(yīng)用菜單和OTA應(yīng)用菜單的相互兼容。本發(fā)明公開了一種生成USIM卡中菜單的方法,USIM卡中包括Java應(yīng)用和OTA應(yīng) 用,所述Java應(yīng)用具有菜單,所述方法包括步驟1,USIM卡依據(jù)OTA大類ID將OTA大類分組,在Java的菜單入口列表中為每 個分組預(yù)留菜單入口項;步驟2,Java應(yīng)用服務(wù)器接收并記錄各個USIM卡中已有Java應(yīng)用的信息以及所 述USIM卡中為OTA大類預(yù)留菜單入口項的信息;根據(jù)所述記錄的信息為Java應(yīng)用計算位 置序號,以使Java應(yīng)用被插入到OTA大類的分組間,并生成除位置序號外的其他安裝參數(shù), 向USIM卡下發(fā)包含安裝參數(shù)的安裝指令;步驟3,OTA應(yīng)用服務(wù)器依據(jù)OTA應(yīng)用規(guī)范向USIM卡發(fā)送命令;步驟4,USIM卡依據(jù)接收到的OTA大類的命令中的OTA大類ID判斷所述命令中 OTA大類所屬分組,在所述分組內(nèi)對所述OTA大類進行對應(yīng)操作,分組中OTA大類排列順序 為大類ID從小到大的順序,并且分組中OTA大類數(shù)量不超過預(yù)留的菜單入口項數(shù)量,對應(yīng) 修改菜單入口列表中的菜單入口項;USIM卡依據(jù)接收到的Java應(yīng)用的安裝指令對Java應(yīng) 用進行排序,根據(jù)安裝指令中的位置序號將Java應(yīng)用插入到相應(yīng)分組間;對菜單入口列表 中狀態(tài)為啟用的菜單入口項按位置序號由小到大的順序組織菜單建立命令,生成菜單。所述步驟1進一步為,步驟21,USIM卡依據(jù)大類ID將OTA大類分組;步驟22,USIM卡在Java的菜單入口列表中為每個分組預(yù)留菜單入口項,所述每個 菜單入口項包括狀態(tài)、位置序號和菜單序號,初始化狀態(tài)為禁用,設(shè)置預(yù)留菜單入口項的位 置序號的范圍。所述步驟2還包括步驟31,Java應(yīng)用服務(wù)器為所管理的每個Java應(yīng)用分配表示Java應(yīng)用菜單在終 端顯示順序的位置優(yōu)先級;所述步驟2中為Java應(yīng)用計算位置序號進一步為,步驟32,根據(jù)所述記錄的信息和所述位置優(yōu)先級為Java應(yīng)用計算位置序號,使得 Java應(yīng)用被插入到OTA大類的分組間,并且Java應(yīng)用的排序同Java應(yīng)用的菜單在終端中 顯示的順序一致。
所述步驟2還包括步驟41,Java應(yīng)用服務(wù)器記錄每張USIM卡可承載的未被鎖定的最大Java應(yīng)用個 數(shù);步驟42,Java應(yīng)用服務(wù)器在準備發(fā)送Java應(yīng)用下載的安裝指令或已有Java應(yīng)用 解鎖的相關(guān)指令時,根據(jù)記錄的信息判斷作為發(fā)送對象的USIM卡中已存在而未被鎖定的 Java應(yīng)用個數(shù)是否已經(jīng)達到所述USIM卡對應(yīng)的最大Java應(yīng)用個數(shù),如果是,則不進行發(fā) 送,否則,發(fā)送所述安裝指令或所述相關(guān)指令;所述步驟4還包括,步驟43,USIM卡接收到所述解鎖的相關(guān)指令后,按所述指令進行對應(yīng)解鎖操作。所述步驟2中生成除位置序號外的其他安裝參數(shù)進一步為,步驟51,依據(jù)Java應(yīng)用規(guī)范生成菜單序號為00,以使USIM卡自行配置對應(yīng)的菜 單序號;步驟52,依據(jù)應(yīng)用提供商提供的配置,生成除位置序號和菜單序號的其他安裝參 數(shù)。在所述OTA大類的命令的操作為增加大類時,所述步驟4中在所述分組內(nèi)對所述 OTA大類進行對應(yīng)操作進一步為, 步驟61,依據(jù)OTA大類ID,將被增加的OTA大類和所屬分組中的OTA大類排序,確 定所述被增加的OTA大類在分組中的位置;步驟62,將所述被增加的OTA大類插入所述位置,并依據(jù)命令修改對應(yīng)菜單入口 項的狀態(tài)。所述步驟61前還包括步驟71,判斷增加所述OTA大類后,所述分組中的OTA大類數(shù)量是否超出為分組預(yù) 留的菜單入口項數(shù)量,如果是,則禁止所述增加操作,否則,執(zhí)行步驟61。在所述OTA大類的命令的操作為刪除大類時,所述步驟4中在所述分組內(nèi)對所述 OTA大類進行對應(yīng)操作進一步為,步驟81,將所述OTA大類對應(yīng)菜單入口項的狀態(tài)修改為禁用。所述步驟4中組織菜單建立命令時,判斷所有啟用的菜單入口項相加,指令數(shù)據(jù) 是否超過規(guī)定長度,如果是,則按位置序號從大到小的順序?qū)⒊龅牟藛稳肟陧棌牟藛谓?立命令中除去。在菜單入口項有變化時,所述步驟4還包括,重新根據(jù)菜單入口項當前狀態(tài)構(gòu)建 菜單建立命令,并確保指令數(shù)據(jù)不超過規(guī)定長度。本發(fā)明還公開了一種生成USIM卡中菜單的系統(tǒng),USIM卡中包括Java應(yīng)用和OTA 應(yīng)用,所述Java應(yīng)用具有菜單,其特征在于,所述系統(tǒng)包括USIM卡、Java應(yīng)用服務(wù)器、和 OTA應(yīng)用服務(wù)器,所述USIM卡,用于依據(jù)OTA大類ID將OTA大類分組,在Java的菜單入口列表中 為每個分組預(yù)留菜單入口項; 所述Java應(yīng)用服務(wù)器,用于接收并記錄各個USIM卡中已有Java應(yīng)用的信息以及 所述USIM卡中為OTA大類預(yù)留菜單入口項的信息;根據(jù)所述記錄的信息為Java應(yīng)用計算 位置序號,以使Java應(yīng)用被插入到OTA大類的分組間,并生成除位置序號外的其他安裝參
8數(shù),向USIM卡下發(fā)包含安裝參數(shù)的安裝指令;所述OTA應(yīng)用服務(wù)器,用于依據(jù)OTA應(yīng)用規(guī)范向USIM卡發(fā)送命令;所述USIM卡還用于依據(jù)接收到的OTA大類的命令中的OTA大類ID判斷所述命令 中OTA大類所屬分組,在所述分組內(nèi)對所述OTA大類進行對應(yīng)操作,分組中OTA大類排列順 序為大類ID從小到大的順序,并且分組中OTA大類數(shù)量不超過預(yù)留的菜單入口項數(shù)量,對 應(yīng)修改菜單入口列表中的菜單入口項;依據(jù)接收到的Java應(yīng)用的安裝指令對Java應(yīng)用進 行排序,根據(jù)安裝指令中的位置序號將Java應(yīng)用插入到相應(yīng)分組間;對菜單入口列表中狀 態(tài)為啟用的菜單入口項按位置序號由小到大的順序組織菜單建立命令,生成菜單。所述USIM卡在依據(jù)OTA大類ID將OTA大類分組,在Java的菜單入口列表中為每 個分組預(yù)留菜單入口項時進一步用于依據(jù)大類ID將OTA大類分組;在Java的菜單入口列表中為每個分組預(yù)留菜單入口項,所述每個菜單入口項包 括狀態(tài)、位置序號和菜單序號,初始化狀態(tài)為禁用,設(shè)置預(yù)留菜單入口項的位置序號的范 圍。所述Java應(yīng)用服務(wù)器還用于為所管理的每個Java應(yīng)用分配表示Java應(yīng)用菜單 在終端顯示順序的位置優(yōu)先級;所述Java應(yīng)用服務(wù)器在為Java應(yīng)用計算位置序號時進一步用于根據(jù)所述記錄的 信息和所述位置優(yōu)先級為Java應(yīng)用計算位置序號,使得Java應(yīng)用被插入到OTA大類的分 組間,并且Java應(yīng)用的排序同Java應(yīng)用的菜單在終端中顯示的順序一致。所述Java應(yīng)用服務(wù)器還用于記錄每張USIM卡可承載的未被鎖定的最大Java應(yīng) 用個數(shù);在準備發(fā)送Java應(yīng)用下載的安裝指令或已有Java應(yīng)用解鎖的相關(guān)指令時,根據(jù)記 錄的信息判斷作為發(fā)送對象的USIM卡中已存在而未被鎖定的Java應(yīng)用個數(shù)是否已經(jīng)達到 所述USIM卡對應(yīng)的最大Java應(yīng)用個數(shù),如果是,則不進行發(fā)送,否則,發(fā)送所述安裝指令或 所述相關(guān)指令;所述USIM卡還用于接收到所述解鎖的相關(guān)指令后,按所述指令進行對應(yīng)解鎖操作。所述Java應(yīng)用服務(wù)器在生成除位置序號外的其他安裝參數(shù)時進一步用于依據(jù) Java應(yīng)用規(guī)范生成菜單序號為00,以使USIM卡自行配置對應(yīng)的菜單序號;依據(jù)應(yīng)用提供商 提供的配置,生成除位置序號和菜單序號的其他安裝參數(shù)。在所述OTA大類的命令的操作為增加大類時,所述USIM卡在所述分組內(nèi)對所述 OTA大類進行對應(yīng)操作時進一步用于依據(jù)OTA大類ID,將被增加的OTA大類和所屬分組中的OTA大類排序,確定所述被 增加的OTA大類在分組中的位置;將所述被增加的OTA大類插入所述位置,并依據(jù)命令修改對應(yīng)菜單入口項的狀 態(tài)。所述USIM卡在確定所述被增加的OTA大類在分組中的位置前還用于判斷增加所 述OTA大類后,所述分組中的OTA大類數(shù)量是否超出為分組預(yù)留的菜單入口項數(shù)量,如果 是,則禁止所述增加操作,否則,進行所述確定所述被增加的OTA大類在分組中的位置。在所述OTA大類的命令的操作為刪除大類時,所述USIM卡在所述分組內(nèi)對所述
9OTA大類進行對應(yīng)操作時進一步用于將所述OTA大類對應(yīng)菜單入口項的狀態(tài)修改為禁用。所述USIM卡在組織菜單建立命令時進一步用于判斷所有啟用的菜單入口項相 加,指令數(shù)據(jù)是否超過規(guī)定長度,如果是,則按位置序號從大到小的順序?qū)⒊龅牟藛稳肟?項從菜單建立命令中除去。在菜單入口項有變化時,所述USIM卡還用于重新根據(jù)菜單入口項當前狀態(tài)構(gòu)建 菜單建立命令,并確保指令數(shù)據(jù)不超過規(guī)定長度。本發(fā)明的有益效果在于,通過在菜單入口列表中為OTA大類預(yù)留菜單入口項,能 夠在USIM卡中完成對Java應(yīng)用菜單和OTA應(yīng)用菜單的相互兼容;通過菜單混合排序進一 步實現(xiàn)了 Java應(yīng)用管理平臺和OTA管理平臺的獨立管理,互不影響,同時OTA管理平臺也 不需要進行技術(shù)升級,便于維護和升級。
圖1是本發(fā)明生成USIM卡中菜單的方法的流程圖;圖2是本發(fā)明生成USIM卡中菜單的系統(tǒng)的結(jié)構(gòu)圖。
具體實施例方式下面結(jié)合附圖,對本發(fā)明做進一步的詳細描述。本發(fā)明的生成USIM卡中菜單的方法如圖1所示。USIM卡中同時包括Java應(yīng)用和 OTA應(yīng)用,Java應(yīng)用為具有菜單的電信應(yīng)用。步驟S100,USIM卡依據(jù)OTA大類ID將OTA大類分組,在Java的菜單入口列表中 為每個分組預(yù)留菜單入口項。USIM卡依據(jù)大類ID將OTA大類分組;USIM卡在Java的菜單入口列表中為每個 分組預(yù)留菜單入口項,所述每個菜單入口項包括狀態(tài)、位置序號和菜單序號,初始化狀態(tài)為 Disable (禁用),設(shè)置預(yù)留的菜單入口項的位置序號的范圍。Disable表示禁止使用并不被 顯不。一實施例USIM卡在預(yù)置Java應(yīng)用,下載安裝Java應(yīng)用,或者添加任何OTA大類之前,要在 Java的菜單入口列表(Menu entries' List)中給OTA大類預(yù)留32個菜單入口項,菜單入 口項中狀態(tài)為Disable,Position ID(位置序號)范圍為1-32,Menu ID(菜單序號)不做 限制,可以由USIM卡提供商自定義,但是當有確定的OTA大類被添加的時候,分配的Menu ID不得與Java應(yīng)用的Menu ID沖突。根據(jù)大類ID將OTA大類劃分為四個分組,每分組對應(yīng)8個Menu Entry (菜單入口 項),OTA大類和分組的對應(yīng)關(guān)系為大類ID范圍在0xl0-0x3F之間的OTA大類對應(yīng)第一分 組,大類ID范圍在0x50-0x7F之間的OTA大類對應(yīng)第二分組,大類ID范圍在0x90-0xBF之 間的OTA大類對應(yīng)第三分組,大類ID范圍在OxDO-OxFF之間的OTA大類對應(yīng)第四分組。步驟S200,Java應(yīng)用服務(wù)器接收并記錄各個USIM卡中已有Java應(yīng)用的信息以 及USIM卡中為OTA大類預(yù)留的菜單入口項的信息;根據(jù)記錄的信息為Java應(yīng)用計算位置 序號,使得Java應(yīng)用被插入到OTA大類的分組間,并生成除位置序號外的其他安裝參數(shù),向 USIM卡下發(fā)包含安裝參數(shù)的安裝指令。
在進一步一個較佳的實施方案中,步驟S200還包括Java應(yīng)用服務(wù)器為所管理的 每個Java應(yīng)用分配表示Java應(yīng)用菜單在終端顯示順序的位置優(yōu)先級。步驟S200中為Java 應(yīng)用計算位置序號進一步為,根據(jù)記錄的信息和位置優(yōu)先級為Java應(yīng)用計算位置序號,使 得Java應(yīng)用被插入到OTA大類的分組間,并且Java應(yīng)用的排序同Java應(yīng)用的菜單在終端 中顯示的順序一致。在進一步一個較佳的實施方案中,步驟S200還包括Java應(yīng)用服務(wù)器記錄每張 USIM卡可承載的未被鎖定的最大Java應(yīng)用個數(shù)Java應(yīng)用服務(wù)器在準備發(fā)送Java應(yīng)用下 載的安裝指令或已有Java應(yīng)用解鎖的相關(guān)指令時,根據(jù)記錄的信息判斷作為發(fā)送對象的 USIM卡中已存在而未被鎖定的Java應(yīng)用個數(shù)是否已經(jīng)達到USIM卡對應(yīng)的最大Java應(yīng)用 個數(shù),如果是,則不進行發(fā)送,否則,發(fā)送該Java應(yīng)用下載的安裝指令或已有Java應(yīng)用解鎖 的相關(guān)指令。USIM卡接收到該Java應(yīng)用下載的安裝指令或已有Java應(yīng)用解鎖的相關(guān)指令 后,按該Java應(yīng)用下載的安裝指令或已有Java應(yīng)用解鎖的相關(guān)指令進行安裝或?qū)?yīng)解鎖 的操作。在進一步一個較佳的實施方案中,步驟S200中生成除位置序號外的其他安裝參 數(shù)進一步為依據(jù)Java應(yīng)用規(guī)范生成菜單序號為00,以使USIM卡自行配置對應(yīng)的菜單序號; 依據(jù)應(yīng)用提供商提供的配置,生成除位置序號和菜單序號的其他安裝參數(shù)。實施例中Java應(yīng)用服務(wù)器記錄每張USIM卡上已下載和已經(jīng)預(yù)置的Java應(yīng)用的信息,信息 中具體包含應(yīng)用的AID (應(yīng)用標識)和狀態(tài),以及USIM卡上已有的Java應(yīng)用個數(shù)。Java應(yīng)用服務(wù)器記錄每張USIM卡片可承載的未被鎖定的最大Java應(yīng)用個數(shù)。該 參數(shù)根據(jù)各USIM卡片的批次不同而動態(tài)設(shè)置,具體舉例中該參數(shù)的值為6。Java應(yīng)用服務(wù)器給所管理的Java應(yīng)用各自分配固定的、每個應(yīng)用各不相同的 PPI (位置優(yōu)先級),PPI表示應(yīng)用下載到USIM卡片后顯示菜單的先后順序。具體的PPI越 小表示排序中的優(yōu)先級越高。Java應(yīng)用服務(wù)器根據(jù)PPI及已經(jīng)為OTA大類預(yù)留的32個Position ID計算Java 應(yīng)用的Position ID,計算的Position ID要滿足如下條件,Java應(yīng)用按照位置優(yōu)先級在 USIM卡片排序,并且Java應(yīng)用只插入到OTA大類所對應(yīng)的四分組的Menu Entry組與Menu Entry組之間,而不能插在每分組內(nèi)的兩個Menu Entry之間。至于Java應(yīng)用與OTA四分組 的Menu Entry的相對位置,由Java應(yīng)用服務(wù)器根據(jù)業(yè)務(wù)需要確定,具體不做限制。Java應(yīng)用安裝參數(shù)中,Java應(yīng)用服務(wù)器根據(jù)以上規(guī)則生成安裝參數(shù),具體要生成 的安裝參數(shù)為Java應(yīng)用規(guī)范中,80,tag下的數(shù)據(jù)(UICC Toolkit Application specific parameters),其中Menu ID為00,依據(jù)規(guī)范由USIM卡片自行分配Menu ID, Position ID 為根據(jù)上述的計算結(jié)果。其他安裝參數(shù)由應(yīng)用提供商提供,并上載到Java應(yīng)用服務(wù)器,供 Java應(yīng)用服務(wù)器下發(fā)安裝指令時使用。Java應(yīng)用服務(wù)器在給USIM卡片下發(fā)Java應(yīng)用下載的安裝指令或已有應(yīng)用解鎖的 相關(guān)指令之前,先要判斷USIM卡片已有的且未鎖定的Java應(yīng)用個數(shù)是否已經(jīng)達到USIM卡 片可承載的最大Java應(yīng)用個數(shù),如果已經(jīng)相等,則不再給該USIM卡片發(fā)送該Java應(yīng)用下 載的安裝指令或已有應(yīng)用解鎖相關(guān)指令,如果沒有達到,則下發(fā)該Java應(yīng)用下載的安裝指 令或已有應(yīng)用解鎖相關(guān)指令。
應(yīng)用提供商要保證每個應(yīng)用的名稱不超過七個漢字(即指不包括0x80,菜單名稱 長度不超過14個bytes),每個應(yīng)用注冊的菜單不能多于一個。步驟S300,OTA應(yīng)用服務(wù)器依據(jù)OTA應(yīng)用規(guī)范向USIM卡發(fā)送命令。步驟S400,USIM卡依據(jù)接收到的OTA大類的命令中的OTA大類ID判斷所述命令 中OTA大類所屬分組,在所述分組內(nèi)對所述OTA大類進行對應(yīng)操作,分組中OTA大類排列順 序為大類ID從小到大的順序,并且分組中OTA大類數(shù)量不超過預(yù)留的菜單入口項數(shù)量,對 應(yīng)修改菜單入口列表中的菜單入口項,USIM卡依據(jù)接收到的Java應(yīng)用的安裝指令對Java 應(yīng)用進行排序,根據(jù)安裝指令中的位置序號將Java應(yīng)用插入到相應(yīng)分組間,對菜單入口列 表中狀態(tài)為啟用的菜單入口項按位置序號由小到大的順序組織菜單建立命令,生成菜單。在較佳的實施方式中,在OTA大類的命令的操作為增加大類時,在分組內(nèi)對所述 OTA大類進行對應(yīng)操作進一步如下所述。步驟S410,依據(jù)OTA大類ID,將被增加的OTA大類和該OTA大類所屬分組中的OTA 大類排序,確定被增加的OTA大類在分組中的位置。步驟S420,將被增加的OTA大類插入確定的位置,并依據(jù)OTA大類的命令修改被增 加的OTA大類對應(yīng)Menu Entry的狀態(tài)。其中,在OTA大類的命令指示增加的OTA大類禁用時,將對應(yīng)Menu Entry的狀態(tài) 修改為Disable ;在OTA大類的命令指示增加的OTA大類啟用時,將對應(yīng)Menu Entry的狀 態(tài)修改為Enable。在較佳的實施方式中,USIM卡在進行增加操作前,判斷增加OTA大類后,該OTA大 類所屬分組中的OTA大類數(shù)量是否超出為分組預(yù)留的Menu Entry數(shù)量,如果是,則禁止增 加操作,否則,進行增加操作。在一較佳的實施方式中,在OTA大類的命令的操作為刪除大類時,USIM卡將命令 指示被刪除的OTA大類對應(yīng)Menu Entry的狀態(tài)修改為Disable。在一較佳的實施方式中,USIM卡在組織菜單建立命令時,判斷菜單入口列表中所 有啟用的Menu Entry相加,指令數(shù)據(jù)是否超過規(guī)定長度,如果是,則按位置序號從大到小的 順序?qū)⒊龅腗enu Entry從菜單建立命令中除去。這里除去的菜單入口項不需要修改狀態(tài)為Disable,只是不包含在菜單建立命令 中而已,因為如果包含的話指令會超長,另外如果剛好后續(xù)的其它菜單操作Disable或刪 除了該菜單入口項之前的菜單入口項,在保證指令不超長的情況下,則該菜單入口項又會 包含在菜單建立命令中進行顯示。在一較佳的實施方式中,在Menu Entry有變化時,USIM卡重新根據(jù)Menu Entry當 前狀態(tài)構(gòu)建菜單建立命令,并確保指令數(shù)據(jù)不超過規(guī)定長度。按位置序號從小到大的順序,選擇一定數(shù)量的Menu Entry,使得指令數(shù)據(jù)長度恰 不超出規(guī)定長度。
具體實施方式
如下所述。USIM卡依據(jù)接收的對于OTA大類的命令,進行對OTA大類的增加、刪除、禁用、激 活、重命名操作,對菜單入口列表中預(yù)留的4個分組的總共32個Menu Entry進行管理。確 保在此組內(nèi),各OTA大類的大類ID與Position ID從小到大的順序一致。狀態(tài)Enable表示啟用該Menu Entry,狀態(tài)Disable表示禁用該Menu Entry。增加為增加OTA大類,對應(yīng)Menu Entry狀態(tài)修改為Enable ;刪除為刪除OTA大類,對應(yīng)Menu Entry狀態(tài)修改為Disable ;禁用為禁用OTA大類,對應(yīng)Menu Entry狀態(tài)修改為Disable ; 激活為激活OTA大類,對應(yīng)Menu Entry狀態(tài)修改為Enable ;重命名是修改該Menu Entry中 的菜單名稱,修改菜單名稱不改變Menu Entry的狀態(tài),并且保證該Menu Entry所在的分組 內(nèi)的Menu Entry個數(shù)仍然是8個。當某個OTA大類被刪除時,只Di sab 1 e其對應(yīng)的Menu Entry項,而不能刪除該Menu Entry項,以保證其所在的Menu Entry組的Menu Entry個數(shù)仍然是8個。USIM卡依據(jù)Java規(guī)范組織Setup Menu (菜單建立)指令時,Setup Menu指令中 的所有啟動的Menu Entry由USIM卡片根據(jù)Position ID的順序由小到大排列。USIM卡支持安裝參數(shù)中Menu ID為00的情況下,自動分配Menu ID,確保USIM卡 上應(yīng)用的Menu ID不沖突,具體舉例中Java應(yīng)用的Menu ID范圍為0x80到0x8F,或者OxCO 到OxCF,其他范圍屬于OTA大類。USIM卡能夠限制使得卡上預(yù)留給OTA的四組菜單入口列表中,每組添加的OTA大 類不超過8個,如果超過,該添加OTA大類操作不成功。如果USIM卡組織Setup Menu指令時,所有啟動的Menu Entry加起來指令數(shù)據(jù)超 過255字節(jié),則要求卡片不組織Position ID最大的Menu Entry在指令數(shù)據(jù)里,直到指令 數(shù)據(jù)小于255字節(jié);如果某些Position ID較小的Menu Entry被刪除,則原來不能顯示的 Menu Entry在指令數(shù)據(jù)不超過255字節(jié)的情況下能夠重新顯示。驗證本發(fā)明方法的實施例如下所述。步驟S201,OTA注冊,計數(shù)器恢復(fù)初始狀態(tài),關(guān)閉PIN。步驟S202,修改 ICCID (卡片標識,Integrated Circuit Card Identity)此處修 改ICCID為某一特定值,是為了方便測試。步驟S203,模擬服務(wù)器修改一級菜單。步驟S204,模擬服務(wù)器修改品牌。步驟S205,模擬服務(wù)器將USIM卡中所有的OTA大類全部刪除。步驟S206至步驟S213為測試JAVA菜單與OTA菜單的生成過程。步驟S206,下發(fā)OTA大類管理,將USIM卡中預(yù)置五個OTA大類。MENU ID、菜單名 稱,以及對應(yīng)的Position ID和狀態(tài)分別如下所述。MENU ID 菜單名稱 PositionID(范圍) 狀態(tài)15OTA 大類 15(1 8)Enable55OTA 大類 55(9 16)Enable95OTA 大類 95(17 24)EnableBOOTA 大類 BO(17 24)EnableD5OTA 大類 D5(25 32)Enable PositionID范圍廣8,9 16,17 24,25 32這四組位置ID預(yù)留給OTA菜單,其中僅 有OTA大類存在的項才啟用Enable,其它的項處于禁用Disable狀態(tài),不是所有的ID都啟 用,比如廣8中,只有OTA大類15—個OTA菜單,所以廣8中只有一個ID是啟用的,不是這 一個組全部啟用,該組中存在幾個啟用的OTA大類就啟用幾個位置ID,但是該組中同時啟 用的位置個數(shù)不超過8個。以下的狀態(tài)這一列中針對OTA大類菜單時都是如此。
13
步驟 S207,添加 PositionID為01,名稱為JAVA應(yīng)用1,添加后的菜單排序如下所述。
MENU ID菜單名稱PositionID(范圍)狀態(tài)
80JAVA應(yīng)用11Enable
15OTA大類15(2 9)Enable
55OTA大類55(10 17)Enable
95OTA大類95(18 25)Enable
BOOTA大類BO(18 25)Enable
D5OTA大類D5(26 33)Enable
步驟S208,添力口 PositionID為0Χ0Α (10),菜單名稱為JAVA應(yīng)用2,添加后菜單排序如下所述。
MENU ID菜單名稱PositionID(范圍)狀態(tài)
80JAVA應(yīng)用11Enable
15OTA大類15(2 9)Enable
81JAVA應(yīng)用210Enable
55OTA大類55(11 18)Enable
95OTA大類95(19 26)Enable
BOOTA大類BO(19 26)Enable
D5OTA大類D5(27 34)Enable
步驟S209,添力口 PositionID為0X13 (19),菜單名稱為JAVA應(yīng)用3,添加后菜單排序如下所述。
MENU ID菜單名稱PositionID(范圍)狀態(tài)
80JAVA應(yīng)用11Enable
15OTA大類15(2 9)Enable
81JAVA應(yīng)用210Enable
55OTA大類55(11 18)Enable
82JAVA應(yīng)用319Enable
95OTA大類95(20 27)Enable
BOOTA大類BO(20 27)Enable
D5OTA大類D5(28 35)Enable
步驟S210,添力口 PositionID為OXlC (28),菜單名稱為JAVA應(yīng)用4,添加后菜單排序如下所述。
MENU ID菜單名稱PositionID(范圍)狀態(tài)
80JAVA應(yīng)用11Enable
15OTA大類15(2 9)Enable
81JAVA應(yīng)用210Enable
55OTA大類55(11 18)Enable
82JAVA應(yīng)用319Enable
95OTA大類95(20 27) 14 Enable
BOOTA大類BO(20 27)Enable
83JAVA應(yīng)用428Enable
D5OTA大類D5(29 36)Enable
步驟 S211,添加 PositionID為0X25 (37),菜單名稱為JAVA應(yīng)用5,添加后菜單排序如下所述。
MENUID菜單名稱PositionID(范圍)狀態(tài)
80JAVA應(yīng)用11Enable
15OTA大類15(2 9)Enable
81JAVA應(yīng)用210Enable
55OTA大類55(11 18)Enable
82JAVA應(yīng)用319Enable
95OTA大類95(20 27)Enable
BOOTA大類BO(20 27)Enable
83JAVA應(yīng)用428Enable
D5OTA大類D5(29 36)Enable
84JAVA應(yīng)用537Enable
步驟S212,添加一個MENUID為A5的OTA大類A5,添加后菜單排序如下所述。
MENUID菜單名稱PositionID(范圍)狀態(tài)
80JAVA應(yīng)用11Enable
15OTA大類15(2 9)Enable
81JAVA應(yīng)用210Enable
55OTA大類55(11 18)Enable
82JAVA應(yīng)用319Enable
95OTA大類95(20 27)Enable
A5OTA大類A5(20 27)Enable
BOOTA大類BO(20 27)Enable
83JAVA應(yīng)用428Enable
D5OTA大類D5(29 36)Enable
84JAVA應(yīng)用537Enable
步驟S213,添力口 PositionID為0X01 (01),菜單名稱為JAVA應(yīng)用6,添加后菜單排序如下所述。
MENUID菜單名稱PositionID(范圍)狀態(tài)
85JAVA應(yīng)用61Enable
80JAVA應(yīng)用12Enable
15OTA大類15(3 10)Enable
81JAVA應(yīng)用211Enable
55OTA大類55(12 19)Enable
82JAVA應(yīng)用320Enable
95OTA大類95(21 28)Enable
A5OTA大類A5(21 28)Enable
BOOTA大類BO(21 28)Enable
83JAVA應(yīng)用429Enable
D5OTA大類D5(30 37)Enable
84JAVA應(yīng)用538Enable
步驟S214至步驟S217測試刪除Position ID較小的菜單入口項后在長度不超過
FF時原來不顯示的菜單入口項能顯示。 步驟S214 j^WPosition ID為0X02 (02),菜單名稱為JAVA應(yīng)用7,添加后菜單排 序如下所述。
0195]MENU ID菜單名稱PositionID(范圍)狀態(tài)0196]85JAVA應(yīng)用61Enable0197]86JAVA應(yīng)用72Enable0198]80JAVA應(yīng)用13Enable0199]15OTA大類15(rii)Enable0200]81JAVA應(yīng)用212Enable0201]55OTA大類55(13 20)Enable0202]82JAVA應(yīng)用321Enable0203]95OTA大類95(22 29)Enable0204]A5OTA大類A5(22 29)Enable0205]BOOTA大類BO(22 29)Enable0206]83JAVA應(yīng)用430Enable0207]D5OTA大類D5(31 38)Enable0208]//84JAVA應(yīng)用539(不顯示)Enable這里的Java應(yīng)用5,位置ID為39,它的菜單入口項狀態(tài)是Enable,但是由于超長 而不被包含在菜單建立命令中進行顯示。步驟S215,添加一個MENU ID為A7的OTA大類A7,和MENU ID為A8的OTA大類 A8,并將OTA大類A8禁用,添加后的菜單排序如下所述。
0211]MENU ID菜單名稱PositionID(范圍)狀態(tài)0212]85JAVA應(yīng)用61Enable0213]86JAVA應(yīng)用72Enable0214]80JAVA應(yīng)用13Enable0215]15OTA大類15(rii)Enable0216]81JAVA應(yīng)用212Enable0217]55OTA大類55(13 20)Enable0218]82JAVA應(yīng)用321Enable0219]95OTA大類95(22 29)Enable0220]A5OTA大類A5(22 29)Enable0221]A7OTA大類A7(22 29)Enable0222]//A8OTA大類A8(22 29)(禁用)Disable
16
BOOTA大類BO(22 29)Enable
83JAVA應(yīng)用430Enable
//D5OTA大類D5(3廣38)(不顯示)Enable
//84JAVA應(yīng)用539(不顯示)Enable
Java應(yīng)用5,位置ID為39,它的菜單入口項狀態(tài)是Enable,但是由于超長而不被包含在菜單建立命令中進行顯示;OTA大類D5對應(yīng)的菜單入口項狀態(tài)是Enable,但是由于超長,而不顯示。
步驟 S216,刪除 PositionID為0X15 (21),菜單名稱為JAVA應(yīng)用3的JAVA應(yīng)用,刪除后菜單排序如下所示。
MENU ID菜單名稱PositionID(范圍)狀態(tài)
85JAVA應(yīng)用61Enable
86JAVA應(yīng)用72Enable
80JAVA應(yīng)用13Enable
15OTA大類15(rii)Enable
81JAVA應(yīng)用212Enable
55OTA大類55(13 20)Enable
95OTA大類95(21 28)Enable
A5OTA大類A5(21 28)Enable
A7OTA大類A7(21 28)Enable
"A8OTA大類A8(2廣28)(禁用)Disable
BOOTA大類BO(21 28)Enable
83JAVA應(yīng)用429Enable
D5OTA大類D5(30 37)(顯示)Enable
//84JAVA應(yīng)用538(不顯示)Enable
步驟S217,禁用一個MENUID為15的OTA大類15,并添加一個菜單長度為00的92大類后,菜單排序為
MENU ID菜單名稱PositionID(范圍)狀態(tài)
85JAVA應(yīng)用61Enable
86JAVA應(yīng)用72Enable
80JAVA應(yīng)用13Enable
"15OTA大類15(Γ11)(禁用)Disable
81JAVA應(yīng)用212Enable
55OTA大類55(13 20)Enable
92(21 28)Enable
95OTA大類95(21 28)Enable
A5OTA大類A5(21 28)Enable
A7OTA大類A7(21 28)Enable
"A8OTA大類A8(2廣28)(禁用)Disable
BOOTA大類BO(21 28)Enable
55OTA 大類 55 (11 18)Enable92(19 26)Enable95OTA 大類 95 (19 26)Enable96OTA 大類 96 (19 26)EnableAOOTA 大類 AO (19 26)EnableA5OTA 大類 A5 (19 26)EnableA7OTA 大類 A7 (19 26)Enable//A8OTA 大類 A8 (19 26)(禁用)DisableBOOTA 大類 BO (19 26)EnableD5OTA 大類 D5 (27 34)Enable本發(fā)明生成USIM卡中菜單的系統(tǒng)如圖2所示。USIM卡中包括Java應(yīng)用和OTA應(yīng)用,Java應(yīng)用具有菜單,其特征在于,系統(tǒng)包括 USIM卡100、Java應(yīng)用服務(wù)器200、和OTA應(yīng)用服務(wù)器300。USIM卡100,用于依據(jù)OTA大類ID將OTA大類分組,在Java的菜單入口列表中為 每個分組預(yù)留菜單入口項。Java應(yīng)用服務(wù)器200,用于接收并記錄各個USIM卡100中已有Java應(yīng)用的信息 以及USIM卡100中為OTA大類預(yù)留菜單入口項的信息;根據(jù)記錄的信息為Java應(yīng)用計算 位置序號,以使Java應(yīng)用被插入到OTA大類的分組間,并生成除位置序號外的其他安裝參 數(shù),向USIM卡100下發(fā)包含安裝參數(shù)的安裝指令。OTA應(yīng)用服務(wù)器300,用于依據(jù)OTA應(yīng)用規(guī)范向USIM卡100發(fā)送命令。USIM卡100還用于依據(jù)接收到的OTA大類的命令中的OTA大類ID判斷命令中OTA 大類所屬分組,在分組內(nèi)對OTA大類進行對應(yīng)操作,分組中OTA大類排列順序為大類ID從 小到大的順序,并且分組中OTA大類數(shù)量不超過預(yù)留的菜單入口項數(shù)量,對應(yīng)修改菜單入 口列表中的菜單入口項;依據(jù)接收到的Java應(yīng)用的安裝指令對Java應(yīng)用進行排序,根據(jù)安 裝指令中的位置序號將Java應(yīng)用插入到相應(yīng)分組間;對菜單入口列表中狀態(tài)為啟用的菜 單入口項按位置序號由小到大的順序組織菜單建立命令,生成菜單。在一優(yōu)選的實施方式中,USIM卡在依據(jù)OTA大類ID將OTA大類分組,在Java的 菜單入口列表中為每個分組預(yù)留菜單入口項時進一步用于依據(jù)大類ID將OTA大類分組;在 Java的菜單入口列表中為每個分組預(yù)留菜單入口項,每個菜單入口項包括狀態(tài)、位置序號 和菜單序號,初始化狀態(tài)為禁用,設(shè)置預(yù)留菜單入口項的位置序號的范圍。在一優(yōu)選的實施方式中,Java應(yīng)用服務(wù)器還用于為所管理的每個Java應(yīng)用分配 表示Java應(yīng)用菜單在終端顯示順序的位置優(yōu)先級。Java應(yīng)用服務(wù)器在為Java應(yīng)用計算位置序號時進一步用于根據(jù)記錄的信息和位 置優(yōu)先級為Java應(yīng)用計算位置序號,使得Java應(yīng)用被插入到OTA大類的分組間,并且Java 應(yīng)用的排序同Java應(yīng)用的菜單在終端中顯示的順序一致。在一優(yōu)選的實施方式中,Java應(yīng)用服務(wù)器還用于記錄每張USIM卡可承載的未被 鎖定的最大Java應(yīng)用個數(shù);在準備發(fā)送Java應(yīng)用下載的安裝指令或已有Java應(yīng)用解鎖的 相關(guān)指令時,根據(jù)記錄的信息判斷作為發(fā)送對象的USIM卡中已存在而未被鎖定的Java應(yīng) 用個數(shù)是否已經(jīng)達到USIM卡對應(yīng)的最大Java應(yīng)用個數(shù),如果是,則不進行發(fā)送,否則,發(fā)送
19安裝指令或解鎖的相關(guān)指令。USIM卡還用于接收到解鎖的相關(guān)指令后,按指令進行對應(yīng)解鎖操作。在一優(yōu)選的實施方式中,Java應(yīng)用服務(wù)器在生成除位置序號外的其他安裝參數(shù)時 進一步用于依據(jù)Java應(yīng)用規(guī)范生成菜單序號為00,以使USIM卡自行配置對應(yīng)的菜單序號; 依據(jù)應(yīng)用提供商提供的配置,生成除位置序號和菜單序號的其他安裝參數(shù)。在一優(yōu)選的實施方式中,在OTA大類的命令的操作為增加大類時,USIM卡在分組 內(nèi)對OTA大類進行對應(yīng)操作時進一步用于依據(jù)OTA大類ID,將被增加的OTA大類和所屬分 組中的OTA大類排序,確定被增加的OTA大類在分組中的位置;將被增加的OTA大類插入該 位置,并依據(jù)命令修改對應(yīng)菜單入口項的狀態(tài)。在一優(yōu)選的實施方式中,USIM卡在確定被增加的OTA大類在分組中的位置前還用 于判斷增加該OTA大類后,所屬分組中的OTA大類數(shù)量是否超出為分組預(yù)留的菜單入口項 數(shù)量,如果是,則禁止該增加操作,否則,進行確定該被增加的OTA大類在分組中的位置的 操作。在一優(yōu)選的實施方式中,在OTA大類的命令的操作為刪除大類時,USIM卡在所在
分組內(nèi)對OTA大類進行對應(yīng)操作時進一步用于將該OTA大類對應(yīng)菜單入口項的狀態(tài)修改為
ttffl 不 Ztd ο在一優(yōu)選的實施方式中,USIM卡在組織菜單建立命令時進一步用于判斷所有啟用 的菜單入口項相加,指令數(shù)據(jù)是否超過規(guī)定長度,如果是,則按位置序號從大到小的順序?qū)?超出的菜單入口項從菜單建立命令中除去。進一步較佳的實施方式中,在有菜單入口項發(fā)生變化時,USIM卡還用于重新根據(jù) 菜單入口項當前狀態(tài)構(gòu)建菜單建立命令,并確保指令數(shù)據(jù)不超過規(guī)定長度。本領(lǐng)域的技術(shù)人員在不脫離權(quán)利要求書確定的本發(fā)明的精神和范圍的條件下,還 可以對以上內(nèi)容進行各種各樣的修改。因此本發(fā)明的范圍并不僅限于以上的說明,而是由 權(quán)利要求書的范圍來確定的。
權(quán)利要求
一種生成USIM卡中菜單的方法,USIM卡中包括Java應(yīng)用和OTA應(yīng)用,所述Java應(yīng)用具有菜單,其特征在于,所述方法包括步驟1,USIM卡依據(jù)OTA大類ID將OTA大類分組,在Java的菜單入口列表中為每個分組預(yù)留菜單入口項;步驟2,Java應(yīng)用服務(wù)器接收并記錄各個USIM卡中已有Java應(yīng)用的信息以及所述USIM卡中為OTA大類預(yù)留菜單入口項的信息;根據(jù)所述記錄的信息為Java應(yīng)用計算位置序號,以使Java應(yīng)用被插入到OTA大類的分組間,并生成除位置序號外的其他安裝參數(shù),向USIM卡下發(fā)包含安裝參數(shù)的安裝指令;步驟3,OTA應(yīng)用服務(wù)器依據(jù)OTA應(yīng)用規(guī)范向USIM卡發(fā)送命令;步驟4,USIM卡依據(jù)接收到的OTA大類的命令中的OTA大類ID判斷所述命令中OTA大類所屬分組,在所述分組內(nèi)對所述OTA大類進行對應(yīng)操作,分組中OTA大類排列順序為大類ID從小到大的順序,并且分組中OTA大類數(shù)量不超過預(yù)留的菜單入口項數(shù)量,對應(yīng)修改菜單入口列表中的菜單入口項;USIM卡依據(jù)接收到的Java應(yīng)用的安裝指令對Java應(yīng)用進行排序,根據(jù)安裝指令中的位置序號將Java應(yīng)用插入到相應(yīng)分組間;對菜單入口列表中狀態(tài)為啟用的菜單入口項按位置序號由小到大的順序組織菜單建立命令,生成菜單。
2.如權(quán)利要求1所述的生成USIM卡中菜單的方法,其特征在于, 所述步驟1進一步為,步驟21,USIM卡依據(jù)大類ID將OTA大類分組;步驟22,USIM卡在Java的菜單入口列表中為每個分組預(yù)留菜單入口項,所述每個菜單 入口項包括狀態(tài)、位置序號和菜單序號,初始化狀態(tài)為禁用,設(shè)置預(yù)留菜單入口項的位置序 號的范圍。
3.如權(quán)利要求1所述的生成USIM卡中菜單的方法,其特征在于, 所述步驟2還包括步驟31,Java應(yīng)用服務(wù)器為所管理的每個Java應(yīng)用分配表示Java應(yīng)用菜單在終端顯 示順序的位置優(yōu)先級;所述步驟2中為Java應(yīng)用計算位置序號進一步為,步驟32,根據(jù)所述記錄的信息和所述位置優(yōu)先級為Java應(yīng)用計算位置序號,使得Java 應(yīng)用被插入到OTA大類的分組間,并且Java應(yīng)用的排序同Java應(yīng)用的菜單在終端中顯示 的順序一致。
4.如權(quán)利要求1所述的生成USIM卡中菜單的方法,其特征在于, 所述步驟2還包括步驟41,Java應(yīng)用服務(wù)器記錄每張USIM卡可承載的未被鎖定的最大Java應(yīng)用個數(shù); 步驟42,Java應(yīng)用服務(wù)器在準備發(fā)送Java應(yīng)用下載的安裝指令或已有Java應(yīng)用解鎖 的相關(guān)指令時,根據(jù)記錄的信息判斷作為發(fā)送對象的USIM卡中已存在而未被鎖定的Java 應(yīng)用個數(shù)是否已經(jīng)達到所述USIM卡對應(yīng)的最大Java應(yīng)用個數(shù),如果是,則不進行發(fā)送,否 則,發(fā)送所述安裝指令或所述相關(guān)指令; 所述步驟4還包括,步驟43,USIM卡接收到所述解鎖的相關(guān)指令后,按所述指令進行對應(yīng)解鎖操作。
5.如權(quán)利要求1所述的生成USIM卡中菜單的方法,其特征在于,的其他安裝參數(shù)進一步為,步驟51,依據(jù)Java應(yīng)用規(guī)范生成菜單序號為00,以使USIM卡自行配置對應(yīng)的菜單序號;步驟52,依據(jù)應(yīng)用提供商提供的配置,生成除位置序號和菜單序號的其他安裝參數(shù)。
6.如權(quán)利要求1所述的生成USIM卡中菜單的方法,其特征在于,在所述OTA大類的命令的操作為增加大類時,所述步驟4中在所述分組內(nèi)對所述OTA 大類進行對應(yīng)操作進一步為,步驟61,依據(jù)OTA大類ID,將被增加的OTA大類和所屬分組中的OTA大類排序,確定所 述被增加的OTA大類在分組中的位置;步驟62,將所述被增加的OTA大類插入所述位置,并依據(jù)命令修改對應(yīng)菜單入口項的 狀態(tài)。
7.如權(quán)利要求6所述的生成USIM卡中菜單的方法,其特征在于,所述步驟61前還包括步驟71,判斷增加所述OTA大類后,所述分組中的OTA大類數(shù)量是否超出為分組預(yù)留的 菜單入口項數(shù)量,如果是,則禁止所述增加操作,否則,執(zhí)行步驟61。
8.如權(quán)利要求1所述的生成USIM卡中菜單的方法,其特征在于,在所述OTA大類的命令的操作為刪除大類時,所述步驟4中在所述分組內(nèi)對所述OTA 大類進行對應(yīng)操作進一步為,步驟81,將所述OTA大類對應(yīng)菜單入口項的狀態(tài)修改為禁用。
9.如權(quán)利要求1所述的生成USIM卡中菜單的方法,其特征在于,所述步驟4中組織菜單建立命令時,判斷所有啟用的菜單入口項相加,指令數(shù)據(jù)是否 超過規(guī)定長度,如果是,則按位置序號從大到小的順序?qū)⒊龅牟藛稳肟陧棌牟藛谓⒚?令中除去。
10.如權(quán)利要求9所述的生成USIM卡中菜單的方法,其特征在于,在菜單入口項變化時,所述步驟4還包括,重新根據(jù)菜單入口項當前狀態(tài)構(gòu)建菜單建 立命令,并確保指令數(shù)據(jù)不超過規(guī)定長度。
11.一種生成USIM卡中菜單的系統(tǒng),USIM卡中包括Java應(yīng)用和OTA應(yīng)用,所述Java 應(yīng)用具有菜單,其特征在于,所述系統(tǒng)包括USIM卡、Java應(yīng)用服務(wù)器、和OTA應(yīng)用服務(wù)器,所述USIM卡,用于依據(jù)OTA大類ID將OTA大類分組,在Java的菜單入口列表中為每 個分組預(yù)留菜單入口項;所述Java應(yīng)用服務(wù)器,用于接收并記錄各個USIM卡中已有Java應(yīng)用的信息以及所述 USIM卡中為OTA大類預(yù)留菜單入口項的信息;根據(jù)所述記錄的信息為Java應(yīng)用計算位置 序號,以使Java應(yīng)用被插入到OTA大類的分組間,并生成除位置序號外的其他安裝參數(shù),向 USIM卡下發(fā)包含安裝參數(shù)的安裝指令;所述OTA應(yīng)用服務(wù)器,用于依據(jù)OTA應(yīng)用規(guī)范向USIM卡發(fā)送命令; 所述USIM卡還用于依據(jù)接收到的OTA大類的命令中的OTA大類ID判斷所述命令中 OTA大類所屬分組,在所述分組內(nèi)對所述OTA大類進行對應(yīng)操作,分組中OTA大類排列順序 為大類ID從小到大的順序,并且分組中OTA大類數(shù)量不超過預(yù)留的菜單入口項數(shù)量,對應(yīng) 修改菜單入口列表中的菜單入口項;依據(jù)接收到的Java應(yīng)用的安裝指令對Java應(yīng)用進行排序,根據(jù)安裝指令中的位置序號將Java應(yīng)用插入到相應(yīng)分組間;對菜單入口列表中狀態(tài) 為啟用的菜單入口項按位置序號由小到大的順序組織菜單建立命令,生成菜單。
12.如權(quán)利要求11所述的生成USIM卡中菜單的系統(tǒng),其特征在于,所述USIM卡在依據(jù)OTA大類ID將OTA大類分組,在Java的菜單入口列表中為每個分 組預(yù)留菜單入口項時進一步用于依據(jù)大類ID將OTA大類分組;在Java的菜單入口列表中為每個分組預(yù)留菜單入口項,所述每個菜單入口項包括狀 態(tài)、位置序號和菜單序號,初始化狀態(tài)為禁用,設(shè)置預(yù)留菜單入口項的位置序號的范圍。
13.如權(quán)利要求11所述的生成USIM卡中菜單的系統(tǒng),其特征在于,所述Java應(yīng)用服務(wù)器還用于為所管理的每個Java應(yīng)用分配表示Java應(yīng)用菜單在終 端顯示順序的位置優(yōu)先級;所述Java應(yīng)用服務(wù)器在為Java應(yīng)用計算位置序號時進一步用于根據(jù)所述記錄的信息 和所述位置優(yōu)先級為Java應(yīng)用計算位置序號,使得Java應(yīng)用被插入到OTA大類的分組間, 并且Java應(yīng)用的排序同Java應(yīng)用的菜單在終端中顯示的順序一致。
14.如權(quán)利要求11所述的生成USIM卡中菜單的系統(tǒng),其特征在于,所述Java應(yīng)用服務(wù)器還用于記錄每張USIM卡可承載的未被鎖定的最大Java應(yīng)用個 數(shù);在準備發(fā)送Java應(yīng)用下載的安裝指令或已有Java應(yīng)用解鎖的相關(guān)指令時,根據(jù)記錄的 信息判斷作為發(fā)送對象的USIM卡中已存在而未被鎖定的Java應(yīng)用個數(shù)是否已經(jīng)達到所述 USIM卡對應(yīng)的最大Java應(yīng)用個數(shù),如果是,則不進行發(fā)送,否則,發(fā)送所述安裝指令或所述 相關(guān)指令;所述USIM卡還用于接收到所述解鎖的相關(guān)指令后,按所述指令進行對應(yīng)解鎖操作。
15.如權(quán)利要求11所述的生成USIM卡中菜單的系統(tǒng),其特征在于,所述Java應(yīng)用服務(wù)器在生成除位置序號外的其他安裝參數(shù)時進一步用于依據(jù)Java應(yīng) 用規(guī)范生成菜單序號為00,以使USIM卡自行配置對應(yīng)的菜單序號;依據(jù)應(yīng)用提供商提供的 配置,生成除位置序號和菜單序號的其他安裝參數(shù)。
16.如權(quán)利要求11所述的生成USIM卡中菜單的系統(tǒng),其特征在于,在所述OTA大類的命令的操作為增加大類時,所述USIM卡在所述分組內(nèi)對所述OTA大 類進行對應(yīng)操作時進一步用于依據(jù)OTA大類ID,將被增加的OTA大類和所屬分組中的OTA大類排序,確定所述被增加 的OTA大類在分組中的位置;將所述被增加的OTA大類插入所述位置,并依據(jù)命令修改對應(yīng)菜單入口項的狀態(tài)。
17.如權(quán)利要求16所述的生成USIM卡中菜單的系統(tǒng),其特征在于,所述USIM卡在確定 所述被增加的OTA大類在分組中的位置前還用于判斷增加所述OTA大類后,所述分組中的 OTA大類數(shù)量是否超出為分組預(yù)留的菜單入口項數(shù)量,如果是,則禁止所述增加操作,否則, 進行所述確定所述被增加的OTA大類在分組中的位置。
18.如權(quán)利要求11所述的生成USIM卡中菜單的系統(tǒng),其特征在于,在所述OTA大類的命令的操作為刪除大類時,所述USIM卡在所述分組內(nèi)對所述OTA大 類進行對應(yīng)操作時進一步用于將所述OTA大類對應(yīng)菜單入口項的狀態(tài)修改為禁用。
19.如權(quán)利要求11所述的生成USIM卡中菜單的系統(tǒng),其特征在于,所述USIM卡在組織菜單建立命令時進一步用于判斷所有啟用的菜單入口項相加,指 令數(shù)據(jù)是否超過規(guī)定長度,如果是,則按位置序號從大到小的順序?qū)⒊龅牟藛稳肟陧棌?菜單建立命令中除去。
20.如權(quán)利要求19所述的生成USIM卡中菜單的系統(tǒng),其特征在于, 在菜單入口項變化時,所述USIM卡還用于重新根據(jù)菜單入口項當前狀態(tài)構(gòu)建菜單建 立命令,并確保指令數(shù)據(jù)不超過規(guī)定長度。
全文摘要
本發(fā)明涉及生成USIM卡中菜單的方法和系統(tǒng),方法包括步驟1,USIM卡依據(jù)OTA大類ID分組,為每個分組預(yù)留菜單入口項;步驟2,Java應(yīng)用服務(wù)器為Java應(yīng)用計算位置序號,向USIM卡安裝指令;步驟3,OTA應(yīng)用服務(wù)器依據(jù)OTA應(yīng)用規(guī)范向USIM卡發(fā)送命令;步驟4,USIM卡依據(jù)接收到的命令中的OTA大類ID判斷命令中OTA大類所屬分組,在分組內(nèi)對OTA大類進行對應(yīng)操作,依據(jù)接收到的Java應(yīng)用的安裝指令中的位置序號將Java應(yīng)用插入到相應(yīng)分組間;對菜單入口列表中狀態(tài)為啟用的菜單入口項組織菜單建立命令,生成菜單。本發(fā)明能夠在USIM卡中完成對Java應(yīng)用菜單和OTA應(yīng)用菜單的相互兼容。
文檔編號G06F9/44GK101916191SQ20101026219
公開日2010年12月15日 申請日期2010年8月24日 優(yōu)先權(quán)日2010年8月24日
發(fā)明者劉光輝, 宮潔琳, 李笑郁, 楊可可, 金明曄 申請人:中國聯(lián)合網(wǎng)絡(luò)通信集團有限公司