移植到非sql域的sql构造的制作方法

文档序号:6379984阅读:206来源:国知局
专利名称:移植到非sql域的sql构造的制作方法
技术领域
本发明大体涉及结构化查询语言(SQL)数据构造,以及基于对SQL数据构造的分析将SQL数据构造移植(port)到非SQL域,以及对于SQL数据构造所实现的结果。
背景技术
随着计算技术的发展以及计算设备变得更普遍,使用计算机对于日常活动已经变得常见。例如,人们可能利用web浏览器或另一搜索应用来获得与各种话题有关的信息。在一具体示例中,可能在驾驶时进行搜索来定位最近的加油站。为了返回搜索结果,计算设备搜索搜索与当前位置和当前位置附近的加油站有关的巨量数据。可以想象,为获得所请求的信息而要访问并审阅的数据可能是非常大量的数据。已经开发出各种搜索工具来允许寻找感兴趣的项和/或操纵感兴趣的项(或对其工作)的高效性。这些搜索工具可用于各种大小的数据集。然而,当数据集增长到非常大·时,对数据集工作可能变得笨拙或难以管理。这些非常大的数据集被称为“大数据”。大数据的笨拙性(awkwardness)包括捕捉数据、存储数据、在数据中搜索、共享数据、对数据执行分析(或解决问题)、使数据视觉化时的困难以及其他困难。例如,与大数据相关联的困难是对关系型数据库进行工作。关系型数据库通过使用数据集内的公共特征来操作以匹配数据。所得到的数据的分组可以按照有逻辑的或易于人理解的方式来组织。在一示例中,SQL (结构化查询语言)是一种可用来更新、删除和/或请求来自数据库的信息的专用语言。已经为了对SQL数据构造进行高效地操作而开发出了各种SQL构造。这些SQL构造可以被移植到其他非SQL域,包括大数据。然而,存在一些与SQL构造有关的约束。例如,在设计或开发SQL构造时,开发是针对特定域视图(例如,表)的。因此,如果要更新或修改SQL构造,这些动作是在其中设计该SQL构造的特定域视图中执行的。当今的计算系统和SQL构造的上述缺点仅旨在提供常规系统的一些问题的概览,并且不旨在是穷尽性的。常规系统的其他问题以及此处所描述的各非限制性实施例的对应的益处可以在审阅以下描述后变得更显而易见。

发明内容
此处提供了简化的发明内容以帮助能够对以下更详细的描述和附图中的示例性、非限制性实施例的各方面有基本或大体的理解。然而,本发明内容并不旨在是详尽的或穷尽的。相反,本发明的唯一目的在于,以简化的形式提出与一些示例性、非限制性实施例相关的一些概念,作为以下各实施例的更详细的描述的序言。此处公开的方面涉及便于在非SQL域中使用SQL构造。根据各方面,提供了一种将SQL构造移植到非SQL构造的手段,非SQL构造诸如是图,作为聚焦数据结构(focal datastructure)而不是键-值对(例如,计算系统和应用中的数据表示)。所公开的方面还提供了键-值对到图形相关数据结构的数学和逻辑变换。
这些和其他实施例在下文中更详细地描述。



参考附图进一步描述各非限制性实施例,在附图中图I示出了根据一方面的示例性计算系统的框图;图2示出了根据一方面的被配置成将结构化查询语言构造移植到非结构化查询语言域的示例性的非限制性的系统;图3示出根据一方面的在表空间中表示的数据;图4示出了根据一方面的示例性张量(tensor);图5示出了示例性的二维秩二张量(rank-two tensor);图6不出了不例性的二维秩三张量(rank-three tensor);图7示出了示例性超图(hypergraph);图8示出了与上面讨论的相同的数据的示例性超图表示;图9示出了根据一方面的用于被移植到非结构化查询语言域的结构化查询语言构造的非限制性的示例性的系统;图10示出了根据一方面的在非结构化查询语言域中使用结构化查询语言构造的非限制性的流程图;图11示出了根据一方面的在非结构化查询语言域中使用结构化查询语言构造的另一非限制性的流程图;图12是表示其中可实现在此处所述的各个实施例的示例性的非限制性的联网环境的框图;以及图13是表示其中可实现此处所描述的各种实施例的一个或多个方面的示例性的非限制的计算系统或操作环境的框图。
具体实施例方式概览随着因特网和相关技术的普遍使用,各种格式的巨量数据可用于消费。一种这样的格式被定义为结构化查询语言(SQL)构造(例如,基本元素、命令、和语句)。SQL是一种用来管理关系型数据库管理系统(RDBMS)中的数据的编程语言(或声明性计算机语言)。SQL的范围包括数据插入、查询、更新和删除,以及数据访问控制,以及其他。一般而言,RDBMS包括存储在表中的数据,而各个表之间的关系也被存储在表中。存储中的数据量已经呈指数增长,并且在某些情况下,SQL型的表可能不再能够存储数据并执行查询。而且,在某些情况下,SQL型的表可能不是存储数据和执行查询的最有利方式。然而,存在大量已经保留在SQL型的表中的数据,而对于已经捕捉的数据,将数据提取成另一种格式可能被证明是困难的,或者昂贵的。此外,某些程序员善于创建SQL构造,并且因此通过创作、操纵和执行SQL查询来执行其相应的编程功能。然而,其他程序员可能不利用SQL查询,并且因此SQL查询句法对这些其他程序员而言可能是不熟悉的。从而,这些其他程序员很可能不利用SQL查询句法,而是会使用一种不同构造来执行其相应的功能。这带来了保留在SQL型的表中的数据和以不同构造来存储的数据之间的断裂(disconnect)。为了使数据兼容(例如,为了改变底层数据存储实现),涉及到更多的时间和花费。例如,程序员将需要学习不同的编程语言,或者将需要把以一种格式保留的数据以另一种格式重新输入。从而,提供一种便于在非SQL域中使用SQL构造的手段将是有益的。在一方面,对SQL构造的这种使用可以对程序员隐藏。例如,程序员可能输入一种格式(例如,SQL)的数据,并且基于要如何使用该数据,可以以一种不同格式(诸如表、矩阵、张量、图、超图等)来存储或操纵该数据。一方面涉及一种系统,包括数据访问组件和抽象组件,所述数据访问组件被配置成获得以第一格式表示的数据,所述抽象组件被配置成基于所述数据的所定义的最终结果将所述数据的表示从第一格式变换到第二格式。第一格式的所述数据是以结构化查询语言构造定义的,而第二格式的所述数据的表示是在非结构化查询语言域中。在一示例中,抽象组件被进一步配置成对用户隐藏与变换和第二格式有关的细节。 在一示例中,数据访问组件被配置成获得输入数据格式的数据,而处理组件被配置成将数据的表示从输入数据格式变换成存储格式。存储格式独立于输入数据格式。在另一示例中,该系统包括查询增强组件,所述查询增强组件被配置成分析所定义的最终结果并确定用于数据的表示的适当格式类型,其中所述适当格式类型是基于实现的效率或容易程度来确定的。根据另一示例,该系统包括转换组件,所述转换组件被配置成将一数据表示改变为与另一数据表示相兼容。在一进一步示例中,该系统包括存储组件,所述存储组件被配置成以第三格式保留所述数据的表示,第三格式独立于第一格式和第二格式。根据一些不例,第二格式是表、矩阵、兀组、图、或超图中的一个。在一方面,第一格式和第二格式是相同数据的不同表示。在一方面,该系统包括接口组件,所述接口组件被配置成接收对数据的请求。进一步对于此方面,所述抽象组件获得存储格式的数据并将该数据从存储格式变换成与所接收的请求相对应的格式。在一示例中,所述抽象组件被进一步配置成在非结构化查询语言域中使用结构化查询语言构造。根据另一方面的是一种方法,所述方法包括获得结构化查询语言格式的数据,并解释该数据的表示。该方法还包括将该数据的表示从结构化查询语言格式变换成非结构化查询语言格式,其中该非结构化查询语言格式提供了效率功能(efficiency function)或者简单性功能(simplicity function)。该方法还包括以非结构化查询语言格式输出该数据。所输出的数据可以被用户(诸如程序员)感知。在一示例中,获得该数据包括从存储介质访问该数据。在另一示例中,解释该数据的表示包括接收对期望结果的显式定义。进一步对于本示例,所述变换是所述显式定义的结果。在另一示例中,解释该数据的表示包括根据一个或多个数据输入来推断期望结果的定义。进一步对于本示例,所述变换是基于所推断的定义的。根据一示例,该结构化查询语言格式和该非结构化查询语言格式提供了等同的结果。在某些方面,该方法包括以结构化查询语言格式或非结构化查询语言格式存储该数据。在另一示例中,获得该数据包括接收对该数据的请求。进一步的方面涉及计算机可读存储介质,该计算机可读存储介质包括存储在其中的计算机可执行指令,这些指令响应于执行致使计算系统执行各操作。所执行的操作包括收集以第一格式表示的数据并实时地将所述数据的表示从第一格式变换成第二格式。所述变换可以基于所述数据的所定义的最终结果。第一格式的所述数据是以结构化查询语言构造定义的,而第二格式的所述数据的表示是在非结构化查询语言域中。第二格式是基于获得所定义的最终结果的效率来选择的。在一示例中,所执行的操作进一步包括对一个或多个用户(或程序员)隐藏变换的细节。根据另一示例,第一格式和第二格式是相同数据的不同表示。此处,以上已经呈现了将SQL构造移植到非SQL域的各实施例中的某一些的概览。作为接下来的内容的路标,更详细地描述数据的变换的各示例性、非限制性实施例和特征。随后,为了附加说明,给出一些非限制性实现和示例,之后是其中可实现这些实施例和/或特征的代表性网络和计算环境。移植到非SQL域的SQL构造通过参考提供将SQL构造移植到非SQL域(包括大数据)的一个或多个非限制性方式进行的进一步描述,图I大致地示出了示例性计算系统的框图。此处公开的各方面可用于数据服务,或者通过其展示所述服务的运行时和web服务的任何组合。而且,“移植(porting)”是指改编软件以便可创建可执行程序的过程。该示例性计算系统允许对数据的表示的抽象和操纵,其中与数据的创作、存储、操纵和执行有关的细节是对程序员(或用户)隐藏的。图I中所示的计算系统包括环境100,该环境可以是编程环境。然而,所公开的方面不限于此,而环境100可以是执行环境(例如,查询的执行)、用户环境(例如,对搜索结果的请求,其中所述搜索结果是作为列表或另一种格式返回的,诸如当非程序员或个人请求因特网搜索时)、或另一种类型的环境。在一些方面,环境100与一个或多个个人设备相关联,如移动设备,其中这些个人设备中的每一个可以与不同的用户相关联。在其他方面,环境100与分布式网络相关联并且个人设备被配置成基于该分布式网络的操作参数来操作。例如,一公司可通过分布式网络提供计算能力以与个人设备(例如,蜂窝电话、膝上型计算机、PDA (个人数字助理)等等)一起使用。然而,其他类型的环境也可适于与所公开的方面一起使用。计算系统还包括数据访问组件110,所述数据访问组件被配置成获得数据集合120。例如,可从环境100接收查询130。基于查询130,数据访问组件110被配置成获得数据集合120。例如,该查询可以是对整修木地板有关的信息的请求,该请求是作为查询被输入的,该查询可由词(例如“整修(refinish)”)、一对词(“木地板(wood floor”)、短语(例如,“整修木地板,,)、问题(例如,“我如何整修我的硬木地板? ”)、或以另一种方式表示。而且,该查询可以以人类语言格式或计算机语言格式接收。在一示例中,输入查询的手段可以是搜索引擎,诸如被设计成搜索万维网和FTP服务器以获得信息的Web搜索引擎。在某些应用中,搜索可以通过例如访问数据库和/或打开目录来进行。基于查询的搜索的结果可以被呈现为列表,并且可包括各种格式的数据(例如,网页、图像、数据以及文件)。在某些方面,查询130与对底层数据构造执行修改和/或其他动作有关。例如,程序员可对如何寻找并呈现搜索结果作出改变。在此情况下,所取回的数据集合120将是底层数据构造。
在某些方面,数据集合120可以第一格式表示。在一简单示例中,数据集合(或结果)是数字五,它可用多种格式来表示,诸如,例如词“伍(FIVE)” “五(Five)” “五(five),,十进制
“5” “5. O”罗马数字V作为计数标记(tally mark)或散列标记(hash mark)
权利要求
1.一种系统,包括 数据访问组件110,所述数据访问组件被配置成获得以第一格式表示的数据;以及 抽象组件140,所述抽象组件被配置成基于所述数据的所定义的最终结果将所述数据的表示从所述第一格式变换到第二格式,其中所述第一格式的所述数据是以结构化查询语言构造定义的,而所述第二格式的所述数据的表示是在非结构化查询语言域中定义的。
2.如权利要求I所述的系统,其特征在于,还包括查询增强组件(940),所述查询增强组件被配置成分析所述所定义的最终结果并确定用于所述数据的表示的适当格式类型,其中所述适当格式类型是基于实现的效率或容易程度来确定的。
3.如权利要求I所述的系统,其特征在于,所述抽象组件(140)被进一步配置成对程序员隐藏与所述变换和所述第二格式有关的细节。
4.如权利要求I所述的系统,其特征在于,所述数据访问组件(110)被配置成获得输入数据格式的所述数据,而处理组件(930)被配置成将所述数据的表示从所述输入数据格式变换到存储格式,所述存储格式独立于所述输入数据格式。
5.如权利要求I所述的系统,其特征在于,还包括转换组件(950),所述转换组件被配置成将一数据表示改变为与另一数据表示相兼容。
6.如权利要求I所述的系统,其特征在于,还包括存储组件(960),所述存储组件被配置成以第三格式保留所述数据的表示,所述第三格式独立于所述第一格式和所述第二格式,其中所述第三格式是结构化查询语言域或非结构化查询语言域。
7.如权利要求I所述的系统,其特征在于,所述第一格式和所述第二格式是相同数据的不同表示。
8.如权利要求I所述的系统,其特征在于,所述抽象组件(140)被进一步配置成在非结构化查询语言域中利用结构化查询语言构造。
9.一种方法,包括 获得(1000)结构化查询语言格式的数据; 解释(1010)所述数据的表示; 将所述数据的表示从所述结构化查询语言格式变换(1020)成非结构化查询语言格式,其中所述非结构化查询语言格式提供了效率功能或者简单性功能;以及 以所述非结构化查询语言格式输出(1030)所述数据。
10.如权利要求9所述的方法,其特征在于,所述解释包括接收对期望结果的显式定义,其中所述变换是所述显式定义的结果。
11.如权利要求9所述的方法,其特征在于,所述解释包括根据一个或多个数据输入来推断期望结果的定义,其中所述变换是基于所推断的定义的。
12.如权利要求9所述的方法,其特征在于,所述结构化查询语言格式和所述非结构化查询语言格式提供了等同的结果。
13.如权利要求9所述的方法,其特征在于,还包括以结构化查询语言格式或非结构化查询语言存储所述数据。
14.如权利要求9所述的方法,其特征在于,所述获得包括接收对所述数据的请求。
15.如权利要求9所述的方法,其特征在于,所述获得包括从存储介质访问所述数据。
全文摘要
本发明涉及移植到非SQL域的SQL构造。本发明涉及在非结构化查询语言域中使用结构化查询语言构造。例如,通过将概念从与结构化查询语言数据结构相关联的键、值对域数学地并逻辑地变换到图形相关的数据结构,源自该结构化查询语言域的值可以被修改以在非结构化查询语言域中使用。这可开放分析时的选项并可解决与线性代数相关联的一些问题。
文档编号G06F17/30GK102930006SQ201210422549
公开日2013年2月13日 申请日期2012年10月30日 优先权日2011年10月31日
发明者B·史密斯, H·J·M·梅杰, D·B·维克尔, A·S·斯托贾维奇, M·伊萨德, S·帕拉斯塔蒂迪斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1