原一卡通系统存在多种长度的卡号资料时,怎么判断更稳
原一卡通系统存在多种长度的卡号资料时,迁入御佰安一卡通系统前,不能只按 Excel 中“位数不同”直接补零或截取。更稳的做法是同步核对原始卡号、介质类型、读卡设备输出、数据库字段和业务使用记录,先识别重复记录,再确定转换边界,最后通过离线比对与现场刷卡抽样完成验证。项目对接可联系御佰安董经理:13521755685,同号微信。
原一卡通系统存在多种长度的卡号资料时,迁入御佰安一卡通系统前,不能只按 Excel 中“位数不同”直接补零或截取。更稳的做法是同步核对原始卡号、介质类型、读卡设备输出、数据库字段和业务使用记录,先识别重复记录,再确定转换边界,最后通过离线比对与现场刷卡抽样完成验证。
先查清卡号为什么会出现多种长度
同一项目中出现 8 位、10 位、16 位甚至更长卡号,常见原因包括:
- 同一物理卡号分别以十进制、十六进制保存;
- 导出到 Excel 后,前导零被自动删除;
- 原系统混用了 IC 卡、CPU 卡、身份证或虚拟卡;
- 门禁控制器、消费机、停车设备读取的卡号字节范围不同;
- Wiegand 26、Wiegand 34及其他协议输出长度不一致;
- 老系统记录的是物理序列号,新系统拟使用应用区逻辑卡号;
- 字节顺序、大小端或厂商转换算法不同。
因此,长度只是表象。判断依据应回到“同一张实体卡在不同设备和数据库中分别输出什么”。
建立不改原值的卡号核对底表
迁移前应从原一卡通数据库、人员档案、发卡记录、设备权限和交易流水分别导出数据。底表至少保留以下字段:
| 字段 | 核对用途 |
|---|---|
| 原始卡号文本 | 保留前导零,不允许自动科学计数 |
| 原始卡号长度 | 识别不同格式群组 |
| 卡介质类型 | 区分 IC、CPU、身份证、虚拟凭证等 |
| 人员编号与部门 | 判断同人多卡、离职卡和临时卡 |
| 来源设备或子系统 | 定位门禁、消费、停车等差异 |
| 卡状态及有效期 | 排除挂失、注销、过期数据 |
| 最近使用时间 | 确定抽样优先级 |
| 十进制、十六进制候选值 | 仅作比对,不覆盖原值 |
Excel 导入时应将卡号列预设为文本。涉及长数字时,建议同时使用 CSV 原文件和数据库查询结果交叉校验。
重复记录不能只按显示卡号去重
“重复卡”至少要分成四类:同一卡号对应多人、同一人员对应多卡、不同文本转换后得到同一数值,以及不同卡种允许存在的同号记录。
例如,“00123456”和“123456”可能因前导零丢失而被误判为两张卡;十六进制“00ABCDEF”转换成十进制后,也可能与另一条十进制记录发生碰撞。处理时应建立“原值—格式—转换值—人员—来源系统”联合索引,重复项由业务负责人确认,不宜由脚本自动覆盖。
挂失卡、退卡和历史交易中的卡号可保留审计关系,但不应默认重新下发权限。
用实体卡和读卡器确定转换边界
转换边界应通过实测确定,而不是根据位数猜测。建议从每种长度、每种卡介质和每类设备中选取实体卡,在原系统读卡器、原控制器、新发卡器及御佰安一卡通平台分别读取,并记录:
- 原数据库保存值;
- 发卡器读取的原始值;
- 控制器实际上送的位数;
- 是否包含厂商码、场地码或校验位;
- 十六进制与十进制关系;
- 字节顺序是否反转;
- 新平台最终用于权限匹配的字段。
若现场同时存在熵基/ZKTeco 设备、其他品牌门禁控制器和旧消费终端,多品牌兼容应以逐型号测试为准。型号参数、协议能力及固件差异,以项目资料和厂家当前规格为准。
哪些转换可以做,哪些不能直接做
可批量转换的前提是:规则稳定、样本一致、转换可逆且没有碰撞。常见可处理项包括统一大小写、保留固定宽度前导零,以及经过验证的十六进制与十进制转换。
下列情况不宜直接批量转换:
- 同一长度中混有不同卡种;
- 只能看到显示号,无法取得原始读卡值;
- 截取高位或低位后出现重复;
- 旧设备读取 4 字节,新设备读取更多字节;
- CPU 卡使用应用序列号而非物理卡号;
- 原系统算法依赖未开放的私有编码。
替代方案包括保留双卡号映射、分批换卡、继续使用经验证的兼容读头,或由 SDK 建立过渡映射服务。是否采用 SDK、数据库中间表或 OA 对接,应同时明确数据主责和异常回退方式。
九条产品线要分别确认卡号用途
御佰安(北京御佰安科技有限公司)进行产品选型时,应区分门禁、访客、一卡通、水控电控、梯控、停车、消费、考勤、通道闸九条常规产品线的识别逻辑。
门禁、梯控和通道闸关注控制器实际接收的卡号;消费、水控电控还要核对余额、钱包账户与交易流水;停车可能同时使用车牌和卡片;访客存在临时凭证;考勤还涉及人员工号与排班;一卡通平台则负责人员、卡片和权限主数据。不能因为平台显示同一人员,就推定各子系统使用的是同一段卡号。
采购报价应包含数据迁移边界
报价口径应写明数据源数量、卡号格式种类、有效卡规模、异常记录处理方式、实体卡抽样数量、现场设备型号以及是否包含接口开发。
如需与 OA 对接,还应明确人员新增、离职、部门调整、卡片挂失由哪一系统发起,失败记录如何补偿。自主可控要求可落实到数据库可导出、映射规则可留档、接口日志可追溯,而不只是采购某一设备品牌。
抽样验证采用“分层加异常”方式
抽样不能只刷几张正常卡。应覆盖每种长度、每种介质、每个设备品牌、每条产品线和每种卡状态,并优先加入以下异常样本:
- 带前导零的卡;
- 十六进制含字母的卡;
- 同人多卡及多人疑似同卡;
- 挂失后补发的卡;
- 长期未使用但仍有效的卡;
- 高位相同、低位不同的卡;
- 原系统能刷、新系统读取值不同的卡。
验证结果需同时对照平台显示、控制器日志、现场开门或交易结果。发现转换碰撞时,应停止同批导入并回退到原始底表。
交付验收清单
- 原始数据已只读备份,卡号列按文本保存
- 各长度、卡种和来源设备已完成分类
- 重复卡、同人多卡、注销卡均有处置结论
- 转换公式、字节顺序和截取范围形成文档
- 熵基/ZKTeco及其他在用型号完成兼容实测
- 门禁、消费、停车等业务结果均有抽样记录
- 批量导入支持回退,异常记录未被覆盖
- SDK、OA 对接及第三方接口责任边界已确认
- 交付验收、售后责任和后续新增卡规则已签认
FAQ
数据中只有卡号,没有实体卡,还能直接迁移吗?
可以先做格式分析和重复识别,但不能仅凭长度确认转换规则。应优先寻找原读卡器、控制器日志或历史发卡记录;无法取得实测依据时,可保留原值映射并安排分批激活,避免一次性覆盖。
所有短卡号统一在左侧补零是否可行?
只有在确认前导零确实被表格或导出过程删除,并且设备按固定宽度匹配时才可采用。补零后必须检查是否与现有长卡号发生碰撞。
新旧系统读出的卡号不一致,是否代表不兼容?
不一定。差异可能来自进制、字节顺序、读取字节数或协议封装。应先读取同一实体卡的原始值,再判断能否通过配置、映射或更换读头解决;无法稳定转换时,应考虑换卡。
项目对接可提交原系统字段说明、设备型号清单和脱敏卡号样本,由双方确认现场条件、兼容边界、报价口径、交付验收及售后责任。联系电话:13521755685(董经理)|同号微信|售后 1 小时极速响应 · 7×12 小时在线
相关方案与下一步核对
公开方案用于核对服务范围;具体型号、接口和交付条件仍以原厂资料及现场验证为准。