一种分布式系统中标识的生成方法及装置制造方法及图纸

技术编号:32538982 阅读:18 留言:0更新日期:2022-03-05 11:35
本发明专利技术实施例提供了一种分布式系统中标识的生成方法及装置,其可以应用于分布式系统中的目标服务节点,所述方法包括:在接收到标识生成请求时,实时生成针对所述标识生成请求的第一标识;在检测到无法实时生成针对所述标识生成请求的第一标识时,从获取的标识号段包含的多个标识中,确定针对所述标识生成请求的第二标识,实现了分布式系统中标识生成,保证了分布式系统中生成标识的全局唯一性。而且,提供了实时生成标识和基于标识号段获取标识两种标识生成方式,解决了仅采用实时生成标识的方式难以应对标识长度限制的问题,且解决了仅采用实时生成标识的方式而导致性能压力过大的问题,能够适应高并发请求,提升了标识生成的性能。成的性能。成的性能。

【技术实现步骤摘要】
一种分布式系统中标识的生成方法及装置


[0001]本专利技术涉及互联网
,特别是涉及一种分布式系统中标识的生成方法及装置。

技术介绍

[0002]在互联网应用中,通常存在多种业务场景,例如购买订单、用户注册等,针对不同的业务类型、不同的用户的业务数据,均需要使用唯一标识加以区分,例如订单标识、用户注册标识。
[0003]在现有技术中,唯一标识的生成,通常采用基于数据库单库单表自增计数的方式。在高业务量的场景下,数据库单库单表自增计数容易造成性能压力,无法满足业务需求,因此为了解决处理性能的瓶颈问题,目前常用的手段是,采用数据库分库分表自增计数的方式生成对应的标识号码。
[0004]但是,由于分库分表都是采用自增计数的方式生成标识,多个库之间分配的标识号码产生重复,无法保证全局唯一。

技术实现思路

[0005]鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种分布式系统中标识的生成方法和装置,包括:
[0006]一种分布式系统中标识的生成方法,应用于分布式系统中的目标服务节点,所述方法包括:
[0007]在接收到标识生成请求时,实时生成针对所述标识生成请求的第一标识;
[0008]在检测到无法实时生成针对所述标识生成请求的第一标识时,从获取的标识号段包含的多个标识中,确定针对所述标识生成请求的第二标识。
[0009]可选的,从获取的标识号段包含的多个标识中,确定针对所述标识生成请求的第二标识之前,包括:
[0010]从预置数据库中,获取标识号段,并存储于本地;
[0011]在存储于本地的标识号段包含的所有标识均已被分配时,从预置数据库获取新的标识号段。
[0012]可选的,还包括:
[0013]在获取标识号段的过程中,当预置数据库中第一主库处于不可用状态时,切换至所述预置数据库中处于可用状态的第二主库;
[0014]从所述第二主库中,获取标识号段。
[0015]可选的,在切换至所述预置数据库中处于可用状态的第二主库之前,包括:
[0016]确定处于可用状态的多个候选主库及每个候选主库的优先级信息;
[0017]按照所述优先级信息,从所述多个候选主库中确定第二主库。
[0018]可选的,所述预置数据库的不同主库存储的标识号段不同。
[0019]可选的,还包括:
[0020]在所述第一主库所在服务器与所述服务节点位于同一机房,且,所述第二主库所在服务器与所述服务节点位于不同机房的情况下,当监听到所述第一主库恢复为可用状态时,从所述第二主库切换回所述第一主库。
[0021]可选的,所述实时生成针对所述标识生成请求的第一标识,包括:
[0022]获取与所述标识生成请求关联的目标信息,其中所述目标信息包括:账号业务属性信息、所述账号业务属性信息包括账号类型、站点类型;
[0023]根据所述目标信息,生成针对所述标识生成请求的第一标识。
[0024]一种分布式系统中标识的生成装置,所述装置包括:
[0025]第一标识生成模块,用于在接收到标识生成请求时,实时生成针对所述标识生成请求的第一标识;
[0026]第二标识确定模块,在检测到无法实时生成针对所述标识生成请求的第一标识时,从获取的标识号段包含的多个标识中,确定针对所述标识生成请求的第二标识。
[0027]一种服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0028]存储器,用于存放计算机程序;
[0029]处理器,用于执行存储器上所存放的程序时,实现如上所述的方法。
[0030]一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上所述的方法。
[0031]在本专利技术实施例中,分布式系统中的服务节点通过在接收到标识生成请求时,实时生成针对标识生成请求的第一标识,在检测到无法实时生成针对标识生成请求的第一标识时,从获取的标识号段包含的多个标识中,确定针对标识生成请求的第二标识,实现了分布式系统中标识生成,保证了分布式系统中生成标识的全局唯一性。
[0032]而且,提供了实时生成标识和基于标识号段获取标识两种标识生成方式,能够在两种不同的标识生成方式之间进行自动切换,通过在无法实时生成标识的情况下,切换至从批量获取的标识号段中确定标识,解决了仅采用实时生成标识的方式难以应对标识长度限制的问题,且解决了仅采用实时生成标识的方式而导致性能压力过大的问题,能够适应高并发请求,提升了标识生成的性能。
附图说明
[0033]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
[0034]图1是本专利技术一实施例提供的一种分布式系统中标识的生成方法的步骤流程图;
[0035]图2是本专利技术一实施例提供的另一种分布式系统中标识的生成方法的步骤流程图;
[0036]图3是本专利技术一实施例提供的又一种分布式系统中标识的生成方法的步骤流程图;
[0037]图4是本专利技术一实施例提供的分布式系统中标识的生成的流程图;
[0038]图5是本专利技术一实施例提供的一种分布式系统中标识的生成装置的结构框图;
[0039]图6是本专利技术一实施例提供的一种服务器的结构框图。
具体实施方式
[0040]下面将结合本专利技术实施例中的附图,对本专利技术实施例的技术方案进行描述。
[0041]参照图1,示出了本专利技术一实施例提供的一种分布式系统中标识的生成方法,其可以应用于分布式系统中的目标服务节点。
[0042]其中,分布式系统可以包括多个系统集群。系统集群可以包括服务节点和预置数据库。服务节点可以包括一个或多个站点。每个服务节点可以独立响应标识生成请求。预置数据库可以包括多个主数据库。
[0043]具体的,可以包括如下步骤:
[0044]步骤101,在接收到标识生成请求时,实时生成针对所述标识生成请求的第一标识;
[0045]其中,目标服务节点可以是业务后端,其可以用于处理业务前端发送的业务请求,如标识生成请求。
[0046]服务节点包括一个或多个站点,不同站点可以对应不同业务线,例如邮箱业务、视频业务。同一业务线可以对应不同的标识,例如企业用户邮箱标识、个人用户邮箱标识。
[0047]为了生成的标识唯一,针对不同的业务,标识生成请求中可以携带对应的业务类型信息,其可以用于区分不同的标识生成请求。
[0048]当目标服务节点在接收到标识生成请求时,可以获取与当前标识生成请求关联的目标信息,如账号类型、站点类型等,又或者服务节点的机器序列号、时间序列号等,进而可以根据目标信息,生成针对标识生成请求的第一标识。
[0049]在具体实现中,可以预先在服务节点中设置用于生成第一标识的算法,当目标服本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式系统中标识的生成方法,其特征在于,应用于分布式系统中的服务节点,所述方法包括:在接收到标识生成请求时,实时生成针对所述标识生成请求的第一标识;在检测到无法实时生成针对所述标识生成请求的第一标识时,从获取的标识号段包含的多个标识中,确定针对所述标识生成请求的第二标识。2.根据权利要求1所述的方法,其特征在于,在从获取的标识号段所包含的多个标识中,确定针对所述标识生成请求的第二标识之前,还包括:从预置数据库中,获取标识号段,并存储于本地;在存储于本地的标识号段包含的所有标识均已被分配时,从所述预置数据库中获取新的标识号段。3.根据权利要求1或2所述的方法,其特征在于,还包括:在获取标识号段的过程中,当预置数据库中第一主库处于不可用状态时,切换至所述预置数据库中处于可用状态的第二主库;从所述第二主库中,获取标识号段。4.根据权利要求3所述的方法,其特征在于,在所述切换至所述预置数据库中处于可用状态的第二主库之前,还包括:确定处于可用状态的多个候选主库及每个候选主库的优先级信息;按照所述优先级信息,从所述多个候选主库中确定第二主库。5.根据权利要求3所述的方法,其特征在于,所述预置数据库的不同主库中存储的标识号段不同。6.根据权利要求3所述的方法,其特征在于,还包括:在所述第一主库所在服务器与所述服务节点位于同一机房,且,所述...

【专利技术属性】
技术研发人员:张霖
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:

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

1