CN110209684A - 数据库ddl变更操作的跟踪方法、装置、系统及介质 - Google Patents

数据库ddl变更操作的跟踪方法、装置、系统及介质 Download PDF

Info

Publication number
CN110209684A
CN110209684A CN201910485604.2A CN201910485604A CN110209684A CN 110209684 A CN110209684 A CN 110209684A CN 201910485604 A CN201910485604 A CN 201910485604A CN 110209684 A CN110209684 A CN 110209684A
Authority
CN
China
Prior art keywords
database
sql statement
snapshot
ddl
statement
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
Application number
CN201910485604.2A
Other languages
English (en)
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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201910485604.2A priority Critical patent/CN110209684A/zh
Publication of CN110209684A publication Critical patent/CN110209684A/zh
Pending legal-status Critical Current

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
    • G06F16/2358Change logging, detection, and notification
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages

Abstract

本发明公开了一种数据库DDL变更操作的跟踪方法、装置、系统及介质,涉及金融科技领域,该方法包括步骤:当通过预设的结构化查询语言SQL执行界面接收到SQL语句后,检测所述SQL语句是否符合预设的执行条件;若所述SQL语句符合执行条件,则在所述SQL语句执行成功后获取与所述SQL语句对应的第一DDL变更语句;获取所述SQL语句对应用户的用户信息,将所述用户信息和所述第一DDL变更语句存储至预设数据库中。本发明通过所存储的DDL变更语句跟踪SQL语句的DDL变更操作,提高SQL语句执行的成功率和执行效率,以及根据所存储的用户信息确定SQL语句对应的用户,便于对SQL语句对应用户的管理。

Description

数据库DDL变更操作的跟踪方法、装置、系统及介质
技术领域
本发明涉及金融科技(Fintech)的数据处理技术领域,尤其涉及一种数据库DDL变更操作的跟踪方法、装置、系统及介质。
背景技术
随着金融科技,尤其是互联网科技金融的不断发展,越来越多的技术(如分布式、区块链Blockchain、人工智能等)应用在金融领域,但金融业也对技术提出了更高的要求,越来越多的功能需要通过SQL(Structured Query Language,结构化查询语言)语句来实现。
目前执行SQL语句的执行工具一般是作为数据库的客户端去执行SQL语句,不会对SQL语句进行检查,导致SQL语句对应系统容易出现漏洞和故障,且目前的执行工具无法确定执行SQL语句的用户。因此,为了提高执行SQL语句所在业务系统的安全性,减少SQL语句所在业务系统的漏洞和故障,需要对SQL语句进行审计。目前主要是通过自动化运维系统Inception对SQL语句进行审核,Inception是集审核、执行、回滚于一体的一个自动化运维系统,它是根据MySQL代码修改过来的,用它可以很明确的,详细的,准确的审核MySQL的SQL语句,但是Inception无法跟踪数据库中SQL语句的DDL(Data Definition Language,数据定义语言)变更操作。
综上所述,目前在执行SQL语句过程中,无法确定SQL语句对应的用户,以及无法跟踪SQL语句中的DDL变更操作。
发明内容
本发明的主要目的在于提供一种数据库DDL变更操作的跟踪方法、装置、系统及介质,旨在解决现有的无法跟踪SQL语句的DDL变更操作,以及无法确定SQL语句对应用户的技术问题。
为实现上述目的,本发明提供一种数据库DDL变更操作的跟踪方法,所述数据库DDL变更操作的跟踪方法包括步骤:
当通过预设的结构化查询语言SQL执行界面接收到SQL语句后,检测所述SQL语句是否符合预设的执行条件;
若所述SQL语句符合执行条件,则在所述SQL语句执行成功后获取与所述SQL语句对应的第一DDL变更语句;
获取所述SQL语句对应用户的用户信息,将所述用户信息和所述第一DDL变更语句存储至预设数据库中。
优选地,所述将所述用户信息和所述第一DDL变更语句存储至预设数据库中的步骤之后,还包括:
获取所述SQL语句的执行日志;
根据所述执行日志获取所述SQL语句对应的第二DDL变更语句,并将所述第二DDL变更语句存储至所述预设数据库中。
优选地,所述将所述用户信息和所述第一DDL变更语句存储至预设数据库中的步骤之后,还包括:
当检测到获取所述预设数据库快照的获取指令后,获取所述SQL语句对应MySQL数据库的配置信息;
根据所述配置信息获取所述预设数据库的第一快照,并检测所述预设数据库中是否存储有第二快照;
若所述预设数据库中存储有第二快照,则判断所述第一快照和所述第二快照之间是否存在差异;
若所述第一快照和所述第二快照之间存在差异,则将所述第一快照中,与所述第二快照存在差异的SQL语句和所述第一快照存储至所述预设数据库中。
优选地,所述若所述预设数据库中存储有第二快照,则判断所述第一快照和所述第二快照之间是否存在差异的步骤包括:
若所述预设数据库中存储有第二快照,则计算所述第一快照的第一哈希值和所述第二快照的第二哈希值,判断所述第一哈希值是否等于所述第二哈希值;
若所述第一哈希值等于所述第二哈希值,则确定所述第一快照和所述第二快照之间未存在差异;
若所述第一哈希值不等于所述第二哈希值,则确定所述第一快照和所述第二快照之间存在差异。
优选地,所述若所述第一快照和所述第二快照之间存在差异,则将所述第一快照中,与所述第二快照存在差异的SQL语句和所述第一快照存储至所述预设数据库中的步骤之后,还包括:
根据所述第一快照生成数据库健康报告,并将所述数据库健康报告存储至所述预设数据库中。
优选地,所述当通过预设的SQL执行界面接收到SQL语句后,检测所述SQL语句是否符合预设的执行条件的步骤包括:
当通过预设的SQL执行界面接收到SQL语句后,检测所述SQL语句是否符合预设的语法规范;
若检测到所述SQL语句不符合所述语法规范,则确定所述SQL语句不符合预设的执行条件;
若检测到所述SQL语句符合所述语法规范,则检测所述SQL语句是否符合预设的格式规范;
若检测到所述SQL语句符合所述格式规范,则确定所述SQL语句符合所述执行条件;
若检测到所述SQL语句不符合所述格式规范,则确定所述SQL语句不符合所述执行条件。
优选地,所述若检测到所述SQL语句符合所述语法规范,则检测所述SQL语句是否符合预设的格式规范的步骤包括:
若检测到所述SQL语句符合所述语法规范,则检测所述SQL语句中创建数据库语句的字符集是否为预设字符编码,检测所述SQL语句中创建数据表语句是否存在主键和注释,以及检测所述SQL语句中各个字段是否存在注释;
若所述SQL语句中创建数据库语句的字符集为预设字符编码,所述SQL语句中创建数据表语句存在主键和注释,且所述SQL语句中各个字段存在注释,则确定所述SQL语句符合预设的格式规范。
优选地,所述获取所述SQL语句对应用户的用户信息,将所述用户信息和所述第一DDL变更语句存储至预设数据库中的步骤包括:
获取所述SQL语句对应用户的用户信息,以及获取执行所述SQL语句的执行时间和所述SQL语句对应MySQL数据库的数据库名;
将所述用户信息、所述执行时间、所述数据库名和所述第一DDL变更语句关联存储至预设数据库中。
此外,为实现上述目的,本发明还提供一种数据库DDL变更操作的跟踪装置,所述数据库DDL变更操作的跟踪装置包括:
检测模块,用于当通过预设的结构化查询语言SQL执行界面接收到SQL语句后,检测所述SQL语句是否符合预设的执行条件;
获取模块,用于若所述SQL语句符合执行条件,则在所述SQL语句执行成功后获取与所述SQL语句对应的第一DDL变更语句;获取所述SQL语句对应用户的用户信息;
存储模块,用于将所述用户信息和所述第一DDL变更语句存储至预设数据库中。
此外,为实现上述目的,本发明还提供一种数据库DDL变更操作的跟踪系统,所述数据库DDL变更操作的跟踪系统包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的数据库DDL变更操作的跟踪程序,所述数据库DDL变更操作的跟踪程序被所述处理器执行时实现如上所述的数据库DDL变更操作的跟踪方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据库DDL变更操作的跟踪程序,所述数据库DDL变更操作的跟踪程序被处理器执行时实现如上所述的数据库DDL变更操作的跟踪方法的步骤。
本发明通过提供统一的SQL执行界面,通过该SQL执行界面接收所有需要执行的SQL语句,并在执行SQL语句之间先检测SQL语句是否符合执行条件,在SQL语句符合执行条件后,才会执行SQL语句,且在SQL语句执行成功后获取与该SQL语句对应的DDL变更语句和SQL语句对应用户的用户信息,并存储该DDL变更语句和用户信息。在通过检测SQL语句是否符合执行条件,提高SQL语句所在系统的安全性,减少SQL语句所在系统的漏洞的基础上,通过获取DDL变更语句跟踪SQL语句的DDL变更操作,以及根据所存储的用户信息确定SQL语句对应的用户,便于对SQL语句对应用户的管理,以在SQL语句执行出现问题时,可快速找到对应用户,解决SQL语句执行过程中出现的问题,提高SQL语句执行的成功率和执行效率。
附图说明
图1是本发明数据库DDL变更操作的跟踪方法第一实施例的流程示意图;
图2是本发明数据库DDL变更操作的跟踪方法第二实施例的流程示意图;
图3是本发明数据库DDL变更操作的跟踪方法第三实施例的流程示意图;
图4是本发明数据库DDL变更操作的跟踪装置较佳实施例的功能示意图模块图;
图5是本发明实施例方案涉及的硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据库DDL变更操作的跟踪方法,参照图1,图1为本发明数据库DDL变更操作的跟踪方法第一实施例的流程示意图。
本发明实施例提供了数据库DDL变更操作的跟踪方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
数据库DDL变更操作的跟踪方法应用于DDL跟踪系统中,DDL跟踪系统可以包括诸如平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)等移动终端,以及诸如数字TV、台式计算机等固定终端。在数据库DDL变更操作的跟踪方法的各个实施例中,为了便于描述,省略执行主体进行阐述各个实施例。
DDL跟踪系统包括UI(User Interface,用户界面)模块、DB(Database,数据库)管理模块、DDL变更历史模块、DB健康报告模块、SQL解析器、SQL规范检测器、DB快照定时任务模块、SQL执行器、binlog订阅模块和持久化模块等,其中,binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息。
其中,UI模块为用户提供登录DDL跟踪系统、管理DDL跟踪系统中各个数据库和在DDL跟踪系统执行SQL语句等的操作界面,即UI模式提供了一个统一的SQL执行界面。DB管理模块用于登记维护DB数据库的配置信息,DB数据库的配置信息包括但不限于DB数据库的数据库名、IP(Internet Protocol,网络之间互连的协议)地址和端口号。DDL变更历史模块用于根据DDL变更语句生成的DDL变更记录,同时提供查询DDL变更记录等功能,以便于用户根据DDL变更记录对MySQL数据库中的SQL语句进行版本管理,降低MySQL数据库对应业务系统上线时的风险,每一次执行的携带有DDL变更语句的SQL语句为一个版本的SQL语句,并且都会被记录。DDL健康报告模块用于根据DB的快照,生成数据库健康报告,即生成DB健康报告。SQL解析器用于解析SQL语句,根据解析所得的解析结果分析SQL语句是否符合SQL的语法规范。SQL规范检查器用于检查SQL语句是否符合预设的格式规范。SQL执行器用于调用MySQL数据库的API(Application Programming Interface,应用程序编程接口),执行MySQL数据库中的SQL语句,并返回执行SQL语句所得的执行结果发送给SQL语句对应的终端。DB快照定时任务模块用于获取DB快照的定时任务。binlog订阅模块用于订阅、解析执行SQL语句后所生成的binlog日志。持久化模块用于负责DDL跟踪系统数据的存储管理。MySQL数据库是本发明实施例中需要跟踪、管理的业务系统数据库,在MySQL数据库中,存储有各个业务系统所对应的表和数据,在DDL跟踪系统中,至少存在一个被跟踪管理的业务系统MySQL数据库。DB是用于存储各个业务系统MySQL数据库的配置信息、DDL变更语句、DB快照和DB健康报告等信息,业务系统MySQL数据库的配置信息包括但不限于MySQL数据库的数据库名、IP地址和端口号。
数据库DDL变更操作的跟踪方法包括:
步骤S10,当通过预设的结构化查询语言SQL执行界面接收到SQL语句后,检测所述SQL语句是否符合预设的执行条件。
当通过DDL跟踪系统中预先设置的SQL执行界面接收到SQL语句后,通过SQL解析器解析该SQL语句,得到解析结果,根据解析结果检测所接收的SQL语句是否符合预设的执行条件。需要说明的是,在本实施例中,DDL跟踪系统通过UI模块提供了一个统一的SQL执行界面,当用户登录DDL跟踪系统后,用户可通过该SQL执行界面输入需要执行的SQL语句。该SQL语句可为修改业务系统现有MySQL数据库和数据表等的修改语句,也可为插入、更新、查询数据的语句等。
进一步地,步骤S10包括:
步骤a,当通过预设的SQL执行界面接收到SQL语句后,检测所述SQL语句是否符合预设的语法规范。
步骤b,若检测到所述SQL语句不符合所述语法规范,则确定所述SQL语句不符合预设的执行条件。
具体地,当通过预设的SQL执行界面接收到SQL语句后,检测SQL语句是否符合预设的语法规范。其中,预设的语法规范可为SQL92、SQL99和MySQL方言等语法规范,本实施例所需用的语法规范具体是那种,可由DDL跟踪系统的用户根据具体需要而设置。如在SQL92中,规定了SQL语句的数据类型、条件表达形式、所能用到的函数、各个数据库表之间的约束关系和数据库命令等;如在MySQL方言中,对SQL语句的内置函数有特定要求。
若检测到SQL语句不符合语法规范,则确定SQL语句不符合预设的执行条件。如当预设的语法规范为SQL92时,若检测到SQL语句不符合SQL92所设定的语法规范,则确定SQL语句不符合预设的执行条件。需要说明的是,预先设置的语法规范可以一种,也可为多种。
步骤c,若检测到所述SQL语句符合所述语法规范,则检测所述SQL语句是否符合预设的格式规范。
步骤d,若检测到所述SQL语句符合所述格式规范,则确定所述SQL语句符合所述执行条件。
步骤e,若检测到所述SQL语句不符合所述格式规范,则确定所述SQL语句不符合所述执行条件。
若检测到SQL语句符合预先设置的语法规范,则检测SQL语句是否符合预先设置的格式规范,若检测到SQL语句符合该格式规范,则确定SQL符合执行条件;若检测到SQL不符合预先设置的格式规范,则确定SQL不符合执行条件。其中,格式规范可根据具体需要而设置,如格式规范可设置为SQL语句对应数据库表名和字段名的字符数量小于或者等于预设数量,该预设数量可根据具体需要而设置,如可设置为64个字符,或者设置为48个字符等。此时,若检测到SQL语句对应数据库表名的字符数量小于或者等于预设数量,且SQL语句对应的字段名的字符数量小于或者等于预设数量,则确定SQL语句符合执行条件;若检测到SQL语句对应数据库表名的字符数量大于预设数量,和/或SQL语句对应字段名的字符数量大于预设数量,则确定SQL语句不符合执行条件。需要说明的是,SQL语句对应的数据库表名和字段名为SQL语句中出现的数据库表名和字段名。
进一步地,步骤c包括:
步骤c1,若检测到所述SQL语句符合所述语法规范,则检测所述SQL语句中创建数据库语句的字符集是否为预设字符编码,检测所述SQL语句中创建数据表语句是否存在主键和注释,以及检测所述SQL语句中各个字段是否存在注释。
进一步地,检测SQL语句是否符合预设的格式规范的过程还可为:若检测到SQL语句符合语法规范,则检测SQL语句中创建数据库语句的字符集是否为预设字符编码,检测SQL语句中创建数据表语句是否存在主键和注释,以及检测SQL语句中各个字段是否存在注释。在本实施例中,预设字符编码可为UTF-8(8-bit Unicode Transformation Format),UTF-8是一种针对Unicode的可变长度字符编码,又称万国码。在其它实施例中,可将预设字符编码设置为其它字符编码。
需要说明的是,在SQL语句,创建数据库语句中会存在创建数据库的数据库关键字,创建数据表语句中会存在创建数据表的数据表关键字,因此,通过数据库关键字即可检测到SQL语句中是否存在创建数据库语句,以及通过数据表关键字即可检测到SQL语句中是否存在创建数据表语句。在本实施例中,不限制数据表关键字和数据库关键字的表现形式。主键,指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性,主键主要是用于其他表的外键关联,以及本记录的修改与删除。注释就是对代码的解释和说明。进一步地,为了提高SQL语句执行的成功率,在检测SQL语句中各个字段是否存在注释过程中,可只检测SQL语句中用户所定义的各个字段是否存在注释即可。
可以理解的是,若SQL语句中不存在创建数据库语句和创建数据表语句,则不需要检测SQL语句中创建数据库语句的字符集是否为预设字符编码,以及不需要检测SQL语句中创建数据表语句是否存在主键和注释,此时,可直接检测SQL语句中各个字段是否存在注释,以及检测SQL语句对应数据库名和表名的字符数量是否小于或者等于预设数量等。
进一步地,也可检测SQL语句中各个字段是否存在注释。可以理解的是,当SQL语句中的库、表、字段等存在注释时,可确定SQL语句符合预设的注释格式规范;当SQL语句中的库、表、字段不存在注释时,可确定SQL语句不符合预设的注释格式规范。
步骤c2,若所述SQL语句中创建数据库语句的字符集为预设字符编码,所述SQL语句中创建数据表语句存在主键和注释,且所述SQL语句中各个字段存在注释,则确定所述SQL语句符合预设的格式规范。
若检测到SQL语句中创建数据库语句的字符集为预设字符编码,SQL语句中创建数据表语句存在主键和注释,且SQL语句中各个字段存在注释,则确定SQL语句符合预设的格式规范。若检测到SQL语句满足以下三个条件中的至少一个条件时,确定SQL语句不符合预设的格式规范,这三个条件为:SQL语句中创建数据库语句的字符集不为预设字符编码,SQL语句中创建数据表语句未存在主键和注释,以及SQL语句中各个字段未存在注释。
需要说明的是,通过检测SQL语句是否符合执行条件,减少了不合规范的SQL语句,进而减少SQL语句对应业务系统漏洞,以及降低SQL语句对应业务系统出现故障的可能性,降低了SQL语句对应业务的风险,提高了SQL语句对应业务的健壮性。
步骤S20,若所述SQL语句符合执行条件,则在所述SQL语句执行成功后获取与所述SQL语句对应的第一DDL变更语句。
步骤S30,获取所述SQL语句对应用户的用户信息,将所述用户信息和所述第一DDL变更语句存储至预设数据库中。
若检测到SQL语句符合执行条件,则通过SQL执行器执行该SQL语句,并检测SQL语句是否执行成功。可以理解的是,当SQL语句为创建数据库的语句时,若SQL语句执行成功,则在对应的业务系统中会生成一个数据库;当SQL语句为查询数据时,若SQL语句执行成功,则可获取所需查询的数据结果。若SQL语句执行成功,则在SQL语句执行成功后获取与该SQL语句对应的DDL变更语句,并将在执行SQL语句后获取的DDL变更语句记为第一DDL变更语句,获取SQL语句对应操作用户的用户信息,将该用户信息和第一DDL变更语句存储至预设数据库中。DDL变更语句为执行SQL语句过程中所涉及到的DDL变更操作,用户信息为提交SQL语句至DDL跟踪系统的用户的账号、姓名、电子邮箱和/或联系电话等信息。在本实施例中,预设数据库为DB数据库。SQL语句对应的DDL变更语句为SQL语句中涉及到创建数据库、修改数据库、创建数据表、修改数据表、删除数据表、建立索引、删除索引、在数据库中插入数据和删除数据等修改语句。可以理解的是,在本实施例中,所执行的SQL语句为修改MySQL数据库的修改语句。若SQL语句是查询语句,则不存在对应的DDL变更语句,此时也不需要跟踪SQL语句对应的DDL变更操作。
进一步地,在SQL语句执行成功后,会生成执行成功的成功消息,并将该成功消息发送给SQL语句对应的终端,以供该终端根据成功消息提示提交SQL语句的用户,SQL语句执行成功。需要说明的是,若SQL语句为查询数据的查询语句,则在成功消息中,会携带执行SQL语句所查询到的数据,以将所查询的数据发送给SQL语句对应终端。在SQL语句执行失败后,会生成执行失败的失败消息,并将该失败消息发送给SQL语句对应终端,以供该终端根据失败消息提示提交SQL语句的用户,SQL语句执行失败。
如当在需要修改金融机构(银行、保险或证券机构)中的某个数据时,可通过该SQL执行界面接收金融机构对应用户上传的修改数据的SQL语句,在检测到SQL语句符合执行条件时,才会根据该SQL语句修改该金融机构对应的数据,并存储SQL语句对应的DDL变更语句和金融机构对应用户的用户信息。
本实施例通过提供统一的SQL执行界面,通过该SQL执行界面接收所有需要执行的SQL语句,并在执行SQL语句之间先检测SQL语句是否符合执行条件,在SQL语句符合执行条件后,才会执行SQL语句,且在SQL语句执行成功后获取与该SQL语句对应的DDL变更语句和SQL语句对应用户的用户信息,并存储该DDL变更语句和用户信息。在通过检测SQL语句是否符合执行条件,提高SQL语句所在系统的安全性,减少SQL语句所在系统的漏洞的基础上,通过获取DDL变更语句跟踪SQL语句的DDL变更操作,以及根据所存储的用户信息确定SQL语句对应的用户,便于对SQL语句对应用户的管理,以在SQL语句执行出现问题时,可快速找到对应用户,解决SQL语句执行过程中出现的问题,提高SQL语句执行的成功率和执行效率。
进一步地,提出本发明数据库DDL变更操作的跟踪方法第二实施例。
所述数据库DDL变更操作的跟踪方法第二实施例与所述数据库DDL变更操作的跟踪方法第一施例的区别在于,参照图2,数据库DDL变更操作的跟踪方法还包括:
步骤S40,获取所述SQL语句的执行日志。
在执行SQL语句后,订阅MySQL的binlog以获取SQL语句的执行日志,在本实施例中,执行日志为binlog日志。在本实施例中,binlog订阅模块预先订阅了SQL语句执行的binlog日志,当MySQL数据库生成新的binlog日志后,binlog订阅模块可实时获取到binlog日志。在调用MySQL数据库执行SQL语句时,在创建数据库、修改数据库、创建数据表、修改数据表、删除数据表、建立索引、删除索引、在数据库中插入数据、删除数据和查询数据等过程中,都会生成对应binlog日志。
步骤S50,根据所述执行日志获取所述SQL语句对应的第二DDL变更语句,并将所述第二DDL变更语句存储至所述预设数据库中。
当获取到SQL语句的执行日志后,解析该执行日志,即解析该binlog日志,根据解析所得的解析结果获取SQL语句对应的DDL变更语句。为了便于区分,在本实施例中,将通过执行日志获取的SQL语句中的DDL变更语句记为第二DDL变更语句,并将该第二DDL变更语句存储至预设数据库中。具体地,解析binlog日志,在binlog日志中查找DDL变更语句对应的变更关键字,根据该变更关键字确定SQL语句中的第二DDL变更语句,如创建数据表的关变更键字为“create table”,删除数据的变更关键字为“delete”。需要说明的是,DDL变更语句对应的变更关键字并不限于本实施例中所举的例子,用户可根据具体需要为每一个DDL变更语句设置一个或者多个变更关键字。
可以理解的是,正常情况下,会存在很多SQL语句的执行途径,因此会出现未跟踪到MySQL数据库中DDL变更操作的情况,但是任何SQL语句的执行都会生成binlog日志,本实施例通过binlog日志的方式来跟踪MySQL数据库中的DDL变更操作,提高了MySQL数据库DDL变更操作跟踪的准确性。
进一步地,在本实施例中,binlog订阅模块和SQL执行器采用主从同步机制,使执行SQL语句的过程和通过binlog日志获取第二DDL变更语句的过程采用主从同步机制,以在通过binlog日志的方式来跟踪MySQL数据库的得到DDL变更操作的过程中,不影响MySQL数据库的性能,即不影响MySQL数据库的其它功能。
进一步地,提出本发明数据库DDL变更操作的跟踪方法第三实施例。
所述数据库DDL变更操作的跟踪方法第三实施例与所述数据库DDL变更操作的跟踪方法第一或者第二实施例的区别在于,参照图3,数据库DDL变更操作的跟踪方法还包括:
步骤S60,当检测到获取所述预设数据库快照的获取指令后,获取所述SQL语句对应MySQL数据库的配置信息。
DDL跟踪系统每天凌晨定时获取被跟踪数据库的信息,当检测到获取预设数据库快照的获取指令后,获取被跟踪的SQL语句对应MySQL数据库的配置信息。数据库快照是被跟踪数据库(源数据库)的库、表的DDL语句,只读、静态视图。由此可知,通过快照,可获取到数据库中修改后的内容。
在本实施例中,预先设置好触发获取预设数据库快照的获取指令的触发时间,具体地,将触发时间设置为预设数据库较为空闲的时间,以便于达到既能跟踪MySQL数据库的DDL变更操作,又能不影响预设数据库的性能的效果。如可以将触发时间设置为凌晨12点,或者凌晨1点等。进一步地,也可检测预设数据库中是否在预设时长内没有存储数据,若检测到预设数据库在预设时长内没有存储数据,则确定为预设数据库处于空闲状态,此时也可自动触发获取指令,其中,预设时长可根据具体需要而设置,如可将预设时长设置为20分钟,30分钟或者15分钟等。
步骤S70,根据所述配置信息获取所述预设数据库的第一快照,并检测所述预设数据库中是否存储有第二快照。
当获取到MySQL数据库的配置信息后,根据该配置信息将MySQL数据库与预设数据库连接,以获取MySQL数据库存储的所有数据库表,然后获取MySQL数据库存储的所有数据库表的建表语句,即获取创建数据库表的SQL语句,获取建表语句中的表结构信息,根据该表结构信息生成预设数据库的第一(可选为当前)快照,并检测预设数据库中是否存储有第二(可选为前一天的)快照。其中,表结构信息包括但不限于数据库名、主键、注释和建表时间,第二快照是预设数据库中存储的历史快照。
步骤S80,若所述预设数据库中存储有第二快照,则判断所述第一快照和所述第二快照之间是否存在差异。
若检测到预设数据库中存储有第二快照,则判断第一快照和第二快照之间是否存在差异。需要说明的是,若第一快照和第二快照之间不存在差异,则确定此时MySQL数据库中不存在DDL变更语句;若第一快照和第二快照之间存在差异,则确定此时MySQL数据库中存在DDL变更语句。
进一步地,步骤S80,
步骤f,若所述预设数据库中存储有第二快照,则计算所述第一快照的第一哈希值和所述第二快照的第二哈希值,判断所述第一哈希值是否等于所述第二哈希值。
步骤g,若所述第一哈希值等于所述第二哈希值,则确定所述第一快照和所述第二快照之间未存在差异。
步骤h,若所述第一哈希值不等于所述第二哈希值,则确定所述第一快照和所述第二快照之间存在差异。
具体地,若检测到预设数据库中存储有第二快照,则计算第一快照的哈希值和第二快照的哈希值,并将第一快照的哈希值记为第一哈希值,以及将第二快照的哈希值记为第二哈希值。其中,计算哈希值的算法包括但不限于MD5(Message Digest Algorithm,消息摘要算法)和SHA(Secure Hash Algorithm,安全散列算法)。当计算得到第一哈希值和第二哈希值后,判断第一哈希值是否等于第二哈希值,若确定第一哈希值等于第二哈希值,则确定第一快照和第二快照之间未存在差异;若第一哈希值不等于第二哈希值,则确定第一快照和第二快照之间存在差异。
步骤S90,若所述第一快照和所述第二快照之间存在差异,则将所述第一快照中,与所述第二快照存在差异的SQL语句和所述第一快照存储至所述预设数据库中。
若确定第一快照和第二快照之间存在差异,则确定第一快照中,与第二快照存在差异的SQL语句,并将第一快照中,与第二快照存在差异的SQL语句和第一快照存储至预设数据库中。可以理解的是,第一快照中,与第二快照存在差异的SQL语句即为DDL变更语句。
进一步地,若预设数据库中未存储有第二快照,则直接将第一快照存储至预设数据库中;或者在确定第一快照和第二快照不存在差异时,不将第一快照存储至预设数据库中,此时,表明距离上一次获取预设数据库快照之后,MySQL数据库中还未执行过存在DDL变更语句的SQL语句。
本实施例通过数据库快照进一步地跟踪MySQL数据库中DDL变更语句,避免了在执行SQL语句过程中遗漏DDL变更语句的情况出现,提高了DDL变更操作跟踪的准确性。
进一步地,数据库DDL变更操作的跟踪方法还包括:
步骤i,根据所述第一快照生成数据库健康报告,并将所述数据库健康报告存储至所述预设数据库中。
进一步地,在将第一快照存储至预设数据库中后,根据第一快照生成数据库健康报告,并将数据库健康报告存储至预设数据库中。在数据库健康报告中,含有检测SQL语句是否满足执行条件的检测结果,以及执行SQL语句的执行结果,执行SQL语句的执行时间等信息。进一步地,在生成数据库健康报告过程中,也可根据第一快照、第一DDL变更语句和第二DDL变更语句生成数据库健康报告,此时,只会根据第一快照、第一DDL变更语句和第二DDL变更语句中不同的信息生成数据库健康报告,以保证所生成的数据库健康报告的完整性,以及避免了数据库健康报告中信息的重复。
需要说明的是,生成数据库健康报告后,负责维护业务系统的用户可根据需要在预设数据库中获取对应数据库的数据库健康报告,然后根据该数据库健康报告维护对应的数据库,以提高对应业务系统的健壮性和可维护性。
进一步地,提出本发明数据库DDL变更操作的跟踪方法第四实施例。
所述数据库DDL变更操作的跟踪方法第四实施例与所述数据库DDL变更操作的跟踪方法第一、第二或者第三实施例的区别在于,步骤S30包括:
步骤j,获取所述SQL语句对应用户的用户信息,以及获取执行所述SQL语句的执行时间和所述SQL语句对应MySQL数据库的数据库名;
步骤k,将所述用户信息、所述执行时间、所述数据库名和所述第一DDL变更语句关联存储至预设数据库中。
获取SQL语句对应用户的用户信息,以及获取执行SQL语句的执行时间和SQL语句对应MySQL数据库的数据库名,其中,SQL语句对应的MySQL数据库为存储该SQL语句的MySQL数据库。当获取到用户信息、执行时间和MySQL数据库的数据库名后,将SQL语句对应用户的用户信息、执行SQL语句的执行时间、MySQL数据库的数据库名和第一DDL变更语句关联存储至预设数据库中,以便于在预设数据库中获取到与DDL变更语句相关联的其它信息。可以理解的是,当将执行时间、用户信息和数据库名与DDL变更语句关联存储在预设数据库中后,可通过执行时间、用户信息和/或数据库名在预设数据库中分类查询到对应的DDL变更语句,提高了DDL变更语句查询的智能性和查询效率。
此外,参照图4,本发明还提供一种数据库DDL变更操作的跟踪装置,所述数据库DDL变更操作的跟踪装置包括:
检测模块10,用于当通过预设的结构化查询语言SQL执行界面接收到SQL语句后,检测所述SQL语句是否符合预设的执行条件;
获取模块20,用于若所述SQL语句符合执行条件,则在所述SQL语句执行成功后获取与所述SQL语句对应的第一DDL变更语句;获取所述SQL语句对应用户的用户信息;
存储模块30,用于将所述用户信息和所述第一DDL变更语句存储至预设数据库中。
进一步地,所述获取模块20还用于获取所述SQL语句的执行日志;根据所述执行日志获取所述SQL语句对应的第二DDL变更语句;
所述存储模块30还用于将所述第二DDL变更语句存储至所述预设数据库中。
进一步地,所述获取模块20还用于当检测到获取所述预设数据库快照的获取指令后,获取所述SQL语句对应MySQL数据库的配置信息;根据所述配置信息获取所述预设数据库的第一快照;
所述检测模块10还用于检测所述预设数据库中是否存储有第二快照;
所述数据库DDL变更操作的跟踪装置还包括:
判断模块,用于若所述预设数据库中存储有第二快照,则判断所述第一快照和所述第二快照之间是否存在差异;
所述存储模块30还用于若所述第一快照和所述第二快照之间存在差异,则将所述第一快照中,与所述第二快照存在差异的SQL语句和所述第一快照存储至所述预设数据库中。
进一步地,所述判断模块包括:
计算单元,用于若所述预设数据库中存储有第二快照,则计算所述第一快照的第一哈希值和所述第二快照的第二哈希值;
判断单元,用于判断所述第一哈希值是否等于所述第二哈希值;
第一确定单元,用于若所述第一哈希值等于所述第二哈希值,则确定所述第一快照和所述第二快照之间未存在差异;若所述第一哈希值不等于所述第二哈希值,则确定所述第一快照和所述第二快照之间存在差异。
进一步地,所述数据库DDL变更操作的跟踪装置还包括:
生成模块,用于根据所述第一快照生成数据库健康报告;
所述存储模块30还用于将所述数据库健康报告存储至所述预设数据库中。
进一步地,所述检测模块10包括:
检测单元,用于当通过预设的SQL执行界面接收到SQL语句后,检测所述SQL语句是否符合预设的语法规范;
第二确定单元,用于若检测到所述SQL语句不符合所述语法规范,则确定所述SQL语句不符合预设的执行条件;
所述检测单元还用于若检测到所述SQL语句符合所述语法规范,则检测所述SQL语句是否符合预设的格式规范;
所述第二确定单元还用于若检测到所述SQL语句符合所述格式规范,则确定所述SQL语句符合所述执行条件;
若检测到所述SQL语句不符合所述格式规范,则确定所述SQL语句不符合所述执行条件。
进一步地,所述检测单元包括:
检测子单元,用于若检测到所述SQL语句符合所述语法规范,则检测所述SQL语句中创建数据库语句的字符集是否为预设字符编码,检测所述SQL语句中创建数据表语句是否存在主键和注释,以及检测所述SQL语句中各个字段是否存在注释;
确定子单元,用于若所述SQL语句中创建数据库语句的字符集为预设字符编码,所述SQL语句中创建数据表语句存在主键和注释,且所述SQL语句中各个字段存在注释,则确定所述SQL语句符合预设的格式规范。
进一步地,所述获取模块20还用于获取执行所述SQL语句的执行时间和所述SQL语句对应MySQL数据库的数据库名;
所述存储模块30还用于将所述用户信息、所述执行时间、所述数据库名和所述第一DDL变更语句关联存储至预设数据库中。
需要说明的是,数据库DDL变更操作的跟踪装置的各个实施例与上述数据库DDL变更操作的跟踪方法的各实施例基本相同,在此不再详细赘述。
此外,本发明还提供一种数据库DDL变更操作的跟踪系统。如图5所示,图5是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图5即可为数据库DDL变更操作的跟踪系统的硬件运行环境的结构示意图。本发明实施例数据库DDL变更操作的跟踪系统可以是PC,便携计算机等终端设备。
如图5所示,该数据库DDL变更操作的跟踪系统可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,数据库DDL变更操作的跟踪系统还可以包括摄像头、RF(RadioFrequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图5中示出的数据库DDL变更操作的跟踪系统结构并不构成对数据库DDL变更操作的跟踪系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据库DDL变更操作的跟踪程序。其中,操作系统是管理和控制数据库DDL变更操作的跟踪系统硬件和软件资源的程序,支持数据库DDL变更操作的跟踪程序以及其它软件或程序的运行。
在图5所示的数据库DDL变更操作的跟踪系统中,用户接口1003主要用于连接客户端(用户端),与客户端(用户端)进行数据通信;网络接口1004主要用于后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的数据库DDL变更操作的跟踪程序,并执行如上所述的数据库DDL变更操作的跟踪方法的步骤。
本发明数据库DDL变更操作的跟踪系统具体实施方式与上述数据库DDL变更操作的跟踪方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据库DDL变更操作的跟踪程序,所述数据库DDL变更操作的跟踪程序被处理器执行时实现如上所述的数据库DDL变更操作的跟踪方法的步骤。
本发明计算机可读存储介质具体实施方式与上述数据库DDL变更操作的跟踪方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (15)

1.一种数据库数据定义语言DDL变更操作的跟踪方法,其特征在于,所述数据库DDL变更操作的跟踪方法包括以下步骤:
当通过预设的结构化查询语言SQL执行界面接收到SQL语句后,检测所述SQL语句是否符合预设的执行条件;
若所述SQL语句符合执行条件,则在所述SQL语句执行成功后获取与所述SQL语句对应的第一DDL变更语句;
获取所述SQL语句对应用户的用户信息,将所述用户信息和所述第一DDL变更语句存储至预设数据库中。
2.如权利要求1所述的数据库DDL变更操作的跟踪方法,其特征在于,所述将所述用户信息和所述第一DDL变更语句存储至预设数据库中的步骤之后,还包括:
获取所述SQL语句的执行日志;
根据所述执行日志获取所述SQL语句对应的第二DDL变更语句,并将所述第二DDL变更语句存储至所述预设数据库中。
3.如权利要求1所述的数据库DDL变更操作的跟踪方法,其特征在于,所述将所述用户信息和所述第一DDL变更语句存储至预设数据库中的步骤之后,还包括:
当检测到获取所述预设数据库快照的获取指令后,获取所述SQL语句对应MySQL数据库的配置信息;
根据所述配置信息获取所述预设数据库的第一快照,并检测所述预设数据库中是否存储有第二快照;
若所述预设数据库中存储有第二快照,则判断所述第一快照和所述第二快照之间是否存在差异;
若所述第一快照和所述第二快照之间存在差异,则将所述第一快照中,与所述第二快照存在差异的SQL语句和所述第一快照存储至所述预设数据库中。
4.如权利要求3所述的数据库DDL变更操作的跟踪方法,其特征在于,所述若所述预设数据库中存储有第二快照,则判断所述第一快照和所述第二快照之间是否存在差异的步骤包括:
若所述预设数据库中存储有第二快照,则计算所述第一快照的第一哈希值和所述第二快照的第二哈希值,判断所述第一哈希值是否等于所述第二哈希值;
若所述第一哈希值等于所述第二哈希值,则确定所述第一快照和所述第二快照之间未存在差异;
若所述第一哈希值不等于所述第二哈希值,则确定所述第一快照和所述第二快照之间存在差异。
5.如权利要求3所述的数据库DDL变更操作的跟踪方法,其特征在于,所述若所述第一快照和所述第二快照之间存在差异,则将所述第一快照中,与所述第二快照存在差异的SQL语句和所述第一快照存储至所述预设数据库中的步骤之后,还包括:
根据所述第一快照生成数据库健康报告,并将所述数据库健康报告存储至所述预设数据库中。
6.如权利要求1所述的数据库DDL变更操作的跟踪方法,其特征在于,所述当通过预设的SQL执行界面接收到SQL语句后,检测所述SQL语句是否符合预设的执行条件的步骤包括:
当通过预设的SQL执行界面接收到SQL语句后,检测所述SQL语句是否符合预设的语法规范;
若检测到所述SQL语句不符合所述语法规范,则确定所述SQL语句不符合预设的执行条件;
若检测到所述SQL语句符合所述语法规范,则检测所述SQL语句是否符合预设的格式规范;
若检测到所述SQL语句符合所述格式规范,则确定所述SQL语句符合所述执行条件;
若检测到所述SQL语句不符合所述格式规范,则确定所述SQL语句不符合所述执行条件。
7.如权利要求6所述的数据库DDL变更操作的跟踪方法,其特征在于,所述若检测到所述SQL语句符合所述语法规范,则检测所述SQL语句是否符合预设的格式规范的步骤包括:
若检测到所述SQL语句符合所述语法规范,则检测所述SQL语句中创建数据库语句的字符集是否为预设字符编码,检测所述SQL语句中创建数据表语句是否存在主键和注释,以及检测所述SQL语句中各个字段是否存在注释;
若所述SQL语句中创建数据库语句的字符集为预设字符编码,所述SQL语句中创建数据表语句存在主键和注释,且所述SQL语句中各个字段存在注释,则确定所述SQL语句符合预设的格式规范。
8.如权利要求1至7任一项所述的数据库DDL变更操作的跟踪方法,其特征在于,所述获取所述SQL语句对应用户的用户信息,将所述用户信息和所述第一DDL变更语句存储至预设数据库中的步骤包括:
获取所述SQL语句对应用户的用户信息,以及获取执行所述SQL语句的执行时间和所述SQL语句对应MySQL数据库的数据库名;
将所述用户信息、所述执行时间、所述数据库名和所述第一DDL变更语句关联存储至预设数据库中。
9.一种数据库数据定义语言DDL变更操作的跟踪装置,其特征在于,所述数据库DDL变更操作的跟踪装置包括:
检测模块,用于当通过预设的结构化查询语言SQL执行界面接收到SQL语句后,检测所述SQL语句是否符合预设的执行条件;
获取模块,用于若所述SQL语句符合执行条件,则在所述SQL语句执行成功后获取与所述SQL语句对应的第一DDL变更语句;获取所述SQL语句对应用户的用户信息;
存储模块,用于将所述用户信息和所述第一DDL变更语句存储至预设数据库中。
10.如权利要求9所述的数据库DDL变更操作的跟踪装置,其特征在于,所述获取模块还用于获取所述SQL语句的执行日志;根据所述执行日志获取所述SQL语句对应的第二DDL变更语句;
所述存储模块还用于将所述第二DDL变更语句存储至所述预设数据库中。
11.如权利要求9所述的数据库DDL变更操作的跟踪装置,其特征在于,所述获取模块还用于当检测到获取所述预设数据库快照的获取指令后,获取所述SQL语句对应MySQL数据库的配置信息;根据所述配置信息获取所述预设数据库的第一快照;
所述检测模块还用于检测所述预设数据库中是否存储有第二快照;
所述数据库DDL变更操作的跟踪装置还包括:
判断模块,用于若所述预设数据库中存储有第二快照,则判断所述第一快照和所述第二快照之间是否存在差异;
所述存储模块还用于若所述第一快照和所述第二快照之间存在差异,则将所述第一快照中,与所述第二快照存在差异的SQL语句和所述第一快照存储至所述预设数据库中。
12.如权利要求11所述的数据库DDL变更操作的跟踪装置,其特征在于,所述数据库DDL变更操作的跟踪装置还包括:
生成模块,用于根据所述第一快照生成数据库健康报告;
所述存储模块还用于将所述数据库健康报告存储至所述预设数据库中。
13.如权利要求9所述的数据库DDL变更操作的跟踪装置,其特征在于,所述获取模块还用于获取执行所述SQL语句的执行时间和所述SQL语句对应MySQL数据库的数据库名;
所述存储模块还用于将所述用户信息、所述执行时间、所述数据库名和所述第一DDL变更语句关联存储至预设数据库中。
14.一种数据库数据定义语言DDL变更操作的跟踪系统,其特征在于,所述数据库DDL变更操作的跟踪系统包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的数据库DDL变更操作的跟踪程序,所述数据库DDL变更操作的跟踪程序被所述处理器执行时实现如权利要求1至8中任一项所述的数据库DDL变更操作的跟踪方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据库数据定义语言DDL变更操作的跟踪程序,所述数据库DDL变更操作的跟踪程序被处理器执行时实现如权利要求1至8中任一项所述的数据库DDL变更操作的跟踪方法的步骤。
CN201910485604.2A 2019-06-03 2019-06-03 数据库ddl变更操作的跟踪方法、装置、系统及介质 Pending CN110209684A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910485604.2A CN110209684A (zh) 2019-06-03 2019-06-03 数据库ddl变更操作的跟踪方法、装置、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910485604.2A CN110209684A (zh) 2019-06-03 2019-06-03 数据库ddl变更操作的跟踪方法、装置、系统及介质

Publications (1)

Publication Number Publication Date
CN110209684A true CN110209684A (zh) 2019-09-06

Family

ID=67791043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910485604.2A Pending CN110209684A (zh) 2019-06-03 2019-06-03 数据库ddl变更操作的跟踪方法、装置、系统及介质

Country Status (1)

Country Link
CN (1) CN110209684A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625552A (zh) * 2020-05-20 2020-09-04 北京百度网讯科技有限公司 数据收集方法、装置、设备和可读存储介质
CN111831755A (zh) * 2020-07-23 2020-10-27 北京思特奇信息技术股份有限公司 一种跨数据库数据同步方法、系统、介质及设备
CN112445781A (zh) * 2020-11-30 2021-03-05 建信金融科技有限责任公司 一种数据库ddl管理的方法和装置
CN112948400A (zh) * 2020-09-17 2021-06-11 深圳市明源云科技有限公司 一种数据库管理方法、数据库管理装置及终端设备
CN113051265A (zh) * 2019-12-27 2021-06-29 中信百信银行股份有限公司 一种降低关系型数据库表结构变更所带来损耗的方法、装置、计算机设备、和可读存储介质
CN113094379A (zh) * 2021-03-23 2021-07-09 杭州电魂网络科技股份有限公司 锚定式用户数据维护方法、装置、设备及介质
CN113110866A (zh) * 2021-04-30 2021-07-13 深圳前海微众银行股份有限公司 一种数据库变更脚本的评估方法及装置
CN113626423A (zh) * 2021-06-29 2021-11-09 欧电云信息科技(江苏)有限公司 业务数据库的日志管理方法、装置、系统
CN114116664A (zh) * 2021-11-19 2022-03-01 招联消费金融有限公司 数据库建表语句处理方法、装置、计算机设备和存储介质

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051265A (zh) * 2019-12-27 2021-06-29 中信百信银行股份有限公司 一种降低关系型数据库表结构变更所带来损耗的方法、装置、计算机设备、和可读存储介质
CN111625552B (zh) * 2020-05-20 2024-01-02 北京百度网讯科技有限公司 数据收集方法、装置、设备和可读存储介质
CN111625552A (zh) * 2020-05-20 2020-09-04 北京百度网讯科技有限公司 数据收集方法、装置、设备和可读存储介质
CN111831755A (zh) * 2020-07-23 2020-10-27 北京思特奇信息技术股份有限公司 一种跨数据库数据同步方法、系统、介质及设备
CN111831755B (zh) * 2020-07-23 2024-01-16 北京思特奇信息技术股份有限公司 一种跨数据库数据同步方法、系统、介质及设备
CN112948400A (zh) * 2020-09-17 2021-06-11 深圳市明源云科技有限公司 一种数据库管理方法、数据库管理装置及终端设备
CN112445781A (zh) * 2020-11-30 2021-03-05 建信金融科技有限责任公司 一种数据库ddl管理的方法和装置
CN113094379A (zh) * 2021-03-23 2021-07-09 杭州电魂网络科技股份有限公司 锚定式用户数据维护方法、装置、设备及介质
CN113110866A (zh) * 2021-04-30 2021-07-13 深圳前海微众银行股份有限公司 一种数据库变更脚本的评估方法及装置
WO2022227566A1 (zh) * 2021-04-30 2022-11-03 深圳前海微众银行股份有限公司 一种数据库变更脚本的评估方法及装置
CN113110866B (zh) * 2021-04-30 2023-07-21 深圳前海微众银行股份有限公司 一种数据库变更脚本的评估方法及装置
CN113626423A (zh) * 2021-06-29 2021-11-09 欧电云信息科技(江苏)有限公司 业务数据库的日志管理方法、装置、系统
CN113626423B (zh) * 2021-06-29 2024-01-30 欧电云信息科技(江苏)有限公司 业务数据库的日志管理方法、装置、系统
CN114116664A (zh) * 2021-11-19 2022-03-01 招联消费金融有限公司 数据库建表语句处理方法、装置、计算机设备和存储介质
CN114116664B (zh) * 2021-11-19 2024-04-02 招联消费金融股份有限公司 数据库建表语句处理方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN110209684A (zh) 数据库ddl变更操作的跟踪方法、装置、系统及介质
US10769228B2 (en) Systems and methods for web analytics testing and web development
US8984485B2 (en) Analysis of source code changes
KR101999409B1 (ko) 예시에 의한 데이터 포매팅 기법
US8904352B2 (en) Systems and methods for processing source code during debugging operations
CN107329894B (zh) 应用程序系统测试方法、装置及电子设备
CN104715203A (zh) 信息泄漏漏洞的定量分析的方法和系统
CN111400170A (zh) 一种数据权限测试方法及装置
CN112380533A (zh) 一种计算机终端安全基线核查方法
CN113326247A (zh) 云端数据的迁移方法、装置及电子设备
CN109284331B (zh) 基于业务数据资源的制证信息获取方法、终端设备及介质
US20150120682A1 (en) Automated recognition of patterns in a log file having unknown grammar
US20180069774A1 (en) Monitoring and reporting transmission and completeness of data upload from a source location to a destination location
CN114780497B (zh) 批量文件处理方法、装置、计算机设备、介质和程序产品
US11366642B1 (en) Change migration: processes for ensuring successful deployment of design changes
CN113505078A (zh) 配置文件更新方法、装置、设备及存储介质
CN112650673A (zh) 事务跟踪系统中测试用例的创建方法、装置及电子设备
CN106713666A (zh) 验证信息的识别显示方法、装置
CN112699129A (zh) 一种数据处理系统、方法及装置
CN112214411B (zh) 一种容灾系统测试方法、装置、设备及存储介质
CN116661758B (zh) 一种优化日志框架配置的方法、装置、电子设备及介质
CN116680203B (zh) 面向多租户的SaaS平台的测试方法、装置、设备和介质
CN117472641B (zh) 数据质量的检测方法、装置、电子设备及存储介质
CN116483735B (zh) 一种代码变更的影响分析方法、装置、存储介质及设备
CN114911819A (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