CN112398892B - 服务分配方法、装置及设备 - Google Patents

服务分配方法、装置及设备 Download PDF

Info

Publication number
CN112398892B
CN112398892B CN201910762708.3A CN201910762708A CN112398892B CN 112398892 B CN112398892 B CN 112398892B CN 201910762708 A CN201910762708 A CN 201910762708A CN 112398892 B CN112398892 B CN 112398892B
Authority
CN
China
Prior art keywords
service
node
nodes
services
processed
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
CN201910762708.3A
Other languages
English (en)
Other versions
CN112398892A (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.)
Zhejiang Uniview Technologies Co Ltd
Original Assignee
Zhejiang Uniview 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 Zhejiang Uniview Technologies Co Ltd filed Critical Zhejiang Uniview Technologies Co Ltd
Priority to CN201910762708.3A priority Critical patent/CN112398892B/zh
Publication of CN112398892A publication Critical patent/CN112398892A/zh
Application granted granted Critical
Publication of CN112398892B publication Critical patent/CN112398892B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

本发明提出一种服务分配方法、装置及设备,涉及计算机技术领域。该方法及装置通过获取集群的部署模式信息,并当集群包含的多个节点中的待定节点满足第一预设条件时,将待定节点确定为部署待处理服务的目标节点。由于当待定节点的服务属性与待处理服务不为互斥,且待定节点的资源配置情况满足待处理服务的资源需求,确定待定节点满足第一预设条件,并将该待定节点确定为目标节点;也即,在对每个服务进行分配时,能根据每个服务的资源需求以及节点的资源配置情况去进行分配,能有效提升集群资源利用率,也能很好地适应、支持异构集群。

Description

服务分配方法、装置及设备
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种服务分配方法、装置及设备。
背景技术
大规模集群常常由硬件配置各不相同的节点组成,这种类型的集群可称之为异构集群。异构集群通常根据硬件配置各有分工,比如装载了固态硬盘(Solid State Drive,SSD)的I/O密集型节点、配置高性能中央处理器(Central Processing Unit,CPU)的通用计算节点以及配置高性能显卡的并行计算节点等等。
现有技术中,根据节点的硬件配置为该节点分配角色,然后根据相应的节点角色给在这些节点上部署相应的服务。但这种服务部署模式不能最大化利用集群的资源,且当集群中不同硬件配置数量较多,且各种节点角色产生各种组合时,部署难度较高。
发明内容
有鉴于此,本发明的目的在于提供一种服务分配方法、装置及设备。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供一种服务分配方法,应用于集群,所述集群包括多个节点以及多个服务,所述服务分配方法包括:
获取所述集群的部署模式信息;其中,所述部署模式信息包括每个所述节点的属性数据及每个所述服务的需求数据,所述属性数据包含所述节点的服务属性以及资源配置情况,所述需求数据包含所述服务的资源需求;
将所述多个服务依次确定为待处理服务;
当所述多个节点中的待定节点满足第一预设条件时,将所述待定节点确定为部署所述待处理服务的目标节点;其中,若所述待定节点的服务属性与所述待处理服务不为互斥,且所述待定节点的资源配置情况满足所述待处理服务的资源需求,则所述待定节点满足第一预设条件。
第二方面,本发明实施例提供一种服务分配装置,应用于集群,所述集群包括多个节点以及多个服务,所述服务分配装置包括:
信息获取模块,用于获取所述集群的部署模式信息;其中,所述部署模式信息包括每个所述节点的属性数据及每个所述服务的需求数据,所述属性数据包含所述节点的服务属性以及资源配置情况,所述需求数据包含所述服务的资源需求;
待处理服务确定模块,用于将所述多个服务依次确定为待处理服务;
目标节点确定模块,用于当所述多个节点中的待定节点满足第一预设条件时,将所述待定节点确定为部署所述待处理服务的目标节点;其中,若所述待定节点的服务属性与所述待处理服务不为互斥,且所述待定节点的资源配置情况满足所述待处理服务的资源需求,则所述待定节点满足第一预设条件。
第三方面,本发明实施例提供一种服务分配设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式任一所述的服务分配方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的服务分配方法。
本发明实施例提供的服务分配方法、装置及设备,通过获取集群的部署模式信息,并当集群包含的多个节点中的待定节点满足第一预设条件时,将待定节点确定为部署待处理服务的目标节点。由于当待定节点的服务属性与待处理服务不为互斥,且待定节点的资源配置情况满足待处理服务的资源需求,确定待定节点满足第一预设条件,并将该待定节点确定为目标节点;也即,在对每个服务进行分配时,能根据每个服务的资源需求以及节点的资源配置情况去进行分配,能有效提升集群资源利用率,也能很好地适应、支持异构集群。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的服务分配设备的方框示意图。
图2示出了本发明实施例提供的服务分配方法的流程图。
图3示出了图2中S203的具体流程图。
图4示出了本发明实施例提供的一种服务分配方法的流程图。
图5示出了本发明实施例提供的另一种服务分配方法的流程图。
图6示出了本发明实施例提供的服务分配装置的功能模块图。
图标:100-服务分配设备;110-存储器;120-处理器;130-通信模块;
200-服务分配装置;210-部署模式确定模块;220-信息获取模块;230-待处理服务确定模块;240-节点分配量确定模块;250-判断模块;260-目标节点确定模块;270-分配配置生成模块;280-服务部署模块;290-服务组划分模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
请参阅图1,为本发明提供的服务分配设备100的方框示意图。所述服务分配设备100包括存储器110、处理器120及通信模块130。所述存储器110、处理器120以及通信模块130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。
通信模块130用于通过所述网络建立所述服务分配设备100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
需要说明的是,本发明所述的服务分配设备100可以是所述集群中的任意一个节点,也可以是独立于所述集群的其他服务器。
应当理解的是,图1所示的结构仅为服务分配设备100的结构示意图,所述服务分配设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
第一实施例
本发明提供了一种服务分配方法,应用于上述服务分配设备100。本发明提供的服务分配方法用于将集群内的每个服务部署至节点,以便为其他设备提供该服务。
具体地,集群包括多个节点及多个服务。其中,多个节点即为该集群的硬件资源,服务即为该集群包含的应用程序等。本发明所述的服务分配过程,也可以理解为给每个服务分配硬件资源(节点),使节点运行该应用程序(服务)的过程。
请参阅图2,为本发明提供的服务分配方法的流程图。该服务分配方法包括:
S201,根据预先确定的节点数量确定服务部署模式。
节点数量即为集群包含的节点的个数。在一种可选的实施方式中,服务分配设备100可收集各个节点的属性数据,从而确定节点数量。节点数量不同,则服务部署模式不同。需要说明的是,集群以不同的部署模式进行部署时,该集群包含的服务及每个服务的资源消耗不同,该集群所占用的资源也不同。
在一种可选的实施方式中,可预先确定多种服务部署模式,以及每种服务部署模式适应的节点数量。进而,在确定节点数量后,便可根据该节点数量确定适配的服务部署模式。需要说明的是,与节点数量相适配的服务部署模式为多个时,可生成提示信息,进而可由用户从多个与节点数量相适配的服务部署模式中,最终确定服务部署模式。
另外,还需要说明的是,该节点数量既可以是绝对数量,也可以是一个数量范围。例如,节点数量为3、4、5等数字即表示该节点数量为绝对数量;而节点数量为3~5、10~20等范围即表示该节点数量为数量范围。
例如,预先设置有A、B、C三种服务部署模式,且A服务模式部署能够适应5个节点,B服务部署模式能够适应5~8个节点,C服务部署模式能够适应15个节点。若预先确定的节点数量为5,则A、B服务模式部署均为与节点数量适应的服务部署模式,进而用户需要从A、B服务模式部署中选择真正的部署模式。
需要说明的是,服务部署模式与部署模式信息对应。即一旦服务部署模式确定,便会根据该服务部署模式生成部署模式信息。其中,部署模式信息包含但不仅限于:部署模式名称、模式适用场景、能适应的节点数量、每个节点的属性数据以及每个服务的需求数据。
其中,模式适用场景便于用户在选择服务部署模式时进行评估。而节点的属性数据包括但不仅限于:节点的名称(ID)、地址(IP)、资源配置情况(resource)等。其中,该资源配置情况包括CPU利用率、内存、网络带宽、磁盘空间、I/O传输速率等等。
服务的需求数据包括但不仅限于:服务名称、节点需求数量(nodeAssign)、每个节点可部署该服务的服务实例数量(instancePerNode)、服务关系以及资源需求(resourceNeed)。其中,节点需求数量即表征该服务需求的节点数量,同样地,该节点需求数量可以为绝对值也可以为范围值。
服务关系包括互斥关系以及跟随关系;互斥关系即为与该服务互斥的服务,而互斥的两个服务不能部署于同一节点。例如,A服务与B服务互斥,则若某一节点已经部署了A服务,则该节点便不能部署B服务。
而跟随关系即为要求该服务必须与某个服务部署在同一节点。另外,需要说明的是,当某服务存在跟随关系时,则该服务的节点需求数量与其跟随的服务的节点需求数量一致。例如,A服务跟随B服务,则A服务只能部署于B服务部署的节点;同时若B服务的节点需求数量为5,则A服务的节点需求数量也为5。
资源需求表征该服务的任意一个服务实例所占用的CPU利用率、内存、网络带宽、磁盘空间、I/O传输速率等等。
S202,获取集群的部署模式信息。
在一种可选的实施方式中,生成部署模式信息后,会将该部署模式信息存储至存储器110,从而获取集群的部署模式信息的过程即为从存储器110读取部署模式信息的过程。
S203,将多个服务依次确定为待处理服务。
在一种可选的实施方式中,请参阅图3,该S203包括:
S2031,根据多个服务的节点需求数量确定多个服务的优先级。
具体地,若节点需求数量为绝对值,则确定服务的优先级为第一优先级;若节点需求数量为范围值,则确定服务的优先级为第二优先级,其中,第一优先级高于第二优先级。
S2032,按照优先级顺序将多个服务依次确定为待处理服务。
也即,存在多个服务时,按照优先级顺序,每次将一个服务作为待处理服务,以便确定该服务的目标节点。
需要说明的是,具有相同优先级的服务被确定为待处理服务的顺序可以是随机的、也可以是预先排列好的,在此不做具体限制,保证优先级较高的服务能够被先分配即可。
例如,集群包含按照1、2、3、4进行排序的服务,且1、3号服务的优先级低于2、4号服务的优先级,1、3号服务的优先级相同,2、4号服务的优先级相同,则在进行服务分配时,优先分配2、4号服务,再分配1、3号服务。而在分配2、4号服务时,可以按照任意顺序对2、4号服务进行分配(随机分配),也可以就按照2、4号服务的顺序,先分配2号服务,再分配4号服务。
可以理解地,优先分配节点需求数量为绝对值的服务,可以避免节点需求数量为范围值的服务占用过多的节点资源,进而避免分配其他服务时节点的资源不足的情况。
S204,根据待处理服务的节点需求数量确定待处理服务的节点分配量。
需要说明的是,若节点需求数量为绝对值,则将节点需求数量确定为节点分配量;若节点需求数量为范围值,则将节点需求数量中的最小值确定为节点分配量。
例如,若服务A为待处理服务,且服务A的需求数据表征节点需求数量为3,则该待处理服务的节点分配量为3;若服务A的需求数据表征节点需求数量为5~10这一范围,则节点分配量即为数量需求数量中的最小值5。
S205,将多个节点依次确定为待定节点并判断每个待定节点是否满足第一预设条件,直至满足第一预设条件的待定节点的数量等于节点分配量。
其中,若待定节点的服务属性与待处理服务不为互斥,且待定节点的资源配置情况满足待处理服务的资源需求,则待定节点满足第一预设条件。
需要说明的是,待定节点的服务属性及资源配置情况会根据该节点上分配的服务而更新。而待定节点的服务属性即为已经分配至该节点的服务的信息。若待定节点上已经分配有与待处理服务互斥的服务,那么待定节点的服务属性与待处理服务互斥,从而将该待定节点的下一个节点重新确定为待定节点,并判断该待定节点是否满足第一预设条件。
若待定节点上的服务属性与待处理服务不为互斥,但待定节点的资源配置情况不足以支持该待处理服务的资源需求,同样会将该待定节点的下一个节点重新确定为待定节点,并判断该待定节点是否满足第一预设条件,并直到满足第一预设条件的待定节点的数量等于节点分配量。
S206,将每个满足第一预设条件的待定节点确定为待处理服务的目标节点。
也即,需要将多个节点中找到前预设数量个满足第一预设条件的待定节点确定为待处理服务的目标节点,而该预设数量即为节点分配量。
例如,待处理服务A的节点需求数量为5,则其节点分配量为5。在分配待处理服务A时,依次判断多个节点是否满足第一预设条件,并将多个节点中前5个满足第一预设条件的节点确定目标节点。例如前5个节点均满足第一预设条件,则直接将前5个节点直接确定为目标节点,而无需再去判断第6个节点是否满足第一预设条件;否则,就还需要继续判断其他节点是否满足第一预设条件。
可以理解地,若待处理服务的节点需求数量为绝对值,则直接为其确定节点需求数量个目标节点,以部署该服务。而若待处理服务的节点需求数量范围值,便只为该服务分配能实现该服务的最小数量个节点,以节约资源,使得尽可能多的服务能够被分配到节点。
S207,根据每个服务的目标节点及多个节点的属性数据生成服务分配配置。
S208,根据服务分配配置在每个节点上进行服务部署。
在一种可选的实施方式中,若节点需求数量为范围值,请参阅图4,本发明提供的服务分配方法还包括:
S209,当多个服务中的任一服务的目标节点数量均等于多个服务中的任一服务的节点分配量时,再次将多个节点中第一个满足第一预设条件的节点确定为待处理服务的目标节点,直至需求数据满足第二预设条件或属性数据满足第三预设条件。
需要说明的是,当多个服务中的任一服务的目标节点数量均等于多个服务中的任一服务的节点分配量时,表明每个服务的被分配到的节点的数量(也即所有目标节点的数量的总和,即目标节点数量)为需求数量中的最小值,此时可以再次为每个服务轮流分配节点。但在重新分配节点时,每次只分配1个节点,直到需求数据满足第二预设条件或属性数据满足第三预设条件。
具体地,若需求数据表征的目标节点数量达到节点需求数量中的最大值时,则需求数据满足第二预设条件。可以理解地,当目标节点数量达到节点需求数量中的最大值时,表明节点的数量已经完全满足了该服务的节点数量需求,无需再继续为该服务分配节点。
若每个节点的属性数据均包含待处理服务的服务数据或每个节点的剩余资源均小于待处理服务的需求资源时,则属性数据满足第三预设条件。可以理解地,当每个节点的属性数据均包含待处理服务的服务数据时,表明每个节点上均已分配过对应的服务,此时不能再继续进行分配;同时,每个节点的剩余资源均小于待处理服务的需求资源时,表明每个节点上剩余的资源空间均不足以部署该服务的一个服务实例,因而也无法再继续进行分配。
请参阅图5,在一种可选的实施方式中,该服务分配方法还包括:
S501,根据多个服务的需求数据将多个服务划分为服务组。
具体地,将具有跟随关系的服务确定为一个服务组,而不具备跟随关系的服务自身则可以为一个服务组。需要说明的是,一个服务组的资源总需求为该服务组内每个服务的资源需求的总和。
S502,当所述多个节点中的待定节点满足第一预设条件时,将所述待定节点确定为部署所述多个服务组中的待处理服务组的目标节点。
通过将具有跟随关系的服务形成服务组,只需进行一次分配过程,便能使得具有跟随关系的服务必定能分配到相同的节点,较为节省时间。
需要说明的是,分配服务组的过程与依次分配服务的过程一致,在此不再具体赘述。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种服务分配装置200的实现方式,可选地,该服务分配装置200可以采用上述图1所示的处理器120的器件结构。进一步地,请参阅图6,图6为本发明实施例提供的一种服务分配装置200的功能模块图。需要说明的是,本实施例所提供的服务分配装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该服务分配装置200包括:部署模式确定模块210、信息获取模块220、待处理服务确定模块230、节点分配量确定模块240、判断模块250、目标节点确定模块260、分配配置生成模块270、服务部署模块280以及服务组划分模块290。
部署模式确定模块210用于根据预先确定的节点数量确定服务部署模式。
可以理解地,在一种可选的实施方式中,部署模式确定模块210可用于执行S201。
信息获取模块220用于获取集群的部署模式信息。
可以理解地,在一种可选的实施方式中,信息获取模块220可用于执行S202。
待处理服务确定模块230用于将多个服务依次确定为待处理服务。
具体地,待处理服务确定模块230用于根据多个服务的节点需求数量确定多个服务的优先级,并按照优先级顺序将多个服务依次确定为待处理服务。
可以理解地,在一种可选的实施方式中,待处理服务确定模块230可用于执行S203、S2031以及S2032。
节点分配量确定模块240用于根据待处理服务的节点需求数量确定待处理服务的节点分配量。
可以理解地,在一种可选的实施方式中,节点分配量确定模块240可用于执行S204。
判断模块250用于将多个节点依次确定为待定节点并判断每个待定节点是否满足第一预设条件,直至满足第一预设条件的待定节点的数量等于节点分配量。
可以理解地,在一种可选的实施方式中,判断模块250可用于执行S205。
目标节点确定模块260用于将每个满足第一预设条件的待定节点确定为待处理服务的目标节点。
可以理解地,在一种可选的实施方式中,目标节点确定模块260可用于执行S206。
分配配置生成模块270用于根据每个服务的目标节点及多个节点的属性数据生成服务分配配置。
可以理解地,在一种可选的实施方式中,分配配置生成模块270可用于执行S207。
服务部署模块280用于根据服务分配配置在每个节点上进行服务部署。
可以理解地,在一种可选的实施方式中,服务部署模块280可用于执行S208。
在一种可选的实施方式中,目标节点确定模块260还用于当多个服务中的任一服务的目标节点数量均等于多个服务中的任一服务的节点分配量时,再次将多个节点中第一个满足第一预设条件的节点确定为待处理服务的目标节点,直至需求数据满足第二预设条件或属性数据满足第三预设条件。
可以理解地,在一种可选的实施方式中,目标节点确定模块260可用于执行S209。
服务组划分模块290用于根据多个服务的需求数据将多个服务划分为服务组。
可以理解地,在一种可选的实施方式中,服务组划分模块290可用于执行S501。
目标节点确定模块260还用于当所述多个节点中的待定节点满足第一预设条件时,将所述待定节点确定为部署所述多个服务组中的待处理服务组的目标节点。
可以理解地,在一种可选的实施方式中,目标节点确定模块260可用于执行S502。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图1所示的存储器110中或固化于该服务分配设备100的操作系统(Operating System,OS)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的服务分配方法。
综上所述,本发明实施例提供的服务分配方法、装置及设备,通过获取集群的部署模式信息,并当集群包含的多个节点中的待定节点满足第一预设条件时,将待定节点确定为部署待处理服务的目标节点。由于当待定节点的服务属性与待处理服务不为互斥,且待定节点的资源配置情况满足待处理服务的资源需求,确定待定节点满足第一预设条件,并将该待定节点确定为目标节点;也即,在对每个服务进行分配时,能根据每个服务的资源需求以及节点的资源配置情况去进行分配,能有效提升集群资源利用率,也能很好地适应、支持异构集群。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种服务分配方法,应用于集群,所述集群包括多个节点以及多个服务,其特征在于,所述服务分配方法包括:
获取所述集群的部署模式信息;其中,所述部署模式信息包括每个所述节点的属性数据及每个所述服务的需求数据,所述属性数据包含所述节点的服务属性以及资源配置情况,所述需求数据包含所述服务的资源需求和服务关系;所述服务关系包括互斥关系以及跟随关系;所述互斥关系即为与该服务互斥的服务,而互斥的两个服务不能部署于同一节点;所述跟随关系即为要求该服务必须与某个服务部署在同一节点;
从所述多个节点中确定每个所述服务的目标节点,包括:
将所述多个服务依次确定为待处理服务,并根据所述待处理服务的节点需求数量确定所述待处理服务的节点分配量;
将所述多个节点依次确定为待定节点并判断每个所述待定节点是否满足第一预设条件,直至满足所述第一预设条件的待定节点的数量等于所述节点分配量;其中,若所述待定节点的服务属性与所述待处理服务不为互斥,且所述待定节点的资源配置情况满足所述待处理服务的资源需求,则所述待定节点满足所述第一预设条件;
将每个满足所述第一预设条件的所述待定节点确定为所述待处理服务的目标节点;
或者,从所述多个节点中确定每个所述服务的目标节点,包括:
根据多个所述服务的需求数据将多个所述服务划分为服务组;其中,具有跟随关系的服务在一个所述服务组,不具备跟随关系的服务自身为一个所述服务组;
当所述多个节点中的待定节点满足所述第一预设条件时,将所述待定节点确定为部署所述多个服务组中的待处理服务组的目标节点。
2.根据权利要求1所述的服务分配方法,其特征在于,所述根据所述待处理服务的节点需求数量确定所述待处理服务的节点分配量的步骤包括:
若所述节点需求数量为绝对值,则将所述节点需求数量确定为所述节点分配量;
若所述节点需求数量为范围值,则将所述节点需求数量中的最小值确定为所述节点分配量。
3.根据权利要求1所述的服务分配方法,其特征在于,若所述节点需求数量为范围值,在所述将每个满足所述第一预设条件的所述待定节点确定为所述待处理服务的目标节点的步骤之后,还包括:
当所述多个服务中的任一服务的目标节点数量均等于所述多个服务中的任一服务的节点分配量时,再次将所述多个节点中第一个满足所述第一预设条件的所述节点确定为所述待处理服务的目标节点,直至所述需求数据满足第二预设条件或所述属性数据满足第三预设条件。
4.根据权利要求3所述的服务分配方法,其特征在于,若所述需求数据表征的目标节点数量达到所述节点需求数量中的最大值时,则所述需求数据满足第二预设条件;
若每个所述节点的所述属性数据均包含所述待处理服务的服务数据或每个所述节点的剩余资源均小于所述待处理服务的需求资源时,则所述属性数据满足第三预设条件。
5.根据权利要求1所述的服务分配方法,其特征在于,所述将所述多个服务依次确定为待处理服务的步骤包括:
根据所述多个服务的节点需求数量确定所述多个服务的优先级;
按照所述优先级的顺序将所述多个服务依次确定为所述待处理服务。
6.根据权利要求1-5中任意一项所述的服务分配方法,其特征在于,在所述获取所述集群的部署模式信息的步骤之前,所述方法还包括:
根据预先确定的节点数量确定服务部署模式,其中,所述服务部署模式与所述部署模式信息对应;
在所述将每个满足所述第一预设条件的所述待定节点确定为所述待处理服务的目标节点的步骤之后,所述方法还包括:
根据每个所述服务的目标节点及所述多个节点的属性数据生成服务分配配置;
根据所述服务分配配置在每个所述节点上进行服务部署。
7.一种服务分配装置,应用于集群,所述集群包括多个节点以及多个服务,其特征在于,所述服务分配装置包括信息获取模块、待处理服务确定模块、节点分配量确定模块、判断模块和目标节点确定模块:
所述信息获取模块,用于获取所述集群的部署模式信息;其中,所述部署模式信息包括每个所述节点的属性数据及每个所述服务的需求数据,所述属性数据包含所述节点的服务属性以及资源配置情况,所述需求数据包含所述服务的资源需求和服务关系;所述服务关系包括互斥关系以及跟随关系;所述互斥关系即为与该服务互斥的服务,而互斥的两个服务不能部署于同一节点;所述跟随关系即为要求该服务必须与某个服务部署在同一节点;
所述待处理服务确定模块,用于将所述多个服务依次确定为待处理服务;
所述节点分配量确定模块,用于根据所述待处理服务的节点需求数量确定所述待处理服务的节点分配量;
所述判断模块,用于将所述多个节点依次确定为待定节点并判断每个所述待定节点是否满足第一预设条件,直至满足所述第一预设条件的待定节点的数量等于所述节点分配量;其中,若所述待定节点的服务属性与所述待处理服务不为互斥,且所述待定节点的资源配置情况满足所述待处理服务的资源需求,则所述待定节点满足第一预设条件;
所述目标节点确定模块,用于将每个满足所述第一预设条件的所述待定节点确定为所述待处理服务的目标节点;
或者,
所述服务分配装置包括所述信息获取模块、服务组划分模块和所述目标节点确定模块;
所述信息获取模块,用于获取所述集群的所述部署模式信息;
所述服务组划分模块,用于根据多个所述服务的需求数据将多个所述服务划分为服务组;其中,具有跟随关系的服务在一个所述服务组,不具备跟随关系的服务自身为一个所述服务组;
所述目标节点确定模块,用于:当所述多个节点中的待定节点满足所述第一预设条件时,将所述待定节点确定为部署所述多个服务组中的待处理服务组的目标节点。
8.一种服务分配设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-6中任一项所述的服务分配方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的服务分配方法。
CN201910762708.3A 2019-08-19 2019-08-19 服务分配方法、装置及设备 Active CN112398892B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910762708.3A CN112398892B (zh) 2019-08-19 2019-08-19 服务分配方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910762708.3A CN112398892B (zh) 2019-08-19 2019-08-19 服务分配方法、装置及设备

Publications (2)

Publication Number Publication Date
CN112398892A CN112398892A (zh) 2021-02-23
CN112398892B true CN112398892B (zh) 2023-06-20

Family

ID=74603273

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910762708.3A Active CN112398892B (zh) 2019-08-19 2019-08-19 服务分配方法、装置及设备

Country Status (1)

Country Link
CN (1) CN112398892B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114996003A (zh) * 2022-05-27 2022-09-02 北京火山引擎科技有限公司 一种云服务部署方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102193832A (zh) * 2010-03-11 2011-09-21 精英电脑股份有限公司 云端计算资源排程方法与应用的系统
CN105338082A (zh) * 2015-10-30 2016-02-17 浪潮(北京)电子信息产业有限公司 基于应用代理服务器的负载均衡方法及装置
WO2017008584A1 (zh) * 2015-07-15 2017-01-19 中兴通讯股份有限公司 一种虚拟机启动方法、装置及管理节点
WO2018120990A1 (zh) * 2016-12-27 2018-07-05 华为技术有限公司 业务部署的方法与装置
CN109936606A (zh) * 2017-12-18 2019-06-25 浙江宇视科技有限公司 任务分配方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102193832A (zh) * 2010-03-11 2011-09-21 精英电脑股份有限公司 云端计算资源排程方法与应用的系统
WO2017008584A1 (zh) * 2015-07-15 2017-01-19 中兴通讯股份有限公司 一种虚拟机启动方法、装置及管理节点
CN105338082A (zh) * 2015-10-30 2016-02-17 浪潮(北京)电子信息产业有限公司 基于应用代理服务器的负载均衡方法及装置
WO2018120990A1 (zh) * 2016-12-27 2018-07-05 华为技术有限公司 业务部署的方法与装置
CN109936606A (zh) * 2017-12-18 2019-06-25 浙江宇视科技有限公司 任务分配方法和装置

Also Published As

Publication number Publication date
CN112398892A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
US8185905B2 (en) Resource allocation in computing systems according to permissible flexibilities in the recommended resource requirements
US10154089B2 (en) Distributed system and data operation method thereof
EP3419247A1 (en) Method and device for storage resource allocation for video cloud storage
CN111880936B (zh) 资源调度方法、装置、容器集群、计算机设备和存储介质
CN107295090B (zh) 一种资源调度的方法和装置
CN110647394A (zh) 一种资源分配方法、装置及设备
WO2015001850A1 (ja) タスク割り当て判定装置、制御方法、及びプログラム
CN109976907B (zh) 任务分配方法和系统、电子设备、计算机可读介质
CN111309644B (zh) 一种内存分配方法、装置和计算机可读存储介质
WO2019170011A1 (zh) 任务分配方法及装置、分布式存储系统
CN111290838A (zh) 基于容器集群的应用访问请求处理方法及装置
CN112351110B (zh) 基于zookeeper的ID分配方法、装置
CN112269661B (zh) 基于Kafka集群的分区迁移方法和装置
CN104166628A (zh) 管理内存的方法、装置和系统
CN111163186B (zh) 一种id生成方法、装置、设备和存储介质
CN111338779A (zh) 资源分配方法、装置、计算机设备和存储介质
CN111488206A (zh) 一种深度学习任务调度方法、系统、终端及存储介质
CN112398892B (zh) 服务分配方法、装置及设备
US11048557B2 (en) Methods and modules relating to allocation of host machines
JP5969340B2 (ja) リソース管理システム、リソース管理方法及びリソース管理プログラム
CN111359205A (zh) 云端游戏的操作方法、装置、计算机设备及存储介质
CN115080253B (zh) Gpu任务的分配方法、装置、电子设备和存储介质
CN112256420B (zh) 任务分配方法、装置及电子设备
CN111475277A (zh) 一种资源分配方法、系统、设备及机器可读存储介质
CN114327862A (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