CN114979276A - 一种资源动态调度方法、装置、设备及存储介质 - Google Patents

一种资源动态调度方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114979276A
CN114979276A CN202210521406.9A CN202210521406A CN114979276A CN 114979276 A CN114979276 A CN 114979276A CN 202210521406 A CN202210521406 A CN 202210521406A CN 114979276 A CN114979276 A CN 114979276A
Authority
CN
China
Prior art keywords
gateway
type
flow
determining
called service
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.)
Granted
Application number
CN202210521406.9A
Other languages
English (en)
Other versions
CN114979276B (zh
Inventor
陈发兴
杨旭荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202210521406.9A priority Critical patent/CN114979276B/zh
Publication of CN114979276A publication Critical patent/CN114979276A/zh
Application granted granted Critical
Publication of CN114979276B publication Critical patent/CN114979276B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种资源动态调度方法、装置、设备及存储介质,涉及计算机技术领域。该方法包括:获取与被调用服务对应的网关流量;根据所述网关流量的流量方向确定所述网关流量的流量类型,并根据预先建立的流量类型与指标类型之间的映射关系,确定出当前所述被调用服务对应的目标指标类型;基于所述网关流量和所述目标指标类型,确定所述被调用服务当前的性能指标值;基于所述性能指标值判断当前所述被调用服务是否满足预设资源调度条件,如果满足则确定所述被调用服务对应的目标容器,并根据所述性能指标值和预设扩缩容策略对所述目标容器的计算资源进行扩容或缩容操作。提高了资源调度条件判断的准确性,并且能够支持更加灵活的策略配置。

Description

一种资源动态调度方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,特别涉及一种资源动态调度方法、装置、设备及存储介质。
背景技术
目前,对弹性资源(支持弹性伸缩的服务或中间件)进行资源调整时,通常采用Kubernetes弹性伸缩方案,Kubernetes在多个维度、多个层次提供了不同的组件来满足不同的伸缩场景;其中主要有三种弹性伸缩:CA(Cluster Autoscaler)为Node级别自动扩/缩容cluster-autoscaler组件;HPA(Horizontal Pod Autoscaler):Pod个数自动扩/缩容;VPA(Vertical Pod Autoscaler):Pod配置自动扩/缩容addon-resizer组件,主要针对CPU、内存。但是Kubernetes现在的方案主要是基于cpu,内存的指标,对应用级别细粒度的负载指标支持并不友好,尽管HPA组件提供了自定义指标的功能,它的可扩展性整体上还是不够灵活,指标计算滞后,自定义指标的可插拔性也不够友好;并且,Kubernetes现在的指标分析以及扩容都具有延迟性,且扩容本身也需要一定的时间,会导致有部分API(ApplicationProgramming Interface,应用程序接口)还是在扩容前或者扩容中失败。
发明内容
有鉴于此,本发明的目的在于提供一种资源动态调度方法、装置、设备及介质,提高了资源调度条件判断的准确性,能够提前通知扩缩容服务对当前被调用服务进行扩容或缩容操作。其具体方案如下:
第一方面,本申请公开了一种资源动态调度方法,包括:
获取与被调用服务对应的网关流量;
根据所述网关流量的流量方向确定所述网关流量的流量类型,并根据预先建立的流量类型与指标类型之间的映射关系,确定出当前所述被调用服务对应的目标指标类型;
基于所述网关流量和所述目标指标类型,确定所述被调用服务当前的性能指标值;
基于所述性能指标值判断当前所述被调用服务是否满足预设资源调度条件,如果满足则确定所述被调用服务对应的目标容器,并根据所述性能指标值和预设扩缩容策略对所述目标容器的计算资源进行扩容或缩容操作。
可选的,所述根据所述网关流量的流量方向确定所述网关流量的流量类型,并根据预先建立的流量类型与指标类型之间的映射关系,确定出当前所述被调用服务对应的目标指标类型,包括:
通过解析所述网关流量确定所述网关流量的流量方向,若所述网关流量为网关转发的调用方针对所述被调用服务的服务请求信息的流量,则判定所述网关流量为第一类网关流量;
根据预先建立的第一类网关流量与第一目标指标类型之间的映射关系,确定当前所述被调用服务对应的目标指标类型为第一目标指标类型;所述第一目标指标类型包括每秒查询率。
可选的,所述基于所述网关流量和所述目标指标类型,确定所述被调用服务当前的性能指标值,包括:
通过解析所述网关流量确定所述网关流量对应的被调用服务,并确定所述被调用服务对应的服务信息;
根据所述第一目标指标类型对所述服务信息进行分析,以确定所述被调用服务的当前每秒查询率,并将所述当前每秒查询率作为所述性能指标值。
可选的,所述根据所述网关流量的流量方向确定所述网关流量的流量类型,并根据预先建立的流量类型与指标类型之间的映射关系,确定出当前所述被调用服务对应的目标指标类型,包括:
通过解析所述网关流量确定所述网关流量的流量方向,若所述网关流量为网关转发的所述被调用服务被调用后向调用方反馈的响应数据的流量,则判定所述网关流量为第二类网关流量;
根据预先建立的第二类网关流量与第二目标指标类型之间的映射关系,确定当前所述被调用服务对应的目标指标类型为第二目标指标类型;所述第二目标指标类型包括平均响应时间和响应成功率。
可选的,所述基于所述网关流量和所述目标指标类型,确定所述被调用服务当前的性能指标值,包括:
解析所述网关流量以确定所述网关流量对应的被调用服务,并确定所述被调用服务对应的服务信息;
根据所述第二目标指标类型对所述服务信息进行分析,以确定所述被调用服务的当前平均响应时间和当前响应成功率,并将所述当前平均响应时间和所述当前响应成功率作为所述性能指标值。
可选的,所述资源动态调度方法,还包括:
按照预设信息获取规则定时获取所述被调用服务的服务信息,并将最近一次获取的服务信息作为当前所述被调用服务对应的服务信息。
可选的,所述基于所述性能指标值判断当前所述被调用服务是否满足预设资源调度条件,如果满足则确定所述被调用服务对应的目标容器,并根据所述性能指标值和预设扩缩容策略对所述目标容器的计算资源进行扩容或缩容操作,包括:
根据所述性能指标值的种类确定出所述性能指标值对应的指标阈值;
根据所述性能指标值和所述指标阈值的数值大小关系,判断所述被调用服务是否满足预设资源调度条件;
如果所述被调用服务满足预设资源调度条件,则根据所述性能指标值与所述指标阈值的差值以及所述性能指标值的种类对应的目标预设扩缩容策略确定出扩缩容参数,并确定所述被调用服务对应的目标容器,然后根据所述扩缩容参数对所述目标容器的计算资源进行扩容或缩容操作。
第二方面,本申请公开了一种资源动态调度装置,包括:
流量获取模块,用于获取与被调用服务对应的网关流量;
指标类型确定模块,用于根据所述网关流量的流量方向确定所述网关流量的流量类型,并根据预先建立的流量类型与指标类型之间的映射关系,确定出当前所述被调用服务对应的目标指标类型;
性能指标值确定模块,用于基于所述网关流量和所述目标指标类型,确定所述被调用服务当前的性能指标值;
扩缩容模块,用于基于所述性能指标判断当前所述被调用服务是否满足预设资源调度条件,如果满足则确定所述被调用服务对应的目标容器,并根据所述性能指标和预设扩缩容策略对所述目标容器的计算资源进行扩容或缩容操作。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的资源动态调度方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的资源动态调度方法。
本申请中,获取与被调用服务对应的网关流量;根据所述网关流量的流量方向确定所述网关流量的流量类型,并根据预先建立的流量类型与指标类型之间的映射关系,确定出当前所述被调用服务对应的目标指标类型;基于所述网关流量和所述目标指标类型,确定所述被调用服务当前的性能指标值;基于所述性能指标值判断当前所述被调用服务是否满足预设资源调度条件,如果满足则确定所述被调用服务对应的目标容器,并根据所述性能指标值和预设扩缩容策略对所述目标容器的计算资源进行扩容或缩容操作。
可见,从网关层获取被调用服务对应的网关流量后,根据网关流量的流量方向确定当前适合对被调用服务进行分析所采用的目标指标类型,然后根据该目标指标类型对应的性能指标值判断被调用服务是否满足预设资源调度条件,进而采取相应的扩缩容策略,由此利用符合被调用服务当前运行状态的指标进行扩缩容判断,提高了扩缩容的能力及准确性,并且,根据从网关层获取的流量确定出被调用服务的性能指标值,可以解决Kubernetes现有方案中基于cpu、内存指标而导致指标不灵活的问题,并利用该性能指标值判断当前被调用服务是否满足预设资源调度条件,在满足条件时根据性能指标和预设扩缩容策略对被调用服务对应的目标容器的计算资源进行扩容或缩容操作,由此将性能指标的确定提前到网关层,然后根据确定的性能指标确定,提高了资源调度条件判断的准确性,能够提前通知扩缩容服务对当前被调用服务对应的目标容器的计算进行扩容或缩容操作,同时也解决了Kubernetes现有方案中基于cpu、内存指标而导致扩缩容延迟的问题,有效提高在扩容期间进入请求的成功率,并且能够支持更加灵活的策略配置;从而提高微服务框架下的服务的稳定性和可靠性,能有效避免瞬时流量对服务带来的冲击,使请求对后台服务伸缩感知最小,对用户来说,在大流量冲击下,使用产品也能流畅响应,提高用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种资源动态调度方法流程图;
图2为本申请提供的一种具体的资源动态调度方法流程图;
图3为本申请提供的另一种具体的资源动态调度方法流程图;
图4为本申请提供的一种具体的资源动态调度方法时序图;
图5为本申请提供的一种具体的资源动态调度系统结构图;
图6为本申请提供的一种资源动态调度装置结构示意图;
图7为本申请提供的一种电子设备结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,对弹性资源进行资源调整时,通常采用Kubernetes弹性伸缩方案,但是Kubernetes现在的方案主要是基于cpu,内存的指标,对应用级别细粒度的负载指标支持并不友好,指标计算滞后,指标分析以及扩容都具有延迟性,降低了资源调整的效率。为了克服上述技术问题,本申请提出一种资源动态调度方法,提高了资源调度条件判断的准确性,能够提前通知扩缩容服务对当前被调用服务进行扩容或缩容操作。
本申请实施例公开了一种资源动态调度方法,参见图1所示,该方法可以包括以下步骤:
步骤S11:获取与被调用服务对应的网关流量。
本实施例中,首先获取当前被调用服务对应的网关流量,即在网关层获取在调用上述被调用服务时产生的相关流量,上述网关流量可以为调用上述被调用服务的服务请求信息对应的网关流量,也可以为被调用服务被调用后生成的响应数据对应的网关流量。可以理解的是,当前端发起针对被调用服务的请求时,或服务向前端反馈时,相应的请求流量先到达网关,再由网关转发,由此可以通过接收网关转发的流量,获取到上述被调用服务对应的网关流量,具体的可以通过在网关设置流量转发插件转发检测到的被调用服务对应的网关流量。此时获取的网关流量可能包含多个被调用服务对应的网关流量。
步骤S12:根据所述网关流量的流量方向确定所述网关流量的流量类型,并根据预先建立的流量类型与指标类型之间的映射关系,确定出当前所述被调用服务对应的目标指标类型。
本实施例中,获取到网关流量后,根据网关流量的流量方向确定出该网关流量的类型,网关流量的流量方向可以包括调用方针对被调用服务发送的服务请求信息的第一流量方向,以及被调用服务被调用后向调用方反馈的响应数据的第二流量方向,然后根据预先建立的流量类型与指标类型之间的映射关系,确定出当前被调用服务对应的目标指标类型。
步骤S13:基于所述网关流量和所述目标指标类型,确定所述被调用服务当前的性能指标值。
本实施例中,确定目标指标类型后,基于网关流量根据目标指标类型统计得到被调用服务当前的性能指标值。具体的,可以先根据上述网关流量确定出当前具体被调用的服务的位置,具体的可以通过IP或服务名或域名映射等方式确定出当前被调用服务,进而根据目标指标类型统计该服务对应的性能指标值,上述目标指标类型可以包括每秒查询率、平均响应时间和响应成功率中的一种或多种。
步骤S14:基于所述性能指标值判断当前所述被调用服务是否满足预设资源调度条件,如果满足则确定所述被调用服务对应的目标容器,并根据所述性能指标值和预设扩缩容策略对所述目标容器的计算资源进行扩容或缩容操作。
本实施例中,确定出当前被调用服务的性能指标值后,根据上述性能指标值的具体参数值判断当前被调用服务是否满足预设资源调度条件,即判断上述被调用服务所在的目标容器是否被频繁请求因而需要扩容,或是否请求减少因而需要缩容,在判断满足预设资源调度条件后,根据上述性能指标值和预设扩缩容策略,对上述被调用服务所在的目标容器的计算资源进行相适应的扩容或缩容操作,上述计算资源包括CPU、内存、磁盘资源等。
本实施例中,所述基于所述性能指标值判断当前所述被调用服务是否满足预设资源调度条件,如果满足则确定所述被调用服务对应的目标容器,并根据所述性能指标值和预设扩缩容策略对所述目标容器的计算资源进行扩容或缩容操作,可以包括:根据所述性能指标值的种类确定出所述性能指标值对应的指标阈值;根据所述性能指标值和所述指标阈值的数值大小关系,判断所述被调用服务是否满足预设资源调度条件;如果所述被调用服务满足预设资源调度条件,则根据所述性能指标值与所述指标阈值的差值以及所述性能指标值的种类对应的目标预设扩缩容策略确定出扩缩容参数,并确定所述被调用服务对应的目标容器,然后根据所述扩缩容参数对所述目标容器的计算资源进行扩容或缩容操作。即具体根据当前性能指标值与对应的指标阈值的差值大小判断是否符合预设资源调度条件,并在符合资源调度条件后,确定出与当前性能指标值的种类对应的目标预设扩缩容策略,再依据性能指标值与指标阈值的差值查找目标预设扩缩容策略确定出最终的扩容参数或缩容参数,然后根据上述扩容参数或缩容参数对被调用服务所在的目标容器的计算资源进行扩容或缩容操作。其中,上述指标阈值和每种性能指标对应的预设扩缩容策略均可以通过预设策略配置接口根据需求进行配置调整。具体扩缩容幅度可以结合服务当前的实例数、单实例最高并发量,根据配置的策略指导相关服务进行扩容或缩容。由此,针对时间性的并发量上升,如白天的请求量一般都大于晚间,晚间可实现自动缩容,把容器的计算资源更多的提供给定时、计算或者归档任务;又例如,产品在进行促销期间,请求流量将比平时大很多,如果促销活动比较多,通过本实施例可以避免这种大流量不规律的请求影响服务可靠性及服务端稳定性的问题,且解决了Kubernetes对业务性能指标支持不友好的情况。
由上可见,本实施例中通过获取与被调用服务对应的网关流量;根据所述网关流量的流量方向确定所述网关流量的流量类型,并根据预先建立的流量类型与指标类型之间的映射关系,确定出当前所述被调用服务对应的目标指标类型;基于所述网关流量和所述目标指标类型,确定所述被调用服务当前的性能指标值;基于所述性能指标值判断当前所述被调用服务是否满足预设资源调度条件,如果满足则确定所述被调用服务对应的目标容器,并根据所述性能指标值和预设扩缩容策略对所述目标容器的计算资源进行扩容或缩容操作。可见,从网关层获取被调用服务对应的网关流量后,根据网关流量的流量方向确定当前适合对被调用服务进行分析所采用的目标指标类型,然后根据该目标指标类型对应的性能指标值判断被调用服务是否满足预设资源调度条件,进而采取相应的扩缩容策略,由此利用符合被调用服务当前运行状态的指标进行扩缩容判断,提高了扩缩容的能力及准确性,并且,根据从网关层获取的流量确定出被调用服务的性能指标值,可以解决Kubernetes现有方案中基于cpu、内存指标而导致指标不灵活的问题,并利用该性能指标值判断当前被调用服务是否满足预设资源调度条件,在满足条件时根据性能指标和预设扩缩容策略对被调用服务对应的目标容器的计算资源进行扩容或缩容操作,由此将性能指标的确定提前到网关层,然后根据确定的性能指标确定,提高了资源调度条件判断的准确性,能够提前通知扩缩容服务对当前被调用服务对应的目标容器的计算进行扩容或缩容操作,同时也解决了Kubernetes现有方案中基于cpu、内存指标而导致扩缩容延迟的问题,有效提高在扩容期间进入请求的成功率,并且能够支持更加灵活的策略配置;从而提高微服务框架下的服务的稳定性和可靠性,能有效避免瞬时流量对服务带来的冲击,使请求对后台服务伸缩感知最小,对用户来说,在大流量冲击下,使用产品也能流畅响应,提高用户体验。
针对上述实施例中步骤S12和步骤S13,本申请实施例公开了一种具体的资源动态调度方法,参见图2所示,该方法可以包括以下步骤:
步骤S21:通过解析所述网关流量确定所述网关流量的流量方向,若所述网关流量为网关转发的调用方针对所述被调用服务的服务请求信息的流量,则判定所述网关流量为第一类网关流量。
即作为调用方的前端通过网关向上述被调用服务发送服务请求后,网关通过异步方式将上述服务请求信息转发出来,以得获取与被调用服务对应的网关流量,然后通过解析网关流量确定网关流量的流量方向,以判定网关流量为第一类网关流量。
步骤S22:根据预先建立的第一类网关流量与第一目标指标类型之间的映射关系,确定当前所述被调用服务对应的目标指标类型为第一目标指标类型;所述第一目标指标类型包括每秒查询率。
即确定网关流量为第一类网关流量后,根据预先建立的第一类网关流量与第一目标指标类型之间的映射关系,确定当前被调用服务对应的目标指标类型为第一目标指标类型,即每秒查询率。
步骤S23:通过解析所述网关流量确定所述网关流量对应的被调用服务,并确定所述被调用服务对应的服务信息;
步骤S24:根据所述第一目标指标类型对所述服务信息进行分析,以确定所述被调用服务的当前每秒查询率,并将所述当前每秒查询率作为所述性能指标值。
即对上述网关流量进行解析后,确定出网关流量所属的被调用服务,并确定所述被调用服务对应的服务信息,然后基于该服务信息根据第一目标指标类型,确定出被调用服务的当前每秒查询率(QPS,Queries-per-second),可以理解的是,此时服务还没有执行完成,利用每秒查询率作为评判指标能够保证判断的准确性。
可见,通过分析当前网关流量为调用方针对被调用服务的服务请求信息的流量时,通过被调用服务对应的每秒查询率判断当前被调用服务是否满足预设资源调度条件,提高该情况下扩缩容判断的准确性。
针对上述实施例中步骤S12和步骤S13,本申请实施例公开了另一种具体的资源动态调度方法,参见图3所示,该方法可以包括以下步骤:
步骤S31:通过解析所述网关流量确定所述网关流量的流量方向,若所述网关流量为网关转发的所述被调用服务被调用后向调用方反馈的响应数据的流量,则判定所述网关流量为第二类网关流量。
即被调用服务被调用后向调用方反馈响应数据后,网关通过异步方式将上述响应数据转发出来,以得获取与被调用服务对应的网关流量,然后通过解析网关流量确定网关流量的流量方向,以判定网关流量为第二类网关流量。
步骤S32:根据预先建立的第二类网关流量与第二目标指标类型之间的映射关系,确定当前所述被调用服务对应的目标指标类型为第二目标指标类型;所述第二目标指标类型包括平均响应时间和响应成功率。
即确定网关流量为第二类网关流量后,根据预先建立的第二类网关流量与第二目标指标类型之间的映射关系,确定当前被调用服务对应的目标指标类型为第二目标指标类型,即平均响应时间和响应成功率。
步骤S33:解析所述网关流量以确定所述网关流量对应的被调用服务,并确定所述被调用服务对应的服务信息。
本实施例中,上述服务信息的获取具体可以按照预设信息获取规则定时获取所述被调用服务的服务信息,并将最近一次获取的服务信息作为当前所述被调用服务对应的服务信息。
步骤S34:根据所述第二目标指标类型对所述服务信息进行分析,以确定所述被调用服务的当前平均响应时间和当前响应成功率,并将所述当前平均响应时间和所述当前响应成功率作为所述性能指标值。
即对上述网关流量进行解析后,确定出网关流量所属的被调用服务,并确定所述被调用服务对应的服务信息,然后基于该服务信息根据第二目标指标类型,确定出被调用服务的当前平均响应时间(RT,Reaction Time)和当前响应成功率,可以理解的是,此时服务已经执行完成,此时利用平均响应时间和响应成功率作为评判指标能够保证判断的准确性。
可见,通过分析当前网关流量为被调用服务被调用后向调用方反馈的响应数据时,通过被调用服务对应的平均响应时间和响应成功率判断当前被调用服务是否满足预设资源调度条件,提高该情况下扩缩容判断的准确性。
例如图4所示为一种具体的资源动态调度时序图,预设资源调度条件的判断由前置性能统计服务执行,扩缩容操作通过服务伸缩管理端执行。网关接受所有业务API请求,流量进入网关后,网关把请求信息异步通知给前置性能统计服务,前置性能统计服务根据解析请求服务,统计当前服务的QPS,再根据资源调度条件判断是否需要扩缩容,如果需要根据预设扩缩容策略确定出具体扩缩容方案后通知服务伸缩管理端,以便服务伸缩管理端对指定服务进行扩缩容。同时,流量进入网关后,网关把流量直接请求到目的服务,以便服务执行业务逻辑,并返回结果,再由网关接收数据,并把响应状态、响应时间等数据异步通知给前置性能统计服务,前置性能统计服务根据解析请求服务,统计当前服务的平均RT、API请求响应成功率等指标,再根据资源调度条件判断是否需要扩缩容,如果需要根据预设扩缩容策略确定出具体扩缩容方案后通知服务伸缩管理端,以便服务伸缩管理端对指定服务进行扩缩容。其中,图4中标有符号①的方框内为服务伸缩管理端定时执行的步骤,标有符号②的方框内为API请求关联的步骤,标有符号③的方框内为前置性能统计服务执行的步骤。其中,性能指标统计服务为根据上述的性能指标统计步骤构建的服务,伸缩管理服务可以引用Kubernetes中伸缩管理服务,当然也可以用户单独配置。
进一步,例如图5所示为本实施例中提供的一种具体的资源动态调度系统结构图,网关接受前端所有业务API请求,流量进入网关后,网关把请求信息异步通知给服务器,以便服务器执行上述资源动态调度方法,对被调用服务所在容器进行相应的扩缩容操作。
由上可见,本实施例中,分别在服务调用初始阶段以及服务执行完成后获取不同类型的性能指标,并在根据相应的预设资源调度条件进行判断满足条件后,利用相应的预设扩缩容策略对被调用服务的资源进行扩容或缩容操作,整个过程通过对流量的识别,分析目标服务的每秒查询率、平均响应时间和响应成功率等指标,然后通过策略指导后端服务进行扩容或者缩容,提高了扩缩容的灵活性和及时性。
相应的,本申请实施例还公开了一种资源动态调度装置,参见图6所示,该装置包括:
流量获取模块11,用于获取与被调用服务对应的网关流量;
指标类型确定模块12,用于根据所述网关流量的流量方向确定所述网关流量的流量类型,并根据预先建立的流量类型与指标类型之间的映射关系,确定出当前所述被调用服务对应的目标指标类型;
性能指标值确定模块13,用于基于所述网关流量和所述目标指标类型,确定所述被调用服务当前的性能指标值;
扩缩容模块14,用于基于所述性能指标判断当前所述被调用服务是否满足预设资源调度条件,如果满足则确定所述被调用服务对应的目标容器,并根据所述性能指标和预设扩缩容策略对所述目标容器的计算资源进行扩容或缩容操作。
由上可见,本实施例中通过获取与被调用服务对应的网关流量;根据所述网关流量的流量方向确定所述网关流量的流量类型,并根据预先建立的流量类型与指标类型之间的映射关系,确定出当前所述被调用服务对应的目标指标类型;基于所述网关流量和所述目标指标类型,确定所述被调用服务当前的性能指标值;基于所述性能指标值判断当前所述被调用服务是否满足预设资源调度条件,如果满足则确定所述被调用服务对应的目标容器,并根据所述性能指标值和预设扩缩容策略对所述目标容器的计算资源进行扩容或缩容操作。可见,从网关层获取被调用服务对应的网关流量后,根据网关流量的流量方向确定当前适合对被调用服务进行分析所采用的目标指标类型,然后根据该目标指标类型对应的性能指标值判断被调用服务是否满足预设资源调度条件,进而采取相应的扩缩容策略,由此利用符合被调用服务当前运行状态的指标进行扩缩容判断,提高了扩缩容的能力及准确性,并且,根据从网关层获取的流量确定出被调用服务的性能指标值,可以解决Kubernetes现有方案中基于cpu、内存指标而导致指标不灵活的问题,并利用该性能指标值判断当前被调用服务是否满足预设资源调度条件,在满足条件时根据性能指标和预设扩缩容策略对被调用服务对应的目标容器的计算资源进行扩容或缩容操作,由此将性能指标的确定提前到网关层,然后根据确定的性能指标确定,提高了资源调度条件判断的准确性,能够提前通知扩缩容服务对当前被调用服务对应的目标容器的计算进行扩容或缩容操作,同时也解决了Kubernetes现有方案中基于cpu、内存指标而导致扩缩容延迟的问题,有效提高在扩容期间进入请求的成功率,并且能够支持更加灵活的策略配置;从而提高微服务框架下的服务的稳定性和可靠性,能有效避免瞬时流量对服务带来的冲击,使请求对后台服务伸缩感知最小,对用户来说,在大流量冲击下,使用产品也能流畅响应,提高用户体验。
在一些具体实施例中,所述指标类型确定模块12具体可以包括:
第一流量方向判断单元,用于通过解析所述网关流量确定所述网关流量的流量方向,若所述网关流量为网关转发的调用方针对所述被调用服务的服务请求信息的流量,则判定所述网关流量为第一类网关流量;
第一目标指标类型判断单元,用于根据预先建立的第一类网关流量与第一目标指标类型之间的映射关系,确定当前所述被调用服务对应的目标指标类型为第一目标指标类型;所述第一目标指标类型包括每秒查询率。
在一些具体实施例中,所述性能指标值确定模块13具体可以包括:
服务信息确定单元,用于通过解析所述网关流量确定所述网关流量对应的被调用服务,并确定所述被调用服务对应的服务信息;
第一性能指标值确定单元,用于根据所述第一目标指标类型对所述服务信息进行分析,以确定所述被调用服务的当前每秒查询率,并将所述当前每秒查询率作为所述性能指标值。
在一些具体实施例中,所述指标类型确定模块12具体可以包括:
第二流量方向判断单元,用于通过解析所述网关流量确定所述网关流量的流量方向,若所述网关流量为网关转发的所述被调用服务被调用后向调用方反馈的响应数据的流量,则判定所述网关流量为第二类网关流量;
第二目标指标类型判断单元,用于根据预先建立的第二类网关流量与第二目标指标类型之间的映射关系,确定当前所述被调用服务对应的目标指标类型为第二目标指标类型;所述第二目标指标类型包括平均响应时间和响应成功率。
在一些具体实施例中,所述性能指标值确定模块13具体可以包括:
服务信息确定单元,用于解析所述网关流量以确定所述网关流量对应的被调用服务,并确定所述被调用服务对应的服务信息;
第二性能指标值确定单元,用于根据所述第二目标指标类型对所述服务信息进行分析,以确定所述被调用服务的当前平均响应时间和当前响应成功率,并将所述当前平均响应时间和所述当前响应成功率作为所述性能指标值。
在一些具体实施例中,所述资源动态调度装置具体可以包括:
服务信息获取单元,用于按照预设信息获取规则定时获取所述被调用服务的服务信息,并将最近一次获取的服务信息作为当前所述被调用服务对应的服务信息。
在一些具体实施例中,所述扩缩容模块13具体可以包括:
指标阈值确定单元,用于根据所述性能指标值的种类确定出所述性能指标值对应的指标阈值;
资源调度条件判断单元,用于根据所述性能指标值和所述指标阈值的数值大小关系,判断所述被调用服务是否满足预设资源调度条件;
扩缩容单元,用于如果所述被调用服务满足预设资源调度条件,则根据所述性能指标值与所述指标阈值的差值以及所述性能指标值的种类对应的目标预设扩缩容策略确定出扩缩容参数,并确定所述被调用服务对应的目标容器,然后根据所述扩缩容参数对所述目标容器的计算资源进行扩容或缩容操作。
进一步的,本申请实施例还公开了一种电子设备,参见图7所示,图中的内容不能被认为是对本申请的使用范围的任何限制。
图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的资源动态调度方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括性能指标在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的资源动态调度方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的资源动态调度方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种资源动态调度方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种资源动态调度方法,其特征在于,包括:
获取与被调用服务对应的网关流量;
根据所述网关流量的流量方向确定所述网关流量的流量类型,并根据预先建立的流量类型与指标类型之间的映射关系,确定出当前所述被调用服务对应的目标指标类型;
基于所述网关流量和所述目标指标类型,确定所述被调用服务当前的性能指标值;
基于所述性能指标值判断当前所述被调用服务是否满足预设资源调度条件,如果满足则确定所述被调用服务对应的目标容器,并根据所述性能指标值和预设扩缩容策略对所述目标容器的计算资源进行扩容或缩容操作。
2.根据权利要求1所述的资源动态调度方法,其特征在于,所述根据所述网关流量的流量方向确定所述网关流量的流量类型,并根据预先建立的流量类型与指标类型之间的映射关系,确定出当前所述被调用服务对应的目标指标类型,包括:
通过解析所述网关流量确定所述网关流量的流量方向,若所述网关流量为网关转发的调用方针对所述被调用服务的服务请求信息的流量,则判定所述网关流量为第一类网关流量;
根据预先建立的第一类网关流量与第一目标指标类型之间的映射关系,确定当前所述被调用服务对应的目标指标类型为第一目标指标类型;所述第一目标指标类型包括每秒查询率。
3.根据权利要求2所述的资源动态调度方法,其特征在于,所述基于所述网关流量和所述目标指标类型,确定所述被调用服务当前的性能指标值,包括:
通过解析所述网关流量确定所述网关流量对应的被调用服务,并确定所述被调用服务对应的服务信息;
根据所述第一目标指标类型对所述服务信息进行分析,以确定所述被调用服务的当前每秒查询率,并将所述当前每秒查询率作为所述性能指标值。
4.根据权利要求1所述的资源动态调度方法,其特征在于,所述根据所述网关流量的流量方向确定所述网关流量的流量类型,并根据预先建立的流量类型与指标类型之间的映射关系,确定出当前所述被调用服务对应的目标指标类型,包括:
通过解析所述网关流量确定所述网关流量的流量方向,若所述网关流量为网关转发的所述被调用服务被调用后向调用方反馈的响应数据的流量,则判定所述网关流量为第二类网关流量;
根据预先建立的第二类网关流量与第二目标指标类型之间的映射关系,确定当前所述被调用服务对应的目标指标类型为第二目标指标类型;所述第二目标指标类型包括平均响应时间和响应成功率。
5.根据权利要求4所述的资源动态调度方法,其特征在于,所述基于所述网关流量和所述目标指标类型,确定所述被调用服务当前的性能指标值,包括:
解析所述网关流量以确定所述网关流量对应的被调用服务,并确定所述被调用服务对应的服务信息;
根据所述第二目标指标类型对所述服务信息进行分析,以确定所述被调用服务的当前平均响应时间和当前响应成功率,并将所述当前平均响应时间和所述当前响应成功率作为所述性能指标值。
6.根据权利要求5所述的资源动态调度方法,其特征在于,还包括:
按照预设信息获取规则定时获取所述被调用服务的服务信息,并将最近一次获取的服务信息作为当前所述被调用服务对应的服务信息。
7.根据权利要求1至6任一项所述的资源动态调度方法,其特征在于,所述基于所述性能指标值判断当前所述被调用服务是否满足预设资源调度条件,如果满足则确定所述被调用服务对应的目标容器,并根据所述性能指标值和预设扩缩容策略对所述目标容器的计算资源进行扩容或缩容操作,包括:
根据所述性能指标值的种类确定出所述性能指标值对应的指标阈值;
根据所述性能指标值和所述指标阈值的数值大小关系,判断所述被调用服务是否满足预设资源调度条件;
如果所述被调用服务满足预设资源调度条件,则根据所述性能指标值与所述指标阈值的差值以及所述性能指标值的种类对应的目标预设扩缩容策略确定出扩缩容参数,并确定所述被调用服务对应的目标容器,然后根据所述扩缩容参数对所述目标容器的计算资源进行扩容或缩容操作。
8.一种资源动态调度装置,其特征在于,包括:
流量获取模块,用于获取与被调用服务对应的网关流量;
指标类型确定模块,用于根据所述网关流量的流量方向确定所述网关流量的流量类型,并根据预先建立的流量类型与指标类型之间的映射关系,确定出当前所述被调用服务对应的目标指标类型;
性能指标值确定模块,用于基于所述网关流量和所述目标指标类型,确定所述被调用服务当前的性能指标值;
扩缩容模块,用于基于所述性能指标判断当前所述被调用服务是否满足预设资源调度条件,如果满足则确定所述被调用服务对应的目标容器,并根据所述性能指标和预设扩缩容策略对所述目标容器的计算资源进行扩容或缩容操作。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的资源动态调度方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至7任一项所述的资源动态调度方法。
CN202210521406.9A 2022-05-13 2022-05-13 一种资源动态调度方法、装置、设备及存储介质 Active CN114979276B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210521406.9A CN114979276B (zh) 2022-05-13 2022-05-13 一种资源动态调度方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210521406.9A CN114979276B (zh) 2022-05-13 2022-05-13 一种资源动态调度方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114979276A true CN114979276A (zh) 2022-08-30
CN114979276B CN114979276B (zh) 2024-02-23

Family

ID=82982946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210521406.9A Active CN114979276B (zh) 2022-05-13 2022-05-13 一种资源动态调度方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114979276B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018166366A1 (zh) * 2017-03-15 2018-09-20 华为技术有限公司 用于虚拟网络功能扩容的方法和装置
WO2020030170A1 (zh) * 2018-08-10 2020-02-13 中兴通讯股份有限公司 调度吞吐量的获取方法及装置、基站、存储介质
CN111464616A (zh) * 2020-03-30 2020-07-28 招商局金融科技有限公司 自动调节应用负载服务数量的方法、服务器及存储介质
CN111522636A (zh) * 2020-04-03 2020-08-11 安超云软件有限公司 应用容器的调整方法、调整系统、计算机可读介质及终端设备
CN112202895A (zh) * 2020-09-30 2021-01-08 北京达佳互联信息技术有限公司 监控指标数据的收集方法、系统、电子设备及存储介质
CN112291104A (zh) * 2020-12-30 2021-01-29 望海康信(北京)科技股份公司 微服务自动伸缩系统、方法及相应设备和存储介质
CN112463366A (zh) * 2020-11-19 2021-03-09 上海交通大学 面向云原生的微服务自动扩缩容和自动熔断方法及系统
CN112671570A (zh) * 2020-12-16 2021-04-16 微梦创科网络科技(中国)有限公司 自动扩缩容的方法及系统
CN112822298A (zh) * 2021-04-19 2021-05-18 北京世纪好未来教育科技有限公司 业务服务扩缩容方法、装置、介质和电子设备
WO2022068392A1 (zh) * 2020-09-29 2022-04-07 中兴通讯股份有限公司 数据库集群扩缩容方法、服务系统、存储介质
CN114327884A (zh) * 2021-12-23 2022-04-12 广州趣丸网络科技有限公司 自动扩缩容方法、装置、设备及可读存储介质
CN114358134A (zh) * 2021-12-09 2022-04-15 天翼物联科技有限公司 一种高并发自动扩缩容方法、系统、计算机设备及介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018166366A1 (zh) * 2017-03-15 2018-09-20 华为技术有限公司 用于虚拟网络功能扩容的方法和装置
WO2020030170A1 (zh) * 2018-08-10 2020-02-13 中兴通讯股份有限公司 调度吞吐量的获取方法及装置、基站、存储介质
CN111464616A (zh) * 2020-03-30 2020-07-28 招商局金融科技有限公司 自动调节应用负载服务数量的方法、服务器及存储介质
CN111522636A (zh) * 2020-04-03 2020-08-11 安超云软件有限公司 应用容器的调整方法、调整系统、计算机可读介质及终端设备
WO2022068392A1 (zh) * 2020-09-29 2022-04-07 中兴通讯股份有限公司 数据库集群扩缩容方法、服务系统、存储介质
CN112202895A (zh) * 2020-09-30 2021-01-08 北京达佳互联信息技术有限公司 监控指标数据的收集方法、系统、电子设备及存储介质
CN112463366A (zh) * 2020-11-19 2021-03-09 上海交通大学 面向云原生的微服务自动扩缩容和自动熔断方法及系统
CN112671570A (zh) * 2020-12-16 2021-04-16 微梦创科网络科技(中国)有限公司 自动扩缩容的方法及系统
CN112291104A (zh) * 2020-12-30 2021-01-29 望海康信(北京)科技股份公司 微服务自动伸缩系统、方法及相应设备和存储介质
CN112822298A (zh) * 2021-04-19 2021-05-18 北京世纪好未来教育科技有限公司 业务服务扩缩容方法、装置、介质和电子设备
CN114358134A (zh) * 2021-12-09 2022-04-15 天翼物联科技有限公司 一种高并发自动扩缩容方法、系统、计算机设备及介质
CN114327884A (zh) * 2021-12-23 2022-04-12 广州趣丸网络科技有限公司 自动扩缩容方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN114979276B (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
EP3528440A1 (en) Path selection method and system, network acceleration node, and network acceleration system
CN106937362B (zh) 网络切片管理装置和网络切片管理方法
CN110858843B (zh) 业务请求处理方法、装置及计算机可读存储介质
CN111522636B (zh) 应用容器的调整方法、调整系统、计算机可读介质及终端设备
CN106713028B (zh) 业务降级方法、装置和分布式任务调度系统
CN114143265A (zh) 一种网络流量限流方法、装置、设备及存储介质
WO2018220708A1 (ja) 資源割当システム、管理装置、方法およびプログラム
US11546215B2 (en) Method, system, and device for data flow metric adjustment based on communication link state
WO2019170011A1 (zh) 任务分配方法及装置、分布式存储系统
CN115277577B (zh) 数据处理方法、装置、计算机设备和计算机可读存储介质
WO2024094104A1 (zh) 一种动态反馈加权云存储资源调度方法、装置及设备
CN109992392B (zh) 一种资源部署方法、装置及资源服务器
CN110661654A (zh) 一种网络带宽资源分配方法、装置、设备及可读存储介质
CN110868323B (zh) 一种带宽控制方法、装置、设备及介质
CN111078386A (zh) 一种分布式调度系统的控制方法及控制装置
CN213876703U (zh) 一种资源池管理系统
CN114327884A (zh) 自动扩缩容方法、装置、设备及可读存储介质
CN106790354B (zh) 一种防数据拥堵的通信方法及其装置
CN114979276A (zh) 一种资源动态调度方法、装置、设备及存储介质
CN113765966A (zh) 一种负载均衡方法和装置
CN114553771B (zh) 用于虚拟路由器加载的方法及相关设备
CN114143263B (zh) 一种对用户请求进行限流的方法、设备及介质
CN115002033A (zh) 一种流量控制方法、装置、设备、存储介质及计算机产品
CN112073327B (zh) 一种抗拥塞的软件分流方法、装置及存储介质
CN114745278A (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