一种分布式系统编号生成方法和系统技术方案

技术编号:29133375 阅读:16 留言:0更新日期:2021-07-02 22:28
本申请实施例涉及计算机技术领域,具体涉及一种分布式系统编号生成方法和系统,旨在保证有效管理分布式系统编号,保证分布式系统编号的连续性,有效增加号码的利用率。所述方法应用于分布式系统,所述系统包括编号管理服务端和编号请求客户端,包括:响应于所述编号管理服务器在启动时所发送的第一请求,按从小到大的顺序生成编号,直到生成的编号的数量达到第一预设数量;将生成的第一预设数量的编号发送给所述编号管理服务器;响应于所述编号请求客户端发送的编号使用请求,按照编号从小到大的顺序从相应的编号管理服务器中确定相应数量的编号;通过所述编号管理服务器将所述相应数量的编号发送给所述编号请求客户端。

【技术实现步骤摘要】
一种分布式系统编号生成方法和系统
本申请实施例涉及计算机
,具体而言,涉及一种分布式系统编号生成方法和系统。
技术介绍
分布式系统是建立在网络之上的软件系统,在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的分布式操作系统。通常,对用户来说,分布式系统只有一个模型或范型。在操作系统之上有一层软件中间件负责实现这个模型。对分布式系统进行编号是对分布式系统进行控制的必要条件,现有技术中,通常采用的编号方式一种是自增序列,该方法通过多个数据库实例,利用数据库提供的自增主键,设置不同的步长来生成编号,另一种方式是使用UUID,该方法是生成32位字母和数字的组合作为编号,还有一种方法是雪花算法,生成固格式的编码,格式中包含了机器代码,时间戳和序号等部分。现有技术中,只是单纯的生成分布式系统的编号,无法实现对编号进行回收利用,无法实现对编号的管理,并且生成的编号不具备连续性。
技术实现思路
本申请实施例提供一种分布式编号生成方法和系统,旨在保证有效管理分布式系统编号,保证分布式系统编号的连续性,有效增加号码的利用率。本申请实施例第一方面提供一种分布式系统编号生成方法,所述方法包括:响应于所述编号管理服务器在启动时所发送的第一请求,按从小到大的顺序生成编号,直到生成的编号的数量达到第一预设数量;将生成的第一预设数量的编号发送给所述编号管理服务器;响应于所述编号请求客户端发送的编号使用请求,按照编号从小到大的顺序从相应的编号管理服务器中确定相应数量的编号;通过所述编号管理服务器将所述相应数量的编号发送给所述编号请求客户端。可选地,所述方法还包括:实时检测所述编号管理服务器中未下发给编号请求客户端的编号的数量;在未下发给编号请求客户端的编号的数量小于所述第一预设数量时,向所述编号管理服务器中补充第二预设数量的编号,以使所述编号管理服务器中的编号的数量达到所述第一预设数量。可选地,所述方法还包括:每隔一个预设时间段,回收所述编号请求客户端发送的未使用的编号;将所述未使用的编号存储至所述编号池服务器;其中,被存储到所述编号池服务器的未使用的编号作为待下发给编号请求客户端的编号。可选地,每隔一个预设时间段,回收所述编号请求客户端发送的未使用的编号,所述未使用的编号的确定方法包括:向所述编号请求客户端内的业务系统发送编号询问请求,所述编号询问请求用于询问所述业务系统是否存在未使用的编号;在接收到所述业务系统针对所述编号询问请求反馈的编号回收请求时,确定检测到所述编号请求客户端具有未使用的编号。可选地,每隔一个预设时间段,回收所述编号请求客户端发送的未使用的编号,所述未使用的编号的确定方法还包括:确定所述编号管理服务器已下发给所述编号请求客户端的已分配编号;对所述已下发给所述编号请求客户端的已分配编号和所述编号请求客户端上当前已使用的编号进行比对,得到比对结果;在比对结果表征所述已下发给所述编号请求客户端的已分配编号中存在未使用的编号时,确定检测到所述编号请求客户端具有未使用的编号。可选地,所述编号使用请求携带使用编号的业务系统的标识,将所述相应数量的编号发送给所述编号请求客户端,所述方法还包括:建立所述相应数量的编号与所述业务系统的标识之间的关联关系;保存所述关联关系。本申请实施例第二方面提供一种分布式系统编号生成系统,其特征在于,所述系统包括编号管理服务端和编号请求客户端,其中,所述编号管理服务端中包含编号池服务器和至少一个编号管理服务器,所述编号请求客户端中包含主机,所述主机中设置有agent和业务系统,所述主机的数量根据所述业务系统的数量进行设置;所述系统用于执行如权利要求1-7任一所述的方法。采用本申请提供的分布式系统编号生成方法,编号管理服务端在接收到编号请求客户端发送的编号使用请求时,按照从小到大的顺序,将编号管理服务器中的和编号使用请求对应数量的编号发送至编号请求客户端,供编号请求客户端使用。编号管理服务器在启动时会将第一请求发送至编号管理服务端中的编号池服务器中,编号池服务器按照从从大的到小的顺序生成系统编号,直到生成的编号的数量达到第一预设数量,将生成的编号发送至编号管理服务器中。另外,每一个预设时间段,编号请求客户端会定期询问业务系统是否有未使用的编号,在确定有未使用的编号后,将未使用的编号存储至编号池服务器中,作为待下发给编号请求客户端的编号。编号请求客户端向编号管理服务端发送的编号使用请求中携带有使用编号的业务系统的标识,编号管理服务端根据该标识建立编号与业务系统之间的关联关系并进行保存。本申请提供的分布式系统编号生成方法,对已下发但未使用的编号进行回收再利用,提高了号码的利用率,同时建立了编号与业务系统之间的关联关系,可以方便编号的管理和追踪,从编号管理服务器下发的编号是连续的,保证了编号的连续性,增强了编号的可读性。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请一实施例提出的分布式系统编号生成系统的结构示意图;图2是本申请一实施例提出的分布式系统编号生成方法的流程图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。参考图1,图1是本申请一实施例提出的一种分布式系统编号生成系统的结构示意图。如图1所示,该系统包含了编号管理服务端与编号请求客户端,编号管理服务端中设置有编号池服务器和编号管理服务器,编号请求客户端中设置有主机,主机中包含有agent和业务系统。编号池服务器用于创建编号,向编号管理服务器下发编号,管理回收到的编号。编号管理服务端中设置有一个编号池服务器,编号池服务器按照从小到大的顺序依次生成正整数编号,不会生成重复的编号。编号管理服务器用于向编号池请求一定数量的编号,将请求到的编号存储于编号管理服务器中,在编号请求客户端发出编号使用请求时,为编号请求客户端分配对应数量的编号。编号管理服务器是无状态的服务器,可以水平扩容为多台服务器同时为编号请求客户端提供服务。编号管理服务端中至少包含有一个编号管理服务器,可以根据需要设置任意数量的编号管理服务器。agent是部署在编号请求客户端的主机上的一种软件,用于向编号管理服本文档来自技高网...

【技术保护点】
1.一种分布式系统编号生成方法,其特征在于,应用于分布式系统,所述系统包括编号管理服务端和编号请求客户端,所述方法包括:/n响应于所述编号管理服务器在启动时所发送的第一请求,按从小到大的顺序生成编号,直到生成的编号的数量达到第一预设数量;/n将生成的第一预设数量的编号发送给所述编号管理服务器;/n响应于所述编号请求客户端发送的编号使用请求,按照编号从小到大的顺序从相应的编号管理服务器中确定相应数量的编号;/n通过所述编号管理服务器将所述相应数量的编号发送给所述编号请求客户端。/n

【技术特征摘要】
1.一种分布式系统编号生成方法,其特征在于,应用于分布式系统,所述系统包括编号管理服务端和编号请求客户端,所述方法包括:
响应于所述编号管理服务器在启动时所发送的第一请求,按从小到大的顺序生成编号,直到生成的编号的数量达到第一预设数量;
将生成的第一预设数量的编号发送给所述编号管理服务器;
响应于所述编号请求客户端发送的编号使用请求,按照编号从小到大的顺序从相应的编号管理服务器中确定相应数量的编号;
通过所述编号管理服务器将所述相应数量的编号发送给所述编号请求客户端。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
实时检测所述编号管理服务器中未下发给编号请求客户端的编号的数量;
在未下发给编号请求客户端的编号的数量小于所述第一预设数量时,向所述编号管理服务器中补充第二预设数量的编号,以使所述编号管理服务器中的编号的数量达到所述第一预设数量。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
每隔一个预设时间段,回收所述编号请求客户端发送的未使用的编号;
将所述未使用的编号存储至所述编号池服务器;
其中,被存储到所述编号池服务器的未使用的编号作为待下发给编号请求客户端的编号。


4.根据权利要求3所述的方法,其特征在于,每隔一个预设时间段,回收所述编号请求客户端发送的未使用的编号,所述未使用的编号的确定方法包括:
向所述编号请求客...

【专利技术属性】
技术研发人员:樊超张玮
申请(专利权)人:上海安畅网络科技股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1