当前位置: 首页 > 专利查询>微软公司专利>正文

用于持续对象检索的智能SQL产生制造技术

技术编号:2827324 阅读:211 留言:0更新日期:2012-04-11 18:40
一个系统,该系统用于把查询从第一计算语言的表示(图1,110)转换成不同于所述第一计算语言的第二计算语言的表示(图1,130)的等效查询,它包括查询模块,该查询模块接受面向对象表示的查询,以翻译成目标查询语言的等效查询。该系统也包括翻译模块(图1,120),该翻译模块使用查询的面向对象表示来创建目标查询语言的理想化版本的该查询的第一版本,并使用该查询的第一版本来创建目标查询语言(图1)的实现版本的该查询的第二版本。也提供使用该系统的方法。

【技术实现步骤摘要】
【国外来华专利技术】用于持续对象检索的智能SQL产生 对相关申请的交叉引用这一申请涉及共同待批的于2005年7月29日提交的、题为从关系数据库 检索对象并将其保存到关系数据库(RETRIEVING AND PERSISTING OBJECTS FROM/TO RELATIONAL DATABASES)的美国专利申请第11/193,574号(代 理编号MS313938.01/MSFTIP1104US)以及于2005年7月29日提交的、题为代 码生成模式(CODE GENERATION PATTERNS)的美国专利申请第11/193,6卯 号(代理编号MS313940.01/MSFTP1105US)。上述全部申请被整体引用结合于此。扭旦疼眾计算机越来越频繁地被用来执行各种信息定位和检索任务。通常,这些信息 定位和检索任务主要是在被构造成使用专门化查询语言针对关系数据库执行查询的专门化应用程序的领域。此类查询语言中最常见的是结构化査询语言(SQL)。 然而,最近计算技术的惊人发展,例如,处理器性能和速度的增加以及信息存储能 力的增加,在更多的计算机上提供了更大范围的信息定位和检索应用程序。传统上,已经有在用高级编程语言写成的已编译应用程序中包括信息定位和 检索能力的两种主要方法。依照第一方法,用査询语言如SQL写的查询文本可以 被编码为已编译应用程序中的串。在程序执行期间,可以从应用编程接口 (API) 将查询文本传给一函数,这可以把该查询传递给数据库以获得由执行查询而得到的 信息。对于第二方法,由编译器从源代码文件提取出査询的内嵌文本表示。编译器 重写查询以使用API并把该查询重新编码为文本串。这两种方法都要求应用程序设计者知道除了他用来写其自己应用程序的语言 之外还要知道査询语言的正确句法和正确使用。通常,当使用这些方法的其中之一 来把查询包括在应用程序中时,诸如句法检查的任务直到应用程序实际上被执行时 才进行,也就是说,在运行时。进一步,在查询语言的编程风格和应用程序编程语 言编程风格之间通常存在冲突。例如,SQL是具有其自己编程风格的关系数据模 型语言,而应用程序通常用命令式编程风格写成,使用过程语言如C语言或使用面向对象语言如Java、 C弁或Visual Basic或过程-面向对象混合语言如C+十的面向 对象风格。对应用程序设计者来说,创建新应用程序时通常难以在不同编程范例之 间切换。使用这些方法的其中之一通常也要求诸如对象査询语言的中间组件执行被表 示为应用程序中的对象的数据和用关系数据库中的格式表示的数据之间的对象关 系映射。通常,这些对象关系映射元件缺乏好的模型来表示实际上如何针对关系数 据库中的数据执行査询,并且只提供从一个数据表示形式到另一数据表示形式的映 射。目前的系统缺乏使得应用程序设计者可以直接把査询整合为被用来创建应用程 序的高级编程语言中的构造并把查询构造翻译成可由关系数据库使用的查询语言 中的等效査询的能力。概述下列内容给出简要概述以提供所公开和描述的组件以及与这些组件关联的方 法的某些方面的基本理解。这一概述不是广泛纵览。并非旨在标识关键或重要元件, 也不描绘范围。其唯一目的在于以简化形式呈现一些概念,作为在稍后被呈现的更 加详细的描述的序言。另外,仅为方便而提供在此所使用的章节标题,这些章节标 题不应该被看作任何方式的限制。查询翻译系统可以把以面向对象格式表示的查询,例如如以高级面向对象编 程语言创建的应用程序中的对象,转换成以可以由数据库直接使用的查询语言的等 效査询。系统可以检查査询的面向对象表示的结构,并使用该结构来创建目标査询 语言的理想化版本中的等效查询。目标查询语言的理想化版本的这一等效査询可以 被转换成为目标査询语言的实现版本中的实际查询串,以供在执行针对数据库的査 询时使用。该系统可以从数据库取出一个结果集,并将该结果集转换成可以由应用 程序使用的面向对象格式。查询翻译系统可以使用多级流水线来把查询从逻辑表示转换成可以直接用于 数据库以执行针对该数据库的查询的物理表示。多级流水线可以被配置成使得可以 创建不同的物理表示。不同物理表示可以是不同查询语言、单个查询语言的不同版 本或两者。所公开和描述的组件和方法包含下文完整描述且在权利要求书中特别指出的 特征。下列描写和附图详细阐述了某些说明性特征。这些特征指示所公开和描述的 组件和方法可以使用的各种方式中的一些。所公开和描述的组件和方法的具体实现可以包括此类特征及其等效方式中的一些、许多或全部。当结合附图进行考虑时, 本领域中的技术人员将会从下列详细描述明显看出在此所呈现的具体实现和示例 的变型。附图简要描述附图说明图1是查询翻译系统的系统框图。图2是示例性数据关系的示意图。图3是査询翻译系统的系统框图。图4是语义树结构的框图。图5是多级流水线化翻译系统的系统框图。图6是可配置流水线的示意图。 图7是査询翻译系统的系统框图。图8是可以与在此所公开或描述的组件结合使用的通用处理流的流程图。 图9是可以与在此所公开或描述的组件结合使用的通用处理流的流程图。 图IO是可以与在此所公开或描述的组件结合使用的通用处理流的流程图。 图11是示例性连网环境的系统框图。 图12是示例性操作环境的示意图。详细描述在这一申请中所使用的术语组件、系统、模块等等被旨在表示 计算机相关实体,如硬件、软件(例如,执行中的软件)和/或固件。例如,组件可以是运行在处理器上的进程、处理器、对象、可执行(程序)、程序和/或计算 机。并且,运行在服务器上的应用程序和服务器本身都可以是组件。 一个或多个组 件可以驻留在进程中,组件可以位于一台计算机上1和/或分布在两台或多台计算 机之间。参照附图描述所公开的组件和方法,其中始终用相同的数字来指示相同的元 素。在下列描述中,出于解释的目的,阐述很多具体细节,以提供对所公开主题的 彻底理解。然而,显然,这些特定细节中的某些部分可以被忽略或在具体实现中与 其他部分结合。在其他例子中,为便于描述,用框图形式示出特定结构和设备。此 外,尽管所阐述的具体例子可以使用符合客户端/服务器架构的术语或者甚至可以 是客户端/服务器架构实现的例子,但本领域的技术人员应该明白,客户端和服务器的角色可以被反转,所公开和描述的组件和方法不限于客户端/服务器架构且可 以容易地适用于其他架构尤其包括对等(P2P)架构,而不偏离所公开和描述的组 件和方法的精神或范围。此外,应该注意,尽管在此所呈现的具体例子包括或参考 具体组件,但在此所公开和描述的组件和方法的实现并不一定限于这些具体组件, 同样也可以用于其他上下文。可以与执行推理或概率性判定或基于统计的判定结合使用基于人工智能的系 统(例如,显式和/或隐式训练的分类器),如以下所述。在此所使用的术语推 理通常是指从如由事件和/或数据捕捉的一组观察值中推断或推理系统、环境和/ 或用户状态的过程。例如,推理可以被用来识别具体上下文或动作,或者可以产生 状态的概率分布。推理可以是概率性的。例如,推理可以包括基于数据和事件的考 虑对所关注状态的概率分布计算。推理也可以是指被用于从一组事件或数据构成更高级事件的技术。此类推理 可以从一组所观察到的事件和/或所存储的事件数据构造新事件或动作,无论本文档来自技高网...

【技术保护点】
一个系统,用于把查询从第一计算语言的表示转换成不同于所述第一计算语言的第二计算语言的表示的等效查询,所述系统包括:    查询模块,接受以面向对象的表示的查询,以翻译成目标查询语言的等效查询;以及    翻译模块,使用所述查询的面向对象表示来创建目标查询语言的理想化版本所述查询的第一版本,并使用所述查询的第一版本来创建所述目标查询语言的实现版本的所述查询的第二版本。

【技术特征摘要】
【国外来华专利技术】US 2005-7-29 11/193,5731.一个系统,用于把查询从第一计算语言的表示转换成不同于所述第一计算语言的第二计算语言的表示的等效查询,所述系统包括查询模块,接受以面向对象的表示的查询,以翻译成目标查询语言的等效查询;以及翻译模块,使用所述查询的面向对象表示来创建目标查询语言的理想化版本所述查询的第一版本,并使用所述查询的第一版本来创建所述目标查询语言的实现版本的所述查询的第二版本。2. 如权利要求1所述的系统,其特征在于,所述查询的面向对象表示是图。3. 如权利要求1所述的系统,其特征在于,所述查询的面向对象表示是表达式树。4. 如权利要求3所述的系统,其特征在于,所述目标査询语言是结构化查询语 言(SQL)。5. 如权利要求4所述的系统,其特征在于,所述翻译模块包括多级流水线。6. 如权利要求5所述的系统,其特征在于,所述多级流水线是可配置的。7. 如权利要求6所述的系统,其特征在于,所述多级流水线的配置确定多种査 询语言中的哪一种被用作所述目标语言。8. 如权利要求7所述的系统,其特征在于,还包括创建分层结果集的面向对象 表示的对象翻译器,所述分层结果集包括从针对数据库的多于一个的查询汇编的信 息。9. 一种方法,用于把查询从面向对象的表示翻译成数据查询语言表示,所述方 法包括使用以面向对象的格式表示的査询来创建数据查询语言的理想化格式的等效 查询;以及使用所述理想化格式的等效查询来...

【专利技术属性】
技术研发人员:MJ沃伦A赫杰斯伯格L伯洛格纳斯DC库尔卡尼HJM梅杰PA豪拉姆JA费舍尔
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1