CN102243646A - 使用语句执行计划获取依赖性元数据 - Google Patents
使用语句执行计划获取依赖性元数据 Download PDFInfo
- Publication number
- CN102243646A CN102243646A CN2011101288309A CN201110128830A CN102243646A CN 102243646 A CN102243646 A CN 102243646A CN 2011101288309 A CN2011101288309 A CN 2011101288309A CN 201110128830 A CN201110128830 A CN 201110128830A CN 102243646 A CN102243646 A CN 102243646A
- Authority
- CN
- China
- Prior art keywords
- metadata
- dependence
- database
- statement
- quoting
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及使用语句执行计划获取依赖性元数据。可从数据库服务器检索用于数据库语句的执行计划。对对象的引用可在所述执行计划中被标识,来自所述引用的元数据可被组合在计算机可读存储介质上的数据结构中。元数据可反映对对象的依赖性。另外,可用来自引用的元数据来扩展其它依赖性元数据。
Description
技术领域
本发明涉及数据库系统,尤其涉及数据库语句执行计划的使用。
背景技术
数据库可在其系统目录和/或视图中,或使用某一其它机制来存储其对象的依赖性信息。这种依赖性信息可被用于冲突分析、数据世系(lineage)、和/或其它功能。
发明内容
此处所述的工具和技术涉及使用数据库语句执行计划以获得依赖性元数据(例如,表示对象之间的依赖性的元数据)。
在一个实施例中,该工具和技术可包括从数据库服务器获取数据库语句的执行计划。如此处所使用的,数据库语句是在数据库上执行操作的请求,或是对该请求的引用。例如,该请求可为修改数据库的至少一部分的请求、在数据库上执行查询的请求等。数据库语句可为特定语言,例如结构化查询语言(SQL)专业用语。执行计划是列出在完成数据库语句所请求的总体操作时要执行的子操作的数据结构。对对象的引用可在执行计划中被标识,来自引用的元数据(即使用引用提取的元数据)可被组合在计算机可读存储介质上的数据结构中。元数据可反映对对象的依赖性。
在另一个实施例中,该工具和技术可包括在软件制品中标识数据库语句。软件制品涉及一个或多个计算机可读介质上的软件组件,其中该软件组件可使用数据库语句。软件制品可以是多种形式的任一种,例如程序或程序的一部分、被程序执行的指令、SQL Server集成服务包,等等。在执行计划中,可检索到用于数据库语句的执行计划,且可标识对对象的引用。来自引用的元数据可被组合在数据结构中,其中元数据可反映软件制品对对象的依赖性。
在又一个实施例中,该工具和技术可包括检索数据库语句的执行计划并标识该执行计划中到对象的引用。来自引用的元数据可被组合在数据结构中。元数据可反映对对象的依赖性。另外,可用来自引用的元数据来扩展(augment)其它依赖性元数据。
提供本发明内容是为了以简化的形式介绍一些概念。这些概念将在以下具体实施方式中进一步描述。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。类似地,本发明不限于解决在背景技术、具体实施方式、或附图中讨论的特定技术、工具、环境、缺点、或优点的实现。
附图说明
图1是其中可实现所描述的各实施例中的一个或多个实施例的合适的计算环境的框图。
图2是依赖性元数据环境的示意图。
图3是用于使用数据库语句执行计划获得依赖性元数据的技术的流程图。
图4是用于使用数据库语句执行计划获得依赖性元数据的另一技术的流程图。
图5是用于使用数据库语句执行计划获得依赖性元数据的又一技术的流程图。
具体实施方式
此处所述的实施例涉及用于通过使用数据库语句执行计划的改进的依赖性元数据检索和组合的技术和工具。这样的改进可源于分开或组合地使用各种技术和工具。
这种技术和工具可包括通过发送语句到数据库服务器并请求该语句的执行计划以获得该数据库语句的依赖性信息。执行计划中的信息可被用于标识服务器中语句对对象的依赖性。例如,可在软件制品中标识数据库语句,且可从数据库服务器检索该数据库语句的执行计划。所检索的执行计划可被解析,该执行计划中对对象的引用可被标识。使用这些引用,可组合依赖性元数据。这些依赖性元数据可反映软件制品对执行计划中所引用的对象的依赖性。这些依赖性元数据可以通过以下方式被处理:使其相关(即,通过比较元数据的不同部分,例如以标识重复条目)、移除可能找到的重复条目、组合元数据、并使用该元数据以扩展其它依赖性元数据(例如,使用相同技术为其它数据库语句提取的元数据,和/或使用可能不使用执行计划的其它技术所提取的元数据)。
由此,从此处描述的工具和技术中可以实现一个或多个实质的益处。例如,在数据库服务器所生成的执行计划中可用的信息可被用于提取对应于该计划的数据库语句的依赖性元数据。因此,可为被配置为发出该语句的软件制品提取依赖性数据。因此,用于软件制品的依赖性元数据甚至可在用户不标识对象名以提供给数据库服务器的情况下被标识和组合。
然而,所附权利要求中定义的主题不必限于本文描述的益处。本发明的特定实现可提供本文描述的益处的全部、一些、或未提供本文描述的益处。尽管本文出于呈现的目的以特定的顺序次序描述了用于各种技术的操作,但应理解除非要求特定的排序,否则这种描述方式涵盖了操作顺序上的重新安排。例如,在某些情况下,可以重新安排或并发执行顺序地描述的操作。本文参照流程图描述的技术可被用于本文描述的一个或多个系统和/或用于一个或多个其他系统。例如,本文描述的各种过程可用硬件或软件、或两者的组合来实现。此外,为了简单起见,流程图可能未示出可结合其他技术来使用特定技术的各种方式。
I.示例性计算环境
图1示出其中可实现所描述的各实施例中的一个或多个实施例的合适的计算环境(100)的一般化示例。例如,一个或多个此种计算环境可被用作数据库服务器和/或用于使用数据库语句执行计划以获取依赖性元数据的环境。一般而言,可使用各种不同的通用或专用计算系统配置。适用于此处所描述的工具和技术的公知计算系统配置的示例包括,但不限于,服务器场和服务器群集、个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、网络PC、小型机、大型计算机、包括上述系统或设备中的任一个的分布式计算环境等。
计算环境(100)不旨在对本发明的使用范围或功能提出任何限制,因为本发明可以在完全不同的通用或专用计算环境中实现。
参考图1,计算环境(100)包括至少一个处理单元(110)和存储器(120)。在图1中,这一最基本的配置(130)被包括在虚线内。处理单元(110)执行计算机可执行指令,并且可以是真实或虚拟处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。存储器(120)可以是易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存)、或两者的某种组合。存储器(120)存储软件(180),软件可包括一个或多个实现使用数据库语句执行计划获取依赖性元数据的软件应用程序。
尽管为了清楚起见用线条示出了图1的各框,但是,实际上,描绘各组件并不是那样清楚,并且用比喻方法,图1以及下文讨论的其他附图的线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备的呈现组件认为是I/O组件。而且,处理器具有存储器。发明人关于此点认识到,这是本领域的特性,并且重申,图1的图示只是例示可结合本发明的一个或多个实施例来使用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,它们全部都被认为是在图1的范围之内的并且被称为“计算机”、“计算环境”、或“计算设备”。
计算环境(100)可具有附加特征。在图1中,计算环境(100)包括存储(140)、一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、控制器或网络等互连机制(未示出)将计算环境(100)的各组件互连。通常,操作系统软件(未示出)为在计算环境(100)中执行的其它软件提供操作环境,并协调计算环境(100)的各组件的活动。
存储(140)可以是可移动或不可移动的,并可包括诸如磁盘、磁带或磁带盒、CD-ROM、CD-RW、DVD之类的非瞬态计算机可读存储介质,或者可用于储存信息并可在计算环境(100)内访问的任何其它介质。存储(140)储存用于软件(180)的指令。
输入设备(150)可以是诸如键盘、鼠标、笔或跟踪球等触摸输入设备;语音输入设备;扫描设备;网络适配器;CD/DVD读取器;或可向计算环境(100)提供输入的另一设备。输出设备(160)可以是显示器、打印机、扬声器、CD/DVD刻录机、网络适配器、或从计算环境(100)提供输出的另一设备。
通信连接(170)允许通过通信介质与另一计算实体进行通信。因此,计算环境(100)可使用通往诸如个人计算机、服务器、路由器、网络PC、对等设备或另一常见网络节点等一个或多个远程计算设备的逻辑连接而工作在联网环境中。通信介质以已调制数据信号的形式传达诸如数据或计算机可执行指令或请求等信息。已调制数据信号是以在信号中编码信息的方式来设置或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括利用电、光、射频(RF)、红外线、声音或其他载体实现的有线或无线技术。
各种工具和技术可以在计算机可读介质的一般上下文中描述。计算机可读介质是可以在计算环境内被访问的任何可用介质。作为示例而非局限,对于计算环境(100),计算机可读介质包括存储器(120)、存储(140)、和以上的组合。
这些工具和技术可在诸如程序模块中所包括的在目标真实或虚拟处理器上的计算环境中执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等等。程序模块的功能可以按需在各个实施例中进行组合或在程序模块之间拆分。程序模块的计算机可执行指令可以在本地或分布式计算环境内执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质中。
出于表示的目的,详细描述使用了如“确定”、“选择”、“调整”和“操作”等术语来描述计算环境中的计算机操作。这些以及其他类似术语是对计算机执行的操作的高层抽象,并且不应混淆于人类执行的动作,除非明确指出人类(诸如“用户”)的动作执行。对应于这些术语的实际的计算机操作取决于实现而不同。
II.用于使用数据库语句执行计划获取元数据的系统和环境
图2是结合使用其可实现所描述的各实施例中的一个或多个实施例的依赖性元数据环境(200)的框图。依赖性元数据环境(200)可包括软件制品(210),软件制品(210)可包括数据库语句,或者换言之,软件制品(210)可包括发出一个或多个数据库语句(例如通过向一个或多个数据库服务器发出所述语句)的指令。图2中所例示的软件制品(210)可包括两个数据库语句:语句1(212)和语句2(216)。数据库语句1(212)可发至数据库服务器1(220),而数据库服务器1(220)对语句1(212)的处理可依赖于可被数据库服务器1(220)本地或远程访问的一个或多个对象(222)。因此,语句1(212)的处理和软件制品(210)的处理依赖于对象(222)的状态和可用性。数据库语句2(216)可被发至另一个数据库服务器,即数据库服务器2(230),而数据库服务器2(230)对语句2(216)的处理可依赖于可被数据库服务器2(230)本地和/或远程访问的一个或多个对象(232)。例如,数据库服务器(220和230)可为关系数据库的服务器,其它们可响应于SQL语言数据库语句。
在处理数据库语句1(212)时,数据库服务器1(220)可遵循一个执行计划,即执行计划1(240)。执行计划1(240)可由数据库服务器1(220)在接收到数据库语句1(212)时生成。可选地,计划1(240)可为预先存在的计划。例如,数据库服务器1(220)可高速缓冲所生成的执行计划,从而当以后再次收到相同数据库语句时,所述计划可被再使用。类似地,数据库服务器2(230)在处理数据库语句2(216)时可遵循另一个执行计划,即执行计划2(250)。
还是参考附图2,依赖性元数据环境(200)还可包括元数据提取环境(260)。例如,元数据提取环境(260)可包括一个或多个数据库服务器和/或数据库客户机,或者其可在一个分立的系统中,例如专用于依赖性元数据提取和/或冲突分析和世系评估的分立系统。元数据提取环境(260)可执行标识语句操作(262)以标识来自软件制品(210)的语句(212和216)。可通过解析软件制品(210)并提取所标识的语句(212和216)来执行标识语句操作(262)。可选地,可以某些其它方式执行标识语句操作(262),例如通过执行软件制品(210)并在该软件制品执行时分析其所发出的语句(212和216)来执行标识语句操作(262)。
元数据提取环境(260)还可执行获取计划操作(264),获取计划操作可包括从数据库服务器(220和230)检索所标识语句(212和216)的执行计划(240和250)。这可包括为每个数据库语句检索超过一个执行计划,例如在一个数据库语句在多个批次中被处理时,其中为每个批次生成一个执行计划。
元数据提取环境(260)还可对所检索的执行计划(240和250)执行解析和引用标识操作(266)以标识计划(240和250)中的对象引用。执行计划(240或250)中的这种对象引用可展示对应语句(212和216)的处理所依赖的对象(222或232)。因此,对执行计划(240或250)中的对象的引用可显示对应语句(212或216)的处理依赖于那些对象,且因此显示可能发出对应语句(212或216)的软件制品(210)也依赖于那些对象。执行解析和引用标识操作(266)可包括调用用于特定语言专用术语(例如,特定的SQL专用术语)或用于特定数据库服务器类型的解析模块。例如,一个解析器可用于来自微软SQL Server数据库服务器的执行计划,另一个解析器可用于来自Oracle数据库服务器的执行计划,其它解析器可用于其它类型的数据库服务器。对应的解析器可解析执行计划,将结果转化成可由元数据提取环境(260)的其它组件所使用的形式。
使用在计划(240和250)中所标识的那些引用,元数据提取环境(260)可对所得的依赖性数据(270)执行相关、组合、以及扩展操作(272)。相关可包括比较和确定依赖性元数据(270)中不同条目之间的相关性,这可包括确定在依赖性元数据(270)中是否有任何重复的条目。这可使用已知的分类和/或匹配技术来完成。例如可通过将两个重复引用中的一个删除来消除这种重复条目。组合可包括可能在转化、存储、或以其他方式处理引用和/或数据结构之后,将执行计划(240或250)中所标识的引用组合到数据结构中的依赖性元数据(270)中。类似地,扩展可包括使用依赖性元数据(270)来扩展其它依赖性元数据(可能在将使用执行计划(240或250)所提取的依赖性元数据和其它依赖性元数据相关)例如,所述其它依赖性元数据可包括从其它执行计划所提取的元数据(例如,扩展使用计划1(240)提取的依赖性元数据和使用计划2(250)所提取的元数据)和/或由某些其它技术(例如并不涉及使用执行计划提取元数据的技术)所获得的依赖性元数据。例如,可通过向一个或多个数据库服务器发送对于特定对象的依赖性元数据的请求来获得其它元数据。
元数据提取环境(260)还可执行元数据公布和使用操作(274),其可包括:在元数据储存库(280)中公布依赖性元数据(270)并例如在冲突分析和世系操作中使用该依赖性元数据(270)。例如,这可包括使用在元数据储存库(280)中的依赖性元数据以供冲突分析和确定软件制品(210)、语句(212和216)、和/或对象(222和232)的数据世系。这种冲突分析和世系操作可使用现有操作、例如现有的数据世系查询和现有的冲突分析技术来执行。
尽管已经描述了操作(262、264、266、272、和274)在一个元数据提取环境(260)中执行,这些操作可以在不同环境下执行。例如,对所公布的元数据的使用可在不同环境中执行。又例如,标识语句操作(262)可以在不同于获取计划操作(264)以及解析和引用标识操作(266)的环境中执行。
现在将讨论用于使用来自软件制品的特定数据库语句的执行计划来提取元数据的示例。软件制品可包括以下SQL数据库语句:“SELECT*FROMABC”。该语句请求选择来自名为ABC的对象的所有列(通过使用“*”来表明)。例如,ABC可为名为DB的数据库中的一个数据库表的名字,该ABC数据库表可有六个列,名为COL1、COL2、COL3、COL4、COL5、以及COL6。提取环境可解析该软件制品并标识该制品内的“SELECT*FROM ABC”数据库语句。提取环境还可请求该数据库语句的执行计划。该请求可被送至软件制品执行时数据库语句将被送至的相同数据库服务器。执行计划可以多种不同格式被检索,这取决于将提供该计划的数据库服务器的类型。例如,计划可是可在不实际处理数据库语句的情况下生成的估计的执行计划,或者可是当数据库语句实际被处理时所生成的实际执行计划。可能期望所检索的执行计划是估计的计划,从而资源不被用于实际处理数据库语句。此外,执行计划可以不同格式提供,例如XML格式或纯文本格式。作为一个示例,在SQL Sever中,以下命令可用于检索“SELECT*FROM ABC”数据库语句的估计的执行计划的XML版本:
GO
SET SHOWPLAN_XML ON;
GO
SELECT*
FROM ABC;
GO
SET SHOWPLAN_XML OFF;
GO
所返回的执行计划可被加载和解析。在此情况下,解析将展示该执行计划引用数据库DB、数据库表ABC、以及列COL1、COL2、COL3、COL4、COL5、和COL6。这又展示了包括“SELECT*FROM ABC”语句的软件制品依赖于这些对象。因此,对这些对象的引用可被组合到依赖性元数据中并被相关,且依赖性元数据可被用于扩展软件制品的其它元数据。依赖性元数据可在元数据储存库中公布,从而其可在例如执行冲突分析和世系操作时被使用。
III.用于使用数据库语句执行计划获取依赖性元数据的技术
现在将讨论用于使用数据库语句执行计划获取依赖性元数据的技术。这些技术中的每一个可以在计算环境中执行。例如,每种技术可在包括至少一个处理器和存储器的计算机系统中执行,该存储器包括存储于其上的、在由该至少一个处理器执行时使该至少一个处理器执行该技术的指令(存储器存储指令(例如,对象代码),并且当处理器执行这些指令时,处理器执行该技术)。类似地,一个或多个计算机可读存储介质可具有收录于其上的计算机可执行指令,该些指令在由至少一个处理器执行时使该至少一个处理器执行该技术。
参考附图3,将讨论用于使用数据库语句执行计划获取依赖性元数据的技术。该技术可包括从数据库服务器检索(310)用于数据库语句的至少一个执行计划。例如,数据库语句可为SQL语句。同样,该数据库语句可为在软件制品中标识的语句。可在执行计划中标识(320)对一个或多个对象的一个或多个引用。来自所述引用的元数据可被组合(330)在一个或多个计算机可读存储媒介上的数据结构中。同样,所述元数据可反映对所述对象的一个或多个依赖性,例如软件制品对所述对象的依赖性。
另外,可用来自引用的元数据来扩展其它依赖性元数据。其它依赖性元数据可包括在一个或多个其它数据库语句的一个或多个其它执行计划中所标识的元数据。同样,其它元数据可包括在不标识数据库语句执行计划中的引用的情况下所提取的元数据。
来自引用的元数据可包括多个条目,且该计划可包括对元数据进行相关(340)。此外,相关(340)可包括确定(350)元数据是否包括一个或多个重复条目。如果是,则该技术可包括消除(360)该一个或多个重复条目。所述至少一个执行计划可包括多个执行计划。例如,如上所述地,可能每个数据库语句有超过一个执行计划(例如,每个批次一个执行计划)。此外,在软件制品中可能有多个数据库语句,每个数据库语句有一个或多个执行计划。此外,所述一个或多个引用可包括在多个执行计划的两个或更多的每一个中的至少一个引用。
现在参考附图4,将讨论用于使用数据库语句执行计划获取依赖性元数据的另一技术。在该技术中,可在软件制品中标识(410)例如SQL语句的数据库语句。可检索(420)该数据库语句的至少一个执行计划,且可在所述执行计划中标识(430)对一个或多个对象的一个或多个引用。来自所述引用的元数据可被组合(440)在数据结构中。所述元数据可反映软件制品对所述对象的一个或多个依赖性。
所述引用可包括多个引用,且该技术可包括对元数据进行相关。相关可包括确定元数据是否包括一个或多个重复条目。如果是,在该技术进一步包括消除所述一个或多个重复条目。该技术还可包括用来自引用的元数据扩展其它依赖性元数据。例如,其它依赖性元数据可包括在一个或多个其它数据库语句的一个或多个其它执行计划中所标识的元数据和/或在不标识数据库语句执行计划中的语句的情况下提取的依赖性元数据。
现在参考附图5,将讨论用于使用数据库语句执行计划获取依赖性元数据的又一技术。该技术可包括检索(510)例如SQL语句的数据库语句的至少一个执行计划。该数据库语句可为在软件制品中标识的语句。可在执行计划中标识(520)对一个或多个对象的一个或多个引用。此外,来自所述引用的元数据可被组合(530)在数据结构中。所述元数据可反映对所述对象的一个或多个依赖性。所述一个或多个依赖性可为软件制品对所述对象的一个或多个依赖性。该技术还可包括用来自引用的元数据扩展(540)其它依赖性元数据。其它依赖性元数据可包括在不标识执行计划中的语句的情况下提取的元数据和/或在一个或多个其它数据库语句的一个或多个其它执行计划中所标识的元数据。该技术还可包括对元数据进行相关并消除在对元数据相关时所标识的一个或多个重复条目。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
Claims (14)
1.一种计算机实现的方法,包括:
从数据库服务器(220或230)检索数据库语句(212或216)的至少一个执行计划(240或250);
在所述至少一个执行计划(240或250)中标识对一个或多个对象(222或232)的一个或多个引用;以及
将来自所述一个或多个引用的元数据(270)组合到一个或多个计算机可读存储介质上的数据结构中,所述元数据(270)反映对所述一个或多个对象的一个或多个依赖性。
2.如权利要求1所述的方法,其特征在于,还包括用来自所述一个或多个引用的所述元数据扩展其它依赖性元数据,其中所述其它依赖性元数据包括在一个或多个其它数据库语句的一个或多个其它执行计划中所标识的元数据。
3.如权利要求1所述的方法,其特征在于,还包括用来自所述一个或多个引用的所述元数据扩展其它依赖性元数据,其中所述其它依赖性元数据是在不标识数据库语句执行计划中的引用的情况下提取的元数据。
4.如权利要求1所述的方法,其特征在于,还包括标识软件制品中的数据库语句,其中所述依赖性是所述软件制品对所述一个或多个对象的依赖性。
5.如权利要求1所述的方法,其特征在于,还包括对所述元数据进行相关。
6.如权利要求5所述的方法,其特征在于,所述相关还包括:确定所述元数据是否包括一个或多个重复元数据条目,并且如果所述元数据确实包括一个或多个重复条目,在所述方法还包括消除所述一个或多个重复条目。
7.如权利要求1所述的方法,其特征在于:
所述数据库语句是SQL语句;
所述依赖性是软件制品对所述一个或多个对象的依赖性;
所述元数据包括多个条目;并且
所述方法还包括:
在所述软件制品中标识数据库语句;
对所述元数据进行相关;
消除在对所述元数据进行相关时找到的所述元数据中的一个或多个重复条目;以及
用来自所述一个或多个引用的所述元数据扩展其它依赖性元数据,其中所述其它依赖性元数据是在不标识数据库语句执行计划中的引用的情况下提取的元数据。
8.一个或多个具有收录于其上的计算机可执行指令的计算机可读存储媒介,所述指令在由至少一个处理器执行时使所述至少一个处理器执行以下动作:
检索数据库语句(212或216)的至少一个执行计划(240或250);
在所述至少一个执行计划(240或250)中标识对一个或多个对象(222或232)的一个或多个引用;
将来自所述引一个或多个用的元数据(270)组合到数据结构中,所述元数据(270)反映对所述一个或多个对象(222或232)的一个或多个依赖性;以及
用来自所述一个或多个引用的所述元数据(270)扩展其它依赖性元数据。
9.如权利要求8所述的一个或多个计算机可读媒介,其特征在于,还包括标识软件制品中的数据库语句,其中所述一个或多个依赖性是所述软件制品对所述一个或多个对象的一个或多个依赖性。
10.如权利要求9所述的一个或多个计算机可读存储媒介,其特征在于,所述数据库语句是SQL语句。
11.如权利要求10所述的一个或多个计算机可读媒介,其特征在于,所述其它依赖性元数据包括在不标识执行计划中的引用的情况下所提取的元数据。
12.如权利要求11所述的一个或多个计算机可读存储媒介,其特征在于,所述其它依赖性元数据包括在一个或多个其它数据库语句的一个或多个其它执行计划中所标识的元数据。
13.如权利要求12所述的一个或多个计算机可读存储媒介,其特征在于,所述动作还包括对所述元数据进行相关。
14.如权利要求13所述的一个或多个计算机可读存储媒介,其特征在于,所述相关包括:确定所述元数据是否包括一个或多个重复条目,并且如果所述元数据确实包括一个或多个重复条目,则所述动作还包括消除所述一个或多个重复条目。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/778,128 US8862563B2 (en) | 2010-05-12 | 2010-05-12 | Getting dependency metadata using statement execution plans |
US12/778,128 | 2010-05-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102243646A true CN102243646A (zh) | 2011-11-16 |
CN102243646B CN102243646B (zh) | 2016-05-11 |
Family
ID=44912636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110128830.9A Active CN102243646B (zh) | 2010-05-12 | 2011-05-11 | 使用语句执行计划获取依赖性元数据 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8862563B2 (zh) |
CN (1) | CN102243646B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678454A (zh) * | 2012-09-11 | 2014-03-26 | 国际商业机器公司 | 依用户而定的合成的上下文对象匹配方法和系统 |
CN103699559A (zh) * | 2012-09-27 | 2014-04-02 | 国际商业机器公司 | 基于上下文的数据库安全的系统和方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855131B (zh) * | 2011-06-30 | 2016-01-13 | 国际商业机器公司 | 用于软件配置管理的装置和方法 |
US9002813B2 (en) * | 2011-12-22 | 2015-04-07 | Sap Se | Execution plan preparation in application server |
US20130263110A1 (en) * | 2012-04-03 | 2013-10-03 | Sap Ag | Visualizing process integration scenarios on mobile devices |
JP6636009B2 (ja) | 2014-07-18 | 2020-01-29 | アビニシオ テクノロジー エルエルシー | 系統情報の管理 |
US11151108B2 (en) | 2016-11-21 | 2021-10-19 | International Business Machines Corporation | Indexing and archiving multiple statements using a single statement dictionary |
US11055310B2 (en) * | 2017-12-04 | 2021-07-06 | Bank Of America Corporation | SQL server integration services (SSIS) package analyzer |
CN108763536B (zh) | 2018-05-31 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 数据库访问方法及装置 |
US11301517B2 (en) * | 2020-05-07 | 2022-04-12 | Ebay Inc. | Method and system for identifying, managing, and monitoring data dependencies |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5937401A (en) * | 1996-11-27 | 1999-08-10 | Sybase, Inc. | Database system with improved methods for filtering duplicates from a tuple stream |
US20080177694A1 (en) * | 2007-01-19 | 2008-07-24 | Microsoft Corporation | Incremental repair of query plans |
US20090106210A1 (en) * | 2006-09-18 | 2009-04-23 | Infobright, Inc. | Methods and systems for database organization |
US20090106321A1 (en) * | 2007-10-17 | 2009-04-23 | Dinesh Das | Maintaining and Utilizing SQL Execution Plan Histories |
CN101587491A (zh) * | 2008-04-15 | 2009-11-25 | Sap股份公司 | 使用运行时可重配置硬件的混合数据库系统 |
CN101681372A (zh) * | 2007-05-15 | 2010-03-24 | 三星电子株式会社 | 将相关信息提供给本地网中的装置的用户的方法和系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6842761B2 (en) * | 2000-11-21 | 2005-01-11 | America Online, Inc. | Full-text relevancy ranking |
US8417678B2 (en) * | 2002-07-30 | 2013-04-09 | Storediq, Inc. | System, method and apparatus for enterprise policy management |
US6996556B2 (en) * | 2002-08-20 | 2006-02-07 | International Business Machines Corporation | Metadata manager for database query optimizer |
CA2418163A1 (en) * | 2003-01-31 | 2004-07-31 | Ibm Canada Limited - Ibm Canada Limitee | Method of query transformation using window aggregation |
US7349898B2 (en) | 2004-06-04 | 2008-03-25 | Oracle International Corporation | Approximate and exact unary inclusion dependency discovery |
US7536406B2 (en) | 2004-06-23 | 2009-05-19 | Microsoft Corporation | Impact analysis in an object model |
US7302447B2 (en) * | 2005-01-14 | 2007-11-27 | International Business Machines Corporation | Virtual columns |
US7640230B2 (en) * | 2005-04-05 | 2009-12-29 | Microsoft Corporation | Query plan selection control using run-time association mechanism |
US7716377B2 (en) * | 2005-05-25 | 2010-05-11 | Harris Steven T | Clustering server providing virtual machine data sharing |
US7734619B2 (en) * | 2005-05-27 | 2010-06-08 | International Business Machines Corporation | Method of presenting lineage diagrams representing query plans |
US20070203893A1 (en) | 2006-02-27 | 2007-08-30 | Business Objects, S.A. | Apparatus and method for federated querying of unstructured data |
US9727604B2 (en) * | 2006-03-10 | 2017-08-08 | International Business Machines Corporation | Generating code for an integrated data system |
US7873628B2 (en) | 2006-03-23 | 2011-01-18 | Oracle International Corporation | Discovering functional dependencies by sampling relations |
US8707260B2 (en) | 2007-05-25 | 2014-04-22 | International Business Machines Corporation | Resolving interdependencies between heterogeneous artifacts in a software system |
US7895192B2 (en) * | 2007-07-19 | 2011-02-22 | Hewlett-Packard Development Company, L.P. | Estimating the loaded execution runtime of a database query |
US8060495B2 (en) * | 2008-10-21 | 2011-11-15 | International Business Machines Corporation | Query execution plan efficiency in a database management system |
US8260768B2 (en) * | 2010-01-29 | 2012-09-04 | Hewlett-Packard Development Company, L.P. | Transformation of directed acyclic graph query plans to linear query plans |
-
2010
- 2010-05-12 US US12/778,128 patent/US8862563B2/en active Active
-
2011
- 2011-05-11 CN CN201110128830.9A patent/CN102243646B/zh active Active
-
2014
- 2014-10-06 US US14/506,935 patent/US20150032703A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5937401A (en) * | 1996-11-27 | 1999-08-10 | Sybase, Inc. | Database system with improved methods for filtering duplicates from a tuple stream |
US20090106210A1 (en) * | 2006-09-18 | 2009-04-23 | Infobright, Inc. | Methods and systems for database organization |
US20080177694A1 (en) * | 2007-01-19 | 2008-07-24 | Microsoft Corporation | Incremental repair of query plans |
CN101681372A (zh) * | 2007-05-15 | 2010-03-24 | 三星电子株式会社 | 将相关信息提供给本地网中的装置的用户的方法和系统 |
US20090106321A1 (en) * | 2007-10-17 | 2009-04-23 | Dinesh Das | Maintaining and Utilizing SQL Execution Plan Histories |
CN101587491A (zh) * | 2008-04-15 | 2009-11-25 | Sap股份公司 | 使用运行时可重配置硬件的混合数据库系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678454A (zh) * | 2012-09-11 | 2014-03-26 | 国际商业机器公司 | 依用户而定的合成的上下文对象匹配方法和系统 |
CN103678454B (zh) * | 2012-09-11 | 2017-04-12 | 国际商业机器公司 | 依用户而定的合成的上下文对象匹配方法和系统 |
CN103699559A (zh) * | 2012-09-27 | 2014-04-02 | 国际商业机器公司 | 基于上下文的数据库安全的系统和方法 |
CN103699559B (zh) * | 2012-09-27 | 2017-06-16 | 国际商业机器公司 | 基于上下文的数据库安全的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20110282851A1 (en) | 2011-11-17 |
CN102243646B (zh) | 2016-05-11 |
US20150032703A1 (en) | 2015-01-29 |
US8862563B2 (en) | 2014-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102243646A (zh) | 使用语句执行计划获取依赖性元数据 | |
EP3602351B1 (en) | Apparatus and method for distributed query processing utilizing dynamically generated in-memory term maps | |
CN102193973B (zh) | 呈现回答 | |
CN102364464B (zh) | 对象实例版本化 | |
US8229923B2 (en) | Multidimensional data space queries with expression evaluation | |
US20040162822A1 (en) | Method and apparatus for converting in-line database queries to stored procedures | |
US20170322930A1 (en) | Document based query and information retrieval systems and methods | |
US20170161641A1 (en) | Streamlined analytic model training and scoring system | |
US20100131456A1 (en) | Systems and methods for middleware database hosting dimensional transforms | |
US20090234809A1 (en) | Method and a Computer Program Product for Indexing files and Searching Files | |
WO2019085474A1 (zh) | 计算引擎实现方法、电子装置及存储介质 | |
US20160092554A1 (en) | Method and system for visualizing relational data as rdf graphs with interactive response time | |
US11232153B2 (en) | Providing query recommendations | |
CN112703495A (zh) | 利用实体链接和本体数据推断主题 | |
CN111078842A (zh) | 查询结果的确定方法、装置、服务器及存储介质 | |
US11782921B2 (en) | Columnar cache query using hybrid query execution plan | |
CN116991977A (zh) | 一种基于大语言模型的领域向量知识精准检索方法及装置 | |
JP2016018286A (ja) | 行動タイプ判定装置、行動タイプ判定方法及び行動タイプ判定プログラム | |
US20140244641A1 (en) | Holistic customer record linkage via profile fingerprints | |
US20140067853A1 (en) | Data search method, information system, and recording medium storing data search program | |
US20150134660A1 (en) | Data clustering system and method | |
KR20100083778A (ko) | 저장 영역 네트워크 상호 동작 관계의 획득 및 확장 | |
JP7213890B2 (ja) | 高速化された大規模な類似度計算 | |
CN102360370A (zh) | 数据集中管理系统及方法 | |
US9286376B2 (en) | Apparatus and method for processing a multidimensional string query |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150727 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150727 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |