书签 分享 收藏 举报 版权申诉 / 10

海量交易数据中频繁项目集的挖掘方法及查询方法.pdf

  • 上传人:1****2
  • 文档编号:1747523
  • 上传时间:2018-07-09
  • 格式:PDF
  • 页数:10
  • 大小:632.69KB
  • 摘要
    申请专利号:

    CN201310629404.2

    申请日:

    2013.11.29

    公开号:

    CN104679773A

    公开日:

    2015.06.03

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    实质审查的生效IPC(主分类):G06F 17/30申请日:20131129|||公开

    IPC分类号:

    G06F17/30

    主分类号:

    G06F17/30

    申请人:

    中国科学院深圳先进技术研究院

    发明人:

    高琴; 李俊杰; 黄哲学

    地址:

    518055广东省深圳市南山区西丽大学城学苑大道1068号

    优先权:

    专利代理机构:

    深圳市铭粤知识产权代理有限公司44304

    代理人:

    杨林; 马翠平

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开一种海量交易数据中频繁项目集的挖掘方法,其包括:A)收集原始交易数据,并更新与原始交易数据对应的索引文件;B)查询是否存在未处理的原始交易数据;若存在,则执行步骤C);若未存在,则返回步骤A);C)对未处理的原始交易数据进行预处理,并将经过预处理的原始交易数据导入到分布式文件系统中;D)利用均衡的并行频繁项目集增长算法对导入到分布式文件系统中的经过预处理的原始交易数据进行计算,进而得到频繁项目集;E)将由步骤D)得到的频繁项目集导入到分布式文件系统中;F)更新与经过步骤C)至步骤E)处理的原始交易数据对应的索引文件。本发明还公开一种海量交易数据中频繁项目集的查询方法。

    权利要求书

    权利要求书
    1.  一种海量交易数据中频繁项目集的挖掘方法,其特征在于,所述挖掘方 法包括以下步骤:
    A)收集原始交易数据,并更新与原始交易数据对应的索引文件;
    B)查询是否存在未处理的原始交易数据,其中,若存在未处理的原始交易 数据,则执行步骤C);若未存在未处理的原始交易数据,则返回步骤A);
    C)对未处理的原始交易数据进行预处理,并将经过预处理的原始交易数据 导入到分布式文件系统中;
    D)利用均衡的并行频繁项目集增长算法对导入到分布式文件系统中的经过 预处理的原始交易数据进行计算,进而得到频繁项目集;
    E)将由步骤D)得到的频繁项目集导入到分布式文件系统中;
    F)更新与经过步骤C)至步骤E)处理的原始交易数据对应的索引文件。

    2.  根据权利要求1所述的挖掘方法,其特征在于,在步骤A)中,所述索 引文件包括与原始交易数据相对应的有关数据描述信息。

    3.  根据权利要求1所述的挖掘方法,其特征在于,所述步骤C)还包括: 选择适合的数据结构来保存经过预处理的原始交易数据。

    4.  根据权利要求1或3所述的挖掘方法,其特征在于,在步骤C)中,所 述对未处理的原始交易数据进行预处理包括:对未处理的原始交易数据进行数 据清洗和/或对未处理的原始交易数据进行数据分类和/或对未处理的原始交易 数据进行数据合并。

    5.  根据权利要求3所述的挖掘方法,其特征在于,在步骤C)中,所述适 合的数据结构是体现所述经过预处理的原始交易数据的时间属性的数据结构。

    6.  根据权利要求1所述的挖掘方法,其特征在于,所述步骤D)的具体实 现方式包括以下步骤:
    D1)获取由用户定义的频繁项目的最小支持度阈值;
    D2)使用MapReduce来统计导入到分布式文件系统中的交易数据中的每一 项目的支持度,根据所述最小支持度阈值来筛选出频繁项目;
    D3)将筛选出的频繁项目按照支持度从高到低的顺序排序,进而得到频繁 项目列表;
    D4)计算基于每个频繁项目的原子单元的挖掘负载,根据分组数均匀分配 每个频繁项目的原子单元,使各分组所含的频繁项目的挖掘负载总和相对均衡;
    D5)使用MapReduce并行创建并挖掘出频繁项目集。

    7.  一种海量交易数据中频繁项目集的查询方法,其特征在于,所述查询方 法包括以下步骤:
    a)基于权利要求1至6任一项所述的挖掘方法挖掘出若干频繁项目集以形 成频繁项目集数据集;
    b)设置频繁项目集的查询参数或频繁项目集关联信息的查询参数;
    c)在频繁项目集数据集中查询频繁项目集或频繁项目集关联信息;
    d)输出查询到的频繁项目集或频繁项目集关联信息。

    8.  根据权利要求7所述的查询方法,其特征在于,在步骤b)中,所述查 询参数至少包括被选择的频繁项目集数据集、被选择的查询时间范围、被选择 的查询类别以及被设置的与所述选择到的查询类别相对应的输入参数。

    9.  根据权利要求7所述的查询方法,其特征在于,所述步骤c)的具体实 现方式包括以下步骤:
    c1)将频繁项目集的查询参数或者频繁项目集关联信息的查询参数提交 MapReduce查询任务;
    c2)在频繁项目集数据集中查询与频繁项目集的查询参数对应的频繁项目 集或者与频繁项目集关联信息的查询参数对应的频繁项目集关联信息,并将查 询到的频繁项目集或者频繁项目集关联信息进行返回;
    c3)整合返回的频繁项目集或者频繁项目集关联信息,并将整合后的频繁 项目集或者频繁项目集关联信息进行发送。

    10.  根据权利要求7所述的查询方法,其特征在于,所述步骤d)包括:以 图形或列表的形式输出查询到的频繁项目集或频繁项目集关联信息。

    说明书

    说明书海量交易数据中频繁项目集的挖掘方法及查询方法
    技术领域
    本发明涉及一种海量交易数据中频繁项目集的挖掘方法及查询方法。
    背景技术
    从海量交易数据中挖掘频繁项目集并分析其中的频繁项目关联规则是具有 十分重要的实际应用价值的,传统的频繁项目集挖掘方法主要包括Apriori算法 以及频繁项目集增长算法两种。随着交易数据数量的急速增长,并行频繁项目 集增长算法得到了发展,其中HaoyuanLi等人于2008年提出的并行频繁项目集 增长(FP-Growth)算法是已有的处理海量数据中频繁项目集挖掘问题的最佳算 法。FP-Growth算法是基于MapReduce的并行频繁项目集增长算法,在FP-Growth 算法中将单棵频繁项目集树拆分成多棵无关的频繁项目集子树,从而可以在多 个Reduce任务中并行地挖掘各棵频繁项目集子树。随着服务器集群中机器数量 的增加,并行频繁项目集增长算法的效率可以达到近乎线性的加速比。
    然而,现有的并行频繁项目集增长算法没有考虑到MapReduce中Reduce 任务的均衡性问题,并且算法的整体性能需要进一步优化。
    发明内容
    为了解决上述现有技术存在的问题,本发明的目的在于提供一种海量交易 数据中频繁项目集的挖掘方法,其中,所述挖掘方法包括步骤:A)收集原始交 易数据,并更新与原始交易数据对应的索引文件;B)查询是否存在未处理的原 始交易数据,其中,若存在未处理的原始交易数据,则执行步骤C);若未存在 未处理的原始交易数据,则返回步骤A);C)对未处理的原始交易数据进行预 处理,并将经过预处理的原始交易数据导入到分布式文件系统中;D)利用均衡 的并行频繁项目集增长算法对导入到分布式文件系统中的经过预处理的原始交 易数据进行计算,进而得到频繁项目集;E)将由步骤D)得到的频繁项目集导 入到分布式文件系统中;F)更新与经过步骤C)至步骤E)处理的原始交易数 据对应的索引文件。
    进一步地,在步骤A)中,所述索引文件包括与原始交易数据相对应的有 关数据描述信息。
    进一步地,所述步骤C)还包括:选择适合的数据结构来保存经过预处理的 原始交易数据。
    进一步地,在步骤C)中,所述对未处理的原始交易数据进行预处理包括: 对未处理的原始交易数据进行数据清洗和/或对未处理的原始交易数据进行数据 分类和/或对未处理的原始交易数据进行数据合并。
    进一步地,所述适合的数据结构是体现所述经过预处理的原始交易数据的 时间属性的数据结构。
    进一步地,所述步骤D)的具体实现方式包括步骤:D1)获取由用户定义 的频繁项目的最小支持度阈值;D2)使用MapReduce来统计导入到分布式文件 系统中的交易数据中的每一项目的支持度,根据所述最小支持度阈值来筛选出 频繁项目;D3)将筛选出的频繁项目按照支持度从高到低的顺序排序,进而得 到频繁项目列表;D4)计算基于每个频繁项目的原子单元的挖掘负载,根据分 组数均匀分配每个频繁项目的原子单元,使各分组所含的频繁项目的挖掘负载 总和相对均衡;D5)使用MapReduce并行创建并挖掘出频繁项目集。
    本发明的另一目的还在于提供一种海量交易数据中频繁项目集的查询方 法,其中,所述查询方法包括步骤:a)基于上述的挖掘方法挖掘出若干频繁 项目集以形成频繁项目集数据集;b)设置频繁项目集的查询参数或频繁项目集 关联信息的查询参数;c)在频繁项目集数据集中查询频繁项目集或频繁项目集 关联信息;d)输出查询到的频繁项目集或频繁项目集关联信息。
    进一步地,在步骤b)中,所述查询参数至少包括被选择的频繁项目集数据 集、被选择的查询时间范围、被选择的查询类别以及被设置的与所述选择到的 查询类别相对应的输入参数。
    进一步地,所述步骤c)的具体实现方式包括步骤:c1)将频繁项目集的查 询参数或者频繁项目集关联信息的查询参数提交MapReduce查询任务;c2)在 频繁项目集数据集中查询与频繁项目集的查询参数对应的频繁项目集或者与频 繁项目集关联信息的查询参数对应的频繁项目集关联信息,并将查询到的频繁 项目集或者频繁项目集关联信息进行返回;c3)整合返回的频繁项目集或者频 繁项目集关联信息,并将整合后的频繁项目集或者频繁项目集关联信息进行发 送。
    进一步地,所述步骤d)包括:以图形或列表的形式输出查询到的频繁项目 集或频繁项目集关联信息。
    本发明旨在针对大量的交易数据,基于分布式服务器集群构架特有的频繁 项目集挖掘方法和查询方法,能快速准确地从海量交易事务数据库中挖掘出有 用的频繁项目,获取有价值的产品关联规则信息。
    附图说明
    通过下面结合附图进行的描述,本发明的上述和其他目的和特点将会变得 更加清楚,附图中:
    图1是示出根据本发明的实施例的分布式服务器集群的架构示意图。
    图2是示出根据本发明的实施例的海量交易数据中频繁项目集的挖掘方法 的流程图。
    图3是示出根据本发明的实施例的海量交易数据中频繁项目集的查询方法 的流程图。
    具体实施方式
    现在通过参照附图对实施例进行描述以解释本发明。在附图中,为了清晰 起见,可以夸大层和区域的厚度。在下面的描述中,为了避免公知结构和/或功 能的不必要的详细描述所导致的本发明构思的混淆,可省略公知结构和/或功能 的不必要的详细描述。
    在本实施例中,可采用Hadoop作为提供MapReduce计算框架和分布式文 件系统HDFS的底层支持平台。Hadoop是一个开源的可运行在大规模集群上的 分布式系统基础架构,其中分布式文件系统HDFS和MapReduce是其核心成员。
    分布式文件系统HDFS采用主/从节点架构,在HDFS集群中有唯一的名为 NameNode的主进程和若干DataNode从进程。NameNode管理文件系统的名字 空间,调节客户端对于文件的访问。DataNode管理所在节点的存储空间。HDFS 对外公开文件系统的名字空间并且允许用户数据存储在文件中。在文件系统内 部,文件被拆分成一个或多个数据块并分布在DataNode所在的节点上。 NameNode执行包括文件打开、文件关闭、文件重命名等文件系统名字空间操作。 DataNode负责响应来自文件系统客户端的读写请求和根据NameNode的指令创 建、删除和复制数据块。
    MapReduce框架中有唯一的JobTracker监控进程和多个TaskTracker从工作 进程。JobTracker负责调度组成该MapReduce作业的各个任务的执行,对任务 进行监控并重新启动执行失败的任务。TaskTracker负责执行JobTracker分配给 它的任务。
    下面将以分布式服务器集群作为一示例来对本实施例的海量交易数据中频 繁项目集的挖掘方法及查询方法来进行说明,但本发明并不以此为限。
    图1是示出根据本发明的实施例的分布式服务器集群的架构示意图。
    参照图1,根据本发明的实施例的分布式服务器集群采用主/从节点构架, 其由主节点服务器20以及从节点服务器31、从节点服务器32、……、从节点服 务器3n共n个从节点服务器构成。其中,主节点服务器20负责NameNode和 JobTracker;从节点服务器31、从节点服务器32、……、从节点服务器3n共n 个从节点服务器则负责DataNode和TaskTracker。
    具体而言,客户端(例如计算机等)10向主节点服务器20提交频繁项目集 的查询请求或频繁项目集关联信息的查询请求。这里,主节点服务器20具有两 个功能,其一是响应客户端10提供的频繁项目集的查询请求或频繁项目集关联 信息的查询请求,将频繁项目集的查询请求或频繁项目集关联信息的查询请求 所请求的任务分配给各个从节点服务器,其二是自身周期性地启动海量交易数 据中频繁项目集的挖掘任务,并将该挖掘任务进行划分后均匀分配给各个从节 点服务器;各个从节点服务器负责完成由主节点服务器20提供的频繁项目集的 查询请求或频繁项目集关联信息的查询请求所请求的任务以及主节点服务器20 分配的挖掘任务后,将挖掘结果和查询结果(即查询到的频繁项目集或者频繁 项目集关联信息)通过主节点服务器20进行整合后回传给客户端10。
    下面将对上述的主节点服务器20自身周期性地启动海量交易数据中频繁项 目集的挖掘任务所采用的挖掘方法进行详细的说明。
    图2是示出根据本发明的实施例的海量交易数据中频繁项目集的挖掘方法 的流程图。
    参照图2,在步骤S11中,收集海量原始交易数据,并更新与原始交易数据 对应的索引文件。所述索引文件包含了与原始交易数据对应的有关数据描述信 息,该数据描述信息可包括,但不限于,文件名、文件大小、收集时间、存放 目录、是否已处理等,其中,可用“0”表示未处理,“1”表示已处理。
    在步骤S12中,查询是否存在未处理的原始交易数据,其中,若存在未处 理的原始交易数据,则执行下面的步骤S13);若未存在未处理的原始交易数据, 则返回步骤S11。例如,可查询与原始交易数据对应的索引文件信息,其中,若 存在‘是否已处理’的值为0的文件信息,则根据索引文件中‘文件名’及‘存 放目录’等信息找到对应未处理的原始交易数据作为输入数据来执行下面的步 骤S13;若不存在‘是否已处理’值为0的文件信息,则停止并返回到步骤S11。
    在步骤S13中,对未处理的原始交易数据(例如可是与存在‘是否已处理’ 的值为0的索引文件信息相对应的原始交易数据)进行预处理,并将经过预处 理的原始交易数据导入到分布式文件系统中。具体而言,主节点服务器20可将 经过预处理的原始交易数据划分成若干连续的交易数据块,并将该若干连续的 交易数据块均匀分布在本实施例的分布式服务器集群的各个从节点服务器上。 在该步骤的具体实现过程中,可采用分布式文件系统HDFS自动完成该步骤。 所述对未处理的原始交易数据进行预处理可包括,但不限于,对未处理的原始 交易数据进行数据清洗、数据分类和/或数据合并等。此外,在步骤S13中,还 包括选择适合的数据结构来保存经过预处理的原始交易数据,这里,所述适合 的数据结构指的是能够充分体现经过预处理的原始交易数据的时间属性的数据 结构,例如所述适合的数据结构可以设计为(年-月-日-时,交易记录)的形式, 如此可直观地看到某年某月某日某时的原始交易数据的记录。
    在步骤S14中,利用均衡的并行频繁项目集增长算法对导入到分布式文件 系统中的交易数据进行计算,进而得到频繁项目集。步骤S14的具体实现方式 包括步骤:S141、获取由用户定义的频繁项目集的最小支持度阈值;S142、使 用MapReduce来统计导入到分布式文件系统的海量原始交易数据中的每一项目 (即每一原始交易数据)的支持度,根据所述最小支持度阈值来筛选出频繁项 目;S143、将筛选出的频繁项目按照支持度从高到低的顺序排序,进而得到频 繁项目列表;S144、计算基于每个频繁项目的原子单元的挖掘负载,根据本实 施例的分布式服务器集群中从节点服务器的个数来确定分组数,均匀分配每个 频繁项目的原子单元,使各分组(即各个从节点服务器)所含的频繁项目的挖 掘负载的总和相对均衡;S145、使用MapReduce并行创建并挖掘出频繁项目集。
    在步骤S15中,将由步骤S14得到的频繁项目集导入到分布式文件系统中。
    在步骤S16中,更新与经过步骤S12至步骤S14处理的原始交易数据对应 的索引文件。例如,可将与经过步骤S13和步骤S14处理的原始交易数据对应 的索引文件信息中的‘是否已处理’的值改为1。
    下面将对本实施例的分布式服务器集群的海量交易数据中频繁项目集的查 询方法进行详细的说明。
    图3是根据本发明的实施例的海量交易数据中频繁项目集的查询方法的流 程示意图。
    参照图1和图3,在步骤S21中,分布式服务器集群40基于上述的挖掘方 法挖掘出若干频繁项目集以形成频繁项目集数据集(即频繁项目数据库)。
    在步骤S22中,通过客户端10设置频繁项目集的查询参数(即频繁项目集 的查询请求)或者频繁项目集关联信息的查询参数(即频繁项目集关联信息的 查询请求)。所述通过客户端10设置的频繁项目集的查询参数或者频繁项目集 关联信息的查询参数包括选择的频繁项目集数据集、选择的查询时间范围、选 择的查询类别、设置与选择到的查询类别相对应的输入参数。另外,需校验所 述输入参数是否正确;若校验输入参数不正确,则发出报错警告,若校验输入 参数正确,则客户端10向主节点服务器20提交频繁项目集的查询参数或者频 繁项目集关联信息的查询参数。
    在步骤S23中,在频繁项目集数据集中查询与频繁项目集的查询参数对应 的频繁项目集或者与频繁项目集关联信息的查询参数对应的频繁项目集关联信 息。步骤S23的具体实现方式包括步骤:S231、主节点服务器20将由客户端10 提交的频繁项目集的查询请求或者频繁项目集关联信息的查询请求提交 MapReduce查询任务,这里,所述MapReduce查询任务是事先编译好的,客户 端10提交的频繁项目集的查询请求或者频繁项目集关联信息的查询请求可转换 为所述MapReduce查询任务的输入参量;S232、各个从节点服务器在频繁项目 集数据集中查询与频繁项目集的查询请求对应的频繁项目集或者与频繁项目集 关联信息的查询请求对应的频繁项目集关联信息,并将查询结果(即查询到的 频繁项目集或者频繁项目集关联信息)返回到主节点服务器20;S233、主节点 服务器20将各个从节点服务器返回的查询结果进行整合,并将整合后的查询结 果发送回客户端10。
    在步骤S24中,可例如通过图像或者列表的形式在客户端10上显示查询到 的频繁项目集或频繁项目集关联信息。
    上述根据本发明的方法可在硬件、固件中实现,或者被实现为可存储在记 录介质(诸如CDROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码, 或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中 并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在 使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的 记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器 或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、 ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行 时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的 处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专 用计算机。
    本发明旨在针对大量的交易数据,基于分布式服务器集群构架特有的频繁 项目集挖掘方法和查询方法,能快速准确地从海量交易事务数据库中挖掘出有 用的频繁项目,获取有价值的产品关联规则信息。本发明对超市、服装等各类 零售行业的商业决策制定有着重要的参考意义。
    尽管已经参照其示例性实施例具体显示和描述了本发明,但是本领域的技 术人员应该理解,在不脱离权利要求所限定的本发明的精神和范围的情况下, 可以对其进行形式和细节上的各种改变。

    关 键  词:
    海量 交易 数据 频繁 项目 挖掘 方法 查询
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:海量交易数据中频繁项目集的挖掘方法及查询方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1747523.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1