CN114390107A - 请求处理方法、装置、计算机设备、存储介质和程序产品 - Google Patents
请求处理方法、装置、计算机设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN114390107A CN114390107A CN202210040370.2A CN202210040370A CN114390107A CN 114390107 A CN114390107 A CN 114390107A CN 202210040370 A CN202210040370 A CN 202210040370A CN 114390107 A CN114390107 A CN 114390107A
- Authority
- CN
- China
- Prior art keywords
- request
- requests
- target
- bodies
- file
- 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 abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000004458 analytical method Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 41
- 230000004044 response Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 230000000717 retained effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000000903 blocking effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种请求处理方法、装置、计算机设备、存储介质和程序产品,属于大数据技术领域。所述方法包括:将指向同一URL的多个目标请求存入延时队列中,并对延时队列中的多个目标请求的请求体分别进行解析,得到解析结果;对于多个目标请求中解析结果指示请求体相同的第一请求,从各第一请求中选择其中一个请求进行保留;对于多个目标请求中解析结果指示请求体不相同的第二请求,将各第二请求中请求时间在后的请求进行保留;对延时队列中保留的请求进行响应。采用本方法服务器能够在接收到每个请求的基础上,保留最终有效的请求并对保留的请求进行响应,保证了请求处理结果的正确性。
Description
技术领域
本申请涉及大数据技术领域,特别是涉及一种请求处理方法、装置、计算机设备、存储介质和程序产品。
背景技术
对于一些用户请求,在某些情况下是可能重复发送的,那些重复请求会浪费服务器的资源,例如,用户连续对同一URL发送请求,其中,URL为服务器上存储文件的地址。现有技术中,为了节约服务器的资源,服务器对重复请求进行了阻断处理,也即服务器在接收到用户对某一URL的请求之后,不再接收用户对该URL的请求。但是,现有技术中的阻断处理无法应对向同一URL发送不同请求的情形,例如,同一用户的连续多次点赞及点赞取消请求的情形,因用户的多次点赞及点赞取消的请求为对同一URL发送的请求,若服务器只接收第一次的点赞请求而不接收之后的多次点赞及点赞取消的请求,则服务器无法接收到用户的最终的请求,无法保证服务器对请求处理的准确性。
发明内容
基于此,有必要针对上述技术问题,提供一种能够保证服务器对请求处理的准确性的请求处理方法、装置、计算机设备、存储介质和程序产品。
第一方面,本申请提供了一种请求处理方法,该方法包括:将指向同一URL的多个目标请求存入延时队列中,并对延时队列中的多个目标请求的请求体分别进行解析,得到解析结果;对于多个目标请求中解析结果指示请求体相同的第一请求,从各第一请求中选择其中一个请求进行保留;对于多个目标请求中解析结果指示请求体不相同的第二请求,将各第二请求中请求时间在后的请求进行保留;对延时队列中保留的请求进行响应。
在其中一个实施例中,将指向同一URL的多个目标请求存入延时队列中,包括:获取指向同一URL的多个初始请求;对多个初始请求进行识别,根据识别结果从多个初始请求中确定多个目标请求,其中,多个目标请求为用户特定请求,用户特定请求为指向特定的URL之外的请求;将确定的多个目标请求存入延时队列中。
在其中一个实施例中,该方法还包括:对于多个初始请求中的非目标请求,确定非目标请求对应的文件是否处于缓存中;若位于缓存中,则基于缓存中非目标请求对应的文件对非目标请求进行响应。
在其中一个实施例中,该方法还包括:若没有位于缓存中,则获取非目标请求对应的文件;将获取到的文件存入缓存中,并基于文件对非目标请求进行响应。
在其中一个实施例中,该方法还包括:若缓存中的目标文件的存储时长大于预设时长,则将目标文件从缓存中删除。
在其中一个实施例中,对延时队列中保留的请求进行响应,包括:按照先进先出的顺序从延时队列中获取保留的请求;对获取到的保留的请求进行响应。
在其中一个实施例中,对延时队列中的多个目标请求的请求体分别进行解析,得到解析结果,包括:将多个目标请求的请求体分别进行转换,得到各请求体分别对应的字符串;对各字符串进行对比,若各字符串相同,则各字符串对应的请求体相同;若各字符串不相同,则各字符串对应的请求体不相同。
第二方面,本申请还提供了一种请求处理装置,该装置包括:解析模块,用于将指向同一URL的多个目标请求存入延时队列中,并对延时队列中的多个目标请求的请求体分别进行解析,得到解析结果;第一保留模块,用于对于多个目标请求中解析结果指示请求体相同的第一请求,从各第一请求中选择其中一个请求进行保留;第二保留模块,用于对于多个目标请求中解析结果指示请求体不相同的第二请求,将各第二请求中请求时间在后的请求进行保留;第一响应模块,用于对延时队列中保留的请求进行响应
在其中一个实施例中,该解析模块,具体用于:获取指向同一URL的多个初始请求;对多个初始请求进行识别,根据识别结果从多个初始请求中确定多个目标请求,其中,多个目标请求为用户特定请求,用户特定请求为指向特定的URL之外的请求;将确定的多个目标请求存入延时队列中。
在其中一个实施例中,该装置包括:确定模块,用于对于多个初始请求中的非目标请求,确定非目标请求对应的文件是否处于缓存中;第二响应模块,用于若位于缓存中,则基于缓存中非目标请求对应的文件对非目标请求进行响应。
在其中一个实施例中,该装置还包括:获取模块,用于若没有位于缓存中,则获取非目标请求对应的文件;第三响应模块,用于将获取到的文件存入缓存中,并基于文件对非目标请求进行响应。
在其中一个实施例中,该装置还包括:删除模块,用于若缓存中的目标文件的存储时长大于预设时长,则将目标文件从缓存中删除。
在其中一个实施例中,该第一响应模块,具体用于:按照先进先出的顺序从延时队列中获取保留的请求;对获取到的保留的请求进行响应。
在其中一个实施例中,该解析模块,具体用于:将多个目标请求的请求体分别进行转换,得到各请求体分别对应的字符串;对各字符串进行对比,若各字符串相同,则各字符串对应的请求体相同;若各字符串不相同,则各字符串对应的请求体不相同。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现上述第一方面任一项所述的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面任一项所述的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面任一项所述的方法的步骤。
本申请实施例提供的技术方案带来的有益效果至少包括:
在本申请实施例中,首先,将指向同一URL的多个目标请求存入延时队列中,并对延时队列中的多个目标请求的请求体分别进行解析,得到解析结果;其次,对于多个目标请求中解析结果指示请求体相同的第一请求,从各第一请求中选择其中一个请求进行保留;对于多个目标请求中解析结果指示请求体不相同的第二请求,将各第二请求中请求时间在后的请求进行保留;最后,对延时队列中保留的请求进行响应。也就是说,在本申请实施例中,将指向同一URL的全部目标请求都会存入延时队列中,并会对延时队列中的目标请求进行去重,也即对目标请求进行解析,并根据解析结果确定保留的请求,该保留的请求为同一URL对应的有效的请求。如此,无论是指向同一URL的不同请求还是指向同一URL的相同请求的情形,服务器能够在接收到每个请求的基础上,保留最终有效的请求并对保留的请求进行响应,保证了请求处理结果的正确性。
附图说明
图1为本申请实施例提供的一种实施环境的示意图;
图2为本申请实施例提供的一种请求处理方法的流程图;
图3为本申请实施例提供的一种对非目标请求进行响应的技术过程的流程图;
图4为本申请实施例提供的一种获取解析结果的技术过程的流程图;
图5为本申请实施例提供的一种请求处理方法的流程图;
图6为本申请实施例提供的一种请求处理装置的框图;
图7为本申请实施例提供的另一种请求处理装置的框图;
图8为本申请实施例提供的一种计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
对于一些用户请求,在某些情况下是可能重复发送的,那些重复请求会浪费服务器的资源,例如,用户连续对同一URL发送请求,其中,URL为服务器上存储文件的地址。现有技术中,为了节约服务器的资源,服务器对重复请求进行了阻断处理,也即服务器在接收到用户对某一URL的请求之后,不再接收用户对该URL的请求。但是,现有技术中的阻断处理无法应对向同一URL发送不同请求的情形,例如,同一用户的连续多次点赞及点赞取消请求的情形,因用户的多次点赞及点赞取消的请求为对同一URL发送的请求,若服务器只接收第一次的点赞请求而不接收之后的多次点赞及点赞取消的请求,则服务器无法接收到用户的最终的请求,无法保证服务器对请求处理的准确性。
有鉴于此,本申请实施例提供了一种请求处理方法、装置、计算机设备、存储介质和程序产品,利用该请求处理方法能够提高服务器处理请求的准确性。
请参见图1,其示出了本申请实施例提供的请求处理方法所涉及的实施环境的示意图。如图1所示,本申请实施例提供的请求处理方法的执行主体可以是独立的服务器,也可以为由多个服务器组成的服务器集群。不同的服务器之间可以通过有线或无线方式的进行通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。
请参见图2,其示出了本申请实施例提供的一种请求处理方法的流程图,该请求处理方法可以应用于图1所示的服务器中。如图2所示,该请求处理方法可以包括以下步骤:
步骤201、服务器将指向同一URL的多个目标请求存入延时队列中,并对延时队列中的多个目标请求的请求体分别进行解析,得到解析结果。
其中,目标请求可以分为三个部分:请求行、请求头和请求体,其中,请求体是请求过程中携带的数据,请求体可以用于表征一个请求的内容信息。
在本申请的可选实施例中,将指向同一URL的多个目标请求存入延时队列中的可选的流程为:
首先,服务器获取指向同一URL的多个初始请求。可选的,用户可以通过终端向服务器发送指向同一URL的多个初始请求,服务器可以接收到终端发送的多个初始请求。可选的,指向同一URL的多个初始请求可以为同一时间段的请求,服务器可以对接收到的同一时间段的指向同一URL的多个初始请求进行去重操作。
其次,服务器对多个初始请求进行识别,根据识别结果从多个初始请求中确定多个目标请求,其中,多个目标请求为用户特定请求。可选的,服务器可以通过白名单把URL对应的用户请求进行分类,分成用户特定请求和非用户特定请求,用户特定请求为指向特定的URL之外的请求,非用户特定请求为指向特定的URL的请求。
最后,服务器确定的多个目标请求存入延时队列中。其中,延时队列是一个具有延时特性的队列,队列是一种线性表,内部的元素是有序的,具有先进先出的特性,延时队列与普通队列的先进先出不同,延时队列可以指定队列中的消息在某个时间点被消费。可选的,对多个目标请求的请求体分别进行解析,解析的方式可以为将请求体转换为字符串或者转换为服务器可以识别的其他形式,本申请实施例对此不作限定。
步骤202、对于多个目标请求中解析结果指示请求体相同的第一请求,服务器从各第一请求中选择其中一个请求进行保留。
在解析结果指示多个目标请求中的请求体相同的情形下,目标请求为第一请求,服务器可以从多个第一请求中选择其中一个请求进行保留。例如,服务器获取到同一用户连续获取手机验证码的多个请求,这连续的多个请求的请求体相同,则服务器可以从这多个请求中选择其中一个请求进行保留。
步骤203、对于多个目标请求中解析结果指示请求体不相同的第二请求,服务器将各第二请求中请求时间在后的请求进行保留。
在解析结果指示多个目标请求中的请求体不相同的情形下,目标请求为第二请求,服务器可以将多个第二请求中请求时间在后的请求进行保留。例如,服务器获取到同一用户的连续多次点赞及点赞取消请求,这多个请求的请求体不相同,则服务器可以将请求时间在后的请求进行保留,也即是,将请求时间在后的点赞或者点赞取消请求进行保留,如此,服务器可以保留用户最终选择的请求。
步骤204、服务器对延时队列中保留的请求进行响应。
可选的,对延时队列中保留的请求进行响应的流程可以为:首先,按照先进先出的顺序从延时队列中获取保留的请求。可选的,可以将获取到的保留的请求按照先进先出的顺序放入新的队列中,在将获取到的保留的请求放入新的队列之后,可以删除延时队列中的各个请求,以便清空后的延时队列可以继续获取下一时间段的请求,有效提高了资源利用的效率。其次,对获取到的保留的请求进行响应。其中,对获取到的保留的请求进行响应可以为:服务器获取保留的请求指向的URL对应的文件,并将该文件发送至终端,终端根据该文件进行响应。可选的,对于指向同一URL的多个目标请求,可以利用and操作符对重复的请求进行去重并根据boolean参数结果重构参数,保留至少一个去重后的请求。其中,and操作符用于进行逻辑与运算,boolean变量存储为8位(1个字节)的数值形式,只能是True或是False。
在本申请实施例中,首先,将指向同一URL的多个目标请求存入延时队列中,并对延时队列中的多个目标请求的请求体分别进行解析,得到解析结果;其次,对于多个目标请求中解析结果指示请求体相同的第一请求,从各第一请求中选择其中一个请求进行保留;对于多个目标请求中解析结果指示请求体不相同的第二请求,将各第二请求中请求时间在后的请求进行保留;最后,对延时队列中保留的请求进行响应。也就是说,在本申请实施例中,将指向同一URL的全部目标请求都会存入延时队列中,并会对延时队列中的目标请求进行去重,也即对目标请求进行解析,并根据解析结果确定保留的请求,该保留的请求为同一URL对应的有效的请求。如此,无论是指向同一URL的不同请求还是指向同一URL的相同请求的情形,服务器能够在接收到每个请求的基础上,保留最终有效的请求并对保留的请求进行响应,保证了请求处理结果的正确性。
请参见图3,其示出了本申请实施例提供的一种对非目标请求进行响应的技术过程。如图3所示,该对非目标请求进行响应的技术过程可以包括以下步骤:
步骤301、对于多个初始请求中的非目标请求,服务器确定非目标请求对应的文件是否处于缓存中。
其中,非目标请求为非用户特定请求,非用户特定请求用于从服务器中获取特定的文件。可选的,在确定非目标请求对应的文件之前,可以将指向URL的非目标请求不存入延时队列,不对非目标请求的请求体进行解析以达到去重的效果,可以直接从缓存中寻找是否有非目标请求对应的文件。
步骤302、若位于缓存中,则服务器基于缓存中非目标请求对应的文件对非目标请求进行响应。
可选的,若非目标请求对应的文件位于缓存中,服务器可以将该文件发送至对应的终端中,终端可以根据该请求进行相应的响应。
步骤303、若没有位于缓存中,则服务器获取非目标请求对应的文件,将获取到的文件存入缓存中,并基于文件对非目标请求进行响应。
可选的,若非目标请求对应的文件没有位于缓存中,服务器首先可以获取非目标请求对应的文件,接着,将该文件发送至终端中,终端可以根据该请求进行相应的响应。
在本申请的可选实施例中,若缓存中的目标文件的存储时长大于预设时长,则可以将目标文件从缓存中删除。缓存中存储的文件具有时效性,在缓存中的目标文件的存储时长大于预设时长的情况下,可以将目标文件从缓存中进行删除,以节省缓存的空间。其中,预设时长可以是根据大量的实验数据并在一定平台进行实验后得到的值,可选的,预设时长可以是用户设定的值,还可以是开发人员设定的固定的值。
请参见图4,其示出了本申请实施例提供的一种获取解析结果的技术过程。如图4所示,该获取解析结果的技术过程可以包括以下步骤:
步骤401、服务器将多个目标请求的请求体分别进行转换,得到各请求体分别对应的字符串。
其中,目标请求可以分为三个部分:请求行、请求头和请求体,其中,请求体是请求过程中携带的数据,请求体可以用于表征一个请求的内容信息。可选的,可以将目标请求的请求体进行转换,得到请求体对应的字符串。
步骤402、服务器对各字符串进行对比,若各字符串相同,则各字符串对应的请求体相同,若各字符串不相同,则各字符串对应的请求体不相同。
请参见图5,其示出了本申请实施例提供的一种请求处理方法的流程图,该请求处理方法可以应用于图5所示的服务器中。如图5所示,该请求处理方法可以包括以下步骤:
步骤501、服务器获取指向同一URL的多个初始请求。
可选的,用户可以通过终端向服务器发送指向同一URL的多个初始请求,服务器可以接收到终端发送的多个初始请求。可选的,指向同一URL的多个初始请求可以为同一时间段的请求,服务器可以对接收到的同一时间段的指向同一URL的多个初始请求进行去重操作。
步骤502、服务器对多个初始请求进行识别,根据识别结果从多个初始请求中确定目标请求以及非目标请求,若是初始请求为目标请求则执行步骤503,若初始请求为非目标请求则执行步骤509。
其中,目标请求为用户特定请求,非目标请求为非用户特定请求。可选的,服务器可以通过白名单把URL对应的用户请求进行分类,分成用户特定请求和非用户特定请求,用户特定请求为指向特定的URL之外的请求,非用户特定请求为指向特定的URL的请求。延时队列是一个具有延时特性的队列,队列是一种线性表,内部的元素是有序的,具有先进先出的特性,延时队列与普通队列的先进先出不同,延时队列可以指定队列中的消息在某个时间点被消费。
步骤503、服务器将指向同一URL的多个目标请求存入延时队列中,并将指向同一URL的多个目标请求的请求体分别进行转换,得到各请求体分别对应的字符串。
其中,目标请求可以分为三个部分:请求行、请求头和请求体,其中,请求体是请求过程中携带的数据,请求体可以用于表征一个请求的内容信息。
步骤504、服务器对各字符串进行对比,若各字符串相同,则各字符串对应的请求体相同;若各字符串不相同,则各字符串对应的请求体不相同。
步骤505、对于多个目标请求中请求体相同的第一请求,服务器从各第一请求中选择其中一个请求进行保留。
在解析结果指示多个目标请求中的请求体相同的情形下,目标请求为第一请求,服务器可以从多个第一请求中选择其中一个请求进行保留。例如,服务器获取到同一用户连续获取手机验证码的多个请求,这连续的多个请求的请求体相同,则服务器可以从这多个请求中选择其中一个请求进行保留。
步骤506、对于多个目标请求中请求体不相同的第二请求,服务器将各第二请求中请求时间在后的请求进行保留。
在解析结果指示多个目标请求中的请求体不相同的情形下,目标请求为第二请求,服务器可以将多个第二请求中请求时间在后的请求进行保留。例如,服务器获取到同一用户的连续多次点赞及点赞取消请求,这多个请求的请求体不相同,则服务器可以将请求时间在后的请求进行保留,也即是,将请求时间在后的点赞或者点赞取消请求进行保留,如此,服务器可以保留用户最终选择的请求。
步骤507、服务器按照先进先出的顺序从延时队列中获取保留的请求。
可选的,可以将获取到的保留的请求按照先进先出的顺序放入新的队列中,在将获取到的保留的请求放入新的队列之后,可以删除延时队列中的各个请求,以便清空后的延时队列可以继续获取下一时间段的请求,有效提高了资源利用的效率。
步骤508、服务器对获取到的保留的请求进行响应,跳出程序。
其中,对获取到的保留的请求进行响应可以为:服务器获取保留的请求指向的URL对应的文件,并将该文件发送至终端,终端根据该文件进行响应。可选的,对于指向同一URL的多个目标请求,可以利用and操作符对重复的请求进行去重并根据boolean参数结果重构参数,保留至少一个去重后的请求。其中,and操作符用于进行逻辑与运算,boolean变量存储为8位(1个字节)的数值形式,只能是True或是False。
步骤509、服务器对于多个初始请求中的非目标请求,确定非目标请求对应的文件是否处于缓存中。
其中,非目标请求为非用户特定请求,非用户特定请求用于从服务器中获取特定的文件。可选的,在确定非目标请求对应的文件之前,可以将指向URL的非目标请求不存入延时队列,不对非目标请求的请求体进行解析以达到去重的效果,可以直接从缓存中寻找是否有非目标请求对应的文件。
步骤510、若位于缓存中,则服务器基于缓存中非目标请求对应的文件对非目标请求进行响应。
可选的,若非目标请求对应的文件位于缓存中,服务器可以将该文件发送至对应的终端中,终端可以根据该请求进行相应的响应。
步骤511、若没有位于缓存中,则服务器获取非目标请求对应的文件;将获取到的文件存入缓存中,并基于文件对非目标请求进行响应,跳出程序。
可选的,若非目标请求对应的文件没有位于缓存中,服务器首先可以获取非目标请求对应的文件,接着,将该文件发送至终端中,终端可以根据该请求进行相应的响应。
在本申请的可选实施例中,若缓存中的目标文件的存储时长大于预设时长,则可以将目标文件从缓存中删除。缓存中存储的文件具有时效性,在缓存中的目标文件的存储时长大于预设时长的情况下,可以将目标文件从缓存中进行删除,以节省缓存的空间。其中,预设时长可以是根据大量的实验数据并在一定平台进行实验后得到的值,可选的,预设时长可以是用户设定的值,还可以是开发人员设定的固定的值。
在本申请实施例中,将指向同一URL的全部目标请求都存入延时队列中,并会对延时队列中的目标请求进行去重操作确定保留的请求,该保留的请求为同一URL对应的有效的请求。如此,无论是指向同一URL的不同请求还是指向同一URL的相同请求的情形,服务器能够在接收到每个请求的基础上,保留最终有效的请求并对保留的请求进行响应,保证了请求处理结果的正确性。也就是说,针对指向同一URL的目标请求进行去重处理,例如连续多次对相同URL发送请求,服务器对相同请求实际就处理一次,这样既保证每个请求都能经过处理,也保证结果的正确性,也不会因为同时间处理多次请求对服务器造成压力,最大幅度的提高了服务器处理高流量的能力,可以减轻服务器的压力。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
请参见图6,其示出了本申请实施例提供的一种请求处理装置600的框图,该请求处理装置可以配置于上述的服务器中。如图6所示,该请求处理装置600包括解析模块601、第一保留模块602、第二保留模块603以及第一响应模块604。
其中,解析模块601,用于将指向同一URL的多个目标请求存入延时队列中,并对延时队列中的多个目标请求的请求体分别进行解析,得到解析结果;第一保留模块602,用于对于多个目标请求中解析结果指示请求体相同的第一请求,从各第一请求中选择其中一个请求进行保留;第二保留模块603,用于对于多个目标请求中解析结果指示请求体不相同的第二请求,将各第二请求中请求时间在后的请求进行保留;第一响应模块604,用于对延时队列中保留的请求进行响应。
在本申请的一个可选实施例中,该解析模块601,具体用于:获取指向同一URL的多个初始请求;对多个初始请求进行识别,根据识别结果从多个初始请求中确定多个目标请求,其中,多个目标请求为用户特定请求,用户特定请求为指向特定的URL之外的请求;将确定的多个目标请求存入延时队列中。
在本申请的一个可选实施例中,该解析模块601,具体用于:将多个目标请求的请求体分别进行转换,得到各请求体分别对应的字符串;对各字符串进行对比,若各字符串相同,则各字符串对应的请求体相同;若各字符串不相同,则各字符串对应的请求体不相同。
在本申请的一个可选实施例中,该第一响应模块604,具体用于:按照先进先出的顺序从延时队列中获取保留的请求;对获取到的保留的请求进行响应。
请参见图7,其示出了本申请实施例提供的另一种请求处理装置700的框图,请求处理装置700除了包括请求处理装置600的各模块外,还包括确定模块605、第二响应模块606、获取模块607、第三响应模块608以及删除模块609。
在本申请的一个可选实施例中,该装置包括:确定模块605,用于对于多个初始请求中的非目标请求,确定非目标请求对应的文件是否处于缓存中;第二响应模块606,用于若位于缓存中,则基于缓存中非目标请求对应的文件对非目标请求进行响应;获取模块607,用于若没有位于缓存中,则获取非目标请求对应的文件;第三响应模块608,用于将获取到的文件存入缓存中,并基于文件对非目标请求进行响应;删除模块609,用于若缓存中的目标文件的存储时长大于预设时长,则将目标文件从缓存中删除。
本申请实施例提供请求处理装置,可以实现上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
上述请求处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种请求处理方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在本申请的一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:将指向同一URL的多个目标请求存入延时队列中,并对延时队列中的多个目标请求的请求体分别进行解析,得到解析结果;对于多个目标请求中解析结果指示请求体相同的第一请求,从各第一请求中选择其中一个请求进行保留;对于多个目标请求中解析结果指示请求体不相同的第二请求,将各第二请求中请求时间在后的请求进行保留;对延时队列中保留的请求进行响应。
在本申请的一个实施例中,该处理器执行计算机程序时还实现以下步骤:获取指向同一URL的多个初始请求;对多个初始请求进行识别,根据识别结果从多个初始请求中确定多个目标请求,其中,多个目标请求为用户特定请求,用户特定请求为指向特定的URL之外的请求;将确定的多个目标请求存入延时队列中。
在本申请的一个实施例中,该处理器执行计算机程序时还实现以下步骤:对于多个初始请求中的非目标请求,确定非目标请求对应的文件是否处于缓存中;若位于缓存中,则基于缓存中非目标请求对应的文件对非目标请求进行响应。
在本申请的一个实施例中,该处理器执行计算机程序时还实现以下步骤:若没有位于缓存中,则获取非目标请求对应的文件;将获取到的文件存入缓存中,并基于文件对非目标请求进行响应。
在本申请的一个实施例中,该处理器执行计算机程序时还实现以下步骤:若缓存中的目标文件的存储时长大于预设时长,则将目标文件从缓存中删除。
在本申请的一个实施例中,该处理器执行计算机程序时还实现以下步骤:按照先进先出的顺序从延时队列中获取保留的请求;对获取到的保留的请求进行响应。
在本申请的一个实施例中,该处理器执行计算机程序时还实现以下步骤:将多个目标请求的请求体分别进行转换,得到各请求体分别对应的字符串;对各字符串进行对比,若各字符串相同,则各字符串对应的请求体相同;若各字符串不相同,则各字符串对应的请求体不相同。
本申请实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在本申请的一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:将指向同一URL的多个目标请求存入延时队列中,并对延时队列中的多个目标请求的请求体分别进行解析,得到解析结果;对于多个目标请求中解析结果指示请求体相同的第一请求,从各第一请求中选择其中一个请求进行保留;对于多个目标请求中解析结果指示请求体不相同的第二请求,将各第二请求中请求时间在后的请求进行保留;对延时队列中保留的请求进行响应。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取指向同一URL的多个初始请求;对多个初始请求进行识别,根据识别结果从多个初始请求中确定多个目标请求,其中,多个目标请求为用户特定请求,用户特定请求为指向特定的URL之外的请求;将确定的多个目标请求存入延时队列中。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:对于多个初始请求中的非目标请求,确定非目标请求对应的文件是否处于缓存中;若位于缓存中,则基于缓存中非目标请求对应的文件对非目标请求进行响应。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:若没有位于缓存中,则获取非目标请求对应的文件;将获取到的文件存入缓存中,并基于文件对非目标请求进行响应。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:若缓存中的目标文件的存储时长大于预设时长,则将目标文件从缓存中删除。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:按照先进先出的顺序从延时队列中获取保留的请求;对获取到的保留的请求进行响应。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:将多个目标请求的请求体分别进行转换,得到各请求体分别对应的字符串;对各字符串进行对比,若各字符串相同,则各字符串对应的请求体相同;若各字符串不相同,则各字符串对应的请求体不相同。
本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在本申请的一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:将指向同一URL的多个目标请求存入延时队列中,并对延时队列中的多个目标请求的请求体分别进行解析,得到解析结果;对于多个目标请求中解析结果指示请求体相同的第一请求,从各第一请求中选择其中一个请求进行保留;对于多个目标请求中解析结果指示请求体不相同的第二请求,将各第二请求中请求时间在后的请求进行保留;对延时队列中保留的请求进行响应。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取指向同一URL的多个初始请求;对多个初始请求进行识别,根据识别结果从多个初始请求中确定多个目标请求,其中,多个目标请求为用户特定请求,用户特定请求为指向特定的URL之外的请求;将确定的多个目标请求存入延时队列中。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:对于多个初始请求中的非目标请求,确定非目标请求对应的文件是否处于缓存中;若位于缓存中,则基于缓存中非目标请求对应的文件对非目标请求进行响应。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:若没有位于缓存中,则获取非目标请求对应的文件;将获取到的文件存入缓存中,并基于文件对非目标请求进行响应。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:若缓存中的目标文件的存储时长大于预设时长,则将目标文件从缓存中删除。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:按照先进先出的顺序从延时队列中获取保留的请求;对获取到的保留的请求进行响应。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:将多个目标请求的请求体分别进行转换,得到各请求体分别对应的字符串;对各字符串进行对比,若各字符串相同,则各字符串对应的请求体相同;若各字符串不相同,则各字符串对应的请求体不相同。
本实施例提供的计算机程序产品,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种请求处理方法,其特征在于,所述方法包括:
将指向同一URL的多个目标请求存入延时队列中,并对所述延时队列中的所述多个目标请求的请求体分别进行解析,得到解析结果;
对于所述多个目标请求中解析结果指示请求体相同的第一请求,从各所述第一请求中选择其中一个请求进行保留;
对于所述多个目标请求中解析结果指示请求体不相同的第二请求,将各所述第二请求中请求时间在后的请求进行保留;
对所述延时队列中保留的请求进行响应。
2.根据权利要求1所述的方法,其特征在于,所述将指向同一URL的多个目标请求存入延时队列中,包括:
获取指向同一URL的多个初始请求;
对所述多个初始请求进行识别,根据识别结果从所述多个初始请求中确定所述多个目标请求,其中,所述多个目标请求为用户特定请求,所述用户特定请求为指向特定的URL之外的请求;
将确定的所述多个目标请求存入所述延时队列中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
对于所述多个初始请求中的非目标请求,确定所述非目标请求对应的文件是否处于缓存中;
若位于缓存中,则基于缓存中所述非目标请求对应的文件对所述非目标请求进行响应。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若没有位于缓存中,则获取所述非目标请求对应的文件;
将获取到的文件存入缓存中,并基于所述文件对所述非目标请求进行响应。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
若所述缓存中的目标文件的存储时长大于预设时长,则将所述目标文件从所述缓存中删除。
6.根据权利要求1所述的方法,其特征在于,所述对所述延时队列中保留的请求进行响应,包括:
按照先进先出的顺序从所述延时队列中获取保留的请求;
对获取到的保留的请求进行响应。
7.根据权利要求1所述的方法,其特征在于,所述对延时队列中的所述多个目标请求的请求体分别进行解析,得到解析结果,包括:
将所述多个目标请求的请求体分别进行转换,得到各所述请求体分别对应的字符串;
对各所述字符串进行对比,若各所述字符串相同,则各所述字符串对应的请求体相同;
若各所述字符串不相同,则各所述字符串对应的请求体不相同。
8.一种请求处理装置,其特征在于,所述装置包括:
解析模块,用于将指向同一URL的多个目标请求存入延时队列中,并对所述延时队列中的所述多个目标请求的请求体分别进行解析,得到解析结果;
第一保留模块,用于对于所述多个目标请求中解析结果指示请求体相同的第一请求,从各所述第一请求中选择其中一个请求进行保留;
第二保留模块,用于对于所述多个目标请求中解析结果指示请求体不相同的第二请求,将各所述第二请求中请求时间在后的请求进行保留;
第一响应模块,用于对所述延时队列中保留的请求进行响应。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210040370.2A CN114390107B (zh) | 2022-01-14 | 2022-01-14 | 请求处理方法、装置、计算机设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210040370.2A CN114390107B (zh) | 2022-01-14 | 2022-01-14 | 请求处理方法、装置、计算机设备、存储介质和程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114390107A true CN114390107A (zh) | 2022-04-22 |
CN114390107B CN114390107B (zh) | 2024-03-01 |
Family
ID=81201682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210040370.2A Active CN114390107B (zh) | 2022-01-14 | 2022-01-14 | 请求处理方法、装置、计算机设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114390107B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501266A (zh) * | 2002-11-19 | 2004-06-02 | 阿尔卑斯系统集成有限公司 | 根据白名单的代理服务器的高速缓存控制方法 |
CN107332843A (zh) * | 2017-07-01 | 2017-11-07 | 华泰证券股份有限公司 | iOS网络请求拦截转发缓存方法及系统 |
CN110134896A (zh) * | 2019-05-17 | 2019-08-16 | 山东渤聚通云计算有限公司 | 一种代理服务器的监控过程及智能缓存方法 |
CN110717036A (zh) * | 2018-07-11 | 2020-01-21 | 阿里巴巴集团控股有限公司 | 一种统一资源定位符的去重方法、装置及电子设备 |
CN112926002A (zh) * | 2021-03-10 | 2021-06-08 | 工银科技有限公司 | 一种服务请求的处理方法及装置 |
CN113010334A (zh) * | 2021-03-31 | 2021-06-22 | 中国工商银行股份有限公司 | 一种请求处理方法、装置和设备 |
CN113469866A (zh) * | 2021-07-01 | 2021-10-01 | 建信金融科技有限责任公司 | 数据处理方法、装置和服务器 |
-
2022
- 2022-01-14 CN CN202210040370.2A patent/CN114390107B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501266A (zh) * | 2002-11-19 | 2004-06-02 | 阿尔卑斯系统集成有限公司 | 根据白名单的代理服务器的高速缓存控制方法 |
CN107332843A (zh) * | 2017-07-01 | 2017-11-07 | 华泰证券股份有限公司 | iOS网络请求拦截转发缓存方法及系统 |
CN110717036A (zh) * | 2018-07-11 | 2020-01-21 | 阿里巴巴集团控股有限公司 | 一种统一资源定位符的去重方法、装置及电子设备 |
CN110134896A (zh) * | 2019-05-17 | 2019-08-16 | 山东渤聚通云计算有限公司 | 一种代理服务器的监控过程及智能缓存方法 |
CN112926002A (zh) * | 2021-03-10 | 2021-06-08 | 工银科技有限公司 | 一种服务请求的处理方法及装置 |
CN113010334A (zh) * | 2021-03-31 | 2021-06-22 | 中国工商银行股份有限公司 | 一种请求处理方法、装置和设备 |
CN113469866A (zh) * | 2021-07-01 | 2021-10-01 | 建信金融科技有限责任公司 | 数据处理方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN114390107B (zh) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101994021B1 (ko) | 파일 조작 방법 및 장치 | |
US20140215170A1 (en) | Block Compression in a Key/Value Store | |
CN104281533B (zh) | 一种存储数据的方法及装置 | |
CN106407207B (zh) | 一种实时新增数据更新方法和装置 | |
WO2020093501A1 (zh) | 文件存储方法、删除方法、服务器及存储介质 | |
CN107729570B (zh) | 用于服务器的数据迁移方法和装置 | |
CN110069557B (zh) | 数据传输方法、装置、设备及存储介质 | |
US20200034040A1 (en) | Data Architecture Based on Sub-allocation and References from Fragmented Data Blocks | |
CN112235396B (zh) | 内容处理链路调整方法、装置、计算机设备和存储介质 | |
CN116089321A (zh) | 内存管理方法、装置、电子装置和存储介质 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN108958755B (zh) | 一种应用程序安装包的生成方法、装置及电子设备 | |
CN115098426A (zh) | Pcie设备管理方法、接口管理模块、pcie系统、设备和介质 | |
US20160203032A1 (en) | Series data parallel analysis infrastructure and parallel distributed processing method therefor | |
CN112650449B (zh) | 缓存空间的释放方法、释放系统、电子设备及存储介质 | |
CN111158606B (zh) | 存储方法、装置、计算机设备和存储介质 | |
CN110308998B (zh) | 一种海量数据的采样方法及装置 | |
CN115905168B (zh) | 基于数据库的自适应压缩方法和装置、设备、存储介质 | |
CN114390107B (zh) | 请求处理方法、装置、计算机设备、存储介质和程序产品 | |
CN112783417A (zh) | 数据缩减的方法、装置、计算设备和存储介质 | |
CN115129789A (zh) | 一种分布式对象存储系统的桶索引存储方法、装置及介质 | |
CN114443583A (zh) | 一种碎片空间整理方法、装置、设备及存储介质 | |
CA3065157C (en) | Parallel map and reduce on hash chains | |
CN114788294A (zh) | 内容推送方法、装置、服务器及存储介质 | |
CN111209254A (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 |