CN113535726A - 数据库扩容方法及装置 - Google Patents
数据库扩容方法及装置 Download PDFInfo
- Publication number
- CN113535726A CN113535726A CN202110803627.0A CN202110803627A CN113535726A CN 113535726 A CN113535726 A CN 113535726A CN 202110803627 A CN202110803627 A CN 202110803627A CN 113535726 A CN113535726 A CN 113535726A
- Authority
- CN
- China
- Prior art keywords
- data volume
- data
- database
- storage
- historical
- 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
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
-
- 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
-
- 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
- G06F16/285—Clustering or classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (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
本公开提供了一种数据库扩容方法,可以应用于金融领域及数据库技术领域。该数据库扩容方法包括:通过接口调用方式获取数据库的历史存储信息;根据历史存储信息,得到数据库在预设管理周期内的预估增长数据量;根据预估增长数据量,生成扩容脚本;利用扩容脚本对数据库进行扩容。本公开还提供了一种数据库扩容装置、设备、存储介质和程序产品。
Description
技术领域
本公开涉及金融领域以及数据库技术领域,更具体地涉及一种数据库扩容方法、装置、设备、介质和程序产品。
背景技术
Oracle数据空间管理是数据库维护的最基础、最重要工作之一。
发明人在实现本公开构思的过程中发现,相关技术中对数据库的维护方式以手工生成扩容脚本为主,主要存在问题如下:
扩容需求主要依赖监控报警和运维经验,主动性和规范性不足。
发明内容
鉴于上述问题,本公开提供了数据库扩容方法、装置、设备、介质和程序产品。
根据本公开的第一个方面,提供了一种数据库扩容方法,包括:
通过接口调用方式获取数据库的历史存储信息;
根据上述历史存储信息,得到上述数据库在预设管理周期内的预估增长数据量;
根据上述预估增长数据量,生成扩容脚本;
利用上述扩容脚本对上述数据库进行扩容。
根据本公开的实施例,上述历史存储信息包括第一类别存储空间的第一数据量以及第一历史数据量,其中,上述第一数据量包括上述第一类别存储空间处于第一待扩容时间点时的数据量,上述第一历史数据量包括上述第一类别存储空间处于与上述第一待扩容时间点具有第一时间跨度的第二时间点时的数据量,其中,上述第一时间跨度与上述预设管理周期相等;
上述根据上述历史存储信息,得到上述数据库在预设管理周期内的预估增长数据量包括:
获取上述第一类别存储空间的第一存储阈值;
根据上述第一存储阈值、上述第一数据量以及上述第一历史数据量,得到上述第一类别存储空间在预设管理周期内的预估增长数据量。
根据本公开的实施例,上述根据上述第一存储阈值、上述第一数据量以及上述第一历史数据量,得到上述第一类别存储空间在预设管理周期内的预估增长数据量包括:
根据上述第一数据量和上述第一历史数据量生成第一差值;
根据上述第一差值和上述第一存储阈值得到上述第一类别存储空间在预设管理周期内的预估增长数据量。
根据本公开的实施例,在上述得到上述第一类别存储空间在预设管理周期内的预估增长数据量后,上述方法还包括:
获取上述第一类别存储空间的第一额定容量;
根据上述第一额定容量和上述第一存储阈值生成最大安全存储量;
根据上述第一数据量和上述预估增长数据量生成预估数据总量;
在上述预估数据总量小于或等于上述最大安全存储量的情况下,根据上述预估增长数据量,生成扩容脚本。
根据本公开的实施例,上述历史存储信息包括第二类别存储空间的第一历史数据总量,其中,上述第一历史数据总量包括上述第二类别存储空间处于与上述预设管理周期具有第二时间跨度的历史管理周期内的数据总量;上述第二类别存储空间具有初始存储容量;
上述根据上述历史存储信息,得到上述数据库在预设管理周期内的预估增长数据量包括:
根据上述第一历史数据总量与上述初始存储容量生成第二差值;
将上述第二差值作为上述预估增长数据量。
根据本公开的实施例,上述历史存储信息包括第三类别存储空间的第二数据量和第二历史数据总量,其中,上述第二数据量包括上述第三类别存储空间处于第二待扩容时间点时的数据量,上述第二历史数据总量包括上述第三类别存储空间处于与上述第二待扩容时间点具有第三时间跨度的历史管理周期内的数据总量;
上述根据上述历史存储信息,得到上述数据库在预设管理周期内的预估增长数据量包括:
根据上述第二历史数据总量与上述第三时间跨度生成平均数据量;
根据上述平均数据量与上述第三类别存储空间的预设时间阈值,生成上述第三类别存储空间的标准数据容量;
根据上述标准数据容量与上述第三类别存储空间的第二额定数据容量,得到上述预估增长数据量。
根据本公开的实施例,上述根据上述预估增长数据量,生成扩容脚本包括:
根据上述预估增长数据量,获取N个数据文件,其中,上述N个数据文件的数据量之和大于或等于上述预估增长数据量,N为整数;
获取上述N个数据文件中每个数据文件的标识信息;
将上述标识信息作为脚本参数以生成上述扩容脚本。
本公开的第二方面提供了一种数据库扩容装置,包括:
获取模块,用于通过接口调用方式获取数据库的历史存储信息;
预估模块,用于根据上述历史存储信息,得到上述数据库在预设管理周期内的预估增长数据量;
生成模块,用于根据上述预估增长数据量,生成扩容脚本;以及
扩容模块,用于利用上述扩容脚本对上述数据库进行扩容。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得一个或多个处理器执行上述数据库扩容方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述数据库扩容方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据库扩容方法。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的数据库扩容方法、装置、设备、介质和程序产品的应用场景图的应用场景图;
图2示意性示出了根据本公开实施例的数据库扩容方法的流程图;
图3示意性示出了根据本公开实施例的根据历史存储信息,得到数据库在预设管理周期内的预估增长数据量的流程图;
图4示意性示出了根据本公开实施例的根据第一存储阈值、第一数据量以及第一历史数据量,得到第一类别存储空间在预设管理周期内的预估增长数据量的流程图;
图5示意性示出了根据本公开另一实施例的数据库扩容方法的流程图;
图6示意性示出了根据本公开另一实施例的根据历史存储信息,得到数据库在预设管理周期内的预估增长数据量的流程图;
图7示意性示出了根据本公开另一实施例的根据历史存储信息,得到数据库在预设管理周期内的预估增长数据量的流程图;
图8示意性示出了根据本公开实施例的根据预估增长数据量,生成扩容脚本的流程图;
图9示意性示出了根据本公开实施例的数据库扩容装置的结构框图;以及
图10示意性示出了根据本公开实施例的适于实现数据库扩容方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
在实现本公开构思的过程中,发明人发现,相关技术中,对数据库的运维通常以手工生成扩容脚本为主,主要存在以下问题:
1、扩容需求主要依赖监控报警和运维经验,主动性和规范性不足。
2、在需要对数据库进行扩容时,通常由人工将扩容任务分发给相应的运维人员,然后由相应的运维人员编写扩容脚本,这种扩容方式效率低,耗时长。
为解决相关技术中存在的问题,本公开提供了一种数据库扩容方法,可以应用于金融领域及数据库技术领域。该数据库扩容方法包括:通过接口调用方式获取数据库的历史存储信息;根据历史存储信息,得到数据库在预设管理周期内的预估增长数据量;根据预估增长数据量,生成扩容脚本;利用扩容脚本对数据库进行扩容。本公开还提供了一种数据库扩容装置、设备、存储介质和程序产品。
需要说明的是,本公开实施例确定的方法和装置可用于金融领域及数据库技术领域,也可用于除金融领域及数据库技术领域之外的任意领域,本公开实施例确定的方法和装置的应用领域不做限定。
图1示意性示出了根据本公开实施例的数据库扩容方法、装置、设备、介质和程序产品的应用场景图的应用场景图。
如图1所示,根据该实施例的应用场景100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的数据库扩容方法一般可以由服务器105执行。相应地,本公开实施例所提供的数据库扩容装置一般可以设置于服务器105中。本公开实施例所提供的数据库扩容方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的数据库扩容装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图8对公开实施例的数据库扩容方法进行详细描述。
图2示意性示出了根据本公开实施例的数据库扩容方法的流程图。
如图2所示,该实施例的数据库扩容方法包括操作S201~操作S204。
在操作S201,通过接口调用方式获取数据库的历史存储信息。
根据本公开的实施例,历史存储信息可以包括能够表征数据库在某一时期内的存储情况的存储信息。
根据本公开的实施例,历史存储信息可以包括多种类别存储空间的存储信息。
根据本公开的实施例,历史存储信息可以以数据库表的形式存储于该数据库的数据文件中,但不限于此,历史存储信息还可以以数据库表的形式存储在与该数据库不同的其他数据库的数据文件中。
根据本公开的实施例,历史存储信息可以均存储于某一数据库中,但不限于此,历史存储信息还可以存储于多个不同的数据库中。
在操作S202,根据历史存储信息,得到数据库在预设管理周期内的预估增长数据量。
根据本公开的实施例,通过解析以及分析历史存储信息,可以根据历史存储信息中包括的数据库某种或多种类别存储空间在某一时期内的存储情况,对该类别存储空间在预设管理周期内的预估增长数据量进行预估。
根据本公开的实施例,预设管理周期可以包括未来一个月、未来一个季度、未来一天等,本公开实施例不对预设管理周期做具体限定。
在操作S203,根据预估增长数据量,生成扩容脚本。
在操作S204,利用扩容脚本对数据库进行扩容。
根据本公开的实施例,在根据历史存储信息得到数据库在预设管理周期内的预估增长数据量后,可以根据预估增长数据量自动生成扩容脚本,在本公开的实施例中,扩容脚本可以包括一个或多个,该一个或多个扩容脚本的数据总量大于或等于预估增长数据量。
根据本公开的实施例,随着用户对应用程序的操作或者新用户的注册,数据库中的数据量将随之增大,然而,数据库能够存储的数据量是有限的,当数据库中存储的数据量大于预设阈值时,通常需要对数据库的可用空间进行扩容。
相关技术中,通常对数据库设置一个存储阈值,当数据库中存储的数据量大于该存储阈值时,数据库会进行报警,以提醒运维管理人员对数据库进行扩容。运维管理人员接收到数据库的报警信息后,可以根据先验经验制定扩容需求,然后将该扩容需求分发给相应的运维人员,运维人员根据接收到的扩容需求编写扩容脚本,并利用该脚本对数据库进行扩容。
然而,相关技术中的这种依赖报警信息才进行扩容,并且扩容依赖运维管理人员的数据库扩容方式时效性和准确性都较差。
在本公开的实施例中,通过对数据库的历史存储信息进行分析和处理,即可以获得该数据库在预设管理周期内的预估增长数据量,并可以自动根据预估增长数据量生成扩容脚本对数据库进行扩容。本公开实施例提供的数据库扩容方法解决了相关技术中存在的时效性和准确性都较差的技术问题,实现了准确、及时的为数据库进行扩容并且减少了数据库的报警次数的的技术效果,
根据本公开的实施例,历史存储信息包括第一类别存储空间的第一数据量以及第一历史数据量,其中,第一数据量包括第一类别存储空间处于第一待扩容时间点时的数据量,第一历史数据量包括第一类别存储空间处于与第一待扩容时间点具有第一时间跨度的第二时间点时的数据量,其中,第一时间跨度与预设管理周期相等。
根据本公开的实施例,第一类别存储空间例如可以包括普通表空间。
在本公开的实施例中,预设管理周期例如可以为30天,从而,第一时间跨度也可以为30天。
根据本公开的实施例,第一待扩容时间点例如可以为6月30日,从而,第一数据量例如可以包括数据库处于6月30日时的数据量,第一历史数据量例如可以包括数据库处于5月30日时的数据量。
图3示意性示出了根据本公开实施例的根据历史存储信息,得到数据库在预设管理周期内的预估增长数据量的流程图。
如图3所示,该实施例的根据历史存储信息,得到数据库在预设管理周期内的预估增长数据量包括操作S301~操作S302。
在操作S301,获取第一类别存储空间的第一存储阈值。
根据本公开的实施例,第一存储阈值例如可以包括第一类别存储空间的额定存储数据量的75%、80%或者90%等。
根据本公开的实施例,第一存储阈值例如可以为第一类别存储空间的报警阈值,即当第一类别存储空间中存储的数据量超过报警阈值后第一类别存储空间将进行报警,但不限于此,第一存储阈值还可以低于第一类别存储空间的报警阈值。
在操作S302,根据第一存储阈值、第一数据量以及第一历史数据量,得到第一类别存储空间在预设管理周期内的预估增长数据量。
图4示意性示出了根据本公开实施例的根据第一存储阈值、第一数据量以及第一历史数据量,得到第一类别存储空间在预设管理周期内的预估增长数据量的流程图。
如图4所示,该实施例的根据第一存储阈值、第一数据量以及第一历史数据量,得到第一类别存储空间在预设管理周期内的预估增长数据量包括操作S401~操作S402。
在操作S401,根据第一数据量和第一历史数据量生成第一差值。
在操作S402,根据第一差值和第一存储阈值得到第一类别存储空间在预设管理周期内的预估增长数据量。
根据本公开的实施例,上述操作S401~操作S402可以由以下公式(1)表示。
其中,Y1可以表示预估增长数据量,x1可以表示第一数据量,x2可以表示第一历史数据量,f1可以表示第一存储阈值。
根据本公开的实施例,通过根据第一数据量和第一历史数据量生成第一差值即可得到第一类别存储空间在第一时间跨度内的数据增量。
根据本公开的实施例,通过根据第一差值,即第一类别存储空间在第一时间跨度内的数据增量和第一存储阈值生成第一比值,可以为第一类别存储空间预留缓冲存储空间。
图5示意性示出了根据本公开另一实施例的数据库扩容方法的流程图。
如图5所示,该实施例的数据库扩容方法包括操作S501~操作S504。
在操作S501,获取第一类别存储空间的第一额定容量。
根据本公开的实施例,第一额定容量可以为第一类别存储空间的可扩容的最大容量。
在操作S502,根据第一额定容量和第一存储阈值生成最大安全存储量。
根据本公开的实施例,最大安全存储量可以为第一类别存储空间的的报警阈值,即第一类别存储空间中的数据量超过最大安全存储量后数据库会进行报警。
根据本公开的实施例,可以通过第一额定容量与第一存储阈值相乘得到最大安全存储量。
在操作S503,根据第一数据量和预估增长数据量生成预估数据总量。
根据本公开的实施例,预估数据总量可以由第一数据量和预估增长数据量相加得到。
根据本公开的实施例,预估数据总量可以为在根据预估增长数据量对第一类别存储空间进行扩容后第一类别存储空间中的预估数据总量。
在操作S504,在预估数据总量小于或等于最大安全存储量的情况下,根据预估增长数据量,生成扩容脚本。
根据本公开的实施例,预估数据总量小于或等于最大安全存储量即表明在根据预估增长数据量对第一类别存储空间进行扩容后,第一类别存储空间存储的数据总量没有超过报警阈值,数据库不会进行报警,从而可以减少数据库的报警次数。
根据本公开的实施例,在预估数据总量大于最大安全存储量的情况下,表明数据库的总容量不能满足扩容需求,从而可以自动生成存储缺口信息,并将存储缺口信息发送给数据库维护人员以便对数据库进行升级。
根据本公开的实施例,存储缺口信息可以包括第一类别存储空间的标识信息、第一类别存储空间的当前数据量、第一类别存储空间的额定容量与扩容需求容量的差值等。
根据本公开的实施例,历史存储信息包括第二类别存储空间的第一历史数据总量,其中,第一历史数据总量包括第二类别存储空间处于与预设管理周期具有第二时间跨度的历史管理周期内的数据总量;第二类别存储空间具有初始存储容量。
根据本公开的实施例,第二类别存储空间例如可以包括时序表空间。
根据本公开的实施例,时序表空间例如可以是按照预设时间间隔创建的表空间,例如,在每个月的月初创建的表空间,或者在每个季度的季度初创建的表空间。
根据本公开的实施例,第二时间跨度例如可以包括十二个月。
根据本公开的实施例,预设管理周期例如例如可以为2021年7月1日至7月30日,从而历史管理周期可以为2020年7月1日至7月30日。
图6示意性示出了根据本公开另一实施例的根据历史存储信息,得到数据库在预设管理周期内的预估增长数据量的流程图。
如图6所示,该实施例的根据历史存储信息,得到数据库在预设管理周期内的预估增长数据量包括操作S601~操作S602。
在操作S601,根据第一历史数据总量与初始存储容量生成第二差值。
在操作S602,将第二差值作为预估增长数据量。
根据本公开的实施例,在对第二类别存储空间进行需求分析时,往往会为第二类别存储空间分配一较小的初始存储容量,以满足第二类别存储空间的基础存储需求。
根据本公开的实施例,由于每年数据库的数据存储量具有一定的规律性,例如,一年中的某个月份中有购物节或传统节日等,那么通常该月份的数据量会有一定的增长,从而,可以根据前一年同月份的数据量对今年相应月份的数据增长量进行预估。
根据本公开的实施例,历史存储信息包括第三类别存储空间的第二数据量和第二历史数据总量,其中,第二数据量包括第三类别存储空间处于第二待扩容时间点时的数据量,第二历史数据总量包括第三类别存储空间处于与第二待扩容时间点具有第三时间跨度的历史管理周期内的数据总量。
根据本公开的实施例,第三类别存储空间例如可以包括日志表空间。
根据本公开的实施例,第三时间跨度例如可以为30天。
根据本公开的实施例,第二待扩容时间点例如可以为6月28日周一,从而,与第二待扩容时间点具有第三时间跨度的历史管理周期可以为5月28至6月28。
图7示意性示出了根据本公开另一实施例的根据历史存储信息,得到数据库在预设管理周期内的预估增长数据量的流程图。
如图7所示,该实施例的根据历史存储信息,得到数据库在预设管理周期内的预估增长数据量包括操作S701~操作S703。
在操作S701,根据第二历史数据总量与第三时间跨度生成平均数据量。
根据本公开的实施例,平均数据量可以通过第二历史数据总量除以第三时间跨度的方式得到。
在操作S702,根据平均数据量与第三类别存储空间的预设时间阈值,生成第三类别存储空间的标准数据容量。
根据本公开的实施例,第三类别存储空间一般仅可以存储预设天数的数据量,例如,可以仅存储近三天的数据量。
根据本公开的实施例,第三类别存储空间例如可以存储周一、周二和周三的数据量,可以在周三的零点删除周一的数据,开始接收周四的数据并进行存储,以保证第三类别存储空间中仅存储近三天的数据量。
根据本公开的实施例,预设时间阈值可以包括第三类别表空间可以存储数据的天数。
在操作S703,根据标准数据容量与第三类别存储空间的第二额定数据容量,得到预估增长数据量。
根据本公开的实施例,上述操作S701~操作S703可以由以下公式(2)表示。
其中,x2可以表示第二历史数据总量,d1可以表示第三时间跨度,d2可以表示预设时间阈值,Y2可以表示预估增长数据量。
图8示意性示出了根据本公开实施例的根据预估增长数据量,生成扩容脚本的流程图。
如图8所示,该实施例的根据预估增长数据量,生成扩容脚本包括操作S801~操作S803。
在操作S801,根据预估增长数据量,获取N个数据文件,其中,N个数据文件的数据量之和大于或等于预估增长数据量,N为整数。
在操作S802,获取N个数据文件中每个数据文件的标识信息。
在操作S803,将标识信息作为脚本参数以生成扩容脚本。
根据本公开的实施例,单个数据文件对数据库的扩增数据量一般有限,例如,一个数据文件可以扩增数据库30GB的数据量。
根据本公开的实施例,可以通过对预估增长数据量和单个数据文件对数据库的扩增数据量求比值的方式获取需要的数据文件的个数。
根据本公开的实施例,标识信息例如可以包括数据文件的存储路径、数据文件的文件名等信息。
基于上述数据库扩容方法,本公开还提供了一种数据库扩容装置。以下将结合图9对该装置进行详细描述。
图9示意性示出了根据本公开实施例的数据库扩容装置的结构框图。
如图9所示,该实施例的数据库扩容装置900包括获取模块901、预估模块902、生成模块903和扩容模块904。
获取模块901用于通过接口调用方式获取数据库的历史存储信息。在一实施例中,获取模块901可以用于执行前文描述的操作S201,在此不再赘述。
预估模块902用于根据历史存储信息,得到数据库在预设管理周期内的预估增长数据量。在一实施例中,预估模块902可以用于执行前文描述的操作S202,在此不再赘述。
生成模块903用于根据预估增长数据量,生成扩容脚本。在一实施例中,生成模块903可以用于执行前文描述的操作S203,在此不再赘述。
扩容模块904用于利用扩容脚本对数据库进行扩容。在一实施例中,扩容模块904可以用于执行前文描述的操作S204,在此不再赘述。
根据本公开的实施例,历史存储信息包括第一类别存储空间的第一数据量以及第一历史数据量,其中,第一数据量包括第一类别存储空间处于第一待扩容时间点时的数据量,第一历史数据量包括第一类别存储空间处于与第一待扩容时间点具有第一时间跨度的第二时间点时的数据量,其中,第一时间跨度与预设管理周期相等。
根据本公开的实施例,预估模块902包括第一获取单元和生成单元。
第一获取单元,用于获取第一类别存储空间的第一存储阈值。
生成单元,用于根据第一存储阈值、第一数据量以及第一历史数据量,得到第一类别存储空间在预设管理周期内的预估增长数据量。
根据本公开的实施例,生成单元包括第一生成子单元、第二生成子单元和第三生成子单元。
第一生成子单元,用于根据第一数据量和第一历史数据量生成第一差值。
第二生成子单元,用于根据第一差值和第一存储阈值生成第一比值。
第三生成子单元,用于根据第一比值和第一数据量得到第一类别存储空间在预设管理周期内的预估增长数据量。
根据本公开的实施例,数据库扩容装置900还包括第一获取模块、第一生成模块、第二生成模块、第三生成模块。
第一获取模块,用于获取第一类别存储空间的第一额定容量和第二存储阈值。
第一生成模块,用于根据第一额定容量和第二存储阈值生成第二比值。
第二生成模块,用于根据第一数据量和预估增长数据量生成预估数据总量。
第三生成模块,用于在预估数据总量小于或等于第二比值的情况下,根据预估增长数据量,生成扩容脚本。
根据本公开的实施例,历史存储信息包括第二类别存储空间的第一历史数据总量,其中,第一历史数据总量包括第二类别存储空间处于与预设管理周期具有第二时间跨度的历史管理周期内的数据总量;第二类别存储空间具有初始存储容量。
根据本公开的实施例,预估模块902包括第一生成单元和确定单元。
第一生成单元,用于根据第一历史数据总量与初始存储容量生成第二差值;
确定单元,用于将第二差值作为预估增长数据量。
根据本公开的实施例,历史存储信息包括第三类别存储空间的第二数据量和第二历史数据总量,其中,第二数据量包括第三类别存储空间处于第二待扩容时间点时的数据量,第二历史数据总量包括第三类别存储空间处于与第二待扩容时间点具有第三时间跨度的历史管理周期内的数据总量。
根据本公开的实施例,预估模块902还包括第二生成单元、第三生成单元、第二确定单元。
第二生成单元,用于根据第二历史数据总量与第三时间跨度生成平均数据量;
第三生成单元,用于根据平均数据量与第三类别存储空间的预设时间阈值,生成第三类别存储空间的标准数据容量;
第二确定单元,用于根据标准数据容量与第三类别存储空间的第二额定数据容量,得到预估增长数据量。
根据本公开的实施例,生成模块903包括第一获取单元、第二获取单元、第四生成单元。
第一获取单元,用于根据预估增长数据量,获取N个数据文件,其中,N个数据文件的数据量之和大于或等于预估增长数据量,N为整数;
第二获取单元,用于获取N个数据文件中每个数据文件的标识信息;
第四生成单元,用于将标识信息作为脚本参数以生成扩容脚本。
根据本公开的实施例,获取模块901、预估模块902、生成模块903和扩容模块904中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块901、预估模块902、生成模块903和扩容模块904中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块901、预估模块902、生成模块903和扩容模块904中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图10示意性示出了根据本公开实施例的适于实现数据库扩容方法的电子设备的方框图。
如图10所示,根据本公开实施例的电子设备1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1003中,存储有电子设备1000操作所需的各种程序和数据。处理器1001、ROM1002以及RAM1003通过总线1004彼此相连。处理器1001通过执行ROM1002和/或RAM1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1002和RAM 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1000还可以包括输入/输出(I/O)接口1005,输入/输出(I/O)接口1005也连接至总线1004。电子设备1000还可以包括连接至I/O接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1002和/或RAM 1003和/或ROM 1002和RAM1003以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机***中运行时,该程序代码用于使计算机***实现本公开实施例所提供的数据库扩容方法。
在该计算机程序被处理器1001执行时执行本公开实施例的***/装置中限定的上述功能。根据本公开的实施例,上文描述的***、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1009被下载和安装,和/或从可拆卸介质1011被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (11)
1.一种数据库扩容方法,包括:
通过接口调用方式获取数据库的历史存储信息;
根据所述历史存储信息,得到所述数据库在预设管理周期内的预估增长数据量;
根据所述预估增长数据量,生成扩容脚本;
利用所述扩容脚本对所述数据库进行扩容。
2.根据权利要求1所述的方法,其中,所述历史存储信息包括第一类别存储空间的第一数据量以及第一历史数据量,其中,所述第一数据量包括所述第一类别存储空间处于第一待扩容时间点时的数据量,所述第一历史数据量包括所述第一类别存储空间处于与所述第一待扩容时间点具有第一时间跨度的第二时间点时的数据量,其中,所述第一时间跨度与所述预设管理周期相等;
所述根据所述历史存储信息,得到所述数据库在预设管理周期内的预估增长数据量包括:
获取所述第一类别存储空间的第一存储阈值;
根据所述第一存储阈值、所述第一数据量以及所述第一历史数据量,得到所述第一类别存储空间在预设管理周期内的预估增长数据量。
3.根据权利要求2所述的方法,其中,所述根据所述第一存储阈值、所述第一数据量以及所述第一历史数据量,得到所述第一类别存储空间在预设管理周期内的预估增长数据量包括:
根据所述第一数据量和所述第一历史数据量生成第一差值;
根据所述第一差值和所述第一存储阈值得到所述第一类别存储空间在预设管理周期内的预估增长数据量。
4.根据权利要求2或3所述的方法,在所述得到所述第一类别存储空间在预设管理周期内的预估增长数据量后,所述方法还包括:
获取所述第一类别存储空间的第一额定容量;
根据所述第一额定容量和所述第一存储阈值生成最大安全存储量;
根据所述第一数据量和所述预估增长数据量生成预估数据总量;
在所述预估数据总量小于或等于所述最大安全存储量的情况下,根据所述预估增长数据量,生成扩容脚本。
5.根据权利要求1所述的方法,其中,所述历史存储信息包括第二类别存储空间的第一历史数据总量,其中,所述第一历史数据总量包括所述第二类别存储空间处于与所述预设管理周期具有第二时间跨度的历史管理周期内的数据总量;所述第二类别存储空间具有初始存储容量;
所述根据所述历史存储信息,得到所述数据库在预设管理周期内的预估增长数据量包括:
根据所述第一历史数据总量与所述初始存储容量生成第二差值;
将所述第二差值作为所述预估增长数据量。
6.根据权利要求1所述的方法,其中,所述历史存储信息包括第三类别存储空间的第二数据量和第二历史数据总量,其中,所述第二数据量包括所述第三类别存储空间处于第二待扩容时间点时的数据量,所述第二历史数据总量包括所述第三类别存储空间处于与所述第二待扩容时间点具有第三时间跨度的历史管理周期内的数据总量;
所述根据所述历史存储信息,得到所述数据库在预设管理周期内的预估增长数据量包括:
根据所述第二历史数据总量与所述第三时间跨度生成平均数据量;
根据所述平均数据量与所述第三类别存储空间的预设时间阈值,生成所述第三类别存储空间的标准数据容量;
根据所述标准数据容量与所述第三类别存储空间的第二额定数据容量,得到所述预估增长数据量。
7.根据权利要求1所述的方法,其中,所述根据所述预估增长数据量,生成扩容脚本包括:
根据所述预估增长数据量,获取N个数据文件,其中,所述N个数据文件的数据量之和大于或等于所述预估增长数据量,N为整数;
获取所述N个数据文件中每个数据文件的标识信息;
将所述标识信息作为脚本参数以生成所述扩容脚本。
8.一种数据库扩容装置,包括:
获取模块,用于通过接口调用方式获取数据库的历史存储信息;
预估模块,用于根据所述历史存储信息,得到所述数据库在预设管理周期内的预估增长数据量;
生成模块,用于根据所述预估增长数据量,生成扩容脚本;以及
扩容模块,用于利用所述扩容脚本对所述数据库进行扩容。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110803627.0A CN113535726A (zh) | 2021-07-15 | 2021-07-15 | 数据库扩容方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110803627.0A CN113535726A (zh) | 2021-07-15 | 2021-07-15 | 数据库扩容方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113535726A true CN113535726A (zh) | 2021-10-22 |
Family
ID=78128270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110803627.0A Pending CN113535726A (zh) | 2021-07-15 | 2021-07-15 | 数据库扩容方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535726A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115757363A (zh) * | 2023-01-06 | 2023-03-07 | 速度时空信息科技股份有限公司 | 一种三维地籍数据库的多层级管理方法及*** |
CN116483886A (zh) * | 2023-04-10 | 2023-07-25 | 上海沄熹科技有限公司 | 结合kv存储引擎和时序存储引擎查询olap的方法 |
-
2021
- 2021-07-15 CN CN202110803627.0A patent/CN113535726A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115757363A (zh) * | 2023-01-06 | 2023-03-07 | 速度时空信息科技股份有限公司 | 一种三维地籍数据库的多层级管理方法及*** |
CN115757363B (zh) * | 2023-01-06 | 2023-05-12 | 速度时空信息科技股份有限公司 | 一种三维地籍数据库的多层级管理方法及*** |
CN116483886A (zh) * | 2023-04-10 | 2023-07-25 | 上海沄熹科技有限公司 | 结合kv存储引擎和时序存储引擎查询olap的方法 |
CN116483886B (zh) * | 2023-04-10 | 2024-04-02 | 上海沄熹科技有限公司 | 结合kv存储引擎和时序存储引擎查询olap的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755452B2 (en) | Log data collection method based on log data generated by container in application container environment, log data collection device, storage medium, and log data collection system | |
CN113535726A (zh) | 数据库扩容方法及装置 | |
CN113505302A (zh) | 支持动态获取埋点数据的方法、装置、***及电子设备 | |
CN107426336B (zh) | 一种调整推送消息打开率的方法和装置 | |
CN113076224B (zh) | 数据备份方法、数据备份***、电子设备及可读存储介质 | |
CN114003659A (zh) | 数据同步方法、装置、电子设备、存储介质及程序产品 | |
US11108784B2 (en) | Permission aggregator | |
CN111258988A (zh) | 资产管理方法、装置、电子设备以及介质 | |
CN115408297A (zh) | 测试方法、装置、设备及介质 | |
CN114780361A (zh) | 日志生成方法、装置、计算机***及可读存储介质 | |
CN114443663A (zh) | 数据表处理方法、装置、设备及介质 | |
CN114201508A (zh) | 数据处理方法、数据处理装置、电子设备和存储介质 | |
CN113761415A (zh) | 一种页面展示方法和装置 | |
CN114268558B (zh) | 监控图的生成方法、装置、设备、介质 | |
CN115312208B (zh) | 接诊数据展示方法、装置、设备、介质 | |
CN114721882B (zh) | 数据备份方法、装置、电子设备及存储介质 | |
CN114844810B (zh) | 心跳数据处理方法、装置、设备及介质 | |
CN115987782B (zh) | 云主机名的生成方法、装置、设备、存储介质和程序产品 | |
CN113362097B (zh) | 一种用户确定方法和装置 | |
CN114201345A (zh) | 数据处理方法、装置、电子设备和介质 | |
CN117056340A (zh) | 对账数据处理方法、装置、设备及存储介质 | |
CN113419922A (zh) | 主机批量作业运行数据的处理方法及装置 | |
CN114218160A (zh) | 日志处理方法、装置、电子设备和介质 | |
CN114328096A (zh) | 指标监测方法、装置、设备、介质 | |
CN113535725A (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 |