本申请涉及数据管理,尤其涉及一种活动预约管理方法、装置、终端设备以及存储介质。
背景技术:
1、在现实生活中,各种各样的活动不断地在我们身边发生,无论是日常的例会还是大型的活动。在企业内部,各个部门也组织着各种不同类型的活动,如体育活动、周末郊游活动等。目前,企业一般通过线下人工或信息发布系统进行活动管理。
2、但是,一方面,采用线下人工的方式,在活动举办过程中需要人工填写大量表格,使得活动预约管理的效率低;另一方面,现有的信息发布系统通常需要引入诸如redis和zookeeper等中间件,使得系统的复杂度和费用开销的提升。
技术实现思路
1、本申请的主要目的在于提供一种活动预约管理方法、装置、终端设备以及存储介质,旨在解决活动预约管理的效率低、成本高的技术问题。
2、为实现上述目的,本申请提供一种活动预约管理方法,所述活动预约管理方法包括:
3、所述活动预约管理方法包括以下步骤:
4、确定活动的席位数量、场次标识及预约模式;
5、根据所述预约模式及所述席位数量,采用预设分布式加锁机制对所述场次标识进行处理,得到预约结果。
6、可选地,所述预约模式包括取完即止模式,所述根据所述预约模式及所述席位数量,采用预设分布式加锁机制对所述场次标识进行处理,得到预约结果的步骤包括:
7、在所述预约模式为所述取完即止模式时,创建第一加锁表,所述第一加锁表包括第一锁定资源字段;
8、在所述场次标识成功写入所述第一锁定资源字段时,获取已取号数量,并比较所述已取号数量与所述席位数量的大小;
9、若所述已取号数量小于所述席位数量,则成功预约活动。
10、可选地,所述预约模式包括排队等号模式,所述根据所述预约模式及所述席位数量,采用预设分布式加锁机制对所述场次标识进行处理,得到预约结果的步骤包括:
11、在所述预约模式为所述排队等号模式时,创建第二加锁表,所述第二加锁表包括第二锁定资源字段;
12、在所述当前场次标识成功写入所述第二锁定资源字段时,获取排位等号上限变量及已排号数量;
13、根据所述排位等号上限变量和所述已排号数量,得到预约号码;
14、在检测到所述预约号码不大于所述排位等号上限变量时,比较所述预约号码与所述席位数量的大小;
15、若所述等待号码小于所述席位数量,则成功预约活动;
16、若所述等待号码等于或大于所述席位数量,则成功排队等号。
17、可选地,所述根据所述预约模式及所述席位数量,采用预设分布式加锁机制对所述场次标识进行处理,得到预约结果的步骤包括:
18、接收预约取消命令;
19、根据所述预约取消指令,获取排队等号列表;
20、根据预设场次限制条件,过滤所述排队等号列表,得到过滤后的排队等号列表;
21、根据所述过滤后的排队等号列表,成功预约活动。
22、可选地,所述预约模式包括摇号模式,所述确定活动的席位数量、场次标识及预约模式的步骤之后,还包括:
23、若所述预约模式为所述摇号模式,则采用预设的分布式定时调度机制对所述场次标识进行处理,获得待摇号列表;
24、基于所述席位数量,采用预设洗牌算法对所述待摇号列表进行排序,得到预约结果。
25、可选地,所述采用预设的分布式定时调度机制对所述场次标识进行处理,获得待摇号列表的步骤包括:
26、通过预设定时器,根据所述场次标识查询对应的预约时间;
27、在检测到所述预约时间结束时,获取对应的若干条待摇号记录;
28、过滤符合预设摇号限制条件的待摇号记录,得到所述待摇号列表。
29、可选地,所述确定活动的席位数量、场次标识及预约模式的步骤之前,还包括:
30、创建所述活动,将所述活动与预设活动组进行关联,分别得到活动可预约次数及活动组可预约次数;
31、分别校验所述活动及所述活动组是否可以预约;
32、若所述活动及所述活动组都可以预约,则校验所述用户是否违约;
33、若所述用户未违约,则校验所述用户是否重复预约;
34、若所述用户未重复预约,则根据所述活动可预约次数校验所述活动,根据所述活动组可预约次数校验所述活动组;
35、若所述活动及所述活动组都校验通过,则执行所述获取席位数量、场次标识及预约模式以及之后的步骤。
36、本申请实施例还提出一种活动预约管理装置,所述活动预约管理装置包括:
37、获取模块,用于确定活动的席位数量、场次标识及预约模式;
38、取号模块,用于根据所述预约模式及所述席位数量,采用预设分布式加锁机制对所述场次标识进行处理,得到预约结果。
39、本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的活动预约管理程序,所述活动预约管理程序被所述处理器执行时实现如上所述的活动预约管理方法的步骤。
40、本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有活动预约管理程序,所述活动预约管理程序被处理器执行时实现如上所述的活动预约管理方法的步骤。
41、本申请实施例提出的活动预约管理方法、装置、终端设备以及存储介质,通过确定活动的席位数量、场次标识及预约模式;根据所述预约模式及所述席位数量,采用预设分布式加锁机制对所述场次标识进行处理,得到预约结果。通过采用预设分布式加锁机制,使得每个活动场次在席位数量允许的情况下仅被一个用户预约,也即,通过获取席位数量、场次标识和相应的预约模式,根据预约模式采用相应的分布式加锁机制进行处理,可以避免多个用户同时对同一活动场次进行预约以及管理系统的中间件引入,解决了活动预约管理的效率低、成本高的技术问题。
1.一种活动预约管理方法,其特征在于,所述活动预约管理方法包括以下步骤:
2.如权利要求1所述的活动预约管理方法,其特征在于,所述预约模式包括取完即止模式,所述根据所述预约模式及所述席位数量,采用预设分布式加锁机制对所述场次标识进行处理,得到预约结果的步骤包括:
3.如权利要求1所述的活动预约管理方法,其特征在于,所述预约模式包括排队等号模式,所述根据所述预约模式及所述席位数量,采用预设分布式加锁机制对所述场次标识进行处理,得到预约结果的步骤包括:
4.如权利要求3所述的活动预约管理方法,其特征在于,所述根据所述预约模式及所述席位数量,采用预设分布式加锁机制对所述场次标识进行处理,得到预约结果的步骤包括:
5.如权利要求1所述的活动预约管理方法,其特征在于,所述预约模式包括摇号模式,所述确定活动的席位数量、场次标识及预约模式的步骤之后,还包括:
6.如权利要求5所述的活动预约管理方法,其特征在于,所述采用预设的分布式定时调度机制对所述场次标识进行处理,获得待摇号列表的步骤包括:
7.如权利要求1所述的活动预约管理方法,其特征在于,所述确定活动的席位数量、场次标识及预约模式的步骤之前,还包括:
8.一种活动预约管理装置,其特征在于,所述活动预约管理装置包括:
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的活动预约管理程序,所述活动预约管理程序被所述处理器执行时实现如权利要求1-7中任一项所述的活动预约管理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有活动预约管理程序,所述活动预约管理程序被处理器执行时实现如权利要求1-7中任一项所述的活动预约管理方法的步骤。