资源的分配方法及装置的制造方法

文档序号:9238258阅读:180来源:国知局
资源的分配方法及装置的制造方法
【技术领域】
[0001]本公开涉及互联网技术领域,尤其涉及一种资源的分配方法及装置。
【背景技术】
[0002]目前,移动互联网上经常推出各种活动。例如,淘宝网经常会在节假日发放优惠券,微信经常推出抢红包的活动等等。
[0003]但是,目前各大网站或应用程序(APP)在分配优惠券、红包等资源时,完全采用数据库的方式来实现。这样,当到达资源的发放时间时,海量用户会同时访问数据库。

【发明内容】

[0004]为了克服相关技术中存在的问题,本公开实施例提供一种资源的分配方法及装置。
[0005]根据本公开实施例的第一方面,提供一种资源的分配方法,包括:
[0006]接收客户端发送的资源获取请求,并根据所述资源获取请求查询客户端用户是否为已获取到待分配资源的用户,所述资源获取请求中携带有用户标识;
[0007]若所述客户端用户为未获取到所述待分配资源的用户,则从分布式缓存服务器中读取所述待分配资源,并向所述客户端返回所述待分配资源,其中,所述分布式缓存服务器包括第一队列,所述第一队列用于保存待分配资源的标识。
[0008]在一实施例中,所述根据所述资源获取请求查询客户端用户是否为已获取到待分配资源的用户,包括:
[0009]根据所述资源获取请求查询所述用户标识是否位于预设列表中,其中,所述预设列表位于所述分布式缓存服务器中,用于保存已分配资源的用户标识。
[0010]在一实施例中,当接收到多个所述资源获取请求,且多个所述资源获取请求中携带的用户标识相同时,所述根据所述资源获取请求查询所述用户标识是否位于预设列表中,包括:
[0011]根据所述资源获取请求向分布式缓存服务器发送多个用户标识查询请求,以使所述分布式缓存服务器根据加锁机制确定一个所述用户标识查询请求;
[0012]查询确定的所述用户标识查询请求对应的用户标识是否包含于所述预设列表中。
[0013]在一实施例中,所述方法还包括:
[0014]在所述从所述分布式缓存服务器中读取所述待分配资源之前,向所述分布式缓存服务器发送创建指令,所述创建指令用于使所述分布式缓存服务器创建所述预设列表、所述第一队列和第二队列,所述第二队列用于保存已分配资源的标识及已分配资源对应的用户标识。
[0015]在一实施例中,所述方法还包括:
[0016]在所述从所述分布式缓存服务器中读取待分配资源时,将读取到的待分配资源的标识变更为所述已分配资源的标识;
[0017]将所述已分配资源的标识和所述已分配资源对应的用户标识转存入所述第二队列,并将所述已分配资源对应的用户标识写入所述预设列表。
[0018]在一实施例中,所述方法还包括:
[0019]在所述向所述客户端返回所述待分配资源之后,从所述第二队列中读取已分配资源的标识及所述已分配资源对应的用户标识;
[0020]向数据库发送所述已分配资源的标识及所述已分配资源对应的用户标识,以使所述数据库更新所述已分配资源对应的用户标识,所述数据库用于保存已分配资源的标识和所述已分配资源对应的用户标识。
[0021]根据本公开实施例的第二方面,提供一种资源的分配装置,包括:
[0022]接收查询模块,被配置为接收客户端发送的资源获取请求,并根据所述资源获取请求查询客户端用户是否为已获取到待分配资源的用户,所述资源获取请求中携带有用户标识;
[0023]读取返回模块,被配置为当所述接收查询模块查询到所述客户端用户为未获取到所述待分配资源的用户时,从分布式缓存服务器中读取所述待分配资源,并向所述客户端返回所述待分配资源,其中,所述分布式缓存服务器包括第一队列,所述第一队列用于保存待分配资源的标识。
[0024]在一实施例中,所述接收查询模块包括:
[0025]接收子模块,被配置为接收客户端发送的资源获取请求;以及
[0026]查询子模块,被配置为根据所述接收子模块接收的所述资源获取请求查询所述用户标识是否位于预设列表中,其中,所述预设列表位于所述分布式缓存服务器中,用于保存已分配资源的用户标识。
[0027]在一实施例中,当所述接收子模块接收到多个所述资源获取请求,且多个所述资源获取请求中携带的用户标识相同时,所述查询子模块包括:
[0028]发送单元,被配置为根据所述资源获取请求向分布式缓存服务器发送多个用户标识查询请求,以使所述分布式缓存服务器根据加锁机制确定一个所述用户标识查询请求;
[0029]查询单元,被配置为查询确定的所述用户标识查询请求对应的用户标识是否包含于所述预设列表中。
[0030]在一实施例中,所述装置还包括:
[0031]指令发送模块,被配置为在所述读取返回模块从所述分布式缓存服务器中读取所述待分配资源之前,向所述分布式缓存服务器发送创建指令,所述创建指令用于使所述分布式缓存服务器根据所述创建指令创建所述预设列表、所述第一队列和第二队列,所述第二队列用于保存已分配资源的标识及已分配资源对应的用户标识。
[0032]在一实施例中,所述装置还包括:
[0033]变更模块,被配置为在所述读取返回模块从所述分布式缓存服务器中读取待分配资源时,将读取到的待分配资源的标识变更为所述已分配资源的标识;
[0034]转存模块,被配置为将所述变更模块变更的所述已分配资源的标识和所述已分配资源对应的用户标识转存入所述第二队列,并将所述已分配资源对应的用户标识写入所述预设列表。
[0035]在一实施例中,所述装置还包括:
[0036]读取模块,被配置为在所述读取返回模块向所述客户端返回所述待分配资源之后,从所述第二队列中读取已分配资源的标识及所述已分配资源对应的用户标识;
[0037]标识发送模块,被配置为向数据库发送所述读取模块读取的所述已分配资源的标识及所述已分配资源对应的用户标识,以使所述数据库更新所述已分配资源对应的用户标识,所述数据库用于保存已分配资源的标识和所述已分配资源对应的用户标识。
[0038]根据本公开实施例的第三方面,提供一种资源的分配装置,包括:
[0039]处理器;
[0040]用于存储处理器可执行指令的存储器;
[0041]其中,处理器被配置为:
[0042]接收客户端发送的资源获取请求,并根据所述资源获取请求查询客户端用户是否为已获取到待分配资源的用户,所述资源获取请求中携带有用户标识;
[0043]若所述客户端用户为未获取到所述待分配资源的用户,则从分布式缓存服务器中读取所述待分配资源,并向所述客户端返回所述待分配资源,其中,所述分布式缓存服务器包括第一队列,所述第一队列用于保存待分配资源的标识。
[0044]本公开的实施例提供的技术方案可以包括以下有益效果:在确定当前客户端用户为未获取到待分配资源的用户时,从包括第一队列的分布式缓存服务器中读取待分配资源,由于第一队列中保存有待分配资源的标识且分布式缓存服务器的数据读取效率极高,因此,可以满足海量用户同时访问的需求,从而可以保证网站或APP的正常运行。
[0045]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【附图说明】
[0046]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0047]图1是根据一示例性实施例示出的一种资源的分配方法的流程图;
[0048]图2是根据一示例性实施例示出的另一种资源的分配方法的流程图;
[0049]图3是根据一示例性实施例示出的又一种资源的分配方法的流程图;
[0050]图4是根据一示例性实施例示出的资源的分配方法的场景图;
[0051]图5是根据一示例性实施例示出的一种资源的分配装置的框图;
[0052]图6是根据一示例性实施例示出的另一种资源的分配装置的框图;
[0053]图7是根据一示例性实施例示出的另一种资源的分配装置
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1