一种对象编号的生成方法和装置制造方法及图纸

技术编号:11587906 阅读:89 留言:0更新日期:2015-06-10 21:00
本发明专利技术提供一种对象编号的生成方法和装置,一方面有助于提高生成优惠券编号的效率和可靠性;另一方面有助于避免单点失效问题。本发明专利技术的对象编号生成方法包括:获取指定内存数据库中的当前编号;所述内存数据库为单线程内存数据库;根据设定的步长,在当前编号的基础上进行原子增加得到生成的编号;输出所述生成的编号并将该编号保存至所述指定内存数据库。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种对象编号的生成方法和装置
技术介绍
随着电子商务的迅猛发展,网购已经成为一种热潮,优惠券作为商家促销手段之一也从传统纸质优惠券走向了电子优惠券。随着业务的发展,在电子优惠券发放数量增加的同时,对优惠券发放速度也提出了更高的要求,每一张优惠券均对应一个唯一的券编号,这就要求系统能够快速无重复的实现优惠券编号的生成。现有的电子优惠券编号的生成的方式是:先通过查询优惠券数据库表获得当前的优惠券编号,并在当前的优惠券编号基础上递加1,然后将递加以后的值作为新的优惠券编号进行输出,并将该递加以后的值保存至优惠券数据库表;该方法存在两个问题:性能问题和单点问题。性能问题:现有优惠券编号的生成方法以SQL数据库来为生成优惠券编号服务,每次都需要操作优惠券数据库表,这意味着优惠券编号的生成需要和优惠券主体信息的数据持久化竞争有限的数据库资源;在每一次的优惠券发放时所必须的数据写入操作,同时增加了额外的优惠券编号相关的数据库读写操作,这必然导致生产优惠券编号的效率低下;另外,由于数据库多线程并发同步的问题,会使数据库发生故障,从而导致生成优惠券编号的可靠性降低。单点问题:现有优惠券编号生成方法依赖于单一的数据库实例、数据库实例所在计算机及其网络环境,在这种单一部署模式下,优惠券相关的数据库实例、数据库实例所在计算机及其网络环境均不可避>免的可能会出现各种问题而无法正常访问,也就无法生成新的优惠券编号了,即造成单点失效。
技术实现思路
有鉴于此,本专利技术提供一种对象编号的生成方法和装置,一方面有助于提高生成优惠券编号的效率和可靠性;另一方面有助于避免单点失效问题。为实现上述目的,根据本专利技术的一个方面,提供了一种对象编号的生成方法。本专利技术的对象编号生成方法包括:获取指定内存数据库中的当前编号;所述内存数据库为单线程内存数据库;根据设定的步长,在当前编号的基础上进行原子增加得到生成的编号;输出所述生成的编号并将该编号保存至所述指定内存数据库。可选地,所述获取指定内存数据库中的当前编号的步骤之前,还包括:判断主内存数据库是否可用,若是,则所述主内存数据库为所述指定内存数据库;否则,从内存数据库为所述指定内存数据库,该从内存数据库用于保存该主内存数据库的数据副本。可选地,在主内存数据库可用的情况下,所述输出所述生成的编号并将该编号保存至所述指定内存数据库的步骤之后还包括:将所述指定内存数据库中所保存的生成的编号复制到从内存数据库。可选地,在主内存数据库不可用的情况下,所述输出所述生成的编号并将该编号保存至所述指定内存数据库的步骤之后还包括:当主内存数据库恢复可用时,将所述从内存数据库中保存的所述生成的编号复制到该主内存数据库,并将该从内存数据库作为指定内存数据库。可选地,所述对象为电子商务领域中的优惠券。根据本专利技术的另一方面,提供了一种对象编号的生成装置。本专利技术的对象编号的生成装置包括:获取模块,用于获取指定内存数据库中的当前编号;所述指定内存数据库为单线程内存数据库;增加模块,用于根据设定的步长,在当前编号的基础上进行原子增加得到生成的编号;处理模块,用于输出所述生成的编号并将该编号保存至所述指定内存数据库。可选地,还包括判断模块,用于判断主内存数据库是否可用,若是,则将主内存数据库设定为所述指定内存数据库;否则,将从内存数据库设定为所述指定内存数据库,该从内存数据库用于保存该主内存数据库的数据副本。可选地,还包括复制模块,用于在主内存数据库可用的情况下,在输出所述生成的编号并将该编号保存至所述指定内存数据库之后,将所述指定内存数据库中所保存的生成的编号复制到从内存数据库。可选地,还包括复制模块,用于在主内存数据库不可用的情况下,在输出所述生成的编号并将该编号保存至所述指定内存数据库之后,当主内存数据库恢复可用时,将所述从内存数据库中保存的所述生成的编号复制到该主内存数据库,并将该从内存数据库作为指定内存数据库。可选地,所述对象为电子商务领域中的优惠券。根据本专利技术的技术方案,由于采用了内存数据库,因而提高了生成对象编号的效率;同时由于所采用的内存数据库为单线程内存数据库,从而避免了多线程数据库并发同步的问题,提高了生成对象编号的可靠性;本专利技术中还采用了主内存数据库和从内存数据库,两者互为备用,进而避免单点失效问题。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的一种对象编号的生成方法的示意图;图2是根据本专利技术实施例的一种对象编号的生成装置的示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施例的一种对象编号的生成方法的示意图。如图1所示,以电子商务领域的优惠券编号的生成为例,该方法主要包括如下的步骤S11至S13。步骤S11:获取指定内存数据库中的当前编号。其中,内存数据库为单线程内存数据库,内存数据库包括主内存数据库和从内存数据库。当优惠券编号生成服务开始后,首先判断主内存数据库是否可用,如果可用,则该主内存数据库为指定内存数据库,从主内存数据库中获取当前的优惠券编号;如果主内存数据库不可用,则从内存数据库为指定内存数据库,从该从内存数据库中获取当前的优惠券编号。步骤S12:根据设定的步长,在当前编号的基础上进行原子增加得到生成的编号。步骤S13:输出所述生成的编号并将该编号保存至所述指定内存数据库。在主内存数据库可用的情况下,将所述原子增加后得到的值作为最新的优惠券编号保存在主内存数据库,然后通过复制的方式将主内存数据库中的数据复制到从内存数据库。在主内存数据库不可用的情况下,使用从内存数据库保存生成最新的优惠券编号,在主内存数据库恢复可用后,将所述从内存数据库中保存的数据复制到该主内存数据库,并将该从内存数据库作为指定内存数据库,重新构建起主内存数据库和从内存数据库之间的同步复制关系。图2是根据本专利技术实施例的一种对象编号的生成装置本文档来自技高网...

【技术保护点】
一种对象编号的生成方法,其特征在于,包括:获取指定内存数据库中的当前编号;所述内存数据库为单线程内存数据库;根据设定的步长,在当前编号的基础上进行原子增加得到生成的编号;输出所述生成的编号并将该编号保存至所述指定内存数据库。

【技术特征摘要】
1.一种对象编号的生成方法,其特征在于,包括:
获取指定内存数据库中的当前编号;所述内存数据库为单线程内
存数据库;
根据设定的步长,在当前编号的基础上进行原子增加得到生成的
编号;
输出所述生成的编号并将该编号保存至所述指定内存数据库。
2.根据权利要求1所述的方法,其特征在于,所述获取指定内存
数据库中的当前编号的步骤之前,还包括:判断主内存数据库是否可
用,若是,则所述主内存数据库为所述指定内存数据库;否则,从内
存数据库为所述指定内存数据库,该从内存数据库用于保存该主内存
数据库的数据副本。
3.根据权利要求2所述的方法,其特征在于,在主内存数据库可
用的情况下,所述输出所述生成的编号并将该编号保存至所述指定内
存数据库的步骤之后还包括:将所述指定内存数据库中所保存的生成
的编号复制到从内存数据库。
4.根据权利要求2所述的方法,其特征在于,在主内存数据库不
可用的情况下,所述输出所述生成的编号并将该编号保存至所述指定
内存数据库的步骤之后还包括:当主内存数据库恢复可用时,将所述
从内存数据库中保存的所述生成的编号复制到该主内存数据库,并将
该从内存数据库作为指定内存数据库。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述对
象为电子商务领域中的优惠券。
6.一种对象编号...

【专利技术属性】
技术研发人员:周恩
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1