用于云平台的资源对象的管理方法和装置制造方法及图纸

技术编号:14555827 阅读:105 留言:0更新日期:2017-02-05 09:51
本发明专利技术公开了一种用于云平台的资源对象的管理方法和装置,该方法包括:对资源对象创建内存锁对象;根据内存锁对象对资源对象进行锁定;其中,内存锁对象的参数至少包括资源对象的ID、可重入锁、忙状态位、操作开始时间。本发明专利技术通过资源对象操作内存锁,从而保证对同一资源对象的操作请求按序执行,并且不需要占用大量的CPU资源,不会出现死锁的问题。

Resource object management method and device for cloud platform

The invention discloses a method and apparatus for managing resource object cloud platform, the method includes: to create the memory resource object lock lock object to object; according to the memory resource object lock; the parameter memory lock object includes at least a resource object ID, reentrant locks, busy state, operation start time. The invention uses the resource object to operate the memory lock, so as to ensure the operation request of the same resource object is executed in sequence, and does not need to occupy a large amount of CPU resources.

【技术实现步骤摘要】

本专利技术涉及云平台领域,具体来说,涉及一种用于云平台的资源对象的管理方法和装置
技术介绍
云计算平台也称为云平台。云计算平台可以划分为三类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。无论何种类型的云平台,都是对外提供对若干资源对象的管理。以常见计算型云平台为例,其中管理的两类最主要对象是物理机和虚拟机。可重入锁,也叫做递归锁,指的是同一线程外层函数获得锁之后,内层递归函数仍然有获取该锁的代码,但不受影响。在JAVA环境下ReentrantLock是可重入锁。类似于java中原来线程交互所用的wait,notify和notifyAll方法在新的并发包中基于重入锁机制引入了Condition接口,Condition将Object监视器方法(wait、notify和notifyAll)分解成截然不同的对象,以便通过将这些对象与任意Lock实现组合使用,为每个对象提供多个等待set(wait-set),就是多路等待。Condition的方法与wait、notify和notifyAll方法类似,分别命名为await、signal和singalAll因为它们不能覆盖Object上的对应方法。在云计算数据中心里,不同于过去传统的监控系统,存在很多软件定义的对象和资源,云管理平台需要对这些对象提供操作入口。以虚拟机为例,云管理平台一般会提供对虚拟机的启动、停止、暂停、挂载、快照、克隆、迁移等操作。用户远程控制这些资源对象的同时,需要查看到这些资源的实时状态信息,这些信息除了停止、运行、暂停等运行状态之外,还包括是否正常连通、健康状态是否正常、是否被离线、当前是否正在执行某种操作等。常见的云计算管理系统中,主要通过数据库记录资源对象的状态。仍然以虚拟机为例,用户操作虚拟机时,首先调用Hypervisor的相关接口,将虚拟机暂停,操作成功后,更新虚拟机的状态。这种方式存在如下问题:无法很好的支持多租户管理,当多个用户同时操作一个对象时,无法实现有效的操作互斥;有的系统为了支持多租户,经常采用全局锁的方式,对资源对象进行锁定,此时,一方面由于加锁会导致工作线程空转,浪费CPU资源,另一方面是容易出现死锁的问题;当云平台采用B/S架构时,即便采用定时刷新的方式,用户也无法看到资源的实时状态,这就导致了用户点击操作时,并不一定是基于资源真实的状态。针对相关技术中的上述问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中的上述问题,本专利技术提出一种用于云平台的资源对象的管理方法和装置,能够通过资源对象操作内存锁,从而保证对同一资源对象的操作请求按序执行,并且不需要占用大量的CPU资源,不会出现死锁的问题。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种用于云平台的资源对象的管理方法。该管理方法包括:对资源对象创建内存锁对象;根据内存锁对象对资源对象进行锁定;其中,内存锁对象的参数至少包括资源对象的ID、可重入锁、忙状态位、操作开始时间。其中,对资源对象创建内存锁对象的时机包括以下至少之一:在第一次创建资源对象时、在第一次查询资源对象时、在第一次锁定资源对象时。其中,在根据内存锁对象对资源对象进行锁定时,可通过获取可重入锁;判断资源对象是否允许锁定;在资源对象允许锁定的情况下,通过可重入锁对资源对象进行锁定。其中,在判断资源对象是否允许锁定时,可判断资源对象是否处于忙状态;在资源对象处于忙状态的情况下,确定资源对象不允许锁定;在资源对象处于不忙状态的情况下,确定资源对象允许锁定。此外,该管理方法进一步包括:在资源对象处于忙状态的情况下,根据内存锁对象的忙状态位确定是否等待;在等待的过程中,如果占用资源对象的线程释放对资源对象的可重入锁,则对资源对象进行锁定。另外,该管理方法进一步包括:在通过可重入锁对资源对象进行锁定的同时,记录操作开始时间,设置忙状态位。此外,该管理方法进一步包括:在对资源对象的状态进行更新时,对预先持久化在数据库中的资源对象的乐观锁的标识位更新。另外,该管理方法进一步包括:在对资源对象的状态进行更新时,将资源对象在数据库中的状态位和资源对象的当前运行的状态位进行比较,如果相同则对资源对象的状态进行更新,如果不同则不对资源对象的状态进行更新。根据本专利技术的另一方面,提供了一种用于云平台的资源对象的管理装置。该管理装置包括:创建模块,用于对资源对象创建内存锁对象;锁定模块,用于根据内存锁对象对资源对象进行锁定;其中,内存锁对象的参数至少包括资源对象的ID、可重入锁、忙状态位、操作开始时间。其中,锁定模块包括:获取模块,用于获取可重入锁;判断模块,用于判断资源对象是否允许锁定;锁定子模块,用于在资源对象允许锁定的情况下,通过可重入锁对资源对象进行锁定。本专利技术通过资源对象操作内存锁,从而保证对同一资源对象的操作请求按序执行,并且不需要占用大量的CPU资源,不会出现死锁的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的用于云平台的资源对象的管理方法的流程图;图2是根据本专利技术另一实施例的用于云平台的资源对象的管理方法的流程图;图3是根据本专利技术实施例的用于云平台的资源对象的管理装置的框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。根据本专利技术的实施例,提供了一种用于云平台的资源对象的管理方法。如图1所示,根据本专利技术实施例的管理方法包括:步骤S101,对资源对象创建内存锁对象;步骤S103,根据内存锁对象对资源对象进行锁定;其中,内存锁对象的参数至少包括资源对象的ID、可重入锁、忙状态位、操作开始时间。其中,在一个实施例中,上述资源对象可包括虚拟机和物理机。在一个实施例中,本专利技术定义本文档来自技高网
...

【技术保护点】
一种用于云平台的资源对象的管理方法,其特征在于,包括:对所述资源对象创建内存锁对象;根据所述内存锁对象对所述资源对象进行锁定;其中,所述内存锁对象的参数至少包括所述资源对象的ID、可重入锁、忙状态位、操作开始时间。

【技术特征摘要】
1.一种用于云平台的资源对象的管理方法,其特征在于,包括:
对所述资源对象创建内存锁对象;
根据所述内存锁对象对所述资源对象进行锁定;
其中,所述内存锁对象的参数至少包括所述资源对象的ID、可重入锁、
忙状态位、操作开始时间。
2.根据权利要求1所述的管理方法,其特征在于,对所述资源对象创
建内存锁对象的时机包括以下至少之一:
在第一次创建所述资源对象时、在第一次查询所述资源对象时、在第
一次锁定所述资源对象时。
3.根据权利要求1所述的管理方法,其特征在于,根据所述内存锁对
象对所述资源对象进行锁定包括:
获取可重入锁;
判断所述资源对象是否允许锁定;
在所述资源对象允许锁定的情况下,通过所述可重入锁对所述资源对
象进行锁定。
4.根据权利要求3所述的管理方法,其特征在于,判断所述资源对象
是否允许锁定包括:
判断所述资源对象是否处于忙状态;
在所述资源对象处于忙状态的情况下,确定所述资源对象不允许锁定;
在所述资源对象处于不忙状态的情况下,确定所述资源对象允许锁定。
5.根据权利要求4所述的管理方法,其特征在于,进一步包括:
在所述资源对象处于忙状态的情况下,根据所述内存锁对象的所述忙
状态位确定是否等待;
在等待的过程中,如果占用所述资源对象的线程释放对所述资源对象
的可重...

【专利技术属性】
技术研发人员:宫磊
申请(专利权)人:曙光云计算技术有限公司
类型:发明
国别省市:北京;11

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

1