CN111913937A - 数据库运维方法和装置 - Google Patents
数据库运维方法和装置 Download PDFInfo
- Publication number
- CN111913937A CN111913937A CN202010763082.0A CN202010763082A CN111913937A CN 111913937 A CN111913937 A CN 111913937A CN 202010763082 A CN202010763082 A CN 202010763082A CN 111913937 A CN111913937 A CN 111913937A
- Authority
- CN
- China
- Prior art keywords
- database query
- query statement
- database
- risk analysis
- preset
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012423 maintenance Methods 0.000 title claims abstract description 37
- 238000012502 risk assessment Methods 0.000 claims abstract description 46
- 238000005457 optimization Methods 0.000 claims description 37
- 238000004458 analytical method Methods 0.000 claims description 25
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation 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/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Operations Research (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
根据本发明的实施例提供一种基于大数据领域的数据库运维方法和装置,包括:获取多个数据库查询语句;对符合预设条件的每个所述数据库查询语句进行风险分析,所述预设条件包括以下至少之一:符合参数阀值;未在黑名单中查询到对应的所述数据库查询语句;以及未在历史信息库中查询到对应的所述数据库查询语句,其中所述参数阀值、所述黑名单和所述历史信息库是预先设定的根据本发明实施例的数据库运维方法和装置能够在不对日志进行解析的情况下直接获取数据库的运行信息并进行分析,并且有效滤除了不需要进行风险分析的数据库查询语句,从而提高了数据库运维的效率。
Description
技术领域
本发明涉及大数据技术领域,特别是涉及一种数据库运维方法和装置。
背景技术
数据库的运维的传统方法是针对数据库日志进行解析,但是对于一些对数据一致性、数据库性能要求较高的场景,尤其是在金融服务等涉及到多个异地数据库、高一致性要求以及频繁的架构迁移改造的数据库使用场景中,传统的日志解析效率较低,并且日志解析、上送和下传过程中占用了大量资源,并且带涉及到数据库迁移时,难以对迁移前后的数据库查询语句性能进行评估比较。
现有技术中也存在不通过日志解析而直接抓取数据库运行信息的运维方法,但是这些方法仍旧存在着占用资源多、效率低等问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据库运维方法和装置。
根据本发明实施例的一个方面,提供一种数据库运维方法,包括:获取多个数据库查询语句;对符合预设条件的每个所述数据库查询语句进行风险分析,所述预设条件包括以下至少之一:符合参数阀值;未在黑名单中查询到对应的所述数据库查询语句;以及未在历史信息库中查询到对应的所述数据库查询语句,其中所述参数阀值、所述黑名单和所述历史信息库是预先设定的。
可选地,所述参数阀值包括:所述数据库查询语句的执行时间长度;所述黑名单包括:预设的数据库查询语句;基于所述数据库查询语句对应的操作所判定的不需要进行所述风险分析的所述数据库查询语句。
可选地,所述方法还包括:每间隔预定时间,将所有已经完成所述风险分析的所述数据库查询语句加入所述历史信息库。
可选地,所述方法还包括:基于每个所述数据库查询语句对应的操作类型对所述数据库查询语句分类。
可选地,所述对符合预设条件的每个所述数据库查询语句进行风险分析包括:分析所述数据库查询语句的语法合理性并生成执行计划;对所述执行计划给出第一评分;给出所述数据库查询语句的优化建议。
可选地,所述执行计划包括:所述数据库查询语句运行时影响的范围;所述数据库查询语句需要引用的信息。
可选地,所述对符合预设条件的每个所述数据库查询语句进行风险分析还包括:基于所述语法合理性、所述第一评分和所述优化建议给出第二评分;对所述第二评分高于阈值的所述数据库查询语句进行优化和/或当所述第二评分高于阈值时,输出所述数据库查询语句的优化建议。
可选地,所述方法还包括:每间隔预定时间,展示所有已经完成所述风险分析的所述数据库查询语句的风险分析结果,所述风险分析结果包括:所述执行计划;所述第一评分;所述第二评分;以及,所述优化建议。
根据本发明实施例的另一方面,提供一种数据库运维装置,包括:获取模块:用于获取多个数据库查询语句;分析模块:用于对符合预设条件的每个所述数据库查询语句进行风险分析;判断模块,用于判断所述数据库查询语句是否符合预设条件,包括以下至少之一:第一判断单元,用于判断所述数据库查询语句是否符合参数阀值;第二判断单元,用于判断黑名单中是否存在对应的所述数据库查询语句;以及第三判断单元,用于判断历史信息库中是否存在对应的所述数据库查询语句,其中所述参数阀值、所述黑名单和所述历史信息库是预先设定的。
根据本发明实施例的再一方面,提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据如上任一所述的方法。
根据本发明实施例的再一方面,提供一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据如上任一所述的方法。
根据本发明实施例的数据库运维方法和装置能够在不对日志进行解析的情况下直接获取数据库的运行信息并进行分析,并且有效滤除了不需要进行风险分析的数据库查询语句,从而提高了数据库运维的效率。
附图说明
图1为根据本发明实施例的数据库运维方法示意图;
图2为根据本发明实施例的预设条件判断方法示意图;
图3为根据本发明实施例的风险分析示意图;
图4为根据本发明又一实施例的数据库运维方法示意图;
图5为根据本发明实施例的数据库运维装置示意图;
图6为根据本发明实施例的数据库运维装置应用场景示意图;
图7为根据本发明实施例的电子设备示意图;
图8为根据本发明实施例的计算机可读储存介质示意图。
具体实施方式
下面结合附图,对本发明的实施例进行详细地说明。另外,在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本披露实施例的全面理解。然而明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。
根据本发明的实施例首先提供一种数据库运维方法,参照图1,包括:
步骤S102:获取多个数据库查询语句(SQL);
步骤S104:判断所述数据库查询语句是否符合预设条件;以及
步骤S106:对符合预设条件的所述数据库查询语句进行风险分析。
在步骤S102中,数据库查询语句是以流式方式在数据库运行信息中抓取的,并被分配至各服务器进行处理,具体而言,在一些实施方式中,在客户端数据库服务器中使用MYSQL Server系统,该系统可以支持上千台数据库的同时任务分发,进一步的,采用Jenkins任务调度模块,用于根据MYSQL机器信息库所存储数据库IP地址台账调度来调起Ansible模块分发服务。Ansible模块可以在夜间自动部署捕获网络协议的agent,并将其部署在MYSQL Server。可以理解的,这里仅展示了一种较为具体的数据库查询语句捕获以及分配的方法,本领域技术人员可以采用任何合适的方法来进行替代。
进一步的,参照图2,预设条件包括以下至少之一:符合参数阀值;未在黑名单中查询到对应的所述数据库查询语句;未在历史信息库中查询到对应的所述数据库查询语句,其中所述参数阀值、所述黑名单和所述历史信息库是预先设定的。
具体而言,参数阀值是一些预设的参数值,用于与获取到的数据库查询语句进行比对,在一些实施方式中,参数阀值可以包括数据库查询语句执行时间的长度,例如,在MYSQL数据库中,执行时间长度的阀值通常设置为3秒。可以理解的,为了能够对数据库查询语句进行更进一步的筛选,本领域技术人员还可以将其他一个或多个合适的参数也设置成参数阀值,在此不做具体的限定。
黑名单通常是预先设置好的,其设置成包括一些无需进行风险分析的数据库查询语句,换言之,当在黑名单中查询到了对应的数据库查询语句,则意味着该语句不需要进一步的风险分析。在一些实施方式中,黑名单中包括:系统自带的数据库查询语句,以及根据该语句对应的操作来判定的不需要进行风险分析的语句,例如,与该数据库使用场景完全无关的数据库查询语句等等,根据实际需求,本领域技术人员可以在黑名单中增加更多类别的数据库查询语句,以进一步提高运维效率。进一步的,尽管黑名单是预先配置的,但是根据实际使用情况本领域技术人员可以选择对黑名单进行动态的维护更新,以进一步的提高数据库运维的效率。
历史信息库也是预先设置好的,可以用于储存数据库查询语句的历史信息,这里的历史信息可以是某一个时间段内全部的数据库查询语句的信息,可以设置一定的准入规则,来适当的增加在历史信息库中查询到对应的数据库查询语句的门槛,避免过多的数据库查询语句被过滤。
在一些实施方式中,历史信息库也可以设置成实时更新,具体而言,在上述S106步骤完成了对数据库查询语句的风险分析后,将该数据库查询语句的信息储存到历史信息库,从而进一步的提高效率。可以理解的,本领域技术人员也可以使用其他的方法来对历史信息库进行更新,例如从其他数据库中调取相关信息等,在此不再赘述。
可以理解的,本领域技术人员可以根据实际情况来选择上述一种或几种,来作为判断预设条件时的判断内容,本领域技术人员还可以根据一些具体的应用场景来增加其他适当的预设条件,只要其能够在保证在维持运维稳定性的同时尽可能的滤除一些不需要进行风险分析的数据库查询语句即可。
进一步的,在执行上述的运维方法时,可以在获取到数据库查询语句后,根据其对应的操作类型对其进行分类,例如,可以选择本领域常用的DDL、DML分类手段,其中DDL可以包括对数据表的创建、删除、删节等操作,DML可以包括对数据表中的记录的插入、删除、修改等操作,在此不再赘述。对于数据库查询语句进行分类可以更好地进行任务的分配从而提高效率,可以理解的本领域技术人员也可以采用其他合适的分类方法来对数据库查询语句进行分类,例如针对DDL、DML中的具体操作进行进一步的分类等等。
在一些实施方式中,在对数据库查询语句进行风险分析前,可以先对数据库查询语句进行预处理,例如对数据库查询语句进行统一的转码等,该预处理可以在获取到数据库查询语句后直到进行风险分析前的任一时间执行,例如可以在进行分类前、分类时或者分类后执行,具体的预处理方法可以参照本领域技术人员常用的对数据库查询语句进行预处理的方法,在此不做具体的限定。
在一些实施方式中,参照图3,针对符合预设条件的数据库查询语句的风险分析可以包括:
步骤S1061:分析数据库查询语句的语法合理性;
步骤S1062:生成执行计划;
步骤S1063:基于执行计划给出第一评分;以及
步骤S1064:给出对数据库查询语句进行优化的建议。
具体而言,在一些实施方式中,所生成的执行计划包括该语句运行时影响的范围和调用的资源,例如影响的具体行数、是否使用了索引信息等等。
进一步的,基于执行计划来对该数据库查询语句给出第一评分并给出相应的优化建议。这里进行的评分和优化建议可以参照本领域中常用的数据库查询语句分析方法,用数据库管理员预先设定评分规则和相应的优化规则,
在一些实施方式中,实际上并不需要对上述风险分析中给出的所有优化建议都予以执行,可以综合上述执行计划、第一评分和优化建议的内容后,给出第二评分,用于综合评价是否最终需要对该数据库查询语句进行优化。本领域技术人员可以根据实际需求来设置合适的算法计算第二评分,在此不做具体的限定。
进一步,在一些实施方式中,对于确实需要进行优化处理的数据库查询语句,在分配至相应的服务器或处理器进行处理的同时,还可以设置成同时输出该优化建议,或者可以仅输出优化建议,由用户确认后再进行优化。
具体而言,该输出方式可以是邮件提醒、提示音提醒、弹窗提醒等任何能够较为醒目的进行提示或者较为明确的记录该优化建议的输出方式,具体的优化建议内容可以包括:该数据库查询语句的具体文本、执行信息、第一评分、第二评分以及优化建议,也就是说,在输出优化建议的同时将相关信息一并输出,便于查看。在一些实施方式中,还可以设置成,当相关的优化完成后,更新上述内容并再次更新,从而能够获得更加及时和准确的优化信息,也可以使得能够根据优化结果进行进一步的调整,例如调整阀值参数等等。本领域技术人员也可以使用任何合适的输出方式来对优化建议进行输出,并在输出优化建议时一并输出任何信息,在此不再赘述。
在一些实施方式中,不管是否进行了优化,每间隔预定的时间就将全部已经完成风险分析的数据库查询语句的风险分析结果进行展示。可以理解的,上述展示的风险分析结果可以以类似日志的形式进行输出,也可以参考上述优化建议,以其他任何合适的输出方式来进行分析结果的展示,该预定的时间可以是数分钟、数小时甚至是数天,本领域技术人员可以根据实际需要进行灵活地调整。
进一步的,风险分析结果包括执行计划、第一评分、第二评分和优化建议,也就是说可以包括该风险分析中涉及到的所有参数,可以理解的,本领域技术人员也可以参照上述优化建议所输出的内容来对风险分析结果所包括的内容进行调整,在此不再赘述。
下面结合根据本发明的一个具体的实施例来对上述实施例中涉及到的实施方式进行进一步的说明。
参照图4,在具体的实施例中,首先获取到数据库查询语句并进行分类,例如,当应用在金融交易场景中时,该数据库查询语句可以是用户在例如智能终端、网页客户端等发出的交易请求(例如登录、查询账户、转账)等,该请求对应的一条或多条数据库查询语句通过协议被获取。
进一步的,对获取到的数据库查询语句进行分类,这里使用常用的DDL和DML的分类方法,针对DDL和DML,可以设置不同通道来进行下一步的操作。
进一步的,判定每个数据库查询语句是否符合预设条件,预设条件所考察的内容包括:参数阀值,黑名单和历史信息库,具体内容参照上述方法,在此不再赘述。
进一步的,对符合预设条件的数据库查询语句进行风险分析,其中包括:分析所述数据库查询语句的语法合理性并生成执行计划;基于所述执行计划给出第一评分;给出所述数据库查询语句的优化建议。在完成了上述分析后,根据上述内容进行综合评价并给出第二评分,在第二评分超过阈值的情况下对该数据库查询语句进行优化并使用邮件提醒的方式输出优化建议。
进一步的,每间隔预定的时间,例如一天,输出所有完成了风险分析的数据库查询语句的分析结果,并将这些数据库查询语句添加到历史记录库中,可以理解的,将这些语句添加到历史记录库中可以设置成实时添加,也可以设置呈与上述相同的间隔时间进行发送,还可以设置成与上述不同的间隔时间,例如一小时、半小时等等,本领域技术人员可以根据实际情况自行选择。
需要注意的是,在保证能够实现上述运维方法的前提下,本领域技术人员可以将图4中的一些步骤进行适当的调整,或者结合现有技术和本领域常用技术手段来增加一些处理,来让根据本发明实施例的运维方法的效率进一步提高,例如增加数据的预处理、进一步完善预设条件和风险分析内容等等,在此不再赘述。
根据本发明的实施例还提供一种数据库运维装置,参照图5,包括:
获取模块10,用于获取多个数据库查询语句;
分析模块20,用于对符合预设条件的每个所述数据库查询语句进行风险分析;
判断模块30,用于判断所述数据库查询语句是否符合预设条件,包括以下至少之一:
第一判断单元31,用于判断所述数据库查询语句是否符合参数阀值;
第二判断单元32,用于判断黑名单中是否存在对应的所述数据库查询语句;以及
第三判断单元33,用于判断历史信息库中是否存在对应的所述数据库查询语句,其中
所述参数阀值、所述黑名单和所述历史信息库是预先设定的。
在一些实施方式中,数据库运维装置还包括优化模块40,用于对所述数据库查询语句进行优化。
各模块实现相应功能的具体方法参见上述内容,不再赘述。
进一步的,在一些实施方式中,数据库运维装置还包括缓存模块50,用于每间隔预定时间,将所有已经完成所述风险分析的所述数据库查询语句加入所述历史信息库。
在一些实施方式中,数据库运维装置还包括分配模块60,用于根据每个所述数据库查询语句对应的操作类型对所述数据库查询语句分类并分配到所述分析模块20进行相应的分析。
在一些实施方式中,分析模块20可以包括第一分析模块21,其中第一分析模块21可以包括:
第一分析单元211,用于分析所述数据库查询语句的语法合理性并生成执行计划;
第二分析单元212,用于对所述执行计划给出第一评分;
第三分析单元213,用于给出所述数据库查询语句的优化建议。
可以理解的,根据实际需求,第一分析模块21可以包括上述一个或多个分析单元,具体参见上述方法中的内容,不再赘述。
在一些实施方式中,分析模块还可以包括第二分析模块22,用于用于根据所述语法合理性、所述第一评分和所述优化建议给出第二评分,当所述第二评分高于阈值时,调用所述优化模块40对所述数据库查询语句进行优化。
在一些实施方式中,数据库运维装置还包括第一输出模块70,用于当所述第二评分高于阈值时,输出所述数据库查询语句的优化建议。
在一些实施方式中,数据库运维装置还包括:第二输出模块80:每间隔预定时间,展示所有已经完成所述风险分析的所述数据库查询语句的风险分析结果,所述风险分析结果包括:所述执行计划;所述第一评分;所述第二评分;以及,所述优化建议。
上述第一输出模块70和第二输出模块80的具体输出方式和输出内容参见上述,不再赘述。
在一些实施方式中,数据库运维装置还包括检索模块90,用于接收数据库查询语句检索请求,并且输出所述查询请求对应的所述数据库查询语句的风险分析结果。可以理解的,检索模块90实际上可以允许用户、管理员等输入一条具体的数据库查询语句来对该语句的分析结果进行实时的查询,还可以允许输入一些模糊条件来进行范围查询,例如某一类数据库查询语句的分析情况、目前正在进行分析的数据库查询语句的信息等等,本领域技术人员可以将检索请求设置成实际使用中任何可能出现的请求,在此不做具体的限定。
图6示出了根据本发明实施例的数据库运维装置的一些使用场景示意图,在一些实施方式中,可以设置一个或多个终端为主管理终端,用于执行数据库运维装置的的运行参数改变、启动与暂停、分析结果输出等等管理操作。
进一步的,除了主管理终端外,数据库运维装置还安装在一个或多个云端的服务器中,这些云端服务器可以从其他的云端服务器获取到数据库查询语句并完成如上所述的任一操作,其中上述分析结果和优化可以是全部在云端的服务器中完成的,也可以将部分或全部的计算放在本地服务器来完成,对此不做具体的限定。
根据本发明的实施例还提供一种电子设备,参照图7包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据如上任一所述的方法。
根据本发明的实施例还提供一种计算机可读存储介质,参照图8,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据如上任一所述的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”、“第三”等仅用于描述目的,用于区别不同的特征,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或者更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (11)
1.一种数据库运维方法,包括:
获取多个数据库查询语句;
对符合预设条件的每个所述数据库查询语句进行风险分析,所述预设条件包括以下至少之一:
符合参数阀值;
未在黑名单中查询到对应的所述数据库查询语句;以及
未在历史信息库中查询到对应的所述数据库查询语句,其中
所述参数阀值、所述黑名单和所述历史信息库是预先设定的。
2.根据权利要求1所述的方法,其中,
所述参数阀值包括:所述数据库查询语句的执行时间长度;
所述黑名单包括:
预设的数据库查询语句;
基于所述数据库查询语句对应的操作所判定的不需要进行所述风险分析的所述数据库查询语句。
3.根据权利要求1所述的方法,还包括:
每间隔预定时间,将所有已经完成所述风险分析的所述数据库查询语句加入所述历史信息库。
4.根据权利要求1-3中任意一项所述的方法,还包括:
基于每个所述数据库查询语句对应的操作类型对所述数据库查询语句分类。
5.根据权利要求1-3中任意一项所述的方法,其中,所述对符合预设条件的每个所述数据库查询语句进行风险分析包括:
分析所述数据库查询语句的语法合理性并生成执行计划;
基于所述执行计划给出第一评分;
给出所述数据库查询语句的优化建议。
6.根据权利要求5所述的方法,其中,所述执行计划包括:
所述数据库查询语句运行时影响的范围;
所述数据库查询语句需要引用的信息。
7.根据权利要求5所述的方法,其中,所述对符合预设条件的每个所述数据库查询语句进行风险分析还包括:
基于所述语法合理性、所述第一评分和所述优化建议给出第二评分;
对所述第二评分高于阈值的所述数据库查询语句进行优化和\或
当所述第二评分高于阈值时,输出所述数据库查询语句的优化建议。
8.根据权利要求7所述的方法,还包括:
每间隔预定时间,展示所有已经完成所述风险分析的所述数据库查询语句的风险分析结果,所述风险分析结果包括:
所述执行计划;
所述第一评分;
所述第二评分;以及,
所述优化建议。
9.一种数据库运维装置,包括:
获取模块,用于获取多个数据库查询语句;
分析模块,用于对符合预设条件的每个所述数据库查询语句进行风险分析;
判断模块,用于判断所述数据库查询语句是否符合预设条件,包括以下至少之一:
第一判断单元,用于判断所述数据库查询语句是否符合参数阀值;
第二判断单元,用于判断黑名单中是否存在对应的所述数据库查询语句;以及
第三判断单元,用于判断历史信息库中是否存在对应的所述数据库查询语句,其中
所述参数阀值、所述黑名单和所述历史信息库是预先设定的。
10.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010763082.0A CN111913937B (zh) | 2020-07-31 | 2020-07-31 | 数据库运维方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010763082.0A CN111913937B (zh) | 2020-07-31 | 2020-07-31 | 数据库运维方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111913937A true CN111913937A (zh) | 2020-11-10 |
CN111913937B CN111913937B (zh) | 2024-03-08 |
Family
ID=73287581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010763082.0A Active CN111913937B (zh) | 2020-07-31 | 2020-07-31 | 数据库运维方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111913937B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190422A (zh) * | 2021-03-22 | 2021-07-30 | 云和恩墨(北京)信息技术有限公司 | Sql语句的质量分析方法、装置、终端及介质 |
CN113792340A (zh) * | 2021-09-09 | 2021-12-14 | 烽火通信科技股份有限公司 | 一种用于数据库逻辑日志审计的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980637A (zh) * | 2016-09-28 | 2017-07-25 | 平安科技(深圳)有限公司 | Sql审核方法和装置 |
CN107748782A (zh) * | 2017-10-20 | 2018-03-02 | 北京小度信息科技有限公司 | 查询语句处理方法及装置 |
CN109240901A (zh) * | 2018-08-28 | 2019-01-18 | 北京小度信息科技有限公司 | 性能分析方法、性能分析装置、存储介质和电子设备 |
CN109933601A (zh) * | 2019-01-24 | 2019-06-25 | 深圳壹账通智能科技有限公司 | 数据库管理方法、系统、计算机装置及可读存储介质 |
CN110297814A (zh) * | 2019-05-22 | 2019-10-01 | 中国平安人寿保险股份有限公司 | 数据库操作的性能监控方法、装置、设备及存储介质 |
-
2020
- 2020-07-31 CN CN202010763082.0A patent/CN111913937B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980637A (zh) * | 2016-09-28 | 2017-07-25 | 平安科技(深圳)有限公司 | Sql审核方法和装置 |
CN107748782A (zh) * | 2017-10-20 | 2018-03-02 | 北京小度信息科技有限公司 | 查询语句处理方法及装置 |
CN109240901A (zh) * | 2018-08-28 | 2019-01-18 | 北京小度信息科技有限公司 | 性能分析方法、性能分析装置、存储介质和电子设备 |
CN109933601A (zh) * | 2019-01-24 | 2019-06-25 | 深圳壹账通智能科技有限公司 | 数据库管理方法、系统、计算机装置及可读存储介质 |
CN110297814A (zh) * | 2019-05-22 | 2019-10-01 | 中国平安人寿保险股份有限公司 | 数据库操作的性能监控方法、装置、设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190422A (zh) * | 2021-03-22 | 2021-07-30 | 云和恩墨(北京)信息技术有限公司 | Sql语句的质量分析方法、装置、终端及介质 |
CN113792340A (zh) * | 2021-09-09 | 2021-12-14 | 烽火通信科技股份有限公司 | 一种用于数据库逻辑日志审计的方法及装置 |
CN113792340B (zh) * | 2021-09-09 | 2023-09-05 | 烽火通信科技股份有限公司 | 一种用于数据库逻辑日志审计的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111913937B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109460349B (zh) | 一种基于日志的测试用例生成方法和装置 | |
CN111539633A (zh) | 一种业务数据质量的稽核方法、系统、装置和存储介质 | |
US7472108B2 (en) | Statistics collection using path-value pairs for relational databases | |
CN106407830A (zh) | 一种基于云的数据库的检测方法和装置 | |
CN111459698A (zh) | 一种数据库集群故障自愈方法及装置 | |
CN111913937B (zh) | 数据库运维方法和装置 | |
CN111400288A (zh) | 数据质量检查方法及系统 | |
CN111522870B (zh) | 数据库访问方法、中间件和可读存储介质 | |
CN111984495A (zh) | 一种大数据监控方法、装置和存储介质 | |
CN115333966B (zh) | 一种基于拓扑的Nginx日志分析方法、系统及设备 | |
CN117519608B (zh) | 一种以Hadoop为核心的大数据服务器 | |
CN115033639A (zh) | 一种生成集群间数据共享的关系图的方法和相关装置 | |
US20100161930A1 (en) | Statistics collection using path-value pairs for relational databases | |
US8229924B2 (en) | Statistics collection using path-identifiers for relational databases | |
CN112214278A (zh) | 一种私有云僵尸虚拟机的识别和处理方法 | |
CN108182142A (zh) | 测试资源整合方法、系统及功能测试方法、系统 | |
CN108509491B (zh) | 一种企业尽职调查数据处理系统及方法 | |
CN115499514A (zh) | 数据存储服务的访问方法、计算设备及计算机存储介质 | |
CN108345541A (zh) | 一种程序检测方法及系统 | |
CN113360362B (zh) | 一种动态sql效率检查方法及插件 | |
CN112988736A (zh) | 一种海量数据质量检核方法及其系统 | |
CN111737097A (zh) | 一种流处理系统的性能测试方法及相关装置 | |
CN111400368A (zh) | 一种分布式服务器系统的日志查找方法及装置 | |
CN113742243B (zh) | 应用评测方法、装置、电子设备和计算机可读介质 | |
CN115114133B (zh) | 基于java的系统自适应限流方法、装置及存储介质 |
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 |