一种标识生成方法、装置、计算机设备、存储介质制造方法及图纸

技术编号:29989017 阅读:22 留言:0更新日期:2021-09-11 04:25
本申请实施例公开了一种标识生成方法。所述方法包括:接收针对数据对象的标识请求,获取分布式缓存中数据对象对应的分布式锁,获取分布式缓存中的数据对象的第一标识和第一标识边界数据,根据第一标识和第一标识边界数据,生成第二标识,并下发至标识请求的请求端,第一标识边界数据在相对于第二标识不满足预设限制要求,则被持久化存储中的第二标识边界数据代替,使得同一时间内只有一个标识请求被处理,保证了标识不会重复,利用持久化保存的第二标识边界数据作为保障,避免因分布式缓存宕机造成标识丢失、重复的风险,保证系统的可靠性,而且避免每次都对持久化存储进行读写,使得针对不同数据对象的标识请求可以并发,提高了标识生成的效率。高了标识生成的效率。高了标识生成的效率。

【技术实现步骤摘要】
一种标识生成方法、装置、计算机设备、存储介质


[0001]本申请涉及数据处理
,具体涉及标识生成方法、标识生成装置、计算机设备、计算机可读存储介质。

技术介绍

[0002]排队叫号系统一种综合运用计算机、网络、多媒体、通讯控制的高新技术产品,以取代各类服务性窗口传统的由顾客站立排队的方式,改由计算机系统代替客户进行排队的产品。人类生活对服务环境、服务效率的要求越来越高,尤其是在服务性行业里更是如此,因此排队叫号系统已经广泛应用于金融、餐饮、医院、电信以及各部门对外服务窗口等行业。
[0003]随着计算机技术和网络技术的不断发展,应用系统的规模变得越来越大,传统的集中式系统已经无法满足用户对应用系统的需求。为了性能扩展和增强可靠性,分布式应用程序架构越来越广泛被采用。分布式应用程序架构是指应用程序分布在不同计算机上,通过网络来共同完成一项任务的架构。
[0004]申请人经研究发现,分布式应用程序往往会出现高并发的情况,即多个进程提供同一服务的情况。例如,在移动终端的应用程序上的点单任务中,用户可以人不到店,就能够向众多的餐厅或影院等进行点餐,应用程序会为本次点餐生成一个取餐号,用户可以凭此取餐号在点餐的餐厅或影院取餐,在出现高并发的情况下,或者系统发生宕机的情况下,现有的排队叫号系统容易导致生成的取餐号重复的问题。

技术实现思路

[0005]鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的标识生成方法、标识生成装置以及计算机设备、计算机可读存储介质。<br/>[0006]依据本申请的一个方面,提供了一种标识生成方法,包括:
[0007]接收针对数据对象的标识请求;
[0008]获取分布式缓存中所述数据对象对应的分布式锁,以使所述分布式缓存中所述数据对象在同一时间内只能被同一个线程执行;
[0009]获取所述分布式缓存中的所述数据对象的第一标识和第一标识边界数据;
[0010]根据所述第一标识和第一标识边界数据,生成第二标识,并下发至所述标识请求的请求端;所述第一标识边界数据在相对于所述第二标识不满足预设限制要求时,则被持久化存储中的第二标识边界数据代替。
[0011]可选地,在所述获取分布式缓存中所述数据对象对应的分布式锁之前,所述方法还包括:
[0012]根据所述标识请求,生成数据对象标识和第一线程标识。
[0013]可选地,所述获取分布式缓存中所述数据对象对应的分布式锁包括:
[0014]从所述分布式缓存获取与所述数据对象标识对应存储的第二线程标识;
[0015]若不存在所述第二线程标识,则将所述第一线程标识保存到所述分布式缓存中,以获取所述分布式锁。
[0016]可选地,所述方法还包括:
[0017]若存在所述第二线程标识,则判断所述第一线程标识和第二线程标识是否相同,若相同,则获取所述分布式锁,若不相同,则等待所述分布式锁的释放。
[0018]可选地,在所述根据所述第一标识和第一标识边界数据,生成第二标识,并下发至所述标识请求的请求端;所述第一标识边界数据在相对于所述第二标识不满足预设限制要求时,则被持久化存储中的第二标识边界数据代替之后,所述方法还包括:
[0019]释放所述数据对象对应的分布式锁。
[0020]可选地,所述获取所述分布式缓存中的所述数据对象的第一标识和第一标识边界数据还包括:
[0021]若所述分布式缓存中所述数据对象的第一标识和第一标识边界数据不存在,则从所述持久化存储中获取所述第二标识边界数据,以所述第二标识边界数据代替所述第一标识边界数据,并以预设标识代替所述第一标识。
[0022]可选地,所述获取所述分布式缓存中的所述数据对象的第一标识和第一标识边界数据还包括:
[0023]若所述分布式缓存中所述数据对象的第一标识和第一标识边界数据不存在,则从所述持久化存储中获取所述第二标识边界数据,以所述第二标识边界数据代替所述第一标识边界数据和第一标识;
[0024]按照第一预设规则对所述第二标识边界数据进行更改,得到更改后的第二标识边界数据;
[0025]将所述持久化存储中的第二标识边界数据替换为所述更改后的第二标识边界数据。
[0026]可选地,所述根据所述第一标识和第一标识边界数据,生成第二标识包括:
[0027]按照第二预设规则对所述第一标识进行更改,得到所述第二标识;
[0028]判断所述第一标识边界数据相对于所述第二标识是否满足预设限制要求;
[0029]若满足所述预设限制要求,则保存所述第二标识和第一标识边界数据至所述分布式缓存。
[0030]可选地,所述方法还包括:
[0031]若不满足所述预设限制要求,则从所述持久化存储中获取所述第二标识边界数据;
[0032]保存所述第二标识和第二标识边界数据至所述分布式缓存。
[0033]可选地,所述方法还包括:
[0034]按照第一预设规则对所述第二标识边界数据进行更改,得到更改后的第二标识边界数据;
[0035]将所述持久化存储中的第二标识边界数据替换为所述更改后的第二标识边界数据。
[0036]依据本申请的另一个方面,提供了一种标识生成方法,包括:
[0037]接收请求端针对数据对象的序号请求;
[0038]获取分布式缓存中所述数据对象对应的分布式锁,以使所述分布式缓存中所述数据对象在同一时间内只能被同一个线程执行;
[0039]获取所述分布式缓存中的所述数据对象的第一序号和第一序号边界数据;
[0040]根据所述第一序号和第一序号边界数据,生成第二序号,并下发至所述序号请求的请求端;所述第一序号边界数据在相对于所述第二序号不满足预设限制要求时,则被持久化存储中的第二序号边界数据代替。
[0041]依据本申请的另一个方面,提供了一种标识生成装置,包括:
[0042]请求接收模块,用于接收针对数据对象的标识请求;
[0043]锁获取模块,用于获取分布式缓存中所述数据对象对应的分布式锁,以使所述分布式缓存中所述数据对象在同一时间内只能被同一个线程执行;
[0044]数据获取模块,用于获取所述分布式缓存中的所述数据对象的第一标识和第一标识边界数据;
[0045]标识生成模块,用于根据所述第一标识和第一标识边界数据,生成第二标识,并下发至所述标识请求的请求端;所述第一标识边界数据在相对于所述第二标识不满足预设限制要求时,则被持久化存储中的第二标识边界数据代替。
[0046]可选地,所述装置还包括:
[0047]线程标识生成模块,用于在所述获取分布式缓存中所述数据对象对应的分布式锁之前,根据所述标识请求,生成数据对象标识和第一线程标识。
[0048]可选地,所述锁获取模块包括:
[0049]线程标识获取子模块,用于从所述分布式缓存获取与所述数据对象标识对应存储的第二线程标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种标识生成方法,其特征在于,包括:接收针对数据对象的标识请求;获取分布式缓存中所述数据对象对应的分布式锁,以使所述分布式缓存中所述数据对象在同一时间内只能被同一个线程执行;获取所述分布式缓存中的所述数据对象的第一标识和第一标识边界数据;根据所述第一标识和第一标识边界数据,生成第二标识,并下发至所述标识请求的请求端;所述第一标识边界数据在相对于所述第二标识不满足预设限制要求时,则被持久化存储中的第二标识边界数据代替。2.根据权利要求1所述的方法,其特征在于,在所述获取分布式缓存中所述数据对象对应的分布式锁之前,所述方法还包括:根据所述标识请求,生成数据对象标识和第一线程标识。3.根据权利要求2所述的方法,其特征在于,所述获取分布式缓存中所述数据对象对应的分布式锁包括:从所述分布式缓存获取与所述数据对象标识对应存储的第二线程标识;若不存在所述第二线程标识,则将所述第一线程标识保存到所述分布式缓存中,以获取所述分布式锁。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若存在所述第二线程标识,则判断所述第一线程标识和第二线程标识是否相同,若相同,则获取所述分布式锁,若不相同,则等待所述分布式锁的释放。5.根据权利要求1所述的方法,其特征在于,在所述根据所述第一标识和第一标识边界数据,生成第二标识,并下发至所述标识请求的请求端;所述第一标识边界数据在相对于所述第二标识不满足预设限制要求时,则被持久化存储中的第二标识边界数据代替之后,所述方法还包括:释放所述数据对象对应的分布式锁。6.根据权利要求1所述的方法,其特征在于,所述获取所述分布式缓存中的所述数据对象的第一标识和第一标识边界数据还包括:若所述分布式缓存中所述数据对象的第一标识和第一标识边界数据不存在,则从所述持久化存储中获取所述第二标识边界数据,以所述第二标识边界数据代替所述第一标识边界数据,并以预设标识代替所述第一标识。7.根据权利要求1所述的方法,其特征在于,所述获取所述分布式缓存中的所述数据对象的第一标识和第一标识边界数据还包括:若所述分布式缓存中所述数据对象的第一标识和第一标识边界数据不存在,则从所述持久化存储中获取所述第二标识边界数据,以所述第二标识边界数据代替所述第一标识边界数据和第一标识;按照第一预设规则对所述第二标识边界数据进行更改,得到更改后的第二标识边界数据;将所述持久化存储中的第二标识边界数据替换为所述更改后的第二标识边界数据。8.根据权利要求1-7中任一项所述的方法,其特征在于,所述根据所述第一标识和第一标识边界数据,生成第二标识包括:
按照第二预设规则对所述第一标识进行更改,得到所述第二标识;判断所述第一标识边界数据相对...

【专利技术属性】
技术研发人员:寸镇华方典禹何涛
申请(专利权)人:上海淘票儿信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1