CN110956484A - 对象发放方法、装置及设备 - Google Patents
对象发放方法、装置及设备 Download PDFInfo
- Publication number
- CN110956484A CN110956484A CN201811134297.5A CN201811134297A CN110956484A CN 110956484 A CN110956484 A CN 110956484A CN 201811134297 A CN201811134297 A CN 201811134297A CN 110956484 A CN110956484 A CN 110956484A
- Authority
- CN
- China
- Prior art keywords
- state
- identifier
- user identifier
- user
- combined
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 21
- 230000000694 effects Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种对象发放方法、装置及设备,该方法包括:确定第一对象所属的对象集合,所述对象集合中包括至少两个对象;获取第一用户标识对应的、所述对象集合中每个对象的状态,所述状态包括发放状态和未发放状态;若所述对象集合中存在一个对象的状态为发放状态,则不向所述第一用户标识对应的终端设备发送所述第一对象;若所述对象集合中每个对象的状态均为未发放状态,则向所述第一用户标识对应的终端设备发送所述第一对象,将所述第一用户标识对应的第一对象的状态设置为发放状态。提高了对象的发放效率。
Description
技术领域
本发明实施例涉及计算机领域,尤其涉及一种对象发放方法、装置及设备。
背景技术
目前,在商家进行线上优惠活动时,商家可能同时推出一组优惠方式,用户只能通过一种优惠方式参与优惠活动。
一组活动中每一种优惠方式对应一种电子对象(下文简称对象),例如,对象可以为优惠券、商品订单等。商家可以向用户发放对象,以使用户根据对象参加优惠活动。由于用户只能通过一种优惠方式参加优惠活动,因此,只能向用户发放一个对象。在现有技术中,每个用户对应一个对象集合的状态,在向用户发放一个对象之前,先判断该用户对应的对象集合的状态是否为未发放状态,若是,向用户发放该对象,并将对象集合的状态修改为发放状态,若否,则不向用户发放该对象。
然而,在上述过程中,若要知道向哪些用户发放了哪些对象,则在发放对象时,需要通过专门的记录模块进行记录,使得对象的发放过程复杂,进而导致对象的发放效率低下。
发明内容
本发明实施例提供一种对象发放方法、装置及设备,提高了对象的发放效率。
第一方面,本发明实施例提供一种对象发放方法,包括:
确定第一对象所属的对象集合,所述对象集合中包括至少两个对象;
获取第一用户标识对应的、所述对象集合中每个对象的状态,所述状态包括发放状态和未发放状态;
若所述对象集合中存在一个对象的状态为发放状态,则不向所述第一用户标识对应的终端设备发送所述第一对象;
若所述对象集合中每个对象的状态均为未发放状态,则向所述第一用户标识对应的终端设备发送所述第一对象,将所述第一用户标识对应的第一对象的状态设置为发放状态。
在一种可能的实施方式中,所述获取第一用户标识对应的、所述对象集合中每个对象的状态,包括:
根据所述第一用户标识和所述对象集合中每个对象的key,确定所述对象集合中每个对象对应的组合标识,其中,一个对象对应的组合标识包括所述第一用户标识的标识和该对象的key;
获取每个组合标识对应的value,其中,一个对象对应的组合标识所对应的value用于指示第一用户标识对应的该对象的状态。
在另一种可能的实施方式中,若第二对象对应的组合标识所对应的value为空,则所述第一用户标识对应的第二对象的状态为未发放状态,所述第二对象为所述对象集合中的任意一个对象;
若第二对象对应的组合标识所对应的value不为空,则所述第一用户标识对应的第二对象的状态为发放状态。
在另一种可能的实施方式中,将所述第一用户标识对应的第一对象的状态设置为发放状态,包括:
根据所述第一用户标识和所述第一对象的标识,确定第一组合标识;
生成随机数;
将所述第一组合标识对应的value设置为所述随机数。
在另一种可能的实施方式中,所述向所述第一用户标识对应的终端设备发送所述第一对象之后,还包括:
若向所述第一用户标识对应的终端设备发送所述第一对象失败,则获取所述第一组合标识对应的value;
判断所述第一组合标识对应的value是否等于所述随机数;
若是,则将所述第一组合标识对应的value设置为空。
第二方面,本发明实施例提供一种对象发放装置,包括确定模块、第一获取模块、发送模块和设置模块,其中,
所述确定模块用于,确定第一对象所属的对象集合,所述对象集合中包括至少两个对象;
所述第一获取模块用于,获取第一用户标识对应的、所述对象集合中每个对象的状态,所述状态包括发放状态和未发放状态;
所述发送模块用于,在所述对象集合中存在一个对象的状态为发放状态时,则不向所述第一用户标识对应的终端设备发送所述第一对象;
所述发送模块用于,在所述对象集合中每个对象的状态均为未发放状态时,向所述第一用户标识对应的终端设备发送所述第一对象;
所述设置模块用于,在所述发送模块向所述第一用户标识对应的终端设备发送所述第一对象后,将所述第一用户标识对应的第一对象的状态设置为发放状态。
在一种可能的实施方式中,所述第一获取模块具体用于:
根据所述第一用户标识和所述对象集合中每个对象的key,确定所述对象集合中每个对象对应的组合标识,其中,一个对象对应的组合标识包括所述第一用户标识的标识和该对象的key;
获取每个组合标识对应的value,其中,一个对象对应的组合标识所对应的value用于指示第一用户标识对应的该对象的状态。
在另一种可能的实施方式中,若第二对象对应的组合标识所对应的value为空,则所述第一用户标识对应的第二对象的状态为未发放状态,所述第二对象为所述对象集合中的任意一个对象;
若第二对象对应的组合标识所对应的value不为空,则所述第一用户标识对应的第二对象的状态为发放状态。
在另一种可能的实施方式中,所述设置模块具体用于:
根据所述第一用户标识和所述第一对象的标识,确定第一组合标识;
生成随机数;
将所述第一组合标识对应的value设置为所述随机数。
在另一种可能的实施方式中,所述装置还包括第二获取模块和判断模块,其中,
所述第二获取模块用于,在所述发送模块向所述第一用户标识对应的终端设备发送所述第一对象失败时,获取所述第一组合标识对应的value;
所述判断模块用于,判断所述第一组合标识对应的value是否等于所述随机数;
所述设置模块还用于,在所述判断模块判断所述第一组合标识对应的value等于所述随机数时,将所述第一组合标识对应的value设置为空。
第三方面,本发明实施例提供一种对象发放设备,包括:处理器,所述处理器与存储器耦合;
所述存储器用于,存储计算机程序;
所述处理器用于,执行所述存储器中存储的计算机程序,以使得所述终端设备执行上述第一方面任一项所述的方法。
第四方面,本发明实施例提供一种可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,如上述第一方面任意一项所述的方法被执行。
本发明实施例提供的对象发放方法、装置及设备,在向第一用户发放第一对象之前,先确定第一对象所属的对象集合,获取第一用户标识对应的、对象集合中每个对象的状态,若对象集合中存在一个对象的状态为发放状态,则不向第一用户标识对应的终端设备发送第一对象;若对象集合中每个对象的状态均为未发放状态,则向第一用户标识对应的终端设备发送第一对象,将第一用户标识对应的第一对象的状态设置为发放状态。由上可知,在向一个用户发放对象的过程中,可以通过该用户对应的对象的状态确定向用户发放了哪个对象,无需再通过专门的记录模块记录向哪些用户发放哪些对象,简化对象的发放过程,进而提高对象的发放效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的对象方法装置的应用场景示意图;
图2为本发明实施例提供的对象发放方法的流程示意图一;
图3为本发明实施例提供的对象发放方法的流程示意图二;
图4为本发明实施例提供的对象发放装置的结构示意图一;
图5为本发明实施例提供的对象发放装置的结构示意图二;
图6为本发明实施例提供的对象发放设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的对象方法装置的应用场景示意图。请参见图1,包括商家平台101和客户端102。商家平台101中可以包括多个发放装置,分别记为发放装置1、发放装置2、……、发放装置N,每个发放装置均可以向客户端102发放对象,该N个发放装置发送的对象分别记为对象1、对象2、……、对象N。
假设一组优惠活动包括N种优惠方式,该N种优惠方式对应N个对象,该N个对象分别由该N个发放装置进行发放。每个发放装置独立发放对象,且发放装置在发放对象时,需要保证向一个用户最多发放该N个对象中的一个对象。
在本申请中,将多种优惠方式对应的多个对象确定为一个对象集合,对象集合中的每个对象包括两种状态,一种是发放状态,一种是未发放状态。在未向一个用户发放某一对象时,则该用户对应的该对象的状态为未发放状态,在向一个用户发放某一对象后,则该用户对应的该对象的状态为发放状态。在各个发放装置向用户发放对象时,可以根据对象集合中各个对象的状态,确定是否向用户发放对象,进而可以避免向用户发放一个对象集合中的多个对象。
在本申请中,在向一个用户发放对象的过程中,可以通过该用户对应的对象的状态确定向用户发放了哪个对象,无需再通过专门的记录模块记录向哪些用户发放哪些对象,简化对象的发放过程,进而提高对象的发放效率。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行重复说明。
图2为本发明实施例提供的对象发放方法的流程示意图一。请参见图2,该方法可以包括:
S201、确定第一对象所属的对象集合,对象集合中包括至少两个对象。
可选的,本发明实施例的执行主体可以为商家平台(或者称为服务器等),也可以为设置在商家平台中的对象发放装置。该对象发放装置可以通过软件实现,或者,该对象发放装置可以通过软件和硬件的结合实现。
可选的,本发明实施例所示的对象为电子形式,或者,本申请所示的对象还可以称为电子对象。本申请所示的对象为用户在进行线上或线下消费时的优惠凭证。
可选的,对象可以为电子红包、电子折扣券、电子订单等。在实际应用过程中,可以根据实际需要设置对象,本发明实施例对此不作具体限定。
对象集合中包括至少两个对象,且对象集合中包括的对象为互斥的,即,不能同时向一个用户发放对象集合中的多个对象,向一个用户最多发放对象集合中的一个对象。
例如,假设商家推出线上叫车活动,线上叫车活动可以包括三种优惠方式,其中,优惠方式1为叫车立减5圆,优惠方式2为单次消费8.5折,优惠方式3为消费满30圆减10圆。优惠方式1对应优惠券1,优惠方式2对应优惠券2,优惠方式3对应优惠券3。在向一个用户发放该活动的优惠券时,向一个用户最多发送一个优惠券。
可选的,在商家平台向第一用户发放第一对象之前,可以执行图2实施例所示的方法,以确定是否向第一用户发放第一对象。
S202、获取第一用户标识对应的、对象集合中每个对象的状态,状态包括发放状态和未发放状态。
可选的,第一用户标识可以为第一用户的标识。
例如,第一用户标识可以为用户注册的账号等。
可选的,若已向第一用户发放第一对象,则第一用户标识对应的对象的状态为发放状态。若未向第一用户发放第一对象,则第一用户标识对应的对象的状态为未发放状态。
可选的,可以为对象集合中的每个对象设置一组key和value。可以通过key表示对象的标识,通过value表示对象的状态。
可选的,对象集合中的每个对象设置一组key和value可以存储在redis数据库中。
向不同的用户发放的对象不同,不同的用户标识对应的对象的状态不同。因此,可以将用户标识和对象的key进行组合得到组合标识,通过组合标识对应的value表示一个用户对应的对象的状态。
可选的,可以将用户标识和对象的key进行拼接,以得到组合标识,组合标识包括用户标识和对象的key。
例如,假设对象的key为key1,用户标识为user1,则该用户标识和对象的组合标识为key1user1。
相应的,在获取第一用户标识对应的对象的状态时,可以根据第一用户标识和对象集合中每个对象的key,确定对象集合中每个对象对应的组合标识,获取每个组合标识对应的value,通过每个组合标识对应的value表示第一用户标识对应的每个对象的状态。
针对对象集合中的任意一个第二对象,若第二对象对应的组合标识所对应的value为空,则第一用户标识对应的第二对象的状态为未发放状态,若第二对象对应的组合标识所对应的value不为空,则第一用户标识对应的第二对象的状态为发放状态。
例如,假设对象集合中包括对象1、对象2和对象3,对象1-对象3对应的key分别为key1、key2和key3。当用户1的用户标识为user1时,则可以通过key1user1对应的value表示用户1对应的对象1的状态,通过key2user1对应的value表示用户1对应的对象2的状态,通过key3user1对应的value表示用户1对应的对象3的状态。
S203、判断对象集合中是否存在一个对象的状态为发放状态。
若是,则执行S204。
若否,则执行S205。
可选的,若通过组合标识对应的value表示第一用户标识对应的对象的发放状态,则可以判断包括第一用户标识的组合标识对应的value中是否存在不为空的value,若是,则确定对象集合中存在一个对象的状态为发放状态,若否,则确定对象集合中的对象的状态均为未发放状态。
需要说明的是,本发明实施例所示的发放对象的机制实质为锁机制。其中,一个用户标识对应一个锁,该锁可以包括锁定状态和未锁定状态,该用户标识对应的对象集合中各对象的状态决定了锁的状态,若对象集合中存在一个对象的状态为发放状态,则该用户对应的锁的状态为锁定状态,若对象集合中每个对象的状态均为未发放状态,则该用户对应的锁的状态为未锁定状态时。
相应的,在S203中,相当于判断第一用户标识对应的锁的状态是否为锁定状态。具体的,若对象集合中存在一个对象的状态为发放状态,则确定第一用户标识对应的锁的状态为锁定状态,否则,则确定第一用户标识对应的锁的状态为未锁定状态。
由上可知,在向一个用户发放对象时,需要先抢锁,在抢锁成功时,才能向用户发放对象,否则,无法向用户发放对象。
在实际应用过程中,可选的,可以以对象集合中对象的个数、用户标识、对象集合中各对象的key、随机数、预设时间为参数,通过如下lua脚本实现抢锁:
其中,若返回值为1,则说明抢锁成功。若返回值为0或数组时,则说明抢锁失败。
需要说明的是,上述只是以示例的形式示意抢锁的lua脚本,并非对lua脚本的限定,在实际应用过程中,可以根据实际需要设计抢锁的lua脚本,本发明实施例对此不作具体限定。
S204、不向第一用户标识对应的终端设备发送第一对象。
S205、向第一用户标识对应的终端设备发送第一对象,将第一用户标识对应的第一对象的状态设置为发放状态。
其中,向第一用户标识对应的终端设备发送第一对象即可实现向第一用户发放第一对象。
可选的,可以通过如下可行的实现方式将第一用户标识对应的第一对象的状态设置为发放状态:根据第一用户标识和第一对象的标识,确定第一组合标识;生成随机数;将第一组合标识对应的value设置为随机数。
可选的,在生成随机时之后,可以将该随机数与第一用户标识对应存储。
在实际应用过程中,在向第一用户发放第一对象的过程中,可能会由于系统故障等原因向第一用户发放第一对象失败。
若向第一用户标识对应的终端设备发送第一对象失败,则获取第一组合标识对应的value;判断第一组合标识对应的value是否等于第一用户标识对应的随机数;若是,则将第一组合标识对应的value设置为空。
通过将第一组合标识对应的value设置为空,可以实现将第一用户标识对应的第一对象的状态设置为未发放状态。
需要说明的是,在将第一用户标识对应的第一对象的状态设置为未发放状态,相当于释放第一用户标识对应的锁。
在实际应用过程中,可选的,可以以Key[n]和随机数为参数通过如下lua脚本实现释放锁:
需要说明的是,上述只是以示例的形式示意释放锁的lua脚本,并非对lua脚本的限定,在实际应用过程中,可以根据实际需要设计释放锁的lua脚本,本发明实施例对此不作具体限定。
本发明实施例提供的对象发放方法,在向第一用户发放第一对象之前,先确定第一对象所属的对象集合,获取第一用户标识对应的、对象集合中每个对象的状态,若对象集合中存在一个对象的状态为发放状态,则不向第一用户标识对应的终端设备发送第一对象;若对象集合中每个对象的状态均为未发放状态,则向第一用户标识对应的终端设备发送第一对象,将第一用户标识对应的第一对象的状态设置为发放状态。由上可知,在向一个用户发放对象的过程中,可以通过该用户对应的对象的状态确定向用户发放了哪个对象,无需再通过专门的记录模块记录向哪些用户发放哪些对象,简化对象的发放过程,进而提高对象的发放效率。
在图2所示实施例的基础上,下面,通过图3所示的实施例,对图2所示的实施例进行进一步详细说明。
图3为本发明实施例提供的对象发放方法的流程示意图二。在图2所示实施例的基础上,请参见图3,该方法可以包括:
S301、确定第一对象所属的对象集合。
其中,对象集合中包括至少两个对象。
需要说明的是,S301的执行过程可以参见S201,本发明实施例此处不再进行赘述。
S302、根据第一用户标识和对象集合中每个对象的key,确定第一用户标识和每个对象对应的组合标识。
需要说明的是,S303的执行过程可以参见S202,本发明实施例此处不再进行赘述。
S303、获取每个组合标识对应的value。
S304、判断每个组合标识对应的value中是否存在一个value不为空。
若是,则执行S305。
若否,则执行S306-S308。
S305、不向第一用户标识对应的终端设备发送第一对象
S306、第一用户标识对应的终端设备发送第一对象。
S307、生成随机数。
S308、确定包括第一用户标识和第一对象的key的第一组合标识,并将第一组合标识对应的value设置为随机数。
下面,通过具体示例,对图3实施例所示的方法进行详细说明。
示例性的,假设商家推出线上叫车活动,线上叫车活动可以包括三种优惠方式,该三种优惠方式分别记为优惠方式1-优惠方式3,优惠方式1-优惠方式3如表1所示:
表1
优惠方式的标识 | 具体的优惠方式 |
优惠方式1 | 叫车立减5圆 |
优惠方式2 | 单次消费8.5折 |
优惠方式3 | 满30圆减10圆 |
不同的优惠方式对应不同的优惠券,不同的优惠券由不同的发放装置发放,具体如表2所示:
表2
发放装置的标识 | 优惠方式的标识 | 优惠券的标识 | Key |
发放装置1 | 优惠方式1 | 优惠券1 | Key 1 |
发放装置2 | 优惠方式2 | 优惠券2 | Key 2 |
发放装置3 | 优惠方式3 | 优惠券3 | Key 3 |
假设用户1的标识为user1,则用户1与各个优惠券的组合标识分别为key1user1、key2user2和key3user3。
在初始时,未向用户1发放任何一个优惠券,此时,各个组合标识对应的value如表3所示:
表3
组合标识 | value |
key1user1 | 空 |
key2user2 | 空 |
key3user3 | 空 |
在发放装置1向用户1发放优惠券1之前,发放装置1获取表1所示的各个组合标识对应的value,由于各个组合标识对应的value均为空,则发放装置1可以确定未向用户1发送优惠券1-优惠券3,则发放装置1向用户1对应的终端设备发送优惠券1,以实现向用户1发送优惠券1。发放装置1还生成随机数token,将key1user1的value设置为token,相应的,各个组合标识对应的value如表4所示:
表4
组合标识 | value |
key1user1 | token |
key2user2 | 空 |
key3user3 | 空 |
在发放装置2向用户1发放优惠券2之前,发放装置2获取表4所示的各个组合标识对应的value,由于组合标识key1user1对应的value不是空,则发放装置2不再向用户1发送优惠券2。
在发放装置3向用户1发放优惠券3之前,发放装置3获取表4所示的各个组合标识对应的value,由于组合标识key1user1对应的value不是空,则发放装置3不再向用户1发送优惠券3。
由上可知,通过上述方法,发放装置1-发放装置3在向用户发放优惠券时,可以避免向用户发放一个优惠券集合中的多个优惠券。
在上述过程中,针对一个用户,每个优惠券对应一个组合标识,每个组合标识对应一个value,可以根据组合标识对应的value判断是否向该用户发放优惠券,例如,请参见表4,当一个组合标识对应的value为空时,则说明未向用户发放该组合标识对应的优惠券,当一个组合标识对应的value不为空时,则说明已向用户发放该组合标识对应的优惠券。由上可知,在优惠券的发放过程中,根据组合标识对应的value即可获取向哪些用户发放了哪些优惠券,无需再通过专门的记录模块记录向哪些用户发放哪些优惠券,简化优惠券的发放过程,进而提高优惠券的发放效率。
图4为本发明实施例提供的对象发放装置的结构示意图一。请参见图4,包括确定模块11、第一获取模块12、发送模块13和设置模块14,其中,
所述确定模块11用于,确定第一对象所属的对象集合,所述对象集合中包括至少两个对象;
所述第一获取模块12用于,获取第一用户标识对应的、所述对象集合中每个对象的状态,所述状态包括发放状态和未发放状态;
所述发送模块13用于,在所述对象集合中存在一个对象的状态为发放状态时,则不向所述第一用户标识对应的终端设备发送所述第一对象;
所述发送模块13用于,在所述对象集合中每个对象的状态均为未发放状态时,向所述第一用户标识对应的终端设备发送所述第一对象;
所述设置模块14用于,在所述发送模块13向所述第一用户标识对应的终端设备发送所述第一对象后,将所述第一用户标识对应的第一对象的状态设置为发放状态。
本发明实施例提供的对象发放装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述第一获取模块12具体用于:
根据所述第一用户标识和所述对象集合中每个对象的key,确定所述对象集合中每个对象对应的组合标识,其中,一个对象对应的组合标识包括所述第一用户标识的标识和该对象的key;
获取每个组合标识对应的value,其中,一个对象对应的组合标识所对应的value用于指示第一用户标识对应的该对象的状态。
在另一种可能的实施方式中,若第二对象对应的组合标识所对应的value为空,则所述第一用户标识对应的第二对象的状态为未发放状态,所述第二对象为所述对象集合中的任意一个对象;
若第二对象对应的组合标识所对应的value不为空,则所述第一用户标识对应的第二对象的状态为发放状态。
在另一种可能的实施方式中,所述设置模块14具体用于:
根据所述第一用户标识和所述第一对象的标识,确定第一组合标识;
生成随机数;
将所述第一组合标识对应的value设置为所述随机数。
图5为本发明实施例提供的对象发放装置的结构示意图二。在图4所示实施例的基础上,请参见图5,所述装置还包括第二获取模块15和判断模块16,其中,
所述第二获取模块15用于,在所述发送模块13向所述第一用户标识对应的终端设备发送所述第一对象失败时,获取所述第一组合标识对应的value;
所述判断模块16用于,判断所述第一组合标识对应的value是否等于所述随机数;
所述设置模块14还用于,在所述判断模块16判断所述第一组合标识对应的value等于所述随机数时,将所述第一组合标识对应的value设置为空。
图6为本发明实施例提供的对象发放设备的硬件结构示意图,如图6所示,该对象发放设备包括:至少一个处理器21和存储器22。可选地,该对象发放设备还包括通信部件23。其中,处理器21、存储器22以及通信部件23通过总线24连接。
在具体实现过程中,至少一个处理器21执行所述存储器22存储的计算机执行指令,使得至少一个处理器21执行上述方法实施例所示的方法。
通信部件23可以与服务器进行数据交互。
处理器21的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图6所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上方式实施例所示的方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例方案的范围。
Claims (12)
1.一种对象发放方法,其特征在于,包括:
确定第一对象所属的对象集合,所述对象集合中包括至少两个对象;
获取第一用户标识对应的、所述对象集合中每个对象的状态,所述状态包括发放状态和未发放状态;
若所述对象集合中存在一个对象的状态为发放状态,则不向所述第一用户标识对应的终端设备发送所述第一对象;
若所述对象集合中每个对象的状态均为未发放状态,则向所述第一用户标识对应的终端设备发送所述第一对象,将所述第一用户标识对应的第一对象的状态设置为发放状态。
2.根据权利要求1所述的方法,其特征在于,所述获取第一用户标识对应的、所述对象集合中每个对象的状态,包括:
根据所述第一用户标识和所述对象集合中每个对象的key,确定所述对象集合中每个对象对应的组合标识,其中,一个对象对应的组合标识包括所述第一用户标识的标识和该对象的key;
获取每个组合标识对应的value,其中,一个对象对应的组合标识所对应的value用于指示第一用户标识对应的该对象的状态。
3.根据权利要求2所述的方法,其特征在于,
若第二对象对应的组合标识所对应的value为空,则所述第一用户标识对应的第二对象的状态为未发放状态,所述第二对象为所述对象集合中的任意一个对象;
若第二对象对应的组合标识所对应的value不为空,则所述第一用户标识对应的第二对象的状态为发放状态。
4.根据权利要求2或3所述的方法,其特征在于,将所述第一用户标识对应的第一对象的状态设置为发放状态,包括:
根据所述第一用户标识和所述第一对象的标识,确定第一组合标识;
生成随机数;
将所述第一组合标识对应的value设置为所述随机数。
5.根据权利要求4所述的方法,其特征在于,所述向所述第一用户标识对应的终端设备发送所述第一对象之后,还包括:
若向所述第一用户标识对应的终端设备发送所述第一对象失败,则获取所述第一组合标识对应的value;
判断所述第一组合标识对应的value是否等于所述随机数;
若是,则将所述第一组合标识对应的value设置为空。
6.一种对象发放装置,其特征在于,包括确定模块、第一获取模块、发送模块和设置模块,其中,
所述确定模块用于,确定第一对象所属的对象集合,所述对象集合中包括至少两个对象;
所述第一获取模块用于,获取第一用户标识对应的、所述对象集合中每个对象的状态,所述状态包括发放状态和未发放状态;
所述发送模块用于,在所述对象集合中存在一个对象的状态为发放状态时,则不向所述第一用户标识对应的终端设备发送所述第一对象;
所述发送模块用于,在所述对象集合中每个对象的状态均为未发放状态时,向所述第一用户标识对应的终端设备发送所述第一对象;
所述设置模块用于,在所述发送模块向所述第一用户标识对应的终端设备发送所述第一对象后,将所述第一用户标识对应的第一对象的状态设置为发放状态。
7.根据权利要求6所述的装置,其特征在于,所述第一获取模块具体用于:
根据所述第一用户标识和所述对象集合中每个对象的key,确定所述对象集合中每个对象对应的组合标识,其中,一个对象对应的组合标识包括所述第一用户标识的标识和该对象的key;
获取每个组合标识对应的value,其中,一个对象对应的组合标识所对应的value用于指示第一用户标识对应的该对象的状态。
8.根据权利要求7所述的装置,其特征在于,
若第二对象对应的组合标识所对应的value为空,则所述第一用户标识对应的第二对象的状态为未发放状态,所述第二对象为所述对象集合中的任意一个对象;
若第二对象对应的组合标识所对应的value不为空,则所述第一用户标识对应的第二对象的状态为发放状态。
9.根据权利要求7或8所述的装置,其特征在于,所述设置模块具体用于:
根据所述第一用户标识和所述第一对象的标识,确定第一组合标识;
生成随机数;
将所述第一组合标识对应的value设置为所述随机数。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括第二获取模块和判断模块,其中,
所述第二获取模块用于,在所述发送模块向所述第一用户标识对应的终端设备发送所述第一对象失败时,获取所述第一组合标识对应的value;
所述判断模块用于,判断所述第一组合标识对应的value是否等于所述随机数;
所述设置模块还用于,在所述判断模块判断所述第一组合标识对应的value等于所述随机数时,将所述第一组合标识对应的value设置为空。
11.一种对象发放设备,其特征在于,包括:处理器,所述处理器与存储器耦合;
所述存储器用于,存储计算机程序;
所述处理器用于,执行所述存储器中存储的计算机程序,以使得所述终端设备执行权利要求1-5任一项所述的方法。
12.一种可读存储介质,其特征在于,包括程序或指令,当所述程序或指令在计算机上运行时,权利要求1-5任一项所述的方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811134297.5A CN110956484A (zh) | 2018-09-27 | 2018-09-27 | 对象发放方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811134297.5A CN110956484A (zh) | 2018-09-27 | 2018-09-27 | 对象发放方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110956484A true CN110956484A (zh) | 2020-04-03 |
Family
ID=69975395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811134297.5A Pending CN110956484A (zh) | 2018-09-27 | 2018-09-27 | 对象发放方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110956484A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404397A (zh) * | 2011-11-15 | 2012-04-04 | 宇龙计算机通信科技(深圳)有限公司 | 信息提醒的方法、装置及系统 |
CN106096924A (zh) * | 2016-06-21 | 2016-11-09 | 阿里巴巴集团控股有限公司 | 对象分配方法及装置 |
CN106469385A (zh) * | 2015-08-17 | 2017-03-01 | 腾讯科技(深圳)有限公司 | 用户邀请方法和装置 |
CN107203890A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 凭证数据发放方法、装置及系统 |
-
2018
- 2018-09-27 CN CN201811134297.5A patent/CN110956484A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404397A (zh) * | 2011-11-15 | 2012-04-04 | 宇龙计算机通信科技(深圳)有限公司 | 信息提醒的方法、装置及系统 |
CN106469385A (zh) * | 2015-08-17 | 2017-03-01 | 腾讯科技(深圳)有限公司 | 用户邀请方法和装置 |
CN107203890A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 凭证数据发放方法、装置及系统 |
CN106096924A (zh) * | 2016-06-21 | 2016-11-09 | 阿里巴巴集团控股有限公司 | 对象分配方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108427731B (zh) | 页面代码的处理方法、装置、终端设备及介质 | |
CN110458544B (zh) | 一种跨多收银系统的支付方法及支付服务系统 | |
CN110020846B (zh) | 一种转账业务处理方法及系统 | |
CN111282262B (zh) | 游戏服务器通信的方法及装置 | |
CN107025145B (zh) | 错误码解析方法及装置 | |
CN106681799B (zh) | 插入磁盘的方法、装置和系统 | |
CN113179282A (zh) | 合并账号的方法、装置和服务器 | |
CN108900525B (zh) | 验证码请求的处理方法与装置 | |
CN110769064A (zh) | 一种用于离线推送消息的系统、方法和设备 | |
CN112637222A (zh) | 一种请求的处理方法及装置 | |
CN110956484A (zh) | 对象发放方法、装置及设备 | |
CN110111188B (zh) | 业务办理方法及设备 | |
CN114697440B (zh) | 网络管理方法及移动终端 | |
CN113055459B (zh) | 日志投递方法和装置、电子设备及存储介质 | |
CN114124524A (zh) | 一种云平台权限设置方法、装置、终端设备及存储介质 | |
CN109725856B (zh) | 一种共享节点管理方法、装置、电子设备及存储介质 | |
CN107885618B (zh) | 基于网络游戏的数据监控方法、装置、设备及存储介质 | |
CN112950314A (zh) | 购票资格的确定方法、装置、设备及存储介质 | |
CN113742093A (zh) | 一种消息处理方法、装置、设备和存储介质 | |
CN115208901B (zh) | 一种资源分配方法、系统、装置、计算机设备及存储介质 | |
CN111381977A (zh) | 消息处理方法及设备 | |
CN110703988A (zh) | 一种分布式存储的存储池创建方法、系统、终端及存储介质 | |
CN111383025B (zh) | 风控数据转发的方法、装置及电子设备 | |
KR20230111087A (ko) | Nft 기반 디지털 콘텐츠 제공 플랫폼 및 그 방법 | |
CN109255686A (zh) | 任务提示方法、装置、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for 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: 20200403 |