CN114928487A - 一种解决高并发场景下微信令牌失效的方法 - Google Patents
一种解决高并发场景下微信令牌失效的方法 Download PDFInfo
- Publication number
- CN114928487A CN114928487A CN202210539745.XA CN202210539745A CN114928487A CN 114928487 A CN114928487 A CN 114928487A CN 202210539745 A CN202210539745 A CN 202210539745A CN 114928487 A CN114928487 A CN 114928487A
- Authority
- CN
- China
- Prior art keywords
- accessoken
- micro
- accesstoken
- failure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000011664 signaling Effects 0.000 title claims abstract description 32
- 230000003068 static effect Effects 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 4
- 230000003203 everyday effect Effects 0.000 abstract description 11
- 238000001514 detection method Methods 0.000 description 9
- 150000007523 nucleic acids Chemical class 0.000 description 9
- 102000039446 nucleic acids Human genes 0.000 description 9
- 108020004707 nucleic acids Proteins 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种解决高并发场景下微信令牌失效的方法,属于高速缓存及微信应用技术领域,该方法建立一个accessToken分发中心,只让这一个节点去获取accessToken,然后将accessToken分发给各业务节点;基于Redis高速缓存技术进行信息存储;检查Redis中是否有未过期的accessToken,如果没有则自动获取微信的accessToken,然后通过Redis广播发送给各业务节点。本发明在高并发的系统中,实现高效获取微信令牌,并且解决微信对每日获取accessToken上限的问题。
Description
技术领域
本发明涉及高速缓存及微信应用技术领域,具体地说是一种解决高并发场景下微信令牌失效的方法。
背景技术
随着微信应用的不断广泛推广,微信小程序的不断完善,微信已经日渐成为人们生活中不可缺少的应用,在日常活动中很多场所及应用情境已经将微信应用作为有效工具进行利用,如全员核酸检测时的信息采集、用户的信息填报等。用户使用微信小程序进行信息填报,然后采集方可通过微信的accessToken来获取用户的身份信息;但是微信对每日获取accessToken的次数是有限制的,一旦当天的新用户数超过了上限,则再无法获取新的accessToken,这样就会降低信息采集的效率,不能突出微信应用便捷高效的意义。
发明内容
本发明的技术任务是针对以上不足之处,提供一种解决高并发场景下微信令牌失效的方法,能够在高并发的系统中,实现高效获取微信令牌,并且解决微信对每日获取accessToken上限的问题。
本发明解决其技术问题所采用的技术方案是:
一种解决高并发场景下微信令牌失效的方法,建立一个accessToken分发中心,只让这一个节点去获取accessToken,然后将accessToken分发给各业务节点;
基于Redis高速缓存技术进行信息存储;检查Redis中是否有未过期的accessToken,如果没有则自动获取微信的accessToken,然后通过Redis广播发送给各业务节点。
本方法能够在高并发的系统中实现高效获取微信令牌,解决微信对每日获取accessToken上限的问题。通过检查Redis中是否有未过期的accessToken,如果没有则自动获取微信的accessToken,然后通过Redis广播发送给各业务节点;既可以防止accessToken超时失效,又可以解决每日获取微信accessToken的上限的问题。
优选的,为了保证用户信息的安全性,在前后端交互的过程中使用业务令牌。
进一步的,所述业务令牌的生成流程如下:
用户打开小程序,前端会将微信的一次性code发送给后端;
后端使用令牌控制中心发放的accessToken和一次性code,从微信处获取用户手机号,然后后端再将获取的手机号和accessToken过期时间加密生成业务token,并与公钥一起传给前端;
前端使用公钥将用户填写的个人信息加密后传给后端,然后后端将用户信息生成静态二维码,用户在进行信息采集时只需要出示静态码即可。
进一步的,所述令牌控制中心流程如下:
在令牌控制中心节点启动时会自动检查Redis中是否有未过期的accessToken,如果没有的话,会自动获取微信的accessToken,然后通过Redis广播发送给各业务节点。
优选的,所述令牌控制中心,每隔固定时间获取一次accessToken,并广播给各业务节点,不需要个业务节点单独去请求微信获取accessToken,从而防止被微信限制accessToken获取次数。
优选的,所述固定时间为一个小时。
本发明还要求保护一种解决高并发场景下微信令牌失效的系统,在该系统中,建立一个accessToken分发中心,只让这一个节点去获取accessToken,然后将accessToken分发给各业务节点;
该系统实现上述的解决高并发场景下微信令牌失效的方法。
本发明还要求保护一种解决高并发场景下微信令牌失效的装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行上述的方法。
本发明的一种解决高并发场景下微信令牌失效的方法与现有技术相比,具有以下有益效果:
本方法通过建立accessToken分发中心,只让一个节点去获取accessToken,然后将accessToken分发给各业务节点;能够有效解决微信令牌accessToken每日获取上限的问题,可以克服微信每日获取accessToken上限次数的限制;基于Redis高速缓存技术进行信息存储,检查Redis中是否有未过期的accessToken,如果没有则自动获取微信的accessToken,然后通过Redis广播发送给各业务节点,同时解决了微信令牌accessToken过期的问题,适用于高并发系统。
附图说明
图1是本发明实施例提供的解决高并发场景下微信令牌失效的方法业务令牌生成的流程示图;
图2是是本发明实施例提供的解决高并发场景下微信令牌失效的方法令牌控制中心的流程示图。
具体实施方式
在疫情防控过程中,为了能更好地控制疫情,全员核酸检测是不可或缺的一环,全员核酸检测需要进行一对一信息采集,工作量巨大,如何有效提高核酸检测速度,显得尤为重要。为有效提高核酸检测速度,需要在检测前就做好身份信息的登记工作。出于用户体验的考虑,使用微信小程序进行用户信息的填报。我方通过微信的accessToken来获取用户的身份信息。但是微信对每日获取accessToken的次数是有限制的,一旦当天的新用户数超过了上限,则再无法获取新的accessToken,这样会大大降低核酸检测的速度,给用户造成不好的用户体验。
本发明实施例提供一种解决高并发场景下微信令牌失效的方法,能够在高并发的系统中实现高效获取微信令牌,解决微信对每日获取accessToken上限的问题。
本方法的实现方式为,建立一个accessToken分发中心,只让这一个节点去获取accessToken,然后将accessToken分发给各业务节点;
基于Redis高速缓存技术进行信息存储;检查Redis中是否有未过期的accessToken,如果没有则自动获取微信的accessToken,然后通过Redis广播发送给各业务节点。
通过上述方式,既可以防止accessToken超时失效,又可以解决每日获取微信accessToken的上限的问题。为了保证用户信息的安全性,在前后端交互的过程中使用业务令牌。
如图1所示,所述业务令牌的生成流程如下:
用户打开小程序,前端会将微信的一次性code发送给后端;
后端使用令牌控制中心发放的accessToken和一次性code,从微信处获取用户手机号,然后后端再将获取的手机号和accessToken过期时间加密生成业务token,并与公钥一起传给前端;
前端使用公钥将用户填写的个人信息加密后传给后端,然后后端将用户信息生成静态二维码,用户在做核酸时只需要出示静态码即可,可以有效提高核酸检测速度。
如图2所示,所述令牌控制中心流程如下:
在令牌控制中心节点启动时会自动检查Redis中是否有未过期的accessToken,如果没有的话,会自动获取微信的accessToken,然后通过Redis广播发送给各业务节点;
然后,每隔一个小时获取一次accessToken,并广播给各业务节点,不需要个业务节点单独去请求微信获取accessToken,从而防止被微信限制accessToken获取次数。
本实施例以全员核酸检测时被测者信息采集为例进行说明,通过检查Redis中是否有未过期的accessToken,如果没有则自动获取微信的accessToken,然后通过Redis广播发送给各业务节点;既可以防止accessToken超时失效,又可以解决每日获取微信accessToken的上限的问题,从而有效解决了全员核酸检测时通过微信小程序进行用户信息的填报,当天的新用户数超过了上限则再无法获取新的accessToken而大大降低核酸检测的速度的问题。
本发明实施例还提供了一种解决高并发场景下微信令牌失效的系统,在该系统中,建立一个accessToken分发中心,只让这一个节点去获取accessToken,然后将accessToken分发给各业务节点;
该系统基于Redis高速缓存技术进行信息存储;检查Redis中是否有未过期的accessToken,如果没有则自动获取微信的accessToken,然后通过Redis广播发送给各业务节点。
为了保证用户信息的安全性,在前后端交互的过程中使用业务令牌。
所述业务令牌的生成流程如下:
用户打开小程序,前端会将微信的一次性code发送给后端;
后端使用令牌控制中心发放的accessToken和一次性code,从微信处获取用户手机号,然后后端再将获取的手机号和accessToken过期时间加密生成业务token,并与公钥一起传给前端;
前端使用公钥将用户填写的个人信息加密后传给后端,然后后端将用户信息生成静态二维码,用户在做核酸时只需要出示静态码即可,可以有效提高核酸检测速度。
令牌控制中心流程如下:
在令牌控制中心节点启动时会自动检查Redis中是否有未过期的accessToken,如果没有的话,会自动获取微信的accessToken,然后通过Redis广播发送给各业务节点;
然后,每隔一个小时获取一次accessToken,并广播给各业务节点,不需要个业务节点单独去请求微信获取accessToken,从而防止被微信限制accessToken获取次数。
本发明实施例还提供了一种解决高并发场景下微信令牌失效的装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行本发明上述实施例所述的方法。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (8)
1.一种解决高并发场景下微信令牌失效的方法,其特征在于建立一个accessToken分发中心,只让这一个节点去获取accessToken,然后将accessToken分发给各业务节点;
基于Redis高速缓存技术进行信息存储;检查Redis中是否有未过期的accessToken,如果没有则自动获取微信的accessToken,然后通过Redis广播发送给各业务节点。
2.根据权利要求1所述的一种解决高并发场景下微信令牌失效的方法,其特征在于,在前后端交互的过程中使用业务令牌。
3.根据权利要求2所述的一种解决高并发场景下微信令牌失效的方法,其特征在于,所述业务令牌的生成流程如下:
用户打开小程序,前端会将微信的一次性code发送给后端;
后端使用令牌控制中心发放的accessToken和一次性code,从微信处获取用户手机号,然后后端再将获取的手机号和accessToken过期时间加密生成业务token,并与公钥一起传给前端;
前端使用公钥将用户填写的个人信息加密后传给后端,然后后端将用户信息生成静态二维码,用户在进行信息采集时只需要出示静态码即可。
4.根据权利要求2或3所述的一种解决高并发场景下微信令牌失效的方法,其特征在于,所述令牌控制中心流程如下:
在令牌控制中心节点启动时会自动检查Redis中是否有未过期的accessToken,如果没有的话,会自动获取微信的accessToken,然后通过Redis广播发送给各业务节点。
5.根据权利要求4所述的一种解决高并发场景下微信令牌失效的方法,其特征在于,所述令牌控制中心,每隔固定时间获取一次accessToken,并广播给各业务节点,不需要个业务节点单独去请求微信获取accessToken,从而防止被微信限制accessToken获取次数。
6.根据权利要求5所述的一种解决高并发场景下微信令牌失效的方法,其特征在于,所述固定时间为一个小时。
7.一种解决高并发场景下微信令牌失效的系统,其特征在于,建立一个accessToken分发中心,只让这一个节点去获取accessToken,然后将accessToken分发给各业务节点;
该系统实现权利要求1至6任一项所述的解决高并发场景下微信令牌失效的方法。
8.一种解决高并发场景下微信令牌失效的装置,其特征在于包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210539745.XA CN114928487A (zh) | 2022-05-18 | 2022-05-18 | 一种解决高并发场景下微信令牌失效的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210539745.XA CN114928487A (zh) | 2022-05-18 | 2022-05-18 | 一种解决高并发场景下微信令牌失效的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114928487A true CN114928487A (zh) | 2022-08-19 |
Family
ID=82809119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210539745.XA Pending CN114928487A (zh) | 2022-05-18 | 2022-05-18 | 一种解决高并发场景下微信令牌失效的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114928487A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002091308A1 (en) * | 2001-05-09 | 2002-11-14 | John Wolfgang Halpern | Region wide travel pass system |
WO2016188290A1 (zh) * | 2015-05-27 | 2016-12-01 | 阿里巴巴集团控股有限公司 | Api调用的安全认证方法、装置、系统 |
CN106411825A (zh) * | 2015-08-03 | 2017-02-15 | 天脉聚源(北京)科技有限公司 | 一种微信访问令牌获取方法及系统 |
CN108833296A (zh) * | 2018-04-08 | 2018-11-16 | 阿里巴巴集团控股有限公司 | 批处理速率的控制方法和装置 |
CN110620670A (zh) * | 2019-10-15 | 2019-12-27 | 深圳市小赢信息技术有限责任公司 | 令牌获取方法、数据采集系统、代理服务器和存储介质 |
WO2020256666A1 (en) * | 2019-06-21 | 2020-12-24 | Medianova Internet Hizmetleri Ve Ticaret Anonim Sirketi | A media streaming system compatible with content distribution networks |
CN112528262A (zh) * | 2020-12-10 | 2021-03-19 | 平安科技(深圳)有限公司 | 基于令牌的应用程序访问方法、装置、介质及电子设备 |
CN113065115A (zh) * | 2021-03-18 | 2021-07-02 | 中睿信数字技术有限公司 | 基于oauth2.0实现小程序登录安全和无网络隔离下认证鉴权方法 |
CN113918919A (zh) * | 2021-12-14 | 2022-01-11 | 天聚地合(苏州)数据股份有限公司 | 一种基于Redis的令牌获取方法、装置及电子设备 |
CN114257551A (zh) * | 2021-12-07 | 2022-03-29 | 中信银行股份有限公司 | 一种分布式限流的方法及系统、存储介质 |
-
2022
- 2022-05-18 CN CN202210539745.XA patent/CN114928487A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002091308A1 (en) * | 2001-05-09 | 2002-11-14 | John Wolfgang Halpern | Region wide travel pass system |
WO2016188290A1 (zh) * | 2015-05-27 | 2016-12-01 | 阿里巴巴集团控股有限公司 | Api调用的安全认证方法、装置、系统 |
CN106411825A (zh) * | 2015-08-03 | 2017-02-15 | 天脉聚源(北京)科技有限公司 | 一种微信访问令牌获取方法及系统 |
CN108833296A (zh) * | 2018-04-08 | 2018-11-16 | 阿里巴巴集团控股有限公司 | 批处理速率的控制方法和装置 |
WO2020256666A1 (en) * | 2019-06-21 | 2020-12-24 | Medianova Internet Hizmetleri Ve Ticaret Anonim Sirketi | A media streaming system compatible with content distribution networks |
CN110620670A (zh) * | 2019-10-15 | 2019-12-27 | 深圳市小赢信息技术有限责任公司 | 令牌获取方法、数据采集系统、代理服务器和存储介质 |
CN112528262A (zh) * | 2020-12-10 | 2021-03-19 | 平安科技(深圳)有限公司 | 基于令牌的应用程序访问方法、装置、介质及电子设备 |
CN113065115A (zh) * | 2021-03-18 | 2021-07-02 | 中睿信数字技术有限公司 | 基于oauth2.0实现小程序登录安全和无网络隔离下认证鉴权方法 |
CN114257551A (zh) * | 2021-12-07 | 2022-03-29 | 中信银行股份有限公司 | 一种分布式限流的方法及系统、存储介质 |
CN113918919A (zh) * | 2021-12-14 | 2022-01-11 | 天聚地合(苏州)数据股份有限公司 | 一种基于Redis的令牌获取方法、装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
邹军国;: "基于Token的身份认证在高校实训互动平台中的应用研究", 无线互联科技, no. 17 * |
陈少涌;李哲夫;许晓旋;朱华森;: "基于微信小程序的签到系统设计与实现", 中国教育信息化, no. 11 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107993359B (zh) | 一种基于区块链的端对端自行车共享系统及方法 | |
CN109936845B (zh) | 一种智能设备配网方法和装置 | |
CN110868301B (zh) | 一种基于国密算法的身份认证系统及方法 | |
US20060250987A1 (en) | Conference call facility | |
HK1095398A1 (en) | Method and apparatus for personalization and identity management | |
CN105933318A (zh) | 数据保密方法、装置及系统 | |
MXPA06000156A (es) | Sistema de facturacion con datos en caso de transaccion en un dispositivo inalambrico autenticado. | |
EP1162531A3 (en) | System and method for distributed network access and control enabling high availability, security and survivability | |
CN110225050B (zh) | Jwt令牌的管理方法 | |
US20180367535A1 (en) | Method And Apparatus For Preventing Nuisance Call | |
CN103945374A (zh) | 一种基于pki技术的移动终端设备及用户认证的方法 | |
CN105992125B (zh) | 一种电子设备安全保护的方法和装置 | |
CN111464626A (zh) | 一种文件存储方法 | |
CN103906052A (zh) | 一种移动终端认证方法、业务访问方法及设备 | |
KR20100048986A (ko) | 무선 인터넷 공유를 위한 무선랜 장치로의 접속방법 | |
CN104244229A (zh) | 一种基于智能终端的虚拟号码网络鉴权处理系统与方法 | |
CN111093160A (zh) | 一种呼叫方法、设备及系统 | |
CN114928487A (zh) | 一种解决高并发场景下微信令牌失效的方法 | |
EP3419321A1 (en) | Resource allocation method, device and system | |
CN113543054A (zh) | 中继服务方法及装置 | |
CN111586593B (zh) | 临时组呼的发起方法、装置及存储介质 | |
CN111988777A (zh) | 一号双终端业务的处理方法及核心网设备、服务器 | |
CN108769436B (zh) | 一种基于ussd与二维码的用户手机安全隐私定制化保护方法 | |
CN101400057B (zh) | 密钥更新方法、基站和移动台 | |
US11223957B1 (en) | Method of privatizing mobile communications using dynamic IMSI and MSISDN |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |