基于Redis实现的隐私号AXxYB模式选号方法及系统技术方案

技术编号:38747166 阅读:7 留言:0更新日期:2023-09-08 23:28
本发明专利技术公开了基于Redis实现的隐私号AXxYB模式选号方法及系统,属于通信服务技术领域,包括:配置存储供客户使用的隐私号码集合;根据客户真实号码及指定的隐私号码区号从隐私号码集合中选取一隐私号码;根据所选取隐私号码从隐私号码集合中选取一分机号;根据该分机号当前score判断该分机号是否可用,输出选号结果返回给客户。本发明专利技术基于Redis有序集合数据结构,隐私号的分值代表着绑定量,取集合第一个,表明该隐私号的绑定量是最少的,可减少高频呼叫的拦截概率;同时,分机号的分值表示该分机号是否被占用,所以取集合第一个判断即可,可减少获取可用分机号所需的步骤;因而能够大幅度提升选号性能。而能够大幅度提升选号性能。而能够大幅度提升选号性能。

【技术实现步骤摘要】
基于Redis实现的隐私号AXxYB模式选号方法及系统


[0001]本专利技术涉及通信服务
,特别是一种基于Redis实现的隐私号AXxYB模式选号方法。

技术介绍

[0002]目前,隐私号AXxYB模式选号技术使用关系型数据库实现,具有以下缺点:一是在性能方面,远不能满足隐私号快速增长的需求,响应延迟客户感知明显,使用体验较差;二是在业务功能方面,无法支持城市、省份、全国的优先级排列组合策略选号,不支持随机选号以及按绑定量排序选号,不支持分机号自定义位数。

技术实现思路

[0003]本专利技术的专利技术目的是,针对上述问题,提供一种基于Redis实现的隐私号AXxYB模式选号方法,基于Redis有序集合数据结构进行选号,能够大幅度提升选号性能。
[0004]为达到上述目的,本专利技术所采用的技术方案是:
[0005]基于Redis实现的隐私号AXxYB模式选号方法,包括以下内容:
[0006]步骤S10、配置存储供客户使用的隐私号码集合;具体处理流程如下:获取初始隐私号码;将初始隐私号码按区号分类分别以Redis有序集合(sorted set)数据结构存储,其key名为客户标识_区号,value为隐私号码,score为0;将各个初始隐私号码分机号分别以Redis有序集合数据结构存储,其key名为客户标识_隐私号码区号_隐私号码,value为分机号,score为0;
[0007]步骤S20、根据客户真实号码及指定的隐私号码区号从隐私号码集合中选取一隐私号码;具体处理流程如下:
[0008]步骤S201、获取客户真实号码A及指定的隐私号码区号;
[0009]步骤S202、根据隐私号码区号生成对应的隐私号码Redis存储key;该隐私号码Redis存储key为客户标识_隐私号码区号;
[0010]步骤S203、根据该隐私号码Redis存储key选取该隐私号码区号对应的Redis有序集合的第一个value,得到一隐私号码;
[0011]步骤S30、根据所选取隐私号码从隐私号码集合中选取一分机号;具体处理流程如下:
[0012]步骤S301、根据所选出隐私号码生成对应的隐私号码分机号Redis存储key;该分机号Redis存储key为客户标识_隐私号码区号_隐私号码
[0013]步骤S302、根据该分机号Redis存储key选取该分机号对应的Redis有序集合的第一个value,得到一分机号;
[0014]步骤S40、根据该分机号当前score判断该分机号是否可用,输出选号结果返回给客户;具体处理流程如下:
[0015]步骤S401、判断该分机号当前score是否为0;若是则该分机号未被占用执行步骤
S402操作,否则该分机号被占用执行步骤S404操作;
[0016]步骤S402、将该分机号当前score由0置为1,将该隐私号码当前score加1,完成Redis有序集合score更新后执行步骤S403操作;
[0017]步骤S403、给客户返回该隐私号码及分机号的选号结果,并结束选号流程;
[0018]步骤S404、给客户返回隐私号码池资源不足的选号结果,并结束选号流程。
[0019]如上述,“Redis的sorted set数据结构会根据分值自动升序排序”,而隐私号的分值代表着绑定量,取对应集合第一个,表明该隐私号的绑定量是最少的,这样可减少高频呼叫的拦截概率;分机号的分值表示该分机号是否被占用,如果不被占用,那么一定是排最前面的,所以取对应集合第一个,如果分值是1,那么其余的都是被占用的,可减少获取可用分机号所需的步骤。
[0020]基于前述方案,在一改进方案中,该选号方法还包括以下内容:
[0021]步骤S45、在当前分机号被占用情形下,根据该分机号池的容量及长度设置更新分机号;具体处理流程如下:
[0022]步骤S451、判定当前分机号被占用,具体为:上述步骤S401操作判定当前分机号被占用,此时该步骤S401的“执行步骤S404操作”替换为执行下述步骤S452操作(在该步骤S401与步骤S404之间,插入下述步骤S452,按步骤S452某种情况执行到步骤S404;下述同理);
[0023]步骤S452、获取当前分机号池的容量V,并获取所配置的分机号长度L;
[0024]步骤S453、判断该容量V是否小于10的L次幂;若是,则将当前分机号设置为该容量值,执行步骤S402操作;若否,则执行步骤S404操作。
[0025]如此,形成在当前分机号被占用情形下的补救方案,能够根据分机号池的容量及长度重新设置更新分机号,可以从重设分机号方向解决分机号被占用问题。
[0026]基于前述方案,在一改进方案中,该选号方法,还包括以下内容:
[0027]步骤S25、在当前隐私号码区号不可用或当前分机号被占用情形下,将当前区号调整为客户所属省内其它区号,或者调整为客户所属省外其它区号;具体处理流程如下:
[0028]步骤S251、判定当前隐私号码区号不可用或当前分机号被占用;具体处理流程包括:
[0029]若该隐私号码区号对应的Redis有序集合为空则当前隐私号码区号不可用;和/或,若该隐私号码区号对应的Redis有序集合的第一个value为空则当前隐私号码区号不可用;
[0030]上述步骤S401操作判定当前分机号被占用,此时,该步骤S401的“执行步骤S404操作”替换为执行下述步骤S252操作;或者,该步骤S401的“执行步骤S404操作”替换为执行步骤S452

步骤S453操作,且该步骤S453的“执行步骤S404操作”替换为执行下述步骤S252操作;
[0031]步骤S252、判断当前隐私号码区号是否为指定的隐私号码区号;若是,则将当前隐私号码区号改为客户所属省内绑定量最少的区号,将其作为新的隐私号码区号,返回步骤S202继续执行选号流程;若否,则执行判断当前隐私号码区号是否为客户所属省外区号,此判断结果若是则执行步骤S404,否则将当前隐私号码区号改为客户所属省外绑定量最少的区号,将其作为新的隐私号码区号,返回步骤S202继续执行选号流程。
[0032]如此,形成省内外优先级排列组合策略,在指定区号不可用情形下,能够支持城市、省份、全国三种客户码号池的优先级排列组合策略以及按累计绑定量排序重设区号继续进行选号,可以解决当前区号没有可用隐私号问题。
[0033]由于采用上述技术方案,本专利技术具有以下有益效果:
[0034]1.本专利技术基于Redis有序集合数据结构,隐私号的分值代表着绑定量,取集合第一个,表明该隐私号的绑定量是最少的,可减少高频呼叫的拦截概率;同时,分机号的分值表示该分机号是否被占用,所以取集合第一个判断即可,可减少获取可用分机号所需的步骤;因而能够大幅度提升选号性能。
[0035]2.本专利技术形成在当前分机号被占用情形下的补救方案,能够根据分机号池的容量及长度重本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于Redis实现的隐私号AXxYB模式选号方法,其特征在于,包括以下内容:步骤S10、配置存储供客户使用的隐私号码集合;具体处理流程如下:获取初始隐私号码;将初始隐私号码按区号分类分别以Redis有序集合数据结构存储,其key名为客户标识_区号,value为隐私号码,score为0;将各个初始隐私号码分机号分别以Redis有序集合数据结构存储,其key名为客户标识_隐私号码区号_隐私号码,value为分机号,score为0;步骤S20、根据客户真实号码及指定的隐私号码区号从隐私号码集合中选取一隐私号码;具体处理流程如下:步骤S201、获取客户真实号码A及指定的隐私号码区号;步骤S202、根据隐私号码区号生成对应的隐私号码Redis存储key;步骤S203、根据该隐私号码Redis存储key选取该隐私号码区号对应的Redis有序集合的第一个value,得到一隐私号码;步骤S30、根据所选取隐私号码从隐私号码集合中选取一分机号;具体处理流程如下:步骤S301、根据所选出隐私号码生成对应的隐私号码分机号Redis存储key;步骤S302、根据该分机号Redis存储key选取该分机号对应的Redis有序集合的第一个value,得到一分机号;步骤S40、根据该分机号当前score判断该分机号是否可用,输出选号结果返回给客户;具体处理流程如下:步骤S401、判断该分机号当前score是否为0;若是则该分机号未被占用执行步骤S402操作,否则该分机号被占用执行步骤S404操作;步骤S402、将该分机号当前score由0置为1,将该隐私号码当前score加1,完成Redis有序集合score更新后执行步骤S403操作;步骤S403、给客户返回该隐私号码及分机号的选号结果,并结束选号流程;步骤S404、给客户返回隐私号码池资源不足的选号结果,并结束选号流程。2.根据权利要求1所述的基于Redis实现的隐私号AXxYB模式选号方法,其特征在于,还包括以下内容:步骤S45、在当前分机号被占用情形下,根据该分机号池的容量及长度设置更新分机号;具体处理流程如下:步骤S451、判定当前分机号被占用,具体为:上述步骤S401操作判定当前分机号被占用,此时该步骤S401的“执行步骤S404操作”替换为执行下述步骤S452操作;步骤S452、获取当前分机号池的容量V,并获取所配置的分机号长度L;步骤S453、判断该容量V是否小于10的L次幂;若是,则将当前分机号设置为该容量值,执行步骤S402操作;若否,则执行步骤S404操作。3.根据权利要求1或2所述的基于Redis实现的隐私号AXxYB模式选号方法,其特征在于,还包括以下内容:步骤S25、在当前隐私号码区号不可用或当前分机号被占用情形下,将当前区号调整为客户所属省内其它区号,或者调整为客户所属省外其它区号;具体处理流程如下:步骤S251、判定当前隐私号码区号不可用或当前分机号被占用;具体处理流程包括:若该隐私号码区号对应的Redis有序集合为空则当前隐私号码区号不可用;和/或,若
该隐私号码区号对应的Redis有序集合的第一个value为空则当前隐私号码区号不可用;上述步骤S401操作判定当前分机号被占用,此时,该步骤S401的“执行步骤S404操作”替换为执行下述步骤S252操作;或者,该步骤S401的“执行步骤S404操作”替换为执行步骤S452

步骤S453操作,且该步骤S453的“执行步骤S404操作”替换为执行下述步骤S252操作;步骤S252、判断当前隐私号码区号是否为指定的隐私号码区号;若是,则将当前隐私号码区号改为客户所属省内绑定量最少的区号,将其作为新的隐私号码区号,返回步骤S202继续执行选号流程;若否,则执行判断当前隐私号码区号是否为客户所属省外区号,此判断结果若是则执行步骤S404,否则将当前隐私号码区号改为客户所属省外绑定量最少的区号,将其作为新的隐私号码区号,返回步骤S202继续执行选号流程。4.根据权利要求1所述的基于Redis实现的隐私号AXxYB模式选号方法,其特征在于:步骤S202中,该隐私号码Redis存储key为客户标识_隐私号码区号。5.根据权利要求1所述的基于Redis实现的隐私号AXxYB模式选号方法,其特征在于:步骤S301中,该分机号Redis存储key为客户标识_隐私号码区号_隐私号码。6.基于Redis实现的隐...

【专利技术属性】
技术研发人员:陈星辰张其卿罗晓夏国鑫陈廷堃莫小林
申请(专利权)人:广西东信易通科技有限公司
类型:发明
国别省市:

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

1