CN110636097A - 一种标识生成与管理方法及节点、系统和存储装置 - Google Patents
一种标识生成与管理方法及节点、系统和存储装置 Download PDFInfo
- Publication number
- CN110636097A CN110636097A CN201810661808.2A CN201810661808A CN110636097A CN 110636097 A CN110636097 A CN 110636097A CN 201810661808 A CN201810661808 A CN 201810661808A CN 110636097 A CN110636097 A CN 110636097A
- Authority
- CN
- China
- Prior art keywords
- node
- identifier
- identification
- generation
- information
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Storage Device Security (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请公开了一种标识生成与管理方法及节点及系统和存储装置。其中,所述方法包括:标识生成节点接收客户节点发送的标识生成请求;向共享信息池获取与所述标识生成节点匹配的第一标识组成信息;利用所述第一标识组成信息生成全局唯一标识,并将所述全局唯一标识发送给所述客户节点。上述方案,能够保证生成的标识的唯一性。
Description
技术领域
本申请涉及信息处理领域,特别是涉及一种标识生成与管理方法及节点及系统和存储装置。
背景技术
目前,分布式已成为当下系统开发的首选,高并发操作在数据存储或者处理时,需要生成全局唯一标识,来保证分布式情况下标识的全局唯一性。通常,在进行标识生成过程中,需要获得标识组成信息来生成该标识。而标识组成信息的唯一性对生成的标识唯一性具有极大的决定性意义。
现有标识生成方式中,存在标识组成信息是存储于标识生成节点自身,也即不同标识生成节点分布存储其对应的标识组成信息。然而这种标识组成信息离散式各自存储,容易导致不同标识生成节点之间的标识组成信息出现冲突情况,此时,则可能产生重复的标识,这对于分布式系统来说是无法接受的大问题。
发明内容
本申请主要解决的技术问题是提供一种标识生成与管理方法及节点及系统和存储装置,能够保证生成的标识的唯一性。
为了解决上述问题,本申请第一方面提供了一种标识生成方法,包括:标识生成节点接收客户节点发送的标识生成请求;向共享信息池获取与所述标识生成节点匹配的第一标识组成信息;利用所述第一标识组成信息生成全局唯一标识,并将所述全局唯一标识发送给所述客户节点。
为了解决上述问题,本申请第二方面提供了一种标识组成信息的管理方法,包括:接收标识生成节点发送的查询请求,其中,所述查询请求包括所述标识生成节点的识别信息;在共享信息池中查找与所述识别信息匹配的标识组成信息;将所述标识组成信息发送给所述标识生成节点,以使所述标识生成节点根据标识组成信息生成全局唯一标识。
为了解决上述问题,本申请第三方面提供了标识生成节点,包括存储器、处理器、以及通信电路;所述通信电路用于与其他节点实现通信;所述处理器用于运行所述存储器存储的程序指令以执行上述标识生成节点执行的方法。
为了解决上述问题,本申请第四方面提供了一种标识组成信息管理节点,包括存储器、处理器、以及通信电路;所述通信电路用于与其他节点实现通信;所述处理器用于运行所述存储器存储的程序指令以执行上述管理节点执行的方法。
为了解决上述问题,本申请第五方面提供了一种标识生成系统,包括至少一个标识生成节点、客户节点、共享信息池和管理节点;所述标识生成节点分别连接于所述客户节点和共享信息池;其中,所述共享信息池用于存储标识组成信息;所述管理节点用于管理所述共享信息池,具体如上述的管理节点;所述客户节点用于生成标识生成请求;所述标识生成节点为如上述的标识生成节点,以响应所述标识生成请求来生成全局唯一标识。
为了解决上述问题,本申请第六方面提供了一种存储装置,存储有处理器可运行的程序指令,所述程序指令用于执行上述的方法。
上述方案中,利用共享信息池统一存储各标识生成节点匹配的标识组成信息,且标识生成节点根据该共享信息池中的标识组成信息来生成全局唯一标识,相比于现有标识生成节点各自存储相关的标识组成信息,本申请通过共享信息池统一存储各标识生成节点相关的标识组成信息,可避免各标识生成节点的标识组成信息出现冲突的情况,进而保证了生成标识的唯一性。
附图说明
图1是本申请标识生成系统一实施例的结构示意图;
图2是本申请标识生成方法一实施例的流程示意图;
图3是本申请标识生成方法另一实施例的流程示意图;
图4是本申请一应用场景中全局唯一标识的结构示意图;
图5a是本申请一应用场景中全局唯一标识的生成流程示意图;
图5b是本申请一应用场景中全局唯一标识的反解流程示意图;
图6是本申请标识组成信息管理方法一实施例的流程示意图;
图7是本申请标识组成信息管理方法另一实施例的流程示意图;
图8是本申请标识生成系统另一实施例的结构示意图;
图9是本申请标识生成节点一实施例的结构示意图;
图10是本申请标识组成信息管理节点一实施例的结构示意图;
图11是本申请存储装置一实施例的结构示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
请参阅图1,图1是本申请标识生成系统一实施例的结构示意图。本实施例中,该系统10包括共享信息池11、管理节点12、客户节点13和多个标识生成节点14。其中,客户节点13与各标识生成节点14连接,且各标识生成节点14与管理节点12连接。
本实施例中,客户节点13进行数据处理如数据存储时,需要为数据生成一全局唯一标识,以保证该数据的唯一性。该数据具体可以为订单创建数据、交易支付数据等业务数据。为了保证该标识的唯一性,本申请实施例提出采用共享信息池统一存储该标识的至少部分组成信息,相对于该标识组成信息分开存储,各自管理而容易出现组成信息发生冲突,进而导致标识重复。
下面对生成系统10中的每个节点进行详细说明。
共享信息池11用于统一存储第一标识组成信息。本实施例中,共享信息池11存储的第一标识组成信息与该标识生成节点相关。例如,第一标识组成信息包括以下至少一种:用于指示标识生成节点14所在的机器的机器号;用于指示标识生成节点14所在的机房的数据中心号;用于指示标识生成节点14生成的标识版本的版本号。具体地,共享信息池11可以通过存储该标识生成节点14的地址信息及该标识生成节点14相关的第一标识组成信息的映射关系,以实现对第一标识组成信息的存储。共享信息池11可以为一数据库,如为MySQL数据库。
管理节点12用于对共享信息池11中的信息进行管理,具体而言,管理节点12在接收到标识生成节点14的查询请求时,从共享信息池11查找与该标识生成节点14相关的标识组成信息。进一步地,为进一步保证生成的标识的唯一性,管理节点12对共享信息池的写操作进行监控管理。例如,管理节点12仅允许具有预设权限的其他节点对共享信息池进行写操作,另外,管理节点12还可以对写操作中的待写入数据进行校验,以确保待写入数据与共享信息池11的当前信息不存在冲突,譬如,若待写入的关于一个新标识生成节点的机器号与共享信息池中一个原来的标识生成节点的机器号相同,则相当于存在冲突,故此时,管理节点12丢弃该待写入数据,不会将其写入至共享信息池。如果不存在冲突且该节点具有预设权限,则可以将待写入数据写入至共享信息池中。另外,该管理节点12还可以用于管理不同业务类型与其业务编码之间的对应关系。
客户节点13用于发出标识生成请求。例如,该客户节点在创建订单数据时,生成一标识生成请求。其中,在一些实施例中,该标识生成请求中可以包括用于指示该业务数据类型的业务编码,以使标识生成节点14可以从中获得该业务编码,并用于生成全局唯一标识。具体地,该客户节点13包括负载均衡模块,用于从可用的标识生成节点中择一并将标识生成请求发送给选择的标识生成节点。该负载均衡模块可采用Ribbon负载均衡算法实现。
标识生成节点14用于根据共享信息池11中的第一标识组成信息生成全局唯一标识。该全局唯一标识具体可以为全局唯一序列号,当然,在其他实施例中,也可为条形码或二维码等。该标识生成节点可以是运载着分布式标识服务的设备,其中,该分布式标识服务例如为API接口,且集成有由标识生成算法封装形成的标识生成服务。
在一应用场景中,该全局唯一标识包括第一标识组成信息、第二标识组成信息和第三标识组成信息。其中,第一标识组成信息包括以下至少一种:用于指示所述标识生成节点所在的机器的机器号;用于指示所述标识生成节点所在的机房的数据中心号;用于指示所述标识生成节点生成的标识版本的版本号。第二标识组成信息包括:用于指示所述全局唯一标识对应的业务数据类型的业务编码。第三标识组成信息包括以下至少一种:用于指示所述全局唯一标识的生成时间的时间戳;用于指示全局唯一标识在所述生成时间中的生成序列的序列号。可以理解的是,在其他实施例中,全局唯一标识也可仅包括上述部分的标识组成信息,在此不对标识的组成进行限定。
进一步地,生成系统10中包含多个该标识生成节点14,即标识生成节点141、标识生成节点142……标识生成节点14N。客户节点13可根据目前各标识生成节点的工作状态选择其中一个标识生成节点生成该标识。另外,该多个标识生成节点可形成分布式架构,进而利用分布式计算提供高可用的标识生成功能。
该系统10还可包括服务注册中心节点15,该服务注册中心节点15用于实现服务注册与发现,即各标识生成节点组成微服务架构(即每个标识生成节点对应的分布式标识服务组成微服务架构,具体可采用SpringCloud微服务架构,),均在服务注册中心节点中完成服务注册,并在服务注册中心节点保存其注册信息,客户节点13进而根据该注册信息发现标识生成节点14并将标识生成请求发送至相应标识生成节点14。故,若当前的标识生成节点无法承载目前的标识生成量,则可动态增加新的标识生成节点,并将新的标识生成节点在服务注册中心节点15注册即可,此时客户节点13根据服务注册中心节点中的注册信息可识别出该新增的标识生成节点,故可提高了该系统的标识生成节点配置的灵活性。其中,该服务注册中心节点可以为采用Eureka服务发现组件。对应地,标识生成节点和客户节点可均包括Eureka客户端,用于连接服务注册中心节点,并提供服务注册与发现功能。
可以理解的是,在其他实施例中,上述共享信息池可以设置在系统10中的一节点(如管理节点)所在的设备中。另外,本文所述的节点之间是以功能进行区分,故实际上不同的节点可以在同一设备或者不同设备上实现。例如,上述多个标识生成节点,可以为同一服务器中,每个标识生成节点对应一个分布式标识服务,具有其独立标识生成能力和网络地址(如IP地址)。或者,每个标识生成节点为运行一分布式标识服务的服务器。
具体而言,上述系统实现的标识生成方法及其对应的信息管理方法请参考下面方法实施例的描述。
请参阅图2,图2是本申请标识生成方法一实施例的流程示意图。本实施例中,该方法可以由上述的标识生成节点执行,包括以下步骤:
S210:标识生成节点接收客户节点发送的标识生成请求。
例如,客户节点在对订单创建的业务数据进行存储时,生成标识生成请求,以请求标识生成节点进行标识生成。具体地,客户节点的负载均衡模块可采用轮询算法实现对标识生成节点的选择。
在一应用场景中,标识生成节点为在服务注册中心节点进行服务注册的服务节点,此时,客户节点可根据服务注册中心节点中的注册信息发现标识生成节点,并将标识生成请求发送给发现的一标识生成节点。
S220:标识生成节点向共享信息池获取与所述标识生成节点匹配的第一标识组成信息。
本实施例中,该共享信息池由管理节点统一对外管理。本S320可具体包括:向共享信息池的管理节点发送查询请求,其中,所述查询请求包括所述标识生成节点的识别信息;接收管理节点在所述共享信息池查找到的与识别信息匹配的第一标识组成信息。该识别信息可用于识别该标识生成节点的信息,可以为地址信息(如IP地址)。例如,共享信息池存储有各标识生成节点的地址信息及其对应的第一标识组成信息之间的映射关系,故管理节点在获得地址信息后,利用该映射关系中查找到与获得的地址信息匹配的第一标识组成信息。其中,该第一标识组成信息可包括机器号、数据中心号和版本号,具体可参阅上面系统实施例的描述。
S230:标识生成节点利用第一标识组成信息生成全局唯一标识,并将全局唯一标识发送给客户节点。
具体地,标识生成节点可采用其预设的生成算法,利用第一标识组成信息生成得到全局唯一标识,且标识生成节点可将标识封装成JSON数据再发生给客户节点。其中,该生成算法可以为将该第一标识组成信息从十进制转为二进制后,并按照预设位置排列得到。该标识可以为序列号。
本实施例将用于形成全局唯一标识的第一标识组成信息统一存储于共享信心池中,相比于现有不同标识生成节点各自管理对应的第一标识组成信息,可避免发生信息冲突,进而保证标识的唯一性。
请参阅图3,图3是本申请标识生成方法另一实施例的流程示意图。本实施例中,生成的全局唯一标识包括第一标识组成信息、第二标识组成信息和第三标识组成信息。该方法包括以下步骤:
S310:标识生成节点接收客户节点发送的标识生成请求。
其中,该标识生成请求中包括第二标识组成信息,例如为表示待生成标识对应的业务数据类型的业务编码。
S320:标识生成节点向共享信息池获取与所述标识生成节点匹配的第一标识组成信息。
具体可参阅上述S220的相关描述。
S330:标识生成节点获取所述标识生成请求中的第二标识组成信息。
标识生成节点对该标识生成请求进行解析,以获得第二标识组成信息。
S340:标识生成节点生成与当前状态对应的第三标识组成信息。
其中,该当前状态包括当前生成时间及在该生成时间上的生成顺序号等。即,该第三标识组成信息可包括时间戳和序列号,具体可参阅上述系统实施例的相关描述。
可以理解的是,上述S320-S340的执行顺序可以调换,或者同时执行,故本申请对各标识组成信息的获得顺序不进行限定。
S350:标识生成节点利用第一标识组成信息、第二标识组成信息和第三标识组成信息生成所述全局唯一标识。
本实施例中,标识生成节点可采用预设的雪花分布式序列生成算法(Snowflake)来生成该标识。该标识的组成结构可如如图4所示,该全局唯一标识共有64位,其中,依序排列为版本号(1位),时间戳(40位),序列号(8位),数据中心号(3位),机器号(4位),业务编码(6位)和扩展字段(2位)。本例中,增加了6位业务编码,以区分不同的业务类型(共可区分出64中业务类型),故可以有效管理、统计不同业务理性的标识使用请求,而且可以灵活的扩容和缩容。时间戳的单位可以为毫秒。该扩展位是用于应对机器号不足或者业务类型不足时,用于表示机器号或者业务编码的。业务编码占的位数是由时间戳(从41位减少至40位)、序列号(从12位减少至8位,即每毫秒产生256个序列)、机器号(从5位减少至4位,即共可表示16个机器号)、数据中心(从5位减少至3位,即共可表示8个数据中心)通过调整其位数而形成的。可以理解的是,在其他实施例中,该全局唯一标识不限于如图4所示的各部分的位置关系以及所占位数,而且全局唯一标识也可根据实际情况仅包括图4所示的其中一部分,故在此不做限定。
标识生成节点可通过左移方式生成该标识,例如,该标识生成过程如图5a所示,先定义当前标识等于0;将版本号从十进制转换为1位二进制数并做位移填充,将0左移1位,并在因左移空出的1位中填入二进制版本号;将时间戳从十进制转换为40位二进制数并做位移填充,再左移位40位,并在因左移空出的40位中填入二进制时间戳;将序列号从十进制转换为8位二进制数并做位移填充,再左移位8位,并在因左移空出的8位中填入二进制序列号;将数据中心号从十进制转换为3位二进制数并做位移填充,再左移位3位,并在因左移空出的3位中填入二进制数据中心号;将机器号从十进制转换为4位二进制数并做位移填充,再左移位4位,并在因左移空出的4位中填入二进制机器号;将业务编码从十进制转换为6位二进制数并做位移填充,再左移位6位,并在因左移空出的6位中填入二进制业务编码;再左移位2位,并在因左移空出的2位中填入二进制扩展字段;由目前的二进制标识作为全局唯一标识,此时全局唯一标识生成结束,得到如图4所示的标识。当然,在其他实施例中,也可将二进制标识转换为十进制之后再作为全局唯一标识。
本实施例中,标识生成节点或其他节点还可通过对标识进行反解得到原来标识组成信息。如图5b所示,标识反解过程如下:传入生成的全局唯一标识;将标识右移63位,将剩余的1位作为版本号,并从二进制转换为十进制得到原始版本号;将标识右移63位,将剩余的1位作为版本号,并从二进制转换为十进制得到原始版本号;将标识右移63位,将剩余的1位作为版本号,并从二进制转换为十进制得到原始版本号;将标识右移63位,将剩余的1位作为版本号,并从二进制转换为十进制得到原始版本号;将标识右移63位,将剩余的1位作为版本号,并从二进制转换为十进制得到原始版本号;将标识右移63位,将剩余的1位作为版本号,并从二进制转换为十进制得到原始版本号;将标识右移63位,将剩余的1位作为版本号,并从二进制转换为十进制得到原始版本号;将64位标识右移63位,将剩余的1位作为版本号;将63位标识右移23位,将剩余的40位作为时间戳;将23位标识右移15位,将剩余的8位作为序列号;将15位标识右移12位,将剩余的3位作为数据中心号;将12位标识右移8位,将剩余的4位作为机器号;将8位标识右移2位,将剩余的6位作为业务编码;此时已经反解出个标识组成信息,将反解除的组成信息分别偶从二进制转换为十进制,即可得到原始数据。节点可通过该原始数据获知该标识对应的业务数据的相关信息,例如获知其业务类型、生成时间等。
请参阅图6,图6是本申请标识组成信息的管理方法一实施例的流程示意图。本实施例中,该方法可有由上述的管理节点执行,包括以下步骤:
S610:管理节点接收标识生成节点发送的查询请求。
其中,查询请求包括所述标识生成节点的标识信息,例如为地址信息(如IP地址)。
S620:管理节点在共享信息池中查找与所述标识信息匹配的标识组成信息。
本实施例中,该共享信息池由管理节点统一对外管理。故当接收到查询请求时,由管理节点向共享信息池查找与标识信息匹配的标识组成信息,其中,共享信息池可存储有各标识生成节点的地址信息及其对应的标识组成信息之间的映射关系,故管理节点在获得地址信息后,利用该映射关系中查找到与获得的地址信息匹配的标识组成信息。其中,该标识组成信息可包括机器号、数据中心号和版本号,具体可参阅上面实施例中的第一标识组成信息的相关描述。
S630:管理节点将标识组成信息发送给标识生成节点,以使标识生成节点根据标识组成信息生成全局唯一标识。
管理节点将查找到的标识组成信息发送给标识生成节点后,标识生成节点如上面实施例所述,来生成标识。
在另一实施例中,管理节点还对共享信息池的写操作进行权限监控并检验。如图7所示,所述方法还包括以下步骤:
S710:管理节点接收其他节点对所述共享信息池的写请求。
该其他节点可以为生成系统中的节点或者生成系统外的节点,在此不做限定。
S720:判断其他节点是否具有预设权限;如果不具有,则执行S730,否则执行S740-S760。
例如,管理节点中预存有每个节点的写权限,当检测到该节点的写请求时,通过预存信息获取该节点的写权限,并判断该写权限是否为预设权限,若是,则表示该节点具有对共享信息池进行写操作的权限,否则表示该节点不具有对共享信息池写操作的权限。
S730:管理节点不响应所述写请求。
例如,管理节点在检测到发送写请求的节点不具有写权限时,则丢弃该写请求,不进行响应。
S740:管理节点获取所述写请求中的待写入数据,并校验所述待写入数据与所述共享信息池中的信息是否存在冲突;若不存在,则执行S750,否则执行S760。
例如,判断待写入数据是否已经存在于共享信息池中,如待写入的新标识生成节点的机器号是否已经存在于共享信息池中,如果是,则存在冲突,否则不存在冲突。
S750:管理节点将所述待写入数据写入所述共享信息池中。
S760:管理节点不将所述待写入数据写入所述共享信息池中。
可以理解的是,在其他实施例中,管理节点可选择性执行S720和S740两个判断,例如,在一应用场景中,管理节点可仅执行S720的判断,当然,管理节点也可仅执行S740的判断,故在此不做限定。
本实施例中,管理节点具有写权限且写入的数据通过校验时才将数据写入共享信息池,故进一步保护共享信息池中的信息,避免受其他节点的随意篡改和数据冲突的发生,故进一步保证了标识的唯一性。
为便于理解本申请,下面结合一应用场景举例说明。该标识生成的过程如下:
1.部署Eureka服务注册中心节点,以由该服务注册中心节点可构建Eureka集群;
2.部署分布式标识生成节点,能够通过其Eureka客户端正常注册到Eureka集群;其中,每个分布式标识生成节点为一运行分布式标识服务的服务器,该分布式标识服务集成了由预设标识生成算法封装形成的标识生成服务;
3.部署共享信息池和管理节点,该管理节点用于分配与标识生成节点对应的第一标识组成信息,以及配置管理已经接入的业务编码;
完成上述部署后,得到生成系统如图8所示。
4.客户节点通过其Eureka客户端实现服务注册发现,并通过其负载均衡模块访问标识生成节点;
5.客户节点发起包含业务编码的标识生成请求,当标识生成节点接收到请求后,获取当前时间戳、序列号以及请求中的业务编码,并从向管理节点查询共享信息池中的标识生成节点配置的数据中心号、机器号、版本号,通过如上图5a的算法流程生成全局唯一标识;
6.标识生成节点将全局唯一标识封装成JSON数据返回给客户节点。
请参阅图9,图9是本申请标识生成节点一实施例的结构示意图。本实施例中,该标识生成节点90包括存储器91、处理器92以及通信电路93。其中,标识生成节点90的各个组件可通过总线耦合在一起,或者标识生成节点90的处理器分别与其他组件一一连接。
通信电路93用于与其他节点如客户节点、管理节点等实现通信,具体可包括发送器和接收器。
存储器91用于存储处理器92执行的程序指令以及处理器92在处理过程中的数据,其中,该存储器91包括非易失性存储部分,用于存储上述程序指令。
处理器92控制标识生成节点90的操作,处理器92还可以称为CPU(CentralProcessing Unit,中央处理单元)。处理器92可能是一种集成电路芯片,具有信号的处理能力。处理器92还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本实施例中,处理器92通过调用存储器91存储的程序指令,用于:通过通信电路93接收客户节点发送的标识生成请求;向共享信息池获取与所述标识生成节点匹配的第一标识组成信息;利用所述第一标识组成信息生成所述全局唯一标识,并通过通信电路93将所述全局唯一标识发送给所述客户节点。
在某些实施例中,处理器92执行所述向共享信息池获取与所述标识生成节点匹配的第一标识组成信息,包括:通过通信电路93向共享信息池的管理节点发送查询请求,其中,所述查询请求包括所述标识生成节点的识别信息;通过通信电路93接收所述管理节点在所述共享信息池查找到的与所述识别信息匹配的第一标识组成信息。
在某些实施例中,处理器92还用于:获取所述标识生成请求中的第二标识组成信息;和/或,生成与当前状态对应的第三标识组成信息;
处理器92执行所述利用所述第一标识组成信息生成所述全局唯一标识,包括:利用所述第一标识组成信息以及第二标识组成信息和/或第三标识组成信息生成所述全局唯一标识。
进一步地,所述第一标识组成信息可以包括以下至少一种:用于指示所述标识生成节点所在的机器的机器号;用于指示所述标识生成节点所在的机房的数据中心号;用于指示所述标识生成节点生成的标识版本的版本号;
所述第二标识组成信息可以包括:用于指示所述全局唯一标识对应的业务数据类型的业务编码;
所述第三标识组成信息可以包括以下至少一种:用于指示所述全局唯一标识的生成时间的时间戳;用于指示所述全局唯一标识在所述生成时间中的生成序列的序列号。
在某些实施例中,所述标识生成节点为在服务注册中心节点进行服务注册的服务节点;所述标识生成请求是所述客户节点根据所述服务注册中心节点中的注册信息发现所述标识生成节点后发送的。
在某些实施例中,该处理器运行分布式标识服务的相关程序指令实现上述功能,该分布式标识服务集成了由标识生成算法封装形成的标识生成服务。
在另一实施例中,该标识生成节点90的处理器92还用于执行上述标识生成节点执行的任一实施例的方法。
请参阅图10,图10是本申请标识组成信息管理节点一实施例的结构示意图。本实施例中,管理节点100包括存储器101、处理器102以及通信电路103。其中,管理节点100的各个组件可通过总线耦合在一起,或者管理节点100的处理器分别与其他组件一一连接。
通信电路103用于与其他节点如标识生成节点等实现通信,具体可包括发送器和接收器。
存储器101类似于上述存储器91,故在此不做赘述。
处理器102控制管理节点100的操作,其具体电路结构可如上述处理器92的相关说明。
在本实施例中,处理器102通过调用存储器101存储的程序指令,用于:通过通信电路103接收标识生成节点发送的查询请求,其中,所述查询请求包括所述标识生成节点的识别信息;在共享信息池中查找与所述识别信息匹配的标识组成信息;通过通信电路103将所述标识组成信息发送给所述标识生成节点,以使所述标识生成节点根据标识组成信息生成全局唯一标识。
在某些实施例中,该共享信息池可以设置在存储器101中,或者该共享信息池设置于与管理节点100独立的其他存储设备中。
在某些实施例中,处理器102还用于:在接收到其他节点对所述共享信息池的写请求时,判断所述其他节点是否具有预设权限;若不具有预设权限,则不响应所述写请求;若具有预设权限,则获取所述写请求中的待写入数据,并校验所述待写入数据与所述共享信息池中的信息是否存在冲突,若不存在,则将所述待写入数据写入所述共享信息池中;若存在,则不将所述待写入数据写入所述共享信息池中。
在另一实施例中,该管理节点100的处理器102还用于执行上述管理节点执行的任一实施例的方法。
请参阅图11,本申请还提供一种存储装置的实施例的结构示意图。本实施例中,该存储装置110存储有处理器可运行的程序指令111,该程序指令111用于执行上述实施例中的方法。
该存储装置110具体可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory,)、磁碟或者光盘等可以存储程序指令的介质,或者也可以为存储有该程序指令的服务器,该服务器可将存储的程序指令发送给其他设备运行,或者也可以自运行该存储的程序指令。
在一实施例中,存储装置110还可以为如图9或图10所示的存储器。
上述方案可具有以下有益效果:
1)利用共享信息池统一存储第一标识组成信息,避免不同标识生成节点对应的标识组成信息间产生冲突而导致产生重复的标识;
2)标识可以包含业务编码,不同业务类型对应的标识必然不相同,故进一步保证标识的唯一性,而且标识携带者业务类型的信息,能够更贴近业务场景,满足业务需求,而且能够管理并统计当前生成的标识相关的业务场景;
3)生成的标识能够通过反解获得原始数据,故便于进行对业务数据的状况分析;
4)标识生成节点可独立部署为微服务,即将标识生成算法相关的代码与业务代码(实现业务数据的其他处理的代码)解耦,故可减少因代码耦合产生的复杂性维护工作;
5)高稳定性,利用服务注册中心节点实现服务注册和发现,且该多个标识生成节点可采用分布式服务部署,故当其中一部分节点出现重大故障如当机、死机时,可利用剩余的节点完成标识生成,不会影响业务进程;
6)高扩展性和高灵活性,利用服务注册中心节点实现服务注册和发现,可随时根据系统负载情况和业务需求扩展生成节点,而且扩展节点对应的标识组成信息可以通过管理节点写入至共享信息池,保证与原始节点的标识组成信息不产生冲突,且统一化管理。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (11)
1.一种标识生成方法,其特征在于,包括:
标识生成节点接收客户节点发送的标识生成请求;
向共享信息池获取与所述标识生成节点匹配的第一标识组成信息;
利用所述第一标识组成信息生成全局唯一标识,并将所述全局唯一标识发送给所述客户节点。
2.根据权利要求1所述的方法,其特征在于,所述向共享信息池获取与所述标识生成节点匹配的第一标识组成信息,包括:
向共享信息池的管理节点发送查询请求,其中,所述查询请求包括所述标识生成节点的识别信息;
接收所述管理节点在所述共享信息池查找到的与所述识别信息匹配的第一标识组成信息。
3.根据权利要求1所述的方法,其特征在于,在接收客户节点发送的标识生成请求之后,所述方法还包括:
获取所述标识生成请求中的第二标识组成信息;和/或
生成与当前状态对应的第三标识组成信息;
所述利用所述第一标识组成信息生成所述全局唯一标识,包括:
利用所述第一标识组成信息以及第二标识组成信息和/或第三标识组成信息生成所述全局唯一标识。
4.根据权利要求3所述的方法,其特征在于,
所述第一标识组成信息包括以下至少一种:用于指示所述标识生成节点所在的机器的机器号;用于指示所述标识生成节点所在的机房的数据中心号;用于指示所述标识生成节点生成的标识版本的版本号;
所述第二标识组成信息包括:用于指示所述全局唯一标识对应的业务数据类型的业务编码;
所述第三标识组成信息包括以下至少一种:用于指示所述全局唯一标识的生成时间的时间戳;用于指示所述全局唯一标识在所述生成时间中的生成序列的序列号。
5.根据权利要求1所述的方法,其特征在于,所述标识生成节点为在服务注册中心节点进行服务注册的服务节点;
所述标识生成请求是所述客户节点根据所述服务注册中心节点中的注册信息发现所述标识生成节点后发送的。
6.一种标识组成信息的管理方法,其特征在于,包括:
接收标识生成节点发送的查询请求,其中,所述查询请求包括所述标识生成节点的识别信息;
在共享信息池中查找与所述识别信息匹配的标识组成信息;
将所述标识组成信息发送给所述标识生成节点,以使所述标识生成节点根据标识组成信息生成全局唯一标识。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在接收到其他节点对所述共享信息池的写请求时,判断所述其他节点是否具有预设权限;
若不具有预设权限,则不响应所述写请求;
若具有预设权限,则获取所述写请求中的待写入数据,并校验所述待写入数据与所述共享信息池中的信息是否存在冲突,若不存在,则将所述待写入数据写入所述共享信息池中;若存在,则不将所述待写入数据写入所述共享信息池中。
8.一种标识生成节点,其特征在于,包括存储器、处理器、以及通信电路;
所述通信电路用于与其他节点实现通信;
所述处理器用于运行所述存储器存储的程序指令,以执行权利要求1至5任一项所述的方法。
9.一种标识组成信息管理节点,其特征在于,包括存储器、处理器、以及通信电路;
所述通信电路用于与其他节点实现通信;
所述处理器用于运行所述存储器存储的程序指令,以管理存储全局唯一标识的标识组成信息的共享信息池,并执行权利要求6或7所述的方法。
10.一种标识生成系统,其特征在于,包括至少一个标识生成节点、客户节点、共享信息池和管理节点;所述标识生成节点分别连接于所述客户节点和共享信息池;其中,
所述共享信息池用于存储标识组成信息;
所述管理节点用于管理所述共享信息池,具体如权利要求9所述的节点;
所述客户节点用于生成标识生成请求;
所述标识生成节点为如权利要求8所述的节点,以响应所述标识生成请求来生成全局唯一标识。
11.一种存储装置,其特征在于,存储有处理器可运行的程序指令,所述程序指令用于执行权利要求1至5任一项所述的方法,或者执行权利要求6或7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810661808.2A CN110636097B (zh) | 2018-06-25 | 2018-06-25 | 一种标识生成与管理方法及节点、系统和存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810661808.2A CN110636097B (zh) | 2018-06-25 | 2018-06-25 | 一种标识生成与管理方法及节点、系统和存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110636097A true CN110636097A (zh) | 2019-12-31 |
CN110636097B CN110636097B (zh) | 2021-04-06 |
Family
ID=68967363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810661808.2A Active CN110636097B (zh) | 2018-06-25 | 2018-06-25 | 一种标识生成与管理方法及节点、系统和存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110636097B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353772A (zh) * | 2020-02-24 | 2020-06-30 | 网银在线(北京)科技有限公司 | 单号的生成方法和装置、存储介质、电子装置 |
CN112073554A (zh) * | 2020-09-08 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 全局唯一标识生成方法、设备以及计算机可读存储介质 |
CN112087327A (zh) * | 2020-08-26 | 2020-12-15 | 北京金山云网络技术有限公司 | 信息状态获取方法和装置、存储介质和电子装置 |
CN112380222A (zh) * | 2020-11-26 | 2021-02-19 | 吉林师范大学 | 地理空间数据全局唯一标识生成处理方法及装置 |
CN112395086A (zh) * | 2020-11-06 | 2021-02-23 | 北京五八信息技术有限公司 | 一种资源分配方法、装置、电子设备及存储介质 |
CN112860661A (zh) * | 2021-01-20 | 2021-05-28 | 上海悦易网络信息技术有限公司 | 一种数据序列标识的生成方法及设备 |
CN113067747A (zh) * | 2021-03-15 | 2021-07-02 | 中国工商银行股份有限公司 | 一种链路异常追溯方法、集群、节点及系统 |
CN113590132A (zh) * | 2021-08-03 | 2021-11-02 | 重庆忽米网络科技有限公司 | 一种基于配置规则的Handle标识编码生成方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090282124A1 (en) * | 2008-05-11 | 2009-11-12 | Nokia Corporation | Sharing information between devices |
CN103390003A (zh) * | 2012-05-09 | 2013-11-13 | 人人游戏网络科技发展(上海)有限公司 | 在服务器之间合并用户数据信息的方法和装置 |
CN103577123A (zh) * | 2013-11-12 | 2014-02-12 | 河海大学 | 一种基于hdfs的小文件优化存储方法 |
US9167425B1 (en) * | 2013-11-26 | 2015-10-20 | American Express Travel Related Services Company, Inc. | Systems and methods for rapidly provisioning functionality to one or more mobile communication devices |
CN105117439A (zh) * | 2015-08-11 | 2015-12-02 | 小米科技有限责任公司 | 全局标识生成方法及装置 |
CN106603586A (zh) * | 2015-10-14 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 一种生成设备标识的方法、装置和系统 |
-
2018
- 2018-06-25 CN CN201810661808.2A patent/CN110636097B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090282124A1 (en) * | 2008-05-11 | 2009-11-12 | Nokia Corporation | Sharing information between devices |
CN103390003A (zh) * | 2012-05-09 | 2013-11-13 | 人人游戏网络科技发展(上海)有限公司 | 在服务器之间合并用户数据信息的方法和装置 |
CN103577123A (zh) * | 2013-11-12 | 2014-02-12 | 河海大学 | 一种基于hdfs的小文件优化存储方法 |
US9167425B1 (en) * | 2013-11-26 | 2015-10-20 | American Express Travel Related Services Company, Inc. | Systems and methods for rapidly provisioning functionality to one or more mobile communication devices |
CN105117439A (zh) * | 2015-08-11 | 2015-12-02 | 小米科技有限责任公司 | 全局标识生成方法及装置 |
CN106603586A (zh) * | 2015-10-14 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 一种生成设备标识的方法、装置和系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353772A (zh) * | 2020-02-24 | 2020-06-30 | 网银在线(北京)科技有限公司 | 单号的生成方法和装置、存储介质、电子装置 |
CN111353772B (zh) * | 2020-02-24 | 2024-01-16 | 网银在线(北京)科技有限公司 | 单号的生成方法和装置、存储介质、电子装置 |
CN112087327A (zh) * | 2020-08-26 | 2020-12-15 | 北京金山云网络技术有限公司 | 信息状态获取方法和装置、存储介质和电子装置 |
CN112073554A (zh) * | 2020-09-08 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 全局唯一标识生成方法、设备以及计算机可读存储介质 |
CN112073554B (zh) * | 2020-09-08 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 全局唯一标识生成方法、设备以及计算机可读存储介质 |
CN112395086A (zh) * | 2020-11-06 | 2021-02-23 | 北京五八信息技术有限公司 | 一种资源分配方法、装置、电子设备及存储介质 |
CN112395086B (zh) * | 2020-11-06 | 2022-03-08 | 北京五八信息技术有限公司 | 一种资源分配方法、装置、电子设备及存储介质 |
CN112380222A (zh) * | 2020-11-26 | 2021-02-19 | 吉林师范大学 | 地理空间数据全局唯一标识生成处理方法及装置 |
CN112380222B (zh) * | 2020-11-26 | 2023-08-29 | 吉林师范大学 | 地理空间数据全局唯一标识生成处理方法及装置 |
CN112860661A (zh) * | 2021-01-20 | 2021-05-28 | 上海悦易网络信息技术有限公司 | 一种数据序列标识的生成方法及设备 |
CN113067747A (zh) * | 2021-03-15 | 2021-07-02 | 中国工商银行股份有限公司 | 一种链路异常追溯方法、集群、节点及系统 |
CN113590132A (zh) * | 2021-08-03 | 2021-11-02 | 重庆忽米网络科技有限公司 | 一种基于配置规则的Handle标识编码生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110636097B (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110636097B (zh) | 一种标识生成与管理方法及节点、系统和存储装置 | |
CN110061992B (zh) | 一种动态配置fpga的方法及网络安全设备 | |
CN114201268B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
US11463376B2 (en) | Resource distribution method and apparatus in Internet of Things, device, and storage medium | |
US20180188990A1 (en) | Method, apparatus and system for inserting disk | |
CN112699219A (zh) | 日志搜索方法及装置 | |
CN115185880A (zh) | 一种数据存储方法及装置 | |
CN115562757A (zh) | 数据处理方法、配置中心系统、电子设备及存储介质 | |
CN115080479A (zh) | 传输方法、服务器、设备、裸金属实例及基板管理控制器 | |
EP2999242B1 (en) | Method and device for resource migration | |
US20070255738A1 (en) | System, Method, and Computer-Readable Medium for Performing Data Structure Updates in a Multi-Processor System | |
CN106685708B (zh) | 一种服务关系的确定方法、装置及系统 | |
CN116339927B (zh) | 设备确定方法、装置、存储介质及电子装置 | |
CN113672669B (zh) | 基于分布式存储的数据查询方法及装置 | |
CN114092211A (zh) | 核算数据的处理方法、电子设备和可读存储介质 | |
CN108965169B (zh) | 一种报文传输方法、网卡控制器、网卡及电子设备 | |
KR102066178B1 (ko) | 웹 모니터링 시스템 및 이를 이용한 응답시간 분포 정보 생성 방법 | |
CN114691026A (zh) | 一种数据访问方法及相关设备 | |
CN112001800A (zh) | 在区块链系统中进行业务处理的方法和装置 | |
CN112910943B (zh) | 一种服务提供方法、装置及系统 | |
EP3923538A1 (en) | Information verification method and apparatus, and device | |
CN116560861B (zh) | 资源分配方法、装置、电子设备、存储介质及节点 | |
CN113297211B (zh) | 一种大数据高并发下人群画像存储及定向系统及方法 | |
WO2022083145A1 (zh) | 对象数量的确定方法、装置及存储介质 | |
CN112748981B (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 |