专利名称:一种数据库优化方法及装置的制作方法
技术领域:
本发明涉及通信技术领域,尤其涉及一种数据库优化方法及装置。
背景技术:
时至今日,“Big data” (大数据)时代的来临已经毋庸置疑,尤其是在电信、金融等行业,几乎已经到了“数据就是业务本身”的地步。大数据包括结构化、半结构化和非结构化等多类数据,其中海量结构化数据存储在分布式数 据库系统中。但是在大数据时代,分布式数据库系统部署在大量廉价存储的不可靠的计算机上,系统内的结点性能下降或发生故障是常态。现有技术中,分布式数据库性能优化的方法主要是针对单个数据库结点或固定的性能测试程序实现分布式数据库性能优化的目标。但在上述现有技术中,存在以下缺陷数据库优化效率低,针对单个数据库结点的优化效率低,无法满足大数据环境大量分布式数据库结点优化的需要,以及由于固定的性能测试程序无法反应真实环境分布式数据库系统负载情况,真实环境中数据库负载的改变,而导致数据库优化效果不佳。
发明内容
本发明实施例提供了一种数据库优化方法及装置,用以提升数据库业务性能的优化效果。本发明实施例提供的数据库优化方法,包括定期获取分布式数据库结点的实时业务负载信息;将所述实时业务负载信息中的实时性能参数与预设的性能评价模型进行对比;根据对比结果,调整所述分布式数据库结点中的服务数据库结点。本发明实施例提供的数据库优化装置,包括获取单元,用于定期获取分布式数据库结点的实时业务负载信息;对比单元,用于将所述获取单元获取的所述实时业务负载信息中的实时性能参数与预设的性能评价模型进行对比;调整单元,用于根据所述对比单元的对比结果,调整所述分布式数据库结点中的服务数据库结点。从以上技术方案可以看出,本发明实施例具有以下优点分布式数据库中间件服务器定期获取与其通过网络相连的分布式数据库结点的实时业务负载信息,将其中包含的各分布式数据库结点的实时性能参数与预设的性能评价模型进行对比,该预设的性能评价模型可随着实时业务负载信息的更新进行更新,根据对比结果,调整所述分布式数据库结点中的服务数据库结点,由于分布式数据库中间件服务器定期根据实时业务负载信息全局性地调整服务数据库结点,可优化数据库结点范围大,提高了数据库优化的效率,并且性能评价模型可根据实时业务负载信息进行更新,增强数据库优化效果。
图I为本发明实施例中分布式数据库系统结构示意图2为本发明实施例中数据库优化方法的一个实施例示意图;图3为本发明实施例中数据库优化方法的另一个实施例示意图;图4为本发明实施例中数据库优化装置的一个实施例示意图;图5为本发明实施例中数据库优化装置的另一个实施例示意图。
具体实施例方式本发明实施例提供了一种数据库优化方法及装置,用于根据获取的实时业务负载数据,动态调整服务队列中的服务数据库结点,实现数据库业务性能的优化,提高数据库优化效率。请参阅图1,本发明实施例中,分布式数据库中间件服务器集群101通过网络102·与分布式数据库结点集群103相连接,其中,分布式数据库中间件服务器集群101由各分布式数据库中间件服务器104组成,分布式数据库结点集群103由各分布式数据库结点105组成。本发明实施例中,通过数据库重演的方式获取工作环境中数据库的负载信息,进而在测试环境中还原该数据库的工作环境的测试数据,数据库重演是指在工作环境的数据库中捕获所有负载信息,并可以将之传送至测试环境中,在测试环境中重演数据库的工作环境,使得通过测试环境再现真实环境中数据库的负载及运行情况。为使得数据库重演,完成整个测试过程,分布式数据库中间件服务器将获取的数据库业务负载信息转化成基准测试脚本,在后台定期运行基准测试脚本,实时获得分布式数据库各点的实时性能信息。请参阅图2,本发明实施例中的数据库优化方法的一个实施例包括101、定期获取分布式数据库结点的实时业务负载信息;分布式数据库中间件服务器运行中间件,定期获取与其通过网络相连的分布式数据库结点的实时业务负载信息,所述实时业务负载信息包括业务数据的入库信息、查询信息、统计信息、分析信息等,该实时业务负载信息中包含各分布式数据库结点的实时性能参数的信息,该实时性能参数包括业务数据的入库速度、索引时间、更新速度、删除速度、以结构化查询语言(SQL, Structured Query Language)表示的主要负载的查询响应速度、性能权重等参数。其中,中间件是一类连接软件组件和应用的计算机软件,它包括一组服务,以便于运行在一台或多台机器上的多个软件通过网络进行交互。中间件通常用于支持分布式应用程序并简化其复杂度,它包括web服务器、事务监控器和消息队列软件。102、将所述实时业务负载信息中的实时性能参数与预设的性能评价模型进行对比;本实施例中,预设的性能评价模型中的性能评价参数可包括业务数据的入库速度、索引时间、更新速度、删除速度、SQL表示的主要负载的查询响应速度、性能权重等参数。该预设的性能评价模型可以是在系统启动时,根据第一次获取的分布式数据库结点的实时业务负载信息,建立初始的性能评价模型,也可以是根据系统通常的工作情况建立的性能评价模型,该预设的性能评价模型可随着实时业务负载信息的更新而进行更新。获取的实时业务负载信息中的实时性能参数,应当是与预设的性能评价模型中所含参数全部或部分相同,便于对比。
103、根据对比结果,调整所述分布式数据库结点中的服务数据库结点。根据所述实时业务负载信息中的实时性能参数与预设的性能评价模型的对比结果,调整所述分布式数据库结点中的服务数据库结点,其中,服务数据库结点是指提供业务数据存储的分布式数据库结点。本发明实施例中,分布式数据库中间件服务器定期获取与其通过网络相连的分布式数据库结点的实时业务负载信息,将其中包含的各分布式数据库结点的实时性能参数与预设的性能评价模型进行对比,该预设的性能评价模型可随着实时业务负载信息的更新进行更新,根据对比结果,调整所述分布式数据库结点中的服务数据库结点,由于分布式数据库中间件服务器定期根据实时业务负载信息全局性地调整服务数据库结点,可优化数据库结点范围大,提高了数据库优化的效率,并且性能评价模型可根据实时业务负载信息进行 更新,增强数据库优化效果。为便于理解,下面详细介绍本发明实施例中的数据库优化方法,请参阅图3,本发明实施例中数据库优化方法的另一个实施例包括201、定期获取分布式数据库结点的实时业务负载信息;分布式数据库中间件服务器定期获取与其通过网络相连的分布式数据库结点的实时业务负载信息,该实时业务负载信息中包含各分布式数据库结点的实时性能参数的信
肩、O202、根据所述实时业务负载信息,判断是否更新所述预设的性能评价模型;定期获取分布式数据库结点的实时业务负载信息,该实时业务负载信息可能随着网络状况的变化而产生变化,为使得服务数据库结点的调整更符合实际情况,防止服务数据库结点的错误选择。例如,当在预置的一段时长内获取的实时负载信息中开始出现查询信息,而统计信息不再出现,则更新预设性能评价模型,在其中添加处理关于查询信息的语句,删除处理关于统计信息的语句,使得性能评价模型中的性能评价参数可与实时业务负载信息中的实时性能参数相对应,便于对比。若是,则执行步骤203 ;若否,则执行步骤204。203、更新所述预设的性能评价模型;更新所述预设的性能评价模型后,定期获取分布式数据库结点的实时业务负载信息,进行后续操作。具体地,更新该性能评价模型中的相关信息语句,例如,当在预置的一段时长内获取的实时负载信息中开始出现查询信息,而统计信息不再出现,则添加处理关于查询信息的语句,删除处理关于统计信息的语句,可理解的,相对于其他获取的分布式数据库结点的实时业务负载信息,也通过更新性能评价模型中的相关信息语句的方式对该性能评价模型进行更新。204、将所述实时业务负载信息中的实时性能参数与预设的性能评价模型进行对比;205、若所述实时业务负载信息中的实时性能参数反映的性能低于所述预设的性能评价模型反映的性能,则在服务数据库结点的队列中,删除所述实时业务负载信息对应的数据库结点;若所述实时业务负载信息中的实时性能参数反映的性能低于所述预设的性能评价模型反映的性能,则表明所述实时业务负载信息对应的数据库结点性能较差,存取数据速度较慢,暂时不适合提供业务数据存取的服务,则在服务数据库结点的队列中,删除所述实时业务负载信息对应的数据库结点。206、将业务访问数据库切换到所述删除的数据库结点对应的备份数据库结点。在服务数据库结点的队列中,删除所述实时业务负载信息对应的数据库结点后,为避免该被删除的数据库结点上的业务数据的缺失,则将业务访问数据库切换到所述删除的数据库结点对应的备份数据库结点,由该备份数据库结点提供数据存取服务。本实施例中,分布式数据库中间件服务器定期获取所述删除的数据库结点的实时业务负载信息,将所述实时业务负载信息中的实时性能参数与预设的性能评价模型进行对t匕,若所述删除的数据库结点的实时业务负载信息中的实时性能参数反映的性能,高于所述预设的性能评价模型反映的性能,表明所述实时业务负载信息对应的数据库结点性能较好,存取数据速度较快,则将所述时业务负载信息对应的数据库结点添加到服务数据库结点的队列中,这样,可避免大规模的分布式数据库由于个别结点性能不可靠而导致的数据库整体访问性能下降的问题。本发明实施例中,分布式数据库中间件服务器定期获取分布式数据库结点的实时业务负载信息,根据所述实时业务负载信息,判断是否更新所述预设的性能评价模型,使得服务数据库结点的调整更符合实际情况,将所述实时业务负载信息中的实时性能参数与预设的性能评价模型进行对比,若所述实时业务负载信息中的实时性能参数反映的性能低于所述预设的性能评价模型反映的性能,则在服务数据库结点的队列中,删除所述实时业务负载信息对应的数据库结点,若所述删除的数据库结点的实时业务负载信息中的实时性能参数反映的性能,高于所述预设的性能评价模型反映的性能,则将所述实时业务负载信息对应的数据库结点添加到服务数据库结点的队列中,以此实现根据分布式数据库的实时负载信息,对服务数据库结点的动态调整,减轻针对数据库性能维护管理的工作量,提高数据库优化的效率,增强数据库优化效果。下面介绍本发明实施例中的数据库优化装置,请参阅图4,本发明实施例中的数据库优化装置的一个实施例包括获取单元301,用于定期获取分布式数据库结点的实时业务负载信息;
对比单元302,用于将所述获取单元301获取的所述实时业务负载信息中的实时性能参数与预设的性能评价模型进行对比;调整单元303,用于根据所述对比单元302的对比结果,调整所述分布式数据库结点中的服务数据库结点。本发明实施例中的数据库优化装置的各单元实现各自功能的具体过程,请参见前述图2所示实施例中的描述,此处不再赘述。本发明实施例中,获取单元301定期获取分布式数据库结点的实时业务负载信息,对比单元302将获取单元301获取的实时业务负载信息中的实时性能参数反映的性能与预设的性能评价模型反映的性能进行对比,调整单元303根据对比单元302的对比结果,调整分布式数据库结点中的服务数据库结点,由于分布式数据库中间件服务器定期根据实时业务负载信息全局性地调整服务数据库结点,可优化数据库结点范围大,提高了数据库优化的效率,并且性能评价模型可根据实时业务负载信息进行更新,增强数据库优化效果。
为便于理解,下面详细介绍本发明实施例中的数据库优化装置,请参阅图5,本发明实施例中的数据库优化装置的另一个实施例包括获取单元401,用于定期获取分布式数据库结点的实时业务负载信息;对比单元402,用于将所述获取单元401获取的所述实时业务负载信息中的实时性能参数与预设的性能评价模型进行对比;调整单元403,用于根据所述对比单元402的对比结果,调整所述分布式数据库结点中的服务数据库结点。其中,调整单元403还可以进一步包括删除单元4031,用于若所述实时业务负载信息中的实时性能参数反映的性能低于所述预设的性能评价模型反映的性能,则在服务数据库结点的队列中,删除所述实时业务负载信息对应的数据库结点;·添加单元4032,用于若所述删除的数据库结点的实时业务负载信息中的实时性能参数反映的性能,高于所述预设的性能评价模型反映的性能,则将所述实时业务负载信息对应的数据库结点添加到服务数据库结点的队列中。需要说明的是,本发明实施例中的数据库优化装置还可以进一步包括切换单元404,用于将业务访问数据库切换到所述删除的数据库结点对应的备份数据库结点;判断单元405,用于根据所述实时业务负载信息,判断是否更新所述预设的性能评价模型;更新单元406,用于更新所述预设的性能评价模型。本发明实施例中的数据库优化装置的各单元实现各自功能的具体过程,请参见前述图2及图3所示实施例中的描述,此处不再赘述。本发明实施例中,获取单元401定期获取分布式数据库结点的实时业务负载信息,根据所述实时业务负载信息,判断单元405判断是否更新所述预设的性能评价模型,使得服务数据库结点的调整更符合实际情况,对比单元402将所述实时业务负载信息中的实时性能参数与预设的性能评价模型进行对比,若所述实时业务负载信息中的实时性能参数反映的性能低于所述预设的性能评价模型反映的性能,则删除单元4031在服务数据库结点的队列中,删除所述实时业务负载信息对应的数据库结点,若所述删除的数据库结点的实时业务负载信息中的实时性能参数,高于所述预设的性能评价模型,添加单元4032则将所述实时业务负载信息对应的数据库结点添加到服务数据库结点的队列中,以此实现根据分布式数据库的实时负载信息,对服务数据库结点的动态调整,减轻针对数据库性能维护管理的工作量,提高数据库优化的效率,增强数据库优化效果。本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上对本发明所提供的一种数据库优化方法及装置进行了详细介绍,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种数据库优化方法,其特征在于,包括 定期获取分布式数据库结点的实时业务负载信息; 将所述实时业务负载信息中的实时性能参数与预设的性能评价模型进行对比; 根据对比结果,调整所述分布式数据库结点中的服务数据库结点。
2.根据权利要求I所述的方法,其特征在于,所述根据对比结果,调整所述分布式数据库结点中的服务数据库结点包括 若所述实时业务负载信息中的实时性能参数反映的性能低于所述预设的性能评价模型反映的性能,则在服务数据库结点的队列中,删除所述实时业务负载信息对应的数据库结点。
3.根据权利要求2所述的方法,其特征在于,所述在服务数据库结点的队列中,删除所述实时业务负载信息对应的数据库结点之后包括 将业务访问数据库切换到所述删除的数据库结点对应的备份数据库结点。
4.根据权利要求I所述的方法,其特征在于,所述定期获取分布式数据库结点的实时业务负载信息之后包括 根据所述实时业务负载信息,判断是否更新所述预设的性能评价模型; 若是,则更新所述预设的性能评价模型,若否,则执行所述将所述实时业务负载信息中的实时性能参数与预设的性能评价模型进行对比的步骤。
5.根据权利要求2或3所述的方法,其特征在于,所述方法还包括 若所述删除的数据库结点的实时业务负载信息中的实时性能参数反映的性能,高于所述预设的性能评价模型反映的性能,则将所述实时业务负载信息对应的数据库结点添加到服务数据库结点的队列中。
6.一种数据库优化装置,其特征在于,包括 获取单元,用于定期获取分布式数据库结点的实时业务负载信息; 对比单元,用于将所述获取单元获取的所述实时业务负载信息中的实时性能参数与预设的性能评价模型进行对比; 调整单元,用于根据所述对比单元的对比结果,调整所述分布式数据库结点中的服务数据库结点。
7.根据权利要求6所述的装置,其特征在于,所述调整单元包括 删除单元,用于若所述实时业务负载信息中的实时性能参数反映的性能低于所述预设的性能评价模型反映的性能,则在服务数据库结点的队列中,删除所述实时业务负载信息对应的数据库结点。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括 切换单元,用于将业务访问数据库切换到所述删除的数据库结点对应的备份数据库结点。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括 判断单元,用于根据所述实时业务负载信息,判断是否更新所述预设的性能评价模型; 更新单元,用于更新所述预设的性能评价模型。
10.根据权利要求9所述的装置,其特征在于,所述调整单元还包括添加单元 ,用于若所述删除的数据库结点的实时业务负载信息中的实时性能参数反映的性能,高于所述预设的性能评价模型反映的性能,则将所述实时业务负载信息对应的数据库结点添加到服务数据库结点的队列中。
全文摘要
本发明实施例公开了一种数据库优化方法及装置,用于根据获取的实时业务负载数据,动态调整服务队列中的服务数据库结点,实现数据库业务性能的优化,提高数据库优化效率。本发明实施例方法包括定期获取分布式数据库结点的实时业务负载信息,将所述实时业务负载信息中的实时性能参数与预设的性能评价模型进行对比,根据对比结果,调整所述分布式数据库结点中的服务数据库结点。
文档编号G06F17/30GK102902825SQ201210442020
公开日2013年1月30日 申请日期2012年11月6日 优先权日2012年11月6日
发明者倪颖杰, 张军, 李祖华, 朱开颜, 刘桂英, 马飞, 李弢 申请人:无锡江南计算技术研究所