基于Redis实现的隐私号AXxYB模式选号方法及系统与流程

未命名 09-10 阅读:163 评论:0

基于redis实现的隐私号axxyb模式选号方法及系统
技术领域
1.本发明涉及通信服务技术领域,特别是一种基于redis实现的隐私号axxyb模式选号方法。


背景技术:

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


技术实现要素:

3.本发明的发明目的是,针对上述问题,提供一种基于redis实现的隐私号axxyb模式选号方法,基于redis有序集合数据结构进行选号,能够大幅度提升选号性能。
4.为达到上述目的,本发明所采用的技术方案是:
5.基于redis实现的隐私号axxyb模式选号方法,包括以下内容:
6.步骤s10、配置存储供客户使用的隐私号码集合;具体处理流程如下:获取初始隐私号码;将初始隐私号码按区号分类分别以redis有序集合(sorted set)数据结构存储,其key名为客户标识_区号,value为隐私号码,score为0;将各个初始隐私号码分机号分别以redis有序集合数据结构存储,其key名为客户标识_隐私号码区号_隐私号码,value为分机号,score为0;
7.步骤s20、根据客户真实号码及指定的隐私号码区号从隐私号码集合中选取一隐私号码;具体处理流程如下:
8.步骤s201、获取客户真实号码a及指定的隐私号码区号;
9.步骤s202、根据隐私号码区号生成对应的隐私号码redis存储key;该隐私号码redis存储key为客户标识_隐私号码区号;
10.步骤s203、根据该隐私号码redis存储key选取该隐私号码区号对应的redis有序集合的第一个value,得到一隐私号码;
11.步骤s30、根据所选取隐私号码从隐私号码集合中选取一分机号;具体处理流程如下:
12.步骤s301、根据所选出隐私号码生成对应的隐私号码分机号redis存储key;该分机号redis存储key为客户标识_隐私号码区号_隐私号码
13.步骤s302、根据该分机号redis存储key选取该分机号对应的redis有序集合的第一个value,得到一分机号;
14.步骤s40、根据该分机号当前score判断该分机号是否可用,输出选号结果返回给客户;具体处理流程如下:
15.步骤s401、判断该分机号当前score是否为0;若是则该分机号未被占用执行步骤
s402操作,否则该分机号被占用执行步骤s404操作;
16.步骤s402、将该分机号当前score由0置为1,将该隐私号码当前score加1,完成redis有序集合score更新后执行步骤s403操作;
17.步骤s403、给客户返回该隐私号码及分机号的选号结果,并结束选号流程;
18.步骤s404、给客户返回隐私号码池资源不足的选号结果,并结束选号流程。
19.如上述,“redis的sorted set数据结构会根据分值自动升序排序”,而隐私号的分值代表着绑定量,取对应集合第一个,表明该隐私号的绑定量是最少的,这样可减少高频呼叫的拦截概率;分机号的分值表示该分机号是否被占用,如果不被占用,那么一定是排最前面的,所以取对应集合第一个,如果分值是1,那么其余的都是被占用的,可减少获取可用分机号所需的步骤。
20.基于前述方案,在一改进方案中,该选号方法还包括以下内容:
21.步骤s45、在当前分机号被占用情形下,根据该分机号池的容量及长度设置更新分机号;具体处理流程如下:
22.步骤s451、判定当前分机号被占用,具体为:上述步骤s401操作判定当前分机号被占用,此时该步骤s401的“执行步骤s404操作”替换为执行下述步骤s452操作(在该步骤s401与步骤s404之间,插入下述步骤s452,按步骤s452某种情况执行到步骤s404;下述同理);
23.步骤s452、获取当前分机号池的容量v,并获取所配置的分机号长度l;
24.步骤s453、判断该容量v是否小于10的l次幂;若是,则将当前分机号设置为该容量值,执行步骤s402操作;若否,则执行步骤s404操作。
25.如此,形成在当前分机号被占用情形下的补救方案,能够根据分机号池的容量及长度重新设置更新分机号,可以从重设分机号方向解决分机号被占用问题。
26.基于前述方案,在一改进方案中,该选号方法,还包括以下内容:
27.步骤s25、在当前隐私号码区号不可用或当前分机号被占用情形下,将当前区号调整为客户所属省内其它区号,或者调整为客户所属省外其它区号;具体处理流程如下:
28.步骤s251、判定当前隐私号码区号不可用或当前分机号被占用;具体处理流程包括:
29.若该隐私号码区号对应的redis有序集合为空则当前隐私号码区号不可用;和/或,若该隐私号码区号对应的redis有序集合的第一个value为空则当前隐私号码区号不可用;
30.上述步骤s401操作判定当前分机号被占用,此时,该步骤s401的“执行步骤s404操作”替换为执行下述步骤s252操作;或者,该步骤s401的“执行步骤s404操作”替换为执行步骤s452-步骤s453操作,且该步骤s453的“执行步骤s404操作”替换为执行下述步骤s252操作;
31.步骤s252、判断当前隐私号码区号是否为指定的隐私号码区号;若是,则将当前隐私号码区号改为客户所属省内绑定量最少的区号,将其作为新的隐私号码区号,返回步骤s202继续执行选号流程;若否,则执行判断当前隐私号码区号是否为客户所属省外区号,此判断结果若是则执行步骤s404,否则将当前隐私号码区号改为客户所属省外绑定量最少的区号,将其作为新的隐私号码区号,返回步骤s202继续执行选号流程。
32.如此,形成省内外优先级排列组合策略,在指定区号不可用情形下,能够支持城市、省份、全国三种客户码号池的优先级排列组合策略以及按累计绑定量排序重设区号继续进行选号,可以解决当前区号没有可用隐私号问题。
33.由于采用上述技术方案,本发明具有以下有益效果:
34.1.本发明基于redis有序集合数据结构,隐私号的分值代表着绑定量,取集合第一个,表明该隐私号的绑定量是最少的,可减少高频呼叫的拦截概率;同时,分机号的分值表示该分机号是否被占用,所以取集合第一个判断即可,可减少获取可用分机号所需的步骤;因而能够大幅度提升选号性能。
35.2.本发明形成在当前分机号被占用情形下的补救方案,能够根据分机号池的容量及长度重新设置更新分机号,可以从重设分机号方向解决分机号被占用问题。
36.3.本发明形成省内外优先级排列组合策略,在指定区号不可用情形下,能够支持城市、省份、全国三种客户码号池的优先级排列组合策略以及按累计绑定量排序重设区号继续进行选号,可以解决当前区号没有可用隐私号问题,避免高频呼叫。
附图说明
37.图1是本发明的选号方法步骤图。
38.图2是本发明的选号方法处理流程图。
39.图3是本发明的选号系统系统框图。
具体实施方式
40.以下结合附图对发明的具体实施进一步说明。
41.实施例1
42.如图1及图2所示,本实施例1的基于redis实现的隐私号axxyb模式选号方法,包括以下步骤:
43.步骤s10、配置存储供客户使用的隐私号码集合;集合包括隐私号码集合及其分机号集合;
44.步骤s20、根据客户真实号码及指定的隐私号码区号从隐私号码集合中选取一隐私号码;
45.步骤s30、根据所选取隐私号码从隐私号码集合中选取一分机号;
46.步骤s40、根据该分机号当前score判断该分机号是否可用,输出选号结果返回给客户。
47.基于redis实现的隐私号axxyb模式选号方法,可组成基于redis实现的隐私号axxyb模式选号系统(以下简称选号系统),下述将以选号系统作为主体进行说明。
48.在进行选号之前,要先对选号系统进行参数配置。将客户的隐私号码(初始隐私号码,初始导入供客户使用隐私号码群组)导入选号系统;选号系统将该隐私号码按其区号分类分别以redis的sorted set(有序集合)数据结构存储,key名为客户标识_区号,value为隐私号码,score为0;将各个初始隐私号码分机号分别以redis有序集合数据结构存储,其key名为客户标识_隐私号码区号_隐私号码,value为分机号,score为0。
49.然后,客户传入真实号码a和指定的隐私号码区号(客户初始传入区号)。
50.之后,选号系统根据上述参数配置及隐私号码区号等进行选号。具体如下:
51.a1、选号系统根据所传隐私号码区号,生成对应的隐私号码池redis存储key:客户标识_隐私号码区号;
52.a3、选号系统根据生成的隐私号码存储key,通过redis的lua脚本执行zrange命令,选取集合中的第一个值(value);
53.a5、选号系统根据a3选出的隐私号生成对应的隐私号分机号池redis存储key:客户标识_隐私号码区号_隐私号码;
54.a6、选号系统根据生成的分机号存储key,通过redis的lua脚本执行zrange命令,选取集合中的第一个值;
55.a7、选号系统判断a6中选出值的分值是否为0,若为0则执行a8,否则执行a17;
56.a8、选号系统通过redis的lua脚本执行zadd命令,将该分机号的分值置为1,并执行zincrby命令,将对应的隐私号分值加1;
57.a9、选号系统将选出的隐私号及分机号返回给客户;
58.a17、选号系统给客户返回号池资源不足。
59.其中,redis的sorted set数据结构根据分值自动升序排序。分机号分值(score)为0和1,分别表示该分机号未占用和已占用;隐私号的分值(score)为0,1,2......,表示该隐私号的绑定量。隐私号的分值代表着绑定量,取对应集合第一个,表明该隐私号的绑定量是最少的,这样可减少高频呼叫的拦截概率;分机号的分值表示该分机号是否被占用,如果不被占用,那么一定是排最前面的,所以取对应集合第一个,如果分值是1,那么其余的都是被占用的,可减少获取可用分机号所需的步骤。
60.实施例2
61.在前述实施例1基础上,本实施例2进行改进,区别在于根据上述参数配置及隐私号码区号等进行选号步骤,其它未尽说明请参见前述实施例1。
62.如图1及图2所示,本实施例2的基于redis实现的隐私号axxyb模式选号方法,其中根据上述参数配置及隐私号码区号等进行选号。具体如下:
63.a1、选号系统根据所传隐私号码区号,生成对应的隐私号码池redis存储key:客户标识_隐私号码区号;
64.a2、选号系统判断指定区号的隐私号码集合是否为空,若不为空执行a3,若为空执行a17;
65.a3、选号系统根据生成的隐私号码存储key,通过redis的lua脚本执行zrange命令,选取集合中的第一个值;
66.a4、选号系统判断a3选出的值是否为空,若不为空执行a5,若为空执行a13;
67.a5、选号系统根据a3选出的隐私号生成对应的隐私号分机号池redis存储key:客户标识_隐私号码区号_隐私号码;
68.a6、选号系统根据生成的分机号存储key,通过redis的lua脚本执行zrange命令,选取集合中的第一个值;
69.a7、选号系统判断a6中选出值的分值是否为0,若为0则执行a8,否则执行a17;
70.a8、选号系统通过redis的lua脚本执行zadd命令,将该分机号的分值置为1,并执行zincrby命令,将对应的隐私号分值加1;
71.a9、选号系统将选出的隐私号及分机号返回给客户;
72.a13、选号系统判断指定的区号是否为客户初始传入区号,若是执行a14,若不是执行a15;
73.a14、选号系统将指定的区号改为从客户原区号所在省份下的其他区号中选出绑定量最少的区号后执行a1;
74.a15、选号系统判断指定的区号是否为客户初始传入区号所属省份外的区号,若是执行a17,若不是执行a16;
75.a16、选号系统将指定的区号改为从客户原区号所在省份外的区号中选出绑定量最少的区号后执行a1;
76.a17选号系统给客户返回号池资源不足。
77.如此,形成省内外优先级排列组合策略,在指定区号不可用情形下,能够支持城市、省份、全国三种客户码号池的优先级排列组合策略以及按累计绑定量排序重设区号继续进行选号,可以解决当前区号没有可用隐私号问题。
78.实施例3
79.在前述实施例1基础上,本实施例3进行改进,区别在于根据上述参数配置及隐私号码区号等进行选号步骤,其它未尽说明请参见前述实施例1。
80.如图1及图2所示,本实施例3的基于redis实现的隐私号axxyb模式选号方法,其中根据上述参数配置及隐私号码区号等进行选号。具体如下:
81.a1、选号系统根据所传隐私号码区号,生成对应的隐私号码池redis存储key:客户标识_隐私号码区号;
82.a3、选号系统根据生成的隐私号码存储key,通过redis的lua脚本执行zrange命令,选取集合中的第一个值;
83.a5、选号系统根据a3选出的隐私号生成对应的隐私号分机号池redis存储key:客户标识_隐私号码区号_隐私号码;
84.a6、选号系统根据生成的分机号存储key,通过redis的lua脚本执行zrange命令,选取集合中的第一个值;
85.a7、选号系统判断a6中选出值的分值是否为0,若为0则执行a8,否则执行a10;
86.a8、选号系统通过redis的lua脚本执行zadd命令,将该分机号的分值置为1,并执行zincrby命令,将对应的隐私号分值加1;
87.a9、选号系统将选出的隐私号及分机号返回给客户;
88.a10、选号系统通过redis的lua脚本执行zcard命令,获取当前分机号池的容量v,并获取系统配置的分机号长度l;
89.a11、选号系统判断该容量v是否小于10的l次幂,若容量v小于10的l次幂,则执行,否则执行a17;
90.a12、选号系统将分机号设置为该容量值,并执行a8;
91.a17选号系统给客户返回号池资源不足。
92.如此,形成在当前分机号被占用情形下的补救方案,能够根据分机号池的容量及长度重新设置更新分机号,可以从重设分机号方向解决分机号被占用问题。
93.实施例4
94.本实施例4将前述实施例2及实施例3特征组合,区别在于根据上述参数配置及隐私号码区号等进行选号步骤,其它未尽说明请参见前述实施例1-3。
95.如图1及图2所示,本实施例4的基于redis实现的隐私号axxyb模式选号方法,其中根据上述参数配置及隐私号码区号等进行选号。具体如下:
96.a1、选号系统根据所传隐私号码区号(客户初始传入区号,或下述a14所得的省内区号,或下述a16所得的省外区号),生成对应的隐私号码池redis存储key:客户标识_隐私号码区号;
97.a2、选号系统判断指定区号的隐私号码集合是否为空,若不为空执行a3,若为空执行a17;
98.a3、选号系统根据生成的隐私号码存储key,通过redis的lua脚本执行zrange命令,选取集合中的第一个值;
99.a4、选号系统判断a3选出的值是否为空,若不为空执行a5,若为空执行a13;
100.a5、选号系统根据a3选出的隐私号生成对应的隐私号分机号池redis存储key:客户标识_隐私号码区号_隐私号码;
101.a6、选号系统根据生成的分机号存储key,通过redis的lua脚本执行zrange命令,选取集合中的第一个值;
102.a7、选号系统判断a6中选出值的分值是否为0,若为0则执行a8,否则执行a10;
103.a8、选号系统通过redis的lua脚本执行zadd命令,将该分机号的分值置为1,并执行zincrby命令,将对应的隐私号分值加1;
104.a9、选号系统将选出的隐私号及分机号返回给客户;
105.a10、选号系统通过redis的lua脚本执行zcard命令,获取当前分机号池的容量v,并获取系统配置的分机号长度l;
106.a11、选号系统判断该容量v是否小于10的l次幂,若容量v小于10的l次幂,则执行,否则执行a13;
107.a12、选号系统将分机号设置为该容量值,并执行a8;
108.a13、选号系统判断指定的区号(上述a1当前所传隐私号码区号)是否为客户初始传入区号,若是执行a14,若不是执行a15;
109.a14、选号系统将指定的区号改为从客户原区号所在省份下的其他区号中选出绑定量最少的区号后执行a1;
110.a15、选号系统判断指定的区号是否为客户初始传入区号所属省份外的区号,若是执行a17,若不是执行a16;
111.a16、选号系统将指定的区号改为从客户原区号所在省份外的区号中选出绑定量最少的区号后执行a1;
112.a17、选号系统给客户返回号池资源不足。
113.如上述“redis的sorted set数据结构会根据分值自动升序排序”,而隐私号的分值代表着绑定量,用zrange取第一个,表明该隐私号的绑定量是最少的,这样可减少高频呼叫的拦截概率;分机号的分值表示该分机号是否被占用,如果不被占用,那么一定是排最前面的,所以用zrange取第一个,如果分值是1,那么其余的都是被占用的,可减少获取可用分机号所需的步骤。
114.a、x、x为一一对应关系,即被叫号码a、隐私号码、分机号三者的组合是唯一关系,该模式从ax模式引申而来,在ax模式下,所有拨打x号码都会接到a,x和a一一对应,这种情况下,所需的x号码资源与a的需求量对等,十分占用码号资源,引入分机号x后,形成新的axx模式,所有拨打x+x都接到a,x+x与a一一对应,是一个组合,需判断整个组合是否可用,假如分机号x是4位,那么一个x就可以与10000a生成一一对应关系,大大减少隐私号码的占用,降低客户成本;因分机号的位数有限,所以分机号不是一定可用的。
115.可见,该选号方法选号性能大幅度提升;支持城市、省份、全国三种客户码号池的优先级排列组合策略选号以及按累计绑定量排序选号,避免高频呼叫;支持自定义分机号位数。
116.实施例5
117.本实施例5基于前述实施例1、2、3或4组成基于redis实现的隐私号axxyb模式选号系统(简称选号系统),其实例特征组合等其它未尽说明请参见前述实施例1-4。
118.如图2及图3所示,本实施例5的基于redis实现的隐私号axxyb模式选号系统,包括以下内容:
119.配置模块:用于配置存储供客户使用的隐私号码集合;具体处理流程如下:获取初始隐私号码;将初始隐私号码按区号分类分别以redis有序集合数据结构存储,其key名为客户标识_区号,value为隐私号码,score为0;将各个初始隐私号码分机号分别以redis有序集合数据结构存储,其key名为客户标识_隐私号码区号_隐私号码,value为分机号,score为0;
120.选取隐私号模块:用于根据客户真实号码及指定的隐私号码区号从隐私号码集合中选取一隐私号码;具体处理流程如下:
121.步骤s201、获取客户真实号码a及指定的隐私号码区号;
122.步骤s202、根据隐私号码区号生成对应的隐私号码redis存储key;该隐私号码redis存储key为客户标识_隐私号码区号;
123.步骤s203、根据该隐私号码redis存储key选取该隐私号码区号对应的redis有序集合的第一个value,得到一隐私号码;
124.选取分机号模块:用于根据所选取隐私号码从隐私号码集合中选取一分机号;具体处理流程如下:
125.步骤s301、根据所选出隐私号码生成对应的隐私号码分机号redis存储key;该分机号redis存储key为客户标识_隐私号码区号_隐私号码;
126.步骤s302、根据该分机号redis存储key选取该分机号对应的redis有序集合的第一个value,得到一分机号;
127.输出选号模块:用于根据该分机号当前score判断该分机号是否可用,输出选号结果返回给客户;具体处理流程如下:
128.步骤s401、判断该分机号当前score是否为0;若是则该分机号未被占用执行步骤s402操作,否则该分机号被占用执行步骤s404操作;
129.步骤s402、将该分机号当前score由0置为1,将该隐私号码当前score加1,完成redis有序集合score更新后执行步骤s403操作;
130.步骤s403、给客户返回该隐私号码及分机号的选号结果,并结束选号流程;
131.步骤s404、给客户返回隐私号码池资源不足的选号结果,并结束选号流程。
132.基于前述实例,在一改进实例中,该选号系统还包括以下内容:
133.更新分机号模块:用于在当前分机号被占用情形下,根据该分机号池的容量及长度设置更新分机号;具体处理流程如下:
134.步骤s451、判定当前分机号被占用,具体为:上述步骤s401操作判定当前分机号被占用,此时该步骤s401的“执行步骤s404操作”替换为执行下述步骤s452操作;
135.步骤s452、获取当前分机号池的容量v,并获取所配置的分机号长度l;
136.步骤s453、判断该容量v是否小于10的l次幂;若是,则将当前分机号设置为该容量值,执行步骤s402操作;若否,则执行步骤s404操作。
137.基于前述实例,在一改进实例中,该选号系统还包括以下内容:
138.调整区号模块:用于在当前隐私号码区号不可用或当前分机号被占用情形下,将当前区号调整为客户所属省内其它区号,或者调整为客户所属省外其它区号;具体处理流程如下:
139.步骤s251、判定当前隐私号码区号不可用或当前分机号被占用;具体处理流程包括:
140.若该隐私号码区号对应的redis有序集合为空则当前隐私号码区号不可用;和/或,若该隐私号码区号对应的redis有序集合的第一个value为空则当前隐私号码区号不可用;
141.上述步骤s401操作判定当前分机号被占用,此时,该步骤s401的“执行步骤s404操作”替换为执行下述步骤s252操作;或者,该步骤s401的“执行步骤s404操作”替换为执行步骤s452-步骤s453操作,且该步骤s453的“执行步骤s404操作”替换为执行下述步骤s252操作;
142.步骤s252、判断当前隐私号码区号是否为指定的隐私号码区号;若是,则将当前隐私号码区号改为客户所属省内绑定量最少的区号,将其作为新的隐私号码区号,返回步骤s202继续执行选号流程;若否,则执行判断当前隐私号码区号是否为客户所属省外区号,此判断结果若是则执行步骤s404,否则将当前隐私号码区号改为客户所属省外绑定量最少的区号,将其作为新的隐私号码区号,返回步骤s202继续执行选号流程。
143.需要指出的是,上述实施例的实例可以根据实际需要优选一个或两个以上相互组合,而多个实例采用一套组合技术特征的附图说明,在此就不一一展开说明。
144.上述说明是针对本发明较佳可行实施例的详细说明和例证,但这些描述并非用以限定本发明所要求保护范围,凡本发明所提示的技术教导下所完成的同等变化或修饰变更,均应属于本发明所涵盖专利保护范围。

技术特征:
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实现的隐私号axxyb模式选号系统,其特征在于,包括以下内容:配置模块:用于配置存储供客户使用的隐私号码集合;具体处理流程如下:获取初始隐私号码;将初始隐私号码按区号分类分别以redis有序集合数据结构存储,其key名为客户标识_区号,value为隐私号码,score为0;将各个初始隐私号码分机号分别以redis有序集合数据结构存储,其key名为客户标识_隐私号码区号_隐私号码,value为分机号,score为0;选取隐私号模块:用于根据客户真实号码及指定的隐私号码区号从隐私号码集合中选取一隐私号码;具体处理流程如下:步骤s201、获取客户真实号码a及指定的隐私号码区号;步骤s202、根据隐私号码区号生成对应的隐私号码redis存储key;步骤s203、根据该隐私号码redis存储key选取该隐私号码区号对应的redis有序集合的第一个value,得到一隐私号码;选取分机号模块:用于根据所选取隐私号码从隐私号码集合中选取一分机号;具体处理流程如下:步骤s301、根据所选出隐私号码生成对应的隐私号码分机号redis存储key;步骤s302、根据该分机号redis存储key选取该分机号对应的redis有序集合的第一个value,得到一分机号;输出选号模块:用于根据该分机号当前score判断该分机号是否可用,输出选号结果返回给客户;具体处理流程如下:步骤s401、判断该分机号当前score是否为0;若是则该分机号未被占用执行步骤s402操作,否则该分机号被占用执行步骤s404操作;步骤s402、将该分机号当前score由0置为1,将该隐私号码当前score加1,完成redis有序集合score更新后执行步骤s403操作;步骤s403、给客户返回该隐私号码及分机号的选号结果,并结束选号流程;步骤s404、给客户返回隐私号码池资源不足的选号结果,并结束选号流程。7.根据权利要求6所述的基于redis实现的隐私号axxyb模式选号系统,其特征在于:还
包括以下内容:更新分机号模块:用于在当前分机号被占用情形下,根据该分机号池的容量及长度设置更新分机号;具体处理流程如下:步骤s451、判定当前分机号被占用,具体为:上述步骤s401操作判定当前分机号被占用,此时该步骤s401的“执行步骤s404操作”替换为执行下述步骤s452操作;步骤s452、获取当前分机号池的容量v,并获取所配置的分机号长度l;步骤s453、判断该容量v是否小于10的l次幂;若是,则将当前分机号设置为该容量值,执行步骤s402操作;若否,则执行步骤s404操作。8.根据权利要求6或7所述的基于redis实现的隐私号axxyb模式选号系统,其特征在于,还包括以下内容:调整区号模块:用于在当前隐私号码区号不可用或当前分机号被占用情形下,将当前区号调整为客户所属省内其它区号,或者调整为客户所属省外其它区号;具体处理流程如下:步骤s251、判定当前隐私号码区号不可用或当前分机号被占用;具体处理流程包括:若该隐私号码区号对应的redis有序集合为空则当前隐私号码区号不可用;和/或,若该隐私号码区号对应的redis有序集合的第一个value为空则当前隐私号码区号不可用;上述步骤s401操作判定当前分机号被占用,此时,该步骤s401的“执行步骤s404操作”替换为执行下述步骤s252操作;或者,该步骤s401的“执行步骤s404操作”替换为执行步骤s452-步骤s453操作,且该步骤s453的“执行步骤s404操作”替换为执行下述步骤s252操作;步骤s252、判断当前隐私号码区号是否为指定的隐私号码区号;若是,则将当前隐私号码区号改为客户所属省内绑定量最少的区号,将其作为新的隐私号码区号,返回步骤s202继续执行选号流程;若否,则执行判断当前隐私号码区号是否为客户所属省外区号,此判断结果若是则执行步骤s404,否则将当前隐私号码区号改为客户所属省外绑定量最少的区号,将其作为新的隐私号码区号,返回步骤s202继续执行选号流程。9.根据权利要求6所述的基于redis实现的隐私号axxyb模式选号系统,其特征在于:步骤s202中,该隐私号码redis存储key为客户标识_隐私号码区号。10.根据权利要求6所述的基于redis实现的隐私号axxyb模式选号系统,其特征在于:步骤s301中,该分机号redis存储key为客户标识_隐私号码区号_隐私号码。

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


技术研发人员:陈星辰 张其卿 罗晓 夏国鑫 陈廷堃 莫小林
受保护的技术使用者:广西东信易通科技有限公司
技术研发日:2023.06.29
技术公布日:2023/9/7
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐