一种基于分布式的虚拟资源分配方法及装置制造方法及图纸

技术编号:34524112 阅读:52 留言:0更新日期:2022-08-13 21:14
本发明专利技术可用于分布式技术在金融方面应用的技术领域,本发明专利技术提供了一种基于分布式的虚拟资源分配方法及装置,基于分布式的虚拟资源分配方法包括:接收用户的虚拟资源申请请求;根据每个分布式数据库所存储的虚拟资源所对应的编号生成消息队列;根据所述消息队列以及所述虚拟资源申请请求分配所述虚拟资源。本发明专利技术将虚拟资源库)的扣减处理转变为“生成—消费”模式,创新性提出一种基于分布式消息队列的分布式资源使用机制,解决了不同set负载差异导致的资源消耗不均而引发的在整体资源尚有剩余,但部分set却不可用的问题,同时通过分布式消息中间件保证了整体资源使用的高并发、高容量和可扩展能力。高容量和可扩展能力。高容量和可扩展能力。

【技术实现步骤摘要】
一种基于分布式的虚拟资源分配方法及装置


[0001]本申请属于分布式
,具体涉及一种基于分布式的虚拟资源分配方法及装置。

技术介绍

[0002]随着分布式技术的运用,极大地解决了常规单点应用服务器及数据库的性能容量难以扩展的问题,分布式架构属于一种稳定可靠、容量和服务能力可弹性伸缩,具有自动化水平拆分,透明读写分离、在线平滑扩容服务能力可扩展等能力,为业务量长期具备增长或波动情况的业务系统,提供了较为有利的技术支撑。
[0003]然而随着应用场景的逐渐增多,现有的分布式技术已经不能适应部分应用场景,以电商活动资源的分配场景为例,现有的方法是:通过将不同用户的请求通过一致性hash路由,流转到指定的set处理,从而实现系统并发吞吐能力的灵活扩容。对于交易日志、交易明细等流程数据;用户相关的协议数据等均可以较好的适配该规则。但是对于资源类数据,例如商品库存,则可能会存在一定的问题。例如:参见图1,分为10个set后,进行热门活动,将库存均匀的分配到1~10个set上,每个set各100万优惠券码。当活动开展一定阶段后,每个set库存开始出现不规则的分布,最终开始有部分set库存被用光,用户A根据路由,被路由到set1上,而set1上的库存已经用光;而此时用户B根据路由,被路由到set2上,此时库存还有剩余。会造成A用户因为技术层面的原因而无法参与到活动中。

技术实现思路

[0004]本专利技术可用于计算机分布式技术在金融方面应用的
,也可用于除金融领域之外的任意领域,本专利技术解决了分布式应用架构下,因不同虚拟资源在不同的分布式数据库中存储不均衡而导致的用户体验度差的问题。
[0005]为解决本申请
技术介绍
中的技术问题,本专利技术提供以下技术方案:
[0006]第一方面,本专利技术提供一种基于分布式的虚拟资源分配方法包括:
[0007]接收用户的虚拟资源申请请求;
[0008]根据每个分布式数据库所存储的虚拟资源所对应的编号生成消息队列;
[0009]根据所述消息队列以及所述虚拟资源申请请求分配所述虚拟资源。
[0010]一实施例中,所述根据所述消息队列以及所述虚拟资源申请请求分配所述虚拟资源,包括:
[0011]根据所述分布式数据库所存储的虚拟资源数量修改所述消息队列中的当前消息;
[0012]建立所述分布式数据库与其所存储的虚拟资源所对应的编号之间的映射关系;
[0013]根据所述当前消息确定存储有所述虚拟资源的分布式数据库;
[0014]根据所述映射关系将所述虚拟资源申请请求分配至存储有所述虚拟资源的分布式数据库。
[0015]一实施例中,所述根据所述分布式数据库所存储的虚拟资源数量修改所述消息队
列中的当前消息,包括:
[0016]根据所述虚拟资源数量所增加的数量对应地增加所述消息数量;
[0017]根据所述虚拟资源数量所减少的数量对应地减少所述消息数量;。
[0018]一实施例中,所述根据每个分布式数据库所存储的虚拟资源所对应的编号生成消息队列,包括:
[0019]根据所述分布式数据库中所存储的虚拟资源类别以及该类别虚拟资源的数量对所述虚拟资源进行编号;
[0020]根据所述每个分布式数据库中相同类别的虚拟资源编号生成所述消息队列。
[0021]一实施例中,基于分布式的虚拟资源分配方法还包括:
[0022]解析所述虚拟资源申请请求,以确定用户ID以及用户所申请的虚拟资源。
[0023]一实施例中,所述根据所述映射关系将所述虚拟资源申请请求分配至存储有所述虚拟资源的分布式数据库,包括:
[0024]根据所述用户所申请的虚拟资源确定其所对应的消息队列;
[0025]判断所述消息队列中是否存储有消息;
[0026]若有,根据所述用户ID、所述消息队列当前的消息以及所述映射关系将所述虚拟资源申请请求分配至对应的分布式数据库中。
[0027]第二方面,本专利技术提供一种基于分布式的虚拟资源分配装置,该装置包括:
[0028]申请请求接收模块,用于接收用户的虚拟资源申请请求;
[0029]消息队列生成模块,用于根据每个分布式数据库所存储的虚拟资源所对应的编号生成消息队列;
[0030]虚拟资源分配模块,用于根据所述消息队列以及所述虚拟资源申请请求分配所述虚拟资源。
[0031]一实施例中,所述虚拟资源分配模块包括:
[0032]消息数量修改单元,用于根据所述分布式数据库所存储的虚拟资源数量修改所述消息队列中的当前消息;
[0033]映射关系建立单元,用于建立所述分布式数据库与其所存储的虚拟资源所对应的编号之间的映射关系;
[0034]数据库确定单元,用于根据所述当前消息确定存储有所述虚拟资源的分布式数据库;
[0035]申请请求分配单元,用于根据所述映射关系将所述虚拟资源申请请求分配至存储有所述虚拟资源的分布式数据库。
[0036]一实施例中,所述消息数量修改单元包括:
[0037]消息数量增加单元,用于当所述虚拟资源数量增加时,将所述消息数量增加所述虚拟资源数量增加的数量;
[0038]消息数量减少单元,用于当所述虚拟资源数量减少时,将所述消息数量减少所述虚拟资源数量增加的数量。
[0039]一实施例中,所述消息队列生成模块包括:
[0040]虚拟资源编号单元,用于根据所述分布式数据库中所存储的虚拟资源类别以及该类别虚拟资源的数量对所述虚拟资源进行编号;
[0041]消息队列生成单元,用于根据所述每个分布式数据库中相同类别的虚拟资源编号生成所述消息队列。
[0042]一实施例中,基于分布式的虚拟资源分配装置还包括:
[0043]申请请求解析模块,用于解析所述虚拟资源申请请求,以确定用户ID以及用户所申请的虚拟资源。
[0044]一实施例中,所述申请请求分配单元包括:
[0045]消息队列确定单元,用于根据所述用户所申请的虚拟资源确定其所对应的消息队列;
[0046]消息判断单元,用于判断所述消息队列中是否存储有消息;
[0047]资源请求分配单元,用于若有,根据所述用户ID、所述消息队列当前的消息以及所述映射关系将所述虚拟资源申请请求分配至对应的分布式数据库中。
[0048]第三方面,本专利技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现基于分布式的虚拟资源分配方法的步骤。
[0049]第四方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现基于分布式的虚拟资源分配方法的步骤。
[0050]从上述描述可知,本专利技术实施例提供一种基于分布式的虚拟资源分配方法及装置,对应的方法包括:首先接收用户的虚拟资源申请请求;接着,根据每个分布式数据库所存储的虚拟资源所对应的编号生成消息队列本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于分布式的虚拟资源分配方法,其特征在于,包括:接收用户的虚拟资源申请请求;根据每个分布式数据库所存储的虚拟资源所对应的编号生成消息队列;根据所述消息队列以及所述虚拟资源申请请求分配所述虚拟资源。2.如权利要求1所述的基于分布式的虚拟资源分配方法,其特征在于,所述根据所述消息队列以及所述虚拟资源申请请求分配所述虚拟资源,包括:根据所述分布式数据库所存储的虚拟资源数量修改所述消息队列中的当前消息;建立所述分布式数据库与其所存储的虚拟资源所对应的编号之间的映射关系;根据所述当前消息确定存储有所述虚拟资源的分布式数据库;根据所述映射关系将所述虚拟资源申请请求分配至存储有所述虚拟资源的分布式数据库,以分配所述虚拟资源。3.如权利要求2所述的基于分布式的虚拟资源分配方法,其特征在于,所述根据所述分布式数据库所存储的虚拟资源数量修改所述消息队列中的当前消息,包括:根据所述虚拟资源数量所增加的数量对应地增加所述消息数量;根据所述虚拟资源数量所减少的数量对应地减少所述消息数量。4.如权利要求2所述的基于分布式的虚拟资源分配方法,其特征在于,所述根据每个分布式数据库所存储的虚拟资源所对应的编号生成消息队列,包括:根据所述分布式数据库中所存储的虚拟资源的类别以及该类别虚拟资源的数量对所述虚拟资源进行编号;根据所述每个分布式数据库中相同类别的虚拟资源编号生成所述消息队列。5.如权利要求4所述的基于分布式的虚拟资源分配方法...

【专利技术属性】
技术研发人员:张宏根胡凯乐刘金凤雷琼
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1