CN104809157B - 号码识别方法及装置 - Google Patents
号码识别方法及装置 Download PDFInfo
- Publication number
- CN104809157B CN104809157B CN201510131693.2A CN201510131693A CN104809157B CN 104809157 B CN104809157 B CN 104809157B CN 201510131693 A CN201510131693 A CN 201510131693A CN 104809157 B CN104809157 B CN 104809157B
- Authority
- CN
- China
- Prior art keywords
- bank
- name
- serial
- bin
- bin codes
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开关于一种号码识别方法及装置,属于计算机技术领域。所述方法包括:读取文本信息中的数字序列;检测所述数字序列是否满足银行卡号的生成规则;当所述数字序列满足所述银行卡号的生成规则时,将所述数字序列识别为银行卡号。本公开解决了用户需要手动输入数字序列来辨别银行卡号的问题,达到了提高银行卡号的识别效率的效果。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种号码识别方法及装置。
背景技术
由于银行卡涉及用户的个人资金,因此,在终端接收到的文本信息包括银行卡号时,用户需要对银行卡号进行辨别,再对该银行卡号进行处理。比如,终端接收到一条要求向一张银行卡汇款的短信,用户在搜索引擎中手动输入文本信息包括的数字序列,通过搜索引擎查询该数字序列是否是真实的银行卡号,在辨别出该银行卡号是真实的银行卡号后,再查询该银行卡号是否是被其他用户举报过的骗子的卡号,决定是否需要向该银行卡汇款。
发明内容
为解决用户需要手动输入数字序列来辨别银行卡号的问题,本公开提供了一种号码识别方法及装置。
根据本公开实施例的第一方面,提供一种号码识别方法,包括:
读取文本信息中的数字序列;
检测所述数字序列是否满足银行卡号的生成规则;
当所述数字序列满足所述银行卡号的生成规则时,将所述数字序列识别为银行卡号。
根据本公开实施例的第二方面,提供一种号码识别装置,包括:
序列读取模块,被配置为读取文本信息中的数字序列;
规则检测模块,被配置为检测所述序列读取模块读取的所述数字序列是否满足银行卡号的生成规则;
卡号识别模块,被配置为当所述规则检测模块检测出所述数字序列满足所述银行卡号的生成规则时,将所述数字序列识别为银行卡号。
根据本公开实施例的第三方面,提供一种号码识别装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
读取文本信息中的数字序列;
检测所述数字序列是否满足银行卡号的生成规则;
当所述数字序列满足所述银行卡号的生成规则时,将所述数字序列识别为银行卡号。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过读取文本信息中的数字序列;检测数字序列是否满足银行卡号的生成规则;当数字序列满足银行卡号的生成规则时,将数字序列识别为银行卡号,可以自动对数字序列是否是银行卡号进行识别,解决了用户需要手动输入数字序列来辨别银行卡号的问题,达到了提高银行卡号的识别效率的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本公开说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种号码识别方法的流程图。
图2是根据另一示例性实施例示出的一种号码识别方法的流程图。
图3是根据一示例性实施例示出的一种号码识别装置的框图。
图4是根据一示例性实施例示出的一种号码识别装置的框图。
图5是根据一示例性实施例示出的一种用于号码识别的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种号码识别方法的流程图,该号码识别方法应用于终端中,如图1所示,该号码识别方法包括以下步骤。
在步骤101中,读取文本信息中的数字序列。
在步骤102中,检测数字序列是否满足银行卡号的生成规则。
在步骤103中,当数字序列满足银行卡号的生成规则时,将数字序列识别为银行卡号。
综上所述,本公开提供的号码识别方法,通过读取文本信息中的数字序列;检测数字序列是否满足银行卡号的生成规则;当数字序列满足银行卡号的生成规则时,将数字序列识别为银行卡号,可以自动对数字序列是否是银行卡号进行识别,解决了用户需要手动输入数字序列来辨别银行卡号的问题,达到了提高银行卡号的识别效率的效果。
图2是根据另一示例性实施例示出的一种号码识别方法的流程图,该号码识别方法应用于终端中,如图2所示,该号码识别方法包括如下步骤。
在步骤201中,读取文本信息中的数字序列。
终端可以读取文本信息中的数字序列,也可以读取音频信息中的数字序列,本实施例不限定数字序列的来源,下文以终端读取文本信息中的数字序列为例进行说明。其中,文本信息可以是短信、即时通讯信息、邮件等。
终端需要对数字序列是否是银行卡号进行识别,且银行卡号的位数通常是固定的,因此,终端可以预先获取所有银行卡号的最小位数和最大位数,以最小位数为预定区间的最小值、最大位数为预定区间的最大值来设置预定区间,读取位数在预定区间内的数字序列,从而避免读取小于最小位数或大于最大位数的数字序列,并对该数字序列进行处理所造成的资源浪费。比如,当银行卡号的最小位数是16,最大位数是19,此时得到的预定区间是[16,19]。
可选的,在读取数字序列之前,还可以删除文本信息中的空格、分隔符、标点等字符,从而提高对数字序列的读取效率。
在步骤202中,读取数字序列中前N位数字,N为正整数。
银行卡号具有一定的生成规则,以19位的银行卡号为例,该银行卡号的前6位是BIN(Bank Identity Number,银行标识代码)码,中间12位是个人账号标识,最后1位是校验位。
由于银行卡号的前几位必然是BIN码,因此,可以通过检测数字序列的前几位是否是BIN码来确定数字序列是否是银行卡号。不同种类的银行卡号的BIN码的位数可能不同,因此,终端可以根据BIN码的位数读取数字序列中的前N位数字,N为正整数。
本实施例中,终端可以预先统计BIN码的位数,得到BIN码的最小位数和最大位数,在一种实现方式中,终端将N设置为BIN码的最大位数,执行步骤203,当未在数据库中查找到与前N位数字相同的BIN码,将N减1,继续执行步骤202和步骤203,直至在数据库中查找到与前N位数字相同的BIN码时停止,或直至N等于BIN码的最小位数且未在数据库中查找到与前N位数字相同的BIN码时停止。在另一种实现方式中,终端将N设置为最常用的BIN码的位数,执行步骤203,当数据库中不存在与前N位数字相同的BIN码,将N减1或加1,继续执行步骤202和步骤203,直至在数据库中查找到与前N位数字相同的BIN码时停止,或直至N等于BIN码的最小位数且未在数据库中查找到与前N位数字相同的BIN码时停止。其中,数据库包括至少一个BIN码和每个BIN码所对应的真实银行名。BIN码以及该BIN码所对应的真实银行名可以是人工收集的,也可以是终端自动收集的。
在步骤203中,检测数据库中是否存在与前N位数字相同的BIN码,BIN码是同类银行卡号中相同的前N位数字。
终端可以从数据库中读取出一个BIN码,从左向右开始或从右向左开始,逐位比较前N位数字和该BIN码中的每一位数字,当存在某一位数字不同时,确定该BIN码与前N位数字不同,继续读取下一个BIN码;当每一位数字都与BIN码中对应位置的数字相同时,确定该BIN码与前N位数字相同。
在步骤204中,当数据库中存在与前N位数字相同的BIN码时,检测数字序列的位数是否与BIN码所对应的银行卡号的位数相同。
由于不同的BIN码所对应的银行卡号的位数可能不同,因此,终端还可以读取该BIN码所对应的银行卡号的位数,再检测数字序列的位数是否与BIN码所对应的银行卡号的位数相同。比如,BIN码是621661,且该BIN码所对应的银行卡号是19位,终端可以在确定出数字序列的前6位是621661后,检测数字序列的位数是否是19。
在步骤205中,当数字序列的位数与BIN码所对应的银行卡号的位数相同时,确定数字序列满足生成规则。
在步骤206中,当数字序列满足银行卡号的生成规则时,将数字序列识别为银行卡号,结束流程。
可选的,当数据库中存储有BIN码和真实银行名的对应关系时,终端还可以确定数字序列所对应的真实银行名。比如,在根据前N位数字确定了BIN码后,终端可以读取与该BIN码对应的真实银行名,并将该真实银行名确定为该数字序列所对应的真实银行名。
在从文本信息中识别出银行卡号和真实银行名后,终端可以提供与该银行卡号和真实银行名对应的服务。比如,终端可以对骗子的银行卡号进行拦截,或,终端可以自动对银行消费进行对账,或,终端可以屏蔽用户的敏感信息等,本实施例不对实际服务作限定。
在步骤207中,当数据库中不存在与前N位数字相同的BIN码时,将数据库中的各个BIN码按照与前N位数字的相似度由高到低的顺序进行排列,并读取前M个BIN码,M为正整数。
当数据库中不存在与前N位数字相同的BIN码时,可能该数字序列不是银行卡号,也可能数据库没有包含该数字序列所包括的BIN码,此时需要将该前N位数字作为新的BIN码添加到数据库中。
在将前N位数字作为新的BIN码添加到数据库中之前,终端还需要确定该前N位数字是否是BIN码。由于不同的BIN码之间具有相似性,比如,BIN码622576和622577只有最后一位数字不同,因此,终端可以在数据库中查找与前N位数字相似的BIN码。
其中,将数据库中的BIN码按照与前N位数字的相似度由高到低的顺序进行排列,包括:
1)逐个计算数据库中每个BIN码与前N位数字的相似度sim,sim=(t-a*|b|)/N,其中,t是从左向右开始逐位比较前N位数字与BIN码的数字时,第一位不同的数字所在的位数,a是系数,b是前N位数字减去BIN码得到的差值;
2)按照相似度sim由大到小的顺序,对每个相似度sim对应的BIN码进行排列。
由于对应位置相同的数字的位数越多且不同的数字之间的差值越小,前N位数字与BIN码之间越相似,根据上述原则可以得到相似度计算公式sim=(t-a*|b|),其中,t是从左向右开始逐位比较前N位数字与BIN码的数字时,第一位不同的数字所在的位数,a是系数,b是前N位数字减去BIN码得到的差值。其中,sim属于[0,1]。
假设N=6,a=0.1,BIN码是622755,前N位数字是622756,此时t=6,sim=(6-0.1*|622756-622755|)/6=0.983;假设前N位数字是622770,此时t=5,sim=(5-0.1*|622770-622755|)/6=0.583。
在步骤208中,在数据库中读取M个BIN码中每个BIN码所对应的真实银行名,统计每种真实银行名的出现次数,并将出现次数最多的真实银行名确定为前N位数字所对应的待匹配银行名。
真实银行名可以包括全称和简称,此时可以将真实银行名的全称和简称都与一个BIN码对应。比如,中国银行简称为中行,可以将621661对应的真实银行名设置为中国银行和中行。
在计算真实银行名的出现次数时,一个BIN码所对应的全称和简称的出现次数记为一次,比如,622755所对应的真实银行名是中行和中国银行,此时统计得到中国银行的出现次数记为1,或统计得到中行的出现次数记为1。不同BIN码所对应的真实银行名的全称和简称的出现次数相加。比如,622755所对应的真实银行名是中行和中国银行,622756所对应的真实银行名是中行和中国银行,此时统计得到的中国银行的出现次数记为2,或统计得到的中行的出现次数为2。
本实施例中,出现次数最多的真实银行名可以是至少一种。假设M为5,且其中2个BIN码所对应的真实银行名是工商银行,剩余3个BIN码所对应的真实银行名是中国银行,此时出现次数最多的真实银行名为中国银行。假设其中2个BIN码所对应的真实银行名是工商银行,2个BIN码所对应的真实银行名是中国银行,剩余1个BIN码所对应的真实银行名是建设银行,此时出现次数最多的真实银行名是工商银行和中国银行。
由于出现次数最多的真实银行名是前N位数字所对应的真实银行名的可能性较大,因此,终端可以将出现次数最多的真实银行名确定为前N位数字所对应的待匹配银行名,再对该待匹配银行名进行验证。
在步骤209中,在文本信息中查找待匹配银行名。
终端在文本信息中查找待匹配银行名时,需要分别对待匹配银行名的全称和简称进行查找。比如,待匹配银行名是中国银行,则终端可以在文本信息中查找中国银行,当文本信息中未查找到中国银行时,继续在文本信息中查找中行,当文本信息中查找到中行时,终端在确定文本信息中查找到待匹配银行名,执行步骤210。
在步骤210中,当在文本信息中查找到待匹配银行名时,将前N位数字确定为新的BIN码,将待匹配银行名确定为新的BIN码所对应的真实银行名,将新的BIN码和真实银行名对应存储到数据库中。
当文本信息包括一种待匹配银行名时,终端可以直接将该待匹配银行名确定为查找到的待匹配银行名;当文本信息包括至少两种待匹配银行名时,终端还需要对该至少两种待匹配银行名进行筛选。
当前N位数字所对应的待匹配银行名为K种,且文本信息包括K种待匹配银行名中的至少两种时,将文本信息中距离数字序列最近的一种待匹配银行名确定为查找到的待匹配银行名,K为大于1的正整数。比如,当出现次数最多的待匹配银行名为中行和工行,且文本信息包括中行和工行时,终端将距离数字序列最近的工行确定为在文本信息中查找到的待匹配银行名。
在一种可能的实现方式中,终端从文本信息包括的第一个字符开始查找待匹配银行名,并对查找到的每种待匹配银行名的位置进行记录,再比较每种待匹配银行名的位置与数字序列的位置之间的距离,得到距离数字序列最近的一种待匹配银行名。其中,在数字序列之前的待匹配银行名与数字数列之间的距离可以是待匹配银行名与数字数列中第一位数字之间的距离,在数字序列之后的待匹配银行名与数字数列之间的距离可以是待匹配银行名与数字数列中最后一位数字之间的距离。在另一种可能的实现方式中,终端基于数据序列向前或向后查找待匹配银行名,将首次查找到的待匹配银行名确定为距离数字序列最近的一种待匹配银行名。当然,终端还可以通过其他方式确定距离数字序列最近的一种待匹配银行名,本实施例不作限定。
本实施例中,将待匹配银行名确定为新的BIN码所对应的真实银行名,包括:
1)将新的BIN码和在文本信息中查找到的一种待匹配银行名作为一个组合进行缓存;
2)检测缓存中是否存在至少两个包括新的BIN码的组合;
3)当缓存中存在至少两个包括新的BIN码的组合时,统计所有组合包括的每种待匹配银行名的出现次数;
4)将出现次数最多的待匹配银行名确定为新的BIN码所对应的真实银行名。
为了提高将查找到的待匹配银行名确定为新的BIN码所对应的真实银行名的准确性,可以对不同的文本信息中查找到的该新的BIN码所对应的待匹配银行名的出现次数进行统计,将出现次数最多的待匹配银行名确定为该新的BIN码所对应的真实银行名。
其中,在每个不同的文本信息都包括新的BIN码时,终端每次在不同的文本信息中都可以查找到一个待匹配银行名,再将每个待匹配银行名分别与该新的BIN码作为一个组合进行缓存,在缓存了至少两个组合后,统计所有组合包括的每种待匹配银行名的出现次数,将出现次数最多的待匹配银行名确定为新的BIN码所对应的真实银行名。
假设新的BIN码是621661,第一次在文本信息1中查找到的待匹配银行名是工行,缓存的组合1为(621661,工行);第二次在文本信息2中查找到的待匹配银行名是中行,缓存的组合2为(621661,中行),第三次在文本信息3中查找到的待匹配银行名是中行,缓存的组合3为(621661,中行),若此时统计所有组合包括的每种待匹配银行名的出现次数,则出现次数最多的是中行,将中行确定为621661所对应的真实银行名。
可选的,终端可以将待匹配银行名的全称和简称都确定为新的BIN码所对应的真实银行名。比如,在将中行确定为611661所对应的真实银行名时,还可以将中国银行确定为621661所对应的真实银行名。
综上所述,本公开提供的号码识别方法,通过读取文本信息中的数字序列;检测数字序列是否满足银行卡号的生成规则;当数字序列满足银行卡号的生成规则时,将数字序列识别为银行卡号,可以自动对数字序列是否是银行卡号进行识别,解决了用户需要手动输入数字序列来辨别银行卡号的问题,达到了提高银行卡号的识别效率的效果。
另外,通过将前N位数字确定为新的BIN码,将待匹配银行名确定为新的BIN码所对应的真实银行名,将新的BIN码和真实银行名对应存储到数据库中,可以在数据库中不存在与前N位数字相同的BIN码时,将该BIN码和该BIN码所对应的真实银行名对应存储到数据库中,从而对数据库中的BIN码进行扩展,解决了需要用户手动对数据库中的BIN码进行扩展导致的扩展效率低的问题,达到了提高对BIN码的扩展效率的效果。
图3是根据一示例性实施例示出的一种号码识别装置的框图,该号码识别装置应用于终端中,如图3所示,该号码识别装置包括:
序列读取模块310,被配置为读取文本信息中的数字序列;
规则检测模块320,被配置为检测序列读取模块310读取的数字序列是否满足银行卡号的生成规则;
卡号识别模块330,被配置为当规则检测模块320检测出数字序列满足银行卡号的生成规则时,将数字序列识别为银行卡号。
综上所述,本公开提供的号码识别装置,通过读取文本信息中的数字序列;检测数字序列是否满足银行卡号的生成规则;当数字序列满足银行卡号的生成规则时,将数字序列识别为银行卡号,可以自动对数字序列是否是银行卡号进行识别,解决了用户需要手动输入数字序列来辨别银行卡号的问题,达到了提高银行卡号的识别效率的效果。
图4是根据一示例性实施例示出的一种号码识别装置的框图,该号码识别装置应用于终端中,如图4所示,该号码识别装置包括:
序列读取模块410,被配置为读取文本信息中的数字序列;
规则检测模块420,被配置为检测序列读取模块410读取的数字序列是否满足银行卡号的生成规则;
卡号识别模块430,被配置为当规则检测模块420检测出数字序列满足银行卡号的生成规则时,将数字序列识别为银行卡号。
可选的,规则检测模块420,包括:
数字读取子模块421,被配置为读取数字序列中前N位数字,N为正整数;
BIN码检测子模块422,被配置为检测数据库中是否存在与数字读取子模块421读取的前N位数字相同的银行标识代码BIN码,BIN码是同类银行卡号中相同的前N位数字;
位数检测子模块423,被配置为当BIN码检测子模块422检测出数据库中存在与前N位数字相同的BIN码时,检测数字序列的位数是否与BIN码所对应的银行卡号的位数相同;
序列确定子模块424,被配置为当位数检测子模块422检测出数字序列的位数与BIN码所对应的银行卡号的位数相同时,确定数字序列满足生成规则。
可选的,规则检测模块420,还包括:
BIN码读取子模块425,被配置为当数据库中不存在与前N位数字相同的BIN码时,将数据库中的各个BIN码按照与前N位数字的相似度由高到低的顺序进行排列,并读取前M个BIN码,M为正整数;
银行名确定子模块426,被配置为在数据库中读取BIN码读取子模块425读取的M个BIN码中每个BIN码所对应的真实银行名,统计每种真实银行名的出现次数,并将出现次数最多的真实银行名确定为前N位数字所对应的待匹配银行名;
银行名查找子模块427,被配置为在文本信息中查找银行名确定子模块425确定的待匹配银行名;
数据存储子模块428,被配置为当银行名查找子模块427在文本信息中查找到待匹配银行名时,将前N位数字确定为新的BIN码,将待匹配银行名确定为新的BIN码所对应的真实银行名,将新的BIN码和真实银行名对应存储到数据库中。
可选的,数据存储子模块428,还被配置为当前N位数字所对应的待匹配银行名为K种,且文本信息包括K种待匹配银行名中的至少两种时,将文本信息中距离数字序列最近的一种待匹配银行名确定为查找到的待匹配银行名,K为大于1的正整数。
可选的,数据存储子模块428,还被配置为:
将新的BIN码和在文本信息中查找到的一种待匹配银行名作为一个组合进行缓存;
检测缓存中是否存在至少两个包括新的BIN码的组合;
当缓存中存在至少两个包括新的BIN码的组合时,统计所有组合包括的每种待匹配银行名的出现次数;
将出现次数最多的待匹配银行名确定为新的BIN码所对应的真实银行名。
可选的,BIN码读取子模块425,还被配置为:
逐个计算数据库中每个BIN码与前N位数字的相似度sim,sim=(t-a*|b|)/N,其中,t是从左向右开始逐位比较前N位数字与BIN码的数字时,第一位不同的数字所在的位数,a是系数,b是前N位数字减去BIN码得到的差值;
按照相似度sim由大到小的顺序,对每个相似度sim对应的BIN码进行排列。
综上所述,本公开提供的号码识别装置,通过读取文本信息中的数字序列;检测数字序列是否满足银行卡号的生成规则;当数字序列满足银行卡号的生成规则时,将数字序列识别为银行卡号,可以自动对数字序列是否是银行卡号进行识别,解决了用户需要手动输入数字序列来辨别银行卡号的问题,达到了提高银行卡号的识别效率的效果。
另外,通过将前N位数字确定为新的BIN码,将待匹配银行名确定为新的BIN码所对应的真实银行名,将新的BIN码和真实银行名对应存储到数据库中,可以在数据库中不存在与前N位数字相同的BIN码时,将该BIN码和该BIN码所对应的真实银行名对应存储到数据库中,从而对数据库中的BIN码进行扩展,解决了需要用户手动对数据库中的BIN码进行扩展导致的扩展效率低的问题,达到了提高对BIN码的扩展效率的效果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种用于号码识别装置500的框图。例如,装置500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器518来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在装置500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为装置500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
多媒体组件508包括在所述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当装置500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件514可以检测到装置500的打开/关闭状态,组件的相对定位,例如所述组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由装置500的处理器518执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里的公开的后,将容易想到本的其它实施方案。本申请旨在涵盖本的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本的真正范围和精神由下面的权利要求指出。
应当理解的是,本并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本的范围仅由所附的权利要求来限制。
Claims (10)
1.一种号码识别方法,其特征在于,包括:
读取文本信息中的数字序列;
检测所述数字序列是否满足银行卡号的生成规则;
当所述数字序列满足所述银行卡号的生成规则时,将所述数字序列识别为银行卡号;
所述检测所述数字序列是否满足银行卡号的生成规则,包括:
读取所述数字序列中前N位数字,N为正整数;检测数据库中是否存在与所述前N位数字相同的银行标识代码BIN码,所述BIN码是同类银行卡号中相同的前N位数字;
当所述数据库中存在与所述前N位数字相同的BIN码时,检测所述数字序列的位数是否与所述BIN码所对应的银行卡号的位数相同;当所述数字序列的位数与所述BIN码所对应的银行卡号的位数相同时,确定所述数字序列满足所述生成规则;
当所述数据库中不存在与所述前N位数字相同的BIN码时,将所述数据库中的各个BIN码按照与所述前N位数字的相似度由高到低的顺序进行排列,并读取前M个BIN码,M为正整数;在所述数据库中读取所述M个BIN码中每个BIN码所对应的真实银行名,统计每种真实银行名的出现次数,并将出现次数最多的真实银行名确定为所述前N位数字所对应的待匹配银行名;在所述文本信息中查找所述待匹配银行名;当在所述文本信息中查找到所述待匹配银行名时,将所述前N位数字确定为新的BIN码,将所述待匹配银行名确定为所述新的BIN码所对应的真实银行名,将所述新的BIN码和所述真实银行名对应存储到所述数据库中。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
当所述前N位数字所对应的待匹配银行名为K种,且所述文本信息包括所述K种待匹配银行名中的至少两种时,将所述文本信息中距离所述数字序列最近的一种待匹配银行名确定为查找到的所述待匹配银行名,K为大于1的正整数。
3.根据权利要求1所述的方法,其特征在于,所述将所述待匹配银行名确定为所述新的BIN码所对应的真实银行名,包括:
将所述新的BIN码和在所述文本信息中查找到的一种所述待匹配银行名作为一个组合进行缓存;
检测缓存中是否存在至少两个包括所述新的BIN码的组合;
当缓存中存在至少两个包括所述新的BIN码的组合时,统计所有所述组合包括的每种待匹配银行名的出现次数;
将出现次数最多的待匹配银行名确定为所述新的BIN码所对应的真实银行名。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述将所述数据库中的BIN码按照与所述前N位数字的相似度由高到低的顺序进行排列,包括:
逐个计算所述数据库中每个BIN码与所述前N位数字的相似度sim,sim=(t-a*|b|)/N,其中,t是从左向右开始逐位比较所述前N位数字与所述BIN码的数字时,第一位不同的数字所在的位数,a是系数,b是所述前N位数字减去所述BIN码得到的差值;
按照所述相似度sim由大到小的顺序,对每个所述相似度sim对应的BIN码进行排列。
5.一种号码识别装置,其特征在于,包括:
序列读取模块,被配置为读取文本信息中的数字序列;
规则检测模块,被配置为检测所述序列读取模块读取的所述数字序列是否满足银行卡号的生成规则;
卡号识别模块,被配置为当所述规则检测模块检测出所述数字序列满足所述银行卡号的生成规则时,将所述数字序列识别为银行卡号;
所述规则检测模块,包括:
数字读取子模块,被配置为读取所述数字序列中前N位数字,N为正整数;
BIN码检测子模块,被配置为检测数据库中是否存在与所述数字读取子模块读取的所述前N位数字相同的银行标识代码BIN码,所述BIN码是同类银行卡号中相同的前N位数字;
位数检测子模块,被配置为当所述BIN码检测子模块检测出所述数据库中存在与所述前N位数字相同的BIN码时,检测所述数字序列的位数是否与所述BIN码所对应的银行卡号的位数相同;
序列确定子模块,被配置为当所述位数检测子模块检测出所述数字序列的位数与所述BIN码所对应的银行卡号的位数相同时,确定所述数字序列满足所述生成规则;
BIN码读取子模块,被配置为当所述数据库中不存在与所述前N位数字相同的BIN码时,将所述数据库中的各个BIN码按照与所述前N位数字的相似度由高到低的顺序进行排列,并读取前M个BIN码,M为正整数;
银行名确定子模块,被配置为在所述数据库中读取所述BIN码读取子模块读取的所述M个BIN码中每个BIN码所对应的真实银行名,统计每种真实银行名的出现次数,并将出现次数最多的真实银行名确定为所述前N位数字所对应的待匹配银行名;
银行名查找子模块,被配置为在所述文本信息中查找所述银行名确定子模块确定的所述待匹配银行名;
数据存储子模块,被配置为当所述银行名查找子模块在所述文本信息中查找到所述待匹配银行名时,将所述前N位数字确定为新的BIN码,将所述待匹配银行名确定为所述新的BIN码所对应的真实银行名,将所述新的BIN码和所述真实银行名对应存储到所述数据库中。
6.根据权利要求5所述的装置,其特征在于,所述数据存储子模块,还被配置为当所述前N位数字所对应的待匹配银行名为K种,且所述文本信息包括所述K种待匹配银行名中的至少两种时,将所述文本信息中距离所述数字序列最近的一种待匹配银行名确定为查找到的所述待匹配银行名,K为大于1的正整数。
7.根据权利要求5所述的装置,其特征在于,所述数据存储子模块,还被配置为:
将所述新的BIN码和在所述文本信息中查找到的一种所述待匹配银行名作为一个组合进行缓存;
检测缓存中是否存在至少两个包括所述新的BIN码的组合;
当缓存中存在至少两个包括所述新的BIN码的组合时,统计所有所述组合包括的每种待匹配银行名的出现次数;
将出现次数最多的待匹配银行名确定为所述新的BIN码所对应的真实银行名。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述BIN码读取子模块,还被配置为:
逐个计算所述数据库中每个BIN码与所述前N位数字的相似度sim,sim=(t-a*|b|)/N,其中,t是从左向右开始逐位比较所述前N位数字与所述BIN码的数字时,第一位不同的数字所在的位数,a是系数,b是所述前N位数字减去所述BIN码得到的差值;
按照所述相似度sim由大到小的顺序,对每个所述相似度sim对应的BIN码进行排列。
9.一种号码识别装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
读取文本信息中的数字序列;
检测所述数字序列是否满足银行卡号的生成规则;
当所述数字序列满足所述银行卡号的生成规则时,将所述数字序列识别为银行卡号;
所述检测所述数字序列是否满足银行卡号的生成规则,包括:
读取所述数字序列中前N位数字,N为正整数;检测数据库中是否存在与所述前N位数字相同的银行标识代码BIN码,所述BIN码是同类银行卡号中相同的前N位数字;
当所述数据库中存在与所述前N位数字相同的BIN码时,检测所述数字序列的位数是否与所述BIN码所对应的银行卡号的位数相同;当所述数字序列的位数与所述BIN码所对应的银行卡号的位数相同时,确定所述数字序列满足所述生成规则;
当所述数据库中不存在与所述前N位数字相同的BIN码时,将所述数据库中的各个BIN码按照与所述前N位数字的相似度由高到低的顺序进行排列,并读取前M个BIN码,M为正整数;在所述数据库中读取所述M个BIN码中每个BIN码所对应的真实银行名,统计每种真实银行名的出现次数,并将出现次数最多的真实银行名确定为所述前N位数字所对应的待匹配银行名;在所述文本信息中查找所述待匹配银行名;当在所述文本信息中查找到所述待匹配银行名时,将所述前N位数字确定为新的BIN码,将所述待匹配银行名确定为所述新的BIN码所对应的真实银行名,将所述新的BIN码和所述真实银行名对应存储到所述数据库中。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现权利要求1-4任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510131693.2A CN104809157B (zh) | 2015-03-25 | 2015-03-25 | 号码识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510131693.2A CN104809157B (zh) | 2015-03-25 | 2015-03-25 | 号码识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104809157A CN104809157A (zh) | 2015-07-29 |
CN104809157B true CN104809157B (zh) | 2018-05-18 |
Family
ID=53693979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510131693.2A Active CN104809157B (zh) | 2015-03-25 | 2015-03-25 | 号码识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104809157B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106686192B (zh) * | 2015-11-09 | 2019-12-06 | 中国移动通信集团公司 | 仿冒号码识别方法及装置 |
CN106022927A (zh) * | 2016-05-25 | 2016-10-12 | 杨雷 | 一种社保养老金代发数据批量转换的方法 |
CN108563685B (zh) * | 2018-03-13 | 2022-03-22 | 创新先进技术有限公司 | 一种银行标识代码的查询方法、装置及设备 |
CN110909212B (zh) * | 2019-10-11 | 2024-04-09 | 中国平安财产保险股份有限公司 | 一种银行标识代码的匹配方法和设备 |
CN110956467A (zh) * | 2019-10-30 | 2020-04-03 | 网银在线(北京)科技有限公司 | 一种数据存储方法、装置及系统 |
CN111369343A (zh) * | 2020-03-06 | 2020-07-03 | 中国银行股份有限公司 | 银行账号处理方法及装置 |
CN112329055A (zh) * | 2020-11-02 | 2021-02-05 | 微医云(杭州)控股有限公司 | 用户数据脱敏的方法及装置、电子设备、存储介质 |
CN112765224A (zh) * | 2021-01-27 | 2021-05-07 | 云账户技术(天津)有限公司 | 发行者代码自动匹配方法、装置和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104217494A (zh) * | 2013-05-30 | 2014-12-17 | 财付通支付科技有限公司 | 一种卡号校验方法和装置 |
CN104217202A (zh) * | 2013-06-03 | 2014-12-17 | 支付宝(中国)网络技术有限公司 | 信息识别方法、设备和系统 |
CN104217203A (zh) * | 2013-06-03 | 2014-12-17 | 支付宝(中国)网络技术有限公司 | 复杂背景卡面信息识别方法及系统 |
-
2015
- 2015-03-25 CN CN201510131693.2A patent/CN104809157B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104217494A (zh) * | 2013-05-30 | 2014-12-17 | 财付通支付科技有限公司 | 一种卡号校验方法和装置 |
CN104217202A (zh) * | 2013-06-03 | 2014-12-17 | 支付宝(中国)网络技术有限公司 | 信息识别方法、设备和系统 |
CN104217203A (zh) * | 2013-06-03 | 2014-12-17 | 支付宝(中国)网络技术有限公司 | 复杂背景卡面信息识别方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104809157A (zh) | 2015-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104809157B (zh) | 号码识别方法及装置 | |
CN105100366B (zh) | 骚扰电话号码确定方法、装置和系统 | |
CN104991789B (zh) | 应用程序开启方法和装置 | |
CN104580637B (zh) | 电话号码标记方法、终端及云服务器 | |
CN104836924B (zh) | 号码标记方法及装置 | |
CN105549849A (zh) | 处理误操作指令的方法及装置 | |
CN104159230B (zh) | 电话呼叫识别方法及装置 | |
CN107025421B (zh) | 指纹识别方法和装置 | |
US10324910B2 (en) | Contact record processing method and apparatus | |
CN105956067B (zh) | 资源搜索方法及装置 | |
CN106790043A (zh) | 直播应用中发送消息的方法及装置 | |
CN105447109A (zh) | 关键字词搜索方法及装置 | |
CN104615663A (zh) | 文件排序方法、装置及终端 | |
CN106911845A (zh) | 来电提醒方法及装置 | |
CN108021932A (zh) | 数据检测方法、装置及电子设备 | |
CN107193393A (zh) | 输入法切换方法及装置 | |
US20170034092A1 (en) | Method and device for processing short message | |
CN106650569B (zh) | 指纹录入方法及装置 | |
US10244367B2 (en) | Short message identification method and device, and storage medium | |
CN106921958A (zh) | 退订业务的方法和装置 | |
CN105243051A (zh) | 酒店订单短信模板的创建方法、提取方法及装置 | |
CN105488074A (zh) | 照片聚类的方法及装置 | |
CN105072243B (zh) | 来电提示方法和装置 | |
CN105635414A (zh) | 屏蔽来电的方法及装置 | |
CN105101410B (zh) | 一种确定移动终端地理位置的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |