一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于运营商支付账户体系的压缩可信设备存储控制方法与流程

2022-02-20 05:32:35 来源:中国专利 TAG:


1.本发明涉及计算机软件应用技术领域,特别涉及一种运营商支付体系下数据压缩处理方法系统领域。


背景技术:

2.在运营商支付账户体系下拥有数亿级别的客户账号,而在很多如密码登录、支付密码鉴权等鉴权验证场景中需要对用户的可信设备进行判断并按合理的逻辑新增到用户可信设备库中,从而减少对用户使用可信设备的打扰,并且避免频繁的调用短信、人脸等核验接口节约调用成本。假如一个账户可能同时使用评级10个设备筛选出30天的活跃设备总量有24亿左右海量设备。如果按现在传统的做法这么大的量如果直接使用设备id作为key直接写入缓存系统,按value占用16字节来算,大概要用230g内存的内存容器集群,这成本还是比较可观的。
3.使用内存容器进行存储及校验面临如下问题:(1)设备deviceid长短不一容易造成内存碎片;(2)纯内存存储由于指针大量存在,内存膨胀率比较高,一般在7倍;(3)运营商支付账号明天都会有大量新用户,每天新生成的deviceid依然很多;(4)由于服务要求在公网环境为了保证良好的用户体验需要设备检查需要在50ms以内,所以原则上当天新更新的账号于新 deviceid的mapping需要全部in memory,而不会让请求落到后端的冷数据穿透数据库;(5)业务方面,所有数据原则上至少保留60天甚至更久。


技术实现要素:

4.本发明要解决的技术问题是克服现有技术的缺陷,提供一种基于运营商支付账户体系的压缩可信设备存储控制方法。
5.本发明提供了如下的技术方案:
6.本发明提供一种基于运营商支付账户体系的压缩可信设备存储控制方法,在保障精准查询命中运营商以手机号为用户主体对应可信设备集合前提下,通过使用redis中hashmap中key存储手机前3位、flield存储手机号中间3位、value使用手机号后5位加上umid(唯一设备id)通过md5生成32 位定长字符串后存储到value中指定的bloom模块这样达到压缩存储尽可能的压缩消耗的宝贵内存空间,使用了定长的key和value为定长也会减少内存碎片,通过使用redis哈希存储结构key flield减少key和哈希表空间降低膨胀率,通过key淘汰策略定期的清理历史冷设备mapping数据;如下的详细技术方案如下:
7.(1)使用可信设备存储模型和存储结构表设计实现压缩内容存储空间:
8.通过使用redis中hashmap中key存储手机前3位、flield存储手机号中间3位、value使用手机号后5位加上umid(唯一设备id)通过md5生成32 位定长字符串后存储到value中指定的bloom模块这样达到压缩存储尽可能的压缩消耗的宝贵内存空间;经过计算约5亿数据均分为10万份布隆存储模块,每个存储模块存储大约5000条手机号后5位 umid的可mapping数据,经计算每个布隆存储模块约占用24.42kb大小;
9.当前redis使用:
10.10000*24.42/1024/1024=2.324gb;如果单纯的使用手机(11位) 加单条可信设备umid(约32位)存储大约需要(11 32)*5亿用户设备 bit/1024kb/1024mb/1024g约为200gb以上的内存空间;综上可以内容存储压缩85倍左右的空间;
11.(2)使用可信设备存储模型和存储结构表设计实现降低内存碎片率:
12.使用可信设备存储模型图,使用手机号前3位作为key,手机号中间3位作为flield,value为使用手机号后5位拼接对应的umid并且通过md5加密算法得到定长32位的value使用定长的布隆模块进行存储,这样使用了定长的key和value为定长也会减少内存碎片;
13.(3)使用可信设备存储模型和存储结构表设计实现降低膨胀率:
14.使用redis哈希存储结构key flield,参考存储结构表约压缩的key存储空间为传统直接使用全手机号存储的100*100分之一的空间,大大减低了 key和哈希表空间降低膨胀率;
15.(4)可信设备内容淘汰策略:
16.第一次冷启动可信设备需要使用批处理清洗控制器对近一个月全量用户使用终端设备进行过密码登录、密码交易支付鉴权操作活跃操作,计算出一个月内手机号和对应可信设备的device mapping关系表;
17.使用去重计算控制器,将手机号 umid拼接成唯一deviceid存储在hbase 中,使用hbase对上面得到device mapping表进行去重计算操作,得出手机号、umid关联去重后的device mapping关系表;
18.去重计算控制器计算得出手机号、umid关联去重后的device mapping关系表后,将调用任务分发控制器,将mapping记录分片信息分发给可信设备存储容器;
19.设备存储容器得到分发任务发送的mapping分片信息记录后按分片将内容存储至db设备存储容器(mapping记录中记录设备最后操作日期)、内存可信设备存储容器(默认key/field对应的value布隆存储模块默认失效日期为1个月,如果1个月内该模块未被访问过则自动淘汰);
20.(5)可信设备新增及验证流程
21.请求方输入运营商支付账户对应的手机号和当前使用的唯一设备umid, 验证是否为手机号对应的umid为可信设备,验证通过则直接登录或支付鉴权成功;如果验证失败则客户端弹出短信验证窗口,如果用户能接受到该手机号作为预留安全手机号对应的短信验证码并且验证码验证通过则表示该设备为该手机账户的可信设备则分别加入手机号和deviceid的mapping关系数据至缓存容器和db容器,并且对手机号后五位 deviceid对应的布隆存储模块自动有效期重置1个月,更新db容器中deviceid的mapping的最后操作时间为当日;
22.定时清理器每日触发清理策略,对db设备存储容器mapping记录中记录设备最后操作日期计算操过一个月的自动清理该部分非活跃设备数据。
23.与现有技术相比,本发明的有益效果如下:
24.(1)对运营商支付账户体系下对可信设备的新增及查验;
25.(2)对数亿级别运营商支付账户体系下对数十亿级别可信设备基于内存容器的压
缩存储;
26.(3)实现运营商支付账户体系下降低可信设备基于内存容器的膨胀率;
27.(4)实现运营商支付账户体系下减少可信设备基于内存容器时的碎片率;
28.(5)满足运营商支付账户体系下进行登录、支付密码鉴权在50ms内完成验证可信设备。
附图说明
29.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
30.图1是本发明的基于运营商账户体系可信设备压缩存储模型图;
31.图2是本发明的基于运营商账户体系可信设备压缩存储架构图;
32.图3是本发明的基于运营商账户体系可信设备新增及验证流程图。
具体实施方式
33.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。其中附图中相同的标号全部指的是相同的部件。
34.实施例1
35.如图1-3,本发明提供一种基于运营商支付账户体系的压缩可信设备存储控制方法,在保障精准查询命中运营商以手机号为用户主体对应可信设备集合前提下,通过使用redis中hashmap中key存储手机前3位、flield存储手机号中间3位、value使用手机号后5位加上umid(唯一设备id)通过md5 生成32位定长字符串后存储到value中指定的bloom模块这样达到压缩存储尽可能的压缩消耗的宝贵内存空间,使用了定长的key和value为定长也会减少内存碎片,通过使用redis哈希存储结构key flield减少key和哈希表空间降低膨胀率,通过key淘汰策略定期的清理历史冷设备mapping数据。如下的详细技术方案如下:
36.(1)使用可信设备存储模型和存储结构表设计实现压缩内容存储空间:
37.通过使用redis中hashmap中key存储手机前3位、flield存储手机号中间3位、value使用手机号后5位加上umid(唯一设备id)通过md5生成32 位定长字符串后存储到value中指定的bloom模块这样达到压缩存储尽可能的压缩消耗的宝贵内存空间。经过计算约5亿数据均分为10万份布隆存储模块,每个存储模块存储大约5000条手机号后5位 umid的可mapping数据,经计算每个布隆存储模块约占用24.42kb大小;
38.当前redis使用:
39.10000*24.42/1024/1024=2.324gb。如果单纯的使用手机(11位) 加单条可信设备umid(约32位)存储大约需要(11 32)*5亿用户设备 bit/1024kb/1024mb/1024g约为200gb以上的内存空间。综上可以内容存储压缩85倍左右的空间;
40.(2)使用可信设备存储模型和存储结构表设计实现降低内存碎片率:
41.使用下图所示可信设备存储模型图,使用手机号前3位作为key,手机号中间3位作为flield,value为使用手机号后5位拼接对应的umid并且通过 md5加密算法得到定长32位的value使用定长的布隆模块进行存储,这样使用了定长的key和value为定长也会减少内
存碎片;
42.(3)使用可信设备存储模型和存储结构表设计实现降低膨胀率:
43.使用redis哈希存储结构key flield,参考存储结构表约压缩的key存储空间为传统直接使用全手机号存储的100*100分之一的空间,大大减低了 key和哈希表空间降低膨胀率;
[0044][0045]
(4)可信设备内容淘汰策略:
[0046]
参见可信设备压缩存储设计架构图所示,第一次冷启动可信设备需要使用批处理清洗控制器对近一个月全量用户使用终端设备进行过密码登录、密码交易支付鉴权操作活跃操作,计算出一个月内手机号和对应可信设备的 device mapping关系表。
[0047]
使用去重计算控制器,将手机号 umid拼接成唯一deviceid存储在hbase 中,使用hbase对上面得到device mapping表进行去重计算操作,得出手机号、umid关联去重后的device mapping关系表。
[0048]
去重计算控制器计算得出手机号、umid关联去重后的device mapping关系表后,将调用任务分发控制器,将mapping记录分片信息分发给可信设备存储容器。
[0049]
设备存储容器得到分发任务发送的mapping分片信息记录后按分片将内容存储至db设备存储容器(mapping记录中记录设备最后操作日期)、内存可信设备存储容器(默认key/field对应的value布隆存储模块默认失效日期为1个月,如果1个月内该模块未被访问过则自动淘汰);
[0050]
(5)可信设备新增及验证流程
[0051]
参考可信设备新增及验证流程图,请求方输入运营商支付账户对应的手机号和当前使用的唯一设备umid,验证是否为手机号对应的umid为可信设备,验证通过则直接登录或支付鉴权成功;如果验证失败则客户端弹出短信验证窗口,如果用户能接受到该手机号作为预留安全手机号对应的短信验证码并且验证码验证通过则表示该设备为该手机账户的可信设备则分别加入手机号和deviceid的mapping关系数据至缓存容器和db容器,并且对手机号后五位 deviceid对应的布隆存储模块自动有效期重置1个月,更新db容器中 deviceid的mapping的最后操作时间为当日。
[0052]
进一步的,本发明的核心在于一种基于运营商支付账户体系的压缩可信设备存储控制方法,包括批处理清洗控制器、去重计算控制器、定时清理控制器、db可信设备存储容器、内存可信设备存储容器、日常鉴权控制器等核心模块共同构成。
[0053]
在保障精准查询命中运营商以手机号为用户主体对应可信设备集合前提下,通过使用redis中hashmap中key存储手机前3位、flield存储手机号中间3位、value使用手机号后5位加上umid(唯一设备id)通过md5生成32 位定长字符串后存储到value中指定的bloom模块这样达到压缩存储尽可能的压缩消耗的宝贵内存空间,使用了定长的key和value为定长也会减少内存碎片,通过使用redis哈希存储结构key flield减少key和哈希表空间降低膨胀率,通过key淘汰策略定期的清理历史冷设备mapping数据。具体的实施步骤如下,可以参考基于运营商账户体系的可信设备压缩存储架构图及可信设备新增及验证流程图:
[0054]
(1)执行批处理清洗控制器:
[0055]
参见可信设备压缩存储设计架构图所示,第一次冷启动可信设备需要使用批处理清洗控制器对近一个月全量用户使用终端设备进行过密码登录、密码交易支付鉴权操作活跃操作,计算出一个月内手机号和对应可信设备的 device mapping关系表。
[0056]
(2)执行去重计算控制器:
[0057]
将手机号 umid拼接成唯一deviceid存储在hbase中,使用hbase对上面得到device mapping表进行去重计算操作,得出手机号、umid关联去重后的device mapping关系表。
[0058]
(3)执行任务分发器:
[0059]
去重计算控制器计算得出手机号、umid关联去重后的device mapping关系表后,将调用任务分发控制器,将mapping记录分片信息分发给可信设备存储容器。
[0060]
设备存储容器得到分发任务发送的mapping分片信息记录后按分片将内容存储至db设备存储容器(mapping记录中记录设备最后操作日期)、内存可信设备存储容器(默认key/field对应的value布隆存储模块默认失效日期为1个月,如果1个月内该模块未被访问过则自动淘汰)。
[0061]
(4)执行存储容器
[0062]
通过任务分发器,存储容器接受到mapping分片信息记录后按分片将内容存储至db设备存储容器(mapping记录中记录设备最后操作日期)、内存可信设备存储容器(默认key/field对应的value布隆存储模块默认失效日期为1个月,如果1个月内该模块未被访问过则自动淘汰)
[0063]
(5)执行定时清理控制器
[0064]
定时清理器每日触发清理策略,对db设备存储容器mapping记录中记录设备最后操作日期计算操过一个月的自动清理该部分非活跃设备数据。
[0065]
(6)执行日常鉴权控制器
[0066]
参考可信设备新增及验证流程图,请求方输入运营商支付账户对应的手机号和当前使用的唯一设备umid,验证是否为手机号对应的umid为可信设备,验证通过则直接登录或支付鉴权成功;如果验证失败则客户端弹出短信验证窗口,如果用户能接受到该手机号作为预留安全手机号对应的短信验证码并且验证码验证通过则表示该设备为该手机账户的可信设备则分别加入手机号和deviceid的mapping关系数据至缓存容器和db容器,并且
对手机号后五位 deviceid对应的布隆存储模块自动有效期重置1个月,更新db容器中 deviceid的mapping的最后操作时间为当日。
[0067]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献