CN107220349A - 数据库发布时间的预测方法和系统 - Google Patents

数据库发布时间的预测方法和系统 Download PDF

Info

Publication number
CN107220349A
CN107220349A CN201710393147.5A CN201710393147A CN107220349A CN 107220349 A CN107220349 A CN 107220349A CN 201710393147 A CN201710393147 A CN 201710393147A CN 107220349 A CN107220349 A CN 107220349A
Authority
CN
China
Prior art keywords
database
capacity
weighted value
ddl
action types
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.)
Granted
Application number
CN201710393147.5A
Other languages
English (en)
Other versions
CN107220349B (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.)
Shanghai Ctrip Business Co Ltd
Original Assignee
Shanghai Ctrip Business 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 Shanghai Ctrip Business Co Ltd filed Critical Shanghai Ctrip Business Co Ltd
Priority to CN201710393147.5A priority Critical patent/CN107220349B/zh
Publication of CN107220349A publication Critical patent/CN107220349A/zh
Application granted granted Critical
Publication of CN107220349B publication Critical patent/CN107220349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/23Updating
    • 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

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操作类型的操作后的若干容量和与每一容量一一对应的表容量权重值。
CN201710393147.5A 2017-05-27 2017-05-27 数据库发布时间的预测方法和系统 Active CN107220349B (zh)

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 true CN107220349A (zh) 2017-09-29
CN107220349B 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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120101983A1 (en) * 2010-10-20 2012-04-26 Microsoft Corporation Online database availability during upgrade
CN102929878A (zh) * 2011-08-09 2013-02-13 阿里巴巴集团控股有限公司 一种数据库变更管理方法及装置
CN104866580A (zh) * 2015-05-26 2015-08-26 梁猛 一种数据库变更对现有业务影响的快速侦测方法
CN105956141A (zh) * 2016-05-12 2016-09-21 成都鼎智汇科技有限公司 基于物联网的药品数据存储方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120101983A1 (en) * 2010-10-20 2012-04-26 Microsoft Corporation Online database availability during upgrade
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
CN107220349B (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
CN108268581A (zh) 知识图谱的构建方法及装置
CN110442516B (zh) 信息处理方法、设备及计算机可读存储介质
CN105631003B (zh) 支持海量数据分组统计的智能索引构建、查询及维护方法
JP5092165B2 (ja) データ構築方法とシステム
CN102541937B (zh) 一种网页信息探测方法及系统
Lian et al. Probabilistic top-k dominating queries in uncertain databases
WO2016101628A1 (zh) 一种数据建模中的数据处理方法及装置
US20150356444A1 (en) Method and system of discovering and analyzing structures of user groups in microblog
CN106980624A (zh) 一种文本数据的处理方法和装置
CN110516047A (zh) 基于包装领域的知识图谱的检索方法及检索系统
CN106971205A (zh) 一种基于k近邻互信息估计的嵌入式动态特征选择方法
CN109582969A (zh) 实体匹配方法、装置及电子设备
CN105281925B (zh) 网络业务用户群组划分的方法和装置
CN103294815A (zh) 基于关键字分类并有多种呈现方式的搜索引擎装置与方法
CN109670306A (zh) 基于人工智能的电力恶意代码检测方法、服务器及系统
CN104346481A (zh) 一种基于动态同步模型的社区检测方法
CN104461887A (zh) 一种基于动态模型的嵌入式软件黑盒测试用例生成方法
CN107291840A (zh) 一种用户属性预测模型构建方法和装置
CN109492076A (zh) 一种基于网络的社区问答网站答案可信评估方法
CN109815042A (zh) 异常因素的定位方法、装置、服务器和存储介质
CN107085594A (zh) 大图数据库中基于集合相似度的子图匹配方法
CN102339256A (zh) 基于imf内外存置换策略的复杂事件检测方法
CN108038734A (zh) 基于点评数据的城市商业设施空间分布探测方法及系统
CN105930465A (zh) 一种数据挖掘处理方法
Ashraf et al. WeFreS: weighted frequent subgraph mining in a single large graph

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