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

一種指令解析方法、裝置及智能卡的制作方法

文檔序號:6444941閱讀:283來源:國知局
專利名稱:一種指令解析方法、裝置及智能卡的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種指令解析方法、裝置及智能卡。
背景技術(shù)
隨著科技的發(fā)展,集成電路antegrated Curcuit, IC)卡以其方便、快捷的優(yōu)勢得到越來越多人的青睞。尤其是在電信,金融,政府,交通等領(lǐng)域應(yīng)用越來越廣泛,發(fā)卡量逐年快速增長。為了適應(yīng)人們的需求,卡片的容量也在不斷增加,卡片內(nèi)存儲的數(shù)據(jù)越來越大, 對卡內(nèi)數(shù)據(jù)庫的應(yīng)用的需求也不斷增加。然而IC卡自身的特點決定了它內(nèi)存小的局限性,雖然技術(shù)的不斷發(fā)展使卡的容量不斷增大,卡的內(nèi)存也不斷增大,但與大內(nèi)存設(shè)備還是無法相比,使智能卡對大容量數(shù)據(jù)的使用有很大的局限性,同時也使其支持的功能有了很大的局限性。例如,一條操作命令多是由多幀組成,當(dāng)卡內(nèi)數(shù)據(jù)庫系統(tǒng)對操作命令(例如SQL語句)進行卡內(nèi)解析時,數(shù)據(jù)庫系統(tǒng)要保存接收到的每一幀,直到接收到完整的一條操作命令,然后執(zhí)行該操作命令所指示的操作?,F(xiàn)有技術(shù)中一條完整的操作命令需要占用大量的內(nèi)存空間,由此IC卡中操作命令的解析過程占用了大量的內(nèi)存空間,進而使得其他程序由于沒有足夠的內(nèi)存而無法運行,降低了 IC卡的工作效率。

發(fā)明內(nèi)容
本發(fā)明實施例提供一種指令解析方法、裝置及智能卡,用于解決現(xiàn)有技術(shù)中執(zhí)行操作命令時需要大量的存儲空間的問題。本發(fā)明實施例提供一種指令解析方法,所述方法包括接收kl個數(shù)據(jù)幀,所述kl個數(shù)據(jù)幀為組成一條操作命令的η個數(shù)據(jù)幀中的kl 個,kl 彡 1,kl < η ;解析所述kl個數(shù)據(jù)幀,并根據(jù)解析的內(nèi)容執(zhí)行相應(yīng)的操作。本發(fā)明實施例提供一種指令解析裝置,包含于智能卡中,所述指令解析裝置包括接收單元,用于接收kl個數(shù)據(jù)幀,所述kl個數(shù)據(jù)幀為組成一條操作命令的η個數(shù)據(jù)幀中的kl個,kl ^ l,kl <n ;解析單元,用于解析所述kl個數(shù)據(jù)幀,并根據(jù)解析的內(nèi)容執(zhí)行相應(yīng)的操作。本發(fā)明實施例還提供一種智能卡,包括上述本發(fā)明實施例提供的指令解析裝置。可見,采用本發(fā)明實施例提供的方法,在接收到一條操作指令包含的一定數(shù)量的數(shù)據(jù)幀后,即對接收到的數(shù)據(jù)幀進行解析,并根據(jù)解析的內(nèi)容執(zhí)行相應(yīng)的操作;可見,該方法在不需要接收到一條操作命令的全部數(shù)據(jù)幀的情況下,就可對接收到的內(nèi)容執(zhí)行相應(yīng)操作,因此,該方法并不需要大量的存儲空間存儲接收到的操作命令,可大大節(jié)省存儲空間。


圖1為本發(fā)明實施例提供的一種指令解析方法的流程示意圖;圖2(1)為本發(fā)明實施例提供的調(diào)整后的表達式子樹(1)的結(jié)構(gòu)示意圖;圖2(2)為本發(fā)明實施例提供的調(diào)整后的表達式子樹O)的結(jié)構(gòu)示意圖;圖2(3)為本發(fā)明實施例提供的調(diào)整后的表達式子樹(3)的結(jié)構(gòu)示意圖;圖2(4)為本發(fā)明實施例提供的調(diào)整后的表達式子樹的結(jié)構(gòu)示意圖;圖2(5)為本發(fā)明實施例提供的調(diào)整后的表達式子樹(5)的結(jié)構(gòu)示意圖;圖2(6)為本發(fā)明實施例提供的調(diào)整后的表達式子樹(6)的結(jié)構(gòu)示意圖;圖2(7)為本發(fā)明實施例提供的調(diào)整后的表達式子樹(7)的結(jié)構(gòu)示意圖;圖2(8)為本發(fā)明實施例提供的調(diào)整后的表達式子樹(8)的結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例提供的一種指令解析裝置的結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明實施例提供一種指令解析方法,該方法在接收到一條操作指令包含的一定數(shù)量的數(shù)據(jù)幀后,即對接收到的數(shù)據(jù)幀進行解析,并根據(jù)解析的內(nèi)容執(zhí)行相應(yīng)的操作;可見,該方法在不需要接收到一條操作命令的全部數(shù)據(jù)幀的情況下,就可對接收到的內(nèi)容執(zhí)行相應(yīng)操作,因此,該方法并不需要大量的存儲空間存儲接收到的操作命令,可大大節(jié)省存儲空間。如圖1所示,該方法包括步驟11,接收kl個數(shù)據(jù)幀,所述kl個數(shù)據(jù)幀為組成一條操作命令的η個數(shù)據(jù)幀中的kl個,kl ^ l,kl < η;步驟12,解析所述kl個數(shù)據(jù)幀,并根據(jù)解析的內(nèi)容執(zhí)行相應(yīng)的操作。一條操作命令包含η個數(shù)據(jù)幀,在接收到這η個數(shù)據(jù)幀中的一個或多個后,就開始解析并執(zhí)行;即不用等到這η個數(shù)據(jù)幀都接收完全后再解析。進一步的,該方法還可以包括保存所述kl個數(shù)據(jù)幀中的關(guān)聯(lián)數(shù)據(jù);所述關(guān)聯(lián)數(shù)據(jù)為解析所述kl個數(shù)據(jù)幀時,未解析出的數(shù)據(jù);將所述關(guān)聯(lián)數(shù)據(jù)與后續(xù)接收到的k2個數(shù)據(jù)幀結(jié)合后進行解析,并根據(jù)解析的內(nèi)容執(zhí)行相應(yīng)的操作;所述k2個數(shù)據(jù)幀為組成所述一條操作命令的η個數(shù)據(jù)幀中的k2個,k2彡1,kl+k2彡η。其中,kl和k2可以相等,也可以不等。本發(fā)明實施例的應(yīng)用背景可以是應(yīng)用程序根據(jù)指令操作智能卡內(nèi)的其他模塊,應(yīng)用程序可以位于卡內(nèi)和卡外。本發(fā)明實施例中的操作命令可以是外部傳輸給智能卡的APDU 指令,也可以是智能卡內(nèi)部傳輸?shù)牟僮髅?。本發(fā)明實施例例如可以解析自定義格式數(shù)據(jù)、 電子錢包應(yīng)用中密鑰指令數(shù)據(jù)、應(yīng)用程序調(diào)用卡內(nèi)的數(shù)據(jù)庫系統(tǒng)的操作數(shù)據(jù)等等。自定義格式數(shù)據(jù)如自定義操作卡內(nèi)數(shù)據(jù)庫的語句,創(chuàng)建表語句、自定義訪問控制語句等;調(diào)用卡內(nèi)的數(shù)據(jù)庫系統(tǒng)的操作數(shù)據(jù)例如SQL語句。下面以對SQL語句進行解析為例進行說明。實施例本發(fā)明實施例提供一種指令解析方法,智能卡以幀(數(shù)據(jù)幀)為單位接收由SQL 語言編寫的操作命令,即將一條操作命令分成多幀接收,每幀為一個數(shù)據(jù)幀。SQL語句操作卡內(nèi)的數(shù)據(jù)庫系統(tǒng),SQL語句由PC端傳入卡內(nèi),卡內(nèi)的數(shù)據(jù)解析模塊對語句實時解析,采用分段式的處理方式,對每一幀進行緩存并實時解析,并將解析后生成的數(shù)據(jù)傳到卡內(nèi)的其他功能模塊進行相應(yīng)的處理;對于一幀指令的尾端的關(guān)聯(lián)數(shù)據(jù)(未能解析的數(shù)據(jù)),將關(guān)聯(lián)數(shù)據(jù)緩存,等待與下一幀傳來的數(shù)據(jù)重新組合在一起后進行解析; 其中緩存每一幀數(shù)據(jù)和關(guān)聯(lián)數(shù)據(jù)的緩存空間nl的大小由實際情況而定。例如一幀APDU 指令的長度為256字節(jié),字段名的長度、每個詞的長度的最大值為16字節(jié),所以nl的值可以為272個字節(jié);即用nl字節(jié)的空間可以緩存上一幀的關(guān)聯(lián)數(shù)據(jù)和當(dāng)前幀的數(shù)據(jù),這樣對于由多幀數(shù)據(jù)組成的APDU指令可以只需272個字節(jié)即可完成整個解析過程。例如插入 Ig--Bj insert into tab values ( "wang_ming" )," insert"
則“insert”是關(guān)聯(lián)數(shù)據(jù),緩存“ins”,等待下一幀數(shù)據(jù)來到后解析出“insert” ;解析到表名“tab”時,先用緩存表名“tab”,然后傳入數(shù)據(jù)處理模塊做表名查找等處理,同樣解析到插入的記錄值時,先緩存記錄如“wang”,然后傳入數(shù)據(jù)處理模塊進行插入操作,當(dāng)插入數(shù)據(jù)量大,如二進制數(shù)據(jù),一幀數(shù)據(jù)傳入的全部為記錄數(shù)據(jù)時,則可以先用η = 256個字節(jié)空間緩存記錄,傳入卡內(nèi)的數(shù)據(jù)處理模塊處理。具體的,本發(fā)明實施例中,針對一個數(shù)據(jù)幀中的第一個分隔符之前的內(nèi)容,以及相鄰兩個分隔符之間的內(nèi)容,以及最后一個分隔符之后的內(nèi)容,如果可以解析,則解析并執(zhí)行,如果無法解析,則為關(guān)聯(lián)數(shù)據(jù),緩存該關(guān)聯(lián)數(shù)據(jù)與后續(xù)的數(shù)據(jù)幀合并后解析。下面舉例說明關(guān)聯(lián)數(shù)據(jù)如SQL 語句“select SNO, SNAME, from tab where fl = "wang^and f2+f3 < (f4+f5) *5”,當(dāng)一幀數(shù)據(jù)的結(jié)尾為“SNO,SNAME”時,由于沒有表名信息”tab”,不能直接傳到數(shù)據(jù)處理模塊進行操作,所以需要將“SN0,SNAME”臨時緩存?!癝N0, SNAME"即為關(guān)聯(lián)數(shù)據(jù)的一種。本實施例可以采用壓縮存儲的方法為每一個字段名設(shè)定字段標(biāo)識,如SNO的標(biāo)識為0,SNAME的標(biāo)識為1,緩存時只存儲字段的標(biāo)識而不緩存字段的名字,從而節(jié)省了存儲空間。字段標(biāo)識是整個系統(tǒng)實現(xiàn)中的全局標(biāo)識,可通過查表獲得標(biāo)識對應(yīng)的內(nèi)容,或者預(yù)先配置標(biāo)識對應(yīng)的內(nèi)容。下面舉例說明判斷關(guān)聯(lián)數(shù)據(jù)和解析每一幀數(shù)據(jù)的具體過程可以在該智能卡中預(yù)先使用SQL語言創(chuàng)建與該智能卡相關(guān)的多張表;并根據(jù)該智能卡中的內(nèi)容創(chuàng)建對照表和對應(yīng)關(guān)系表;該對照表中可以包括表名、與表名對應(yīng)的表標(biāo)識、字段名、與字段名對應(yīng)的字段標(biāo)識、指令關(guān)鍵字、指令關(guān)鍵字對應(yīng)的指令關(guān)標(biāo)識、條件關(guān)鍵字、與條件關(guān)鍵字對應(yīng)的條件標(biāo)識;對應(yīng)關(guān)系表中包括表名、字段名、指令關(guān)標(biāo)識、條件關(guān)鍵字;其中指令關(guān)鍵字為構(gòu)成SQL語言結(jié)構(gòu)中的、且具有代表相關(guān)操作意義的關(guān)鍵字,例如,insert into、delete、 seclect等;其中insert into代表需要進行插入操作;delete代表需要進行刪除操作; seclect代表需要進行選擇操作;其中條件關(guān)鍵字為where或者if,用于限制執(zhí)行條件;其中字段名為表中的相關(guān)信息,例如wangming等??梢愿鶕?jù)數(shù)據(jù)幀中的分隔符來確定指令關(guān)鍵字,相鄰的兩個分隔符之間的內(nèi)容為一個指令關(guān)鍵字;在根據(jù)分隔符確定出指令關(guān)鍵字后,可以判斷將該指令關(guān)鍵字是否與對照表中的指令關(guān)鍵字匹配,如果匹配,則保存該指令關(guān)鍵字;如果不匹配,則不保存。若在一幀的最后沒有包括一個完整的指令關(guān)鍵字,則將不完整的字符緩存,等待與下一陣數(shù)據(jù)一并解析。例如,一個數(shù)據(jù)幀的結(jié)尾為“ ins”,該“ ins”之后不包含符號(分隔符),則將“ ins” 緩存,接收下一個數(shù)據(jù)幀后,在“ert”之后可以檢測到分隔符,此時將“ ins”與“ert”合并為指令關(guān)鍵字“insert”。其中,此處的“ins”即為關(guān)聯(lián)數(shù)據(jù)的一種。
進一步的,為了更好的節(jié)約存儲空間,在緩存指令關(guān)鍵字、表名、字段名時,可根據(jù)對應(yīng)關(guān)系表,分別確定出指令關(guān)鍵字、表名和字段名的標(biāo)識,并將對應(yīng)的標(biāo)識保存到緩存中。即緩存時只緩存標(biāo)識,而不緩存實際的數(shù)據(jù),由此可以更好的節(jié)約存儲空間。下面介紹本發(fā)明實施例中提供的分段解析條件表達式的方法。本發(fā)明實施例可以在分段解析指令的基礎(chǔ)上對條件表達式邏輯上的進一步解析采用構(gòu)建表達式樹的方式,動態(tài)構(gòu)建具有優(yōu)先級的表達式樹。首先為每一個符號設(shè)定一個權(quán)值,設(shè)定的依據(jù)是運算符優(yōu)先級的大小,優(yōu)先級越高設(shè)定的權(quán)值越小,如“ + ”的權(quán)值是 al,“< ”的權(quán)值是a2,“ = ”的權(quán)值是a3等等依次類推,al < a2 < a3。當(dāng)遇到括號時,括號內(nèi)的運算符優(yōu)先級增加。為了方便介紹,本實施例中設(shè)置條件表達式中各符號的優(yōu)先級從大到小的順序與C語言中運算符的優(yōu)先級順序相同,當(dāng)遇到括號時,括號并不被加入到結(jié)構(gòu)樹中,僅用來增加括號內(nèi)的運算符的優(yōu)先級,及括號內(nèi)運算符的優(yōu)先級高于括號外運算符的優(yōu)先級。通過以下方法解析條件表達式接收到第一段條件表達式al后,根據(jù)所述第一段條件表達式al中各個結(jié)點的優(yōu)先級,構(gòu)建表達式子樹Rl ;所述第一段條件表達式al包括至少兩個節(jié)點;接收到下一段表達式a2后,將所述表達式a2中的各個結(jié)點按照接收的先后順序, 依次添加到所述表達式子樹Rl中,得到表達式子樹R2 ;重復(fù)執(zhí)行,直至接收到最后一段表達式am后,將表達式am中的各個結(jié)點按照接收的先后順序,依次添加到表達式子樹Rm-I 中,得到表達樹Rm ;條件表達式包括m段。具體的,在將表達式a2中的各個結(jié)點按照接收的先后順序,依次添加到表達式子樹Rl的過程中,根據(jù)表達式子樹Rl和表達式a2中各個結(jié)點的優(yōu)先級,動態(tài)調(diào)整表達式子樹R1,最終生成表達式子樹R2 ;具體可以包括根據(jù)表達式a2中第1個結(jié)點的優(yōu)先級,將所述第1個結(jié)點添加到表達式子樹Rl 中,調(diào)整表達式子樹Rl,得到表達式子樹Rll ;根據(jù)表達式a2中第2個結(jié)點的優(yōu)先級,將所述第2個結(jié)點添加到表達式子樹Rll 中,調(diào)整表達式子樹Rl 1,得到表達式子樹R12 ;重復(fù)執(zhí)行,直至根據(jù)表達式a2中第s個結(jié)點的優(yōu)先級,將所述第s個結(jié)點添加到表達式子樹Rls-I中,得到表達式子樹R2 ;其中,所述表達式a2包括s個節(jié)點。其它的將后續(xù)接收到的表達式中的各個結(jié)點按照接收的先后順序,依次添加到之前表達式子樹中,形成新的表達式子樹的過程,參見上述形成表達式子樹R2的過程,在此不再贅述。其中,根據(jù)條件表達式al中各個結(jié)點(共K個結(jié)點)的優(yōu)先級構(gòu)建表達式子樹Rl 的過程例如可以為(1)根據(jù)表達式al中各個結(jié)點的接收順序,將前M(M大于或等于2)個結(jié)點按照優(yōu)先級,構(gòu)建表達式子樹M1,然后根據(jù)第M+1個結(jié)點的優(yōu)先級,將第M+1個結(jié)點添加到表達式子樹Ml中(其中,根據(jù)第M+1個結(jié)點與表達式子樹Ml的結(jié)點中的優(yōu)先級,調(diào)整表達式子樹 Ml),得到表達式子樹M2 ;(2)根據(jù)第M+2個結(jié)點的優(yōu)先級,將第M+2個結(jié)點添加到表達式子樹M2中(其中, 根據(jù)第M+2個結(jié)點與表達式子樹M2的結(jié)點中的優(yōu)先級,調(diào)整表達式子樹M2),得到表達式子樹M3 ;(η)依次類推;根據(jù)第K個結(jié)點的優(yōu)先級,將第K個結(jié)點添加到表達式子樹Mk-I中 (其中,根據(jù)第K個結(jié)點與表達式子樹Mk-I的結(jié)點中的優(yōu)先級,調(diào)整表達式子樹Mk-I),得到表達式子樹Mk (即表達式子樹Rl)。下面以 select SNO, SNAME, from tab where fl ="wang"and f2+f3 < (f4+f5) 為例進行說明。where子句中的每一個單詞都是表達式樹中的一個結(jié)點,運算符為父結(jié)點, 運算符連接的變量為孩子結(jié)點,按照子句的輸入順序先構(gòu)建每一棵表達式子樹,構(gòu)建中后輸入的運算符影響到前面子樹,將之前生成的表達式子樹做相應(yīng)的調(diào)整,直至最后整棵樹生成完成。條件關(guān)鍵字where之后依次接收到的指令字段分別為f 1_,= _“,Wang”_,and, _f2, _+_, f3_, < (f4_+,_f5, )_*,_5,如圖 2 中的(1)至(8)所示,過程如下接收第一指令字段“Π_”、第二指令字段“ =_”和第三指令字段“wang”,解析這三段指令字段形成表達式子樹,此時“H”為左孩子結(jié)點,“=”為父結(jié)點(根節(jié)點),“Wang” 為右孩子結(jié)點,參見圖2(1);接收到指令字段“AND”后,調(diào)整表達式子樹,“=”調(diào)整為左孩子結(jié)點,“AND”為“=” 的父結(jié)點;參見圖2(2);接收到指令字段“ f2 ”后,調(diào)整表達式子樹,"AND”為“=”和“ f2 ”的父結(jié)點,“ f2 ” 為右孩子結(jié)點;參見圖2(3);接收到指令字段“ + ”和“f3”后,調(diào)整表達式子樹,“AND”為“=”和“ + ”的父結(jié)點, “ + ”為“f2”和“f3”的父節(jié)點;參見圖2(4);接收到指令字段“<”后,調(diào)整后的表達式子樹參見圖2(5);接收到指令字段“(f4”后,調(diào)整后的表達式子樹參見圖2(6);接收到指令字段“ + ”和“f5”后,調(diào)整后的表達式子樹參見圖2(7);接收到指令字段“)”、“*”和“5”后,調(diào)整后的表達式樹參見圖2(8)。較佳的,本發(fā)明實施例提供以結(jié)構(gòu)樹的方式存儲表達式,可大大的節(jié)省存儲空間, 例如,使用堆棧的方式存儲進行存儲時,必須預(yù)先設(shè)置出足夠大的存儲空間,即預(yù)先設(shè)置的存儲空間應(yīng)大于表達式實際所需的存儲空間;而使用結(jié)構(gòu)樹在接收到數(shù)據(jù)幀的同時,只需給表達式劃分出實際所需的存儲空間即可。如圖3所示,本發(fā)明實施例提供一種指令解析裝置,包含于智能卡中,所述裝置包括接收單元31,用于接收kl個數(shù)據(jù)幀,所述kl個數(shù)據(jù)幀為組成一條操作命令的η個數(shù)據(jù)幀中的kl個,kl ^ l,kl <n ;解析單元32,用于解析所述kl個數(shù)據(jù)幀,并根據(jù)解析的內(nèi)容執(zhí)行相應(yīng)的操作。所述裝置還包括保存單元33,用于保存所述kl個數(shù)據(jù)幀中的關(guān)聯(lián)數(shù)據(jù);所述關(guān)聯(lián)數(shù)據(jù)為解析所述kl個數(shù)據(jù)幀時,未解析出的數(shù)據(jù);操作單元34,用于將所述關(guān)聯(lián)數(shù)據(jù)與后續(xù)接收到的k2個數(shù)據(jù)幀結(jié)合后進行解析, 并根據(jù)解析的內(nèi)容執(zhí)行相應(yīng)的操作;所述k2個數(shù)據(jù)幀為組成所述一條操作命令的η個數(shù)據(jù)幀中的k2個,k2彡1,kl+k2彡η。所述裝置還包括用于解析條件表達式的執(zhí)行單元35 ;所述執(zhí)行單元35包括
第一子單元36,用于接收到第一段條件表達式al后,根據(jù)所述第一段條件表達式 al中各個結(jié)點的優(yōu)先級,構(gòu)建表達式子樹Rl ;所述第一段條件表達式al包括至少兩個節(jié)點。第二子單元37,用于接收到下一段表達式a2后,將所述表達式a2中的各個結(jié)點按照接收的先后順序,依次添加到所述表達式子樹Rl中,得到表達式子樹R2 ;重復(fù)執(zhí)行,直至接收到最后一段表達式am后,將表達式am中的各個結(jié)點按照接收的先后順序,依次添加到表達式子樹Rm-I中,得到表達樹Rm ;條件表達式包括m段。所述第二子單元37具體用于接收到下一段表達式a2后,根據(jù)表達式a2中第1個結(jié)點的優(yōu)先級,將所述第1個結(jié)點添加到表達式子樹Rl中,調(diào)整表達式子樹R1,得到表達式子樹Rll ;根據(jù)表達式a2中第2個結(jié)點的優(yōu)先級,將所述第2個結(jié)點添加到表達式子樹Rl 1中,調(diào)整表達式子樹Rl 1,得到表達式子樹R12 ;重復(fù)執(zhí)行,直至根據(jù)表達式a2中第s個結(jié)點的優(yōu)先級,將所述第s個結(jié)點添加到表達式子樹Rls-I中,得到表達式子樹R2 ;其中,所述表達式a2包括s個節(jié)點;重復(fù)執(zhí)行,直至接收到最后一段表達式am后,將表達式am中的各個結(jié)點按照接收的先后順序,依次添加到表達式子樹Rm-I中,得到表達樹Rm ;條件表達式包括m段。本實施例中各個單元的工作原理和工作流程參見上述方法實施例中的描述,在此不再贅述。本發(fā)明實施例提供一種智能卡,該智能卡中包括上述指令解析裝置。綜上所述,有益效果采用本發(fā)明實施例提供的方法,在接收到一定數(shù)量的數(shù)據(jù)幀后,即可對接收到的數(shù)據(jù)幀進行解析,并根據(jù)解析的內(nèi)容執(zhí)行相應(yīng)的操作;可見,該方法在不需要接收到全部操作命令的情況下,就可對接收到的內(nèi)容執(zhí)行相應(yīng)操作,因此,該方法并不需要大量的存儲空間存儲接收到的操作命令,可大大節(jié)省存儲空間。較佳的,本發(fā)明實施例提供以結(jié)構(gòu)樹的方式存儲表達式,可大大的節(jié)省存儲空間, 例如,使用堆棧的方式存儲進行存儲時,必須預(yù)先設(shè)置出足夠大的存儲空間,即預(yù)先設(shè)置的存儲空間應(yīng)大于表達式實際所需的存儲空間;而使用結(jié)構(gòu)樹在接收到數(shù)據(jù)幀的同時,只需給表達式劃分出實際所需的存儲空間即可。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種指令解析方法,應(yīng)用于智能卡內(nèi),其特征在于,所述方法包括接收kl個數(shù)據(jù)幀,所述kl個數(shù)據(jù)幀為組成一條操作命令的η個數(shù)據(jù)幀中的kl個, kl 彡 1,kl < η ;解析所述kl個數(shù)據(jù)幀,并根據(jù)解析的內(nèi)容執(zhí)行相應(yīng)的操作。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括保存所述kl個數(shù)據(jù)幀中的關(guān)聯(lián)數(shù)據(jù);所述關(guān)聯(lián)數(shù)據(jù)為解析所述kl個數(shù)據(jù)幀時,未解析出的數(shù)據(jù);將所述關(guān)聯(lián)數(shù)據(jù)與后續(xù)接收到的k2個數(shù)據(jù)幀結(jié)合后進行解析,并根據(jù)解析的內(nèi)容執(zhí)行相應(yīng)的操作;所述k2個數(shù)據(jù)幀為組成所述一條操作命令的η個數(shù)據(jù)幀中的k2個,k2>l, kl+k2 彡 η。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于kl= k2。
4.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,還包括通過以下方法解析條件表達式接收到第一段條件表達式al后,根據(jù)所述第一段條件表達式al中各個結(jié)點的優(yōu)先級, 構(gòu)建表達式子樹Rl ;所述第一段條件表達式al包括至少兩個節(jié)點;接收到下一段表達式a2后,將所述表達式a2中的各個結(jié)點按照接收的先后順序,依次添加到所述表達式子樹Rl中,得到表達式子樹R2 ;重復(fù)執(zhí)行,直至接收到最后一段表達式 am后,將表達式am中的各個結(jié)點按照接收的先后順序,依次添加到表達式子樹Rm-I中,得到表達樹Rm ;條件表達式包括m段。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將所述表達式a2中的各個結(jié)點按照接收的先后順序,依次添加到所述表達式子樹Rl中,得到表達式子樹R2,包括根據(jù)表達式a2中第1個結(jié)點的優(yōu)先級,將所述第1個結(jié)點添加到表達式子樹Rl中,調(diào)整表達式子樹Rl,得到表達式子樹Rll ;根據(jù)表達式a2中第2個結(jié)點的優(yōu)先級,將所述第2個結(jié)點添加到表達式子樹Rll中, 調(diào)整表達式子樹R11,得到表達式子樹R12 ;重復(fù)執(zhí)行,直至根據(jù)表達式a2中第s個結(jié)點的優(yōu)先級,將所述第s個結(jié)點添加到表達式子樹Rls-I中,得到表達式子樹R2 ;其中,所述表達式a2包括s個節(jié)點。
6.一種指令解析裝置,包含于智能卡中,其特征在于,所述裝置包括接收單元,用于接收kl個數(shù)據(jù)幀,所述kl個數(shù)據(jù)幀為組成一條操作命令的η個數(shù)據(jù)幀中的kl個,kl彡1,kl < η ;解析單元,用于解析所述kl個數(shù)據(jù)幀,并根據(jù)解析的內(nèi)容執(zhí)行相應(yīng)的操作。
7.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括保存單元,用于保存所述kl個數(shù)據(jù)幀中的關(guān)聯(lián)數(shù)據(jù);所述關(guān)聯(lián)數(shù)據(jù)為解析所述kl個數(shù)據(jù)幀時,未解析出的數(shù)據(jù);操作單元,用于將所述關(guān)聯(lián)數(shù)據(jù)與后續(xù)接收到的k2個數(shù)據(jù)幀結(jié)合后進行解析,并根據(jù)解析的內(nèi)容執(zhí)行相應(yīng)的操作;所述k2個數(shù)據(jù)幀為組成所述一條操作命令的η個數(shù)據(jù)幀中的 k2 個,k2 彡 1,kl+k2 ^ η。
8.如權(quán)利要求6或7所述的裝置,其特征在于,所述裝置還包括用于解析條件表達式的執(zhí)行單元;所述執(zhí)行單元包括第一子單元,用于接收到第一段條件表達式al后,根據(jù)所述第一段條件表達式al中各個結(jié)點的優(yōu)先級,構(gòu)建表達式子樹Rl ;所述第一段條件表達式al包括至少兩個節(jié)點;第二子單元,用于接收到下一段表達式a2后,將所述表達式a2中的各個結(jié)點按照接收的先后順序,依次添加到所述表達式子樹Rl中,得到表達式子樹R2 ;重復(fù)執(zhí)行,直至接收到最后一段表達式am后,將表達式am中的各個結(jié)點按照接收的先后順序,依次添加到表達式子樹Rm-I中,得到表達樹Rm;條件表達式包括m段。
9.如權(quán)利求8所述的裝置,其特征在于,所述第二子單元具體用于接收到下一段表達式a2后,根據(jù)表達式a2中第1個結(jié)點的優(yōu)先級,將所述第1個結(jié)點添加到表達式子樹Rl中,調(diào)整表達式子樹R1,得到表達式子樹Rll ;根據(jù)表達式a2中第2 個結(jié)點的優(yōu)先級,將所述第2個結(jié)點添加到表達式子樹Rl 1中,調(diào)整表達式子樹Rl 1,得到表達式子樹R12 ;重復(fù)執(zhí)行,直至根據(jù)表達式a2中第s個結(jié)點的優(yōu)先級,將所述第s個結(jié)點添加到表達式子樹Rls-I中,得到表達式子樹R2;其中,所述表達式a2包括s個節(jié)點;重復(fù)執(zhí)行,直至接收到最后一段表達式am后,將表達式am中的各個結(jié)點按照接收的先后順序,依次添加到表達式子樹Rm-I中,得到表達樹Rm ;條件表達式包括m段。
10.一種智能卡,其特征在于,包括如權(quán)利要求6-9任一所述的指令解析裝置。
全文摘要
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種指令解析方法、裝置及智能卡,用于解決現(xiàn)有技術(shù)中執(zhí)行操作命令時需要大量的存儲空間的問題。該方法包括接收k1個數(shù)據(jù)幀,所述k1個數(shù)據(jù)幀為組成一條操作命令的n個數(shù)據(jù)幀中的k1個,k1≥1,k1<n;解析所述k1個數(shù)據(jù)幀,并根據(jù)解析的內(nèi)容執(zhí)行相應(yīng)的操作??梢?,該方法可節(jié)省存儲空間。
文檔編號G06F9/30GK102566971SQ201110460438
公開日2012年7月11日 申請日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者王亞秀, 郭雁斌 申請人:北京握奇數(shù)據(jù)系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
徐汇区| 双流县| 平罗县| 恩平市| 南部县| 达日县| 玛沁县| 伽师县| 上蔡县| 沙湾县| 施甸县| 乐东| 灯塔市| 马山县| 邹平县| 祁阳县| 庄浪县| 合川市| 大田县| 九龙坡区| 屏南县| 阿荣旗| 民县| 凤台县| 黄梅县| 赫章县| 横山县| 平果县| 富裕县| 大埔县| 长岛县| 布拖县| 苍溪县| 白水县| 南川市| 芦山县| 宁远县| 巴东县| 和静县| 仙游县| 绵竹市|