CN114520808A - 请求处理方法、装置、电子设备及计算机可读存储介质 - Google Patents
请求处理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114520808A CN114520808A CN202011307698.3A CN202011307698A CN114520808A CN 114520808 A CN114520808 A CN 114520808A CN 202011307698 A CN202011307698 A CN 202011307698A CN 114520808 A CN114520808 A CN 114520808A
- Authority
- CN
- China
- Prior art keywords
- request
- batch
- requests
- server
- preset
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 56
- 230000008569 process Effects 0.000 claims abstract description 35
- 238000012216 screening Methods 0.000 claims abstract description 24
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 230000002147 killing effect Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种请求处理方法、装置、电子设备及计算机可读存储介质,涉及互联网应用软件技术领域。该方法包括:接收批量请求;根据批量请求的请求来源,基于预设的请求来源名单,筛选符合预设的请求来源名单的第一批量请求;若第一批量请求的数量不小于缓存中的第一预设请求阈值,基于第一批量请求的请求时间戳筛选出不大于第一预设请求阈值数量的第二批量请求;将第二批量请求分发至服务器集群,以使服务器集群处理第二批量请求。本申请提高了对高并发请求的处理效率。
Description
技术领域
本申请涉及互联网应用软件技术领域,具体而言,本申请涉及一种请求处理方法、装置、电子设备及计算机可读存储介质。
背景技术
随着互联网的快速发展,人们上网的方式也变得十分便捷,网络访问的需求也日益增加,对网站服务器造成了很大的压力,而这些网络访问通常要求对数据能够进行实时处理,还要求能够进行后续的处理分析。面对多种设备,多个用户的高并发访问,如何降低服务器的负载,快速响应客户端的请求,对数据进行实时处理并保存,成为一个难题。因此,如何提供一个有效的负载均衡架构是至关重要的。
发明内容
本申请提供了一种请求处理的方法、装置、电子设备及计算机可读存储介质,可以解决高并发请求的处理问题。技术方案如下:
第一方面,提供了一种请求处理的方法,该方法包括:
接收批量请求;
根据批量请求的请求来源,基于预设的请求来源名单,筛选符合预设的请求来源名单的第一批量请求;
若第一批量请求的数量不小于缓存中的第一预设请求阈值,基于第一批量请求的请求时间戳筛选出不大于第一预设请求阈值数量的第二批量请求;
将第二批量请求分发至服务器集群,以使服务器集群处理第二批量请求。
第二方面,提供了一种请求处理的装置,该装置包括:
接收模块,用于接收批量请求;
第一筛选模块,用于根据批量请求的请求来源,基于预设的请求来源名单,筛选符合预设的请求来源名单的第一批量请求;
第二筛选模块,用于若第一批量请求的数量不小于预设的请求阈值,基于第一批量请求的请求时间戳筛选出不大于预设的请求阈值数量的第二批量请求;
处理模块,用于将第二批量请求分发至服务器集群,以使服务器集群处理第二批量请求。
第三方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据权本申请的第一方面所示的请求处理的方法对应的操作。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现该实现本申请第一方面所示的请求处理方法。
本申请提供的技术方案带来的有益效果是:
本申请通过分布式缓存系统下的脚本规则匹配,自动识别请求来源,自动屏蔽恶意请求,保证了请求的安全性,通过设置第一预设阈值,使得服务器可以将其处理能力范围内的请求处理完毕,并且采用负载均衡策略,将批量请求分发至服务器集群,以使服务器集群处理批量请求,解决了服务器处理高并发请求的处理问题,提高了处理高并发请求的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种请求处理方法的流程示意图;
图2为本申请实施例提供的一种获取服务器集群中各个服务器的有效负载请求量的流程示意图;
图3为本申请实施例提供的另一种请求处理方法的流程示意图;
图4为本申请实施例提供的一种请求方法中的技术架构图;
图5为本申请实施例提供的一种请求处理装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请提供的请求处理方法、装置、电子设备和计算机可读存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例中提供了一种请求处理的方法,应用于服务器,如图1 所示,该方法包括:
步骤S101:接收批量请求。
其中,本申请实施例中的请求处理方法可以应用在服务器中,本申请中的批量请求可以是大量用户在同一时间段内几乎同时向服务器发出的请求。
举例而言,在互联网中的“秒杀”活动中,秒杀用户通常是大量的,比如几千、几万人,平台服务器通常会接收大量用户的批量请求。
步骤S102:根据批量请求的请求来源,基于预设的请求来源名单,筛选符合预设的请求来源名单的第一批量请求。
可以理解的是,在同一时间段内接收批量的请求对服务器来说是一个巨大的挑战,针对批量高并发的请求,服务器前端可以通过机器扩容增加前端池的整体承载量来抗峰值,将请求页面上可以静态的元素静态化,并尽量减少动态元素;可以针对某一个IP,限制单位时间内发起请求数量;还可以在接近前端池承载能力上限的时候,随机拒绝部分请求。
除上述几种处理方式之外,服务器前端还可以采用lua脚本的规则匹配功能识别批量请求的来源,其中,lua是一种轻量级的可嵌入式脚本语言,具体的,可以根据预先设置的请求来源名单,比如请求用户的黑白名单控制,获取符合请求来源的第一批量请求,既防止了恶意请求,又因此减少了对后端的压力。
步骤S103:若第一批量请求的数量不小于缓存中的第一预设请求阈值,基于第一批量请求的请求时间戳筛选出不大于第一预设请求阈值数量的第二批量请求。
其中,第一预设请求阈值可以是预先设定的服务器需要处理的请求总量,通过设置第一预设请求阈值,并根据第一批量请求的请求时间戳筛选出第二批量请求,可以理解的是,第二批量请求的数量不超过设置的第一预设请求阈值,以保证服务器可以仅处理已设定的请求处理量,并且根据请求时间戳筛选第二批量请求,保证了筛选的公平性。
举例而言,第一预设请求阈值可以是在秒杀活动中设置的库存数据,通过库存数据筛选出第二批量请求,保证秒杀活动不出现超卖的问题。
步骤S104:将第二批量请求分发至服务器集群,以使服务器集群处理第二批量请求。
可以理解的是,服务器后端通过采用负载均衡原则,将第二批量请求分发至服务器集群中不同的应用服务器上,可以减轻单个服务器压力,进而提高系统的并发处理能力,具体的,可以采用Nginx服务器,Nginx是一款轻量级的网页服务器/反向代理服务器以及电子邮件代理服务器,其并发能力在同类型的网页服务器中表现较好。
需要说明的是,主服务器与服务器集群中的应用服务器之间可以互相通信,具体的,主服务器可以通过心跳检测的方式,判断应用服务器当前是否可以正常工作,如果某一应用服务器宕掉,主服务器自动将请求发送到其他应用服务器。如检测到发生故障的应用服务器恢复工作,自动将其添加到处理请求的待用服务器中。
此外,还可以同时部署Nginx双中心,搭建Nginx服务器备份机,主服务器和备份机上都运行高可用监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到这样的信息时,表示主服务器出现了一定的故障,这时备份服务器可以接管主服务器的服务IP并继续提供负载均衡服务;当备份机又从主服务器收到“I am alive”这样的信息时,它就释放服务IP地址,这样的主服务器就开始再次提供负载均衡服务。避免出现其中一台Nginx服务器宕机后端网页服务将无法提供服务的情况。
本申请通过分布式缓存系统下的脚本规则匹配,自动识别请求来源,自动屏蔽恶意请求,保证了请求的安全性,通过设置第一预设阈值,使得服务器可以将其处理能力范围内的请求处理完毕,并且采用负载均衡策略,将批量请求分发至服务器集群,以使服务器集群处理批量请求,解决了服务器处理高并发请求的处理问题,提高了处理高并发请求的效率。
在本申请的一个实施例中,若第一批量请求的数量不小于缓存中的第一预设请求阈值,请求处理方法包括:
步骤S103a:针对第一批量请求的请求时间戳筛选出大于第一预设请求阈值数量的第三批量请求。
步骤S103b:发送第一处理结果至第三批量请求的所属终端,第一处理结果包括请求失败信息。
可以理解的是,若第一批量请求的数量不小于缓存中的第一预设请求阈值,即第一批量请求的数量已经超过了服务器已设定的请求处理量,针对超出请求数据量的批量请求,服务器会发送请求失败的信息至这些批量请求的所属终端,以友好地通知用户,具体的,可以按照请求时间戳的顺序筛选出需要发送请求失败信息的第三批量请求,通过请求时间戳进行筛选,保证了筛选的公平性。
举例而言,当第一预设请求阈值为秒杀活动中的库存数量时,当第一批量请求的数量不小于库存数量时,服务器可以根据请求时间戳,向超出库存数量的第三批量请求的所属终端发送秒杀失败的信息,即,解决了秒杀活动中超卖的问题,又友好地通知了用户。
在本申请的一个实施例中,若第一批量请求的数量小于第一预设请求阈值,请求处理方法还包括:
根据第一批量请求的数量,调整缓存中的第一预设请求阈值,以使调整后的缓存中的第一预设请求阈值为调整前的缓存中的第一预设请求阈值与第一批量请求数量的差值。
可以理解的是,若第一批量请求的数量小于缓存中的第一预设请求阈值,即第一批量请求的数量并未超过服务器已设定的请求处理量,服务器会调整缓存中的第一预设请求阈值,具体的,可以修减第一预设请求阈值,修改后的第一请求阈值为原第一请求阈值与第一批量请求数量的差值。通过修减第一请求阈值,便于接收后续的请求。
举例而言,当第一预设请求阈值为秒杀活动中的库存数量时,当第一批量请求的数量小于库存数量时,服务器可以修减在缓存中的第一预设请求阈值,即在缓存中进行预减库存,更具体的,服务器可以根据接收的请求数量实时进行库存的预减,直至库存为0,并向库存为0之后的请求所属终端发送秒杀失败的信息。
在本申请的一个实施例中,步骤S104:将第二批量请求分发至服务器集群,包括:
步骤S104a:获取服务器集群中各个服务器的有效负载请求量。
步骤S104b:根据各个服务器的有效负载请求量,将第二批量请求分发至服务器集群中的相应服务器中。
其中,当主服务器向服务器集群中的应用服务器分发第二批量请求时,可以采用负载均衡的原则,具体的,每一应用服务器在接收到一个请求时,,如果改应用服务器为正常工作状态,该应用服务器的有效负载请求量增加,此时,主服务器可以根据服务器集群中各个服务器的有效负载请求量,将第二批量请求分发至各个服务器,以使整个系统保持动态负载均衡。
在本申请的一个实施例中,如图2所示,获取服务器集群中各个服务器的有效负载请求量,包括:
步骤S201:监测服务器集群中各个服务器的运行状态。
可以理解的是,主服务器与服务器集群中的各个应用服务器之间可以相互通信,主服务器可以通过心跳检测的方式判断应用服务器当前是否可以正常工作。
步骤S202:若服务器集群中任一服务器的运行状态为正常状态,将该服务器的负载请求量确定为该服务器的有效负载请求量。
步骤S203:若服务器集群中任一服务器的运行状态为异常状态,清空该服务器的有效负载请求量,并将该服务器的负载请求分发至服务器集群的其他服务器中。
其中,当主服务器判断出任一应用服务器的运行状态为正常状态时,可以将该应用服务器当前的负载请求量确定为该应用服务器的有效负载请求量,并且主服务器还可以根据该应用服务器的有效负载请求量继续为该应用服务器分发请求。
当主服务器判断出任一应用服务器的运行状态为非正常状态时,即此时的应用服务器已发生了故障,为了保证请求可以及时处理,此时主服务器清空该应用服务器的有效负载量,并且将该应用服务器中的负载请求自动分发至其他的应用服务器中,不再向该应用服务器分发请求。
需要说明的是,当主服务器检测到发生故障的应用服务器故障修复工作,可以继续向该应用服务器分发请求。
在本申请的一个实施例中,若接收的批量请求分属不同类型,将第二批量请求分发至服务器集群,以使服务器集群处理第二批量请求,包括:
将第二批量请求分发至服务器集群,以使服务器集群根据第二批量请求的类型确定不同的队列,并基于在队列中的请求顺序中处理第二批量请求。
可以理解的是,当第二批量请求为不同类型的请求时,举例而言,在秒杀活动中,秒杀活动中针对的产品的种类可以是多样,或者同一产品包括不同型号、颜色,此时可以将第二批量请求进行细化分类,每一细化分类的请求拥有一个队列,将每一细化分类的请求放入异步队列中,应用服务器按照先入先出的原则处理每一队列中的请求。
在本申请的一个实施例中,将第二批量请求分发至服务器集群,以使服务器集群处理第二批量请求后,如图3所示,请求处理方法还包括:
步骤S301:接收服务器集群发送的针对第二批量请求的第二处理结果。
步骤S302:根据第二批量请求的第二处理结果,调整数据库中的第二预设请求阈值,其中,调整后的数据库中的第二预设请求阈值与调整后的缓存中的第一预设请求阈值的数量相同。
步骤S303:发送第二处理结果至第二批量请求的所属终端,第二处理结果包括请求成功信息。
其中,服务器集群中的应用服务器在接收到主服务器分发的请求后,会按照先入先出的原则处理分发的请求,得到第二处理结果,并将第二处理结果返回至主服务器,然后主服务器将第二处理结果发送至第二批量请求的所属终端,可以理解的是,第二处理结果包括请求成功信息。
举例而言,用户在终端申请秒杀请求后,主服务器将秒杀请求分发至应用服务器,然后应用服务器处理出队成功的请求,实现真正的业务受理,从而生成秒杀成功清单作为第二处理结果,主服务器将秒杀成功清单发送至秒杀请求对应的终端,完成秒杀活动。
需要说明的是,主服务器在接收到针对第二批量请求的第二处理结果后,可以调整数据库中的第二预设请求阈值,其中,第二预设请求阈值也为主服务器需要处理的请求总量,该第二请求阈值保存在数据库中,当主服务器接收到针对第二批量请求的第二处理结果后,表明第二批量请求已被处理完毕,此时可以调整第二预设请求阈值,即将已处理的请求的数量进行删减,调整后的第二预设请求阈值为主服务还需要处理的请求量。
举例而言,在秒杀活动中,第二预设请求阈值可以是在秒杀活动中的设置的实际库存数据,并且该实际库存数据保存在数据库中,当主服务器接收到秒杀请求的秒杀成功清单后,调整数据库实际库存数据,并且调整后的数据库中的第二预设请求阈值与调整后的缓存中的第一预设请求阈值的数量相同。表明实际库存数据与预减后的库存数据一致,表明没有用户提交秒杀请求后放弃购买,解决了少买的问题,实际库存数据与预减后的库存数据一致,也表明了实际订单数据与实际库存数据的正确性。
在本申请的一个实施例中,本申请涉及的技术架构图如图4所示,在将高并发请求发送至利用OpenResty搭建的高性能服务器端时,其中, OpenResty一个强大的网页应用服务器,网页开发人员可以使用Nginx支持的各种C语言以及lua模块快速构造出胜任一万以上并发连接响应的超高性能网页应用系统,服务器可以先利用lua脚本规则校验识别请求来源,限制恶意请求,然后判断接收的请求量是否超过服务能力允许的请求,并将超过后台处理能力的请求,发送请求失败信息至请求终端,以友好地通知请求者,并且将服务能力允许内的请求由服务器分发至ADMQ(Active Distributed Message Queue,分布式消息中间件)集群中,以使集群中的应用服务器可以同时处理不同消息队列中的处理请求,以提高请求处理效率。
本申请实施例提供了一种请求处理装置,如图5所示,该请求处理装置50可以包括:接收模块501,第一筛选模块502,第二筛选模块503,处理模块504,其中,
接收模块501,用于接收批量请求。
其中,本申请实施例中的请求处理方法可以应用在服务器中,本申请中的批量请求可以是大量用户在同一时间段内几乎同时向服务器发出的请求。
举例而言,在互联网中的“秒杀”活动中,秒杀用户通常是大量的,比如几千、几万人,平台服务器通常会接收大量用户的批量请求。
第一筛选模块502,用于根据批量请求的请求来源,基于预设的请求来源名单,筛选符合预设的请求来源名单的第一批量请求。
可以理解的是,在同一时间段内接收批量的请求对服务器来说是一个巨大的挑战,针对批量高并发的请求,服务器前端可以通过机器扩容增加前端池的整体承载量来抗峰值,将请求页面上可以静态的元素静态化,并尽量减少动态元素;可以针对某一个IP,限制单位时间内发起请求数量;还可以在接近前端池承载能力上限的时候,随机拒绝部分请求。
除上述几种处理方式之外,服务器前端还可以采用lua脚本的规则匹配功能识别批量请求的来源,其中,lua是一种轻量级的可嵌入式脚本语言,具体的,可以根据预先设置的请求来源名单,比如请求用户的黑白名单控制,获取符合请求来源的第一批量请求,既防止了恶意请求,又因此减少了对后端的压力。
第二筛选模块503,用于若第一批量请求的数量不小于缓存中的第一预设请求阈值,基于第一批量请求的请求时间戳筛选出不大于第一预设请求阈值数量的第二批量请求。
其中,第一预设请求阈值可以是预先设定的服务器需要处理的请求总量,通过设置第一预设请求阈值,并根据第一批量请求的请求时间戳筛选出第二批量请求,可以理解的是,第二批量请求的数量不超过设置的第一预设请求阈值,以保证服务器可以仅处理已设定的请求处理量,并且根据请求时间戳筛选第二批量请求,保证了筛选的公平性。
举例而言,第一预设请求阈值可以是在秒杀活动中设置的库存数据,通过库存数据筛选出第二批量请求,保证秒杀活动不出现超卖的问题。
处理模块504,用于将第二批量请求分发至服务器集群,以使服务器集群处理第二批量请求。
可以理解的是,服务器后端通过采用负载均衡原则,将第二批量请求分发至服务器集群中不同的应用服务器上,可以减轻单个服务器压力,进而提高系统的并发处理能力,具体的,可以采用Nginx服务器,Nginx是一款轻量级的网页服务器/反向代理服务器以及电子邮件代理服务器,其并发能力在同类型的网页服务器中表现较好。
需要说明的是,主服务器与服务器集群中的应用服务器之间可以互相通信,具体的,主服务器可以通过心跳检测的方式,判断应用服务器当前是否可以正常工作,如果某一应用服务器宕掉,主服务器自动将请求发送到其他应用服务器。如检测到发生故障的应用服务器恢复工作,自动将其添加到处理请求的待用服务器中。
此外,还可以同时部署Nginx双中心,搭建Nginx服务器备份机,主服务器和备份机上都运行高可用监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到这样的信息时,表示主服务器出现了一定的故障,这时备份服务器可以接管主服务器的服务IP并继续提供负载均衡服务;当备份机又从主服务器收到“I am alive”这样的信息时,它就释放服务IP地址,这样的主服务器就开始再次提供负载均衡服务。避免出现其中一台Nginx服务器宕机后端 web服务将无法提供服务的情况。
本申请通过分布式缓存系统下的脚本规则匹配,自动识别请求来源,自动屏蔽恶意请求,保证了请求的安全性,通过设置第一预设阈值,使得服务器可以将其处理能力范围内的请求处理完毕,并且采用负载均衡策略,将批量请求分发至服务器集群,以使服务器集群处理批量请求,解决了服务器处理高并发请求的处理问题,提高了处理高并发请求的效率。
本申请实施例中提供了一种电子设备,该电子设备包括:存储器和处理器;至少一个程序,存储于存储器中,用于被处理器执行时,与现有技术相比可实现:本申请通过分布式缓存系统下的脚本规则匹配,自动识别请求来源,自动屏蔽恶意请求,保证了请求的安全性,通过设置第一预设阈值,使得服务器可以将其处理能力范围内的请求处理完毕,并且采用负载均衡策略,将批量请求分发至服务器集群,以使服务器集群处理批量请求,解决了服务器处理高并发请求的处理问题,提高了处理高并发请求的效率。
在一个可选实施例中提供了一种电子设备,如图6所示,图6所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC (Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001 也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP 和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或 EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码,并由处理器 4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,本申请通过分布式缓存系统下的脚本规则匹配,自动识别请求来源,自动屏蔽恶意请求,保证了请求的安全性,通过设置第一预设阈值,使得服务器可以将其处理能力范围内的请求处理完毕,并且采用负载均衡策略,将批量请求分发至服务器集群,以使服务器集群处理批量请求,解决了服务器处理高并发请求的处理问题,提高了处理高并发请求的效率。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种请求处理方法,应用于服务器,其特征在于,包括:
接收批量请求;
根据所述批量请求的请求来源,基于预设的请求来源名单,筛选符合所述预设的请求来源名单的第一批量请求;
若所述第一批量请求的数量不小于缓存中的第一预设请求阈值,基于所述第一批量请求的请求时间戳筛选出不大于所述第一预设请求阈值数量的第二批量请求;
将所述第二批量请求分发至服务器集群,以使所述服务器集群处理所述第二批量请求。
2.根据权利要求1所述的方法,其特征在于,若所述第一批量请求的数量不小于缓存中的第一预设请求阈值,所述方法包括:
针对所述第一批量请求的请求时间戳筛选出大于所述第一预设请求阈值数量的第三批量请求;
发送第一处理结果至所述第三批量请求的所属终端,所述第一处理结果包括请求失败信息。
3.根据权利要求1所述的方法,其特征在于,若所述第一批量请求的数量小于第一预设请求阈值,所述方法还包括:
根据所述第一批量请求的数量,调整所述缓存中的第一预设请求阈值,以使调整后的缓存中的第一预设请求阈值为调整前的缓存中的第一预设请求阈值与所述第一批量请求数量的差值。
4.根据权利要求1所述的方法,其特征在于,所述将所述第二批量请求分发至服务器集群,包括:
获取所述服务器集群中各个服务器的有效负载请求量;
根据所述各个服务器的有效负载请求量,将所述第二批量请求分发至所述服务器集群中的相应服务器中。
5.根据权利要求4所述的方法,其特征在于,所述获取所述服务器集群中各个服务器的有效负载请求量,包括:
监测所述服务器集群中各个服务器的运行状态;
若所述服务器集群中任一服务器的运行状态为正常状态,将该服务器的负载请求量确定为该服务器的有效负载请求量;
若所述服务器集群中任一服务器的运行状态为异常状态,清空该服务器的有效负载请求量,并将该服务器的负载请求分发至所述服务器集群的其他服务器中。
6.根据权利要求1所述的方法,其特征在于,若接收的批量请求分属不同类型,所述将所述第二批量请求分发至服务器集群,以使所述服务器集群处理所述第二批量请求,包括:
将所述第二批量请求分发至服务器集群,以使所述服务器集群根据所述第二批量请求的类型确定不同的队列,并基于在队列中的请求顺序中处理所述第二批量请求。
7.根据权利要求1-6任一项所述的方法,其特征在于,将所述第二批量请求分发至服务器集群,以使所述服务器集群处理所述第二批量请求后,所述方法还包括:
接收所述服务器集群发送的针对所述第二批量请求的第二处理结果;
根据所述第二批量请求的第二处理结果,调整数据库中的第二预设请求阈值,其中,调整后的数据库中的第二预设请求阈值与调整后的缓存中的第一预设请求阈值的数量相同;
发送所述第二处理结果至所述第二批量请求的所属终端,所述第二处理结果包括请求成功信息。
8.一种请求处理装置,其特征在于,包括:
接收模块,用于接收批量请求;
第一筛选模块,用于根据所述批量请求的请求来源,基于预设的请求来源名单,筛选符合所述预设的请求来源名单的第一批量请求;
第二筛选模块,用于若所述第一批量请求的数量不小于预设的请求阈值,基于所述第一批量请求的请求时间戳筛选出不大于所述预设的请求阈值数量的第二批量请求;
处理模块,用于将所述第二批量请求分发至服务器集群,以使所述服务器集群处理所述第二批量请求。
9.一种电子设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1~7任一项所述的请求处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述的请求处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011307698.3A CN114520808A (zh) | 2020-11-19 | 2020-11-19 | 请求处理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011307698.3A CN114520808A (zh) | 2020-11-19 | 2020-11-19 | 请求处理方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114520808A true CN114520808A (zh) | 2022-05-20 |
Family
ID=81594387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011307698.3A Pending CN114520808A (zh) | 2020-11-19 | 2020-11-19 | 请求处理方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114520808A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117237004A (zh) * | 2023-11-10 | 2023-12-15 | 深圳海辰储能科技有限公司 | 一种储能设备交易处理方法、装置和存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636957A (zh) * | 2015-02-04 | 2015-05-20 | 上海瀚之友信息技术服务有限公司 | 一种处理高并发数据请求的系统和方法 |
CN106411777A (zh) * | 2016-09-27 | 2017-02-15 | 福建中金在线信息科技有限公司 | 一种处理高并发数据的方法和系统 |
CN106453564A (zh) * | 2016-10-18 | 2017-02-22 | 北京京东尚科信息技术有限公司 | 弹性云分布式海量请求处理的方法、装置及系统 |
CN108897615A (zh) * | 2018-05-31 | 2018-11-27 | 康键信息技术(深圳)有限公司 | 秒杀请求处理方法、应用服务器集群及存储介质 |
CN109672627A (zh) * | 2018-09-26 | 2019-04-23 | 深圳壹账通智能科技有限公司 | 基于集群服务器的业务处理方法、平台、设备及存储介质 |
CN109949135A (zh) * | 2019-03-20 | 2019-06-28 | 江苏满运软件科技有限公司 | 高并发交易请求处理方法、系统、设备及存储介质 |
CN110597858A (zh) * | 2019-08-30 | 2019-12-20 | 深圳壹账通智能科技有限公司 | 任务数据处理方法、装置、计算机设备和存储介质 |
CN111221634A (zh) * | 2019-11-21 | 2020-06-02 | 望海康信(北京)科技股份公司 | 合并请求的处理方法、装置、设备及存储介质 |
CN111556125A (zh) * | 2020-04-24 | 2020-08-18 | 北京奇艺世纪科技有限公司 | 一种访问请求分配方法、负载均衡设备及电子设备 |
WO2020220739A1 (zh) * | 2019-04-28 | 2020-11-05 | 华为技术有限公司 | 一种请求控制方法、相关设备及计算机存储介质 |
CN111930786A (zh) * | 2020-08-14 | 2020-11-13 | 中国工商银行股份有限公司 | 资源获取请求处理系统、方法及装置 |
-
2020
- 2020-11-19 CN CN202011307698.3A patent/CN114520808A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636957A (zh) * | 2015-02-04 | 2015-05-20 | 上海瀚之友信息技术服务有限公司 | 一种处理高并发数据请求的系统和方法 |
CN106411777A (zh) * | 2016-09-27 | 2017-02-15 | 福建中金在线信息科技有限公司 | 一种处理高并发数据的方法和系统 |
CN106453564A (zh) * | 2016-10-18 | 2017-02-22 | 北京京东尚科信息技术有限公司 | 弹性云分布式海量请求处理的方法、装置及系统 |
CN108897615A (zh) * | 2018-05-31 | 2018-11-27 | 康键信息技术(深圳)有限公司 | 秒杀请求处理方法、应用服务器集群及存储介质 |
CN109672627A (zh) * | 2018-09-26 | 2019-04-23 | 深圳壹账通智能科技有限公司 | 基于集群服务器的业务处理方法、平台、设备及存储介质 |
CN109949135A (zh) * | 2019-03-20 | 2019-06-28 | 江苏满运软件科技有限公司 | 高并发交易请求处理方法、系统、设备及存储介质 |
WO2020220739A1 (zh) * | 2019-04-28 | 2020-11-05 | 华为技术有限公司 | 一种请求控制方法、相关设备及计算机存储介质 |
CN110597858A (zh) * | 2019-08-30 | 2019-12-20 | 深圳壹账通智能科技有限公司 | 任务数据处理方法、装置、计算机设备和存储介质 |
CN111221634A (zh) * | 2019-11-21 | 2020-06-02 | 望海康信(北京)科技股份公司 | 合并请求的处理方法、装置、设备及存储介质 |
CN111556125A (zh) * | 2020-04-24 | 2020-08-18 | 北京奇艺世纪科技有限公司 | 一种访问请求分配方法、负载均衡设备及电子设备 |
CN111930786A (zh) * | 2020-08-14 | 2020-11-13 | 中国工商银行股份有限公司 | 资源获取请求处理系统、方法及装置 |
Non-Patent Citations (1)
Title |
---|
杨杭;张昕;赵建平;: "基于动态反馈的负载均衡方法研究", 长春理工大学学报(自然科学版), no. 06 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117237004A (zh) * | 2023-11-10 | 2023-12-15 | 深圳海辰储能科技有限公司 | 一种储能设备交易处理方法、装置和存储介质 |
CN117237004B (zh) * | 2023-11-10 | 2024-03-05 | 深圳海辰储能科技有限公司 | 一种储能设备交易处理方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3389219B1 (en) | Access request conversion method and device | |
CN111641563B (zh) | 基于分布式场景的流量自适应方法与系统 | |
CN112087520B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN112905399B (zh) | 数据处理方法、异常情况预测方法及相关产品 | |
CN113765980A (zh) | 一种限流方法、装置、系统、服务器和存储介质 | |
CN108810832B (zh) | 短信下发方法、装置与计算机可读存储介质 | |
CN113190417A (zh) | 微服务状态检测方法、模型的训练方法、设备及存储介质 | |
CN114520808A (zh) | 请求处理方法、装置、电子设备及计算机可读存储介质 | |
CN114844771A (zh) | 微服务系统的监测方法、装置、存储介质、程序产品 | |
CN112965811A (zh) | 一种监控数据的优化方法及服务端 | |
CN115514665B (zh) | 业务扩展方法、装置、电子设备及存储介质 | |
CN116719623A (zh) | 作业调度方法、作业结果处理方法及其装置 | |
CN115658745A (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
CN114221807B (zh) | 访问请求处理方法、装置、监控设备及存储介质 | |
CN111556142B (zh) | 服务调用方法、装置及系统 | |
CN112231011B (zh) | 基于activiti的流程图调整方法、装置、电子设备和存储介质 | |
CN114710485A (zh) | 处理方法和处理装置 | |
CN110209512B (zh) | 基于多数据源的数据核对方法及装置 | |
CN114237910A (zh) | 客户端负载均衡实现方法及装置 | |
CN104767772B (zh) | 一种处理请求信息的方法及装置 | |
CN115622988B (zh) | web接口的调用响应方法、装置、电子设备和存储介质 | |
CN113760398A (zh) | 接口调用方法、服务器、系统以及存储介质 | |
CN110489694A (zh) | 用于处理高并发请求的方法和系统 | |
CN112422598A (zh) | 资源调度方法、智能前端设备、智能网关及分布式系统 | |
WO2024124641A1 (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 |