CN112637362B - 请求结果确定方法、装置、系统、电子设备及存储介质 - Google Patents
请求结果确定方法、装置、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112637362B CN112637362B CN202011611912.4A CN202011611912A CN112637362B CN 112637362 B CN112637362 B CN 112637362B CN 202011611912 A CN202011611912 A CN 202011611912A CN 112637362 B CN112637362 B CN 112637362B
- Authority
- CN
- China
- Prior art keywords
- request
- network request
- time point
- response
- historical
- 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
- H04L67/62—Establishing a time schedule for servicing the requests
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例提供了一种请求结果确定方法、装置、系统、电子设备及存储介质。方案如下:发送端获取在当前时间点发送网络请求对应的第一超时时长,该第一超时时长是根据历史网络请求所对应的历史响应时长确定的;向接收端发送网络请求;若在第一超时时长内未接收到针对网络请求的请求响应,则确定请求失败;若在第一超时时长内接收到针对网络请求的请求响应,则确定请求成功。通过本发明实施例提供的技术方案,有效的提高了确定出的网络请求对应超时时长的准确性,缩短了发送端在请求失败时的等待时长,从而提高了发送端网络请求的处理性能,节约了发送端的网络资源。
Description
技术领域
本发明涉及通讯技术领域,特别是涉及一种请求结果确定方法、装置、系统、电子设备及存储介质。
背景技术
在发送端与接收端数据交互过程中,往往通过网络请求的方式完成数据交互。例如,发送端需要接收端中的某一数据时,发送端可以向接收端发送针对该数据的网络请求,如数据获取请求。接收端在接收到该网络请求后,可以向发送端反馈包括发送端所需数据的请求响应,从而使得发送端获得该数据。
在上述过程中,由于网络的不稳定性,以及网络环境的复杂性,可能导致数据交互过程中出现网络抖动等现象,从而导致发送端不能及时接收到接收端反馈的请求响应,甚至可能接收不到该请求响应。此时,发送端将被长时间占用,其他网络请求不能得到及时处理。为了应对这一现象,针对发送端发送的网络请求设置有预设最大超时时长,当发送端在发送网络请求后的预设最大超时时长内未接收到对应的请求响应,发送端可以确定请求失败。
但是,由于上述预设最大超时时长往往远大于网络请求的真实响应时长,这将使得在请求失败时,发送端的等待时长必须达到预设最大超时时长时,发送端才能确定请求失败,从而影响发送端网络请求的处理性能,造成了发送端网络资源的浪费。
发明内容
本发明实施例的目的在于提供一种请求结果确定方法、装置、系统、电子设备及存储介质,以提高确定出的网络请求对应超时时长的准确性,缩短发送端在请求失败时的等待时长,从而提高发送端网络请求的处理性能,节约发送端的网络资源。具体技术方案如下:
在本发明实施例的第一方面,首先提供了一种请求结果确定方法,应用于发送端,所述方法包括:
获取在当前时间点发送网络请求对应的第一超时时长,所述第一超时时长是基于历史网络请求所对应的历史响应时长确定的;
向接收端发送所述网络请求;
若在所述第一超时时长内未接收到针对所述网络请求的请求响应,则确定请求失败;
若在所述第一超时时长内接收到针对所述网络请求的请求响应,则确定请求成功。
可选的,所述方法还包括:
根据记录每一历史网络请求对应历史响应时长的记录时间点,以及目标时间点,从所述历史网络请求中选取目标网络请求;所述目标时间点在所述当前时间点之前;
根据所述目标网络请求的历史响应时长,以及预设响应成功率,计算在所述目标时间点发送网络请求对应的第二超时时长;
所述获取在当前时间点发送网络请求对应的第一超时时长的步骤,包括:
获取当前时间点前的第一预设时长内每一目标时间点对应的第二超时时长,并将获取到的第二超时时长中的最小值确定为在当前时间点发送网络请求对应的第一超时时长。
可选的,所述根据记录每一历史网络请求对应历史响应时长的记录时间点,以及目标时间点,从所述历史网络请求中选取目标网络请求的步骤,包括:
根据记录每一历史网络请求对应历史响应时长的记录时间点,选取记录时间点在目标时间点前第二预设时长内的历史网络请求,作为目标网络请求;或
根据记录每一历史网络请求对应历史响应时长的记录时间点,选取记录时间点与目标时间点之间时间差最小的预设数量个历史网络请求,作为目标网络请求。
可选的,所述根据所述目标网络请求的历史响应时长,以及预设响应成功率,计算在所述目标时间点发送网络请求对应的第二超时时长的步骤,包括:
根据所述目标网络请求的历史响应时长,计算响应成功率不小于预设响应成功率的百分位数,得到在所述目标时间点发送网络请求对应的第二超时时长。
可选的,所述方法还包括:
在确定请求失败后,确定所述网络请求的发送次数;
若所述发送次数小于预设次数阈值,则计算预设最大超时时长与所述网络请求的总响应时长间的差值,得到所述网络请求的剩余时长,并获取在当前时间点发送所述网络请求的第三超时时长;所述第三超时时长是基于历史网络请求所对应的历史响应时长确定的;
若所述剩余时长不小于所述第三超时时长,则返回执行所述向接收端发送所述网络请求的步骤。
可选的,所述方法还包括:
统计第三预设时长内发送的网络请求的响应失败率;
若所述响应失败率大于预设失败率阈值,则在第四预设时长后,重新执行所述获取在当前时间点发送网络请求对应的第一超时时长的步骤。
可选的,所述方法还包括:
在确定所述网络请求的请求结果后,记录所述网络请求的响应时长,所述请求结果为所述请求失败或所述请求成功。
在本发明实施例的第二方面,还提供了一种请求结果确定装置,应用于发送端,所述装置包括:
获取模块,用于获取在当前时间点发送网络请求对应的第一超时时长,所述第一超时时长是基于历史网络请求所对应的历史响应时长确定的;
发送模块,用于向接收端发送所述网络请求;
第一确定模块,用于若在所述第一超时时长内未接收到针对所述网络请求的请求响应,则确定请求失败;
第二确定模块,用于若在所述第一超时时长内接收到针对所述网络请求的请求响应,则确定请求成功。
可选的,所述装置还包括:
选取模块,用于根据记录每一历史网络请求对应历史响应时长的记录时间点,以及目标时间点,从所述历史网络请求中选取目标网络请求;所述目标时间点在所述当前时间点之前;
第一计算模块,用于根据所述目标网络请求的历史响应时长,以及预设响应成功率,计算在所述目标时间点发送网络请求对应的第二超时时长;
所述获取模块,具体用于获取当前时间点前的第一预设时长内每一目标时间点对应的第二超时时长,并将获取到的第二超时时长中的最小值确定为在当前时间点发送网络请求对应的第一超时时长。
可选的,所述选取模块,具体用于根据记录每一历史网络请求对应历史响应时长的记录时间点,选取记录时间点在目标时间点前第二预设时长内的历史网络请求,作为目标网络请求;或根据记录每一历史网络请求对应历史响应时长的记录时间点,选取记录时间点与目标时间点之间时间差最小的预设数量个历史网络请求,作为目标网络请求。
可选的,所述第一计算模块,具体用于根据所述目标网络请求的历史响应时长,计算响应成功率不小于预设响应成功率的百分位数,得到在所述目标时间点发送网络请求对应的第二超时时长。
可选的,所述装置还包括:
第三确定模块,用于在确定请求失败后,确定所述网络请求的发送次数;
第二计算模块,用于若所述发送次数小于预设次数阈值,则计算预设最大超时时长与所述网络请求的总响应时长间的差值,得到所述网络请求的剩余时长,并获取在当前时间点发送所述网络请求的第三超时时长;所述第三超时时长是基于历史网络请求所对应的历史响应时长确定的;
第一调用模块,用于若所述剩余时长不小于所述第三超时时长,则返回调用所述发送模块执行所述向接收端发送所述网络请求的步骤。
可选的,所述装置还包括:
统计模块,用于统计第三预设时长内发送的网络请求的响应失败率;
第二调用模块,用于若所述响应失败率大于预设失败率阈值,则在第四预设时长后,重新调用所述获取模块执行所述获取在当前时间点发送网络请求对应的第一超时时长的步骤。
可选的,所述装置还包括:
记录模块,用于在确定所述网络请求的请求结果后,记录所述网络请求的响应时长,所述请求结果为所述请求失败或所述请求成功。
在本发明实施例的第三方面,还提供了一种请求结果确定系统,所述系统包括发送端和接收端;
所述发送端,用于获取在当前时间点发送网络请求对应的第一超时时长,所述第一超时时长是基于历史网络请求所对应的历史响应时长确定的;向接收端发送所述网络请求;
所述接收端,用于响应于接收到的网络请求;向所述发送端发送针对所述网络请求的请求响应;
所述发送端,还用于若在所述第一超时时长内未接收到针对所述网络请求的请求响应,则确定请求失败;若在所述第一超时时长内接收到针对所述网络请求的请求响应,则确定请求成功。
在本发明实施例的第四方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的请求结果确定方法步骤。
在本发明实施例的第五方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的请求结果确定方法步骤。
在本发明实施例的第六方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的请求结果确定方法。
本发明实施例提供的请求结果确定方法、装置、系统、电子设备及存储介质,发送端在向接收端发送网络请求时,已经根据历史网络请求所对应的历史响应时长确定在当前时间点发送网络请求对应的第一超时时长,也就是该网络请求所对应的超时时长。当发送端在第一超时时长内未接收到该网络请求所对应的请求响应时,发送端可以确定该网络请求的请求结果为请求失败;当发送端在第一超时时长内接收到该网络请求所对应的请求响应时,发送端可以确定该网络请求的请求结果为请求成功。相比于直接设置一远大于真实响应时长的预设最大超时时长,由于上述第一超时时长是根据历史网络请求的历史响应时长确定的,也就是根据历史网络请求的真实响应时长确定该网络请求的超时时长,这将使得该网络请求的超时时长小于预设最大超时时长,这将有效缩短发送端在请求失败时的等待时长。并且,随着发送端所发送的网络请求,以及接收到的请求响应的进行,每一历史网络请求的历史响应时长将随着网络环境的变换而变换。此时,每一时间点所对应的第一超时时长也将随着网络环境的变化而变换,也就是每一网络请求所对应的超时时长将与当前的网络环境更加匹配,有效提高了确定出的网络请求对应超时时长的准确性。因此,采用本发明实施例提供的方法,有效的提高了确定出的网络请求对应超时时长的准确性,缩短了发送端在请求失败时的等待时长,从而提高了发送端网络请求的处理性能,节约了发送端的网络资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为现有网络请求过程的一种信令图;
图2为本发明实施例提供的请求结果确定方法的第一种流程示意图;
图3为本发明实施例提供的请求结果确定方法的第二种流程示意图;
图4为本发明实施例提供的请求结果确定方法的第三种流程示意图;
图5为本发明实施例提供的请求结果确定方法的第四种流程示意图;
图6为本发明实施例提供的一种网络请求过程的一种信令图;
图7为本发明实施例提供的发送端的一种结构示意图;
图8为本发明实施例提供的请求结果确定装置的一种结构示意图;
图9为本发明实施例提供的请求结果确定系统的一种结构示意图;
图10为本发明实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
如图1所示,图1为现有网络请求过程的一种信令图。在发送端与接收端的数据交互过程中,至少包括以下两种情况。
情况一,发送端和接收端的网络正常。此时,发送端向接收端发送请求1。接收端在接收到请求1后,响应于该请求1,并向发送端发送针对该请求1的响应1。发送端在接收到响应1时可以确定请求成功。
情况二,发送端和接收端的网络异常,如出现网络抖动等现象。在发送端向接收端发送请求2后,由于网络异常,可能导致接收端未接收到请求2,或者导致发送端未接收到针对请求2的响应2等,因此,发送端将不会接收到响应2。在发送完请求2后,发送端一直等待接收端返回响应2,在等待时长等于预设最大超时时长时仍未接收到响应2,则可以确定请求失败。
为便于理解,以实际统计过程中的一发送端A的超时时长为例进行说明。在该发送端A与接收端的网络正常的情况下,99.99%的网络请求的真实超时时长在30毫秒以下,也就是发送端A在发出网络请求后的30毫秒内未接收到对应的请求响应,则该网络请求有较大的概率已经超时。然而,在实际过程中,为了保障网络请求的响应成功率,该发送端A中网络请求所对应的预设最大超时时长却被设置为200毫秒。200毫秒远大于30毫秒,这将使得在30毫秒时请求已经失败,但发送端必须再等待200-30=170毫秒,才能确定请求失败,这导致发送端在请求失败时的等待时长较长,从而影响发送端网络请求的处理性能,并造成发送端网络资源的浪费。根据实际应用场景、发送端和接收端的性能的不同,上述真实超时时长和预设最大超时时长的大小也将有所变化,在此不作具体限定。
为了解决现有技术中发送端在请求失败时的等待时长较长所导致的网络请求的处理性能下降和网络资源浪费的问题,本发明实施例提供了一种请求结果确定方法,该方法可以应用于任一电子设备。例如,该电子设备可以手机、电脑等设备。该电子设备为网络请求的发送端。在此,对网络请求的发送端不作具体限定。
如图2所示,图2为本发明实施例提供的请求结果确定方法的第一种流程示意图。该方法应用于上述发送端,具体包括以下步骤。
步骤S201,获取在当前时间点发送网络请求对应的第一超时时长,第一超时时长是基于历史网络请求所对应的历史响应时长确定的。
步骤S202,向接收端发送网络请求。
步骤S203,若在第一超时时长内未接收到针对网络请求的请求响应,则确定请求失败。
步骤S204,若在第一超时时长内接收到针对网络请求的请求响应,则确定请求成功。
通过本发明实施例提供的方法,发送端在向接收端发送网络请求时,已经根据历史网络请求所对应的历史响应时长确定在当前时间点发送网络请求对应的第一超时时长,也就是该网络请求所对应的超时时长。当发送端在第一超时时长内未接收到该网络请求所对应的请求响应时,发送端可以确定该网络请求的请求结果为请求失败;当发送端在第一超时时长内接收到该网络请求所对应的请求响应时,发送端可以确定该网络请求的请求结果为请求成功。相比于直接设置一远大于真实响应时长的预设最大超时时长,由于上述第一超时时长是根据历史网络请求的历史响应时长确定的,也就是根据历史网络请求的真实响应时长确定该网络请求的超时时长,这将使得该网络请求的超时时长小于预设最大超时时长,这将有效缩短发送端在请求失败时的等待时长。并且,随着发送端所发送的网络请求,以及接收到的请求响应的进行,每一历史网络请求的历史响应时长将随着网络环境的变换而变换。此时,每一时间点所对应的第一超时时长也将随着网络环境的变化而变换,也就是每一网络请求所对应的超时时长将与当前的网络环境更加匹配,有效提高了确定出的网络请求对应超时时长的准确性。因此,采用本发明实施例提供的方法,有效的提高了确定出的网络请求对应超时时长的准确性,缩短了发送端在请求失败时的等待时长,从而提高了发送端网络请求的处理性能,节约了发送端的网络资源。
下面通过具体的实施例,对本发明实施例进行说明。
针对上述步骤S201,发送端可以实时根据发送的历史网络请求以及接收到的历史请求响应,利用历史网络请求的所对应的历史响应时长,确定在目标时间点发送网络请求所对应的第二超时时长,从而在需要向接收端发送网络请求时,发送端可以根据目标时间点所对应的第二超时时长,获取在当前时间点发送网络请求对应的第一超时时长,也就是确定待发送的网络请求的超时时长。
在本发明实施例中,上述目标时间点在步骤S201中的当前时间点之前。例如,上述目标时间点可以为接收到历史请求响应的时间点。再例如,上述目标时间点可以为发送端在向接收端发送历史网络请求后,该历史网络请求的超时时长所对应的时间点。如发送端发送历史网络请求的时间点为12:00,该历史网络请求的超时时长为2分钟,则目标时间点可以为该网络请求的超时时长所对应的时间点,即12:02。上述目标时间点可以根据用户需求进行设定,该目标时间点可以设置为当前时间点前的任一时间点。另外,上述目标时间点的数量可以是一个,也可以是多个。在此,对上述目标时间点不作具体限定。
在本发明实施例中,为了进一步提高获取到的第一超时时长的准确性,上述步骤S201可以与上述步骤S202同时执行,也就是发送端在向接收端发送网络请求时,可以同时获取上述第一超时时长,即当前时间点发送网络请求的第一超时时长。在此,对上述步骤S201和步骤S202的执行顺序不作具体限定。
针对上述步骤S202,关于发送端向接收端发送的网络请求,该网络请求可以为针对接收端中某一数据的数据获取请求,该网络请求也可以为与接收端建立通讯连接的连接建立请求。在此,对上述发送端向接收端发送的网络请求不作具体限定。
上述网络请求的发送可以是发送端通过接口调用的方式将网络请求发送至接收端。在此,对上述网络请求的发送过程不作具体说明。
在本发明实施例中,根据应用场景的变换,对于发送端发送每一网络请求所对应的接收端可以相同,也可以不同。以发送端为用户设备,接收端为服务器,当用户利用用户设备观看视频或观看小说时,网络请求所对应的服务器可以为同一服务器,也可以为不同的服务器。在此,对上述接收端不作具体限定。
针对上述步骤S203,接收端在接收到上述网络请求后,可以响应于该网络请求,并向发送端反馈针对该网络请求的请求响应。
例如,当上述网络请求为上述数据获取请求时,接收端在接收到该数据获取请求后,可以获取相应的数据,并向发送端反馈包含该数据的响应数据包,即向发送端反馈针对数据获取请求的请求响应。
再例如,当上述网络请求为上述连接建立请求时,接收端在接收到该连接建立请求后,可以与发送端建立连接,并向发送端发送确认数据包(Acknowledge character,ACK),即向发送端发送针对连接建立请求的请求响应,使得客户端确认连接建立完成。
客户端可以实时检测是否接收到接收端针对上述网络请求反馈的请求响应。当发送端在发送上述网络请求后的第一超时时长内未接收到针对该网络请求的请求响应时,发送端可以确定已经完成上述网络请求过程,并且发送端可以确定上述网络请求的请求结果为请求失败。即上述步骤S203。
一个可选的实施例中,为了便于确定后期发送的网络请求所对应的超时时长,发送端在确定上述网络请求的请求结果为请求失败时,发送端可以记录该网络请求所对应的响应时长,即将上述第一超时时长记录为该网络请求的响应时长。由于上述第一超时时长是根据历史网络请求的历史响应时长确定的,因此,该第一超时时长小于或等于上述预设最大超时时长。也就是记录的网络请求的响应时长小于或等于预设最大超时时长。
一个可选的实施例中,在确定请求失败后,发送端可以断开与接收端的连接。
一个可选的实施例中,当上述发送端在发送上述网络请求后的第一超时时长内,接收到针对该网络请求的请求响应,发送端可以确定已经完成上述网络请求过程,并且发送端可以确定上述网络请求的请求结果为请求成功。即上述步骤S204。
一个可选的实施例中,为了便于确定后期发送的网络请求所对应的超时时长,发送端在确定上述网络请求的请求结果为请求成功时,发送端可以记录该网络请求所对应的响应时长,即将接收到请求响应的时间点与发送网络请求的时间点之间的时间差记录为该网络请求的响应时长。由于该网络请求响应是在发送上述网络请求后的第一超时时长内接收到的,因此,记录的该网络请求的响应时长小于或等于上述第一超时时长,也就是记录的该网络请求的响应时长小于或等于上述预设最大超时时长。
一个可选的实施例中,根据图2所示的方法,本发明实施例还提供一种请求结果确定方法。如图3所示,图3为本发明实施例提供的请求结果确定方法的第二种流程示意图。该方法包括以下步骤。
步骤S301,根据记录每一历史网络请求对应历史响应时长的记录时间点,以及目标时间点,从历史网络请求中选取目标网络请求。
一个可选的实施例中,上述步骤S301,根据记录每一历史网络请求对应历史响应时长的记录时间点,以及目标时间点,从历史网络请求中选取目标网络请求,可以表示为:
根据记录每一历史网络请求对应历史响应时长的记录时间点,选取记录时间点在目标时间点前第二预设时长内的历史网络请求,作为目标网络请求。
为便于理解,对目标网络请求的选取进行举例说明。假设当前时间点为11:00,发送端在11:00前完成的历史网络请求有100个,其中,10:59-11:00期间完成的历史网络请求有30个,即历史响应时长的记录时间点在10:59-11:00期间的历史网络请求的数量为30。若以11:00为目标时间点,第二预设时长为1分钟,则发送端在选取目标网络请求时,可以将10:59-11:00期间完成的30个历史网络请求确定为目标网络请求。
针对每一历史网络请求,发送端在确定该历史网络请求的请求结果时,将记录该历史网络请求的历史响应时长,此时的时间点即为该历史网络请求对应的历史响应时长的记录时间点。
在本发明实施例中,上述第二预设时长可以为一个和多个预设响应时长统计周期。其中,预设响应时长统计周期可以根据发送端网络请求的发送量,当前网络环境等因素进行设定,在此,对上述第二预设时长和预设响应时长统计周期不作具体限定。
上述在选取记录时间点在目标时间点前第二预设时长内的历史网络请求作为目标网络请求时,用户可以通过调整上述第二预设时长实现对选取到的目标网络请求的数量的控制。在此,对上述选取到的网络请求的数量不作具体限定。
另一个可选的实施例中,上述步骤S301,根据记录每一历史网络请求对应历史响应时长的记录时间点,以及目标时间点,从历史网络请求中选取目标网络请求,还可以表示为:
根据记录每一历史网络请求对应历史响应时长的记录时间点,选取记录时间点与目标时间点之间时间差最小的预设数量个历史网络请求,作为目标网络请求。
为便于理解,对目标网络请求的选取进行举例说明。假设当前时间仍为11:00,发送端在11:00前完成的历史网络请求有5个,即请求1-5。其中,请求1-5所对应的历史响应时长的记录时间点分别为:10:45、10:47、10:50、10:53、10:55。若仍以11:00目标时间点,上述预设数量为2,则发送端可以计算目标时间点与每一历史网络请求的历史响应时长的记录时间点间的时间差,即请求1-5所对应的历史响应时长的记录时间点与当前时间点间的时间差分别为:11:00-10:45=15分钟、11:00-10:47=13分钟、11:00-10:50=10分钟、11:00-10:53=7分钟、11:00-10:55=5分钟。由于15>13>10>7>5,发送端可以将记录时间点为10:53和10:55所对应的历史网络请求确定为目标网络请求。
上述预设数量可以根据用户需求进行设置,在此,对上述预设数量不作具体限定。
在本发明实施例中,发送端基于历史网络请求所对应的历史响应时长的记录时间点,以及目标时间点,从历史网络请求中选取目标网络请求,可以使得选取出的目标网络请求所对应的记录时间点与目标时间点之间的时间差较小,从而使得后期根据目标网络请求所对应的历史响应时长所确定的目标时间点的第二超时时长更加符合目标时间点所对应的网络环境,提高了确定出的目标时间点的第二超时时长的准确性,从而提高了网络请求对应的第一超时时长的准确性。
步骤S302,根据目标网络请求的历史响应时长,以及预设响应成功率,计算在目标时间点发送网络请求对应的第二超时时长。
一个可选的实施例中,上述步骤S302,根据目标网络请求的历史响应时长,以及预设响应成功率,计算在目标时间点发送网络请求对应的第二超时时长,具体可以表示为:
根据目标网络请求的历史响应时长,计算响应成功率不小于预设响应成功率的百分位数,得到在目标时间点发送网络请求对应的第二超时时长。
在本发明实施例中,分位数是指连续分布函数中的一个点,这个点对应概率p。若0<p<1,则随机变量X或它的概率分布的分位数Za,是指满足条件P(X≤Za)=α的实数。其中,百分位数为统计学术语,如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。
为便于理解,以选取的目标网络请求为上述请求1-5,目标时间点为11:00为例,对上述在目标时间点发送网络请求对应的第二超时时长的确定进行说明。假设上述请求1-5对应的历史响应时长分别为20毫秒、25毫秒、20毫秒、15毫秒和40毫秒,预设响应成功率为75%。
在确定目标时间点对应的第二超时时长时,发送端可以按照时长从小到大的顺序,对选取出的目标网络请求的历史响应时长进行排序,得到的排序结果为15、20、20、25、40。由于预设响应成功率为75%,也就是响应成功率至少为75%,响应失败率至多为1-75%=25%。5*75%=3.75,对3.75取整为4,则X_75%≥25;5*25%=1.25,对1.25取整为1,则X_25%≤40,此时,百分位数为(25+40)/2=32.5。也就是发送端所确定的目标时间点的第二超时时长为32.5毫秒。
在本发明实施例中,上述在目标时间点发送网络请求对应的第二超时时长是根据目标网络请求的历史响应时长和预设响应成功率计算得到的,也就是每一目标时间点对应的第二超时时长不仅受到选取出的目标网络请求的历史响应时长的影响,还受到预设响应成功率的影响,这使得计算出的每一目标时间点对应的第二超时时长不仅趋近于真实响应时长,并且还可以在一定程度上满足网络请求所对应请求结果在成功率上的要求。
步骤S303,获取在当前时间点发送网络请求对应的第一超时时长,第一超时时长是基于历史网络请求所对应的历史响应时长确定的。
步骤S304,向接收端发送网络请求。
步骤S305,若在第一超时时长内未接收到针对网络请求的请求响应,则确定请求失败。
步骤S306,若在第一超时时长内接收到针对网络请求的请求响应,则确定请求成功。
上述步骤S303-步骤S306与上述步骤S201-步骤S204相同。
在本发明实施例中,发送端在确定上述网络请求的请求结果后,该网络请求更新为历史网络请求,发送端所记录的网络请求的响应时长更新为历史响应时长。此时,发送端可以将当前时间点作为目标时间点,参照上述步骤S301与步骤S302所提供的方法,确定当前时间点对应的第二超时时长。
一个可选的实施例中,针对上述步骤S303,获取在当前时间点发送网络请求对应的第一超时时长,具体可以表示为:
获取当前时间点前的第一预设时长内每一目标时间点对应的第二超时时长,并将获取到的第二超时时长中的最小值确定为在当前时间点发送网络请求对应的第一超时时长。
为便于理解,对当前时间点对应的第一超时时长的获取进行举例说明。假设当前时间点为11:10,第一预设时长为10分钟。发送端可以获取当前时间点前的第一预设时长内每一目标时间点对应的第二超时时长,也就是获取11:00-11:10期间每一目标时间点对应的第二超时时长。若获取到的11:00-11:10期间目标时间点对应的第二超时时长有5个,分别为30毫秒、20毫秒、25毫秒、24毫秒和22毫秒,30>25>24>22>20,此时,发送端可以将20毫秒确定为在当前时间点发送网络请求对应的第一超时时长。
在本发明实施例中,发送端通过将获取到的第二超时时长中的最小值确定为当前时间点对应的第一超时时长,可以使得第一超时时长为最小值,缩短了发送端在请求失败时的等待时长,节约了发送端的网络资源,提高了发送端的请求处理性能。
在本发明实施例中,上述在获取当前时间点对应的第一超时时长时,将当前时间点前的第一预设时长内每一目标时间点对应的第二超时时长中的最小值,确定为当前时间点对应的第一超时时长。除此以外,发送端还可以根据当前时间点前的第一预设时长内每一目标时间点对应的第二超时时长,采用其他方式确定当前时间点对应的第一超时时长。例如,发送端还可以将每一目标时间点对应的第二超时时长中的中位数或众数,确定为当前时间点对应的第一超时时长。
一个可选的实施例中,根据图2所示的方法,本发明实施例还提供了一种请求结果确定方法。如图4所示,图4为本发明实施例提供的请求结果确定方法的第三种流程示意图。该方法包括以下步骤。
步骤S401,获取在当前时间点发送网络请求对应的第一超时时长,第一超时时长是基于历史网络请求所对应的历史响应时长确定的。
步骤S402,向接收端发送网络请求。
步骤S403,若在第一超时时长内未接收到针对网络请求的请求响应,则确定请求失败。
步骤S404,若在第一超时时长内接收到针对网络请求的请求响应,则确定请求成功。
上述步骤S401-步骤S404与上述步骤S201-步骤S204相同。
步骤S405,在确定请求失败后,确定网络请求的发送次数。
在本步骤中,发送端在发送每一网络请求时,可以记录该网络请求的发送次数、发送时间等信息,例如,生成对应的日志文件等。当发送端在第一超时时长内未接收到针对网络请求的请求响应时,发送端可以根据记录的信息,确定该网络请求的发送次数。
步骤S406,若发送次数小于预设次数阈值,则计算预设最大超时时长与网络请求的总响应时长间的差值,得到网络请求的剩余时长,并获取在当前时间点发送网络请求的第三超时时长;第三超时时长是基于历史网络请求所对应的历史响应时长确定的。
在本步骤中,发送端可以将上述网络请求的发送次数与预设次数阈值进行比较,从而判断该网络请求的发送次数是否小于预设次数阈值。当该网络请求的发送次数小于预设次数阈值时,发送端可以根据预设最大超时时长,以及该网络请求的总响应时长,计算该网络请求的剩余时长。与此同时,发送端还可以获取在当前时间点发送网络请求对应的第三超时时长。关于当前时间点对应的第三超时时长的获取可参照上述第一超时时长的获取方法,在此不作具体说明。
一个可选的实施例中,在确定上述网络请求的剩余时长时,发送端可以利用以下公式,也就是计算预设最大超时时长与上述网络请求的总响应时长间的差值,得到该网络请求的剩余时长。该剩余时长T具体可以表示为:
一个可选的实施例中,当上述网络请求的发送次数等于预设次数阈值时,发送端可以不作任何处理,即发送端不会再向接收端发送该网络请求。由于当网络请求的发送次数等于预设次数阈值,发送端将不作任何处理,因此,不会出现网络请求的发送次数大于预设次数阈值的情况。
步骤S407,判断剩余时长是否小于第三超时时长。若否,则执行步骤S402。若是,则执行步骤S401。
在本步骤中,发送端可以将上述网络请求的剩余时长与当前时间点对应的第三超时时长进行比较,从而确定该网络请求的剩余时长是否小于当前时间点对应的第三超时时长。也就是通过将上述网络请求的剩余时长与当前时间点对应的第三超时时长进行比较,从而确定在剩余时长内是否可以完成一次网络请求的发送和请求响应的接收。
一个可选的实施例中,当上述网络请求的剩余时长不小于当前时间点对应的第三超时时长时,发送端可以返回执行上述步骤S402。也就是返回执行向接收端发送网络请求的步骤。此时,重新发送的网络请求所对应的第一超时时长为上述第三超时时长。
另一个可选的实施例中,为了提高网络请求的请求结果确定的准确性,当上述网络请求的剩余时长不小于当前时间点的第三超时时长时,发送端也可以返回执行上述步骤S401,也就是返回执行上述获取在当前时间点发送网络请求对应的第一超时时长的步骤。
一个可选的实施例中,当上述网络请求的剩余时长小于当前时间点的第三超时时长,发送端可以不作任何处理,也就是发送端不会再一次向接收端发送该网络请求。此时,发送端可以将其他待发送的网络请求发送给接收端,即返回执行上述步骤S401。
在本发明实施例中,在确定请求失败后,发送端也可以先确定上述网络请求的剩余时长,即先执行上述步骤S406,并在剩余时长不小于当前时间点对应的第三超时时长时,确定网络请求的发送次数,即执行上述步骤S405,从而在上述网络请求的发送次数小于预设次数阈值时,返回执行步骤S402或步骤S401。在上述网络请求的发送次数等于预设次数阈值,不作任何处理。
在本发明实施例中,当上述网络请求的剩余时长不小于当前时间点对应的第三超时时长时,发送端可以确定剩余时长还可以再发送一次上述网络请求。此时发送端再一次向接收端发送上述网络请求。在保证足够的时长可以接收请求响应的前提下,通过对网络请求的多次发送,可以提高该网络请求被接收端响应的概率,从而提高网络请求的响应成功率。
一个可选的实施例中,根据图2所示的实施例,本发明实施例还提供了一种请求结果确定方法。如图5所示,图5为本发明实施例提供的请求结果确定方法的第四种流程示意图。该方法包括以下步骤。
步骤S501,获取在当前时间点发送网络请求对应的第一超时时长,第一超时时长是基于历史网络请求所对应的历史响应时长确定的。
步骤S502,向接收端发送网络请求。
步骤S503,若在第一超时时长内未接收到针对网络请求的请求响应,则确定请求失败。
步骤S504,若在第一超时时长内接收到针对网络请求的请求响应,则确定请求成功。
上述步骤S501-步骤S504与上述步骤S201-步骤S204相同。
步骤S505,统计第三预设时长内发送的网络请求的响应失败率。
在本步骤中,发送端可以对根据第三预设时长内每一网络请求的请求结果,统计该第三预设时长内网络请求的响应失败率。关于响应失败率的计算在此不作具体说明。
上述第三预设时长内发送的网络请求可以为同一网络请求,也可以为不同的网络请求。在此,对上述第三预设时长内发送的网络请求不作具体限定。
在本发明实施例中,上述步骤S505可以在上述步骤S501-步骤S504中的任一步骤之前或之后执行,在此不作具体限定。
步骤S506,若响应失败率大于预设失败率阈值,则在第四预设时长后,重新执行获取在当前时间点发送网络请求对应的第一超时时长的步骤。
在本步骤中,当上述第三预设时长内网络请求的响应失败率大于预设失败率阈值时,发送端可以在当前时间点的第四预设时长后,重新执行上述步骤S501,也就是重新执行获取在当前时间点发送网络请求对应的第一超时时长的步骤,也就是在第四预设时长后才能重新发送网络请求。
一个可选的实施例中,根据上述步骤S501和步骤S502的执行顺序的不同,当步骤S501在步骤S502之后执行时,若上述第三预设时长内网络请求的响应失败率大于预设失败率阈值,则发送端还可以在第四预设时长后,重新执行上述步骤S502,也就是重新执行向接收端发送网络请求的步骤。
一个可选的实施例中,当上述第三预设时长内网络请求的响应失败率不大于预设失败率阈值时,发送端可以继续向接收端发送网络请求。该网络请求是上述网络请求,也可以是上述其他待发送的网络请求。
在本发明实施例中,当发送端网络不稳定或接收端网络异常时,可能导致第三预设时长内的响应失败率较高。此时,发送端通过统计第三预设时长内的响应失败率,当响应失败率达到预设失败率阈值时,发送端暂停向接收端发送网络请求,并在第四预设时长后,重新向接收端发送网络请求,从而避免网络资源的浪费,提高网络请求的响应成功率。
为便于理解,下面结合图6和图7对本发明实施例提供的请求结果确定方法进行说明。图6为本发明实施例提供的一种网络请求过程的一种信令图。图7为本发明实施例提供的发送端的一种结构示意图。如图7所示,发送端701中可以包括超时时长调整模块702,响应时长统计模块703,请求重试模块704和接口调用模块705。
步骤S601,发送端获取在当前时间点发送网络请求对应的第一超时时长。
其中,上述第一超时时长是根据历史网络请求所对应的历史响应时长确定的。
如图7所示,发送端701中的响应时长统计模块703中存储有多个历史网络请求所对应的历史响应时长、历史响应时长的记录时间点等信息,具体可以如表1所示,表1为本发明实施例提供的响应时长统计模块703中存储的信息所对应的信息表。
表1
网络请求 | 发送时间点 | 响应时长 | 请求结果 | 记录时间点 |
请求1 | 时间点1 | 时长1 | 失败 | 时间点2 |
请求1 | 时间点3 | 时长2 | 成功 | 时间点4 |
请求2 | 时间点5 | 时长3 | 成功 | 时间点6 |
发送端701中的超时时长调整模块702可以实时根据响应时长统计模块703中存储的历史网络请求的响应时长,计算每一目标时间点对应的第二超时时长。发送端701中的响应时长统计模块703可以根据超时时长调整模块702计算得到的每一目标时间点对应的第二超时时长,确定当前时间点对应的第一超时时长,即在当前时间点发送网络请求对应的超时时长。
步骤S602,发送端向接收端发送网络请求。
如图7所示,发送端701中的接口调用模块705可以调用的接口向接收端发送网络请求。
步骤S603,接收端接收网络请求,并响应于接收到的该网络请求。
步骤S604,接收端向发送端发送针对网络请求的请求响应。
针对上述步骤S603和步骤S604,在实际应用过程中,由于网络的不稳定性等原因,可能导致接收端接收不到发送端发送的网络请求。此时,接收端无法响应于接收到的网络请求。也就是接收端不会向发送端发送针对网络请求的请求响应。
步骤S605,发送端若在第一预设时长内接收到请求响应,则确定请求成功,并将当前时间点与网络请求的发送时间点之间的时间差记录为该网络请求的响应时长。
如图7所示,发送端701中的接口调用模块705调用对应的接口,接收上述接收端针对上述网络请求发送的请求响应。
步骤S606,发送端若在第一预设时长内未接收到请求响应,则确定请求失败,并将第一超时时长记录为该网络请求的响应时长。
如图7所示,发送端701在确定请求失败,并确定上述网络请求对应的响应时长后,可以将该网络请求对应的响应时长、记录时间点等信息上传给响应时长统计模块703。由响应时长统计模块703对接收到的信息进行存储,得到如表1所示信息表。
在本发明实施例中,除了上述接收端未响应于接收到的网络请求的情况可以导致发送端在第一预设时长内未接收到请求响应以外,接收端在向发送端发送请求响应,但是由于网络的不稳定性,如网络抖动,发送端网络异常等原因也可导致发送端在第一预设时长内未接收到请求响应。在此,对上述发送端在第一预设时长内未接收到请求响应的原因不作具体限定。
步骤S607,发送端在确定请求失败后,确定网络请求的发送次数。
步骤S608,发送端在发送次数小于预设次数阈值时,计算预设最大超时时长与网络请求的总响应时长间的差值,得到网络请求的剩余时长,并获取在当前时间点发送该网络请求对应的第三超时时长。
步骤S609,发送端判断剩余时长是否小于第三超时时长。若否,则执行上述步骤S602。若是,也执行上述步骤S601。
在本步骤中,当剩余时长不小于第三超时时长时,发送端可以向接收端重新发送上述网络请求,也就是返回执行上述步骤S602,此时,该网络请求对应的超时时长为上述第三超时时长。当剩余时长小于第三超时时长时,发送端可以对上述网络请求不作任何处理,也就是发送端不会再向发送端发送上述网络请求。此时,发送端可以对其他待发送的网络请求进行处理,即将其他待发送的网络请求发送给接收端,发送端可以发送执行上述步骤S601。
针对上述步骤S607-步骤S609,如图7所示,发送端701中的请求重试模块704可以根据响应时长统计模块703中存储的信息,确定是否需要重新向上述接收端发送上述网络请求,并在需要重新向接收端发送上述网络请求时,通过调用接口调用模块705向接收端发送网络请求。
上述步骤S607-步骤S609中,发送端也可以先确定剩余时长,再确定发送次数。发送端只有当发送次数小于预设次数阈值,且剩余时间不小于当前时间点对应的第三超时时长时才会返回执行步骤S602,即重新向接收端发送上述网络请求。
步骤S610,发送端统计第三预设时长内网络请求的响应失败率。
上述步骤S610可以在上述步骤S601-步骤S609执行过程中的任一时间点执行。
步骤S611,发送端在响应失败率大于预设失败率阈值时,在第四预设时长后,重新执行获取在当前时间点发送完网络请求对应的第一超时时长的步骤。
在本发明实施例中,上述发送端中除了包括图7所示的模块以外,还可以包括其他模块,在此不作具体说明。
基于同一种发明构思,根据上述本发明实施例提供的请求结果确定方法,本发明实施例还提供了一种请求结果确定装置。如图8所示,图8为本发明实施例提供的请求结果确定装置的一种结构示意图。该装置应用于发送端。该装置包括以下模块。
获取模块801,用于获取在当前时间点发送网络请求对应的第一超时时长,第一超时时长是基于历史网络请求所对应的历史响应时长确定的;
发送模块802,用于向接收端发送网络请求;
第一确定模块803,用于若在第一超时时长内未接收到针对网络请求的请求响应,则确定请求失败;
第二确定模块804,用于若在第一超时时长内接收到针对网络请求的请求响应,则确定请求成功。
可选的,上述请求结果确定装置还可以包括:
选取模块,用于根据记录每一历史网络请求对应历史响应时长的记录时间点,以及目标时间点,从历史网络请求中选取目标网络请求;目标时间点在当前时间点之前;
第一计算模块,用于根据目标网络请求的历史响应时长,以及预设响应成功率,计算在目标时间点发送网络请求对应的第二超时时长;
上述获取模块801,具体可以用于获取当前时间点前的第一预设时长内每一目标时间点对应的第二超时时长,并将获取到的第二超时时长中的最小值确定为在当前时间点发送网络请求对应的第一超时时长。
可选的,上述选取模块,具体可以用于根据记录每一历史网络请求对应历史响应时长的记录时间点,选取记录时间点在目标时间点前第二预设时长内的历史网络请求,作为目标网络请求;或根据记录每一历史网络请求对应历史响应时长的记录时间点,选取记录时间点与目标时间点之间时间差最小的预设数量个历史网络请求,作为目标网络请求。
可选的,上述第一计算模块,具体可以用于根据目标网络请求的历史响应时长,计算响应成功率不小于预设响应成功率的百分位数,得到在目标时间点发送网络请求对应的第二超时时长。
可选的,上述请求结果确定装置还可以包括:
第三确定模块,用于在确定请求失败后,确定网络请求的发送次数;
第二计算模块,用于若发送次数小于预设次数阈值,则计算预设最大超时时长与网络请求的总响应时长间的差值,得到网络请求的剩余时长,并获取在当前时间点发送网络请求的第三超时时长;第三超时时长是基于历史网络请求所对应的历史响应时长确定的;
第一调用模块,用于若剩余时长不小于第三超时时长,则返回调用发送模块802执行向接收端发送网络请求的步骤。
可选的,上述请求结果确定装置还可以包括:
统计模块,用于统计第三预设时长内发送的网络请求的响应失败率;
第二调用模块,用于若响应失败率大于预设失败率阈值,则在第四预设时长后,重新调用获取模块801执行获取在当前时间点发送网络请求对应的第一超时时长的步骤。
可选的,上述请求结果确定装置还可以包括:
记录模块,用于在确定网络请求的请求结果后,记录网络请求的响应时长,请求结果为请求失败或请求成功。
通过本发明实施例提供的装置,发送端在向接收端发送网络请求时,已经根据历史网络请求所对应的历史响应时长确定在当前时间点发送网络请求对应的第一超时时长,也就是该网络请求所对应的超时时长。当发送端在第一超时时长内未接收到该网络请求所对应的请求响应时,发送端可以确定该网络请求的请求结果为请求失败;当发送端在第一超时时长内接收到该网络请求所对应的请求响应时,发送端可以确定该网络请求的请求结果为请求成功。相比于直接设置一远大于真实响应时长的预设最大超时时长,由于上述第一超时时长是根据历史网络请求的历史响应时长确定的,也就是根据历史网络请求的真实响应时长确定该网络请求的超时时长,这将使得该网络请求的超时时长小于预设最大超时时长,这将有效缩短发送端在请求失败时的等待时长。并且,随着发送端所发送的网络请求,以及接收到的请求响应的进行,每一历史网络请求的历史响应时长将随着网络环境的变换而变换。此时,每一时间点所对应的第一超时时长也将随着网络环境的变化而变换,也就是每一网络请求所对应的超时时长将与当前的网络环境更加匹配,有效提高了确定出的网络请求对应超时时长的准确性。因此,采用本发明实施例提供的方法,有效的提高了确定出的网络请求对应超时时长的准确性,缩短了发送端在请求失败时的等待时长,从而提高了发送端网络请求的处理性能,节约了发送端的网络资源。
基于同一种发明构思,根据上述本发明实施例提供的请求结果确定方法,本发明实施例还提供了一种请求结果确定系统。如图9所示,图9为本发明实施例提供的请求结果确定系统的一种结构示意图。该系统包括发送端901和接收端902。
上述发送端901,用于获取在当前时间点发送网络请求对应的第一超时时长,第一超时时长是基于历史网络请求所对应的历史响应时长确定的;向接收端902发送网络请求;
上述接收端902,用于响应于接收到的网络请求;向发送端901发送针对网络请求的请求响应;
上述发送端901,还用于若在第一超时时长内未接收到针对网络请求的请求响应,则确定请求失败;若在第一超时时长内接收到针对网络请求的请求响应,则确定请求成功。
通过本发明实施例提供的系统,发送端在向接收端发送网络请求时,已经根据历史网络请求所对应的历史响应时长确定在当前时间点发送网络请求对应的第一超时时长,也就是该网络请求所对应的超时时长。当发送端在第一超时时长内未接收到该网络请求所对应的请求响应时,发送端可以确定该网络请求的请求结果为请求失败;当发送端在第一超时时长内接收到该网络请求所对应的请求响应时,发送端可以确定该网络请求的请求结果为请求成功。相比于直接设置一远大于真实响应时长的预设最大超时时长,由于上述第一超时时长是根据历史网络请求的历史响应时长确定的,也就是根据历史网络请求的真实响应时长确定该网络请求的超时时长,这将使得该网络请求的超时时长小于预设最大超时时长,这将有效缩短发送端在请求失败时的等待时长。并且,随着发送端所发送的网络请求,以及接收到的请求响应的进行,每一历史网络请求的历史响应时长将随着网络环境的变换而变换。此时,每一时间点所对应的第一超时时长也将随着网络环境的变化而变换,也就是每一网络请求所对应的超时时长将与当前的网络环境更加匹配,有效提高了确定出的网络请求对应超时时长的准确性。因此,采用本发明实施例提供的方法,有效的提高了确定出的网络请求对应超时时长的准确性,缩短了发送端在请求失败时的等待时长,从而提高了发送端网络请求的处理性能,节约了发送端的网络资源。
基于同一种发明构思,根据上述本发明实施例提供的请求结果确定方法,本发明实施例还提供了一种电子设备,该电子设备为上述发送端,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信;
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现如下步骤:
获取在当前时间点发送网络请求对应的第一超时时长,第一超时时长是基于历史网络请求所对应的历史响应时长确定的;
向接收端发送网络请求;
若在第一超时时长内未接收到针对网络请求的请求响应,则确定请求失败;
若在第一超时时长内接收到针对网络请求的请求响应,则确定请求成功。
通过本发明实施例提供的电子设备,发送端在向接收端发送网络请求时,已经根据历史网络请求所对应的历史响应时长确定在当前时间点发送网络请求对应的第一超时时长,也就是该网络请求所对应的超时时长。当发送端在第一超时时长内未接收到该网络请求所对应的请求响应时,发送端可以确定该网络请求的请求结果为请求失败;当发送端在第一超时时长内接收到该网络请求所对应的请求响应时,发送端可以确定该网络请求的请求结果为请求成功。相比于直接设置一远大于真实响应时长的预设最大超时时长,由于上述第一超时时长是根据历史网络请求的历史响应时长确定的,也就是根据历史网络请求的真实响应时长确定该网络请求的超时时长,这将使得该网络请求的超时时长小于预设最大超时时长,这将有效缩短发送端在请求失败时的等待时长。并且,随着发送端所发送的网络请求,以及接收到的请求响应的进行,每一历史网络请求的历史响应时长将随着网络环境的变换而变换。此时,每一时间点所对应的第一超时时长也将随着网络环境的变化而变换,也就是每一网络请求所对应的超时时长将与当前的网络环境更加匹配,有效提高了确定出的网络请求对应超时时长的准确性。因此,采用本发明实施例提供的方法,有效的提高了确定出的网络请求对应超时时长的准确性,缩短了发送端在请求失败时的等待时长,从而提高了发送端网络请求的处理性能,节约了发送端的网络资源。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于同一种发明构思,根据上述本发明实施例提供的请求结果确定方法,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中任一所述的请求结果确定方法。
基于同一种发明构思,根据上述本发明实施例提供的请求结果确定方法,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的请求结果确定方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质及计算机程序产品等实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.一种请求结果确定方法,其特征在于,应用于发送端,所述方法包括:
获取在当前时间点发送网络请求对应的第一超时时长,所述第一超时时长是基于历史网络请求所对应的历史响应时长确定的;
向接收端发送所述网络请求;
若在所述第一超时时长内未接收到针对所述网络请求的请求响应,则确定请求失败;
若在所述第一超时时长内接收到针对所述网络请求的请求响应,则确定请求成功;
所述方法还包括:
根据记录每一历史网络请求对应历史响应时长的记录时间点,以及目标时间点,从所述历史网络请求中选取目标网络请求;所述目标时间点在所述当前时间点之前;所述目标时间点为接收到历史请求响应的时间点或者历史网络请求的超时时长所对应的时间点;
根据所述目标网络请求的历史响应时长,以及预设响应成功率,计算在所述目标时间点发送网络请求对应的第二超时时长;
所述获取在当前时间点发送网络请求对应的第一超时时长的步骤,包括:
获取当前时间点前的第一预设时长内每一目标时间点对应的第二超时时长,并将获取到的第二超时时长中的最小值确定为在当前时间点发送网络请求对应的第一超时时长;
所述根据所述目标网络请求的历史响应时长,以及预设响应成功率,计算在所述目标时间点发送网络请求对应的第二超时时长的步骤,包括:
根据所述目标网络请求的历史响应时长,计算响应成功率不小于预设响应成功率的百分位数,得到在所述目标时间点发送网络请求对应的第二超时时长。
2.根据权利要求1所述的方法,其特征在于,所述根据记录每一历史网络请求对应历史响应时长的记录时间点,以及目标时间点,从所述历史网络请求中选取目标网络请求的步骤,包括:
根据记录每一历史网络请求对应历史响应时长的记录时间点,选取记录时间点在目标时间点前第二预设时长内的历史网络请求,作为目标网络请求;或
根据记录每一历史网络请求对应历史响应时长的记录时间点,选取记录时间点与目标时间点之间时间差最小的预设数量个历史网络请求,作为目标网络请求。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定请求失败后,确定所述网络请求的发送次数;
若所述发送次数小于预设次数阈值,则计算预设最大超时时长与所述网络请求的总响应时长间的差值,得到所述网络请求的剩余时长,并获取在当前时间点发送所述网络请求的第三超时时长;所述第三超时时长是基于历史网络请求所对应的历史响应时长确定的;
若所述剩余时长不小于所述第三超时时长,则返回执行所述向接收端发送所述网络请求的步骤。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
统计第三预设时长内发送的网络请求的响应失败率;
若所述响应失败率大于预设失败率阈值,则在第四预设时长后,重新执行所述获取在当前时间点发送网络请求对应的第一超时时长的步骤。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述网络请求的请求结果后,记录所述网络请求的响应时长,所述请求结果为所述请求失败或所述请求成功。
6.一种请求结果确定装置,其特征在于,应用于发送端,所述装置包括:
获取模块,用于获取在当前时间点发送网络请求对应的第一超时时长,所述第一超时时长是基于历史网络请求所对应的历史响应时长确定的;
发送模块,用于向接收端发送所述网络请求;
第一确定模块,用于若在所述第一超时时长内未接收到针对所述网络请求的请求响应,则确定请求失败;
第二确定模块,用于若在所述第一超时时长内接收到针对所述网络请求的请求响应,则确定请求成功;
所述装置还包括:
选取模块,用于根据记录每一历史网络请求对应历史响应时长的记录时间点,以及目标时间点,从历史网络请求中选取目标网络请求;目标时间点在当前时间点之前;所述目标时间点为接收到历史请求响应的时间点或者历史网络请求的超时时长所对应的时间点;
第一计算模块,用于根据目标网络请求的历史响应时长,以及预设响应成功率,计算在目标时间点发送网络请求对应的第二超时时长;
所述获取模块,具体用于获取当前时间点前的第一预设时长内每一目标时间点对应的第二超时时长,并将获取到的第二超时时长中的最小值确定为在当前时间点发送网络请求对应的第一超时时长;
所述第一计算模块,具体用于根据所述目标网络请求的历史响应时长,计算响应成功率不小于预设响应成功率的百分位数,得到在所述目标时间点发送网络请求对应的第二超时时长。
7.一种请求结果确定系统,其特征在于,所述系统包括发送端和接收端;
所述发送端,用于获取在当前时间点发送网络请求对应的第一超时时长,所述第一超时时长是基于历史网络请求所对应的历史响应时长确定的;向接收端发送所述网络请求;
所述接收端,用于响应于接收到的网络请求;向所述发送端发送针对所述网络请求的请求响应;
所述发送端,还用于若在所述第一超时时长内未接收到针对所述网络请求的请求响应,则确定请求失败;若在所述第一超时时长内接收到针对所述网络请求的请求响应,则确定请求成功;根据记录每一历史网络请求对应历史响应时长的记录时间点,以及目标时间点,从所述历史网络请求中选取目标网络请求;所述目标时间点在所述当前时间点之前;所述目标时间点为接收到历史请求响应的时间点或者历史网络请求的超时时长所对应的时间点;根据所述目标网络请求的历史响应时长,以及预设响应成功率,计算在所述目标时间点发送网络请求对应的第二超时时长;
所述获取在当前时间点发送网络请求对应的第一超时时长的步骤,包括:
获取当前时间点前的第一预设时长内每一目标时间点对应的第二超时时长,并将获取到的第二超时时长中的最小值确定为在当前时间点发送网络请求对应的第一超时时长;
所述根据所述目标网络请求的历史响应时长,以及预设响应成功率,计算在所述目标时间点发送网络请求对应的第二超时时长的步骤,包括:
根据所述目标网络请求的历史响应时长,计算响应成功率不小于预设响应成功率的百分位数,得到在所述目标时间点发送网络请求对应的第二超时时长。
8.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011611912.4A CN112637362B (zh) | 2020-12-30 | 2020-12-30 | 请求结果确定方法、装置、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011611912.4A CN112637362B (zh) | 2020-12-30 | 2020-12-30 | 请求结果确定方法、装置、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112637362A CN112637362A (zh) | 2021-04-09 |
CN112637362B true CN112637362B (zh) | 2022-10-25 |
Family
ID=75286846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011611912.4A Active CN112637362B (zh) | 2020-12-30 | 2020-12-30 | 请求结果确定方法、装置、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112637362B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102355327A (zh) * | 2011-08-26 | 2012-02-15 | 百度在线网络技术(北京)有限公司 | 一种用于确定数据传输超时时间的方法、装置与设备 |
US8468196B1 (en) * | 2010-05-20 | 2013-06-18 | Google Inc. | System and method of reducing latency using adaptive retransmission timeouts |
CN105939225A (zh) * | 2016-06-23 | 2016-09-14 | 微梦创科网络科技(中国)有限公司 | 一种业务执行的方法及装置 |
CN110166572A (zh) * | 2019-06-06 | 2019-08-23 | 北京达佳互联信息技术有限公司 | 网络处理方法、装置、电子设备及存储介质 |
CN110620681A (zh) * | 2019-08-22 | 2019-12-27 | 中国平安财产保险股份有限公司 | 网络连接超时时间设置方法、装置、设备及介质 |
CN112118329A (zh) * | 2020-08-31 | 2020-12-22 | 北京奇艺世纪科技有限公司 | 一种网络请求处理方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-30 CN CN202011611912.4A patent/CN112637362B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8468196B1 (en) * | 2010-05-20 | 2013-06-18 | Google Inc. | System and method of reducing latency using adaptive retransmission timeouts |
US8965961B1 (en) * | 2010-05-20 | 2015-02-24 | Google Inc. | System and method of reducing latency using adaptive retransmission timeouts |
CN102355327A (zh) * | 2011-08-26 | 2012-02-15 | 百度在线网络技术(北京)有限公司 | 一种用于确定数据传输超时时间的方法、装置与设备 |
CN105939225A (zh) * | 2016-06-23 | 2016-09-14 | 微梦创科网络科技(中国)有限公司 | 一种业务执行的方法及装置 |
CN110166572A (zh) * | 2019-06-06 | 2019-08-23 | 北京达佳互联信息技术有限公司 | 网络处理方法、装置、电子设备及存储介质 |
CN110620681A (zh) * | 2019-08-22 | 2019-12-27 | 中国平安财产保险股份有限公司 | 网络连接超时时间设置方法、装置、设备及介质 |
CN112118329A (zh) * | 2020-08-31 | 2020-12-22 | 北京奇艺世纪科技有限公司 | 一种网络请求处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于服务提供者获益的服务响应选择方法;杜立新;《西安交通大学学报》;20121231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112637362A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113472607B (zh) | 应用程序网络环境检测方法、装置、设备及存储介质 | |
EP3697035B1 (en) | Link priority configuration method and device | |
CN109525376B (zh) | 快速重传方法、装置及终端设备 | |
CN112838980B (zh) | 一种消息处理方法、系统、装置、电子设备及存储介质 | |
CN112637362B (zh) | 请求结果确定方法、装置、系统、电子设备及存储介质 | |
CN113676365B (zh) | 一种访问请求的处理方法、装置及电子设备 | |
CN111367691B (zh) | 数据反馈方法及装置、电子设备和可存储介质 | |
CN110727895B (zh) | 一种敏感词发送方法、装置、电子设备及存储介质 | |
CN114710801B (zh) | 网络性能的测评参数的处理方法、装置、存储介质及设备 | |
CN108512698B (zh) | 一种网络容灾方法、装置及电子设备 | |
CN114466321B (zh) | 消息发送方法及装置、电子设备及存储介质 | |
CN112751743A (zh) | 消息发送异常的处理方法、消息发送装置和电子设备 | |
CN111371675B (zh) | 智能寻址方法、装置、设备及其存储介质 | |
CN112506896B (zh) | 一种数据删除方法、装置及电子设备 | |
CN112804301A (zh) | 设备状态的确定方法、装置、网关及存储介质 | |
CN108737460B (zh) | 一种连接的处理方法及客户端 | |
CN111224756A (zh) | 确定数据传输异常的方法、装置、存储介质及电子设备 | |
CN109756384B (zh) | 数据源状态判定方法及装置、计算机可读存储介质 | |
CN111865722A (zh) | 一种节点健康状态检测及处理方法 | |
CN111580961A (zh) | 访问请求处理方法、装置、服务器及存储介质 | |
CN115065723B (zh) | 用于网络容灾的数据处理系统 | |
CN115002000B (zh) | 异常接口容错方法、装置、设备及存储介质 | |
CN113572824B (zh) | 一种超时时长的动态更新方法、装置、电子设备和存储介质 | |
EP4319254A1 (en) | Load query processing method and apparatus, storage medium, and electronic apparatus | |
CN109672686B (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 |