本发明涉及数据库,尤其涉及一种自增主键生成方法、装置、设备、存储介质和产品。
背景技术:
1、主键(i dent i f i cat i on,id),又称主键符,是指计算机体系中识别目标对象的一个标识符,文件的主键可以是文件路径以及文件名称,但是当文件路径或文件名称变化时,就难以根据原来的主键获取文件,因此,通常可以采用数据库生成的自增主键作为文件的主键,业务无需关心自增主键的规则与具体生成,只需插入业务数据条目即可。但在分布式场景下,特别是完整隔离的系统,例如物联网私有云平台中,数据库是相互独立的,虽然多个私有云平台之间的数据字段和业务系统等完全保持一致,但是在需要进行私有云平台之间的数据迁移时,会出现数据自增主键冲突的情况,往往需要研发人员和数据库维护人员进行手动额外处理,且每次迁移都需要重新处理一次,大大降低了数据迁移效率。
技术实现思路
1、本发明实施例的目的是提供一种自增主键生成方法、装置、设备、存储介质和产品,实现了分布式节点在零交互场景下的自增主键的冲突避免,在分布式节点之间进行数据迁移时,避免出现自增主键冲突的情况,提高数据迁移效率。
2、为实现上述目的,本发明实施例提供了一种自增主键生成方法,包括:
3、检测到目标节点在当前步长周期的自增主键被配置完时,获取所述目标节点中的最新自增主键;
4、根据所述最新自增主键、所有节点的部署总数和预设的单位步长生成所述目标节点的新增自增主键。
5、作为上述方案的改进,每一节点在初始步长周期中的初始自增主键根据节点序号和所述单位步长生成;其中,每一所述节点的节点序号均不相同。
6、作为上述方案的改进,所述根据所述最新自增主键、所有节点的部署总数和预设的单位步长生成所述目标节点的新增自增主键,包括:
7、根据所有节点的部署总数和预设的单位步长计算自增主键配置基数;
8、根据所述自增主键配置基数、所述最新自增主键和预设常数生成所述目标节点的新增自增主键。
9、作为上述方案的改进,所述预设常数为1。
10、作为上述方案的改进,所述根据所有节点的部署总数和预设的单位步长计算自增主键配置基数,包括:
11、计算所有节点的部署总数和预设的单位步长的乘积,得到自增主键配置基数。
12、作为上述方案的改进,所述根据所有节点的部署总数和预设的单位步长计算自增主键配置基数,包括:
13、计算所有节点的部署总数和设定值的和,得到部署总数参考值;
14、计算所述部署总数参考值和预设的单位步长的乘积,得到自增主键配置基数。
15、为实现上述目的,本发明实施例还提供了一种自增主键生成装置,包括:
16、数据获取模块,用于检测到目标节点在当前步长周期的自增主键被配置完时,获取所述目标节点中的最新自增主键;
17、自增主键生成模块,用户根据所述最新自增主键、所有节点的部署总数和预设的单位步长生成所述目标节点的新增自增主键。
18、为实现上述目的,本发明实施例还提供了一种自增主键生成设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一实施例所述的自增主键生成方法。
19、为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任一实施例所述的自增主键生成方法。
20、为实现上述目的,本发明实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述任一实施例所述的自增主键生成方法。
21、相比于现有技术,本发明公开的自增主键生成方法、装置、设备、存储介质和产品,在为每个云平台节点配置自增主键时,能够对所有分布式节点的自增主键进行统一配置,检测到任一目标节点在当前步长周期的自增主键被配置完时,获取目标节点中的最新自增主键,然后根据最新自增主键、所有节点的部署总数和预设的单位步长生成目标节点的新增自增主键。由于在生成目标节点的新增自增主键时,加入了所有节点的部署总数和单位步长这些因素,由此生成的目标节点的新增自增主键不会与其余节点的自增主键造成冲突,使得每个节点都按照特定规则去生成自增主键,实现了在分布式零交互场景下的自增主键的冲突避免,在进行分布式数据库之间的数据迁移时,避免出现自增主键冲突的情况,提高数据迁移效率。
1.一种自增主键生成方法,其特征在于,包括:
2.如权利要求1所述的自增主键生成方法,其特征在于,每一节点在初始步长周期中的初始自增主键根据节点序号和所述单位步长生成;其中,每一所述节点的节点序号均不相同。
3.如权利要求1所述的自增主键生成方法,其特征在于,所述根据所述最新自增主键、所有节点的部署总数和预设的单位步长生成所述目标节点的新增自增主键,包括:
4.如权利要求3所述的自增主键生成方法,其特征在于,所述预设常数为1。
5.如权利要求3所述的自增主键生成方法,其特征在于,所述根据所有节点的部署总数和预设的单位步长计算自增主键配置基数,包括:
6.如权利要求3所述的自增主键生成方法,其特征在于,所述根据所有节点的部署总数和预设的单位步长计算自增主键配置基数,包括:
7.一种自增主键生成装置,其特征在于,包括:
8.一种自增主键生成设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任意一项所述的自增主键生成方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至6中任意一项所述的自增主键生成方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6中任意一项所述的自增主键生成方法。