CN107220349B - 数据库发布时间的预测方法和系统 - Google Patents
数据库发布时间的预测方法和系统 Download PDFInfo
- Publication number
- CN107220349B CN107220349B CN201710393147.5A CN201710393147A CN107220349B CN 107220349 B CN107220349 B CN 107220349B CN 201710393147 A CN201710393147 A CN 201710393147A CN 107220349 B CN107220349 B CN 107220349B
- Authority
- CN
- China
- Prior art keywords
- database
- weight value
- capacity
- mapping list
- operation type
- 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
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/23—Updating
-
- 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/21—Design, administration or maintenance of databases
Abstract
本发明公开了一种数据库发布时间的预测方法和系统,该方法包括:建立一映射列表,判断所述数据库接收的DDL操作类型;判断所述DDL操作类型是否会引起全表扫描,若是,计算所述数据库的表容量权重值与表热度权重值的总和,若否,计算所述数据库的表热度权重值;将其结果作为所述数据库的综合权重值;查找所述映射列表中与所述综合权重值对应的所述数据库的发布时间。本发明能够对数据库的发布时间做出合理的预测,降低了数据库发布对生成环境的影响,提高了发布成功率,避免了在不当时刻发布数据库导致的数据库长时间的阻塞或数据库产生的其它故障。
Description
技术领域
本发明涉及一种数据库发布时间的预测方法和系统。
背景技术
现有的数据库发布系统中没有相关数据库变更时间窗口预测的方法,使得各部门的开发无法精确的了解数据库相关的信息而判断合适的发布时间。因此在进行数据库变更时可能会引发生产环境数据库长时间的阻塞,影响线上业务的正常使用。
发明内容
本发明要解决的技术问题是为了克服现有技术中缺乏对数据库的发布时间进行预测,以避免数据库的变更可能引发的生产环境数据库长时间的阻塞,影响线上业务的正常使用的缺陷,提供一种数据库发布时间的预测方法和系统。
本发明是通过以下技术方案解决上述技术问题的:
一种数据库发布时间的预测方法,其特点在于,建立一映射列表,所述映射列表包括所述数据库的多个综合权重值,以及与每一综合权重值一一对应的所述数据库的多个发布时间,所述预测方法包括:
S1、判断所述数据库接收的DDL(Data Definition Language,数据定义语言)操作类型;
S2、判断所述DDL操作类型是否会引起全表扫描,若是,计算所述数据库的表容量权重值与表热度权重值的总和;若否,计算所述数据库的表热度权重值;
其中,所述表热度权重值为所述数据库在一时间段内被访问的频率所表征的权重值,所述表容量权重值为所述数据库接收所述DDL操作类型的操作后的容量所表征的权重值;
S3、将步骤S2的结果作为所述数据库的综合权重值;
S4、查找所述映射列表中与所述综合权重值对应的所述数据库的发布时间。
较佳地,步骤S2中判断所述DDL操作类型是否会引起全表扫描包括:
S21、在所述数据库中建立一数据表;
S22、向所述数据表中插入或修改一条数据记录,并开启IO(input/output输入输出)检测;
S23、判断所述插入或修改的操作是否产生逻辑读,若是,则所述DDL操作类型会引起全表扫描,若否,所述DDL操作类型不会引起全表扫描。
较佳地,所述频率的计算方法为:以一时间间隔计算user_scans,user_seeks,user_updates操作所述数据库的次数之和作为所述数据库被访问的频率。
其中,user_scans,user_seeks,user_updates均为数据库的操作语言,分别指在索引上的遍历操作,在索引上的查找操作,在索引上的更新操作。可以理解,本方案获取频率所执行的操作方式不限于上述三种,还可为其它的可以表征频率的操作。
较佳地,所述容量的计算方法为:根据接收所述DDL操作类型的操作后的所述数据库的行数和数据库文件的大小获得所述数据库的容量。
较佳地,所述映射列表还包括一热度权重映射列表和一容量权重映射列表,所述热度权重映射列表包括所述数据库被访问的若干频率和与每一频率一一对应的表热度权重值,所述容量权重映射列表包括所述数据库接收所述DDL操作类型的操作后的若干容量和与每一容量一一对应的表容量权重值。
本发明还提供一种数据库发布时间的预测系统,其特点在于,所述系统包括一映射列表,所述映射列表包括所述数据库的多个综合权重值,以及与每一综合权重值一一对应的所述数据库的多个发布时间,所述系统还包括:
一操作类型判断模块,用于判断所述数据库接收的DDL操作类型;
一全表扫描判断模块,用于判断所述DDL操作类型是否会引起全表扫描,若是,计算所述数据库的表容量权重值与表热度权重值的总和;若否,计算所述数据库的表热度权重值;
其中,所述表热度权重值为所述数据库在一时间段内被访问的频率所表征的权重值,所述表容量权重值为所述数据库接收所述DDL操作类型的操作后的容量所表征的权重值;
和一查找模块,用于将所述全表扫描判断模块的执行结果作为所述数据库的综合权重值,并在所述映射列表中查找与所述综合权重值对应的所述数据库的发布时间。
较佳地,所述全表扫描判断模块包括:
一数据表建立模块,用于在所述数据库中建立一数据表;
一数据记录更改模块,用于向所述数据表中插入或修改一条数据记录,并开启IO检测;
和一逻辑读判断模块,用于判断所述插入或修改的操作是否产生逻辑读,若是,则所述DDL操作类型会引起全表扫描,若否,所述DDL操作类型不会引起全表扫描。
较佳地,所述频率为:以一时间间隔计算user_scans,user_seeks,user_updates操作所述数据库的次数之和作为所述数据库被访问的频率。
较佳地,所述容量为:根据接收所述DDL操作类型的操作后的所述数据库的行数和数据库文件的大小获得所述数据库的容量。
较佳地,所述映射列表还包括一热度权重映射列表和一容量权重映射列表,所述热度权重映射列表包括所述数据库被访问的若干频率和与每一频率一一对应的表热度权重值,所述容量权重映射列表包括所述数据库接收所述DDL操作类型的操作后的若干容量和与每一容量一一对应的表容量权重值。
本发明的积极进步效果在于:本发明根据数据库接收到的操作类型,并对操作类型进行分析,计算数据库的权重,从而获得数据库的发布时间,能够对数据库的发布时间做出合理的预测,降低了数据库发布对生成环境的影响,提高了发布成功率,避免了在不当时刻发布数据库导致的数据库长时间的阻塞或数据库产生的其它故障。
附图说明
图1为本发明实施例1的数据库发布时间的预测方法的流程图。
图2为本发明实施例2的数据库发布时间的预测系统的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供一种数据库发布时间的预测方法,如图1所示。
建立一映射列表,所述映射列表包括一综合权重发布时间映射列表,所述综合权重发布时间映射列表包括所述数据库的多个综合权重值,以及与每一综合权重值一一对应的所述数据库的多个发布时间。所述映射列表还包括一热度权重映射列表和一容量权重映射列表,所述热度权重映射列表包括所述数据库被访问的若干频率和与每一频率一一对应的表热度权重值,所述容量权重映射列表包括所述数据库接收所述DDL操作类型的操作后的若干容量和与每一容量一一对应的表容量权重值。所述映射列表的形式可举例如表1所示:
表1映射列表
所述预测方法包括:
步骤101、判断所述数据库接收的DDL操作类型;
其中,数据库可为schema数据库。DDL操作类型不限于插入、创建、查询、删除等操作类型。
步骤102、判断所述DDL操作类型是否会引起全表扫描,若是,计算所述数据库的表容量权重值与表热度权重值的总和;若否,计算所述数据库的表热度权重值;
其中,所述表热度权重值为所述数据库在一时间段内被访问的频率所表征的权重值,所述表容量权重值为所述数据库接收所述DDL操作类型的操作后的容量所表征的权重值;
所述频率的计算方法为:以一时间间隔计算user_scans,user_seeks,user_updates操作所述数据库的次数之和作为所述数据库被访问的频率。
所述容量的计算方法为:根据接收所述DDL操作类型的操作后的所述数据库的行数和数据库文件的大小获得所述数据库的容量。
该时间间隔可为10秒,频率可以次/秒计算。容量可以M(兆)计算。
步骤102中判断所述DDL操作类型是否会引起全表扫描包括:
一、在所述数据库中建立一数据表;
该数据表可只有一个字段,该字段定义为int,not null,primary key型,即整型,非空,主键。
二、向所述数据表中插入或修改一条数据记录,并开启IO检测;
开启IO检测可通过语句set statistics io on实现。
三、判断所述插入或修改的操作是否产生逻辑读,若是,则所述DDL操作类型会引起全表扫描,若否,所述DDL操作类型不会引起全表扫描。
其中,逻辑读,也即logic reads。若逻辑读的结果大于0,则存在全表更新,也即会引起全表扫描。反之,则不存在全表更新,也即不会引起全表扫描。
步骤103、将步骤102的结果作为所述数据库的综合权重值;
步骤104、查找所述映射列表中与所述综合权重值对应的所述数据库的发布时间。
该发布时间可为具体的时刻,也可为一时间段。而针对不同的操作类型,还可对数据库的发布时间不做限制,或者采取人工发布的方式。
此外,还可将数据库发布的行为分类是否紧急,针对紧急的数据库发布,则直接按照发布时间发布,并报告数据库发布成功的消息;针对不紧急的数据库发布,则可在发布时间内在更加合理的时间段或时刻进行发布。
比如,本实施例在实施时得到逻辑读的结果为0,访问频率为100次/秒,表热度权重值为10。也即数据库的发布操作不会引起全表更新,综合权重值为10,发布时间为19:00。
可见,本实施例根据数据库接收到的操作类型,并对操作类型进行分析,计算数据库的权重,从而获得数据库的发布时间,能够对数据库的发布时间做出合理的预测,降低了数据库发布对生成环境的影响,提高了发布成功率,避免了在不当时刻发布数据库导致的数据库长时间的阻塞或数据库产生的其它故障。
实施例2
本实施例提供一种数据库发布时间的预测系统,如图2所示。所述系统包括一映射列表1,所述映射列表包括所述数据库的多个综合权重值,以及与每一综合权重值一一对应的所述数据库的多个发布时间,所述系统还包括:
一操作类型判断模块2,用于判断所述数据库接收的DDL操作类型;
一全表扫描判断模块3,用于判断所述DDL操作类型是否会引起全表扫描,若是,计算所述数据库的表容量权重值与表热度权重值的总和;若否,计算所述数据库的表热度权重值;
其中,所述表热度权重值为所述数据库在一时间段内被访问的频率所表征的权重值,所述表容量权重值为所述数据库接收所述DDL操作类型的操作后的容量所表征的权重值;
和一查找模块4,用于将所述全表扫描判断模块的执行结果作为所述数据库的综合权重值,并在所述映射列表中查找与所述综合权重值对应的所述数据库的发布时间。
其中,所述全表扫描判断模块3包括:
一数据表建立模块31,用于在所述数据库中建立一数据表;
一数据记录更改模块32,用于向所述数据表中插入或修改一条数据记录,并开启IO检测;
和一逻辑读判断模块33,用于判断所述插入或修改的操作是否产生逻辑读,若是,则所述DDL操作类型会引起全表扫描,若否,所述DDL操作类型不会引起全表扫描。
所述频率为:以一时间间隔计算user_scans,user_seeks,user_updates操作所述数据库的次数之和作为所述数据库被访问的频率。
所述容量为:根据接收所述DDL操作类型的操作后的所述数据库的行数和数据库文件的大小获得所述数据库的容量。
所述映射列表还包括一热度权重映射列表和一容量权重映射列表,所述热度权重映射列表包括所述数据库被访问的若干频率和与每一频率一一对应的表热度权重值,所述容量权重映射列表包括所述数据库接收所述DDL操作类型的操作后的若干容量和与每一容量一一对应的表容量权重值。
本实施例能够达到与实施例1相同的技术效果。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (10)
1.一种数据库发布时间的预测方法,其特征在于,建立一映射列表,所述映射列表包括所述数据库的多个综合权重值,以及与每一综合权重值一一对应的所述数据库的多个发布时间,所述预测方法包括:
S1、判断所述数据库接收的DDL操作类型;
S2、判断所述DDL操作类型是否会引起全表扫描,若是,计算所述数据库的表容量权重值与表热度权重值的总和;若否,计算所述数据库的表热度权重值;
其中,所述表热度权重值为所述数据库在一时间段内被访问的频率所表征的权重值,所述表容量权重值为所述数据库接收所述DDL操作类型的操作后的容量所表征的权重值;
S3、将步骤S2的结果作为所述数据库的综合权重值;
S4、查找所述映射列表中与所述综合权重值对应的所述数据库的发布时间。
2.如权利要求1所述的预测方法,其特征在于,步骤S2中判断所述DDL操作类型是否会引起全表扫描包括:
S21、在所述数据库中建立一数据表;
S22、向所述数据表中插入或修改一条数据记录,并开启IO检测;
S23、判断所述插入或修改的操作是否产生逻辑读,若是,则所述DDL操作类型会引起全表扫描,若否,所述DDL操作类型不会引起全表扫描。
3.如权利要求1所述的预测方法,其特征在于,所述频率的计算方法为:以一时间间隔计算在索引上的遍历操作user_scans、在索引上的查找操作user_seeks、在索引上的更新操作user_updates操作所述数据库的次数之和作为所述数据库被访问的频率。
4.如权利要求1所述的预测方法,其特征在于,所述容量的计算方法为:根据接收所述DDL操作类型的操作后的所述数据库的行数和数据库文件的大小获得所述数据库的容量。
5.如权利要求1-4中任意一项所述的预测方法,其特征在于,所述映射列表还包括一热度权重映射列表和一容量权重映射列表,所述热度权重映射列表包括所述数据库被访问的若干频率和与每一频率一一对应的表热度权重值,所述容量权重映射列表包括所述数据库接收所述DDL操作类型的操作后的若干容量和与每一容量一一对应的表容量权重值。
6.一种数据库发布时间的预测系统,其特征在于,所述系统包括一映射列表,所述映射列表包括所述数据库的多个综合权重值,以及与每一综合权重值一一对应的所述数据库的多个发布时间,所述系统还包括:
一操作类型判断模块,用于判断所述数据库接收的DDL操作类型;
一全表扫描判断模块,用于判断所述DDL操作类型是否会引起全表扫描,若是,计算所述数据库的表容量权重值与表热度权重值的总和;若否,计算所述数据库的表热度权重值;
其中,所述表热度权重值为所述数据库在一时间段内被访问的频率所表征的权重值,所述表容量权重值为所述数据库接收所述DDL操作类型的操作后的容量所表征的权重值;
和一查找模块,用于将所述全表扫描判断模块的执行结果作为所述数据库的综合权重值,并在所述映射列表中查找与所述综合权重值对应的所述数据库的发布时间。
7.如权利要求6所述的预测系统,其特征在于,所述全表扫描判断模块包括:
一数据表建立模块,用于在所述数据库中建立一数据表;
一数据记录更改模块,用于向所述数据表中插入或修改一条数据记录,并开启IO检测;
和一逻辑读判断模块,用于判断所述插入或修改的操作是否产生逻辑读,若是,则所述DDL操作类型会引起全表扫描,若否,所述DDL操作类型不会引起全表扫描。
8.如权利要求6所述的预测系统,其特征在于,所述频率为:以一时间间隔计算在索引上的遍历操作user_scans、在索引上的查找操作user_seeks、在索引上的更新操作user_updates操作所述数据库的次数之和作为所述数据库被访问的频率。
9.如权利要求6所述的预测系统,其特征在于,所述容量为:根据接收所述DDL操作类型的操作后的所述数据库的行数和数据库文件的大小获得所述数据库的容量。
10.如权利要求6-9中任意一项所述的预测系统,其特征在于,所述映射列表还包括一热度权重映射列表和一容量权重映射列表,所述热度权重映射列表包括所述数据库被访问的若干频率和与每一频率一一对应的表热度权重值,所述容量权重映射列表包括所述数据库接收所述DDL操作类型的操作后的若干容量和与每一容量一一对应的表容量权重值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710393147.5A CN107220349B (zh) | 2017-05-27 | 2017-05-27 | 数据库发布时间的预测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710393147.5A CN107220349B (zh) | 2017-05-27 | 2017-05-27 | 数据库发布时间的预测方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107220349A CN107220349A (zh) | 2017-09-29 |
CN107220349B true CN107220349B (zh) | 2020-08-14 |
Family
ID=59946868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710393147.5A Active CN107220349B (zh) | 2017-05-27 | 2017-05-27 | 数据库发布时间的预测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107220349B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929878A (zh) * | 2011-08-09 | 2013-02-13 | 阿里巴巴集团控股有限公司 | 一种数据库变更管理方法及装置 |
CN104866580A (zh) * | 2015-05-26 | 2015-08-26 | 梁猛 | 一种数据库变更对现有业务影响的快速侦测方法 |
CN105956141A (zh) * | 2016-05-12 | 2016-09-21 | 成都鼎智汇科技有限公司 | 基于物联网的药品数据存储方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8417737B2 (en) * | 2010-10-20 | 2013-04-09 | Microsoft Corporation | Online database availability during upgrade |
-
2017
- 2017-05-27 CN CN201710393147.5A patent/CN107220349B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929878A (zh) * | 2011-08-09 | 2013-02-13 | 阿里巴巴集团控股有限公司 | 一种数据库变更管理方法及装置 |
CN104866580A (zh) * | 2015-05-26 | 2015-08-26 | 梁猛 | 一种数据库变更对现有业务影响的快速侦测方法 |
CN105956141A (zh) * | 2016-05-12 | 2016-09-21 | 成都鼎智汇科技有限公司 | 基于物联网的药品数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107220349A (zh) | 2017-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783651B (zh) | 提取实体相关信息的方法、装置、电子设备和存储介质 | |
US11397722B2 (en) | Applications of automated discovery of template patterns based on received requests | |
CN106980637B (zh) | Sql审核方法和装置 | |
US8732163B2 (en) | Query optimization with memory I/O awareness | |
US20090063527A1 (en) | Processing of database statements with join predicates on range-partitioned tables | |
CN108549538A (zh) | 一种代码检测方法、装置、存储介质及测试终端 | |
CN107688488B (zh) | 一种基于元数据的任务调度的优化方法及装置 | |
CN104765731A (zh) | 数据库查询优化方法和设备 | |
CN110659282B (zh) | 数据路由的构建方法、装置、计算机设备和存储介质 | |
CN110019349A (zh) | 语句预警方法、装置、设备及计算机可读存储介质 | |
CN112968917B (zh) | 一种用于网络设备的渗透测试方法和系统 | |
CN106484699B (zh) | 数据库查询字段的生成方法及装置 | |
US20190005092A1 (en) | Query optimization using propagated data distinctness | |
LU503512B1 (en) | Operating method for construction of knowledge graph based on naming rule and caching mechanism | |
CN103324641B (zh) | 信息记录推荐方法和装置 | |
CN111382182A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109656950A (zh) | 递归查询方法、装置、服务器及存储介质 | |
CN107609151A (zh) | 基于Redis实现XBRL实例文档缓存的方法 | |
CN114661721A (zh) | 数据库表的处理方法和系统 | |
CN108197187B (zh) | 查询语句的优化方法、装置、存储介质和计算机设备 | |
CN111949315A (zh) | 用于区块链账本数据的管理装置和方法 | |
CN101930401B (zh) | 一种基于检测对象的软件漏洞模型检测方法 | |
KR20080111186A (ko) | 검색 결과 제공방법 및 시스템 | |
CN107220349B (zh) | 数据库发布时间的预测方法和系统 | |
JP5810792B2 (ja) | 情報処理装置及び情報処理プログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |