CN110941602B - 数据库的配置方法、装置、电子设备及存储介质 - Google Patents

数据库的配置方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110941602B
CN110941602B CN201911140830.3A CN201911140830A CN110941602B CN 110941602 B CN110941602 B CN 110941602B CN 201911140830 A CN201911140830 A CN 201911140830A CN 110941602 B CN110941602 B CN 110941602B
Authority
CN
China
Prior art keywords
day
data amount
data
database
daily
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.)
Active
Application number
CN201911140830.3A
Other languages
English (en)
Other versions
CN110941602A (zh
Inventor
刘永波
唐啸
张勇辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN201911140830.3A priority Critical patent/CN110941602B/zh
Publication of CN110941602A publication Critical patent/CN110941602A/zh
Application granted granted Critical
Publication of CN110941602B publication Critical patent/CN110941602B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

本发明公开了一种数据库的配置方法、装置、电子设备及存储介质,其中,该方法包括:获取数据库中第N天总数据量及第N‑1天总数据量,以确定第N天的数据量和日均增长数据量,其中,N为大于等于1的正整数;根据第N天的数据量和日均增长数据量确定第N+1天的数据量;根据第N+1天的数据量和预定规则确定所需的组、库和表的数量;根据确定的所需的组、库和表的数量进行分组分库分表操作来配置所述数据库,以存储第N+1天的数据量,其中,每个表包括预定数量的序列号。通过本发明,可以避免扩容数据库与表数后的大量数据迁移工作,同时可以降低并行查询数据的资源消耗。

Description

数据库的配置方法、装置、电子设备及存储介质
技术领域
本发明涉及数据处理领域,具体涉及一种数据库的配置方法、装置、电子设备及存储介质。
背景技术
随着银行代理收付款业务量迅猛增长,银行代收代付***数据量呈现较大幅度的增长。随着客户对代收代付业务***的处理时间要求越来越短,银行代收代付***由单体应用架构逐渐向分布式***方向发展,在分布式***的改造过程中面临着分库分表机制的实施。
目前IT行业已经具备了多种分库分表机制,如根据分区键的哈希值(hash)或者取模算法进行分库分表等,但这些方法都是固定配置数据库数与分表数,不具备灵活的特点。虽然在分布式***中分库分表机制使用比较成熟,但随着业务量的增长对数据库与表数的扩容后,增加了数据重新分布后的迁移工作,甚至给业务***的并行查询也带来了性能压力。
因而,银行代收代付***的分库分表机制,在实施过程中主要存在以下技术问题:(1)随着业务量的增长,通过分库分表实施后,在横向增加数据库以及表数时,数据的重新分布给项目实施带来了较大的迁移挑战,阻碍了业务的连续性;(2)在横向调整数据库以及表数时,通过人工判断与调整比较有滞后性,给***稳定运行带来了较大压力。
发明内容
有鉴于此,本发明提供一种数据库的配置方法、装置、电子设备及存储介质,以解决上述提及的至少一个问题。
根据本发明的第一方面,提供一种数据库的配置方法,所述方法包括:获取数据库中第N天总数据量及第N-1天总数据量,以确定第N天的数据量和日均增长数据量,其中,N为大于等于1的正整数;根据所述第N天的数据量和所述日均增长数据量确定第N+1天的数据量;根据所述第N+1天的数据量和预定规则确定所需的组、库和表的数量;根据确定的所述所需的组、库和表的数量进行分组分库分表操作来配置所述数据库,以存储所述第N+1天的数据量,其中,每个表包括预定数量的序列号。
根据本发明的第二方面,提供一种数据库的配置装置,所述装置包括:数据量确定单元,用于获取数据库中第N天总数据量及第N-1天总数据量,以确定第N天的数据量和日均增长数据量,其中,N为大于等于1的正整数;数据量预测单元,用于根据所述第N天的数据量和所述日均增长数据量确定第N+1天的数据量;库表预测单元,用于根据所述第N+1天的数据量和预定规则确定所需的组、库和表的数量;数据库配置单元,用于根据确定的所述所需的组、库和表的数量进行分组分库分表操作来配置所述数据库,以存储所述第N+1天的数据量,其中,每个表包括预定数量的序列号。
根据本发明的第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述数据库的配置方法的步骤。
根据本发明的第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述数据库的配置方法的步骤。
由上述技术方案可知,通过根据获取的数据库日总数据量确定的每天数据量以及日均增长数据量,来确定下一天的数据量,从而可以确定存储下一天数据量所需的组、库和表的数量,根据确定的所需的组、库和表的数量进行分组分库分表操作来配置数据库,以便存储下一天数据量,通过分析数据量的增长趋势来动态调整数据库配置,这种具备业务预判性的分库分表方式,相比于现有技术中的预先固定分配分库分表方式,可以避免扩容数据库与表数后的大量数据迁移工作,同时可以降低并行查询数据的资源消耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的数据库配置方法流程图;
图2是根据本发明实施例的分组信息、分库信息与分表信息的示意图;
图3是根据本发明实施例的数据库配置装置的结构框图;
图4是根据本发明实施例的日均增长数据量确定模块311的结构框图;
图5是根据本发明实施例的数据库配置装置的详细结构框图;
图6是根据本发明实施例的数据库配置装置的示例结构图;
图7是根据本发明实施例的电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有技术的分库分表机制是预先固定分配分库分表数量,当数据库与表数增加后,会给数据重新分布带来大量的数据迁移工作。目前,缺少根据业务量的增长趋势进行灵活对数据库与表进行扩容的技术方案,这给并行查询数据的应用场景带来了较大的性能消耗。
基于此,本发明实施例提供一种数据库配置方案,通过分析业务(或者称为作业)数据增长趋势来调整分库分表配置,根据业务数据量预判进行分库分表操作,能够避免扩容数据库与表数后的大量数据迁移工作,并且可以降低并行查询数据的资源消耗。以下结合附图来详细描述本发明实施例。
图1是根据本发明实施例的数据库的配置方法的流程图,如图1所示,该方法包括:
步骤101,获取数据库中第N天总数据量及第N-1天总数据量,以确定第N天的数据量和日均增长数据量,其中,N为大于等于1的正整数。
具体而言,第N天的数据量为第N天总数据量及第N-1天总数据量的差值。
日均增长数据量通过如下方式来确定:首先根据数据库中第N天总数据量及第N-1天总数据量来分别确定预定周期内(例如,3天)的每日数据量;之后根据每日数据量之间的绝对增长数据量来确定所述日均增长数据量。
例如,第N-1天的数据量为a,第N天的数据量为b,第N+1天的数据量为c,则这几天的日均增长数据量为[|a-b|+|c-b|]/2,其中,||表示绝对值。
步骤102,根据所述第N天的数据量和所述日均增长数据量确定第N+1天的数据量。
将第N天的数据量和日均增长数据量进行加操作得到的数值即为第N+1天的数据量。
步骤103,根据所述第N+1天的数据量和预定规则确定所需的组、库和表的数量。
步骤104,根据确定的所述所需的组、库和表的数量进行分组分库分表操作来配置所述数据库,以存储所述第N+1天的数据量,其中,每个表包括预定数量的序列号。
通过根据获取的数据库日总数据量确定的每天数据量以及日均增长数据量,来确定(或者称为预测)下一天的数据量,从而可以确定存储下一天数据量所需的组、库和表的数量,根据确定的所需的组、库和表的数量进行分组分库分表操作来配置数据库,以便存储下一天数据量,通过分析数据量的增长趋势来动态调整数据库配置,这种具备业务预判性的分库分表方式,相比于现有技术中的预先固定分配分库分表方式,可以避免扩容数据库与表数后的大量数据迁移工作,同时可以降低并行查询数据的资源消耗。
在本发明实施例中,数据库中数据量的增加对应于业务(或作业)数据的增加,每个作业数据可以存储在数据库对应的表中。在实际操作中,每个表可以存储与序列号相同预定数量的作业,每个作业数据包括作业标识(例如,作业流水号)和作业内容,作业标识与一个序列号相对应。
在实际操作中,上述序列号是指一笔代收代付作业的顺序号,序列号值通过递增方式产生,用于唯一对应一笔代收代付作业的流水号。
当将作业数据存储到对应序列号的位置时,可以建立并存储作业标识(例如,流水号)与相应序列号的对应关系,以便于后期根据作业标识从数据库表中查找到相应的作业数据,降低并行查询数据的资源消耗。
具体而言,作业流水号是业务***随机生成的,生成规则不统一且全局唯一。因此,通过建立作业流水号与序列号的映射关系,且通过分布式缓存技术进行缓存,可以方便后续地快速查询。当用户进行作业流水信息的查询时,需要根据作业流水号从分布式缓存中查询对应的序列号,然后在从序列号对应的库号与表号中查询作业流水信息返回给用户。
在本发明实施例中,作业流水信息存储在数据库中,因而可以通过数据库中数据量的增长趋势来获知作业数量的变化。这里,数据库中的数据量是指业务***实现分库分表的数据库表记录条数。例如,代收代付的代收业务流水表TB进行了分库分表操作,则流水表TB的数据量为分库分表后所有数据库所有TB表的记录条数总和。
具体地,可以按照日期进行分组,则前一天的数据量=组号为(前一天分组的组号)下的所有库号下的所有表名的记录条数总和。
例如,当天的组号为20190102,且组号20190101的库号分别为1、2、3、每个库中包括三个表,表名均为Tb001、Tb002和Tb003,则前一天(20190101)数据量=表名Tb001记录条数+表名Tb002记录条数+表名Tb003记录条数。
在具体实施过程中,当第N+1天为特殊日(例如,特定节假日)时,数据量会有明显的变化,此时,可以根据第N天的数据量、日均增长数据量和该特殊日的年均增长数据量来确定第N+1天的数据量。
上述特殊日的年均增长数据量可以通过如下方式来确定:首先根据数据库每天的总数据量确定每年特殊日的数据量;之后根据每年该特殊日的数据量确定特殊日的年均增长数据量。
也就是说,针对统计的每天数据量,通过线性回归分析出下一天的数据量为y=rx1(x1表示***运行的天数),计算出下一天的数据量为y。另外,根据每年的特殊日期增量趋势(例如,增量t=mx2,x2是***运行的年数),分析出特殊日的数据量应该为T=y+t。
例如,特殊日为每年的1月5日,则获取4年(也可以是3年、5年、6年等,本发明不限于此)中的该特殊日的数据量:
20150105的数据量n1=63;
20160105的数据量n2=68;
20170105的数据量n3=62;
20180105的数据量n4=69。
则特殊日的年均增长数据量t=[|n2-n1|+|n3-n2|+|n4-n3|]/3,其中,||表示绝对值。
并且,20190101数据量t1=95;
20190102数据量t2=100;
20190103数据量t3=90;
20190104数据量t4=97;
则,20190105的数据量=t4+[|t2-t1|+|t2-t3|+|t4-t3|]/3+[|n2-n1|+|n2-n3|+|n4-n3|]/3。
这里获取了20190105的4天前的数据量,在实际操作中,也可以获取5天、6天、7天等,可以依据实际情况来选定,本发明不限于此。
对于特殊日的数据量预测,通过综合考虑数据增长趋势与特殊日期的增长量,能够更加灵活地满足业务对市场的响应。
在实际操作中,分布式数据库可以包括组、库和表,配置数据库的信息包括:分组信息、分库信息与分表信息。
为了更好地理解本发明实施例,以下结合图2所示的分组信息、分库信息与分表信息来详细描述,如图2所示:
(1)分组信息包括:组号、组名、业务***编号、处理单元编号、起始序列号、截止序列号,表示业务***的业务(或称为作业)数据分组范围信息。
图2示出了2个组,对于组号为1的组,其分组信息具体包括:
组号:1;
组名:G01;
业务***编号:B001(代收代付业务);
处理单元编号:SPU01(一个分布式业务***,实际的***物理部署单元,即可处理业务的节点);
起始序列号:2019010100000000;
截止序列号:2019010199999999。
上述截止序列号只是示例性的,可以依据实际情况而定。
(2)分库信息包括:库号、库名、所属组号、散列值,分库信息表示业务(或作业)数据分组后按照散列值分布到对应的数据库中,这里的散列值可以是序列号取模运算的值。
继续参见图2,假设业务***编号为B001的分库个数为3个且每个库分表个数为3,以组号=1为例,其分库信息包括:
库号为1、2、3;
库名分别为Db01、Db02、Db03;
所属组号为1;
散列值为序列号取模的值:若业务流水号(102001e456bfs789)映射的序列号为201901010000007,则序列号取模运算的值为201901010000007%9=7,那么业务流水号(102001e456bfs789)的散列值为7。
(3)分表信息包括:表号、库号、起始序列号、截止序列号。分表信息表示分组业务数据按照分表数量分布到对应表号中,并且指定了某表号分布的序列号范围。
例如,以组名为G01为例,这个组的起始序列号为2019010100000000,截止序列号为2019010199999999;所属该组名的库号为1、2、3,每个库的表号为1、2、3,对于库名为Db01,其对应表名为Tb001、Tb002、Tb003。
在实际操作中,可以设置每个组中库的数量阈值,每个库中表的数量阈值,以及每个表的数据量阈值,当步骤102预测了第N+1天的数据量之后,可以根据预定规则(即,库、表、以及表内数据的阈值)来计算所需要增加的数据库,以及每个库中的表数量,之后建立分组分库分表信息,以便于存储第N+1天的数据。
例如,当每个库的表数阈值设置为3,单表数据量阈值设置为100万时,预测的第N+1天的数据量T=30000000,且当前数据库数量为3,那么需要增加的数据库数量为T/3000000-3=7。在实际操作中,当需要增加的数据库数量小于0时,则取值为0。
之后,根据上述信息,可以建立例如,如下的分组分库分表信息:
(1)分组信息为:
组号5;
组名G05;
业务***编号:B001(代收代付业务);
处理单元编号:SPU01(一个分布式业务***,实际的***物理部署单元,即可处理业务的节点);
开始序列号20190105000000000;
截止序列号20190105999999999。
(2)分库信息如下所示,依次为各库号、库名、所属组号、散列值:
Figure BDA0002280871800000081
(3)分表信息如下所示,依次为各表号、库号、起始序列号、截止序列号:
Figure BDA0002280871800000082
在建立上述的分组分库分表信息之后,就可以用来存储第N+1天的数据,当将作业数据存储到对应序列号的位置时,建立并存储作业标识(例如,流水号)与相应序列号的对应关系,以便于后期根据作业标识从数据库表中查找到相应的作业数据,如此能够避免扩容数据库与表数后的大量数据迁移工作,并且可以降低并行查询数据的资源消耗。
基于相似的发明构思,本发明实施例还提供一种数据库的配置装置,优选地,该装置用于实现上述方法实施例。图3是该装置的结构框图,如图3所示,该装置包括:数据量确定单元31、数据量预测单元32、库表预测单元33和数据库配置单元34,其中:
数据量确定单元31,用于获取数据库中第N天总数据量及第N-1天总数据量,以确定第N天的数据量和日均增长数据量,其中,N为大于等于1的正整数;
数据量预测单元32,用于根据所述第N天的数据量和所述日均增长数据量确定第N+1天的数据量;
库表预测单元33,用于根据所述第N+1天的数据量和预定规则确定所需的组、库和表的数量;
数据库配置单元34,用于根据确定的所述所需的组、库和表的数量进行分组分库分表操作来配置所述数据库,以存储所述第N+1天的数据量,其中,每个表包括预定数量的序列号。
每个表用于存储所述预定数量的作业,每个作业包括作业标识和作业内容,所述作业标识与一个序列号相对应。
通过数据量预测单元32根据数据量确定单元31获取的数据库日总数据量确定的每天数据量以及日均增长数据量,来确定(或者称为预测)下一天的数据量,从而库表预测单元33可以确定存储下一天数据量所需的组、库和表的数量,之后数据库配置单元34根据确定的所需的组、库和表的数量进行分组分库分表操作来配置数据库,以便存储下一天数据量,通过分析数据量的增长趋势来动态调整数据库配置,这种具备业务预判性的分库分表方式,相比于现有技术中的预先固定分配分库分表方式,可以避免扩容数据库与表数后的大量数据迁移工作,同时可以降低并行查询数据的资源消耗。
具体而言,上述数据量确定单元31包括日均增长数据量确定模块311,如图4所示,该日均增长数据量确定模块311包括:日数据量确定子模块3111和日均增长数据量确定子模块3112,其中:
日数据量确定子模块3111,用于根据所述数据库中第N天总数据量及第N-1天总数据量,确定预定周期内的每日数据量;
日均增长数据量确定子模块3112,用于根据每日数据量之间的绝对增长数据量来确定所述日均增长数据量。
在具体实施过程中,如图5所示,所述装置还可以包括:特殊日数据量确定单元35和特殊日年均增长数据量确定单元36,其中:
特殊日数据量确定单元35,用于当所述第N+1天为特殊日时,根据所述数据库每天的总数据量确定每年所述特殊日的数据量;
特殊日年均增长数据量确定单元36,用于根据每年所述特殊日的数据量确定该特殊日的年均增长数据量。
此时,上述数据量预测单元32具体用于:根据所述第N天的数据量、所述日均增长数据量和所述年均增长数据量确定第N+1天的数据量。
数据量预测单元32对于特殊日的数据量预测,通过综合考虑数据增长趋势与特殊日期的增长量,能够更加灵活地满足业务对市场的响应。
继续参见图5,上述装置还包括:对应关系建立单元37,用于建立并存储所述作业标识(例如,作业流水号)与相应序列号的对应关系。当用户进行作业流水信息的查询时,需要根据作业流水号从分布式缓存中查询对应的序列号,然后在从序列号对应的库号与表号中查询作业流水信息返回给用户,可以降低并行查询数据的资源消耗。
上述各单元、各模块、各子模块的具体执行过程,可以参见上述方法实施例中的描述,此处不再赘述。
在实际操作中,上述各单元、各模块、各子模块可以组合设置、也可以单一设置,本发明不限于此。
图6是根据本发明实施例的数据库配置装置的示例结构图,如图6所示,该装置包括:
数据预测中心61、分库分表配置中心62,其中,数据预测中心61用于根据数据库中的数据量预计未来将产生的数据量,从而预计所需要的数据库容量,分库分表配置中心62主要用于配置分组信息、分库信息与分表信息,基于数据预测中心61预计所需要的数据库容量来增加数据库和表,配置分组信息、分库信息与分表信息,以用于存储将产生的数据。
在存储数据之后,建立对应的作业标识(例如,作业流水号)与相应序列号的映射关系。
在代收代付分布式***中,由于作业流水号是业务***随机生成、生成规则不统一并且全局唯一。因此,通过建立作业流水号与序列号的映射关系并将该映射关系进行分布式缓存,当用户在实际业务场景下使用作业流水号进行查询业务时,可以快速从数据库表中查找到相应的作业数据,如此可以提高***查询效率,降低并行查询数据的资源消耗。
通过将作业数据按照一定的时间顺序与数据产生顺序进行分组,这样分组分库分表的分布式***在根据业务增长进行扩容时不需要进行数据重新分布,因而不存在数据迁移的问题,因此,通过本发明实施例可以支持无需数据迁移的动态分组分库分表分布式***。
当用户在业务***进行业务查询或维护操作时,根据业务***流水号映射的序列号在分库分表配置中心查找分组分库分表信息,业务***在开发时无需开发分库分表逻辑,只需要在分库分表配置中心查找即可,从而可以实现分库分表配置中心与业务***的解耦。
本发明实施例根据数据量增长趋势预测并动态调整分组分库分表配置,通过构建分库分表配置中心来支持分布式***,并且使用分布式缓存技术缓存无规则作业流水号与分组分库分表序列号的映射关系,从而可以支持无需数据迁移的动态分组分库分表分布式***。
图7是根据本发明实施例的电子设备的示意图。图7所示的电子设备为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器701和存储器702。处理器701和存储器702通过总线703连接。存储器702适于存储处理器701可执行的一条或多条指令或程序。该一条或多条指令或程序被处理器701执行以实现上述数据库的配置方法中的步骤。
上述处理器701可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器701通过执行存储器702所存储的命令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其他装置的控制。总线703将上述多个组件连接在一起,同时将上述组件连接到显示控制器704和显示装置以及输入/输出(I/O)装置705。输入/输出(I/O)装置705可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出(I/O)装置705通过输入/输出(I/O)控制器706与***相连。
其中,存储器702可以存储软件组件,例如操作***、通信模块、交互模块以及应用程序。以上所述的每个模块和应用程序都对应于完成一个或多个功能和在发明实施例中描述的方法的一组可执行程序指令。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现上述数据库的配置方法的步骤。
综上所述,本发明实施例提供了一种数据库的配置方案,通过分析业务数据增长趋势来动态调整分库分表配置,实现具有业务预判性的分库分表操作,通过分库分表配置中心灵活配置业务数据存储在规则明确的数据库与表号位置,可以避免扩容数据库与表数后的大量数据迁移工作,以及通过建立并缓存作业标识与相应序列号的对应关系,便于后期用户根据作业标识从数据库表中快速查找到相应的作业数据,从而可以降低并行查询数据的资源消耗。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种数据库的配置方法,其特征在于,所述方法包括:
获取数据库中第N天总数据量及第N-1天总数据量,以确定第N天的数据量和日均增长数据量,其中,N为大于等于1的正整数;
根据所述第N天的数据量和所述日均增长数据量确定第N+1天的数据量;
根据所述第N+1天的数据量和预定规则确定所需的组、库和表的数量;
根据确定的所述所需的组、库和表的数量进行分组分库分表操作来配置所述数据库,以存储所述第N+1天的数据量,其中,每个表包括预定数量的序列号;
当所述第N+1天为特殊日时,所述方法还包括:
根据所述数据库每天的总数据量确定每年所述特殊日的数据量;
根据每年所述特殊日的数据量确定该特殊日的年均增长数据量;
根据所述第N天的数据量和所述日均增长数据量确定第N+1天的数据量包括:
根据所述第N天的数据量、所述日均增长数据量和所述年均增长数据量确定第N+1天的数据量;
根据所述第N天的数据量、所述日均增长数据量和所述年均增长数据量确定第N+1天的数据量,包括:
将所述第N天的数据量、所述日均增长数据量和所述年均增长数据量之和确定为第N+1天的数据量。
2.根据权利要求1所述的数据库的配置方法,其特征在于,所述日均增长数据量通过如下方式来确定:
根据所述数据库中第N天总数据量及第N-1天总数据量,确定预定周期内的每日数据量;
根据每日数据量之间的绝对增长数据量来确定所述日均增长数据量。
3.根据权利要求1所述的数据库的配置方法,其特征在于,每个表存储所述预定数量的作业,每个作业包括作业标识和作业内容,所述作业标识与一个序列号相对应。
4.根据权利要求3所述的数据库的配置方法,其特征在于,所述方法还包括:
建立并存储所述作业标识与相应序列号的对应关系。
5.一种数据库的配置装置,其特征在于,所述装置包括:
数据量确定单元,用于获取数据库中第N天总数据量及第N-1天总数据量,以确定第N天的数据量和日均增长数据量,其中,N为大于等于1的正整数;
数据量预测单元,用于根据所述第N天的数据量和所述日均增长数据量确定第N+1天的数据量;
库表预测单元,用于根据所述第N+1天的数据量和预定规则确定所需的组、库和表的数量;
数据库配置单元,用于根据确定的所述所需的组、库和表的数量进行分组分库分表操作来配置所述数据库,以存储所述第N+1天的数据量,其中,每个表包括预定数量的序列号;
所述装置还包括:
特殊日数据量确定单元,用于当所述第N+1天为特殊日时,根据所述数据库每天的总数据量确定每年所述特殊日的数据量;
特殊日年均增长数据量确定单元,用于根据每年所述特殊日的数据量确定该特殊日的年均增长数据量;
所述数据量预测单元具体用于:
根据所述第N天的数据量、所述日均增长数据量和所述年均增长数据量确定第N+1天的数据量;
所述数据量预测单元还具体用于:
将所述第N天的数据量、所述日均增长数据量和所述年均增长数据量之和确定为第N+1天的数据量。
6.根据权利要求5所述的数据库的配置装置,其特征在于,所述数据量确定单元包括:日均增长数据量确定模块,
所述日均增长数据量确定模块包括:
日数据量确定子模块,用于根据所述数据库中第N天总数据量及第N-1天总数据量,确定预定周期内的每日数据量;
日均增长数据量确定子模块,用于根据每日数据量之间的绝对增长数据量来确定所述日均增长数据量。
7.根据权利要求5所述的数据库的配置装置,其特征在于,每个表存储所述预定数量的作业,每个作业包括作业标识和作业内容,所述作业标识与一个序列号相对应。
8.根据权利要求7所述的数据库的配置装置,其特征在于,所述装置还包括:
对应关系建立单元,用于建立并存储所述作业标识与相应序列号的对应关系。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4中任一项所述数据库的配置方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4中任一项所述数据库的配置方法的步骤。
CN201911140830.3A 2019-11-20 2019-11-20 数据库的配置方法、装置、电子设备及存储介质 Active CN110941602B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911140830.3A CN110941602B (zh) 2019-11-20 2019-11-20 数据库的配置方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911140830.3A CN110941602B (zh) 2019-11-20 2019-11-20 数据库的配置方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110941602A CN110941602A (zh) 2020-03-31
CN110941602B true CN110941602B (zh) 2023-05-12

Family

ID=69907146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911140830.3A Active CN110941602B (zh) 2019-11-20 2019-11-20 数据库的配置方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110941602B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111680313B (zh) * 2020-06-08 2022-06-28 南京领行科技股份有限公司 一种数据处理方法、装置、设备及存储介质
CN114253938A (zh) * 2020-09-22 2022-03-29 中兴通讯股份有限公司 数据管理方法、数据管理装置及存储介质
CN112965956A (zh) * 2021-03-18 2021-06-15 上海东普信息科技有限公司 数据库水平扩容方法、装置、设备和存储介质
CN113111070A (zh) * 2021-05-08 2021-07-13 福建天晴数码有限公司 一种基于分组进行数据分库分表的方法及其***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636450A (zh) * 2015-01-26 2015-05-20 上海新炬网络信息技术有限公司 一种数据库表空间监控方法
CN106547481A (zh) * 2016-09-29 2017-03-29 浙江宇视科技有限公司 一种数据预分配方法和设备
CN109213761A (zh) * 2018-08-06 2019-01-15 北京马上慧科技术有限公司 一种自由扩展免迁移的分库分表方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019087027A (ja) * 2017-11-07 2019-06-06 株式会社東芝 需要予測装置、需要予測方法および需要予測プログラム
CN110321334B (zh) * 2019-05-24 2024-03-19 平安银行股份有限公司 数据库自动分区扩容的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636450A (zh) * 2015-01-26 2015-05-20 上海新炬网络信息技术有限公司 一种数据库表空间监控方法
CN106547481A (zh) * 2016-09-29 2017-03-29 浙江宇视科技有限公司 一种数据预分配方法和设备
CN109213761A (zh) * 2018-08-06 2019-01-15 北京马上慧科技术有限公司 一种自由扩展免迁移的分库分表方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Forecasting with big data: A review;Hassani H, Silva E S.;Annals of Data Science;全文 *
容量评估管理方式探索――数据分析在信息技术运维领域的应用;万方达;;金融电子化(第11期);全文 *

Also Published As

Publication number Publication date
CN110941602A (zh) 2020-03-31

Similar Documents

Publication Publication Date Title
CN110941602B (zh) 数据库的配置方法、装置、电子设备及存储介质
CN109155763B (zh) 数据流上的数字信号处理
CN102831120B (zh) 一种数据处理方法及***
CN110399535B (zh) 一种数据查询方法、装置及设备
CN106407207B (zh) 一种实时新增数据更新方法和装置
CN107783985B (zh) 一种分布式数据库查询方法、装置及管理***
JP3510042B2 (ja) データベース管理方法及びシステム
CN105468720A (zh) 集成分布式数据处理***的方法、相应***及其数据处理方法
CN110245134B (zh) 一种应用于搜索服务的增量同步方法
CN112163048A (zh) 基于ClickHouse实现OLAP分析的方法、装置
WO2014067449A1 (en) System and method for flexible distributed massively parallel processing (mpp) database
Ho et al. Optimal algorithms for cross-rack communication optimization in mapreduce framework
CN105786918B (zh) 基于数据载入存储空间的数据查询方法和装置
CN106339475A (zh) 一种海量数据的分布式存储***
CN104111936A (zh) 数据查询方法和***
CN111722918A (zh) 业务标识码生成方法、装置、存储介质及电子设备
CN105183880A (zh) 一种哈希连接的方法及装置
CN111488323B (zh) 一种数据处理方法、装置及电子设备
CN115587118A (zh) 任务数据的维表关联处理方法及装置、电子设备
CN103092886A (zh) 一种数据查询操作的实现方法、装置及***
US11599540B2 (en) Query execution apparatus, method, and system for processing data, query containing a composite primitive
JP2009037369A (ja) データベースサーバへのリソース割当て方法
JP7440007B2 (ja) データベースをクエリするためのシステム、方法および装置
CN110837499B (zh) 数据访问处理方法、装置、电子设备和存储介质
CN107451142B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20221009

Address after: 12 / F, 15 / F, 99 Yincheng Road, Pudong New Area pilot Free Trade Zone, Shanghai, 200120

Applicant after: Jianxin Financial Science and Technology Co.,Ltd.

Address before: 25 Financial Street, Xicheng District, Beijing 100033

Applicant before: CHINA CONSTRUCTION BANK Corp.

Applicant before: Jianxin Financial Science and Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant