CN106371917A - 面向实时频繁项集挖掘的加速系统及方法 - Google Patents
面向实时频繁项集挖掘的加速系统及方法 Download PDFInfo
- Publication number
- CN106371917A CN106371917A CN201610709592.3A CN201610709592A CN106371917A CN 106371917 A CN106371917 A CN 106371917A CN 201610709592 A CN201610709592 A CN 201610709592A CN 106371917 A CN106371917 A CN 106371917A
- Authority
- CN
- China
- Prior art keywords
- item set
- frequent item
- frequent
- mining
- set mining
- 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.)
- Granted
Links
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种面向实时频繁项集挖掘的加速系统及方法,其中,系统包括:缓存模块,接收初始化参数,其中,对于初始化参数进行一次读取;比特流编码模块,将初始化参数进行比特流编码,以生成等效横向比特向量;第一主模块,根据初始化参数生成多个子集计数器内容列表,以得到部分频繁项集;控制器,获取相应的频繁元素;第二主模块,用于进行近似计算得到最终频繁项集挖掘结果;比特流解码模块,将最终频繁项集挖掘结果进行比特流解码,以输出最终频繁项集挖掘结果至主机。该系统能够实现高效率的近似频繁项集挖掘算法,只需要对输入数据进行一次扫描,特别适用于流数据或有实时性要求的应用场景。
Description
技术领域
本发明涉及电子技术领域,特别涉及一种面向实时频繁项集挖掘的加速系统及方法。
背景技术
频繁项集挖掘旨在寻找数据集中出现频率具有较高相关性的元素集合,也是数据挖据算法中的基础算法之一。频繁项集挖掘的重点在于寻找每个元素之间的相关性,例如超市购物篮统计,每一个顾客的购物篮都是一个集合,而频繁项集挖掘旨在寻找哪些商品是会被大概率同时购买的,也就是寻找一个子集,使得这个子集的出现频度高于某个阈值。然而,频繁项集挖掘算法面临着数据处理量大(数据量最大可达到TB量级),有实时性要求,需要对输入数据进行多次扫描,空间/时间复杂度过高等问题。
在大数据时代,异构计算芯片在诸多场景中得到了推广与应用,例如,FPGA(FieldProgrammable Gates Arrays,现场可编程门阵列)、GPU(Graphic Processing Unit,图形处理器)等,其优势可能包括:对缓存机制依赖不严重,可以同时实现粗粒度和细粒度的并行,并对于延迟和吞吐率都有着精确地控制,以及功耗较低。因此,非常适用于对数据挖掘算法进行加速。
然而,受硬件结构的影响,以传统的频繁项集挖掘算法往往并不适合于细粒度并行计算平台。也就是说,直接将传统的频繁项集挖掘算法操作映射到平行计算平台上,无法充分利用到并行计算平台的诸多优势以追求更高性能的实现。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种面向实时频繁项集挖掘的加速系统,该系统可以实现高效率的近似频繁项集挖掘算法,简单易实现。
本发明的另一个目的在于提出一种面向实时频繁项集挖掘的加速方法。
为达到上述目的,本发明一方面实施例提出了一种面向实时频繁项集挖掘的加速系统,包括:缓存模块,用于接收主机以数据流的方式发送的频繁项集挖掘初始化参数,其中,对于所述初始化参数进行一次读取;比特流编码模块,用于将所述初始化参数进行比特流编码,以生成等效横向比特向量;第一主模块,所述第一主模块具有多个计数器,用于根据所述初始化参数生成多个子集计数器内容列表,以根据所述等效横向比特向量和预设阈值得到部分频繁项集;控制器,用于根据所述部分频繁项集获取相应的频繁元素;第二主模块,用于根据所述部分频繁项集和所述频繁元素整合得到频繁项集的比特流,以进行近似计算得到最终频繁项集挖掘结果;比特流解码模块,用于将所述最终频繁项集挖掘结果进行比特流解码,以输出所述最终频繁项集挖掘结果至所述主机。
本发明实施例的面向实时频繁项集挖掘的加速系统,通过将频繁项集挖掘实现在定制计算电路结构中,满足输入数据只扫描一次,从而在加速器定制在协处理器中时,能够直接从PCIe、网卡等设备端口读取数据,进行流数据分析处理,无需将全部数据写入内存反复读取,从而能够实现高效率的近似频繁项集挖掘算法,只需要对输入数据进行一次扫描,特别适用于流数据或有实时性要求的应用场景。
另外,根据本发明上述实施例的面向实时频繁项集挖掘的加速系统还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述频繁项集挖掘初始化参数由整体数据集的元素构成,并且与应用场景要求相关。
进一步地,在本发明的一个实施例中,每一个单元进行一轮当前频繁项集与新输入的整合后的频繁项集的匹配排序,统计次数最小的频繁项集将被新输入整合后的频繁项集所更新替换。
进一步地,在本发明的一个实施例中,所述第一主模块具体用于将所述等效横向比特向量依次输入所述计数器,以利用流水线并行计算进行比对,从而在输入数据不发生阻塞的情况下,每个计数器的输入数据可以在每一个时钟周期进行更新,并在一个时钟周期内传递给相邻的计数器,得到所述频繁项集。
进一步地,在本发明的一个实施例中,根据类space saving算法进行近似计算。
为达到上述目的,本发明另一方面实施例提出了一种面向实时频繁项集挖掘的加速方法,包括以下步骤:接收主机以数据流的方式发送的频繁项集挖掘初始化参数,其中,对于所述初始化参数进行一次读取;将所述初始化参数进行比特流编码,以生成等效横向比特向量;根据所述初始化参数生成多个子集计数器内容列表,以根据所述等效横向比特向量和预设阈值得到部分频繁项集;根据所述部分频繁项集获取相应的频繁元素;根据所述部分频繁项集和所述频繁元素整合得到频繁项集的比特流,以进行近似计算得到最终频繁项集挖掘结果;将所述最终频繁项集挖掘结果进行比特流解码,以输出所述最终频繁项集挖掘结果至所述主机。
本发明实施例的面向实时频繁项集挖掘的加速方法,通过将频繁项集挖掘实现在定制计算电路结构中,满足输入数据只扫描一次,从而在加速器定制在协处理器中时,能够直接从PCIe、网卡等设备端口读取数据,进行流数据分析处理,无需将全部数据写入内存反复读取,从而能够实现高效率的近似频繁项集挖掘算法,只需要对输入数据进行一次扫描,特别适用于流数据或有实时性要求的应用场景。
另外,根据本发明上述实施例的面向实时频繁项集挖掘的加速方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述频繁项集挖掘初始化参数由整体数据集的元素构成,并且与应用场景要求相关。
进一步地,在本发明的一个实施例中,每一个单元进行一轮当前频繁项集与新输入的整合后的频繁项集的匹配排序,统计次数最小的频繁项集将被新输入整合后的频繁项集所更新替换。
进一步地,在本发明的一个实施例中,所述根据所述频繁项集和所述频繁元素整合得到频繁项集的比特流,进一步包括:将所述等效横向比特向量依次输入所述计数器,以利用流水线并行计算进行比对,从而在输入数据不发生阻塞的情况下,每个计数器的输入数据可以在每一个时钟周期进行更新,并在一个时钟周期内传递给相邻的计数器,得到所述频繁项集。
进一步地,在本发明的一个实施例中,根据类space saving算法进行近似计算。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的面向实时频繁项集挖掘的加速系统的结构示意图;
图2为根据本发明一个实施例的输入数据格式与等效横向比特向量的示意图;
图3为根据本发明一个实施例的比特流编码模块的结构示意图;
图4为根据本发明一个实施例的第一主模块的结构示意图;
图5为根据本发明一个实施例的第二主模块的结构示意图;
图6为根据本发明一个实施例的面向实时频繁项集挖掘的加速方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面在描述根据本发明实施例提出的面向实时频繁项集挖掘的加速系统及方法之前,先来简单描述一下相关技术中的缺陷。
举例而言,现有的精确频繁项集挖掘硬件模块结构设计都将三种经典算法Aprori,Eclat和FP-grow或其延伸算法直接映射到电路结构上。然而,现有的精确频繁项集挖掘硬件模块结构受限于算法本身,都具有指数级的时间复杂度,在大数据量,实时性要求的应用场景无法承担。同时,由于算法需要对输入数据进行多次扫描,为了不牺牲处理速度,需要将全部输入数据搬入内存,因为只有这样才能保证数据的读取速度,这在大数据量的场景下同样不现实。
又例如,现有的近似频繁项集挖掘的硬件模块设计利用了Sticky Sampling,Chernoff-based,Lossy Counting(LC),StreamMining等近似方法,但需要电路产生每个输入集合的所有子集,之后再依次处理。也就是说,现有的近似频繁项集挖掘的硬件模块都需要电路结构产生每个输入集合的所有子集,这同样意味着整体硬件模块承担着指数级的运算量,对于硬件资源和运算时间两个方面的开销都带来了消极的影响。特别是当集合当中的元素个数较多时,产生子集的电路模块扇出极大,资源开销极大,在资源有限的计算芯片上,计算速度难以提升。
因此,相关技术中无法将频繁项集挖掘在定制计算电路结构中,实现更加高速的计算。
本发明正是基于上述问题,而提出了一种面向实时频繁项集挖掘的加速系统及方法。
下面参照附图描述根据本发明实施例提出的面向实时频繁项集挖掘的加速系统及方法,首先描述根据本发明实施例提出的面向实时频繁项集挖掘的加速系统。
图1是本发明一个实施例的面向实时频繁项集挖掘的加速系统的结构示意图。
如图1所示,该面向实时频繁项集挖掘的加速系统10包括:缓存模块11、比特流编码模块12、第一主模块13、控制器14、第二主模块15和比特流解码模块16。
具体而言,缓存模块11用于接收主机10以数据流的方式发送的频繁项集挖掘初始化参数,其中,对于所述初始化参数进行一次读取。
也就是说,主机20将输入数据即频繁项集挖掘初始化参数通过PCIe发送至FPGA芯片。其中,输入数据以数据流的方式被读取且只读取一次,输入数据不一定来自内存。
可以理解的是,如果一个应用需要读取数据多次,整体架构中一定需要进行数据存储,在大数据量的情况下,如果内存无法完全存放输入数据,则将不得不把数据移入二级存储,意味着读取数据本身就需要花费更长的时间。这时,数据读取会成为整个计算系统的性能瓶颈,由于输入数据阻塞,所以后续计算无法高效的展开。因此,该结构能够支持对流数据的处理,更容易满足应用的实时性需求。
其中,在本发明的一个实施例中,频繁项集挖掘初始化参数由整体数据集的元素构成,并且与应用场景要求相关。
进一步地,比特流编码模块12用于将初始化参数进行比特流编码,以生成等效横向比特向量
即言,将输入数据进行比特流编码,生成等效横向比特向量。在本发明的一个实施例中,输入数据格式与等效横向比特向量可以如图2所示,比特流编码模块12的内部结构可以如图3所示。
进一步地,第一主模块13具有多个计数器,第一主模块13用于根据初始化参数生成多个子集计数器内容列表,以根据等效横向比特向量和预设阈值得到部分频繁项集。
进一步地,在本发明的一个实施例中,第一主模块13具体用于将等效横向比特向量依次输入计数器,以利用流水线并行计算进行比对,从而在输入数据不发生阻塞的情况下,每个计数器的输入数据可以在每一个时钟周期进行更新,并在一个时钟周期内传递给相邻的计数器,得到频繁项集。
可以理解的是,如图4所示,第一主模块13读取PCIe发送的频繁项集挖掘初始化参数,该初始化参数由整体数据集的元素构成和应用场景要求相关。根据初始化参数生成相应的有限个子集计数器内容列表,对第一主模块13中的计数器内容进行初始化。
进一步地,将数据数据编码后的等效横向比特向量依次输入第一主模块13中的计数器。第一主模块13中的计数器利用流水线并行计算进行比对,在输入数据不发生阻塞的情况下,每个计数器的输入数据可以在每一个时钟周期进行更新,并在一个时钟周期内传递给相邻的计数器。根据预设好的阈值要求,首先输出一部分元素数量较少的频繁项集,包括频繁元素。
可以理解的是,在给定的应用场景中,数据集的元素构成是稳定的。由于关键第一主模块13只根据初始化信息设置有限个子集计数器,所以不是指数级别的计算时间复杂度。此外,子集计数器内容的初始化配置只需要启动一次即可,使得计数器的电路结构也稳定下来,由于输入数据之间没有数据依赖关系,可以以流水线并行的方式进行分析处理。因此,该结构能够支持对输入数据的流水线并行分析,提升计算速度。
进一步地,控制器14用于根据部分频繁项集获取相应的频繁元素.
进一步地,第二主模块15用于根据部分频繁项集和频繁元素整合得到频繁项集的比特流,以进行近似计算得到最终频繁项集挖掘结果。
其中,在本发明的一个实施例中,每一个单元进行一轮当前频繁项集与新输入的整合后的频繁项集的匹配排序,统计次数最小的频繁项集将被新输入整合后的频繁项集所更新替换。
进一步地,在本发明的一个实施例中,根据类space saving算法进行近似计算。
举例而言,如图5所示,第二主模块15用于近似计算,根据第一主模块13的输出结果,控制器14挑选出相应的频繁元素,则频繁项集一定仅由频繁元素所构成,结合输入数据构成整合后的频繁项集的比特流,进行类space saving算法的近似计算。每一个单元进行一轮当前频繁项集与新输入的整合后的频繁项集的匹配排序,统计次数最小的频繁项集将被新输入整合后的频繁项集所更新替换。
进一步地,比特流解码模块16用于将最终频繁项集挖掘结果进行比特流解码,以输出最终频繁项集挖掘结果至主机20。
可以理解的是,比特流解码模块16对第二主模块15中的近似计算结果进行比特流解码,操作过程与比特流编码模块12的逻辑反向,进而主机20将最终频繁项集挖掘结果进行输出。
具体而言,在本发明的实施例中,本发明实施例的应用场景可以与背景技术中的应用场景相同,如图1所示,硬件架构主要由CPU、PCIe总线,FPGA板卡组成。
具体地,主机,20的CPU将输入数据通过PCIe总线发送至FPGA。FPGA上的频繁项集挖掘模块进行相应的算法计算,并将结果通过PCIe返回给CPU进行输出。其中,对输入数据只需进行一次读取,所以FPGA上的频繁项集挖掘模块能够直接从PCIe端一次读取数据。第二个方面是,支持硬件结构进行高度并行的计算处理,设计了频繁项集挖掘算法的高性能加速器的硬件结构实现,以满足实际应用中对于该算法的性能需求。
在本发明的一个具体实施例中,抽选了部分互联网的测试集进行运行,本发明实施例的加速系统10的计算结果与对比硬件模块的计算结果如表1所示。可以看出,四个测试集的计算时间均有不同程度的加速。其中,对于前两个小数据量测试集的加速效果非常好,对于相对数据量较大的测试集,集合平均长度较大的要比集合平均长度小的加速比高一些,这是由于集合平均长度大的测试集,在其他模块中,原本由各个输入集合产生的子集数据会更多一点,所以本发明实施例的硬件模块设计的相对优势会变得更加明显。其中,表1为测试结果对比表。
表1
根据本发明实施例的面向实时频繁项集挖掘的加速系统,通过将频繁项集挖掘实现在定制计算电路结构中,满足输入数据只扫描一次,从而在加速器定制在协处理器中时,能够直接从PCIe、网卡等设备端口读取数据,进行流数据分析处理,无需将全部数据写入内存反复读取,从而能够实现高效率的近似频繁项集挖掘算法,只需要对输入数据进行一次扫描,特别适用于流数据或有实时性要求的应用场景。
其次参照附图描述根据本发明实施例提出的面向实时频繁项集挖掘的加速方法。
图6是本发明一个实施例的面向实时频繁项集挖掘的加速方法的流程图。
如图6所示,该面向实时频繁项集挖掘的加速方法包括以下步骤:
在步骤S601中,接收主机以数据流的方式发送的频繁项集挖掘初始化参数,其中,对于初始化参数进行一次读取。
其中,在本发明的一个实施例中,频繁项集挖掘初始化参数由整体数据集的元素构成,并且与应用场景要求相关。
在步骤S602中,将初始化参数进行比特流编码,以生成等效横向比特向量。
在步骤S603中,根据初始化参数生成多个子集计数器内容列表,以根据等效横向比特向量和预设阈值得到部分频繁项集。
进一步地,在本发明的一个实施例中,根据部分频繁项集和频繁元素整合得到频繁项集的比特流,进一步包括:将等效横向比特向量依次输入计数器,以利用流水线并行计算进行比对,从而在输入数据不发生阻塞的情况下,每个计数器的输入数据可以在每一个时钟周期进行更新,并在一个时钟周期内传递给相邻的计数器,得到部分频繁项集。
在步骤S604中,根据部分频繁项集获取相应的频繁元素。
在步骤S605中,根据部分频繁项集和频繁元素整合得到频繁项集的比特流,以进行近似计算得到最终频繁项集挖掘结果。
进一步地,在本发明的一个实施例中,每一个单元进行一轮当前频繁项集与新输入的整合后的频繁项集的匹配排序,统计次数最小的频繁项集将被新输入整合后的频繁项集所更新替换。
进一步地,在本发明的一个实施例中,根据类space saving算法进行近似计算。
在步骤S606中,将最终频繁项集挖掘结果进行比特流解码,以输出最终频繁项集挖掘结果至主机。
在本发明的一个具体实施例中,对于输入数据只需进行一次扫描,支持频繁项集挖掘的流水线并行计算,本发明实施例的加速方法可以包括:
S1.主机发送数据与初始化信息给频繁项集挖掘的加速系统;
S2.对于输入数据只需进行一次读取,输入数据可以不来自内存;
其中,输入数据可以是流数据,无需缓存大量数据的压力
S3.频繁项集挖掘的加速系统进行输入数据的比特流编码;
S4.频繁项集挖掘的加速系统并行计算一部分元素数量较少的频繁项集,包括频繁元素
其中,在输入数据不发生阻塞的情况下,每个计数器的输入数据可以在每一个时钟周期进行更新,并在一个时钟周期内传递给相邻的计数器。
S5.频繁项集挖掘的加速系统进行频繁项集的近似计算;
其中,近似计算的各单元链状相连,各单元通过比较调整相邻单元之间频繁项集的统计排序而实现整个结构的排序,从而实现对频次最小的频繁项集的近似替换。
S6.频繁项集挖掘的加速系统进行输出数据的比特流解码;
S7.主机输出频繁项集挖掘结果。
需要说明的是,前述对面向实时频繁项集挖掘的加速系统实施例的解释说明也适用于该实施例的面向实时频繁项集挖掘的加速方法,此处不再赘述。
根据本发明实施例的面向实时频繁项集挖掘的加速方法,通过将频繁项集挖掘实现在定制计算电路结构中,满足输入数据只扫描一次,从而在加速器定制在协处理器中时,能够直接从PCIe、网卡等设备端口读取数据,进行流数据分析处理,无需将全部数据写入内存反复读取,从而能够实现高效率的近似频繁项集挖掘算法,只需要对输入数据进行一次扫描,特别适用于流数据或有实时性要求的应用场景。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种面向实时频繁项集挖掘的加速系统,其特征在于,包括:
缓存模块,用于接收主机以数据流的方式发送的频繁项集挖掘初始化参数,其中,对于所述初始化参数进行一次读取;
比特流编码模块,用于将所述初始化参数进行比特流编码,以生成等效横向比特向量;
第一主模块,所述第一主模块具有多个计数器,用于根据所述初始化参数生成多个子集计数器内容列表,以根据所述等效横向比特向量和预设阈值得到部分频繁项集;
控制器,用于根据所述部分频繁项集获取相应的频繁元素;
第二主模块,用于根据所述部分频繁项集和所述频繁元素整合得到频繁项集的比特流,以进行近似计算得到最终频繁项集挖掘结果;以及
比特流解码模块,用于将所述最终频繁项集挖掘结果进行比特流解码,以输出所述最终频繁项集挖掘结果至所述主机。
2.根据权利要求1所述的面向实时频繁项集挖掘的加速系统,其特征在于,所述频繁项集挖掘初始化参数由整体数据集的元素构成,并且与应用场景要求相关。
3.根据权利要求1所述的面向实时频繁项集挖掘的加速系统,其特征在于,每一个单元进行一轮当前频繁项集与新输入的整合后的频繁项集的匹配排序,统计次数最小的频繁项集将被新输入整合后的频繁项集所更新替换。
4.根据权利要求1所述的面向实时频繁项集挖掘的加速系统,其特征在于,所述第一主模块具体用于将所述等效横向比特向量依次输入所述计数器,以利用流水线并行计算进行比对,从而在输入数据不发生阻塞的情况下,每个计数器的输入数据可以在每一个时钟周期进行更新,并在一个时钟周期内传递给相邻的计数器,得到所述频繁项集。
5.根据权利要求1所述的面向实时频繁项集挖掘的加速系统,其特征在于,根据类spacesaving算法进行近似计算。
6.一种面向实时频繁项集挖掘的加速方法,其特征在于,包括以下步骤:
接收主机以数据流的方式发送的频繁项集挖掘初始化参数,其中,对于所述初始化参数进行一次读取;
将所述初始化参数进行比特流编码,以生成等效横向比特向量;
根据所述初始化参数生成多个子集计数器内容列表,以根据所述等效横向比特向量和预设阈值得到部分频繁项集;
根据所述部分频繁项集获取相应的频繁元素;
根据所述部分频繁项集和所述频繁元素整合得到频繁项集的比特流,以进行近似计算得到最终频繁项集挖掘结果;以及
将所述最终频繁项集挖掘结果进行比特流解码,以输出所述最终频繁项集挖掘结果至所述主机。
7.根据权利要求6所述的面向实时频繁项集挖掘的加速方法,其特征在于,所述频繁项集挖掘初始化参数由整体数据集的元素构成,并且与应用场景要求相关。
8.根据权利要求6所述的面向实时频繁项集挖掘的加速方法,其特征在于,每一个单元进行一轮当前频繁项集与新输入的整合后的频繁项集的匹配排序,统计次数最小的频繁项集将被新输入整合后的频繁项集所更新替换。
9.根据权利要求6所述的面向实时频繁项集挖掘的加速方法,其特征在于,所述根据所述频繁项集和所述频繁元素整合得到频繁项集的比特流,进一步包括:
将所述等效横向比特向量依次输入所述计数器,以利用流水线并行计算进行比对,从而在输入数据不发生阻塞的情况下,每个计数器的输入数据可以在每一个时钟周期进行更新,并在一个时钟周期内传递给相邻的计数器,得到所述频繁项集。
10.根据权利要求6所述的面向实时频繁项集挖掘的加速方法,其特征在于,根据类space saving算法进行近似计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610709592.3A CN106371917B (zh) | 2016-08-23 | 2016-08-23 | 面向实时频繁项集挖掘的加速系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610709592.3A CN106371917B (zh) | 2016-08-23 | 2016-08-23 | 面向实时频繁项集挖掘的加速系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106371917A true CN106371917A (zh) | 2017-02-01 |
CN106371917B CN106371917B (zh) | 2019-07-02 |
Family
ID=57878872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610709592.3A Active CN106371917B (zh) | 2016-08-23 | 2016-08-23 | 面向实时频繁项集挖掘的加速系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106371917B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362693A (zh) * | 2019-07-24 | 2019-10-22 | 广东电网有限责任公司 | 一种业扩工程图纸知识图谱构建方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446978A (zh) * | 2008-12-11 | 2009-06-03 | 南京大学 | 基于频繁项集挖掘的核心节点发现方法 |
US20110184922A1 (en) * | 2010-01-18 | 2011-07-28 | Industry-Academic Cooperation Foundation, Yonsei University | Method for finding frequent itemsets over long transaction data streams |
CN102142992A (zh) * | 2011-01-11 | 2011-08-03 | 浪潮通信信息系统有限公司 | 通信告警频繁项集挖掘引擎及冗余处理方法 |
CN103279332A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种基于gpu-cuda平台以及遗传算法的数据流并行处理方法 |
CN104460651A (zh) * | 2014-10-24 | 2015-03-25 | 北京交控科技有限公司 | 一种基于自主学习的zc双系宕机故障预警方法与装置 |
CN104615437A (zh) * | 2015-02-12 | 2015-05-13 | 浪潮电子信息产业股份有限公司 | 一种基于gpu的软件体系架构及uml和adl结合描述的方法 |
CN105159952A (zh) * | 2015-08-14 | 2015-12-16 | 安徽新华博信息技术股份有限公司 | 基于频繁项集挖掘的数据处理方法 |
CN105373940A (zh) * | 2015-11-12 | 2016-03-02 | 江南大学 | 智能商场信息系统 |
-
2016
- 2016-08-23 CN CN201610709592.3A patent/CN106371917B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446978A (zh) * | 2008-12-11 | 2009-06-03 | 南京大学 | 基于频繁项集挖掘的核心节点发现方法 |
US20110184922A1 (en) * | 2010-01-18 | 2011-07-28 | Industry-Academic Cooperation Foundation, Yonsei University | Method for finding frequent itemsets over long transaction data streams |
CN102142992A (zh) * | 2011-01-11 | 2011-08-03 | 浪潮通信信息系统有限公司 | 通信告警频繁项集挖掘引擎及冗余处理方法 |
CN103279332A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种基于gpu-cuda平台以及遗传算法的数据流并行处理方法 |
CN104460651A (zh) * | 2014-10-24 | 2015-03-25 | 北京交控科技有限公司 | 一种基于自主学习的zc双系宕机故障预警方法与装置 |
CN104615437A (zh) * | 2015-02-12 | 2015-05-13 | 浪潮电子信息产业股份有限公司 | 一种基于gpu的软件体系架构及uml和adl结合描述的方法 |
CN105159952A (zh) * | 2015-08-14 | 2015-12-16 | 安徽新华博信息技术股份有限公司 | 基于频繁项集挖掘的数据处理方法 |
CN105373940A (zh) * | 2015-11-12 | 2016-03-02 | 江南大学 | 智能商场信息系统 |
Non-Patent Citations (2)
Title |
---|
刘涛等: ""长期演进(LTE)中基于ASIC速率匹配算法的并行设计"", 《科学技术与工程》 * |
辜晓琪: ""面向海量ECG信号检测分析的云加速器的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362693A (zh) * | 2019-07-24 | 2019-10-22 | 广东电网有限责任公司 | 一种业扩工程图纸知识图谱构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106371917B (zh) | 2019-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cong et al. | FPGA HLS today: successes, challenges, and opportunities | |
US20210255911A1 (en) | Programmable device, hierarchical parallel machines, and methods for providing state information | |
EP3346424B1 (en) | Tool to create a reconfigurable interconnect framework and corresponding computer program product | |
Tsigkanos et al. | A 3.3 Gbps CCSDS 123.0-B-1 multispectral & hyperspectral image compression hardware accelerator on a space-grade SRAM FPGA | |
CN102598001B (zh) | 用于执行对逻辑设计的分析的方法和系统 | |
Patel et al. | Graph deep learning based anomaly detection in ethereum blockchain network | |
Aloul et al. | Faster SAT and smaller BDDs via common function structure | |
Chen et al. | Flexible hardware architecture of hierarchical K-means clustering for large cluster number | |
CN104487956A (zh) | 用于使用状态机引擎中的状态向量数据的方法及系统 | |
Sánchez et al. | A comprehensive survey on electronic design automation and graph neural networks: Theory and applications | |
Mittal et al. | FPGA: An efficient and promising platform for real-time image processing applications | |
US6993740B1 (en) | Methods and arrangements for automatically interconnecting cores in systems-on-chip | |
Hermanns et al. | Deciding probabilistic automata weak bisimulation in polynomial time | |
CN106371917A (zh) | 面向实时频繁项集挖掘的加速系统及方法 | |
Porter et al. | A reconfigurable computing framework for multi-scale cellular image processing | |
Sheng et al. | Fast Method of Detecting Packaging Bottle Defects Based on ECA‐EfficientDet | |
CN108009111A (zh) | 数据流连接方法及装置 | |
Shahshahani et al. | Resource and performance estimation for CNN models using machine learning | |
CN106682290B (zh) | 可编程逻辑器件布线方法及装置 | |
US9032421B2 (en) | Computation device and computation execution method | |
Liang et al. | Design rule violation prediction at sub-10-nm process nodes using customized convolutional networks | |
Song et al. | Novel graph processor architecture | |
Rossi et al. | Self-Balanced R-CNN for instance segmentation | |
Woltmann et al. | Learned Selection Strategy for Lightweight Integer Compression Algorithms. | |
Abid | System-level hardwa synthesis of dataflow programs with HEVC as study use case |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |