一种基于联盟链网络的去中心化跨集群资源共享方法与流程

文档序号:17492166发布日期:2019-04-23 20:42阅读:197来源:国知局
一种基于联盟链网络的去中心化跨集群资源共享方法与流程

本发明涉及云计算领域,更具体地,涉及一种基于联盟链网络的去中心化跨集群资源共享方法。



背景技术:

随着云计算的快速发展,云中心承载的任务负载越来越大,单个集群的资源已经很难满足大量任务的需求。跨集群资源共享是云计算发展的一个必然趋势,通过在集群之间共享计算资源,将任务调度到其他集群执行,可以减少任务运行时间,同时提高资源的利用率。为了保证集群各自的利益,大多数方案都是通过引入竞价机制来实现每个集群各自利益的最大化。然而在当前的竞价机制中,需要一个可信任的第三方拍卖商或者假定交易双方相互信任;同时竞价考虑的是电力成本,没有考虑到集群当前的资源利用率。

现有的跨集群资源共享方案为了每个集群的各自的资源效益,通常会通过引入竞价机制进行资源拍卖来保证公平性。资源拍卖中主要有三种角色:资源需求方、资源提供方、拍卖商。资源需求方在当本地的资源无法满足任务需求或者负载过高时,可以通过将任务调度到其他集群来减轻负载。资源提供方通过将空闲的资源进行定价出售来获取额外收益。而拍卖商需要在这之间充当一个协商者负责每一次资源拍卖的进行,同时在集群之间建立起资源交易合同。

具体的流程为:

1)在每一次拍卖时间段内,资源需求方根据当前的任务负载情况和本地区的当前电费向拍卖商发送资源需求量和资源买价。资源提供方根据当前的空闲资源和当前电费向拍卖商发送资源提供量和资源卖价。

2)在拍卖时间到达之后,拍卖商收到了两个队列:资源需求方队列和资源提供方队列。根据价格对资源需求方的请求进行降序排序,对资源提供方的资源进行升序排序。

3)拍卖商选择第一个资源需求方和第一个资源提供方,为双方建立起资源交易合同,交易的资源量为两方中的较小值,资源的价格为两方出的价格的平均数。

4)若资源需求方的需求量大于资源提供方的提供量,则将资源提供方从队列中删去,资源需求方的需求量减去已交易得到的提供量重新进入队列队头;若资源提供方的提供量大于需求量,则将资源需求方从队列中删去,资源提供方的提供量减去需求量,重新进入队列队头;若正好相等,则同时删去。

5)拍卖商建立好资源交易合同之后,通知两方集群进行资源交易,资源需求方将任务调度到资源提供方进行执行。

6)任务运行完成之后,买卖双方通过拍卖商建立的资源交易合同进行结算,资源需求方将约定金额转账给资源提供方。

7)拍卖商继续从两个队列中选取资源需求方和资源提供方建立交易。

现有的跨集群资源共享方案存在以下问题:

1)单点故障问题。由于集群与集群之间存在信任问题,因此在现有技术方案中需要通过一个可信任的第三方拍卖商来充当集群间资源共享的协商者,集中式的系统架构容易成为整个系统的性能瓶颈。

2)费用结算问题。现有的技术方案中不涉及资源使用结束之后集群间的费用结算,默认为集群之间私底下各自进行结算,然而这种涉及货币的结算方式不利于集群联邦之间资源的高效共享,需要在联邦之间建立起资源货币体系。

3)公平性问题。现有方案缺乏有效措施来限制每个集群可利用的其他集群的资源额度,容易造成某些集群过多使用其他集群的资源,而其他集群出现饥饿情况。

4)资源定价问题。现有的资源定价主要是根据当地的电费价格来决定,不能很好的反映出资源的价值。而资源的价值通常体现在集群的任务负载上。当任务负载小时,即空闲资源比较多时,则此时的资源则应该比较廉价,集群应当尽可能的出售资源。当任务负载大时,则此时的资源比较稀缺,集群应尽量买入资源。



技术实现要素:

针对跨集群资源共享方案需要通过第三方拍卖商、费用结算不清晰、未能合理有效应用各个集群的资源、资源定价不合理的问题,本发明提出一种基于联盟链网络的去中心化跨集群资源共享方法,本发明采用的技术方案是:

一种基于联盟链网络的去中心化跨集群资源共享方法,包括以下步骤:

s10.在集群联邦之间建立一个联盟链网络,在联盟链网络中建立一个集群间的分布式账本,记录每个集群的资源额度,集群的角色分为资源需求方与资源提供方,每个集群根据各自的资源利用率在两个角色之间切换;

s20.每个集群设置本集群的两个资源利用率参数,期望利用率α和最大利用率β,整个集群联邦设置一个资源最低限额,当集群的资源额度小于最低限额时,则不能作为资源需求方发起竞价,只能作为资源提供方先赚取资源额度,最低限额应不小于零;

s30.每个集群实时监控各自集群的资源利用率,当集群的资源利用率大于β时,该集群作为资源需求方。若当前的资源可用额度大于集群联邦限定的最低限额时,将所需的资源描述广播到其他集群,发起竞价;当集群的资源利用率小于等于β时,该集群作为资源提供方,监听其他集群发出的资源请求。当资源需求方的资源可用额度大于最低限额时,资源提供方根据α计算定价参数,通过计算参数参与竞价;资源需求方与资源提供方进行匹配,资源提供方的可用资源满足资源需求方的需求,且资源需求方选取定价参数队列中最小的定价参数并与该定价参数的资源提供方进行匹配,双方进行交易;

s40.交易结束后,进行资源费用结算,资源需求方自身的资源额度上支付资源费用给资源提供方,资源提供方获得资源费用。

2.根据权利要求1所述的基于联盟链网络的去中心化跨集群资源共享方法,其特征在于,s30中资源提供方的资源响应过程具体包括以下步骤:

步骤1.监控本集群资源利用率,若资源利用率小于β,则监听其他集群发出的资源请求;

步骤2.接收到其他集群发出的资源请求后,需先查看账本中该资源请求的集群的资源额度是否大于最低限额,若不满足则丢弃该请求;若满足则计算本集群剩余的可用空闲资源是否满足资源需求方的资源需求,再根据公式计算定价参数λ=e-[α-(资源总量-空闲资源)/资源总量],向资源需求方返回λ;

步骤3.资源提供方在收到资源需求方的任务之后,将任务加入到本集群的调度队列中,当任务调度成功后,向资源需求方发送任务调度成功信息,同时将当前时间戳和任务标识写入联盟链网络中。

优选的,步骤s30中资源需求方的资源请求过程具体包括以下步骤:

步骤1.实时监控本集群的资源利用率,当资源利用率超过β且当前的资源可用额度大于最低限额时,则锁定本集群的任务队列中的第一个任务,不再将任务调度到本集群,而是将该任务所需的资源描述广播到其他集群,为该任务发起一次资源竞价,同时启动一个竞价定时器;

步骤2.资源需求方在竞价定时器超时之前,将从联盟链网络收到的其他集群的定价参数λ进行升序排序生成定价参数λ队列,选择最小的λ,将该λ从资源需求方的定价参数λ队列中删去,向该最小的λ的资源提供方集群发送具体的任务描述,同时启动一个任务定时器;

步骤3.将本集群标识、提供方集群标识、λ、所需资源量、开始时间戳、定时器写入到联盟链网络中记录下来;

步骤4.在任务定时器超时之前,若还未收到资源提供方集群发送的任务调度成功消息,则向资源提供方集群发送任务取消消息,同时将本集群标识、提供方集群标识、当前时间戳、任务取消标识写入到联盟链网络中;若收到消息则进入下一步;

步骤5.任务运行完成后,资源需求方收到任务完成信息和任务执行结果,将进行资源结算;资源需求方发起交易,从自身的资源额度上支付资源费用给资源提供方。

优选的,期望利用率α为竞价机制中对资源定价的基准,最大利用率β为集群管理者设定的本集群为保证qos服务质量所不能超过的资源利用率。

优选的,所述的资源费用计算公式为

资源费用=任务所占用的资源量*(任务结束时间戳-任务开始时间戳)*λ。

优选的,所述的资源提供方的资源响应过程的步骤3中,若任务调度成功之前收到了资源需求方发送的任务取消信息时,则将任务从资源提供方的调度队列中删去。

优选的,所述的资源提供方在任务执行结束之后,将任务执行结果和任务完成消息发送给资源需求方,同时将本集群标识、需求方集群标识、当前时间戳、任务完成标识写入联盟链网络中。

优选的,资源需求方的资源请求过程中资源提供方获得资源费用后,同时将资源额度交易发布到联盟链网络中。

与现有技术相比,本发明技术方案的有益效果是:

1)本发明通过利用联盟链网络技术在集群间构建了一个联盟链网络,给每个集群限制了资源可用额度,从而有助于保证集群间的公平性。

2)本发明通过将竞价过程的关键信息写入到联盟链网络中,保证了资源交易过程中的不可篡改和可追溯,解决了集群间的信任问题。从而可以将原本由可信任的第三方拍卖商发起的中心化竞价机制改为由每个资源需求方各自发起竞价的分布式架构,有助于系统的可拓展性和鲁棒性。

3)本发明通过利用资源利用率来计算定价参数,通过定价参数来参与资源竞价,这样有利于单个集群通过资源竞价来调整本集群的资源利用率,从而使得整个集群联邦的资源使用和任务负载更加均衡。

附图说明

图1为本发明提供的基于联盟链网络的去中心化跨集群资源共享方法的流程图。

其中(a)为资源需求方的资源请求过程;(b)为资源提供方的资源响应过程。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,仅用于示例性说明,不能理解为对本专利的限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

图1所示,一种基于联盟链网络的去中心化跨集群资源共享方法,包括以下步骤:

s10.在集群联邦之间建立一个联盟链网络,在联盟链网络中建立一个集群间的分布式账本,记录每个集群的资源额度,集群的角色分为资源需求方与资源提供方,每个集群根据各自的资源利用率在两个角色之间切换;

s20.每个集群设置本集群的两个资源利用率参数,期望利用率α和最大利用率β,整个集群联邦设置一个资源最低限额,当集群的资源额度小于最低限额时,则不能作为资源需求方发起竞价,只能作为资源提供方先赚取资源额度,最低限额应不小于零;

s30.每个集群实时监控各自集群的资源利用率,当集群的资源利用率大于β时,该集群作为资源需求方。若当前的资源可用额度大于集群联邦限定的最低限额时,将所需的资源描述广播到其他集群,发起竞价;当集群的资源利用率小于等于β时,该集群作为资源提供方,监听其他集群发出的资源请求。当资源需求方的资源可用额度大于最低限额时,资源提供方根据α计算定价参数,通过计算参数参与竞价;资源需求方与资源提供方进行匹配,资源提供方的可用资源满足资源需求方的需求,且资源需求方选取定价参数队列中最小的定价参数并与该定价参数的资源提供方进行匹配,双方进行交易;

s40.交易结束后,进行资源费用结算,资源需求方自身的资源额度上支付资源费用给资源提供方,资源提供方获得资源费用。

2.根据权利要求1所述的基于联盟链网络的去中心化跨集群资源共享方法,其特征在于,s30中资源提供方的资源响应过程具体包括以下步骤:

步骤1.监控本集群资源利用率,若资源利用率小于β,则监听其他集群发出的资源请求;

步骤2.接收到其他集群发出的资源请求后,需先查看账本中该资源请求的集群的资源额度是否大于最低限额,若不满足则丢弃该请求;若满足则计算本集群剩余的可用空闲资源是否满足资源需求方的资源需求,再根据公式计算定价参数λ=e-[α-(资源总量-空闲资源)/资源总量],向资源需求方返回λ;

步骤3.资源提供方在收到资源需求方的任务之后,将任务加入到本集群的调度队列中,当任务调度成功后,向资源需求方发送任务调度成功信息,同时将当前时间戳和任务标识写入联盟链网络中。

优选的,步骤s30中资源需求方的资源请求过程具体包括以下步骤:

步骤1.实时监控本集群的资源利用率,当资源利用率超过β且当前的资源可用额度大于最低限额时,则锁定本集群的任务队列中的第一个任务,不再将任务调度到本集群,而是将该任务所需的资源描述广播到其他集群,为该任务发起一次资源竞价,同时启动一个竞价定时器;

步骤2.资源需求方在竞价定时器超时之前,将从联盟链网络收到的其他集群的定价参数λ进行升序排序生成定价参数λ队列,选择最小的λ,将该λ从资源需求方的定价参数λ队列中删去,向该最小的λ的资源提供方集群发送具体的任务描述,同时启动一个任务定时器;

步骤3.将本集群标识、提供方集群标识、λ、所需资源量、开始时间戳、定时器写入到联盟链网络中记录下来;

步骤4.在任务定时器超时之前,若还未收到资源提供方集群发送的任务调度成功消息,则向资源提供方集群发送任务取消消息,同时将本集群标识、提供方集群标识、当前时间戳、任务取消标识写入到联盟链网络中;若收到消息则进入下一步;

步骤5.任务运行完成后,资源需求方收到任务完成信息和任务执行结果,将进行资源结算;资源需求方发起交易,从自身的资源额度上支付资源费用给资源提供方。

优选的,期望利用率α为竞价机制中对资源定价的基准,最大利用率β为集群管理者设定的本集群为保证qos服务质量所不能超过的资源利用率。

优选的,所述的资源费用计算公式为

资源费用=任务所占用的资源量*(任务结束时间戳-任务开始时间戳)*λ。

优选的,所述的资源提供方的资源响应过程的步骤3中,若任务调度成功之前收到了资源需求方发送的任务取消信息时,则将任务从资源提供方的调度队列中删去。

优选的,所述的资源提供方在任务执行结束之后,将任务执行结果和任务完成消息发送给资源需求方,同时将本集群标识、需求方集群标识、当前时间戳、任务完成标识写入联盟链网络中。

优选的,资源需求方的资源请求过程中资源提供方获得资源费用后,同时将资源额度交易发布到联盟链网络中。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1