CN110858160A - 资源调度方法及装置、存储介质和处理器 - Google Patents
资源调度方法及装置、存储介质和处理器 Download PDFInfo
- Publication number
- CN110858160A CN110858160A CN201810972317.XA CN201810972317A CN110858160A CN 110858160 A CN110858160 A CN 110858160A CN 201810972317 A CN201810972317 A CN 201810972317A CN 110858160 A CN110858160 A CN 110858160A
- Authority
- CN
- China
- Prior art keywords
- resource
- instance
- filter
- resource scheduling
- scheduling policy
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种资源调度方法及装置、存储介质和处理器。其中,该方法包括:根据数据存储装置中存储的配置信息,构造资源调度策略实例和相关联的一个或多个过滤器实例,其中,上述配置信息指示资源调度策略和一个或多个过滤器之间的关联关系;确定与请求资源调度的业务相对应的资源调度策略实例;调用上述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理上述业务的资源。本申请解决了现有的资源调度方法调度云资源的过程中需要频繁修改代码,导致资源调度的效率低下的技术问题。
Description
技术领域
本申请涉及资源调度领域,具体而言,涉及一种资源调度方法及装置、存储介质和处理器。
背景技术
云业务是指由云端按需提供的业务平台,随着云业务的发展,不同的云资源调度需要采用不同的调度策略,而每次发布调度策略都需要修改代码。
因而,由于云业务发展需要的调度策略越来越多,且更新速度越来越快,开发人员经常会遇到修改代码冲突的问题,需要合并代码或进行多次代码测试,严重影响调度策略的上线效率,且上线成本越来越高;由于云计算调度策略的越来越多,与调度策略相关的代码量越来越多,上线发布包越来越大,使得应用发布后启动速度越来越慢,代码维护成本越来越高。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种资源调度方法及装置、存储介质和处理器,以至少解决现有的资源调度方法调度云资源的过程中需要频繁修改代码,导致资源调度的效率低下的技术问题。
根据本申请实施例的一个方面,提供了一种资源调度方法,包括:根据数据存储装置中存储的配置信息,构造资源调度策略实例和相关联的一个或多个过滤器实例,其中,上述配置信息指示资源调度策略和一个或多个过滤器之间的关联关系;确定与请求资源调度的业务相对应的资源调度策略实例;调用上述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理上述业务的资源。
根据本申请实施例的另一方面,还提供了一种资源调度装置,包括:构造模块,用于根据数据存储装置中存储的配置信息,构造资源调度策略实例和相关联的一个或多个过滤器实例,其中,上述配置信息指示资源调度策略和一个或多个过滤器之间的关联关系;确定模块,用于确定与请求资源调度的业务相对应的资源调度策略实例;调用模块,用于调用上述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理上述业务的资源。
根据本申请实施例的另一方面,还提供了一种存储介质,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行任意一项上述的资源调度方法。
根据本申请实施例的另一方面,还提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行任意一项上述的资源调度方法。
根据本申请实施例的另一方面,还提供了一种计算设备,包括:存储器和处理器,其中,上述存储器存储有计算机程序,上述处理器,用于执行上述存储器中存储的计算机程序,上述计算机程序运行时执行上述任意一项上述的资源调度方法。
在本申请实施例中,根据数据存储装置中存储的配置信息,构造资源调度策略实例和相关联的一个或多个过滤器实例,其中,上述配置信息指示资源调度策略和一个或多个过滤器之间的关联关系;确定与请求资源调度的业务相对应的资源调度策略实例;调用上述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理上述业务的资源。
容易注意到的是,本申请实施例数据存储装置中存储的各种类之间关联关系的配置信息,以根据上述配置信息中的关联关系,来实例化相应的资源调度策略和过滤器。在调度资源的过程中,调用上述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理上述业务的资源,进而达到了在调度云资源的过程中无需频繁修改代码的目的,从而实现了提高资源调度的效率的技术效果。
由此,本申请实施例解决了现有的资源调度方法调度云资源的过程中需要频繁修改代码,导致资源调度的效率低下的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于实现资源调度方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的一种资源调度方法的流程图;
图3是根据本申请实施例的一种可选的处理过滤器链实例的示意图;
图4是根据本申请实施例的一种可选的资源调度方法的运行示意图;
图5是根据本申请实施例的一种可选的资源调度方法的运行流程图;
图6是根据本申请实施例的一种可选的动态调整过滤器的流程图;
图7是根据本申请实施例的一种可选的动态调整过滤器链的流程图;
图8是根据本申请实施例的一种可选的动态调整过滤器处理器的流程图;
图9是根据本申请实施例的一种可选的动态调整资源调度策略的流程图;
图10是根据本申请实施例的一种可选的运维业务的流程图;
图11是根据本申请实施例的一种可选的用户业务流程的示意图;
图12是根据本申请实施例的一种资源调度装置的示意图;以及
图13是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
虚拟机(Virtual Machine,VM):是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
宿主机:是指虚拟机所在的物理机。
过滤器(filter):是指用于过滤云计算资源,寻找用户需要资源的处理器。
过滤器链(filter Chain):包括一个或多个过滤器,例如,可以但不限于为一组过滤器的组合。
权重(weight):是指某一因素或指标相对于某一事物的重要程度,不同于一般的比重,权重体现的不仅仅为某一因素或指标所占的百分比,强调的是因素或指标的相对重要程度,倾向于贡献度或重要性。
内存:也称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据,只要计算机在运行中,CPU就会将需要运算的数据调到内存中进行运算,当运算完成之后CPU再将结果传送出来,内存的运行也影响了计算机的稳定运行。
实施例1
根据本申请实施例,提供了一种资源调度方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现资源调度方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的资源调度方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的资源调度方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实施例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实施例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实施例可包括计算机终端10的通信供应商提供的无线网络。在一个实施例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实施例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在上述运行环境下,本申请提供了如图2所示的一种资源调度方法的实施例。图2是根据本申请实施例的一种资源调度方法的流程图,如图2所示,上述资源调度方法可以通过以下方法步骤实现:
步骤S202,根据数据存储装置中存储的配置信息,构造资源调度策略实例和相关联的一个或多个过滤器实例,其中,上述配置信息指示资源调度策略和一个或多个过滤器之间的关联关系。
可选的,上述数据存储装置可以为数据库,上述资源调度策略和过滤器可以实现为面向对象计算机编程语言中的类,而实例是根据类创建出来的一个个具体的对象,在本申请实施例中,类存储在数据存储装置中,类的实例存储在每台运行的服务器的内存中。
在本申请实施例中,根据上述数据存储装置中存储的配置信息中所指示的资源调度策略和过滤器之间的关联关系,构造资源调度策略实例和相关联的一个或多个过滤器实例。
在一种可选的实施例中,上述步骤S202具体可以包括:根据上述配置信息,构造资源调度策略实例、与上述资源调度策略实例相关联的过滤器链实例和与上述过滤器链实例相关联的一个或多个过滤器实例,其中,上述配置信息指示上述资源调度策略、过滤器链和上述一个或多个过滤器之间的关联关系。同样地,过滤器链也可以实现为面向对象计算机编程语言中的类。即,根据配置信息中指示的上述资源调度策略、过滤器链和上述一个或多个过滤器之间的关联关系,构造资源调度策略实例、与上述资源调度策略实例相关联的过滤器链实例和与上述过滤器链实例相关联的一个或多个过滤器实例。
在一种可选的实施例中,以上述数据存储装置为数据库为例,可以预先将上述一个或多个过滤器作为配置信息存储在数据库中,以便于后续通过运维接口对数据库中的过滤器,进行增加、修改、删除。其中,上述过滤器中可以包括但不限于为以下类型:spring-bean、java-bean、expression等,本申请实施例中还可以依据一个或多个过滤器的类型,将上述一个或多个过滤器存储在数据库中。
在本申请实施例中,与过滤器相关的配置信息至少可以包括过滤器的名称、类型、描述和数据。例如,上述数据存储装置存储过滤器的结构可以但不限于为下表1所示:
表1
在上述可选的实施例,对于上述spring-bean类型的过滤器,其实例可以从业务代码上下文中直接抽取;对于上述java-bean类型的过滤器,其实例可以通过Classic.forName的方式生成;对于上述expression类型的过滤器,其实例可以根据规则引擎进行编译后生成。上述对应的实例数据按照key-value的形式存储在每台运行的服务器的内存中。
在一种可选的实施例中,以上述数据存储装置为数据库为例,可以预先将上述过滤器链、以及过滤器链与过滤器的关联关系作为配置信息存储在数据库中,以便于后续通过运维接口对数据库中的过滤器链,进行增加、修改、删除。
在上述可选的实施例中,上述过滤器链可以包括按序排列的一个或多个过滤器,与过滤器链相关的配置信息可以包括用于指示过滤器链和过滤器之间关联关系的过滤器链信息表,具体如下表2所示,每条记录对应一条过滤器链,并可以指示该过滤器链所包含的过滤器或者过滤器链以及排列顺序。
具体地,每条记录可以包括过滤器链名称、类型、值和序列,过滤器链名称对应过滤器链,类型指示该过滤器链所包含的是一个过滤器filter还是一条过滤器链chain,值为所包含的过滤器名称或者过滤器链名称,序列指示所包含的过滤器或者过滤器链在该过滤器链中的排列顺序。
表2
编号 | 过滤器链名称 | 类型 | 值 | 序列 |
1 | baseChain | Filter | CoreFilter | 1 |
2 | baseChain | Filter | MemFilter | 2 |
3 | baseChain | Filter | gpuFilter | 3 |
4 | preChain | Chain | baseChain | 1 |
5 | preChain | Filter | loadFilter | 2 |
… | … | … | … |
一种可选的实施例中,本申请实施例可以依据如下方式构造过滤器实例和过滤器链实例:可以先根据与过滤器相关的配置信息来构造过滤器实例,再根据与过滤器链相关的配置信息,即上述过滤器链信息表来构造过滤器链实例,其中,与过滤器链实例相关联的一个或多个过滤器实例为过滤器链信息表所指示的该过滤器链包含的过滤器对应的过滤器实例。
一种可选的实施例中,本申请实施例还可以依据如下方式构造与过滤器链实例相关联的一个或多个过滤器实例:对与过滤器链实例相关联的一个或多个过滤器实例进行去重。
在上述可选的实施例中,本申请实施例可以通过扫描过滤器链信息表的所有记录,生成chainName-List<Filter>类型的映射表,该映射表指示过滤器链实例与过滤器实例的关联关系,其中,value为过滤器的实例化对象,也就是过滤器实例。并且,考虑到过滤器链实例中可能包含了多个重复的过滤器实例,为了避免多次过滤相同内容带来的性能开销,可以对于每个过滤器链实例,遍历出其关联的所有的过滤器实例并对这些过滤器实例进行去重处理。
图3是根据本申请实施例的一种可选的处理过滤器链实例的示意图,如图3所示,过滤器链实例Chain A中的过滤器实例的顺序为A、B,过滤器链实例Chain B中的过滤器实例的顺序为C、D、A;由于过滤器链实例Chain C除包括上述过滤器链实例Chain A和过滤器链实例Chain B之外,还包括过滤器实例B,为避免由于存在多个重复的过滤器实例,导致多次过滤相同内容带来的性能开销,可以遍历出过滤器链实例Chain C中所有的过滤器并进行去重处理,得到过滤器链实例Chain C中的过滤器实例的顺序为B、A、C、D。由于过滤器链实例Chain D除包括上述过滤器链实例Chain A和过滤器链实例Chain B之外,还包括过滤器实例的E、D、A,为避免由于存在多个过滤器重复,导致多次过滤相同内容带来的性能开销,可以遍历出过滤器链实例Chain D中所有的过滤器并进行去重处理,得到过滤器链实例Chain D中的过滤器实例的顺序为E、A、B、D、C。
在一种可选的实施例中,以上述数据存储装置为数据库为例,可以预先将上述资源调度策略、以及资源调度策略和过滤器链的关联关系作为配置信息存储在数据库中,以便于后续通过运维接口对数据库中的资源调度策略,进行增加、修改、删除。
在一种可选的实施例中,步骤S202还可以具体包括:根据配置信息,构造资源调度策略实例、与资源调度策略实例相关联的处理器实例和与处理器实例相关联的过滤器链实例,其中,配置信息还指示资源调度策略、处理器(filterHandler)和过滤器链之间的关联关系。
类似地,以上述数据存储装置为数据库为例,可以预先将上述处理器、以及处理器和资源调度策略、过滤器链的关联关系作为配置信息存储在数据库中,以便于后续通过运维接口对数据库中的处理器,进行增加、修改、删除。其中,与过滤器链相关联的处理器用于执行该过滤器链的过滤器链实例。
作为一种可选的实施例,本申请实施例还可以在数据存储装置中作为配置信息存储如下表3所示的资源调度策略表,用于存储资源调度策略与处理器之间的关联关系。
表3
编号 | 策略名称 | 策略描述 | 处理器名称 |
1 | preSchedule | 预调度 | preFilterHandler |
2 | normalSchedule | 普通调度 | baseFilterHandler |
3 | stockCacl | 库存计算 | stockFilterHandler |
… | … | … | … |
作为一种可选的实施例,本申请实施例还可以在数据存储装置中存储如下表4所示的与过滤器链相关联的上述处理器filterHandler表,用于记录过滤器链与上述处理器之间的关联关系。
表4
编号 | 处理器名称 | 描述 | 过滤器链名称 |
1 | baseFilterHandler | 基础处理器 | BaseChain |
2 | preFilterHandler | 预调度处理器 | preChain |
3 | stockFilterHandler | 库存调度处理器 | BaseChain |
… | … | … |
显然地,过滤器链可以通过处理器与资源调度策略关联起来,即,资源调度策略实例通过相应的处理器实例与过滤器链实例关联起来。
需要说明的是,在对资源调度策略实例进行初始化时可以扫描如表3所示的资源调度策略表和如表4所示的与过滤器链相关联的处理器表,为每种业务绑定对应的处理器,而后通过增加BusinessStrategyFactory类和其中的generateBusinessFilterHandler方法,则可以在输入一个业务名称BusinessName之后,返回相应的处理器filterHandler实例,以处理用户的资源调度需求。
步骤S204,确定与请求资源调度的业务相对应的资源调度策略实例。
上述业务包括但不限于为运营业务、热迁移预分配计划业务、库存计算业务等等。
在一种可选的实施例中,本申请实施例可以根据上述数据存储装置中存储的业务与资源调度策略之间的对应关系,确定与上述请求资源调度的业务对应的资源调度策略实例。
作为一种可选的实施例,如下表5所示,本申请实施例还可以在数据存储装置中存储用于记录业务与资源调度策略之间的对应关系的关联表,用于后续动态的对请求资源调度的业务的资源调度策略进行调整。
表5
编号 | 业务名称 | 业务描述 | 资源调度策略名称 |
1 | CreateInstance | 实例创建 | normalSchedule |
2 | MigrationTraining | 迁移计划训练 | preSchedule |
… | … | … | … |
在一种可选的实施例中,如表5所示,以上述请求资源调度的业务为CreateInstance为例,则可以确定上述请求资源调度的业务CreateInstance对应的资源调度策略normalSchedule,进而可以确定对应的资源调度策略实例,进而与该资源调度策略实例normalSchedule相关联的一个或者多个过滤器实例,即为上述请求资源调度的业务CreateInstance对应的一个或者多个过滤器实例。
在另一种可选的实施例中,如表5所示,以上述请求资源调度的业务为MigrationTraining为例,则可以确定上述请求资源调度的业务MigrationTraining对应的资源调度策略preSchedule和对应的资源调度策略实例preSchedule,进而与该资源调度策略实例preSchedule相关联的一个或者多个过滤器实例,即为上述请求资源调度的业务MigrationTraining对应的相关联的一个或者多个过滤器实例。
基于上述表4至表5所提供的资源调度策略实例与过滤器链实例之间的关联关系,可以确定上述请求资源调度的业务对应的资源调度策略实例所关联的过滤器链实例。
需要说明的是,上述策略、处理器、过滤器、过滤器链等均可以实现为类,上述关联关系均为类与类之间的依赖关系,也就是一个实例在运行期间会调用到相关联的另一个实例的关系。这种关联关系是一种临时性的关系,通常在运行期间产生,并且可以随着运行时的变化而变化。在业务代码中,这种关联关系可以体现为类构造方法及类方法的传入参数。例如,资源调度策略的构造方法可以使用处理器实例作为参数,处理器的构造方法可以使用过滤器链实例作为参数,过滤器链的构造方法可以使用过滤器实例作为参数。
在本实施例中,资源调度策略与处理器之间存在关联关系,即,资源调度策略依赖处理器,资源调度策略实例在运行期间会调用相关联的处理器实例。处理器与过滤器链之间存在关联关系,即,处理器依赖过滤器链,处理器实例在运行期间会调用相关联的过滤器链实例。过滤器链与过滤器之间存在关联关系,即,过滤器链依赖过滤器,过滤器链实例在运行期间会调用相关联的过滤器实例。
步骤S206,调用上述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理上述业务的资源。
在一种可选的实施例中,如果有多个过滤器,则按顺序一个一个对资源进行过滤,最后剩下的资源为处理业务的资源。
在本申请实施例中,根据数据存储装置中存储的配置信息,构造资源调度策略实例和相关联的一个或多个过滤器实例,其中,上述配置信息指示资源调度策略和一个或多个过滤器之间的关联关系;确定与请求资源调度的业务相对应的资源调度策略实例;调用上述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理上述业务的资源。
容易注意到的是,本申请实施例数据存储装置中存储的各种类之间关联关系的配置信息,以根据上述配置信息中的关联关系,来实例化相应的资源调度策略和过滤器。在调度资源的过程中,调用上述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理上述业务的资源,进而达到了在调度云资源的过程中无需频繁修改代码的目的,从而实现了提高资源调度的效率的技术效果。
由此,本申请实施例解决了现有的资源调度方法调度云资源的过程中需要频繁修改代码,导致资源调度的效率低下的技术问题。
在本申请实施例中,数据存储装置中存储有各种类之间关联关系的配置信息,并根据上述配置信息中的关联关系来实例化相应的资源调度策略和过滤器,通过抽出类的共同代码,将可变的代码部分数据化存储在数据存储装置中,使用相同类不同的资源调度策略实例和过滤器实例的方式,区分业务场景。本申请实施例中,将代码与数据分离,启用资源调度策略模式,不用加载过多的重复类,使得程序初始化速度变快,用户可根据业务需求定制业务策略,进而可以实现避免不需要的策略也需要加载带来的开销。
并且,本申请实施例通过将过滤器实例存储在每台运行的服务器的内存中,采用数据驱动的方式调用数据存储装置中存储的过滤器,抽取类的共同代码,将可变的部分数据化存储在数据存储装置中,使用相同类不同实例的方式区分不同的业务场景。
在一种可选的实施例中,上述方法还包括如下方法步骤:
步骤S302,根据上述配置信息,构造与资源调度策略实例相关联的资源排序器实例和资源选择器实例,其中,上述配置信息包括资源调度策略和资源排序器、资源选择器之间的关联关系。
可选的,在上述步骤S302中,上述资源排序器可以为在数据存储装置中作为配置信息存储的权重处理类(weight),上述资源选择器可以为在数据存储装置中作为配置信息存储的选择最佳资源类(getBestResource)。
在一种可选的实施例中,上述资源排序器和上述资源选择器均包括以下至少一种类型:java-bean、spring-bean、expression。
作为一种可选的实施例,以上述资源排序器为在数据存储装置中存储的权重处理类为例,本申请实施例还可以在数据存储装置中存储资源排序器表,其中,每条记录对应一个资源排序器,并至少包括资源排序器名称、描述、以及类型和值。示例如下表6所示:
表6
作为另一种可选的实施例,以上述资源选择器为在数据存储装置中存储的选择最佳资源类为例,本申请实施例还可以在数据存储装置中存储资源选择器表,其中,每条记录对应一个资源选择器,并至少包括资源选择器名称、描述、以及类型和值。示例如下表7所示:
表7
在本申请实施例中,根据上述数据存储装置中存储的配置信息中的类,具体的,可以根据配置信息中权重处理类和选择最佳资源类,构造资源排序器实例、资源选择器实例。
其中,构造资源排序器实例和资源选择器实例具体还可以包括:根据配置信息,构造资源排序器处理器实例和与资源排序器处理器实例相关联的资源排序器实例,以及构造资源选择器处理器实例和与资源选择器处理器实例相关联的资源选择器实例,其中,配置信息还指示资源排序器处理器(weightHandler)和资源排序器之间的关联关系、以及资源选择器处理器(chooseBestHandler)和资源排序器之间的关联关系。资源排序器处理器实例用于执行相关联的资源排序器实例,资源选择器处理器实例用于执行相关联的资源选择器实例。
作为一种可选的实施例,与配置信息中与过滤器链相关联的处理器filterHandler表类似地,本申请实施例还可以在数据存储装置中存储资源排列器处理器表和资源选择器处理器表,分别用于记录资源排序器处理器实例(weightHandler)和资源排序器之间的关联关系、以及资源选择器处理器(chooseBestHandler)和资源排序器之间的关联关系。
作为又一种可选的实施例,本申请实施例还可以在数据存储装置中作为配置信息存储有用于记录业务、资源排序器和资源选择器之间对应关系的关系表,进而可以确定与上述业务相对应的资源排序器实例和资源选择器实例,其中,上述关系表的结构示例如下表8所示:
表8
编号 | 业务名称 | 类型 | 值 |
1 | CreateInstance | Weight | TraditionalWeight |
2 | CreateInstance | getBestResource | GetBestOne |
3 | preSchedule | Weight | TraditionalWeight |
4 | preSchedule | getBestResource | GetTop10 |
… | … | … | … |
其中,类型表示是资源排序器(Weight)还是资源选择器(getBestResource),值表示对应的资源排序器或资源选择器名称。
作为又一种可选的实施例,本申请实施例还可以在数据存储装置中作为配置信息存储有用于指示资源调度策略、资源排序器处理器和资源选择器处理器之间关联关系的关系表,进而可以确定与上述资源调度策略相关联的资源排序器处理器实例和资源选择器处理器实例。
需要说明的是,可以为业务绑定对应的资源排序器处理器和资源选择器处理器。通过上述BusinessStrategyFactory类和其中的generateBusinessWeightHandler方法、generateBusinessChooseBestHandler方法,进而可以在输入一个业务名称BusinessName之后,返回对应的资源排序器处理器(weightHandler)实例和资源选择器处理器(chooseBestHandler)实例,以处理用户的资源调度需求。
步骤S304,在调用相关联的一个或者多个过滤器实例对资源进行过滤之后,调用相关联的上述资源排序器实例,对过滤得到的资源计算权重并排序;
步骤S306,调用相关联的上述资源选择器实例,在经过排序的资源中选择处理上述业务的资源。
具体地,上述调用资源排序器实例和资源选择器实例,均可以通过调用相应的资源排序器处理器实例和资源选择器处理器实例而实现。
需要说明的是,上述策略、资源排序器处理器、资源选择器处理器、资源排序器和资源选择器等均可以实现为类,上述关联关系均为类与类之间的依赖关系,也就是一个实例在运行期间会调用到相关联的另一个实例的关系。这种关联关系是一种临时性的关系,通常在运行期间产生,并且可以随着运行时的变化而变化。在业务代码中,这种关联关系可以体现为类构造方法及类方法的传入参数。例如,资源调度策略的构造方法可以使用资源排序器处理器实例和资源选择器处理器实例作为参数,资源排序器处理器的构造方法可以使用资源排序器实例作为参数,资源选择器处理器的构造方法可以使用资源选择器实例作为参数。
在本实施例中,资源调度策略与资源排序器处理器、资源选择器处理器之间存在关联关系,即,资源调度策略依赖资源排序器处理器和资源选择器处理器,资源调度策略实例在运行期间会调用相关联的资源排序器处理器实例和资源选择器处理器实例。资源排序器处理器与资源排序器之间存在关联关系,即,资源排序器处理器依赖资源排序器,资源排序器处理器实例在运行期间会调用相关联的资源排序器实例。资源选择器处理器与资源选择器之间存在关联关系,即,资源选择器处理器依赖资源选择器,资源选择器处理器实例在运行期间会调用相关联的资源选择器实例。
此外,作为一个可选的实施例,资源调度策略还可以包括资源过滤策略(FilterStrategy)、资源排序策略(WeightStrategy)和资源选择策略(ChooseBestStrategy),资源过滤策略关联有前文的filterHandler,资源排序策略关联有前文的WeightHandler,资源选择策略关联有前文的ChooseBestHandler。
在一种可选的实施例中,本申请实施例所提供的可选的资源调度方法的应用场景,可以但不限于如图4所示,以下通过各个可选的实施例和流程图,对上述图4中的应用场景进行说明,图5是根据本申请实施例的一种可选的资源调度方法的运行流程图,如图5所示,上述资源调度方法可以但不限于通过如下方法步骤实现:
步骤S500,开始。
步骤S501,确定业务A、业务B、业务C……业务N。
步骤S502,获取所有的宿主机资源。
步骤S503,判断资源列表是否为空。
其中,若上述步骤S503的判断结果为是,则执行步骤S504;若上述步骤S503的判断结果为否,则执行步骤S505。
步骤S504,失败。
步骤S505,根据业务名称获取资源匹配过滤器处理器实例filterHandler。
步骤S506,判断过滤器处理器实例filterHandler是否为空。
其中,若上述步骤S506的判断结果为是,则执行步骤S504;若上述步骤S506的判断结果为否,则执行步骤S507。
步骤S507,执行过滤器处理器实例filterHandler的过滤器Filter函数。
步骤S508,判断过滤后的资源是否为空。
其中,若上述步骤S508的判断结果为否,则执行步骤S509。
步骤S509,根据业务名称获取资源排序器处理器实例WeightHandler。
其中,上述资源排序器处理器实例WeightHandler与资源排序器相关联。
步骤S510,判断资源排序器处理器实例WeightHandler是否为空。
其中,若上述步骤S510的判断结果为是,则执行步骤S512;若上述步骤S510的判断结果为否,则执行步骤S511。
步骤S511,执行资源排序器处理器实例WeightHandler的权重计算和排序。
步骤S512,根据业务名称获取资源选择器处理器实例ChooseBestHandler。
其中,上述资源选择器处理器实例ChooseBestHandler与资源选择器相关联。
步骤S513,判断资源选择器处理器实例ChooseBestHandler是否为空。
其中,若上述步骤S513的判断结果为是,则执行步骤S516;若上述步骤S510的判断结果为否,则执行步骤S514。
步骤S514,执行资源选择器处理器实例ChooseBestHandler并找出最佳资源。
步骤S515,返回给用户最佳资源。
步骤S516,成功。
需要说明的是,并不是每种业务都需要进行权重排序和选择最佳资源的步骤,本申请实施例中并不局限于最后挑选出一个最佳资源,而是可以根据用户的实际需要,如果需要最佳匹配资源,则最终返回的列表中仅包含一个最佳资源。但是,在一些业务场景中,需要一批符合条件的资源进行计划编排,则可以使用其他的最佳选择器或不使用选择器,直接返回符合条件的全部资源。例如,在库存计算、热迁移预分配计划等业务中,只需要执行完成过滤器进行过滤的环节,不需要进行权重排序,不需要选取最佳资源,则库存计算、热迁移预分配计划等业务在上表7和8中没有对应的数据。
需要说明的是,本申请实施例通过依托后台运维接口,可以在不修改业务代码、不发布的情况下完成不同业务场景下的业务模型的编排,云计算资源调度策略的调整,不同业务场景下云计算资源的权重计算,以及最佳资源选择策略的调整;并且,通过抽象处理业务模型,将变化的业务策略抽取为数据存储在数据存储装置中,后续通过运维接口修改数据存储装置中的数据,并重新初始化到业务模型中,适配业务模型、策略的调整;通过依托后台运维接口,将原有的策略类修改为通用策略类,在短时间内完成全网调度策略的更新升级;而不同的策略通过通用策略类生成新的实例类,可以达到预想的技术效果,而无需进行代码修改和发布。
在一种可选的实施例中,本申请实施例还对上述数据存储装置中存储的以下内容至少之一进行更新操作:上述资源调度策略、上述处理器、上述过滤器链、上述过滤器、上述资源排序器、上述资源排序器处理器、上述资源选择器处理器和上述资源选择器。
在上述实施例中,通过对配置信息中的类进行更新处理,进而可以更新与类对应的实例。其中,上述更新操作包括以下至少之一:增加操作,修改操作和删除操作。
在一种可选的实施例中,上述方法还包括:在上述更新操作为删除操作的情况下,确定待删除的内容是否与其他内容存在关联关系,在确定待删除的内容与其他内容不存在关联关系的情况下,执行删除操作。
作为一种可选的实施方式,在本申请实施例中,可以采用动态调整的方式,通过后台运维接口对上述数据存储装置中存储的上述内容进行更新,并且,在对上述数据存储装置中存储的内容进行更新的情况下,对内存中存储的内容也进行更新,保持上述内存与上述数据存储装置中存储的内容一致。
以下通过图6所提供的方法流程图,对实现更新数据存储装置中存储的过滤器进行详细说明,图6是根据本申请实施例的一种可选的动态调整过滤器的流程图,如图6所示,上述动态调整过滤器filter的过程,可以但不限于通过如下方法步骤实现:
步骤S600,开始。
步骤S601a,增加过滤器filter。
步骤S601b,修改filter。
其中,在执行上述步骤S601a和步骤S601b之后,执行步骤S602。
步骤S601c,删除filter。
其中,在执行上述步骤S601c之后,执行步骤S603。
步骤S602,检查filter的合法性、类、bean、表达式。
其中,在执行上述步骤S602之后,执行步骤S605。
步骤S603,判断filter是否被引用。此处,被引用即为前文所指出的与其他内容存在关联关系。
在上述步骤S603中,若判断结果为是,则执行步骤S604;若判断结果为否,则执行步骤S602。
步骤S604,失败。
步骤S605,判断filter是否合法。
在上述步骤S605中,若判断结果为是,则执行步骤S606;若判断结果为否,则执行步骤S604。
步骤S606,更新数据存储装置。
在上述步骤S606中,更新的为数据存储装置中的filter。
步骤S607,同步更新内存。
在上述步骤S607中,同步更新内存中的过滤器实例。
步骤S608,成功。
在一种可选的实施例中,对上述过滤器链进行更新操作的步骤还包括:
方式一,对上述数据存储装置中存储的与上述过滤器链相关的配置信息进行更新。
可选的,上述配置信息包括但不限于为:指示上述资源调度策略、过滤器链和上述一个或多个过滤器之间的关联关系的配置信息。
方式二,确定是否存在与上述过滤器链相关联的处理器,在存在相关联的处理器的情况下,对与上述过滤器链实例相关联的过滤器实例进行更新,对与上述过滤器链实例相关联的上述处理器实例进行更新。
以下通过图7所提供的方法流程图,对实现更新数据存储装置中存储的过滤器链进行详细说明,图7是根据本申请实施例的一种可选的动态调整过滤器链的流程图,如图7所示,上述动态调整过滤器链filterChain的过程,可以但不限于通过如下方法步骤实现:
步骤S700,开始。
步骤S701a,增加过滤器链filterChain。
步骤S701b,修改filterChain、增加或减少filter/Chain。
在上述步骤S701b中,除增加或减少filter/Chain之外,还可以更改filter/Chain的顺序。
其中,在执行上述步骤S701a和步骤S701b之后,执行步骤S702。
步骤S701c,删除过滤器处理器实例filterHandler。
其中,在执行上述步骤S701c之后,执行步骤S703。
步骤S702,检查过滤器链Chain的合法性、过滤器filter是否存在。
其中,在执行上述步骤S702之后,执行步骤S705。
步骤S703,判断过滤器处理器实例filterHandler是否被引用。
在上述步骤S703中,若判断结果为是,则执行步骤S704;若判断结果为否,则执行步骤S702。
步骤S704,失败。
步骤S705,判断过滤器链Chain是否合法。
在上述步骤S705中,若判断结果为是,则执行步骤S706;若判断结果为否,则执行步骤S704。
步骤S706,更新数据存储装置。
其中,在上述步骤S706中,可以更新数据存储装置中的过滤器链Chain。
步骤S707,判断是否引用对应过滤器链Chain的过滤器处理器实例filterHandler。
在上述步骤S707中,若判断结果为是,则执行步骤S708;若判断结果为否,则执行步骤S709。
步骤S708,成功。
步骤S709,循环递归合并过滤器链Chain对应的过滤器filter。
步骤S710,校验过滤器链Chain中的过滤器filter是否已经初始化完毕。
步骤S711,判断是否初始化完毕。
在上述步骤S711中,若判断结果为是,则执行步骤S713;若判断结果为否,则执行步骤S712。
步骤S712,主动触发未初始化完毕的过滤器filter进行初始化。
其中,在执行上述步骤S712之后,执行步骤S710。
步骤S713,更新内存中引用过滤器链Chain的所有过滤器处理器实例filterHandler。
图8是根据本申请实施例的一种可选的动态调整过滤器处理器的流程图,如图8所示,上述动态调整过滤器处理器filterHandler的过程,可以但不限于通过如下方法步骤实现:
步骤S800,开始。
步骤S801a,增加过滤器处理器filterHandler。
步骤S801b,修改过滤器处理器filterHandler。
其中,在执行上述步骤S801a和步骤S801b之后,执行步骤S802。
步骤S801c,删除过滤器处理器filterHandler。
其中,在执行上述步骤S801c之后,执行步骤S803。
步骤S802,检查过滤器处理器filterHandler的合法性,以及该过滤器处理器引用的过滤器链Chain是否存在。
步骤S803,判断过滤器处理器filterHandler是否被引用。
在上述步骤S803中,若判断结果为是,则执行步骤S804;若判断结果为否,则执行步骤S802。
步骤S804,失败。
步骤S805,判断过滤器处理器filterHandler是否合法。
在上述步骤S805中,若判断结果为是,则执行步骤S806;若判断结果为否,则执行步骤S804。
步骤S806,更新数据存储装置。
在上述步骤S806中,更新数据存储装置中的处理器FilterHandler和引用的过滤器链。
步骤S807,同步更新内存。
在上述步骤S807中,同步上述步骤S806更新内存中的过滤器处理器实例filterHandler引用的过滤器链实例。
步骤S808,成功。
在一种可选的实施例中,对上述资源调度策略进行更新操作还包括:
对上述数据存储装置中存储的与上述资源调度策略相关的配置信息进行更新;
对与上述资源调度策略实例相关联的过滤器链实例进行更新。
以下通过图9所提供的方法流程图,对实现更新数据存储装置中存储的资源调度策略进行详细说明,图9是根据本申请实施例的一种可选的动态调整资源调度策略的流程图,如图9所示,上述动态调整资源调度策略filterStrategy的过程,可以但不限于通过如下方法步骤实现:
步骤S900,开始。
步骤S901a,增加资源调度策略filterStrategy。
步骤S901b,修改资源调度策略filterStrategy。
其中,在执行上述步骤S901a和步骤S901b之后,执行步骤S902。
步骤S901c,删除资源调度策略filterStrategy。
其中,在执行上述步骤S901c之后,执行步骤S903。
步骤S902,检查资源调度策略filterStrategy的合法性,以及过滤器实例filterHandler是否存在。
步骤S903,判断资源调度策略filterStrategy是否被业务引用。
在上述步骤S903中,若判断结果为是,则执行步骤S904;若判断结果为否,则执行步骤S906。
步骤S904,失败。
步骤S905,判断资源调度策略filterStrategy是否合法。
在上述步骤S905中,若判断结果为是,则执行步骤S906;若判断结果为否,则执行步骤S904。
步骤S906,更新数据存储装置。
在上述步骤S906中,更新数据存储装置中的资源调度策略。
步骤S907,同步更新内存。
在上述步骤S907中,同步上述步骤S906更新内存中的过滤器处理器实例filterHandler引用的过滤器链实例。
步骤S908,成功。
需要说明的是,在本申请实施例中,动态调整资源排序策略weightStrategy、资源排序器WeightHandler、资源选择器ChooseBestHandler、资源选择策略ChooseBestStrategy的流程与动态调整资源调度策略filterStrategy的流程基本一致,均需要保证数据存储装置中的数据和内存中的数据保持最终一致。
在一种可选的实施例中,上述资源具有属性标签,对资源进行过滤的步骤包括:根据属性标签来对资源进行过滤,以获得处理上述业务的资源。
可选的,在本申请实施例中可以调整当前的资源模型为扁平化的标签模型,如果没有该属性标签,则该属性标签对应的属性标签值为空*,上述标签模型的示意图可以如下表9所示:
表9
属性标签 | 资源标识 | 属性标签名称 | 属性标签值 |
1 | 1 | Cpu | 56 |
2 | 1 | Mem | 22000 |
3 | 1 | Gpu | 5 |
4 | 1 | 属性1 | *** |
… | … | … | … |
m | 1 | 属性n | *** |
M+1 | 2 | Cpu | 80 |
M+2 | 2 | Mem | 560000 |
… | … | … | … |
x | y | xxx | *** |
在本申请实施例中,可以对查询的模型进行调整,调整查询的模型的基本数据结构可以如下所示:
Resource{
String id,
Map<String,Object>tags;
}
在一种可选的实施例中,还可以引入规则引擎使用表达式处理,用于过滤资源使用表达式进行过滤,要求表达式返回的结果未boolean值,过滤可以创建cpu为5,mem为220的资源,则直接传入使用表达式cpu>=5&&mem>=220,过滤kvm或者xen环境万兆网络下,可以但不限于支持多网卡,可以但不限于支持idkp的16c64g的资源,则直接使用表达式:(cpu>=16&&mem>=64*1024)&&support_multi_nic&&suport_idkp&&((virt_type==“kvm”)||(virt_type==“xen”&&network_type=”10Gb”)),在分配资源接口中增加strict_business_expression参数和non_strict_business_expression参数,用于处理一定要满足的强约束请求和尽量满足的弱依赖约束请求。
需要说明的是,本申请实施例中的代码不再关心业务,例如,新增一种资源类型包含了属性A,则直接把符合属性A的机器新增一个属性标签A即可,过滤时就可以通过表达式A==***的方式过滤符合这个条件的资源,原有的资源因没有A标签直接被过滤。
在一种可选的实施例中,可以增加一个处理权重的表达式weight_business_expression,用于资源的一个排序,要求返回值时一个数值,例如:机型匹配度*系数1+(100-load)*系数2等,计算的结果默认按照大小倒序排列,可通过math.random(n)提取topn个元素中的随机一个,增加一个新的模型表,用于区分需要动态更新的属性标签和不需要动态更新的属性标签,其中,需要动态更新的属性标签记录到对应的表中,维护在每台机器的内存中,当有资源分配出来时,需要扣减属性标签中的值,结构如下所示,当计算资源包含cpu>=1时,分配资源时需要更新选出的资源,把对应tag_value-1,上述模型表可以如图10所示:
表10
Id | Tag_name |
1 | Cpu |
2 | Mem |
… | … |
n | *** |
在一种可选的实施例中,本申请实施例中还可以提供标签运维接口,用于管理属性标签的增、删、改、查:增加属性标签add_business_tag、删除属性标签del_business_tag、修改属性标签update_business_tag、查询属性标签query_business_tag。
在本申请实施例中,以下通过图10所提供的方法流程图,对实现更新属性标签的实现方案进行详细说明,图10是根据本申请实施例的一种可选的运维业务的流程图,如图10所示,通过标签运维接口管理属性标签的流程可以包括:
步骤S1000,开始。
步骤S1001a,调用增加属性标签add_business_tag。
在上述步骤S1001a中,可以调用增加属性标签add_business_tag来增加属性标签。
步骤S1001b,调用修改属性标签update_business_tag。
在上述步骤S1001b中,可以调用修改属性标签add_business_tag来修改属性标签。
步骤S1001c,调用删除属性标签del_business_tag。
在上述步骤S1001c中,可以调用删除属性标签add_business_tag来删除属性标签。
步骤S1002a,判断是否存在属性标签business_tag。
在上述步骤S1002a中,可以在调用增加属性标签add_business_tag来增加属性标签之前,判断当前资源是否具有属性标签business_tag,若上述步骤S1002a中的判断结果为是,表明该资源已具有属性标签,无法继续为该资源添加属性标签,则失败。;若上述步骤S1002a中的判断结果为否,表明该资源不具有属性标签,可以继续为该资源添加属性标签,则执行步骤S1003a。
步骤S1002b,判断是否存在属性标签business_tag。
在上述步骤S1002b中,可以在调用修改属性标签update_business_tag来修改属性标签之前,判断当前资源是否具有属性标签business_tag,若上述步骤S1002b中的判断结果为是,表明该资源已具有属性标签,可以修改该资源的属性标签,则执行步骤S1003b;若上述步骤S1002b中的判断结果为否,表明该资源不具有属性标签,无法修改该资源的属性标签,则失败。
步骤S1002c,判断是否存在属性标签business_tag。
在上述步骤S1002c中,可以在调用删除属性标签del_business_tag来删除属性标签之前,判断当前资源是否具有属性标签business_tag,若上述步骤S1002c中的判断结果为是,表明该资源已具有属性标签,可以删除该资源的属性标签,则执行步骤S1003c;若上述步骤S1002c中的判断结果为否,表明该资源不具有属性标签,无法删除该资源的属性标签,则失败。
步骤S1003a,添加属性标签business_tag。
在上述步骤S1003a中,如果当前上述资源未添加属性标签,则可以为该属性添加属性标签,并执行步骤S1004。
步骤S1003b,修改属性标签business_tag。
在上述步骤S1003b中,如果当前上述资源已添加属性标签,则可以修改该属性的属性标签,并执行步骤S1004。
步骤S1003c,删除属性标签business_tag。
在上述步骤S1003c中,如果当前上述资源已添加属性标签,则可以删除该属性的属性标签,并执行步骤S1004。
步骤S1004,成功。
以下通过图11所提供的方法流程图,对用户业务流程进行详细说明,图11是根据本申请实施例的一种可选的用户业务流程的示意图,如图11所示,上述用户业务流程可以包括:
步骤S1100,开始。
步骤S1101,根据条件分配资源。
步骤S1102,编译表达式。
步骤S1103,判断表达式是否合法。
在上述步骤S1103中,若判断结果为是,则执行步骤S1104,若判断结果为否,则执行步骤S1105。
步骤S1104,查询所有待分配的资源。
步骤S1105,失败。
步骤S1106,执行strict_business_expression规则分配。
步骤S1107,判断资源池是否大于1。
在上述步骤S1107中,若判断结果为是,即上述资源池大于1,则执行步骤S1108,若判断结果为否,即上述资源池不大于1,则执行步骤S1109。
步骤S1108,判断资源池是否为空。
在上述步骤S1108中,若判断结果为是,即上述资源池为空,则执行步骤S1105,若判断结果为否,即上述资源池不为空,只有一个资源可以随机分配,则执行步骤S1110。
步骤S1109,执行non_strict_business_expression规则分配。
其中,在执行上述步骤S1109之后,执行步骤S1111。
步骤S1110,循环需要扣减的资源,按照用户的需求扣除指定资源。
其中,在执行上述步骤S1110之后,执行步骤S1118。
步骤S1111,判断资源池是否大于10。
在上述步骤S1111中,若判断结果为是,即资源池大于10,则执行步骤S1113,若判断结果为否,即资源池不大于10,则执行步骤S1112。
步骤S1112,判断资源池是否为空。
在上述步骤S1112中,若判断结果为是,即上述资源池为空,则表明弱依赖无匹配条件,忽略弱依赖,仅使用强依赖下的资源随机分配,并执行步骤S1115;若判断结果为否,即上述资源池在10及以内,直接随机分配,并执行步骤S1116。
步骤S1113,执行weight_expression规则。
步骤S1114,资源按照评分排序。
其中,执行上述步骤S1114之后,直接转而执行步骤S1116。
步骤S1115,忽略non_strict_business_expression的匹配,使用之前的匹配数据。
步骤S1116,随机取一个资源并锁定。
其中,在执行上述步骤S1116之后,执行步骤S1110,在执行步骤S1110之后,执行步骤S1116。
步骤S1117,成功。
在上述可选的实施例中,可以但不限于在外部售卖系统上将规格和表达式进行绑定,用户在选择规格时相当于传入了对应的表达式,最终完成上述用户业务流程,后续新增业务只需通过标签运维接口给新的资源进行打上资源标签,以描述物理的资源信息,并对新增业务配置新的规格,配置对应的表达式,以满足用户对新业务的需要,进而可以在不修改任何业务代码和发布的情况下完成新的业务组合。
并且,本申请实施例可以但不限于使用行列转换,使得资源的属性标签可以在不修改原有代码的基础上进行动态扩展,以描述新的资源属性,并且,还可以引入规则引擎,使用表达式匹配的方式匹配过滤出的资源,做到不修改代码、不发布的情况过滤出具有指定特征的资源。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例上述的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述资源调度方法的装置实施例,图12是根据本申请实施例的一种资源调度装置的示意图,如图12所示,该装置1000包括:构造模块1002、确定模块1004和调用模块1006,其中:
构造模块1002,用于根据数据存储装置中存储的配置信息,构造资源调度策略实例和相关联的一个或多个过滤器实例,其中,上述配置信息指示资源调度策略和一个或多个过滤器之间的关联关系;确定模块1004,用于确定与请求资源调度的业务相对应的资源调度策略实例;调用模块1006,用于调用上述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理上述业务的资源。
此处需要说明的是,上述构造模块1002、确定模块1004和调用模块1006对应于实施例1中的步骤S202至步骤S206,三个模块与对应的步骤所实现的实施例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
在本申请实施例中,根据数据存储装置中存储的配置信息,构造资源调度策略实例和相关联的一个或多个过滤器实例,其中,上述配置信息指示资源调度策略和一个或多个过滤器之间的关联关系;确定与请求资源调度的业务相对应的资源调度策略实例;调用上述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理上述业务的资源。
容易注意到的是,本申请实施例根据数据存储装置中存储的各种类的配置信息和关联关系,以根据上述配置信息和关联关系,来实例化相应的资源调度策略和过滤器。在调度资源的过程中,调用上述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理上述业务的资源,进而达到了在调度云资源的过程中无需频繁修改代码的目的,从而实现了提高资源调度的效率的技术效果。
由此,本申请实施例解决了现有的资源调度方法调度云资源的过程中需要频繁修改代码,导致资源调度的效率低下的技术问题。
在一种可选的实施例中,上述构造模块,还用于根据上述配置信息,构造与资源调度策略实例相关联的资源排序器实例和资源选择器实例,其中,上述配置信息指示资源调度策略和资源排序器、资源选择器之间的关联关系;上述调用模块,还用于在调用相关联的一个或多个过滤器实例对资源进行过滤之后,调用相关联的上述资源排序器实例,对过滤得到的资源计算权重并排序;以及还用于调用相关联的上述资源选择器实例,在经过排序的资源中选择处理上述业务的资源。
在一种可选的实施例中,上述装置还包括:规则引擎,用于构造类型为expression的过滤器的过滤器实例,类型为expression的资源排序器的资源排序器实例,以及类型为expression的资源选择器的资源选择器实例。
在上述可选的实施例中,上述规则引擎可以用于构造类型为表达式expression的类的实例,例如,类型为expression的过滤器的过滤器实例,类型为expression的资源排序器的资源排序器实例,以及类型为expression的资源选择器的资源选择器实例。
此外,仍需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例3
根据本申请的实施例,还提供一种计算设备的实施例,包括:存储器和处理器,其中,上述存储器存储有计算机程序,上述处理器,用于执行上述存储器中存储的计算机程序,上述计算机程序运行时执行实施例1中任意一种可选的或者优选的资源调度方法。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例4
根据本申请的实施例,还提供一种计算机终端的实施例,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行资源调度方法中以下步骤的程序代码:根据数据存储装置中存储的配置信息,构造资源调度策略实例和相关联的一个或多个过滤器实例,其中,上述配置信息指示资源调度策略和一个或多个过滤器之间的关联关系;确定与请求资源调度的业务相对应的资源调度策略实例;调用上述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理上述业务的资源。
可选地,图13是根据本申请实施例的一种计算机终端的结构框图。如图13所示,该计算机终端130可以包括:一个或多个(图中仅示出一个)处理器1302、存储器1304、以及外设接口1306等。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的资源调度方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的资源调度方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实施例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端130。上述网络的实施例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:根据数据存储装置中存储的配置信息,构造资源调度策略实例和相关联的一个或多个过滤器实例,其中,上述配置信息指示资源调度策略和一个或多个过滤器之间的关联关系;确定与请求资源调度的业务相对应的资源调度策略实例;调用上述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理上述业务的资源。
可选的,上述处理器还可以执行如下步骤的程序代码:根据上述配置信息,构造资源调度策略实例、与上述资源调度策略实例相关联的过滤器链实例和与上述过滤器链实例相关联的一个或多个过滤器实例,其中,上述配置信息指示上述资源调度策略、过滤器链和上述一个或多个过滤器之间的关联关系。
可选的,上述处理器还可以执行如下步骤的程序代码:根据上述配置信息,构造资源调度策略实例、与上述资源调度策略实例相关联的处理器实例和与处理器实例相关联的过滤器链实例,其中,上述配置信息还指示资源调度策略、处理器和过滤器链之间的关联关系。
可选的,上述处理器还可以执行如下步骤的程序代码:根据上述配置信息,构造与资源调度策略实例相关联的资源排序器实例和资源选择器实例,其中,上述配置信息指示资源调度策略和资源排序器、资源选择器之间的关联关系;在调用相关联的一个或多个过滤器实例对资源进行过滤之后,调用相关联的上述资源排序器实例,对过滤得到的资源计算权重并排序;调用相关联的上述资源选择器实例,在经过排序的资源中选择处理上述业务的资源。
可选的,上述处理器还可以执行如下步骤的程序代码:在上述更新操作为删除操作的情况下,确定待删除的内容是否与其他内容存在关联关系,在确定待删除的内容与其他内容不存在关联关系的情况下,执行删除操作。
可选的,上述处理器还可以执行如下步骤的程序代码:对上述数据存储装置中存储的与上述资源调度策略相关的配置信息进行更新;对与上述资源调度策略实例相关联的过滤器链实例进行更新。
可选的,上述处理器还可以执行如下步骤的程序代码:对上述数据存储装置中存储的与上述过滤器链相关的配置信息进行更新;确定是否存在与上述过滤器链相关联的处理器,在存在相关联的处理器的情况下,对与上述过滤器链实例相关联的过滤器实例进行更新,对与上述过滤器链实例相关联的处理器实例进行更新。
可选的,上述处理器还可以执行如下步骤的程序代码:根据属性标签来对资源进行过滤,以获得处理上述业务的资源。
可选的,上述处理器还可以执行如下步骤的程序代码:对与上述过滤器链实例相关联的一个或多个过滤器实例进行去重。
采用本申请实施例,提供了一种资源调度的方案。通过采用将过滤器存储在数据库中,并采用数据驱动的方式调用数据库中存储的过滤器的方式,根据调用的过滤器,为请求资源调度的业务调度资源,达到了在调度云资源的过程中无需频繁修改代码的目的,从而实现了提高资源调度的效率的技术效果,进而解决了现有的资源调度方法调度云资源的过程中需要频繁修改代码,导致资源调度的效率低下的技术问题。
本领域普通技术人员可以理解,图13所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图13其并不对上述电子装置的结构造成限定。例如,计算机终端130还可包括比图13中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图13所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例5
根据本申请的实施例,还提供了一种存储介质的实施例。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的资源调度方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据数据存储装置中存储的配置信息,构造资源调度策略实例和相关联的一个或多个过滤器实例,其中,上述配置信息指示资源调度策略和一个或多个过滤器之间的关联关系;确定与请求资源调度的业务相对应的资源调度策略实例;调用上述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理上述业务的资源。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据上述配置信息,构造资源调度策略实例、与上述资源调度策略实例相关联的过滤器链实例和与上述过滤器链实例相关联的一个或多个过滤器实例,其中,上述配置信息指示上述资源调度策略、过滤器链和上述一个或多个过滤器之间的关联关系。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据上述配置信息,构造资源调度策略实例、与上述资源调度策略实例相关联的处理器实例和与处理器实例相关联的过滤器链实例,其中,上述配置信息还指示资源调度策略、处理器和过滤器链之间的关联关系。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据上述配置信息,构造与资源调度策略实例相关联的资源排序器实例和资源选择器实例,其中,上述配置信息包括资源调度策略和资源排序器、资源选择器之间的关联关系;在调用相关联的过滤器实例对资源进行过滤之后,调用相关联的上述资源排序器实例,对过滤得到的资源计算权重并排序;调用相关联的上述资源选择器实例,在经过排序的资源中选择处理上述业务的资源。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在上述更新操作为删除操作的情况下,确定待删除的内容是否与其他内容存在关联关系,在确定待删除的内容与其他内容不存在关联关系的情况下,执行删除操作。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对上述数据存储装置中存储的与上述资源调度策略相关的配置信息进行更新;对与上述资源调度策略实例相关联的过滤器链实例进行更新。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对上述数据存储装置中存储的与上述过滤器链相关的配置信息进行更新;确定是否存在与上述过滤器链相关联的处理器,在存在相关联的处理器的情况下,对与上述过滤器链实例相关联的过滤器实例进行更新,对与上述过滤器链实例相关联的处理器实例进行更新。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据属性标签来对资源进行过滤,以获得处理上述业务的资源。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对与上述过滤器链实例相关联的一个或多个过滤器实例进行去重。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (17)
1.一种资源调度方法,包括:
根据数据存储装置中存储的配置信息,构造资源调度策略实例和相关联的一个或多个过滤器实例,其中,所述配置信息指示资源调度策略和一个或多个过滤器之间的关联关系;
确定与请求资源调度的业务相对应的资源调度策略实例;
调用所述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理所述业务的资源。
2.根据权利要求1所述的方法,其中,所述根据数据存储装置中存储的配置信息,构造资源调度策略实例和相关联的一个或多个过滤器实例的步骤包括:
根据所述配置信息,构造资源调度策略实例、与所述资源调度策略实例相关联的过滤器链实例和与所述过滤器链实例相关联的一个或多个过滤器实例,其中,所述配置信息指示所述资源调度策略、过滤器链和所述一个或多个过滤器之间的关联关系。
3.根据权利要求2所述的方法,其中,根据数据存储装置中存储的配置信息,构造资源调度策略实例和与所述资源调度策略实例相关联的过滤器链实例的步骤包括:
根据所述配置信息,构造资源调度策略实例、与所述资源调度策略实例相关联的处理器实例和与处理器实例相关联的过滤器链实例,其中,所述配置信息还指示资源调度策略、处理器和过滤器链之间的关联关系。
4.根据权利要求1至3中任一项所述的方法,其中,还包括:
根据所述配置信息,构造与资源调度策略实例相关联的资源排序器实例和资源选择器实例,其中,所述配置信息包括资源调度策略和资源排序器、资源选择器之间的关联关系;
在调用相关联的一个或者多个过滤器实例对资源进行过滤之后,调用相关联的所述资源排序器实例,对过滤得到的资源计算权重并排序;
调用相关联的所述资源选择器实例,在经过排序的资源中选择处理所述业务的资源。
5.根据权利要求4所述的方法,其中,还包括:对所述数据存储装置中存储的以下内容至少之一进行更新操作:所述资源调度策略、所述处理器、所述过滤器链、所述过滤器、所述资源排序器和所述资源选择器,其中,所述更新操作包括以下至少之一:增加操作,修改操作和删除操作。
6.根据权利要求5所述的方法,其中,还包括:在所述更新操作为删除操作的情况下,确定待删除的内容是否与其他内容存在关联关系,在确定待删除的内容与其他内容不存在关联关系的情况下,执行删除操作。
7.根据权利要求5所述的方法,其中,对所述资源调度策略进行更新操作的步骤还包括:
对所述数据存储装置中存储的与所述资源调度策略相关的配置信息进行更新;
对与所述资源调度策略实例相关联的过滤器链实例进行更新。
8.根据权利要求5所述的方法,其中,对所述过滤器链进行更新操作的步骤还包括:
对所述数据存储装置中存储的与所述过滤器链相关的配置信息进行更新;
确定是否存在与所述过滤器链相关联的处理器,在存在相关联的处理器的情况下,对与所述过滤器链实例相关联的过滤器实例进行更新,对与所述过滤器链实例相关联的处理器实例进行更新。
9.根据权利要求5所述的方法,其中,所述过滤器、所述资源排序器和所述资源选择器包括以下至少一种类型:java-bean、spring-bean、expression。
10.根据权利要求1所述的方法,其中,所述资源具有属性标签,所述对资源进行过滤的步骤包括:根据属性标签来对资源进行过滤,以获得处理所述业务的资源。
11.根据权利要求2所述的方法,其中,所述构造与过滤器链实例相关联的一个或多个过滤器实例的步骤包括:
对与所述过滤器链实例相关联的一个或多个过滤器实例进行去重。
12.一种资源调度装置,包括:
构造模块,用于根据数据存储装置中存储的配置信息,构造资源调度策略实例和相关联的一个或多个过滤器实例,其中,所述配置信息指示资源调度策略和一个或多个过滤器之间的关联关系;
确定模块,用于确定与请求资源调度的业务相对应的资源调度策略实例;
调用模块,用于调用所述资源调度策略实例以及相关联的一个或者多个过滤器实例对资源进行过滤,以获得处理所述业务的资源。
13.根据权利要求12所述的装置,其中,
所述构造模块,还用于根据所述配置信息,构造与资源调度策略实例相关联的资源排序器实例和资源选择器实例,其中,所述配置信息包括资源调度策略和资源排序器、资源选择器之间的关联关系;
所述调用模块,还用于在调用相关联的一个或者多个过滤器实例对资源进行过滤之后,调用相关联的所述资源排序器实例,对过滤得到的资源计算权重并排序;以及还用于调用相关联的所述资源选择器实例,在经过排序的资源中选择处理所述业务的资源。
14.根据权利要求12所述的装置,其中,还包括:
规则引擎,用于构造类型为expression的过滤器的过滤器实例,类型为expression的资源排序器的资源排序器实例,以及类型为expression的资源选择器的资源选择器实例。
15.一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至11中任意一项所述的资源调度方法。
16.一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至11中任意一项所述的资源调度方法。
17.一种计算设备,包括:存储器和处理器,其中,
所述存储器存储有计算机程序,
所述处理器,用于执行所述存储器中存储的计算机程序,所述计算机程序运行时执行权利要求1至11中任意一项所述的资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810972317.XA CN110858160B (zh) | 2018-08-24 | 2018-08-24 | 资源调度方法及装置、存储介质和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810972317.XA CN110858160B (zh) | 2018-08-24 | 2018-08-24 | 资源调度方法及装置、存储介质和处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110858160A true CN110858160A (zh) | 2020-03-03 |
CN110858160B CN110858160B (zh) | 2023-04-11 |
Family
ID=69635449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810972317.XA Active CN110858160B (zh) | 2018-08-24 | 2018-08-24 | 资源调度方法及装置、存储介质和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110858160B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112085411A (zh) * | 2020-09-19 | 2020-12-15 | 杨伟深 | 在云计算业务通信网络下的大数据处理方法及云计算平台 |
CN112199200A (zh) * | 2020-12-04 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 资源调度方法、装置、计算机设备和存储介质 |
WO2023161716A1 (en) * | 2022-02-24 | 2023-08-31 | Nuix Limited | Scaling a rest cluster using task processing logic |
WO2023246625A1 (zh) * | 2022-06-25 | 2023-12-28 | 华为技术有限公司 | 一种运行程序的方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050111488A1 (en) * | 2003-11-21 | 2005-05-26 | Subramanian Vijay G. | Method and apparatus for resource allocation and scheduling |
US20080304097A1 (en) * | 2007-06-08 | 2008-12-11 | Jose Elwin Simon Maglanque | System and method for staged processing of electronic document processing jobs |
CN102469020A (zh) * | 2010-11-19 | 2012-05-23 | 华为技术有限公司 | 一种业务控制方法及系统、演进基站、分组数据网网关 |
CN103248659A (zh) * | 2012-02-13 | 2013-08-14 | 北京华胜天成科技股份有限公司 | 一种云计算资源调度方法和系统 |
CN104754063A (zh) * | 2015-04-17 | 2015-07-01 | 北京邮电大学 | 本地云计算资源调度方法 |
CN106533723A (zh) * | 2015-09-11 | 2017-03-22 | 中兴通讯股份有限公司 | 虚拟资源调度方法、装置及系统 |
CN106790726A (zh) * | 2017-03-30 | 2017-05-31 | 电子科技大学 | 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法 |
CN107589980A (zh) * | 2017-08-01 | 2018-01-16 | 佛山市深研信息技术有限公司 | 一种云计算资源的调度方法 |
CN108228348A (zh) * | 2017-12-25 | 2018-06-29 | 顺丰科技有限公司 | 虚拟机资源分配调度方法、装置、存储介质及设备 |
-
2018
- 2018-08-24 CN CN201810972317.XA patent/CN110858160B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050111488A1 (en) * | 2003-11-21 | 2005-05-26 | Subramanian Vijay G. | Method and apparatus for resource allocation and scheduling |
US20080304097A1 (en) * | 2007-06-08 | 2008-12-11 | Jose Elwin Simon Maglanque | System and method for staged processing of electronic document processing jobs |
CN102469020A (zh) * | 2010-11-19 | 2012-05-23 | 华为技术有限公司 | 一种业务控制方法及系统、演进基站、分组数据网网关 |
CN103248659A (zh) * | 2012-02-13 | 2013-08-14 | 北京华胜天成科技股份有限公司 | 一种云计算资源调度方法和系统 |
CN104754063A (zh) * | 2015-04-17 | 2015-07-01 | 北京邮电大学 | 本地云计算资源调度方法 |
CN106533723A (zh) * | 2015-09-11 | 2017-03-22 | 中兴通讯股份有限公司 | 虚拟资源调度方法、装置及系统 |
CN106790726A (zh) * | 2017-03-30 | 2017-05-31 | 电子科技大学 | 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法 |
CN107589980A (zh) * | 2017-08-01 | 2018-01-16 | 佛山市深研信息技术有限公司 | 一种云计算资源的调度方法 |
CN108228348A (zh) * | 2017-12-25 | 2018-06-29 | 顺丰科技有限公司 | 虚拟机资源分配调度方法、装置、存储介质及设备 |
Non-Patent Citations (3)
Title |
---|
NURCIN CELIK等: "State estimation of a supply chain using improved resampling rules for particle filtering", 《PROCEEDINGS OF THE 2010 WINTER SIMULATION CONFERENCE》 * |
孙广金等: "ZyNOS带宽管理的队列调度技术研究", 《微计算机信息》 * |
花蕾等: "过滤器技术在企业级Web开发上的研究与应用", 《电子科技》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112085411A (zh) * | 2020-09-19 | 2020-12-15 | 杨伟深 | 在云计算业务通信网络下的大数据处理方法及云计算平台 |
CN112085411B (zh) * | 2020-09-19 | 2021-11-30 | 三峡高科信息技术有限责任公司 | 在云计算业务通信网络下的大数据处理方法及云计算平台 |
CN112199200A (zh) * | 2020-12-04 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 资源调度方法、装置、计算机设备和存储介质 |
WO2023161716A1 (en) * | 2022-02-24 | 2023-08-31 | Nuix Limited | Scaling a rest cluster using task processing logic |
WO2023246625A1 (zh) * | 2022-06-25 | 2023-12-28 | 华为技术有限公司 | 一种运行程序的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110858160B (zh) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110858160B (zh) | 资源调度方法及装置、存储介质和处理器 | |
CN109948710B (zh) | 基于api相似度的微服务识别方法 | |
CN106294743A (zh) | 应用功能的推荐方法及装置 | |
CN111506801A (zh) | 一种应用App中子应用的排序方法及装置 | |
CN102253827A (zh) | 具有学习机制的糅合基础结构 | |
CN111694617A (zh) | 网络离线模型的处理方法、人工智能处理装置及相关产品 | |
CN110321508A (zh) | 页面展示数据的处理方法、装置、存储介质及设备 | |
CN114091589B (zh) | 模型训练方法、装置、电子设备及介质 | |
US10956430B2 (en) | User-driven adaptation of rankings of navigation elements | |
JP2022548579A (ja) | コンテナに対する外部操作とミューテーション・イベントとの対応関係 | |
CN115599961A (zh) | 业务的树结构处理方法及装置 | |
CN108154024A (zh) | 一种数据检索方法、装置及电子设备 | |
CN108897858B (zh) | 分布式集群索引分片的评估方法及装置、电子设备 | |
CN114218265A (zh) | 离线模型的处理方法、装置、存储介质和处理器 | |
CN109783155A (zh) | 业务组件管理方法、装置、电子设备及存储介质 | |
CN106331000A (zh) | 一种确定服务方案的方法及装置 | |
CN106294530A (zh) | 规则匹配的方法和系统 | |
CN108459842A (zh) | 一种模型配置方法、装置及电子设备 | |
US20190213613A1 (en) | Segmenting market data | |
CN109710874A (zh) | 页面数据的处理方法及装置、存储介质、计算机设备 | |
CN112052330B (zh) | 一种应用程序关键词的分配方法及装置 | |
CN113934421A (zh) | 应用程序的页面路径写入方法、装置、设备及存储介质 | |
CN112162731A (zh) | 数据扩展方法、装置、存储介质及电子装置 | |
CN110209829B (zh) | 信息处理方法和装置 | |
CN110751204A (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 |