CN111028009B - 可领取业务实体处理方法和装置 - Google Patents

可领取业务实体处理方法和装置 Download PDF

Info

Publication number
CN111028009B
CN111028009B CN201911255905.2A CN201911255905A CN111028009B CN 111028009 B CN111028009 B CN 111028009B CN 201911255905 A CN201911255905 A CN 201911255905A CN 111028009 B CN111028009 B CN 111028009B
Authority
CN
China
Prior art keywords
business entity
stock
inventory
entity
retrievable
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.)
Active
Application number
CN201911255905.2A
Other languages
English (en)
Other versions
CN111028009A (zh
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.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201911255905.2A priority Critical patent/CN111028009B/zh
Publication of CN111028009A publication Critical patent/CN111028009A/zh
Application granted granted Critical
Publication of CN111028009B publication Critical patent/CN111028009B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0208Trade or exchange of goods or services in exchange for incentives or rewards
    • 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/52Network services specially adapted for the location of the user terminal

Abstract

本发明提供一种可领取业务实体处理方法和装置,方法包括:获取用户发送的领取请求;根据所述领取请求抽取对应的库存队列中预存储的业务实体编码,多个库存队列中预存储的业务实体编码数量之和等于业务实体预定发行数量;若抽取到了业务实体编码,则进行领取处理流程,并将扣库存请求加入消息队列中,然后向用户反馈领取成功消息,其中,直接在预存有业务实体编码的库存队列中抽取现成的业务实体编号,在高并发情况下不会由于生成编号导致数据库的压力变大,进而提高效率,每次领取后将扣库存请求加入消息队列中,实现库存栏位异步修改,避免在高并发情况下形成排队,另外,由于库存队列中存储的业务实体编号数量即为剩余数量,不会产生超发问题。

Description

可领取业务实体处理方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种可领取业务实体处理方法和装置。
背景技术
随着移动终端互联网技术的不断发展,移动电子商务成为电子商务发展的新方向,线上和线下的商家或企业经常通过互联网或移动通信网络向用户发送可领取业务实体,供用户在购买商品或服务时使用,营销效果超过传统广告模式。
可领取业务实体是指领取时由后台生成的具有唯一编号的虚拟业务实体,比如商品优惠券、商品代金券、VIP服务等。
对于可领取业务实体,存在某一时刻大量领取的情况,例如推出某种活动,在某一时间点集中抢券(如秒杀活动),对于上述情况,影响效率的因素主要有两个:
1.业务实体编号的生成。业务实体编号为业务实体的唯一识别编码,不能重复,一般由数据库自增序列根据领取请求生成,但是高并发情况下,数据库的压力变大,效率会下降。
2.库存管理。由于可领取业务实体存在库存概念,有数量限制,不可超发,一般库存数量需记录在数据库中,每次领券需完成扣库存、记录领券信息等操作。但是扣库存的操作为热点操作,即所有请求需更新同一栏位的数据,在高并发情况下,就会形成排队,影响效率。
发明内容
针对现有技术中的问题,本发明提供一种可领取业务实体处理方法、装置、电子设备以及计算机可读存储介质,能够至少部分地解决现有技术中存在的问题。
为了实现上述目的,本发明采用如下技术方案:
第一方面,提供一种可领取业务实体处理方法,包括:
获取用户发送的领取请求;
根据所述领取请求抽取对应的库存队列中预存储的业务实体编码,多个库存队列中预存储的业务实体编码数量之和等于业务实体预定发行数量;
若抽取到了业务实体编码,则进行领取处理流程,并将扣库存请求加入消息队列中,然后向用户反馈领取成功消息。
进一步地,可领取业务实体处理方法还包括:
若未抽取到业务实体编码,则向用户反馈领取失败消息。
进一步地,可领取业务实体处理方法还包括:
定时轮询各业务实体发行任务是否即将开始进入领取时间;
若是,生成数量与业务实体发行数量相等的业务实体编码,并将生成的业务实体编码存入多个库存队列中。
进一步地,可领取业务实体处理方法还包括;
获取消息队列中的扣库存请求,所述扣库存请求包括对应的业务实体标识;
根据所述扣库存请求扣减对应的业务实体库存栏位。
进一步地,可领取业务实体处理方法还包括:
定时判断库存队列所对应的业务实体是否超过领取时效;
若是,删除所述库存队列。
进一步地,所述用户信息包括:位置信息、标识信息。
进一步地,所述领取处理流程包括:记录抽取到的业务实体编码与所述用户的对应关系。
进一步地,所述根据所述领取请求抽取对应的库存队列中预存储的业务实体编码,包括:
根据所述领取请求中的用户信息对所述用户进行分组;
根据分组结果抽取与所述分组结果对应的库存队列中预存储的业务实体编码。
第二方面,提供一种可领取业务实体处理装置,包括:
领取请求获取模块,获取用户发送的领取请求;
业务实体编码抽取模块,根据所述领取请求抽取对应的库存队列中预存储的业务实体编码,多个库存队列中预存储的业务实体编码数量之和等于业务实体预定发行数量;
领取成功模块,若抽取到了业务实体编码,则进行领取处理流程,并将扣库存请求加入消息队列中,然后向用户反馈领取成功消息。
进一步地,可领取业务实体处理装置还包括:
领取失败模块,若未抽取到业务实体编码,则向用户反馈领取失败消息。
进一步地,可领取业务实体处理装置还包括:
任务开始判断模块,定时轮询各业务实体发行任务是否即将开始进入领取时间;
编码生成模块,若业务实体发行任务即将开始进入领取时间,生成数量与业务实体发行数量相等的业务实体编码,并将生成的业务实体编码存入多个库存队列中。
进一步地,可领取业务实体处理装置还包括;
扣库存请求获取模块,获取消息队列中的扣库存请求,所述扣库存请求包括对应的业务实体标识;
扣库存模块,根据所述扣库存请求扣减对应的业务实体库存栏位。
进一步地,可领取业务实体处理装置还包括:
领取时效判断模块,定时判断库存队列所对应的业务实体是否超过领取时效;
库存队列清理模块,若库存队列所对应的业务实体超过领取时效,删除所述库存队列。
进一步地,所述用户信息包括:位置信息、标识信息。
进一步地,所述领取处理流程包括:记录抽取到的业务实体编码与所述用户的对应关系。
进一步地,所述业务实体编码抽取模块包括:
用户分组单元,根据所述领取请求中的用户信息对所述用户进行分组;
编码抽取单元,根据分组结果抽取与所述分组结果对应的库存队列中预存储的业务实体编码。
第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的可领取业务实体处理方法的步骤。
第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的可领取业务实体处理方法的步骤。
本发明提供的可领取业务实体处理方法、装置、电子设备以及计算机可读存储介质,该方法包括:获取用户发送的领取请求;根据所述领取请求抽取对应的库存队列中预存储的业务实体编码,多个库存队列中预存储的业务实体编码数量之和等于业务实体预定发行数量;若抽取到了业务实体编码,则进行领取处理流程,并将扣库存请求加入消息队列中,然后向用户反馈领取成功消息,其中,直接在预存有业务实体编码的库存队列中抽取现成的业务实体编号,在高并发情况下不会由于生成编号导致数据库的压力变大,进而提高效率,每次领取后将扣库存请求加入消息队列中,实现库存栏位异步修改,避免在高并发情况下形成排队,进一步提高效率,另外,由于库存队列中存储的业务实体编号数量即为剩余数量,不会产生超发问题。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明实施例中的可领取业务实体处理方法的流程示意图一;
图2是本发明实施例中的可领取业务实体处理方法的流程示意图二;
图3是本发明实施例中的可领取业务实体处理方法的流程示意图三;
图4示出了图1至图3任一个中步骤S200的具体步骤;
图5为本发明实施例的应用架构示意图;
图6是本发明实施例中的可领取业务实体处理装置的结构框图;
图7为本发明实施例电子设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
对于可领取业务实体,存在某一时刻大量领取的情况,例如推出某种活动,在某一时间点集中抢券(如秒杀活动),对于上述情况,常出现效率低下等问题。
为至少部分解决现有技术中存在的上述技术问题,本发明实施例提供了一种可领取业务实体处理方法,直接在预存有业务实体编码的库存队列中抽取现成的业务实体编号,在高并发情况下不会由于生成编号导致数据库的压力变大,进而提高效率,每次领取后将扣库存请求加入消息队列中,实现库存栏位异步修改,避免在高并发情况下形成排队,进一步提高效率,另外,由于库存队列中存储的业务实体编号数量即为剩余数量,不会产生超发问题。
图1是本发明实施例中的可领取业务实体处理方法的流程示意图一。如图1所示,该可领取业务实体处理方法可以包括以下内容:
步骤S100:获取用户发送的领取请求。
其中,用户可通过手机、计算机、平板电脑等电子设备发出领取请求以获取该可领取业务实体。
步骤S200:根据所述领取请求抽取对应的库存队列中预存储的业务实体编码,多个库存队列中预存储的业务实体编码数量之和等于业务实体预定发行数量;
具体地,预设有分组策略,可先对该领取请求进行分组,然后找到该领取请求所在组对应的库存队列,值得说明的是,库存队列与分组结果可以一一对应,也可以一个库存队列对应多种分组结果,也可以多个队列对应一种分组,具体可根据库存队列的存储数量、分组结果的数量等多种因素决定。
1.值得说明的是,各队列均是设置在内存数据库(例如redis,memCache等)中。
步骤S300:若抽取到了业务实体编码,则进行领取处理流程,并将扣库存请求加入消息队列中,然后向用户反馈领取成功消息。
值得说明的是,若抽取到了业务实体编码,可说明业务实体还没有发行完,存有余量,此时,可在领取处理流程的同时或者之后将扣库存请求加入消息队列(例如kalfka,RocketMQ等)中,然后向用户反馈领取成功消息。
其中,该领取成功消息中可以包含业务实体的金额、使用时间、使用规则、使用范围等信息,具体根据业务实体的使用场景决定。
领取处理流程包括:记录抽取到的业务实体编码与所述用户的对应关系。
综上,本发明实施例提供的可领取业务实体处理方法,可根据库存提前生成业务实体编号,不必等到请求到来才实时生成编号,请求到来后直接在预存有业务实体编码的库存队列中抽取现成的业务实体编号,在高并发情况下不会由于生成编号导致数据库的压力变大,进而提高效率,每次领取后将扣库存请求加入消息队列中,实现库存栏位异步修改,由于当队列中编码已经全部被领取后,抽取不到实体编码,领取失败,不存在超发问题,由此不需要实时更新硬盘数据库中的库存栏位,在保证库存栏位正确的基础上,防止在高并发情况下扣库存形成排队影响效率,提高读写速度。
再者,装有业务实体编号的队列为多个,领取时根据一定的规则(比如请求的编号、请求中用户的位置(或称地域来源)以及客户号的分段等)决定在哪个队列获取实体编号,从而将单热点分化为多热点,减少高并发下多个请求相互等待的可能性。
在一个可选的实施例中,参见图2,该可领取业务实体处理方法还可以包括以下内容:
步骤S400:若未抽取到业务实体编码,则向用户反馈领取失败消息。
值得说明的是,若未抽取到业务实体编码,则说明该队列中的业务实体已经发行完,此时,可向用户反馈领取失败消息。
在另一个可选的实施例中,该可领取业务实体处理方法还可以包括以下内容:
若未抽取到业务实体编码,则根据预设规则向其他库存队里中抽取业务实体编码,若抽取到业务实体编码,则执行步骤S300,否则,向用户反馈领取失败消息,或者,继续转向其他库存队列抽取业务实体,直至所有库存队列中均抽取不到业务实体,则说明所有库存均已发放完毕,向用户反馈领取失败消息。
在一个可选的实施例中,在接收领取请求之前,该可领取业务实体处理方法还可以包括以下内容:
定时轮询各业务实体发行任务是否即将开始进入领取时间;
若是,生成数量与业务实体发行数量相等的业务实体编码,并将生成的业务实体编码存入多个库存队列中。
具体地,硬盘数据库中存储有业务实体表,业务实体表中记录有多个业务实体发行任务,每个业务实体发行任务均包括:领取时间、发行数量、领取规则以及领取时间范围等信息。
其中,通过定时任务提前从业务实体表中筛选出即将可开始领取的业务实体,具体根据一业务实体发行任务的发行时间与当前时间的差值判断所述业务实体发行任务是否即将开始进入领取时间;若是,根据业务实体发行数量生成相应数量的实体编号,根据分组策略,插入到内存数据库的相应队列中,形成若干库存队列。即在业务实体开始领取之前,已经生成了业务实体编号,不必等到请求到来才实时生成编号,请求到来后直接在预存有业务实体编码的库存队列中抽取现成的业务实体编号,在高并发情况下不会由于生成编号导致数据库的压力变大,进而提高效率。
值得说明的是,在针对某一业务实体发行任务,若已经生成数量与业务实体发行数量相等的业务实体编码,则在业务实体表中删除该业务实体发行任务,或者将该业务实体发行任务标志为已处理,由此防止重复发行,并且能够提高轮训效率,其中,在定时轮询各业务实体发行任务是否即将开始进入领取时间时,可先查看处理标志位是否标记为已处理,如是,则跳过该任务,若否,则再进一步判断该业务实体发行任务是否即将开始进入领取时间。或者,在判断一业务实体发行任务是否即将开始进入领取时间之前,先判断此业务实体是否已在内存数据库中,若是,则跳过该任务,若否,则再判断该业务实体发行任务是否即将开始进入领取时间。
再一方面,由于生成的业务实体编码需要存在内存数据库的队列中,由此会占用内存资源,因此不宜过早生成编码,可根据业务实体发行数量以及系统处理速度设置适宜的时间。
在一个可选的实施例中,参见图3,该可领取业务实体处理方法,还包括;
步骤S500:获取消息队列中的扣库存请求,所述扣库存请求包括对应的业务实体标识。
步骤S600:根据所述扣库存请求扣减对应的业务实体库存栏位。
具体地,可设置一长挂程序从消息队里中获取请求,异步扣减硬盘数据库中对应业务实体的库存,完成库存更新。
值得说明的是,为了保证持久化应用需求,虽然内存数据库中的队列中剩余编码总数量即为库存,但是仍然需要在硬盘数据库中实现库存记录。
通过采用上述异步扣减库存方式,能够减少数据库压力,保证最终一致性。
在一个可选的实施例中,该可领取业务实体处理方法还可以包括:
定时判断库存队列所对应的业务实体是否超过领取时效;
若是,删除所述库存队列。
具体地,通过设置定时任务,该定时任务包括两个任务,一是新建即将开始进入领取时间的业务实体的库存队列,参见上述;二是清理现有的已不再领取时间范围内的业务实体的库存队列。
其中,检查内存数据库中现有的库存队列,判断库存队列对应的业务实体是否仍然可以领取,例如判断当前时间是否在该业务实体可领取时间范围内,若超出了该范围,则该实体不可领取,此时删除该队列,若该实体可领取,则保留该队列。
在一个可选的实施例中,参见图4,该步骤S200可以包括以下内容:
步骤S210:根据所述领取请求中的用户信息对所述用户进行分组;
其中,该用户信息包括:位置信息、标识信息、年龄、消费习惯、用户等级等多种信息中的一种或几种,根据用户信息将用户分类。
步骤S220:根据分组结果抽取与所述分组结果对应的库存队列中预存储的业务实体编码。
根据用户的分组结果找到对应的消息队列,然后去对应的消息队列中抽取业务实体编码,由此提高了业务实体发放的灵活度以及定制化和多样化需求。
图5为本发明实施例的应用架构示意图。如图5所示,本发明实施例提供的可领取业务实体处理方法应用与该应用架构,该应用架构包括:内存数据库、应用服务器、消息队列、定时任务服务器、消息处理服务器。
具体地,定时任务服务器在每日固定时间(例如零点)读取硬盘数据库中的业务实体表,筛选本日可以领取的业务实体库存,根据数量生成相应的业务实体编码,将编码形成一个或者多个队列插入到内存数据库中。
应用服务器:当有领取某种业务实体的请求到达应用服务器时,从内存服务器中此种业务实体的库存队列中提取实体编码,若为此种业务实体的库存队列为多个队列,则通过某种算法(例如根据请求来源的省份)决定从哪个队列提取实体编码,若提取到编码则说明此请求领取成功,并进行其他领取相关操作(例如写日志表,写业务实体与客户编码对应表等),将请求放入消息队列中,以待异步更新硬盘数据库。若没有提取到编码,说明库存已空,此请求领取失败,无需再进行其他操作,返回领取失败即可。
消息队列用于存储扣库存请求,以待长挂服务器提取请求异步更新硬盘数据库。
长挂服务器用于从消息队列中提取扣库存请求,根据相应的业务实体种类,更新此种业务实体的库存。
硬盘数据库:持久化存储业务实体的相关信息。
基于同一发明构思,本申请实施例还提供了一种可领取业务实体处理装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于可领取业务实体处理装置解决问题的原理与上述方法相似,因此可领取业务实体处理装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是本发明实施例中的可领取业务实体处理装置的结构框图。如图6所示,该可领取业务实体处理装置可以包括:领取请求获取模块10、业务实体编码抽取模块20以及领取成功模块30。
领取请求获取模块10获取用户发送的领取请求;
业务实体编码抽取模块20根据所述领取请求抽取对应的库存队列中预存储的业务实体编码,多个库存队列中预存储的业务实体编码数量之和等于业务实体预定发行数量;
领取成功模块30若抽取到了业务实体编码,则进行领取处理流程,并将扣库存请求加入消息队列中,然后向用户反馈领取成功消息。
本发明实施例提供的可领取业务实体处理装置,可根据库存提前生成业务实体编号,不必等到请求到来才实时生成编号,请求到来后直接在预存有业务实体编码的库存队列中抽取现成的业务实体编号,在高并发情况下不会由于生成编号导致数据库的压力变大,进而提高效率,每次领取后将扣库存请求加入消息队列中,实现库存栏位异步修改,由于当队列中编码已经全部被领取后,抽取不到实体编码,领取失败,不存在超发问题,由此不需要实时更新硬盘数据库中的库存栏位,在保证库存栏位正确的基础上,防止在高并发情况下扣库存形成排队影响效率,提高读写速度。
再者,装有业务实体编号的队列为多个,领取时根据一定的规则(比如请求的编号、请求中用户的位置(或称地域来源)以及客户号的分段等)决定在哪个队列获取实体编号,从而将单热点分化为多热点,减少高并发下多个请求相互等待的可能性。
在一个可选的实施例中,可领取业务实体处理装置还可以包括:领取失败模块,若未抽取到业务实体编码,则向用户反馈领取失败消息。
在一个可选的实施例中,可领取业务实体处理装置还包括:任务开始判断模块以及编码生成模块,
任务开始判断模块定时轮询各业务实体发行任务是否即将开始进入领取时间;
编码生成模块若业务实体发行任务即将开始进入领取时间,生成数量与业务实体发行数量相等的业务实体编码,并将生成的业务实体编码存入多个库存队列中。
在一个可选的实施例中,该可领取业务实体处理装置还包括;扣库存请求获取模块以及扣库存模块。
扣库存请求获取模块获取消息队列中的扣库存请求,所述扣库存请求包括对应的业务实体标识;
扣库存模块根据所述扣库存请求扣减对应的业务实体库存栏位。
在一个可选的实施例中,该可领取业务实体处理装置还可以包括:领取时效判断模块以及库存队列清理模块。
领取时效判断模块定时判断库存队列所对应的业务实体是否超过领取时效;
库存队列清理模块若库存队列所对应的业务实体超过领取时效,删除所述库存队列。
在一个可选的实施例中,所述用户信息包括:位置信息、标识信息。
在一个可选的实施例中,所述领取处理流程包括:记录抽取到的业务实体编码与所述用户的对应关系。
在一个可选的实施例中,所述业务实体编码抽取模块包括:用户分组单元以及编码抽取单元。
用户分组单元,根据所述领取请求中的用户信息对所述用户进行分组;
编码抽取单元,根据分组结果抽取与所述分组结果对应的库存队列中预存储的业务实体编码。
上述实施例阐明的装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为电子设备,具体的,电子设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
在一个典型的实例中电子设备具体包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现下述步骤:
获取用户发送的领取请求;
根据所述领取请求抽取对应的库存队列中预存储的业务实体编码,多个库存队列中预存储的业务实体编码数量之和等于业务实体预定发行数量;
若抽取到了业务实体编码,则进行领取处理流程,并将扣库存请求加入消息队列中,然后向用户反馈领取成功消息。
从上述描述可知,本发明实施例提供的电子设备,可用于可领取业务实体处理,直接在预存有业务实体编码的库存队列中抽取现成的业务实体编号,在高并发情况下不会由于生成编号导致数据库的压力变大,进而提高效率,每次领取后将扣库存请求加入消息队列中,实现库存栏位异步修改,避免在高并发情况下形成排队,进一步提高效率,另外,由于库存队列中存储的业务实体编号数量即为剩余数量,不会产生超发问题。
下面参考图7,其示出了适于用来实现本申请实施例的电子设备600的结构示意图。
如图7所示,电子设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM))603中的程序而执行各种适当的工作和处理。在RAM603中,还存储有系统600操作所需的各种程序和数据。CPU601、ROM602、以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现下述步骤:
获取用户发送的领取请求;
根据所述领取请求抽取对应的库存队列中预存储的业务实体编码,多个库存队列中预存储的业务实体编码数量之和等于业务实体预定发行数量;
若抽取到了业务实体编码,则进行领取处理流程,并将扣库存请求加入消息队列中,然后向用户反馈领取成功消息。
从上述描述可知,本发明实施例提供的计算机可读存储介质,可用于可领取业务实体处理,直接在预存有业务实体编码的库存队列中抽取现成的业务实体编号,在高并发情况下不会由于生成编号导致数据库的压力变大,进而提高效率,每次领取后将扣库存请求加入消息队列中,实现库存栏位异步修改,避免在高并发情况下形成排队,进一步提高效率,另外,由于库存队列中存储的业务实体编号数量即为剩余数量,不会产生超发问题。
在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (16)

1.一种可领取业务实体处理方法,其特征在于,包括:
获取用户发送的领取请求;
根据所述领取请求抽取对应的库存队列中预存储的业务实体编码,多个库存队列中预存储的业务实体编码数量之和等于业务实体预定发行数量;
若抽取到了业务实体编码,则进行领取处理流程,并将扣库存请求加入消息队列中,然后向用户反馈领取成功消息;
所述的可领取业务实体处理方法还包括:
若未抽取到业务实体编码,则向其他库存队里中抽取业务实体编码,若抽取到业务实体编码,则进行领取处理流程,并将扣库存请求加入消息队列中,然后向用户反馈领取成功消息;若未抽取到业务实体编码,则向用户反馈领取失败消息,或者,继续转向其他库存队列抽取业务实体,直至所有库存队列中均抽取不到业务实体,则确定所有库存均已发放完毕,向用户反馈领取失败消息。
2.根据权利要求1所述的可领取业务实体处理方法,其特征在于,还包括:
若未抽取到业务实体编码,则向用户反馈领取失败消息。
3.根据权利要求1所述的可领取业务实体处理方法,其特征在于,还包括:
定时轮询各业务实体发行任务是否即将开始进入领取时间;
若是,生成数量与业务实体发行数量相等的业务实体编码,并将生成的业务实体编码存入多个库存队列中。
4.根据权利要求1所述的可领取业务实体处理方法,其特征在于,还包括;
获取消息队列中的扣库存请求,所述扣库存请求包括对应的业务实体标识;
根据所述扣库存请求扣减对应的业务实体库存栏位。
5.根据权利要求1所述的可领取业务实体处理方法,其特征在于,还包括:
定时判断库存队列所对应的业务实体是否超过领取时效;
若是,删除所述库存队列。
6.根据权利要求1至5任一项所述的可领取业务实体处理方法,其特征在于,所述领取处理流程包括:记录抽取到的业务实体编码与所述用户的对应关系。
7.根据权利要求1至5任一项所述的可领取业务实体处理方法,其特征在于,所述根据所述领取请求抽取对应的库存队列中预存储的业务实体编码,包括:
根据所述领取请求中的用户信息对所述用户进行分组;
根据分组结果抽取与所述分组结果对应的库存队列中预存储的业务实体编码。
8.一种可领取业务实体处理装置,其特征在于,包括:
领取请求获取模块,获取用户发送的领取请求;
业务实体编码抽取模块,根据所述领取请求抽取对应的库存队列中预存储的业务实体编码,多个库存队列中预存储的业务实体编码数量之和等于业务实体预定发行数量;
领取成功模块,若抽取到了业务实体编码,则进行领取处理流程,并将扣库存请求加入消息队列中,然后向用户反馈领取成功消息;
所述的可领取业务实体处理装置还用于:
若未抽取到业务实体编码,则向其他库存队里中抽取业务实体编码,若抽取到业务实体编码,则进行领取处理流程,并将扣库存请求加入消息队列中,然后向用户反馈领取成功消息;若未抽取到业务实体编码,则向用户反馈领取失败消息,或者,继续转向其他库存队列抽取业务实体,直至所有库存队列中均抽取不到业务实体,则确定所有库存均已发放完毕,向用户反馈领取失败消息。
9.根据权利要求8所述的可领取业务实体处理装置,其特征在于,还包括:
领取失败模块,若未抽取到业务实体编码,则向用户反馈领取失败消息。
10.根据权利要求8所述的可领取业务实体处理装置,其特征在于,还包括:
任务开始判断模块,定时轮询各业务实体发行任务是否即将开始进入领取时间;
编码生成模块,若业务实体发行任务即将开始进入领取时间,生成数量与业务实体发行数量相等的业务实体编码,并将生成的业务实体编码存入多个库存队列中。
11.根据权利要求8所述的可领取业务实体处理装置,其特征在于,还包括;
扣库存请求获取模块,获取消息队列中的扣库存请求,所述扣库存请求包括对应的业务实体标识;
扣库存模块,根据所述扣库存请求扣减对应的业务实体库存栏位。
12.根据权利要求8所述的可领取业务实体处理装置,其特征在于,还包括:
领取时效判断模块,定时判断库存队列所对应的业务实体是否超过领取时效;
库存队列清理模块,若库存队列所对应的业务实体超过领取时效,删除所述库存队列。
13.根据权利要求8至12任一项所述的可领取业务实体处理装置,其特征在于,所述领取处理流程包括:记录抽取到的业务实体编码与所述用户的对应关系。
14.根据权利要求8至12任一项所述的可领取业务实体处理装置,其特征在于,所述业务实体编码抽取模块包括:
用户分组单元,根据所述领取请求中的用户信息对所述用户进行分组;
编码抽取单元,根据分组结果抽取与所述分组结果对应的库存队列中预存储的业务实体编码。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的可领取业务实体处理方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的可领取业务实体处理方法的步骤。
CN201911255905.2A 2019-12-10 2019-12-10 可领取业务实体处理方法和装置 Active CN111028009B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911255905.2A CN111028009B (zh) 2019-12-10 2019-12-10 可领取业务实体处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911255905.2A CN111028009B (zh) 2019-12-10 2019-12-10 可领取业务实体处理方法和装置

Publications (2)

Publication Number Publication Date
CN111028009A CN111028009A (zh) 2020-04-17
CN111028009B true CN111028009B (zh) 2024-02-27

Family

ID=70208907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911255905.2A Active CN111028009B (zh) 2019-12-10 2019-12-10 可领取业务实体处理方法和装置

Country Status (1)

Country Link
CN (1) CN111028009B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111597256A (zh) * 2020-05-06 2020-08-28 中建材信息技术股份有限公司 一种交易异步处理方法
CN112215637A (zh) * 2020-09-21 2021-01-12 建信金融科技有限责任公司 虚拟资产的处理方法、装置、电子设备和存储介质
CN112561567A (zh) * 2020-12-03 2021-03-26 星宏传媒有限公司 一种电子红包领取请求的异步处理方法、系统及设备
CN113723892A (zh) * 2021-09-13 2021-11-30 北京沃东天骏信息技术有限公司 数据处理方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107302488A (zh) * 2016-04-14 2017-10-27 阿里巴巴集团控股有限公司 虚拟物品的分配方法、系统及服务器
CN110363579A (zh) * 2019-06-28 2019-10-22 北京奇才天下科技有限公司 一种基于优惠券的用户营销方法、装置和电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107302488A (zh) * 2016-04-14 2017-10-27 阿里巴巴集团控股有限公司 虚拟物品的分配方法、系统及服务器
CN110363579A (zh) * 2019-06-28 2019-10-22 北京奇才天下科技有限公司 一种基于优惠券的用户营销方法、装置和电子设备

Also Published As

Publication number Publication date
CN111028009A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
CN111028009B (zh) 可领取业务实体处理方法和装置
CN106911780B (zh) 业务id生成方法、装置及系统
US10572285B2 (en) Method and apparatus for elastically scaling virtual machine cluster
CN110728455B (zh) 业务处理方法、业务处理装置、存储介质与电子设备
CN107451853B (zh) 一种红包实时派发的方法、装置、系统及存储介质
CN110866709A (zh) 合并订单的方法和装置
CN107871221B (zh) 用于获取可销售库存数量的方法和装置
WO2019047516A1 (zh) 信息输出方法和装置
CN110599277A (zh) 一种库存扣减方法和装置
CN110264332A (zh) 账户出账的方法、装置和电子设备
CN101452556A (zh) 一种客户信息处理系统及方法
CN111930786A (zh) 资源获取请求处理系统、方法及装置
CN109359117B (zh) 一种卡片数据的更新方法和装置
CN111400056B (zh) 基于消息队列的消息传输方法、装置及设备
CN111552575B (zh) 基于消息队列的消息消费方法、装置及设备
CN109450977A (zh) 缓存数据的推送、更新方法及装置
CN113326095A (zh) 一种佣金数据处理方法和装置
US20070282790A1 (en) Online Propagation of Data Updates
CN112884181A (zh) 额度信息处理方法和装置
CN111539730A (zh) 基于区块链的数据处理方法、装置和电子设备
CN113194109A (zh) 用于推送信息的方法和装置
CN112948501B (zh) 数据解析方法、装置及系统
CN115357622A (zh) 基于热点数据的业务处理方法及服务器
CN110555744A (zh) 一种业务数据的处理方法和系统
CN108197164A (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
GR01 Patent grant
GR01 Patent grant