CN117057853A - 电子券发放控制方法、装置、设备及存储介质 - Google Patents
电子券发放控制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117057853A CN117057853A CN202311015759.2A CN202311015759A CN117057853A CN 117057853 A CN117057853 A CN 117057853A CN 202311015759 A CN202311015759 A CN 202311015759A CN 117057853 A CN117057853 A CN 117057853A
- Authority
- CN
- China
- Prior art keywords
- ticket
- queue
- issuing
- sub
- electronic
- 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 50
- 238000001514 detection method Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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
- G06Q30/0239—Online discounts or incentives
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于数据处理技术领域,公开了一种电子券发放控制方法、装置、设备及存储介质。本发明通过在检测到成功发放电子券时,获取目标发放队列;若所述目标发放队列中还存在未发放的电子券,则将未发放电子券的子劵发放队列作为待更新子劵队列;从各待更新子劵队列中分别提取一电子券存储至子劵缓冲队列中,并基于处理后的所述多个子劵发放队列继续进行电子券发放。由于是在检测到成功发放电子券时,还会从未发放电子券的子劵发放队列中提取电子券至子劵缓冲队列,以保持各子劵发放队列的长度一致,保证正常使用多个子劵发放队列同时进行电子券发放,保证可以同时应对多个用户请求,提高了电子券发放的效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种电子券发放控制方法、装置、设备及存储介质。
背景技术
随着互联网技术的发展,出现了各种各样的电子券,提供各种折扣或优惠,供用户在选择商品时进行使用,一般电子券发放是通过活动进行发放,而如今在通过活动发放电子券时,是将所有待发放的电子券进行排序,基于排序依次发放电子券,但是,在高并发场景下,所有用户在进行活动时,都会请求竞争排在最前面的电子券,容易造成多个用户请求同一张电子券,从而出现请求冲突,且整体排队时间长,导致电子券发放效率较低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种电子券发放控制方法、装置、设备及存储介质,旨在解决现有技术电子券发放效率低的技术问题。
为实现上述目的,本发明提供了一种电子券发放控制方法,所述方法包括以下步骤:
在检测到成功发放电子券时,获取目标发放队列,所述目标发放队列为多个子劵发放队列中发放电子券的子劵发放队列;
若所述目标发放队列中还存在未发放的电子券,则将未发放电子券的子劵发放队列作为待更新子劵队列;
从各待更新子劵队列中分别提取一电子券存储至子劵缓冲队列中,并基于处理后的所述多个子劵发放队列继续进行电子券发放。
可选的,所述在检测到成功发放电子券时,获取目标发放队列的步骤之前,还包括:
基于预设数量阈值从电子劵队列中提取待处理子劵,所述电子券队列用于存储待发放的电子券;
生成子劵缓冲队列,并将所述待处理子劵分发至多个子劵发放队列中。
可选的,所述基于预设数量阈值从电子劵队列中提取待处理子劵的步骤,包括:
检测所述电子劵队列中的子劵数量;
若所述子劵数量大于所述预设数量阈值,则从所述电子券队列中提取数量与所述预设数量阈值一致的电子券,获得待处理子劵;
若所述子劵数量小于或等于所述预设数量阈值,则将所述电子券队列中所有的电子券作为待处理子劵。
可选的,所述将所述待处理子劵分发至多个子劵发放队列中的步骤,包括:
获取所述待处理子劵对应的编号,并获取各子劵发放队列对应的子劵编号区间,所述子劵编号区间基于子劵发放队列的数量及所述待处理子劵的数量动态生成;
依据所述编号及所述子劵编号区间将所述待处理子劵分发至多个子劵发放队列中。
可选的,所述在检测到成功发放电子券时,获取目标发放队列的步骤之后,还包括:
若所述目标发放队列中不存在未发放的电子券,则将所述子劵缓冲队列的窗口时间锁移除;
在移除成功后,将所述电子券队列与所述子劵缓冲队列合并,获得合并队列;
将所述合并队列作为新的电子券队列,并返回所述从电子劵队列中提取预设数量的待处理子劵的步骤。
可选的,所述从各待更新子劵队列中分别提取一电子券存储至子劵缓冲队列中的步骤,包括:
从各待更新子劵队列中分别提取一电子券,获得多个待缓存电子券;
检测所述子劵缓冲队列是否为空队列;
从队列尾部将所述待缓存电子券添加至所述子劵缓冲队列中;
若为空队列,则为所述子劵缓冲队列设置窗口时间锁。
可选的,所述从各待更新子劵队列中分别提取一电子券,获得多个待缓存电子券的步骤,包括:
从各待更新子劵队列的队列尾部分别提取一电子券,获得多个待缓存电子券。
此外,为实现上述目的,本发明还提出一种电子券发放控制装置,所述电子券发放控制装置包括以下模块:
检测模块,用于在检测到成功发放电子券时,获取目标发放队列,所述目标发放队列为多个子劵发放队列中发放电子券的子劵发放队列;
获取模块,用于若所述目标发放队列中还存在未发放的电子券,则将未发放电子券的子劵发放队列作为待更新子劵队列;
发放模块,用于从各待更新子劵队列中分别提取一电子券存储至子劵缓冲队列中,并基于处理后的所述多个子劵发放队列继续进行电子券发放。
此外,为实现上述目的,本发明还提出一种电子券发放控制设备,所述电子券发放控制设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的电子券发放控制程序,所述电子券发放控制程序被处理器执行时实现如上所述的电子券发放控制方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有电子券发放控制程序,所述电子券发放控制程序执行时实现如上所述的电子券发放控制方法的步骤。
本发明通过在检测到成功发放电子券时,获取目标发放队列;若所述目标发放队列中还存在未发放的电子券,则将未发放电子券的子劵发放队列作为待更新子劵队列;从各待更新子劵队列中分别提取一电子券存储至子劵缓冲队列中,并基于处理后的所述多个子劵发放队列继续进行电子券发放。由于是在检测到成功发放电子券时,还会从未发放电子券的子劵发放队列中提取电子券至子劵缓冲队列,以保持各子劵发放队列的长度一致,保证正常使用多个子劵发放队列同时进行电子券发放,保证可以同时应对多个用户请求,提高了电子券发放的效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
图2为本发明电子券发放控制方法第一实施例的流程示意图;
图3为本发明电子券发放控制方法第二实施例的流程示意图;
图4为本发明电子券发放控制方法第三实施例的流程示意图;
图5为本发明电子券发放控制装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的电子券发放控制设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及电子券发放控制程序。
在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在电子券发放控制设备中,所述电子设备通过处理器1001调用存储器1005中存储的电子券发放控制程序,并执行本发明实施例提供的电子券发放控制方法。
本发明实施例提供了一种电子券发放控制方法,参照图2,图2为本发明一种电子券发放控制方法第一实施例的流程示意图。
本实施例中,所述电子券发放控制方法包括以下步骤:
步骤S10:在检测到成功发放电子券时,获取目标发放队列;
需要说明的是,本实施例的执行主体可以是所述电子券发放控制设备,所述电子券发放控制设备可以是个人电脑、服务器等电子设备,还可以是其他可实现相同或相似功能的设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以电子券发放控制设备为例对本发明电子券发放控制方法进行说明。
需要说明的是,本实施例在进行电子券发放时,会先从所有待发放的电子券中选取一部分作为当前的待处理电子券,将待处理电子券分发至预设的多个子劵发放队列中,目标发放队列可以为预设的多个子劵发放队列中当前成功发放电子券的子劵发放队列。其中,子劵发放队列的数量可以由电子券发放控制设备的管理人员根据实际需要预先进行设置,例如:将子劵发放队列的数量设置为5。
在实际使用中,电子券发放控制设备可以对各子劵发放队列进行监测,在子劵发放队列中有电子券被发放,即从子劵发放队列中移除时,可以将该子劵发放队列作为目标发放队列。
步骤S20:若所述目标发放队列中还存在未发放的电子券,则将未发放电子券的子劵发放队列作为待更新子劵队列。
需要说明的是,若目标发放队列中还存在未发放的电子券,则表示此时并未出现已经发放完毕的子劵发放队列,此时为了保证各子劵发放队列的长度一致,需要对多个子劵发放队列中未发放电子券的子劵发放队列进行更新,因此,可以将未发放电子券的子劵发放队列作为待更新子劵队列。
其中,在目标发放队列中还存在未发放的电子券时,还可以对目标发放队列中的队列元素进行位置调整,例如:假设为第i个子劵发放队列为目标发放队列,此前其中存储的电子券为编号为11、12、13、...、20的电子券,此时编号为11的电子券已经被发放,则可以将目标发放队列的后续电子券依次前移,即此时编号为12的电子券前移为该电子券队列的首位,编号为13的电子券移位为该电子券队列的第二位,后续电子券依次前移。
步骤S30:从各待更新子劵队列中分别提取一电子券存储至子劵缓冲队列中,并基于处理后的所述多个子劵发放队列继续进行电子券发放。
可以理解的是,目标发放队列已经成功发放一张电子券,此时为了保证各子劵发放队列的长度一致,可以从各待更新子劵队列中分别提取一张电子券存储至子劵缓冲队列中,而在进行过提取缓存处理后,各子劵发放队列的长度依旧会保持一致,此时可以基于处理后的多个子劵发放队列继续进行电子券发放。
例如:假设共存在5个子劵发放队列,第2个子劵发放队列成功发放一张电子券,经过队列元素位置调整,则此时其相对其他子劵发放队列会少一张电子券,为了保证5个子劵发放队列的长度一致,可以将其余的子劵发放队列(第1个、第3个、第4个、第5个子劵发放队列)作为待更新子劵队列,并从各待更新子劵队列中分别提取一张电子券存储至子劵缓冲队列中,即可保证所有子劵发放队列的长度一致。
进一步的,为了保证子劵缓冲队列不被加入队列调度中,本实施例所述从各待更新子劵队列中分别提取一电子券存储至子劵缓冲队列中的步骤,可以包括:
从各待更新子劵队列中分别提取一电子券,获得多个待缓存电子券;
检测所述子劵缓冲队列是否为空队列;
从队列尾部将所述待缓存电子券添加至所述子劵缓冲队列中;
若为空队列,则为所述子劵缓冲队列设置窗口时间锁。
需要说明的是,子劵缓冲队列仅作为平衡各子劵发放队列长度一致的中间队列,应当避免被加入队列调度中,以避免对电子券发放产生混乱,因此,在首次向子劵缓冲队列中添加电子券(即子劵缓冲队列为空队列,此时向其中添加电子券)时,可以为其设置窗口时间锁,通过窗口时间锁限定仅可向子劵缓冲队列中添加电子券,而不允许提取电子券,从而避免子劵缓冲队列被加入队列调度中,因此,在从各待更新子劵队列中分别提取一电子券,获得多个待缓存电子券之后,可以先检测子劵缓冲队列是否为空队列,若是,则在将待缓存电子券添加至子劵缓冲队列中之后,为其设置窗口时间锁。
可以理解的是,若子劵缓冲队列不为空队列,则表示此前已经为其设置了窗口时间锁,此时可以无须再次添加,而仅将待缓存电子券添加至子劵缓冲队列中。
在具体实现中,由于目标发放队列在进行过元素位置调整之后,其相对其他子劵发放队列,在队列尾部会有一位空余,此时为了保证各子劵发放队列,且减少对队列的调整,可以从待更新子劵队列的队列尾部提取待缓存电子券,则此时本实施例所述从各待更新子劵队列中分别提取一电子券,获得多个待缓存电子券的步骤,可以包括:
从各待更新子劵队列的队列尾部分别提取一电子券,获得多个待缓存电子券。
可以理解的是,由于待更新子劵队列也是直接用于发放电子劵的队列,其队列头部的电子券可能正在被用户请求,因此,在从待更新子劵队列中提取电子券时,不可从队列头部提取,而若是从队列中间提取电子券,则需要对待更新子劵队列中被提取的电子券之后的电子券进行位置调整,需要消耗额外的性能,因此,在提取电子券时,可以从各待更新子劵队列的队列尾部分别提取一电子券,并将提取到的电子券作为待缓存电子券,从而获得多个待缓存电子券。
在实际使用中,由于后续子劵缓冲队列会与存储有待发放电子券的电子劵队列进行合并,为了保证合并后的电子卷序列不变,可以依据待缓存电子券对应的编号,从队列尾部向前顺序将待缓存电子券添加至子劵缓冲队列中。
例如:假设共存在5个子劵发放队列,其中包含的电子券编号分别为1-10、11-20、21-30、31-40、41-50,第2个子劵发放队列成功发放一张电子券(编号为11的电子券被发放),则此时第1个、第3个、第4个、第5个子劵发放队列为待更新子劵队列,则此时提取到的待缓存电子券为编号为10、30、40、50的电子券,此时可以依次从队列尾部向前添加至子劵缓冲队列中电子券的顺序可以以编号表示为:10-30-40-50。
本实施例通过在检测到成功发放电子券时,获取目标发放队列;若所述目标发放队列中还存在未发放的电子券,则将未发放电子券的子劵发放队列作为待更新子劵队列;从各待更新子劵队列中分别提取一电子券存储至子劵缓冲队列中,并基于处理后的所述多个子劵发放队列继续进行电子券发放。由于是在检测到成功发放电子券时,还会从未发放电子券的子劵发放队列中提取电子券至子劵缓冲队列,以保持各子劵发放队列的长度一致,保证正常使用多个子劵发放队列同时进行电子券发放,保证可以同时应对多个用户请求,提高了电子券发放的效率。
参考图3,图3为本发明一种电子券发放控制方法第二实施例的流程示意图。
基于上述第一实施例,本实施例电子券发放控制方法在所述步骤S10之前,还包括:
步骤S01:基于预设数量阈值从电子劵队列中提取待处理子劵。
需要说明的是,电子券队列可以是用于存储所有待发放的电子券的队列。基于预设数量阈值从电子劵队列中提取待处理子劵可以是基于队列顺序从头部至尾部选取数量与预设数量阈值一致的电子券作为待处理子劵。其中,预设数量阈值可以由电子券发放控制设备的管理人员预先进行设置,例如:将预设数量阈值n设置为50。
进一步的,为了保证可正常提取待处理电子券,本实施例所述步骤S01,可以包括:
检测所述电子劵队列中的子劵数量;
若所述子劵数量大于所述预设数量阈值,则从所述电子券队列中提取数量与所述预设数量阈值一致的电子券,获得待处理子劵;
若所述子劵数量小于或等于所述预设数量阈值,则将所述电子券队列中所有的电子券作为待处理子劵。
需要说明的是,一般开始发放电子券的时候,电子券的数量较为充足,此时待发放电子券的总数一般是大于预设数量阈值的,但是,随着电子券的逐渐发放,其数量可能会小于或等于预设数量阈值,因此,具体获取待处理子劵的方式需要根据待发放电子券的数量进行调整。子劵数量可以是电子券队列中存储的待发放电子券的总量,检测电子劵队列中的子劵数量可以是获取电子券队列的队列长度,将队列长度作为子劵数量。
可以理解的是,若子劵数量大于预设数量阈值,则表示此时待发放电子券的数量大于预设数量阈值,此时可以从电子券队列从提取数量与预设数量阈值一致的电子券作为待处理子劵;
而若是子劵数量小于或等于预设数量阈值,则表示此时待发放电子券的数量小于或等于预设数量阈值,此时可以直接将电子券队列中所有的电子劵提取出来作为待处理子劵。
步骤S02:生成子劵缓冲队列,并将所述待处理子劵分发至多个子劵发放队列中。
需要说明的是,子劵缓冲队列可以是空队列,生成子劵缓冲队列可以是创建一个空队列作为子劵缓冲队列。
而为了设备资源,避免频繁创建及销毁队列,还可以是将此前已使用的队列清空,再将其作为子劵缓冲队列,此时子劵缓冲队列也可以与多个子劵发放队列一同生成,例如:预先构建M个队列(M可由电子券发放控制设备的管理人员预先进行设置,如设置M=6),将第1个到M-1个队列作为存放并进行发放电子券的子劵发放队列,将第M个队列(第M个队列为空队列)作为子劵缓冲队列,此时若假设预设数量阈值为N,则此时第M个队列的长度小于N-M。
在实际使用中,将待处理子劵分发至多个子劵发放队列中可以是将待处理子劵平均分发至各个子劵发放队列中。
进一步的,为了保证待处理子劵的合理分发,本实施例所述步骤S02,可以包括:
获取所述待处理子劵对应的编号,并获取各子劵发放队列对应的子劵编号区间;
依据所述编号及所述子劵编号区间将所述待处理子劵分发至多个子劵发放队列中。
需要说明的是,待处理子劵对应的编号可以是在构建电子券队列时生成。子劵编号区间可以基于子劵发放队列的数量及所述待处理子劵的数量动态生成,例如:假设子劵发放队列的数量为5,待处理子劵的数量为50,其对应的编号为1-50,则此时各子劵发放队列的子劵编号区间分别为1-10、11-20、21-30、31-40、41-50;而若是此时待处理子劵的数量为40,其对应的编号为1-40,则此时各子劵发放队列的子劵编号区间分别为1-8、9-16、17-24、25-32、33-40。
其中,若待处理子劵的数量无法保证平均分发至多个子劵发放队列中,则可以将多出的待处理子劵直接添加至子劵缓冲队列中,例如:假设子劵发放队列的数量为5,待处理子劵的数量为52,其对应的编号为1-52,则此时可以将各子劵发放队列的子劵编号区间分别为1-10、11-20、21-30、31-40、41-50,并将多余的两张电子券(编号为51和52的电子券)直接添加至子劵缓冲队列中。
而为了避免子劵缓冲队列被加入队列调度中,在首次向子劵缓冲队列中添加电子券(即子劵缓冲队列为空队列,此时向其中添加电子券)时,可以为其设置窗口时间锁,通过窗口时间锁限定仅可向子劵缓冲队列中添加电子券,而不允许提取电子券,从而避免子劵缓冲队列被加入队列调度中。
在实际使用中,依据待处理子劵的编号及子劵编号区间将待处理子劵分发至多个子劵发放队列中可以是将待处理子劵的编号与各子劵编号区间进行匹配,将匹配成功的电子券分发至子劵编号区间对应的子劵发放队列中。
本实施例通过基于预设数量阈值从电子劵队列中提取待处理子劵;生成子劵缓冲队列,并将所述待处理子劵分发至多个子劵发放队列中。由于是基于预设数量阈值从电子劵队列中提取待处理子劵,并将待处理子劵分发至多个子劵发放队列中,保证了每次发放电子券之后,进行更新时仅需处理少量的电子券,而无须对所有的电子券进行状态更新。
参考图4,图4为本发明一种电子券发放控制方法第三实施例的流程示意图。
基于上述第二实施例,本实施例电子券发放控制方法在所述步骤S10之前,还包括:
步骤S20':若所述目标发放队列中不存在未发放的电子券,则将所述子劵缓冲队列的窗口时间锁移除。
需要说明的是,若目标发放队列中不存在未发放的电子券,则表示此时已经有一个子劵发放队列的电子券发放完毕,此时需要将子劵缓冲队列与电子券队列合并,之后重新选取待处理电子券,而为了可从子劵缓冲队列中提取电子劵,此时可以将子劵缓冲队列的窗口时间锁移除。
步骤S30':在移除成功后,将所述电子券队列与所述子劵缓冲队列合并,获得合并队列。
可以理解的是,在移除成功之后,即可从子劵缓冲队列中提取电子劵,此时可以将电子券队列与子劵缓冲队列合并,从而得到合并队列。
其中,将电子券队列与子劵缓冲队列合并可以是将电子券队列与子劵缓冲队列合并为一个队列,其中的电子券顺序维持不变。
步骤S40':将所述合并队列作为新的电子券队列,并返回所述从电子劵队列中提取预设数量的待处理子劵的步骤。
可以理解的是,在获得合并队列之后,即可获得当前还未分发至子劵分发队列的所有待发放电子券,因此,可以将合并队列作为新的电子劵队列,并返回上述步骤S01,以继续进行电子劵的发放。
其中,为了便于后续提取电子劵进行处理,还可以先从队列头部开始,以编号1为起始,向队列尾部对合并队列中的电子券依次进行编号(如1、2、3、4......),并在编号完毕之后,将进行过编号的合并队列作为新的电子券队列。
本实施例通过若所述目标发放队列中不存在未发放的电子券,则将所述子劵缓冲队列的窗口时间锁移除;在移除成功后,将所述电子券队列与所述子劵缓冲队列合并,获得合并队列;将所述合并队列作为新的电子券队列,并返回所述从电子劵队列中提取预设数量的待处理子劵的步骤。由于在目标发放队列中不存在未发放的电子券,会将电子券队列与子劵缓冲队列合并为新的电子券队列,并重新提取待处理子劵,保证在有子劵发放队列的电子券发放完毕之后,可以正常为各子劵发放队列分配新的电子券,以继续进行电子券发放。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有电子券发放控制程序,所述电子券发放控制程序被处理器执行时实现如上文所述的电子券发放控制方法的步骤。
参照图5,图5为本发明电子券发放控制装置第一实施例的结构框图。
如图5所示,本发明实施例提出的电子券发放控制装置包括:
检测模块10,用于在检测到成功发放电子券时,获取目标发放队列,所述目标发放队列为多个子劵发放队列中发放电子券的子劵发放队列;
获取模块20,用于若所述目标发放队列中还存在未发放的电子券,则将未发放电子券的子劵发放队列作为待更新子劵队列;
发放模块30,用于从各待更新子劵队列中分别提取一电子券存储至子劵缓冲队列中,并基于处理后的所述多个子劵发放队列继续进行电子券发放。
本实施例通过在检测到成功发放电子券时,获取目标发放队列;若所述目标发放队列中还存在未发放的电子券,则将未发放电子券的子劵发放队列作为待更新子劵队列;从各待更新子劵队列中分别提取一电子券存储至子劵缓冲队列中,并基于处理后的所述多个子劵发放队列继续进行电子券发放。由于是在检测到成功发放电子券时,还会从未发放电子券的子劵发放队列中提取电子券至子劵缓冲队列,以保持各子劵发放队列的长度一致,保证正常使用多个子劵发放队列同时进行电子券发放,保证可以同时应对多个用户请求,提高了电子券发放的效率。
进一步的,所述检测模块10,还用于基于预设数量阈值从电子劵队列中提取待处理子劵,所述电子券队列用于存储待发放的电子券;生成子劵缓冲队列,并将所述待处理子劵分发至多个子劵发放队列中。
进一步的,所述检测模块10,还用于检测所述电子劵队列中的子劵数量;若所述子劵数量大于所述预设数量阈值,则从所述电子券队列中提取数量与所述预设数量阈值一致的电子券,获得待处理子劵;若所述子劵数量小于或等于所述预设数量阈值,则将所述电子券队列中所有的电子券作为待处理子劵。
进一步的,所述检测模块10,还用于获取所述待处理子劵对应的编号,并获取各子劵发放队列对应的子劵编号区间,所述子劵编号区间基于子劵发放队列的数量及所述待处理子劵的数量动态生成;依据所述编号及所述子劵编号区间将所述待处理子劵分发至多个子劵发放队列中。
进一步的,所述检测模块10,还用于若所述目标发放队列中不存在未发放的电子券,则将所述子劵缓冲队列的窗口时间锁移除;在移除成功后,将所述电子券队列与所述子劵缓冲队列合并,获得合并队列;将所述合并队列作为新的电子券队列,并返回所述从电子劵队列中提取预设数量的待处理子劵的步骤。
进一步的,所述发放模块30,还用于从各待更新子劵队列中分别提取一电子券,获得多个待缓存电子券;检测所述子劵缓冲队列是否为空队列;从队列尾部将所述待缓存电子券添加至所述子劵缓冲队列中;若为空队列,则为所述子劵缓冲队列设置窗口时间锁。
进一步的,所述发放模块30,还用于从各待更新子劵队列的队列尾部分别提取一电子券,获得多个待缓存电子券。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的电子券发放控制方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种电子券发放控制方法,其特征在于,所述电子券发放控制方法包括以下步骤:
在检测到成功发放电子券时,获取目标发放队列,所述目标发放队列为多个子劵发放队列中发放电子券的子劵发放队列;
若所述目标发放队列中还存在未发放的电子券,则将未发放电子券的子劵发放队列作为待更新子劵队列;
从各待更新子劵队列中分别提取一电子券存储至子劵缓冲队列中,并基于处理后的所述多个子劵发放队列继续进行电子券发放。
2.如权利要求1所述的电子券发放控制方法,其特征在于,所述在检测到成功发放电子券时,获取目标发放队列的步骤之前,还包括:
基于预设数量阈值从电子劵队列中提取待处理子劵,所述电子券队列用于存储待发放的电子券;
生成子劵缓冲队列,并将所述待处理子劵分发至多个子劵发放队列中。
3.如权利要求2所述的电子券发放控制方法,其特征在于,所述基于预设数量阈值从电子劵队列中提取待处理子劵的步骤,包括:
检测所述电子劵队列中的子劵数量;
若所述子劵数量大于所述预设数量阈值,则从所述电子券队列中提取数量与所述预设数量阈值一致的电子券,获得待处理子劵;
若所述子劵数量小于或等于所述预设数量阈值,则将所述电子券队列中所有的电子券作为待处理子劵。
4.如权利要求2所述的电子券发放控制方法,其特征在于,所述将所述待处理子劵分发至多个子劵发放队列中的步骤,包括:
获取所述待处理子劵对应的编号,并获取各子劵发放队列对应的子劵编号区间,所述子劵编号区间基于子劵发放队列的数量及所述待处理子劵的数量动态生成;
依据所述编号及所述子劵编号区间将所述待处理子劵分发至多个子劵发放队列中。
5.如权利要求2所述的电子券发放控制方法,其特征在于,所述在检测到成功发放电子券时,获取目标发放队列的步骤之后,还包括:
若所述目标发放队列中不存在未发放的电子券,则将所述子劵缓冲队列的窗口时间锁移除;
在移除成功后,将所述电子券队列与所述子劵缓冲队列合并,获得合并队列;
将所述合并队列作为新的电子券队列,并返回所述从电子劵队列中提取预设数量的待处理子劵的步骤。
6.如权利要求1-5任一项所述的电子券发放控制方法,其特征在于,所述从各待更新子劵队列中分别提取一电子券存储至子劵缓冲队列中的步骤,包括:
从各待更新子劵队列中分别提取一电子券,获得多个待缓存电子券;
检测所述子劵缓冲队列是否为空队列;
从队列尾部将所述待缓存电子券添加至所述子劵缓冲队列中;
若为空队列,则为所述子劵缓冲队列设置窗口时间锁。
7.如权利要求6所述的电子券发放控制方法,其特征在于,所述从各待更新子劵队列中分别提取一电子券,获得多个待缓存电子券的步骤,包括:
从各待更新子劵队列的队列尾部分别提取一电子券,获得多个待缓存电子券。
8.一种电子券发放控制装置,其特征在于,所述电子券发放控制装置包括以下模块:
检测模块,用于在检测到成功发放电子券时,获取目标发放队列,所述目标发放队列为多个子劵发放队列中发放电子券的子劵发放队列;
获取模块,用于若所述目标发放队列中还存在未发放的电子券,则将未发放电子券的子劵发放队列作为待更新子劵队列;
发放模块,用于从各待更新子劵队列中分别提取一电子券存储至子劵缓冲队列中,并基于处理后的所述多个子劵发放队列继续进行电子券发放。
9.一种电子券发放控制设备,其特征在于,所述电子券发放控制设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的电子券发放控制程序,所述电子券发放控制程序被处理器执行时实现如权利要求1-7中任一项所述的电子券发放控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有电子券发放控制程序,所述电子券发放控制程序执行时实现如权利要求1-7中任一项所述的电子券发放控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311015759.2A CN117057853A (zh) | 2023-08-11 | 2023-08-11 | 电子券发放控制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311015759.2A CN117057853A (zh) | 2023-08-11 | 2023-08-11 | 电子券发放控制方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117057853A true CN117057853A (zh) | 2023-11-14 |
Family
ID=88662027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311015759.2A Pending CN117057853A (zh) | 2023-08-11 | 2023-08-11 | 电子券发放控制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117057853A (zh) |
-
2023
- 2023-08-11 CN CN202311015759.2A patent/CN117057853A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107872398A (zh) | 高并发数据处理方法、装置及计算机可读存储介质 | |
US8438282B2 (en) | Information processing system and load sharing method | |
JP5733680B2 (ja) | コマンド実行装置、コマンド実行システム、コマンド実行方法およびコマンド実行プログラム | |
US20200042513A1 (en) | Transaction control device, transaction control method | |
AU2010305653B2 (en) | Delivery with reconciliation on client side | |
CN110764936A (zh) | 一种数据采集方法及装置 | |
CN112150023A (zh) | 任务分配方法、装置及存储介质 | |
CN111176850A (zh) | 一种数据池的构建方法、装置、服务器及介质 | |
CN113923181B (zh) | 一种群消息处理方法、装置、系统及存储介质 | |
CN108833505B (zh) | 数据请求处理方法、服务器及存储介质 | |
CN117057853A (zh) | 电子券发放控制方法、装置、设备及存储介质 | |
CN113010535A (zh) | 缓存数据的更新方法、装置、设备和存储介质 | |
CN104063271A (zh) | 具有事务能力的排队 | |
CN110019372B (zh) | 数据监控方法、装置、服务器及存储介质 | |
CN108564406B (zh) | 一种激励推送的方法和装置 | |
CN112688980B (zh) | 资源分发方法、装置、计算机设备 | |
CN113704278A (zh) | 分布式序列号生成方法及装置 | |
US9882991B2 (en) | URL issuing device, URL issuing method, and URL issuing program | |
US20090307393A1 (en) | Inbound message rate limit based on maximum queue times | |
CN112860762A (zh) | 用于检测时间段重叠的方法和装置 | |
CN112418900A (zh) | 数据处理方法及计算机设备 | |
CN112260956A (zh) | 一种基于缓存的流量削峰方法及装置 | |
CN112383819A (zh) | 视频帧提取方法及相关设备 | |
CN112748855A (zh) | 处理高并发数据请求的方法和装置 | |
JP5295395B2 (ja) | データ処理装置 |
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 |