CN108418821A - 基于Redis与Kafka的线上抢购系统高并发场景处理方法及装置 - Google Patents

基于Redis与Kafka的线上抢购系统高并发场景处理方法及装置 Download PDF

Info

Publication number
CN108418821A
CN108418821A CN201810181830.7A CN201810181830A CN108418821A CN 108418821 A CN108418821 A CN 108418821A CN 201810181830 A CN201810181830 A CN 201810181830A CN 108418821 A CN108418821 A CN 108418821A
Authority
CN
China
Prior art keywords
user
token
module
logs
operation 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.)
Granted
Application number
CN201810181830.7A
Other languages
English (en)
Other versions
CN108418821B (zh
Inventor
戴上静
李�杰
战绪森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Bodian Technology Co ltd
Original Assignee
Beijing Jiaodian Xinganxian Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jiaodian Xinganxian Information Technology Co ltd filed Critical Beijing Jiaodian Xinganxian Information Technology Co ltd
Priority to CN201810181830.7A priority Critical patent/CN108418821B/zh
Publication of CN108418821A publication Critical patent/CN108418821A/zh
Application granted granted Critical
Publication of CN108418821B publication Critical patent/CN108418821B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0609Buyer or seller confidence or verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders
    • G06Q30/0637Approvals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/321Cryptographic 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/3213Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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 using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种基于Redis与Kafka的线上抢购系统高并发场景处理方法及装置,方法包括:基于用户登录请求生成登录令牌,将登录令牌写入前端Cookie和后端Redis缓存中,校验前端登录令牌与后端登录令牌是否匹配,若否,则返回操作失败结果,若是,则:判断用户登录令牌是否有效,若否,则返回操作失败结果,若是,则:判断是否获取到对应商品的商品锁,若否,则返回操作失败结果,若是,则:将抢购成功的请求数据推送给Kafka消息队列。本发明通过限流削峰处理,有效降低了服务器和数据库的负载压力,能够在短时间内承受大量的并发请求,极大地增加了集群的吞吐量;并通过对用户访问次数的前后端校验,能够快速找出作弊用户,保证了活动稳定、公平地进行。

Description

基于Redis与Kafka的线上抢购系统高并发场景处理方法及 装置
技术领域
本发明属于高并发场景处理技术领域,尤其涉及一种基于Redis与Kafka的线上抢购系统高并发场景处理方法及装置。
背景技术
随着互联网的普及,越来越多的用户选择利用网络购买商品、参与购房和摇号。商家为了吸引用户,经常会举办秒杀、限时抢购等优惠活动,即在有限时间里提供限量的优惠商品,由于价格低廉,往往一秒钟就被抢购一空。由于这种僧多粥少的情况,大量用户在活动开始前后频繁访问服务器,流量会比平时激增几倍甚至几十倍,给服务器带来巨大的压力,超过一定压力容量之后甚至会造成数据不能正常保存、服务无法响应的情况。并且由于有利可图,往往会有用户花高价向工作室购买作弊工具,在短时间内用作弊工具大量访问服务器,不仅破坏了活动的公平性,也给服务器带来更大的负载压力。
目前,大多数站点使用验证码来阻止用户作弊。但对于有经验的工作室来说,验证码可以用提前访问、图形识别等多种手段破解,只能增加普通用户的成本,而让作弊者得利。
因此,如何有效的对高并发场景的海量请求进行处理是一项亟待解决的问题。
发明内容
有鉴于此,本发明提供了一种基于Redis与Kafka的线上抢购系统高并发场景处理方法,从前端开始对各层级模块进行限流处理,限制单个用户的请求频率,使用持久化缓存技术,利用Kafka消息队列对模块异步解耦,将请求的逻辑判断与数据的写操作分离,解决了现有技术中数据库负载过重的问题,并有利于请求的快速响应和反馈;同时通过前后端数据校验的方法来代替旧有的验证码机制,使得用户作弊的成本大大增加,有效地阻止了用户作弊行为。
为了实现上述目的,本发明提供如下技术方案:
一种基于Redis与Kafka的线上抢购系统高并发场景处理方法,包括:
基于用户登录请求生成登录令牌;
将所述登录令牌写入前端Cookie和后端Redis缓存中;
校验前端登录令牌与后端登录令牌是否匹配,若否,则返回操作失败结果,若是,则:
判断所述用户登录令牌是否有效,若否,则返回操作失败结果,若是,则:
判断是否获取到对应商品的商品锁,若否,则返回操作失败结果,若是,则:
将抢购成功的请求数据推送给Kafka消息队列。
优选地,所述基于用户登录请求生成登录令牌包括:
记录所述用户登录的时间戳;
将所述时间戳与所述用户ID拼接字符串;
通过Hash运算生成所述令牌。
优选地,所述将抢购成功的请求数据推送给Kafka消息队列后,还包括:
消费所述Kafka消息队列中的记录,将所述抢购成功的请求数据写入数据库;
发送通知短信给用户;
通过WebSocket传递成交记录给前端前台。
优选地,所述将所述登录令牌写入前端Cookie和后端Redis缓存中后,还包括:
记录所述用户的访问次数;
判断基于所述访问次数做Hash生成的防作弊校验码是否合法,若否,则:
返回操作失败结果。
优选地,所述方法还包括:
获取用户频率锁;
基于所述频率锁判断所述用户的访问频率是否超过预设阈值,若是,则:
返回操作失败结果。
一种基于Redis与Kafka的线上抢购系统高并发场景处理装置,包括:
生成模块,用于基于用户登录请求生成登录令牌;
第一写入模块,用于将所述登录令牌写入前端Cookie和后端Redis缓存中;
校验模块,用于校验前端登录令牌与后端登录令牌是否匹配;
返回模块,用于当前端登录令牌与后端登录令牌不匹配时,返回操作失败结果;
第一判断模块,用于当前端登录令牌与后端登录令牌匹配时,判断所述用户登录令牌是否有效;
所述返回模块,还用于当所述用户登录令牌无效时,返回操作失败结果;
第二判断模块,用于当所述用户登录令牌有效时,判断是否获取到对应商品的商品锁;
所述返回模块,还用于当未获取到对应商品的商品锁时,返回操作失败结果;
推送模块,用于当获取到对应商品的商品锁时,将抢购成功的请求数据推送给Kafka消息队列。
优选地,所述生成模块具体用于:
记录所述用户登录的时间戳;
将所述时间戳与所述用户ID拼接字符串;
通过Hash运算生成所述令牌。
优选地,所述装置还包括:
第二写入模块,用于消费所述Kafka消息队列中的记录,将所述抢购成功的请求数据写入数据库;
发送模块,用于发送通知短信给用户;
传递模块,用于通过WebSocket传递成交记录给前端前台。
优选地,所述装置还包括:
记录模块,用于记录所述用户的访问次数;
第三判断模块,用于判断基于所述访问次数做Hash生成的防作弊校验码是否合法;
所述返回模块,还用于当基于所述访问次数做Hash生成的防作弊校验码不合法时,返回操作失败结果。
优选地,所述装置还包括:
获取模块,用于获取用户频率锁;
第四判断模块,用于基于所述频率锁判断所述用户的访问频率是否超过预设阈值;
所述返回模块,还用于当基于所述频率锁判断所述用户的访问频率超过预设阈值时,返回操作失败结果。
从上述技术方案可以看出,本发明提供了一种基于Redis与Kafka的线上抢购系统高并发场景处理方法,当需要对高并发场景的海量请求进行处理时,首先基于用户登录请求生成登录令牌,然后将登录令牌写入前端Cookie和后端Redis缓存中,校验前端登录令牌与后端登录令牌是否匹配,若否,则返回登录失败结果,若是,则:判断用户登录令牌是否有效,若否,则返回操作失败结果,若是,则:判断是否获取到对应商品的商品锁,若否,则返回操作失败结果,若是,则:将抢购成功的请求数据推送给Kafka消息队列。从前端开始对各层级模块进行限流处理,限制单个用户的请求频率,使用持久化缓存技术,利用Kafka消息队列对模块异步解耦,将请求的逻辑判断与数据的写操作分离,解决了现有技术中数据库负载过重的问题,并有利于请求的快速响应和反馈;同时通过前后端数据校验的方法来代替旧有的验证码机制,使得用户作弊的成本大大增加,有效地阻止了用户作弊行为。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明公开的一种基于Redis与Kafka的线上抢购系统高并发场景处理方法实施例1的方法流程图;
图2为本发明公开的一种基于Redis与Kafka的线上抢购系统高并发场景处理方法实施例2的方法流程图;
图3为本发明公开的一种基于Redis与Kafka的线上抢购系统高并发场景处理装置实施例1的结构示意图;
图4为本发明公开的一种基于Redis与Kafka的线上抢购系统高并发场景处理装置实施例2的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明公开的一种基于Redis与Kafka的线上抢购系统高并发场景处理方法实施例1的流程图,所述方法包括:
S101、基于用户登录请求生成登录令牌;
当在线上抢购系统中需要对高并发场景的海量请求进行处理时,首先根据用户对线上抢购系统的登录请求生成相应的登录令牌。
S102、将登录令牌写入前端Cookie和后端Redis缓存中;
当生成登录令牌后,将登录令牌写入前端Cookie和后端Redis缓存中,便于后续对登录令牌进行校验。
S103、校验前端登录令牌与后端登录令牌是否匹配,若否,则进入S104,若是,则进入S105:
该登录令牌作为用户的登录凭证,每次发起抢购请求时,后端都会对该令牌做校验,判断前后端令牌是否匹配,若不匹配则直接返回失败结果,并提示用户重新登录。需要说明的是,若用户从另一设备登录时,会根据最新的时间戳生成新令牌覆盖旧令牌,使得原设备的前端Cookie中存储的令牌失效,这样保证每个用户只能在一台终端设备上登录。
S104、返回操作失败结果;
S105、判断用户登录令牌是否有效,若否,则进入S104,若是,则进入S106:
对发送到服务器的请求做合法性校验,判断用户登录令牌和校验码是否正确,判断活动是否正在进行,判断该用户是否具有抢购资格,对没通过校验的请求全部返回失败结果。
S106、判断是否获取到对应商品的商品锁,若否,则进入S104,若是,则进入S107:
获取对应商品的商品锁,若获取失败,则认为该商品库存已经不足,返回失败结果;若获取商品锁成功,则认为本次抢购成功,返回成功结果。
S107、将抢购成功的请求数据推送给Kafka消息队列。
需要说明的是,商品锁通过Redis分布式非阻塞锁实现,只尝试一次,不阻塞等待。对于后端所常用的热数据,如活动描述等数据,存储在本地缓存方便多次读取;对于前端所用到的静态资源文件,通过CDN进行服务分发,减轻服务器的负载压力。将逻辑判断与数据写入操作分离,当用户获取商品锁成功就直接返回成功结果,后续操作通过Kafka异步处理,提高了响应速度,减轻了数据库压力。
综上所述,在上述实施例中,当需要对高并发场景的海量请求进行处理时,首先基于用户登录请求生成登录令牌,然后将登录令牌写入前端Cookie和后端Redis缓存中,校验前端登录令牌与后端登录令牌是否匹配,若否,则返回登录失败结果,若是,则:判断用户登录令牌是否有效,若否,则返回操作失败结果,若是,则:判断是否获取到对应商品的商品锁,若否,则返回操作失败结果,若是,则:将抢购成功的请求数据推送给Kafka消息队列。从前端开始对各层级模块进行限流处理,限制单个用户的请求频率,使用持久化缓存技术,利用Kafka消息队列对模块异步解耦,将请求的逻辑判断与数据的写操作分离,解决了现有技术中数据库负载过重的问题,并有利于请求的快速响应和反馈;同时通过前后端数据校验的方法来代替旧有的验证码机制,使得用户作弊的成本大大增加,有效地阻止了用户作弊行为。
如图2所示,为本发明公开的一种基于Redis与Kafka的线上抢购系统高并发场景处理方法实施例2的流程图,所述方法包括:
S201、基于用户登录请求生成登录令牌;
当在线上抢购系统中需要对高并发场景的海量请求进行处理时,首先根据用户对线上抢购系统的登录请求生成相应的登录令牌。在生成登录令牌时,基于用户的登录请求,记录用户登录的时间戳,与用户ID拼接字符串,然后做Hash运算生成登录令牌。
S202、将登录令牌写入前端Cookie和后端Redis缓存中;
当生成登录令牌后,将登录令牌写入前端Cookie和后端Redis缓存中,便于后续对登录令牌进行校验。
S203、记录用户的访问次数;
S204、判断基于访问次数做Hash生成的防作弊校验码是否合法,若否,则进入S205,若是,则进入S206:
S205、返回操作失败结果。
前端模块通过后端页面直出数据获取用户初始访问次数,用户每次抢购时,将用户ID、商品ID和访问次数拼接成字符串,再进行Hash运算后作为校验码传递给后端接口,并记录访问次数加一;后端模块接收到请求后,记录增加后的访问次数数值,再利用增加前的访问次数数值以同样算法加密,判断是否匹配。通过前后端共同记录用户访问次数的方式,保证了用户每次发起请求时的校验码都不相同,即使用户模拟前端点击提前获取了一次后端请求接口样例,也无法判断下一次的请求校验码,从而杜绝了用户绕过前端直接用作弊工具频繁调用后端接口的可能。
S206、校验前端登录令牌与后端登录令牌是否匹配,若否,则进入S205,若是,则进入S207:
该登录令牌作为用户的登录凭证,每次发起抢购请求时,后端都会对该令牌做校验,判断前后端令牌是否匹配,若不匹配则直接返回失败结果,并提示用户重新登录。需要说明的是,若用户从另一设备登录时,会根据最新的时间戳生成新令牌覆盖旧令牌,使得原设备的前端Cookie中存储的令牌失效,这样保证每个用户只能在一台终端设备上登录。
S207、判断用户登录令牌是否有效,若否,则进入S205,若是,则进入S208:
对发送到服务器的请求做合法性校验,判断用户登录令牌和校验码是否正确,判断活动是否正在进行,判断该用户是否具有抢购资格,对没通过校验的请求全部返回失败结果。
S208、获取用户频率锁;
S209、基于频率锁判断用户的访问频率是否超过预设阈值,若是,则进入S205,若否,则进入S210:
获取用户频率锁,若获取失败,则判断用户访问频率超过了限制,将服务器存储的用户登录令牌置为失效,返回失败结果。
S210、判断是否获取到对应商品的商品锁,若否,则进入S205,若是,则进入S211:
获取对应商品的商品锁,若获取失败,则认为该商品库存已经不足,返回失败结果;若获取商品锁成功,则认为本次抢购成功,返回成功结果。
需要说明的是,频率锁和商品锁都是通过Redis分布式非阻塞锁实现,只尝试一次,不阻塞等待。对于后端所常用的热数据,如活动描述等数据,存储在本地缓存方便多次读取;对于前端所用到的静态资源文件,通过CDN进行服务分发,减轻服务器的负载压力。将逻辑判断与数据写入操作分离,当用户获取商品锁成功就直接返回成功结果,后续操作通过Kafka异步处理,提高了响应速度,减轻了数据库压力。
S211、将抢购成功的请求数据推送给Kafka消息队列;
S212、消费Kafka消息队列中的记录,将抢购成功的请求数据写入数据库;
S213、发送通知短信给用户;
S214、通过WebSocket传递成交记录给前端前台。
综上所述,在上述实施例中,用户从前端登录时,记录最新的登录时间戳,覆盖之前的登录时间戳,存储在前端Cookie和后端缓存中;每次判断用户登录状态时,对比前后端时间戳,若不匹配则让用户重新登录;这样保证每个用户只能在一台终端设备上登录,每次登录会覆盖之前的登录,降低用户通过多台设备同时参与抢购的可能性;
前端抢购页面设定一个抢购等待时间,用户每次抢购之后必须等待一定时间才能再次发起请求,避免用户利用按键精灵等工具频繁点击按钮;
后端抢购接口对单个用户的访问频率做限制,若超过一定频次则删除服务器端的用户登录记录,需要用户重新登录才能再次发起抢购;
利用Redis分布式锁来保证数据的一致性,代替传统的事务控制,以减少数据库链接的浪费;对单个商品的抢购事件加乐观锁,每次抢购商品都需要先获取锁,若获取失败则直接返回结果给用户;
某用户抢购某商品成功后,直接返回成功结果,再通过Kafka消息队列异步进行后续的数据写入和短信通知处理,将逻辑判断与数据写入模块解耦;
对于常用且不常更新的热资源,如活动介绍等数据,存储在服务器本地缓存;对图片、样式文件等静态资源,使用CDN进行服务分发,避免对业务服务器的直接访问。
如图3所示,为本发明公开的一种基于Redis与Kafka的线上抢购系统高并发场景处理装置实施例1的结构示意图,所述装置包括:
生成模块301,用于基于用户登录请求生成登录令牌;
当在线上抢购系统中需要对高并发场景的海量请求进行处理时,首先根据用户对线上抢购系统的登录请求生成相应的登录令牌。
第一写入模块302,用于将登录令牌写入前端Cookie和后端Redis缓存中;
当生成登录令牌后,将登录令牌写入前端Cookie和后端Redis缓存中,便于后续对登录令牌进行校验。
校验模块303,用于校验前端登录令牌与后端登录令牌是否匹配;
该登录令牌作为用户的登录凭证,每次发起抢购请求时,后端都会对该令牌做校验,判断前后端令牌是否匹配,若不匹配则直接返回失败结果,并提示用户重新登录。需要说明的是,若用户从另一设备登录时,会根据最新的时间戳生成新令牌覆盖旧令牌,使得原设备的前端Cookie中存储的令牌失效,这样保证每个用户只能在一台终端设备上登录。
返回模块304,用于当前端登录令牌与后端登录令牌不匹配时,返回操作失败结果;
第一判断模块305,用于当前端登录令牌与后端登录令牌匹配时,判断用户登录令牌是否有效;
对发送到服务器的请求做合法性校验,判断用户登录令牌和校验码是否正确,判断活动是否正在进行,判断该用户是否具有抢购资格,对没通过校验的请求全部返回失败结果。
返回模块304,还用于当所述用户登录令牌无效时,返回操作失败结果;
第二判断模块306,用于当所述用户登录令牌有效时,判断是否获取到对应商品的商品锁;
获取对应商品的商品锁,若获取失败,则认为该商品库存已经不足,返回失败结果;若获取商品锁成功,则认为本次抢购成功,返回成功结果。
返回模块304,还用于当未获取到对应商品的商品锁时,返回操作失败结果;
推送模块307,用于当获取到对应商品的商品锁时,将抢购成功的请求数据推送给Kafka消息队列。
需要说明的是,商品锁通过Redis分布式非阻塞锁实现,只尝试一次,不阻塞等待。对于后端所常用的热数据,如活动描述等数据,存储在本地缓存方便多次读取;对于前端所用到的静态资源文件,通过CDN进行服务分发,减轻服务器的负载压力。将逻辑判断与数据写入操作分离,当用户获取商品锁成功就直接返回成功结果,后续操作通过Kafka异步处理,提高了响应速度,减轻了数据库压力。
综上所述,在上述实施例中,当需要对高并发场景的海量请求进行处理时,首先基于用户登录请求生成登录令牌,然后将登录令牌写入前端Cookie和后端Redis缓存中,校验前端登录令牌与后端登录令牌是否匹配,若否,则返回登录失败结果,若是,则:判断用户登录令牌是否有效,若否,则返回操作失败结果,若是,则:判断是否获取到对应商品的商品锁,若否,则返回操作失败结果,若是,则:将抢购成功的请求数据推送给Kafka消息队列。从前端开始对各层级模块进行限流处理,限制单个用户的请求频率,使用持久化缓存技术,利用Kafka消息队列对模块异步解耦,将请求的逻辑判断与数据的写操作分离,解决了现有技术中数据库负载过重的问题,并有利于请求的快速响应和反馈;同时通过前后端数据校验的方法来代替旧有的验证码机制,使得用户作弊的成本大大增加,有效地阻止了用户作弊行为。
如图4所示,为本发明公开的一种基于Redis与Kafka的线上抢购系统高并发场景处理装置实施例2的结构示意图,所述装置包括:
生成模块401,用于基于用户登录请求生成登录令牌;
当在线上抢购系统中需要对高并发场景的海量请求进行处理时,首先根据用户对线上抢购系统的登录请求生成相应的登录令牌。在生成登录令牌时,基于用户的登录请求,记录用户登录的时间戳,与用户ID拼接字符串,然后做Hash运算生成登录令牌。
第一写入模块402,用于将登录令牌写入前端Cookie和后端Redis缓存中;
当生成登录令牌后,将登录令牌写入前端Cookie和后端Redis缓存中,便于后续对登录令牌进行校验。
记录模块403,用于记录用户的访问次数;
第三判断模块404,用于基于所述访问次数做Hash生成的防作弊校验码是否合法;
返回模块405,还用于当基于所述访问次数做Hash生成的防作弊校验码不合法时,返回操作失败结果。
前端模块通过后端页面直出数据获取用户初始访问次数,用户每次抢购时,将用户ID、商品ID和访问次数拼接成字符串,再进行Hash运算后作为校验码传递给后端接口,并记录访问次数加一;后端模块接收到请求后,记录增加后的访问次数数值,再利用增加前的访问次数数值以同样算法加密,判断是否匹配。通过前后端共同记录用户访问次数的方式,保证了用户每次发起请求时的校验码都不相同,即使用户模拟前端点击提前获取了一次后端请求接口样例,也无法判断下一次的请求校验码,从而杜绝了用户绕过前端直接用作弊工具频繁调用后端接口的可能。
校验模块406,用于校验前端登录令牌与后端登录令牌是否匹配;
该登录令牌作为用户的登录凭证,每次发起抢购请求时,后端都会对该令牌做校验,判断前后端令牌是否匹配,若不匹配则直接返回失败结果,并提示用户重新登录。需要说明的是,若用户从另一设备登录时,会根据最新的时间戳生成新令牌覆盖旧令牌,使得原设备的前端Cookie中存储的令牌失效,这样保证每个用户只能在一台终端设备上登录。
返回模块405,用于当前端登录令牌与后端登录令牌不匹配时,返回操作失败结果;
第一判断模块407,用于当前端登录令牌与后端登录令牌匹配时,判断用户登录令牌是否有效;
对发送到服务器的请求做合法性校验,判断用户登录令牌和校验码是否正确,判断活动是否正在进行,判断该用户是否具有抢购资格,对没通过校验的请求全部返回失败结果。
返回模块405,还用于当所述用户登录令牌无效时,返回操作失败结果;
获取模块408,用于获取用户频率锁;
第四判断模块409,用于基于频率锁判断所述用户的访问频率是否超过预设阈值;
返回模块405,还用于当基于所述频率锁判断所述用户的访问频率超过预设阈值时,返回操作失败结果。
获取用户频率锁,若获取失败,则判断用户访问频率超过了限制,将服务器存储的用户登录令牌置为失效,返回失败结果。
第二判断模块410,用于当所述用户登录令牌有效时,判断是否获取到对应商品的商品锁;
获取对应商品的商品锁,若获取失败,则认为该商品库存已经不足,返回失败结果;若获取商品锁成功,则认为本次抢购成功,返回成功结果。
需要说明的是,频率锁和商品锁都是通过Redis分布式非阻塞锁实现,只尝试一次,不阻塞等待。对于后端所常用的热数据,如活动描述等数据,存储在本地缓存方便多次读取;对于前端所用到的静态资源文件,通过CDN进行服务分发,减轻服务器的负载压力。将逻辑判断与数据写入操作分离,当用户获取商品锁成功就直接返回成功结果,后续操作通过Kafka异步处理,提高了响应速度,减轻了数据库压力。
返回模块405,还用于当未获取到对应商品的商品锁时,返回操作失败结果;
推送模块411,用于当获取到对应商品的商品锁时,将抢购成功的请求数据推送给Kafka消息队列;
第二写入模块412,用于消费Kafka消息队列中的记录,将抢购成功的请求数据写入数据库;
发送模块413,用于发送通知短信给用户;
传递模块414,用于通过WebSocket传递成交记录给前端前台。
综上所述,在上述实施例中,用户从前端登录时,记录最新的登录时间戳,覆盖之前的登录时间戳,存储在前端Cookie和后端缓存中;每次判断用户登录状态时,对比前后端时间戳,若不匹配则让用户重新登录;这样保证每个用户只能在一台终端设备上登录,每次登录会覆盖之前的登录,降低用户通过多台设备同时参与抢购的可能性;
前端抢购页面设定一个抢购等待时间,用户每次抢购之后必须等待一定时间才能再次发起请求,避免用户利用按键精灵等工具频繁点击按钮;
后端抢购接口对单个用户的访问频率做限制,若超过一定频次则删除服务器端的用户登录记录,需要用户重新登录才能再次发起抢购;
利用Redis分布式锁来保证数据的一致性,代替传统的事务控制,以减少数据库链接的浪费;对单个商品的抢购事件加乐观锁,每次抢购商品都需要先获取锁,若获取失败则直接返回结果给用户;
某用户抢购某商品成功后,直接返回成功结果,再通过Kafka消息队列异步进行后续的数据写入和短信通知处理,将逻辑判断与数据写入模块解耦;
对于常用且不常更新的热资源,如活动介绍等数据,存储在服务器本地缓存;对图片、样式文件等静态资源,使用CDN进行服务分发,避免对业务服务器的直接访问。
为了更加特定地强调实施的独立性,本说明书涉及许多模块或单元。举例而言,模块或单元可由硬件电路实现,该硬件电路包括特制VLSI电路或门阵列,比如逻辑芯片、晶体管,或其它组件。模块或单元也可在可编程的硬设备中实现,比如场效可编程门阵列、可编程阵列逻辑、可编程逻辑设备等等。
模块或单元也可在藉由各种形式的处理器所执行的软件中实现。比如说,一可执行码模块可包括一个或多个实体的或逻辑的计算机指令区块,该区块可能形成为,比如说,对象、程序或函数。然而,鉴别模块或单元的可执行部分不需要物理上放置在一起,但可由存于不同位置的不同指令所组成,当逻辑上组合在一起时,形成模块或单元且达到该模块或单元所要求的目的。
实际上,可执行码模块或单元可以是一单一指令或多个指令,甚至可以分布在位于不同的程序的数个不同的码区段,并且横跨数个存储设备。同样地,操作数据可被辨识及显示于此模块或单元中,并且可以以任何合适的形式实施且在任何合适的数据结构形式内组织。操作数据可以集合成单一数据集,或可分布在具有不同的存储设备的不同的位置,且至少部分地只以电子信号方式存在于一系统或网络。
本说明书所提及的“实施例”或类似用语表示与实施例有关的特性、结构或特征,包括在本发明的至少一实施例中。因此,本说明书所出现的用语“在一实施例中”、“在实施例中”以及类似用语可能但不必然都指向相同实施例。
再者,本发明所述特性、结构或特征可以以任何方式结合在一个或多个实施例中。以下说明将提供许多特定的细节,比如编程序、软件模块、用户选择、网络交易、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等例子,以提供对本发明实施例的了解。然而相关领域的普通技术人员将看出本发明,即使没有利用其中一个或多个特定细节,或利用其它方法、组件、材料等亦可实施。另一方面,为避免混淆本发明,公知的结构、材料或操作并没有详细描述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于Redis与Kafka的线上抢购系统高并发场景处理方法,其特征在于,包括:
基于用户登录请求生成登录令牌;
将所述登录令牌写入前端Cookie和后端Redis缓存中;
校验前端登录令牌与后端登录令牌是否匹配,若否,则返回操作失败结果,若是,则:
判断所述用户登录令牌是否有效,若否,则返回操作失败结果,若是,则:
判断是否获取到对应商品的商品锁,若否,则返回操作失败结果,若是,则:
将抢购成功的请求数据推送给Kafka消息队列。
2.根据权利要求1所述的方法,其特征在于,所述基于用户登录请求生成登录令牌包括:
记录所述用户登录的时间戳;
将所述时间戳与所述用户ID拼接字符串;
通过Hash运算生成所述令牌。
3.根据权利要求1所述的方法,其特征在于,所述将抢购成功的请求数据推送给Kafka消息队列后,还包括:
消费所述Kafka消息队列中的记录,将所述抢购成功的请求数据写入数据库;
发送通知短信给用户;
通过WebSocket传递成交记录给前端前台。
4.根据权利要求1所述的方法,其特征在于,所述将所述登录令牌写入前端Cookie和后端Redis缓存中后,还包括:
记录所述用户的访问次数;
判断基于所述访问次数做Hash生成的防作弊校验码是否合法,若否,则:
返回操作失败结果。
5.根据权利要求1所述的方法,其特征在于,还包括:
获取用户频率锁;
基于所述频率锁判断所述用户的访问频率是否超过预设阈值,若是,则:
返回操作失败结果。
6.一种基于Redis与Kafka的线上抢购系统高并发场景处理装置,其特征在于,包括:
生成模块,用于基于用户登录请求生成登录令牌;
第一写入模块,用于将所述登录令牌写入前端Cookie和后端Redis缓存中;
校验模块,用于校验前端登录令牌与后端登录令牌是否匹配;
返回模块,用于当前端登录令牌与后端登录令牌不匹配时,返回操作失败结果;
第一判断模块,用于当前端登录令牌与后端登录令牌匹配时,判断所述用户登录令牌是否有效;
所述返回模块,还用于当所述用户登录令牌无效时,返回操作失败结果;
第二判断模块,用于当所述用户登录令牌有效时,判断是否获取到对应商品的商品锁;
所述返回模块,还用于当未获取到对应商品的商品锁时,返回操作失败结果;
推送模块,用于当获取到对应商品的商品锁时,将抢购成功的请求数据推送给Kafka消息队列。
7.根据权利要求6所述的装置,其特征在于,所述生成模块具体用于:
记录所述用户登录的时间戳;
将所述时间戳与所述用户ID拼接字符串;
通过Hash运算生成所述令牌。
8.根据权利要求6所述的装置,其特征在于,还包括:
第二写入模块,用于消费所述Kafka消息队列中的记录,将所述抢购成功的请求数据写入数据库;
发送模块,用于发送通知短信给用户;
传递模块,用于通过WebSocket传递成交记录给前端前台。
9.根据权利要求6所述的装置,其特征在于,还包括:
记录模块,用于记录所述用户的访问次数;
第三判断模块,用于判断基于所述访问次数做Hash生成的防作弊校验码是否合法;
所述返回模块,还用于当基于所述访问次数做Hash生成的防作弊校验码不合法时,返回操作失败结果。
10.根据权利要求6所述的装置,其特征在于,还包括:
获取模块,用于获取用户频率锁;
第四判断模块,用于基于所述频率锁判断所述用户的访问频率是否超过预设阈值;
所述返回模块,还用于当基于所述频率锁判断所述用户的访问频率超过预设阈值时,返回操作失败结果。
CN201810181830.7A 2018-03-06 2018-03-06 基于Redis与Kafka的线上抢购系统高并发场景处理方法及装置 Active CN108418821B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810181830.7A CN108418821B (zh) 2018-03-06 2018-03-06 基于Redis与Kafka的线上抢购系统高并发场景处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810181830.7A CN108418821B (zh) 2018-03-06 2018-03-06 基于Redis与Kafka的线上抢购系统高并发场景处理方法及装置

Publications (2)

Publication Number Publication Date
CN108418821A true CN108418821A (zh) 2018-08-17
CN108418821B CN108418821B (zh) 2021-06-18

Family

ID=63129792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810181830.7A Active CN108418821B (zh) 2018-03-06 2018-03-06 基于Redis与Kafka的线上抢购系统高并发场景处理方法及装置

Country Status (1)

Country Link
CN (1) CN108418821B (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109447741A (zh) * 2018-10-16 2019-03-08 翟红鹰 提高交易处理速度的方法、系统、设备及存储介质
CN109670488A (zh) * 2019-01-31 2019-04-23 湖北省基础地理信息中心(湖北省北斗卫星导航应用技术研究院) 一种视频数据典型动态目标检测方法及系统
CN109857739A (zh) * 2019-01-28 2019-06-07 中国石油大学(华东) 一种基于RK(Redis and Kafka)的实时高效缓存机制
CN110389946A (zh) * 2019-07-18 2019-10-29 福建威盾科技集团有限公司 一种针对wifi探针采集的海量数据的去重方法及系统
CN111125123A (zh) * 2019-11-18 2020-05-08 苏宁云计算有限公司 一种基于redis实现跨库操作一致性的方法和系统
CN111324622A (zh) * 2020-02-20 2020-06-23 中国建设银行股份有限公司 一种资源抢购的处理方法、装置、设备及存储介质
CN111461643A (zh) * 2020-03-17 2020-07-28 上海维信荟智金融科技有限公司 资方路由方法及系统
CN111782669A (zh) * 2020-06-28 2020-10-16 百度在线网络技术(北京)有限公司 一种分布式锁的实现方法、装置及电子设备
CN112102044A (zh) * 2020-11-10 2020-12-18 成都四方伟业软件股份有限公司 一种消息队列处理高并发秒杀商品的方法、系统及装置
CN112330420A (zh) * 2020-11-27 2021-02-05 中国农业银行股份有限公司 一种订单取消方法和相关装置
CN112615844A (zh) * 2020-12-14 2021-04-06 浪潮云信息技术股份公司 一种应用于前后端分离场景的登录与鉴权系统
CN112615875A (zh) * 2020-12-24 2021-04-06 中国农业银行股份有限公司 一种用户访问控制方法及装置
CN112749199A (zh) * 2021-01-25 2021-05-04 上海伯俊软件科技有限公司 一种库存管理方法
CN112801753A (zh) * 2021-02-09 2021-05-14 深圳市富途网络科技有限公司 页面显示方法、装置及介质
CN112860452A (zh) * 2021-02-02 2021-05-28 浪潮云信息技术股份公司 提高高并发情况响应速度的方法、装置及计算机可读介质
CN112990823A (zh) * 2021-03-29 2021-06-18 武汉虹信技术服务有限责任公司 一种实现库存管理的方法、系统及存储介质
CN113129116A (zh) * 2021-05-19 2021-07-16 福建天晴在线互动科技有限公司 一种高性能的提单抢购方法及其系统
CN113141337A (zh) * 2020-01-19 2021-07-20 上海静客网络科技有限公司 线上抢购系统高并发场景处理方法
CN113794679A (zh) * 2021-08-02 2021-12-14 浪潮软件股份有限公司 防止自动脚本抢号的方法及系统
CN115776522A (zh) * 2022-11-23 2023-03-10 紫光云技术有限公司 一种处理商品预订的高并发系统及方法
CN116595099A (zh) * 2023-05-22 2023-08-15 北京言子初科技有限公司 高并发数据异步处理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105960776A (zh) * 2014-02-04 2016-09-21 维萨国际服务协会 使用有限使用证书进行令牌验证
CN106997546A (zh) * 2016-01-26 2017-08-01 中国移动通信集团安徽有限公司 一种订单处理方法及装置
CN107038162A (zh) * 2016-02-03 2017-08-11 滴滴(中国)科技有限公司 基于数据库日志的实时数据查询方法和系统
CN107147644A (zh) * 2017-05-10 2017-09-08 四川长虹电器股份有限公司 一种实现移动app用户在单一设备登录的方法
CN107404488A (zh) * 2017-08-07 2017-11-28 上海斐讯数据通信技术有限公司 一种同一应用多终端设备互斥方法及装置
CN107679931A (zh) * 2017-08-17 2018-02-09 平安科技(深圳)有限公司 订单异步处理的方法、装置、存储介质及终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105960776A (zh) * 2014-02-04 2016-09-21 维萨国际服务协会 使用有限使用证书进行令牌验证
CN106997546A (zh) * 2016-01-26 2017-08-01 中国移动通信集团安徽有限公司 一种订单处理方法及装置
CN107038162A (zh) * 2016-02-03 2017-08-11 滴滴(中国)科技有限公司 基于数据库日志的实时数据查询方法和系统
CN107147644A (zh) * 2017-05-10 2017-09-08 四川长虹电器股份有限公司 一种实现移动app用户在单一设备登录的方法
CN107404488A (zh) * 2017-08-07 2017-11-28 上海斐讯数据通信技术有限公司 一种同一应用多终端设备互斥方法及装置
CN107679931A (zh) * 2017-08-17 2018-02-09 平安科技(深圳)有限公司 订单异步处理的方法、装置、存储介质及终端

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109447741A (zh) * 2018-10-16 2019-03-08 翟红鹰 提高交易处理速度的方法、系统、设备及存储介质
CN109857739A (zh) * 2019-01-28 2019-06-07 中国石油大学(华东) 一种基于RK(Redis and Kafka)的实时高效缓存机制
CN109670488A (zh) * 2019-01-31 2019-04-23 湖北省基础地理信息中心(湖北省北斗卫星导航应用技术研究院) 一种视频数据典型动态目标检测方法及系统
CN110389946A (zh) * 2019-07-18 2019-10-29 福建威盾科技集团有限公司 一种针对wifi探针采集的海量数据的去重方法及系统
CN110389946B (zh) * 2019-07-18 2023-01-24 福建威盾科技集团有限公司 一种针对wifi探针采集的海量数据的去重方法及系统
CN111125123A (zh) * 2019-11-18 2020-05-08 苏宁云计算有限公司 一种基于redis实现跨库操作一致性的方法和系统
CN111125123B (zh) * 2019-11-18 2022-12-30 苏宁云计算有限公司 一种基于redis实现跨库操作一致性的方法和系统
CN113141337A (zh) * 2020-01-19 2021-07-20 上海静客网络科技有限公司 线上抢购系统高并发场景处理方法
CN111324622A (zh) * 2020-02-20 2020-06-23 中国建设银行股份有限公司 一种资源抢购的处理方法、装置、设备及存储介质
CN111461643A (zh) * 2020-03-17 2020-07-28 上海维信荟智金融科技有限公司 资方路由方法及系统
CN111782669A (zh) * 2020-06-28 2020-10-16 百度在线网络技术(北京)有限公司 一种分布式锁的实现方法、装置及电子设备
CN111782669B (zh) * 2020-06-28 2023-12-12 百度在线网络技术(北京)有限公司 一种分布式锁的实现方法、装置及电子设备
CN112102044A (zh) * 2020-11-10 2020-12-18 成都四方伟业软件股份有限公司 一种消息队列处理高并发秒杀商品的方法、系统及装置
CN112330420A (zh) * 2020-11-27 2021-02-05 中国农业银行股份有限公司 一种订单取消方法和相关装置
CN112615844A (zh) * 2020-12-14 2021-04-06 浪潮云信息技术股份公司 一种应用于前后端分离场景的登录与鉴权系统
CN112615875A (zh) * 2020-12-24 2021-04-06 中国农业银行股份有限公司 一种用户访问控制方法及装置
CN112749199A (zh) * 2021-01-25 2021-05-04 上海伯俊软件科技有限公司 一种库存管理方法
CN112860452A (zh) * 2021-02-02 2021-05-28 浪潮云信息技术股份公司 提高高并发情况响应速度的方法、装置及计算机可读介质
CN112801753A (zh) * 2021-02-09 2021-05-14 深圳市富途网络科技有限公司 页面显示方法、装置及介质
CN112801753B (zh) * 2021-02-09 2024-04-23 深圳市富途网络科技有限公司 页面显示方法、装置及介质
CN112990823A (zh) * 2021-03-29 2021-06-18 武汉虹信技术服务有限责任公司 一种实现库存管理的方法、系统及存储介质
CN113129116A (zh) * 2021-05-19 2021-07-16 福建天晴在线互动科技有限公司 一种高性能的提单抢购方法及其系统
CN113794679A (zh) * 2021-08-02 2021-12-14 浪潮软件股份有限公司 防止自动脚本抢号的方法及系统
CN115776522A (zh) * 2022-11-23 2023-03-10 紫光云技术有限公司 一种处理商品预订的高并发系统及方法
CN116595099A (zh) * 2023-05-22 2023-08-15 北京言子初科技有限公司 高并发数据异步处理方法及装置

Also Published As

Publication number Publication date
CN108418821B (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN108418821A (zh) 基于Redis与Kafka的线上抢购系统高并发场景处理方法及装置
KR101928087B1 (ko) 블록체인 기반의 온라인 복권 관리 방법 및 이를 이용한 서버
WO2020040937A2 (en) Blockchain-based service rental method, apparatus, and system, and electronic device
CN105095462B (zh) 处理网页重复请求的方法和系统
CN101222348B (zh) 统计网站真实用户的方法及系统
JP2020108044A (ja) トークン管理システムおよびトークン管理方法
CN108776929A (zh) 基于区块链数据库的账单处理方法、系统和可读存储介质
WO2019001139A1 (zh) 运行智能合约的方法和装置
CN109584082A (zh) 基于区块链的保险理赔方法、电子装置及存储介质
US7734914B1 (en) System and method for allowing applications to securely access files
JP2009518702A (ja) 安全な作業環境を提供する、仮想インターフェースを利用するデバイス
CN110599182A (zh) 一种资源管理方法及装置
CN106446097A (zh) 一种文件读取方法及系统
CN109726249B (zh) 一种去中心化芯片研发交易数据存储方法及系统
CN111539775A (zh) 应用程序的管理方法及设备
CN106817388A (zh) 虚拟机、宿主机获取数据的方法、装置及访问数据的系统
CN110659993A (zh) 一种基于区块链网络的资源管理方法及装置
MXPA04012286A (es) Tarjeta de memoria de semiconductor y programa legible en computadora.
CN109088872A (zh) 带使用期限的云平台的使用方法、装置、电子设备及介质
Kirkman et al. Using smart contracts and blockchains to support consumer trust across distributed clouds
WO2018001120A1 (zh) 一种便于支付主体扩展的方法和装置
EP3980955A1 (en) Subscription to edits of blockchain transaction
JP7029212B1 (ja) 取引支援システム、取引支援方法及びプログラム
CN115423471A (zh) Nft数字资产的安全保护方法和装置
CN110262892A (zh) 一种基于分布式存储数据链的票务发布方法、装置及数据链节点

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220426

Address after: 610000 No. 907, floor 9, unit 1, building 1, No. 151, Tianfu Second Street, Chengdu high tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan

Patentee after: Chengdu Bodian Technology Co.,Ltd.

Address before: 100086 20 / F, block C, No.2, south academy of Sciences Road, Haidian District, Beijing

Patentee before: BEIJING JIAODIAN XINGANXIAN INFORMATION TECHNOLOGY CO.,LTD.