CN113742062B - 机器序列号的分配方法、装置及计算机可读存储介质 - Google Patents
机器序列号的分配方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113742062B CN113742062B CN202110888944.7A CN202110888944A CN113742062B CN 113742062 B CN113742062 B CN 113742062B CN 202110888944 A CN202110888944 A CN 202110888944A CN 113742062 B CN113742062 B CN 113742062B
- Authority
- CN
- China
- Prior art keywords
- machine serial
- serial number
- deactivated
- instance
- machine
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000009826 distribution Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 241000533950 Leucojum Species 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种机器序列号的分配方法、装置及计算机可读存储介质,方法包括:在检测到实例启动时,在已生成的机器序列号中确定是否存在已停用的机器序列号;当存在已停用的机器序列号时,在已停用的机器序列号中确定目标机器序列号;将目标机器序列号分配给启动的实例。本发明可提高机器序列号分配的智能化程度。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种机器序列号的分配方法、装置及计算机可读存储介质。
背景技术
雪花算法是一种高效的分布式架构下提供全局唯一序列号的算法。它依附于时间戳,并发序列号,机器序列号在内存中通过位运算产生一个序列号从而实现唯一性。其中机器序列号的意义就是为了在多实例的场景下进行分配,保证每个实例分配的序列号都是唯一的。常规技术手段往往需要在程序中为每个实例去配置各自的机器序列号。例如实例一配置workId为1,实例二配置workId为2。但常规技术手段在需要分配机器序列号时,往往是重新生产机器序列号进行分配,容易造成机器序列号的浪费,由此可见,机器序列号分配的智能化程度较低。
发明内容
本发明实施例通过提供一种机器序列号的分配方法、装置及计算机可读存储介质,旨在解决如何提高机器序列号分配的智能化程度的技术问题。
在检测到实例启动时,在已生成的机器序列号中确定是否存在已停用的机器序列号;
当存在所述已停用的机器序列号时,在所述已停用的机器序列号中确定目标机器序列号;
将所述目标机器序列号分配给所述启动的实例。
在一实施例中,所述机器序列号的分配方法还包括:
当不存在所述已停用的机器序列号时,生成新的机器序列号作为所述目标机器序列号;
执行所述将所述目标机器序列号分配给所述实例的步骤。
在一实施例中,所述检测所述第三方软件包是否更新的步骤包括:
当不存在所述已停用的机器序列号时,根据所述已生成的机器序列号中数值最大的序列号进行自动递增以生成所述目标机器序列号。
在一实施例中,所述检测所述第三方软件包是否更新的步骤之后,所述方法还包括:
更新所述已生成的机器序列号的使用状态,所述使用状态包括使用中以及已停用。
在一实施例中,所述检测所述第三方软件包是否更新的步骤包括:
检测所述已生成的机器序列号对应的实例是否已停止运行;
在所述已生成的机器序列号对应的实例已停止运行时,将所述已停止运行的实例对应的机器序列号的使用状态更新为已停用;
在所述已生成的机器序列号对应的实例未停止运行时,将所述未停止运行的实例对应的机器序列号的使用状态更新为使用中。
在一实施例中,所述根据所述引用路径下载所述第三方软件包的步骤之前,所述方法还包括:
检测所述已生成的机器序列号对应的实例是否已停止运行预设时间长度;
在所述已生成的机器序列号对应的实例已停止运行所述预设时间长度时,将已停止运行所述预设时间长度的实例对应的机器序列号的使用状态更新为已停用;
在所述已生成的机器序列号对应的实例未停止运行所述预设时间长度时,将未停止运行所述预设时间长度的实例对应的机器序列号的使用状态更新为使用中;
在所述已生成的机器序列号对应的实例未停止运行时,将所述未停止运行的实例对应的机器序列号的使用状态更新为使用中。
在一实施例中,所述确定所述引用路径的路径类型是否为预设类型的步骤之后,所述方法还包括:
当存在所述已停用的机器序列号时,确定所述已停用的机器序列号的数量;
若存在多个所述已停用的机器序列号时,确定所述已停用的机器序列号的位数;
将位数小的所述已停用的机器序列号作为所述目标机器序列号。
在一实施例中,所述根据所述引用路径下载所述第三方软件包的步骤之后,所述方法还包括:
当存在所述已停用的机器序列号时,确定所述已停用的机器序列号的数量;
若存在多个所述已停用的机器序列号时,确定所述已停用的机器序列号的数值大小;
将数值小的所述已停用的机器序列号作为所述目标机器序列号。
本发明实施例还提供一种机器序列号的分配装置,所述机器序列号的分配装置包括:存储器、处理器及存储在所述存储器上并可在处理器上运行的机器序列号的分配程序,所述处理器执行所述机器序列号的分配程序时实现如上所述的机器序列号的分配方法的各个步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有机器序列号的分配程序,所述机器序列号的分配程序被处理器执行时实现如上所述的机器序列号的分配方法的各个步骤。
在本实施例的技术方案中,机器序列号的分配装置在检测到实例启动时,在已生成的机器序列号中确定是否存在已停用的机器序列号;当存在所述已停用的机器序列号时,在所述已停用的机器序列号中确定目标机器序列号;将所述目标机器序列号分配给所述启动的实例。由于机器序列号的分配装置可以检测实例的起点,并且可确定已经生产的序列号的使用状态,在欧实例启动时,若存在已经停用的机器序列号,则可将已经停用的序列号分配给实例使用,无需再生成新的机器序列号,提高了管理机器序列号的只能化程度,因此,本发明可提高机器序列号分配的智能化程度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例涉及的机器序列号的分配装置的硬件构架示意图;
图2为本发明机器序列号的分配方法第一实施例的流程示意图;
图3为本发明机器序列号的分配方法第二实施例的流程示意图;
图4为本发明机器序列号的分配方法第三实施例的流程示意图;
图5为本发明机器序列号的分配方法第四实施例步骤S60的细化流程示意图;
图6为本发明机器序列号的分配方法第五实施例步骤S60的细化流程示意图。
具体实施方式
为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的主要解决方案是:机器序列号的分配装置在检测到实例启动时,在已生成的机器序列号中确定是否存在已停用的机器序列号;当存在所述已停用的机器序列号时,在所述已停用的机器序列号中确定目标机器序列号;将所述目标机器序列号分配给所述启动的实例。
由于机器序列号的分配装置可以检测实例的起点,并且可确定已经生产的序列号的使用状态,在欧实例启动时,若存在已经停用的机器序列号,则可将已经停用的序列号分配给实例使用,无需再生成新的机器序列号,提高了管理机器序列号的只能化程度,因此,本发明可提高机器序列号分配的智能化程度。
作为一种实现方式,机器序列号的分配装置可以如图1。
本发明实施例方案涉及的是机器序列号的分配装置,机器序列号的分配装置包括:处理器101,例如CPU,存储器102,通信总线103。其中,通信总线103用于实现这些组件之间的连接通信。
存储器102可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。如图1,作为一种计算机可读存储介质的存储器102中可以包括检测程序;而处理器101可以用于调用存储器102中存储的检测程序,并执行以下操作:
在检测到实例启动时,在已生成的机器序列号中确定是否存在已停用的机器序列号;
当存在所述已停用的机器序列号时,在所述已停用的机器序列号中确定目标机器序列号;
将所述目标机器序列号分配给所述启动的实例。
在一实施例中,处理器101可以用于调用存储器102中存储的检测程序,并执行以下操作:
当不存在所述已停用的机器序列号时,生成新的机器序列号作为所述目标机器序列号;
执行所述将所述目标机器序列号分配给所述实例的步骤。
在一实施例中,处理器101可以用于调用存储器102中存储的检测程序,并执行以下操作:
当不存在所述已停用的机器序列号时,根据所述已生成的机器序列号中数值最大的序列号进行自动递增以生成所述目标机器序列号。
在一实施例中,处理器101可以用于调用存储器102中存储的检测程序,并执行以下操作:
更新所述已生成的机器序列号的使用状态,所述使用状态包括使用中以及已停用。
在一实施例中,处理器101可以用于调用存储器102中存储的检测程序,并执行以下操作:
检测所述已生成的机器序列号对应的实例是否已停止运行;
在所述已生成的机器序列号对应的实例已停止运行时,将所述已停止运行的实例对应的机器序列号的使用状态更新为已停用;
在所述已生成的机器序列号对应的实例未停止运行时,将所述未停止运行的实例对应的机器序列号的使用状态更新为使用中。
在一实施例中,处理器101可以用于调用存储器102中存储的检测程序,并执行以下操作:
检测所述已生成的机器序列号对应的实例是否已停止运行预设时间长度;
在所述已生成的机器序列号对应的实例已停止运行所述预设时间长度时,将已停止运行所述预设时间长度的实例对应的机器序列号的使用状态更新为已停用;
在所述已生成的机器序列号对应的实例未停止运行所述预设时间长度时,将未停止运行所述预设时间长度的实例对应的机器序列号的使用状态更新为使用中;
在所述已生成的机器序列号对应的实例未停止运行时,将所述未停止运行的实例对应的机器序列号的使用状态更新为使用中。
在一实施例中,处理器101可以用于调用存储器102中存储的检测程序,并执行以下操作:
当存在所述已停用的机器序列号时,确定所述已停用的机器序列号的数量;
若存在多个所述已停用的机器序列号时,确定所述已停用的机器序列号的位数;
将位数小的所述已停用的机器序列号作为所述目标机器序列号。
在一实施例中,处理器101可以用于调用存储器102中存储的检测程序,并执行以下操作:
当存在所述已停用的机器序列号时,确定所述已停用的机器序列号的数量;
若存在多个所述已停用的机器序列号时,确定所述已停用的机器序列号的数值大小;
将数值小的所述已停用的机器序列号作为所述目标机器序列号。
在本实施例的技术方案中,机器序列号的分配装置在检测到实例启动时,在已生成的机器序列号中确定是否存在已停用的机器序列号;当存在所述已停用的机器序列号时,在所述已停用的机器序列号中确定目标机器序列号;将所述目标机器序列号分配给所述启动的实例。由于机器序列号的分配装置可以检测实例的起点,并且可确定已经生产的序列号的使用状态,在欧实例启动时,若存在已经停用的机器序列号,则可将已经停用的序列号分配给实例使用,无需再生成新的机器序列号,提高了管理机器序列号的只能化程度,因此,本发明可提高机器序列号分配的智能化程度。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
参照图2,图2为本发明机器序列号的分配方法的第一实施例,方法包括以下步骤:
步骤S10,在检测到实例启动时,在已生成的机器序列号中确定是否存在已停用的机器序列号。
在本实施例中,分布式唯一ID的方案有很多,本实施例优选雪花算法,组成结构大致分为了无效位、时间位、机器位和序列号位。其特点是自增、有序、纯数字组成,查询效率高且不依赖于数据库。适合在分布式的场景中应用,可根据需求调整具体实现细节,上述机器序列号具备全局唯一性、递增性、高可用性以及高性能性,其中,全局唯一性意味着不能出现有重复的ID标识,这是基本要求;递增性是确保生成ID对于用户或业务是递增的;高可用性是确保任何时候都能生成正确的ID。高性能性是在高并发的环境下依然表现良好。机器序列号的意义是为了在多节点、多实例的场景下去部署可以保证每个实例产生的序列号都是唯一的。上述实例为分布式架构下的一个实例,可为机器、节点等,容易理解的是,机器序列号的分配装置可检测实例的运行状态,包括启动、运行中以及停止运行等;当检测到实例启动时,会在已经生成但已停用的机器序列号中选择一个机器序列号分配给启动的实例。
步骤S20,当存在所述已停用的机器序列号时,在所述已停用的机器序列号中确定目标机器序列号。
在本实施例中,在确定存在已停用的机器序列号时,会使用已停用的机器序列号进行分配。
当存在所述已停用的机器序列号时,确定已停用的机器序列号的数量;若存在多个已停用的机器序列号时,确定已停用的机器序列号的数值大小;将数值小的已停用的机器序列号作为目标机器序列号。
可选的,当存在已停用的机器序列号时,确定已停用的机器序列号的数量;若存在多个已停用的机器序列号时,确定已停用的机器序列号的位数;将位数小的已停用的机器序列号作为目标机器序列号。
步骤S30,将所述目标机器序列号分配给所述启动的实例。
在本实施例的技术方案中,由于机器序列号的分配装置可以检测实例的起点,并且可确定已经生产的序列号的使用状态,在有实例启动时,若存在已经停用的机器序列号,则可将已经停用的序列号分配给实例使用,无需再生成新的机器序列号,提高了管理机器序列号的只能化程度,因此,本发明可提高机器序列号分配的智能化程度。
参照图3,图3为本发明机器序列号的分配方法的第二实施例,基于第一实施例,步骤S10之后,还包括:
步骤S40,当不存在所述已停用的机器序列号时,生成新的机器序列号作为所述目标机器序列号。
在本实施例中,若检测到不存在已停用的机器序列号,则生成新的机器序列号作为目标机器序列号,具体的,本实施例由系统自动为实例分配机器序列号,主要依赖数据库实现。其具体的做法是,实例启动的时候在数据库表中插入一个记录,记录的主键采用自动递增,这样就从数据库获取该记录的自增主键用作机器序列号。这时候在容器中再横向扩容第二个实例时候就从数据库中获取第二个自增主键。由于依赖数据库自增主键去获取id,这样可以保证机器序列号的唯一性。不用人为地去考虑在程序中配置机器序列号的问题,在容器中扩展新的一个实例时候也比较方便。
可选的,当不存在已停用的机器序列号时,根据已生成的机器序列号中数值最大的序列号进行自动递增以生成目标机器序列号。
步骤S50,执行所述将所述目标机器序列号分配给所述实例的步骤。
在本实施例的技术方案中,先检测是否存在可重复利用的机器序列号,在不存在时再生成新的序列号,可提高机器序列号的复用性。
参照图4,图4为本发明机器序列号的分配方法的第三实施例,基于第一至第二任一实施例,步骤S10之前,还包括:
步骤S60,更新所述已生成的机器序列号的使用状态,所述使用状态包括使用中以及已停用。
在本实施例中,可周期性的去刷新自己机器序列号id的记录更新时间,例如:实例在运行中,每10分钟去刷新自己机器序列号id的记录更新时间,确保其是被使用的。
在本实施例的技术方案中,通过周期性更新已生成的的机器序列号的使用状态,可实现对已生成的机器序列号的保活。
参照图5,图5为本发明机器序列号的分配方法的第四实施例,基于第一至第三任一实施例,步骤S60包括:
步骤S61,检测所述已生成的机器序列号对应的实例是否已停止运行。
步骤S62,在所述已生成的机器序列号对应的实例已停止运行时,将所述已停止运行的实例对应的机器序列号的使用状态更新为已停用。
步骤S63,在所述已生成的机器序列号对应的实例未停止运行时,将所述未停止运行的实例对应的机器序列号的使用状态更新为使用中。
在本实施例中,在检测到实例停止运行时,将分配给该实例的机器序列号的使用状态标记为未使用,此时,意味着使用状态标记为未使用的机器序列号可用于分配,例如:在新增一个新的实例时,先取已停运的实例对应的机器序列号进行分配,以分配给新增的实例;如果没有,说明此前的实例都还在工作中,没有挂掉,则可新增一条记录,再生成一个新的机器序列号与记录对应,以实现将新生成的机器序列号分配给新增的实例。本实施例可在重启实例时,有效控制机器序列号的浪费。等于提供了一种基于实例运行状态的机器序列号回收机制。
在本实施例中,鉴于机器序列号的分配装置可检测实例的运行状态,例如启动、运行中以及停止运行,因此,可基于实例停止运行的状态来标记此前分配给该实例的机器序列号的状态,从而实现对机器序列号的保活。
参照图6,图6为本发明机器序列号的分配方法的第五实施例,基于第一至第四任一实施例,步骤S60包括:
步骤S64,检测所述已生成的机器序列号对应的实例是否已停止运行预设时间长度。
步骤S65,在所述已生成的机器序列号对应的实例已停止运行所述预设时间长度时,将已停止运行所述预设时间长度的实例对应的机器序列号的使用状态更新为已停用。
步骤S66,在所述已生成的机器序列号对应的实例未停止运行所述预设时间长度时,将未停止运行所述预设时间长度的实例对应的机器序列号的使用状态更新为使用中。
步骤S67,在所述已生成的机器序列号对应的实例未停止运行时,将所述未停止运行的实例对应的机器序列号的使用状态更新为使用中。
在本实施例中,在检测到实例停止运行一段时间时,再将分配给该实例的机器序列号的使用状态标记为未使用,例如:在新增一个新的实例时,先取已经停止运行大于24小时的实例对应的机器序列号分配给新增的实例;如果没有,说明此前的实例都还在工作中,没有挂掉,则可新增一条记录,再生成一个新的机器序列号与记录对应,以实现将新生成的机器序列号分配给新的实例。本实施例也可在重启实例时,有效控制机器序列号的浪费。也等于提供了一种基于实例运行状态的机器序列号回收机制。
在本实施例的技术方案中,考虑到实例可能会在短暂时间内重启,既先停止运行再起点,因此,在更新已生成的机器序列号的使用状态时,会记录实例停止运行的时间,当实例停止运行的时间达到一定时间,再将此前分配给该实例的机器序列号标记为已停用,可有效控制频繁分配已生成的机器序列号的情况出现。
为实现上述目的,本发明实施例还提供一种机器序列号的分配装置,所述机器序列号的分配装置包括:存储器、处理器及存储在所述存储器上并可在处理器上运行的机器序列号的分配程序,所述处理器执行所述机器序列号的分配程序时实现如上所述的机器序列号的分配方法的各个步骤。
为实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有机器序列号的分配程序,所述机器序列号的分配程序被处理器执行时实现如上所述的机器序列号的分配方法的各个步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或机器序列号的分配程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的网络配置产品程序的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和机器序列号的分配程序产品的流程图和/或方框图来描述的。应理解可由机器序列号的分配程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些机器序列号的分配程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些机器序列号的分配程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些机器序列号的分配程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种机器序列号的分配方法,其特征在于,所述方法应用于分布式系统,所述分布式系统包括多个实例,所述机器序列号的分配方法包括以下步骤:
在检测到实例启动时,在已生成的机器序列号中确定是否存在已停用的机器序列号;
当存在所述已停用的机器序列号时,在所述已停用的机器序列号中确定目标机器序列号;
当不存在所述已停用的机器序列号时,生成新的机器序列号作为所述目标机器序列号;
将所述目标机器序列号分配给所述启动的实例。
2.如权利要求1所述的机器序列号的分配方法,其特征在于,所述当不存在所述已停用的机器序列号时,生成新的机器序列号作为所述目标机器序列号的步骤包括:
当不存在所述已停用的机器序列号时,根据所述已生成的机器序列号中数值最大的序列号进行自动递增以生成所述目标机器序列号。
3.如权利要求1所述的机器序列号的分配方法,其特征在于,所述在检测到实例启动时,在已生成的机器序列号中确定是否存在已停用的机器序列号的步骤之前,所述方法还包括:
更新所述已生成的机器序列号的使用状态,所述使用状态包括使用中以及已停用。
4.如权利要求3所述的机器序列号的分配方法,其特征在于,所述更新所述已生成的机器序列号的使用状态的步骤包括:
检测所述已生成的机器序列号对应的实例是否已停止运行;
在所述已生成的机器序列号对应的实例已停止运行时,将所述已停止运行的实例对应的机器序列号的使用状态更新为已停用;
在所述已生成的机器序列号对应的实例未停止运行时,将所述未停止运行的实例对应的机器序列号的使用状态更新为使用中。
5.如权利要求3所述的机器序列号的分配方法,其特征在于,所述更新所述已生成的机器序列号的使用状态的步骤包括:
检测所述已生成的机器序列号对应的实例是否已停止运行预设时间长度;
在所述已生成的机器序列号对应的实例已停止运行所述预设时间长度时,将已停止运行所述预设时间长度的实例对应的机器序列号的使用状态更新为已停用;
在所述已生成的机器序列号对应的实例未停止运行所述预设时间长度时,将未停止运行所述预设时间长度的实例对应的机器序列号的使用状态更新为使用中。
6.如权利要求1所述的机器序列号的分配方法,其特征在于,所述当存在已停用的机器序列号时,在已停用的机器序列号中确定目标机器序列号的步骤包括:
当存在所述已停用的机器序列号时,确定所述已停用的机器序列号的数量;
若存在多个所述已停用的机器序列号时,确定所述已停用的机器序列号的位数;
将位数小的所述已停用的机器序列号作为所述目标机器序列号。
7.如权利要求1所述的机器序列号的分配方法,其特征在于,所述当存在已停用的机器序列号时,在已停用的机器序列号中确定目标机器序列号的步骤包括:
当存在所述已停用的机器序列号时,确定所述已停用的机器序列号的数量;
若存在多个所述已停用的机器序列号时,确定所述已停用的机器序列号的数值大小;
将数值小的所述已停用的机器序列号作为所述目标机器序列号。
8.一种机器序列号的分配装置,其特征在于,所述机器序列号的分配装置包括:存储器、处理器及存储在所述存储器上并可在处理器上运行的机器序列号的分配程序,所述处理器执行所述机器序列号的分配程序时实现如权利要求1至7中任一项所述的机器序列号的分配方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有机器序列号的分配程序,所述机器序列号的分配程序被处理器执行时实现如权利要求1至7中任一项所述的机器序列号的分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110888944.7A CN113742062B (zh) | 2021-08-03 | 2021-08-03 | 机器序列号的分配方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110888944.7A CN113742062B (zh) | 2021-08-03 | 2021-08-03 | 机器序列号的分配方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113742062A CN113742062A (zh) | 2021-12-03 |
CN113742062B true CN113742062B (zh) | 2024-02-09 |
Family
ID=78730034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110888944.7A Active CN113742062B (zh) | 2021-08-03 | 2021-08-03 | 机器序列号的分配方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113742062B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950961B2 (en) * | 2001-02-13 | 2005-09-27 | Hewlett-Packard Development Company, L.P. | Highly available, monotonic increasing sequence number generation |
CN109934355A (zh) * | 2018-12-25 | 2019-06-25 | 中国电力科学研究院有限公司 | 基于唯一标识的设备管理的方法及系统 |
CN111831639A (zh) * | 2019-04-19 | 2020-10-27 | 北京车和家信息技术有限公司 | 一种全局唯一id生成方法及装置、车辆管理系统 |
CN111949324A (zh) * | 2020-07-21 | 2020-11-17 | 北京思特奇信息技术股份有限公司 | 一种分布式序列号生成方法和装置 |
CN112115133A (zh) * | 2020-08-04 | 2020-12-22 | 北京健康之家科技有限公司 | 分布式全局唯一id生成方法和系统、存储介质、设备 |
CN112559908A (zh) * | 2020-12-16 | 2021-03-26 | 北京百度网讯科技有限公司 | 数据标识生成方法、装置、设备、介质和程序产品 |
-
2021
- 2021-08-03 CN CN202110888944.7A patent/CN113742062B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950961B2 (en) * | 2001-02-13 | 2005-09-27 | Hewlett-Packard Development Company, L.P. | Highly available, monotonic increasing sequence number generation |
CN109934355A (zh) * | 2018-12-25 | 2019-06-25 | 中国电力科学研究院有限公司 | 基于唯一标识的设备管理的方法及系统 |
CN111831639A (zh) * | 2019-04-19 | 2020-10-27 | 北京车和家信息技术有限公司 | 一种全局唯一id生成方法及装置、车辆管理系统 |
CN111949324A (zh) * | 2020-07-21 | 2020-11-17 | 北京思特奇信息技术股份有限公司 | 一种分布式序列号生成方法和装置 |
CN112115133A (zh) * | 2020-08-04 | 2020-12-22 | 北京健康之家科技有限公司 | 分布式全局唯一id生成方法和系统、存储介质、设备 |
CN112559908A (zh) * | 2020-12-16 | 2021-03-26 | 北京百度网讯科技有限公司 | 数据标识生成方法、装置、设备、介质和程序产品 |
Non-Patent Citations (1)
Title |
---|
"O2O 家教通"微信小程序设计研究;王海龙;赵迪;冯恩春;李燕秋;梁冬燕;陈宏;;中国新通信(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113742062A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113037794B (zh) | 计算资源配置调度方法、装置及系统 | |
US10686728B2 (en) | Systems and methods for allocating computing resources in distributed computing | |
CN109379448B (zh) | 一种文件分布式部署方法、装置、电子设备及存储介质 | |
CN107733957B (zh) | 分布式服务配置系统及版本号分配方法 | |
CN107168777B (zh) | 分布式系统中资源的调度方法以及装置 | |
CN110704185B (zh) | 集群系统分片定时任务调度方法及集群系统 | |
CN103810045A (zh) | 资源分配方法、资源管理器、资源服务器及系统 | |
CN113076303A (zh) | 分布式系统中业务标识的生成方法和装置 | |
CN106708608A (zh) | 一种分布式锁服务方法、获取方法及相应装置 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN108765142B (zh) | 电子装置、多区块链整合控制方法和计算机可读存储介质 | |
CN106250487A (zh) | 一种数据库并发控制方法及装置 | |
CN111143053A (zh) | 一种定时任务的调度方法、服务器以及存储装置 | |
CN115599300A (zh) | 一种任务分配方法、装置、设备及介质 | |
CN109819674B (zh) | 计算机存储介质、嵌入式调度方法及系统 | |
CN111008071A (zh) | 任务调度系统、方法和服务器 | |
CN112732528B (zh) | 基于it运维监控的指标采集方法、系统、设备及存储介质 | |
CN113742062B (zh) | 机器序列号的分配方法、装置及计算机可读存储介质 | |
CN110704181A (zh) | 资源配置方法、装置及存储介质 | |
CN110308914B (zh) | 升级处理方法、装置、设备、系统及计算机可读存储介质 | |
CN111400032A (zh) | 一种资源分配的方法及装置 | |
CN116401242A (zh) | 唯一标识符生成方法及计算设备 | |
CN115617577A (zh) | 一种虚拟磁盘备份方法、装置、设备及介质 | |
CN113660353B (zh) | 基于蓝牙Mesh的Provisioner地址管理的方法、装置、设备和介质 | |
CN115757213A (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 |