一种处理交易事务数据库数据的方法和装置的制造方法_3

文档序号:9597973阅读:来源:国知局
项集时。
[0060] 从上述附图1示例的处理交易事务数据库数据的方法可知,一方面,由于每个计 算节点将各自分得的分块事务数据库转化为压缩的事务布尔矩阵只需要扫描一次交易数 据库,此后在计算k-频繁项集时只需要扫描一次事务布尔矩阵即可,从而减少了读取交易 事务数据库的I/O次数,提高了读取交易事务数据库的效率;另一方面,在计算k-频繁项集 时,是N个并行处理的计算节点通过对压缩的事务布尔矩阵的行向量或列向量进行相"与" 计算,直接省去现有Apriori算法的连接和裁剪两步,通过对压缩的事务布尔矩阵的行和 列向量的裁剪,提高了 k-频繁项集的计算效率。
[0061] 请参阅附图2,是本发明实施例二提供的处理交易事务数据库数据的装置的结构 示意图。为了便于说明,附图2仅示出了与本发明实施例相关的部分。附图2示例的处理 交易事务数据库数据的装置可以是附图1示例的处理交易事务数据库数据的方法的执行 主体。附图2示例的处理交易事务数据库数据的装置主要包括分割模块201、矩阵压缩模块 202和频繁项集获取模块203,其中:
[0062] 分割模块201,用于将交易事务数据库的数据分成N份以获得N个分块事务数据 库,并按照每个计算节点一个分块事务数据库的方式分发至N个并行处理的计算节点,所 述N为大于1的自然数;
[0063] 矩阵压缩模块202,用于每个计算节点将各自分得的分块事务数据库转化为压缩 的事务布尔矩阵,需要说明的是,由于只有一个项的交易事务在数据挖掘时并不具有统计 意义,因此,在本发明实施例中,对于只有一个项的交易事务,矩阵压缩模块202在将分块 事务数据库转化为事务布尔矩阵时可以删除这样的交易事务;
[0064] 频繁项集获取模块203,用于N个并行处理的计算节点通过对压缩的事务布尔矩 阵的行向量或列向量进行相"与"计算,得到所有k-频繁项集,所述k为自然数。
[0065] 需要说明的是,以上附图2示例的处理交易事务数据库数据的装置的实施方式 中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求 或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述处理交 易事务数据库数据的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者 部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也 可以由相应的硬件执行相应的软件完成,例如,前述的分割模块,可以是具有执行前述将交 易事务数据库的数据分成N份以获得N个分块事务数据库,并按照每个计算节点一个分块 事务数据库的方式分发至N个并行处理的计算节点的硬件,例如分割器,也可以是能够执 行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的矩阵压 缩模块,可以是执行每个计算节点将各自分得的分块事务数据库转化为压缩的事务布尔矩 阵的硬件,例如矩阵压缩器,也可以是能够执行相应计算机程序从而完成前述功能的一般 处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
[0066] 附图2示例的矩阵压缩模块202可以包括第一记录单元301和第二记录单元302, 如附图3所示本发明实施例三提供的处理交易事务数据库数据的装置,其中:
[0067] 第一记录单元301,用于将分块事务数据库中所有相同的交易事务记录为一条交 易事务Ti ;
[0068] 第二记录单元302,用于使用数组TS[s]中的元素 TS[i]记录交易事务Ti在分块 事务数据库中的实际条数。
[0069] 附图2示例的处理交易事务数据库数据的装置中,N个并行处理的计算节点包括 一个主计算节点和N-1个非主计算节点,事务布尔矩阵的元素为,并且
其中,L为分块事务数据库中的项,T ,为分块事务数据库中的交易事务,频繁项集获取模块 203可以包括候选集生成单元401、广播单元402、第一本地支持度计数单元403和第一频繁 项集计算单元404,如附图4所示本发明实施例四提供的处理交易事务数据库数据的装置, 其中:
[0070] 候选集生成单元401,用于主计算节点计算k-频繁项集,并根据所述k-频繁项集 生成(k+Ι)-候选集;
[0071] 广播单元402,用于主计算节点将(k+l)_候选集广播至N-1个非主计算节点;
[0072] 第一本地支持度计数单元403,用于N-1个非主计算节点根据接收到的(k+Ι)-候 选集,通过对k+Ι个项构成的项集{Ip,Iq,…,^,^的各个项在各自节点上的事务布尔矩 阵对应的行向量和事务计数向量进行相"与"计算,得到项集{Ip,Iq,…,Ii,I_j}的本地支 持度计数并转发至主计算节点;
[0073] 第一频繁项集计算单元404,用于主计算节点根据项集{Ip,Iq,…,Ip I,}的各个 项的本地支持度计数计算得到(k+l)_频繁项集;
[0074] 候选集生成单元401、广播单元402、本地支持度计数单元403和第一频繁项集计 算单元404依次重复执行各自功能,直至被筛选后的项集为空集或者只有一个项集时得到 所有k-频繁项集。
[0075] 附图4示例的候选集生成单元401可以包括第二本地支持度计数单元501、第二频 繁项集计算单元502和k-候选集生成单元503,如附图5所示本发明实施例五提供的处理 交易事务数据库数据的装置,其中:
[0076] 第二本地支持度计数单元501,用于N-1个非主计算节点计算本节点上由k个项构 成的项集{Ip,Iq,…,IJ的各个项的本地支持度计数并转发至主计算节点;
[0077] 第二频繁项集计算单元502,用于主计算节点根据项集{Ip,Iq,…,IJ的各个项 的本地支持度计数计算k-频繁项集;
[0078] k-候选集生成单元503,用于主计算节点根据k-频繁项集生成(k+l)_候选集。
[0079] 需要说明的是,由于一个项集被确定为k-非频繁项集后,其在后续过程中不可能 被判断为更高阶的频繁项集,因此,为了减小运算的冗余,在本发明实施例中主计算节点的 k_候选集生成单元503根据k-频繁项集生成(k+Ι)-候选集的同时,可以将k-非频繁项集 删除,使得最终的候选集中并不包含k-非频繁项集。
[0080] 附图4示例的第一频繁项集计算单元404可以包括全局支持度计数计算单元601 和判断单元602,如附图6所示本发明实施例六提供的处理交易事务数据库数据的装置,其 中:
[0081] 全局支持度计数计算单元601,用于主计算节点根据项集{Ip,Iq,…,I;,IJ的各 个项的本地支持度计数计算项集{Ip,Iq,…,Ip Ij的全局支持度计数;
[0082] 判断单元602,用于若项集{Ip,Iq,···,、,I,}的全局支持度计数大于或等于阈值, 则确定项集{Ip,Iq,…,Ii,IJ为(k+l)_频繁项集。
[0083] 需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与 本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容 可参见本发明方法实施例中的叙述,此处不再赘述。
[0084] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存 储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
[0085] 以上对本发明实施
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1