CN113596193B - 一种分布式id处理方法、系统、存储介质及电子设备 - Google Patents

一种分布式id处理方法、系统、存储介质及电子设备 Download PDF

Info

Publication number
CN113596193B
CN113596193B CN202110851575.4A CN202110851575A CN113596193B CN 113596193 B CN113596193 B CN 113596193B CN 202110851575 A CN202110851575 A CN 202110851575A CN 113596193 B CN113596193 B CN 113596193B
Authority
CN
China
Prior art keywords
time
preset
bit
serial number
initial value
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
Application number
CN202110851575.4A
Other languages
English (en)
Other versions
CN113596193A (zh
Inventor
高雪松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdong Technology Holding Co Ltd
Original Assignee
Jingdong Technology Holding Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jingdong Technology Holding Co Ltd filed Critical Jingdong Technology Holding Co Ltd
Priority to CN202110851575.4A priority Critical patent/CN113596193B/zh
Publication of CN113596193A publication Critical patent/CN113596193A/zh
Application granted granted Critical
Publication of CN113596193B publication Critical patent/CN113596193B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种分布式ID处理方法、系统、存储介质及电子设备,获取设备IP对应的设备信息并存储至设备信息位,将获取到的当前时间到预设原点时间的秒数作为初始值,记录初始值对应的时间戳,将时间戳与预设序列号进行合并操作得到序号位,时间戳为高位序号,预设序列号为低位序号,通过预设ID生成算法对预设固定位、设备信息位和序号位进行计算得到64位的分布式ID。通过上述方案,将时间戳作为高位序号与低位序号的预设原点时间合并入序号位,无需实时远程调用时间服务来获取当前时间,只需通过时间服务器获取一次当前时间,从而提高获取64位的分布式ID的效率。此外,通过时间服务器获取当前时间,确保获取当前时间的准确性。

Description

一种分布式ID处理方法、系统、存储介质及电子设备
技术领域
本发明涉及数据处理技术领域,更具体地说,涉及一种分布式ID处理方法、系统、存储介质及电子设备。
背景技术
随着微服务推广普及,数据库分的越来越细,有时一个业务需要分成好几个数据库,这时候自增主键或者序列之类的主键ID生成方式已经不再满足需求,分布式系统中需要生成分布式ID。分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。
现有技术中,分布式系统中生成分布式ID包括两个方面,一个方面是由单点序号发生器获取分布式ID;另一个方面是通过雪花算法获取分布式ID。
通过单点序号发生器获取分布式ID,需要远程调用需要产生服务,造成资源损耗,从而降低获取分布式ID的效率。通过雪花算法获取分布式ID,由于雪花算法会依赖于系统时间,若使用统一时间服务器,每次都需要远程调用时间服务,从而造成获取分布式ID的效率低下。
因此,现有获取分布式ID的方式的效率低。
发明内容
有鉴于此,本发明公开了一种分布式ID处理方法、系统、存储介质及电子设备,实现提高获取64位的分布式ID的效率的目的。此外,通过时间服务器获取当前时间,确保获取当前时间的准确性。
为了实现上述目的,其公开的技术方案如下:
本发明第一方面公开了一种分布式ID处理方法,所述方法包括:
获取设备IP对应的设备信息,并将所述设备信息存储至设备信息位,所述设备信息位的位数为16位;
将获取到的当前时间到预设原点时间的秒数作为初始值,记录所述初始值对应的时间戳;
将所述时间戳与预设序列号进行合并操作,得到序号位,其中,所述时间戳为高位序号,所述预设序列号为低位序号,所述序号位的位数为47位;
通过预设ID生成算法,对预设固定位、所述设备信息位和所述序号位进行计算,得到64位的分布式ID。
优选的,获取设备IP对应的设备信息,并将所述设备信息存储至设备信息位,包括:
当接收到ID获取请求时,获取设备IP;
将预设的设备标识添加至所述设备IP,得到所述设备IP对应的设备信息;
将所述设备信息存储至设备信息位。
优选的,将获取到的当前时间到预设原点时间的秒数作为初始值,记录所述初始值对应的时间戳,包括:
通过时间服务器获取当前时间;
将所述当前时间和预设原点时间进行求差计算,得到时间差值;
将所述时间差值对应的秒数作为初始值,并将所述初始值存储至高位序号,得到所述初始值对应的时间戳。
优选的,所述将所述时间戳与预设序列号进行合并操作,得到序号位,包括:
将所述时间戳中所述时间差值对应的秒数确定为初始值;
将所述初始值与预设序列号进行合并,得到序号位。
本发明第二方面公开了一种分布式ID处理系统,所述系统包括:
获取单元,用于获取设备IP对应的设备信息,并将所述设备信息存储至设备信息位,所述设备信息位的位数为16位;
记录单元,用于将获取到的当前时间到预设原点时间的秒数作为初始值,记录所述初始值对应的时间戳;
合并单元,用于将所述时间戳与预设序列号进行合并操作,得到序号位,其中,所述时间戳为高位序号,所述预设序列号为低位序号,所述序号位的位数为47位;
计算单元,用于通过预设ID生成算法,对预设固定位、所述设备信息位和所述序号位进行计算,得到64位的分布式ID。
优选的,所述获取单元,包括:
第一获取模块,用于当接收到ID获取请求时,获取设备IP;
添加模块,用于将预设的设备标识添加至所述设备IP,得到所述设备IP对应的设备信息;
第一存储模块,用于将所述设备信息存储至设备信息位。
优选的,所述记录单元,包括:
第二获取模块,用于通过时间服务器获取当前时间;
计算模块,用于将所述当前时间和预设原点时间进行求差计算,得到时间差值;
第二存储模块,用于将所述时间差值对应的秒数作为初始值,并将所述初始值存储至高位序号,得到所述初始值对应的时间戳。
优选的,所述合并单元,包括:
确定模块,用于将所述时间戳中所述时间差值对应的秒数确定为初始值;
合并模块,用于将所述初始值与预设序列号进行合并,得到序号位。
本发明第三方面公开了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如第一方面任意一项所述的分布式ID处理方法。
本发明第四方面公开了一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如第一方面任意一项所述的分布式ID处理方法。
经由上述技术方案可知,获取设备IP对应的设备信息,并将设备信息存储至设备信息位,设备信息位的位数为16位,将获取到的当前时间到预设原点时间的秒数作为初始值,记录初始值对应的时间戳,将时间戳与预设序列号进行合并操作,得到序号位,其中,时间戳为高位序号,预设序列号为低位序号,序号位的位数为47位,通过预设ID生成算法,对预设固定位、设备信息位和序号位进行计算,得到64位的分布式ID。通过上述方案,将时间戳作为高位序号与低位序号的预设原点时间合并入序号位,无需实时远程调用时间服务来获取当前时间,只需通过时间服务器获取一次当前时间,从而提高获取64位的分布式ID的效率。此外,通过时间服务器获取当前时间,确保获取当前时间的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种分布式ID处理方法的流程示意图;
图2为本发明实施例公开的分布式ID的示意图;
图3为本发明实施例公开的将获取到的设备信息存储至设备信息位的流程示意图;
图4为本发明实施例公开的基于获取到的当前时间和预设原点时间,得到时间戳的流程示意图;
图5为本发明实施例公开的将时间戳与预设序列号进行合并操作,得到序号位的流程示意图;
图6为本发明实施例公开的一种分布式ID处理系统的结构示意图;
图7为本发明实施例公开的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,现有获取分布式ID的方式的效率低。
为了解决该问题,本发明实施例公开了一种分布式ID处理方法、系统、存储介质及电子设备,将时间戳作为高位序号与低位序号的预设原点时间合并入序号位,无需实时远程调用时间服务来获取当前时间,只需通过时间服务器获取一次当前时间,从而提高获取64位的分布式ID的效率。此外,通过时间服务器获取当前时间,确保获取当前时间的准确性。具体实现方式通过下述实施例具体进行说明。
参考图1所示,为本发明实施例公开的一种分布式ID处理方法,该分布式ID处理方法主要包括如下步骤:
步骤S101:获取设备IP对应的设备信息,并将设备信息存储至设备信息位,设备信息位的位数为16位。
在步骤S101中,设备信息位可取后两个字节用于存储机房和设备信息,设备信息位为2至17位,共16bit,其中,bit为二进制位,1bit可存储0和1两种状态值。
设备信息位可支持65536台设备,如果C类IP可取设备信息位后16bit。
设备信息位可使用IP作为设备信息,也可使用手动配置的设备id。
获取设备IP对应的设备信息,并将设备信息存储至设备信息位的过程如下:
首先,当接收到ID获取请求时,获取设备IP,然后,将预设的设备标识添加至设备IP,得到设备IP对应的设备信息,最后,将设备信息存储至设备信息位。
步骤S102:将获取到的当前时间到预设原点时间的秒数作为初始值,记录初始值对应的时间戳。
在步骤S102中,通过时间服务器获取当前时间,预设原点时间为固定时间点,预设原点时间取固定值2021年1月1日0点0分0秒。
时间戳为32bit,即32位,时间戳只触发1次,即,只通过时间服务器获取一次当前时间,从而不依赖当前应用系统时间,确保获取当前时间的准确性。
只通过时间服务器获取一次当前时间,实现与当前应用系统解耦,对本地时间变更无影响。
将获取到的当前时间到预设原点时间的秒数作为初始值,记录初始值对应的时间戳的过程如下:
首先,通过时间服务器获取当前时间,然后,将当前时间和预设原点时间进行求差计算,得到时间差值,最后,将时间差值对应的秒数作为初始值,并将初始值存储至高位序号,得到初始值对应的时间戳。
步骤S103:将时间戳与预设序列号进行合并操作,得到序号位,其中,时间戳为高位序号,预设序列号为低位序号,序号位的位数为47位。
在步骤S103中,在目标进程启动时进行一次初始化,得到初始值,初始值的取值过程为将当前时间和预设原点时间进行求差计算,得到时间差值,并基于时间差值,得到其对应的秒数。
将时间差值对应的秒数存储至高位序号,不再实时获取当前时间来更新字段,把时间戳作为高位序号参与低位序号的预设序列号进行循环计数,循环计数过程为,当低位序号(15bit)大于32767时,则低位序号满溢,向高位序号进位加1,可实现瞬时tps近似于无限(247),进程生命周期内满足平均tps在一定值的范围内即可。
时间戳和预设序列号的存储长度可调整,第一种组合方式为将时间戳的存储长度,即位数调整为32位,预设序列号的位数调整为15位,第二种组合方式为将时间戳的位数调整为31位,预设序列号的位数调整为16位。
第一种组合方式(32+15)实现平均系统吞吐量tps<=215(32768),可使用132年;第二种组合方式(31+16)可实现平均系统吞吐量tps<=216(65536),使用66年,可缩短机房和设备信息存储位数,保证时间戳的增长小于时间增长,从而保证目标进程重启后重新初始值和前面的值不重复。
预设序列号即为低位序号,预设序号位15bit,预设序列号的初始值为0。
将时间戳与预设序列号进行合并操作,得到序号位的过程如下:
首先,将时间戳中时间差值对应的秒数确定为初始值,然后,将初始值与预设序列号进行合并,得到序号位。
将时间戳与预设序列号进行合并操作,得到序号位,确保高位序号(时间戳)的增长速度慢于时间,保证时间戳的增长小于时间增长,从而保证目标进程重启后重新初始值和前面的值不重复。
步骤S104:通过预设ID生成算法,对预设固定位、设备信息位和序号位进行计算,得到64位的分布式ID。
在步骤S104中,预设固定位为1位,固定值为0,预设固定位的序号位正值。
预设ID生成算法可以是Snowflake算法,也可以是Leaf算法等,预设ID生成算法由技术人员根据实际情况进行设置,本发明不做具体限定。
本方案无需由单点的序号生成服务器统一输出序号,提高分布式全局序号的获取效率。
为了方便理解64位的分布式ID,结合图2进行说明:
图2中,1位为预设固定值,预设固定值的为0。
2至17位(16bit)用于存储机房和设备信息。
32bit为时间戳,单位为秒,将当前时间和预设原点时间进行求差计算,得到时间差值,最后,将时间差值对应的秒数存储至高位序号,得到时间戳。
预设序列号为15bit。
本方案的实现代码(C语言)如下:
本发明实施例中,将时间戳作为高位序号与低位序号的预设原点时间合并入序号位,无需实时远程调用时间服务来获取当前时间,只需通过时间服务器获取一次当前时间,从而提高获取64位的分布式ID的效率。此外,通过时间服务器获取当前时间,确保获取当前时间的准确性。
参考图3所示,为上述步骤S101中涉及到获取设备IP对应的设备信息,并将设备信息存储至设备信息位的过程,主要包括如下步骤:
步骤S301:当接收到ID获取请求时,获取设备IP。
步骤S302:将预设的设备标识添加至设备IP,得到设备IP对应的设备信息。
步骤S303:将设备信息存储至设备信息位。
步骤S301-步骤S303的执行原理与上述步骤S101的执行原理一致,可参考,此处不再进行赘述。
本发明实施例中,当接收到ID获取请求时,获取设备IP,将预设的设备标识添加至设备IP,得到设备IP对应的设备信息,实现将设备信息存储至设备信息位的目的。
参考图4所示,为上述步骤S102中涉及到获取当前时间,并基于当前时间和预设原点时间,得到时间戳的过程,主要包括如下步骤:
步骤S401:通过时间服务器获取当前时间。
步骤S402:将当前时间和预设原点时间进行求差计算,得到时间差值。
步骤S403:将时间差值对应的秒数作为初始值,并将初始值存储至高位序号,得到初始值对应的时间戳。
步骤S401-步骤S403的执行原理与上述步骤S102的执行原理一致,可参考,此处不再进行赘述。
本发明实施例中,通过时间服务器获取当前时间,将当前时间和预设原点时间进行求差计算,得到时间差值,将时间差值对应的秒数作为初始值,并将初始值存储至高位序号,实现得到时间戳的目的。
参考图5所示,为上述步骤S103中涉及到将时间戳与预设序列号进行合并操作,得到序号位的过程,主要包括如下步骤:
步骤S501:将时间戳中的时间差值对应的秒数确定为初始值。
步骤S502:将初始值与预设序列号进行合并,得到序号位。
步骤S501-步骤S502的执行原理与上述步骤S103的执行原理一致,可参考,此处不再进行赘述。
本发明实施例中,将时间戳中时间差值对应的秒数确定为初始值,将初始值与预设序列号进行合并,实现得到序号位的目的。
基于上述实施例图1公开的一种分布式ID处理方法,本发明实施例还对应公开了一种分布式ID处理系统,如图6所示,该分布式处理系统包括获取单元601、记录单元602、合并单元603和计算单元604。
获取单元601,用于获取设备IP对应的设备信息,并将设备信息存储至设备信息位,设备信息位的位数为16位。
记录单元602,用于获取当前时间,并基于当前时间和预设原点时间,得到时间戳。
合并单元603,用于将时间戳与预设序列号进行合并操作,得到序号位,其中,时间戳为高位序号,预设序列号为低位序号,序号位的位数为47位。
计算单元604,用于通过预设ID生成算法,对预设固定位、设备信息位和序号位进行计算,得到64位的分布式ID。
进一步的,获取单元601包括第一获取模块、添加模块和第一存储模块。
第一获取模块,用于当接收到ID获取请求时,获取设备IP。
添加模块,用于将预设的设备标识添加至设备IP,得到设备IP对应的设备信息。
第一存储模块,用于将设备信息存储至设备信息位。
进一步的,记录单元602包括第二获取模块、计算模块和第二存储模块。
第二获取模块,用于通过时间服务器获取当前时间。
计算模块,用于将当前时间和预设原点时间进行求差计算,得到时间差值。
第二存储模块,用于将时间差值对应的秒数存储至高位序号,得到时间戳。
进一步的,合并单元603包括确定模块和合并模块。
确定模块,用于将时间戳中时间差值对应的秒数确定为初始值。
合并模块,用于将初始值与预设序列号进行合并,得到序号位。
本发明实施例中,将时间戳作为高位序号与低位序号的预设原点时间合并入序号位,无需实时远程调用时间服务来获取当前时间,只需一次通过时间服务器获取当前时间,从而提高获取64位的分布式ID的效率。此外,通过时间服务器获取当前时间,确保获取当前时间的准确性。
本发明实施例还提供了一种存储介质,存储介质包括存储的指令,其中,在指令运行时控制存储介质所在的设备执行上述分布式ID处理方法。
本发明实施例还提供了一种电子设备,其结构示意图如图7所示,具体包括存储器701,以及一个或者一个以上的指令702,其中一个或者一个以上指令702存储于存储器701中,且经配置以由一个或者一个以上处理器703执行所述一个或者一个以上指令702进行以下操作:
获取设备IP对应的设备信息,并将设备信息存储至设备信息位,设备信息位的位数为16位;
将获取到的当前时间到预设原点时间的秒数作为初始值,记录初始值对应的时间戳;
将时间戳与预设序列号进行合并操作,得到序号位,其中,时间戳为高位序号,预设序列号为低位序号,序号位的位数为47位;
通过预设ID生成算法,对预设固定位、设备信息位和序号位进行计算,得到64位的分布式ID。
上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种分布式ID处理方法,其特征在于,所述方法包括:
获取设备IP对应的设备信息,并将所述设备信息存储至设备信息位,所述设备信息位的位数为16位;
通过时间服务器获取一次当前时间,将获取到的当前时间到低位序号的预设原点时间的秒数作为初始值,记录所述初始值对应的时间戳;其中,通过时间服务器获取一次当前时间,用于提高获取64位的分布式ID的效率,实现与当前应用系统解耦,从而不依赖当前应用系统时间,确保获取当前时间的准确性;
将所述时间戳与预设序列号进行合并操作,得到序号位,其中,所述时间戳为高位序号,所述预设序列号为低位序号,所述序号位的位数为47位;
通过预设ID生成算法,对预设固定位、所述设备信息位和所述序号位进行计算,得到64位的分布式ID。
2.根据权利要求1所述的方法,其特征在于,所述获取设备IP对应的设备信息,并将所述设备信息存储至设备信息位,包括:
当接收到ID获取请求时,获取设备IP;
将预设的设备标识添加至所述设备IP,得到所述设备IP对应的设备信息;
将所述设备信息存储至设备信息位。
3.根据权利要求1所述的方法,其特征在于,将获取到的当前时间到预设原点时间的秒数作为初始值,记录所述初始值对应的时间戳,包括:
通过时间服务器获取当前时间;
将所述当前时间和预设原点时间进行求差计算,得到时间差值;
将所述时间差值对应的秒数作为初始值,并将所述初始值存储至高位序号,得到所述初始值对应的时间戳。
4.根据权利要求3所述的方法,其特征在于,所述将所述时间戳与预设序列号进行合并操作,得到序号位,包括:
将所述时间戳中所述时间差值对应的秒数确定为初始值;
将所述初始值与预设序列号进行合并,得到序号位。
5.一种分布式ID处理系统,其特征在于,所述系统包括:
获取单元,用于获取设备IP对应的设备信息,并将所述设备信息存储至设备信息位,所述设备信息位的位数为16位;
记录单元,用于通过时间服务器获取一次当前时间,将获取到的当前时间到低位序号的预设原点时间的秒数作为初始值,记录所述初始值对应的时间戳;其中,通过时间服务器获取一次当前时间,用于提高获取64位的分布式ID的效率,实现与当前应用系统解耦,从而不依赖当前应用系统时间,确保获取当前时间的准确性;
合并单元,用于将所述时间戳与预设序列号进行合并操作,得到序号位,其中,所述时间戳为高位序号,所述预设序列号为低位序号,所述序号位的位数为47位;
计算单元,用于通过预设ID生成算法,对预设固定位、所述设备信息位和所述序号位进行计算,得到64位的分布式ID。
6.根据权利要求5所述的系统,其特征在于,所述获取单元,包括:
第一获取模块,用于当接收到ID获取请求时,获取设备IP;
添加模块,用于将预设的设备标识添加至所述设备IP,得到所述设备IP对应的设备信息;
第一存储模块,用于将所述设备信息存储至设备信息位。
7.根据权利要求5所述的系统,其特征在于,所述记录单元,包括:
第二获取模块,用于通过时间服务器获取当前时间;
计算模块,用于将所述当前时间和预设原点时间进行求差计算,得到时间差值;
第二存储模块,用于将所述时间差值对应的秒数作为初始值,并将所述初始值存储至高位序号,得到所述初始值对应的时间戳。
8.根据权利要求7所述的系统,其特征在于,所述合并单元,包括:
确定模块,用于将所述时间戳中所述时间差值对应的秒数确定为初始值;
合并模块,用于将所述初始值与预设序列号进行合并,得到序号位。
9.一种存储介质,其特征在于,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如权利要求1至4任意一项所述的分布式ID处理方法。
10.一种电子设备,其特征在于,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1至4任意一项所述的分布式ID处理方法。
CN202110851575.4A 2021-07-27 2021-07-27 一种分布式id处理方法、系统、存储介质及电子设备 Active CN113596193B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110851575.4A CN113596193B (zh) 2021-07-27 2021-07-27 一种分布式id处理方法、系统、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110851575.4A CN113596193B (zh) 2021-07-27 2021-07-27 一种分布式id处理方法、系统、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN113596193A CN113596193A (zh) 2021-11-02
CN113596193B true CN113596193B (zh) 2024-01-16

Family

ID=78250501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110851575.4A Active CN113596193B (zh) 2021-07-27 2021-07-27 一种分布式id处理方法、系统、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN113596193B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107864233A (zh) * 2017-11-08 2018-03-30 千寻位置网络有限公司 全局唯一id结构及生成方法
CN108681528A (zh) * 2018-04-03 2018-10-19 卓望数码技术(深圳)有限公司 一种序列号生成方法和系统
CN110096528A (zh) * 2019-04-12 2019-08-06 中国银行股份有限公司 一种分布式系统中生成序列的方法、装置及系统
CN110543518A (zh) * 2019-08-27 2019-12-06 北京奇艺世纪科技有限公司 一种分布式id生成方法、装置、设备及存储介质
CN111371918A (zh) * 2020-02-28 2020-07-03 上海钧正网络科技有限公司 一种分布式集群环境中的id生成方法、装置、介质及设备
CN111427417A (zh) * 2020-03-19 2020-07-17 珠海豹趣科技有限公司 一种时间获取方法、装置及电子设备
CN111694792A (zh) * 2020-05-29 2020-09-22 中国建设银行股份有限公司 一种基于snowflake的标识生成方法和装置
CN112202938A (zh) * 2020-10-12 2021-01-08 广州品唯软件有限公司 Id生成方法、装置及系统
CN112559558A (zh) * 2020-12-07 2021-03-26 北京理房通支付科技有限公司 一种流水号生成方法和装置、计算设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8195949B2 (en) * 2008-02-29 2012-06-05 Red Hat, Inc. Mechanism for generating message sequence order numbers

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107864233A (zh) * 2017-11-08 2018-03-30 千寻位置网络有限公司 全局唯一id结构及生成方法
CN108681528A (zh) * 2018-04-03 2018-10-19 卓望数码技术(深圳)有限公司 一种序列号生成方法和系统
CN110096528A (zh) * 2019-04-12 2019-08-06 中国银行股份有限公司 一种分布式系统中生成序列的方法、装置及系统
CN110543518A (zh) * 2019-08-27 2019-12-06 北京奇艺世纪科技有限公司 一种分布式id生成方法、装置、设备及存储介质
CN111371918A (zh) * 2020-02-28 2020-07-03 上海钧正网络科技有限公司 一种分布式集群环境中的id生成方法、装置、介质及设备
CN111427417A (zh) * 2020-03-19 2020-07-17 珠海豹趣科技有限公司 一种时间获取方法、装置及电子设备
CN111694792A (zh) * 2020-05-29 2020-09-22 中国建设银行股份有限公司 一种基于snowflake的标识生成方法和装置
CN112202938A (zh) * 2020-10-12 2021-01-08 广州品唯软件有限公司 Id生成方法、装置及系统
CN112559558A (zh) * 2020-12-07 2021-03-26 北京理房通支付科技有限公司 一种流水号生成方法和装置、计算设备和存储介质

Also Published As

Publication number Publication date
CN113596193A (zh) 2021-11-02

Similar Documents

Publication Publication Date Title
WO2021052029A1 (zh) 数据对象标识生成方法、装置、计算机设备和存储介质
CN108923932B (zh) 一种去中心化协同验证系统及验证方法
CN107241380B (zh) 用于基于时间调整的负载均衡的方法和设备
CN110554732A (zh) 一种标识号生成方法、生成装置、电子设备及存储介质
CN102035669B (zh) 功能调用系统及方法
CN106886371B (zh) 缓存数据处理方法及装置
CN111046057A (zh) 服务器集群的数据处理方法、装置、计算机设备和介质
US11314553B2 (en) Method, apparatus, and computer program product for determining usage change rate of storage system
CN112613993B (zh) 交易数据处理方法、装置、计算机设备和存储介质
CN111212135A (zh) 消息订阅方法、装置、系统、电子设备及存储介质
CN111158999A (zh) 一种格式化时间的计算方法和装置
CN113596193B (zh) 一种分布式id处理方法、系统、存储介质及电子设备
CN110868466B (zh) 一种用于分布式存储网络的存储方法、系统及设备
CN110955460B (zh) 一种服务进程启动方法、装置、电子设备和存储介质
CN110543509B (zh) 用户访问数据的监控系统、方法、装置及电子设备
US11782752B1 (en) System and method for assigning tasks
CN113590017A (zh) 用于处理数据的方法、电子设备和计算机程序产品
CN110324385A (zh) 数据同步方法及装置、分布式系统
CN114610443A (zh) 一种基于k8s容器集群的多服务部署方法、装置及电子设备
CN110750424A (zh) 资源巡检方法和装置
CN113271342B (zh) 一种信息处理方法及装置、存储介质
CN110750246B (zh) 多流程系统的生成方法及相关装置
US20240056395A1 (en) Packet flow description (pfd) management method and apparatus
CN112650630B (zh) 一种智能电表运行参数的分布式备份方法及装置
CN114301844B (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