一种银行卡的卡BIN识别方法及相关设备技术

技术编号:32233229 阅读:15 留言:0更新日期:2022-02-09 17:37
本申请公开了一种银行卡的卡BIN识别方法及相关设备,包括:获取待识别银行卡的卡号及卡号长度;获取预先配置的BIN树,所述BIN树的每一条分支包含至少一个识别节点,在每一条分支中,由根节点至识别节点的各节点对应的数值组成的数字串表征一种银行卡,所述识别节点对应有所述银行卡的卡BIN信息;根据所述BIN树、所述待识别银行卡的卡号及卡号长度,确定目标识别节点;获取所述目标识别节点所指向的卡BIN信息。本申请的上述识别过程依据预先配置的BIN树,寻找与待识别银行卡的卡BIN匹配的分支,计算过程简单,可以有效提高银行卡的识别效率,减少银行卡的识别开销。减少银行卡的识别开销。减少银行卡的识别开销。

【技术实现步骤摘要】
一种银行卡的卡BIN识别方法及相关设备


[0001]本申请涉及计算机
,更具体地说,是涉及一种银行卡的卡BIN识别方法及相关设备。

技术介绍

[0002]银行卡卡号包括前部分的业务号段和后部分的个人标识号段,各个商业银行之间的业务号段有统一的规定。最开始,银行卡卡号的前6位数字代表发卡行标识代码,也叫BIN(Bank Identification Number)号,不同的BIN号代表了不同的银行卡组织、银行卡级别及银行卡类别等信息。随着金融业务的发展,6位数字渐渐地不足以区分银行卡的属性,广义的卡BIN信息可以包括多至10多位。
[0003]目前,在银行卡识别中,可以通过匹配银行卡的卡Bin信息,来识别出该银行卡是哪个银行的哪种卡。通常地,根据卡号的前5位到前10多位,加上银行卡卡号长度,通过穷举法到数据库或者缓存中查询所匹配的号段,来达到识别卡BIN的功能。
[0004]上述的银行卡识别方法对每张卡有多次的匹配识别过程,识别效率不高。随着移动支付的普及,有必要研究出一种卡BIN识别方法,以提高银行卡的识别效率,减少银行卡的识别开销。

技术实现思路

[0005]有鉴于此,本申请提供了一种银行卡的卡BIN识别方法及相关设备,以提高银行卡的识别效率。
[0006]为实现上述目的,本申请第一方面提供了一种银行卡的卡BIN识别方法,包括:
[0007]获取待识别银行卡的卡号及卡号长度;
[0008]获取预先配置的BIN树,所述BIN树的每一条分支包含至少一个识别节点,在每一条分支中,由根节点至识别节点的各节点对应的数值组成的数字串表征一种银行卡,所述识别节点对应有所述银行卡的卡BIN信息;
[0009]根据所述BIN树、所述待识别银行卡的卡号及卡号长度,确定目标识别节点;其中,在所述目标识别节点所在分支上,从根节点到所述目标识别节点的各节点中,第i层节点的数值与所述卡号的第i位相同,且所述目标识别节点所对应的卡BIN信息中的卡号长度与所述卡号长度一致;
[0010]获取所述目标识别节点所指向的卡BIN信息。
[0011]优选地,根据所述BIN树、所述待识别银行卡的卡号及卡号长度,确定目标识别节点的过程,包括:
[0012]从所述BIN树的根节点开始,逐层地遍历所述BIN树,确定与所述待识别银行卡的卡号的前N位一致的分支;
[0013]其中,所述分支的第i层节点的数值与所述待识别银行卡的卡号的第i位相同,所述分支的第N层节点为识别节点,且所述分支的第N层节点所对应的卡BIN信息中的卡号长
度与所述待识别银行卡的卡号长度相等,i与N均为整数,i取值1到N;
[0014]将所述分支的第N层节点确定为所述目标识别节点。
[0015]优选地,从所述BIN树的根节点开始,逐层地遍历所述BIN树,确定与所述待识别银行卡的卡号的前N位一致的分支的过程,包括:
[0016]以所述BIN树的根节点为父节点,以所述待识别银行卡的卡号的第一位数字为目标数字;
[0017]从父节点的子节点中,判断是否存在数值与目标数字一致的目标子节点;
[0018]若不存在数值与目标数字一致的目标子节点,则确认待识别银行卡无法识别;
[0019]若存在数值与目标数字一致的目标子节点,判断所述目标子节点是否为识别节点;
[0020]若所述目标子节点是识别节点,获取所述目标子节点所对应的目标卡BIN信息;
[0021]判断所述目标卡BIN信息中的卡号长度是否与所述卡号长度一致;
[0022]若所述目标卡BIN信息中的卡号长度与所述卡号长度一致,则将所述目标子节点所在分支确定为与所述待识别银行卡的卡号的前N位一致的分支,N为所述目标子节点所在的层数;
[0023]若所述目标卡BIN信息中的卡号长度与所述卡号长度不一致,或,
[0024]若所述目标子节点不是识别节点:
[0025]则以所述目标子节点为父节点,以所述待识别银行卡的卡号中目标数字的后一位数字作为目标数字,返回执行从父节点的子节点中,判断是否存在数值与目标数字一致的目标子节点的操作。
[0026]优选地,所述BIN树根据银行卡表中各种银行卡的信息生成,根据银行卡表中各种银行卡的信息生成所述BIN树的过程,包括:
[0027]创建一根节点,以所述根节点作为BIN树的根节点;
[0028]针对银行卡表中的每种银行卡:
[0029]获取所述银行卡的BIN号、卡号长度和关联信息;
[0030]以根节点为当前节点,以所述BIN号的第一位作为目标位;
[0031]判断所述目标位是否为所述BIN号的最后一位;
[0032]若是,在当前节点下创建子节点,将所述子节点标记为识别节点,并将所述子节点的数值设置为所述目标位的数值;
[0033]将所述子节点对应到一卡BIN信息,所述卡BIN信息包括所述BIN号、所述卡号长度和/或所述关联信息;
[0034]若否,在当前节点下创建子节点,以所述子节点作为当前节点,将所述子节点的数值设置为所述目标位的数值;
[0035]获取所述BIN号中所述目标位的下一位,以所述位作为目标位,返回执行判断所述目标位是否为所述BIN号的最后一位的操作。
[0036]优选地,将所述子节点对应到一卡BIN信息的过程,包括:
[0037]在所述子节点设置一个指针,所述指针指向一卡BIN信息。
[0038]优选地,所述卡BIN信息存储在一哈希表中,所述哈希表为以所述卡BIN信息中的卡号长度作为键值所构建的哈希表。
[0039]本申请第二方面提供了一种银行卡的卡BIN识别装置,包括:
[0040]卡信息获取单元,用于获取待识别银行卡的卡号及卡号长度;
[0041]BIN树获取单元,用于获取预先配置的BIN树,所述BIN树的每一条分支包含至少一个识别节点,在每一条分支中,由根节点至识别节点的各节点对应的数值组成的数字串表征一种银行卡,所述识别节点对应有所述银行卡的卡BIN信息;
[0042]节点确定单元,用于根据所述BIN树、所述待识别银行卡的卡号及卡号长度,确定目标识别节点;其中,在所述目标识别节点所在分支上,从根节点到所述目标识别节点的各节点中,第i层节点的数值与所述卡号的第i位相同,且所述目标识别节点所对应的卡BIN信息中的卡号长度与所述卡号长度一致;
[0043]卡BIN识别单元,用于获取所述目标识别节点所指向的卡BIN信息。
[0044]优选地,所述银行卡的卡BIN识别装置还包括:
[0045]BIN树生成单元,用于:
[0046]创建一根节点,以所述根节点作为BIN树的根节点;
[0047]针对银行卡表中的每种银行卡:
[0048]获取所述银行卡的BIN号、卡号长度和关联信息;
[0049]以根节点为当前节点,以所述BIN号的第一位作为目标位;...

【技术保护点】

【技术特征摘要】
1.一种银行卡的卡BIN识别方法,其特征在于,包括:获取待识别银行卡的卡号及卡号长度;获取预先配置的BIN树,所述BIN树的每一条分支包含至少一个识别节点,在每一条分支中,由根节点至识别节点的各节点对应的数值组成的数字串表征一种银行卡,所述识别节点对应有所述银行卡的卡BIN信息;根据所述BIN树、所述待识别银行卡的卡号及卡号长度,确定目标识别节点;其中,在所述目标识别节点所在分支上,从根节点到所述目标识别节点的各节点中,第i层节点的数值与所述卡号的第i位相同,且所述目标识别节点所对应的卡BIN信息中的卡号长度与所述卡号长度一致;获取所述目标识别节点所指向的卡BIN信息。2.根据权利要求1所述的方法,其特征在于,根据所述BIN树、所述待识别银行卡的卡号及卡号长度,确定目标识别节点的过程,包括:从所述BIN树的根节点开始,逐层地遍历所述BIN树,确定与所述待识别银行卡的卡号的前N位一致的分支;其中,所述分支的第i层节点的数值与所述待识别银行卡的卡号的第i位相同,所述分支的第N层节点为识别节点,且所述分支的第N层节点所对应的卡BIN信息中的卡号长度与所述待识别银行卡的卡号长度相等,i与N均为整数,i取值1到N;将所述分支的第N层节点确定为所述目标识别节点。3.根据权利要求1所述的方法,其特征在于,从所述BIN树的根节点开始,逐层地遍历所述BIN树,确定与所述待识别银行卡的卡号的前N位一致的分支的过程,包括:以所述BIN树的根节点为父节点,以所述待识别银行卡的卡号的第一位数字为目标数字;从父节点的子节点中,判断是否存在数值与目标数字一致的目标子节点;若不存在数值与目标数字一致的目标子节点,则确认待识别银行卡无法识别;若存在数值与目标数字一致的目标子节点,判断所述目标子节点是否为识别节点;若所述目标子节点是识别节点,获取所述目标子节点所对应的目标卡BIN信息;判断所述目标卡BIN信息中的卡号长度是否与所述卡号长度一致;若所述目标卡BIN信息中的卡号长度与所述卡号长度一致,则将所述目标子节点所在分支确定为与所述待识别银行卡的卡号的前N位一致的分支,N为所述目标子节点所在的层数;若所述目标卡BIN信息中的卡号长度与所述卡号长度不一致,或,若所述目标子节点不是识别节点:则以所述目标子节点为父节点,以所述待识别银行卡的卡号中目标数字的后一位数字作为目标数字,返回执行从父节点的子节点中,判断是否存在数值与目标数字一致的目标子节点的操作。4.根据权利要求1所述的方法,其特征在于,所述BIN树根据银行卡表中各种银行卡的信息生成,根据银行卡表中各种银行卡的信息生成所述BIN树的过程,包括:创建一根节点,以所述根节点作为BIN树的根节点;针对银行卡表中的每种银行卡:
获取所述银行卡的BIN号、卡号长度和关联信息;以根节点为当前节点,以所述BIN号的第一位作为目标位;判断所述目标位是否为所述BIN号的最后...

【专利技术属性】
技术研发人员:曹志杨杨春艳
申请(专利权)人:浙江唯品会支付服务有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1