CN116975107A - 数据序列号的获取方法、装置、设备、介质及产品 - Google Patents
数据序列号的获取方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN116975107A CN116975107A CN202310736828.2A CN202310736828A CN116975107A CN 116975107 A CN116975107 A CN 116975107A CN 202310736828 A CN202310736828 A CN 202310736828A CN 116975107 A CN116975107 A CN 116975107A
- Authority
- CN
- China
- Prior art keywords
- data sequence
- sequence number
- queue
- data
- target
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000004044 response Effects 0.000 claims abstract description 23
- 230000015654 memory Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 19
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据序列号的获取方法、装置、设备、介质及产品。所述数据序列号的获取方法包括:接收业务系统发送的数据序列号获取请求;解析所述数据序列号获取请求,得到所述业务系统的系统标识;响应于确定缓存处于正常状态,在所述缓存的序列队列集合中查找与所述系统标识相匹配的目标序列队列;响应于所述目标序列队列中存在至少一个预先生成的备选数据序列号,将所述目标序列队列中的任意一个所述备选数据序列号确定为目标数据序列号;将所述目标数据序列号发送至所述业务系统。根据本申请实施例,可以实现对数据序列号的快速获取,而无需通过不断访问数据库生成然后才能获取得到序列号,能够大幅减少对数据库的查询依赖,提高获取效率。
Description
技术领域
本申请属于计算机信息技术领域,尤其涉及一种数据序列号的获取方法、装置、设备、介质及产品。
背景技术
在业务系统中,为了对不同数据进行有效区分,需要获取数据对应的数据序列号以使用数据序列号对数据进行标识,且数据序列号在同一业务场景下要求全局唯一。相关技术中,基于数据库表定义自增序列,并通过不断访问将序列号不断增加,然而,在集群并发模式下,相关技术由于对数据库的查询依赖导致数据序列号获取效率较低。
发明内容
本申请实施例提供一种数据序列号的获取方法、装置、设备、介质及产品,能够实现对数据序列号的快速获取。
第一方面,本申请实施例提供一种数据序列号的获取方法,该方法包括:
接收业务系统发送的数据序列号获取请求;
解析所述数据序列号获取请求,得到所述业务系统的系统标识;
响应于确定缓存处于正常状态,在所述缓存的序列队列集合中查找与所述系统标识相匹配的目标序列队列;
响应于所述目标序列队列中存在至少一个预先生成的备选数据序列号,将所述目标序列队列中的任意一个所述备选数据序列号确定为目标数据序列号;
将所述目标数据序列号发送至所述业务系统。
第二方面,本申请实施例提供了一种数据序列号的获取装置,该装置包括:
接收模块,用于接收业务系统发送的数据序列号获取请求;
解析模块,用于解析所述数据序列号获取请求,得到所述业务系统的系统标识;
查找模块,用于响应于确定缓存处于正常状态,在所述缓存的序列队列集合中查找与所述系统标识相匹配的目标序列队列;
确定模块,用于响应于所述目标序列队列中存在至少一个预先生成的备选数据序列号,将所述目标序列队列中的任意一个所述备选数据序列号确定为目标数据序列号;
发送模块,用于将所述目标数据序列号发送至所述业务系统。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行所述计算机程序指令时实现如第一方面的任一项实施例中所述的数据序列号的获取方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面的任一项实施例中所述的数据序列号的获取方法的步骤。
第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如第一方面的任一项实施例中所述的数据序列号的获取方法的步骤。
本申请实施例中的数据序列号的获取方法、装置、设备、介质及产品,预先生成了数据序列号,当接收到业务系统所发送的数据序列号获取请求信息时,在缓存处于正常状态的前提下可以直接从缓存中调取一个与该业务系统对应的数据序列号,而非在接收到业务系统的获取请求时才进行对数据序列号的生成;并将调取出的数据序列号反馈至对应的业务系统,从而实现对数据序列号的快速获取,而无需通过不断访问数据库生成然后才能获取得到序列号,能够大幅减少对数据库的查询依赖,提高获取效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据序列号的获取方法的流程示意图;
图2是本申请实施例提供的另一种数据序列号的获取方法的流程示意图;
图3是本申请实施例提供的又一种数据序列号的获取方法的流程示意图;
图4是本申请实施例提供的用于数据序列号获取的技术架构的示意图;
图5是本申请实施例提供的一种数据序列号的获取装置的结构示意图;
图6是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
需要说明的是,本申请实施例中对数据的获取、存储、使用和处理等,均符合国家法律法规的相关规定。
业务系统是指对与其业务相关的数据信息进行管理、存储和传输等操作的系统。业务系统通常包含了庞大的数据量,为对这些数据信息进行区分,需要获取每条数据信息对应的数据序列号,并且每个数据序列号具有唯一性。即,对于业务系统中的每条数据信息,应当具有唯一的数据序列号作为其标识符以与其他数据信息进行区分。
对于相关技术中的数据序列号的获取,主要有两种方式。其一为当有数据序列号的获取需求时,访问并查询数据表,基于数据库表定义自增序列来获取当前的自增计数(即数据序列号);其二为通过服务器节点自定义生成序列获取数据序列号。
然而,在集群模式下,这两种数据序列号的获取方式均有无法忽视的问题。对于方式一,由于集群模式下的大批量数据需要批量的数据序列号,因此需要通过多次访问数据库才能获取数据序列号,效率较低;对于方式二,由于集群并发模式下每台服务器基于自定义生成序列所产生的数据序列号可能是相同的,会导致数据序列号重复,且集群场景下的服务器越多则重复率越高,无法保证所获取的数据序列号的全局唯一性。
为了解决相关技术的问题,本申请实施例提供了一种数据序列号的获取方法、装置、设备、介质及产品。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的数据序列号的获取方法进行详细地说明。
图1示出了本申请实施例的数据序列号的获取方法100的流程示意图。如图1所示,该数据序列号的获取方法100具体可以包括以下步骤:
S101、接收业务系统发送的数据序列号获取请求;
S102、解析所述数据序列号获取请求,得到所述业务系统的系统标识;
S103、响应于确定缓存处于正常状态,在所述缓存的序列队列集合中查找与所述系统标识相匹配的目标序列队列;
S104、响应于所述目标序列队列中存在至少一个预先生成的备选数据序列号,将所述目标序列队列中的任意一个所述备选数据序列号确定为目标数据序列号;
S105、将所述目标数据序列号发送至所述业务系统。
由此,基于预先生成的数据序列号,当接收到业务系统所发送的数据序列号获取请求信息时,在缓存处于正常状态的前提下可以直接从缓存中调取一个与该业务系统对应的数据序列号,而非在接收到业务系统的获取请求时才进行对数据序列号的生成;并将调取出的数据序列号反馈至对应的业务系统,从而实现对数据序列号的快速获取,而无需通过不断访问数据库生成然后才能获取得到序列号,能够大幅减少对数据库的查询依赖,提高获取效率,并且能够保证所获取的数据序列号的全局唯一性。
下面介绍上述各个步骤的具体实现方式。
需要说明的是,本申请实施例中,对于业务系统对应的具体业务类型,可以是金融、保险、电商、物流、产品的生产制造等,相应的,数据序列号可以表征银行卡号、保单号、订单号、物流单号、产品编号等。此处对于数据序列号的具体含义及其应用场景,本实施例均不作具体限定。
另外,本申请实施例中,数据序列号具有全局唯一性。此处所述的“全局”,即为对应的应用场景,例如,银行卡号在银行系统中是唯一的,即,对于每一笔银行卡办理业务都对应有唯一的银行卡号。这样,数据序列号可以作为每条数据信息对应的唯一标识码以对数据信息进行识别,其中,数据信息可以是某项具体交易信息,或者某个产品信息等。
在一些实施例中,在步骤S101之前,可以对业务系统进行注册。具体的,注册过程可以包括:接收业务系统发送的注册请求;解析注册请求,得到业务系统的系统标识、主机标识和自定义标识符;根据系统标识、主机标识和自定义标识符生成该业务系统对应的认证信息并将该认证信息存储于数据库,并且该认证信息可以表征对应的业务系统为已经完成注册的;同时,将预先生成的认证密钥发送至业务系统以使后续业务系统获取数据序列号时利用该认证密钥对其数据序列号获取请求进行加密。
具体的,为保证后续数据序列号获取过程的一致性,同时为降低计算复杂度和提高传输效率,所预先生成的认证密钥是唯一的。也就是说,向任意一个完成注册的业务系统所发送的认证密钥是相同的,有且只有一个认证密钥。
在一些实施例中,注册过程还可以包括:根据所述系统标识、主机标识和自定义标识符建立序列自增规则。其中,主机标识可以是主机名称(hostname),或者节点名称(nodename),这样主机标识可以用于表示业务系统所在的节点装置的名称以对将每个业务系统与其他业务系统进行识别和区分;自定义标识符可以是业务系统自身建立或生成的一定位数的字节,例如,具有特定意义的字母,以进一步将自身与其他业务系统区分。
这样,所建立的序列自增规则至少包括业务系统的系统标识、主机标识和自定义标识符,还可以包括自增计数的步长和初始值。也就是说,对于每个业务系统,所对应的序列自增规则是独一无二的。而相关技术中,对于集群并发模式下的若干个服务器节点,序列规则是统一的,即每个服务器节点的序列规则相同,会导致数据序列号重复,并且,对于相关技术,当服务重启后无法保证序列自增,
因此,本实施例中,在注册阶段针对每个进行注册的业务系统构建其专属的序列自增规则。具体的,序列自增规则可以包括:根据系统标识生成数据序列号中的一定位数的字节,以确保不同业务系统所对应的数据序列号之间不会出现重复或重合;根据主机标识生成数据序列号中的一定位数的字节,以确保所属不同主机的同一业务系统所对应的数据序列号不同而不会产生冲突;根据自定义标识符生成数据序列号中的一定位数的字节,进一步确保所对应的数据序列号的全局唯一性。从而本实施例可以避免数据序列号的重复。
进一步的,在一些实施例中,建立上述获取的系统标识与序列自增规则之间对应的第一关联关系,并将第一关联关系和序列自增规则均进行保存以存储与数据库。这样,在后续接收到业务系统的数据序列号获取请求以对数据序列号进行获取时,可以基于第一关联关系,根据业务系统的系统标识在数据库中查找到该业务系统对应的唯一的序列自增规则,以根据序列自增规则获取得到数据序列号。
在一些实施例中,在步骤S101中,当业务系统有对数据序列号的获取需求时,会发送数据序列号获取请求,则直接接收该数据序列号获取请求。
在另一个实施例中,可以基于数据库中存储的认证信息,定期或定时向所有已注册的业务系统发送是否需要获取数据序列号的提示信息,当任意一个业务系统对该提示信息响应时,则根据响应内容判断是否需要进一步接收数据序列号的获取请求,若需要,则接收该获取请求。
在一些实施例中,为保证传输的保密性和安全性,业务系统所发送的数据序列号获取请求是其基于注册阶段获取得到的认证密钥进行加密后生成的。
在一些实施例中,在步骤S102中,利用认证密钥对接收到的数据序列号获取请求进行解密,得到解密后的请求信息,其中,该认证密钥是预先生成的并在注册阶段分发给完成注册的业务系统的;进一步的,对解密后的请求信息进行解密,可以得到请求信息所包括的系统标识,以根据系统标识确定对应的请求方,即发送该获取请求的业务系统。
可以理解,在步骤S103中,缓存是预先编写而构建得到的或者预先选择的用于存储的数据结构,例如Redis(Remote Dictionary Server,远程字典服务),并且该缓存中存储有若干个预先生成的数据序列号。具体的,该缓存中存储有序列队列集合,且序列队列集合包括若干个序列队列,每个序列队列包括若干个数据序列号。
在一些实施例中,在步骤S103中,对缓存进行状态检测得到检测结果,以确定缓存是否可用。如果检测结果为正常,即缓存处于正常状态,则表明缓存可用,可以进一步根据获取得到的系统标识在缓存的序列队列集合中查找相应的序列队列,即,请求方(所接收到的数据序列号获取请求所对应的业务系统)对应的目标序列队列。
具体实施时,如果缓存处于正常状态,可以基于预先建立的第二关联关系,获取系统标识对应的队列名称;然后在所述缓存的序列队列集合中查找与所述队列名称相匹配的目标序列队列。其中,第二关联关系为预先建立的业务系统的系统标识与业务系统的队列名称之间的对应关系。也就是说,对于每个系统标识都有唯一的队列名称与其对应,且这种一一对应关系定义为第二关联关系,该第二关联关系存储于缓存。这样,由于队列名称是序列队列的唯一标识,而对于每个业务系统的系统标识都有唯一的队列名称与其对应,那么根据第二关联关系获取得到的队列名称就可以查找到系统标识对应的目标序列队列,即每个业务系统对应的目标序列队列。
在一些实施例中,在步骤S104中,当查找到目标序列队列时,判断该目标序列队列中是否存储有备选数据序列号,如果该目标序列队列中存在至少一个备选数据序列号,即可将该目标序列队列中的任意一个所述备选数据序列号确定为目标数据序列号。可以理解,目标序列队列中存储的备选数据序列号是预先生成的,对于备选数据序列号的生成过程将在后续实施例中进行说明。
在另一个实施例中,对查找到的目标序列队列中是否存在备选数据序列号进行判断之后,如果该目标序列队列中不存在备选数据序列号,则需要生成批量的备选数据序列号以用于调用。
具体实施时,在数据库中查找目标序列队列对应的预先建立的序列自增规则;然后基于所述序列自增规则,在数据库中生成预设数量(例如,500个)的备选数据序列号;并将这些生成的预设数量的备选数据序列号存储于目标序列队列。这样,当目标序列队列中的备选数据序列号全部被调用完或消耗完后,再次生成批量的备选数据序列号并存储于目标序列队列,得到更新后的目标序列队列。从而,将更新后的目标序列队列中的任意一个备选数据序列号确定为目标数据序列号。
具体实施时,由于目标序列队列与业务系统的系统标识是一一对应的,因此在数据库中查找目标序列队列所对应的预先建立的序列自增规则时,可以根据系统标识进行查找。进一步,由于数据库中存储有系统标识与序列自增规则之间对应的第一关联关系,可以基于第一关联关系,在数据库中根据系统标识查找到对应的序列自增规则,以根据序列自增规则进行备选数据序列号的生成。
进一步的,在一些实施例中,在生成预设数量的备选数据序列号之后,可以建立这些备选数据序列号的生成日志,并将生成日志存储于数据库。具体的,该生成日志可以包括:这些备选序列号对应的编号和备选数据序列号的生成时间节点(即当前时间)。以目标序列队列中的500个备选数据序列号全部被调用完后再次生成500个备选数据序列号为例,则这些再次生成的备选序列号对应的编号为[501-1000],且当前时间为08:00,故生成日志可以包括:08:00,备选数据序列号[501-1000]。这样,所建立的生成日志可以用于后续进行历史生成的查询和统计,以及可以作为下一次生成备选数据序列号的依据。
在一些实施例中,在步骤S105中,将所确定的目标序列号发送给对应的业务系统,这样,在缓存处于正常状态的前提下通过直接从缓存中确定目标数据序列号并将该目标序列号发送给业务系统,使得业务系统成功获取到对应的数据序列号,而无需通过访问数据库然后在数据库中生成数据序列号之后才能使业务系统获取得到该数据序列号,相较于相关技术极大简化了数据序列号的获取过程。
进一步的,在一些实施例中,在将目标数据序列号发送至业务系统之后,可以从目标序列队列中删除该目标数据序列号,以避免后续该业务系统再次有数据序列号的获取需求时,将已调取的数据序列号重新调取并发送给业务系统而导致业务系统获取得到的数据序列号出现重复,从而导致在业务系统无法利用这些数据序列号对其分别对应的不同数据进行有效区分。例如,对于电商业务系统,由于所获取得到的数据序列号存在重复,即对于不同订单其对应的订单号是相同的,可能会导致交易纠纷等问题。
作为本申请的另一种实现方式,为了避免缓存处于异常状态时无法进行数据序列号的获取,本申请还提供了数据序列号的获取的另一种实现方式,具体参见以下实施例。
参考图2,为本申请提供的数据序列号的获取的另一种实现方法200,该方法200包括以下步骤:
S201、接收业务系统发送的数据序列号获取请求;
S202、解析所述数据序列号获取请求,得到所述业务系统的系统标识;
S203、响应于确定缓存处于异常状态,在数据库中查找与所述系统标识对应有第一关联关系的预先建立的序列自增规则;
S204、基于所述序列自增规则生成目标数据序列号;
S205、将所述目标数据序列号发送至所述业务系统。
在一些实施例中,在步骤S203中,对缓存进行状态检测得到检测结果,以确定缓存是否可用。如果检测结果为异常,即缓存处于异常状态,则表明缓存不可用,为保证依然能够实现数据序列号的获取,通过访问数据库来进行数据序列号的生成和获取。具体的,基于数据库中存储的系统标识与序列自增规则之间对应的第一关联关系,在数据库中根据获取得到的系统标识查找到对应的序列自增规则,即与业务系统相匹配的序列自增规则。
在一些实施例中,在步骤S204中,可以根据序列自增规则以及数据库中存储的生成日志来生成业务系统对应的目标序列号。例如,生成日志为:08:00,备选数据序列号[501-1000];序列自增规则包括该业务系统的系统标识(A)、主机标识(B)和自定义标识符(C);则,目标序列号可以为:A+B+C+1001。
应当理解的是,由于S201、S202和S205分别与上述实施例中的S101、S102和S105相同,因此为了简要起见,对于S101、S102和S105各自对应的具体实现方式在此不再详细描述。
这样,相当于建立了缓存异常处理机制,考虑了在缓存处于异常状态时如何实现数据序列号的获取,以保证高可用性。另外,需要说明的是,当缓存恢复正常状态后,即可直接从缓存中调取一个与业务系统对应的目标数据序列号,并将调取出的目标数据序列号反馈至该业务系统。
作为本申请的另一种实现方式,参考图3,本申请还提供了又一种数据序列号的获取方法300。
如图3所示,当业务系统301首次获取数据序列号时,在步骤S310中,需要将携带有自身系统标识、主机标识和自定义标识符的数据序列号获取请求发送给数据序列号服务方302,其中,数据序列号服务方302可以是数据序列号的获取装置。
在一些实施例中,当数据序列号服务方302接收到该数据序列号获取请求时,在步骤S320时从缓存(例如,REDIS)中获取与该数据序列号获取请求相匹配的数据序列号,并在步骤S330时将该数据序列号返回给业务系统301。并且,缓存中存储的数据序列号是在步骤S3201时在数据库(例如,TDSQL)中预先生成的,且在步骤S3202时被存储于缓存中对应的序列队列中,以使在步骤S3203时使得数据序列号服务方302调取得到数据序列号。
可以理解,由于数据库TDSQL不支持序列sequence,因此在数据库中生成的数据序列号无需存储于数据库中,而是将数据序列号存储于缓存中对应的序列队列。
在另一个实施例中,当业务系统301多次获取数据序列号时,在步骤S340中,依然需要将携带有自身系统标识、主机标识和自定义标识符的数据序列号获取请求发送给数据序列号服务方302,以使数据序列号服务方302可以根据系统标识、主机标识和自定义标识符确定所接收到的该数据序列号获取请求具体来自于那个业务系统。在步骤S350中,当数据序列号服务方302从缓存中获取与该数据序列号获取请求相匹配的数据序列号时,需要先判断缓存中对应的序列队列中的数据序列号是否已经被调用完或者消耗完,若没有被用完,则执行步骤S3501,即直接调取数据序列号;若已用完,则需要在步骤S3502时在数据库中生成新的批量的数据序列号并在步骤S3503时存储于该序列队列以得到更新的序列队列,从而可以在步骤S3504时从该更新的序列队列中调取数据序列号并在步骤S360时将数据序列号返回给业务系统301。
此外,参考图4,本申请还提供了一种用于数据序列号获取的技术架构400。如图4所示,该技术架构400可以包括:展示层401、服务层402,以及与服务层402建立连接的缓存(例如,REDIS)和数据库(例如,TDSQL)。
具体的,展示层401用于提供显示界面以将数据序列号的获取过程进行可视化,以方便查询等操作;服务层402用于规则管理和服务调度,可以包括接入模块4021、调度模块4022、日志模块4023和报表统计模块4024等。
对于服务层402,接入模块4021用于提供接口给业务系统以使业务系统可以通过该接口发送获取请求和接收数据序列号等;调度模块4022用于从缓存或数据库中获取数据序列号;日志模块4023用于建立数据序列号的生成日志;报表统计模块4024用于统计已调用或消耗的数据序列号。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一技术构思,与上述任一实施例方法相对应的,本申请还提供了一种数据序列号的获取装置500。
如图5所示,该数据序列号的获取装置500可以包括:
接收模块501,用于接收业务系统发送的数据序列号获取请求;
解析模块502,用于解析所述数据序列号获取请求,得到所述业务系统的系统标识;
查找模块503,用于响应于确定缓存处于正常状态,在所述缓存的序列队列集合中查找与所述系统标识相匹配的目标序列队列;
确定模块504,用于响应于所述目标序列队列中存在至少一个预先生成的备选数据序列号,将所述目标序列队列中的任意一个所述备选数据序列号确定为目标数据序列号;
发送模块505,用于将所述目标数据序列号发送至所述业务系统。
在一些实施例中,查找模块503,具体用于响应于确定缓存处于正常状态,基于预先建立的第二关联关系,获取所述系统标识对应的队列名称;所述第二关联关系为所述业务系统的系统标识与所述业务系统的队列名称的对应关系;在所述缓存的序列队列集合中查找与所述队列名称相匹配的目标序列队列。
在一些实施例中,数据序列号的获取装置500,还包括注册模块(图5中未示出),该注册模块用于接收业务系统发送的注册请求;解析所述注册请求,得到所述业务系统的系统标识、主机标识和自定义标识符;根据所述系统标识、主机标识和自定义标识符建立序列自增规则;建立所述系统标识与所述序列自增规则之间对应的所述第一关联关系;将所述序列自增规则和所述第一关联关系存储于数据库。
在一些实施例中,数据序列号的获取装置500,还包括第一生成模块(图5中未示出),该第一生成模块用于响应于所述目标序列队列中不存在备选数据序列号,在数据库中查找所述目标序列队列对应的预先建立的序列自增规则;基于所述序列自增规则,在所述数据库中生成预设数量的备选数据序列号;将所述预设数量的备选数据序列号存储于所述目标序列队列。
在一些实施例中,数据序列号的获取装置500,还包括删除模块(图5中未示出),该删除模块用于从所述目标序列队列中删除所述目标数据序列号。
在一些实施例中,数据序列号的获取装置500,还包括第二生成模块(图5中未示出),该第二生成模块用于响应于确定缓存处于异常状态,在数据库中查找与所述系统标识对应有第一关联关系的预先建立的序列自增规则;基于所述序列自增规则生成目标数据序列号;将所述目标数据序列号发送至所述业务系统。
需要说明的是,为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的数据序列号的获取方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一技术构思,与上述任一实施例方法相对应的,本申请还提供了一种电子设备。
图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图。
在电子设备600可以包括处理器601以及存储有计算机程序指令的存储器602。
具体地,上述处理器601可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器602可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关容灾设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。
在特定实施例中,存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请的一方面的方法所描述的操作。
处理器601通过读取并执行存储器602中存储的计算机程序指令,以实现上述实施例中的任意一种数据序列号的获取方法。
在一些示例中,电子设备600还可包括通信接口603和总线610。其中,如图6所示,处理器601、存储器602、通信接口603通过总线610连接并完成相互间的通信。
通信接口603主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线610包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线610可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线610可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
示例性的,电子设备600可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等。
基于同一技术构思,与上述任一实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据序列号的获取方法。计算机可读存储介质的示例包括非暂态计算机可读存储介质,如便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件等。
基于同一技术构思,与上述任一实施例方法相对应的,本申请还提供了一种计算机程序产品,其包括计算机程序指令。在一些实施例中,所述计算机程序指令可以由计算机的一个或多个处理器执行以使得所述计算机和/或所述处理器执行所述的数据序列号的获取方法。对应于所述的数据序列号的获取方法各实施例中各步骤对应的执行主体,执行相应步骤的处理器可以是属于相应执行主体的。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本申请的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (12)
1.一种数据序列号的获取方法,其特征在于,包括:
接收业务系统发送的数据序列号获取请求;
解析所述数据序列号获取请求,得到所述业务系统的系统标识;
响应于确定缓存处于正常状态,在所述缓存的序列队列集合中查找与所述系统标识相匹配的目标序列队列;
响应于所述目标序列队列中存在至少一个预先生成的备选数据序列号,将所述目标序列队列中的任意一个所述备选数据序列号确定为目标数据序列号;
将所述目标数据序列号发送至所述业务系统。
2.根据权利要求1所述的方法,其特征在于,在所述响应于确定缓存处于正常状态,在所述缓存的序列队列集合中查找与所述系统标识相匹配的目标序列队列之后,所述方法还包括:
响应于所述目标序列队列中不存在备选数据序列号,在数据库中查找所述目标序列队列对应的预先建立的序列自增规则;
基于所述序列自增规则,在所述数据库中生成预设数量的备选数据序列号;
将所述预设数量的备选数据序列号存储于所述目标序列队列。
3.根据权利要求2所述的方法,其特征在于,在所述基于所述序列自增规则,在所述数据库中生成预设数量的备选数据序列号之后,所述方法还包括:
建立所述备选数据序列号的生成日志,并将所述生成日志存储于数据库。
4.根据权利要求1所述的方法,其特征在于,在所述将所述目标数据序列号发送至所述业务系统之后,所述方法还包括:
从所述目标序列队列中删除所述目标数据序列号。
5.根据权利要求1所述的方法,其特征在于,在所述解析所述数据序列号获取请求,得到所述业务系统的系统标识之后,所述方法还包括:
响应于确定缓存处于异常状态,在数据库中查找与所述系统标识对应有第一关联关系的预先建立的序列自增规则;
基于所述序列自增规则生成目标数据序列号;
将所述目标数据序列号发送至所述业务系统。
6.根据权利要求1所述的方法,其特征在于,所述响应于确定缓存处于正常状态,在所述缓存的序列队列集合中查找与所述系统标识相匹配的目标序列队列,包括:
响应于确定缓存处于正常状态,基于预先建立的第二关联关系,获取所述系统标识对应的队列名称;所述第二关联关系为所述业务系统的系统标识与所述业务系统的队列名称的对应关系;
在所述缓存的序列队列集合中查找与所述队列名称相匹配的目标序列队列。
7.根据权利要求5所述的方法,其特征在于,在所述接收业务系统发送的数据序列号获取请求之前,所述方法还包括:
接收业务系统发送的注册请求;
解析所述注册请求,得到所述业务系统的系统标识、主机标识和自定义标识符;
根据所述系统标识、主机标识和自定义标识符建立序列自增规则。
8.根据权利要求7所述的方法,其特征在于,在所述根据所述系统标识、主机标识和自定义标识符建立序列自增规则之后,所述方法还包括:
建立所述系统标识与所述序列自增规则之间对应的所述第一关联关系;
将所述序列自增规则和所述第一关联关系存储于数据库。
9.一种数据序列号的获取装置,其特征在于,所述装置包括:
接收模块,用于接收业务系统发送的数据序列号获取请求;
解析模块,用于解析所述数据序列号获取请求,得到所述业务系统的系统标识;
查找模块,用于响应于确定缓存处于正常状态,在所述缓存的序列队列集合中查找与所述系统标识相匹配的目标序列队列;
确定模块,用于响应于所述目标序列队列中存在至少一个预先生成的备选数据序列号,将所述目标序列队列中的任意一个所述备选数据序列号确定为目标数据序列号;
发送模块,用于将所述目标数据序列号发送至所述业务系统。
10.一种电子设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如权利要求1-8中任意一项所述的数据序列号的获取方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-8中任意一项所述的数据序列号的获取方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如权利要求1-8中任意一项所述的数据序列号的获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310736828.2A CN116975107A (zh) | 2023-06-20 | 2023-06-20 | 数据序列号的获取方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310736828.2A CN116975107A (zh) | 2023-06-20 | 2023-06-20 | 数据序列号的获取方法、装置、设备、介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116975107A true CN116975107A (zh) | 2023-10-31 |
Family
ID=88475747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310736828.2A Pending CN116975107A (zh) | 2023-06-20 | 2023-06-20 | 数据序列号的获取方法、装置、设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116975107A (zh) |
-
2023
- 2023-06-20 CN CN202310736828.2A patent/CN116975107A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110851748A (zh) | 短链接的生成方法、服务器、存储介质及计算机设备 | |
CN109766479B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111143371A (zh) | 数据查询方法、装置、设备、系统及介质 | |
CN113704243A (zh) | 数据分析方法、装置、计算机装置及存储介质 | |
CN111611249A (zh) | 数据管理方法、装置、设备及存储介质 | |
CN111475519A (zh) | 数据缓存方法及装置 | |
CN112988458B (zh) | 数据备份方法、装置、电子设备及存储介质 | |
CN112835885A (zh) | 一种分布式表格存储的处理方法、装置及系统 | |
CN109600254B (zh) | 全链路日志的生成方法及相关系统 | |
CN110427538B (zh) | 一种数据查询方法、存储方法、装置及电子设备 | |
CN116975107A (zh) | 数据序列号的获取方法、装置、设备、介质及产品 | |
CN115858320A (zh) | 操作日志记录方法、装置、介质及产品 | |
CN115345646A (zh) | 信息发送方法、装置、设备及计算机可读存储介质 | |
CN110493735B (zh) | 一种短信处理方法及装置 | |
CN116136844A (zh) | 实体标识信息的生成方法、装置、介质及电子设备 | |
CN112487065A (zh) | 一种数据检索方法和装置 | |
CN112527787B (zh) | 一种安全可靠的多方数据去重系统、方法及装置 | |
CN114661993A (zh) | 信息查询方法、装置、设备及计算机可读存储介质 | |
CN111339097B (zh) | 一种数据处理方法及相关设备 | |
CN115396280B (zh) | 告警数据的处理方法、装置、设备及存储介质 | |
CN109285036B (zh) | 物联网业务处理方法、装置及存储介质 | |
CN116996537A (zh) | 系统连接方法、装置、设备、介质及产品 | |
CN116775110A (zh) | 数据同步方法、装置、设备、介质及产品 | |
CN115775184A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN117807632A (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 |