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

使用流式架构的渐进式查询计算制造技术

技术编号:11196412 阅读:95 留言:0更新日期:2015-03-26 02:50
所描述的各实现涉及电子数据的处理。一种实现表现为可包括获得引用一个或多个数据项的关系查询以及将进度区间与这些数据项相关联的一种技术。该技术还可包括将关系查询转换成对应的流式查询,以及向流引擎提供流式查询和具有进度区间的数据项,该流引擎产生查询的增量式结果。例如,进度区间可以基于关系数据库表格的行数。进度区间可被用于定义作为输入被提供给流引擎的流式事件的事件生存期。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】所描述的各实现涉及电子数据的处理。一种实现表现为可包括获得引用一个或多个数据项的关系查询以及将进度区间与这些数据项相关联的一种技术。该技术还可包括将关系查询转换成对应的流式查询,以及向流引擎提供流式查询和具有进度区间的数据项,该流引擎产生查询的增量式结果。例如,进度区间可以基于关系数据库表格的行数。进度区间可被用于定义作为输入被提供给流引擎的流式事件的事件生存期。【专利说明】使用流式架构的渐进式查询计算 背景 用于对数据进行工作的现有技术在大部分情形中往往提供令人满意的用户体验。 例如,与数据库交互的用户可以使用图形用户界面(GUI)来向后端数据库发出各种查询。 在许多情景中,这些查询可以在短时间段内被执行,并且用户可以继续交互式地与数据库 工作。对于许多开发情景来说也是如此,例如,软件开发者可以撰写各种查询,对照数据库 来测试这些查询,并且以交互方式接收结果。这促进了查询开发,因为如果给定查询未产生 预期结果则软件开发者可以按需修订该查询。 然而,对于大型数据集而言,现有技术并非总能提供令人满意的用户体验。例如, "大数据"工具(诸如Apache? Hadoop? )能够对大量数据进行分析,但并不一定以交互 的方式。在大数据的上下文中,给定查询可能花费非常长的时间来完成,甚至可能要整晚。 从负责撰写查询的软件开发者的角度来说,高效地调试这些查询可能是困难的,因为软件 开发者在评估结果的正确性之前要等待很长时间直到查询完成。
技术实现思路
以上列出的示例旨在提供快速参考以帮助读者,并且不旨在限定此处所描述的概 念的范围。 本文档涉及电子数据的处理。一种实现表现为可包括获得引用一个或多个数据项 的关系查询以及将进度区间与这些数据项相关联的一种技术。该技术还可包括将关系查询 转换成对应的流式查询,以及向流引擎提供流式查询和具有进度区间的数据项,该流引擎 产生查询的增量式结果。至少上述相关联可由计算设备执行。 另一实现表现为包括指令的一个或多个计算机可读存储介质,所述指令在被一个 或多个处理设备执行时使得所述一个或多个处理设备执行动作。这些动作可包括使用被 配置成处理流式查询的流引擎来处理关系查询,以及用流引擎产生的增量式结果来更新界 面。 另一实现表现为可包括逻辑以及配置成执行所述逻辑的至少一个处理设备的系 统。该逻辑可被配置成接收第一代码条目,接收依赖于第一代码条目的结果的第二代码条 目,以及提供第一代码条目和第二代码条目的渐进式结果的可视化。 【专利附图】【附图说明】 附图示出了本专利中传达的概念的实现。所示实现的特征可通过参考以下结合 附图的描述来更容易地理解。只要可行,各附图中相同的附图标记用来指代相同的元素。 此外,每一个如图标记的最左边的数字传达其中首次引入该附图标记的附图及相关联的讨 论。 图1示出根据某些实现可被配置成实现某些概念的示例性系统。 图2A示出根据某些实现的示例性数据表。 图2B示出解说符合本专利技术的各概念的某些实现的某些特征的示例性进度图。 图3和4示出根据某些实现的用于实现某些概念的流程图。 图5-15示出可根据某些实现提供的图形用户界面的示例性屏幕截图。 【具体实施方式】 概览 本讨论涉及电子数据处理,尤其涉及使用电子数据处理来对数据执行增量式计 算。例如,所公开的实现可以通过在部分数据集上执行查询来提供用于关系查询的有意义 的结果。为此,所公开的实现可以引入与数据集相关联的可能不具有任何显式时间意义或 排序的进度的概念。以此方式,流引擎可被配置成提供关系查询的增量式结果。 所公开的实现还可用于提供对多个关系查询的撰写的有意义的部分结果。例如, 考虑指示用户在给定的一天中接收到特定在线广告的1百万次投放的数据集。该数据集可 以指示,在那同一天期间,该广告收到10000次点击即1%的点进率。确定点进率的一种办 法是将计算完整一天期间的投放数目的第一关系查询运行完成。接着,可以将计算该完整 一天的点击数目的第二关系查询运行完成,并且将第二查询的结果除以第一查询的结果。 然而,这种办法可涉及等待两个关系查询全部完成。所公开的实现可以提供对点 进率的部分增量式结果,例如,在两个查询中10%的进度之后,可以向用户提供已经被处理 的10%的数据的相关联的点进率。随着进度继续,部分结果可以被更新直至计算全部完成。 还注意到,查询可以按不同的速率进展,例如,第一查询可以完成20%,而第二查询可以仅 完成10%。在此情形中,可以向用户提供10%的数据的结果,并且因而可具有对平均点进 率的有意义的理解而不必等待计算点击和/或投放的总数。 网络系统示例 图1示出其中可以采用此处引入的技术的示例性网络系统100。如图1所示,网 络系统100包括连接若干设备的网络110,诸如服务器120和各种客户端设备130、140和 150。服务器可以具有包括web服务121、脚本存储122、数据库123、流引擎124、和适配器 模块125的逻辑组件。服务器可以使用硬件资源126 (诸如处理器127、存储128和存储器 129)来实现这些逻辑组件。要理解的是,数据库123不必一定与服务器120位于相同的 物理机器上;事实上,数据库123可以由以数据库网络组成的分布式数据库架构组成,诸如 Hadoop?:文件系统或微软公司的SQL Azure?。客户端设备可以具有逻辑组件(诸如界面 模块131、141和151)和相关联的硬件资源132-135、142-145和152-155。关于硬件资源的 其它细节在本文档的后文中提供。紧接着下面的讨论着重于由服务器和客户端设备的逻辑 资源(例如组件121-125、131、141和151)执行的处理。 在一些实现中,界面模块131-151是与web服务121通信的web浏览器。例如,界 面模块可以是呈现命令和所接收到的更新以及向web服务发送命令的HTML5浏览器。然而 在其它实现中,界面模块可以是专用或定制的应用而非web浏览器。其它实现可以使用浏 览器插件或其它技术来实现此处描述的界面功能。 例如,客户端设备130-150处的用户可以经由相应的界面模块向web服务提交源 代码,诸如脚本。脚本存储122可被配置成存储接收到的源代码中的一些或全部。一般而 言,源代码可以被撰写以查询数据库123,数据库123可以是具有用表格形式表示的数据的 关系数据库(例如,SQL)。例如,源代码可以是具有集成关系查询的通用代码,或者源代码 可以直接用查询语言来撰写。 流引擎124可被配置成对与显式时间数据(例如,具有起始时间、结束时间和/或 历时的数据事件)相关联的流传输数据执行处理。值得注意的是,数据库123中的数据项 不必具有任何显式时间数据或时间排序,并且实际上可以随机排序。适配器模块125可被 配置成适配数据库中的数据,以使得该数据可由流引擎处理。例如,适配器模块可以从数据 库获得数据项(例如,表格的行),创建时间数据,将时间数据与数据项相关联,以及将数据 项作为具有时间数据的流传输事件提供给流引擎。流引擎随后可以使用一个或多个流式查 询运算符来处理流传输事件以产生增量式结果。 本文档来自技高网...

【技术保护点】
一种方法,包括:获得引用一个或多个数据项的关系查询;将进度区间与所述数据项相关联;将所述关系查询转换成对应的流式查询;以及将所述流式查询以及具有所述进度区间的数据项提供给流引擎,所述流引擎产生所述查询的增量式结果,其中至少所述相关联由计算设备执行。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:D·A·费雪S·M·德鲁克J·D·戈德斯汀B·钱德拉穆里R·A·德来恩J·C·普拉特M·巴那特
申请(专利权)人:微软公司
类型:发明
国别省市:美国;US

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

1