CN105740741B - 一种磁条卡信息的解析方法及装置 - Google Patents

一种磁条卡信息的解析方法及装置 Download PDF

Info

Publication number
CN105740741B
CN105740741B CN201610067236.6A CN201610067236A CN105740741B CN 105740741 B CN105740741 B CN 105740741B CN 201610067236 A CN201610067236 A CN 201610067236A CN 105740741 B CN105740741 B CN 105740741B
Authority
CN
China
Prior art keywords
data
track
parsing
resolver
parsing result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610067236.6A
Other languages
English (en)
Other versions
CN105740741A (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201610067236.6A priority Critical patent/CN105740741B/zh
Publication of CN105740741A publication Critical patent/CN105740741A/zh
Application granted granted Critical
Publication of CN105740741B publication Critical patent/CN105740741B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0008General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/08Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开一种磁条卡信息的解析方法及装置,该方法包括:解析装置通过相对设置的两个磁头从磁条卡的两面获取至少三个数据;解析装置根据预设解析规则分别对获取到的数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则解析装置将解析成功的解析结果转换成可识别的数据,将所述可识别数据转换成预定格式的数据,否则报错,结束。本发明适用于有不同刷卡习惯的各种用户,通过本发明的方法使用户在刷卡时无须指定刷卡方向和卡面方向,提升了用户体验。

Description

一种磁条卡信息的解析方法及装置
技术领域
本发明涉及信息安全领域,尤其涉及一种磁条卡信息的解析方法及装置。
背景技术
磁条卡上的信息以位的形式存在,在刷卡时,不同的人操作习惯不同,有人喜欢正向刷卡,有人喜欢反向刷卡;而对于两面都有磁道的卡,还会出现正面朝前刷卡和反面朝前刷卡的情况,而且不同磁道的字符具有不同的位宽。所以,如何将双面磁条卡的磁条解析出正确的信息是现有技术亟待解决的问题。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种磁条卡信息的解析方法及装置。
本发明提供了一种磁条卡信息的解析方法,包括:
步骤S1:解析装置通过相对设置的两个磁头从磁条卡的两面获取至少三个数据;
步骤S2:所述解析装置根据预设解析规则分别对获取到的数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则将解析成功的解析结果转换成可识别的数据,执行步骤S3,否则报错,结束;
步骤S3:所述解析装置将所述可识别数据转换成预定格式的数据。
其中,所述步骤S2中所述解析装置根据预设解析规则对获取到的数据进行解析,并根据校验位判断解析是否成功,包括:
所述解析装置分别以磁道的正向和反向,按照预设解析规则解析获取到的第一个数据,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则继续分别以正向和反向,按照预设解析规则解析其他数据,如两次都解析不成功则更换解析规则,分别以正向和反向,按照更换后的解析规则重新解析第一数据。
其中,所述步骤S2具体包括:
步骤S2-11:所述解析装置分别以磁道的正向和反向,按照预设解析规则对所述第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功是则执行步骤S2-12,如两次都解析不成功则更换解析规则,分别以正向和反向,按照更换后的解析规则重新解析第一数据,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-12,如两次都解析不成功则执行步骤S2-13;
步骤S2-12:所述解析装置将所述第一数据的解析结果转换成可识别的数据,设置已知刷卡方向,执行步骤S2-13;
步骤S2-13:所述解析装置判断是否已知刷卡方向,是则执行步骤S2-14,否则执行步骤S2-15;
步骤S2-14:所述解析装置根据已知的刷卡方向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-16,如两次都解析不成功则执行步骤S3;
步骤S2-15:所述解析装置分别以磁道的正向和反向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-16,如两次都解析不成功则执行步骤S3;
步骤S2-16:所述解析装置将解析成功的解析结果转换成可识别的数据,执行步骤S3。
其中,所述步骤S1中所述解析装置通过两个磁头从磁条卡的两面获取三个数据;
所述步骤S2包括:
步骤A1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤A2,如两次都解析不成功则执行步骤A3;
步骤A2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤A5;
步骤A3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤A4,如两次都解析不成功则执行步骤A5;
步骤A4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,执行步骤A5;
步骤A5:所述解析装置判断是否已知刷卡方向,是则执行步骤A6,否则执行步骤A7;
步骤A6:所述解析装置以所述已知刷卡方向按照第二磁道格式解析第二数据,将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤A8;
步骤A7:所述解析装置分别以磁道的正向或反向按照第二磁道格式解析第二数据,将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤A8;
步骤A8:所述解析装置判断是否已知刷卡方向,是则执行步骤A9,否则执行步骤A12;
步骤A9:所述解析装置判断磁条卡朝向是否为正面向上,是则执行步骤A10,否则执行步骤A11;
步骤A10:所述解析装置以所述已知刷卡方向按照第三磁道格式解析第三数据,将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤A16;
步骤A11:所述解析装置以所述已知刷卡方向按照第二磁道格式解析第三数据,将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤A16;
步骤A12:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤A13,如两次都解析不成功则执行步骤A14;
步骤A13:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤A16;
步骤A14:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤A15,如两次都解析不成功则执行步骤A16;
步骤A15:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤A16;
步骤A16:所述解析装置判断所述磁条卡临时缓存区的数据的长度是否为0,是则报错,结束;否则执行步骤S3。
其中,所述步骤S1包括:所述解析装置通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
所述步骤S2包括:
步骤B1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B2,如两次都解析不成功则执行步骤B3;
步骤B2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤B5;
步骤B3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B4,如两次都解析不成功则执行步骤B5;
步骤B4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,执行步骤B5;
步骤B5:所述解析装置判断是否已知刷卡方向,是则执行步骤B6,否则执行步骤B11;
步骤B6:所述解析装置判断所述磁条卡朝向是否为正面向上,是则执行步骤B7,否则执行步骤B9;
步骤B7:所述解析装置以所述已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B8,否则执行步骤B15;
步骤B8:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤B15;
步骤B9:所述解析装置以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B10,否则执行步骤B15;
步骤B10:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤B15;
步骤B11:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B12,如两次都解析不成功则执行步骤B13;
步骤B12:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤B15;
步骤B13:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B14,如两次都解析不成功则执行步骤B15;
步骤B14:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,执行步骤B15;
步骤B15:所述解析装置判断是否已知刷卡方向,是则执行步骤B16,否则执行步骤B21;
步骤B16:所述解析装置判断所述磁条卡朝向是否为正面向上,是则执行步骤B17,否则执行步骤B19;
步骤B17:所述解析装置以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B18,否则执行步骤B25;
步骤B18:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤B25;
步骤B19:所述解析装置以所述已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B20,否则执行步骤B25;
步骤B20:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,执行步骤B25;
步骤B21:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B22,如两次都解析不成功则执行步骤B23;
步骤B22:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤B25;
步骤B23:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B24,如两次都解析不成功则执行步骤B25;
步骤B24:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,执行步骤B25;
步骤B25:所述解析装置判断是否已知刷卡方向,是则执行步骤B26,否则执行步骤B31;
步骤B26:所述解析装置判断所述磁条卡朝向是否为正面向上,是则执行步骤B27,否则执行步骤B29;
步骤B27:所述解析装置以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B28,否则执行步骤B35;
步骤B28:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤B35;
步骤B29:所述解析装置以所述已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B30,否则执行步骤B35;
步骤B30:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤B35;
步骤B31:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B32,如两次都解析不成功则执行步骤B33;
步骤B32:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤B35;
步骤B33:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B34,如两次都解析不成功则执行步骤B35;
步骤B34:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤B35;
步骤B35:所述解析装置判断所述磁条卡临时缓存区的数据的长度是否为0,是则报错,结束;否则执行步骤S3。
其中,所述步骤S1包括:所述解析装置通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
所述步骤S2包括:
步骤C1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C2,如两次都解析不成功则执行步骤C3;
步骤C2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,设置所述磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,执行步骤C5;
步骤C3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C4,如两次都解析不成功则执行步骤C5;
步骤C4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,执行步骤C5;
步骤C5:所述解析装置判断是否已知刷卡方向,是则执行步骤C6,否则执行步骤C16;
步骤C6:所述解析装置判断磁条卡朝向是否为正面向上,是则执行步骤C7,否则执行步骤C9;
步骤C7:所述解析装置以已知刷卡方向,分别按照第二磁道格式、第三磁道格式、所述第三磁道格式解析对应的所述原始数据缓存区中的第二数据、所述原始数据缓存区中的第三数据、所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如至少有一个数据解析成功则执行步骤C8,如所有数据都解析不成功则执行步骤C42;
步骤C8:所述解析装置将解析成功的解析结果转换成可识别的数据,并将转换后的可识别数据保存到所述磁条卡临时缓存区的对应磁道区域中,更新对应磁道区域中的数据的长度,执行步骤C42;
步骤C9:所述解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤C10,否则执行步骤C12;
步骤C10:所述解析装置以已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C11,否则执行步骤C12;
步骤C11:所述解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤C12;
步骤C12:所述解析装置以已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C13,否则执行步骤C14;
步骤C13:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,执行步骤C14;
步骤C14:所述解析装置以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C15,否则执行步骤C42;
步骤C15:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤C42;
步骤C16:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C17,如两次都解析不成功则执行步骤C18;
步骤C17:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,设置磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,执行步骤C20;
步骤C18:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C19,如两次都解析不成功则执行步骤C20;
步骤C19:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,执行步骤C20;
步骤C20:所述解析装置判断是否已知刷卡方向,是则执行步骤C21,否则执行步骤C28;
步骤C21:所述解析装置判断磁条卡朝向是否为正面向上,是则执行步骤C22,否则执行步骤C24;
步骤C22:所述解析装置以已知刷卡方向,按照第三磁道格式分别解析所述原始数据缓存区中的第三数据、所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如至少有一个数据解析成功则执行步骤C23,否则执行步骤C42;
步骤C23:所述解析装置将解析成功的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的对应磁道区域中,更新对应磁道区域中的数据的长度,执行步骤C42;
步骤C24:所述解析装置以已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C25,否则执行步骤C26;
步骤C25:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,执行步骤C26;
步骤C26:所述解析装置以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C27,否则执行步骤C42;
步骤C27:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤C42;
步骤C28:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C29,如两次都解析不成功则执行步骤C30;
步骤C29:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,设置磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,执行步骤C32;
步骤C30:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C31,如两次都解析不成功则执行步骤C32;
步骤C31:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,执行步骤C32;
步骤C32:所述解析装置判断是否已知刷卡方向,是则执行步骤C33,否则执行步骤C38;
步骤C33:所述解析装置判断磁条卡朝向是否为正面向上,是则执行步骤C34,否则执行步骤C36;
步骤C34:所述解析装置以已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C35,否则执行步骤C42;
步骤C35:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤C42;
步骤C36:所述解析装置以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C37,否则执行步骤C42;
步骤C37:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤C42;
步骤C38:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C39,如两次都解析不成功则执行步骤C40;
步骤C39:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤C42;
步骤C40:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C41,如两次都解析不成功则执行步骤C42;
步骤C41:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤C42;
步骤C42:所述解析装置判断所述磁条卡临时缓存区中的数据的长度是否为0,是则报错,结束,否则执行步骤S3。
其中,所述步骤S2包括:所述解析装置分别以磁道的正向和反向,按照预设解析规则依次对获取到的每个数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则将解析成功的解析结果转换成可识别的数据,执行步骤S3,否则报错,结束。
其中,所述步骤S2具体包括:
步骤S2-21:所述解析装置分别以磁道的正向和反向,按照预设解析规则对获取到的第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-22,如两次都解析不成功则执行步骤S2-23;
步骤S2-22:所述解析装置将所述第一数据的解析结果转换成可识别的数据,执行步骤S2-23;
步骤S2-23:所述解析装置分别以磁道的正向和反向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-24,如两次都解析不成功则执行步骤S3;
步骤S2-24:所述解析装置将解析成功的解析结果转换成可识别的数据,执行步骤S3。
其中,所述步骤S1中所述解析装置通过两个磁头从磁条卡的两面获取三个数据;
所述步骤S2包括:
步骤D1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析获取到的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D3,如两次都解析不成功则执行步骤D2;
步骤D2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,执行步骤D5;
步骤D3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析获取到的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D4,如两次都解析不成功则执行步骤D5;
步骤D4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤D5;
步骤D5:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析获取到的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D6,如两次都解析不成功则执行步骤D7;
步骤D6:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤D7;
步骤D7:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析获取到的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D8,如两次都解析不成功则执行步骤D9;
步骤D8:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤D11;
步骤D9:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析获取到的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D10,如两次都解析不成功则执行步骤D11;
步骤D10:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤D11;
步骤D11:所述解析装置判断所述磁条卡临时缓存区的数据的长度是否为0,是则报错,结束;否则执行步骤S3。
其中,所述步骤S1包括:所述解析装置通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
所述步骤S2包括:
步骤E1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E2,如两次都解析不成功则执行步骤E3;
步骤E2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,执行步骤E5;
步骤E3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E4,如两次都解析不成功则执行步骤E5;
步骤E4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤E5;
步骤E5:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E6,如两次都解析不成功则执行步骤E7;
步骤E6:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤E7;
步骤E7:所述解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤E8,否则执行步骤E10;
步骤E8:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E9,如两次都解析不成功则执行步骤E10;
步骤E9:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤E10;
步骤E10:所述解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤E11,否则执行步骤E13;
步骤E11:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E12,如两次都解析不成功则执行步骤E13;
步骤E12:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤E13;
步骤E13:所述解析装置判断第一磁道区域中的数据的长度是否为0,是则执行步骤E14,否则执行步骤E16;
步骤E14:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E15,如两次都解析不成功则执行步骤E16;
步骤E15:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,执行步骤E16;
步骤E16:所述解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤E17,否则执行步骤E19;
步骤E17:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E18,如两次都解析不成功则执行步骤E19;
步骤E18:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤E19;
步骤E19:所述解析装置判断第二磁道区域中的数据的长度是否为0,是则执行步骤E20,否则执行步骤E22;
步骤E20:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E21,如两次都解析不成功则执行步骤E22;
步骤E21:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤E22;
步骤E22:所述解析装置判断所述磁条卡临时缓存区中的数据的长度是否为0,是则报错,结束,否则执行步骤S3。
11、如权利要求1所述的方法,其特征在于,所述解析装置根据预设规则对获取到的数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,包括:
步骤H1:所述解析装置判断刷卡方向是否为反向,是则执行步骤H2,否则执行步骤H4;
步骤H2:所述解析装置读取获取到的一个数据,将读取到的数据逆序去掉高位上的0后得到新数据;
步骤H3:所述解析装置判断所述新数据中最低位上的数据是否为1,是则执行步骤H4,否则报错,结束;
步骤H4:所述解析装置根据当前磁道的字段格式从读取到的数据的最低位开始获取一个字作为当前字;
步骤H5:所述解析装置对当前字进行奇偶校验,并判断校验是否成功,是则执行步骤H6,否则报错,结束;
步骤H6:所述解析装置更新字个数,并判断所述字个数是否等于预设值,是则执行步骤H7,否则执行步骤H8;
步骤H7:所述解析装置判断当前字是否为正确的数据头,是则执行步骤H8,否则报错,结束;
步骤H8:所述解析装置判断当前字的上一个字是否为结束标志,是则执行步骤H11,否则执行步骤H9;
步骤H9:所述解析装置判断所述读取到的数据是否处理完成,是则执行步骤H12,否则执行步骤H10;
步骤H10:所述解析装置根据当前磁道的字段格式从所述读取到的数据中获取下一个字作为当前字,返回步骤H5;
步骤H11:所述解析装置判断所述字个数是否大于所述预设值,是则执行步骤H12,否则报错,结束;
步骤H12:所述解析装置判断所述结束标志是否正确,是则执行步骤H13,否则报错,结束;
步骤H13:所述解析装置对所述读取到的数据中的所有字进行奇偶校验,并判断校验是否成功,是则解析成功,否则解析失败。本发明又提供了一种磁条卡信息的解析装置,包括:
获取模块,包括第一磁头子模块和第二磁头子模块,所述第一磁头子模块和第二磁头子模块相对设置于卡槽的两侧,所述第一磁头子模块和第二磁头子模块用于从磁条卡的两面获取至少三个数据;
解析判断模块,用于根据预设解析规则分别对所述获取模块获取到的数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则将解析成功的解析结果转换成可识别的数据,否则触发报错模块;
转换模块,用于将所述可识别的数据转换成预定格式的数据;
所述报错模块,用于在所述解析判断模块判断为否时报错。
其中,所述解析判断模块具体用于分别以磁道的正向和反向,按照预设解析规则解析获取到的第一个数据,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则继续分别以正向和反向,按照预设解析规则解析其他数据,如两次都解析不成功则更换解析规则,分别以正向和反向,按照更换后的解析规则重新解析第一数据;还用于将解析成功的解析结果转换成可识别的数据。
其中,所述解析判断模块包括:
第一解析判断子模块,用于分别以磁道的正向和反向,按照预设解析规则对所述第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第一转换子模块,如两次都解析不成功则更换解析规则,分别以正向和反向,按照更换后的解析规则重新解析第一数据,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发所述第一转换子模块,如两次都解析不成功则触发第一判断子模块;
所述第一转换子模块,用于将所述第一数据的解析结果转换成可识别的数据,设置已知刷卡方向,触发第一判断子模块;
所述第一判断子模块,用于判断是否已知刷卡方向,如已知刷卡方向则用于根据已知的刷卡方向,按照预设解析规则对所述获取模块获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第二转换子模块,如两次都解析不成功则触发所述转换模块;如两次都解析不成功则分别以磁道的正向和反向,按照预设解析规则对所述获取模块获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第二转换子模块,如两次都解析不成功则触发所述转换模块;
所述第二转换子模块,用于将解析成功的解析结果转换成可识别的数据,触发所述转换模块。
其中,所述获取模块具体用于通过两个磁头从磁条卡的两面获取三个数据;
所述第一解析判断子模块包括第一解析判断单元和第二解析判断单元;
所述第一转换子模块包括第一转换单元和第二转换单元;
所述第一判断子模块包括:第一判断单元、第一解析转换单元、第二解析转换单元、第二判断单元、第三判断单元、第三解析转换单元、第四解析转换单元、第三解析判断单元、第四解析判断单元和第四判断单元;
所述第二转换子模块包括第三转换单元和第四转换单元;
所述第一解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第一转换单元,如两次都解析不成功则触发所述第二解析判断单元;
所述第一转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发所述第一判断单元;
所述第二解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第二转换单元,如两次都解析不成功则触发所述第一判断单元;
所述第二转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,触发所述第一判断单元;
所述第一判断单元,用于判断是否已知刷卡方向,是则触发所述第一解析转换单元,否则触发所述第二解析转换单元;
所述第一解析转换单元,用于以所述已知刷卡方向按照第二磁道格式解析第二数据,将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第二判断单元;
所述第二解析转换单元,用于分别以磁道的正向和反向按照第二磁道格式解析第二数据,将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发所述第二判断单元;
所述第二判断单元,用于判断是否已知刷卡方向,是则触发所述第三判断单元,否则触发所述第三解析判断单元;
所述第三判断单元,用于判断磁条卡是否为正面向上,是则触发所述第三解析转换单元,否则触发所述第四解析转换单元;
所述第三解析转换单元,用于以所述已知刷卡方向按照第三磁道格式解析第三数据,将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第四判断单元;
所述第四解析转换单元,用于以所述已知刷卡方向按照第二磁道格式解析第三数据,将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第四判断单元;
所述第三解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三转换单元,如两次都解析不成功则触发所述第四解析判断单元;
所述第三转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第四判断单元;
第四解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四转换单元,如两次都解析不成功则触发所述第四判断单元;
所述第四转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第四判断单元;
所述第四判断单元,用于判断所述磁条卡临时缓存区的数据的长度是否为0,是则触发所述报错模块;否则触发所述转换模块。
其中,所述获取模块具体用于通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
所述第一解析判断模块包括:第五解析判断单元和第六解析判断单元;
所述第一转换子模块包括:第五转换单元和第六转换单元;
所述第一判断子模块包括:第五判断单元、第六判断单元、第七判断单元、第七解析判断单元、第八解析判断单元、第九解析判断单元、第八判断单元、第九判断单元、第十解析判断单元、第十一解析判断单元、第十二解析判断单元、第十三解析判断单元、第十判断单元、第十一判断单元、第十四解析判断单元、第十五解析判断单元、第十六解析判断单元、第十七解析判断单元和第十八解析判断单元;
所述第二转换子模块包括:第七转换单元、第八转换单元、第九转换单元、第十转换单元、第十一转换单元、第十二转换单元、第十三转换单元、第十四转换单元、第十五转换单元、第十六转换单元、第十七转换单元和第十八转换单元;
所述第五解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第五转换单元,如两次都解析不成功则触发所述第六解析判断单元;
所述第五转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发所述第五判断单元;
所述第六解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第六转换单元,如两次都解析不成功则触所述发第五判断单元;
所述第六转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,触发所述第五判断单元;
所述第五判断单元,用于判断是否已知刷卡方向,是则触发所述第六判断单元,否则触发所述第九解析判断单元;
所述第六判断单元,用于判断所述磁条卡朝向是否为正面向上,是则触发所述第七解析判断单元,否则触发所述第八解析判断单元;
所述第七解析判断单元,用于以所述已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第七转换单元,否则触发所述第七判断单元;
所述第七转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第七判断单元;
所述第八解析判断单元,用于以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第八转换单元,否则触发所述第七判断单元;
所述第八转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第七判断单元;
所述第九解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第九转换单元,如两次都解析不成功则触发所述第十解析判断单元;
所述第九转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发所述第七判断单元;
所述第十解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第十转换单元,如两次都解析不成功则触发所述第七判断单元;
所述第十转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,触发所述第七判断单元;
所述第七判断单元,用于判断是否已知刷卡方向,是则触发所述第八判断单元,否则触发所述第十三解析判断单元;
所述第八判断单元,用于判断所述磁条卡朝向是否为正面向上,是则触发所述第十一解析判断单元,否则触发所述第十二解析判断单元;
所述第十一解析判断单元,用于以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第十一转换单元,否则触发所述第九判断单元;
所述第十一转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第九判断单元;
所述第十二解析判断单元,用于以所述已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第十二转换单元,否则触发所述第九判断单元;
所述第十二转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,触发所述第九判断单元;
所述第十三解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第十三转换单元,如两次都解析不成功则触发所述第十四解析判断单元;
所述第十三转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发所述第九判断单元;
所述第十四解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第十四转换单元,如两次都解析不成功则触发所述第九判断单元;
所述第十四转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,触发所述第九判断单元;
所述第九判断单元,用于判断是否已知刷卡方向,是则触发所述第十判断单元,否则触发所述第十七解析判断单元;
所述第十判断单元,用于判断所述磁条卡朝向是否为正面向上,是则触发所述第十五解析判断单元,否则触发所述第十六解析判断单元;
所述第十五解析判断单元,用于以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第十五转换单元,否则触发所述第十一判断单元;
所述第十五转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第十一判断单元;
所述第十六解析判断单元,用于以所述已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第十六转换单元,否则触发所述第十一判断单元;
所述第十六转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第十一判断单元;
所述第十七解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第十七转换单元,如两次都解析不成功则触发所述第十八解析判断单元;
所述第十七转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第十一判断单元;
所述第十八解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第十八转换单元,如两次都解析不成功则触发所述第十一判断单元;
所述第十八转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第十一判断单元;
所述第十一判断单元,用于判断所述磁条卡临时缓存区的数据的长度是否为0,是则触发所述报错模块;否则触发所述转换模块。
其中,所述获取模块具体用于通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
所述第一解析判断子模块包括:第十九解析判断单元和第二十解析判断单元;
所述第一转换子模块包括:第十九转换单元和第二十转换单元;
所述第一判断子模块包括:第十二判断单元、第十三判断单元、第十四判断单元、第十五判断单元、第二十一解析判断单元、第二十二解析判断单元、第二十三解析判断单元、第二十四解析判断单元、第二十五解析判断单元、第十六判断单元、第十七判断单元、第二十六解析判断单元、第二十七解析判断单元、第二十八解析判断单元、第二十九解析判断单元、第三十解析判断单元、第十八判断单元、第十九判断单元、第三十一解析判断单元、第三十二解析判断单元、第三十三解析判断单元、第三十四解析判断单元和第三十五解析判断单元;
所述第二转换子模块包括:第二十一转换单元、第二十二转换单元、第二十三转换单元、第二十四转换单元、第二十五转换单元、第二十六转换单元、第二十七转换单元、第二十八转换单元、第二十九转换单元、第三十转换单元、第三十一转换单元、第三十二转换单元、第三十三转换单元、第三十四转换单元和第三十五转换单元;
所述第十九解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第十九转换单元,如两次都解析不成功则触发所述第二十解析判断单元;
所述第十九转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,设置所述磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,触发所述第十二判断单元;
所述第二十解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第二十转换单元,如两次都解析不成功则触发所述第十二判断单元;
所述第二十转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,触发所述第十二判断单元;
所述第十二判断单元,用于判断是否已知刷卡方向,是则触发所述第十三判断单元,否则触发所述第二十五解析判断单元;
所述第十三判断单元,用于判断磁条卡朝向是否为正面向上,是则触发所述第二十一解析判断单元,否则触发所述第十四判断单元;
所述第二十一解析判断单元,用于以已知刷卡方向,分别按照第二磁道格式、第三磁道格式、第三磁道格式解析对应的所述原始数据缓存区中的第二数据、所述原始数据缓存区中的第三数据、所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如至少有一个数据解析成功则触发所述第二十一转换单元,如所有数据都解析不成功则触发所述第十九判断单元;
所述第二十一转换单元,用于将解析成功的解析结果转换成可识别的数据,并将转换后的可识别数据保存到所述磁条卡临时缓存区的对应磁道区域中,更新对应磁道区域中的数据的长度,触发所述第十九判断单元;
所述第十四判断单元,用于判断第三磁道区域中的数据的长度是否为0,是则触发所述第二十二解析判断单元,否则触发所述第二十三解析判断单元;
所述第二十二解析判断单元,用于以已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第二十二转换单元,触发所述第二十三解析判断单元;
所述第二十二转换单元,用于将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,触发所述第二十三解析判断单元;
所述第二十三解析判断单元,用于以已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第二十三转换单元,否则触发所述第二十四解析判断单元;
所述第二十三转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,触发所述第二十四解析判断单元;
所述第二十四解析判断单元,用于以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第二十四转换单元,否则触发所述第十九判断单元;
所述第二十四转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,触发所述第十九判断单元;
所述第二十五解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第二十五转换单元,如两次都解析不成功则触发所述第二十六解析判断单元;
所述第二十五转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,设置磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,触发所述第十五判断单元;
所述第二十六解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第二十六转换单元,如两次都解析不成功则触发所述第十五判断单元;
所述第二十六转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,触发所述第十五判断单元;
所述第十五判断单元,用于判断是否已知刷卡方向,是则触发所述第十六判断单元,否则触发所述第三十解析判断单元;
所述第十六判断单元,用于判断磁条卡朝向是否为正面向上,是则触发所述第二十七解析判断单元,否则触发所述第二十八解析判断单元;
所述第二十七解析判断单元,用于以已知刷卡方向,按照第三磁道格式分别解析所述原始数据缓存区中的第三数据、所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如至少有一个数据解析成功则触发所述第二十七转换单元,否则触发所述第十九判断单元;
所述第二十七转换单元,用于将解析成功的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的对应磁道区域中,更新对应磁道区域中的数据的长度,触发第十九判断单元;
所述第二十八解析判断单元,用于以已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第二十八转换单元,否则触发所述第二十九解析判断单元;
所述第二十八转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,触发所述第二十九解析判断单元;
所述第二十九解析判断单元,用于以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第二十九转换单元,否则触发所述第十九判断单元;
所述第二十九转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,触发所述第十九判断单元;
所述第三十解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三十转换单元,如两次都解析不成功则触发所述第三十一解析判断单元;
所述第三十转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,设置磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,触发所述第十九判断单元;
所述第三十一解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三十一转换单元,如两次都解析不成功则触发所述第十七判断单元;
所述第三十一转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,触发所述第十七判断单元;
所述第十七判断单元,用于判断是否已知刷卡方向,是则触发所述第十八判断单元,否则触发所述第三十四解析判断单元;
所述第十八判断单元,用于判断磁条卡朝向是否为正面向上,是则触发所述第三十二解析判断单元,否则触发所述第三十三解析判断单元;
所述第三十二解析判断单元,用于以已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第三十二转换单元,否则触发所述第十九判断单元;
所述第三十二转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,触发所述第十九判断单元;
所述第三十三解析判断单元,用于以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第三十三转换单元,否则触发所述第十九判断单元;
所述第三十三转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,触发所述第十九判断单元;
所述第三十四解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三十四转换单元,如两次都解析不成功则触发所述第三十五解析判断单元;
所述第三十四转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,触发所述第十九判断单元;
所述第三十五解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三十五转换单元,如两次都解析不成功则触发所述第十九判断单元;
所述第三十五转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,触发所述第十九判断单元;
所述第十九判断单元,用于判断所述磁条卡临时缓存区中的数据的长度是否为0,是则触发所述报错模块,否则触发所述转换模块。
其中,所述解析判断模块具体用于分别以磁道的正向和反向,按照预设解析规则依次对获取到的每个数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则将解析成功的解析结果转换成可识别的数据,触发所述转换模块,否则触发所述报错模块。
其中,所述解析判断模块包括:
第二解析判断子模块,用于分别以磁道的正向和反向,按照预设解析规则对获取到的第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第三转换子模块,如两次都解析不成功则触发第二判断子模块;
所述第三转换子模块,用于将所述第一数据的解析结果转换成可识别的数据,触发第二判断子模块;
所述第二判断子模块,用于分别以磁道的正向和反向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第四转换子模块,如两次都解析不成功则触发所述转换模块;
所述第四转换子模块,用于将解析成功的解析结果转换成可识别的数据,触发所述转换模块。
其中,所述获取模块具体用于通过两个磁头从磁条卡的两面获取三个数据;
所述第二解析判断子模块包括:第三十六解析判断单元和第三十七解析判断单元;所述第三转换子模块包括:第三十六转换单元和第三十七转换单元;所述第二判断子模块包括:第三十八解析判断单元、第三十九解析判断单元和第二十判断单元;所述第四转换子模块包括:第三十八转换单元、第三十九转换单元和第四十转换单元;
所述第三十六解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析获取到的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三十七解析判断单元,如两次都解析不成功则触发所述第三十六转换单元;
所述第三十六转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,触发所述第三十八解析判断单元;
所述第三十七解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析获取到的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第三十七转换单元,如两次都解析不成功则触发所述第三十八解析判断单元;
所述第三十七转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第三十八解析判断单元;
所述第三十八解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析获取到的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三十八转换单元,如两次都解析不成功则触发所述第三十九解析判断单元;
所述第三十八转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第三十九解析判断单元;
所述第三十九解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析获取到的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三十九转换单元,如两次都解析不成功则触发所述第四十解析判断单元;
所述第三十九转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第二十判断单元;
所述第四十解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析获取到的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十转换单元,如两次都解析不成功则触发所述第二十判断单元;
所述第四十转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第二十判断单元;
所述第二十判断单元,用于判断所述磁条卡临时缓存区的数据的长度是否为0,是则触发所述报错模块;否则触发所述转换模块。
其中,所述获取模块具体用于通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
所述第二解析判断子模块包括:第四十一解析判断单元和第四十二解析判断单元;
所述第三转换子模块包括:第四十一转换单元和第四十二转换单元;
所述第二判断子模块包括:第二十一判断单元、第二十二判断单元、第四十三解析判断单元、第二十三判断单元、第四十四解析判断单元、第二十四判断单元、第四十五解析判断单元、第二十五判断单元、四十六解析判断单元、第二十六判断单元、第四十七解析判断单元和第四十八解析判断单元;
所述第四转换子模块包括:第四十三转换单元、第四十四转换单元、第四十五转换单元、第四十六转换单元、第四十七转换单元和第四十八转换单元;
第四十一解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十一转换单元,如两次都解析不成功则触发所述第四十二解析判断单元;
所述第四十一转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,触发所述第四十三解析判断单元;
所述第四十二解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十二转换单元,如两次都解析不成功则触发所述第四十三解析判断单元;
所述第四十二转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,触发所述第四十三解析判断单元;
所述第四十三解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十三转换单元,如两次都解析不成功则触发所述第二十一判断单元;
所述第四十三转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,触发所述第二十一判断单元;
所述第二十一判断单元,用于判断第三磁道区域中的数据的长度是否为0,是则触发所述第四十四解析判断单元,否则触发所述第二十二判断单元;
所述第四十四解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十四转换单元,如两次都解析不成功则触发所述第二十二判断单元;
所述第四十四转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,触发所述第二十二判断单元;
所述第二十二判断单元,用于判断第三磁道区域中的数据的长度是否为0,是则触发所述第四十五解析判断单元,否则触发所述第二十三判断单元;
所述第四十五解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十五转换单元,如两次都解析不成功则触发所述第二十三判断单元;
所述第四十五转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,触发所述第二十三判断单元;
所述第二十三判断单元,用于判断第一磁道区域中的数据的长度是否为0,是则触发所述第四十六解析判断单元,否则触发所述第二十四判断单元;
所述第四十六解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十六转换单元,如两次都解析不成功则触发所述第二十四判断单元;
所述第四十六转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,触发所述第二十四判断单元;
所述第二十四判断单元,用于判断第三磁道区域中的数据的长度是否为0,是则触发所述第四十七解析判断单元,否则触发所述第二十五判断单元;
所述第四十七解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十七转换单元,如两次都解析不成功则触发所述第二十五判断单元;
所述第四十七转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,触发所述第二十五判断单元;
所述第二十五判断单元,用于判断第二磁道区域中的数据的长度是否为0,是则触发所述第四十八解析判断单元,否则触发所述第二十六判断单元;
所述第四十八解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十八转换单元,如两次都解析不成功则触发所述第二十六判断单元;
所述第四十八转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,触发所述第二十六判断单元;
所述第二十六判断单元,用于判断所述磁条卡临时缓存区中的数据的长度是否为0,是则触发所述报错模块,否则触发所述转换模块。
其中,所述解析判断模块,包括:
第三判断子模块,用于判断刷卡方向是否为反向,是则触发读取逆序子模块,否则触发第一作为子模块;
所述读取逆序子模块,用于读取获取到的一个数据,将读取到的数据逆序去掉高位上的0后得到新数据;
所述第四判断子模块,用于判断所述新数据中最低位上的数据是否为1,是则触发第一作为子模块,否则触发所述报错模块;
所述第一作为子模块,用于根据当前磁道的字段格式从读取到的数据的最低位开始获取一个字作为当前字;
第一校验判断子模块,用于对当前字进行奇偶校验,并判断校验是否成功,是则触发更新判断子模块,否则触发所述报错模块;
所述更新判断子模块,用于更新字个数,并判断所述字个数是否等于预设值,是则触发第五判断子模块,否则触发第六判断子模块;
所述第五判断子模块,用于判断当前字是否为正确的数据头,是则触发第六判断子模块,否则触发所述报错模块;
所述第六判断子模块,用于判断当前字的上一个字是否为结束标志,是则触发第八判断子模块,否则触发第七判断子模块;
所述第七判断子模块,用于判断所述读取到的数据是否处理完成,是则触发第九判断子模块,否则触发第二作为单元;
所述第二作为子模块,用于根据当前磁道的字段格式从所述读取到的数据中获取下一个字作为当前字,触发所述第一校验判断子模块;
所述第八判断子模块,用于判断所述字个数是否大于所述预设值,是则触发第九判断子模块,否则触发所述报错模块;
所述第九判断子模块,用于判断所述结束标志是否正确,是则触发第二校验判断子模块,否则触发所述报错模块;
所述第二校验判断子模块,用于对所述读取到的数据中的所有字进行奇偶校验,并判断校验是否成功,是则解析成功,触发第五转换子模块,否则触发所述报错模块;
所述第五转换子模块,用于将解析成功的解析结果转换成可识别的数据。
本发明与现有技术相比,具有以下优点:
本发明适用于有不同刷卡习惯的各种用户,通过本发明的方法使用户在刷卡时无须指定刷卡方向和卡面方向,提升了用户体验。
附图说明
图1为本发明实施例一提供的一种磁条卡信息的解析方法流程图;
图2和图3为本发明实施例二提供的一种磁条卡信息的解析方法流程图;
图4为本发明实施例三提供的一种磁条卡信息的解析方法流程图;
图5-图7为本发明实施例四提供的一种磁条卡信息的解析方法流程图;
图8-图10为本发明实施例五提供的一种磁条卡信息的解析方法流程图;
图11和图12为本发明实施例六提供的一种磁条卡信息的解析方法流程图;
图13为本发明实施例七提供的一种解析装置解析某个数据的具体实现方法流程图;
图14为本发明实施例八提供的一种磁条卡信息的解析装置方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本实施例中,解析装置包括两个相对设置的磁头,在解析过程中涉及的正向和反向均为磁道的方向。
实施例一
本发明实施例一提供一种磁条卡信息的解析方法,如图1所示,包括:
步骤S1:解析装置通过相对设置的两个磁头从磁条卡的两面获取至少三个数据;
步骤S2:解析装置根据预设解析规则分别对获取到的数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则将解析成功的解析结果转换成可识别的数据,执行步骤S3,否则报错,结束;
在本实施例中,解析过程至少具有两种实现方式;
第一种方式:解析装置分别以磁道的正向和反向,按照预设解析规则解析获取到的第一个数据,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则继续分别以正向和反向,按照预设解析规则解析其他数据,如两次都解析不成功则更换解析规则,分别以正向和反向,按照更换后的解析规则重新解析第一数据。
本实施例中的第一种方式具体包括:
步骤S2-11:解析装置分别以磁道的正向和反向,按照预设解析规则对第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功是则执行步骤S2-12,如两次都解析不成功则更换解析规则,分别以正向和反向,按照更换后的解析规则重新解析第一数据,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功是则执行步骤S2-12,如两次都解析不成功则执行步骤S2-13;
步骤S2-12:解析装置将第一数据的解析结果转换成可识别的数据,设置已知刷卡方向,执行步骤S2-13;
步骤S2-13:解析装置判断是否已知刷卡方向,是则执行步骤S2-14,否则执行步骤S2-15;
步骤S2-14:解析装置根据已知的刷卡方向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-16,如两次都解析不成功则执行步骤S3;
步骤S2-15:解析装置分别以磁道的正向和反向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-16,如两次都解析不成功则执行步骤S3;
步骤S2-16:解析装置将解析成功的解析结果转换成可识别的数据,执行步骤S3。
第二种方式:解析装置分别以磁道的正向和反向,按照预设解析规则依次对获取到的每个数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则将解析成功的解析结果转换成可识别的数据,执行步骤S3,否则报错,结束。
本实施例中的第二种方式具体包括:
步骤S2-21:解析装置分别以磁道的正向和反向,按照预设解析规则对获取到的第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-22,如两次都解析不成功则执行步骤S2-23;
步骤S2-22:解析装置将第一数据的解析结果转换成可识别的数据,执行步骤S2-23;
步骤S2-23:解析装置分别以磁道的正向和反向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-24,如两次都解析不成功则执行步骤S3;
步骤S2-24:解析装置将解析成功的解析结果转换成可识别的数据,执行步骤S3;
步骤S3:解析装置将可识别数据转换成预定格式的数据。
实施例二
本发明实施例二提供一种磁条卡信息的解析方法,具体的,解析装置有两个相对设置的磁头,所使用的磁条卡包含三个磁道,分别记为第一磁道、第二磁道、第三磁道,解析装置的两个磁头可以获取磁条卡上三个磁道的数据,分别记为第一数据、第二数据、第三数据,第一数据、第二数据和第三数据均为二进制数据,如图2和图3所示,本实施例的方法包括:
步骤101:解析装置从磁条卡的解码芯片中获取数据并存储到原始数据缓存区中;
步骤102:解析装置以磁道的正向按照第一磁道格式解析第一数据,并判断是否解析成功,是则执行步骤103,否则执行步骤104;
在本实施例中,解析装置调用第一预设函数将第一数据转换成字节数据,如函数返回成功响应则说明解析成功,反之解析失败;
具体的,本实施例中的第一预设函数为MAG_Data_Analy(),用于按照预定义的字段格式(例如,第一磁道的字段格式为5位表示一个字,第二磁道的字段格式为7位表示一个字,第三磁道的字段格式为8位表示一个字)对该数据进行解析,并对每个字段的校验值和整个数据的LRC进行检查;
第一函数的输入参数包括:UINT8*SrcBuf,//数据源
UINT8*DestBuf,//解析后存放的目标源
TRACK_MSG TrackMsg,//磁道属性信息
UINT8Direction,//解析方向,刷卡方向
UINT8*GetWordLen//解析到的字段个数
第一函数的返回值包括:解析成功则返回成功信息,解析失败则返回错误类型;
UINT8MAG_Data_Analy(UINT8*SrcBuf,//数据源
UINT8*DestBuf,//解析后存放的目标源
TRACK_MSG TrackMsg,//磁道属性信息
UINT8Direction,//解析方向,刷卡方向
UINT8*GetWordLen)//解析到的字段个数
例如,本实施例中,第一数据为:45 71 45 7a cd 4c b0 d4 4a 54 5a 89 4a 2199 ab 4f 8f 0e bb d1 e1 d4 93 95 02 02 81 40 20 10 08 04 02 81 40 20 10 08 f445 27 90 8a 14 12 85 40 20 10 08 04 02 81 40 20 10 08 04 42 b5 4c 20 10 08 0402 f9 48 01 00;
步骤103:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置刷卡方向为正向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤110;
具体的,在本实施例中,解析装置置位正向刷卡标识、置位磁条卡正面向上标识、置位刷卡方向;本实施例中的刷卡方向是预先设置的刷卡方向,反方向为预先设置的刷卡方向相反的方向;例如,本实施例中可识别的数据可以为卡号、有效期、姓名、金额等等;
例如,根据上述第一数据的具体实例得到的解析结果为:45 62 15 52 57 19 1358 54 15 51 52 15 51 52 10 19 57 3e 7a 68 61 6e 68 61 29 4f 2c 29 40 40 40 4040 40 40 40 40 40 40 40 40 40 40 40 3e 51 13 10 15 52 10 51 10 10 10 10 10 1010 10 10 10 10 10 10 10 10 54 16 13 10 10 10 10 10 10 1f;转换后的可识别数据为:25 42 35 32 37 39 33 38 34 35 31 32 35 31 32 30 39 37 5e 5a 48 41 4e 48 4149 2f 4c 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 31 33 30 35 3230 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 34 36 33 30 30 30 30 30 303f;
步骤104:解析装置以磁道的反向按照第一磁道格式解析第一数据,并判断是否解析成功,是则执行步骤105,否则执行步骤106;
例如,本实施例中的第一数据为:25 3e 81 40 20 10 08 64 5a 85 40 20 10 0804 02 81 40 20 10 08 04 42 91 50 a2 12 c8 45 5f 20 10 08 04 02 81 40 20 10 0804 02 81 80 52 93 57 0e 17 bb e1 e2 e5 ab 33 09 a5 22 b5 54 a4 56 1a 64 66 bd44 1d 45 01 00;转换后的可识别数据为79个字段;
步骤105:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置刷卡方向为反向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤110;
例如,根据上述第一数据的具体实例得到的解析结果为:45 62 15 52 57 19 1358 54 15 51 52 15 51 52 10 19 57 3e 7a 68 61 6e 68 61 29 4f 2c 29 40 40 40 4040 40 40 40 40 40 40 40 40 40 40 40 3e 51 13 10 15 52 10 51 10 10 10 10 10 1010 10 10 10 10 10 10 10 10 54 16 13 10 10 10 10 10 10 1f;转换后的可识别数据为:25 42 35 32 37 39 33 38 34 35 31 32 35 31 32 30 39 37 5e 5a 48 41 4e 48 4149 2f 4c 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 31 33 30 35 3230 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 34 36 33 30 30 30 30 30 303f;转换后的可识别数据为79个字段;
步骤106:解析装置以磁道的正向按照第三磁道格式解析第一数据,并判断是否解析成功,是则执行步骤107,否则执行步骤108;
例如,本实施例中的第一数据为:ff e1 39 30 30 30 30 39 36 36 b2 35 b2 b739 33 b8 b4 35 b1 b2 35 b1 b2 30 39 b7 b8 39 b1 30 30 30 33 30 30 30 30 30 30b1 33 30 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30b7 30 b7 30 ff;
步骤107:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置刷卡方向为正向、磁条卡朝向为正面向下、已知刷卡方向,执行步骤110;
例如,根据上述第一数据的具体实例得到的解析结果为:ff e1 39 30 30 30 3039 36 36 b2 35 b2 b7 39 33 b8 b4 35 b1 b2 35 b1 b2 30 39 b7 b8 39 b1 30 30 3033 30 30 30 30 30 30 b1 33 30 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 3030 30 30 30 30 30 30 b7 30 b7 30 ff;转换后的可识别数据为:7f 61 39 30 30 30 3039 36 36 32 35 32 37 39 33 38 34 35 31 32 35 31 32 30 39 37 38 39 31 30 30 3033 30 30 30 30 30 30 31 33 30 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 3030 30 30 30 30 30 30 37 30 37 30 7f;转换后的可识别数据为72个字段;
步骤108:解析装置以磁道的反向按照第三磁道格式解析第一数据,并判断是否解析成功,是则执行步骤109,否则执行步骤110;
例如,本实施例中的第一数据为:ff 0c ed 0c ed 0c 0c 0c 0c 0c 0c 0c 0c 0c0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c 0c ac 0c cc 8d 0c 0c 0c 0c 0c 0c cc 0c 0c0c 8d 9c 1d ed 9c 0c 4d 8d ac 4d 8d ac 2d 1d cc 9c ed 4d ac 4d 6c 6c 9c 0c 0c0c 0c 9c 87 ff;
步骤109:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置刷卡方向为反向、磁条卡朝向为正面向下、已知刷卡方向,执行步骤110;
例如,根据上述第一数据的具体实例得到的解析结果为:ff e1 39 30 30 30 3039 36 36 b2 35 b2 b7 39 33 b8 b4 35 b1 b2 35 b1 b2 30 39 b7 b8 39 b1 30 30 3033 30 30 30 30 30 30 b1 33 30 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 3030 30 30 30 30 30 30 b7 30 b7 30 ff;转换后的可识别数据为:7f 61 39 30 30 30 3039 36 36 32 35 32 37 39 33 38 34 35 31 32 35 31 32 30 39 37 38 39 31 30 30 3033 30 30 30 30 30 30 31 33 30 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 3030 30 30 30 30 30 30 37 30 37 30 7f;转换后的可识别数据为72个字段;
步骤110:解析装置判断是否已知刷卡方向,是则执行步骤111,否则执行步骤112;
步骤111:解析装置以已知的刷卡方向按照第二磁道格式解析第二数据,将第二数据的解析结果转换成可识别的数据并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤116;
步骤112:解析装置以磁道的正向按照第二磁道格式解析第二数据,并判断是否解析成功,是则执行步骤113,否则执行步骤114;
步骤113:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置刷卡方向为正向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤116;
步骤114:解析装置以磁道的反向按照第二磁道格式解析第二数据,并判断是否解析成功,是则执行步骤115,否则执行步骤116;
步骤115:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置刷卡方向为反向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤116;
步骤116:解析装置判断是否已知刷卡方向,是则执行步骤117,否则执行步骤120;
步骤117:解析装置判断磁条卡朝向是否为正面向上,是则执行步骤118,否则执行步骤119;
步骤118:解析装置以已知的刷卡方向按照第三磁道格式解析第三数据,将第三数据的解析结果转换成可识别的数据并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤128;
步骤119:解析装置以已知的刷卡方向按照第二磁道格式解析第三数据,将第三数据的解析结果转换成可识别的数据并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤128;
步骤120:解析装置以正向按照第三磁道格式解析第三数据,并判断是否解析成功,是则执行步骤121,否则执行步骤122;
步骤121:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤128;
步骤122:解析装置以反向按照第三磁道格式解析第三数据,并判断是否解析成功,是则执行步骤123,否则执行步骤124;
步骤123:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤128;
步骤124:解析装置以正向按照第二磁道格式解析第三数据,并判断是否解析成功,是则执行步骤125,否则执行步骤126;
步骤125:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤128;
步骤126:解析装置以反向按照第二磁道格式解析第三数据,并判断是否解析成功,是则执行步骤127,否则执行步骤128;
步骤127:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤128;
步骤128:解析装置判断磁条卡临时缓存区中的数据的长度是否为0,是则报错,结束,否则将磁条卡临时缓存区中的数据转换成TLV格式的数据,结束。
实施例三
本发明实施例三提供一种磁条卡信息的解析方法,具体的,解析装置有两个磁头,所使用的磁条卡包含三个磁道,分别记为第一磁道、第二磁道、第三磁道,解析装置的两个磁头可以获取磁条卡上三个磁道的数据,分别记为第一数据、第二数据、第三数据,第一数据、第二数据和第三数据均为二进制数据,如图4所示,本实施例的方法包括:
步骤201:解析装置从磁条卡的解码芯片中读取数据并存储到原始数据缓存中;
步骤202:解析装置以磁道的正向按照第一磁道格式解析第一数据,并判断是否解析成功,是则执行步骤203,否则执行步骤204;
具体的,在本实施例中,解析装置调用第一预设函数将第一数据转换成字节数据,如函数返回成功响应则说明解析成功,反之解析失败;本实施例中的第一函数与实施例一中的第一函数相同,在此不再赘述;
步骤203:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,执行步骤210;
步骤204:解析装置以磁道的反向按照第一磁道格式解析第一数据,并判断是否解析成功,是则执行步骤205,否则执行步骤206;
步骤205:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,执行步骤210;
步骤206:解析装置以磁道的正向按照第三磁道格式解析第一数据,并判断是否解析成功,是则执行步骤207,否则执行步骤208;
步骤207:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤210;
步骤208:解析装置以磁道的反向按照第三磁道格式解析第一数据,并判断是否解析成功,是则执行步骤209,否则执行步骤210;
步骤209:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤210;
步骤210:解析装置以磁道的正向按照第二磁道格式解析第二数据,并判断是否解析成功,是则执行步骤211,否则执行步骤212;
步骤211:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤214;
步骤212:解析装置以磁道的反向按照第二磁道格式解析第二数据,并判断是否解析成功,是则执行步骤213,否则执行步骤214;
步骤213:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤214;
步骤214:解析装置以磁道的正向按照第三磁道格式解析第三数据,并判断是否解析成功,是则执行步骤215,否则执行步骤216;
步骤215:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤222;
步骤216:解析装置以磁道的反向按照第三磁道格式解析第三数据,并判断是否解析成功,是则执行步骤217,否则执行步骤218;
步骤217:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤222;
步骤218:解析装置以磁道的正向按照第二磁道格式解析第三数据,并判断是否解析成功,是则执行步骤219,否则执行步骤220;
步骤219:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤222;
步骤220:解析装置以磁道的反向按照第二磁道格式解析第三数据,并判断是否解析成功,是则执行步骤221,否则执行步骤222;
步骤221:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤222;
步骤222:解析装置判断磁条卡临时缓存区中的数据的长度是否为0,是则报错,结束,否则将磁条卡临时缓存区中的数据转换成TLV格式,结束。
实施例四
本发明实施例四提供一种磁条卡信息的解析方法,具体的,解析装置有两个磁头,所使用的磁条卡包含三个磁道,分别记为第一磁道、第二磁道、第三磁道,解析装置的一个磁头可以从两个磁道上获取两个数据另一个磁头从另一个磁道上获取两个相同的数据,获取到的数据分别记为第一数据、第二数据、第三数据、第四数据,对应地分别存储在第一原始数据缓存区、第二原始数据缓存区、第三原始数据缓存区、第四原始数据缓存区。本实施例方法的具体实现过程如图5-图7所示,包括:
步骤301:解析装置从第一原始数据缓存区中获取第一数据;
步骤302:解析装置以磁道的正向按照第一磁道格式解析第一数据,并判断是否解析成功,是则执行步骤303,否则执行步骤304;
在本实施例中,解析装置调用第一预设函数将第一数据转换成字节数据,如函数返回成功响应则说明解析成功,反之解析失败;
步骤303:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置刷卡方向为正向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤310;
具体的,在本实施例中,解析装置置位正向刷卡标识、置位磁条卡正面向上标识、置位刷卡方向;本实施例中的刷卡方向是预先设置的刷卡方向,反方向为预先设置的刷卡方向相反的方向;
步骤304:解析装置以磁道的反向按照第一磁道格式解析第一数据,并判断是否解析成功,是则执行步骤305,否则执行步骤306;
步骤305:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置刷卡方向为反向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤310;
步骤306:解析装置以磁道的正向按照第三磁道格式解析第一数据,并判断是否解析成功,是则执行步骤307,否则执行步骤308;
步骤307:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置刷卡方向为正向、磁条卡朝向为正面向下、已知刷卡方向,执行步骤310;
步骤308:解析装置以磁道的反向按照第三磁道格式解析第一数据,并判断是否解析成功,是则执行步骤309,否则执行步骤310;
步骤309:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置刷卡方向为反向、磁条卡朝向为正面向下、已知刷卡方向,执行步骤310;
步骤310:解析装置从第二原始数据缓存区中获取第二数据,并判断是否已知刷卡方向,是则执行步骤311,否则执行步骤316;
步骤311:解析装置判断磁条卡朝向是否为正面向上,是则执行步骤312,否则执行步骤314;
步骤312:解析装置以已知刷卡方向按照第二磁道格式解析第二数据,并判断是否解析成功,是则执行步骤313,否则执行步骤324;
步骤313:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤324;
步骤314:解析装置以已知刷卡方向按照第三磁道格式解析第二数据,并判断是否解析成功,是则执行步骤315,否则执行步骤324;
步骤315:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤324;
步骤316:解析装置以磁道的正向按照第二磁道格式解析第二数据,并判断是否解析成功,是则执行步骤317,否则执行步骤318;
步骤317:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置刷卡方向为正向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤324;
步骤318:解析装置以磁道的反向按照第二磁道格式解析第二数据,并判断是否解析成功,是则执行步骤319,否则执行步骤320;
步骤319:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置刷卡方向为反向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤324;
步骤320:解析装置以磁道的正向按照第三磁道格式解析第二数据,并判断是否解析成功,是则执行步骤321,否则执行步骤322;
步骤321:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置刷卡方向为正向、磁条卡朝向为正面向下、已知刷卡方向,执行步骤324;
步骤322:解析装置以磁道的反向按照第三磁道格式解析第二数据,并判断是否解析成功,是则执行步骤323,否则执行步骤324;
步骤323:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置刷卡方向为反向、磁条卡朝向为正面向下、已知刷卡方向,执行步骤324;
步骤324:解析装置从第三原始数据缓存区中获取第三数据,并判断是否已知刷卡方向,是则执行步骤325,否则执行步骤330;
步骤325:解析装置判断磁条卡朝向是否为正面向上,是则执行步骤326,否则执行步骤328;
步骤326:解析装置以已知刷卡方向按照第三磁道格式解析第三数据,并判断是否解析成功,是则执行步骤327,否则执行步骤338;
步骤327:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤338;
步骤328:解析装置以已知刷卡方向按照第一磁道格式解析第三数据,并判断是否解析成功,是则执行步骤329,否则执行步骤338;
步骤329:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,执行步骤338;
步骤330:解析装置以磁道的正向按照第三磁道格式解析第三数据,并判断是否解析成功,是则执行步骤331,否则执行步骤332;
步骤331:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置刷卡方向为正向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤338;
步骤332:解析装置以磁道的反向按照第三磁道格式解析第三数据,并判断是否解析成功,是则执行步骤333,否则执行步骤334;
步骤333:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置刷卡方向为反向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤338;
步骤334:解析装置以磁道的正向按照第一磁道格式解析第三数据,并判断是否解析成功,是则执行步骤335,否则执行步骤336;
步骤335:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置刷卡方向为正向、磁条卡朝向为正面向下、已知刷卡方向,执行步骤338;
步骤336:解析装置以磁道的反向按照第一磁道格式解析第三数据,并判断是否解析成功,是则执行步骤337,否则执行步骤338;
步骤337:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置刷卡方向为反向、磁条卡朝向为正面向下、已知刷卡方向,执行步骤338;
步骤338:解析装置从第四原始数据缓存区中获取第四数据,并判断是否已知刷卡方向,是则执行步骤339,否则执行步骤344;
步骤339:解析装置判断磁条卡朝向是否为正面向上,是则执行步骤340,否则执行步骤342;
步骤340:解析装置以已知刷卡方向按照第三磁道格式解析第四数据,并判断是否解析成功,是则执行步骤341,否则执行步骤352;
步骤341:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤352;
步骤342:解析装置以已知刷卡方向按照第二磁道格式解析第四数据,并判断是否解析成功,是则执行步骤343,否则执行步骤352;
步骤343:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤352;
步骤344:解析装置以磁道的正向按照第三磁道格式解析第四数据,并判断是否解析成功,是则执行步骤345,否则执行步骤346;
步骤345:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤352;
步骤346:解析装置以磁道的反向按照第三磁道格式解析第四数据,并判断是否解析成功,是则执行步骤347,否则执行步骤348;
步骤347:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤352;
步骤348:解析装置以磁道的正向按照第二磁道格式解析第四数据,并判断是否解析成功,是则执行步骤349,否则执行步骤350;
步骤349:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤352;
步骤350:解析装置以磁道的反向按照第二磁道格式解析第四数据,并判断是否解析成功,是则执行步骤351,否则执行步骤352;
步骤351:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤352;
步骤352:解析装置判断磁条卡临时缓存区中的数据的长度是否为0,是则报错,结束,否则将磁条卡临时缓存区中的数据转换成TLV格式的数据,结束。
实施例五
本发明实施例五提供一种磁条卡信息的解析方法,具体的,解析装置有两个磁头,所使用的磁条卡包含三个磁道,分别记为第一磁道、第二磁道、第三磁道,解析装置的一个磁头可以从两个磁道上获取两个数据另一个磁头从另一个磁道上获取两个相同的数据,获取到的数据分别记为第一数据、第二数据、第三数据、第四数据,对应地分别存储在第一原始数据缓存区、第二原始数据缓存区、第三原始数据缓存区、第四原始数据缓存区。本实施例方法的具体实现过程如图8-图10所示,包括:
步骤401:解析装置从第一原始数据缓存区中获取第一数据;
步骤402:解析装置以磁道的正向按照第一磁道格式解析第一数据,并判断是否解析成功,是则执行步骤403,否则执行步骤404;
在本实施例中,解析装置调用第一预设函数将第一数据转换成字节数据,如函数返回成功响应则说明解析成功,反之解析失败;
步骤403:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,设置刷卡方向为正向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤410;
具体的,在本实施例中,解析装置置位正向刷卡标识、置位磁条卡正面向上标识、置位刷卡方向;本实施例中的刷卡方向是预先设置的刷卡方向,反方向为预先设置的刷卡方向相反的方向;
步骤404:解析装置以磁道的反向按照第一磁道格式解析第一数据,并判断是否解析成功,是则执行步骤405,否则执行步骤406;
步骤405:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,设置刷卡方向为反向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤410;
步骤406:解析装置以磁道的正向按照第三磁道格式解析第一数据,并判断是否解析成功,是则执行步骤407,否则执行步骤408;
步骤407:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,设置刷卡方向为正向、磁条卡朝向为正面向下、已知刷卡方向,执行步骤410;
步骤408:解析装置以磁道的反向按照第三磁道格式解析第一数据,并判断是否解析成功,是则执行步骤409,否则执行步骤410;
步骤409:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,设置刷卡方向为反向、磁条卡朝向为正面向下、已知刷卡方向,执行步骤410;
步骤410:解析装置判断是否已知刷卡方向,是则执行步骤411,否则执行步骤425;
步骤411:解析装置判断磁条卡朝向是否为正面向上,是则执行步骤412,否则执行步骤418;
步骤412:解析装置从第二原始数据缓存区中获取第二数据,以已知刷卡方向按照第二磁道格式解析第二数据,并判断是否解析成功,是则执行步骤413,否则执行步骤414;
步骤413:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,执行步骤414;
步骤414:解析装置从第三原始数据缓存区中获取第三数据,以已知刷卡方向按照第三磁道格式解析第三数据,并判断是否解析成功,是则执行步骤415,否则执行步骤416;
步骤415:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤416;
步骤416:解析装置从第四原始数据缓存区中获取第四数据,以已知刷卡方向按照第三磁道格式解析第四数据,并判断是否解析成功,是则执行步骤417,否则执行步骤465;
步骤417:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤465;
步骤418:解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤419,否则执行步骤421;
步骤419:解析装置从第二原始数据缓存区中获取第二数据,以已知刷卡方向按照第三磁道格式解析第二数据,并判断是否解析成功,是则执行步骤420,否则执行步骤421;
步骤420:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤421;
步骤421:解析装置从第三原始数据缓存区中获取第三数据,以已知刷卡方向按照第一磁道格式解析第三数据,并判断是否解析成功,是则执行步骤422,否则执行步骤423;
步骤422:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,执行步骤423;
步骤423:解析装置从第四原始数据缓存区中获取第四数据,以已知刷卡方向按照第二磁道格式解析第四数据,并判断是否解析成功,是则执行步骤424,否则执行步骤465;
步骤424:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,执行步骤465;
步骤425:解析装置从第二原始数据缓存区中获取第二数据,以磁道的正向按照第二磁道格式解析第二数据,并判断是否解析成功,是则执行步骤426,否则执行步骤427;
步骤426:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,设置刷卡方向为正向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤433;
步骤427:解析装置以磁道的反向按照第二磁道格式解析第二数据,并判断是否解析成功,是则执行步骤428,否则执行步骤429;
步骤428:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,设置刷卡方向为反向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤433;
步骤429:解析装置以磁道的正向按照第三磁道格式解析第二数据,并判断是否解析成功,是则执行步骤430,否则执行步骤431;
步骤430:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,设置刷卡方向为正向、磁条卡朝向为正面向下、已知刷卡方向,执行步骤433;
步骤431:解析装置以磁道的反向按照第三磁道格式解析第二数据,并判断是否解析成功,是则执行步骤432,否则执行步骤433;
步骤432:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,设置刷卡方向为反向、磁条卡朝向正面向下、已知刷卡方向,执行步骤433;
步骤433:解析装置判断是否已知刷卡方向,是则执行步骤434,否则执行步骤443;
步骤434:解析装置判断磁条卡朝向是否为正面向上,是则执行步骤435,否则执行步骤439;
步骤435:解析装置从第三原始数据缓存区中获取第三数据,以已知刷卡方向按照第三磁道格式解析第三数据,并判断是否解析成功,是则执行步骤436,否则执行步骤437;
步骤436:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤465;
步骤437:解析装置从第四原始数据缓存区中获取第四数据,以已知刷卡方向按照第三磁道格式解析第四数据,并判断是否解析成功,是则执行步骤438,否则执行步骤465;
步骤438:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤465;
步骤439:解析装置从第三原始数据缓存区中获取第三数据,以已知刷卡方向按照第一磁道格式解析第三数据,并判断是否解析成功,是则执行步骤440,否则执行步骤441;
步骤440:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,执行步骤441;
步骤441:解析装置从第四原始数据缓存区中获取第四数据,以已知刷卡方向按照第二磁道格式解析第四数据,并判断是否解析成功,是则执行步骤442,否则执行步骤465;
步骤442:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,执行步骤465;
步骤443:解析装置从第三原始数据缓存区中获取第三数据,以磁道的正向按照第三磁道格式解析第三数据,并判断是否解析成功,是则执行步骤444,否则执行步骤445;
步骤444:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,设置刷卡方向为正向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤451;
步骤445:解析装置以磁道的反向按照第三磁道格式解析第三数据,并判断是否解析成功,是则执行步骤446,否则执行步骤447;
步骤446:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,设置刷卡方向为反向、磁条卡朝向为正面向上、已知刷卡方向,执行步骤451;
步骤447:解析装置以磁道的正向按照第一磁道格式解析第三数据,并判断是否解析成功,是则执行步骤448,否则执行步骤449;
步骤448:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,设置刷卡方向为正向、磁条卡朝向为正面向下、已知刷卡方向,执行步骤451;
步骤449:解析装置以磁道的反向按照第一磁道格式解析第三数据,并判断是否解析成功,是则执行步骤450,否则执行步骤451;
步骤450:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,设置刷卡方向为反向、磁条卡朝向为正面向下、已知刷卡方向,执行步骤451;
步骤451:解析装置判断是否已知刷卡方向,是则执行步骤452,否则执行步骤457;
步骤452:解析装置判断磁条卡朝向是否为正面向上,是则执行步骤453,否则执行步骤455;
步骤453:解析装置从第四原始数据缓存区中获取第四数据,以已知刷卡方向按照第三磁道格式解析第四数据,并判断是否解析成功,是则执行步骤454,否则执行步骤465;
步骤454:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤465;
步骤455:解析装置从第四原始数据缓存区中获取第四数据,以已知刷卡方向按照第二磁道格式解析第四数据,并判断是否解析成功,是则执行步骤456,否则执行步骤465;
步骤456:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,执行步骤465;
步骤457:解析装置从第四原始数据缓存区中获取第四数据,以正向按照第三磁道格式解析第四数据,并判断是否解析成功,是则执行步骤458,否则执行步骤459;
步骤458:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤465;
步骤459:解析装置从第四原始数据缓存区中获取第四数据,以磁道的反向按照第三磁道格式解析第四数据,并判断是否解析成功,是则执行步骤460,否则执行步骤461;
步骤460:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤465;
步骤461:解析装置从第四原始数据缓存区中获取第四数据,以磁道的正向按照第二磁道格式解析第四数据,并判断是否解析成功,是则执行步骤462,否则执行步骤463;
步骤462:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,执行步骤465;
步骤463:解析装置从第四原始数据缓存区中获取第四数据,以磁道的反向按照第二磁道格式解析第四数据,并判断是否解析成功,是则执行步骤464,否则执行步骤465;
步骤464:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,执行步骤465;
步骤465:解析装置判断磁条卡临时缓存区中的数据的长度是否为0,是则报错,结束,否则将磁条卡临时缓存区中的数据转换成TLV格式的数据,结束。
实施例六
本发明实施例六提供一种磁条卡信息的解析方法,具体的,解析装置有两个磁头,所使用的磁条卡包含三个磁道,分别记为第一磁道、第二磁道、第三磁道,解析装置的一个磁头可以从磁条卡上的两个磁道上获取两个数据另一个磁头可以从磁条卡的另一个磁道上获取相同的两个数据,获取到的数据分别记为第一数据、第二数据、第三数据、第四数据,分别存储在第一原始数据缓存区、第二原始数据缓存区、第三原始数据缓存区、第四原始数据缓存区。解析装置在解析过程中无需判断刷卡方向,本实施例方法的具体实现如图11和图12所示,包括:
步骤501:解析装置从第一原始数据缓存区中获取第一数据;
步骤502:解析装置以磁道的正向按照第一磁道格式解析第一数据,并判断是否解析成功,是则执行步骤503,否则执行步骤504;
在本实施例中,解析装置调用第一预设函数将第一数据转换成字节数据,如函数返回成功响应则说明解析成功,反之解析失败;
步骤503:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,执行步骤510;
步骤504:解析装置以磁道的反向按照第一磁道格式解析第一数据,并判断是否解析成功,是则执行步骤505,否则执行步骤506;
步骤505:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,执行步骤510;
步骤506:解析装置以磁道的正向按照第三磁道格式解析第一数据,并判断是否解析成功,是则执行步骤507,否则执行步骤508;
步骤507:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤510;
步骤508:解析装置以磁道的反向按照第三磁道格式解析第一数据,并判断是否解析成功,是则执行步骤509,否则执行步骤510;
步骤509:解析装置将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤510;
步骤510:解析装置从第二原始数据缓存区中获取第二数据,以磁道的正向按照第二磁道格式解析第二数据,并判断是否解析成功,是则执行步骤511,否则执行步骤512;
步骤511:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,执行步骤514;
步骤512:解析装置以磁道的反向按照第二磁道格式解析第二数据,并判断是否解析成功,是则执行步骤513,否则执行步骤514;
步骤513:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,执行步骤514;
步骤514:解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤515,否则执行步骤519;
步骤515:解析装置从第二缓存区中获取第二数据,以磁道的正向按照第三磁道格式解析第二数据,并判断是否解析成功,是则执行步骤516,否则执行步骤517;
步骤516:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤519;
步骤517:解析装置以磁道的反向按照第三磁道格式解析第二数据,并判断是否解析成功,是则执行步骤518,否则执行步骤519;
步骤518:解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤519;
步骤519:解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤520,否则执行步骤524;
步骤520:解析装置从第三原始数据缓存区中获取第三数据,以磁道的正向按照第三磁道格式解析第三数据,并判断是否解析成功,是则执行步骤521,否则执行步骤522;
步骤521:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤524;
步骤522:解析装置以磁道的反向按照第三磁道格式解析第三数据,并判断是否解析成功,是则执行步骤523,否则执行步骤524;
步骤523:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤524;
步骤524:解析装置判断第一磁道区域中的数据的长度是否为0,是则执行步骤525,否则执行步骤529;
步骤525:解析装置从第三原始数据缓存区中获取第三数据,以磁道的正向按照第一磁道格式解析第三数据,并判断是否解析成功,是则执行步骤526,否则执行步骤527;
步骤526:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,执行步骤529;
步骤527:解析装置以磁道的反向按照第一磁道格式解析第三数据,并判断是否解析成功,是则执行步骤528,否则执行步骤529;
步骤528:解析装置将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,执行步骤529;
步骤529:解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤530,否则执行步骤534;
步骤530:解析装置从第四原始数据缓存区中获取第四数据,以磁道的正向按照第三磁道格式解析第四数据,并判断是否解析成功,是则执行步骤531,否则执行步骤532;
步骤531:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤534;
步骤532:解析装置以磁道的反向按照第三磁道格式解析第四数据,并判断是否解析成功,是则执行步骤533,否则执行步骤534;
步骤533:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤534;
步骤534:解析装置判断第二磁道区域中的数据的长度是否为0,是则执行步骤535,否则执行步骤539;
步骤535:解析装置从第四原始数据缓存区中获取第四数据,以磁道的正向按照第二磁道格式解析第四数据,并判断是否解析成功,是则执行步骤536,否则执行步骤537;
步骤536:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,执行步骤539;
步骤537:解析装置以磁道的反向按照第二磁道格式解析第四数据,并判断是否解析成功,是则执行步骤538,否则执行步骤539;
步骤538:解析装置将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,执行步骤539;
步骤539:解析装置判断磁条卡临时缓存区中的数据的长度是否为0,是则报错,结束,否则将磁条卡临时缓存区中的数据转换成TLV格式的数据,结束。
本发明实施例二、实施例三、实施例四、实施例五和实施例六中,判断解析是否成功,具体为:根据解析结果中预定位置的校验位判断是否解析成功。
实施例七
本发明实施例七提供一种解析装置对获取到的一个数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功的具体实现方法,如图13所示,包括:
步骤601:解析装置判断刷卡方向是否为反向,是则执行步骤602,否则执行步骤604;
步骤602:解析装置读取获取到的一个数据并逆序去掉高位上的0后得到新数据;
具体的,在本实施例中,解析装置通过第二函数来实现步骤602,第二函数具体为:Data_Inversion();用于将TRACK_BYTES_MAX个字节的数据反转同时去掉前面的bit0;
第二函数的输入参数包括:UINT8*DataBuf:需要反转的数据头指针;
第二函数的返回值包括:反转并重新存储成功则返回1,反转并重新存储失败则返回0;
UINT8Data_Inversion(UINT8*DataBuf);
步骤603:解析装置判断逆序操作是否成功,是则执行步骤604,否则报错;
具体的,解析装置判断第二函数的返回值是否为1,是则逆序操作成功,否则逆序操作不成功;
步骤604:解析装置判断新数据中的最低位上的数据是否为1,是则执行步骤605,否则报错;
步骤605:解析装置根据当前磁道的字段格式从读取到的数据的最低位开始获取一个字作为当前字;
具体的,在本实施例中,第一磁道的字段格式为5位表示一个字,第二磁道的字段格式为7位表示一个字,第三磁道的字段格式为8位表示一个字;
步骤606:解析装置对当前字进行奇偶校验,并判断校验是否成功,是则执行步骤607,否则报错;
在本实施例中,步骤606具体为:解析装置计算一个字中除最低位的其他位上的数据的校验值,并判断该校验值是否与该字中的最低位上的数据相同,是则校验成功,否则校验失败;
步骤607:解析装置更新字个数,并判断字个数是否等于预设值,是则执行步骤608,否则执行步骤609;
优选的,在本实施例中,字个数的初始值为0,步骤607具体为:解析装置将字个数自加1,并判断字个数是否等于1,是则执行步骤608,否则执行步骤609;
步骤608:解析装置判断当前字是否为正确的数据头,是则执行步骤609,否则报错;
步骤609:解析装置判断当前字的上一个字是否为结束标志,是则执行步骤612,否则执行步骤610;
步骤610:解析装置判断读取到的数据是否处理完成,是则执行步骤613,否则执行步骤611;
步骤611:解析装置根据当前磁道的字段格式从读取到的数据中获取下一个字作为当前字,返回步骤606;
步骤612:解析装置判断字个数是否大于预设值,是则执行步骤613,否则报错;
步骤613:解析装置判断结束标志是否正确,是则执行步骤614,否则报错;
具体的,在本实施例中,解析装置判断结束标志是否为预设值,是则正确,否则不正确;优选的,第一磁道的预设值为0x1F,第二磁道的预设值为0x1F,第三磁道的预设值为0xFF;
步骤614:解析装置对读取到的数据中的所有字进行奇偶校验,并判断校验是否成功,是则返回解析成功信息,否则报错。
在本实施例中,磁条卡上的数据都是二进制数,解析装置对其进行解析就是将该二进制数转换为字节数据。
本发明提出一种磁条卡(包括正反面磁道)信息的解析方法,以处理不同刷卡情况(正向、反向、正面朝前、反面朝前)下的磁条卡信息,并对每个磁道上的数据进行字符转换和校验,以确保数据在不同情况下进行解析的有效性和正确性。
在本发明的实施例中,判断磁条卡临时缓存区中的数据的长度是否为0的步骤可以省略字节,解析装置直接将磁条卡临时缓存区中的数据转换成TLV格式的数据,如转换后的可识别数据为0则说明解析装置对数据的解析没有成功。
在本实施例中,如分别按照正向和反向按照同一个磁道格式对同一个数据进行解析都能成功,说明该磁条卡是有问题的卡片,当这种情况出现时解析装置会报错。
实施例八
本发明实施例八提供一种磁条卡信息的解析装置,如图14所示,包括:
获取模块1,包括第一磁头子模块11和第二磁头子模块12,第一磁头子模块11和第二磁头子模块12相对设置于卡槽的两侧,第一磁头子模块11和第二磁头子模块12用于从磁条卡的两面获取至少三个数据;
解析判断模块2,用于根据预设解析规则分别对获取模块1获取到的数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则将解析成功的解析结果转换成可识别的数据,否则触发报错模块4;
转换模块3,用于将可识别的数据转换成预定格式的数据;
报错模块4,用于在解析判断模块2判断为否时报错。
在本实施例中,解析判断模块2有两种实现方式:
(一)解析判断模块2具体用于分别以磁道的正向和反向,按照预设解析规则解析获取到的第一个数据,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则继续分别以正向和反向,按照预设解析规则解析其他数据,如两次都解析不成功则更换解析规则,分别以正向和反向,按照更换后的解析规则重新解析第一数据;还用于将解析成功的解析结果转换成可识别的数据。
具体的,解析判断模块2包括:
第一解析判断子模块,用于分别以磁道的正向和反向,按照预设解析规则对第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第一转换子模块,如两次都解析不成功则更换解析规则,分别以正向和反向,按照更换后的解析规则重新解析第一数据,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第一转换子模块,如两次都解析不成功则触发第一判断子模块;
第一转换子模块,用于将第一数据的解析结果转换成可识别的数据,设置已知刷卡方向,触发第一判断子模块;
第一判断子模块,用于判断是否已知刷卡方向,如已知刷卡方向则用于根据已知的刷卡方向,按照预设解析规则对获取模块1获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第二转换子模块,如两次都解析不成功则触发转换模块3;如两次都解析不成功则分别以磁道的正向和反向,按照预设解析规则对获取模块1获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第二转换子模块,如两次都解析不成功则触发转换模块3;
第二转换子模块,用于将解析成功的解析结果转换成可识别的数据,触发转换模块3。
由于获取模块1获取到的数据不同,在改方式下,第一解析判断子模块、第一转换子模块、第一判断子模块和第二转换子模块所包括的单元不同,具有三种方式;
(1)获取模块1具体用于通过两个磁头从磁条卡的两面获取三个数据;
第一解析判断子模块包括第一解析判断单元和第二解析判断单元,第一转换子模块包括第一转换单元和第二转换单元,第一判断子模块包括:第一判断单元、第一解析转换单元、第二解析转换单元、第二判断单元、第三判断单元、第三解析转换单元、第四解析转换单元、第三解析判断单元、第四解析判断单元和第四判断单元,第二转换子模块包括第三转换单元和第四转换单元;
第一解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第一转换单元,如两次都解析不成功则触发第二解析判断单元;
第一转换单元,用于将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发第一判断单元;
第二解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第二转换单元,如两次都解析不成功则触发第一判断单元;
第二转换单元,用于将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,触发第一判断单元;
第一判断单元,用于判断是否已知刷卡方向,是则触发第一解析转换单元,否则触发第二解析转换单元;
第一解析转换单元,用于以已知刷卡方向按照第二磁道格式解析第二数据,将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发第二判断单元;
第二解析转换单元,用于分别以磁道的正向和反向按照第二磁道格式解析第二数据,将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发第二判断单元;
第二判断单元,用于判断是否已知刷卡方向,是则触发第三判断单元,否则触发第三解析判断单元;
第三判断单元,用于判断磁条卡是否为正面向上,是则触发第三解析转换单元,否则触发第四解析转换单元;
第三解析转换单元,用于以已知刷卡方向按照第三磁道格式解析第三数据,将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发第四判断单元;
第四解析转换单元,用于以已知刷卡方向按照第二磁道格式解析第三数据,将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发第四判断单元;
第三解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第三转换单元,如两次都解析不成功则触发第四解析判断单元;
第三转换单元,用于将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发第四判断单元;
第四解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第四转换单元,如两次都解析不成功则触发第四判断单元;
第四转换单元,用于将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发第四判断单元;
第四判断单元,用于判断磁条卡临时缓存区的数据的长度是否为0,是则触发报错模块4;否则触发转换模块3。
(2)获取模块1具体用于通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
第一解析判断模块包括:第五解析判断单元和第六解析判断单元;
第一转换子模块包括:第五转换单元和第六转换单元;
第一判断子模块包括:第五判断单元、第六判断单元、第七判断单元、第七解析判断单元、第八解析判断单元、第九解析判断单元、第八判断单元、第九判断单元、第十解析判断单元、第十一解析判断单元、第十二解析判断单元、第十三解析判断单元、第十判断单元、第十一判断单元、第十四解析判断单元、第十五解析判断单元、第十六解析判断单元、第十七解析判断单元和第十八解析判断单元;
第二转换子模块包括:第七转换单元、第八转换单元、第九转换单元、第十转换单元、第十一转换单元、第十二转换单元、第十三转换单元、第十四转换单元、第十五转换单元、第十六转换单元、第十七转换单元和第十八转换单元;
第五解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第五转换单元,如两次都解析不成功则触发第六解析判断单元;
第五转换单元,用于将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发第五判断单元;
第六解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第六转换单元,如两次都解析不成功则触发第五判断单元;
第六转换单元,用于将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,触发第五判断单元;
第五判断单元,用于判断是否已知刷卡方向,是则触发第六判断单元,否则触发第九解析判断单元;
第六判断单元,用于判断磁条卡朝向是否为正面向上,是则触发第七解析判断单元,否则触发第八解析判断单元;
第七解析判断单元,用于以已知刷卡方向按照第二磁道格式解析原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发第七转换单元,否则触发第七判断单元;
第七转换单元,用于将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发第七判断单元;
第八解析判断单元,用于以已知刷卡方向按照第三磁道格式解析原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发第八转换单元,否则触发第七判断单元;
第八转换单元,用于将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发第七判断单元;
第九解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第九转换单元,如两次都解析不成功则触发第十解析判断单元;
第九转换单元,用于将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发第七判断单元;
第十解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第十转换单元,如两次都解析不成功则触发第七判断单元;
第十转换单元,用于将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,触发第七判断单元;
第七判断单元,用于判断是否已知刷卡方向,是则触发第八判断单元,否则触发第十三解析判断单元;
第八判断单元,用于判断磁条卡朝向是否为正面向上,是则触发第十一解析判断单元,否则触发第十二解析判断单元;
第十一解析判断单元,用于以已知刷卡方向按照第三磁道格式解析原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发第十一转换单元,否则触发第九判断单元;
第十一转换单元,用于将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发第九判断单元;
第十二解析判断单元,用于以已知刷卡方向按照第一磁道格式解析原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发第十二转换单元,否则触发第九判断单元;
第十二转换单元,用于将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,触发第九判断单元;
第十三解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第十三转换单元,如两次都解析不成功则触发第十四解析判断单元;
第十三转换单元,用于将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发第九判断单元;
第十四解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第十四转换单元,如两次都解析不成功则触发第九判断单元;
第十四转换单元,用于将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,触发第九判断单元;
第九判断单元,用于判断是否已知刷卡方向,是则触发第十判断单元,否则触发第十七解析判断单元;
第十判断单元,用于判断磁条卡朝向是否为正面向上,是则触发第十五解析判断单元,否则触发第十六解析判断单元;
第十五解析判断单元,用于以已知刷卡方向按照第三磁道格式解析原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发第十五转换单元,否则触发第十一判断单元;
第十五转换单元,用于将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发第十一判断单元;
第十六解析判断单元,用于以已知刷卡方向按照第二磁道格式解析原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发第十六转换单元,否则触发第十一判断单元;
第十六转换单元,用于将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发第十一判断单元;
第十七解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第十七转换单元,如两次都解析不成功则触发第十八解析判断单元;
第十七转换单元,用于将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发第十一判断单元;
第十八解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第十八转换单元,如两次都解析不成功则触发第十一判断单元;
第十八转换单元,用于将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发第十一判断单元;
第十一判断单元,用于判断磁条卡临时缓存区的数据的长度是否为0,是则触发报错模块4;否则触发转换模块3。
(3)获取模块1具体用于通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
第一解析判断子模块包括:第十九解析判断单元和第二十解析判断单元;
第一转换子模块包括:第十九转换单元和第二十转换单元;
第一判断子模块包括:第十二判断单元、第十三判断单元、第十四判断单元、第十五判断单元、第二十一解析判断单元、第二十二解析判断单元、第二十三解析判断单元、第二十四解析判断单元、第二十五解析判断单元、第十六判断单元、第十七判断单元、第二十六解析判断单元、第二十七解析判断单元、第二十八解析判断单元、第二十九解析判断单元、第三十解析判断单元、第十八判断单元、第十九判断单元、第三十一解析判断单元、第三十二解析判断单元、第三十三解析判断单元、第三十四解析判断单元和第三十五解析判断单元;
第二转换子模块包括:第二十一转换单元、第二十二转换单元、第二十三转换单元、第二十四转换单元、第二十五转换单元、第二十六转换单元、第二十七转换单元、第二十八转换单元、第二十九转换单元、第三十转换单元、第三十一转换单元、第三十二转换单元、第三十三转换单元、第三十四转换单元和第三十五转换单元;
第十九解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第十九转换单元,如两次都解析不成功则触发第二十解析判断单元;
第十九转换单元,用于将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,设置磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,触发第十二判断单元;
第二十解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第二十转换单元,如两次都解析不成功则触发第十二判断单元;
第二十转换单元,用于将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,触发第十二判断单元;
第十二判断单元,用于判断是否已知刷卡方向,是则触发第十三判断单元,否则触发第二十五解析判断单元;
第十三判断单元,用于判断磁条卡朝向是否为正面向上,是则触发第二十一解析判断单元,否则触发第十四判断单元;
第二十一解析判断单元,用于以已知刷卡方向,分别按照第二磁道格式、第三磁道格式、第三磁道格式解析对应的原始数据缓存区中的第二数据、原始数据缓存区中的第三数据、原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如至少有一个数据解析成功则触发第二十一转换单元,如所有数据都解析不成功则触发第十九判断单元;
第二十一转换单元,用于将解析成功的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的对应磁道区域中,更新对应磁道区域中的数据的长度,触发第十九判断单元;
第十四判断单元,用于判断第三磁道区域中的数据的长度是否为0,是则触发第二十二解析判断单元,否则触发第二十三解析判断单元;
第二十二解析判断单元,用于以已知刷卡方向按照第三磁道格式解析原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发第二十二转换单元,触发第二十三解析判断单元;
第二十二转换单元,用于将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,触发第二十三解析判断单元;
第二十三解析判断单元,用于以已知刷卡方向按照第一磁道格式解析原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发第二十三转换单元,否则触发第二十四解析判断单元;
第二十三转换单元,用于将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,触发第二十四解析判断单元;
第二十四解析判断单元,用于以已知刷卡方向按照第二磁道格式解析原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发第二十四转换单元,否则触发第十九判断单元;
第二十四转换单元,用于将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,触发第十九判断单元;
第二十五解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第二十五转换单元,如两次都解析不成功则触发第二十六解析判断单元;
第二十五转换单元,用于将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,设置磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,触发第十五判断单元;
第二十六解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第二十六转换单元,如两次都解析不成功则触发第十五判断单元;
第二十六转换单元,用于将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,触发第十五判断单元;
第十五判断单元,用于判断是否已知刷卡方向,是则触发第十六判断单元,否则触发第三十解析判断单元;
第十六判断单元,用于判断磁条卡朝向是否为正面向上,是则触发第二十七解析判断单元,否则触发第二十八解析判断单元;
第二十七解析判断单元,用于以已知刷卡方向,按照第三磁道格式分别解析原始数据缓存区中的第三数据、原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如至少有一个数据解析成功则触发第二十七转换单元,否则触发第十九判断单元;
第二十七转换单元,用于将解析成功的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的对应磁道区域中,更新对应磁道区域中的数据的长度,触发第十九判断单元;
第二十八解析判断单元,用于以已知刷卡方向按照第一磁道格式解析原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发第二十八转换单元,否则触发第二十九解析判断单元;
第二十八转换单元,用于将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,触发第二十九解析判断单元;
第二十九解析判断单元,用于以已知刷卡方向按照第二磁道格式解析原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发第二十九转换单元,否则触发第十九判断单元;
第二十九转换单元,用于将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,触发第十九判断单元;
第三十解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第三十转换单元,如两次都解析不成功则触发第三十一解析判断单元;
第三十转换单元,用于将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,设置磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,触发第十九判断单元;
第三十一解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第三十一转换单元,如两次都解析不成功则触发第十七判断单元;
第三十一转换单元,用于将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,触发第十七判断单元;
第十七判断单元,用于判断是否已知刷卡方向,是则触发第十八判断单元,否则触发第三十四解析判断单元;
第十八判断单元,用于判断磁条卡朝向是否为正面向上,是则触发第三十二解析判断单元,否则触发第三十三解析判断单元;
第三十二解析判断单元,用于以已知刷卡方向按照第三磁道格式解析原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发第三十二转换单元,否则触发第十九判断单元;
第三十二转换单元,用于将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,触发第十九判断单元;
第三十三解析判断单元,用于以已知刷卡方向按照第二磁道格式解析原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发第三十三转换单元,否则触发第十九判断单元;
第三十三转换单元,用于将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,触发第十九判断单元;
第三十四解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第三十四转换单元,如两次都解析不成功则触发第三十五解析判断单元;
第三十四转换单元,用于将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,触发第十九判断单元;
第三十五解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第三十五转换单元,如两次都解析不成功则触发第十九判断单元;
第三十五转换单元,用于将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,触发第十九判断单元;
第十九判断单元,用于判断磁条卡临时缓存区中的数据的长度是否为0,是则触发报错模块4,否则触发转换模块3。
(二)解析判断模块2具体用于分别以磁道的正向和反向,按照预设解析规则依次对获取到的每个数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则将解析成功的解析结果转换成可识别的数据,触发转换模块3,否则触发报错模块4。
具体的,解析判断模块2包括:
第二解析判断子模块,用于分别以磁道的正向和反向,按照预设解析规则对获取到的第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第三转换子模块,如两次都解析不成功则触发第二判断子模块;
第三转换子模块,用于将第一数据的解析结果转换成可识别的数据,触发第二判断子模块;
第二判断子模块,用于分别以磁道的正向和反向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第四转换子模块,如两次都解析不成功则触发转换模块,
第四转换子模块,用于将解析成功的解析结果转换成可识别的数据,触发转换模块。
由于获取模块1获取到的数据不同,在改方式下,第一解析判断子模块、第一转换子模块、第一判断子模块和第二转换子模块所包括的单元不同,具有两种方式;
i、获取模块1具体用于通过两个磁头从磁条卡的两面获取三个数据;
第二解析判断子模块包括:第三十六解析判断单元和第三十七解析判断单元;
第三转换子模块包括:第三十六转换单元和第三十七转换单元;
第二判断子模块包括:第三十八解析判断单元、第三十九解析判断单元和第二十判断单元;
第四转换子模块包括:第三十八转换单元、第三十九转换单元和第四十转换单元;
第三十六解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析获取到的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第三十七解析判断单元,如两次都解析不成功则触发第三十六转换单元;
第三十六转换单元,用于将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,触发第三十八解析判断单元;
第三十七解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析获取到的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第三十七转换单元,如两次都解析不成功则触发第三十八解析判断单元;
第三十七转换单元,用于将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发第三十八解析判断单元;
第三十八解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析获取到的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第三十八转换单元,如两次都解析不成功则触发第三十九解析判断单元;
第三十八转换单元,用于将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发第三十九解析判断单元;
第三十九解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析获取到的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第三十九转换单元,如两次都解析不成功则触发第四十解析判断单元;
第三十九转换单元,用于将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发第二十判断单元;
第四十解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析获取到的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第四十转换单元,如两次都解析不成功则触发第二十判断单元;
第四十转换单元,用于将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发第二十判断单元;
第二十判断单元,用于判断磁条卡临时缓存区的数据的长度是否为0,是则触发报错模块4;否则触发转换模块3。
ii、获取模块1具体用于通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
第二解析判断子模块包括:第四十一解析判断单元和第四十二解析判断单元;
第三转换子模块包括:第四十一转换单元和第四十二转换单元;
第二判断子模块包括:第二十一判断单元、第二十二判断单元、第四十三解析判断单元、第二十三判断单元、第四十四解析判断单元、第二十四判断单元、第四十五解析判断单元、第二十五判断单元、四十六解析判断单元、第二十六判断单元、第四十七解析判断单元和第四十八解析判断单元;
第四转换子模块包括:第四十三转换单元、第四十四转换单元、第四十五转换单元、第四十六转换单元、第四十七转换单元和第四十八转换单元;
第四十一解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第四十一转换单元,如两次都解析不成功则触发第四十二解析判断单元;
第四十一转换单元,用于将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,触发第四十三解析判断单元;
第四十二解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第四十二转换单元,如两次都解析不成功则触发第四十三解析判断单元;
第四十二转换单元,用于将第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,触发第四十三解析判断单元;
第四十三解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第四十三转换单元,如两次都解析不成功则触发第二十一判断单元;
第四十三转换单元,用于将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,触发第二十一判断单元;
第二十一判断单元,用于判断第三磁道区域中的数据的长度是否为0,是则触发第四十四解析判断单元,否则触发第二十二判断单元;
第四十四解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第四十四转换单元,如两次都解析不成功则触发第二十二判断单元;
第四十四转换单元,用于将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,触发第二十二判断单元;
第二十二判断单元,用于判断第三磁道区域中的数据的长度是否为0,是则触发第四十五解析判断单元,否则触发第二十三判断单元;
第四十五解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第四十五转换单元,如两次都解析不成功则触发第二十三判断单元;
第四十五转换单元,用于将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,触发第二十三判断单元;
第二十三判断单元,用于判断第一磁道区域中的数据的长度是否为0,是则触发第四十六解析判断单元,否则触发第二十四判断单元;
第四十六解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第四十六转换单元,如两次都解析不成功则触发第二十四判断单元;
第四十六转换单元,用于将第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新第一磁道区域中的数据的长度,触发第二十四判断单元;
第二十四判断单元,用于判断第三磁道区域中的数据的长度是否为0,是则触发第四十七解析判断单元,否则触发第二十五判断单元;
第四十七解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第四十七转换单元,如两次都解析不成功则触发第二十五判断单元;
第四十七转换单元,用于将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,触发第二十五判断单元;
第二十五判断单元,用于判断第二磁道区域中的数据的长度是否为0,是则触发第四十八解析判断单元,否则触发第二十六判断单元;
第四十八解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第四十八转换单元,如两次都解析不成功则触发第二十六判断单元;
第四十八转换单元,用于将第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新第二磁道区域中的数据的长度,触发第二十六判断单元;
第二十六判断单元,用于判断磁条卡临时缓存区中的数据的长度是否为0,是则触发报错模块4,否则触发转换模块3。
在本实施例中,如解析判断模块2对一个数据进行解析,则其包括:
第三判断子模块,用于判断刷卡方向是否为反向,是则触发读取逆序子模块,否则触发第一作为子模块;
读取逆序子模块,用于读取获取到的一个数据,将读取到的数据逆序去掉高位上的0后得到新数据;
第四判断子模块,用于判断新数据中最低位上的数据是否为1,是则触发第一作为子模块,否则触发报错模块4;
第一作为子模块,用于根据当前磁道的字段格式从读取到的数据的最低位开始获取一个字作为当前字;
第一校验判断子模块,用于对当前字进行奇偶校验,并判断校验是否成功,是则触发更新判断子模块,否则触发报错模块4;
更新判断子模块,用于更新字个数,并判断字个数是否等于预设值,是则触发第五判断子模块,否则触发第六判断子模块;
第五判断子模块,用于判断当前字是否为正确的数据头,是则触发第六判断子模块,否则触发报错模块4;
第六判断子模块,用于判断当前字的上一个字是否为结束标志,是则触发第八判断子模块,否则触发第七判断子模块;
第七判断子模块,用于判断读取到的数据是否处理完成,是则触发第九判断子模块,否则触发第二作为单元;
第二作为子模块,用于根据当前磁道的字段格式从读取到的数据中获取下一个字作为当前字,触发第一校验判断子模块;
第八判断子模块,用于判断字个数是否大于预设值,是则触发第九判断子模块,否则触发报错模块4;
第九判断子模块,用于判断结束标志是否正确,是则触发第二校验判断子模块,否则触发报错模块4;
第二校验判断子模块,用于对读取到的数据中的所有字进行奇偶校验,并判断校验是否成功,是则解析成功,触发第五转换子模块,否则触发报错模块4;
第五转换子模块,用于将解析成功的解析结果转换成可识别的数据。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (16)

1.一种磁条卡信息的解析方法,其特征在于,包括:
步骤S1:解析装置通过相对设置的两个磁头从磁条卡的两面获取至少三个数据;
步骤S2:所述解析装置根据预设解析规则分别对获取到的数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则将解析成功的解析结果转换成可识别的数据,执行步骤S3,否则报错,结束;
步骤S3:所述解析装置将所述可识别的数据转换成预定格式的数据;
所述解析装置根据预设规则对获取到的数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,包括:
步骤H1:所述解析装置判断刷卡方向是否为反向,是则执行步骤H2,否则执行步骤H4;
步骤H2:所述解析装置读取获取到的一个数据,将读取到的数据逆序去掉高位上的0后得到新数据;
步骤H3:所述解析装置判断所述新数据中最低位上的数据是否为1,是则执行步骤H4,否则报错,结束;
步骤H4:所述解析装置根据当前磁道的字段格式从读取到的数据的最低位开始获取一个字作为当前字;
步骤H5:所述解析装置对当前字进行奇偶校验,并判断校验是否成功,是则执行步骤H6,否则报错,结束;
步骤H6:所述解析装置更新字个数,并判断所述字个数是否等于预设值,是则执行步骤H7,否则执行步骤H8;
步骤H7:所述解析装置判断当前字是否为正确的数据头,是则执行步骤H8,否则报错,结束;
步骤H8:所述解析装置判断当前字的上一个字是否为结束标志,是则执行步骤H11,否则执行步骤H9;
步骤H9:所述解析装置判断所述读取到的数据是否处理完成,是则执行步骤H12,否则执行步骤H10;
步骤H10:所述解析装置根据当前磁道的字段格式从所述读取到的数据中获取下一个字作为当前字,返回步骤H5;
步骤H11:所述解析装置判断所述字个数是否大于所述预设值,是则执行步骤H12,否则报错,结束;
步骤H12:所述解析装置判断所述结束标志是否正确,是则执行步骤H13,否则报错,结束;
步骤H13:所述解析装置对所述读取到的数据中的所有字进行奇偶校验,并判断校验是否成功,是则解析成功,否则解析失败。
2.如权利要求1所述的方法,其特征在于,所述步骤S2具体包括:
步骤S2-11:所述解析装置分别以磁道的正向和反向,按照预设解析规则对第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功是则执行步骤S2-12,如两次都解析不成功则更换解析规则,分别以正向和反向,按照更换后的解析规则重新解析第一数据,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-12,如两次都解析不成功则执行步骤S2-13;
步骤S2-12:所述解析装置将所述第一数据的解析结果转换成可识别的数据,设置已知刷卡方向,执行步骤S2-13;
步骤S2-13:所述解析装置判断是否已知刷卡方向,是则执行步骤S2-14,否则执行步骤S2-15;
步骤S2-14:所述解析装置根据已知的刷卡方向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-16,如两次都解析不成功则执行步骤S3;
步骤S2-15:所述解析装置分别以磁道的正向和反向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-16,如两次都解析不成功则执行步骤S3;
步骤S2-16:所述解析装置将解析成功的解析结果转换成可识别的数据,执行步骤S3。
3.如权利要求2所述的方法,其特征在于,所述步骤S1中所述解析装置通过两个磁头从磁条卡的两面获取三个数据;
所述步骤S2包括:
步骤A1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤A2,如两次都解析不成功则执行步骤A3;
步骤A2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤A5;
步骤A3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤A4,如两次都解析不成功则执行步骤A5;
步骤A4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,执行步骤A5;
步骤A5:所述解析装置判断是否已知刷卡方向,是则执行步骤A6,否则执行步骤A7;
步骤A6:所述解析装置以所述已知刷卡方向按照第二磁道格式解析第二数据,将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤A8;
步骤A7:所述解析装置分别以磁道的正向或反向按照第二磁道格式解析第二数据,将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤A8;
步骤A8:所述解析装置判断是否已知刷卡方向,是则执行步骤A9,否则执行步骤A12;
步骤A9:所述解析装置判断磁条卡朝向是否为正面向上,是则执行步骤A10,否则执行步骤A11;
步骤A10:所述解析装置以所述已知刷卡方向按照第三磁道格式解析第三数据,将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤A16;
步骤A11:所述解析装置以所述已知刷卡方向按照第二磁道格式解析第三数据,将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤A16;
步骤A12:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤A13,如两次都解析不成功则执行步骤A14;
步骤A13:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤A16;
步骤A14:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤A15,如两次都解析不成功则执行步骤A16;
步骤A15:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤A16;
步骤A16:所述解析装置判断所述磁条卡临时缓存区的数据的长度是否为0,是则报错,结束;否则执行步骤S3。
4.如权利要求2所述的方法,其特征在于,所述步骤S1包括:所述解析装置通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
所述步骤S2包括:
步骤B1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B2,如两次都解析不成功则执行步骤B3;
步骤B2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤B5;
步骤B3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B4,如两次都解析不成功则执行步骤B5;
步骤B4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,执行步骤B5;
步骤B5:所述解析装置判断是否已知刷卡方向,是则执行步骤B6,否则执行步骤B11;
步骤B6:所述解析装置判断所述磁条卡朝向是否为正面向上,是则执行步骤B7,否则执行步骤B9;
步骤B7:所述解析装置以所述已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B8,否则执行步骤B15;
步骤B8:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤B15;
步骤B9:所述解析装置以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B10,否则执行步骤B15;
步骤B10:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤B15;
步骤B11:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B12,如两次都解析不成功则执行步骤B13;
步骤B12:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤B15;
步骤B13:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B14,如两次都解析不成功则执行步骤B15;
步骤B14:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,执行步骤B15;
步骤B15:所述解析装置判断是否已知刷卡方向,是则执行步骤B16,否则执行步骤B21;
步骤B16:所述解析装置判断所述磁条卡朝向是否为正面向上,是则执行步骤B17,否则执行步骤B19;
步骤B17:所述解析装置以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B18,否则执行步骤B25;
步骤B18:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤B25;
步骤B19:所述解析装置以所述已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B20,否则执行步骤B25;
步骤B20:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,执行步骤B25;
步骤B21:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B22,如两次都解析不成功则执行步骤B23;
步骤B22:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤B25;
步骤B23:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B24,如两次都解析不成功则执行步骤B25;
步骤B24:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,执行步骤B25;
步骤B25:所述解析装置判断是否已知刷卡方向,是则执行步骤B26,否则执行步骤B31;
步骤B26:所述解析装置判断所述磁条卡朝向是否为正面向上,是则执行步骤B27,否则执行步骤B29;
步骤B27:所述解析装置以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B28,否则执行步骤B35;
步骤B28:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤B35;
步骤B29:所述解析装置以所述已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B30,否则执行步骤B35;
步骤B30:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤B35;
步骤B31:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B32,如两次都解析不成功则执行步骤B33;
步骤B32:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤B35;
步骤B33:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B34,如两次都解析不成功则执行步骤B35;
步骤B34:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤B35;
步骤B35:所述解析装置判断所述磁条卡临时缓存区的数据的长度是否为0,是则报错,结束;否则执行步骤S3。
5.如权利要求2所述的方法,其特征在于,所述步骤S1包括:所述解析装置通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
所述步骤S2包括:
步骤C1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C2,如两次都解析不成功则执行步骤C3;
步骤C2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,设置所述磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,执行步骤C5;
步骤C3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C4,如两次都解析不成功则执行步骤C5;
步骤C4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,执行步骤C5;
步骤C5:所述解析装置判断是否已知刷卡方向,是则执行步骤C6,否则执行步骤C16;
步骤C6:所述解析装置判断磁条卡朝向是否为正面向上,是则执行步骤C7,否则执行步骤C9;
步骤C7:所述解析装置以已知刷卡方向,分别按照第二磁道格式、第三磁道格式、所述第三磁道格式解析对应的所述原始数据缓存区中的第二数据、所述原始数据缓存区中的第三数据、所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如至少有一个数据解析成功则执行步骤C8,如所有数据都解析不成功则执行步骤C42;
步骤C8:所述解析装置将解析成功的解析结果转换成可识别的数据,并将转换后的可识别数据保存到所述磁条卡临时缓存区的对应磁道区域中,更新对应磁道区域中的数据的长度,执行步骤C42;
步骤C9:所述解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤C10,否则执行步骤C12;
步骤C10:所述解析装置以已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C11,否则执行步骤C12;
步骤C11:所述解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤C12;
步骤C12:所述解析装置以已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C13,否则执行步骤C14;
步骤C13:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,执行步骤C14;
步骤C14:所述解析装置以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C15,否则执行步骤C42;
步骤C15:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤C42;
步骤C16:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C17,如两次都解析不成功则执行步骤C18;
步骤C17:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,设置磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,执行步骤C20;
步骤C18:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C19,如两次都解析不成功则执行步骤C20;
步骤C19:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,执行步骤C20;
步骤C20:所述解析装置判断是否已知刷卡方向,是则执行步骤C21,否则执行步骤C28;
步骤C21:所述解析装置判断磁条卡朝向是否为正面向上,是则执行步骤C22,否则执行步骤C24;
步骤C22:所述解析装置以已知刷卡方向,按照第三磁道格式分别解析所述原始数据缓存区中的第三数据、所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如至少有一个数据解析成功则执行步骤C23,否则执行步骤C42;
步骤C23:所述解析装置将解析成功的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的对应磁道区域中,更新对应磁道区域中的数据的长度,执行步骤C42;
步骤C24:所述解析装置以已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C25,否则执行步骤C26;
步骤C25:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,执行步骤C26;
步骤C26:所述解析装置以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C27,否则执行步骤C42;
步骤C27:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤C42;
步骤C28:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C29,如两次都解析不成功则执行步骤C30;
步骤C29:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,设置磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,执行步骤C32;
步骤C30:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C31,如两次都解析不成功则执行步骤C32;
步骤C31:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,执行步骤C32;
步骤C32:所述解析装置判断是否已知刷卡方向,是则执行步骤C33,否则执行步骤C38;
步骤C33:所述解析装置判断磁条卡朝向是否为正面向上,是则执行步骤C34,否则执行步骤C36;
步骤C34:所述解析装置以已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C35,否则执行步骤C42;
步骤C35:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤C42;
步骤C36:所述解析装置以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C37,否则执行步骤C42;
步骤C37:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤C42;
步骤C38:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C39,如两次都解析不成功则执行步骤C40;
步骤C39:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤C42;
步骤C40:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C41,如两次都解析不成功则执行步骤C42;
步骤C41:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤C42;
步骤C42:所述解析装置判断所述磁条卡临时缓存区中的数据的长度是否为0,是则报错,结束,否则执行步骤S3。
6.如权利要求1所述的方法,其特征在于,所述步骤S2具体包括:
步骤S2-21:所述解析装置分别以磁道的正向和反向,按照预设解析规则对获取到的第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-22,如两次都解析不成功则执行步骤S2-23;
步骤S2-22:所述解析装置将所述第一数据的解析结果转换成可识别的数据,执行步骤S2-23;
步骤S2-23:所述解析装置分别以磁道的正向和反向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-24,如两次都解析不成功则执行步骤S3;
步骤S2-24:所述解析装置将解析成功的解析结果转换成可识别的数据,执行步骤S3。
7.如权利要求6所述的方法,其特征在于,所述步骤S1中所述解析装置通过两个磁头从磁条卡的两面获取三个数据;
所述步骤S2包括:
步骤D1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析获取到的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D3,如两次都解析不成功则执行步骤D2;
步骤D2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,执行步骤D5;
步骤D3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析获取到的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D4,如两次都解析不成功则执行步骤D5;
步骤D4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤D5;
步骤D5:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析获取到的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D6,如两次都解析不成功则执行步骤D7;
步骤D6:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤D7;
步骤D7:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析获取到的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D8,如两次都解析不成功则执行步骤D9;
步骤D8:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤D11;
步骤D9:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析获取到的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D10,如两次都解析不成功则执行步骤D11;
步骤D10:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤D11;
步骤D11:所述解析装置判断所述磁条卡临时缓存区的数据的长度是否为0,是则报错,结束;否则执行步骤S3。
8.如权利要求6所述的方法,其特征在于,
所述步骤S1包括:所述解析装置通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
所述步骤S2包括:
步骤E1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E2,如两次都解析不成功则执行步骤E3;
步骤E2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,执行步骤E5;
步骤E3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E4,如两次都解析不成功则执行步骤E5;
步骤E4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤E5;
步骤E5:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E6,如两次都解析不成功则执行步骤E7;
步骤E6:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤E7;
步骤E7:所述解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤E8,否则执行步骤E10;
步骤E8:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E9,如两次都解析不成功则执行步骤E10;
步骤E9:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤E10;
步骤E10:所述解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤E11,否则执行步骤E13;
步骤E11:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E12,如两次都解析不成功则执行步骤E13;
步骤E12:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤E13;
步骤E13:所述解析装置判断第一磁道区域中的数据的长度是否为0,是则执行步骤E14,否则执行步骤E16;
步骤E14:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E15,如两次都解析不成功则执行步骤E16;
步骤E15:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,执行步骤E16;
步骤E16:所述解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤E17,否则执行步骤E19;
步骤E17:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E18,如两次都解析不成功则执行步骤E19;
步骤E18:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤E19;
步骤E19:所述解析装置判断第二磁道区域中的数据的长度是否为0,是则执行步骤E20,否则执行步骤E22;
步骤E20:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E21,如两次都解析不成功则执行步骤E22;
步骤E21:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤E22;
步骤E22:所述解析装置判断所述磁条卡临时缓存区中的数据的长度是否为0,是则报错,结束,否则执行步骤S3。
9.一种磁条卡信息的解析装置,其特征在于,包括:
获取模块,包括第一磁头子模块和第二磁头子模块,所述第一磁头子模块和第二磁头子模块相对设置于卡槽的两侧,所述第一磁头子模块和第二磁头子模块用于从磁条卡的两面获取至少三个数据;
解析判断模块,用于根据预设解析规则分别对所述获取模块获取到的数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则将解析成功的解析结果转换成可识别的数据,否则触发报错模块;
转换模块,用于将所述可识别的数据转换成预定格式的数据;
所述报错模块,用于在所述解析判断模块判断为否时报错;
所述解析判断模块,包括:
第三判断子模块,用于判断刷卡方向是否为反向,是则触发读取逆序子模块,否则触发第一作为子模块;
所述读取逆序子模块,用于读取获取到的一个数据,将读取到的数据逆序去掉高位上的0后得到新数据;
第四判断子模块,用于判断所述新数据中最低位上的数据是否为1,是则触发第一作为子模块,否则触发所述报错模块;
所述第一作为子模块,用于根据当前磁道的字段格式从读取到的数据的最低位开始获取一个字作为当前字;
第一校验判断子模块,用于对当前字进行奇偶校验,并判断校验是否成功,是则触发更新判断子模块,否则触发所述报错模块;
所述更新判断子模块,用于更新字个数,并判断所述字个数是否等于预设值,是则触发第五判断子模块,否则触发第六判断子模块;
所述第五判断子模块,用于判断当前字是否为正确的数据头,是则触发第六判断子模块,否则触发所述报错模块;
所述第六判断子模块,用于判断当前字的上一个字是否为结束标志,是则触发第八判断子模块,否则触发第七判断子模块;
所述第七判断子模块,用于判断所述读取到的数据是否处理完成,是则触发第九判断子模块,否则触发第二作为子模块;
所述第二作为子模块,用于根据当前磁道的字段格式从所述读取到的数据中获取下一个字作为当前字,触发所述第一校验判断子模块;
所述第八判断子模块,用于判断所述字个数是否大于所述预设值,是则触发第九判断子模块,否则触发所述报错模块;
所述第九判断子模块,用于判断所述结束标志是否正确,是则触发第二校验判断子模块,否则触发所述报错模块;
所述第二校验判断子模块,用于对所述读取到的数据中的所有字进行奇偶校验,并判断校验是否成功,是则解析成功,触发第五转换子模块,否则触发所述报错模块;
所述第五转换子模块,用于将解析成功的解析结果转换成可识别的数据。
10.如权利要求9所述的装置,其特征在于,所述解析判断模块还包括:
第一解析判断子模块,用于分别以磁道的正向和反向,按照预设解析规则对第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第一转换子模块,如两次都解析不成功则更换解析规则,分别以正向和反向,按照更换后的解析规则重新解析第一数据,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发所述第一转换子模块,如两次都解析不成功则触发第一判断子模块;
所述第一转换子模块,用于将所述第一数据的解析结果转换成可识别的数据,设置已知刷卡方向,触发第一判断子模块;
所述第一判断子模块,用于判断是否已知刷卡方向,如已知刷卡方向则用于根据已知的刷卡方向,按照预设解析规则对所述获取模块获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第二转换子模块,如两次都解析不成功则触发所述转换模块;如两次都解析不成功则分别以磁道的正向和反向,按照预设解析规则对所述获取模块获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第二转换子模块,如两次都解析不成功则触发所述转换模块;
所述第二转换子模块,用于将解析成功的解析结果转换成可识别的数据,触发所述转换模块。
11.如权利要求10所述的装置,其特征在于,
所述获取模块具体用于通过两个磁头从磁条卡的两面获取三个数据;
所述第一解析判断子模块包括第一解析判断单元和第二解析判断单元;
所述第一转换子模块包括第一转换单元和第二转换单元;
所述第一判断子模块包括:第一判断单元、第一解析转换单元、第二解析转换单元、第二判断单元、第三判断单元、第三解析转换单元、第四解析转换单元、第三解析判断单元、第四解析判断单元和第四判断单元;
所述第二转换子模块包括第三转换单元和第四转换单元;
所述第一解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第一转换单元,如两次都解析不成功则触发所述第二解析判断单元;
所述第一转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发所述第一判断单元;
所述第二解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第二转换单元,如两次都解析不成功则触发所述第一判断单元;
所述第二转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,触发所述第一判断单元;
所述第一判断单元,用于判断是否已知刷卡方向,是则触发所述第一解析转换单元,否则触发所述第二解析转换单元;
所述第一解析转换单元,用于以所述已知刷卡方向按照第二磁道格式解析第二数据,将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第二判断单元;
所述第二解析转换单元,用于分别以磁道的正向和反向按照第二磁道格式解析第二数据,将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发所述第二判断单元;
所述第二判断单元,用于判断是否已知刷卡方向,是则触发所述第三判断单元,否则触发所述第三解析判断单元;
所述第三判断单元,用于判断磁条卡是否为正面向上,是则触发所述第三解析转换单元,否则触发所述第四解析转换单元;
所述第三解析转换单元,用于以所述已知刷卡方向按照第三磁道格式解析第三数据,将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第四判断单元;
所述第四解析转换单元,用于以所述已知刷卡方向按照第二磁道格式解析第三数据,将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第四判断单元;
所述第三解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三转换单元,如两次都解析不成功则触发所述第四解析判断单元;
所述第三转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第四判断单元;
第四解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四转换单元,如两次都解析不成功则触发所述第四判断单元;
所述第四转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第四判断单元;
所述第四判断单元,用于判断所述磁条卡临时缓存区的数据的长度是否为0,是则触发所述报错模块;否则触发所述转换模块。
12.如权利要求10所述的装置,其特征在于,
所述获取模块具体用于通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
所述第一解析判断模块包括:第五解析判断单元和第六解析判断单元;
所述第一转换子模块包括:第五转换单元和第六转换单元;
所述第一判断子模块包括:第五判断单元、第六判断单元、第七判断单元、第七解析判断单元、第八解析判断单元、第九解析判断单元、第八判断单元、第九判断单元、第十解析判断单元、第十一解析判断单元、第十二解析判断单元、第十三解析判断单元、第十判断单元、第十一判断单元、第十四解析判断单元、第十五解析判断单元、第十六解析判断单元、第十七解析判断单元和第十八解析判断单元;
所述第二转换子模块包括:第七转换单元、第八转换单元、第九转换单元、第十转换单元、第十一转换单元、第十二转换单元、第十三转换单元、第十四转换单元、第十五转换单元、第十六转换单元、第十七转换单元和第十八转换单元;
所述第五解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第五转换单元,如两次都解析不成功则触发所述第六解析判断单元;
所述第五转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发所述第五判断单元;
所述第六解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第六转换单元,如两次都解析不成功则触发所述第五判断单元;
所述第六转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,触发所述第五判断单元;
所述第五判断单元,用于判断是否已知刷卡方向,是则触发所述第六判断单元,否则触发所述第九解析判断单元;
所述第六判断单元,用于判断所述磁条卡朝向是否为正面向上,是则触发所述第七解析判断单元,否则触发所述第八解析判断单元;
所述第七解析判断单元,用于以所述已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第七转换单元,否则触发所述第七判断单元;
所述第七转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第七判断单元;
所述第八解析判断单元,用于以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第八转换单元,否则触发所述第七判断单元;
所述第八转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第七判断单元;
所述第九解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第九转换单元,如两次都解析不成功则触发所述第十解析判断单元;
所述第九转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发所述第七判断单元;
所述第十解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第十转换单元,如两次都解析不成功则触发所述第七判断单元;
所述第十转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,触发所述第七判断单元;
所述第七判断单元,用于判断是否已知刷卡方向,是则触发所述第八判断单元,否则触发所述第十三解析判断单元;
所述第八判断单元,用于判断所述磁条卡朝向是否为正面向上,是则触发所述第十一解析判断单元,否则触发所述第十二解析判断单元;
所述第十一解析判断单元,用于以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第十一转换单元,否则触发所述第九判断单元;
所述第十一转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第九判断单元;
所述第十二解析判断单元,用于以所述已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第十二转换单元,否则触发所述第九判断单元;
所述第十二转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,触发所述第九判断单元;
所述第十三解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第十三转换单元,如两次都解析不成功则触发所述第十四解析判断单元;
所述第十三转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,触发所述第九判断单元;
所述第十四解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第十四转换单元,如两次都解析不成功则触发所述第九判断单元;
所述第十四转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,触发所述第九判断单元;
所述第九判断单元,用于判断是否已知刷卡方向,是则触发所述第十判断单元,否则触发所述第十七解析判断单元;
所述第十判断单元,用于判断所述磁条卡朝向是否为正面向上,是则触发所述第十五解析判断单元,否则触发所述第十六解析判断单元;
所述第十五解析判断单元,用于以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第十五转换单元,否则触发所述第十一判断单元;
所述第十五转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第十一判断单元;
所述第十六解析判断单元,用于以所述已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第十六转换单元,否则触发所述第十一判断单元;
所述第十六转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第十一判断单元;
所述第十七解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第十七转换单元,如两次都解析不成功则触发所述第十八解析判断单元;
所述第十七转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第十一判断单元;
所述第十八解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第十八转换单元,如两次都解析不成功则触发所述第十一判断单元;
所述第十八转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第十一判断单元;
所述第十一判断单元,用于判断所述磁条卡临时缓存区的数据的长度是否为0,是则触发所述报错模块;否则触发所述转换模块。
13.如权利要求10所述的装置,其特征在于,
所述获取模块具体用于通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
所述第一解析判断子模块包括:第十九解析判断单元和第二十解析判断单元;
所述第一转换子模块包括:第十九转换单元和第二十转换单元;
所述第一判断子模块包括:第十二判断单元、第十三判断单元、第十四判断单元、第十五判断单元、第二十一解析判断单元、第二十二解析判断单元、第二十三解析判断单元、第二十四解析判断单元、第二十五解析判断单元、第十六判断单元、第十七判断单元、第二十六解析判断单元、第二十七解析判断单元、第二十八解析判断单元、第二十九解析判断单元、第三十解析判断单元、第十八判断单元、第十九判断单元、第三十一解析判断单元、第三十二解析判断单元、第三十三解析判断单元、第三十四解析判断单元和第三十五解析判断单元;
所述第二转换子模块包括:第二十一转换单元、第二十二转换单元、第二十三转换单元、第二十四转换单元、第二十五转换单元、第二十六转换单元、第二十七转换单元、第二十八转换单元、第二十九转换单元、第三十转换单元、第三十一转换单元、第三十二转换单元、第三十三转换单元、第三十四转换单元和第三十五转换单元;
所述第十九解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第十九转换单元,如两次都解析不成功则触发所述第二十解析判断单元;
所述第十九转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,设置所述磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,触发所述第十二判断单元;
所述第二十解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第二十转换单元,如两次都解析不成功则触发所述第十二判断单元;
所述第二十转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,触发所述第十二判断单元;
所述第十二判断单元,用于判断是否已知刷卡方向,是则触发所述第十三判断单元,否则触发所述第二十五解析判断单元;
所述第十三判断单元,用于判断磁条卡朝向是否为正面向上,是则触发所述第二十一解析判断单元,否则触发所述第十四判断单元;
所述第二十一解析判断单元,用于以已知刷卡方向,分别按照第二磁道格式、第三磁道格式、第三磁道格式解析对应的所述原始数据缓存区中的第二数据、所述原始数据缓存区中的第三数据、所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如至少有一个数据解析成功则触发所述第二十一转换单元,如所有数据都解析不成功则触发所述第十九判断单元;
所述第二十一转换单元,用于将解析成功的解析结果转换成可识别的数据,并将转换后的可识别数据保存到所述磁条卡临时缓存区的对应磁道区域中,更新对应磁道区域中的数据的长度,触发所述第十九判断单元;
所述第十四判断单元,用于判断第三磁道区域中的数据的长度是否为0,是则触发所述第二十二解析判断单元,否则触发所述第二十三解析判断单元;
所述第二十二解析判断单元,用于以已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第二十二转换单元,触发所述第二十三解析判断单元;
所述第二十二转换单元,用于将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,触发所述第二十三解析判断单元;
所述第二十三解析判断单元,用于以已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第二十三转换单元,否则触发所述第二十四解析判断单元;
所述第二十三转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,触发所述第二十四解析判断单元;
所述第二十四解析判断单元,用于以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第二十四转换单元,否则触发所述第十九判断单元;
所述第二十四转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,触发所述第十九判断单元;
所述第二十五解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第二十五转换单元,如两次都解析不成功则触发所述第二十六解析判断单元;
所述第二十五转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,设置磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,触发所述第十五判断单元;
所述第二十六解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第二十六转换单元,如两次都解析不成功则触发所述第十五判断单元;
所述第二十六转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,触发所述第十五判断单元;
所述第十五判断单元,用于判断是否已知刷卡方向,是则触发所述第十六判断单元,否则触发所述第三十解析判断单元;
所述第十六判断单元,用于判断磁条卡朝向是否为正面向上,是则触发所述第二十七解析判断单元,否则触发所述第二十八解析判断单元;
所述第二十七解析判断单元,用于以已知刷卡方向,按照第三磁道格式分别解析所述原始数据缓存区中的第三数据、所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如至少有一个数据解析成功则触发所述第二十七转换单元,否则触发所述第十九判断单元;
所述第二十七转换单元,用于将解析成功的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的对应磁道区域中,更新对应磁道区域中的数据的长度,触发第十九判断单元;
所述第二十八解析判断单元,用于以已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第二十八转换单元,否则触发所述第二十九解析判断单元;
所述第二十八转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,触发所述第二十九解析判断单元;
所述第二十九解析判断单元,用于以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第二十九转换单元,否则触发所述第十九判断单元;
所述第二十九转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,触发所述第十九判断单元;
所述第三十解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三十转换单元,如两次都解析不成功则触发所述第三十一解析判断单元;
所述第三十转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,设置磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,触发所述第十九判断单元;
所述第三十一解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三十一转换单元,如两次都解析不成功则触发所述第十七判断单元;
所述第三十一转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,触发所述第十七判断单元;
所述第十七判断单元,用于判断是否已知刷卡方向,是则触发所述第十八判断单元,否则触发所述第三十四解析判断单元;
所述第十八判断单元,用于判断磁条卡朝向是否为正面向上,是则触发所述第三十二解析判断单元,否则触发所述第三十三解析判断单元;
所述第三十二解析判断单元,用于以已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第三十二转换单元,否则触发所述第十九判断单元;
所述第三十二转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,触发所述第十九判断单元;
所述第三十三解析判断单元,用于以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则触发所述第三十三转换单元,否则触发所述第十九判断单元;
所述第三十三转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,触发所述第十九判断单元;
所述第三十四解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三十四转换单元,如两次都解析不成功则触发所述第三十五解析判断单元;
所述第三十四转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,触发所述第十九判断单元;
所述第三十五解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三十五转换单元,如两次都解析不成功则触发所述第十九判断单元;
所述第三十五转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,触发所述第十九判断单元;
所述第十九判断单元,用于判断所述磁条卡临时缓存区中的数据的长度是否为0,是则触发所述报错模块,否则触发所述转换模块。
14.如权利要求9所述的装置,其特征在于,所述解析判断模块还包括:
第二解析判断子模块,用于分别以磁道的正向和反向,按照预设解析规则对获取到的第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第三转换子模块,如两次都解析不成功则触发第二判断子模块;
所述第三转换子模块,用于将所述第一数据的解析结果转换成可识别的数据,触发第二判断子模块;
所述第二判断子模块,用于分别以磁道的正向和反向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第四转换子模块,如两次都解析不成功则触发所述转换模块;
所述第四转换子模块,用于将解析成功的解析结果转换成可识别的数据,触发所述转换模块。
15.如权利要求14所述的装置,其特征在于,所述获取模块具体用于通过两个磁头从磁条卡的两面获取三个数据;
所述第二解析判断子模块包括:第三十六解析判断单元和第三十七解析判断单元;所述第三转换子模块包括:第三十六转换单元和第三十七转换单元;所述第二判断子模块包括:第三十八解析判断单元、第三十九解析判断单元、第四十解析判断单元和第二十判断单元;所述第四转换子模块包括:第三十八转换单元、第三十九转换单元和第四十转换单元;
所述第三十六解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析获取到的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三十七解析判断单元,如两次都解析不成功则触发所述第三十六转换单元;
所述第三十六转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,触发所述第三十八解析判断单元;
所述第三十七解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析获取到的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发第三十七转换单元,如两次都解析不成功则触发所述第三十八解析判断单元;
所述第三十七转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第三十八解析判断单元;
所述第三十八解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析获取到的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三十八转换单元,如两次都解析不成功则触发所述第三十九解析判断单元;
所述第三十八转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第三十九解析判断单元;
所述第三十九解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析获取到的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第三十九转换单元,如两次都解析不成功则触发所述第四十解析判断单元;
所述第三十九转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,触发所述第二十判断单元;
所述第四十解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析获取到的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十转换单元,如两次都解析不成功则触发所述第二十判断单元;
所述第四十转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,触发所述第二十判断单元;
所述第二十判断单元,用于判断所述磁条卡临时缓存区的数据的长度是否为0,是则触发所述报错模块;否则触发所述转换模块。
16.如权利要求14所述的装置,其特征在于,所述获取模块具体用于通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;
所述第二解析判断子模块包括:第四十一解析判断单元和第四十二解析判断单元;
所述第三转换子模块包括:第四十一转换单元和第四十二转换单元;
所述第二判断子模块包括:第二十一判断单元、第二十二判断单元、第四十三解析判断单元、第二十三判断单元、第四十四解析判断单元、第二十四判断单元、第四十五解析判断单元、第二十五判断单元、第四十六解析判断单元、第二十六判断单元、第四十七解析判断单元和第四十八解析判断单元;
所述第四转换子模块包括:第四十三转换单元、第四十四转换单元、第四十五转换单元、第四十六转换单元、第四十七转换单元和第四十八转换单元;
第四十一解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十一转换单元,如两次都解析不成功则触发所述第四十二解析判断单元;
所述第四十一转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,触发所述第四十三解析判断单元;
所述第四十二解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十二转换单元,如两次都解析不成功则触发所述第四十三解析判断单元;
所述第四十二转换单元,用于将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,触发所述第四十三解析判断单元;
所述第四十三解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十三转换单元,如两次都解析不成功则触发所述第二十一判断单元;
所述第四十三转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,触发所述第二十一判断单元;
所述第二十一判断单元,用于判断第三磁道区域中的数据的长度是否为0,是则触发所述第四十四解析判断单元,否则触发所述第二十二判断单元;
所述第四十四解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十四转换单元,如两次都解析不成功则触发所述第二十二判断单元;
所述第四十四转换单元,用于将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,触发所述第二十二判断单元;
所述第二十二判断单元,用于判断第三磁道区域中的数据的长度是否为0,是则触发所述第四十五解析判断单元,否则触发所述第二十三判断单元;
所述第四十五解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十五转换单元,如两次都解析不成功则触发所述第二十三判断单元;
所述第四十五转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,触发所述第二十三判断单元;
所述第二十三判断单元,用于判断第一磁道区域中的数据的长度是否为0,是则触发所述第四十六解析判断单元,否则触发所述第二十四判断单元;
所述第四十六解析判断单元,用于分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十六转换单元,如两次都解析不成功则触发所述第二十四判断单元;
所述第四十六转换单元,用于将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,触发所述第二十四判断单元;
所述第二十四判断单元,用于判断第三磁道区域中的数据的长度是否为0,是则触发所述第四十七解析判断单元,否则触发所述第二十五判断单元;
所述第四十七解析判断单元,用于分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十七转换单元,如两次都解析不成功则触发所述第二十五判断单元;
所述第四十七转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,触发所述第二十五判断单元;
所述第二十五判断单元,用于判断第二磁道区域中的数据的长度是否为0,是则触发所述第四十八解析判断单元,否则触发所述第二十六判断单元;
所述第四十八解析判断单元,用于分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则触发所述第四十八转换单元,如两次都解析不成功则触发所述第二十六判断单元;
所述第四十八转换单元,用于将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,触发所述第二十六判断单元;
所述第二十六判断单元,用于判断所述磁条卡临时缓存区中的数据的长度是否为0,是则触发所述报错模块,否则触发所述转换模块。
CN201610067236.6A 2016-01-30 2016-01-30 一种磁条卡信息的解析方法及装置 Active CN105740741B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610067236.6A CN105740741B (zh) 2016-01-30 2016-01-30 一种磁条卡信息的解析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610067236.6A CN105740741B (zh) 2016-01-30 2016-01-30 一种磁条卡信息的解析方法及装置

Publications (2)

Publication Number Publication Date
CN105740741A CN105740741A (zh) 2016-07-06
CN105740741B true CN105740741B (zh) 2019-01-04

Family

ID=56247207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610067236.6A Active CN105740741B (zh) 2016-01-30 2016-01-30 一种磁条卡信息的解析方法及装置

Country Status (1)

Country Link
CN (1) CN105740741B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204513A (en) * 1990-10-02 1993-04-20 American Magnetics Corporation Decoder for magnetic stripe recording
US20020125319A1 (en) * 2001-03-06 2002-09-12 Olympus Optical Co., Ltd. Recording medium and coded image reader apparatus
CN201465130U (zh) * 2009-08-19 2010-05-12 深圳市莱克科技有限公司 一种双面磁条阅读器
CN102930238A (zh) * 2012-10-31 2013-02-13 深圳市新国都技术股份有限公司 一种用于磁卡的解码和纠错方法
CN103034829A (zh) * 2012-12-19 2013-04-10 福建升腾资讯有限公司 一种磁卡的软解码方法
CN103488963A (zh) * 2013-09-09 2014-01-01 飞天诚信科技股份有限公司 一种解析磁卡信号的方法和装置
CN203573322U (zh) * 2013-10-08 2014-04-30 飞天诚信科技股份有限公司 加密磁头

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204513A (en) * 1990-10-02 1993-04-20 American Magnetics Corporation Decoder for magnetic stripe recording
US20020125319A1 (en) * 2001-03-06 2002-09-12 Olympus Optical Co., Ltd. Recording medium and coded image reader apparatus
CN201465130U (zh) * 2009-08-19 2010-05-12 深圳市莱克科技有限公司 一种双面磁条阅读器
CN102930238A (zh) * 2012-10-31 2013-02-13 深圳市新国都技术股份有限公司 一种用于磁卡的解码和纠错方法
CN103034829A (zh) * 2012-12-19 2013-04-10 福建升腾资讯有限公司 一种磁卡的软解码方法
CN103488963A (zh) * 2013-09-09 2014-01-01 飞天诚信科技股份有限公司 一种解析磁卡信号的方法和装置
CN203573322U (zh) * 2013-10-08 2014-04-30 飞天诚信科技股份有限公司 加密磁头

Also Published As

Publication number Publication date
CN105740741A (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
CN104769586B (zh) 采用位置信息剖析数据
US7680333B2 (en) System and method for binary persistence format for a recognition result lattice
CN103391311B (zh) 一种多平台之间数据一致性校验的方法和系统
US20120054721A1 (en) Dynamic calculation of sample profile reports
US7710969B2 (en) Rapid I/O traffic system
CN108089893A (zh) 冗余资源的确定方法、装置、终端设备与存储介质
CN109086046A (zh) 一种基于接口规范文档的前端代码自动生成方法及系统
CN105653984B (zh) 文件指纹校验方法及装置
AU2014201568A1 (en) Event matrix based on integrated data
CN109359007A (zh) 错误日志的处理方法、系统、电子设备和存储介质
Calders et al. Using minimum description length for process mining
WO2019051945A1 (zh) 保险数据审核方法、装置、计算机设备及存储介质
CN109828777A (zh) 一种手游安装包优化方法及系统
CN110766411A (zh) 以太坊代币交易中不一致行为的检测方法
CN110458681A (zh) 一种数据对账决策的方法、装置、服务器和存储介质
CN105740741B (zh) 一种磁条卡信息的解析方法及装置
CN110046820A (zh) 基于结构替换的流程模型修复方法
CN109828890A (zh) 一种硬盘的测试数据整理方法、装置、设备及存储介质
CN106095948A (zh) 表格的查询方法、装置和设备
JP6544253B2 (ja) 未知のバイナリモジュールのための有効な入力を決定する方法及び非一時的なコンピュータ可読媒体
Muscholl et al. Analyzing Message Sequence Charts.
CN113518074B (zh) 一种数据报文转发方法、装置、设备及存储介质
CN109766028A (zh) 一种红外触摸屏触控分管系统和方法
US20060282719A1 (en) Unique Addressable Memory Data Path
CN114462045A (zh) 一种智能合约漏洞检测方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
OL01 Intention to license declared
OL01 Intention to license declared