发明内容
鉴于上述问题,本发明的实施例提出了一种数据库功能接口的生成方法、内置数据的处理方法及装置,以克服上述问题或者至少部分地解决上述问题。
依据本发明的一个方面,提供了一种数据库功能接口的生成方法,包括:确定能够对数据库内置数据进行处理的至少一个功能性操作;针对每个功能性操作,在所述数据库中生成能够执行该功能性操作的功能接口;将生成的功能接口与所述数据库内置数据建立调用关系,以供任一所述功能接口被调用时,利用该功能接口对所述数据库内置数据执行相应功能性操作。
可选地,所述数据库为MySQL数据库。
依据本发明的另一方面,提供了一种数据库内置数据的处理方法,包括:在运行数据库的过程中,接收到运行指令,其中,所述运行指令与根据上述的方法生成的功能接口存在一一对应关系;调用与接收到的所述运行指令对应的功能接口;以及,利用所述功能接口对数据库内置数据执行相应功能性操作。
可选地,所述方法进一步包括:利用所述功能接口对数据库内置数据执行相应功能性操作之后,根据预设方式对操作结果进行展示,其中,所述预设方式包括下列至少之一:滚动展示方式、弹窗显示方式、显示部分或全部所述执行结果的方式。
可选地,所述功能性操作包括下列至少之一:查询操作,其中,所述查询操作包括下列至少之一:访问量状态查询操作、索引状态查询操作、锁状态查询操作、授权信息查询操作、结构化查询语言SQL使用频率查询操作、输入输出消耗值查询操作;统计操作,其中,所述统计操作至少包括:访问量统计操作,和/或表信息统计操作;批量关闭进程操作;慢语句抓取操作;索引使用监控操作;清空操作。
可选地,所述利用所述功能接口对数据库内置数据执行相应功能性操作的步骤进一步包括:利用dbastat功能接口从information_schema.global_status表中,获取间隔预设时间的第一com_commit和第二com_commit,并进行差运算,得到第一差值;利用dbastat功能接口从information_schema.global_status表中,获取间隔所述预设时间的第一com_rollback和第二com_rollback,并进行差运算,得到第二差值;对所述第一差值和所述第二差值进行加和,并将得到的结果除以所述预设时间,得到访问量状态值。
可选地,所述方法进一步包括:得到访问量状态值之后,根据所述预设时间确定显示所述访问量状态值的循环次数;根据确定的循环次数对所述访问量状态值进行展示。
可选地,利用所述功能接口对数据库内置数据执行相应功能性操作的步骤进一步
包括:利用dbalock功能接口从information_schema.tables中获取库名称信息以及表名称
信息,并从performance_schema.table_io_waits_summary_by_index_usage中获取索引名
称信息;利用所述库名称信息、所述表名称信息以及所述索引名称信息确定未使用的索引,
完成索引状态查询操作。
可选地,所述方法进一步包括:确定未使用的索引之后,对所述确定未使用的索引进行列表显示。
可选地,利用所述功能接口对数据库内置数据执行相应功能性操作的步骤进一步包括:利用dbalock功能接口获取information_schema库中的INNODB_TRX表、INNODB_LOCK_WAITS表和INNODB_LOCKS表作为待管理数据;对比获取到的INNODB_TRX表、INNODB_LOCK_WAITS表和INNODB_LOCKS表,得到加锁的线程信息,完成锁状态查询操作,其中,所述加锁的线程信息包括下列至少之一:加锁的线程标识信息、线程加锁的时间信息、触发线程加锁的结构化查询语言SQL。
可选地,所述方法进一步包括:完成锁状态查询操作,并对所述加锁的线程信息进行展示。
可选地,所述方法还包括:接收到运行指令之前,利用登录标识信息登录所述数据库。
可选地,所述数据库为MySQL数据库。
依据本发明的又一方面,提供了一种数据库功能接口的生成装置,包括:确定模块,适于确定能够对数据库内置数据进行处理的至少一个功能性操作;生成模块,适于针对每个功能性操作,在所述数据库中生成能够执行该功能性操作的功能接口;关系建立模块,适于将生成的功能接口与所述数据库内置数据建立调用关系,以供任一所述功能接口被调用时,利用该功能接口对所述数据库内置数据执行相应功能性操作。
可选地,所述数据库为MySQL数据库。
依据本发明的再一方面,还提供了一种数据库内置数据的处理装置,包括:接收模块,适于在运行数据库的过程中,接收到运行指令,其中,所述运行指令与根据上述的装置生成的功能接口存在一一对应关系;调用模块,适于调用与接收到的所述运行指令对应的功能接口;处理模块,适于利用所述功能接口对数据库内置数据执行相应功能性操作。
可选地,所述装置还包括:显示模块,适于利用所述功能接口对数据库内置数据执行相应功能性操作之后,根据预设方式对操作结果进行展示,其中,所述预设方式包括下列至少之一:滚动展示方式、弹窗显示方式、显示部分或全部所述执行结果的方式。
可选地,所述功能性操作包括下列至少之一:查询操作,其中,所述查询操作包括下列至少之一:访问量状态查询操作、索引状态查询操作、锁状态查询操作、授权信息查询操作、结构化查询语言SQL使用频率查询操作、输入输出消耗值查询操作;统计操作,其中,所述统计操作至少包括:访问量统计操作,和/或表信息统计操作;批量关闭进程操作;慢语句抓取操作;索引使用监控操作;清空操作。
可选地,所述处理模块还包括:获取单元,适于利用dbastat功能接口从information_schema.global_status表中,获取间隔预设时间的第一com_commit和第二com_commit;以及,利用dbastat功能接口从information_schema.global_status表中,获取间隔所述预设时间的第一com_rollback和第二com_rollback;确定单元,适于对所述第一com_commit和所述第二com_commit进行差值运算,得到第一差值;对所述第一com_rollback和所述第二com_rollback进行差值运算,得到第二差值;以及,对所述第一差值和所述第二差值进行加和,并将得到的结果除以所述预设时间,得到访问量状态值。
可选地,所述显示模块还适于:根据所述预设时间确定显示所述访问量状态值的循环次数;根据确定的循环次数对所述访问量状态值进行展示。
可选地,所述处理模块还包括:所述获取单元,还适于利用dbalock功能接口从
information_schema.tables中获取库名称信息以及表名称信息,并从performance_
schema.table_io_waits_summary_by_index_usage中获取索引名称信息;所述确定单元,
还适于利用所述库名称信息、所述表名称信息以及所述索引名称信息确定未使用的索引,
完成索引状态查询操作。
可选地,所述显示模块还适于:确定未使用的索引之后,对所述确定未使用的索引进行列表显示。
可选地,所述处理模块还包括:所述获取单元,还适于利用dbalock功能接口获取information_schema库中的INNODB_TRX表、INNODB_LOCK_WAITS表和INNODB_LOCKS表作为待管理数据;所述确定单元,还适于对比获取到的INNODB_TRX表、INNODB_LOCK_WAITS表和INNODB_LOCKS表,得到加锁的线程信息,完成锁状态查询操作,其中,所述加锁的线程信息包括下列至少之一:加锁的线程标识信息、线程加锁的时间信息、触发线程加锁的结构化查询语言SQL。
可选地,所述显示模块还适于:完成锁状态查询操作,对所述加锁的线程信息进行展示。
可选地,所述装置还包括:登录模块,适于当所述接收模块接收到任一运行指令之前,利用登录标识信息登录所述数据库。
可选地,所述数据库为MySQL数据库。
依据本发明实施例的数据库功能接口的生成方法,确定能够对数据库内置数据进行处理的至少一个功能性操作,针对每个功能性操作,在数据库中生成能够执行该功能性操作的功能接口,并将生成的功能接口与数据库内置数据建立调用关系,以供任一功能接口被调用时,利用该功能接口对数据库内置数据执行相应功能性操作。由此可见,本发明实施例的生成方法生成的对数据库内置数据进行处理的功能接口,为在数据库中生成的功能接口,不依赖外部环境和/或外部工具,为数据库自身提供。例如,对数据库内置数据进行处理的功能接口可以是基于数据库存储过程,并利用SQL语句编写的功能接口。当数据库运行时,无需任何附加条件,即可以使用本例中生成的功能接口对数据库执行管理等功能性操作,能够解决现有技术中仅能够使用外部环境和/或外部工具对数据库内置数据进行处理的问题。因此,利用依据本发明实施例的数据库功能接口的生成方法生成的功能接口对数据库执行功能性操作,能够大幅度减少处理数据库内置数据时对外部的依赖性,进而能够有效降低维护成本,并且能够使得对数据库的管理等操作不受时间和/或空间上的限制,扩大数据库的使用范围。另外,利用依据数据库自身的工具和/或环境生成的功能接口直接对数据库内置数据进行处理,替代外部环境和/或外部工具的参与,能够节约内存资源,避免利用外部环境和/或外部工具对数据库的内置数据进行处理对数据库本身的运行造成不良影响。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
实施例三
在运行MySQL的过程中,若接收到锁状态查询指令(即运行指令之一),调用dbalock功能接口,并利用dbalock功能接口获取information_schema库中的INNODB_TRX表、INNODB_LOCK_WAITS表和INNODB_LOCKS表。对比获取到的INNODB_TRX表、INNODB_LOCK_WAITS表和INNODB_LOCKS表,得到加锁的线程信息,完成锁状态查询操作,并对得到的加锁的线程信息进行展示。在对加锁的线程信息进行展示时,可以展示获取到的各个加锁的线程信息,包括加锁的线程标识信息、线程加锁的时间信息,以及触发线程加锁的结构化查询语言(Structured Query Language,以下简称SQL)。
上文利用三个实施例对本发明实施例的MySQL内置数据的处理方法进行了进一步地介绍。需要说明的是,由上文可知本例中对MySQL内置数据执行的功能性操作包括能够对MySQL内置数据进行的任意处理,并不限于上述三个实施例中提供的功能性操作。例如,本例中还可以对MySQL内置数据执行的功能性操作包括:
(1)利用dbakill功能接口根据输入的字段类型调用information_schema.PROCESSLIST表中数据,并执行关闭对应的连接线程操作;
(2)利用dbaslow功能接口调用information_schema.PROCESSLIST表中数据,得出当前线上执行时间最长的预设数目(例如100)条SQL。
(3)利用dbatable功能接口调用information_schema.schemata和information_
schema.tables表,计算出库表分布,表大小、索引大小、表行数等信息;
(4)利用dbaindex功能接口调用information_schema.STATISTICS和
information_schema.tables表,对比得出指定库的表索引状态,以及表行数等信息;
(5)利用dbagrant功能接口调用数据库的授权信息,并根据提供的用户名,网络互联协议字段等模糊匹配列出符合的各授权信息;
(6)利用dbawarm功能接口调用information_schema中的tables,statistics,
columns,key_column_usage,以在各应用投入使用前对数据库执行预热操作;
(7)利用dbasqlmost功能接口对performance_schema.events_statements_summary_by_digest表进行计算,得出从启动时刻开始到当前时刻为止线上语句中执行次数最多的语句;
(8)利用dbahottable功能接口对performance_schema.table_io_waits_summary_by_index_usage表进行计算,得到访问频率最高的表名称信息;
(9)利用dbaiofile功能接口对performance_schema.table_io_waits_summary_by_index_usage表进行计算,得到输入输出消耗最高的文件的文件名称信息;
(10)利用dbacleanps功能接口对performance_schema下的各统计表执行清空操作;
(11)利用dbasqlanalyze功能接口对performance_schema库中的events_
statements_summary_by_digest、table_io_waits_summary_by_index_usage,和events_
waits_history以及information_schema中的tables等表进行联合计算,并得到单一SQL在
执行过程中各个步骤的耗时情况。
基于上文各实施提供的数据库功能接口的生成方法,基于同一发明构思,本发明实施例提供了一种数据库功能接口的生成装置。图3示出了根据本发明一个实施例的数据库功能接口的生成装置的结构示意图。参见图3,本发明实施例的数据库功能接口的生成装置至少包括确定模块310、生成模块320以及关系建立模块330。
现介绍本发明实施例的数据库功能接口的生成装置的各器件或组成的功能以及各部分间的连接关系:
确定模块310:适于确定能够对数据库内置数据进行处理的至少一个功能性操作;
生成模块320:与确定模块310相耦合,适于针对每个功能性操作,在数据库中生成能够执行该功能性操作的功能接口;
关系建立模块330:与生成模块320相耦合,适于将生成的功能接口与数据库内置数据建立调用关系,以供任一功能接口被调用时,利用该功能接口对数据库内置数据执行相应功能性操作。
在另一个实施例中,数据库为MySQL数据库。
基于上文各实施例提供的数据库内置数据的处理方法,基于同一发明构思,本发明实施例还提供了一种数据库内置数据的处理装置。图4示出了根据本发明一个实施例的数据库内置数据的处理装置的结构示意图。参见图4,本发明实施例的数据库内置数据的处理装置至少包括接收模块410、调用模块420以及处理模块430。
现介绍本发明实施例的数据库内置数据的处理装置的各器件或组成的功能以及各部分间的连接关系:
接收模块410:适于在运行数据库的过程中,接收到运行指令,其中,运行指令与根据上文介绍的数据库功能接口的生成装置生成的功能接口存在一一对应关系;
调用模块420:与接收模块410相耦合,适于调用与接收到的运行指令对应的功能接口;
处理模块430:与调用模块420相耦合,适于利用功能接口对数据库内置数据执行相应功能性操作。
图5示出了根据本发明另一个实施例的数据库内置数据的处理装置的结构示意图。请一并参考图4及图5,相对比图4中的数据库内置数据的处理装置,本实施例的数据库内置数据的处理装置(如图5所示)还包括:
显示模块440,与处理模块430相耦合,适于利用功能接口对数据库内置数据执行相应功能性操作之后,根据预设方式对操作结果进行展示,其中,预设方式包括下列至少之一:滚动展示方式、弹窗显示方式、显示部分或全部执行结果的方式。
在另一个的实施例中,功能性操作包括下列至少之一:
查询操作,其中,查询操作包括下列至少之一:访问量状态查询操作、索引状态查询操作、锁状态查询操作、授权信息查询操作、结构化查询语言SQL使用频率查询操作、输入输出消耗值查询操作;
统计操作,其中,统计操作至少包括:访问量统计操作,和/或表信息统计操作;批量关闭进程操作;慢语句抓取操作;索引使用监控操作;清空操作。
图6示出了根据本发明又一个实施例的数据库内置数据的处理装置的结构示意图。请一并参考图4及图6,相对比图4中的数据库内置数据的处理装置,本实施例的处理模块430(如图6所示)还包括:
获取单元431,适于利用dbastat功能接口从information_schema.global_status表中,获取间隔预设时间的第一com_commit和第二com_commit;以及
利用dbastat功能接口从information_schema.global_status表中,获取间隔预设时间的第一com_rollback和第二com_rollback;
确定单元432,与获取单元431相耦合,适于对第一com_commit和第二com_commit进行差值运算,得到第一差值;
对第一com_rollback和第二com_rollback进行差值运算,得到第二差值;以及
对第一差值和第二差值进行加和,并将得到的结果除以预设时间,得到访问量状态值。
在另一个实施例中,显示模块440还适于:
根据预设时间确定显示访问量状态值的循环次数;
根据确定的循环次数对访问量状态值进行展示。
在另一个实施例中,处理模块430还包括:
获取单元431,还适于利用dbalock功能接口从information_schema.tables中获
取库名称信息以及表名称信息,并从performance_schema.table_io_waits_summary_by_
index_usage中获取索引名称信息;
确定单元432,还适于利用库名称信息、表名称信息以及索引名称信息确定未使用的索引,完成索引状态查询操作。
在另一个实施例中,显示模块440还适于:
确定未使用的索引之后,对确定未使用的索引进行列表显示。
在另一个实施例中,处理模块430还包括:
获取单元431,还适于利用dbalock功能接口获取information_schema库中的INNODB_TRX表、INNODB_LOCK_WAITS表和INNODB_LOCKS表作为待管理数据;
确定单元432,还适于对比获取到的INNODB_TRX表、INNODB_LOCK_WAITS表和INNODB_LOCKS表,得到加锁的线程信息,完成锁状态查询操作,其中,加锁的线程信息包括下列至少之一:加锁的线程标识信息、线程加锁的时间信息、触发线程加锁的结构化查询语言SQL。
在另一个实施例中,显示模块440还适于:
完成锁状态查询操作,并对加锁的线程信息进行展示。
图7示出了根据本发明再一个实施例的数据库内置数据的处理装置的结构示意图。请一并参考图4及图7,相对比图4所示的数据库内置数据的处理装置,本实施例的数据库内置数据的处理装置(图7所示)还包括:
登录模块450,适于当接收模块接收到任一运行指令之前,利用登录标识信息登录数据库。
在另一个实施例中,数据库为MySQL数据库。
根据上述任意一个实施例或多个实施例的组合,本发明实施例能够达到如下有益效果:
依据本发明实施例的数据库功能接口的生成方法,确定能够对数据库内置数据进行处理的至少一个功能性操作,针对每个功能性操作,在数据库中生成能够执行该功能性操作的功能接口,并将生成的功能接口与数据库内置数据建立调用关系,以供任一功能接口被调用时,利用该功能接口对数据库内置数据执行相应功能性操作。由此可见,本发明实施例的生成方法生成的对数据库内置数据进行处理的功能接口,为在数据库中生成的功能接口,不依赖外部环境和/或外部工具,为数据库自身提供。例如,对数据库内置数据进行处理的功能接口可以是基于数据库存储过程,并利用SQL语句编写的功能接口。当数据库运行时,无需任何附加条件,即可以使用本例中生成的功能接口对数据库执行管理等功能性操作,能够解决现有技术中仅能够使用外部环境和/或外部工具对数据库内置数据进行处理的问题。因此,利用依据本发明实施例的数据库功能接口的生成方法生成的功能接口对数据库执行功能性操作,能够大幅度减少处理数据库内置数据时对外部的依赖性,进而能够有效降低维护成本,并且能够使得对数据库的管理等操作不受时间和/或空间上的限制,扩大数据库的使用范围。另外,利用依据数据库自身的工具和/或环境生成的功能接口直接对数据库内置数据进行处理,替代外部环境和/或外部工具的参与,能够节约内存资源,避免利用外部环境和/或外部工具对数据库的内置数据进行处理对数据库本身的运行造成不良影响。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置或者设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
本发明还公开了A1.一种数据库功能接口的生成方法,包括:
确定能够对数据库内置数据进行处理的至少一个功能性操作;
针对每个功能性操作,在所述数据库中生成能够执行该功能性操作的功能接口;以及
将生成的功能接口与所述数据库内置数据建立调用关系,以供任一所述功能接口被调用时,利用该功能接口对所述数据库内置数据执行相应功能性操作。
A2.根据A1所述的方法,其中,所述数据库为MySQL数据库。
本发明还公开了B3.一种数据库内置数据的处理方法,包括:
在运行数据库的过程中,接收运行指令,其中,所述运行指令与根据A1或A2所述的方法生成的功能接口存在一一对应关系;
调用与接收到的所述运行指令对应的功能接口;以及
利用所述功能接口对数据库内置数据执行相应功能性操作。
B4.根据B3所述的方法,其中,所述方法进一步包括:
利用所述功能接口对数据库内置数据执行相应功能性操作之后,根据预设方式对操作结果进行展示,其中,所述预设方式包括下列至少之一:滚动展示方式、弹窗展示方式、展示部分或全部所述操作结果的方式。
B5.根据B3或B4所述的方法,其中,所述功能性操作包括下列至少之一:查询操作,其中,所述查询操作包括下列至少之一:访问量状态查询操作、索引状态查询操作、锁状态查询操作、授权信息查询操作、结构化查询语言SQL使用频率查询操作、输入输出消耗值查询操作;统计操作,其中,所述统计操作至少包括:访问量统计操作,和/或表信息统计操作;批量关闭进程操作;慢语句抓取操作;索引使用监控操作;清空操作。
B6.根据B3-B5中任一项所述的方法,其中,所述利用所述功能接口对数据库内置数据执行相应功能性操作的步骤进一步包括:
利用dbastat功能接口从information_schema.global_status表中,获取间隔预设时间的第一com_commit和第二com_commit,并进行差运算,得到第一差值;利用dbastat功能接口从information_schema.global_status表中,获取间隔所述预设时间的第一com_rollback和第二com_rollback,并进行差运算,得到第二差值;对所述第一差值和所述第二差值进行加和,并将得到的结果除以所述预设时间,得到访问量状态值。
B7.根据B6所述的方法,其中,所述方法进一步包括:
得到访问量状态值之后,根据所述预设时间确定显示所述访问量状态值的循环次数;根据确定的循环次数对所述访问量状态值进行展示。
B8.根据B3-B5中任一项所述的方法,其中,利用所述功能接口对数据库内置数据执行相应功能性操作的步骤进一步包括:
利用dbaindexno功能接口从information_schema.tables中获取库名称信息以及
表名称信息,并从performance_schema.table_io_waits_summary_by_index_usage中获取
索引名称信息;利用所述库名称信息、所述表名称信息以及所述索引名称信息确定未使用
的索引,完成索引状态查询操作。
B9.根据B8所述的方法,其中,所述方法进一步包括:确定未使用的索引之后,对所述确定未使用的索引进行列表显示。
B10.根据B3-B5中任一项所述的方法,其中,利用所述功能接口对数据库内置数据执行相应功能性操作的步骤进一步包括:
利用dbalock功能接口获取information_schema库中的INNODB_TRX表、INNODB_LOCK_WAITS表和INNODB_LOCKS表作为待管理数据;对比获取到的所述INNODB_TRX表、所述INNODB_LOCK_WAITS表和所述INNODB_LOCKS表,得到加锁的线程信息,完成锁状态查询操作,其中,所述加锁的线程信息包括下列至少之一:加锁的线程标识信息、线程加锁的时间信息、触发线程加锁的结构化查询语言。
B11.根据B10所述的方法,其中,所述方法进一步包括:完成锁状态查询操作,并对所述加锁的线程信息进行展示。
B12.根据B3至B11任一项所述的方法,其中,所述方法还包括:接收到运行指令之前,利用登录标识信息登录所述数据库。
B13.根据B3至B12任一项所述的方法,其中,所述数据库为MySQL数据库。
本发明还公开了C14.一种数据库功能接口的生成装置,包括:
确定模块,适于确定能够对数据库内置数据进行处理的至少一个功能性操作;
生成模块,适于针对每个功能性操作,在所述数据库中生成能够执行该功能性操作的功能接口;
关系建立模块,适于将生成的功能接口与所述数据库内置数据建立调用关系,以供任一所述功能接口被调用时,利用该功能接口对所述数据库内置数据执行相应功能性操作。
C15.根据C14所述的装置,其中,所述数据库为MySQL数据库。
本发明还公开了D16.一种数据库内置数据的处理装置,包括:
接收模块,适于在运行数据库的过程中,接收运行指令,其中,所述运行指令与根据C14或C15所述的装置生成的功能接口存在一一对应关系;
调用模块,适于调用与接收到的所述运行指令对应的功能接口;
处理模块,适于利用所述功能接口对数据库内置数据执行相应功能性操作。
D17.根据D16所述的装置,其中,所述装置还包括:
显示模块,适于利用所述功能接口对数据库内置数据执行相应功能性操作之后,根据预设方式对操作结果进行展示,其中,所述预设方式包括下列至少之一:滚动展示方式、弹窗显示方式、显示部分或全部所述执行结果的方式。
D18.根据D16或D17所述的装置,其中,所述功能性操作包括下列至少之一:
查询操作,其中,所述查询操作包括下列至少之一:访问量状态查询操作、索引状态查询操作、锁状态查询操作、授权信息查询操作、结构化查询语言SQL使用频率查询操作、输入输出消耗值查询操作;统计操作,其中,所述统计操作至少包括:访问量统计操作,和/或表信息统计操作;批量关闭进程操作;慢语句抓取操作;索引使用监控操作;清空操作。
D19.根据D16-D18中任一项所述的装置,其中,所述处理模块还包括:
获取单元,适于利用dbastat功能接口从information_schema.global_status表中,获取间隔预设时间的第一com_commit和第二com_commit;以及
利用dbastat功能接口从information_schema.global_status表中,获取间隔所述预设时间的第一com_rollback和第二com_rollback;
确定单元,适于对所述第一com_commit和所述第二com_commit进行差值运算,得到第一差值;
对所述第一com_rollback和所述第二com_rollback进行差值运算,得到第二差值;以及
对所述第一差值和所述第二差值进行加和,并将得到的结果除以所述预设时间,得到访问量状态值。
D20.根据D19所述的装置,其中,所述显示模块还适于:根据所述预设时间确定显示所述访问量状态值的循环次数;根据确定的循环次数对所述访问量状态值进行展示。
D21.根据D16-D18中任一项所述的装置,其中,所述处理模块还包括:
所述获取单元,还适于利用dbalock功能接口从information_schema.tables中获
取库名称信息以及表名称信息,并从performance_schema.table_io_waits_summary_by_
index_usage中获取索引名称信息;所述确定单元,还适于利用所述库名称信息、所述表名
称信息以及所述索引名称信息确定未使用的索引,完成索引状态查询操作。
D22.根据D21所述的装置,其中,所述显示模块还适于:确定未使用的索引之后,对所述确定未使用的索引进行列表显示。
D23.根据D16-D18中任一项所述的装置,其中,所述处理模块还包括:
所述获取单元,还适于利用dbalock功能接口获取information_schema库中的INNODB_TRX表、INNODB_LOCK_WAITS表和INNODB_LOCKS表作为待管理数据;
所述确定单元,还适于对比获取到的INNODB_TRX表、INNODB_LOCK_WAITS表和INNODB_LOCKS表,得到加锁的线程信息,完成锁状态查询操作,其中,所述加锁的线程信息包括下列至少之一:加锁的线程标识信息、线程加锁的时间信息、触发线程加锁的结构化查询语言SQL。
D24.根据D23所述的装置,其中,所述显示模块还适于:完成锁状态查询操作,对所述加锁的线程信息进行展示。
D25.根据D16至D24任一项所述的装置,其中,所述装置还包括:
登录模块,适于当所述接收模块接收到任一运行指令之前,利用登录标识信息登录所述数据库。
D26.根据D16至D25任一项所述的装置,其中,所述数据库为MySQL数据库。