发明内容
本发明实施例提供一种智能卡数据处理方法、装置和智能卡,可以有效降低程序复杂性及减少核心指令执行的时间。
本发明提供一种智能卡数据处理方法,该方法包括:
接收并判断智能卡与终端通信指令的类型,进行相应的操作,包括:
如果接收的通信指令为处理完成通信所必须的关键数据的核心指令,则将与接收到的核心指令匹配的日志备份项写入日志备份区,且设置所述备份区的标志位有效,接收并判断下一条通信指令的类型,进行所述相应的操作;
如果为接收的通信指令为非核心指令的一般指令,判断所述备份区的标志位是否为有效标识;
当判断所述备份区的标志位为有效标识时,将所述日志备份项内容写入对应的目的区;
清空所述备份区标志位的有效标识,并处理所述一般指令;
当判断所述备份区的标志位无有效标识时,直接处理所述一般指令。
本发明还提供一种智能卡数据处理装置,该装置包括:
第一判断模块,用于接收并判断智能卡与终端通信指令的类型;
备份模块,如果接收的通信指令为处理完成通信所必须的关键数据的核心指令,则用于将与接收到的核心指令匹配的日志备份项写入日志备份区,且设置所述备份区的标志位有效;
第二判断模块,用于接收并判断下一条通信指令的类型,进行相应的操作;
第三判断模块,如果为接收的通信指令为非核心指令的一般指令,用于判断所述备份区的标志位是否为有效标识;
更新模块,当判断所述备份区的标志位为有效标识时,用于将所述日志备份项内容写入对应的目的区;
清空模块,用于清空所述备份区标志位的有效标识,并处理所述一般指令;
执行模块,当判断所述备份区的标志位无有效标识时,直接处理所述一般指令。
本发明还提供一种智能卡,包括所述的智能卡数据处理装置。
与现有技术相比,本发明具有以下优点:
本发明实施例提供的方案中,核心指令适时处理辅助性数据,并把关键性数据内存缓冲区中数据写入物理备份区,此时交易流程结束,但实际交易内容对应的数据并没有更新,而是在下一条一般指令接收完毕之后,执行之前,或者执行断电复位后的首条应用指令之前进行新数据的更新。
这样设计可以使得关系到交易成败的核心指令本应处理的文件更新时间大大缩短,因为其分担一部分任务给其他一般指令。待更新的数据越多,越分散,被分流的任务就越多,节省的时间就相应的增加,可以有效降低程序复杂性及核心指令的执行时间,提高片内操作***COS(Chip Operating System)对芯片的兼容性,减少对硬件资源的依赖性,并且降低了COS设计的复杂性。
具体实施方式
本发明实施例提供一种智能卡数据处理方法、装置和智能卡,可以有效降低程序复杂性及减少核心指令执行的时间。
下面本发明结合具体实施例及附图进行详细的说明:
如图1所示,为本发明实施例一提供的方法流程示意图,包括以下步骤:
步骤10:接收并判断智能卡与终端通信指令的类型,进行相应的操作;
其中,当智能卡进行复位初始化后,如果判断所述备份区的标识位为有效时,则在步骤10之前,还包括:对上一次交易进行断电恢复操作,完成因断电而未完成的交易,即;将所述备份项内容写入对应的目的区,并清空所述备份区标志位的有效标识;具体地,将所述日志备份项内容写入对应的目的区,获取所述备份项中记录的目的区的地址,用所述备份项中内容覆盖目的区的数据。上述即:在卡片入场并正确复位后,首先检查日志备份区的有效标识是否有效。有效则完成上一笔交易,并擦除日志备份区的有效标识;否则,卡片继续处于接收状态,直到交易终止。
当判断接收的通信指令为处理完成通信所必须的关键数据的核心指令时,则执行步骤11:则将与接收到的核心指令匹配的日志备份项写入日志备份区,且设置所述备份区的标志位有效,同时返回正确状态字,表示核心指令处理完毕,执行步骤10:接收并判断下一条通信指令的类型,进行所述相应的操作;其中,所述核心指令一般是在完成一个交易过程中,起到了决定本次交易成败的指令,并且是交易流程中唯一的指令,换句话说,是一旦核心指令设定的日志备份区的有效标志被正确写入,则认为本次交易成功;否则,交易失败,并且交易过程中需要保证核心指令操作日志备份区前,日志备份区中无有效数据,日志项备份的数据,其修改任务是由核心指令的下一条普通指令完成,并非由核心指令来完成,从而实现了任务分流;日志备份的内容为本次交易的新数据;所述核心指令将与接收指令内容匹配的数据作为日志备份项写入备份区,并设置日志备份区的有效标识位,但不修改目标地址的数据;此时,所述核心指令的任务完成。如果判断是一般指令,那么将执行核心指令要完成的工作分流一部分给一般指令执行;
当接收的通信指令为非核心指令的一般指令时,执行步骤12:判断所述备份区的标志位是否为有效标识;
当判断所述备份区的标志位为有效标识时,执行步骤13:将所述日志备份项内容写入对应的目的区;执行步骤14。
步骤14:清空所述备份区标志位的有效标识,并处理所述一般指令;
当判断所述备份区的标志位无有效标识时,执行步骤15:直接处理所述一般指令,当判断出所述备份区的标志位无有效标识时,存在的情况可能为核心指令执行任务失败,即没有写数据成功,造成了所述备份区的标志位没有有效标识,因此,所述一般指令执行自身任务。
上述步骤12~14为一般指令的执行流程,即:日志备份区标识有效即表明有核心指令任务需要在此进行处理,则先处理核心指令分流给它的任务,即把所有日志项中对应的数据写入到目标地址,完成一笔交易,之后擦除日志备份区的有效标识,并处理本条一般指令的任务;如果无效,则只处理本条指令自身的任务,交易过程中的普通指令不会追加日志备份项。
这样做可以使得决定交易成败这些核心指令本应处理的文件更新修改等写操作,分流给其它一般指令处理流程中执行,修改的文件内容越多,越分散,被分流的时间就越多,便可以更有效降低程序复杂性及核心指令的执行时间。
需要说明的是,优选地,日志项备份区的数据的修改任务由核心指令的下一条一般指令完成或者掉电恢复时,芯片复位后完成,并非由核心指令来完成,以实现任务分流。
当接收到所述核心指令的下一条一般指令时,先判断日志备份区的有效标识是否有效。有效,则先处理核心指令分流给它的任务,即把所有日志项中对应的数据写入到目标地址,真正完成一笔交易,之后擦除日志备份区的有效标识,并处理本条一般指令自身的任务;无效,则只处理本条指令自身的任务。交易过程中的一般指令不会追加日志备份项。
如图2所示,为本发明实施例提供的装置结构示意图,该装置包括:
第一判断模块20,用于判断接收的智能卡与终端通信指令的类型;其中,通信指令的类型包括:一般指令以及核心指令,所述一般指令只能修改辅助性数据;所述核心指令所述核心指令一般是在完成一个交易过程中,起到了决定本次交易成败的指令,并且是交易流程中唯一的指令,换句话说,是一旦核心指令设定的日志备份区的有效标志被正确写入,则认为本次交易成功;否则,交易失败;此时交易流程结束,但实际文件数据并没有修改,而是在执行下一条一般指令接收完毕之后,执行之前;或者断电复位后的首条应用指令之前进行实际文件的修改。这样做可以使得表征交易成败的这些核心指令本应处理的文件更新任务,分流给其它一般指令执行。修改的文件内容越多,越分散,被分流的时间就越多,可以有效降低程序复杂性及核心指令的执行时间。
备份模块21,如果接收的通信指令为处理完成通信所必须的关键数据的核心指令,则用于将与接收到的核心指令匹配的日志备份项写入日志备份区,且设置所述备份区的标志位有效;
当判断接收的通信指令为处理完成通信所必须的关键数据的核心指令时,备份模块21,还用于返回正确状态字,表示核心指令处理完毕,一旦核心指令设定的日志备份区的有效标志被正确写入,则认为本次交易成功;否则,交易失败。
第二判断模块22,用于接收并判断下一条通信指令的类型,进行所述相应的操作;由于日志项备份的数据,其修改任务是由核心指令的下一条普通指令完成,并非由核心指令来完成;日志备份的内容为本次交易的新数据;所述核心指令将与接收指令内容匹配的数据作为日志备份项写入备份区,并设置日志备份区的有效标识位,但不修改目标地址的数据;此时,所述核心指令的任务完成。如果判断是一般指令,那么将执行核心指令要完成的工作分流一部分给一般指令执行,从而来实现任务分流的目的,因此还要由第三判断模块23判断所述备份区的标志位是否为有效标识。
第三判断模块23,用于如果为接收的通信指令为非核心指令的一般指令,判断所述备份区的标志位是否为有效标识;
由于当核心指令设定的日志备份区的有效标志被正确写入时,则认为本次交易成功;否则,交易失败,并且交易过程中需要保证核心指令操作日志备份区前,日志备份区中无有效数据,日志项备份的数据,其修改任务是由核心指令的下一条普通指令完成,并非由核心指令来完成,从而实现了任务分流,因此在执行完核心指令后,接收的下一条指令为一般指令时,先判断所述备份区的标志位是否为有效标识,如果为有效标识,则继续完成核心指令分流给它的部分任务,具体任务由更新模块24完成。
更新模块24,用于当判断所述备份区的标志位为有效标识时,将所述日志备份项内容写入对应的目的区;日志备份区标识有效即表明有核心指令任务需要在此进行处理,则先处理核心指令分流给它的任务,即把所有日志项中对应的数据写入到目标地址,完成一笔交易,之后擦除日志备份区的有效标识,并处理本条一般指令的任务。
清空模块25,用于清空所述备份区标志位的有效标识,并处理所述一般指令;
执行模块26,当判断所述备份区的标志位无有效标识时,直接处理所述一般指令。
当判断出所述备份区的标志位无有效标识时,存在的情况可能为核心指令执行任务失败,即没有写数据成功,造成了所述备份区的标志位没有有效标识,因此,所述一般指令执行自身任务。如果无效,则只处理本条指令自身的任务,交易过程中的普通指令不会追加日志备份项。
如图3所示,为本发明实施例二的方法流程图,包括以下步骤:
步骤30,接收指令;
步骤31:判断接收指令是否为核心指令;所述核心指令处理完成通信所必须的关键数据的指令;其中,所述核心指令一般是在完成一个交易过程中,起到了决定本次交易成败的指令,并且是交易流程中唯一的指令,换句话说,是一旦核心指令设定的日志备份区的有效标志被正确写入,则认为本次交易成功;否则,交易失败,并且交易过程中需要保证核心指令操作日志备份区前,日志备份区中无有效数据。
当判断接收的指令为核心指令时,执行步骤32:将与接收指令内容匹配的数据作为日志备份项写入备份区,但不进行数据更新,即不修改目标地址数据,并设置日志备份区的有效标识位;当判断接收的通信指令为处理完成通信所必须的关键数据的核心指令时,则将与接收到的核心指令匹配的日志备份项写入日志备份区,且设置所述备份区的标志位有效,同时返回正确状态字,表示核心指令处理完毕,并执相应步骤。
所述核心指令将与接收指令内容匹配的数据作为日志备份项写入备份区,并设置日志备份区的有效标识位,但不修改目标地址的数据;此时,所述核心指令的任务完成。如果判断是一般指令,那么将执行核心指令要完成的工作分流一部分给一般指令执行;
当判断接收的指令为一般指令时,执行步骤33:判断日志备份区的标识位是否为有效标识;
当判断日志备份区的标识位为有效时,执行步骤34:按照备份区写入的日志备份项内容更新数据;日志备份区标识有效即表明有核心指令任务需要在此进行处理,则先处理核心指令分流给它的任务,即把所有日志项中对应的数据写入到目标地址,完成一笔交易,之后擦除日志备份区的有效标识,并处理本条一般指令的任务。
进一步执行步骤35:清空日志备份区;
进一步执行步骤36:处理本条一般指令任务;
当判定日志备份区的标识位没有有效标识时,执行步骤37:处理一般指令处理;如果无效,则只处理本条指令自身的任务,交易过程中的普通指令不会追加日志备份项。
如图4所示,为本发明实施例三方法流程图,对上一次交易进行断电恢复操作,完成因断电而未完成的交易,即;将所述备份项内容写入对应的目的区,并清空所述备份区标志位的有效标识;具体地,将所述日志备份项内容写入对应的目的区,获取所述备份项中记录的目的区的地址,用所述备份项中内容覆盖目的区的数据。上述即:在卡片入场并正确复位后,首先检查日志备份区的有效标识是否有效。有效则完成上一笔交易,并擦除日志备份区的有效标识;否则,卡片继续处于接收指令状态,直到交易终止。具体步骤包括:
步骤40:卡片复位;
步骤41:接收指令;
步骤42:判断日志备份区的标识位是否为有效标识;
当判断没有有效标识时,执行步骤43:处理接收的本条指令;
当判断为有效标识时,执行步骤44:按照备份区写入的日志备份项内容更新数据;
进一步执行步骤45:清空日志备份区;
进一步执行步骤46:处理本条一般指令任务。
本发明与现有技术相比具有以下优点:
本发明提供的智能卡数据处理方法及装置,以及包括有该装置的智能卡,本发明实施例提供的方案中,核心指令适时处理辅助性数据,并把关键性数据内存缓冲区中数据写入物理备份区,此时交易流程结束,但实际交易内容对应的数据并没有更新,而是在下一条一般指令接收完毕之后,执行之前,或者断电复位后的首条应用指令之前进行新数据的更新。
这样设计可以使得关系到交易成败的核心指令本应处理的文件更新所要的时间大大缩短,由于其分担一部分任务给其他一般指令,待更新的数据越多,越分散,被分流的任务就越多,节省时间的就相应的增加,可以有效降低程序复杂性及核心指令的执行时间,提高片内操作***COS(Chip OperatingSystem)对芯片的兼容性,减少对硬件资源的依赖性,并且降低了COS设计的复杂性。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。