一种网络请求的处理方法及装置与流程

文档序号:16434380发布日期:2018-12-28 20:23阅读:199来源:国知局
一种网络请求的处理方法及装置与流程

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

背景技术

随着互联网技术的快速发展和日益普及,网络产品所能够提供的资源越来越丰富,用户访问量也越来越大。这使得在现有网站应用服务器的存储和处理能力、带宽资源条件下,应用服务器的性能越来越难以保障。大数据量、高并发访问、频繁宕机等一系列问题严重影响了应用服务的响应效率。特别是随着容器化、服务化等新技术的出现,现有应用服务器处理能力已经难以适应大规模高并发的用户访问需求。单纯依靠提高物理硬件配置或者增加集群节点的手段,不仅投入成本高,而且无法从根本上改善服务响应的性能。

在现有技术中,当服务器压力剧增的情况下,在服务器无法处理接收到的客户端发送的网络请求时,可以基于随机拒绝的方式,将接收到的网络请求进行降级处理,该种方式实现过程简单、对服务器压力有一定的缓解效果。但是,该种方式无法保障网络服务质量和用户体验,因此,如何更为合理有效地完成对网络请求的处理是亟待解决的技术问题。



技术实现要素:

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

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

一种网络请求的处理方法,所述方法包括:

获取网络请求;

读取所述网络请求中包括的预先设置的响应优先级参数;

计算所述网络请求的预计资源消耗量;

根据所述网络请求的响应优先级参数以及所述网络请求的预计资源消耗量,确定所述网络请求的响应等级;

如果所述网络请求的响应等级达到预设阈值,对所述网络请求进行延迟处理。

在一种可能的实现方式中,所述计算所述网络请求的预计资源消耗量,包括:

获取所述网络请求的预计处理器资源消耗量与所述网络请求的预计内存资源消耗量;

将所述网络请求的预计处理器资源消耗量与所述网络请求的预计内存资源消耗量相加,得到所述网络请求的预计资源消耗量。

在一种可能的实现方式中,所述获取所述网络请求的预计处理器资源消耗量与所述网络请求的预计内存资源消耗量,包括:

获取所述网络请求在历史响应过程中的实际处理器资源消耗量,计算得到所述实际处理器资源消耗量的平均值作为所述网络请求的预计处理器资源消耗量;

获取所述网络请求在历史响应过程中的实际内存资源消耗量,计算得到所述实际内存资源消耗量的平均值作为所述网络请求的预计内存资源消耗量。

在一种可能的实现方式中,所述根据所述网络请求的响应优先级参数以及所述网络请求的预计资源消耗量,确定所述网络请求的响应等级,包括:

将所述网络请求的响应优先级参数以及所述网络请求的预计资源消耗量进行加权求和,得到所述网络请求的响应等级。

在一种可能的实现方式中,所述将所述网络请求的响应优先级参数以及所述网络请求的预计资源消耗量进行加权求和,得到所述网络请求的响应等级,包括:

将所述网络请求的响应优先级参数取倒数后与第一权重值相乘,得到第一参数值;

将所述网络请求的预计资源消耗量除以归一化参数后与第二权重值相乘,得到第二参数值,所述归一化参数为各个网络请求的预计资源消耗量中的最大值;

将所述第一参数值与所述第二参数值相加,得到所述网络请求的响应等级。

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

如果所述网络请求的响应等级未达到预设阈值,将所述网络请求发送给对应的请求执行服务器进行执行。

在一种可能的实现方式中,在所述获取网络请求之后,所述方法还包括:

根据当前服务器负载判断是否需要进行网络请求的延迟处理;

如果需要进行网络请求的延迟处理,执行所述读取所述网络请求中包括的预先设置的响应优先级参数以及后续步骤;

如果不需要进行网络请求的延迟处理,将所述网络请求发送给对应的请求执行服务器进行执行。

一种网络请求的处理装置,所述装置包括:

获取单元,用于获取网络请求;

读取单元,用于读取所述网络请求中包括的预先设置的响应优先级参数;

计算单元,用于计算所述网络请求的预计资源消耗量;

确定单元,用于根据所述网络请求的响应优先级参数以及所述网络请求的预计资源消耗量,确定所述网络请求的响应等级;

处理单元,用于如果所述网络请求的响应等级达到预设阈值,对所述网络请求进行延迟处理。

在一种可能的实现方式中,所述计算单元具体包括:

获取子单元,用于获取所述网络请求的预计处理器资源消耗量与所述网络请求的预计内存资源消耗量;

计算子单元,用于将所述网络请求的预计处理器资源消耗量与所述网络请求的预计内存资源消耗量相加,得到所述网络请求的预计资源消耗量。

在一种可能的实现方式中,所述获取子单元具体包括:

第一获取子单元,用于获取所述网络请求在历史响应过程中的实际处理器资源消耗量,计算得到所述实际处理器资源消耗量的平均值作为所述网络请求的预计处理器资源消耗量;

第二获取子单元,用于获取所述网络请求在历史响应过程中的实际内存资源消耗量,计算得到所述实际内存资源消耗量的平均值作为所述网络请求的预计内存资源消耗量。

在一种可能的实现方式中,所述确定单元具体用于,将所述网络请求的响应优先级参数以及所述网络请求的预计资源消耗量进行加权求和,得到所述网络请求的响应等级。

在一种可能的实现方式中,所述确定单元具体包括:

第一计算子单元,用于将所述网络请求的响应优先级参数取倒数后与第一权重值相乘,得到第一参数值;

第二计算子单元,用于将所述网络请求的预计资源消耗量除以归一化参数后与第二权重值相乘,得到第二参数值,所述归一化参数为各个网络请求的预计资源消耗量中的最大值;

第三计算子单元,用于将所述第一参数值与所述第二参数值相加,得到所述网络请求的响应等级。

在一种可能的实现方式中,所述装置还包括:

第一发送单元,用于如果所述网络请求的响应等级未达到预设阈值,将所述网络请求发送给对应的请求执行服务器进行执行。

在一种可能的实现方式中,所述装置还包括:

判断单元,用于在获取网络请求之后,根据当前服务器负载判断是否需要进行网络请求的延迟处理;

触发单元,用于如果所述判断单元的判断结果为需要进行网络请求的延迟处理,触发执行所述读取单元读取所述网络请求中包括的预先设置的响应优先级参数以及后续步骤;

第二发送单元,用于如果所述判断单元的判断结果为如果不需要进行网络请求的延迟处理,将所述网络请求发送给对应的请求执行服务器进行执行。

一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的网络请求的处理方法。

一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述的网络请求的处理方法。

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

本申请实施例首先获取网络请求中预先设置的响应优先级参数以及该网络请求可能消耗的资源量,根据网络请求的响应优先级参数以及网络请求的预计资源消耗量,确定出网络请求的响应等级,当网络请求的响应等级达到预设阈值,对网络请求进行延迟处理,即有选择地延迟处理优先级等级低、资源消耗量大的网络请求,从而保证服务器可以优先处理优先级等级高、资源消耗量较小的网络请求,以最大化提升网络服务质量和用户体验,实现合理有效地完成对网络请求的处理。

附图说明

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

图2为本申请实施例提供的一种网络请求处理方法流程图;

图3为本申请实施例提供的一种网络请求处理方法的示例性流程图;

图4为本申请实施例提供的一种计算网络请求的预计资源消耗量方法流程图;

图5为本申请实施例提供的一种获得响应等级方法流程图;

图6为本申请实施例提供的另一种网络请求的处理方法的示例性流程图;

图7为本申请实施例提供的一种网络请求的处理装置结构图。

具体实施方式

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

为便于理解本申请提供的技术方案,下面将对本申请技术方案的研究背景进行简单说明。

发明人在对传统的缓解服务器压力的方法研究中发现,当服务器处于压力剧增的状态下,无法及时处理终端发送的网络请求时,通常情况下基于随机拒绝的方式,将接收到的网络请求进行降级处理,也就是延迟处理网络请求,从而缓解服务器压力。然而,基于随机拒绝的方式没有考虑不同网络请求的优先级、服务重要程度以及响应该网络请求对服务器的资源消耗等影响因素,可能会导致优先级高、资源消耗低的网络请求被拒绝,而一些优先级低、资源消耗高的网络请求被服务器响应处理,进而使得服务器所提供的核心业务的服务质量和用户体验均无法保障。

基于此,本申请实施提供了一种网络请求的处理方法及装置,首先获取网络请求中预先设置的响应优先级参数以及该网络请求可能消耗的资源量,根据网络请求的响应优先级参数以及网络请求的预计资源消耗量,确定出网络请求的响应等级,当网络请求的响应等级达到预设阈值,对网络请求进行延迟处理,即有选择地延迟处理优先级等级低、资源消耗量大的网络请求,从而保证服务器可以优先处理优先级等级高、资源消耗量较小的网络请求,以最大化提升网络服务质量和用户体验,实现合理有效地完成对网络请求的处理。

参见图1,该图为本申请实施例提供的示例性应用场景的框架示意图。其中,本申请实施例提供的网络请求处理方法可以应用于服务器20,服务器20可以接收终端10发送的网络请求,并从接收的网络请求中读取预先设置的响应优先级参数,同时计算该网络请求对服务器20的预计资源消耗量,然后根据网络请求的响应优先级参数以及预计资源消耗量确定网络请求的响应等级,以判断当响应等级大于预设阈值时,对该网络请求进行延迟处理,从而缓解服务器的负荷,提高服务器核心业务的服务质量。

其中,网络请求是指用户通过终端10向服务器发送的服务请求,例如,用户想要通过终端10登录某电商平台时,终端10根据用户在终端10页面上的触发操作向服务器20发送的登录请求,也可以是终端10根据用户在终端页面上的触发操作向服务器20发送的购买请求。当然,还可以包括文件传输请求以及发送电子邮件请求等等,本实施例对网络请求的类型不进行限定。

本领域技术人员可以理解,图1所示的框架示意图仅是本申请的实施方式可以在其中得以实现的一个示例,本申请实施方式的适用范围不受到该框架任何方面的限制。

需要注意的是,本申请实施例中的终端10可以是现有的、正在研发的或将来研发的、能够通过任何形式的有线和/或无线连接(例如,wi-fi、lan、蜂窝、同轴电缆等)实现与服务器20交互的任何用户设备,包括但不限于:现有的、正在研发的或将来研发的智能手机、非智能手机、平板电脑、膝上型个人计算机、桌面型个人计算机、小型计算机、中型计算机、大型计算机等。还需要注意的是,本申请实施例中服务器20可以是现有的、正在研发的或将来研发的、能够向用户提供信息推荐的应用服务的设备的一个示例。本申请的实施方式在此方面不受任何限制。

为便于理解本申请提供的技术方案,下面将结合附图对本申请实施例提供的网络请求的处理方法进行详细说明。

参见图2,该图为本申请实施例提供的一种网络请求处理方法流程图,如图2所示,该方法可以包括:

s201:获取网络请求。

通常情况下,当用户在终端所搭载的客户端上进行点击控件、长按页面等操作时,客户端会基于用户的操作而生成相应的网络请求,并会将该网络请求发送至服务器,以请求服务器根据该网络请求执行相应的处理。在本实施例中,当服务器在响应终端发送的网络请求之前,可以获取该网络请求,以便根据该网络请求的相关信息确定是否响应该网络请求。其中,网络请求可以包括传输协议、请求口令、请求时间戳以及加密地请求数据等内容,其中请求口令和时间戳用于防止网络请求被攻击篡改,加密地请求数据可以用于表征需要服务器提供的服务。

s202:读取网络请求中包括的预先设置的响应优先级参数。

本实施例中,网络请求中可以包括预先设置的响应优先级参数,为了基于网络请求的响应优先级处理网络请求,需要读取网络请求中的响应优先级参数。

在实际应用中,可以预先对服务器中各类网络请求进行响应优先级设置,通过在网络请求中设置tag标签的形式预设网络请求的响应优先级,具体实现时可以根据网络请求重要程度和/或敏感因素进行响应优先级设置,例如,对于语音、视频等需要实时传输的网络请求对应的响应优先级高,而电子邮件对于时间敏感较低的网络请求对应的响应优先级较低,以便当服务器同时接收视频网络请求和电子邮件网络请求时,可以优先处理优先级较高的网络请求,保证服务质量和用户体验。

对网络请求中预先设置的响应优先级可以采用响应优先级参数进行标识,在具体实现时可以利用字符标识服务器的响应优先级,例如,1标识最高优先级、0.5标识中等优先级、0.1标识最低优先级。在实际应用中,可以根据不同情况设置响应优先级的等级以及不同的响应优先级参数,本申请实施例对响应优先级的等级以及响应优先级参数的表现形式不进行限定。

s203:计算网络请求的预计资源消耗量。

本实施例中,当服务器获取客户端发送的网络请求时,需要预计响应该网络请求时,对服务器的资源消耗量。其中,资源消耗量可以包括服务器处理网络请求时,cpu(centralprocessingunit,中央处理器)的资源消耗量以及内存的资源消耗量,关于计算网络请求的预计资源消耗量的具体实现方式将在后续实施例说明。

需要说明的是,本实施例对于s202和s203之间的执行顺序不进行限定,在实际应用中,可以先执行s202再执行s203,也可以先执行s203再执行s202,还可以将s202以及s203并行执行。

s204:根据网络请求的响应优先级参数以及网络请求的预计资源消耗量,确定网络请求的响应等级。

本实施例中,在服务器响应终端发送的网络请求之前,需要确定该网络请求的响应等级,该响应等级可以根据网络请求的响应优先级参数以及响应该网络请求对服务器的预计资源消耗量进行确定。则网络请求的响应等级是对网络请求的重要程度以及预计所占用资源的的综合评价指标,服务器可以根据该响应等级决定是否立即响应该网络请求。

其中,关于根据网络请求的响应优先级参数以及预计资源消耗量确定网络请求的响应等级的具体实现方式将在后续实施例说明。

s205:如果网络请求的响应等级达到预设阈值,对网络请求进行延迟处理。

本实施例中,当网络请求的响应等级大于或等于预设阈值时,可以认为该网络请求的响应优先级较低以及对服务器的资源消耗量较大,为缓解服务器的压力,可以将该网络请求加入延迟队列中进行排队,延迟处理该网络请求,以使得服务器可以优先处理响应优先级高且对服务器资源消耗量低的网络请求,以保障最大化的提升服务响应。其中,预设阈值可以为经验值常数,用于标识响应等级的上限阈值,预设阈值可以根据实际使用情况进行设置,本实施例对预设阈值的设定不进行限定。

另外,当网络请求的响应等级未达到预设阈值时,本实施例还可以将网络请求发送给对应的请求执行服务器进行执行。

可以理解的是,当网络请求的响应等级未达到预设阈值时,表明该网络请求的响应优先级较高且对服务器资源消耗量较低,因此,服务器可以及时处理该网络请求,提高服务器的响应效率,提升用户体验。在网络请求的实际处理过程中,可以将该网络请求发送给对应的请求执行服务器进行执行,例如,将登录请求发送给登录服务器执行,将获取视频的请求发送给视频服务器执行等。

由上述实施例可知,本申请实施例首先获取网络请求中预先设置的响应优先级参数以及该网络请求可能消耗的资源量,根据网络请求的响应优先级参数以及网络请求的预计资源消耗量,确定出网络请求的响应等级,当网络请求的响应等级达到预设阈值,对网络请求进行延迟处理,即有选择地延迟处理优先级等级低、资源消耗量大的网络请求,从而保证服务器可以优先处理优先级等级高、资源消耗量较小的网络请求,以最大化提升网络服务质量和用户体验,实现合理有效地完成对网络请求的处理。

另外,由于本申请实施例综合考虑网络请求的优先级以及对服务器的资源消耗量,以使得服务器在压力剧增的情况下,可以根据综合评估值即响应等级决定该网络请求是否被延迟处理,以使得服务器可以优先响应优先级高、资源消耗量小的网络请求,因此,本申请实施例还可以应用于大规模并发服务访问场景,尤其对于微服务架构中服务网关面对大量服务请求的情况,通过延迟处理以降低服务器压力,提升用户体验。

参见图3,该图为本申请实施例提供的一种网络请求处理方法的示例性流程图,如图3所示,首先获取终端发送的网络请求,读取该网络请求中包括的响应优先级参数以及计算该网络请求对服务器预计资源消耗量,然后,根据上述响应优先级参数以及预计资源消耗量确定该网络请求的响应等级,当响应等级达到预设阈值时,对该网络请求进行延迟处理,可以将该网络请求加入延迟队列中进行排队,从而使得服务器可以响应优先级高、资源消耗相对较低的响应网络请求,以保障最大化的提升服务响应。

通过上述实施例可知,当获取终端发送的网络请求时,需要计算网络请求的预计资源消耗量,在本申请实施例中,提供了一种计算网络请求的预计资源消耗量的实现方法,下面将结合附图对该计算方法进行说明。

参见图4,该图为本申请实施例提供的计算网络请求的预计资源消耗量方法流程图,如图4所示,该方法可以包括:

s401:获取网络请求的预计处理器资源消耗量与网络请求的预计内存资源消耗量。

本实施例中,为计算某网络请求对服务器的预计资源消耗量,可以获取该网络请求的预计处理器资源消耗量以及网络请求的预计内存资源消耗量,也就是说,预计该网络请求对处理器的资源消耗量以及对内存的资源消耗量。

其中,对于获取网络请求的预计处理器资源消耗量,本申请实施例提供一种可能的实现方式,具体为,获取网络请求在历史响应过程中的实际处理器资源消耗量,计算得到实际处理器资源消耗量的平均值作为该网络请求的预计处理器资源消耗量。

在实际应用中,当服务器获取终端发送的网络请求时,可以根据网络请求中包括的请求类型,获取服务器在历史响应过程中,处理同一类型的网络请求时实际对处理器的资源消耗量,然后可以利用同一类型的网络请求对应的实际处理器资源消耗量进行相加并求平均值,将计算的平均值作为该网络请求的预计处理器资源消耗量。其中,处理器资源消耗量是指服务器响应该网络请求对cpu的消耗量。

例如,服务器接收终端发送的网络请求a,根据该网络请求的类型获取服务器在历史响应过程中处理网络请求a的实际cpu资源消耗量,假设共获取n个实际cpu资源消耗量,分别为s1、s2、s3、…、sn,则当前网络请求的预计cpu资源消耗量sreq=(s1+s2+s3+sn)/n。

需要说明的是,本实施例既可以利用历史响应过程中同一类型的网络请求中所有的实际处理器资源消耗量获得网络请求的预计处理器资源消耗量,也可以利用历史响应过程中同一类型的网络请求中部分实际处理器资源消耗量,获得网络请求的预计处理器资源消耗量,本实施例对利用实际处理器资源消耗量的数据量不进行限定。

其中,对于获取网络请求的预计内存资源消耗量,本申请实施例提供一种可能的实现方式,具体为,获取网络请求在历史响应过程中的实际内存资源消耗量,计算得到实际内存资源消耗量的平均值作为网络请求的预计内存资源消耗量。

在实际应用中,当服务器获取终端发送的网络请求时,可以根据网络请求中包括的请求类型,获取服务器在历史响应过程中,处理同一类型的网络请求时实际对内存资源消耗量,然后可以利用同一类型的网络请求对应的实际内存资源消耗量进行相加求平均值,将计算的平均值作为该网络请求的预计内存资源消耗量。

例如,服务器接收终端发送的网络请求a,根据该网络请求的类型获取服务器在历史响应过程中处理网络请求a的实际内存资源消耗量,假设共获取n个实际内存资源消耗量,分别为m1、m2、m3、…、mn,则当前网络请求的预计内存资源消耗量mreq=(m1+m2+m3+…+mn)/n。

需要说明的是,本实施例既可以利用历史响应过程中同一类型的网络请求中所有的实际内存消耗量获得网络请求的预计内存消耗量,也可以利用历史响应过程中同一类型的网络请求中部分实际内存消耗量,获得网络请求的预计内存消耗量,本实施例对利用实际内存消耗量的数据量不进行限定。

s402:将网络请求的预计处理器资源消耗量与网络请求的预计内存资源消耗量相加,得到网络请求的预计资源消耗量。

本实施例中,将获取的网络请求的预计处理器资源消耗量以及预计内存资源消耗量进行相加,获得该网络请求的预计资源消耗量,以便根据预计资源消耗量以及响应优先级参数确定网络请求的响应等级。例如,预计资源消耗量q=sreq+mreq。

通过上述实施例,可以通过获取网络请求的预计处理器资源消耗量以及预计内存消耗量得到网络请求的预计资源消耗量,以使得服务器根据网络请求的预计资源消耗量以及网络请求中预先设置的响应优先级参数确定网络请求的响应等级,进而使得服务器根据相应等级确定是否需要对该网络请求进行延迟处理,以保障最大化的提升服务响应。

在本申请实施例一种可能的实现方式中,对于根据网络请求的响应优先级参数以及网络请求的预计资源消耗量,确定网络请求的响应等级,具体可以为,将网络请求的响应优先级参数以及网络请求的预计资源消耗量进行加权求和,得到网络请求的响应等级。

在实际应用中,将通过上述实施例获得的网络请求的预计资源消耗量以及网络请求中包括的响应优先级参数进行加权求和,以获得网络请求的响应等级,以使得服务器根据该响应等级确定是否需要对该网络请求进行延迟处理。

在本申请实施例中,关于将网络请求的响应优先级参数以及预计资源消耗量进行加权求和获得网络请求的响应等级提供了一种可能的实现方法,下面将结合附图该方法进行说明。

参见图5,该图为本申请实施例提供的获得响应等级方法流程图,如图5所示,该方法可以包括:

s501:将网络请求的响应优先级参数取倒数后与第一权重值相乘,得到第一参数值。

本实例中,根据s202可以获取网络请求中包括的预先设置的响应优先级参数,然后将该响应优先级参数取倒数,在与第一权重值相乘,获得第一参数值。其中,第一权重值可以根据实际情况以及经验进行设定,位于[0,1],即为小于1的正数。例如,某网络请求的响应优先级参数为p,第一权重值为α,则

s502:将网络请求的预计资源消耗量除以归一化参数后与第二权重值相乘,得到第二参数值。

本实施例中,将计算获得网络请求的预计资源消耗量进行归一化处理,然后将归一化后的预计资源消耗量与第二权重值相乘,获得第二参数值。

其中,归一化参数为各个网络请求的预计资源消耗量中的最大值,也就是说,该归一化参数为服务器可以响应的所有网络请求的预计资源消耗量中最大值,即归一化参数=max{qi},qi为第i个网络请求的预计资源消耗量,i的取值为1至w,w为服务器获取的网络请求的总数量,其中,每个网络请求的预计资源消耗量均可以根据上述实施例提供的方式计算得到,例如,服务器共获取三个网络请求a、b和c,其中网络请求c的预计资源消耗量qc最大,则qc为归一化参数。第二权重值为小于1的正数,可以根据实际情况以及经验进行设定,另外,还可以设置第一权重值与第二权重值相加为1。例如,如果认为网络请求的响应等级和网络请求的预计资源消耗量具有同等重要程度,此时可以设定α=β=0.5;如果当前资源较为紧张,需要延迟处理资源消耗量较大的网络请求,则可以将β设置较大值,如α=0.4、β=0.6,α=0.3、β=0.7等;如果当前资源不紧张,需要延迟处理优先级较低的网络请求,此时可以将设置α较大值,如α=0.6、β=0.4,α=0.7、β=0.3等。,本申请实施例对第一权重值和第二权重值的取值不进行限定。

结合以上说明,计算第二参数值的过程例如,服务器共获取三个网络请求a、b和c,网络请求a的预设资源消耗量为qa,qc为归一化参数,第二权重值为β,则

s503:将所述第一参数值与所述第二参数值相加,得到所述网络请求的响应等级。

本实施例中,将通过上述步骤获得的第一参数和第二参数进行求和,得到网络请求的响应等级。例如,网络请求的响应等级为l,则其中lt为网络请求t的响应等级;pt为网络请求t的响应优先级参数,qt为网络请求t的预计资源消耗量,qi为第i个网络请求的预计资源消耗量,i的取值为1至w,w为服务器获取的网络请求的总数量,max{qi}为服务器获取的所有网络请求的预计资源消耗量中的最大值。

通过上述实施例,通过对网络请求的响应优先级参数进行相应处理获得第一参数值以及对网络请求的预计资源消耗量进行对应的处理获得第二参数值,然后将第一参数值和第二参数值相加获得网络请求的响应等级,以使得服务器根据该响应等级判断是否需要对该网络请求进行延迟处理,以保障最大化的提升服务响应。

在本申请实施例中,当服务器获取网络请求后,还可以先根据当前服务器的工作负载判断是否需要对网络请求进行延迟处理,在服务器的工作负荷较小的情况下可以不对网络请求进行延迟处理,以提高服务响应效率。

基于此,本申请实施例提供的方法还可以包括:根据当前服务器负载判断是否需要进行网络请求的延迟处理;如果需要进行网络请求的延迟处理,则执行读取网络请求中包括的预先设置的响应优先级参数以及后续步骤;如果不需要进行网络请求的延迟处理,将网络请求发送给对应的请求执行服务器进行执行。

本实施例中,当获取网络请求后,首先判断当前服务器的负荷是否大于阈值,服务器的负荷可以根据网络请求的并发数量确定,也可以根据服务器当前的资源占用情况确定。如果当前服务器的负荷大于阈值,表明当前服务器的工作状态已经饱和,无法继续响应该网络请求,则对该网络请求进行延迟处理;如果不大于阈值,表明服务器还有能力响应该网络请求,则将该网络请求发送给对应的请求执行服务器进行执行,从而提高服务器响应效率以及提升用户体验。

为了便于理解上述实施例,参见图6,该图为本申请实施例提供的另一种网络请求的处理方法的示例性流程图。

如图6所示,首先获取网络请求,根据当前服务器的负荷判断是否启动延迟处理,如果服务器工作不繁忙,则不需要启动延迟处理,直接将网络请求发送给对应的请求执行服务器进行执行,响应该网络请求。如果服务器工作繁忙,需要启动延迟处理,则读取该网络请求的响应优先级参数,并计算该网络请求的预计资源消耗量,然后根据响应优先级参数以及预计资源消耗量确定该网络请求的响应等级,判断该响应等级是否大于预设阈值,如果响应等级大于预设阈值,则将该网络请求加入延迟队列,进行延迟处理;如果响应等级不大于预设阈值,则将该网络请求发送给对应的请求执行服务器响应该网络请求。从而实现合理有效地完成对网络请求的处理,最大化提升网络服务质量和用户体验。

基于上述方法实施例,本申请还提供了一种网络请求的处理装置,下面将结合附图对该装置进行说明。

参见图7,其示出了本申请实施例提供的一种网络请求的处理装置结构图,可以包括:

获取单元701,用于获取网络请求;

读取单元702,用于读取所述网络请求中包括的预先设置的响应优先级参数;

计算单元703,用于计算所述网络请求的预计资源消耗量;

确定单元704,用于根据所述网络请求的响应优先级参数以及所述网络请求的预计资源消耗量,确定所述网络请求的响应等级;

处理单元705,用于如果所述网络请求的响应等级达到预设阈值,对所述网络请求进行延迟处理。

在一些可能的实现方式中,所述计算单元具体包括:

获取子单元,用于获取所述网络请求的预计处理器资源消耗量与所述网络请求的预计内存资源消耗量;

计算子单元,用于将所述网络请求的预计处理器资源消耗量与所述网络请求的预计内存资源消耗量相加,得到所述网络请求的预计资源消耗量。

在一些可能的实现方式中,所述获取子单元具体包括:

第一获取子单元,用于获取所述网络请求在历史响应过程中的实际处理器资源消耗量,计算得到所述实际处理器资源消耗量的平均值作为所述网络请求的预计处理器资源消耗量;

第二获取子单元,用于获取所述网络请求在历史响应过程中的实际内存资源消耗量,计算得到所述实际内存资源消耗量的平均值作为所述网络请求的预计内存资源消耗量。

在一些可能的实现方式中,所述确定单元具体用于,将所述网络请求的响应优先级参数以及所述网络请求的预计资源消耗量进行加权求和,得到所述网络请求的响应等级。

在一些可能的实现方式中,所述确定单元具体包括:

第一计算子单元,用于将所述网络请求的响应优先级参数取倒数后与第一权重值相乘,得到第一参数值;

第二计算子单元,用于将所述网络请求的预计资源消耗量除以归一化参数后与第二权重值相乘,得到第二参数值,所述归一化参数为各个网络请求的预计资源消耗量中的最大值;

第三计算子单元,用于将所述第一参数值与所述第二参数值相加,得到所述网络请求的响应等级。

在一些可能的实现方式中,所述装置还包括:

第一发送单元,用于如果所述网络请求的响应等级未达到预设阈值,将所述网络请求发送给对应的请求执行服务器进行执行。

在一些可能的实现方式中,所述装置还包括:

判断单元,用于在获取网络请求之后,根据当前服务器负载判断是否需要进行网络请求的延迟处理;

触发单元,用于如果所述判断单元的判断结果为需要进行网络请求的延迟处理,触发执行所述读取单元读取所述网络请求中包括的预先设置的响应优先级参数以及后续步骤;

第二发送单元,用于如果所述判断单元的判断结果为如果不需要进行网络请求的延迟处理,将所述网络请求发送给对应的请求执行服务器进行执行。

需要说明的是,本实施例中各单元的具体实现可以参见上述方法实施例,本实施例在此不再赘述。

另外,本申请实施例还提供一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的网络请求的处理方法。

本申请实施例还提供一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述的网络请求的处理方法。

由上述实施例可以看出,本申请实施例首先获取网络请求中预先设置的响应优先级参数以及该网络请求可能消耗的资源量,根据网络请求的响应优先级参数以及网络请求的预计资源消耗量,确定出网络请求的响应等级,当网络请求的响应等级达到预设阈值,对网络请求进行延迟处理,即有选择地延迟处理优先级等级低、资源消耗量大的网络请求,从而保证服务器可以优先处理优先级等级高、资源消耗量较小的网络请求,以最大化提升网络服务质量和用户体验,实现合理有效地完成对网络请求的处理。

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

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

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

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

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

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