CN114338696A - 用于分布式系统的方法及装置 - Google Patents

用于分布式系统的方法及装置 Download PDF

Info

Publication number
CN114338696A
CN114338696A CN202210245618.9A CN202210245618A CN114338696A CN 114338696 A CN114338696 A CN 114338696A CN 202210245618 A CN202210245618 A CN 202210245618A CN 114338696 A CN114338696 A CN 114338696A
Authority
CN
China
Prior art keywords
service node
resource
load value
value
resources
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
CN202210245618.9A
Other languages
English (en)
Other versions
CN114338696B (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.)
Beijing Oceanbase Technology Co Ltd
Original Assignee
Beijing Oceanbase 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 Beijing Oceanbase Technology Co Ltd filed Critical Beijing Oceanbase Technology Co Ltd
Priority to CN202210245618.9A priority Critical patent/CN114338696B/zh
Publication of CN114338696A publication Critical patent/CN114338696A/zh
Application granted granted Critical
Publication of CN114338696B publication Critical patent/CN114338696B/zh
Priority to PCT/CN2023/071524 priority patent/WO2023173917A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本说明书涉及用于分布式系统的方法和装置。该用于分布式系统的方法包括获取在所述分布式系统中的至少两个服务节点中的每个服务节点处的服务节点信息,其中,在每个服务节点处的服务节点信息包括在每个服务节点处的两种或更多种资源中的每种资源的使用量;基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的权重值;基于在每个服务节点处的每种资源的使用量和针对相应种类的资源的权重值,来确定相应的服务节点的负载值。

Description

用于分布式系统的方法及装置
技术领域
本说明书涉及计算机技术领域,具体地,涉及用于分布式系统的方法及装置。
背景技术
在分布式系统中,用于承载业务的资源是跨越两个或更多个服务节点来分配和调度的。在每个服务节点中可以包括一种或者多种资源,例如处理器资源、存储器资源、内存资源和其它可用的系统资源。通常,为了在分布式系统中进行对多种资源的分配和调度,会预先配置针对每种资源的权重值,即静态权重因子先验值,从而分布式系统可以基于针对每种资源的权重值,来在该系统中的各个服务节点之间分配和调度资源,以便该系统能够以分布式的方式来承载业务。
随着用于分布式系统的技术不断改进,需要提供更优化的用于在分布式系统中分配和调度资源的技术方案。
发明内容
鉴于上述,本说明书提供了一种用于分布式系统的方法及装置。利用该方法及装置,能够更准确地确定在分布式系统中的各个服务节点的负载情况,使得在各个服务节点之间对系统资源的分配和调度更优化,从而使得各个服务节点之间的负载量分配得更均衡,从而优化分布式系统的性能。
根据本说明书的一个方面,提供了一种用于分布式系统的方法,包括:获取在所述分布式系统中的至少两个服务节点中的每个服务节点处的服务节点信息,其中,在每个服务节点处的服务节点信息包括在每个服务节点处的两种或更多种资源中的每种资源的使用量;基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的权重值;基于在每个服务节点处的每种资源的使用量和针对相应种类的资源的权重值,来确定相应的服务节点的负载值。
根据本说明书的另一方面,还提供一种用于分布式系统的服务节点,包括:动态权重因子计算单元,其获取在所述分布式系统中的至少两个服务节点中的每个服务节点处的服务节点信息,其中,在每个服务节点处的服务节点信息包括在每个服务节点处的两种或更多种资源中的每种资源的使用量;以及基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的权重值;以及服务节点资源计算单元,其基于在每个服务节点处的每种资源的使用量和针对相应种类的资源的权重值,来确定相应的服务节点的负载值。
根据本说明书的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的方法。
根据本说明书的另一方面,还提供一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的方法。
附图说明
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。附图是用来提供对本说明书实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本说明书的实施例,但并不构成对本说明书的实施例的限制。
图1是根据本公开本说明书的一个实施例的用于分布式系统的方法的流程图。
图2是根据本公开本说明书的另一个实施例的用于分布式系统的方法的流程图。
图3是根据本公开本说明书的一个实施例的用于分布式系统的服务节点的方框图。
图4是根据本公开本说明书的另一个实施例的用于分布式系统的服务节点的方框图。
图5是根据本说明书的一个实施例的用于实现用于分布式系统的方法的计算设备的方框图。
具体实施方式
以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的,除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
现在结合附图来描述本说明书的用于分布式系统的方法和装置。
在分布式系统中,在各个服务节点上分别具有可以用于承载业务的处理器资源、存储器资源、内存资源和其它可用的系统资源。为了在分布式系统中以分布式的方式将各种业务承载在两个或更多个服务节点上,需要为各个服务节点分配用于承载业务的资源单元,其中资源单元是可以在服务节点上分配和调度系统资源的最小单位。
在各个服务节点之间分配和调度系统资源时,需要考虑各个服务节点的负载情况,通过根据服务节点的负载高低来分配和调度系统资源,可以更合理地利用分布式系统的整体系统资源。
通常,针对每种系统资源会预先配置权重值,即静态权重因子先验值,根据服务节点上所使用的每种系统资源的量和相应种类的系统资源的权重值,通过加权计算可以确定服务节点的负载情况。由于静态权重因子先验值是预先配置的,用来体现在不同种类的系统资源之间的权重高低,但是随着用于分布式系统的技术不断进步,分布式系统希望能够获知每个服务节点上的更准确的负载情况,以进一步优化分布式系统的性能,因此本发明提出了改进的用于分布式系统的方法和装置。
通过利用本发明的用于分布式系统的方法和装置,能够更准确地确定在分布式系统中的各个服务节点的负载情况,使得在各个服务节点之间对系统资源的分配和调度更优化,从而使得各个服务节点之间的负载量分配得更均衡,从而优化分布式系统的性能。
图1是根据本公开本说明书的一个实施例的用于分布式系统的方法的流程图。
在分布式系统中,可以包括两个或者更多个服务节点,服务节点可以是服务器或者可以在分布式系统中使用的其它设备。在两个或者更多个服务节点中的一个服务节点可以作为主控设备(为了便于说明,以下简称为主控服务节点)来执行图1所示的方法。
在方框102处,获取在分布式系统中的至少两个服务节点中的每个服务节点处的服务节点信息,其中在每个服务节点处的服务节点信息包括在每个服务节点处的两种或更多种资源中的每种资源的使用量。具体地,主控服务节点可以获取在分布式系统中的至少两个服务节点中的每个服务节点处的服务节点信息,其中在每个服务节点处的服务节点信息包括在每个服务节点处的两种或更多种资源中的每种资源的使用量。
分布式系统中的各个服务节点可以具有两种或更多种资源,所述资源可以包括处理器资源、存储器资源、内存资源和其它可用的系统资源。服务节点在被分配了资源之后,可以在所分配的资源上承载业务。随着各种业务在不同的服务节点上运行,在各个服务节点上运行业务所占用的资源的量也会相应地发生变化。主控服务节点可以获取在分布式系统中的各个服务节点处的每种资源的使用量。
在一个示例中,获取在分布式系统中的至少两个服务节点中的每个服务节点处的服务节点信息是根据预先配置的时间间隔来进行的。具体地,主控服务节点可以根据预先配置的时间间隔来获取在每个服务节点处的每种资源的使用量。
在方框104处,基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的权重值。具体地,主控服务节点可以基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的权重值。
针对每种资源的权重值可以反映出相应的资源的重要性和紧缺程度。权重值越高,表明相应的资源的重要性越高以及紧缺程度越高。针对一种资源的权重值是通过计算该种类的资源的使用量与该种类的资源的总量的比值来确定的。相应地,针对包括主控服务节点自身在内的每个服务节点,主控服务节点可以通过计算所获得的每种资源的使用量与该种类的资源的总量的比值来确定该种类的资源的权重值。从而,主控服务节点可以确定在每个服务节点上的针对每种资源的分别的权重值。
由于主控服务节点所确定的针对每种资源的权重值是基于所获得的在各个服务节点处每种资源的当前的使用量来确定的,这样的权重值不仅能够随着在服务节点处的资源使用量的变化而相应变化的,而且能够反映出在不同的服务节点上的资源的使用情况,因此通过本发明所采用的方法来确定的针对每种资源的权重值能够更准确地反映出在不同的节点上的每种资源的重要性和紧缺程度。
在一个示例中,在每个服务节点处的服务节点信息还包括在每个服务节点处的两种或更多种资源中的每种资源的总量。具体地,主控服务节点可以预先存储针对每个服务节点中的每种资源的总量,以便减小主控服务节点与其它服务节点之间的通信开销,提高处理效率;也可以通过获取服务节点信息的方式,从各服务节点获取针对每个服务节点中的每种资源的总量,以使得主控服务节点能够更便于维护分布式系统中的各服务节点的信息。
在一个示例中,基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的经过归一化的权重值。具体地,为了提高主控服务节点的处理效率,主控服务节点在确定针对每个服务节点的每种资源的权重值时可以进行归一化处理,从而针对每个服务节点所确定的各种资源的权重值是经过归一化的权重值。
在方框106处,基于在每个服务节点处的每种资源的使用量和针对相应种类的资源的权重值,来确定相应的服务节点的负载值。具体地,主控服务节点可以基于所获取的在每个服务节点处的每种资源的使用量和所确定的针对相应种类的资源的权重值,来确定相应的服务节点的负载值。
举例而言,假设在一个服务节点中具有N种不同的资源,针对每种资源的使用量分 别为
Figure 247967DEST_PATH_IMAGE001
Figure 102790DEST_PATH_IMAGE002
Figure 85790DEST_PATH_IMAGE003
……
Figure 949841DEST_PATH_IMAGE004
,针对每种资源的权重值分别为
Figure 574333DEST_PATH_IMAGE005
Figure 334478DEST_PATH_IMAGE006
Figure 804774DEST_PATH_IMAGE007
……
Figure 472516DEST_PATH_IMAGE008
,则 该服务节点的负载值可以表示为:
Figure 344657DEST_PATH_IMAGE009
在一个示例中,由于主控节点可以根据预先配置的时间间隔来获取在每个服务节点处的每种资源的使用量,因此主控节点可以进而确定相应的服务节点的负载值。在该时间间隔较小的情况下,主控节点可以基本上实时地确定各服务节点的负载情况,有利于在各服务节点之间分配和调度资源的准确性,优化分布式系统的性能。
通过利用上述用于分布式系统的方法,能够更准确地确定在分布式系统中的各个服务节点的负载情况,使得在各个服务节点之间对系统资源的分配和调度更优化,以及在各个服务节点之间的负载量分配得更均衡,从而优化分布式系统的性能。
图2是根据本公开本说明书的另一个实施例的用于分布式系统的方法的流程图。图2所示的方法可以由主控服务节点来执行。
在方框202处,获取在分布式系统中的至少两个服务节点中的每个服务节点处的服务节点信息,其中在每个服务节点处的服务节点信息包括在每个服务节点处的两种或更多种资源中的每种资源的使用量。具体地,在方框202处的操作可以参见上文结合图1中的方框102所说明的操作。
在方框204处,基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的权重值。具体地,在方框204处的操作可以参见上文结合图1中的方框104所说明的操作。
在方框206处,基于在每个服务节点处的每种资源的使用量和针对相应种类的资源的权重值,来确定相应的服务节点的负载值。具体地,在方框206处的操作可以参见上文结合图1中的方框106所说明的操作。
在方框208处,基于每个服务节点的负载值,来将至少一个资源单元分配给与负载值中的最小负载值相对应的服务节点。具体地,主控服务节点基于每个服务节点的负载值,来将至少一个资源单元分配给与负载值中的最小负载值相对应的服务节点。
当主控服务节点需要分配至少一个资源单元时,可以确定各服务节点的负载值中的最小值(即最小负载值),然后将待分配的至少一个资源单元分配给与该最小负载值相对应的服务节点。
在一个示例中,尤其针对新增加的待分配的至少一个资源单元,主控服务节点可以直接地将其分配给与最小负载值相对应的服务节点。
在方框210处,基于每个服务节点的负载值,来确定负载值中的最大负载值与最小负载值之间的第一差值。具体地,主控服务节点可以基于每个服务节点的负载值,来确定负载值中的最大负载值与最小负载值之间的第一差值。
当主控服务节点需要通过对在各服务节点之间的资源分配进行迁移来优化在各服务节点之间分配资源的均衡程度时,可以确定各服务节点的负载值中的最大值(即最大负载值)和最小值(即最小负载值),进而确定最大负载值与最小负载值之间的第一差值。
在方框212处,基于第一差值大于门限值,来从与最大负载值相对应的服务节点处的相应数量的资源单元中选择至少一个资源单元。具体地,主控服务节点可以基于第一差值大于门限值,来从与最大负载值相对应的服务节点处的相应数量的资源单元中选择至少一个资源单元。
在主控服务节点确定了最大负载值与最小负载值之间的第一差值之后,将第一差值与门限值进行比较,所述门限值可以是预先配置的值。如果第一差值大于门限值,则主控服务节点可以从与最大负载值相对应的服务节点处的相应数量的资源单元中选择至少一个资源单元。
在一个示例中,在每个服务节点处的服务节点信息还包括在每个服务节点处的资源单元的数量。具体地,主控服务节点从各服务节点所获取的服务节点信息还可以包括在相应的服务节点处的资源单元的数量。从而,主控服务节点可以在获知与最大负载值相对应的服务节点处的资源单元的情况下,选择与最大负载值相对应的服务节点处的至少一个资源单元。
在方框214处,将所选择的至少一个资源单元迁移到与最小负载值相对应的服务节点。具体地,主控服务节点可以将所选择的至少一个资源单元迁移到与最小负载值相对应的服务节点。
主控服务节点在选择出与最大负载值相对应的服务节点处的相应数量的资源单元中的至少一个资源单元之后,可以将所选择的至少一个资源单元迁移到与最小负载值相对应的服务节点,从而减轻最大负载值所对应的服务节点的负载压力,以及改善在各服务节点之间的负载的均衡程度。
在方框216处,基于第一差值小于门限值,不对在与最大负载值相对应的服务节点处的资源单元进行迁移。具体地,主控服务节点可以基于第一差值小于门限值,不对在与最大负载值相对应的服务节点处的资源单元进行迁移。
在主控服务节点确定最大负载值与最小负载值之间的第一差值小于门限值的情况下,说明当前负载最大的服务节点与负载最小的服务节点之间的负载差距并未超过门限值。换言之,分布式系统中的各服务节点之间的负载压力较为均衡。在这样的情况下,主控服务节点可以不对与最大负载值相对应的服务节点处的资源单元进行迁移。
通过利用上述在服务节点之间对资源分配进行迁移的技术方案,在各个服务节点之间的负载均衡程度能够得到改善,从而优化分布式系统的性能。
在一示例中,在将所选择的至少一个资源单元迁移到与最小负载值相对应的服务节点之前,估算与最大负载值相对应的服务节点在移除所选择的至少一个资源单元之后的预计负载值同与最小负载值相对应的服务节点在增加所选择的至少一个资源单元之后的预计负载值之间的第二差值;以及基于第二差值小于门限值,来将所选择的至少一个资源单元迁移到与最小负载值相对应的服务节点。具体地,主控服务节点可以在将所选择的至少一个资源单元迁移到与最小负载值相对应的服务节点之前,估算与最大负载值相对应的服务节点在移除所选择的至少一个资源单元之后的预计负载值同与最小负载值相对应的服务节点在增加所选择的至少一个资源单元之后的预计负载值之间的第二差值;以及基于第二差值小于门限值,来将所选择的至少一个资源单元迁移到与最小负载值相对应的服务节点。
主控服务节点可以对在服务节点之间的资源分配进行迁移之前,首先估算假设进行上述迁移的情况下,与最大负载值相对应的服务节点和与最小负载值相对应的服务节点上的负载将会发生多少变化。主控服务节点通过估算与最大负载值相对应的服务节点在移除所选择的至少一个资源单元之后的预计负载值,来确定假设进行上述迁移的情况下,与最大负载值相对应的服务节点上的负载减轻之后的负载值;通过估算与最小负载值相对应的服务节点在增加所选择的至少一个资源单元之后的预计负载值,来确定假设进行上述迁移的情况下,与最小负载值相对应的服务节点上的负载加重之后的负载值。主控服务节点进而确定上述两个预计负载值之间的差值,即第二差值。
如果第二差值小于门限值,则表明进行上述迁移之后,相关的两个服务节点之间的负载均衡程度有可能得到改善,因此主控服务节点可以将所选择的至少一个资源单元迁移到与最小负载值相对应的服务节点。
在一个示例中,基于第二差值大于门限值,不对在与最大负载值相对应的服务节点处的资源单元进行迁移。具体地,主控服务节点可以基于第二差值大于门限值,不对在与最大负载值相对应的服务节点处的资源单元进行迁移。
如果主控服务节点确定第二差值大于门限值,则表明即使进行上述迁移,相关的两个服务节点之间的负载均衡程度也并未得到改善,因此主控服务节点可以不对在与最大负载值相对应的服务节点处的资源单元进行迁移。
通过利用上述在服务节点之间对资源分配进行实际的迁移之前首先进行估算的技术方案,能够减少对资源单元的不必要的迁移,降低了分布式系统的开销,从而优化分布式系统的性能。
图3是根据本公开本说明书的一个实施例的用于分布式系统的服务节点的方框图。图3所示的服务节点300可以是主控服务节点。如图3所示,服务节点300可以包括动态权重因子计算单元302和服务节点资源计算单元304。具体地,动态权重因子计算单元302和服务节点资源计算单元304的操作方法可以参见图1所示的用于分布式系统的方法。
动态权重因子计算单元302获取在分布式系统中的至少两个服务节点中的每个服务节点处的服务节点信息,其中,在每个服务节点处的服务节点信息包括在每个服务节点处的两种或更多种资源中的每种资源的使用量;以及基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的权重值。
服务节点资源计算单元304基于在每个服务节点处的每种资源的使用量和针对相应种类的资源的权重值,来确定相应的服务节点的负载值。
在一个示例中,动态权重因子计算单元302是根据预先配置的时间间隔来获取每个服务节点处的服务节点信息的。
在一个示例中,两种或更多种资源包括处理器资源、存储器资源和内存资源。
在一个示例中,在每个服务节点处的服务节点信息还包括在每个服务节点处的两种或更多种资源中的每种资源的总量。
在一个示例中,服务节点资源计算单元304还基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的经过归一化的权重值。
图4是根据本公开本说明书的另一个实施例的用于分布式系统的服务节点的方框图。图4所示的服务节点400可以是主控服务节点。如图4所示,服务节点400可以包括动态权重因子计算单元402、服务节点资源计算单元404、资源单元分发单元406、资源单元信息获取单元408和资源单元调度单元410。具体地,动态权重因子计算单元402、服务节点资源计算单元404、资源单元分发单元406、资源单元信息获取单元408和资源单元调度单元410的操作方法可以参见图2所示的用于分布式系统的方法。
在一个示例中,资源单元分发单元406基于每个服务节点的负载值,来将至少一个资源单元分配给与负载值中的最小负载值相对应的服务节点。
在一个示例中,资源单元信息获取单元408获取在每个服务节点处的资源单元的数量。
在一个示例中,资源单元调度单元410基于每个服务节点的负载值,来确定负载值中的最大负载值与最小负载值之间的第一差值;基于第一差值大于门限值,来从与最大负载值相对应的服务节点处的相应数量的资源单元中选择至少一个资源单元;以及将所选择的至少一个资源单元迁移到与最小负载值相对应的服务节点。
在一个示例中,资源单元调度单元410还基于第一差值小于门限值,不对在与最大负载值相对应的服务节点处的资源单元进行迁移。
在一个示例中,资源单元调度单元410还在将所选择的至少一个资源单元迁移到与最小负载值相对应的服务节点之前,估算与最大负载值相对应的服务节点在移除所选择的至少一个资源单元之后的预计负载值同与最小负载值相对应的服务节点在增加所选择的至少一个资源单元之后的预计负载值之间的第二差值;以及基于第二差值小于门限值,来将所选择的至少一个资源单元迁移到与最小负载值相对应的服务节点。
在一个示例中,资源单元调度单元410还基于第二差值大于门限值,不对在与最大负载值相对应的服务节点处的资源单元进行迁移。
应当理解的是,图4中示出的各个组成元素并不都是必不可少的,在其它示例中,可以不包括部分组成元素。
以上参照图1到图4,对根据本说明书的用于分布式系统的方法及装置的实施例进行了描述。在以上对方法实施例的描述中所提及的细节,同样适用于本说明书的装置的实施例。
本说明书的用于分布式系统的装置可以采用硬件来实现,也可以采用软件或者硬件和软件的组合来实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。在本说明书中,用于分布式系统的装置例如可以利用计算设备来实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见。
图5是根据本说明书的一个实施例的用于实现用于分布式系统的方法的计算设备的方框图。如图5所示,计算设备500包括处理器502、存储器504、内存506、通信接口508和内部总线510。根据一个实施例,计算设备500可以包括至少一个处理器502,至少一个处理器502执行在计算机可读存储介质(即,存储器504)中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器504中存储计算机可执行指令,指令当被执行时使得至少一个处理器502进行以下操作:获取在分布式系统中的至少两个服务节点中的每个服务节点处的服务节点信息,其中,在每个服务节点处的服务节点信息包括在每个服务节点处的两种或更多种资源中的每种资源的使用量;基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的权重值;基于在每个服务节点处的每种资源的使用量和针对相应种类的资源的权重值,来确定相应的服务节点的负载值。
应该理解的是,在存储器504中存储的计算机可执行指令当被执行时使得至少一个处理器502进行本说明书的各个实施例中以上结合图1-4描述的各种操作和功能。
根据一个实施例,提供了一种例如非暂时性机器可读存储介质的程序产品。非暂时性机器可读存储介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-5描述的各种操作和功能。
具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本说明书的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
以上结合附图详细描述了本说明书的实施例的可选实施方式,但是,本说明书的实施例并不限于上述实施方式中的具体细节,在本说明书的实施例的技术构思范围内,可以对本说明书的实施例的技术方案进行多种简单变型,这些简单变型均属于本说明书的实施例的保护范围。
本说明书内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本说明书内容。对于本领域普通技术人员来说,对本说明书内容进行的各种修改是显而易见的,并且,也可以在不脱离本说明书内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本说明书内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

Claims (24)

1.一种用于分布式系统的方法,包括:
获取在所述分布式系统中的至少两个服务节点中的每个服务节点处的服务节点信息,其中,在每个服务节点处的服务节点信息包括在每个服务节点处的两种或更多种资源中的每种资源的使用量;
基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的权重值;
基于在每个服务节点处的每种资源的使用量和针对相应种类的资源的权重值,来确定相应的服务节点的负载值。
2.根据权利要求1所述的方法,其中,在每个服务节点处的服务节点信息还包括在每个服务节点处的两种或更多种资源中的每种资源的总量。
3.根据权利要求1所述的方法,其中,所述基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的权重值包括:
基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的经过归一化的权重值。
4.根据权利要求1所述的方法,还包括:
基于每个服务节点的负载值,来将至少一个资源单元分配给与负载值中的最小负载值相对应的服务节点。
5.根据权利要求1所述的方法,其中,在每个服务节点处的服务节点信息还包括在每个服务节点处的资源单元的数量。
6.根据权利要求5所述的方法,所述方法还包括:
基于每个服务节点的负载值,来确定负载值中的最大负载值与最小负载值之间的第一差值;
基于所述第一差值大于门限值,来从与所述最大负载值相对应的服务节点处的相应数量的资源单元中选择至少一个资源单元;以及
将所选择的至少一个资源单元迁移到与所述最小负载值相对应的服务节点。
7.根据权利要求6所述的方法,还包括:
基于所述第一差值小于所述门限值,不对在与所述最大负载值相对应的服务节点处的资源单元进行迁移。
8.根据权利要求6所述的方法,其中,所述将所选择的至少一个资源单元迁移到与所述最小负载值相对应的服务节点包括:
在将所选择的至少一个资源单元迁移到与所述最小负载值相对应的服务节点之前,估算与所述最大负载值相对应的服务节点在移除所选择的至少一个资源单元之后的预计负载值同与所述最小负载值相对应的服务节点在增加所选择的至少一个资源单元之后的预计负载值之间的第二差值;以及
基于所述第二差值小于所述门限值,来将所选择的至少一个资源单元迁移到与所述最小负载值相对应的服务节点。
9.根据权利要求8所述的方法,还包括:
基于所述第二差值大于所述门限值,不对在与所述最大负载值相对应的服务节点处的资源单元进行迁移。
10.根据权利要求1所述的方法,其中,所述获取在所述分布式系统中的所述至少两个服务节点中的每个服务节点处的服务节点信息是根据预先配置的时间间隔来进行的。
11.根据权利要求1-10中任一项所述的方法,其中,所述两种或更多种资源包括处理器资源、存储器资源和内存资源。
12.一种用于分布式系统的服务节点,包括:
动态权重因子计算单元,其获取在所述分布式系统中的至少两个服务节点中的每个服务节点处的服务节点信息,其中,在每个服务节点处的服务节点信息包括在每个服务节点处的两种或更多种资源中的每种资源的使用量;以及基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的权重值;以及
服务节点资源计算单元,其基于在每个服务节点处的每种资源的使用量和针对相应种类的资源的权重值,来确定相应的服务节点的负载值。
13.根据权利要求12所述的服务节点,其中,在每个服务节点处的服务节点信息还包括在每个服务节点处的两种或更多种资源中的每种资源的总量。
14.根据权利要求12所述的服务节点,其中,所述服务节点资源计算单元还基于在每个服务节点处的每种资源的使用量和相应种类的资源的总量,来确定在相应的服务节点处针对每种资源的经过归一化的权重值。
15.根据权利要求12所述的服务节点,还包括:
资源单元分发单元,其基于每个服务节点的负载值,来将至少一个资源单元分配给与负载值中的最小负载值相对应的服务节点。
16.根据权利要求12所述的服务节点,还包括:
资源单元信息获取单元,其获取在每个服务节点处的资源单元的数量。
17.根据权利要求16所述的服务节点,还包括:
资源单元调度单元,其基于每个服务节点的负载值,来确定负载值中的最大负载值与最小负载值之间的第一差值;基于所述第一差值大于门限值,来从与所述最大负载值相对应的服务节点处的相应数量的资源单元中选择至少一个资源单元;以及将所选择的至少一个资源单元迁移到与所述最小负载值相对应的服务节点。
18.根据权利要求17所述的服务节点,其中,所述资源单元调度单元还基于所述第一差值小于所述门限值,不对在与所述最大负载值相对应的服务节点处的资源单元进行迁移。
19.根据权利要求17所述的服务节点,其中,所述资源单元调度单元还在将所选择的至少一个资源单元迁移到与所述最小负载值相对应的服务节点之前,估算与所述最大负载值相对应的服务节点在移除所选择的至少一个资源单元之后的预计负载值同与所述最小负载值相对应的服务节点在增加所选择的至少一个资源单元之后的预计负载值之间的第二差值;以及基于所述第二差值小于所述门限值,来将所选择的至少一个资源单元迁移到与所述最小负载值相对应的服务节点。
20.根据权利要求19所述的服务节点,其中,所述资源单元调度单元还基于所述第二差值大于所述门限值,不对在与所述最大负载值相对应的服务节点处的资源单元进行迁移。
21.根据权利要求12所述的服务节点,其中,动态权重因子计算单元是根据预先配置的时间间隔来获取每个服务节点处的服务节点信息的。
22.根据权利要求12-21中任一项所述的服务节点,其中,所述两种或更多种资源包括处理器资源、存储器资源和内存资源。
23.一种计算设备,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到11中任一项所述的方法。
24.一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到11中任一项所述的方法。
CN202210245618.9A 2022-03-14 2022-03-14 用于分布式系统的方法及装置 Active CN114338696B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210245618.9A CN114338696B (zh) 2022-03-14 2022-03-14 用于分布式系统的方法及装置
PCT/CN2023/071524 WO2023173917A1 (zh) 2022-03-14 2023-01-10 用于分布式系统的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210245618.9A CN114338696B (zh) 2022-03-14 2022-03-14 用于分布式系统的方法及装置

Publications (2)

Publication Number Publication Date
CN114338696A true CN114338696A (zh) 2022-04-12
CN114338696B CN114338696B (zh) 2022-07-15

Family

ID=81033306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210245618.9A Active CN114338696B (zh) 2022-03-14 2022-03-14 用于分布式系统的方法及装置

Country Status (2)

Country Link
CN (1) CN114338696B (zh)
WO (1) WO2023173917A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023173917A1 (zh) * 2022-03-14 2023-09-21 北京奥星贝斯科技有限公司 用于分布式系统的方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1591340A (zh) * 2003-08-29 2005-03-09 株式会社东芝 用于服务负载分布的计算机系统和方法
CN102075425A (zh) * 2008-12-16 2011-05-25 中国移动通信集团北京有限公司 一种业务分配方法和负载均衡器
CN104270416A (zh) * 2014-09-12 2015-01-07 杭州华为数字技术有限公司 负载均衡控制方法及管理节点
CN104283948A (zh) * 2014-09-26 2015-01-14 东软集团股份有限公司 服务器集群系统及其负载均衡实现方法
CN105450537A (zh) * 2014-09-02 2016-03-30 阿尔卡特朗讯 确定节点负载信息及据此进行负载均衡和过载控制
CN111614746A (zh) * 2020-05-15 2020-09-01 北京金山云网络技术有限公司 云主机集群的负载均衡方法、装置及服务器
CN112118314A (zh) * 2020-09-18 2020-12-22 北京百度网讯科技有限公司 负载均衡方法和装置
WO2021073083A1 (zh) * 2019-10-15 2021-04-22 南京莱斯网信技术研究院有限公司 一种基于节点负载的数据动态分区系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101883599B1 (ko) * 2017-04-24 2018-08-30 세종대학교산학협력단 클라우드 컴퓨팅 환경에서 가상화 자원 분배 방법 및 장치
CN113608878A (zh) * 2021-08-18 2021-11-05 上海德拓信息技术股份有限公司 一种基于资源权重计算的任务分布式调度方法与系统
CN114338696B (zh) * 2022-03-14 2022-07-15 北京奥星贝斯科技有限公司 用于分布式系统的方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1591340A (zh) * 2003-08-29 2005-03-09 株式会社东芝 用于服务负载分布的计算机系统和方法
CN102075425A (zh) * 2008-12-16 2011-05-25 中国移动通信集团北京有限公司 一种业务分配方法和负载均衡器
CN105450537A (zh) * 2014-09-02 2016-03-30 阿尔卡特朗讯 确定节点负载信息及据此进行负载均衡和过载控制
CN104270416A (zh) * 2014-09-12 2015-01-07 杭州华为数字技术有限公司 负载均衡控制方法及管理节点
CN104283948A (zh) * 2014-09-26 2015-01-14 东软集团股份有限公司 服务器集群系统及其负载均衡实现方法
WO2021073083A1 (zh) * 2019-10-15 2021-04-22 南京莱斯网信技术研究院有限公司 一种基于节点负载的数据动态分区系统
CN111614746A (zh) * 2020-05-15 2020-09-01 北京金山云网络技术有限公司 云主机集群的负载均衡方法、装置及服务器
CN112118314A (zh) * 2020-09-18 2020-12-22 北京百度网讯科技有限公司 负载均衡方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023173917A1 (zh) * 2022-03-14 2023-09-21 北京奥星贝斯科技有限公司 用于分布式系统的方法及装置

Also Published As

Publication number Publication date
CN114338696B (zh) 2022-07-15
WO2023173917A1 (zh) 2023-09-21

Similar Documents

Publication Publication Date Title
Hieu et al. Virtual machine consolidation with multiple usage prediction for energy-efficient cloud data centers
US11032359B2 (en) Multi-priority service instance allocation within cloud computing platforms
US11252220B2 (en) Distributed code execution involving a serverless computing infrastructure
US10884812B2 (en) Performance-based hardware emulation in an on-demand network code execution system
US10963285B2 (en) Resource management for virtual machines in cloud computing systems
US11526434B1 (en) Network-level garbage collection in an on-demand code execution system
US10423455B2 (en) Method for deploying virtual machines in cloud computing systems based on predicted lifetime
US8423998B2 (en) System and method for virtual machine multiplexing for resource provisioning in compute clouds
EP2894827B1 (en) Method, apparatus, and system for managing migration of virtual machine
US20130290539A1 (en) Resource placement in networked cloud based on resource constraints
US20220121467A1 (en) A method and a system for managing the computing resources of a cloud computing platform
US10841369B2 (en) Determining allocatable host system resources to remove from a cluster and return to a host service provider
US10048987B1 (en) Methods and apparatus for a resource sharing platform having resource quality estimation
US10824339B1 (en) Snapshot-based garbage collection in an on-demand code execution system
CN114338696B (zh) 用于分布式系统的方法及装置
CN115168021A (zh) 跨分布式计算集群管理计算机工作负载
US11418583B2 (en) Transaction process management by dynamic transaction aggregation
CN107203256B (zh) 一种网络功能虚拟化场景下的节能分配方法与装置
CN114116173A (zh) 动态调整任务分配的方法、装置和系统
US20210117237A1 (en) Method, devices and computer program products for resource usage
CN113703975A (zh) 模型分配方法、装置、电子设备及计算机可读存储介质
CN114253663A (zh) 一种虚拟机资源的调度方法和装置
CN113760496A (zh) 一种容器调度方法和调度器
CN110888741A (zh) 应用容器的资源调度方法、装置、服务器及存储介质
US11693766B2 (en) Resource allocation in microservice architectures

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