一种智能卡数据库应用系统的安全签卡方法

文档序号:6339834阅读:172来源:国知局
专利名称:一种智能卡数据库应用系统的安全签卡方法
技术领域
本发明涉及智能卡数据库应用系统,具体地说是一种智能卡数据库应用系统的 安全签卡方法。
背景技术
在包含智能卡应用的数据库应用系统开发中,存在着数据库事务与智能卡数据 更新的同步操作,仅仅依靠数据库管理系统提供的事务处理机制无法实现系统中数据库 数据与智能卡数据的一致性。在智能卡操作的时候,某一条记录都作为一个独立的事务 进行操作。当高层事务是对智能卡上的两条以上的记录进行操作时,由于停电、系统死 机、程序出错、人为恶意抽卡等原因,导致智能卡数据修改中断,从而造成智能卡上数 据的不完整,比如只修改完成了一条数据,而另一条数据还没有来得及修改。此时智能 卡由于修改中断而存在错误数据即脏数据。一种智能卡数据库应用系统安全签卡方法可 以保证数据库数据与智能卡数据的逻辑一致性,同时防止包含了脏数据的智能卡投入使 用
发明内容
本发明所要解决的技术问题是提供一种智能卡数据库应用系统的简单且有效的 安全签卡方法,实现数据库数据与智能卡数据逻辑一致性。本发明为解决上述技术问题所采用的技术方案是一种智能卡数据库应用系统 的安全签卡方法,包括如下步骤
(1)、读取智能卡信息,对智能卡内的写标志进行检测; 如未检测到智能卡内有写标志则直接进行步骤(2)的操作;
如检测到智能卡内有写标志则先到原签卡点进行智能卡恢复操作,然后再进行步骤 (1)的操作;
(2)、在不开启数据库事务的情况下,保存智能卡原始数据到数据库,将智能卡最 原始的回滚点保存下来;
(3)、开启数据库事务,对后续数据库操作进行保护;
(4)、对数据库进行更新操作,如果任何一个更新失败,则回滚事务,如果系统执 行意外终止,则数据库事务自动将这些操作回滚;
(5)、数据库更新完成后,在智能卡内设置一个写标志;
(6)、根据数据库的更新结果对智能卡进行更新操作;如更新失败则签卡中止,进 行智能卡恢复操作;
(7)、智能卡更新完成后,将数据库内保存的智能卡原始数据状态标志修改为处理
完毕;(8)、提交数据库事务,向数据库管理系统发出请求,以使得前面各步骤所进行的 数据库操作全部生效;如数据库事务提交失败则签卡中止,进行智能卡恢复操作;
(9)、数据库事务提交成功后,清除智能卡内写标志,智能卡签卡完毕。 所述的智能卡恢复操作是指根据处理开始时所保存的卡的原始信息进行卡的恢 复操作并清除智能卡写标志,恢复后重新进行签卡。所述的写标志为智能卡上储存的表示该卡正在进行写操作的数据。步骤(1)中所述的先到原签卡点进行智能卡恢复操作,是指到上一次签卡的地 点,用签卡时保存的卡的原始信息进行卡的恢复操作并清除智能卡写标志。步骤(8)中所述的数据库事务提交失败,是指系统执行意外终止导致的数据库 提交失败,此时数据库的更新由数据库管理系统的事务处理机制保证全部回滚,智能卡 上的写标志自动保留,须进行恢复处理。本发明的有益效果是利用数据库事务处理机制,保证保存在数据库中的智能 卡原始数据的处理状态与入库的业务处理数据提交状态保持一致;引入卡写标志机制, 任何一次卡的修改操作之前,都要先打写标志;要求应用系统中任何一次卡的操作都必 须先校验卡写标志,禁止对有写标志的卡进行正常操作,从而防止包含了脏数据的智能 卡投入使用。为了保证这一点的实施,可以将卡底层操作封装为复用的组件。提供了对 智能卡的恢复方法,以实现恢复卡上原始数据和清除写标志的事务处理。


图1是数据库及智能卡操作流程图。图2是智能卡状态图。图3是实施例的数据流图。
具体实施例方式一种智能卡数据库应用系统的安全签卡方法,包括如下步骤
(1)、读取智能卡信息,对智能卡内的写标志进行检测; 如未检测到智能卡内有写标志则直接进行步骤(2)的操作;
如检测到智能卡内有写标志则禁止对智能卡进行正常操作,必须先到原签卡点进行 智能卡恢复操作,然后再进行步骤(1)的操作;
(2)、在不开启数据库事务的情况下,保存智能卡原始数据到数据库,将智能卡最 原始的回滚点保存下来;
(3)、开启数据库事务,对后续数据库操作进行保护;
(4)、对数据库进行更新操作,应该确保该操作在开启的数据库事务保护之下,如 果任何一个更新失败,则回滚事务,如果系统执行意外终止,则数据库事务自动将这些 操作回滚;
(5)、数据库更新完成后,在智能卡内设置一个写标志,表示该卡正在进行写操 作。一个有写标志的卡,不能进行正常操作,直到进行了数据一致性保证处理并将写标 志清除;
(6)、根据数据库的更新结果对智能卡进行更新操作,对卡上的数据进行修改;如果系统执行意外终止导致更新失败则签卡中止,此时智能卡上存在脏数据,智能卡上的 写标志自动保留,必须进行智能卡恢复操作;
(7)、智能卡更新完成后,将数据库内保存的智能卡原始数据状态标志修改为处理 完毕;如果系统执行意外终止,智能卡原始数据状态标志即为未处理完毕,必须进行智 能卡恢复操作;
(8)、提交数据库事务,向数据库管理系统发出请求,以使得前面各步骤所进行的 数据库操作全部生效;如果系统执行意外终止导致数据库事务提交失败则签卡中止,智 能卡上的写标志自动保留,必须进行智能卡恢复操作;此时数据库的更新由数据库管理 系统的事务处理机制保证全部回滚;
(9)、数据库事务提交成功后,清除 智能卡内写标志,智能卡签卡完毕。所述的智能卡恢复操作是指根据处理开始时所保存的卡的原始信息进行卡的恢 复操作并清除智能卡写标志,恢复后重新进行签卡。所述的写标志为智能卡上储存的表示该卡正在进行写操作的数据。步骤(1)中所述的先到原签卡点进行智能卡恢复操作,是指到上一次签卡的地 点,用签卡时保存的卡的原始信息进行卡的恢复操作并清除智能卡写标志。实施例
本发明以为多指标加油智能卡充值为例对该方法的实施做出进一步的说明。多指标 加油智能卡的卡片数据结构如下所示
记录号 指标类型 指标余量
1指标 1 1000.12
2指标 2 2000.34
假设一次卡操作需要更新卡上的指标1和指标2两条记录的指标余量,同时扣减数据 库中指标帐表中指标1和指标2的结存。数据流图如图3所示。在智能卡操作的时候,某一条记录都作为一个独立的事务进行操作。当高层事 务是对智能卡上的两条以上的记录进行操作时,由于停电、系统死机、程序出错、人为 恶意抽卡等原因,导致智能卡数据修改中断,从而造成智能卡上数据的不完整,比如只 修改完成了一条数据,而另一条数据还没有来得及修改。利用本发明提供的方法,就可 以保证数据库数据和智能卡数据的逻辑一致性。实现方法如下
(1)、读卡,得到卡上的指标数据如下 记录号 指标类型 指标余量
1指标 1 1000.12
2指标 2 2000.34 此时,卡上不存在写标志;
(2)、将读到的智能卡指标原始信息保存到数据库的智能卡操作日志表中,智能卡 操作日志表的结构与卡片上的数据结构类似,只需增加一个处理状态标志;
(3)、开启数据库事务;
(4)、更新指标帐上指标1的结存; 更新指标帐上指标2的结存;(5)、智能卡置写标志;
(6)、更新智能卡记录1指标1的余量; 更新智能卡记录2指标2的余量;
(7)、修改智能卡操作日志表的状态标志为处理完毕;
(8)、提交数据库事务;
(9)、清除智能卡写标志。如果在卡操作过程中,意外终止,导致卡上有写标志,系统中所有对卡的操作 在检查到写标志时就禁止操作。然后将卡拿回到签卡点进行卡的恢复操作。恢复操作包括两种情况。第一种情况智能卡操作日志表中的日志记录是未处理完毕状态,则利用保存 的原始信息对该卡进行恢复,同时清除写标志。第二种情况智能卡操作日志表中的日志记录是处理完毕状态,则说明是数据 库事务提交成功,卡操作成功,还没有来得及清除写标志造成的,只需要清除卡上的写 标志就可以了。
权利要求
1.一种智能卡数据库应用系统的安全签卡方法,其特征在于,包括如下步骤(1)、读取智能卡信息,对智能卡内的写标志进行检测;如未检测到智能卡内有写标志则直接进行步骤(2)的操作;如检测到智能卡内有写标志则先到原签卡点进行智能卡恢复操作,然后再进行步骤 (1)的操作;(2)、在不开启数据库事务的情况下,保存智能卡原始数据到数据库,将智能卡最 原始的回滚点保存下来;(3)、开启数据库事务,利用数据库管理系统提供的事务处理机制对后续数据库操 作进行保护;(4)、对数据库进行更新操作,如果任何一个更新失败,则回滚事务,如果系统执 行意外终止,则数据库事务自动将这些操作回滚;(5)、数据库更新完成后,在智能卡内设置一个写标志;(6)、根据数据库的更新结果对智能卡进行更新操作;如更新失败则签卡中止,进 行智能卡恢复操作;(7)、智能卡更新完成后,将数据库内保存的智能卡原始数据状态标志修改为处理完毕;(8)、提交数据库事务,向数据库管理系统发出请求,以使得前面各步骤所进行的 数据库操作全部生效;如数据库事务提交失败则签卡中止,进行智能卡恢复操作;(9)、数据库事务提交成功后,清除智能卡内写标志,智能卡签卡完毕;所述的智能卡恢复操作是指根据处理开始时所保存的卡的原始信息进行卡的恢复操 作并清除智能卡写标志,恢复后重新进行签卡。
2.如权利要求1所述的一种智能卡数据库应用系统的安全签卡方法,其特征在于,所 述的写标志为智能卡上储存的表示该卡正在进行写操作的数据。
3.如权利要求1所述的一种智能卡数据库应用系统的安全签卡方法,其特征在于 步骤(1)中所述的先到原签卡点进行智能卡恢复操作,是指到上一次签卡的地点,用签 卡时保存的卡的原始信息进行卡的恢复操作并清除智能卡写标志。
4.如权利要求1所述的一种智能卡数据库应用系统的安全签卡方法,其特征在于 步骤(8)中所述的数据库事务提交失败,是指系统执行意外终止导致的数据库提交失 败,此时数据库的更新由数据库管理系统的事务处理机制保证全部回滚,智能卡上的写 标志自动保留,须进行恢复处理。
全文摘要
一种智能卡数据库应用系统的安全签卡方法,包括如下步骤(1)、读取智能卡信息,对智能卡内的写标志进行检测;(2)、保存智能卡原始数据到数据库;(3)、开启数据库事务;(4)、对数据库进行更新操作;(5)、在智能卡内设置一个写标志;(6)、对智能卡进行更新操作;(7)、将数据库内保存的智能卡原始数据状态标志修改为处理完毕;(8)、提交数据库事务;(9)、清除智能卡内写标志,智能卡签卡完毕。利用数据库事务处理机制,保证保存在数据库中的智能卡原始数据的处理状态与入库的业务处理数据提交状态保持一致,防止包含了脏数据的智能卡投入使用。
文档编号G06F17/30GK102013029SQ20101060501
公开日2011年4月13日 申请日期2010年12月25日 优先权日2010年12月25日
发明者刘勇, 宋晓莉, 张春阳, 李宝元, 牛丹梅, 肖春宝, 赵海霞, 郭跟成, 高延民 申请人:河南科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1