CN104954468A - 资源的分配方法及装置 - Google Patents

资源的分配方法及装置 Download PDF

Info

Publication number
CN104954468A
CN104954468A CN201510341819.9A CN201510341819A CN104954468A CN 104954468 A CN104954468 A CN 104954468A CN 201510341819 A CN201510341819 A CN 201510341819A CN 104954468 A CN104954468 A CN 104954468A
Authority
CN
China
Prior art keywords
user
resource
allocated
resources allocation
mark
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510341819.9A
Other languages
English (en)
Inventor
谭国斌
沈建荣
马哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Technology Co Ltd
Xiaomi Inc
Original Assignee
Xiaomi Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201510341819.9A priority Critical patent/CN104954468A/zh
Publication of CN104954468A publication Critical patent/CN104954468A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开是关于一种资源的分配方法及装置,其中,资源的分配方法包括:接收客户端发送的资源获取请求,并根据资源获取请求查询客户端用户是否为已获取到待分配资源的用户,资源获取请求中携带有用户标识;若客户端用户为未获取到待分配资源的用户,则从分布式缓存服务器中读取待分配资源,并向客户端返回待分配资源,其中,分布式缓存服务器包括第一队列,第一队列用于保存待分配资源的标识。上述资源的分配方法及装置实施例,可以满足海量用户同时访问的需求,从而可以保证网站或APP的正常运行。

Description

资源的分配方法及装置
技术领域
本公开涉及互联网技术领域,尤其涉及一种资源的分配方法及装置。
背景技术
目前,移动互联网上经常推出各种活动。例如,淘宝网经常会在节假日发放优惠券,微信经常推出抢红包的活动等等。
但是,目前各大网站或应用程序(APP)在分配优惠券、红包等资源时,完全采用数据库的方式来实现。这样,当到达资源的发放时间时,海量用户会同时访问数据库。
发明内容
为了克服相关技术中存在的问题,本公开实施例提供一种资源的分配方法及装置。
根据本公开实施例的第一方面,提供一种资源的分配方法,包括:
接收客户端发送的资源获取请求,并根据所述资源获取请求查询客户端用户是否为已获取到待分配资源的用户,所述资源获取请求中携带有用户标识;
若所述客户端用户为未获取到所述待分配资源的用户,则从分布式缓存服务器中读取所述待分配资源,并向所述客户端返回所述待分配资源,其中,所述分布式缓存服务器包括第一队列,所述第一队列用于保存待分配资源的标识。
在一实施例中,所述根据所述资源获取请求查询客户端用户是否为已获取到待分配资源的用户,包括:
根据所述资源获取请求查询所述用户标识是否位于预设列表中,其中,所述预设列表位于所述分布式缓存服务器中,用于保存已分配资源的用户标识。
在一实施例中,当接收到多个所述资源获取请求,且多个所述资源获取请求中携带的用户标识相同时,所述根据所述资源获取请求查询所述用户标识是否位于预设列表中,包括:
根据所述资源获取请求向分布式缓存服务器发送多个用户标识查询请求,以使所述分布式缓存服务器根据加锁机制确定一个所述用户标识查询请求;
查询确定的所述用户标识查询请求对应的用户标识是否包含于所述预设列表中。
在一实施例中,所述方法还包括:
在所述从所述分布式缓存服务器中读取所述待分配资源之前,向所述分布式缓存服务器发送创建指令,所述创建指令用于使所述分布式缓存服务器创建所述预设列表、所述第一队列和第二队列,所述第二队列用于保存已分配资源的标识及已分配资源对应的用户标识。
在一实施例中,所述方法还包括:
在所述从所述分布式缓存服务器中读取待分配资源时,将读取到的待分配资源的标识变更为所述已分配资源的标识;
将所述已分配资源的标识和所述已分配资源对应的用户标识转存入所述第二队列,并将所述已分配资源对应的用户标识写入所述预设列表。
在一实施例中,所述方法还包括:
在所述向所述客户端返回所述待分配资源之后,从所述第二队列中读取已分配资源的标识及所述已分配资源对应的用户标识;
向数据库发送所述已分配资源的标识及所述已分配资源对应的用户标识,以使所述数据库更新所述已分配资源对应的用户标识,所述数据库用于保存已分配资源的标识和所述已分配资源对应的用户标识。
根据本公开实施例的第二方面,提供一种资源的分配装置,包括:
接收查询模块,被配置为接收客户端发送的资源获取请求,并根据所述资源获取请求查询客户端用户是否为已获取到待分配资源的用户,所述资源获取请求中携带有用户标识;
读取返回模块,被配置为当所述接收查询模块查询到所述客户端用户为未获取到所述待分配资源的用户时,从分布式缓存服务器中读取所述待分配资源,并向所述客户端返回所述待分配资源,其中,所述分布式缓存服务器包括第一队列,所述第一队列用于保存待分配资源的标识。
在一实施例中,所述接收查询模块包括:
接收子模块,被配置为接收客户端发送的资源获取请求;以及
查询子模块,被配置为根据所述接收子模块接收的所述资源获取请求查询所述用户标识是否位于预设列表中,其中,所述预设列表位于所述分布式缓存服务器中,用于保存已分配资源的用户标识。
在一实施例中,当所述接收子模块接收到多个所述资源获取请求,且多个所述资源获取请求中携带的用户标识相同时,所述查询子模块包括:
发送单元,被配置为根据所述资源获取请求向分布式缓存服务器发送多个用户标识查询请求,以使所述分布式缓存服务器根据加锁机制确定一个所述用户标识查询请求;
查询单元,被配置为查询确定的所述用户标识查询请求对应的用户标识是否包含于所述预设列表中。
在一实施例中,所述装置还包括:
指令发送模块,被配置为在所述读取返回模块从所述分布式缓存服务器中读取所述待分配资源之前,向所述分布式缓存服务器发送创建指令,所述创建指令用于使所述分布式缓存服务器根据所述创建指令创建所述预设列表、所述第一队列和第二队列,所述第二队列用于保存已分配资源的标识及已分配资源对应的用户标识。
在一实施例中,所述装置还包括:
变更模块,被配置为在所述读取返回模块从所述分布式缓存服务器中读取待分配资源时,将读取到的待分配资源的标识变更为所述已分配资源的标识;
转存模块,被配置为将所述变更模块变更的所述已分配资源的标识和所述已分配资源对应的用户标识转存入所述第二队列,并将所述已分配资源对应的用户标识写入所述预设列表。
在一实施例中,所述装置还包括:
读取模块,被配置为在所述读取返回模块向所述客户端返回所述待分配资源之后,从所述第二队列中读取已分配资源的标识及所述已分配资源对应的用户标识;
标识发送模块,被配置为向数据库发送所述读取模块读取的所述已分配资源的标识及所述已分配资源对应的用户标识,以使所述数据库更新所述已分配资源对应的用户标识,所述数据库用于保存已分配资源的标识和所述已分配资源对应的用户标识。
根据本公开实施例的第三方面,提供一种资源的分配装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为:
接收客户端发送的资源获取请求,并根据所述资源获取请求查询客户端用户是否为已获取到待分配资源的用户,所述资源获取请求中携带有用户标识;
若所述客户端用户为未获取到所述待分配资源的用户,则从分布式缓存服务器中读取所述待分配资源,并向所述客户端返回所述待分配资源,其中,所述分布式缓存服务器包括第一队列,所述第一队列用于保存待分配资源的标识。
本公开的实施例提供的技术方案可以包括以下有益效果:在确定当前客户端用户为未获取到待分配资源的用户时,从包括第一队列的分布式缓存服务器中读取待分配资源,由于第一队列中保存有待分配资源的标识且分布式缓存服务器的数据读取效率极高,因此,可以满足海量用户同时访问的需求,从而可以保证网站或APP的正常运行。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种资源的分配方法的流程图;
图2是根据一示例性实施例示出的另一种资源的分配方法的流程图;
图3是根据一示例性实施例示出的又一种资源的分配方法的流程图;
图4是根据一示例性实施例示出的资源的分配方法的场景图;
图5是根据一示例性实施例示出的一种资源的分配装置的框图;
图6是根据一示例性实施例示出的另一种资源的分配装置的框图;
图7是根据一示例性实施例示出的另一种资源的分配装置的框图;
图8是根据一示例性实施例示出的一种适用于资源的分配装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种资源的分配方法的流程图,如图1所示,该资源的分配方法可应用于业务服务器上,包括以下步骤:
在步骤S101中,接收客户端发送的资源获取请求,并根据该资源获取请求查询客户端用户是否为已获取到待分配资源的用户。
其中,资源获取请求中携带有用户标识。
在该实施例中,当用户通过浏览器或APP等客户端获取红包、优惠券等资源时,对应的业务服务器会接收到对应的资源获取请求,并查询对应的客户端用户是否为已经获取到待分配资源的用户,这样做的目的是为了防止同一用户重复获得同一待分配资源。
在步骤S102中,若客户端用户为未获取到待分配资源的用户,则从分布式缓存服务器中读取待分配资源,并向客户端返回待分配资源,其中,分布式缓存服务器包括第一队列,第一队列用于保存待分配资源的标识。
为了提高用户的访问速度,可以将保存有待分配资源的标识的第一队列放入分布式缓存服务器中。
在该实施例中,若当前客户端用户为未获取到待分配资源的用户,则业务服务器可以从分布式缓存服务器的第一队列中读取待分配资源,然后向客户端返回读取的待分配资源。
上述资源的分配方法实施例,在确定当前客户端用户为未获取到待分配资源的用户时,从包括第一队列的分布式缓存服务器中读取待分配资源,由于第一队列中保存有待分配资源的标识且分布式缓存服务器的数据读取效率极高,因此,可以满足海量用户同时访问的需求,从而可以保证网站或APP的正常运行。
图2是根据一示例性实施例示出的另一种资源的分配方法的流程图,如图2所示,该资源的分配方法包括:
在步骤S201中,向分布式缓存服务器发送创建指令,上述创建指令用于使分布式缓存服务器创建预设列表、第一队列和第二队列。
其中,预设列表用于保存已分配资源的用户标识,第一队列用于保存待分配资源的标识,第二队列用于保存已分配资源的标识及已分配资源对应的用户标识。
为了提高用户的访问速度,可以将需要频繁访问的信息放入数据读取效率极高的分布式缓存服务器中。在该实施例中,业务服务器通过向分布式缓存服务器发送创建指令,使得分布式缓存服务器可以根据创建指令创建用于保存已分配资源的用户标识的预设列表、用于保存待分配资源的标识的第一队列和用于保存已分配资源的标识及已分配资源对应的用户标识的第二队列,其中,预设列表、第一队列和第二队列保存的信息为需要频繁访问的信息。
在步骤S202中,接收客户端发送的资源获取请求,并根据资源获取请求查询用户标识是否位于预设列表中。
由于分布式缓存服务器中包含预设列表,且分布式缓存服务器的数据读取效率极高,因此,可以通过查询用户标识是否位于预设列表中,来高效地过滤掉重复的用户标识,从而保证同一用户不能重复获得同一待分配资源。
在步骤S203中,若查询到用户标识未位于预设列表中,则从分布式缓存服务器中读取待分配资源,将读取到的待分配资源的标识变更为已分配资源的标识,并将已分配资源的标识和已分配资源对应的用户标识转存入第二队列,同时将已分配资源对应的用户标识写入预设列表,然后向客户端返回待分配资源。
在该实施例中,若用户标识未位于上述预设列表中,则表明当前客户端用户为未获取到待分配资源的用户,因此,业务服务器可以从分布式缓存服务器的第一队列中读取待分配资源,并更新第二队列和预设列表,即将读取到的待分配资源的标识变更为已分配资源的标识,将已分配资源的标识和已分配资源对应的用户标识转存入第二队列,同时将已分配资源对应的用户标识写入预设列表,并从第一队列中删除已读取的待分配资源的标识,然后向客户端返回读取的待分配资源。
上述资源的分配方法实施例,通过数据访问效率高的分布式缓存服务器来保存第一队列、第二队列和预设列表,通过查询用户标识是否位于预设列表中来确定当前客户端用户是否为未获取到待分配资源的用户,并在确定当前客户端用户为未获取到待分配资源的用户时,从第一队列中读取待分配资源,以实现为用户分配资源,同时更新第二队列和预设列表,为后续继续为其他用户分配资源提供条件。
图3是根据一示例性实施例示出的又一种资源的分配方法的流程图,该资源分配方法可应用于资源分配系统上,该资源分配系统包括业务服务器、数据库和分布式缓存服务器,其中,分布式缓存服务器中包含第一队列、第二队列和预设列表,数据库用于保存供用户查询的信息,例如已分配资源的标识及已分配资源的用户标识,该实施例以业务服务器为主体进行描述,如图3所示,该资源的分配方法包括:
在步骤S301中,将初始资源拆分成待分配资源,并将待分配资源写入资源分配系统的数据库中和分布式缓存服务器的第一队列中。
在本公开实现方式中,数据库与分布式缓存服务器可实现相同的存储功能,数据库可以用于存储全部的资源标识,以及资源标识对应的用户标识,其中,全部的资源标识包括待分配资源的标识和已分资源的标识,从而可以利用数据库可以持久地保存信息,以供用户查询。结合上述步骤S301的描述数据库中包含待分配资源的标识和待分配资源对应的用户标识,其中,待分配资源对应的用户标识为空,第一队列中包含待分配资源的标识,且数据库和第一队列中包含的待分配资源的标识相同。待分配资源的标识可以用re_id表示,用户标识可以用user_id表示。
其中,业务服务器可以基于预设算法例如正态分布算法将初始资源拆分成待分配资源,例如,可以基于正态分布算法将初始红包拆分成待分配红包,红包的生成结果是金额平均值附近的红包数量比较多,金额较大和金额较小的红包数量比较少,也即红包的数量呈正态分布。
上述待分配资源除了可以为红包,还可以为优惠券等。
在该实施例中,业务服务器在将初始资源拆分成待分配资源后,会将待分配资源写入数据库中,由于这些资源是尚未分配的资源,故它们对应的用户标识为空。
在步骤S302中,接收客户端发送的资源获取请求。
在该实施例中,业务服务器可以接收不同用户发送的多个资源获取请求。
在步骤S303中,当接收到多个资源获取请求,且多个资源获取请求中携带的用户标识相同时,根据资源获取请求向分布式缓存服务器发送多个用户标识查询请求,以使分布式缓存服务器根据加锁机制确定一个用户标识查询请求,并查询确定的用户标识查询请求对应的用户标识是否包含于预设列表中。
为了快速抢到资源例如红包,用户可能快速点击了两次“抢红包”,也可能同时打开两个浏览器去抢红包,为了防止同一用户抢到两个红包,在该实施例中,当业务服务器接收到多个资源获取请求后,基于这些资源获取请求向分布式缓存服务器发送对应的多个用户标识查询请求,分布式缓存服务器在接收到这些用户标识查询请求后,若查询到多个用户标识相同,也即接收到的多个资源获取请求来自同一用户,则基于加锁机制从多个用户标识查询请求中确定一个用户标识查询请求,然后基于确定的用户标识查询请求查询对应的用户标识是否位于预设列表中,以确定客户端用户是否已获取到该资源,若已获取到,则返回提示信息,以告知用户已经获取到该资源。
其中,分布式缓存系统的加锁机制是指当分布式缓存系统接收到与多个资源获取请求对应的多个业务标识查询请求时,若查询到多个业务标识相同,也即接收到的多个资源获取请求来自同一用户,则可以从多个业务标识查询请求中确定一个业务标识查询请求,并基于确定的业务标识查询请求查询对应的用户标识是否位于预设列表中。
由此可见,分布式缓存服务器的加锁机制可以保证同一用户不会重复抢到同一类型的资源。
在步骤S304中,若用户标识包含于预设列表中,则从第一队列中读取待分配资源,并向客户端返回待分配资源。
在该实施例中,业务服务器在从第一队列中读取待分配资源时,还需要及时更新第二队列和预设列表,因此,该方法还可以包括:将读取到的待分配资源的标识变更为已分配资源的标识,并将已分配资源的标识和已分配资源对应的用户标识转存入第二队列,同时将已分配资源对应的用户标识写入预设列表。
在步骤S305中,从第二队列中读取已分配资源的标识及已分配资源对应的用户标识。
为了更新数据库中的用户标识,业务服务器可以从第二队列中读取已分配资源的标识及已分配资源对应的用户标识。
在步骤S306中,向数据库发送已分配资源的标识及已分配资源对应的用户标识,以使数据库更新已分配资源对应的用户标识。
业务服务器在从第二队列中读取已分配资源的标识及已分配资源对应的用户标识之后,向当前所在系统中的数据库发送已分配资源的标识及已分配资源对应的用户标识,以使数据库更新已分配资源对应的用户标识。这样,用户通过查询数据库即可获得资源分配详情。
如果第二队列中保存的已分配资源很多,业务服务器可以通过一个线程批量从第二队列中读取已分配资源的标识及已分配资源对应的用户标识,并据此批量更新数据库中对应资源的用户标识,以提高更新效率。
另外,预设列表中除了可以包括用户标识,还可以包括资源的属性信息,例如资源的分配时间、金额等信息。如果用户希望通过查询数据库获得资源的相关信息,则业务服务器可以读取预设列表中的资源属性信息,并向数据库发送资源的分配时间、金额等资源属性信息,以使数据库据此更新与已分配资源对应的条目。
下面结合图4对本公开进行示例性说明,如图4所示,业务服务器41在确定好待分配红包1-10后,将待分配红包1-10写入数据库42中,同时,将数据库42中待分配红包1-10的用户ID设为空;同时,在分布式缓存服务器43中创建第一队列、第二队列和预设列表,其中,第一队列用于保存待分配红包1-10,第二队列用于保存已分配红包的标识和已分配红包的用户标识,此时,由于没有红包被分配,故红包标识及用户标识均为空,预设列表用于保存已分配红包的用户标识,由于目前没有用户分配到红包,故此时的预设列表也为空;当业务服务器41接收到用户1发送的红包获取请求后,从第一队列中取出一个红包,假定为红包1,则将红包1写入第二队列中,并在第二队列中写入已分配到红包1的用户标识,即用户1的标识,同时将用户1的标识写入预设列表中,然后向用户1返回红包1,通过上述过程,用户1抢到了红包。最后,可以从第二队列中读取出用户1分配到了红包1,故将数据库42中与红包1对应的用户标识更新为用户1的标识。
上述资源分配方法实施例,利用数据访问效率高的分布式缓存服务器来保存需要频繁访问的信息,然后基于分布式缓存服务器读取数据,从而满足海量用户同时访问的需求,同时,利用数据库的稳定性来保存持久化信息例如已分配资源的信息,以方便用户进行相关信息查询。
与前述资源的分配方法实施例相对应,本公开还提供了资源的分配装置实施例。
图5是根据一示例性实施例示出的一种资源的分配装置的框图,如图5所示,资源的分配装置包括:接收查询模块51和读取返回模块52。
接收查询模块51,被配置为接收客户端发送的资源获取请求,并根据资源获取请求查询客户端用户是否为已获取到待分配资源的用户,资源获取请求中携带有用户标识。
读取返回模块52,被配置为当接收查询模块51查询到客户端用户为未获取到待分配资源的用户时,从分布式缓存服务器中读取待分配资源,并向客户端返回待分配资源,其中,分布式缓存服务器包括第一队列,第一队列用于保存待分配资源的标识。
如图5所示装置分配资源的过程可参见图1,此处不赘述。
上述资源的分配装置实施例,通过接收查询模块查询客户端用户是否为已获取到待分配资源的用户,通过读取返回模块在确定当前客户端用户为未获取到待分配资源的用户时,从包括第一队列的分布式缓存服务器中读取待分配资源,由于第一队列中保存有待分配资源的标识且分布式缓存服务器的数据读取效率极高,因此,可以满足海量用户同时访问的需求,从而可以保证网站或APP的正常运行。
图6是根据一示例性实施例示出的另一种资源的分配装置的框图,如图6所示,在上述图5所示实施例的基础上,上述资源的分配装置还可包括:
指令发送模块53,被配置为在读取返回模块52从分布式缓存服务器中读取待分配资源之前,向分布式缓存服务器发送创建指令,创建指令用于使分布式缓存服务器根据创建指令创建预设列表、第一队列和第二队列,第二队列用于保存已分配资源的标识及已分配资源对应的用户标识。
其中,接收查询模块51可包括接收子模块511和查询子模块512。
接收子模块511被配置为接收客户端发送的资源获取请求。查询子模块512,被配置为根据接收子模块511接收的资源获取请求查询用户标识是否位于预设列表中,其中,预设列表位于分布式缓存服务器中,用于保存已分配资源的用户标识。
另外,该装置还可以包括变更模块54和转存模块55。
其中,变更模块54被配置为在读取返回模块52从分布式缓存服务器中读取待分配资源时,将读取到的待分配资源的标识变更为已分配资源的标识。转存模块55,被配置为将变更模块54变更的已分配资源的标识和已分配资源对应的用户标识转存入第二队列,并将已分配资源对应的用户标识写入预设列表。
如图6所示装置分配资源的过程可参见图2,此处不赘述。
上述资源的分配装置实施例,通过指令发送模块向数据访问效率高的分布式缓存服务器发送创建指令,以使分布式缓存服务器创建第一队列、第二队列和预设列表,通过接收查询模块查询用户标识是否位于预设列表中来确定当前客户端用户是否为未获取到待分配资源的用户,并在确定当前客户端用户为未获取到待分配资源的用户时,从第一队列中读取待分配资源,以实现为用户分配资源,同时通过变更模块和转存模块更新第二队列和预设列表,为后续继续为其他用户分配资源提供条件。
图7是根据一示例性实施例示出的另一种资源的分配装置的框图,如图7所示,在上述图6所示实施例的基础上,当接收子模块511接收到多个资源获取请求,且多个资源获取请求中携带的用户标识相同时,查询子模块512包括发送单元5121和查询单元5122。
发送单元5121,被配置为根据资源获取请求向分布式缓存服务器发送多个用户标识查询请求,以使分布式缓存服务器根据加锁机制确定一个用户标识查询请求。查询单元5122,被配置为查询确定的用户标识查询请求对应的用户标识是否包含于预设列表中。
另外,该装置还可包括读取模块56和标识发送模块57。
其中,读取模块56被配置为在读取返回模块52向客户端返回待分配资源之后,从第二队列中读取已分配资源的标识及已分配资源对应的用户标识。标识发送模块57被配置为向数据库发送读取模块56读取的已分配资源的标识及已分配资源对应的用户标识,以使数据库更新已分配资源对应的用户标识,数据库用于保存已分配资源的标识和所述已分配资源对应的用户标识。
如图7所示装置分配资源的过程可参见图3,此处不赘述。
上述资源分配装置实施例,利用数据访问效率高的分布式缓存服务器来保存需要频繁访问的信息,然后基于分布式缓存服务器读取数据,从而满足海量用户同时访问的需求,同时,利用数据库的稳定性来保存持久化信息例如已分配资源的信息,以方便用户进行相关信息查询。
关于上述实施例中的装置,其中各个模块、子模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种适用于资源的分配装置800的框图。例如,装置800可以被提供为一服务器。参照图8,装置800包括处理组件822,其进一步包括一个或多个处理器,以及由存储器832所代表的存储器资源,用于存储可由处理部件822的执行的指令,例如应用程序。存储器832中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件822被配置为执行指令,以执行上述方法。
装置800还可以包括一个电源组件826被配置为执行装置800的电源管理,一个有线或无线网络接口850被配置为将装置800连接到网络,和一个输入输出(I/O)接口858。装置800可以操作基于存储在存储器832的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (13)

1.一种资源的分配方法,其特征在于,所述方法包括:
接收客户端发送的资源获取请求,并根据所述资源获取请求查询客户端用户是否为已获取到待分配资源的用户,所述资源获取请求中携带有用户标识;
若所述客户端用户为未获取到所述待分配资源的用户,则从分布式缓存服务器中读取所述待分配资源,并向所述客户端返回所述待分配资源,其中,所述分布式缓存服务器包括第一队列,所述第一队列用于保存待分配资源的标识。
2.根据权利要求1所述的资源的分配方法,其特征在于,所述根据所述资源获取请求查询客户端用户是否为已获取到待分配资源的用户,包括:
根据所述资源获取请求查询所述用户标识是否位于预设列表中,其中,所述预设列表位于所述分布式缓存服务器中,用于保存已分配资源的用户标识。
3.根据权利要求2所述的资源的分配方法,其特征在于,当接收到多个所述资源获取请求,且多个所述资源获取请求中携带的用户标识相同时,所述根据所述资源获取请求查询所述用户标识是否位于预设列表中,包括:
根据所述资源获取请求向所述分布式缓存服务器发送多个用户标识查询请求,以使所述分布式缓存服务器根据加锁机制确定一个所述用户标识查询请求;
查询确定的所述用户标识查询请求对应的用户标识是否包含于所述预设列表中。
4.根据权利要求2或3所述的资源的分配方法,其特征在于,所述方法还包括:
在所述从所述分布式缓存服务器中读取所述待分配资源之前,向所述分布式缓存服务器发送创建指令,所述创建指令用于使所述分布式缓存服务器创建所述预设列表、所述第一队列和第二队列,所述第二队列用于保存已分配资源的标识及已分配资源对应的用户标识。
5.根据权利要求4所述的资源的分配方法,其特征在于,所述方法还包括:
在所述从所述分布式缓存服务器中读取待分配资源时,将读取到的待分配资源的标识变更为所述已分配资源的标识;
将所述已分配资源的标识和所述已分配资源对应的用户标识转存入所述第二队列,并将所述已分配资源对应的用户标识写入所述预设列表。
6.根据权利要求4所述的资源的分配方法,其特征在于,所述方法还包括:
在所述向所述客户端返回所述待分配资源之后,从所述第二队列中读取已分配资源的标识及所述已分配资源对应的用户标识;
向数据库发送所述已分配资源的标识及所述已分配资源对应的用户标识,以使所述数据库更新所述已分配资源对应的用户标识,所述数据库用于保存已分配资源的标识和所述已分配资源对应的用户标识。
7.一种资源的分配装置,其特征在于,所述装置包括:
接收查询模块,被配置为接收客户端发送的资源获取请求,并根据所述资源获取请求查询客户端用户是否为已获取到待分配资源的用户,所述资源获取请求中携带有用户标识;
读取返回模块,被配置为当所述接收查询模块查询到所述客户端用户为未获取到所述待分配资源的用户时,从分布式缓存服务器中读取所述待分配资源,并向所述客户端返回所述待分配资源,其中,所述分布式缓存服务器包括第一队列,所述第一队列用于保存待分配资源的标识。
8.根据权利要求7所述的资源的分配装置,其特征在于,所述接收查询模块包括:
接收子模块,被配置为接收客户端发送的资源获取请求;以及
查询子模块,被配置为根据所述接收子模块接收的所述资源获取请求查询所述用户标识是否位于预设列表中,其中,所述预设列表位于所述分布式缓存服务器中,用于保存已分配资源的用户标识。
9.根据权利要求8所述的资源的分配装置,其特征在于,当所述接收子模块接收到多个所述资源获取请求,且多个所述资源获取请求中携带的用户标识相同时,所述查询子模块包括:
发送单元,被配置为根据所述资源获取请求向所述分布式缓存服务器发送多个用户标识查询请求,以使所述分布式缓存服务器根据加锁机制确定一个所述用户标识查询请求;
查询单元,被配置为查询确定的所述用户标识查询请求对应的用户标识是否包含于所述预设列表中。
10.根据权利要求8或9所述的资源的分配装置,其特征在于,所述装置还包括:
指令发送模块,被配置为在所述读取返回模块从所述分布式缓存服务器中读取所述待分配资源之前,向所述分布式缓存服务器发送创建指令,所述创建指令用于使所述分布式缓存服务器根据所述创建指令创建所述预设列表、所述第一队列和第二队列,所述第二队列用于保存已分配资源的标识及已分配资源对应的用户标识。
11.根据权利要求10所述的资源的分配装置,其特征在于,所述装置还包括:
变更模块,被配置为在所述读取返回模块从所述分布式缓存服务器中读取待分配资源时,将读取到的待分配资源的标识变更为所述已分配资源的标识;
转存模块,被配置为将所述变更模块变更的所述已分配资源的标识和所述已分配资源对应的用户标识转存入所述第二队列,并将所述已分配资源对应的用户标识写入所述预设列表。
12.根据权利要求10所述的资源的分配装置,其特征在于,所述装置还包括:
读取模块,被配置为在所述读取返回模块向所述客户端返回所述待分配资源之后,从所述第二队列中读取已分配资源的标识及所述已分配资源对应的用户标识;
标识发送模块,被配置为向数据库发送所述读取模块读取的所述已分配资源的标识及所述已分配资源对应的用户标识,以使所述数据库更新所述已分配资源对应的用户标识,所述数据库用于保存已分配资源的标识和所述已分配资源对应的用户标识。
13.一种资源的分配装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收客户端发送的资源获取请求,并根据所述资源获取请求查询客户端用户是否为已获取到待分配资源的用户,所述资源获取请求中携带有用户标识;
若所述客户端用户为未获取到所述待分配资源的用户,则从分布式缓存服务器中读取所述待分配资源,并向所述客户端返回所述待分配资源,其中,所述分布式缓存服务器包括第一队列,所述第一队列用于保存待分配资源的标识。
CN201510341819.9A 2015-06-18 2015-06-18 资源的分配方法及装置 Pending CN104954468A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510341819.9A CN104954468A (zh) 2015-06-18 2015-06-18 资源的分配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510341819.9A CN104954468A (zh) 2015-06-18 2015-06-18 资源的分配方法及装置

Publications (1)

Publication Number Publication Date
CN104954468A true CN104954468A (zh) 2015-09-30

Family

ID=54168810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510341819.9A Pending CN104954468A (zh) 2015-06-18 2015-06-18 资源的分配方法及装置

Country Status (1)

Country Link
CN (1) CN104954468A (zh)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550025A (zh) * 2015-12-08 2016-05-04 北京航空航天大学 分布式基础设施即服务(IaaS)调度方法及系统
CN106095877A (zh) * 2016-06-07 2016-11-09 中国建设银行股份有限公司 一种红包数据处理方法和装置
CN106330682A (zh) * 2016-09-12 2017-01-11 广东欧珀移动通信有限公司 即时通信应用的消息处理方法及移动终端
CN106375382A (zh) * 2016-08-26 2017-02-01 苏州蓝海彤翔系统科技有限公司 数据分配的方法、系统、控制服务器及节点客户端
CN106375194A (zh) * 2016-09-12 2017-02-01 广东欧珀移动通信有限公司 即时通信应用的消息处理方法及移动终端
CN106469091A (zh) * 2016-09-05 2017-03-01 北京百度网讯科技有限公司 用于分配可用区的方法和装置
CN106886462A (zh) * 2017-02-23 2017-06-23 郑州云海信息技术有限公司 资源的添加方法及装置
CN107015999A (zh) * 2016-01-28 2017-08-04 阿里巴巴集团控股有限公司 一种基于分布式环境的信息发送方法及装置
CN107018091A (zh) * 2016-02-29 2017-08-04 阿里巴巴集团控股有限公司 资源请求的调度方法和装置
CN107239328A (zh) * 2016-03-29 2017-10-10 上海普兰金融服务有限公司 任务分配方法及装置
CN107292596A (zh) * 2016-04-01 2017-10-24 广州爱九游信息技术有限公司 防自动刷红包的装置与方法及服务端
CN107302488A (zh) * 2016-04-14 2017-10-27 阿里巴巴集团控股有限公司 虚拟物品的分配方法、系统及服务器
CN107465600A (zh) * 2017-08-17 2017-12-12 郑州市润合网络科技有限公司 聊天信息的推送方法和系统
CN107818475A (zh) * 2016-09-14 2018-03-20 北京京东尚科信息技术有限公司 优惠券发放方法
CN108111325A (zh) * 2016-11-24 2018-06-01 北京金山云网络技术有限公司 一种资源分配方法及装置
CN108389038A (zh) * 2018-02-09 2018-08-10 平安健康互联网股份有限公司 红包雨活动方法、用户终端及存储介质
CN108834130A (zh) * 2018-05-31 2018-11-16 深圳市宏电技术股份有限公司 标识分配方法、装置、终端及计算机可读存储介质
CN109101344A (zh) * 2018-06-29 2018-12-28 上海瀚之友信息技术服务有限公司 一种数据分配方法
CN109213598A (zh) * 2018-07-03 2019-01-15 努比亚技术有限公司 一种资源分配方法、装置及计算机可读存储介质
CN109960596A (zh) * 2017-12-26 2019-07-02 中国移动通信集团公司 一种防止机器人抢单的方法及装置
CN111093281A (zh) * 2019-12-16 2020-05-01 中国建设银行股份有限公司 分配资源的方法和装置
CN111930434A (zh) * 2020-05-29 2020-11-13 北京视博云信息技术有限公司 一种云应用的启动方法、装置、可读存储介质及设备
CN111949393A (zh) * 2019-05-16 2020-11-17 腾讯科技(深圳)有限公司 资源分配、获取方法、装置、存储介质和设备
CN112003893A (zh) * 2020-07-17 2020-11-27 北京达佳互联信息技术有限公司 一种资源下载方法和装置
CN112308621A (zh) * 2020-11-04 2021-02-02 深圳市欢太科技有限公司 数据处理方法、装置、计算机存储介质及电子设备
CN112785323A (zh) * 2019-11-07 2021-05-11 北京沃东天骏信息技术有限公司 资源分配方法、装置与电子设备
CN113760883A (zh) * 2020-06-15 2021-12-07 北京沃东天骏信息技术有限公司 分享变量的发送方法、装置及计算机可读介质
CN115269207A (zh) * 2022-09-29 2022-11-01 浙江省公众信息产业有限公司无线运营分公司 一种用于vCPE网元分配资源的方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010065896A1 (en) * 2008-12-05 2010-06-10 Qualcomm Incorporated Systems and methods for distributing and redeeming credits on a broadcast system
CN102044032A (zh) * 2009-10-23 2011-05-04 浙江信诺科技有限公司 电子票券营销及行业通用会员卡管理方法及所用装置
CN102149076A (zh) * 2010-02-05 2011-08-10 北京爱奥时代信息科技有限公司 电子优惠券管理方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010065896A1 (en) * 2008-12-05 2010-06-10 Qualcomm Incorporated Systems and methods for distributing and redeeming credits on a broadcast system
CN102044032A (zh) * 2009-10-23 2011-05-04 浙江信诺科技有限公司 电子票券营销及行业通用会员卡管理方法及所用装置
CN102149076A (zh) * 2010-02-05 2011-08-10 北京爱奥时代信息科技有限公司 电子优惠券管理方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《HTTP://BLOG.CSDN.NET/JIBEN2QINGSHAN/ARTICLE/DETAILS/40599431》: "《分布式缓存Memcache和Redis》", 《HTTP://BLOG.CSDN.NET/JIBEN2QINGSHAN/ARTICLE/DETAILS/40599431》 *
HTTP://M.MYEXCEPTION.CN/OPEN-SOURCE/1823636.HTML: "《利用redis + lua解决抢红包高并发的有关问题》", 《HTTP://M.MYEXCEPTION.CN/OPEN-SOURCE/1823636.HTML》 *

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550025A (zh) * 2015-12-08 2016-05-04 北京航空航天大学 分布式基础设施即服务(IaaS)调度方法及系统
CN105550025B (zh) * 2015-12-08 2019-04-16 北京航空航天大学 分布式基础设施即服务(IaaS)调度方法及系统
CN107015999A (zh) * 2016-01-28 2017-08-04 阿里巴巴集团控股有限公司 一种基于分布式环境的信息发送方法及装置
CN107015999B (zh) * 2016-01-28 2020-11-03 创新先进技术有限公司 一种基于分布式环境的信息发送方法及装置
CN107018091A (zh) * 2016-02-29 2017-08-04 阿里巴巴集团控股有限公司 资源请求的调度方法和装置
CN107239328B (zh) * 2016-03-29 2020-06-09 上海普兰金融服务有限公司 任务分配方法及装置
CN107239328A (zh) * 2016-03-29 2017-10-10 上海普兰金融服务有限公司 任务分配方法及装置
CN107292596A (zh) * 2016-04-01 2017-10-24 广州爱九游信息技术有限公司 防自动刷红包的装置与方法及服务端
CN107292596B (zh) * 2016-04-01 2020-05-01 广州爱九游信息技术有限公司 防自动刷红包的装置与方法及服务端
CN107302488A (zh) * 2016-04-14 2017-10-27 阿里巴巴集团控股有限公司 虚拟物品的分配方法、系统及服务器
US11244291B2 (en) 2016-04-14 2022-02-08 Advanced New Technologies Co., Ltd. Method and system for allocating virtual articles
US11823142B2 (en) 2016-04-14 2023-11-21 Advanced New Technologies Co., Ltd. Method and system for allocating virtual articles
CN106095877A (zh) * 2016-06-07 2016-11-09 中国建设银行股份有限公司 一种红包数据处理方法和装置
CN106375382A (zh) * 2016-08-26 2017-02-01 苏州蓝海彤翔系统科技有限公司 数据分配的方法、系统、控制服务器及节点客户端
CN106469091A (zh) * 2016-09-05 2017-03-01 北京百度网讯科技有限公司 用于分配可用区的方法和装置
CN106469091B (zh) * 2016-09-05 2018-05-18 北京百度网讯科技有限公司 用于分配可用区的方法和装置
CN106375194A (zh) * 2016-09-12 2017-02-01 广东欧珀移动通信有限公司 即时通信应用的消息处理方法及移动终端
CN106330682A (zh) * 2016-09-12 2017-01-11 广东欧珀移动通信有限公司 即时通信应用的消息处理方法及移动终端
CN107818475A (zh) * 2016-09-14 2018-03-20 北京京东尚科信息技术有限公司 优惠券发放方法
CN107818475B (zh) * 2016-09-14 2022-06-07 北京京东尚科信息技术有限公司 优惠券发放方法、装置和计算机可读存储介质
CN108111325B (zh) * 2016-11-24 2021-06-22 北京金山云网络技术有限公司 一种资源分配方法及装置
CN108111325A (zh) * 2016-11-24 2018-06-01 北京金山云网络技术有限公司 一种资源分配方法及装置
CN106886462A (zh) * 2017-02-23 2017-06-23 郑州云海信息技术有限公司 资源的添加方法及装置
CN107465600A (zh) * 2017-08-17 2017-12-12 郑州市润合网络科技有限公司 聊天信息的推送方法和系统
CN109960596A (zh) * 2017-12-26 2019-07-02 中国移动通信集团公司 一种防止机器人抢单的方法及装置
CN109960596B (zh) * 2017-12-26 2021-04-02 中国移动通信集团公司 一种防止机器人抢单的方法及装置
CN108389038A (zh) * 2018-02-09 2018-08-10 平安健康互联网股份有限公司 红包雨活动方法、用户终端及存储介质
CN108834130A (zh) * 2018-05-31 2018-11-16 深圳市宏电技术股份有限公司 标识分配方法、装置、终端及计算机可读存储介质
CN108834130B (zh) * 2018-05-31 2022-09-02 深圳市宏电技术股份有限公司 标识分配方法、装置、终端及计算机可读存储介质
CN109101344A (zh) * 2018-06-29 2018-12-28 上海瀚之友信息技术服务有限公司 一种数据分配方法
CN109213598A (zh) * 2018-07-03 2019-01-15 努比亚技术有限公司 一种资源分配方法、装置及计算机可读存储介质
CN109213598B (zh) * 2018-07-03 2022-08-02 深圳极联信息技术股份有限公司 一种资源分配方法、装置及计算机可读存储介质
CN111949393A (zh) * 2019-05-16 2020-11-17 腾讯科技(深圳)有限公司 资源分配、获取方法、装置、存储介质和设备
CN111949393B (zh) * 2019-05-16 2024-02-06 腾讯科技(深圳)有限公司 资源分配、获取方法、装置、存储介质和设备
CN112785323A (zh) * 2019-11-07 2021-05-11 北京沃东天骏信息技术有限公司 资源分配方法、装置与电子设备
CN111093281A (zh) * 2019-12-16 2020-05-01 中国建设银行股份有限公司 分配资源的方法和装置
CN111093281B (zh) * 2019-12-16 2022-11-15 建信金融科技有限责任公司 分配资源的方法和装置
CN111930434A (zh) * 2020-05-29 2020-11-13 北京视博云信息技术有限公司 一种云应用的启动方法、装置、可读存储介质及设备
CN111930434B (zh) * 2020-05-29 2024-04-16 北京视博云信息技术有限公司 一种云应用的启动方法、装置、可读存储介质及设备
CN113760883A (zh) * 2020-06-15 2021-12-07 北京沃东天骏信息技术有限公司 分享变量的发送方法、装置及计算机可读介质
CN112003893B (zh) * 2020-07-17 2023-07-25 北京达佳互联信息技术有限公司 一种资源下载方法和装置
CN112003893A (zh) * 2020-07-17 2020-11-27 北京达佳互联信息技术有限公司 一种资源下载方法和装置
CN112308621A (zh) * 2020-11-04 2021-02-02 深圳市欢太科技有限公司 数据处理方法、装置、计算机存储介质及电子设备
CN115269207A (zh) * 2022-09-29 2022-11-01 浙江省公众信息产业有限公司无线运营分公司 一种用于vCPE网元分配资源的方法和系统
CN115269207B (zh) * 2022-09-29 2022-12-23 浙江省公众信息产业有限公司无线运营分公司 一种用于vCPE网元分配资源的方法和系统

Similar Documents

Publication Publication Date Title
CN104954468A (zh) 资源的分配方法及装置
CN108696895B (zh) 资源获取方法、装置及系统
US9832275B2 (en) Message processing method, device and system for internet of things
US10212228B2 (en) Implementing synchronization of state information betweeen instances of an application as well as between different applications in an efficient, scalable manner
CN108924250B (zh) 基于区块链的业务请求处理方法、装置和计算机设备
US6611870B1 (en) Server device and communication connection scheme using network interface processors
CN104731516A (zh) 一种存取文件的方法、装置及分布式存储系统
CN109886693B (zh) 区块链系统的共识实现方法、装置、设备和介质
CN105791254B (zh) 网络请求处理方法、装置及终端
CN105553870A (zh) 业务请求的分配方法和装置
CN110837479B (zh) 数据处理方法、相关设备及计算机存储介质
US20160070475A1 (en) Memory Management Method, Apparatus, and System
CN104539681A (zh) 分布式gis加速系统和gis服务的处理方法
CN110413845B (zh) 基于物联网操作系统的资源存储方法及装置
CN111597148A (zh) 用于分布式文件系统的分布式元数据管理方法
CN110727738B (zh) 基于数据分片的全局路由系统、电子设备及存储介质
US20110131192A1 (en) Approaches to Reducing Lock Communications In a Shared Disk Database
CN102790784A (zh) 分布式缓存方法及系统、缓存解析方法及解析系统
CN110740155B (zh) 分布式系统中的请求处理方法及装置
CN110401731B (zh) 用于分配内容分发节点的方法和装置
CN107277087B (zh) 数据处理方法及装置
CN109471713B (zh) 用于查询信息的方法和装置
CN110798495A (zh) 用于在集群架构模式下端到端的消息推送的方法和服务器
CN110781137A (zh) 分布式系统的目录读取方法、装置、服务器和存储介质
CN105978744A (zh) 一种资源分配方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150930