System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,尤其涉及一种话单累积量优惠计算方法、装置、设备及存储介质。
技术介绍
1、运营商业务的大规模发展,随之而来的海量话单需要处理,目前云环境下运营商业务支撑系统多采用了分布式处理等技术。
2、在分布式环境下,话单之间互不相干的计算,可以很容易实现分布式并行计算。但是对于累积量优惠的计算模式下,特别是多用户累积量优惠,累积量处于不断变化过程中,话单之间的相互关系不确定。
3、现有的分布式计费优惠方案中,累积量优惠的计算一般采用2种方式:主节点模式,采用主节点管理所有累积量而后分发到计算节点,主节点模式存在计算性能瓶颈,且不容易实现容灾。共享缓存方式,采用分布式缓存管理累积量,该模式存在全局读锁,且每条话单都要进行网络传输,对海量话单的处理效率较低。现有方案均存在一定的局限性。
技术实现思路
1、本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术提出一种话单累积量优惠计算方法、装置、设备及存储介质,能够高效进行话单累积量优惠计算。
2、一方面,本专利技术实施例提供了一种话单累积量优惠计算方法,包括:
3、获取预设周期内的所有话单,将所有话单合并为话单块;话单包括业务号码及其使用记录;
4、对话单块中的业务号码进行空间映射,得到话单块的第一空间地址值;
5、获取优惠规则信息及其对应的业务号码,基于优惠规则信息对业务号码进行整合,得到累积量记录全集;累积量记录全集包括各优惠
6、基于业务号码,遍历累积量记录全集中的所有累积量记录,获得若干累积量块;
7、对累积量块中的业务号码进行空间映射,得到累积量块的第二空间地址值;
8、将累积量块随机分发到预设的多个计算节点,对计算节点关联的所有累积量块的第二空间地址值进行按位的或操作,得到计算节点的第三空间地址值;
9、根据第一空间地址值与各个计算节点的第三空间地址值的码距,将话单块分发到目标计算节点;
10、根据第一空间地址值与目标计算节点中各个累积量块的第二空间地址值的码距,将话单块与每个累积量块进行叠加计算,得到话单累积量优惠结果。
11、可选地,对话单块中的业务号码进行空间映射,得到话单块的第一空间地址值,包括:
12、基于预设的映射空间大小,创建二进制数组;
13、分别对话单块中的每个业务号码进行哈希计算,将各个业务号码的哈希计算的结果映射到不同的二进制数组;
14、对所有业务号码对应的二进制数组进行合并操作,得到目标二进制数组作为话单块的第一空间地址值。
15、可选地,基于优惠规则信息对业务号码进行整合,得到累积量记录全集,包括:
16、基于优惠规则信息对业务号码进行整合,得到不同的优惠规则信息对应的累积量记录;其中,累积量记录中包括与优惠规则信息对应的业务号码集合;
17、根据业务号码集合的大小,对所有累积量记录进行排序,得到累积量记录全集。
18、可选地,累积量记录中包括与优惠规则信息对应的业务号码集合;基于业务号码,遍历累积量记录全集中的所有累积量记录,获得若干累积量块,包括:
19、将累积量记录全集中的第一个累积量记录作为目标节点;从累积量记录全集中删除目标节点;
20、将目标节点中的业务号码集合中的第一个业务号码作为目标号码;
21、在累积量记录全集中各累积量记录的业务号码集合中搜索目标号码;
22、以目标号码作为连接边,将业务号码集合中存在目标号码的累积量记录作为新节点连接到目标节点;从累积量记录全集中删除新节点;
23、将目标节点中的业务号码集合中目标号码的下一个业务号码作为目标号码,然后返回在累积量记录全集中各累积量记录的业务号码集合中搜索目标号码这一步骤,直至遍历完目标节点中的业务号码集合的所有业务号码;
24、依次将新节点作为目标节点,然后返回将目标节点中的业务号码集合中的第一个业务号码作为目标号码这一步骤,直至在累积量记录全集中的每个累积量记录的业务号码集合中都搜索不到目标号码,将构建得到的累积量有向无环图作为累积量块;
25、返回将累积量记录全集中的第一个累积量记录作为目标节点这一步骤,直至累积量记录全集为空,获得若干累积量块。
26、可选地,根据第一空间地址值与各个计算节点的第三空间地址值的码距,将话单块分发到目标计算节点,包括:
27、根据第一空间地址值与各个计算节点的第三空间地址值的码距,确定与第一空间地址值的码距最小的第三空间地址值对应的计算节点为目标计算节点;其中,码距通过海明距离计算得到;
28、将话单块分发到目标计算节点。
29、可选地,根据第一空间地址值与目标计算节点中各个累积量块的第二空间地址值的码距,将话单块与每个累积量块进行叠加计算,得到话单累积量优惠结果,包括:
30、根据第一空间地址值与目标计算节点中各个累积量块的第二空间地址值的码距,按照码距从小到大所对应的累积量块的顺序,将话单块与累积量块进行叠加计算,得到话单累积量优惠结果;
31、其中,将话单块与累积量块进行叠加计算包括:
32、依次遍历话单块中的业务号码,根据业务号码,在累积量块中查找对应的优惠规则信息,基于优惠规则信息进行累积量值的扣减计算。
33、可选地,方法还包括:
34、对话单块中未在累积量块中查找到对应的优惠规则信息的业务号码进行保留;
35、基于话单块中保留的业务号码进行空间映射,更新话单块的第一空间地址值,然后返回根据第一空间地址值与各个计算节点的第三空间地址值的码距,将话单块分发到目标计算节点这一步骤。
36、另一方面,本专利技术实施例提供了一种话单累积量优惠计算装置,包括:
37、第一模块,用于获取预设周期内的所有话单,将所有话单合并为话单块;话单包括业务号码及其使用记录;
38、第二模块,用于对话单块中的业务号码进行空间映射,得到话单块的第一空间地址值;
39、第三模块,用于获取优惠规则信息及其对应的业务号码,基于优惠规则信息对业务号码进行整合,得到累积量记录全集;累积量记录全集包括各优惠规则信息对应的累积量记录;
40、第四模块,用于基于业务号码,遍历累积量记录全集中的所有累积量记录,获得若干累积量块;
41、第五模块,用于对累积量块中的业务号码进行空间映射,得到累积量块的第二空间地址值;
42、第六模块,用于将累积量块随机分发到预设的多个计算节点,对计算节点关联的所有累积量块的第二空间地址值进行按位的或操作,得到计算节点的第三空间地址值;
43、第七模块,用于根据第一空间地址值与各个计算节点的第三空间地址值的码距,将话单块分发到目标计算节点;
44、第八本文档来自技高网...
【技术保护点】
1.一种话单累积量优惠计算方法,其特征在于,包括:
2.根据权利要求1所述的话单累积量优惠计算方法,其特征在于,所述对所述话单块中的所述业务号码进行空间映射,得到所述话单块的第一空间地址值,包括:
3.根据权利要求1所述的话单累积量优惠计算方法,其特征在于,所述基于所述优惠规则信息对所述业务号码进行整合,得到累积量记录全集,包括:
4.根据权利要求1所述的话单累积量优惠计算方法,其特征在于,所述累积量记录中包括与所述优惠规则信息对应的业务号码集合;所述基于所述业务号码,遍历所述累积量记录全集中的所有所述累积量记录,获得若干累积量块,包括:
5.根据权利要求1所述的话单累积量优惠计算方法,其特征在于,所述根据所述第一空间地址值与各个所述计算节点的所述第三空间地址值的码距,将所述话单块分发到目标计算节点,包括:
6.根据权利要求1所述的话单累积量优惠计算方法,其特征在于,所述根据所述第一空间地址值与所述目标计算节点中各个所述累积量块的所述第二空间地址值的码距,将所述话单块与每个所述累积量块进行叠加计算,得到话单累积量优惠结果
7.根据权利要求6所述的话单累积量优惠计算方法,其特征在于,所述方法还包括:
8.一种话单累积量优惠计算装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括处理器以及存储器;
10.一种计算机存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由所述处理器执行时用于实现如权利要求1至7任一项所述的方法。
...【技术特征摘要】
1.一种话单累积量优惠计算方法,其特征在于,包括:
2.根据权利要求1所述的话单累积量优惠计算方法,其特征在于,所述对所述话单块中的所述业务号码进行空间映射,得到所述话单块的第一空间地址值,包括:
3.根据权利要求1所述的话单累积量优惠计算方法,其特征在于,所述基于所述优惠规则信息对所述业务号码进行整合,得到累积量记录全集,包括:
4.根据权利要求1所述的话单累积量优惠计算方法,其特征在于,所述累积量记录中包括与所述优惠规则信息对应的业务号码集合;所述基于所述业务号码,遍历所述累积量记录全集中的所有所述累积量记录,获得若干累积量块,包括:
5.根据权利要求1所述的话单累积量优惠计算方法,其特征在于,所述根据所述第一空间地址值与各个所述计算...
【专利技术属性】
技术研发人员:陈默,陈建明,陈贤锋,杨明智,
申请(专利权)人:天翼物联科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。