CN102118264B - 一种生成性能报表的方法和装置 - Google Patents
一种生成性能报表的方法和装置 Download PDFInfo
- Publication number
- CN102118264B CN102118264B CN 201010613132 CN201010613132A CN102118264B CN 102118264 B CN102118264 B CN 102118264B CN 201010613132 CN201010613132 CN 201010613132 CN 201010613132 A CN201010613132 A CN 201010613132A CN 102118264 B CN102118264 B CN 102118264B
- Authority
- CN
- China
- Prior art keywords
- performance report
- inquiry
- time
- index
- performance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种生成性能报表的方法和装置,其中的方法具体包括:判断欲生成性能报表所涉及查询的时间跨度是否大于第一预设阈值,若是,则使用并行技术生成该性能报表,否则,使用串行技术生成该性能报表,其中,所述查询为针对性能数据的查询,所述时间跨度为所述查询的开始时间和结束时间之差。本发明能够在最大程度上发挥串行技术和并行技术各自的优势,从而大大提高性能报表的生成速度。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种生成性能报表的方法和装置。
背景技术
目前,随着通讯技术的迅速发展,电信网络的日益复杂,电信网管系统中的报表功能也日渐备受关注,因为整个电信网络设备的性能指标、运行详细状况等信息都需要从报表中获取,报表功能是网管系统维护人员使用最频繁的功能之一。
由于电信行业的性能数据巨大,而oracle数据库是正好适合大数据量处理的磁盘数据库,因此一般大型网管系统中会采用oracle数据库。具体而言,通过在oracle数据库中建立数据库性能表,并将一类管理对象的若干性能指标作为性能数据存储在相应的数据库性能表中;其中,数据库性能表可采用分区技术,例如,在按照时间进行分区时,一般一天的性能数据保存在一个分区中。
参照表1,示出了现有技术一种数据库性能表的示例,其中的字段可以包括管理对象标识、开始时间、结束时间、性能指标1和性能指标2。
表1
表1中,管理对象标识:RAN(无线接入网,Radio Access Network),RNC(无线网络控制器,Radio Network Controller)),nodeB(基站),cell(小区),可以看出,表1分别显示了两个管理对象(RAN=1,RNC=1,nodeB=1,cell=1和RAN=1,RNC=1,nodeB=1,cell=2)在2008-09-0900:00:00~2008-09-0900:15:00之间,以及在2008-09-0900:15:00~2008-09-0900:30:00之间的性能数据。
生成性能报表实质上就是一个或者多个数据库性能表中的性能数据的查询汇总;例如,全网性能报表是指对全网的性能数据制作报表,其生成的实质是对相应数据库表指定时间段进行查询,其中,查询条件中不限定管理对象,即对所有管理对象的某时间段内的性能数据进行汇总。
现有技术一般使用数据库串行查询技术查询性能表来生成性能报表,所述数据库串行查询技术是和数据库并行查询技术相对的,查询过程中实际只有一个线程(进程)进行表的查询访问;可见,在欲生成的性能报表涉及巨大的性能数据时,需要很长的时间才能生成该性能报表。
针对串行技术生成速度慢的缺点,个别技术人员尝试使用并行技术来提高性能报表的生成速度,即在查询中加入并行提示(PARALLEL),非但没有取得好的效果,反而适得其反,且占用大量的系统资源,影响了其他业务。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够提高性能报表的生成速度。
发明内容
本发明所要解决的技术问题是提供一种生成性能报表的方法和装置,能够在最大程度上发挥串行技术和并行技术各自的优势,从而大大提高性能报表的生成速度。
为了解决上述问题,本发明公开了一种生成性能报表的方法,包括:
判断欲生成性能报表所涉及查询的时间跨度是否大于第一预设阈值,若是,则使用并行技术生成该性能报表,否则,使用串行技术生成该性能报表,其中,
所述查询为针对性能数据的查询;
所述时间跨度为所述查询的开始时间和结束时间之差;
所述使用并行技术生成该性能报表的步骤,包括:根据该性能报表及其所涉及查询,确定是否使用索引扫描,若是,则结合使用索引提示和并行索引扫描提示生成该性能报表,否则,结合使用全表扫描提示和并行提示生成该性能报表;
所述使用串行技术生成该性能报表的步骤,包括:根据该性能报表及其所涉及查询,确定是否使用索引扫描,若是,则结合使用索引提示和串行提示生成该性能报表,否则,结合使用全表扫描提示和串行提示生成该性能报表。
优选的,所述方法还包括:
针对不同管理对象类型的性能数据,设置不同的第一预设阈值。
优选的,所述根据该性能报表及所涉及查询,确定是否使用索引扫描的步骤,包括:
如果该性能报表为全网性能报表,并且,所述查询涉及的时间长度与对应分区时间长度的比值超过第二预设阈值,则确定不使用索引扫描,否则确定使用索引扫描,其中,所述分区时间长度为所述查询涉及的分区个数与单个分区的时间长度的乘积。
优选的,在所述查询为针对连续时间段的性能数据的查询时,所述时间长度为该连续时间段的开始时间和结束时间之差;
在所述查询为针对不连续时间段的性能数据的查询时,所述时间长度为多个连续时间段的开始时间和结束时间之差的累积。
另一方面,本发明还公开了一种生成性能报表的装置,包括:
判断模块,用于判断欲生成性能报表所涉及查询的时间跨度是否大于第一预设阈值,其中,所述查询为针对性能数据的查询,所述时间跨度为所述查询的开始时间和结束时间之差;
并行模块,用于在所述时间跨度大于第一预设阈值时,使用并行技术生成该性能报表,所述并行模块包括:第一确定子模块,用于根据该性能报表及其所涉及查询,确定是否使用索引扫描;第一索引子模块,用于在确定使用索引扫描时,结合使用索引提示和并行索引扫描提示生成该性能报表;及第一全表扫描子模块,用于在确定不使用索引扫描时,结合使用全表扫描提示和并行提示生成该性能报表;及
串行模块,用于在所述时间跨度不大于第一预设阈值时,使用串行技术生成该性能报表,所述串行模块包括:第二确定子模块,用于根据该性能报表及其所涉及查询,确定是否使用索引扫描;第二索引子模块,用于在确定使用索引时,结合使用索引提示和串行提示生成该性能报表;及第二全表扫描子模块,用于在确定不使用索引扫描时,结合使用全表扫描提示和串行提示生成该性能报表。
优选的,所述装置还包括:
设置模块,用于针对不同管理对象类型的性能数据,设置不同的第一预设阈值。
优选的,所述第一确定子模块,具体用于在该性能报表为全网性能报表时,判断所述查询涉及的时间长度与对应分区时间长度的比值是否超过第二预设阈值,若是,则确定不使用索引扫描,否则,确定使用索引扫描,其中,所述分区时间长度为所述查询涉及的分区个数与单个分区的时间长度的乘积。
优选的,在所述查询为针对连续时间段的性能数据的查询时,所述时间长度为该连续时间段的开始时间和结束时间之差;
在所述查询为针对不连续时间段的性能数据的查询时,所述时间长度为多个连续时间段的开始时间和结束时间之差的累积。
与现有技术相比,本发明具有以下优点:
首先,本发明通过判断欲生成性能报表所涉及查询的时间跨度是否大于第一预设阈值,来确定使用并行技术还是串行技术来生成该性能报表;由于所述判断能够准确反映所述查询的数据量大小,而大数据量的查询适合使用并行技术,小数据量的查询适合使用串行技术,因此,本发明能够在最大程度上发挥串行技术和并行技术各自的优势,以避免现有技术中不区分数据量大小盲目使用并行技术引起的不必要的巨大资源消耗现象,从而能够大大提高性能报表的生成速度。
其次,相对于现有技术,本发明提供了一种确定是否使用索引提示的方法;由于该确定方法是针对性能表中数据客观的分布规律,根据该性能报表及其所涉及的查询条件进行的,其能够客观、正确地选择表的访问方式(也即是使用索引扫描还是全表扫描),因而,能够尽可能避免现有技术中数据库系统使用基于成本分析技术时有时候得到的不恰当的表访问方式,从而可以提高SQL执行的稳定度。
进一步,本发明还可以将所述确定结果与恰当的并行处理方式(PARALLEL和PARALLEL_INDEX提示)相结合,这样,就能够保证在使用索引扫描或全表扫描的情况下,都能够发挥出并行技术的应有优势;并且,能够避免技术一味地使用PARALLEL提示导致的并行提示失效,从而大大提高性能报表的生成速度。
再者,所述确定是否使用索引扫描的方法也可应用于串行技术,即在串行处理中,能够选择正确的表访问方法(索引扫描或者全表扫描),从而大大提高性能报表的生成速度。
附图说明
图1是本发明一种生成性能报表的方法实施例1的流程图;
图2是本发明一种生成性能报表的方法实施例2的流程图;
图3是本发明一种生成性能报表的方法实施例3的流程图;
图4是本发明一种生成性能报表的装置实施例的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
为使本领域技术人员更好地理解本发明,以下简单分析串行技术和并行技术的优缺点。
相对于并行技术同时针对不同类别的管理对象查询性能数据,串行技术在进行数据库表的访问时是单线程处理,故其具有占用系统资源少的优点,适用于小数据量(小任务)的性能数据的查询。而由于并行技术将数据(任务)分为若干份,每一份使用一个线程(进程)去处理,因而其在数据量非常大时,能显著提高数据库处理速度,如果在数据量比较小时使用并行,线程(进程)之间的协调等管理开销抵消了多线程带来的好处,反而导致查询速度降低,因此,并行技术只适用于大数据量(大任务)的性能数据的查询。
现有技术中,在生成性能报表时,或者不使用并行技术,或者机械地、对各种情况不加区分地使用并行技术,这就导致使用并行技术处理一些小任务的性能数据时,不仅占用了系统资源,而且没有任何速度的提高,使得性能报表的生成变得更加低效。因此,现有技术中,本领域技术人员往往因为担心并行技术消耗的巨大资源所造成的负面影响,而不敢使用并行。
如果能够设定一个判断准则,能够根据该判断准则筛选出大任务,使得只针对筛选出的大任务使用并行技术,则能够在很大程度上消除并行技术消耗巨大资源所造成的负面影响。
本专利发明人注意到了这一点,因此,创造性地提出了本发明的核心构思之一,也即,以欲生成性能报表所涉及查询的时间跨度作为大任务的判断准则,具体而言,判断欲生成性能报表所涉及查询的时间跨度是否大于第一预设阈值,若是,则使用并行技术生成该性能报表,否则,使用串行技术生成该性能报表;由于能够发挥串行技术和并行技术各自的优势,因而能够提高性能报表的生成速度。
参照图1,示出了本发明一种生成性能报表的方法实施例1的流程图,具体可以包括:
步骤101、判断欲生成性能报表所涉及查询的时间跨度是否大于第一预设阈值,若是,则执行步骤102,否则,执行步骤103,其中,所述查询为针对性能数据的查询,所述时间跨度为所述查询的开始时间和结束时间之差;
步骤102、使用并行技术生成该性能报表;
步骤103、使用串行技术生成该性能报表。
本发明的思想可以应用于电信网管系统中的报表功能,用于在oracel、mysql、sql2000等数据库环境下针对性能数据生成性能报表。
生成性能报表实质上就是一个或者多个数据库性能表中的性能数据的查询汇总。
在实际应用中,性能报表一般分为全网性能报表和非全网性能报表。
全网性能报表是对所有管理对象的某时间段内的性能数据进行汇总;非全网性能报表则只是对部分管理对象的、某时间段内的性能数据进行查询汇总。
最常见的全网性能报表是全网小区性能报表。该报表对该网管系统所管理的全部小区的性能数据制作性能报表,实质上是对小区性能表指定时间段进行查询,查询条件中不限定小区,即对所有小区的某时间段内的性能数据进行汇总;而非全网的小区性能报表则只是对部分小区的、某时间段内性能数据进行汇总。
可以看出,无论是全网性能报表还是非全网性能报表,它们的共性在于均对性能数据的时间字段进行查询。
本专利发明人注意到了这一点,因此,将查询的时间跨度作为数据量大小的反映指标;这里的时间跨度可为所述查询的开始时间和结束时间之差,中间可以不连续。例如,某忙时月度报表查询的是2010年9月份的每天的8:00~10:00,则查询的开始时间是2010年09月01日8:00,查询的结束时间是2010年09月30日10:00,故时间跨度为将近30天,准确地为29*24+2=698小时。
对于并行技术而言,欲查询性能数据的数据量越大,常常意味着是个大任务,此时能够发挥并行技术的优越性,也即提高性能报表的生成速度,但是,在小数据量的性能数据情况下使用并行技术,不但速度提高有限,而且会带来大的资源消耗,因此这种情况下,需要慎用并行。本发明实施例将查询的时间跨度作为数据量大小的反映指标,故在生成性能报表时,根据该性能报表所涉及查询的时间跨度来决定是否使用并行技术。
具体而言,如果所述时间跨度超过第一预设阈值(例如96小时,即4天),则使用并行技术,否则使用串行技术。
在实际中,本领域技术人员可以根据实际需求设置该第一预设阈值,例如,其缺省可以为分区时间长度的4倍,这样,在每天一个分区时,缺省的第一预设阈值为4*24=96小时。当然,本领域技术人员还可以进行其它设置,本发明对具体的设置方式不加以限制。
在使用所述时间跨度判断欲查询性能数据的数据量大小时,本专利发明人进一步发现,除了时间跨度这一关键因素外,欲查询性能数据的数据量还跟管理对象类型有关。
根据数据库性能表的定义,其将一类管理对象的若干性能指标作为性能数据进行存储,可知,数据库性能表是与管理对象类型一一对应的,故在此以数据库性能表为例说明其对欲查询性能数据的数据量的影响。
例如,与数据库小区性能表相比,RNC数据库性能表中一天时间对应的数据量远远小于前者中一天的数据量;这时,如果RNC性能数据库表使用与前者相同的第一预设阈值,则不能准确反映欲查询性能数据的数据量大小。
针对上述情形,在本发明的一种优选实施例中,可针对不同管理对象类型的性能数据(或者针对不同的数据库表),设置不同的第一预设阈值。
例如,可针对RNC性能数据库表,设置一个比较大的第一预设阈值,表示需要更长的时间跨度才可以达到使用并行技术所需的数据量;又如,对小区性能数据库表可设置一个比较小的第一预设阈值,即表示需要较短的时间跨度就可以达到使用并行技术所需的数据量。
参照图2,示出了本发明一种生成性能报表的方法实施例2的流程图,具体可以包括:
步骤201、判断欲生成性能报表所涉及查询的时间跨度是否大于第一预设阈值,若是,则执行步骤202,否则,执行步骤205,其中,所述查询为针对性能数据的查询,所述时间跨度为所述查询的开始时间和结束时间之差;
步骤202、根据该性能报表及其所涉及查询,确定是否使用索引扫描,若是,则执行步骤203,否则,执行步骤204;
步骤203、结合使用索引提示和并行索引扫描提示进行数据库查询,生成该性能报表;
步骤204、结合使用全表扫描提示和并行提示进行数据库查询,生成该性能报表;
步骤205、使用串行技术生成该性能报表。
现有技术中,由于本领域技术人员往往抱着谨慎怀疑的态度使用并行技术,即使在使用时,也只是机械地加入PARALLEL(并行)提示。
实际上,使用并行技术生成性能报表的过程中,所涉及的查询是否使用索引扫描是一个很重要的因素,因为在使用索引扫描时,需要读取索引、将索引和查询条件比较,并根据索引读取记录,也即进行大量的索引扫描相关处理,所述索引扫描相关处理是一个必不可少的步骤,且会涉及大的工作量,成为整个SQL处理过程中的瓶颈;因此,在使用索引扫描时,应使用索引并行(PARALLEL_INDEX)提示,通过并行的索引扫描(parallelize index rangescans for partitioned indexes)来提高数据库查询速度,从而提高性能报表的生成的速度;进一步,在使用索引扫描进行数据库存取时,如果使用PARALLEL提示,则会导致PARALLEL无效,而无法发挥出并行技术应有的优势。
结合使用索引提示和PARALLEL_INDEX提示能够发挥并行技术的优势,对本领域技术人员来说能够想象得到;但是,现有技术仍然机械地加入PARALLEL提示,其根本原因在于,使用并行技术生成性能报表的过程中,所涉及的查询是否使用索引往往由数据库系统自动地基于成本的分析得到,由于网管系统很难获取数据库系统的分析结果,因此,网管系统只能机械地加入PARALLEL提示,从而对性能报表的生成带来如下问题:
首先,对于数据库性能表来说,每个网元每15分钟向网管系统上报一次性能数据,然后在网管系统进行排队处理,也即,在实际应用中,数据库性能表中每时每刻都被插入大量新的性能数据;这样,在数据库系统进行基于成本的分析过程中,由于统计信息(如对表、索引、列的统计信息,分区统计信息)更新不及时或者其他原因(如通用的基于成本分析的算法本身的缺陷)导致没有选择正确的表访问方式(也即使用索引扫描或者全表扫描)的情形时有发生,也即,上述分析所得到的是否使用索引的结果不一定是正确的。
因为做报表相关的SQL语句是比较关键的,执行时间相对较长,一旦采用了不恰当的执行计划,将可能引起系统性能低下;这样,上述分析所得到的表访问方式的结果不正确,则意味着在不该使用索引扫描的情况下使用索引扫描,或者,在本该使用索引扫描的情况下不使用索引扫描,都有可能引起网管系统的性能降低。
其次,即使上述分析所得到的表访问方式(是否使用索引)的结果是正确的,诚然,在所述结果为所涉及查询是用全表扫描(不使用索引扫描)时,机械地加入的PARALLEL提示是能够发挥并行技术的优势的;但是,在所涉及查询使用了索引扫描时,加入的PARALLEL提示会失效,并不能加快查询速度。
针对上述问题,本发明实施例在使用并行技术生成性能报表时,不是使用数据库系统的基于成本的分析,而是根据该性能报表及其所涉及查询条件确定是否使用索引扫描,并且,在使用索引扫描时,结合使用PARALLEL_INDEX提示,以及,在使用全表扫描(不使用索引扫描)时,结合使用PARALLEL提示,从而能够最大程度地发挥并行技术的优势。
在实际中,使用索引的对立面是全表扫描(包括分区的全表扫描),以下以全表扫描为例进行说明,全表扫描或者其他非索引扫描请参照即可。
根据数据库基础理论可知,在满足查询条件的性能数据占整个分区性能数据的比例比较小时,索引扫描能够起到好的效果,也即能够提高查询速度;以及,在满足查询条件的性能数据占整个分区性能数据的比例比较大时,分区的全表扫描能够起到好的效果。
本专利发明人在研究中发现,如果欲生成的性能报表为全网性能报表,并且查询的时间段比较长,则满足性能报表查询条件的数据往往是某些分区的全部或者大多数数据,此时采用全表扫描是合适的。反之,如果欲生成的性能报表为非全网性能报表,或者,查询时间段比较短,此时满足性能报表查询条件的数据往往是某些分区中的少部分数据,此时使用索引扫描是比较合适的。
通过以上分析,在本发明的一种优选实施例中,通过判断述查询涉及的时间长度与对应分区时间长度的比值是否超过第二预设阈值,来确定欲查询性能数据的集中性与否,具体判断过程如下:
如果该性能报表为全网性能报表,并且,所述查询涉及的时间长度与对应分区时间长度的比值超过第二预设阈值,则确定使用全表扫描(不使用索引扫描),否则确定使用索引扫描,其中,所述分区时间长度为所述查询涉及的分区个数与单个分区的时间长度的乘积。
例如,所述查询涉及的时间段为2010年11月22日0:00到2010年11月23日1:00,第二预设阈值为0.2,假设每天建立一个分区(分区时间长度为24小时,从0:00~第二天0:00),则分区时间长度为2*24;此时,查询涉及的时间长度/分区时间长度=25/(2*24)=0.52>0.2,则此时应采用全表扫描,也即不使用索引扫描。
对于不符合判断准则的情形,例如,不是全网性能报表,或者,虽然是全网性能报表,但是查询涉及的时间长度与对应分区时间长度的比值低于了第二预设阈值,则使用索引提示,以强制使用索引。
例如,所述查询涉及的时间段为2010年11月22日0:00~2:00,第二预设阈值为1,每天建立一个分区(分区时间长度为24小时,从0:00~第二天0:00),此时,查询涉及的时间长度/分区时间长度=2/24<0.2,则此时不采用分区扫描,而强制使用索引。
在实际中,所述查询涉及的时间段可能是连续的,也可能不连续,针对上述情形,在本发明的一种优选实施例中,在所述查询为针对连续时间段的性能数据的查询时,所述时间长度为该连续时间段的开始时间和结束时间之差,具体参见上例;
在所述查询为针对不连续时间段的性能数据的查询时,所述时间长度为多个连续时间段的开始时间和结束时间之差的累积。
例如,所述查询涉及的时间段为2010年11月22日8:00~12:00和14:00~18:00,第二预设阈值为0.2,每天建立一个分区(分区时间长度为24小时,从0:00~第二天0:00),此时,查询涉及的时间长度/分区时间长度=(4+4)/24=0.33>0.2,则此时强制采用分表扫描,而不使用索引。
需要说明的是,所述第二预设阈值可由本领域技术人员根据具体需要进行设置,本发明对具体的设置方式不加以限制。
在具体实现中,可采用oracle数据库中的并行技术来实施本发明,例如,执行步骤203结合使用索引和并行索引扫描提示生成该性能报表时,给出了本发明一种SQL语句的应用示例:
select/*+INDEX(a TBL_GUIDE_LINE_DATA_1_INDEX)
PARALLEL_INDEX(a TBL_GUIDE_LINE_DATA_1_INDEX)*/
a.dn,sum(R001_006),sum(R001_007),sum(R001_008),sum(R001_009)
from TBL_GUIDE_LINE_DATA_1a
where end_time>=to_date('2008-09-09 08:00:00','yyyy-mm-dd hh24:mi:ss')
and end_time<=to_date('2008-09-11 12:00:00','yyyy-mm-dd hh24:mi:ss')
and(a.dn like'RAN=21,%')
and begin_time>=to_date('2008-09-09 08:00:00','yyyy-mm-dd hh24:mi:ss')
group by a.dn
其中,INDEX(a TBL_GUIDE_LINE_DATA_1_INDEX代表使用的索引提示,PARALLEL_INDEX(a TBL_GUIDE_LINE_DATA_1_INDEX)代表使用的PARALLEL_INDEX提示。
本发明具有如下优点:
1、通过测试验证,本发明根据该性能报表及其所涉及查询条件确定是否使用索引提示,能够选择比较正确的执行方式(使用索引扫描或者全表扫描),因而能够提高SQL执行的稳定度,尽可能避免现有技术中数据库系统基于成本分析得到的不恰当的表访问方式;
2、相对于现有技术,网管系统很难预先获取数据库系统使用基于成本分析技术时采用的表访问方式(使用索引扫描还是全表扫描),本发明提供了一种判断最佳表访问方式的方法,并通过使用提示强制使用该访问方式;
3、进一步,将所述确定结果与恰当的并行处理方式(PARALLEL和PARALLEL_INDEX提示)相结合,这样,就能够保证在使用索引扫描和全表扫描的情况下,都能够发挥出并行技术应有优势;并且,能够避免传统技术一味地使用PARALLEL提示导致并行提示失效性能降低的缺点,从而大大提高性能报表的生成速度。
参照图3,示出了本发明一种生成性能报表的方法实施例3的流程图,具体可以包括:
步骤301、判断欲生成性能报表所涉及查询的时间跨度是否大于第一预设阈值,若是,则执行步骤302,否则,执行步骤303,其中,所述查询为针对性能数据的查询,所述时间跨度为所述查询的开始时间和结束时间之差;
步骤302、使用并行提示进行数据库查询,生成该性能报表;
步骤303、根据该性能报表及其所涉及查询条件,确定是否使用索引扫描,若是,则执行步骤304,否则,执行步骤305;
步骤304、结合使用索引提示和串行提示生成该性能报表;
步骤305、结合使用全表扫描提示和串行提示生成该性能报表。
对于oracle数据库,在数据库系统的性能数据表和索引未开启并行的情况下,缺省即进行串行处理,因此此时串行提示可省略。如果开启了串行,则可以通过NO_PARALLEL、NO_PARALLEL_INDEX禁止掉并行,从而达到串行的目的。文中,将NO_PARALLEL、NO_PARALLEL_INDEX称为串行索引提示。
实施例2中确定是否使用索引扫描的方法也可应用于本实施例中的串行技术,也可使用类似的判断准则,具体请参照实施例2的相关说明,在此不作赘述。例如,一种判断过程的示例如下:
如果该性能报表为全网性能报表,并且,所述查询涉及的时间长度与对应分区时间长度的比值超过第三预设阈值,则确定不使用索引提示,否则确定使用索引提示,其中,所述分区时间长度为所述查询涉及的分区个数与单个分区的时间长度的乘积。
与前述方法实施例相应,本发明还公开了一种生成性能报表的装置,参照图4,具体可以包括:
判断模块401,用于判断欲生成性能报表所涉及查询的时间跨度是否大于第一预设阈值,其中,所述查询为针对性能数据的查询,所述时间跨度为所述查询的开始时间和结束时间之差;
并行模块402,用于在所述时间跨度大于第一预设阈值时,使用并行技术生成该性能报表;及
串行模块403,用于在所述时间跨度不大于第一预设阈值时,使用串行技术生成该性能报表,。
在本发明的一种优选实施例中,所述装置还可以包括:
设置模块A,用于针对不同管理对象类型的性能数据,设置不同的第一预设阈值。
在本发明的一种优选实施例中,在使用并行技术时,提供了一种确定是否使用索引扫描,以及,将所述确定结果与恰当的并行处理方式相结合的方案,相应地,所述并行模块402具体可以包括:
第一确定子模块B1,用于根据该性能报表及其所涉及查询条件,确定是否使用索引扫描;
第一索引子模块B2,用于在确定使用索引扫描时,结合使用索引提示和并行索引扫描提示生成该性能报表;及
第一全表扫描子模块B3,用于在确定不使用索引时,结合使用全表扫描提示和并行提示生成该性能报表。
优选的,所述第一确定子模块B1,可具体用于在该性能报表为全网性能报表时,判断所述查询涉及的时间长度与对应分区时间长度的比值是否超过第二预设阈值,若是,则确定使用全表扫描(不使用索引扫描),否则,确定使用索引,其中,所述分区时间长度为所述查询涉及的分区个数与单个分区的时间长度的乘积。
优选的,在所述查询为针对连续时间段的性能数据的查询时,所述时间长度为该连续时间段的开始时间和结束时间之差;以及,在所述查询为针对不连续时间段的性能数据的查询时,所述时间长度为多个连续时间段的开始时间和结束时间之差的累积。
在本发明的另一种优选实施例中,在使用串行技术时,提供了一种确定是否使用索引扫描的方案,相应地,所述串行模块403具体可以包括:
第二确定子模块C1,用于根据该性能报表及其所涉及查询,确定使用索引扫描还是全表扫描;
第二索引子模块C2,用于在确定使用索引扫描时,结合使用索引提示和串行提示生成该性能报表;及
第二全表扫描子模块C3,用于在确定使用全表扫描时,结合使用全表扫描提示和串行提示生成该性能报表
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明所提供的一种生成性能报表的方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种生成性能报表的方法,其特征在于,包括:
判断欲生成性能报表所涉及查询的时间跨度是否大于第一预设阈值,若是,则使用并行技术生成该性能报表,否则,使用串行技术生成该性能报表,其中,
所述查询为针对性能数据的查询;
所述时间跨度为所述查询的开始时间和结束时间之差;
所述使用并行技术生成该性能报表的步骤,包括:根据该性能报表及其所涉及查询,确定是否使用索引扫描,若是,则结合使用索引提示和并行索引扫描提示生成该性能报表,否则,结合使用全表扫描提示和并行提示生成该性能报表;
所述使用串行技术生成该性能报表的步骤,包括:根据该性能报表及其所涉及查询,确定是否使用索引扫描,若是,则结合使用索引提示和串行提示生成该性能报表,否则,结合使用全表扫描提示和串行提示生成该性能报表。
2.如权利要求1所述的方法,其特征在于,还包括:
针对不同管理对象类型的性能数据,设置不同的第一预设阈值。
3.如权利要求1所述的方法,其特征在于,所述根据该性能报表及所涉及查询,确定是否使用索引扫描的步骤,包括:
如果该性能报表为全网性能报表,并且,所述查询涉及的时间长度与对应分区时间长度的比值超过第二预设阈值,则确定不使用索引扫描,否则确定使用索引扫描,其中,所述分区时间长度为所述查询涉及的分区个数与单个分区的时间长度的乘积。
4.如权利要求3所述的方法,其特征在于,在所述查询为针对连续时间段的性能数据的查询时,所述时间长度为该连续时间段的开始时间和结束时间之差;
在所述查询为针对不连续时间段的性能数据的查询时,所述时间长度为多个连续时间段的开始时间和结束时间之差的累积。
5.一种生成性能报表的装置,其特征在于,包括:
判断模块,用于判断欲生成性能报表所涉及查询的时间跨度是否大于第一预设阈值,其中,所述查询为针对性能数据的查询,所述时间跨度为所述查询的开始时间和结束时间之差;
并行模块,用于在所述时间跨度大于第一预设阈值时,使用并行技术生成该性能报表,所述并行模块包括:第一确定子模块,用于根据该性能报表及其所涉及查询,确定是否使用索引扫描;第一索引子模块,用于在确定使用索引扫描时,结合使用索引提示和并行索引扫描提示生成该性能报表;及第一全表扫描子模块,用于在确定不使用索引扫描时,结合使用全表扫描提示和并行提示生成该性能报表;及
串行模块,用于在所述时间跨度不大于第一预设阈值时,使用串行技术生成该性能报表,所述串行模块包括:第二确定子模块,用于根据该性能报表及其所涉及查询,确定是否使用索引扫描;第二索引子模块,用于在确定使用索引时,结合使用索引提示和串行提示生成该性能报表;及第二全表扫描子模块,用于在确定不使用索引扫描时,结合使用全表扫描提示和串行提示生成该性能报表。
6.如权利要求5所述的装置,其特征在于,还包括:
设置模块,用于针对不同管理对象类型的性能数据,设置不同的第一预设阈值。
7.如权利要求5所述的装置,其特征在于,所述第一确定子模块,具体用于在该性能报表为全网性能报表时,判断所述查询涉及的时间长度与对应分区时间长度的比值是否超过第二预设阈值,若是,则确定不使用索引扫描,否则,确定使用索引扫描,其中,所述分区时间长度为所述查询涉及的分区个数与单个分区的时间长度的乘积。
8.如权利要求7所述的装置,其特征在于,在所述查询为针对连续时间段的性能数据的查询时,所述时间长度为该连续时间段的开始时间和结束时间之差;
在所述查询为针对不连续时间段的性能数据的查询时,所述时间长度为多个连续时间段的开始时间和结束时间之差的累积。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010613132 CN102118264B (zh) | 2010-12-20 | 2010-12-20 | 一种生成性能报表的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010613132 CN102118264B (zh) | 2010-12-20 | 2010-12-20 | 一种生成性能报表的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102118264A CN102118264A (zh) | 2011-07-06 |
CN102118264B true CN102118264B (zh) | 2013-08-21 |
Family
ID=44216869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010613132 Active CN102118264B (zh) | 2010-12-20 | 2010-12-20 | 一种生成性能报表的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102118264B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408068A (zh) * | 2014-10-29 | 2015-03-11 | 中国建设银行股份有限公司 | 一种报表数据处理方法及相关设备 |
CN106294380B (zh) * | 2015-05-18 | 2021-02-12 | 中兴通讯股份有限公司 | 数据库的查询方法及装置 |
US20180173753A1 (en) * | 2016-12-16 | 2018-06-21 | Futurewei Technologies, Inc. | Database system and method for compiling serial and parallel database query execution plans |
CN107657058A (zh) * | 2017-10-19 | 2018-02-02 | 上海大汉三通数据通信有限公司 | 一种数据的查询方法及相关装置 |
CN111143405A (zh) * | 2019-12-23 | 2020-05-12 | 江苏源普控制设备有限公司 | 基于优化查找的水泵高压电机温度采集的趋势图绘制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431760A (zh) * | 2007-11-07 | 2009-05-13 | 中兴通讯股份有限公司 | 业务报表实现方法及系统 |
CN101751436A (zh) * | 2008-12-19 | 2010-06-23 | 中国移动通信集团山东有限公司 | 一种生成报表的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9165032B2 (en) * | 2007-11-21 | 2015-10-20 | Hewlett-Packard Development Company, L.P. | Allocation of resources for concurrent query execution via adaptive segmentation |
-
2010
- 2010-12-20 CN CN 201010613132 patent/CN102118264B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431760A (zh) * | 2007-11-07 | 2009-05-13 | 中兴通讯股份有限公司 | 业务报表实现方法及系统 |
CN101751436A (zh) * | 2008-12-19 | 2010-06-23 | 中国移动通信集团山东有限公司 | 一种生成报表的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102118264A (zh) | 2011-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10067979B2 (en) | Allocation of tenants to database services | |
Thusoo et al. | Data warehousing and analytics infrastructure at facebook | |
CN102118264B (zh) | 一种生成性能报表的方法和装置 | |
AU2010336363B2 (en) | Managing queries | |
CN102063490B (zh) | 一种数据库分区方法和分区装置 | |
US20160019254A1 (en) | Tiered data storage architecture | |
CN103744906A (zh) | 一种数据同步系统、方法及装置 | |
CN102841931A (zh) | 分布式文件系统的存储方法及装置 | |
CN104737157A (zh) | 联合数据库系统 | |
CN102890682A (zh) | 构建索引的方法、检索方法、装置及系统 | |
CN101937474A (zh) | 海量数据查询方法及设备 | |
CN109885642B (zh) | 面向全文检索的分级存储方法及装置 | |
US11553023B2 (en) | Abstraction layer for streaming data sources | |
CN102937964A (zh) | 基于分布式系统的智能数据服务方法 | |
CN103365740A (zh) | 一种数据冷备方法及装置 | |
CN104394518B (zh) | 一种短信发送方法及短信平台 | |
CN108334565A (zh) | 一种数据混合存储结构、数据存储查询方法、终端及介质 | |
Chen et al. | Applying segmented right-deep trees to pipelining multiple hash joins | |
CN105808556A (zh) | 一种数据库的操作方法及数据库引擎 | |
CN111158990A (zh) | 数据仓库智能调度任务跑批系统及方法 | |
US11989181B2 (en) | Optimal query scheduling for resource utilization optimization | |
CN103176846A (zh) | 一种基于流水线的软硬件共享装置及方法 | |
Bohm et al. | DIPBench: An independent benchmark for data-intensive integration processes | |
CN102073915A (zh) | 办公自动化系统和办公自动化系统的实现方法 | |
Liang et al. | A federated UDDI system for concurrent access to service data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
DD01 | Delivery of document by public notice |
Addressee: Wu Guoxin Document name: Notification of Passing Examination on Formalities |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |