CN109284282A - 一种基于MySQL数据库运维方法和*** - Google Patents
一种基于MySQL数据库运维方法和*** Download PDFInfo
- Publication number
- CN109284282A CN109284282A CN201811230149.3A CN201811230149A CN109284282A CN 109284282 A CN109284282 A CN 109284282A CN 201811230149 A CN201811230149 A CN 201811230149A CN 109284282 A CN109284282 A CN 109284282A
- Authority
- CN
- China
- Prior art keywords
- sql statement
- rule
- unit
- pending
- audit
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于MySQL数据库运维方法和***,所述方法包括:确定待审核SQL语句;审核所述待审核SQL语句并缓存;判断SQL语句是否需要执行,若否则将所述审核的SQL语句的审核结果以结果集的形式返回;若SQL语句需要执行,则逐条执行审核通过的SQL语句,同时将执行错误的SQL语句的执行结果以结果集的形式返回。本申请通过预先设立的规则对对待审核SQL语句进行审核,规范化SQL语句且过滤风险性很大的SQL语句,MySQL自身实现对SQL语句的审核、执行、备份、回滚等功能,无需DBA投入精力与开发人员交流SQL语句的问题、修改及规范性,增加了DBA的工作效率,提高了数据库的运维效率。
Description
技术领域
本发明涉及数据库技术领域,特别是涉及一种基于MySQL数据库运维方法和***。
背景技术
在数据库的工作中,MySQL数据库以其开源、免费、功能强大等特点吸引了越来越多公司加入使用,随之而来各个公司需要更多数据库管理人员DBA来负责MySQL数据库的运维工作。DBA在对SQL(Structured Query Language,结构化查询语言)语句进行审核时,需要投入精力与开发人员交流SQL语句的问题、修改及规范性,降低了DBA的工作效率,进而降低了数据库的运维效率。同时,SQL问题语句执行之后通常会带来较大经济损失,现有的SQL审核及执行***不能高效撤消执行,在最短的时间内把经济损失降到最低。
因此,如何有效的进行SQL语句的审核、执行、备份、回滚以提高数据库运维的效率是本领域技术人员目前亟需解决的技术问题。
发明内容
有鉴于此,本发明提供一种基于MySQL数据库运维方法和***,能够通过MySQL自身来实现对SQL语句的审核、执行、备份、回滚等功能,将DBA完全从审核SQL的工作中解放出来,从而极大的提高DBA的工作效率及数据库的运维效率。
第一方面,提供一种基于MySQL数据库运维方法,所述方法包括:
确定待审核SQL语句;
审核所述待审核SQL语句并缓存;
判断待审核SQL语句是否审核完成,若是则判断SQL语句是否需要执行,若否则将所述审核的SQL语句的审核结果以结果集的形式返回;
若SQL语句需要执行,则判断SQL语句是否审核通过,若否则将所述SQL语句的审核结果以结果集的形式返回;若是则逐条执行审核通过的SQL语句;
判断审核通过的SQL语句执行是否出错,若是则判断是否跳过执行错误的SQL语句,若是则继续执行下一条SQL语句,直到所有SQL语句均执行完毕,若否,则将所述执行错误的SQL语句的执行结果以结果集的形式返回。
结合第一方面及其上述实现方式,在第一方面的第一种可能的实现方式中,所述若SQL语句需要执行,则判断SQL语句是否审核通过,若否则将所述未审核通过的SQL语句以结果集的形式返回;若是则逐条执行审核通过的SQL语句,还包括:
获取thread_id信息以及每条所述SQL语句执行前后的binlog位置信息。
结合第一方面及其上述实现方式,在第一方面的第二种可能的实现方式中,所述方法还包括:
判断SQL语句是否需要备份,若否则将SQL语句的执行结果以结果集的形式返回,是则将获取的binlog位置信息进行过滤,得到当前执行语句的binlog位置信息;
提取所述当前执行语句的binlog位置信息,并解析所述binlog位置信息,得到所述当前执行语句对应的回滚语句,进行备份回滚;
判断所述备份是否完成,若否,则继续依次执行过滤、备份回滚,直到备份完成。
结合第一方面,在第一方面的第三种可能的实现方式中,所述审核所述待审核SQL语句并缓存,包括:
按照预设的语法规则对所述待审核SQL语句逐一进行语法分析;
若所述待审核SQL语句不符合所述预设的语法规则,报错并缓存不满足预设语法规则的SQL语句;
判断所述语法分析是否完成,若是,则按照预设的语义分析规则对所述SQL语句逐一进行语义分析;
若所述待审核SQL语句不符合所述预设的语义分析规则,则报错并缓存不满足预设语义分析规则的SQL语句;
判断所述语义分析是否完成,若是,则按照预设的过滤检查规则对所述SQL语句进行规则过滤;
若所述待审核SQL语句不符合所述预设的过滤检查规则,则报错并缓存不满足预设过滤检查规则的SQL语句。
结合第一方面及其上述实现方式,在第一方面的第四种可能的实现方式中,所述确定待审核SQL语句,对所述待审核SQL语句进行审核并缓存,还包括:
将所述存不满足预设语法规则的SQL语句、不满足预设语义分析规则的SQL语句、不满足预设过滤检查规则的SQL语句以结果集的方式返回。
第二方面,提供一种基于MySQL数据库运维***,包括:
确定单元,所述确定单元用于确定待审核SQL语句;
审核单元,所述审核单元用于对所述待审核SQL语句进行审核并缓存;
第一判断单元,所述第一判断单元用于判断待审核SQL语句是否审核完成,若是则判断SQL语句是否需要执行,若否则将所述审核的SQL语句的审核结果以结果集的形式返回;
第二判断单元,所述第二判断单元用于若SQL语句需要执行,则判断SQL语句是否审核通过,若否则将所述SQL语句的审核结果以结果集的形式返回;若是则逐条执行审核通过的SQL语句;
第三判断单元,所述第三判断单元用于判断审核通过的SQL语句执行是否出错,若是则判断是否跳过执行错误的SQL语句,若是则继续执行下一条SQL语句,直到所有SQL语句均执行完毕,若否,则将所述执行错误的SQL语句的执行结果以结果集的形式返回。
结合第二方面,在第二方面的第一种可能的实现方式中,所述***还包括:
获取单元,所述获取单元用于获取thread_id信息以及每条所述SQL语句执行前后的binlog位置信息。
结合第二方面,在第二方面的第二种可能的实现方式中,所述***还包括:
第二判断单元,所述备份判断单元用于判断SQL语句是否需要备份,若否则将SQL语句的执行结果以结果集的形式返回,是则将获取的binlog位置信息进行过滤,得到当前执行语句的binlog位置信息;
备份回滚单元,所述备份回滚单元用于提取所述当前执行语句的binlog位置信息,并解析所述binlog位置信息,得到所述当前执行语句对应的回滚语句,进行备份回滚;
所述第二判断单元还用于判断所述备份是否完成,若否,则继续依次执行过滤、备份回滚,直到备份完成。
结合第二方面及其上述实现方式,在第二方面的第三种可能的实现方式中,所述审核单元具体包括:
语法分析单元,所述语法分析单元用于按照预设的语法规则对所述待审核SQL语句逐一进行语法分析;
第一缓存单元,所述第一缓存单元用于若所述待审核SQL语句不符合所述预设的语法规则,报错并缓存不满足预设语法规则的SQL语句;
语义分析单元,所述语义分析单元用于判断所述语法分析是否完成,若是,则按照预设的语义分析规则对所述SQL语句逐一进行语义分析;
第二缓存单元,所述第二缓存单元用于若所述待审核SQL语句不符合所述预设的语义分析规则,则报错并缓存不满足预设语义分析规则的SQL语句;
规则过滤单元,所述规则过滤单元用于判断所述语义分析是否完成,若是,则按照预设的过滤检查规则对所述SQL语句进行规则过滤;
第三缓存单元,所述第三缓存单元用于若所述待审核SQL语句不符合所述预设的过滤检查规则,则报错并缓存不满足预设过滤检查规则的SQL语句。
结合第二方面及其上述实现方式,在第二方面的第四种可能的实现方式中,所述审核单元还包括:
显示单元,所述显示单元用于将所述存不满足预设语法规则的SQL语句、不满足预设语义分析规则的SQL语句、不满足预设过滤检查规则的SQL语句以结果集的方式返回。
第三方面,提供一种受控终端,包括:
处理器、存储器,其中,
该接收器用于受处理器控制接收信号,
该发送器用于受处理器控制发送信号,
该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得终端设备执行上述的终端设备的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
因此,本申请通过预先设立的规则对对待审核SQL语句进行语法分析、语义分析、过滤检查,规范化SQL语句且过滤风险性很大的SQL语句,MySQL自身实现对SQL语句的审核、执行、备份、回滚等功能,无需DBA投入精力与开发人员交流SQL语句的问题、修改及规范性,增加了DBA的工作效率,提高了数据库的运维效率。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本申请一个实施例的基于MySQL数据库运维方法的示意性流程图;
图2是本申请另一个实施例的基于MySQL数据库运维方法的示意性流程图;
图3是本申请一个实施例的基于MySQL数据库运维方法的示意性逻辑框图;
图4是本申请另一个实施例的方法的示意性流程图;
图5是本申请一个实施例的基于MySQL数据库运维***的示意性框图;
图6是本申请另一个实施例的基于MySQL数据库运维***的示意性框图;
图7是本申请另一个实施例的基于MySQL数据库运维***的示意性框图;
图8是本申请一个实施例的一种受控终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
应理解,文中描述的第一、第二只是为了指代和区别不同的信号、指令等,其中,第一、第二不具有先后顺序的限定。
图1示出了本申请一个实施例的基于MySQL数据库运维方法的示意性流程图。其中,图1执行主体可以为一种基于MySQL数据库运维***。
如图1所示,该方法100包括:
步骤110,确定待审核SQL语句;
步骤120,审核所述待审核SQL语句并缓存;
步骤130,判断待审核SQL语句是否审核完成,若是则判断SQL语句是否需要执行,若否则将所述审核的SQL语句的审核结果以结果集的形式返回;
步骤140,若SQL语句需要执行,则判断SQL语句是否审核通过,若否则将所述SQL语句的审核结果以结果集的形式返回;若是则逐条执行审核通过的SQL语句;
步骤150,判断审核通过的SQL语句执行是否出错,若是则判断是否跳过执行错误的SQL语句,若是则继续执行下一条SQL语句,直到所有SQL语句均执行完毕,若否,则将所述执行错误的SQL语句的执行结果以结果集的形式返回。
在具体实现的过程中:
步骤110,确定待审核的数据库中的SQL语句,所述待审核的SQL语句包含多条SQL语句,对于多条SQL语句,需要审核或执行的SQL语句以分号分隔,在最前面以注释的方式写明审核、执行地址,同时指定连接数据库的用户名密码,例如:(--port=3306;--user=user;--password=password;*/sql1;sql2;sql3;),审核错误SQL语句可以智能识别。
步骤120,审核所述待审核SQL语句,即DBA来定义预设审核规则,按照预设规则审核SQL语句,对于每条SQL语句审核结果进行缓存且审核未通过的SQL语句进行报错,用来规范化SQL语句。
步骤130,判断待审核SQL语句是否审核完成,若是未审核完成继续审核,若是审核完成则判断SQL语句是否需要执行,若不需要执行则将所述缓存的SQL语句的审核结果以结果集的形式返回,缓存的出现错误的SQL语句也一次性反馈。
步骤140,若SQL语句需要执行,则判断SQL语句是否审核通过,若未审核通过则将所述缓存的SQL语句的审核结果以结果集的形式返回,未审核通过的SQL语句也一次性反馈;若审核通过则逐条执行审核通过的SQL语句。进入执行阶段之后,***会做为一个客户端,连接到线上数据库去执行SQL语句。
步骤150,判断审核通过的SQL语句执行是否出错,执行过程中,如果出错了,则需要判断是否跳过执行错误的SQL语句即--enable-force选项,若执行跳过选项,则跳过这一条执行下一条SQL语句,默认执行中断,依次执行,直到所有SQL语句均执行完毕,若不跳过执行,则将所述SQL语句的执行结果以结果集的形式返回,执行出现错误的SQL语句也一次性反馈。
可选地,作为本申请一个实施例,所述步骤140,还包括:
获取thread_id信息以及每条所述SQL语句执行前后的binlog位置信息。
在具体实现的过程中:
执行阶段需要获取SQL语句的thread_id信息、执行过程的开始binlog位置信息和结束binlog位置信息,以及每条所述目标SQL语句执行前后的binlog位置信息,主要是为了后面生成回滚语句时做过滤用。这样在后续进行备份时,可以只备份开始binlog位置信息和结束binlog位置信息之间的执行过程,在后续进行回滚时,可以根据所述当前执行语句的执行前后的binlog位置信息回滚出对应的回滚语句。
因此,本申请实施例可通过预先设立的规则对对待审核SQL语句进行语法分析、语义分析、过滤检查,规范化SQL语句且过滤风险性很大的SQL语句,MySQL自身实现对SQL语句的审核、执行等功能,无需DBA投入精力与开发人员交流SQL语句的问题、修改及规范性,增加了DBA的工作效率,提高了数据库的运维效率。
图2示出了本申请另一个实施例的基于MySQL数据库运维方法的示意性流程图。
如图2所示,该方法200还包括:
步骤210,判断SQL语句是否需要备份,若否则将SQL语句的执行结果以结果集的形式返回,是则将获取的binlog位置信息进行过滤,得到当前执行语句的binlog位置信息;
步骤220,提取所述当前执行语句的binlog位置信息,并解析所述binlog位置信息,得到所述当前执行语句对应的回滚语句,进行备份回滚;
步骤230,判断所述备份是否完成,若否,则继续依次执行过滤、备份回滚,直到备份完成。
在具体实现的过程中:
SQL语句执行完成后需要判断是否需要备份,如果没有则直接将当前执行结果以结果集的方式返回,如果需要备份,就进入备份阶段,根据上面获取到的binlog位置及thread_id,将从线上获取的binlog位置做过滤,取到属于当前语句产生的binlog位置,然后根据其中的数据,反过来拼出对应的回滚语句。然后备份完成之后,整个操作都完成了,那么此时再以结果集的方式将整个过程都返回。
图3示出了本申请一个实施例的方法的逻辑框图,该基于MySQL数据库运维方法具体包括如下步骤:
确定待审核SQL语句;
审核所述待审核SQL语句并缓存;
判断待审核SQL语句是否审核完成,若是则判断SQL语句是否需要执行,若否则将所述审核的SQL语句的审核结果以结果集的形式返回;
若SQL语句需要执行,则判断SQL语句是否审核通过,若否则将所述SQL语句的审核结果以结果集的形式返回;若是则逐条执行审核通过的SQL语句;
判断审核通过的SQL语句执行是否出错,若是则判断是否跳过执行错误的SQL语句,若是则继续执行下一条SQL语句,直到所有SQL语句均执行完毕,若否,则将所述执行错误的SQL语句的执行结果以结果集的形式返回;
判断SQL语句是否需要备份,若否则将SQL语句的执行结果以结果集的形式返回,是则将获取的binlog位置信息进行过滤,得到当前执行语句的binlog位置信息;
提取所述当前执行语句的binlog位置信息,并解析所述binlog位置信息,得到所述当前执行语句对应的回滚语句,进行备份回滚;
判断所述备份是否完成,若否,则继续依次执行过滤、备份回滚,直到备份完成,将备份。
在具体实现的过程中,通过对MySQL代码的改造,保留原MySQL服务器的一个框架,在这个基础框架上实现了我们上面提出的全新的需求。
协议:本申请中协议保留原来的格式,支持的协议是MySQL原生协议,直接使用MySQL接口就可以完成,同时它已经支持的接口功能比较完善,针对各种语言的协议支持比较完整。开发需要审核时,只需要将需要审核或执行的语句以分号分隔,在最前面以注释的方式写明将要在什么地址审核、执行,同时指定连接数据库的用户名密码,这样本发明所述的***就可以很智能的一次性指出里面存在的全部问题了。例如:/*--host=127.0.0.1;--port=3306;--user=user;--password=password;*/sql1;sql2;sql3。在本发明所述的协议中,在要审核或者执行的语句前面加上注释,来让本发明所述***知道具体要做什么操作,这其实是给本***提供了一些外部定义的一些接口,除上面所说的四个选项之外,还包括其它一些选项,具体为:--enable-check,用来指明这只是用来审核的,不需要执行;--enable-execute,用来指明当前的语句块需要先审核再执行;--enable-force,这用来指明,在执行过程中,如果某条SQL执行出现错误,就跳过这条语句,继续执行后面的语句,默认为执行中断;--enable-remote-backup,这个用来指明在执行完成之后,是不是要备份及生成回滚语句,默认是开启的。
审核:包括语法、语义分析、规则过滤这几个阶段。在审核中,我们第一次引入了通过语法分析来实现,并且语法规则和MySQL的语法规则完美兼容,审核的准确度非常高。同时加入一些新的规则,完全杜绝了一些已知的具有很高风险的SQL语句的出现,同时不再会出现一些低级错误,导致DBA还要花额外的时间来处理,极大提高DBA工作效率及准确性。在语法分析完成之后,进入语法分析,语义分析阶段主要是分析是否存在一些逻辑上的明显的问题,如果存在问题,则报错并缓存,还包括一些SQL语句中涉及到的对象是不是存在等问题,做语义分析时,需要用到什么数据库对象,则需要连接到线上数据库服务器,如果需要则连接到线上数据库服务器通过简单的show命令,将对象结构取回来在本地对比,然后确定是不是符合规则,不符合则报错并缓存。语义分析完成之后,再在语法语义分析的基础上,做规则过滤检查,这个主要是用来做语句规范化的,因为已经有了语法分析的结果了,这结果中包括了所有这些语句涉及到的信息,那么在此基础上对语句检查是不是符合规则,非常容易,并且扩展性非常好,在检查之后,如果不符合我们定义的规范,则报错并且缓存,这些规范是由我们DBA来定义的,用来规范化SQL语句而做的。这里涉及到的所有错误,都是先针对每条SQL语句,先缓存起来,最后在完成所有的语句之后,通过结果集的方式一起返回。
执行:在上面审核通过的基础上,因为所有的SQL语句都被缓存起来了,到执行阶段,依次执行每一条语句。此时当前发明的***就作为线上数据库的客户端连接到线上数据库,然后执行语句。如果需要备份,则要在执行前取到线上数据库binlog的位置以及当前连接的thread_id信息,需要连接到线上取回来,执行操作本身也是通过连接到线上直接通过MySQL接口来执行对应的SQL语句,在执行后也取一次线上binlog的位置,这将用于后面的备份于回滚。
备份:需要根据前面获取到的binlog位置及thread_id来获取binlog,这个操作是需要从线上服务器获取,此时本***的角色相当于线上服务器的一个从库。实现方式是在本发明所说的***中配置一个远程备份服务器,在做执行操作并且选择备份的情况下,本***会自动将本次执行的所有SQL相关的信息备份到远程备份服务器上面,这些信息包括:每条SQL语句,执行前后的binlog位置,操作的数据库,操作的数据库地址,回滚序号(下面回滚部分会用到)等。但线上数据库服务器是多个,备份服务器只有一个,那么他们之间的对应关系是按库对应的,线上的一个库对应的备份服务器中的库名是根据线上库所在地址的IP加上端口再加上库名组成的,所以库之间还是一对一的关系。
回滚:是一个很重要的部分,迁涉一些风险很大的语句或者在执行错误之后,如何处理的问题,有了这个功能,就可以在秒级内直接回滚,避免出现经济损失。回滚包括DML语句的回滚及DDL语句的回滚,针对DML的回滚,因为上面在备份阶段,已经知道了每条语句执行前后对应的binlog位置及thread_id,那么在执行完成之后,针对每条SQL语句,将对应的属于自己的binlog取回来,因为***、删除、更新操作生成的binlog都包括我们回滚所需要的数据,那么针对***语句,解析binlog,生成一条DELETE语句;针对删除操作,生成一条***语句;针对更新语句,生成一条反更新语句,这样就间接的实现了回滚的目的。所有的操作都可以在秒级内回滚,在执行完成之后,直接就生成了被执行SQL语句的回滚语句,如果需要回滚,则直接拿出来执行即可。但针对更新或者删除,通常一条SQL语句有可能影响一行以上的数据,那么生成的回滚语句就是多个,因为一个回滚语句只是针对一行的,因为这里有一个问题需要注意,在执行前必须要将binlog_format修改为row模式,这样才能产生row格式的binlog,从而才可以从中提取到数据生成回滚语句。
返回方式:审核或者执行过程中有什么问题,特别是审核部分,有什么错误必须要报出来,才能让开发进一步修改,符合规范,那么这里需要一个很友好的、易处理的方式来解决这个问题。本申请第一次提出来以结果集方式将审核结果报出来的,使用这种方案的好处有很多,包括:已经有很多成熟的MySQL接口可以方便处理MySQL结果集,所以不需要本***再做额外的工作去支持结果集的处理;可以容纳更多的内容,之前的很多审核***,每次审核只能返回一个错误,很不友好,而本发明可以一次性将所有不符合规范的问题以结果集的方式返回,这样就可以做到一目了然,心中有数,进而可以一次性将所有问题修改好,极大提高工作效率。
结果集内容:上面说了所有的审核结果,都是以MySQL结果集返回的,它包括以下的列:ID(SQL块中单条语句所处的序号)、错误分级(影响执行的语句的等级为2,不影响执行但不符合规则的语句的等级为1,完全没有问题的语句的等级为0)、错误信息(单条语句在审核中出现的所有问题或者错误都存储在这个列中)、当前的SQL语句、影响行数(执行前是预计影响行数,执行后是实际影响行数,这个对我们审核一个语句很重要)、执行序号(这个和上面备份时提到的是一个值,用来在回滚的时候从备份表中找到对应的回滚语句)。所有的审核、执行、备份等操作完成之后,返回信息都是以结果集的方式返回,在其中出现任何错误或者问题,都可以一次性的全部返回,一目了然,极大提高工作效率。
在线改表:在MySQL***中,对大表的DDL操作对数据库的影响是很大的,一般需要锁表,表越大,锁的时间越长,在这段时间内,整个表都不能被访问了。在本申请中,为了能全自动的运维执行线上操作,所做的改进主要是实现方式上先创建一个将目标表结构修改之后的结构的swap表,然后再创建三个触发器,分别是增删改三种事件的触发器,它们的动作分别是:当***新数据时,就将新的数据也往swap表中***一份,当更新数据时,也更新一次swap表的相应的数据,如果不存在就忽略,当删除数据时,就同时在swap表中执行一次同样的删除,有了这三个触发器,就可以将数据一部分一部分的从原表向swap表中搬运了,因为这三个触发器可以保证在改表期间,所有对旧表的修改都会反映到swap上面,那么当搬完之后,将这两个表的名字互换一下,就完成了整个修改表的操作,而只有这个互换名字的时候才需要很短暂的锁一下表,之后做些清理操作,比如删除旧表、触发器等,这样就完成了在线改表操作,不会再出现长时间锁表的情况。支持在线改表操作,本***可以直接对线上的大表执行不锁表的修改操作,从而避免一些故障的产生,或者从此之后,改表操作再也不需要到半夜去做了。
图4示出了本申请另一个实施例的基于MySQL数据库运维方法的示意性流程图。
如图4所示,所述审核所述待审核SQL语句并缓存,具体包括:
步骤410,按照预设的语法规则对所述待审核SQL语句逐一进行语法分析;
步骤420,若所述待审核SQL语句不符合所述预设的语法规则,报错并缓存不满足预设语法规则的SQL语句;
步骤430,判断所述语法分析是否完成,若是,则按照预设的语义分析规则对所述SQL语句逐一进行语义分析;
步骤440,若所述待审核SQL语句不符合所述预设的语义分析规则,则报错并缓存不满足预设语义分析规则的SQL语句;
步骤450,判断所述语义分析是否完成,若是,则按照预设的过滤检查规则对所述SQL语句进行规则过滤;
步骤460,若所述待审核SQL语句不符合所述预设的过滤检查规则,则报错并缓存不满足预设过滤检查规则的SQL语句。
在具体实现的过程中,审核包括语法分析、语义分析、规则过滤这几个阶段,在审核中,首先设定预设的语法规则,根据预设的语法规则和MySQL的语法规则逐条判断待审核SQL语句是否满足语法分析,若是,则判断下一条所述SQL语句,若否,则报错且将所述不满足预设的语法规则的SQL语句以及对应的错误原因进行缓存,提示所述SQL语句具有语法错误,并报告所述SQL语句错误的原因,以方便后续对所述报错的SQL语句进行分析修改。判断所有所述SQL语句是否都完成了语法分析,若否,则继续进行语法分析,若是,则对所述目标SQL语句进行语义分析。逐条判断SQL语句是否符合语义规则,若是,则判断下一条所述SQL语句,若否,则报错且将所述不满足预设的语义规则的SQL语句以及对应的错误原因进行缓存,提示所述SQL语句具有语义错误,并报告所述SQL语句错误的原因。判断所述语义分析是否完成,若是,则按照预设的过滤检查规则对所述SQL语句进行规则过滤;逐条判断所述待审核SQL语句是否符合所述预设的过滤检查规则,若否则报错并缓存不满足预设过滤检查规则的SQL语句。
所述语法分析即识别SQL语句什么意思,通过预设的语法规则和MySQL的语法规则完美兼容,确定SQL语句是否符合规则,不符合则报错并缓存,审核的准确度非常高,同时加入一些新的语法规则,通过这些预设的语法规则和设置的新的语法规则进行语法分析后,完全杜绝已知的具有很高风险的SQL语句的出现,同时不再会出现一些低级错误,导致DBA还要花额外的时间来处理,极大提高DBA工作效率及准确性。在语法分析完成之后进入语义分析阶段。
所述语义分析即对SQL语句进行逻辑分析和SQL语句中涉及到的对象进行分析。语义分析对SQL语句进行逻辑分析即分析SQL语句是否存在一些逻辑上的明显的问题,如果存在问题,则报错。语义分析对SQL语句中涉及到的对象进行分析即分析一些SQL语句中涉及到的对象是不是存在等问题,如果需要,则连接到线上数据库服务器将对象取回来,对比,然后确定是不是符合规则,不符合则报错。
所述规则过滤检查,这个主要是用来做语句规范化的,因为已经有了语法分析的结果了,这结果中包括了所有这些语句涉及到的信息,那么在此基础上对语句检查是不是符合过滤规则,不符合则报错并缓存。
这里涉及到的所有错误,都是先针对每条SQL语句,先缓存起来,最后在完成所有的语句之后,通过结果集的方式一起返回。
可选地,作为本申请一个实施例,所述审核所述待审核SQL语句并缓存,还包括:
将所述存不满足预设语法规则的SQL语句、不满足预设语义分析规则的SQL语句、不满足预设过滤检查规则的SQL语句以结果集的方式返回。
图5示出了本申请一个实施例的基于MySQL数据库运维***的示意性框图。
如图5所示,该***500包括:
确定单元510,所述确定单元510用于确定待审核SQL语句;
审核单元520,所述审核单元520用于对所述待审核SQL语句进行审核并缓存;
第一判断单元530,所述第一判断单元530用于判断待审核SQL语句是否审核完成,若是则判断SQL语句是否需要执行,若否则将所述审核的SQL语句的审核结果以结果集的形式返回;
第二判断单元540,所述第二判断单元540用于若SQL语句需要执行,则判断SQL语句是否审核通过,若否则将所述SQL语句的审核结果以结果集的形式返回;若是则逐条执行审核通过的SQL语句;
第三判断单元550,所述第三判断单元550用于判断审核通过的SQL语句执行是否出错,若是则判断是否跳过执行错误的SQL语句,若是则继续执行下一条SQL语句,直到所有SQL语句均执行完毕,若否,则将所述执行错误的SQL语句的执行结果以结果集的形式返回。
可选地,作为本申请一个实施例,上述***500还包括:
获取单元,所述获取单元用于获取thread_id信息以及每条所述SQL语句执行前后的binlog位置信息。
图6示出了本申请另一个实施例的基于MySQL数据库运维***的示意性框图。
如图6所示,该***600还包括:
第四判断单元610,所述第四判断单元610用于判断SQL语句是否需要备份,若否则将SQL语句的执行结果以结果集的形式返回,是则将获取的binlog位置信息进行过滤,得到当前执行语句的binlog位置信息;
备份回滚单元620,所述备份回滚单元620用于提取所述当前执行语句的binlog位置信息,并解析所述binlog位置信息,得到所述当前执行语句对应的回滚语句,进行备份回滚;
第五判断单元630,所述第五判断单元630用于判断所述备份是否完成,若否,则继续依次执行过滤、备份回滚,直到备份完成。
图7示出了本申请另一个实施例的基于MySQL数据库运维***的示意性框图。
如图7所示,该***700的审核单元具体包括:
语法分析单元710,所述语法分析单元710用于按照预设的语法规则对所述待审核SQL语句逐一进行语法分析;
第一缓存单元720,所述第一缓存单元720用于若所述待审核SQL语句不符合所述预设的语法规则,报错并缓存不满足预设语法规则的SQL语句;
语义分析单元730,所述语义分析单元730用于判断所述语法分析是否完成,若是,则按照预设的语义分析规则对所述SQL语句逐一进行语义分析;
第二缓存单元740,所述第二缓存单元740用于若所述待审核SQL语句不符合所述预设的语义分析规则,则报错并缓存不满足预设语义分析规则的SQL语句;
规则过滤单元750,所述规则过滤单元750用于判断所述语义分析是否完成,若是,则按照预设的过滤检查规则对所述SQL语句进行规则过滤;
第三缓存单元760,所述第三缓存单元760用于若所述待审核SQL语句不符合所述预设的过滤检查规则,则报错并缓存不满足预设过滤检查规则的SQL语句。
可选地,作为本申请一个实施例,所述审核单元520还包括:
显示单元,所述显示单元用于将所述存不满足预设语法规则的SQL语句、不满足预设语义分析规则的SQL语句、不满足预设过滤检查规则的SQL语句以结果集的方式返回。
图8为本发明实施例提供的一种受控终端800的结构示意图,该受控终端800可以用于执行本申请实施例提供的运维MySQL数据库的方法。
其中,该受控终端800可以包括:处理器810、存储器820及通信单元830。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本申请的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器820可以用于存储处理器810的执行指令,存储器820可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器820中的执行指令由处理器810执行时,使得终端800能够执行以下上述方法实施例中的部分或全部步骤。
处理器810为存储设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子设备的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器810可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本申请实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元830,用于建立通信信道,从而使所述存储设备可以与其它设备进行通信。接收其他设备发送的用户数据或者向其他设备发送用户数据。
本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
在本申请所提供的几个实施例中,应该理解到,所揭露的***和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种基于MySQL数据库运维方法,其特征在于,所述方法包括:
确定待审核SQL语句;
审核所述待审核SQL语句并缓存;
判断待审核SQL语句是否审核完成,若是则判断SQL语句是否需要执行,若否则将所述审核的SQL语句的审核结果以结果集的形式返回;
若SQL语句需要执行,则判断SQL语句是否审核通过,若否则将所述SQL语句的审核结果以结果集的形式返回;若是则逐条执行审核通过的SQL语句;
判断审核通过的SQL语句执行是否出错,若是则判断是否跳过执行错误的SQL语句,若是则继续执行下一条SQL语句,直到所有SQL语句均执行完毕,若否,则将所述执行错误的SQL语句的执行结果以结果集的形式返回。
2.根据权利要求1所述的方法,其特征在于,所述若SQL语句需要执行,则判断SQL语句是否审核通过,若否则将所述未审核通过的SQL语句以结果集的形式返回;若是则逐条执行审核通过的SQL语句,还包括:
获取thread_id信息以及每条所述SQL语句执行前后的binlog位置信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
判断SQL语句是否需要备份,若否则将SQL语句的执行结果以结果集的形式返回,是则将获取的binlog位置信息进行过滤,得到当前执行语句的binlog位置信息;
提取所述当前执行语句的binlog位置信息,并解析所述binlog位置信息,得到所述当前执行语句对应的回滚语句,进行备份回滚;
判断所述备份是否完成,若否,则继续依次执行过滤、备份回滚,直到备份完成。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述审核所述待审核SQL语句并缓存,包括:
按照预设的语法规则对所述待审核SQL语句逐一进行语法分析;
若所述待审核SQL语句不符合所述预设的语法规则,报错并缓存不满足预设语法规则的SQL语句;
判断所述语法分析是否完成,若是,则按照预设的语义分析规则对所述SQL语句逐一进行语义分析;
若所述待审核SQL语句不符合所述预设的语义分析规则,则报错并缓存不满足预设语义分析规则的SQL语句;
判断所述语义分析是否完成,若是,则按照预设的过滤检查规则对所述SQL语句进行规则过滤;
若所述待审核SQL语句不符合所述预设的过滤检查规则,则报错并缓存不满足预设过滤检查规则的SQL语句。
5.根据权利要求4中所述的方法,其特征在于,所述确定待审核SQL语句,对所述待审核SQL语句进行审核并缓存,还包括:
将所述存不满足预设语法规则的SQL语句、不满足预设语义分析规则的SQL语句、不满足预设过滤检查规则的SQL语句以结果集的方式返回。
6.一种基于MySQL数据库运维***,其特征在于,包括:
确定单元,所述确定单元用于确定待审核SQL语句;
审核单元,所述审核单元用于对所述待审核SQL语句进行审核并缓存;
第一判断单元,所述第一判断单元用于判断待审核SQL语句是否审核完成,若是则判断SQL语句是否需要执行,若否则将所述审核的SQL语句的审核结果以结果集的形式返回;
第二判断单元,所述第二判断单元用于若SQL语句需要执行,则判断SQL语句是否审核通过,若否则将所述SQL语句的审核结果以结果集的形式返回;若是则逐条执行审核通过的SQL语句;
第三判断单元,所述第三判断单元用于判断审核通过的SQL语句执行是否出错,若是则判断是否跳过执行错误的SQL语句,若是则继续执行下一条SQL语句,直到所有SQL语句均执行完毕,若否,则将所述执行错误的SQL语句的执行结果以结果集的形式返回。
7.根据权利要求6所述的***,其特征在于,所述***还包括:
获取单元,所述获取单元用于获取thread_id信息以及每条所述SQL语句执行前后的binlog位置信息。
8.根据权利要求7所述的***,其特征在于,所述***还包括:
第二判断单元,所述备份判断单元用于判断SQL语句是否需要备份,若否则将SQL语句的执行结果以结果集的形式返回,是则将获取的binlog位置信息进行过滤,得到当前执行语句的binlog位置信息;
备份回滚单元,所述备份回滚单元用于提取所述当前执行语句的binlog位置信息,并解析所述binlog位置信息,得到所述当前执行语句对应的回滚语句,进行备份回滚;
所述第二判断单元还用于判断所述备份是否完成,若否,则继续依次执行过滤、备份回滚,直到备份完成。
9.根据权利要求6至8中任一项所述的***,其特征在于,所述审核单元包括:
语法分析单元,所述语法分析单元用于按照预设的语法规则对所述待审核SQL语句逐一进行语法分析;
第一缓存单元,所述第一缓存单元用于若所述待审核SQL语句不符合所述预设的语法规则,报错并缓存不满足预设语法规则的SQL语句;
语义分析单元,所述语义分析单元用于判断所述语法分析是否完成,若是,则按照预设的语义分析规则对所述SQL语句逐一进行语义分析;
第二缓存单元,所述第二缓存单元用于若所述待审核SQL语句不符合所述预设的语义分析规则,则报错并缓存不满足预设语义分析规则的SQL语句;
规则过滤单元,所述规则过滤单元用于判断所述语义分析是否完成,若是,则按照预设的过滤检查规则对所述SQL语句进行规则过滤;
第三缓存单元,所述第三缓存单元用于若所述待审核SQL语句不符合所述预设的过滤检查规则,则报错并缓存不满足预设过滤检查规则的SQL语句。
10.一种受控终端,其特征在于,包括:
处理器;以及用于存储处理器的执行指令的存储器;
其中,所述处理器用于执行权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811230149.3A CN109284282A (zh) | 2018-10-22 | 2018-10-22 | 一种基于MySQL数据库运维方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811230149.3A CN109284282A (zh) | 2018-10-22 | 2018-10-22 | 一种基于MySQL数据库运维方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109284282A true CN109284282A (zh) | 2019-01-29 |
Family
ID=65177841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811230149.3A Pending CN109284282A (zh) | 2018-10-22 | 2018-10-22 | 一种基于MySQL数据库运维方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284282A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597823A (zh) * | 2019-09-20 | 2019-12-20 | 四川长虹电器股份有限公司 | 一种支持MySQL数据库在线DDL操作的方法 |
CN110659327A (zh) * | 2019-08-16 | 2020-01-07 | 平安科技(深圳)有限公司 | 实现异构数据库之间数据交互式查询的方法和相关装置 |
CN110674161A (zh) * | 2019-09-20 | 2020-01-10 | 上海擎感智能科技有限公司 | 上线sql的方法、***、存储介质及sql操作平台 |
CN110716922A (zh) * | 2019-10-21 | 2020-01-21 | 深圳前海环融联易信息科技服务有限公司 | 基于Inception的数据库运维方法、装置、计算机设备及存储介质 |
CN110795450A (zh) * | 2019-09-12 | 2020-02-14 | 连连银通电子支付有限公司 | Sql处理方法及装置 |
CN111241125A (zh) * | 2020-01-08 | 2020-06-05 | 成都嗨学洛子教育科技有限公司 | 一种记录操作日志的方法、装置、电子设备和存储介质 |
CN111259040A (zh) * | 2020-02-19 | 2020-06-09 | 中国工商银行股份有限公司 | Sql语句审核方法和*** |
CN111291990A (zh) * | 2020-02-04 | 2020-06-16 | 浙江大华技术股份有限公司 | 一种质量监控处理方法及装置 |
CN112035580A (zh) * | 2020-06-30 | 2020-12-04 | 中国民航信息网络股份有限公司 | 一种Oracle数据库的智能审核方法及*** |
WO2021022702A1 (zh) * | 2019-08-07 | 2021-02-11 | 平安科技(深圳)有限公司 | 日志***方法、装置、计算机装置及存储介质 |
CN113138974A (zh) * | 2021-04-23 | 2021-07-20 | 建信金融科技有限责任公司 | 数据库合规检测的方法和装置 |
CN113672491A (zh) * | 2020-05-14 | 2021-11-19 | 深圳市华胜软件技术有限公司 | 检测sql语句合法性的方法、存储介质及终端设备 |
CN113742371A (zh) * | 2021-11-08 | 2021-12-03 | 北京安华金和科技有限公司 | 一种sql语句块分析处理方法和装置 |
CN115757459A (zh) * | 2022-10-20 | 2023-03-07 | 贵州多彩宝互联网服务有限公司 | 一种基于MySQL数据库操作审计、回滚的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391995A (zh) * | 2014-12-15 | 2015-03-04 | 北京趣拿软件科技有限公司 | 一种sql语句审核的方法、数据库运维的方法及*** |
US20160283506A1 (en) * | 2015-03-24 | 2016-09-29 | Datos IO Inc. | ON-THE-FLY DEDUPLICATION DURING DATA MOVEMENT FOR NoSQL DATA STORES |
CN106980637A (zh) * | 2016-09-28 | 2017-07-25 | 平安科技(深圳)有限公司 | Sql审核方法和装置 |
CN108415991A (zh) * | 2018-02-12 | 2018-08-17 | 广州市贝聊信息科技有限公司 | 一种sql审核方法与*** |
-
2018
- 2018-10-22 CN CN201811230149.3A patent/CN109284282A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391995A (zh) * | 2014-12-15 | 2015-03-04 | 北京趣拿软件科技有限公司 | 一种sql语句审核的方法、数据库运维的方法及*** |
US20160283506A1 (en) * | 2015-03-24 | 2016-09-29 | Datos IO Inc. | ON-THE-FLY DEDUPLICATION DURING DATA MOVEMENT FOR NoSQL DATA STORES |
CN106980637A (zh) * | 2016-09-28 | 2017-07-25 | 平安科技(深圳)有限公司 | Sql审核方法和装置 |
CN108415991A (zh) * | 2018-02-12 | 2018-08-17 | 广州市贝聊信息科技有限公司 | 一种sql审核方法与*** |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021022702A1 (zh) * | 2019-08-07 | 2021-02-11 | 平安科技(深圳)有限公司 | 日志***方法、装置、计算机装置及存储介质 |
CN110659327A (zh) * | 2019-08-16 | 2020-01-07 | 平安科技(深圳)有限公司 | 实现异构数据库之间数据交互式查询的方法和相关装置 |
CN110795450A (zh) * | 2019-09-12 | 2020-02-14 | 连连银通电子支付有限公司 | Sql处理方法及装置 |
CN110597823A (zh) * | 2019-09-20 | 2019-12-20 | 四川长虹电器股份有限公司 | 一种支持MySQL数据库在线DDL操作的方法 |
CN110674161A (zh) * | 2019-09-20 | 2020-01-10 | 上海擎感智能科技有限公司 | 上线sql的方法、***、存储介质及sql操作平台 |
CN110716922A (zh) * | 2019-10-21 | 2020-01-21 | 深圳前海环融联易信息科技服务有限公司 | 基于Inception的数据库运维方法、装置、计算机设备及存储介质 |
CN111241125A (zh) * | 2020-01-08 | 2020-06-05 | 成都嗨学洛子教育科技有限公司 | 一种记录操作日志的方法、装置、电子设备和存储介质 |
CN111241125B (zh) * | 2020-01-08 | 2023-06-02 | 北京数培通网络科技有限公司 | 一种记录操作日志的方法、装置、电子设备和存储介质 |
CN111291990B (zh) * | 2020-02-04 | 2023-11-07 | 浙江大华技术股份有限公司 | 一种质量监控处理方法及装置 |
CN111291990A (zh) * | 2020-02-04 | 2020-06-16 | 浙江大华技术股份有限公司 | 一种质量监控处理方法及装置 |
CN111259040B (zh) * | 2020-02-19 | 2023-04-11 | 中国工商银行股份有限公司 | Sql语句审核方法和*** |
CN111259040A (zh) * | 2020-02-19 | 2020-06-09 | 中国工商银行股份有限公司 | Sql语句审核方法和*** |
CN113672491A (zh) * | 2020-05-14 | 2021-11-19 | 深圳市华胜软件技术有限公司 | 检测sql语句合法性的方法、存储介质及终端设备 |
CN113672491B (zh) * | 2020-05-14 | 2024-06-04 | 深圳市华胜软件技术有限公司 | 检测sql语句合法性的方法、存储介质及终端设备 |
CN112035580A (zh) * | 2020-06-30 | 2020-12-04 | 中国民航信息网络股份有限公司 | 一种Oracle数据库的智能审核方法及*** |
CN113138974A (zh) * | 2021-04-23 | 2021-07-20 | 建信金融科技有限责任公司 | 数据库合规检测的方法和装置 |
CN113138974B (zh) * | 2021-04-23 | 2023-08-22 | 建信金融科技有限责任公司 | 数据库合规检测的方法和装置 |
CN113742371A (zh) * | 2021-11-08 | 2021-12-03 | 北京安华金和科技有限公司 | 一种sql语句块分析处理方法和装置 |
CN113742371B (zh) * | 2021-11-08 | 2022-02-15 | 北京安华金和科技有限公司 | 一种sql语句块分析处理方法和装置 |
CN115757459A (zh) * | 2022-10-20 | 2023-03-07 | 贵州多彩宝互联网服务有限公司 | 一种基于MySQL数据库操作审计、回滚的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284282A (zh) | 一种基于MySQL数据库运维方法和*** | |
CN108600148B (zh) | 一种交易报文处理方法及装置 | |
CN104391995A (zh) | 一种sql语句审核的方法、数据库运维的方法及*** | |
US7213233B1 (en) | Modeling standards validation tool for use in enterprise architecture modeling | |
EP1819094A1 (en) | Script language based network device configuration management system and method | |
US7694272B2 (en) | Method, a language and a system for the definition and implementation of software solutions by using a visualizable computer executable modeling language | |
US20140109049A1 (en) | Code quality improvement | |
CN106126540B (zh) | 数据库访问***及其访问方法 | |
CN100462974C (zh) | 用于监控和调试查询执行对象的装置和方法 | |
US7634766B2 (en) | Method and apparatus for pattern-based system design analysis using a meta model | |
CN101196926A (zh) | 一种数据库访问平台及其访问方法 | |
US20040250257A1 (en) | System and method for generator state object validation | |
CN108984712A (zh) | 基于业务场景的造数方法、设备及可读存储介质 | |
CN102436473B (zh) | 菜单管理装置和菜单管理方法 | |
US9442822B2 (en) | Providing a visual representation of a sub-set of a visual program | |
CA2701046A1 (en) | Analysis of a system for matching data records | |
US7448028B2 (en) | System and method for selective local object retrieval | |
US20080059563A1 (en) | Methods and Systems for Automated Data Processing | |
CN111767574A (zh) | 用户权限确定方法、装置、电子设备及可读存储介质 | |
WO2006126992A1 (en) | Method and apparatus for tracking changes in a system | |
CN110046153A (zh) | 一种账户资金核对的方法、装置及设备 | |
Castro et al. | Testing data consistency of data-intensive applications using quickcheck | |
CN110597781B (zh) | 一种数据库的闪回删除方法及*** | |
CN109445872A (zh) | 一种应用于多网口Linux服务器确定各网口物理位置的方法 | |
CN111352818B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190129 |
|
WD01 | Invention patent application deemed withdrawn after publication |