一种资源控制方法和装置制造方法及图纸

技术编号:3873580 阅读:178 留言:0更新日期:2012-04-11 18:40
本发明专利技术适用于计算机应用领域,提供了一种资源控制方法和装置,该方法包括:接收业务应用发送的资源使用请求,获取资源的锁定状态;当资源的锁定状态为未锁定时,根据预设的资源控制实体模型创建与资源对应的资源控制实体对象,将创建的资源控制实体对象存储至缓存中,并对创建的资源控制实体对象进行加锁处理,或者直接对缓存中存储的与资源对应的资源控制实体对象进行加锁处理;在业务应用使用完资源后,对缓存中与该资源对应的资源控制实体对象进行解锁处理。本发明专利技术通过采用资源控制实体对象描述资源控制,通过缓存存储资源的锁定状态,并根据资源的使用情况对资源的锁定状态进行加锁和解锁控制,从而提高了资源独占控制的准确性和效率。

【技术实现步骤摘要】

本专利技术属于计算机应用领域,尤其涉及一种资源控制方法和装置
技术介绍
在计算机应用领域,在业务应用使用或者竞争资源的过程中,为了控制并发性,一般需要对资源进行独占性控制,以保证在同一时间只允许一个业务应用使用资源,从而保证业务应用对资源的独占性。其中资源可以为单一资源,如单个数据库物理表、单个方法、单个属性等,或者为复合资源。 现有技术提供了一种通过数据库共享锁来控制资源的独占性的方法。其原理简述如下数据库在获取用户请求时,在满足锁定条件和系统性能之间为数据库加上适当的锁,如行级锁、页级锁、表级锁、盘区锁、数据库级锁等,通过数据库自身锁机制来控制资源的独占状态。这种资源控制方法可以对基于数据库的数据行、数据页、数据表、盘区或整个数据库实现资源独占控制,但难以对基于业务对象模型复合资源实现独占控制,当业务应用涉及复合资源时,无法满足资源独占性控制需求。 现有技术提供了另外一种通过数据库定义资源控制表来对资源独占性进行控制的方法,其原理简述如下采用数据库表描述资源控制信息,通过数据库表来记录资源的独占状态。这种资源控制方法由于通过数据库表来描述资源控制,并记录资源独占状态,从而增加了数据库的网络开销,且当突发异常(如停电、死机等)时,需要手动到数据库中清除资源的独占状态后,其他业务应用才能使用该资源,降低了资源控制的准确性和效率,给用户带来极大的不便。
技术实现思路
本专利技术实施例的目的在于提供一种资源控制方法,旨在解决现有的资源控制方法准确率和效率低的问题。 本专利技术实施例是这样实现的,一种资源控制方法,所述方法包括下述步骤 接收业务应用发送的资源使用请求,获取资源的锁定状态; 当资源的锁定状态为未锁定时,根据预设的资源控制实体模型创建与资源对应的资源控制实体对象,将创建的资源控制实体对象存储至缓存中,并对创建的资源控制实体对象进行加锁处理,或者直接对缓存中存储的与资源对应的资源控制实体对象进行加锁处理; 在业务应用使用完资源后,对缓存中与该资源对应的资源控制实体对象进行解锁处理。本专利技术实施例的另一目的在于提供一种资源控制装置,所述装置包括 锁定状态获取单元,用于在接收业务应用发送的资源使用请求时,获取资源的锁定状态; 锁定状态判断单元,用于判断所述锁定状态获取单元获取的资源的锁定状态是否为锁定; 资源控制单元,用于在所述锁定状态判断单元判定资源的锁定状态为未锁定时,根据预设的资源控制实体模型创建与资源对应的资源控制实体对象,将创建的资源控制实体对象存储至缓存中,并对创建的资源控制实体对象进行加锁处理,或者直接对缓存中存储的与资源对应的资源控制实体对象进行加锁处理; 解锁处理单元,用于在业务应用使用完资源后,对缓存中与该资源对应的资源控制实体对象进行解锁处理。 在本专利技术实施例中,通过采用资源控制实体对象来描述资源控制,通过缓存来存储资源的锁定状态,并根据业务应用对资源的使用情况对缓存中存储的资源的锁定状态进行加锁和解锁控制,以实现对资源的独占性进行控制,提高了资源独占控制的准确性和效率。附图说明 图1是本专利技术实施例提供的资源控制方法的实现流程 图2是本专利技术实施例提供的资源控制实体模型的示意 图3是本专利技术实施例提供的资源逻辑控制类的示意 图4是本专利技术实施例提供的资源控制装置的结构框图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。 在本专利技术实施例中,通过采用资源控制实体对象来描述资源控制,通过缓存来存储资源的锁定状态,并根据业务应用对资源的使用情况对缓存中存储的资源的锁定状态进行控制,以实现对资源的独占控制,提高了资源独占控制的准确性和效率。 图1示出了本专利技术实施例提供的资源控制方法的实现流程,详述如下 在步骤S101中,接收业务应用发送的资源使用请求,获取该资源的锁定状态。 在本专利技术实施例中,当业务应用需要使用资源时,可以通过发送资源使用请求来请求该资源使用请求指定的资源的使用权。其中资源可以为单一资源,如单个数据库物理表、单个方法、单个属性等,也可以为复合资源。用户可以自行定义资源为单个资源还是复合资源。 其中获取资源的锁定状态的步骤具体如下 判断缓存中是否存储有与资源使用请求指定的资源对应的资源控制实体对象,如果否,则获取的资源的锁定状态为未锁定,如果是,从缓存中读取与资源对应的资源控制实体对象的锁定状态,并将与该资源对应的资源控制实体对象的锁定状态作为资源的锁定状态。 其中资源的锁定状态包括锁定和未锁定两种。分别用true来标识锁定状态,用false标识未锁定状态,当资源的锁定状态为锁定时,说明有业务应用正在使用该资源,其他业务应用无法使用该资源,否则说明没有业务应用正在使用该资源,其他业务应用可以正常使用该资源。 其中资源控制实体对象用于描述资源控制。当缓存中存储有与资源对应的资源控 制实体对象时,表示该资源在此之前已被使用或者正在被使用,已经处于资源控制状态,否 则表示该资源在此之前没有被使用过,该资源还处于未控制状态。当资源处于未控制状态 时,当前业务应用对该资源的使用请求是被允许的。 在步骤S102中,判断资源的锁定状态为锁定还是未锁定,如果判定为未锁定,执 行步骤S103,如果判定为锁定,执行步骤S105。 在步骤S103中,根据预设的资源控制实体模型创建与该资源对应的资源控制实 体对象,将创建的资源控制实体对象存储至缓存中,并对创建的资源控制实体对象进行加 锁处理,或者直接对缓存中存储的与该资源对应的资源控制实体对象进行加锁处理。其具 体步骤如下 当缓存中存储有与该资源对应的资源控制实体对象,且与该资源对应的资源控制 实体对象的锁定状态为未锁定时,直接对缓存中存储的与该资源对应的资源控制实体对象 进行加锁处理; 当缓存中未存储与该资源对应的资源控制实体对象时,根据预设的资源控制实体 模型创建与该资源对应的资源控制实体对象,将创建的资源控制实体对象存储至缓存中, 并对创建的资源控制实体对象进行加锁处理。 其中预设的资源控制实体模型包括资源控制对象标识、资源控制对象的锁定状 态。其中资源控制对象标识用于唯一标识资源控制对象。资源控制对象的锁定状态用于记 录资源控制对象的锁定状态。在本专利技术实施例中,资源控制对象的锁定状态包括锁定和未 锁定两种状态,分别用true来标识锁定状态,用false标识未锁定状态,当资源控制对象的 锁定状态为锁定时,说明有业务应用正在使用该资源,其他业务应用无法使用该资源,否则 说明没有业务应用正在使用该资源,其他业务应用可以正常使用该资源。 在本专利技术另一实施例中,该资源控制实体对象还包括锁定时间。该锁定时间是锁 定资源控制对象的时间。当然,还可以根据实际的需求,进一步扩展资源控制实体模型。请 参阅图2,为本专利技术实施例提供的资源控制实体模型的示意图,但不以该示意图为限。 在根据预设的资源控制实体模型创建与该资源对应的资源控制实体对象时,创建 的资源控制实体对象的资源控制对象标识为该资源的唯一标识。 对资源控制实体对象进行加锁处理的步骤具体如下 将资源控制实体对象的锁定状态设置为锁定(true)。同时如果该本文档来自技高网...

【技术保护点】
一种资源控制方法,其特征在于,所述方法包括下述步骤:    接收业务应用发送的资源使用请求,获取资源的锁定状态;    当资源的锁定状态为未锁定时,根据预设的资源控制实体模型创建与资源对应的资源控制实体对象,将创建的资源控制实体对象存储至缓存中,并对创建的资源控制实体对象进行加锁处理,或者直接对缓存中存储的与资源对应的资源控制实体对象进行加锁处理;    在业务应用使用完资源后,对缓存中与该资源对应的资源控制实体对象进行解锁处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:韦光亮
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:94[中国|深圳]

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

1