CN107172171B - 一种服务请求处理方法、装置及计算机可读存储介质 - Google Patents
一种服务请求处理方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107172171B CN107172171B CN201710396210.0A CN201710396210A CN107172171B CN 107172171 B CN107172171 B CN 107172171B CN 201710396210 A CN201710396210 A CN 201710396210A CN 107172171 B CN107172171 B CN 107172171B
- Authority
- CN
- China
- Prior art keywords
- service request
- processing
- time point
- priority
- service
- 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.)
- Active
Links
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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5013—Request control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/506—Constraint
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种服务请求处理方法,包括:接收用户设备发送的服务请求,记录所述服务请求的接收时间点,并将所述服务请求写入共享内存;从所述共享内存读取所述服务请求,并记录所述服务请求的处理时间点;根据所述服务请求的所述接收时间点和所述处理时间点,确定是否对所述服务请求进行处理;若确定对所述服务请求进行处理,向所述用户设备发送回复信息。本发明实施例还公开了一种服务请求处理装置。采用本发明实施例,通过拒绝无效请求防止服务器雪崩。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种服务请求处理方法、装置及计算机可读存储介质。
背景技术
服务雪崩效应是一种因服务提供者的不可用导致服务调用者的不可用、并将不可用逐渐放大的过程。目前,为了防止服务器雪崩,通过限制单个IP的请求数或者请求流量,来达到限流的目的。例如,通过记录每个用户的请求数或请求流量,并且预先配置限制阈值,判断每个用户的请求数或请求流量是否超过限制阈值,如果超过,则对该用户的请求数和请求流量进行限制。但是,在这种情况下,服务器仍然会很多无效的请求,如果在大流量的情况下,也会造成服务雪崩,导致***瘫痪。
发明内容
本发明实施例提供一种服务请求处理方法、装置及计算机可读存储介质。可以解决现有技术方案中容易造成服务雪崩的问题。
第一方面,本发明实施例提供了一种服务请求处理方法,包括:
接收用户设备发送的服务请求,记录所述服务请求的接收时间点,并将所述服务请求写入共享内存;
从所述共享内存读取所述服务请求,并记录所述服务请求的处理时间点;
根据所述服务请求的所述接收时间点和所述处理时间点,确定是否对所述服务请求进行处理;
若确定对所述服务请求进行处理,向所述用户设备发送回复信息。
其中,所述根据所述服务请求的所述接收时间点和所述处理时间点,确定是否对所述服务请求进行处理包括:
将所述处理时间点减去所述接收时间点,计算所述服务请求的等待时间;
判断所述服务请求的等待时间是否大于预设时长;
根据判断结果,确定是否对所述服务请求进行处理。
其中,所述根据判断结果,确定是否对所述服务请求进行处理包括:
若所述服务请求的等待时间大于所述预设时长,则删除所述服务请求;或
若所述服务请求的等待时间不大于所述预设时长,则确定对所述服务请求进行处理。
其中,所述接收用户设备发送的服务请求,记录所述服务请求的接收时间点,并将所述服务请求写入共享内存之后,还包括:
通过代理服务器向控制中心发送所述服务请求。
其中,所述从所述共享内存读取所述服务请求,并记录所述服务请求的处理时间点之后,还包括:
从所述控制中心获取所述服务请求的控制信息;
根据所述控制信息,确定是否对所述服务请求进行处理。
其中,所述控制信息包括预设门限值,
所述根据所述控制信息,确定是否对所述服务请求进行处理包括:
确定当前并行处理的所述服务请求的条数是否大于所述预设门限值;
若当前并行处理的所述服务请求的条数不大于所述预设门限值,则确定对所述服务请求进行处理。
其中,所述控制信息包括访问权限,所述根据所述控制信息,确定是否对所述服务请求进行处理包括:
确定所述服务请求是否具有所述访问权限;
若所述服务请求具有所述访问权限,则确定对所述服务请求进行处理。
其中,所述根据所述服务请求的所述接收时间点和所述处理时间点,确定是否对所述服务请求进行处理之后,还包括:
若确定暂停对所述服务请求进行处理,在等待预设时间间隔后获取服务器的运行状态;
若所述服务器的运行状态为空闲状态,则开始对所述服务请求进行处理。
第二方面,本发明实施例提供了一种服务请求处理装置,包括:
信息接收模块,用于接收用户设备发送的服务请求,记录所述服务请求的接收时间点,并将所述服务请求写入共享内存;
信息获取模块,用于从所述共享内存读取所述服务请求,并记录所述服务请求的处理时间点;
信息处理模块,用于根据所述服务请求的所述接收时间点和所述处理时间点,确定是否对所述服务请求进行处理;
信息发送模块,用于若确定对所述服务请求进行处理,向所述用户设备发送回复信息。
其中,所述信息处理模块具体用于:
将所述处理时间点减去所述接收时间点,计算所述服务请求的等待时间;
判断所述服务请求的等待时间是否大于预设时长;
根据判断结果,确定是否对所述服务请求进行处理。
其中,所述信息处理模块具体用于:
若所述服务请求的等待时间大于所述预设时长,则删除所述服务请求;或
若所述服务请求的等待时间不大于所述预设时长,则确定对所述服务请求进行处理。
其中,所述信息发送模块,还用于通过代理服务器向控制中心发送所述服务请求。
其中,所述信息处理模块,还用于从所述控制中心获取所述服务请求的控制信息;根据所述控制信息,确定是否对所述服务请求进行处理。
其中,所述信息处理模块具体用于:
确定当前并行处理的所述服务请求的条数是否大于所述预设门限值;
若当前并行处理的所述服务请求的条数不大于所述预设门限值,则确定对所述服务请求进行处理。
其中,所述信息处理模块具体用于:
确定所述服务请求是否具有所述访问权限;
若所述服务请求具有所述访问权限,则确定对所述服务请求进行处理。
第三方面,本发明实施例提供了一种服务请求处理装置,所述装置包括接口电路、存储器以及处理器,其中,存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行以下操作:
接收用户设备发送的服务请求,记录所述服务请求的接收时间点,并将所述服务请求写入共享内存;
从所述共享内存读取所述服务请求,并记录所述服务请求的处理时间点;
根据所述服务请求的所述接收时间点和所述处理时间点,确定是否对所述服务请求进行处理;
若确定对所述服务请求进行处理,向所述用户设备发送回复信息。
本申请的又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有多条指令,所述指令适于由处理器加载并执行上述各方面所述的方法。
本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
实施本发明实施例,首先接收用户设备发送的服务请求,记录所述服务请求的接收时间点,并将所述服务请求写入共享内存;然后从所述共享内存读取所述服务请求,并记录所述服务请求的处理时间点;其次根据所述服务请求的所述接收时间点和所述处理时间点,确定是否对所述服务请求进行处理;最后若确定对所述服务请求进行处理,向所述用户设备发送回复信息。通过判断接收时间点和处理时间点之间的时间差值来确定是否丢弃服务请求,来防止服务雪崩。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提出的一种服务请求处理***的架构示意图;
图2是本发明实施例提供的一种服务请求处理方法的流程示意图;
图3是本发明实施例提供的一种应用服务器的结构示意图;
图4是本发明另一实施例提供的一种服务请求处理方法的流程示意图;
图5是本发明实施例提供的一种服务请求处理装置的结构示意图;
图6是本发明另一实施例提供的一种服务请求处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1是本发明实施例提出的一种服务请求处理***的架构示意图。如图所示,本发明实施例中的***可以包括应用服务器、代理服务器、控制中心以及数据库,其中,应用服务器用于接收用户设备的服务请求,并向用户设备返回回复信息,代理服务器用于将服务器的请求信息转发给控制中心,控制中心用于汇总所有服务器上报的请求信息,用户可以在控制中心提供的前端页面上查看或者修改信息,数据库用于保存控制中心接收到的请求信息。当然,应用服务器可以直接向控制中心上报请求信息,而不需要通过代理服务器向控制中心上报请求信息。其中,上述应用服务器可以具体为即时通信应用的后台服务器或云端服务设备。
请参考图2,图2是本发明实施例提供的一种服务请求处理方法的流程示意图。如图所示,本发明实施例中的方法包括:
S201,接收用户设备发送的服务请求,记录所述服务请求的接收时间点,并将所述服务请求写入共享内存。
具体实现中,如图3所示,图3本发明实施例提供的一种应用服务器的结构示意图。该应用服务器可以包括代理节点Proxy、共享内存以及工作节点 worker。其中,代理节点可以用于接收用户设备发送的服务请求或向用户设备返回回复信息,共享内存可以用于存储服务请求,工作节点可以用于处理服务请求。用户设备可以单位时间内向服务器发送一个服务请求,也可以在单位时间内连续向服务器发送的多个服务请求。应用服务器可以首先加载配置文件,获取监听端口,进行初始化,同时监听多个用户设备发送的服务请求,在接收到服务请求时,记录该服务请求的接收时间点,然后将该服务请求写入共享内存,放入请求阵列中等待处理。
S202,从所述共享内存读取所述服务请求,并记录所述服务请求的处理时间点。
具体实现中,应用服务器可以从请求阵列中同时读取多个服务请求,也可以从请求阵列中读取一个服务请求,在读取服务请求之后开始对服务请求进行处理,并记录每个服务请求的处理时间点。
S203,根据所述服务请求的所述接收时间点和所述处理时间点,确定是否对所述服务请求进行处理。
具体实现中,应用服务器可以将所述处理时间点减去所述接收时间点,计算所述服务请求的等待时间;判断所述服务请求的等待时间是否大于预设时长;根据判断结果,确定是否对所述服务请求进行处理。
进一步的,若所述服务请求的等待时间大于所述预设时长,则舍弃所述服务请求或暂停处理该服务请求;或若所述服务请求的等待时间不大于所述预设时长,则确定对所述服务请求进行处理。
需要说明的是,对于等待时间大于所述预设时长的服务请求,应用服务器可以判定该服务请求为无效请求,直接舍弃该服务请求,从而减少了应用服务器所需要处理的服务请求的数量。
S204,若确定对所述服务请求进行处理,向所述用户设备发送回复信息。
具体实现中,若确定对所述服务请求进行处理,应用服务器可以根据服务请求分别确定处理后的回复信息,并将回复信息放入共享内存,然后从共享内存中读取回复信息,并向用户设备发送回复信息。
可选的,在所述根据所述服务请求的所述接收时间点和所述处理时间点,确定是否对所述服务请求进行处理之后,若确定暂停对所述服务请求进行处理,在等待预设时间间隔后获取应用服务器的运行状态;若所述应用服务器的运行状态为空闲状态,则开始对所述服务请求进行处理。若所述应用服务器的运行状态为繁忙状态,则不再对该服务请求进行处理,并向用户设备发送提示信息以提醒用户该服务请求失败。
可选的,可以预先建立服务请求的类型与优先级的对应关系(如,个人发送的服务请求对应第一优先级,运营商群发的服务请求对应第二优先级),若确定暂停对所述服务请求进行处理,可以获取服务请求的类型进而确定所述服务请求的优先级,可以根据所述优先级确定是否对所述服务请求进行舍弃,若所述服务请求的优先级低,例如:所述优先级低于预设优先级等,则直接舍弃该服务请求,若所述服务请求的优先级高,例如:所述优先级高于预设优先级等,重新对该服务请求进行处理,可选的,还可以对优先级高的服务请求归类为优先处理、一般处理,延后处理等处理顺序,可以依据服务请求的优先级的处理顺序依次进行处理。
在本发明实施例中,在高并发请求情况下,无效的请求越积越多,容易导致影响正常的请求进行优化。本发明实施例通过对每个请求进行追踪,记录每个请求的接收时间点和处理时间点,确定出无效请求,进而定时清理掉无效的请求,防止应用服务器雪崩。
请参考图4,图4是本发明实施例提供的另一种服务请求处理方法的流程示意图。如图所示,本发明实施例中的方法包括:
S401,接收用户设备发送的服务请求,记录所述服务请求的接收时间点,并将所述服务请求写入共享内存。
具体实现中,如图3所示,图3本发明实施例提供的一种应用服务器的结构示意图。该应用服务器可以包括代理节点Proxy、共享内存以及工作节点 worker。其中,代理节点可以用于接收用户设备发送的服务请求或向用户设备返回回复信息,共享内存可以用于存储服务请求,工作节点可以用于处理服务请求。用户设备可以单位时间内向服务器发送一个服务请求,也可以在单位时间内连续向服务器发送的多个服务请求。应用服务器可以首先加载配置文件,获取监听端口,进行初始化,同时监听多个用户设备发送的服务请求,在接收到服务请求时,记录该服务请求的接收时间点,然后将该服务请求写入共享内存,放入请求阵列中等待处理。
S402,通过代理服务器向控制中心发送所述服务请求。
S403,从所述共享内存读取所述服务请求,并记录所述服务请求的处理时间点。
具体实现中,应用服务器可以从请求阵列中同时读取多个服务请求,也可以从请求阵列中读取一个服务请求,在读取服务请求之后开始对服务请求进行处理,并记录每个服务请求的处理时间点。
S404,根据所述服务请求的所述接收时间点和所述处理时间点,确定是否对所述服务请求进行处理。
具体实现中,可以将所述处理时间点减去所述接收时间点,计算所述服务请求的等待时间;判断所述服务请求的等待时间是否大于预设时长;根据判断结果,确定是否对所述服务请求进行处理。
进一步的,若所述服务请求的等待时间大于所述预设时长,则舍弃所述服务请求或暂停处理该服务请求;或若所述服务请求的等待时间不大于所述预设时长,则确定对所述服务请求进行处理。
需要说明的是,对于等待时间大于所述预设时长的服务请求,应用服务器可以判定该服务请求为无效请求,直接舍弃该服务请求,从而减少了应用服务器所需要处理的服务请求的数量,并从请求队列中读取其他服务请求进行处理。
S405,若是,从所述控制中心获取所述服务请求的控制信息。
具体实现中,控制中心收到应用服务器发送的服务请求之后,对所有应用服务器发送的服务请求进行汇总,控制中心通过前端网页对汇总信息进行显示,用户可以查看汇总信息,对应用服务器的运行状态进行监控,并设置或修改相关的控制信息,以便有效控制应用服务器的运行,实现良好的运行状态。其中,所述控制信息可以包括预设门限值或/和访问权限,预设门限值可以包括网络连接数的门限值、网络流量的门限值或并发请求门限值等等,访问权限可以包括白名单黑名单或用户密码等等。另外,控制中心在接收到应用服务器发送的服务请求之后,可以将所有服务请求放入数据库。
S406,根据所述控制信息,确定是否对所述服务请求进行处理。
具体实现中,可以确定当前并行处理的所述服务请求的条数是否大于所述预设门限值;若当前并行处理的所述服务请求的条数不大于所述预设门限值,则确定对所述服务请求进行处理。若当前并行处理的所述服务请求的条数大于所述预设门限值,则将服务请求返回到共享内存。在服务请求放回共享内存之后,如果再次读取到该服务请求,也可以通过计算该服务请求的等待时间来丢弃该服务请求。
可选的,可以确定所述服务请求是否具有所述访问权限;若所述服务请求具有所述访问权限,则确定对所述服务请求进行处理。若所述服务请求不具有所述访问权限,则将服务请求返回到共享内存。例如,可以确定服务请求对应的IP地址是否具有访问权限,或者发送服务请求的用户是白名单用户或是黑名单用户。
需要说明的是,本发明实施例不仅限于包括上述两种判断方式,还可以包括其他判断方式,此处不再赘述。
S407,若确定对所述服务请求进行处理,向所述用户设备发送回复信息。
具体实现中,若确定对所述服务请求进行处理,应用服务器可以根据服务请求分别确定处理后的回复信息,并将回复信息放入共享内存,然后从共享内存中读取回复信息,并向用户设备发送回复信息。
在本发明实施例中,在高并发请求情况下,无效的请求越积越多,容易导致影响正常的请求进行优化,本发明实施例通过对每个请求进行追踪,记录每个请求的接收时间点和处理时间点,判断出无效请求,进而定时清理掉无效的请求,并结合控制中心来对服务器的流量进行控制,实现对应用服务器的流量限制,从而更加有效防止服务器雪崩。
请参考图5,图5是本发明实施例提供的一种服务请求处理装置的结构示意图。该装置可以为应用服务器,如图所示,本发明实施例中的装置包括:
信息接收模块501,用于接收用户设备发送的服务请求,记录所述服务请求的接收时间点,并将所述服务请求写入共享内存。
具体实现中,用户设备可以单位时间内向服务器发送一个服务请求,也可以在单位时间内连续向应用服务器发送的多个服务请求。应用服务器可以首先加载配置文件,获取监听端口,进行初始化,同时监听多个用户设备发送的服务请求,在接收到服务请求时,记录该服务请求的接收时间点,然后将该服务请求写入共享内存,放入请求阵列中等待处理。
可选的,在接收用户设备发送的服务请求之后,可以通过代理服务器向控制中心发送所述服务请求。控制中心在接收到服务器发送的服务请求之后,可以将所有服务请求放入数据库。
信息获取模块502,用于从所述共享内存读取所述服务请求,并记录所述服务请求的处理时间点。
具体实现中,可以从请求阵列中同时读取多个服务请求,也可以从请求阵列中读取一个服务请求,在读取服务请求之后开始对服务请求进行处理,并记录每个服务请求的处理时间点。
信息处理模块503,用于根据所述服务请求的所述接收时间点和所述处理时间点,确定是否对所述服务请求进行处理。
具体实现中,可以将所述处理时间点减去所述接收时间点,计算所述服务请求的等待时间;判断所述服务请求的等待时间是否大于预设时长;根据判断结果,确定是否对所述服务请求进行处理。
进一步的,若所述服务请求的等待时间大于所述预设时长,则舍弃所述服务请求或暂停处理该服务请求;或若所述服务请求的等待时间不大于所述预设时长,则确定对所述服务请求进行处理。
需要说明的是,对于等待时间大于所述预设时长的服务请求,可以判定该服务请求为无效请求,直接舍弃该服务请求,从而减少了应用服务器所需要处理的服务请求的数量,并从请求队列中读取其他服务请求进行处理。
可选的,在根据所述服务请求的所述接收时间点和所述处理时间点,确定是否对所述服务请求进行处理之后,可以从所述控制中心获取所述服务请求的控制信息,根据所述控制信息,确定是否对所述服务请求进行处理。
进一步的,控制中心收到应用服务器发送的服务请求之后,对所有应用服务器发送的服务请求进行汇总,控制中心通过前端网页对汇总信息进行显示,用户可以查看汇总信息,对应用服务器的运行状态进行监控,并设置或修改相关的控制信息,以便有效控制应用服务器的运行,实现良好的运行状态。其中,所述控制信息可以包括预设门限值或/和访问权限,预设门限值可以包括网络连接数的门限值、网络流量的门限值或并发请求门限值等等,访问权限可以包括白名单黑名单或用户密码等等。
进一步的,可以确定当前并行处理的所述服务请求的条数是否大于所述预设门限值;若当前并行处理的所述服务请求的条数不大于所述预设门限值,则确定对所述服务请求进行处理。若当前并行处理的所述服务请求的条数大于所述预设门限值,则将服务请求返回到共享内存。在服务请求放回共享内存之后,如果再次读取到该服务请求,也可以通过计算该服务请求的等待时间来丢弃该服务请求。
进一步的,可以确定所述服务请求是否具有所述访问权限;若所述服务请求具有所述访问权限,则确定对所述服务请求进行处理。若所述服务请求不具有所述访问权限,则将服务请求返回到共享内存。例如,可以确定服务请求对应的IP地址是否具有访问权限,或者发送服务请求的用户是白名单用户或是黑名单用户。
需要说明的是,本发明实施例不仅限于包括上述两种判断方式,还可以包括其他判断方式,此处不再赘述。
信息发送模块504,用于若确定对所述服务请求进行处理,向所述用户设备发送回复信息。
具体实现中,若确定对所述服务请求进行处理,根据服务请求分别确定处理后的回复信息,并将回复信息放入共享内存,然后从共享内存中读取回复信息,并向用户设备发送回复信息。
可选的,在所述根据所述服务请求的所述接收时间点和所述处理时间点,确定是否对所述服务请求进行处理之后,若确定暂停对所述服务请求进行处理,在等待预设时间间隔后获取应用服务器的运行状态;若所述应用服务器的运行状态为空闲状态,则开始对所述服务请求进行处理,若所述应用服务器的运行状态为繁忙状态,则不再对该服务请求进行处理,并向用户设备发送提示信息以提醒用户该服务请求失败。
可选的,可以预先建立服务请求的类型与优先级的对应关系(如,个人发送的服务请求对应第一优先级,运营商群发的服务请求对应第二优先级),若确定暂停对所述服务请求进行处理,可以获取服务请求的类型进而确定所述服务请求的优先级,可以根据所述优先级确定是否对所述服务请求进行舍弃,若所述服务请求的优先级低,例如:所述优先级低于预设优先级等,则直接舍弃该服务请求,若所述服务请求的优先级高,例如:所述优先级高于预设优先级等,重新对该服务请求进行处理,可选的,还可以对优先级高的服务请求归类为优先处理、一般处理,延后处理等处理顺序,可以依据服务请求的优先级的处理顺序依次进行处理。
在本发明实施例中,在高并发请求情况下,无效的请求越积越多,容易导致影响正常的请求进行优化,本发明实施例通过对每个请求进行追踪,记录每个请求的接收时间点和处理时间点,判断出无效请求,进而定时清理掉无效的请求,并结合控制中心来对服务器的流量进行控制,实现对服务器的流量限制,从而更加有效防止应用服务器雪崩。
请继续参考图6,图6是本发明实施例提出的另一种服务请求处理装置的结构示意图。如图所示,该装置可以包括:至少一个处理器601,例如CPU,至少一个收发器 602,至少一个存储器603和至少一个通信总线604。其中,通信总线604用于实现这些组件之间的连接通信。其中,本申请实施例中设备的收发器 602用于与其他节点设备进行信令或数据的通信。存储器603可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器603可选的还可以是至少一个位于远离前述处理器 601的存储装置。存储器603中存储一组程序代码,且处理器601执行存储器 603中上述终端所执行的程序。
接收用户设备发送的服务请求,记录所述服务请求的接收时间点,并将所述服务请求写入共享内存;
从所述共享内存读取所述服务请求,并记录所述服务请求的处理时间点;
根据所述服务请求的所述接收时间点和所述处理时间点,确定是否对所述服务请求进行处理;
若确定对所述服务请求进行处理,向所述用户设备发送回复信息。
其中,处理器601还用于执行如下操作步骤:
将所述处理时间点减去所述接收时间点,计算所述服务请求的等待时间;
判断所述服务请求的等待时间是否大于预设时长;
根据判断结果,确定是否对所述服务请求进行处理。
其中,处理器601还用于执行如下操作步骤:
若所述服务请求的等待时间大于所述预设时长,则删除所述服务请求;或
若所述服务请求的等待时间不大于所述预设时长,则确定对所述服务请求进行处理。
其中,处理器601还用于执行如下操作步骤:
通过代理服务器向控制中心发送所述服务请求。
其中,处理器601还用于执行如下操作步骤:
从所述控制中心获取所述服务请求的控制信息;
根据所述控制信息,确定是否对所述服务请求进行处理。
其中,处理器601还用于执行如下操作步骤:
确定当前并行处理的所述服务请求的条数是否大于所述预设门限值;
若当前并行处理的所述服务请求的条数不大于所述预设门限值,则确定对所述服务请求进行处理。
其中,处理器601还用于执行如下操作步骤:
确定所述服务请求是否具有所述访问权限;
若所述服务请求具有所述访问权限,则确定对所述服务请求进行处理。
其中,处理器601还用于执行如下操作步骤:
若确定暂停对所述服务请求进行处理,在等待预设时间间隔后获取应用服务器的运行状态;
若所述应用服务器的运行状态为空闲状态,则开始对所述服务请求进行处理。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
以上对本发明实施例所提供的内容下载方法及相关设备、***进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种服务请求处理方法,其特征在于,应用于应用服务器,所述方法包括:
接收用户设备发送的服务请求,记录所述服务请求的接收时间点,并将所述服务请求写入共享内存;
从所述共享内存读取所述服务请求,并记录所述服务请求的处理时间点;
若根据将所述处理时间点减去所述接收时间点得到的所述服务请求的等待时间大于预设时长,则删除所述服务请求;
若确定暂停对所述服务请求进行处理,则获取服务请求的类型并确定所述服务请求的优先级,根据所述优先级确定是否对所述服务请求进行舍弃处理;
若根据服务请求的类型与优先级的对应关系确定所述服务请求的优先级低于预设优先级,则直接舍弃该服务请求,若所述服务请求的优先级高于预设优先级,则按照处理顺序规则对所述服务请求进行处理,处理顺序规则包括优先处理、一般处理、延后处理中的任意一个或者多个;
若根据将所述处理时间点减去所述接收时间点得到的所述服务请求的等待时间不大于预设时长,则从控制中心获取所述服务请求的控制信息;
根据所述控制信息,确定是否对所述服务请求进行处理;所述控制信息包括预设门限值或/和访问权限;
若确定对所述服务请求进行处理,则将回复信息放入所述共享内存中,通过代理节点从共享内存中取出回复信息并向所述用户设备发送回复信息。
2.如权利要求1所述的方法,其特征在于,所述接收用户设备发送的服务请求,记录所述服务请求的接收时间点,并将所述服务请求写入共享内存之后,还包括:
通过代理服务器向控制中心发送所述服务请求。
3.如权利要求2所述的方法,其特征在于,所述控制信息包括预设门限值,
所述根据所述控制信息,确定是否对所述服务请求进行处理包括:
确定当前并行处理的所述服务请求的条数是否大于所述预设门限值;
若当前并行处理的所述服务请求的条数不大于所述预设门限值,则确定对所述服务请求进行处理。
4.如权利要求2所述的方法,其特征在于,所述控制信息包括访问权限,所述根据所述控制信息,确定是否对所述服务请求进行处理包括:
确定所述服务请求是否具有所述访问权限;
若所述服务请求具有所述访问权限,则确定对所述服务请求进行处理。
5.一种服务请求处理装置,其特征在于,所述装置包括:
信息接收模块,用于接收用户设备发送的服务请求,记录所述服务请求的接收时间点,并将所述服务请求写入共享内存;
信息获取模块,用于从所述共享内存读取所述服务请求,并记录所述服务请求的处理时间点;
信息处理模块,用于若根据将所述处理时间点减去所述接收时间点得到的所述服务请求的等待时间大于预设时长,则删除所述服务请求;若确定暂停对所述服务请求进行处理,则获取服务请求的类型并确定所述服务请求的优先级,根据所述优先级确定是否对所述服务请求进行舍弃处理;若根据服务请求的类型与优先级的对应关系确定所述服务请求的优先级低于预设优先级,则直接舍弃该服务请求,若所述服务请求的优先级高于预设优先级,则按照处理顺序规则对所述服务请求进行处理,处理顺序规则包括优先处理、一般处理、延后处理中的任意一个或者多个;若根据将所述处理时间点减去所述接收时间点得到的所述服务请求的等待时间不大于预设时长,则从控制中心获取所述服务请求的控制信息;根据所述控制信息,确定是否对所述服务请求进行处理,所述控制信息包括预设门限值或/和访问权限;
信息发送模块,用于若确定对所述服务请求进行处理,则将回复信息放入所述共享内存中,通过代理节点从共享内存中取出回复信息并向所述用户设备发送回复信息。
6.如权利要求5所述的装置,其特征在于,所述信息发送模块,还用于通过代理服务器向控制中心发送所述服务请求。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1-4任一项所述的方法。
8.一种服务请求处理装置,其特征在于,所述装置包括接口电路、存储器以及处理器,其中,存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行以下操作:
接收用户设备发送的服务请求,记录所述服务请求的接收时间点,并将所述服务请求写入共享内存;
从所述共享内存读取所述服务请求,并记录所述服务请求的处理时间点;
若根据将所述处理时间点减去所述接收时间点得到的所述服务请求的等待时间大于预设时长,则删除所述服务请求;
若确定暂停对所述服务请求进行处理,则获取服务请求的类型并确定所述服务请求的优先级,根据所述优先级确定是否对所述服务请求进行舍弃处理;
若根据服务请求的类型与优先级的对应关系确定所述服务请求的优先级低于预设优先级,则直接舍弃该服务请求,若所述服务请求的优先级高于预设优先级,则按照处理顺序规则对所述服务请求进行处理,处理顺序规则包括优先处理、一般处理、延后处理中的任意一个或者多个;
若根据将所述处理时间点减去所述接收时间点得到的所述服务请求的等待时间不大于预设时长,则从控制中心获取所述服务请求的控制信息;
根据所述控制信息,确定是否对所述服务请求进行处理;所述控制信息包括预设门限值或/和访问权限;
若确定对所述服务请求进行处理,则将回复信息放入所述共享内存中,通过代理节点从共享内存中取出回复信息并向所述用户设备发送回复信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710396210.0A CN107172171B (zh) | 2017-05-27 | 2017-05-27 | 一种服务请求处理方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710396210.0A CN107172171B (zh) | 2017-05-27 | 2017-05-27 | 一种服务请求处理方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107172171A CN107172171A (zh) | 2017-09-15 |
CN107172171B true CN107172171B (zh) | 2022-02-11 |
Family
ID=59821002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710396210.0A Active CN107172171B (zh) | 2017-05-27 | 2017-05-27 | 一种服务请求处理方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107172171B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107566516B (zh) * | 2017-09-25 | 2019-12-03 | 平安科技(深圳)有限公司 | 并发量控制方法、应用服务器及*** |
CN107729551A (zh) * | 2017-11-03 | 2018-02-23 | 郑州云海信息技术有限公司 | 云海数据中的请求响应方法和计算机可读存储介质 |
CN108512938B (zh) * | 2018-04-17 | 2021-03-30 | 创新先进技术有限公司 | 一种数据请求的处理方法、装置及电子设备 |
CN109032790B (zh) * | 2018-06-29 | 2020-09-01 | 优刻得科技股份有限公司 | 过载保护方法、过载保护装置、介质和设备 |
CN109104336B (zh) * | 2018-09-27 | 2022-08-05 | 平安普惠企业管理有限公司 | 服务请求处理方法、装置、计算机设备及存储介质 |
CN109614255B (zh) * | 2018-10-23 | 2023-04-07 | 平安科技(深圳)有限公司 | 交易请求的处理方法、装置、介质及电子设备 |
CN110417901B (zh) * | 2019-07-31 | 2022-04-29 | 北京金山云网络技术有限公司 | 数据处理方法、装置及网关服务器 |
CN111506403B (zh) * | 2020-04-03 | 2024-07-23 | 北京声智科技有限公司 | 一种多服务处理方法及装置 |
CN113742109B (zh) * | 2021-09-09 | 2023-09-15 | 平安科技(深圳)有限公司 | 第三方服务对接方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379040A (zh) * | 2012-04-24 | 2013-10-30 | 阿里巴巴集团控股有限公司 | 一种高并发***中控制并发数的装置和方法 |
CN105025080A (zh) * | 2015-06-02 | 2015-11-04 | 深圳市创梦天地科技有限公司 | 一种分布式***的过载保护方法和服务器 |
WO2016022925A2 (en) * | 2014-08-08 | 2016-02-11 | Oracle International Corporation | Policy based resource management and allocation system |
CN105577772A (zh) * | 2015-12-17 | 2016-05-11 | 腾讯科技(北京)有限公司 | 素材接收方法、素材上传方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506703B (zh) * | 2016-12-28 | 2018-06-08 | 掌阅科技股份有限公司 | 基于共享内存的服务发现方法、装置及***、服务器 |
-
2017
- 2017-05-27 CN CN201710396210.0A patent/CN107172171B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379040A (zh) * | 2012-04-24 | 2013-10-30 | 阿里巴巴集团控股有限公司 | 一种高并发***中控制并发数的装置和方法 |
WO2016022925A2 (en) * | 2014-08-08 | 2016-02-11 | Oracle International Corporation | Policy based resource management and allocation system |
CN105025080A (zh) * | 2015-06-02 | 2015-11-04 | 深圳市创梦天地科技有限公司 | 一种分布式***的过载保护方法和服务器 |
CN105577772A (zh) * | 2015-12-17 | 2016-05-11 | 腾讯科技(北京)有限公司 | 素材接收方法、素材上传方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107172171A (zh) | 2017-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107172171B (zh) | 一种服务请求处理方法、装置及计算机可读存储介质 | |
CN110290217B (zh) | 数据请求的处理方法及装置、存储介质及电子装置 | |
KR20220062101A (ko) | 정보 송신 방법, 장치, 판독 가능한 매체 및 전자 장치 | |
CN108696581B (zh) | 分布式信息的缓存方法、装置、计算机设备以及存储介质 | |
CN109936613B (zh) | 应用于服务器的容灾方法和装置 | |
CN110471749B (zh) | 任务处理方法、装置、计算机可读存储介质和计算机设备 | |
US10432725B2 (en) | Server access processing system | |
CN108390856B (zh) | 一种DDoS攻击检测方法、装置及电子设备 | |
CN114268957B (zh) | 异常业务数据处理方法、装置、服务器及存储介质 | |
CN108924043A (zh) | ***监控方法、网关通信、网关装置、业务处理设备 | |
CN110069217B (zh) | 一种数据存储方法及装置 | |
CN115190062A (zh) | 业务处理方法及装置、电子设备和计算机可读存储介质 | |
CN110881224A (zh) | 一种网络长连接方法、装置、设备及存储介质 | |
CN109286532B (zh) | 云计算***中告警信息的管理方法和装置 | |
CN115412609B (zh) | 一种业务处理方法、装置、服务器及存储介质 | |
CN113905092B (zh) | 一种确定可复用代理队列的方法、装置、终端及存储介质 | |
US20170279771A1 (en) | Packet processing method, network server, and virtual private network system | |
CN114374657A (zh) | 一种数据处理方法和装置 | |
CN111930696B (zh) | 一种基于小程序的文件传输处理方法及*** | |
CN112688982B (zh) | 一种用户请求处理方法和装置 | |
CN110324179B (zh) | 一种负载异常告警方法及相关装置 | |
US11650993B2 (en) | Information query method for terminal and terminal | |
CN112148508A (zh) | 一种信息处理的方法及相关装置 | |
CN112612848A (zh) | 数据实时同步的方法及装置、***、电子设备、存储介质 | |
CN111030944A (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 |