CN113141264A - 高并发访问处理方法、装置以及存储介质 - Google Patents
高并发访问处理方法、装置以及存储介质 Download PDFInfo
- Publication number
- CN113141264A CN113141264A CN202010046495.7A CN202010046495A CN113141264A CN 113141264 A CN113141264 A CN 113141264A CN 202010046495 A CN202010046495 A CN 202010046495A CN 113141264 A CN113141264 A CN 113141264A
- Authority
- CN
- China
- Prior art keywords
- transaction
- application server
- access
- cache
- transaction target
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 76
- 238000000034 method Methods 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims description 34
- 238000010586 diagram Methods 0.000 description 17
- 230000002147 killing effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Abstract
本公开提供了一种高并发访问处理方法、装置以及存储介质,其中的方法包括:根据对于应用服务器的并发访问量预测值以及缓存设备支持的缓存最大并发访问数量,配置应用服务器;将交易目标数量缓存在缓存设备中,当应用服务器向缓存设备发送交易目标请求时,通过缓存设备获取交易目标数量;基于交易目标数量判断交易是否成功,如果成功,则对交易访问进行异步处理。本公开的方法、装置以及存储介质,通过提前对应用服务器等的并发处理能力进行规划,可以达到最佳的均衡状态;能够在高并发数据请求场景下缩短处理时间,减小了对缓存设备、数据库等的压力,能够保持稳定运行;可以使用户即刻获得访问请求的结果,提高了用户感受度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种高并发访问处理方法、装置以及存储介质。
背景技术
目前,高并发访问对系统是一个极大的挑战。高并发访问有多种,例如电商的“秒杀”活动等。“秒杀”活动可以在短时间内吸引大量的用户,有极高的并发请求。“秒杀”活动的并发访问请求量大,系统任何一个环节的堵塞都可能导致系统整体不可用,例如,由于流量太大,直接使用数据库系统进行库存扣减等操作,使数据库处理缓慢;由于流量太大,导致Redis系统不可用等。因此,合理规划应用服务器(例如Tomcat)、 Reids等的数量以及容量关系,对于高并发访问是必须考虑的因素。并且,目前,将“秒杀”活动的用户请求直接放入MQ队列,异步返回用户结果,用户不能立刻知道参加“秒杀”活动的结果,用户体验较差。
发明内容
有鉴于此,本发明要解决的一个技术问题是提供一种高并发访问处理方法、装置以及存储介质。
根据本公开的一个方面,提供一种高并发访问处理方法,包括:根据对于应用服务器的并发访问量预测值以及缓存设备支持的缓存最大并发访问数量,配置所述应用服务器;获取交易目标数量,并将所述交易目标数量缓存在所述缓存设备中;当所述应用服务器向所述缓存设备发送交易目标请求时,通过所述缓存设备获取所述交易目标数量;其中,当所述应用服务器接收到交易访问时,则向所述缓存设备发送与所述交易访问相对应的交易目标请求;基于所述交易目标数量判断交易是否成功,如果成功,则对所述交易访问进行异步处理。
可选地,所述基于对于应用服务器的并发访问量预测值以及缓存设备支持的缓存最大并发访问数量,配置所述应用服务器包括:获取所述应用服务器的单台最大并发访问量,基于所述并发访问量预测值与所述单台最大并发访问量,确定所述应用服务器的数量;根据所述缓存最大并发访问数量和所述应用服务器的数量,确定所述应用服务器的单台最大并发访问数量;基于所述应用服务器的数量和所述单台最大并发访问数量进行相应地配置,启动所述应用服务器。
可选地,如果所述应用服务器在线的数量发生变化,则重新确定所述单台最大并发访问数量并进行相应地配置。
可选地,所述基于所述交易目标数量判断交易是否成功包括:如果所述交易目标数量大于0,则向所述应用服务器发送成功响应,并通过所述缓存设备对所述交易目标数量进行扣减处理;如果所述交易目标数量等于0,则向所述应用服务器发送失败响应。
可选地,在所述存储设备中缓存数量变量,用于标识所述交易目标数量是否等于0。
可选地,所述如果成功,则对所述交易访问进行异步处理包括:如果确定所述应用服务器接收所述成功响应,则生成与所述交易访问相对应的交易消息,并将所述交易消息发送到消息队列中,用以对所述交易消息进行异步处理。
可选地,所述对所述交易消息进行异步处理包括:从所述消息队列中取出所述交易消息,基于所述交易消息进行相应地处理,包括:数据库库存扣减、订单创建。
可选地,获取与所述应用服务器相对应的信号量,基于所述信号量确定所述应用服务器的当前并发访问数量;其中,所述信号量包括:Java Sempahore信号量;如果所述当前并发访问数量大于或等于所述单台最大并发访问数量,则向所述应用服务器发送失败响应。
可选地,所述交易目标请求包括:IP地址和用户信息;所述方法还包括:通过所述缓存设备统计在预设时间区间内、具有相同IP地址或相同用户信息的交易目标请求数量;如果所述交易目标请求数量大于预设的数量阈值,则将相应的交易目标请求确定为恶意请求;如果确定所述缓存设备接收到所述恶意请求,则向所述应用服务器发送失败响应。
可选地,在所述存储设备中缓存与所述成功响应相对应的所述用户信息;如果确定所述交易目标请求中的用户信息已在所述存储设备中缓存,则向所述应用服务器发送失败响应。
可选地,所述应用服务器包括:Tomcat;所述缓存设备包括:Redis 缓存设备。
根据本公开的另一方面,提供一种高并发访问处理装置,包括:并发配置模块,用于根据对于应用服务器的并发访问量预测值以及缓存设备支持的缓存最大并发访问数量,配置所述应用服务器;数量缓存模块,用于获取交易目标数量,并将所述交易目标数量缓存在所述缓存设备中;数量获取模块,用于当所述应用服务器向所述缓存设备发送交易目标请求时,通过所述缓存设备获取所述交易目标数量;其中,当所述应用服务器接收到交易访问时,则向所述缓存设备发送与所述交易访问相对应的交易目标请求;交易处理模块,用于基于所述交易目标数量判断交易是否成功,如果成功,则对所述交易访问进行异步处理。
根据本公开的又一方面,提供一种高并发访问处理装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的方法。
根据本公开的再一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如上所述的方法。
本公开的高并发访问处理方法、装置以及存储介质,根据并发访问量预测值以及缓存设备支持的缓存最大并发访问数量配置应用服务器,通过缓存设备获取交易目标数量,基于交易目标数量判断交易是否成功;通过提前对应用服务器等的并发处理能力进行规划,在高并发数据请求场景下缩短处理时间,减小了对缓存设备、数据库等的压力,提升了访问请求的处理效率,能够保持稳定运行;可以使用户即刻获得访问请求的结果,提高了用户感受度。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本公开的高并发访问处理方法的一个实施例的流程示意图;
图2为根据本公开的高并发访问处理方法的一个实施例中的配置所述应用服务器的流程示意图;
图3为应用服务器和缓存设备的部署示意图;
图4为根据本公开的高并发访问处理方法的另一个实施例的流程示意图;
图5为根据本公开的高并发访问处理装置的一个实施例的模块示意图;
图6为根据本公开的高并发访问处理装置的一个实施例中的交易处理模块的模块示意图;
图7为根据本公开的高并发访问处理装置的另一个实施例的模块示意图。
具体实施方式
下面参照附图对本公开进行更全面的描述,其中说明本公开的示例性实施例。下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
图1为根据本公开的高并发访问处理方法的一个实施例的流程示意图,如图1所示:
步骤101,根据对于应用服务器的并发访问量预测值以及缓存设备支持的缓存最大并发访问数量,配置应用服务器。
在一实施例中,应用服务器的数量可以为多个,并发访问量预测值为对全部应用服务器的并发访问量的预测值。应用服务器可以有多种,例如为Tomcat、Weblogic等;缓存设备可以有多种,例如为Redis 缓存设备等。
步骤102,获取交易目标数量,并将交易目标数量缓存在缓存设备中。
在一实施例中,交易目标数量可以为电商“秒杀”等活动的交易目标 (货物)的数量等,交易目标可以为手机、笔记本等。从数据库中获取交易目标的数量并缓存在缓存设备中,进行缓存预热,交易目标数量可以为交易目标的库存数量等。
步骤103,当应用服务器向缓存设备发送交易目标请求时,通过缓存设备获取交易目标数量;其中,当应用服务器接收到交易访问时,则向缓存设备发送与交易访问相对应的交易目标请求。
在一实施例中,用户访问应用服务器提供的网页,向应用服务器发送对于交易目标的交易访问。应用服务器接收到交易访问时,向后台向缓存设备发送交易目标请求,用于确定交易是否可以成功。
步骤104,基于交易目标数量判断交易是否成功,如果成功,则对交易访问进行异步处理。
在一实施例中,异步处理可以采用多种处理方式,例如采用消息队列进行异步处理等。
配置应用服务器可以采用多种方法。图2为根据本公开的高并发访问处理方法的一个实施例中的配置应用服务器的流程示意图,如图2所示:
步骤201,获取应用服务器的单台最大并发访问量,基于并发访问量预测值与单台最大并发访问量,确定应用服务器的数量。单台最大并发访问量为单台应用服务器能够支持的最大并发访问数量。
步骤202,根据缓存最大并发访问数量和应用服务器的数量,确定应用服务器的单台最大并发访问数量。
步骤203,基于应用服务器的数量和单台最大并发访问数量进行相应地配置,启动应用服务器。
在一实施例中,如果应用服务器在线的数量发生变化,则重新确定单台最大并发访问数量并进行相应地配置。
在高并发访问(例如为电商“秒杀”活动)开始之前,进行容量规划。通过业务人员预估参与人数,估算并发访问量预测值,即对于应用服务器的最大并发访问的数量。计算需要多少台应用服务器(例如为Tomcat),以及每台应用服务器设置的单台最大并发访问数量,可以防止流量过多,冲垮后台的缓存设备(例如Redis缓存设备)等。
在缓存设备做了限流处理,后续进入到MQ和DB中的量会非常小 (等于交易目标的总数量),所以电商系统是否可靠。需要保证应用服务器能做到可靠的限流,同时,透传到缓存设备的请求数量在可控的范围内。为了保证稳定的分布式并发流量控制,在应用服务器的容器动态增加或者减少的情况下,动态调整每台应用服务器的限流数量,从而保证透传到缓存设备的交易目标请求稳定在可控的范围,从而保证系统的稳定性和可用性。
例如,在一次电商“秒杀”活动中,对于应用服务器的并发访问量预测值为10w。如图3所示,上游LVS或Ngnix可以无限水平扩展,下游的缓存设备的并发连接数有限,所以应用服务器的容量无法无限扩展,需要规划容量数,保证应用服务器透传到缓存设备后台的并发数量不能大于缓存设备支持的缓存最大并发访问数量(最大并发数量)。
如果应用服务器的单台最大并发访问量为2k,则需要应用服务器的数量=10w并发/2k=50台;如果缓存设备支持的缓存最大并发访问数量为1w,则应用服务器的单台最大并发访问数量(使用信号量 Semaphore控制)=1w/50=200。启动50个的应用服务器容器,并配置每台应用服务器的单台最大并发访问数量为200,保证分布式并发控制的整体并发量不超过缓存设备支持的缓存最大并发访问数量(1w)。
每台应用服务器会连接到分布式并发控制模块的Zookeeper中,如果有应用服务器由于容器扩容引起上线,或者应用服务器宕机导致容器下线,都会通知到分布式并发控制模块。如果应用服务器在线的数量发生变化,则重新确定单台最大并发访问数量并进行相应地配置,将新的单台最大并发访问数量下发每台应用服务器中。
在一个实施例中,如果交易目标数量大于0,则向应用服务器发送成功响应,并通过缓存设备对交易目标数量进行扣减处理;如果交易目标数量等于0,则向应用服务器发送失败响应。可以在存储设备中缓存数量变量,用于标识交易目标数量是否等于0。例如,设置内存标识 isExhaust值,默认为0,如果交易目标数量扣减为0,则isExhaust值设置为1。判断交易目标数量是否为0,如果为0则表明库存耗尽,则直接返回失败响应,提高访问后台的效率。
如果确定应用服务器接收成功响应,则生成与交易访问相对应的交易消息,并将交易消息发送到消息队列中,用以对交易消息进行异步处理。从消息队列中取出交易消息,基于交易消息进行相应地处理,包括:数据库库存扣减、订单创建等,处理的数据会持久化到数据库中,保证数据不丢失。例如,交易消息为订单消息,异步下发订单消息到MQ中,应用服务器向用户返回交易成功响应网页。由于MQ有持久化功能,发送成功之后,能保证消息被正常消费。
获取与应用服务器相对应的信号量,基于信号量确定应用服务器的当前并发访问数量;其中,信号量包括Java Sempahore信号量等。当应用服务器处理并发访问时,在容器中同时启动多个线程,Semaphore用于多线程环境下。如果当前并发访问数量大于或等于单台最大并发访问数量,则向应用服务器发送失败响应。
在一个实施例中,交易目标请求包括:IP地址和用户信息等。通过缓存设备统计在预设时间区间内、具有相同IP地址或相同用户信息的交易目标请求数量;如果交易目标请求数量大于预设的数量阈值,则将相应的交易目标请求确定为恶意请求;如果确定缓存设备接收到恶意请求,则向应用服务器发送失败响应。
过滤恶意请求,通过缓存设备统计一段时间内的相同IP和相同用户信息的交易目标请求数量,交易目标请求数量超过预设的阈值,则认为是恶意请求,对于恶意请求,直接返回失败响应。
在一个实施例中,在存储设备中缓存与成功响应相对应的用户信息,如果确定交易目标请求中的用户信息已在存储设备中缓存,则向应用服务器发送失败响应。例如,可用通过缓存设备将“秒杀”成功的用户信息缓存,判断当前用户是否“秒杀”成功过,如果是,直接返回失败响应。
图4为根据本公开的高并发访问处理方法的另一个实施例的流程示意图,如图4所示:
步骤401,应用服务器向缓存设备发送交易目标请求。
步骤402,判断缓存设备是否接收到恶意请求,如果是,则进入步骤408,如果否,则进入步骤403。
步骤403,判断应用服务器的当前并发访问数量大于或小于单台最大并发访问数量,如果是,则进入步骤408,如果否,则进入步骤404。
步骤404,获取在存储设备中缓存数量变量,判断交易目标数量是否等于0,如果是,则进入步骤408,如果否,则进入步骤405。
步骤405,判断交易目标请求中的用户信息是否已在存储设备中缓存,如果是,则进入步骤408,如果否,则进入步骤406。
步骤406,向应用服务器发送成功响应,并通过缓存设备对交易目标数量进行扣减处理。
步骤407,生成与交易访问相对应的交易消息,并将交易消息发送到消息队列中。
步骤408,向应用服务器发送失败响应。
步骤409,从消息队列中取出交易消息,基于交易消息进行相应地处理,包括:数据库库存扣减、订单创建等。
上述实施例中的高并发访问处理方法,针对现有技术中存在的问题,提供一种高可用、可弹性伸缩的处理方法;提前对应用服务器、缓存设备的并发处理能力进行规划,保证上下游系统协调一致,达到最佳的均衡状态,确保面对高并发请求,保持稳定运行。
在一个实施例中,本公开提供一种高并发访问处理装置50,包括:并发配置模块51、数量缓存模块52、数量获取模块53和交易处理模块 54。并发配置模块51根据对于应用服务器的并发访问量预测值以及缓存设备支持的缓存最大并发访问数量,配置应用服务器。数量缓存模块52获取交易目标数量,并将交易目标数量缓存在缓存设备中。
数量获取模块53当应用服务器向缓存设备发送交易目标请求时,通过缓存设备获取交易目标数量;其中,当应用服务器接收到交易访问时,则向缓存设备发送与交易访问相对应的交易目标请求。交易处理模块54 基于交易目标数量判断交易是否成功,如果成功,则对交易访问进行异步处理。
在一个实施例中,并发配置模块51获取应用服务器的单台最大并发访问量,基于并发访问量预测值与单台最大并发访问量,确定应用服务器的数量。并发配置模块51根据缓存最大并发访问数量和应用服务器的数量,确定应用服务器的单台最大并发访问数量。并发配置模块 51基于应用服务器的数量和单台最大并发访问数量进行相应地配置,启动应用服务器。如果应用服务器在线的数量发生变化,则并发配置模块 51重新确定单台最大并发访问数量并进行相应地配置。
如图6所示,交易处理模块54包括:请求处理单元541和异步处理单元542。如果交易目标数量大于0,则请求处理单元541向应用服务器发送成功响应,并通过缓存设备对交易目标数量进行扣减处理;如果交易目标数量等于0,则请求处理单元541向应用服务器发送失败响应。数量缓存模块52在存储设备中缓存数量变量,用于标识交易目标数量是否等于0。
如果确定应用服务器接收成功响应,则异步处理单元542生成与交易访问相对应的交易消息,并将交易消息发送到消息队列中,用以对交易消息进行异步处理。异步处理单元542从消息队列中取出交易消息,基于交易消息进行相应地处理,包括:数据库库存扣减、订单创建等。
请求处理单元541获取与应用服务器相对应的信号量,基于信号量确定应用服务器的当前并发访问数量;其中,信号量包括:Java Sempahore信号量等。如果当前并发访问数量大于或等于单台最大并发访问数量,则请求处理单元541向应用服务器发送失败响应。
交易目标请求包括:IP地址和用户信息等;请求处理单元541通过缓存设备统计在预设时间区间内、具有相同IP地址或相同用户信息的交易目标请求数量。如果交易目标请求数量大于预设的数量阈值,则请求处理单元541将相应的交易目标请求确定为恶意请求。如果确定缓存设备接收到恶意请求,则请求处理单元541向应用服务器发送失败响应。
请求处理单元541在存储设备中缓存与成功响应相对应的用户信息,如果确定交易目标请求中的用户信息已在存储设备中缓存,则请求处理单元541向应用服务器发送失败响应。
图7为根据本公开的高并发访问处理装置的另一个实施例的模块示意图。如图7所示,该装置可包括存储器71、处理器72、通信接口73 以及总线74。存储器71用于存储指令,处理器72耦合到存储器71,处理器72被配置为基于存储器71存储的指令执行实现上述的高并发访问处理方法。
存储器71可以为高速RAM存储器、非易失性存储器(non-volatile memory)等,存储器71也可以是存储器阵列。存储器71还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器72可以为中央处理器CPU,或专用集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本公开的高并发访问处理方法的一个或多个集成电路。
在一个实施例中,本公开提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,指令被处理器执行如上任一实施例中的方法。
上述实施例中提供的高并发访问处理方法、装置以及存储介质,根据并发访问量预测值以及缓存设备支持的缓存最大并发访问数量配置应用服务器,通过缓存设备获取交易目标数量,基于交易目标数量判断交易是否成功;通过提前对应用服务器等的并发处理能力进行规划,可以达到最佳的均衡状态;能够在高并发数据请求场景下缩短处理时间,减小了对缓存设备、数据库等的压力,提升了访问请求的处理效率,有效降低高并发数据对电商系统的冲击,能够保持稳定运行;可以使用户即刻获得访问请求的结果,提高了用户感受度。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (14)
1.一种高并发访问处理方法,包括:
根据对于应用服务器的并发访问量预测值以及缓存设备支持的缓存最大并发访问数量,配置所述应用服务器;
获取交易目标数量,并将所述交易目标数量缓存在所述缓存设备中;
当所述应用服务器向所述缓存设备发送交易目标请求时,通过所述缓存设备获取所述交易目标数量;其中,当所述应用服务器接收到交易访问时,则向所述缓存设备发送与所述交易访问相对应的交易目标请求;
基于所述交易目标数量判断交易是否成功,如果成功,则对所述交易访问进行异步处理。
2.如权利要求1所述的方法,所述基于对于应用服务器的并发访问量预测值以及缓存设备支持的缓存最大并发访问数量,配置所述应用服务器包括:
获取所述应用服务器的单台最大并发访问量,基于所述并发访问量预测值与所述单台最大并发访问量,确定所述应用服务器的数量;
根据所述缓存最大并发访问数量和所述应用服务器的数量,确定所述应用服务器的单台最大并发访问数量;
基于所述应用服务器的数量和所述单台最大并发访问数量进行相应地配置,启动所述应用服务器。
3.如权利要求2所述的方法,还包括:
如果所述应用服务器在线的数量发生变化,则重新确定所述单台最大并发访问数量并进行相应地配置。
4.如权利要求2所述的方法,所述基于所述交易目标数量判断交易是否成功包括:
如果所述交易目标数量大于0,则向所述应用服务器发送成功响应,并通过所述缓存设备对所述交易目标数量进行扣减处理;
如果所述交易目标数量等于0,则向所述应用服务器发送失败响应。
5.如权利要求4所述的方法,还包括:
在所述存储设备中缓存数量变量,用于标识所述交易目标数量是否等于0。
6.如权利要求4所述的方法,所述如果成功,则对所述交易访问进行异步处理包括:
如果确定所述应用服务器接收所述成功响应,则生成与所述交易访问相对应的交易消息,并将所述交易消息发送到消息队列中,用以对所述交易消息进行异步处理。
7.如权利要求6所述的方法,所述对所述交易消息进行异步处理包括:
从所述消息队列中取出所述交易消息,基于所述交易消息进行相应地处理,包括:数据库库存扣减、订单创建。
8.如权利要求2所述的方法,还包括:
获取与所述应用服务器相对应的信号量,基于所述信号量确定所述应用服务器的当前并发访问数量;其中,所述信号量包括:Java Sempahore信号量;
如果所述当前并发访问数量大于或等于所述单台最大并发访问数量,则向所述应用服务器发送失败响应。
9.如权利要求1所述的方法,所述交易目标请求包括:IP地址和用户信息;所述方法还包括:
通过所述缓存设备统计在预设时间区间内、具有相同IP地址或相同用户信息的交易目标请求数量;
如果所述交易目标请求数量大于预设的数量阈值,则将相应的交易目标请求确定为恶意请求;
如果确定所述缓存设备接收到所述恶意请求,则向所述应用服务器发送失败响应。
10.如权利要求9所述的方法,还包括:
在所述存储设备中缓存与所述成功响应相对应的所述用户信息;
如果确定所述交易目标请求中的用户信息已在所述存储设备中缓存,则向所述应用服务器发送失败响应。
11.如权利要求1至10任一项所述的方法,
所述应用服务器包括:Tomcat;所述缓存设备包括:Redis缓存设备。
12.一种高并发访问处理装置,包括:
并发配置模块,用于根据对于应用服务器的并发访问量预测值以及缓存设备支持的缓存最大并发访问数量,配置所述应用服务器;
数量缓存模块,用于获取交易目标数量,并将所述交易目标数量缓存在所述缓存设备中;
数量获取模块,用于当所述应用服务器向所述缓存设备发送交易目标请求时,通过所述缓存设备获取所述交易目标数量;其中,当所述应用服务器接收到交易访问时,则向所述缓存设备发送与所述交易访问相对应的交易目标请求;
交易处理模块,用于基于所述交易目标数量判断交易是否成功,如果成功,则对所述交易访问进行异步处理。
13.一种高并发访问处理装置,包括:
存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至11中任一项所述的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010046495.7A CN113141264B (zh) | 2020-01-16 | 2020-01-16 | 高并发访问处理方法、装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010046495.7A CN113141264B (zh) | 2020-01-16 | 2020-01-16 | 高并发访问处理方法、装置以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113141264A true CN113141264A (zh) | 2021-07-20 |
CN113141264B CN113141264B (zh) | 2023-12-08 |
Family
ID=76808199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010046495.7A Active CN113141264B (zh) | 2020-01-16 | 2020-01-16 | 高并发访问处理方法、装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113141264B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143277A (zh) * | 2021-10-20 | 2022-03-04 | 北京达佳互联信息技术有限公司 | 数据请求处理方法、装置、电子设备及存储介质 |
CN114205165A (zh) * | 2021-12-17 | 2022-03-18 | 中国平安财产保险股份有限公司 | 虚假请求的识别方法、装置、设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408088A (zh) * | 2014-11-11 | 2015-03-11 | 北京奇虎科技有限公司 | 并发请求的控制方法及装置 |
WO2015196369A1 (zh) * | 2014-06-24 | 2015-12-30 | 华为技术有限公司 | 分布式缓存控制方法及装置 |
CN106204232A (zh) * | 2016-07-18 | 2016-12-07 | 苏州华车网络科技有限公司 | 一种处理高并发交互数据请求的系统和方法 |
CN106790629A (zh) * | 2017-01-03 | 2017-05-31 | 努比亚技术有限公司 | 数据同步装置及其实现数据同步的方法、客户端访问系统 |
US20170169451A1 (en) * | 2015-12-14 | 2017-06-15 | Google Inc. | Store visit data creation and management |
CN108334505A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置、服务器及库存系统 |
CN109582738A (zh) * | 2018-12-03 | 2019-04-05 | 广东鸭梨科技集团股份有限公司 | 一种处理高并发秒杀活动的方法 |
CN109729108A (zh) * | 2017-10-27 | 2019-05-07 | 阿里巴巴集团控股有限公司 | 一种防止缓存击穿的方法、相关服务器及系统 |
CN110148034A (zh) * | 2019-04-24 | 2019-08-20 | 珠海市珠澳跨境工业区好易通科技有限公司 | 一种网购系统架构优装置及方法 |
CN110417879A (zh) * | 2019-07-18 | 2019-11-05 | 北京蜜莱坞网络科技有限公司 | 一种消息处理方法、装置、设备及存储介质 |
CN110599136A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链交易池流量管控方法以及装置 |
-
2020
- 2020-01-16 CN CN202010046495.7A patent/CN113141264B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015196369A1 (zh) * | 2014-06-24 | 2015-12-30 | 华为技术有限公司 | 分布式缓存控制方法及装置 |
CN104408088A (zh) * | 2014-11-11 | 2015-03-11 | 北京奇虎科技有限公司 | 并发请求的控制方法及装置 |
US20170169451A1 (en) * | 2015-12-14 | 2017-06-15 | Google Inc. | Store visit data creation and management |
CN106204232A (zh) * | 2016-07-18 | 2016-12-07 | 苏州华车网络科技有限公司 | 一种处理高并发交互数据请求的系统和方法 |
CN106790629A (zh) * | 2017-01-03 | 2017-05-31 | 努比亚技术有限公司 | 数据同步装置及其实现数据同步的方法、客户端访问系统 |
CN108334505A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置、服务器及库存系统 |
CN109729108A (zh) * | 2017-10-27 | 2019-05-07 | 阿里巴巴集团控股有限公司 | 一种防止缓存击穿的方法、相关服务器及系统 |
CN109582738A (zh) * | 2018-12-03 | 2019-04-05 | 广东鸭梨科技集团股份有限公司 | 一种处理高并发秒杀活动的方法 |
CN110148034A (zh) * | 2019-04-24 | 2019-08-20 | 珠海市珠澳跨境工业区好易通科技有限公司 | 一种网购系统架构优装置及方法 |
CN110417879A (zh) * | 2019-07-18 | 2019-11-05 | 北京蜜莱坞网络科技有限公司 | 一种消息处理方法、装置、设备及存储介质 |
CN110599136A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链交易池流量管控方法以及装置 |
Non-Patent Citations (2)
Title |
---|
徐士川: "电子商城系统中订单模块与秒杀模块的设计与实现", 《中国优秀硕士学位论文全文数据库》 * |
邵斐: "面向电子商务的秒杀系统设计与实现", 《微型机与应用.》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143277A (zh) * | 2021-10-20 | 2022-03-04 | 北京达佳互联信息技术有限公司 | 数据请求处理方法、装置、电子设备及存储介质 |
CN114143277B (zh) * | 2021-10-20 | 2023-11-24 | 北京达佳互联信息技术有限公司 | 数据请求处理方法、装置、电子设备及存储介质 |
CN114205165A (zh) * | 2021-12-17 | 2022-03-18 | 中国平安财产保险股份有限公司 | 虚假请求的识别方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113141264B (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10783211B2 (en) | Page processing method and device thereof | |
US6611870B1 (en) | Server device and communication connection scheme using network interface processors | |
US10666758B2 (en) | Browser resource pre-pulling method, terminal and storage medium | |
CN105959235B (zh) | 分布式数据处理系统及方法 | |
CN111641563B (zh) | 基于分布式场景的流量自适应方法与系统 | |
CN113141264B (zh) | 高并发访问处理方法、装置以及存储介质 | |
CN104980478A (zh) | 内容分发网络中缓存共享方法、设备及系统 | |
CN109218054B (zh) | 终端动态配置、相应服务器实现方法、装置和存储介质 | |
CN113765980A (zh) | 一种限流方法、装置、系统、服务器和存储介质 | |
CN112615793A (zh) | 一种数据限流方法及装置 | |
CN105302907A (zh) | 一种请求的处理方法及装置 | |
CN113067875A (zh) | 基于微服务网关动态流控的访问方法和装置以及设备 | |
CN112422497B (zh) | 消息传递方法、装置及计算机设备 | |
CN108512869A (zh) | 一种采用异步化方式处理并发数据的方法及系统 | |
CN111416836A (zh) | 基于Nginx的服务器维护方法、装置、计算机设备及存储介质 | |
CN113608765A (zh) | 数据处理方法、装置、设备以及存储介质 | |
US20030126244A1 (en) | Apparatus for scheduled service of network requests and a method therefor | |
US8850034B1 (en) | Service request fast fail circuit breaker | |
CN105912477B (zh) | 一种目录读取的方法、装置及系统 | |
CN112688980B (zh) | 资源分发方法、装置、计算机设备 | |
CN113518013B (zh) | 一种实现心跳机制的处理方法及装置 | |
CN107277088B (zh) | 高并发业务请求处理系统及方法 | |
CN111913732B (zh) | 一种服务更新方法、装置及管理服务器、存储介质 | |
CN113568706A (zh) | 针对业务的容器调整方法、装置、电子设备和存储介质 | |
CN113965563A (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 |