專利名稱:在用戶識別模塊和移動終端之間傳輸數據的方法及其裝置的制作方法
技術領域:
本發(fā)明涉及一種在用戶識別模塊和移動終端之間傳輸數據的方法,以及支持該數據傳輸方法的用戶識別模塊和移動終端。
背景技術:
在移動通信領域,隨著移動通信技術的發(fā)展,用戶逐漸可以獲得高質量的移動通信服務,移動終端逐漸成為人們日常生活中必不可少的電子產品。隨著當前用戶生活水平的提高和IT技術的不斷發(fā)展,用戶對移動終端的要求越來越高。具體表現(xiàn)在1.用戶需要使用移動終端存放海量的數據,例如音樂文件、視頻文件等,從而使移動終端成為移動多媒體處理中心;2.用戶希望可以使用移動終端運行多種方便適用的程序,例如日程管理軟件、游戲軟件等,從而使移動終端成為信息處理中心。用戶的需求促進了移動終端技術的發(fā)展和進步,越來越多的移動終端在數量海量存儲和高速軟件運行等技術上獲得突破。在這種情況下,在移動終端上實現(xiàn)數據海量存儲和軟件便利下載成為提高移動終端產品性能的重要因素。與此同時,移動通信運營商也希望能夠通過在大存儲量介質中存放很多數據來推廣自己的應用,從而為用戶提供多種個性化的服務,獲得更高的利潤。
在移動終端上實現(xiàn)數據海量存儲有很多種方法,目前,常用的方法有兩種一種是將這些數據和軟件存儲在移動終端內,另一種方法是將這些信息存儲在安裝于移動終端之內的MMC、SD等存儲介質中。
將數據和軟件存儲在移動終端內是最簡單的進行數據存儲的方法。所有的數據由移動終端生產廠商生成并維護,在用戶使用過程中,可以通過移動網絡或者與電腦相連接來實現(xiàn)下載和刪除。這種方法實現(xiàn)起來非常簡單,而且便于用戶進行操作,是目前移動數據存儲的主流方法。但是它自身也存在明顯的缺點。第一,如果將數據和軟件存儲在移動終端內,則無法對這些數據和軟件進行方便的備份和轉移,所有信息將隨著移動終端的更換或損壞而丟失。第二,這些數據直接存儲在手機中,手機的任何使用者都可以使用這些數據,不利于實現(xiàn)數據保護,容易造成用戶信息的遺失。例如,經常發(fā)生的用戶因遺失手機造成個人圖片泄密就是由于存儲于移動終端中的數據缺乏保護造成的。第三,用戶可以通過多種途徑購買移動終端,并在移動終端上存放各種自己喜歡的數據,這造成運營商沒有固定的平臺和途徑推廣自己的業(yè)務,從而無法更好的為用戶進行服務。
如果將數據和軟件存儲在MMC/SD等存儲介質中,可以在一定程度上解決數據的備份問題,即在用戶更換移動終端時,可以通過轉移此類存儲介質在新移動終端上使用原有數據和軟件。這種方法解決了使用移動終端存儲數據造成的數據難以備份、恢復和管理的問題。但是這種方法也有其自身的缺點。第一,使用這種方法,假若用戶希望不遺失數據而更換移動終端,則前后使用的兩臺移動終端必須都具有相同的存儲接口。這就限制了用戶的選擇余地。第二,MMC/SD等存儲介質只能作為存儲空間使用,無法對內部存放的數據及軟件進行加密,造成數據存儲的安全性下降,同樣面臨信息安全的問題。第三,由于用戶的存儲介質種類繁多,購買方式多樣,運營商無法對存儲空間中的數據進行管理,不利于運營商進行業(yè)務推廣。可見,使用MMC/SD等存儲介質進行數據存儲仍然無法完全解決移動存儲過程中遇到的問題。
現(xiàn)代數字移動通信系統(tǒng)的移動終端中都有預置的用戶識別模塊(例如GSM系統(tǒng)中的SIM卡,CDMA系統(tǒng)中的UIM卡等),通常,這些身份識別模塊都是用戶識別模塊。每一個移動終端內都必須支持規(guī)格統(tǒng)一的用戶識別模塊,并且支持ISO7816數據傳輸。隨著用戶識別模塊技術的發(fā)展,現(xiàn)有的用戶識別模塊已經可以提供很大的數據存儲空間(例如64M字節(jié)),可以成為新的信息存儲介質。同時,作為入網身份認證模塊,用戶識別模塊完全由移動運營商控制,可以方便的按照運營商的意愿進行配置和管理。這樣,新一代的用戶識別模塊克服了原有存儲介質的缺點,為存儲數據和軟件提供了良好的物理平臺。因此,使用用戶識別模塊實現(xiàn)在移動通信終端中的數據海量存儲可以彌補前述使用移動終端直接存儲和使用SD/MMC存儲的缺點,實現(xiàn)在通用平臺上的大數據量存儲,并且可以保證數據的安全性。只要我們可以實現(xiàn)從用戶識別模塊到移動終端的邊界的數據和軟件傳輸方法,就可以實現(xiàn)方便、快捷的數據操作。
但是目前,通過用戶識別模塊作為大數據量存儲的載體有一個顯著的缺點,就是缺乏良好的途徑將存儲在用戶識別模塊中的海量數據便利、快速地轉移到移動終端中(或者從移動終端中轉存過來)。由于傳統(tǒng)用戶識別模塊和移動終端中的通信協(xié)議非常簡單,沒有提供命令進行海量數據(大量數據)操作,因此移動終端只能通過移動通信規(guī)范提供的少量命令進行數據傳輸。這樣,無法通過標準的通信協(xié)議實現(xiàn)用戶識別模塊和移動終端之間的海量數據傳輸,而只能尋找途徑將用戶識別模塊與移動終端之間的數據傳輸協(xié)議進行升級。但是這種升級往往涉及到硬件的升級,很難實施。
鑒于此,盡管用戶識別模塊可以存放海量的數據,如果不解決數據傳輸問題,仍然無法充分利用用戶識別模塊的海量數據存儲功能。這一缺陷限制了大容量用戶識別模塊在移動終端上的使用,無法充分顯示大容量用戶識別模塊在數據存儲領域的獨特優(yōu)點。
發(fā)明內容
本發(fā)明的目的是為了克服傳統(tǒng)的用戶識別模塊與移動終端之間的數據傳輸方法的缺點,通過對待傳輸數據進行分塊,并引入對大數據量數據進行讀寫的操作的指令,實現(xiàn)用戶識別模塊與移動終端之間的海量數據傳輸。
為實現(xiàn)上述目的,本發(fā)明提供了一種在用戶識別模塊和移動終端之間傳輸數據的方法,包括如下步驟分析待傳輸數據;根據分析結果將所述待傳輸數據劃分為多個數據塊;生成海量數據傳輸指令,指示每個數據塊的塊地址和塊長度;根據所述數據塊的塊地址和塊長度確定所述每個數據塊的起始地址;以及在用戶識別模塊和移動終端之間依次傳輸與所述起始地址對應的各數據塊。
根據本發(fā)明,上述海量數據傳輸指令是海量數據讀指令或者海量數據寫指令。
根據本發(fā)明的一個實施方式,上述根據分析結果將所述待傳輸數據劃分為多個數據塊是指按照預定長度將待傳輸數據劃分為多個數據塊;所述海量數據讀指令中所指示的塊地址是指當按照所述預定長度劃分用戶識別模塊時,各數據塊所對應的序號編碼;以及所述海量數據讀指令中所指示的塊地址是指當按照所述預定長度劃分用戶識別模塊時,各數據塊應存儲于用戶識別模塊中的相應存儲空間的序號編碼。
根據本發(fā)明的一個實施方式,所述傳輸數據的方法進一步包括在所述生成海量數據傳輸指令前,生成更改IO數據傳輸速率指令,用于更改用戶識別模塊和移動終端之間的IO數據傳輸速率。
為實現(xiàn)上述目的,本發(fā)明進一步提供了一種支持與用戶識別模塊之間海量數據傳輸的移動終端,包括海量數據傳輸判斷模塊,分析待傳輸數據并確定是否采用海量數據傳輸方式傳輸數據;通信協(xié)議擴展模塊,當采用海量數據傳輸方式時,將待傳輸的海量數據劃分為多個數據塊,根據每個數據塊的起始地址和塊長度確定每個數據塊的塊地址,并生成海量數據讀或寫指令,該指令指示了所述每個數據塊的塊地址和塊長度;以及數據處理模塊,根據所述每個數據塊的起始地址和塊長度依次將每個數據塊寫入或者讀出用戶識別模塊。
根據本發(fā)明的一個實施方式,所述通信協(xié)議擴展模塊能夠進一步生成更改IO數據傳輸速率指令,從而在生成海量數據讀或寫指令前更改IO的數據傳輸速率。
為實現(xiàn)上述目的,本發(fā)明進一步提供了一種支持與移動終端之間海量數據傳輸的用戶識別模塊,包括數據存儲模塊,提供大容量的存儲空間以存儲海量數據;通信協(xié)議擴展模塊,用于接收由移動終端發(fā)出的海量數據讀或寫指令,根據該指令中指示的數據塊的塊地址和塊長度確定數據塊的起始地址;以及數據處理模塊,根據所述起始地址,將所述數據塊寫入或者讀出用戶識別模塊。
根據本發(fā)明的一個實施方式,所述通信協(xié)議擴展模塊能夠進一步接收由移動終端發(fā)出的更改IO數據傳輸速率指令,并根據所述更改IO數據傳輸速率指令指示的待執(zhí)行速率更改IO的數據傳輸速率。
本發(fā)明的優(yōu)點擴展了用戶識別模塊中的數據尋址范圍,實現(xiàn)了在移動終端和用戶識別模塊之間進行海量數據傳輸。
所述通信方法符合移動通信的基本協(xié)議,不需要對硬件平臺進行任何更改,更不會影響移動終端的正常使用。
用戶識別模塊作為移動終端中的基本模塊,具有良好的兼容性,可以在不同的移動終端上做到“即插即用”,便于數據和軟件的備份和復制。
用戶識別模塊中存儲的內容完全由運營商控制,可以為用戶提供更好的服務。
圖1顯示了根據本發(fā)明的在用戶識別模塊和移動終端之間傳輸數據的方法流程圖。
圖2顯示了根據本發(fā)明的由移動終端從用戶識別模塊中讀取數據的方法的具體流程圖。
圖3顯示了根據本發(fā)明的從移動終端向用戶識別模塊中寫入數據的方法的具體流程圖。
圖4顯示了包括支持本發(fā)明的數據傳輸方法的用戶識別模塊和移動終端的系統(tǒng)結構示意圖。
圖5a顯示了符合APDU命令格式的海量數據讀指令。
圖5b顯示了符合APDU命令格式的海量數據寫指令。
圖5c顯示了符合APDU命令格式的更改IO數據傳輸速率。
具體實施例方式
下面結合附圖和實施例對本發(fā)明作進一步詳寫描述。
通常,當用戶識別模塊和移動終端之間需要傳輸數據時,移動終端首先確認需要傳輸的數據,然后通過命令,例如GSM11.11規(guī)范中定義的“ReadBinary(讀二進制)”或“Write Binary(寫二進制)”指令,實現(xiàn)用戶識別模塊和移動終端之間的數據傳輸。但是,由于GSM11.11規(guī)范的限制,“ReadBinary”或“Write Binary”指令可以操作的文件大小不得超過64K,這在很大程度上限制了具有海量存儲空間的用戶識別模塊的應用。
如圖1所示,本發(fā)明提供了一種在用戶識別模塊和移動終端之間傳輸數據的方法,包括以下幾個步驟。首先,在步驟101中分析待傳輸數據(例如,一份文件)。該分析包括分析是否要執(zhí)行海量數據傳輸操作,以及分析文件長度和文件地址。然后,在步驟102中根據分析結果劃分該文件,即,按照預定長度將該文件劃分為多個數據塊。在步驟103中,生成海量數據傳輸指令,指示每個數據塊的塊地址和塊長度,從而指示在用戶識別模塊和移動終端之間進行海量數據傳輸。在步驟104中,根據所述數據塊的塊地址和塊長度確定所述每個數據塊的起始地址。最后,在步驟105中,在用戶識別模塊和移動終端之間依次傳輸與所述起始地址對應的各數據塊,從而實現(xiàn)整個文件的傳輸。
由于用戶識別模塊和移動終端之間的數據傳輸包括移動終端從用戶識別模塊讀取數據和移動終端將數據寫入用戶識別模塊兩種方式,下面結合圖2,先以移動終端從用戶識別模塊讀取數據為例對本發(fā)明的數據傳輸方法進行詳細說明。
根據本實施方式,當移動終端需要從用戶識別模塊中讀取數據(例如,MP3文件)時,如圖2所示,首先在步驟201中,判斷是否采用海量數據讀操作讀取該文件。其中,是否采用海量數據讀取的判斷可以根據該文件的長度,或者根據移動終端接收到的用戶指令來執(zhí)行。例如,如果該文件的數據長度超過64K,則判斷為需要采用海量數據讀操作;否則,判斷為無需采用海量數據讀操作。如果經判斷,無需采用海量數據讀操作,則進入步驟202執(zhí)行普通數據傳輸(例如采用上述“Read Binary”指令)。如果經判斷,需要采用海量數據讀操作,則進入步驟203以執(zhí)行海量數據傳輸。因此,本領域技術人員可以理解,根據本發(fā)明的數據傳輸方法能夠兼容現(xiàn)有的數據傳輸方法。在步驟203中,移動終端分析待讀取文件,記錄該文件的長度和該文件在用戶識別模塊中存儲的起始物理地址等信息。在步驟204中,移動終端根據預定長度(例如,256字節(jié)),將該文件分成多個數據塊。在步驟205中,移動終端發(fā)出一條海量數據讀指令,其中該指令指示了該文件的一個數據塊的塊地址和塊長度。根據本實施方式,數據塊的塊地址是指當按照上述預定長度劃分用戶識別模塊時,各數據塊所對應的序號編碼。本領域技術人員可以理解,數據塊的塊地址并不是該數據塊的實際物理地址,而是根據該數據塊的起始地址計算出的塊的序號編碼。數據塊的起始地址等于塊地址和預定長度的乘積。通過這種方式,就可以擴展數據的尋址范圍。在步驟206中,用戶識別模塊接收來自移動終端的該條海量數據讀指令。在步驟207中,用戶識別模塊根據預定長度和接收到的海量數據讀指令中的塊地址和塊長度計算該待讀取塊的起始地址和終止地址(即,起始地址+塊長度)。在步驟208中,用戶識別模塊將與計算出的起始地址和終止地址對應的數據塊內的數據傳輸給移動終端。在步驟209中,移動終端接收并存儲該數據塊,并判斷待讀取文件是否已經全部傳輸完成(即,該數據塊是否為待讀取文件的最后一個數據塊)。如果是,則程序進入步驟210,整個文件的傳輸過程結束,如果不是,則程序返回步驟205,由移動終端發(fā)出下一條海量數據讀指令,其中指示了待讀取的下一個數據塊的塊地址和塊長度。此時,程序將重復執(zhí)行步驟205-209的過程,直到在步驟209中判斷整個文件已經全部讀出,即,程序進入步驟210,整個文件的傳輸過程結束。
可以理解,根據本發(fā)明的數據傳輸方法,當移動終端需要向用戶識別模塊中寫入數據(例如,MP3文件)時的步驟和上述讀取數據的步驟類似。下面結合圖3,具體說明從移動終端向用戶識別模塊寫入數據的數據傳輸方法。
如圖3所示,首先在步驟301中,判斷是否采用海量數據寫操作寫入該文件。其中,是否采用海量數據寫的判斷可以根據該待寫入文件的長度,或者根據移動終端接收到的用戶指令來執(zhí)行。例如,如果該文件的數據長度超過64K,則判斷為需要采用海量數據寫操作;否則,判斷為無需采用海量數據寫操作。如果經判斷,無需采用海量數據寫入方式,則進入步驟302執(zhí)行普通數據傳輸(例如采用上述“Write Binary”指令)。如果經判斷,需要采用海量數據寫操作,則進入步驟303以執(zhí)行海量數據傳輸。因此,本領域技術人員可以理解,根據本發(fā)明的數據傳輸方法能夠兼容現(xiàn)有的數據傳輸方法。在步驟303中,移動終端分析待寫入文件,在用戶識別模塊中為該文件分配存儲空間,并記錄該文件的長度和該存儲空間的起始物理地址等信息。在步驟304中,移動終端根據預定長度(例如,256字節(jié)),將該文件劃分為多個數據塊。在步驟305中,移動終端發(fā)出一條海量數據寫指令,其中該指令指示了該文件的一個數據塊的塊長度和待存儲的塊地址。根據本實施方式,數據塊的待存儲塊地址是指當按照上述預定長度劃分用戶識別模塊時,各數據塊所對應的待存儲空間的序號編碼。本領域技術人員可以理解,數據塊的塊地址并不是該數據塊將存儲在用戶識別模塊中的實際物理地址,而是根據該數據塊對應的在用戶識別模塊中的待存儲空間的起始地址計算出的塊的序號編碼。數據塊的待存儲起始地址等于塊地址和預定長度的乘積。通過這種方式,就可以擴展數據的尋址范圍。在步驟306中,用戶識別模塊接收來自移動終端的海量數據寫指令。在步驟307中,用戶識別模塊根據預定長度和接收到的海量數據寫指令中的塊地址和塊長度計算該待寫入數據塊對應的存儲空間的起始地址和終止地址(即,起始地址+塊長度)。在步驟308中,移動終端將該數據塊內的數據寫入給用戶識別模塊,并存儲到在步驟307中計算出的該數據塊對應的存儲空間中。在步驟309中,移動終端判斷待寫入文件是否已經全部寫完(即,該數據塊是否為待寫入文件的最后一個數據塊)。如果是,則程序進入步驟310,整個文件的寫入過程結束,如果不是,則程序返回步驟305,由移動終端發(fā)出下一條海量數據寫指令,其中指示了待寫入的下一個數據塊的塊地址和塊長度。此時,程序將重復執(zhí)行步驟305-309的過程,直到在步驟309中判斷整個文件已經全部寫入,該文件的傳輸過程結束。
此外,由于根據GSM11.11規(guī)范,IO的數據傳輸速率只有在系統(tǒng)剛剛啟動時才可以更改,在用戶識別模塊運行過程中無法發(fā)生變化。這種性質不利于進行大數據量的快速傳輸。為了在進行海量數據傳輸之前更改海量數據傳輸的速度,移動終端在生成海量數據傳輸指令前,先生成更改IO數據傳輸速率指令,指示更改用戶識別模塊和移動終端之間的IO數據傳輸速率。
為實現(xiàn)上述方法,本發(fā)明進一步提供了一種支持上述數據傳輸的方法的移動終端和用戶識別模塊。圖4顯示了包括支持本發(fā)明的數據傳輸方法的用戶識別模塊和移動終端的系統(tǒng)結構示意圖。
本領域技術人員可以理解,該移動終端能夠通過在現(xiàn)有的支持擴展功能的移動終端上擴展新的功能模塊的方式得到。
本發(fā)明的一個具體實施例是基于JAVA語言實現(xiàn)的,在一款支持JAVA的GSM手機上使用JAVA語言完成移動終端功能擴展程序?;贘2ME和JSR177規(guī)范,使用JAVA語言實現(xiàn)在J2ME GSM手機上的移動終端功能擴展模塊(稱之為Host應用)。如圖4所示,一種支持上述數據傳輸的方法的移動終端420包括數據存儲模塊421,用于提供大容量的存儲空間以存儲海量數據。用戶界面處理模塊422,該模塊采用J2ME標準接口,用于提供用戶操作界面。通訊協(xié)議擴展模塊423,這一部分基于JSR177規(guī)范,實現(xiàn)本HOST應用對ISO7816接口的控制,從而實現(xiàn)SIM卡的數據交互。在本實施例中,實現(xiàn)了“海量數據讀”和“海量數據寫”和“更改IO傳輸數率”三個擴展命令。數據處理模塊424,這一部分定義了一個對數據進行讀取、存儲的基本協(xié)議,所有對數據的讀取和存儲都必須基于本模塊定義的數據讀寫協(xié)議。
用戶410可以通過戶界面處理模塊422提供的用戶操作界面輸入命令,指示要求在移動終端420和用戶識別模塊430之間傳輸數據(例如,傳輸一份MP3文件)。用戶界面處理模塊422在接收到該用戶命令后,進一步判斷是否需要調用通訊協(xié)議擴展模塊以實現(xiàn)海量數據傳輸。當需要調用通訊協(xié)議擴展模塊以實現(xiàn)海量數據傳輸時,通訊協(xié)議擴展模塊用于將該文件根據預定長度(例如,256字節(jié))將文件劃分為多個數據塊,并提供“海量數據讀”和“海量數據寫”兩條數據讀寫指令,從而可以逐塊從/向用戶識別模塊讀出/寫入海量數據。
根據本實施方式,海量數據讀指令和海量數據寫指令采用符合ISO7816協(xié)議的APDU命令格式。
圖5a顯示了符合APDU命令格式的海量數據讀指令。海量數據讀指令完成的功能類似于GSM11.11規(guī)范中定義的命令“Read Binary(二進制讀)”。但是在GSM11.11規(guī)范中,Read Binary指令可以操作的文件大小不得超過64K,根據本發(fā)明定義的海量數據讀指令可以讀寫最大至16M的文件。
根據本實施方式,CLA為0×A0,為GSM系統(tǒng)標準的CLA。INS為0×E0,為擴展的一個INS,表示該APDU命令是一條“海量數據讀”指令。P1、P2兩個字節(jié)作為一個整體,指示待傳輸數據塊的塊地址。將該塊地址乘以預定長度(256字節(jié)),即可獲得希望讀取的塊的起始位置。Le代表與該塊地址對應的數據塊的長度,其值為0×00~0×FF,例如Le=0×00表示待讀取數據塊的長度為256字節(jié)。例如,對某一個APDU命令,其命令為0×A0 0×E0 0×320×EF 0×35,其含義為讀取本文件中從(0×32EF*256)開始的那個塊的前0×35個字節(jié)的數據??梢岳斫?,為便于文件傳輸,在根據預定長度劃分文件時,通常使各數據塊的長度等于預定長度(最后一個數據塊除外)。
根據本實施方式,海量數據寫指令完成的功能類似于GSM11.11規(guī)范中定義的命令“Update Binary(二進制寫)”。但是在GSM11.11規(guī)范中,UpdateBinary命令可以操作的文件大小不得超過64K,而這里定義的“Large DataUpdate”命令可以讀寫最大至16M的文件。
和海量數據讀指令類似,海量數據寫指令也采用符合ISO7816協(xié)議的APDU命令格式。圖5b顯示了符合APDU命令格式的海量數據寫指令。
根據本實施方式,CLA為0×A0,為GSM系統(tǒng)標準的CLA。INS為0×E2,為擴展的一個INS,表示該APDU命令是一條“海量數據寫”指令。P1、P2兩個字節(jié)作為一個整體,指示待傳輸數據塊的塊地址。本領域技術人員可以理解,在海量數據寫指令中指示的塊地址是指與該數據塊對應的在用戶識別模塊中分配的用于存儲該數據塊的存儲空間(存儲塊)所對應的塊地址。將該決地址乘以預定長度(256字節(jié)),即可獲得該待寫入數據塊在用戶識別模塊中對應的應寫入的起始位置。Lc代表與該塊地址對應的待寫入的數據塊的長度,其值為0×00~0×FF,例如Lc=0×00表示待寫入數據塊的長度為256字節(jié)。后續(xù)的“Data”部分代表希望進行傳輸的數據,其長度等于Lc部分指明的長度。例如,對某一個APDU命令,其命令為0×A0 0×E2 0×32 0×EF 0×350×XXXXX,其含義為向本文件中從(0×32EF*256)開始的那個塊的起始位置寫入0×35個字節(jié)的數據。
可以理解,為便于文件傳輸,在根據預定長度劃分文件時,通常使各數據塊的長度等于預定長度(最后一個數據塊除外)。
在本實施方式中,由于受到APDU命令格式的限制,預定長度的大小可以為小于256字節(jié)的任意正整數。例如,考慮到某些手機可能無法處理長度達到256字節(jié)的數據,可以選擇預定長度的大小為128字節(jié),或者200字節(jié)。但是,本領域技術人員可以理解,本發(fā)明并不僅限于采用APDU命令格式,而是可以采用其它的符合接口規(guī)范的命令格式,因此,預定長度的大小也不僅限于小于256字節(jié)。
在本實施方式中,如果選擇預定長度為256字節(jié),則海量數據讀指令或海量數據寫指令最大可以處理的文件的大小為256*65535=16,776,960字節(jié)。通過這樣,就可以獲取文件內部全部16M的數據,在很大程度上擴展了現(xiàn)有指令的尋址空間。
根據GSM11.11規(guī)范,IO的數據傳輸速率只有在系統(tǒng)剛剛啟動時才可以更改,在用戶識別模塊運行過程中無法發(fā)生變化。這種性質不利于進行大數據量的快速傳輸。因此,為了提高海量數據傳輸的速度,通訊協(xié)議擴展模塊還可以進一步提供“更改IO數據傳輸速率”的指令,從而可以在執(zhí)行海量數據傳輸前,更改IO數據傳輸速率。根據本實施方式,更改IO數據傳輸速率指令也采用符合ISO7816協(xié)議的APDU命令格式。圖5c顯示了符合APDU命令格式的更改IO數據傳輸速率。
這是一個標準的基于ISO7816的APDU命令,其中,CLA為0×A0,為GSM系統(tǒng)標準的CLA。INS為0×E4,為擴展的一個INS,表示該APDU命令是一條“更改IO數據傳輸速率”指令。P1、P2兩個字節(jié)均為0×00,在本指令中為擴展預留字節(jié)。P3指示需要實現(xiàn)的IO數據傳輸速率,例如可以采用0×11代表速率為9600(bit/s),0×95代表115200(bit/s)等。
為實現(xiàn)上述方法,本發(fā)明進一步提供了一種支持上述數據傳輸的方法的用戶識別模塊。該用戶識別模塊可以通過在現(xiàn)有的支持海量存儲的用戶識別模塊上擴展新的功能模塊的方式得到。
再次參考圖4,根據本發(fā)明的支持與移動終端之間海量數據傳輸的用戶識別模塊430包括數據存儲模塊431,提供大容量的存儲空間以存儲海量數據。通信協(xié)議擴展模塊432,用于接收由移動終端發(fā)出的海量數據讀指令或寫指令,并根據相應指令中指示的數據塊的塊地址和塊長度確定數據塊的起始地址。數據處理模塊433,根據所述起始地址,將所述數據塊讀出或者寫入用戶識別模塊。其中,通信協(xié)議擴展模塊432還能夠進一步接收由移動終端發(fā)出的更改IO數據傳輸速率指令,從而在執(zhí)行海量數據讀或寫指令前更改IO的數據傳輸速率。
本發(fā)明的一個具體實施例是基于JAVA語言實現(xiàn)的,在一款具有4M存儲空間的SIM卡上,通過功能擴展模塊,實現(xiàn)對上述“海量數據讀”和“海量數據寫”和“更改IO傳輸數率”等指令的支持。當SIM卡收到從手機傳來的這些指令后,就可以根據這些指令做出相應的響應的操作。
如上所述,通過本發(fā)明,可以將從SIM卡讀取的數據存放在手機上的特定位置,準備以后安裝和使用。并且,由于采用本發(fā)明的功能擴展模塊的海量數據傳輸方法兼容現(xiàn)有的數據傳輸方法,即使移動終端或用戶識別模塊之一不支持該海量數據傳輸方法,或者當無需使用該海量數據傳輸方法時,仍然可以采用現(xiàn)有的數據傳輸方法完成數據傳輸。
如上所示的實現(xiàn)從用戶識別模塊向移動終端傳輸數據和安裝軟件的方法可以在所有支持J2ME和JSR177的手機上執(zhí)行?;诖朔椒ǎA康臄祿梢苑奖愕膹挠脩糇R別模塊傳輸到移動終端中,并且不需對手機進行任何結構更改,僅需下載一個小的JAVA應用。因此,本發(fā)明可以為用戶提供方便、迅速的數據傳輸方法。
本發(fā)明不受上述的實施方式的限制,并且能夠在權利要求限定的本發(fā)明的范圍內進行各種改進和變化。這些改進或變化應當被視為落入本發(fā)明的保護范圍內。
權利要求
1.一種在用戶識別模塊和移動終端之間傳輸數據的方法,包括分析待傳輸數據;根據分析結果將所述待傳輸數據劃分為多個數據塊;生成海量數據傳輸指令,指示每個數據塊的塊地址和塊長度;根據所述數據塊的塊地址和塊長度確定所述每個數據塊的起始地址;以及在用戶識別模塊和移動終端之間依次傳輸與所述起始地址對應的各數據塊。
2.如權利要求1所述的在用戶識別模塊和移動終端之間傳輸數據的方法,其特征在于所述海量數據傳輸指令是海量數據讀指令或者海量數據寫指令。
3.如權利要求2所述的在用戶識別模塊和移動終端之間傳輸數據的方法,其特征在于所述根據分析結果將所述待傳輸數據劃分為多個數據塊是指按照預定長度將待傳輸數據劃分為多個數據塊;所述海量數據讀指令中所指示的塊地址是指當按照所述預定長度劃分用戶識別模塊時,各數據塊所對應的序號編碼;以及所述海量數據讀指令中所指示的塊地址是指當按照所述預定長度劃分用戶識別模塊時,各數據塊應存儲于用戶識別模塊中的相應存儲空間的序號編碼。
4.如權利要求3所述的在用戶識別模塊和移動終端之間傳輸數據的方法,其特征在于所述海量數據讀指令和海量數據寫指令符合ISO7816協(xié)議的APDU命令格式。
5.如權利要求4所述的在用戶識別模塊和移動終端之間傳輸數據的方法,其特征在于所述預定長度小于或者等于256字節(jié)。
6.如權利要求1所述的在用戶識別模塊和移動終端之間傳輸數據的方法,進一步包括在所述生成海量數據傳輸指令前,生成更改IO數據傳輸速率指令,用于更改用戶識別模塊和移動終端之間的IO數據傳輸速率。
7.如權利要求6所述的在用戶識別模塊和移動終端之間傳輸數據的方法,其特征在于所述更改IO數據傳輸速率指令符合ISO7816協(xié)議的APDU命令格式。
8.一種支持與用戶識別模塊之間海量數據傳輸的移動終端,包括數據存儲模塊,提供大容量的存儲空間以存儲海量數據;海量數據傳輸判斷模塊,分析待傳輸數據并確定是否采用海量數據傳輸方式傳輸數據;通信協(xié)議擴展模塊,當采用海量數據傳輸方式時,將待傳輸的海量數據劃分為多個數據塊,根據每個數據塊的起始地址和塊長度確定每個數據塊的塊地址,并生成海量數據讀或寫指令,該指令指示了所述每個數據塊的塊地址和塊長度;以及數據處理模塊,根據所述每個數據塊的起始地址和塊長度依次將每個數據塊寫入或者讀出用戶識別模塊。
9.如權利要求8所述的移動終端,其特征在于所述通信協(xié)議擴展模塊能夠進一步生成更改IO數據傳輸速率指令,以在生成海量數據讀或寫指令前更改IO的數據傳輸速率。
10.一種支持與移動終端之間海量數據傳輸的用戶識別模塊,包括數據存儲模塊,提供大容量的存儲空間以存儲海量數據;通信協(xié)議擴展模塊,用于接收由移動終端發(fā)出的海量數據讀或寫指令,根據該指令中指示的數據塊的塊地址和塊長度確定數據塊的起始地址;以及數據處理模塊,根據所述起始地址,將所述數據塊寫入或者讀出用戶識別模塊。
11.如權利要求10所述的用戶識別模塊,其特征在于所述通信協(xié)議擴展模塊能夠進一步接收由移動終端發(fā)出的更改IO數據傳輸速率指令,并根據所述更改IO數據傳輸速率指令指示的待執(zhí)行速率更改IO的數據傳輸速率。
全文摘要
本發(fā)明公開了一種在用戶識別模塊和移動終端之間傳輸數據的方法,包括分析待傳輸數據;根據分析結果將待傳輸數據劃分為多個數據塊;生成海量數據傳輸指令,指示每個數據塊的塊地址和塊長度;根據數據塊的塊地址和塊長度確定每個數據塊的起始地址;以及在用戶識別模塊和移動終端之間依次傳輸與起始地址對應的各數據塊。本發(fā)明進一步公開了一種支持上述方法的移動終端和用戶識別模塊。本發(fā)明擴展了普通數據傳輸命令中對數據的尋址范圍,實現(xiàn)用戶識別模塊與移動終端之間的海量數據傳輸。
文檔編號H04W88/02GK1937812SQ20061011249
公開日2007年3月28日 申請日期2006年8月22日 優(yōu)先權日2006年8月22日
發(fā)明者丁勇, 楊延輝, 秦預 申請人:鳳凰微電子(中國)有限公司