CN1967539A - 用于监控和调试查询执行对象的装置和方法 - Google Patents

用于监控和调试查询执行对象的装置和方法 Download PDF

Info

Publication number
CN1967539A
CN1967539A CNA2006101465622A CN200610146562A CN1967539A CN 1967539 A CN1967539 A CN 1967539A CN A2006101465622 A CNA2006101465622 A CN A2006101465622A CN 200610146562 A CN200610146562 A CN 200610146562A CN 1967539 A CN1967539 A CN 1967539A
Authority
CN
China
Prior art keywords
monitoring
node
data
query
query execution
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.)
Granted
Application number
CNA2006101465622A
Other languages
English (en)
Other versions
CN100462974C (zh
Inventor
戴维·格伦·卡尔森
凯文·詹姆斯·凯瑟曼
史蒂文·弗吉尔·霍斯切恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1967539A publication Critical patent/CN1967539A/zh
Application granted granted Critical
Publication of CN100462974C publication Critical patent/CN100462974C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

查询执行数据结构中的节点包括所定义的监控和转储方法。该监控方法使得能够从节点收集信息。该转储方法输出来自每一个节点的监控信息。优选实施例的监控和调试机制包括一个图形用户接口,其允许用户图形检查查询执行树,使得能够在一个节点接一个节点的基础上监控节点,并在查询执行时或在查询执行后查看从查询执行数据结构中转储的信息。其结果是一种有效的工具,其允许对在一个面向对象的查询执行数据结构中实现的查询进行有效的监控和调试。

Description

用于监控和调试查询执行对象的装置和方法
技术领域
本发明一般涉及计算机系统,并且更具体地涉及数据库装置和方法。
背景技术
已经开发的数据库系统允许计算机以允许用户在数据库中搜索和检索特定信息的方式来存储大量信息。例如,保险公司可以具有一个包括其所有投保人及他们的当前账户信息的数据库,这些信息包括付款历史、保险费金额、保险单号、保险类型、不承保事项等。数据库系统允许保险公司从其数据库中检索上千甚至上百万个投保人当中的单个投保人的账户信息。
一般利用查询来从数据库中检索信息。查询通常指定适用于数据库的一栏或多栏的条件,并且可以指定对多个栏进行的相对复杂的逻辑操作。在数据库中搜索满足该查询的记录,而且将那些记录作为查询结果返回。结构化查询语言(SQL)是一种可以用来查询数据库的特殊查询语言。
05年5月7日发布的标题为“Object-Oriented Query Execution DataStructure(面向对象的查询执行收集结构)”的美国专利No.6,915,291公开了一种用于定义查询的面向对象的数据结构,其包括多个以关系树的方式排列的节点对象。该节点包括允许执行查询的数据和代码。其结果是一种可显著地进行扩展和修改的查询体系结构。
美国专利No.6,915,291中的查询执行数据结构存在的一个潜在问题是用于复杂查询的数据结构的复杂性。结果形成的数据结构可能包括上百或甚至上千个节点。这种复杂的查询变得很难以调试。调试查询的重要性出于两个主要原因。第一是检验查询本身的逻辑来确保正确地定义该查询。第二是检验该查询的运行时性能。
在现有技术中已知语句级调试器,而且其已经被用来调试查询。语句级调试器存在的问题是一般在执行特定对象时设置一个断点。然而,要注意一种给定的对象类型会出现在查询执行数据结构的多个不同位置上,每次执行相同的执行方法,但是可能其中只有一个对象实际上与正在调试的问题有关。例如,如果一个查询执行数据结构具有一个对象的十个实例,并且设置一个断点以便当执行该对象类型时中断执行,则每当执行该对象的十个实例中的任何一个实例时,调试器都将中断执行,即使这些实例的大多数可能与该问题无关。其结果是调试器中断太多次。即使使用了精心设置的调试器宏,目前的调试器也不能对故障点执行查询执行对象,以及在代码中正确的位置和时间上停止执行。因此,使用已知的语句级调试器来调试包括很多查询执行对象的复杂查询收集结构,即使不能说是不可能的,也得说是非常困难的。由于没有一种调试查询执行数据结构的方法,现有技术将继续忍受调试查询的低效率方法。
发明内容
根据优选实施例,查询执行数据结构中的节点包括所定义的监控和转储方法。该监控方法使得能够从节点收集信息。该转储方法输出来自每一个节点的监控信息。优选实施例的监控和调试机制包括一个图形用户接口,其允许用户图形检查查询执行树,使得能够在一个节点接一个节点的基础上监控节点,并在查询执行时或在查询执行后查看从查询执行数据结构中转储的信息。其结果是一种有效的工具,其允许对在一个面向对象的查询执行数据结构中实现的查询进行有效的监控和调试。
根据以下对如附图所示的本发明优选实施例的更详细描述,本发明的上述及其他特征和优势将变得显而易见。
附图说明
以下将连同附图一起描述本发明的优选实施例,其中相同的标记表示相同的元件,以及:
图1是一个根据优选实施例的装置的方框图;
图2是一个显示了图1中的查询执行数据结构的细节以及它如何与监控和调试机制进行通信的方框图;
图3是一个用于举例说明优选实施例概念的简单查询;
图4是一个用于图3中查询的现有技术的查询执行数据结构;
图5是一个用于图3中查询的根据优选实施例的查询执行数据结构;
图6是一个显示窗口,显示了可以对图1所示监控和调试机制中的图形用户接口中的一个选择的查询执行树执行的操作;
图7是一个显示窗口,显示了当执行查询时的查询树的图形显示;
图8是一个显示窗口,显示了经过更新后当查询继续执行时的查询树的图形显示;
图9是一个显示窗口,显示了根据优选实施例的在一个扫描节点中的数据以及可能对该扫描节点执行的操作;
图10是一个显示窗口,显示了图9中的扫描节点在点击改变监控状态按钮t之后使得能够收集更广泛的数据;
图11是一个显示窗口,显示了用于查询树显示的属性操作列表;
图12是一个显示窗口,显示了用于查询树显示的属性描述符矢量;
图13是一个显示窗口,显示了用于控制由查询执行树所定义的查询的执行的查询控制器窗口;
图14是一个根据优选实施例的方法的流程图;以及
图15是一个根据优选实施例的图14中步骤1420的一种具体实现的流程图。
具体实施方式
优选实施例提供一种有效方法来监控在执行过程中的查询执行数据结构,其允许调试与该查询执行数据结构对应的一个查询。查询执行数据结构中的每一个节点包括一种使得能够收集监控数据的monitor()方法和一种输出监控数据的dump()方法。调试与监控机制接收监控数据,并在图形用户接口中显示与该监控数据对应的信息。调试与监控机制允许在查询执行过程中监控和调试该查询,从而实现了一种用于进行实时监控和调试的有效工具。
参照图1,计算机系统100是根据本发明优选实施例的装置的一种适当的实现。计算机系统100是IBM(国际商业机器公司)的eServeriSeries计算机系统。然而,本领域的普通技术人员都将理解本发明的机制和装置同样适用于任何计算机系统,无论该计算机系统是复杂的多用户计算装置、单个用户的工作站,还是嵌入式控制系统。如图1所示,计算机系统100包括处理器110、主存储器120、大容量存储器接口130、显示器接口140和网络接口150。这些系统部件通过使用系统总线160来相互连接。大容量存储器接口130用于将诸如直接存取存储装置155之类的大容量存储器装置连接到计算机系统100。一种特定类型的直接存取存储器装置155是可读且可写的CD RW驱动器,它可以往CD RW195中存入数据或从CD RW 195中读出数据。
根据优选实施例的主存储器120包含数据121、操作系统122、数据库123、查询引擎124、查询执行数据结构125以及监控和调试机制126。数据121表示任何用作对计算机系统100中的任何程序的输入或来自计算机系统100中的任何程序的输出的数据。操作系统122是一种在行业中称为i5/OS的多任务处理操作系统;然而,本领域的普通技术人员都将理解本发明的本质和范围并不局限于任何一种操作系统。数据库123是任何适当的数据库,无论是目前已知的或是将来发展的数据库。数据库123优选地包括一个或多个表格。查询引擎124处理对采用查询执行数据结构125形式的数据库123的查询。查询执行数据结构125是一种表示数据库查询的面向对象的数据结构。查询执行数据结构125具有美国专利US6,915,291中所示的基本形式,但是带有图2中所示且以下将描述的附加方法,该附加方法允许监控查询执行数据结构中的对象并转储该监控数据。监控和调试机制126接收来自查询执行数据结构125的监控数据,并在图形用户接口127中向用户显示与该监控数据对应的信息。以这种方式,用户可以利用图形工具来用监控和调试机制126有效地监控和调试由查询执行数据结构125定义的查询。虽然在图1中显示监控和调试机制126和图形用户接口127与查询引擎124和查询执行数据结构125在相同的计算机系统上,但是优选实施例延及一种连网计算机系统,其中监控和调试机制126和图形用户接口127在一个单独的计算机系统上,该计算机系统通过网络连接到计算机系统100。
计算机系统100利用了众所周知的虚拟寻址机制,该虚拟寻址机制允许计算机系统100的程序运行得就好像它们仅仅访问一个较大的单个存储器实体而不是访问诸如主存储器120和DASD装置155之类的多个较小的存储器实体一样。因此,虽然数据121、操作系统122、数据库123、查询引擎124、查询执行数据结构125和监控和调试机制126示出为驻留于主存储器120内,本领域的普通技术人员将认识到这些项目不必全部同时包含在主存储器120内。还应该注意到在此使用的术语“存储器”一般指的是计算机系统100的整个虚拟内存,而且可以包括其他连接到计算机系统100的计算机系统的虚拟内存。
处理器110可以由一个或多个微处理器和/或集成电路构成。处理器110执行主存储器120内存储的程序指令。主存储器120存储处理器110可以访问的程序和数据。当计算机系统100启动时,处理器110初始地执行构成操作系统122的程序指令。操作系统122是一种管理计算机系统100的资源的高级程序。这些资源中的一些资源是处理器110、主存储器120、大容量存储器接口130、显示器接口140、网络接口150和系统总线160。
尽管计算机系统100显示为只包括单个处理器和单个系统总线,但是本领域的普通技术人员将理解可以利用包括多处理器和/或多个总线的计算机系统来实现本发明。另外,在优选实施例中所使用的每一个接口都包括分离的全编程微处理器,它们用来从处理器110中卸载(off-load)计算加强处理。然而,本领域的普通技术人员将理解本发明同样适用于仅使用I/O(输入/输出)适配器来执行类似功能的计算机系统。
显示器接口140用来将一个或多个显示器165直接连接到计算机系统100。这些显示器165用来允许系统管理员和用户与计算机系统100进行通信,该显示器可以是非智能终端(即,哑终端)或可全编程的工作站。然而应当注意,虽然提供了显示器接口140来支持与一个或多个显示器165的通信,但是计算机系统100不一定需要一个显示器165,这是因为所有必需的与用户和其他处理的交互可以通过网络接口150进行。
网络接口150用于跨越网络170将其他计算机系统和/或工作站(例如,图1中的175)连接到计算机系统100。无论计算机系统100如何连接到其他计算机系统和/或工作站,不管是利用现在的模拟和/或数字技术还是通过将来的某种连网机制,本发明都同样适用。另外,可以使用许多不同的网络协议来实现网络。这些协议是允许计算机跨越网络170进行通信的专门的计算机程序。TCP/IP(传输控制协议/网际协议)是适当的网络协议的一个例子。
在此,重要的是要注意虽然已经描述了并将继续在全功能计算机系统的上下文中描述本发明,但是本领域的普通技术人员将理解本发明能作为以多种形式的程序产品来分发,并且无论实际上用于进行该分发的计算机可读信号承载媒体的具体类型如何,本发明都同样适用。适当的计算机可读信号承载媒体的例子包括:诸如软盘和CD RW(例如,图1的195)之类的可记录类型媒体以及诸如数字和模拟通信链路之类的传输类型媒体。注意,优选的信号承载媒体是有形的。
参考图2,优选实施例的查询执行数据结构125优选地包括多个节点,每一个节点包括一个查询执行对象210。每一个节点优选地类似于美国专利No.6,915,291所公开的查询执行数据结构中的节点,只不过一个或多个节点可以包括一个监控接口220和一个转储接口230。监控接口220优选地是一种允许开始或禁止收集从节点提供的监控数据的面向对象的方法。注意,监控接口220的存在提供了用于监控数据的存储器,而且允许即使当禁止对节点进行监控时也能收集最小集合的监控数据。因此,当禁止对节点进行监控时,例如通过调用monitor(off),仍将收集最小集合的监控数据。当允许对节点进行监控时,例如调用monitor(on),就收集较大集合的监控数据。转储接口230优选地是一种允许转储该监控数据的面向对象的方法。注意,可以由监控和调试机制126以不同方式来接收监控数据。例如,可以在转储接口230和监控和调试机制127中的图形用户接口127之间建立连接(例如,套接字)。因此,可以在转储接口和GUI(图形用户接口)127之间以数据流240的方式直接传输监控数据。在备选方案中,转储接口230可以将监控数据写入文件250,然后可以由GUI 127读出该监控数据,如图2中的虚线所示。注意,数据流240和文件250可以具有任何适当的格式。在优选实施例范围内的一种数据流240格式使用了XML(可扩展标记语言)数据流,它是对接收方的自我描述。
参照图3,其示出了一个简单查询来举例说明优选实施例的概念。该简单查询从两个不同的文件MYFILE1和MYFILE2中选择所有的记录。虽然这是一个简单且略有些人为设计的查询,但它可用来举例说明优选实施例的概念。
图4显示了一个查询树400,它表示一种如美国专利No.6,915,291所定义的用于图3中查询的查询执行数据结构。第一扫描节点420询问MYFILE1430,第二扫描节点440询问MYFILE2450,并通过内部结合节点410结合来自扫描节点420、440的结果。可以理解用于该非常简单的取样查询的查询树的简单性,与此同时还可以理解任何复杂的查询可以导致非常复杂的查询树,并且因此难以调试。优选实施例提供了一种简单的方法来监控和调试查询执行数据结构。
参考图5,根据优选实施例的查询树500包括一个内部结合节点510,以及询问各自的数据空间MYFILE1 530和MYFILE2 550的扫描节点520和540。注意,查询树500的基本结构与图4中现有技术的查询树400相同。其重要差别是在图5中的节点510、520和540中存在monitor()和dump()方法而在图4中不存在。注意,monitor()方法的存在假设即使当禁止进行监控时也从节点中收集最小集合的数据。通过调用带有一个或多个表示允许的参数的monitor()方法,例如monitor(on),使得能够进行更广泛的监控。以类似的方式,调用monitor(off)将禁止对一个节点进行更广泛的监控,但仍将收集最小限度的数据。注意,monitor()和dump()是必须在每一个具体子集中实现的虚拟方法。因此,每一个monitor()方法在其实现过程中指定可以监控何种扩展程度的数据。在每一个节点上的monitor()方法个别地允许在一个节点接一个节点的基础上进行监控。
调用dump()方法来从节点中读出监控数据。如果禁止对一个特定节点进行监控,dump()方法将导致读出最小集合的监控数据。如果允许对一个特定节点进行监控,dump()方法将导致读出更广泛集合的监控数据。简言之,dump()方法转出所有监控数据,无论该监控数据是最小程度的(如果禁止进行监控)还是更广泛的(如果允许进行监控)。如图2中所示,监控和调试机制126中的GUI 127可以调用节点上的dump()方法,使得节点将它们的监控数据转储到GUI 127。以这种方式,monitor()和dump()方法允许从查询执行数据结构125中取出监控数据。
现在显示几个取样窗口,它们可以由在优选实施例范围内的图1和2中的图形用户接口127来显示。参考图6,一旦识别并选择了一个查询执行树,就由GUI 127显示一个取样窗口600。该窗口600包括主机610、端口620的规格和选择的查询执行树的名称。用户可以选择更新按钮640来初始地显示一个查询树或更新查询树的现有显示,从而允许在查询执行时动态地查看该查询树。用户可以选择改变监控状态按钮650来改变目前选择的节点的监控状态,例如从“禁止”变为“允许”。用户选择显示查询控制按钮660来调用一个允许用户指定查询条件的窗口,该查询条件允许有效地调试该查询。用户选择关闭按钮670来关闭窗口600。现在假设用户选择更新按钮640,其导致显示图7所示的查询树显示窗口700。
查询树显示窗口700以与图5所示的图形格式类似的图形格式来显示查询树。第一扫描节点720询问MYFILE1 730。第二扫描节点740询问MYFILE2 750。内部结合节点710结合来自扫描节点720和740的结果。注意,扫描节点包括对迄今为止已经处理的记录的计数。因此,扫描节点720显示已经处理了251个记录,同时扫描节点740显示已经处理了1,373,584,074个记录。在本例中假设MYFILE2非常大,它包括数百万个记录。因此,需要一些时间来执行查询,从而允许用户在查询执行时监控查询进程。例如,第二次点击图6中的更新按钮640将得到图8中的查询树显示700,除了在节点720和740中处理的记录数目为更高值之外,它与图7所示的显示相同。这举例说明了如何在查询执行时使用优选实施例的监控和调试机制来监控查询进程。
现在假设用户双击或以其他方式选择图8中的扫描节点720。选择该扫描节点导致显示一个新的显示窗口900,如图9所示。注意,该窗口900显示了扫描节点2的数据,如窗口900的标题栏所示。该数据包括节点类型910、处理的记录数目920和节点ID 930。这三个数据项910、920和930构成即使当禁止对该扫描节点进行监控时也被监控的最小程度数据。可以通过点击图9中的改变监控状态按钮940来监控更广泛集合的数据,其导致显示图10中的窗口1000。注意,图10包括相同的包括910、920和930的顶部,并在底部包括相同的按钮940、950和960。其改变在于能够查看许多附加参数,如图10所示的1010、1020和1030。在1010的附加监控数据包括对监控状态的指示、对监控周期的计数、对总周期的计数、对节点周期的计数、运行时间、节点CPU时间和总时间。在1020的附加监控数据包括方法计数器,其显示每一种列出的方法已经被调用了多少次。在1030的附加监控数据包括I/O计数器,其显示执行不同的I/O操作的频率。在窗口1000中的监控数据是更广泛的数据,其包括在方框910、920和930中的最小数据和在1010、1020和1030的更广泛的数据。
再次参考图9,显示资源按钮950和显示AOL(属性操作列表)按钮960允许显示与查询执行数据结构有关的其他特征,包括属性描述符矢量、属性操作列表等。假设用户选择了图7的查询树显示中的整个查询,其显示了一个类似于图9所示窗口的用于整个树的窗口,并且随后点击显示AOL按钮960。结果是显示用于查询树的属性操作列表(AOL),如图11中的窗口1100所示。用于查询树的AOL包括二进制操作节点1110和1120以及返回操作(TRUE)节点1130。
现在假设用户点击图9中的显示资源按钮950,其导致显示一个用于查询树的属性描述符矢量,如图12中的窗口1200所示。属性描述符矢量窗口1200包括一个具有四个条目0、1、2和3的表格。与第一记录(记录0)对应的记录1210具有一种针对用户的32位整数的数据类型。与第二记录(记录1)对应的记录1220具有一种针对用户的32位整数的数据类型。与第三记录(记录2)对应的记录1230具有一种针对集属性描述符(SAD)的32位整数的数据类型。与第四记录(记录3)对应的记录1240具有一种针对SAD的32位整数的数据类型。分别针对记录1230和1240所示出的值55和76分别与表格MYFILE1和MYFILE2中的值对应,同时在窗口1200中显示属性描述符矢量。
现在假设用户重新查看图6中的显示600,并且然后点击显示查询控制按钮660。结果,向用户显示图13中的窗口1300。注意,显示1300包括表示查询树的最后状态的字段1310,以及用于关闭窗口1300的关闭按钮1320。最后状态字段1310显示出最后操作是成功还是失败,而且可以包括描述状态“成功”或“失败”的文本,或者可以包括数字或字母数字代码来具体指示发生了什么。可以单独地选择窗口1300左侧的按钮。查询控制器窗口1300允许用户在查询树的执行过程中进行操作。窗口1300右侧的字段允许用户输入用于左侧对应按钮的参数。以这种方式,可以执行一个查询执行树,而且查询控制器窗口1300允许用户获得对查询树的人工控制,而且允许用户交互式地点击执行帮助用户估计该查询性能的功能的按钮。
参看图14,根据优选实施例的方法1400通过在查询执行树的每一个节点中提供监控和转储方法来开始(步骤1410)。在最优选的实现中,在查询执行树中每个节点中提供监控和转储方法,如步骤1410所示。然而应当注意,同样在优选实施例的范围内,可以只有一个节点子集将包括monitor()和debug()方法。然后执行在监控和调试机制中的图形用户接口(步骤1420)。GUI接收来自查询执行树中节点的监控数据,然后向用户显示与监控数据对应的信息。
参考图15,方法1420表示一种在优选实施例范围内的图14中步骤1420的一种适当的实现。方法1420通过显示查询树而开始(步骤1510)。可以允许或禁止对查询树中各个节点进行监控(步骤1520)。然后从查询树的节点中读出监控数据(步骤1530),优选地由GUI调用查询树的节点上的dump()方法。然后向用户图形显示从节点转储出来的监控数据(步骤1540)。另外,可以利用该监控数据来执行查询调试功能(步骤1550)。注意,优选实施例显然可延及图15中未显示的监控数据的其他应用。
优选实施例通过在查询执行数据结构中一个或多个节点上添加监控和转储方法来显著提高美国专利No.6,915,291中公开的查询执行数据结构的能力。监控和转储方法允许搜集监控数据并向监控和调试机制输出该监控数据,监控和调试机制然后在GUI中向用户显示对应的信息。该结果是一种用于监控和调试即使是复杂的查询的有效工具,这些复杂的查询可能在它们对应的查询执行数据结构中包括上百或上千个节点。
虽然该工具可用来在查询执行过程中执行对该查询的实时监控,但是许多查询将不会采用足够的时间来执行以使用户在查询执行过程中执行对该查询的实时监控。在这种情况下,调试和监控机制可用作一种后处理工具,在查询执行结束后检查查询对象的状态。另外,优选实施例的监控和调试机制可以为一个特定节点指定一个断点,其允许向遭遇断点的点运行查询,然后利用监控和调试机制停止执行该查询以便进行分析。
本领域的普通技术人员将理解在本发明范围内还可以有许多变化。因此,虽然参考本发明优选实施例具体显示并描述了本发明,本领域的普通技术人员将理解,可以在不脱离本发明的本质和范围的情况下进行这些或其他形式和细节上的改变。

Claims (15)

1.一种装置,包括:
至少一个处理器;
耦合到所述至少一个处理器的存储器;
驻留于所述存储器内的数据库;
驻留于所述存储器内并由所述至少一个处理器执行的查询引擎,所述查询引擎查询所述数据库;以及
一个驻留于所述存储器内并由所述查询引擎执行的查询执行数据结构,所述查询执行数据结构包括多个面向对象的节点,其中每一个节点包括一种使得能够从所述节点收集监控数据的监控方法以及一种输出所述监控数据的转储方法。
2.根据权利要求1所述的装置,还包括一种驻留于所述存储器内并由所述至少一个处理器执行的监控和调试机制,其中所述监控和调试机制包括一个图形用户接口,所述图形用户接口接收来自所述查询执行数据结构中至少一种转储方法的监控数据并向用户显示对应信息。
3.根据权利要求2所述的装置,其中将所述监控数据写入文件,并由所述监控和调试机制读取所述文件。
4.根据权利要求2所述的装置,其中以数据流的方式向所述监控和调试机制提供所述监控数据。
5.根据权利要求2所述的装置,其中所述监控和调试机制允许当所述查询引擎执行所述查询执行数据结构时检查所述监控数据。
6.一种装置,包括:
至少一个处理器;
连接到所述至少一个处理器的存储器;
驻留于所述存储器内的数据库;以及
驻留于所述存储器内并由所述至少一个处理器执行的监控和调试机制,所述监控和调试机制接收来自一个面向对象的查询执行数据结构的监控数据,所述查询执行数据结构包括多个表示对所述数据库的查询的面向对象的节点,并在图形用户接口中向用户显示与所述多个节点对应的信息。
7.根据权利要求6所述的装置,其中在所述面向对象的查询执行数据结构中的每一个节点包括一种使得能够从所述节点收集监控数据的监控方法以及一种输出所述监控数据的转储方法。
8.根据权利要求6所述的装置,其中将所述监控数据写入文件,并由所述监控和调试机制读取所述文件。
9.根据权利要求6所述的装置,其中以数据流的方式向所述监控和调试机制提供所述监控数据。
10.根据权利要求6所述的装置,其中所述监控和调试机制允许在所述查询执行时检查所述监控数据。
11.一种用于在图形用户接口中向用户显示关于查询的信息的计算机实现方法,所述方法包括以下步骤:
执行所述查询,其中所述查询包括一个面向对象的查询执行数据结构,所述面向对象的查询执行数据结构包括多个面向对象的节点,其中每一个节点包括一种使得能够从所述节点收集监控数据的监控方法以及一种输出所述监控数据的转储方法;
接收来自所述面向对象的查询执行数据结构的所述监控数据;以及
在所述图形用户接口中向用户显示与所述监控数据对应的信息。
12.根据权利要求11所述的方法,其中所述面向对象的查询执行数据结构中的每一个节点包括一种使得能够从所述节点收集监控数据的监控方法以及一种输出所述监控数据的转储方法。
13.根据权利要求11所述的方法,其中将所述监控数据写入文件,并且所述接收所述监控数据的步骤包括读取所述文件的步骤。
14.根据权利要求11所述的方法,其中所述接收所述监控数据的步骤包括接收来自所述查询执行数据结构的数据流形式的监控数据的步骤。
15.根据权利要求11所述的方法,还包括在所述查询执行时检查所述监控数据的步骤。
CNB2006101465622A 2005-11-17 2006-11-15 用于监控和调试查询执行对象的装置和方法 Active CN100462974C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/282,030 US9092464B2 (en) 2005-11-17 2005-11-17 Monitoring and debugging query execution objects
US11/282,030 2005-11-17

Publications (2)

Publication Number Publication Date
CN1967539A true CN1967539A (zh) 2007-05-23
CN100462974C CN100462974C (zh) 2009-02-18

Family

ID=38042103

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101465622A Active CN100462974C (zh) 2005-11-17 2006-11-15 用于监控和调试查询执行对象的装置和方法

Country Status (2)

Country Link
US (5) US9092464B2 (zh)
CN (1) CN100462974C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102650964A (zh) * 2011-02-28 2012-08-29 国际商业机器公司 用于监控面向对象的应用的方法、系统和自监控系统
CN104714873A (zh) * 2013-12-17 2015-06-17 国际商业机器公司 记录gui数据的方法和系统
JP2019521421A (ja) * 2016-05-24 2019-07-25 アビニシオ テクノロジー エルエルシー ネットワーク内のキー付きデータを処理するための実行可能ロジック

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9183518B2 (en) 2011-12-20 2015-11-10 Ncr Corporation Methods and systems for scheduling a predicted fault service call
US9081656B2 (en) * 2011-12-20 2015-07-14 Ncr Corporation Methods and systems for predicting a fault
US9274931B2 (en) * 2013-05-06 2016-03-01 International Business Machines Corporation Inserting implicit sequence points into computer program code to support debug operations
US10489266B2 (en) 2013-12-20 2019-11-26 Micro Focus Llc Generating a visualization of a metric at one or multiple levels of execution of a database workload
WO2015094312A1 (en) 2013-12-20 2015-06-25 Hewlett-Packard Development Company, L.P. Identifying a path in a workload that may be associated with a deviation
US11294900B2 (en) 2014-03-28 2022-04-05 Micro Focus Llc Real-time monitoring and analysis of query execution
US9335911B1 (en) * 2014-12-29 2016-05-10 Palantir Technologies Inc. Interactive user interface for dynamic data analysis exploration and query processing
US10831771B2 (en) * 2015-07-06 2020-11-10 Sap Se Interactive exploration of large graphs
CN109582698B (zh) * 2017-09-29 2021-08-13 上海宽带技术及应用工程研究中心 多个连续top-k关键词查询结果更新方法、系统、存储介质及终端
US10885021B1 (en) 2018-05-02 2021-01-05 Palantir Technologies Inc. Interactive interpreter and graphical user interface
US11372704B2 (en) * 2019-01-07 2022-06-28 International Business Machines Corporation Advanced java dump analysis
US20220138189A1 (en) * 2020-10-30 2022-05-05 Oracle International Corporation Query execution debugger for use with business intelligence and data analytics environments

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0596591B1 (en) * 1992-10-09 1998-04-15 Sun Microsystems, Inc. Method and apparatus for a real-time data collection and display system
US6477527B2 (en) * 1997-05-09 2002-11-05 International Business Machines Corporation System, method, and program for object building in queries over object views
US6418445B1 (en) * 1998-03-06 2002-07-09 Perot Systems Corporation System and method for distributed data collection and storage
US6052694A (en) * 1998-03-18 2000-04-18 Electronic Data Systems Corporation Method and apparatus for logging database performance characteristics
US6141699A (en) 1998-05-11 2000-10-31 International Business Machines Corporation Interactive display system for sequential retrieval and display of a plurality of interrelated data sets
US6108659A (en) * 1998-12-22 2000-08-22 Computer Associates Think, Inc. Method and apparatus for executing stored code objects in a database
US6944614B1 (en) * 1999-11-24 2005-09-13 Ncr Corporation Query monitor playback mechanism for post-mortem performance analysis
US7356786B2 (en) * 1999-11-30 2008-04-08 Synplicity, Inc. Method and user interface for debugging an electronic system
US20020093527A1 (en) * 2000-06-16 2002-07-18 Sherlock Kieran G. User interface for a security policy system and method
US7185000B1 (en) 2000-06-30 2007-02-27 Ncr Corp. Method and apparatus for presenting query plans
US6738756B1 (en) 2000-06-30 2004-05-18 Ncr Corporation Analysis method and apparatus for a parallel system
US6961728B2 (en) 2000-11-28 2005-11-01 Centerboard, Inc. System and methods for highly distributed wide-area data management of a network of data sources through a database interface
US20040103315A1 (en) * 2001-06-07 2004-05-27 Geoffrey Cooper Assessment tool
US7089135B2 (en) * 2002-05-20 2006-08-08 Advantest Corp. Event based IC test system
US6915291B2 (en) * 2002-06-07 2005-07-05 International Business Machines Corporation Object-oriented query execution data structure
US6910032B2 (en) 2002-06-07 2005-06-21 International Business Machines Corporation Parallel database query processing for non-uniform data sources via buffered access
US20040010716A1 (en) * 2002-07-11 2004-01-15 International Business Machines Corporation Apparatus and method for monitoring the health of systems management software components in an enterprise
US7801715B2 (en) * 2003-08-11 2010-09-21 The Mathworks, Inc. System and method for block diagram simulation context restoration
US7512829B2 (en) * 2005-06-09 2009-03-31 Microsoft Corporation Real time event stream processor to ensure up-to-date and accurate result
CN1697399A (zh) * 2005-06-23 2005-11-16 上海交通大学 基于通用信息模型的网格监控系统
KR100648833B1 (ko) 2005-09-14 2006-11-24 한국전자통신연구원 초광대역 특성과 우수한 감쇠도 특성을 가진 디지털감쇠장치

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102650964A (zh) * 2011-02-28 2012-08-29 国际商业机器公司 用于监控面向对象的应用的方法、系统和自监控系统
CN102650964B (zh) * 2011-02-28 2016-03-09 国际商业机器公司 用于监控面向对象的应用的方法、系统和自监控系统
US9563719B2 (en) 2011-02-28 2017-02-07 International Business Machines Corporation Self-monitoring object-oriented applications
CN104714873A (zh) * 2013-12-17 2015-06-17 国际商业机器公司 记录gui数据的方法和系统
CN104714873B (zh) * 2013-12-17 2017-10-13 国际商业机器公司 记录gui数据的方法和系统
JP2019521421A (ja) * 2016-05-24 2019-07-25 アビニシオ テクノロジー エルエルシー ネットワーク内のキー付きデータを処理するための実行可能ロジック
US11295049B2 (en) 2016-05-24 2022-04-05 Ab Initio Technology Llc Executable logic for processing keyed data in networks

Also Published As

Publication number Publication date
US20080148103A1 (en) 2008-06-19
US9390108B2 (en) 2016-07-12
US20130185661A1 (en) 2013-07-18
US20130191411A1 (en) 2013-07-25
US20070112737A1 (en) 2007-05-17
US9396217B2 (en) 2016-07-19
CN100462974C (zh) 2009-02-18
US20080162543A1 (en) 2008-07-03
US9400810B2 (en) 2016-07-26
US9092464B2 (en) 2015-07-28

Similar Documents

Publication Publication Date Title
CN100462974C (zh) 用于监控和调试查询执行对象的装置和方法
US7003781B1 (en) Method and apparatus for correlation of events in a distributed multi-system computing environment
US8239167B2 (en) Gathering context information used for activation of contextual dumping
US20200201699A1 (en) Unified error monitoring, alerting, and debugging of distributed systems
US8799241B2 (en) Dynamic partial uncompression of a database table
US10209967B2 (en) System and method for detecting preventative maintenance operations in computer source code
US20070143246A1 (en) Method and apparatus for analyzing the effect of different execution parameters on the performance of a database query
US7823165B2 (en) System and computer program product for presenting event flows using sequence diagrams
US7325166B2 (en) Hierarchical categorization of customer error reports
US20070250517A1 (en) Method and Apparatus for Autonomically Maintaining Latent Auxiliary Database Structures for Use in Executing Database Queries
JP2004213619A (ja) 回路検査
US7606889B1 (en) Methods and systems for comparing storage area network configurations
EP1810131A2 (en) Services oriented architecture for data integration services
JP2006528801A (ja) サービス指向ビジネスフレームワークのサービス管理
CN103077192A (zh) 一种数据处理方法及其系统
CN100489855C (zh) 使用最少的日志条目将数据库更改记入日志的设备和方法
Araujo et al. A research landscape on formal verification of software architecture descriptions
Mohr et al. Performance measurement and analysis tools for extremely scalable systems
CN1737795A (zh) 多数据源协同条件下的数据挖掘和知识发现方法
CN112328506B (zh) 一种web端代码检测系统
Van Geet et al. Lightweight visualisations of COBOL code for supporting migration to SOA
CN1393771A (zh) 一种快速消除数据库差异信息的方法
US7996366B1 (en) Method and system for identifying stale directories
CN112131302B (zh) 一种商业数据分析方法及平台
Famà An in-depth study of window operations in modern stream processing engines

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant