CN102007476A - 查询处理可视化***和可视化查询处理的方法 - Google Patents
查询处理可视化***和可视化查询处理的方法 Download PDFInfo
- Publication number
- CN102007476A CN102007476A CN2009801133489A CN200980113348A CN102007476A CN 102007476 A CN102007476 A CN 102007476A CN 2009801133489 A CN2009801133489 A CN 2009801133489A CN 200980113348 A CN200980113348 A CN 200980113348A CN 102007476 A CN102007476 A CN 102007476A
- Authority
- CN
- China
- Prior art keywords
- query
- query processing
- present
- visual
- inquiry
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种包括可视化模块的查询处理可视化***。该可视化模块通过以下操作来可视化在对请求来自一个或多个数据源的数据的客户端查询进行处理的过程中所发生的查询处理事件的记录信息:通过分析记录信息以便识别查询处理事件的依赖性;按反映查询处理事件的依赖性的层次来格式化表示记录信息的可视呈现部件;并在格式化的可视呈现部件的层次的环境下呈现可视呈现部件。
Description
技术领域
本发明涉及查询处理可视化***和可视化查询处理的方法。
背景技术
许多机构使用数据存储器来存储商业数据,例如财务数据和运营数据。为了帮助商业用户检查他们的数据,提出了各种数据分析应用。那些数据分析应用向用户提供数据的各种视图或者报告。数据分析应用具有查询引擎,该查询引擎访问数据存储器以获得期望的数据。有些数据分析应用具有在线分析处理(OLAP)引擎,用以提供数据的多维视图。
那些现有的查询引擎和OLAP引擎使用引擎的部件来获得期望的数据,而不允许外部部件参与查询处理的内部逻辑。因此,这些引擎不能重用或者与其它部件共享功能性。
为了便于在单个执行计划中编译所有查询操作提供器动作的计划逻辑的重用,于2006年12月28日公开的美国专利申请公报No.US2006/0294076 A1提出了使用查询框架***,该查询框架***处理具有一个协调计划器和多个查询服务提供器的查询,上述美国专利申请通过引用并入于此。查询框架***处理查询并产生查询执行计划,按照该查询执行计划,利用相关的查询服务提供器执行查询。当在查询执行过程中出现问题时,为了调试问题,用户需要理解查询处理的细节。
因此,期望提供一种工具,该工具提供对查询处理的可视化表示,以帮助用户注意查询处理问题。
发明内容
本发明使用可以提供查询处理的特定格式化视图的查询处理可视化接口。
本发明的一个目的在于提供改进的查询处理可视化***和可视化查询处理的方法。
根据本发明的一方面,提供了一种包括可视化模块的查询处理可视化***,该可视化模块用于可视化在对请求来自一个或多个数据源的数据的客户端查询进行处理的过程中所发生的查询处理事件的记录(logging)信息。该可视化模块包括记录信息分析器、事件顺序格式化器和方法调用呈现管理器。记录信息分析器被提供用于分析记录信息,以识别查询处理事件的依赖性。事件顺序格式化器被提供用于按反映查询处理事件的依赖性的层次来格式化表示记录信息的可视呈现部件。方法调用呈现管理器被提供用于在由事件顺序格式化器格式化的可视部件的层次的环境下呈现可视呈现部件。
根据本发明的另一方面,提供了一种可视化查询处理的方法。该方法包括如下步骤:分析在对请求来自一个或多个数据源的数据的客户端查询进行处理的过程中所发生的查询处理事件的记录信息,从而识别查询处理事件的依赖性;按反映查询处理事件的依赖性的层次来格式化表示记录信息的可视呈现部件;及在由格式化步骤格式化的可视部件的层次的环境下呈现可视呈现部件。
根据本发明的另一方面,提供了一种包含计算机可执行指令的计算机可读介质,其中计算机可执行指令可以被计算机读取并执行,用于执行可视化查询处理的方法。该方法包括如下步骤:分析在对请求来自一个或多个数据源的数据的客户端查询进行处理的过程中所发生的查询处理事件的记录信息,从而识别查询处理事件的依赖性;按反映查询处理事件的依赖性的层次来格式化表示记录信息的可视呈现部件;及在由格式化步骤格式化的可视部件的层次的环境下呈现可视呈现部件。
从第一方面看,本发明提供了一种包括可视化模块的查询处理可视化***,该可视化模块用于可视化在对请求来自一个或多个数据源的数据的客户端查询进行处理的过程中所发生的查询处理事件的记录信息,该可视化模块包括:记录信息分析器,用于分析记录信息以识别查询处理事件的依赖性;事件顺序格式化器,用于按反映查询处理事件的依赖性的层次来格式化表示记录信息的可视呈现部件;以及方法调用呈现管理器,用于在由事件顺序格式化器格式化的可视部件的层次的环境下呈现可视呈现部件。
优选地,本发明提供了一种查询处理可视化***,其中记录信息分析器还包括分析与主要查询处理事件相对应的方法调用的记录信息,并识别方法调用的依赖性;事件顺序格式化器还包括按反映方法调用的依赖性的层次格式化可视呈现部件;而方法调用呈现管理器还包括在表示方法调用的可视呈现部件的层次的环境下呈现可视呈现部件。
优选地,本发明提供了一种查询处理可视化***,其中记录信息分析器还包括分析记录信息以识别方法调用的递归依赖性;事件顺序格式化器还包括递归依赖性管理器,用于将表示递归地调用的方法调用的可视呈现部件格式化为可折叠(collapsible)部件;而方法调用呈现管理器还包括呈现可折叠部件以使得可视地呈现给定调用深度处的方法。
优选地,本发明提供了一种查询处理可视化***,其中事件顺序格式化器还包括变换方法调用管理器,用于打开表示已经变换了宏操作树的结构的方法的宏操作树。
优选地,本发明提供了一种查询处理可视化***,其中:记录信息分析器还包括提取包括方法调用的事件处理信息在内的记录信息;而方法调用呈现管理器还包括处理信息添加器,用于将处理信息添加到表示该方法调用的可视部件。
优选地,本发明提供了一种查询处理可视化***,其中处理信息包括方法调用的耗用时间和/或存储器消耗。
优选地,本发明提供了一种查询处理可视化***,其中处理信息添加器在呈现中突出显示处理信息。
优选地,本发明提供了一种查询处理可视化***,其中方法调用呈现管理器还包括部件标记管理器,用于利用方法的名称、容器对象的名称和提供该方法的处理服务的服务提供器的名称来标记表示方法调用的呈现部件。
优选地,本发明提供了一种查询处理可视化***,其中记录信息分析器还包括提取包括方法调用的参数信息在内的记录信息;而方法调用呈现管理器还包括参数信息添加器,用于将对方法调用的参数信息的访问添加到表示该方法调用的可视部件。
优选地,本发明提供了一种查询处理可视化***,其中参数信息添加器还包括添加输入参数访问、输出参数访问和/或返回参数访问。
优选地,本发明提供了一种查询处理可视化***,其中参数信息管理器还包括宏操作树管理器,用于呈现表示包含查询框架查询的参数的宏操作树,其中查询框架查询可以由处理客户端查询的查询框架的一个或多个查询处理服务提供器执行。
优选地,本发明提供了一种查询处理可视化***,其中宏操作包括查询结果定义、查询和/或提供器查询。
优选地,本发明提供了一种查询处理可视化***,其中方法调用呈现管理器包括执行选项管理器,用于允许执行查询框架查询,并且用于呈现包含执行的查询结果的视图。
优选地,本发明提供了一种查询处理可视化***,其中宏操作树管理器包括宏操作细节管理器,用于以预定格式露出完成宏操作定义的宏操作的结构。
优选地,本发明提供了一种查询处理可视化***,其中记录信息分析器包括提取作为查询计划处理的结果产生的查询执行计划的记录信息,该查询执行计划包括可以由查询处理服务提供器执行的宏操作;事件顺序格式化器还包括格式化表示可执行的宏操作的可视呈现部件,以便表示查询执行计划;而方法调用呈现管理器还包括呈现用于确认执行计划的可视呈现部件。
优选地,本发明提供了一种还包括记录模块的查询处理可视化***,该记录模块包括:事件捕捉器,用于捕捉在处理客户端查询的过程中所发生的查询处理事件;方法调用识别器,用于将所捕捉到的查询处理事件中的主要查询处理事件识别为方法调用;及记录元素管理器,用于将每个方法调用记录为由记录元素表示。
从本发明的另一方面看,本发明提供了一种可视化查询处理的方法,该方法包括如下步骤:分析在对请求来自一个或多个数据源的数据的客户端查询进行处理的过程中所发生的查询处理事件的记录信息,从而识别查询处理事件的依赖性;按反映查询处理事件的依赖性的层次来格式化表示记录信息的可视呈现部件;及在由格式化步骤格式化的可视部件的层次的环境下呈现可视呈现部件。
优选地,本发明提供了一种方法,其中分析步骤还包括分析与主要查询处理事件相对应的方法调用的记录信息,并识别方法调用的依赖性;格式化步骤还包括按反映方法调用的依赖性的层次来格式化可视呈现部件;而呈现步骤还包括在表示方法调用的可视部件的层次的环境下呈现可视呈现部件。
优选地,本发明提供了一种方法,其中分析步骤还包括识别方法调用的递归依赖性;格式化步骤还包括将表示递归地调用的方法调用的可视呈现部件格式化为可折叠部件;而呈现步骤还包括呈现可折叠部件,以使得可视地呈现给定调用深度处的方法。
优选地,本发明提供了一种方法,其中呈现步骤还包括打开表示已经变换了宏操作树的结构的方法的宏操作树。
优选地,本发明提供了一种方法,其中分析步骤还包括提取包括方法调用的事件处理信息在内的记录信息;而呈现步骤还包括将处理信息添加到表示该方法调用的可视部件。
优选地,本发明提供了一种方法,其中呈现步骤还包括添加方法调用的耗用时间和/或存储器消耗。
优选地,本发明提供了一种方法,其中格式化步骤还包括利用方法的名称、容器对象的名称和提供该方法的处理服务的服务提供器的名称来标记表示方法调用的呈现部件。
优选地,本发明提供了一种方法,其中:分析步骤还包括提取包括方法调用的参数信息在内的记录信息;而呈现步骤还包括将对方法调用的参数信息的访问添加到表示该方法调用的可视部件。
优选地,本发明提供了一种方法,其中参数信息添加步骤还包括呈现表示包含查询框架查询的参数的宏操作树,该查询框架查询可以由处理客户端查询的查询框架的一个或多个查询处理服务提供器执行。
优选地,本发明提供了一种方法,其中宏操作树呈现步骤还包括提供执行选项,用于允许查询框架查询的执行,并用于呈现包含执行的查询结果的视图。
优选地,本发明提供了一种方法,其中分析步骤还包括获得作为查询计划处理的结果产生的查询执行计划的记录信息,该查询执行计划包括可以由查询处理服务提供器执行的宏操作;格式化步骤还包括格式化表示可执行的宏操作的可视呈现部件,以表示查询执行计划;而呈现步骤还包括呈现用于确认执行计划的可视呈现部件。
优选地,本发明提供了一种方法,该方法还包括通过以下获得记录信息的步骤:捕捉在处理客户端查询的过程中所发生的查询处理事件;将所捕捉到的查询处理事件中的主要查询处理事件识别为方法调用;及将每个方法调用记录为由记录元素表示。
从另一方面看,本发明提供了一种可加载到数字计算机的内部存储器中的计算机程序产品,该计算机程序产品包括软件代码部分,该软件代码部分在所述产品在计算机上运行时执行用以实现如上所述的发明。
附图说明
以下参考附图仅仅作为例子来具体描述本发明的实施方式,附图中:
图1是示出根据本发明优选实施方式的查询处理可视化***的框图;
图2是示出查询框架***的例子的框图;
图3是示出查询树的例子的图;
图4是示出查询框架***的例子的图;
图5是示出查询处理可视化***的实施方式的图;
图6是示出查询处理可视化***的记录模块的实施方式的图;
图7是查询处理日志(log)的例子;
图8是示出查询处理可视化***的可视化模块的实施方式的图;
图9是经格式化的查询处理日志的高级表示的例子;
图10是示出方法调用呈现管理器的实施方式的图;
图11是可视化的方法调用的例子;
图12是参数的XML表示的例子;
图13是宏操作树的例子;
图14是查询框架查询的查询结果视图的例子;
图15是示出宏操作树的打开的例子;
图16是宏操作的树模式的例子;
图17是宏操作的树模式的另一个例子;
图18是宏操作的树模式的另一个例子;
图19是宏操作细节的例子;
图20是宏操作细节的另一个例子;
图21是宏操作细节的另一个例子;
图22是查询执行计划的视图的例子;
图23是示出查询执行的流程的例子的图;
图24是确认请求的例子;
图25是转换后的确认请求的例子;
图26是确认请求命令报告的例子;
图27是确认请求响应的例子;及
图28是查询信息串的例子。
具体实施方式
参考图1,描述了根据本申请实施例的查询处理可视化***100。查询处理可视化***100适于用在松散耦合的查询处理部件的开放式***中。在图1所示的实施例中,查询处理可视化***100与用在报告服务器20中的查询框架***10一起工作。查询框架***10被提供用于从数据分析***30接收用户查询,并处理所接收到的用户请求,以便利用元数据模型22从一个或多个数据源40检索所请求的数据。这些***可能适于用在服务器-客户端环境中。
查询分析***30是提供数据源40中数据的各种视图以便允许用户分析数据的应用***。当用户请求数据视图时,查询分析***20产生用户请求。为了产生用户请求,查询分析***20可以使用包含数据源40的元数据的元数据模型22。用户请求采用查询分析***20用来发出用户请求的查询语言的形式。
查询框架***10拦截由数据分析***30产生的用户请求。它处理并执行该用户请求,以便从数据源40检索期望的数据。
如图2所示,查询框架***10有多个查询处理部件12。查询处理部件12包括一组查询操作提供器15和一个协调计划器16。查询处理部件12共享查询框架***10的公共接口14和公共查询语言。查询处理部件12是可***的。
每个查询操作提供器15都能够对查询执行特定的操作,如以下进一步示例的。在图2中,为了例示,示出了三个查询操作提供器15。在查询框架***10中,可以有更多或更少的查询操作提供器。
如在图3中所示例的,查询框架***10使用查询框架(QF)查询50。QF查询50扮演查询规范的角色,其中查询操作提供器15使用该规范来彼此通信,并与(RQP)72、OLAP计划器查询提供器(OQP)74及卖方查询(VQ)计划器查询提供器76通信。服务提供器80提供本地查询操作,并在与其它部件相关联的查询块上产生提供器查询。在这个例子中,查询框架***10具有本地制表操作提供器82、本地执行提供器84和多立方(multicube)联合提供器86。为了让其它的查询操作提供器使用变换后的查询,查询变换提供器90负责预处理QF查询。在这个例子中,查询框架***10具有规范查询结果定义提供器92、查询精炼提供器94、查询分解提供器96和查询优化提供器98。
查询处理可视化***100提供对查询处理的可视化。查询处理包括查询计划和查询执行。
如图5所示,查询处理可视化***100包括可视化模块140。在该实施例中,查询处理可视化***100与在该查询处理可视化***100外部提供的记录模块120一起工作。在其他实施例中,记录模块120可以是查询处理可视化***100的一部分。
记录模块120获得在处理请求数据的客户端查询的过程中所发生的查询处理事件的记录信息。在查询框架***10具有记录功能以及用于存储记录信息的记录信息贮存器的实施例中,记录模块120可以从查询框架***10的记录信息贮存器获得记录信息。
图6示出了其中记录模块120提供记录功能的实施例。在该实施例中,记录模块120具有事件捕捉器122、方法调用识别器124和记录元素管理器126。事件捕捉器122捕捉在查询框架***10中发生的查询处理事件。事件捕捉器122具有用于捕捉方法调用的参数的记录信息的参数捕捉器132。方法调用识别器124将捕捉到的主要事件识别为对接口方法的调用。方法调用识别器124具有用于识别递归的方法调用的递归方法调用识别器134。记录元素管理器126在查询框架日志文件中记录日志,以反映所捕捉到的事件。记录元素管理器126具有用于管理子元素中的记录的子元素管理器136。
日志的结构是由在查询框架***10中发生的顺序事件驱动的。记录元素管理器126将应当记录的一些信息立刻写到日志中,使得记录不需要有任何信息保持在存储器中而等待在合适的时间加以记录。另一方面,尽管方法调用的执行可能导致在查询框架***10中发生其它应当记录的事件,但记录元素管理器126在方法完成之后写一些信息,例如方法的方法输出参数的内容。
在一种实施例中,记录元素管理器126以XML格式记录信息。记录元素管理器126记录信息,使得每个查询框架接口方法调用都由XML元素表示。参数捕捉器132捕捉方法的输入和输出参数,而子元素管理器136记录方法的子元素中的参数。XML格式的结构表示事件的依赖性。对其它查询框架接口方法的大多数调用是递归的,即,它们调用作为其实现的一部分的其它方法。递归方法调用识别器134识别递归的方法调用,而子元素管理器136将递归的方法调用记录为子方法元素。
图7示出了由记录模块120或者查询框架***10记录的方法调用的查询处理事件日志的一部分的例子。即使对于单个调用,所捕捉到的日志数据的量实际上对于用户用于分析来说也是巨大而且压倒性的,这是很典型的。
可视化模块140可视化查询处理事件日志中的信息。它充当一种工具,使得可以对记录信息进行自上而下的分析、帮助识别负责给定变换的日志文件部分、将相应条记录数据(例如,输入和输出参数)集合到一起、反映查询计划和执行阶段过程中提供器调用的顺序和/或最大化记录信息的价值。
图8示出了可视化模块140的实施例,该可视化模块包括记录信息分析器150、事件顺序格式化器160和方法调用呈现管理器180。
记录信息分析器150分析查询处理事件的记录信息。它识别查询处理事件或者方法调用的依赖性。记录信息分析器150可以提取方法调用的递归依赖性的信息、事件处理信息和/或方法调用的参数信息。
事件顺序格式化器160按反映方法调用的依赖性的层次来格式化表示记录信息的可视呈现部件。它将表示递归地调用的方法的可视部件呈现为可折叠部件,使得可视地呈现给定调用深度处的方法或者属于给定方法调用子树的方法。事件顺序格式化器160具有递归依赖性管理器164,用于按反映递归依赖性的层次来格式化表示方法调用的可视呈现部件。事件顺序格式化器还可以具有变换方法调用的管理器166,提供打开针对变换了宏操作树的结构的方法的这些宏操作树的能力。总的来说,变换方法调用管理器166可以将准备调用的输入参数的内容与输出参数进行比较。如果这些参数不同,则变换方法调用管理器166可以使用其作为发生了变换的指示。除了为了优化,还期望在没有施加变换的情况下提供器能返回空响应。变换方法调用管理器166可以使用那些空响应来检测针对可视化逻辑的没有发生变换的指示。一旦施加了,则宏操作树的打开利用QueryPrepare方法调用的顺序清楚地表明查询计划顺序的逻辑,其中可视化只挑选那些实际上改变了查询结构并在响应参数中返回的方法调用。
方法调用呈现管理器180在由事件顺序格式化器160格式化的可视部件的层次的环境下呈现方法调用记录信息的部件。
图9示出了按反映方法调用的依赖性的层次的对记录信息的高级表示的例子。这种格式适于用来解决记录数据分析的需求。高级表示只示出了方法调用。方法调用的递归依赖性是在对应于方法的可视部件的层次中反映的。表示递归地调用的方法的可视呈现部件可以是折叠的或者打开的,使得只示出了期望的调用深度处的方法。表示每个方法的每个可视呈现部件是利用其名称、容器对象的名称和提供器的名称可视地识别的。
图10示出了方法调用呈现管理器180的实施例,其中方法调用呈现管理器180具有处理信息添加器182,用于将方法调用的处理信息添加到表示该方法调用的可视部件。处理信息可以是方法调用的处理的统计信息,例如方法调用的耗用时间和/或存储器消耗。处理信息添加器182可以在呈现中突出显示处理信息,使得无论何时考察查询框架***10的性能,都很容易关注到这种信息。
如图10所示,方法调用呈现管理器180还可以具有部件标记管理器184,用于利用方法的名称、容器对象的名称和/或提供方法的处理服务的提供器的名称来标记表示方法调用的方法调用呈现部件。
如图10所示,方法调用呈现管理器180具有参数信息添加器190。参数信息添加器190将对方法调用的参数信息的访问添加到表示该方法调用的可视部件。参数信息可以包括输入参数、输出参数和/或返回参数的信息。因此,调用方法的可视化还充当进一步分析其输入和输出参数的启动点。参数信息添加器182可以添加输入参数访问、输出参数访问和/或返回参数访问。参数信息添加器182可以显示只对非空参数值的访问。当选择这些访问中的一个时,呈现所关联的参数值。
图11示出了具有对参数信息进行访问的方法调用的呈现的例子。方法调用的这种可视化充当进一步分析其输入和输出参数的启动点。如图12所示,点击参数类型打开传递到给定方法调用的值。参数可以具有XML表示。
如图10所示,方法调用呈现管理器180也可以具有宏操作树管理器192。宏操作树管理器192呈现表示包含QF查询的参数的宏操作树。
参数值可以是QF查询。如以上参考图3所描述的,查询框架***10将查询看作宏操作的组合。只有几种类型的宏操作,包括:用SQL查询表示的操作,这是关系查询提供器(RQP)的责任;用多维表达(MDX)查询表示的操作,这是OLAP查询提供器(OQP)的责任;动态立方构建的操作,其可由立方体结构来表征并且是立方体构建提供器的责任;以及多个本地处理操作,例如报告器模式接缝操作、零抑制操作和/或主-细节操作。方法调用的参数可以包含查询框架查询,这是宏操作的组合。
利用宏操作树管理器192,方法调用呈现管理器180还可以将包含QF查询的参数显示为宏操作的树。宏操作树可以包括表示查询结果定义(QRD)、查询和/或提供器查询的节点。图13示出了这种宏操作树的呈现的例子。在这个例子中,宏操作树的节点包括QRD和查询。宏操作树中的节点可以根据操作类型不同地呈现,例如,不同地着色。图13中示例的宏操作的表示可以选择成对包含QF查询的参数值是缺省的,因为它提供了请求内容的有效的高级描述。这个视图可以表明包括QRD和查询在内的逻辑宏操作树到物理操作树(即,提供器查询)的变换。
如图10中进一步示出的,方法调用呈现管理器180可以具有执行选项管理器194,允许执行查询框架查询并用于呈现包含执行的查询结果的视图。图13还示出了“执行”选项的例子,该“执行”选项启动执行给定QF查询,并且一旦查询结果就绪就切换到包含查询结果的视图,如图14中示例的。浏览查询结果允许进一步理解传递到给定部件的查询的语义。这种功能性的另一个重要应用是验证执行计划中物理操作的中间结果的能力。
如图15中示例的,具有打开的宏操作树变换块的日志文件的可视检查也让用户识别给定请求所包含的主要查询变换模式。例如,图16中所示的宏操作树模式指示动态立方体是由多个数据流占据的。图17所示的模式是占据动态立方体的制表查询的优化的指示器的例子。另一个例子是图18中所示的模式,它指示查询具有报告器模式操作。
一旦计划了查询,查询执行计划就是查询计划处理的最终结果。在这个时候,表示查询执行计划的QF查询只包括可以由查询操作提供器执行的物理宏操作。宏操作树中这些操作的顺序确定了它们在执行阶段的调用的顺序和从一个操作到另一个操作的数据流。物理宏操作是用提供器查询来表达的。每个提供器查询与负责操作执行的某个提供器关联。
因此,一旦计划了查询,宏操作树就只包含providerQuery节点。在查询计划的策略是将尽可能多的操作推到底层数据库的实施例中,这种树中的主要操作是基于SQL的关系查询提供器(RQP)操作和主要基于多维表达(MDX)的OLAP查询提供器(OQP)操作。这些操作自己可以是复杂的并且包含需要更好理解的操作的组合。通过将这些操作呈现为宏操作树,可视化***100帮助用户理解和分析宏操作,而不需要理解查询框架***10。
总的来说,大多数宏操作都具有实际上完成其定义的某种内部结构。宏操作树管理器192还可以具有宏操作细节管理器198,用于以可以被广范围的***理解的格式露出这种结构。例如,图19至21示出了宏操作细节管理器198用来表示RQP、OQP和CubeBuildProvider节点的细节的格式的例子。可视化***100通过SQL视图,例如Cognos SQL、本地SQL和查询框架查询视图,呈现RQP操作的细节,如图19中所示例的。可视化***100利用针对给定查询构建的动态立方体的结构来呈现CubeBuildProvider操作,如图20中所示例的。可视化***100通过所产生的本地MDX呈现OQP操作细节,如图21中所示例的。宏操作细节管理器198可以提供其它视图,例如表示能够检查从一个操作到另一个操作的数据流的给定操作的结果的视图。
可视化***100提供了也适于被报告作者使用的查询执行计划视图。将执行计划露出给报告作者可以提供对查询/报告处理中所涉及的操作本质、它们的性能和查询执行的任何给定点处所消耗的数据量的显著洞察。一般来说,报告作者对需要理解查询框架***10的内部或者查询引擎体系结构的查询框架提供器的概念不熟悉。可视化***100提供了通过更多广泛已知的概念(例如SQL查询规范、MDX查询规范和立方体创建操作)表示的查询执行计划的视图。因此,不是在执行计划的可视化中使用提供器查询的概念,可视化***100利用它们的主要责任标记宏操作,或者换句话说,为对报告作者来说是直观的每个宏操作给出高级标题或标记。图22示出了具有这种高级标题的视图的例子。
图23是示出由报告作者请求执行计划的视图的流程的例子的图。报告作者在数据分析***30中请求浏览执行计划。数据分析***30将确认请求200发送到报告服务器20。报告服务器20将转换后的XMLAPI确认请求202发送到查询框架***10。查询框架***10处理请求并产生执行计划,并将包括该执行计划的XML API响应204返回给报告服务器20。报告服务器20将其转换成确认响应206并返回给数据分析***30,数据分析***30又将执行计划208发送给查询处理可视化***100的可视化模块140,用以呈现给报告作者。
例如,数据分析***30使用以SOAP请求格式表达的确认请求。为了正确地指示对执行计划的请求,数据分析***30发出requestProperty=ExecutionPlan的SOAP确认请求或者命令200。报告服务器20将确认请求200转换成QF XML API请求或命令202,如图25中所示,请求严重级别为“信息”的消息及还有请求属性的个数。QF XML API请求202包括<property name=“QFExecutionPlan”>。请求属性集不包括由图26中所示的QF XMLAPI所支持的请求的执行属性。
查询框架***10处理确认请求并产生包括<property name=“QFExecutionPlan”>的QF XML API响应204。报告服务器20接收该响应,并将其转换成对请求包含<queryInfo>元素下细节的查询信息的确认请求的SOAP确认响应206,如图27所示,其中QUERY INFO是编码的XML串。执行计划是这种查询信息XML的一部分,如图28所示。
以提供器查询树的原始格式,数据分析***30接收包括XML形式的执行计划的SOAP确认响应206。这种执行计划XML 208被发送到查询处理可视化***100的可视化模块140,该可视化模块140如上所述地格式化执行计划XML并呈现经格式化的执行计划。通过支持执行计划可视化的动态属性,可视化模块140还提供查询计划分析功能:折叠和展开操作树、打开节点属性视图及启动计划子树的执行。
本发明的查询处理可视化***可以由具有上述功能的任何硬件、软件或者硬件和软件的组合来实现。软件代码可以全部或者部分地存储在计算机可读存储器中。此外,可以在载波中实现的、表示软件代码的计算机数据信号可以通过通信网络传送。这种计算机可读存储器和计算机数据信号及硬件、软件和其组合也在本发明的范围之内。
本发明已经关于一种或多种实施例进行了描述。但是,对本领域的技术人员来说,很显然在不背离如权利要求中所定义的本发明范围的情况下可以进行多种变化和修改。
Claims (29)
1.一种查询处理可视化***,包括:
可视化模块,用于可视化在对请求来自一个或多个数据源的数据的客户端查询进行处理的过程中所发生的查询处理事件的记录信息,该可视化模块包括:
记录信息分析器,用于分析记录信息,以便识别查询处理事件的依赖性;
事件顺序格式化器,用于按反映查询处理事件的依赖性的层次来格式化表示记录信息的可视呈现部件;及
方法调用呈现管理器,用于在由事件顺序格式化器格式化的可视呈现部件的层次的环境下呈现可视呈现部件。
2.如权利要求1所述的查询处理可视化***,其中:
记录信息分析器还包括分析与主要查询处理事件相对应的方法调用的记录信息,以及识别方法调用的依赖性;
事件顺序格式化器还包括按反映方法调用的依赖性的层次来格式化可视呈现部件;及
方法调用呈现管理器还包括在表示方法调用的可视呈现部件的层次的环境下呈现可视呈现部件。
3.如权利要求2所述的查询处理可视化***,其中:
记录信息分析器还包括分析记录信息以识别方法调用的递归依赖性;
事件顺序格式化器还包括递归依赖性管理器,用于将表示递归地调用的方法调用的可视呈现部件格式化成可折叠部件;及
方法调用呈现管理器还包括呈现可折叠部件以使得可视地呈现给定调用深度处的方法。
4.如权利要求2所述的查询处理可视化***,其中事件顺序格式化器还包括变换方法调用管理器,用于打开表示变换了宏操作树的结构的方法的宏操作树。
5.如权利要求2所述的查询处理可视化***,其中:
记录信息分析器还包括提取包括方法调用的事件处理信息的记录信息;及
方法调用呈现管理器还包括处理信息添加器,用于将处理信息添加到表示方法调用的可视部件。
6.如权利要求5所述的查询处理可视化***,其中处理信息包括方法调用的耗用时间和/或存储器消耗。
7.如权利要求5所述的查询处理可视化***,其中处理信息添加器在呈现中突出显示处理信息。
8.如权利要求2所述的查询处理可视化***,其中方法调用呈现管理器还包括部件标记管理器,用于利用方法的名称、容器对象的名称和提供方法的处理服务的服务提供器的名称来标记表示方法调用的呈现部件。
9.如权利要求2所述的查询处理可视化***,其中:
记录信息分析器还包括提取包括方法调用的参数信息在内的记录信息;及
方法调用呈现管理器还包括参数信息添加器,用于将对方法调用的参数信息的访问添加到表示方法调用的可视部件。
10.如权利要求9所述的查询处理可视化***,其中参数信息添加器还包括添加输入参数访问、输出参数访问和/或返回参数访问。
11.如权利要求9所述的查询处理可视化***,其中参数信息管理器还包括宏操作树管理器,用于呈现表示包含查询框架查询的参数的宏操作树,该查询框架查询可由处理客户端查询的查询框架的一个或多个查询处理服务提供器执行。
12.如权利要求11所述的查询处理可视化***,其中宏操作包括查询结果定义、查询和/或提供器查询。
13.如权利要求11所述的查询处理可视化***,其中方法调用呈现管理器包括执行选项管理器,用于允许执行查询框架查询,以及用于呈现包含执行的查询结果的视图。
14.如权利要求11所述的查询处理可视化***,其中宏操作树管理器包括宏操作细节管理器,用于以预定格式露出完成宏操作定义的宏操作的结构。
15.如权利要求1所述的查询处理可视化***,其中记录信息分析器包括提取作为查询计划处理的结果所产生的查询执行计划的记录信息,该查询执行计划包括可由查询处理服务提供器执行的宏操作;
事件顺序格式化器还包括格式化表示可执行的宏操作的可视呈现部件以表示查询执行计划;及
方法调用呈现管理器还包括呈现用于确认执行计划的可视呈现部件。
16.如权利要求1所述的查询处理可视化***,还包括记录模块,该记录模块包括:
事件捕捉器,用于捕捉在处理客户端查询的过程中所发生的查询处理事件;
方法调用识别器,用于将所捕捉到的查询处理事件中的主要查询处理事件识别为方法调用;及
记录元素管理器,用于将每个方法调用记录为由记录元素表示。
17.一种可视化查询处理的方法,该方法包括如下步骤:
分析在对请求来自一个或多个数据源的数据的客户端查询进行处理的过程中所发生的查询处理事件的记录信息,从而识别查询处理事件的依赖性;
按反映查询处理事件的依赖性的层次来格式化表示记录信息的可视呈现部件;及
在由格式化步骤格式化的可视呈现部件的层次的环境下呈现可视呈现部件。
18.如权利要求17所述的方法,其中:
分析步骤还包括分析与主要查询处理事件相对应的方法调用的记录信息,以及识别方法调用的依赖性;
格式化步骤还包括按反映方法调用的依赖性的层次来格式化可视呈现部件;及
呈现步骤还包括在表示方法调用的可视呈现部件的层次的环境下呈现可视呈现部件。
19.如权利要求18所述的方法,其中:
分析步骤还包括识别方法调用的递归依赖性;
格式化步骤还包括将表示递归地调用的方法调用的可视呈现部件格式化成可折叠部件;及
呈现步骤还包括呈现可折叠部件使得可视地呈现给定调用深度处的方法。
20.如权利要求18所述的方法,其中呈现步骤还包括打开表示变换了宏操作树的结构的方法的宏操作树。
21.如权利要求18所述的方法,其中:
分析步骤还包括提取包括方法调用的事件处理信息在内的记录信息;及
呈现步骤还包括将处理信息添加到表示方法调用的可视部件。
22.如权利要求21所述的方法,其中呈现步骤还包括添加方法调用的耗用时间和/或存储器消耗。
23.如权利要求18所述的方法,其中格式化步骤还包括利用方法的名称、容器对象的名称和提供方法的处理服务的服务提供器的名称来标记表示方法调用的呈现部件。
24.如权利要求18所述的方法,其中:
分析步骤还包括提取包括方法调用的参数信息在内的记录信息;及
呈现步骤还包括将对方法调用的参数信息的访问添加到表示方法调用的可视部件。
25.如权利要求24所述的方法,其中参数信息添加步骤还包括呈现表示包含查询框架查询的参数的宏操作树,该查询框架查询可由处理客户端查询的查询框架的一个或多个查询处理服务提供器执行。
26.如权利要求25所述的方法,其中宏操作树呈现步骤还包括提供执行选项,用于允许执行查询框架查询,以及用于呈现包含执行的查询结果的视图。
27.如权利要求17所述的方法,其中:
分析步骤还包括获得作为查询计划处理的结果所产生的查询执行计划的记录信息,该查询执行计划包括可由查询处理服务提供器执行的宏操作;
格式化步骤还包括格式化表示可执行的宏操作的可视呈现部件以表示查询执行计划;及
呈现步骤还包括呈现用于确认执行计划的可视呈现部件。
28.如权利要求17所述的方法,还包括通过以下获得记录信息的步骤:
捕捉在处理客户端查询的过程中所发生的查询处理事件;
将所捕捉到的查询处理事件中的主要查询处理事件识别为方法调用;及
将每个方法调用记录为由记录元素表示。
29.一种可加载到数字计算机的内部存储器中的计算机程序产品,该计算机程序产品包括软件代码部分,该软件代码部分在所述产品在计算机上运行时执行用以实现如权利要求17至28中所述的发明。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA2629922 | 2008-04-16 | ||
US12/104,108 | 2008-04-16 | ||
US12/104,108 US8122050B2 (en) | 2008-04-16 | 2008-04-16 | Query processing visualization system and method of visualizing query processing |
CA002629922A CA2629922A1 (en) | 2008-04-16 | 2008-04-16 | Query processing visualization system and method of visualizing query processing |
PCT/EP2009/054425 WO2009127639A1 (en) | 2008-04-16 | 2009-04-15 | Query processing visualization system and method of visualizing query processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102007476A true CN102007476A (zh) | 2011-04-06 |
Family
ID=40786528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801133489A Pending CN102007476A (zh) | 2008-04-16 | 2009-04-15 | 查询处理可视化***和可视化查询处理的方法 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP5349581B2 (zh) |
KR (1) | KR20100135789A (zh) |
CN (1) | CN102007476A (zh) |
WO (1) | WO2009127639A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102789488A (zh) * | 2012-06-29 | 2012-11-21 | 用友软件股份有限公司 | 数据查询处理***和数据查询处理方法 |
CN107622103A (zh) * | 2011-05-02 | 2018-01-23 | 起元技术有限责任公司 | 管理数据查询 |
CN107729365A (zh) * | 2017-09-07 | 2018-02-23 | 中国科学院自动化研究所 | 物化视图选择和优化方法及装置 |
CN111177249A (zh) * | 2019-12-10 | 2020-05-19 | 浙江大学 | 一种基于联邦学习思想的多数据源数据可视化方法和装置 |
US11093223B2 (en) | 2019-07-18 | 2021-08-17 | Ab Initio Technology Llc | Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods |
US11308161B2 (en) | 2015-02-18 | 2022-04-19 | Ab Initio Technology Llc | Querying a data source on a network |
US11593369B2 (en) | 2010-01-15 | 2023-02-28 | Ab Initio Technology Llc | Managing data queries |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110137922A1 (en) * | 2009-12-07 | 2011-06-09 | International Business Machines Corporation | Automatic generation of a query lineage |
WO2020165642A1 (en) * | 2019-02-12 | 2020-08-20 | Shivashankar Vidya Devanahalli | System and method for visualization of system generated logs |
CN114201602B (zh) * | 2022-02-15 | 2022-05-06 | 支付宝(杭州)信息技术有限公司 | 为可视化数据分析生成自然语言语句的方法及装置 |
KR102640115B1 (ko) * | 2023-05-19 | 2024-02-23 | 쿠팡 주식회사 | 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03260742A (ja) * | 1990-03-12 | 1991-11-20 | Hitachi Ltd | プログラムのトレース表示方法 |
CA2019327C (en) * | 1990-06-19 | 2000-02-29 | Peter K.L. Shum | User inquiry facility for data processing systems |
US6096095A (en) * | 1998-06-04 | 2000-08-01 | Microsoft Corporation | Producing persistent representations of complex data structures |
US7136868B2 (en) * | 2003-06-06 | 2006-11-14 | Microsoft Corporation | Database object script generation method and system |
US7231375B2 (en) * | 2003-10-10 | 2007-06-12 | Microsoft Corporation | Computer aided query to task mapping |
KR101098181B1 (ko) * | 2003-12-02 | 2011-12-27 | 마이크로소프트 코포레이션 | N-차원 원시 olap 큐브 내의 데이터를 분석하기 위한 방법 및 시스템과, n-차원 원시 olap 큐브에 의한 실행을 위해 (n+q)-차원 주문형 질의를 n-차원 질의로 변환하기 위한 방법 |
US20060085401A1 (en) * | 2004-10-20 | 2006-04-20 | Microsoft Corporation | Analyzing operational and other data from search system or the like |
CA2518902C (en) * | 2005-06-23 | 2010-11-30 | Cognos Incorporated | System and method for query planning and execution |
-
2009
- 2009-04-15 WO PCT/EP2009/054425 patent/WO2009127639A1/en active Application Filing
- 2009-04-15 KR KR1020107022581A patent/KR20100135789A/ko not_active Application Discontinuation
- 2009-04-15 CN CN2009801133489A patent/CN102007476A/zh active Pending
- 2009-04-15 JP JP2011504438A patent/JP5349581B2/ja not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11593369B2 (en) | 2010-01-15 | 2023-02-28 | Ab Initio Technology Llc | Managing data queries |
CN107622103A (zh) * | 2011-05-02 | 2018-01-23 | 起元技术有限责任公司 | 管理数据查询 |
CN107622103B (zh) * | 2011-05-02 | 2021-12-28 | 起元技术有限责任公司 | 管理数据查询 |
CN102789488A (zh) * | 2012-06-29 | 2012-11-21 | 用友软件股份有限公司 | 数据查询处理***和数据查询处理方法 |
CN102789488B (zh) * | 2012-06-29 | 2016-05-04 | 用友网络科技股份有限公司 | 数据查询处理***和数据查询处理方法 |
US11308161B2 (en) | 2015-02-18 | 2022-04-19 | Ab Initio Technology Llc | Querying a data source on a network |
CN107729365A (zh) * | 2017-09-07 | 2018-02-23 | 中国科学院自动化研究所 | 物化视图选择和优化方法及装置 |
CN107729365B (zh) * | 2017-09-07 | 2020-02-07 | 中国科学院自动化研究所 | 物化视图选择和优化方法及装置 |
US11093223B2 (en) | 2019-07-18 | 2021-08-17 | Ab Initio Technology Llc | Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods |
CN111177249A (zh) * | 2019-12-10 | 2020-05-19 | 浙江大学 | 一种基于联邦学习思想的多数据源数据可视化方法和装置 |
CN111177249B (zh) * | 2019-12-10 | 2022-05-17 | 浙江大学 | 一种基于联邦学习思想的多数据源数据可视化方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20100135789A (ko) | 2010-12-27 |
JP5349581B2 (ja) | 2013-11-20 |
WO2009127639A1 (en) | 2009-10-22 |
JP2011517823A (ja) | 2011-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102007476A (zh) | 查询处理可视化***和可视化查询处理的方法 | |
US8122050B2 (en) | Query processing visualization system and method of visualizing query processing | |
US8489474B2 (en) | Systems and/or methods for managing transformations in enterprise application integration and/or business processing management environments | |
US6427230B1 (en) | System and method for defining and managing reusable groups software constructs within an object management system | |
CA2717673C (en) | Detecting and applying database schema changes to reports | |
CN100587693C (zh) | 从多个数据源获取数据的方法及*** | |
US20050234894A1 (en) | Techniques for maintaining collections of generated web forms that are hyperlinked by subject | |
US9552403B2 (en) | Converting data models into in-database analysis models | |
US20190034811A1 (en) | Service layer augmentation of response to semantically-informed query of arbitrary external data sources | |
US20140101632A1 (en) | Open application lifecycle management framework | |
US7424470B2 (en) | Local data repository generation | |
US20080159317A1 (en) | Data organization and evaluation using a two-topology configuration | |
US8892545B2 (en) | Generating a compiler infrastructure | |
CN101454779A (zh) | 基于搜索的应用开发框架 | |
WO2006026659A2 (en) | Services oriented architecture for data integration services | |
Euzenat et al. | Ontology alignments: an ontology management perspective | |
CN112181960A (zh) | 一种基于AIOps的智能运维框架*** | |
US20110145005A1 (en) | Method and system for automatic business content discovery | |
CN116340269A (zh) | 一种基于ElasticSearch的Flink任务日志实时采集与检索方法 | |
US20200012643A1 (en) | Method for managing and executing decoders and transformations using linked data and a service layer | |
US20240036890A1 (en) | System and method of a modular framework for configuration and reuse of web components | |
US20140143248A1 (en) | Integration to central analytics systems | |
GB2479654A (en) | Subscription based retrieval from oil field database | |
US10614421B2 (en) | Method and system for in-memory policy analytics | |
Lindvall et al. | A comparison of latency for MongoDB and PostgreSQL with a focus on analysis of source code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110406 |