CN112671835B - 一种请求处理的方法、装置、系统及存储介质 - Google Patents
一种请求处理的方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN112671835B CN112671835B CN202011415615.2A CN202011415615A CN112671835B CN 112671835 B CN112671835 B CN 112671835B CN 202011415615 A CN202011415615 A CN 202011415615A CN 112671835 B CN112671835 B CN 112671835B
- Authority
- CN
- China
- Prior art keywords
- request
- time
- node
- parent
- timeout
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- 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
- H04L67/62—Establishing a time schedule for servicing the requests
Abstract
本发明公开了一种请求处理的方法、装置、系统及存储介质,方法包括第二节点接收第一节点发送的父请求,父请求包括父请求的第一生成时刻;获取第一剩余时间;根据第一剩余时间、父请求的第一生成时刻和父请求的第一接收时刻,确定第一超时时间;从父请求的第一接收时刻开始计时,所计时的时间大于或等于第一超时时间,则停止对父请求的处理。利用每一上游节点发送的父请求所携带的父请求生成时刻和剩余时间来配置自身的超时时间,使得每一上游节点的第一超时时间均大于当前节点对应的下游节点的第二超时时间,从而使得每个节点的超时时间层层递减,从而保证在下游节点及时反馈超时消息给上游节点,不会出现上游节点超时,下游节点还在处理的情况。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种请求处理的方法、装置、系统及存储介质。
背景技术
随着网络业务越来越复杂,系统也随之进行各种拆分,特别是随着微服务架构和容器技术的兴起,看似简单的一个应用,后台可能有几十个甚至几百个服务在支撑;一个前端的请求可能需要多次的服务调用最后才能完成。
为了提高系统容错性,减少网络系统的恢复时间,一般网络系统需要引入超时检测机制,确保已经超时的请求,不再被其他服务继续处理。现有的技术方案中每个服务都设置一个固定的超时时间,当服务处理请求超过超时时间时,当前服务会收到终断命令,然后中断当前请求处理,并且返回请求超时的错误信息。但是,当前服务超时时,其所调用的后端服务可能还在继续处理该请求,该请求的处理结果是无法返回到当前已经终断的服务处的,因此,其所调用的后端服务对于请求进行的处理是无用的,从而造成资源浪费。
发明内容
本申请的实施例提出了一种请求处理的方法、装置、系统及存储介质,能够更科学地对网络请求进行定时处理,有效减少资源浪费。
第一方面,本申请提供一种请求处理的方法,其包括:
第二节点接收第一节点发送的父请求,所述父请求包括所述父请求的第一生成时刻;
所述第二节点获取第一剩余时间,所述第一剩余时间用于指示针对所述父请求完成响应的剩余处理时间;
所述第二节点根据所述第一剩余时间、所述父请求的第一生成时刻和所述父请求的第一接收时刻,确定第一超时时间;
所述第二节点从所述父请求的第一接收时刻开始计时,所计时的时间大于或等于所述第一超时时间,则停止针对所述父请求的处理。
可选地,所述第二节点根据所述第一剩余时间、所述父请求的第一生成时刻和所述父请求的第一接收时刻,确定所述第一超时时间包括:
将所述父请求的第一接收时刻减去所述父请求的第一生成时刻,计算得到第一差值;
将所述第一剩余时间减去所述第一差值,计算得到所述第一超时时间。
可选地,所述方法还包括:
所述第二节点向所述第三节点发送子请求,所述子请求包括所述子请求的第二生成时刻和第二剩余时间,所述第二剩余时间用于指示针对所述子请求完成响应的剩余处理时间,以使所述第三节点根据所述第二生成时刻和所述第二剩余时间对所述子请求进行处理。
可选地,所述方法还包括:
将所述子请求的第二生成时刻减去所述父请求的第一生成时刻,计算得到第二差值;
获取网络时延;以及
将所述第一剩余时间减去所述第二差值,再减去所述网络时延,计算得到所述第二剩余时间。
可选地,所述方法还包括:
所述第二节点向所述第三节点发送子请求之前,如果计算得到所述第二剩余时间小于等于零,则直接确认超时。
可选地,所述方法还包括:
如果所述第二节点接收到所述第三节点反馈的超时信息,则确认超时,并向所述第一节点反馈超时信息。
第二方面,本申请还提供一种请求处理的装置,所述装置包括:
接收单元,用于接收父请求,所述父请求包括所述父请求的第一生成时刻;
第一剩余时间获取单元,用于获取第一剩余时间,所述第一剩余时间用于指示针对所述父请求完成响应的剩余处理时间;
第一超时时间计算单元,用于根据所述第一剩余时间、所述父请求的第一生成时刻和所述父请求的第一接收时刻,确定第一超时时间;
计时单元,用于从所述父请求的第一接收时刻开始计时,计时大于或等于所述第一超时时间,则停止针对所述父请求的处理。
可选的,所述第一超时时间计算单元具体包括:
第一计算单元,用于将所述父请求的第一接收时刻减去所述父请求的第一生成时刻,计算得到第一差值;
第二计算单元,用于将所述第一剩余时间减去所述第一差值,计算得到所述第一超时时间。
第三方面,本申请还提供一种网络设备,所述网络设备包括处理器以及与所述处理器连接的存储器,所述存储器存储有一个或多个程序,所述程序被所述处理器执行以实现所述的请求处理的方法中步骤。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或多个程序,所述程序被处理器执行以实现所述的请求处理的方法中的步骤。
采用本发明实施例,具有如下有益效果:
本发明公开了一种请求处理的方法、装置、系统及存储介质,利用每一上游节点发送的父请求所携带的父请求生成时刻和父请求的剩余时间来配置自身的超时时间,使得每一上游节点的第一超时时间均大于当前节点对应的下游节点的第二超时时间,从而使得每个节点的超时时间层层递减,从而保证在下游节点及时反馈超时消息给上游节点,不会出现上游节点超时,下游节点还在处理的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为本发明提供的一种请求处理的方法的流程图。
图2为本发明提供的一种请求处理的方法的具体实施例示意图。
图3为本发明提供的一种请求处理的装置的结构框图。
图4为本发明提供的一种网络设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1示例了本发明提供的一种请求处理的方法的流程图,如图1所示,所述请求处理的方法包括:
S10、第二节点接收第一节点发送的父请求,所述父请求包括所述父请求的第一生成时刻。
具体地,一条请求处理过程可应用于一网络系统,该网络系统通常包括客户端、网关以及若干服务节点,客户端向网关发送请求,网关接收到该请求后进行相关配置和处理该请求,并向若干服务节点中某一服务节点调用服务以协助处理该请求。可以理解的是,网络系统中的多个服务节点可以在同一个服务器上、云平台上、或分别在多个服务器上。
本申请实施例中的节点可以是实现不同业务的服务节点,也可以是网关。
当请求方发出一个请求时,可能会先后在不同的节点处进行处理,即先后调用多个节点。拿当前处理请求的服务节点举例,请求来自上一个服务节点,即上游节点,在当前服务节点经过处理后,再被发给下一个服务节点,即下游节点。为了便于区分,对于当前服务节点来说,其接收的请求为父请求,发出的请求为子请求。
应当理解的是,父请求与子请求是相对不同对象而言,上游节点发出的请求为上游节点的子请求,当前节点接收的请求为当前节点的父请求,当前节点发出的请求为当前节点的子请求。
例如:节点1向节点2发送请求1,节点2接收到请求1后向节点3发送请求2,那么,节点2的父请求为请求1,节点2的子请求为请求2。同理,节点3的父请求为请求2,节点3无子请求。节点1的子请求为请求1,无父请求。
其中,将节点1称之为节点2的上游节点,将节点2称之为节点1的下游节点,节点2为节点3的上游节点,节点3是节点2的下游节点。
在本步骤中,以当前服务节点为例来说,将上游节点作为第一节点,将当前服务节点作为第二节点,第二节点接收到的请求为父请求,第二节点发出的请求为子请求。
可以理解的是,在网络系统中,第一节点可以是客户端或其他网络的网关或服务节点,第二节点可以是网关或服务节点。
在本步骤中,若第一节点是客户端或其他网络的网关,则第二节点为网关;若第一节点为本网络的网关或服务节点,则第二节点为服务节点。
本步骤中第二节点接收第一节点发送的父请求中包括父请求的第一生成时刻,该第一生成时刻指的是第一节点生成父请求对应的时刻。例如:第一节点生成请求1的时刻为8:20,然后第一节点向第二节点发送请求1的时刻为8:21,则请求1为第二节点的父请求,8:20为该父请求的第一生成时刻。
S20、所述第二节点获取第一剩余时间,所述第一剩余时间用于指示针对所述父请求完成响应的剩余处理时间。
在本申请实施例中,第二节点获取的第一剩余时间是一段时间,用于指示针对父请求完成响应的剩余处理时间。也就是说,该第一剩余时间为处理父请求的时间,其是第二节点处理父请求的时间以及处理父请求还需调用若干下游节点时所消耗的总时间。举例来说,假设节点1接收到请求1后,获取请求1的第一剩余时间为1秒,在处理请求1过程中还需调用请求2,则该第一剩余时间1秒为节点1处理请求1的时间和请求2反馈信息的时间的总和。
需要说明的是,第二节点可以是网关或服务节点,若第二节点为网关,则第一剩余时间为网关预先配置的,并且网关处的第一剩余时间是固定的。若第二节点为服务节点,则第二节点获取的第一剩余时间为从上游节点接收到的,也就是说,第二节点接收到第一节点发送的父请求中还包括第一剩余时间。
S30、所述第二节点根据所述第一剩余时间、所述父请求的第一生成时刻和所述父请求的第一接收时刻,确定第一超时时间。
具体地,第一超时时间是用于计时的时间阈值,当计时大于或等于第一超时时间时,不再生成子请求,并且服务节点终断对该父请求处理。第一接收时刻指的是父请求的第一接收时间,该第一接收时刻用于指示定时任务的开始时刻。该定时任务指的是从第一接收时刻开始计时,每隔第一超时时间进行超时监测,以在计时达到第一超时时间获取当前节点的请求的处理结果。
在本申请实施例中,在处理请求过程中会为每个提供服务的节点采用超时监测机制,即为每个提供服务的节点配置用于检测自身处理请求的进度的超时时间,比如:节点1在处理某个请求时,该请求只需要调用节点2,则在节点1中配置处理某请求的超时时间,节点1如果在超时时间内没有接收到节点2返回的处理完成的响应消息,则可以确认此次调用超时。
需要说明的是,将每个提供服务的节点配置用于检测自身处理请求的进度的超时时间作为第一超时时间。
在一可行方式中,第二节点根据第一剩余时间、父请求的第一生成时刻和父请求的第一接收时刻,确定第一超时时间,包括:
将所述父请求的第一接收时刻减去所述父请求的第一生成时刻,计算得到第一差值;
将所述第一剩余时间减去所述第一差值,计算得到所述第一超时时间。
也就是说,任意节点自身配置的用于检测自身处理请求的进度的第一超时时间=父请求的第一剩余时间-第一差值=父请求的第一剩余时间-(父请求的第一接收时刻-父请求的第一生成时刻)。
例如:节点1生成请求1的时刻为8:20,节点1向节点2发送请求1的时刻为8:21,节点2接收到请求1的时刻为8:26,获取到第一剩余时间为100秒,节点2接收到请求1后开始配置定时任务,配置定时任务的开始时刻为8:26。
若以节点1作为第一节点,节点2作为第二节点,则第二节点的父请求为请求1,父请求的第一生成时刻为8:20,父请求的第一接收时刻为8:26,第一剩余时间为100秒,那么第二节点的第一差值=第一接收时刻-第一生成时刻=8:26-8:20=6秒,第一超时时间=第一剩余时间-第一差值=100-6=94秒。
进一步地,若第二节点处理父请求时需要调用若干第三节点的服务,此时,第二节点向第三节点发送子请求,也就是说,父请求的处理包括若干子请求的处理,只有若干子请求完成响应以及父请求本身完成响应才使得父请求处理完毕。在第二节点向第三节点发送的子请求中会携带有该子请求的第二生成时刻和第二剩余时间,以使得第三节点根据第二生成时刻以及第二剩余时间配置第三节点的第二超时时间。其中,该第二超时时间为第三节点处理子请求的超时时间。应当说明的是,将第二节点的下游节点作为第三节点,并且下游节点配置的超时时间作为第二超时时间。应当理解的是,当前节点的第一超时时间大于或等于所有下游节点的第二超时时间之和。
以第三节点作为当前服务节点,以第二节点发送的子请求作为第三节点的父请求,第二节点发送的子请求的第二生成时刻作为第三节点的父请求的第二生成时刻,第二节点的子请求的第二剩余时间作为第三节点的父请求的第二剩余时间。基于上述,第二超时时间的计算方法与第一超时时间的计算方法相同,即第二超时时间=第二剩余时间-(第三节点接收到子请求的第二接收时刻-第二生成时刻)。
需要说明的是,该第三节点通常为服务节点,第二生成时刻指的是第二节点生成子请求对应的时刻,第二接收时刻不仅是第三节点接收到子请求的时刻,也同样是第三节点配置定时任务的开始时刻。其中,第二剩余时间是用于指示针对子请求完成响应的剩余处理时间,以使第三节点根据第二生成时刻和第二剩余时间对子请求进行处理。其中,第二剩余时间是第一剩余时间减去第二节点处理父请求所消耗的时间再减去网络时延得到。也就是说,第二剩余时间是基于第一剩余时间配置,并且第二剩余时间小于第一剩余时间。
具体地,第二剩余时间的计算过程包括:
将子请求的第二生成时刻减去父请求的第一生成时刻,计算得到第二差值;获取网络时延;以及将第一剩余时间减去第二差值,再减去网络时延,计算得到第二剩余时间。
也就是说,第二剩余时间=第一剩余时间-(子请求的第二生成时刻-父请求的第一生成时刻)-网络时延。
因此,任意节点的子请求的剩余时间均可通过上游节点的剩余时间减去子请求的生成时刻与父请求的生成时刻的差值,再减去网络时延得到。这样,每个节点的剩余时间不再是固定值,而是随上游节点的剩余时间、父请求与子请求生成时刻的时间差以及网络时延的变化而变化,从而也使得下游节点的超时时间随上游节点的超时时间而变化,层层递减,从而保证在下游节点及时反馈超时消息给上游节点,不会出现上游节点超时,下游节点还在处理,或后续将反馈信息返回到上游节点,被当作无用信息丢弃的情况。
需要说明的是,如果父请求的处理无需调用任何下游节点,即不需要向下游节点发送子请求,则不计算和发送子请求的剩余时间。
另外,在本步骤中,网络时延通常根据网络环境而配置,一般设置为5ms,该网络时延可预先配置,从而在每一次子请求的剩余时间的计算上直接运用。当然,该网络时延也可以不预先设置,其可随网络环境的改变而实时测量得到,从而降低因网络因素导致请求超时影响。
S40、所述第二节点从所述父请求的第一接收时刻开始计时,所计时的时间大于或等于所述第一超时时间,则停止针对所述父请求的处理。
在本申请实施例中,第二节点接收到父请求后,对父请求进行处理,并且启动定时任务,通过第一超时时间监测对父请求的处理。因此,通过计时的时间与第一超时时间的大小判断结果来确定父请求的处理是否超时。如果第二节点对父请求进行处理所消耗的时间已经超过第一超时时间,则说明对父请求的处理已经超时,则停止对父请求的处理,以节省第二节点的计算资源,并向第一节点反馈超时。
若处理父请求的过程中还需要调用多个子请求,那么,在每执行完对子请求处理,还需要判断执行完对应的子请求所消耗的时间是否大于或等于第一超时时间。若存在某子请求所消耗的总时间大于或等于第一超时时间,则说明超时,停止下一子请求的调用,并向第二节点反馈超时。若没有超过第一超时时间,则继续执行对父请求过程中的下一子请求的调用。
举例来说,对父请求进行处理的过程包括3个步骤,分别为步骤1至步骤3,则在执行完步骤1之后,判断执行该步骤1所消耗的时间是否超过第一超时时间,若超过,则停止对父请求的处理,反馈超时。若没有超过,则继续执行步骤2,在执行完步骤2后,判断执行步骤1和步骤2所消耗的总时间是否超过第一超时时间,若超过,则停止对父请求的处理,不执行步骤3,并反馈超时。以此类推。
因此,每个节点的定时任务的超时时间基于上游节点是层层递减的,从而在上游节点超时时间超时之前,向下游节点调用的所有子请求均向上游节点反馈了信息,确保在父请求超时时不会有正在处理的子请求,减少资源浪费。
在处理父请求过程中如网关向后端发送的父请求时,判断处理所述父请求所消耗的时间是否大于或等于第一超时时间;若是,则确认超时,停止对父请求的处理,并向上游节点反馈超时信息;若否,则继续处理所述父请求。这样,确保了父请求超时之前,所有子请求均已反馈信息否则就是子请求已经超时。
进一步地,如果第二节点接收到第三节点反馈的超时信息,则确认超时,停止对子请求处理,并向第一节点反馈超时信息。若接收到第三节点反馈的未超时信息,则继续执行父请求的下一步骤。
更进一步地,第二节点是否需要向第三节点发送子请求,需要根据第二剩余时间来确定。如果计算出的第二剩余时间小于或等于零,则第二节点向所述第三节点发送子请求之前,则第二节点不需要向第三节点发送子请求,停止对第三节点的调用,并向第一节点反馈超时信息。
为了更好理解本发明的技术方案,下面以处理请求1的过程需调用节点1的请求2,处理请求2的过程需调用节点2的请求3和节点3的请求4为例加以说明,如图2所示,如下:
步骤1:客户端用户产生请求1,其生成时刻为8:20;
步骤2:客户端向网关发送请求1,请求1携带有请求1生成时刻8:20;
步骤3:网关接收到请求1,其接收时刻为8:25,从而网关可获取请求1的接收时刻8:25和请求1剩余时间100秒,同时在网关中配置用于监测请求1的处理的第一超时时间,同时处理请求1,启动第一超时时间的定时任务(或超时检测任务)。其中,该请求1剩余时间可从相关配置文件中获取,定义请求1剩余时间为100秒。
其中,第一超时时间的计算过程为:
第一超时时间=请求1剩余时间-(请求1接收时刻-请求1生成时刻)=100-(8:25-8:20)=95秒。
步骤4:网关在处理请求1的过程中需要调用节点1的服务,生成请求2,其生成时刻为8:35;
步骤5:网关向节点1发送请求2,在请求2中加上请求2生成时刻8:35和请求2剩余时间80秒。其中,请求2生成时刻为网关生成请求2的时间8:35,请求2剩余时间的计算过程为:
请求2剩余时间=请求1剩余时间-(请求2生成时刻-请求1生成时刻)-网络时延=100-(8:35-8:20)-5=80。其中,网络时延预先设定为5秒。
步骤6:节点1接收到请求2,其接收时刻为8:40,在接收到请求2后,配置节点1的第二超时时间;
其中,第二超时时间的计算过程为:
第二超时时间=请求2剩余时间-(请求2接收时刻-请求1生成时刻)=80-(8:40-8:20)=60秒。处理请求2,启动第二超时时间的超时检测任务。
步骤7:节点1在第二超时时间内即60秒内接收到请求2的反馈信息,则认为未超时,可继续执行下一步骤,即节点1调用后端服务节点2,以使得节点1生成请求3,其生成时刻为8:45。
需要说明的是,若节点1在第二超时时间内未接收到请求2的反馈信息,则认为超时,不再执行下一步骤,即不再调用节点2,并向网关反馈超时信息。
步骤8:节点1向节点2发送请求3,请求3中携带有请求3生成时刻8:45和请求3剩余时间。
同样的,请求3剩余时间的计算过程为:
请求3剩余时间=请求2剩余时间-(请求3生成时刻-请求2生成时刻)-网络时延=60-(8:45-8:35)-5=45秒。
步骤9:节点2接收到请求3,其接收时刻为8:50,在节点2接收到请求3后,配置节点2的第三超时时间,同时处理请求3,启动第三超时时间的超时检测任务,其中,第三超时时间的计算过程为:
第三超时时间=请求2剩余时间-(请求3接收时刻-请求2生成时刻)=60-(8:50-8:35)=45秒。
步骤10、如图2第三超时时间的超时检测任务关闭,节点2向节点1反馈请求3处理消息;
步骤11、节点1接收到节点2反馈的请求3的处理消息,接着调用后端服务节点3的服务,生成请求4,其生成时刻为9:20。
步骤12:节点1向节点3发送请求4,发送过程中请求4携带请求4生成时刻9:20和请求4剩余时间,其中,请求4剩余时间的计算过程为:
请求4剩余时间=请求2剩余时间-(请求4生成时刻-请求2生成时刻)-网络时延=60-(9:20-8:35)-5=10秒。
步骤13:节点3接收到请求4,其接收到请求4的时刻为9:25,并配置节点3的第四超时时间,同时处理请求4,启动第四超时时间的超时检测任务,其中,第四超时时间的计算过程为:
第四超时时间=请求2剩余时间-(请求4接收时刻-请求2生成时刻)=60-(9:25-8:35)=10秒。
步骤14:节点3在第四超时时间内处理完请求4,则向节点1反馈请求4的消息。
需要说明的是,在第四超时时间内未处理完请求4,则认为请求4超时,停止对请求4处理,并向节点1反馈超时信息。
由上述可知,节点2处理请求3对应的第三超时时间45秒与节点3处理请求4对应的第四超时时间10秒之和为55秒,而节点1处理请求2所配置的第二超时时间为60秒,因此,在节点1的请求2计时达到第二超时时间之前,节点1均接收到请求3和请求4的反馈消息,没有无效子请求。
步骤15:节点1接收到请求4反馈的消息后,继续处理请求2,在计时达到第二超时时间之前,监测到节点1在第二超时时间内处理完请求2,此时,向网关反馈请求2的消息。
步骤16:网关接收到请求2反馈的消息,继续处理请求1,在计时达到第一超时时间时,监测请求1的处理结果,并向客户端反馈请求1的消息。
若网关在计时达到第一超时时间,该请求1未处理完,则确认超时,并向客户端反馈超时消息。若网关在计时达到第一超时时间内,请求1处理完毕,则未超时,也同样向客户端反馈成功消息。
由上述可知,节点1处理请求2对应的第二超时时间60秒,网关在第二超时时间内接收到请求2反馈的消息,而网关1处理请求1所配置的第一超时时间为95秒,在网关的请求1计时达到第一超时时间之前,网关接收到请求2的反馈消息,确保了父请求超时时不会有正在处理的子请求,没有无效的子请求,减少资源浪费。
需要说明的是,图2中,针对节点1,请求1作为请求2的父请求,针对节点2和节点3,请求2作为请求3和请求4的父请求。
这样,基于步骤S10-S30,本发明利用每一上游节点发送的父请求所携带的父请求生成时刻和父请求的剩余时间来配置自身的超时时间,即超时时间=父请求剩余时间-(子请求接收时刻-父请求生成时刻),使得每一上游节点的第一超时时间均大于当前节点对应的下游节点的第二超时时间,从而使得每个节点的超时时间层层递减,并且所有子请求的剩余时间均随每一上游节点的父请求生成时刻和父请求的剩余时间的变化而变化,即子请求剩余时间=父请求剩余时间-(子请求生成时刻-父请求生成时刻)-网络时延,并且将网络时延包含在每一个子请求的超时时间之内,确保子请求在父请求超时之前反馈信息,或者在父请求超时之前就已经超时并反馈超时信息,这样,更加确保在父请求超时时不会有正在处理的子请求,没有无效的子请求,减少资源浪费。
在上述实施例中,可以全部或部分的通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或者数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或半导体介质(例如固态硬盘Solid State Disk(SSD))等。
基于上述方法,本申请还提供一种请求处理的装置,如图3所示,所述装置包括:
接收单元100,用于接收父请求,所述父请求包括所述父请求的第一生成时刻;
第一剩余时间获取单元200,用于获取第一剩余时间,所述第一剩余时间用于指示针对所述父请求完成响应的剩余处理时间;
第一超时时间计算单元300,用于根据所述第一剩余时间、所述父请求的第一生成时刻和所述父请求的第一接收时刻,确定第一超时时间;
计时单元400,用于从所述父请求的第一接收时刻开始计时,计时大于或等于所述第一超时时间,则停止针对所述父请求的处理,具体如上述方法所述。
其中,第一超时时间计算单元300包括:
第一计算单元301,用于将所述父请求的第一接收时刻减去所述父请求的第一生成时刻,计算得到第一差值;
第二计算单元302,用于将所述第一剩余时间减去所述第一差值,计算得到所述第一超时时间,具体用于实现如上述所述的方法。
基于上述方法,本申请还提供一种网络设备,在一个实施例中,如图4所示,图4展示了一种网络设备的结构框图。其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本发明实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作语音客服系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
在一实施例中,本申请还提供一种计算机存储介质,该存储介质存储有一个或多个程序,所述程序被处理器20执行以实现所述的请求处理的方法中的步骤,具体如上述方法所述。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种请求处理的方法,其特征在于,所述方法包括:
第二节点接收第一节点发送的父请求,所述父请求包括所述父请求的第一生成时刻;
所述第二节点获取第一剩余时间,所述第一剩余时间用于指示针对所述父请求完成响应的剩余处理时间;
所述第二节点根据所述第一剩余时间、所述父请求的第一生成时刻和所述父请求的第一接收时刻,确定第一超时时间;
所述第二节点从所述父请求的第一接收时刻开始计时,所计时的时间大于或等于所述第一超时时间,则停止针对所述父请求的处理。
2.根据权利要求1所述的方法,其特征在于,所述第二节点根据所述第一剩余时间、所述父请求的第一生成时刻和所述父请求的第一接收时刻,确定所述第一超时时间包括:
将所述父请求的第一接收时刻减去所述父请求的第一生成时刻,计算得到第一差值;
将所述第一剩余时间减去所述第一差值,计算得到所述第一超时时间。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述第二节点向第三节点发送子请求,所述子请求包括所述子请求的第二生成时刻和第二剩余时间,所述第二剩余时间用于指示针对所述子请求完成响应的剩余处理时间,以使所述第三节点根据所述第二生成时刻和所述第二剩余时间对所述子请求进行处理。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述子请求的第二生成时刻减去所述父请求的第一生成时刻,计算得到第二差值;
获取网络时延;以及
将所述第一剩余时间减去所述第二差值,再减去所述网络时延,计算得到所述第二剩余时间。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述第二节点向所述第三节点发送子请求之前,如果计算得到所述第二剩余时间小于等于零,则直接确认超时。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述第二节点接收到所述第三节点反馈的超时信息,则确认超时,并向所述第一节点反馈超时信息。
7.一种请求处理的装置,其特征在于,所述装置包括:
接收单元,用于接收父请求,所述父请求包括所述父请求的第一生成时刻;
第一剩余时间获取单元,用于获取第一剩余时间,所述第一剩余时间用于指示针对所述父请求完成响应的剩余处理时间;
第一超时时间计算单元,用于根据所述第一剩余时间、所述父请求的第一生成时刻和所述父请求的第一接收时刻,确定第一超时时间;
计时单元,用于从所述父请求的第一接收时刻开始计时,计时大于或等于所述第一超时时间,则停止针对所述父请求的处理。
8.根据权利要求7所述的装置,其特征在于,所述第一超时时间计算单元具体包括:
第一计算单元,用于将所述父请求的第一接收时刻减去所述父请求的第一生成时刻,计算得到第一差值;
第二计算单元,用于将所述第一剩余时间减去所述第一差值,计算得到所述第一超时时间。
9.一种网络设备,其特征在于,所述网络设备包括处理器以及与所述处理器连接的存储器,所述存储器存储有一个或多个程序,所述程序被所述处理器执行以实现如权利要求1-7任一项所述的请求处理的方法中步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质存储有一个或多个程序,所述程序被处理器执行以实现如权利要求1-7任一项所述的请求处理的方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011415615.2A CN112671835B (zh) | 2020-12-07 | 2020-12-07 | 一种请求处理的方法、装置、系统及存储介质 |
US17/457,898 US20220182305A1 (en) | 2020-12-07 | 2021-12-06 | Request Processing System and Method Thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011415615.2A CN112671835B (zh) | 2020-12-07 | 2020-12-07 | 一种请求处理的方法、装置、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112671835A CN112671835A (zh) | 2021-04-16 |
CN112671835B true CN112671835B (zh) | 2022-08-09 |
Family
ID=75401320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011415615.2A Active CN112671835B (zh) | 2020-12-07 | 2020-12-07 | 一种请求处理的方法、装置、系统及存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220182305A1 (zh) |
CN (1) | CN112671835B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810383B (zh) * | 2021-08-25 | 2022-12-20 | 杭州安恒信息技术股份有限公司 | Web应用防火墙及拥塞控制方法、介质及电子设备 |
CN117176498A (zh) * | 2022-10-20 | 2023-12-05 | 思瑞浦微电子科技(上海)有限责任公司 | 一种拓扑网络及通信处理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618590A (zh) * | 2013-11-20 | 2014-03-05 | 北京先进数通信息技术股份公司 | 一种事务处理过程的超时控制方法和装置 |
CN105635231A (zh) * | 2014-11-06 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种分布式系统的调用方法和装置 |
WO2017056208A1 (ja) * | 2015-09-30 | 2017-04-06 | 株式会社日立製作所 | リクエスト実行順序制御方式 |
CN109995787A (zh) * | 2019-04-10 | 2019-07-09 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及相关设备 |
CN110008010A (zh) * | 2019-02-25 | 2019-07-12 | 口碑(上海)信息技术有限公司 | 系统调用方法、装置、设备及可读存储介质 |
CN111459575A (zh) * | 2020-03-31 | 2020-07-28 | 中国银行股份有限公司 | 调用请求的处理方法、装置和计算机存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6976074B2 (en) * | 2001-10-16 | 2005-12-13 | Microsoft Corporation | Systems and methods for negotiating transactions between nodes |
US8005030B2 (en) * | 2005-12-30 | 2011-08-23 | Cisco Technology, Inc. | WLAN diagnostics using traffic stream metrics |
CN106936662B (zh) * | 2015-12-31 | 2020-01-31 | 杭州华为数字技术有限公司 | 一种实现心跳机制的方法、装置及系统 |
US10771365B2 (en) * | 2017-12-26 | 2020-09-08 | Paypal, Inc. | Optimizing timeout settings for nodes in a workflow |
-
2020
- 2020-12-07 CN CN202011415615.2A patent/CN112671835B/zh active Active
-
2021
- 2021-12-06 US US17/457,898 patent/US20220182305A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618590A (zh) * | 2013-11-20 | 2014-03-05 | 北京先进数通信息技术股份公司 | 一种事务处理过程的超时控制方法和装置 |
CN105635231A (zh) * | 2014-11-06 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种分布式系统的调用方法和装置 |
WO2017056208A1 (ja) * | 2015-09-30 | 2017-04-06 | 株式会社日立製作所 | リクエスト実行順序制御方式 |
CN110008010A (zh) * | 2019-02-25 | 2019-07-12 | 口碑(上海)信息技术有限公司 | 系统调用方法、装置、设备及可读存储介质 |
CN109995787A (zh) * | 2019-04-10 | 2019-07-09 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及相关设备 |
CN111459575A (zh) * | 2020-03-31 | 2020-07-28 | 中国银行股份有限公司 | 调用请求的处理方法、装置和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20220182305A1 (en) | 2022-06-09 |
CN112671835A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112671835B (zh) | 一种请求处理的方法、装置、系统及存储介质 | |
CN108075934B (zh) | 一种网络质量监控方法、装置及系统 | |
CN109189584B (zh) | 应用程序之间的通信方法、装置、电子设备及存储介质 | |
CN101262479A (zh) | 一种网络文件共享的方法、服务器和网络文件共享的系统 | |
US20180110091A1 (en) | Data Transmission Method and Apparatus for Data Service | |
CN112751689A (zh) | 一种网络连通性检测方法、监控服务端和监控代理装置 | |
US10904746B2 (en) | Implementation method, apparatus and system for remote access | |
CN109714403B (zh) | 一种确定用户上线时长的方法及装置 | |
CN116962114A (zh) | 基于分布式软总线的设备互联方法、装置、设备及介质 | |
CN108390770B (zh) | 一种信息生成方法、装置及服务器 | |
CN115296979B (zh) | 一种故障处理方法、装置、设备及存储介质 | |
CN115865734A (zh) | 一种故障检测方法、数据生成方法、装置、设备及介质 | |
WO2018133828A1 (zh) | 用于客户端的数据处理方法和装置 | |
CN112637121B (zh) | 数据端口的更新方法、装置、电子设备及可读存储介质 | |
CN106899652B (zh) | 一种推送业务处理结果的方法及装置 | |
CN103916411B (zh) | 超文本传输协议请求超时的处理方法及装置 | |
CN116185240A (zh) | 一种信息交互方法及装置 | |
CN112511603B (zh) | 数据端口的更新方法、装置、电子设备及可读存储介质 | |
CN115525415B (zh) | 一种数据处理方法、装置、设备及介质 | |
CN110008010A (zh) | 系统调用方法、装置、设备及可读存储介质 | |
CN112532699B (zh) | 数据端口的更新方法、装置、电子设备及可读存储介质 | |
CN116781572A (zh) | 一种服务可用性检测方法、装置、设备及存储介质 | |
CN115150030B (zh) | 一种数据处理方法、装置、电子设备、存储介质及系统 | |
CN112925693B (zh) | 系统监控方法、装置、计算机设备及存储介质 | |
CN110912720B (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 |