本发明专利技术公开了一种数据库系统资源的分配方法,包括如下步骤:a)定时采集数据库系统资源使用情况;b)提取CPU及IO使用情况指标,并为每月同一天的系统资源消耗以及每天同一时间的系统资源消耗建立系统快照;c)通过每月同一天,每天同一时间快照比对,估算出未来时间片里系统的空闲资源及空闲时长;d)建立队列任务,并在估算出的空闲时长内选取执行匹配的任务。本发明专利技术提供的数据库系统资源的分配方法,自动对系统的空闲资源以及任务占用的系统资源进行估算,通过在估算出的空闲时长内选取执行匹配的任务,能够更加合理的利用系统资源,大大提高了系统资源的利用率。
【技术实现步骤摘要】
本专利技术涉及一种计算机系统资源的分配方法,尤其涉及一种数据库系统资源的分配方法。
技术介绍
信息技术已成为电信行业至关重要的一种生产力,海量信息的管理和运营需要强大的业务系统支撑。业务系统的稳定性会直接影响到客户的信任度和满意度,如何掌握数据库资源使用规律,合理有效地利用空闲时段,缓解业务高峰,是业务支撑部门一项十分重要的职责。现有技术中,系统资源的分配方法主要有如下两种:1)、通过系统或数据库的定时任务实现。DBA根据经验判断,某时段较为空闲,剩余资源可以执行某任务,于是将该任务以指定时间执行的方式配置到定时任务中,由系统或数据库调度。2)、手工执行,DBA发现数据库目前较为空闲,于是手工启动任务并值守至其结束,有业务高峰,数据库压力较大时,需要杀死任务进程,以确保业务处理进程能获得所需资源。现有技术存在以下缺点:1)、方法一依赖于DBA长期积累的维护经验,且无法预估和处理突发情况,如在执行某任务时,应用系统业务突增,导致数据库资源争用。或者数据库业务骤减,当时却并没有配置定时任务执行,导致数据库资源浪费。2)、方法二需要人工值守,依赖于DBA的技术水平及判断,被杀死的任务进程需回滚,下次启动时无法从断点继续执行,容易造成数据状态不一致等问题。
技术实现思路
本专利技术所要解决的技术问题是提供一种数据库系统资源的分配方法,能够自动对系统的空闲资源以及任务占用的系统资源进行估算,使得系统在空闲时调用合适的任务运行,对空闲资源以及任务占用资源的估算更加准确,能够更加合理的利用系统资源,大大提高了系统资源的利用率。本专利技术为解决上述技术问题而采用的技术方案是提供一种数据库系统资源的分配方法,包括如下步骤:a)定时采集数据库系统资源使用情况;b)提取CPU及IO使用情况指标,并为每月同一天的系统资源消耗以及每天同一时间的系统资源消耗建立系统快照;c)通过每月同一天,每天同一时间快照比对,估算出未来时间片里系统的空闲资源及空闲时长;d)建立队列任务,并在估算出的空闲时长内选取执行匹配的任务。上述的数据库系统资源的分配方法,其中,所述步骤c)通过连续的快照得出系统资源消耗变化趋势,估算过程如下:某时段CPU使用情况预估计算公式为:fc=(c1+c2+c3+....+cn)/n某时段IO使用情况预估计算公式为:fp=(p1+p2+p3+....+pn)/n其中n为采集天数,cn为第N天该时段快照中CPU使用率,pn为第N天该时段快照中IO量;当前空闲CPU时间的计算公式为:c=c1/c2×(100-R-c1)其中c1为当前系统CPU使用百分比,c2为数据库CPU的时间,R为系统CPU预留百分比常量;当前空闲IO的计算公式为:p=p1/p2×(R-p1)其中p1为当前系统IO使用量,p2为数据库物理读使用量,R为系统IO最大值。上述的数据库系统资源的分配方法,其中,所述步骤d)将关键业务作为一个任务,建立关键业务流程的SQL性能基线,并通过数据采集不断校正基线,使SQL语句与业务流程双向直接关联,通过定时监测SQL语句的性能对业务性能进行监测和评估。上述的数据库系统资源的分配方法,其中,所述步骤a)定时从数据库动态性能视图中采集SQL的性能数据,所述步骤d)基于采集到的SQL性能数据建立队列任务基线库,对于未在基线库中的业务SQL,推送到未绑定业务标签列表,由业务人员打上业务标签,再回存到基线库;对于已存在基线库的业务SQL,根据采集到的SQL性能数据,与基线库中的对应的已存在SQL性能数据相对比,如果性能变化未超出指定阀值,则校正基线,否则,如果性能变化超出指定阀值,则发出性能预警。上述的数据库系统资源的分配方法,其中,所述基线库中设置的基线包括SQL性能指标、SQL消耗增长指标以及业务关联指标。上述的数据库系统资源的分配方法,其中,所述SQL性能指标包括CPU时间/次,执行时间/次,逻辑读/次,物理读/次和频次,所述SQL性能指标通过采集提取数据库动态性能视图获得,所述数据库动态性能视图包括V$SQL、V$SQL_PLAN和V$SQLARER;所述SQL消耗增长指标包括CPU时间增长率、执行时间增长率、逻辑读增长率、物理读增长率和频次增长率。上述的数据库系统资源的分配方法,其中,还包括根据业务关联指标基线判断SQL对应的业务模块是否属于关键业务,若属于关键业务,则建立或校正队列任务基线库,若不属于关键业务,则建立或校正应用基线库。上述的数据库系统资源的分配方法,其中,所述业务关联指标包括业务模块、上线时间、最新版本以及最后更新时间。上述的数据库系统资源的分配方法,其中,还包括将任务在队列中按照基线库中采集的系统资源消耗进行排序,按照估算出的空闲时长及空闲资源在队列中提取匹配任务,如果没有匹配任务则进行下一次定时采集。上述的数据库系统资源的分配方法,其中,启动队列中的匹配任务之后,当预知范围外的应用高峰到来时,将正在执行的队列任务暂停,保存进程的中间状态,释放进程资源,产生断点,等待下一次的任务匹配;当监控到系统高峰过后,重新按照估算出的空闲时长及空闲资源在队列中提取匹配任务,如果匹配任务有断点,进行任务恢复,从断点恢复资源,任务继续执行。本专利技术对比现有技术有如下的有益效果:本专利技术提供的数据库系统资源的分配方法,自动对系统的空闲资源以及任务占用的系统资源进行估算,通过在估算出的空闲时长内选取执行匹配的任务,能够更加合理的利用系统资源,大大提高了系统资源的利用率。附图说明图1为本专利技术数据库系统资源的分配流程示意图;图2为本专利技术的数据库系统一天内系统CPU及IO使用分配示意图;图3为本专利技术的数据库系统一月内同一时段内系统CPU及IO使用分配示意图;图4为本专利技术的队列任务基线的简历和校正流程示意图;图5为本专利技术的数据库系统优选前的CPU及IO使用分配示意图;图6为本专利技术的数据库系统优选后的CPU及IO使用分配示意图;图7为本专利技术的队列任务动态匹配调度流程示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的描述。本专利技术提供的数据库系统资源的分配方法,包括如下步骤:a)定时采集数据库系统资源使用情况;b)提取CPU及IO使用情况指标,并为每月同一天的系统资源消耗以及每天同一时间的系统资源消耗建立系统快照;c)通过每月同一天,每天同一时间快照比对,估算出未来时间片里系统的空闲资源及空闲时长;d)建立队列任务,并在估算出的空闲时长内选取执行匹配的任务。下面对本专利技术的主要步骤进行详细展开描述。一、空闲系统资源评估本流程执行步骤如图1所示,主要包括:采集层中配置定时任务,对系统性能做定时采集,提取CPU及IO使用情况指标,并为每月同一天的系统资源消耗以及每天同一时间的系统资源消耗建立系统快照,根据与每月同一天,每天同一时间快照相比对,得出系统消耗规律,并在结果层中进行系统消耗周期性预估,估算出未来时间片里,系统的空闲资源及时长。1.系统消耗规律监控系统消耗趋势图(一天内各时段和一月内同一时段),见图2和图3。通过连续的快照可得出以上的趋势图,并预估未来某时段资源使用情况及时长。某时段CPU使用情况预估计算公式为:fc=(c1+c2+c3+....+cn)/n某时段IO使用情况预估计算公式为:fp=(p1本文档来自技高网...
【技术保护点】
一种数据库系统资源的分配方法,其特征在于,包括如下步骤:a)定时采集数据库系统资源使用情况;b)提取CPU及IO使用情况指标,并为每月同一天的系统资源消耗以及每天同一时间的系统资源消耗建立系统快照;c)通过每月同一天,每天同一时间快照比对,估算出未来时间片里系统的空闲资源及空闲时长;d)建立队列任务,并在估算出的空闲时长内选取执行匹配的任务。
【技术特征摘要】
1.一种数据库系统资源的分配方法,其特征在于,包括如下步骤:a)定时采集数据库系统资源使用情况;b)提取CPU及IO使用情况指标,并为每月同一天的系统资源消耗以及每天同一时间的系统资源消耗建立系统快照;c)通过每月同一天,每天同一时间快照比对,估算出未来时间片里系统的空闲资源及空闲时长;d)建立队列任务,并在估算出的空闲时长内选取执行匹配的任务。2.如权利要求1所述的数据库系统资源的分配方法,其特征在于,所述步骤c)通过连续的快照得出系统资源消耗变化趋势,估算过程如下:某时段CPU使用情况预估计算公式为:fc=(c1+c2+c3+....+cn)/n某时段IO使用情况预估计算公式为:fp=(p1+p2+p3+....+pn)/n其中n为采集天数,cn为第N天该时段快照中CPU使用率,pn为第N天该时段快照中IO量;当前空闲CPU时间的计算公式为:c=c1/c2×(100-R-c1)其中c1为当前系统CPU使用百分比,c2为数据库CPU的时间,R为系统CPU预留百分比常量;当前空闲IO的计算公式为:p=p1/p2×(R-p1)其中p1为当前系统IO使用量,p2为数据库物理读使用量,R为系统IO最大值。3.如权利要求1所述的数据库系统资源的分配方法,其特征在于,所述步骤d)将关键业务作为一个任务,建立关键业务流程的SQL性能基线,并通过数据采集不断校正基线,使SQL语句与业务流程双向直接关联,通过定时监测SQL语句的性能对业务性能进行监测和评估。4.如权利要求3所述的数据库系统资源的分配方法,其特征在于,所述步骤a)定时从数据库动态性能视图中采集SQL的性能数据,所述步骤d)基于采集到的SQL性能数据建立队列任务基线库,对于未在基线库中的业务SQL,推送到未绑定业务标签列表,由业务人员打上业务标签,再回存到基线库;对于已存在基线库的业务SQL,根据采...
【专利技术属性】
技术研发人员:程永新,孙玉颖,孙田,
申请(专利权)人:上海新炬网络信息技术有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。