Id生成方法及装置的制造方法

文档序号:9887740阅读:297来源:国知局
Id生成方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据库技术领域,特别涉及一种ID生成方法及装置。
【背景技术】
[0002]数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,随着信息技术和市场的发展,数据管理不再仅仅是存储和管理数据,而转变成按照用户所需要的各种数据管理的方式。
[0003]随着互联网的发展,人们越来越习惯网上购物,尤其是在有些电商平台上购物,当用户在电商平台上提交购物信息后,需要将这些购物信息在数据库上进行存储,若很多用户在同一时间段内提交购物信息,需要数据库能够快速生成不重复的新ID,但现有技术中却无法保证生成的新ID不重复,无法保证用户信息的安全性和稳定性。

【发明内容】

[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种ID生成方法及装置。
[0005]依据本发明的一个方面,提供了一种ID生成方法,包括:
[0006]接收ID生成请求;
[0007]依据所述ID生成请求获取当前时间和计数器的数值;
[0008]根据当前时间和计数器的数值并按照预设规则生成新ID。
[0009]可选地,所述依据所述ID生成请求获取当前时间和计数器值,进一步包括:
[0010]依据所述ID生成请求获取当前时间、计数器的数值和本地预存的序号;
[0011]相应地,所述根据当前时间和计数器的数值并按照预设规则生成新ID,进一步包括:
[0012]根据当前时间、计数器的数值和本地预存的序号并按照预设规则生成新ID。
[0013]可选地,所述根据当前时间、计数器的数值和本地预存的序号并按照预设规则生成新ID,进一步包括:
[0014]计算当前时间和基准时间之间的时间差,根据所述时间差、计数器的数值和本地预存的序号并按照预设规则生成新ID。
[0015]可选地,所述根据所述时间差、计数器的数值和本地预存的序号并按照预设规则生成新ID,进一步包括:
[0016]将所述时间差、计数器的数值和本地预存的序号分别转换为二进制,并按照预设顺序将转换的二进制进行排列,以生成新ID。
[0017]可选地,所述新ID为64位数字。
[0018]可选地,所述时间差转换的二进制为42位,所述计数器转换的二进制为12位,所述本地预存的序号转换的二进制为10位。
[0019]可选地,所述根据当前时间和计数器的数值并按照预设规则生成新ID之后,所述方法还包括:
[0020]将所述新ID返回给所述ID生成请求的请求方。
[0021]可选地,所述根据当前时间和计数器的数值并按照预设规则生成新ID之后,所述方法还包括:
[0022]对所述计数器的数值进行更新。
[0023 ]依据本发明的另一个方面,提供了一种ID生成装置,包括:
[0024]请求接收单元,适于接收ID生成请求;
[0025]数据获取单元,适于依据所述ID生成请求获取当前时间和计数器的数值;
[0026]ID生成单元,适于根据当前时间和计数器的数值并按照预设规则生成新ID。
[0027]可选地,所述数据获取单元,进一步适于依据所述ID生成请求获取当前时间、计数器的数值和本地预存的序号;
[0028]相应地,所述ID生成单元,进一步适于根据当前时间、计数器的数值和本地预存的序号并按照预设规则生成新ID。
[0029]可选地,所述ID生成单元,进一步适于计算当前时间和基准时间之间的时间差,根据所述时间差、计数器的数值和本地预存的序号并按照预设规则生成新ID。
[0030]可选地,所述ID生成单元,进一步适于将所述时间差、计数器的数值和本地预存的序号分别转换为二进制,并按照预设顺序将转换的二进制进行排列,以生成新ID。
[0031]可选地,所述新ID为64位数字。
[0032]可选地,所述时间差转换的二进制为42位,所述计数器转换的二进制为12位,所述本地预存的序号转换的二进制为10位。
[0033]可选地,所述装置还包括:
[0034]ID返回单元,适于将所述新ID返回给所述ID生成请求的请求方。
[0035]可选地,所述装置还包括:
[0036]数值更新单元,适于对所述计数器的数值进行更新。
[0037]本发明依据接收到的ID生成请求获取当前时间和计数器的数值,通过当前时间和计数器的数值并按照预设规则生成新ID,从而使得数据库能够快速生成不重复的新ID,保证了用户信息的安全性和稳定性。
【附图说明】
[0038]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0039]图1是本发明一种实施方式的ID生成方法的流程图;
[0040]图2是本发明一种实施方式的ID生成方法的流程图;
[0041 ]图3是本发明一种实施方式的ID生成方法的流程图;
[0042]图4是本发明一种实施方式的ID生成方法的流程图;
[0043]图5是本发明一种实施方式的ID生成装置的结构框图。
【具体实施方式】
[0044]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0045]图1是本发明一种实施方式的ID生成方法的流程图;参照图1,所述方法包括:
[0046]SlOl:接收ID生成请求;
[0047]需要说明的是,本实施方式的方法的执行主体可以为数据库,所述数据库通常是设置于服务器上的,也可以为用于生成ID的前端机,当然,还可为其他具有类似功能的设备,本实施方式对此不加以限制。
[0048]可理解的是,所述ID生成请求通常是基于用户在终端上输入的操作指令所生成,例如:用户在终端上输入购物的操作指令,当然,所述ID生成请求可由数据库所在服务器生成,也可由其他服务器生成,本实施方式对此不加以限制。
[0049]在具体实现中,所述数据库可为MySQL数据库,也就是关系型数据库,在获得新ID后,需要将所述新ID分配给所述数据项,还需要根据所述ID将所述数据项与其他数据(如用户账号等数据)进行关联,故而,生成ID的唯一性直接影响到用户信息的正确性和稳定性。
[0050]S102:依据所述ID生成请求获取当前时间和计数器的数值;
[0051]需要说明的是,所述当前时间可理解为本地时钟的当前时间,当所述方法的执行主体为数据库时,可理解为所述数据库所在服务器上时钟的当前时间,当所述方法的执行主体为前端机时,可理解为所述前端机上时钟的当前时间。
[0052]S103:根据当前时间和计数器的数值并按照预设规则生成新ID。
[0053]可理解的是,所述计数器的数值即为用于区分不同ID生成请求的参数,也就是说,在每接收到一个ID生成请求时,可先获取计数器的数值,当根据当前时间和计数器的数值并按照预设规则生成新ID之后,即可对所述计数器的数值进行更新。
[0054]当然,对所述计数器的数值进行更新通常是在所述计数器的数值的基础上进行自加,例如:所述计数器的数值为20,假设自加的增量为1,当根据当前时间和计数器的数值并按照预设规则生成新ID之后,即可将所述计数器的数值更新为21,以便于后续新ID的生成。
[0055]本实施方式依据接收到的ID生成请求获取当前时间和计数器的数值,通过当前时间和计数器的数值并按照预设规则生成新ID,从而使得数据库能够快速生成不重复的新ID,保证了用户信息的安全性和稳定性。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1