一种号码与自定义匹配公式进行匹配的方法及系统的制作方法

文档序号:6632558阅读:151来源:国知局
一种号码与自定义匹配公式进行匹配的方法及系统的制作方法
【专利摘要】本发明涉及一种号码与自定义匹配公式进行匹配的方法及系统,包括以下步骤:获取匹配公式和待匹配的号码,设置公式游标及号码游标;将公式游标及号码游标分别置于首位;将公式游标指向的匹配公式的当前位与待匹配的号码的当前位进行匹配;计算匹配公式当前位的编码值与上一位的编码值的编码差;获取符号匹配位预定的匹配通过的预定位数,将待匹配的号码中的预定位数的位无条件匹配通过;将该数字匹配位与号码游标指示的待匹配号码中的位进行比较;当公式游标指向匹配公式的末尾或者非末尾的位时,返回匹配成功信息或者匹配失败信息。本发明能够起到衔接CRM、一级BOSS与资源之间的业务耦合的作用,并且为其他业务子系统提供统一的优良号码验证体系。
【专利说明】一种号码与自定义匹配公式进行匹配的方法及系统

【技术领域】
[0001]本发明涉及电信行业客户关系管理之资源管理过程中对优良号码类型匹配的【技术领域】,特别涉及一种号码与自定义匹配公式进行匹配的方法及系统。

【背景技术】
[0002]目前电信行业中,移动、联调、电信三大运营商在客户关系管理系统业务规范中都有对优良号码管理的定义,但是在对优良号码管理的技术实施及维护过程中,各省资源管理系统大多采用数据库SQL方式配置号码规则,这种规则执行效率普遍不高、对数据库资源消耗较大,且规则对于开发维护人员的可读性差,一定程度上影响了新需求的响应速度。


【发明内容】

[0003]本发明所要解决的技术问题是提供一种能够提高对号码规则进行自定义匹配识别效率的号码与自定义匹配公式进行匹配的方法及系统。
[0004]本发明解决上述技术问题的技术方案如下:一种号码与自定义匹配公式进行匹配的方法,包括以下步骤:
[0005]步骤1:获取匹配公式和待匹配的号码,为匹配公式设置一个用于指向匹配公式每一位的公式游标,所述匹配公式包括字母匹配位、符号匹配位和数字匹配位,并为待匹配的号码设置一个用于指向待匹配的号码每一位的号码游标;
[0006]步骤2:将公式游标及号码游标分别置于匹配公式及待匹配的号码的首位;
[0007]步骤3:将公式游标指向的匹配公式的当前位与待匹配的号码的当前位进行匹配,当匹配公式的当前位为字母匹配位时,执行步骤4,当匹配公式的当前位为符号匹配位时,执行步骤5,当匹配公式的当前位为数字匹配位时,执行步骤6,当号码游标指向待匹配的号码的末尾时,执行步骤7;
[0008]步骤4:计算匹配公式当前位的编码值与上一位的编码值的编码差,计算号码游标指向的待匹配的号码的当前位与上一位的差值,当差值与编码差相等时,号码游标右移一位,公式游标右移一位,执行步骤3,否则,使公式游标指示匹配公式的首位,号码游标右移一位,执行步骤3 ;
[0009]步骤5:获取符号匹配位代表的预定位数的匹配通过的预定位数,将待匹配的号码中的预定位数的位无条件匹配通过,公式游标右移一位,号码游标不变,执行步骤3 ;
[0010]步骤6:将该数字匹配位与号码游标指示的待匹配号码中的位进行比较,当二者相等时,公式游标右移一位,执行步骤3,否则,使公式游标指示匹配公式的首位,号码游标右移一位,执彳T步骤3 ;
[0011]步骤7:当公式游标指向匹配公式的末尾时,返回匹配成功信息,当匹配游标指向匹配公式的位于非末尾的位时,返回匹配失败信息。
[0012]本发明的有益效果是:提高对号码优良类型规则编写的效率,降低了开发人员编写、识别优良规则对编程语言要求的门槛,能够使用通俗易懂的规则配置出复杂的优良类型,来验证号码是否符合要求的规则。针对个别高难度的优良规则,可以使用正则表达式方式进行匹配。
[0013]在上述技术方案的基础上,本发明还可以做如下改进。
[0014]进一步,所述步骤7之后还包括步骤8:获取与匹配成功信息对应的待匹配的号码,返回给程序调用方。
[0015]进一步,所述步骤4中的编码值为ASCII码编码值。
[0016]进一步,所述待匹配号码为手机号码。
[0017]进一步,所述匹配公式为待匹配的手机号的号码段。
[0018]进一步,一种号码与自定义匹配公式进行匹配的系统,包括设置模块,初始设置模块,匹配模块,字母匹配模块,符号匹配模块,数字匹配模块和返回模块;
[0019]所述设置模块,获取匹配公式和待匹配的号码,为匹配公式设置一个用于指向匹配公式每一位的公式游标,所述匹配公式包括字母匹配位、符号匹配位和数字匹配位,并为待匹配的号码设置一个用于指向待匹配的号码每一位的号码游标;
[0020]所述初始设置模块,用于将公式游标及号码游标分别置于匹配公式及待匹配的号码的首位;
[0021]所述匹配模块,用于将公式游标指向的匹配公式的当前位与待匹配的号码的当前位进行匹配,当匹配公式的当前位为字母匹配位时,执行字母匹配模块,当匹配公式的当前位为符号匹配位时,执行符号匹配模块,当匹配公式的当前位为数字匹配位时,执行数字匹配模块,当号码游标指向待匹配的号码的末尾时,执行返回模块;
[0022]所述字母匹配模块,用于计算匹配公式当前位的编码值与上一位的编码值的编码差,计算号码游标指向的待匹配的号码的当前位与上一位的差值,当差值与编码差相等时,号码游标右移一位,公式游标右移一位,执行匹配模块,否则,使公式游标指示匹配公式的首位,号码游标右移一位,执行匹配模块;
[0023]所述符号匹配模块,用于获取符号匹配位代表的预定位数的匹配通过的预定位数,将待匹配的号码中的预定位数的位无条件匹配通过,公式游标右移一位,号码游标不变,执行匹配模块;
[0024]所述数字匹配模块,用于将该数字匹配位与号码游标指示的待匹配号码中的位进行比较,当二者相等时,公式游标右移一位,执行匹配模块,否则,使公式游标指示匹配公式的首位,号码游标右移一位,执行匹配模块;
[0025]所述返回模块,用于当公式游标指向匹配公式的末尾时,返回匹配成功信息,当匹配游标指向匹配公式的位于非末尾的位时,返回匹配失败信息。
[0026]进一步,所述返回模块之后还包括号码返回模块,所述号码返回模块8用于获取与匹配成功信息对应的待匹配的号码,返回给程序调用方。
[0027]进一步,所述字母匹配模块中的编码值为ASCII码编码值。
[0028]进一步,所述待匹配号码为手机号码。
[0029]进一步,所述匹配公式为待匹配的手机号的号码段。

【专利附图】

【附图说明】
[0030]图1为本发明方法步骤流程图;
[0031]图2为本发明系统结构图。
[0032]附图中,各标号所代表的部件列表如下:
[0033]1、设置模块,2、初始设置模块,3、匹配模块,4、字母匹配模块,5、符号匹配模块,6、数字匹配模块,7、返回模块。

【具体实施方式】
[0034]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0035]如图1所示,为本发明方法步骤流程图;图2为本发明系统结构图。
[0036]实施例1
[0037]一种号码与自定义匹配公式进行匹配的方法,包括以下步骤:
[0038]步骤1:获取匹配公式和待匹配的号码,为匹配公式设置一个用于指向匹配公式每一位的公式游标,所述匹配公式包括字母匹配位、符号匹配位和数字匹配位,并为待匹配的号码设置一个用于指向待匹配的号码每一位的号码游标;
[0039]步骤2:将公式游标及号码游标分别置于匹配公式及待匹配的号码的首位;
[0040]步骤3:将公式游标指向的匹配公式的当前位与待匹配的号码的当前位进行匹配,当匹配公式的当前位为字母匹配位时,执行步骤4,当匹配公式的当前位为符号匹配位时,执行步骤5,当匹配公式的当前位为数字匹配位时,执行步骤6,当号码游标指向待匹配的号码的末尾时,执行步骤7;
[0041]步骤4:计算匹配公式当前位的编码值与上一位的编码值的编码差,计算号码游标指向的待匹配的号码的当前位与上一位的差值,当差值与编码差相等时,号码游标右移一位,公式游标右移一位,执行步骤3,否则,使公式游标指示匹配公式的首位,号码游标右移一位,执行步骤3 ;
[0042]步骤5:获取符号匹配位代表的预定位数的匹配通过的预定位数,将待匹配的号码中的预定位数的位无条件匹配通过,公式游标右移一位,号码游标不变,执行步骤3 ;
[0043]步骤6:将该数字匹配位与号码游标指示的待匹配号码中的位进行比较,当二者相等时,公式游标右移一位,执行步骤3,否则,使公式游标指示匹配公式的首位,号码游标右移一位,执彳T步骤3 ;
[0044]步骤7:当公式游标指向匹配公式的末尾时,返回匹配成功信息,当匹配游标指向匹配公式的位于非末尾的位时,返回匹配失败信息。
[0045]所述步骤7之后还包括步骤8:获取与匹配成功信息对应的待匹配的号码,返回给程序调用方。
[0046]所述步骤4中的编码值为ASCII码编码值。
[0047]所述待匹配号码为手机号码。
[0048]所述匹配公式为待匹配的手机号的号码段。
[0049]一种号码与自定义匹配公式进行匹配的系统,包括设置模块1,初始设置模块2,匹配模块3,字母匹配模块4,符号匹配模块5,数字匹配模块6和返回模块7 ;
[0050]所述设置模块1,获取匹配公式和待匹配的号码,为匹配公式设置一个用于指向匹配公式每一位的公式游标,所述匹配公式包括字母匹配位、符号匹配位和数字匹配位,并为待匹配的号码设置一个用于指向待匹配的号码每一位的号码游标;
[0051]所述初始设置模块2,用于将公式游标及号码游标分别置于匹配公式及待匹配的号码的首位;
[0052]所述匹配模块3,用于将公式游标指向的匹配公式的当前位与待匹配的号码的当前位进行匹配,当匹配公式的当前位为字母匹配位时,执行字母匹配模块4,当匹配公式的当前位为符号匹配位时,执行符号匹配模块5,当匹配公式的当前位为数字匹配位时,执行数字匹配模块6,当号码游标指向待匹配的号码的末尾时,执行返回模块7 ;
[0053]所述字母匹配模块4,用于计算匹配公式当前位的编码值与上一位的编码值的编码差,计算号码游标指向的待匹配的号码的当前位与上一位的差值,当差值与编码差相等时,号码游标右移一位,公式游标右移一位,执行匹配模块3,否则,使公式游标指示匹配公式的首位,号码游标右移一位,执行匹配模块3 ;
[0054]所述符号匹配模块5,用于获取符号匹配位代表的预定位数的匹配通过的预定位数,将待匹配的号码中的预定位数的位无条件匹配通过,公式游标右移一位,号码游标不变,执行匹配模块3 ;
[0055]所述数字匹配模块6,用于将该数字匹配位与号码游标指示的待匹配号码中的位进行比较,当二者相等时,公式游标右移一位,执行匹配模块(3),否则,使公式游标指示匹配公式的首位,号码游标右移一位,执行匹配模块3;
[0056]所述返回模块7,用于当公式游标指向匹配公式的末尾时,返回匹配成功信息,当匹配游标指向匹配公式的位于非末尾的位时,返回匹配失败信息。
[0057]所述返回模块7之后还包括号码返回模块8,所述号码返回模块8用于获取与匹配成功信息对应的待匹配的号码,返回给程序调用方。
[0058]所述字母匹配模块4中的编码值为ASCII码编码值。
[0059]所述待匹配号码为手机号码。
[0060]所述匹配公式为待匹配的手机号的号码段。
[0061]本申请使用A-Z,a-z, 0-9, *,?这些字符组成优良号码规则的公式,*可匹配号码中的多个数字,如15900012345,可以使用159*2345这样的规则来匹配;?代表匹配号码中的I个数字,如上例号码可以使用1590001 ? 345的规则来匹配;0_9的数字仅能匹配号码中的对应数字;A-Z可以匹配带有顺序的号码,如上例号码,可以使用159LLLMNOPQ进行匹配,公式中的第四位和第五位都为L,它们的ASCII编码之差为0,那么要求号码中4、5位数字ASCII编码之差也要为0,即为相同的数字,公式中从6-11位每位间ASCII编码递增1,因此号码中的6-11位也要每位ASCII编码递增1,才能进行匹配。A-Z能够表达公式每位字符之间的递增、递减顺序和偏移量,要求与之匹配的号码字符间顺序也要能够满足这样的变化规律;a-z每个字符仅能代表号码中的不同数字,公式中字母间没有顺序、递增、递减、偏移量的区分,例如15900012345,可以既能用159111mnopq也能用159mmmlnopq来表示。
[0062]以15900012345和公式*LMNOP进行匹配举例:
[0063]1、分别从号码和公式的第一个字符同时进行比较,即号码和公式的游标都处在第一位,每次进入校验前都要进行公共校验,工具遇到公式的第一个字符为*后,则无条件通过此次判断,进入下一次判断,公式游标右移I位,号码游标不变。
[0064]2、通过公共校验后,工具判断公式当前游标对应的字符为A-Z范围内的字符之一,上次校验的公式为*号,本次无需对比与上个字符ASCII偏移量。进入下次判断,号码游标右移I位,公式游标右移I位。
[0065]3、通过公共校验后,判断公式当前游标对应的字符为A-Z范围内的字符之一,上次校验的公式字符为L,本次为M,与上次的偏移量为1,号码上次的值为1,本次为5,偏移量为4,因此公式偏移量与号码偏移量不一致。此次校验失败,回到步骤I的游标位置,在此基础上号码游标右移I位,公式游标不变。进入步骤4。
[0066]4、从号码的第二位开始重新匹配公式,由于号码5和下一位号码9的ASCII编码偏移量为4,公式相邻字母的偏移量为I,因此和第一次校验类似,从5开始的公式匹配也会失败。号码游标进入到第三位_9,公式游标还原到第一位。进入步骤5。
[0067]5、由于号码9和下一位号码O的ASCII编码偏移量为-1,公式相邻字母的偏移量为1,因此和第一次校验类似,从9开始的公式匹配也会失败。号码游标从第四位至第五位都会校验失败,号码游标进入第六位-0,公式游标还原到第一位。进入步骤6。
[0068]6、从号码的第6位开始重新匹配公式,与步骤I类似,工具遇到公式的第一个字符为*后,则无条件通过此次判断,进入下一次判断,公式游标右移I位,号码游标不变。进入步骤7。
[0069]7、此步与步骤2类似,通过公共校验后,工具判断公式当前游标对应的字符为A-Z范围内的字符之一,上次校验的公式为*号,本次无需对比与上个字符ASCII偏移量。进入下次判断,号码游标右移I位,公式游标右移I位。进入步骤8。
[0070]8、此步与步骤3类似,通过公共校验后,判断公式当前游标对应的字符为A-Z范围内的字符之一,上次校验的公式字符为L,本次为M,与上次的偏移量为1,号码上次的值为0,本次为1,偏移量为1,公式偏移量与号码偏移量一致。此次校验成功,进入下次判断,号码游标右移I位,公式游标右移I位。进入步骤9。
[0071]9、依此类推,在公共校验的时候,由于公式游标已经达到了末尾、号码游标还没有达到,因此此次校验失败,需要从步骤6重新开始,号码游标右移I为,公式游标回到原点。
[0072]10、接下来的每位号码偏移量和公式的偏移量都相等,并且游标会同时到达末尾,结果:校验成功。证明该号码与此优良类型匹配。
[0073]以上为A-Z的校验过程,a-z的校验则相对简单,不需要考虑游标当前位置对应的字符与上一位置对应字符的偏移量。
[0074]以15900012325和公式1590001opon进行匹配举例:
[0075]1、号码游标和公式游标同时进入到第一位,通过公共校验后,公式游标对应的是数字1,号码游标对应的也是数字1,校验通过,进入下次校验,游标依此类推,移动到第8位。进入步骤2。
[0076]2、通过公共校验后,公式游标当前位置对应的是a-z中的字母,要进入到字典中查询是否已经存在该字母,不存在则将该字母和对应的号码数字存入字典,将字母ο存入到字典。进入到下一步,公式游标右移I位,号码游标右移I位。
[0077]3、通过公共校验后,公式游标当前位置对应的是a-z中的字母,要进入到字典中查询是否已经存在该字母,将字母P存入到字典。进入到下一步,公式游标右移I位,号码游标右移I位。
[0078]4、通过公共校验后,公式游标当前位置对应的是a-z中的字母,到字典中查询ο已经存在,对应的值为2,与当前号码游标对应的值一致。进入到下一步,公式游标右移I位,号码游标右移I位。
[0079]5、将η存入字典,游标同时到达公式和号码的末尾,校验结果:成功。
[0080]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种号码与自定义匹配公式进行匹配的方法,其特征在于,包括以下步骤: 步骤1:获取匹配公式和待匹配的号码,为匹配公式设置一个用于指向匹配公式每一位的公式游标,所述匹配公式包括字母匹配位、符号匹配位和数字匹配位,并为待匹配的号码设置一个用于指向待匹配的号码每一位的号码游标; 步骤2:将公式游标及号码游标分别置于匹配公式及待匹配的号码的首位; 步骤3:将公式游标指向的匹配公式的当前位与待匹配的号码的当前位进行匹配,当匹配公式的当前位为字母匹配位时,执行步骤4,当匹配公式的当前位为符号匹配位时,执行步骤5,当匹配公式的当前位为数字匹配位时,执行步骤6,当号码游标指向待匹配的号码的末尾时,执行步骤7; 步骤4:计算匹配公式当前位的编码值与上一位的编码值的编码差,计算号码游标指向的待匹配的号码的当前位与上一位的差值,当差值与编码差相等时,号码游标右移一位,公式游标右移一位,执行步骤3,否则,使公式游标指示匹配公式的首位,号码游标右移一位,执行步骤3 ; 步骤5:获取符号匹配位代表的预定位数的匹配通过的预定位数,将待匹配的号码中的预定位数的位无条件匹配通过,公式游标右移一位,号码游标不变,执行步骤3 ; 步骤6:将该数字匹配位与号码游标指示的待匹配号码中的位进行比较,当二者相等时,公式游标右移一位,执行步骤3,否则,使公式游标指示匹配公式的首位,号码游标右移一位,执行步骤3 ; 步骤7:当公式游标指向匹配公式的末尾时,返回匹配成功信息,当匹配游标指向匹配公式的位于非末尾的位时,返回匹配失败信息。
2.根据权利要求1所述的号码匹配方法,其特征在于:所述步骤7之后还包括步骤8:获取与匹配成功信息对应的待匹配的号码,返回给程序调用方。
3.根据权利要求1所述的号码匹配方法,其特征在于:所述步骤4中的编码值为ASCII码编码值。
4.根据权利要求1所述的号码匹配方法,其特征在于:所述待匹配号码为手机号码。
5.根据权利要求1所述的号码匹配方法,其特征在于:所述匹配公式为待匹配的手机号的号码段。
6.一种号码与自定义匹配公式进行匹配的系统,其特征在于:包括设置模块(1),初始设置模块(2),匹配模块(3),字母匹配模块(4),符号匹配模块(5),数字匹配模块(6)和返回丰旲块(7); 所述设置模块(I),获取匹配公式和待匹配的号码,为匹配公式设置一个用于指向匹配公式每一位的公式游标,所述匹配公式包括字母匹配位、符号匹配位和数字匹配位,并为待匹配的号码设置一个用于指向待匹配的号码每一位的号码游标; 所述初始设置模块(2),用于将公式游标及号码游标分别置于匹配公式及待匹配的号码的首位; 所述匹配模块(3),用于将公式游标指向的匹配公式的当前位与待匹配的号码的当前位进行匹配,当匹配公式的当前位为字母匹配位时,执行字母匹配模块(4),当匹配公式的当前位为符号匹配位时,执行符号匹配模块(5),当匹配公式的当前位为数字匹配位时,执行数字匹配模块¢),当号码游标指向待匹配的号码的末尾时,执行返回模块(7); 所述字母匹配模块(4),用于计算匹配公式当前位的编码值与上一位的编码值的编码差,计算号码游标指向的待匹配的号码的当前位与上一位的差值,当差值与编码差相等时,号码游标右移一位,公式游标右移一位,执行匹配模块(3),否则,使公式游标指示匹配公式的首位,号码游标右移一位,执行匹配模块(3); 所述符号匹配模块(5),用于获取符号匹配位代表的预定位数的匹配通过的预定位数,将待匹配的号码中的预定位数的位无条件匹配通过,公式游标右移一位,号码游标不变,执行匹配模块⑶; 所述数字匹配模块¢),用于将该数字匹配位与号码游标指示的待匹配号码中的位进行比较,当二者相等时,公式游标右移一位,执行匹配模块(3),否则,使公式游标指示匹配公式的首位,号码游标右移一位,执行匹配模块(3); 所述返回模块(7),用于当公式游标指向匹配公式的末尾时,返回匹配成功信息,当匹配游标指向匹配公式的位于非末尾的位时,返回匹配失败信息。
7.根据权利要求6任一所述的号码匹配系统,其特征在于:所述返回模块(7)之后还包括号码返回模块(8),所述号码返回模块(8)用于获取与匹配成功信息对应的待匹配的号码,返回给程序调用方。
8.根据权利要求6所述的号码匹配系统,其特征在于:所述字母匹配模块(4)中的编码值为ASCII码编码值。
9.根据权利要求6所述的号码匹配系统,其特征在于:所述待匹配号码为手机号码。
10.根据权利要求6所述的号码匹配系统,其特征在于:所述匹配公式为待匹配的手机号的号码段。
【文档编号】G06F17/30GK104503970SQ201410602248
【公开日】2015年4月8日 申请日期:2014年10月31日 优先权日:2014年10月31日
【发明者】黄祎 申请人:北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1