掌桥专利:专业的专利平台
掌桥专利
首页

动态调整节点流量的方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 18:34:06


动态调整节点流量的方法、装置、电子设备及存储介质

技术领域

本申请涉及大数据技术领域,尤其涉及一种动态调整节点流量的方法、装置、电子设备及存储介质。

背景技术

支付交易发往通道后,若是处理中状态,需要多次向服务节点发送查询请求,直到获取到交易终态。

在现有技术中,通常采用随机轮训的方式进行流量分配,即随机选取一个服务节点,发送查询请求。但是同一个服务会部署到不同的硬件环境中,会出现性能不同的情况。若直接使用简单轮询调度算法,给每个服务节点相同的负载,那么,必然会出现资源浪费的情况。

发明内容

有鉴于此,本申请提供了一种动态调整节点流量的方法、装置、电子设备及存储介质,以解决现有技术中直接使用简单轮询调度算法,给每个服务节点相同的负载,导致出现资源浪费的情况的问题。

为实现上述目的,本申请提供如下技术方案:

本申请第一方面公开了一种动态调整节点流量的方法,包括:

按照预设的时间周期,获取各个可用节点的负载因子数据,其中,所述可用节点为指标积分总和满足预设阈值的节点;

针对每一个所述可用节点,基于所述负载因子数据,计算得到所述可用节点的各个负载因子的权重值;

针对每一个所述可用节点,基于所述各个负载因子的权重值,计算得到所述可用节点的权重值;

若接收到业务调度请求,则基于每一个所述可用节点的权重值,对各个所述可用节点进行流量分配。

可选的,上述的方法,所述获取各个可用节点的负载因子数据之后,还包括:

将所述负载因子数据存入内存缓存。

可选的,上述的方法,所述计算得到所述可用节点的权重值之后,还包括:

对所述可用节点的权重值进行异常检测。

可选的,上述的方法,还包括:

若各个所述可用节点的权重值都一样或者各个所述可用节点的权重值都出现异常,则采用轮询的方式对各个所述可用节点进行流量分配。

本申请第二方面公开了一种动态调整节点流量的装置,包括:

获取单元,用于按照预设的时间周期,获取各个可用节点的负载因子数据,其中,所述可用节点为指标积分总和满足预设阈值的节点;

第一计算单元,用于针对每一个所述可用节点,基于所述负载因子数据,计算得到所述可用节点的各个负载因子的权重值;

第二计算单元,用于针对每一个所述可用节点,基于所述各个负载因子的权重值,计算得到所述可用节点的权重值;

第一分配单元,用于若接收到业务调度请求,则基于每一个所述可用节点的权重值,对各个所述可用节点进行流量分配。

可选的,上述的装置,还包括:

存储单元,用于将所述负载因子数据存入内存缓存。

可选的,上述的装置,还包括:

检测单元,用于对所述可用节点的权重值进行异常检测。

可选的,上述的装置,还包括:

第二分配单元,用于若各个所述可用节点的权重值都一样或者各个所述可用节点的权重值都出现异常,则采用轮询的方式对各个所述可用节点进行流量分配。

本申请第三方面公开了一种电子设备,包括:

一个或多个处理器;

存储装置,其上存储有一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如本申请第一方面中任意一项所述的方法。

本申请第四方面公开了一种计算机存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如本申请第一方面中任意一项所述的方法。

从上述技术方案可以看出,本申请提供的一种动态调整节点流量的方法,首先按照预设的时间周期,获取各个可用节点的负载因子数据,其中,所述可用节点为指标积分总和满足预设阈值的节点。然后针对每一个所述可用节点,基于所述负载因子数据,计算得到所述可用节点的各个负载因子的权重值。接着针对每一个所述可用节点,基于所述各个负载因子的权重值,计算得到所述可用节点的权重值。最后若接收到业务调度请求,则基于每一个所述可用节点的权重值,对各个所述可用节点进行流量分配。由此可知,利用本申请的方法,可以通过周期性地获取可以的服务器节点的负载因子数据,动态地计算出当前每台服务器节点应具有的权值,从而实现动态调整节点流量。解决了现有技术中直接使用简单轮询调度算法,给每个服务节点相同的负载,导致出现资源浪费的情况的问题。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例公开的一种动态调整节点流量的方法的流程图;

图2为本申请另一实施例公开的一种银行系统获取节点流量的示意图;

图3为本申请另一实施例公开的可用节点权重计算的代码图;

图4为本申请另一实施例公开的一种动态调整节点流量的装置的示意图;

图5为本申请另一实施例公开的一种电子设备的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

并且,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

由背景技术可知,在现有技术中,通常采用随机轮训的方式进行流量分配,当时同一个服务会部署到不同的硬件环境,会出现性能不同的情况。若直接使用简单轮询调度算法,给每个服务节点相同的负载,那么,必然会出现资源浪费的情况。

鉴于此,本申请提供了一种动态调整节点流量的方法、装置、电子设备及存储介质,以解决现有技术中直接使用简单轮询调度算法,给每个服务节点相同的负载,导致出现资源浪费的情况的问题。

本申请实施例提供了一种动态调整节点流量的方法,具体如图1所示,具体包括:

S101、按照预设的时间周期,获取各个可用节点的负载因子数据,其中,可用节点为指标积分总和满足预设阈值的节点。

需要说明的是,结合图2,注册服务器按照预设的时间周期,获取各个可用节点的负载因子数据,其中,时间周期可以根据实际情况进行设定,例如5分钟;负载因子根据实际情况进行设定,例如接口5分钟平均耗时/接口5分钟超时率/接口5分钟异常率/CPU负载/内存使用率/网卡负载等;可用节点为指标积分总和满足预设阈值的服务器。具体的,注册服务器按照预设的时间周期,从监控中心获取超时率和平均耗时等信息,从其它平台(比如CMDB)获得机器负载类信息,比如cpu负载/内存使用率等。而远程数据捕获节点则获取各个节点的状态信息上传到状态服务器,由状态服务器上传到监控中心。

可选的,在本申请的另一实施例中,执行步骤S101之后,还可以包括:

将负载因子数据存入内存缓存。

需要说明的是,在按照预设的时间周期,获取各个可用节点的负载因子数据之后,则将负载因子数据存入内存缓存中,以便数据随时查看。

S102、针对每一个可用节点,基于负载因子数据,计算得到可用节点的各个负载因子的权重值。

需要说明的是,在按照预设的时间周期,获取各个可用节点的负载因子数据之后,则针对每一个可用节点,基于当前可以节点的负载因子数据,按照预设的权重计算公式,计算得到可用节点的各个负载因子的权重值。例如,计算可用节点的耗时权重的公式如下:

耗时权重=初始权重*(耗时总和-单台机器平均耗时)/耗时总和

其中,初始权重默认为10。

计算可用节点的超时率权重的公式如下:

超时率权重=初始权重-超时率*初始权重*90%

其中,初始权重默认为10,折算90%是因为100%超时时也可能是因为流量过大导致的,保留小流量试探请求。

S103、针对每一个可用节点,基于各个负载因子的权重值,计算得到可用节点的权重值。

需要说明的是,在针对每一个可用节点,基于负载因子数据,计算得到可用节点的各个负载因子的权重值之后,则针对每一个可用节点,基于当前可以节点的各个负载因子的权重值,按照预设的节点权重值计算公式,计算得到可用节点的权重值,其代码如图3所示。其中,节点权重值计算公式如下:

节点权重=第一负载因子权重值*预设第一负载因子重要程度+第二负载因子权重值*预设第二负载因子重要程度...+第N负载因子权重值*预设第N负载因子重要程度。

具体的,假设耗时权重为10,超时率权重为20,对应的重要程度分别为40%和60%,则当前可以节点权重值为10*0.4+20*0.6=16。

可选的,在本申请的另一实施例中,执行步骤S103之后,还可以包括:

对可用节点的权重值进行异常检测。

需要说明的是,在针对每一个可用节点,基于各个负载因子的权重值,计算得到可用节点的权重值之后,为了数据的准确性,则对各个可用节点的权重值进行异常检测,例如检测可用节点的权重值是否大于预设的阈值,大于则为异常,该阈值可根据实际情况进行设定,例如1。

S104、若接收到业务调度请求,则基于每一个可用节点的权重值,对各个可用节点进行流量分配。

需要说明的是,如果接收到接收到业务调度请求,则基于每一个可用节点的权重值,对各个可用节点进行流量分配,以动态调整各个可用节点的流量。

可选的,在本申请的另一实施例中,上述动态调整节点流量的方法,还可以包括:

若各个可用节点的权重值都一样或者各个可用节点的权重值都出现异常,则采用轮询的方式对各个可用节点进行流量分配。

需要说明的是,如果各个所述可用节点的权重值都一样,或者各个所述可用节点的权重值都出现异常,则采用轮询的方式对各个所述可用节点进行流量分配。

本申请实施例提供的一种动态调整节点流量的方法中,首先按照预设的时间周期,获取各个可用节点的负载因子数据,其中,所述可用节点为指标积分总和满足预设阈值的节点。然后针对每一个所述可用节点,基于所述负载因子数据,计算得到所述可用节点的各个负载因子的权重值。接着针对每一个所述可用节点,基于所述各个负载因子的权重值,计算得到所述可用节点的权重值。最后若接收到业务调度请求,则基于每一个所述可用节点的权重值,对各个所述可用节点进行流量分配。由此可知,利用本申请的方法,可以通过周期性地获取可以的服务器节点的负载因子数据,动态地计算出当前每台服务器节点应具有的权值,从而实现动态调整节点流量。解决了现有技术中直接使用简单轮询调度算法,给每个服务节点相同的负载,导致出现资源浪费的情况的问题。

在本申请的另一实施例还公开了一种动态调整节点流量的装置,如图4所示,具体包括:

获取单元401,用于按照预设的时间周期,获取各个可用节点的负载因子数据,其中,可用节点为指标积分总和满足预设阈值的节点。

第一计算单元402,用于针对每一个可用节点,基于负载因子数据,计算得到可用节点的各个负载因子的权重值。

第二计算单元403,用于针对每一个可用节点,基于各个负载因子的权重值,计算得到可用节点的权重值。

第一分配单元404,用于若接收到业务调度请求,则基于每一个可用节点的权重值,对各个可用节点进行流量分配。

本实施例中,获取单元401、第一计算单元402、第二计算单元403以及第一分配单元404的具体执行过程,可参见对应上述图1方法实施例内容,此处不再赘述。

本申请实施例提供的一种动态调整节点流量的装置中,首先获取单元401按照预设的时间周期,获取各个可用节点的负载因子数据,其中,所述可用节点为指标积分总和满足预设阈值的节点。然后第一计算单元402针对每一个所述可用节点,基于所述负载因子数据,计算得到所述可用节点的各个负载因子的权重值。接着第二计算单元403针对每一个所述可用节点,基于所述各个负载因子的权重值,计算得到所述可用节点的权重值。最后第一分配单元404若接收到业务调度请求,则基于每一个所述可用节点的权重值,对各个所述可用节点进行流量分配。由此可知,利用本申请的方法,可以通过周期性地获取可以的服务器节点的负载因子数据,动态地计算出当前每台服务器节点应具有的权值,从而实现动态调整节点流量。解决了现有技术中直接使用简单轮询调度算法,给每个服务节点相同的负载,导致出现资源浪费的情况的问题。

可选的,在本申请的另一实施例中,上述动态调整节点流量的装置,还可以包括:

存储单元,用于将负载因子数据存入内存缓存。

本实施例中,存储单元的具体执行过程,可参见对应上述方法实施例内容,此处不再赘述。

可选的,在本申请的另一实施例中,上述动态调整节点流量的装置,还可以包括:

检测单元,用于对可用节点的权重值进行异常检测。

本实施例中,检测单元的具体执行过程,可参见对应上述方法实施例内容,此处不再赘述。

可选的,在本申请的另一实施例中,上述动态调整节点流量的装置,还可以包括:

第二分配单元,用于若各个可用节点的权重值都一样或者各个可用节点的权重值都出现异常,则采用轮询的方式对各个可用节点进行流量分配。

本实施例中,第二分配单元的具体执行过程,可参见对应上述方法实施例内容,此处不再赘述。

本申请另一实施例还提供了一种电子设备,如图5所示,具体包括:

一个或多个处理器501。

存储装置502,其上存储有一个或多个程序。

当一个或多个程序被一个或多个处理器501执行时,使得一个或多个处理器501实现如上述实施例中任意一项方法。

本申请另一实施例还提供了计算机存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现如上述实施例中任意一项方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

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

相关技术
  • 加密恶意流量检测方法、装置、电子设备及存储介质
  • 调整订单状态的方法、装置及存储介质、电子设备
  • 音效调整方法、装置、电子设备以及存储介质
  • 音效调整方法、装置、电子设备以及存储介质
  • 音效调整方法、装置、电子设备以及存储介质
  • 网络中流量动态调整方法、系统、电子设备及存储介质
  • 网络中流量动态调整方法、系统、电子设备及存储介质
技术分类

06120115616554