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

一种解决高并发场景下微信令牌失效的方法与流程

2022-08-21 11:45:44 来源:中国专利 TAG:


1.本发明涉及高速缓存及微信应用技术领域,具体地说是一种解决高并发场景下微信令牌失效的方法。


背景技术:

2.随着微信应用的不断广泛推广,微信小程序的不断完善,微信已经日渐成为人们生活中不可缺少的应用,在日常活动中很多场所及应用情境已经将微信应用作为有效工具进行利用,如全员核酸检测时的信息采集、用户的信息填报等。用户使用微信小程序进行信息填报,然后采集方可通过微信的accesstoken来获取用户的身份信息;但是微信对每日获取accesstoken的次数是有限制的,一旦当天的新用户数超过了上限,则再无法获取新的accesstoken,这样就会降低信息采集的效率,不能突出微信应用便捷高效的意义。


技术实现要素:

3.本发明的技术任务是针对以上不足之处,提供一种解决高并发场景下微信令牌失效的方法,能够在高并发的系统中,实现高效获取微信令牌,并且解决微信对每日获取accesstoken上限的问题。
4.本发明解决其技术问题所采用的技术方案是:
5.一种解决高并发场景下微信令牌失效的方法,建立一个accesstoken分发中心,只让这一个节点去获取accesstoken,然后将accesstoken分发给各业务节点;
6.基于redis高速缓存技术进行信息存储;检查redis中是否有未过期的accesstoken,如果没有则自动获取微信的accesstoken,然后通过redis广播发送给各业务节点。
7.本方法能够在高并发的系统中实现高效获取微信令牌,解决微信对每日获取accesstoken上限的问题。通过检查redis中是否有未过期的accesstoken,如果没有则自动获取微信的accesstoken,然后通过redis广播发送给各业务节点;既可以防止accesstoken超时失效,又可以解决每日获取微信accesstoken的上限的问题。
8.优选的,为了保证用户信息的安全性,在前后端交互的过程中使用业务令牌。
9.进一步的,所述业务令牌的生成流程如下:
10.用户打开小程序,前端会将微信的一次性code发送给后端;
11.后端使用令牌控制中心发放的accesstoken和一次性code,从微信处获取用户手机号,然后后端再将获取的手机号和accesstoken过期时间加密生成业务token,并与公钥一起传给前端;
12.前端使用公钥将用户填写的个人信息加密后传给后端,然后后端将用户信息生成静态二维码,用户在进行信息采集时只需要出示静态码即可。
13.进一步的,所述令牌控制中心流程如下:
14.在令牌控制中心节点启动时会自动检查redis中是否有未过期的accesstoken,如
果没有的话,会自动获取微信的accesstoken,然后通过redis广播发送给各业务节点。
15.优选的,所述令牌控制中心,每隔固定时间获取一次accesstoken,并广播给各业务节点,不需要个业务节点单独去请求微信获取accesstoken,从而防止被微信限制accesstoken获取次数。
16.优选的,所述固定时间为一个小时。
17.本发明还要求保护一种解决高并发场景下微信令牌失效的系统,在该系统中,建立一个accesstoken分发中心,只让这一个节点去获取accesstoken,然后将accesstoken分发给各业务节点;
18.该系统实现上述的解决高并发场景下微信令牌失效的方法。
19.本发明还要求保护一种解决高并发场景下微信令牌失效的装置,包括:至少一个存储器和至少一个处理器;
20.所述至少一个存储器,用于存储机器可读程序;
21.所述至少一个处理器,用于调用所述机器可读程序,执行上述的方法。
22.本发明的一种解决高并发场景下微信令牌失效的方法与现有技术相比,具有以下有益效果:
23.本方法通过建立accesstoken分发中心,只让一个节点去获取accesstoken,然后将accesstoken分发给各业务节点;能够有效解决微信令牌accesstoken每日获取上限的问题,可以克服微信每日获取accesstoken上限次数的限制;基于redis高速缓存技术进行信息存储,检查redis中是否有未过期的accesstoken,如果没有则自动获取微信的accesstoken,然后通过redis广播发送给各业务节点,同时解决了微信令牌accesstoken过期的问题,适用于高并发系统。
附图说明
24.图1是本发明实施例提供的解决高并发场景下微信令牌失效的方法业务令牌生成的流程示图;
25.图2是是本发明实施例提供的解决高并发场景下微信令牌失效的方法令牌控制中心的流程示图。
具体实施方式
26.在疫情防控过程中,为了能更好地控制疫情,全员核酸检测是不可或缺的一环,全员核酸检测需要进行一对一信息采集,工作量巨大,如何有效提高核酸检测速度,显得尤为重要。为有效提高核酸检测速度,需要在检测前就做好身份信息的登记工作。出于用户体验的考虑,使用微信小程序进行用户信息的填报。我方通过微信的accesstoken来获取用户的身份信息。但是微信对每日获取accesstoken的次数是有限制的,一旦当天的新用户数超过了上限,则再无法获取新的accesstoken,这样会大大降低核酸检测的速度,给用户造成不好的用户体验。
27.本发明实施例提供一种解决高并发场景下微信令牌失效的方法,能够在高并发的系统中实现高效获取微信令牌,解决微信对每日获取accesstoken上限的问题。
28.本方法的实现方式为,建立一个accesstoken分发中心,只让这一个节点去获取
accesstoken,然后将accesstoken分发给各业务节点;
29.基于redis高速缓存技术进行信息存储;检查redis中是否有未过期的accesstoken,如果没有则自动获取微信的accesstoken,然后通过redis广播发送给各业务节点。
30.通过上述方式,既可以防止accesstoken超时失效,又可以解决每日获取微信accesstoken的上限的问题。为了保证用户信息的安全性,在前后端交互的过程中使用业务令牌。
31.如图1所示,所述业务令牌的生成流程如下:
32.用户打开小程序,前端会将微信的一次性code发送给后端;
33.后端使用令牌控制中心发放的accesstoken和一次性code,从微信处获取用户手机号,然后后端再将获取的手机号和accesstoken过期时间加密生成业务token,并与公钥一起传给前端;
34.前端使用公钥将用户填写的个人信息加密后传给后端,然后后端将用户信息生成静态二维码,用户在做核酸时只需要出示静态码即可,可以有效提高核酸检测速度。
35.如图2所示,所述令牌控制中心流程如下:
36.在令牌控制中心节点启动时会自动检查redis中是否有未过期的accesstoken,如果没有的话,会自动获取微信的accesstoken,然后通过redis广播发送给各业务节点;
37.然后,每隔一个小时获取一次accesstoken,并广播给各业务节点,不需要个业务节点单独去请求微信获取accesstoken,从而防止被微信限制accesstoken获取次数。
38.本实施例以全员核酸检测时被测者信息采集为例进行说明,通过检查redis中是否有未过期的accesstoken,如果没有则自动获取微信的accesstoken,然后通过redis广播发送给各业务节点;既可以防止accesstoken超时失效,又可以解决每日获取微信accesstoken的上限的问题,从而有效解决了全员核酸检测时通过微信小程序进行用户信息的填报,当天的新用户数超过了上限则再无法获取新的accesstoken而大大降低核酸检测的速度的问题。
39.本发明实施例还提供了一种解决高并发场景下微信令牌失效的系统,在该系统中,建立一个accesstoken分发中心,只让这一个节点去获取accesstoken,然后将accesstoken分发给各业务节点;
40.该系统基于redis高速缓存技术进行信息存储;检查redis中是否有未过期的accesstoken,如果没有则自动获取微信的accesstoken,然后通过redis广播发送给各业务节点。
41.为了保证用户信息的安全性,在前后端交互的过程中使用业务令牌。
42.所述业务令牌的生成流程如下:
43.用户打开小程序,前端会将微信的一次性code发送给后端;
44.后端使用令牌控制中心发放的accesstoken和一次性code,从微信处获取用户手机号,然后后端再将获取的手机号和accesstoken过期时间加密生成业务token,并与公钥一起传给前端;
45.前端使用公钥将用户填写的个人信息加密后传给后端,然后后端将用户信息生成静态二维码,用户在做核酸时只需要出示静态码即可,可以有效提高核酸检测速度。
46.令牌控制中心流程如下:
47.在令牌控制中心节点启动时会自动检查redis中是否有未过期的accesstoken,如果没有的话,会自动获取微信的accesstoken,然后通过redis广播发送给各业务节点;
48.然后,每隔一个小时获取一次accesstoken,并广播给各业务节点,不需要个业务节点单独去请求微信获取accesstoken,从而防止被微信限制accesstoken获取次数。
49.本发明实施例还提供了一种解决高并发场景下微信令牌失效的装置,包括:至少一个存储器和至少一个处理器;
50.所述至少一个存储器,用于存储机器可读程序;
51.所述至少一个处理器,用于调用所述机器可读程序,执行本发明上述实施例所述的方法。
52.通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
53.除说明书所述的技术特征外,均为本专业技术人员的已知技术。
再多了解一些

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

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

相关文献