一种实现资源预留的方法和装置与流程

文档序号:11253894
一种实现资源预留的方法和装置与流程

本文涉及但不限于云计算技术和虚拟化技术,尤指一种实现资源预留的方法和装置。



背景技术:

网络(Web)服务作为目前最流行的分布式计算方式之一,提供了一种与操作系统无关、与程序设计语言无关、与机器类型无关、与运行环境无关的开放平台,实现网络资源的协作与共享。云计算平台集成的资源多以Web服务的形式向用户提供,许多计算任务往往需要大量的计算资源(包括中央处理器(CPU,Central Processing Unit)资源和内存资源)和存储资源协同工作来完成,有效地控制和保障这类计算任务的服务质量(QoS,Quality of Service)成为云计算面临的重要议题之一。由于云计算环境下资源的可获得性和性能的动态变化,未来预留时间段内资源的可获得性和性能难以得到保证,因此,将资源的提前预留作为一种QoS的保障机制引入到云计算环境下面临着挑战。全球网络论坛(GGF,Global Grid Forum)将资源提前预留定义为:用户与资源所有者经过协商,在指定时间段内获得的对资源的限制性访问权限。实际上,提前预留可以看作是云计算平台的一种承诺,在指定时间段内可以获得特定水平的服务。

相关技术中,实现资源预留的方法大致包括:

数据中心的管理服务器接收到来自用户的预留请求,判断出数据中心中的可用资源中存在预留请求中的全部资源,从可用资源中为用户分配资源并向用户返回分配的资源。

相关技术中,当判断出数据中心中的可用资源中不存在预留请求中的全部资源时,管理服务器向用户返回拒绝消息,使得数据中心在资源不足时,预留请求的拒绝率较高。



技术实现要素:

本发明实施例提出了一种实现资源预留的方法和装置,能够降低预留请求的拒绝率。

本发明实施例提出了一种实现资源预留的方法,包括:

联合服务器接收到来自用户的预留请求,获取多个数据中心中的可用资源;

联合服务器判断出不存在满足预设条件的数据中心,根据获得的多个数据中心中的可用资源将预留请求分解为多个数据中心对应的简单预留请求;其中,预设条件包括数据中心的可用资源中包括预留请求中的全部资源;

联合服务器将每一个简单预留请求发送给对应的数据中心的服务器;

联合服务器向用户返回接收到的来自多个数据中心的服务器的分配的资源。

可选的,该方法还包括:

当所述联合服务器判断出存在满足所述预设条件的一个或多个数据中心时,所述联合服务器将预留请求发送给满足所述预设条件的数据中心中的一个的服务器;

所述联合服务器向所述用户返回接收到的来自所述满足预设条件的数据中心中的一个的服务器的分配的资源。

可选的,所述联合服务器将预留请求发送给满足预设条件的数据中心中的一个的服务器包括:

所述联合服务器按照公式计算每一个数据中心的偏差程度,将所述预留请求发送给计算得到的偏差程度最小的数据中心的服务器;

其中,ε1为所述偏差程度,m1为所述预留请求中的资源包含的需求参数的个数,q1i1为所述数据中心中的资源的第i1个需求参数,r1i1为所述预留请求中的资源的第i1个需求参数。

可选的,该方法还包括:

所述联合服务器将所述用户的提前预留状态更改为预定状态。

可选的,该方法还包括:

所述联合服务器向所述用户返回所述分配的资源后,生成预留消息并放入预留队列中;

当所述预留消息中的预留开始时间到达时,所述联合服务器判断出所述预留消息中分配的资源均可用,将所述用户的提前预留状态更改为活跃状态,通知用户已绑定所需资源,通知分配资源的数据中心将分配给所述用户的资源置为不可用。

可选的,该方法还包括:

当所述联合服务器判断出所述预留消息中分配的资源中的部分或全部资源不可用时,所述联合服务器继续执行所述获取一个或多个数据中心中的可用资源的步骤。

可选的,该方法还包括:

当所述预留消息中的预留结束时间到达时,所述联合服务器将所述用户的提前预留状态更改为完成状态,并通知分配资源的数据中心释放分配给所述用户的资源;

或者,当所述联合服务器判断出满足预设终止条件时,所述联合服务器将所述用户的提前预留状态更改为终止状态,并通知分配资源的数据中心释放分配给所述用户的资源。

可选的,该方法还包括:

所述联合服务器接收到来自所述用户的修改预留请求,继续执行获取一个或多个数据中心中的可用资源的步骤。

可选的,该方法还包括:

所述联合服务器接收到来自所述用户的修改预留请求后,将所述用户的提前预留状态更改为预定重协商状态或活跃重协商状态;

所述联合服务器向所述用户返回重新协商后分配的资源后,将所述用户的提前预留状态更改为预定状态或活跃状态。

可选的,该方法还包括:

所述联合服务器接收到来自所述用户的撤销请求,将所述用户的提前预留状态更改为撤销状态,并通知分配资源的数据中心释放分配给所述用户的资源。

本发明实施例还提出了一种实现资源预留的装置,包括:

获取模块,用于接收到来自用户的预留请求,获取多个数据中心中的可用资源;接收到来自多个数据中心的服务器的分配的资源;

处理模块,用于判断出不存在满足预设条件的数据中心,根据获得的多个数据中心中的可用资源将预留请求分解为多个数据中心对应的简单预留请求;其中,预设条件包括数据中心的可用资源中包括预留请求中的全部资源;将每一个简单预留请求发送给对应的数据中心的服务器;

返回模块,用于向用户返回接收到的来自多个数据中心的服务器的分配的资源。

可选的,所述处理模块还用于:

当判断出存在满足所述预设条件的一个或多个数据中心时,所述联合服务器将预留请求发送给满足所述预设条件的数据中心中的一个的服务器;

所述获取模块还用于:

接收到来自所述满足预设条件的数据中心中的一个的服务器的分配的资源;

所述返回模块还用于:

向所述用户返回接收到的来自所述满足预设条件的数据中心中的一个的服务器的分配的资源。

可选的,所述处理模块还用于:

将所述用户的提前预留状态更改为预定状态。

可选的,所述返回模块还用于:

向所述用户返回所述分配的资源后,向所述处理模块发送第一通知消息;

所述处理模块还用于:

接收到第一通知消息,生成预留消息并放入预留队列中;当所述预留消息中的预留开始时间到达时,判断出所述预留消息中分配的资源均可用,将所述用户的提前预留状态更改为活跃状态通知用户已绑定所需资源,通知分配资源的数据中心将分配给所述用户的资源置为不可用。

可选的,所述处理模块还用于:

当判断出所述预留消息中分配的资源中的部分或全部资源不可用时,向所述获取模块发送第二通知消息;

所述获取模块还用于:

接收到所述第二通知消息,继续执行所述获取一个或多个数据中心中的可用资源的步骤。

可选的,所述处理模块还用于:

当所述预留消息中的预留结束时间到达时,将所述用户的提前预留状态更改为完成状态,并通知分配资源的数据中心释放分配给所述用户的资源;

或者,当所述联合服务器判断出满足预设终止条件时,将所述用户的提前预留状态更改为终止状态,并通知分配资源的数据中心释放分配给所述用户的资源。

可选的,所述获取模块还用于:

接收到来自所述用户的修改预留请求,继续执行获取一个或多个数据中心中的可用资源的步骤。

可选的,所述获取模块还用于:

接收到来自所述用户的修改预留请求后,向所述处理模块发送第三通知消息;

所述返回模块还用于:

向所述用户返回重新协商后分配的资源后,向所述处理模块发送第四通知消息;

所述处理模块还用于:

接收到所述第三通知消息,将所述用户的提前预留状态更改为预定重协商状态或活跃重协商状态;接收到所述第四通知消息,将所述用户的提前预留状态更改为预定状态或活跃状态。

可选的,所述获取模块还用于:

接收到来自所述用户的撤销请求,向所述处理模块发送第五通知消息;

所述处理模块还用于:

接收到所述第五通知消息,将所述用户的提前预留状态更改为撤销状态,并通知分配资源的数据中心释放分配给所述用户的资源。

与相关技术相比,本发明实施例的技术方案包括:联合服务器接收到来自用户的预留请求,获取多个数据中心中的可用资源;联合服务器判断出不存在满足预设条件的数据中心,根据获得的多个数据中心中的可用资源将预留请求分解为多个数据中心对应的简单预留请求;其中,预设条件包括数据中心的可用资源中包括预留请求中的全部资源;联合服务器将每一个简单预留请求发送给对应的数据中心的服务器;联合服务器向用户返回接收到的来自多个数据中心的服务器的分配的资源。通过本发明实施例的方案,通过联合服务器实现多个数据中心的可用资源的请求,在一个数据中心资源不足时,从多个数据中心中为用户分配资源,降低了预留请求的拒绝率。

附图说明

下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。

图1为本发明实施例实现资源预留的方法的流程图;

图2为本发明实施例实现资源预留的系统的结构组成示意图;

图3为本发明实施例用户的提前预留状态变化示意图;

图4为本发明实现资源预留的装置的结构组成示意图。

具体实施方式

为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的各种方式可以相互组合。

参见图1,本发明实施例提出了一种实现资源预留的方法,包括:

步骤100、联合服务器接收到来自用户的预留请求,获取多个数据中心中的可用资源。

本步骤中,预留请求包括:预留开始时间、预留结束时间、QoS需求参数、请求预留的资源。

其中,QoS需求参数包括用户希望达到的服务水平,即每一种资源对应的需求参数。例如,虚拟CPU核数、内存大小、磁盘空间、网卡数、端口数、网络带宽、互联网协议(IP,Internet Protocol)地址、媒体访问控制(MAC,Media Access Control)地址等。

其中,请求预留的资源包括以下的任意一种或多种:计算资源、存储资源、网络资源等。

其中,计算资源包括中央处理器(CPU,Center Process Unit)资源和内存资源,网络资源包括网络带宽资源等。

本步骤中,图2为本发明实施例实现资源预留的系统的结构组成示意图。如图2所示,联合服务器可以从全局信息中心中获取一个或多个数据中心中的可用资源,具体可以采用向全局信息中心发送查询可用资源的指令的方式来获取。其中,全局信息中心可以是一个服务器。

联合服务器也可以从每一个数据中心中获取数据中心中的可用资源。具体可以采用向每一个数据中心发送查询可用资源的指令的方式来获取,并对 每一个数据中心的可用资源进行整合。

每一个数据中心包括服务器和一个或多个资源所在的设备。在每一个数据中心中,可以在数据中心的服务器中采用虚拟资源容器(VRC,Virtual Resource Container)将相同种类的资源进行归类,形成虚拟资源列表,虚拟资源列表中的每一个表项包括每一种资源的可用状态,即该种资源在当前是否可用。

每一个数据中心能够自动检测资源的动态加入和退出,例如资源所在的设备的启动与关闭等。当检测到资源的动态加入和退出时,数据中心的服务器自动更新VRC中的虚拟资源列表。

VRC通过提前预留接口接收来自联合服务器的查询可用资源的指令,并通过提前预留接口将自身的可用的资源返回给联合服务器。

步骤101、联合服务器判断出不存在满足预设条件的数据中心,根据获得的多个数据中心中的可用资源将预留请求分解为多个数据中心对应的简单预留请求。

本步骤中,预设条件包括数据中心的可用资源中包括预留请求中的全部资源。

本步骤中,简单预留请求包括:预留开始时间、预留结束时间、QoS需求参数、请求预留的资源。

其中,简单预留请求中请求预留的资源为预留请求中请求预留的资源的一部分。

本步骤中,根据获得的多个数据中心中的可用资源将预留请求分解为多个数据中心对应的简单预留请求时,可以根据预留请求中的资源的种类分别查看每一个数据中心中是否有可用资源。例如,预留请求中包括计算资源、存储资源、网络资源,则可以将预留请求分解多三个简单预留请求,分别为计算资源对应的简单预留请求、存储资源对应的简单预留请求、网络资源对应的简单预留请求,然后根据每一个数据中心中的可用资源判断每一个数据中心是否有可用的请求的计算资源、可用的请求的存储资源、可用的请求的网络资源,如果有,则将分解后的简单预留请求发送给对应的数据中心。

对于每一个简单预留请求中请求的资源,如果有多个数据中心均有可用的请求的资源,可以按照公式计算每一个数据中心的一种资源的偏差程度;将简单预留请求发送给计算得到的偏差程度最小的数据中心。

其中,ε2为所述偏差程度,m2为所述预留请求中的一种资源包含的需求参数的个数,q2i2为所述数据中心中的一种资源的第i2个需求参数,r2i2为所述预留请求中的一种资源的第i2个需求参数。

例如,计算资源的需求参数包括CPU核数和内存大小,则m取2,存储资源的需求参数包括存储空间大小,则m取1。

步骤102、联合服务器将每一个简单预留请求发送给对应的数据中心的服务器。

本步骤中,每一个数据中心的服务器接收到简单预留请求后,为用户分配简单预留请求中请求预留的资源,将分配的资源返回给联合服务器。

步骤103、联合服务器向用户返回接收到的来自多个数据中心的服务器的分配的资源。

通过本发明实施例的方案,通过联合服务器实现多个数据中心的可用资源的请求,在一个数据中心资源不足时,从多个数据中心中为用户分配资源,降低了预留请求的拒绝率。

可选的,该方法还包括:

当联合服务器判断出存在满足预设条件的一个或多个数据中心时,联合服务器将预留请求发送给满足预设条件的数据中心中的一个的服务器;联合服务器向用户返回接收到的来自满足预设条件的数据中心中的一个的服务器的分配的资源。

其中,可以将预留请求发送给满足预设条件的数据中心中的任意一个服务器,也可以将预留请求发送给满足预设条件的数据中心中空闲资源最多的一个数据中心。

或者,联合服务器按照公式计算每一个数据中心的偏差程度,将所述预留请求发送给计算得到的偏差程度最小的数据中心的服务器;

其中,ε1为所述偏差程度,m1为所述预留请求中的资源包含的需求参数的个数,q1i1为所述数据中心中的资源的第i1个需求参数,r1i1为所述预留请求中的资源的第i1个需求参数。

可选的,该方法还包括:

联合服务器接收到来自用户的预留请求时,将用户的提前预留状态设置为请求预留协商状态;联合服务器向用户返回分配的资源后,将用户的提前预留状态更改为预定状态。

图3为本发明实施例用户的提前预留状态变化示意图。如图3所示,当联合服务器接收到来自用户的预留请求时,用户的提前预留状态为请求预留协商状态;联合服务器向用户返回分配的资源后,即成功协商,用户的提前预留状态变更为预定状态。

可选的,该方法还包括:

联合服务器向用户返回分配的资源后,生成预留消息并放入预留队列中;当预留消息中的预留开始时间到达时,联合服务器判断出预留消息中分配的资源均可用,将用户的提前预留状态更改为活跃状态,通知用户已绑定所需资源,通知分配资源的服务器将分配给所述用户的资源置为不可用。

可选的,当预留消息中的预留开始时间到达时,如果判断出用户当前的提前预留状态为预定状态,则判断预留消息中分配的资源是否可用,并继续执行后续流程。

其中,如果判断出用户当前的提前预留状态为终止状态或撤销状态,则结束本流程。

如图3所示,预留开始时间到达时,用户的提前预留状态变更为活跃状态。

其中,预留消息包括预留开始时间、预留结束时间、QoS需求参数、预留类型、预留标识、每一个数据中心分配的资源。

其中,预留类型规定了预留消息是简单预留消息还是联合预留消息,简单预留消息只需一个数据中心的资源即可完成,联合预留消息则需多个数据中心的资源协同完成。

预留标识为联合服务器向用户返回分配的资源后为用户分配的标识。

其中,当预留消息中的预留开始时间到达时,联合服务器重新获取每一个数据中心可用的资源,根据重新获得的可用的资源判断分配的资源是否可用,即在重新获得的可用的资源中查找是否存在分配的资源。

采用上述方法后,联合服务器可以采用并行的方法处理预留请求,提高处理速度,从而提高用户的体验度。

可选的,该方法还包括:

当联合服务器判断出预留消息中分配的资源中的部分或全部资源不可用时,联合服务器继续执行获取一个或多个数据中心中的可用资源的步骤。

可选的,该方法还包括:

当预留消息中的预留结束时间到达时,联合服务器将用户的提取预留状态更改为完成状态,并通知分配资源的数据中心释放分配给用户的资源;

或者,当联合服务器判断出满足预设终止条件时,联合服务器将用户的提前预留状态更改为终止状态,并通知分配资源的数据中心释放分配给用户的资源。

其中,联合服务器判断出满足预设终止条件包括:

联合服务器接收到来自用户的终止请求。

或者,可以预先在联合服务器中设置终止条件,当满足时,则将用户的提前预留状态更改为终止状态。终止条件可以是任意条件。

可选的,该方法还包括:

联合服务器接收到来自用户的修改预留请求,继续执行获取一个或多个 数据中心中的可用资源的步骤。

其中,在判断是否存在满足预设条件的数据中心时,应判断数据中心的可用资源中是否包括修改预留请求中的全部资源。

可选的,该方法还包括:

联合服务器接收到来自用户的修改预留请求后,将用户的提前预留状态更改为预定重协商状态或活跃重协商状态;联合服务器向用户返回重新协商后分配的资源后,将用户的提前预留状态更改为预定状态或活跃状态。

具体的,当用户的提前预留状态在联合服务器接收到来自用户的修改预留请求之前为预定状态时,联合服务器接收到来自用户的修改预留请求后,将用户的提前预留状态更改为预定重协商状态;联合服务器向用户返回重新协商后分配的资源后,将用户的提前预留状态更改为预定状态。

当用户的提前预留状态在联合服务器接收到来自用户的修改预留请求之前为活跃状态时,联合服务器接收到来自用户的修改预留请求后,将用户的提前预留状态更改为活跃重协商状态;联合服务器向用户返回重新协商后分配的资源后,将用户的提前预留状态更改为活跃状态。

可选的,该方法还包括:

联合服务器接收到来自用户的撤销请求,将用户的提前预留状态更改为撤销状态,并通知分配资源的数据中心释放分配给所述用户的资源。

可选的,该方法还包括:

当联合服务器判断出所有数据中心的可用资源不包括预留请求中的全部资源时,联合服务器向用户返回拒绝消息。

可选的,联合服务器将用户的提前预留状态更改为拒绝状态。

参见图4,本发明实施例还提出了一种实现资源预留的装置,包括:

获取模块,用于接收到来自用户的预留请求,获取多个数据中心中的可用资源;接收到来自多个数据中心的服务器的分配的资源;

处理模块,用于判断出不存在满足预设条件的数据中心,根据获得的多 个数据中心中的可用资源将预留请求分解为多个数据中心对应的简单预留请求;其中,预设条件包括数据中心的可用资源中包括预留请求中的全部资源;将每一个简单预留请求发送给对应的数据中心的服务器;

返回模块,用于向用户返回接收到的来自多个数据中心的服务器的分配的资源。

本发明实施例的装置中,处理模块还用于:

当判断出存在满足预设条件的一个或多个数据中心时,联合服务器将预留请求发送给满足预设条件的数据中心中的一个的服务器;

获取模块还用于:

接收到来自满足预设条件的数据中心中的一个的服务器的分配的资源;

返回模块还用于:

向用户返回接收到的来自满足预设条件的数据中心中的一个的服务器的分配的资源。

本发明实施例的装置中,处理模块还用于:

将用户的提前预留状态更改为预定状态。

本发明实施例的装置中,返回模块还用于:

向用户返回分配的资源后,向处理模块发送第一通知消息;

处理模块还用于:

接收到第一通知消息,生成预留消息并放入预留队列中;当预留消息中的预留开始时间到达时,判断出预留消息中分配的资源均可用,将用户的提前预留状态更改为活跃状态,通知用户已绑定所需资源,通知分配资源的数据中心将分配给所述用户的资源置为不可用。

本发明实施例的装置中,处理模块还用于:

当判断出预留消息中分配的资源中的部分或全部资源不可用时,向获取模块发送第二通知消息;

获取模块还用于:

接收到第二通知消息,继续执行获取一个或多个数据中心中的可用资源的步骤。

本发明实施例的装置中,处理模块还用于:

当预留消息中的预留结束时间到达时,将用户的提前预留状态更改为完成状态,并通知分配资源的数据中心释放分配给所述用户的资源;

或者,当联合服务器判断出满足预设终止条件时,将用户的提前预留状态更改为终止状态,并通知分配资源的数据中心释放分配给所述用户的资源。

本发明实施例的装置中,获取模块还用于:

接收到来自用户的修改预留请求,继续执行获取一个或多个数据中心中的可用资源的步骤。

本发明实施例的装置中,获取模块还用于:

接收到来自用户的修改预留请求后,向处理模块发送第三通知消息;

返回模块还用于:

向用户返回重新协商后分配的资源后,向处理模块发送第四通知消息;

处理模块还用于:

接收到第三通知消息,将用户的提前预留状态更改为预定重协商状态或活跃重协商状态;接收到第四通知消息,将用户的提前预留状态更改为预定状态或活跃状态。

本发明实施例的装置中,获取模块还用于:

接收到来自用户的撤销请求,向处理模块发送第五通知消息;

处理模块还用于:

接收到第五通知消息,将用户的提前预留状态更改为撤销状态,并通知分配资源的数据中心释放分配给所述用户的资源。

需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解 而已,并不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。

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