一种IC卡大型制卡设备中的主从协同控制系统及方法转让专利

申请号 : CN201710402263.9

文献号 : CN107315975B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张齐唐小辉

申请人 : 华南理工大学

摘要 :

本发明公开了一种IC卡大型制卡设备中的主从协同控制系统及方法,系统包括:主机、FIFO并发单元、写卡单元和数据库服务器,以及用于互联的工业以太网交换机;FIFO并发单元和写卡单元均由嵌入式处理器系统构成,并通过FIFO相连,主机作为系统的主控制端,FIFO并发单元和写卡单元作为系统的从机,主机利用广播技术和单播技术对各从机发送COS数据APDU命令和个性化数据APDU命令。本发明能够解决目前制卡过程中读写数据慢的问题,从而大大提高整体的制卡效益。

权利要求 :

1.一种IC卡大型制卡设备中的主从协同控制系统,其特征在于,包括:主机、交换机、数据库服务器、FIFO并发单元以及写卡单元;主机直连交换机;交换机通过网口分别外接多个FIFO并发单元、多个写卡单元以及数据库服务器;一个FIFO并发单元连接交换机的一个网口,同时一个FIFO并发单元的另一端又接n个写卡单元,这n个写卡单元同时与交换机连接;

主机作为系统的主控制端,FIFO并发单元和写卡单元作为从机,与数据库服务器一起通过交换机组成一个大型级联集群系统;主机利用广播技术和单播技术通过交换机实现对各个从机的控制和管理。

2.根据权利要求1所述的IC卡大型制卡设备中的主从协同控制系统,其特征在于,FIFO并发单元和写卡单元是基于Linux操作系统的嵌入式微处理器系统。

3.根据权利要求1所述的IC卡大型制卡设备中的主从协同控制系统,其特征在于,FIFO并发单元包括FIFO驱动器,FIFO驱动器是一个单输入多输出的电路模块,该电路模块包括高速微处理器系统、FIFO写信号驱动模块、FIFO数据流驱动模块、FIFO复位驱动模块以及FIFO满信号驱动模块,高速微处理器系统分别与不同的驱动模块连接,每个驱动模块包括多路驱动,分别与n个写卡单元连接;

FIFO并发单元在输入端接收来自主机的网络数据,然后经过高速微处理器系统处理,高速微处理器系统通过FIFO复位多路驱动向多个写卡单元FIFO存储器模块发送复位信号,然后通过FIFO满信号多路驱动接收各个写卡单元返回来的复位消息;接着再通过FIFO写信号多路驱动往各个写卡单元发送FIFO写信号,并接收各个写卡单元通过FIFO满信号多路驱动返回来的消息;当各个写卡单元返回非满的消息,则高速微处理器系统通过FIFO数据多路驱动,往各个写卡单元传输数据。

4.根据权利要求1所述的IC卡大型制卡设备中的主从协同控制系统,其特征在于,所述写卡单元以ARM处理器为核心,ARM处理器外接网卡模块、7816模块、FIFO存储器模块、DMA模块、复位模块、晶振模块、电源模块、TF卡模块、USB模块、串口模块、指示灯模块和蜂鸣器模块;

其中网卡模块用于网络通信;

7816模块用于CPU并行总线信号和IC卡7816协议串行信号之间的拆分与组合,实现与卡片的读写操作;

FIFO存储器模块用于接收FIFO并发单元发送过来的COS数据APDU命令,然后通过DMA模块直接传输到内存中;

TF卡模块用于存储系统的程序以及临时数据;

USB模块用于系统固件的烧写;

串口模块用于错误调试;

指示灯模块和蜂鸣器模块则用于显示当前系统的状态。

5.一种基于权利要求1所述的系统的IC卡大型制卡设备中的主从协同控制方法,其特征在于,主机通过广播技术向各个从机发送指令,实现多个从机同时接受指令,并根据指令执行相应的任务,任务包括制卡以及节点状态信息;通过使用广播技术、FIFO技术以及DMA技术,实现个性化数据APDU命令和COS数据APDU命令交替读写。

6.根据权利要求5所述的方法,其特征在于,针对COS数据APDU命令,交换机将主机传过来的数据经过广播传给FIFO并发单元,FIFO并发单元将数据发送到同组其余写卡单元,实现数据共享;写卡单元通过FIFO存储器模块接收数据并经由DMA模块传输到内存中;传输COS数据APDU命令的具体步骤如下:(1)主机从数据库服务器中读取IC卡的COS数据包;

(2)主机对读取到的COS数据包进行CRC校验,成功则执行下一步,否则重新读取COS数据包;

(3)主机使用广播技术将COS数据包中的一条APDU命令发送到FIFO并发单元;

(4)FIFO并发单元将接收到的APDU命令同时发送到各写卡单元的FIFO存储器;

(5)写卡单元的FIFO存储器模块收到APDU命令后,使用DMA数据传输技术,将数据直接传输到写卡单元内存中;

(6)写卡单元对收到的APDU命令进行CRC校验,校验成功则通过7816模块写入卡片,否则丢弃数据,存储COS下载失败标志,等待主机查询;

(7)判断是否进行到COS数据包的最后一条APDU命令;否,转向步骤(3)读取下一条APDU命令;是,则完成COS下载,存储COS下载成功标志,等待主机查询;

(8)主机查询各写卡单元的COS下载成功/失败标志,对失败标志的IC卡做抛卡或补卡处理。

7.根据权利要求5所述的方法,其特征在于,针对制卡的个性化数据APDU命令,主机从数据库获取个性化数据包,并进行加密后单播发送给对应写卡单元;写卡单元收到数据后进行解码,然后再写入卡片;传输个性化数据APDU命令的具体步骤如下:(1)主机从数据库服务器中读取个性化数据包;

(2)主机对读取到的个性化数据包进行CRC校验,成功则执行下一步,否则重新读取个性化数据包;

(3)主机从个性化数据包取出一条APDU命令发送到写卡单元;

(4)写卡单元对接收到的APDU命令进行解密和CRC校验操作,成功则进行APDU命令写卡操作,否则请求重发该条APDU命令;

(5)判断是否进行到个性化数据包的最后一条APDU命令,否,转向步骤(3)读取下一条APDU命令;是,则完成个性化数据包下载;

(6)判断COS数据包的下载是否完成;是,则当前IC卡制卡结束,否,继续等待直至COS数据包的下载结束。

8.根据权利要求7所述的方法,其特征在于,系统从数据库中取得数据并在主机经过加密算法后在局域网内进行单播,当写卡单元收到加密的数据后才进行解密并写到卡片上;

在系统掉电时,该数据自动销毁。

9.根据权利要求5所述的方法,其特征在于,写卡单元的操作步骤具体如下:

(1)系统上电;

(2)完成系统配置后,启动制卡系统,制卡系统包括4个线程;线程1为心跳线程,定时向主机发送心跳报文,告诉主机当前写卡单元无故障;线程2为网口监听线程,等待从网口接收到数据或命令;线程3为命令处理线程,用于处理主机发送过来的信息;线程4为写卡线程,用于实现与卡片的读写操作;

(3)等待接收命令;

(4)当收到写COS数据APDU命令,则启动写COS数据线程;该线程首先等待COS数据APDU命令通过上述机制传输到内存后,然后对COS数据APDU命令进行CRC校验,只有当数据正确无误后才插入到写卡队列,由写卡线程进行写卡操作;错误则返回步骤(3);

(5)收到写个性化数据APDU命令时,启动写个性化数据线程;该线程首先等待个性化数据命令从网口接收到个性化数据APDU命令,然后对个性化数据APDU命令进行解密和CRC校验操作,当个性化数据APDU命令解密成功后才将数据插入到写卡队列,由写卡进行写卡操作;解密失败返回步骤(3);

(6)当收到读取写卡单元状态命令后,启动发送写卡单元状态线程;写卡单元状态线程包括写卡单元是否正在工作,工作状态是否正确,CPU运行状态以及内存状态;准备完数据后,该线程将写卡单元状态组包发往主机;

(7)继续执行步骤(3)。

说明书 :

一种IC卡大型制卡设备中的主从协同控制系统及方法

技术领域

[0001] 本发明涉及IC卡制卡技术领域,特别涉及一种IC卡大型制卡设备中的主从协同控制系统及方法。

背景技术

[0002] IC卡按其组织结构可分为逻辑加密卡和CPU卡。CPU卡也称智能卡,其卡内的集成电路中带有微处理器、存储器和芯片操作系统COS(Card Operation system),装有COS的CPU卡相当于一台微型计算机,不仅具有数据存储功能,同时具有命令处理和数据安全保护等功能。以下所述IC卡均指CPU卡。IC卡由于其固有的信息安全、便于携带、比较完善的标准化等优点,在身份认证、电信、银行、公共交通、停车场管理等领域得到越来越多的应用,而这种越来越多不仅仅是IC卡的需求量越来越多,而且对单张的IC卡而言,为了实现更多的卡片应用需求,COS的功能也越来越强,从而COS的尺寸越来越大,COS的发展变化类似于PC机上的操作系统的升级换代,比如Window7的尺寸要比XP大5-10倍。
[0003] 制卡即IC卡初始化,制卡时每张卡需要写入COS数据和个性化数据,每张卡的COS数据都是相同的,个性化数据是不同的。但COS数据量远远大于个性化数据量,所以写COS的速度决定了制卡的速度,大尺寸的COS使得一张IC卡的制卡(即卡初始化,将COS下载到IC卡)时间更长,严重制约着大型制卡机的每小时的出卡量。
[0004] 为了提高制卡机每小时的出卡量,制卡机目前配置了IC卡读写器机群,通常数量为32、64、128的读写器机群,而机群中的读写器则是无操作系统的单片机系统,读写器与主机之间采用串口连接。虽然主机可以同时控制多个读写器进行COS写入,但是串口的数据传输速度慢、并行处理能力不够高,另外串口通信双方连线固定,只能采用单主机无法采用多主机方式,使得当前制卡系统难以满足当今市场的需求。
[0005] 提供一种可高速写COS到IC卡的大型制卡系统及方法具有重要的现实意义。

发明内容

[0006] 由于COS数据包远远大于个性化数据包,因此制卡的速度主要由写COS的速度决定。本发明的主要目的在于克服现有技术的缺点与不足,提供一种IC卡大型制卡设备中的主从协同控制系统,针对写COS数据,该系统使用并发读写,针对个性化数据则还是点对点,能够解决目前制卡过程中存在的写COS数据包速度慢、并行处理能力弱等问题,从而大大提高整体的制卡效益。
[0007] 本发明的另一目的在于提供一种基于上述系统的IC卡大型制卡设备中的主从协同控制方法,其具有制卡效率高、可扩展性强、数据保密性高,可移植性好、易于操作的优点。
[0008] 本发明的目的通过以下的技术方案实现:一种IC卡大型制卡设备中的主从协同控制系统,包括:主机、交换机、数据库服务器、FIFO并发单元以及写卡单元;主机直连交换机;交换机通过网口分别外接多个FIFO并发单元、多个写卡单元以及数据库服务器;一个FIFO并发单元连接交换机的一个网口,同时一个FIFO并发单元的另一端又接n个写卡单元,这n个写卡单元同时与交换机连接;主机作为系统的主控制端,FIFO并发单元和写卡单元作为从机,与数据库服务器一起通过交换机组成一个大型级联集群系统;主机利用广播技术和单播技术通过交换机实现对各个从机的控制和管理。
[0009] 优选的,FIFO并发单元和写卡单元是基于Linux操作系统的嵌入式微处理器系统。
[0010] 优选的,FIFO并发单元包括FIFO驱动器,FIFO驱动器是一个单输入多输出的电路模块,该电路模块包括高速微处理器系统、FIFO写信号驱动模块、FIFO数据流驱动模块、FIFO复位驱动模块以及FIFO满信号驱动模块,高速微处理器系统分别与不同的驱动模块连接,每个驱动模块包括多路驱动,分别与n个写卡单元连接;
[0011] FIFO并发单元在输入端接收来自主机的网络数据,然后经过高速微处理器系统处理,高速微处理器系统通过FIFO复位多路驱动向多个写卡单元FIFO存储器模块发送复位信号,然后通过FIFO满信号多路驱动接收各个写卡单元返回来的复位消息;接着再通过FIFO写信号多路驱动往各个写卡单元发送FIFO写信号,并接收各个写卡单元通过FIFO满信号多路驱动返回来的消息;当各个写卡单元返回非满的消息,则高速微处理器系统通过FIFO数据多路驱动,往各个写卡单元传输数据。
[0012] 优选的,所述写卡单元以ARM处理器为核心,ARM处理器外接网卡模块、7816模块、FIFO存储器模块、DMA(Direct Memory Access)模块、复位模块、晶振模块、电源模块、TF(Trans-Flash)卡模块、USB模块、串口模块、指示灯模块和蜂鸣器模块;
[0013] 其中网卡模块用于网络通信;
[0014] 7816模块用于CPU并行总线信号和IC卡7816协议串行信号之间的拆分与组合,实现与卡片的读写操作;
[0015] FIFO存储器模块用于接收FIFO并发单元发送过来的COS数据APDU(Application Protocol Data Unit)命令,然后通过DMA模块直接传输到内存中;
[0016] TF卡模块用于存储系统的程序以及临时数据;
[0017] USB模块用于系统固件的烧写;
[0018] 串口模块用于错误调试;
[0019] 指示灯模块和蜂鸣器模块则用于显示当前系统的状态。
[0020] 一种基于上述系统的IC卡大型制卡设备中的主从协同控制方法,主机通过广播技术向各个从机发送指令,实现多个从机同时接受指令,并根据指令执行相应的任务,任务包括制卡以及节点状态信息;通过使用广播技术、FIFO技术以及DMA技术,实现个性化数据APDU命令和COS数据APDU命令交替读写。
[0021] 具体的,针对COS数据APDU命令,交换机将主机传过来的数据经过广播传给FIFO并发单元,FIFO并发单元将数据发送到同组其余写卡单元,实现数据共享;写卡单元通过FIFO存储器模块接收数据并经由DMA模块传输到内存中;传输COS数据APDU命令的具体步骤如下:
[0022] (1)主机从数据库服务器中读取IC卡的COS数据包;
[0023] (2)主机对读取到的COS数据包进行CRC校验,成功则执行下一步,否则重新读取COS数据包;
[0024] (3)主机使用广播技术将COS数据包中的一条APDU命令发送到FIFO并发单元;
[0025] (4)FIFO并发单元将接收到的APDU命令同时发送到各写卡单元的FIFO存储器;
[0026] (5)写卡单元的FIFO存储器模块收到APDU命令后,使用DMA数据传输技术,将数据直接传输到写卡单元内存中;
[0027] (6)写卡单元对收到的APDU命令进行CRC校验,校验成功则通过7816模块写入卡片,否则丢弃数据,存储COS下载失败标志,等待主机查询;
[0028] (7)判断是否进行到COS数据包的最后一条APDU命令;否,转向步骤(3)读取下一条APDU命令;是,则完成COS下载,存储COS下载成功标志,等待主机查询;
[0029] (8)主机查询各写卡单元的COS下载成功/失败标志,对失败标志的IC卡做抛卡或补卡处理。
[0030] 具体的,针对制卡的个性化数据APDU命令,主机从数据库获取个性化数据包,并进行加密后单播发送给对应写卡单元;写卡单元收到数据后进行解码,然后再写入卡片;传输个性化数据APDU命令的具体步骤如下:
[0031] (1)主机从数据库服务器中读取个性化数据包;
[0032] (2)主机对读取到的个性化数据包进行CRC校验,成功则执行下一步,否则重新读取个性化数据包;
[0033] (3)主机从个性化数据包取出一条APDU命令发送到写卡单元;
[0034] (4)写卡单元对接收到的APDU命令进行解密和CRC校验操作,成功则进行APDU命令写卡操作,否则请求重发该条APDU命令。
[0035] (5)判断是否进行到个性化数据包的最后一条APDU命令,否,转向步骤(3)读取下一条APDU命令;是,则完成个性化数据包下载。
[0036] (6)判断COS数据包的下载是否完成;是,则当前IC卡制卡结束,否,继续等待直至COS数据包的下载结束。
[0037] 优选的,系统从数据库中取得数据并在主机经过加密算法后在局域网内进行单播,当写卡单元收到加密的数据后才进行解密并写到卡片上;在系统掉电时,该数据自动销毁。
[0038] 优选的,写卡单元的操作步骤具体如下:(1)系统上电。
[0039] (2)完成系统配置后,启动制卡系统。制卡系统包括4个线程。线程1为心跳线程,定时向主机发送心跳报文,告诉主机当前写卡单元无故障。线程2为网口监听线程,等待从网口接收到数据或命令。线程3为命令处理线程,用于处理主机发送过来的信息。线程4为写卡线程,用于实现与卡片的读写操作。
[0040] (3)等待接收命令。
[0041] (4)当收到写COS数据APDU命令,则启动写COS数据线程;该线程首先等待COS数据APDU命令通过上述机制传输到内存后,然后对COS数据APDU命令进行CRC校验,只有当数据正确无误后才插入到写卡队列,由写卡线程进行写卡操作;错误则返回步骤(3)。
[0042] (5)收到写个性化数据APDU命令时,启动写个性化数据线程;该线程首先等待个性化数据命令从网口接收到个性化数据APDU命令,然后对个性化数据APDU命令进行解密和CRC校验操作,当个性化数据APDU命令解密成功后才将数据插入到写卡队列,由写卡进行写卡操作;解密失败返回步骤(3)。
[0043] (6)当收到读取写卡单元状态命令后,启动发送写卡单元状态线程。写卡单元状态线程包括写卡单元是否正在工作,工作状态是否正确,CPU运行状态,内存状态等等。准备完数据后,该线程将写卡单元状态组包发往主机。
[0044] (7)继续执行步骤(3)。
[0045] 本发明与现有技术相比,具有如下优点和有益效果:
[0046] 1、本发明中主机通过广播方式向各个从机发送指令,实现多个从机同时接受指令,同时开始进行制卡流程,提高了制卡速率。
[0047] 2、本发明通过使用广播技术、FIFO技术以及DMA技术,实现个性化数据和COS数据交替读写,加快制卡速率。
[0048] 3、本发明中子节点采用多线程技术,既可以实时反馈制卡状态,同时可以并行接收由FIFO并发单元发送的COS数据APDU命令以及主机发送的个性化数据APDU命令,针对COS数据APDU命令实施CRC校验,而针对个性化数据APDU命令则进行加解密和校验操作,提高系统安全性。
[0049] 4、本发明利用基于Linux的ARM嵌入式设备通过7816接口直接与卡片进行交互,直接从底层与卡片进行交互,直接提高了制卡的效率。

附图说明

[0050] 图1是实施例1中的系统整体结构图。
[0051] 图2是实施例1中的FIFO并发单元的结构图。
[0052] 图3是实施例1中的写卡单元的结构图。
[0053] 图4是实施例2中主机与从机间传输COS数据APDU命令的流程图。
[0054] 图5是实施例2中主机与从机间传输个性化数据APDU命令的流程图。
[0055] 图6是实施例2中写卡单元的程序流程图。

具体实施方式

[0056] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0057] 实施例1
[0058] 一种IC卡大型制卡设备中的主从协同控制系统,如图1,包括主机、工业以太网交换机、数据库服务器、FIFO并发单元以及写卡单元。FIFO并发单元和写卡单元均是基于Linux操作系统的嵌入式微处理器系统。主机为工业PC机,直连交换机;交换机通过网口外接多个FIFO并发单元、多个写卡单元,以及用于保存所有数据的数据库服务器。一个FIFO并发单元连接交换机的一个网口,因此交换机的多个网口可以连接多个FIFO并发单元,同时一个FIFO并发单元另一端又接多个写卡单元。FIFO并发单元的输出接到各个写卡单元上的FIFO存储器模块。该系统由主机作为系统的主控制端,多个FIFO并发单元以及写卡单元作为系统的从机,与数据库服务器一起通过交换机组成一个大型级联集群系统。主机利用广播技术和单播技术通过交换机实现对各个从机的控制和管理。
[0059] 所述的IC卡包括CPU卡和存储卡,按其通信接口方式又分为接触式和非接触式。
[0060] 图2是FIFO并发单元的结构图。FIFO并发单元包括FIFO驱动器,FIFO驱动器是一个单输入多输出的电路模块,该电路模块包括高速微处理器系统、FIFO写信号驱动模块、FIFO数据流驱动模块、FIFO复位驱动模块以及FIFO满信号驱动模块,高速微处理器系统分别与不同的驱动模块连接,每个驱动模块包括多路驱动,分别与n个写卡单元连接。FIFO并发单元的主要功能是在输入端接收来自交换机的网络数据,然后经过高速微处理器系统处理,高速微处理器系统通过FIFO复位多路驱动向多个写卡单元FIFO存储器模块发送复位信号,然后通过FIFO满信号多路驱动接收各个写卡单元返回来的复位消息;接着再通过FIFO写信号多路驱动往各个写卡单元发送FIFO写信号,并接收各个写卡单元通过FIFO满信号多路驱动返回来的消息;当各个写卡单元返回非满的消息,则高速微处理器系统通过FIFO数据多路驱动,往各个写卡单元传输数据。
[0061] 图3是写卡单元的结构图。写卡单元以ARM处理器为核心,ARM处理器外接网卡模块、7816模块、FIFO存储器模块、DMA模块、复位模块、晶振模块、电源模块、TF卡模块、USB模块、串口模块、指示灯模块和蜂鸣器模块。
[0062] 其中网卡模块用于网络通信;
[0063] 7816模块用于CPU并行总线信号与IC卡7816协议串行信号之间的拆分与组合,实现与卡片的读写操作;基于Linux操作系统的嵌入式处理器利用信号线模拟7816协议的接口,从底层直接与卡片进行交互,提高卡片读写的效率。
[0064] FIFO存储器模块用于接收FIFO并发单元发送过来的COS数据APDU命令,然后通过DMA模块直接传输到内存中;
[0065] TF卡模块用于存储系统的程序以及临时数据;
[0066] USB模块用于系统固件的烧写;
[0067] 串口模块用于错误调试;
[0068] 指示灯模块和蜂鸣器模块则用于显示当前系统的状态。
[0069] 主机主要负责发布任务,配置节点信息,以及实时掌握子节点状态信息,而具体工作实施由写卡单元完成,因此可以设计一个友好的人机界面,使得该系统具有较好的操作性。
[0070] 实施例2
[0071] 一种基于实施例1中的系统的IC卡大型制卡设备中的主从协同控制方法,主机通过广播技术向各个从机发送指令,实现多个从机同时接受指令,并根据指令执行相应的任务。任务包括制卡以及反馈节点状态信息(反馈当前嵌入式处理器系统的状态,包括:是否在制卡、制卡的进度、心跳报文、出错信息等)。
[0072] 针对COS数据APDU命令,主机首先从数据库服务器中读取IC卡的COS数据包,从COS数据包逐条取出COS数据APDU命令,然后将COS数据APDU命令经过广播传给FIFO并发单元,FIFO并发单元将数据发送到同组其余写卡单元,实现数据共享。写卡单元通过FIFO存储器模块接收数据并经由DMA模块传输到内存中。这样减少其余写卡单元CPU的利用率,同时可以避免由于网络原因造成数据传输效率低,从而使得各节点可以在数据共享的同时接受主机发送过来的指令或个人化数据。
[0073] 针对制卡的个性化数据APDU命令,主机首先从数据库获取个性化数据包,从个性化数据包逐条取出APDU命令,并进行加密后使用单播发送给对应写卡单元。写卡单元收到数据后进行解码,然后再写入卡片。
[0074] 通过使用广播技术、FIFO技术以及DMA技术,实现个性化数据APDU命令和COS数据APDU命令交替读写,提高了制卡的效率。
[0075] 图4是主机与从机间传输COS数据APDU命令的流程图,步骤如下:
[0076] (1)主机从数据库服务器中读取IC卡的COS数据包;
[0077] (2)主机对读取到的COS数据包进行CRC校验,成功则执行下一步,否则重新读取COS数据包;
[0078] (3)主机使用广播技术将COS数据包中的一条APDU命令发送到FIFO并发单元;
[0079] (4)FIFO并发单元将接收到的APDU命令同时发送到各写卡单元的FIFO存储器;
[0080] (5)写卡单元FIFO存储器模块收到APDU命令后,使用DMA数据传输技术,将数据直接传输到写卡单元内存中;
[0081] (6)写卡单元对收到的APDU命令进行CRC校验,校验成功则通过7816模块写入卡片,否则丢弃数据,存储COS下载失败标志,等待主机查询。
[0082] (7)判断是否进行到COS数据包的最后一条APDU命令,否,转向步骤(3)读取下一条APDU命令;是,则完成COS下载,存储COS下载成功标志,等待主机查询。
[0083] (8)主机查询各写卡单元的COS下载成功/失败标志,对失败标志的IC卡做抛卡或补卡处理。
[0084] 图5是主机与节点间传输个性化数据APDU命令的流程图,步骤如下:
[0085] (1)主机从数据库服务器中读取个性化数据包;
[0086] (2)主机对读取到的个性化数据包进行CRC校验,成功则执行下一步,否则重新读取个性化数据包;
[0087] (3)主机从个性化数据包取出一条APDU命令发送到写卡单元;
[0088] (4)写卡单元对接收到的APDU命令进行解密和CRC校验操作,成功则进行APDU命令写卡操作,否则请求重发该条APDU命令。
[0089] (5)判断是否进行到个性化数据包的最后一条APDU命令,否,转向步骤(3)读取下一条APDU命令;是,则完成个性化数据包下载。
[0090] (6)判断COS数据包的下载是否完成;是,则当前IC卡制卡结束,否,继续等待直至COS数据包的下载结束。
[0091] 系统从数据库中取得数据并在主机经过加密算法后在局域网内进行单播,当写卡单元收到加密的数据后才进行解密和CRC校验后写到卡片上;在系统掉电时,该数据自动销毁;数据保密性高。
[0092] 图6是写卡单元的程序流程图,具体如下:
[0093] (1)系统上电。
[0094] (2)完成系统配置后,启动制卡系统。制卡系统包括4个线程。线程1为心跳线程,定时向主机发送心跳报文,告诉主机当前写卡单元无故障。线程2为网口监听线程,等待从网口接收到数据或命令。线程3为命令处理线程,用于处理主机发送过来的信息。线程4为写卡线程,用于实现与卡片的读写操作。
[0095] (3)等待接收命令。
[0096] (4)当收到写COS数据APDU命令,则启动写COS数据线程;该线程首先等待COS数据APDU命令通过上述机制传输到内存后,然后对COS数据APDU命令进行CRC校验,只有当数据正确无误后才插入到写卡队列,由写卡线程进行写卡操作;错误则返回步骤(3)。
[0097] (5)收到写个性化数据APDU命令时,启动写个性化数据线程;该线程首先等待个性化数据命令从网口接收到个性化数据APDU命令,然后对个性化数据APDU命令进行解密和CRC校验操作,当个性化数据APDU命令解密成功后才将数据插入到写卡队列,由写卡进行写卡操作;解密失败返回步骤(3)。
[0098] (6)当收到读取写卡单元状态命令后,启动发送写卡单元状态线程。写卡单元状态线程包括写卡单元是否正在工作,工作状态是否正确,CPU运行状态,内存状态等等。准备完数据后,该线程将写卡单元状态组包发往主机。
[0099] (7)继续执行步骤(3)。
[0100] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。