1.一種終端設(shè)備高效率數(shù)據(jù)處理方法,其特征在于,包括:
步驟S1:終端設(shè)備接收上位機(jī)發(fā)送來(lái)的命令報(bào)文;
步驟S2:所述終端設(shè)備讀取所述命令報(bào)文中的指令序列,根據(jù)所述指令序列依次執(zhí)行相應(yīng)操作得到一系列操作結(jié)果;或者所述終端設(shè)備讀取所述命令報(bào)文中的指令序列,將所述指令序列依次發(fā)送給卡片,接收所述卡片返回的一系列操作結(jié)果;
步驟S3:當(dāng)所述命令報(bào)文中的指令序列全部處理完成時(shí),所述終端設(shè)備將所述操作結(jié)果返回給所述上位機(jī)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S2之前,還包括:所述終端設(shè)備判斷所述命令報(bào)文是否正確,是則執(zhí)行步驟S2;否則返回錯(cuò)誤碼給上位機(jī),結(jié)束。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述終端設(shè)備判斷所述命令報(bào)文是否正確,具體為:
所述終端設(shè)備判斷所述命令報(bào)文中第一預(yù)設(shè)字節(jié)上的數(shù)據(jù)所示的長(zhǎng)度與所述命令報(bào)文中的指令序列對(duì)應(yīng)的各數(shù)據(jù)元的總長(zhǎng)度是否相等,是則確認(rèn)所述命令報(bào)文正確,否則確認(rèn)所述命令報(bào)文不正確;
或者,
所述終端設(shè)備判斷所述命令報(bào)文中第一預(yù)設(shè)字節(jié)上的數(shù)據(jù)所示的長(zhǎng)度與所述命令報(bào)文中的指令序列及各分隔標(biāo)識(shí)的總長(zhǎng)度是否相等,是則確認(rèn)所述命令報(bào)文正確,否則確認(rèn)所述命令報(bào)文不正確。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S2中,所述終端設(shè)備讀取所述命令報(bào)文中的指令序列,具體為:
所述終端設(shè)備解析所述命令報(bào)文得到各數(shù)據(jù)元,讀取所述各數(shù)據(jù)元中的指令得到指令序列;
或者,
所述終端設(shè)備解析所述命令報(bào)文得到各分隔標(biāo)識(shí),根據(jù)得到的各分隔標(biāo)識(shí)讀取指令得到指令序列。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S2,具體包括:
步驟W1:所述終端設(shè)備將所述命令報(bào)文中的指令序列中未讀取到的指令作為當(dāng)前待處理數(shù)據(jù),讀取所述當(dāng)前待處理數(shù)據(jù)中的第一條指令,將其作為當(dāng)前指令;
步驟W2:所述終端設(shè)備根據(jù)所述當(dāng)前指令執(zhí)行相應(yīng)操作得到操作結(jié)果;或者將所述當(dāng)前指令發(fā)送給卡片,接收所述卡片返回的操作結(jié)果;
所述步驟S3,具體為:所述終端設(shè)備判斷所述當(dāng)前指令是否為所述當(dāng)前待處理數(shù)據(jù)中的最后一條指令,是則確認(rèn)所述命令報(bào)文中的指令序列全部處理完成,將所述操作結(jié)果返回給所述上位機(jī);否則,返回步驟W1。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S2,具體包括:
步驟Q1:所述終端設(shè)備將所述命令報(bào)文中的指令序列中未讀取到的指令作為當(dāng)前待解析數(shù)據(jù),讀取所述當(dāng)前待解析數(shù)據(jù)中的第一條指令,并將讀取到的指令順序保存到預(yù)設(shè)存儲(chǔ)區(qū)中;
步驟Q2:所述終端設(shè)備判斷所述讀取到的指令是否為所述當(dāng)前待解析數(shù)據(jù)中的最后一條指令,是則執(zhí)行步驟Q3,否則返回步驟Q1;
步驟Q3:所述終端設(shè)備將所述預(yù)設(shè)存儲(chǔ)區(qū)中的指令作為當(dāng)前待處理數(shù)據(jù),讀取所述當(dāng)前待處理數(shù)據(jù)中的第一條指令作為當(dāng)前指令,根據(jù)所述當(dāng)前指令執(zhí)行相應(yīng)操作得到操作結(jié)果;或者將所述當(dāng)前指令發(fā)送給卡片,接收所述卡片返回的操作結(jié)果;
步驟Q4:所述終端設(shè)備將所述當(dāng)前指令從所述預(yù)設(shè)存儲(chǔ)區(qū)中移除;
所述步驟S3,具體為:所述終端設(shè)備判斷所述預(yù)設(shè)存儲(chǔ)區(qū)中是否還有指令,是則返回步驟Q3;否則確認(rèn)所述命令報(bào)文中的指令序列全部處理完成,將所述操作結(jié)果返回給所述上位機(jī)。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述終端設(shè)備中同時(shí)運(yùn)行第一線程和第二線程,所述步驟S2,具體包括:
所述終端設(shè)備運(yùn)行所述第一線程,執(zhí)行以下操作:
步驟H1:所述終端設(shè)備將所述命令報(bào)文中的指令序列中未讀取到的指令作為當(dāng)前待解析數(shù)據(jù),讀取所述當(dāng)前待解析數(shù)據(jù)中的第一條指令,并將讀取到的指令順序保存到預(yù)設(shè)存儲(chǔ)區(qū)中;
步驟H2:所述終端設(shè)備判斷所述讀取到的指令是否為所述當(dāng)前待解析數(shù)據(jù)中的最后一條指令,是則結(jié)束,否則返回步驟H1;
所述終端設(shè)備運(yùn)行所述第二線程,執(zhí)行以下操作:
步驟R1:所述終端設(shè)備訪問(wèn)所述預(yù)設(shè)存儲(chǔ)區(qū),當(dāng)檢測(cè)到所述預(yù)設(shè)存儲(chǔ)區(qū)中有指令時(shí),執(zhí)行步驟R2;
步驟R2:所述終端設(shè)備將所述預(yù)設(shè)存儲(chǔ)區(qū)中的指令作為當(dāng)前待處理數(shù)據(jù),讀取所述當(dāng)前待處理數(shù)據(jù)中的第一條指令作為當(dāng)前指令;根據(jù)所述當(dāng)前指令執(zhí)行相應(yīng)操作得到操作結(jié)果;或者將所述當(dāng)前指令發(fā)送給卡片,接收所述卡片返回的操作結(jié)果;
步驟R3:所述終端設(shè)備將所述當(dāng)前指令從所述預(yù)設(shè)存儲(chǔ)區(qū)中移除;
所述步驟S3,具體為:所述終端設(shè)備判斷所述預(yù)設(shè)存儲(chǔ)區(qū)中是否還有指令,是則返回步驟R2;否則確認(rèn)所述命令報(bào)文中的指令序列全部處理完成,將所述操作結(jié)果返回給所述上位機(jī)。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S2中,所述將所述指令序列依次發(fā)送給卡片之前,還包括:
步驟D1:所述終端設(shè)備判斷當(dāng)前待發(fā)送指令對(duì)應(yīng)的數(shù)據(jù)元中第一個(gè)字節(jié)上的數(shù)據(jù)是否為第一預(yù)設(shè)值,是則執(zhí)行卡片復(fù)位操作,接收所述卡片返回的操作結(jié)果,否則將當(dāng)前待發(fā)送指令發(fā)送給卡片,接收所述卡片返回的操作結(jié)果。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S2中,當(dāng)所述卡片返回的操作結(jié)果為操作失敗時(shí),還包括:
步驟F1:所述終端設(shè)備判斷與所述操作失敗結(jié)果對(duì)應(yīng)的指令是否為所述指令序列中的最后一條指令,是則確認(rèn)所述命令報(bào)文中的指令序列全部處理完成,執(zhí)行步驟S3;否則執(zhí)行步驟F2;
步驟F2:所述終端設(shè)備判斷是否繼續(xù)讀取所述指令序列中未讀取到的指令,是則繼續(xù)執(zhí)行步驟S2,否則將已接收到的操作結(jié)果返回給所述上位機(jī),結(jié)束。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述步驟F2中,所述終端設(shè)備判斷是否繼續(xù)讀取所述指令序列中未讀取到的指令,具體為:
所述終端設(shè)備將與所述操作失敗結(jié)果對(duì)應(yīng)的指令所對(duì)應(yīng)的數(shù)據(jù)元中第三預(yù)設(shè)字節(jié)上的數(shù)據(jù)與第二預(yù)設(shè)值做與運(yùn)算得到運(yùn)算結(jié)果,將所述運(yùn)算結(jié)果轉(zhuǎn)換為二進(jìn)制表示,判斷二進(jìn)制表示的所述運(yùn)算結(jié)果中最高位上的數(shù)據(jù)是否為第一預(yù)設(shè)數(shù)據(jù),是則確認(rèn)繼續(xù)讀取所述指令序列中未讀取到的指令,否則確認(rèn)不繼續(xù)讀取所述指令序列中未讀取到的指令;
或者,
所述終端設(shè)備判斷與所述操作失敗結(jié)果對(duì)應(yīng)的指令所對(duì)應(yīng)的數(shù)據(jù)元中第四預(yù)設(shè)字節(jié)上的數(shù)據(jù)是否為第三預(yù)設(shè)值,是則確認(rèn)繼續(xù)讀取所述指令序列中未讀取到的指令,否則確認(rèn)不繼續(xù)讀取所述指令序列中未讀取到的指令。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S2,還包括:當(dāng)所述指令序列的其中一條指令處理失敗時(shí),執(zhí)行步驟M;
步驟M:所述終端設(shè)備將當(dāng)前已得到的操作結(jié)果或者當(dāng)前已接收到的操作結(jié)果順序拼接,并與所述指令序列中未處理的指令的個(gè)數(shù)對(duì)應(yīng),在拼接后的操作結(jié)果之后填充相同個(gè)數(shù)的第二預(yù)設(shè)數(shù)據(jù)得到響應(yīng)報(bào)文,將所述響應(yīng)報(bào)文返回給所述上位機(jī)。
12.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S2,還包括:當(dāng)所述指令序列的其中一條指令處理失敗時(shí),執(zhí)行步驟N;
步驟N:所述終端設(shè)備返回錯(cuò)誤碼給所述上位機(jī),結(jié)束。
13.根據(jù)權(quán)利要求1所述的方法,其特征在于,
所述步驟S2中,所述終端設(shè)備讀取所述命令報(bào)文中的指令序列之后,還包括:
所述終端設(shè)備根據(jù)預(yù)設(shè)方式更新計(jì)數(shù)標(biāo)識(shí);
當(dāng)所述指令序列的其中一條指令處理失敗時(shí),執(zhí)行步驟L;
步驟L:所述終端設(shè)備將失敗操作結(jié)果同所述計(jì)數(shù)標(biāo)識(shí)的當(dāng)前計(jì)數(shù)值一同返回給所述上位機(jī),結(jié)束。
14.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S2中,還包括:當(dāng)所述終端設(shè)備接收到的操作結(jié)果小于第四預(yù)設(shè)值時(shí),將所述接收到的操作結(jié)果返回給所述上位機(jī),結(jié)束。
15.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S2中,當(dāng)所述終端設(shè)備讀取所述指令序列中第一條指令時(shí),將讀取到的指令發(fā)送給卡片之前,還包括:
步驟P:所述終端設(shè)備判斷卡片類型,并根據(jù)所述卡片類型執(zhí)行選卡操作,如果操作成功,則將讀取到的指令發(fā)送給卡片;如果操作失敗,則返回錯(cuò)誤碼給所述上位機(jī),結(jié)束。
16.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S3中,所述終端設(shè)備將所述操作結(jié)果返回給所述上位機(jī),具體為:
所述終端設(shè)備將所述一系列數(shù)據(jù)元結(jié)構(gòu)的操作結(jié)果順序拼接得到響應(yīng)報(bào)文,將所述響應(yīng)報(bào)文返回給所述上位機(jī);
或者,
所述終端設(shè)備將所述一系列操作結(jié)果順序拼接,并在每相鄰的兩個(gè)操作結(jié)果之間添加預(yù)設(shè)分隔標(biāo)識(shí)得到響應(yīng)報(bào)文,將所述響應(yīng)報(bào)文返回給所述上位機(jī);
或者,
所述終端設(shè)備所述一系列操作結(jié)果中最后一個(gè)操作結(jié)果返回給所述上位機(jī)。
17.一種高效率數(shù)據(jù)處理終端設(shè)備,其特征在于,包括:
第一接收模塊、第一讀取模塊、執(zhí)行模塊和第一發(fā)送模塊;
或者,
所述第一接收模塊、所述第一讀取模塊、所述第一發(fā)送模塊、第二發(fā)送模塊和第二接收模塊;
所述第一接收模塊,用于接收上位機(jī)發(fā)送來(lái)的命令報(bào)文;
所述第一讀取模塊:用于讀取所述第一接收模塊接收到的命令報(bào)文中的指令序列;
所述執(zhí)行模塊,用于根據(jù)所述第一讀取模塊讀取到的指令序列依次執(zhí)行相應(yīng)操作得到一系列操作結(jié)果;
所述第二發(fā)送模塊,用于將所述第一讀取模塊讀取到的指令序列依次發(fā)送給卡片;
所述第二接收模塊,用于接收所述卡片返回的操作結(jié)果;
所述第一發(fā)送模塊,用于當(dāng)所述命令報(bào)文中的指令序列全部處理完成時(shí),將操作結(jié)果返回給所述上位機(jī)。
18.根據(jù)權(quán)利要求17所述的終端設(shè)備,其特征在于,還包括:第一判斷模塊;
所述第一判斷模塊,用于所述第一讀取模塊讀取所述第一接收模塊接收到的命令報(bào)文中的指令序列之前,判斷所述第一接收模塊接收到的命令報(bào)文是否正確;
所述第一讀取模塊,具體用于:當(dāng)所述第一判斷模塊判斷出所述第一接收模塊接收到的命令報(bào)文正確時(shí),讀取所述第一接收模塊接收到的命令報(bào)文中的指令序列;
所述第一發(fā)送模塊,還用于當(dāng)所述第一判斷模塊判斷出所述第一接收模塊接收到的命令報(bào)文不正確時(shí),返回錯(cuò)誤碼給上位機(jī),結(jié)束。
19.根據(jù)權(quán)利要求18所述的終端設(shè)備,其特征在于,所述第一判斷模塊,具體用于:
判斷所述命令報(bào)文中第一預(yù)設(shè)字節(jié)上的數(shù)據(jù)所示的長(zhǎng)度與所述命令報(bào)文中的指令序列對(duì)應(yīng)的各數(shù)據(jù)元的總長(zhǎng)度是否相等,是則確認(rèn)所述命令報(bào)文正確,否則確認(rèn)所述命令報(bào)文不正確;
或者,
判斷所述命令報(bào)文中第一預(yù)設(shè)字節(jié)上的數(shù)據(jù)所示的長(zhǎng)度與所述命令報(bào)文中的指令序列及各分隔標(biāo)識(shí)的總長(zhǎng)度是否相等,是則確認(rèn)所述命令報(bào)文正確,否則確認(rèn)所述命令報(bào)文不正確。
20.根據(jù)權(quán)利要求17所述的終端設(shè)備,其特征在于,所述第一讀取模塊,具體用于:
解析所述命令報(bào)文得到各數(shù)據(jù)元,讀取所述各數(shù)據(jù)元中的指令得到指令序列;
或者,
解析所述命令報(bào)文得到各分隔標(biāo)識(shí),根據(jù)得到的各分隔標(biāo)識(shí)讀取指令得到指令序列。
21.根據(jù)權(quán)利要求17所述的終端設(shè)備,其特征在于,還包括:第二判斷模塊;
所述第一讀取模塊,具體用于:將所述命令報(bào)文中的指令序列中未讀取到的指令作為當(dāng)前待處理數(shù)據(jù),讀取所述當(dāng)前待處理數(shù)據(jù)中的第一條指令,將其作為當(dāng)前指令;
所述執(zhí)行模塊,具體用于:根據(jù)所述當(dāng)前指令執(zhí)行相應(yīng)操作得到操作結(jié)果;
所述第二發(fā)送模塊,具體用于:將所述當(dāng)前指令發(fā)送給卡片;
所述第二判斷模塊,具體用于:判斷所述當(dāng)前指令是否為所述當(dāng)前待處理數(shù)據(jù)中的最后一條指令;
所述第一發(fā)送模塊,具體用于:當(dāng)所述第二判斷模塊判斷出所述當(dāng)前指令是所述當(dāng)前待處理數(shù)據(jù)中的最后一條指令時(shí),確認(rèn)所述命令報(bào)文中的指令序列全部處理完成,將操作結(jié)果返回給所述上位機(jī);
所述第一讀取模塊,還用于當(dāng)所述第二判斷模塊判斷出所述當(dāng)前指令不是所述當(dāng)前待處理數(shù)據(jù)中的最后一條指令時(shí),將所述命令報(bào)文中的指令序列中未讀取到的指令作為當(dāng)前待處理數(shù)據(jù),并讀取所述當(dāng)前待處理數(shù)據(jù)中的第一條指令,將其作為當(dāng)前指令。
22.根據(jù)權(quán)利要求17所述的終端設(shè)備,其特征在于,還包括:第一保存模塊、第二判斷模塊、第二讀取模塊、第一移除模塊和第三判斷模塊;
所述第一讀取模塊,用于將所述命令報(bào)文中的指令序列中未讀取到的指令作為當(dāng)前待解析數(shù)據(jù),讀取所述當(dāng)前待解析數(shù)據(jù)中的第一條指令;
所述第一保存模塊,用于將所述第一讀取模塊讀取到的指令順序保存到預(yù)設(shè)存儲(chǔ)區(qū)中;
所述第二判斷模塊,用于判斷所述第一讀取模塊讀取到的指令是否為所述當(dāng)前待解析數(shù)據(jù)中的最后一條指令;
所述第一讀取模塊,還用于當(dāng)所述第二判斷模塊判斷出所述第一讀取模塊讀取到的指令不是所述當(dāng)前待解析數(shù)據(jù)中的最后一條指令時(shí),將所述命令報(bào)文中的指令序列中未讀取到的指令作為當(dāng)前待解析數(shù)據(jù),讀取所述當(dāng)前待解析數(shù)據(jù)中的第一條指令;
所述第二讀取模塊,用于當(dāng)所述第二判斷模塊判斷出所述第一讀取模塊讀取到的指令是所述當(dāng)前待解析數(shù)據(jù)中的最后一條指令時(shí),將所述預(yù)設(shè)存儲(chǔ)區(qū)中的指令作為當(dāng)前待處理數(shù)據(jù),讀取所述當(dāng)前待處理數(shù)據(jù)中的第一條指令作為當(dāng)前指令;
所述執(zhí)行模塊,用于根據(jù)所述第二讀取模塊讀取到的當(dāng)前指令執(zhí)行相應(yīng)操作得到操作結(jié)果;
所述第二發(fā)送模塊,具體用于:將所述第二讀取模塊讀取到的當(dāng)前指令發(fā)送給卡片;
所述第一移除模塊,用于當(dāng)所述執(zhí)行模塊根據(jù)所述當(dāng)前指令執(zhí)行相應(yīng)操作得到操作結(jié)果之后,將所述當(dāng)前指令從所述預(yù)設(shè)存儲(chǔ)區(qū)中移除;還用于當(dāng)所述第二接收模塊接收到卡片返回的操作結(jié)果之后,將所述當(dāng)前指令從所述預(yù)設(shè)存儲(chǔ)區(qū)中移除;
所述第三判斷模塊,用于所述第一移除模塊將所述當(dāng)前指令從所述預(yù)設(shè)存儲(chǔ)區(qū)中移除之后,判斷所述預(yù)設(shè)存儲(chǔ)區(qū)中是否還有指令;
所述第二讀取模塊,還用于當(dāng)所述第三判斷模塊判斷出所述預(yù)設(shè)存儲(chǔ)區(qū)中有指令時(shí),將所述預(yù)設(shè)存儲(chǔ)區(qū)中的指令作為當(dāng)前待處理數(shù)據(jù),讀取所述當(dāng)前待處理數(shù)據(jù)中的第一條指令作為當(dāng)前指令;
所述第一發(fā)送模塊,具體用于:當(dāng)所述第三判斷模塊判斷出所述預(yù)設(shè)存儲(chǔ)區(qū)中沒(méi)有指令時(shí),確認(rèn)所述命令報(bào)文中的指令序列全部處理完成,將操作結(jié)果返回給上位機(jī)。
23.根據(jù)權(quán)利要求17所述的終端設(shè)備,其特征在于,還包括:第二保存模塊、第四判斷模塊、檢測(cè)模塊、第三讀取模塊、第二移除模塊和第五判斷模塊;
所述第一讀取模塊,用于將所述命令報(bào)文中的指令序列中未讀取到的指令作為當(dāng)前待解析數(shù)據(jù),讀取所述當(dāng)前待解析數(shù)據(jù)中的第一條指令;
所述第二保存模塊,還用于將所述第一讀取模塊讀取到的指令順序保存到預(yù)設(shè)存儲(chǔ)區(qū)中;
所述第四判斷模塊,用于判斷所述第一讀取模塊讀取到的指令是否為所述當(dāng)前待解析數(shù)據(jù)中的最后一條指令;
所述第一讀取模塊,還用于當(dāng)所述第四判斷模塊判斷出所述第一讀取模塊讀取到的指令不是所述當(dāng)前待解析數(shù)據(jù)中的最后一條指令時(shí),將所述指令序列中未讀取到的指令作為當(dāng)前待解析數(shù)據(jù),讀取所述當(dāng)前待解析數(shù)據(jù)中的第一條指令;
所述終端設(shè)備中運(yùn)行所述第一讀取模塊、所述第二保存模塊和所述第四判斷模塊的同時(shí),還運(yùn)行所述檢測(cè)模塊、所述第三讀取模塊、所述執(zhí)行模塊、所述第二移除模塊和所述第五判斷模塊;或者,還運(yùn)行所述檢測(cè)模塊、所述第三讀取模塊、所述第二發(fā)送模塊、所述第二移除模塊和所述第五判斷模塊;
所述檢測(cè)模塊,用于訪問(wèn)所述預(yù)設(shè)存儲(chǔ)區(qū),檢測(cè)所述預(yù)設(shè)存儲(chǔ)區(qū)中是否有指令;
所述第三讀取模塊,用于當(dāng)所述檢測(cè)模塊檢測(cè)到所述預(yù)設(shè)存儲(chǔ)區(qū)中有指令時(shí),將所述預(yù)設(shè)存儲(chǔ)區(qū)中的指令作為當(dāng)前待處理數(shù)據(jù),讀取所述當(dāng)前待處理數(shù)據(jù)中的第一條指令作為當(dāng)前指令;
所述執(zhí)行模塊,具體用于:根據(jù)所述第三讀取模塊讀取到的當(dāng)前指令執(zhí)行相應(yīng)操作得到操作結(jié)果;
所述第二發(fā)送模塊,具體用于:將所述第三讀取模塊讀取到的當(dāng)前指令發(fā)送給卡片;
所述第二移除模塊,用于當(dāng)所述執(zhí)行模塊根據(jù)所述當(dāng)前指令執(zhí)行相應(yīng)操作得到操作結(jié)果之后,將所述當(dāng)前指令從所述預(yù)設(shè)存儲(chǔ)區(qū)中移除;還用于當(dāng)所述第二接收模塊接收到卡片返回的操作結(jié)果之后,將所述當(dāng)前指令從所述預(yù)設(shè)存儲(chǔ)區(qū)中移除;
所述第五判斷模塊,用于所述第二移除模塊將所述當(dāng)前指令從所述預(yù)設(shè)存儲(chǔ)區(qū)中移除之后,判斷所述預(yù)設(shè)存儲(chǔ)區(qū)中是否還有指令;
所述第三讀取模塊,還用于當(dāng)所述第五判斷模塊判斷出所述預(yù)設(shè)存儲(chǔ)區(qū)中還有指令時(shí),將所述預(yù)設(shè)存儲(chǔ)區(qū)中的指令作為當(dāng)前待處理數(shù)據(jù),讀取所述當(dāng)前待處理數(shù)據(jù)中的第一條指令作為當(dāng)前指令;
所述第一發(fā)送模塊,具體用于:當(dāng)所述第五判斷模塊判斷出所述預(yù)設(shè)存儲(chǔ)區(qū)中沒(méi)有指令時(shí),確認(rèn)所述命令報(bào)文中的指令序列全部處理完成,將操作結(jié)果返回給上位機(jī)。
24.根據(jù)權(quán)利要求17所述的終端設(shè)備,其特征在于,還包括:第六判斷模塊和第二執(zhí)行模塊;
所述第六判斷模塊,用于所述第二發(fā)送模塊將所述指令序列依次發(fā)送給卡片之前,判斷當(dāng)前待發(fā)送指令對(duì)應(yīng)的數(shù)據(jù)元中第一個(gè)字節(jié)上的數(shù)據(jù)是否為第一預(yù)設(shè)值;
所述第二執(zhí)行模塊,用于當(dāng)所述第六判斷模塊判斷出當(dāng)前待發(fā)送指令對(duì)應(yīng)的數(shù)據(jù)元中第一個(gè)字節(jié)上的數(shù)據(jù)是第一預(yù)設(shè)值時(shí),執(zhí)行卡片復(fù)位操作;
所述第二發(fā)送模塊,具體用于:當(dāng)所述第六判斷模塊判斷出當(dāng)前待發(fā)送指令對(duì)應(yīng)的數(shù)據(jù)元中第一個(gè)字節(jié)上的數(shù)據(jù)不是第一預(yù)設(shè)值時(shí),將所述當(dāng)前待發(fā)送指令發(fā)送給卡片。
25.根據(jù)權(quán)利要求17所述的終端設(shè)備,其特征在于,還包括:第七判斷模塊和第八判斷模塊;
所述第七判斷模塊,用于當(dāng)所述卡片返回的操作結(jié)果為操作失敗時(shí),判斷與所述操作失敗結(jié)果對(duì)應(yīng)的指令是否為所述指令序列中的最后一條指令;
所述第一發(fā)送模塊,還用于:當(dāng)所述第七判斷模塊判斷出與所述操作失敗結(jié)果對(duì)應(yīng)的指令是所述指令序列中的最后一條指令時(shí),確認(rèn)所述命令報(bào)文中的指令序列全部處理完成,將操作結(jié)果返回給上位機(jī);
所述第八判斷模塊,用于當(dāng)所述第七判斷模塊判斷出與所述操作失敗結(jié)果對(duì)應(yīng)的指令不是所述指令序列中的最后一條指令時(shí),判斷是否繼續(xù)讀取所述指令序列中未讀取到的指令;
所述第一讀取模塊,還用于當(dāng)所述第八判斷模塊判斷出繼續(xù)讀取所述指令序列中未讀取到的指令時(shí),讀取所述命令報(bào)文中的指令序列;
所述第一發(fā)送模塊,還用于當(dāng)所述第八判斷模塊判斷出不繼續(xù)讀取所述指令序列中未讀取到的指令時(shí),將已接收到的操作結(jié)果返回給所述上位機(jī),結(jié)束。
26.根據(jù)權(quán)利要求25所述的終端設(shè)備,其特征在于,所述第八判斷模塊,具體用于:
將與所述操作失敗結(jié)果對(duì)應(yīng)的指令所對(duì)應(yīng)的數(shù)據(jù)元中第三預(yù)設(shè)字節(jié)上的數(shù)據(jù)與第二預(yù)設(shè)值做與運(yùn)算得到運(yùn)算結(jié)果,將所述運(yùn)算結(jié)果轉(zhuǎn)換為二進(jìn)制表示,判斷二進(jìn)制表示的所述運(yùn)算結(jié)果中最高位上的數(shù)據(jù)是否為第一預(yù)設(shè)數(shù)據(jù),是則確認(rèn)繼續(xù)讀取所述指令序列中未讀取到的指令,否則確認(rèn)不繼續(xù)讀取所述指令報(bào)文中未讀取到的指令;
或者,
判斷與所述操作失敗結(jié)果對(duì)應(yīng)的指令所對(duì)應(yīng)的數(shù)據(jù)元中第四預(yù)設(shè)字節(jié)上的數(shù)據(jù)是否為第三預(yù)設(shè)值,是則確認(rèn)繼續(xù)讀取所述指令序列中未讀取到的指令,否則確認(rèn)不繼續(xù)讀取所述指令序列中未讀取到的指令。
27.根據(jù)權(quán)利要求17所述的終端設(shè)備,其特征在于,所述第一發(fā)送模塊,還用于當(dāng)所述指令序列的其中一條指令處理失敗時(shí),將當(dāng)前已得到的操作結(jié)果或者當(dāng)前已接收到的操作結(jié)果順序拼接,并與所述指令序列中未處理的指令的個(gè)數(shù)對(duì)應(yīng),在拼接后的操作結(jié)果之后填充相同個(gè)數(shù)的第二預(yù)設(shè)數(shù)據(jù)得到響應(yīng)報(bào)文,將所述響應(yīng)報(bào)文返回給所述上位機(jī)。
28.根據(jù)權(quán)利要求17所述的終端設(shè)備,其特征在于,所述第一發(fā)送模塊,還用于當(dāng)所述指令序列的其中一條指令處理失敗時(shí),返回錯(cuò)誤碼給所述上位機(jī)。
29.根據(jù)權(quán)利要求17所述的終端設(shè)備,其特征在于,還包括:更新模塊;
所述更新模塊,用于所述第一讀取模塊讀取所述命令報(bào)文中的指令序列之后,根據(jù)預(yù)設(shè)方式更新計(jì)數(shù)標(biāo)識(shí);
所述第一發(fā)送模塊,還用于當(dāng)所述指令序列的其中一條指令處理失敗時(shí),將所述失敗操作結(jié)果同所述計(jì)數(shù)標(biāo)識(shí)的當(dāng)前計(jì)數(shù)值一同返回給所述上位機(jī)。
30.根據(jù)權(quán)利要求17所述的終端設(shè)備,其特征在于,
所述第一發(fā)送模塊,還用于當(dāng)所述第二接收模塊接收到的操作結(jié)果小于第四預(yù)設(shè)值時(shí),將所述接收到的操作結(jié)果返回給所述上位機(jī)。
31.根據(jù)權(quán)利要求17所述的終端設(shè)備,其特征在于,還包括:第九判斷模塊和選卡模塊;
所述第九判斷模塊,用于當(dāng)所述第一讀取模塊讀取所述指令序列中的第一條指令時(shí),所述第二發(fā)送模塊將所述第一讀取模塊讀取到的指令發(fā)送給卡片之前,判斷卡片類型;
所述選卡模塊,用于根據(jù)所述第九判斷模塊判斷出的卡片類型執(zhí)行選卡操作;
所述第二發(fā)送模塊,具體用于:當(dāng)所述選卡模塊操作成功時(shí),將所述第一讀取模塊讀取到的指令發(fā)送給卡片;
所述第一發(fā)送模塊,還用于當(dāng)所述選卡模塊操作失敗時(shí),返回錯(cuò)誤碼給所述上位機(jī)。
32.根據(jù)權(quán)利要求17所述的終端設(shè)備,其特征在于,所述第一發(fā)送模塊,具體用于:
將所述一系列數(shù)據(jù)元結(jié)構(gòu)的操作結(jié)果順序拼接得到響應(yīng)報(bào)文,將所述響應(yīng)報(bào)文返回給所述上位機(jī);
或者,
將所述一系列操作結(jié)果順序拼接,并在每相鄰的兩個(gè)操作結(jié)果之間添加分隔標(biāo)識(shí)得到響應(yīng)報(bào)文,將所述響應(yīng)報(bào)文返回給所述上位機(jī);
或者,
將所述一系列操作結(jié)果中最后一個(gè)操作結(jié)果返回給所述上位機(jī)。