本发明专利技术公开了一种编号的生成方法及装置。其中,该方法包括:接收用于触发生成编号ID的触发信号;根据触发信号,生成N个内容不同的编号ID,其中,N为预先设置的生成编号ID的数量;按照预定的发送规则将N个内容不同的编号ID发送至终端集群中,以使终端集群中接收到编号ID的终端将接收到的编号ID存储至该终端自身的消息队列中,其中,终端集群包括至少两个终端。本发明专利技术解决了现有技术中在对编号ID出现高并发的请求时,导致生成编号ID的服务响应不及时或者服务崩溃的问题。
【技术实现步骤摘要】
编号的生成方法及装置
本专利技术涉及计算机领域,具体而言,涉及一种编号的生成方法及装置。
技术介绍
随着分布式系统的发展,越来越多的地方需要快速方便的获取唯一编号ID,例如订单系统中的订单号,支付系统中的交易号。通过字符串连接,完成序列化。当前有很多获取唯一ID的方法,例如:利用数据库中的自增列来获取唯一编号ID,该方案可以保证编号ID的全局唯一性,但是由于生成编号ID的数据库是单点的,某一个时间点只能有一个编号ID请求被响应,这样的话在高并发的情况下服务就可能出现响应不及时,或者服务崩溃(crash)的问题。另外一种比较常见的方案是利用时间标示作为编号ID的唯一标示,该方案虽然可以应付高并发下得响应要求,但是容易出现编号ID的重复的问题。针对现有技术中在对编号ID出现高并发的请求时,导致生成编号ID的服务响应不及时或者服务崩溃的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术的主要目的在于提供一种编号的生成方法及装置,以解决现有技术中在对编号ID出现高并发的请求时,导致生成编号ID的服务响应不及时或者服务崩溃的问题。为了实现上述目的,根据本专利技术实施例的一个方面,提供了一种编号的生成方法。该方法包括:接收用于触发生成编号ID的触发信号;根据触发信号,生成N个内容不同的编号ID,其中,N为预先设置的生成编号ID的数量;按照预定的发送规则将N个内容不同的编号ID发送至终端集群中,以使终端集群中接收到编号ID的终端将接收到的编号ID存储至该终端自身的消息队列中,其中,终端集群包括至少两个终端。为了实现上述目的,根据本专利技术实施例的另一方面,提供了一种编号的生成装置,该装置包括:第一接收模块,用于接收用于触发生成编号ID的触发信号;生成模块,用于根据触发信号,生成N个内容不同的编号ID,其中,N为预先设置的生成编号ID的数量;分发模块,用于按照预定的发送规则将N个内容不同的编号ID发送至终端集群中,以使终端集群中接收到编号ID的终端将接收到的编号ID存储至该终端自身的消息队列中,其中,终端集群包括至少两个终端。根据专利技术实施例,通过接收用于触发生成编号ID的触发信号;根据触发信号,生成N个内容不同的编号ID,其中,N为预先设置的生成编号ID的数量;按照预定的发送规则将N个内容不同的编号ID发送至终端集群中,以使终端集群中接收到编号ID的终端将接收到的编号ID存储至该终端自身的消息队列中,其中,终端集群包括至少两个终端,解决了现有技术在对编号ID出现高并发的请求时,导致生成编号ID的服务响应不及时或者服务崩溃的问题。实现了在高并发请求编号ID时均衡负载,提高编号ID分发效率的效果。附图说明构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例一的编号的生成方法的流程图;图2是根据本专利技术实施例一优选的编号的生成方法的流程图;图3是根据本专利技术实施例一优选的编号的生成方法的流程图;图4是根据本专利技术实施例一的编号的生成系统框图;图5是根据本专利技术实施例二的编号的生成装置的结构示意图;图6是根据本专利技术实施例二优选的编号的生成装置的结构示意图;以及图7是根据本专利技术实施例二优选的编号的生成装置的结构示意图。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本专利技术。为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。术语解释:并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。在关系数据库中,允许多个用户同时访问和更改共享数据的进程。SQLServer使用锁定以允许多个用户同时访问和更改共享数据而彼此之间不发生冲突。操作系统并发程序执行的特点:并发环境下,由于程序的封闭性被打破,出现了新的特点:①程序与计算不再一一对应,一个程序副本可以有多个计算;②并发程序之间有相互制约关系,直接制约体现为一个程序需要另一个程序的计算结果,间接制约体现为多个程序竞争某一资源,如处理机、缓冲区等;③并发程序在执行中是走走停停,断续推进的。编号ID:身份标识号码。也称为序列号或帐号,是某个体系中相对唯一的编码,相当于是一种“身份证”,在某一具体的事物中,身份标识号一般是不变的,至于用什么来标识该事物,则由设计者自己制定的规则来确定。一般而言,这个规则根据具体的使用环境在设计上有一定的主观性,如:“员工工号”、“身份证号码”“计算机网址”等。对于计算机主要有两种运算方式,逻辑运算和算术运算,逻辑运算便关系到数字的ID功能。身份标识号码在生活中是很常见的,比如你将产品的型号,生产号等分别贴在同类的事物上以区分他们,这个也可以叫ID。消息队列:“消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递消息。负载均衡:负载均衡(LoadBalancing)建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。实施例1本专利技术实施例提供了一种编号的生成方法。图1是根据本专利技术实施例的一种编号的生成方法的流程图。如图1所示,该方法包括步骤如下:步骤S11,接收用于触发生成编号ID的触发信号。具体的,通过上述步骤S11接收外部发送的用于触发生成编号ID的触发信号,其中,生成编号ID可以是一个专门的编号ID生成服务器,也可以是服务器中的一个编号ID生成服务。触发信号可以通过负载均衡服务器或者负载均衡服务生成,并发送至当前编号ID生成服务器中。步骤S13,根据触发信号,生成N个内容不同的编号ID,其中,N为预先设置的生成编号ID的数量,N为正整数。具体的,通过上述步骤S13,根据触发信号,每次生成预先设置的数量N个编号ID。生成编号ID的数量N可以根据编号ID需求量进行人为设置。当对编号ID需求量非常大时,本文档来自技高网...
【技术保护点】
一种编号的生成方法,其特征在于,包括:接收用于触发生成编号ID的触发信号;根据所述触发信号,生成N个内容不同的编号ID,其中,所述N为预先设置的生成所述编号ID的数量;按照预定的发送规则将所述N个内容不同的编号ID发送至终端集群中,以使所述终端集群中接收到所述编号ID的终端将接收到的所述编号ID存储至该终端自身的消息队列中,其中,所述终端集群包括至少两个终端。
【技术特征摘要】
1.一种编号的生成方法,其特征在于,包括:接收用于触发生成编号ID的触发信号;根据所述触发信号,生成N个内容不同的编号ID,其中,所述N为预先设置的生成所述编号ID的数量;按照预定的发送规则将所述N个内容不同的编号ID发送至终端集群中,以使所述终端集群中接收到所述编号ID的终端将接收到的所述编号ID存储至该终端自身的消息队列中,其中,所述终端集群包括至少两个终端,其中,生成N个内容不同的编号ID包括:对ID生成记录表中的历史编号ID记录进行查询,以ID生成记录表中的最后一条历史编号ID为基础,生成数量N个与历史编号ID不重复的新的编号ID。2.根据权利要求1所述的方法,其特征在于,在接收到用于触发生成编号ID的触发信号之前,所述方法还包括:读取任意一个所述终端的所述消息队列中未被使用过的编号的数量,获取所述任意一个终端的消息队列中的剩余编号数量值;将所述任意一个终端的消息队列中的剩余编号数量值与预先设置的阈值进行对比,确定是否需要生成所述触发信号;当所述任意一个终端的消息队列中的剩余编号数量值大于等于所述预先设置的阈值时,不生成所述触发信号;当所述任意一个终端的消息队列中的剩余编号数量值小于所述预先设置的阈值时,生成所述触发信号。3.根据权利要求1所述的方法,其特征在于,在根据所述触发信号,生成N个内容不同的编号ID之后,所述方法还包括:以追加法将所述N个内容不同的编号ID载入ID生成记录表。4.根据权利要求3所述的方法,其特征在于,所述生成N个内容不同的编号ID的步骤包括:读取所述ID生成记录表中已经保存的至少一个历史编号ID;读取预先设置的生成编号ID的所述数量N;基于所述ID生成记录表中已经保存的最后一条历史编号ID的内容,顺序生成所述N个内容不同的编号ID。5.根据权利要求3所述的方法,其特征在于,在所述以追加法将所述N个内容不同的编号ID载入ID生成记录表之后,所述方法还包括:将所述ID生成记录表同步至所述终端集群中的任意一个或多个终端中。6.根据权利要求1至5中任意一项所述的方法,其特征在于,在按照预定的发送规则将所述N个内容不同的编号ID发送至终端集群中,其中,所述终端集群包括至少两个终端之后,所述方法还包括:接收外部编号请求终端的编号请求信息;将所述编号请求信息定向发送至所述终端集群中满足负载均衡条件的...
【专利技术属性】
技术研发人员:江飞,
申请(专利权)人:北京国双科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。