CN111901453B - 一种标识生成方法、装置、计算机设备和存储介质 - Google Patents

一种标识生成方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111901453B
CN111901453B CN202010726378.5A CN202010726378A CN111901453B CN 111901453 B CN111901453 B CN 111901453B CN 202010726378 A CN202010726378 A CN 202010726378A CN 111901453 B CN111901453 B CN 111901453B
Authority
CN
China
Prior art keywords
identification bit
application
file
generating
unique
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
CN202010726378.5A
Other languages
English (en)
Other versions
CN111901453A (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.)
Guangzhou Haici Network Technology Co ltd
Original Assignee
Guangzhou Haici Network Technology 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 Guangzhou Haici Network Technology Co ltd filed Critical Guangzhou Haici Network Technology Co ltd
Priority to CN202010726378.5A priority Critical patent/CN111901453B/zh
Publication of CN111901453A publication Critical patent/CN111901453A/zh
Application granted granted Critical
Publication of CN111901453B publication Critical patent/CN111901453B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • H04L61/3015Name registration, generation or assignment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • H04L61/3005Mechanisms for avoiding name conflicts
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种标识生成方法、装置、计算机设备和存储介质,包括:获取终端的互联网协议地址;提取出所述互联网协议地址的特征值,根据所述特征值确定互联网协议地址标识位;获取同一目录下的文件名,根据所述文件名生成应用标识位;获取当前时间戳,根据所述当前时间戳生成秒内序列;根据所述当前时间戳、互联网协议地址标识位、应用标识位及秒内序列组合生成唯一标识。

Description

一种标识生成方法、装置、计算机设备和存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种标识生成方法、一种标识生成装置、一种计算机设备和一种存储介质。
背景技术
随着互联网医疗的普及,医疗服务系统越来越庞大,用户量以及用户数据剧增,作为医疗的核心存储,数据库负载也越来越大,传统单库单表存储已经无法满足,开始往集群化,分库分表方向发展;而业务系统部署方式,也由原来的单机模式,往分布式微服务发展,这种场景下,为了打造稳定医疗平台,提供一套成熟可靠高效的分布式标识(ID)方案成为平台建设的重要一环。
目前普遍做法是,使用中间件协调标识(ID)生成,如Redis、MySQL、Zookeeper等中间件,这些方案有以下缺陷:一、重量级:需要额外提供ID生成服务集群,运维监控开销较大;二、依赖性强:十分依赖协调器中间件的稳定性,一旦不稳定将可能导致ID重复问题;三、ID生成时延较大:因为涉及远程服务调用,存在网络开销。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种标识生成方法、一种标识生成装置、一种计算机设备和一种存储介质。
为了解决上述问题,本发明实施例公开了一种标识生成方法,包括:
获取终端的互联网协议地址;
提取出所述互联网协议地址的特征值,根据所述特征值确定互联网协议地址标识位;
获取同一目录下的文件名,根据所述文件名生成应用标识位;
获取当前时间戳,根据所述当前时间戳生成秒内序列;
根据所述当前时间戳、互联网协议地址标识位、应用标识位及秒内序列组合生成唯一标识。
优选地,所述文件名包括序号文件名;所述获取同一目录下的文件名,根据所述文件名生成应用标识位,包括:
在指定目录下,生成唯一序号文件;
提取出所述唯一序号文件中的序号文件名;
根据所述序号文件名生成应用标识位。
优选地,所述方法还包括:
在指定目录下,生成唯一应用文件;
将所述应用标识位缓存至所述唯一应用文件。
优选地,所述获取当前时间戳,根据所述当前时间戳生成秒内序列,包括:
获取到当前时间戳;
将所述当前时间戳输入至内置原子计数器,得到输出的所述秒内序列。
优选地,所述根据所述当前时间戳、互联网协议地址标识位、应用标识位及秒内序列组合生成唯一标识,包括:
通过位移算法将当前时间戳、互联网协议地址标识位、应用标识位及秒内序列进行位移,得到所述唯一标识。
本发明实施例还公开了一种标识生成装置,包括:
地址获取模块,用于获取终端的互联网协议地址;
确定模块,用于提取出所述互联网协议地址的特征值,根据所述特征值确定互联网协议地址标识位;
应用标识位生成模块,用于获取同一目录下的文件名,根据所述文件名生成应用标识位;
秒内序列生成模块,用于获取当前时间戳,根据所述当前时间戳生成秒内序列;
唯一标识生成模块,用于根据所述当前时间戳、互联网协议地址标识位、应用标识位及秒内序列组合生成唯一标识。
优选地,所述文件名包括序号文件名;所述应用标识位生成模块包括:
序号文件生成子模块,用于在指定目录下,生成唯一序号文件;
序号文件名提取子模块,用于提取出所述唯一序号文件中的序号文件名;
应用标识位生成子模块,用于根据所述序号文件名生成应用标识位。
优选地,所述装置还包括:
应用文件生成模块,用于在指定目录下,生成唯一应用文件;
缓存模块,用于将所述应用标识位缓存至所述唯一应用文件。
本发明实施例还公开了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的标识生成方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的标识生成方法的步骤。
本发明实施例包括以下优点:
本发明实施例中,标识生成方法包括:获取终端的互联网协议地址;提取出所述互联网协议地址的特征值,根据所述特征值确定互联网协议地址标识位;获取同一目录下的文件名,根据所述文件名生成应用标识位;获取当前时间戳,根据所述当前时间戳生成秒内序列;根据所述当前时间戳、互联网协议地址标识位、应用标识位及秒内序列组合生成唯一标识;提供一种分布式ID生成的新思路,采用工具包方式生成,轻量级,极少配置,对接简单;不依赖任何中间件,稳定性、可靠性得到大幅提升;精巧的位操作算法,高性能;无需远程调用,时延小。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种标识生成方法实施例的步骤流程图;
图2是本发明实施例的一种应用标识位生成步骤的流程示意图;
图3是本发明实施例的一种唯一应用文件缓存步骤的流程示意图;
图4是本实施例的一种秒内序列输出步骤的流程示意图;
图5是本实施例的一种唯一标识位移步骤的流程示意图;
图6是本发明实施例的一种APP标识位协调算法原理示意图;
图7是本发明实施例的一种APP标识位协调算法原理示意图;
图8是一种分布式ID生成方法的示意图;
图9是本发明实施例的一种标识生成装置实施例的结构框图;
图10是一个实施例的一种计算机设备的内部结构图。
具体实施方式
为了使本发明实施例所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明实施例进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,示出了本发明实施例的一种标识生成方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获取终端的互联网协议地址;
本发明实施例可以应用于数据库业务应用系统,上述的终端可以是指移动终端或服务器,其中,移动终端可以是个人电脑(PC,Personal Computer)、智能手机、平板电脑等终端,也可以是可安装应用程序的其他终端,例如智能手表等,本发明实施例对移动终端的具体类型不作限定,所述移动终端的操作系统可以包括Android(安卓)、IOS、WindowsPhone、Windows、Linux等等。
而服务器是可以包括机架式服务器、刀片式服务器、塔式服务器及机柜式的服务器,根据体系结构不同,服务器可以分成两大重要的类别:IA架构服务器和RISC架构服务器,其还可以是云服务器等,本发明实施例对服务器的种类不作过多的限制。
本发明实施例中,上述数据库业务系统运行于上述的终端上,首先可以获取到互联网协议地址,即IP(Internet Protocol)地址,其是终端的标识,IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
具体而言,该终端的储存位置还可以包括多个数据库,该数据库通过数据库业务应用系统进行管理,该终端上还运行有多个应用程序。
步骤102,提取出所述互联网协议地址的特征值,根据所述特征值确定互联网协议地址标识位;
进一步应用到本发明实施例中,在获取到终端的互联网协议地址后,可以提取出该互联网协议地址的特征值,其包括网络部分和主机部分,即该特征值可以包括网络部分和/或主机部分中的字节数据。
举例而言,A类的互联网协议地址由1字节的网络地址和3字节主机地址组成,可以将十进制的数据转化为二进制的数值,得到特征值,提取出特定位数的数值为互联网协议地址标识位。
步骤103,获取同一目录下的文件名,根据所述文件名生成应用标识位;
实际应用到本发明实施例中,在终端的储存位置上还有不同的储存目录,在储存目录下生成不同的文件,得到该不同文件的文件名,值得注意的是,该储存目录可以应用程序下对应的储存目录。
根据上述的储存目录可以生成应用标识位,即提取出文件名中的预设位数的数字或字母等,作为应用标识位。
步骤104,获取当前时间戳,根据所述当前时间戳生成秒内序列;
具体应用到本发明实施例中,还可以获取终端的当前时间戳,通过内置原子计数器生成秒内序列,
原子计数器是将列当成一个原子计数器来使用,便于为某些在线应用提供实时统计功能,例如统计帖子的PV(实时浏览量)等。
原子计数器可以解决由强一致性导致的写入性能开销的问题。一个RMW(Read-Modify-Write)操作,通过一次网络请求发送到后端服务器,后端服务器使用内部行锁机制在本地完成RMW的操作。通过原子计数器将分布式计算器的计算逻辑下推到后端服务器,在保证强一致性的情况下,提升原子计数器的写入性能。
步骤105,根据所述当前时间戳、互联网协议地址标识位、应用标识位及秒内序列组合生成唯一标识。
进一步应用到本发明实施例中,将上述的当前时间戳、互联网协议地址标识位、应用标识位及秒内序列进行组合,生成唯一标识,达到快速生成分布式ID的技术效果。
具体而言,可以将该当前时间戳、互联网协议地址标识位、应用标识位及秒内序列放置于预设位置,造成该唯一标识。
本发明实施例中,标识生成方法包括:获取终端的互联网协议地址;提取出所述互联网协议地址的特征值,根据所述特征值确定互联网协议地址标识位;获取同一目录下的文件名,根据所述文件名生成应用标识位;获取当前时间戳,根据所述当前时间戳生成秒内序列;根据所述当前时间戳、互联网协议地址标识位、应用标识位及秒内序列组合生成唯一标识;提供一种分布式ID生成的新思路,采用工具包方式生成,轻量级,极少配置,对接简单;不依赖任何中间件,稳定性、可靠性得到大幅提升;精巧的位操作算法,高性能;无需远程调用,时延小。
本发明实施例的一种优选实施例中,参照图2,示出了本发明实施例的一种应用标识位生成步骤的流程示意图,所述文件名包括序号文件名;所述获取同一目录下的文件名,根据所述文件名生成应用标识位,包括以下子步骤:
步骤S11,在指定目录下,生成唯一序号文件;
步骤S12,提取出所述唯一序号文件中的序号文件名;
步骤S13,根据所述序号文件名生成应用标识位。
本发明实施例中,可以在终端的某个应用程序的指定目录下,生成一个或多个的唯一序号文件,再将该唯一序号文件中的序号文件名进行提取,通过该序号文件名生成应用标识位。
参照图3,示出了本发明实施例的一种唯一应用文件缓存步骤的流程示意图,所述方法还包括以下子步骤:
步骤S21,在指定目录下,生成唯一应用文件;
步骤S22,将所述应用标识位缓存至所述唯一应用文件。
进一步地,还可以在终端的某个应用程序的指定目录下,生成唯一应用文件,将该应用标识位储存至该文件中,以便下次调用,无需再次计算,提高效率。
参照图4,示出了本实施例的一种秒内序列输出步骤的流程示意图,所述获取当前时间戳,根据所述当前时间戳生成秒内序列,包括以下子步骤:
步骤S31,获取到当前时间戳;
步骤S32,将所述当前时间戳输入至内置原子计数器,得到输出的所述秒内序列。
本发明实施例中,在得到终端系统的当前时间戳后,将该当前时间戳输入至内置原子计数器,得到输出的所述秒内序列。
参照图5,示出了本实施例的一种唯一标识位移步骤的流程示意图,所述根据所述当前时间戳、互联网协议地址标识位、应用标识位及秒内序列组合生成唯一标识,包括以下子步骤:
步骤S41,通过位移算法将当前时间戳、互联网协议地址标识位、应用标识位及秒内序列进行位移,得到所述唯一标识。
本发明实施例中,可以通过位移算法针对当前时间戳、互联网协议地址标识位、应用标识位及秒内序列进行处理,得到所述唯一标识,无时延,快速生成分布式ID,不依赖任何中间件。
为了使本领域技术人员更好了理解本发明实施例,以下通过一个具体示例进行说明:
本发明实施例包含的主要模块:业务系统:存在数据库业务应用系统;业务数据库:业务数据存储;分布式ID生成工具包(即分布式ID生成组件):一个实现无依赖非中心化分布式ID生成工具包。
本发明实施例的实现过程为:
1、分布式ID生成组件作为一个独立的组件植入到平台业务应用中,应用启动时会加载该模块,模块初始化后开始工作,其生命周期与应用一致。
2、初始化ID组件IP标识位。获取系统当前IP并将IP中的特征值算出,得出14bit位的IP标识位,IP标识位实现了机器间的唯一。
3、初始化ID组件APP(Application,应用程序)标识位。通过本地文件协调算法,协调本地文件系统,生成业务系统对应的APP标识位,并存入唯一标识文件。APP标识位实现了同一台机器的进程间唯一。
其中,本地文件协调算法基于系统底层文件系统实现,通过文件系统保证同一目录下文件名唯一这个特性,保证在指定目录下,生成序号文件、应用同名文件的唯一性,同时通过Java重试机制,避免多应用并发启动情况下序号竞争导致的应用启动失败。最终每个应用对应唯一序号,并缓存至对应的同名缓存文件,具体可以参照图6及图7所示的APP标识位协调算法原理示意图。
将IP标识位与APP标识位组合成19bit位的分布式唯一标识,ID组件参数初始化完成。
5、以上初始化完成后,业务系统的每次ID生成,ID组件都会获取当前系统时间戳,并根据时间戳,由内置原子计数器生成秒内序列,然后最终由时间戳、19位分布式唯一标识、秒内序列,组合成63bit位的long类型数字,即为满足分布式唯一特性的新ID。参照图8,示出了一种分布式ID生成方法的示意图,生成组合过程使用了移位算法,比普通运算更为高效。整个ID为63bit位,高位29bit位为时间戳差值,中位19bit位填充分布式唯一标识,秒内序列占用最后15bit位。时间戳需往高位移19+15=34bit位,分布式唯一标识往高位位移15bit位,最后三个数值再进行位或运算,得到ID。
6、下次应用启动,仍会根据IP计算IP标识位,而APP标识已经缓存入文件,无需重新计算。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图9,示出了本发明实施例的一种标识生成装置实施例的结构框图,具体可以包括如下模块:
地址获取模块301,用于获取终端的互联网协议地址;
确定模块302,用于提取出所述互联网协议地址的特征值,根据所述特征值确定互联网协议地址标识位;
应用标识位生成模块303,用于获取同一目录下的文件名,根据所述文件名生成应用标识位;
秒内序列生成模块304,用于获取当前时间戳,根据所述当前时间戳生成秒内序列;
唯一标识生成模块305,用于根据所述当前时间戳、互联网协议地址标识位、应用标识位及秒内序列组合生成唯一标识。
优选地,所述文件名包括序号文件名;所述应用标识位生成模块包括:
序号文件生成子模块,用于在指定目录下,生成唯一序号文件;
序号文件名提取子模块,用于提取出所述唯一序号文件中的序号文件名;
应用标识位生成子模块,用于根据所述序号文件名生成应用标识位。
优选地,所述装置还包括:
应用文件生成模块,用于在指定目录下,生成唯一应用文件;
缓存模块,用于将所述应用标识位缓存至所述唯一应用文件。
优选地,所述秒内序列生成模块包括:
当前时间戳获取子模块,用于获取到当前时间戳;
秒内序列输出子模块,用于将所述当前时间戳输入至内置原子计数器,得到输出的所述秒内序列。
优选地,所述唯一标识生成模块包括:
唯一标识生成子模块,用于通过位移算法将当前时间戳、互联网协议地址标识位、应用标识位及秒内序列进行位移,得到所述唯一标识。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述标识生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上述提供的标识生成装置可用于执行上述任意实施例提供的标识生成方法,具备相应的功能和有益效果。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种标识生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现图1至图8的实施例的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下图1至图8的实施例的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种标识生成方法、一种标识生成装置、一种计算机设备和一种存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (6)

1.一种标识生成方法,其特征在于,包括:
获取终端的互联网协议地址;
提取出所述互联网协议地址的特征值,根据所述特征值确定互联网协议地址标识位;
获取同一目录下的文件名,根据所述文件名生成应用标识位;
获取当前时间戳,根据所述当前时间戳生成秒内序列;
根据所述当前时间戳、互联网协议地址标识位、应用标识位及秒内序列组合生成唯一标识;
所述文件名包括序号文件名;所述获取同一目录下的文件名,根据所述文件名生成应用标识位,包括:
在指定目录下,生成唯一序号文件;
提取出所述唯一序号文件中的序号文件名;
根据所述序号文件名生成应用标识位;
所述方法还包括:
在指定目录下,生成唯一应用文件;
将所述应用标识位缓存至所述唯一应用文件;
其中,分布式ID生成组件作为一个独立的组件植入到平台业务应用中,应用启动时会加载该组件,组件初始化后开始工作,其生命周期与应用一致;
初始化ID组件IP标识位,获取系统当前IP并将IP中的特征值算出,得出14bit位的IP标识位,IP标识位实现了机器间的唯一;
初始化ID组件APP标识位,通过本地文件协调算法,协调本地文件系统,生成业务系统对应的APP标识位,并存入唯一标识文件,APP标识位实现了同一台机器的进程间唯一;
其中,本地文件协调算法基于系统底层文件系统实现,通过文件系统保证同一目录下文件名唯一这个特性,保证在指定目录下,生成序号文件、应用同名文件的唯一性,同时通过Java重试机制,避免多应用并发启动情况下序号竞争导致的应用启动失败,最终每个应用对应唯一序号,并缓存至对应的同名缓存文件。
2.根据权利要求1所述的方法,其特征在于,所述获取当前时间戳,根据所述当前时间戳生成秒内序列,包括:
获取到当前时间戳;
将所述当前时间戳输入至内置原子计数器,得到输出的所述秒内序列。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述当前时间戳、互联网协议地址标识位、应用标识位及秒内序列组合生成唯一标识,包括:
通过位移算法将当前时间戳、互联网协议地址标识位、应用标识位及秒内序列进行位移,得到所述唯一标识。
4.一种标识生成装置,其特征在于,包括:
地址获取模块,用于获取终端的互联网协议地址;
确定模块,用于提取出所述互联网协议地址的特征值,根据所述特征值确定互联网协议地址标识位;
应用标识位生成模块,用于获取同一目录下的文件名,根据所述文件名生成应用标识位;
秒内序列生成模块,用于获取当前时间戳,根据所述当前时间戳生成秒内序列;
唯一标识生成模块,用于根据所述当前时间戳、互联网协议地址标识位、应用标识位及秒内序列组合生成唯一标识;
所述文件名包括序号文件名;所述应用标识位生成模块包括:
序号文件生成子模块,用于在指定目录下,生成唯一序号文件;
序号文件名提取子模块,用于提取出所述唯一序号文件中的序号文件名;
应用标识位生成子模块,用于根据所述序号文件名生成应用标识位;所述装置还包括:
应用文件生成模块,用于在指定目录下,生成唯一应用文件;
缓存模块,用于将所述应用标识位缓存至所述唯一应用文件;
其中,分布式ID生成组件作为一个独立的组件植入到平台业务应用中,应用启动时会加载该组件,组件初始化后开始工作,其生命周期与应用一致;
初始化ID组件IP标识位,获取系统当前IP并将IP中的特征值算出,得出14bit位的IP标识位,IP标识位实现了机器间的唯一;
初始化ID组件APP标识位,通过本地文件协调算法,协调本地文件系统,生成业务系统对应的APP标识位,并存入唯一标识文件,APP标识位实现了同一台机器的进程间唯一;
其中,本地文件协调算法基于系统底层文件系统实现,通过文件系统保证同一目录下文件名唯一这个特性,保证在指定目录下,生成序号文件、应用同名文件的唯一性,同时通过Java重试机制,避免多应用并发启动情况下序号竞争导致的应用启动失败,最终每个应用对应唯一序号,并缓存至对应的同名缓存文件。
5.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3中任一项所述的标识生成方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项所述的标识生成方法的步骤。
CN202010726378.5A 2020-07-25 2020-07-25 一种标识生成方法、装置、计算机设备和存储介质 Active CN111901453B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010726378.5A CN111901453B (zh) 2020-07-25 2020-07-25 一种标识生成方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010726378.5A CN111901453B (zh) 2020-07-25 2020-07-25 一种标识生成方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111901453A CN111901453A (zh) 2020-11-06
CN111901453B true CN111901453B (zh) 2023-07-07

Family

ID=73190928

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010726378.5A Active CN111901453B (zh) 2020-07-25 2020-07-25 一种标识生成方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111901453B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383627A (zh) * 2020-11-16 2021-02-19 四川长虹电器股份有限公司 一种分布式系统中生成唯一标识的方法
CN113779513A (zh) * 2021-09-15 2021-12-10 广州易方信息科技股份有限公司 Zip文件的标识插入方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776932A (zh) * 2016-12-01 2017-05-31 湖北荆楚网络科技股份有限公司 一种在分布式系统内生成唯一id的方法
CN107454203A (zh) * 2017-07-19 2017-12-08 成都数联铭品科技有限公司 在分布式系统中生成唯一id的方法
CN110750506A (zh) * 2019-09-17 2020-02-04 苏宁云计算有限公司 数据对象标识生成方法、装置、计算机设备和存储介质
CN111371918A (zh) * 2020-02-28 2020-07-03 上海钧正网络科技有限公司 一种分布式集群环境中的id生成方法、装置、介质及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776932A (zh) * 2016-12-01 2017-05-31 湖北荆楚网络科技股份有限公司 一种在分布式系统内生成唯一id的方法
CN107454203A (zh) * 2017-07-19 2017-12-08 成都数联铭品科技有限公司 在分布式系统中生成唯一id的方法
CN110750506A (zh) * 2019-09-17 2020-02-04 苏宁云计算有限公司 数据对象标识生成方法、装置、计算机设备和存储介质
CN111371918A (zh) * 2020-02-28 2020-07-03 上海钧正网络科技有限公司 一种分布式集群环境中的id生成方法、装置、介质及设备

Also Published As

Publication number Publication date
CN111901453A (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
CN102132256B (zh) 一种使用名称解析来供应虚拟资源的方法和系统
CN111901453B (zh) 一种标识生成方法、装置、计算机设备和存储介质
CN108089912A (zh) 一种虚拟机与容器超融合系统构建方法及装置
CN108776587B (zh) 数据获取方法、装置、计算机设备以及存储介质
CN106850650B (zh) 用于游戏客户端访问数据的方法及客户端游戏系统
CN106648569A (zh) 目标序列化实现方法和装置
CN108270626A (zh) 一种升级服务器固件的方法、装置、设备及可读存储介质
CN114490756A (zh) 一种关联查看模型的生成方法、装置、计算机设备及存储介质
CN117349291A (zh) 一种数据库主键短id生成方法、电子设备和介质
CN111984293A (zh) 一种信息处理方法、装置和存储介质
CN116842012A (zh) 一种Redis集群的分片存储方法、装置、设备及存储介质
CN115827115A (zh) 微信小程序的h5页面跳转方法、装置、设备及存储介质
CN113791809B (zh) 应用异常处理方法、装置以及计算机可读存储介质
CN114138182B (zh) 一种分布式云硬盘的跨存储在线克隆方法、系统及装置
US10402391B2 (en) Processing method, device and system for data of distributed storage system
CN114840388A (zh) 数据监控方法、装置、电子设备及存储介质
CN115080563A (zh) 数据捕获方法、装置、系统、电子设备及存储介质
CN114356379A (zh) 基于备份的服务升级方法、装置、设备及存储介质
CN113704120A (zh) 数据传输方法、装置、设备及存储介质
CN114968347A (zh) 堆栈还原方法、装置、存储介质及电子设备
CN109284278B (zh) 基于数据分析技术的计算逻辑迁移方法及终端设备
CN112231446A (zh) 一种安全防护终端数据管理方法、系统及设备和存储介质
CN112657196A (zh) 资源更新方法、装置、计算机设备和可读存储介质
CN111414162B (zh) 一种数据处理方法、装置及其设备
CN111966691B (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