CN113703945B - 微服务集群的调度方法、装置、设备及存储介质 - Google Patents

微服务集群的调度方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113703945B
CN113703945B CN202111014493.0A CN202111014493A CN113703945B CN 113703945 B CN113703945 B CN 113703945B CN 202111014493 A CN202111014493 A CN 202111014493A CN 113703945 B CN113703945 B CN 113703945B
Authority
CN
China
Prior art keywords
micro
task
service
service application
current
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
Application number
CN202111014493.0A
Other languages
English (en)
Other versions
CN113703945A (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.)
Shenzhen Xinghai IoT Technology Co Ltd
Original Assignee
Shenzhen Xinghai IoT Technology 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 Shenzhen Xinghai IoT Technology Co Ltd filed Critical Shenzhen Xinghai IoT Technology Co Ltd
Priority to CN202111014493.0A priority Critical patent/CN113703945B/zh
Publication of CN113703945A publication Critical patent/CN113703945A/zh
Application granted granted Critical
Publication of CN113703945B publication Critical patent/CN113703945B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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

Abstract

本申请涉及云计算,尤其涉及负载调配,提供一种微服务集群的调度方法,所述方法包括:获取微服务集群的微服务应用的性能指标;根据性能指标,为微服务应用分配对应规模的系统资源,系统资源包括微服务集群的任务存储区中的存储空间;根据微服务消费方的服务请求,确定微服务消费方调用的任务;将微服务消费方调用的任务存储至所述任务存储区中;根据任务所在的存储空间,将任务分配给所述存储空间对应的微服务应用执行。本申请还涉及区块链技术,微服务应用执行任务得到数据可以存储于区块链中。还涉及人工智能,所述微服务集群可以用于为人工智能平台提供云计算。还涉及数字医疗领域,所述微服务集群可以用于实现医疗云。

Description

微服务集群的调度方法、装置、设备及存储介质
技术领域
本申请涉及云计算技术领域,尤其涉及一种微服务集群的调度方法、装置、计算机设备及存储介质。
背景技术
微服务是一种云原生架构方法,其中单个微服务应用由许多松散耦合且可独立部署的较小服务组成。微服务集群包括多个提供相同服务功能的微服务应用,对于微服务消费方来说,微服务集群的多个微服务应用相当于一个微服务提供方。目前,微服务集群的调度方法,一般采用微服务框架提供的负载均衡策略实现,例如,Spring Cloud微服务框架中,采用ribbon机制策略实现服务集群的负载均衡,其结构思想较为复杂,其次,Eureka2.0版本后由于受限性能影响等因素,不做开源维护,使得后期迁移维护成本相对较高。因此,对于复杂庞大的微服务架构体系,微服务集群的调度方法的可移植性和公平性亟待解决。
发明内容
本申请提供了一种微服务集群的调度方法、装置、计算机设备及存储介质,能够通过任务存储区对微服务集群的任务进行调度分配。
第一方面,本申请提供了一种微服务集群的调度方法,其特征在于,所述方法包括:
获取微服务集群的微服务应用的性能指标;
根据所述性能指标,为所述微服务应用分配对应规模的系统资源,所述系统资源包括所述微服务集群的任务存储区中的存储空间;
根据微服务消费方的服务请求,确定所述微服务消费方调用的任务;
将所述微服务消费方调用的任务存储至所述任务存储区中;
根据所述任务所在的存储空间,将所述任务分配给所述存储空间对应的微服务应用执行。
第二方面,本申请提供了一种微服务集群的调度装置,其特征在于,包括:
性能获取模块,用于获取微服务集群的微服务应用的性能指标;
资源分配模块,用于根据所述性能指标,为所述微服务应用分配对应规模的系统资源,所述系统资源包括所述微服务集群的任务存储区中的存储空间;
任务获取模块,用于根据微服务消费方的服务请求,确定所述微服务消费方调用的任务;
任务缓存模块,用于将所述微服务消费方调用的任务存储至所述任务存储区中;
任务分配模块,用于根据所述任务所在的存储空间,将所述任务分配给所述存储空间对应的微服务应用执行。
第三方面,本申请提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现上述的微服务集群的调度方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,若所述计算机程序被处理器执行,实现上述的微服务集群的调度方法。
本申请公开了一种微服务集群的调度方法、装置、计算机设备及存储介质,通过获取微服务集群的微服务应用的性能指标;根据所述性能指标,为所述微服务应用分配对应规模的系统资源,所述系统资源包括所述微服务集群的任务存储区中的存储空间;根据微服务消费方的服务请求,确定所述微服务消费方调用的任务;将所述微服务消费方调用的任务存储至所述任务存储区中;根据所述任务所在的存储空间,将所述任务分配给所述存储空间对应的微服务应用执行。本申请根据微服务应用的性能对微服务集群的系统资源进行合理分配以及根据各微服务应用被分配的系统资源中任务存储区的存储空间对微服务集群的任务进行合理分配,以实现微服务集群的负载均衡,从而提升微服务集群的性能和效率,该方法效率高,易于实现,方便移植。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种微服务集群的调度方法的流程示意图;
图2是本申请一实施例提供的一种微服务集群的调度方法的场景示意图;
图3是本申请一实施例提供的一种微服务集群的调度装置的结构示意框图;
图4是本申请一实施例提供的一种计算机设备的结构示意框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。另外,虽然在装置示意图中进行了功能模块的划分,但是在某些情况下,可以以不同于装置示意图中的模块划分。
本申请的实施例提供了一种微服务集群的调度方法、装置、计算机设备及计算机可读存储介质。用于对微服务集群中的微服务分配合理的系统资源及任务,以实现微服务集群的负载均衡。示例性的,在微服集群的实际应用中,若不对微服务集群的系统资源及任务进行合理调度,可能会出现部分微服务应用被分配了过多的任务,而部分无任务执行的微服务应用被分配了过多的系统资源,微服务集群的性能和效率大幅降低,可以根据本申请实施例的微服务集群的调度方法,实现根据微服务应用的性能对微服务集群的系统资源进行合理分配以及根据各微服务应用被分配的系统资源中任务存储区的存储空间对微服务集群的任务进行合理分配,以实现微服务集群的负载均衡,从而提升微服务集群的性能和效率。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1及图2,图1是本申请实施例提供的一种微服务集群的调度方法的示意流程图,图2是本申请一实施例提供的一种微服务集群的调度方法的场景示意图。
如图1所示,该微服务集群的调度方法可以包括以下步骤S110-步骤S150。
步骤S110、获取微服务集群的微服务应用的性能指标。
微服务应用的性能指标是用于指示微服务应用的非功能特性的指标,它关注的不是微服务应用能否完成特定的功能,而是完成功能时展示出来的及时性,用于指示微服务应用的性能的指标有响应时间、资源使用率及吞吐量等指标。
示例性的,所述微服务应用的性能指标包括所述微服务应用当前的吞吐量,获取所述微服务应用当前的吞吐量,以获得所述微服务应用的软件性能指标。所述微服务应用的吞吐量,是指所述微服务应用单位时间内能够处理请求的数量。可以理解的,所述微服务应用的性能指标还可以包括响应时间、资源使用率等其他用于指示微服务应用的性能的指标。
步骤S120、根据所述性能指标,为所述微服务应用分配对应规模的系统资源,所述系统资源包括所述微服务集群的任务存储区中的存储空间。
示例性的,步骤S120具体包括步骤S121-S122。
S121、根据所述微服务应用当前的吞吐量,确定所述微服务应用的资源分配权重。
示例性的,步骤S121具体包括:若所述微服务应用当前的吞吐量达到了预设的参考指标,根据所述微服务应用当前的吞吐量与所述参考指标之比,确定所述微服务应用的资源分配权重。例如,将所述性能指标与所述参考指标之比确定为所述资源分配权重。
示例性的,步骤S121具体还包括:若所述微服务应用当前的吞吐量未达到所述参考指标,确定所述微服务应用的资源分配权重为0。例如,参考指标为吞吐量=100请求/秒,对于任何当前吞吐量小于100请求/秒的微服务应用,对应的资源分配权重均为0。
S122、根据所述资源分配权重,为所述微服务应用分配所述系统资源。
示例性的,根据每个所述微服务应用的资源分配权重在所有所述微服务应用的资源分配权重中的占比,为每个所述微服务应用分配对应规模的所述系统资源。
在一些实施方式中,步骤S120具体还包括:根据所述性能指标,确定所述微服务集群的循环队列中对应数目的存储单元为所述微服务应用对应的存储空间。如图2所示,所述任务存储区包括若干所述循环队列,所述存储空间包括若干所述循环队列的若干存储单元。
例如,将所述微服务应用的资源分配权重在所有所述微服务应用的资源分配权重中的占比与所有所述循环队列的存储单元总数相乘,以确定所述微服务应用被分配的存储单元数。可以理解的,若微服务应用的资源分配权重为0,该微服务被分配的所述存储单元的数量为0,直至该微服务应用的软件性能指标恢复至达到所述参考指标,该微服务才会被分配有效的存储空间;所述微服务应用的资源分配权重越高,所述微服务应用被分配的所述存储单元就越多,所述微服务应用被分配的存储空间的容量越大。
队列是一种操作受限的存储结构,只允许在队列的出口(前端)进行删除操作,在队列的入口(后端)进行添加操作,即最先进入队列的元素才能最先从队列中删除,队列又称为先进先出线性表。循环队列是存储单元循环使用的一种队列,可以把循环队列视为一个环形空间。
示例性的,所述循环队列被所有所述微服务应用共享。由于所述循环队列是被所有所述微服务应用共享的,当调整所述微服务应用对应的存储空间的容量时,不会造成所述微服务消费方调用的任务的数据丢失。例如,某一微服务应用调整为更小容量的存储空间时,并不需要在队列中删除多余的存储单元,只需将多余的存储单元在逻辑上与其他微服务应用关联对应即可。
示例性的,所述循环队列可用于实现虚拟通道(virtual channel),所述虚拟通道用于将所述微服务消费方调用的任务由所述微服务集群的调度平台传输至所述微服务应用。
示例性的,所述微服务应用被分配的存储单元在所述循环队列中的位置可以是连续分布的,也可以是分散分布。
在另外的一些实施方式中,所述任务存储区也可以是其他存储结构,例如所述任务存储可以是操作自由的存储结构,需要实现先进先出等队列的功能时,可以通过自定义的方式实现。
示例性的,所述系统资源还包括网络带宽,例如,对于吞吐量小的微服务应用,资源分配权重具有较小值,所述微服务应用被分配较小的网络带宽,这样可以动态降低网络带宽的消耗;对于吞吐量大的微服务应用,资源分配权重具有较大值,所述微服务应用被分配较大的网络带宽,线程会得到更大限度的调度,避免出现线程饥饿。
示例性的,由微服务集群的调度平台按预设的时间周期执行步骤S110-S120,以定期更新所述微服务应用的系统资源。
可以理解的,步骤S110-S120与步骤S13O-S140的执行步骤不是固定的,既可以在步骤S110-S120之后执行步骤S130-S140,也可以在步骤S110-S120之前执行步骤S130-S140。
步骤S130、根据微服务消费方的服务请求,确定所述微服务消费方调用的任务。
在计算机领域,任务(job)是执行计算机程序的基本工作单位。例如,如图2所示,微服务集群接收所述微服务消费方的服务请求后,微服务集群对服务请求进行响应,可对应得到所述微服务消费方调用的任务。
步骤S140、将所述微服务消费方调用的任务存储至所述任务存储区中。
所述任务存储区可以为所述任务提供调度的缓存,并对微服务集群的线程起到高峰限流的作用。
示例性的,步骤S140具体包括S141-S142:
S141、在所述循环队列的当前入口添加所述微服务消费方调用的任务;
例如,循环队列Q的当前入口的指针为r,将所述任务存入指针为r的存储单元Q(r)。
S142、将所述循环队列的入口调整为所述循环队列中所述当前入口的下一个未存有数据的存储单元。
例如,Q(r)的下一个存储单元的指针为r_new=(r+1)%MAXSIZE,其中MAXSIZE为循环队列Q的存储单元个数,若指针为r_new的存储单元Q(r_new)中未存有数据,则将Q(r_new)确定为循环队列Q的入口。
步骤S150、根据所述任务所在的存储空间,将所述任务分配给所述存储空间对应的微服务应用执行。
示例性的,步骤S150具体包括步骤S151-S155。
S151、确定所述循环队列当前出口对应的微服务应用;
例如,若所述队列当前出口属于其中一个微服务应用被分配的所述存储空间中的一个存储单元,则所述微服务应用与所述当前出口对应。
S152、在所述循环队列的当前出口读取所述任务;
示例性的,所述任务存储区包括多个所述循环队列,可以通过并行的方式在各循环队列的出口读取所述任务,以提高效率。
S153、将读取的所述任务分配给所述当前出口对应的微服务应用执行;
示例性的,所述微服务应用执行被分配的所述任务后,将得到的相应数据返回给微服务消费方。
可以理解的,微服务应用被分配的所述存储空间的容量越大,即被分配的所述存储单元越多,所述微服务应用被分配的任务就越多,所述微服务应用的线程就会得到更大限度的调度。
S154、在所述当前出口将完成分配的所述任务删除;
例如,循环队列Q的当前出口的指针为f,在指针为f的存储单元Q(f)中将所述任务删除。
S155、将所述循环队列的出口调整为所述循环队列中所述当前出口的下一个存有数据的存储单元。
例如,Q(f)的下一个存储单元的指针为f_new=(f+1)%MAXSIZE,若指针为f_new的存储单元Q(f_new)中存有数据,则将Q(f_new)确定为循环队列Q的出口。
示例性的,若所述循环队列存满了数据,可以执行步骤S150后获得未存有数据的存储单元,再执行步骤S142将所述循环的入口调整为该未存有数据的存储单元。
在一些实施方式中,所述微服务应用执行所述任务得到的数据可以储存在区块链节点中。其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在一些实施例中,所述微服务集群的调度方法还包括步骤S101-S102:
S101、获取配置文件;
示例性的,可以根据用户的配置操作生成所述配置文件。
S102、根据所述配置文件在微服务架构的配置中心中配置调度策略,所述调度策略用于实现步骤S110-S150。
示例性的,所述配置文件存放在微服务架构的配置中心中,在所述配置文件中通过脚本添加所述调度策略。
根据在微服务配置中心配置的调度策略实现步骤S110-S150,支持可配置性的微服务,降低了微服务的开发量,丰富了用户的体验感,业务系统不需要关注调度方法的具体实现方式,无须做额外的业务开发。
示例性的,所述微服务集群的调度方法,可以融合Hystrix、负载均衡、Feign等Spring Cloud微服务架构的组件,可扩展性更加丰富,可以兼容用户的二次开发。
本申请提供的微服务集群的调度方法,通过获取微服务集群的微服务应用的性能指标;根据所述性能指标,为所述微服务应用分配对应规模的系统资源,所述系统资源包括所述微服务集群的任务存储区中的存储空间;根据微服务消费方的服务请求,确定所述微服务消费方调用的任务;将所述微服务消费方调用的任务存储至所述任务存储区中;根据所述任务所在的存储空间,将所述任务分配给所述存储空间对应的微服务应用执行,实现根据微服务应用的性能对微服务集群的系统资源进行合理分配以及根据各微服务应用被分配的系统资源中任务存储区的存储空间对微服务集群的任务进行合理分配,以实现微服务集群的负载均衡,从而提升微服务集群的性能和效率,该方法效率高,易于实现,方便移植。同时,所述微服务集群的调度方法对微服务集群中的微服务应用进行了统一治理,提升了微服务集群的运维效率,降低了微服务集群的运维成本。
本申请实施例可以应用在人工智能领域,例如,所述微服务集群可以用于为人工智能平台提供云计算。人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例还可以应用在数字医疗领域,例如,所述微服务集群可以用于实现医疗云。医疗云(Medical cloud),是指在云计算、移动技术、多媒体、4G通信、大数据、以及物联网等新技术基础上,结合医疗技术,使用“云计算”来创建医疗健康服务云平台,实现了医疗资源的共享和医疗范围的扩大。因为云计算技术的运用于结合,医疗云提高医疗机构的效率,方便居民就医。像现在医院的预约挂号、电子病历、医保等都是云计算与医疗领域结合的产物,医疗云还具有数据安全、信息共享、动态扩展、布局全局的优势。
如图3所示,该微服务集群的调度装置,包括:性能获取模块110、资源分配模块120、任务获取模块130、任务缓存模块140及任务分配模块150。
性能获取模块110,用于获取微服务集群的微服务应用的性能指标;
资源分配模块120,用于根据所述性能指标,为所述微服务应用分配对应规模的系统资源,所述系统资源包括所述微服务集群的任务存储区中的存储空间;
任务获取模块130,用于根据微服务消费方的服务请求,确定所述微服务消费方调用的任务;
任务缓存模块140,用于将所述微服务消费方调用的任务存储至所述任务存储区中;
任务分配模块150,用于根据所述任务所在的存储空间,将所述任务分配给所述存储空间对应的微服务应用执行。
示例性的,所述微服务应用的性能指标包括所述微服务应用当前的吞吐量,资源分配模块120包括权重确定子模块及资源分配子模块。
权重确定子模块,用于根据所述微服务应用当前的吞吐量,确定所述微服务应用的资源分配权重。
资源分配子模块,用于根据所述资源分配权重,为所述微服务应用分配所述系统资源。
示例性的,权重确定子模块具体用于:若所述微服务应用当前的吞吐量达到了预设的参考指标,根据所述微服务应用当前的吞吐量与所述参考指标之比,确定所述微服务应用的资源分配权重。
示例性的,权重确定子模块还具体用于:若所述微服务应用当前的吞吐量未达到所述参考指标,确定所述微服务应用的资源分配权重为0。
示例性的,资源分配子模块具体用于:根据每个所述微服务应用的资源分配权重在所有所述微服务应用的资源分配权重中的占比,为每个所述微服务应用分配对应规模的所述系统资源。
示例性的,资源分配模块120具体用于:根据所述性能指标,确定所述微服务集群的循环队列中对应数目的存储单元为所述微服务应用对应的存储空间。
示例性的,任务缓存模块140具体用于:在所述循环队列的当前入口添加所述微服务消费方调用的任务;将所述循环队列的入口调整为所述循环队列中所述当前入口的下一个未存有数据的存储单元。
示例性的,任务分配模块150具体用于:确定所述循环队列当前出口对应的微服务应用;在所述循环队列的当前出口读取所述任务;将读取的所述任务分配给所述当前出口对应的微服务应用执行;在所述当前出口将完成分配的所述任务删除;将所述循环队列的出口调整为所述循环队列中所述当前出口的下一个存有数据的存储单元。
请参阅图4,图4是本申请实施例提供的一种计算机设备的示意图。该计算机设备可以是服务器或终端。
如图4所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种微服务集群的调度方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种微服务集群的调度方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,该计算机设备的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一些实施方式中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:获取微服务集群的微服务应用的性能指标;根据所述性能指标,为所述微服务应用分配对应规模的系统资源,所述系统资源包括所述微服务集群的任务存储区中的存储空间;根据微服务消费方的服务请求,确定所述微服务消费方调用的任务;将所述微服务消费方调用的任务存储至所述任务存储区中;根据所述任务所在的存储空间,将所述任务分配给所述存储空间对应的微服务应用执行。
示例性的,所述微服务应用的性能指标包括所述微服务应用当前的吞吐量,处理器用于实现根据所述性能指标,为所述微服务应用分配对应规模的系统资源时,实现:根据所述微服务应用当前的吞吐量,确定所述微服务应用的资源分配权重;根据所述资源分配权重,为所述微服务应用分配所述系统资源。
示例性的,处理器用于实现所述所述根据所述微服务应用当前的吞吐量,确定所述微服务应用的资源分配权重时,实现:若所述微服务应用当前的吞吐量达到了预设的参考指标,根据所述微服务应用当前的吞吐量与所述参考指标之比,确定所述微服务应用的资源分配权重。
示例性的,处理器用于实现所述根据所述资源分配权重,为所述微服务应用分配所述系统资源时,实现:根据每个所述微服务应用的资源分配权重在所有所述微服务应用的资源分配权重中的占比,为每个所述微服务应用分配对应规模的所述系统资源。
示例性的,处理器用于实现所述根据所述微服务应用当前的吞吐量,确定所述微服务应用的资源分配权重时,还实现:若所述微服务应用当前的吞吐量未达到所述参考指标,确定所述微服务应用的资源分配权重为0。
示例性的,处理器用于实现所述根据所述性能指标,为所述微服务应用分配对应规模的系统资源时,实现:根据所述性能指标,确定所述微服务集群的循环队列中对应数目的存储单元为所述微服务应用对应的存储空间。
示例性的,处理器用于实现所述将所述微服务消费方调用的任务存储至所述任务存储区中时,实现:在所述循环队列的当前入口添加所述微服务消费方调用的任务;将所述循环队列的入口调整为所述循环队列中所述当前入口的下一个未存有数据的存储单元。
示例性的,处理器用于实现所述根据所述任务所在的存储空间,将所述任务分配给所述存储空间对应的微服务应用执行时,实现:确定所述循环队列当前出口对应的微服务应用;在所述循环队列的当前出口读取所述任务;将读取的所述任务分配给所述当前出口对应的微服务应用执行;在所述当前出口将完成分配的所述任务删除;将所述循环队列的出口调整为所述循环队列中所述当前出口的下一个存有数据的存储单元。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法,如:
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项微服务集群的调度方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (4)

1.一种微服务集群的调度方法,其特征在于,所述方法包括:
获取微服务集群的微服务应用的性能指标;
根据所述性能指标,为所述微服务应用分配对应规模的系统资源,所述系统资源包括所述微服务集群的任务存储区中的存储空间;
根据微服务消费方的服务请求,确定所述微服务消费方调用的任务;
将所述微服务消费方调用的任务存储至所述任务存储区中;
根据所述任务所在的存储空间,将所述任务分配给所述存储空间对应的微服务应用执行;
所述性能指标包括所述微服务应用当前的吞吐量,所述任务存储区包括循环队列,所述存储空间包括所述循环队列的存储单元;
所述根据所述性能指标,为所述微服务应用分配对应规模的系统资源,包括:
根据所述微服务应用当前的吞吐量,确定所述微服务应用的资源分配权重;
根据所述微服务应用的资源分配权重在所有所述微服务应用的资源分配权重中的占比与所有所述循环队列的存储单元总数相乘,确定所述微服务集群的循环队列中对应数目的存储单元为所述微服务应用对应的存储单元;
所述根据所述微服务应用当前的吞吐量,确定所述微服务应用的资源分配权重,包括:
若所述微服务应用当前的吞吐量达到了预设的参考指标,根据所述微服务应用当前的吞吐量与所述参考指标之比,确定所述微服务应用的资源分配权重;
若所述微服务应用当前的吞吐量未达到所述参考指标,确定所述微服务应用的资源分配权重为0;
所述将所述微服务消费方调用的任务存储至所述任务存储区中,包括:
在所述循环队列的当前入口添加所述微服务消费方调用的任务;
将所述循环队列的入口调整为所述循环队列中所述当前入口的下一个未存有数据的存储单元;
所述根据所述任务所在的存储空间,将所述任务分配给所述存储空间对应的微服务应用执行,包括:
确定所述循环队列当前出口对应的微服务应用;
在所述循环队列的当前出口读取所述任务;
将读取的所述任务分配给所述当前出口对应的微服务应用执行;
在所述当前出口将完成分配的所述任务删除;
将所述循环队列的出口调整为所述循环队列中所述当前出口的下一个存有数据的存储单元。
2.一种微服务集群的调度装置,其特征在于,所述装置包括:
性能获取模块,用于获取微服务集群的微服务应用的性能指标;
资源分配模块,用于根据所述性能指标,为所述微服务应用分配对应规模的系统资源,所述系统资源包括所述微服务集群的任务存储区中的存储空间;
任务获取模块,用于根据微服务消费方的服务请求,确定所述微服务消费方调用的任务;
任务缓存模块,用于将所述微服务消费方调用的任务存储至所述任务存储区中;
任务分配模块,用于根据所述任务所在的存储空间,将所述任务分配给所述存储空间对应的微服务应用执行;
其中,所述性能指标包括所述微服务应用当前的吞吐量,所述任务存储区包括循环队列,所述存储空间包括所述循环队列的存储单元;
所述根据所述性能指标,为所述微服务应用分配对应规模的系统资源,包括:
根据所述微服务应用当前的吞吐量,确定所述微服务应用的资源分配权重;
根据所述微服务应用的资源分配权重在所有所述微服务应用的资源分配权重中的占比与所有所述循环队列的存储单元总数相乘,确定所述微服务集群的循环队列中对应数目的存储单元为所述微服务应用对应的存储单元;
所述根据所述微服务应用当前的吞吐量,确定所述微服务应用的资源分配权重,包括:
若所述微服务应用当前的吞吐量达到了预设的参考指标,根据所述微服务应用当前的吞吐量与所述参考指标之比,确定所述微服务应用的资源分配权重;
若所述微服务应用当前的吞吐量未达到所述参考指标,确定所述微服务应用的资源分配权重为0;
所述将所述微服务消费方调用的任务存储至所述任务存储区中,包括:
在所述循环队列的当前入口添加所述微服务消费方调用的任务;
将所述循环队列的入口调整为所述循环队列中所述当前入口的下一个未存有数据的存储单元;
所述根据所述任务所在的存储空间,将所述任务分配给所述存储空间对应的微服务应用执行,包括:
确定所述循环队列当前出口对应的微服务应用;
在所述循环队列的当前出口读取所述任务;
将读取的所述任务分配给所述当前出口对应的微服务应用执行;
在所述当前出口将完成分配的所述任务删除;
将所述循环队列的出口调整为所述循环队列中所述当前出口的下一个存有数据的存储单元。
3.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述的计算机程序并在执行所述的计算机程序时实现如权利要求1所述的微服务集群的调度方法。
4.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,若所述计算机程序被处理器执行,实现如权利要求1所述的微服务集群的调度方法。
CN202111014493.0A 2021-08-31 2021-08-31 微服务集群的调度方法、装置、设备及存储介质 Active CN113703945B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111014493.0A CN113703945B (zh) 2021-08-31 2021-08-31 微服务集群的调度方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111014493.0A CN113703945B (zh) 2021-08-31 2021-08-31 微服务集群的调度方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113703945A CN113703945A (zh) 2021-11-26
CN113703945B true CN113703945B (zh) 2024-02-20

Family

ID=78658145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111014493.0A Active CN113703945B (zh) 2021-08-31 2021-08-31 微服务集群的调度方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113703945B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117215799A (zh) * 2023-11-03 2023-12-12 天津市职业大学 一种软件模块的管理方法、系统、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639598A (zh) * 2018-10-19 2019-04-16 深圳平安财富宝投资咨询有限公司 基于微服务的请求处理方法、服务器、存储介质及装置
CN109669985A (zh) * 2017-10-17 2019-04-23 埃森哲环球解决方案有限公司 在微服务环境中使用相关数据分配执行任务
CN109800083A (zh) * 2018-12-18 2019-05-24 平安科技(深圳)有限公司 一种微服务协同调用的方法、装置、系统及存储介质
CN112000448A (zh) * 2020-07-17 2020-11-27 北京计算机技术及应用研究所 基于微服务架构的应用管理方法
CN112491581A (zh) * 2020-10-30 2021-03-12 中国人寿保险股份有限公司 一种服务性能监控管理方法及装置
CN112783649A (zh) * 2021-01-19 2021-05-11 苏州博纳讯动软件有限公司 一种面向云计算的交互感知的容器化微服务资源调度方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669985A (zh) * 2017-10-17 2019-04-23 埃森哲环球解决方案有限公司 在微服务环境中使用相关数据分配执行任务
CN109639598A (zh) * 2018-10-19 2019-04-16 深圳平安财富宝投资咨询有限公司 基于微服务的请求处理方法、服务器、存储介质及装置
CN109800083A (zh) * 2018-12-18 2019-05-24 平安科技(深圳)有限公司 一种微服务协同调用的方法、装置、系统及存储介质
CN112000448A (zh) * 2020-07-17 2020-11-27 北京计算机技术及应用研究所 基于微服务架构的应用管理方法
CN112491581A (zh) * 2020-10-30 2021-03-12 中国人寿保险股份有限公司 一种服务性能监控管理方法及装置
CN112783649A (zh) * 2021-01-19 2021-05-11 苏州博纳讯动软件有限公司 一种面向云计算的交互感知的容器化微服务资源调度方法

Also Published As

Publication number Publication date
CN113703945A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
CN109218355B (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
CN110727512B (zh) 集群资源调度方法、装置、设备及储存介质
USRE47945E1 (en) Application load adaptive multi-stage parallel data processing architecture
CN102971724B (zh) 与数据中心环境内的基于单元式虚拟资源的管理有关的方法和装置
US9092266B2 (en) Scalable scheduling for distributed data processing
Chen et al. MapReduce scheduling for deadline-constrained jobs in heterogeneous cloud computing systems
CN105487930A (zh) 一种基于Hadoop的任务优化调度方法
CN106233276A (zh) 网络可访问块存储装置的协调准入控制
Bi et al. SLA-based optimisation of virtualised resource for multi-tier web applications in cloud data centres
WO2018233299A1 (zh) 调度处理器的方法、装置、设备及介质
CN112988390A (zh) 一种算力资源分配方法及装置
WO2024016596A1 (zh) 容器集群调度的方法、装置、设备及存储介质
Ahmed et al. A hybrid and optimized resource scheduling technique using map reduce for larger instruction sets
Mekala et al. DAWM: Cost-aware asset claim analysis approach on big data analytic computation model for cloud data centre
CN113703945B (zh) 微服务集群的调度方法、装置、设备及存储介质
CN115640113A (zh) 多平面弹性调度方法
JP5043166B2 (ja) 計算機システム、データ検索方法及びデータベース管理計算機
CN104657087B (zh) 一种虚拟磁盘映射的方法、装置及系统
US20230289214A1 (en) Intelligent task messaging queue management
Mohanapriya et al. An optimal time-based resource allocation for biomedical workflow applications in cloud
Azumah et al. Hybrid cloud service selection strategies: a qualitative meta-analysis
JP2020154391A (ja) 情報処理システムおよびプログラム
CN114090201A (zh) 资源调度方法、装置、设备及存储介质
Su et al. Node capability aware resource provisioning in a heterogeneous cloud
CN112561301A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240123

Address after: 518000 World Trade Plaza 101-1, Funan Community, Futian Street, Futian District, Shenzhen, Guangdong Province

Applicant after: SHENZHEN XINGHAI IOT TECHNOLOGY Co.,Ltd.

Country or region after: China

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

Country or region before: China

GR01 Patent grant
GR01 Patent grant