[发明专利]一种生成序列号的方法及装置在审
申请号: | 201510307208.2 | 申请日: | 2015-06-04 |
公开(公告)号: | CN104951519A | 公开(公告)日: | 2015-09-30 |
发明(设计)人: | 徐晓东 | 申请(专利权)人: | 无锡天脉聚源传媒科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京尚伦律师事务所 11477 | 代理人: | 张亮 |
地址: | 214000 江苏省无锡*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 生成 序列号 方法 装置 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种生成序列号的方法及装置。
背景技术
在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。数据库为了更好地为上述的功能提供支撑,需将大量的数据保存于数据库的表中。
目前使用较普遍的数据库,如MySQL,缺少获取序列的途径,当在数据库的表中插入数据时,无法知道插入的数据的序列号。故急需一种获知数据序列号的方法及装置,能在数据库插入数据时,获知该插入数据对应的序列号,使每个数据具有唯一的标识——序列号。
发明内容
本发明提供一种生成序列号的方法及装置,用以在数据库插入数据时,获知该插入数据对应的序列号,达到使每个数据具有唯一的标识——序列号的目的。
本发明提供一种生成序列号的方法,包括:
根据当前数据要存入的数据表的标识,从预先设置的序列表中获取所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号;
根据所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号生成当前数据的序列号;
将当前数据和当前数据的序列号存入所述当前数据要存入的数据表中;
其中,当有新的数据表出现时,所述序列表记录所述新的数据表的标识及其对应的序列号初始值和步长。
本发明实施例的一些有益效果可以包括:
通过在数据库中新建一个序列表,该表用于记录数据库中其他表的序列,包括了其他表的序列号初始值、步长和上一次分配的序列号,故能在数据库插入数据时,根据数据要存入的数据表,即可从序列表中获取数据要存入的数据表序列的初始值、步长和上一次分配的序列号,根据这些信息,继可以完成获知该插入数据对应的序列号,达到使每个数据具有唯一的标识——序列号的目的。
在一个实施例中,所述根据所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号生成当前数据的序列号,包括:
S1:判断所述当前数据要存入的数据表是否是第一次输入数据,是则执行S2,否则执行S3;
S2:将所述当前数据要存入的数据表对应的序列号初始值作为当前数据的序列号,并将所述当前数据的序列号作为所述当前数据要存入的数据表对应的上一次分配的序列号记录在所述序列表中;
S3:将所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值作为当前数据的序列号,并更新所述当前数据要存入的数据表对应的上一次分配的序列号为当前数据的序列号。
在该实施例中,不管当前数据要存入的数据表对应的上一次分配的序列号存在与否,都可以完成生成当前数据对应的序列号的工作。
在一个实施例中,所述序列表中记录的所述当前数据要存入的数据表对应的步长为正数时,所述序列表还记录有该数据表对应的序列号最大值;
所述步骤S1判断结果为否之后,执行步骤S3之前,还包括:判断所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值是否小于或等于该数据表对应的序列号最大值,是则执行S3,否则生成当前数据的序列号失败,结束流程。
在该实施例中,用户可以将数据表对应的步长设置为正数,同时可以设置数据表对应的序列号最大值,从而生成序列号将不会大于数据表对应的序列号最大值,防止数据的溢出。
在一个实施例中,当所述序列表中记录的所述当前数据要存入的数据表对应的步长为负数时,所述序列表还记录有该数据表对应的序列号最小值;
所述步骤S1判断结果为否之后,执行步骤S3之前,还包括:判断所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值是否大于或等于该数据表对应的序列号最小值,是则执行S3,否则生成当前数据的序列号失败,结束流程。
在该实施例中,用户可以将数据表对应的步长设置为负数,同时可以设置数据表对应的序列号最小值,从而生成序列号将不会小于数据表对应的序列号最小值,防止数据的溢出。
本发明还提供一种生成序列号的装置,包括:获取模块,序列号生成模块,保存模块;
所述获取模块,用于根据当前数据要存入的数据表的标识,从自身存储的预先设置的序列表中,获取所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号并发送给所述序列号生成模块;当有新的数据表出现时,所述获取模块将新的数据表的标识及其对应的序列号初始值和步长记录至所述序列表中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡天脉聚源传媒科技有限公司,未经无锡天脉聚源传媒科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510307208.2/2.html,转载请声明来源钻瓜专利网。