分布式系统的资源请求方法、装置、设备和存储介质制造方法及图纸

技术编号:23890101 阅读:38 留言:0更新日期:2020-04-22 06:06
本申请提出一种分布式系统的资源请求方法、装置、设备和存储介质。分布式系统的资源分配方法,包括:为分布式系统中的多个请求端分配资源配额;接收多个请求端中的第一请求端发送的资源请求信息;根据资源请求信息,获取第一请求端的资源请求量;其中,在第一请求端的资源需求量小于或等于第一请求端对应的资源配额的情况下,资源请求量为资源需求量;在第一请求端的资源需求量大于第一请求端对应的资源配额的情况下,资源请求量为资源配额;为第一请求端提供资源请求量的资源,并获取第一请求端的资源需求量与对应的资源配额的第一差额;根据第一差额为多个请求端重新分配资源配额。本申请可以提高资源利用率和系统效率。

Resource request method, device, device and storage medium of distributed system

【技术实现步骤摘要】
分布式系统的资源请求方法、装置、设备和存储介质
本申请涉及分布式系统,尤其涉及一种分布式系统的资源请求方法、装置、设备和存储介质。
技术介绍
伴随着云计算、虚拟化技术、容器技术和微服务等带来的技术变革,分布式系统被广泛应用各个行业,各个领域当中。随着分布式系统的应用普及,每个具体的应用系统所需的不同资源都面临着各自层次的质量管控问题,这些问题由于掌控资源的服务从单一的结点变成了分布式的多个结点,产生了许多新的挑战,其中最大的挑战就是分布式死锁问题。在分布式环境下,由于通讯延迟的不确定性、地域的分布性以及资源和数据的高度共享性等影响因素的存在,使得死锁预防和检测变得极为困难。在分布式计算系统中,有两个以上的进程在并发执行,每个进程都在等待被其它的进程所占用的系统资源而不能继续运行,即导致系统中任何一个进程都无法运行下去,形成死循环,这就产生了死锁。目前,可以通过破坏死锁产生的条件实现对死锁的预防。例如,规定只有当资源提供端能够满足请求端进程的全部资源请求时才把资源分配给请求端,请求端进程才开始执行,从而不会产生资源等待。但这些方法需要大量的资源预留,资源利用率较低,影响系统效率。
技术实现思路
本申请实施例提供一种分布式系统的资源请求方法、装置、设备和存储介质,以解决相关技术存在的问题,技术方案如下:第一方面,本申请实施例提供了一种分布式系统的资源分配方法,包括:为分布式系统中的多个请求端分配资源配额;接收多个请求端中的第一请求端发送的资源请求信息;根据资源请求信息,获取第一请求端的资源请求量,其中,在第一请求端的资源需求量小于或等于第一请求端对应的资源配额的情况下,资源请求量为资源需求量;在第一请求端的资源需求量大于第一请求端对应的资源配额的情况下,资源请求量为资源配额;为第一请求端提供资源请求量的资源,并获取第一请求端的资源需求量与对应的资源配额的第一差额;根据第一差额为多个请求端重新分配资源配额。在一种实施方式中,资源请求信息包括资源请求量和第一差额;在为分布式系统中的多个请求端分配资源配额之后,方法还包括:将分配后的资源配额的信息发送给多个请求端,以使多个请求端根据自身的资源需求量和对应的资源配额确定第一差额以及资源请求量。在一种实施方式中,根据第一差额为多个请求端重新分配资源配额之前,方法还包括:确定是否符合预设的配额重分条件,如果符合预设的配额重分条件,则根据第一差额为多个请求端重新分配资源配额;其中,预设的配额重分条件包括以下多种条件中的至少一种条件:多个请求端对应的第一差额达到预设的阈值;当前时间达到预设的周期时间节点;与多个请求端中的任一请求端之间的连接断开;与分布式系统中的任一请求端建立连接。在一种实施方式中,根据第一差额为多个请求端重新分配资源配额,包括:计算能够从多个请求端已经被分配的资源配额中回收的资源配额总量;根据资源配额总量和多个请求端中的每一请求端对应的第一差额,分别计算每一请求端的待分配资源配额;根据每一请求端的待分配资源配额,回收或增加每一请求端的资源配额,以使每一请求端被分配到待分配资源配额。在一种实施方式中,计算能够从多个请求端已经被分配的资源配额中回收的资源配额总量,包括:根据多个请求端中的每一请求端已经被分配的资源配额和预设的回收比例,计算能够从每一请求端回收的资源配额,以得到能够从多个请求端回收的资源配额总量。在一种实施方式中,计算能够从多个请求端已经被分配的资源配额中回收的资源配额总量,包括:计算多个请求端中的每一请求端已经被分配的资源配额与预设的保留配额之间的第二差额;计算多个请求端对应的第二差额的总和,以得到能够从多个请求端中回收的资源配额总量。在一种实施方式中,能够从多个请求端中的每一请求端回收的资源配额是相等的。在一种实施方式中,根据资源配额总量和多个请求端中的每一请求端对应的第一差额,分别计算每一请求端的待分配资源配额,包括:计算多个请求端对应的第一差额的总和;根据多个请求端中的每一请求端对应的第一差额与第一差额的总和之间的比例,以及资源配额总量,计算每一请求端的待分配资源配额。在一种实施方式中,根据资源配额总量和多个请求端中的每一请求端对应的第一差额,分别计算每一请求端的待分配资源配额,包括:根据多个请求端中的每一请求端对应的第一差额,确定每一请求端对应的差额级别;根据每一请求端对应的差额级别,确定每一请求端的分配权重;其中,差额级别与分配权重具有预设的映射关系;计算多个请求端的分配权重的总和;根据每一请求端的分配权重与分配权重的总和之间的比例,以及资源配额总量,计算每一请求端的待分配资源配额。在一种实施方式中,根据每一请求端的待分配资源配额,回收或增加每一请求端的资源配额,包括:对于多个请求端中的第二请求端,确定第二请求端的待分配资源配额与已经被分配的资源配额之间的大小关系;在第二请求端的待分配资源配额小于已经被分配的资源配额的情况下,通知第二请求端回收其资源配额;在第二请求端的待分配资源配额大于或等于已经被分配的资源配额的情况下,增加第二请求端的资源配额。在一种实施方式中,增加第二请求端的资源配额,包括:如果当前尚未分配的资源配额大于或等于第三差额,从当前尚未分配的资源配额中提取第三差额增加到第二请求端的资源配额中;第三差额为第二请求端的待分配资源配额与第二请求端的保留配额之间的差额;如果当前尚未分配的资源配额小于第三差额,将当前尚未分配的资源配额全部分配给第二请求端,将第二请求端添加到配额等待列表中。在一种实施方式中,在通知第二请求端回收其资源配额之后,方法还包括:根据第二请求端发送的反馈信息,确定从第二请求端回收的资源配额;使用从第二请求端回收的资源配额,为配额等待列表中的一个或多个请求端分配资源配额。第二方面,本申请实施例提供了一种分布式系统的资源请求方法,包括:接收资源提供端分配的资源配额;其中,资源配额小于资源提供端的资源总量;在自身的资源需求量小于或等于资源配额的情况下,确定资源请求量为资源需求量;在资源需求量大于资源配额的情况下,确定资源请求量为资源配额;获取资源请求量与资源配额的第一差额;向资源提供端发送资源请求信息,资源请求信息包括资源请求量和第一差额,资源请求信息用于使资源提供端提供资源请求量的资源,并根据第一差额为资源提供端连接的多个请求端重新分配资源配额。第三方面,本申请实施例提供一种分布式系统的资源请求装置,包括:初始分配模块,用于为分布式系统中的多个请求端分配资源配额;请求接收模块,用于接收多个请求端中的第一请求端发送的资源请求信息;第一获取模块,用于根据资源请求信息,获取第一请求端的资源请求量,其中,在第一本文档来自技高网...

【技术保护点】
1.一种分布式系统的资源分配方法,其特征在于,包括:/n为分布式系统中的多个请求端分配资源配额;/n接收所述多个请求端中的第一请求端发送的资源请求信息;/n根据所述资源请求信息,获取所述第一请求端的资源请求量;其中,在所述第一请求端的资源需求量小于或等于所述第一请求端对应的资源配额的情况下,所述资源请求量为所述资源需求量;在所述第一请求端的资源需求量大于所述第一请求端对应的资源配额的情况下,所述资源请求量为所述资源配额;/n为所述第一请求端提供所述资源请求量的资源,并获取所述第一请求端的资源需求量与所述对应的资源配额的第一差额;/n根据所述第一差额为所述多个请求端重新分配资源配额。/n

【技术特征摘要】
1.一种分布式系统的资源分配方法,其特征在于,包括:
为分布式系统中的多个请求端分配资源配额;
接收所述多个请求端中的第一请求端发送的资源请求信息;
根据所述资源请求信息,获取所述第一请求端的资源请求量;其中,在所述第一请求端的资源需求量小于或等于所述第一请求端对应的资源配额的情况下,所述资源请求量为所述资源需求量;在所述第一请求端的资源需求量大于所述第一请求端对应的资源配额的情况下,所述资源请求量为所述资源配额;
为所述第一请求端提供所述资源请求量的资源,并获取所述第一请求端的资源需求量与所述对应的资源配额的第一差额;
根据所述第一差额为所述多个请求端重新分配资源配额。


2.根据权利要求1所述的方法,其特征在于,所述资源请求信息包括所述资源请求量和所述第一差额;
在所述为分布式系统中的多个请求端分配资源配额之后,所述方法还包括:
将分配后的资源配额的信息发送给所述多个请求端,以使所述多个请求端根据自身的资源需求量和对应的资源配额确定所述第一差额以及所述资源请求量。


3.根据权利要求1所述的方法,其特征在于,所述根据所述第一差额为所述多个请求端重新分配资源配额之前,所述方法还包括:
确定是否符合预设的配额重分条件,如果符合所述预设的配额重分条件,则根据所述第一差额为所述多个请求端重新分配资源配额;
其中,所述预设的配额重分条件包括以下多种条件中的至少一种条件:
所述多个请求端对应的第一差额达到预设的阈值;
当前时间达到预设的周期时间节点;
与所述多个请求端中的任一请求端之间的连接断开;
与所述分布式系统中的任一请求端建立连接。


4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述第一差额为所述多个请求端重新分配资源配额,包括:
计算能够从所述多个请求端已经被分配的资源配额中回收的资源配额总量;
根据所述资源配额总量和所述多个请求端中的每一请求端对应的所述第一差额,分别计算所述每一请求端的待分配资源配额;
根据所述每一请求端的待分配资源配额,回收或增加所述每一请求端的资源配额,以使所述每一请求端被分配到所述待分配资源配额。


5.根据权利要求4所述的方法,其特征在于,所述计算能够从所述多个请求端已经被分配的资源配额中回收的资源配额总量,包括:
根据所述多个请求端中的每一请求端已经被分配的资源配额和预设的回收比例,计算能够从所述每一请求端回收的资源配额,以得到能够从所述多个请求端回收的资源配额总量。


6.根据权利要求4所述的方法,其特征在于,所述计算能够从所述多个请求端已经被分配的资源配额中回收的资源配额总量,包括:
计算所述多个请求端中的每一请求端已经被分配的资源配额与预设的保留配额之间的第二差额;
计算所述多个请求端对应的第二差额的总和,以得到能够从所述多个请求端中回收的资源配额总量。


7.根据权利要求4所述的方法,其特征在于,能够从所述多个请求端中的每一请求端回收的资源配额是相等的。


8.根据权利要求4所述的方法,其特征在于,所述根据所述资源配额总量和所述多个请求端中的每一请求端对应的所述第一差额,分别计算所述每一请求端的待分配资源配额,包括:
计算所述多个请求端对应的第一差额的总和;
根据所述多个请求端中的每一请求端对应的第一差额与所述第一差额的总和之间的比例,以及所述资源配额总量,计算所述每一请求端的待分配资源配额。


9.根据权利要求4所述的方法,其特征在于,所述根据所述资源配额总量和所述多个请求端中的每一请求端对应的所述第一差额,分别计算所述每一请求端的待分配资源配额,包括:
根据所述多个请求端中的每一请求端对应的第一差额,确定所述每一请求端对应的差额级别;
根据所述每一请求端对应的差额级别,确定所述每一请求端的分配权重;其中,所述差额级别与所述分配权重具有预设的映射关系;
计算所述多个请求端的分配权重的总和;
根据所述每一请求端的分配权重与所述分配权重的总和之间的比例,以及所述资源配额总量,计算所述每一请求端的待分...

【专利技术属性】
技术研发人员:高华龙
申请(专利权)人:北京云宽志业网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1