CN106796587B - 用于验证分析结果的方法和系统 - Google Patents
用于验证分析结果的方法和系统 Download PDFInfo
- Publication number
- CN106796587B CN106796587B CN201480079737.5A CN201480079737A CN106796587B CN 106796587 B CN106796587 B CN 106796587B CN 201480079737 A CN201480079737 A CN 201480079737A CN 106796587 B CN106796587 B CN 106796587B
- Authority
- CN
- China
- Prior art keywords
- subset
- outputs
- output
- analytics
- original
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000004458 analytical method Methods 0.000 title claims abstract description 76
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000004590 computer program Methods 0.000 claims abstract description 14
- 238000012795 verification Methods 0.000 claims description 72
- 230000008569 process Effects 0.000 claims description 70
- 238000013515 script Methods 0.000 claims description 32
- 238000012360 testing method Methods 0.000 claims description 29
- 238000010200 validation analysis Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 6
- 239000000126 substance Substances 0.000 claims 3
- 239000012530 fluid Substances 0.000 claims 1
- 230000009471 action Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1487—Generic software techniques for error detection or fault masking using N-version programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Abstract
用于验证分析结果的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。所述方法中的一种方法包括处理数据集的子集并且轮询分析系统以获得相应的输出子集,并且比较所述两个子集以验证分析系统。
Description
技术领域
本说明书涉及云计算。
背景技术
在云计算中,数据可以被分发到由一个或多个通信网络连接的多个计算机的系统。每个计算机可以托管一个或多个服务器,每个服务器处理数据的一部分。服务器可以并行处理数据。这样的分布式系统可以处理在虚拟化环境中部署的面向web和数据密集型应用。云计算系统可用于执行大数据分析过程。大数据分析过程可以包括检查各种类型的大量数据以确定模式、相关性和其他类型的信息。可以从各种源收集数据,例如,web服务器日志、点击流数据、财务数据、社交媒体活动报告和结构化数据库。
发明内容
本说明书描述了用于在分布式计算系统上执行的分析系统的验证引擎。验证引擎处理数据集的子集,并轮询分析系统以获得相应的输出子集,并比较两个子集以验证分析系统。这有助于在无需验证分析系统的整个输出集的情况下验证分析系统。例如,开始使用新的分析系统或者向分析系统提供新类型的数据的组织可以使用该验证引擎。
一般来说,本说明书中描述的主题的一个创新方面可以体现在包括以下动作的方法中:接收对被配置为在包括多个物理计算机的分布式计算系统上执行的分析过程的验证的请求;接收数据集的原始子集;处理所述数据集的所述原始子集以生成第一输出子集,包括执行指定所述分析过程的表示的测试脚本,并将所述原始子集作为输入提供给所述测试脚本;从正对所述数据集执行所述分析过程的所述分布式计算系统接收第二输出子集,所述第二输出子集是在所述分布式计算系统上执行的所述分析过程的输出的一部分,所述第二输出子集是由所述分布式计算系统处理所述原始子集而产生的;将所述第一输出子集与所述第二输出子集进行比较;以及在所述分布式计算系统对所述整个数据集完成所述分析过程的执行之前,输出基于将所述第一输出子集与所述第二输出子集进行比较的验证结果。该方面的其他实施例包括记录在一个或多个计算机存储设备上的对应的计算机系统、装置和计算机程序,每个被配置为执行所述方法的动作。对于要被配置为执行特定操作或动作的一个或多个计算机的系统意味着系统已经在其上安装了在操作中导致系统执行所述操作或动作的软件、固件、硬件或它们的组合。对于要被配置为执行特定操作或动作的一个或多个计算机程序意味着一个或多个程序包括当由数据处理装置执行时使得装置执行所述操作或动作的指令。
前述和其他实施例可以各自可选地单独或组合地包括以下特征中的一个或多个。测试脚本用R编程语言编写。接收所述第二输出子集包括使用利用RESTful API实现的异步回调函数来轮询所述分析系统,所述方法包括与处理所述原始子集并行地轮询所述分析系统。所述第一输出子集包括第一多个数据元素,并且所述第二输出子集包括第二多个数据元素,并且其中将所述第一输出子集与所述第二输出子集进行比较包括:将在所述第一多个数据元素中的每个元素与在所述第二多个数据元素中的对应数据元素相比较。动作包括确定所述第一多个元素中的与所述第二多个元素中的对应元素大约相等的元素的数量,其中输出所述验证结果包括:如果所述元素的数量高于或等于阈值则输出肯定验证结果,并且如果元素的数量低于阈值,则输出否定验证结果。接收所述原始子集包括从客户计算机系统接收所述原始子集,其中所述客户计算机系统向所述分析系统提供所述数据集,并且所述分析系统将所述输出提供给所述客户计算机系统;以及输出验证结果包括将验证结果输出到客户计算机系统。所述测试脚本指定用于从所述分析系统请求由所述分析系统处理所述原始子集所产生的所述分析系统的输出的所述部分的过程。用于请求由所述分析系统处理所述原始子集产生的所述分析系统的输出的所述部分的过程包括对所述分析系统的API调用,以通过指定表征所述原始子集的数据来请求所述第二输出子集。
可以实现本说明书中描述的本主题的特定实施例以实现一个或多个优点。验证引擎可以为在分布式计算系统上执行的分析系统输出验证结果。验证引擎可以在比验证整个数据集所需的时间少的时间内产生验证结果。验证引擎可以与各种分析系统一起使用,例如,可以提供RESTful(表示状态传输)API(应用编程接口)的任何分析系统。
在附图和下面的描述中阐述了本说明书中描述的主题的一个或多个实施例的细节。根据描述、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1是示例计算系统的框图。
图2是示例验证引擎的框图。
图3是由图1的验证引擎执行的示例过程的流程图。
图4是由图1的比较器和阈值测试器执行的示例过程的流程图。
各个附图中相同的附图标记和标记指示相同的元件。
具体实施方式
图1是示例计算系统100的框图。该系统包括由数据通信网络108连接的客户系统102、验证系统104和分析系统106。每个系统可以包括通过一个或多个通信网络连接的一个或多个计算机。每个计算机可以被实现为物理计算机或者在物理计算机的虚拟机上运行的软件。
客户系统将数据集存储在数据存储系统110上。数据存储系统可以是分布式文件系统,其可以包括非易失性大容量存储器,例如闪存或磁盘存储器。数据集可以是文件、文件集合、数据库或以任何其他方式组织的数据集合。数据集可以包括从各种源收集的各种类型的数据。例如,数据集可以包括web服务器日志、由社交网络系统报告的数据、银行交易数据、保健数据和体育统计数据等。数据集可以存储在任何适当的数据存储结构中,例如关系数据库或专用XML存储器等。
客户系统使用分析系统来使用由分析系统执行的分析引擎112对数据集执行分析过程。在一些实施方式中,客户系统和分析系统两者均是同一分布式计算系统的一部分。客户系统例如通过使数据集通过网络对分析系统可用使得分析系统可以根据分析过程的需要请求数据而将数据集传送到分析系统。
分析过程可以是各种类型的分析过程中的任何一种,例如搜索模式、确定数据集的子集之间的相关性以及计算表征数据集的统计量。分析系统通常使用并行的分布式过程来执行分析过程,例如通过使用使用Apache Hadoop实现的MapReduce。分析过程的结果是分析输出,其可以是例如另一数据集或一个或多个图表或其他数据可视物等。
客户系统使用验证系统来使用验证引擎114验证分析过程。验证引擎处理数据集的子集并且轮询分析引擎以获得对应的输出子集,并且比较两个子集以验证分析引擎。这对于例如在不必验证来自分析引擎的整个输出集的情况下验证分析引擎是有用的,或者对以比分析引擎产生整个输出集更少的时间来验证分析引擎是有用的。
验证引擎可以从客户系统接收数据集的子集。验证引擎使用与分析引擎相同的过程或者产生相同结果的过程来处理子集。例如,验证引擎可以在单个计算系统中执行该过程,消除了对与分析引擎所使用的并行、分布式过程相关联的开销的需要。
验证引擎从分析系统接收输出子集。在一些实施方式中,验证引擎使用使用RESTful API实现的异步回调函数来轮询分析系统。系统可以与处理从客户系统接收的数据集的子集并行地轮询分析系统。
图2是示例验证引擎200的框图。验证引擎可以用在图1的验证系统104中。
验证引擎从客户系统(例如,图1的客户系统102)接收数据集的原始子集。原始子集是尚未处理的数据集的某些部分。验证引擎还从分析系统(例如,图1的分析系统106)接收输出子集。输出子集是通过分析系统根据分析过程处理整个数据集产生的、分析系统的输出的一部分。
输出子集对应于与原始子集相同的数据集部分,因为输出子集是分析系统处理原始子集的结果。例如,如果原始子集是来自表的多个列,则输出子集是使用分析过程处理这些列产生的分析输出。
在一些实施方式中,验证引擎的操作取决于输出子集的内容仅取决于原始子集而不取决于整个数据集或数据集的大于原始子集的某些部分的假设。例如,如果分析系统正在计算累积统计,则输出子集可以取决于整个数据集,并且验证引擎可能不能仅使用数据集的原始子集来验证分析系统。
在一些实施方式中,如果分析系统作为执行分析过程的一部分对原始子集进行任何改变,则验证引擎可以更新原始子集。例如,当验证引擎接收到原始子集时,验证引擎可以对分析系统设置触发器,使得如果分析系统改变原始子集,则触发器使分析系统向验证引擎提供更新的原始子集。验证引擎可以使用分析系统的API设置触发器。在另一示例中,验证引擎可以周期性地轮询分析系统以请求对原始子集的任何更新。
在从分析系统接收更新的原始子集之后,验证引擎可以使用更新的原始子集重复验证过程以验证分析系统。虽然这可能会延迟验证引擎的最终验证输出,但验证过程仍然有益于在分析系统处理整个数据集之前识别问题。
验证引擎包括使用原始子集执行分析过程的分析模拟器202。分析模拟器可以使用指定分析过程的测试脚本。分析模拟器可以从例如客户系统或分析系统接收测试脚本。测试脚本可以是以R编程语言编写的脚本,在这种情况下,分析模拟器可以使用原始子集作为对于测试脚本的输入来执行测试脚本。
在一些实施方式中,测试脚本还指定验证引擎将使用数据集的哪个部分作为原始子集以及如何从分析系统请求相应的输出子集。例如,测试脚本可以指定对分析系统的API调用,以通过指定表征原始子集的数据来请求输出子集。Pivotal One中的PivotalAnalytics服务提供了一些可以增强R语言功能的API。
验证引擎包括比较器204,其比较来自分析系统的输出子集与分析模拟器的输出。例如,比较器可以检查子集内的各个数据点,并确定它们是否相等或相差小于阈值。在一些情况下,来自分析系统的输出子集和分析模拟器的输出可以是不同的数据格式,例如一个可以是JSON格式而另一个可以是CSV格式,或者一个可以是JSON格式而另一个可以是XML格式。比较器可以将子集中的一个或两个均转换为通用格式,或者比较器可以在执行比较的同时在不同格式之间进行即时(on-the-fly)转换。下面参照图3和图4进一步讨论比较数据点。
验证引擎包括阈值测试器206,其确定输出子集的比较是否足以指示肯定验证结果。阈值测试器产生取决于比较结果的肯定或否定的验证结果。例如,如果输出子集仅在一定数量的数据元素中不同于分析模拟器的输出,并且数据元素的数量小于阈值,则阈值测试器可以输出肯定的确认结果。
客户系统可以使用验证结果来验证分析系统。如果验证结果是否定的,则这可以在分析系统完成对整个数据集的分析过程(这可能是耗时且昂贵的操作)之前,指示分析系统可能没有被正确地安装或正确地执行。
图3是由图2的验证引擎200执行的示例过程300的流程图。验证引擎接收数据集的原始子集(302)。验证引擎处理原始子集以生成第一输出子集(304)。验证引擎从正在处理数据集的分析系统接收第二输出子集(306)。第二个输出子集在数据集中对应于原始子集。验证引擎将第一输出子集与第二输出子集进行比较(308)。验证引擎基于将第一输出子集与第二输出子集进行比较来输出验证结果(310)。
图4是由图2的比较器204和阈值测试器206执行的示例过程400的流程图。比较器选择第一输出子集的元素(402)。比较器将选择的元素与第二输出子集的对应元素进行比较(404)。相应的元素例如在表中的相同行和列处,或嵌套到分层数据结构中的相同位置。如果元素相同(406)或者相差仅一个阈值量,则比较器递增计数器(408)。如果存在更多元素(410),则比较器对剩余元素或一定数量的元素重复该过程。
阈值测试器确定在增加的计数器和每个输出子集中的元素的总数之间的差。如果差值大于阈值(412),则阈值测试器输出肯定确认结果(414)。否则,阈值测试器输出否定验证结果(416)。这对于不能保证100%输出精度的很大数据处理非常有用。
在本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在计算机硬件(包括在本说明书中公开的结构及其结构等同物)或者在它们的一个或多个的组合中实现。在本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,编码在有形非暂时性程序载体上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。替选地或另外地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,其被生成以编码信息以用于传输到合适的接收机装置,以由数据处理设备执行。计算机存储介质可以是机器可读存储设备、机器可读存储基体、随机或串行存取存储器设备、或它们中的一个或多个的组合。
术语“数据处理装置”是指数据处理硬件,并且包括用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。该装置还可以是或进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之外,该装置可以可选地包括创建用于计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或它们的一个或多个的组合的代码。
计算机程序(也可被称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言、或者声明性或过程性语言,并且其可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适于在计算环境中使用的其他单元。计算机程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如存储在标记语言文档中、在专用于所述程序的单个文件中或在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中的一个或多个脚本。计算机程序可以被部署为在一个计算机上或在位于一个地点或分布在多个地点并通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))来执行,并且装置也可以实现为所述专用逻辑电路。
适合于执行计算机程序的计算机以示例的形式包括可以基于通用或专用微处理器或两者或任何其它类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或实施指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘),或者可操作地耦合以从所述大容量存储设备接收数据或向其传送数据,或两者。然而,计算机不需要具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪存驱动器,此处仅举几个例子。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为对任何发明的范围或对所要求保护内容的范围的限制,而是作为对特定发明的特定实施例所特有的特征的描述。在本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合地实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分别地实现或以任何合适的子组合来实现。此外,虽然可以在上文将特征描述为在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从组合中删除,并且所要求保护的组合可以涉及子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为为了实现期望的结果,要求这些操作以所示的特定次序或以顺序次序执行,或者所有所示的操作被执行。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
因此,已经描述了本主题的特定实施例。其他实施例在所附权利要求的范围内。例如,在科学论文的上下文中描述本主题。本主题可以应用于向搜索添加深度方面的其他索引工作。在一些情况下,权利要求中所述的动作可以以不同的次序执行并且仍然实现期望的结果。另外,附图中描绘的过程不一定需要所示的特定次序或顺序的次序,以实现期望的结果。在某些实施方式中,多任务和并行处理可以是有利的。
Claims (24)
1.一种用于验证分析结果的计算机实现的方法,所述方法包括:
接收对被配置为在分析系统上执行的分析过程的验证的请求,所述分析系统在包括多个物理计算机的分布式计算系统上执行;
接收数据集的原始子集;
处理所述数据集的所述原始子集以致生成第一输出子集,所述处理包括执行指定所述分析过程的表示的测试脚本、并且将所述原始子集作为输入提供给所述测试脚本;
从正对所述数据集执行所述分析过程的所述分布式计算系统接收第二输出子集,所述第二输出子集是在所述分布式计算系统上执行的所述分析过程的输出的一部分,所述第二输出子集是由所述分布式计算系统处理所述原始子集而产生的;
将所述第一输出子集与所述第二输出子集进行比较;以及
在所述分布式计算系统对整个所述数据集完成所述分析过程的执行之前,输出基于将所述第一输出子集与所述第二输出子集进行比较的验证结果,
其中,
所述测试脚本是由分析模拟器来被执行的,所述测试脚本的执行包括:
对于由分布的分析过程对所述数据集的被输入的原始子集要进行的分布操作进行模拟,以生成模拟的输出子集,所述模拟的输出子集是在对输入的所述原始子集进行了所述操作之后由分布的所述分析过程所生成的预期的输出。
2.根据权利要求1所述的方法,其中,
所述测试脚本是以R编程语言编写的。
3.根据权利要求1所述的方法,其中,
接收所述第二输出子集包括:使用利用RESTful API实现的异步回调函数来轮询所述分析系统,所述方法包括与处理所述原始子集并行地轮询所述分析系统。
4.根据权利要求1所述的方法,
其中,所述第一输出子集包括第一多个数据元素,并且所述第二输出子集包括第二多个数据元素,并且,
其中,将所述第一输出子集与所述第二输出子集进行比较包括:将在所述第一多个数据元素中的每个数据元素与在所述第二多个数据元素中的对应数据元素相比较。
5.根据权利要求4所述的方法,包括:
确定所述第一多个数据元素中的、与所述第二多个数据元素中的对应元素相等的元素的数量,
其中,输出所述验证结果包括:如果所述元素的数量高于或等于阈值则输出肯定验证结果,并且如果所述元素的数量低于所述阈值则输出否定验证结果。
6.根据权利要求1所述的方法,其中:
接收所述原始子集包括:从客户计算机系统接收所述原始子集,其中,所述客户计算机系统将所述数据集提供给所述分析系统,并且所述分析系统将所述输出提供给所述客户计算机系统;以及
输出所述验证结果包括:将所述验证结果输出到所述客户计算机系统。
7.根据权利要求1所述的方法,其中,
所述测试脚本指定请求过程,该过程用于从所述分析系统来请求所述分析系统的所述输出中的、由所述分析系统处理所述原始子集所产生的部分。
8.根据权利要求7所述的方法,其中,用于请求所述分析系统的所述输出中的、由所述分析系统处理所述原始子集所产生的部分的所述过程包括:
对所述分析系统的API调用,以通过指定表征所述原始子集的数据来请求所述第二输出子集。
9.一种用于验证分析结果的系统,具有在其上执行的分析系统,所述系统包括被配置为执行操作的一个或多个物理计算机,所述操作包括:
接收对被配置为在包括多个物理计算机的分布式计算系统上执行的分析过程的验证的请求;
接收数据集的原始子集;
处理所述数据集的所述原始子集以致生成第一输出子集,所述处理包括执行指定所述分析过程的表示的测试脚本、并且将所述原始子集作为输入提供给所述测试脚本;
从正对所述数据集执行所述分析过程的所述分布式计算系统接收第二输出子集,所述第二输出子集是在所述分布式计算系统上执行的所述分析过程的输出的一部分,所述第二输出子集是由所述分布式计算系统处理所述原始子集而产生的;
将所述第一输出子集与所述第二输出子集进行比较;以及
在所述分布式计算系统对整个所述数据集完成所述分析过程的执行之前,输出基于将所述第一输出子集与所述第二输出子集进行比较的验证结果,
其中,
所述测试脚本是由分析模拟器来被执行的,所述测试脚本的执行包括:
对于由分布的分析过程对所述数据集的被输入的原始子集要进行的分布操作进行模拟,以生成模拟的输出子集,所述模拟的输出子集是在对输入的所述原始子集进行了所述操作之后由分布的所述分析过程所生成的预期的输出。
10.根据权利要求9所述的系统,其中,
所述测试脚本是以R编程语言编写的。
11.根据权利要求9所述的系统,其中,
接收所述第二输出子集包括:使用利用RESTful API实现的异步回调函数来轮询所述分析系统,所述操作包括与处理所述原始子集并行地轮询所述分析系统。
12.根据权利要求9所述的系统,
其中,所述第一输出子集包括第一多个数据元素,并且所述第二输出子集包括第二多个数据元素,并且
其中,将所述第一输出子集与所述第二输出子集进行比较包括:将在所述第一多个数据元素中的每个数据元素与在所述第二多个数据元素中的对应数据元素相比较。
13.根据权利要求12所述的系统,所述操作包括:
确定所述第一多个数据元素中的、与所述第二多个数据元素中的对应元素相等的元素的数量,
其中,输出所述验证结果包括:如果所述元素的数量高于或等于阈值则输出肯定验证结果,并且如果所述元素的数量低于所述阈值则输出否定验证结果。
14.根据权利要求9所述的系统,其中:
接收所述原始子集包括:从客户计算机系统接收所述原始子集,其中,所述客户计算机系统将所述数据集提供给所述分析系统,并且所述分析系统将所述输出提供给所述客户计算机系统;以及
输出所述验证结果包括:将所述验证结果输出到所述客户计算机系统。
15.根据权利要求9所述的系统,其中,
所述测试脚本指定请求过程,该过程用于从所述分析系统来请求所述分析系统的所述输出中的、由所述分析系统处理所述原始子集所产生的部分。
16.根据权利要求15所述的系统,其中,用于请求所述分析系统的所述输出中的、由所述分析系统处理所述原始子集所产生的部分的所述过程包括:
对所述分析系统的API调用,以通过指定表征所述原始子集的数据来请求所述第二输出子集。
17.一种用计算机程序编码的计算机存储介质,所述程序包括指令,该指令在当由多个物理计算机的分布式计算系统执行时使得所述分布式计算系统执行操作,所述分布式计算系统具有在其上执行的分析系统,所述操作包括:
接收对被配置为在包括多个物理计算机的分布式计算系统上执行的分析过程的验证的请求;
接收数据集的原始子集;
处理所述数据集的所述原始子集以致生成第一输出子集,所述处理包括执行指定所述分析过程的表示的测试脚本、并且将所述原始子集作为输入提供给所述测试脚本;
从正对所述数据集执行所述分析过程的所述分布式计算系统接收第二输出子集,所述第二输出子集是在所述分布式计算系统上执行的所述分析过程的输出的一部分,所述第二输出子集是由所述分布式计算系统处理原始子集而产生的;
将所述第一输出子集与所述第二输出子集进行比较;以及
在所述分布式计算系统对整个所述数据集完成所述分析过程的执行之前,输出基于将所述第一输出子集与所述第二输出子集进行比较的验证结果,
其中,
所述测试脚本是由分析模拟器来被执行的,所述测试脚本的执行包括:
对于由分布的分析过程对所述数据集的被输入的原始子集要进行的分布操作进行模拟,以生成模拟的输出子集,所述模拟的输出子集是在对输入的所述原始子集进行了所述操作之后由分布的所述分析过程所生成的预期的输出。
18.根据权利要求17所述的计算机存储介质,其中,
所述测试脚本是以R编程语言编写的。
19.根据权利要求17所述的计算机存储介质,其中,
接收所述第二输出子集包括:使用利用RESTful API实现的异步回调函数来轮询所述分析系统,所述操作包括与处理所述原始子集并行地轮询所述分析系统。
20.根据权利要求17所述的计算机存储介质,
其中,所述第一输出子集包括第一多个数据元素,并且所述第二输出子集包括第二多个数据元素,并且
其中,将所述第一输出子集与所述第二输出子集进行比较包括:将在所述第一多个数据元素中的每个数据元素与在所述第二多个数据元素中的对应数据元素相比较。
21.根据权利要求20所述的计算机存储介质,所述操作包括:
确定所述第一多个数据元素中的、与所述第二多个数据元素中的对应元素相等的元素的数量,
其中,输出所述验证结果包括:如果所述元素的所述数量高于或等于阈值则输出肯定验证结果,并且如果所述元素的所述数量低于所述阈值则输出否定验证结果。
22.根据权利要求17所述的计算机存储介质,其中:
接收所述原始子集包括:从客户计算机系统接收所述原始子集,其中,所述客户计算机系统将所述数据集提供给所述分析系统,并且所述分析系统将所述输出提供给所述客户计算机系统;以及
输出所述验证结果包括:将所述验证结果输出到所述客户计算机系统。
23.根据权利要求17所述的计算机存储介质,其中,
所述测试脚本指定请求过程,该过程用于从所述分析系统来请求所述分析系统的所述输出中的、由所述分析系统处理所述原始子集所产生的部分。
24.根据权利要求23所述的计算机存储介质,其中,用于请求所述分析系统的所述输出中的、由所述分析系统处理所述原始子集所产生的部分的所述过程包括:
对所述分析系统的API调用,以通过指定表征所述原始子集的数据来请求所述第二输出子集。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/076677 WO2015165112A1 (en) | 2014-04-30 | 2014-04-30 | Validating analytics results |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106796587A CN106796587A (zh) | 2017-05-31 |
CN106796587B true CN106796587B (zh) | 2020-11-13 |
Family
ID=54358063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480079737.5A Active CN106796587B (zh) | 2014-04-30 | 2014-04-30 | 用于验证分析结果的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160098442A1 (zh) |
EP (1) | EP3138019B1 (zh) |
CN (1) | CN106796587B (zh) |
WO (1) | WO2015165112A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10210231B2 (en) | 2015-08-06 | 2019-02-19 | International Business Machines Corporation | Optimal analytic workflow |
US20170140351A1 (en) * | 2015-11-18 | 2017-05-18 | Electronics And Telecommunications Research Institute | Big data distribution brokerage system using data verification and method thereof |
JP6620609B2 (ja) * | 2016-03-09 | 2019-12-18 | 富士通株式会社 | 分散処理実行管理プログラム、分散処理実行管理方法および分散処理実行管理装置 |
GB2572440B (en) * | 2018-03-29 | 2020-09-23 | Imagination Tech Ltd | Verifying a hardware design for a component that implements a permutation respecting function |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2270399B (en) * | 1992-09-05 | 1996-01-03 | Marconi Gec Ltd | Method of operating a distributed processor arrangement |
WO2002103292A1 (en) * | 2001-06-18 | 2002-12-27 | Innovative Solutions & Support, Inc. | Improved aircraft flat panel display system |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3621106C2 (de) * | 1986-06-24 | 1995-03-23 | Vdo Schindling | Verfahren zur ON-LINE-Verarbeitung gleicher Eingabegrößen mittels zweier Prozessoren |
AU742831B2 (en) * | 1997-09-04 | 2002-01-10 | British Telecommunications Public Limited Company | Methods and/or systems for selecting data sets |
US7631184B2 (en) * | 2002-05-14 | 2009-12-08 | Nicholas Ryan | System and method for imposing security on copies of secured items |
US7613950B2 (en) * | 2004-02-27 | 2009-11-03 | Hewlett-Packard Development Company, L.P. | Detecting floating point hardware failures |
FR2893431A1 (fr) * | 2005-11-16 | 2007-05-18 | St Microelectronics Sa | Composant integre securise et procede de securisation associe |
US8468172B2 (en) * | 2010-05-14 | 2013-06-18 | Sap Ag | Integrated application server and data server processes with matching data formats |
US8769138B2 (en) * | 2011-09-02 | 2014-07-01 | Compuverde Ab | Method for data retrieval from a distributed data storage system |
US9697016B2 (en) * | 2011-11-15 | 2017-07-04 | Microsoft Technology Licensing, Llc | Search augmented menu and configuration for computer applications |
US9235607B1 (en) * | 2012-03-29 | 2016-01-12 | Google Inc. | Specifying a predetermined degree of inconsistency for test data |
US8983987B2 (en) * | 2012-07-25 | 2015-03-17 | Cisco Technology, Inc. | System and method for a service metering framework in a network environment |
CN102915373B (zh) * | 2012-11-06 | 2016-08-10 | 无锡江南计算技术研究所 | 一种数据存储方法和装置 |
CN103312513B (zh) * | 2013-06-19 | 2016-03-02 | 北京华胜天成科技股份有限公司 | 分布式环境下验证使用授权的方法及系统 |
US9053112B2 (en) * | 2013-07-17 | 2015-06-09 | Bank Of America Corporation | Automated data validation |
US9218274B2 (en) * | 2014-01-22 | 2015-12-22 | Neopost Technologies | Automated form testing |
US10037366B2 (en) * | 2014-02-07 | 2018-07-31 | Microsoft Technology Licensing, Llc | End to end validation of data transformation accuracy |
US10380690B2 (en) * | 2015-05-21 | 2019-08-13 | Chicago Mercantile Exchange Inc. | Dataset cleansing |
-
2014
- 2014-04-30 WO PCT/CN2014/076677 patent/WO2015165112A1/en active Application Filing
- 2014-04-30 CN CN201480079737.5A patent/CN106796587B/zh active Active
- 2014-04-30 EP EP14890915.3A patent/EP3138019B1/en active Active
-
2015
- 2015-12-15 US US14/970,303 patent/US20160098442A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2270399B (en) * | 1992-09-05 | 1996-01-03 | Marconi Gec Ltd | Method of operating a distributed processor arrangement |
WO2002103292A1 (en) * | 2001-06-18 | 2002-12-27 | Innovative Solutions & Support, Inc. | Improved aircraft flat panel display system |
Also Published As
Publication number | Publication date |
---|---|
EP3138019A1 (en) | 2017-03-08 |
CN106796587A (zh) | 2017-05-31 |
WO2015165112A1 (en) | 2015-11-05 |
EP3138019A4 (en) | 2018-01-17 |
US20160098442A1 (en) | 2016-04-07 |
EP3138019B1 (en) | 2020-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11836577B2 (en) | Reinforcement learning model training through simulation | |
US11216302B2 (en) | Modifying task dependencies at worker nodes using precompiled libraries | |
EP3563243B1 (en) | Determining application test results using screenshot metadata | |
US11429762B2 (en) | Simulation orchestration for training reinforcement learning models | |
US11847480B2 (en) | System for detecting impairment issues of distributed hosts | |
US10025878B1 (en) | Data lineage analysis | |
US20210385251A1 (en) | System and methods for integrating datasets and automating transformation workflows using a distributed computational graph | |
KR101904436B1 (ko) | 깨진 네트워크 연결들의 기계 학습 기반 식별 | |
CN106796587B (zh) | 用于验证分析结果的方法和系统 | |
US10067860B2 (en) | Defining test bed requirements | |
US11546380B2 (en) | System and method for creation and implementation of data processing workflows using a distributed computational graph | |
CN109871311B (zh) | 一种推荐测试用例的方法和装置 | |
US20200068011A1 (en) | Block allocation based on server utilization | |
US9246688B1 (en) | Dataset licensing | |
CN109542757A (zh) | 接口测试环境确定方法、装置、电子设备及存储介质 | |
CN109614327B (zh) | 用于输出信息的方法和装置 | |
JP2017525072A (ja) | 組み込み可能なクラウド分析 | |
US10853359B1 (en) | Data log stream processing using probabilistic data structures | |
US11557005B2 (en) | Addressing propagation of inaccurate information in a social networking environment | |
CN104599092B (zh) | 用于监控订单业务的方法及设备 | |
US20200004905A1 (en) | System and methods for complex it process annotation, tracing, analysis, and simulation | |
CN109446054B (zh) | 基于大数据的越权操作请求的处理方法及终端设备 | |
US11003690B1 (en) | Aggregator systems for storage of data segments | |
US10749766B1 (en) | Archival datastore for aggregated metrics | |
TWI574169B (zh) | 解決方案搜尋系統之操作方法及解決方案搜尋系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: California, USA Patentee after: Pivotal Software, Inc. Country or region after: U.S.A. Address before: California, USA Patentee before: PIVOTAL SOFTWARE, Inc. Country or region before: U.S.A. |
|
CP03 | Change of name, title or address |