CN111124359A - 流水号生成方法、装置、系统、终端设备及存储介质 - Google Patents

流水号生成方法、装置、系统、终端设备及存储介质 Download PDF

Info

Publication number
CN111124359A
CN111124359A CN201911325984.XA CN201911325984A CN111124359A CN 111124359 A CN111124359 A CN 111124359A CN 201911325984 A CN201911325984 A CN 201911325984A CN 111124359 A CN111124359 A CN 111124359A
Authority
CN
China
Prior art keywords
self
serial number
increment sequence
increment
sequence component
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
Application number
CN201911325984.XA
Other languages
English (en)
Inventor
姜波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Mengma Electric Technology Co ltd
Original Assignee
Shenzhen Mengma Electric Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Mengma Electric Technology Co ltd filed Critical Shenzhen Mengma Electric Technology Co ltd
Priority to CN201911325984.XA priority Critical patent/CN111124359A/zh
Publication of CN111124359A publication Critical patent/CN111124359A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/485Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Nonlinear Science (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种流水号生成方法、装置、系统、终端设备及计算机可读存储介质,其中,方法包括:获取业务客户端的流水号获取请求;响应于流水号获取请求,根据自增序列配置规则,通过远程字典服务生成自增序列组件,并根据非自增序列组件配置规则生成非自增序列组件;根据组装规则,将自增序列组件和非自增序列组件进行组装,生成流水号。本申请实施例通过远程字典服务的单线程特性生成自增序列组件,确保了流水号能按照一定的规则进行递增,不会产生重复的流水号。另外,用户可以根据需要配置流水号的组件,以定制化组装出所需要的流水号。

Description

流水号生成方法、装置、系统、终端设备及存储介质
技术领域
本申请属于计算机技术领域,尤其涉及一种流水号生成方法、装置、系统、终端设备及计算机可读存储介质。
背景技术
随着互联网的不断发展,流水号的应用场景越来越多,例如,餐饮的订单管理、政务中心的排队号码和合同账单等等。
目前,生成流水号的方法有很多种,例如,基于时间序列或者基于随机码等。但是,这些方法无法保证数字按照一定规则递增展现,而且很大程度上会有重复的可能性。也就是说,现有的流水号生成方法可能会生成重复的流水号,无法确保流水号的唯一性。
发明内容
本申请实施例提供一种流水号生成方法、装置、系统、终端设备及计算机可读存储介质,以解决现有流水号生成方法无法确保流水号的唯一性的问题。
第一方面,本申请实施例提供一种流水号生成方法,包括:
获取业务客户端的流水号获取请求;
响应于所述流水号获取请求,根据自增序列配置规则,通过远程字典服务生成自增序列组件,并根据非自增序列组件配置规则生成非自增序列组件;
根据组装规则,将所述自增序列组件和所述非自增序列组件进行组装,生成流水号。
可以看出,本申请实施例通过远程字典服务的单线程特性生成自增序列组件,确保了流水号能按照一定的规则进行递增,不会产生重复的流水号。另外,用户可以根据需要配置流水号的组件,以定制化组装出所需要的流水号。
在第一方面的一种可能实现方式中,所述自增序列配置规则包括重置策略、起始值、步长和长度;
根据自增序列配置规则,通过远程字典服务生成自增序列组件,包括:
基于所述起始值和所述步长,通过所述远程字典服务进行加法运算,获得自增序列;
基于所述重置策略和所述长度,根据所述自增序列生成所述自增序列组件。
在第一方面的一种可能实现方式中,在获取业务客户端的流水号获取请求之前,还包括:
获取用户配置的流水号配置信息;
根据所述流水号配置信息,配置所述自增序列配置规则、所述非自增序列组件配置规则和所述组装规则。
在第一方面的一种可能实现方式中,所述非自增序列组件包括固定字符串、自定义变量、随机码和日期时间中的至少一种。
在第一方面的一种可能实现方式中,在根据组装规则,将所述自增序列组件和所述非自增序列组件进行组装,生成流水号之后,还包括:
将所述流水号返回给所述业务客户端。
在第一方面的一种可能实现方式中,获取业务客户端的流水号获取请求,包括:
获取至少两个业务客户端的流水号获取请求。
第二方面,本申请实施例提供一种流水号生成系统,包括至少一个业务客户端、web服务器和服务端,所述至少一个业务客户端通过所述web服务器与所述服务端连接通信;所述服务端包括远程字典服务;
所述业务客户端用于发起流水号获取请求,并将所述流水号获取请求发送至所述web服务器;
所述web服务器用于将所述流水号获取请求发送至所述服务端;
所述服务端用于获取所述流水号获取请求;响应于所述流水号获取请求,根据自增序列配置规则,通过远程字典服务生成自增序列组件,并根据非自增序列组件配置规则生成非自增序列组件;根据组装规则,将所述自增序列组件和所述非自增序列组件进行组装,生成流水号。
第三方面,本申请实施例提供一种流水号生成装置,包括:
请求获取模块,用于获取业务客户端的流水号获取请求;
组件配置模块,用于响应于所述流水号获取请求,根据自增序列配置规则,通过远程字典服务生成自增序列组件,并根据非自增序列组件配置规则生成非自增序列组件;
组装模块,用于根据组装规则,将所述自增序列组件和所述非自增序列组件进行组装,生成流水号。
第四方面,本申请实施例提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一项所述的方法。
第六方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的方法。
可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种流水号生成系统的架构示意框图;
图2为本申请实施例提供的流水号生成系统的一种架构示意图;
图3为本申请实施例提供的一种流水号生成方法的流程示意框图;
图4为本申请实施例提供的流水号配置信息界面示意图;
图5为本申请实施例提供的流水号生成方法的另一种流程示意框图;
图6本申请实施例提供的流水号生成装置的结构示意框图;
图7为本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
下面首先对本申请实施例提供的系统进行介绍。
请参见图1,为本申请实施例提供的一种流水号生成系统的架构示意框图,该系统可以包括至少一个业务客户端11、web服务器12和服务端13,至少一个业务客户端通过web服务器与服务端连接通信;服务端包括远程字典服务。
业务客户端用于发起流水号获取请求,并将流水号获取请求发送至web服务器。
需要说明的是,业务客户端具体可以通过调用流水号接口,发送流水号获取请求。流水号接口可以具体为http接口,流水号获取请求可以为http请求。
本申请实施例中,多个业务客户端可以同时发起流水号获取请求,即本申请实施例支持多并发的场景,在多并发场景下,仍然能确保生成的流水号的唯一性。
web服务器用于将流水号获取请求发送至服务端。具体应用中,web服务器可以具体为Nginx服务器,其为一个HTTP和反向代理的web服务器。
服务端用于获取流水号获取请求;响应于流水号获取请求,根据自增序列配置规则,通过远程字典服务生成自增序列组件,并根据非自增序列组件配置规则生成非自增序列组件;根据组装规则,将自增序列组件和非自增序列组件进行组装,生成流水号。
具体应用中,服务端包括多个序列核心,每个序列核心提供流水号接口供业务客户端调用,并负责流水号的生成和组装。每个业务端对应一个序列核心。
为了更好地介绍本申请实施例提供的流水号生成系统,下面将通过图2示出的流水号生成系统的一种架构示意图进行介绍。
如图2所示,流水号生成系统20包括调用方和服务方,调用方包括3个业务客户端21,每个业务客户端内均包括Sequence SDK。服务方包括Redis(远程字典服务)22、Sequence Core 23、数据库24和Sequence Admin 25。Sequence SDK通过Nginx 26调用每个Sequence Core提供的http接口。
服务方的Sequence Core(序列核心)的数量与业务客户端的数量相等,业务客户端有3个,则Sequence Core也有3个,每个Sequence Core对应一个业务客户端。
业务客户端通过Sequence SDK调用Sequence Core提供的http接口,以发起http请求,获取所需的流水号。Sequence Core提供http接口供Sequence SDK调用,此外,还通过远程字典服务进行组件的配置和组装,以生成相应的流水号,然后将所生成的流水号返回给对应的客户端。Sequence Admin负责对流水号配置和管理。
如图3所示,业务客户端1、业务客户端2和业务客户端3分别发起http请求,其中,业务客户端1、业务客户端2和业务客户端3分别对应的请求为HTTP1、HTTP2和HTTP3;通过Nginx将这些请求分别传输至对应的Sequence Core,HTTP1传输至Sequence Core 3,HTTP2传输至Sequence Core 2,HTTP3传输至Sequence Core 3。每个Sequence Core均响应于对应的请求,根据预先配置的规则配置各个组件,生成相应的组件之后再将组件进行组装,生成对应的流水号,然后再将流水号返回至对应的业务端。
由图3可见,即使是多个业务客户端同时发起流水号获取请求,服务端也可以确保流水号的唯一性,
在介绍完本申请实施例提供的系统架构之后,下面将介绍服务端的相关流程。
参见图3,为本申请实施例提供的一种流水号生成方法的流程示意框图,该方法可以包括以下步骤:
步骤S301、获取业务客户端的流水号获取请求。
需要说明的是,上述流水号获取请求具体可以为http请求,该http请求可以由业务客户端发起。
在一些实施例中,服务端也可以同时获取至少两个业务客户端的流水号获取请求,即支持多并发场景。
步骤S302、响应于流水号获取请求,根据自增序列配置规则,通过远程字典服务生成自增序列组件,并根据非自增序列组件配置规则生成非自增序列组件。
需要说明的是,远程字典服务(Redis)的操作是单线程的,通过远程字典服务存储流水号,并进行相应运算生成自增序列。远程字典服务的单线程特性可以确保不会出现重复的数据,保证流水号能按照一定规则进行递增。
上述自增序列配置规则、非自增序列组件配置规则和下文的组装规则均可以是用户预先配置的,即用户可以根据需要进行流水号信息配置,例如,配置每个组件的内容和生成规则,配置每个流水号包括的组件类型和组件数量等,以使用户可以定制化组装出所需要的流水号。
当然,上述自增序列配置规则、非自增序列组件配置规则和下文的组装规则也可以不是用户预先配置的,在此不作限定。
需要说明的是,上述非自增序列组件是指除了自增序列组件之外的组件,其可以包括但不限于固定字符串、自定义变量、随机码和日期时间中的至少一种。每一个非自增序列组件对应各种的配置规则。
在一些实施例中,上述自增序列配置规则可以包括但不限于重置策略、起始值、步长和长度。此时,上述根据自增序列配置规则,通过远程字典服务生成自增序列组件的具体过程可以包括:基于起始值和步长,通过远程字典服务进行加法运算,获得自增序列;基于重置策略和长度,根据自增序列生成自增序列组件。
需要说明的是,上述重置策略是指重置时间策略,例如,重置策略为按月重置或者按日重置,按月重置是指自增序列每月重置自增序列,按日重置是指每日重置自增序列。
远程字典服务可以进行加法运算,由起始值加上步长得到对应的自增序列。例如,起始值为0,步长为2,第一个自增序列为0+2=2,第二个自增序列为2+2=4,第三个自增序列为4+2=6,依次类推,当重置策略为按日重置时,则在每天的24点将自增序列重置为0,第二天的第一个自增序列为0+2=2,第二自增序列为2+2=4,依次类推。
上述自增序列的长度是指自增序列的字符数,当自增序列的字符数不满足该长度时,可以用0补齐。例如,预先设定的长度为8,即自增序列的字符数为8个,而生产的自增序列为0130,则可以用0补齐,即最终生产的自增组件为00000130。
具体应用中,远程字典服务根据步长和起始值生产自增序列之后,再基于长度和重置策略,例如,如果字符不满足时,则用0补齐,以生成对应的自增组件。
对于非自增序列组件,根据对应的配置规则生成对应的组件。例如,日期组件的配置规则包括日期格式,日期格式为年月,则生成对应日期组件为xx年xx月。又例如,固定字符组件的配置规则是常量值,如果预先配置常量值为“合同”,生成的固定字符组件为“合同”。
为了更好地介绍各个组件的生成过程,下面将结合图4示出的流水号配置信息界面示意图进行介绍。
需要生成的流水号为:合同-猛犸充电-X10-201912-No.0132。
根据预先定义的流水号规则对该流水号进行分析,确定流水号包括的组件类型和各个组件的内容。具体如下:
合同-:固定字符串
猛犸充电-X10:自定义变量
-:固定字符串
201912:日期时间
-No.:固定字符串
0132:自增序列
由上可见,需要生成的流水号包括的组件类型有固定字符串、自定义变量、日期时间和自增序列。
基于此,用户可以在图4示出的配置界面进行相应配置,得到如4所示的界面图。如图4所示,流水号配置信息包括基本信息配置和组件配置。基本信息中包括应用编码、流水号编码、流水号名称和流水号当前值。组件配置包括6个组件。组件0的组件类型为固定字符串,常量值为“合同”;组件1的组类型为自定义变量,占位符为“自定义变量”,默认值为“猛犸充电-X10”;组件2的组件类型为固定字符串,常量值为“-”;组件3的组件类型为日期时间,日期格式为“年月”;组件4的组件类型为固定字符串,常量值为“-No.”;组件5的组件类型为自增序列,重置策略为“按月重置”,起始值为“0”,步长为“2”,长度为“4”。
用户配置完如图4之后的流水号配置信息之后,服务端则根据预先配置的规则,生成相应的组件,再将各个组件按照一定组装顺序进行组装,生成对应的流水号。
需要说明的是,目前,互联网公司的各个项目中会对流水号的定义不同,如果每个项目单独开发流水号会造成资源浪费、管理不方便等一系列问题。而本申请实施例中,将流水号单独作为一个服务项目,对其他需要流水号的项目以http的方式提供接口服务,即其它需要流水号的项目通过接口调用的方式获取流水号。
而redis的操作是线程安全的,用redis来存储流水号并进行加法运算的时候是不会导致重复数据出现的,这一特性保证了流水号的生成不会重复。在此基础上,本申请实施例针对市面上的各种流水号进行抽象定义,通过组件规则配置来实现各种流水号的定义,可以应对绝大多数流水号场景,降低需求流水号项目的开发成本,提高开发效率和系统的稳定性。
步骤S303、根据组装规则,将自增序列组件和非自增序列组件进行组装,生成流水号。
需要说明的是,上述组装规则可以具体包括但不限于组装顺序,按照该组装规则将各个组件按照一定的顺序进行组装,即可生成相应的流水号。
例如,所生成的组件包括如下内容:
组件0:合同-
组件1:猛犸充电-X10
组件2:-
组件3:201912
组件4:-No.
组件5:0132
将这6个组件按照先后顺序进行组装,生成的流水号为:
合同-猛犸充电-X10-201912-No.0132。
可以看出,本申请实施例通过远程字典服务的单线程特性生成自增序列组件,确保了流水号能按照一定的规则进行递增,不会产生重复的流水号。另外,用户可以根据需要配置流水号的组件,以定制化组装出所需要的流水号。
参见图5示出的流水号生成方法的另一种流程示意框图,流水号生成方法可以包括以下步骤:
步骤S501、获取用户配置的流水号配置信息。
步骤S502、根据流水号配置信息,配置自增序列配置规则、非自增序列组件配置规则和组装规则。
需要说明的是,上述流水号配置信息包括但不限于基本信息配置和组件配置,具体可以参见图4示出的配置界面,在此不再赘述。
步骤S503、获取业务客户端的流水号获取请求。
步骤S504、响应于流水号获取请求,根据自增序列配置规则,通过远程字典服务生成自增序列组件,并根据非自增序列组件配置规则生成非自增序列组件。
步骤S505、根据组装规则,将自增序列组件和非自增序列组件进行组装,生成流水号。
需要说明的是,步骤S503~S505与上述步骤S301~S303相同,相关介绍请参见上文相应内容,在此不再赘述。
步骤S506、将流水号返回给业务客户端。
具体应用中,服务端响应流水号获取请求,生成对应的流水号之后,可以将该流水号返回至对应的业务端。
本申请实施例可以确保流水号的唯一性,还可以定制化组装出所需的流水号。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的流水号生成方法,图6示出了本申请实施例提供的流水号生成装置的结构示意框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图6,该装置包括:
请求获取模块61,用于获取业务客户端的流水号获取请求;
组件配置模块62,用于响应于流水号获取请求,根据自增序列配置规则,通过远程字典服务生成自增序列组件,并根据非自增序列组件配置规则生成非自增序列组件;
组装模块63,用于根据组装规则,将自增序列组件和非自增序列组件进行组装,生成流水号。
在一种可能实现方式中,自增序列配置规则包括重置策略、起始值、步长和长度;
上述组件配置模块具体用于:
基于起始值和步长,通过远程字典服务进行加法运算,获得自增序列;
基于重置策略和长度,根据自增序列生成自增序列组件。
在一种可能实现方式中,上述装置还可以包括:
配置信息获取模块,用于获取用户配置的流水号配置信息;
配置模块,用于根据流水号配置信息,配置自增序列配置规则、非自增序列组件配置规则和组装规则。
在一种可能实现方式中,非自增序列组件包括固定字符串、自定义变量、随机码和日期时间中的至少一种。
在一种可能实现方式中,上述装置还可以包括:
返回模块,用于将流水号返回给业务客户端。
在一种可能实现方式中,请求获取模块具体用于:
获取至少两个业务客户端的流水号获取请求。
上述流水号生成装置具有实现上述流水号生成方法的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件。
需要说明的是,上述装置/模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图7为本申请一实施例提供的终端设备的结构示意图。如图7所示,该实施例的终端设备7包括:至少一个处理器70、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述任意各个流水号生成方法实施例中的步骤。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的举例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),该处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71在一些实施例中可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71在另一些实施例中也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种流水号生成方法,其特征在于,包括:
获取业务客户端的流水号获取请求;
响应于所述流水号获取请求,根据自增序列配置规则,通过远程字典服务生成自增序列组件,并根据非自增序列组件配置规则生成非自增序列组件;
根据组装规则,将所述自增序列组件和所述非自增序列组件进行组装,生成流水号。
2.如权利要求1所述的方法,其特征在于,所述自增序列配置规则包括重置策略、起始值、步长和长度;
根据自增序列配置规则,通过远程字典服务生成自增序列组件,包括:
基于所述起始值和所述步长,通过所述远程字典服务进行加法运算,获得自增序列;
基于所述重置策略和所述长度,根据所述自增序列生成所述自增序列组件。
3.如权利要求1或2所述的方法,其特征在于,在获取业务客户端的流水号获取请求之前,还包括:
获取用户配置的流水号配置信息;
根据所述流水号配置信息,配置所述自增序列配置规则、所述非自增序列组件配置规则和所述组装规则。
4.如权利要求3所述的方法,其特征在于,所述非自增序列组件包括固定字符串、自定义变量、随机码和日期时间中的至少一种。
5.如权利要求1所述的方法,其特征在于,在根据组装规则,将所述自增序列组件和所述非自增序列组件进行组装,生成流水号之后,还包括:
将所述流水号返回给所述业务客户端。
6.如权利要求1所述的方法,其特征在于,获取业务客户端的流水号获取请求,包括:
获取至少两个业务客户端的流水号获取请求。
7.一种流水号生成系统,其特征在于,包括至少一个业务客户端、web服务器和服务端,所述至少一个业务客户端通过所述web服务器与所述服务端连接通信;所述服务端包括远程字典服务;
所述业务客户端用于发起流水号获取请求,并将所述流水号获取请求发送至所述web服务器;
所述web服务器用于将所述流水号获取请求发送至所述服务端;
所述服务端用于获取所述流水号获取请求;响应于所述流水号获取请求,根据自增序列配置规则,通过远程字典服务生成自增序列组件,并根据非自增序列组件配置规则生成非自增序列组件;根据组装规则,将所述自增序列组件和所述非自增序列组件进行组装,生成流水号。
8.一种流水号生成装置,其特征在于,包括:
请求获取模块,用于获取业务客户端的流水号获取请求;
组件配置模块,用于响应于所述流水号获取请求,根据自增序列配置规则,通过远程字典服务生成自增序列组件,并根据非自增序列组件配置规则生成非自增序列组件;
组装模块,用于根据组装规则,将所述自增序列组件和所述非自增序列组件进行组装,生成流水号。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
CN201911325984.XA 2019-12-20 2019-12-20 流水号生成方法、装置、系统、终端设备及存储介质 Pending CN111124359A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911325984.XA CN111124359A (zh) 2019-12-20 2019-12-20 流水号生成方法、装置、系统、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911325984.XA CN111124359A (zh) 2019-12-20 2019-12-20 流水号生成方法、装置、系统、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN111124359A true CN111124359A (zh) 2020-05-08

Family

ID=70500698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911325984.XA Pending CN111124359A (zh) 2019-12-20 2019-12-20 流水号生成方法、装置、系统、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN111124359A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113408246A (zh) * 2021-06-30 2021-09-17 商盟商务服务有限公司 获取单号的方法、装置及系统
CN115729978A (zh) * 2022-11-24 2023-03-03 湖南长银五八消费金融股份有限公司 流水号生成方法、装置、计算机设备和存储介质
CN115766419A (zh) * 2022-10-28 2023-03-07 北京江融信科技有限公司 一种分布式环境下数字序列号生成方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170115977A1 (en) * 2015-10-27 2017-04-27 Samsung Sds Co., Ltd. Apparatus and method for automating the installation and configuration of infrastructure
CN108540513A (zh) * 2017-03-03 2018-09-14 中国移动通信集团福建有限公司 请求重放攻击的判定方法和装置
CN110377268A (zh) * 2019-07-25 2019-10-25 中国工商银行股份有限公司 流水号生成方法、装置及存储介质
CN110428325A (zh) * 2019-07-31 2019-11-08 中国工商银行股份有限公司 交易跟踪方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170115977A1 (en) * 2015-10-27 2017-04-27 Samsung Sds Co., Ltd. Apparatus and method for automating the installation and configuration of infrastructure
CN108540513A (zh) * 2017-03-03 2018-09-14 中国移动通信集团福建有限公司 请求重放攻击的判定方法和装置
CN110377268A (zh) * 2019-07-25 2019-10-25 中国工商银行股份有限公司 流水号生成方法、装置及存储介质
CN110428325A (zh) * 2019-07-31 2019-11-08 中国工商银行股份有限公司 交易跟踪方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佚名: "基于Redis实现分布式单号,分布式ID(自定义规则生成)", 《HTTPS://WWW.CNBLOGS.COM/MENGQ0815/P/10596388.HTML》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113408246A (zh) * 2021-06-30 2021-09-17 商盟商务服务有限公司 获取单号的方法、装置及系统
CN115766419A (zh) * 2022-10-28 2023-03-07 北京江融信科技有限公司 一种分布式环境下数字序列号生成方法和装置
CN115766419B (zh) * 2022-10-28 2023-05-23 北京江融信科技有限公司 一种分布式环境下数字序列号生成方法和装置
CN115729978A (zh) * 2022-11-24 2023-03-03 湖南长银五八消费金融股份有限公司 流水号生成方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
Cronin Doing more business on the Internet
CN111124359A (zh) 流水号生成方法、装置、系统、终端设备及存储介质
US20160321308A1 (en) Constructing a data adaptor in an enterprise server data ingestion environment
CN107862352B (zh) 一种二维码分享方法及二维码分享设备
CN113364853B (zh) 一种业务服务系统、业务请求方法及网关设备
US10218775B2 (en) Methods for servicing web service requests using parallel agile web services and devices thereof
US20100287054A1 (en) System And Method For Integrating An Ad Banner With A Calling Application
CN110781180B (zh) 一种数据筛选方法和数据筛选装置
US20110320286A1 (en) System And Method For Integrating An Ad Banner With A Calling Application
WO2018177032A1 (zh) 处理响应数据的方法、设备、客户端设备和电子设备
CN106998314B (zh) 账户交互方法及装置
CN113076294A (zh) 一种信息分享方法和装置
CN109560895A (zh) 数据传输方法及装置
CN111104556A (zh) 一种业务处理方法和装置
CN109669678A (zh) 模板引擎整合方法、装置、电子设备及存储介质
CN112988311A (zh) 一种基于web服务器的线上实验方法
Fiche et al. Communicating Systems & Networks: Traffic & Performance (Innovative Technology Series. Information Systems and Networks)
CN109032693A (zh) 一种加载展示信息方法、装置、电子设备及可读存储介质
CN109814916B (zh) 一种ivr流程的配置方法、装置、存储介质和服务器
CN115712411A (zh) 一种自定义流水号的生成方法及装置
CN112364609A (zh) 一种业务台账的生成方法、装置、存储介质及电子设备
CN111475291A (zh) 一种数据处理方法、系统、服务器及介质
CA3195744A1 (en) Client-side device bloom filter mapping
CN108734149B (zh) 一种文本数据扫描方法和装置
CN108768834B (zh) 招呼语处理方法及装置

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200508