资源调用方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:35107185 阅读:23 留言:0更新日期:2022-10-01 17:18
本申请涉及计算机技术领域,公开了一种资源调用方法、装置、计算机设备和存储介质,资源调用包括:对客户端对应的资源进行量化处理,确定多个目标资源;按照多个目标资源的数量,控制客户端的目标管理模块创建多个悲观锁;根据目标管理模块的预设配置文件,关联多个目标资源和多个悲观锁,以形成客户端的分布式资源池;响应于客户端的任一进程或任一线程的调用请求,根据分布式资源池的悲观锁为任一进程或任一线程加载目标资源。本申请的方法,基于客户端的分布式、并发场景下,对任意资源做池化处理,从而解决了不同事务对同一资源并发维护而造成的突破资源负载上限问题。而造成的突破资源负载上限问题。而造成的突破资源负载上限问题。

【技术实现步骤摘要】
资源调用方法、装置、计算机设备和存储介质


[0001]本申请涉及计算机
,尤其是涉及到一种资源调用方法、装置、计算机设备和存储介质。

技术介绍

[0002]资源池(Resource Pool)是指公共的各种系统资源的抽象的集合,其用于管理资源的使用和回收。资源的使用方通过资源池获取资源时,不必关心资源的具体提供者。
[0003]相关技术中,对于资源的池化处理通常采用客户端维护的方式,即客户端自身维护一个资源池,由客户端根据需要进行相关的资源池实现,以限制自身对资源的同时访问。例如,数据库连接池的实现。这种实现方式虽然节省了服务端资源,但在分布式场景下,多个程序对相同资源会维护多个资源池,由此会突破资源负载上限,造成服务器异常,进而降低安全性。

技术实现思路

[0004]有鉴于此,本申请提供了一种资源调用方法、装置、计算机设备和存储介质,能够基于客户端的分布式、并发场景下,对任意资源做池化处理,从而解决了不同事务对同一资源并发维护而造成的突破资源负载上限问题。
[0005]第一方面,提供了一种资源调用方法,包括:
[0006]对客户端对应的资源进行量化处理,确定多个目标资源;
[0007]按照多个目标资源的数量,控制客户端的目标管理模块创建多个悲观锁;
[0008]根据目标管理模块的预设配置文件,关联多个目标资源和多个悲观锁,以形成客户端的分布式资源池;
[0009]响应于客户端的任一进程或任一线程的调用请求,根据分布式资源池的悲观锁为任一进程或任一线程加载目标资源。
[0010]进一步地,根据分布式资源池的悲观锁为任一进程或任一线程加载目标资源,包括:
[0011]检测多个悲观锁的启用状态;
[0012]若任一悲观锁处于未占用状态,控制目标管理模块为任一进程或任一线程分配任一悲观锁;
[0013]为任一进程或任一线程加载任一悲观锁关联的目标资源。
[0014]进一步地,资源调用方法还包括:
[0015]若多个悲观锁均处于占用状态,拒绝为任一进程或任一线程分配悲观锁。
[0016]进一步地,控制目标管理模块为任一进程或任一线程分配任一悲观锁,包括:
[0017]确定任一进程或任一线程的调用优先级;
[0018]按照调用优先级对应的控制参数,控制任一进程或任一线程向目标管理模块发送悲观锁的获取请求;
[0019]目标管理模块响应于获取请求,将任一悲观锁分配至任一进程或任一线程;
[0020]其中,控制参数包括以下至少一种:轮询频率、请求等待时间、轮询方式。
[0021]进一步地,根据分布式资源池的悲观锁为任一进程或任一线程加载目标资源之后,资源调用方法还包括:
[0022]若任一进程或任一线程对目标资源使用结束,控制任一进程或任一线程释放目标资源关联的悲观锁。
[0023]进一步地,目标资源包括以下至少一种:外部服务节点、内存资源、会话资源和队列宽度。
[0024]进一步地,目标管理模块包括以下至少一种:Zookeeper服务模块、Redis缓存模块器和数据库模块。
[0025]第二方面,提供了一种资源调用装置,包括:
[0026]量化模块,用于对客户端对应的资源进行量化处理,确定多个目标资源;
[0027]池化模块,用于按照多个目标资源的数量,控制客户端的目标管理模块创建多个悲观锁;以及,
[0028]根据目标管理模块的预设配置文件,关联多个目标资源和多个悲观锁,以形成客户端的分布式资源池;
[0029]调用模块,用于响应于客户端的任一进程或任一线程的调用请求,根据分布式资源池的悲观锁为任一进程或任一线程加载目标资源。
[0030]进一步地,调用模块,具体用于检测多个悲观锁的启用状态;若任一悲观锁处于未占用状态,控制目标管理模块为任一进程或任一线程分配任一悲观锁;为任一进程或任一线程加载任一悲观锁关联的目标资源。
[0031]进一步地,调用模块,还用于若多个悲观锁均处于占用状态,拒绝为任一进程或任一线程分配悲观锁。
[0032]进一步地,调用模块,具体用于确定任一进程或任一线程的调用优先级;按照调用优先级对应的控制参数,控制任一进程或任一线程向目标管理模块发送悲观锁的获取请求;目标管理模块响应于获取请求,将任一悲观锁分配至任一进程或任一线程;其中,控制参数包括以下至少一种:轮询频率、请求等待时间、轮询方式。
[0033]进一步地,调用模块,具体用于若任一进程或任一线程对目标资源使用结束,控制任一进程或任一线程释放目标资源关联的悲观锁。
[0034]第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述资源调用方法的步骤。
[0035]第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述资源调用方法的步骤。
[0036]上述资源调用方法、装置、计算机设备和存储介质所实现的方案中,采用客户端维护资源池的方式,对资源进行了资源池化维护,具体地,将客户端对应的资源端的资源进行量化处理,并配置资源的数量,得到量化后的多个目标资源。然后,基于与客户端的目标管理模块相关的资源配置文件,将资源端的每个目标资源均映射为1个悲观锁,从而将多个目标资源和多个悲观锁进行关联,形成分布式结构的资源池,从而通过引入分布式悲观锁的机制,将任意的一组资源进行资源池化处理的问题,映射为一组分布式悲观锁的资源池化
问题。由此,在客户端的任一进程或任一线程需要调用目标资源之前,需要先尝试获取1个分布式悲观锁,通过悲观锁获取调用目标资源的权限,以此完成一组资源的池化管理。从而在不需要对资源端进行额外开发的情况下,充分利用分布式悲观锁的独占和排他特性,以灵活、可靠、可重复利用的方式,完成对任意资源的资源池化,能够避免不同事务对同一资源并发维护而造成的突破资源负载上限问题,特别是在分布式、并发式、资源端无法进行资源池化的场景中,保护了任意的目标资源不会被过度使用,提高了资源的利用率、可靠性、稳定性。
[0037]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
[0038]为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0039]图1是本申请中资源调用方法的流程示意图之一;
[0040]图2是图1中步骤S40的一具体实施方式流程示意图;
[0041]图3是图2中步骤S42的一具体实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源调用方法,其特征在于,包括:对客户端对应的资源进行量化处理,确定多个目标资源;按照多个目标资源的数量,控制所述客户端的目标管理模块创建多个悲观锁;根据所述目标管理模块的预设配置文件,关联所述多个目标资源和所述多个悲观锁,以形成所述客户端的分布式资源池;响应于所述客户端的任一进程或任一线程的调用请求,根据所述分布式资源池的悲观锁为所述任一进程或所述任一线程加载目标资源。2.根据权利要求1所述的资源调用方法,其特征在于,所述根据所述分布式资源池的悲观锁为所述任一进程或所述任一线程加载目标资源,包括:检测所述多个悲观锁的启用状态;若任一悲观锁处于未占用状态,为所述任一进程或所述任一线程分配所述任一悲观锁;为所述任一进程或所述任一线程加载所述任一悲观锁关联的目标资源。3.根据权利要求2所述的资源调用方法,其特征在于,所述方法还包括:若所述多个悲观锁均处于占用状态,拒绝为所述任一进程或所述任一线程分配悲观锁。4.根据权利要求2所述的资源调用方法,其特征在于,所述为所述任一进程或所述任一线程分配所述任一悲观锁,包括:确定所述任一进程或所述任一线程的调用优先级;按照所述调用优先级对应的控制参数,控制所述任一进程或所述任一线程向目标管理模块发送悲观锁的获取请求;所述目标管理模块响应于所述获取请求,将所述任一悲观锁分配至所述任一进程或所述任一线程;其中,所述控制参数包括以下至少一种:轮询频率、请求等待时间、轮询方式。5.根据权利要求1所述的资源调用方法,其特征在于,所述根据所述分...

【专利技术属性】
技术研发人员:罗开畅
申请(专利权)人:平安壹钱包电子商务有限公司
类型:发明
国别省市:

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

1