[发明专利]资源分配方法和装置在审
申请号: | 201610232468.2 | 申请日: | 2016-04-14 |
公开(公告)号: | CN107301091A | 公开(公告)日: | 2017-10-27 |
发明(设计)人: | 廖耀华 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/52 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司11204 | 代理人: | 王达佐,马晓亚 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 资源 分配 方法 装置 | ||
技术领域
本申请涉及信息处理技术领域,具体涉及电数字数据处理领域,尤其涉及资源分配方法和装置。
背景技术
在信息处理技术领域,资源可以是可利用的信息或空间,可以包括存储资源,计算资源,网络资源等。通常,对于接收到的资源获取请求,电子设备可以根据发出请求的对象的历史资源获取记录对其身份进行校验,并确定当前是否具有可用的资源,在校验通过并且具有可用的资源时将资源获取请求添加至待分配队列,之后通过异步的方式进行资源分配。
在资源获取请求数量较大的情况下,采用上述异步的方式进行资源分配时,电子设备计算得出的可用的资源量可能产生误差,请求对象的资源获取记录也不能实时更新,则在请求对象发出的资源获取请求已被添加至待分配队列的情况下再次请求资源时,电子设备无法准确判断该请求对象是否能够通过校验。因此,由于电子设备获取的资源分配的请求对象的状态和可用资源量数据与实际数据不一致,在资源分配请求的数据量较大时,可能出现重复分配资源的问题以及资源分配请求被加入待分配队列后可用资源不足的问题,从而影响了资源分配的成功率。
发明内容
有鉴于此,期望能够提供一种可靠的资源分配方法。进一步地,还期望能够提供一种高效的资源分配方法。为了解决上述一个或多个问题,本申请提供了资源分配的方法和装置。
一方面,本申请提供了一种资源分配方法,所述方法包括:获取 用户的资源分配请求;对所述资源分配请求进行加锁操作;根据所述加锁操作的结果确定所述用户是否具有获取资源的权限;若是,将所述资源分配请求作为待处理任务添加至缓存队列中。
在一些实施例中,所述对所述资源分配请求进行加锁操作,包括:基于所述资源分配请求生成锁获取请求;响应于生成所述锁获取请求,判断分布式锁是否可用;若所述分布式锁可用,生成获取成功的消息并将所述分布式锁的状态设置为不可用;以及所述根据所述加锁操作的结果确定所述用户是否具有获取资源的权限,包括:响应于生成所述获取成功的消息,确定所述用户具有获取资源的权限。
在一些实施例中,所述方法还包括:利用线程池为所述缓存队列中的待处理任务分配资源。
在一些实施例中,在将所述资源分配请求作为待处理任务添加至缓存队列中之后,所述方法还包括:将所述分布式锁的状态切换为可用。
在一些实施例中,所述方法还包括:检测所述分布式锁的不可用状态持续的时间;若所述分布式锁的不可用状态持续的时间大于预设阈值,将所述分布式锁的状态切换为可用。
在一些实施例中,所述资源分配请求包括所述用户的标识信息和所述用户的资源获取历史记录;所述方法还包括:若所述用户具有获取资源的权限,对所述用户的资源获取历史记录进行更新。
第二方面,本申请提供了一种资源分配装置,所述装置包括:获取单元,用于获取用户的资源分配请求;加锁单元,用于对所述资源分配请求进行加锁操作;确定单元,用于根据所述加锁操作的结果确定所述用户是否具有获取资源的权限;添加单元,用于在所述用户具有获取资源的权限时,将所述资源分配请求作为待处理任务添加至缓存队列中。
在一些实施例中,所述加锁单元包括:第一生成模块,用于基于所述资源分配请求生成锁获取请求;判断模块,用于响应于生成所述锁获取请求,判断分布式锁是否可用;第二生成模块,用于响应于所述分布式锁可用,生成获取成功的消息并将所述分布式锁的状态设置 为不可用;所述确定单元进一步用于响应于生成所述获取成功的消息,确定所述用户具有获取资源的权限。
在一些实施例中,所述装置还包括:分配单元,用于利用线程池为所述缓存队列中的待处理任务分配资源。
在一些实施例中,所述装置还包括:解锁单元,用于在所述添加单元将所述资源分配请求作为待处理任务添加至缓存队列中之后,将所述分布式锁的状态切换为可用。
在一些实施例中,所述装置还包括处理单元,用于:检测所述分布式锁的不可用状态持续的时间;若所述分布式锁的不可用状态持续的时间大于预设阈值,将所述分布式锁的状态切换为可用。
在一些实施例中,所述资源分配请求包括所述用户的标识信息和所述用户的资源获取历史记录;所述装置还包括:更新单元,用于在所述用户具有获取资源的权限时,对所述用户的资源获取历史记录进行更新。
本申请提供的资源分配方法和装置,通过对用户的资源分配请求进行加锁操作,并根据加锁操作的结果确定用户是否具有获取资源的权限,在确定用户具有获取资源的权限时将资源分配请求添加至缓存队列中,从而实现了可靠、高效的资源分配,提升了资源分配的成功率。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610232468.2/2.html,转载请声明来源钻瓜专利网。