数据查询作业提交管理的制作方法

文档序号:11530763阅读:196来源:国知局
数据查询作业提交管理的制造方法与工艺

背景

企业(例如公司)、教育实体、政府实体等常常为它们的员工、学生和分支机构运作数百或数千个计算机和计算系统。通常,此类计算机和计算机系统在各个企业位置处操作,或者通常,此类计算机或计算机系统在大型数据中心处操作。许多企业经由在企业远程操作的数据存储和处理服务供应商来存储和处理数据,其中数据存储、数据处理和在线服务通过分布式计算网络(诸如因特网)在远程服务供应商处被提供。

通常,企业将数据查询发送到服务供应商以对照在服务供应商处或者在相关联的服务供应商数据中心处存储和运作的企业数据和系统来运行各种处理作业。由企业提交的查询包括由企业创建的查询逻辑,以使得企业可以在服务供应商或数据中心处的企业数据和订阅系统上执行自服务查询。不幸的是,由企业传递到服务供应商或数据中心的查询通常出于某种原因而是有问题的,诸如查询中的或与查询相关联的代码错误、版本错误等。当这样的问题存在于所呈现的查询时,该查询可能运行延长的时间段(例如,20个小时),而没有如进行查询的企业或订户所期望的那样实际完成。在这种情况下,服务供应商或数据中心的有限资源可能被错误的查询消耗或减少,其阻止或妨碍其他订户运行所需的查询。

此外,通常,企业针对有限量的数据来运行测试查询以用于测试查询的操作,使得它们可按需被修改以最终用作针对大型生产数据集的生产查询。如果测试查询有问题(如以上针对生产查询所描述的),则测试查询的运行可类似地运行太长时间并由此消耗有限的测试查询资源并阻止或妨碍其他方运行它们的测试查询。

存在针对用于管理查询(生产和测试)提交和操作的方法和系统的需要。本发明正是关于这些以及其它考虑因素而被作出的。

概述

提供本概述来以简化形式介绍将在以下详细描述部分中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。

以上和其他问题通过用于以下的方法和系统来解决:监视和管理生产和测试查询的运行以防止任一类型的查询运行达消耗有限的生产或测试查询资源的过度的时间段。根据本发明的一个方面,接收到生产查询并且针对给定数据集或系统来运行。如果查询的运行时超过阈值时间段(例如,十个小时),则查询被停止并且查询被标记为将该查询置于半隔离状态中的有害查询。查询订户被通知并且被允许发送包括查询作业的相同类型的后续查询,例如,由在两个星期的时间段上的每日查询构成的作业。如果在规定的时间段期间阈值数量个查询被指定为有害查询(例如,七天的时间段中的三个有害查询),则整个查询作业可被隔离,这意味着其将被关闭并被阻止针对订户的数据和系统来运行。

根据本发明的一个方面,接收测试查询并且针对被指定为与测试查询一起使用的给定数据集或系统来运行。如果测试查询的运行时超过阈值时间段(例如,一小时),则测试查询的操作被暂停,并且测试查询从运行队列被移动到等待队列以允许运行队列中的其他测试查询针对它们的测试数据或系统来运行而没有延迟。暂停的测试查询可在等待队列中被放置在高的优先位置,使得其可以是在运行队列中的其他测试查询被运行处理之后的下一个。由此,提交采用延长的时间段来处理的测试查询的订户可具有关于运行时的适当期望,而不阻止其他测试查询订户以合理的时间量来运行他们的测试查询。

一个或多个实施例的细节在附图和以下描述中阐述。根据对以下详细描述的阅读和对相关联附图的审阅,其它特征和优点将是显而易见的。应当理解,以下详细描述只是解释性的并且不限制如要求保护的本发明。

附图简述

合并在本公开中且构成本公开的一部分的附图解说了本发明的各个方面。

图1是用于将数据上传到外部数据中心或企业和服务供应商或数据中心,和/或从外部数据中心或企业和服务供应商或数据中心下载数据的系统架构的一个示例的简化框图,其中生产或测试查询可在所述服务供应商或数据中心处运行。

图2a是用于将数据上传到外部数据中心或企业和服务供应商或数据中心,和/或从外部数据中心或企业和服务供应商或数据中心下载数据的数据上传器的一个示例的简化框图,其中生产或测试查询可在所述服务供应商或数据中心处运行。

图2b是代理服务的一个示例的简化框图,所述代理服务器用于确保从源计算系统上传到安全计算系统的数据是从可信源/请求者处理的。

图2c是用于将查询上传到生产查询域或测试查询域以用于针对数据或系统来运行生产或测试查询的系统架构的一个示例的简化框图,所述数据或系统由进行查询的企业或订户拥有或订阅。

图3a是用于管理针对进行查询的订户拥有和/或订阅的数据或系统的生产查询的示例方法的流程图。

图3b是用于管理针对进行查询的订户拥有和/或订阅的数据或系统的测试查询的示例方法的流程图。

图4是解说可用来实施本发明的各方面的计算设备的示例物理组件的框图。

图5a和5b是可用来实施本发明的各方面的移动计算设备的简化框图。

图6是可用来实施本发明的各方面的分布式计算系统的简化框图。

详细描述

以下详细描述引用附图。只要可能,就在附图和以下描述中使用相同的附图标记来指示相同或类似的要素。尽管描述了本发明的实施例,但是修改、调适、以及其它实现是可能的。例如,可对附图中所解说的元素进行替换、添加或修改,并且可通过对所公开的方法替换、重排或添加阶段来修改本文中所描述的方法。因此,以下详细描述不限制本发明,而是相反,本发明的准确范围由所附权利要求定义。

如以上简要描述的,各种类型的企业通常将生产和测试数据查询两者都发送到一个或多个数据中心以及发送到服务供应商,通过该一个或多个数据中心和服务服务供应商,各种类型的企业存储并处理用于针对企业的数据和系统来运行各种处理作业的数据和在线软件系统。例如,某一企业可在服务供应商处运行一查询,该查询在每24小时时间段上计算企业所订阅的在线软件服务的使用率。作为响应,可在服务供应商处生成报告并将报告传递到企业以允许其作出关于其在线软件订阅的决策。对于另一示例,企业可向服务供应商发送查询来针对每个运营季度解析涵盖以周为基础的企业销售数字的大量数据。在测试查询的情况下,测试查询可出于对测试查询的操作进行测试的目的来针对有限的数据集或系统运行,使得它们可按需被修改以最终用作生产查询。

对于生产或测试查询而言,由企业提交的查询包括由企业创建的查询逻辑,使得企业可以在服务供应商或数据中心处的企业的数据和订阅的系统上执行自助服务查询。不幸的是,由企业传递到服务供应商或数据中心的查询通常出于某种原因而是有问题的。例如,查询逻辑可能具有代码错误,或者查询所调用的数据中心系统的版本号可能已被改变或可能已经变得被损坏,或者数据读取请求认证可能已经失败,等等。即,任意数量的问题可被呈现在被传递到服务供应商或数据中心以用于针对数据或系统进行运行的给定查询中。当这样的问题存在于所呈现的查询时,该查询可能运行延长的时间段(例如,20个小时),而没有如进行查询的企业或订户所期望的那样实际完成。在这样的情况下,服务供应商或数据中心的有限的资源可能被消耗,并且其他方的查询可能被不合理地延迟。

这样的处理问题在查询在自服务操作中运行时尤其是有问题的,在自服务操作中,查询方可在没有来自服务供应商的协助的情况下运行查询。即,如果自服务查询操作被使用并且给定查询运行达过度的时间段,则服务供应商的资源可能在服务供应商不知晓的情况下被不良操作的查询所捆绑。

如以上简要描述的,本发明的各方面涉及管理被上传到数据中心和/或服务供应商的生产和测试查询以用于针对数据和/或系统来运行生产或测试查询,所述数据和/或系统由企业、个体计算机系统用户或对服务供应商的数据和/或系统服务的其他订户拥有或订阅。图1是用于将数据(包括生产和测试查询)从源位置上传到目的地位置的系统架构的一个示例的简化框图。根据本发明的各方面,该系统架构100包括各种示例计算组件,这些计算组件用于将生产和测试查询数据从各种源计算系统(或个体计算机)上传到各种目的地位置(诸如数据中心和服务供应商)。

在图1的底部,数据中心105解说由企业或服务的订户(之后称为“订户”)操作的数据中心,企业或服务的订户可能需要向数据中心或服务供应商(之后称为“服务供应商”)上传各种类型的数据(包括生产和测试查询),在该数据中心或服务供应商处,经上传的数据和查询可以被存储和/或处理。数据中心105可以容纳数百、数千或更多的个体计算机/计算系统110,在这些计算机或计算系统上可以存储各种数据类型的数据,这些数据可以使用各种不同的计算过程(例如,各种软件应用)来处理。例如,计算设备110中的每一者可包括各种类型的计算机,例如,用于在数据库中存储用户数据的服务器计算机、电子邮件系统、文档管理系统等,并且计算机/计算系统100可被用于运行各种计算系统软件应用,例如,数据库应用、电子邮件系统应用、web服务应用、在线软件供应应用、生产力应用、数据管理系统应用、电信应用等。

如应当领会的,数据中心105还解说许多数据中心之一,这些数据中心可以共处一处,或者可以位于不同位置并且可以经由用于在离散数据中心之间传递数据的各种传输系统与彼此相关联。另外,尽管数据中心105如上所述被解说为多个计算机系统110可位于其中以用于提供数据和服务的数据中心,但数据中心105等效地解说了一种实体,诸如公司、教育设施、政府设施或单个计算设备,例如,台式计算机、膝上型计算机、手持式计算机、或由个体用户操作的其它计算设备,用户数据和/或计算机系统生产和测试查询可以从这些计算设备上传到服务供应商。

仍然参考数据中心105,每一计算设备110与上传器模块115相关联,上传器模块115用于上传用户和/或系统数据以及来自每一相关联的计算机/计算系统110的生产或测试查询。上传器模块115在以下针对图2a被进一步详细描述。根据本发明的一方面,上传器模块115可以被安装在每一相关联的计算机/计算系统110上或者可以由每一计算机/计算系统110访问。

依然参考图1,边缘路由器120解说用于将查询从给定上传器模块传递到数据中心105外部的系统的典型路由器设备。应当理解,边缘路由器120可以负责确保传递自给定数据中心105的数据被正确地传递到理想目的地系统组件,例如,传递自上传器模块的封包化数据被正确地路由到系统100的正确目的地组件。

分布式计算网络125(图1中示出为虚线)解说任意网络(诸如因特网或内联网),数据可通过此网络从数据中心传递到数据中心外部的组件(诸如以下描述的安全数据管理中心/储存库的目的地存储储存库145a-c)。

边缘路由器135解说查询可通过其被传递到代理服务140的进行接收的边缘路由器,代理服务140负责确保在允许接收到的数据被传递到服务供应商170处的一个或多个目的地存储储存库145a-c之前接收到的查询被正确地认证。代理服务140的操作在以下针对图2b被进一步详细描述。

存储储存库145a-c解说可被授权来接收经由上传器模块115上传的数据或查询的任意数据存储存储库。例如,目的地存储存储库145a-c可与服务供应商的安全数据管理中心/存储库相关联以用于(响应于一个或多个生产或测试查询)接收、存储和分析与为服务供应商的订户所提供的计算系统和软件服务相关联的数据。

例如,数据存储库145a可用作针对服务供应商的主安全数据接收存储库。接入点152、154和156表示在数据存储库145a处的接入点,通过这些接入点,数据和查询可从代理服务140传递以用于将数据上传到一个或多个特定数据位置160,或用于通过一个或多个特定数据接入点158、162传递数据或查询,以将数据传递到其他数据存储库145b、145c。

数据存储库145b可被指定为用于接收和分析用户数据和系统数据以及与一个或多个服务或数据类型相关联的各种查询。例如,数据存储库145b解说在给定服务供应商的安全数据管理中心/存储库144处操作的云服务系统。调度器模块166解说用于调度去往和来自数据存储库145b的数据上传和下载的软件模块或设备。抽取器模块168解说用于分发去往和来自数据存储库145b的组件的数据的软件模块或设备。分析模块170解说用于输出和/或显示或以其他方式呈现来自存储存储库145b的数据的软件模块或设备。

目的地存储存储库145c解说服务供应商107的另一组件。例如,目的地存储存储库145c可以具有在服务供应商107处操作的数据库系统的形式。调度器模块166解说用于调度去往和来自数据存储库145c的数据上传和下载的软件模块或设备。抽取器模块168解说用于分发去往和来自数据存储库145c的组件的数据的软件模块或设备。分析模块170解说用于输出和/或显示或以其他方式呈现来自存储存储库145c的数据的软件模块或设备。

如应当理解的,对于服务供应商的各组件和个别组件145a、145b、145c的描述仅仅是出于示例和说明的目的,而并非是对于可作为数据可被上传到其或从其数据可从外部(并且潜在的不安全的)数据生成器/用户下载或从其数据可被下载到外部(并且潜在的不安全的)数据生成器/用户的安全数据管理中心/存储库的一部分来操作的各种其他组件或系统的限制。例如,安全数据管理中心/存储库107的各组件可提供在线软件和数据管理供应,例如对经由一个或多个在线软件应用服务和数据管理系统被提供到各个用户的文字处理服务、幻灯片演示应用服务、数据库应用服务、电子表格应用服务、电信应用服务等的供应。以下参考图2c来提供对可在服务供应商处在其组件之一中操作的查询接收和处理系统的描述。此外,如应当理解的,系统100的各组件等同地用于将数据(包括对于查询的或与查询相关联的响应和/或通知)从服务供应商107传递回数据中心105。

如以上参考图1描述的,被上传到数据中心或服务供应商的数据或查询(不管是生产还是测试)可经由上传器模块上传以用于确保被上传的数据和/或查询被正确地从始发计算系统传递到数据中心或服务供应商处的适当的存储或处理存储库以用于处理,如本文中描述的。现在参考图2a,示出并描述了数据上传器115和数据下载器115的操作。如以上简要描述的,数据上传器和数据下载器是包括足以用于从不安全侧上的外部数据生成器/用户中读取、变换(如果需要的话)和导出各种数据类型的数据到安全侧上的安全数据管理中心/存储库的计算机可执行指令。数据上传器和下载器也用于将数据从安全侧传递回不安全侧。如应当领会,数据上传器和下载器可以是相同的模块,并且基于数据移动的方向仅仅被指定为上传器相对于下载器。

数据上传器或下载器(此后被称为数据加载器)115包括用于接收数据上传指令和用于引导数据加载器模块115的组件的处理的操作模块205。配置文件读取器210是这样的模块,数据加载器115用它来读取针对数据上传指令的配置文件215,如以下描述的。数据读取器模块225用于经由数据读取器插件模块227来读取各种数据类型的数据。数据变换模块230是用于响应于读取自配置文件215的数据变换信息经由数据变换插件232来变换数据或查询的模块。

数据导出模块235用于如接收自配置文件215的指令所指定的那样经由数据导出插件237将数据或查询从存储器导出到指定的目的地存储存储库145a-c。根据本发明的各方面,特定数据导出插件237可被用于将生产查询引导到生产查询域或用于将测试查询引导到测试查询域,如以下关于图2c描述的。

各种数据读取器、数据变换和数据导出插件模块227、232、237可被提供到数据加载器115或可如针对不同类型的数据读取、变换和导出所需要的被数据加载器模块115访问。例如,需要从在数据中心105处操作的各个计算设备接收经变换的数据的服务供应商可提供数据读取器插件、数据变换插件以及数据导出插件以供数据加载器模块115用于根据它们各自的需求来读取、变换和导出数据。

配置文件215解说可被数据加载器模块115访问的用于接收数据和查询上传指令的文件。被包括在配置文件215中的数据上传指令可提供包括与要被上传的查询相关联的数据类型、数据读取指令以及用于允许加载器模块访问理想数据的安全性信息的信息。此外,配置文件可提供关于理想数据要被如何变换(如果需要的话)的指令以及关于经上传的数据要被存储在何处以及经导出的数据要以什么文件类型被存储的指令。如以下描述的,配置文件还可向数据加载器提供指定的导出插件,以用于致使数据加载器将生产和测试查询传递到服务供应商107的适当组件。

如以上关于图1简要描述的,上传自数据中心、企业或个别计算系统的数据或数据查询(无论是生产还是测试)可被要求通过代理服务来传递,以用于确保经上传的数据和/或查询源自可信源。现在参考图2b,代理服务140是用于认证对于将数据和/或查询上传到服务供应商的请求和/或用于认证来自服务供应商的数据下载/读取请求(包括对于查询的响应或与查询相关联的通知)的系统或软件模块。

代理服务140包括数据传输模块250,其是用于接收来自加载器模块115的数据传输以用于传递来自计算设备110的经上传的数据和查询的软件模块和/或系统组件。认证模块255是用于认证数据上传/下载/读取请求的源以确保该源对于将数据上传到安全存储库或对于从安全存储库下载或读取数据是可信的设备或软件模块。存储器260解说被容纳在代理服务140中或可通过代理服务140访问的存储器位置,其中可存储认证上传/下载/读取请求所要求的信息。根据本发明的各方面,因特网协议(ip)地址列表265解说可被用于针对与数据上传/下载/读取请求相关联的ip地址来进行比较的ip地址的列表。证书列表270解说可被用于和与数据上传/下载/读取请求者相关联的认证证书进行比较的认证证书的列表。传输批准列表275解说从中上传/下载/读取请求先前已经被认证和批准的批准源列表。

如以上描述的,根据本发明的各方面,给定企业或生产或测试查询服务的订户经常希望针对该企业或订户所拥有的或订阅的数据和系统来运行生成查询和测试查询。此后,企业或订户将被称为“订户”以表示发送生成或测试查询以用于针对数据或系统来运行的任一方,如文本中描述的。如图2c中示出的,如以上参考图1描述的,提供了数个数据中心105a-n。如在图2c中示出的,数据中心105a-n中的每一个可通过代理服务140将数据和数据查询上传到服务供应商或数据中心的存储存储库或处理组件/系统,如以上关于图2b描述的。如以上描述的,根据本发明的各方面,代理服务140可用于:基于由负责将数据或数据查询通过代理服务140进行传递的上传器模块所使用的数据导出插件,直接将数据或数据查询发送到进行接收的数据中心或服务供应商的指定的存储存储库或组件。

依然参考图2c,根据本发明的各方面,生产查询域280和测试查询域290可在服务供应商处操作,生产和测试查询可被传递到该服务供应商以用于针对进行查询的订户所拥有的和/或所订阅的数据或系统来运行生产或测试查询。例如,在数据中心105a处操作的企业可通过代理服务器140将生产数据查询传递到生产查询域280,以用于针对在数据中心105a处操作的企业所拥有的和/或所订阅的数据或数据系统来运行生产查询。类似地,另一企业或数据/系统订户可通过代理服务140将测试查询从数据中心105a-n传递到测试查询域290,以用于针对有限的数据或系统集来运行测试查询以用于测试测试查询的操作,使得测试查询可按需被修改、修订或编辑,以最终用作针对大型数据集和复杂系统的生产查询。

例如,被给定企业传递到生产查询域280的生产查询可致使针对操作企业的相等数量的计算系统的50,000个雇员来计算到企业计算系统的雇主登陆频率。查询可要求在一个月的时间段上针对所有雇员每日运行这样的计算,使得可响应于该查询来生成可被传递回该企业的报告,以用于允许企业人员作出关于它们的雇员和相关联的计算系统的适当利用率的决策。在测试查询的情况下,在将这样的生产查询进行使用之前,企业可能希望生成测试查询以用于针对有限的数据和/或系统数量来测试该查询的可操作性,使得测试查询可被修改和/或调试以最终用作生产查询。

根据本发明的各方面,生产查询域280解说用于允许生产查询要被接收并针对进行查询的订户所拥有的和/或所订阅的数据和/或系统被处理的软件模块和计算系统的集合以及数据库和/或数据访问点。如图2c中示出的,生产查询域被容纳在服务供应商107的存储存储库145a中,如以上参考图1所示出和描述的。然而,如应当理解的,生产查询域280可被定位在并被操作在服务供应商的任一其他组件(例如,组件145b和145c)处,如以上参考图1所示出和描述的。

根据本发明的各方面,生产查询域280包括用于接收来自进行查询的订户的查询以及用于调度接收到的查询针对理想数据或系统的执行的调度器模块281。例如,可为针对各个订户的数据集和/或系统来运行数据查询来建立运行队列。调度器模块281用于根据生产查询域280的有限查询资源,在要针对各个数据集和/或系统来运行的其他查询的队列中调度接收到的数据查询的运行。

查询处理器282解说用于接收并如进行查询的订户所请求的那样来执行生产查询。作业存储库284解说数据库或其他存储存储库,其用于存储接收到的数据查询以用于针对在作业数据存储库285处被访问的规定用户或系统数据的最终执行。响应于接收到的数据查询的运行的信息和数据,可被存储在查询数据存储库286处,以用于由查询处理器282处理和报告。隔离信息模块283解说用于生成和存储关于被隔离的生产查询运行或生产查询作业的信息的软件模块或设备,如本文中描述的。

测试查询域290解说软件模块、设备和数据的集合,其用于处理针对有限的数据和系统集的测试查询运行并对其进行报告,以用于允许进行查询的订户测试查询,以最终用作生产查询。测试查询域290包括用于调度接收到的测试查询针对测试数据或系统的执行的调度器模块291。查询处理器292用于通过以下来处理经调度的测试查询:将该测试查询放置在由被调度用于针对规定的数据或系统来运行的测试查询构成的运行队列293中,或将测试查询放置在由被暂停来等待运行队列293上的空位的测试查询的列表构成的等待队列294中。作业存储库295解说数据库或其他存储存储库,其用于存储接收到的测试查询以用于针对在作业数据存储库296处被访问的规定用户或系统数据的最终执行。响应于接收到的测试查询的运行的信息和数据可被存储在测试数据存储库297处,以用于由测试查询处理器292处理和报告。

图3a是用于管理针对进行查询的订户所访问的数据或系统的生产查询的示例方法的流程图。例程300开始于起始操作302并且行进到操作304,其中在数据和系统服务供应商的生产查询域280处通过代理服务140从数据中心105a-n接收到来自订户的生产查询,如以上参考图1-2c示出和描述的。在操作306,接收到的生产查询被调度器模块281调度以用于处理,其中接收到的生产查询被放置在处理队列中以用于由查询处理器282如接收到的查询所要求的那样针对理想用户或系统数据来运行。

如以上关于图2c描述的,标识接收到的查询的信息可被放置在作业存储库284中,并且查询要针对其被运行的数据可经由作业数据存储库285来访问。关于查询的信息(例如,查询在运行队列中的位置)以及关于查询的其他信息(例如,关于查询的标识信息,从其接收到查询的企业或订户的标识等)可被存储在查询数据存储库286中。

在操作308,查询处理器282针对所请求的数据来运行接收到的查询。在决策操作310,作出关于与运行查询相关联的处理时间的确定。根据本发明的一方面,如果查询运行时超过阈值时间段,则查询操作可被停止以允许运行队列中的其他查询被处理。根据本发明的一个方面,如果给定生产查询的运行时超过该阈值(例如十个小时),则例程可行进到操作314,其中查询处理可被停止。如果查询处理被停止,则查询可被标记为有害查询,使得该查询被置于半隔离状态中。

如应当理解的,一些数据查询可要求在对查询的处理停止之前,处理时间大于所允许的阈值处理时间,如本文中描述的。在这样的情况下,在给定查询要求较大量的时间(例如,20个小时)来充分地处理时,这样的查询可被放置在可被充分处理而不管超过阈值时间的处理时间的查询的列表上。替代地,对于这样的查询,阈值处理时间可被增加,使得对于这种要求较长处理时间的查询,可建立超过其它们将不被允许运行的阈值时间。

在操作316,对于已经被停止超过阈值运行时并且已经被标记为有害且被半隔离查询的查询,可联系发起该查询的订户。如应当理解的,当订户被联系时,订户可决定终止查询作业来引起对该查询的改变或修复。如果订户决定允许查询作业继续,则订户可发送查询作业的后续查询或允许查询作业如被调度的那样继续,包括对包括查询作业的后续查询的处理。

参考回决策操作310,如果查询处理在少于阈值时间内(例如,十个小时)完成,则在操作312,查询的结果可被报告到负责发起该查询的订户。如应当理解的,在报告运行查询的结果之前,结果可与包括查询作业在内的相关联的查询的其他结果聚集、结果可被制表在查询结果的电子表格或数据库中、或结果可被放置于各种格式中以最终报告给负责发起该查询的订户。

依然参考图3a,在决策操作318,作出关于在阈值时间段期间半隔离或有害查询的数量是否已经被超过的确定。例如,根据一个示例操作,如果包括在查询作业中的七个顺序查询中三个以上查询被标记为有害查询,则整个查询作业可被停止,如以下描述的。例如,给定查询作业可要求一查询被传递到生产查询域280以用于在一个月的时间段内每天针对一数据集(例如,雇员登陆数据)来运行。由此,在决策操作318,可作出关于在每日查询操作的七天中是否针对该示例查询作业已经经历了三个有害和隔离查询的确定。如果还没有达到停止和隔离查询作业所要求的阈值数量的查询,则例程行进回操作304并且生产查询系列中的下一生产查询可被接收到。

在操作320,如果在阈值时间段期间经历了规定的阈值数量的有害查询(例如,七天中三个以上的有害查询),则整个查询作业可被停止,因为可确定接收到的查询中的编码错误或其他错误正使得整个查询作业可疑。如果给定时间段中超过阈值数量的查询,则整个查询作业可被标记为有害,并且整个查询作业可从生产查询域中隔离。即,被隔离的查询作业不可在生产查询域处被包括在查询作业中的任意其他数据查询处理,直到查询作业以满意的方式被修改或调试,如以下描述的。通过停止整个查询作业,生产查询域280的有限的处理资源可被用于其他查询,并且负责发起该查询作业的订户可具有在提交包括查询作业在内的查询之前修改、修订或调试包括查询作业在内的查询的机会。

在操作322,响应于将整个查询作业标记为有害且隔离,联系负责发起该隔离的作业的订户。在操作324,可从订户接收到对有害且隔离的查询作业的修改。在操作326,生产查询域280处的查询处理器282分析接收到的由一个或多个数据查询构成的经修改的查询作业,并针对包括隔离的查询作业在内的数据查询来分析接收到的经修改的查询作业和相关联的数据查询。在操作328,如果接收到对被隔离的查询作业和相关联的数据查询的足够的修改,则例程可行进回操作304,并且可接收到包括经修改的查询作业在内的第一数据查询以用于在生产查询域处处理,如以下描述的。

如应当理解的,针对被隔离的查询作业的对经修改的查询作业的分析可包括对包括在经修改的数据查询中的代码的解析以及针对包括在隔离的查询中的代码来比较该代码。对于另一示例,包括查询作业在内的给定数据查询系列可能发生故障,因为包括在数据查询中用于针对给定数据集来应用数据查询的简单版本标识可能是错误的,从而导致在数据查询的处理中过度的运行时量。在这种情况下,对于数据查询的用于纠正错误版本号的修改可以是简单的纠正,该纠正可接着使得经修改的数据查询和查询作业可被接受,来如进行请求的企业或订户所希望的那样针对指定的数据和/或系统来运行。

图3b是用于管理针对进行查询的订户所访问的数据或系统的测试查询的示例方法的流程图。例程330开始于起始操作332并且行进到操作334,其中在测试查询域290处通过代理服务140从数据中心105a-n接收到来自进行请求的订户的测试查询,如以上参考图1-2c示出和描述的。如应当理解的,测试查询可通过给定企业上传,以用于在测试查询被发布为用于针对进行查询的订户所拥有或订阅的数据和/或系统运行的生产查询之前测试给定查询的操作。

在操作336,测试查询处理由调度器模块291调度,并且测试查询作业的标识可被存储在作业存储库295中,并且运行接收到的测试查询所要求针对的任意数据可被存储在作业数据存储库296中或经由作业数据存储库296来访问。关于测试查询的信息(包括关于进行查询的企业或订户的标识信息以及关于测试查询将针对其来运行的测试数据的标识信息等)可被存储在查询数据存储库297处或经由查询数据存储库297来访问。

在操作338,调度器模块291与查询处理器292相关联地将接收到的测试查询放置在运行队列中,使得测试查询可按针对测试查询相对于用于处理的运行队列中等待的其他测试查询的指定的次序来针对所请求的数据和/或系统被运行。在操作340,针对被规定用于运行测试查询的数据或系统来运行接收到的测试查询。

在决策操作342,作出关于测试查询的处理是否超过阈值运行时(例如,1小时)的确定。如果测试查询的运行没有超过阈值运行时,则例程行进到操作344,并且测试查询的运行的结果可按与以上针对生产查询所描述的类似的方法被报告给发起该测试查询的企业或订户。在操作348,联系企业或订户以用于报告经处理的测试查询的结果。

参考回决策操作342,如果测试查询的运行超过阈值时间段(例如,1小时),则例程进行到操作346,并且测试查询处理被暂停,使得测试查询将查询处理器292的处理资源让给运行队列中等待的其他测试查询以用于处理。当测试查询被暂停时,测试查询被移动到等待队列294,其中其将以暂停模式等待,直到空间在运行队列中变得可用。在操作348,可联系发起该测试查询的企业或订户以提供对暂停的测试查询的通知。

在决策操作350,作出关于处理空间现在是否在运行队列中可用的确定。即,根据本发明的一个方面,当被暂停的测试查询从运行队列被移动到等待队列时,暂停的测试查询可在等待队列中被给予将其放置在等待队列的顶部的优先位置,使得其在运行队列中的空间因来自运行队列的一个或多个测试查询的处理而变得可用时立即被移动回运行队列。如果空间在运行队列中不可用,则例程行进回操作346,并且暂停的测试查询被维持在等待队列中,直到空间在运行队列上确实变得可用。

替代地,如果空间在运行队列中变得可用,则例程行进到操作352,并且测试查询从等待队列移动到运行队列。在操作354,测试查询再次在运行队列中指定的位置中运行。例如,当测试查询从等待队列移动到运行队列时,其可进入运行队列的底部并且现在在其可被处理之前必须等待直到更高排序的测试查询被处理。

如应当理解的,将要求过度处理时间量的测试查询从运行队列移动到等待队列允许其他测试查询被更快速地处理。例如,典型的测试查询可在数秒或数分钟之内运行。由此,如果测试查询被处理并且正要求超过阈值时间量的处理时间(例如,一小时),则将这样的测试查询移动到等待队列可允许暂停的测试查询在等待队列上的同时运行队列上数个其他测试查询被处理。由此,发送要求短处理时间的测试查询的企业或订户的期望可得到满足,其中这样的测试查询可被快速地返回,而提交要求延长的运行时的测试查询的企业或订户也的期望可得到满足,因为进行提交的订户应当知道针对该测试查询的处理时间可能是长的。

依然参考图3b,在操作356,在一个或多个重新运行测试查询的尝试之后,如果测试查询依然没有在合理的时间量内完成,则可作出测试查询运行失败的确定,并且测试查询可在等待队列中被无限期地暂停。如果不是,则例程行进回操作344,并且测试查询的成功运行的结果可被报告给发起测试查询的企业或订户。替代地,如果测试查询运行是失败的,则在操作358,测试查询可从运行队列中移除并且可以低于其他暂停的测试查询的优先水平被放置回等待队列内。替代地,如果测试查询运行结果是失败的,则测试查询可从运行队列和等待队列两者中移除,并且在操作360,可联系发起测试查询的企业或订户,以用于允许按需对测试查询的修改和/或调试。例程330在操作365结束。

尽管已经在结合在计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述了本发明,但是本领域技术人员将认识到本发明还可结合其它程序模块实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构及其他类型的结构。

本文中所描述的实施例和功能可经由多个计算系统操作,这些计算系统包括而不限于台式计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板或板式计算机、笔记本计算机、以及膝上型计算机)、手持设备、多处理器系统、基于微处理器或可编程消费性电子设备、小型计算机、以及大型计算机。

另外,本文中所描述的实施例和功能可在分布式系统(例如,基于云的计算系统)上操作,其中应用功能、存储器、数据存储和检索、以及各种处理功能可在分布式计算网络(诸如因特网或内联网)上彼此远程地操作。各种类型的用户界面和信息可经由板上计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元显示。例如,各种类型的用户界面和信息可显示并且在各种类型的用户界面和信息在其上投影的墙面上交互。与通过其可实践本发明的实施例的多个计算系统的交互包括按键输入、触摸屏输入、语音或其它音频输入、其中相关联的计算设备配备有用于捕捉和解释用户手势以控制计算设备的功能的检测(例如,相机)功能的手势输入等等。

图4-6及相关联的描述提供了其中可实施本发明的各实施例的各种操作环境的讨论。然而,关于图4-6所示出和讨论的设备和系统是用于示例和说明的目的,而非对可被用于实施本文所述的本发明的各实施例的大量计算设备配置的限制。

图4是示出可用来实施本发明的各实施例的计算设备400的物理组件(即硬件)的框图。下面描述的计算设备组件可适用于上述的计算设备110、115、145。在基本配置中,计算设备400可包括至少一个处理单元402以及系统存储器404。取决于计算设备的配置和类型,系统存储器404可包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪存、或者此类存储器的任何组合。系统存储器404可包括操作系统405和适合于运行软件应用450的一个或多个程序模块406。例如,操作系统405可适合于控制计算设备400的操作。此外,可结合图形库、其它操作系统、或者任何其它应用程序来实践本发明的实施例,并且这些实施例不限于任何特定的应用或系统。该基本配置在图4中由虚线408内的那些组件示出。计算设备400可具有附加特征或功能。例如,计算设备400也可以包括附加的数据存储设备(可移动和/或不可移动),诸如磁盘、光盘或带。这些附加存储在图4中由可移动存储设备409和不可移动存储设备410示出。

如上所声明的,大量程序模块和数据文件可被存储在系统存储器404中。尽管在处理单元402上执行,但是程序模块406可执行包括但不限于图3中所例示的例程300的各阶段中的一个或多个阶段的过程。根据本发明的实施例可使用的其他程序模块可包括应用,诸如电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用等。

此外,可在电气电路中实践本发明的实施例,该电气电路包括离散电子元件、包含逻辑门的封装或集成电子芯片、利用微处理器或者在包含电子元件或微处理器的单个芯片上的电路。例如,可以通过片上系统(soc)来实施本发明的各实施例,其中,可以将图4中示出的每个或许多组件集成到单个集成电路上。此类soc设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元、以及各种应用功能,所有这些单元被集成(或“烧制”)到芯片基板上,作为单个集成电路。当通过soc操作时,在此相对于提供跨多个工作负载的活动流描述的功能可以通过在单个集成电路(芯片)上集成有计算设备/系统400的其它组件的专用逻辑来操作。还可使用能够执行逻辑操作(诸如举例而言,与、或、以及非)的其它技术来实践本发明的实施例,这些技术包括但不限于机械、光学、流体和量子技术。另外,可在通用计算机内或者在任何其它电路或系统中实践本发明的实施例。

计算设备400也可具有一个或多个输入设备412,如键盘、鼠标、笔、语音输入设备、触摸输入设备等等。也可包括(诸)输出设备414,如显示器、扬声器、打印机等等。前述设备是示例,并且可使用其它设备。计算设备400可包括允许与其它计算设备416通信的一个或多个通信连接418。合适的通信连接416的示例包括但不限于rf发射机、接收机、和/或收发机电路系统、通用串行总线(usb)、并行和/或串行端口。

如本文中所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可包括以用于存储信息(诸如计算机可读指令、数据结构、或者程序模块)的任何方法和技术实现的易失性和非易失性、可移除和不可移除介质。系统存储器404、可移动存储设备409、以及不可移动存储设备410都是计算机存储介质示例(即,存储器存储)。计算机存储介质可包括ram、rom、电可擦除只读存储器(eeprom)、闪存或其它存储器技术、cd-rom、数字多功能盘(dvd)或其它光学存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或者可用于存储信息且可由计算设备400访问的任何其它制品。任何此类计算机存储介质可以是计算设备400的一部分。计算机存储介质不包括载波或者其它经传播或经调制的数据信号。

通信介质可通过计算机可读指令、数据结构、程序模块、或者经调制的数据信号(诸如载波或者其他传送机制)中的其他数据体现,并且包括任何信息传递介质。术语“经调制的数据信号”可描述具有以对该信号中的信息进行编码的方式设置或改变的一个或多个特性的信号。通过示例而非限制,通信介质可包括诸如有线网络或直接有线连接之类的有线介质、以及诸如声、射频(rf)、红外和其它无线介质之类的无线介质。

图5a和5b示出可用来实施本发明的各实施例的移动计算环境500,例如移动电话、智能电话、平板个人计算机、膝上型计算机等。参考图5a,示出了用于实现各实施例的移动计算设备500的一个实施例。在基本配置中,移动计算设备500是具有输入元件和输出元件两者的手持计算机。移动计算设备500通常包括显示器505以及允许用户将信息输入移动计算设备500的一个或多个输入按钮510。移动计算设备500的显示器505还可用作输入设备(例如,触摸屏显示器)。如果被包括在内,任选的侧输入元件515允许进一步的用户输入。侧输入元件515可以是旋转开关、按钮、或者任何其它类型的手动输入元件。在替代实施例中,移动计算设备500可结合更多或更少的输入元件。例如,在一些实施例中,显示器505可以不是触摸屏。在又一替换实施例中,移动计算设备500是便携式电话系统,诸如蜂窝电话。移动计算设备500还可包括任选的小键盘535。任选的小键盘535可以是物理小键盘或者在触摸屏显示器上生成的“软”小键盘。在各个实施例中,输出元件包括用于显示图形用户界面(gui)的显示器505、可视指示器520(如发光二极管)、和/或音频换能器525(如扬声器)。在一些实施例中,移动计算设备500合并用于向用户提供触觉反馈的振动换能器。在又一实施例中,移动计算设备500结合诸如音频输入(如传声器插孔)、音频输出(如耳机插孔)、以及视频输出(如hdmi端口)之类的外围设备端口540,用于将信号发送到外部设备或从外部设备接收信号。

图5b是示出移动计算设备的一个实施例的架构的框图。即,移动计算设备500可结合一系统(即架构)502以实现某些实施例。在一个实施例中,系统502被实现为能够运行一个或多个应用(如浏览器、电子邮件、日历、联系人管理器、消息收发客户端、游戏、以及媒体客户端/播放器)的“智能手机”。在一些实施例中,系统502被集成为计算设备,诸如集成个人数字助理(pda)和无线电话。

一个或多个应用程序550可被加载到存储器562中,并且在操作系统564上或者与其相关联地运行。应用程序的示例包括电话拨号程序、电子通信应用、个人信息管理(pim)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息通信程序等等。系统502还包括存储器562内的非易失性存储区域568。非易失性存储区域568可被用于存储持久性信息,如果系统502断电,该持久性信息则不会丢失。应用程序550可使用和存储非易失性存储区域568中的信息,诸如电子邮件应用所使用的电子邮件或其他消息等。同步应用(未示出)还驻留在系统502上,并且被编程为与驻留在主机计算机上的相应同步应用交互以使存储在非易失性存储区域568中的信息保持与存储在主机计算机的相应信息同步。如应当理解的,其他应用也可被加载到存储器562并在移动计算设备500上运行。

系统502具有可被实现为一个或多个电池的电源570。电源570可能进一步包括外部电源,诸如补充电池或对电池再充电的ac适配器或供电底座(powereddockingcradle)。

系统502还可包括执行发射和接收无线电频率通信的功能的无线电572。经由通信载体或服务供应者,无线电572促进系统502和“外部世界”之间的无线连接。在操作系统564的控制下进行与无线电572之间的传输。换句话说,可经由操作系统564将无线电572接收到的通信散布到应用程序550,反之亦然。

可以使用视觉指示器520来提供视觉通知和/或可以使用音频接口574来通过音频换能器525产生可听通知。在所解说的实施例中,视觉指示器520是发光二极管(led)而音频换能器525是扬声器。这些设备可直接耦合到电源570以使它们在激活时保持开启达通知机制所陈述的持续时间,即使处理器560以及其他组件可能关闭以节约电池电量。led可被编程为无限地保持开启,直至用户采取措施来指示该设备的开启状态。音频接口574用于向用户提供听得见的信号且接收来自用户的听得见的信号。例如,除了耦合到音频换能器525以外,音频接口574还可耦合到话筒以接收听得见的输入,诸如促进电话交谈。根据本发明的实施例,话筒还可用作音频传感器以促进对通知的控制,如将在下文中所描述的。系统502可进一步包括允许板载相机530的操作来记录静止图像、视频流等的视频接口576。

实现系统502的移动计算设备500可具有附加特征或功能。例如,移动计算设备500还可包括附加数据存储设备(可移除和/或不可移除),诸如磁盘、光盘或带。这种附加存储设备在图5b中用非易失性存储区568示出。

由移动计算设备500生成或捕捉的且经系统502存储的数据/信息可如上所述被本地存储在移动计算设备500上,或数据可被存储在可由设备通过无线电572或通过移动计算设备500和与移动计算设备500相关联的一分开的计算设备之间的有线连接访问的任何数量的存储介质上,该计算设备如例如因特网之类的分布式计算网络中的服务器计算机。如应当领会的,可经由移动计算设备500、经由无线电572、或者经由分布式计算网络访问此类数据/信息。类似地,可以在根据熟知的数据/信息转移和存储装置(包括电子邮件和协同数据/信息共享系统)的用于存储和使用的计算设备之间容易地转移此类数据/信息。

图6示出用于跨分布式计算环境的各组件来提供本文中描述的功能的系统的架构的一个实施例。与以上描述的应用相关联地进行开发、交互或编辑的内容可被存储在不同通信信道或其他存储类型中。例如,可使用目录服务622、web门户624、邮箱服务626、即时消息收发存储628、或者社交联网站点630来存储各种文档。如本文中描述的,应用450(例如,电子通信应用)可使用用于跨多个工作负载来提供本文中描述的功能的这些类型的系统中的任意。服务器615可将该功能提供到客户端605a-c和110。作为一个示例,服务器615可以是通过web提供本文中描述的应用功能的web服务器。服务器615可在web上通过网络125、610向客户端605a-c提供应用功能。作为示例,计算设备110可被实现并被具体化在个人计算机605a、平板计算设备605b和/或移动计算设备605c(例如智能电话)、或其他计算设备中。客户端计算设备的这些实施例中的任一个可从存储616获得内容。

例如,以上参考根据本发明的实施例的方法、系统和计算机程序产品的框图和/或操作解说来描述本发明的实施例。框图中所注释的功能/动作可以不按照如任一流程图中所示的次序发生。例如,连续示出的两个框实际上可基本并发地执行,或者取决于所涉及的功能/动作,这些框有时可以相反的次序执行。

本申请中所提供的一个或多个实施例的描述和解说并非旨在限制或限定如以任何方式要求保护的本发明的范围。本申请中所提供的实施例、示例和细节被认为足以传达占有且使其它人能够得到和使用要求保护的发明的最佳模式。要求保护的发明不应当被解释为限于本申请中所提供的任一实施例、示例或细节。不管是组合还是单独地示出和描述,各个(结构和方法)特征旨在选择性地包括或省略以产生具有一组特定特征的实施例。已经提供有本申请的描述和解说,本领域技术人员可设想落入在不背离要求保护的发明的更宽范围的本申请中体现的一般发明性概念的更宽泛方面的精神的变体、修改、以及替换实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1