发明名称 一种基于云平台的关系数据库自动优化方法
摘要 本发明公开了一种基于云平台的关系数据库自动优化方法,属于云平台数据库优化技术领域,该方法能定时收集数据库运行状态信息,以及数据库所在虚拟机的硬件指标信息,适时的主动优化建议、被动优化建议或自动被动优化,提高数据库在云平台中运行性能稳定性。根据数据库编码协定编辑workprocess进程所需的workprocess进程插件代码,在数据库源代码目录的contrib目录下新建一个项目目录,将所述workprocess进程插件代码拷贝安装到项目目录内;在数据库中创建workprocess进程插件;配置数据库配置文件postgresql.conf,加载workprocess进程对应的动态链接库文件;数据库启动时,调用_PG_init钩子程序和调用workprocess进程入口函数来启动workprocess进程;能输出主动优化建议、输出被动优化建议和输出自动被动优化。
申请公布号 CN104503974A 申请公布日期 2015.04.08
申请号 CN201410652028.3 申请日期 2014.11.17
申请人 杭州斯凯网络科技有限公司 发明人 周正中
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 杭州杭诚专利事务所有限公司 33109 代理人 尉伟敏
主权项 一种基于云平台的关系数据库自动优化方法,其特征在于,其步骤如下:(1‑1)根据数据库编码协定编辑workprocess进程所需的workprocess进程插件代码,所述workprocess进程插件代码包括:SQL插件代码、.c插件代码、.control插件代码和Makefile插件代码;其中,SQL插件代码包括workprocess进程状态表和指标配置表;.c插件代码包括workproecessC代码;.control包括控制文件;Makefile包括安装插件的配置信息;(1‑2)在数据库源代码目录的contrib目录下新建一个项目目录,将所述workprocess进程插件代码拷贝安装到项目目录内;(1‑3)在数据库中创建workprocess进程插件;(1‑4)配置数据库配置文件postgresql.conf,加载workprocess进程对应的动态链接库文件;(1‑5)数据库启动时,调用_PG_init钩子程序和调用workprocess进程入口函数来启动workprocess进程;(1‑5‑1)输出主动优化建议;用workprocess循环获取系统信息,并把所述系统信息存储到workprocess进程状态表;workprocess循环从指标配置表存储的主动优化指标和从workprocess进程状态表获得的系统信息进行比较,并把主动优化建议的信息分别输出到优化建议表和数据库日志;(1‑5‑2)输出被动优化建议;用workprocess循环从指标配置表存储的手动被动优化指标和所述系统信息进行比较,并把被动优化建议的信息分别输出到优化建议表和数据库日志;用workprocess循环从数据库pg_stat获得SQL语句执行的效率和从指标配置表获得配置SQL语句执行的效率进行比较,并从指标配置表获得配置SQL语句执行该效率时的阈值,然后把SQL语句优化建议分别输出到优化建议表和数据库日志;(1‑5‑3)输出自动被动优化;workprocess循环从指标配置表存储的自动被动优化指标和所述系统信息进行比较,通过SPI接口,调用SQL语句自动优化,并把自动被动优化信息分别输出到优化建议表和数据库日志;(1‑6)数据库关闭时,调用_PG_fini钩子程序来让workprocess进程退出。
地址 310013 浙江省杭州市西湖区紫荆花路2号联合大厦10楼