[发明专利]生成主键的方法、装置、电子设备和可读存储介质有效
申请号: | 201710294872.7 | 申请日: | 2017-04-28 |
公开(公告)号: | CN108804451B | 公开(公告)日: | 2021-07-30 |
发明(设计)人: | 王云峰;孙秀珍 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 主键 方法 装置 电子设备 可读 存储 介质 | ||
1.一种生成主键的系统,包括应用系统、多个主键生成服务器、以及多个数据库服务器,其中:
所述应用系统在需要生成主键时,根据负载均衡算法选择所述多个主键生成服务器中的一个并且向所选择的主键生成服务器发出生成主键的请求;
所选择的主键生成服务器在接收到所述请求之后,根据负载均衡算法选择所述多个数据库服务器中的一个;
所选择的数据库服务器生成初始ID并将所述初始ID返回给所选择的主键生成服务器;
所选择的主键生成服务器在从所选择的数据库服务器接收到所述初始ID之后,对所述初始ID进行二进制转换并且通过移位算法来获得最终的主键值;
所选择的主键生成服务器通过移位算法来获得最终的主键值,包括:将所述初始ID向左或向右移位预定数目;将移位的初始ID附加与所选择的主键生成服务器的编号相对应的二进制值得到最终的主键值或者将移位的初始ID附加与所选择的数据库服务器的编号相对应的二进制值得到最终的主键值。
2.根据权利要求1所述的系统,其中,所述负载均衡算法是轮询法或者随机法。
3.根据权利要求1所述的系统,其中,所述移位算法的移位数目根据数据库服务器的数目来确定。
4.根据权利要求3所述的系统,其中,根据N=2x来确定所述移位数目,其中N表示数据库服务器的数目并且x表示所述移位数目。
5.一种生成主键的方法,其特征在于,所述方法包括:
在需要生成主键时,根据负载均衡算法选择多个主键生成服务器中的一个并且向所选择的主键生成服务器发出生成主键的请求;
根据负载均衡算法选择多个数据库服务器中的一个;
所选择的数据库服务器生成初始ID并将所述初始ID返回给所选择的主键生成服务器;
所选择的主键生成服务器在从所选择的数据库服务器接收到所述初始ID之后,对所述初始ID进行二进制转换并且通过移位算法来获得最终的主键值;
通过移位算法来获得最终的主键值,包括:将所述初始ID向左或向右移位预定数目;将移位的初始ID附加与所选择的主键生成服务器的编号相对应的二进制值得到最终的主键值或者将移位的初始ID附加与所选择的数据库服务器的编号相对应的二进制值得到最终的主键值。
6.根据权利要求5所述的方法,其中,所述负载均衡算法是轮询法或者随机法。
7.根据权利要求5所述的方法,其中,所述移位算法的移位数目根据数据库服务器的数目来确定。
8.根据权利要求7所述的方法,其中,根据N=2x来确定所述移位数目,其中N表示数据库服务器的数目并且x表示所述移位数目。
9.一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求5-8中任一项所述的方法。
10.一种计算机可读存储介质,其中,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求5-8中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710294872.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:信息推送的方法和装置
- 下一篇:多媒体资源封面展示方法及装置