CN109450987B - 编号生成方法、装置及系统和存储介质 - Google Patents
编号生成方法、装置及系统和存储介质 Download PDFInfo
- Publication number
- CN109450987B CN109450987B CN201811213822.2A CN201811213822A CN109450987B CN 109450987 B CN109450987 B CN 109450987B CN 201811213822 A CN201811213822 A CN 201811213822A CN 109450987 B CN109450987 B CN 109450987B
- Authority
- CN
- China
- Prior art keywords
- generation request
- server
- number generation
- database
- maximum
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6245—Modifications to standard FIFO or LIFO
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种编号生成方法、装置及系统和存储介质,所述方法应用于分布式系统中的缓存服务器,所述分布式系统还包括与所述缓存服务器相连的多个服务器;所述编号生成方法包括:在编号请求设备向服务器发送编号生成请求后,接收由服务器转发的所述编号生成请求;在已缓存编号计数器信息基础上,生成与编号生成请求对应的编号;反馈该编号至服务器,以供服务器反馈该编号至编号请求设备。本申请中各个服务器不再生成编号也无需执行同步操作来保证各个服务器均存储最大编号,而是由缓存服务器来统一生成编号并存储最大编号。本申请可以保证缓存服务器基于最大编号来生成新的编号又避免服务器之间的同步操作,从而提高分布式系统的编号效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种编号生成方法、装置及系统和存储介质。
背景技术
随着互联网的迅速发展,很多业务场景均需要生成编号。目前对于一些较大系统通常采用分布式系统来生成编号。
目前分布式系统包括多个服务器,多个服务器之间互相连接。每个服务器可以接收编号请求设备发送的编号生成请求以及其它服务器发送的同步信号(同步信号包括其它服务器上生成的最大编号),并在其它服务器发送的同步信号和自身已生成序号中确定出最大编号,并将最大编号加一后生成新编号,然后发送同步信号至其它服务器,以便其它服务器备份该服务器上生成的最大编号。
由于分布式系统中多个服务器需要进行同步操作,导致分布式系统中一个服务器需要等待其他服务器的同步信号后才可以生成编号,这导致分布式系统中生成编号的效率较低。
发明内容
鉴于此,本申请提供一种编号生成方法、装置及系统和存储介质,本申请无需多个服务器执行同步操作,所以可以提高生成编号的效率。
为了实现上述目的,本申请提供了下述技术特征:
一种编号生成方法,应用于分布式系统中的缓存服务器,所述分布式系统还包括与所述缓存服务器相连的多个服务器;所述编号生成方法包括:
在编号请求设备向服务器发送编号生成请求后,接收由所述服务器转发的所述编号生成请求;
在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号;
反馈该编号至所述服务器,以供所述服务器反馈该编号至所述编号请求设备。
可选的,所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号;
则所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号,包括:
在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;
在该最大编号基础上加一计数,获得与所述编号生成请求对应的编号。
可选的,所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号,所述缓存服务器还包括与业务类型对应的编号规则;
则所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号,包括:
在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;
在该最大编号基础上,按与所述编号生成请求中业务类型对应的编号规则进行计数,获得与所述编号生成请求对应的编号。
可选的,所述分布式系统还包括与所述缓存服务器相连的数据库设备;则在接收由所述服务器转发的所述编号生成请求之后,还包括:
判断所述缓存服务器中缓存的编号计数器信息是否存在;
若所述缓存服务器中的编号计数器信息存在,则执行所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号的步骤;并执行编号缓存操作:生成与所述编号对应的编号消息并缓存所述编号消息至消息队列;
与所述编号缓存操作异步执行的数据库落地操作:单位时间内,从所述消息队列中确定出多个业务类型对应的最大编号消息,并发送所述多个业务类型对应的最大编号消息至所述数据库设备,以供数据库设备利用所述多个业务类型对应的最大编号消息更新数据库设备中的历史编号消息。
可选的,还包括:
若所述缓存服务器中的编号计数器信息不存在,则从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息,进入所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号的步骤。
可选的,在所述从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息之前,还包括:
判断所述消息队列是否为空;
若所述消息队列为空,则直接从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息;
若所述消息队列不为空,则挂起所述编号生成请求对应的线程,在执行至少一次数据库落地操作后使所述消息队列为空后,再从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息。
可选的,所述生成与所述编号对应的编号消息并缓存所述编号消息至消息队列,包括:
构建所述编号生成请求中业务类型和所述编号生成请求对应编号组成的键值对;
添加所述键值对至预先构建的先进先出的消息队列。
种编号生成系统,编号请求设备,缓存服务器,以及,与所述缓存服务器相连的多个服务器;
所述编号请求设备,用于发送编号生成请求至服务器,并接收所述服务器反馈的编号;
所述服务器,用于接收编号请求设备发送的编号生成请求,并发送编号生成请求至所述缓存服务器,接收所述缓存服务器发送的与编号生成请求对应的编号,反馈该编号至编号请求设备;
所述缓存服务器,用于接收所述服务器发送的编号生成请求,在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号;反馈该编号至所述服务器。
可选的,所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号;
则所述缓存服务器执行所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号的具体过程,包括:在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;在该最大编号基础上加一计数,获得与所述编号生成请求对应的编号。
可选的,所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号,所述缓存服务器还包括与业务类型对应的编号规则;
则所述缓存服务器执行所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号过程,具体包括:在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;在该最大编号基础上,按与所述编号生成请求中业务类型对应的编号规则进行计数,获得与所述编号生成请求对应的编号。
可选的,所述分布式系统还包括与所述缓存服务器相连的数据库设备;
所述缓存服务器,还用于在接收所述服务器发送的编号生成请求之后,判断所述缓存服务器中缓存的编号计数器信息是否存在;若所述缓存服务器中的编号计数器信息存在,则执行所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号的步骤;并执行编号缓存操作:生成与所述编号对应的编号消息并缓存所述编号消息至消息队列;
所述缓存服务器还用于执行与所述编号缓存操作异步执行的数据库落地操作:单位时间内,从所述消息队列中确定出多个业务类型对应的最大编号消息,并发送所述多个业务类型对应的最大编号消息至所述数据库设备;
数据库设备,用于接收多个业务类型对应的最大编号消息,利用所述多个业务类型对应的最大编号消息更新数据库设备中的历史编号消息。
可选的,所述缓存服务器,还用于若判定编号计数器信息不存在,则从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息。
可选的,所述缓存服务器,还用于在所述从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息之前,还包括:判断所述消息队列是否为空;若所述消息队列为空,则直接从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息;若所述消息队列不为空,则挂起所述编号生成请求对应的线程,在执行至少一次数据库落地操作后使所述消息队列为空后,再从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息。
可选的,则所述数据库设备用于接收多个业务类型对应的最大编号消息的过程,具体包括:
数据库设备,用于对于每个业务类型对应的最大编号消息执行下述过程:在判定不包含该业务类型情况下,存储该最大编号消息;在判定包含该业务类型,则利用该业务类型对应的最大编号消息更新数据库设备中的历史编号消息。
一种编号生成装置,集成于分布式系统中的缓存服务器,所述分布式系统还包括与所述缓存服务器相连的多个服务器;所述编号生成装置包括:
接收模块,用于在编号请求设备向服务器发送编号生成请求后,接收由所述服务器转发的所述编号生成请求;
编号生成模块,用于在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号;
反馈模块,用于反馈该编号至所述服务器,以供所述服务器反馈该编号至所述编号请求设备。
可选的,所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号;所述装置包括:
前置处理模块,用于判断所述缓存服务器中缓存的编号计数器信息是否存在;若所述缓存服务器中的编号计数器信息存在,则进入所述编号生成模块编号、编号缓存模块以及数据库落地模块;若所述缓存服务器中的编号计数器信息不存在,则进入获取模块;
编号缓存模块:生成与所述编号对应的编号消息并缓存所述编号消息至消息队列;
与所述编号缓存操作异步执行的数据库落地模块:单位时间内,从所述消息队列中确定出多个业务类型对应的最大编号消息,并发送所述多个业务类型对应的最大编号消息至所述数据库设备,以供数据库设备利用所述多个业务类型对应的最大编号消息更新数据库设备中的历史编号消息;
获取模块,用于若所述缓存服务器中的编号计数器信息不存在,则从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息。
可选的,进入获取模块之前还包括:
判断模块,用于判断所述消息队列是否为空;若所述消息队列为空,则进入所述获取模块,若所述消息队列不为空,则进入挂起模块;
挂起模块,用于挂起所述编号生成请求对应的线程,在数据库落地模块执行至少一次数据库落地操作使所述消息队列为空后,再进入所述获取模块。
一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行,实现所述的编号生成方法的各步骤。
通过以上技术手段,可以实现以下有益效果:
本申请提供的分布式系统包括与多个服务器相连的缓存服务器,分布式系统中各个服务器不再生成编号也无需执行同步操作来保证各个服务器均存储最大编号,而是将编号生成请求发送至缓存服务器,由缓存服务器来统一生成编号,并由缓存服务器来存储最大编号。
这样既可以保证缓存服务器基于最大编号来生成新的编号,还可以避免多个服务器之间的同步操作,从而可以提高分布式系统的编号效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a-1b为本申请实施例公开的一种编号生成系统的结构示意图;
图2为本申请实施例公开的一种编号生成方法的流程图;
图3为本申请实施例公开的又一种编号生成方法的流程图;
图4为本申请实施例公开的一种编号生成装置的结构示意图。
具体实施方式
本申请提供了一种分布式系统;分布式系统包括缓存服务器以及与缓存服务器相连的多个服务器。
分布式系统中各个服务器不再生成编号也无需执行同步操作来保证各个服务器均存储最大编号,而是将编号生成请求发送至缓存服务器,由缓存服务器来统一生成编号,并由缓存服务器来存储最大编号。
因为只有缓存服务器来生成编号,所以缓存服务器上的最新编号也即最大编号,无需再执行同步操作。这样既可以保证缓存服务器基于最大编号来生成新的编号,还可以避免多个服务器之间的同步操作,从而可以提高分布式系统的编号效率。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种编号生成系统的一种实施例,参见图1a,编号生成系统包括分布式系统100,与分布式系统100相连的多个编号请求设备200。分布式系统包括多个相互连接的服务器101,与多个服务器101相连的缓存服务器102。
(图示中以三个编号请求设备200、三个服务器101为例进行示意性说明,编号请求设备200和多个服务器101的数量可以根据实际情况进行设置,本申请不做限定)
下面介绍分布式系统的执行过程:
服务器101,用于接收编号请求设备200发送的编号生成请求,并发送编号生成请求至所述缓存服务器102,接收所述缓存服务器102发送的与编号生成请求对应的编号,反馈该编号至编号请求设备。
编号请求设备200上可以包含多个使用编号的业务场景(例如,为多个生产设备添加连续编号,为多个用户订单添加连续编号等等),所以为了区分每个业务场景,可以为每个业务场景分配一个业务类型。在具有多个业务场景的情况下,编号请求设备的编号生成请求包括业务类型。
分布式系统100可以提供一个应用程序编程接口(API(Application ProgrammingInterface,API),编号请求设备200可以调用该接口,以发送编号生成请求至分布式系统。
分布式系统100接收编号生成请求设备200发送的编号生成请求,分布式系统中负载均衡服务器(未在图1中示出)可以按照负载均衡策略分发编号生成请求至其中一个服务器101,服务器101转发编号生成请求至缓存服务器102。
所述缓存服务器102,用于接收所述服务器发送的编号生成请求,在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号;反馈该编号至所述服务器。
初始情况下,缓存服务器存储有各个业务类型对应的初始编号值,通常情况下缓存服务器包括缓存计时器用来实现加一计数,可以适用于大部分生成连续编号的应用场景。
在一些特殊应用场景下,缓存服务器不采用连续计数方式,此情况下可以添加编号规则。在初始编号值基础上按照编号规则计数,并生成非连续的编号。例如,在编号规则为间隔一个数字进行计数,则在初始编号值为0的情况下,按照0、2、4、6……方式进行计数。
缓存服务器在不断生成编号的过程中,会缓存各个业务类型对应的编号。可以理解的是,缓存服务器中最新生成的编号为各个业务类型对应的最大编号。
缓存服务器102的执行过程可以包括两个应用场景:
第一应用场景:所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号。
则缓存服务器在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号,具体包括:在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;在该最大编号基础上加一计数,获得与所述编号生成请求对应的编号。
第二应用场景:编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号,所述缓存服务器还包括与业务类型对应的编号规则;则缓存服务器在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号,包括:
在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;在该最大编号基础上,按与所述编号生成请求中业务类型对应的编号规则进行计数,获得与所述编号生成请求对应的编号。
缓存服务器102在生成与编号生成请求对应的编号后,会反馈该编号至服务器101,服务器101可以反馈该编号至编号请求设备200。
通过上述技术特征可知本申请具有下述有益效果:
本申请提供的分布式系统包括与多个服务器相连的缓存服务器,分布式系统中各个服务器不再生成编号也无需执行同步操作来保证各个服务器均存储最大编号,而是将编号生成请求发送至缓存服务器,由缓存服务器来统一生成编号,并由缓存服务器来存储最大编号。
这样既可以保证缓存服务器基于最大编号来生成新的编号,还可以避免多个服务器之间的同步操作,从而可以提高分布式系统的编号效率。
分布式系统中缓存服务器用来缓存编号计数器信息,在分布式系统运行过程中在某些特殊情况下需要重启缓存服务器,在缓存服务器重启后,缓存服务器的编号计数器信息会被清空,也即各个业务类型的最大编号被清空,后续分布式系统无法基于最大编号来生成编号。
为了解决上述问题,本申请提供编号生成系统的又一实施例。参见图1b,本实施例在图1a所示的实施例基础上,在分布式系统中增加与所述缓存服务器102相连的数据库设备103。
本申请提供了适用于编号生成系统的一种编号生成方法。由于编号生成系统中各个服务器的执行过程是一致的,因此以一个服务器为例,对编号生成方法进行详细说明。参见图2,可以包括如下步骤:
步骤S201:服务器接收编号请求设备发送的编号生成请求,并发送编号生成请求至缓存服务器。
在具有多个业务场景的情况下,编号请求设备发送的编号生成请求可以包括业务类型,以用于表示业务场景。
步骤S202:缓存服务器判断缓存的编号计数器信息是否存在;若存在则进入步骤S203,若不存在则进入步骤S208。
编号计数器信息包括:缓存服务器在不断编号过程中缓存的各个业务类型对应的最大编号。
以编号规则为加一计数的业务场景为例,初始情况下缓存服务器具有各个业务场景的初始值,例如,初始值为零。在不断接收编号生成请求的情况下,缓存服务器可以进行加一计数,获得下述表1所示的编号计数器信息。
表1
业务场景 | 已有最大编号 |
业务类型1 | 0000789 |
业务类型2 | 412223 |
…… |
在缓存服务器的存在编号计数器信息情况下,则进入步骤S203进行编号。在缓存服务器因为特殊情况重启后,其上存储的编号计数器信息会被清空,此情况下无法基于最大编号进行计数,进入步骤S210。
步骤S203:在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号。
缓存服务器执行过程可以包括两个应用场景:
第一应用场景:所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号。
则缓存服务器在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号,具体包括:在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;在该最大编号基础上加一计数,获得与所述编号生成请求对应的编号。
以“业务类型1”为例,其对应的最大编号为“0000789”,在“0000789”基础上加1后生成连续性编号“0000790”,也即与编号生成请求对应的编号。
第二应用场景:编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号,所述缓存服务器还包括与业务类型对应的编号规则;则缓存服务器在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号,包括:
在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;在最大编号基础上,按与所述编号生成请求中业务类型对应的编号规则进行计数,获得与所述编号生成请求对应的编号。
可以理解的是,编号规则可以包括多种形式,例如,间隔一个数字计数方式,按照预设函数递增,按照预设函数递减,偶数计数方式,奇数计数方式等等,在此不做限定。
以“业务类型2”为例,其对应的最大编号为“412223”。假设业务类型2对应的编号规则为“间隔一个数字进行计数的方式”则在最大编号“412223”基础上,间隔一个数字进行计数的方式获得“412225”,也即与编号生成请求对应的编号。
步骤S204:缓存服务器执行编号缓存操作:生成与所述编号对应的编号消息并缓存所述编号消息至消息队列。
本步骤可以采用下述执行方式:构建编号生成请求中业务类型和编号生成请求对应编号组成的键值对;添加所述键值对至预先构建的先进先出的消息队列。
由于消息队列中的编号是不断增加的,也即,后续编号必然是之前的编号大,为了便于后续处理构建的消息队列是先进先出队列,以便由前至后依次处理编号消息。
以具体实例中用户编号对应的业务类型采用键名user,生成编号为2002即数值为2002为例,则组成的键值对为(user:2002)。
以具体实例中商户号对应的业务类型采用键名为merchant,生成编号为295为例,则组成的键值对为(merchant:295)。
以具体实例中订单号对应的业务类型采用键名order,生成编号为23即数值为23为例,则组成的键值对为(order:23)。
缓存服务器中的消息队列存储多个业务类型对应的键值对,以上述实例为例,参见表2,为消息队列实例的示意说明。
表2
…… | user:2002 | merchant:295 | order:23 |
步骤S205:缓存服务器反馈该编号至服务器。
步骤S206:服务器发送与编号生成请求对应的编号至编号请求设备。
可以理解的是,由于编号请求设备不断向分布式系统发送编号生成请求,所以上述步骤S201-S206在不断执行,消息队列也不断增加。假设一段时间后缓存服务器的消息队列具有600条编号消息,如表3所示:
表3
为了保证保存各个业务类型对应的最大编号,缓存服务器中设置有定时器(例如1秒),每隔定时器执行的时间间隔(也即单位时间),执行一次数据库落地操作。
步骤S207:与所述编号缓存操作异步执行的数据库落地操作:单位时间内,从所述消息队列中确定出多个业务类型对应的最大编号消息,并发送所述多个业务类型对应的最大编号消息至所述数据库设备,以供数据库设备存储。
本步骤可以采用如下方式实现,参见图3,具体包括以下步骤:
步骤S2071:缓存服务器从所述消息队列中提取批量编号消息。
缓存服务器可以预先设定单位时间,以及单位时间可处理的编号消息的预设数量,则缓存服务器可以每隔单位时间从消息队列中按先进先出顺序,获取预设数量的编号消息。可以理解的是,单位时间以及预设数量均可以根据实际应用场景确定,再次不做限定。
例如,以定时器的时间间隔为1秒,预设数量为N(N取500为例),则缓存服务器每隔1秒,从消息队列中提取500条编号消息,组成的批量编号消息。
表4
步骤S2072:缓存服务器确定批量编号消息中多个业务类型的最大编号消息。
在执行数据库落地操作后可以获得编号消息合并列表,也即本次批量编号消息中多个业务类型对应的最大编号消息;以表4的消息队列的举例,编号消息合并列表如表5所示:
表5
业务类型 | 数值 |
order | 23 |
user | 2105 |
merchant | 295 |
其中,关于步骤S2072缓存服务器确定批量编号消息中多个业务类型的最大编号消息,详细描述如下:
消息队列包括多个业务类型对应的编号消息,缓存服务器可以对批量编号消息按业务类型进行归类合并操作;分别确定出多个业务类型对应的最大编号消息。归类合并操作可以采用如下方式:
步骤1:从所述批量编号消息中选择下一编号消息作为当前编号消息。
步骤2:判断编号消息合并列表是否包含当前编号消息的业务类型,若是则进入步骤S3,若否则进入步骤S4。
步骤S3:若编号消息合并列表不包含所述当前编号消息的业务类型,则添加所述当前编号消息至所述编号消息合并列表。
步骤S4:若编号消息合并列表包含所述当前编号消息的业务类型,则更新所述编号消息合并列表为当前编号消息。
步骤S5:判断当前编号消息是否为最后编号消息,若否进入步骤S2051,若是则进入步骤S6。
若所述当前编号消息非最后编号消息,则进入从所述批量编号消息中依次选择下一编号消息作为当前编号消息的步骤,直到所述当前编号消息为最后编号消息。
接步骤S2072进入S2073:缓存服务器发送批量编号消息中多个业务类型对应的最大编号消息至所述数据库设备。
本步骤并没有将批量编号消息全部发送至数据库设备,仅仅发送了批量编号消息中多个业务类型对应的最大编号消息,是因为后续仅需使用到多个业务类型的最大编号消息,因此,仅需将批量编号消息中多个业务类型的最大编号消息落地到数据库设备即可。
由于大大减少需要落地到数据库设备的编号消息的数量,因此,本实施例中可以减少对数据库设备的消耗,并且,可以提升数据库落地过程的效率。
步骤S2074:数据库设备利用批量编号消息中多个业务类型对应的最大编号消息更新数据库设备中的历史编号消息。
为了保证缓存服务器可以实现连续性编号,数据库设备利用多个业务类型对应的最大编号消息更新历史编号消息,历史编号消息为上一次存储至数据库设备中的最大编号消息。
其中,关于步骤S2074数据库设备利用批量编号消息中多个业务类型对应的最大编号消息更新数据库设备中的历史编号消息进行详细描述如下:
对于步骤2073中获得编号消息合并列表中每个业务类型执行下述操作:
步骤S1:数据库设备获取所述编号消息合并列表中业务类型对应的第一编号。
例如获取编号消息合并列表中业务类型“order”,对应的第一编号“23”。
步骤S2:数据库设备判断历史编号消息中是否包含该业务类型。
步骤S3:数据库设备若判定历史编号消息中包含该业务类型,则从所述历史编号消息获取该业务类型对应的第二编号,仅在所述第一编号大于所述第二编号情况下,利用所述第一编号更新所述第二编号。
判断历史编号消息是否包含该业务类型,若包含该业务类型,则表明历史编号消息之前已经存储过该业务类型对应的最大编号消息,需要比较两者编号大小之后在决定是否更新数据库。
若编号消息合并列表中业务类型对应的第一编号大于数据库中该业务类型对应的第二编号,则将第一编号代替第二编号,从而保证数据库设备存储该业务类型对应的最大编号消息。反之,若第一编号不大于第二编号,则不更新数据库。
步骤S4:数据库设备若判定历史编号消息中不包含该业务类型,则更新该业务类型和所述第一编号至所述数据库。
若历史编号消息不包含该业务类型,则表明之前未存储过该业务类型对应的最大编号消息;所以可以直接存储该业务类型和所述第一编号至数据库设备。
步骤S2075:数据库设备发送数据库落地完毕的消息至缓存服务器。
步骤S2076:缓存服务器删除批量编号消息。
步骤S2077:缓存服务器判断消息队列是否为空,若不为空则结束,则进入步骤S2071继续执行数据库落地操作,若为空,则释放在数据库落地操作期间挂起的线程,进入步骤S202。
缓存服务器一次处理一个批量编号消息,在消息队列中还剩余有未处理的编号消息时,在达到定时器的时间间隔后会继续按步骤207来处理消息队列。
在缓存服务器执行数据库落地操作期间,缓存服务器会挂起已接收到的编号生成请求对应的进程,即缓存服务器不允许消息队列再进入新的编号消息,直到缓存服务器对消息队列处理完毕,完成将消息队列中多个业务类型对应的最大消息编号均存储至数据库设备中。
接步骤S202进入步骤S208:缓存服务器从所述数据库设备中获取并缓存编号计数器信息,进入步骤S203。
若所述缓存服务器中的编号计数器信息不存在,则从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息。
通过上述实施例可以看出,本申请具有以下有益效果:
本实施例通过缓存服务器与数据库设备的交互操作,可以在数据库设备中存储缓存服务器生成的多个业务类型的最大编号消息,以便在特殊情况下重启缓存服务器后,缓存服务器可以从数据库设备中获取编号计数器信息,也即编号多个业务类型对应的最大编号消息,从而使得缓存服务器可以基于编号计数器信息中最大编号消息进行计数,以生成与编号生成请求对应的编号。
本申请还提供了一种编号生成装置,集成于分布式系统中的缓存服务器,所述分布式系统还包括与分布式系统相连的多个服务器。参见图4,所述编号生成装置包括:
接收模块41,用于在编号请求设备向服务器发送编号生成请求后,接收由所述服务器转发的所述编号生成请求。
编号生成模块42,用于在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号。
第一应用场景:所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号;则编号生成模块包括:在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;在该最大编号基础上加一计数获得与所述编号生成请求对应的编号。
第二应用场景:所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号,所述缓存服务器还包括与业务类型对应的编号规则;则编号生成模块包括:在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;在最大编号基础上,按与所述编号生成请求中业务类型对应的编号规则进行计数,获得与所述编号生成请求对应的编号。
反馈模块43,用于反馈该编号至所述服务器,以供所述服务器反馈该编号至所述编号请求设备。
所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号;所述装置还包括:
前置处理模块44,用于判断所述缓存服务器中缓存的编号计数器信息是否存在;若所述缓存服务器中的编号计数器信息存在,则进入所述编号生成模块编号、编号缓存模块以及数据库落地模块;若所述缓存服务器中的编号计数器信息不存在,则进入获取模块;
编号缓存模块45:生成与所述编号对应的编号消息并缓存所述编号消息至消息队列;具体包括:构建所述编号生成请求中业务类型和所述编号生成请求对应编号组成的键值对;添加所述键值对至预先构建的先进先出的消息队列。
与所述编号缓存操作异步执行的数据库落地模块46:从所述消息队列中确定出多个业务类型对应的最大编号消息,并发送所述多个业务类型对应的最大编号消息至所述数据库设备,以供数据库设备利用所述多个业务类型对应的最大编号消息更新数据库设备中的历史编号消息;
获取模块47,用于若所述缓存服务器中的编号计数器信息不存在,则从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息。
进入获取模块47之前还包括:
判断模块48,用于判断所述消息队列是否为空;若所述消息队列为空,则进入所述获取模块,若所述消息队列不为空,则进入挂起模块;
挂起模块49,用于挂起所述编号生成请求对应的线程,在数据库落地模块执行至少一次数据库落地操作使所述消息队列为空后,再进入所述获取模块。
关于编号生成装置的详细执行过程,可以参见图2所示的实施例,在此不再赘述。
参见图1a本申请提供了一种编号生成系统,包括:编号请求设备,缓存服务器,以及,与所述缓存服务器相连的多个服务器;
编号请求设备,用于发送编号生成请求至服务器,并接收所述服务器反馈的编号;
所述服务器,用于接收编号请求设备发送的编号生成请求,并发送编号生成请求至所述缓存服务器,接收所述缓存服务器发送的与编号生成请求对应的编号,反馈该编号至编号请求设备;
所述缓存服务器,用于接收所述服务器发送的编号生成请求,在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号;反馈该编号至所述服务器。
第一应用场景:所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号;
则所述缓存服务器执行所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号的具体过程,包括:在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;在该最大编号基础上加一获得与所述编号生成请求对应的编号。
第二应用场景:所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号,所述缓存服务器还包括与业务类型对应的编号规则;
则所述缓存服务器执行所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号过程,具体包括:在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;在最大编号基础上,按与所述编号生成请求中业务类型对应的编号规则进行计数,获得与所述编号生成请求对应的编号。
参见图1b,本申请又提供了一种编号生成系统,所述分布式系统还包括与所述缓存服务器相连的数据库设备;
所述缓存服务器,还用于在接收所述服务器发送的编号生成请求之后,判断所述缓存服务器中缓存的编号计数器信息是否存在;若所述缓存服务器中的编号计数器信息存在,则执行所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号的步骤;并执行编号缓存操作:生成与所述编号对应的编号消息并缓存所述编号消息至消息队列;
所述缓存服务器还用于执行与所述编号缓存操作异步执行的数据库落地操作:单位时间内,从所述消息队列中确定出多个业务类型对应的最大编号消息,并发送所述多个业务类型对应的最大编号消息至所述数据库设备;
数据库设备,用于接收多个业务类型对应的最大编号消息,利用所述多个业务类型对应的最大编号消息更新数据库设备中的历史编号消息。
所述缓存服务器,还用于若判定编号计数器信息不存在,则从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息。
所述缓存服务器,还用于在所述从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息之前,还包括:判断所述消息队列是否为空;若所述消息队列为空,则直接从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息;若所述消息队列不为空,则挂起所述编号生成请求对应的线程,在执行至少一次数据库落地操作后使所述消息队列为空后,再从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息。
则所述数据库设备用于接收多个业务类型对应的最大编号消息的过程,具体包括:
数据库设备,用于对于每个业务类型对应的最大编号消息执行下述过程:在判定不包含该业务类型情况下,存储该最大编号消息;在判定包含该业务类型,则利用该业务类型对应的最大编号消息更新数据库设备中的历史编号消息。
关于编号生成系统的详细执行过程可以参见图2对应的实施例,在此不再赘述。
本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器实现图2所述编号生成方法的各步骤,在此不再赘述。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种编号生成方法,其特征在于,应用于分布式系统中的缓存服务器,所述分布式系统还包括与所述缓存服务器相连的多个服务器、与所述缓存服务器相连的数据库设备;所述编号生成方法包括:
在编号请求设备向服务器发送编号生成请求后,接收由所述服务器转发的所述编号生成请求;所述编号生成请求包括业务类型;
在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号;
反馈该编号至所述服务器,以供所述服务器反馈该编号至所述编号请求设备;
还包括:数据库落地操作:单位时间内,从消息队列中确定出多个业务类型对应的最大编号消息,并发送所述多个业务类型对应的最大编号消息至所述数据库设备,以供数据库设备利用所述多个业务类型对应的最大编号消息更新数据库设备中的历史编号消息;
还包括:
若所述缓存服务器中的编号计数器信息不存在,则从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息,进入所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号的步骤;
在所述从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息之前,还包括:
判断所述消息队列是否为空;
若所述消息队列为空,则直接从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息;
若所述消息队列不为空,则挂起所述编号生成请求对应的线程,在执行至少一次数据库落地操作后使所述消息队列为空后,再从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息。
2.如权利要求1所述的方法,其特征在于,所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号;
则所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号,包括:
在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;
在该最大编号基础上加一计数,获得与所述编号生成请求对应的编号。
3.如权利要求1所述的方法,其特征在于,所述编号生成请求包括业务类型,所述编号计数器信息包括多个业务类型对应的最大编号,所述缓存服务器还包括与业务类型对应的编号规则;
则所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号,包括:
在所述编号计数器信息中,确定出与所述编号生成请求中业务类型对应的最大编号;
在该最大编号基础上,按与所述编号生成请求中业务类型对应的编号规则进行计数,获得与所述编号生成请求对应的编号。
4.如权利要求2或3所述的方法,其特征在于在接收由所述服务器转发的所述编号生成请求之后,还包括:
判断所述缓存服务器中缓存的编号计数器信息是否存在;
若所述缓存服务器中的编号计数器信息存在,则执行所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号的步骤;并执行编号缓存操作:生成与所述编号对应的编号消息并缓存所述编号消息至消息队列;
所述数据库落地操作与所述编号缓存操作异步执行。
5.如权利要求4所述的方法,其特征在于,所述生成与所述编号对应的编号消息并缓存所述编号消息至消息队列,包括:
构建所述编号生成请求中业务类型和所述编号生成请求对应编号组成的键值对;
添加所述键值对至预先构建的先进先出的消息队列。
6.一种编号生成系统,其特征在于,包括:编号请求设备,缓存服务器,以及,与所述缓存服务器相连的多个服务器、与所述缓存服务器相连的数据库设备;
所述编号请求设备,用于发送编号生成请求至服务器,并接收所述服务器反馈的编号;所述编号生成请求包括业务类型;
所述服务器,用于接收编号请求设备发送的编号生成请求,并发送编号生成请求至所述缓存服务器,接收所述缓存服务器发送的与编号生成请求对应的编号,反馈该编号至编号请求设备;
所述缓存服务器,用于接收所述服务器发送的编号生成请求,在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号;反馈该编号至所述服务器;
所述缓存服务器还用于执行数据库落地操作:单位时间内,从消息队列中确定出多个业务类型对应的最大编号消息,并发送所述多个业务类型对应的最大编号消息至所述数据库设备;
所述缓存服务器还用于:
若所述缓存服务器中的编号计数器信息不存在,则从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息,进入所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号的步骤;
在所述从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息之前,所述缓存服务器还用于:
判断所述消息队列是否为空;
若所述消息队列为空,则直接从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息;
若所述消息队列不为空,则挂起所述编号生成请求对应的线程,在执行至少一次数据库落地操作后使所述消息队列为空后,再从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息;
所述数据库设备,用于接收多个业务类型对应的最大编号消息,利用所述多个业务类型对应的最大编号消息更新数据库设备中的历史编号消息。
7.一种编号生成装置,其特征在于,集成于分布式系统中的缓存服务器,所述分布式系统还包括与所述缓存服务器相连的多个服务器、与所述缓存服务器相连的数据库设备;所述编号生成装置包括:
接收模块,用于在编号请求设备向服务器发送编号生成请求后,接收由所述服务器转发的所述编号生成请求;所述编号生成请求包括业务类型;
编号生成模块,用于在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号;
反馈模块,用于反馈该编号至所述服务器,以供所述服务器反馈该编号至所述编号请求设备;
与所述编号缓存操作异步执行的数据库落地模块,用于从消息队列中确定出多个业务类型对应的最大编号消息,并发送所述多个业务类型对应的最大编号消息至所述数据库设备,以供数据库设备利用所述多个业务类型对应的最大编号消息更新数据库设备中的历史编号消息;
所述编号生成装置还用于:
若所述缓存服务器中的编号计数器信息不存在,则从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息,进入所述在已缓存编号计数器信息基础上,生成与所述编号生成请求对应的编号的步骤;
在所述从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息之前,所述编号生成装置还用于:
判断所述消息队列是否为空;
若所述消息队列为空,则直接从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息;
若所述消息队列不为空,则挂起所述编号生成请求对应的线程,在执行至少一次数据库落地操作后使所述消息队列为空后,再从所述数据库设备中获取并缓存多个业务类型对应的最大编号消息。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行,实现如权利要求1-5任一项所述的编号生成方法的各步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811213822.2A CN109450987B (zh) | 2018-10-18 | 2018-10-18 | 编号生成方法、装置及系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811213822.2A CN109450987B (zh) | 2018-10-18 | 2018-10-18 | 编号生成方法、装置及系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109450987A CN109450987A (zh) | 2019-03-08 |
CN109450987B true CN109450987B (zh) | 2021-08-03 |
Family
ID=65547188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811213822.2A Active CN109450987B (zh) | 2018-10-18 | 2018-10-18 | 编号生成方法、装置及系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450987B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138863A (zh) * | 2020-01-18 | 2021-07-20 | 佛山市云米电器科技有限公司 | 消息的标识信息生成方法、装置、设备及存储介质 |
JP2021175096A (ja) * | 2020-04-27 | 2021-11-01 | 株式会社ミツトヨ | ネットワーク装置 |
CN111694841A (zh) * | 2020-04-29 | 2020-09-22 | 平安科技(深圳)有限公司 | 订单标识生成方法、装置、服务器及存储介质 |
CN111753117A (zh) * | 2020-06-16 | 2020-10-09 | 南京认知物联网研究院有限公司 | 设置多张产品照片帧号的方法、系统、设备和存储介质 |
CN112632117A (zh) * | 2020-12-30 | 2021-04-09 | 广州华多网络科技有限公司 | 编号数据的处理方法、装置、电子设备及存储介质 |
CN113065034B (zh) * | 2021-03-29 | 2022-11-18 | 上海安畅网络科技股份有限公司 | 一种分布式系统编号生成方法和系统 |
CN114567644B (zh) * | 2022-02-21 | 2023-10-20 | 深圳希施玛数据科技有限公司 | 一种数据同步的方法、装置及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102769667A (zh) * | 2012-06-29 | 2012-11-07 | 北京奇虎科技有限公司 | 一种id生成方法、装置和系统 |
CN103647833A (zh) * | 2013-12-16 | 2014-03-19 | 百度在线网络技术(北京)有限公司 | 连续序号生成系统和方法 |
CN104486407A (zh) * | 2014-12-12 | 2015-04-01 | 北京国双科技有限公司 | 编号的生成方法及装置 |
CN106790510A (zh) * | 2016-12-16 | 2017-05-31 | 北京小米移动软件有限公司 | 序列号的生成方法、装置以及系统 |
CN108243264A (zh) * | 2016-12-27 | 2018-07-03 | 中国移动通信有限公司研究院 | 一种序列号生成方法及系统 |
CN108509433A (zh) * | 2017-02-23 | 2018-09-07 | 北京京东金融科技控股有限公司 | 基于分布式系统的生成序列号的方法、装置及电子设备 |
CN108664521A (zh) * | 2017-04-01 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 一种提供序列号的方法、装置、电子设备和可读存储介质 |
-
2018
- 2018-10-18 CN CN201811213822.2A patent/CN109450987B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102769667A (zh) * | 2012-06-29 | 2012-11-07 | 北京奇虎科技有限公司 | 一种id生成方法、装置和系统 |
CN103647833A (zh) * | 2013-12-16 | 2014-03-19 | 百度在线网络技术(北京)有限公司 | 连续序号生成系统和方法 |
CN104486407A (zh) * | 2014-12-12 | 2015-04-01 | 北京国双科技有限公司 | 编号的生成方法及装置 |
CN106790510A (zh) * | 2016-12-16 | 2017-05-31 | 北京小米移动软件有限公司 | 序列号的生成方法、装置以及系统 |
CN108243264A (zh) * | 2016-12-27 | 2018-07-03 | 中国移动通信有限公司研究院 | 一种序列号生成方法及系统 |
CN108509433A (zh) * | 2017-02-23 | 2018-09-07 | 北京京东金融科技控股有限公司 | 基于分布式系统的生成序列号的方法、装置及电子设备 |
CN108664521A (zh) * | 2017-04-01 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 一种提供序列号的方法、装置、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109450987A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109450987B (zh) | 编号生成方法、装置及系统和存储介质 | |
CN109246229B (zh) | 一种分发资源获取请求的方法和装置 | |
CN111522641B (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
CN109800204B (zh) | 数据分配方法及相关产品 | |
CN110162529B (zh) | 一种数据处理方法、业务服务器及数据处理系统 | |
CN104754036A (zh) | 一种基于kafka的消息处理系统及处理方法 | |
CN106302780B (zh) | 集群设备批量传输数据的方法、装置及系统、服务器 | |
CN112398945B (zh) | 一种基于背压的业务处理方法及装置 | |
CN111722918A (zh) | 业务标识码生成方法、装置、存储介质及电子设备 | |
WO2017193873A1 (zh) | 一种分布式处理系统、数据处理的方法及控制节点设备 | |
CN110888735A (zh) | 基于一致性哈希的分布式消息分发方法、装置和调度节点 | |
CN113656176B (zh) | 云设备的分配方法、装置、系统、电子设备、介质及产品 | |
EP3401862A1 (en) | Data storage and service processing method and device | |
CN113015116B (zh) | 一种基于流量预测的动态配额方法和装置 | |
CN114448989B (zh) | 调整消息分发的方法、装置、电子设备、存储介质及产品 | |
CN112948081B (zh) | 延时处理任务的方法、装置、设备以及存储介质 | |
CN113765969A (zh) | 一种流量控制方法和装置 | |
CN110019372B (zh) | 数据监控方法、装置、服务器及存储介质 | |
CN108037897B (zh) | 一种元数据扩散的方法、计算机装置及可读存储介质 | |
CN111158896A (zh) | 一种分布式进程调度方法及系统 | |
CN112612631A (zh) | 一种消息队列堆积检测方法以及相关装置 | |
CN112380011A (zh) | 一种服务容量的动态调整方法及装置 | |
CN104978344A (zh) | 一种数据运算方法及装置 | |
CN115391042B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN113329010B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |