[发明专利]一种用于对输入数据进行采样的方法和系统有效
申请号: | 200910136950.6 | 申请日: | 2009-04-30 |
公开(公告)号: | CN101876934A | 公开(公告)日: | 2010-11-03 |
发明(设计)人: | 刘之育;邹耀;王华勇;侯锐;邹琼;王艳琦 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/38 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 吴立明;庞淑敏 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 输入 数据 进行 采样 方法 系统 | ||
技术领域
本发明涉及应用测试领域,更具体地涉及一种用于对输入数据进行采样的方法和系统。
背景技术
流处理是一种需要对海量数据进行实时处理的高性能计算模式,其具有实时性、输入数据量大等特点。采用流处理,可以一边接收来自数据源的输入数据,一边对已接收的数据进行处理,并且可以同时输出那些已经处理过的数据。借助于流处理技术,可以获得提高吞吐率、缩短响应时间以及减小系统的存储开销等方面的优势。
在现有技术中,流处理已经具有较为广泛的应用。例如,电子商业服务中的算法交易、射频识别(Radio Frequency Identification,RFID)事件处理应用、欺诈检测应用、处理监控应用、电信系统中基于位置的服务应用等,都是涉及到流处理的流应用。
与一般的应用不同,流应用通常是一种持续地、长期运行的应用。因此在流应用中出现错误且该错误仅仅影响到流应用的一部分时,通常期望在不停止整个流应用的情况下,对流应用中的算子(即,在流处理中用于对数据进行分析和处理的操作模块)进行调试。
然而,根据现有技术,操作模块在调试模式中运行时的速度比在在线运行模式中运行时的速度低得多。因此,难以在不影响流应用的情况下执行对特定算子的调试。
另外,在现有技术中,在进行测试时,主要依靠人工分析和经验来设计测试用例。对于经验不足的人员来讲,这并不容易。换句话说,测试用例的有效性很大程度上依赖于人工分析的能力和经验的水平。
对于除流应用之外的具有大量输入数据的其他应用,同样存在与上述类似的问题。
发明内容
有鉴于此,本发明提供了一种用于对输入数据进行采样的方法和系统,以便至少部分解决上面提到的问题。
根据本发明的一个方面,提供了一种用于对输入数据进行采样的方法。该方法可以包括:缓存输入数据;记录被缓存的输入数据在在线操作模块中的执行路径;判断被缓存的输入数据是否经过期望执行路径,并且响应于该被缓存的输入数据经过期望执行路径而将该被缓存的输入数据采样到数据集中。
根据本发明的另一方面,提供了一种用于对输入数据进行采样的系统,包括:缓存装置,用于缓存输入数据;记录装置,用于记录被缓存的输入数据在在线操作模块中的执行路径;以及采样装置,用于判断各被缓存的输入数据是否经过期望执行路径,并且响应于该被缓存的输入数据经过期望执行路径而将该被缓存的输入数据采样到数据集中。
通过本发明的方法和系统,可以基于执行路径对输入数据进行采样,进而自动形成例如可以用作测试集的数据集。因此,使得测试集的形成不再依赖于人工分析能力和经验水平,进而提高了工作效率,增加了测试集的有效性。此外,由于采样得到的测试集中的输入数据都是实际应用中的输入数据,因此更加符合实际应用的情况。另外,得到的测试集可以提供给该操作模块的离线版本以便进行调试,因此可以实现在不停止在线应用的情况下,对操作模块进行调试。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,在本发明的附图中,相同的标号表示相同或相似的部件。在附图中,
图1示出了根据本发明一个实施方式的用于对输入数据进行采样的方法的流程图;
图2示出了根据本发明的一个实施方式用于记录执行路径的方法的示意图;
图3示出了根据本发明的另一实施方式用于记录执行路径的方法的示意图;
图4示出了根据本发明的一个实施方式的用于对输入数据进行采样的系统的方框图;
图5示出了根据本发明的另一实施方式的用于对输入数据进行采样的系统的方框图;以及
图6示意性地示出了可以实现根据本发明的实施方式的计算设备的结构方框图。
具体实施方式
下面,将参考附图详细地描述本发明提供的用于对输入数据进行采样的方法和系统。
首先,将参考图1来描述根据本发明的用于对输入数据进行采样的方法。图1示出了根据本发明一个实施方式的用于对输入数据进行采样的方法的流程图。
如图1所示,在步骤101,针对在线运行的应用中的操作模块,记录输入数据的执行路径。
执行路径是输入数据在操作模块中被处理期间所经过的路径。在各操作模块中,通常存在各种分支点,诸如判断语、多分支语句、函数调用等,因此不同的输入数据在这些分支点可能会经过不同的分支。每个输入数据所经过的这些分支在整体上构成了输入数据的执行路径。
对输入数据的执行路径的记录可以通过若干方式来实现。下面将以示例性的方式描述几种实施方式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910136950.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:输入装置用的检查装置
- 下一篇:双翼攻兜船网
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置