数据库内置数据的处理方法及装置与流程

文档序号:14555047阅读:214来源:国知局
原申请的申请日:20141224原申请的申请号:201410817129.1原申请的发明创造名称:数据库功能接口的生成方法、内置数据的处理方法及装置。本发明涉及互联网
技术领域
:,特别是涉及一种数据库内置数据的处理方法及装置。
背景技术
::一直以来,关联型数据库由于优越的数据处理速度以及数据处理灵活性得到大量用户的青睐。而在关联型数据库中,mysql以其体积小、速度快、总体拥有成本低、开放源码,以及所使用sql语言是用于访问数据库的最常用标准化语言等众多优点被越来越广泛的用户认可和使用。但是,现有技术中,mysql不存在自身的数据管理工具。在对其进行管理、统计、维护以及检测等多种操作时,需要使用外部环境和/或外部工具进行对应的处理操作。而这种对使用外部环境和/或外部工具的依赖,使得对mysql的管理等操作在时间和/或空间上具有较大的局限性,并且需要较高的的维护成本。技术实现要素:鉴于上述问题,本发明的实施例提出了一种数据库内置数据的处理方法及装置,以克服上述问题或者至少部分地解决上述问题。依据本发明的一个方面,提供了一种数据库功能接口的生成方法,包括:确定能够对数据库内置数据进行处理的至少一个功能性操作;针对每个功能性操作,在所述数据库中生成能够执行该功能性操作的功能接口;将生成的功能接口与所述数据库内置数据建立调用关系,以供任一所述功能接口被调用时,利用该功能接口对所述数据库内置数据执行相应功能性操作。可选地,所述数据库为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语句编写的功能接口。当数据库运行时,无需任何附加条件,即可以使用本例中生成的功能接口对数据库执行管理等功能性操作,能够解决现有技术中仅能够使用外部环境和/或外部工具对数据库内置数据进行处理的问题。因此,利用依据本发明实施例的数据库功能接口的生成方法生成的功能接口对数据库执行功能性操作,能够大幅度减少处理数据库内置数据时对外部的依赖性,进而能够有效降低维护成本,并且能够使得对数据库的管理等操作不受时间和/或空间上的限制,扩大数据库的使用范围。另外,利用依据数据库自身的工具和/或环境生成的功能接口直接对数据库内置数据进行处理,替代外部环境和/或外部工具的参与,能够节约内存资源,避免利用外部环境和/或外部工具对数据库的内置数据进行处理对数据库本身的运行造成不良影响。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。附图说明通过阅读下文实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本发明一个实施例的数据库功能接口的生成方法的处理流程图;图2示出了根据本发明一个实施例的数据库内置数据的处理方法的处理流程图;图3示出了根据本发明一个实施例的数据库功能接口的生成装置的结构示意图;图4示出了根据本发明一个实施例的数据库内置数据的处理装置的结构示意图;图5示出了根据本发明另一个实施例的数据库内置数据的处理装置的结构示意图;图6示出了根据本发明又一个实施例的数据库内置数据的处理装置的结构示意图;以及图7示出了根据本发明再一个实施例的数据库内置数据的处理装置的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。为解决上述技术问题,本发明实施例提供了一种数据库功能接口的生成方法。图1示出了根据本发明一个实施例的数据库功能接口的生成方法的处理流程图。请参考图1,该流程至少包括如下步骤:步骤s102:确定能够对数据库内置数据进行处理的至少一个功能性操作;步骤s104:针对每个功能性操作,在数据库中生成能够执行该功能性操作的功能接口;步骤s106:将生成的功能接口与数据库内置数据建立调用关系,以供任一功能接口被调用时,利用该功能接口对数据库内置数据执行相应功能性操作。依据本发明实施例的数据库功能接口的生成方法,确定能够对数据库内置数据进行处理的至少一个功能性操作,针对每个功能性操作,在数据库中生成能够执行该功能性操作的功能接口,并将生成的功能接口与数据库内置数据建立调用关系,以供任一功能接口被调用时,利用该功能接口对数据库内置数据执行相应功能性操作。由此可见,本发明实施例的生成方法生成的对数据库内置数据进行处理的功能接口,为在数据库中生成的功能接口,不依赖外部环境和/或外部工具,为数据库自身提供。例如,对数据库内置数据进行处理的功能接口可以是基于数据库存储过程,并利用sql语句编写的功能接口。当数据库运行时,无需任何附加条件,即可以使用本例中生成的功能接口对数据库执行管理等功能性操作,能够解决现有技术中仅能够使用外部环境和/或外部工具对数据库内置数据进行处理的问题。因此,利用依据本发明实施例的数据库功能接口的生成方法生成的功能接口对数据库执行功能性操作,能够大幅度减少处理数据库内置数据时对外部的依赖性,进而能够有效降低维护成本,并且能够使得对数据库的管理等操作不受时间和/或空间上的限制,扩大数据库的使用范围。另外,利用依据数据库自身的工具和/或环境生成的功能接口直接对数据库内置数据进行处理,替代外部环境和/或外部工具的参与,能够节约内存资源,避免利用外部环境和/或外部工具对数据库的内置数据进行处理对数据库本身的运行造成不良影响。需要说明的是,本发明实施例中的数据库可以是任意能够利用自身的工具和/或环境生成功能接口以对内置数据进行管理的数据库,本发明实施例对此并不加以限定。实际操作中,mysql数据库以其体积小、速度快、总体拥有成本低、开放源码,以及所使用sql语言是用于访问数据库的最常用标准化语言等众多优点被越来越广泛的用户认可和使用,因此,本发明实施例中的数据库包括mysql数据库。上文对本发明实施例中的数据库功能接口的生成方法进行了介绍。当生成数据库功能接口之后,可以利用生成的功能接口对数据库内置数据进行处理。因此,基于上文各实施例提供的数据库功能接口的生成方法,本发明实施例还提供了一种数据库内置数据的处理方法。图2示出了根据本发明一个实施例的数据库内置数据的处理方法的处理流程图。请参考图2,该流程至少包括如下步骤:步骤s202:在运行数据库的过程中,接收到运行指令,其中,运行指令与根据上文介绍的数据库功能接口的生成方法生成的功能接口存在一一对应关系;步骤s204:调用与接收到的运行指令对应的功能接口;步骤s206:利用功能接口对数据库内置数据执行相应功能性操作。依据本发明实施例的数据库内置数据的处理方法,能够在运行数据库的过程中,接收到与利用上文介绍的方法生成的功能接口存在一一对应关系的运行指令,调用对应的功能接口,并利用调用的功能接口对数据库内置数据执行相应功能性操作。因此,依据本发明实施例的数据库内置数据的处理方法,能够利用在数据库中生成的功能接口对数据库内置数据进行处理,解决了现有技术中仅能够使用外部环境和/或外部工具对数据库内置数据进行处理的问题,提高对数据库内置数据进行处理操作的效率。在对数据库功能接口的生成方法进行介绍时提及,本发明实施例中的数据库可以是任意能够利用自身的工具和/或环境生成功能接口以对内置数据进行管理的数据库,本发明实施例对此并不加以限定。并且,本发明实施例中的数据库包括mysql数据库。现以mysql数据库为实施例对本发明的数据库内置数据的处理方法进行介绍,并将mysql数据库简称为mysql。根据上文可知,在运行mysql的过程中,能够接收到运行指令。为保证根据接收到的运行指令的安全性,避免接收到恶意的运行指令对mysql内置数据造成损害,本例中,在接收到运行指令之前,利用登录标识信息登录mysql。当登录成功,在接收到运行指令时,调用与运行指令对应的功能接口,以对mysql内置数据进行处理。若登录失败,可能当前用户对mysql的内置数据无处理权限,则拒绝根据接收到的运行指令调用对应的功能接口对mysql内置数据进行处理,以保证mysql内置数据的安全性。当登录成功,若接收到运行指令,本发明实施例调用与接收到的运行指令对应的功能接口,并利用调用的功能接口对mysql内置数据执行相应功能性操作。在利用功能接口对mysql内置数据执行相应功能性操作之后,为保证能够及时获知操作结果,以便根据操作结果调整后续对mysql内置数据的操作,本发明实施例根据预设方式对操作结果进行展示。其中,对操作结果进行展示所使用的预设方式可以是任意能够对操作结果进行展示的方式。例如,对操作结果进行展示的方式可以包括滚动展示方式、弹窗展示方式、展示部分或全部操作结果的方式。另外,本发明实施例中调用与接收到的运行指令对应的功能接口对mysql内置数据执行的功能性操作可以包括任意对mysql内置数据执行的管理操作和/或统计操作和/或维护操作和/或检测操作等等。例如,对mysql内置数据执行的功能性操作可以包括批量关闭进程操作、慢语句抓取操作、索引使用监控操作、清空操作、统计操作以及查询操作等等。其中,统计操作可以进一步包括访问量统计操作和/或表信息统计操作。查询操作可以进一步包括访问量状态查询操作、索引状态查询操作、锁状态查询操作、授权信息查询操作、结构化查询语言sql使用频率查询操作、输入输出消耗值查询操作等等。为将上文各实施例提供的mysql内置数据的处理方法阐述得更加清楚明白,现提供实施例对本发明实施例提供的mysql内置数据的处理方法进行介绍。实施例一在mysql运行过程中,接收到访问量状态值查看指令(即运行指令之一),调用dbastat功能接口,并利用dbastat功能接口从information_schema.global_status表中,获取间隔预设时间的第一com_commit和第二com_commit,以及第一com_rollback和第二com_rollback,并分别进行差值运行,得到第一差值和第二差值。例如,获取到间隔时间为10秒的第一com_commit和第二com_commit分别为80和90,获取到间隔时间为10秒的第一com_rollback和第二com_rollback分别为10和60,分别进行差值运算之后,得到第一差值为10,第二差值为50。将得到的第一差值和第二差值进行加和,并将得到的结果处于预设时间,得到访问量状态值。如,上例中得到第一差值为10,第二差值为50,预设时间为10秒,则得到访问量状态至为6,单位为个每秒。得到访问量状态值之后,本发明实施例根据预设时间确定显示访问量状态值的循环次数,并根据确定的循环次数对访问量状态值进行展示。例如,预设时间为10秒,若每秒对访问量状态值进行一次显示,则确定循环次数为10次。另外,由于访问量状态值为单一值,通常不与其他状态值进行比较,因此,在对访问量状态值进行显示时,可以选择滚动展示的方式对访问量状态值进行显示。实施例二在运行mysql的过程中,若接收到索引状态查看指令(即运行指令之一),调用dbaindexno功能接口,利用dbaindexno功能接口从information_schema.tables中获取库名称信息以及表名称信息,并从performance_schema.table_io_waits_summary_by_index_usage中获取索引名称信息,进而利用获取到的库名称信息、表名称信息以及索引名称信息完成索引状态查询操作。例如,利用dbaindexno从information_schema.tables中获取库名称信息以及表名称信息,去除mysql自带的库对应的库名称信息,并去除数据行数少于1000行的表的表名称信息。之后,利用dbaindexno从performance_schema.table_io_waits_summary_by_index_usage中去除索引名称信息为空的索引名称信息和索引名称信息为primary的索引名称信息,并确定count_star=0的结果(即线上未被使用的各索引条目)。完成索引状态查询操作之后,对确定的各个未使用的索引条目进行展示,并且,当未使用的索引条目的数量过大时,可以仅显示预设数目个的未使用索引条目。例如,当前未使用的索引条目为10000个,在对未使用的索引条目进行展示时,仅显示20条,以便在后续操作中对索引进行优化。实施例三在运行mysql的过程中,若接收到锁状态查询指令(即运行指令之一),调用dbalock功能接口,并利用dbalock功能接口获取information_schema库中的innodb_trx表、innodb_lock_waits表和innodb_locks表。对比获取到的innodb_trx表、innodb_lock_waits表和innodb_locks表,得到加锁的线程信息,完成锁状态查询操作,并对得到的加锁的线程信息进行展示。在对加锁的线程信息进行展示时,可以展示获取到的各个加锁的线程信息,包括加锁的线程标识信息、线程加锁的时间信息,以及触发线程加锁的结构化查询语言(structuredquerylanguage,以下简称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.一种数据库内置数据的处理方法,包括:在运行数据库的过程中,接收运行指令,其中,所述运行指令与功能接口存在一一对应关系,其中,所述功能接口的生成方法包括:确定能够对数据库内置数据进行处理的至少一个功能性操作;针对每个功能性操作,在所述数据库中生成能够执行该功能性操作的功能接口;以及,将生成的功能接口与所述数据库内置数据建立调用关系,以供任一所述功能接口被调用时,利用该功能接口对所述数据库内置数据执行相应功能性操作;调用与接收到的所述运行指令对应的功能接口;以及利用所述功能接口对数据库内置数据执行相应功能性操作;其中,利用所述功能接口对数据库内置数据执行相应功能性操作的步骤进一步包括:利用dbaindexno功能接口从information_schema.tables中获取库名称信息以及表名称信息,并从performance_schema.table_io_waits_summary_by_index_usage中获取索引名称信息;利用所述库名称信息、所述表名称信息以及所述索引名称信息确定未使用的索引,完成索引状态查询操作。a2.根据a1所述的方法,其中,所述方法进一步包括:利用所述功能接口对数据库内置数据执行相应功能性操作之后,根据预设方式对操作结果进行展示,其中,所述预设方式包括下列至少之一:滚动展示方式、弹窗展示方式、展示部分或全部所述操作结果的方式。a3.根据a1或a2所述的方法,其中,所述功能性操作包括下列至少之一:查询操作,其中,所述查询操作包括下列至少之一:访问量状态查询操作、索引状态查询操作、锁状态查询操作、授权信息查询操作、结构化查询语言sql使用频率查询操作、输入输出消耗值查询操作;统计操作,其中,所述统计操作至少包括:访问量统计操作,和/或表信息统计操作;批量关闭进程操作;慢语句抓取操作;索引使用监控操作;清空操作。a4.根据a1所述的方法,其中,所述方法进一步包括:确定未使用的索引之后,对所述确定未使用的索引进行列表显示。a5.根据a1或a2所述的方法,其中,所述方法还包括:接收到运行指令之前,利用登录标识信息登录所述数据库。a6.根据a1或a2所述的方法,其中,所述数据库为mysql数据库。本发明还公开了b7.一种数据库内置数据的处理装置,包括:接收模块,适于在运行数据库的过程中,接收运行指令,其中,所述运行指令与功能接口存在一一对应关系,其中,所述功能接口按如下方式生成:确定模块,适于确定能够对数据库内置数据进行处理的至少一个功能性操作;生成模块,适于针对每个功能性操作,在所述数据库中生成能够执行该功能性操作的功能接口;关系建立模块,适于将生成的功能接口与所述数据库内置数据建立调用关系,以供任一所述功能接口被调用时,利用该功能接口对所述数据库内置数据执行相应功能性操作;调用模块,适于调用与接收到的所述运行指令对应的功能接口;处理模块,适于利用所述功能接口对数据库内置数据执行相应功能性操作;其中,所述处理模块还包括:获取单元,适于利用dbalock功能接口从information_schema.tables中获取库名称信息以及表名称信息,并从performance_schema.table_io_waits_summary_by_index_usage中获取索引名称信息;确定单元,适于利用所述库名称信息、所述表名称信息以及所述索引名称信息确定未使用的索引,完成索引状态查询操作。b8.根据b7所述的装置,其中,所述装置还包括:显示模块,适于利用所述功能接口对数据库内置数据执行相应功能性操作之后,根据预设方式对操作结果进行展示,其中,所述预设方式包括下列至少之一:滚动展示方式、弹窗显示方式、显示部分或全部所述操作结果的方式。b9.根据b7或b8所述的装置,其中,所述功能性操作包括下列至少之一:查询操作,其中,所述查询操作包括下列至少之一:访问量状态查询操作、索引状态查询操作、锁状态查询操作、授权信息查询操作、结构化查询语言sql使用频率查询操作、输入输出消耗值查询操作;统计操作,其中,所述统计操作至少包括:访问量统计操作,和/或表信息统计操作;批量关闭进程操作;慢语句抓取操作;索引使用监控操作;清空操作。b10.根据b8所述的装置,其中,所述显示模块还适于:确定未使用的索引之后,对所述确定未使用的索引进行列表显示。b11.根据b7或b8所述的装置,其中,所述装置还包括:登录模块,适于当所述接收模块接收到任一运行指令之前,利用登录标识信息登录所述数据库。b12.根据b7或b8所述的装置,其中,所述数据库为mysql数据库。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1