本公开提供了一种生成交易流水号的方法。该方法包括:接收流水号生成请求,流水号生成请求包括目标流水号类型和目标流水号位数;获取与目标流水号类型对应的目标流水号集合;重复执行随机生成操作来生成目标流水号,直至目标流水号未包含在目标流水号集合中;以及将目标流水号存储在目标流水号集合中,并输出目标流水号;其中,随机生成操作包括:根据流水号生成请求中的目标流水号类型和目标流水号位数,随机确定目标流水号每一位上的字符。本公开还提供了一种生成交易流水号的装置、一种计算设备以及一种介质。
Methods, devices, computing equipment and media for generating transaction serial numbers
【技术实现步骤摘要】
生成交易流水号的方法、装置、计算设备和介质
本公开涉及计算机
,更具体地,涉及一种生成交易流水号的方法、装置、计算设备和介质。
技术介绍
分布式交易系统可以使用UUID(UniversallyUniqueIdentifier,通用唯一识别码)生成交易流水号。UUID为一组32位的16进制数字,通常可以基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据来计算生成UUID。在实现本公开构思的过程中,专利技术人发现使用UUID生成交易流水号至少存在如下问题:由于UUID位数比较长,并且需要读取硬件标识,因此UUID的生成时间比较长。
技术实现思路
本公开的一个方面提供了一种生成交易流水号的方法,包括:接收流水号生成请求,流水号生成请求包括目标流水号类型和目标流水号位数;获取与目标流水号类型对应的目标流水号集合;重复执行随机生成操作来生成目标流水号,直至目标流水号未包含在目标流水号集合中;以及将目标流水号存储在目标流水号集合中,并输出目标流水号;其中,随机生成操作包括:根据流水号生成请求中的目标流水号类型和目标流水号位数,随机确定目标流水号每一位上的字符。可选地,上述目标流水号类型包括数字类型、字母类型和数字字母混合类型中的任意一种。可选地,上述根据流水号生成请求中的目标流水号类型和目标流水号位数,随机确定目标流水号每一位上的字符,包括:在目标流水号类型为数字类型的情况下,针对目标流水号的每一位上的字符,随机确定一个数字字符,作为该位上的字符;在目标流水号类型为字母类型的情况下,针对目标流水号的每一位上的字符,随机确定一个字母字符,作为该位上的字符;以及在目标流水号类型为数字字母混合类型的情况下,随机确定目标流水号的每一位为数字位或字母位;针对每一个数字位,随机确定一个数字字符,作为该数字位上的字符;针对每一个字母位,随机确定一个字母字符,作为该字母位上的字符。可选地,上述获取与目标流水号类型对应的目标流水号集合,包括:获取映射关系表;以及根据目标流水号类型,在映射关系表中查找与目标流水号类型对应的目标流水号集合。可选地,上述方法还包括:对流水号生成请求加锁,以使在接收到包含同一流水号类型的多个流水号生成请求的情况下,同一时刻仅对加锁的流水号生成请求进行处理。本公开的另一个方面提供了一种生成交易流水号的装置,包括接收模块,用于接收流水号生成请求,流水号生成请求包括目标流水号类型和目标流水号位数;第一获取模块,用于获取与目标流水号类型对应的目标流水号集合;执行模块,用于重复执行随机生成操作来生成目标流水号,直至目标流水号未包含在目标流水号集合中;以及输出模块,用于将目标流水号存储在目标流水号集合中,并输出目标流水号;其中,随机生成操作包括:根据流水号生成请求中的目标流水号类型和目标流水号位数,随机确定目标流水号每一位上的字符。可选地,上述目标流水号类型为数字类型、字母类型和数字字母混合类型中的任意一种;上述执行模块包括:第一确定子模块,用于在目标流水号类型为数字类型的情况下,针对目标流水号的每一位上的字符,随机确定一个数字字符,作为该位上的字符;第二确定子模块,用于在目标流水号类型为字母类型的情况下,针对目标流水号的每一位上的字符,随机确定一个字母字符,作为该位上的字符;以及第三确定子模块,用于在目标流水号类型为数字字母混合类型的情况下,随机确定目标流水号的每一位为数字位或字母位;针对每一个数字位,随机确定一个数字字符,作为该数字位上的字符;针对每一个字母位,随机确定一个字母字符,作为该字母位上的字符。可选地,上述第一获取模块包括:第二获取子模块,用于获取映射关系表;以及查找模块,用于根据目标流水号类型,在映射关系表中查找与目标流水号类型对应的目标流水号集合。本公开的另一方面提供了一种计算设备,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序,其中,当一个或多个计算机程序被一个或多个处理器执行时,使得一个或多个处理器实现如上所述的方法。本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。根据本公开的实施例中提供的生成流水号的方法和装置,接收流水号生成请求,获取与流水号生成请求中的目标流水号类型对应的目标流水号集合,重复执行随机生成操作来生成目标流水号,直至目标流水号未包含在目标流水号集合中。由此,在生成流水号的过程中不必读取硬件标识,速度较快。此外,由于生成的流水号随机,因此不容易预测生成的流水号,安全性较高。附图说明为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:图1示意性示出了根据本公开的实施例的生成流水号的方法和生成交易流水号的装置的应用场景;图2示意性示出了根据本公开的实施例的生成交易流水号的方法的流程图;图3示意性示出了根据本公开实施例的获取与目标流水号类型对应的目标流水号集合的示例性流程图;图4示意性示出了根据本公开另一实施例的生成交易流水号的方法的流程图;图5示意性示出了根据本公开的实施例的生成交易流水号的装置的框图;图6示意性示出了根据本公开的实施例的执行模块的示例性框图;图7示意性示出了根据本公开的实施例的第一获取模块的示例性框图;图8示意性示出了根据本公开另一实施例的生成交易流水号的装置的框图;以及图9示意性示出了根据本公开实施例的适于实现根据本公开实施例的方法的计算机系统的方框图。具体实施方式以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般本文档来自技高网...
【技术保护点】
1.一种生成交易流水号的方法,包括:/n接收流水号生成请求,所述流水号生成请求包括目标流水号类型和目标流水号位数;/n获取与所述目标流水号类型对应的目标流水号集合;/n重复执行随机生成操作来生成目标流水号,直至所述目标流水号未包含在所述目标流水号集合中;以及/n将所述目标流水号存储在所述目标流水号集合中,并输出所述目标流水号;/n其中,所述随机生成操作包括:根据所述流水号生成请求中的目标流水号类型和目标流水号位数,随机确定目标流水号每一位上的字符。/n
【技术特征摘要】
1.一种生成交易流水号的方法,包括:
接收流水号生成请求,所述流水号生成请求包括目标流水号类型和目标流水号位数;
获取与所述目标流水号类型对应的目标流水号集合;
重复执行随机生成操作来生成目标流水号,直至所述目标流水号未包含在所述目标流水号集合中;以及
将所述目标流水号存储在所述目标流水号集合中,并输出所述目标流水号;
其中,所述随机生成操作包括:根据所述流水号生成请求中的目标流水号类型和目标流水号位数,随机确定目标流水号每一位上的字符。
2.根据权利要求1所述的方法,其中,所述目标流水号类型包括数字类型、字母类型和数字字母混合类型中的任意一种。
3.根据权利要求2所述的方法,其中,所述根据所述流水号生成请求中的目标流水号类型和目标流水号位数,随机确定目标流水号每一位上的字符,包括:
在所述目标流水号类型为数字类型的情况下,针对所述目标流水号的每一位上的字符,随机确定一个数字字符,作为所述位上的字符;
在所述目标流水号类型为字母类型的情况下,针对所述目标流水号的每一位上的字符,随机确定一个字母字符,作为所述位上的字符;以及
在所述目标流水号类型为数字字母混合类型的情况下,随机确定所述目标流水号的每一位为数字位或字母位;针对每一个数字位,随机确定一个数字字符,作为所述数字位上的字符;针对每一个字母位,随机确定一个字母字符,作为所述字母位上的字符。
4.根据权利要求1所述的方法,其中,所述获取与所述目标流水号类型对应的目标流水号集合,包括:
获取映射关系表;以及
根据所述目标流水号类型,在所述映射关系表中查找与所述目标流水号类型对应的目标流水号集合。
5.根据权利要求1所述的方法,还包括:
对所述流水号生成请求加锁,以使在接收到包含同一流水号类型的多个流水号生成请求的情况下,同一时刻仅对加锁的流水号生成请求进行处理。
6.一种生成交易流水号的装置,包括:
接收模块,用于接收...
【专利技术属性】
技术研发人员:孙彦杰,王凯,朱道彬,张洋,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。