分布式系统序号生成方法及系统技术方案

技术编号:34021367 阅读:13 留言:0更新日期:2022-07-02 17:01
本申请提供了一种分布式系统序号生成方法及系统,涉及数据管理领域,可应用于金融领域和其他领域,所述方法包含:根据接收到的配置信息解析获得系统标识和序号生成规则;根据所述系统标识和所述序号生成规则生成序号配置参数,将所述序号配置参数存放至预定数据库;根据接收到的调用指令调取数据库中对应的所述序号配置参数,根据所述序号配置参数通过分布式锁更新数据库中对应系统的序号后,将更新序号结果反馈至所述调用指令发起方。新序号结果反馈至所述调用指令发起方。新序号结果反馈至所述调用指令发起方。

【技术实现步骤摘要】
分布式系统序号生成方法及系统


[0001]本申请涉及数据管理领域,可应用于金融领域和其他领域,尤指一种分布式系统序号生成方法及系统。

技术介绍

[0002]现有的分布式系统序号生成方式,有直接使用redis自增功能的,还有直接使用数据库的sequence实现。对于redis直接自增型的序号生成方法,虽然也能保证在分布式系统中唯一,但由于redis生成的序号生成规则有限,而且数据查询不直观,所以对有多种序号发生的需求不能满足,且对于序号的管理不够便捷。数据库的sequence生成序号功能并没有通用性,某些数据库就没有此功能,因此如果对数据库选取有要求,可能无法满足,且如果要换数据库软件可能就会生成不了序号。为此,业内亟需一种高效且低成本的分布式系统序号生成方法以满足使用需求。

技术实现思路

[0003]本申请目的在于提供一种分布式系统序号生成方法及系统,基于分布式系统提供可靠、唯一的序号。
[0004]为达上述目的,本申请所提供的分布式系统序号生成方法,具体包含:根据接收到的配置信息解析获得系统标识和序号生成规则;根据所述系统标识和所述序号生成规则生成序号配置参数,将所述序号配置参数存放至预定数据库;根据接收到的调用指令调取数据库中对应的所述序号配置参数,根据所述序号配置参数通过分布式锁更新数据库中对应系统的序号后,将更新序号结果反馈至所述调用指令发起方。
[0005]在上述分布式系统序号生成方法中,可选的,所述序号生成规则包含雪花序号、全局序号、按段分配序号。
[0006]在上述分布式系统序号生成方法中,可选的,将所述序号配置参数存放至预定数据库还包含:根据所述序号配置参数获得所述序号生成规则中的初始化参数信息;根据所述初始化参数信息配置数据库中对应系统的初始序号。
[0007]在上述分布式系统序号生成方法中,可选的,根据所述序号配置参数通过分布式锁更新数据库中对应系统的序号包含:解析所述序号配置参数获得序号生成规则,通过分布式锁锁定数据库中对应系统的当前序号;根据所述序号生成规则和当前序号生成更新序号,通过所述更新序号更新当前序号后释放分布式锁。
[0008]本申请还提供一种分布式系统序号生成系统,所述系统包含注册装置、分布式集群和数据库;所述注册装置分别与所述分布式集群和所述数据库相连,所述分布式集群和所述数据库相连;所述注册装置用于根据接收到的配置信息解析获得系统标识和序号生成规则;根据所述系统标识和所述序号生成规则生成序号配置参数,将所述序号配置参数存放至所述数据库;以及,根据接收到的调用指令调取所述数据库中对应的所述序号配置参数,根据所述序号配置参数调用所述分布式集群通过分布式锁更新数据库中对应系统的序
号,将更新序号结果反馈至所述调用指令发起方。
[0009]在上述分布式系统序号生成系统中,可选的,所述注册装置还包含初始化模块,所述初始化模块用于根据所述序号配置参数获得所述序号生成规则中的初始化参数信息;根据所述初始化参数信息配置数据库中对应系统的初始序号。
[0010]在上述分布式系统序号生成系统中,可选的,所述注册装置包含更新模块,所述更新模块用于解析所述序号配置参数获得序号生成规则,调用所述分布式集群通过分布式锁锁定数据库中对应系统的当前序号;根据所述序号生成规则和当前序号生成更新序号,通过所述更新序号更新当前序号后调用所述分布式集群释放分布式锁。
[0011]本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
[0012]本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
[0013]本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述方法的步骤。
[0014]本申请的有益技术效果在于:对数据库没有特别要求,因为生成序号时通过分布式锁保证唯一性,所以对数据库只是普通的增删改等操作,适用于绝大多数数据库,易于数据库的更换迁移;而且,因为设计成独立的模块,提供序号发生服务,所以对于序号的扩充和改造相对独立,不影响其他模块和应用;分布式部署可提高序号发生模块的可用性,在某些节点故障的情况下还可继续提供服务。
附图说明
[0015]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。在附图中:
[0016]图1为本申请一实施例所提供的分布式系统序号生成方法的流程示意图;
[0017]图2为本申请一实施例所提供的序号初始化流程示意图;
[0018]图3为本申请一实施例所提供的序号更新流程示意图;
[0019]图4为本申请一实施例所提供的分布式系统序号生成系统的结构示意图;
[0020]图5为本申请一实施例所提供的电子设备的结构示意图。
具体实施方式
[0021]以下将结合附图及实施例来详细说明本申请的实施方式,借此对本申请如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本申请中的各个实施例及各实施例中的各个特征可以相互结合,所形成的技术方案均在本申请的保护范围之内。
[0022]另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0023]针对分布式系统的多结点同时运行,存在并发处理的情况,本申请提供分布式系统序号生成方法以保证生成唯一序号,具体请参考图1所示,本申请所提供的分布式系统序
号生成方法,具体包含:
[0024]S101根据接收到的配置信息解析获得系统标识和序号生成规则;
[0025]S102根据所述系统标识和所述序号生成规则生成序号配置参数,将所述序号配置参数存放至预定数据库;
[0026]S103根据接收到的调用指令调取数据库中对应的所述序号配置参数,根据所述序号配置参数通过分布式锁更新数据库中对应系统的序号后,将更新序号结果反馈至所述调用指令发起方。
[0027]其中,所述序号生成规则包含雪花序号、全局序号、按段分配序号。所述分布式锁为控制分布式系统之间同步访问共享资源的一种方式;如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要通过一些互斥手段来防止彼此之间的干扰,以保证一致性,在这种情况下,就需要使用分布式锁。实际工作中,本申请所提供的分布式系统序号生成方法可作为微服务运行,注册到统一的注册中心,供其他应用消费使用;当收到序号发生请求,应用程序使用分布式集群redis进行排他性加锁,在锁定期取数据库序号记录,分发序号,序号按步长增加,处理完解锁,返回序号给调用方。
[0028]请参考图2所示,在本申请一实施例中,将所述序号配置参数存放至预本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式系统序号生成方法,其特征在于,所述方法包含:根据接收到的配置信息解析获得系统标识和序号生成规则;根据所述系统标识和所述序号生成规则生成序号配置参数,将所述序号配置参数存放至预定数据库;根据接收到的调用指令调取数据库中对应的所述序号配置参数,根据所述序号配置参数通过分布式锁更新数据库中对应系统的序号后,将更新序号结果反馈至所述调用指令发起方。2.根据权利要求1所述的分布式系统序号生成方法,其特征在于,所述序号生成规则包含雪花序号、全局序号、按段分配序号。3.根据权利要求1所述的分布式系统序号生成方法,其特征在于,将所述序号配置参数存放至预定数据库还包含:根据所述序号配置参数获得所述序号生成规则中的初始化参数信息;根据所述初始化参数信息配置数据库中对应系统的初始序号。4.根据权利要求1所述的分布式系统序号生成方法,其特征在于,根据所述序号配置参数通过分布式锁更新数据库中对应系统的序号包含:解析所述序号配置参数获得序号生成规则,通过分布式锁锁定数据库中对应系统的当前序号;根据所述序号生成规则和当前序号生成更新序号,通过所述更新序号更新当前序号后释放分布式锁。5.一种分布式系统序号生成系统,其特征在于,所述系统包含注册装置、分布式集群和数据库;所述注册装置分别与所述分布式集群和所述数据库相连,所述分布式集群和所述数据库相连;所述注册装置用于根据接收到的配置信息解析获得系统标识和序号生成规则;根据所述系...

【专利技术属性】
技术研发人员:吴伟
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1