CN112925787A - 数据处理方法、装置和计算机可读存储介质 - Google Patents
数据处理方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN112925787A CN112925787A CN201911239374.8A CN201911239374A CN112925787A CN 112925787 A CN112925787 A CN 112925787A CN 201911239374 A CN201911239374 A CN 201911239374A CN 112925787 A CN112925787 A CN 112925787A
- Authority
- CN
- China
- Prior art keywords
- sequence
- value
- segment
- name
- current
- 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.)
- Withdrawn
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
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/2291—User-Defined Types; Storage management thereof
-
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种数据处理方法、装置和计算机可读存储介质,涉及。本公开的方法包括:获取待插入数据对应的序列名;根据序列名在内存中获取对应的序列段的当前序列值;其中,内存中存储不同序列名对应的序列段;更新内存中序列名对应的当前序列值;将获取的当前序列值与待插入数据插入MySQL数据库中对应的数据表中。
Description
技术领域
本公开涉及数据库技术领域,特别涉及一种数据处理方法、装置和计算机可读存储介质。
背景技术
MySQL是开放源码的关系型数据库管理系统,采用GPL(General Public License,通用公共许可证)协议发布,用户可以根据自己的需求进行修改。MySQL具有跨平台性,不仅可以在Linux系统上使用,还可以在Windows、Mac OS等系统上使用。MySQL数据库应用广泛。
MySQL数据库没有提供自增长的唯一序列,即在MySQL数据库中插入数据时,无法自动生成标识每条数据的唯一序列值。用户不能通过序列值查找相应的数据,操作很不方便。
发明内容
本公开所要解决的一个技术问题是:如何在MySQL数据库针对插入的数据自动生成自增长的唯一序列值。
根据本公开的一些实施例,提供的一种数据处理方法,包括:获取待插入数据对应的序列名;根据序列名在内存中获取对应的序列段的当前序列值;其中,内存中存储不同序列名对应的序列段;更新内存中序列名对应的当前序列值;将获取的当前序列值与待插入数据插入MySQL数据库中对应的数据表中。
在一些实施例中,根据序列名在内存中获取对应的序列段的当前序列值包括:根据序列名在内存中查找对应的序列段;在序列段中读取当前序列值;其中,序列名是根据待插入数据对应的数据表确定的。
在一些实施例中,更新内存中序列名对应的当前序列值包括:在获取的当前序列值不是序列段的最大值的情况下,将获取的当前序列值加1,作为更新后的序列名对应的当前序列值;或者,在获取的当前序列值是序列段的最大值的情况下,根据预设步长,确定序列段增加一个步长之后的新的序列段;将新的序列段的第一个值,作为更新后的序列名对应的当前序列值;或者,在获取的当前序列值是序列段的最大值的情况下,从MySQL数据库中获取新的序列段,将新的序列段的第一个值,作为更新后的序列名对应的当前序列值;其中,新的序列段是MySQL数据库在序列段增加一个步长之后得到的。
在一些实施例中,MySQL数据库存储序列配置表,序列配置表包括:序列名,序列最大值以及预设步长;在获取的当前序列值是序列段的最大值的情况下,根据预设步长,确定序列段增加一个步长之后的新的序列段包括:判断获取的当前序列值是否为序列最大值;在获取的当前序列值不是序列最大值的情况下,根据序列名从序列配置表中读取对应的预设步长;根据预设步长,确定序列段增加一个步长之后的新的序列段。
在一些实施例中,还包括:在MySQL数据库中存储序列配置表,序列配置表包括:序列名,序列最小值以及预设步长;读取序列配置表;根据序列最小值和预设步长,确定序列名对应的初始的序列段;将初始的序列段与序列名对应存入内存中。
在一些实施例中,还包括:在MySQL数据库中存储序列配置表,序列配置表包括:序列名,序列段最小值,序列段最大值;读取序列配置表;根据序列段最小值和序列段最大值,确定序列名对应的序列段;将序列段与序列名对应存入内存中。
在一些实施例中,在内存中对序列段进行乐观锁控制,以使针对不同待插入数据获取的当前序列值不同。
根据本公开的另一些实施例,提供的一种数据处理装置,包括:序列名获取模块,用于获取待插入数据对应的序列名;序列值获取模块,用于根据序列名在内存中获取对应的序列段的当前序列值;其中,内存中存储不同序列名对应的序列段;更新模块,用于更新内存中序列名对应的当前序列值;插入模块,用于将获取的当前序列值与待插入数据插入MySQL数据库中对应的数据表中。
在一些实施例中,序列值获取模块用于根据序列名在内存中查找对应的序列段;在序列段中读取当前序列值;其中,序列名是根据待插入数据对应的数据表确定的。
在一些实施例中,更新模块用于在获取的当前序列值不是序列段的最大值的情况下,将获取的当前序列值加1,作为更新后的序列名对应的当前序列值;或者,在获取的当前序列值是序列段的最大值的情况下,根据预设步长,确定序列段增加一个步长之后的新的序列段;将新的序列段的第一个值,作为更新后的序列名对应的当前序列值;或者,在获取的当前序列值是序列段的最大值的情况下,从MySQL数据库中获取新的序列段,将新的序列段的第一个值,作为更新后的序列名对应的当前序列值;其中,新的序列段是MySQL数据库在序列段增加一个步长之后得到的。
在一些实施例中,MySQL数据库存储序列配置表,序列配置表包括:序列名,序列最大值以及预设步长;更新模块用于判断获取的当前序列值是否为序列最大值;在获取的当前序列值不是序列最大值的情况下,根据序列名从序列配置表中读取对应的预设步长;根据预设步长,确定序列段增加一个步长之后的新的序列段。
在一些实施例中,还包括:第一配置模块,用于在MySQL数据库中存储序列配置表,序列配置表包括:序列名,序列最小值以及预设步长;第一存储模块,用于读取序列配置表;根据序列最小值和预设步长,确定序列名对应的初始的序列段;将初始的序列段与序列名对应存入内存中。
在一些实施例中,还包括:第二配置模块,用于在MySQL数据库中存储序列配置表,序列配置表包括:序列名,序列段最小值,序列段最大值;第二存储模块,用于读取序列配置表;根据序列段最小值和序列段最大值,确定序列名对应的序列段;将序列段与序列名对应存入内存中。
在一些实施例中,在内存中对序列段进行乐观锁控制,以使针对不同待插入数据获取的当前序列值不同。
根据本公开的又一些实施例,提供的一种数据处理装置,包括:处理器;以及耦接至处理器的存储器,用于存储指令,指令被处理器执行时,使处理器执行如前述任意实施例的数据处理方法。
根据本公开的再一些实施例,提供的一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意实施例数据处理方法的步骤。
本公开中在内存中存储不同序列名对应的序列段,在有待插入数据的情况下,从内存中自动获取对应的当前序列值,将当前序列值与待插入数据插入MySQL数据库中对应的数据表中,并更新内存中序列名对应的当前序列值。根据本公开的方案可以自动从内存中获取序列值,并且通过序列值的自动更新,序列值保持唯一性和自动增长的特性,使得MySQL数据库存储的数据能够有对应的唯一序列值,便于后续对数据的访问,提升访问效率。此外,通过访问内存来获取序列值,降低读取数据库带来的I/O压力,提高访问的速度。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开的一些实施例的数据处理方法的流程示意图。
图2示出本公开的另一些实施例的数据处理方法的流程示意图。
图3示出本公开的一些实施例的数据处理装置的结构示意图。
图4示出本公开的一些实施例的数据处理装置的结构示意图。
图5示出本公开的一些实施例的数据处理装置的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
序列可以是一组整数值,例如1,2……,如果数据库中针对每一条插入的数据都可以生成自动增加的序列值,则每条数据则可以根据唯一的序列值进行查找、修改等,便于访问和操作。目前的MySQL数据库没有该功能,因此,针对MySQL数据库没有提供自增长的唯一序列的问题,提出本方案,下面结合图1进行描述。
图1为本公开数据处理方法一些实施例的流程图。如图1所示,该实施例的方法包括:步骤S102~S108。
在步骤S102中,获取待插入数据对应的序列名。
在一些实施例中,序列名可以是根据待插入数据对应的数据表确定的。例如,待插入数据为用户信息,对应的数据表为用户信息配置表,序列名中可以包括表名、数据表中字段名至少一项。根据用户的插入请求以及预设规则可以确定序列名。
在步骤S104中,根据序列名在内存中获取对应的序列段的当前序列值。可以封装相应的应用程序接口(API)执行步骤S104和106,输入序列名,输出当前序列值。
内存中存储不同序列名对应的序列段。例如,序列名为A,对应的序列段为1~1000,序列名为B,对应的序列段为5~5000等。序列名和序列段的对应关系可以存储在内存中的序列关系表中。在一些实施例中,根据序列名在内存中查找对应的序列段;在序列段中读取当前序列值。内存中的序列段如何配置,后续实施例中将进行详细描述。序列段的当前序列值为序列段包含的最小值。例如,序列段为5~5000,当前序列值为5。
在一些实施例中,在内存中对序列段进行乐观锁控制,以使针对不同待插入数据获取的当前序列值不同。乐观锁技术为现有技术,在此不再赘述。通过乐观锁控制可以在多个线程并发获取当前序列值的情况下,保证获取的当前序列值的唯一性。
在步骤S106中,更新内存中序列名对应的当前序列值。
在一些实施例中,在获取的当前序列值不是序列段的最大值的情况下,将获取的当前序列值加1,作为更新后的序列名对应的当前序列值。根据更新后的当前序列值得到更新后的序列段。例如,序列段为5~5000,获取的当前序列值为5,则更新后的当前序列值为6,更新后的序列段为6~5000。
在一些实施例中,在获取的当前序列值是序列段的最大值的情况下,根据预设步长,确定序列段增加一个步长之后的新的序列段;将新的序列段的第一个值,作为更新后的序列名对应的当前序列值。通过不断插入待插入数据获取当前序列值,内存中的序列段可能被消耗完。例如,当前序列值为5000的情况下属于当前序列段的最大值,序列段中的值已经被取完。预设步长为5000,在原序列段上增加一个步长得到新的序列段为5001~10000,作为更新后的序列段,5001则为更新后的当前序列值。
进一步,在一些实施例中,MySQL数据库存储预先配置的序列配置表,序列配置表包括:序列名,序列最大值以及预设步长,还可以存储序列最小值等信息。判断获取的当前序列值是否为序列最大值;在获取的当前序列值不是序列最大值的情况下,根据序列名从序列配置表中读取对应的预设步长;根据预设步长,确定序列段增加一个步长之后的新的序列段。如果当前序列值为序列最大值,则无法继续更新当前序列值,可以发出提示信息,例如“序列值已用完”。
当然,也可以不配置序列最大值,序列段和序列值可以一直更新下去。预设步长和/或序列最大值也可以在初始时就读取到内存并与序列名对应存储,取的当前序列值是否为序列最大值的情况下,可以直接从内存获取预设步长和/或最大序列值,不需要再到数据库获取。
在步骤S108中,将获取的当前序列值与待插入数据插入MySQL数据库中对应的数据表中。在步骤S108之后可以返回步骤S102重新开始执行。
数据表中可以设置序列值字段,当前序列值则插入序列值字段对应的位置。步骤S106和S108可以不分先后顺序并列执行。
下面结合图2描述本公开数据处理方法的另一些实施例。
图2为本公开数据处理方法一些实施例的流程图。如图2所示,该实施例的方法包括:步骤S202~S216。
在步骤S202中,在MySQL数据库中存储序列配置表。
在一些实施例中,序列配置表包括:序列名,序列段最小值,序列段最大值。
在步骤S204中,读取序列配置表。
从数据库中读取序列配置表。
在步骤S206中,根据序列段最小值和序列段最大值,确定序列名对应的序列段。
在步骤S208中,将序列段与序列名对应存入内存中。
在步骤S210中,获取待插入数据对应的序列名。
在步骤S212中,根据序列名在内存中获取对应的序列段的当前序列值;其中,内存中存储不同序列名对应的序列段。
在步骤S213中,将获取的当前序列值与待插入数据插入MySQL数据库中对应的数据表中。步骤S213和S214可以不分先后顺序并列执行。
在步骤S214中,判断获取的当前序列值是否为序列段最大值,如果是,则执行步骤S216,否则执行步骤S215。
在步骤S215中,将获取的当前序列值加1,作为更新后的序列名对应的当前序列值。
在步骤S216中,通知MySQL数据库更新序列配置表中序列名对应的序列段最小值,序列段最大值。返回步骤S204重新开始执行。即从MySQL数据库读取新的序列段,将新的序列段的第一个值,作为更新后的序列名对应的当前序列值。
新的序列段为在MySQL数据库中根据预设步长在序列段增加一个步长之后的新的序列段。在一些实施例中,MySQL数据库存储预先配置的序列配置表,序列配置表包括:序列名,序列段最小值,序列段最大值。序列段最小值和序列段最大值则限定了当前的序列段范围。在获取的当前序列值是序列段的最大值的情况下,向MySQL数据库发出序列段用完通知,MySQL数据库在序列配置表根据预设步长修改序列段最小值,序列段最大值,得到新的序列段。进而可以读取新的序列段存入内存中。进一步,还可以设置序列最大值,在当前序列值达到序列最大值的情况下,不再生成新的序列段。
在另一些实施例中,序列配置表包括:序列名,序列最小值以及预设步长;则内存中存储初始的序列段的过程中步骤S206~S208可以替换为:在步骤S206中,根据序列最小值和预设步长,确定序列名对应的初始的序列段,在步骤S208中,将初始的序列段与序列名对应存入内存中。在内存中更新序列段的过程步骤S214~S216可以参考图1对应的实施例的描述。
上述实施例中在内存中存储不同序列名对应的序列段,在有待插入数据的情况下,从内存中自动获取对应的当前序列值,将当前序列值与待插入数据插入MySQL数据库中对应的数据表中,并更新内存中序列名对应的当前序列值。根据上述实施例的方案可以自动从内存中获取序列值,并且通过序列值的自动更新,序列值保持唯一性和自动增长的特性,使得MySQL数据库存储的数据能够有对应的唯一序列值,便于后续对数据的访问,提升访问效率。此外,通过访问内存来获取序列值,降低读取数据库带来的I/O压力,提高访问的速度。
本公开提出一种数据处理装置,下面结合图3进行描述。
图3为本公开数据处理装置一些实施例的结构图。如图3所示,该实施例的装置30包括:序列名获取模块310,序列值获取模块320,更新模块330,插入模块340。
序列名获取模块310用于获取待插入数据对应的序列名。
序列值获取模块320用于根据序列名在内存中获取对应的序列段的当前序列值;其中,内存中存储不同序列名对应的序列段。
在一些实施例中,在内存中对序列段进行乐观锁控制,以使针对不同待插入数据获取的当前序列值不同。
在一些实施例中,序列值获取模块320用于根据序列名在内存中查找对应的序列段;在序列段中读取当前序列值;其中,序列名是根据待插入数据对应的数据表确定的。
更新模块330用于更新内存中序列名对应的当前序列值。
在一些实施例中,更新模块330用于在获取的当前序列值不是序列段的最大值的情况下,将获取的当前序列值加1,作为更新后的序列名对应的当前序列值;或者,在获取的当前序列值是序列段的最大值的情况下,根据预设步长,确定序列段增加一个步长之后的新的序列段;将新的序列段的第一个值,作为更新后的序列名对应的当前序列值;或者,在获取的当前序列值是序列段的最大值的情况下,从MySQL数据库中获取新的序列段,将新的序列段的第一个值,作为更新后的序列名对应的当前序列值;其中,新的序列段是MySQL数据库在序列段增加一个步长之后得到的。
在一些实施例中,MySQL数据库存储序列配置表,序列配置表包括:序列名,序列最大值以及预设步长;更新模块330用于判断获取的当前序列值是否为序列最大值;在获取的当前序列值不是序列最大值的情况下,根据序列名从序列配置表中读取对应的预设步长;根据预设步长,确定序列段增加一个步长之后的新的序列段。
插入模块340用于将获取的当前序列值与待插入数据插入MySQL数据库中对应的数据表中。
在一些实施例中,装置30还包括:第一配置模块350,用于在MySQL数据库中存储序列配置表,序列配置表包括:序列名,序列最小值以及预设步长;第一存储模块360,用于读取序列配置表;根据序列最小值和预设步长,确定序列名对应的初始的序列段;将初始的序列段与序列名对应存入内存中。
在一些实施例中,装置30还包括:第二配置模块370,用于在MySQL数据库中存储序列配置表,序列配置表包括:序列名,序列段最小值,序列段最大值;第二存储模块380,用于读取序列配置表;根据序列段最小值和序列段最大值,确定序列名对应的序列段;将序列段与序列名对应存入内存中。
本公开的实施例中的数据处理装置可各由各种计算设备或计算机系统来实现,下面结合图4以及图5进行描述。
图4为本公开数据处理装置的一些实施例的结构图。如图4所示,该实施例的装置40包括:存储器410以及耦接至该存储器410的处理器420,处理器420被配置为基于存储在存储器410中的指令,执行本公开中任意一些实施例中的数据处理方法。
其中,存储器410例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图5为本公开数据处理装置的另一些实施例的结构图。如图5所示,该实施例的装置50包括:存储器510以及处理器520,分别与存储器410以及处理器420类似。还可以包括输入输出接口530、网络接口540、存储接口550等。这些接口530,540,550以及存储器510和处理器520之间例如可以通过总线560连接。其中,输入输出接口530为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口540为各种联网设备提供连接接口,例如可以连接到数据库服务器或者云端存储服务器等。存储接口550为SD卡、U盘等外置存储设备提供连接接口。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (16)
1.一种数据处理方法,包括:
获取待插入数据对应的序列名;
根据所述序列名在内存中获取对应的序列段的当前序列值;其中,内存中存储不同序列名对应的序列段;
更新所述内存中所述序列名对应的当前序列值;
将获取的当前序列值与待插入数据插入MySQL数据库中对应的数据表中。
2.根据权利要求1所述的数据处理方法,其中,
所述根据所述序列名在内存中获取对应的序列段的当前序列值包括:
根据所述序列名在内存中查找对应的序列段;
在所述序列段中读取当前序列值;
其中,所述序列名是根据所述待插入数据对应的数据表确定的。
3.根据权利要求1所述的数据处理方法,其中,
所述更新所述内存中所述序列名对应的当前序列值包括:
在获取的当前序列值不是所述序列段的最大值的情况下,将获取的当前序列值加1,作为更新后的所述序列名对应的当前序列值;
或者,在获取的当前序列值是所述序列段的最大值的情况下,根据预设步长,确定所述序列段增加一个步长之后的新的序列段;将所述新的序列段的第一个值,作为更新后的所述序列名对应的当前序列值;
或者,在获取的当前序列值是所述序列段的最大值的情况下,从所述MySQL数据库中获取新的序列段,将所述新的序列段的第一个值,作为更新后的所述序列名对应的当前序列值;其中,所述新的序列段是所述MySQL数据库在所述序列段增加一个步长之后得到的。
4.根据权利要求3所述的数据处理方法,其中,
所述MySQL数据库存储序列配置表,所述序列配置表包括:序列名,序列最大值以及预设步长;
所述在获取的当前序列值是所述序列段的最大值的情况下,根据预设步长,确定所述序列段增加一个步长之后的新的序列段包括:
判断获取的当前序列值是否为序列最大值;
在获取的当前序列值不是序列最大值的情况下,根据所述序列名从所述序列配置表中读取对应的预设步长;
根据预设步长,确定所述序列段增加一个步长之后的新的序列段。
5.根据权利要求1所述的数据处理方法,还包括:
在MySQL数据库中存储序列配置表,所述序列配置表包括:序列名,序列最小值以及预设步长;
读取所述序列配置表;
根据所述序列最小值和所述预设步长,确定所述序列名对应的初始的序列段;
将所述初始的序列段与所述序列名对应存入所述内存中。
6.根据权利要求1所述的数据处理方法,还包括:
在MySQL数据库中存储序列配置表,所述序列配置表包括:序列名,序列段最小值,序列段最大值;
读取所述序列配置表;
根据所述序列段最小值和序列段最大值,确定所述序列名对应的序列段;
将所述序列段与所述序列名对应存入所述内存中。
7.根据权利要求1所述的数据处理方法,其中,
在所述内存中对所述序列段进行乐观锁控制,以使针对不同待插入数据获取的当前序列值不同。
8.一种数据处理装置,包括:
序列名获取模块,用于获取待插入数据对应的序列名;
序列值获取模块,用于根据所述序列名在内存中获取对应的序列段的当前序列值;其中,内存中存储不同序列名对应的序列段;
更新模块,用于更新所述内存中所述序列名对应的当前序列值;
插入模块,用于将获取的当前序列值与待插入数据插入MySQL数据库中对应的数据表中。
9.根据权利要求8所述的数据处理装置,其中,
所述序列值获取模块用于根据所述序列名在内存中查找对应的序列段;在所述序列段中读取当前序列值;其中,所述序列名是根据所述待插入数据对应的数据表确定的。
10.根据权利要求8所述的数据处理装置,其中,
所述更新模块用于在获取的当前序列值不是所述序列段的最大值的情况下,将获取的当前序列值加1,作为更新后的所述序列名对应的当前序列值;或者,在获取的当前序列值是所述序列段的最大值的情况下,根据预设步长,确定所述序列段增加一个步长之后的新的序列段;将所述新的序列段的第一个值,作为更新后的所述序列名对应的当前序列值;或者,在获取的当前序列值是所述序列段的最大值的情况下,从所述MySQL数据库中获取新的序列段,将所述新的序列段的第一个值,作为更新后的所述序列名对应的当前序列值;其中,所述新的序列段是所述MySQL数据库在所述序列段增加一个步长之后得到的。
11.根据权利要求10所述的数据处理装置,其中,
所述MySQL数据库存储序列配置表,所述序列配置表包括:序列名,序列最大值以及预设步长;
所述更新模块用于判断获取的当前序列值是否为序列最大值;在获取的当前序列值不是序列最大值的情况下,根据所述序列名从所述序列配置表中读取对应的预设步长;根据预设步长,确定所述序列段增加一个步长之后的新的序列段。
12.根据权利要求8所述的数据处理装置,还包括:
第一配置模块,用于在MySQL数据库中存储序列配置表,所述序列配置表包括:序列名,序列最小值以及预设步长;
第一存储模块,用于读取所述序列配置表;根据所述序列最小值和所述预设步长,确定所述序列名对应的初始的序列段;将所述初始的序列段与所述序列名对应存入所述内存中。
13.根据权利要求8所述的数据处理装置,还包括:
第二配置模块,用于在MySQL数据库中存储序列配置表,所述序列配置表包括:序列名,序列段最小值,序列段最大值;
第二存储模块,用于读取所述序列配置表;根据所述序列段最小值和序列段最大值,确定所述序列名对应的序列段;将所述序列段与所述序列名对应存入所述内存中。
14.根据权利要求8所述的数据处理装置,其中,
在所述内存中对所述序列段进行乐观锁控制,以使针对不同待插入数据获取的当前序列值不同。
15.一种数据处理装置,包括:
处理器;以及
耦接至所述处理器的存储器,用于存储指令,所述指令被所述处理器执行时,使所述处理器执行如权利要求1-7任一项所述的数据处理方法。
16.一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现权利要求1-7任一项所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911239374.8A CN112925787A (zh) | 2019-12-06 | 2019-12-06 | 数据处理方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911239374.8A CN112925787A (zh) | 2019-12-06 | 2019-12-06 | 数据处理方法、装置和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112925787A true CN112925787A (zh) | 2021-06-08 |
Family
ID=76162385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911239374.8A Withdrawn CN112925787A (zh) | 2019-12-06 | 2019-12-06 | 数据处理方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112925787A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080114816A1 (en) * | 2006-11-10 | 2008-05-15 | Sybase, Inc. | Replication system with methodology for replicating database sequences |
CN102999525A (zh) * | 2011-09-16 | 2013-03-27 | 深圳市金蝶中间件有限公司 | 数据表处理方法及系统 |
CN103020268A (zh) * | 2012-12-26 | 2013-04-03 | 大唐软件技术股份有限公司 | 关系型数据库序列号应用方法和系统 |
CN103164418A (zh) * | 2011-12-12 | 2013-06-19 | 阿里巴巴集团控股有限公司 | 一种序列号的处理方法及设备 |
CN104951519A (zh) * | 2015-06-04 | 2015-09-30 | 无锡天脉聚源传媒科技有限公司 | 一种生成序列号的方法及装置 |
CN105446976A (zh) * | 2014-06-25 | 2016-03-30 | 北大方正集团有限公司 | 业务表的处理方法及装置 |
CN108710687A (zh) * | 2018-05-21 | 2018-10-26 | 阿里巴巴集团控股有限公司 | 一种业务标识序列的获取方法和装置 |
CN110515956A (zh) * | 2019-09-02 | 2019-11-29 | 中国工商银行股份有限公司 | 序列号获取方法、装置、系统、电子设备及存储介质 |
-
2019
- 2019-12-06 CN CN201911239374.8A patent/CN112925787A/zh not_active Withdrawn
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080114816A1 (en) * | 2006-11-10 | 2008-05-15 | Sybase, Inc. | Replication system with methodology for replicating database sequences |
CN102999525A (zh) * | 2011-09-16 | 2013-03-27 | 深圳市金蝶中间件有限公司 | 数据表处理方法及系统 |
CN103164418A (zh) * | 2011-12-12 | 2013-06-19 | 阿里巴巴集团控股有限公司 | 一种序列号的处理方法及设备 |
CN103020268A (zh) * | 2012-12-26 | 2013-04-03 | 大唐软件技术股份有限公司 | 关系型数据库序列号应用方法和系统 |
CN105446976A (zh) * | 2014-06-25 | 2016-03-30 | 北大方正集团有限公司 | 业务表的处理方法及装置 |
CN104951519A (zh) * | 2015-06-04 | 2015-09-30 | 无锡天脉聚源传媒科技有限公司 | 一种生成序列号的方法及装置 |
CN108710687A (zh) * | 2018-05-21 | 2018-10-26 | 阿里巴巴集团控股有限公司 | 一种业务标识序列的获取方法和装置 |
CN110515956A (zh) * | 2019-09-02 | 2019-11-29 | 中国工商银行股份有限公司 | 序列号获取方法、装置、系统、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162296B (zh) | 应用程序编程接口文档的生成方法、装置及终端设备 | |
CN110908997B (zh) | 数据血缘构建方法、装置、服务器及可读存储介质 | |
US10324909B2 (en) | Omega names: name generation and derivation utilizing nested three or more attributes | |
EP3347814B1 (en) | Identifying software components in a software codebase | |
CN111562920A (zh) | 小程序代码相似度确定方法、装置、服务器及存储介质 | |
CN113420026A (zh) | 数据库表结构变更方法、装置、设备及存储介质 | |
CN111475511A (zh) | 基于树状结构的数据存储方法、访问方法、装置及设备 | |
CN115203435A (zh) | 基于知识图谱的实体关系生成方法及数据查询方法 | |
CN115858488A (zh) | 基于数据治理的平行迁移方法、装置及可读介质 | |
CN110020272B (zh) | 缓存方法、装置以及计算机存储介质 | |
CN111159142A (zh) | 一种数据处理方法及装置 | |
CN109144633A (zh) | 活动窗口的数据共享方法、装置、设备及存储介质 | |
CN105843809B (zh) | 数据处理方法和装置 | |
CN110555185A (zh) | 基于pc客户端的页面定制方法及系统 | |
CN114610340A (zh) | 项目部署方法、装置、设备及存储介质 | |
CN113918254A (zh) | 语言文本管理方法、装置、存储介质及电子设备 | |
CN113742332A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN112925787A (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN111488341A (zh) | 数据库索引的管理方法、装置及电子设备 | |
CN112988701A (zh) | 数据库管理方法、装置、系统和存储介质 | |
CN115408547A (zh) | 一种字典树构建方法、装置、设备及存储介质 | |
CN110990640B (zh) | 一种数据判定方法、装置、设备及计算机可读存储介质 | |
CN110222105B (zh) | 数据汇总处理方法及装置 | |
CN108920676B (zh) | 一种处理图数据的方法及系统 | |
CN113986545A (zh) | 用户与角色关联方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210608 |
|
WW01 | Invention patent application withdrawn after publication |