CN104951519A - 一种生成序列号的方法及装置 - Google Patents
一种生成序列号的方法及装置 Download PDFInfo
- Publication number
- CN104951519A CN104951519A CN201510307208.2A CN201510307208A CN104951519A CN 104951519 A CN104951519 A CN 104951519A CN 201510307208 A CN201510307208 A CN 201510307208A CN 104951519 A CN104951519 A CN 104951519A
- Authority
- CN
- China
- Prior art keywords
- data
- sequence number
- tables
- current data
- stored
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种生成序列号的方法及装置,用以在数据库插入数据时,获知该插入数据对应的序列号,达到使每个数据具有唯一的标识——序列号的目的。该方法包括:根据当前数据要存入的数据表的标识,从预先设置的序列表中获取所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号;根据所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号生成当前数据的序列号;将当前数据和当前数据的序列号存入所述当前数据要存入的数据表中;其中,当有新的数据表出现时,所述序列表记录所述新的数据表的标识及其对应的序列号初始值和步长。该方法能有效获知数据库中表插入数据对应的序列号。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种生成序列号的方法及装置。
背景技术
在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。数据库为了更好地为上述的功能提供支撑,需将大量的数据保存于数据库的表中。
目前使用较普遍的数据库,如MySQL,缺少获取序列的途径,当在数据库的表中插入数据时,无法知道插入的数据的序列号。故急需一种获知数据序列号的方法及装置,能在数据库插入数据时,获知该插入数据对应的序列号,使每个数据具有唯一的标识——序列号。
发明内容
本发明提供一种生成序列号的方法及装置,用以在数据库插入数据时,获知该插入数据对应的序列号,达到使每个数据具有唯一的标识——序列号的目的。
本发明提供一种生成序列号的方法,包括:
根据当前数据要存入的数据表的标识,从预先设置的序列表中获取所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号;
根据所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号生成当前数据的序列号;
将当前数据和当前数据的序列号存入所述当前数据要存入的数据表中;
其中,当有新的数据表出现时,所述序列表记录所述新的数据表的标识及其对应的序列号初始值和步长。
本发明实施例的一些有益效果可以包括:
通过在数据库中新建一个序列表,该表用于记录数据库中其他表的序列,包括了其他表的序列号初始值、步长和上一次分配的序列号,故能在数据库插入数据时,根据数据要存入的数据表,即可从序列表中获取数据要存入的数据表序列的初始值、步长和上一次分配的序列号,根据这些信息,继可以完成获知该插入数据对应的序列号,达到使每个数据具有唯一的标识——序列号的目的。
在一个实施例中,所述根据所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号生成当前数据的序列号,包括:
S1:判断所述当前数据要存入的数据表是否是第一次输入数据,是则执行S2,否则执行S3;
S2:将所述当前数据要存入的数据表对应的序列号初始值作为当前数据的序列号,并将所述当前数据的序列号作为所述当前数据要存入的数据表对应的上一次分配的序列号记录在所述序列表中;
S3:将所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值作为当前数据的序列号,并更新所述当前数据要存入的数据表对应的上一次分配的序列号为当前数据的序列号。
在该实施例中,不管当前数据要存入的数据表对应的上一次分配的序列号存在与否,都可以完成生成当前数据对应的序列号的工作。
在一个实施例中,所述序列表中记录的所述当前数据要存入的数据表对应的步长为正数时,所述序列表还记录有该数据表对应的序列号最大值;
所述步骤S1判断结果为否之后,执行步骤S3之前,还包括:判断所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值是否小于或等于该数据表对应的序列号最大值,是则执行S3,否则生成当前数据的序列号失败,结束流程。
在该实施例中,用户可以将数据表对应的步长设置为正数,同时可以设置数据表对应的序列号最大值,从而生成序列号将不会大于数据表对应的序列号最大值,防止数据的溢出。
在一个实施例中,当所述序列表中记录的所述当前数据要存入的数据表对应的步长为负数时,所述序列表还记录有该数据表对应的序列号最小值;
所述步骤S1判断结果为否之后,执行步骤S3之前,还包括:判断所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值是否大于或等于该数据表对应的序列号最小值,是则执行S3,否则生成当前数据的序列号失败,结束流程。
在该实施例中,用户可以将数据表对应的步长设置为负数,同时可以设置数据表对应的序列号最小值,从而生成序列号将不会小于数据表对应的序列号最小值,防止数据的溢出。
本发明还提供一种生成序列号的装置,包括:获取模块,序列号生成模块,保存模块;
所述获取模块,用于根据当前数据要存入的数据表的标识,从自身存储的预先设置的序列表中,获取所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号并发送给所述序列号生成模块;当有新的数据表出现时,所述获取模块将新的数据表的标识及其对应的序列号初始值和步长记录至所述序列表中;
所述序列号生成模块,用于根据所述获取模块发来的所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号,生成当前数据的序列号并发送给所述保存模块;
所述保存模块,用于接收所述序列号生成模块发来的所述当前数据的序列号,将当前数据和所述当前数据的序列号存入所述当前数据要存入的数据表中。
在一个实施例中,所述序列号生成模块包括:第一判断模块、第一更新模块、第二更新模块;
所述第一判断模块,用于判断所述获取模块发来的所述当前数据要存入的数据表是否是第一次输入数据,是则向所述第一更新模块发送第一更新指令,否则向所述第二更新模块发送第二更新指令
所述第一更新模块,用于根据所述第一判断模块发来的第一更新指令,将所述获取模块发来的所述当前数据要存入的数据表对应的序列号初始值作为当前数据的序列号,并将当前数据的序列号作为所述当前数据要存入的数据表对应的上一次分配的序列号记录在所述序列表中;
所述第二更新模块,用于根据所述第一判断模块发来的第二更新指令,将所述获取模块发来的所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值作为当前数据的序列号,并更新所述序列表中记录的当前数据要存入的数据表对应的上一次分配的序列号为当前数据的序列号。
在一个实施例中,所述获取模块存储的序列表中记录的所述当前数据要存入的数据表对应的步长为正数时,所述序列表还记录有该数据表对应的序列号最大值;所述获取模块存储的序列表中记录的所述当前数据要存入的数据表对应的步长为负数时,所述序列表还记录有该数据表对应的序列号最小值;
所述第二更新模块包括:
第二判断模块,用于根据所述第一判断模块发来的第二更新指令,判断所述获取模块发来的所述当前数据要存入的数据表对应的步长是否为正数,是则向所述第三判断模块发送第一判断指令,否则向所述第四判断模块发送第二判断指令;
所述第三判断模块,用于根据所述第二判断模块发来的第一判断指令,判断所述获取模块发来的所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值是否小于或等于该数据表对应的序列号最大值,是则向第三更新模块发送包括所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值的第三更新指令;
所述第四判断模块,用于根据所述第二判断模块发来的第二判断指令,判断所述获取模块发来的所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值是否大于或等于该数据表对应的序列号最小值,是则向第三更新模块发送包括所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值的第三更新指令;
第三更新模块,用于根据收到的第三更新指令,将所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值作为当前数据的序列号,并更新所述序列表中记录的当前数据要存入的数据表对应的上一次分配的序列号为当前数据的序列号。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种生成序列号的方法流程图;
图2为本发明实施例一中提供的一种生成序列号的方法流程图;
图3为本发明实施例二中提供的一种生成序列号的方法流程图;
图4为本发明实施例中一种生成序列号的装置结构示意图;
图5为本发明实施例中一种生成序列号的装置中序列号生成模块的结构示意图;
图6为本发明实施例中一种生成序列号的装置中第二更新模块的结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为本发明实施例中一种生成序列号的方法流程图。如图1所示,该方法包括以下步骤S101-S103:
步骤S101:根据当前数据要存入的数据表的标识,从预先设置的序列表中获取当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号;
步骤S102:根据当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号生成当前数据的序列号;
步骤S103:将当前数据和当前数据的序列号存入当前数据要存入的数据表中;
上述过程中,当有新的数据表出现时,序列表记录新的数据表的标识及其对应的序列号初始值和步长。
本发明实施例提供的生成序列号的方法通过在数据库中新建一个序列表,该表用于记录数据库中其他表的序列,包括了其他表序列号初始值、步长和上一次分配的序列号,故能在数据库插入数据时,根据数据要存入的数据表,即可从序列表中获取数据要存入的数据表序列的初始值、步长和上一次分配的序列号,根据这些信息,继可以完成获知该插入数据对应的序列号,达到使每个数据具有唯一的标识——序列号的目的。
下面通过具体实施例来说明本发明实施例提供的生成序列号的方法。
实施例一
图2为本发明实施例一中提供的一种生成序列号的方法流程图。如图2所示,该方法包括以下步骤S201-S205:
步骤S201:根据当前数据要存入的数据表的标识,从预先设置的序列表中获取当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号;
步骤S202:判断当前数据要存入的数据表是否是第一次输入数据,是则执行S203,否则执行S204;
步骤S203:将当前数据要存入的数据表对应的序列号初始值作为当前数据的序列号,并将当前数据的序列号作为当前数据要存入的数据表对应的上一次分配的序列号记录在序列表中,并执行步骤S205;
步骤S204:将当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值作为当前数据的序列号,并更新当前数据要存入的数据表对应的上一次分配的序列号为当前数据的序列号,并执行步骤S205;
步骤S205:将当前数据和当前数据的序列号存入当前数据要存入的数据表中。
通过判断当前数据要存入的数据表是否是第一次输入数据,即判断上一次分配的序列号是否存在;当当前数据要存入的数据表为第一次输入数据,等同于上一次分配的序列号不存在,在该条件下,可以用序列号初始值作为当前数据的序列号;当当前数据要存入的数据表不是第一次输入数据,等同于上一次分配的序列号存在,在该条件下,可以用上一次分配的序列号加上步长得到的值作为当前数据的序列号。从而即可完成生成当前数据对应的序列号的工作。
本发明实施例一提供的技术方案,不管当前数据要存入的数据表对应的上一次分配的序列号存在与否,都可以完成生成当前数据对应的序列号的工作。
实施例二
图3为本发明实施例二中提供的一种生成序列号的方法流程图。如图3所示,该方法包括以下步骤S301-S309:
步骤S301:根据当前数据要存入的数据表的标识,从预先设置的序列表中获取当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号;
步骤S302:判断当前数据要存入的数据表是否是第一次输入数据,是则执行S303,否则执行S304;
步骤S303:将当前数据要存入的数据表对应的序列号初始值作为当前数据的序列号,并将当前数据的序列号作为当前数据要存入的数据表对应的上一次分配的序列号记录在序列表中,并执行步骤S309;
步骤S304:判断当前数据要存入的数据表对应的步长是否是正数,是则执行步骤S305,否则执行步骤S306;
步骤S305:判断当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值是否小于或等于该数据表对应的序列号最大值,是则执行步骤S308;否则执行步骤S307;
步骤S306:判断当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值是否大于或等于该数据表对应的序列号最小值,是则执行步骤S308;否则执行步骤S307;
步骤S307:生成当前数据的序列号失败,结束流程;
步骤S308:将当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值作为当前数据的序列号,并更新当前数据要存入的数据表对应的上一次分配的序列号为当前数据的序列号,并执行步骤S309;
步骤S309:将当前数据和当前数据的序列号存入当前数据要存入的数据表中。
本发明实施例二提供的技术方案,用户可以将数据表对应的步长设置为负数/正数,同时可以设置数据表对应的序列号最小值/序列号最大值,从而生成序列号将不会小于数据表对应的序列号最小值/大于数据表对应的序列号最大值,防止数据的溢出。
对应于上述实施例提供的一种生成序列号的方法,本发明实施例还提供一种生成序列号的装置,如图4所示,包括:获取模块41,序列号生成模块42,保存模块43;
获取模块41,用于根据当前数据要存入的数据表的标识,从自身存储的预先设置的序列表中,获取当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号并发送给序列号生成模块42;当有新的数据表出现时,获取模块41将新的数据表的标识及其对应的序列号初始值和步长记录至序列表中;
序列号生成模块42,用于根据获取模块41发来的当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号,生成当前数据的序列号并发送给保存模块43;
保存模块43,用于接收序列号生成模块42发来的当前数据的序列号,将当前数据和当前数据的序列号存入当前数据要存入的数据表中。
在一个实施例中,如图5所示,序列号生成模块42包括:第一判断模块51、第一更新模块52、第二更新模块53;
第一判断模块51,用于判断获取模块41发来的当前数据要存入的数据表是否是第一次输入数据,是则向第一更新模块52发送第一更新指令,否则向第二更新模块53发送第二更新指令
第一更新模块52,用于根据第一判断模块51发来的第一更新指令,将获取模块41发来的当前数据要存入的数据表对应的序列号初始值作为当前数据的序列号,并将当前数据的序列号作为当前数据要存入的数据表对应的上一次分配的序列号记录在序列表中;
第二更新模块53,用于根据第一判断模块51发来的第二更新指令,将获取模块41发来的当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值作为当前数据的序列号,并更新序列表中记录的当前数据要存入的数据表对应的上一次分配的序列号为当前数据的序列号。
在一个实施例中,获取模块41存储的序列表中记录的当前数据要存入的数据表对应的步长为正数时,序列表还记录有该数据表对应的序列号最大值;获取模块41存储的序列表中记录的当前数据要存入的数据表对应的步长为负数时,序列表还记录有该数据表对应的序列号最小值。此时,如图6所示,第二更新模块53包括:
第二判断模块61,用于根据第一判断模块51发来的第二更新指令,判断获取模块41发来的当前数据要存入的数据表对应的步长是否为正数,是则向第三判断模块62发送第一判断指令,否则向第四判断模块63发送第二判断指令;
第三判断模块62,用于根据第二判断模块61发来的第一判断指令,判断获取模块发来的当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值是否小于或等于该数据表对应的序列号最大值,是则向第三更新模块64发送包括当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值的第三更新指令;
第四判断模块63,用于根据第二判断模块61发来的第二判断指令,判断获取模块41发来的当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值是否大于或等于该数据表对应的序列号最小值,是则向第三更新模块64发送包括当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值的第三更新指令;
第三更新模块64,用于根据收到的第三更新指令,将当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值作为当前数据的序列号,并更新序列表中记录的当前数据要存入的数据表对应的上一次分配的序列号为当前数据的序列号。
本发明实施例提供的一种生成序列号的装置,通过在数据库中新建一个序列表,该表用于记录数据库中其他表的序列,包括了其他表序列号初始值、步长和上一次分配的序列号,故能在数据库插入数据时,根据数据要存入的数据表,即可从序列表中获取数据要存入的数据表序列的初始值、步长和上一次分配的序列号,根据这些信息,继可以完成获知该插入数据对应的序列号,达到使每个数据具有唯一的标识——序列号的目的。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种生成序列号的方法,其特征在于,包括:
根据当前数据要存入的数据表的标识,从预先设置的序列表中获取所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号;
根据所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号生成当前数据的序列号;
将当前数据和当前数据的序列号存入所述当前数据要存入的数据表中;
其中,当有新的数据表出现时,所述序列表记录所述新的数据表的标识及其对应的序列号初始值和步长。
2.如权利要求1所述的一种生成序列号的方法,其特征在于,所述根据所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号生成当前数据的序列号,包括:
S1:判断所述当前数据要存入的数据表是否是第一次输入数据,是则执行S2,否则执行S3;
S2:将所述当前数据要存入的数据表对应的序列号初始值作为当前数据的序列号,并将所述当前数据的序列号作为所述当前数据要存入的数据表对应的上一次分配的序列号记录在所述序列表中;
S3:将所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值作为当前数据的序列号,并更新所述当前数据要存入的数据表对应的上一次分配的序列号为当前数据的序列号。
3.如权利要求2所述的一种生成序列号的方法,其特征在于,当所述序列表中记录的所述当前数据要存入的数据表对应的步长为正数时,所述序列表还记录有该数据表对应的序列号最大值;
所述步骤S1判断结果为否之后,执行步骤S3之前,还包括:判断所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值是否小于或等于该数据表对应的序列号最大值,是则执行S3,否则生成当前数据的序列号失败,结束流程。
4.如权利要求2所述的一种生成序列号的方法,其特征在于,当所述序列表中记录的所述当前数据要存入的数据表对应的步长为负数时,所述序列表还记录有该数据表对应的序列号最小值;
所述步骤S1判断结果为否之后,执行步骤S3之前,还包括:判断所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值是否大于或等于该数据表对应的序列号最小值,是则执行S3,否则生成当前数据的序列号失败,结束流程。
5.一种生成序列号的装置,其特征在于,包括:获取模块,序列号生成模块,保存模块;
所述获取模块,用于根据当前数据要存入的数据表的标识,从自身存储的预先设置的序列表中,获取所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号并发送给所述序列号生成模块;当有新的数据表出现时,所述获取模块将新的数据表的标识及其对应的序列号初始值和步长记录至所述序列表中;
所述序列号生成模块,用于根据所述获取模块发来的所述当前数据要存入的数据表对应的序列号初始值、步长和上一次分配的序列号,生成当前数据的序列号并发送给所述保存模块;
所述保存模块,用于接收所述序列号生成模块发来的所述当前数据的序列号,将当前数据和所述当前数据的序列号存入所述当前数据要存入的数据表中。
6.如权利要求5所述的一种生成序列号的装置,其特征在于,所述序列号生成模块包括:第一判断模块、第一更新模块、第二更新模块;
所述第一判断模块,用于判断所述获取模块发来的所述当前数据要存入的数据表是否是第一次输入数据,是则向所述第一更新模块发送第一更新指令,否则向所述第二更新模块发送第二更新指令
所述第一更新模块,用于根据所述第一判断模块发来的第一更新指令,将所述获取模块发来的所述当前数据要存入的数据表对应的序列号初始值作为当前数据的序列号,并将当前数据的序列号作为所述当前数据要存入的数据表对应的上一次分配的序列号记录在所述序列表中;
所述第二更新模块,用于根据所述第一判断模块发来的第二更新指令,将所述获取模块发来的所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值作为当前数据的序列号,并更新所述序列表中记录的当前数据要存入的数据表对应的上一次分配的序列号为当前数据的序列号。
7.如权利要求6所述的一种生成序列号的装置,其特征在于,
所述获取模块存储的序列表中记录的所述当前数据要存入的数据表对应的步长为正数时,所述序列表还记录有该数据表对应的序列号最大值;所述获取模块存储的序列表中记录的所述当前数据要存入的数据表对应的步长为负数时,所述序列表还记录有该数据表对应的序列号最小值;
所述第二更新模块包括:
第二判断模块,用于根据所述第一判断模块发来的第二更新指令,判断所述获取模块发来的所述当前数据要存入的数据表对应的步长是否为正数,是则向所述第三判断模块发送第一判断指令,否则向所述第四判断模块发送第二判断指令;
所述第三判断模块,用于根据所述第二判断模块发来的第一判断指令,判断所述获取模块发来的所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值是否小于或等于该数据表对应的序列号最大值,是则向第三更新模块发送包括所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值的第三更新指令;
所述第四判断模块,用于根据所述第二判断模块发来的第二判断指令,判断所述获取模块发来的所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值是否大于或等于该数据表对应的序列号最小值,是则向第三更新模块发送包括所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值的第三更新指令;
第三更新模块,用于根据收到的第三更新指令,将所述当前数据要存入的数据表对应的上一次分配的序列号加上步长得到的值作为当前数据的序列号,并更新所述序列表中记录的当前数据要存入的数据表对应的上一次分配的序列号为当前数据的序列号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510307208.2A CN104951519A (zh) | 2015-06-04 | 2015-06-04 | 一种生成序列号的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510307208.2A CN104951519A (zh) | 2015-06-04 | 2015-06-04 | 一种生成序列号的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104951519A true CN104951519A (zh) | 2015-09-30 |
Family
ID=54166177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510307208.2A Pending CN104951519A (zh) | 2015-06-04 | 2015-06-04 | 一种生成序列号的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104951519A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468718A (zh) * | 2015-11-18 | 2016-04-06 | 腾讯科技(深圳)有限公司 | 数据一致性处理方法、装置和系统 |
CN106649566A (zh) * | 2016-11-14 | 2017-05-10 | 上海艾融软件股份有限公司 | 一种序列号生成方法及装置 |
CN111625543A (zh) * | 2020-05-27 | 2020-09-04 | 贵州易鲸捷信息技术有限公司 | 一种基于HBase表实现全局单调递增的序列的方法 |
CN111949324A (zh) * | 2020-07-21 | 2020-11-17 | 北京思特奇信息技术股份有限公司 | 一种分布式序列号生成方法和装置 |
CN112925787A (zh) * | 2019-12-06 | 2021-06-08 | 中国电信股份有限公司 | 数据处理方法、装置和计算机可读存储介质 |
CN115103024A (zh) * | 2022-06-21 | 2022-09-23 | 联仁健康医疗大数据科技股份有限公司 | 一种序列号生成方法、装置、电子设备及存储介质 |
-
2015
- 2015-06-04 CN CN201510307208.2A patent/CN104951519A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468718A (zh) * | 2015-11-18 | 2016-04-06 | 腾讯科技(深圳)有限公司 | 数据一致性处理方法、装置和系统 |
CN105468718B (zh) * | 2015-11-18 | 2020-09-08 | 腾讯科技(深圳)有限公司 | 数据一致性处理方法、装置和系统 |
CN106649566A (zh) * | 2016-11-14 | 2017-05-10 | 上海艾融软件股份有限公司 | 一种序列号生成方法及装置 |
CN106649566B (zh) * | 2016-11-14 | 2019-10-15 | 上海艾融软件股份有限公司 | 一种序列号生成方法及装置 |
CN112925787A (zh) * | 2019-12-06 | 2021-06-08 | 中国电信股份有限公司 | 数据处理方法、装置和计算机可读存储介质 |
CN111625543A (zh) * | 2020-05-27 | 2020-09-04 | 贵州易鲸捷信息技术有限公司 | 一种基于HBase表实现全局单调递增的序列的方法 |
CN111625543B (zh) * | 2020-05-27 | 2023-08-25 | 贵州易鲸捷信息技术有限公司 | 一种基于HBase表实现全局单调递增的序列的方法 |
CN111949324A (zh) * | 2020-07-21 | 2020-11-17 | 北京思特奇信息技术股份有限公司 | 一种分布式序列号生成方法和装置 |
CN115103024A (zh) * | 2022-06-21 | 2022-09-23 | 联仁健康医疗大数据科技股份有限公司 | 一种序列号生成方法、装置、电子设备及存储介质 |
CN115103024B (zh) * | 2022-06-21 | 2024-03-15 | 联仁健康医疗大数据科技股份有限公司 | 一种序列号生成方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104951519A (zh) | 一种生成序列号的方法及装置 | |
US8549045B2 (en) | Test data generation and scale up for database testing using unique common factor sequencing | |
CN106201481A (zh) | 应用程序开发系统中的组件管理方法和装置 | |
CN105824849A (zh) | 一种数据导入方法及适配器 | |
CN104407935A (zh) | 快照回滚方法和存储设备 | |
CN102984737B (zh) | 一种无线网络的参数统一配置方法及装置 | |
CN104572781A (zh) | 一种交易日志产生方法和装置 | |
CN104714957A (zh) | 一种表结构的变更方法及装置 | |
CN109165175B (zh) | 设备标识生成方法和装置 | |
US8135932B2 (en) | Initializing of a memory area | |
CN107451006A (zh) | 限制存储设备中的性能变化的技术 | |
CN110083379A (zh) | 一种服务器部件升级方法及相关装置 | |
CN104021219A (zh) | 一种数据模板的生成方法及装置 | |
CN103559098A (zh) | 智能卡测试号码控制方法、装置及系统 | |
CN103593447A (zh) | 用于数据库表的数据处理方法和装置 | |
CN104717103A (zh) | 一种对网络设备进行测试的方法和装置 | |
CN105260266A (zh) | 一种快照卷写方法及依赖快照系统 | |
CN104021085A (zh) | 一种移动终端内存清理方法和装置 | |
CN107133072A (zh) | 一种操作执行方法和装置 | |
CN105808556A (zh) | 一种数据库的操作方法及数据库引擎 | |
CN106664637A (zh) | 路由信息配置方法及装置 | |
CN104615349A (zh) | 一种信息处理的方法及电子设备 | |
CN103051528B (zh) | 一种用于总线的报文快速分发方法及装置 | |
CN105704189A (zh) | 一种上下层链路之间的关联方法、装置和系统 | |
CN105391574A (zh) | 一种服务器地址设置方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150930 |