首页> 中国专利> 用于通过在柱状数据结构中提供数据记录而确定规则的方法

用于通过在柱状数据结构中提供数据记录而确定规则的方法

摘要

本发明提供一种用于确定第一规则(401-407)的计算机实现的方法,其中每个第一规则包括源属性值对和目的属性值对。列式数据库包括多个(214;609)列式数据结构(109,110;225,226,227),每个列式数据结构与一个列属性(215-224)相关联并且包括一个或者多个列条目(235)。第一数据记录(213,230-234)被存储在所述列式数据库中。存在掩码数据结构(320-323),以及每个掩码数据结构具有与所述列式数据结构中的一个列式数据结构相同的结构。所述掩码数据结构包括一个或者多个第二属性值对。通过求交所述列式数据结构和所述掩码数据结构,选择第二数据记录作为所述第一数据记录的子集。选择列属性中的一个以及包含在与所述列属性相关联的所述列式数据结构中的一个值,作为所述目的属性值对。创建针对所述第二数据记录的每个第一属性值对的一个第二规则。针对每个第二规则而计算同现计数。选择一个或者多个所述第二规则作为所述第一规则。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-06-02

    未缴年费专利权终止 IPC(主分类):G06F17/30 专利号:ZL2012800248097 申请日:20120525 授权公告日:20160907

    专利权的终止

  • 2016-09-07

    授权

    授权

  • 2014-03-12

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20120525

    实质审查的生效

  • 2014-01-29

    公开

    公开

说明书

技术领域

本发明涉及数据挖掘领域,并且更具体地,涉及规则确定的领 域。

背景技术

数据挖掘是从大数据集提取模式(pattern)的过程。数据挖掘允 许从为数众多的数据提取知识,由于该数据的结构和/或数量,因而 该数据不适合于人类解译或者评估。数据挖掘中的一个问题在于, 非假设驱动的方案(non-hypothesis driven)倾向于较慢,并且由此 不能交互式使用。基于假设驱动的方案(例如,使用OLAP立方体) 典型地需要较少计算能力,但是受限于假设的存在和使用。然而, 通常,此类假设并非已知,而是作为数据挖掘的目标用于自动确定 似是而非的假设,并且用于进一步基于所述假设来执行向下钻取分 析。由于由非假设驱动的方案需要大量处理能力,针对实时地并且 交互式的非假设驱动的数据挖掘方案存在需求,要求其能够处理大 量数据。

US20100235335公开了一种支持高的吞吐量读取性能的提供列 存储数据库系统的方法。US20050278286公开了一种在构造用于过 滤数据库列的查询以及用于向用户显示经过滤的信息期间,提供数 据挖掘接口的方法。现有技术的列式数据库系统不能提供新候选规 则的交互式实时标识。例如,已知的列式数据库为Vertica、ParAccel、 Infobright、Sybase IQ等。

发明内容

本发明的实施方式的一个目的在于,提供一种用于自动确定规 则的改进的计算机实现的方法、数据处理系统和相应的计算机程序 产品。所述目的通过独立权利要求的主题而实现。在从属权利要求 中描述了实施方式的优势。

本发明的实施方式提供了一种适合于解决各种数据挖掘相关问 题的实时交互分析。例如,可以快速标识在制造场合中导致问题的 关键影响因素。可以标识共享给定行为的客户,并且可以标识并且 在未来分析中跳过对于所选择属性值并不显著的信息。

“面向列的数据库”或者“列式数据库”是存储其内容的数据 库,即,通过列而不是行来包括属性值配对的数据记录。数据库必 须将其二维表转换为一维的字节序列,以便将其数据内容写入至 RAM和/或硬盘驱动。面向行的数据库将行中的全部值序列化在一 起,继而处理下一行中的值,以此类推。相比于面向行的数据库, 面向列的数据库将列的全部值以串行方式一起写入到存储器,继而 处理下一列的值,以此类推。如在此使用的“列式数据结构”是表 数据结构,其具有所指派的列特定的属性(也被称作“列属性”) 并且包括列条目的集合,由此每个列条目包括这样的数据值,该数 据值对于所述列式数据结构是唯一的并且已经被指派给一个或者多 个数据记录的相应“记录属性”。

在此使用的表达式“匹配属性值对”是指包括第一和第二属性 值对并且返回布尔值“真”或者“假”响应的任何表达式。例如, 此类比较可以包括:第一步,确定第一和第二属性值对是否相等; 并且可以包括第二步,另外确定第一属性值对的值是否等于第二属 性值的对。在所比较的第一和第二属性值对的属性以及值相等的情 况下,返回肯定的匹配结果“真”。依赖于实施方式,匹配属性值 对可以基于比特矢量的重叠或者其他数据结构。

“掩码(mask)数据结构”是与列式数据结构具有相同结构的 数据结构。掩码数据结构具有所指派的一个列式属性,并且可以包 括一个或者多个列条目,每个列条目包括数据值但没有计数信息。 通过将掩码数据结构与具有所指派相同列属性的列式数据结构求交 (intersect),可以确定包括匹配于掩码数据结构中所包括的值及其 特定列式属性的属性值对。

在此使用的术语“规则”涵盖包括源属性值对和目的属性值对 的数据结构。另外,规则可以包括指示源属性值与所评估数据集内 的目的属性值一起出现的频率的同现(cooccurrence)计数。包括同 现计数的规则由此可以指示特定属性值对,即源属性值对与感兴趣 的另一属性值对(即,目的属性值对)同现的频率如何。通过评估 数据记录集合来自动提取具有特定同现计数的规则的任务由此被认 为是用于提取相关属性值对的数据挖掘任务。

术语“机器可读介质”应当被认为包括单介质或者多介质(例 如,集中式的或者分布式数据库,和/或相关联的高速缓存与服务器), 其存储数据和/或计算机可解译的指令。术语“计算机可读非暂态存 储介质”由此应当被认为包括但不限于,固态存储器、光学和磁性 介质等,诸如但不限于包括软盘、光盘、CD-ROM、和磁光盘的任 何类型的磁盘、只读存储器(ROM)、随机访问存储器(RAM)、 可擦除可编程只读存储器(EPROM或者闪存)、光纤、磁性或者光 学卡、或者适合于存储电子指令的任何类型的介质。

数据挖掘中的典型任务是通过分析包括众多属性值对的数据记 录集,来确定指示存在特定目的属性值对的那些属性值对。例如, 公司的机器农场的操作员可能对确定全部影响因素(诸如,湿度、 温度、年龄、位置或者其他可能影响机器的生命期望的属性)感兴 趣。通常可以假定此类关系:可以通过分析从多个机器采集的数据 记录,而确定在特定属性值对(例如,“温度>50℃”)和特定目的 属性值对“生命期望<3年”之间是否可以找到统计关联。本发明的 实施方式允许弹性地并且交互地确定此类影响。当与诸如OLAP立 方体的假设驱动的数据挖掘方案结合时,本发明的实施方式提供高 度优越的数据挖掘方案,其允许在假设驱动的方案和非假设驱动的 方案之间按需动态切换。

在一个方面,本发明涉及一种用于确定第一规则的计算机实现 的方法,其中每个第一规则包括源属性值对和目的属性值对。该方 法包括如下步骤:

-提供列式数据库,所述列式数据库包括多个列式数据结构,每 个列式数据结构与一个列属性相关联并且包括一个或者多个列条 目,

-提供第一数据记录,所述第一数据记录存储在列式数据库中, 每个第一数据记录具有多个第一属性值对,其中每个所述第一属性 值对被存储在与相应列属性相关联的列式数据结构中的一个中,其 中每个列条目与相应列属性的一个值相关联并且包括计数信息,所 述计数信息指示具有相应第一属性值对的第一数据记录;

-提供掩码数据结构,每个掩码数据结构具有与列式数据结构中 的一个列式数据结构相同的结构,所述掩码数据结构包括一个或者 多个第二属性值对;

-通过求交所述列式数据结构和所述掩码数据结构,来选择第二 数据记录作为所述第一数据记录的子集,所述第二数据结构选择性 地包括第一数据记录,所述第一数据记录包括匹配于所述一个或者 多个第二属性值对的至少一个第一属性值对;

-选择所述列属性中的一个列属性以及包含在与所述列属性相 关联的列数据结构中的一个值作为目的属性值对;

-针对所述第二数据记录的每个第一属性值对来创建一规则,其 中所述第一属性值对被用于所述第二规则的源属性值,并且其中所 选择的目的属性值对被用作所述第二规则的所述目的属性值对,

-针对每个第二规则创建其相应源属性值对及其目的属性值对 之间的同现计数,以及

-独立于计算的所述同现计数,特定地选择所述第二规则中的一 个或者多个作为所述第一规则。

“目的属性值对”是规则的任何属性值对,用户对该规则感兴 趣、并且希望针对其来从多个数据记录自动提取预测性参数值。例 如,用户可以评估多个数据记录,该多个数据记录包括机器状态记 录并结合有多个环境参数,诸如温度、湿度、机器年龄、机器的操 作员等等。多个状态值(例如,“故障”和“可操作”)已经被记 录。通过选择属性值对“状态=故障”作为目的属性值对,根据本发 明的实施方式,用户可以触发这些属性值对的自动确定,在此也称 作“源属性值对”,其相关于(并且由此可以被假定认为导致)目 的属性值对(在此是机器故障)。例如,在发现温度明显超过30℃ 并且明确地相关于机器的故障状态,规则<<如果“温度>30℃”,则 “状态=故障”>>将被以规则的形式导出,该规则包括“状态=故障” 作为目的属性值对,并且“温度>30℃”作为源属性值对。

将将被分析的数据记录存储在列式数据结构中,并且将所述结 构与掩码数据结构进行求交,这是有益的,这是因为此方案开发了 列式数据结构的内部结构用于确定匹配于所述掩码数据结构的属性 值对的第一数据记录的交叉集合。这是特别有效的,因为用于确定 交叉数据结构的集合运算可以直接基于现有数据结构运算,而无需 执行转换步骤。根据某些基准(banchmarking)测试,用于处理在传 统关系数据库中组织的数据记录的时间被测量,以便从针对1百万 数据记录的20毫秒提高至针对3百万数据记录的85毫秒。相反, 观察到针对已经在列式数据结构中组织的3百万数据记录的处理时 间小于5毫秒。

例如,掩码数据结构可以包括列式数据结构,其具有被指派的 列式属性“状态”并且仅包括一个数据值“故障”。列式数据库包 括被存储至多个列式数据结构的多个数据记录。所述列式数据结构 中的一个列式数据结构已经指派了列属性“状态”,并且例如针对 状态“可操作”、“运行”、“故障”和“未知”具有多个不同的 列式数据条目。通过执行所述掩码数据结构与所述列式数据库的列 式数据结构的求交运算,可以高效地以选择性方式确定这些数据结 构,其中该数据结构已经指派了值“故障”。

表示列式数据结构中的数据记录是有益的,这是因为如果被存 储至关系数据库的表中,典型地被用于数据挖掘的大数据集不能被 保持在存储器中。由列式数据库所需的存储空间典型地是10-100倍 地小于由关系DBMS所需的空间。由于列式数据结构提供高度密集 形式的数据表示,它们允许将大数据集加载到工作存储器之中,因 而通过避免对硬盘的较慢读/写访问操作而节省了时间。根据某些实 现示例,具有50列(每个具有表示或者指向5百万数据记录的至少 50个不同列条目)的表,消耗仅大约1GB的存储器。根据此实施 方式,计数信息还可以由列条目的数据结构来内在地提供。

例如,计数信息可以是指示具有特定属性值对(例如,具有属 性“湿度”和值“20-30%”)的全部第一数据记录的数值。备选地, 计数信息可以包括包含所述属性值对的全部第一数据记录的标识符 集合。在此情况下,所述标识符集合的大小充当计数信息。

针对特定源和目的属性值对而计算的同现计数是一数值,该数 值指示包括源属性值对和目的属性值对两者的数值。同现计数类似 地可以是作为所述数字数据值的导出值(derivative)而计算的任何 数字。根据优选实施方式,同现计数是通过计算观察到的同现事件 和随机同现的源和目的属性值对的静态期望概率的比值来获得的。 例如,如果源属性值对在第一数据记录集合中具有40%的频率,并 且目的属性值对在所述第一数据记录的所述集合中具有35%的频 率,则所述源和目的属性值对的静态期望同现频率是0.4× 0.35=0.135=13.5%。同现计数在此情况下可以计算为,例如,作为所 观察到的同现频率和静态期望同现频率的比值。例如,在源属性值 对和目的属性值对被观察到在25%的全部第一数据记录中为一起同 现的情况下,同现计数cc可以计算为:

cc=(观察到的同现频率/静态期望的同现频率)=0.25/0.135=1.85

根据这一实施方式,各个静态测试可以被使用以从已经被观察 到的、包括所述源和目的属性值对的第一数据记录的数量,来计算 同现计数。在此类静态测试被用于计算同现计数的情况下,所述测 试可以另外提供置信度评分,用于指示结果的显著性,即,指示源 属性值对对于目的属性值对的出现频率具有影响的假设的可靠性。

根据实施方式,属性值对与一个目的属性值对的全部组合的全 部同现计数被呈现在第二规则中,并且通过开发所述列式数据结构 而同时地被计算,例如通过执行诸如对列式数据结构和掩码数据结 构的求交运算的集合运算而进行。通过求交掩码数据结构和列式数 据结构,计数信息可以被确定,并且第二数据记录可以被同时地选 择。

根据实施方式,特定的选择一个或者多个所述第二规则包括, 从包括如下的组中进行选择的步骤:

-按照降序根据其同现计数来排序所述第二规则,并且选择所述 第一n个排序的第二规则作为n个第一规则,其中n是>0的整数;

-确定具有超过第一阈值的同现计数的n个第二规则,并且选择 所述n个第二规则作为第一规则,其中n是>0的整数;

-针对每个第二规则计算同现统计,提供用于每个第二规则的显 著性评分,并且选择具有显著性评分超过第二阈值的所述第二规则 中的n个,其中n是>0的整数;

根据实施方式,同现统计是基于卡方(chi-square)测试、T测 试或者Fisher精确测试、或者任何其他相关的统计测试。

根据某些实施方式,针对同现统计而应用的每个规则具有指派 的置信度值,该置信度值通过如下方式来确定,例如通过计算包括 特定源属性值对的第一数据记录并结合特定规则的目的属性值对的 第一数据结构的片段、以及包括所述特定源属性值对的第一数据记 录的片段,来进行。置信度值的详细计算依赖于单独的统计测试。 如果置信度高于阈值,则规则被认为是显著的,其中所述阈值可以 依赖于使用的统计测试。

根据实施方式,规则选择有效地允许自动确定针对目的属性值 对的出现而具有最高影响和/或具有最高预测值的那些属性值对。

根据某些实施方式,执行剪枝(prune)步骤以便减少必须被创 建的同现计数的第二规则的数量。在此使用的术语“剪枝”涵盖自 动确定其中对于目的属性值对的存在不具有影响的列式数据结构以 及相应的列属性,由此所述确定不是基于计算在源属性值对和所述 目的属性值对之间的同现计数。例如,如果应用剪枝,则从进一步 的数据分析步骤中被自动地排除针对每个唯一数据值仅包括一个单 一记录ID的列式数据结构,这是因为记录ID的分布暗示对应于所 述列式数据结构结构的列属性,例如,“机器ID”对于目的属性值 对的存在不具有影响。

剪枝可以暗示从数据分析中排除全部属性值对,如果其评估可 以是自动的并且不必计算同现计数确定为不适合确定对目的属性值 对的出现具有影响的源属性值对。例如,相比于目的属性值对的频 率而言,如果特定属性值对出现得相当频繁或者相当少见,则从此 信息中可以暗示所述属性值对不适合于作为目的属性值对的出现的 预测符。使用剪枝是有益的,因为可以通过使用对列式数据结构固 有的信息、并且在不执行附加成本显著的计算步骤的情况下,降低 生成的第二规则的数量。作为结果,可以避免针对多个属性值对的 同现计数的计算。生成的第二规则的数量被降低,并且随着其同现 计数必须被评估的同现计数的第二规则的数量的降低,从所述第二 规则选择第一规则的任务得以加速。依赖于实施方式以及数据集, 典型地,通过应用剪枝,属性值对的70%可以被排除作为针对源属 性值对(或者相应的第二规则)的候选。

根据实施方式,目的属性值对的选择借助于向用户显示的图形 化用户界面而实现。图形化用户界面包括一个或者多个第一GUI元 素,用于由用户从列式数据结构的全部可用列属性中选择一个或者 多个列属性。另外,该GUI包括一个或者多个第二GUI元素,用于 从具有所指派的所选择列属性的列式数据结构中选择一个或者多个 值,其中所选择的列属性以及所选择的值构成目的属性值对。

根据实施方式,第一和第二GUI元素通过分析列式数据结构的 数据内容和结构而被自动地确定。例如,分别包括针对属性“温度”、 “湿度”、“故障率”、和“操作员”的属性的第一数据记录的集 合可以被存储在列式数据结构的集合中,由此,数据记录的所述属 性中的每一个对应于列式数据结构的一个列属性。通过自动地评估 列式数据结构的全部列属性,针对每个特定列属性,具有相应标签 的GUI元素可以经由GUI来显示给用户。作为结果,用户能够选择 任何列属性作为目的属性。通过显示例如包括所选择列式数据结构 的唯一集合的下拉列表,用户被提供有选择一个特定值或者值范围 的方式,由此指定目的属性值对。通过分析列式数据结构的数据内 容和结构来自动确定第一和第二GUI元素是有益的,这是由于所述 特征提供了通用的GUI,该GUI可操作以将其内容动态地适配于底 层列式数据结构的结构,从而可以执行交互数据分析。

根据该实施方式,列式数据结构的列条目和掩码数据结构的列 条目可以基于各种数据结构类型,诸如例如,比特集、比特矢量、 经排序的列表或者经排序的阵列。这是有益的,因为通过将列值对 表示为例如比特阵列,每个数据记录被通过一个单一比特而表示, 并且全部集合运算可以被映射至比特水平的逻辑运算。

列条目是列式数据结构中的一行,该列式数据结构表示特定数 据值并且包括包含或者指向作为属性值对的列式数据结构的相应列 属性和数据值的全部第一数据记录的ID。比特矢量使用比特来表示 在特定列条目中引用的单独数据记录。集合运算可以针对比特矢量 来执行,例如通过比特矢量的重叠来执行。比特矢量由单一比特来 表示集合(在此是特定列条目的第一数据记录的每个ID)的每个可 能的元素。结果,例如并集或者差集的集合运算是简单的位运算, 其可以通过被编译为机器代码并且非常有效地运行。通过使用比特 模式,计数为“1”的比特数字还可以以更加快速的方式实现。

作为比特矢量的备选,还可以使用诸如经排序列表的允许快速 集合运算的其他数据结构。第一数据记录的每个ID在此被表示为经 排序的ID列表。在两个数据记录之间的和或者差可以通过顺序地遍 历两个列表并针对匹配记录ID条目的数量进行计数来实现。

根据实施方式,通过执行如下步骤来提供掩码数据结构:

-提供OLAP立方体用于执行全部第一数据记录的数据分析, OLAP立方体的每个维度和/或层级水平具有所指派的一个或者多个 第三属性值对;

-依赖于针对所述OLAP立方体执行的切片(slicing)、切块 (dicing)、旋转(pivoting)、向下钻取或者向上钻取事件,选择 所述OLAP立方体的当前维度和/或当前层级水平;以及

-自动地生成掩码数据结构,其中所述掩码数据结构包括作为所 述第二属性值对的所述当前层级水平和/或所述当前维度的所述第三 属性值对。

通过评估借助于OLAP立方体所选择数据记录的子集,来结合 第一规则的自动确定执行基于OLAP立方体的向下钻取分析,这是 有益的,因为这允许执行交互数据挖掘方法来利用假设驱动方法以 及非假设驱动方法两者的优势。其允许需要处理步骤(诸如针对规 则的同现得分的计算)的计算的大量并行化。本方法的实施方式的 运行时行为线性地并且非常缓慢地随着所分析数据记录的数量而增 长。

根据实施方式,图形化用户界面包括一个或者多个第三GUI元 素,用于触发针对所述OLAP立方体的切片、切块、旋转、向下钻 取或者向上钻取事件;和/或包括一个或者多个第四GUI元素,用于 选择和/或指定所述一个或者多个第三属性值对。

根据实施方式,所述第一规则以依赖于其同现计数的降序顺序, 在所述图形化用户界面上被呈现给所述用户。

根据实施方式,所述第一规则以依赖于其同现得分的降序顺序, 在所述图形化用户界面上被呈现给所述用户。一旦选择被呈现的所 述第一规则中的一个或者多个,所选择的所述第一规则的所述源属 性值对被指派为对于所述OLAP立方体的所述第三属性值对。这是 有益的,由于被认为相关的所述源属性(例如,因为相应的第二规 则已经指派了高的置信度得分)提供自动生成的假设,该假设可以 被用于执行基于OLAP立方体的、交互式的以及假设驱动的数据分 析。作为结果,用于自动确定第一规则的非假设驱动的方案可以被 用于创建用于随后的假设驱动的数据分析步骤的假设。

根据实施方式,提供的掩码数据结构进一步包括k个子集包装 (sub-set-bagging)的掩码数据结构,k为大于1的整数,

-其中所述第二数据记录的所述选择是通过如下来执行的:将k 个子集包装的掩码数据结构与所述列式数据结构以及与不是子集包 装的掩码数据结构的所述掩码数据结构中的任一项进行求交,由此 返回第二数据记录的k个子集,

-其中所述第二规则的所述创建包括第二规则的k个子集的所 述创建。第二规则的每个子集的所述创建是通过针对包含在第二数 据记录的所述子集中的全部第二数据记录的所述第一属性值对的第 二规则来实现的,

-其中特定地选择所述第二规则中的一个或者多个作为第一规 则的步骤进一步包括如下步骤:

-依赖于计算的所述同现计数,针对第二规则的所述k个子集中 的每一个,特定地选择其二规则中的一个或者多个作为第一规则, 由此创建第一规则的k个子集,以及

-从第一规则的全部k个子集中编译第一规则的唯一列表,第一 规则的所述唯一列表单独地包括第一规则,所述第一规则包含在第 一规则的所述子集的至少t个子集中,其中0<=t<=k。编译的所述列 表的所述第一规则作为结果被返回。

如上所述,生成第二数据记录的k个子集用于提供第一和第二 规则(还被称作“采样”),这是有益的,因为这可以增强方案的 鲁棒性。通过一次执行针对全部可用数据记录的仅一个单一分析步 骤,承担了将规则“过渡适配(overfitting)”到所述数据集的危险。 采样允许通过分析多个数据记录子集来特定地选择指示目的属性值 对的属性值对,以便基于不同的数据子集来多次最终特定地选择被 确定为积极结果的那些属性值对。如果规则的源属性值对是目的属 性值对的显著指示符,则该规则被认为是积极结果,由此显著性依 赖于所使用的统计方案或者其他标准(诸如,已经从中导出任何值 或者规则的同现计数)。通过应用采样已经确定的属性值对被认为 针对目的属性值对而言是更为“鲁棒”并且更为可靠的指示符。根 据实施方式,用于采样的数据记录子集可以是重叠的或者非重叠的。

根据上述实施方式中的某些,第二数据记录的k个不同子集和 第二规则的相应子集是重叠的。针对属于/由多个子集共享的第二规 则仅计算一次同现计数。这是有益的,这有助于降低针对第二规则 计算同现计数的处理时间。由于选择第二规则的子集和确定同现计 数的过程被合并至单一过程,该过程开发了所述列式数据结构和掩 码数据结构的固有结构化特征,本发明的实施方式提供了特别高效 的非假设驱动的数据挖掘方案。

现有技术的包装实现是基于针对第二数据记录的k个子集中每 一个的关系数据库的单独扫描。相反,本发明的实施方式允许高度 有效的、并行化的包装技术,其可以由用户经由GUI以交互方式进 行控制。

根据某些实施方式,基于k个不同第二数据记录子集的第一和 第二规则的确定是并行执行的,例如,在多核数据处理系统上。不 同的子集由此由不同的处理单元或者由不同的数据处理系统评估。 这是有益的,因为这降低了自动确定第一规则的时间。

根据实施方式,第二数据记录的k个子集的选择同现地执行。 第二规则的同现计数的计算由此针对第二规则的k个子集中的每一 个并行地执行。

根据实施方式,列式数据结构和掩码数据结构被完全地加载到 工作存储器之中。

根据某些实施方式,关系数据库被用于存储第一数据记录,并 且所述关系数据库的插件从所述关系数据库中读取所述数据记录, 将读取的所述数据组织为列式数据结构的形式,并且将包括读取的 所述数据的所述列式数据结构加载至存储器之中。全部数据挖掘步 骤在存储器内的列式数据结构中执行。在主存储器中的列式数据结 构中的数据被周期性地从持久关系数据库系统进行刷新。根据某些 实施方式,插件提供非假设驱动的、第一规则的自动确定、以及借 助于OLAP立方体的假设驱动的数据分析方法的组合。所述插件可 以提供基于OLAP立方体的数据仓库和GUI用于以交互方式控制第 一规则的自动确定。

依赖于实施方式,关系数据库包括第一持久数据记录和插件, 提供GUI来用于与由所述数据库插件提供的所述数据分析特征进行 交互。所述插件和所述关系数据库可以运行在相同的或者经由网络 (例如,基于以太网)而彼此连接的多个不同计算系统。在此使用 的术语插件涵盖任何类型的软件、固件、硬件或者其组合,可操作 用于访问包括多个第一数据记录(例如,关系数据库)的数据库, 并且执行根据上述实施方式中的任一实施方式的方法。插件例如可 以实现为软件模块,其可以挂接在已经安装的关系DBMS上并且在 没有上述关系数据库的情况下不能操作。根据其他实施方式,插件 可以是独立维护的、以及与所述关系数据库交互操作地安装的软件 程序。

在其他有益方面中,用于确定同现计数的全部任务独立于彼此 地执行并且可以并行地执行。

在另一方面,本发明涉及一种用于执行根据上述方法中的任一 项的步骤的计算机可读非暂态存储介质。

在另一方面,本发明涉及一种数据处理系统,该数据处理系统 可操作地耦合至列式数据库,所述数据处理系统包括处理器和包括 指令的非暂态存储介质,该指令在由处理器执行时,执行根据所述 方法中的任一项所述的步骤。

如本领域技术人员所理解,本发明的方面可以实现为系统、方 法或者计算机程序产品。由此,除非另外明确指出,本发明的方面 可以采取完全硬件实施方式、完全软件实施方式(包括,固件、驻 留软件、微代码等)或者在结合了软件和硬件方面的实施方式,在 此可以将其全部称作“模块”或者“系统”。可以使用一个或者多 个计算机可读介质的任意组合。

附图说明

结合附图,通过阅读本发明的实施方式的更具体描述,将更好 地理解本发明的上述及其他事项、特征和优势,在附图中:

图1绘出了表示为比特矢量的列条目;

图2a绘出了在关系数据库表中存储的数据记录集合;

图2b绘出了在列式数据结构中存储的图2a的数据记录;

图3绘出了掩码数据结构和交叉数据结构;

图4绘出了第二规则的集合;

图5绘出了具有所指派第三属性值对的OLAP立方体;以及

图6绘出了包括GUI和基于OLAP数据仓库的计算机系统的框 图。

具体实施方式

在下文中,将参考附图以及图示,借助于示例方式来描述本发 明的实施方式。

图1绘出了第一列式数据结构109和第二列式数据结构110。第 一列式数据结构具有所指派的列属性“温度”,第二列式数据结构 具有所指派的列属性动物的“体长”,由此,温度是饲养动物的环 境的温度。三个唯一的温度范围已经被定义,其被存储在第一列式 数据结构的列102中。对于温度列式数据结构的三个列条目中的每 一个,数据记录ID的集合被存储在记录列101中。在图1中绘出的 实施方式的总体数据集包括11个第一数据记录R01-R11。每个数据 记录对应于具有特定体长的动物。如果温度相关于并且可能对体长 具有影响,则在图1中绘出的数据结构可以被自动确定。每个动物 的个体长度被存储在第二列式数据结构的列103和104中。对应于 温度范围11-25℃的列条目被表示为比特矢量105。对应于体长的列 条目被表示为比特矢量106。比特矢量具有与总体数据记录中存在的 第一数据记录相同的比特位置,也即,11个位置。

总体数据集被划分为第二数据记录的k个不同的子集,由此i 和k是整数,并且1<=i<=k。每个创建的数据记录子集的内容也在包 装掩码数据结构的子集(其中集合运算可以容易地在其上执行)中 表示,在此情况下是比特矢量107。在用户希望自动计算针对所述数 据记录子集的第二规则的情况下,以及在温度范围11-25℃被用作潜 在源属性值对、并且体长16-20cm被用作潜在目的属性值对的情况 下,通过求交比特矢量105-107,可以容易地并且快速地计算属于所 述子集i并且其包括源属性值对以及目的属性值对两者的数据记录 的数量。所得的比特矢量108指示实现全部上述标准的数据记录的 类型和数量。求交列式数据结构与掩码数据结构类似地执行。

图2a绘出了存储在关系数据库表201中的六个第一数据记录 213、230-234。每个第一数据记录包括对于所述记录唯一的记录ID。 每个第一数据记录包括多个第一属性值对。例如,数据记录213包 括属性值对:操作员=John,温度=5-10℃,湿度=20-40%,故障率 =11-15%,等等。该第一数据结构的每个属性在关系数据库表中被表 示为列202-212,并且所述第一数据记录210的每个属性值对被表示 为单元中的数据值,该单元没有对应于第一数据记录的索引并且具 有根据代表性属性列的列索引。列式数据结构不包括NULL值,由 此相对于关系数据库而言节省了额外空间。

图2b绘出了存储至列式数据结构集合的图2a的六个第一数据记 录。每个列式数据结构225、226、227具有特定于相应列式数据结 构的所指派列属性215-224。相对于关系数据库表,已经被指派给第 一数据记录的特定属性的每个数据值仅包含在对应于所述属性的列 式数据结构中一次。这是有益的,因为将全部第一数据记录存储到 列式数据结构中所需的存储的数量显著小于相对于在关系数据库表 中存储所述数据记录所需的数量。每个列式数据结构包括一个或者 多个列条目235。例如,列式数据结构216包括列条目[(1,4,6),(John)] and[(2),(Alex)]。在所述列式数据结构中的数字1、4、6指示包括属 性值对“操作员=John”的全部第一数据记录的记录标识符。由此, 在列条目的记录列中包含的数字包括计数信息,该技术信息指示具 有属性值对的数据记录的数量,根据该属性值对而使得所述属性值 对的属性对应于所述列条目的列式数据结构的列属性,并且根据该 属性值对而使得所述属性值对的值对应于包括在所述列条目中的 值。在绘出的示例中,列条目[(1,4,6),(John)]包括计数信息,该计 数信息指示三个第一数据记录包括第一属性值对“操作员=John”。

图3绘出了掩码数据结构的集合301和求交数据结构的集合 310。掩码数据结构的结构320-323与在图2B中绘出的列式数据结 构的结构相同。每个掩码数据结构具有所指派的列属性,并且包括 用于与数据值执行求交运算的数据值的集合、以及被存储至具有所 指派相同列属性的列式数据结构的相应数据记录。根据在图3中绘 出的示例,全部掩码数据结构包括“所允许值”的相同的甚至扩展 的集合,除了用于具有所指派列属性“大洲”307的数据结构。尽管 在图2中绘出的第一数据记录已经将值“欧洲”(“EU”)或者“北 美”(“NAM”)指派至属性“大洲”,掩码数据结构323包括唯 一的数据值“欧洲”作为“所允许值”。通过计算图2b和图3的掩 码数据结构和列式数据结构之间的交集,一个或者多个交集数据结 构被生成,其仅包括第一数据记录的子集,在此也称作“第二数据 记录”的集合。在求交运算期间,不包括属性值对“大洲=欧洲”的 全部数据记录被过滤出去。包含在交集数据结构310中的第二数据 记录仅包括具有所指派的属性值对“大洲=欧洲”的那些第一数据记 录。由此,6个第一数据记录中仅有4个被包含在交集数据结构中, 并且交集数据结构的记录列包括唯一地指示包括所述属性值对的第 二数据记录的数量的计数信息。

可以同时使用存储至不同掩码数据结构的多个不同值,以便排 除不包括属性值对的特定组合的全部第一数据记录。例如,通过应 用相应掩码数据结构中的具有值“欧洲”、“5℃”和“4-6”的掩码 数据结构,可以创建全部包括如下的第一数据记录集合:属性值对 “大洲=欧洲”,“温度<5℃”以及“生命期望=4-6”。求交运算 可以非常有效地执行,这是因为通过在列式数据结构上应用掩码数 据结构,全部过滤器标准可以并发地应用至被存储至列式数据结构 的第一数据记录(参见涉及多个数据结构的求交运算的图1)。另外, 根据本发明的表示由列式数据库提供的信息的压缩和密集方式允许 将第一数据记录的整体加载到工作存储器。

根据某些实施方式,用户可以选择特定属性值对作为将被确定 的第一规则的目的属性值对。数据值“<5”314属于属性值对“故 障率<5%”。目的属性值对表示作为结果返回一个或者多个第一规 则的数据分析过程的“当前目标”。例如,通过选择“故障率<5%” 的属性值对,例如通过向存储至列式数据结构的第一数据记录应用 掩码数据结构,可以确定对于所述目的属性值对具有影响或者相关 联的全部属性值对。因此,可以通过指定目的属性值对来确定,针 对确定用于机器的故障率的预测符、或者备选地针对机器的生命期 望而言,是否应当分析可用第一数据记录。这是有益的,因为针对 所述所选择的目的属性值对,可以通过选择目的属性值对并确定第 一和第二规则的集合,来动态地并且灵活地确定数据挖掘操作的“目 标”。

根据某些实施方式,目的属性值通过对OLAP立方体的用户动 作来选择和指定。

图4绘出了第二规则401-407的集合,由此每个第二规则包括所 选择的目的属性值对(“故障率<5%”)、源属性值对(例如,“操 作员=John”)以及同现计数。如果特定属性值对从未与目的属性值 对同现,则不创建相应的第二规则。例如,操作员Sarah从未操作故 障率小于5%的机器。因而,不会创建包括“操作员=Sarah”的第二 规则作为源属性值对。

图5绘出了具有所指派第三属性值对的OLAP立方体501,例如, “国家=USA”以及“国家=GE”以及OLAP立方体的第一维度、第 三属性值对“湿度=20-40%”以及“湿度=<20%”以及第二维度和第 三属性值对“温度=5-10℃”以及“温度=11-25℃”以及第三维度。 应用程序历程或者用户借助于GUI可以触发针对OLAP立方体的分 片、切丁、旋转、向下钻取和/或向上钻取事件,由此选择具有被指 派到特定当前维度或者层级的第三属性值对。所选择的第三属性值 对被用于指定第二属性值对,其可以再次被用于从多个第一数据记 录选择一个或者多个第二数据记录。掩码数据结构被创建为包括所 述所指定的第二属性值对,并且被应用于存储至列式数据结构的第 一数据记录,由此动态地选择数据记录的子集用于进一步分析。例 如,OLAP立方体可以被用于针对开始于大洲水平的全部第一数据记 录执行向下钻取分析,直到向下钻取到具有被指派特定国家、公司 的特定分支或者特定房间的全部数据记录(以及由所述数据记录表 示的机器)。

根据实施方式,每个基于OLAP立方体的向下钻取分析是假定 驱动的数据分析,因为第三属性值对到OLAP立方体的预定义指派 表示假设和假定,也即,执行向下钻取分析的用户可能对于目录“大 洲”、“国家”或者“房间”感兴趣。

根据优选实施方式,每个基于OLAP立方体的向下钻取分析步 骤与第一规则的自动确定交替。第一规则自动地从第二数据记录的 当前子集获取,该第二数据记录由在先前的基于OLAP立方体的事 件中指定的掩码数据结构所选择。

根据某些实施方式,用户被提供有(例如借助于图形化用户界 面)可选择的GUI元素,用于选择在当前数据记录的第一规则的自 动确定期间所使用的目的属性值对。例如,当用户选择被指派至 OLAP立方体的特定大洲时,所述国家的多个第二数据记录被选择, 其包括多个属性值对,例如针对属性湿度、故障率、操作员、温度 等。用户可以发起第一规则的非假定驱动的确定的执行,这是通过 评估如上所述的多个第二数据记录来进行的。如果用户对于导致机 器的频繁宕机的条件感兴趣,他例如可以选择属性值对“故障率 =31-35%”作为目的属性值对。根据某些实施方式,用户可以选择某 些属性值对,并且由此可以展现所述属性被认为是源属性。

根据描绘的实施方式,执行如下步骤:

1.用户借助于GUI来从OLAP立方体选择多个第一数据记录和 列;

2.用户选择一个列属性作为目的属性、选择所述列式数据结构 的一个值作为相应的值;

3.第一数据记录的k个随机子集被自动地创建,其共享共享数 据记录的公共集合;

4.通过使用列式结构,针对源属性值对和目的属性值对的全部 组合的同现计数被确定,并且目的属性值对被确定,由此包含在多 个子集中的第二规则的同现计数(以及相应的源属性值对和目的属 性值对)仅被计算一次;

5.针对k个子集中的每一个确定一个或者多个第二规则;以及

6.针对k个子集中的每一个选择显著的第二规则,由此依赖于 相应计算的同现计数来确定显著度;

7.在子集的最小部分(minimum fraction)(例如,全部k个子 集的70%)中找到的规则被用作第一规则,并且以其平均同现计数 (或者置信度得分)的顺序来被呈现给用户。

步骤4-6仅涉及简单的算术过程,其可以并行地执行。

图6绘出了包括GUI601的计算机系统600的框图,该GUI601 允许用户来针对OLAP立方体触发切片、切丁、旋转、向下钻取和/ 或向上钻取事件,以用于执行假定驱动的数据分析。GUI还允许用 户选择目的属性值对。计算机系统包括处理器606和计算机可读存 储介质607,其包括计算机可解译的指令,用于操作关系数据库605 的数据库插件604。数据库插件604包括模块603,提供借助于GUI 而由用户可控制的基于OLAP的数据仓库。所述GUI可以用作针对 存储至关系数据库605的数据执行动态的、假定驱动的、以及非假 定驱动的分析。插件从关系数据库读取数据记录,重新组织数据岛 列式数据结构中,并且在存储器602中存储所述列式数据结构609。 根据实施方式,在主存储器中的列式数据结构中的数据从永久关系 数据库605(用作OLAP数据仓库603的数据基础)被周期性地进行 刷新。

尽管上文已经参考了本发明的特定实施方式,本领域技术人员 应当理解,在不脱离本发明的原理和精神的情况下,在这些实施方 式中可以做出改变,本发明的范围由所附权利要求书来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号