一种网络请求调度方法及装置与流程

文档序号:15455572发布日期:2018-09-15 01:00阅读:113来源:国知局

本申请涉及互联网技术领域,具体涉及一种网络请求调度方法及装置。



背景技术:

随着移动互联网的发展,用户会使用各种基于网络的应用程序,例如购物类应用程序、视频类应用程序、即时通讯类应用程序等等。在网络的应用程序使用过程中,应用程序客户端会向服务器发送网络请求,在一些场景中客户端会向服务器同时并发多个网络请求。

在现有技术中,一般会针对网络请求的类型设置优先级,按照优先级顺序对网络请求依次发送,从而完成对网络请求的调度。但是,仅以优先级对网络请求进行划分,会存在高优先级的网络请求被阻塞排队的问题,例如某一低优先级的网络请求在获取服务器反馈的过程中,因为网络质量等情况导致该网络请求迟迟无法完成,此时如果有高优先级的网络请求,则该高优先级的网络请求会被前一低优先级的网络请求阻塞,无法及时发送。因此,如何更为合理有效地完成网络请求调度是亟待解决的技术问题。



技术实现要素:

有鉴于此,本申请实施例提供一种网络请求调度方法及装置,以实现更为合理有效地完成网络请求调度。

为解决上述问题,本申请实施例提供的技术方案如下:

第一方面,本申请实施例提供了一种网络请求调度方法,该方法包括:

获取网络请求,所述网络请求包括所请求访问的域名;

获取所述域名对应的分类等级,所述分类等级包括请求属性等级以及请求响应总时长等级;

根据所述域名的请求属性等级,确定所述网络请求的发送方式;

在所述网络请求发送后,获取所述网络请求的响应总时长;

如果所述网络请求的响应总时长大于所述域名对应的请求响应总时长等级的时长,则将所述网络请求确定为取消发送或者推迟发送。

在一些可能的实施方式中,所述请求属性等级包括网络速度等级、服务器延时等级以及重要性等级,所述根据所述域名的请求属性等级,确定所述网络请求的发送方式,包括:

判断当前网络速度是否符合所述域名对应的网络速度等级;

如果所述当前网络速度符合所述域名对应的网络速度等级,判断当前服务器延时是否符合所述域名对应的服务器延时等级;如果所述当前网络速度不符合所述域名对应的网络速度等级,则将所述网络请求确定为取消发送或者推迟发送;

在判断当前服务器延时是否符合所述域名对应的服务器延时等级后,如果所述当前服务器延时符合所述域名对应的服务器延时等级,获取所述域名对应的重要性等级;如果当前服务器延时不符合所述域名对应的服务器延时等级,则将所述网络请求确定为取消发送或者推迟发送;

在获取所述域名对应的重要性等级后,当所述域名对应的重要性等级为高,则将所述网络请求确定为优先发送,当所述域名对应的重要性等级为低,则将所述网络请求确定为正常发送。

在一些可能的实施方式中,所述分类等级还包括网络状态等级。

在一些可能的实施方式中,所述方法还包括:

如果所述当前网络速度符合所述域名的网络速度等级,判断当前网络状态是否正常;

如果所述当前网络状态正常,执行所述判断当前服务器延时是否符合所述域名对应的服务器延时等级以及后续步骤;

如果所述当前网络状态不正常,获取所述域名对应的网络状态等级;

如果所述域名对应的网络状态等级为支持网络状态不正常,执行所述判断当前服务器延时是否符合所述域名对应的服务器延时等级以及后续步骤;

如果所述域名的网络状态等级为不支持网络状态不正常,则将所述网络请求确定为取消发送或者推迟发送。

在一些可能的实施方式中,所述方法还包括:

当将所述网络请求确定为推迟发送,在达到预设时长后,重新获取该网络请求,并执行所述获取所述域名的分类等级以及后续步骤。

第二方面,本申请实施例还提供了一种网络请求调度装置,该装置包括:

第一获取模块,用于获取网络请求,所述网络请求包括所请求访问的域名;

第二获取模块,用于获取所述域名对应的分类等级,所述分类等级包括请求属性等级以及请求响应总时长等级;

第一确定模块,用于根据所述域名的分类等级,确定所述网络请求的发送方式;

第三获取模块,用于在所述网络请求发送后,获取所述网络请求的响应总时长;

第二确定模块,用于如果所述网络请求的响应总时长大于所述域名对应的请求响应总时长等级的时长,则将所述网络请求确定为取消发送或者推迟发送。

在一些可能的实施方式中,请求属性等级网络速度等级、服务器延时等级以及重要性等级,第一确定模块包括:

第一判断单元,用于判断当前网络速度是否符合所述域名对应的网络速度等级;

第二判断单元,用于如果所述当前网络速度符合所述域名对应的网络速度等级,判断当前服务器延时是否符合所述域名对应的服务器延时等级;

第一获取单元,用于在判断当前服务器延时是否符合所述域名对应的服务器延时等级后,如果所述当前服务器延时符合所述域名对应的服务器延时等级,获取所述域名对应的重要性等级;

第一确定单元,用于在获取所述域名对应的重要性等级后,当所述域名对应的重要性等级为高,则将所述网络请求确定为优先发送,当所述域名对应的重要性等级为低,则将所述网络请求确定为正常发送;

第二确定单元,用于如果所述当前网络速度不符合所述域名对应的网络速度等级,则将所述网络请求确定为取消发送或者推迟发送;

第三确定单元,用于如果当前服务器延时不符合所述域名对应的服务器延时等级,则将所述网络请求确定为取消发送或者推迟发送。

在一些可能的实施方式中,分类等级除了包括网络速度等级、服务器延时等级、重要性等级以及请求响应总时长等级,还包括网络状态等级。

在一些可能的实施方式中,该装置还包括:

第一判断模块,用于如果所述当前网络速度符合所述域名的网络速度等级,判断当前网络状态是否正常;

第一返回模块,用于如果所述当前网络状态正常,则返回所述第一获取单元,执行判断当前服务器延时是否符合所述域名对应的服务器延时等级;

第四获取模块,用于如果所述当前网络状态不正常,获取所述域名对应的网络状态等级;

第二返回模块,用于如果所述域名对应的网络状态等级为支持网络状态不正常,则返回所述第一获取单元,执行所述判断当前服务器延时是否符合所述域名对应的服务器延时等级;

第三确定模块,用于如果所述域名的网络状态等级为不支持网络状态不正常,则将所述网络请求确定为取消发送或者推迟发送。

在一些可能的实施方式中,该装置还包括:

第三返回模块,用于当将所述网络请求确定为推迟发送,在达到预设时长后,返回第一获取模块,执行重新获取该网络请求,并执行所述获取所述域名的分类等级。

由此可见,本申请实施例具有如下有益效果:

本申请实施例可以预先确定各个服务器域名对应的分类等级,在获取到网络请求后,则可以进一步获取到该网络请求中包括的域名所对应的分类等级,该分类等级可以定义在不同情况下网络请求的发送方式,因此可以根据分类等级中的请求属性等级,确定该网络请求的发送方式;同时在网络请求发送后,如果该网络请求的响应总时长超过了分类等级中的请求响应总时长等级的时长,还可以将网络请求确定为取消发送或者推迟发送,以避免网络请求长时间占用发送网络请求的资源。本申请实施例基于所请求的域名对网络请求进行了更细维度的划分,针对不同情况可以更为合理有效地对网络请求的发送进行调度。

附图说明

图1为本申请实施例提供的一种示例性应用场景示意图;

图2为本申请实施例提供的一种网络请求调度方法的流程示意图;

图3为本申请实施例提供的另一种网络请求调度方法的流程示意图;

图4为本申请实施例提供的另一种网络请求调度方法的流程示意图;

图5为本申请实施例提供的一种网络请求调度装置的结构示意图。

具体实施方式

在用户使用网络应用程序的过程中,基于用户对该应用程序的操作,应用程序客户端通常会向服务器发送网络请求,以使得服务器基于该网络请求进行相应的任务处理。但是通常情况下,应用程序客户端需要向服务器发送的网络请求可能为多个,而应用程序客户端可能是逐个发送网络请求,这样可能导致应用程序客户端先发送不重要的网络请求,而后发送重要的网络请求,从而造成部分比较重要的网络请求无法得到及时发送的问题。

现有的技术方案中,一般会针对网络请求的类型设置优先级,按照优先级顺序依次发送网络请求至服务器,具体为优先级高的网络请求优先发送,优先级较低的网络请求推后发送,以此来完成对网络请求的调度。但是,仅仅以优先级对网络请求进行划分,划分粒度较粗,会存在高优先级的网络请求被阻塞排队的问题。例如,在一较低优先级的网络请求获取服务器反馈的过程中,由于网络质量、服务器延时较长等情况导致该网络请求长时间没有完成,而此时应用程序客户端又生成了优先级较高的网络请求,则该优先级较高的网络请求会被前一优先级较低的网络请求阻塞,应用程序客户端只能等待优先级较低的网络请求完成后,再发送该优先级较高的网络请求,从而造成优先级较高的网络请求无法被及时发送,降低了用户体验。

为此,本申请实施例提供了一种网络请求调度方法,通过对网络请求进行更细粒度的划分,可以合理、有效地完成对网络请求的调度。具体的,本申请实施例提供的网络请求调度方法可以应用于图1所示的示例性应用场景中,该应用场景包括客户端101以及服务器102,该网络请求调度方法可以包括:客户端101可以获取基于用户对该客户端101的操作所生成的网络请求,该网络请求包括所请求访问的域名,并获取该域名对应的分类等级,其中,该分类等级包括请求属性等级以及请求响应总时长等级等,然后,客户端101根据获取的域名对应的请求属性等级,确定该网络请求的发送方式,并根据该网络请求的发送方式向该域名对应的服务器102发送该网络请求,客户端101在向服务器102发送该网络请求后,获取该网络请求的响应总时长,并判断该网络请求的相应总时长是否大于该域名对应的请求响应总时长等级的时长,如果大于,则将该网络请求的发送方式确定为取消发送或者推迟发送,即不再向服务器102发送该网络请求或者推迟一段时间再向服务器102发送该网络请求。

通过根据域名对应的请求属性等级,确定网络请求的发送方式,并且当网络请求的响应总时长超过了域名对应的请求响应总时长等级的时长时,取消发送该网络请求或者推迟一段时间再发送该网络请求,从而可以避免网络请求长时间占用发送网络请求的资源,也可以避免由于低优先级的网络请求长时间无法完成发送,而导致的高优先级的网络请求被阻塞排队的问题,从而实现更为合理、有效地对网络请求的发送进行调度。

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。

请一并参阅图2,图2示出了本申请实施例中一种网络请求调度方法的流程示意图,该方法具体可以包括:

s201:获取网络请求,该网络请求包括所请求访问的域名。

通常情况下,当用户在客户端上进行点击控件、长按页面等操作时,客户端会基于用户的操作而生成相应的网络请求,并会将该网络请求发送至服务器,以请求服务器根据该网络请求进行相应的网络任务处理。则,在客户端将该网络请求发送给服务器之前,可以先获取该网络请求,以便于后续确定该网络请求的发送方式。

而在网络请求由客户端传输至服务器的过程中,传输该网络请求的网络节点通常是根据网络请求中所包括的服务器的域名,确定该网络请求需要被传输至哪一个服务器。因此,获取的网络请求,通常包括所要请求访问的服务器的域名。

s202:获取该域名对应的分类等级,该分类等级包括请求属性等级以及请求响应总时长等级。

在申请实施例中,网络请求中的域名通常指向某一服务器,该服务器一般处理某一类型的网络请求,则网络请求中的域名可以对应该网络请求的类型,因此可以通过设置域名对应的分类等级,实现对不同类型网络请求进行调度。

作为一种示例,本实施例中的请求属性等级可以包括网络速度等级、服务器延时等级以及重要性等级,当然,也可以包含其它影响网络请求发送的优先程度的因素,如表征网络拥堵情况的网络状态等级等,在此不做限定。

其中,域名对应的网络速度等级是指,完成包括该域名的网络请求所需的网络速度快慢的等级。通常情况下,完成不同类型的网络请求,通常所需要的网络速度也不同。比如,对于获取视频文件类型的网络请求,通常需要视频服务器来处理该网络请求,并且可能由于客户端所需获取的视频文件的容量较大,视频服务器在将该视频文件传输给客户端的过程中,通常需求较快的网络速度以减少完成该网络请求的时间,否则,由于完成该网络请求的时间较长,可能会造成对其他网络请求的堵塞。而对于获取文本文件类型的网络请求,由于客户端所需的文本文件容量较小,即使网络速度较慢,服务器也可以在较短时间内将该文本文件传输给客户端,因此,对于获取文本文件的网络请求而言,其通常所需的网络速度并不需要太快。

在一些实施方式中,由于wifi(wirelessfidelity,无线局域网)网络的网络速度,比4g(the4thgenerationcommunicationsystem,第四代通信系统)网络的网络速度快,而4g网络的网络速度比3g(the3thgenerationcommunicationsystem,第三代通信系统)网络的网络速度快,因此,可以将域名对应的网络速度等级划分为wifi等级、4g等级以及3g等级,分别对应着网络速度较快、正常和较慢三个等级。

域名对应的服务器延时等级是指,允许服务器响应该网络请求的最大延时时长的等级,其中,该服务器为网络请求包含的域名所对应的服务器。在一些实施方式中,可以利用最大延时的时间长短来对服务器延时等级进行划分。比如,服务器延时等级可以划分为毫秒级、秒级以及不限,当允许服务器响应网络请求的最大延时时长是以毫秒为单位进行计算时,服务器延时等级可以为毫秒级;当服务器响应网络请求的最大延时时长是以秒为单位进行计算时,服务器延时等级可以为秒级;当服务器延时等级为不限,则对网络请求的延时不进行限定。

域名对应的重要性等级是指,表征网络请求所请求的服务对于用户的重要程度的等级。在一些实施方式中,可以通过统计实际应用中各个网络请求对于用户体验的重要性来进行等级划分。比如,重要性等级可以划分为重要和不重要两个等级,当根据统计结果确定网络请求对于用户体验而言重要时,则重要性等级为重;当根据统计结果确定网络请求对于用户体验而言不重要时,则重要性等级为不重要。

域名对应的请求响应总时长等级是指,允许网络请求占用发送网络请求的资源的时长等级。在一些可能的实施方式中,可以按照允许网络请求占用发送网络请求的资源的时间长度进行等级划分。比如,请求响应总时长等级可以划分为5秒、10秒、30秒以及不限,若允许网络请求占用发送网络请求的资源的时长不超过5秒,则请求响应总时长等级为5秒;若允许网络请求占用发送网络请求的资源的时长超过5秒但是不超过10秒,则请求响应总时长等级为10秒;若允许网络请求占用发送网络请求的资源的时长超过10秒但是不超过30秒,则请求响应总时长等级为30秒;若允许网络请求占用发送网络请求的资源的时长超过30秒,则请求响应总时长等级为不限。

作为一种示例,可以预先设置各个域名对应的分类等级,则在获取到网络请求后,可以根据网络请求所包括的域名,确定该网络请求对应的请求属性等级以及请求响应总时长等级。在一些实施方式中,具体可以确定该网络请求对应的网络速度等级、服务器延时等级以及重要性等级等。

s203:根据域名对应的请求属性等级,确定网络请求的发送方式。

在一种非限定的示例中,网络请求的发送方式可以包括:优先发送、正常发送、推迟发送以及取消发送四种方式。其中,优先发送是指,相对于其他网络请求,优先发送该网络请求;正常发送是指,当各个网络请求的优先程度相当时,按照正常的发送顺序发送该网络请求;推迟发送是指,暂时不发送该网络请求,推迟一段时间后再发送该网络请求;取消发送是指,不再发送该网络请求。

利用域名对应的分类等级对该网络请求进行评估,可以确定发送该网络请求的优先程度,对于优先程度较高的网络请求,其发送方式可以为优先发送或者正常发送,而对于优先程度较低的网络请求,其发送方式可以为推迟发送甚至是取消发送。即,根据域名对应的分类等级,可以确定网络请求的发送方式。

对于确定网络请求的发送方式的具体实施过程,可以参照后续实施例中相关描述,在此不再赘述。

s204:在网络请求发送后,获取网络请求的响应总时长。

其中,该网络请求的响应总时长,是指客户端发送该网络请求后等待服务器响应该网络请求的总时长。在一种示例性的实施方式中,可以在客户端发送网络请求后,开始进行计时,直至客户端获得服务器响应该网络请求后发送的反馈结果时,才停止进行计时。则,计时时长即为该网络请求的响应总时长。

s205:如果网络请求的响应总时长,大于该网络请求包括的域名所对应的请求响应总时长等级的时长,则将该网络请求的发送方式确定为取消发送或者推迟发送。

可以理解,该网络请求包括的域名所对应的请求响应总时长等级,对应着客户端允许该网络请求占用发送网络请求的资源的最大时长,如果该网络请求的响应总时长,超过了客户端所允许其占用发送网络请求的资源的最大时长,则表明客户端所发送的网络请求长时间没有得到服务器的响应,该网络请求占用发送网络请求的资源时间过长,而为了不阻塞其它网络请求的发送,可以推迟一段时间再发送该网络请求或者是不再发送该网络请求。如果该网络请求的响应总时长,没有超过客户端所允许其占用发送网络请求的资源的最大时长,代表该网络请求已经正常完成。

具体的,在网络请求的响应总时长大于请求响应总时长等级的时长时,基于用户对客户端的使用体验,可以将部分较为重要的网络请求推迟发送,而对于不重要的网络请求,可以取消发送。比如,当用户使用客户端观看视频时,如果客户端发送的网络请求的响应总时长大于请求响应总时长等级的时长,则对于客户端发送的网络请求而言,获取用户所需观看视频的网络请求是相对比较重要的网络请求,该类网络请求的发送方式可以是推迟发送,而对于获取该视频的观众评论、视频简介等网络请求,通常为不重要的网络请求,其发送方式可以是取消发送。进一步的,如果确定网络请求的发送方式为推迟发送时,则可以在推迟的时间达到预设时长后,重新获取该网络请求,并执行获取该网络请求的域名对应的分类等级以及后续相应步骤。其中,预设时长可以根据实际情况由技术人员人为设定,也可以由算法程序根据网络请求的不同自行设定,在此不作限制。

在一种示例性的实施方式中,在确定网络请求的发送方式为推迟发送时,可以针对该网络请求进行计时,并确定该网络请求所推迟发送的预设时长,当计时时长达到预设时长时,则可以重新获取该网络请求,再次执行步骤s202至步骤205,直至该网络请求完成发送,或者该网络请求的发送方式确定为取消发送。

本实施例中,可以预先确定各个服务器域名对应的分类等级,在获取到网络请求后,则可以进一步获取到该网络请求中包括的域名所对应的分类等级,因此可以根据分类等级中的请求属性等级,确定该网络请求的发送方式;同时在网络请求发送后,如果该网络请求的响应总时长超过了分类等级中的请求响应总时长等级的时长,则可以将网络请求确定为取消发送或者推迟发送,以避免网络请求长时间占用发送网络请求的资源。本申请实施例基于所请求的域名对网络请求进行了更细维度的划分,针对不同情况可以更为合理有效地对网络请求的发送进行调度。

上述实施例中,对于确定网络请求的发送方式进行了简单的介绍,在一种示例性的具体实施方式中,可以依次根据分类等级中的网络速度等级、服务器延时等级、重要性等级以及请求响应总时长等级对该网络请求的发送方式进行确定。具体的,本申请还提供了另一网络请求调度方法的实施例,其中,本实施例中的步骤s303至步骤s307的相关内容,重点对确定网络请求的发送方式的具体实现过程进行示例性的详细说明。

请一并参阅图3,图3示出了本申请实施例中另一种网络请求调度方法的流程示意图,该方法具体可以包括:

s301:获取网络请求,该网络请求包括所请求访问的域名。

s302:获取该域名对应的分类等级,该分类等级包括网络速度等级、服务器延时等级、重要性等级以及请求响应总时长等级。

本实施例中,步骤s301至步骤s302与上一实施例中的步骤s201至步骤s202类似,可参考上一实施例中的相关描述,在此不再赘述。

s303:判断当前网络速度是否符合该域名对应的网络速度等级,如果是,执行步骤s304,如果否,执行步骤s310。

当前网络速度的快慢可能与客户端所处的网络有关。通常情况下,相对于4g网络,当客户端处于wifi网络时,当前网络速度可能更快,而相对于3g网络,当客户端处于4g网络时,当前网络速度也可能更快。

可以理解,不同类型的网络请求通常可能需要匹配相应的网络速度要求,若当前网络速度低于网络请求所匹配的网络速度时,完成该网络请求所需的时间就会大幅度增加,容易对其它网络请求造成阻塞。比如,对于获取视频内容的网络请求,客户端在将该网络请求发送至视频服务器并得到视频服务器的响应后,视频服务器会将相应地视频流数据发送至客户端,如果当前网络环境为3g网络,则视频数据流的传输速度会较慢,尤其是客户端所需获取的视频文件较大时,利用3g网络完成该网络请求会占用较长的时间(如十几分钟,甚至是几小时等),容易造成对其它网络请求的阻塞。但是对于获取视频内容简介的网络请求,由于视频内容简介的文件较小,即使当前网络环境为3g网络,也能在较短时间完成该网络请求,通常不会对其它网络请求造成阻塞。

因此,如果当前网络速度为3g网络下的网络速度时,则获取视频内容简介的网络请求可以发送并进行后续步骤的判断,而将获取视频的网络请求确定为推迟发送甚至是取消发送。但是如果当前网络速度为wifi网络下的网络速度时,由于wifi网络的网络速度较快,获取视频的网络请求也可以在较短时间内完成,因此,获取视频的网络请求可以发送并进行后续步骤的判断。

s304:判断当前服务器延时是否符合该域名对应的服务器延时等级,如果是,执行步骤s305,如果否,执行步骤s310。可以理解,即使当前网络速度符合域名对应的网络速度等级,但是在一些场景中,如果服务器的延时程度较严重,则服务器可能会长时间没有响应网络请求,从而可能造成客户端当前发送的网络请求阻塞了其它网络请求的发送。因此,本实施例中,如果当前网络速度符合该域名对应的网络速度等级,则可以进一步判断当前服务器延时程度是否符合该域名对应的服务器延时等级。

比如,在一些场景中,部分网络请求所能允许的服务器响应延时时间只能以毫秒为单位进行计算,但是如果当前服务器延时程度超过该级别,则服务器无法在毫秒内响应该网络请求,也即当前服务器延时不符合该域名对应的服务器延时等级,代表该网络请求可能阻塞了其它等待发送的网络请求。

因此,可以判断当前服务器延时是否符合该域名对应多个服务器延时等级,如果符合,则继续进行后续步骤,但是如果不符合,则为了避免阻塞其它网络请求的发送,可以推迟发送该网络请求或者是取消发送该网络请求。

s305:获取该域名对应的重要性等级。

s306:当域名对应的重要性等级为高,则将网络请求的发送方式确定为优先发送。

s307:当域名对应的重要性等级为低,则将网络请求的发送方式确定为正常发送。

可以理解,为了达到更好的用户体验,通常会将对用户来说更为重要的网络请求优先发送,以符合用户的使用需求。比如,在一种场景中,用户可能想要在客户端上观看电影,则对于用户而言,该电影的简介内容通常比其它观众对于该电影的评论内容更加重要,相应的,获取电影内容简介的网络请求,相对于获取观众评论的网络请求而言,对于提高用户体验的重要性更高,因此,可以将获取电影内容简介的网络请求的发送方式确定为优先发送,而获取观众评论的网络请求的发送方式,确定为正常发送即可。

s308:在网络请求发送后,获取网络请求的响应总时长。

s309:判断网络请求的响应总时长,是否大于该网络请求包括的域名所对应的请求响应总时长等级的时长,如果是,执行步骤s310。

s310:将该网络请求的发送方式确定为取消发送或者推迟发送。

值的注意的是,本实施例中,步骤s308至步骤s310与上一实施例中步骤s204至步骤s205类似,可参考上一实施例中的相关描述,在此不再赘述。

本实施例中,通过根据分类等级中的各种等级依次对网络请求的发送方式进行确定,可以快速、灵活的根据实际网络情况确定该网络请求的发送方式,避免了网络请求长时间占用发送网络请求的资源,阻塞了其它网络请求的发送,通过对发送网络请求的优先程度进行了更细维度的划分,可以更为合理有效地对网络请求的发送进行调度。

需要说明的是,上述实施例中步骤s303至步骤s307的实施过程,仅用于详细说明确定网络请求的发送方式,并不用于限定本发明。事实上,确定网络的发送方式存在多种,比如,可以先判断当前服务器延时是否符合域名对应的服务器延时等级,如果确定符合后,再判断当前网络速度是否符合域名对应的网络速度等级等。

此外,如果客户端当前所处的网络环境出现网络异常,比如网络流量大、网络拥堵等,则客户端可以推迟发送或者取消发送部分网络请求。因此,在一些可能的实施方式中,域名对应的分类等级除了可以包括网络速度等级、服务器延时等级、重要性等级以及请求响应总时长等级之外,还可以包括网络状态等级。为此,本申请还提供了另一种网络请求调度方法的实施例。

请一并参阅图4,图4示出了本申请实施例中一种网络请求调度方法的流程示意图,该方法具体可以包括:

s401:获取网络请求,该网络请求包括所请求访问的域名。

s402:获取该域名对应的分类等级,该分类等级包括网络速度等级、服务器延时等级、重要性等级、请求响应总时长等级以及网络状态等级。

本实施例中,步骤s401至步骤s402与上一实施例中的步骤s301至步骤s302类似,可参考上一实施例中的相关描述,在此不再赘述。

s403:判断当前网络速度是否符合该域名对应的网络速度等级,如果是,执行步骤s404,如果否,执行步骤s413。

s404:判断当前网络状态是否正常,如果是,则执行步骤s407,如果否,则执行步骤s405。

通常情况下,客户端所处的网络环境为正常状态,但是可能在某一时间段,客户端所处的环境网络中可能会存在网络流量较大或者网络拥堵等情况,造成客户端发送的网络请求无法传输至服务器,或者网络请求在传输至服务器的过程中存在数据丢失等状况,此时,网络状态可能为不正常状态。

s405:获取该域名对应的网络状态等级。

s406:判断该域名对应的网络状态等级是否为支持网络状态不正常,如果是,执行步骤s407,如果否,执行步骤s413。

需要说明的是,网络状态等级,表征了当网络状态为不正常状态时,是否继续发送网络请求。本实施例中,网络状态等级可以划分为两个等级,分别为支持网络状态不正常以及不支持网络状态不正常。如果域名对应的网络状态等级为支持网络状态不正常,表明该网络请求在网络状态为不正常的网络环境下依然进行发送,则可以继续执行步骤s407以及s407的后续步骤。但是如果域名对应的网络状态等级为不支持网络状态不正常,表明在网络状态为不正常的网络环境中不对该网络请求进行发送,则可以推迟一段时间再发送该网络请求或者取消发送该网络请求。

s407:判断当前服务器延时是否符合该域名对应的服务器延时等级,如果是,执行步骤s408,如果否,执行步骤s413。

s408:获取该域名对应的重要性等级。

s409:当域名对应的重要性等级为高,则将网络请求的发送方式确定为优先发送。

s410:当域名对应的重要性等级为低,则将网络请求的发送方式确定为正常发送。

s411:在网络请求发送后,获取网络请求的响应总时长。

s414:判断网络请求的响应总时长,是否大于该网络请求包括的域名所对应的请求响应总时长等级,如果大于,则执行步骤s413。

s413:将网络请求的发送方式确定为取消发送或者推迟发送。

本实施例中,步骤s407至步骤s413与上一实施例中的步骤s304至步骤s310类似,可参考上一实施例中的相关描述,在此不再赘述。

本实施例中,在发送网络请求前,还根据当前的网络状态,以及该网络请求包括的域名对应的网络状态等级,确定该网络请求的发送方式,进一步细化了对发送网络请求的优先程度的划分,从而使得客户端对发送网络请求的调度更加合理有效。

此外,本申请实施例还提供了一种网络请求调度装置,如图5所示,该网络请求调度装置包括:

第一获取模块501,用于获取网络请求,所述网络请求包括所请求访问的域名;

第二获取模块502,用于获取所述域名对应的分类等级,所述分类等级包括请求属性等级以及请求响应总时长等级;

第一确定模块503,用于根据所述域名的请求属性等级,确定所述网络请求的发送方式;

第三获取模块504,用于在所述网络请求发送后,获取所述网络请求的响应总时长;

第二确定模块505,用于如果所述网络请求的响应总时长大于所述域名对应的请求响应总时长等级的时长,则将所述网络请求确定为取消发送或者推迟发送。

在一些可能的实施方式中,所述请求属性等级包括网络速度等级、服务器延时等级以及重要性等级,第一确定模块503包括:

第一判断单元,用于判断当前网络速度是否符合所述域名对应的网络速度等级;

第二判断单元,用于如果所述当前网络速度符合所述域名对应的网络速度等级,判断当前服务器延时是否符合所述域名对应的服务器延时等级;

第一获取单元,在判断当前服务器延时是否符合所述域名对应的服务器延时等级后,用于如果所述当前服务器延时符合所述域名对应的服务器延时等级,获取所述域名对应的重要性等级;

第一确定单元,用于在获取所述域名对应的重要性等级后,当所述域名对应的重要性等级为高,则将所述网络请求确定为优先发送,当所述域名对应的重要性等级为低,则将所述网络请求确定为正常发送;

第二确定单元,用于如果所述当前网络速度不符合所述域名对应的网络速度等级,则将所述网络请求确定为取消发送或者推迟发送;

第三确定单元,用于如果当前服务器延时不符合所述域名对应的服务器延时等级,则将所述网络请求确定为取消发送或者推迟发送。

在一些可能的实施方式中,分类等级除了包括网络速度等级、服务器延时等级、重要性等级以及请求响应总时长等级之外,还包括网络状态等级。

在一些可能的实施方式中,该装置还包括:

第一判断模块,用于如果所述当前网络速度符合所述域名的网络速度等级,判断当前网络状态是否正常;

第一返回模块,用于如果所述当前网络状态正常,则返回所述第一获取单元,执行判断当前服务器延时是否符合所述域名对应的服务器延时等级;

第四获取模块,用于如果所述当前网络状态不正常,获取所述域名对应的网络状态等级;

第二返回模块,用于如果所述域名对应的网络状态等级为支持网络状态不正常,则返回所述第一获取单元,执行所述判断当前服务器延时是否符合所述域名对应的服务器延时等级;

第三确定模块,用于如果所述域名的网络状态等级为不支持网络状态不正常,则将所述网络请求确定为取消发送或者推迟发送。

在一些可能的实施方式中,该装置还包括:

第三返回模块,用于当将所述网络请求确定为推迟发送,在达到预设时长后,返回第一获取模块,执行重新获取该网络请求,并执行所述获取所述域名的分类等级。

本申请实施例可以预先确定各个服务器域名对应的分类等级,在获取到网络请求后,则可以进一步获取到该网络请求中包括的域名所对应的分类等级,该分类等级可以定义在不同情况下网络请求的发送方式,因此可以根据分类等级中的请求属性等级,确定该网络请求的发送方式;同时在网络请求发送后,如果该网络请求的响应总时长超过了分类等级中的请求响应总时长等级,还可以将网络请求确定为取消发送或者推迟发送,以避免网络请求长时间占用发送网络请求的资源。本申请实施例基于所请求的域名对网络请求进行了更细维度的划分,针对不同情况可以更为合理有效地对网络请求的发送进行调度。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1